From e0a2e2bd350fdcce376a00157c3c079eaaecc988 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 16:07:51 +0200 Subject: [PATCH 001/126] Initial move from gist --- README.md | 135 ++++++++++++++++++ nginx-prod/container.yaml | 35 +++++ nginx-prod/files/nginx.conf | 1 + .../pkgs/nginx/patches/https-only.patch | 1 + nginx-prod/pkgs/nginx/pkg.yaml | 10 ++ 5 files changed, 182 insertions(+) create mode 100644 README.md create mode 100644 nginx-prod/container.yaml create mode 100644 nginx-prod/files/nginx.conf create mode 100644 nginx-prod/pkgs/nginx/patches/https-only.patch create mode 100644 nginx-prod/pkgs/nginx/pkg.yaml diff --git a/README.md b/README.md new file mode 100644 index 0000000..0dac6b4 --- /dev/null +++ b/README.md @@ -0,0 +1,135 @@ +# Package-Centric Source-Based Container Build System + +## Why? +* There's no standardized way to create container images that include + applications built from upstream sources. +* Application dependencies, which typically are libraries, are typically + neglected when calculating container dependencies. This causes not knowing + what libraries are installed +* Ad-Hoc source builds are time consuming + +## What for? +* Fast source builds with lots of packages available +* Ad-Hoc source builds if required but defaulting to binary repository +* Reproducible and shareable builds +* Customized Source configuration flags +* Container dependencies reflect dependencies of container applications +* Easy assembling and configuring of containers based on application packages +* Integrable with CI +* Portable + +## How? + +## Like what? +* 100% descriptive build spec. Examples: + * https://embedux.github.io/documentation/usage/rootfs/configuration.yml/index.html + * http://nixos.org/nixos/about.html + * https://gitweb.gentoo.org/proj/releng.git/tree/releases/weekly/specs/amd64?id=HEAD + * https://github.com/zefhemel/nix-docker + * [nix build darm + paper](http://www.researchgate.net/publication/228629017_The_Nix_Build_Farm_A_declarative_approach_to_continuous_integration) + * https://github.com/jordansissel/fpm/wiki + +# Usage + +## Buildit configuration +**.builtit-config.yaml** +``` +--- +repository: + name: mysuperbinhost + upload-type: ssh + upload-path: containers@mysuperbinhost.org/containers + downnload-type: https + download-path: mysuperbinhost.org/containers +``` + +## Sysadmin needs patched nginx + + +### Sysadmin +In case a sysadmin needs a patched and specifically configured version of it's + +favorite webserver nginx. + +1. Put directories and files in place + Directory layout + ``` + ├── nginx-prod + │   ├── container.yaml + │   ├── files + │   │   └── nginx.conf + │   └── pkgs + │   └── nginx + │   ├── patches + │   │   └── https-only.patch + │   └── pkg.yaml + ``` + + **pkg.yaml** + ``` + --- + base: www-servers/nginx-1.7.6 + author: Sysadmin42 + patches: + patches/https-only.patch: "This patch denies all plain http requests" + https://github.com/nginx/nginx/commit/52e4dc2f74fd032dace01acbe5eb29ddf7c1ad96.patch: + "Fix buffer overruns" + use: + with: + - ipv6 + - selinux + + ``` + + **container.yaml** + ``` + --- + - vars: + author: Sysadmin42 + name: nginx-production + version: 1.7.6-p1 + os: linux + arch: amd64 + + - package: + type: embedded + path: ./pkgs/nginx + + - sync: + src: ./files/nginx.conf + dest: /etc/nginx/nginx.conf + recursive: True + chmod: 0644 + + - image: + type: aci + content: | + { + "acKind": "ImageManifest", + "acVersion": "0.6.1", + "name": "{{ name }}-{{ version }}", + "labels": [ + {"name": "os", "value": "{{ os }}"}, + {"name": "arch", "value": {{ arch }}} + ], + "app": { + "exec": [ + "/sbin/nginx" + ], + "user": "0", + "group": "0" + } + } + ``` + +2. Build the container + ``` + $ buildit --verbose nginx-prod/ --discover=github.com/sysadmin42/containers,push=True + Building Sysadmin42/nginx-production-1.7.6-p1 + Building package from './pkgs/nginx' for linux/amd64. HASH: 86c8ef43-f4a4-49ba-a0ee-92900211c7b6 + Can't find 86c8ef43-f4a4-49ba-a0ee-92900211c7b6 in any repository or cache. + Defaulting to local build... + Finished after 1 minute 24 seconds. + Uploading packages and container build to repository 'mysuperbinhost' + ``` diff --git a/nginx-prod/container.yaml b/nginx-prod/container.yaml new file mode 100644 index 0000000..9615e63 --- /dev/null +++ b/nginx-prod/container.yaml @@ -0,0 +1,35 @@ +--- +- vars: + author: Sysadmin42 + name: nginx-production + version: 1.7.6-p1 + +- package: + type: embedded + path: ./pkgs/nginx + +- sync: + src: ./files/nginx.conf + dest: /etc/nginx/nginx.conf + recursive: True + chmod: 0644 + +- image: + type: aci + content: | + { + "acKind": "ImageManifest", + "acVersion": "0.6.1", + "name": "{{ name }}-{{ version }}", + "labels": [ + {"name": "os", "value": "linux"}, + {"name": "arch", "value": "amd64"} + ], + "app": { + "exec": [ + "/sbin/nginx" + ], + "user": "0", + "group": "0" + } + } diff --git a/nginx-prod/files/nginx.conf b/nginx-prod/files/nginx.conf new file mode 100644 index 0000000..f747925 --- /dev/null +++ b/nginx-prod/files/nginx.conf @@ -0,0 +1 @@ +DUMMY diff --git a/nginx-prod/pkgs/nginx/patches/https-only.patch b/nginx-prod/pkgs/nginx/patches/https-only.patch new file mode 100644 index 0000000..f747925 --- /dev/null +++ b/nginx-prod/pkgs/nginx/patches/https-only.patch @@ -0,0 +1 @@ +DUMMY diff --git a/nginx-prod/pkgs/nginx/pkg.yaml b/nginx-prod/pkgs/nginx/pkg.yaml new file mode 100644 index 0000000..fc66cf7 --- /dev/null +++ b/nginx-prod/pkgs/nginx/pkg.yaml @@ -0,0 +1,10 @@ +--- +base: www-servers/nginx-1.7.6 +author: Sysadmin42 +patches: + patches/https-only.patch: "This patch denies all plain http requests" + https://github.com/nginx/nginx/commit/52e4dc2f74fd032dace01acbe5eb29ddf7c1ad96.patch: "Fix buffer overruns" +use: + with: + - ipv6 + - selinux From d935ba207e3eb0952676940b950ee34539cbfc50 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 16:09:32 +0200 Subject: [PATCH 002/126] syntax fixes --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0dac6b4..2fa1b92 100644 --- a/README.md +++ b/README.md @@ -48,11 +48,11 @@ repository: ### Sysadmin -In case a sysadmin needs a patched and specifically configured version of it's - -favorite webserver nginx. +In case a sysadmin needs a patched and specifically configured version of it's favorite webserver nginx. 1. Put directories and files in place + + --- Directory layout ``` ├── nginx-prod @@ -65,7 +65,7 @@ favorite webserver nginx. │   │   └── https-only.patch │   └── pkg.yaml ``` - + --- **pkg.yaml** ``` --- @@ -81,7 +81,7 @@ favorite webserver nginx. - selinux ``` - + --- **container.yaml** ``` --- From 304f2b2e32262ce725c4eaff47c593505d1d4ec7 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 16:15:32 +0200 Subject: [PATCH 003/126] fixed wording --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2fa1b92..c0e2fd0 100644 --- a/README.md +++ b/README.md @@ -127,9 +127,10 @@ In case a sysadmin needs a patched and specifically configured version of it's f ``` $ buildit --verbose nginx-prod/ --discover=github.com/sysadmin42/containers,push=True Building Sysadmin42/nginx-production-1.7.6-p1 - Building package from './pkgs/nginx' for linux/amd64. HASH: 86c8ef43-f4a4-49ba-a0ee-92900211c7b6 - Can't find 86c8ef43-f4a4-49ba-a0ee-92900211c7b6 in any repository or cache. - Defaulting to local build... - Finished after 1 minute 24 seconds. - Uploading packages and container build to repository 'mysuperbinhost' + Processing package from './pkgs/nginx' for linux/amd64. + HASH: 86c8ef43-f4a4-49ba-a0ee-92900211c7b6 + Can't find 86c8ef43-f4a4-49ba-a0ee-92900211c7b6 in any repository or cache. + Defaulting to local build... Done after 1min 24 [OK] + Packaging Sysadmin42/nginx-production-1.7.6-p1 as ACI... in 1min 30s [OK] + Uploading packages and container build to repository 'mysuperbinhost' [OK] ``` From 29f5a1394d0e8956d8c319d1c2b3ba3c8fc3ff03 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 16:19:23 +0200 Subject: [PATCH 004/126] fixed wording --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c0e2fd0..1ba49da 100644 --- a/README.md +++ b/README.md @@ -125,12 +125,13 @@ In case a sysadmin needs a patched and specifically configured version of it's f 2. Build the container ``` - $ buildit --verbose nginx-prod/ --discover=github.com/sysadmin42/containers,push=True + $ buildit nginx-prod/ --discover=github.com/sysadmin42/containers,push=True Building Sysadmin42/nginx-production-1.7.6-p1 Processing package from './pkgs/nginx' for linux/amd64. HASH: 86c8ef43-f4a4-49ba-a0ee-92900211c7b6 - Can't find 86c8ef43-f4a4-49ba-a0ee-92900211c7b6 in any repository or cache. - Defaulting to local build... Done after 1min 24 [OK] - Packaging Sysadmin42/nginx-production-1.7.6-p1 as ACI... in 1min 30s [OK] - Uploading packages and container build to repository 'mysuperbinhost' [OK] + Can't find HASH in any known location... + Defaulting to local build... [OK] + Uploading packages to 'mysuperbinhost' [OK] + Packaging Sysadmin42/nginx-production-1.7.6-p1 as ACI... [OK] + Uploading container spec and image(s) to 'mysuperbinhost' [OK] ``` From 961e74e8f31bc884247cf86c25c4d45d43f4dbe5 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 16:22:50 +0200 Subject: [PATCH 005/126] fixed wording --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1ba49da..de7b98f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Package-Centric Source-Based Container Build System -## Why? +## Reasons * There's no standardized way to create container images that include applications built from upstream sources. * Application dependencies, which typically are libraries, are typically @@ -8,7 +8,7 @@ what libraries are installed * Ad-Hoc source builds are time consuming -## What for? +## Goals * Fast source builds with lots of packages available * Ad-Hoc source builds if required but defaulting to binary repository * Reproducible and shareable builds @@ -18,10 +18,8 @@ * Integrable with CI * Portable -## How? - -## Like what? -* 100% descriptive build spec. Examples: +## Comparable +* Descriptive build spec. Examples: * https://embedux.github.io/documentation/usage/rootfs/configuration.yml/index.html * http://nixos.org/nixos/about.html * https://gitweb.gentoo.org/proj/releng.git/tree/releases/weekly/specs/amd64?id=HEAD From b5f1951076455362c784b7ec2fccb0dfcb500cf2 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 17:39:40 +0200 Subject: [PATCH 006/126] enrich descrption --- README.md | 53 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index de7b98f..59e9a60 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,34 @@ # Package-Centric Source-Based Container Build System -## Reasons +## Problems to solve * There's no standardized way to create container images that include applications built from upstream sources. -* Application dependencies, which typically are libraries, are typically +* Application dependencies, which are mostly libraries, are typically neglected when calculating container dependencies. This causes not knowing what libraries are installed * Ad-Hoc source builds are time consuming -## Goals -* Fast source builds with lots of packages available -* Ad-Hoc source builds if required but defaulting to binary repository -* Reproducible and shareable builds -* Customized Source configuration flags -* Container dependencies reflect dependencies of container applications -* Easy assembling and configuring of containers based on application packages -* Integrable with CI -* Portable +*Package based container builds* +This project aims to find a solution for creating and managing containers in a package-centric manner. +Every container will be able to specify their dependencies, which can be self-built packages or exact versions of already existing packages. +Like this the user will always exactly know what libraries, files, etc. is available to his container at runtime. +The specified container will have it's dependencies on packages which themselves can be packaged separately into one container per package. + +*Source-based builds* +To allow maximum flexibility for the users, the package files must be able to describe source builds, which allows the user to make changes to the source before the package is built and integrated into the target container image. + +*Reproducibility* +Builds of packages, as well as builds of container images, must be reproducible in a way that the same input always yields the same output. +Because every change of a package yields in a different identity, the system allows to have multiple versions of one software application. +These can differ in properties like source code patches, build configuration options, target architecture, etc.. + +*Portable buildsystem* +As a portable system, builds can be processed locally on a users workstation or distributed to a bunch of servers. + +*Shareable source and binaries* +The build system will ship tools that make it easy to discover and share source and binary files that are respectively consumed and produced by the build system. +This will allow for very fast setups of containers that involve only downloading from trusted repositories. -## Comparable -* Descriptive build spec. Examples: - * https://embedux.github.io/documentation/usage/rootfs/configuration.yml/index.html - * http://nixos.org/nixos/about.html - * https://gitweb.gentoo.org/proj/releng.git/tree/releases/weekly/specs/amd64?id=HEAD - * https://github.com/zefhemel/nix-docker - * [nix build darm - paper](http://www.researchgate.net/publication/228629017_The_Nix_Build_Farm_A_declarative_approach_to_continuous_integration) - * https://github.com/jordansissel/fpm/wiki # Usage @@ -133,3 +135,14 @@ In case a sysadmin needs a patched and specifically configured version of it's f Packaging Sysadmin42/nginx-production-1.7.6-p1 as ACI... [OK] Uploading container spec and image(s) to 'mysuperbinhost' [OK] ``` + +# Implementation +### Things to start with +* Descriptive build spec. Examples: + * https://embedux.github.io/documentation/usage/rootfs/configuration.yml/index.html + * http://nixos.org/nixos/about.html + * https://gitweb.gentoo.org/proj/releng.git/tree/releases/weekly/specs/amd64?id=HEAD + * https://github.com/zefhemel/nix-docker + * [nix build darm + paper](http://www.researchgate.net/publication/228629017_The_Nix_Build_Farm_A_declarative_approach_to_continuous_integration) + * https://github.com/jordansissel/fpm/wiki From a504a34f66fde2be9fd928b0893cf7d3072a89bc Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 17:42:57 +0200 Subject: [PATCH 007/126] add link to tardelta --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 59e9a60..c6e5e03 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,6 @@ In case a sysadmin needs a patched and specifically configured version of it's f # Implementation ### Things to start with -* Descriptive build spec. Examples: * https://embedux.github.io/documentation/usage/rootfs/configuration.yml/index.html * http://nixos.org/nixos/about.html * https://gitweb.gentoo.org/proj/releng.git/tree/releases/weekly/specs/amd64?id=HEAD @@ -146,3 +145,4 @@ In case a sysadmin needs a patched and specifically configured version of it's f * [nix build darm paper](http://www.researchgate.net/publication/228629017_The_Nix_Build_Farm_A_declarative_approach_to_continuous_integration) * https://github.com/jordansissel/fpm/wiki + * https://blogs.gentoo.org/zmedico/2015/07/06/tardelta-generate-a-tarball-of-differences-between-two-tarballs/ From 61b810188034664c9397dbe8d64ea7f684f8d4f4 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 17:57:17 +0200 Subject: [PATCH 008/126] syntax changes --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c6e5e03..5ed1f2a 100644 --- a/README.md +++ b/README.md @@ -8,24 +8,25 @@ what libraries are installed * Ad-Hoc source builds are time consuming -*Package based container builds* +## Features +### Package based container builds This project aims to find a solution for creating and managing containers in a package-centric manner. Every container will be able to specify their dependencies, which can be self-built packages or exact versions of already existing packages. Like this the user will always exactly know what libraries, files, etc. is available to his container at runtime. The specified container will have it's dependencies on packages which themselves can be packaged separately into one container per package. -*Source-based builds* +### Source-based builds To allow maximum flexibility for the users, the package files must be able to describe source builds, which allows the user to make changes to the source before the package is built and integrated into the target container image. -*Reproducibility* +### Reproducibility Builds of packages, as well as builds of container images, must be reproducible in a way that the same input always yields the same output. Because every change of a package yields in a different identity, the system allows to have multiple versions of one software application. These can differ in properties like source code patches, build configuration options, target architecture, etc.. -*Portable buildsystem* +### Portability As a portable system, builds can be processed locally on a users workstation or distributed to a bunch of servers. -*Shareable source and binaries* +### Shareable source and binary files The build system will ship tools that make it easy to discover and share source and binary files that are respectively consumed and produced by the build system. This will allow for very fast setups of containers that involve only downloading from trusted repositories. From ae1a69524d6ceb47fbf7e9abf3c8d9e548c93aef Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 17:57:58 +0200 Subject: [PATCH 009/126] rewordings --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5ed1f2a..e8f2c37 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Builds of packages, as well as builds of container images, must be reproducible Because every change of a package yields in a different identity, the system allows to have multiple versions of one software application. These can differ in properties like source code patches, build configuration options, target architecture, etc.. -### Portability +### Portability of the whole system As a portable system, builds can be processed locally on a users workstation or distributed to a bunch of servers. ### Shareable source and binary files From e292472fe60d96d704572063f2b8ea526439e227 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 18:02:25 +0200 Subject: [PATCH 010/126] rewordings --- README.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e8f2c37..78764e0 100644 --- a/README.md +++ b/README.md @@ -30,9 +30,7 @@ As a portable system, builds can be processed locally on a users workstation or The build system will ship tools that make it easy to discover and share source and binary files that are respectively consumed and produced by the build system. This will allow for very fast setups of containers that involve only downloading from trusted repositories. - # Usage - ## Buildit configuration **.builtit-config.yaml** ``` @@ -138,12 +136,20 @@ In case a sysadmin needs a patched and specifically configured version of it's f ``` # Implementation -### Things to start with - * https://embedux.github.io/documentation/usage/rootfs/configuration.yml/index.html +## Resources +### CoreOS related tools + * https://github.com/derekchiang/acbuild + * https://github.com/coreos/manifest + +### Similar Projects + * Previous work of mine: https://embedux.github.io/documentation/usage/rootfs/configuration.yml/index.html + +### Operating Systems and Package managers * http://nixos.org/nixos/about.html * https://gitweb.gentoo.org/proj/releng.git/tree/releases/weekly/specs/amd64?id=HEAD * https://github.com/zefhemel/nix-docker * [nix build darm paper](http://www.researchgate.net/publication/228629017_The_Nix_Build_Farm_A_declarative_approach_to_continuous_integration) - * https://github.com/jordansissel/fpm/wiki * https://blogs.gentoo.org/zmedico/2015/07/06/tardelta-generate-a-tarball-of-differences-between-two-tarballs/ + * https://github.com/jordansissel/fpm/wiki + From be0e757b67e98b080b58c49b7cfead0d0044181b Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 18:03:35 +0200 Subject: [PATCH 011/126] rewordings --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 78764e0..84c7088 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,13 @@ # Package-Centric Source-Based Container Build System -## Problems to solve +## Motivation * There's no standardized way to create container images that include applications built from upstream sources. +* No standardized way to share artifacts for containers instead of whole + containers * Application dependencies, which are mostly libraries, are typically neglected when calculating container dependencies. This causes not knowing what libraries are installed -* Ad-Hoc source builds are time consuming ## Features ### Package based container builds From 998ccf016c04ecf0dc83f994cc52b953ac75083a Mon Sep 17 00:00:00 2001 From: Jonathan Boulle Date: Wed, 29 Jul 2015 09:55:55 -0700 Subject: [PATCH 012/126] README: minor cleanup --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 84c7088..9339aaa 100644 --- a/README.md +++ b/README.md @@ -10,14 +10,15 @@ what libraries are installed ## Features -### Package based container builds +### Package-based container builds This project aims to find a solution for creating and managing containers in a package-centric manner. +In this context a package is both a definition of how to build (e.g. a Gentoo ebuild or Debian control file) Every container will be able to specify their dependencies, which can be self-built packages or exact versions of already existing packages. -Like this the user will always exactly know what libraries, files, etc. is available to his container at runtime. -The specified container will have it's dependencies on packages which themselves can be packaged separately into one container per package. +Like this the user will always exactly know what libraries, files, etc. is available to their container at runtime. +The specified container will have its dependencies on packages which themselves can be packaged separately into one container per package. ### Source-based builds -To allow maximum flexibility for the users, the package files must be able to describe source builds, which allows the user to make changes to the source before the package is built and integrated into the target container image. +To allow maximum flexibility for users, the package files must be able to describe source builds, which allows the user to make changes to the source before the package is built and integrated into the target container image. ### Reproducibility Builds of packages, as well as builds of container images, must be reproducible in a way that the same input always yields the same output. @@ -25,7 +26,7 @@ Because every change of a package yields in a different identity, the system all These can differ in properties like source code patches, build configuration options, target architecture, etc.. ### Portability of the whole system -As a portable system, builds can be processed locally on a users workstation or distributed to a bunch of servers. +As a portable system, builds can be processed locally on a user's workstation or distributed to a bunch of servers. ### Shareable source and binary files The build system will ship tools that make it easy to discover and share source and binary files that are respectively consumed and produced by the build system. @@ -33,22 +34,21 @@ This will allow for very fast setups of containers that involve only downloading # Usage ## Buildit configuration -**.builtit-config.yaml** +**.buildit-config.yaml** ``` --- repository: name: mysuperbinhost upload-type: ssh upload-path: containers@mysuperbinhost.org/containers - downnload-type: https + download-type: https download-path: mysuperbinhost.org/containers ``` ## Sysadmin needs patched nginx - ### Sysadmin -In case a sysadmin needs a patched and specifically configured version of it's favorite webserver nginx. +In case a sysadmin needs a patched and specifically configured version of its favorite webserver nginx. 1. Put directories and files in place @@ -111,7 +111,7 @@ In case a sysadmin needs a patched and specifically configured version of it's f "name": "{{ name }}-{{ version }}", "labels": [ {"name": "os", "value": "{{ os }}"}, - {"name": "arch", "value": {{ arch }}} + {"name": "arch", "value": "{{ arch }}"} ], "app": { "exec": [ @@ -149,7 +149,7 @@ In case a sysadmin needs a patched and specifically configured version of it's f * http://nixos.org/nixos/about.html * https://gitweb.gentoo.org/proj/releng.git/tree/releases/weekly/specs/amd64?id=HEAD * https://github.com/zefhemel/nix-docker - * [nix build darm + * [nix build farm paper](http://www.researchgate.net/publication/228629017_The_Nix_Build_Farm_A_declarative_approach_to_continuous_integration) * https://blogs.gentoo.org/zmedico/2015/07/06/tardelta-generate-a-tarball-of-differences-between-two-tarballs/ * https://github.com/jordansissel/fpm/wiki From ad888b59bce15e3b6d65301f2ed69228b8fcedbc Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 1 Oct 2015 16:50:57 +0200 Subject: [PATCH 013/126] docs: start thesis introduction --- src/docs/thesis.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/docs/thesis.md diff --git a/src/docs/thesis.md b/src/docs/thesis.md new file mode 100644 index 0000000..6cb539a --- /dev/null +++ b/src/docs/thesis.md @@ -0,0 +1,11 @@ +# Introduction +This project represents my thesis to achieve the Master of Science title and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. +The main concern of the thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages. +The choice for this topic is due to my personal experience with currently available methods for creating application containers, and the intention for customizing and adapting each one of them to make them suitable for two types of users, system administrators and application developers. + + +# Terminology + +* Application: TODO +* Container: TODO +* Application Container: TODO From 3b73778483837dec197e713c83eb18db30927cf7 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 20 Oct 2015 19:38:50 +0200 Subject: [PATCH 014/126] thesis doc: begin to explain the motivational background --- src/docs/thesis.md | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index 6cb539a..ebd8733 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -1,7 +1,31 @@ # Introduction This project represents my thesis to achieve the Master of Science title and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. The main concern of the thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages. -The choice for this topic is due to my personal experience with currently available methods for creating application containers, and the intention for customizing and adapting each one of them to make them suitable for two types of users, system administrators and application developers. +The choice for this topic is due to my personal experience with currently available methods for creating application containers, which doesn't include a single one that I felt completely comfortable with and that could provide all the features that I have expected. + +My personal experience has been collected in many different fields which allowed me to create a very broad view of use-cases and their respective requirements, in which containers can be used to improve the overall situation. +The most recent project that I want to name is called [embEDUx][embEDUx], and it aims to provide a flexible solution for creating and deploying a customized Linux distribution for embedded systems in an educational context. +My main part within that project was to design the overall architecture of the build system and to develop the specification for the system archive and the method of processing it to a complete system archive. +Additional experience in this area comes from my work on projects for customers that consulted me to advise and administer their IT small-business infrastructure. + +Altogether, I've had the chance to gather requirements and form certain expectations of the perspective of three major IT roles, the system administrator, the system architect and the application developer. +* What is a system administrator? +* What is an application developer? +* What do they focus on? + +Typically the system administrator doesn't necessarily think about work-flow of an application developer and vise versa. +The system architect unfortunately isn't oftentimes involved in the decision making of the administrator and application developer. +This circumstance can and eventually will lead to applications running on systems that have undergone severe workarounds to make it work at all. +The DevOps movement, which is a modern term and attempt to combine the three aforementioned three roles, has been trying to solve the described problem with tools for automatic system configuration. + +* Interface of these roles are + * OS configuration + * Network topology management + * Application and dependency deployment + * Application lifecycle management + +* Intention: evaluate the existing build systems, their design choices and resulting features and methodologies. +The intention for customizing and adapting each one of them to make them suitable for two types of users, system administrators and application developers. # Terminology @@ -9,3 +33,7 @@ The choice for this topic is due to my personal experience with currently availa * Application: TODO * Container: TODO * Application Container: TODO +* DevOps: TODO + +# References +[embEDUx]: https://embedux.github.io From 93e48d45bd339c79d38172eb928eadc2a689da83 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 20 Oct 2015 19:50:47 +0200 Subject: [PATCH 015/126] TODO markers and typo fixes --- src/docs/thesis.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index ebd8733..a8076da 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -8,17 +8,17 @@ The most recent project that I want to name is called [embEDUx][embEDUx], and it My main part within that project was to design the overall architecture of the build system and to develop the specification for the system archive and the method of processing it to a complete system archive. Additional experience in this area comes from my work on projects for customers that consulted me to advise and administer their IT small-business infrastructure. -Altogether, I've had the chance to gather requirements and form certain expectations of the perspective of three major IT roles, the system administrator, the system architect and the application developer. -* What is a system administrator? -* What is an application developer? -* What do they focus on? +Altogether, I've had the chance to gather requirements and form certain expectations from the perspective of three major IT roles: the system administrator, the system architect and the application developer. +* TODO: What is a system administrator? +* TODO: What is an application developer? +* TODO: What do they focus on? Typically the system administrator doesn't necessarily think about work-flow of an application developer and vise versa. The system architect unfortunately isn't oftentimes involved in the decision making of the administrator and application developer. This circumstance can and eventually will lead to applications running on systems that have undergone severe workarounds to make it work at all. The DevOps movement, which is a modern term and attempt to combine the three aforementioned three roles, has been trying to solve the described problem with tools for automatic system configuration. -* Interface of these roles are +* TODO: describe interfaces of these roles * OS configuration * Network topology management * Application and dependency deployment From 535313e2e005b0b8cf1e5c56bb73f1b6c97aa2eb Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 20 Oct 2015 19:54:31 +0200 Subject: [PATCH 016/126] fix broken link --- src/docs/thesis.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index a8076da..67b2f4c 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -36,4 +36,4 @@ The intention for customizing and adapting each one of them to make them suitabl * DevOps: TODO # References -[embEDUx]: https://embedux.github.io +[embEDUx]: https://embedux.github.io/documentation From 7cce4251b803a8f790d35907971b8e3d2c334e5c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 20 Oct 2015 20:07:15 +0200 Subject: [PATCH 017/126] thesis doc. WIP --- src/docs/thesis.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index 67b2f4c..7048525 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -1,14 +1,19 @@ +# TODO: ${TOPIC} +* Source-Based Build System for Application Containers (a.k.a. the better container creation method) +* From Declarative Source-Package Management to Application Container deployment +* Container Build System using Source-Package Management + # Introduction This project represents my thesis to achieve the Master of Science title and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. The main concern of the thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages. The choice for this topic is due to my personal experience with currently available methods for creating application containers, which doesn't include a single one that I felt completely comfortable with and that could provide all the features that I have expected. -My personal experience has been collected in many different fields which allowed me to create a very broad view of use-cases and their respective requirements, in which containers can be used to improve the overall situation. +My personal experience has been collected in different areas which allowed me to create a very broad view of use-cases and their respective requirements, in which containers can be used to improve the overall situation. The most recent project that I want to name is called [embEDUx][embEDUx], and it aims to provide a flexible solution for creating and deploying a customized Linux distribution for embedded systems in an educational context. My main part within that project was to design the overall architecture of the build system and to develop the specification for the system archive and the method of processing it to a complete system archive. Additional experience in this area comes from my work on projects for customers that consulted me to advise and administer their IT small-business infrastructure. -Altogether, I've had the chance to gather requirements and form certain expectations from the perspective of three major IT roles: the system administrator, the system architect and the application developer. +I've had the chance to gather requirements and form certain expectations from the perspective of three major IT roles: the system administrator, the system architect and the application developer. * TODO: What is a system administrator? * TODO: What is an application developer? * TODO: What do they focus on? From ac70242d438dd9185bf6804308a57b6e8e3399b9 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 20 Oct 2015 20:14:08 +0200 Subject: [PATCH 018/126] thesis doc. WIP --- src/docs/thesis.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index 7048525..5ab6849 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -4,8 +4,8 @@ * Container Build System using Source-Package Management # Introduction -This project represents my thesis to achieve the Master of Science title and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. -The main concern of the thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages. +This project represents my thesis for achieving the title "Master of Science" and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. +The main concern of this thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages by specifying their content declaratively. The choice for this topic is due to my personal experience with currently available methods for creating application containers, which doesn't include a single one that I felt completely comfortable with and that could provide all the features that I have expected. My personal experience has been collected in different areas which allowed me to create a very broad view of use-cases and their respective requirements, in which containers can be used to improve the overall situation. From e07c941945560546cde001c6ee4b7b89ac91bbe6 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 20 Oct 2015 20:15:17 +0200 Subject: [PATCH 019/126] thesis doc. WIP --- src/docs/thesis.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index 5ab6849..f8df1c1 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -5,7 +5,7 @@ # Introduction This project represents my thesis for achieving the title "Master of Science" and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. -The main concern of this thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages by specifying their content declaratively. +The main concern of this thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages by specifying their content in a declarative manner. The choice for this topic is due to my personal experience with currently available methods for creating application containers, which doesn't include a single one that I felt completely comfortable with and that could provide all the features that I have expected. My personal experience has been collected in different areas which allowed me to create a very broad view of use-cases and their respective requirements, in which containers can be used to improve the overall situation. From 70f8c045d029c98f1f4d08e54a077bdbaf810219 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 20 Oct 2015 20:37:38 +0200 Subject: [PATCH 020/126] talk with jon notes --- src/docs/thesis.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index f8df1c1..15922c4 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -32,6 +32,22 @@ The DevOps movement, which is a modern term and attempt to combine the three afo * Intention: evaluate the existing build systems, their design choices and resulting features and methodologies. The intention for customizing and adapting each one of them to make them suitable for two types of users, system administrators and application developers. +## Scope +### NOT Scope +* Distributing +* Discovering +* Running + +### Scope +* Creating +* Package selection +* Post-Install commands + +# Evaluation + +* TODO: explain and mention 12-factor apps +* TODO: compare to puppet + # Terminology From 217f8ec5155642437958c7e8c3f865c63e319222 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 20 Oct 2015 20:39:03 +0200 Subject: [PATCH 021/126] talk with jon notes --- src/docs/thesis.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index 15922c4..d72da95 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -48,6 +48,11 @@ The intention for customizing and adapting each one of them to make them suitabl * TODO: explain and mention 12-factor apps * TODO: compare to puppet +## Criteria +* Usability: TODO: what is this? +* Corectness: TODO: what is this? + + # Terminology From f2c8deca8aa577d3b4292e633d52f81056458999 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 21 Oct 2015 00:41:11 +0200 Subject: [PATCH 022/126] thesis doc. WIP --- src/docs/thesis.md | 115 +++++++++++++++++++++++++++++++++------------ 1 file changed, 85 insertions(+), 30 deletions(-) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index d72da95..0e96b98 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -3,56 +3,111 @@ * From Declarative Source-Package Management to Application Container deployment * Container Build System using Source-Package Management -# Introduction -This project represents my thesis for achieving the title "Master of Science" and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. +# Introduction and problem derivation +This work represents my thesis for achieving the title "Master of Science" and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. The main concern of this thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages by specifying their content in a declarative manner. The choice for this topic is due to my personal experience with currently available methods for creating application containers, which doesn't include a single one that I felt completely comfortable with and that could provide all the features that I have expected. -My personal experience has been collected in different areas which allowed me to create a very broad view of use-cases and their respective requirements, in which containers can be used to improve the overall situation. +## Basic Terms and Relations +Before solving the underlying problem, I want to give a brief summary of what I'm referring to as packages, containers, application and their source. Further enlarging upon the definitions will follow in succeeding chapters when more detailed knowledge will be required. + +In the context of computers and their operating systems, an application consists of a unique set of files that are required to execute that specific application on the running operating system. +The operating system understands how to execute the application's files, which are binary translations from the application source code. +For reasons I don't want to discuss at this point, almost every application is written to depend on library functions that are not part of the application itself, but need to be properly installed on the operating system for the applications to find and use it. +In order to install an run application and library files on different systems, their set of files are packed into single files. +These are called packages, and can be transferred to other computers and installed there via the operating systems package manager. +If an application and all it's needed library function files are instead packed together into one file it can be called an application container image. + +## Ideology +In the ideal case it would be possible to install an application and its required shared library files in every possible combination on the same computer, which as an example could mean to install many different applications, multiple versions of the same application and libraries and of course a combination. +It would also not cause a conflict or side effects if the shared libraries, that are required by different applications, have to be installed in multiple different versions. + +Unsurprisingly the reality is not ideal, at least not for many popular operating systems and their included package management systems. + +## Classical (Non Container) Attempts +Developers of operating systems and package managers have been trying to achieve this ideal situation for a long time. +From my point of view, it looks like the classical but still widely spread solutions seem to improve slower than the multiplication in variety of applications. + +* TODO + * bare-metal OS installations + * packages installed and run in the top OS layer + * Application and dependency deployment + * Pick up on explain package conflict. + * Application lifecycle management + * explain how application containers provide an interface between the system and the application + * container lifecycle management + +* TODO: the thesis does not cover isolation requirements for improved security + +## Human Roles and Interaction +* TODO: operating system developer +* TODO: system administrator +* TODO: system architect +* TODO: application developer +* TODO: application packager +* TODO: interfaces and interactions + * OS configuration -> application agnostic? + * Network topology management -> isolation of networking? + +* TODO rewrite: + Typically the system administrator doesn't necessarily think about the work-flow of an application developer and vise versa. + The system architect unfortunately isn't oftentimes involved in the decision making of the administrator and application developer. + This circumstance can and eventually will lead to applications running on systems that have undergone severe workarounds to make it work at all. + The DevOps movement, which is a modern term and attempt to combine the three aforementioned three roles, has been trying to solve the described problem with tools for automatic system configuration. + +## Personal Role Experiences +I've been able to collect first-hand experience in multiple of the aforementioned roles, which allowed me to create a very broad view of use-cases and their respective requirements in which containers can be used to improve the overall situation. + The most recent project that I want to name is called [embEDUx][embEDUx], and it aims to provide a flexible solution for creating and deploying a customized Linux distribution for embedded systems in an educational context. My main part within that project was to design the overall architecture of the build system and to develop the specification for the system archive and the method of processing it to a complete system archive. Additional experience in this area comes from my work on projects for customers that consulted me to advise and administer their IT small-business infrastructure. -I've had the chance to gather requirements and form certain expectations from the perspective of three major IT roles: the system administrator, the system architect and the application developer. -* TODO: What is a system administrator? -* TODO: What is an application developer? -* TODO: What do they focus on? - -Typically the system administrator doesn't necessarily think about work-flow of an application developer and vise versa. -The system architect unfortunately isn't oftentimes involved in the decision making of the administrator and application developer. -This circumstance can and eventually will lead to applications running on systems that have undergone severe workarounds to make it work at all. -The DevOps movement, which is a modern term and attempt to combine the three aforementioned three roles, has been trying to solve the described problem with tools for automatic system configuration. - -* TODO: describe interfaces of these roles - * OS configuration - * Network topology management - * Application and dependency deployment - * Application lifecycle management - -* Intention: evaluate the existing build systems, their design choices and resulting features and methodologies. +## Intention +* TODO: evaluate the existing build systems, their design choices and resulting features and methodologies. The intention for customizing and adapting each one of them to make them suitable for two types of users, system administrators and application developers. +# Design Specification ## Scope -### NOT Scope -* Distributing -* Discovering -* Running - -### Scope +* Package format * Creating * Package selection * Post-Install commands -# Evaluation +# Pre-Evaluation * TODO: explain and mention 12-factor apps -* TODO: compare to puppet ## Criteria -* Usability: TODO: what is this? -* Corectness: TODO: what is this? +* Usability +* Corectness +## Automated System Administration +* puppet +* chef +* ansible +## Build Systems +* Package Mangers + * Porage + * Nix (and NixOS) +* Embedded Targetted + * embEDUx' buildrootfs routine + * baserock + * yocto + * openembedded + * buildroot +* Distro Release tools + * ChromeOS/CoreOS SDK + * Gentoo Catalyst +* Docker related + * docker build (Dockerfile) +* ACI related + * acbuild + +# Discussion +* Distributing +* Discovering +* Running # Terminology From 48307e97df282a5304939ea84d5a21fc27862f4d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 21 Oct 2015 00:59:06 +0200 Subject: [PATCH 023/126] thesis doc. WIP --- src/docs/thesis.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index 0e96b98..4276da0 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -97,6 +97,8 @@ The intention for customizing and adapting each one of them to make them suitabl * openembedded * buildroot * Distro Release tools + * Debian - https://wiki.debian.org/ReproducibleBuilds + * Nix * ChromeOS/CoreOS SDK * Gentoo Catalyst * Docker related From a0685787b13909c0fa4eb7b586085d146a4986cd Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 9 Aug 2016 18:37:09 +0200 Subject: [PATCH 024/126] README: add outlook section --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 9339aaa..113aedf 100644 --- a/README.md +++ b/README.md @@ -154,3 +154,15 @@ In case a sysadmin needs a patched and specifically configured version of its fa * https://blogs.gentoo.org/zmedico/2015/07/06/tardelta-generate-a-tarball-of-differences-between-two-tarballs/ * https://github.com/jordansissel/fpm/wiki +## Outlook +The completion of the described container build system will benefit greatly to how container images can be shared and deployed. + +### Trusted Containers by reproducibility +Trusting container images has been hard. Being able to reproduce and verify the builds improves this. + +### Obsolete Container-Vulnerabilities Scans +Vulnerabilities scans are only necessary if it's unknown what the container image contains. With the new build system the build specification allows to inspect the included container images much more efficiently. Image vendors can directly track contained packages and their CVEs instead of relying on posteriori scans. + +### Automatic Container Updates +When identified, regular and security updates to 3rd party packages can trigger rebuilds as well as changed source files of 1st party applications. The update circle can be closed by automatically deploying new containers triggered by the updated images. +Complete automation might be difficult in real-world deployments because software updates sometimes require configuration changes. From c1956c57c0b6ae0fc52e05ddc5004e96ae7b3246 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 29 Jul 2015 16:07:51 +0200 Subject: [PATCH 025/126] Prepare master branch From c5f9db97686ba2b0a4084cce2ef4e84d0ba9652d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 10 Aug 2016 11:45:39 +0200 Subject: [PATCH 026/126] thesis: correct typos --- src/docs/thesis.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index 4276da0..eb1add5 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -79,7 +79,7 @@ The intention for customizing and adapting each one of them to make them suitabl ## Criteria * Usability -* Corectness +* Correctness ## Automated System Administration * puppet @@ -88,15 +88,15 @@ The intention for customizing and adapting each one of them to make them suitabl ## Build Systems * Package Mangers - * Porage + * Portage * Nix (and NixOS) -* Embedded Targetted +* Embedded Targeted * embEDUx' buildrootfs routine * baserock * yocto * openembedded * buildroot -* Distro Release tools +* Distribution Release tools * Debian - https://wiki.debian.org/ReproducibleBuilds * Nix * ChromeOS/CoreOS SDK From a76ce5cff7d6da0ad542fa21e7aec348b4794cfc Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 17 Aug 2016 20:16:51 +0200 Subject: [PATCH 027/126] thesis.md: add TODOs and title --- src/docs/thesis.md | 66 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 50 insertions(+), 16 deletions(-) diff --git a/src/docs/thesis.md b/src/docs/thesis.md index eb1add5..2e4ddc8 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -1,7 +1,11 @@ -# TODO: ${TOPIC} -* Source-Based Build System for Application Containers (a.k.a. the better container creation method) -* From Declarative Source-Package Management to Application Container deployment +% From Declarative Source-Package Management to Application Container Deployment +% Stefan Junker +% Wintersemester 2016/2017 + +* Source-Based Build System for Application Containers +* From Declarative Source-Package Management to Application Container Deployment * Container Build System using Source-Package Management +* Using A Declarative And Deterministic Source-Package Manager to Build Application Container Images # Introduction and problem derivation This work represents my thesis for achieving the title "Master of Science" and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. @@ -11,31 +15,50 @@ The choice for this topic is due to my personal experience with currently availa ## Basic Terms and Relations Before solving the underlying problem, I want to give a brief summary of what I'm referring to as packages, containers, application and their source. Further enlarging upon the definitions will follow in succeeding chapters when more detailed knowledge will be required. +### Application In the context of computers and their operating systems, an application consists of a unique set of files that are required to execute that specific application on the running operating system. The operating system understands how to execute the application's files, which are binary translations from the application source code. -For reasons I don't want to discuss at this point, almost every application is written to depend on library functions that are not part of the application itself, but need to be properly installed on the operating system for the applications to find and use it. + +For reasons that will be discussed in a later chapter, almost every application is written to depend on library functions that are not part of the application itself, but need to be properly installed on the operating system for the applications to find and use it. + +### Package In order to install an run application and library files on different systems, their set of files are packed into single files. These are called packages, and can be transferred to other computers and installed there via the operating systems package manager. + +### Application Container If an application and all it's needed library function files are instead packed together into one file it can be called an application container image. -## Ideology +TODO: explain the different understandings of what a container is and what is relevant for this thesis + +#### Chroot +On Linux, the syscall _chroot()_ will change the effective root directory for the current process. +TODO + +#### Namespaces +TODO + +#### Cgroup + +## Ideology versus Reality In the ideal case it would be possible to install an application and its required shared library files in every possible combination on the same computer, which as an example could mean to install many different applications, multiple versions of the same application and libraries and of course a combination. It would also not cause a conflict or side effects if the shared libraries, that are required by different applications, have to be installed in multiple different versions. Unsurprisingly the reality is not ideal, at least not for many popular operating systems and their included package management systems. -## Classical (Non Container) Attempts -Developers of operating systems and package managers have been trying to achieve this ideal situation for a long time. -From my point of view, it looks like the classical but still widely spread solutions seem to improve slower than the multiplication in variety of applications. -* TODO - * bare-metal OS installations - * packages installed and run in the top OS layer - * Application and dependency deployment - * Pick up on explain package conflict. - * Application lifecycle management - * explain how application containers provide an interface between the system and the application - * container lifecycle management +### Classical (Non Container) Attempts +Developers of operating systems and package managers have been trying to achieve this ideal situation for a long time. +The most widely spread Operating Systems and their package managers still suffer from the described problem + +* TODO: statistics about OSs in use + +* TODO bare-metal OS installations +* TODO packages installed and run in the top OS layer +* TODO Application and dependency deployment +* TODO Pick up on explain package conflict. +* TODO Application life cycle management +* TODO explain how application containers provide an interface between the system and the application +* TODO container life cycle management * TODO: the thesis does not cover isolation requirements for improved security @@ -106,6 +129,16 @@ The intention for customizing and adapting each one of them to make them suitabl * ACI related * acbuild +## Runtimes + +* Docker +* rkt + +## Deployment + +### Nix + rkt + + # Discussion * Distributing * Discovering @@ -116,6 +149,7 @@ The intention for customizing and adapting each one of them to make them suitabl * Application: TODO * Container: TODO * Application Container: TODO +* Application Container Image: TODO * DevOps: TODO # References From 7b960dad096df82d638b9f13112a0b7cca4d5ce8 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 17 Aug 2016 20:18:33 +0200 Subject: [PATCH 028/126] shell.nix: init --- shell.nix | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 shell.nix diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..caf094c --- /dev/null +++ b/shell.nix @@ -0,0 +1,138 @@ +let + pkgs = import {}; +in pkgs.stdenv.mkDerivation { + name = "msc-thesis"; + buildInputs = [ + pkgs.pandoc + pkgs.xdotool + (pkgs.vim_configurable.customize { + name = "vim"; + vimrcConfig = { + # add custom .vimrc lines like this: + customRC = '' + set nocompatible + + " leader + let mapleader = ',' + + set hidden + syntax on + set hlsearch + set number + + " mappings to stop insert mode + imap jjj + imap kkk + imap lll + imap hhh + set scroll=11 + + noremap :tabn + noremap :tabp + let g:ctrlp_map = '' + set wildignore+=*/site/*,*.so,*.swp,*.zip + let g:ctrlp_custom_ignore = { + \ 'dir': '\v[\/]\.(git|hg|svn|)$$', + \ 'file': '\v\.(exe|so|dll)$$', + \ } + + " allways show status line + set ls=2 + set tabstop=4 + set shiftwidth=4 + set softtabstop=4 + set expandtab + "set textwidth=80 + + set wildignore+=*/site/*,*.so,*.swp,*.zip + let g:ctrlp_custom_ignore = { + \ 'dir': '\v[\/]\.(git|hg|svn|)$$', + \ 'file': '\v\.(exe|so|dll)$$', + \ } + " } + + " spelling {{{ + au BufRead,BufNewFile *.md,*.markdown setlocal spell spelllang=en_us,de_de + " }}} + + " sync default register to clipboard { + if has('unnamedplus') + set clipboard=unnamedplus + else + set clipboard=unnamed + endif + " } + + " colored brackets { + let g:rbpt_colorpairs = [ + \ ['brown', 'RoyalBlue3'], + \ ['Darkblue', 'SeaGreen3'], + \ ['darkgray', 'DarkOrchid3'], + \ ['darkgreen', 'firebrick3'], + \ ['darkcyan', 'RoyalBlue3'], + \ ['darkred', 'SeaGreen3'], + \ ['darkmagenta', 'DarkOrchid3'], + \ ['brown', 'firebrick3'], + \ ['gray', 'RoyalBlue3'], + \ ['black', 'SeaGreen3'], + \ ['darkmagenta', 'DarkOrchid3'], + \ ['Darkblue', 'firebrick3'], + \ ['darkgreen', 'RoyalBlue3'], + \ ['darkcyan', 'SeaGreen3'], + \ ['darkred', 'DarkOrchid3'], + \ ['red', 'firebrick3'], + \ ] + let g:rbpt_max = 16 + let g:rbpt_loadcmd_toggle = 0 + + au VimEnter * RainbowParenthesesToggle + au Syntax * RainbowParenthesesLoadRound + au Syntax * RainbowParenthesesLoadSquare + au Syntax * RainbowParenthesesLoadBraces + " } + + let g:vimtex_view_method = 'zathura' + + let g:vimtex_complete_enabled = 1 + let g:vimtex_complete_close_braces = 1 + let g:vimtex_complete_recursive_bib = 1 + let g:vimtex_indent_enabled = 1 + let g:vimtex_indent_bib_enabled = 1 + + + if !exists('g:ycm_semantic_triggers') + let g:ycm_semantic_triggers = {} + endif + let g:ycm_semantic_triggers.tex = [ + \ 're!\\[A-Za-z]*cite[A-Za-z]*(\[[^]]*\]){0,2}{[^}]*', + \ 're!\\[A-Za-z]*ref({[^}]*|range{([^,{}]*(}{)?))', + \ 're!\\hyperref\[[^]]*', + \ 're!\\includegraphics\*?(\[[^]]*\]){0,2}{[^}]*', + \ 're!\\(include(only)?|input){[^}]*', + \ 're!\\\a*(gls|Gls|GLS)(pl)?\a*(\s*\[[^]]*\]){0,2}\s*\{[^}]*', + \ 're!\\includepdf(\s*\[[^]]*\])?\s*\{[^}]*', + \ 're!\\includestandalone(\s*\[[^]]*\])?\s*\{[^}]*', + \ ] + + set t_ut= + colorscheme PaperColor + ''; + + vam.knownPlugins = pkgs.vimPlugins; + vam.pluginDictionaries = [ + "youcompleteme" + "vim-airline" + "vim-addon-nix" + "ctrlp" + "vim-css-color" + "rainbow_parentheses" + "vim-colorschemes" + "vim-signify" + "vimtex" + ]; + }; + }) + pkgs.texlive.combined.scheme-full + pkgs.zathura + ]; +} From d090943019b9b8f51266309e55dddbf3652fcd5a Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 17 Aug 2016 19:13:31 +0200 Subject: [PATCH 029/126] src/docs: add LaTeX structure and migrate content --- .gitignore | 9 ++++ src/docs/abstract.tex | 26 +++++++++++ src/docs/introduction.tex | 4 ++ src/docs/thesis.md | 6 +-- src/docs/thesis.tex | 98 +++++++++++++++++++++++++++++++++++++++ src/docs/title.tex | 32 +++++++++++++ 6 files changed, 171 insertions(+), 4 deletions(-) create mode 100644 .gitignore create mode 100644 src/docs/abstract.tex create mode 100644 src/docs/introduction.tex create mode 100644 src/docs/thesis.tex create mode 100644 src/docs/title.tex diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eb56735 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.swp +*.aux +*.fdb_latexmk +*.fls +*.lof +*.log +*.lot +*.synctex.gz +*.toc diff --git a/src/docs/abstract.tex b/src/docs/abstract.tex new file mode 100644 index 0000000..1e5f7ca --- /dev/null +++ b/src/docs/abstract.tex @@ -0,0 +1,26 @@ +\begin{center} +{\Large \textbf{Abstract}} +\end{center} + +\bigskip + +\begin{center} + \begin{tabular}{p{2.8cm}p{10cm}} + Topic: & \topic\\ + & \\ + Applicant: & \authorOne \\ + & \\ + Supervisors: & \supervisorOne \\[.5ex] + & \supervisorTwo\\ + & \\ + Submition: & \submitdate \\ + & \\ + Buzzwords: & \buzzwords \\ + & \\ + \end{tabular} +\end{center} + +\bigskip + +\noindent +TODO: abstract goes here diff --git a/src/docs/introduction.tex b/src/docs/introduction.tex new file mode 100644 index 0000000..ea7785a --- /dev/null +++ b/src/docs/introduction.tex @@ -0,0 +1,4 @@ +\chapter{The Topic And The Underlying Problem} +The main concern of this thesis is to find a viable method for creating application container images in a reliable and reproducible way. +This should be possible with the help of a package manager that source-based packages, by specifying the container image content by referncing packages in a declarative manner. +The choice for this topic is due to my personal unsatisfying experience with currently available methods for creating application container. diff --git a/src/docs/thesis.md b/src/docs/thesis.md index 2e4ddc8..4cdad50 100644 --- a/src/docs/thesis.md +++ b/src/docs/thesis.md @@ -7,10 +7,8 @@ * Container Build System using Source-Package Management * Using A Declarative And Deterministic Source-Package Manager to Build Application Container Images -# Introduction and problem derivation -This work represents my thesis for achieving the title "Master of Science" and is part of my studies of Information Technology at the University of Applied sciences in Constance, Germany. -The main concern of this thesis is to find a viable method for creating application containers with the help of a package manager for source-based packages by specifying their content in a declarative manner. -The choice for this topic is due to my personal experience with currently available methods for creating application containers, which doesn't include a single one that I felt completely comfortable with and that could provide all the features that I have expected. +# Introduction To Topic And The Underlying Problem +(...) ## Basic Terms and Relations Before solving the underlying problem, I want to give a brief summary of what I'm referring to as packages, containers, application and their source. Further enlarging upon the definitions will follow in succeeding chapters when more detailed knowledge will be required. diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex new file mode 100644 index 0000000..9c73186 --- /dev/null +++ b/src/docs/thesis.tex @@ -0,0 +1,98 @@ +\documentclass[11pt,a4paper]{report} + +\usepackage{a4} +\usepackage[utf8]{inputenc} +\usepackage{titlesec} % titleformat +\usepackage{fancyhdr} +\usepackage{geometry} +\usepackage{multirow,tabularx,tabu} + +\newcommand{\topic}{A Declarative And Reproducible Approach To Application Development And Deployment Via Container Images} + +\newcommand{\authorOne}{Stefan Junker} +\newcommand{\authorOnestreet}{Alemannenstr. 7} +\newcommand{\authorOnezip}{78467} +\newcommand{\authorOnecity}{Konstanz} +\newcommand{\authorOneCountry}{Germany} +\newcommand{\authorOneId}{283751} +\newcommand{\supervisorOne}{Prof. Dr. Michael Mächtel} +\newcommand{\supervisorTwo}{TODO supervisor two} +\newcommand{\studies}{TODO studies} +\newcommand{\startdate}{TODO startdate} +\newcommand{\submitdate}{TODO submitdate} +\newcommand{\buzzwords}{TODO buzzwords} + +% Numbered Subsubsections +\setcounter{secnumdepth}{3} + +\date{Wintersemester 2016/2017} +\title{\topic} + +\author{authorOne} + +\geometry{a4paper, top=25mm, left=30mm, right=40mm, bottom=35mm, headsep=10mm, footskip=12mm} + +\fancypagestyle{plain}{% + \fancyhead[L]{\small SJ} + \fancyhead[R]{} + \fancyhead[C]{} + + \fancyfoot[R]{\thepage{}} + \fancyfoot[C]{} +} + +\titleformat{\chapter}[hang]{\vspace{-2cm}\bfseries\huge}{\thechapter}{2pc}{} % don't print "chapter" + +\makeatletter +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {0.0001pt \@plus .2ex}% + {\normalfont\normalsize\bfseries}} +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {0.0001pt \@plus .2ex}% + {\normalfont\normalsize\bfseries}} +\makeatother + +\begin{document} + +\pagenumbering{Roman} + \pagestyle{plain} + \include{cover} + \include{title} + \include{abstract} + \include{affidavit} + \cleardoublepage + \newcounter{roman_pagenumbers} % save page number + \setcounter{roman_pagenumbers}{\value{page}} + + +\pagestyle{fancy} +\fancyhf{} +\addtolength{\headwidth}{\marginparsep} +\headheight=15pt +\pagenumbering{arabic} +\fancyfoot[R]{\thepage{}} +\fancyhead[L]{\small \autorlinit, \autorminit, \autorsinit} +\fancyhead[R]{\nouppercase{\rightmark}} + +\pagenumbering{arabic} + \pagestyle{fancy} + %TODO \include{danksagung} + + \tableofcontents + + %TODO \printnomenclature[3cm] + + \newpage + \include{introduction} + \chapter{Introduction 2} + + \newpage + %TODO \listofmyequations + \listoftables + %TODO \lstlistoflistings + \listoffigures + %TODO \printbibliography + +\end{document} diff --git a/src/docs/title.tex b/src/docs/title.tex new file mode 100644 index 0000000..f7856a6 --- /dev/null +++ b/src/docs/title.tex @@ -0,0 +1,32 @@ +\thispagestyle{empty} +{ +\setlength{\parskip}{0.5cm} + \begin{center} + \textbf{\huge Master's Thesis} + + \textbf{for achieving the academic degree} + + \textbf{\Large Master of Science (M. Sc.)}\\ + [10ex] + + \textsf{\huge University Of Applied Sciences, Constance}\\ + [10ex] + + \textsf{\Large Faculty For Information Technology}\\ + Studies \studies + \end{center} +} +\begin{center} + +\vspace*{2cm} + +\begin{tabular}{p{3cm}p{10cm}} +Topic: & \textbf{\large \topic} \\[15ex] +Applicant: & \authorOne, \authorOnestreet, \authorOnezip$ $ \authorOnecity, \authorOneCountry \\ +& Student Identification Number: \authorOneId\\[15ex] +1st Supervisor: & \supervisorOne\\ +2nd Supervisor: & \supervisorTwo\\[25ex] +Start Date: & \startdate\\ +Submit Date: & \submitdate\\ +\end{tabular} +\end{center} From bd5fba5b265a6f88f216ed3739bb3e8240bf1590 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 17 Aug 2016 19:39:00 +0200 Subject: [PATCH 030/126] thesis.tex: fix lacheck and latexmk warnings --- src/docs/thesis.tex | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 9c73186..a0ce3f1 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -2,7 +2,7 @@ \usepackage{a4} \usepackage[utf8]{inputenc} -\usepackage{titlesec} % titleformat +\usepackage{titlesec,blindtext, color} % titleformat \usepackage{fancyhdr} \usepackage{geometry} \usepackage{multirow,tabularx,tabu} @@ -41,16 +41,17 @@ \fancyfoot[C]{} } -\titleformat{\chapter}[hang]{\vspace{-2cm}\bfseries\huge}{\thechapter}{2pc}{} % don't print "chapter" +\newcommand{\hsp}{\hspace{20pt}} +\titleformat{\chapter}[hang]{\vspace{-2cm}\Huge\bfseries}{\thechapter\hsp}{0cm}{} \makeatletter -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {0.0001pt \@plus .2ex}% +\renewcommand\paragraph{\startsection{paragraph}{4}{\z}% + {-3.25ex\plus -1ex \minus -.2ex}% + {0.0001pt \plus 0.2ex}% {\normalfont\normalsize\bfseries}} -\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {0.0001pt \@plus .2ex}% +\renewcommand\subparagraph{\startsection{subparagraph}{5}{\z}% + {-3.25ex\plus -1ex \minus -.2ex}% + {0.0001pt \plus 0.2ex}% {\normalfont\normalsize\bfseries}} \makeatother @@ -58,10 +59,10 @@ \pagenumbering{Roman} \pagestyle{plain} - \include{cover} + %\include{cover} \include{title} \include{abstract} - \include{affidavit} + %\include{affidavit} \cleardoublepage \newcounter{roman_pagenumbers} % save page number \setcounter{roman_pagenumbers}{\value{page}} @@ -85,8 +86,7 @@ %TODO \printnomenclature[3cm] \newpage - \include{introduction} - \chapter{Introduction 2} + \include{introduction} \newpage %TODO \listofmyequations From cfc42a157e72e09bd4c8a9a30752048aacc80c91 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 17 Aug 2016 20:17:21 +0200 Subject: [PATCH 031/126] thesis.tex: mark as latexmain for latexmk --- src/docs/thesis.tex.latexmain | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/docs/thesis.tex.latexmain diff --git a/src/docs/thesis.tex.latexmain b/src/docs/thesis.tex.latexmain new file mode 100644 index 0000000..e69de29 From 080a667e66b94356143548d2e94a4c558f63717f Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 17 Aug 2016 20:17:37 +0200 Subject: [PATCH 032/126] thesis.tex: syntax improvements --- src/docs/thesis.tex | 7 +++---- src/docs/title.tex | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index a0ce3f1..eb8db8f 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -59,10 +59,10 @@ \pagenumbering{Roman} \pagestyle{plain} - %\include{cover} + %TODO: \include{cover} \include{title} - \include{abstract} - %\include{affidavit} + \include{abstract.tex} + %TODO: \include{affidavit} \cleardoublepage \newcounter{roman_pagenumbers} % save page number \setcounter{roman_pagenumbers}{\value{page}} @@ -94,5 +94,4 @@ %TODO \lstlistoflistings \listoffigures %TODO \printbibliography - \end{document} diff --git a/src/docs/title.tex b/src/docs/title.tex index f7856a6..d0a37a0 100644 --- a/src/docs/title.tex +++ b/src/docs/title.tex @@ -1,6 +1,5 @@ \thispagestyle{empty} -{ -\setlength{\parskip}{0.5cm} +{\setlength{\parskip}{0.5cm} \begin{center} \textbf{\huge Master's Thesis} @@ -16,6 +15,7 @@ Studies \studies \end{center} } + \begin{center} \vspace*{2cm} From 4c3fb0bec90895f8f861aa31d41dcec92d0b04c9 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 24 Aug 2016 22:24:28 +0200 Subject: [PATCH 033/126] introduction: add helper comments --- src/docs/introduction.tex | 55 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/src/docs/introduction.tex b/src/docs/introduction.tex index ea7785a..45b143e 100644 --- a/src/docs/introduction.tex +++ b/src/docs/introduction.tex @@ -1,4 +1,53 @@ -\chapter{The Topic And The Underlying Problem} -The main concern of this thesis is to find a viable method for creating application container images in a reliable and reproducible way. -This should be possible with the help of a package manager that source-based packages, by specifying the container image content by referncing packages in a declarative manner. +% // vim: set ft=tex: + +\chapter{Introduction} +% Chapter 1, with a highly focused review of the literature, and is normally the “prospectus” that a committee approves before the “proposal” to start research is approved. After the prospectus is approved, some of the review of literature may be moved into Chapter 2, which then becomes part of the proposal to do research. +% Chapter 1 is the engine that drives the rest of the document, and it must be a complete empirical argument as is found in courts of law. It should be filled with proofs throughout. It is not a creative writing project in a creative writing class; hence, once a word or phrase is established in Chapter 1, use the same word or phrase throughout the dissertation. The content is normally stylized into five chapters, repetitive in some sections from dissertation to dissertation. A lengthy dissertation may have more than five chapters, but regardless, most universities limit the total number of pages to 350 due to microfilming and binding considerations in libraries in those institutions requiring hard copies. +% Use plenty of transitional words and sentences from one section to another, as well as subheadings, which allow the reader to follow the writer’s train of thought. Following is an outline of the content of the empirical argument of Chapter 1. Universities often arrange the content in a different order, but the subject matter is the same in all dissertations because it is an empirical “opening statement” as might be found in a court of law. (Note that a dissertation could also be five pages of text and 50 pages of pictures of dragonfly wings and qualify for a Doctor’s degree in entomology.) + +\section{Introductory Paragraph} +%State the general field of interest in one or two paragraphs, and end with a sentence that states what study will accomplish. Do not keep the reader waiting to find out the precise subject of the dissertation. +The concern of this thesis is to find a viable method for declaring and assembling software application container images in a reliable and reproducible way. The choice for this topic is due to my personal unsatisfying experience with currently available methods for creating application container. + +\section{Background of the Problem} +% This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. + +\section{Statement of the Problem} +% Arising from the background statement is this statement of the exact gap in the knowledge discussed in previous paragraphs that reviewed the most current literature found. A gap in the knowledge is the entire reason for the study, so state it specifically and exactly. Use the words “gap in the knowledge.” The problem statement will contain a definition of the general need for the study, and the specific problem that will be addressed. + +\section{Purpose of the Study} +% The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. + +\section{Significance of the Study} +% The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. + +\section{Primary Research Questions} +% The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. + +\section{Hypotheses} +% A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. + +This should be possible with the help of a package manager that source-based packages, by specifying the container image content by referencing packages in a declarative manner. + +\section{Research Design} +% In Chapter 1 this is a summary of the methodology and contains a brief outline of three things: (a) the participants in a qualitative study or the subjects of a quantitative study (human participants are referred tyo as participants, non-human subjects are referred to as subjects), (b) the instrumentation used to collect data, and (c) the procedure that will be followed. All of these elements will be reported in detail in Chapter 3. In a quantitative study, the instrumentation will be validated in Chapter 3 in detail. In a qualitative study, if it is a researcher-created questionnaire, validating the correctness of the interview protocol is usually accomplished with a pilot study. For either a quantitative or a qualitative study, using an already validated survey instrument is easier to defend and does not require a pilot study; however, Chapter 3 must contain a careful review of the instrument and how it was validated by the creator. +% In a qualitative study, which usually involves interviews, the instrumentation is an interview protocol – a pre-determined set of questions that every participant is asked that are based on the primary research questions. A qualitative interview should contain no less than 10 open-ended questions and take no less than 1 hour to administer to qualify as “robust” research. +% In the humanities, a demographic survey should be circulated with most quantitative and qualitative studies to establish the parameters of the participant pool. Demographic surveys are nearly identical in most dissertations. In the sciences, a demographic survey is rarely needed. + +\section{Theoretical Framework} +% The theoretical framework is the foundational theory that is used to provide a perspective upon which the study is based. There are hundreds of theories in the literature. For instance, if a study in the social sciences is about stress that may be causing teachers to quit, Apple’s Intensification Theory could be cited as the theory was that stress is cumulative and the result of continuing overlapping, progressively stringent responsibilities for teachers that eventually leads to the desire to quit. In the sciences, research about new species that may have evolved from older, extinct species would be based on the theory of evolution pioneered by Darwin. +% Some departments put the theoretical framework explanation in Chapter 1; some put it in Chapter 2. + +\section{Assumptions, Limitations, and Scope (Delimitations)} +% Assumptions are self-evident truths. In a qualitative study, it may be assumed that participants be highly qualified in the study is about administrators. It can be assumed that participants will answer truthfully and accurately to the interview questions based on their personal experience, and that participants will respond honestly and to the best of their individual abilities. +% Limitations of a study are those things over which the research has no control. Evident limitations are potential weaknesses of a study. Researcher biases and perceptual misrepresentations are potential limitations in a qualitative study; in a quantitative study, a limitation may be the capability of an instrument to accurately record data. + +% Scope is the extent of the study and contains measurements. In a qualitative study this would include the number of participants, the geographical location, and other pertinent numerical data. In a quantitative study the size of the elements of the experiment are cited. The generalizability of the study may be cited. The word generalizability, which is not in the Word 2007 dictionary, means the extent to which the data are applicable in places other than where the study took place, or under what conditions the study took place. +% Delimitations are limitations on the research design imposed deliberately by the researcher. Delimitations in a social sciences study would be such things as the specific school district where a study took place, or in a scientific study, the number of repetitions. + +\section{Definition of Terms} +% The definition of terms is written for knowledgeable peers, not people from other disciplines As such, it is not the place to fill pages with definitions that knowledgeable peers would know at a glance. Instead, define terms that may have more than one meaning among knowledgeable peers. + +\section{Summary} +% Summarize the content of Chapter 1 and preview of content of Chapter 2. From e0e910cdc532a4f3e456af9e7f717d2cb90bffca Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 24 Aug 2016 22:26:12 +0200 Subject: [PATCH 034/126] doc: add preface --- src/docs/thesis.tex | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index eb8db8f..aa29628 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -84,6 +84,9 @@ \tableofcontents %TODO \printnomenclature[3cm] + + \chapter{Preface} + This dissertation is original, unpublished, independent work by the author, \authorOne. \newpage \include{introduction} From a87dff82c491ef14456d7b5c3e70ef0e61822e7b Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 24 Aug 2016 22:26:28 +0200 Subject: [PATCH 035/126] doc: change title --- src/docs/thesis.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index aa29628..760cb46 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -7,7 +7,7 @@ \usepackage{geometry} \usepackage{multirow,tabularx,tabu} -\newcommand{\topic}{A Declarative And Reproducible Approach To Application Development And Deployment Via Container Images} +\newcommand{\topic}{A Declarative And Reproducible Approach To Application Deployment Via Container Images} \newcommand{\authorOne}{Stefan Junker} \newcommand{\authorOnestreet}{Alemannenstr. 7} From 9a40334488ead2690239b76b39aad7454f9d56bc Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 24 Aug 2016 22:26:40 +0200 Subject: [PATCH 036/126] doc: change pre-body numbering --- src/docs/thesis.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 760cb46..692d31f 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -57,7 +57,7 @@ \begin{document} -\pagenumbering{Roman} +\pagenumbering{roman} \pagestyle{plain} %TODO: \include{cover} \include{title} From 1714c3ef775f38625828c881ad8bab4da539e5ed Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 24 Aug 2016 22:27:33 +0200 Subject: [PATCH 037/126] doc: add more structure --- src/docs/thesis.tex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 692d31f..34a53a5 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -88,9 +88,13 @@ \chapter{Preface} This dissertation is original, unpublished, independent work by the author, \authorOne. - \newpage + \part{Introduction} \include{introduction} + \part{Research} + \part{Development} + \part{Conclusion} + \newpage %TODO \listofmyequations \listoftables From 89e158169f21ea3d604f157314e07821a9358c9f Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 24 Aug 2016 22:28:02 +0200 Subject: [PATCH 038/126] doc: ger/en fix --- src/docs/thesis.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 34a53a5..480d1af 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -79,7 +79,7 @@ \pagenumbering{arabic} \pagestyle{fancy} - %TODO \include{danksagung} + %TODO \include{acknowledgements} \tableofcontents From 8713bec1a015acff8a970b368e8bd4a7d4a7d7ec Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 24 Aug 2016 22:28:26 +0200 Subject: [PATCH 039/126] doc: add guix research --- src/docs/thesis.tex | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 480d1af..5499c91 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -92,6 +92,11 @@ \include{introduction} \part{Research} + \chapter{Existing Package Managers} + \section{Guix} + \begin{list}{-}{Guix Important Features} + \item `guix refresh` can update package sources according to defined updaters + \end{list} \part{Development} \part{Conclusion} From 7660ae0c9b39d6dd03c8938ff08dc874fea8d5d8 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 24 Aug 2016 23:55:10 +0200 Subject: [PATCH 040/126] docs/research: package managers and languages --- src/docs/parts/research/research.tex | 35 ++++++++++++++++++++++++++++ src/docs/thesis.tex | 7 ++---- 2 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 src/docs/parts/research/research.tex diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex new file mode 100644 index 0000000..94323b6 --- /dev/null +++ b/src/docs/parts/research/research.tex @@ -0,0 +1,35 @@ +% // vim: set ft=tex: + + +\chapter{Available Package Managers} + +\section{Portage} + +\section{Nix} + +\section{Guix} +\textbf{Feature} +\begin{description} + \item [Automatic Updates of Sources] { + `guix refresh` can update package sources according to defined updaters + } +\end{description} + +\section{Spack} +Spack (https://github.com/LLNL/spack) is a package manager written in Python. + +\begin{description} + \item [Automatic Updates of Sources] { + } + \item [Closure] { + http://software.llnl.gov/spack/basic\_usage.html\#filesystem-views Yeah + } +\end{description} + +\chapter{Languages Used For Packaging} + +\section{Guile Scheme} +Guile implements Scheme and extends it with new features. + + +UX:https://logicgrimoire.wordpress.com/2012/08/25/a-first-guile-script/ diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 5499c91..5becea2 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -92,11 +92,8 @@ \include{introduction} \part{Research} - \chapter{Existing Package Managers} - \section{Guix} - \begin{list}{-}{Guix Important Features} - \item `guix refresh` can update package sources according to defined updaters - \end{list} + \include{parts/research/research} + \part{Development} \part{Conclusion} From 779c628b5ab4e5bd297558bebbca44ea27afe62c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sun, 28 Aug 2016 22:11:41 +0200 Subject: [PATCH 041/126] thesis: add glossary and work on introduction&research --- .../{ => parts/introduction}/introduction.tex | 12 +++- src/docs/parts/research/research.tex | 13 ++++ src/docs/thesis.tex | 59 +++++++++++++++---- 3 files changed, 68 insertions(+), 16 deletions(-) rename src/docs/{ => parts/introduction}/introduction.tex (94%) diff --git a/src/docs/introduction.tex b/src/docs/parts/introduction/introduction.tex similarity index 94% rename from src/docs/introduction.tex rename to src/docs/parts/introduction/introduction.tex index 45b143e..3cf11c7 100644 --- a/src/docs/introduction.tex +++ b/src/docs/parts/introduction/introduction.tex @@ -1,14 +1,20 @@ % // vim: set ft=tex: + +\chapter{Glossary} +\printnoidxglossaries + \chapter{Introduction} % Chapter 1, with a highly focused review of the literature, and is normally the “prospectus” that a committee approves before the “proposal” to start research is approved. After the prospectus is approved, some of the review of literature may be moved into Chapter 2, which then becomes part of the proposal to do research. % Chapter 1 is the engine that drives the rest of the document, and it must be a complete empirical argument as is found in courts of law. It should be filled with proofs throughout. It is not a creative writing project in a creative writing class; hence, once a word or phrase is established in Chapter 1, use the same word or phrase throughout the dissertation. The content is normally stylized into five chapters, repetitive in some sections from dissertation to dissertation. A lengthy dissertation may have more than five chapters, but regardless, most universities limit the total number of pages to 350 due to microfilming and binding considerations in libraries in those institutions requiring hard copies. % Use plenty of transitional words and sentences from one section to another, as well as subheadings, which allow the reader to follow the writer’s train of thought. Following is an outline of the content of the empirical argument of Chapter 1. Universities often arrange the content in a different order, but the subject matter is the same in all dissertations because it is an empirical “opening statement” as might be found in a court of law. (Note that a dissertation could also be five pages of text and 50 pages of pictures of dragonfly wings and qualify for a Doctor’s degree in entomology.) -\section{Introductory Paragraph} %State the general field of interest in one or two paragraphs, and end with a sentence that states what study will accomplish. Do not keep the reader waiting to find out the precise subject of the dissertation. -The concern of this thesis is to find a viable method for declaring and assembling software application container images in a reliable and reproducible way. -The choice for this topic is due to my personal unsatisfying experience with currently available methods for creating application container. +This thesis is about building and packaging software as \glspl{apci} to make it deployable via one of the various \glspl{apcr} + +The primary concern of this thesis is to find a viable method for declaring and assembling \glspl{apci} in a predictable way, ideally providing reproducible results. The secondary concern is to make it easy for the application developers to specify the exact contents of the \gls{apci} is needed building and running their software. + +The choice for this topic is due to my personal unsatisfying experience with currently available methods for specifying and building \glspl{apci}. \section{Background of the Problem} % This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index 94323b6..d5e747f 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -1,5 +1,18 @@ % // vim: set ft=tex: +\chapter{Criteria} + + +\section{Installation and Update Mechanism} + +\subsection{Security Updates} + +\section{Usability} + +\section{Support} + +\section{Package Repositories} + \chapter{Available Package Managers} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 5becea2..f7818ea 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -6,6 +6,7 @@ \usepackage{fancyhdr} \usepackage{geometry} \usepackage{multirow,tabularx,tabu} +\usepackage[xindy]{glossaries} \newcommand{\topic}{A Declarative And Reproducible Approach To Application Deployment Via Container Images} @@ -43,8 +44,8 @@ \newcommand{\hsp}{\hspace{20pt}} \titleformat{\chapter}[hang]{\vspace{-2cm}\Huge\bfseries}{\thechapter\hsp}{0cm}{} - \makeatletter + \renewcommand\paragraph{\startsection{paragraph}{4}{\z}% {-3.25ex\plus -1ex \minus -.2ex}% {0.0001pt \plus 0.2ex}% @@ -55,6 +56,40 @@ {\normalfont\normalsize\bfseries}} \makeatother +\makenoidxglossaries +\newglossaryentry{Linux} { + name = Linux, + description = { + is a generic term referring to the family of Unix-like + computer operating systems that use the Linux kernel + }, + plural=Linuces +} + +\newglossaryentry{computer} { + name = Computer, + description = { + is a programmable machine that receives input, + stores and manipulates data, and provides + output in a useful format + } +} + +\newglossaryentry{apci} { + name=Application Program Container Image, + description={is an archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application}. +} + +\newglossaryentry{apcr} { + name=Application Program Container Runtime, + description={is an application program or a set thereof that understands how to run the software inside an \gls{apci}}. +} + +\newglossaryentry{} { + name=Application Program Container Runtime, + description={is an application program or a set thereof that understands how to run the software inside an \gls{apci}}. +} + \begin{document} \pagenumbering{roman} @@ -67,29 +102,26 @@ \newcounter{roman_pagenumbers} % save page number \setcounter{roman_pagenumbers}{\value{page}} - -\pagestyle{fancy} -\fancyhf{} -\addtolength{\headwidth}{\marginparsep} -\headheight=15pt \pagenumbering{arabic} -\fancyfoot[R]{\thepage{}} -\fancyhead[L]{\small \autorlinit, \autorminit, \autorsinit} -\fancyhead[R]{\nouppercase{\rightmark}} + \pagestyle{fancy} + \fancyhf{} + \addtolength{\headwidth}{\marginparsep} + \headheight=15pt + \fancyfoot[R]{\thepage{}} + \fancyhead[L]{\small \autorlinit, \autorminit, \autorsinit} + \fancyhead[R]{\nouppercase{\rightmark}} \pagenumbering{arabic} \pagestyle{fancy} %TODO \include{acknowledgements} - + \tableofcontents - - %TODO \printnomenclature[3cm] \chapter{Preface} This dissertation is original, unpublished, independent work by the author, \authorOne. \part{Introduction} - \include{introduction} + \include{parts/introduction/introduction} \part{Research} \include{parts/research/research} @@ -103,4 +135,5 @@ %TODO \lstlistoflistings \listoffigures %TODO \printbibliography + \end{document} From e9c340c4188b607c8d0238b3e81aef7b6578572d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 30 Aug 2016 14:44:17 +0200 Subject: [PATCH 042/126] introduction: mention docker --- src/docs/parts/introduction/introduction.tex | 15 +++---- src/docs/thesis.tex | 46 +++++++++++++------- 2 files changed, 38 insertions(+), 23 deletions(-) diff --git a/src/docs/parts/introduction/introduction.tex b/src/docs/parts/introduction/introduction.tex index 3cf11c7..205b783 100644 --- a/src/docs/parts/introduction/introduction.tex +++ b/src/docs/parts/introduction/introduction.tex @@ -1,20 +1,19 @@ % // vim: set ft=tex: - -\chapter{Glossary} -\printnoidxglossaries - \chapter{Introduction} + % Chapter 1, with a highly focused review of the literature, and is normally the “prospectus” that a committee approves before the “proposal” to start research is approved. After the prospectus is approved, some of the review of literature may be moved into Chapter 2, which then becomes part of the proposal to do research. % Chapter 1 is the engine that drives the rest of the document, and it must be a complete empirical argument as is found in courts of law. It should be filled with proofs throughout. It is not a creative writing project in a creative writing class; hence, once a word or phrase is established in Chapter 1, use the same word or phrase throughout the dissertation. The content is normally stylized into five chapters, repetitive in some sections from dissertation to dissertation. A lengthy dissertation may have more than five chapters, but regardless, most universities limit the total number of pages to 350 due to microfilming and binding considerations in libraries in those institutions requiring hard copies. % Use plenty of transitional words and sentences from one section to another, as well as subheadings, which allow the reader to follow the writer’s train of thought. Following is an outline of the content of the empirical argument of Chapter 1. Universities often arrange the content in a different order, but the subject matter is the same in all dissertations because it is an empirical “opening statement” as might be found in a court of law. (Note that a dissertation could also be five pages of text and 50 pages of pictures of dragonfly wings and qualify for a Doctor’s degree in entomology.) %State the general field of interest in one or two paragraphs, and end with a sentence that states what study will accomplish. Do not keep the reader waiting to find out the precise subject of the dissertation. -This thesis is about building and packaging software as \glspl{apci} to make it deployable via one of the various \glspl{apcr} +This thesis is about building and packaging software applications specifically with the intention to distribute them in form of \glspl{apci}. +The primary concern is to find a viable method for declaring and assembling \glspl{apci} deterministically and ideally being able to reproducible these builds on different computers and different points in time. +The secondary concern is to abstract enough of the method's complexity in order to make it attractive for application developers while still allowing them to specify the exact contents alongside their software within the resulting \gls{apci}. -The primary concern of this thesis is to find a viable method for declaring and assembling \glspl{apci} in a predictable way, ideally providing reproducible results. The secondary concern is to make it easy for the application developers to specify the exact contents of the \gls{apci} is needed building and running their software. +The choice for this topic was made due to my personal dissatisfaction with currently available methods for building \glspl{apci}, and seeing both the need and the potential of a scientifically substantiated approach. +My hope that is that the abstraction makes it simple enough to be adopted by the community which has been forming around the technology of \glspl{apc} and its ever-growing popularity since \gls{Docker} was released. -The choice for this topic is due to my personal unsatisfying experience with currently available methods for specifying and building \glspl{apci}. \section{Background of the Problem} % This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. @@ -23,7 +22,7 @@ The choice for this topic is due to my personal unsatisfying experience with cur % Arising from the background statement is this statement of the exact gap in the knowledge discussed in previous paragraphs that reviewed the most current literature found. A gap in the knowledge is the entire reason for the study, so state it specifically and exactly. Use the words “gap in the knowledge.” The problem statement will contain a definition of the general need for the study, and the specific problem that will be addressed. \section{Purpose of the Study} -% The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. +%The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. \section{Significance of the Study} % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index f7818ea..45c38b9 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -6,11 +6,12 @@ \usepackage{fancyhdr} \usepackage{geometry} \usepackage{multirow,tabularx,tabu} -\usepackage[xindy]{glossaries} +\usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} \newcommand{\topic}{A Declarative And Reproducible Approach To Application Deployment Via Container Images} \newcommand{\authorOne}{Stefan Junker} +\newcommand{\authorOneInit}{SJ} \newcommand{\authorOnestreet}{Alemannenstr. 7} \newcommand{\authorOnezip}{78467} \newcommand{\authorOnecity}{Konstanz} @@ -34,7 +35,7 @@ \geometry{a4paper, top=25mm, left=30mm, right=40mm, bottom=35mm, headsep=10mm, footskip=12mm} \fancypagestyle{plain}{% - \fancyhead[L]{\small SJ} + \fancyhead[L]{\small \authorOneInit} \fancyhead[R]{} \fancyhead[C]{} @@ -57,16 +58,17 @@ \makeatother \makenoidxglossaries -\newglossaryentry{Linux} { + +\newglossaryentry{Linux}{ name = Linux, description = { is a generic term referring to the family of Unix-like - computer operating systems that use the Linux kernel + computer operating systems that use the Linux kernel }, plural=Linuces } -\newglossaryentry{computer} { +\newglossaryentry{computer}{ name = Computer, description = { is a programmable machine that receives input, @@ -75,19 +77,32 @@ } } -\newglossaryentry{apci} { +\newglossaryentry{apc}{ + name=Application Program Container, + description={ + The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{apcr} + } +} + +\newglossaryentry{apci}{ name=Application Program Container Image, - description={is an archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application}. + description={ + An archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application + } } -\newglossaryentry{apcr} { +\newglossaryentry{apcr}{ name=Application Program Container Runtime, - description={is an application program or a set thereof that understands how to run the software inside an \gls{apci}}. + description={ + An application program or a collection thereof that understands how to run the software inside an \gls{apci} + } } -\newglossaryentry{} { - name=Application Program Container Runtime, - description={is an application program or a set thereof that understands how to run the software inside an \gls{apci}}. +\newglossaryentry{Docker}{ + name=Docker, + description={ + is a an \gls{apc} platform, with an application program of the same name + } } \begin{document} @@ -96,7 +111,7 @@ \pagestyle{plain} %TODO: \include{cover} \include{title} - \include{abstract.tex} + \include{abstract} %TODO: \include{affidavit} \cleardoublepage \newcounter{roman_pagenumbers} % save page number @@ -108,12 +123,12 @@ \addtolength{\headwidth}{\marginparsep} \headheight=15pt \fancyfoot[R]{\thepage{}} - \fancyhead[L]{\small \autorlinit, \autorminit, \autorsinit} + \fancyhead[L]{\small \authorOneInit} \fancyhead[R]{\nouppercase{\rightmark}} \pagenumbering{arabic} \pagestyle{fancy} - %TODO \include{acknowledgements} + %TODO \include{acknowledgments} \tableofcontents @@ -121,6 +136,7 @@ This dissertation is original, unpublished, independent work by the author, \authorOne. \part{Introduction} + \printnoidxglossary \include{parts/introduction/introduction} \part{Research} From 2677aaa89ef52178356df09f95ae0a4a1d3e866c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 30 Aug 2016 16:20:37 +0200 Subject: [PATCH 043/126] thesis: fix overfull hboxes --- src/docs/thesis.tex | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 45c38b9..2b93a18 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -1,12 +1,17 @@ \documentclass[11pt,a4paper]{report} -\usepackage{a4} \usepackage[utf8]{inputenc} + \usepackage{titlesec,blindtext, color} % titleformat \usepackage{fancyhdr} + \usepackage{geometry} +\geometry{a4paper, top=25mm, left=30mm, right=35mm, bottom=35mm, headsep=10mm, footskip=12mm} + \usepackage{multirow,tabularx,tabu} + \usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} +\makenoidxglossaries \newcommand{\topic}{A Declarative And Reproducible Approach To Application Deployment Via Container Images} @@ -32,8 +37,6 @@ \author{authorOne} -\geometry{a4paper, top=25mm, left=30mm, right=40mm, bottom=35mm, headsep=10mm, footskip=12mm} - \fancypagestyle{plain}{% \fancyhead[L]{\small \authorOneInit} \fancyhead[R]{} @@ -57,8 +60,6 @@ {\normalfont\normalsize\bfseries}} \makeatother -\makenoidxglossaries - \newglossaryentry{Linux}{ name = Linux, description = { @@ -67,7 +68,6 @@ }, plural=Linuces } - \newglossaryentry{computer}{ name = Computer, description = { @@ -76,14 +76,12 @@ output in a useful format } } - \newglossaryentry{apc}{ name=Application Program Container, description={ The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{apcr} } } - \newglossaryentry{apci}{ name=Application Program Container Image, description={ @@ -105,6 +103,8 @@ } } +\overfullrule=2cm + \begin{document} \pagenumbering{roman} From a615b9a0fa25becb232dd66b37345383be27bd22 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 3 Sep 2016 12:46:15 +0200 Subject: [PATCH 044/126] shell.nix: pin nixpkgs revision --- shell.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/shell.nix b/shell.nix index caf094c..1f98f05 100644 --- a/shell.nix +++ b/shell.nix @@ -1,6 +1,12 @@ let - pkgs = import {}; + pkgs = import ((import {}).pkgs.fetchFromGitHub { + owner = "nixos"; + repo = "nixpkgs-channels"; + rev = "6715afca34f7ece882b82c2250a4f6dade42eac5"; # vimtex update + sha256 = "1ix8k5sm01i75wxnfrlwbmc8xs8dn5zna7jb4v387h8zy8a74d8m"; + }) {}; in pkgs.stdenv.mkDerivation { + name = "msc-thesis"; buildInputs = [ pkgs.pandoc From d035ee3e9c523ef0f1c00f8ecc1e930ed4abc13e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 3 Sep 2016 12:48:19 +0200 Subject: [PATCH 045/126] shell.nix: tweak vimrc --- shell.nix | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/shell.nix b/shell.nix index 1f98f05..21373fd 100644 --- a/shell.nix +++ b/shell.nix @@ -36,10 +36,9 @@ in pkgs.stdenv.mkDerivation { noremap :tabn noremap :tabp let g:ctrlp_map = '' - set wildignore+=*/site/*,*.so,*.swp,*.zip let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(git|hg|svn|)$$', - \ 'file': '\v\.(exe|so|dll)$$', + \ 'file': '\v\.(exe|so|dll|so|swp|zip|aux|log|fdb_latexmk|fdb|dvi|lof|lot|pdf|fls|toc|gz|latexmain)$$', \ } " allways show status line @@ -50,17 +49,6 @@ in pkgs.stdenv.mkDerivation { set expandtab "set textwidth=80 - set wildignore+=*/site/*,*.so,*.swp,*.zip - let g:ctrlp_custom_ignore = { - \ 'dir': '\v[\/]\.(git|hg|svn|)$$', - \ 'file': '\v\.(exe|so|dll)$$', - \ } - " } - - " spelling {{{ - au BufRead,BufNewFile *.md,*.markdown setlocal spell spelllang=en_us,de_de - " }}} - " sync default register to clipboard { if has('unnamedplus') set clipboard=unnamedplus @@ -96,6 +84,11 @@ in pkgs.stdenv.mkDerivation { au Syntax * RainbowParenthesesLoadSquare au Syntax * RainbowParenthesesLoadBraces " } + set backspace=indent,eol,start + colorscheme PaperColor + + " Latex Related {{{ + au BufRead,BufNewFile *.tex,*.md,*.markdown setlocal spell spelllang=en_us let g:vimtex_view_method = 'zathura' @@ -105,7 +98,6 @@ in pkgs.stdenv.mkDerivation { let g:vimtex_indent_enabled = 1 let g:vimtex_indent_bib_enabled = 1 - if !exists('g:ycm_semantic_triggers') let g:ycm_semantic_triggers = {} endif @@ -120,15 +112,17 @@ in pkgs.stdenv.mkDerivation { \ 're!\\includestandalone(\s*\[[^]]*\])?\s*\{[^}]*', \ ] - set t_ut= - colorscheme PaperColor + function! ViewerCallback() dict + call self.forward_search(self.out) + endfunction + let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' + " }}} ''; vam.knownPlugins = pkgs.vimPlugins; vam.pluginDictionaries = [ "youcompleteme" "vim-airline" - "vim-addon-nix" "ctrlp" "vim-css-color" "rainbow_parentheses" From b3174946ff2478da6bcfcb85b9df6b7c5071362a Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 3 Sep 2016 12:49:25 +0200 Subject: [PATCH 046/126] gitignore: ignore more build and tmp files --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index eb56735..b2cd2fa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.swp +*.swo *.aux *.fdb_latexmk *.fls @@ -7,3 +8,8 @@ *.lot *.synctex.gz *.toc +src/docs/*.pdf +*.dvi +*.glo +*.ist +*.xdy From 2b800c4b3ace051adce8b1fcf3938c4f83e77990 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 3 Sep 2016 14:22:04 +0200 Subject: [PATCH 047/126] shell.nix: patch nixpkgs to add a tex pkg --- shell.nix | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/shell.nix b/shell.nix index 21373fd..0123e65 100644 --- a/shell.nix +++ b/shell.nix @@ -1,12 +1,36 @@ let - pkgs = import ((import {}).pkgs.fetchFromGitHub { + nixpkgs = import {}; + pkgsSrc = nixpkgs.pkgs.fetchFromGitHub { owner = "nixos"; repo = "nixpkgs-channels"; rev = "6715afca34f7ece882b82c2250a4f6dade42eac5"; # vimtex update sha256 = "1ix8k5sm01i75wxnfrlwbmc8xs8dn5zna7jb4v387h8zy8a74d8m"; - }) {}; -in pkgs.stdenv.mkDerivation { + }; + pkgs = import (nixpkgs.stdenv.mkDerivation { + name = "patchedPackages"; + src = pkgsSrc; + patches = [ + (nixpkgs.fetchurl { + url="https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/15829.patch"; + sha256 = "0a41nspiqs5i32pfzxqm8dp8qhfaajrw622lmlcvlvgbhpkac5r1"; + }) + ]; + + installPhase = '' + mkdir -p $out + cp -a * $out + ''; + + phases = '' + unpackPhase + patchPhase + installPhase + ''; + + }) {}; + +in pkgs.stdenv.mkDerivation { name = "msc-thesis"; buildInputs = [ pkgs.pandoc From 694aca0eb5d414ef83515c98b46e65e37f9b64f2 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 3 Sep 2016 20:40:07 +0200 Subject: [PATCH 048/126] thesis: introduction WIP --- src/docs/parts/introduction/introduction.tex | 30 ++++++++++++++++---- src/docs/thesis.tex | 29 ++++++++++++++++--- 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/docs/parts/introduction/introduction.tex b/src/docs/parts/introduction/introduction.tex index 205b783..818497e 100644 --- a/src/docs/parts/introduction/introduction.tex +++ b/src/docs/parts/introduction/introduction.tex @@ -1,36 +1,56 @@ % // vim: set ft=tex: \chapter{Introduction} - % Chapter 1, with a highly focused review of the literature, and is normally the “prospectus” that a committee approves before the “proposal” to start research is approved. After the prospectus is approved, some of the review of literature may be moved into Chapter 2, which then becomes part of the proposal to do research. % Chapter 1 is the engine that drives the rest of the document, and it must be a complete empirical argument as is found in courts of law. It should be filled with proofs throughout. It is not a creative writing project in a creative writing class; hence, once a word or phrase is established in Chapter 1, use the same word or phrase throughout the dissertation. The content is normally stylized into five chapters, repetitive in some sections from dissertation to dissertation. A lengthy dissertation may have more than five chapters, but regardless, most universities limit the total number of pages to 350 due to microfilming and binding considerations in libraries in those institutions requiring hard copies. % Use plenty of transitional words and sentences from one section to another, as well as subheadings, which allow the reader to follow the writer’s train of thought. Following is an outline of the content of the empirical argument of Chapter 1. Universities often arrange the content in a different order, but the subject matter is the same in all dissertations because it is an empirical “opening statement” as might be found in a court of law. (Note that a dissertation could also be five pages of text and 50 pages of pictures of dragonfly wings and qualify for a Doctor’s degree in entomology.) %State the general field of interest in one or two paragraphs, and end with a sentence that states what study will accomplish. Do not keep the reader waiting to find out the precise subject of the dissertation. -This thesis is about building and packaging software applications specifically with the intention to distribute them in form of \glspl{apci}. +This thesis is about building and packaging software applications specifically with the intention to distribute them in form of \glspl{apci} on systems running a \gls{Linux} based \gls{OS}. The primary concern is to find a viable method for declaring and assembling \glspl{apci} deterministically and ideally being able to reproducible these builds on different computers and different points in time. The secondary concern is to abstract enough of the method's complexity in order to make it attractive for application developers while still allowing them to specify the exact contents alongside their software within the resulting \gls{apci}. The choice for this topic was made due to my personal dissatisfaction with currently available methods for building \glspl{apci}, and seeing both the need and the potential of a scientifically substantiated approach. -My hope that is that the abstraction makes it simple enough to be adopted by the community which has been forming around the technology of \glspl{apc} and its ever-growing popularity since \gls{Docker} was released. +This chapter will cover the knowledge that is necessary to understand the problem and the development of technology and mindsets of technology users, leading to the current situation. -\section{Background of the Problem} +\section{The Advent of \glspl{apc}} +% Background of the Problem % This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. -\section{Statement of the Problem} +% TODO: refer and limit scope to the FOSS/Linux, maybe Jails? Explain why not closed-source kernels (community, collaboration) +% TODO: explain generically what APC is and compare to Hypervisors +% TODO: explain performance and resource allocation overhead/flexibility +% TODO: refer to Linux Namespaces and Cgroups + +\gls{Docker}, since with its release in 2013 (TODO reference), has brought \glspl{apc} to the attention and hands of the masses in the \gls{FOSS} community. +From a psychological standpoint this is not surprising, as it has abstracted most of complexities of the technology, and has added ease of deployment with a platform for hosting the \gls{apci} in a Docker specific format, as well as a very convenient tool for building the like. +Its popularity has come to a point where the term \textit{Docker} is being used interchangeably (TODO: do I need references for this?) with the \gls{apc} technology itself. + +One major issue I'm seeing that I want to discuss here is that, according to my subjective impression, there is a deficiency in education. + +What is referred to as \gls{apc} within the scope of this work has it's origins + +The \gls{apc} technology that is openly available today, such as \gls{Docker}, + +\section{No proved methods to declare, reproduce, and trust the builds of \glspl{apci}} +% Statement of the Problem % Arising from the background statement is this statement of the exact gap in the knowledge discussed in previous paragraphs that reviewed the most current literature found. A gap in the knowledge is the entire reason for the study, so state it specifically and exactly. Use the words “gap in the knowledge.” The problem statement will contain a definition of the general need for the study, and the specific problem that will be addressed. \section{Purpose of the Study} +% Purpose of the Study %The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. \section{Significance of the Study} +% Significance of the Study % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. \section{Primary Research Questions} +% Primary Research Questions % The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. \section{Hypotheses} +% Hypotheses % A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. This should be possible with the help of a package manager that source-based packages, by specifying the container image content by referencing packages in a declarative manner. diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 2b93a18..df89da1 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -60,6 +60,20 @@ {\normalfont\normalsize\bfseries}} \makeatother +\newglossaryentry{OS}{ + name = Operating System, + description = { + TODO + }, +} + +\newglossaryentry{FOSS}{ + name = Free and Open-Source Software, + description = { + TODO + }, +} + \newglossaryentry{Linux}{ name = Linux, description = { @@ -79,27 +93,34 @@ \newglossaryentry{apc}{ name=Application Program Container, description={ - The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{apcr} + The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{apcr}. } } \newglossaryentry{apci}{ name=Application Program Container Image, description={ - An archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application + An archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application. } } \newglossaryentry{apcr}{ name=Application Program Container Runtime, description={ - An application program or a collection thereof that understands how to run the software inside an \gls{apci} + An application program (suite) that understands how to run the software inside an \gls{apci}. + } +} + +\newglossaryentry{LXC}{ + name=LXC, + description={ + TODO } } \newglossaryentry{Docker}{ name=Docker, description={ - is a an \gls{apc} platform, with an application program of the same name + A very popular \gls{apc} platform and application suite, providing functionality to build and deploy Docker specific \glspl{apci}. } } From 731d18c95cff0ff86f6875e8511dd528d4d069cf Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sun, 4 Sep 2016 13:35:20 +0200 Subject: [PATCH 049/126] gitignore: ginore .dot dir --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b2cd2fa..c7eeb4e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ src/docs/*.pdf *.glo *.ist *.xdy +.dot/* From 4d673f51a6c57c11c81ea4f00910b820b6cf5974 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 7 Sep 2016 17:00:49 +0200 Subject: [PATCH 050/126] shell: remove unneeded pandoc --- shell.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/shell.nix b/shell.nix index 0123e65..6ca593f 100644 --- a/shell.nix +++ b/shell.nix @@ -33,7 +33,6 @@ let in pkgs.stdenv.mkDerivation { name = "msc-thesis"; buildInputs = [ - pkgs.pandoc pkgs.xdotool (pkgs.vim_configurable.customize { name = "vim"; From 4dda73b75feb6c4850841a58b3d401533891d930 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 7 Sep 2016 17:01:11 +0200 Subject: [PATCH 051/126] gitignore: adapt to bibtex files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index c7eeb4e..80dded1 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,6 @@ src/docs/*.pdf *.ist *.xdy .dot/* +*.out +*.bbl +*.blg From cd8c39d119a463329be413380cd6aae5f05db6e1 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 7 Sep 2016 17:01:25 +0200 Subject: [PATCH 052/126] add bibliography --- src/docs/glossary.tex | 101 ++++++++++++++++++++++++++++++++++++++++++ src/docs/thesis.bib | 49 ++++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 src/docs/glossary.tex create mode 100644 src/docs/thesis.bib diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex new file mode 100644 index 0000000..56277db --- /dev/null +++ b/src/docs/glossary.tex @@ -0,0 +1,101 @@ +% // vim: set ft=tex: + +\newglossaryentry{OS}{ + name = Operating System, + description = { + TODO + }, +} + +\newglossaryentry{virtualization}{ + name = Virtualization, + description = { + TODO + }, +} + +\newglossaryentry{OSS}{ + name = Open-Source Software, + description = { + TODO + }, +} + +\newglossaryentry{osvirt}{ + name = Operating System-Level Virtualization, + description = { + TODO + }, +} + +\newglossaryentry{Linux}{ + name = Linux, + description = { + is a generic term referring to the family of Unix-like + computer operating systems that use the Linux kernel + }, + plural=Linuces +} +\newglossaryentry{computer}{ + name = Computer, + description = { + is a programmable machine that receives input, + stores and manipulates data, and provides + output in a useful format + } +} + +\newglossaryentry{app}{ + name=Application Program, + description={ + TODO + } +} + +\newglossaryentry{apc}{ + name=Application Program Container, + description={ + The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{apcr}. + } +} +\newglossaryentry{apci}{ + name=Application Program Container Image, + description={ + An archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application. + } +} + +\newglossaryentry{apcr}{ + name=Application Program Container Runtime, + description={ + An application program (suite) that understands how to run the software inside an \gls{apci}. + } +} + +\newglossaryentry{LXC}{ + name=LXC, + description={ + TODO + } +} + +\newglossaryentry{Docker}{ + name=Docker, + description={ + A very popular \gls{apc} platform and application suite, providing functionality to build and deploy Docker specific \glspl{apci}. + } +} + +\newglossaryentry{appcorg}{ + name=App Container Organisation, + description={ + Organisation for the App Container specification, including the schema and associated tooling. + } +} + +\newglossaryentry{appc}{ + name=App Container, + description={ + Specific variant of an \gls{apc} defined by the \gls{appcorg}. + } +} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib new file mode 100644 index 0000000..8cbe47d --- /dev/null +++ b/src/docs/thesis.bib @@ -0,0 +1,49 @@ +Automatically generated by Mendeley Desktop 1.16 +Any changes to this file will be lost if it is regenerated by Mendeley. + +BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop + +@inproceedings{Reshetova2014, +abstract = {The need for flexible, low-overhead virtualization is evident on many fronts ranging from high-density cloud servers to mobile devices. During the past decade OS-level virtualization has emerged as a new, efficient approach for virtualization, with implementations in multiple different Unix-based systems. Despite its popularity, there has been no systematic study of OS-level virtualization from the point of view of security. In this report, we conduct a comparative study of several OS-level virtualization systems, discuss their security and identify some gaps in current solutions.}, +archivePrefix = {arXiv}, +arxivId = {1407.4245}, +author = {Reshetova, Elena and Karhunen, Janne and Nyman, Thomas and Asokan, N}, +booktitle = {Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)}, +doi = {10.1007/978-3-319-11599-3_5}, +eprint = {1407.4245}, +file = {:home/steveej/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Reshetova et al. - 2014 - Security of OS-level virtualization technologies(2).pdf:pdf}, +isbn = {9783319115986}, +issn = {16113349}, +pages = {77--93}, +title = {{Security of OS-level virtualization technologies}}, +volume = {8788}, +year = {2014} +} +@article{Fink2014, +abstract = {Docker is a relatively new method of virtualization available natively for 64-bit Linux. Compared to more traditional virtualization techniques, Docker is lighter on system resources, offers a git-like system of commits and tags, and can be scaled from your laptop to the cloud.}, +author = {Fink, John}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/Docker - a Software as a Service, Operating System-Level Virtualization Framework.pdf:pdf}, +journal = {Code4Lib}, +number = {25}, +pages = {3--5}, +title = {{Docker: a Software as a Service, Operating System-Level Virtualization Framework}}, +url = {http://journal.code4lib.org/articles/9669}, +volume = {1}, +year = {2014} +} +@book{Utrecht2006, +abstract = {Software deployment is the set of activities related to getting$\backslash$r$\backslash$nsoftware components to work on the machines of end users. It includes$\backslash$r$\backslash$nactivities such as installation, upgrading, uninstallation, and so on.$\backslash$r$\backslash$nMany tools have been developed to support deployment, but they all$\backslash$r$\backslash$nhave serious limitations with respect to correctness. For instance,$\backslash$r$\backslash$nthe installation of a component can lead to the failure of previously$\backslash$r$\backslash$ninstalled components; a component might require other components that$\backslash$r$\backslash$nare not present; and it is generally difficult to undo deployment$\backslash$r$\backslash$nactions. The fundamental causes of these problems are a lack of$\backslash$r$\backslash$nisolation between components, the difficulty in identifying the$\backslash$r$\backslash$ndependencies between components, and incompatibilities between$\backslash$r$\backslash$nversions and variants of components.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThis thesis describes a better approach based on a purely functional$\backslash$r$\backslash$ndeployment model, implemented in a deployment system called Nix.$\backslash$r$\backslash$nComponents are stored in isolation from each other in a Nix store.$\backslash$r$\backslash$nEach component has a name that contains a cryptographic hash of all$\backslash$r$\backslash$ninputs that contributed to its build process, and the content of a$\backslash$r$\backslash$ncomponent never changes after it has been built. Hence the model is$\backslash$r$\backslash$npurely functional.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThis storage scheme provides several important advantages. First, it$\backslash$r$\backslash$nensures isolation between components: if two components differ in any$\backslash$r$\backslash$nway, they will be stored in different locations and will not overwrite$\backslash$r$\backslash$neach other. Second, it allows us to identify component dependencies.$\backslash$r$\backslash$nUndeclared build time dependencies are prevented due to the absence of$\backslash$r$\backslash$n"global" component directories used in other deployment systems.$\backslash$r$\backslash$nRuntime dependencies can be found by scanning for cryptographic hashes$\backslash$r$\backslash$nin the binary contents of components, a technique analogous to$\backslash$r$\backslash$nconservative garbage collection in programming language$\backslash$r$\backslash$nimplementation. Since dependency information is complete, complete$\backslash$r$\backslash$ndeployment can be performed by copying closures of components under$\backslash$r$\backslash$nthe dependency relation.$\backslash$r$\backslash$n $\backslash$r$\backslash$nDevelopers and users are not confronted with components' cryptographic$\backslash$r$\backslash$nhashes directly. Components are built automatically from Nix$\backslash$r$\backslash$nexpressions, which describe how to build and compose arbitrary$\backslash$r$\backslash$nsoftware components; hashes are computed as part of this process.$\backslash$r$\backslash$nComponents are automatically made available to users through "user$\backslash$r$\backslash$nenvironments", which are synthesised sets of activated components.$\backslash$r$\backslash$nUser environments enable atomic upgrades and rollbacks, as well as$\backslash$r$\backslash$ndifferent sets of activated components for different users.$\backslash$r$\backslash$n $\backslash$r$\backslash$nNix expressions provide a source-based deployment model. However,$\backslash$r$\backslash$nsource-based deployment can be transparently optimised into binary$\backslash$r$\backslash$ndeployment by making pre-built binaries (keyed on their cryptographic$\backslash$r$\backslash$nhashes) available in a shared location such as a network server. This$\backslash$r$\backslash$nis referred to as transparent source/binary deployment.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThe purely functional deployment model has been validated by applying$\backslash$r$\backslash$nit to the deployment of more than 278 existing Unix packages. In$\backslash$r$\backslash$naddition, this thesis shows that the model can be applied naturally to$\backslash$r$\backslash$nthe related activities of continuous integration using build farms,$\backslash$r$\backslash$nservice deployment and build management.}, +author = {Utrecht, Universiteit and Magnificus, Rector}, +booktitle = {Utrecht University}, +doi = {10.1007/s12630-009-9179-6}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/nix-phd-thesis.pdf:pdf}, +isbn = {9039341303}, +issn = {14968975}, +number = {12}, +pages = {0--281}, +pmid = {19728000}, +title = {{The Purely Functional Software Deployment Model}}, +url = {http://www.st.ewi.tudelft.nl/{~}dolstra/pubs/phd-thesis.pdf}, +volume = {56}, +year = {2006} +} From ffee4964e2aa0dad34efd5b7adeaec979098059a Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 7 Sep 2016 17:04:23 +0200 Subject: [PATCH 053/126] thesis: fix format --- src/docs/parts/research/research.tex | 10 ++--- src/docs/thesis.tex | 57 ++++++++++++++++++++++------ src/docs/title.tex | 30 +++++++-------- 3 files changed, 64 insertions(+), 33 deletions(-) diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index d5e747f..b902969 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -29,14 +29,14 @@ \end{description} \section{Spack} -Spack (https://github.com/LLNL/spack) is a package manager written in Python. +Spack (\url{https://github.com/LLNL/spack}) is a package manager written in Python. \begin{description} \item [Automatic Updates of Sources] { - } + } \item [Closure] { - http://software.llnl.gov/spack/basic\_usage.html\#filesystem-views Yeah - } + Explained on the website \url{http://software.llnl.gov/spack/basic_usage.html\#filesystem-views} + } \end{description} \chapter{Languages Used For Packaging} @@ -45,4 +45,4 @@ Spack (https://github.com/LLNL/spack) is a package manager written in Python. Guile implements Scheme and extends it with new features. -UX:https://logicgrimoire.wordpress.com/2012/08/25/a-first-guile-script/ +UX: \url{https://logicgrimoire.wordpress.com/2012/08/25/a-first-guile-script} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index df89da1..978bffa 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -1,15 +1,18 @@ -\documentclass[11pt,a4paper]{report} +\documentclass[12pt,a4paper]{report} \usepackage[utf8]{inputenc} -\usepackage{titlesec,blindtext, color} % titleformat -\usepackage{fancyhdr} +\usepackage{titlesec} % titleformat +\usepackage{blindtext,color,fancyhdr} \usepackage{geometry} \geometry{a4paper, top=25mm, left=30mm, right=35mm, bottom=35mm, headsep=10mm, footskip=12mm} \usepackage{multirow,tabularx,tabu} +\usepackage[hyphens]{url} +\Urlmuskip = 0mu plus 1mu + \usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} \makenoidxglossaries @@ -37,17 +40,47 @@ \author{authorOne} -\fancypagestyle{plain}{% - \fancyhead[L]{\small \authorOneInit} - \fancyhead[R]{} - \fancyhead[C]{} - - \fancyfoot[R]{\thepage{}} - \fancyfoot[C]{} +\usepackage{etoolbox} +\patchcmd{\part}{\thispagestyle{plain}}{\thispagestyle{empty}} + {}{\errmessage{Cannot patch \string\part}} + +\fancypagestyle{empty}{% + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \fancyhf{} } -\newcommand{\hsp}{\hspace{20pt}} -\titleformat{\chapter}[hang]{\vspace{-2cm}\Huge\bfseries}{\thechapter\hsp}{0cm}{} +\fancypagestyle{front}{% + \pagenumbering{roman} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \fancyhf{} +} + +\fancypagestyle{preamble}{% + \pagenumbering{roman} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \fancyhf{} + \fancyfoot[R]{\thepage{}} +} + +\fancypagestyle{main}{% + \pagenumbering{arabic} + \renewcommand{\headrulewidth}{0.25pt} + \renewcommand{\footrulewidth}{0.25pt} + \fancyhf{} + \addtolength{\headwidth}{\marginparsep} + \headheight=15pt + \fancyhead[L]{\footnotesize\nouppercase{\leftmark}} + \fancyhead[C]{} + \fancyhead[R]{} + \fancyfoot[R]{\thepage{}} +} + +%\titlespacing*{\chapter}{0pt}{0pt}{0pt} +%\titleformat{\chapter}[hang]{\normalfont\Large\bfseries}{\thechapter}{10pt}{} + \makeatletter \renewcommand\paragraph{\startsection{paragraph}{4}{\z}% diff --git a/src/docs/title.tex b/src/docs/title.tex index d0a37a0..979a79c 100644 --- a/src/docs/title.tex +++ b/src/docs/title.tex @@ -1,6 +1,6 @@ -\thispagestyle{empty} -{\setlength{\parskip}{0.5cm} - \begin{center} +{ + \setlength{\parskip}{0.5cm} + \begin{center} \textbf{\huge Master's Thesis} \textbf{for achieving the academic degree} @@ -13,20 +13,18 @@ \textsf{\Large Faculty For Information Technology}\\ Studies \studies - \end{center} + \end{center} } \begin{center} - -\vspace*{2cm} - -\begin{tabular}{p{3cm}p{10cm}} -Topic: & \textbf{\large \topic} \\[15ex] -Applicant: & \authorOne, \authorOnestreet, \authorOnezip$ $ \authorOnecity, \authorOneCountry \\ -& Student Identification Number: \authorOneId\\[15ex] -1st Supervisor: & \supervisorOne\\ -2nd Supervisor: & \supervisorTwo\\[25ex] -Start Date: & \startdate\\ -Submit Date: & \submitdate\\ -\end{tabular} + \vspace*{2cm} + \begin{tabular}{p{3cm}p{10cm}} + Topic: & \textbf{\large \topic} \\[10ex] + Applicant: & \authorOne, \authorOnestreet, \authorOnezip$ $ \authorOnecity, \authorOneCountry \\ + & Student Identification Number: \authorOneId\\[10ex] + 1st Supervisor: & \supervisorOne\\ + 2nd Supervisor: & \supervisorTwo\\[10ex] + Start Date: & \startdate\\ + Submit Date: & \submitdate\\ + \end{tabular} \end{center} From 4d7f29a7832fedc39dbee1cac45fecbfaef24d7e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 7 Sep 2016 17:05:24 +0200 Subject: [PATCH 054/126] thesis: enable bibliography --- src/docs/thesis.tex | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 978bffa..4320069 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -10,6 +10,9 @@ \usepackage{multirow,tabularx,tabu} +\usepackage{cite} +\bibliographystyle{plain} + \usepackage[hyphens]{url} \Urlmuskip = 0mu plus 1mu @@ -204,6 +207,6 @@ \listoftables %TODO \lstlistoflistings \listoffigures - %TODO \printbibliography + \bibliography{thesis} \end{document} From af08b820883bbd5ba1d0ee2f0c7e715bc68a705b Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 7 Sep 2016 17:05:54 +0200 Subject: [PATCH 055/126] thesis: add content to and rename part introduction -> context --- src/docs/parts/introduction/introduction.tex | 61 ++++++++--- src/docs/parts/research/research.tex | 3 + src/docs/thesis.tex | 108 ++++--------------- 3 files changed, 71 insertions(+), 101 deletions(-) diff --git a/src/docs/parts/introduction/introduction.tex b/src/docs/parts/introduction/introduction.tex index 818497e..cf531ff 100644 --- a/src/docs/parts/introduction/introduction.tex +++ b/src/docs/parts/introduction/introduction.tex @@ -6,33 +6,66 @@ % Use plenty of transitional words and sentences from one section to another, as well as subheadings, which allow the reader to follow the writer’s train of thought. Following is an outline of the content of the empirical argument of Chapter 1. Universities often arrange the content in a different order, but the subject matter is the same in all dissertations because it is an empirical “opening statement” as might be found in a court of law. (Note that a dissertation could also be five pages of text and 50 pages of pictures of dragonfly wings and qualify for a Doctor’s degree in entomology.) %State the general field of interest in one or two paragraphs, and end with a sentence that states what study will accomplish. Do not keep the reader waiting to find out the precise subject of the dissertation. -This thesis is about building and packaging software applications specifically with the intention to distribute them in form of \glspl{apci} on systems running a \gls{Linux} based \gls{OS}. -The primary concern is to find a viable method for declaring and assembling \glspl{apci} deterministically and ideally being able to reproducible these builds on different computers and different points in time. +This thesis is about building and packaging \glspl{app} specifically with the intention to distribute them in form of \glspl{apci} on systems running a \gls{Linux} based \gls{OS}. + +The term \gls{apc} is nuanced from \gls{appc} defined by the \gls{appcorg}. +The \gls{appcorg} is a community driven effort to create an open, standardized specification for developers and users of \gls{apc} technology. +Such independent standards are required to form interoperability between \gls{apc} implementations of independent parties. +Some of these implementations will be subject to more detailed examination in Part \ref{part:research}. + +The term \gls{apc} want to explicitly not refer to the specifications that have been created within the \gls{appcorg}. + +The primary concern is to find a viable method for declaring and assembling \glspl{apci} deterministically. +As a highly anticipated option, the solution should also be able to reproducible these builds on different computers and different points in time and yield the exact same results. The secondary concern is to abstract enough of the method's complexity in order to make it attractive for application developers while still allowing them to specify the exact contents alongside their software within the resulting \gls{apci}. The choice for this topic was made due to my personal dissatisfaction with currently available methods for building \glspl{apci}, and seeing both the need and the potential of a scientifically substantiated approach. -This chapter will cover the knowledge that is necessary to understand the problem and the development of technology and mindsets of technology users, leading to the current situation. +\section{Problems (attempted) to be solved with \glspl{apc}} +The technology that is currently available to form \glspl{apc} reuses different patterns and techniques to solve a combination of different problems all at once. +These problems are all related to software deployment and system operation and can be represented by the following questions. +Only a subset of these problems and attempted solutions will be subject to research for this thesis. +This chapter covers the knowledge that is necessary to understand the problem, starting with the development of the specific technology and the challenges and mindsets of its developers and users. +\begin{enumerate} + \item How do we maximize the utilization of our hardware systems without compromising security? + \item How do we guarantee that the application works on every target machine the same as on the developer machine? + \item How do we build multiple variants and/or versions of an application, install and run them simultaneously on the same target machine without exhibiting conflicts? + \item How do we verify that an application runs on the target system has not been altered maliciously at one point in the deployment chain? +\end{enumerate} +The first question is about isolating system resources and fine-grained resource control, which is not in the research scope of this thesis. +It is yet briefly explained under the section \ref{sect:apc-osvirt}, to form a complete view on the scope of \glspl{apc}. -\section{The Advent of \glspl{apc}} +The other questions are in the research scope of this thesis, while the concern of the last question is declared optional. +They are very important to the ideology of \glspl{apc}, and they have their origin in the conventional methods of software deployment. +Therefore they are examined further in section \ref{sect:sd-challenges} later in this chapter. + +\section{\glspl{apc}: A facet of \gls{osvirt}} +\label{sect:apc-osvirt} % Background of the Problem % This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. -% TODO: refer and limit scope to the FOSS/Linux, maybe Jails? Explain why not closed-source kernels (community, collaboration) +based on \gls{osvirt}\cite{Reshetova2014}, which has been available on \gls{Linux} and under continuous development for many years. % TODO: explain generically what APC is and compare to Hypervisors -% TODO: explain performance and resource allocation overhead/flexibility +% TODO: explain difference to hypervisors: effort, performance and resource allocation flexibility % TODO: refer to Linux Namespaces and Cgroups -\gls{Docker}, since with its release in 2013 (TODO reference), has brought \glspl{apc} to the attention and hands of the masses in the \gls{FOSS} community. -From a psychological standpoint this is not surprising, as it has abstracted most of complexities of the technology, and has added ease of deployment with a platform for hosting the \gls{apci} in a Docker specific format, as well as a very convenient tool for building the like. +\section{The Challenges Of Software Development Deployment} +\label{sect:sd-challenges} +Software is typically developed on a workstation or laptop, brought to a format that is understood by the target machine to which it must be is transfered, and where it is configured and finally executed to serve its purpose. +In order to be executable on the target machine, the software needs to be translated into the target-platform specific format before it can be executed on to the target system. +If the software is updated, the cycle has to be repeated. +This introduces a very generic challenge: software updates, or deployments in general, are not supposed to be negatively influenced by any previous version or state that exists on the target machine. + +Describing the process with technical terms, software developers write software source code, which is then translated to binary files in specific machine language dependent on the target platform with the help of a compiler toolchain. +These binary files are made available as software packages that can be installed in the target machines operating system, typically with the help of a software package manager which itself is a software that is included in most modern operating systems. +The location where the files of the package are installed on the target machine depends on how it is configured at packaging time, but in most popular software package approaches this location is agnostic of software application version changes. +Another challenge is to be able to verify that software hasn't been altered to differ from its intentional behavior at any point of the deployment process. + +\subsection{Docker: The Advent of \gls{apc}} +Even though the underlying technology had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{apc} to the attention and hands of the masses in the \gls{OSS} community. +From a psychological standpoint this is not surprising, as it has abstracted most of complexities of the technology, adding ease of deployment, a platform for hosting the \gls{apci} in a Docker specific format, as well as a very convenient way for building the like using Dockerfiles(TODO reference). Its popularity has come to a point where the term \textit{Docker} is being used interchangeably (TODO: do I need references for this?) with the \gls{apc} technology itself. -One major issue I'm seeing that I want to discuss here is that, according to my subjective impression, there is a deficiency in education. - -What is referred to as \gls{apc} within the scope of this work has it's origins - -The \gls{apc} technology that is openly available today, such as \gls{Docker}, - \section{No proved methods to declare, reproduce, and trust the builds of \glspl{apci}} % Statement of the Problem % Arising from the background statement is this statement of the exact gap in the knowledge discussed in previous paragraphs that reviewed the most current literature found. A gap in the knowledge is the entire reason for the study, so state it specifically and exactly. Use the words “gap in the knowledge.” The problem statement will contain a definition of the general need for the study, and the specific problem that will be addressed. diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index b902969..5709f5d 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -44,5 +44,8 @@ Spack (\url{https://github.com/LLNL/spack}) is a package manager written in Pyth \section{Guile Scheme} Guile implements Scheme and extends it with new features. +\chapter{Abstraction of \gls{apcr} and \gls{apci}} +\label{chap:research-abstract-acpr-apci} + UX: \url{https://logicgrimoire.wordpress.com/2012/08/25/a-first-guile-script} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 4320069..240eef3 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -95,108 +95,42 @@ {0.0001pt \plus 0.2ex}% {\normalfont\normalsize\bfseries}} \makeatother +\include{glossary} -\newglossaryentry{OS}{ - name = Operating System, - description = { - TODO - }, -} - -\newglossaryentry{FOSS}{ - name = Free and Open-Source Software, - description = { - TODO - }, -} - -\newglossaryentry{Linux}{ - name = Linux, - description = { - is a generic term referring to the family of Unix-like - computer operating systems that use the Linux kernel - }, - plural=Linuces -} -\newglossaryentry{computer}{ - name = Computer, - description = { - is a programmable machine that receives input, - stores and manipulates data, and provides - output in a useful format - } -} -\newglossaryentry{apc}{ - name=Application Program Container, - description={ - The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{apcr}. - } -} -\newglossaryentry{apci}{ - name=Application Program Container Image, - description={ - An archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application. - } -} - -\newglossaryentry{apcr}{ - name=Application Program Container Runtime, - description={ - An application program (suite) that understands how to run the software inside an \gls{apci}. - } -} - -\newglossaryentry{LXC}{ - name=LXC, - description={ - TODO - } -} - -\newglossaryentry{Docker}{ - name=Docker, - description={ - A very popular \gls{apc} platform and application suite, providing functionality to build and deploy Docker specific \glspl{apci}. - } -} - -\overfullrule=2cm +\overfullrule=1cm \begin{document} -\pagenumbering{roman} - \pagestyle{plain} - %TODO: \include{cover} - \include{title} - \include{abstract} - %TODO: \include{affidavit} - \cleardoublepage + %TODO: \include{cover} +\pagestyle{front} + \include{title} + +\pagestyle{preamble} + \include{abstract} + %TODO: \include{affidavit} + \cleardoublepage \newcounter{roman_pagenumbers} % save page number \setcounter{roman_pagenumbers}{\value{page}} -\pagenumbering{arabic} - \pagestyle{fancy} - \fancyhf{} - \addtolength{\headwidth}{\marginparsep} - \headheight=15pt - \fancyfoot[R]{\thepage{}} - \fancyhead[L]{\small \authorOneInit} - \fancyhead[R]{\nouppercase{\rightmark}} - -\pagenumbering{arabic} - \pagestyle{fancy} +\pagestyle{main} %TODO \include{acknowledgments} + \chapter*{Preface} + This thesis is original, unpublished, independent work by the author, \authorOne. + I strongly believe in openness and collaboration in the development of new technology, therefore the development will be based solely on Open-Source software. + The results of this project will be freely available on my personal GitHub site\footnote{https://github.com/steveeJ/msc-thesis} once the academic process of this project is complete. + + \tableofcontents - \chapter{Preface} - This dissertation is original, unpublished, independent work by the author, \authorOne. - - \part{Introduction} + \part{Context} + \printnoidxglossary + \include{parts/introduction/introduction} \part{Research} + \label{part:research} \include{parts/research/research} \part{Development} From 8ba9de86fc386653fbd6389966654e74003f4967 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 12 Sep 2016 15:44:11 +0200 Subject: [PATCH 056/126] thesis: part introduction is now context Try to be less specific in the beginning of the context part. --- src/docs/glossary.tex | 40 ++++++--- .../introduction.tex => context/context.tex} | 86 ++++++++++++------- src/docs/parts/research/research.tex | 4 +- src/docs/thesis.tex | 14 +-- 4 files changed, 92 insertions(+), 52 deletions(-) rename src/docs/parts/{introduction/introduction.tex => context/context.tex} (74%) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 56277db..5025720 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -46,29 +46,33 @@ } \newglossaryentry{app}{ - name=Application Program, + name=Software Application, description={ TODO } } -\newglossaryentry{apc}{ - name=Application Program Container, +\newglossaryentry{sac}{ + name=Software Application Container, description={ - The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{apcr}. + The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{sacr}. + The term is nuanced from \gls{appc} defined by the \gls{appcorg}. + The \gls{appcorg} is a community driven effort to create an open, standardized specification for developers and users of \gls{sac} technology. + Such independent standards are required to form interoperability between \gls{sac} implementations made by independent parties. + Some implementations will be subject to more detailed examination in Part \ref{part:research}. } } -\newglossaryentry{apci}{ - name=Application Program Container Image, +\newglossaryentry{saci}{ + name=Software Application Container Image, description={ An archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application. } } -\newglossaryentry{apcr}{ - name=Application Program Container Runtime, +\newglossaryentry{sacr}{ + name=Software Application Container Runtime, description={ - An application program (suite) that understands how to run the software inside an \gls{apci}. + An application program (suite) that understands how to run the software inside an \gls{saci}. } } @@ -82,7 +86,21 @@ \newglossaryentry{Docker}{ name=Docker, description={ - A very popular \gls{apc} platform and application suite, providing functionality to build and deploy Docker specific \glspl{apci}. + A very popular \gls{sac} platform and application suite, providing functionality to build and deploy Docker specific \glspl{saci}. + } +} + +\newglossaryentry{systemd-nspawn}{ + name=systemd-nspawn, + description={ + TODO + } +} + +\newglossaryentry{rkt}{ + name=rkt, + description={ + TODO } } @@ -96,6 +114,6 @@ \newglossaryentry{appc}{ name=App Container, description={ - Specific variant of an \gls{apc} defined by the \gls{appcorg}. + Specific variant of an \gls{sac} defined by the \gls{appcorg}. } } diff --git a/src/docs/parts/introduction/introduction.tex b/src/docs/parts/context/context.tex similarity index 74% rename from src/docs/parts/introduction/introduction.tex rename to src/docs/parts/context/context.tex index cf531ff..c182da8 100644 --- a/src/docs/parts/introduction/introduction.tex +++ b/src/docs/parts/context/context.tex @@ -6,26 +6,19 @@ % Use plenty of transitional words and sentences from one section to another, as well as subheadings, which allow the reader to follow the writer’s train of thought. Following is an outline of the content of the empirical argument of Chapter 1. Universities often arrange the content in a different order, but the subject matter is the same in all dissertations because it is an empirical “opening statement” as might be found in a court of law. (Note that a dissertation could also be five pages of text and 50 pages of pictures of dragonfly wings and qualify for a Doctor’s degree in entomology.) %State the general field of interest in one or two paragraphs, and end with a sentence that states what study will accomplish. Do not keep the reader waiting to find out the precise subject of the dissertation. -This thesis is about building and packaging \glspl{app} specifically with the intention to distribute them in form of \glspl{apci} on systems running a \gls{Linux} based \gls{OS}. +This thesis is a scientific attempt to analyze and solve the practical problems of packaging and deploying \glspl{app} in the context of \gls{sac} technology. +For a lack of an official definition and common understanding what this technology is, the term \gls{sac} is defined in this chapter as a reference for the rest of the thesis. -The term \gls{apc} is nuanced from \gls{appc} defined by the \gls{appcorg}. -The \gls{appcorg} is a community driven effort to create an open, standardized specification for developers and users of \gls{apc} technology. -Such independent standards are required to form interoperability between \gls{apc} implementations of independent parties. -Some of these implementations will be subject to more detailed examination in Part \ref{part:research}. +The two main drivers for this technology have been long standing problems in information technology: optimal utilization of hardware, and simplification of software deployment to said hardware. +Because this is a problem in the operation of computers, it is expected that the problem is attempted to be solved on an \gls{OS} level or slightly above. +The following sections explain the ideologies and also gives a detailed insight to \gls{OS}-specific \gls{sac} technology, focusing on the \gls{Linux} \gls{OS}. -The term \gls{apc} want to explicitly not refer to the specifications that have been created within the \gls{appcorg}. +This is necessary to understand the problem description, given at the end of the chapter. -The primary concern is to find a viable method for declaring and assembling \glspl{apci} deterministically. -As a highly anticipated option, the solution should also be able to reproducible these builds on different computers and different points in time and yield the exact same results. -The secondary concern is to abstract enough of the method's complexity in order to make it attractive for application developers while still allowing them to specify the exact contents alongside their software within the resulting \gls{apci}. - -The choice for this topic was made due to my personal dissatisfaction with currently available methods for building \glspl{apci}, and seeing both the need and the potential of a scientifically substantiated approach. - -\section{Problems (attempted) to be solved with \glspl{apc}} -The technology that is currently available to form \glspl{apc} reuses different patterns and techniques to solve a combination of different problems all at once. +\section{\glspl{sac}} +The technology that is currently available to form \glspl{sac} reuses different patterns and techniques to solve a combination of different problems all at once. These problems are all related to software deployment and system operation and can be represented by the following questions. Only a subset of these problems and attempted solutions will be subject to research for this thesis. -This chapter covers the knowledge that is necessary to understand the problem, starting with the development of the specific technology and the challenges and mindsets of its developers and users. \begin{enumerate} \item How do we maximize the utilization of our hardware systems without compromising security? \item How do we guarantee that the application works on every target machine the same as on the developer machine? @@ -33,14 +26,14 @@ This chapter covers the knowledge that is necessary to understand the problem, s \item How do we verify that an application runs on the target system has not been altered maliciously at one point in the deployment chain? \end{enumerate} The first question is about isolating system resources and fine-grained resource control, which is not in the research scope of this thesis. -It is yet briefly explained under the section \ref{sect:apc-osvirt}, to form a complete view on the scope of \glspl{apc}. +It is nonetheless briefly explained under the section \ref{sect:sac-osvirt}, to form a complete view on the scope of \glspl{sac}. The other questions are in the research scope of this thesis, while the concern of the last question is declared optional. -They are very important to the ideology of \glspl{apc}, and they have their origin in the conventional methods of software deployment. +They are very important to the ideology of \glspl{sac}, and they have their origin in the conventional methods of software deployment. Therefore they are examined further in section \ref{sect:sd-challenges} later in this chapter. -\section{\glspl{apc}: A facet of \gls{osvirt}} -\label{sect:apc-osvirt} +\section{A facet of \gls{osvirt}} +\label{sect:sac-osvirt} % Background of the Problem % This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. @@ -49,27 +42,54 @@ based on \gls{osvirt}\cite{Reshetova2014}, which has been available on \gls{Linu % TODO: explain difference to hypervisors: effort, performance and resource allocation flexibility % TODO: refer to Linux Namespaces and Cgroups -\section{The Challenges Of Software Development Deployment} +\section{Challenges of Software Development \& Deployment} \label{sect:sd-challenges} Software is typically developed on a workstation or laptop, brought to a format that is understood by the target machine to which it must be is transfered, and where it is configured and finally executed to serve its purpose. -In order to be executable on the target machine, the software needs to be translated into the target-platform specific format before it can be executed on to the target system. -If the software is updated, the cycle has to be repeated. -This introduces a very generic challenge: software updates, or deployments in general, are not supposed to be negatively influenced by any previous version or state that exists on the target machine. -Describing the process with technical terms, software developers write software source code, which is then translated to binary files in specific machine language dependent on the target platform with the help of a compiler toolchain. -These binary files are made available as software packages that can be installed in the target machines operating system, typically with the help of a software package manager which itself is a software that is included in most modern operating systems. +In order to be executable on the target machine, the software needs to be translated into the target-platform specific format before it can be executed on to the target system. +If the software is changed and updated, the cycle has to be repeated. +This represents a first challenge: software updates, or deployments in general, are not supposed to be negatively influenced by any previous version or state that exists on the target machine. +On the technical, this process starts with software developers who write software source code. +This code is then transformed and stored in executable binary files that contain specific platform-dependent machine-code with. +The translation is done by processing the source code with a compiler toolchain. +The binary files are then made available as software packages that can be downloaded and installed on the target machines operating system. +Typically and ideally, this is done with the help of a software package manager, which itself is a software that is included in most modern operating systems. The location where the files of the package are installed on the target machine depends on how it is configured at packaging time, but in most popular software package approaches this location is agnostic of software application version changes. + Another challenge is to be able to verify that software hasn't been altered to differ from its intentional behavior at any point of the deployment process. -\subsection{Docker: The Advent of \gls{apc}} -Even though the underlying technology had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{apc} to the attention and hands of the masses in the \gls{OSS} community. -From a psychological standpoint this is not surprising, as it has abstracted most of complexities of the technology, adding ease of deployment, a platform for hosting the \gls{apci} in a Docker specific format, as well as a very convenient way for building the like using Dockerfiles(TODO reference). -Its popularity has come to a point where the term \textit{Docker} is being used interchangeably (TODO: do I need references for this?) with the \gls{apc} technology itself. +\section{State of the Art in \gls{osvirt}} +To analyze the current state of the art, different implementations of this technology. +The first part of this section analyzes the \gls{sacr} aspects of the implementations, while the second part demonstrates currently popular approaches to assemble \glspl{saci}. -\section{No proved methods to declare, reproduce, and trust the builds of \glspl{apci}} +\subsection{\glspl{sacr}} +\label{ctx:sd-challenges-sor-sacr} +The most popular \gls{osvirt} applications that are available on \gls{Linux} today include, \gls{LXC}, \gls{systemd-nspawn}, \gls{Docker}, and \gls{rkt}. +%TODO: why LXC, Docker, rkt +In this part, they are briefly compared with a highlight on architectural differences and intentional use-cases. + +\subsubsection{Docker: The Advent of \gls{sac}} +Even though the underlying technology \gls{osvirt} had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{sac} to the attention and hands of the masses in the \gls{OSS} community. +From a psychological standpoint this is not surprising, as it has abstracted most of complexities of the technology, adding ease of deployment, a platform for hosting the \gls{saci} in a Docker specific format, as well as a very convenient way for building the like using Dockerfiles(TODO reference). +Its popularity has come to a point where the term \textit{Docker} is being used interchangeably with the \gls{sac} technology itself. +% TODO: references for this claim + +\subsection{No proved methods to declare, reproduce, and trust the builds of \glspl{saci}} % Statement of the Problem % Arising from the background statement is this statement of the exact gap in the knowledge discussed in previous paragraphs that reviewed the most current literature found. A gap in the knowledge is the entire reason for the study, so state it specifically and exactly. Use the words “gap in the knowledge.” The problem statement will contain a definition of the general need for the study, and the specific problem that will be addressed. +\chapter{Scope} +%TODO: explain scope of OSS systems running a \gls{Linux} based \gls{OS}. + +\section{Goals} +The primary concern is to find a viable method for declaring and assembling \glspl{saci} deterministically. +As a highly anticipated option, the solution should also be able to reproduce these builds on different computers and different points in time and yield the exact same results. +The secondary concern is to abstract enough of the solution's complexity in order to make it attractive for application developers while still allowing them to specify the exact contents alongside their software within the resulting \gls{saci}. + +\section{Motivation} +The choice for this topic was made due to my personal dissatisfaction with currently available methods for building \glspl{saci}, and seeing both the need and the potential of a scientifically substantiated approach. + + \section{Purpose of the Study} % Purpose of the Study %The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. @@ -85,8 +105,10 @@ Its popularity has come to a point where the term \textit{Docker} is being used \section{Hypotheses} % Hypotheses % A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. - -This should be possible with the help of a package manager that source-based packages, by specifying the container image content by referencing packages in a declarative manner. +The goals described above should be possible to achieve with the help of a package manager that source-based packages, by specifying the container image content by referencing packages in a declarative manner. +%TODO why a package manager? +%TODO why source-based? +%TODO why is declarative? \section{Research Design} % In Chapter 1 this is a summary of the methodology and contains a brief outline of three things: (a) the participants in a qualitative study or the subjects of a quantitative study (human participants are referred tyo as participants, non-human subjects are referred to as subjects), (b) the instrumentation used to collect data, and (c) the procedure that will be followed. All of these elements will be reported in detail in Chapter 3. In a quantitative study, the instrumentation will be validated in Chapter 3 in detail. In a qualitative study, if it is a researcher-created questionnaire, validating the correctness of the interview protocol is usually accomplished with a pilot study. For either a quantitative or a qualitative study, using an already validated survey instrument is easier to defend and does not require a pilot study; however, Chapter 3 must contain a careful review of the instrument and how it was validated by the creator. diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index 5709f5d..2f5c63f 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -44,8 +44,8 @@ Spack (\url{https://github.com/LLNL/spack}) is a package manager written in Pyth \section{Guile Scheme} Guile implements Scheme and extends it with new features. -\chapter{Abstraction of \gls{apcr} and \gls{apci}} -\label{chap:research-abstract-acpr-apci} +\chapter{Abstraction of \gls{sacr} and \gls{saci}} +\label{chap:research-abstract-acpr-saci} UX: \url{https://logicgrimoire.wordpress.com/2012/08/25/a-first-guile-script} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 240eef3..6b209ed 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -19,7 +19,7 @@ \usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} \makenoidxglossaries -\newcommand{\topic}{A Declarative And Reproducible Approach To Application Deployment Via Container Images} +\newcommand{\topic}{A Declarative And Reproducible Approach To The Creation Of Software-Application Container Images} \newcommand{\authorOne}{Stefan Junker} \newcommand{\authorOneInit}{SJ} @@ -29,10 +29,10 @@ \newcommand{\authorOneCountry}{Germany} \newcommand{\authorOneId}{283751} \newcommand{\supervisorOne}{Prof. Dr. Michael Mächtel} -\newcommand{\supervisorTwo}{TODO supervisor two} +\newcommand{\supervisorTwo}{Jürgen Keppler} \newcommand{\studies}{TODO studies} -\newcommand{\startdate}{TODO startdate} -\newcommand{\submitdate}{TODO submitdate} +\newcommand{\startdate}{2016/9/1} +\newcommand{\submitdate}{2017/2/28} \newcommand{\buzzwords}{TODO buzzwords} % Numbered Subsubsections @@ -81,8 +81,8 @@ \fancyfoot[R]{\thepage{}} } -%\titlespacing*{\chapter}{0pt}{0pt}{0pt} -%\titleformat{\chapter}[hang]{\normalfont\Large\bfseries}{\thechapter}{10pt}{} +\titlespacing*{\chapter}{0cm}{-1cm}{0.75cm} +\titleformat{\chapter}[hang]{\normalfont\Large\bfseries}{\thechapter}{0.5cm}{} \makeatletter @@ -127,7 +127,7 @@ \printnoidxglossary - \include{parts/introduction/introduction} + \include{parts/context/context} \part{Research} \label{part:research} From 0921e76175eee9cfb3cf6631034d28589ada18d1 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 14 Sep 2016 15:42:23 +0200 Subject: [PATCH 057/126] context: introduction to virtualiztion --- src/docs/glossary.tex | 22 +++++++++ src/docs/parts/context/context.tex | 79 ++++++++++++++++++++---------- 2 files changed, 74 insertions(+), 27 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 5025720..6e9a5b5 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -28,6 +28,20 @@ }, } +\newglossaryentry{hypervisor}{ + name = Hypervisor, + description = { + TODO + }, +} + +\newglossaryentry{VM}{ + name = Virtual Machine, + description = { + TODO + }, +} + \newglossaryentry{Linux}{ name = Linux, description = { @@ -36,6 +50,14 @@ }, plural=Linuces } + +\newglossaryentry{OBSD}{ + name = OpenBSD, + description = { + TODO + } +} + \newglossaryentry{computer}{ name = Computer, description = { diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index c182da8..b823748 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -20,28 +20,64 @@ The technology that is currently available to form \glspl{sac} reuses different These problems are all related to software deployment and system operation and can be represented by the following questions. Only a subset of these problems and attempted solutions will be subject to research for this thesis. \begin{enumerate} - \item How do we maximize the utilization of our hardware systems without compromising security? - \item How do we guarantee that the application works on every target machine the same as on the developer machine? - \item How do we build multiple variants and/or versions of an application, install and run them simultaneously on the same target machine without exhibiting conflicts? - \item How do we verify that an application runs on the target system has not been altered maliciously at one point in the deployment chain? +\item How do we maximize the utilization of our hardware systems without compromising security? + + This question is about isolating system resources and fine-grained resource control, which is not in the research scope of this thesis. + It is nonetheless briefly explained under the section \ref{sect:sac-osvirt}, to form a complete view on the scope of \glspl{sac} technology. + +\item How do we guarantee that the application works on every target machine the same as on the developer machine? +\item How do we build multiple variants and/or versions of an application, install and run them simultaneously on the same target machine without exhibiting conflicts? + +\item How do we verify that an application runs on the target system has not been altered maliciously at one point in the deployment chain? \end{enumerate} -The first question is about isolating system resources and fine-grained resource control, which is not in the research scope of this thesis. -It is nonetheless briefly explained under the section \ref{sect:sac-osvirt}, to form a complete view on the scope of \glspl{sac}. +Questions 2 - 4 are in the research scope of this thesis, while the concern of the last question is declared optional. +These questions are very important to the ideology of \glspl{sac}, and they have their origin in the conventional methods of software deployment. +More thorough examination of these question is done in section \ref{sect:sd-challenges} of this chapter. -The other questions are in the research scope of this thesis, while the concern of the last question is declared optional. -They are very important to the ideology of \glspl{sac}, and they have their origin in the conventional methods of software deployment. -Therefore they are examined further in section \ref{sect:sd-challenges} later in this chapter. - -\section{A facet of \gls{osvirt}} -\label{sect:sac-osvirt} +\subsection{Introduction to Virtualization} % Background of the Problem % This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. +Virtualization has been an important field, both in research and in the industry. +It has been subject to constant development, improvement, and adoption. +The basics of virtualization in computer sciences boil down to one simple principle. +It is the principle of modifying the view of the soft- and hardware resources for applications and systems. -based on \gls{osvirt}\cite{Reshetova2014}, which has been available on \gls{Linux} and under continuous development for many years. +\subsubsection{\glspl{VM}} +The modern techniques for virtualization can be grouped in two categories: \glspl{hypervisor} and \gls{osvirt}. +Hypervisor is synonymous with \gls{VM} Monitor, which is slightly more self-explanatory. +Virtual machines are monitored applications which are presented with a set of virtual hardware resources that might not even exist on the underlying hardware machine they are being executed on. +This principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer. + +The virtual machines require a full \gls{OS} to boot the virtual hardware and run services. +This \gls{OS} typically consists of a kernel and a set of files, or virtual-disk-drives containing a set of files, containing the operating and application software to be executed on the virtual machine. +The virtual machine boots the kernel which then executes the operating system, typical to a machine boot process. +It allows to run a different OS, within the virtual machine than what is running on the host machine. +Further it allows to create heterogeneous scenarios like running \gls{OBSD} virtual machine on \gls{Linux}, or vice versa. +The big downside is that this requires a full-fledged \gls{OS} to be installed and configured once upfront, and booted upon every execution. + +However, there are cases when solely the application running on top of the virtualized \gls{OS} is ideologically the subject to virtualization, and it is technically not necessary to have a separate \gls{OS} for every virtualized application. +This is one of the main scenarios for the use of \gls{osvirt} which is better suited, because it doesn't require a full-fledged \glspl{OS} to virtualize an application, as explained in the following section \ref{sect:sac-osvirt}. + +\subsubsection{\gls{osvirt}} +\label{sect:sac-osvirt} % TODO: explain generically what APC is and compare to Hypervisors -% TODO: explain difference to hypervisors: effort, performance and resource allocation flexibility +This technology has been under active development for about decade now\cite{Reshetova2014}, and is becoming more and more popular. +The popularity has exploded with one specific implementation named \gls{Docker}, which targets the \gls{Linux}-platform. +More about this historical and technological development is explained in its own section \ref{virt-advent-sac-docker}. + +The idea behind \gls{osvirt} is to virtualize applications on the \gls{OS} level instead of on the machine level. +On \gls{Linux}, features that implement this are a part of the kernel itself, providing features that allow a low-overhead isolation and resource-control for user-space processes, in short: virtualization. % TODO: refer to Linux Namespaces and Cgroups +\subsection{The Advent of \gls{sac}} +\label{virt-advent-sac} +Even though the underlying technology \gls{osvirt} had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{sac} to the attention and hands of the masses in the \gls{OSS} community. +From a psychological standpoint this is not surprising, as it has abstracted most of complexities of the technology, adding ease of deployment, a platform for hosting the \gls{saci} in a Docker specific format, as well as a very convenient way for building the like using Dockerfiles(TODO reference). +Its popularity has come to a point where the term \textit{Docker} is being used interchangeably with the \gls{sac} technology itself. +% TODO: references for this claim + +% TODO introduce \gls{LXC}, \gls{systemd-nspawn}, \gls{Docker}, and \gls{rkt}. + \section{Challenges of Software Development \& Deployment} \label{sect:sd-challenges} Software is typically developed on a workstation or laptop, brought to a format that is understood by the target machine to which it must be is transfered, and where it is configured and finally executed to serve its purpose. @@ -50,9 +86,9 @@ In order to be executable on the target machine, the software needs to be transl If the software is changed and updated, the cycle has to be repeated. This represents a first challenge: software updates, or deployments in general, are not supposed to be negatively influenced by any previous version or state that exists on the target machine. On the technical, this process starts with software developers who write software source code. -This code is then transformed and stored in executable binary files that contain specific platform-dependent machine-code with. +This code is then transformed and stored in executable binary files that contain specific platform-dependent machine-code with. The translation is done by processing the source code with a compiler toolchain. -The binary files are then made available as software packages that can be downloaded and installed on the target machines operating system. +The binary files are then made available as software packages that can be downloaded and installed on the target machines operating system. Typically and ideally, this is done with the help of a software package manager, which itself is a software that is included in most modern operating systems. The location where the files of the package are installed on the target machine depends on how it is configured at packaging time, but in most popular software package approaches this location is agnostic of software application version changes. @@ -62,17 +98,6 @@ Another challenge is to be able to verify that software hasn't been altered to d To analyze the current state of the art, different implementations of this technology. The first part of this section analyzes the \gls{sacr} aspects of the implementations, while the second part demonstrates currently popular approaches to assemble \glspl{saci}. -\subsection{\glspl{sacr}} -\label{ctx:sd-challenges-sor-sacr} -The most popular \gls{osvirt} applications that are available on \gls{Linux} today include, \gls{LXC}, \gls{systemd-nspawn}, \gls{Docker}, and \gls{rkt}. -%TODO: why LXC, Docker, rkt -In this part, they are briefly compared with a highlight on architectural differences and intentional use-cases. - -\subsubsection{Docker: The Advent of \gls{sac}} -Even though the underlying technology \gls{osvirt} had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{sac} to the attention and hands of the masses in the \gls{OSS} community. -From a psychological standpoint this is not surprising, as it has abstracted most of complexities of the technology, adding ease of deployment, a platform for hosting the \gls{saci} in a Docker specific format, as well as a very convenient way for building the like using Dockerfiles(TODO reference). -Its popularity has come to a point where the term \textit{Docker} is being used interchangeably with the \gls{sac} technology itself. -% TODO: references for this claim \subsection{No proved methods to declare, reproduce, and trust the builds of \glspl{saci}} % Statement of the Problem From 69e34462e879cd675ffd10a54471ef917d16c42c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 14 Sep 2016 17:40:33 +0200 Subject: [PATCH 058/126] context: fix reference to advent of sac --- src/docs/parts/context/context.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index b823748..f3d6cb4 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -63,7 +63,7 @@ This is one of the main scenarios for the use of \gls{osvirt} which is better su % TODO: explain generically what APC is and compare to Hypervisors This technology has been under active development for about decade now\cite{Reshetova2014}, and is becoming more and more popular. The popularity has exploded with one specific implementation named \gls{Docker}, which targets the \gls{Linux}-platform. -More about this historical and technological development is explained in its own section \ref{virt-advent-sac-docker}. +More about this historical and technological development is explained in its own section \ref{virt-advent-sac}. The idea behind \gls{osvirt} is to virtualize applications on the \gls{OS} level instead of on the machine level. On \gls{Linux}, features that implement this are a part of the kernel itself, providing features that allow a low-overhead isolation and resource-control for user-space processes, in short: virtualization. From 01ff4d9d9a7aaa00258bc114305810274b923201 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 15 Sep 2016 00:12:44 +0200 Subject: [PATCH 059/126] context: more on virtualization --- src/docs/parts/context/context.tex | 31 ++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index f3d6cb4..71e3cff 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -37,25 +37,25 @@ More thorough examination of these question is done in section \ref{sect:sd-chal \subsection{Introduction to Virtualization} % Background of the Problem % This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. -Virtualization has been an important field, both in research and in the industry. +Virtualization has for decades been an important field in computer sciences, both in research and in the industry. It has been subject to constant development, improvement, and adoption. -The basics of virtualization in computer sciences boil down to one simple principle. -It is the principle of modifying the view of the soft- and hardware resources for applications and systems. +The basics of virtualization boil down to one principle. +It is the principle of controlling and monitoring the availability and the access to soft- and hardware resources for users, their applications and whole virtualized systems running on top of existing systems. +Modern virtualization techniques can be grouped by two categories: \glspl{hypervisor} and \gls{osvirt}. -\subsubsection{\glspl{VM}} -The modern techniques for virtualization can be grouped in two categories: \glspl{hypervisor} and \gls{osvirt}. -Hypervisor is synonymous with \gls{VM} Monitor, which is slightly more self-explanatory. -Virtual machines are monitored applications which are presented with a set of virtual hardware resources that might not even exist on the underlying hardware machine they are being executed on. -This principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer. +\subsubsection{\glspl{hypervisor}} +A \gls{hypervisor}, synonymous to \gls{VM} Monitor, operates on a host machine and can control several \glspl{VM}. +The principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer. +\glspl{VM} are monitored programs which are presented with a set of virtual hardware resources that don't necessarily exist in the presented form on the underlying hardware machine they are being executed on. -The virtual machines require a full \gls{OS} to boot the virtual hardware and run services. +\glspl{VM} use a full \gls{OS} to boot the virtual hardware and run services. This \gls{OS} typically consists of a kernel and a set of files, or virtual-disk-drives containing a set of files, containing the operating and application software to be executed on the virtual machine. The virtual machine boots the kernel which then executes the operating system, typical to a machine boot process. It allows to run a different OS, within the virtual machine than what is running on the host machine. Further it allows to create heterogeneous scenarios like running \gls{OBSD} virtual machine on \gls{Linux}, or vice versa. -The big downside is that this requires a full-fledged \gls{OS} to be installed and configured once upfront, and booted upon every execution. +One significant overhead is that this requires a full-fledged \gls{OS} to be installed and configured once upfront, and virtually booted upon every execution. -However, there are cases when solely the application running on top of the virtualized \gls{OS} is ideologically the subject to virtualization, and it is technically not necessary to have a separate \gls{OS} for every virtualized application. +However, there are cases when solely the applications running on top of the virtualized \gls{OS} is the required subject to virtualization, and it is technically not necessary to have a separate virtualized \gls{OS} for every virtualized application. This is one of the main scenarios for the use of \gls{osvirt} which is better suited, because it doesn't require a full-fledged \glspl{OS} to virtualize an application, as explained in the following section \ref{sect:sac-osvirt}. \subsubsection{\gls{osvirt}} @@ -63,12 +63,15 @@ This is one of the main scenarios for the use of \gls{osvirt} which is better su % TODO: explain generically what APC is and compare to Hypervisors This technology has been under active development for about decade now\cite{Reshetova2014}, and is becoming more and more popular. The popularity has exploded with one specific implementation named \gls{Docker}, which targets the \gls{Linux}-platform. -More about this historical and technological development is explained in its own section \ref{virt-advent-sac}. +More about this historical and technological development is explained in section \ref{virt-advent-sac}. -The idea behind \gls{osvirt} is to virtualize applications on the \gls{OS} level instead of on the machine level. -On \gls{Linux}, features that implement this are a part of the kernel itself, providing features that allow a low-overhead isolation and resource-control for user-space processes, in short: virtualization. +\gls{osvirt} allows to virtualize applications on the \gls{OS} level instead of on the machine level. +Its features are implemented in the kernel of the \gls{OS}, providing a low-overhead isolation and resource-control for user-space processes, in short: virtualization. % TODO: refer to Linux Namespaces and Cgroups +\subsection{\gls{virtualization} Overview} +% TODO compare performance + \subsection{The Advent of \gls{sac}} \label{virt-advent-sac} Even though the underlying technology \gls{osvirt} had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{sac} to the attention and hands of the masses in the \gls{OSS} community. From 28f8d7720019cfa9a2561147da9b9cb9f35b00b3 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 15 Sep 2016 17:24:34 +0200 Subject: [PATCH 060/126] context: more on virtualization --- src/docs/parts/context/context.tex | 29 +++++++------ src/docs/thesis.bib | 67 +++++++++++++++++------------- 2 files changed, 54 insertions(+), 42 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 71e3cff..49ed710 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -6,7 +6,7 @@ % Use plenty of transitional words and sentences from one section to another, as well as subheadings, which allow the reader to follow the writer’s train of thought. Following is an outline of the content of the empirical argument of Chapter 1. Universities often arrange the content in a different order, but the subject matter is the same in all dissertations because it is an empirical “opening statement” as might be found in a court of law. (Note that a dissertation could also be five pages of text and 50 pages of pictures of dragonfly wings and qualify for a Doctor’s degree in entomology.) %State the general field of interest in one or two paragraphs, and end with a sentence that states what study will accomplish. Do not keep the reader waiting to find out the precise subject of the dissertation. -This thesis is a scientific attempt to analyze and solve the practical problems of packaging and deploying \glspl{app} in the context of \gls{sac} technology. +This thesis is a scientific approach to analyze and solve the practical problems of packaging and deploying \glspl{app} in the context of \gls{sac} technology. For a lack of an official definition and common understanding what this technology is, the term \gls{sac} is defined in this chapter as a reference for the rest of the thesis. The two main drivers for this technology have been long standing problems in information technology: optimal utilization of hardware, and simplification of software deployment to said hardware. @@ -37,25 +37,28 @@ More thorough examination of these question is done in section \ref{sect:sd-chal \subsection{Introduction to Virtualization} % Background of the Problem % This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. -Virtualization has for decades been an important field in computer sciences, both in research and in the industry. +Since the development of the first \gls{VM} \gls{OS} \cite[p.~217-218]{Sarton1975}, \gls{virtualization} has been an important field in computer sciences, both in research and in the industry. It has been subject to constant development, improvement, and adoption. The basics of virtualization boil down to one principle. -It is the principle of controlling and monitoring the availability and the access to soft- and hardware resources for users, their applications and whole virtualized systems running on top of existing systems. +It is the principle of controlling and monitoring the availability and the access to soft- and hardware resources for users, their applications and whole virtual systems running on top of existing systems. Modern virtualization techniques can be grouped by two categories: \glspl{hypervisor} and \gls{osvirt}. \subsubsection{\glspl{hypervisor}} -A \gls{hypervisor}, synonymous to \gls{VM} Monitor, operates on a host machine and can control several \glspl{VM}. +The modern term \gls{hypervisor} is synonymous to the more self-explanatory terms control program \cite[p. 217]{Sarton1975} and \gls{VM} monitor. +The \gls{hypervisor} operates on a host machine and can control multiple \glspl{VM}. The principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer. -\glspl{VM} are monitored programs which are presented with a set of virtual hardware resources that don't necessarily exist in the presented form on the underlying hardware machine they are being executed on. +\glspl{VM} are presented with a set of virtual hardware resources that don't necessarily exist in the presented form on the underlying hardware machine they are being executed on. -\glspl{VM} use a full \gls{OS} to boot the virtual hardware and run services. -This \gls{OS} typically consists of a kernel and a set of files, or virtual-disk-drives containing a set of files, containing the operating and application software to be executed on the virtual machine. -The virtual machine boots the kernel which then executes the operating system, typical to a machine boot process. -It allows to run a different OS, within the virtual machine than what is running on the host machine. -Further it allows to create heterogeneous scenarios like running \gls{OBSD} virtual machine on \gls{Linux}, or vice versa. -One significant overhead is that this requires a full-fledged \gls{OS} to be installed and configured once upfront, and virtually booted upon every execution. +In order to be able to boot the virtual hardware and run services, \glspl{VM} need a \gls{OS}. +Specific to the environment and features of the \gls{hypervisor}, there are different storage formats for the \gls{OS} files. +In general, these files consist of the \gls{OS} itself and installed applications files in order to run the desired services within the \gls{VM}. +Compared to running such a service on the host machine directly, one obvious overhead is that this requires a said \gls{OS} to be installed and configured once upfront, and virtually booted for every execution of the service. +In the case that several \gls{VM} run the same application, e.g. with different configuration files, each of them will have a separate copy of the \gls{OS} and the application files. +On the other hand, there are compatibility advantages, e.g. \glspl{VM} allow to run a different \glspl{OS} than the one running on the host machine. +This enables to create heterogeneous scenarios like running an \gls{OBSD} inside a virtual machine on a \gls{Linux} host, or vice versa. -However, there are cases when solely the applications running on top of the virtualized \gls{OS} is the required subject to virtualization, and it is technically not necessary to have a separate virtualized \gls{OS} for every virtualized application. +However, there are cases when solely the applications running on top of the virtualized \gls{OS} is the required subject to virtualization. +In these cases, it's technically not necessary to have a separate virtualized \gls{OS} just to virtualize these application, especially if they are compatible with the same type of \gls{OS}. This is one of the main scenarios for the use of \gls{osvirt} which is better suited, because it doesn't require a full-fledged \glspl{OS} to virtualize an application, as explained in the following section \ref{sect:sac-osvirt}. \subsubsection{\gls{osvirt}} @@ -65,7 +68,7 @@ This technology has been under active development for about decade now\cite{Resh The popularity has exploded with one specific implementation named \gls{Docker}, which targets the \gls{Linux}-platform. More about this historical and technological development is explained in section \ref{virt-advent-sac}. -\gls{osvirt} allows to virtualize applications on the \gls{OS} level instead of on the machine level. +\gls{osvirt} allows to virtualize applications on the \gls{OS} level instead of the machine level. Its features are implemented in the kernel of the \gls{OS}, providing a low-overhead isolation and resource-control for user-space processes, in short: virtualization. % TODO: refer to Linux Namespaces and Cgroups diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 8cbe47d..3894490 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -1,36 +1,8 @@ -Automatically generated by Mendeley Desktop 1.16 +Automatically generated by Mendeley Desktop 1.16.3 Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@inproceedings{Reshetova2014, -abstract = {The need for flexible, low-overhead virtualization is evident on many fronts ranging from high-density cloud servers to mobile devices. During the past decade OS-level virtualization has emerged as a new, efficient approach for virtualization, with implementations in multiple different Unix-based systems. Despite its popularity, there has been no systematic study of OS-level virtualization from the point of view of security. In this report, we conduct a comparative study of several OS-level virtualization systems, discuss their security and identify some gaps in current solutions.}, -archivePrefix = {arXiv}, -arxivId = {1407.4245}, -author = {Reshetova, Elena and Karhunen, Janne and Nyman, Thomas and Asokan, N}, -booktitle = {Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)}, -doi = {10.1007/978-3-319-11599-3_5}, -eprint = {1407.4245}, -file = {:home/steveej/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Reshetova et al. - 2014 - Security of OS-level virtualization technologies(2).pdf:pdf}, -isbn = {9783319115986}, -issn = {16113349}, -pages = {77--93}, -title = {{Security of OS-level virtualization technologies}}, -volume = {8788}, -year = {2014} -} -@article{Fink2014, -abstract = {Docker is a relatively new method of virtualization available natively for 64-bit Linux. Compared to more traditional virtualization techniques, Docker is lighter on system resources, offers a git-like system of commits and tags, and can be scaled from your laptop to the cloud.}, -author = {Fink, John}, -file = {:home/steveej/src/github/steveej/msc-thesis/papers/Docker - a Software as a Service, Operating System-Level Virtualization Framework.pdf:pdf}, -journal = {Code4Lib}, -number = {25}, -pages = {3--5}, -title = {{Docker: a Software as a Service, Operating System-Level Virtualization Framework}}, -url = {http://journal.code4lib.org/articles/9669}, -volume = {1}, -year = {2014} -} @book{Utrecht2006, abstract = {Software deployment is the set of activities related to getting$\backslash$r$\backslash$nsoftware components to work on the machines of end users. It includes$\backslash$r$\backslash$nactivities such as installation, upgrading, uninstallation, and so on.$\backslash$r$\backslash$nMany tools have been developed to support deployment, but they all$\backslash$r$\backslash$nhave serious limitations with respect to correctness. For instance,$\backslash$r$\backslash$nthe installation of a component can lead to the failure of previously$\backslash$r$\backslash$ninstalled components; a component might require other components that$\backslash$r$\backslash$nare not present; and it is generally difficult to undo deployment$\backslash$r$\backslash$nactions. The fundamental causes of these problems are a lack of$\backslash$r$\backslash$nisolation between components, the difficulty in identifying the$\backslash$r$\backslash$ndependencies between components, and incompatibilities between$\backslash$r$\backslash$nversions and variants of components.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThis thesis describes a better approach based on a purely functional$\backslash$r$\backslash$ndeployment model, implemented in a deployment system called Nix.$\backslash$r$\backslash$nComponents are stored in isolation from each other in a Nix store.$\backslash$r$\backslash$nEach component has a name that contains a cryptographic hash of all$\backslash$r$\backslash$ninputs that contributed to its build process, and the content of a$\backslash$r$\backslash$ncomponent never changes after it has been built. Hence the model is$\backslash$r$\backslash$npurely functional.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThis storage scheme provides several important advantages. First, it$\backslash$r$\backslash$nensures isolation between components: if two components differ in any$\backslash$r$\backslash$nway, they will be stored in different locations and will not overwrite$\backslash$r$\backslash$neach other. Second, it allows us to identify component dependencies.$\backslash$r$\backslash$nUndeclared build time dependencies are prevented due to the absence of$\backslash$r$\backslash$n"global" component directories used in other deployment systems.$\backslash$r$\backslash$nRuntime dependencies can be found by scanning for cryptographic hashes$\backslash$r$\backslash$nin the binary contents of components, a technique analogous to$\backslash$r$\backslash$nconservative garbage collection in programming language$\backslash$r$\backslash$nimplementation. Since dependency information is complete, complete$\backslash$r$\backslash$ndeployment can be performed by copying closures of components under$\backslash$r$\backslash$nthe dependency relation.$\backslash$r$\backslash$n $\backslash$r$\backslash$nDevelopers and users are not confronted with components' cryptographic$\backslash$r$\backslash$nhashes directly. Components are built automatically from Nix$\backslash$r$\backslash$nexpressions, which describe how to build and compose arbitrary$\backslash$r$\backslash$nsoftware components; hashes are computed as part of this process.$\backslash$r$\backslash$nComponents are automatically made available to users through "user$\backslash$r$\backslash$nenvironments", which are synthesised sets of activated components.$\backslash$r$\backslash$nUser environments enable atomic upgrades and rollbacks, as well as$\backslash$r$\backslash$ndifferent sets of activated components for different users.$\backslash$r$\backslash$n $\backslash$r$\backslash$nNix expressions provide a source-based deployment model. However,$\backslash$r$\backslash$nsource-based deployment can be transparently optimised into binary$\backslash$r$\backslash$ndeployment by making pre-built binaries (keyed on their cryptographic$\backslash$r$\backslash$nhashes) available in a shared location such as a network server. This$\backslash$r$\backslash$nis referred to as transparent source/binary deployment.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThe purely functional deployment model has been validated by applying$\backslash$r$\backslash$nit to the deployment of more than 278 existing Unix packages. In$\backslash$r$\backslash$naddition, this thesis shows that the model can be applied naturally to$\backslash$r$\backslash$nthe related activities of continuous integration using build farms,$\backslash$r$\backslash$nservice deployment and build management.}, author = {Utrecht, Universiteit and Magnificus, Rector}, @@ -47,3 +19,40 @@ url = {http://www.st.ewi.tudelft.nl/{~}dolstra/pubs/phd-thesis.pdf}, volume = {56}, year = {2006} } +@inproceedings{Reshetova2014, +abstract = {The need for flexible, low-overhead virtualization is evident on many fronts ranging from high-density cloud servers to mobile devices. During the past decade OS-level virtualization has emerged as a new, efficient approach for virtualization, with implementations in multiple different Unix-based systems. Despite its popularity, there has been no systematic study of OS-level virtualization from the point of view of security. In this report, we conduct a comparative study of several OS-level virtualization systems, discuss their security and identify some gaps in current solutions.}, +archivePrefix = {arXiv}, +arxivId = {1407.4245}, +author = {Reshetova, Elena and Karhunen, Janne and Nyman, Thomas and Asokan, N}, +booktitle = {Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)}, +doi = {10.1007/978-3-319-11599-3_5}, +eprint = {1407.4245}, +file = {:home/steveej/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Reshetova et al. - 2014 - Security of OS-level virtualization technologies(5).pdf:pdf}, +isbn = {9783319115986}, +issn = {16113349}, +pages = {77--93}, +title = {{Security of OS-level virtualization technologies}}, +volume = {8788}, +year = {2014} +} +@book{Sarton1975, +author = {Sarton, George}, +doi = {10.1007/978-3-319-33138-6}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/A Computing History Primer.pdf:pdf}, +isbn = {0882751727 (o.c.)}, +pages = {145}, +title = {{Introduction to the history of science.}}, +year = {1975} +} +@article{Fink2014, +abstract = {Docker is a relatively new method of virtualization available natively for 64-bit Linux. Compared to more traditional virtualization techniques, Docker is lighter on system resources, offers a git-like system of commits and tags, and can be scaled from your laptop to the cloud.}, +author = {Fink, John}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/Docker - a Software as a Service, Operating System-Level Virtualization Framework.pdf:pdf}, +journal = {Code4Lib}, +number = {25}, +pages = {3--5}, +title = {{Docker: a Software as a Service, Operating System-Level Virtualization Framework}}, +url = {http://journal.code4lib.org/articles/9669}, +volume = {1}, +year = {2014} +} From ca933ff870273501e8fbe31e8cee3b7bb385badc Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sun, 18 Sep 2016 19:50:07 +0200 Subject: [PATCH 061/126] context: restructure part * more on virtualization --- src/docs/parts/context/context.tex | 170 ++++++++++++++++------------- src/docs/thesis.tex | 8 +- 2 files changed, 100 insertions(+), 78 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 49ed710..efa5c3b 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,24 +1,96 @@ % // vim: set ft=tex: -\chapter{Introduction} -% Chapter 1, with a highly focused review of the literature, and is normally the “prospectus” that a committee approves before the “proposal” to start research is approved. After the prospectus is approved, some of the review of literature may be moved into Chapter 2, which then becomes part of the proposal to do research. -% Chapter 1 is the engine that drives the rest of the document, and it must be a complete empirical argument as is found in courts of law. It should be filled with proofs throughout. It is not a creative writing project in a creative writing class; hence, once a word or phrase is established in Chapter 1, use the same word or phrase throughout the dissertation. The content is normally stylized into five chapters, repetitive in some sections from dissertation to dissertation. A lengthy dissertation may have more than five chapters, but regardless, most universities limit the total number of pages to 350 due to microfilming and binding considerations in libraries in those institutions requiring hard copies. -% Use plenty of transitional words and sentences from one section to another, as well as subheadings, which allow the reader to follow the writer’s train of thought. Following is an outline of the content of the empirical argument of Chapter 1. Universities often arrange the content in a different order, but the subject matter is the same in all dissertations because it is an empirical “opening statement” as might be found in a court of law. (Note that a dissertation could also be five pages of text and 50 pages of pictures of dragonfly wings and qualify for a Doctor’s degree in entomology.) - -%State the general field of interest in one or two paragraphs, and end with a sentence that states what study will accomplish. Do not keep the reader waiting to find out the precise subject of the dissertation. +\chapter{Overview} This thesis is a scientific approach to analyze and solve the practical problems of packaging and deploying \glspl{app} in the context of \gls{sac} technology. For a lack of an official definition and common understanding what this technology is, the term \gls{sac} is defined in this chapter as a reference for the rest of the thesis. +The technology combines \gls{virtualization} techniques with new approaches to \gls{app} development and deployment. -The two main drivers for this technology have been long standing problems in information technology: optimal utilization of hardware, and simplification of software deployment to said hardware. -Because this is a problem in the operation of computers, it is expected that the problem is attempted to be solved on an \gls{OS} level or slightly above. -The following sections explain the ideologies and also gives a detailed insight to \gls{OS}-specific \gls{sac} technology, focusing on the \gls{Linux} \gls{OS}. +The two main drivers for this technology have been long standing problems in information technology; optimal utilization of hardware, and correct deployment of software to said hardware, both without sacrificing security. -This is necessary to understand the problem description, given at the end of the chapter. +The optimal utilization of hardware is done by collocating and running multiple \glspl{app} running simultaneously on the same hardware. +In order to increase security, these applications are separated by applying \gls{virtualization} techniques. +An introduction to \gls{virtualization} is given in this chapter, as it is important to understand this aspect of the \gls{sac} technology. -\section{\glspl{sac}} -The technology that is currently available to form \glspl{sac} reuses different patterns and techniques to solve a combination of different problems all at once. +The correctness of software deployment is not measurable as a simple number, but involves many factors. +The \gls{sac} approach is to create self-contained bundles for \glspl{app} in form of \glspl{saci}. +As the main concern of this thesis, related problems and state of the art solutions are explained in this chapter. + +In the following chapters it is explained which technologies of \gls{virtualization} and \gls{OS} security mechanisms that form the foundation of \glspl{sac}. +Also explained are the difficulties of correct software development and deployment in form of \glspl{saci}. +These difficulties are the main subject of this thesis. + +\chapter{Virtualization} +Since the first \gls{VM} \gls{OS} \cite[p.~217-218]{Sarton1975} was created, \gls{virtualization} has been an important field in computer sciences, both in research and in the industry, and has been subject to continuous development, improvement, and adoption. +The basics of virtualization boil down to one principle. +It is the principle of controlling and monitoring the availability and the access to soft- and hardware resources for users, their applications and whole virtual systems running on top of existing systems. +Virtualization techniques can be grouped by two categories: \glspl{hypervisor} and \gls{osvirt}. + +\section{\glspl{hypervisor}} +The term \gls{hypervisor} is synonymous to the more self-explanatory terms control program \cite[p. 217]{Sarton1975} and \gls{VM} monitor. +The \gls{hypervisor} operates on a host machine and can control multiple \glspl{VM}. +The principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer. +\glspl{VM} are presented with a set of virtual hardware resources that don't necessarily exist in the presented form on the underlying hardware machine they are being executed on. + +\subsection{Running \glspl{OS}} +In order to be able to boot the virtual hardware and run services, \glspl{VM} need an \gls{OS} to begin with. +Specific to the environment and features of the \gls{hypervisor}, there are different storage formats for the file(s) that contain the \gls{OS} for the \gls{VM}. +In general, these files contain the \gls{OS} itself, as well as the installed applications in order to run the desired services within the \gls{VM}. + +Compared to running such a service on the host machine directly, one obvious overhead is that this requires a said \gls{OS} to be installed and configured once upfront, and virtually booted for every execution of the service. + +\subsubsection{Support for multiple \glspl{OS}} +Because each \gls{VM} on a host has a separate \gls{OS}, they can run whatever the \gls{hypervisor} supports, and are not tied to run the same \gls{OS}, or even the same platform, as the host machine. +This allows to create heterogeneous scenarios like running an ARM \gls{VM} using \gls{OBSD} on a x86 \gls{Linux} host, or vice versa. + +% TODO: think about if I want to show this or not. \subsection{\gls{Linux}'s Kernel Virtual Machine \gls{hypervisor}} +% it's not part of the topic. +% it's not necessary to understand containers + +\subsection{Overhead In Application Virtualization} +In case that multiple \glspl{VM} are supposed to run the same application, e.g. with different configuration files, each of them will have a separate copy of the \gls{OS} and the application itself. +It's assumable that solely the applications running on top of the virtualized \gls{OS} is the required subject to virtualization. +Therefore, it might not be necessary to run a separate virtualized \glspl{OS} just to for the sake of virtualizing the applications, especially if they are compatible with the same type of \gls{OS}. +This the main scenarios for the use of \gls{osvirt}, which is better suited because it doesn't require another full-fledged \gls{OS} to virtualize an application. +Instead, the applications run in the same \gls{OS} instance as separates processes, explained in the following section \ref{sect:sac-osvirt}. + +\section{\gls{osvirt}} +\label{sect:sac-osvirt} +% TODO: explain generically what APC is and compare to Hypervisors +The technology of \gls{osvirt} has been under active development for about decade now\cite{Reshetova2014}, with the purpose of supporting virtualized applications rather than virtualizing whole machines. +The popularity of the technology has spiked with the release of one specific user-facing implementation named \gls{Docker}, which was originally exclusively available for the \gls{Linux}-platform. + +Section \ref{virt-advent-sac} contains an overview of \gls{Docker}'s features that presumably helped to make it popular in a relatively short amount of time, compared to how long the underlying technology and similar tools have existed. + +Beforehand, it is useful to learn the low-level mechanisms implemented in the \gls{Linux} kernel. + +\subsection{Process Isolation} +\gls{osvirt} allows to virtualize applications on the \gls{OS} level instead of the machine level. +Its features are implemented in the kernel of the \gls{OS}, providing a low-overhead isolation and resource-control for user-space processes, in short: virtualization. + +% TODO: refer to Linux Namespaces and Cgroups +% TODO show chroot +% TODO compare security features + +% TODO compare performance + +\subsection{\gls{app} Deployment} +% TODO compare productivity and deployment + +\section{Its Advent With \glspl{sac}} +\label{virt-advent-sac} +Even though the underlying technology \gls{osvirt} had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{sac} to the attention and hands of the masses in the \gls{OSS} community. +From a psychological standpoint this is not surprising, as it has abstracted most complexities of the technology, adding ease of deployment, a platform for hosting the \gls{saci} in a Docker specific format, as well as a very convenient way for building the like using Dockerfiles(TODO reference). +Its popularity has come to a point where the term \textit{Docker} is being used interchangeably with the \gls{sac} technology itself. +% TODO: references for this claim +% TODO introduce \gls{LXC}, \gls{systemd-nspawn}, \gls{Docker}, and \gls{rkt}. + +The first part of this section analyzes the \gls{sacr} aspects of the implementations, while the second part demonstrates currently popular approaches to assemble \glspl{saci}. + +\chapter{Software Development \& Deployment} + +\section{Bringing Together Developers \& Operators} +The technology that is currently available and combined to form \glspl{sac} reuses different patterns and techniques to solve a combination of problems that either software developers or system operators have faced separately. These problems are all related to software deployment and system operation and can be represented by the following questions. -Only a subset of these problems and attempted solutions will be subject to research for this thesis. \begin{enumerate} \item How do we maximize the utilization of our hardware systems without compromising security? @@ -26,63 +98,14 @@ Only a subset of these problems and attempted solutions will be subject to resea It is nonetheless briefly explained under the section \ref{sect:sac-osvirt}, to form a complete view on the scope of \glspl{sac} technology. \item How do we guarantee that the application works on every target machine the same as on the developer machine? -\item How do we build multiple variants and/or versions of an application, install and run them simultaneously on the same target machine without exhibiting conflicts? - +\item How do we build multiple variants and/or versions of an application? +\item How do we install, configure and run them simultaneously on the same target machine without exhibiting conflicts or sacrifice a single application's security? \item How do we verify that an application runs on the target system has not been altered maliciously at one point in the deployment chain? \end{enumerate} -Questions 2 - 4 are in the research scope of this thesis, while the concern of the last question is declared optional. +Only a subset of these problems and attempted solutions will be subject to research for this thesis. +Questions 2 - 4 are in the research scope of this thesis, while the concern of question 5 is declared optional and is not strictly required for the completion of this project. These questions are very important to the ideology of \glspl{sac}, and they have their origin in the conventional methods of software deployment. -More thorough examination of these question is done in section \ref{sect:sd-challenges} of this chapter. - -\subsection{Introduction to Virtualization} -% Background of the Problem -% This section is critically important as it must contain some mention of all the subject matter in the following Chapter 2 Review of the Literature 2 and the methodology in Chapter 3. Key words should abound that will subsequently be used again in Chapter 2. The section is a brief two to four page summary of the major findings in the field of interest that cites the most current finding in the subject area. A minimum of two to three citations to the literature per paragraph is advisable. The paragraphs must be a summary of unresolved issues, conflicting findings, social concerns, or educational, national, or international issues, and lead to the next section, the statement of the problem. The problem is the gap in the knowledge. The focus of the Background of the Problem is where a gap in the knowledge is found in the current body of empirical (research) literature. -Since the development of the first \gls{VM} \gls{OS} \cite[p.~217-218]{Sarton1975}, \gls{virtualization} has been an important field in computer sciences, both in research and in the industry. -It has been subject to constant development, improvement, and adoption. -The basics of virtualization boil down to one principle. -It is the principle of controlling and monitoring the availability and the access to soft- and hardware resources for users, their applications and whole virtual systems running on top of existing systems. -Modern virtualization techniques can be grouped by two categories: \glspl{hypervisor} and \gls{osvirt}. - -\subsubsection{\glspl{hypervisor}} -The modern term \gls{hypervisor} is synonymous to the more self-explanatory terms control program \cite[p. 217]{Sarton1975} and \gls{VM} monitor. -The \gls{hypervisor} operates on a host machine and can control multiple \glspl{VM}. -The principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer. -\glspl{VM} are presented with a set of virtual hardware resources that don't necessarily exist in the presented form on the underlying hardware machine they are being executed on. - -In order to be able to boot the virtual hardware and run services, \glspl{VM} need a \gls{OS}. -Specific to the environment and features of the \gls{hypervisor}, there are different storage formats for the \gls{OS} files. -In general, these files consist of the \gls{OS} itself and installed applications files in order to run the desired services within the \gls{VM}. -Compared to running such a service on the host machine directly, one obvious overhead is that this requires a said \gls{OS} to be installed and configured once upfront, and virtually booted for every execution of the service. -In the case that several \gls{VM} run the same application, e.g. with different configuration files, each of them will have a separate copy of the \gls{OS} and the application files. -On the other hand, there are compatibility advantages, e.g. \glspl{VM} allow to run a different \glspl{OS} than the one running on the host machine. -This enables to create heterogeneous scenarios like running an \gls{OBSD} inside a virtual machine on a \gls{Linux} host, or vice versa. - -However, there are cases when solely the applications running on top of the virtualized \gls{OS} is the required subject to virtualization. -In these cases, it's technically not necessary to have a separate virtualized \gls{OS} just to virtualize these application, especially if they are compatible with the same type of \gls{OS}. -This is one of the main scenarios for the use of \gls{osvirt} which is better suited, because it doesn't require a full-fledged \glspl{OS} to virtualize an application, as explained in the following section \ref{sect:sac-osvirt}. - -\subsubsection{\gls{osvirt}} -\label{sect:sac-osvirt} -% TODO: explain generically what APC is and compare to Hypervisors -This technology has been under active development for about decade now\cite{Reshetova2014}, and is becoming more and more popular. -The popularity has exploded with one specific implementation named \gls{Docker}, which targets the \gls{Linux}-platform. -More about this historical and technological development is explained in section \ref{virt-advent-sac}. - -\gls{osvirt} allows to virtualize applications on the \gls{OS} level instead of the machine level. -Its features are implemented in the kernel of the \gls{OS}, providing a low-overhead isolation and resource-control for user-space processes, in short: virtualization. -% TODO: refer to Linux Namespaces and Cgroups - -\subsection{\gls{virtualization} Overview} -% TODO compare performance - -\subsection{The Advent of \gls{sac}} -\label{virt-advent-sac} -Even though the underlying technology \gls{osvirt} had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{sac} to the attention and hands of the masses in the \gls{OSS} community. -From a psychological standpoint this is not surprising, as it has abstracted most of complexities of the technology, adding ease of deployment, a platform for hosting the \gls{saci} in a Docker specific format, as well as a very convenient way for building the like using Dockerfiles(TODO reference). -Its popularity has come to a point where the term \textit{Docker} is being used interchangeably with the \gls{sac} technology itself. -% TODO: references for this claim - -% TODO introduce \gls{LXC}, \gls{systemd-nspawn}, \gls{Docker}, and \gls{rkt}. +More thorough examination of the questions and their presented problems is found in section \ref{sect:sd-challenges} of this chapter. \section{Challenges of Software Development \& Deployment} \label{sect:sd-challenges} @@ -92,7 +115,7 @@ In order to be executable on the target machine, the software needs to be transl If the software is changed and updated, the cycle has to be repeated. This represents a first challenge: software updates, or deployments in general, are not supposed to be negatively influenced by any previous version or state that exists on the target machine. On the technical, this process starts with software developers who write software source code. -This code is then transformed and stored in executable binary files that contain specific platform-dependent machine-code with. +This code is then transformed and stored in executable binary files that contain specific platform-dependent machine-code. The translation is done by processing the source code with a compiler toolchain. The binary files are then made available as software packages that can be downloaded and installed on the target machines operating system. Typically and ideally, this is done with the help of a software package manager, which itself is a software that is included in most modern operating systems. @@ -100,14 +123,13 @@ The location where the files of the package are installed on the target machine Another challenge is to be able to verify that software hasn't been altered to differ from its intentional behavior at any point of the deployment process. -\section{State of the Art in \gls{osvirt}} -To analyze the current state of the art, different implementations of this technology. -The first part of this section analyzes the \gls{sacr} aspects of the implementations, while the second part demonstrates currently popular approaches to assemble \glspl{saci}. +\chapter{\glspl{saci}} +\section{No truly declarative method to create \gls{saci}} -\subsection{No proved methods to declare, reproduce, and trust the builds of \glspl{saci}} -% Statement of the Problem -% Arising from the background statement is this statement of the exact gap in the knowledge discussed in previous paragraphs that reviewed the most current literature found. A gap in the knowledge is the entire reason for the study, so state it specifically and exactly. Use the words “gap in the knowledge.” The problem statement will contain a definition of the general need for the study, and the specific problem that will be addressed. +\section{No Independent Verification Of The Content} + +\section{Customization} \chapter{Scope} %TODO: explain scope of OSS systems running a \gls{Linux} based \gls{OS}. diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 6b209ed..d5574a4 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -86,10 +86,10 @@ \makeatletter -\renewcommand\paragraph{\startsection{paragraph}{4}{\z}% - {-3.25ex\plus -1ex \minus -.2ex}% - {0.0001pt \plus 0.2ex}% - {\normalfont\normalsize\bfseries}} +%\renewcommand\paragraph{\startsection{paragraph}{4}{\z}% +% {-3.25ex\plus -1ex \minus -.2ex}% +% {0.0001pt \plus 0.2ex}% +% {\normalfont\normalsize\bfseries}} \renewcommand\subparagraph{\startsection{subparagraph}{5}{\z}% {-3.25ex\plus -1ex \minus -.2ex}% {0.0001pt \plus 0.2ex}% From b0ce6753faed5195b16712f34e900bbca94b3983 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 22 Sep 2016 13:50:32 +0200 Subject: [PATCH 062/126] shell.nix: sync pkgs with unstable-channel * new texlive * obsoletes the required pkgs patch --- shell.nix | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/shell.nix b/shell.nix index 6ca593f..6c59037 100644 --- a/shell.nix +++ b/shell.nix @@ -3,32 +3,10 @@ let pkgsSrc = nixpkgs.pkgs.fetchFromGitHub { owner = "nixos"; repo = "nixpkgs-channels"; - rev = "6715afca34f7ece882b82c2250a4f6dade42eac5"; # vimtex update - sha256 = "1ix8k5sm01i75wxnfrlwbmc8xs8dn5zna7jb4v387h8zy8a74d8m"; + rev = "2b0eace6cf021eed7123fb828483a00c95796829"; # vimtex update + sha256 = "187fmlkr4d1rbhrmcw8r3xnpxl22rvmisk1iswz3hj99j57ds5r6"; }; - pkgs = import (nixpkgs.stdenv.mkDerivation { - name = "patchedPackages"; - src = pkgsSrc; - - patches = [ - (nixpkgs.fetchurl { - url="https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/15829.patch"; - sha256 = "0a41nspiqs5i32pfzxqm8dp8qhfaajrw622lmlcvlvgbhpkac5r1"; - }) - ]; - - installPhase = '' - mkdir -p $out - cp -a * $out - ''; - - phases = '' - unpackPhase - patchPhase - installPhase - ''; - - }) {}; + pkgs = import pkgsSrc {}; in pkgs.stdenv.mkDerivation { name = "msc-thesis"; From 622a5384c1d8de72cc72a0b8fdb8ce8d28133e28 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 12 Oct 2016 11:31:35 +0200 Subject: [PATCH 063/126] shell: add alias for editing important files --- shell.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/shell.nix b/shell.nix index 6c59037..ae15d3f 100644 --- a/shell.nix +++ b/shell.nix @@ -3,13 +3,21 @@ let pkgsSrc = nixpkgs.pkgs.fetchFromGitHub { owner = "nixos"; repo = "nixpkgs-channels"; - rev = "2b0eace6cf021eed7123fb828483a00c95796829"; # vimtex update - sha256 = "187fmlkr4d1rbhrmcw8r3xnpxl22rvmisk1iswz3hj99j57ds5r6"; + rev = "adfcc2d9531e78bf6a9e3b56e2f4fc873cb3d87b"; + sha256 = "101mh6gb9wlx0lq5pw2m0n1fi3h2pag3ndg184rrqzvn9ynp28iw"; }; pkgs = import pkgsSrc {}; in pkgs.stdenv.mkDerivation { name = "msc-thesis"; + shellHook = '' + alias vim-thesis="vim -p --servername VIM -- \ + $PWD/src/docs/thesis.tex \ + $PWD/src/docs/glossary.tex \ + $PWD/src/docs/parts/context/context.tex \ + $PWD/src/docs/parts/research/research.tex \ + " + ''; buildInputs = [ pkgs.xdotool (pkgs.vim_configurable.customize { From c5e304ee6587c36b71593c41094b7684fe54c8c8 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 2 Nov 2016 19:27:33 +0100 Subject: [PATCH 064/126] thesis/bib: add container security reference --- src/docs/thesis.bib | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 3894490..774991c 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,6 +3,20 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop +@article{Felter2014, +abstract = {IBM Research Report Isolation and resource control for cloud applications has traditionally been achieve through the use of virtual machines. Deploying applications in a VM results in reduced performance due to the extra levels of abstraction. In a cloud environment, this results in loss efficiency for the infrastructure. Newer advances in container-based virtualization simplifies the deployment of applications while isolating them from one another. In this paper, we explore the performance of traditional virtual machine deployments, and contrast them with the use of Linux containers. We use a suite of workloads that stress the CPU, memory, storage and networking resources. Our results show that containers result in equal or better performance than VM in almost all cases. Both VMs and containers require tuning to support I/O-intensive applicaions. We also discuss the implications of our performance results for future cloud architecture.}, +author = {Felter, Wes and Ferreira, Alexandre and Rajamony, Ram and Rubio, Juan}, +doi = {10.1109/ISPASS.2015.7095802}, +file = {:home/steveej/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Felter et al. - 2014 - An Updated Performance Comparison of Virtual Machines and Linux Containers(3).pdf:pdf}, +isbn = {9781479919574}, +journal = {Technology}, +keywords = {cloud computing,performance,virtualization}, +pages = {171--172}, +title = {{An Updated Performance Comparison of Virtual Machines and Linux Containers}}, +url = {http://domino.research.ibm.com/library/CyberDig.nsf/papers/0929052195DD819C85257D2300681E7B/{\$}File/rc25482.pdf}, +volume = {25482}, +year = {2014} +} @book{Utrecht2006, abstract = {Software deployment is the set of activities related to getting$\backslash$r$\backslash$nsoftware components to work on the machines of end users. It includes$\backslash$r$\backslash$nactivities such as installation, upgrading, uninstallation, and so on.$\backslash$r$\backslash$nMany tools have been developed to support deployment, but they all$\backslash$r$\backslash$nhave serious limitations with respect to correctness. For instance,$\backslash$r$\backslash$nthe installation of a component can lead to the failure of previously$\backslash$r$\backslash$ninstalled components; a component might require other components that$\backslash$r$\backslash$nare not present; and it is generally difficult to undo deployment$\backslash$r$\backslash$nactions. The fundamental causes of these problems are a lack of$\backslash$r$\backslash$nisolation between components, the difficulty in identifying the$\backslash$r$\backslash$ndependencies between components, and incompatibilities between$\backslash$r$\backslash$nversions and variants of components.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThis thesis describes a better approach based on a purely functional$\backslash$r$\backslash$ndeployment model, implemented in a deployment system called Nix.$\backslash$r$\backslash$nComponents are stored in isolation from each other in a Nix store.$\backslash$r$\backslash$nEach component has a name that contains a cryptographic hash of all$\backslash$r$\backslash$ninputs that contributed to its build process, and the content of a$\backslash$r$\backslash$ncomponent never changes after it has been built. Hence the model is$\backslash$r$\backslash$npurely functional.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThis storage scheme provides several important advantages. First, it$\backslash$r$\backslash$nensures isolation between components: if two components differ in any$\backslash$r$\backslash$nway, they will be stored in different locations and will not overwrite$\backslash$r$\backslash$neach other. Second, it allows us to identify component dependencies.$\backslash$r$\backslash$nUndeclared build time dependencies are prevented due to the absence of$\backslash$r$\backslash$n"global" component directories used in other deployment systems.$\backslash$r$\backslash$nRuntime dependencies can be found by scanning for cryptographic hashes$\backslash$r$\backslash$nin the binary contents of components, a technique analogous to$\backslash$r$\backslash$nconservative garbage collection in programming language$\backslash$r$\backslash$nimplementation. Since dependency information is complete, complete$\backslash$r$\backslash$ndeployment can be performed by copying closures of components under$\backslash$r$\backslash$nthe dependency relation.$\backslash$r$\backslash$n $\backslash$r$\backslash$nDevelopers and users are not confronted with components' cryptographic$\backslash$r$\backslash$nhashes directly. Components are built automatically from Nix$\backslash$r$\backslash$nexpressions, which describe how to build and compose arbitrary$\backslash$r$\backslash$nsoftware components; hashes are computed as part of this process.$\backslash$r$\backslash$nComponents are automatically made available to users through "user$\backslash$r$\backslash$nenvironments", which are synthesised sets of activated components.$\backslash$r$\backslash$nUser environments enable atomic upgrades and rollbacks, as well as$\backslash$r$\backslash$ndifferent sets of activated components for different users.$\backslash$r$\backslash$n $\backslash$r$\backslash$nNix expressions provide a source-based deployment model. However,$\backslash$r$\backslash$nsource-based deployment can be transparently optimised into binary$\backslash$r$\backslash$ndeployment by making pre-built binaries (keyed on their cryptographic$\backslash$r$\backslash$nhashes) available in a shared location such as a network server. This$\backslash$r$\backslash$nis referred to as transparent source/binary deployment.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThe purely functional deployment model has been validated by applying$\backslash$r$\backslash$nit to the deployment of more than 278 existing Unix packages. In$\backslash$r$\backslash$naddition, this thesis shows that the model can be applied naturally to$\backslash$r$\backslash$nthe related activities of continuous integration using build farms,$\backslash$r$\backslash$nservice deployment and build management.}, author = {Utrecht, Universiteit and Magnificus, Rector}, From 414e01dc4719d5a3d0c721686bdd4d3b7cbdc6d2 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 2 Nov 2016 19:28:29 +0100 Subject: [PATCH 065/126] thesis: aesthetic fixes --- src/docs/thesis.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index d5574a4..bad2603 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -118,7 +118,7 @@ \chapter*{Preface} This thesis is original, unpublished, independent work by the author, \authorOne. I strongly believe in openness and collaboration in the development of new technology, therefore the development will be based solely on Open-Source software. - The results of this project will be freely available on my personal GitHub site\footnote{https://github.com/steveeJ/msc-thesis} once the academic process of this project is complete. + The results of this project will be freely available on my personal Github site\footnote{https://github.com/steveeJ/msc-thesis} once the academic process of this project is complete. \tableofcontents From b76229840d08f172d3905eb0a4f2e876fc55f84c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 2 Nov 2016 19:29:04 +0100 Subject: [PATCH 066/126] thesis/context: more on VMs and containers --- src/docs/glossary.tex | 18 +++- src/docs/parts/context/context.tex | 152 ++++++++++++++++++----------- 2 files changed, 107 insertions(+), 63 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 6e9a5b5..8f7af3e 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -2,13 +2,21 @@ \newglossaryentry{OS}{ name = Operating System, + description = { + The software that manages the system's hardware ressources. + Other \glspl{app} can access the ressources only through the interface provided by the \gls{OS}. + }, +} + +\newglossaryentry{fs}{ + name = filesystem, description = { TODO }, } -\newglossaryentry{virtualization}{ - name = Virtualization, +\newglossaryentry{virt}{ + name = virtualization, description = { TODO }, @@ -51,8 +59,8 @@ plural=Linuces } -\newglossaryentry{OBSD}{ - name = OpenBSD, +\newglossaryentry{BSD}{ + name = BSD, description = { TODO } @@ -68,7 +76,7 @@ } \newglossaryentry{app}{ - name=Software Application, + name=software-application, description={ TODO } diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index efa5c3b..342920f 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,92 +1,128 @@ % // vim: set ft=tex: -\chapter{Overview} +\chapter{Introduction} This thesis is a scientific approach to analyze and solve the practical problems of packaging and deploying \glspl{app} in the context of \gls{sac} technology. For a lack of an official definition and common understanding what this technology is, the term \gls{sac} is defined in this chapter as a reference for the rest of the thesis. -The technology combines \gls{virtualization} techniques with new approaches to \gls{app} development and deployment. +The technology combines \gls{virt} techniques with new approaches to \gls{app} development and deployment. -The two main drivers for this technology have been long standing problems in information technology; optimal utilization of hardware, and correct deployment of software to said hardware, both without sacrificing security. +The two main drivers for this technology have been long standing problems in information technology; optimal utilization of hardware and correct deployment of software to said hardware, both without sacrificing security. -The optimal utilization of hardware is done by collocating and running multiple \glspl{app} running simultaneously on the same hardware. -In order to increase security, these applications are separated by applying \gls{virtualization} techniques. -An introduction to \gls{virtualization} is given in this chapter, as it is important to understand this aspect of the \gls{sac} technology. +The optimal utilization of hardware is done by collocating and running multiple \glspl{app} simultaneously on the same hardware. +In order to increase security, these applications are separated by applying \gls{virt} techniques. By developing \gls{virt} techniques into the \gls{OS} and thereby providing low-level security mechanisms, the foundation of \glspl{sac} was formed. In the next chapter an introduction to \gls{virt} is given, as it is important to understand this aspect of the \gls{sac} technology. -The correctness of software deployment is not measurable as a simple number, but involves many factors. -The \gls{sac} approach is to create self-contained bundles for \glspl{app} in form of \glspl{saci}. -As the main concern of this thesis, related problems and state of the art solutions are explained in this chapter. +The correctness of software deployment is not easily measurable by quantity like hardware utilization, but is of qualitative nature. +The \gls{sac} approach is to deploy self-contained bundles for \glspl{app} in form of \glspl{saci}. The creation of these \glspl{saci} is the main concern of this thesis and will be the subject to research and development in part \ref{part:research}. The underlying problems related to conventional \gls{app} deployment are covered in chapter \ref{chap:sdd}. State of the art attempts to solve these problems using \glspl{saci} are introduced and critically discussed in chapter \ref{chap:saci}, detailing the problem statement for this thesis. -In the following chapters it is explained which technologies of \gls{virtualization} and \gls{OS} security mechanisms that form the foundation of \glspl{sac}. -Also explained are the difficulties of correct software development and deployment in form of \glspl{saci}. -These difficulties are the main subject of this thesis. - -\chapter{Virtualization} -Since the first \gls{VM} \gls{OS} \cite[p.~217-218]{Sarton1975} was created, \gls{virtualization} has been an important field in computer sciences, both in research and in the industry, and has been subject to continuous development, improvement, and adoption. -The basics of virtualization boil down to one principle. -It is the principle of controlling and monitoring the availability and the access to soft- and hardware resources for users, their applications and whole virtual systems running on top of existing systems. +\chapter{\Gls{virt}} +\label{chap:virt} +Since the first \gls{VM} \gls{OS} \cite[p.~217-218]{Sarton1975} was created, \gls{virt} has been an important field in computer sciences, both in academic research and in the industry, and has been subject to continuous development, improvement, and adoption. +The very basic understanding of virtualizing a system or an application is to isolate and to control it. +In greater detail it is the principle of controlling and monitoring the availability and the access to soft- and hardware resources for users, their applications or whole virtual systems running on top of existing systems. Virtualization techniques can be grouped by two categories: \glspl{hypervisor} and \gls{osvirt}. \section{\glspl{hypervisor}} -The term \gls{hypervisor} is synonymous to the more self-explanatory terms control program \cite[p. 217]{Sarton1975} and \gls{VM} monitor. +The term \gls{hypervisor} is synonymous to the more self-explanatory terms control program \cite[p. 217]{Sarton1975} and \gls{VM} Monitor. The \gls{hypervisor} operates on a host machine and can control multiple \glspl{VM}. The principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer. -\glspl{VM} are presented with a set of virtual hardware resources that don't necessarily exist in the presented form on the underlying hardware machine they are being executed on. +\glspl{VM} are presented with a set of virtual hardware resources. These don't necessarily exist in the presented form on the underlying hardware machine. -\subsection{Running \glspl{OS}} -In order to be able to boot the virtual hardware and run services, \glspl{VM} need an \gls{OS} to begin with. +\subsection{Guest \glspl{OS}} +In order to be able to boot the virtual hardware and run \glspl{app}, \glspl{VM} need an \gls{OS} to run applications. Specific to the environment and features of the \gls{hypervisor}, there are different storage formats for the file(s) that contain the \gls{OS} for the \gls{VM}. +More insight on this is given in section \ref{sect:vm-fs-isolation}. In general, these files contain the \gls{OS} itself, as well as the installed applications in order to run the desired services within the \gls{VM}. -Compared to running such a service on the host machine directly, one obvious overhead is that this requires a said \gls{OS} to be installed and configured once upfront, and virtually booted for every execution of the service. +\subsection{Flexible Guest \gls{OS} Choice} +Because each \gls{VM} on is necessary to store and run a separate \gls{OS}, they can run whatever the \gls{hypervisor} supports, and are not tied to run the same \gls{OS}, or even the same platform, as the host machine. +This allows to create heterogeneous scenarios like running an ARM \gls{VM} using \gls{BSD} on a x86 \gls{Linux} host, or vice versa. -\subsubsection{Support for multiple \glspl{OS}} -Because each \gls{VM} on a host has a separate \gls{OS}, they can run whatever the \gls{hypervisor} supports, and are not tied to run the same \gls{OS}, or even the same platform, as the host machine. -This allows to create heterogeneous scenarios like running an ARM \gls{VM} using \gls{OBSD} on a x86 \gls{Linux} host, or vice versa. +\subsection{\Gls{fs} Storage Isolation} +\label{sect:vm-fs-isolation} +The \gls{OS} running inside a \gls{VM} is typically presented with a virtual disk drive. The guest \gls{OS} has to implement the driver for this virtual disk drive. The drive backed by a file on the host system, which can either be a file on a \gls{fs} or point to a block device. +By exclusively assigning one virtual disk drive per \gls{VM}, \glspl{VM} not access other \glspl{VM} data. -% TODO: think about if I want to show this or not. \subsection{\gls{Linux}'s Kernel Virtual Machine \gls{hypervisor}} -% it's not part of the topic. -% it's not necessary to understand containers +As a result, the \gls{hypervisor} features full isolation between guest's \gls{fs} and also prevents them from accessing the host's files. -\subsection{Overhead In Application Virtualization} -In case that multiple \glspl{VM} are supposed to run the same application, e.g. with different configuration files, each of them will have a separate copy of the \gls{OS} and the application itself. -It's assumable that solely the applications running on top of the virtualized \gls{OS} is the required subject to virtualization. -Therefore, it might not be necessary to run a separate virtualized \glspl{OS} just to for the sake of virtualizing the applications, especially if they are compatible with the same type of \gls{OS}. -This the main scenarios for the use of \gls{osvirt}, which is better suited because it doesn't require another full-fledged \gls{OS} to virtualize an application. -Instead, the applications run in the same \gls{OS} instance as separates processes, explained in the following section \ref{sect:sac-osvirt}. +\subsection{Overhead In \Gls{app} \Gls{virt}} +\label{sect:virt-overhead-app-virt} +Compared to running services directly on the host machine, one obvious overhead is that an additional \gls{OS} is required to be installed and configured once upfront, and virtually booted to enable execution of applications within. +In case that multiple \glspl{VM} are supposed to run the same application, e.g. with different configuration, each of them will have a separate copy of the \gls{OS} and the application itself, differing only by configuration and runtime data. +For this thesis, the use-case is in which solely the applications running on top of the virtualized \gls{OS} is the required subject to gls{virt} is of highest interest. Further the focus lies on applications that can run on \gls{Linux}. + +Running a separate virtualized \glspl{OS} in the use-case of virtualizing \gls{Linux} applications involves considerable and unnecessary overhead. +In addition there are several performance aspects that are slowed down when running software inside \Glspl{VM}\cite{Felter2014}. \section{\gls{osvirt}} \label{sect:sac-osvirt} -% TODO: explain generically what APC is and compare to Hypervisors +Virtualizing \glspl{app}, as described in section \ref{sect:virt-overhead-app-virt}, is the primary use-case for \gls{osvirt}. +Compared to \gls{hypervisor}, \gls{osvirt} doesn't require another virtualized, full-fledged \gls{OS}, to virtualize an application. +Instead, the application's processes run in the same \gls{OS} in isolated and controlled virtual environments, called containers\cite{Reshetova2014}. + The technology of \gls{osvirt} has been under active development for about decade now\cite{Reshetova2014}, with the purpose of supporting virtualized applications rather than virtualizing whole machines. -The popularity of the technology has spiked with the release of one specific user-facing implementation named \gls{Docker}, which was originally exclusively available for the \gls{Linux}-platform. +The popularity of the technology burgeoned with the release of one specific user-facing implementation named \gls{Docker}, which was originally exclusively available for the \gls{Linux}-platform. -Section \ref{virt-advent-sac} contains an overview of \gls{Docker}'s features that presumably helped to make it popular in a relatively short amount of time, compared to how long the underlying technology and similar tools have existed. +Section \ref{sect:virt-advent-sac} contains an overview of \gls{Docker}'s features that presumably helped to make it very popular in a relatively short amount of time, compared to how long the underlying technology and similar tools have existed. -Beforehand, it is useful to learn the low-level mechanisms implemented in the \gls{Linux} kernel. +To form a complete view it is useful to learn the leveraged low-level mechanisms implemented in the \gls{Linux} kernel. + +\subsection{\gls{Linux} Process Separation and (Resource) Access Control} +\label{sect:linux-process-isolation} +\gls{osvirt} on \gls{Linux} allows to virtualize applications on the process level instead of the machine level. +It's based on the \gls{OS} primitive of processes, providing a low-overhead isolation and resource-control for user-space processes, creating a form of \gls{virt}. +Every \gls{app} instance, virtualized or not, runs in the context of a separate process known to and managed by the very same host \gls{OS}. +With \gls{osvirt}, the control as well as the responsibility for the virtualized application belongs to the host \gls{OS}. +In contrast to running an application inside a \gls{VM}, where the host \gls{OS} doesn't know anything beyond the border of the process that runs the \gls{VM} and has no direct control over the application processes inside the \gls{VM}. + +On \gls{Linux}, there are many different mechanisms to regulate a process's access or its view on resources of all kinds. +It is important to understand not all of these mechanisms contribute to security, and that \gls{osvirt} is more difficult to secure compared to \Glspl{VM}. + +\subsubsection{The chroot System Functionality} +The oldest one contributing one of the core functionalities to realize containers is the \textit{change root} functionality\cite{Reshetova2014}. +It allows a privileged process to change its effective root \gls{fs}, which can be any directory on the host. +Effectively every file accessed by path changing the root \gls{fs} will be prefixed with the new root path automatically by the \gls{OS}. +As an example, when a process changes its root \gls{fs} to \textit{/newroot} and then requests to open the file \textit{/file}, the application will transparently access \textit{/newroot/file}. + +Note that \textit{chroot} has not been designed as a security feature, and therefore privileged \textit{chroot}'ed applications can easily access the host's filesystem if no countermeasures are taken. + +\subsubsection{Namespaces} +% TODO explain namespaces in general +% TODO uts +% TODO pid +% TODO mount +% TODO net +% TODO ipc +% TODO cgroup +% TODO user + +\subsubsection{Control Groups} +% TODO -\subsection{Process Isolation} -\gls{osvirt} allows to virtualize applications on the \gls{OS} level instead of the machine level. -Its features are implemented in the kernel of the \gls{OS}, providing a low-overhead isolation and resource-control for user-space processes, in short: virtualization. +\subsubsection{Security Modules} +% TODO explain what LSM is a framework +% TODO AppArmor +% TODO SELinux -% TODO: refer to Linux Namespaces and Cgroups -% TODO show chroot -% TODO compare security features +\subsection{\Gls{fs} Storage Isolation And \Gls{app} Deployment} +With the help of the different \ref{sect:linux-process-isolation} techniques ... TODO -% TODO compare performance - -\subsection{\gls{app} Deployment} -% TODO compare productivity and deployment - -\section{Its Advent With \glspl{sac}} -\label{virt-advent-sac} +\subsection{\Gls{app} \Gls{virt}} +% TODO compare app productivity and deployment by example of chroot vs VM + +\subsection{The Advent of \glspl{sac} with \gls{Docker}} +\label{sect:virt-advent-sac} Even though the underlying technology \gls{osvirt} had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{sac} to the attention and hands of the masses in the \gls{OSS} community. From a psychological standpoint this is not surprising, as it has abstracted most complexities of the technology, adding ease of deployment, a platform for hosting the \gls{saci} in a Docker specific format, as well as a very convenient way for building the like using Dockerfiles(TODO reference). -Its popularity has come to a point where the term \textit{Docker} is being used interchangeably with the \gls{sac} technology itself. +Its popularity has come to a point that the term \textit{Docker} is being used interchangeably with the \gls{sac} technology itself. % TODO: references for this claim % TODO introduce \gls{LXC}, \gls{systemd-nspawn}, \gls{Docker}, and \gls{rkt}. The first part of this section analyzes the \gls{sacr} aspects of the implementations, while the second part demonstrates currently popular approaches to assemble \glspl{saci}. +\section{Virtualization Summary} +% TODO: graphic to show the differences + \chapter{Software Development \& Deployment} +\label{chap:sdd} \section{Bringing Together Developers \& Operators} The technology that is currently available and combined to form \glspl{sac} reuses different patterns and techniques to solve a combination of problems that either software developers or system operators have faced separately. @@ -99,17 +135,17 @@ These problems are all related to software deployment and system operation and c \item How do we guarantee that the application works on every target machine the same as on the developer machine? \item How do we build multiple variants and/or versions of an application? -\item How do we install, configure and run them simultaneously on the same target machine without exhibiting conflicts or sacrifice a single application's security? +\item How do we install, configure and run multiple instances simultaneously on the same target machine without exhibiting version conflicts and without sacrificing application security? \item How do we verify that an application runs on the target system has not been altered maliciously at one point in the deployment chain? \end{enumerate} Only a subset of these problems and attempted solutions will be subject to research for this thesis. -Questions 2 - 4 are in the research scope of this thesis, while the concern of question 5 is declared optional and is not strictly required for the completion of this project. -These questions are very important to the ideology of \glspl{sac}, and they have their origin in the conventional methods of software deployment. +Questions 2 - 4 are in the scope of this thesis, while the concern of question 5 is declared as an optional question. +All of these questions are very important to the ideology of \glspl{sac}, and they have their origin in the conventional methods of software deployment. More thorough examination of the questions and their presented problems is found in section \ref{sect:sd-challenges} of this chapter. \section{Challenges of Software Development \& Deployment} \label{sect:sd-challenges} -Software is typically developed on a workstation or laptop, brought to a format that is understood by the target machine to which it must be is transfered, and where it is configured and finally executed to serve its purpose. +Software is typically developed on a workstation or laptop, translated to a format that is understood by the target machine to which it must be transfered, and where it is configured and finally executed to serve its purpose. In order to be executable on the target machine, the software needs to be translated into the target-platform specific format before it can be executed on to the target system. If the software is changed and updated, the cycle has to be repeated. @@ -121,9 +157,10 @@ The binary files are then made available as software packages that can be downlo Typically and ideally, this is done with the help of a software package manager, which itself is a software that is included in most modern operating systems. The location where the files of the package are installed on the target machine depends on how it is configured at packaging time, but in most popular software package approaches this location is agnostic of software application version changes. -Another challenge is to be able to verify that software hasn't been altered to differ from its intentional behavior at any point of the deployment process. +Another challenge is to be able to verify that the software hasn't been altered, either accidentally or maliciously, and differ from its intentional behavior at any point of the deployment process. \chapter{\glspl{saci}} +\label{chap:saci} \section{No truly declarative method to create \gls{saci}} @@ -132,7 +169,6 @@ Another challenge is to be able to verify that software hasn't been altered to d \section{Customization} \chapter{Scope} -%TODO: explain scope of OSS systems running a \gls{Linux} based \gls{OS}. \section{Goals} The primary concern is to find a viable method for declaring and assembling \glspl{saci} deterministically. From 5c3ea03dd3e0c31224fa36ccab04bac0f03977f8 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 9 Nov 2016 21:02:45 +0100 Subject: [PATCH 067/126] thesis/research: add bazel section --- src/docs/parts/research/research.tex | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index 2f5c63f..2b1de53 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -14,7 +14,7 @@ \section{Package Repositories} -\chapter{Available Package Managers} +\chapter{Available Package Managers (and Build Managers)} \section{Portage} @@ -39,6 +39,14 @@ Spack (\url{https://github.com/LLNL/spack}) is a package manager written in Pyth } \end{description} + +\section{bazel} + +In case the dependency tree includes different versions of the same project, only one of them can be included in the WORKSPACE. +This potentially breaks compatibility for the projects that depend on a different version of the dependency. + +% TODO: cite source https://www.bazel.io/versions/master/docs/external.html#transitive-dependencies + \chapter{Languages Used For Packaging} \section{Guile Scheme} @@ -49,3 +57,4 @@ Guile implements Scheme and extends it with new features. UX: \url{https://logicgrimoire.wordpress.com/2012/08/25/a-first-guile-script} + From e1187ec6faaf29fb835a4ed18a84efca537d6f39 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 9 Nov 2016 21:03:10 +0100 Subject: [PATCH 068/126] thesis/bib: add paper about containers/namespaces --- src/docs/thesis.bib | 76 +++++++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 33 deletions(-) diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 774991c..d218294 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,18 +3,26 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{Felter2014, -abstract = {IBM Research Report Isolation and resource control for cloud applications has traditionally been achieve through the use of virtual machines. Deploying applications in a VM results in reduced performance due to the extra levels of abstraction. In a cloud environment, this results in loss efficiency for the infrastructure. Newer advances in container-based virtualization simplifies the deployment of applications while isolating them from one another. In this paper, we explore the performance of traditional virtual machine deployments, and contrast them with the use of Linux containers. We use a suite of workloads that stress the CPU, memory, storage and networking resources. Our results show that containers result in equal or better performance than VM in almost all cases. Both VMs and containers require tuning to support I/O-intensive applicaions. We also discuss the implications of our performance results for future cloud architecture.}, -author = {Felter, Wes and Ferreira, Alexandre and Rajamony, Ram and Rubio, Juan}, -doi = {10.1109/ISPASS.2015.7095802}, -file = {:home/steveej/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Felter et al. - 2014 - An Updated Performance Comparison of Virtual Machines and Linux Containers(3).pdf:pdf}, -isbn = {9781479919574}, -journal = {Technology}, -keywords = {cloud computing,performance,virtualization}, -pages = {171--172}, -title = {{An Updated Performance Comparison of Virtual Machines and Linux Containers}}, -url = {http://domino.research.ibm.com/library/CyberDig.nsf/papers/0929052195DD819C85257D2300681E7B/{\$}File/rc25482.pdf}, -volume = {25482}, +@article{Menage2007, +abstract = {While Linux provides copious monitoring and control options for individual processes, it has less support for applying the same operations efficiently to related groups of processes. This has led to multiple proposals for subtly different mechanisms for process aggregation for resource control and isolation. Even though some of these efforts could conceptually operate well together, merging each of them in their current states would lead to duplication in core kernel data structures/routines. The Containers framework, based on the existing cpusets mechanism, provides the generic process group- ing features required by the various different resource controllers and other process-affecting subsystems. The result is to reduce the code (and kernel impact) required for such subsystems, and provide a common interface with greater scope for co-operation. This paper looks at the challenges in meeting the needs of all the stakeholders, which include low overhead, feature richness, completeness and flexible groupings. We demonstrate how to extend containers by writing resource control and monitoring components, we also look at how to implement namespaces and cpusets on top of the framework.}, +author = {Menage, Paul B}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/Adding Generic Process Containers to the Linux Kernel.pdf:pdf}, +journal = {Proceedings of the Ottawa Linux Symposium}, +pages = {45--58}, +title = {{Adding Generic Process Containers to the Linux Kernel}}, +url = {http://www.kernel.org/doc/ols/2007/ols2007v2-pages-45-58.pdf}, +year = {2007} +} +@article{Fink2014, +abstract = {Docker is a relatively new method of virtualization available natively for 64-bit Linux. Compared to more traditional virtualization techniques, Docker is lighter on system resources, offers a git-like system of commits and tags, and can be scaled from your laptop to the cloud.}, +author = {Fink, John}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/Docker - a Software as a Service, Operating System-Level Virtualization Framework.pdf:pdf}, +journal = {Code4Lib}, +number = {25}, +pages = {3--5}, +title = {{Docker: a Software as a Service, Operating System-Level Virtualization Framework}}, +url = {http://journal.code4lib.org/articles/9669}, +volume = {1}, year = {2014} } @book{Utrecht2006, @@ -33,6 +41,29 @@ url = {http://www.st.ewi.tudelft.nl/{~}dolstra/pubs/phd-thesis.pdf}, volume = {56}, year = {2006} } +@article{Felter2014, +abstract = {IBM Research Report Isolation and resource control for cloud applications has traditionally been achieve through the use of virtual machines. Deploying applications in a VM results in reduced performance due to the extra levels of abstraction. In a cloud environment, this results in loss efficiency for the infrastructure. Newer advances in container-based virtualization simplifies the deployment of applications while isolating them from one another. In this paper, we explore the performance of traditional virtual machine deployments, and contrast them with the use of Linux containers. We use a suite of workloads that stress the CPU, memory, storage and networking resources. Our results show that containers result in equal or better performance than VM in almost all cases. Both VMs and containers require tuning to support I/O-intensive applicaions. We also discuss the implications of our performance results for future cloud architecture.}, +author = {Felter, Wes and Ferreira, Alexandre and Rajamony, Ram and Rubio, Juan}, +doi = {10.1109/ISPASS.2015.7095802}, +file = {:home/steveej/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Felter et al. - 2014 - An Updated Performance Comparison of Virtual Machines and Linux Containers(3).pdf:pdf}, +isbn = {9781479919574}, +journal = {Technology}, +keywords = {cloud computing,performance,virtualization}, +pages = {171--172}, +title = {{An Updated Performance Comparison of Virtual Machines and Linux Containers}}, +url = {http://domino.research.ibm.com/library/CyberDig.nsf/papers/0929052195DD819C85257D2300681E7B/{\$}File/rc25482.pdf}, +volume = {25482}, +year = {2014} +} +@book{Sarton1975, +author = {Sarton, George}, +doi = {10.1007/978-3-319-33138-6}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/A Computing History Primer.pdf:pdf}, +isbn = {0882751727 (o.c.)}, +pages = {145}, +title = {{Introduction to the history of science.}}, +year = {1975} +} @inproceedings{Reshetova2014, abstract = {The need for flexible, low-overhead virtualization is evident on many fronts ranging from high-density cloud servers to mobile devices. During the past decade OS-level virtualization has emerged as a new, efficient approach for virtualization, with implementations in multiple different Unix-based systems. Despite its popularity, there has been no systematic study of OS-level virtualization from the point of view of security. In this report, we conduct a comparative study of several OS-level virtualization systems, discuss their security and identify some gaps in current solutions.}, archivePrefix = {arXiv}, @@ -49,24 +80,3 @@ title = {{Security of OS-level virtualization technologies}}, volume = {8788}, year = {2014} } -@book{Sarton1975, -author = {Sarton, George}, -doi = {10.1007/978-3-319-33138-6}, -file = {:home/steveej/src/github/steveej/msc-thesis/papers/A Computing History Primer.pdf:pdf}, -isbn = {0882751727 (o.c.)}, -pages = {145}, -title = {{Introduction to the history of science.}}, -year = {1975} -} -@article{Fink2014, -abstract = {Docker is a relatively new method of virtualization available natively for 64-bit Linux. Compared to more traditional virtualization techniques, Docker is lighter on system resources, offers a git-like system of commits and tags, and can be scaled from your laptop to the cloud.}, -author = {Fink, John}, -file = {:home/steveej/src/github/steveej/msc-thesis/papers/Docker - a Software as a Service, Operating System-Level Virtualization Framework.pdf:pdf}, -journal = {Code4Lib}, -number = {25}, -pages = {3--5}, -title = {{Docker: a Software as a Service, Operating System-Level Virtualization Framework}}, -url = {http://journal.code4lib.org/articles/9669}, -volume = {1}, -year = {2014} -} From c389731c6855fc4c6f1ef84298dbe5ea40294907 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 9 Nov 2016 21:05:00 +0100 Subject: [PATCH 069/126] thesis: much more on linux process isolation --- src/docs/glossary.tex | 21 ++++++++++ src/docs/parts/context/context.tex | 63 +++++++++++++++++++++++++----- src/docs/thesis.tex | 3 +- 3 files changed, 76 insertions(+), 11 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 8f7af3e..f667225 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -1,5 +1,12 @@ % // vim: set ft=tex: +\newglossaryentry{API}{ + name = API, + description = { + Application Programming Interface + }, +} + \newglossaryentry{OS}{ name = Operating System, description = { @@ -59,6 +66,20 @@ plural=Linuces } +\newglossaryentry{lxns}{ + name = Linux Namespace, + description = { + entitiy that holds a specific set of process attributes and can be set per process + }, +} + +\newglossaryentry{lxcaps}{ + name = Linux Capabilities, + description = { + entitiy that holds a specific set of process attributes and can be set per process, mainly to establish a relationship between processes and \gls{OS} resources + }, +} + \newglossaryentry{BSD}{ name = BSD, description = { diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 342920f..be6e7f1 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -85,30 +85,73 @@ As an example, when a process changes its root \gls{fs} to \textit{/newroot} and Note that \textit{chroot} has not been designed as a security feature, and therefore privileged \textit{chroot}'ed applications can easily access the host's filesystem if no countermeasures are taken. \subsubsection{Namespaces} -% TODO explain namespaces in general -% TODO uts -% TODO pid -% TODO mount -% TODO net -% TODO ipc -% TODO cgroup -% TODO user +\Glspl{lxns} were designed in 2007 and described as lightweight in-kernel virtualization/isolation\cite{Menage2007}. +The authors chose to invent a new name instead of using the descriptive term in order to clarify the distinction from the more heavyweight technology of \gls{VM} \glspl{hypervisor}. +The various \Glspl{lxns} all represent different attributes related to the process and resource model on \gls{Linux}. +Each namespace can contain one or more processes, allowing for arbitrary grouping of processes sharing. +Table \ref{tab:lxns} shows 7 different \Glspl{lxns} that are available at the time of writing. +Collectively, they represent the context of a process, and changes to resources within the respective namespace will only affect processes that share the same namespace. + +\ctable[ + cap = \Glspl{lxns}, + caption = \Glspl{lxns}\footnote{from \textit{NAMESPACES(7)} and \textit{UNSHARE(2)}}, + maxwidth = \textwidth, + label = tab:lxns + ]{l | X}{}{ +\FL + Namespace & Resources +\ML + UTS & + Hostname, NIS domain name +\NN + PID & + Process IDs (each namespace will start counting from 1) +\NN + Network & + Complete network stack: + Network interfaces, addresses, sockets, ports, routes, filter rules, \textit{/proc/net} and \textit{/sys/class/net} +\NN + IPC & + System V/POSIX message queues, semaphore sets, shared memory segments +\NN + Cgroup & + cgroup root directory \textit{/proc/self/cgroup} +\NN + User & + UIDs, GIDs, capabilities +\NN + Mount & + Mount points, /proc/self/mountinfo +} + +\subsubsection{Capabilities} +% TODO \subsubsection{Control Groups} % TODO \subsubsection{Security Modules} -% TODO explain what LSM is a framework +% TODO explain that LSM is a framework % TODO AppArmor % TODO SELinux +\subsubsection{Initialization And Combination Of The Above} +When \gls{Linux} is booted, an initial set of namespaces, cgroups, and security contexts are created to contain the first userspace process, typically called init. + +Depending on the nature and configuration of the init process, other \glspl{app} are created with a new set of namespaces and cgroups, inherit all or only a selected set from the init process. +The two concepts can be mingled since the mechanisms allow for a flexible configuration per process. +This functionality is exposed via the \gls{Linux} systemcall \gls{API}. + +The systemcall \gls{API} can be used by any \gls{app} running as a privileged process, not only by the init process. +Hence, any vendor or organization might create libraries and programs that make use of these functions, in order to provide lightweight virtualization functionality to other application developers, system administrators and end-users in an abstracted and easily usable fashion. + \subsection{\Gls{fs} Storage Isolation And \Gls{app} Deployment} With the help of the different \ref{sect:linux-process-isolation} techniques ... TODO \subsection{\Gls{app} \Gls{virt}} % TODO compare app productivity and deployment by example of chroot vs VM -\subsection{The Advent of \glspl{sac} with \gls{Docker}} +\section{The Advent of \glspl{sac} with \gls{Docker}} \label{sect:virt-advent-sac} Even though the underlying technology \gls{osvirt} had been available for a relatively long time, \gls{Docker}\cite{Fink2014}, since its release in 2014\footnote{http://blog.docker.com/2014/06/its-here-docker-1-0}, has brought \glspl{sac} to the attention and hands of the masses in the \gls{OSS} community. From a psychological standpoint this is not surprising, as it has abstracted most complexities of the technology, adding ease of deployment, a platform for hosting the \gls{saci} in a Docker specific format, as well as a very convenient way for building the like using Dockerfiles(TODO reference). diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index bad2603..508c339 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -8,7 +8,8 @@ \usepackage{geometry} \geometry{a4paper, top=25mm, left=30mm, right=35mm, bottom=35mm, headsep=10mm, footskip=12mm} -\usepackage{multirow,tabularx,tabu} +%\usepackage{multirow,tabularx,tabu} +\usepackage{ctable,multirow} \usepackage{cite} \bibliographystyle{plain} From 786e228fced56c9d3e17688ecfa4d5f44e678bfb Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 9 Nov 2016 21:12:57 +0100 Subject: [PATCH 070/126] thesis,bib: add paper about linux capabilities --- src/docs/parts/context/context.tex | 1 + src/docs/thesis.bib | 76 +++++++++++++++++------------- 2 files changed, 45 insertions(+), 32 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index be6e7f1..9326368 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -125,6 +125,7 @@ Collectively, they represent the context of a process, and changes to resources } \subsubsection{Capabilities} +\Glspl{lxcaps} \cite{Hallyn2008} % TODO \subsubsection{Control Groups} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index d218294..a14b856 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,27 +3,17 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{Menage2007, -abstract = {While Linux provides copious monitoring and control options for individual processes, it has less support for applying the same operations efficiently to related groups of processes. This has led to multiple proposals for subtly different mechanisms for process aggregation for resource control and isolation. Even though some of these efforts could conceptually operate well together, merging each of them in their current states would lead to duplication in core kernel data structures/routines. The Containers framework, based on the existing cpusets mechanism, provides the generic process group- ing features required by the various different resource controllers and other process-affecting subsystems. The result is to reduce the code (and kernel impact) required for such subsystems, and provide a common interface with greater scope for co-operation. This paper looks at the challenges in meeting the needs of all the stakeholders, which include low overhead, feature richness, completeness and flexible groupings. We demonstrate how to extend containers by writing resource control and monitoring components, we also look at how to implement namespaces and cpusets on top of the framework.}, -author = {Menage, Paul B}, -file = {:home/steveej/src/github/steveej/msc-thesis/papers/Adding Generic Process Containers to the Linux Kernel.pdf:pdf}, -journal = {Proceedings of the Ottawa Linux Symposium}, -pages = {45--58}, -title = {{Adding Generic Process Containers to the Linux Kernel}}, -url = {http://www.kernel.org/doc/ols/2007/ols2007v2-pages-45-58.pdf}, -year = {2007} -} -@article{Fink2014, -abstract = {Docker is a relatively new method of virtualization available natively for 64-bit Linux. Compared to more traditional virtualization techniques, Docker is lighter on system resources, offers a git-like system of commits and tags, and can be scaled from your laptop to the cloud.}, -author = {Fink, John}, -file = {:home/steveej/src/github/steveej/msc-thesis/papers/Docker - a Software as a Service, Operating System-Level Virtualization Framework.pdf:pdf}, -journal = {Code4Lib}, -number = {25}, -pages = {3--5}, -title = {{Docker: a Software as a Service, Operating System-Level Virtualization Framework}}, -url = {http://journal.code4lib.org/articles/9669}, +@inproceedings{Hallyn2008, +author = {Hallyn, S.E. and Morgan, A.G.}, +booktitle = {Linux Symposium}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/Linux Capabilities$\backslash$: making them work.pdf:pdf}, +issn = {1440-1746}, +keywords = {Animals,Gastroenterology,Gastrointestinal Diseases,Humans}, +pmid = {21751466}, +title = {{Linux Capabilities: making them work}}, +url = {http://kernel.org/doc/mirror/ols2008v1.pdf{\#}page=163}, volume = {1}, -year = {2014} +year = {2008} } @book{Utrecht2006, abstract = {Software deployment is the set of activities related to getting$\backslash$r$\backslash$nsoftware components to work on the machines of end users. It includes$\backslash$r$\backslash$nactivities such as installation, upgrading, uninstallation, and so on.$\backslash$r$\backslash$nMany tools have been developed to support deployment, but they all$\backslash$r$\backslash$nhave serious limitations with respect to correctness. For instance,$\backslash$r$\backslash$nthe installation of a component can lead to the failure of previously$\backslash$r$\backslash$ninstalled components; a component might require other components that$\backslash$r$\backslash$nare not present; and it is generally difficult to undo deployment$\backslash$r$\backslash$nactions. The fundamental causes of these problems are a lack of$\backslash$r$\backslash$nisolation between components, the difficulty in identifying the$\backslash$r$\backslash$ndependencies between components, and incompatibilities between$\backslash$r$\backslash$nversions and variants of components.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThis thesis describes a better approach based on a purely functional$\backslash$r$\backslash$ndeployment model, implemented in a deployment system called Nix.$\backslash$r$\backslash$nComponents are stored in isolation from each other in a Nix store.$\backslash$r$\backslash$nEach component has a name that contains a cryptographic hash of all$\backslash$r$\backslash$ninputs that contributed to its build process, and the content of a$\backslash$r$\backslash$ncomponent never changes after it has been built. Hence the model is$\backslash$r$\backslash$npurely functional.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThis storage scheme provides several important advantages. First, it$\backslash$r$\backslash$nensures isolation between components: if two components differ in any$\backslash$r$\backslash$nway, they will be stored in different locations and will not overwrite$\backslash$r$\backslash$neach other. Second, it allows us to identify component dependencies.$\backslash$r$\backslash$nUndeclared build time dependencies are prevented due to the absence of$\backslash$r$\backslash$n"global" component directories used in other deployment systems.$\backslash$r$\backslash$nRuntime dependencies can be found by scanning for cryptographic hashes$\backslash$r$\backslash$nin the binary contents of components, a technique analogous to$\backslash$r$\backslash$nconservative garbage collection in programming language$\backslash$r$\backslash$nimplementation. Since dependency information is complete, complete$\backslash$r$\backslash$ndeployment can be performed by copying closures of components under$\backslash$r$\backslash$nthe dependency relation.$\backslash$r$\backslash$n $\backslash$r$\backslash$nDevelopers and users are not confronted with components' cryptographic$\backslash$r$\backslash$nhashes directly. Components are built automatically from Nix$\backslash$r$\backslash$nexpressions, which describe how to build and compose arbitrary$\backslash$r$\backslash$nsoftware components; hashes are computed as part of this process.$\backslash$r$\backslash$nComponents are automatically made available to users through "user$\backslash$r$\backslash$nenvironments", which are synthesised sets of activated components.$\backslash$r$\backslash$nUser environments enable atomic upgrades and rollbacks, as well as$\backslash$r$\backslash$ndifferent sets of activated components for different users.$\backslash$r$\backslash$n $\backslash$r$\backslash$nNix expressions provide a source-based deployment model. However,$\backslash$r$\backslash$nsource-based deployment can be transparently optimised into binary$\backslash$r$\backslash$ndeployment by making pre-built binaries (keyed on their cryptographic$\backslash$r$\backslash$nhashes) available in a shared location such as a network server. This$\backslash$r$\backslash$nis referred to as transparent source/binary deployment.$\backslash$r$\backslash$n $\backslash$r$\backslash$nThe purely functional deployment model has been validated by applying$\backslash$r$\backslash$nit to the deployment of more than 278 existing Unix packages. In$\backslash$r$\backslash$naddition, this thesis shows that the model can be applied naturally to$\backslash$r$\backslash$nthe related activities of continuous integration using build farms,$\backslash$r$\backslash$nservice deployment and build management.}, @@ -41,18 +31,16 @@ url = {http://www.st.ewi.tudelft.nl/{~}dolstra/pubs/phd-thesis.pdf}, volume = {56}, year = {2006} } -@article{Felter2014, -abstract = {IBM Research Report Isolation and resource control for cloud applications has traditionally been achieve through the use of virtual machines. Deploying applications in a VM results in reduced performance due to the extra levels of abstraction. In a cloud environment, this results in loss efficiency for the infrastructure. Newer advances in container-based virtualization simplifies the deployment of applications while isolating them from one another. In this paper, we explore the performance of traditional virtual machine deployments, and contrast them with the use of Linux containers. We use a suite of workloads that stress the CPU, memory, storage and networking resources. Our results show that containers result in equal or better performance than VM in almost all cases. Both VMs and containers require tuning to support I/O-intensive applicaions. We also discuss the implications of our performance results for future cloud architecture.}, -author = {Felter, Wes and Ferreira, Alexandre and Rajamony, Ram and Rubio, Juan}, -doi = {10.1109/ISPASS.2015.7095802}, -file = {:home/steveej/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Felter et al. - 2014 - An Updated Performance Comparison of Virtual Machines and Linux Containers(3).pdf:pdf}, -isbn = {9781479919574}, -journal = {Technology}, -keywords = {cloud computing,performance,virtualization}, -pages = {171--172}, -title = {{An Updated Performance Comparison of Virtual Machines and Linux Containers}}, -url = {http://domino.research.ibm.com/library/CyberDig.nsf/papers/0929052195DD819C85257D2300681E7B/{\$}File/rc25482.pdf}, -volume = {25482}, +@article{Fink2014, +abstract = {Docker is a relatively new method of virtualization available natively for 64-bit Linux. Compared to more traditional virtualization techniques, Docker is lighter on system resources, offers a git-like system of commits and tags, and can be scaled from your laptop to the cloud.}, +author = {Fink, John}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/Docker - a Software as a Service, Operating System-Level Virtualization Framework.pdf:pdf}, +journal = {Code4Lib}, +number = {25}, +pages = {3--5}, +title = {{Docker: a Software as a Service, Operating System-Level Virtualization Framework}}, +url = {http://journal.code4lib.org/articles/9669}, +volume = {1}, year = {2014} } @book{Sarton1975, @@ -64,6 +52,16 @@ pages = {145}, title = {{Introduction to the history of science.}}, year = {1975} } +@article{Menage2007, +abstract = {While Linux provides copious monitoring and control options for individual processes, it has less support for applying the same operations efficiently to related groups of processes. This has led to multiple proposals for subtly different mechanisms for process aggregation for resource control and isolation. Even though some of these efforts could conceptually operate well together, merging each of them in their current states would lead to duplication in core kernel data structures/routines. The Containers framework, based on the existing cpusets mechanism, provides the generic process group- ing features required by the various different resource controllers and other process-affecting subsystems. The result is to reduce the code (and kernel impact) required for such subsystems, and provide a common interface with greater scope for co-operation. This paper looks at the challenges in meeting the needs of all the stakeholders, which include low overhead, feature richness, completeness and flexible groupings. We demonstrate how to extend containers by writing resource control and monitoring components, we also look at how to implement namespaces and cpusets on top of the framework.}, +author = {Menage, Paul B}, +file = {:home/steveej/src/github/steveej/msc-thesis/papers/Adding Generic Process Containers to the Linux Kernel.pdf:pdf}, +journal = {Proceedings of the Ottawa Linux Symposium}, +pages = {45--58}, +title = {{Adding Generic Process Containers to the Linux Kernel}}, +url = {http://www.kernel.org/doc/ols/2007/ols2007v2-pages-45-58.pdf}, +year = {2007} +} @inproceedings{Reshetova2014, abstract = {The need for flexible, low-overhead virtualization is evident on many fronts ranging from high-density cloud servers to mobile devices. During the past decade OS-level virtualization has emerged as a new, efficient approach for virtualization, with implementations in multiple different Unix-based systems. Despite its popularity, there has been no systematic study of OS-level virtualization from the point of view of security. In this report, we conduct a comparative study of several OS-level virtualization systems, discuss their security and identify some gaps in current solutions.}, archivePrefix = {arXiv}, @@ -80,3 +78,17 @@ title = {{Security of OS-level virtualization technologies}}, volume = {8788}, year = {2014} } +@article{Felter2014, +abstract = {IBM Research Report Isolation and resource control for cloud applications has traditionally been achieve through the use of virtual machines. Deploying applications in a VM results in reduced performance due to the extra levels of abstraction. In a cloud environment, this results in loss efficiency for the infrastructure. Newer advances in container-based virtualization simplifies the deployment of applications while isolating them from one another. In this paper, we explore the performance of traditional virtual machine deployments, and contrast them with the use of Linux containers. We use a suite of workloads that stress the CPU, memory, storage and networking resources. Our results show that containers result in equal or better performance than VM in almost all cases. Both VMs and containers require tuning to support I/O-intensive applicaions. We also discuss the implications of our performance results for future cloud architecture.}, +author = {Felter, Wes and Ferreira, Alexandre and Rajamony, Ram and Rubio, Juan}, +doi = {10.1109/ISPASS.2015.7095802}, +file = {:home/steveej/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Felter et al. - 2014 - An Updated Performance Comparison of Virtual Machines and Linux Containers(3).pdf:pdf}, +isbn = {9781479919574}, +journal = {Technology}, +keywords = {cloud computing,performance,virtualization}, +pages = {171--172}, +title = {{An Updated Performance Comparison of Virtual Machines and Linux Containers}}, +url = {http://domino.research.ibm.com/library/CyberDig.nsf/papers/0929052195DD819C85257D2300681E7B/{\$}File/rc25482.pdf}, +volume = {25482}, +year = {2014} +} From 78ab347ae4c96cab7d01de6a0f9b1cc63c8d852d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 21 Nov 2016 16:15:11 +0100 Subject: [PATCH 071/126] research: add 0install to package managers --- src/docs/parts/research/research.tex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index 2b1de53..4d6bc12 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -47,6 +47,8 @@ This potentially breaks compatibility for the projects that depend on a differen % TODO: cite source https://www.bazel.io/versions/master/docs/external.html#transitive-dependencies +\section{0install} + \chapter{Languages Used For Packaging} \section{Guile Scheme} @@ -57,4 +59,3 @@ Guile implements Scheme and extends it with new features. UX: \url{https://logicgrimoire.wordpress.com/2012/08/25/a-first-guile-script} - From 9e9fb6b2f383ad713cecfa6d9a81d82e046b756c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 22 Nov 2016 13:49:08 +0100 Subject: [PATCH 072/126] thesis: add capabilities overview --- src/docs/glossary.tex | 19 +++++++++-- src/docs/parts/context/context.tex | 52 +++++++++++++++++++++++++----- 2 files changed, 61 insertions(+), 10 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index f667225..f1cf358 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -66,6 +66,13 @@ plural=Linuces } +\newglossaryentry{rootfs}{ + name = RootFS, + description = { + % TODO + }, +} + \newglossaryentry{lxns}{ name = Linux Namespace, description = { @@ -73,11 +80,19 @@ }, } -\newglossaryentry{lxcaps}{ - name = Linux Capabilities, +\newglossaryentry{lxcap}{ + name = Linux Capability, description = { entitiy that holds a specific set of process attributes and can be set per process, mainly to establish a relationship between processes and \gls{OS} resources }, + plural = Linux Capabilities, +} + +\newglossaryentry{lxvfs}{ + name = Linux VFS, + description = { + Virtual Filesystem Switch, a filesystem abstraction layer in \gls{Linux}. + }, } \newglossaryentry{BSD}{ diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 9326368..34ed968 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -74,15 +74,18 @@ With \gls{osvirt}, the control as well as the responsibility for the virtualized In contrast to running an application inside a \gls{VM}, where the host \gls{OS} doesn't know anything beyond the border of the process that runs the \gls{VM} and has no direct control over the application processes inside the \gls{VM}. On \gls{Linux}, there are many different mechanisms to regulate a process's access or its view on resources of all kinds. -It is important to understand not all of these mechanisms contribute to security, and that \gls{osvirt} is more difficult to secure compared to \Glspl{VM}. +It is important to understand that not all of these mechanisms contribute to security, and that \gls{osvirt} is more difficult to secure compared to \Glspl{VM}. \subsubsection{The chroot System Functionality} -The oldest one contributing one of the core functionalities to realize containers is the \textit{change root} functionality\cite{Reshetova2014}. +The oldest mechanism contributing a core functionality to realizing containers is the \textit{change root} functionality\cite{Reshetova2014}. It allows a privileged process to change its effective root \gls{fs}, which can be any directory on the host. Effectively every file accessed by path changing the root \gls{fs} will be prefixed with the new root path automatically by the \gls{OS}. As an example, when a process changes its root \gls{fs} to \textit{/newroot} and then requests to open the file \textit{/file}, the application will transparently access \textit{/newroot/file}. +As a usage example, this allows to easily have a completely separate userspace file structure under \textit{/newroot}. +It could have an application and different libraries installed, which would possibly be in conflict with other libraries if they were installed in the \gls{rootfs} that's in use by host \gls{OS}. -Note that \textit{chroot} has not been designed as a security feature, and therefore privileged \textit{chroot}'ed applications can easily access the host's filesystem if no countermeasures are taken. +Note that \textit{chroot} has not been designed as a security feature, so if no countermeasures are taken, privileged \textit{chroot}'ed applications can still access files outside of the chroot-path if they have the intention to. +% TODO practical example? \subsubsection{Namespaces} \Glspl{lxns} were designed in 2007 and described as lightweight in-kernel virtualization/isolation\cite{Menage2007}. @@ -96,7 +99,7 @@ Collectively, they represent the context of a process, and changes to resources cap = \Glspl{lxns}, caption = \Glspl{lxns}\footnote{from \textit{NAMESPACES(7)} and \textit{UNSHARE(2)}}, maxwidth = \textwidth, - label = tab:lxns + label = tab:lxns, ]{l | X}{}{ \FL Namespace & Resources @@ -120,13 +123,46 @@ Collectively, they represent the context of a process, and changes to resources User & UIDs, GIDs, capabilities \NN - Mount & + \textbf{Mount} & Mount points, /proc/self/mountinfo } +% TODO example how to further isolate filesystem access/view for chrooted process +% TODO practical example? + \subsubsection{Capabilities} -\Glspl{lxcaps} \cite{Hallyn2008} -% TODO +\Glspl{lxcap} provide a mechanism for fine-grained permission control for \gls{Linux} processes and programs files.\cite{Hallyn2008}. +Conventionally, applications that require elevated privileges are started by \textit{root\footnote{the administrator account on \gls{Linux}}}. +By dropping specific unneeded capabilities, the risk of running an applications that needs some but not all of the \textit{root} privileges can be heavily reduced. + +\ctable[ + cap = \Glspl{lxcap}, + caption = \Glspl{lxcap}\footnote{from \textit{CAPABILITIES(7)}}, + maxwidth = \textwidth, + label = tab:lxcap, + ]{c}{}{ +\FL CAP\_AUDIT\_CONTROL, CAP\_AUDIT\_READ, CAP\_AUDIT\_WRITE +\NN CAP\_BLOCK\_SUSPEND, CAP\_CHOWN, CAP\_DAC\_OVERRIDE +\NN CAP\_DAC\_READ\_SEARCH, CAP\_FOWNER, CAP\_FSETID +\NN CAP\_IPC\_LOCK, CAP\_IPC\_OWNER, CAP\_KILL +\NN CAP\_LEASE, CAP\_LINUX\_IMMUTABLE, CAP\_MAC\_ADMIN +\NN CAP\_MAC\_OVERRIDE, CAP\_MKNOD, CAP\_NET\_ADMIN +\NN CAP\_NET\_BIND\_SERVICE, CAP\_NET\_BROADCAST, CAP\_NET\_RAW +\NN CAP\_SETGID, CAP\_SETFCAP, CAP\_SETPCAP +\NN CAP\_SETUID, CAP\_SYS\_ADMIN, CAP\_SYS\_BOOT +\NN \textbf{CAP\_SYS\_CHROOT}, CAP\_SYS\_MODULE, CAP\_SYS\_NICE +\NN CAP\_SYS\_PACCT, CAP\_SYS\_PTRACE, CAP\_SYS\_RAWIO +\NN CAP\_SYS\_RESOURCE, CAP\_SYS\_TIME, CAP\_SYS\_TTY\_CONFIG +\NN CAP\_SYSLOG, CAP\_WAKE\_ALARM, CAP\_SETPCAP +} + +At the time of writing \gls{Linux} the 39 capabilities that are known are listed in table \ref{tab:lxns}. +They are listed explicitly for the sake of completeness, and as a demonstration of how many different privileges are distinguished today on \gls{Linux}. + +It is not important to understand each and every listed \gls{lxcap} for this document. +The highlighted \textit{CAP\_SYS\_CHROOT} serves as a simple example of security potential. +When this capability is dropped after executing the \textit{chroot()} syscall, it is not possible for the executed application to call \textit{chroot()} again. +% TODO practical example? \subsubsection{Control Groups} % TODO @@ -139,7 +175,7 @@ Collectively, they represent the context of a process, and changes to resources \subsubsection{Initialization And Combination Of The Above} When \gls{Linux} is booted, an initial set of namespaces, cgroups, and security contexts are created to contain the first userspace process, typically called init. -Depending on the nature and configuration of the init process, other \glspl{app} are created with a new set of namespaces and cgroups, inherit all or only a selected set from the init process. +Depending on the program and configuration of the init process, other \glspl{app} are created with a new set of namespaces and cgroups, inherit all or only a selected set from the init process. The two concepts can be mingled since the mechanisms allow for a flexible configuration per process. This functionality is exposed via the \gls{Linux} systemcall \gls{API}. From 0abd72b3be2254df32d28a8d1e0e5cd806954e0a Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 29 Nov 2016 17:30:29 +0100 Subject: [PATCH 073/126] thesis: adhere to the one sentence per line rule --- src/docs/parts/context/context.tex | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 34ed968..6306b4f 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -5,13 +5,18 @@ This thesis is a scientific approach to analyze and solve the practical problems For a lack of an official definition and common understanding what this technology is, the term \gls{sac} is defined in this chapter as a reference for the rest of the thesis. The technology combines \gls{virt} techniques with new approaches to \gls{app} development and deployment. -The two main drivers for this technology have been long standing problems in information technology; optimal utilization of hardware and correct deployment of software to said hardware, both without sacrificing security. +The two main drivers for this technology have been long standing problems in information technology; optimal utilization of hardware and correct deployment of software to said hardware, both without sacrificing security. The optimal utilization of hardware is done by collocating and running multiple \glspl{app} simultaneously on the same hardware. -In order to increase security, these applications are separated by applying \gls{virt} techniques. By developing \gls{virt} techniques into the \gls{OS} and thereby providing low-level security mechanisms, the foundation of \glspl{sac} was formed. In the next chapter an introduction to \gls{virt} is given, as it is important to understand this aspect of the \gls{sac} technology. +In order to increase security, these applications are separated by applying \gls{virt} techniques. +By developing \gls{virt} techniques into the \gls{OS} and thereby providing low-level security mechanisms, the foundation of \glspl{sac} was formed. +In the next chapter an introduction to \gls{virt} is given, as it is important to understand this aspect of the \gls{sac} technology. The correctness of software deployment is not easily measurable by quantity like hardware utilization, but is of qualitative nature. -The \gls{sac} approach is to deploy self-contained bundles for \glspl{app} in form of \glspl{saci}. The creation of these \glspl{saci} is the main concern of this thesis and will be the subject to research and development in part \ref{part:research}. The underlying problems related to conventional \gls{app} deployment are covered in chapter \ref{chap:sdd}. State of the art attempts to solve these problems using \glspl{saci} are introduced and critically discussed in chapter \ref{chap:saci}, detailing the problem statement for this thesis. +The \gls{sac} approach is to deploy self-contained bundles for \glspl{app} in form of \glspl{saci}. +The creation of these \glspl{saci} is the main concern of this thesis and will be the subject to research and development in part \ref{part:research}. +The underlying problems related to conventional \gls{app} deployment are covered in chapter \ref{chap:sdd}. +State of the art attempts to solve these problems using \glspl{saci} are introduced and critically discussed in chapter \ref{chap:saci}, detailing the problem statement for this thesis. \chapter{\Gls{virt}} \label{chap:virt} @@ -24,7 +29,8 @@ Virtualization techniques can be grouped by two categories: \glspl{hypervisor} a The term \gls{hypervisor} is synonymous to the more self-explanatory terms control program \cite[p. 217]{Sarton1975} and \gls{VM} Monitor. The \gls{hypervisor} operates on a host machine and can control multiple \glspl{VM}. The principle is easy to understand, because one can simply picture one or many virtual computers running on a real computer. -\glspl{VM} are presented with a set of virtual hardware resources. These don't necessarily exist in the presented form on the underlying hardware machine. +\glspl{VM} are presented with a set of virtual hardware resources. +These don't necessarily exist in the presented form on the underlying hardware machine. \subsection{Guest \glspl{OS}} In order to be able to boot the virtual hardware and run \glspl{app}, \glspl{VM} need an \gls{OS} to run applications. @@ -38,7 +44,9 @@ This allows to create heterogeneous scenarios like running an ARM \gls{VM} using \subsection{\Gls{fs} Storage Isolation} \label{sect:vm-fs-isolation} -The \gls{OS} running inside a \gls{VM} is typically presented with a virtual disk drive. The guest \gls{OS} has to implement the driver for this virtual disk drive. The drive backed by a file on the host system, which can either be a file on a \gls{fs} or point to a block device. +The \gls{OS} running inside a \gls{VM} is typically presented with a virtual disk drive. +The guest \gls{OS} has to implement the driver for this virtual disk drive. +The drive backed by a file on the host system, which can either be a file on a \gls{fs} or point to a block device. By exclusively assigning one virtual disk drive per \gls{VM}, \glspl{VM} not access other \glspl{VM} data. As a result, the \gls{hypervisor} features full isolation between guest's \gls{fs} and also prevents them from accessing the host's files. @@ -47,7 +55,8 @@ As a result, the \gls{hypervisor} features full isolation between guest's \gls{f \label{sect:virt-overhead-app-virt} Compared to running services directly on the host machine, one obvious overhead is that an additional \gls{OS} is required to be installed and configured once upfront, and virtually booted to enable execution of applications within. In case that multiple \glspl{VM} are supposed to run the same application, e.g. with different configuration, each of them will have a separate copy of the \gls{OS} and the application itself, differing only by configuration and runtime data. -For this thesis, the use-case is in which solely the applications running on top of the virtualized \gls{OS} is the required subject to gls{virt} is of highest interest. Further the focus lies on applications that can run on \gls{Linux}. +For this thesis, the use-case is in which solely the applications running on top of the virtualized \gls{OS} is the required subject to gls{virt} is of highest interest. +Further the focus lies on applications that can run on \gls{Linux}. Running a separate virtualized \glspl{OS} in the use-case of virtualizing \gls{Linux} applications involves considerable and unnecessary overhead. In addition there are several performance aspects that are slowed down when running software inside \Glspl{VM}\cite{Felter2014}. @@ -77,22 +86,23 @@ On \gls{Linux}, there are many different mechanisms to regulate a process's acce It is important to understand that not all of these mechanisms contribute to security, and that \gls{osvirt} is more difficult to secure compared to \Glspl{VM}. \subsubsection{The chroot System Functionality} +\label{sect:lpc-chroot} The oldest mechanism contributing a core functionality to realizing containers is the \textit{change root} functionality\cite{Reshetova2014}. It allows a privileged process to change its effective root \gls{fs}, which can be any directory on the host. Effectively every file accessed by path changing the root \gls{fs} will be prefixed with the new root path automatically by the \gls{OS}. As an example, when a process changes its root \gls{fs} to \textit{/newroot} and then requests to open the file \textit{/file}, the application will transparently access \textit{/newroot/file}. As a usage example, this allows to easily have a completely separate userspace file structure under \textit{/newroot}. -It could have an application and different libraries installed, which would possibly be in conflict with other libraries if they were installed in the \gls{rootfs} that's in use by host \gls{OS}. +Hence, the chroot-path could contain an application and different libraries installed, which would otherwise be in conflict with other libraries if they were installed in the \gls{rootfs} that's in use by host \gls{OS}. Note that \textit{chroot} has not been designed as a security feature, so if no countermeasures are taken, privileged \textit{chroot}'ed applications can still access files outside of the chroot-path if they have the intention to. -% TODO practical example? + \subsubsection{Namespaces} \Glspl{lxns} were designed in 2007 and described as lightweight in-kernel virtualization/isolation\cite{Menage2007}. The authors chose to invent a new name instead of using the descriptive term in order to clarify the distinction from the more heavyweight technology of \gls{VM} \glspl{hypervisor}. The various \Glspl{lxns} all represent different attributes related to the process and resource model on \gls{Linux}. Each namespace can contain one or more processes, allowing for arbitrary grouping of processes sharing. -Table \ref{tab:lxns} shows 7 different \Glspl{lxns} that are available at the time of writing. +Table \ref{tab:lxns} shows 7 different \Glspl{lxns} that are available at the time of writing. Collectively, they represent the context of a process, and changes to resources within the respective namespace will only affect processes that share the same namespace. \ctable[ From de1e23f701d1d9820519ab84a5c27bdb37040943 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 29 Nov 2016 20:35:13 +0100 Subject: [PATCH 074/126] thesis/context: more on linux namespaces and capabilities --- src/docs/parts/context/context.tex | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 6306b4f..e70620b 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -98,6 +98,7 @@ Note that \textit{chroot} has not been designed as a security feature, so if no \subsubsection{Namespaces} +\label{sect:lpc-ns} \Glspl{lxns} were designed in 2007 and described as lightweight in-kernel virtualization/isolation\cite{Menage2007}. The authors chose to invent a new name instead of using the descriptive term in order to clarify the distinction from the more heavyweight technology of \gls{VM} \glspl{hypervisor}. The various \Glspl{lxns} all represent different attributes related to the process and resource model on \gls{Linux}. @@ -137,10 +138,17 @@ Collectively, they represent the context of a process, and changes to resources Mount points, /proc/self/mountinfo } -% TODO example how to further isolate filesystem access/view for chrooted process -% TODO practical example? +To continue the example given in section \ref{sect:lpc-chroot}, assuming that a \textit{chroot()} call took place, an application that lies within this chroot-path is going to be executed. +The resulting application, executed through the process that also called \textit{chroot()}, could be further isolated from the outer system by moving the process to a new set of \gls{lxns} before executing the application. +Particularly interesting for this example is the perspective of a new \textbf{Mount}-Namespace, since it further contributes to aspect of filesystem isolation. +Manipulations to the mount points made within the new namespace will not affect other processes on the system. +This is effective for protecting against error cases like, accidental file deletions, but can be considered an initial level of security as the mounts are not propagated to the parent process, allowing the management and usage of specific resources only within a specific set of processes. + +As an example, an application could mount a secured file-resource within the new mount-namespace, and no other process on the system would be able to find this resource by simply searching their view of the filesystem nor by examining the mount table. +If another process is then moved to this mount-namespace it could automatically access the secured filessytem, without the need of having the secrets for and the accomplishment of the mount procedure. \subsubsection{Capabilities} +\label{sect:lpc-caps} \Glspl{lxcap} provide a mechanism for fine-grained permission control for \gls{Linux} processes and programs files.\cite{Hallyn2008}. Conventionally, applications that require elevated privileges are started by \textit{root\footnote{the administrator account on \gls{Linux}}}. By dropping specific unneeded capabilities, the risk of running an applications that needs some but not all of the \textit{root} privileges can be heavily reduced. @@ -169,10 +177,12 @@ By dropping specific unneeded capabilities, the risk of running an applications At the time of writing \gls{Linux} the 39 capabilities that are known are listed in table \ref{tab:lxns}. They are listed explicitly for the sake of completeness, and as a demonstration of how many different privileges are distinguished today on \gls{Linux}. -It is not important to understand each and every listed \gls{lxcap} for this document. -The highlighted \textit{CAP\_SYS\_CHROOT} serves as a simple example of security potential. -When this capability is dropped after executing the \textit{chroot()} syscall, it is not possible for the executed application to call \textit{chroot()} again. -% TODO practical example? +As the focus for this project is not \gls{appc} per-se, but only the method of creation and form of distribution, it is not important to examine every listed \gls{lxcap}, but rather look at an interesting example. +The highlighted \textit{CAP\_SYS\_CHROOT} serves well here for demonstrating the security potential and further extending the example that has been used in \ref{sect:lpc-chroot} and \ref{sect:lpc-ns}. + +After a successful \textit{chroot()}-call and switch to a new mount-namespace, there is still the chance that the process has kept or retrieves a reference to a file on the outside. +This reference can be used to escape the chroot by issuing another \textit{chroot()} syscall to the topmost parent of said file, which is likely the host's root. +When \textit{CAP\_SYS\_CHROOT} is dropped after executing the \textit{chroot()} syscall, the kernel will not permit the executed application to call \textit{chroot()} again, and can hereby effectively prevent the escape. \subsubsection{Control Groups} % TODO From d459e1fdb13353099b8751860bcae8419be40779 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 29 Nov 2016 20:50:03 +0100 Subject: [PATCH 075/126] thesis/research: add more structure --- src/docs/glossary.tex | 7 +++++++ src/docs/parts/research/research.tex | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index f1cf358..e0d379c 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -118,6 +118,13 @@ } } +\newglossaryentry{pm}{ + name=package manager, + description={ + TODO + } +} + \newglossaryentry{sac}{ name=Software Application Container, description={ diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index 4d6bc12..133aab7 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -1,7 +1,12 @@ % // vim: set ft=tex: +\chapter{Topic Refinement} \chapter{Criteria} +This chapter explains the criteria for evaluating available \glspl{pm} for their potential to be part of the developed solution. +\section{Specification Of Complete} + +\section{Binary- and Source Package Support} \section{Installation and Update Mechanism} @@ -13,6 +18,7 @@ \section{Package Repositories} +\section{Efficiency} \chapter{Available Package Managers (and Build Managers)} From 909c877b82d7c07c42197af4fa27c58e56809bc9 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 18 Jan 2017 16:54:28 +0100 Subject: [PATCH 076/126] context/lxcaps: improve wording and table format --- src/docs/parts/context/context.tex | 34 ++++++++++++++-------------- src/docs/parts/research/research.tex | 2 ++ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index e70620b..5e2559f 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -150,31 +150,31 @@ If another process is then moved to this mount-namespace it could automatically \subsubsection{Capabilities} \label{sect:lpc-caps} \Glspl{lxcap} provide a mechanism for fine-grained permission control for \gls{Linux} processes and programs files.\cite{Hallyn2008}. -Conventionally, applications that require elevated privileges are started by \textit{root\footnote{the administrator account on \gls{Linux}}}. -By dropping specific unneeded capabilities, the risk of running an applications that needs some but not all of the \textit{root} privileges can be heavily reduced. +Conventionally, applications that require elevated privileges are set up to run as \textit{root\footnote{the administrator account on \gls{Linux}}} and therefore have \textbf{full} system privileges. +By being able to drop specific unneeded capabilities, the risk in running applications that needs some, but not all, of the \textit{root} privileges can be heavily reduced because. \ctable[ cap = \Glspl{lxcap}, caption = \Glspl{lxcap}\footnote{from \textit{CAPABILITIES(7)}}, maxwidth = \textwidth, label = tab:lxcap, - ]{c}{}{ -\FL CAP\_AUDIT\_CONTROL, CAP\_AUDIT\_READ, CAP\_AUDIT\_WRITE -\NN CAP\_BLOCK\_SUSPEND, CAP\_CHOWN, CAP\_DAC\_OVERRIDE -\NN CAP\_DAC\_READ\_SEARCH, CAP\_FOWNER, CAP\_FSETID -\NN CAP\_IPC\_LOCK, CAP\_IPC\_OWNER, CAP\_KILL -\NN CAP\_LEASE, CAP\_LINUX\_IMMUTABLE, CAP\_MAC\_ADMIN -\NN CAP\_MAC\_OVERRIDE, CAP\_MKNOD, CAP\_NET\_ADMIN -\NN CAP\_NET\_BIND\_SERVICE, CAP\_NET\_BROADCAST, CAP\_NET\_RAW -\NN CAP\_SETGID, CAP\_SETFCAP, CAP\_SETPCAP -\NN CAP\_SETUID, CAP\_SYS\_ADMIN, CAP\_SYS\_BOOT -\NN \textbf{CAP\_SYS\_CHROOT}, CAP\_SYS\_MODULE, CAP\_SYS\_NICE -\NN CAP\_SYS\_PACCT, CAP\_SYS\_PTRACE, CAP\_SYS\_RAWIO -\NN CAP\_SYS\_RESOURCE, CAP\_SYS\_TIME, CAP\_SYS\_TTY\_CONFIG -\NN CAP\_SYSLOG, CAP\_WAKE\_ALARM, CAP\_SETPCAP + ]{X}{}{ +\FL AUDIT\_CONTROL, AUDIT\_READ, AUDIT\_WRITE, +\NN BLOCK\_SUSPEND, CHOWN, DAC\_OVERRIDE, +\NN DAC\_READ\_SEARCH, FOWNER, FSETID +\NN IPC\_LOCK, IPC\_OWNER, KILL +\NN LEASE, LINUX\_IMMUTABLE, MAC\_ADMIN +\NN MAC\_OVERRIDE, MKNOD, NET\_ADMIN +\NN NET\_BIND\_SERVICE, NET\_BROADCAST, NET\_RAW +\NN SETGID, SETFCAP, SETPCAP +\NN SETUID, SYS\_ADMIN, SYS\_BOOT +\NN \textbf{SYS\_CHROOT}, SYS\_MODULE, SYS\_NICE +\NN SYS\_PACCT, SYS\_PTRACE, SYS\_RAWIO +\NN SYS\_RESOURCE, SYS\_TIME, SYS\_TTY\_CONFIG +\NN SYSLOG, WAKE\_ALARM, SETPCAP } -At the time of writing \gls{Linux} the 39 capabilities that are known are listed in table \ref{tab:lxns}. +At the time of writing \gls{Linux} the 39 capabilities that are currently available are listed in table \ref{tab:lxns}. They are listed explicitly for the sake of completeness, and as a demonstration of how many different privileges are distinguished today on \gls{Linux}. As the focus for this project is not \gls{appc} per-se, but only the method of creation and form of distribution, it is not important to examine every listed \gls{lxcap}, but rather look at an interesting example. diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index 133aab7..a9410f0 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -32,8 +32,10 @@ This chapter explains the criteria for evaluating available \glspl{pm} for their \item [Automatic Updates of Sources] { `guix refresh` can update package sources according to defined updaters } + \item [Native CI] { https://notabug.org/mthl/cuirass } \end{description} + \section{Spack} Spack (\url{https://github.com/LLNL/spack}) is a package manager written in Python. From 99b236a84dab7e5e552a8920bb727fd86dc132be Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 11:44:49 +0200 Subject: [PATCH 077/126] src/examples: add guile scheme --- src/examples/guile/hello_world/hello_world.scm | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 src/examples/guile/hello_world/hello_world.scm diff --git a/src/examples/guile/hello_world/hello_world.scm b/src/examples/guile/hello_world/hello_world.scm new file mode 100755 index 0000000..46a26b7 --- /dev/null +++ b/src/examples/guile/hello_world/hello_world.scm @@ -0,0 +1,3 @@ +#!/usr/bin/env guile +!# +(display (+ 3 7)) From 783c3581036e5403a99583b91e5daea44d433408 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 11:45:01 +0200 Subject: [PATCH 078/126] nix-shell: add eqexam --- shell.nix | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/shell.nix b/shell.nix index ae15d3f..f1b379d 100644 --- a/shell.nix +++ b/shell.nix @@ -8,6 +8,44 @@ let }; pkgs = import pkgsSrc {}; + eqexam.pkgs = [ + (pkgs.stdenv.mkDerivation rec { + version = "2012-05-17"; + pname = "eqexam"; + name = "${pname}-${version}"; + tlType = "run"; + + src = pkgs.fetchurl { + url = "http://www.math.uakron.edu/~dpstory/eqexam/eqexam_pack.zip"; + sha256 = "0g4w9ma6cr277li5b8dps9fm9jkjlwzwjc6ix01mw4kva4h5fdrj"; + }; + + buildInputs = [ pkgs.unzip pkgs.texlive.combined.scheme-basic ]; + + buildPhase = " + latex eqexam.ins + "; + + installPhase = " + mkdir -p $out/tex/latex/eqexam + cp -va *.sty *.cfg *.def $out/tex/latex/eqexam + + mkdir -p $out/doc/latex/eqexam + cp -va doc/* $out/doc/latex/eqexam + "; + + meta = { + branch = "3"; + platforms = pkgs.stdenv.lib.platforms.unix; + }; + }) + ]; + + mytexlive = (pkgs.texlive.combine { + inherit (pkgs.texlive) scheme-full; + inherit eqexam; + }); + in pkgs.stdenv.mkDerivation { name = "msc-thesis"; shellHook = '' @@ -141,7 +179,7 @@ in pkgs.stdenv.mkDerivation { ]; }; }) - pkgs.texlive.combined.scheme-full + mytexlive pkgs.zathura ]; } From ae926bbad63380e1e69fcb5c0ff9e58602049b62 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 11:47:18 +0200 Subject: [PATCH 079/126] README.md: initial version --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..fc51435 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# M. Sc. Thesis Repository + +Checkout the branches to see what topics I started to work on. From a2027120d4d0da2abb91ab43d661069dc7cd9c4f Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 11:55:06 +0200 Subject: [PATCH 080/126] README: add topic header --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index fc51435..7ae1c92 100644 --- a/README.md +++ b/README.md @@ -1,3 +1 @@ -# M. Sc. Thesis Repository - -Checkout the branches to see what topics I started to work on. +# Using Static Code Analysis To Improve Kernel-Task Memory-Safety From 70b21105a09bc25308c325c80018d39d37fb6e2d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 11:58:20 +0200 Subject: [PATCH 081/126] git: ignore docs/ --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a188e06 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +docs/* From 8cbb7112364dbc0e82814fb178187f1c97ca5d22 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 14:30:17 +0200 Subject: [PATCH 082/126] static: add pandoc-preview.html --- static/pandoc-preview.html | 423 +++++++++++++++++++++++++++++++++++++ 1 file changed, 423 insertions(+) create mode 100644 static/pandoc-preview.html diff --git a/static/pandoc-preview.html b/static/pandoc-preview.html new file mode 100644 index 0000000..66c9289 --- /dev/null +++ b/static/pandoc-preview.html @@ -0,0 +1,423 @@ + + + + + Markdown Preview + + + + + +
+
+
+
+ + + From cafdf365c0d4b39768ccd02b34f19bd8e637616a Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 15:32:36 +0200 Subject: [PATCH 083/126] thesis: init latex file structure and bibliography --- .gitignore | 22 ++- src/docs/abstract.tex | 26 ++++ src/docs/glossary.tex | 192 +++++++++++++++++++++++++++ src/docs/parts/context/context.tex | 40 ++++++ src/docs/parts/research/research.tex | 4 + src/docs/thesis.bib | 1 + src/docs/thesis.md | 154 +++++++++++++++++++++ src/docs/thesis.tex | 147 ++++++++++++++++++++ src/docs/thesis.tex.latexmain | 0 src/docs/title.tex | 30 +++++ 10 files changed, 615 insertions(+), 1 deletion(-) create mode 100644 src/docs/abstract.tex create mode 100644 src/docs/glossary.tex create mode 100644 src/docs/parts/context/context.tex create mode 100644 src/docs/parts/research/research.tex create mode 120000 src/docs/thesis.bib create mode 100644 src/docs/thesis.md create mode 100644 src/docs/thesis.tex create mode 100644 src/docs/thesis.tex.latexmain create mode 100644 src/docs/title.tex diff --git a/.gitignore b/.gitignore index a188e06..2b671be 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,21 @@ -docs/* +*.swp +*.swo +*.aux +*.fdb_latexmk +*.fls +*.lof +*.log +*.lot +*.synctex.gz +*.toc +src/docs/*.pdf +*.dvi +*.glo +*.ist +*.xdy +.dot/* +*.out +*.bbl +*.blg + +docs/ diff --git a/src/docs/abstract.tex b/src/docs/abstract.tex new file mode 100644 index 0000000..1e5f7ca --- /dev/null +++ b/src/docs/abstract.tex @@ -0,0 +1,26 @@ +\begin{center} +{\Large \textbf{Abstract}} +\end{center} + +\bigskip + +\begin{center} + \begin{tabular}{p{2.8cm}p{10cm}} + Topic: & \topic\\ + & \\ + Applicant: & \authorOne \\ + & \\ + Supervisors: & \supervisorOne \\[.5ex] + & \supervisorTwo\\ + & \\ + Submition: & \submitdate \\ + & \\ + Buzzwords: & \buzzwords \\ + & \\ + \end{tabular} +\end{center} + +\bigskip + +\noindent +TODO: abstract goes here diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex new file mode 100644 index 0000000..e0d379c --- /dev/null +++ b/src/docs/glossary.tex @@ -0,0 +1,192 @@ +% // vim: set ft=tex: + +\newglossaryentry{API}{ + name = API, + description = { + Application Programming Interface + }, +} + +\newglossaryentry{OS}{ + name = Operating System, + description = { + The software that manages the system's hardware ressources. + Other \glspl{app} can access the ressources only through the interface provided by the \gls{OS}. + }, +} + +\newglossaryentry{fs}{ + name = filesystem, + description = { + TODO + }, +} + +\newglossaryentry{virt}{ + name = virtualization, + description = { + TODO + }, +} + +\newglossaryentry{OSS}{ + name = Open-Source Software, + description = { + TODO + }, +} + +\newglossaryentry{osvirt}{ + name = Operating System-Level Virtualization, + description = { + TODO + }, +} + +\newglossaryentry{hypervisor}{ + name = Hypervisor, + description = { + TODO + }, +} + +\newglossaryentry{VM}{ + name = Virtual Machine, + description = { + TODO + }, +} + +\newglossaryentry{Linux}{ + name = Linux, + description = { + is a generic term referring to the family of Unix-like + computer operating systems that use the Linux kernel + }, + plural=Linuces +} + +\newglossaryentry{rootfs}{ + name = RootFS, + description = { + % TODO + }, +} + +\newglossaryentry{lxns}{ + name = Linux Namespace, + description = { + entitiy that holds a specific set of process attributes and can be set per process + }, +} + +\newglossaryentry{lxcap}{ + name = Linux Capability, + description = { + entitiy that holds a specific set of process attributes and can be set per process, mainly to establish a relationship between processes and \gls{OS} resources + }, + plural = Linux Capabilities, +} + +\newglossaryentry{lxvfs}{ + name = Linux VFS, + description = { + Virtual Filesystem Switch, a filesystem abstraction layer in \gls{Linux}. + }, +} + +\newglossaryentry{BSD}{ + name = BSD, + description = { + TODO + } +} + +\newglossaryentry{computer}{ + name = Computer, + description = { + is a programmable machine that receives input, + stores and manipulates data, and provides + output in a useful format + } +} + +\newglossaryentry{app}{ + name=software-application, + description={ + TODO + } +} + +\newglossaryentry{pm}{ + name=package manager, + description={ + TODO + } +} + +\newglossaryentry{sac}{ + name=Software Application Container, + description={ + The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{sacr}. + The term is nuanced from \gls{appc} defined by the \gls{appcorg}. + The \gls{appcorg} is a community driven effort to create an open, standardized specification for developers and users of \gls{sac} technology. + Such independent standards are required to form interoperability between \gls{sac} implementations made by independent parties. + Some implementations will be subject to more detailed examination in Part \ref{part:research}. + } +} +\newglossaryentry{saci}{ + name=Software Application Container Image, + description={ + An archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application. + } +} + +\newglossaryentry{sacr}{ + name=Software Application Container Runtime, + description={ + An application program (suite) that understands how to run the software inside an \gls{saci}. + } +} + +\newglossaryentry{LXC}{ + name=LXC, + description={ + TODO + } +} + +\newglossaryentry{Docker}{ + name=Docker, + description={ + A very popular \gls{sac} platform and application suite, providing functionality to build and deploy Docker specific \glspl{saci}. + } +} + +\newglossaryentry{systemd-nspawn}{ + name=systemd-nspawn, + description={ + TODO + } +} + +\newglossaryentry{rkt}{ + name=rkt, + description={ + TODO + } +} + +\newglossaryentry{appcorg}{ + name=App Container Organisation, + description={ + Organisation for the App Container specification, including the schema and associated tooling. + } +} + +\newglossaryentry{appc}{ + name=App Container, + description={ + Specific variant of an \gls{sac} defined by the \gls{appcorg}. + } +} diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex new file mode 100644 index 0000000..5475720 --- /dev/null +++ b/src/docs/parts/context/context.tex @@ -0,0 +1,40 @@ +% // vim: set ft=tex: +\chapter{Introduction} + +\section{Purpose of the Study} +% Purpose of the Study +%The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. + +\section{Significance of the Study} +% Significance of the Study +% The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. + +\section{Primary Research Questions} +% Primary Research Questions +% The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. + +\section{Hypotheses} +% Hypotheses +% A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. + +\section{Research Design} +% In Chapter 1 this is a summary of the methodology and contains a brief outline of three things: (a) the participants in a qualitative study or the subjects of a quantitative study (human participants are referred tyo as participants, non-human subjects are referred to as subjects), (b) the instrumentation used to collect data, and (c) the procedure that will be followed. All of these elements will be reported in detail in Chapter 3. In a quantitative study, the instrumentation will be validated in Chapter 3 in detail. In a qualitative study, if it is a researcher-created questionnaire, validating the correctness of the interview protocol is usually accomplished with a pilot study. For either a quantitative or a qualitative study, using an already validated survey instrument is easier to defend and does not require a pilot study; however, Chapter 3 must contain a careful review of the instrument and how it was validated by the creator. +% In a qualitative study, which usually involves interviews, the instrumentation is an interview protocol – a pre-determined set of questions that every participant is asked that are based on the primary research questions. A qualitative interview should contain no less than 10 open-ended questions and take no less than 1 hour to administer to qualify as “robust” research. +% In the humanities, a demographic survey should be circulated with most quantitative and qualitative studies to establish the parameters of the participant pool. Demographic surveys are nearly identical in most dissertations. In the sciences, a demographic survey is rarely needed. + +\section{Theoretical Framework} +% The theoretical framework is the foundational theory that is used to provide a perspective upon which the study is based. There are hundreds of theories in the literature. For instance, if a study in the social sciences is about stress that may be causing teachers to quit, Apple’s Intensification Theory could be cited as the theory was that stress is cumulative and the result of continuing overlapping, progressively stringent responsibilities for teachers that eventually leads to the desire to quit. In the sciences, research about new species that may have evolved from older, extinct species would be based on the theory of evolution pioneered by Darwin. +% Some departments put the theoretical framework explanation in Chapter 1; some put it in Chapter 2. + +\section{Assumptions, Limitations, and Scope (Delimitations)} +% Assumptions are self-evident truths. In a qualitative study, it may be assumed that participants be highly qualified in the study is about administrators. It can be assumed that participants will answer truthfully and accurately to the interview questions based on their personal experience, and that participants will respond honestly and to the best of their individual abilities. +% Limitations of a study are those things over which the research has no control. Evident limitations are potential weaknesses of a study. Researcher biases and perceptual misrepresentations are potential limitations in a qualitative study; in a quantitative study, a limitation may be the capability of an instrument to accurately record data. + +% Scope is the extent of the study and contains measurements. In a qualitative study this would include the number of participants, the geographical location, and other pertinent numerical data. In a quantitative study the size of the elements of the experiment are cited. The generalizability of the study may be cited. The word generalizability, which is not in the Word 2007 dictionary, means the extent to which the data are applicable in places other than where the study took place, or under what conditions the study took place. +% Delimitations are limitations on the research design imposed deliberately by the researcher. Delimitations in a social sciences study would be such things as the specific school district where a study took place, or in a scientific study, the number of repetitions. + +\section{Definition of Terms} +% The definition of terms is written for knowledgeable peers, not people from other disciplines As such, it is not the place to fill pages with definitions that knowledgeable peers would know at a glance. Instead, define terms that may have more than one meaning among knowledgeable peers. + +\section{Summary} +% Summarize the content of Chapter 1 and preview of content of Chapter 2. diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex new file mode 100644 index 0000000..d92e451 --- /dev/null +++ b/src/docs/parts/research/research.tex @@ -0,0 +1,4 @@ +% // vim: set ft=tex: +\chapter{Topic Refinement} + +\chapter{Criteria} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib new file mode 120000 index 0000000..9a0ca81 --- /dev/null +++ b/src/docs/thesis.bib @@ -0,0 +1 @@ +/home/steveej/src/mendeley/Static-Code-Analysis-Kernel-Memory-Saftey.bib \ No newline at end of file diff --git a/src/docs/thesis.md b/src/docs/thesis.md new file mode 100644 index 0000000..4cdad50 --- /dev/null +++ b/src/docs/thesis.md @@ -0,0 +1,154 @@ +% From Declarative Source-Package Management to Application Container Deployment +% Stefan Junker +% Wintersemester 2016/2017 + +* Source-Based Build System for Application Containers +* From Declarative Source-Package Management to Application Container Deployment +* Container Build System using Source-Package Management +* Using A Declarative And Deterministic Source-Package Manager to Build Application Container Images + +# Introduction To Topic And The Underlying Problem +(...) + +## Basic Terms and Relations +Before solving the underlying problem, I want to give a brief summary of what I'm referring to as packages, containers, application and their source. Further enlarging upon the definitions will follow in succeeding chapters when more detailed knowledge will be required. + +### Application +In the context of computers and their operating systems, an application consists of a unique set of files that are required to execute that specific application on the running operating system. +The operating system understands how to execute the application's files, which are binary translations from the application source code. + +For reasons that will be discussed in a later chapter, almost every application is written to depend on library functions that are not part of the application itself, but need to be properly installed on the operating system for the applications to find and use it. + +### Package +In order to install an run application and library files on different systems, their set of files are packed into single files. +These are called packages, and can be transferred to other computers and installed there via the operating systems package manager. + +### Application Container +If an application and all it's needed library function files are instead packed together into one file it can be called an application container image. + +TODO: explain the different understandings of what a container is and what is relevant for this thesis + +#### Chroot +On Linux, the syscall _chroot()_ will change the effective root directory for the current process. +TODO + +#### Namespaces +TODO + +#### Cgroup + +## Ideology versus Reality +In the ideal case it would be possible to install an application and its required shared library files in every possible combination on the same computer, which as an example could mean to install many different applications, multiple versions of the same application and libraries and of course a combination. +It would also not cause a conflict or side effects if the shared libraries, that are required by different applications, have to be installed in multiple different versions. + +Unsurprisingly the reality is not ideal, at least not for many popular operating systems and their included package management systems. + + +### Classical (Non Container) Attempts +Developers of operating systems and package managers have been trying to achieve this ideal situation for a long time. +The most widely spread Operating Systems and their package managers still suffer from the described problem + +* TODO: statistics about OSs in use + +* TODO bare-metal OS installations +* TODO packages installed and run in the top OS layer +* TODO Application and dependency deployment +* TODO Pick up on explain package conflict. +* TODO Application life cycle management +* TODO explain how application containers provide an interface between the system and the application +* TODO container life cycle management + +* TODO: the thesis does not cover isolation requirements for improved security + +## Human Roles and Interaction +* TODO: operating system developer +* TODO: system administrator +* TODO: system architect +* TODO: application developer +* TODO: application packager +* TODO: interfaces and interactions + * OS configuration -> application agnostic? + * Network topology management -> isolation of networking? + +* TODO rewrite: + Typically the system administrator doesn't necessarily think about the work-flow of an application developer and vise versa. + The system architect unfortunately isn't oftentimes involved in the decision making of the administrator and application developer. + This circumstance can and eventually will lead to applications running on systems that have undergone severe workarounds to make it work at all. + The DevOps movement, which is a modern term and attempt to combine the three aforementioned three roles, has been trying to solve the described problem with tools for automatic system configuration. + +## Personal Role Experiences +I've been able to collect first-hand experience in multiple of the aforementioned roles, which allowed me to create a very broad view of use-cases and their respective requirements in which containers can be used to improve the overall situation. + +The most recent project that I want to name is called [embEDUx][embEDUx], and it aims to provide a flexible solution for creating and deploying a customized Linux distribution for embedded systems in an educational context. +My main part within that project was to design the overall architecture of the build system and to develop the specification for the system archive and the method of processing it to a complete system archive. +Additional experience in this area comes from my work on projects for customers that consulted me to advise and administer their IT small-business infrastructure. + +## Intention +* TODO: evaluate the existing build systems, their design choices and resulting features and methodologies. +The intention for customizing and adapting each one of them to make them suitable for two types of users, system administrators and application developers. + +# Design Specification +## Scope +* Package format +* Creating +* Package selection +* Post-Install commands + + +# Pre-Evaluation +* TODO: explain and mention 12-factor apps + +## Criteria +* Usability +* Correctness + +## Automated System Administration +* puppet +* chef +* ansible + +## Build Systems +* Package Mangers + * Portage + * Nix (and NixOS) +* Embedded Targeted + * embEDUx' buildrootfs routine + * baserock + * yocto + * openembedded + * buildroot +* Distribution Release tools + * Debian - https://wiki.debian.org/ReproducibleBuilds + * Nix + * ChromeOS/CoreOS SDK + * Gentoo Catalyst +* Docker related + * docker build (Dockerfile) +* ACI related + * acbuild + +## Runtimes + +* Docker +* rkt + +## Deployment + +### Nix + rkt + + +# Discussion +* Distributing +* Discovering +* Running + +# Terminology + +* Application: TODO +* Container: TODO +* Application Container: TODO +* Application Container Image: TODO +* DevOps: TODO + +# References +[embEDUx]: https://embedux.github.io/documentation diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex new file mode 100644 index 0000000..6fdaf4c --- /dev/null +++ b/src/docs/thesis.tex @@ -0,0 +1,147 @@ +\documentclass[12pt,a4paper]{report} + +\usepackage[utf8]{inputenc} + +\usepackage{titlesec} % titleformat +\usepackage{blindtext,color,fancyhdr} + +\usepackage{geometry} +\geometry{a4paper, top=25mm, left=30mm, right=35mm, bottom=35mm, headsep=10mm, footskip=12mm} + +%\usepackage{multirow,tabularx,tabu} +\usepackage{ctable,multirow} + +\usepackage{cite} +\bibliographystyle{plain} + +\usepackage[hyphens]{url} +\Urlmuskip = 0mu plus 1mu + +\usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} +\makenoidxglossaries + +\newcommand{\topic}{Leveraging Static Code Analysis To Improve The Memory Safety For Kernel Tasks} + +\newcommand{\authorOne}{Stefan Junker} +\newcommand{\authorOneInit}{SJ} +\newcommand{\authorOnestreet}{Alemannenstr. 7} +\newcommand{\authorOnezip}{78467} +\newcommand{\authorOnecity}{Konstanz} +\newcommand{\authorOneCountry}{Germany} +\newcommand{\authorOneId}{283751} +\newcommand{\supervisorOne}{Prof. Dr. Michael Mächtel} +\newcommand{\supervisorTwo}{?} +\newcommand{\studies}{TODO studies} +\newcommand{\startdate}{2017/3/1} +\newcommand{\submitdate}{2017/7/30} +\newcommand{\buzzwords}{TODO buzzwords} + +% Numbered Subsubsections +\setcounter{secnumdepth}{3} + +\date{Summersemester 2017} +\title{\topic} + +\author{authorOne} + +\usepackage{etoolbox} +\patchcmd{\part}{\thispagestyle{plain}}{\thispagestyle{empty}} + {}{\errmessage{Cannot patch \string\part}} + +\fancypagestyle{empty}{% + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \fancyhf{} +} + +\fancypagestyle{front}{% + \pagenumbering{roman} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \fancyhf{} +} + +\fancypagestyle{preamble}{% + \pagenumbering{roman} + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \fancyhf{} + \fancyfoot[R]{\thepage{}} +} + +\fancypagestyle{main}{% + \pagenumbering{arabic} + \renewcommand{\headrulewidth}{0.25pt} + \renewcommand{\footrulewidth}{0.25pt} + \fancyhf{} + \addtolength{\headwidth}{\marginparsep} + \headheight=15pt + \fancyhead[L]{\footnotesize\nouppercase{\leftmark}} + \fancyhead[C]{} + \fancyhead[R]{} + \fancyfoot[R]{\thepage{}} +} + +\titlespacing*{\chapter}{0cm}{-1cm}{0.75cm} +\titleformat{\chapter}[hang]{\normalfont\Large\bfseries}{\thechapter}{0.5cm}{} + +\makeatletter + +%\renewcommand\paragraph{\startsection{paragraph}{4}{\z}% +% {-3.25ex\plus -1ex \minus -.2ex}% +% {0.0001pt \plus 0.2ex}% +% {\normalfont\normalsize\bfseries}} +\renewcommand\subparagraph{\startsection{subparagraph}{5}{\z}% + {-3.25ex\plus -1ex \minus -.2ex}% + {0.0001pt \plus 0.2ex}% + {\normalfont\normalsize\bfseries}} +\makeatother +\include{glossary} + +\overfullrule=1cm + +\begin{document} + + %TODO: \include{cover} +\pagestyle{front} + \include{title} + +\pagestyle{preamble} + \include{abstract} + %TODO: \include{affidavit} + \cleardoublepage + \newcounter{roman_pagenumbers} % save page number + \setcounter{roman_pagenumbers}{\value{page}} + +\pagestyle{main} + %TODO \include{acknowledgments} + + \chapter*{Preface} + This thesis is original, unpublished, independent work by the author, \authorOne. + I strongly believe in openness and collaboration in the development of new technology, therefore the development will be based solely on Open-Source software. + The results of this project will be freely available on my personal Github site\footnote{https://github.com/steveeJ/msc-thesis} once the academic process of this project is complete. + + + \tableofcontents + + \part{Context} + + \printnoidxglossary + + \include{parts/context/context} + + \part{Research} + \label{part:research} + \include{parts/research/research} + + \part{Development} + \part{Conclusion} + + \newpage + %TODO \listofmyequations + \listoftables + %TODO \lstlistoflistings + \listoffigures + \bibliography{thesis} + +\end{document} diff --git a/src/docs/thesis.tex.latexmain b/src/docs/thesis.tex.latexmain new file mode 100644 index 0000000..e69de29 diff --git a/src/docs/title.tex b/src/docs/title.tex new file mode 100644 index 0000000..979a79c --- /dev/null +++ b/src/docs/title.tex @@ -0,0 +1,30 @@ +{ + \setlength{\parskip}{0.5cm} + \begin{center} + \textbf{\huge Master's Thesis} + + \textbf{for achieving the academic degree} + + \textbf{\Large Master of Science (M. Sc.)}\\ + [10ex] + + \textsf{\huge University Of Applied Sciences, Constance}\\ + [10ex] + + \textsf{\Large Faculty For Information Technology}\\ + Studies \studies + \end{center} +} + +\begin{center} + \vspace*{2cm} + \begin{tabular}{p{3cm}p{10cm}} + Topic: & \textbf{\large \topic} \\[10ex] + Applicant: & \authorOne, \authorOnestreet, \authorOnezip$ $ \authorOnecity, \authorOneCountry \\ + & Student Identification Number: \authorOneId\\[10ex] + 1st Supervisor: & \supervisorOne\\ + 2nd Supervisor: & \supervisorTwo\\[10ex] + Start Date: & \startdate\\ + Submit Date: & \submitdate\\ + \end{tabular} +\end{center} From 05f818758a7ae974daf771d87bd4e0141336196a Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 15:33:03 +0200 Subject: [PATCH 084/126] shell.nix: init --- shell.nix | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 shell.nix diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..afe99db --- /dev/null +++ b/shell.nix @@ -0,0 +1,151 @@ +let + nixpkgs = import {}; + pkgsSrc = nixpkgs.pkgs.fetchFromGitHub { + owner = "nixos"; + repo = "nixpkgs-channels"; + rev = "b0d07aa894007a52466b06eced06c1eee469ee1c"; + sha256 = "0cnwy3ivjz8z8jd5vvx4m5v76vzwq9hh7vh6gah83x47ggipk7ii"; + }; + pkgs = import pkgsSrc {}; + + mytexlive = (pkgs.texlive.combine { + inherit (pkgs.texlive) scheme-full; + }); + +in pkgs.stdenv.mkDerivation { + name = "msc-thesis"; + shellHook = '' + alias vim-thesis="vim -p --servername VIM -- \ + $PWD/src/docs/thesis.tex \ + $PWD/src/docs/glossary.tex \ + $PWD/src/docs/parts/context/context.tex \ + $PWD/src/docs/parts/research/research.tex \ + " + ''; + buildInputs = [ + pkgs.xdotool + (pkgs.vim_configurable.customize { + name = "vim"; + vimrcConfig = { + # add custom .vimrc lines like this: + customRC = '' + set nocompatible + + " leader + let mapleader = ',' + + set hidden + syntax on + set hlsearch + set number + + " mappings to stop insert mode + imap jjj + imap kkk + imap lll + imap hhh + set scroll=11 + + noremap :tabn + noremap :tabp + let g:ctrlp_map = '' + let g:ctrlp_custom_ignore = { + \ 'dir': '\v[\/]\.(git|hg|svn|)$$', + \ 'file': '\v\.(exe|so|dll|so|swp|zip|aux|log|fdb_latexmk|fdb|dvi|lof|lot|pdf|fls|toc|gz|latexmain)$$', + \ } + + " allways show status line + set ls=2 + set tabstop=4 + set shiftwidth=4 + set softtabstop=4 + set expandtab + "set textwidth=80 + + " sync default register to clipboard { + if has('unnamedplus') + set clipboard=unnamedplus + else + set clipboard=unnamed + endif + " } + + " colored brackets { + let g:rbpt_colorpairs = [ + \ ['brown', 'RoyalBlue3'], + \ ['Darkblue', 'SeaGreen3'], + \ ['darkgray', 'DarkOrchid3'], + \ ['darkgreen', 'firebrick3'], + \ ['darkcyan', 'RoyalBlue3'], + \ ['darkred', 'SeaGreen3'], + \ ['darkmagenta', 'DarkOrchid3'], + \ ['brown', 'firebrick3'], + \ ['gray', 'RoyalBlue3'], + \ ['black', 'SeaGreen3'], + \ ['darkmagenta', 'DarkOrchid3'], + \ ['Darkblue', 'firebrick3'], + \ ['darkgreen', 'RoyalBlue3'], + \ ['darkcyan', 'SeaGreen3'], + \ ['darkred', 'DarkOrchid3'], + \ ['red', 'firebrick3'], + \ ] + let g:rbpt_max = 16 + let g:rbpt_loadcmd_toggle = 0 + + au VimEnter * RainbowParenthesesToggle + au Syntax * RainbowParenthesesLoadRound + au Syntax * RainbowParenthesesLoadSquare + au Syntax * RainbowParenthesesLoadBraces + " } + set backspace=indent,eol,start + colorscheme PaperColor + + " Latex Related {{{ + au BufRead,BufNewFile *.tex,*.md,*.markdown setlocal spell spelllang=en_us + + let g:vimtex_view_method = 'zathura' + + let g:vimtex_complete_enabled = 1 + let g:vimtex_complete_close_braces = 1 + let g:vimtex_complete_recursive_bib = 1 + let g:vimtex_indent_enabled = 1 + let g:vimtex_indent_bib_enabled = 1 + + if !exists('g:ycm_semantic_triggers') + let g:ycm_semantic_triggers = {} + endif + let g:ycm_semantic_triggers.tex = [ + \ 're!\\[A-Za-z]*cite[A-Za-z]*(\[[^]]*\]){0,2}{[^}]*', + \ 're!\\[A-Za-z]*ref({[^}]*|range{([^,{}]*(}{)?))', + \ 're!\\hyperref\[[^]]*', + \ 're!\\includegraphics\*?(\[[^]]*\]){0,2}{[^}]*', + \ 're!\\(include(only)?|input){[^}]*', + \ 're!\\\a*(gls|Gls|GLS)(pl)?\a*(\s*\[[^]]*\]){0,2}\s*\{[^}]*', + \ 're!\\includepdf(\s*\[[^]]*\])?\s*\{[^}]*', + \ 're!\\includestandalone(\s*\[[^]]*\])?\s*\{[^}]*', + \ ] + + function! ViewerCallback() dict + call self.forward_search(self.out) + endfunction + let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' + " }}} + ''; + + vam.knownPlugins = pkgs.vimPlugins; + vam.pluginDictionaries = [ + "youcompleteme" + "vim-airline" + "ctrlp" + "vim-css-color" + "rainbow_parentheses" + "vim-colorschemes" + "vim-signify" + "vimtex" + ]; + }; + }) + mytexlive + pkgs.zathura + ]; +} From 9a18b40dadc10c86e77a63db1a4735260073c184 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 16:39:52 +0200 Subject: [PATCH 085/126] thesis: topic refinement --- src/docs/thesis.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 6fdaf4c..01a169d 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -20,7 +20,7 @@ \usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} \makenoidxglossaries -\newcommand{\topic}{Leveraging Static Code Analysis To Improve The Memory Safety For Kernel Tasks} +\newcommand{\topic}{Ensuring Memory-Safety within Address Spaces Using Rust's Static Code Analysis} \newcommand{\authorOne}{Stefan Junker} \newcommand{\authorOneInit}{SJ} From 15629798225a73b1949a6c533ff7e0d3d004c3e2 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 18:51:19 +0200 Subject: [PATCH 086/126] refine topic --- src/docs/thesis.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 01a169d..33efc9f 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -12,7 +12,7 @@ \usepackage{ctable,multirow} \usepackage{cite} -\bibliographystyle{plain} +\bibliographystyle{ieeetr} \usepackage[hyphens]{url} \Urlmuskip = 0mu plus 1mu @@ -20,7 +20,7 @@ \usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} \makenoidxglossaries -\newcommand{\topic}{Ensuring Memory-Safety within Address Spaces Using Rust's Static Code Analysis} +\newcommand{\topic}{Guaranteeing In-Kernel Memory-Safety Using Rust's Static Code Analysis} \newcommand{\authorOne}{Stefan Junker} \newcommand{\authorOneInit}{SJ} From ec720b119000b8ef4f4a9f8d4c1e41686662546e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Wed, 5 Apr 2017 18:51:02 +0200 Subject: [PATCH 087/126] context: working on intro --- src/docs/glossary.tex | 21 +++++++++++++++++++++ src/docs/parts/context/context.tex | 13 ++++++++++--- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index e0d379c..131d44a 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -1,5 +1,26 @@ % // vim: set ft=tex: +\newglossaryentry{rustlang}{ + name = Rust, + description = { + The Rust Programming Language. + }, +} + +\newglossaryentry{compiler}{ + name = compiler, + description = { + A program that can transform software source code to executable machine code. + }, +} + +\newglossaryentry{addrspace}{ + name = memory address space, + description = { + A logical entity that represents parts of the virtual memory, specified with a starting address and the length in a standardize unit + }, +} + \newglossaryentry{API}{ name = API, description = { diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 5475720..c194baa 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,15 +1,22 @@ % // vim: set ft=tex: \chapter{Introduction} +This thesis studies the feasibility of using static code analysis, as found in the \gls{rustlang}'s \gls{compiler}, to ensure memory safety within an \gls{OS} kernel. -\section{Purpose of the Study} % Purpose of the Study %The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. +The purpose of this study is to evaluate Rust's feasibility to guarantee memory safety when it's used for \gls{OS} development. + +% Scope +In the general sense an \gls{OS} is a \gls{app} that runs within one \gls{addrspace} and is able to run on the hardware platform without any abstraction. +This study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS}. +The main reason for this is that the due to its nature, the \gls{OS} is the only \gls{app} that has unrestricted access to the system's hardware, which makes it the most important \gls{app} to maintain secure. -\section{Significance of the Study} % Significance of the Study % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. +The current de-facto standard language for \gls{OS} development appears to be the C, a very popular \gls{OS} example is \gls{Linux}. +Recent years have shown how prone it is to security vulnerabilities, which is covered by exemplary details within this study. (TODO reference) + -\section{Primary Research Questions} % Primary Research Questions % The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. From fa009e54276e31f9b537ca502c2da45932624a32 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 6 Apr 2017 16:41:01 +0200 Subject: [PATCH 088/126] bib: intermittent removal --- src/docs/thesis.bib | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) mode change 120000 => 100644 src/docs/thesis.bib diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib deleted file mode 120000 index 9a0ca81..0000000 --- a/src/docs/thesis.bib +++ /dev/null @@ -1 +0,0 @@ -/home/steveej/src/mendeley/Static-Code-Analysis-Kernel-Memory-Saftey.bib \ No newline at end of file diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib new file mode 100644 index 0000000..3d952b5 --- /dev/null +++ b/src/docs/thesis.bib @@ -0,0 +1,38 @@ +Automatically generated by Mendeley Desktop 1.17.8 +Any changes to this file will be lost if it is regenerated by Mendeley. + +BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop + +@misc{Endler, +author = {Endler, Matthias}, +title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, +url = {https://github.com/mre/awesome-static-analysis} +} +@article{Dhurjati2003, +abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, +author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, +doi = {10.1145/780742.780743}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, +isbn = {0362-1340}, +issn = {03621340}, +journal = {Acm Sigplan Notices}, +keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, +number = {7}, +pages = {69--80}, +title = {{Memory safety without runtime checks or garbage collection}}, +volume = {38}, +year = {2003} +} +@article{Levy2015a, +abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, +author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, +doi = {10.1145/2818302.2818306}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, +isbn = {9781450339421}, +journal = {PLOS: Workshop on Programming Languages and Operating Systems}, +keywords = {embedded operating systems,linear types,ownership,rust}, +pages = {21--26}, +title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, +url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, +year = {2015} +} From a15d58dd73199467a6dfa8c700fc78de98e50942 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 6 Apr 2017 16:44:13 +0200 Subject: [PATCH 089/126] bib: add back with content From 927c80710358e37cfd66b57878ecd94a64925fec Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 6 Apr 2017 16:47:25 +0200 Subject: [PATCH 090/126] context: fix typos --- src/docs/parts/context/context.tex | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index c194baa..a4b1be0 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,6 +1,6 @@ % // vim: set ft=tex: \chapter{Introduction} -This thesis studies the feasibility of using static code analysis, as found in the \gls{rustlang}'s \gls{compiler}, to ensure memory safety within an \gls{OS} kernel. +This thesis studies the feasibility of using static code analysis, as found in the \gls{rustlang} \gls{compiler}, to ensure memory safety within an \gls{OS} kernel. % Purpose of the Study %The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. @@ -15,7 +15,6 @@ The main reason for this is that the due to its nature, the \gls{OS} is the only % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. The current de-facto standard language for \gls{OS} development appears to be the C, a very popular \gls{OS} example is \gls{Linux}. Recent years have shown how prone it is to security vulnerabilities, which is covered by exemplary details within this study. (TODO reference) - % Primary Research Questions % The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. From 091c720cb853401970899e231536ced701ef60d2 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 6 Apr 2017 17:08:46 +0200 Subject: [PATCH 091/126] shell/vim: copy bib file from mendeley on save --- shell.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shell.nix b/shell.nix index afe99db..2d262af 100644 --- a/shell.nix +++ b/shell.nix @@ -130,6 +130,8 @@ in pkgs.stdenv.mkDerivation { endfunction let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' " }}} + + autocmd BufWritePost * execute ':silent ! cp /home/steveej/src/mendeley/Static-Code-Analysis-Kernel-Memory-Saftey.bib /home/steveej/src/steveej/msc-thesis/src/docs/thesis.bib >/dev/null 2>&1' ''; vam.knownPlugins = pkgs.vimPlugins; From 146098e534f986bf8607ba34844aca77501fa469 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 29 Jun 2017 14:31:59 +0200 Subject: [PATCH 092/126] thesis: work on frontmatter --- src/docs/thesis.tex | 12 +++++++----- src/docs/title.tex | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 33efc9f..97f7cad 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -20,7 +20,9 @@ \usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} \makenoidxglossaries -\newcommand{\topic}{Guaranteeing In-Kernel Memory-Safety Using Rust's Static Code Analysis} +\usepackage{listings} + +\newcommand{\topic}{Guaranteed In-Kernel Memory-Safety Using Rust's Static Code Analysis} \newcommand{\authorOne}{Stefan Junker} \newcommand{\authorOneInit}{SJ} @@ -30,10 +32,10 @@ \newcommand{\authorOneCountry}{Germany} \newcommand{\authorOneId}{283751} \newcommand{\supervisorOne}{Prof. Dr. Michael Mächtel} -\newcommand{\supervisorTwo}{?} -\newcommand{\studies}{TODO studies} -\newcommand{\startdate}{2017/3/1} -\newcommand{\submitdate}{2017/7/30} +\newcommand{\supervisorTwo}{Felix Schuckert} +\newcommand{\studies}{Master Information Technology - Embedded And Mobile Systems} +\newcommand{\startdate}{2017/4/1} +\newcommand{\submitdate}{2017/8/31} \newcommand{\buzzwords}{TODO buzzwords} % Numbered Subsubsections diff --git a/src/docs/title.tex b/src/docs/title.tex index 979a79c..1ff9a02 100644 --- a/src/docs/title.tex +++ b/src/docs/title.tex @@ -1,7 +1,7 @@ { \setlength{\parskip}{0.5cm} \begin{center} - \textbf{\huge Master's Thesis} + \textbf{\huge Thesis} \textbf{for achieving the academic degree} @@ -12,7 +12,7 @@ [10ex] \textsf{\Large Faculty For Information Technology}\\ - Studies \studies + Studies: \studies \end{center} } From 61e3e451c63a12798da07176e7ad3246ffdb1e78 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 29 Jun 2017 14:38:25 +0200 Subject: [PATCH 093/126] thesis/context: introduce topic; add pointer example --- src/docs/parts/context/context.tex | 54 +++++++++++-- src/docs/parts/research/research.tex | 49 +++++++++++- src/docs/thesis.bib | 110 +++++++++++++++++++++++++-- 3 files changed, 201 insertions(+), 12 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index a4b1be0..2f93066 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,24 +1,46 @@ % // vim: set ft=tex: \chapter{Introduction} This thesis studies the feasibility of using static code analysis, as found in the \gls{rustlang} \gls{compiler}, to ensure memory safety within an \gls{OS} kernel. +Because an \gls{OS} is nothing but a \gls{app}, this study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources. +The \gls{OS} is the only \gls{app} that has unrestricted access to these resources, and in order to protect them it needs to be secure. % Purpose of the Study %The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. The purpose of this study is to evaluate Rust's feasibility to guarantee memory safety when it's used for \gls{OS} development. -% Scope -In the general sense an \gls{OS} is a \gls{app} that runs within one \gls{addrspace} and is able to run on the hardware platform without any abstraction. -This study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS}. -The main reason for this is that the due to its nature, the \gls{OS} is the only \gls{app} that has unrestricted access to the system's hardware, which makes it the most important \gls{app} to maintain secure. +* TODO: Qualitative or Quantitative? % Significance of the Study % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. -The current de-facto standard language for \gls{OS} development appears to be the C, a very popular \gls{OS} example is \gls{Linux}. -Recent years have shown how prone it is to security vulnerabilities, which is covered by exemplary details within this study. (TODO reference) +The de-facto standard language for \gls{OS} development appears to be the C (TODO: reference). +A very popular \gls{OS} that has been developed with C (and some assembly) is \gls{Linux}. +Recent years have shown how prone it is to vulnerabilities which are the result of programming errors leading to insecure memory handling. +This is covered by exemplary details within this study. (TODO reference) +* TODO: is it even theoretically possible to write safe C code? + +\section{Common Memory-Related Errors} + +\subsection{Uninitialized Pointers} + +\begin{lstlisting}[language=C, + directivestyle={\color{black}} + emph={int,char,double,float,unsigned}, + emphstyle={\color{blue}} + ] +char *src = "hello" ; // character string constant +char *dst; // unallocated +strcpy(dst, src); // segfault and die +\end{lstlisting} + +\section{Static Code Analysis} +* TODO: Difference between static- and runtime checks + +\section{Programming the OS in Rust: Guaranteed Memory Safety?} % Primary Research Questions % The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. + \section{Hypotheses} % Hypotheses % A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. @@ -44,3 +66,23 @@ Recent years have shown how prone it is to security vulnerabilities, which is co \section{Summary} % Summarize the content of Chapter 1 and preview of content of Chapter 2. + +\chapter{Memory Management Techniques} + +* http://wiki.osdev.org/Memory_Management_Unit + +\section{Multi-Level Paging} +\subsection{Top-Levle Pagetable Self-Reference} + +* http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html +* https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows + + +\chapter{Introduction To Rust} + +\section{Zero-Cost Abstractions} +\subsection{The Newtype Pattern} + +https://aturon.github.io/features/types/newtype.html + + diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index d92e451..8e69279 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -1,4 +1,51 @@ % // vim: set ft=tex: \chapter{Topic Refinement} -\chapter{Criteria} +\section{Static Checks} +* TODO: Difference between static- and runtime checks + +\subsection{Define Additional Anlyse Rules} +* Example: TLB needs to be reset on Task Change + +\subsection{Static Variable Declaration} + + + +\section{Virtual Memory Management In Hard- and Software} +* Architecture choice: x86\_64 +* CPU supports + +* TODO: Is the static analysis of hardware specific assembly code possible and useful at all? + * LLVM knows about the target and can potentially give hints about hardware specific instructions +* TODO: On which level can abstraction in Rust code start? + +\subsection{Interrupts} +* https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf p. 2848 + + +\section{Testing} +* How effective are tests? +* Are they necessary in addition to static checks? + + +\chapter{Using Rust Within Non-Rust Operating Systems} +\section{Linux Kernel Modules} + +* TODO: describe Difficulties with Macros used Within Kernel + +\chapter{OS Designs Based On Rust} + +Thread Libraries: +* https://github.com/edef1c/libfringe + +\section{Blog OS} +\section{intermezzOS} +\subsection{Memory Management} +* Which language items help with managing memory? +* How generic can the memory allocators be written? + +Guarantees to be statically checked: +* Prevent access to unmapped physical memory +* Prevent duplicates in page tables +\section{Reddox} +\section{Tock} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 3d952b5..72807b7 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -1,12 +1,14 @@ -Automatically generated by Mendeley Desktop 1.17.8 +Automatically generated by Mendeley Desktop 1.17.10 Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@misc{Endler, -author = {Endler, Matthias}, -title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, -url = {https://github.com/mre/awesome-static-analysis} +@article{Balasubramanian2017, +abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, +author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, +title = {{DRAFT: System Programming in Rust: Beyond Safety}}, +year = {2017} } @article{Dhurjati2003, abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, @@ -23,6 +25,55 @@ title = {{Memory safety without runtime checks or garbage collection}}, volume = {38}, year = {2003} } +@article{Lattner2005, +abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, +archivePrefix = {arXiv}, +arxivId = {9780201398298}, +author = {Lattner, Chris and Adve, Vikram}, +doi = {10.1007/11532378_2}, +eprint = {9780201398298}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/The LLVM Compiler Framework and Infrastructure Tutorial.pdf:pdf}, +isbn = {978-3-540-28009-5}, +issn = {03029743}, +journal = {Languages and Compilers for High Performance Computing}, +number = {Part 1}, +pages = {15--16}, +pmid = {4520227}, +title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, +url = {http://dx.doi.org/10.1007/11532378{\_}2}, +year = {2005} +} +@article{Merity2016, +abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, +archivePrefix = {arXiv}, +arxivId = {1609.07843}, +author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, +eprint = {1609.07843}, +journal = {Arxiv}, +title = {{Pointer Sentinel Mixture Models}}, +url = {http://arxiv.org/abs/1609.07843}, +year = {2016} +} +@inproceedings{Kuznetsov2014, +abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, +author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, +booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, +isbn = {9781931971164}, +pages = {147--163}, +title = {{Code-pointer integrity}}, +url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, +year = {2014} +} +@article{Getreu2016, +annote = {- runtime checkis are expensive + +- critical with energy restriction on the target device}, +author = {Getreu, Jens}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, +pages = {1--24}, +title = {{Embedded System Security with Rust}}, +year = {2016} +} @article{Levy2015a, abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, @@ -36,3 +87,52 @@ title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, year = {2015} } +@misc{Endler, +author = {Endler, Matthias}, +title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, +url = {https://github.com/mre/awesome-static-analysis} +} +@article{Xu2015, +abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, +author = {Xu, Wen and Li, Juanru and Shu, Junliang and Yang, Wenbo and Xie, Tianyi and Zhang, Yuanyuan and Gu, Dawu}, +doi = {10.1145/2810103.2813637}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/From Collision To Exploitation$\backslash$: Unleashing Use-After-Free Vulnerabilities in Linux Kernel.pdf:pdf}, +isbn = {978-1-4503-3832-5}, +issn = {15437221}, +journal = {Ccs}, +keywords = {linux kernel exploit,memory collision,user-after-free vulnerability}, +pages = {414--425}, +title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilities in Linux Kernel}}, +url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, +year = {2015} +} +@article{Affairs2015, +author = {Affairs, Post Doctoral}, +file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, +title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, +year = {2015} +} +@article{Caballero2012, +abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, +author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, +doi = {10.1145/2338965.2336769}, +isbn = {9781450314541}, +issn = {1450314546}, +journal = {ISSTA}, +keywords = {automated testing,binary analysis,debugging,dynamic analysis}, +pages = {133}, +title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, +url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, +year = {2012} +} +@inproceedings{Ma2013, +abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, +author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, +booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, +doi = {10.1109/DASC.2013.37}, +isbn = {9781479933815}, +keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, +pages = {52--57}, +title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, +year = {2013} +} From 12e2db498fd74693d43a80f347cc7b6b648d64db Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 29 Jun 2017 19:01:48 +0200 Subject: [PATCH 094/126] bib: new papers --- src/docs/thesis.bib | 152 ++++++++++++++++++++++++++------------------ 1 file changed, 89 insertions(+), 63 deletions(-) diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 72807b7..59c09c8 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,27 +3,17 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{Balasubramanian2017, -abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, -author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, -title = {{DRAFT: System Programming in Rust: Beyond Safety}}, -year = {2017} -} -@article{Dhurjati2003, -abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, -author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, -doi = {10.1145/780742.780743}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, -isbn = {0362-1340}, -issn = {03621340}, -journal = {Acm Sigplan Notices}, -keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, -number = {7}, -pages = {69--80}, -title = {{Memory safety without runtime checks or garbage collection}}, -volume = {38}, -year = {2003} +@article{Szekeres2013, +abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, +author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, +doi = {10.1109/SP.2013.13}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, +isbn = {9780769549774}, +issn = {10816011}, +journal = {Proceedings - IEEE Symposium on Security and Privacy}, +pages = {48--62}, +title = {{SoK: Eternal war in memory}}, +year = {2013} } @article{Lattner2005, abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, @@ -43,16 +33,17 @@ title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, url = {http://dx.doi.org/10.1007/11532378{\_}2}, year = {2005} } -@article{Merity2016, -abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, -archivePrefix = {arXiv}, -arxivId = {1609.07843}, -author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, -eprint = {1609.07843}, -journal = {Arxiv}, -title = {{Pointer Sentinel Mixture Models}}, -url = {http://arxiv.org/abs/1609.07843}, -year = {2016} +@misc{Endler, +author = {Endler, Matthias}, +title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, +url = {https://github.com/mre/awesome-static-analysis} +} +@article{Balasubramanian2017, +abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, +author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, +title = {{DRAFT: System Programming in Rust: Beyond Safety}}, +year = {2017} } @inproceedings{Kuznetsov2014, abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, @@ -74,24 +65,6 @@ pages = {1--24}, title = {{Embedded System Security with Rust}}, year = {2016} } -@article{Levy2015a, -abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, -author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, -doi = {10.1145/2818302.2818306}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, -isbn = {9781450339421}, -journal = {PLOS: Workshop on Programming Languages and Operating Systems}, -keywords = {embedded operating systems,linear types,ownership,rust}, -pages = {21--26}, -title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, -url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, -year = {2015} -} -@misc{Endler, -author = {Endler, Matthias}, -title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, -url = {https://github.com/mre/awesome-static-analysis} -} @article{Xu2015, abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, author = {Xu, Wen and Li, Juanru and Shu, Junliang and Yang, Wenbo and Xie, Tianyi and Zhang, Yuanyuan and Gu, Dawu}, @@ -106,10 +79,68 @@ title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilit url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, year = {2015} } -@article{Affairs2015, -author = {Affairs, Post Doctoral}, -file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, -title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, +@inproceedings{Ma2013, +abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, +author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, +booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, +doi = {10.1109/DASC.2013.37}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Dynamic Detection Method to C-C++ Programs Memory Vulnerabilities Based on Pointer Analysis.pdf:pdf}, +isbn = {9781479933815}, +keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, +pages = {52--57}, +title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, +year = {2013} +} +@article{Chisnall2015, +abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, +author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, +doi = {10.1145/2694344.2694367}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Beyond the PDP-11$\backslash$: Architectural support for a memory-safe C abstract machine.pdf:pdf}, +isbn = {9781450328357}, +issn = {01635964}, +journal = {Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems}, +pages = {117--130}, +title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract machine}}, +url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, +year = {2015} +} +@article{Merity2016, +abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, +archivePrefix = {arXiv}, +arxivId = {1609.07843}, +author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, +eprint = {1609.07843}, +journal = {Arxiv}, +title = {{Pointer Sentinel Mixture Models}}, +url = {http://arxiv.org/abs/1609.07843}, +year = {2016} +} +@article{Dhurjati2003, +abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, +author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, +doi = {10.1145/780742.780743}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, +isbn = {0362-1340}, +issn = {03621340}, +journal = {Acm Sigplan Notices}, +keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, +number = {7}, +pages = {69--80}, +title = {{Memory safety without runtime checks or garbage collection}}, +volume = {38}, +year = {2003} +} +@article{Levy2015a, +abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, +author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, +doi = {10.1145/2818302.2818306}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, +isbn = {9781450339421}, +journal = {PLOS: Workshop on Programming Languages and Operating Systems}, +keywords = {embedded operating systems,linear types,ownership,rust}, +pages = {21--26}, +title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, +url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, year = {2015} } @article{Caballero2012, @@ -125,14 +156,9 @@ title = {{Undangle: early detection of dangling pointers in use-after-free and d url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, year = {2012} } -@inproceedings{Ma2013, -abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, -author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, -booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, -doi = {10.1109/DASC.2013.37}, -isbn = {9781479933815}, -keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, -pages = {52--57}, -title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, -year = {2013} +@article{Affairs2015, +author = {Affairs, Post Doctoral}, +file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, +title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, +year = {2015} } From 329834c0f76c646d4824a26a74596e0c952193f4 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 29 Jun 2017 19:03:01 +0200 Subject: [PATCH 095/126] thesis: explain more of the difficulties in C --- src/docs/glossary.tex | 8 ++++ src/docs/parts/context/context.tex | 70 ++++++++++++++++++++++-------- src/docs/thesis.tex | 2 + 3 files changed, 61 insertions(+), 19 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 131d44a..b00f8bb 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -211,3 +211,11 @@ Specific variant of an \gls{sac} defined by the \gls{appcorg}. } } + +\newglossaryentry{CWE}{ + name=Common Weakness Enumeration, + description={ + A formal list of software weakness types. + } +} + diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 2f93066..7b4b4a2 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -7,31 +7,20 @@ The \gls{OS} is the only \gls{app} that has unrestricted access to these resourc % Purpose of the Study %The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. The purpose of this study is to evaluate Rust's feasibility to guarantee memory safety when it's used for \gls{OS} development. - -* TODO: Qualitative or Quantitative? +The results will be of qualitative nature by implementing and analyzing popular memory management techniques in Rust, discerning the level of memory safety improvements - or guarantees - in comparison to implementations in C. % Significance of the Study % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. -The de-facto standard language for \gls{OS} development appears to be the C (TODO: reference). A very popular \gls{OS} that has been developed with C (and some assembly) is \gls{Linux}. -Recent years have shown how prone it is to vulnerabilities which are the result of programming errors leading to insecure memory handling. -This is covered by exemplary details within this study. (TODO reference) +Recent years have shown how prone it is to vulnerabilities that result from the unsafe language design and programming errors. +With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via checks imposed at runtime. (TODO: reference). -* TODO: is it even theoretically possible to write safe C code? +The former is complex to perform on a language that has not been designed to be safety-analysed. TODO? reference? +Despite its complexity, attempts exist to define a subset of the C language that can be safety checked, namely Safe-C. -\section{Common Memory-Related Errors} +The performance overhead of the latter is immense which makes it an unviable option in the domain of \gls{OS} development, where there exists code paths which must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017}. -\subsection{Uninitialized Pointers} - -\begin{lstlisting}[language=C, - directivestyle={\color{black}} - emph={int,char,double,float,unsigned}, - emphstyle={\color{blue}} - ] -char *src = "hello" ; // character string constant -char *dst; // unallocated -strcpy(dst, src); // segfault and die -\end{lstlisting} +Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given in \autoref{chap:mmt}. \section{Static Code Analysis} * TODO: Difference between static- and runtime checks @@ -68,8 +57,9 @@ strcpy(dst, src); // segfault and die % Summarize the content of Chapter 1 and preview of content of Chapter 2. \chapter{Memory Management Techniques} +\label{chap:mmt} -* http://wiki.osdev.org/Memory_Management_Unit +% * TODO: parse http://wiki.osdev.org/Memory_Management_Unit \section{Multi-Level Paging} \subsection{Top-Levle Pagetable Self-Reference} @@ -77,6 +67,48 @@ strcpy(dst, src); // segfault and die * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows +\section{Common Memory-Related Errors} + +This work focuses on the following weaknesses defined in the \gls{CWE} + +\begin{itemize} + \item{Improper Restriction of Operations within the Bounds of a Memory Buffer} + https://cwe.mitre.org/data/definitions/119.html + + % TODO: find more +\end{itemize} + +\subsection{Uninitialized Pointers} + +\begin{lstlisting}[language=C, + directivestyle={\color{black}} + emph={int,char,double,float,unsigned}, + emphstyle={\color{blue}} + ] +char *src = "hello" ; // character string constant +char *dst; // unallocated +strcpy(dst, src); // segfault and die +\end{lstlisting} + +\subsection{Null-Pointers} + +\begin{lstlisting}[language=C, + directivestyle={\color{black}} + emph={int,char,double,float,unsigned}, + emphstyle={\color{blue}} + ] +char *ptr; +int ret; +if (ret = init_ptr(ptr)) { + return ret; +} + +if (ptr == NULL) { + // gracefully handles the NP +} else { + // may assume that the ptr address is not NULL +} +\end{lstlisting} \chapter{Introduction To Rust} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 97f7cad..a1b2e61 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -87,6 +87,8 @@ \titlespacing*{\chapter}{0cm}{-1cm}{0.75cm} \titleformat{\chapter}[hang]{\normalfont\Large\bfseries}{\thechapter}{0.5cm}{} +\usepackage{hyperref} + \makeatletter %\renewcommand\paragraph{\startsection{paragraph}{4}{\z}% From 2f6bcb19b8ebb82dfb53d7544fa0d3eea9b1b54e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 6 Jul 2017 12:23:00 +0200 Subject: [PATCH 096/126] build: use working texlive mirror --- build/texlive-url-mirror.patch | 27 +++++++++++++++++++++++++++ shell.nix | 22 ++++++++++++++++------ 2 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 build/texlive-url-mirror.patch diff --git a/build/texlive-url-mirror.patch b/build/texlive-url-mirror.patch new file mode 100644 index 0000000..04c4f10 --- /dev/null +++ b/build/texlive-url-mirror.patch @@ -0,0 +1,27 @@ +diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix +index 5591f64cee..2bdbfd50a7 100644 +--- a/pkgs/tools/typesetting/tex/texlive/bin.nix ++++ b/pkgs/tools/typesetting/tex/texlive/bin.nix +@@ -20,7 +20,7 @@ let + common = rec { + src = fetchurl { + url = # "ftp://tug.org/historic/systems/texlive/${year}/" +- "http://lipa.ms.mff.cuni.cz/~cunav5am/nix/texlive-2016" # FIXME: a proper mirror ++ "http://146.185.144.154/texlive-2016/" + + "/texlive-${year}0523b-source.tar.xz"; + sha256 = "1v91vahxlxkdra0qz3f132vvx5d9cx2jy84yl1hkch0agyj2rcx8"; + }; +diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix +index 692f6b1772..21463dc367 100644 +--- a/pkgs/tools/typesetting/tex/texlive/default.nix ++++ b/pkgs/tools/typesetting/tex/texlive/default.nix +@@ -109,8 +109,7 @@ let + fixedHash = fixedHashes.${tlName} or null; # be graceful about missing hashes + + url = args.url or "${urlPrefix}/${urlName}.tar.xz"; +- urlPrefix = args.urlPrefix or +- http://lipa.ms.mff.cuni.cz/~cunav5am/nix/texlive-2016; ++ urlPrefix = http://146.185.144.154/texlive-2016; + # XXX XXX XXX FIXME: mirror the snapshot XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX + # ("${mirror}/pub/tex/historic/systems/texlive/${bin.texliveYear}/tlnet-final/archive"); + #mirror = "http://ftp.math.utah.edu"; diff --git a/shell.nix b/shell.nix index 2d262af..cc3b326 100644 --- a/shell.nix +++ b/shell.nix @@ -1,12 +1,22 @@ let nixpkgs = import {}; - pkgsSrc = nixpkgs.pkgs.fetchFromGitHub { - owner = "nixos"; - repo = "nixpkgs-channels"; - rev = "b0d07aa894007a52466b06eced06c1eee469ee1c"; - sha256 = "0cnwy3ivjz8z8jd5vvx4m5v76vzwq9hh7vh6gah83x47ggipk7ii"; + patchedPkgsSrc = nixpkgs.stdenv.mkDerivation { + name = "patchedPkgsSrc"; + src = nixpkgs.pkgs.fetchFromGitHub { + owner = "nixos"; + repo = "nixpkgs-channels"; + rev = "81fceb255448415e70b9e7775d590b6def45f861"; + sha256 = "0sfx21b9rb6qxjm7li3krk6ik0xxph1il7r5l69n8b9agp72yjfx"; + }; + patches = [ ./build/texlive-url-mirror.patch ]; + buildPhase = ""; + installPhase = '' + cp -a . $out + ''; + fixupPhase = "true"; + postFixup = "true"; }; - pkgs = import pkgsSrc {}; + pkgs = import patchedPkgsSrc {}; mytexlive = (pkgs.texlive.combine { inherit (pkgs.texlive) scheme-full; From 77d01e79b11f1008c3f2b492187180e15778ad7c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 13 Jul 2017 21:03:02 +0200 Subject: [PATCH 097/126] parts/context: work on introduction Figuring out what exactly will follow I need to know what I can build upon. --- shell.nix | 6 +- src/docs/glossary.tex | 37 ++++- src/docs/parts/context/context.tex | 101 +++++++++---- src/docs/parts/research/research.tex | 3 +- src/docs/thesis.bib | 218 ++++++++++++++------------- src/docs/thesis.tex | 9 +- 6 files changed, 228 insertions(+), 146 deletions(-) diff --git a/shell.nix b/shell.nix index cc3b326..e02d37f 100644 --- a/shell.nix +++ b/shell.nix @@ -120,6 +120,9 @@ in pkgs.stdenv.mkDerivation { let g:vimtex_complete_recursive_bib = 1 let g:vimtex_indent_enabled = 1 let g:vimtex_indent_bib_enabled = 1 + let g:vimtex_fold_enabled = 1 + let g:vimtex_fold_comments = 1 + let g:vimtex_fold_preamble = 1 if !exists('g:ycm_semantic_triggers') let g:ycm_semantic_triggers = {} @@ -138,7 +141,7 @@ in pkgs.stdenv.mkDerivation { function! ViewerCallback() dict call self.forward_search(self.out) endfunction - let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' + "let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' " }}} autocmd BufWritePost * execute ':silent ! cp /home/steveej/src/mendeley/Static-Code-Analysis-Kernel-Memory-Saftey.bib /home/steveej/src/steveej/msc-thesis/src/docs/thesis.bib >/dev/null 2>&1' @@ -157,6 +160,7 @@ in pkgs.stdenv.mkDerivation { ]; }; }) + pkgs.bashInteractive mytexlive pkgs.zathura ]; diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index b00f8bb..891fb08 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -1,10 +1,10 @@ % // vim: set ft=tex: -\newglossaryentry{rustlang}{ - name = Rust, - description = { - The Rust Programming Language. - }, +\newglossaryentry{Rust}{ + name=Rust + , description={ + TODO programming language + } } \newglossaryentry{compiler}{ @@ -219,3 +219,30 @@ } } +\newglossaryentry{C}{ + name=C programming language, + , description={ + TODO C + } +} + +\newglossaryentry{CPU}{ + name=Central Processing Unit + , description={ + TODO CPU + } +} + +\newglossaryentry{MMU}{ + name=Memory Management Unit + , description={ + TODO MMU + } +} + +\newglossaryentry{sysadmin}{ + name=System Administrator + , description={ + TODO sysadmin + } +} diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 7b4b4a2..cf40e48 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,47 +1,68 @@ % // vim: set ft=tex: \chapter{Introduction} -This thesis studies the feasibility of using static code analysis, as found in the \gls{rustlang} \gls{compiler}, to ensure memory safety within an \gls{OS} kernel. -Because an \gls{OS} is nothing but a \gls{app}, this study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources. -The \gls{OS} is the only \gls{app} that has unrestricted access to these resources, and in order to protect them it needs to be secure. + +This thesis studies the feasibility of using static code analysis, as found in the \gls{Rust} \gls{compiler}, for ensuring safety within an \gls{OS} kernel. +Because an \gls{OS} is nothing but a \gls{app}, this study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for higher level applications. +The \gls{OS} is the only \gls{app} that has unrestricted access to these resources, with the task of managing these safely according to the rules that were set up by the \gls{sysadmin}. + +\section{A Definition of Memory Safety In The \gls{OS}} +A clear definition of memory safety is laid out in this section. +For decades computer systems are able to execute instructions that they have previously loaded into their main memory. +The details of loading the instructions for the \gls{OS} are irrelevant for the understanding, but it is assumed that the persistent memory that holds these instructions is the responsibility of the \gls{sysadmin} and not the \gls{OS}. +Once the \gls{OS} is in execution, it is responsible for loading the instructions and data for other \gls{app} into main memory. +This happens either automatically through configured jobs, or based on well-defined events which can be any form of input via the system's interfaces. +The latter is potentially dangerous because it requires an extensive amount of care and foresight from the developers of the \gls{OS} and \glspl{app} to prepare a system for the various events that might possibly occur. +This is not an easy task, especially if the interface or the environment of a system are diverse and complex. + +In this context, memory safety is the ability to prevent an alteration of the memory content that would otherwise lead to malfunctioning at best, and malicious behavior at worst. + +\section{Academic And Industrial Activities} +% Primary Research Questions +% The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. +% Hypotheses +% A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. +* TODO: mention redox, tockos, intermezzOS and more activities +* TODO: mention paper's by tockos team +* TODO: mention electrolyte, formal verification for Rust + +According to my best-effort literature research in Q1/2017, the hypothesis that \textit{Rust's static code analysis can guarantee memory safety in the \gls{OS}} has not been studied explicitly. +This is to my surprise, because as explained in more details in this chapter the situation in +\gls{OS} is critical and \gls{Rust} offers attractive features to help improve this situation. +However, the hypothesis cannot be trivially approved or denied, which drives the research efforts for my final thesis project. % Purpose of the Study %The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. -The purpose of this study is to evaluate Rust's feasibility to guarantee memory safety when it's used for \gls{OS} development. -The results will be of qualitative nature by implementing and analyzing popular memory management techniques in Rust, discerning the level of memory safety improvements - or guarantees - in comparison to implementations in C. +The results will be of qualitative nature, captured by analyzing existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. +In addition to the sole analysis of \gls{Rust}-implementations, comparisons will be made, discerning the level of memory safety guarantees gained over similarly intending implementations in \gls{C}. +\section{Status Quo: Zero Memory-Safety A Day} % Significance of the Study % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. -A very popular \gls{OS} that has been developed with C (and some assembly) is \gls{Linux}. +A very popular and widespread is \gls{OS}, which has been developed with \gls{C} (and some assembly). Recent years have shown how prone it is to vulnerabilities that result from the unsafe language design and programming errors. With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via checks imposed at runtime. (TODO: reference). The former is complex to perform on a language that has not been designed to be safety-analysed. TODO? reference? -Despite its complexity, attempts exist to define a subset of the C language that can be safety checked, namely Safe-C. +Despite its complexity, attempts exist to define a subset of the \gls{C} language that can be safety checked, TODO: refernces of Cyclone, CCured, etc.. -The performance overhead of the latter is immense which makes it an unviable option in the domain of \gls{OS} development, where there exists code paths which must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017}. +Safety checks that are performed at runtime introduce a high degree of overhead, which makes it an unviable option in the domain of \gls{OS} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or other tasks with hard- or soft-realtime requirements.. (TODO: explain realtime requirements) +This has been forcing \gls{OS} developers to prioritize performance over safety. (TODO: reference) -Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given in \autoref{chap:mmt}. +Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \autoref{chap:mmt}. -\section{Static Code Analysis} -* TODO: Difference between static- and runtime checks - -\section{Programming the OS in Rust: Guaranteed Memory Safety?} -% Primary Research Questions -% The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. - - -\section{Hypotheses} -% Hypotheses -% A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. - -\section{Research Design} +\section{Assessing Memory-Safety} % In Chapter 1 this is a summary of the methodology and contains a brief outline of three things: (a) the participants in a qualitative study or the subjects of a quantitative study (human participants are referred tyo as participants, non-human subjects are referred to as subjects), (b) the instrumentation used to collect data, and (c) the procedure that will be followed. All of these elements will be reported in detail in Chapter 3. In a quantitative study, the instrumentation will be validated in Chapter 3 in detail. In a qualitative study, if it is a researcher-created questionnaire, validating the correctness of the interview protocol is usually accomplished with a pilot study. For either a quantitative or a qualitative study, using an already validated survey instrument is easier to defend and does not require a pilot study; however, Chapter 3 must contain a careful review of the instrument and how it was validated by the creator. % In a qualitative study, which usually involves interviews, the instrumentation is an interview protocol – a pre-determined set of questions that every participant is asked that are based on the primary research questions. A qualitative interview should contain no less than 10 open-ended questions and take no less than 1 hour to administer to qualify as “robust” research. % In the humanities, a demographic survey should be circulated with most quantitative and qualitative studies to establish the parameters of the participant pool. Demographic surveys are nearly identical in most dissertations. In the sciences, a demographic survey is rarely needed. +* TODO: what is memory? +* TODO: when it is considered safe? +* TODO: Explain how memory-safety can be measured -\section{Theoretical Framework} +\section{Compilers And Static Code Analysis} % The theoretical framework is the foundational theory that is used to provide a perspective upon which the study is based. There are hundreds of theories in the literature. For instance, if a study in the social sciences is about stress that may be causing teachers to quit, Apple’s Intensification Theory could be cited as the theory was that stress is cumulative and the result of continuing overlapping, progressively stringent responsibilities for teachers that eventually leads to the desire to quit. In the sciences, research about new species that may have evolved from older, extinct species would be based on the theory of evolution pioneered by Darwin. % Some departments put the theoretical framework explanation in Chapter 1; some put it in Chapter 2. +* TODO: put in some scientific background about static checks + * affine types \section{Assumptions, Limitations, and Scope (Delimitations)} % Assumptions are self-evident truths. In a qualitative study, it may be assumed that participants be highly qualified in the study is about administrators. It can be assumed that participants will answer truthfully and accurately to the interview questions based on their personal experience, and that participants will respond honestly and to the best of their individual abilities. @@ -50,19 +71,41 @@ Details about the challenge of writing code that does memory management safely, % Scope is the extent of the study and contains measurements. In a qualitative study this would include the number of participants, the geographical location, and other pertinent numerical data. In a quantitative study the size of the elements of the experiment are cited. The generalizability of the study may be cited. The word generalizability, which is not in the Word 2007 dictionary, means the extent to which the data are applicable in places other than where the study took place, or under what conditions the study took place. % Delimitations are limitations on the research design imposed deliberately by the researcher. Delimitations in a social sciences study would be such things as the specific school district where a study took place, or in a scientific study, the number of repetitions. -\section{Definition of Terms} -% The definition of terms is written for knowledgeable peers, not people from other disciplines As such, it is not the place to fill pages with definitions that knowledgeable peers would know at a glance. Instead, define terms that may have more than one meaning among knowledgeable peers. +\section{Premised Trust In Hardware} +* TODO: is it worth to explain ECC? +* TODO: explain that the hardware might be unsafe but this is not in scope of the thesis \section{Summary} % Summarize the content of Chapter 1 and preview of content of Chapter 2. - -\chapter{Memory Management Techniques} \label{chap:mmt} +The \autoref{chap:mmt} gives a detailed introduction to memory management in contemporary architectures and \glspl{OS}. + +\chapter{Sophisticated Memory Management Techniques} +* TODO: in the beginnings application software had full control over memory +* TODO: from single-job via batch systems to multiprocessing + +As the result of collaborations between hard- and software developers, the memory management task in the \gls{OS} is partially delegated to the \gls{CPU}'s \gls{MMU}. +A complete understand of this task is necessary in order to reason about it's safety. +This chapter starts with the provides a thorough introduction to modern memory management techniques on the x86\_64 architecture. + +\section{Abstraction And Protection Of Resources} +* TODO: recap that management has been motivated by multiprocessing without side-effects +* TODO: brief history and market share of x86\_64 processors and ARM + +\section{Virtual Addresses} +* TODO: describe dynamic addresses +* TODO: describe swapping +* TODO: describe virtual address +* TODO: describe segmantation +* TODO: describe paging % * TODO: parse http://wiki.osdev.org/Memory_Management_Unit -\section{Multi-Level Paging} -\subsection{Top-Levle Pagetable Self-Reference} +\section{Paging} +\subsection{Multi-Level Paging} +\subsection{Top-Level Page table Self-Reference} +\subsection{Caching Lookups} +\subsection{Full Example} * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex index 8e69279..2be9e0e 100644 --- a/src/docs/parts/research/research.tex +++ b/src/docs/parts/research/research.tex @@ -4,13 +4,12 @@ \section{Static Checks} * TODO: Difference between static- and runtime checks + \subsection{Define Additional Anlyse Rules} * Example: TLB needs to be reset on Task Change \subsection{Static Variable Declaration} - - \section{Virtual Memory Management In Hard- and Software} * Architecture choice: x86\_64 * CPU supports diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 59c09c8..1739e1c 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -1,19 +1,65 @@ -Automatically generated by Mendeley Desktop 1.17.10 +Automatically generated by Mendeley Desktop 1.17.8 Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{Szekeres2013, -abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, -author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, -doi = {10.1109/SP.2013.13}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, -isbn = {9780769549774}, -issn = {10816011}, -journal = {Proceedings - IEEE Symposium on Security and Privacy}, -pages = {48--62}, -title = {{SoK: Eternal war in memory}}, -year = {2013} +@article{Levy2015a, +abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, +author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, +doi = {10.1145/2818302.2818306}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, +isbn = {9781450339421}, +journal = {PLOS: Workshop on Programming Languages and Operating Systems}, +keywords = {embedded operating systems,linear types,ownership,rust}, +pages = {21--26}, +title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, +url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, +year = {2015} +} +@article{Affairs2015, +author = {Affairs, Post Doctoral}, +file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, +title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, +year = {2015} +} +@article{Merity2016, +abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, +archivePrefix = {arXiv}, +arxivId = {1609.07843}, +author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, +eprint = {1609.07843}, +journal = {Arxiv}, +title = {{Pointer Sentinel Mixture Models}}, +url = {http://arxiv.org/abs/1609.07843}, +year = {2016} +} +@misc{Endler, +author = {Endler, Matthias}, +title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, +url = {https://github.com/mre/awesome-static-analysis} +} +@inproceedings{Kuznetsov2014, +abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, +author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, +booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, +isbn = {9781931971164}, +pages = {147--163}, +title = {{Code-pointer integrity}}, +url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, +year = {2014} +} +@article{Caballero2012, +abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, +author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, +doi = {10.1145/2338965.2336769}, +isbn = {9781450314541}, +issn = {1450314546}, +journal = {ISSTA}, +keywords = {automated testing,binary analysis,debugging,dynamic analysis}, +pages = {133}, +title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, +url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, +year = {2012} } @article{Lattner2005, abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, @@ -33,62 +79,27 @@ title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, url = {http://dx.doi.org/10.1007/11532378{\_}2}, year = {2005} } -@misc{Endler, -author = {Endler, Matthias}, -title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, -url = {https://github.com/mre/awesome-static-analysis} -} -@article{Balasubramanian2017, -abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, -author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, -title = {{DRAFT: System Programming in Rust: Beyond Safety}}, -year = {2017} -} -@inproceedings{Kuznetsov2014, -abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, -author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, -booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, -isbn = {9781931971164}, -pages = {147--163}, -title = {{Code-pointer integrity}}, -url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, -year = {2014} -} -@article{Getreu2016, -annote = {- runtime checkis are expensive - -- critical with energy restriction on the target device}, -author = {Getreu, Jens}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, -pages = {1--24}, -title = {{Embedded System Security with Rust}}, -year = {2016} -} -@article{Xu2015, -abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, -author = {Xu, Wen and Li, Juanru and Shu, Junliang and Yang, Wenbo and Xie, Tianyi and Zhang, Yuanyuan and Gu, Dawu}, -doi = {10.1145/2810103.2813637}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/From Collision To Exploitation$\backslash$: Unleashing Use-After-Free Vulnerabilities in Linux Kernel.pdf:pdf}, -isbn = {978-1-4503-3832-5}, -issn = {15437221}, -journal = {Ccs}, -keywords = {linux kernel exploit,memory collision,user-after-free vulnerability}, -pages = {414--425}, -title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilities in Linux Kernel}}, -url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, +@article{Arpaci-Dusseau2015, +abstract = {A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.}, +author = {{Arpaci-Dusseau Remzi}, Arpaci-Dusseau Andrea}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/operating{\_}systems{\_}{\_}three{\_}easy{\_}pieces{\_}{\_}electronic{\_}version{\_}0{\_}91{\_}.pdf:pdf}, +journal = {Arpaci-Dusseau}, +number = {0.91}, +pages = {665}, +title = {{Operating Systems: Three Easy Pieces}}, +volume = {Electronic}, year = {2015} } -@inproceedings{Ma2013, -abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, -author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, -booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, -doi = {10.1109/DASC.2013.37}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Dynamic Detection Method to C-C++ Programs Memory Vulnerabilities Based on Pointer Analysis.pdf:pdf}, -isbn = {9781479933815}, -keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, -pages = {52--57}, -title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, +@article{Szekeres2013, +abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, +author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, +doi = {10.1109/SP.2013.13}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, +isbn = {9780769549774}, +issn = {10816011}, +journal = {Proceedings - IEEE Symposium on Security and Privacy}, +pages = {48--62}, +title = {{SoK: Eternal war in memory}}, year = {2013} } @article{Chisnall2015, @@ -104,15 +115,30 @@ title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, year = {2015} } -@article{Merity2016, -abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, -archivePrefix = {arXiv}, -arxivId = {1609.07843}, -author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, -eprint = {1609.07843}, -journal = {Arxiv}, -title = {{Pointer Sentinel Mixture Models}}, -url = {http://arxiv.org/abs/1609.07843}, +@article{Balasubramanian2017, +abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, +author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, +title = {{DRAFT: System Programming in Rust: Beyond Safety}}, +year = {2017} +} +@inproceedings{Ma2013, +abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, +author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, +booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, +doi = {10.1109/DASC.2013.37}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Dynamic Detection Method to C-C++ Programs Memory Vulnerabilities Based on Pointer Analysis.pdf:pdf}, +isbn = {9781479933815}, +keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, +pages = {52--57}, +title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, +year = {2013} +} +@article{Getreu2016, +author = {Getreu, Jens}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, +pages = {1--24}, +title = {{Embedded System Security with Rust}}, year = {2016} } @article{Dhurjati2003, @@ -130,35 +156,17 @@ title = {{Memory safety without runtime checks or garbage collection}}, volume = {38}, year = {2003} } -@article{Levy2015a, -abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, -author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, -doi = {10.1145/2818302.2818306}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, -isbn = {9781450339421}, -journal = {PLOS: Workshop on Programming Languages and Operating Systems}, -keywords = {embedded operating systems,linear types,ownership,rust}, -pages = {21--26}, -title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, -url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, -year = {2015} -} -@article{Caballero2012, -abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, -author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, -doi = {10.1145/2338965.2336769}, -isbn = {9781450314541}, -issn = {1450314546}, -journal = {ISSTA}, -keywords = {automated testing,binary analysis,debugging,dynamic analysis}, -pages = {133}, -title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, -url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, -year = {2012} -} -@article{Affairs2015, -author = {Affairs, Post Doctoral}, -file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, -title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, +@article{Xu2015, +abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, +author = {Xu, Wen and Li, Juanru and Shu, Junliang and Yang, Wenbo and Xie, Tianyi and Zhang, Yuanyuan and Gu, Dawu}, +doi = {10.1145/2810103.2813637}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/From Collision To Exploitation$\backslash$: Unleashing Use-After-Free Vulnerabilities in Linux Kernel.pdf:pdf}, +isbn = {978-1-4503-3832-5}, +issn = {15437221}, +journal = {Ccs}, +keywords = {linux kernel exploit,memory collision,user-after-free vulnerability}, +pages = {414--425}, +title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilities in Linux Kernel}}, +url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, year = {2015} } diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index a1b2e61..beb294c 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -1,4 +1,6 @@ -\documentclass[12pt,a4paper]{report} +\documentclass[draft,12pt,a4paper]{report} + +\overfullrule=5mm \usepackage[utf8]{inputenc} @@ -123,7 +125,7 @@ \chapter*{Preface} This thesis is original, unpublished, independent work by the author, \authorOne. I strongly believe in openness and collaboration in the development of new technology, therefore the development will be based solely on Open-Source software. - The results of this project will be freely available on my personal Github site\footnote{https://github.com/steveeJ/msc-thesis} once the academic process of this project is complete. + The results of this project will be freely available on my personal Gitlab site\footnote{https://gitlab.com/steveeJ/msc-thesis} once the academic process of this project is complete. \tableofcontents @@ -138,14 +140,13 @@ \label{part:research} \include{parts/research/research} - \part{Development} \part{Conclusion} \newpage %TODO \listofmyequations \listoftables %TODO \lstlistoflistings - \listoffigures + \listoffigures \bibliography{thesis} \end{document} From 4101d31ba83aa64042d0fe65b1902cb76be37d1f Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 17 Jul 2017 09:43:41 +0200 Subject: [PATCH 098/126] context/introduction: add questions about Rust --- src/docs/parts/context/context.tex | 39 +++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index cf40e48..493c6cd 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -88,29 +88,34 @@ As the result of collaborations between hard- and software developers, the memor A complete understand of this task is necessary in order to reason about it's safety. This chapter starts with the provides a thorough introduction to modern memory management techniques on the x86\_64 architecture. -\section{Abstraction And Protection Of Resources} +\section{Resource Abstraction: Protection And Efficiency} * TODO: recap that management has been motivated by multiprocessing without side-effects * TODO: brief history and market share of x86\_64 processors and ARM \section{Virtual Addresses} -* TODO: describe dynamic addresses +* TODO: describe dynamic (relocatable) addresses * TODO: describe swapping * TODO: describe virtual address -* TODO: describe segmantation -* TODO: describe paging % * TODO: parse http://wiki.osdev.org/Memory_Management_Unit \section{Paging} +* TODO: describe + \subsection{Multi-Level Paging} + \subsection{Top-Level Page table Self-Reference} + \subsection{Caching Lookups} + \subsection{Full Example} * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows -\section{Common Memory-Related Errors} +\section{Memory Allocation} + +\chapter{Common Memory-Related Errors} This work focuses on the following weaknesses defined in the \gls{CWE} @@ -155,9 +160,31 @@ if (ptr == NULL) { \chapter{Introduction To Rust} -\section{Zero-Cost Abstractions} +\section{Compiler Architecture} +- TODO: Tokens? AST? LLVM? +- TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4 + + +\section{Static Analysis Features} +- TODO: How does static typing help with preventing programming errors +- TODO: How does the Rust's static analysis work, theoretically and practically +- TODO: how could memory be dynamically allocated and still safety checked? + +\subsection{Lifetimes} +- TODO: Where are global 'static variables allocated? + +\subsection{Ownership} +- TODO: Who owns global 'static variables? + +\subsection{Type Safety} +- TODO: how does casting work? +- TODO: what's the equivalent of void*? + \subsection{The Newtype Pattern} +\subsection{Zero-Cost Abstraction} + + https://aturon.github.io/features/types/newtype.html From 5a8e11c18b84bcf1cb8720e4be04bd9a8d6e616c Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 10 Aug 2017 19:09:58 +0200 Subject: [PATCH 099/126] *: extend and refine structure --- src/docs/glossary.tex | 7 + src/docs/parts/context/context.tex | 54 +++- src/docs/parts/research/research.tex | 50 ---- .../research_and_development.tex | 64 +++++ src/docs/thesis.bib | 240 +++++++++++------- src/docs/thesis.tex | 6 +- 6 files changed, 264 insertions(+), 157 deletions(-) delete mode 100644 src/docs/parts/research/research.tex create mode 100644 src/docs/parts/research_and_development/research_and_development.tex diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 891fb08..03d66ab 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -87,6 +87,13 @@ plural=Linuces } +\newglossaryentry{imezzos}{ + name = intermezzOS, + description = { + TODO + }, +} + \newglossaryentry{rootfs}{ name = RootFS, description = { diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 493c6cd..ecf0d4f 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -75,7 +75,7 @@ Details about the challenge of writing code that does memory management safely, * TODO: is it worth to explain ECC? * TODO: explain that the hardware might be unsafe but this is not in scope of the thesis -\section{Summary} +\section{Recap} % Summarize the content of Chapter 1 and preview of content of Chapter 2. \label{chap:mmt} The \autoref{chap:mmt} gives a detailed introduction to memory management in contemporary architectures and \glspl{OS}. @@ -104,7 +104,7 @@ This chapter starts with the provides a thorough introduction to modern memory m \subsection{Multi-Level Paging} -\subsection{Top-Level Page table Self-Reference} +\subsection{Top-Level Page Table Self-Reference} \subsection{Caching Lookups} @@ -113,12 +113,18 @@ This chapter starts with the provides a thorough introduction to modern memory m * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows + +\section{Stack And Heap Concept} + \section{Memory Allocation} -\chapter{Common Memory-Related Errors} +\chapter{Memory-Related Software-Programming Weaknesses} +\label{chap:context.mem-weaknesses} +Software vulnerabilities can be categorized by their underlying weaknesses. +This chapter explains the weaknesses of interest for this project and gives concrete examples for their manifestation. +\section{Weakness Categories} This work focuses on the following weaknesses defined in the \gls{CWE} - \begin{itemize} \item{Improper Restriction of Operations within the Bounds of a Memory Buffer} https://cwe.mitre.org/data/definitions/119.html @@ -126,6 +132,8 @@ This work focuses on the following weaknesses defined in the \gls{CWE} % TODO: find more \end{itemize} +\section{Manifestation Examples} + \subsection{Uninitialized Pointers} \begin{lstlisting}[language=C, @@ -158,26 +166,44 @@ if (ptr == NULL) { } \end{lstlisting} +\subsection{TODO: more} + +\chapter{Memory-Safety Analysis Techniques} +As per the previous \autoref{chap:context.mem-weaknesses} there is general awareness of the problems, and there has been ongoing effort to develop and improve techniques that assist the programmer to detect and avoid such mistakes first- or secondhand. + +\section{Static vs. Dynamic Analysis} +* TODO: explain first-/secondhand -> static/dynamic -> compile-time/runtime -> offline/online +* TODO: Explain static and dynamic checks + + +\section{Requirements} +* TODO: which knowledge is required to analyze access to memory? + +\section{Limitations} +* TODO: deadlock example + \chapter{Introduction To Rust} \section{Compiler Architecture} -- TODO: Tokens? AST? LLVM? +- TODO: Tokens? AST? LLVM? (http://embed.rs/articles/2016/arm-inline-assembly-rust/) - TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4 - \section{Static Analysis Features} - TODO: How does static typing help with preventing programming errors - TODO: How does the Rust's static analysis work, theoretically and practically -- TODO: how could memory be dynamically allocated and still safety checked? +- TODO: How can memory be dynamically allocated and still safety checked? + +\subsection{Ownership And Borrows} +- TODO: Who owns global 'static variables? + +- https://nercury.github.io/rust/guide/2015/01/19/ownership.html \subsection{Lifetimes} - TODO: Where are global 'static variables allocated? -\subsection{Ownership} -- TODO: Who owns global 'static variables? - \subsection{Type Safety} - TODO: how does casting work? +- TODO: demonstrate raw pointers - TODO: what's the equivalent of void*? \subsection{The Newtype Pattern} @@ -188,3 +214,11 @@ if (ptr == NULL) { https://aturon.github.io/features/types/newtype.html +\subsection{Im/mutability} +- TODO: describe Rc, Arc, and {Ref,}Cell + +\section Language Extension +\subsection{Syntax Extension} +\subsubsection{Macros} +\subsubsection{Annotations} +\subsection{Compiler Plugins} diff --git a/src/docs/parts/research/research.tex b/src/docs/parts/research/research.tex deleted file mode 100644 index 2be9e0e..0000000 --- a/src/docs/parts/research/research.tex +++ /dev/null @@ -1,50 +0,0 @@ -% // vim: set ft=tex: -\chapter{Topic Refinement} - -\section{Static Checks} -* TODO: Difference between static- and runtime checks - - -\subsection{Define Additional Anlyse Rules} -* Example: TLB needs to be reset on Task Change - -\subsection{Static Variable Declaration} - -\section{Virtual Memory Management In Hard- and Software} -* Architecture choice: x86\_64 -* CPU supports - -* TODO: Is the static analysis of hardware specific assembly code possible and useful at all? - * LLVM knows about the target and can potentially give hints about hardware specific instructions -* TODO: On which level can abstraction in Rust code start? - -\subsection{Interrupts} -* https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf p. 2848 - - -\section{Testing} -* How effective are tests? -* Are they necessary in addition to static checks? - - -\chapter{Using Rust Within Non-Rust Operating Systems} -\section{Linux Kernel Modules} - -* TODO: describe Difficulties with Macros used Within Kernel - -\chapter{OS Designs Based On Rust} - -Thread Libraries: -* https://github.com/edef1c/libfringe - -\section{Blog OS} -\section{intermezzOS} -\subsection{Memory Management} -* Which language items help with managing memory? -* How generic can the memory allocators be written? - -Guarantees to be statically checked: -* Prevent access to unmapped physical memory -* Prevent duplicates in page tables -\section{Reddox} -\section{Tock} diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex new file mode 100644 index 0000000..b72bc6e --- /dev/null +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -0,0 +1,64 @@ +% // vim: set ft=tex: +\chapter{Topic Refinement} +- TODO: is this chapter required? + +\chapter{Derived Research Questions} + +\subsection{Definition Of Additional Analysis Rules To Extend Safety Checks} +* TODO: How can Business Logical +Examples: +* TLB needs to be reset on Task Change +* Registers need to be + +\subsubsection{Software Fault Isolation} +* TODO: content from \cite{Balasubramanian2017} + +\subsection{More Detailed Research Questions} +* Which language items help with managing memory? +* How generic can the memory allocators be written? + +Guarantees to be statically checked: +* Control access to duplicates in page tables +* Tasks can't access unallocated (physical) memory +* Tasks can't access other tasks memory + +\subsection{Interrupts} +* https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf p. 2848 + +\section{Software Tests} +* TODO: describe that tests are mostly semantics as opposed to static checks being mostly syntactical and technical +* TODO: They necessary in addition to static checks to cover the well-known use-cases and edge-cases. TODO: example? + +\chapter{Attempt Extend \gls{Linux} with \gls{Rust}} +* TODO: describe Difficulties with the GPL Macros used Within Kernel Modules + +\chapter{Existing \gls{OS}-Development Projects Based On Rust} + + +\section{Libraries} + +\subsection{Libfringe} +* https://github.com/edef1c/libfringe + +\section{Systems} +\subsection{intermezzOS} +\subsection{Blog OS} +\subsection{Redox} +\subsection{Tock} + +\chapter{Introduce Preemptive \gls{OS}-Level Multitasking to \gls{imezzos}} + +\chapter{Result Generalization} + +\section{Low-Level Safe Abstractions in Rust} +* TODO: Is the static analysis of hardware specific assembly code possible and useful at all? + * LLVM knows about the target and can potentially give hints about hardware specific instructions + +\section{Tracking \textit{'static}ally allocated Resources} + +\section{The Necessary Evils of \textit{unsafe}} + +\chapter{Result Evaluation} +* TODO: repeat that rust *can* be used to increase safety in the OS, but it doesn't guarantee it per-se + +\chapter{Summary} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 1739e1c..b3da183 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,24 +3,39 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{Levy2015a, -abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, -author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, -doi = {10.1145/2818302.2818306}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, -isbn = {9781450339421}, -journal = {PLOS: Workshop on Programming Languages and Operating Systems}, -keywords = {embedded operating systems,linear types,ownership,rust}, -pages = {21--26}, -title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, -url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, -year = {2015} +@book{AMD64Vol1, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, +keywords = {AMD64,SIMD,extended media instructions,legacy m}, +number = {26568}, +title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, +volume = {4}, +year = {2012} } -@article{Affairs2015, -author = {Affairs, Post Doctoral}, -file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, -title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, -year = {2015} +@article{Dhurjati2003, +abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, +author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, +doi = {10.1145/780742.780743}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, +isbn = {0362-1340}, +issn = {03621340}, +journal = {Acm Sigplan Notices}, +keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, +number = {7}, +pages = {69--80}, +title = {{Memory safety without runtime checks or garbage collection}}, +volume = {38}, +year = {2003} +} +@inproceedings{Kuznetsov2014, +abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, +author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, +booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, +isbn = {9781931971164}, +pages = {147--163}, +title = {{Code-pointer integrity}}, +url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, +year = {2014} } @article{Merity2016, abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, @@ -33,51 +48,18 @@ title = {{Pointer Sentinel Mixture Models}}, url = {http://arxiv.org/abs/1609.07843}, year = {2016} } -@misc{Endler, -author = {Endler, Matthias}, -title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, -url = {https://github.com/mre/awesome-static-analysis} -} -@inproceedings{Kuznetsov2014, -abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, -author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, -booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, -isbn = {9781931971164}, -pages = {147--163}, -title = {{Code-pointer integrity}}, -url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, -year = {2014} -} -@article{Caballero2012, -abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, -author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, -doi = {10.1145/2338965.2336769}, -isbn = {9781450314541}, -issn = {1450314546}, -journal = {ISSTA}, -keywords = {automated testing,binary analysis,debugging,dynamic analysis}, -pages = {133}, -title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, -url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, -year = {2012} -} -@article{Lattner2005, -abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, -archivePrefix = {arXiv}, -arxivId = {9780201398298}, -author = {Lattner, Chris and Adve, Vikram}, -doi = {10.1007/11532378_2}, -eprint = {9780201398298}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/The LLVM Compiler Framework and Infrastructure Tutorial.pdf:pdf}, -isbn = {978-3-540-28009-5}, -issn = {03029743}, -journal = {Languages and Compilers for High Performance Computing}, -number = {Part 1}, -pages = {15--16}, -pmid = {4520227}, -title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, -url = {http://dx.doi.org/10.1007/11532378{\_}2}, -year = {2005} +@article{Chisnall2015, +abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, +author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, +doi = {10.1145/2694344.2694367}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Beyond the PDP-11$\backslash$: Architectural support for a memory-safe C abstract machine.pdf:pdf}, +isbn = {9781450328357}, +issn = {01635964}, +journal = {Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems}, +pages = {117--130}, +title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract machine}}, +url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, +year = {2015} } @article{Arpaci-Dusseau2015, abstract = {A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.}, @@ -102,25 +84,54 @@ pages = {48--62}, title = {{SoK: Eternal war in memory}}, year = {2013} } -@article{Chisnall2015, -abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, -author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, -doi = {10.1145/2694344.2694367}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Beyond the PDP-11$\backslash$: Architectural support for a memory-safe C abstract machine.pdf:pdf}, -isbn = {9781450328357}, -issn = {01635964}, -journal = {Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems}, -pages = {117--130}, -title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract machine}}, -url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, -year = {2015} +@article{Corporation2011, +abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, +author = {Corporation, Intel}, +doi = {10.1109/MAHC.2010.22}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf:pdf}, +isbn = {253665-057US}, +issn = {15222594}, +journal = {System}, +keywords = {253665,IA-32 architecture,Intel 64}, +number = {253665}, +title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 3}}, +volume = {3}, +year = {2011} } -@article{Balasubramanian2017, -abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, -author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, -title = {{DRAFT: System Programming in Rust: Beyond Safety}}, -year = {2017} +@article{Caballero2012, +abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, +author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, +doi = {10.1145/2338965.2336769}, +isbn = {9781450314541}, +issn = {1450314546}, +journal = {ISSTA}, +keywords = {automated testing,binary analysis,debugging,dynamic analysis}, +pages = {133}, +title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, +url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, +year = {2012} +} +@book{AMD64Vol2, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 2$\backslash$: System Programming.pdf:pdf}, +keywords = {24593,AMD64 Architecture Programmer's Manual Volume 2: S}, +number = {24592}, +title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, +volume = {1}, +year = {2012} +} +@article{Levy2015a, +abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, +author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, +doi = {10.1145/2818302.2818306}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, +isbn = {9781450339421}, +journal = {PLOS: Workshop on Programming Languages and Operating Systems}, +keywords = {embedded operating systems,linear types,ownership,rust}, +pages = {21--26}, +title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, +url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, +year = {2015} } @inproceedings{Ma2013, abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, @@ -141,20 +152,31 @@ pages = {1--24}, title = {{Embedded System Security with Rust}}, year = {2016} } -@article{Dhurjati2003, -abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, -author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, -doi = {10.1145/780742.780743}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, -isbn = {0362-1340}, -issn = {03621340}, -journal = {Acm Sigplan Notices}, -keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, -number = {7}, -pages = {69--80}, -title = {{Memory safety without runtime checks or garbage collection}}, -volume = {38}, -year = {2003} +@article{Corporation2011a, +abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, +author = {Corporation, Intel}, +doi = {10.1109/MAHC.2010.22}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-vol-1-manual.pdf:pdf}, +isbn = {253665-057US}, +issn = {15222594}, +journal = {System}, +keywords = {253665,64,ia 32 architecture}, +number = {253665}, +title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 1}}, +volume = {1}, +year = {2011} +} +@article{Nilsson2017, +author = {Nilsson, Fredrik}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Rust-based Runtime for the Internet of Things.pdf:pdf}, +title = {{A Rust-based Runtime for the Internet of Things}}, +year = {2017} +} +@article{Affairs2015, +author = {Affairs, Post Doctoral}, +file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, +title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, +year = {2015} } @article{Xu2015, abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, @@ -170,3 +192,33 @@ title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilit url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, year = {2015} } +@misc{Endler, +author = {Endler, Matthias}, +title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, +url = {https://github.com/mre/awesome-static-analysis} +} +@article{Balasubramanian2017, +abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, +author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, +title = {{DRAFT: System Programming in Rust: Beyond Safety}}, +year = {2017} +} +@article{Lattner2005, +abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, +archivePrefix = {arXiv}, +arxivId = {9780201398298}, +author = {Lattner, Chris and Adve, Vikram}, +doi = {10.1007/11532378_2}, +eprint = {9780201398298}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/The LLVM Compiler Framework and Infrastructure Tutorial.pdf:pdf}, +isbn = {978-3-540-28009-5}, +issn = {03029743}, +journal = {Languages and Compilers for High Performance Computing}, +number = {Part 1}, +pages = {15--16}, +pmid = {4520227}, +title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, +url = {http://dx.doi.org/10.1007/11532378{\_}2}, +year = {2005} +} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index beb294c..d8094b9 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -136,9 +136,9 @@ \include{parts/context/context} - \part{Research} - \label{part:research} - \include{parts/research/research} + \part{Research And Development} + \label{part:rnd} + \include{parts/research_and_development/research_and_development} \part{Conclusion} From 760c4bedc543fbb7302ef403e4673910cfc69b88 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 10 Aug 2017 19:18:35 +0200 Subject: [PATCH 100/126] eval & conclusion: new part --- shell.nix | 3 ++- src/docs/thesis.tex | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/shell.nix b/shell.nix index e02d37f..f46a887 100644 --- a/shell.nix +++ b/shell.nix @@ -29,7 +29,8 @@ in pkgs.stdenv.mkDerivation { $PWD/src/docs/thesis.tex \ $PWD/src/docs/glossary.tex \ $PWD/src/docs/parts/context/context.tex \ - $PWD/src/docs/parts/research/research.tex \ + $PWD/src/docs/parts/research_and_development/research_and_development.tex \ + $PWD/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex \ " ''; buildInputs = [ diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index d8094b9..ad566b7 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -140,7 +140,9 @@ \label{part:rnd} \include{parts/research_and_development/research_and_development} - \part{Conclusion} + \part{Evaluation And Conclusion} + \label{part:eval_and_conclusion} + \include{parts/eval_and_conclusion/eval_and_conclusion} \newpage %TODO \listofmyequations From d6009ea33492cb4c28d6cf55cb541cab0d255ceb Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 22 Aug 2017 10:41:12 +0200 Subject: [PATCH 101/126] introduction: explain what memory safety is --- shell.nix | 2 +- src/docs/glossary.tex | 39 +++++++- src/docs/parts/context/context.tex | 152 ++++++++++++++++++++--------- src/docs/thesis.bib | 25 +++-- src/docs/thesis.tex | 6 +- 5 files changed, 165 insertions(+), 59 deletions(-) diff --git a/shell.nix b/shell.nix index f46a887..1dca33c 100644 --- a/shell.nix +++ b/shell.nix @@ -142,7 +142,7 @@ in pkgs.stdenv.mkDerivation { function! ViewerCallback() dict call self.forward_search(self.out) endfunction - "let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' + let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' " }}} autocmd BufWritePost * execute ':silent ! cp /home/steveej/src/mendeley/Static-Code-Analysis-Kernel-Memory-Saftey.bib /home/steveej/src/steveej/msc-thesis/src/docs/thesis.bib >/dev/null 2>&1' diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 03d66ab..05250bd 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -94,6 +94,27 @@ }, } +\newglossaryentry{redoxos}{ + name = Redox OS, + description = { + TODO + }, +} + +\newglossaryentry{blogos}{ + name = Blog OS, + description = { + TODO + }, +} + +\newglossaryentry{tockos}{ + name = Tock OS, + description = { + TODO + }, +} + \newglossaryentry{rootfs}{ name = RootFS, description = { @@ -227,9 +248,16 @@ } \newglossaryentry{C}{ - name=C programming language, + name=C, , description={ - TODO C + TODO C programming language, + } +} + +\newglossaryentry{asm}{ + name=Assembly programming language, + , description={ + TODO ASM } } @@ -253,3 +281,10 @@ TODO sysadmin } } + +\newglossaryentry{realtime}{ + name=System Administrator + , description={ + TODO realtime + } +} diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index ecf0d4f..1f7cc9b 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,69 +1,131 @@ % // vim: set ft=tex: \chapter{Introduction} +\label{context::introduction} -This thesis studies the feasibility of using static code analysis, as found in the \gls{Rust} \gls{compiler}, for ensuring safety within an \gls{OS} kernel. +This thesis studies the feasibility of using compile-time code analysis, as found in the \gls{Rust} \gls{compiler}, for ensuring memory-safety within an \gls{OS} kernel. Because an \gls{OS} is nothing but a \gls{app}, this study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for higher level applications. -The \gls{OS} is the only \gls{app} that has unrestricted access to these resources, with the task of managing these safely according to the rules that were set up by the \gls{sysadmin}. +The \gls{OS} is the only \gls{app} that required unrestricted access to these resources, with the task of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. -\section{A Definition of Memory Safety In The \gls{OS}} -A clear definition of memory safety is laid out in this section. -For decades computer systems are able to execute instructions that they have previously loaded into their main memory. -The details of loading the instructions for the \gls{OS} are irrelevant for the understanding, but it is assumed that the persistent memory that holds these instructions is the responsibility of the \gls{sysadmin} and not the \gls{OS}. -Once the \gls{OS} is in execution, it is responsible for loading the instructions and data for other \gls{app} into main memory. -This happens either automatically through configured jobs, or based on well-defined events which can be any form of input via the system's interfaces. -The latter is potentially dangerous because it requires an extensive amount of care and foresight from the developers of the \gls{OS} and \glspl{app} to prepare a system for the various events that might possibly occur. -This is not an easy task, especially if the interface or the environment of a system are diverse and complex. +\section{Memory And Safety} +\label{context::introduction::memory-safety} +% In Chapter 1 this is a summary of the methodology and contains a brief outline of three things: (a) the participants in a qualitative study or the subjects of a quantitative study (human participants are referred tyo as participants, non-human subjects are referred to as subjects), (b) the instrumentation used to collect data, and (c) the procedure that will be followed. All of these elements will be reported in detail in Chapter 3. In a quantitative study, the instrumentation will be validated in Chapter 3 in detail. In a qualitative study, if it is a researcher-created questionnaire, validating the correctness of the interview protocol is usually accomplished with a pilot study. For either a quantitative or a qualitative study, using an already validated survey instrument is easier to defend and does not require a pilot study; however, Chapter 3 must contain a careful review of the instrument and how it was validated by the creator. +% In a qualitative study, which usually involves interviews, the instrumentation is an interview protocol – a pre-determined set of questions that every participant is asked that are based on the primary research questions. A qualitative interview should contain no less than 10 open-ended questions and take no less than 1 hour to administer to qualify as “robust” research. +% In the humanities, a demographic survey should be circulated with most quantitative and qualitative studies to establish the parameters of the participant pool. Demographic surveys are nearly identical in most dissertations. In the sciences, a demographic survey is rarely needed. +Memory-safety is a term that is only vaguely defined in general, thus a definition is given for the context of this thesis. +For a thorough understanding of the issues discussed further in this document, it might be helpful to review the basics of how memory is used in current computer systems. + +For decades computer systems or more specifically their \glspl{CPU} were designed to execute instructions that were previously loaded into volatile main memory, typically from a secondary, persistent memory. +These instructions are themselves able to alter the very main memory they are stored at, which allows for great flexibility but also involves the risk of corrupting a consistent chain of instructions or other memory content like data. + +As any other \gls{app}, the \gls{OS} is executed in form of a set of logically grouped instructions, called a program. +Loading the \gls{OS}'s program into memory is not the responsibility of the \gls{OS}, it belongs to the components earlier in the boot process, namely the boot loader and system firmware. +The \gls{OS} takes over the responsibility to protect the main and secondary memory from the point where it is being handed control over by the bootloader. +Loading further programs into main memory is done by the \gls{OS}, either according to scheduled jobs set up by the \gls{sysadmin}, or based on well-defined events which can be triggered by any form of input via the system's interfaces. +For example, the \gls{OS} can load and execute a program stored on the hard-disk, after the user has gave the appropriate instructions via a terminal. + +The execution of other programs is potentially dangerous, because the program might the memory content of other programs and their data. +It is the responsibility of the \gls{OS} to prevent programs from being able to interfere with each other under any circumstances, keeping the memory content in a consistent state at all times. +This requires an extensive amount of care and foresight from the developers of the \gls{OS}, to ensure memory consistency in any of the various events and combinations thereof that might possibly occur at runtime. + +\subsection{A Definition Of Memory-Safety} +\label{context::introduction::memory-safety::def} +If the \gls{OS} is memory-safe, any program, whether it is part of the \gls{OS} or any other \gls{app}, memory access is restricted to memory regions that have been allocated for this specific program, preventing it from reading and writing to memory regions of other programs. + +\subsection{The Human Aspect} +\label{context::introduction::memory-safety::human-aspect} +Programs are written by humans which is an important aspect against memory-safety. +No human is born as a flawless software engineer. +Beginners will start writing programs before he or she masters this skill in perfection. +Also, with each generation of humans there will always be new beginners that will start learning from scratch. +This requires a sustainable method to prevent mistakes, especially such that have an impact on memory-safety. +Advanced programmers can profit too, as they also make mistakes on a regular basis, depending on their level of focus which can vary momentarily. + +\subsection{Detecting Memory-Safety Violations - Before They Occur} +\label{context::introduction::memory-safety::detection} +The human aspect suggests that systems needs to be designed to be testable at first, and then tested thoroughly in order to mitigate the risks of erroneous software being executed by the end-user. + +Besides the presence and quality of tests, their point in the software life cycle plays an important role. +The earliest tests can be as soon as the process of software development itself, and the latest ones can be at the time of execution on the production system of the end-user. +It is desirable to place tests as early as possible in the software life cycle, to prevent them from compromising running systems that hold sensitive data and offer important services. + +The dimension of time can also be translated to hierarchically lower system components at run-time. +This suggests that the \gls{OS} must be tested before the other executed \glspl{app}, etc. +This can be easily explained. +From a \gls{app} perspective, testing every permutation of \gls{OS} runtime states can be impossible, because the \gls{app} can not freely mutate the system's state. +Even if it could, testing all possible permutations of system state is limited by time and resource restrictions. +That's why even disciplined software engineers write tests that only target common error cases, like system memory exhaustion, and ensure syntactic and semantic correctness for the \gls{app} being developed. +Edge cases that happen only under specific system circumstances, possibly influenced by other components on the system as described in the beginning of \autoref{context::introduction::memory-safety}, are at high risk of remaining untested, and the \gls{app} developer is forced to trust the underlying \gls{OS}. +This puts high importance on the safety of the \gls{OS} design and implementation. + +\subsection{Abstraction: Safety vs. Functionality} +\label{context::introduction::memory-safety::abstr-safety-function} +In computer systems, safety and functionality are counter-proportional towards each other, because with increased functionality also grows complexity, and error cases become more difficult to find. +Applying this analogy to software development, during which the errors are created in the first place, might be misleading. +It might seem that the more abstraction is provided by a language, the higher the functionality is. +In fact, the opposite is the case. +Abstraction can be used to impose limits on what the programmer can instruct the system to do. +By defining an abstraction layer in form of a programming language, the language defines which of the underlying functionality will be exposed through it. +In addition, the language can introduce obligated rules that make the written program easier to analyze in an automated fashion, before it gets compiled into the underlying representation. + +\section{Safety In Language Compilers And Static Analyzers} +\label{context::introduction::language-compilers-analyzers} +% The theoretical framework is the foundational theory that is used to provide a perspective upon which the study is based. There are hundreds of theories in the literature. For instance, if a study in the social sciences is about stress that may be causing teachers to quit, Apple’s Intensification Theory could be cited as the theory was that stress is cumulative and the result of continuing overlapping, progressively stringent responsibilities for teachers that eventually leads to the desire to quit. In the sciences, research about new species that may have evolved from older, extinct species would be based on the theory of evolution pioneered by Darwin. +% Some departments put the theoretical framework explanation in Chapter 1; some put it in Chapter 2. +In \autoref{context::introduction::memory-safety}, specifically in \autoref{context::introduction::memory-safety::detection}, it was explained that programming languages have direct impact on the memory-safety. +This section gives an example of how severe this impact is and explains the requirements on a \gls{OS} language. + +\subsection{\gls{Linux} and \gls{C}: Zero Memory-Safety A Day} +% Significance of the Study +% The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. +A very popular and widespread \gls{OS} is \gls{Linux} which is written in \gls{C} and some hardware specific \gls{asm} code. +Recent years have shown how prone it is to vulnerabilities that result from programming errors related to memory management. +A very recent and high impact vulnerability is known as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. + +With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via generated checks imposed at runtime. (TODO: reference). + +Static analysis are not very effective on a language that has not been designed to be safety-analyzed. TODO? reference? +For this reason there have been attempts to define subsets of the \gls{C} language that can be safety checked, TODO: refernces of Cyclone, CCured, etc.. + +Safety checks that are performed at runtime introduce a high degree of overhead, which makes it an nonviable option in the domain of \gls{OS} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or tasks with \gls{realtime} requirements. (TODO: explain realtime requirements) +This has been forcing \gls{OS} developers to prioritize performance over safety. (TODO: reference) + +Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \autoref{chap:mmt}. + +\subsection{\gls{OS} Language Choices} +Criteria for the choice of language are much different from choosing a language for other types of \glspl{app}. + +This is a list of what is required for implementing an \glspl{OS} + +\begin{itemize} + \item{Raw access to \gls{CPU} instructions} + \item{Deterministic temporal behavior} +\end{itemize} + +* TODO: put in some scientific background about static checks + * affine types -In this context, memory safety is the ability to prevent an alteration of the memory content that would otherwise lead to malfunctioning at best, and malicious behavior at worst. \section{Academic And Industrial Activities} % Primary Research Questions % The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. % Hypotheses % A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. -* TODO: mention redox, tockos, intermezzOS and more activities * TODO: mention paper's by tockos team * TODO: mention electrolyte, formal verification for Rust According to my best-effort literature research in Q1/2017, the hypothesis that \textit{Rust's static code analysis can guarantee memory safety in the \gls{OS}} has not been studied explicitly. This is to my surprise, because as explained in more details in this chapter the situation in -\gls{OS} is critical and \gls{Rust} offers attractive features to help improve this situation. +\gls{OS} is critical and \gls{Rust} offers attractive features to help improve this situation. However, the hypothesis cannot be trivially approved or denied, which drives the research efforts for my final thesis project. +Besides this specific hypothesis, many implementations of \glspl{OS} with \gls{Rust} have appeared in public. +These range from proof-of-concept and educational work like \gls{imezzos} and \gls{blogos}, to implementations that aim to be production grade software like \gls{redoxos} and \gls{tockos}. + % Purpose of the Study %The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. The results will be of qualitative nature, captured by analyzing existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. In addition to the sole analysis of \gls{Rust}-implementations, comparisons will be made, discerning the level of memory safety guarantees gained over similarly intending implementations in \gls{C}. -\section{Status Quo: Zero Memory-Safety A Day} -% Significance of the Study -% The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. -A very popular and widespread is \gls{OS}, which has been developed with \gls{C} (and some assembly). -Recent years have shown how prone it is to vulnerabilities that result from the unsafe language design and programming errors. -With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via checks imposed at runtime. (TODO: reference). - -The former is complex to perform on a language that has not been designed to be safety-analysed. TODO? reference? -Despite its complexity, attempts exist to define a subset of the \gls{C} language that can be safety checked, TODO: refernces of Cyclone, CCured, etc.. - -Safety checks that are performed at runtime introduce a high degree of overhead, which makes it an unviable option in the domain of \gls{OS} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or other tasks with hard- or soft-realtime requirements.. (TODO: explain realtime requirements) -This has been forcing \gls{OS} developers to prioritize performance over safety. (TODO: reference) - -Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \autoref{chap:mmt}. - -\section{Assessing Memory-Safety} -% In Chapter 1 this is a summary of the methodology and contains a brief outline of three things: (a) the participants in a qualitative study or the subjects of a quantitative study (human participants are referred tyo as participants, non-human subjects are referred to as subjects), (b) the instrumentation used to collect data, and (c) the procedure that will be followed. All of these elements will be reported in detail in Chapter 3. In a quantitative study, the instrumentation will be validated in Chapter 3 in detail. In a qualitative study, if it is a researcher-created questionnaire, validating the correctness of the interview protocol is usually accomplished with a pilot study. For either a quantitative or a qualitative study, using an already validated survey instrument is easier to defend and does not require a pilot study; however, Chapter 3 must contain a careful review of the instrument and how it was validated by the creator. -% In a qualitative study, which usually involves interviews, the instrumentation is an interview protocol – a pre-determined set of questions that every participant is asked that are based on the primary research questions. A qualitative interview should contain no less than 10 open-ended questions and take no less than 1 hour to administer to qualify as “robust” research. -% In the humanities, a demographic survey should be circulated with most quantitative and qualitative studies to establish the parameters of the participant pool. Demographic surveys are nearly identical in most dissertations. In the sciences, a demographic survey is rarely needed. -* TODO: what is memory? -* TODO: when it is considered safe? -* TODO: Explain how memory-safety can be measured - -\section{Compilers And Static Code Analysis} -% The theoretical framework is the foundational theory that is used to provide a perspective upon which the study is based. There are hundreds of theories in the literature. For instance, if a study in the social sciences is about stress that may be causing teachers to quit, Apple’s Intensification Theory could be cited as the theory was that stress is cumulative and the result of continuing overlapping, progressively stringent responsibilities for teachers that eventually leads to the desire to quit. In the sciences, research about new species that may have evolved from older, extinct species would be based on the theory of evolution pioneered by Darwin. -% Some departments put the theoretical framework explanation in Chapter 1; some put it in Chapter 2. -* TODO: put in some scientific background about static checks - * affine types - \section{Assumptions, Limitations, and Scope (Delimitations)} % Assumptions are self-evident truths. In a qualitative study, it may be assumed that participants be highly qualified in the study is about administrators. It can be assumed that participants will answer truthfully and accurately to the interview questions based on their personal experience, and that participants will respond honestly and to the best of their individual abilities. % Limitations of a study are those things over which the research has no control. Evident limitations are potential weaknesses of a study. Researcher biases and perceptual misrepresentations are potential limitations in a qualitative study; in a quantitative study, a limitation may be the capability of an instrument to accurately record data. @@ -84,9 +146,9 @@ The \autoref{chap:mmt} gives a detailed introduction to memory management in con * TODO: in the beginnings application software had full control over memory * TODO: from single-job via batch systems to multiprocessing -As the result of collaborations between hard- and software developers, the memory management task in the \gls{OS} is partially delegated to the \gls{CPU}'s \gls{MMU}. -A complete understand of this task is necessary in order to reason about it's safety. -This chapter starts with the provides a thorough introduction to modern memory management techniques on the x86\_64 architecture. +As the result of collaborations between hard- and software developers, the memory management task in the \gls{OS} can be partially delegated to the \gls{CPU}'s \gls{MMU}. +A complete understanding of this task is necessary in order to reason about it's safety. +This chapter provides an introduction to hardware-supported memory-management and protection techniques for the x86\_64 architecture. \section{Resource Abstraction: Protection And Efficiency} * TODO: recap that management has been motivated by multiprocessing without side-effects diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index b3da183..8c652c8 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,14 +3,14 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@book{AMD64Vol1, -author = {AMD}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, -keywords = {AMD64,SIMD,extended media instructions,legacy m}, -number = {26568}, -title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, -volume = {4}, -year = {2012} +@article{Reed2015, +abstract = {Rust is a new systems language that uses some advanced type system features, specifically affine types and regions, to statically guarantee memory safety and eliminate the need for a garbage collector. While each individual addition to the type system is well understood in isolation and are known to be sound, the combined system is not known to be sound. Furthermore, Rust uses a novel checking scheme for its regions, known as the Borrow Checker, that is not known to be correct. Since Rust's goal is to be a safer alternative to C/C++, we should ensure that this safety scheme actually works. We present a formal semantics that captures the key features relevant to memory safety, unique pointers and borrowed references, specifies how they guarantee memory safety, and describes the operation of the Borrow Checker. We use this model to prove the soudness of some core operations and justify the conjecture that the model, as a whole, is sound. Additionally, our model provides a syntactic version of the Borrow Checker, which may be more understandable than the non-syntactic version in Rust.}, +author = {Reed, Eric}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Patina$\backslash$: A Formalization of the Rust Programming Language.pdf:pdf}, +number = {February}, +pages = {1--37}, +title = {{Patina: A Formalization of the Rust Programming Language}}, +year = {2015} } @article{Dhurjati2003, abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, @@ -145,6 +145,15 @@ pages = {52--57}, title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, year = {2013} } +@book{AMD64Vol1, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, +keywords = {AMD64,SIMD,extended media instructions,legacy m}, +number = {26568}, +title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, +volume = {4}, +year = {2012} +} @article{Getreu2016, author = {Getreu, Jens}, file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index ad566b7..1cb31e6 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -24,7 +24,7 @@ \usepackage{listings} -\newcommand{\topic}{Guaranteed In-Kernel Memory-Safety Using Rust's Static Code Analysis} +\newcommand{\topic}{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis} \newcommand{\authorOne}{Stefan Junker} \newcommand{\authorOneInit}{SJ} @@ -38,7 +38,7 @@ \newcommand{\studies}{Master Information Technology - Embedded And Mobile Systems} \newcommand{\startdate}{2017/4/1} \newcommand{\submitdate}{2017/8/31} -\newcommand{\buzzwords}{TODO buzzwords} +\newcommand{\buzzwords}{memory-safety, operating system, rust} % Numbered Subsubsections \setcounter{secnumdepth}{3} @@ -125,7 +125,7 @@ \chapter*{Preface} This thesis is original, unpublished, independent work by the author, \authorOne. I strongly believe in openness and collaboration in the development of new technology, therefore the development will be based solely on Open-Source software. - The results of this project will be freely available on my personal Gitlab site\footnote{https://gitlab.com/steveeJ/msc-thesis} once the academic process of this project is complete. + The source of this document and the code I have worked on will be freely available on my personal Gitlab site\footnote{https://gitlab.com/steveeJ/msc-thesis} once the academic process of this project is complete. \tableofcontents From c56bcd9c4b92d2f66afdaf35cf6e318f612ad70d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 22 Aug 2017 10:55:48 +0200 Subject: [PATCH 102/126] R&D: outline stack protection --- .../research_and_development.tex | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index b72bc6e..05a831d 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -46,7 +46,18 @@ Guarantees to be statically checked: \subsection{Redox} \subsection{Tock} -\chapter{Introduce Preemptive \gls{OS}-Level Multitasking to \gls{imezzos}} +\chapter{\gls{imezzos}: Adding Preemptive \gls{OS}-Level Multitasking} + +\section{Timed Interrupts For Scheduling and Dispatching} +\section{Simple Stack Allocation Scheme} + +\section{Risk Of Stack-Overflow} +* TODO: The compiler doesn't check for stack overflows. +* TODO: Describe possible implementation. + Parameters: + Stack limit for each function: user defined constant, + Stack size for each function: calculated, + Call-Tree: calculated, \chapter{Result Generalization} From 1cae6ec1ece53954d6b4b352dde1edfe34756f82 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 22 Aug 2017 17:40:13 +0200 Subject: [PATCH 103/126] glossery: introduce some first-use items This requires the usage of \glsentrytext in chapters etc., because the first expansion shouldn't happen there. --- src/docs/glossary.tex | 39 ++++++++++++++----- src/docs/parts/context/context.tex | 37 ++++++++++-------- .../research_and_development.tex | 7 ++-- src/docs/thesis.tex | 3 +- 4 files changed, 55 insertions(+), 31 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 05250bd..6de8da6 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -1,41 +1,60 @@ % // vim: set ft=tex: -\newglossaryentry{Rust}{ - name=Rust - , description={ - TODO programming language - } +\newglossaryentry{Rust} { + name = {Rust}, + long = {the Rust programming language}, + description = { + Statically typed programming language that uses a new concept of variable ownership and reference tracking. Largely explain in \autoref{context::rust}. + }, + first = {\glsentrylong{Rust}} } +\newglossaryentry{proglang} { + name = {programming language}, + description = { + A well-defined language used to write software. Hundreds of language exists, each with focus on different aspects like comfort for humans, size, speed, safety, etc. + }, +} + + \newglossaryentry{compiler}{ name = compiler, + long = {source- to machine-code compiler}, description = { A program that can transform software source code to executable machine code. + Typically targetted for a \glsentryname{proglang} or a family of \glspl{proglang}. }, + first = {\glsentrylong{compiler}} } \newglossaryentry{addrspace}{ - name = memory address space, + name = address space, + long = bound address range in memory, description = { - A logical entity that represents parts of the virtual memory, specified with a starting address and the length in a standardize unit + A logical entity that represents a section of memory, specified with a start address and either by end address or length given in a standardize unit }, + first = {\glsentrylong{addrspace}} } -\newglossaryentry{API}{ +\newglossaryentry{api}{ name = API, + long = {Application Programming Interface}, description = { - Application Programming Interface }, + first = {\glsentrylong{api}} } \newglossaryentry{OS}{ - name = Operating System, + name = OS, + long = Operating System, description = { The software that manages the system's hardware ressources. Other \glspl{app} can access the ressources only through the interface provided by the \gls{OS}. }, + first = {\glsentrylong{OS}} } + \newglossaryentry{fs}{ name = filesystem, description = { diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 1f7cc9b..d1ab100 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -2,7 +2,7 @@ \chapter{Introduction} \label{context::introduction} -This thesis studies the feasibility of using compile-time code analysis, as found in the \gls{Rust} \gls{compiler}, for ensuring memory-safety within an \gls{OS} kernel. +This thesis studies the feasibility of using compile-time code analysis, as found in \gls{Rust}'s \gls{compiler}, for ensuring memory-safety within an \gls{OS} kernel. Because an \gls{OS} is nothing but a \gls{app}, this study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for higher level applications. The \gls{OS} is the only \gls{app} that required unrestricted access to these resources, with the task of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. @@ -27,7 +27,7 @@ The execution of other programs is potentially dangerous, because the program mi It is the responsibility of the \gls{OS} to prevent programs from being able to interfere with each other under any circumstances, keeping the memory content in a consistent state at all times. This requires an extensive amount of care and foresight from the developers of the \gls{OS}, to ensure memory consistency in any of the various events and combinations thereof that might possibly occur at runtime. -\subsection{A Definition Of Memory-Safety} +\subsection{A Definition Of Memory-Safety in the \glsentrytext{OS}} \label{context::introduction::memory-safety::def} If the \gls{OS} is memory-safe, any program, whether it is part of the \gls{OS} or any other \gls{app}, memory access is restricted to memory regions that have been allocated for this specific program, preventing it from reading and writing to memory regions of other programs. @@ -74,7 +74,7 @@ In addition, the language can introduce obligated rules that make the written pr In \autoref{context::introduction::memory-safety}, specifically in \autoref{context::introduction::memory-safety::detection}, it was explained that programming languages have direct impact on the memory-safety. This section gives an example of how severe this impact is and explains the requirements on a \gls{OS} language. -\subsection{\gls{Linux} and \gls{C}: Zero Memory-Safety A Day} +\subsection{\glsentrytext{Linux} and \glsentrytext{C}: Zero Memory-Safety A Day} % Significance of the Study % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. A very popular and widespread \gls{OS} is \gls{Linux} which is written in \gls{C} and some hardware specific \gls{asm} code. @@ -91,8 +91,8 @@ This has been forcing \gls{OS} developers to prioritize performance over safety. Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \autoref{chap:mmt}. -\subsection{\gls{OS} Language Choices} -Criteria for the choice of language are much different from choosing a language for other types of \glspl{app}. +\subsection{\glsentrytext{OS} Programming Language Choice} +Criteria for the choice of programming language are much different from choosing a language for other types of \glspl{app}. This is a list of what is required for implementing an \glspl{OS} @@ -245,12 +245,16 @@ As per the previous \autoref{chap:context.mem-weaknesses} there is general aware * TODO: deadlock example \chapter{Introduction To Rust} +\label{context::rust} +Described by the maintainers, it is a "systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.", (www.rust-lang.org) \section{Compiler Architecture} - TODO: Tokens? AST? LLVM? (http://embed.rs/articles/2016/arm-inline-assembly-rust/) - TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4 -\section{Static Analysis Features} +\subsection{Static Analyser} + +\section{Language Features} - TODO: How does static typing help with preventing programming errors - TODO: How does the Rust's static analysis work, theoretically and practically - TODO: How can memory be dynamically allocated and still safety checked? @@ -258,7 +262,6 @@ As per the previous \autoref{chap:context.mem-weaknesses} there is general aware \subsection{Ownership And Borrows} - TODO: Who owns global 'static variables? -- https://nercury.github.io/rust/guide/2015/01/19/ownership.html \subsection{Lifetimes} - TODO: Where are global 'static variables allocated? @@ -268,19 +271,21 @@ As per the previous \autoref{chap:context.mem-weaknesses} there is general aware - TODO: demonstrate raw pointers - TODO: what's the equivalent of void*? -\subsection{The Newtype Pattern} +\subsection{Inner- and Outer Mutability} +- TODO: describe Rc, Arc, and {Ref,}Cell + +- https://nercury.github.io/rust/guide/2015/01/19/ownership.html \subsection{Zero-Cost Abstraction} - -https://aturon.github.io/features/types/newtype.html - - -\subsection{Im/mutability} -- TODO: describe Rc, Arc, and {Ref,}Cell - -\section Language Extension +\section{Language Extension} \subsection{Syntax Extension} \subsubsection{Macros} \subsubsection{Annotations} \subsection{Compiler Plugins} + +\section{Idioms And Patterns} + +\subsection{The Newtype Pattern} +https://aturon.github.io/features/types/newtype.html + diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index 05a831d..6ff51a3 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -29,11 +29,10 @@ Guarantees to be statically checked: * TODO: describe that tests are mostly semantics as opposed to static checks being mostly syntactical and technical * TODO: They necessary in addition to static checks to cover the well-known use-cases and edge-cases. TODO: example? -\chapter{Attempt Extend \gls{Linux} with \gls{Rust}} +\chapter{\glsentrytext{Linux} Modules Written In \glsentrytext{Rust}} * TODO: describe Difficulties with the GPL Macros used Within Kernel Modules -\chapter{Existing \gls{OS}-Development Projects Based On Rust} - +\chapter{Existing \glsentrytext{OS}-Development Projects Based On Rust} \section{Libraries} @@ -46,7 +45,7 @@ Guarantees to be statically checked: \subsection{Redox} \subsection{Tock} -\chapter{\gls{imezzos}: Adding Preemptive \gls{OS}-Level Multitasking} +\chapter{\glsentrytext{imezzos}: Adding Preemptive \glsentrytext{OS}-Level Multitasking} \section{Timed Interrupts For Scheduling and Dispatching} \section{Simple Stack Allocation Scheme} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 1cb31e6..2d40a96 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -37,7 +37,7 @@ \newcommand{\supervisorTwo}{Felix Schuckert} \newcommand{\studies}{Master Information Technology - Embedded And Mobile Systems} \newcommand{\startdate}{2017/4/1} -\newcommand{\submitdate}{2017/8/31} +\newcommand{\submitdate}{2017/9/29} \newcommand{\buzzwords}{memory-safety, operating system, rust} % Numbered Subsubsections @@ -121,6 +121,7 @@ \pagestyle{main} %TODO \include{acknowledgments} + %TODO abstract \chapter*{Preface} This thesis is original, unpublished, independent work by the author, \authorOne. From 6c6e500a796a31b0427069a7a06cdc55ebc98652 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 31 Aug 2017 22:29:22 +0200 Subject: [PATCH 104/126] thesis: misc preface fixes --- src/docs/thesis.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 2d40a96..713274a 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -35,7 +35,7 @@ \newcommand{\authorOneId}{283751} \newcommand{\supervisorOne}{Prof. Dr. Michael Mächtel} \newcommand{\supervisorTwo}{Felix Schuckert} -\newcommand{\studies}{Master Information Technology - Embedded And Mobile Systems} +\newcommand{\studies}{Information Technology - Embedded And Mobile Systems} \newcommand{\startdate}{2017/4/1} \newcommand{\submitdate}{2017/9/29} \newcommand{\buzzwords}{memory-safety, operating system, rust} @@ -124,7 +124,7 @@ %TODO abstract \chapter*{Preface} - This thesis is original, unpublished, independent work by the author, \authorOne. + This thesis is original, unpublished, independent work by me, \authorOne. I strongly believe in openness and collaboration in the development of new technology, therefore the development will be based solely on Open-Source software. The source of this document and the code I have worked on will be freely available on my personal Gitlab site\footnote{https://gitlab.com/steveeJ/msc-thesis} once the academic process of this project is complete. From fee8d2e418739e59f85efce3ace00e4623c9cea2 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 31 Aug 2017 22:30:17 +0200 Subject: [PATCH 105/126] latex: switch to biblatex/biber --- src/docs/thesis.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 713274a..545aa7e 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -13,10 +13,10 @@ %\usepackage{multirow,tabularx,tabu} \usepackage{ctable,multirow} -\usepackage{cite} -\bibliographystyle{ieeetr} +\usepackage[backend=biber,style=numeric,url=true]{biblatex} +\addbibresource{thesis.bib} -\usepackage[hyphens]{url} +%\usepackage[hyphens]{url} \Urlmuskip = 0mu plus 1mu \usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} @@ -150,6 +150,6 @@ \listoftables %TODO \lstlistoflistings \listoffigures - \bibliography{thesis} + \printbibliography \end{document} From ea38b0c43d25c868a4d0f6fa9aab94693f5ce666 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 31 Aug 2017 22:31:01 +0200 Subject: [PATCH 106/126] thesis: turn off draft mode See graphics :-) --- src/docs/thesis.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 545aa7e..13c910d 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -1,4 +1,4 @@ -\documentclass[draft,12pt,a4paper]{report} +\documentclass[12pt,a4paper]{report} \overfullrule=5mm From cb198421df0e528d76eb96880d2869901ede322d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 31 Aug 2017 22:31:35 +0200 Subject: [PATCH 107/126] latex: losen hyphenation rules --- src/docs/thesis.tex | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 13c910d..6822369 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -19,6 +19,9 @@ %\usepackage[hyphens]{url} \Urlmuskip = 0mu plus 1mu +\hyphenpenalty=500 +\tolerance=10000 + \usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} \makenoidxglossaries From c32d44043218f09cedf018a2456bbf1af2c5f807 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 1 Sep 2017 16:45:52 +0200 Subject: [PATCH 108/126] fixup! eval & conclusion: new part --- src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex diff --git a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex new file mode 100644 index 0000000..1766b80 --- /dev/null +++ b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex @@ -0,0 +1,4 @@ +% // vim: set ft=tex: +\chapter{Result Evaluation} + +\chapter{Conclusion} From f50dd56fffed364368d8ddfa88a03669649d982f Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 31 Aug 2017 22:31:56 +0200 Subject: [PATCH 109/126] thesis/context: work on introduction * Explain some of Memory-Management * Explain CWE with relevant examples * Add CWE-119 Statistics --- .gitignore | 10 +- ...lnerability-Type-Totals-By-Year-Legend.png | Bin 0 -> 23656 bytes ...tive-Vulnerability-Type-Totals-By-Year.png | Bin 0 -> 52070 bytes ...Physical-Address-Translation-Long-Mode.png | Bin 0 -> 69508 bytes ...lnerability-Type-Change-by-Year-Legend.png | Bin 0 -> 11845 bytes .../gfx/Vulnerability-Type-Change-by-Year.png | Bin 0 -> 71609 bytes .../amd64-4kb-page-translation-long-mode.png | Bin 0 -> 80668 bytes src/docs/gfx/qemu-stack-overflow.png | Bin 0 -> 18657 bytes src/docs/glossary.tex | 76 ++- src/docs/parts/context/context.tex | 473 ++++++++++++------ .../research_and_development.tex | 62 +-- src/docs/thesis.bib | 406 ++++++++------- src/docs/thesis.tex | 6 +- 13 files changed, 638 insertions(+), 395 deletions(-) create mode 100644 src/docs/gfx/Relative-Vulnerability-Type-Totals-By-Year-Legend.png create mode 100644 src/docs/gfx/Relative-Vulnerability-Type-Totals-By-Year.png create mode 100644 src/docs/gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png create mode 100644 src/docs/gfx/Vulnerability-Type-Change-by-Year-Legend.png create mode 100644 src/docs/gfx/Vulnerability-Type-Change-by-Year.png create mode 100644 src/docs/gfx/amd64-4kb-page-translation-long-mode.png create mode 100644 src/docs/gfx/qemu-stack-overflow.png diff --git a/.gitignore b/.gitignore index 2b671be..51873ad 100644 --- a/.gitignore +++ b/.gitignore @@ -5,10 +5,10 @@ *.fls *.lof *.log +*.lol *.lot *.synctex.gz *.toc -src/docs/*.pdf *.dvi *.glo *.ist @@ -16,6 +16,12 @@ src/docs/*.pdf .dot/* *.out *.bbl +*-blx.bib +*.bcf *.blg +*.run.xml -docs/ +.vscode/ + +/src/docs/thesis.pdf +/docs/ diff --git a/src/docs/gfx/Relative-Vulnerability-Type-Totals-By-Year-Legend.png b/src/docs/gfx/Relative-Vulnerability-Type-Totals-By-Year-Legend.png new file mode 100644 index 0000000000000000000000000000000000000000..761fcaee8f6327062d3bb1f87f0d28fd0cb70726 GIT binary patch literal 23656 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 DgCx7< literal 0 HcmV?d00001 diff --git a/src/docs/gfx/Relative-Vulnerability-Type-Totals-By-Year.png b/src/docs/gfx/Relative-Vulnerability-Type-Totals-By-Year.png new file mode 100644 index 0000000000000000000000000000000000000000..a4d9536c06ab3d93f921a2b7797b55bce9e34b9a GIT binary patch literal 52070 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

xPp;Q+$d*5`Kl}O4 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 Z|FiQqi0tm0H7gfnw5O||%Q~loCIJ6#ZuI~F literal 0 HcmV?d00001 diff --git a/src/docs/gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png b/src/docs/gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png new file mode 100644 index 0000000000000000000000000000000000000000..4d62b79d30350df2fcbfd3b1497e0bf65821a9e5 GIT binary patch literal 69508 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%0A@+}zCC`!v4(Z)@!C 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 K&t;ucLK6U0%prOJ literal 0 HcmV?d00001 diff --git a/src/docs/gfx/Vulnerability-Type-Change-by-Year-Legend.png b/src/docs/gfx/Vulnerability-Type-Change-by-Year-Legend.png new file mode 100644 index 0000000000000000000000000000000000000000..421bfb9b46e41b9a8e794d41584133cf4d79610e GIT binary patch literal 11845 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 Yz5M?1Q?ouXFfcH9y85}Sb4q9e0AyEsqW}N^ literal 0 HcmV?d00001 diff --git a/src/docs/gfx/Vulnerability-Type-Change-by-Year.png b/src/docs/gfx/Vulnerability-Type-Change-by-Year.png new file mode 100644 index 0000000000000000000000000000000000000000..c4e0a3370122df5f79c700015d9115d1df831b78 GIT binary patch literal 71609 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

sIYh=H+F)pd~$5uTK5= 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�IvX-n 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 literal 0 HcmV?d00001 diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 6de8da6..34c3e43 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -97,7 +97,7 @@ }, } -\newglossaryentry{Linux}{ +\newglossaryentry{LX}{ name = Linux, description = { is a generic term referring to the family of Unix-like @@ -159,7 +159,7 @@ \newglossaryentry{lxvfs}{ name = Linux VFS, description = { - Virtual Filesystem Switch, a filesystem abstraction layer in \gls{Linux}. + Virtual Filesystem Switch, a filesystem abstraction layer in \gls{LX}. }, } @@ -186,6 +186,13 @@ } } +\newglossaryentry{program} { + name = {program}, + description = { + A set of logically grouped instructions. + }, +} + \newglossaryentry{pm}{ name=package manager, description={ @@ -255,15 +262,35 @@ \newglossaryentry{appc}{ name=App Container, description={ - Specific variant of an \gls{sac} defined by the \gls{appcorg}. + Specific variant of an \glsentrytext{sac} defined by the \glsentrytext{appcorg}. } } +\newglossaryentry{NVD}{ + name = {NVD}, + description = {https://nvd.nist.gov/}, + long = {National Vulnerability Database}, + first = {\glsentrylong{NVD}} +} + \newglossaryentry{CWE}{ - name=Common Weakness Enumeration, - description={ - A formal list of software weakness types. - } + name = {CWE™}, + long = Common Weakness Enumeration, + description = {a community-developed list of common software security weaknesses. It serves as a common language, a measuring stick for software security tools, and as a baseline for weakness identification, mitigation, and prevention efforts}, + first = {\glsentrylong{CWE}, "\glsentrydesc{CWE}"\cite{MITRE-CWE}} +} + +\newglossaryentry{CWE-633}{ + name = CWE-633, + description = {Weaknesses in this category affect memory resources}, + first = {CWE-633: \glsentrydesc{CWE-633}\cite{MITRE-CWE-633}} +} + +\newglossaryentry{CWE-119}{ + name = CWE-119, + description = {Improper Restriction of Operations within the Bounds of a Memory Buffer}, + short = {buffer error}, + first = {CWE-119: \glsentrydesc{CWE-119}\cite{MITRE-CWE-119}} } \newglossaryentry{C}{ @@ -273,25 +300,45 @@ } } +\newglossaryentry{C++}{ + name=C++, + , description={ + A \glsentrytext {proglag} based on \glsentrytext{C}, enahnced by features like object-orientation, lambdas, and much more. + } +} + \newglossaryentry{asm}{ name=Assembly programming language, - , description={ + description={ TODO ASM } } +\newglossaryentry{amd64}{ + name = AMD64, + long = AMD64, + description={ + TODO AMD64 + }, + first = {\glsentrylong{amd64}}, +} + \newglossaryentry{CPU}{ - name=Central Processing Unit - , description={ + name = CPU, + long = Central Processing Unit, + description={ TODO CPU - } + }, + first = {\glsentrylong{CPU}}, } \newglossaryentry{MMU}{ - name=Memory Management Unit - , description={ + name = MMU, + long = Memory Management Unit, + description={ TODO MMU - } + }, + first = {\glsentrylong{MMU}}, } \newglossaryentry{sysadmin}{ @@ -307,3 +354,4 @@ TODO realtime } } + diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index d1ab100..29425a7 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -6,195 +6,267 @@ This thesis studies the feasibility of using compile-time code analysis, as foun Because an \gls{OS} is nothing but a \gls{app}, this study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for higher level applications. The \gls{OS} is the only \gls{app} that required unrestricted access to these resources, with the task of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. -\section{Memory And Safety} -\label{context::introduction::memory-safety} -% In Chapter 1 this is a summary of the methodology and contains a brief outline of three things: (a) the participants in a qualitative study or the subjects of a quantitative study (human participants are referred tyo as participants, non-human subjects are referred to as subjects), (b) the instrumentation used to collect data, and (c) the procedure that will be followed. All of these elements will be reported in detail in Chapter 3. In a quantitative study, the instrumentation will be validated in Chapter 3 in detail. In a qualitative study, if it is a researcher-created questionnaire, validating the correctness of the interview protocol is usually accomplished with a pilot study. For either a quantitative or a qualitative study, using an already validated survey instrument is easier to defend and does not require a pilot study; however, Chapter 3 must contain a careful review of the instrument and how it was validated by the creator. -% In a qualitative study, which usually involves interviews, the instrumentation is an interview protocol – a pre-determined set of questions that every participant is asked that are based on the primary research questions. A qualitative interview should contain no less than 10 open-ended questions and take no less than 1 hour to administer to qualify as “robust” research. -% In the humanities, a demographic survey should be circulated with most quantitative and qualitative studies to establish the parameters of the participant pool. Demographic surveys are nearly identical in most dissertations. In the sciences, a demographic survey is rarely needed. -Memory-safety is a term that is only vaguely defined in general, thus a definition is given for the context of this thesis. -For a thorough understanding of the issues discussed further in this document, it might be helpful to review the basics of how memory is used in current computer systems. - -For decades computer systems or more specifically their \glspl{CPU} were designed to execute instructions that were previously loaded into volatile main memory, typically from a secondary, persistent memory. -These instructions are themselves able to alter the very main memory they are stored at, which allows for great flexibility but also involves the risk of corrupting a consistent chain of instructions or other memory content like data. - -As any other \gls{app}, the \gls{OS} is executed in form of a set of logically grouped instructions, called a program. -Loading the \gls{OS}'s program into memory is not the responsibility of the \gls{OS}, it belongs to the components earlier in the boot process, namely the boot loader and system firmware. -The \gls{OS} takes over the responsibility to protect the main and secondary memory from the point where it is being handed control over by the bootloader. -Loading further programs into main memory is done by the \gls{OS}, either according to scheduled jobs set up by the \gls{sysadmin}, or based on well-defined events which can be triggered by any form of input via the system's interfaces. -For example, the \gls{OS} can load and execute a program stored on the hard-disk, after the user has gave the appropriate instructions via a terminal. - -The execution of other programs is potentially dangerous, because the program might the memory content of other programs and their data. -It is the responsibility of the \gls{OS} to prevent programs from being able to interfere with each other under any circumstances, keeping the memory content in a consistent state at all times. -This requires an extensive amount of care and foresight from the developers of the \gls{OS}, to ensure memory consistency in any of the various events and combinations thereof that might possibly occur at runtime. - -\subsection{A Definition Of Memory-Safety in the \glsentrytext{OS}} -\label{context::introduction::memory-safety::def} -If the \gls{OS} is memory-safe, any program, whether it is part of the \gls{OS} or any other \gls{app}, memory access is restricted to memory regions that have been allocated for this specific program, preventing it from reading and writing to memory regions of other programs. - -\subsection{The Human Aspect} -\label{context::introduction::memory-safety::human-aspect} -Programs are written by humans which is an important aspect against memory-safety. -No human is born as a flawless software engineer. -Beginners will start writing programs before he or she masters this skill in perfection. -Also, with each generation of humans there will always be new beginners that will start learning from scratch. -This requires a sustainable method to prevent mistakes, especially such that have an impact on memory-safety. -Advanced programmers can profit too, as they also make mistakes on a regular basis, depending on their level of focus which can vary momentarily. - -\subsection{Detecting Memory-Safety Violations - Before They Occur} -\label{context::introduction::memory-safety::detection} -The human aspect suggests that systems needs to be designed to be testable at first, and then tested thoroughly in order to mitigate the risks of erroneous software being executed by the end-user. - -Besides the presence and quality of tests, their point in the software life cycle plays an important role. -The earliest tests can be as soon as the process of software development itself, and the latest ones can be at the time of execution on the production system of the end-user. -It is desirable to place tests as early as possible in the software life cycle, to prevent them from compromising running systems that hold sensitive data and offer important services. - -The dimension of time can also be translated to hierarchically lower system components at run-time. -This suggests that the \gls{OS} must be tested before the other executed \glspl{app}, etc. -This can be easily explained. -From a \gls{app} perspective, testing every permutation of \gls{OS} runtime states can be impossible, because the \gls{app} can not freely mutate the system's state. -Even if it could, testing all possible permutations of system state is limited by time and resource restrictions. -That's why even disciplined software engineers write tests that only target common error cases, like system memory exhaustion, and ensure syntactic and semantic correctness for the \gls{app} being developed. -Edge cases that happen only under specific system circumstances, possibly influenced by other components on the system as described in the beginning of \autoref{context::introduction::memory-safety}, are at high risk of remaining untested, and the \gls{app} developer is forced to trust the underlying \gls{OS}. -This puts high importance on the safety of the \gls{OS} design and implementation. - -\subsection{Abstraction: Safety vs. Functionality} -\label{context::introduction::memory-safety::abstr-safety-function} -In computer systems, safety and functionality are counter-proportional towards each other, because with increased functionality also grows complexity, and error cases become more difficult to find. -Applying this analogy to software development, during which the errors are created in the first place, might be misleading. -It might seem that the more abstraction is provided by a language, the higher the functionality is. -In fact, the opposite is the case. -Abstraction can be used to impose limits on what the programmer can instruct the system to do. -By defining an abstraction layer in form of a programming language, the language defines which of the underlying functionality will be exposed through it. -In addition, the language can introduce obligated rules that make the written program easier to analyze in an automated fashion, before it gets compiled into the underlying representation. - -\section{Safety In Language Compilers And Static Analyzers} -\label{context::introduction::language-compilers-analyzers} -% The theoretical framework is the foundational theory that is used to provide a perspective upon which the study is based. There are hundreds of theories in the literature. For instance, if a study in the social sciences is about stress that may be causing teachers to quit, Apple’s Intensification Theory could be cited as the theory was that stress is cumulative and the result of continuing overlapping, progressively stringent responsibilities for teachers that eventually leads to the desire to quit. In the sciences, research about new species that may have evolved from older, extinct species would be based on the theory of evolution pioneered by Darwin. -% Some departments put the theoretical framework explanation in Chapter 1; some put it in Chapter 2. -In \autoref{context::introduction::memory-safety}, specifically in \autoref{context::introduction::memory-safety::detection}, it was explained that programming languages have direct impact on the memory-safety. -This section gives an example of how severe this impact is and explains the requirements on a \gls{OS} language. - -\subsection{\glsentrytext{Linux} and \glsentrytext{C}: Zero Memory-Safety A Day} -% Significance of the Study -% The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. -A very popular and widespread \gls{OS} is \gls{Linux} which is written in \gls{C} and some hardware specific \gls{asm} code. -Recent years have shown how prone it is to vulnerabilities that result from programming errors related to memory management. -A very recent and high impact vulnerability is known as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. - -With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via generated checks imposed at runtime. (TODO: reference). - -Static analysis are not very effective on a language that has not been designed to be safety-analyzed. TODO? reference? -For this reason there have been attempts to define subsets of the \gls{C} language that can be safety checked, TODO: refernces of Cyclone, CCured, etc.. - -Safety checks that are performed at runtime introduce a high degree of overhead, which makes it an nonviable option in the domain of \gls{OS} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or tasks with \gls{realtime} requirements. (TODO: explain realtime requirements) -This has been forcing \gls{OS} developers to prioritize performance over safety. (TODO: reference) - -Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \autoref{chap:mmt}. - -\subsection{\glsentrytext{OS} Programming Language Choice} -Criteria for the choice of programming language are much different from choosing a language for other types of \glspl{app}. - -This is a list of what is required for implementing an \glspl{OS} - -\begin{itemize} - \item{Raw access to \gls{CPU} instructions} - \item{Deterministic temporal behavior} -\end{itemize} - -* TODO: put in some scientific background about static checks - * affine types - - -\section{Academic And Industrial Activities} +\section{Motivational Hypothesis} % Primary Research Questions % The primary research question is the basis for data collection and arises from the Purpose of the Study. There may be one, or there may be several. When the research is finished, the contribution to the knowledge will be the answer to these questions. Do not confuse the primary research questions with interview questions in a qualitative study, or survey questions in a quantitative study. The research questions in a qualitative study are followed by both a null and an alternate hypothesis. % Hypotheses % A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. -* TODO: mention paper's by tockos team -* TODO: mention electrolyte, formal verification for Rust + +%TODO: mention paper's by tockos team +%TODO: mention electrolyte, formal verification for Rust According to my best-effort literature research in Q1/2017, the hypothesis that \textit{Rust's static code analysis can guarantee memory safety in the \gls{OS}} has not been studied explicitly. -This is to my surprise, because as explained in more details in this chapter the situation in -\gls{OS} is critical and \gls{Rust} offers attractive features to help improve this situation. -However, the hypothesis cannot be trivially approved or denied, which drives the research efforts for my final thesis project. +This is to my surprise, because as explained in \autoref{context::introduction::memory-safety}, memory-safety in \gls{OS} development is critical, and \gls{Rust} offers attractive features that might bring improvements, which is covered in \autoref{context::rust}. +The hypothesis cannot be trivially approved or denied, which drives the research efforts for my final thesis project. Besides this specific hypothesis, many implementations of \glspl{OS} with \gls{Rust} have appeared in public. -These range from proof-of-concept and educational work like \gls{imezzos} and \gls{blogos}, to implementations that aim to be production grade software like \gls{redoxos} and \gls{tockos}. +Their purposes range from proof-of-concept and educational work like \gls{imezzos} and \gls{blogos}, to implementations that aim to be production grade software like \gls{redoxos} and \gls{tockos}. +These implementations are subject to evaluation in \ref{part:rnd}. -% Purpose of the Study -%The Purpose of the Study is a statement contained within one or two paragraphs that identifies the research design, such as qualitative, quantitative, mixed methods, ethnographic, or another design. The research variables, if a quantitative study, are identified, for instance, independent, dependent, comparisons, relationships, or other variables. The population that will be used is identified, whether it will be randomly or purposively chosen, and the location of the study is summarized. Most of these factors will be discussed in detail in Chapter 3. -The results will be of qualitative nature, captured by analyzing existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. +The final results presented will be of qualitative nature, captured by analyzing the existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. In addition to the sole analysis of \gls{Rust}-implementations, comparisons will be made, discerning the level of memory safety guarantees gained over similarly intending implementations in \gls{C}. -\section{Assumptions, Limitations, and Scope (Delimitations)} -% Assumptions are self-evident truths. In a qualitative study, it may be assumed that participants be highly qualified in the study is about administrators. It can be assumed that participants will answer truthfully and accurately to the interview questions based on their personal experience, and that participants will respond honestly and to the best of their individual abilities. -% Limitations of a study are those things over which the research has no control. Evident limitations are potential weaknesses of a study. Researcher biases and perceptual misrepresentations are potential limitations in a qualitative study; in a quantitative study, a limitation may be the capability of an instrument to accurately record data. +\section{Assessing Memory-Safety} +\label{context::introduction::memory-safety} +Memory-safety is a term that is only vaguely defined in general, thus a definition is given for the context of this thesis. +For a thorough understanding of the issues discussed further in this document, it might be helpful to review the basics of how memory is used in current computer systems. -% Scope is the extent of the study and contains measurements. In a qualitative study this would include the number of participants, the geographical location, and other pertinent numerical data. In a quantitative study the size of the elements of the experiment are cited. The generalizability of the study may be cited. The word generalizability, which is not in the Word 2007 dictionary, means the extent to which the data are applicable in places other than where the study took place, or under what conditions the study took place. -% Delimitations are limitations on the research design imposed deliberately by the researcher. Delimitations in a social sciences study would be such things as the specific school district where a study took place, or in a scientific study, the number of repetitions. +For decades computer systems, more specifically their \glspl{CPU}, were designed to execute instructions that were previously loaded into volatile main memory, typically from a secondary, persistent memory. +These instructions are themselves able to alter the very main memory they are stored at, which allows for great flexibility but also involves the risk of corrupting a consistent chain of instructions or other memory content like data. -\section{Premised Trust In Hardware} -* TODO: is it worth to explain ECC? -* TODO: explain that the hardware might be unsafe but this is not in scope of the thesis +As any other \gls{app}, the \gls{OS} is loaded and executed in form of one or multiple sets of logically grouped instructions, called \glspl{program}. +Loading the \gls{OS}'s program into memory is not the responsibility of the \gls{OS}, it belongs to the components earlier in the boot process, namely the boot loader and system firmware. +The \gls{OS} takes over the responsibility to protect the main and secondary memory from the point where it is being handed control over by the bootloader. +Loading further programs into main memory is done by the \gls{OS}, either according to scheduled jobs set up by the \gls{sysadmin}, or based on well-defined events which can be triggered by any form of input via the system's interfaces. +For example, the \gls{OS} can load and execute a program stored on the hard-disk, after the user has gave the appropriate instructions via a terminal. +The execution of other programs is potentially dangerous, because they might attempt to access the memory content of other programs and their data. -\section{Recap} -% Summarize the content of Chapter 1 and preview of content of Chapter 2. -\label{chap:mmt} -The \autoref{chap:mmt} gives a detailed introduction to memory management in contemporary architectures and \glspl{OS}. +It is the responsibility of the \gls{OS} to prevent executed programs from being able to mutually interfere with memory content that is not theirs, keeping the memory in a safe state at all times \footnote{This does not include memory-safety \textit{within} each of these executed programs, as the \gls{OS} has no pertinent knowledge of the program's intentions.}. +This requires an extensive amount of care and foresight from the developers of the \gls{OS}, to ensure memory consistency in any of the various events and combinations thereof that might possibly occur at runtime. -\chapter{Sophisticated Memory Management Techniques} -* TODO: in the beginnings application software had full control over memory -* TODO: from single-job via batch systems to multiprocessing +\subsection{A Definition Of Memory-Safety For \glsentryplural{OS}} +\label{context::introduction::memory-safety::def} +If the \gls{OS} is memory-safe, any program, whether it is part of the \gls{OS} or any installed \gls{app}, is only able to access its allocated memory regions. +Additionally, if the \gls{OS} supports shared memory regions, each shared memory region may only be accessible by programs that have been granted access to it. -As the result of collaborations between hard- and software developers, the memory management task in the \gls{OS} can be partially delegated to the \gls{CPU}'s \gls{MMU}. -A complete understanding of this task is necessary in order to reason about it's safety. -This chapter provides an introduction to hardware-supported memory-management and protection techniques for the x86\_64 architecture. +\section{Memory-Safety Violation in Software} +\label{context::introduction::memory-safety-violation-in-sw} +Software that has memory-safety violations is vulnerable to random crashes and intentional attacks. +This is why information on safety related mistakes in software shouldn't be publicly available immediately. +Ideally, before the vulnerability is publicly known, all systems that run the erroneous software in question should have the chance to update the software is question, so that any potential attackers can't leverage the known vulnerability. +This introduces a dilemma, because software updates usually contain publicly known information, at least in the open-source sector. -\section{Resource Abstraction: Protection And Efficiency} -* TODO: recap that management has been motivated by multiprocessing without side-effects -* TODO: brief history and market share of x86\_64 processors and ARM +Any existing or hypothetical solution to this dilemma is not in scope of this thesis, but two conclusions can be made. +First, public statistics in the area of software vulnerabilities are questionable with regard to their completeness. +Second, and more importantly, memory-safety related software mistakes should be detected as early as possible, ideally before the software is released and installed anywhere. -\section{Virtual Addresses} -* TODO: describe dynamic (relocatable) addresses -* TODO: describe swapping -* TODO: describe virtual address +\subsection{Human Aspects} +\label{context::introduction::human-aspect} +To detect software mistakes early, it is helpful to analyze where they originate. +This section emphasizes the fact that software - even if software-generators are interleaved - is ultimately produced by humans. +This aspect is relevant to assessing the origins of memory-safety related errors, as only errors made by humans during any stage of the development process can lead to unsafe memory access at runtime. +The following assumptions are made based on common sense +\begin{itemize} +\item{No human is born as a flawless software engineer.} +\item{Beginners will start writing programs before they master this skill in perfection.} +\item{With each generation of humans there will always be new beginners that will start learning from scratch.} +\item{Capabilities and motivation vary significantly between individuals.} +\item{Less capable or motivated individuals will eventually write software for production use.} +\item{Education is not ideal.} +\end{itemize} +Combining these assumptions, it cannot generally be assumed that every beginner that writes software has learned about the involved risks, and is determined and capable to ensure memory-safety and other high quality standards in their software. -% * TODO: parse http://wiki.osdev.org/Memory_Management_Unit +From my personal experience with software developers and students of software engineering, I have received the impression that many do not prioritize safety in their software. -\section{Paging} -* TODO: describe +The most severe example for this in my personal career is a former team partner in one of our \gls{C}/\gls{C++} programming courses. +Despite the fact that the professor instructed us to use valgrind\footnote{a runtime memory analyzer and debugger} to verify our programs, my partner was satisfied with the result after writing the algorithms to his best understanding and correcting all errors detected by the \gls{compiler}. +Discussing the topic with him did not lead to any understanding on his side, and even after verifying that his program had easily detectable memory issues, he insisted on the correct result of the algorithm and pointed out the lack of time. +I realized similar mindset in some of the other teams. -\subsection{Multi-Level Paging} +This personal experience is no scientific proof nor is it statistically significant. +It does create a feeling of insecurity, because if their software is distributed widely a few of these people are enough to risk the security of thousands of systems. -\subsection{Top-Level Page Table Self-Reference} +Plenty of educational, economical or methodological solutions are imaginable for this problem. +Higher focus on safety and testing in education, enforced internal company guidelines, or industry wide third party software certification requirements can be attempted. +For this thesis such constraints are out of scope, and the focus is on examining technical methods that detect and indicate mistakes as early as possible. -\subsection{Caching Lookups} +\subsection{Technical Aspect} +The problem on the technical side is that the \gls{compiler} was not able to detect all errors that are in the source code and the human was able to produce an executable program. +The resulting executable program might merely serve its purpose, and can contain severe technical mistakes that are not considered an error by the \gls{compiler}. +This is especially likely in low-abstraction languages like \gls{C}, where technical mistakes and intended behavior are difficult to distinguish. -\subsection{Full Example} +\section{Hardware-supported Memory-Management} +This section provides an overview of hardware-supported memory-management and protection techniques, which are necessary to understand in order to reason about memory-safety in the \gls{OS}. +To keep this section as short as possible, 64-Bit mode as described in \cite{AMD64Vol2} is assumed. +To effects of this are, in short, that the system relies primarily on paging memory management, thus memory segmentation can be neglected in this context. +To improve the efficiency and safety of memory-management, developers of hardware and software have been collaborating to offload some memory-management operations from the \gls{OS} to the \gls{CPU}'s \gls{MMU}. +This improves speed and adds runtime memory permission checks\cite[p. 117]{AMD64Vol2}. + + +\subsection{Virtualization - Challenges Of Multitasking} +In order to concurrently run multiple programs easily and presumably safely, the \gls{OS} conducts virtualization of the \gls{CPU}, memory and other resources\cite{Arpaci-Dusseau2015}. +This allows to perform preemptive multitasking transparently to the programs at runtime, which means that it has no side-effects on the running programs and it needs not be considered during \gls{app} development. + +\subsubsection{Task Switching} +When the \gls{OS} preempts a task it needs to store and preserve the current task's context in a well-known and protected memory location, so that it can be restored when this task is resumed. +The context consists of all volatile resources that can possibly be overwritten by another task. +This is at minimum a set of \gls{CPU} registers depending on the specific architecture. +For \gls{amd64}, see \autoref{tab:task-minimum-context-registers}. + +\begin{table} + \begin{tabularx}{\textwidth}{| c | X | X |} + \hline + \textbf{descriptive name} & + \textbf{register names on amd64} & + \textbf{description} \\ + \hline + the instruction pointer register & RIP & address of the next instruction to be fetched \\ + \hline + the instruction pointer register & RIP & address of the next instruction to be fetched \\ + \hline + all general-purpose registers & RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, R8–R15 & any data \\ + \hline + the instruction pointer register & RIP & address of the next instruction to be fetched \\ + \hline + the stack pointer register & RSP & address of current position in stack \\ + \hline + the flags register & RFLAGS & various attributes, e.g. the interrupt flag \\ + \hline + the instruction pointer register & RIP & address of the next instruction to be fetched \\ + \hline + \end{tabularx} + \caption{Minimum Context Registers on amd64\cite[p. 28]{AMD64Vol2}} + \label{tab:task-minimum-context-registers} +\end{table} + +\subsection{Virtual Address Translation and Paging} +% TODO: why virtual addressing? +On \gls{amd64}, the software's instructions use virtual memory addresses, which are translated to physical memory addresses by the \gls{MMU} of the \gls{CPU} at the time the instructions are executed. +The responsibility falls onto the \gls{OS}, thus \gls{app} developers don't have to consider paging in the logic of their programs. + + +To avoid the need for storing a translation mapping for every possible address, mappings are grouped into fixed-size pieces, called \textit{page}s. +This works by encoding the offset within the page into virtual address, together with the index into the translation array, which is an array commonly called the \textit{page table}. + +The translation itself is performed by the \gls{MMU} according to a map that is called page table, which is a structure maintained in memory by the \gls{OS}. +This memory structure can be stored anywhere in memory, and the address is handed to the \gls{MMU} via a specific \gls{CPU} register, which is \textit{CR3} on \gls{amd64}. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png} +\caption{Virtual to Physical Address in Long Mode\cite{AMD64Vol2}} +\label{fig:virtual-addr-transl} +\end{figure} + +\subsubsection{Multi-Level Paging} +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/amd64-4kb-page-translation-long-mode} +\caption{4-Kbyte Page Translation—Long Mode\cite{AMD64Vol2}} +\label{fig:4kb-page-transl} +\end{figure} + +\subsubsection{Top-Level Page Table Self-Reference} +\subsubsection{Caching Lookups} +\subsubsection{Full Example} * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows +\subsubsection{Swapping} +The physical memory can only hold a limited number of pages, and the \gls{OS} is responsible to swap the pages into and from physical memory from and to a persistent memory. +Swapping is only mentioned for the sake of completeness, and is not further pursued in this thesis. -\section{Stack And Heap Concept} -\section{Memory Allocation} +\subsection{Premised Trust In Hardware} -\chapter{Memory-Related Software-Programming Weaknesses} -\label{chap:context.mem-weaknesses} -Software vulnerabilities can be categorized by their underlying weaknesses. -This chapter explains the weaknesses of interest for this project and gives concrete examples for their manifestation. +\subsection{Stack And Heap Concept} -\section{Weakness Categories} -This work focuses on the following weaknesses defined in the \gls{CWE} +\subsection{Memory Allocation} + +\chapter{Common Memory-Safety Mistakes} +\label{chap:context:common-mem-safety-mistakes} +Building upon \autoref{context::introduction}, which describes the basic mechanics of memory usage and how mistakes come to existence, this chapter explains some of the most common software vulnerabilities that are related to memory-safety. +The relevant vulnerability classes are explained alongside exemplary manifestations in \gls{C}/\gls{C++}. +In \autoref{rnd::porting-c-vulns}, these are ported and compared to functionally equivalent versions written in \gls{Rust}. + +\section{\glsentrylong{CWE}} +Ongoing effort of collecting, analyzing and classifying vulnerabilities and their underlying weaknesses has been expended by the \textit{The MITRE Corporation} in form of the \gls{CWE}. +It has grown to a large relational database of typed weaknesses. +The following information is provided for enumerations of the type weakness class: \begin{itemize} - \item{Improper Restriction of Operations within the Bounds of a Memory Buffer} - https://cwe.mitre.org/data/definitions/119.html - - % TODO: find more + \item Description + \item Applicable Platforms + \item Common Consequences + \item Likelihood of Exploit + \item Demonstrative Examples + \item Potential Mitigations + \item Relationships \end{itemize} -\section{Manifestation Examples} +\subsection{Relevant Weaknesses} +The relevant weakness for this thesis are \gls{CWE-633} and respectively all of its children, as it serves as an umbrella weakness. + +% TODO test the autocite command with footnotes +One of its children, \citep{MITRE-CWE-119}, is particularly interesting. +If this weakness is manifested, a direct violation of the memory-safety defined in \autoref{context::introduction::memory-safety::def} must have occurred, which "can cause read or write operations to be performed on memory locations that may be associated with other variables, data structures, or internal program data. +As a result, an attacker may be able to execute arbitrary code, alter the intended control flow, read sensitive information, or cause the system to crash"\cite{MITRE-CWE-119}. +This can happen on certain languages, which "allow direct addressing of memory locations and do not automatically ensure that these locations are valid for the memory buffer that is being referenced. +\gls{C}, \gls{C++}, \gls{asm} and languages without memory management support"\cite{MITRE-CWE-119}. +The documented formulation of languages prone to this weakness is incorrect, as it doesn't conform with the earlier statement of languages that "allow direct addressing of memory locations". +Direct memory addressing support doesn't imply a lack of memory management support. + +Interestingly there are languages - like \gls{Rust} - that provide memory management support and still allow direct memory addressing. +This will be explained in \autoref{context::rust} in more detail. + +\subsection{Statistics} +This section presents data with the intention of expressing the weakness's severity in real-world software. +The data is based on publicly available sources, thus the completeness of is questionable, because many organizations might choose to not disclose their vulnerabilities, either to protect their reputation or for security reasons as already explained in \autoref{context::introduction::memory-safety-violation-in-sw}. + +\subsubsection{NVD's CWE-119 Statistics} +The data and visualizations are supplied by the \gls{NVD}, which collects the data based on the umbrella weakness CWE-635\footnote{http://cwe.mitre.org/data/definitions/635.html} that was specifically created for the \gls{NVD}. + +\autoref{fig:vulnerability-ratio-history} and \autoref{fig:vulnerability-counts-history} display statistics on vulnerabilities grouped by their \gls{CWE} category. +Only the most significant categories are labeled in these figures, the rest is grouped as \textit{other}. +The category \textit{buffer\footnote{A limited chunk of memory used by programs to store various data} errors} represents \autocite{MITRE-CWE-119}. + +\begin{table} + \centering + \begin{spreadtab}{{tabular}{ c | c | c }} + @ Year & @ \% & @ count \\ + \hline + @ 2007 & 6.75 & 490 \\ + @ 2008 & 10.01 & 550 \\ + @ 2009 & 9.84 & 530 \\ + @ 2010 & 11.58 & 530 \\ + @ 2011 & 15.95 & 600 \\ + @ 2012 & 13.67 & 650 \\ + @ 2013 & 14.63 & 670 \\ + @ 2014 & 9.69 & 800 \\ + @ 2015 & 15.18 & 1050 \\ + @ 2016 & 18.46 & 1150 \\ + @ 2017 & 16.34 & @ - \\ + \hline + @ Average & :={round(sum([0,-11]:[0,-1])/11, 2)} & @- \\ + \end{spreadtab} + \caption{Vulnerability \textit{"buffer error"} Counts History} + \label{tab:vulnerability-buffer-error-by-history} +\end{table} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/Relative-Vulnerability-Type-Totals-By-Year} +\caption{Vulnerability Relative Counts History} +\label{fig:vulnerability-ratio-history} +\includegraphics[width=\textwidth]{gfx/Vulnerability-Type-Change-by-Year} +\caption{Vulnerability Absolute Counts History} +\label{fig:vulnerability-counts-history} +\end{figure} + +In \autoref{tab:vulnerability-buffer-error-by-history}, the column \textit{relative count} represents \autoref{fig:vulnerability-ratio-history}, and the column \textit{absolute count} represents \autoref{fig:vulnerability-counts-history}. +With 16.34 percent of all vulnerabilities known by 2017, and an average of 12.92 percent over the last 10 years, \gls{CWE-119} is to be taken seriously. + +\section{Example Manifestations} \subsection{Uninitialized Pointers} @@ -228,14 +300,101 @@ if (ptr == NULL) { } \end{lstlisting} -\subsection{TODO: more} +\section{The Stack Clash} +A recent and high impact vulnerability named \textit{Stack Clash}\footnote{https://blog.qualys.com/securitylabs/2017/06/19/the-stack-clash}, is briefly described as \textit{"a vulnerability in the memory management of several operating systems. It affects Linux, OpenBSD, NetBSD, FreeBSD and Solaris, on i386 and amd64. It can be exploited by attackers to corrupt memory and execute arbitrary code."} +The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. + +% TODO: more references and deeper explanation of what happens: see introduction in https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt + +\chapter{Safe \gls{OS} Development} +\label{context::introduciton::safe-os-dev} +This section gives a brief summary of relevant concepts of \gls{OS} development on common hardware platforms, focusing on memory management and its risks. + +In order to protect the memory of each executed program according to \autoref{context::introduction::memory-safety::def}, the \gls{OS} must be designed, developed, and tested carefully. + +\subsection{Detecting Memory-Safety Violations ASAP} +\label{context::safe-os-dev::detecting-safety-violations-asap} + +Given that it can not be prevented for individuals to type erroneous code into their code editors. + +Ideally, the \gls{compiler} should be able to detect the programmers technical mistakes, especially the ones that have a negative impact on memory-safety. + +Not only beginners or sloppy programmers, but advanced programmers can profit too. +Everybody makes mistakes from time to time, depending on the level of focus which is not a constant. + +The human aspect suggests that systems needs to be designed to be testable, and then tested thoroughly in order to mitigate the risks of erroneous software being executed by the end-user. + +In addition to the presence and quality of tests, their timing in the software life cycle plays an important role. +The earliest tests can be as soon as the process of software development itself, and the latest ones can be at the time of execution on the production system of the end-user. +It is desirable to place tests as early as possible in the software life cycle, to prevent them from compromising running systems that hold sensitive data and offer important services. + +The dimension of time can also be translated to hierarchically lower system components at run-time. +This suggests that the \gls{OS} must be tested before the other executed \glspl{app}, etc. +This can be easily explained. +From a \gls{app} perspective, testing every permutation of \gls{OS} runtime states can be impossible, because the \gls{app} can not freely mutate the system's state. +Even if it could, testing all possible permutations of system state is limited by time and resource restrictions. +That's why even disciplined software engineers write tests that only target common error cases, like system memory exhaustion, and ensure syntactic and semantic correctness for the \gls{app} being developed. +Edge cases that happen only under specific system circumstances, possibly influenced by other components on the system as described in the beginning of \autoref{context::introduction::memory-safety}, are at high risk of remaining untested, and the \gls{app} developer is forced to trust the underlying \gls{OS}. +This puts high importance on the safety of the \gls{OS} design and implementation. + +\subsection{The Effects Of \Glspl{proglang} on Memory-Safety} +There are dozens of \glspl{proglang} used by humans to write \glspl{app}, but only a few are used to write \glspl{OS}. + +\subsubsection{Abstraction: Safety vs. Functionality} +\label{context::introduction::memory-safety::abstr-safety-function} +In computer systems, safety and functionality are counter-proportional towards each other, because with increased functionality also grows complexity, and error cases become more difficult to find. +Applying this analogy to software development, during which the errors are created in the first place, might be misleading. +It might seem that the more abstraction is provided by a language, the higher the available functionality is. +In fact, the opposite is the case. +Abstraction can be used to impose limits on what the programmer can instruct the system to do. +By defining an abstraction layer in form of a programming language, the language defines which of the underlying functionality will be exposed through it. +, the language can introduce obligated rules that make the written program easier to analyze in an automated fashion, before it gets compiled into the underlying representation. + +\section{Safety In Language Compilers And Static Analyzers} +\label{context::introduction::language-compilers-analyzers} + +In \autoref{context::introduction::memory-safety}, specifically in \autoref{context::introduction::memory-safety::detection}, it was explained that programming languages have direct impact on the memory-safety. +This section gives an example of how severe this impact is and explains the requirements on a \gls{OS} language. + +\chapter{CWE Examples} % TODO is this chapter required? +% Significance of the Study +% The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. +One of the main reasons for me to work on this topic is the increasing number of vulnerabilities based on memory-safety issues, represented by the statistics shown in \autoref{TODO} + +\section{Linux and C} +A very popular and widespread \gls{OS} is \gls{LX} which is written in \gls{C} and some hardware specific \gls{asm} code. +Recent years have shown how prone it is to vulnerabilities that result from programming errors related to memory management. + +With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via \gls{compiler}-generated checks imposed at runtime. (TODO: reference). + +Static analysis are not very effective on a language that has not been designed to be safety-analyzed. TODO? reference? +For this reason there have been attempts to define subsets of the \gls{C} language that can be safety checked, TODO: refernces of Cyclone, CCured, etc.. + +Safety checks that are performed at runtime introduce a high degree of overhead, which makes it a nonviable option in the domain of \gls{OS} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or tasks with \gls{realtime} requirements. (TODO: explain realtime requirements) +This has been forcing \gls{OS} developers to prioritize performance over safety. (TODO: reference) + +Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \autoref{chap:mmt}. + +\section{Choice of \Glsentrytext{proglang} Choice} +Criteria for the choice of programming language are much different from choosing a language for other types of \glspl{app}. + +This is a list of what is required for implementing an \glspl{OS} + +\begin{itemize} + \item{Raw access to \gls{CPU} instructions} + \item{Deterministic temporal behavior} +\end{itemize} + +% TODO: put in some scientific background about static checks +% * affine types + \chapter{Memory-Safety Analysis Techniques} As per the previous \autoref{chap:context.mem-weaknesses} there is general awareness of the problems, and there has been ongoing effort to develop and improve techniques that assist the programmer to detect and avoid such mistakes first- or secondhand. \section{Static vs. Dynamic Analysis} -* TODO: explain first-/secondhand -> static/dynamic -> compile-time/runtime -> offline/online -* TODO: Explain static and dynamic checks +% TODO: explain first-/secondhand -> static/dynamic -> compile-time/runtime -> offline/online +% TODO: Explain static and dynamic checks \section{Requirements} diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index 6ff51a3..ab367fd 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -1,74 +1,80 @@ % // vim: set ft=tex: \chapter{Topic Refinement} -- TODO: is this chapter required? +% TODO: is this chapter required? \chapter{Derived Research Questions} \subsection{Definition Of Additional Analysis Rules To Extend Safety Checks} -* TODO: How can Business Logical -Examples: -* TLB needs to be reset on Task Change -* Registers need to be +% TODO: How can Business Logical +% Examples: +% TLB needs to be reset on Task Change +% Registers need to be \subsubsection{Software Fault Isolation} -* TODO: content from \cite{Balasubramanian2017} +% TODO: content from \cite{Balasubramanian2017} \subsection{More Detailed Research Questions} -* Which language items help with managing memory? -* How generic can the memory allocators be written? +% TODO Which language items help with managing memory? +% TODO How generic can the memory allocators be written? -Guarantees to be statically checked: -* Control access to duplicates in page tables -* Tasks can't access unallocated (physical) memory -* Tasks can't access other tasks memory +% TODO Guarantees to be statically checked: +% TODO * Control access to duplicates in page tables +% TODO * Tasks can't access unallocated (physical) memory +% TODO * Tasks can't access other tasks memory \subsection{Interrupts} -* https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf p. 2848 +% TODO https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf p. 2848 \section{Software Tests} -* TODO: describe that tests are mostly semantics as opposed to static checks being mostly syntactical and technical -* TODO: They necessary in addition to static checks to cover the well-known use-cases and edge-cases. TODO: example? +% TODO: describe that tests are mostly semantics as opposed to static checks being mostly syntactical and technical +% TODO: They necessary in addition to static checks to cover the well-known use-cases and edge-cases. +% TODO: example? -\chapter{\glsentrytext{Linux} Modules Written In \glsentrytext{Rust}} -* TODO: describe Difficulties with the GPL Macros used Within Kernel Modules + +\chapter{Porting \glsentrytext{C} Vulnerabilities} +\label{rnd:porting-c-vulns} +In this chapter, the examples from \autoref{TODO} ported to \gls{Rust} for evaluation. + +\chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} +% TODO: describe Difficulties with the GPL Macros used Within Kernel Modules \chapter{Existing \glsentrytext{OS}-Development Projects Based On Rust} \section{Libraries} \subsection{Libfringe} -* https://github.com/edef1c/libfringe +% TODO: https://github.com/edef1c/libfringe \section{Systems} \subsection{intermezzOS} \subsection{Blog OS} \subsection{Redox} \subsection{Tock} - + \chapter{\glsentrytext{imezzos}: Adding Preemptive \glsentrytext{OS}-Level Multitasking} \section{Timed Interrupts For Scheduling and Dispatching} \section{Simple Stack Allocation Scheme} \section{Risk Of Stack-Overflow} -* TODO: The compiler doesn't check for stack overflows. -* TODO: Describe possible implementation. - Parameters: - Stack limit for each function: user defined constant, - Stack size for each function: calculated, - Call-Tree: calculated, +% TODO: The compiler doesn't check for stack overflows. +% TODO: Describe possible implementation. +% Parameters: +% Stack limit for each function: user defined constant, +% Stack size for each function: calculated, +% Call-Tree: calculated, \chapter{Result Generalization} \section{Low-Level Safe Abstractions in Rust} -* TODO: Is the static analysis of hardware specific assembly code possible and useful at all? - * LLVM knows about the target and can potentially give hints about hardware specific instructions +% TODO: Is the static analysis of hardware specific assembly code possible and useful at all? +% TODO: LLVM knows about the target and can potentially give hints about hardware specific instructions \section{Tracking \textit{'static}ally allocated Resources} \section{The Necessary Evils of \textit{unsafe}} \chapter{Result Evaluation} -* TODO: repeat that rust *can* be used to increase safety in the OS, but it doesn't guarantee it per-se +% TODO: repeat that rust *can* be used to increase safety in the OS, but it doesn't guarantee it per-se \chapter{Summary} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 8c652c8..5164367 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,190 +3,14 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{Reed2015, -abstract = {Rust is a new systems language that uses some advanced type system features, specifically affine types and regions, to statically guarantee memory safety and eliminate the need for a garbage collector. While each individual addition to the type system is well understood in isolation and are known to be sound, the combined system is not known to be sound. Furthermore, Rust uses a novel checking scheme for its regions, known as the Borrow Checker, that is not known to be correct. Since Rust's goal is to be a safer alternative to C/C++, we should ensure that this safety scheme actually works. We present a formal semantics that captures the key features relevant to memory safety, unique pointers and borrowed references, specifies how they guarantee memory safety, and describes the operation of the Borrow Checker. We use this model to prove the soudness of some core operations and justify the conjecture that the model, as a whole, is sound. Additionally, our model provides a syntactic version of the Borrow Checker, which may be more understandable than the non-syntactic version in Rust.}, -author = {Reed, Eric}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Patina$\backslash$: A Formalization of the Rust Programming Language.pdf:pdf}, -number = {February}, -pages = {1--37}, -title = {{Patina: A Formalization of the Rust Programming Language}}, -year = {2015} -} -@article{Dhurjati2003, -abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, -author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, -doi = {10.1145/780742.780743}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, -isbn = {0362-1340}, -issn = {03621340}, -journal = {Acm Sigplan Notices}, -keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, -number = {7}, -pages = {69--80}, -title = {{Memory safety without runtime checks or garbage collection}}, -volume = {38}, -year = {2003} -} -@inproceedings{Kuznetsov2014, -abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, -author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, -booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, -isbn = {9781931971164}, -pages = {147--163}, -title = {{Code-pointer integrity}}, -url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, -year = {2014} -} -@article{Merity2016, -abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, -archivePrefix = {arXiv}, -arxivId = {1609.07843}, -author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, -eprint = {1609.07843}, -journal = {Arxiv}, -title = {{Pointer Sentinel Mixture Models}}, -url = {http://arxiv.org/abs/1609.07843}, -year = {2016} -} -@article{Chisnall2015, -abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, -author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, -doi = {10.1145/2694344.2694367}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Beyond the PDP-11$\backslash$: Architectural support for a memory-safe C abstract machine.pdf:pdf}, -isbn = {9781450328357}, -issn = {01635964}, -journal = {Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems}, -pages = {117--130}, -title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract machine}}, -url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, -year = {2015} -} -@article{Arpaci-Dusseau2015, -abstract = {A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.}, -author = {{Arpaci-Dusseau Remzi}, Arpaci-Dusseau Andrea}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/operating{\_}systems{\_}{\_}three{\_}easy{\_}pieces{\_}{\_}electronic{\_}version{\_}0{\_}91{\_}.pdf:pdf}, -journal = {Arpaci-Dusseau}, -number = {0.91}, -pages = {665}, -title = {{Operating Systems: Three Easy Pieces}}, -volume = {Electronic}, -year = {2015} -} -@article{Szekeres2013, -abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, -author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, -doi = {10.1109/SP.2013.13}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, -isbn = {9780769549774}, -issn = {10816011}, -journal = {Proceedings - IEEE Symposium on Security and Privacy}, -pages = {48--62}, -title = {{SoK: Eternal war in memory}}, -year = {2013} -} -@article{Corporation2011, -abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, -author = {Corporation, Intel}, -doi = {10.1109/MAHC.2010.22}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf:pdf}, -isbn = {253665-057US}, -issn = {15222594}, -journal = {System}, -keywords = {253665,IA-32 architecture,Intel 64}, -number = {253665}, -title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 3}}, -volume = {3}, -year = {2011} -} -@article{Caballero2012, -abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, -author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, -doi = {10.1145/2338965.2336769}, -isbn = {9781450314541}, -issn = {1450314546}, -journal = {ISSTA}, -keywords = {automated testing,binary analysis,debugging,dynamic analysis}, -pages = {133}, -title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, -url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, -year = {2012} -} -@book{AMD64Vol2, -author = {AMD}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 2$\backslash$: System Programming.pdf:pdf}, -keywords = {24593,AMD64 Architecture Programmer's Manual Volume 2: S}, -number = {24592}, -title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, -volume = {1}, -year = {2012} -} -@article{Levy2015a, -abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, -author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, -doi = {10.1145/2818302.2818306}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, -isbn = {9781450339421}, -journal = {PLOS: Workshop on Programming Languages and Operating Systems}, -keywords = {embedded operating systems,linear types,ownership,rust}, -pages = {21--26}, -title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, -url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, -year = {2015} -} -@inproceedings{Ma2013, -abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, -author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, -booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, -doi = {10.1109/DASC.2013.37}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Dynamic Detection Method to C-C++ Programs Memory Vulnerabilities Based on Pointer Analysis.pdf:pdf}, -isbn = {9781479933815}, -keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, -pages = {52--57}, -title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, -year = {2013} -} -@book{AMD64Vol1, -author = {AMD}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, -keywords = {AMD64,SIMD,extended media instructions,legacy m}, -number = {26568}, -title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, -volume = {4}, -year = {2012} -} -@article{Getreu2016, -author = {Getreu, Jens}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, -pages = {1--24}, -title = {{Embedded System Security with Rust}}, -year = {2016} -} -@article{Corporation2011a, -abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, -author = {Corporation, Intel}, -doi = {10.1109/MAHC.2010.22}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-vol-1-manual.pdf:pdf}, -isbn = {253665-057US}, -issn = {15222594}, -journal = {System}, -keywords = {253665,64,ia 32 architecture}, -number = {253665}, -title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 1}}, -volume = {1}, -year = {2011} -} -@article{Nilsson2017, -author = {Nilsson, Fredrik}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Rust-based Runtime for the Internet of Things.pdf:pdf}, -title = {{A Rust-based Runtime for the Internet of Things}}, +@misc{MITRE-CWE-119, +author = {MITRE}, +booktitle = {2.11}, +title = {{CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer}}, +url = {http://cwe.mitre.org/data/definitions/119.html}, +urldate = {2017-08-31}, year = {2017} } -@article{Affairs2015, -author = {Affairs, Post Doctoral}, -file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, -title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, -year = {2015} -} @article{Xu2015, abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, author = {Xu, Wen and Li, Juanru and Shu, Junliang and Yang, Wenbo and Xie, Tianyi and Zhang, Yuanyuan and Gu, Dawu}, @@ -201,17 +25,30 @@ title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilit url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, year = {2015} } -@misc{Endler, -author = {Endler, Matthias}, -title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, -url = {https://github.com/mre/awesome-static-analysis} +@article{Szekeres2013, +abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, +author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, +doi = {10.1109/SP.2013.13}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, +isbn = {9780769549774}, +issn = {10816011}, +journal = {Proceedings - IEEE Symposium on Security and Privacy}, +pages = {48--62}, +title = {{SoK: Eternal war in memory}}, +year = {2013} } -@article{Balasubramanian2017, -abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, -author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, -title = {{DRAFT: System Programming in Rust: Beyond Safety}}, -year = {2017} +@article{Chisnall2015, +abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, +author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, +doi = {10.1145/2694344.2694367}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Beyond the PDP-11$\backslash$: Architectural support for a memory-safe C abstract machine.pdf:pdf}, +isbn = {9781450328357}, +issn = {01635964}, +journal = {Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems}, +pages = {117--130}, +title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract machine}}, +url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, +year = {2015} } @article{Lattner2005, abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, @@ -231,3 +68,188 @@ title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, url = {http://dx.doi.org/10.1007/11532378{\_}2}, year = {2005} } +@article{Caballero2012, +abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, +author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, +doi = {10.1145/2338965.2336769}, +isbn = {9781450314541}, +issn = {1450314546}, +journal = {ISSTA}, +keywords = {automated testing,binary analysis,debugging,dynamic analysis}, +pages = {133}, +title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, +url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, +year = {2012} +} +@article{Dhurjati2003, +abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, +author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, +doi = {10.1145/780742.780743}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, +isbn = {0362-1340}, +issn = {03621340}, +journal = {Acm Sigplan Notices}, +keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, +number = {7}, +pages = {69--80}, +title = {{Memory safety without runtime checks or garbage collection}}, +volume = {38}, +year = {2003} +} +@book{AMD64Vol1, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, +keywords = {AMD64,SIMD,extended media instructions,legacy m}, +number = {26568}, +title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, +volume = {4}, +year = {2012} +} +@article{Corporation2011a, +abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, +author = {Corporation, Intel}, +doi = {10.1109/MAHC.2010.22}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-vol-1-manual.pdf:pdf}, +isbn = {253665-057US}, +issn = {15222594}, +journal = {System}, +keywords = {253665,64,ia 32 architecture}, +number = {253665}, +title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 1}}, +volume = {1}, +year = {2011} +} +@inproceedings{Kuznetsov2014, +abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, +author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, +booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, +isbn = {9781931971164}, +pages = {147--163}, +title = {{Code-pointer integrity}}, +url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, +year = {2014} +} +@article{Getreu2016, +author = {Getreu, Jens}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, +pages = {1--24}, +title = {{Embedded System Security with Rust}}, +year = {2016} +} +@article{Affairs2015, +author = {Affairs, Post Doctoral}, +file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, +title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, +year = {2015} +} +@book{AMD64Vol2, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 2$\backslash$: System Programming.pdf:pdf}, +keywords = {24593,AMD64 Architecture Programmer's Manual Volume 2: S}, +number = {24592}, +title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, +volume = {1}, +year = {2012} +} +@misc{MITRE-CWE-633, +author = {MITRE}, +title = {{CWE-633: Weaknesses that Affect Memory}}, +url = {http://cwe.mitre.org/data/definitions/633.html}, +urldate = {2017-08-31}, +year = {2017} +} +@inproceedings{Ma2013, +abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, +author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, +booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, +doi = {10.1109/DASC.2013.37}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Dynamic Detection Method to C-C++ Programs Memory Vulnerabilities Based on Pointer Analysis.pdf:pdf}, +isbn = {9781479933815}, +keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, +pages = {52--57}, +title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, +year = {2013} +} +@misc{MITRE-CWE, +author = {MITRE}, +title = {{CWE - Common Weakness Enumeration}}, +url = {http://cwe.mitre.org}, +urldate = {2017-08-31}, +year = {2017} +} +@article{Levy2015a, +abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, +author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, +doi = {10.1145/2818302.2818306}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, +isbn = {9781450339421}, +journal = {PLOS: Workshop on Programming Languages and Operating Systems}, +keywords = {embedded operating systems,linear types,ownership,rust}, +pages = {21--26}, +title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, +url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, +year = {2015} +} +@article{Corporation2011, +abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, +author = {Corporation, Intel}, +doi = {10.1109/MAHC.2010.22}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf:pdf}, +isbn = {253665-057US}, +issn = {15222594}, +journal = {System}, +keywords = {253665,IA-32 architecture,Intel 64}, +number = {253665}, +title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 3}}, +volume = {3}, +year = {2011} +} +@article{Nilsson2017, +author = {Nilsson, Fredrik}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Rust-based Runtime for the Internet of Things.pdf:pdf}, +title = {{A Rust-based Runtime for the Internet of Things}}, +year = {2017} +} +@article{Arpaci-Dusseau2015, +abstract = {A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.}, +author = {{Arpaci-Dusseau Remzi}, Arpaci-Dusseau Andrea}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/operating{\_}systems{\_}{\_}three{\_}easy{\_}pieces{\_}{\_}electronic{\_}version{\_}0{\_}91{\_}.pdf:pdf}, +journal = {Arpaci-Dusseau}, +number = {0.91}, +pages = {665}, +title = {{Operating Systems: Three Easy Pieces}}, +volume = {Electronic}, +year = {2015} +} +@article{Reed2015, +abstract = {Rust is a new systems language that uses some advanced type system features, specifically affine types and regions, to statically guarantee memory safety and eliminate the need for a garbage collector. While each individual addition to the type system is well understood in isolation and are known to be sound, the combined system is not known to be sound. Furthermore, Rust uses a novel checking scheme for its regions, known as the Borrow Checker, that is not known to be correct. Since Rust's goal is to be a safer alternative to C/C++, we should ensure that this safety scheme actually works. We present a formal semantics that captures the key features relevant to memory safety, unique pointers and borrowed references, specifies how they guarantee memory safety, and describes the operation of the Borrow Checker. We use this model to prove the soudness of some core operations and justify the conjecture that the model, as a whole, is sound. Additionally, our model provides a syntactic version of the Borrow Checker, which may be more understandable than the non-syntactic version in Rust.}, +author = {Reed, Eric}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Patina$\backslash$: A Formalization of the Rust Programming Language.pdf:pdf}, +number = {February}, +pages = {1--37}, +title = {{Patina: A Formalization of the Rust Programming Language}}, +year = {2015} +} +@misc{Endler, +author = {Endler, Matthias}, +title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, +url = {https://github.com/mre/awesome-static-analysis} +} +@article{Merity2016, +abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, +archivePrefix = {arXiv}, +arxivId = {1609.07843}, +author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, +eprint = {1609.07843}, +journal = {Arxiv}, +title = {{Pointer Sentinel Mixture Models}}, +url = {http://arxiv.org/abs/1609.07843}, +year = {2016} +} +@article{Balasubramanian2017, +abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, +author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, +title = {{DRAFT: System Programming in Rust: Beyond Safety}}, +year = {2017} +} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 6822369..8a318d5 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -10,8 +10,8 @@ \usepackage{geometry} \geometry{a4paper, top=25mm, left=30mm, right=35mm, bottom=35mm, headsep=10mm, footskip=12mm} -%\usepackage{multirow,tabularx,tabu} -\usepackage{ctable,multirow} +\usepackage{multirow,tabularx,tabu} +\usepackage{ctable,multirow,spreadtab} \usepackage[backend=biber,style=numeric,url=true]{biblatex} \addbibresource{thesis.bib} @@ -26,6 +26,8 @@ \makenoidxglossaries \usepackage{listings} +\usepackage{graphicx} +\usepackage{color} \newcommand{\topic}{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis} From dc467108fabc366f114e7803478f60808ab109e5 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 11 Sep 2017 22:53:25 +0200 Subject: [PATCH 110/126] shell/vim: change keyboard mappings --- shell.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/shell.nix b/shell.nix index 1dca33c..15c8d17 100644 --- a/shell.nix +++ b/shell.nix @@ -45,6 +45,10 @@ in pkgs.stdenv.mkDerivation { " leader let mapleader = ',' + " save on ctrl-s + nnoremap :w + inoremap :wa + set hidden syntax on set hlsearch @@ -57,8 +61,15 @@ in pkgs.stdenv.mkDerivation { imap hhh set scroll=11 + " new scroll mappings + noremap + noremap + noremap :tabn noremap :tabp + " TODO: get tab movement working with ctrl-alt-{n,p} + noremap :tabm +1 + noremap :tabm -1 let g:ctrlp_map = '' let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(git|hg|svn|)$$', From e69951fe71f2b5f0c5a928b6d1c28874a8114afd Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 11 Sep 2017 22:53:38 +0200 Subject: [PATCH 111/126] README: keep track of the common thread --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index 7ae1c92..7a34020 100644 --- a/README.md +++ b/README.md @@ -1 +1,26 @@ # Using Static Code Analysis To Improve Kernel-Task Memory-Safety + +# Simple Motivational Golden Circle +* Describes what this project is about very briefly +* Helps to keep track of the goals + +## Who? +* Primariliy: OS Software Developers +* Secondary: End Users + +## Why? +* The Linux/C/C++ software is full of vulnerabilities +* A human solution is not reliable: + - Developers make mistakes anyway! +* C/C++ Compilers allow too many mistakes +* Hardware-supported memory-management with stack/heap is hard to implement safely +* Rust is a promising language + +## How? +* Look for a *technical* solution for these issues by first analyzing the status quo: + - Which popular systems are most vulnerable? + - What exact software situations cause these vulnerabilities? +* Look through CVE database + +## What? +* Find out if Rust can help with memory safety within the OS From ebc4bcb8bbbc470db0da35a948a97d17e4d3ca43 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 11 Sep 2017 22:54:22 +0200 Subject: [PATCH 112/126] context: more on memory management and weaknesses --- .../amd64-2mb-page-translation-long-mode.png | Bin 0 -> 90775 bytes .../amd64-long-mode-stack-after-interrupt.png | Bin 0 -> 43691 bytes src/docs/glossary.tex | 21 + src/docs/parts/context/context.tex | 414 +++++++++++++----- .../eval_and_conclusion.tex | 17 +- .../research_and_development.tex | 24 +- src/docs/thesis.bib | 368 ++++++++-------- src/docs/thesis.tex | 15 +- 8 files changed, 547 insertions(+), 312 deletions(-) create mode 100644 src/docs/gfx/amd64-2mb-page-translation-long-mode.png create mode 100644 src/docs/gfx/amd64-long-mode-stack-after-interrupt.png diff --git a/src/docs/gfx/amd64-2mb-page-translation-long-mode.png b/src/docs/gfx/amd64-2mb-page-translation-long-mode.png new file mode 100644 index 0000000000000000000000000000000000000000..ea47e7814b21497182ec1c51633e9d227475c250 GIT binary patch literal 90775 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 z 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 literal 0 HcmV?d00001 diff --git a/src/docs/gfx/amd64-long-mode-stack-after-interrupt.png b/src/docs/gfx/amd64-long-mode-stack-after-interrupt.png new file mode 100644 index 0000000000000000000000000000000000000000..e5f30efd0b3c815297b03dcc9d16c0ad3161e3b9 GIT binary patch literal 43691 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 T;k(bdK}CS4tDnm{r-UW|2x3)V literal 0 HcmV?d00001 diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 34c3e43..980eccb 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -36,6 +36,20 @@ first = {\glsentrylong{addrspace}} } +\newglossaryentry{stack}{ + name = stack, + description = { + TODO + }, +} + +\newglossaryentry{heap}{ + name = heap, + description = { + TODO + }, +} + \newglossaryentry{api}{ name = API, long = {Application Programming Interface}, @@ -106,6 +120,13 @@ plural=Linuces } +\newglossaryentry{android}{ + name = Android, + description = {a mobile \gls{OS} based on \gls{LX}}, + first = {\glsentryname{android}, \glsentrydesc{android}}, +} + + \newglossaryentry{imezzos}{ name = intermezzOS, description = { diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 29425a7..f454137 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -2,9 +2,12 @@ \chapter{Introduction} \label{context::introduction} + This thesis studies the feasibility of using compile-time code analysis, as found in \gls{Rust}'s \gls{compiler}, for ensuring memory-safety within an \gls{OS} kernel. -Because an \gls{OS} is nothing but a \gls{app}, this study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for higher level applications. -The \gls{OS} is the only \gls{app} that required unrestricted access to these resources, with the task of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. +This study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for all other \glspl{app}. +For this the \gls{OS} is the only \gls{app} that required unrestricted access to these resources, with the job of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. + +The increasing number of vulnerabilities based on memory-safety issues in \glspl{app}, as presented in \autoref{context::common-mem-safety-mistakes::cwe::statistics}, is a major motivator for working on this topic. \section{Motivational Hypothesis} % Primary Research Questions @@ -20,10 +23,10 @@ This is to my surprise, because as explained in \autoref{context::introduction:: The hypothesis cannot be trivially approved or denied, which drives the research efforts for my final thesis project. Besides this specific hypothesis, many implementations of \glspl{OS} with \gls{Rust} have appeared in public. -Their purposes range from proof-of-concept and educational work like \gls{imezzos} and \gls{blogos}, to implementations that aim to be production grade software like \gls{redoxos} and \gls{tockos}. -These implementations are subject to evaluation in \ref{part:rnd}. +Their purposes range from proof-of-concept and educational work like \gls{imezzos} and \gls{blogos}, to implementations that aim to be production grade software like \gls{redoxos} and \gls{tockos} \cite{Levy2015a}. +These implementations are subject to evaluation in \autoref{rnd::existing-os-in-rust} -The final results presented will be of qualitative nature, captured by analyzing the existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. +The final results will be of qualitative nature, captured by analyzing the existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. In addition to the sole analysis of \gls{Rust}-implementations, comparisons will be made, discerning the level of memory safety guarantees gained over similarly intending implementations in \gls{C}. \section{Assessing Memory-Safety} @@ -36,12 +39,12 @@ These instructions are themselves able to alter the very main memory they are st As any other \gls{app}, the \gls{OS} is loaded and executed in form of one or multiple sets of logically grouped instructions, called \glspl{program}. Loading the \gls{OS}'s program into memory is not the responsibility of the \gls{OS}, it belongs to the components earlier in the boot process, namely the boot loader and system firmware. -The \gls{OS} takes over the responsibility to protect the main and secondary memory from the point where it is being handed control over by the bootloader. -Loading further programs into main memory is done by the \gls{OS}, either according to scheduled jobs set up by the \gls{sysadmin}, or based on well-defined events which can be triggered by any form of input via the system's interfaces. -For example, the \gls{OS} can load and execute a program stored on the hard-disk, after the user has gave the appropriate instructions via a terminal. -The execution of other programs is potentially dangerous, because they might attempt to access the memory content of other programs and their data. +The \gls{OS} takes over the responsibility to protect the main and secondary memory as soon as the bootloader has loaded the \gls{OS} and has jumped to its first instruction. +From this point, loading further programs into main memory is done by the \gls{OS}, either according to scheduled jobs set up by the \gls{sysadmin}, or based on well-defined events which can be triggered by any form of input via the system's interfaces. +For example, the \gls{OS} can load and execute a program stored on the hard-disk, after the user has given the appropriate instructions via a terminal. -It is the responsibility of the \gls{OS} to prevent executed programs from being able to mutually interfere with memory content that is not theirs, keeping the memory in a safe state at all times \footnote{This does not include memory-safety \textit{within} each of these executed programs, as the \gls{OS} has no pertinent knowledge of the program's intentions.}. +The execution of other programs is potentially dangerous, because they might attempt to access the memory content of other programs and their data. +It is the responsibility of the \gls{OS} to prevent such executed programs from being able to mutually interfere with memory content that is not theirs, keeping the memory in a safe state at all times \footnote{This does not include memory-safety \textit{within} each of these executed programs, as the \gls{OS} has no pertinent knowledge of the program's intentions.}. This requires an extensive amount of care and foresight from the developers of the \gls{OS}, to ensure memory consistency in any of the various events and combinations thereof that might possibly occur at runtime. \subsection{A Definition Of Memory-Safety For \glsentryplural{OS}} @@ -60,7 +63,7 @@ Any existing or hypothetical solution to this dilemma is not in scope of this th First, public statistics in the area of software vulnerabilities are questionable with regard to their completeness. Second, and more importantly, memory-safety related software mistakes should be detected as early as possible, ideally before the software is released and installed anywhere. -\subsection{Human Aspects} +\subsection{Human Aspect} \label{context::introduction::human-aspect} To detect software mistakes early, it is helpful to analyze where they originate. This section emphasizes the fact that software - even if software-generators are interleaved - is ultimately produced by humans. @@ -86,33 +89,209 @@ I realized similar mindset in some of the other teams. This personal experience is no scientific proof nor is it statistically significant. It does create a feeling of insecurity, because if their software is distributed widely a few of these people are enough to risk the security of thousands of systems. +A professor and co-author of \citetitle{Arpaci-Dusseau2015} gives the following warning about this issue: +\textit{"Just because a program compiled(!) or even ran once or many times correctly does not mean the program is correct. Many events may have conspired to get you to a point where you believe it works, but then some- thing changes and it stops. A common student reaction is to say (or yell) “But it worked before!” and then blame the compiler, operating system, hardware, or even (dare we say it) the professor. But the problem is usually right where you think it would be, in your code. Get to work and debug it before you blame those other components."}\cite[p.~127]{Arpaci-Dusseau2015} + Plenty of educational, economical or methodological solutions are imaginable for this problem. Higher focus on safety and testing in education, enforced internal company guidelines, or industry wide third party software certification requirements can be attempted. For this thesis such constraints are out of scope, and the focus is on examining technical methods that detect and indicate mistakes as early as possible. \subsection{Technical Aspect} -The problem on the technical side is that the \gls{compiler} was not able to detect all errors that are in the source code and the human was able to produce an executable program. +The problem on the technical side is that the \gls{compiler} is not able to detect all errors that are in the source code and the human was able to produce an executable program. The resulting executable program might merely serve its purpose, and can contain severe technical mistakes that are not considered an error by the \gls{compiler}. -This is especially likely in low-abstraction languages like \gls{C}, where technical mistakes and intended behavior are difficult to distinguish. +This is especially likely using low-abstraction languages like \gls{C} and \gls{C++} for \gls{OS} development, where technical mistakes and intended behavior are very difficult to distinguish. +The goal of this thesis is to find out if the \gls{Rust} \gls{compiler} is able to mitigate this specific problem. + +\chapter{OS Development Concepts} +This chapter explains concepts used in \gls{OS} development today, and is a direct preparation for the upcoming \autoref{context::common-mem-safety-mistakes}, which explains specific weaknesses that result from made memory-management mistakes in the attempt to implement these concepts. +Since the \gls{OS} manages the system's hardware directly, some of the implementation and design choices depend on the underlying hardware architecture. +For a full understanding the hardware implications are also outlined in this document. +To bound the extent of this and the following chapters, the explanations are limited to one contemporary architecture, \gls{amd64}, and further narrowed down by focusing on the operation in 64-Bit long mode\cite[p.~18]{AMD64Vol2} it provides. + +\section{Resource Management by Virtualization} +Resource management in \gls{OS} development is different than in generic \glspl{app} development. +The \gls{OS}, typically the lowest software layer, must know the very details of the system's hardware and perform raw access to it. + +\subsection{Layers} +The \gls{OS} creates a virtualization\footnote{The term \textit{virtualization} the \gls{OS} jargon can be understood as abstraction} layer on top of architecture specific code and abstracts it in form of an internal \gls{api}. +This layer abstracts at least the \gls{CPU} and memory\cite{Arpaci-Dusseau2015}. +Higher-level, complex management algorithms can then implement hardware-independent on top of this \gls{api}, making it reusable across different architectures. +The \gls{OS} then provides an \gls{api} through which \glspl{app} can request access to these virtualized resources. +This allows \gls{app} developers to develop and run different programs easily and presumably safely on the \gls{OS}, agnostic of the architecture. + +\subsection{Resource Specifics} +Virtualization has different technical implications for different resources types, depending on their nature and available count. +To give an example, the \gls{CPU} is not explicitly requested, because any instruction by the program implicitly requires the \gls{CPU} to execute it. +In contrary, a program could ask the \gls{OS} for a specific amount of memory or to write text on the display output on behalf of it. \section{Hardware-supported Memory-Management} -This section provides an overview of hardware-supported memory-management and protection techniques, which are necessary to understand in order to reason about memory-safety in the \gls{OS}. -To keep this section as short as possible, 64-Bit mode as described in \cite{AMD64Vol2} is assumed. -To effects of this are, in short, that the system relies primarily on paging memory management, thus memory segmentation can be neglected in this context. +\label{context::introduction::hw-supported-mm} +Activating the 64-Bit long mode on \gls{amd64} makes the system rely primarily on paging memory management, thus the technique of memory segmentation can be neglected in this context. +This section provides information about hardware-supported memory paging and protection techniques. -To improve the efficiency and safety of memory-management, developers of hardware and software have been collaborating to offload some memory-management operations from the \gls{OS} to the \gls{CPU}'s \gls{MMU}. -This improves speed and adds runtime memory permission checks\cite[p. 117]{AMD64Vol2}. +To improve the efficiency and safety of memory-management, developers of hardware and software have been collaborating to offload the page look-up from the \gls{OS} software to the hardware, namely the \gls{CPU}'s \gls{MMU}. +A hardware-implementation of the lookup algorithm is fast, and allows rudimentary memory permission runtime-checks to protect pages by leveraging \gls{CPU}'s security rings\cite[p.~117,~p.~145]{AMD64Vol2}. +\subsection{Virtual Address Translation and Paging} +Paging with virtual addresses is one method of virtualizing and in this way transparently share the system's memory among running programs and the \gls{OS} itself, presumably in a safe way. +On \gls{amd64}, the software's instructions use virtual memory addresses, which are translated to physical memory addresses by the \gls{MMU} of the \gls{CPU} at the time the instructions are executed. +Even when using a language that supports direct memory addressing, \gls{app} developers don't have to consider paging and address translation in the logic of their programs, because all addresses in their program are virtual and are translated at runtime by the \gls{MMU}. +The translation itself is performed by the \gls{MMU} according to a map that is called page table, which is a structure maintained by the \gls{OS} in the main memory. +This memory structure can be stored anywhere in memory, and the address is handed to the \gls{MMU} via a specific \gls{CPU} register, \textit{CR3} on \gls{amd64}. +The \gls{OS} can maintain multiple page table structures, and can create different virtual address spaces by changing \gls{MMU}'s page-table pointer - the \textit{CR3} register. -\subsection{Virtualization - Challenges Of Multitasking} -In order to concurrently run multiple programs easily and presumably safely, the \gls{OS} conducts virtualization of the \gls{CPU}, memory and other resources\cite{Arpaci-Dusseau2015}. -This allows to perform preemptive multitasking transparently to the programs at runtime, which means that it has no side-effects on the running programs and it needs not be considered during \gls{app} development. +To avoid the need for storing a translation mapping for every possible address, mappings are grouped into fixed-size pieces, the \textit{page}s. +This works by encoding the offset within the page in the virtual address, together with the index into the page table. -\subsubsection{Task Switching} -When the \gls{OS} preempts a task it needs to store and preserve the current task's context in a well-known and protected memory location, so that it can be restored when this task is resumed. +The offset size depends on the chosen page-size, and can be calculated with the following formula, given page-size in bytes as $p$: +\begin{equation} + \textrm{offset\_bits(p)} = log_2(p), \{ p \in N, p: n^2 \} +\end{equation} +For example, the \gls{amd64} default page-size of 4 KiB has a 12-bit offset, which leaves $64-12 = 52$ bits for page-table indexing. + +\paragraph{Page-Faults} +If an instruction uses a virtual address that indexes a page which is not present in memory, the \gls{CPU} will generate page-fault exception to give control back to the \gls{OS}. +The \gls{OS} must then react accordingly by e.g. finding free physical memory and map it to the page my modifying the page's page-table entry. + +\paragraph{Hypothetical 1-level-page-table example.} +If only one page-table per context was used that consists of $2^{52}$ page-table entries which mustat minimum store the physical address it maps to, it would require $\frac{52 * 2^{52} [Bit]}{8*1024^4 [Bit/Byte]} = 26624$ TiB of memory for each context. +Even if only a handful of additional pages were allocated and mapped, the \gls{OS} would still have to allocate this huge page-table. +This vast consumption of main memory is impractical and impossible for average systems, which rarely surpass 100 GiB of main memory. + +\subsubsection{Swapping} +The finite primary memory can only hold a finite number of virtual pages, and the \gls{OS} is responsible for having the required pages present. +Besides the pages that contain the page-table itself, the pages that aren't required by the current instruction might be moved to secondary memory. +Swapping pages in and out of primary memory is risky as it requires to transfer large amounts of raw memory content, but these safety analyzes exceed the scope of this thesis. + +\subsubsection{Multi-Level Paging} +\label{context::introduction::hw-supported-mm::multilevel-paging} +On \gls{amd64} "a four-level page-translation data structure is provided to allow long-mode operating systems to translate a 64-Bit virtual-address space into a 52-Bit physical-address space."\cite[p.~18]{AMD64Vol2}. +Using a hierarchical translation structure allows to save significant amounts of memory, as not every page-table of every level and address space has to be allocated and present in memory. +Only the \textit{PML4} which is currently referenced by the \textit{Page Map Base Register (CR3)} is required to be present. + +\autoref{fig:virtual-addr-transl} shows the 64-Bit virtual address composition on \gls{amd64}, which uses four-levels of page tables. +Counterintuitively the page-tables are not called level-\textit{n}-page-table, but the levels received distinct names in \citetitle{AMD64Vol2}. +The most-significant Bits labelled as \textit{Sign Extend} are not used for addressing purposes, but must adhere the canonical address form and simply repeat the value of the most-significant implemented Bit \cite[p.~130]{AMD64Vol2}. +The least significant Bits represent the offset within the physical page. +The four groups in between are used to index the page-table at their respective level. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png} +\caption{Virtual to Physical Address in Long Mode\cite{AMD64Vol2}} +\label{fig:virtual-addr-transl} +\end{figure} + +\subsubsection{Translation Scheme 4 KiB and 2 MiB Pages} +The \gls{amd64} architecture allows configuring the page-size, two of which will be introduced in this section. +\autoref{tab:page-transl-vaddr-composition} displays the virtual address composition for the 4KiB and 2MiB page-size modes on \gls{amd64}. +The direction from top to bottom in the table corresponds to most significant to least significant - left to right - in the virtual address. +The \textit{sign extension} Bits cannot be used for actual information but act as a reservation for future architectural changes. + +\begin{table} + \begin{tabular}{l | c | c} + Description & Bits in 4 KiB Pages & Bits in 2 MiB Pages \\ + \hline + Sign Extend & 12 & 12 \\ + Page-Map-Level-4 Offeset & 9 & 9 \\ + Page-Directory-Pointer Offeset & 9 & 9 \\ + Page-Directory Offeset & 9 & 9 \\ + Page-Table Offeset & 9 & - \\ + Physical Page Offset & 9 & 21 \\ + \end{tabular} + \caption{Paging on \gls{amd64}: Virtual Address Composition 4KiB/2MiB pagesizes} + \label{tab:page-transl-vaddr-composition} +\end{table} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/amd64-4kb-page-translation-long-mode} +\caption{4-Kbyte Page Translation—Long Mode\cite{AMD64Vol2}} +\label{fig:4kb-page-transl} +\end{figure} + +\autoref{fig:4kb-page-transl} shows the detailed virtual address composition for 4 KiB pages, using four levels of page-tables. +It uses four sets of 9-Bit indices in the virtual address, one per hierarchy level, followed by the 9 Bit page-internal offset. + +An alternative approach is displayed in \autoref{fig:2mb-page-transl}, using 2 MiB sized pages. +It uses three sets of 9-Bit indices for the page-tables, and a 21-Bit page-internal offset. +Increasing the page-size improves speed and memory-usage and decreases the granularity. +In this specific example the hierarchy is reduced by one level of page-tables. +This reduces the amount of storage required for the page-tables in overall and causes the lookup algorithm to finish faster. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/amd64-2mb-page-translation-long-mode} +\caption{2-Mbyte Page Translation—Long Mode\cite{AMD64Vol2}} +\label{fig:2mb-page-transl} +\end{figure} + +The other supported page sizes, 4 MiB and 1 GiB, as well as intermixing page sizes through the different levels don't add new insight into the mechanism and don't need to be detailed here. + +% \subsubsection{Top-Level Page Table Self-Reference} +% \subsubsection{Caching Lookups} +% \subsubsection{Full Example} +% * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html +% * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows + +\subsection{Premised Trust In Hardware} +The algorithms that are implemented in hardware can't be verified and need to be trusted to work exactly like the manual describes them. +% TODO: remove this chapter of write something interesting + +\subsection{The \textit{Stack} And \textit{Heap} Concept} +In \gls{proglang} and \gls{OS} design and literature, the terms \gls{stack} and \gls{heap} are ubiquitous and assumed to be known. +To avoid ambiguities in the first place, this document refers to \gls{heap} as the memory zone, not the data structure. + +From a perspective of developing \glspl{app} and studying \gls{OS} course content, there is still a certain vagueness in the understanding of these concepts. +After the research for their origin it is clear that they are mere concepts, that might be implemented and used differently in the various \glspl{OS} and \glspl{proglang}. +The hardware manuals \citetitle{AMD64Vol1} and \citetitle{AMD64Vol2} refer to \gls{stack} but have no mention of \gls{heap}. + +\subsubsection{Stack: Hardware-Backed Abstract Type} +The \gls{amd64} manuals conjunctionally describe how the \gls{stack} is used and influenced by various instructions. +In summary, it is a memory model for a structured contiguous memory region which grows by storing new data entries on top of each other. +It grows from numerically higher to numerically lower addresses, whereas the numerically highest address is called the stack bottom, and the current numerically lowest address is the stack top. +Hi + +The usage of the \gls{stack} is coupled with control flow instructions, in conjunction with two registers, the Stack-Frame Base Pointer (RBP) and the Stack Pointer (RSP). +The instructions that reference with the stack\cite[p.~83]{AMD64Vol1} can be grouped into the following three categories. + +\paragraph{Data Storage} +The address in RSP moves towards numerically lower addresses with every PUSH instruction, which stores a new data entry on top. +POP instructions works in the opposite direction, consuming the top-most data entry, moving the RSP address towards the numerically higher RBP address. +When RBP and RSP have the same value, the stack is empty. + +In 64-Bit long mode \gls{amd64} doesn't consider the stack to be sized, so it is up to the \gls{OS} developer to ensure that it doesn't grow into other foreign memory regions. + +\paragraph{Procedure Calls} +% TODO CALL +% TODO RET +\Glspl{stack} used for procedure calls\footnote{a different word for function call}, specifically for passing data from the calling to the called procedure. + +\paragraph{Procedure Setup} +% TODO ENTER +% TODO LEAVE + +\section{Preemptive Multitasking} +Virtualization as previously explained is the foundation for the \gls{OS} to perform preemptive multitasking inconspicuously towards the \glspl{app}. +This means that when a task is preempted and continued later, it observes no side-effects other than an elapse of time. +Preemptive multitasking needs not be considered during development of single-threaded \gls{app}. +Multi-threading and + +\subsection{Resource Characteristics} +Switching tasks has different technical implications for different resources types, depending on their nature and quantity. +For example, a single \gls{CPU} system can not be utilized by more than one program at the same time, as it runs instructions one-by-one and implicitly holding the program state in form of the \gls{CPU} registers, which are preserved in between the instructions. +In contrast, main memory resources are only limited by their capacity and can otherwise be shared by several programs simultaneously, so that tasks that are not executed by \gls{CPU} can still have data stored in memory. + +The \gls{OS} must ensure that switching tasks is done properly for all resources to prevent interference and unintended behavior. +To ensure memory safety in this scenario, all data in the memory must be protected from unintended access, according to the definition of memory safety in \autoref{context::introduction::memory-safety::def}. + +\subsection{Context Switching} +When the \gls{OS} preempts a task, it needs to store and preserve the current task's context. The context consists of all volatile resources that can possibly be overwritten by another task. This is at minimum a set of \gls{CPU} registers depending on the specific architecture. -For \gls{amd64}, see \autoref{tab:task-minimum-context-registers}. +A description for \gls{amd64} is given in \autoref{tab:task-minimum-context-registers}. + +The \gls{OS} stores the preempted context in a well-known and protected memory location, so that it can be restored when this task is resumed. \begin{table} \begin{tabularx}{\textwidth}{| c | X | X |} @@ -123,74 +302,53 @@ For \gls{amd64}, see \autoref{tab:task-minimum-context-registers}. \hline the instruction pointer register & RIP & address of the next instruction to be fetched \\ \hline - the instruction pointer register & RIP & address of the next instruction to be fetched \\ - \hline - all general-purpose registers & RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, R8–R15 & any data \\ - \hline - the instruction pointer register & RIP & address of the next instruction to be fetched \\ - \hline the stack pointer register & RSP & address of current position in stack \\ \hline the flags register & RFLAGS & various attributes, e.g. the interrupt flag \\ \hline - the instruction pointer register & RIP & address of the next instruction to be fetched \\ + all general-purpose registers & RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, R8–R15 & arbitrary data \\ \hline \end{tabularx} - \caption{Minimum Context Registers on amd64\cite[p. 28]{AMD64Vol2}} + \caption{Minimum Context Registers on amd64\cite[p.~28]{AMD64Vol2}} \label{tab:task-minimum-context-registers} \end{table} -\subsection{Virtual Address Translation and Paging} -% TODO: why virtual addressing? -On \gls{amd64}, the software's instructions use virtual memory addresses, which are translated to physical memory addresses by the \gls{MMU} of the \gls{CPU} at the time the instructions are executed. -The responsibility falls onto the \gls{OS}, thus \gls{app} developers don't have to consider paging in the logic of their programs. +\subsubsection{Using Hardware Induced Interrupts} +In preemptive multitasking, context switches are not considered voluntary, but rather by force. +This works by using the \gls{CPU}'s interrupt mechanism which has the ability to jump to an \gls{OS} function in the event of an interrupt. +Interrupts for this use-case are usually triggered by programmed timer interrupts, occurring continuously and regularly. +The interrupt mechanism itself is part of the \gls{CPU} and must be used by the \gls{OS} as is. + +On \gls{amd64}, the \gls{CPU}'s interrupt mechanism does not switch the full context described previously, but only handles the registers that are necessary to successfully jump to the interrupt function: RFLAGS, RSP, RBP, RIP\footnote{Segment registers are neglected}. +In this scenario, the context is stored on the \gls{stack} of the function that is interrupted. +\autoref{fig:amd64-long-mode-interrupt-stac} pictures the \gls{stack} layout on interrupt entry. +In order to leverage an interrupt for a context switch, the interrupt function needs to replace these values on the \gls{stack} with values for the new context. +CS (Code-Segment) and SS (Stack-Segment) have no effect in \gls{amd64} 64-Bit mode\cite[p.~20]{AMD64Vol1} and can remain unchanged. +The \gls{OS} developer needs to know the exact address where on the \gls{stack} this data structure has been pushed by the \gls{CPU}, and must then manipulate these addresses directly. +This type of manipulation is inherently dangerous and can not be easily checked by the \gls{compiler}. +The function that handles the interrupt must then use the instruction \textit{iretq}\cite[p.~252]{AMD64Vol2}, to make the \gls{CPU} restore the partial context from the \gls{stack} and continue to function pointed to by the RIP. -To avoid the need for storing a translation mapping for every possible address, mappings are grouped into fixed-size pieces, called \textit{page}s. -This works by encoding the offset within the page into virtual address, together with the index into the translation array, which is an array commonly called the \textit{page table}. - -The translation itself is performed by the \gls{MMU} according to a map that is called page table, which is a structure maintained in memory by the \gls{OS}. -This memory structure can be stored anywhere in memory, and the address is handed to the \gls{MMU} via a specific \gls{CPU} register, which is \textit{CR3} on \gls{amd64}. +Safety could be increased if the \gls{compiler} or in a more general sense the \gls{proglang} could assist in architecture specific code. \begin{figure} \centering -\includegraphics[width=\textwidth]{gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png} -\caption{Virtual to Physical Address in Long Mode\cite{AMD64Vol2}} -\label{fig:virtual-addr-transl} +\includegraphics[width=0.8\textwidth]{gfx/amd64-long-mode-stack-after-interrupt.png} +\caption{Long-Mode Stack After Interrupt\cite[p.~252]{AMD64Vol2}} +\label{fig:amd64-long-mode-interrupt-stac} \end{figure} -\subsubsection{Multi-Level Paging} -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/amd64-4kb-page-translation-long-mode} -\caption{4-Kbyte Page Translation—Long Mode\cite{AMD64Vol2}} -\label{fig:4kb-page-transl} -\end{figure} - -\subsubsection{Top-Level Page Table Self-Reference} -\subsubsection{Caching Lookups} -\subsubsection{Full Example} -* http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html -* https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows - -\subsubsection{Swapping} -The physical memory can only hold a limited number of pages, and the \gls{OS} is responsible to swap the pages into and from physical memory from and to a persistent memory. -Swapping is only mentioned for the sake of completeness, and is not further pursued in this thesis. - - -\subsection{Premised Trust In Hardware} - -\subsection{Stack And Heap Concept} - -\subsection{Memory Allocation} +For a full context-switch, the other registers that are part of the context need to be handled by the \gls{OS}'s interrupt function. +This function is critical for safety and, as any other function in the \gls{OS}, is written by the \gls{OS} developer. \chapter{Common Memory-Safety Mistakes} -\label{chap:context:common-mem-safety-mistakes} -Building upon \autoref{context::introduction}, which describes the basic mechanics of memory usage and how mistakes come to existence, this chapter explains some of the most common software vulnerabilities that are related to memory-safety. +\label{context::common-mem-safety-mistakes} +Building upon \autoref{context::introduction}, which describes the basic mechanics of memory usage and how mistakes come to existence, this chapter presents and explains common software vulnerabilities that are related to memory-safety. The relevant vulnerability classes are explained alongside exemplary manifestations in \gls{C}/\gls{C++}. In \autoref{rnd::porting-c-vulns}, these are ported and compared to functionally equivalent versions written in \gls{Rust}. \section{\glsentrylong{CWE}} +\label{context::common-mem-safety-mistakes::cwe} Ongoing effort of collecting, analyzing and classifying vulnerabilities and their underlying weaknesses has been expended by the \textit{The MITRE Corporation} in form of the \gls{CWE}. It has grown to a large relational database of typed weaknesses. The following information is provided for enumerations of the type weakness class: @@ -204,31 +362,45 @@ The following information is provided for enumerations of the type weakness clas \item Relationships \end{itemize} -\subsection{Relevant Weaknesses} -The relevant weakness for this thesis are \gls{CWE-633} and respectively all of its children, as it serves as an umbrella weakness. +The relevant weaknesses for this thesis are children of the umbrella weakness \citetitle{MITRE-CWE-633}. % TODO test the autocite command with footnotes -One of its children, \citep{MITRE-CWE-119}, is particularly interesting. -If this weakness is manifested, a direct violation of the memory-safety defined in \autoref{context::introduction::memory-safety::def} must have occurred, which "can cause read or write operations to be performed on memory locations that may be associated with other variables, data structures, or internal program data. +\subsection{\citetitle{MITRE-CWE-119}} +\label{context::common-mem-safety-mistakes::cwe::119} +One of its children weaknesses, \citetitle{MITRE-CWE-119}, is particularly interesting. +Manifestations of this weakness are a direct violation of the memory-safety defined in \autoref{context::introduction::memory-safety::def} must have occurred, which "can cause read or write operations to be performed on memory locations that may be associated with other variables, data structures, or internal program data. As a result, an attacker may be able to execute arbitrary code, alter the intended control flow, read sensitive information, or cause the system to crash"\cite{MITRE-CWE-119}. This can happen on certain languages, which "allow direct addressing of memory locations and do not automatically ensure that these locations are valid for the memory buffer that is being referenced. -\gls{C}, \gls{C++}, \gls{asm} and languages without memory management support"\cite{MITRE-CWE-119}. -The documented formulation of languages prone to this weakness is incorrect, as it doesn't conform with the earlier statement of languages that "allow direct addressing of memory locations". +\gls{C}, \gls{C++}, \gls{asm} and languages without memory management support"\autocite{MITRE-CWE-119}. +This formulation of languages prone to this weakness is incorrect, as it doesn't conform with the earlier statement of languages that "allow direct addressing of memory locations". Direct memory addressing support doesn't imply a lack of memory management support. -Interestingly there are languages - like \gls{Rust} - that provide memory management support and still allow direct memory addressing. -This will be explained in \autoref{context::rust} in more detail. +There are languages that provide memory management support and still allow direct memory addressing, which is interesting for \gls{OS} development. +\gls{Rust} is one of these languages, although it requires the developer to explicitly acknowledge all direct memory access operations with the \textit{unsafe} keyword. +More information on \gls{Rust} follows in \autoref{context::rust}. \subsection{Statistics} -This section presents data with the intention of expressing the weakness's severity in real-world software. -The data is based on publicly available sources, thus the completeness of is questionable, because many organizations might choose to not disclose their vulnerabilities, either to protect their reputation or for security reasons as already explained in \autoref{context::introduction::memory-safety-violation-in-sw}. +\label{context::common-mem-safety-mistakes::cwe::statistics} +One of the main reasons for me to work on this topic is the increasing number of vulnerabilities based on memory-safety issues. -\subsubsection{NVD's CWE-119 Statistics} +This section is intended to express the weakness's severity in real-world software based on available statistics. +The only data available is based on publicly available sources, thus the completeness of it is questionable, because many organizations might choose to not disclose their vulnerabilities, either to protect their reputation or for security reasons as explained in \autoref{context::introduction::memory-safety-violation-in-sw}. The data and visualizations are supplied by the \gls{NVD}, which collects the data based on the umbrella weakness CWE-635\footnote{http://cwe.mitre.org/data/definitions/635.html} that was specifically created for the \gls{NVD}. +The numbers of these selected weaknesses are detailed in the following figures, the rest is grouped as \textit{other}. -\autoref{fig:vulnerability-ratio-history} and \autoref{fig:vulnerability-counts-history} display statistics on vulnerabilities grouped by their \gls{CWE} category. -Only the most significant categories are labeled in these figures, the rest is grouped as \textit{other}. -The category \textit{buffer\footnote{A limited chunk of memory used by programs to store various data} errors} represents \autocite{MITRE-CWE-119}. +\autoref{fig:vulnerability-ratio-history} and \autoref{fig:vulnerability-counts-history} display a decade of data on vulnerabilities grouped by their \gls{CWE} category. +The category called \textit{buffer\footnote{A bounded chunk of memory used by programs to store and exchange data} errors} represents \autocite{MITRE-CWE-119}. +In \autoref{fig:vulnerability-ratio-history} it has the color light blue, 2nd from the bottom in the legend, and in \autoref{fig:vulnerability-counts-history} it has the color blue, 2nd from the top in the legend. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/Relative-Vulnerability-Type-Totals-By-Year} +\caption{Vulnerability Relative Counts History} +\label{fig:vulnerability-ratio-history} +\includegraphics[width=\textwidth]{gfx/Vulnerability-Type-Change-by-Year} +\caption{Vulnerability Absolute Counts History} +\label{fig:vulnerability-counts-history} +\end{figure} \begin{table} \centering @@ -253,20 +425,40 @@ The category \textit{buffer\footnote{A limited chunk of memory used by programs \label{tab:vulnerability-buffer-error-by-history} \end{table} -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/Relative-Vulnerability-Type-Totals-By-Year} -\caption{Vulnerability Relative Counts History} -\label{fig:vulnerability-ratio-history} -\includegraphics[width=\textwidth]{gfx/Vulnerability-Type-Change-by-Year} -\caption{Vulnerability Absolute Counts History} -\label{fig:vulnerability-counts-history} -\end{figure} - In \autoref{tab:vulnerability-buffer-error-by-history}, the column \textit{relative count} represents \autoref{fig:vulnerability-ratio-history}, and the column \textit{absolute count} represents \autoref{fig:vulnerability-counts-history}. -With 16.34 percent of all vulnerabilities known by 2017, and an average of 12.92 percent over the last 10 years, \gls{CWE-119} is to be taken seriously. +With 16.34 percent of all vulnerabilities known by 2016, and an average of 12.92 percent over ten years, \autocite{MITRE-CWE-119} makes up a significant part of real-world weaknesses. -\section{Example Manifestations} +\subsection{Vulnerable APIs in Linux and C/C++} +\label{context::common-mem-safety-mistakes::vuln-apis-linux-c} +\glspl{api} are a ubiquitous for programmers to access all kinds of functionality, serving as interfaces to network services, providing existing algorithms in form of libraries and frameworks, or interfacing with the local \gls{OS}. +It is inherently dangerous to expose any sort of functionality through an \gls{api}, as it might contain bugs that will be spread widely with rising popularity. +Every \gls{OS} needs to provide an \gls{api} for it's core functionality to be useful and extendable. + +A very popular and widely supported \gls{OS} is \gls{LX}. +The system libraries and the kernel are written in \gls{C}, the latter containing some hardware specific \gls{asm} code. +\gls{LX} is very popular for embedded systems, network servers and large-scale computers. % TODO: reference +Through \gls{android}, \gls{LX} has been distributed to a huge amount of mobile devices within the last decade. % TODO: reference +The list of vulnerabilities that are found in \gls{LX} device drivers which were written by \gls{android} device vendors is very concerning. +Even though Device drivers are not necessarily complex per-se, as they essentially just copy data to and from the hardware they target, but the difficulty is in performing these transfers only under safe circumstances. +\gls{LX} has a huge ecosystem with existing libraries for any imaginable use-case from cryptography to artificial intelligence to give random examples. + +It is necessary to investigate manifestations of these errors in detail in order to analyze if these might be prevented by using \gls{Rust}. +The manifestations of memory-safety related vulnerabilities in the \gls{LX} ecosystem are given in the next section. + +\section{Manifestations} +\label{context::common-mem-safety-mistakes::manifestations} +% Significance of the Study +% The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. +This section contains real-world and \textit{re}constructed example manifestations of memory-safety related weaknesses. +% TODO + +\subsection{The Stack Clash} +A recent and high impact vulnerability named \textit{Stack Clash}\footnote{https://blog.qualys.com/securitylabs/2017/06/19/the-stack-clash}, is briefly described as \textit{"a vulnerability in the memory management of several operating systems. It affects Linux, OpenBSD, NetBSD, FreeBSD and Solaris, on i386 and amd64. It can be exploited by attackers to corrupt memory and execute arbitrary code."} +The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. +It is assigned to the \autocite{MITRE-CWE-119} explained in \autoref{context::common-mem-safety-mistakes::cwe::119}. + +% TODO explain that this CWE-119 vulnerability is also "Execute Code" +% TODO: more references and deeper explanation of what happens: see introduction in https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt \subsection{Uninitialized Pointers} @@ -300,11 +492,6 @@ if (ptr == NULL) { } \end{lstlisting} -\section{The Stack Clash} -A recent and high impact vulnerability named \textit{Stack Clash}\footnote{https://blog.qualys.com/securitylabs/2017/06/19/the-stack-clash}, is briefly described as \textit{"a vulnerability in the memory management of several operating systems. It affects Linux, OpenBSD, NetBSD, FreeBSD and Solaris, on i386 and amd64. It can be exploited by attackers to corrupt memory and execute arbitrary code."} -The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. - -% TODO: more references and deeper explanation of what happens: see introduction in https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt \chapter{Safe \gls{OS} Development} \label{context::introduciton::safe-os-dev} @@ -314,13 +501,11 @@ In order to protect the memory of each executed program according to \autoref{co \subsection{Detecting Memory-Safety Violations ASAP} \label{context::safe-os-dev::detecting-safety-violations-asap} - Given that it can not be prevented for individuals to type erroneous code into their code editors. Ideally, the \gls{compiler} should be able to detect the programmers technical mistakes, especially the ones that have a negative impact on memory-safety. -Not only beginners or sloppy programmers, but advanced programmers can profit too. -Everybody makes mistakes from time to time, depending on the level of focus which is not a constant. +Advanced programmers can profit too, as everybody makes mistakes from time to time, depending on the level of focus which is not a constant. The human aspect suggests that systems needs to be designed to be testable, and then tested thoroughly in order to mitigate the risks of erroneous software being executed by the end-user. @@ -328,13 +513,11 @@ In addition to the presence and quality of tests, their timing in the software l The earliest tests can be as soon as the process of software development itself, and the latest ones can be at the time of execution on the production system of the end-user. It is desirable to place tests as early as possible in the software life cycle, to prevent them from compromising running systems that hold sensitive data and offer important services. -The dimension of time can also be translated to hierarchically lower system components at run-time. -This suggests that the \gls{OS} must be tested before the other executed \glspl{app}, etc. -This can be easily explained. -From a \gls{app} perspective, testing every permutation of \gls{OS} runtime states can be impossible, because the \gls{app} can not freely mutate the system's state. -Even if it could, testing all possible permutations of system state is limited by time and resource restrictions. -That's why even disciplined software engineers write tests that only target common error cases, like system memory exhaustion, and ensure syntactic and semantic correctness for the \gls{app} being developed. -Edge cases that happen only under specific system circumstances, possibly influenced by other components on the system as described in the beginning of \autoref{context::introduction::memory-safety}, are at high risk of remaining untested, and the \gls{app} developer is forced to trust the underlying \gls{OS}. +This suggests that since the \gls{OS} is lower in the hierarchy of system components at runtime, testing of the \gls{OS} must happen regardless of specific \glspl{app} and development time. +Especially testing the \gls{OS}'s internal states which can not be directly mutated via the \gls{api} exposed to the \glspl{app}. +To explain this from the \gls{app} perspective, testing the \gls{OS} at runtime states is not plausible , because the \gls{app} can not freely mutate the system's state. +Even if it could, testing all possible permutations of system state in every possible \gls{app} would be highly redundant and nonetheless leaves the risk for untested edge cases that happen only under specific system circumstances, possibly influenced by other components on the system as described in the beginning of \autoref{context::introduction::memory-safety}. +The \gls{app} developer is forced to trust the underlying \gls{OS}. This puts high importance on the safety of the \gls{OS} design and implementation. \subsection{The Effects Of \Glspl{proglang} on Memory-Safety} @@ -356,15 +539,10 @@ By defining an abstraction layer in form of a programming language, the language In \autoref{context::introduction::memory-safety}, specifically in \autoref{context::introduction::memory-safety::detection}, it was explained that programming languages have direct impact on the memory-safety. This section gives an example of how severe this impact is and explains the requirements on a \gls{OS} language. -\chapter{CWE Examples} % TODO is this chapter required? -% Significance of the Study -% The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. -One of the main reasons for me to work on this topic is the increasing number of vulnerabilities based on memory-safety issues, represented by the statistics shown in \autoref{TODO} -\section{Linux and C} -A very popular and widespread \gls{OS} is \gls{LX} which is written in \gls{C} and some hardware specific \gls{asm} code. -Recent years have shown how prone it is to vulnerabilities that result from programming errors related to memory management. +\chapter{Mitigation Attempts} +\section{\glsentrytext{C}} With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via \gls{compiler}-generated checks imposed at runtime. (TODO: reference). Static analysis are not very effective on a language that has not been designed to be safety-analyzed. TODO? reference? diff --git a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex index 1766b80..a94d8b6 100644 --- a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex +++ b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex @@ -1,4 +1,17 @@ % // vim: set ft=tex: -\chapter{Result Evaluation} +\chapter{Result Generalization} -\chapter{Conclusion} +\section{Low-Level Safe Abstractions in Rust} +% TODO: Is the static analysis of hardware specific assembly code possible and useful at all? +% TODO: LLVM knows about the target and can potentially give hints about hardware specific instructions + +\section{Tracking \textit{'static}ally allocated Resources} + +\section{The Necessary Evils of \textit{unsafe}} + +\chapter{Result Evaluation} +% TODO: repeat that rust *can* be used to increase safety in the OS, but it doesn't guarantee it per-se + +\chapter{Summary} + +\chapter{Final Conclusion} diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index ab367fd..a1a98d3 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -2,7 +2,10 @@ \chapter{Topic Refinement} % TODO: is this chapter required? -\chapter{Derived Research Questions} +\chapter{Research Questions} + +Setting up and maintaining the paging-structure, as well as allocating physical memory for the virtual pages is a complex task in the \gls{OS}. +Developing this part of the \gls{OS} is error-prone, and is not well-supported by mainstream \glspl{proglang}. \subsection{Definition Of Additional Analysis Rules To Extend Safety Checks} % TODO: How can Business Logical @@ -32,13 +35,13 @@ \chapter{Porting \glsentrytext{C} Vulnerabilities} -\label{rnd:porting-c-vulns} +\label{rnd::porting-c-vulns} In this chapter, the examples from \autoref{TODO} ported to \gls{Rust} for evaluation. \chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} -% TODO: describe Difficulties with the GPL Macros used Within Kernel Modules \chapter{Existing \glsentrytext{OS}-Development Projects Based On Rust} +\label{rnd::existing-os-in-rust} \section{Libraries} @@ -54,6 +57,7 @@ In this chapter, the examples from \autoref{TODO} ported to \gls{Rust} for evalu \chapter{\glsentrytext{imezzos}: Adding Preemptive \glsentrytext{OS}-Level Multitasking} \section{Timed Interrupts For Scheduling and Dispatching} + \section{Simple Stack Allocation Scheme} \section{Risk Of Stack-Overflow} @@ -64,17 +68,3 @@ In this chapter, the examples from \autoref{TODO} ported to \gls{Rust} for evalu % Stack size for each function: calculated, % Call-Tree: calculated, -\chapter{Result Generalization} - -\section{Low-Level Safe Abstractions in Rust} -% TODO: Is the static analysis of hardware specific assembly code possible and useful at all? -% TODO: LLVM knows about the target and can potentially give hints about hardware specific instructions - -\section{Tracking \textit{'static}ally allocated Resources} - -\section{The Necessary Evils of \textit{unsafe}} - -\chapter{Result Evaluation} -% TODO: repeat that rust *can* be used to increase safety in the OS, but it doesn't guarantee it per-se - -\chapter{Summary} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 5164367..70f17fd 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,13 +3,15 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@misc{MITRE-CWE-119, -author = {MITRE}, -booktitle = {2.11}, -title = {{CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer}}, -url = {http://cwe.mitre.org/data/definitions/119.html}, -urldate = {2017-08-31}, -year = {2017} +@article{Getreu2016, +annote = {- runtime checkis are expensive + +- critical with energy restriction on the target device}, +author = {Getreu, Jens}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, +pages = {1--24}, +title = {{Embedded System Security with Rust}}, +year = {2016} } @article{Xu2015, abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, @@ -25,139 +27,6 @@ title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilit url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, year = {2015} } -@article{Szekeres2013, -abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, -author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, -doi = {10.1109/SP.2013.13}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, -isbn = {9780769549774}, -issn = {10816011}, -journal = {Proceedings - IEEE Symposium on Security and Privacy}, -pages = {48--62}, -title = {{SoK: Eternal war in memory}}, -year = {2013} -} -@article{Chisnall2015, -abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, -author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, -doi = {10.1145/2694344.2694367}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Beyond the PDP-11$\backslash$: Architectural support for a memory-safe C abstract machine.pdf:pdf}, -isbn = {9781450328357}, -issn = {01635964}, -journal = {Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems}, -pages = {117--130}, -title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract machine}}, -url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, -year = {2015} -} -@article{Lattner2005, -abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, -archivePrefix = {arXiv}, -arxivId = {9780201398298}, -author = {Lattner, Chris and Adve, Vikram}, -doi = {10.1007/11532378_2}, -eprint = {9780201398298}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/The LLVM Compiler Framework and Infrastructure Tutorial.pdf:pdf}, -isbn = {978-3-540-28009-5}, -issn = {03029743}, -journal = {Languages and Compilers for High Performance Computing}, -number = {Part 1}, -pages = {15--16}, -pmid = {4520227}, -title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, -url = {http://dx.doi.org/10.1007/11532378{\_}2}, -year = {2005} -} -@article{Caballero2012, -abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, -author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, -doi = {10.1145/2338965.2336769}, -isbn = {9781450314541}, -issn = {1450314546}, -journal = {ISSTA}, -keywords = {automated testing,binary analysis,debugging,dynamic analysis}, -pages = {133}, -title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, -url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, -year = {2012} -} -@article{Dhurjati2003, -abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, -author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, -doi = {10.1145/780742.780743}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, -isbn = {0362-1340}, -issn = {03621340}, -journal = {Acm Sigplan Notices}, -keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, -number = {7}, -pages = {69--80}, -title = {{Memory safety without runtime checks or garbage collection}}, -volume = {38}, -year = {2003} -} -@book{AMD64Vol1, -author = {AMD}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, -keywords = {AMD64,SIMD,extended media instructions,legacy m}, -number = {26568}, -title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, -volume = {4}, -year = {2012} -} -@article{Corporation2011a, -abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, -author = {Corporation, Intel}, -doi = {10.1109/MAHC.2010.22}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-vol-1-manual.pdf:pdf}, -isbn = {253665-057US}, -issn = {15222594}, -journal = {System}, -keywords = {253665,64,ia 32 architecture}, -number = {253665}, -title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 1}}, -volume = {1}, -year = {2011} -} -@inproceedings{Kuznetsov2014, -abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, -author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, -booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, -isbn = {9781931971164}, -pages = {147--163}, -title = {{Code-pointer integrity}}, -url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, -year = {2014} -} -@article{Getreu2016, -author = {Getreu, Jens}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, -pages = {1--24}, -title = {{Embedded System Security with Rust}}, -year = {2016} -} -@article{Affairs2015, -author = {Affairs, Post Doctoral}, -file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, -title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, -year = {2015} -} -@book{AMD64Vol2, -author = {AMD}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 2$\backslash$: System Programming.pdf:pdf}, -keywords = {24593,AMD64 Architecture Programmer's Manual Volume 2: S}, -number = {24592}, -title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, -volume = {1}, -year = {2012} -} -@misc{MITRE-CWE-633, -author = {MITRE}, -title = {{CWE-633: Weaknesses that Affect Memory}}, -url = {http://cwe.mitre.org/data/definitions/633.html}, -urldate = {2017-08-31}, -year = {2017} -} @inproceedings{Ma2013, abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, @@ -170,6 +39,11 @@ pages = {52--57}, title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, year = {2013} } +@misc{Endler, +author = {Endler, Matthias}, +title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, +url = {https://github.com/mre/awesome-static-analysis} +} @misc{MITRE-CWE, author = {MITRE}, title = {{CWE - Common Weakness Enumeration}}, @@ -177,19 +51,6 @@ url = {http://cwe.mitre.org}, urldate = {2017-08-31}, year = {2017} } -@article{Levy2015a, -abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, -author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, -doi = {10.1145/2818302.2818306}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, -isbn = {9781450339421}, -journal = {PLOS: Workshop on Programming Languages and Operating Systems}, -keywords = {embedded operating systems,linear types,ownership,rust}, -pages = {21--26}, -title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, -url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, -year = {2015} -} @article{Corporation2011, abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, author = {Corporation, Intel}, @@ -210,16 +71,17 @@ file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Rust-based Runtime fo title = {{A Rust-based Runtime for the Internet of Things}}, year = {2017} } -@article{Arpaci-Dusseau2015, -abstract = {A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.}, -author = {{Arpaci-Dusseau Remzi}, Arpaci-Dusseau Andrea}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/operating{\_}systems{\_}{\_}three{\_}easy{\_}pieces{\_}{\_}electronic{\_}version{\_}0{\_}91{\_}.pdf:pdf}, -journal = {Arpaci-Dusseau}, -number = {0.91}, -pages = {665}, -title = {{Operating Systems: Three Easy Pieces}}, -volume = {Electronic}, -year = {2015} +@article{Szekeres2013, +abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, +author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, +doi = {10.1109/SP.2013.13}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, +isbn = {9780769549774}, +issn = {10816011}, +journal = {Proceedings - IEEE Symposium on Security and Privacy}, +pages = {48--62}, +title = {{SoK: Eternal war in memory}}, +year = {2013} } @article{Reed2015, abstract = {Rust is a new systems language that uses some advanced type system features, specifically affine types and regions, to statically guarantee memory safety and eliminate the need for a garbage collector. While each individual addition to the type system is well understood in isolation and are known to be sound, the combined system is not known to be sound. Furthermore, Rust uses a novel checking scheme for its regions, known as the Borrow Checker, that is not known to be correct. Since Rust's goal is to be a safer alternative to C/C++, we should ensure that this safety scheme actually works. We present a formal semantics that captures the key features relevant to memory safety, unique pointers and borrowed references, specifies how they guarantee memory safety, and describes the operation of the Borrow Checker. We use this model to prove the soudness of some core operations and justify the conjecture that the model, as a whole, is sound. Additionally, our model provides a syntactic version of the Borrow Checker, which may be more understandable than the non-syntactic version in Rust.}, @@ -230,10 +92,155 @@ pages = {1--37}, title = {{Patina: A Formalization of the Rust Programming Language}}, year = {2015} } -@misc{Endler, -author = {Endler, Matthias}, -title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, -url = {https://github.com/mre/awesome-static-analysis} +@book{AMD64Vol1, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, +keywords = {AMD64,SIMD,extended media instructions,legacy m}, +number = {26568}, +title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, +volume = {4}, +year = {2012} +} +@misc{MITRE-CWE-119, +author = {MITRE}, +booktitle = {2.11}, +title = {{CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer}}, +url = {http://cwe.mitre.org/data/definitions/119.html}, +urldate = {2017-08-31}, +year = {2017} +} +@article{Backus1962, +abstract = {The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele, Jr. and Gerald Jay Sussman. It was designed to have an exceptionally clear and simple semantics and few different ways to form expressions. A wide variety of programming paradigms, including imperative, functional, and message passing styles, find convenient expression in Scheme.}, +author = {Backus, J. W. and Bauer, F. L. and Green, J. and Katz, C. and McCarthy, J. and Naur, P. and Perlis, A. J. and Rutishauser, H. and Samelson, K. and Vauquois, B. and Wegstein, J. H. and van Wijngaarden, A. and Woodger, M. and van der Poel, W. L.}, +doi = {10.1007/BF01386340}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Revised report on the algorithmic language Algol 60.pdf:pdf}, +isbn = {9780521193993}, +issn = {0029599X}, +journal = {Numerische Mathematik}, +number = {1}, +pages = {420--453}, +title = {{Revised report on the algorithmic language Algol 60}}, +volume = {4}, +year = {1962} +} +@book{AMD64Vol2, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 2$\backslash$: System Programming.pdf:pdf}, +keywords = {24593,AMD64 Architecture Programmer's Manual Volume 2: S}, +number = {24592}, +title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, +volume = {1}, +year = {2012} +} +@article{Corporation2011a, +abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, +author = {Corporation, Intel}, +doi = {10.1109/MAHC.2010.22}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-vol-1-manual.pdf:pdf}, +isbn = {253665-057US}, +issn = {15222594}, +journal = {System}, +keywords = {253665,64,ia 32 architecture}, +number = {253665}, +title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 1}}, +volume = {1}, +year = {2011} +} +@article{Caballero2012, +abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, +author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, +doi = {10.1145/2338965.2336769}, +isbn = {9781450314541}, +issn = {1450314546}, +journal = {ISSTA}, +keywords = {automated testing,binary analysis,debugging,dynamic analysis}, +pages = {133}, +title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, +url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, +year = {2012} +} +@article{Balasubramanian2017, +abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, +author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, +title = {{DRAFT: System Programming in Rust: Beyond Safety}}, +year = {2017} +} +@inproceedings{Kuznetsov2014, +abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, +author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, +booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, +isbn = {9781931971164}, +pages = {147--163}, +title = {{Code-pointer integrity}}, +url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, +year = {2014} +} +@article{Levy2015a, +abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, +author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, +doi = {10.1145/2818302.2818306}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, +isbn = {9781450339421}, +journal = {PLOS: Workshop on Programming Languages and Operating Systems}, +keywords = {embedded operating systems,linear types,ownership,rust}, +pages = {21--26}, +title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, +url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, +year = {2015} +} +@article{Lattner2005, +abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, +archivePrefix = {arXiv}, +arxivId = {9780201398298}, +author = {Lattner, Chris and Adve, Vikram}, +doi = {10.1007/11532378_2}, +eprint = {9780201398298}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/The LLVM Compiler Framework and Infrastructure Tutorial.pdf:pdf}, +isbn = {978-3-540-28009-5}, +issn = {03029743}, +journal = {Languages and Compilers for High Performance Computing}, +number = {Part 1}, +pages = {15--16}, +pmid = {4520227}, +title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, +url = {http://dx.doi.org/10.1007/11532378{\_}2}, +year = {2005} +} +@misc{IEEEspectrum-proglangs, +author = {IEEE}, +title = {{Interactive: The Top Programming Languages 2017}}, +url = {https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017}, +urldate = {2017-09-08}, +year = {2017} +} +@article{Chisnall2015, +abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, +author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, +doi = {10.1145/2694344.2694367}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Beyond the PDP-11$\backslash$: Architectural support for a memory-safe C abstract machine.pdf:pdf}, +isbn = {9781450328357}, +issn = {01635964}, +journal = {Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems}, +pages = {117--130}, +title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract machine}}, +url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, +year = {2015} +} +@article{Dhurjati2003, +abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, +author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, +doi = {10.1145/780742.780743}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, +isbn = {0362-1340}, +issn = {03621340}, +journal = {Acm Sigplan Notices}, +keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, +number = {7}, +pages = {69--80}, +title = {{Memory safety without runtime checks or garbage collection}}, +volume = {38}, +year = {2003} } @article{Merity2016, abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, @@ -246,10 +253,27 @@ title = {{Pointer Sentinel Mixture Models}}, url = {http://arxiv.org/abs/1609.07843}, year = {2016} } -@article{Balasubramanian2017, -abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, -author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, -title = {{DRAFT: System Programming in Rust: Beyond Safety}}, +@misc{MITRE-CWE-633, +author = {MITRE}, +title = {{CWE-633: Weaknesses that Affect Memory}}, +url = {http://cwe.mitre.org/data/definitions/633.html}, +urldate = {2017-08-31}, year = {2017} } +@article{Arpaci-Dusseau2015, +abstract = {A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.}, +author = {{Arpaci-Dusseau Remzi}, Arpaci-Dusseau Andrea}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/operating{\_}systems{\_}{\_}three{\_}easy{\_}pieces{\_}{\_}electronic{\_}version{\_}0{\_}91{\_}.pdf:pdf}, +journal = {Arpaci-Dusseau}, +number = {0.91}, +pages = {665}, +title = {{Operating Systems: Three Easy Pieces}}, +volume = {Electronic}, +year = {2015} +} +@article{Affairs2015, +author = {Affairs, Post Doctoral}, +file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, +title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, +year = {2015} +} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 8a318d5..d1829d6 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -13,7 +13,7 @@ \usepackage{multirow,tabularx,tabu} \usepackage{ctable,multirow,spreadtab} -\usepackage[backend=biber,style=numeric,url=true]{biblatex} +\usepackage[backend=biber,style=numeric,citestyle=numeric,url=true]{biblatex} \addbibresource{thesis.bib} %\usepackage[hyphens]{url} @@ -29,6 +29,14 @@ \usepackage{graphicx} \usepackage{color} +\usepackage[parfill]{parskip} + +\usepackage{amsmath} + +\newcommand{\iitemA}{\setlength\itemindent{0pt}\item} +\newcommand{\iitemB}{\setlength\itemindent{25pt}\item} +\newcommand{\iitemC}{\setlength\itemindent{50pt}\item} + \newcommand{\topic}{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis} \newcommand{\authorOne}{Stefan Junker} @@ -137,17 +145,18 @@ \tableofcontents \part{Context} + \label{context} \printnoidxglossary \include{parts/context/context} \part{Research And Development} - \label{part:rnd} + \label{rnd} \include{parts/research_and_development/research_and_development} \part{Evaluation And Conclusion} - \label{part:eval_and_conclusion} + \label{eval_and_conclusion} \include{parts/eval_and_conclusion/eval_and_conclusion} \newpage From d4709f72dca483b84320ed69fed3f22794a45606 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 14 Sep 2017 17:59:52 +0200 Subject: [PATCH 113/126] shell&build: update to minted 2.5 and adapt shell --- build/update-minted-2.5.patch | 41 +++++++++++++++++++++++++++++++++++ shell.nix | 16 ++++++++++++-- 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 build/update-minted-2.5.patch diff --git a/build/update-minted-2.5.patch b/build/update-minted-2.5.patch new file mode 100644 index 0000000..699fc80 --- /dev/null +++ b/build/update-minted-2.5.patch @@ -0,0 +1,41 @@ +diff --git a/pkgs/tools/typesetting/tex/texlive/pkgs.nix b/pkgs/tools/typesetting/tex/texlive/pkgs.nix +index 4d891c0758..09c413559f 100644 +--- a/pkgs/tools/typesetting/tex/texlive/pkgs.nix ++++ b/pkgs/tools/typesetting/tex/texlive/pkgs.nix +@@ -5713,6 +5713,7 @@ tl: { # no indentation + deps."fundus-calligra" = tl."fundus-calligra"; + deps."fundus-cyr" = tl."fundus-cyr"; + deps."fundus-sueterlin" = tl."fundus-sueterlin"; ++ deps."fvextra" = tl."fvextra"; + deps."fwlw" = tl."fwlw"; + deps."g-brief" = tl."g-brief"; + deps."gauss" = tl."gauss"; +@@ -16203,13 +16204,24 @@ tl: { # no indentation + hasRunfiles = true; + version = "1.1"; + }; ++"fvextra" = { ++ stripPrefix = 0; ++ sha512.run = "3526c3656124b15217161792f14f914dad2ec84af7ffd85f95654701c82e3be6bde304df0ca1ba8b4eb943122e731fe7c059a0d8ba7554f49a5401be6b709d8a"; ++ sha512.doc = "919cff94f930cb624723fdca66033df39fee4dfe391df4ec592ded2a5c9ae59a9f29594ebdb09c9d9e54b5afc9dd77591258155530aa7c8fc45361b8dc31e8c3"; ++ sha512.source = "934d419ca8e4c748f0d7d41f520abd07df4682295c6eef3390b9d2d628469d0d84ff7ffb707f1ee70b83b0fdf42b16ad9ad350c4b5166b28117543dde9d7d049"; ++ urlPrefix = "http://213.136.89.14/texlive-mirror"; ++ hasRunfiles = true; ++ version = "1.3.1"; ++}; + "minted" = { ++ deps."fvextra" = tl."fvextra"; + stripPrefix = 0; +- sha512.run = ""; +- sha512.doc = ""; +- sha512.source = ""; ++ sha512.run = "6bfff77120a70214f492f34b31bc7354f75173e742b0d40b76116e78f18d471946175e7cae1d51d0f2b948bf566c8e44c755f1d98a338b8a0b1b0cfb6b77f462"; ++ sha512.doc = "013bab6a7abfff35d5316ec335ddb13e8c91e918ef78d9e49bc393be3cc6e71f22c740ff862045a5d20bbfc1a508bbc272f0dbc668db3ffc657dafb0ddfbc45c"; ++ sha512.source = "3ae1e00adeff4ff117be3c35120d0c94569f62c7e4b6c8640236fbd52a9ceb20fce24b87faf0d5cc2b9295fd5a3689cda5eb01dc2c3897e8a2f228326ae6cdb6"; ++ urlPrefix = "http://213.136.89.14/texlive-mirror"; + hasRunfiles = true; +- version = "2.2.1"; ++ version = "2.5"; + }; + "mintspirit" = { + stripPrefix = 0; diff --git a/shell.nix b/shell.nix index 15c8d17..f150e02 100644 --- a/shell.nix +++ b/shell.nix @@ -7,8 +7,13 @@ let repo = "nixpkgs-channels"; rev = "81fceb255448415e70b9e7775d590b6def45f861"; sha256 = "0sfx21b9rb6qxjm7li3krk6ik0xxph1il7r5l69n8b9agp72yjfx"; +# rev = "1b1fc6550559f9d73ddf7cea611c387a847bf03b"; +# sha256 = "0gipwxghvwnv2n7csp8ks3l2g1z7hwqn96bljikkm7p8jjpfb5ds"; }; - patches = [ ./build/texlive-url-mirror.patch ]; + patches = [ + #./build/texlive-url-mirror.patch + ./build/update-minted-2.5.patch + ]; buildPhase = ""; installPhase = '' cp -a . $out @@ -19,7 +24,7 @@ let pkgs = import patchedPkgsSrc {}; mytexlive = (pkgs.texlive.combine { - inherit (pkgs.texlive) scheme-full; + inherit (pkgs.texlive) scheme-full minted pygmentex fvextra; }); in pkgs.stdenv.mkDerivation { @@ -136,6 +141,8 @@ in pkgs.stdenv.mkDerivation { let g:vimtex_fold_comments = 1 let g:vimtex_fold_preamble = 1 + let g:vimtex_latexmk_options = '-verbose -pdf -shell-escape -file-line-error -synctex=1 -interaction=nonstopmode' + if !exists('g:ycm_semantic_triggers') let g:ycm_semantic_triggers = {} endif @@ -173,7 +180,12 @@ in pkgs.stdenv.mkDerivation { }; }) pkgs.bashInteractive + mytexlive + pkgs.biber + pkgs.pygmentex + pkgs.python27Packages.pygments-markdown-lexer + pkgs.zathura ]; } From 28dd1fe2c28b65b8e42261e667c62728a829ffdb Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 19 Sep 2017 10:36:31 +0200 Subject: [PATCH 114/126] shell/vim: extract vimrc --- .vimrc | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++ shell.nix | 124 ++---------------------------------------------------- 2 files changed, 123 insertions(+), 121 deletions(-) create mode 100644 .vimrc diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..4044dab --- /dev/null +++ b/.vimrc @@ -0,0 +1,120 @@ +set nocompatible + +" leader +let mapleader = '\' + +" save on ctrl-s +nnoremap :w +inoremap :w + +set hidden +syntax on +set hlsearch +set number +set relativenumber + +" mappings to stop insert mode +imap jjj +imap kkk +imap lll +imap hhh +set scroll=11 + +" new scroll mappings +noremap +noremap + +noremap :tabn +noremap :tabp +" TODO: get tab movement working with ctrl-alt-{n,p} +noremap :tabm +1 +noremap :tabm -1 +let g:ctrlp_map = '' +let g:ctrlp_custom_ignore = { +\ 'dir': '\v[\/]\.(git|hg|svn|)$$', +\ 'file': '\v\.(exe|so|dll|so|swp|zip|aux|log|fdb_latexmk|fdb|dvi|lof|lot|pdf|fls|toc|gz|latexmain)$$', +\ } + +" allways show status line +set ls=2 +set tabstop=4 +set shiftwidth=4 +set softtabstop=4 +set expandtab +"set textwidth=80 + +" sync default register to clipboard { +if has('unnamedplus') +set clipboard=unnamedplus +else +set clipboard=unnamed +endif +" } + +" colored brackets { +let g:rbpt_colorpairs = [ + \ ['brown', 'RoyalBlue3'], + \ ['Darkblue', 'SeaGreen3'], + \ ['darkgray', 'DarkOrchid3'], + \ ['darkgreen', 'firebrick3'], + \ ['darkcyan', 'RoyalBlue3'], + \ ['darkred', 'SeaGreen3'], + \ ['darkmagenta', 'DarkOrchid3'], + \ ['brown', 'firebrick3'], + \ ['gray', 'RoyalBlue3'], + \ ['black', 'SeaGreen3'], + \ ['darkmagenta', 'DarkOrchid3'], + \ ['Darkblue', 'firebrick3'], + \ ['darkgreen', 'RoyalBlue3'], + \ ['darkcyan', 'SeaGreen3'], + \ ['darkred', 'DarkOrchid3'], + \ ['red', 'firebrick3'], + \ ] +let g:rbpt_max = 16 +let g:rbpt_loadcmd_toggle = 0 + +au VimEnter * RainbowParenthesesToggle +au Syntax * RainbowParenthesesLoadRound +au Syntax * RainbowParenthesesLoadSquare +au Syntax * RainbowParenthesesLoadBraces +" } +set backspace=indent,eol,start +colorscheme PaperColor + +" Latex Related {{{ +au BufRead,BufNewFile *.tex,*.md,*.markdown setlocal spell spelllang=en_us + +let g:vimtex_view_method = 'zathura' +let g:vimtex_complete_enabled = 1 +let g:vimtex_complete_close_braces = 1 +let g:vimtex_complete_recursive_bib = 1 +let g:vimtex_indent_enabled = 1 +let g:vimtex_indent_bib_enabled = 1 +let g:vimtex_fold_enabled = 1 +let g:vimtex_fold_comments = 1 +let g:vimtex_fold_preamble = 1 + +let g:vimtex_latexmk_options = '-verbose -pdf -shell-escape -file-line-error -synctex=1 -interaction=nonstopmode' + +if !exists('g:ycm_semantic_triggers') + let g:ycm_semantic_triggers = {} +endif +let g:ycm_semantic_triggers.tex = [ + \ 're!\\[A-Za-z]*cite[A-Za-z]*(\[[^]]*\]){0,2}{[^}]*', + \ 're!\\[A-Za-z]*ref({[^}]*|range{([^,{}]*(}{)?))', + \ 're!\\hyperref\[[^]]*', + \ 're!\\includegraphics\*?(\[[^]]*\]){0,2}{[^}]*', + \ 're!\\(include(only)?|input){[^}]*', + \ 're!\\\a*(gls|Gls|GLS)(pl)?\a*(\s*\[[^]]*\]){0,2}\s*\{[^}]*', + \ 're!\\includepdf(\s*\[[^]]*\])?\s*\{[^}]*', + \ 're!\\includestandalone(\s*\[[^]]*\])?\s*\{[^}]*', + \ ] + +function! ViewerCallback() dict +call self.forward_search(self.out) +endfunction +let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' +" }}} + +" hack to copy mendeley bibliography +autocmd BufWritePost * execute ':silent ! cp /home/steveej/src/mendeley/Static-Code-Analysis-Kernel-Memory-Saftey.bib /home/steveej/src/steveej/msc-thesis/src/docs/thesis.bib >/dev/null 2>&1' diff --git a/shell.nix b/shell.nix index f150e02..e376613 100644 --- a/shell.nix +++ b/shell.nix @@ -43,127 +43,9 @@ in pkgs.stdenv.mkDerivation { (pkgs.vim_configurable.customize { name = "vim"; vimrcConfig = { - # add custom .vimrc lines like this: - customRC = '' - set nocompatible - - " leader - let mapleader = ',' - - " save on ctrl-s - nnoremap :w - inoremap :wa - - set hidden - syntax on - set hlsearch - set number - - " mappings to stop insert mode - imap jjj - imap kkk - imap lll - imap hhh - set scroll=11 - - " new scroll mappings - noremap - noremap - - noremap :tabn - noremap :tabp - " TODO: get tab movement working with ctrl-alt-{n,p} - noremap :tabm +1 - noremap :tabm -1 - let g:ctrlp_map = '' - let g:ctrlp_custom_ignore = { - \ 'dir': '\v[\/]\.(git|hg|svn|)$$', - \ 'file': '\v\.(exe|so|dll|so|swp|zip|aux|log|fdb_latexmk|fdb|dvi|lof|lot|pdf|fls|toc|gz|latexmain)$$', - \ } - - " allways show status line - set ls=2 - set tabstop=4 - set shiftwidth=4 - set softtabstop=4 - set expandtab - "set textwidth=80 - - " sync default register to clipboard { - if has('unnamedplus') - set clipboard=unnamedplus - else - set clipboard=unnamed - endif - " } - - " colored brackets { - let g:rbpt_colorpairs = [ - \ ['brown', 'RoyalBlue3'], - \ ['Darkblue', 'SeaGreen3'], - \ ['darkgray', 'DarkOrchid3'], - \ ['darkgreen', 'firebrick3'], - \ ['darkcyan', 'RoyalBlue3'], - \ ['darkred', 'SeaGreen3'], - \ ['darkmagenta', 'DarkOrchid3'], - \ ['brown', 'firebrick3'], - \ ['gray', 'RoyalBlue3'], - \ ['black', 'SeaGreen3'], - \ ['darkmagenta', 'DarkOrchid3'], - \ ['Darkblue', 'firebrick3'], - \ ['darkgreen', 'RoyalBlue3'], - \ ['darkcyan', 'SeaGreen3'], - \ ['darkred', 'DarkOrchid3'], - \ ['red', 'firebrick3'], - \ ] - let g:rbpt_max = 16 - let g:rbpt_loadcmd_toggle = 0 - - au VimEnter * RainbowParenthesesToggle - au Syntax * RainbowParenthesesLoadRound - au Syntax * RainbowParenthesesLoadSquare - au Syntax * RainbowParenthesesLoadBraces - " } - set backspace=indent,eol,start - colorscheme PaperColor - - " Latex Related {{{ - au BufRead,BufNewFile *.tex,*.md,*.markdown setlocal spell spelllang=en_us - - let g:vimtex_view_method = 'zathura' - - let g:vimtex_complete_enabled = 1 - let g:vimtex_complete_close_braces = 1 - let g:vimtex_complete_recursive_bib = 1 - let g:vimtex_indent_enabled = 1 - let g:vimtex_indent_bib_enabled = 1 - let g:vimtex_fold_enabled = 1 - let g:vimtex_fold_comments = 1 - let g:vimtex_fold_preamble = 1 - - let g:vimtex_latexmk_options = '-verbose -pdf -shell-escape -file-line-error -synctex=1 -interaction=nonstopmode' - - if !exists('g:ycm_semantic_triggers') - let g:ycm_semantic_triggers = {} - endif - let g:ycm_semantic_triggers.tex = [ - \ 're!\\[A-Za-z]*cite[A-Za-z]*(\[[^]]*\]){0,2}{[^}]*', - \ 're!\\[A-Za-z]*ref({[^}]*|range{([^,{}]*(}{)?))', - \ 're!\\hyperref\[[^]]*', - \ 're!\\includegraphics\*?(\[[^]]*\]){0,2}{[^}]*', - \ 're!\\(include(only)?|input){[^}]*', - \ 're!\\\a*(gls|Gls|GLS)(pl)?\a*(\s*\[[^]]*\]){0,2}\s*\{[^}]*', - \ 're!\\includepdf(\s*\[[^]]*\])?\s*\{[^}]*', - \ 're!\\includestandalone(\s*\[[^]]*\])?\s*\{[^}]*', - \ ] - - function! ViewerCallback() dict - call self.forward_search(self.out) - endfunction - let g:vimtex_view_zathura_hook_callback = 'ViewerCallback' - " }}} - - autocmd BufWritePost * execute ':silent ! cp /home/steveej/src/mendeley/Static-Code-Analysis-Kernel-Memory-Saftey.bib /home/steveej/src/steveej/msc-thesis/src/docs/thesis.bib >/dev/null 2>&1' + + customRC = '' + source .vimrc ''; vam.knownPlugins = pkgs.vimPlugins; From b4f23fdd2fb487f0a7948439b50e7837005e1251 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 19 Sep 2017 10:38:00 +0200 Subject: [PATCH 115/126] WIP: describe stack handling with pictures --- .gitignore | 1 + .../gfx/call-procedure-memory-content.png | Bin 0 -> 127062 bytes src/docs/glossary.tex | 6 +- src/docs/parts/context/context.tex | 314 +++++++------- .../eval_and_conclusion.tex | 107 ++++- .../research_and_development.tex | 280 ++++++++++++- src/docs/thesis.bib | 386 +++++++++--------- src/docs/thesis.tex | 87 +++- 8 files changed, 815 insertions(+), 366 deletions(-) create mode 100644 src/docs/gfx/call-procedure-memory-content.png diff --git a/.gitignore b/.gitignore index 51873ad..fa17137 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ /src/docs/thesis.pdf /docs/ +_minted*/ diff --git a/src/docs/gfx/call-procedure-memory-content.png b/src/docs/gfx/call-procedure-memory-content.png new file mode 100644 index 0000000000000000000000000000000000000000..58f764d957aea932ee21a28da475e4e6bb61d717 GIT binary patch literal 127062 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�IW-+Jg)ymxMK3C$qSI+O3 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�J+8Ar>u;T4DugXs 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

TSQ!%&1-MZ(Jly>ZTjN+Jg#41 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 Gp$P!Y?!A)$ literal 0 HcmV?d00001 diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 980eccb..6361a80 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -4,7 +4,7 @@ name = {Rust}, long = {the Rust programming language}, description = { - Statically typed programming language that uses a new concept of variable ownership and reference tracking. Largely explain in \autoref{context::rust}. + Statically typed programming language that uses a new concept of variable ownership and reference tracking. Largely explain in \cref{context::rust}. }, first = {\glsentrylong{Rust}} } @@ -309,9 +309,9 @@ \newglossaryentry{CWE-119}{ name = CWE-119, + long = {CWE-119: \glsentrydesc{CWE-119}}, description = {Improper Restriction of Operations within the Bounds of a Memory Buffer}, - short = {buffer error}, - first = {CWE-119: \glsentrydesc{CWE-119}\cite{MITRE-CWE-119}} + first = {\glsentrylong{CWE-119}\cite{MITRE-CWE-119}} } \newglossaryentry{C}{ diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index f454137..bc13453 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -5,9 +5,9 @@ This thesis studies the feasibility of using compile-time code analysis, as found in \gls{Rust}'s \gls{compiler}, for ensuring memory-safety within an \gls{OS} kernel. This study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for all other \glspl{app}. -For this the \gls{OS} is the only \gls{app} that required unrestricted access to these resources, with the job of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. +For this the \gls{OS} is the only \gls{app} that required unrestricted access to these resources, with the responsibility of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. -The increasing number of vulnerabilities based on memory-safety issues in \glspl{app}, as presented in \autoref{context::common-mem-safety-mistakes::cwe::statistics}, is a major motivator for working on this topic. +The increasing number of vulnerabilities based on memory-safety issues in \glspl{app}, as presented in \cref{context::common-mem-safety-mistakes::cwe::statistics}, is a major motivator for working on this topic. \section{Motivational Hypothesis} % Primary Research Questions @@ -19,12 +19,12 @@ The increasing number of vulnerabilities based on memory-safety issues in \glspl %TODO: mention electrolyte, formal verification for Rust According to my best-effort literature research in Q1/2017, the hypothesis that \textit{Rust's static code analysis can guarantee memory safety in the \gls{OS}} has not been studied explicitly. -This is to my surprise, because as explained in \autoref{context::introduction::memory-safety}, memory-safety in \gls{OS} development is critical, and \gls{Rust} offers attractive features that might bring improvements, which is covered in \autoref{context::rust}. +This is to my surprise, because as explained in \cref{context::introduction::memory-safety}, memory-safety in \gls{OS} development is critical, and \gls{Rust} offers attractive features that might bring improvements, which is covered in \cref{context::rust}. The hypothesis cannot be trivially approved or denied, which drives the research efforts for my final thesis project. Besides this specific hypothesis, many implementations of \glspl{OS} with \gls{Rust} have appeared in public. Their purposes range from proof-of-concept and educational work like \gls{imezzos} and \gls{blogos}, to implementations that aim to be production grade software like \gls{redoxos} and \gls{tockos} \cite{Levy2015a}. -These implementations are subject to evaluation in \autoref{rnd::existing-os-in-rust} +These implementations are subject to evaluation in \cref{rnd::existing-os-in-rust} The final results will be of qualitative nature, captured by analyzing the existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. In addition to the sole analysis of \gls{Rust}-implementations, comparisons will be made, discerning the level of memory safety guarantees gained over similarly intending implementations in \gls{C}. @@ -103,22 +103,32 @@ This is especially likely using low-abstraction languages like \gls{C} and \gls{ The goal of this thesis is to find out if the \gls{Rust} \gls{compiler} is able to mitigate this specific problem. \chapter{OS Development Concepts} -This chapter explains concepts used in \gls{OS} development today, and is a direct preparation for the upcoming \autoref{context::common-mem-safety-mistakes}, which explains specific weaknesses that result from made memory-management mistakes in the attempt to implement these concepts. +This chapter explains concepts used in \gls{OS} development today, and is a direct preparation for the upcoming \cref{context::common-mem-safety-mistakes}, which explains specific weaknesses that result from made memory-management mistakes in the attempt to implement these concepts. Since the \gls{OS} manages the system's hardware directly, some of the implementation and design choices depend on the underlying hardware architecture. For a full understanding the hardware implications are also outlined in this document. -To bound the extent of this and the following chapters, the explanations are limited to one contemporary architecture, \gls{amd64}, and further narrowed down by focusing on the operation in 64-Bit long mode\cite[p.~18]{AMD64Vol2} it provides. +To bound the extent of this and the following chapters, the explanations are limited to one contemporary architecture, \gls{amd64}, and further narrowed down by focusing on the operation in 64-Bit Long Mode\cite[p.~18]{AMD64Vol2}. \section{Resource Management by Virtualization} Resource management in \gls{OS} development is different than in generic \glspl{app} development. -The \gls{OS}, typically the lowest software layer, must know the very details of the system's hardware and perform raw access to it. +The \gls{OS} - typically the lowest software layer - must know the very details of the system's hardware and perform raw access to it. \subsection{Layers} -The \gls{OS} creates a virtualization\footnote{The term \textit{virtualization} the \gls{OS} jargon can be understood as abstraction} layer on top of architecture specific code and abstracts it in form of an internal \gls{api}. +The \gls{OS} creates a virtualization\footnote{The term \textit{virtualization} within the \gls{OS} the jargon can be understood as abstraction} layer on top of architecture specific code and abstracts it in form of an internal \gls{api}. This layer abstracts at least the \gls{CPU} and memory\cite{Arpaci-Dusseau2015}. Higher-level, complex management algorithms can then implement hardware-independent on top of this \gls{api}, making it reusable across different architectures. The \gls{OS} then provides an \gls{api} through which \glspl{app} can request access to these virtualized resources. This allows \gls{app} developers to develop and run different programs easily and presumably safely on the \gls{OS}, agnostic of the architecture. +\subsection{Task Models} +TODO shortly describe these and give a reference model +\begin{itemize} + \item Task + \item Program + \item Procedure + \item Process + \item Thread +\end{itemize} + \subsection{Resource Specifics} Virtualization has different technical implications for different resources types, depending on their nature and available count. To give an example, the \gls{CPU} is not explicitly requested, because any instruction by the program implicitly requires the \gls{CPU} to execute it. @@ -129,20 +139,20 @@ In contrary, a program could ask the \gls{OS} for a specific amount of memory or Activating the 64-Bit long mode on \gls{amd64} makes the system rely primarily on paging memory management, thus the technique of memory segmentation can be neglected in this context. This section provides information about hardware-supported memory paging and protection techniques. -To improve the efficiency and safety of memory-management, developers of hardware and software have been collaborating to offload the page look-up from the \gls{OS} software to the hardware, namely the \gls{CPU}'s \gls{MMU}. +To improve the efficiency and safety of memory-management, developers of hardware and software have been collaborating to offload virtual memory address lookup and caching from the \gls{OS} software to the hardware, namely the \gls{CPU}'s \gls{MMU}. A hardware-implementation of the lookup algorithm is fast, and allows rudimentary memory permission runtime-checks to protect pages by leveraging \gls{CPU}'s security rings\cite[p.~117,~p.~145]{AMD64Vol2}. \subsection{Virtual Address Translation and Paging} -Paging with virtual addresses is one method of virtualizing and in this way transparently share the system's memory among running programs and the \gls{OS} itself, presumably in a safe way. -On \gls{amd64}, the software's instructions use virtual memory addresses, which are translated to physical memory addresses by the \gls{MMU} of the \gls{CPU} at the time the instructions are executed. +Paging with virtual addresses is one method of virtualizing memory and in this way transparently share the system's memory among running tasks and the \gls{OS} itself, presumably in a safe way. Even when using a language that supports direct memory addressing, \gls{app} developers don't have to consider paging and address translation in the logic of their programs, because all addresses in their program are virtual and are translated at runtime by the \gls{MMU}. The translation itself is performed by the \gls{MMU} according to a map that is called page table, which is a structure maintained by the \gls{OS} in the main memory. This memory structure can be stored anywhere in memory, and the address is handed to the \gls{MMU} via a specific \gls{CPU} register, \textit{CR3} on \gls{amd64}. The \gls{OS} can maintain multiple page table structures, and can create different virtual address spaces by changing \gls{MMU}'s page-table pointer - the \textit{CR3} register. +As mentioned above the hardware caches provides caches for repeated lookups of the same virtual addresses. +Controlling the validity of these cache entries is in the \gls{OS} responsibility. To avoid the need for storing a translation mapping for every possible address, mappings are grouped into fixed-size pieces, the \textit{page}s. -This works by encoding the offset within the page in the virtual address, together with the index into the page table. - +This works by encoding the offset within the page in the virtual address, together with page's index in page table. The offset size depends on the chosen page-size, and can be calculated with the following formula, given page-size in bytes as $p$: \begin{equation} \textrm{offset\_bits(p)} = log_2(p), \{ p \in N, p: n^2 \} @@ -153,126 +163,142 @@ For example, the \gls{amd64} default page-size of 4 KiB has a 12-bit offset, whi If an instruction uses a virtual address that indexes a page which is not present in memory, the \gls{CPU} will generate page-fault exception to give control back to the \gls{OS}. The \gls{OS} must then react accordingly by e.g. finding free physical memory and map it to the page my modifying the page's page-table entry. -\paragraph{Hypothetical 1-level-page-table example.} -If only one page-table per context was used that consists of $2^{52}$ page-table entries which mustat minimum store the physical address it maps to, it would require $\frac{52 * 2^{52} [Bit]}{8*1024^4 [Bit/Byte]} = 26624$ TiB of memory for each context. -Even if only a handful of additional pages were allocated and mapped, the \gls{OS} would still have to allocate this huge page-table. -This vast consumption of main memory is impractical and impossible for average systems, which rarely surpass 100 GiB of main memory. - \subsubsection{Swapping} The finite primary memory can only hold a finite number of virtual pages, and the \gls{OS} is responsible for having the required pages present. Besides the pages that contain the page-table itself, the pages that aren't required by the current instruction might be moved to secondary memory. Swapping pages in and out of primary memory is risky as it requires to transfer large amounts of raw memory content, but these safety analyzes exceed the scope of this thesis. -\subsubsection{Multi-Level Paging} + +\section{Multi-Level Paging} \label{context::introduction::hw-supported-mm::multilevel-paging} -On \gls{amd64} "a four-level page-translation data structure is provided to allow long-mode operating systems to translate a 64-Bit virtual-address space into a 52-Bit physical-address space."\cite[p.~18]{AMD64Vol2}. -Using a hierarchical translation structure allows to save significant amounts of memory, as not every page-table of every level and address space has to be allocated and present in memory. -Only the \textit{PML4} which is currently referenced by the \textit{Page Map Base Register (CR3)} is required to be present. +If only one page-table per virtual address space was used that consists of $2^{52}$ page-table entries, which must at minimum store the physical address, it would require $\frac{52 * 2^{52} [Bit]}{8*1024^4 [Bit/Byte]} = 26624$ TiB of memory for each virtual address space. +Even if only a handful of additional pages were allocated and mapped, the \gls{OS} would still have to allocate this huge page-table. +This vast consumption of main memory is impractical and impossible for average systems, which rarely surpass 100 GiB of main memory. -\autoref{fig:virtual-addr-transl} shows the 64-Bit virtual address composition on \gls{amd64}, which uses four-levels of page tables. -Counterintuitively the page-tables are not called level-\textit{n}-page-table, but the levels received distinct names in \citetitle{AMD64Vol2}. -The most-significant Bits labelled as \textit{Sign Extend} are not used for addressing purposes, but must adhere the canonical address form and simply repeat the value of the most-significant implemented Bit \cite[p.~130]{AMD64Vol2}. -The least significant Bits represent the offset within the physical page. -The four groups in between are used to index the page-table at their respective level. +Therefore most systems use a hierarchy of page tables. +Using a hierarchical translation structure allows to save significant amounts of memory, as not every page-table of every level in the address space has to be allocated and present in main memory. +% TODO picture this \begin{figure} \centering -\includegraphics[width=\textwidth]{gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png} -\caption{Virtual to Physical Address in Long Mode\cite{AMD64Vol2}} -\label{fig:virtual-addr-transl} +\includegraphics[width=\textwidth]{gfx/TODO-nlevel-paging} +\begin{tikzpicture} + \def\x{9ex} + % memory cells + \path[draw,font=\small] + % cells + (0,0) + rectangle ++(\x, 1) + rectangle ++(\x,-1) + rectangle ++(\x, 1) + rectangle ++(\x,-1) + rectangle ++(\x, 1) + % cell text + (0.5*\x,0.5) + node(text-a){idx$_n$} ++(\x,0) + node(text-b){idx$_{n-1}$} ++(\x,0) + node(text-c){...} ++(\x,0) + node(text-d){idx$_1$} ++(\x,0) + node(text-e){offset$_{page}$}++(\x,0) + % bit numbers + (0,1) + node[anchor=south]{63} + (5*\x,1) + node[anchor=south]{0} + ; + % braces + \foreach \y in {1,...,5} { + \pgfmathparse{\y-1} + \draw[decorate,decoration={brace,mirror}] + ($(\pgfmathresult*\x,-1ex)!0.1!(\y*\x,-1ex)$) -- node[shape=coordinate](brace-\y){} + ($(\pgfmathresult*\x,-1ex)!0.9!(\y*\x,-1ex)$); + } + + \draw + % cells + (0*\x,-1*\x) + rectangle ++( \x, 0.5*-1) + rectangle ++(-\x,-1) + rectangle ++( \x, 0.5*-1) + (1*\x,-3*\x) + rectangle ++( \x, 0.5*-1) + rectangle ++(-\x,-1) + rectangle ++( \x, 0.5*-1) + (2*\x,-5*\x) + rectangle ++( \x, 0.5*-1) + rectangle ++(-\x,-1) + rectangle ++( \x, 0.5*-1) + ; + + % cell text +% (0.5*\x,0.5) +% node(text-a){idx$_n$} ++(\x,0) +% node(text-b){idx$_{n-1}$} ++(\x,0) +% node(text-c){...} ++(\x,0) +% node(text-d){idx$_1$} ++(\x,0) +% node(text-e){offset$_{page}$}++(\x,0) +% % bit numbers +% (0,1) +% node[anchor=south]{63} +% (5*\x,1) +% node[anchor=south]{0} +% ; + +% \def\y{1} +% \pgfmathparse{\y-1} +% \draw[decorate,decoration={brace,mirror}] +% ($(\pgfmathresult,-1ex)!0.1!(\y*\x,-1ex)$) -- node[shape=coordinate](brace-\y){} +% ($(\pgfmathresult,-1ex)!0.9!(\y*\x,-1ex)$); +% \def\y{2} +% \pgfmathparse{\y-1} +% \draw[decorate,decoration={brace,mirror}] +% ($(\pgfmathresult*\x,-1ex)!0.1!(\y*\x,-1ex)$) -- node[shape=coordinate](brace-\y){} +% ($(\pgfmathresult*\x,-1ex)!0.9!(\y*\x,-1ex)$); +% \draw[decorate,decoration={brace,mirror}] +% ($(1*\x,-1ex)!0.1!(\x*2,-1ex)$) -- node[shape=coordinate](brace-2){} +% ($(1*\x,-1ex)!0.9!(\x*2,-1ex)$); + +\end{tikzpicture} +\caption{Hierarchical Virtual Paging} +\label{fig:paging-hierarchy-abstract} \end{figure} -\subsubsection{Translation Scheme 4 KiB and 2 MiB Pages} -The \gls{amd64} architecture allows configuring the page-size, two of which will be introduced in this section. -\autoref{tab:page-transl-vaddr-composition} displays the virtual address composition for the 4KiB and 2MiB page-size modes on \gls{amd64}. -The direction from top to bottom in the table corresponds to most significant to least significant - left to right - in the virtual address. -The \textit{sign extension} Bits cannot be used for actual information but act as a reservation for future architectural changes. +The details of how this is implemented on \gls{amd64} can be found in \cnameref{rnd::sysprog-conventions::paging-amd64}. -\begin{table} - \begin{tabular}{l | c | c} - Description & Bits in 4 KiB Pages & Bits in 2 MiB Pages \\ - \hline - Sign Extend & 12 & 12 \\ - Page-Map-Level-4 Offeset & 9 & 9 \\ - Page-Directory-Pointer Offeset & 9 & 9 \\ - Page-Directory Offeset & 9 & 9 \\ - Page-Table Offeset & 9 & - \\ - Physical Page Offset & 9 & 21 \\ - \end{tabular} - \caption{Paging on \gls{amd64}: Virtual Address Composition 4KiB/2MiB pagesizes} - \label{tab:page-transl-vaddr-composition} -\end{table} +\subsection{The Concepts of Stack And Heap} +\label{context::introduction::hw-supported-mm::stackheap} +In \gls{proglang} and \gls{OS} design and literature, the terms \gls{stack} and \gls{heap} are ubiquitous. A research for their definition wasn't conclusive, indicating that they are rather concepts than absolutely defined terms, and might be implemented and used differently on various architectures, \glspl{proglang} and \glspl{OS}. -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/amd64-4kb-page-translation-long-mode} -\caption{4-Kbyte Page Translation—Long Mode\cite{AMD64Vol2}} -\label{fig:4kb-page-transl} -\end{figure} +This part focuses on the basic concepts, already limiting the scope to the \gls{amd64} architecture, the \glspl{proglang} \gls{C} and \gls{Rust} and their usage on either bare-metal or \gls{LX}. +A detailed continuation is found in \cnameref{rnd::mm-conventions}. -\autoref{fig:4kb-page-transl} shows the detailed virtual address composition for 4 KiB pages, using four levels of page-tables. -It uses four sets of 9-Bit indices in the virtual address, one per hierarchy level, followed by the 9 Bit page-internal offset. - -An alternative approach is displayed in \autoref{fig:2mb-page-transl}, using 2 MiB sized pages. -It uses three sets of 9-Bit indices for the page-tables, and a 21-Bit page-internal offset. -Increasing the page-size improves speed and memory-usage and decreases the granularity. -In this specific example the hierarchy is reduced by one level of page-tables. -This reduces the amount of storage required for the page-tables in overall and causes the lookup algorithm to finish faster. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/amd64-2mb-page-translation-long-mode} -\caption{2-Mbyte Page Translation—Long Mode\cite{AMD64Vol2}} -\label{fig:2mb-page-transl} -\end{figure} - -The other supported page sizes, 4 MiB and 1 GiB, as well as intermixing page sizes through the different levels don't add new insight into the mechanism and don't need to be detailed here. - -% \subsubsection{Top-Level Page Table Self-Reference} -% \subsubsection{Caching Lookups} -% \subsubsection{Full Example} -% * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html -% * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows - -\subsection{Premised Trust In Hardware} -The algorithms that are implemented in hardware can't be verified and need to be trusted to work exactly like the manual describes them. -% TODO: remove this chapter of write something interesting - -\subsection{The \textit{Stack} And \textit{Heap} Concept} -In \gls{proglang} and \gls{OS} design and literature, the terms \gls{stack} and \gls{heap} are ubiquitous and assumed to be known. -To avoid ambiguities in the first place, this document refers to \gls{heap} as the memory zone, not the data structure. - -From a perspective of developing \glspl{app} and studying \gls{OS} course content, there is still a certain vagueness in the understanding of these concepts. -After the research for their origin it is clear that they are mere concepts, that might be implemented and used differently in the various \glspl{OS} and \glspl{proglang}. -The hardware manuals \citetitle{AMD64Vol1} and \citetitle{AMD64Vol2} refer to \gls{stack} but have no mention of \gls{heap}. \subsubsection{Stack: Hardware-Backed Abstract Type} -The \gls{amd64} manuals conjunctionally describe how the \gls{stack} is used and influenced by various instructions. -In summary, it is a memory model for a structured contiguous memory region which grows by storing new data entries on top of each other. -It grows from numerically higher to numerically lower addresses, whereas the numerically highest address is called the stack bottom, and the current numerically lowest address is the stack top. -Hi +\label{context::introduction::hw-supported-mm::stackheap::stack} +In summary, the \gls{stack} is a memory model for structuring contiguous memory. +It grows by adding new data entries on top of each other. +According to the \gls{stack} analogy, only the topmost element can be accessed and removed, thus it behaves like a Last-In-First-Out data structure. -The usage of the \gls{stack} is coupled with control flow instructions, in conjunction with two registers, the Stack-Frame Base Pointer (RBP) and the Stack Pointer (RSP). -The instructions that reference with the stack\cite[p.~83]{AMD64Vol1} can be grouped into the following three categories. +The hardware manuals \citetitle{AMD64Vol1} and \citetitle{AMD64Vol2} have no mention of the word \textit{heap}, but use \textit{stack} hundreds of times, indicating that \gls{stack} is implemented in hardware to some extend. +The \gls{amd64} manuals conjunctionally describe how the \gls{stack} is used and influenced by various instructions on this architecture. +Here it grows from numerically higher to numerically lower addresses, whereas the numerically highest address is called the stack bottom, and the current numerically lowest address is the stack top. +In 64-Bit long mode \gls{amd64} doesn't consider the stack to be sized. -\paragraph{Data Storage} -The address in RSP moves towards numerically lower addresses with every PUSH instruction, which stores a new data entry on top. -POP instructions works in the opposite direction, consuming the top-most data entry, moving the RSP address towards the numerically higher RBP address. -When RBP and RSP have the same value, the stack is empty. +The \gls{stack} is allocated per procedure and typically stores only procedure-local data, which is simply forgotten once the procedure has completed. +To achieve memory-safety with regards to \gls{stack} management inside \gls{OS}, each procedure must only access its own particular \gls{stack}. +Additionally, \glspl {stack} must be prevented from growing into memory regions that might belong to other procedures. +This needs to be considered by \gls{OS} developers when implementing memory-management for multitasking \gls{OS}, as further investigated in \cref{rnd::existing-os-dev-wity-rust,rnd::imezzos-preemptive-multitasking}. -In 64-Bit long mode \gls{amd64} doesn't consider the stack to be sized, so it is up to the \gls{OS} developer to ensure that it doesn't grow into other foreign memory regions. +\subsubsection{Heap: Organized Chaos} +\label{context::introduction::hw-supported-mm::stackheap::heap} +\Gls{heap} is an ambiguous term that names a data structure in more theoretical computer science and a memory zone in system programming. +In this document \gls{heap} refers to the latter. -\paragraph{Procedure Calls} -% TODO CALL -% TODO RET -\Glspl{stack} used for procedure calls\footnote{a different word for function call}, specifically for passing data from the calling to the called procedure. +\subsection{Combining Stack And Heap} +% TODO: figure that shows stack and heap? -\paragraph{Procedure Setup} -% TODO ENTER -% TODO LEAVE - \section{Preemptive Multitasking} -Virtualization as previously explained is the foundation for the \gls{OS} to perform preemptive multitasking inconspicuously towards the \glspl{app}. +The previously explained virtualization is the foundation for the \gls{OS} to perform preemptive multitasking inconspicuously towards the \glspl{app}. This means that when a task is preempted and continued later, it observes no side-effects other than an elapse of time. Preemptive multitasking needs not be considered during development of single-threaded \gls{app}. Multi-threading and @@ -283,13 +309,13 @@ For example, a single \gls{CPU} system can not be utilized by more than one prog In contrast, main memory resources are only limited by their capacity and can otherwise be shared by several programs simultaneously, so that tasks that are not executed by \gls{CPU} can still have data stored in memory. The \gls{OS} must ensure that switching tasks is done properly for all resources to prevent interference and unintended behavior. -To ensure memory safety in this scenario, all data in the memory must be protected from unintended access, according to the definition of memory safety in \autoref{context::introduction::memory-safety::def}. +To ensure memory safety in this scenario, all data in the memory must be protected from unintended access, according to the definition of memory safety in \cref{context::introduction::memory-safety::def}. \subsection{Context Switching} When the \gls{OS} preempts a task, it needs to store and preserve the current task's context. The context consists of all volatile resources that can possibly be overwritten by another task. This is at minimum a set of \gls{CPU} registers depending on the specific architecture. -A description for \gls{amd64} is given in \autoref{tab:task-minimum-context-registers}. +A description for \gls{amd64} is given in \cref{tab:task-minimum-context-registers}. The \gls{OS} stores the preempted context in a well-known and protected memory location, so that it can be restored when this task is resumed. @@ -317,35 +343,17 @@ The \gls{OS} stores the preempted context in a well-known and protected memory l In preemptive multitasking, context switches are not considered voluntary, but rather by force. This works by using the \gls{CPU}'s interrupt mechanism which has the ability to jump to an \gls{OS} function in the event of an interrupt. Interrupts for this use-case are usually triggered by programmed timer interrupts, occurring continuously and regularly. -The interrupt mechanism itself is part of the \gls{CPU} and must be used by the \gls{OS} as is. - -On \gls{amd64}, the \gls{CPU}'s interrupt mechanism does not switch the full context described previously, but only handles the registers that are necessary to successfully jump to the interrupt function: RFLAGS, RSP, RBP, RIP\footnote{Segment registers are neglected}. - -In this scenario, the context is stored on the \gls{stack} of the function that is interrupted. -\autoref{fig:amd64-long-mode-interrupt-stac} pictures the \gls{stack} layout on interrupt entry. -In order to leverage an interrupt for a context switch, the interrupt function needs to replace these values on the \gls{stack} with values for the new context. -CS (Code-Segment) and SS (Stack-Segment) have no effect in \gls{amd64} 64-Bit mode\cite[p.~20]{AMD64Vol1} and can remain unchanged. -The \gls{OS} developer needs to know the exact address where on the \gls{stack} this data structure has been pushed by the \gls{CPU}, and must then manipulate these addresses directly. -This type of manipulation is inherently dangerous and can not be easily checked by the \gls{compiler}. -The function that handles the interrupt must then use the instruction \textit{iretq}\cite[p.~252]{AMD64Vol2}, to make the \gls{CPU} restore the partial context from the \gls{stack} and continue to function pointed to by the RIP. +The interrupt mechanism itself is part of the \gls{CPU} which is why the lowest level of the task switching mechanism in the \gls{OS} is hardware dependent. Safety could be increased if the \gls{compiler} or in a more general sense the \gls{proglang} could assist in architecture specific code. -\begin{figure} -\centering -\includegraphics[width=0.8\textwidth]{gfx/amd64-long-mode-stack-after-interrupt.png} -\caption{Long-Mode Stack After Interrupt\cite[p.~252]{AMD64Vol2}} -\label{fig:amd64-long-mode-interrupt-stac} -\end{figure} - -For a full context-switch, the other registers that are part of the context need to be handled by the \gls{OS}'s interrupt function. -This function is critical for safety and, as any other function in the \gls{OS}, is written by the \gls{OS} developer. - +More details on this mechanism is given in \cnameref{rnd::sysprog-conventions::ir-driven-preemptive-cs-amd64}. + \chapter{Common Memory-Safety Mistakes} \label{context::common-mem-safety-mistakes} -Building upon \autoref{context::introduction}, which describes the basic mechanics of memory usage and how mistakes come to existence, this chapter presents and explains common software vulnerabilities that are related to memory-safety. +Building upon \cref{context::introduction}, which describes the basic mechanics of memory usage and how mistakes come to existence, this chapter presents and explains common software vulnerabilities that are related to memory-safety. The relevant vulnerability classes are explained alongside exemplary manifestations in \gls{C}/\gls{C++}. -In \autoref{rnd::porting-c-vulns}, these are ported and compared to functionally equivalent versions written in \gls{Rust}. +In \cref{rnd::porting-c-vulns}, these are ported and compared to functionally equivalent versions written in \gls{Rust}. \section{\glsentrylong{CWE}} \label{context::common-mem-safety-mistakes::cwe} @@ -365,10 +373,10 @@ The following information is provided for enumerations of the type weakness clas The relevant weaknesses for this thesis are children of the umbrella weakness \citetitle{MITRE-CWE-633}. % TODO test the autocite command with footnotes -\subsection{\citetitle{MITRE-CWE-119}} +\subsection{\glsentrylong{CWE-119}} \label{context::common-mem-safety-mistakes::cwe::119} -One of its children weaknesses, \citetitle{MITRE-CWE-119}, is particularly interesting. -Manifestations of this weakness are a direct violation of the memory-safety defined in \autoref{context::introduction::memory-safety::def} must have occurred, which "can cause read or write operations to be performed on memory locations that may be associated with other variables, data structures, or internal program data. +One of its children weaknesses, \gls{CWE-119}, is particularly interesting. +Manifestations of this weakness are a direct violation of the memory-safety defined in \cref{context::introduction::memory-safety::def} must have occurred, which "can cause read or write operations to be performed on memory locations that may be associated with other variables, data structures, or internal program data. As a result, an attacker may be able to execute arbitrary code, alter the intended control flow, read sensitive information, or cause the system to crash"\cite{MITRE-CWE-119}. This can happen on certain languages, which "allow direct addressing of memory locations and do not automatically ensure that these locations are valid for the memory buffer that is being referenced. \gls{C}, \gls{C++}, \gls{asm} and languages without memory management support"\autocite{MITRE-CWE-119}. @@ -377,20 +385,20 @@ Direct memory addressing support doesn't imply a lack of memory management suppo There are languages that provide memory management support and still allow direct memory addressing, which is interesting for \gls{OS} development. \gls{Rust} is one of these languages, although it requires the developer to explicitly acknowledge all direct memory access operations with the \textit{unsafe} keyword. -More information on \gls{Rust} follows in \autoref{context::rust}. +More information on \gls{Rust} follows in \cref{context::rust}. \subsection{Statistics} \label{context::common-mem-safety-mistakes::cwe::statistics} One of the main reasons for me to work on this topic is the increasing number of vulnerabilities based on memory-safety issues. This section is intended to express the weakness's severity in real-world software based on available statistics. -The only data available is based on publicly available sources, thus the completeness of it is questionable, because many organizations might choose to not disclose their vulnerabilities, either to protect their reputation or for security reasons as explained in \autoref{context::introduction::memory-safety-violation-in-sw}. +The only data available is based on publicly available sources, thus the completeness of it is questionable, because many organizations might choose to not disclose their vulnerabilities, either to protect their reputation or for security reasons as explained in \cref{context::introduction::memory-safety-violation-in-sw}. The data and visualizations are supplied by the \gls{NVD}, which collects the data based on the umbrella weakness CWE-635\footnote{http://cwe.mitre.org/data/definitions/635.html} that was specifically created for the \gls{NVD}. The numbers of these selected weaknesses are detailed in the following figures, the rest is grouped as \textit{other}. -\autoref{fig:vulnerability-ratio-history} and \autoref{fig:vulnerability-counts-history} display a decade of data on vulnerabilities grouped by their \gls{CWE} category. +\cref{fig:vulnerability-ratio-history} and \cref{fig:vulnerability-counts-history} display a decade of data on vulnerabilities grouped by their \gls{CWE} category. The category called \textit{buffer\footnote{A bounded chunk of memory used by programs to store and exchange data} errors} represents \autocite{MITRE-CWE-119}. -In \autoref{fig:vulnerability-ratio-history} it has the color light blue, 2nd from the bottom in the legend, and in \autoref{fig:vulnerability-counts-history} it has the color blue, 2nd from the top in the legend. +In \cref{fig:vulnerability-ratio-history} it has the color light blue, 2nd from the bottom in the legend, and in \cref{fig:vulnerability-counts-history} it has the color blue, 2nd from the top in the legend. \begin{figure} \centering @@ -425,7 +433,7 @@ In \autoref{fig:vulnerability-ratio-history} it has the color light blue, 2nd fr \label{tab:vulnerability-buffer-error-by-history} \end{table} -In \autoref{tab:vulnerability-buffer-error-by-history}, the column \textit{relative count} represents \autoref{fig:vulnerability-ratio-history}, and the column \textit{absolute count} represents \autoref{fig:vulnerability-counts-history}. +In \cref{tab:vulnerability-buffer-error-by-history}, the column \textit{relative count} represents \cref{fig:vulnerability-ratio-history}, and the column \textit{absolute count} represents \cref{fig:vulnerability-counts-history}. With 16.34 percent of all vulnerabilities known by 2016, and an average of 12.92 percent over ten years, \autocite{MITRE-CWE-119} makes up a significant part of real-world weaknesses. \subsection{Vulnerable APIs in Linux and C/C++} @@ -455,7 +463,7 @@ This section contains real-world and \textit{re}constructed example manifestatio \subsection{The Stack Clash} A recent and high impact vulnerability named \textit{Stack Clash}\footnote{https://blog.qualys.com/securitylabs/2017/06/19/the-stack-clash}, is briefly described as \textit{"a vulnerability in the memory management of several operating systems. It affects Linux, OpenBSD, NetBSD, FreeBSD and Solaris, on i386 and amd64. It can be exploited by attackers to corrupt memory and execute arbitrary code."} The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. -It is assigned to the \autocite{MITRE-CWE-119} explained in \autoref{context::common-mem-safety-mistakes::cwe::119}. +It is assigned to the \autocite{MITRE-CWE-119} explained in \cref{context::common-mem-safety-mistakes::cwe::119}. % TODO explain that this CWE-119 vulnerability is also "Execute Code" % TODO: more references and deeper explanation of what happens: see introduction in https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt @@ -493,13 +501,13 @@ if (ptr == NULL) { \end{lstlisting} -\chapter{Safe \gls{OS} Development} +\chapter{Safe OS Development} \label{context::introduciton::safe-os-dev} This section gives a brief summary of relevant concepts of \gls{OS} development on common hardware platforms, focusing on memory management and its risks. -In order to protect the memory of each executed program according to \autoref{context::introduction::memory-safety::def}, the \gls{OS} must be designed, developed, and tested carefully. +In order to protect the memory of each executed program according to \cref{context::introduction::memory-safety::def}, the \gls{OS} must be designed, developed, and tested carefully. -\subsection{Detecting Memory-Safety Violations ASAP} +\section{Detecting Memory-Safety Violations ASAP} \label{context::safe-os-dev::detecting-safety-violations-asap} Given that it can not be prevented for individuals to type erroneous code into their code editors. @@ -516,11 +524,11 @@ It is desirable to place tests as early as possible in the software life cycle, This suggests that since the \gls{OS} is lower in the hierarchy of system components at runtime, testing of the \gls{OS} must happen regardless of specific \glspl{app} and development time. Especially testing the \gls{OS}'s internal states which can not be directly mutated via the \gls{api} exposed to the \glspl{app}. To explain this from the \gls{app} perspective, testing the \gls{OS} at runtime states is not plausible , because the \gls{app} can not freely mutate the system's state. -Even if it could, testing all possible permutations of system state in every possible \gls{app} would be highly redundant and nonetheless leaves the risk for untested edge cases that happen only under specific system circumstances, possibly influenced by other components on the system as described in the beginning of \autoref{context::introduction::memory-safety}. +Even if it could, testing all possible permutations of system state in every possible \gls{app} would be highly redundant and nonetheless leaves the risk for untested edge cases that happen only under specific system circumstances, possibly influenced by other components on the system as described in the beginning of \cref{context::introduction::memory-safety}. The \gls{app} developer is forced to trust the underlying \gls{OS}. This puts high importance on the safety of the \gls{OS} design and implementation. -\subsection{The Effects Of \Glspl{proglang} on Memory-Safety} +\subsection{The Effects Of Programming Languages on Memory-Safety} There are dozens of \glspl{proglang} used by humans to write \glspl{app}, but only a few are used to write \glspl{OS}. \subsubsection{Abstraction: Safety vs. Functionality} @@ -536,7 +544,7 @@ By defining an abstraction layer in form of a programming language, the language \section{Safety In Language Compilers And Static Analyzers} \label{context::introduction::language-compilers-analyzers} -In \autoref{context::introduction::memory-safety}, specifically in \autoref{context::introduction::memory-safety::detection}, it was explained that programming languages have direct impact on the memory-safety. +In \cref{context::introduction::memory-safety}, specifically in TODO "reference detection" was explained that programming languages have direct impact on the memory-safety. This section gives an example of how severe this impact is and explains the requirements on a \gls{OS} language. @@ -551,9 +559,9 @@ For this reason there have been attempts to define subsets of the \gls{C} langua Safety checks that are performed at runtime introduce a high degree of overhead, which makes it a nonviable option in the domain of \gls{OS} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or tasks with \gls{realtime} requirements. (TODO: explain realtime requirements) This has been forcing \gls{OS} developers to prioritize performance over safety. (TODO: reference) -Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \autoref{chap:mmt}. +Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \cref{context::common-mem-safety-mistakes}. -\section{Choice of \Glsentrytext{proglang} Choice} +\section{Choice of Programming Language} Criteria for the choice of programming language are much different from choosing a language for other types of \glspl{app}. This is a list of what is required for implementing an \glspl{OS} @@ -568,7 +576,7 @@ This is a list of what is required for implementing an \glspl{OS} \chapter{Memory-Safety Analysis Techniques} -As per the previous \autoref{chap:context.mem-weaknesses} there is general awareness of the problems, and there has been ongoing effort to develop and improve techniques that assist the programmer to detect and avoid such mistakes first- or secondhand. +As per the previous \cref{context::common-mem-safety-mistakes} there is general awareness of the problems, and there has been ongoing effort to develop and improve techniques that assist the programmer to detect and avoid such mistakes first- or secondhand. \section{Static vs. Dynamic Analysis} % TODO: explain first-/secondhand -> static/dynamic -> compile-time/runtime -> offline/online diff --git a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex index a94d8b6..d6a500d 100644 --- a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex +++ b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex @@ -10,8 +10,113 @@ \section{The Necessary Evils of \textit{unsafe}} \chapter{Result Evaluation} -% TODO: repeat that rust *can* be used to increase safety in the OS, but it doesn't guarantee it per-se + +\paragraph{Premised Trust In Hardware} +Memory management mechanisms are partially implemented in the target system's hardware which can't be verified by at time of development. \chapter{Summary} \chapter{Final Conclusion} +Safety - or security for this matter - is not something that can be achieved absolutely. +It grows successively and gives the \gls{OS} developers and the end-users a \emph{feeling} of safety, until another vulnerability is found and disclosed. + +% TODO: repeat that rust *can* be used to increase safety in the OS, +% TODO: how? +% but it doesn't guarantee it per-se + +\chapter{Scratchpad} + + +\begin{figure}[h!] +\centering +\begin{subfigure}[T]{0.50\textwidth} + \tikzmarkcountprep{callee} + \begin{compactminted}[ + escapeinside=??,linenos,autogobble,highlightlines={} + ]{nasm} + mov rax,QWORD PTR [rbp-0x48]?\tikzmarkcount? + add rsp,0x50?\tikzmarkcount? + pop rbp?\tikzmarkcount? + ret?\tikzmarkcount? + \end{compactminted} + \tikzmarkdrawcircles +\caption{Subfig A} +\end{subfigure} +\begin{subfigure}[T]{0.45\textwidth} + \foreach \x/\xtext in { + 1/{ + this is going to be a really long sentence with line wraps + }, + 2/{ + second + } + } {\tikzmarkcircle{\x}\xtext\\} +\caption{Subfig B} +\end{subfigure} +\caption{Whadup} +\label{Whadup} +\end{figure} + +\begin{listing} + \tikzmarkcountprep{example1} + \begin{minted}[ + label=example1,labelposition=all,escapeinside=??,linenos,autogobble,highlightlines={} + ]{nasm} + mov rax,QWORD PTR [rbp-0x48]?\tikzmarkcount? ?\tikzmark{brace1upper}? + add rsp,0x50?\tikzmarkcount? + pop rbp?\tikzmarkcount? + ret?\tikzmarkcount? ?\tikzmark{brace1lower}? + \end{minted} + \begin{minted}[ + escapeinside=??,linenos,autogobble,highlightlines={} + ]{nasm} + mov rax,QWORD PTR [rbp-0x48]?\tikzmarkcount? + add rsp,0x50 ?\tikzmarkcount? + pop rbp ?\tikzmarkcount? + ret ?\tikzmarkcount? + \end{minted} + \begin{tikzpicture}[remember picture,overlay] + \draw[thick,decorate,decoration={brace,raise=1ex}] + (pic cs:brace1upper)+(0,1.5ex) -- node[shape=coordinate][right=1.5ex] (a) {} (pic cs:brace1lower); + \fill (a)+(2ex,0) circle[opacity=1,radius=1.1ex] node[white,font=\small]{a}; + \end{tikzpicture} + \tikzmarkdrawcircles + \caption{Minted Listing A} +% + \foreach \x/\xtext in { + 1/{ + this is going to be a really long sentence with line wraps + \\} + ,2/{ + second + \\} + ,5/{},6/{ + hi + \\} + ,a/{ + hi + \\} + } {\tikzmarkcircle{\x}\xtext} +% +\end{listing} +\FloatBarrier + +\begin{listing} + \tikzset{/minted/basename=example} + \begin{minted}[label=caller,labelposition=topline,escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{nasm} + mov rcx,QWORD PTR [rbp-0x40] ; copy 1st arg to rcx + mov rsi,QWORD PTR [rbp-0x38] ; copy 2nd arg to rsi + mov rdx,QWORD PTR [rbp-0x30] ; copy 3rd arg to rdx + mov QWORD PTR [rbp-0x60],rdi ; save rdi to make it available + mov rdi,rcx ; copy 1st arg to rdi + mov QWORD PTR [rbp-0x68],rax ; save rax to make it available + call 7490?\tikzmark{exampleprecallfrom}? <_ZN14stack_handling3sum17h8f12d2383e075691E> ; push '756e' onto the stack and jump to the first instruction of sum + mov QWORD PTR [rbp-0x28],rax ; save return value + \end{minted} + \caption{Function Call with Three Arguments} + \begin{tikzpicture}[remember picture,overlay] + \draw[red,thick] (pic cs:exampleprecallfrom) ellipse (0.7cm and 12pt) node { \textbf{1} }; + \fill[blue] (pic cs:example1) circle (0.1cm); + \fill[yellow] (pic cs:example2) circle (0.1cm); + \end{tikzpicture} +\end{listing} diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index a1a98d3..3dcb032 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -2,12 +2,284 @@ \chapter{Topic Refinement} % TODO: is this chapter required? +\chapter{System Programming Conventions} +\label{rnd::sysprog-conventions} + +\section{Stack Frame Handling on AMD64} +\label{rnd::sysprog-conventions::stackframe-amd64} +The usage of the \gls{stack} is tightly coupled with control flow instructions in conjunction with two registers, the Stack-Frame Base Pointer (RBP) and the Stack Pointer (RSP). +The instructions that use these registers and explicitly or implicitly work with the stack\cite[p.~83]{AMD64Vol1} can be grouped into the following categories. +Together they can be used to perform \gls{stack} based procedure calls, as demonstrated in the following \cref{context::introduction::hw-supported-mm::procedure-call-example}. + +\paragraph{Direct Stack Data Management} with PUSH and POP. + +PUSH takes value operand which is to be pushed onto the stack. +The address in RSP moves towards numerically lower addresses with every PUSH instruction, which stores a new data entry on top. +The order is to first change the RSP and then copy the value at its new address. + +POP takes a storage reference operand - \gls{CPU} register or memory address. +It works in the opposite direction to PUSH. +First, consuming the top-most data entry and storing it on the operand location, then moving the RSP address towards the numerically higher RBP address. + +When RBP and RSP point to the same address, the stack is considered empty. + +\paragraph{Procedure Calls} with CALL and RET. \\ +These instructions control the instruction flow by calling another instruction procedure\footnote{loosely synonymous with function}. + +The CALL instruction takes the address of the instruction that is to be called. +Before jumping to the instruction at the given address, it PUSHes the current RIP (instruction pointer) register onto the \gls{stack}. + +RET takes no operand, but instead POPs the \gls{stack}'s top entry. +The consumed value is used as a jump address. + +As PUSH and POP use the RSP register, the called procedure is responsible to finish with the RSP at the same position as when it was entered. +For example, PUSHing some value onto the stack before the end of the function would cause the RET to jump to that address instead of returning to the caller. + +\paragraph{Called Procedure Setup} \emph{not} with ENTER and LEAVE. + + When a procedure is called the stack is set up with the following four components +\cite[p.~48]{AMD64Vol1}: + +\begin{enumerate} + \item{% + Parameters passed to the called procedure (created by the calling procedure). \\ + \textit{Only if parameters don't fit the \gls{CPU} registers} + } + \item{% + Return address (created by the CALL instruction). \\ + \textit{Always used by CALL} + } + \item{% + Array of stack-frame pointers (pointers to stack frames of procedures with smaller nesting-level depth) which are used to access the local variables of such procedures. \\ + \textit{Depends on support and implementation of nested functions in the \gls{compiler}} + } + \item{% + Local variables used by the called procedure. \\ + \textit{This includes the variables passed via \gls{CPU} registers} + } +\end{enumerate} +only necessary when there aren't enough \gls{CPU} to pass the parameters. +Item 3 is only necessary when + +The \gls{amd64} manual also lists ENTER and LEAVE as instructions to \textit{"provide support for procedure calls, and are mainly used in high-level languages."}\cite[p.~48]{AMD64Vol1}. +The latter claim could not be verified by inspecting binaries produced by the \gls{C} and \gls{Rust} \glspl{compiler}. + +Instead, these \glspl{compiler} generate a sequence of PUSH, MOV and SUB instructions to manage theset up the \gls{stack}. +There are instructions before and after the procedure's logic, taking care of the technicalities of \gls{stack} management. +These instruction groups within the called procedure are called prologue and epilogue. + +\subsection{Full Procedure Call Example} +\label{context::introduction::hw-supported-mm::procedure-call-example} +This section combines the separate categories into one complete example that shows how the \gls{stack} is used by various \gls{CPU} instructions to perform procedure calls. +The following code samples are extracted from a disassembled binary which was originally created using \gls{Rust}. +The Assembler that's shown uses Intel Mnemonic, which generally operates from right to left. +For example, \mint{nasm}{mov a, b} copies b to a. + +\cref{code::context::examples::func-callee} shows the \gls{Rust} source code of the function \textit{sum}. + +\section{4-Level Paging Hierarchy on \glsentrytext{amd64}} +\label{rnd::sysprog-conventions::paging-amd64} +On \gls{amd64} "a four-level page-translation data structure is provided to allow long-mode operating systems to translate a 64-Bit virtual-address space into a 52-Bit physical-address space."\cite[p.~18]{AMD64Vol2}. +This allows the system to only hold the \textit{PML4} table, the which is currently referenced by the \textit{Page Map Base Register (CR3)}, available in main memory. + +\cref{fig:virtual-addr-transl} shows the 64-Bit virtual address composition on \gls{amd64}, which uses four-levels of page tables. +Counterintuitively the page-tables are not called level-\textit{n}-page-table, but the levels received distinct names in \citetitle{AMD64Vol2}. +The most-significant Bits labelled as \textit{Sign Extend} are not used for addressing purposes, but must adhere the canonical address form and simply repeat the value of the most-significant implemented Bit \cite[p.~130]{AMD64Vol2}. +The least significant Bits represent the offset within the physical page. +The four groups in between are used to index the page-table at their respective level. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png} +\caption{Virtual to Physical Address in Long Mode\cite{AMD64Vol2}} +\label{fig:virtual-addr-transl} +\end{figure} +\subsubsection{Translation Scheme 4 KiB and 2 MiB Pages} +The \gls{amd64} architecture allows configuring the page-size, two of which will be introduced in this section. +\cref{tab:page-transl-vaddr-composition} displays the virtual address composition for the 4KiB and 2MiB page-size modes on \gls{amd64}. +The direction from top to bottom in the table corresponds to most significant to least significant - left to right - in the virtual address. +The \textit{sign extension} Bits cannot be used for actual information but act as a reservation for future architectural changes. + +\begin{table} + \begin{tabular}{l | c | c} + Description & Bits in 4 KiB Pages & Bits in 2 MiB Pages \\ + \hline + Sign Extend & 12 & 12 \\ + Page-Map-Level-4 Offeset & 9 & 9 \\ + Page-Directory-Pointer Offeset & 9 & 9 \\ + Page-Directory Offeset & 9 & 9 \\ + Page-Table Offeset & 9 & - \\ + Physical Page Offset & 9 & 21 \\ + \end{tabular} + \caption{Paging on \gls{amd64}: Virtual Address Composition 4KiB/2MiB pagesizes} + \label{tab:page-transl-vaddr-composition} +\end{table} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/amd64-4kb-page-translation-long-mode} +\caption{4-Kbyte Page Translation—Long Mode\cite{AMD64Vol2}} +\label{fig:4kb-page-transl} +\end{figure} + +\cref{fig:4kb-page-transl} shows the detailed virtual address composition for 4 KiB pages, using four levels of page-tables. +It uses four sets of 9-Bit indices in the virtual address, one per hierarchy level, followed by the 9 Bit page-internal offset. + +An alternative approach is displayed in \cref{fig:2mb-page-transl}, using 2 MiB sized pages. +It uses three sets of 9-Bit indices for the page-tables, and a 21-Bit page-internal offset. +Increasing the page-size improves speed and memory-usage and decreases the granularity. +In this specific example the hierarchy is reduced by one level of page-tables. +This reduces the amount of storage required for the page-tables in overall and causes the lookup algorithm to finish faster. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/amd64-2mb-page-translation-long-mode} +\caption{2-Mbyte Page Translation—Long Mode\cite{AMD64Vol2}} +\label{fig:2mb-page-transl} +\end{figure} + +The other supported page sizes, 4 MiB and 1 GiB, as well as intermixing page sizes through the different levels don't add new insight into the mechanism and don't need to be detailed here. + +% \subsubsection{Top-Level Page Table Self-Reference} +% \subsubsection{Caching Lookups} +% \subsubsection{Full Example} +% * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html +% * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows + +\begin{listing}[htb] + \tikzset{/minted/basename=callee-c} + \begin{minted}[autogobble,linenos,breaklines=true]{rust} + \end{minted} + \caption{The called function in \gls{Rust}} + \label{code::context::examples::func-callee-c} +\end{listing} + +\cref{code::context::examples::func-call} shows a snippet snippet of the calling function. +It stores the arguments within the registers according to the System V X86\_64 calling convention. %TODO REFERENCE +The caller doesn't alter the stack-frame pointer (RBP) or the stack pointer (RSP) registers before call, hence the called function must restore these if it alters them. + +\begin{listing} + \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{rust} + \end{minted} + \caption{Procedure Call Example: Caller Rust} + \label{code::context::examples::func-call} +\end{listing} + +\begin{listing} + \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{nasm} + \end{minted} + \caption{Procedure Call Example: Caller Assembly} + \label{code::context::examples::func-call} +\end{listing} + +% \balloon{comment}{ + +% RDI, RSI, RDX, RCX, R8, R9, XMM0–7 + +\begin{table}[ht!] + \tikzmark{precallto} + \centering + \begin{tabular}{ r | >{\columncolor{YellowGreen}}c | l } + \multicolumn{1}{r}{RBP offset} & \multicolumn{1}{c}{Content} & \\ + $\uparrow$ & \cellcolor{white} & \\ + & \cellcolor{white} \dots \textit{beyond current stack} \dots & \\ + \hhline{~-~} + 0 & \textit{Previous RSP} & $\leftarrow$ RBP \\ + \hhline{~-~} + \vdots & \dots~~\textit{local variables}~~\dots & \\ + \hhline{~-~} + -0x30 & 3rd arg & \\ + \hhline{~|-|~} + -0x38 & 2nd arg & \\ + \hhline{~-~} + -0x40 & 1st arg & \\ + \hhline{~-~} + \vdots & \dots~~\textit{local variables}~~\dots & \\ + \hhline{~-~} + -0x60 & rdi & \\ + \hhline{~-~} + & \dots~~\textit{local variables}~~\dots & \\ + \hhline{~-~} + $RBP-RSP$ & \textit{unknown} & $\leftarrow$ RSP \\ + \hhline{~-~} + & \cellcolor{white} & \\ + $\downarrow$ & \cellcolor{white} & \\ + \end{tabular} +\end{table} + + + +\cref{code::context::examples::func-prologue} shows \textit{sum}'s prologue. +The corresponding epilogue is displayed in \cref{code::context::examples::func-epilogue}. +The comments explain the code line by line, please read them to understand what exactly happens at each instruction. + +\begin{listing}[ht!] +\begin{minted}[escapeinside=??,linenos=false,breaklines=true]{nasm} +$7490: push ?\tikzmark{prologuestart}? rbp ; save the stack-frame pointer on the stack +$7491: mov rbp,rsp ; set the stack-frame base pointer from the stack pointer +$7494: sub rsp,0x50 ; allocate 0x50 Bytes for arguments and local variables +$7498: mov QWORD PTR [rbp-0x30],rdi ; copy 1st arg onto stack +$749c: mov QWORD PTR [rbp-0x28],rsi ; copy 2nd arg onto stack +$74a0: mov QWORD PTR [rbp-0x20],rdx ; copy 3rd arg onto stack +\end{minted} +\caption{Function Prologue with three Arguments} +\label{code::context::examples::func-prologue} +\end{listing} + +\begin{tikzpicture}[remember picture] + \draw[overlay,red,thick,dashed] (pic cs:precallto) circle [radius=7pt] node { \textbf{1} }; + \draw[overlay,red,thick,dashed] (pic cs:prologuestart) circle [radius=7pt] node { \textbf{1} }; +\end{tikzpicture} + +\begin{listing}[ht!] +\begin{minted}[linenos=true,breaklines=true]{nasm} +$74ee: mov rax,QWORD PTR [rbp-0x48] ; store return value in RAX +$74f2: add rsp,0x50 ; set stack pointer to where stack-frame pointer was stored +$74f6: pop rbp ; restore the stack-frame pointer +$74f7: ret ; return to the caller, following the address on the stack +\end{minted} +\caption{Function Epilogue} +\label{code::context::examples::func-epilogue} +\end{listing} + +\cref{fig:proc-call-example-mem} displays + +\begin{figure} +\centering +\includegraphics[width=0.95\textwidth,]{gfx/call-procedure-memory-content.png} +\caption{Memory Layout Throughout The Procedure Call Steps} +\label{fig:proc-call-example-mem} +\end{figure} + +\section{Interrupt Driven Preemptive Context Switches on \glsentrytext{amd64}} +\label{rnd::sysprog-conventions::ir-driven-preemptive-cs-amd64} +On \gls{amd64}, the \gls{CPU}'s interrupt mechanism does not switch the full context described previously, but only handles the registers that are necessary to successfully jump to the interrupt function: RFLAGS, RSP, RBP, RIP\footnote{Segment registers are neglected}. + +In this scenario, the context is stored on the \gls{stack} of the function that is interrupted. +\Cref{fig:amd64-long-mode-interrupt-stac} pictures the \gls{stack} layout on interrupt entry. +In order to leverage an interrupt for a context switch, the interrupt function needs to replace these values on the \gls{stack} with values for the new context. +CS (Code-Segment) and SS (Stack-Segment) have no effect in \gls{amd64} 64-Bit mode\cite[p.~20]{AMD64Vol1} and can remain unchanged. +The \gls{OS} developer needs to know the exact address where on the \gls{stack} this data structure has been pushed by the \gls{CPU}, and must then manipulate these addresses directly. +This type of manipulation is inherently dangerous and can not be easily checked by the \gls{compiler}. +The function that handles the interrupt must then use the instruction \textit{iretq}\cite[p.~252]{AMD64Vol2}, to make the \gls{CPU} restore the partial context from the \gls{stack} and continue to function pointed to by the RIP. + + +\begin{figure} +\centering +\includegraphics[width=0.8\textwidth]{gfx/amd64-long-mode-stack-after-interrupt.png} +\caption{Long-Mode Stack After Interrupt\cite[p.~252]{AMD64Vol2}} +\label{fig:amd64-long-mode-interrupt-stac} +\end{figure} + +For a full context-switch, the other registers that are part of the context need to be handled by the \gls{OS}'s interrupt function. + + \chapter{Research Questions} Setting up and maintaining the paging-structure, as well as allocating physical memory for the virtual pages is a complex task in the \gls{OS}. Developing this part of the \gls{OS} is error-prone, and is not well-supported by mainstream \glspl{proglang}. -\subsection{Definition Of Additional Analysis Rules To Extend Safety Checks} +\section{Definition Of Additional Analysis Rules To Extend Safety Checks} % TODO: How can Business Logical % Examples: % TLB needs to be reset on Task Change @@ -36,18 +308,19 @@ Developing this part of the \gls{OS} is error-prone, and is not well-supported b \chapter{Porting \glsentrytext{C} Vulnerabilities} \label{rnd::porting-c-vulns} -In this chapter, the examples from \autoref{TODO} ported to \gls{Rust} for evaluation. +In this chapter, the weakness manifestations from \cref{context::common-mem-safety-mistakes::manifestations} are rewritten in \gls{Rust} to learn to what level they are mitigated just by porting them. \chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} \chapter{Existing \glsentrytext{OS}-Development Projects Based On Rust} -\label{rnd::existing-os-in-rust} +\label{rnd::existing-os-dev-wity-rust} \section{Libraries} \subsection{Libfringe} % TODO: https://github.com/edef1c/libfringe + \section{Systems} \subsection{intermezzOS} \subsection{Blog OS} @@ -55,6 +328,7 @@ In this chapter, the examples from \autoref{TODO} ported to \gls{Rust} for evalu \subsection{Tock} \chapter{\glsentrytext{imezzos}: Adding Preemptive \glsentrytext{OS}-Level Multitasking} +\label{rnd::imezzos-preemptive-multitasking} \section{Timed Interrupts For Scheduling and Dispatching} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 70f17fd..39df8c0 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,192 +3,6 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{Getreu2016, -annote = {- runtime checkis are expensive - -- critical with energy restriction on the target device}, -author = {Getreu, Jens}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, -pages = {1--24}, -title = {{Embedded System Security with Rust}}, -year = {2016} -} -@article{Xu2015, -abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, -author = {Xu, Wen and Li, Juanru and Shu, Junliang and Yang, Wenbo and Xie, Tianyi and Zhang, Yuanyuan and Gu, Dawu}, -doi = {10.1145/2810103.2813637}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/From Collision To Exploitation$\backslash$: Unleashing Use-After-Free Vulnerabilities in Linux Kernel.pdf:pdf}, -isbn = {978-1-4503-3832-5}, -issn = {15437221}, -journal = {Ccs}, -keywords = {linux kernel exploit,memory collision,user-after-free vulnerability}, -pages = {414--425}, -title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilities in Linux Kernel}}, -url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, -year = {2015} -} -@inproceedings{Ma2013, -abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, -author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, -booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, -doi = {10.1109/DASC.2013.37}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Dynamic Detection Method to C-C++ Programs Memory Vulnerabilities Based on Pointer Analysis.pdf:pdf}, -isbn = {9781479933815}, -keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, -pages = {52--57}, -title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, -year = {2013} -} -@misc{Endler, -author = {Endler, Matthias}, -title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, -url = {https://github.com/mre/awesome-static-analysis} -} -@misc{MITRE-CWE, -author = {MITRE}, -title = {{CWE - Common Weakness Enumeration}}, -url = {http://cwe.mitre.org}, -urldate = {2017-08-31}, -year = {2017} -} -@article{Corporation2011, -abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, -author = {Corporation, Intel}, -doi = {10.1109/MAHC.2010.22}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf:pdf}, -isbn = {253665-057US}, -issn = {15222594}, -journal = {System}, -keywords = {253665,IA-32 architecture,Intel 64}, -number = {253665}, -title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 3}}, -volume = {3}, -year = {2011} -} -@article{Nilsson2017, -author = {Nilsson, Fredrik}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Rust-based Runtime for the Internet of Things.pdf:pdf}, -title = {{A Rust-based Runtime for the Internet of Things}}, -year = {2017} -} -@article{Szekeres2013, -abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, -author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, -doi = {10.1109/SP.2013.13}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, -isbn = {9780769549774}, -issn = {10816011}, -journal = {Proceedings - IEEE Symposium on Security and Privacy}, -pages = {48--62}, -title = {{SoK: Eternal war in memory}}, -year = {2013} -} -@article{Reed2015, -abstract = {Rust is a new systems language that uses some advanced type system features, specifically affine types and regions, to statically guarantee memory safety and eliminate the need for a garbage collector. While each individual addition to the type system is well understood in isolation and are known to be sound, the combined system is not known to be sound. Furthermore, Rust uses a novel checking scheme for its regions, known as the Borrow Checker, that is not known to be correct. Since Rust's goal is to be a safer alternative to C/C++, we should ensure that this safety scheme actually works. We present a formal semantics that captures the key features relevant to memory safety, unique pointers and borrowed references, specifies how they guarantee memory safety, and describes the operation of the Borrow Checker. We use this model to prove the soudness of some core operations and justify the conjecture that the model, as a whole, is sound. Additionally, our model provides a syntactic version of the Borrow Checker, which may be more understandable than the non-syntactic version in Rust.}, -author = {Reed, Eric}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Patina$\backslash$: A Formalization of the Rust Programming Language.pdf:pdf}, -number = {February}, -pages = {1--37}, -title = {{Patina: A Formalization of the Rust Programming Language}}, -year = {2015} -} -@book{AMD64Vol1, -author = {AMD}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, -keywords = {AMD64,SIMD,extended media instructions,legacy m}, -number = {26568}, -title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, -volume = {4}, -year = {2012} -} -@misc{MITRE-CWE-119, -author = {MITRE}, -booktitle = {2.11}, -title = {{CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer}}, -url = {http://cwe.mitre.org/data/definitions/119.html}, -urldate = {2017-08-31}, -year = {2017} -} -@article{Backus1962, -abstract = {The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele, Jr. and Gerald Jay Sussman. It was designed to have an exceptionally clear and simple semantics and few different ways to form expressions. A wide variety of programming paradigms, including imperative, functional, and message passing styles, find convenient expression in Scheme.}, -author = {Backus, J. W. and Bauer, F. L. and Green, J. and Katz, C. and McCarthy, J. and Naur, P. and Perlis, A. J. and Rutishauser, H. and Samelson, K. and Vauquois, B. and Wegstein, J. H. and van Wijngaarden, A. and Woodger, M. and van der Poel, W. L.}, -doi = {10.1007/BF01386340}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Revised report on the algorithmic language Algol 60.pdf:pdf}, -isbn = {9780521193993}, -issn = {0029599X}, -journal = {Numerische Mathematik}, -number = {1}, -pages = {420--453}, -title = {{Revised report on the algorithmic language Algol 60}}, -volume = {4}, -year = {1962} -} -@book{AMD64Vol2, -author = {AMD}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 2$\backslash$: System Programming.pdf:pdf}, -keywords = {24593,AMD64 Architecture Programmer's Manual Volume 2: S}, -number = {24592}, -title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, -volume = {1}, -year = {2012} -} -@article{Corporation2011a, -abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, -author = {Corporation, Intel}, -doi = {10.1109/MAHC.2010.22}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-vol-1-manual.pdf:pdf}, -isbn = {253665-057US}, -issn = {15222594}, -journal = {System}, -keywords = {253665,64,ia 32 architecture}, -number = {253665}, -title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 1}}, -volume = {1}, -year = {2011} -} -@article{Caballero2012, -abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, -author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, -doi = {10.1145/2338965.2336769}, -isbn = {9781450314541}, -issn = {1450314546}, -journal = {ISSTA}, -keywords = {automated testing,binary analysis,debugging,dynamic analysis}, -pages = {133}, -title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, -url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, -year = {2012} -} -@article{Balasubramanian2017, -abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, -author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, -title = {{DRAFT: System Programming in Rust: Beyond Safety}}, -year = {2017} -} -@inproceedings{Kuznetsov2014, -abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, -author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, -booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, -isbn = {9781931971164}, -pages = {147--163}, -title = {{Code-pointer integrity}}, -url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, -year = {2014} -} -@article{Levy2015a, -abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, -author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, -doi = {10.1145/2818302.2818306}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, -isbn = {9781450339421}, -journal = {PLOS: Workshop on Programming Languages and Operating Systems}, -keywords = {embedded operating systems,linear types,ownership,rust}, -pages = {21--26}, -title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, -url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, -year = {2015} -} @article{Lattner2005, abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, archivePrefix = {arXiv}, @@ -207,6 +21,33 @@ title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, url = {http://dx.doi.org/10.1007/11532378{\_}2}, year = {2005} } +@article{Levy2015a, +abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, +author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, +doi = {10.1145/2818302.2818306}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/tock-plos2015.pdf:pdf}, +isbn = {9781450339421}, +journal = {PLOS: Workshop on Programming Languages and Operating Systems}, +keywords = {embedded operating systems,linear types,ownership,rust}, +pages = {21--26}, +title = {{Ownership is Theft: Experiences Building an Embedded OS in Rust}}, +url = {http://dl.acm.org/citation.cfm?id=2818302.2818306}, +year = {2015} +} +@article{Corporation2011a, +abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, +author = {Corporation, Intel}, +doi = {10.1109/MAHC.2010.22}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-vol-1-manual.pdf:pdf}, +isbn = {253665-057US}, +issn = {15222594}, +journal = {System}, +keywords = {253665,64,ia 32 architecture}, +number = {253665}, +title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 1}}, +volume = {1}, +year = {2011} +} @misc{IEEEspectrum-proglangs, author = {IEEE}, title = {{Interactive: The Top Programming Languages 2017}}, @@ -214,6 +55,64 @@ url = {https://spectrum.ieee.org/static/interactive-the-top-programming-language urldate = {2017-09-08}, year = {2017} } +@article{Xu2015, +abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, +author = {Xu, Wen and Li, Juanru and Shu, Junliang and Yang, Wenbo and Xie, Tianyi and Zhang, Yuanyuan and Gu, Dawu}, +doi = {10.1145/2810103.2813637}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/From Collision To Exploitation$\backslash$: Unleashing Use-After-Free Vulnerabilities in Linux Kernel.pdf:pdf}, +isbn = {978-1-4503-3832-5}, +issn = {15437221}, +journal = {Ccs}, +keywords = {linux kernel exploit,memory collision,user-after-free vulnerability}, +pages = {414--425}, +title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilities in Linux Kernel}}, +url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, +year = {2015} +} +@article{Merity2016, +abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, +archivePrefix = {arXiv}, +arxivId = {1609.07843}, +author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, +eprint = {1609.07843}, +journal = {Arxiv}, +title = {{Pointer Sentinel Mixture Models}}, +url = {http://arxiv.org/abs/1609.07843}, +year = {2016} +} +@inproceedings{Ma2013, +abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, +author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, +booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, +doi = {10.1109/DASC.2013.37}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Dynamic Detection Method to C-C++ Programs Memory Vulnerabilities Based on Pointer Analysis.pdf:pdf}, +isbn = {9781479933815}, +keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, +pages = {52--57}, +title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, +year = {2013} +} +@article{Corporation2011, +abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, +author = {Corporation, Intel}, +doi = {10.1109/MAHC.2010.22}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf:pdf}, +isbn = {253665-057US}, +issn = {15222594}, +journal = {System}, +keywords = {253665,IA-32 architecture,Intel 64}, +number = {253665}, +title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 3}}, +volume = {3}, +year = {2011} +} +@article{Balasubramanian2017, +abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, +author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, +title = {{DRAFT: System Programming in Rust: Beyond Safety}}, +year = {2017} +} @article{Chisnall2015, abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, @@ -242,17 +141,97 @@ title = {{Memory safety without runtime checks or garbage collection}}, volume = {38}, year = {2003} } -@article{Merity2016, -abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, -archivePrefix = {arXiv}, -arxivId = {1609.07843}, -author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, -eprint = {1609.07843}, -journal = {Arxiv}, -title = {{Pointer Sentinel Mixture Models}}, -url = {http://arxiv.org/abs/1609.07843}, +@misc{MITRE-CWE, +author = {MITRE}, +title = {{CWE - Common Weakness Enumeration}}, +url = {http://cwe.mitre.org}, +urldate = {2017-08-31}, +year = {2017} +} +@article{Affairs2015, +author = {Affairs, Post Doctoral}, +file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, +title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, +year = {2015} +} +@inproceedings{Kuznetsov2014, +abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, +author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, +booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, +isbn = {9781931971164}, +pages = {147--163}, +title = {{Code-pointer integrity}}, +url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, +year = {2014} +} +@article{Caballero2012, +abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, +author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, +doi = {10.1145/2338965.2336769}, +isbn = {9781450314541}, +issn = {1450314546}, +journal = {ISSTA}, +keywords = {automated testing,binary analysis,debugging,dynamic analysis}, +pages = {133}, +title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, +url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, +year = {2012} +} +@book{AMD64Vol2, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 2$\backslash$: System Programming.pdf:pdf}, +keywords = {24593,AMD64 Architecture Programmer's Manual Volume 2: S}, +number = {24592}, +title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, +volume = {1}, +year = {2012} +} +@article{Nilsson2017, +author = {Nilsson, Fredrik}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Rust-based Runtime for the Internet of Things.pdf:pdf}, +title = {{A Rust-based Runtime for the Internet of Things}}, +year = {2017} +} +@article{Szekeres2013, +abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, +author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, +doi = {10.1109/SP.2013.13}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, +isbn = {9780769549774}, +issn = {10816011}, +journal = {Proceedings - IEEE Symposium on Security and Privacy}, +pages = {48--62}, +title = {{SoK: Eternal war in memory}}, +year = {2013} +} +@book{AMD64Vol1, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, +keywords = {AMD64,SIMD,extended media instructions,legacy m}, +number = {26568}, +title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, +volume = {4}, +year = {2012} +} +@article{Getreu2016, +annote = {- runtime checkis are expensive + +- critical with energy restriction on the target device}, +author = {Getreu, Jens}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, +pages = {1--24}, +title = {{Embedded System Security with Rust}}, year = {2016} } +@article{Reed2015, +abstract = {Rust is a new systems language that uses some advanced type system features, specifically affine types and regions, to statically guarantee memory safety and eliminate the need for a garbage collector. While each individual addition to the type system is well understood in isolation and are known to be sound, the combined system is not known to be sound. Furthermore, Rust uses a novel checking scheme for its regions, known as the Borrow Checker, that is not known to be correct. Since Rust's goal is to be a safer alternative to C/C++, we should ensure that this safety scheme actually works. We present a formal semantics that captures the key features relevant to memory safety, unique pointers and borrowed references, specifies how they guarantee memory safety, and describes the operation of the Borrow Checker. We use this model to prove the soudness of some core operations and justify the conjecture that the model, as a whole, is sound. Additionally, our model provides a syntactic version of the Borrow Checker, which may be more understandable than the non-syntactic version in Rust.}, +author = {Reed, Eric}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Patina$\backslash$: A Formalization of the Rust Programming Language.pdf:pdf}, +number = {February}, +pages = {1--37}, +title = {{Patina: A Formalization of the Rust Programming Language}}, +year = {2015} +} @misc{MITRE-CWE-633, author = {MITRE}, title = {{CWE-633: Weaknesses that Affect Memory}}, @@ -260,6 +239,11 @@ url = {http://cwe.mitre.org/data/definitions/633.html}, urldate = {2017-08-31}, year = {2017} } +@misc{Endler, +author = {Endler, Matthias}, +title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, +url = {https://github.com/mre/awesome-static-analysis} +} @article{Arpaci-Dusseau2015, abstract = {A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.}, author = {{Arpaci-Dusseau Remzi}, Arpaci-Dusseau Andrea}, @@ -271,9 +255,11 @@ title = {{Operating Systems: Three Easy Pieces}}, volume = {Electronic}, year = {2015} } -@article{Affairs2015, -author = {Affairs, Post Doctoral}, -file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, -title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, -year = {2015} +@misc{MITRE-CWE-119, +author = {MITRE}, +booktitle = {2.11}, +title = {{CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer}}, +url = {http://cwe.mitre.org/data/definitions/119.html}, +urldate = {2017-08-31}, +year = {2017} } diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index d1829d6..4b69b30 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -11,7 +11,10 @@ \geometry{a4paper, top=25mm, left=30mm, right=35mm, bottom=35mm, headsep=10mm, footskip=12mm} \usepackage{multirow,tabularx,tabu} -\usepackage{ctable,multirow,spreadtab} +\usepackage{spreadtab} +\usepackage{colortbl} +\usepackage[dvipsnames]{xcolor} +\usepackage{hhline} \usepackage[backend=biber,style=numeric,citestyle=numeric,url=true]{biblatex} \addbibresource{thesis.bib} @@ -19,23 +22,37 @@ %\usepackage[hyphens]{url} \Urlmuskip = 0mu plus 1mu -\hyphenpenalty=500 -\tolerance=10000 +%\hyphenpenalty=1 +\pretolerance=5000 +\tolerance=5000 +%\exhyphenpenalty=1 \usepackage[numberedsection,toc,numberline,nopostdot]{glossaries} \makenoidxglossaries \usepackage{listings} +\providecommand*{\listingautorefname}{Listing} +\usepackage{minted} \usepackage{graphicx} +\usepackage{placeins} +\usepackage{tikz} +\usetikzlibrary{tikzmark,mindmap} +\usetikzlibrary{chains,shapes.arrows, arrows, positioning,decorations.pathreplacing,bending} +\usetikzlibrary{calc} +\usepackage{smartdiagram} \usepackage{color} +\usepackage{caption} +\usepackage{subcaption} + +\tikzset{/minted/basename/.initial=minted} +\appto\theFancyVerbLine{\tikzmark{\pgfkeysvalueof{/minted/basename}\arabic{FancyVerbLine}}} + \usepackage[parfill]{parskip} \usepackage{amsmath} -\newcommand{\iitemA}{\setlength\itemindent{0pt}\item} -\newcommand{\iitemB}{\setlength\itemindent{25pt}\item} -\newcommand{\iitemC}{\setlength\itemindent{50pt}\item} +\usepackage{etoolbox} \newcommand{\topic}{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis} @@ -103,9 +120,13 @@ \titleformat{\chapter}[hang]{\normalfont\Large\bfseries}{\thechapter}{0.5cm}{} \usepackage{hyperref} +\usepackage{cleveref} \makeatletter +\newcommand{\cnameref}[1]{\cref{#1} \textit{(\nameref{#1})}} +\newcommand{\Cnameref}[1]{\Cref{#1} \textit{(\nameref{#1})}} + %\renewcommand\paragraph{\startsection{paragraph}{4}{\z}% % {-3.25ex\plus -1ex \minus -.2ex}% % {0.0001pt \plus 0.2ex}% @@ -114,6 +135,60 @@ {-3.25ex\plus -1ex \minus -.2ex}% {0.0001pt \plus 0.2ex}% {\normalfont\normalsize\bfseries}} + +\newcommand{\iitemA}{\setlength\itemindent{0pt}\item} +\newcommand{\iitemB}{\setlength\itemindent{25pt}\item} +\newcommand{\iitemC}{\setlength\itemindent{50pt}\item} + +\let\Partmark\partmark +\def\partmark#1{\def\Partname{#1}\Partmark{#1}} +\let\Chaptermark\chaptermark +\def\chaptermark#1{\def\Chaptername{#1}\Chaptermark{#1}} +\let\Sectionmark\sectionmark +\def\sectionmark#1{\def\Sectionname{#1}\Sectionmark{#1}} +\let\Subsectionmark\subsectionmark +\def\subsectionmark#1{\def\Subsectionname{#1}\Subsectionmark{#1}} +\let\Subsubsectionmark\subsubsectionmark +\def\subsubsectionmark#1{\def\Subsubsectionname{#1}\Subsubsectionmark{#1}} + + +\newenvironment{compactminted}{% + \VerbatimEnvironment + \let\FV@ListVSpace\relax + \begin{minted}}% + {\end{minted}} + +\tikzset{west above/.code=\tikz@lib@place@handle@{#1}{south west}{0}{1}{north west}{1}} +\tikzset{west below/.code=\tikz@lib@place@handle@{#1}{north west}{0}{-1}{south west}{1}} +\tikzset{east above/.code=\tikz@lib@place@handle@{#1}{south east}{0}{1}{north east}{1}} +\tikzset{east below/.code=\tikz@lib@place@handle@{#1}{north east}{0}{-1}{south east}{1}} + +% Tikzmark code helpers { +\newcommand{\tikzmarkprefix}{\pgfkeysvalueof{/tikz/tikzmark prefix}} +\newcommand{\tikzmarkcountprep}[1]{% +\tikzset{tikzmark prefix=#1}% +%\tikzset{tikzmark prefixes/#1/counter/.initial=0}% +\newcounter{Tikzcounter#1}% +} +\newcommand{\tikzmarkcount}[1][\tikzmarkprefix]{% +\stepcounter{Tikzcounter#1}% +\tikzmark{\arabic{Tikzcounter#1}}% +} +\newcommand{\tikzmarkgetcount}[1][\tikzmarkprefix]{% +\expandafter\arabic\expandafter{Tikzcounter#1}% +} +\newcommand{\tikzmarkcircle}[1]{% + \tikz[baseline=-0.77ex]\fill circle[fill=black,radius=1.1ex] node[font=\small,color=white]{#1}; +} +\newcommand{\tikzmarkdrawcircles}{% + \begin{tikzpicture}[remember picture,overlay] + \foreach \x in {1,...,\expandafter\arabic\expandafter{Tikzcounter\expandafter\tikzmarkprefix}} + \fill (pic cs:\x)+(1.3ex,0.5ex) circle[fill=black,radius=1.1ex,anchor=west] node[font=\small,color=white]{$\x$}; + \end{tikzpicture}% +} + +% } + \makeatother \include{glossary} From 12b71b37449593e0f37884245b1451084774cdfc Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Tue, 19 Sep 2017 10:41:39 +0200 Subject: [PATCH 116/126] src/code: add stackhandling examples in C and Rust --- src/code/stack_handling.c/makefile | 28 +++++++ src/code/stack_handling.c/stack_handling.c | 48 +++++++++++ src/code/stack_handling.rs/Cargo.lock | 4 + src/code/stack_handling.rs/Cargo.toml | 10 +++ src/code/stack_handling.rs/build.rs | 10 +++ src/code/stack_handling.rs/src/main.rs | 92 ++++++++++++++++++++++ 6 files changed, 192 insertions(+) create mode 100644 src/code/stack_handling.c/makefile create mode 100644 src/code/stack_handling.c/stack_handling.c create mode 100644 src/code/stack_handling.rs/Cargo.lock create mode 100644 src/code/stack_handling.rs/Cargo.toml create mode 100644 src/code/stack_handling.rs/build.rs create mode 100644 src/code/stack_handling.rs/src/main.rs diff --git a/src/code/stack_handling.c/makefile b/src/code/stack_handling.c/makefile new file mode 100644 index 0000000..c8b1fa9 --- /dev/null +++ b/src/code/stack_handling.c/makefile @@ -0,0 +1,28 @@ +TARGET = stack_handling +LIBS = +CC = clang +CFLAGS = -Wall -fomit-frame-pointer + +.PHONY: default all clean + +default: $(TARGET) +all: default objdump + +OBJECTS = $(patsubst %.c, %.o, $(wildcard *.c)) +HEADERS = $(wildcard *.h) + +%.o: %.c $(HEADERS) + $(CC) $(CFLAGS) -c $< -o $@ + +.PRECIOUS: $(TARGET) $(OBJECTS) + +$(TARGET): $(OBJECTS) + $(CC) $(OBJECTS) $(CFLAGS) $(LIBS) -o $@ + +clean: + -rm -f *.o + -rm -f $(TARGET) + -rm -f objdump + +objdump: $(TARGET) + objdump --no-show-raw-insn --disassembler-options=intel-nmemonic -d $(TARGET) > $@ \ No newline at end of file diff --git a/src/code/stack_handling.c/stack_handling.c b/src/code/stack_handling.c/stack_handling.c new file mode 100644 index 0000000..2cf0629 --- /dev/null +++ b/src/code/stack_handling.c/stack_handling.c @@ -0,0 +1,48 @@ +#include +#include + +static int64_t passthrough(int64_t a) { return a; } + +static int64_t neg(int64_t a) { return -a; } + +static int64_t neg_extravar(int64_t a) { + int64_t neg = -a; + return neg; +} + +static int64_t rec_many_args(int64_t rdi, int64_t rsi, int64_t rdx, int64_t rcx, + int64_t r8, int64_t r9, int64_t s1) { + if (s1 == INT64_MIN) { + return INT64_MIN; + } else { + return rec_many_args(rdi, rsi, rdx, rcx, r8, r9, s1 - 1); + } +} + +static int64_t many_args(int64_t rdi, int64_t rsi, int64_t rdx, int64_t rcx, + int64_t r8, int64_t r9, int64_t s1) { + + int64_t s2 = + rec_many_args(0xfffffffffffffff0, 0xfffffffffffffff1, 0xfffffffffffffff3, + 0xfffffffffffffff4, 0xfffffffffffffff5, 0xfffffffffffffff6, + INT64_MIN + 80000); + return s2; +} + +static void printer(int64_t *a, int64_t *b) { + fprintf(stdout, "%" PRId64 " = -%" PRId64 "\n", *a, *b); +} + +static void caller(void) { + int64_t a = passthrough(INT64_MAX); + int64_t b = neg(a); + printer(&a, &b); +} + +int main(void) { + caller(); + many_args(0xfffffffffffffff0, 0xfffffffffffffff1, 0xfffffffffffffff3, + 0xfffffffffffffff4, 0xfffffffffffffff5, 0xfffffffffffffff6, + 0xfffffffffffffff7); + return 0; +} \ No newline at end of file diff --git a/src/code/stack_handling.rs/Cargo.lock b/src/code/stack_handling.rs/Cargo.lock new file mode 100644 index 0000000..ace96fe --- /dev/null +++ b/src/code/stack_handling.rs/Cargo.lock @@ -0,0 +1,4 @@ +[root] +name = "stack_handling" +version = "0.1.0" + diff --git a/src/code/stack_handling.rs/Cargo.toml b/src/code/stack_handling.rs/Cargo.toml new file mode 100644 index 0000000..cd78041 --- /dev/null +++ b/src/code/stack_handling.rs/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "stack_handling" +version = "0.1.0" +authors = ["Stefan Junker "] +build = "build.rs" + +[dependencies] + +[profile.dev] +panic = "abort" \ No newline at end of file diff --git a/src/code/stack_handling.rs/build.rs b/src/code/stack_handling.rs/build.rs new file mode 100644 index 0000000..220a697 --- /dev/null +++ b/src/code/stack_handling.rs/build.rs @@ -0,0 +1,10 @@ +// build.rs + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::Path; + +fn main() { + println!("build.rs ran"); +} \ No newline at end of file diff --git a/src/code/stack_handling.rs/src/main.rs b/src/code/stack_handling.rs/src/main.rs new file mode 100644 index 0000000..2054f6c --- /dev/null +++ b/src/code/stack_handling.rs/src/main.rs @@ -0,0 +1,92 @@ +// #[derive(Debug)] +// struct Stat { +// sum: isize, +// count: isize, +// avg: isize, +// min: isize, +// max: isize, +// } +// +// macro_rules! sum { +// () => (0); +// ($e:expr) => ( $e ); +// ($head:expr, $($tail:expr),*) => { $head + sum!($($tail),*)}; +// } +// +// macro_rules! count { +// () => (0); +// ($e:expr) => ( 1 ); +// ($head:expr, $($tail:expr),*) => { 1 + count!($($tail),*) }; +// } +// +// #[inline(never)] +// fn push(a: isize, b: isize, c: isize) -> isize { +// sum!(a, b, c) +// } +// +// macro_rules! avg{ +// ($($all:expr),+) => { +// sum!($($all),+) / count!($($all),+) +// }; +// } +// +// macro_rules! max { +// ($x:expr) => ( $x ); +// ($x:expr, $($xs:expr),+) => { +// { +// use std::cmp::max; +// max($x, max!( $($xs),+ )) +// } +// }; +// } +// +// macro_rules! min { +// ($x:expr) => ( $x ); +// ($x:expr, $($xs:expr),+) => { +// { +// use std::cmp::min; +// min($x, min!( $($xs),+ )) +// } +// }; +// } +// #[inline(never)] +// fn stats(a: isize, b: isize, c: isize) -> Stat { +// let sum = sum(a, b, c); +// let count = count!(a, b, c); +// let avg = avg!(a, b, c); +// let min = min!(a, b, c); +// let max = max!(a, b, c); +// Stat { +// sum, +// count, +// avg, +// min, +// max, +// } +// } +// +// #[inline(never)] +// fn sum(a: isize, b: isize, c: isize) -> isize { +// sum!(a, b, c) +// } +#[inline(never)] +fn passthrough(a: isize) -> isize { + let b = a; + b +} + +#[inline(never)] +fn caller() { + let a = passthrough(1); + let b = a * 2; + printer(&a, &b); +} + +#[inline(never)] +fn printer(a: &isize, b: &isize) { + println!("2*{}={}", a, b); +} + +fn main() { + caller(); +} \ No newline at end of file From 83c5540a422c28242fd86a8e36f7b38147f9d449 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Thu, 21 Sep 2017 21:53:48 +0200 Subject: [PATCH 117/126] context/rnd: paging/stack/heap/virtualization --- src/code/stack_handling.c/stack_handling.c | 25 +- src/docs/glossary.tex | 230 ++++-- src/docs/parts/context/context.tex | 712 ++++++++++++++---- .../eval_and_conclusion.tex | 54 +- .../research_and_development.tex | 261 ++++--- src/docs/thesis.bib | 5 + src/docs/thesis.tex | 65 +- src/docs/title.tex | 2 +- 8 files changed, 972 insertions(+), 382 deletions(-) diff --git a/src/code/stack_handling.c/stack_handling.c b/src/code/stack_handling.c/stack_handling.c index 2cf0629..a364397 100644 --- a/src/code/stack_handling.c/stack_handling.c +++ b/src/code/stack_handling.c/stack_handling.c @@ -39,10 +39,27 @@ static void caller(void) { printer(&a, &b); } +static void shell() { + char *argv[] = {}; + execve("/bin/sh", argv, NULL); +} + +static void simple_printer(void) { fprintf(stderr, "I wonder who called me?"); } + +static void modifier(void) { + uint64_t *p; + // without frame-pointer + *(&p + 1) = (uint64_t *)simple_printer; + + // with frame-pointer + *(&p + 2) = (uint64_t *)simple_printer; +} + int main(void) { - caller(); - many_args(0xfffffffffffffff0, 0xfffffffffffffff1, 0xfffffffffffffff3, - 0xfffffffffffffff4, 0xfffffffffffffff5, 0xfffffffffffffff6, - 0xfffffffffffffff7); + // caller(); + // many_args(0xfffffffffffffff0, 0xfffffffffffffff1, 0xfffffffffffffff3, + // 0xfffffffffffffff4, 0xfffffffffffffff5, 0xfffffffffffffff6, + // 0xfffffffffffffff7); + modifier(); return 0; } \ No newline at end of file diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 6361a80..88315eb 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -1,9 +1,18 @@ % // vim: set ft=tex: +\newglossaryentry{bbox} { + name = {busybox}, + long = {BusyBox: The Swiss Army Knife of Embedded \gls{LX}}, + description = {% + BusyBox combines tiny versions of many common UNIX utilities into a single small executable% + }, + first = {\glsentrylong{bbox}} +} + \newglossaryentry{Rust} { name = {Rust}, long = {the Rust programming language}, - description = { + description = {% Statically typed programming language that uses a new concept of variable ownership and reference tracking. Largely explain in \cref{context::rust}. }, first = {\glsentrylong{Rust}} @@ -11,7 +20,7 @@ \newglossaryentry{proglang} { name = {programming language}, - description = { + description = {% A well-defined language used to write software. Hundreds of language exists, each with focus on different aspects like comfort for humans, size, speed, safety, etc. }, } @@ -20,7 +29,7 @@ \newglossaryentry{compiler}{ name = compiler, long = {source- to machine-code compiler}, - description = { + description = {% A program that can transform software source code to executable machine code. Typically targetted for a \glsentryname{proglang} or a family of \glspl{proglang}. }, @@ -30,7 +39,7 @@ \newglossaryentry{addrspace}{ name = address space, long = bound address range in memory, - description = { + description = {% A logical entity that represents a section of memory, specified with a start address and either by end address or length given in a standardize unit }, first = {\glsentrylong{addrspace}} @@ -38,14 +47,21 @@ \newglossaryentry{stack}{ name = stack, - description = { + description = {% TODO }, } +\newglossaryentry{sf}{ + name = stack-frame, + description = {% + Procedure data and meta-data (see \cref{lst:amd64-stack-frame-components})% + }, +} + \newglossaryentry{heap}{ name = heap, - description = { + description = {% TODO }, } @@ -53,67 +69,67 @@ \newglossaryentry{api}{ name = API, long = {Application Programming Interface}, - description = { + description = {% }, first = {\glsentrylong{api}} } -\newglossaryentry{OS}{ +\newglossaryentry{os}{ name = OS, long = Operating System, - description = { + description = {% The software that manages the system's hardware ressources. - Other \glspl{app} can access the ressources only through the interface provided by the \gls{OS}. + Other \glspl{app} can access the ressources only through the interface provided by the \gls{os}. }, - first = {\glsentrylong{OS}} + first = {\glsentrylong{os}} } \newglossaryentry{fs}{ name = filesystem, - description = { + description = {% TODO }, } \newglossaryentry{virt}{ name = virtualization, - description = { + description = {% TODO }, } \newglossaryentry{OSS}{ name = Open-Source Software, - description = { + description = {% TODO }, } \newglossaryentry{osvirt}{ name = Operating System-Level Virtualization, - description = { + description = {% TODO }, } \newglossaryentry{hypervisor}{ name = Hypervisor, - description = { + description = {% TODO }, } \newglossaryentry{VM}{ name = Virtual Machine, - description = { + description = {% TODO }, } \newglossaryentry{LX}{ name = Linux, - description = { + description = {% is a generic term referring to the family of Unix-like computer operating systems that use the Linux kernel }, @@ -122,108 +138,95 @@ \newglossaryentry{android}{ name = Android, - description = {a mobile \gls{OS} based on \gls{LX}}, + description = {a mobile \gls{os} based on \gls{LX}}, first = {\glsentryname{android}, \glsentrydesc{android}}, } \newglossaryentry{imezzos}{ name = intermezzOS, - description = { + description = {% TODO }, } \newglossaryentry{redoxos}{ name = Redox OS, - description = { + description = {% TODO }, } \newglossaryentry{blogos}{ name = Blog OS, - description = { + description = {% TODO }, } \newglossaryentry{tockos}{ name = Tock OS, - description = { + description = {% TODO }, } \newglossaryentry{rootfs}{ name = RootFS, - description = { + description = {% % TODO }, } \newglossaryentry{lxns}{ name = Linux Namespace, - description = { + description = {% entitiy that holds a specific set of process attributes and can be set per process }, } \newglossaryentry{lxcap}{ name = Linux Capability, - description = { - entitiy that holds a specific set of process attributes and can be set per process, mainly to establish a relationship between processes and \gls{OS} resources + description = {% + entitiy that holds a specific set of process attributes and can be set per process, mainly to establish a relationship between processes and \gls{os} resources }, plural = Linux Capabilities, } \newglossaryentry{lxvfs}{ name = Linux VFS, - description = { + description = {% Virtual Filesystem Switch, a filesystem abstraction layer in \gls{LX}. }, } \newglossaryentry{BSD}{ name = BSD, - description = { + description = {% TODO } } \newglossaryentry{computer}{ name = Computer, - description = { + description = {% is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format } } -\newglossaryentry{app}{ - name=software-application, - description={ - TODO - } -} - -\newglossaryentry{program} { - name = {program}, - description = { - A set of logically grouped instructions. - }, -} \newglossaryentry{pm}{ - name=package manager, - description={ + name = package manager, + description = {% TODO } } \newglossaryentry{sac}{ - name=Software Application Container, - description={ + name = Software Application Container, + description = {% The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{sacr}. The term is nuanced from \gls{appc} defined by the \gls{appcorg}. The \gls{appcorg} is a community driven effort to create an open, standardized specification for developers and users of \gls{sac} technology. @@ -232,57 +235,57 @@ } } \newglossaryentry{saci}{ - name=Software Application Container Image, - description={ + name = Software Application Container Image, + description = {% An archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application. } } \newglossaryentry{sacr}{ - name=Software Application Container Runtime, - description={ + name = Software Application Container Runtime, + description = {% An application program (suite) that understands how to run the software inside an \gls{saci}. } } \newglossaryentry{LXC}{ - name=LXC, - description={ + name = LXC, + description = {% TODO } } \newglossaryentry{Docker}{ - name=Docker, - description={ + name = Docker, + description = {% A very popular \gls{sac} platform and application suite, providing functionality to build and deploy Docker specific \glspl{saci}. } } \newglossaryentry{systemd-nspawn}{ - name=systemd-nspawn, - description={ + name = systemd-nspawn, + description = {% TODO } } \newglossaryentry{rkt}{ - name=rkt, - description={ + name = rkt, + description = {% TODO } } \newglossaryentry{appcorg}{ - name=App Container Organisation, - description={ + name = App Container Organisation, + description = {% Organisation for the App Container specification, including the schema and associated tooling. } } \newglossaryentry{appc}{ - name=App Container, - description={ + name = App Container, + description = {% Specific variant of an \glsentrytext{sac} defined by the \glsentrytext{appcorg}. } } @@ -315,22 +318,22 @@ } \newglossaryentry{C}{ - name=C, - , description={ + name = C, + , description = {% TODO C programming language, } } \newglossaryentry{C++}{ - name=C++, - , description={ + name = C++, + , description = {% A \glsentrytext {proglag} based on \glsentrytext{C}, enahnced by features like object-orientation, lambdas, and much more. } } \newglossaryentry{asm}{ - name=Assembly programming language, - description={ + name = Assembly programming language, + description = {% TODO ASM } } @@ -338,41 +341,110 @@ \newglossaryentry{amd64}{ name = AMD64, long = AMD64, - description={ + description = {% TODO AMD64 }, first = {\glsentrylong{amd64}}, } -\newglossaryentry{CPU}{ +\newglossaryentry{cpu}{ name = CPU, long = Central Processing Unit, - description={ - TODO CPU + description = {% + TODO cpu }, - first = {\glsentrylong{CPU}}, + first = {\glsentrylong{cpu}}, +} + + +\newglossaryentry{tlb}{ + name = TLB, + long = Translation Lookaside Buffer, + description = {% + TODO tlb + }, + first = {\glsentrylong{tlb}}, } \newglossaryentry{MMU}{ name = MMU, long = Memory Management Unit, - description={ + description = {% TODO MMU }, first = {\glsentrylong{MMU}}, } \newglossaryentry{sysadmin}{ - name=System Administrator - , description={ + name = System Administrator + , description = {% TODO sysadmin } } \newglossaryentry{realtime}{ - name=System Administrator - , description={ + name = realtime + , description = {% TODO realtime } } +\newglossaryentry{app}{ + name = software-application, + description = {% + A bundle of one or multiples \gls{program} intended to solve a specific use-case. + } +} + +\newglossaryentry{task}{ + name = task + , description = {% + Generic term for any unit of work. + In the context of this thesis, it may be used for any of \glsentrytext{program}, \glsentrytext{process}, \glsentrytext{thread}, \glsentrytext{app}. + } +} + +\newglossaryentry{program}{ + name = program + , description = {% + A group of instructions that can be executed by the \glsentryname{cpu}. + } +} + +\newglossaryentry{process}{ + name = process + , description = {% + A Program in execution. + } +} + +\newglossaryentry{thread}{ + name = thread + , description = {% + A defined path of instructions within a process. + It can span from a part of a procedure up to the whole program of the process. + Threads can be identified in the program code by hypothetical execution paths. + The thread can only be executed by spawning a process in such a way that the specific thread in the program will be executed, e.g. by invoking specific arguments. + } +} + +\newglossaryentry{procedure}{ + name = procedure + , description = {% + An addressable subgroup of instructions in a program that contains specific functionality. + } +} + +\newglossaryentry{function}{ + name = function + , description = {% + See Procedure. + } +} + +\newglossaryentry{job}{ + name = job + , description = {% + A specific unit of work, specifying one or multiple programs to execute along with the arguments to be passed to them. + } +} diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index bc13453..3477de8 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -3,9 +3,9 @@ \label{context::introduction} -This thesis studies the feasibility of using compile-time code analysis, as found in \gls{Rust}'s \gls{compiler}, for ensuring memory-safety within an \gls{OS} kernel. -This study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{OS} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for all other \glspl{app}. -For this the \gls{OS} is the only \gls{app} that required unrestricted access to these resources, with the responsibility of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. +This thesis studies the feasibility of using compile-time code analysis, as found in \gls{Rust}'s \gls{compiler}, for ensuring memory-safety within an \gls{os} kernel. +This study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{os} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for all other \glspl{app}. +For this the \gls{os} is the only \gls{app} that required unrestricted access to these resources, with the responsibility of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. The increasing number of vulnerabilities based on memory-safety issues in \glspl{app}, as presented in \cref{context::common-mem-safety-mistakes::cwe::statistics}, is a major motivator for working on this topic. @@ -15,16 +15,13 @@ The increasing number of vulnerabilities based on memory-safety issues in \glspl % Hypotheses % A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. -%TODO: mention paper's by tockos team -%TODO: mention electrolyte, formal verification for Rust - -According to my best-effort literature research in Q1/2017, the hypothesis that \textit{Rust's static code analysis can guarantee memory safety in the \gls{OS}} has not been studied explicitly. -This is to my surprise, because as explained in \cref{context::introduction::memory-safety}, memory-safety in \gls{OS} development is critical, and \gls{Rust} offers attractive features that might bring improvements, which is covered in \cref{context::rust}. +According to my best-effort literature research in Q1/2017, the hypothesis that \textit{Rust's static code analysis can guarantee memory safety in the \gls{os}} has not been studied explicitly. +This is to my surprise, because as explained in \cref{context::introduction::memory-safety}, memory-safety in \gls{os} development is critical, and \gls{Rust} offers attractive features that might bring improvements, which is covered in \cref{context::rust}. The hypothesis cannot be trivially approved or denied, which drives the research efforts for my final thesis project. -Besides this specific hypothesis, many implementations of \glspl{OS} with \gls{Rust} have appeared in public. +Besides this specific hypothesis, many implementations of \glspl{os} with \gls{Rust} have appeared in public. Their purposes range from proof-of-concept and educational work like \gls{imezzos} and \gls{blogos}, to implementations that aim to be production grade software like \gls{redoxos} and \gls{tockos} \cite{Levy2015a}. -These implementations are subject to evaluation in \cref{rnd::existing-os-in-rust} +These implementations are subject to evaluation in \cref{rnd::existing-os-dev-with-rust} The final results will be of qualitative nature, captured by analyzing the existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. In addition to the sole analysis of \gls{Rust}-implementations, comparisons will be made, discerning the level of memory safety guarantees gained over similarly intending implementations in \gls{C}. @@ -34,23 +31,23 @@ In addition to the sole analysis of \gls{Rust}-implementations, comparisons will Memory-safety is a term that is only vaguely defined in general, thus a definition is given for the context of this thesis. For a thorough understanding of the issues discussed further in this document, it might be helpful to review the basics of how memory is used in current computer systems. -For decades computer systems, more specifically their \glspl{CPU}, were designed to execute instructions that were previously loaded into volatile main memory, typically from a secondary, persistent memory. +For decades computer systems, more specifically their \glspl{cpu}, were designed to execute instructions that were previously loaded into volatile main memory, typically from a secondary, persistent memory. These instructions are themselves able to alter the very main memory they are stored at, which allows for great flexibility but also involves the risk of corrupting a consistent chain of instructions or other memory content like data. -As any other \gls{app}, the \gls{OS} is loaded and executed in form of one or multiple sets of logically grouped instructions, called \glspl{program}. -Loading the \gls{OS}'s program into memory is not the responsibility of the \gls{OS}, it belongs to the components earlier in the boot process, namely the boot loader and system firmware. -The \gls{OS} takes over the responsibility to protect the main and secondary memory as soon as the bootloader has loaded the \gls{OS} and has jumped to its first instruction. -From this point, loading further programs into main memory is done by the \gls{OS}, either according to scheduled jobs set up by the \gls{sysadmin}, or based on well-defined events which can be triggered by any form of input via the system's interfaces. -For example, the \gls{OS} can load and execute a program stored on the hard-disk, after the user has given the appropriate instructions via a terminal. +As any other \gls{app}, the \gls{os} is loaded and executed in form of one or multiple sets of logically grouped instructions, called \glspl{program}. +Loading the \gls{os}'s program into memory is not the responsibility of the \gls{os}, it belongs to the components earlier in the boot process, namely the boot loader and system firmware. +The \gls{os} takes over the responsibility to protect the main and secondary memory as soon as the bootloader has loaded the \gls{os} and has jumped to its first instruction. +From this point, loading further programs into main memory is done by the \gls{os}, either according to scheduled jobs set up by the \gls{sysadmin}, or based on well-defined events which can be triggered by any form of input via the system's interfaces. +For example, the \gls{os} can load and execute a program stored on the hard-disk, after the user has given the appropriate instructions via a terminal. The execution of other programs is potentially dangerous, because they might attempt to access the memory content of other programs and their data. -It is the responsibility of the \gls{OS} to prevent such executed programs from being able to mutually interfere with memory content that is not theirs, keeping the memory in a safe state at all times \footnote{This does not include memory-safety \textit{within} each of these executed programs, as the \gls{OS} has no pertinent knowledge of the program's intentions.}. -This requires an extensive amount of care and foresight from the developers of the \gls{OS}, to ensure memory consistency in any of the various events and combinations thereof that might possibly occur at runtime. +It is the responsibility of the \gls{os} to prevent such executed programs from being able to mutually interfere with memory content that is not theirs, keeping the memory in a safe state at all times \footnote{This does not include memory-safety \textit{within} each of these executed programs, as the \gls{os} has no pertinent knowledge of the program's intentions.}. +This requires an extensive amount of care and foresight from the developers of the \gls{os}, to ensure memory consistency in any of the various events and combinations thereof that might possibly occur at runtime. -\subsection{A Definition Of Memory-Safety For \glsentryplural{OS}} +\subsection{A Definition Of Memory-Safety For \glsentryplural{os}} \label{context::introduction::memory-safety::def} -If the \gls{OS} is memory-safe, any program, whether it is part of the \gls{OS} or any installed \gls{app}, is only able to access its allocated memory regions. -Additionally, if the \gls{OS} supports shared memory regions, each shared memory region may only be accessible by programs that have been granted access to it. +If the \gls{os} is memory-safe, any program, whether it is part of the \gls{os} or any installed \gls{app}, is only able to access its allocated memory regions. +Additionally, if the \gls{os} supports shared memory regions, each shared memory region may only be accessible by programs that have been granted access to it. \section{Memory-Safety Violation in Software} \label{context::introduction::memory-safety-violation-in-sw} @@ -71,26 +68,26 @@ This aspect is relevant to assessing the origins of memory-safety related errors The following assumptions are made based on common sense \begin{itemize} \item{No human is born as a flawless software engineer.} -\item{Beginners will start writing programs before they master this skill in perfection.} +\item{Beginners will start writing production software before they master programming in perfection.} \item{With each generation of humans there will always be new beginners that will start learning from scratch.} \item{Capabilities and motivation vary significantly between individuals.} \item{Less capable or motivated individuals will eventually write software for production use.} \item{Education is not ideal.} \end{itemize} -Combining these assumptions, it cannot generally be assumed that every beginner that writes software has learned about the involved risks, and is determined and capable to ensure memory-safety and other high quality standards in their software. +Combining these assumptions, it cannot generally be assumed that every beginner that writes software has learned about the involved risks, and is determined and capable to ensure memory-safety and other high quality standards in their software. From my personal experience with software developers and students of software engineering, I have received the impression that many do not prioritize safety in their software. -The most severe example for this in my personal career is a former team partner in one of our \gls{C}/\gls{C++} programming courses. +One severe example for this in my personal career so far is a former team partner in one of our \gls{C}/\gls{C++} programming courses. Despite the fact that the professor instructed us to use valgrind\footnote{a runtime memory analyzer and debugger} to verify our programs, my partner was satisfied with the result after writing the algorithms to his best understanding and correcting all errors detected by the \gls{compiler}. Discussing the topic with him did not lead to any understanding on his side, and even after verifying that his program had easily detectable memory issues, he insisted on the correct result of the algorithm and pointed out the lack of time. -I realized similar mindset in some of the other teams. +I realized similar mindset in some of the other teams. This personal experience is no scientific proof nor is it statistically significant. It does create a feeling of insecurity, because if their software is distributed widely a few of these people are enough to risk the security of thousands of systems. A professor and co-author of \citetitle{Arpaci-Dusseau2015} gives the following warning about this issue: -\textit{"Just because a program compiled(!) or even ran once or many times correctly does not mean the program is correct. Many events may have conspired to get you to a point where you believe it works, but then some- thing changes and it stops. A common student reaction is to say (or yell) “But it worked before!” and then blame the compiler, operating system, hardware, or even (dare we say it) the professor. But the problem is usually right where you think it would be, in your code. Get to work and debug it before you blame those other components."}\cite[p.~127]{Arpaci-Dusseau2015} +\textit{"Just because a program compiled(!) or even ran once or many times correctly does not mean the program is correct. Many events may have conspired to get you to a point where you believe it works, but then something changes and it stops. A common student reaction is to say (or yell) “But it worked before!” and then blame the compiler, operating system, hardware, or even (dare we say it) the professor. But the problem is usually right where you think it would be, in your code. Get to work and debug it before you blame those other components."}\cite[p.~127]{Arpaci-Dusseau2015} Plenty of educational, economical or methodological solutions are imaginable for this problem. Higher focus on safety and testing in education, enforced internal company guidelines, or industry wide third party software certification requirements can be attempted. @@ -99,80 +96,247 @@ For this thesis such constraints are out of scope, and the focus is on examining \subsection{Technical Aspect} The problem on the technical side is that the \gls{compiler} is not able to detect all errors that are in the source code and the human was able to produce an executable program. The resulting executable program might merely serve its purpose, and can contain severe technical mistakes that are not considered an error by the \gls{compiler}. -This is especially likely using low-abstraction languages like \gls{C} and \gls{C++} for \gls{OS} development, where technical mistakes and intended behavior are very difficult to distinguish. +This is especially likely using low-abstraction languages like \gls{C} and \gls{C++} for \gls{os} development, where technical mistakes and intended behavior are very difficult to distinguish. The goal of this thesis is to find out if the \gls{Rust} \gls{compiler} is able to mitigate this specific problem. \chapter{OS Development Concepts} -This chapter explains concepts used in \gls{OS} development today, and is a direct preparation for the upcoming \cref{context::common-mem-safety-mistakes}, which explains specific weaknesses that result from made memory-management mistakes in the attempt to implement these concepts. -Since the \gls{OS} manages the system's hardware directly, some of the implementation and design choices depend on the underlying hardware architecture. -For a full understanding the hardware implications are also outlined in this document. -To bound the extent of this and the following chapters, the explanations are limited to one contemporary architecture, \gls{amd64}, and further narrowed down by focusing on the operation in 64-Bit Long Mode\cite[p.~18]{AMD64Vol2}. +\label{context::os-dev-concepts} +In order to protect the memory of each executed program according to \cref{context::introduction::memory-safety::def}, the \gls{os} must be designed developed, and tested carefully. +This chapter explains concepts used in \gls{os} development and points out memory-safety critical operations without getting into great detail. +This is done in preparation for the next \cref{context::common-mem-safety-mistakes}, which explains weaknesses that result from memory management mistakes that were made in the attempt to implement the following concepts. -\section{Resource Management by Virtualization} -Resource management in \gls{OS} development is different than in generic \glspl{app} development. -The \gls{OS} - typically the lowest software layer - must know the very details of the system's hardware and perform raw access to it. +Since the \gls{os} manages the system's hardware directly, many of the implementation and design choices depend on hardware design and architecture. +To bound the extent of this document, the explanations are limited to one contemporary architecture, \gls{amd64}, and further narrowed down by focusing on the operation in 64-Bit Long Mode\cite[p.~18]{AMD64Vol2}. +For a full understanding of the \gls{os}'s design, some hardware implications are included although held to a minimum in this chapter. +More hardware specific details are required are explained and explained throughout \cnameref{rnd} along with concrete \gls{os} development examples. -\subsection{Layers} -The \gls{OS} creates a virtualization\footnote{The term \textit{virtualization} within the \gls{OS} the jargon can be understood as abstraction} layer on top of architecture specific code and abstracts it in form of an internal \gls{api}. -This layer abstracts at least the \gls{CPU} and memory\cite{Arpaci-Dusseau2015}. -Higher-level, complex management algorithms can then implement hardware-independent on top of this \gls{api}, making it reusable across different architectures. -The \gls{OS} then provides an \gls{api} through which \glspl{app} can request access to these virtualized resources. -This allows \gls{app} developers to develop and run different programs easily and presumably safely on the \gls{OS}, agnostic of the architecture. +\section{Virtualization} +The \gls{os} is considered the lowest software layer on the system and must know the very details of the system's hardware resources and perform raw access to it. +The goal to make \gls{os} is the only software on a system that is required to have this particular knowledge, so that other \glspl{app} could run on virtually any system. -\subsection{Task Models} -TODO shortly describe these and give a reference model -\begin{itemize} - \item Task - \item Program - \item Procedure - \item Process - \item Thread -\end{itemize} +\subsection{Abstraction Layers} +The \gls{os} uses virtualization\footnote{The term \textit{virtualization} within the \gls{os} the jargon can be understood as abstraction} techniques to create layers on top of architecture specific code and abstracts it in form of an \gls{api}. +This layer abstracts at least the \gls{cpu} and memory\cite[p.~5-7]{Arpaci-Dusseau2015}. +Higher-level complex management algorithms can be implemented hardware-independently on top of this \gls{api}, making it reusable across different architectures. +The \gls{os} then provides an \gls{api} through which \glspl{app} can request access to these virtualized resources. +This allows \gls{app} developers to develop and run different programs easily and presumably safely on the \gls{os}, agnostic of the architecture. +\Cref{fig:system-abstraction-layers} shows a top-down model of the abstractions layers in the system. + +\usetikzlibrary{shapes.geometric, arrows} +\begin{figure}[ht] +\usetikzlibrary{chains,arrows.meta,decorations.pathmorphing,quotes} +\begin{tikzpicture} + [start chain=main going below, every on chain/.append style={align=center, text width=35ex, minimum height=7ex, fill=blue!20}, >={LaTeX[]}, node distance=7ex] +% \node[on chain] {\gls{os} Abstraction Layers}; + \foreach \i/\itext [remember=\i as \iprior] in { + 1/Software Applications, + 2/System Libraries, + 3/OS API, + 4/OS Drivers, + 5/{CPU, Memory, I/O, ...} + } + { + \node (block \i) [on chain] {\itext}; + \ifnum\i>1 + \draw + (block \iprior.west) +(0ex,-1ex) coordinate (b\i) + edge["Synchronous API Calls" {left,text width=15ex,anchor=east, align=right}, bend right=90, ->] + (block \i.east -| b\i) +(0ex,+1ex); + \draw + (block \iprior.east) +(0ex,-1ex) coordinate (k\i) + edge["Asynchronous Events" {right,text width=15ex,anchor=west, align=left}, bend left=90, <-] + (block \i.east -| k\i) +(0ex,1ex); + \fi + } + + \draw[dashed,thick,red] + ($(block 2)!0.5!(block 3)$) ++(-20ex,0) edge["Userspace", "Kernelspace"'] ++(40ex,0); + \draw[dashed,black,thick] + ($(block 4)!0.5!(block 5)$) ++(-20ex,0) edge["Software", "Hardware"'] ++(40ex,0); +\end{tikzpicture} +\caption{System Abstraction Layers. TODO: fill user/kernel space with colors} +\label{fig:system-abstraction-layers} +\end{figure} +\FloatBarrier \subsection{Resource Specifics} -Virtualization has different technical implications for different resources types, depending on their nature and available count. -To give an example, the \gls{CPU} is not explicitly requested, because any instruction by the program implicitly requires the \gls{CPU} to execute it. -In contrary, a program could ask the \gls{OS} for a specific amount of memory or to write text on the display output on behalf of it. +Virtualization has different technical implications for different resource types, depending on their nature and available count. +Programs that are executed need at least the \gls{cpu} and a certain amount of memory. -\section{Hardware-supported Memory-Management} +Memory is a resource that a program must explicitly ask the \gls{os} for, providing a specific amount for each request. +The \gls{cpu} is generally not explicitly requested, because any instruction by the program implicitly requires the \gls{cpu} for being executed on the system at all. + +\subsection{Task Model} +\label{context::os-dev-concepts::virtualization::task} +To better understand the \gls{os}'s problem of managing executed programs and their resources there needs to be a model that can be applied to this situation. + +% TODO: remove or complete this graph +%\begin{tikzpicture}[->,node distance=5ex,on grid, +% every state/.style={fill=red,draw=none,circular drop shadow,text=white}] +% +% \node[state] (A) {Task}; +% \node[state] (B) {Job}; +% \node[state] (C) {Process}; +% \node[state] (D) {Program}; +% \node[state] (E) {Procedure}; +% \node[state] (F) {Thread}; +% +% \path (A) edge (B); +%\end{tikzpicture} + +As explained in this document it should be understood that a program consists of instructions that can be executed by the \gls{cpu}. +When the \gls{os} loads a program into memory and begins executing its instructions it is called a process.\cite[p.~25]{Arpaci-Dusseau2015} +A process can begin to exist before its execution, when the \gls{os} has internally created an entry for the process that at least contains a reference to the program and the arguments to be passed. +Processes that use the same program are not to be treated differently by the \gls{os} than any other process in terms of memory-safety, and must be prevented from mutual memory access. +These processes can differ in arguments that are passed to the program their, so that their runtime behavior can differ significantly. + +\subsubsection{Demo: Process $\neq$ Program} +A great example for demonstrating this difference is \textit{"\gls{bbox}. \glsentrydesc{bbox}"}. + +Line 1 in \cref{shell::context::os-dev-concepts::program-process} shows a command that instructs the \gls{os} - \gls{LX} in this example - to execute the program \gls{bbox} three times, with different arguments each time. +The purpose is to demonstrate that the same program \gls{bbox} is instantiated thrice with completely different functionality each time, even existing simultaneously in the \gls{os}'s process list. + +\begin{listing}[ht] + \begin{minted}[escapeinside=??,linenos,autogobble,breaklines=true]{shell} + $ busybox sh -c "busybox ps -Ao pid,args | busybox grep busybox" + 9441 busybox sh -c busybox ps -Ao pid,args | busybox grep busybox + 9442 busybox ps -Ao pid,args + 9443 busybox grep busybox + \end{minted} + \caption{Multiple Process From Same Program} + \label{shell::context::os-dev-concepts::program-process} +\end{listing} + +It invokes \gls{bbox} with the "sh" (a shell utility) argument which in turn receives the "-c" (command execute" argument and another argument containing the expected command. +This command consists of subsequent calls to \gls{bbox} invoking its builtin "ps" (a utility to print the process list) and "grep" (a tool to find text) utilities. +The process list is received by passing "ps" as the argument to \gls{bbox} in the third execution. +Line 2 through 4 show the three \glspl{process} of the \gls{bbox} \gls{program} with different proccess ids and their respective arguments. + +\subsection{Terminology} +These terms are used ambiguously in various documents, manuals, and websites, and shall be assigned a role for the model in this document. +\Cref{tab:os-dev-concepts:task-terms} defines these terms and their relationships for the scope of this document. + +\begin{table} + \begin{tabularx}{\textwidth}{@{}lX@{}} + \toprule + \Gls{task} & \glsentrydesc{task} \\ + \Gls{program} & \glsentrydesc{program} \\ + \Gls{process} & \glsentrydesc{process} \\ + \Gls{thread} & \glsentrydesc{thread} \\ + \Gls{procedure} & \glsentrydesc{procedure} \\ + \Gls{function} & \glsentrydesc{function} \\ + \Gls{job} & \glsentrydesc{job} \\ + \bottomrule +\end{tabularx} +\caption{Definition of commonly used terms for executable code} +\label{tab:os-dev-concepts:task-terms} +\end{table} +\FloatBarrier + +\section{Preemptive Multitasking} +To extend on the terminology given in \cnameref{context::os-dev-concepts::virtualization::task} multitasking are known in the \gls{os} jargon. + + +In this document, it is the \gls{os}'s capability of switching tasks without terminating them, effectively keeping its runtime state in a place that persists during the period of time in which the task is not actively executed on the system's \gls{cpu}. +The preemptive attribute adds the notion of switching tasks without relying on their cooperation, but instead be able to do this at any time the \gls{os} intends to do so. + +Preemptive multitasking enables a form of \gls{cpu} virtualization, as a task is not aware of being preempted and resumed. +As explained above, the \gls{cpu} resource doesn't have to be explicitly requested, as the request to execute a program implies a dependency on the \gls{cpu}.. + +The previously explained virtualization is the foundation for the \gls{os} to perform preemptive multitasking inconspicuously towards the \glspl{app}. +This means that when a task is preempted and continued later, it observes no side-effects other than an elapse of time. +Preemptive multitasking needs not be considered during development of single-threaded \gls{app}. + +\subsection{Concurrent Resource Usage} +Switching tasks has different technical implications for different resources types, depending on their nature and quantity. + +A single \gls{cpu} system can not execute more than one program at the same time, as it runs instructions through the \gls{cpu} one-by-one, implicitly holding the program state in form of the \gls{cpu} registers, which are preserved in between the instructions, and preserved between preemptive task switches. +While it doesn't make sense for any instruction to request the \gls{cpu} per-se, there are valid use-cases for programs to request a specific amount of \gls{cpu} bandwidth within a specific amount of time to guarantee a certain amount of computing speed. +Other use-cases emerge when concurrent programs access the exact same resources and are intermixed by the \gls{os}, creating non-sequential resource usage pattern which may put the resource in an inconsistent state and lead to unexpected results for the application. +Within this document these technicalities are considered part of the application semantics and shouldn't effect the \gls{os} developer. + +Therefore it is sufficient to recognize the \gls{os}'s responsibility of cleanly switching the program in execution periodically. + +In contrast to the \gls{cpu}, the main memory resource is available in limited but huge quantities. +Replacing the content of the memory is not necessary on a preemptive task switch, as long as the memory is not exhausted. +This has the effect that that tasks that are currently not in execution on the \gls{cpu} still own a region of main memory. + +The \gls{os} must ensure that switching tasks is done properly for all resources to prevent interference and unintended behavior. +To ensure memory safety in this scenario, all data in the memory must be protected from unintended access, according to the definition of memory safety in \cref{context::introduction::memory-safety::def}. + +\subsection{Context Switching} +The context switch is the core functionality of the multitasking as it effectively switches to a different task, possibly by preempting the one that is currently running. +When the \gls{os} preempts a task, it needs to store and preserve the current task's context. +The context consists of all volatile resources that can possibly be overwritten by another task. +This is at minimum a set of \gls{cpu} registers depending on the specific architecture. + +The \gls{os} stores the preempted context in a well-known and protected memory location, so that it can be restored when this task is resumed. + +In preemptive multitasking, context switches are not considered voluntary, but rather by force. +This works by using the \gls{cpu}'s interrupt mechanism which has the ability to jump to an \gls{os} function in the event of an interrupt. +Interrupts for this use-case are usually triggered by programmed timer interrupts, occurring continuously and regularly. + +The interrupt mechanism itself is part of the \gls{cpu} which is why the lowest level of the task switching mechanism in the \gls{os} is hardware dependent. +Safety could be increased if the \gls{compiler} or in a more general sense the \gls{proglang} could assist in architecture specific code. +More details on this mechanism is given in \cnameref{rnd::sysprog-conventions::ir-driven-preemptive-cs-amd64}. + +\section{Hardware-supported Memory-Paging} \label{context::introduction::hw-supported-mm} +To improve the efficiency and safety of memory management, developers of hardware and software have been collaborating to offload virtual memory address lookup and caching from the \gls{os} software to the hardware, the \gls{cpu}'s \gls{MMU} to be specific. +A hardware-implementation of the lookup algorithm is fast, and allows rudimentary memory permission runtime-checks to protect pages by leveraging \gls{cpu}'s security rings\cite[p.~117,~p.~145]{AMD64Vol2}. + Activating the 64-Bit long mode on \gls{amd64} makes the system rely primarily on paging memory management, thus the technique of memory segmentation can be neglected in this context. This section provides information about hardware-supported memory paging and protection techniques. -To improve the efficiency and safety of memory-management, developers of hardware and software have been collaborating to offload virtual memory address lookup and caching from the \gls{OS} software to the hardware, namely the \gls{CPU}'s \gls{MMU}. -A hardware-implementation of the lookup algorithm is fast, and allows rudimentary memory permission runtime-checks to protect pages by leveraging \gls{CPU}'s security rings\cite[p.~117,~p.~145]{AMD64Vol2}. - \subsection{Virtual Address Translation and Paging} -Paging with virtual addresses is one method of virtualizing memory and in this way transparently share the system's memory among running tasks and the \gls{OS} itself, presumably in a safe way. +Paging with virtual addresses is one method of virtualizing memory and in this way transparently share the system's memory among running tasks and the \gls{os} itself, presumably in a safe way. Even when using a language that supports direct memory addressing, \gls{app} developers don't have to consider paging and address translation in the logic of their programs, because all addresses in their program are virtual and are translated at runtime by the \gls{MMU}. -The translation itself is performed by the \gls{MMU} according to a map that is called page table, which is a structure maintained by the \gls{OS} in the main memory. -This memory structure can be stored anywhere in memory, and the address is handed to the \gls{MMU} via a specific \gls{CPU} register, \textit{CR3} on \gls{amd64}. -The \gls{OS} can maintain multiple page table structures, and can create different virtual address spaces by changing \gls{MMU}'s page-table pointer - the \textit{CR3} register. -As mentioned above the hardware caches provides caches for repeated lookups of the same virtual addresses. -Controlling the validity of these cache entries is in the \gls{OS} responsibility. +The translation itself is performed by the \gls{MMU} according to a map that is called page table, which is a structure maintained by the \gls{os} in the main memory. +This memory structure can be stored anywhere in memory, and the address is handed to the \gls{MMU} via a specific \gls{cpu} register, \textit{CR3} on \gls{amd64}. +The \gls{os} can maintain multiple page table structures, and can create different virtual address spaces by changing the \gls{MMU}'s page-table pointer register. -To avoid the need for storing a translation mapping for every possible address, mappings are grouped into fixed-size pieces, the \textit{page}s. +\subsubsection{Translation Caching} +The hardware caches the translation results for subsequent lookups in the \gls{tlb} \cite[p.~142-143]{AMD64Vol2}. +This greatly improves the speed for repeated access to the same virtual addresses, but is certainly dangerous for memory-safety. +Controlling the validity of these cache entries is the responsibility of the \gls{os} . +This is critical for memory-safety, as the cached virtual to physical address lookup results are different for each address space and shouldn't leak into other address spaces. + +If any lookup yields a cached result which originates from a different virtual address space, the physical address is likely to belong to a memory region to which the current task shouldn't have access to. +What makes it more difficult to manage is that there are exceptions to this, e.g. when memory is intentionally shared between two processes or threads, which must be set up by the \gls{os} according to the processes requests. + +\subsubsection{Page: Chunks of Single Addresses} +To avoid the need for storing a translation mapping for every single physical address, mappings are grouped into equisized regions, called \textit{page}s. This works by encoding the offset within the page in the virtual address, together with page's index in page table. The offset size depends on the chosen page-size, and can be calculated with the following formula, given page-size in bytes as $p$: \begin{equation} - \textrm{offset\_bits(p)} = log_2(p), \{ p \in N, p: n^2 \} + vaddr\_offset(p) = log_2(p); p \in N %TODO: restrain that p must be a power of 2 \end{equation} -For example, the \gls{amd64} default page-size of 4 KiB has a 12-bit offset, which leaves $64-12 = 52$ bits for page-table indexing. +For example, the \gls{amd64} default page-size of 4 KiB has a 12-bit offset, which theoretically leaves the other $64-12 = 52$ bits of the virtual address for page-table indexing. +Practically there's an architectural limit of 48 bits for the virtual address. +The resulting paging hierarchy is presented in \cnameref{rnd::sysprog-conventions::paging-amd64}. -\paragraph{Page-Faults} -If an instruction uses a virtual address that indexes a page which is not present in memory, the \gls{CPU} will generate page-fault exception to give control back to the \gls{OS}. -The \gls{OS} must then react accordingly by e.g. finding free physical memory and map it to the page my modifying the page's page-table entry. +\subsection{Page-Faults} +The page-fault is a hardware-triggered, memory-safety critical event that must be handled by the \gls{os}. +It is triggered by the \gls{cpu}'s \gls{MMU} during the virtual address lookup algorithm, when an instruction uses a virtual address for which the target page is not available. +This happens for example if the indexed page is not present in main memory or has not been allocated at all. +It also happens when an instruction violates a page protection, of which four exist and can be configured by the \gls{os} on \gls{amd64} \cite[p.~145-148]{AMD64Vol2}: +\begin{itemize} + \item (1) Protect supervisor pages from user access + \item (2) Prevent writes into read-only pages + \item Prevent the \gls{cpu} from executing (3) non-executable pages and (4) user pages +\end{itemize} -\subsubsection{Swapping} -The finite primary memory can only hold a finite number of virtual pages, and the \gls{OS} is responsible for having the required pages present. +The \gls{os} must implement the page-fault handler to deal with it accordingly e.g. finding free physical memory and map it to the page my modifying the virtual addresse's page-table entry or indicate denied access. + +\subsection{Swapping} +The finite primary memory can only hold a finite number of virtual pages, and the \gls{os} is responsible for having the required pages present. Besides the pages that contain the page-table itself, the pages that aren't required by the current instruction might be moved to secondary memory. Swapping pages in and out of primary memory is risky as it requires to transfer large amounts of raw memory content, but these safety analyzes exceed the scope of this thesis. - -\section{Multi-Level Paging} +\subsection{Multi-Level Paging} \label{context::introduction::hw-supported-mm::multilevel-paging} If only one page-table per virtual address space was used that consists of $2^{52}$ page-table entries, which must at minimum store the physical address, it would require $\frac{52 * 2^{52} [Bit]}{8*1024^4 [Bit/Byte]} = 26624$ TiB of memory for each virtual address space. -Even if only a handful of additional pages were allocated and mapped, the \gls{OS} would still have to allocate this huge page-table. +Even if only a handful of additional pages were allocated and mapped, the \gls{os} would still have to allocate this huge page-table. This vast consumption of main memory is impractical and impossible for average systems, which rarely surpass 100 GiB of main memory. Therefore most systems use a hierarchy of page tables. @@ -262,93 +426,143 @@ Using a hierarchical translation structure allows to save significant amounts of \caption{Hierarchical Virtual Paging} \label{fig:paging-hierarchy-abstract} \end{figure} +\FloatBarrier -The details of how this is implemented on \gls{amd64} can be found in \cnameref{rnd::sysprog-conventions::paging-amd64}. +The details of a 4-level-hierachy paging implemented on \gls{amd64} can be found in \cnamepref{rnd::sysprog-conventions::paging-amd64}. -\subsection{The Concepts of Stack And Heap} -\label{context::introduction::hw-supported-mm::stackheap} -In \gls{proglang} and \gls{OS} design and literature, the terms \gls{stack} and \gls{heap} are ubiquitous. A research for their definition wasn't conclusive, indicating that they are rather concepts than absolutely defined terms, and might be implemented and used differently on various architectures, \glspl{proglang} and \glspl{OS}. +\section{Stack And Heap} +\label{context::introduction::os-dev-concepts::stackheap} +In \gls{proglang} and \gls{os} design and literature, the terms \gls{stack} and \gls{heap} are ubiquitous. +A research for their original definition wasn't conclusive, indicating that they are to be taken as concepts rather than absolutely defined methods. +They might be implemented and used differently on various architectures, \glspl{proglang} and \glspl{os}. -This part focuses on the basic concepts, already limiting the scope to the \gls{amd64} architecture, the \glspl{proglang} \gls{C} and \gls{Rust} and their usage on either bare-metal or \gls{LX}. -A detailed continuation is found in \cnameref{rnd::mm-conventions}. +This sections explains the basic concepts with the tendency towards the \gls{amd64} architecture, the \gls{C} and \gls{Rust} \glspl{proglang} and their usage for bare-metal \gls{os} and \gls{LX} \gls{app} development. - -\subsubsection{Stack: Hardware-Backed Abstract Type} -\label{context::introduction::hw-supported-mm::stackheap::stack} +\subsection{Stack: Hardware-Backed Abstract Type} +\label{context::introduction::os-dev-concepts::stackheap::stack} In summary, the \gls{stack} is a memory model for structuring contiguous memory. It grows by adding new data entries on top of each other. According to the \gls{stack} analogy, only the topmost element can be accessed and removed, thus it behaves like a Last-In-First-Out data structure. -The hardware manuals \citetitle{AMD64Vol1} and \citetitle{AMD64Vol2} have no mention of the word \textit{heap}, but use \textit{stack} hundreds of times, indicating that \gls{stack} is implemented in hardware to some extend. +The hardware manuals \citetitle{AMD64Vol1} and \citetitle{AMD64Vol2} have no mention of the word \textit{heap}, but use \textit{stack} hundreds of times, indicating that \gls{stack} is implemented in hardware to some extent. The \gls{amd64} manuals conjunctionally describe how the \gls{stack} is used and influenced by various instructions on this architecture. Here it grows from numerically higher to numerically lower addresses, whereas the numerically highest address is called the stack bottom, and the current numerically lowest address is the stack top. In 64-Bit long mode \gls{amd64} doesn't consider the stack to be sized. -The \gls{stack} is allocated per procedure and typically stores only procedure-local data, which is simply forgotten once the procedure has completed. -To achieve memory-safety with regards to \gls{stack} management inside \gls{OS}, each procedure must only access its own particular \gls{stack}. -Additionally, \glspl {stack} must be prevented from growing into memory regions that might belong to other procedures. -This needs to be considered by \gls{OS} developers when implementing memory-management for multitasking \gls{OS}, as further investigated in \cref{rnd::existing-os-dev-wity-rust,rnd::imezzos-preemptive-multitasking}. +The \gls{stack} is typically allocated per process or thread and stores the \glspl{sf} for each procedure. +The \gls{sf} is automatically cleaned up or simply forgotten once the procedure has completed. +On chains of procedure calls, each preceding \gls{sf} remains on the stack. +\cref{TODO-Callstacklayout}\footnote{By R. S. Shaw - Own work, Public Domain, \url{https://commons.wikimedia.org/w/index.php?curid=1956587}} displays a \gls{stack} that contains two \glspl{sf} from different procedures. -\subsubsection{Heap: Organized Chaos} +\begin{figure}[ht] +\centering +%\begin{wrapfigure}{R}{0.5\textwidth} + \includegraphics[width=0.49\textwidth]{gfx/TODO-Callstacklayout} + \caption{TODO-Redraw-Callstacklayout} + \label{TODO-Callstacklayout} +%\end{wrapfigure} +\end{figure} +% TODO: draw stack with multiple stack-frames +\FloatBarrier + +\subsubsection{Safety Concerns} +To achieve memory-safe \gls{stack} management in the \gls{os}, each procedure must only be able to access its own particular \gls{stack} and possible references via its arguments. +This is not the case in a regular \gls{C} program, where the called procedure is able to modify the previous \gls{sf}, which is demonstrated in \cnameref{context::common-mem-safety-mistakes::manifestations::ret-addr-manipulation}. + +Additionally, the \glspl{stack} must be prevented from growing into other memory zones like the \gls{heap}. +Since \Gls{stack} management is memory-safety critical for \gls{os} developers when implementing memory management for multitasking within the \gls{os}, it is one of the main subjects in \cnameref{rnd}, \cref{rnd::existing-os-dev-with-rust,rnd::imezzos-preemptive-multitasking}. + +\subsection{Heap: Organized Chaos} \label{context::introduction::hw-supported-mm::stackheap::heap} -\Gls{heap} is an ambiguous term that names a data structure in more theoretical computer science and a memory zone in system programming. -In this document \gls{heap} refers to the latter. +\Gls{heap} is an ambiguous term that names a data structure in more theoretical computer science and a memory model in system programming. +This document refers to the latter. -\subsection{Combining Stack And Heap} -% TODO: figure that shows stack and heap? +The \gls{heap} is managed by the \gls{os} to keep track of allocated memory on behalf of all \glspl{app} on the system. +The algorithms within the \gls{os} to manage the \gls{heap} can be arbitrary complex, and the choice is based on the trade-offs between complexity, efficiency and speed. +Safety is explicitly omitted from the trade-offs list, as it should never be traded against anything else. -\section{Preemptive Multitasking} -The previously explained virtualization is the foundation for the \gls{OS} to perform preemptive multitasking inconspicuously towards the \glspl{app}. -This means that when a task is preempted and continued later, it observes no side-effects other than an elapse of time. -Preemptive multitasking needs not be considered during development of single-threaded \gls{app}. -Multi-threading and +\Gls{app} developers make use of dynamic \gls{heap} allocation requests via the \gls{os}'s \gls{api} if the memory usage for their program is not predictable at the time of development. +The requests will be processed by the \gls{os} and granted or denied according to ratio of requested memory and available system memory. +The \glspl{app} is responsible for returning no-longer required memory to the \gls{os}, which makes it available to other \glspl{app} in the system. -\subsection{Resource Characteristics} -Switching tasks has different technical implications for different resources types, depending on their nature and quantity. -For example, a single \gls{CPU} system can not be utilized by more than one program at the same time, as it runs instructions one-by-one and implicitly holding the program state in form of the \gls{CPU} registers, which are preserved in between the instructions. -In contrast, main memory resources are only limited by their capacity and can otherwise be shared by several programs simultaneously, so that tasks that are not executed by \gls{CPU} can still have data stored in memory. +Memory which is not cleaned up by properly is blocked until the \gls{app} is terminated. +If \gls{heap} allocations within the \gls{os} are not cleaned up properly, the allocated memory is lost until the whole system is restarted. +Between properly cleaning up and loosing memory allocations is a whole range of possible memory-safety issues, which are explained in \cref{context::introduction::memory-safety-violation-in-sw}. -The \gls{OS} must ensure that switching tasks is done properly for all resources to prevent interference and unintended behavior. -To ensure memory safety in this scenario, all data in the memory must be protected from unintended access, according to the definition of memory safety in \cref{context::introduction::memory-safety::def}. +\section{Stack And Heap: Combined Usage} +\Glspl{program} combine the usage of \gls{stack} and \gls{heap} use them for different purposes. -\subsection{Context Switching} -When the \gls{OS} preempts a task, it needs to store and preserve the current task's context. -The context consists of all volatile resources that can possibly be overwritten by another task. -This is at minimum a set of \gls{CPU} registers depending on the specific architecture. -A description for \gls{amd64} is given in \cref{tab:task-minimum-context-registers}. +Depending on the \gls{proglang}'s \gls{compiler} and the target system, the responsibility of writing the memory management code falls either on the developer, the \gls{compiler}, or both. +\Cref{tab:stack-heap-usage-responsbility} describes the usage-cases and responsibilities for \gls{stack} and \gls{heap} with regard to user-space and \gls{os} development. + +\begin{table}[ht!] + \begin{tabularx}{0.99\textwidth}{XX} + \toprule + \multicolumn{2}{c}{Stack and Heap Usage Overview} \\ + \toprule + \multicolumn{1}{c}{\Gls{stack}} & \multicolumn{1}{c}{Responsibility} \\ + \hhline{--} + \Gls{sf} (return address, frame pointer, see \cref{rnd::sysprog-conventions::stackframe-amd64,lst:amd64-stack-frame-components}). -The \gls{OS} stores the preempted context in a well-known and protected memory location, so that it can be restored when this task is resumed. + Procedure-local fixed-sized variables (primitive types, custom fixed-size structures, references, fixed-length arrays, etc.) -\begin{table} - \begin{tabularx}{\textwidth}{| c | X | X |} - \hline - \textbf{descriptive name} & - \textbf{register names on amd64} & - \textbf{description} \\ - \hline - the instruction pointer register & RIP & address of the next instruction to be fetched \\ - \hline - the stack pointer register & RSP & address of current position in stack \\ - \hline - the flags register & RFLAGS & various attributes, e.g. the interrupt flag \\ - \hline - all general-purpose registers & RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, R8–R15 & arbitrary data \\ - \hline + Procedure arguments (allocated as and copied to local variables) + & + In user space development the \gls{stack} management code is fully generated \tikzmarkcircle{1} by the \gls{compiler} in \gls{C} and \gls{Rust}, using a standardized calling convention for the platform. + The \gls{os} must implement support for any standardized calling conventions used by the \gls{compiler} for user-space \glspl{program}. + \\ + \bottomrule + \multicolumn{1}{c}{\Gls{heap}} & \multicolumn{1}{c}{Responsibility} \\ + \toprule + Dynamically sized data structures like linked-lists, extendable arrays, queues, trees + + Can be used for unstructured arbitrary data. + & + Manual calls for allocation and freeing memory are written by the programmer in \gls{C} using the \gls{os} \gls{api}. + \gls{Rust} has support of generating these calls on behalf of the programmer on supported platforms via its standard library \tikzmarkcircle{2}. + \\ + \bottomrule \end{tabularx} - \caption{Minimum Context Registers on amd64\cite[p.~28]{AMD64Vol2}} - \label{tab:task-minimum-context-registers} + \begin{tabularx}{\textwidth}{l@{ }X} + \tikzmarkcircle{1} & + The \gls{app} programmer is in control of the source code that triggers the auto generated content. + E.g. defining a function with local variables in the code will yield generated instructions to handle the \gls{sf}. \\ + \tikzmarkcircle{2} & + The origin of the auto generated content remains the source code, written by the programmer. + Therefore it is the choice of the programmer whether to place the variables on the \gls{stack} or on the \gls{heap}. + \end{tabularx} +\caption{Stack and Heap Usage and Responsibility} +\label{tab:stack-heap-usage-responsbility} \end{table} +\FloatBarrier -\subsubsection{Using Hardware Induced Interrupts} -In preemptive multitasking, context switches are not considered voluntary, but rather by force. -This works by using the \gls{CPU}'s interrupt mechanism which has the ability to jump to an \gls{OS} function in the event of an interrupt. -Interrupts for this use-case are usually triggered by programmed timer interrupts, occurring continuously and regularly. +\subsection{Arrangement} +Both zones must be organized separately and arrange within the virtual address space which is assigned to process or thread. +\Cref{TODO-heap-stack-example-program} shows a \gls{C} \gls{program} and a simplified model of the hypothetical address space that would result on execution. -The interrupt mechanism itself is part of the \gls{CPU} which is why the lowest level of the task switching mechanism in the \gls{OS} is hardware dependent. -Safety could be increased if the \gls{compiler} or in a more general sense the \gls{proglang} could assist in architecture specific code. +\begin{figure}[ht!] + \includegraphics[width=\textwidth]{gfx/TODO-heap-stack-example-program} + \caption{TODO-heap-stack-example-program} + \label{TODO-heap-stack-example-program} +\end{figure} +% TODO: improve figure that shows stack and heap? +\FloatBarrier + +The entries above \textit{"Heap"} are the different parts of the \gls{compiler} output for this program, and are loaded by the \gls{os} before the execution. +The colors in the code correspond to the entries in the memory model. +Text, which corresponds to the red box, contains the program instructions. +RoData is read-only memory content, in this case the string literal \textit{"string"}. +BSS contains the variable \textit{iSize}. +Lastly the \gls{stack} holds the pointer variable \textit{p}, which will reference the result of the \textit{malloc(iSize)} memory allocation. + +\subsection{Programming Language Support} +In many \glspl{proglang} that are commonly used for \gls{app} development, the code for allocation and cleanup of \gls{heap} memory is generated by the \gls{compiler} on behalf of the programmer. +Such languages rely on the \gls{os} memory management \gls{api} and are thus not suited for developing the \gls{os} itself. +Visa-versa, languages which are suited for \gls{os} development usually don't generate \gls{heap} management code and therefore don't ensure memory-safety. + +\gls{Rust} might be an exception to this by adding static safety checks suited for \gls{os} development. +To what extend and by which means this is true, has to be confirmed or denied by the end of this work. -More details on this mechanism is given in \cnameref{rnd::sysprog-conventions::ir-driven-preemptive-cs-amd64}. - \chapter{Common Memory-Safety Mistakes} \label{context::common-mem-safety-mistakes} Building upon \cref{context::introduction}, which describes the basic mechanics of memory usage and how mistakes come to existence, this chapter presents and explains common software vulnerabilities that are related to memory-safety. @@ -383,7 +597,7 @@ This can happen on certain languages, which "allow direct addressing of memory l This formulation of languages prone to this weakness is incorrect, as it doesn't conform with the earlier statement of languages that "allow direct addressing of memory locations". Direct memory addressing support doesn't imply a lack of memory management support. -There are languages that provide memory management support and still allow direct memory addressing, which is interesting for \gls{OS} development. +There are languages that provide memory management support and still allow direct memory addressing, which is interesting for \gls{os} development. \gls{Rust} is one of these languages, although it requires the developer to explicitly acknowledge all direct memory access operations with the \textit{unsafe} keyword. More information on \gls{Rust} follows in \cref{context::rust}. @@ -396,7 +610,7 @@ The only data available is based on publicly available sources, thus the complet The data and visualizations are supplied by the \gls{NVD}, which collects the data based on the umbrella weakness CWE-635\footnote{http://cwe.mitre.org/data/definitions/635.html} that was specifically created for the \gls{NVD}. The numbers of these selected weaknesses are detailed in the following figures, the rest is grouped as \textit{other}. -\cref{fig:vulnerability-ratio-history} and \cref{fig:vulnerability-counts-history} display a decade of data on vulnerabilities grouped by their \gls{CWE} category. +\Cref{fig:vulnerability-ratio-history,fig:vulnerability-counts-history} display a decade of data on vulnerabilities grouped by their \gls{CWE} category. The category called \textit{buffer\footnote{A bounded chunk of memory used by programs to store and exchange data} errors} represents \autocite{MITRE-CWE-119}. In \cref{fig:vulnerability-ratio-history} it has the color light blue, 2nd from the bottom in the legend, and in \cref{fig:vulnerability-counts-history} it has the color blue, 2nd from the top in the legend. @@ -438,11 +652,11 @@ With 16.34 percent of all vulnerabilities known by 2016, and an average of 12.92 \subsection{Vulnerable APIs in Linux and C/C++} \label{context::common-mem-safety-mistakes::vuln-apis-linux-c} -\glspl{api} are a ubiquitous for programmers to access all kinds of functionality, serving as interfaces to network services, providing existing algorithms in form of libraries and frameworks, or interfacing with the local \gls{OS}. +\glspl{api} are a ubiquitous for programmers to access all kinds of functionality, serving as interfaces to network services, providing existing algorithms in form of libraries and frameworks, or interfacing with the local \gls{os}. It is inherently dangerous to expose any sort of functionality through an \gls{api}, as it might contain bugs that will be spread widely with rising popularity. -Every \gls{OS} needs to provide an \gls{api} for it's core functionality to be useful and extendable. +Every \gls{os} needs to provide an \gls{api} for it's core functionality to be useful and extendable. -A very popular and widely supported \gls{OS} is \gls{LX}. +A very popular and widely supported \gls{os} is \gls{LX}. The system libraries and the kernel are written in \gls{C}, the latter containing some hardware specific \gls{asm} code. \gls{LX} is very popular for embedded systems, network servers and large-scale computers. % TODO: reference Through \gls{android}, \gls{LX} has been distributed to a huge amount of mobile devices within the last decade. % TODO: reference @@ -457,16 +671,180 @@ The manifestations of memory-safety related vulnerabilities in the \gls{LX} ecos \label{context::common-mem-safety-mistakes::manifestations} % Significance of the Study % The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. -This section contains real-world and \textit{re}constructed example manifestations of memory-safety related weaknesses. +This section contains real-world manifestations and \textit{re}constructed experiments of memory-safety related weaknesses. % TODO -\subsection{The Stack Clash} -A recent and high impact vulnerability named \textit{Stack Clash}\footnote{https://blog.qualys.com/securitylabs/2017/06/19/the-stack-clash}, is briefly described as \textit{"a vulnerability in the memory management of several operating systems. It affects Linux, OpenBSD, NetBSD, FreeBSD and Solaris, on i386 and amd64. It can be exploited by attackers to corrupt memory and execute arbitrary code."} -The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. -It is assigned to the \autocite{MITRE-CWE-119} explained in \cref{context::common-mem-safety-mistakes::cwe::119}. +\subsection{CWE-119 Examples} +These examples are officially listed under the \autocite{MITRE-CWE-119} website. + +\subsubsection{Example 1} +This example takes an IP address from a user, verifies that it is well formed and then looks up the hostname and copies it into a buffer. + +\begin{listing}[htb] + \begin{minted}[autogobble,linenos,breaklines=true]{c} + void host_lookup(char *user_supplied_addr){ + struct hostent *hp; + in_addr_t *addr; + char hostname[64]; + in_addr_t inet_addr(const char *cp); + + /*routine that ensures user_supplied_addr is in the right format for conversion */ + validate_addr_form(user_supplied_addr); + addr = inet_addr(user_supplied_addr); + hp = gethostbyaddr( addr, sizeof(struct in_addr), AF_INET); + strcpy(hostname, hp->h_name); + } + \end{minted} + \caption{Bad Code} + %\label{code::context::examples::func-callee-c} +\end{listing} + +This function allocates a buffer of 64 bytes to store the hostname, however there is no guarantee that the hostname will not be larger than 64 bytes. If an attacker specifies an address which resolves to a very large hostname, then we may overwrite sensitive data or even relinquish control flow to the attacker. + +Note that this example also contains an unchecked return value (CWE-252) that can lead to a NULL pointer dereference (CWE-476). + +\subsubsection{Example 2} +This example applies an encoding procedure to an input string and stores it into a buffer. + +\begin{listing}[htb] + \begin{minted}[autogobble,linenos,breaklines=true]{c} + char * copy_input(char *user_supplied_string){ + int i, dst_index; + char *dst_buf = (char*)malloc(4*sizeof(char) * MAX_SIZE); + if ( MAX_SIZE <= strlen(user_supplied_string) ){ + die("user string too long, die evil hacker!"); + } + dst_index = 0; + for ( i = 0; i < strlen(user_supplied_string); i++ ){ + if( '&' == user_supplied_string[i] ){ + dst_buf[dst_index++] = '&'; + dst_buf[dst_index++] = 'a'; + dst_buf[dst_index++] = 'm'; + dst_buf[dst_index++] = 'p'; + dst_buf[dst_index++] = ';'; + } + else if ('<' == user_supplied_string[i] ){ + /* encode to < */ + } else dst_buf[dst_index++] = user_supplied_string[i]; + } + return dst_buf; + } + \end{minted} + \caption{Bad Code} + %\label{code::context::examples::func-callee-c} +\end{listing} +The programmer attempts to encode the ampersand character in the user-controlled string, however the length of the string is validated before the encoding procedure is applied. Furthermore, the programmer assumes encoding expansion will only expand a given character by a factor of 4, while the encoding of the ampersand expands by 5. As a result, when the encoding procedure expands the string it is possible to overflow the destination buffer if the attacker provides a string of many ampersands. + +\subsubsection{Example 3} +The following example asks a user for an offset into an array to select an item. + +\begin{listing}[htb] + \begin{minted}[autogobble,linenos,breaklines=true]{c} + int main (int argc, char **argv) { + char *items[] = {"boat", "car", "truck", "train"}; + int index = GetUntrustedOffset(); + printf("You selected %s\n", items[index-1]); + } + \end{minted} + \caption{Bad Code} + %\label{code::context::examples::func-callee-c} +\end{listing} +The programmer allows the user to specify which element in the list to select, however an attacker can provide an out-of-bounds offset, resulting in a buffer over-read (CWE-126). + +\subsubsection{Example 4} +In the following code, the method retrieves a value from an array at a specific array index location that is given as an input parameter to the method +\begin{listing}[htb] + \begin{minted}[autogobble,linenos,breaklines=true]{c} + int getValueFromArray(int *array, int len, int index) { + + int value; + + // check that the array index is less than the maximum + // length of the array + if (index < len) { + + // get the value at the specified index of the array + value = array[index]; + } + // if array index is invalid then output error message + // and return value indicating error + else { + printf("Value is: %d\n", array[index]); + value = -1; + } + + return value; + } + \end{minted} + \caption{Bad Code} + %\label{code::context::examples::func-callee-c} +\end{listing} +However, this method only verifies that the given array index is less than the maximum length of the array but does not check for the minimum value (CWE-839). This will allow a negative value to be accepted as the input array index, which will result in a out of bounds read (CWE-125) and may allow access to sensitive memory. The input array index should be checked to verify that is within the maximum and minimum range required for the array (CWE-129). In this example the if statement should be modified to include a minimum range check, as shown below. + +\begin{listing}[htb] + \begin{minted}[autogobble,linenos,breaklines=true]{c} + ... + + // check that the array index is within the correct + // range of values for the array + if (index >= 0 && index < len) { + + ... + \end{minted} + \caption{Good Code} + %\label{code::context::examples::func-callee-c} +\end{listing} + +\subsection{Return Address Manipulation} +\label{context::common-mem-safety-mistakes::manifestations::ret-addr-manipulation} +\Cref{code::context::examples::sf-modification-simple} is a little example program in \gls{C}, which manipulates the return function address stored on the \gls{stack}. +This is done by simple and legal pointer arithmetic. +It abuses the address of the first local variable to create references into the \gls{sf} below on the \gls{stack}. +Since the first variable is on the bottom of the \gls{sf} in the function, any higher address is part of the previous \gls{sf}. +Depending on the \gls{compiler}, the return address is stored either one or two data entries below the first local variable. +In a brute-force manner the program simply overwrites both entries with a different function address. +By simply writing a different function address at these entries, the \mintinline{c}{ret} will jump there, since the original return address has been overwritten. + +\begin{figure}[ht!] +\begin{subfigure}[T]{0.60\textwidth} +\centering +\begin{minted}[linenos,breaklines]{c} +void modifier(void) { + uint64_t *p; + *(&p + 1) = + (uint64_t *)simple_printer; + *(&p + 2) = + (uint64_t *)simple_printer; +} +\end{minted} +\subcaption{C code} +\end{subfigure} +\begin{subfigure}[T]{0.39\textwidth} +\centering +\begin{minted}[linenos,breaklines]{objdump} +movabs rax,0x400690 +mov QWORD PTR [rsp],rax +mov QWORD PTR [rsp+0x8],rax +ret +\end{minted} +\subcaption{ASM code} +\end{subfigure} +\caption{Stack-Frame Modification} +\label{code::context::examples::sf-modification-simple} +\end{figure} +% TODO: port to rust + +\Cref{TODO-callstack-manipulation} is an attempt to visualize what happens in memory and with the \gls{stack} and the \gls{cpu}'s RIP {64-Bit Instruction Pointer} register. + +\begin{figure} + \includegraphics[width=\textwidth]{gfx/TODO-callstack-manipulation} + \caption{TODO-callstack-manipulation} + \label{TODO-callstack-manipulation} +\end{figure} +\FloatBarrier + + -% TODO explain that this CWE-119 vulnerability is also "Execute Code" -% TODO: more references and deeper explanation of what happens: see introduction in https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt \subsection{Uninitialized Pointers} @@ -500,12 +878,21 @@ if (ptr == NULL) { } \end{lstlisting} +\subsection{The Stack Clash} +A recent and high impact vulnerability named \textit{Stack Clash}\footnote{https://blog.qualys.com/securitylabs/2017/06/19/the-stack-clash}, is briefly described as \textit{"a vulnerability in the memory management of several operating systems. It affects Linux, OpenBSD, NetBSD, FreeBSD and Solaris, on i386 and amd64. It can be exploited by attackers to corrupt memory and execute arbitrary code."} +The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. +It is assigned to the \citetitle{MITRE-CWE-119}\autocite{MITRE-CWE-119} presented in \cref{context::common-mem-safety-mistakes::cwe::119}. -\chapter{Safe OS Development} -\label{context::introduciton::safe-os-dev} -This section gives a brief summary of relevant concepts of \gls{OS} development on common hardware platforms, focusing on memory management and its risks. +\cref{context::introduction::hw-supported-mm::multilevel-paging} -In order to protect the memory of each executed program according to \cref{context::introduction::memory-safety::def}, the \gls{OS} must be designed, developed, and tested carefully. +% TODO explain that this CWE-119 vulnerability is also "Execute Code" +% TODO more references and deeper explanation of what happens: see introduction in https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt + +\chapter{Weakness Mitigation} +\label{context::weakness-mitigation} + + + \section{Detecting Memory-Safety Violations ASAP} \label{context::safe-os-dev::detecting-safety-violations-asap} @@ -521,15 +908,15 @@ In addition to the presence and quality of tests, their timing in the software l The earliest tests can be as soon as the process of software development itself, and the latest ones can be at the time of execution on the production system of the end-user. It is desirable to place tests as early as possible in the software life cycle, to prevent them from compromising running systems that hold sensitive data and offer important services. -This suggests that since the \gls{OS} is lower in the hierarchy of system components at runtime, testing of the \gls{OS} must happen regardless of specific \glspl{app} and development time. -Especially testing the \gls{OS}'s internal states which can not be directly mutated via the \gls{api} exposed to the \glspl{app}. -To explain this from the \gls{app} perspective, testing the \gls{OS} at runtime states is not plausible , because the \gls{app} can not freely mutate the system's state. +This suggests that since the \gls{os} is lower in the hierarchy of system components at runtime, testing of the \gls{os} must happen regardless of specific \glspl{app} and development time. +Especially testing the \gls{os}'s internal states which can not be directly mutated via the \gls{api} exposed to the \glspl{app}. +To explain this from the \gls{app} perspective, testing the \gls{os} at runtime states is not plausible , because the \gls{app} can not freely mutate the system's state. Even if it could, testing all possible permutations of system state in every possible \gls{app} would be highly redundant and nonetheless leaves the risk for untested edge cases that happen only under specific system circumstances, possibly influenced by other components on the system as described in the beginning of \cref{context::introduction::memory-safety}. -The \gls{app} developer is forced to trust the underlying \gls{OS}. -This puts high importance on the safety of the \gls{OS} design and implementation. +The \gls{app} developer is forced to trust the underlying \gls{os}. +This puts high importance on the safety of the \gls{os} design and implementation. \subsection{The Effects Of Programming Languages on Memory-Safety} -There are dozens of \glspl{proglang} used by humans to write \glspl{app}, but only a few are used to write \glspl{OS}. +There are dozens of \glspl{proglang} used by humans to write \glspl{app}, but only a few are used to write \glspl{os}. \subsubsection{Abstraction: Safety vs. Functionality} \label{context::introduction::memory-safety::abstr-safety-function} @@ -545,8 +932,7 @@ By defining an abstraction layer in form of a programming language, the language \label{context::introduction::language-compilers-analyzers} In \cref{context::introduction::memory-safety}, specifically in TODO "reference detection" was explained that programming languages have direct impact on the memory-safety. -This section gives an example of how severe this impact is and explains the requirements on a \gls{OS} language. - +This section gives an example of how severe this impact is and explains the requirements on a \gls{os} language. \chapter{Mitigation Attempts} @@ -556,25 +942,24 @@ With the growing number of vulnerabilities, various solutions have been proposed Static analysis are not very effective on a language that has not been designed to be safety-analyzed. TODO? reference? For this reason there have been attempts to define subsets of the \gls{C} language that can be safety checked, TODO: refernces of Cyclone, CCured, etc.. -Safety checks that are performed at runtime introduce a high degree of overhead, which makes it a nonviable option in the domain of \gls{OS} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or tasks with \gls{realtime} requirements. (TODO: explain realtime requirements) -This has been forcing \gls{OS} developers to prioritize performance over safety. (TODO: reference) +Safety checks that are performed at runtime introduce a high degree of overhead, which makes it a nonviable option in the domain of \gls{os} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or tasks with \gls{realtime} requirements. (TODO: explain realtime requirements) +This has been forcing \gls{os} developers to prioritize performance over safety. (TODO: reference) Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \cref{context::common-mem-safety-mistakes}. \section{Choice of Programming Language} Criteria for the choice of programming language are much different from choosing a language for other types of \glspl{app}. -This is a list of what is required for implementing an \glspl{OS} +This is a list of what is required for implementing an \glspl{os} \begin{itemize} - \item{Raw access to \gls{CPU} instructions} + \item{Raw access to \gls{cpu} instructions} \item{Deterministic temporal behavior} \end{itemize} % TODO: put in some scientific background about static checks % * affine types - \chapter{Memory-Safety Analysis Techniques} As per the previous \cref{context::common-mem-safety-mistakes} there is general awareness of the problems, and there has been ongoing effort to develop and improve techniques that assist the programmer to detect and avoid such mistakes first- or secondhand. @@ -598,6 +983,7 @@ Described by the maintainers, it is a "systems programming language that runs bl - TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4 \subsection{Static Analyser} +%TODO: mention electrolyte, formal verification for Rust \section{Language Features} - TODO: How does static typing help with preventing programming errors diff --git a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex index d6a500d..bd006fc 100644 --- a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex +++ b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex @@ -18,7 +18,7 @@ Memory management mechanisms are partially implemented in the target system's ha \chapter{Final Conclusion} Safety - or security for this matter - is not something that can be achieved absolutely. -It grows successively and gives the \gls{OS} developers and the end-users a \emph{feeling} of safety, until another vulnerability is found and disclosed. +It grows successively and gives the \gls{os} developers and the end-users a \emph{feeling} of safety, until another vulnerability is found and disclosed. % TODO: repeat that rust *can* be used to increase safety in the OS, % TODO: how? @@ -120,3 +120,55 @@ It grows successively and gives the \gls{OS} developers and the end-users a \emp \fill[yellow] (pic cs:example2) circle (0.1cm); \end{tikzpicture} \end{listing} + +\begin{tikzpicture}[node distance=2cm, + startstop/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=red!30}, + io/.style = {trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30}, + process/.style = {rectangle, minimum width=1cm, minimum height=1cm, text centered, text width=3cm, draw=black, fill=orange!30}, + decision/.style = {diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30}, + arrow/.style = {thick,->,>=stealth} + ] + +%\node (start) [startstop] {Start}; +%\node (in1) [io, below of=start] {Input}; +%\node (pro1) [process, below of=in1] {Process 1}; +%\node (dec1) [decision, below of=pro1, yshift=-0.5cm] {Decision 1}; +%\node (pro2a) [process, below of=dec1, yshift=-0.5cm] {Process 2a text text text text text text text text text text}; +%\node (pro2b) [process, right of=dec1, xshift=2cm] {Process 2b}; +%\node (out1) [io, below of=pro2a] {Output}; +%\node (stop) [startstop, below of=out1] {Stop}; +% +%\draw [arrow] (start) -- (in1); +%\draw [arrow] (in1) -- (pro1); +%\draw [arrow] (pro1) -- (dec1); +%\draw [arrow] (dec1) -- node[anchor=east] {yes} (pro2a); +%\draw [arrow] (dec1) -- node[anchor=south] {no} (pro2b); +%\draw [arrow] (pro2b) |- (pro1); +%\draw [arrow] (pro2a) -- (out1); +%\draw [arrow] (out1) -- (stop); + +\node[process,xshift=0ex,yshift=-0ex] (ua_back) {User Applications}; +\node[process,xshift=0ex,yshift=-1ex] at (ua_back) {User Applications}; +\node[process,xshift=0ex,yshift=-2ex] (ua) at (ua_back) {User Applications}; + +\node[process,xshift=0ex,yshift=-0ex,below of=ua] (sl_back) {System Libraries}; +\node[process,xshift=0ex,yshift=-1ex] at (sl_back) {System Libraries}; +\node[process,xshift=0ex,yshift=-2ex] (sl) at (sl_back) {System Libraries}; + +\node[process,xshift=0ex,yshift=-0ex,below of=sl] (os_back) {OS}; +\node[process,xshift=0ex,yshift=-1ex] at (os_back) {OS API}; +\node[process,xshift=0ex,yshift=-2ex] (os) at (os_back) {OS}; + +\node[process,xshift=0ex,yshift=-0ex,left of=mem, below of=os] (cpu) {CPU}; +\node[process,xshift=0ex,yshift=-0ex,right of=cpu] (mem) {Memory}; +\node[process,xshift=0ex,yshift=-0ex,right of=mem] (otherhw) {Other HW}; + +\draw [arrow] (ua) -- (sl); +\draw [arrow] (sl) -- (os); +\draw [arrow] (os) -- (cpu); +\draw [arrow] (os) -- (mem); +\draw [arrow] (os) -- (otherhw); + +TODO: improve + +\end{tikzpicture} diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index 3dcb032..2700d7f 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -1,6 +1,32 @@ % // vim: set ft=tex: -\chapter{Topic Refinement} -% TODO: is this chapter required? +\chapter{Refined Research Questions} + +\section{Software Tests} +% TODO: describe that tests are mostly semantics as opposed to static checks being mostly syntactical and technical +% TODO: Are they necessary in addition to static checks to cover the well-known use-cases and edge-cases. +% TODO: example? + +\section{Definition Of Additional Analysis Rules To Extend Safety Checks} +% TODO: How can Business Logical +% Examples: +% TLB needs to be reset on Task Change +% Registers need to be + +\subsection{Paging} +Setting up and maintaining the paging-structure, as well as allocating physical memory for the virtual pages is a complex task in the \gls{os}. +Developing this part of the \gls{os} is error-prone, and is not well-supported by mainstream \glspl{proglang}. + +\section{Software Fault Isolation} +% TODO: content from \cite{Balasubramanian2017} + +% TODO Which language items help with managing memory? +% TODO How generic can the memory allocators be written? + +% TODO Guarantees to be statically checked: +% TODO * Control access to duplicates in page tables +% TODO * Tasks can't access unallocated (physical) memory +% TODO * Tasks can't access other tasks memory + \chapter{System Programming Conventions} \label{rnd::sysprog-conventions} @@ -17,7 +43,7 @@ PUSH takes value operand which is to be pushed onto the stack. The address in RSP moves towards numerically lower addresses with every PUSH instruction, which stores a new data entry on top. The order is to first change the RSP and then copy the value at its new address. -POP takes a storage reference operand - \gls{CPU} register or memory address. +POP takes a storage reference operand - \gls{cpu} register or memory address. It works in the opposite direction to PUSH. First, consuming the top-most data entry and storing it on the operand location, then moving the RSP address towards the numerically higher RBP address. @@ -37,13 +63,14 @@ For example, PUSHing some value onto the stack before the end of the function wo \paragraph{Called Procedure Setup} \emph{not} with ENTER and LEAVE. - When a procedure is called the stack is set up with the following four components +When a procedure is called, the stack is set up with the \gls{sf}, the four components listed in \cref{lst:amd64-stack-frame-components}. \cite[p.~48]{AMD64Vol1}: +\begin{listing}[h] \begin{enumerate} \item{% Parameters passed to the called procedure (created by the calling procedure). \\ - \textit{Only if parameters don't fit the \gls{CPU} registers} + \textit{Only if parameters don't fit the \gls{cpu} registers} } \item{% Return address (created by the CALL instruction). \\ @@ -55,10 +82,13 @@ For example, PUSHing some value onto the stack before the end of the function wo } \item{% Local variables used by the called procedure. \\ - \textit{This includes the variables passed via \gls{CPU} registers} + \textit{This includes the variables passed via \gls{cpu} registers} } \end{enumerate} -only necessary when there aren't enough \gls{CPU} to pass the parameters. +\caption{\glsentrytext{amd64} Stack-Frame Components} +\label{lst:amd64-stack-frame-components} +\end{listing} +only necessary when there aren't enough \gls{cpu} to pass the parameters. Item 3 is only necessary when The \gls{amd64} manual also lists ENTER and LEAVE as instructions to \textit{"provide support for procedure calls, and are mainly used in high-level languages."}\cite[p.~48]{AMD64Vol1}. @@ -70,75 +100,13 @@ These instruction groups within the called procedure are called prologue and epi \subsection{Full Procedure Call Example} \label{context::introduction::hw-supported-mm::procedure-call-example} -This section combines the separate categories into one complete example that shows how the \gls{stack} is used by various \gls{CPU} instructions to perform procedure calls. +This section combines the separate categories into one complete example that shows how the \gls{stack} is used by various \gls{cpu} instructions to perform procedure calls. The following code samples are extracted from a disassembled binary which was originally created using \gls{Rust}. The Assembler that's shown uses Intel Mnemonic, which generally operates from right to left. For example, \mint{nasm}{mov a, b} copies b to a. -\cref{code::context::examples::func-callee} shows the \gls{Rust} source code of the function \textit{sum}. +\cref{code::context::examples::func-callee-rust} shows the \gls{Rust} source code of the function \textit{sum}. -\section{4-Level Paging Hierarchy on \glsentrytext{amd64}} -\label{rnd::sysprog-conventions::paging-amd64} -On \gls{amd64} "a four-level page-translation data structure is provided to allow long-mode operating systems to translate a 64-Bit virtual-address space into a 52-Bit physical-address space."\cite[p.~18]{AMD64Vol2}. -This allows the system to only hold the \textit{PML4} table, the which is currently referenced by the \textit{Page Map Base Register (CR3)}, available in main memory. - -\cref{fig:virtual-addr-transl} shows the 64-Bit virtual address composition on \gls{amd64}, which uses four-levels of page tables. -Counterintuitively the page-tables are not called level-\textit{n}-page-table, but the levels received distinct names in \citetitle{AMD64Vol2}. -The most-significant Bits labelled as \textit{Sign Extend} are not used for addressing purposes, but must adhere the canonical address form and simply repeat the value of the most-significant implemented Bit \cite[p.~130]{AMD64Vol2}. -The least significant Bits represent the offset within the physical page. -The four groups in between are used to index the page-table at their respective level. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png} -\caption{Virtual to Physical Address in Long Mode\cite{AMD64Vol2}} -\label{fig:virtual-addr-transl} -\end{figure} -\subsubsection{Translation Scheme 4 KiB and 2 MiB Pages} -The \gls{amd64} architecture allows configuring the page-size, two of which will be introduced in this section. -\cref{tab:page-transl-vaddr-composition} displays the virtual address composition for the 4KiB and 2MiB page-size modes on \gls{amd64}. -The direction from top to bottom in the table corresponds to most significant to least significant - left to right - in the virtual address. -The \textit{sign extension} Bits cannot be used for actual information but act as a reservation for future architectural changes. - -\begin{table} - \begin{tabular}{l | c | c} - Description & Bits in 4 KiB Pages & Bits in 2 MiB Pages \\ - \hline - Sign Extend & 12 & 12 \\ - Page-Map-Level-4 Offeset & 9 & 9 \\ - Page-Directory-Pointer Offeset & 9 & 9 \\ - Page-Directory Offeset & 9 & 9 \\ - Page-Table Offeset & 9 & - \\ - Physical Page Offset & 9 & 21 \\ - \end{tabular} - \caption{Paging on \gls{amd64}: Virtual Address Composition 4KiB/2MiB pagesizes} - \label{tab:page-transl-vaddr-composition} -\end{table} - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/amd64-4kb-page-translation-long-mode} -\caption{4-Kbyte Page Translation—Long Mode\cite{AMD64Vol2}} -\label{fig:4kb-page-transl} -\end{figure} - -\cref{fig:4kb-page-transl} shows the detailed virtual address composition for 4 KiB pages, using four levels of page-tables. -It uses four sets of 9-Bit indices in the virtual address, one per hierarchy level, followed by the 9 Bit page-internal offset. - -An alternative approach is displayed in \cref{fig:2mb-page-transl}, using 2 MiB sized pages. -It uses three sets of 9-Bit indices for the page-tables, and a 21-Bit page-internal offset. -Increasing the page-size improves speed and memory-usage and decreases the granularity. -In this specific example the hierarchy is reduced by one level of page-tables. -This reduces the amount of storage required for the page-tables in overall and causes the lookup algorithm to finish faster. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/amd64-2mb-page-translation-long-mode} -\caption{2-Mbyte Page Translation—Long Mode\cite{AMD64Vol2}} -\label{fig:2mb-page-transl} -\end{figure} - -The other supported page sizes, 4 MiB and 1 GiB, as well as intermixing page sizes through the different levels don't add new insight into the mechanism and don't need to be detailed here. % \subsubsection{Top-Level Page Table Self-Reference} % \subsubsection{Caching Lookups} @@ -149,27 +117,30 @@ The other supported page sizes, 4 MiB and 1 GiB, as well as intermixing page siz \begin{listing}[htb] \tikzset{/minted/basename=callee-c} \begin{minted}[autogobble,linenos,breaklines=true]{rust} + TODO \end{minted} \caption{The called function in \gls{Rust}} - \label{code::context::examples::func-callee-c} + \label{code::context::examples::func-callee-rust} \end{listing} -\cref{code::context::examples::func-call} shows a snippet snippet of the calling function. +\cref{code::context::examples::func-call-asm} shows a snippet snippet of the calling function. It stores the arguments within the registers according to the System V X86\_64 calling convention. %TODO REFERENCE The caller doesn't alter the stack-frame pointer (RBP) or the stack pointer (RSP) registers before call, hence the called function must restore these if it alters them. \begin{listing} \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{rust} + TODO \end{minted} \caption{Procedure Call Example: Caller Rust} - \label{code::context::examples::func-call} + \label{code::context::examples::func-call-asm} \end{listing} \begin{listing} \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{nasm} \end{minted} + TODO \caption{Procedure Call Example: Caller Assembly} - \label{code::context::examples::func-call} + \label{code::context::examples::func-call-rust} \end{listing} % \balloon{comment}{ @@ -250,18 +221,110 @@ $74f7: ret ; return to the caller, following the add \caption{Memory Layout Throughout The Procedure Call Steps} \label{fig:proc-call-example-mem} \end{figure} +\FloatBarrier + +\section{4-Level Paging Hierarchy on \glsentrytext{amd64}} +\label{rnd::sysprog-conventions::paging-amd64} +On \gls{amd64} "a four-level page-translation data structure is provided to allow long-mode operating systems to translate a 64-Bit virtual-address space into a 52-Bit physical-address space."\cite[p.~18]{AMD64Vol2}. +This allows the system to only hold the \textit{PML4} table, the which is currently referenced by the \textit{Page Map Base Register (CR3)}, available in main memory. + +\cref{fig:virtual-addr-transl} shows the 64-Bit virtual address composition on \gls{amd64}, which uses four-levels of page tables. +Counterintuitively the page-tables are not called level-\textit{n}-page-table, but the levels received distinct names in \citetitle{AMD64Vol2}. +The most-significant Bits labelled as \textit{Sign Extend} are not used for addressing purposes, but must adhere the canonical address form and simply repeat the value of the most-significant implemented Bit \cite[p.~130]{AMD64Vol2}. +The least significant Bits represent the offset within the physical page. +The four groups in between are used to index the page-table at their respective level. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png} +\caption{Virtual to Physical Address in Long Mode\cite{AMD64Vol2}} +\label{fig:virtual-addr-transl} +\end{figure} +\subsubsection{Translation Scheme 4 KiB and 2 MiB Pages} +The \gls{amd64} architecture allows configuring the page-size, two of which will be introduced in this section. +\cref{tab:page-transl-vaddr-composition} displays the virtual address composition for the 4KiB and 2MiB page-size modes on \gls{amd64}. +The direction from top to bottom in the table corresponds to most significant to least significant - left to right - in the virtual address. +The \textit{sign extension} Bits cannot be used for actual information but act as a reservation for future architectural changes. + +\begin{table} + \begin{tabular}{l | c | c} + Description & Bits in 4 KiB Pages & Bits in 2 MiB Pages \\ + \hline + Sign Extend & 12 & 12 \\ + Page-Map-Level-4 Offeset & 9 & 9 \\ + Page-Directory-Pointer Offeset & 9 & 9 \\ + Page-Directory Offeset & 9 & 9 \\ + Page-Table Offeset & 9 & - \\ + Physical Page Offset & 9 & 21 \\ + \end{tabular} + \caption{Paging on \gls{amd64}: Virtual Address Composition 4KiB/2MiB pagesizes} + \label{tab:page-transl-vaddr-composition} +\end{table} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/amd64-4kb-page-translation-long-mode} +\caption{4-Kbyte Page Translation—Long Mode\cite{AMD64Vol2}} +\label{fig:4kb-page-transl} +\end{figure} + +\cref{fig:4kb-page-transl} shows the detailed virtual address composition for 4 KiB pages, using four levels of page-tables. +It uses four sets of 9-Bit indices in the virtual address, one per hierarchy level, followed by the 9 Bit page-internal offset. + +An alternative approach is displayed in \cref{fig:2mb-page-transl}, using 2 MiB sized pages. +It uses three sets of 9-Bit indices for the page-tables, and a 21-Bit page-internal offset. +Increasing the page-size improves speed and memory-usage and decreases the granularity. +In this specific example the hierarchy is reduced by one level of page-tables. +This reduces the amount of storage required for the page-tables in overall and causes the lookup algorithm to finish faster. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/amd64-2mb-page-translation-long-mode} +\caption{2-Mbyte Page Translation—Long Mode\cite{AMD64Vol2}} +\label{fig:2mb-page-transl} +\end{figure} + +The other supported page sizes, 4 MiB and 1 GiB, as well as intermixing page sizes through the different levels don't add new insight into the mechanism and don't need to be detailed here. + \section{Interrupt Driven Preemptive Context Switches on \glsentrytext{amd64}} \label{rnd::sysprog-conventions::ir-driven-preemptive-cs-amd64} -On \gls{amd64}, the \gls{CPU}'s interrupt mechanism does not switch the full context described previously, but only handles the registers that are necessary to successfully jump to the interrupt function: RFLAGS, RSP, RBP, RIP\footnote{Segment registers are neglected}. +On \gls{amd64}, the \gls{cpu}'s interrupt mechanism does not switch the full context described previously, but only handles the registers that are necessary to successfully jump to the interrupt function: RFLAGS, RSP, RBP, RIP\footnote{Segment registers are neglected}. +\subsection{Interrupts} +% TODO https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf p. 2848 + +\subsection{Context Content} +A description for \gls{amd64} is given in \cref{tab:task-minimum-context-registers}. + +\begin{table} + \begin{tabularx}{\textwidth}{| c | X | X |} + \hline + \textbf{descriptive name} & + \textbf{register names on amd64} & + \textbf{description} \\ + \hline + the instruction pointer register & RIP & address of the next instruction to be fetched \\ + \hline + the stack pointer register & RSP & address of current position in stack \\ + \hline + the flags register & RFLAGS & various attributes, e.g. the interrupt flag \\ + \hline + all general-purpose registers & RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, R8–R15 & arbitrary data \\ + \hline + \end{tabularx} + \caption{Minimum Context Registers on amd64\cite[p.~28]{AMD64Vol2}} + \label{tab:task-minimum-context-registers} +\end{table} + +\subsection{Storing The Context On The Stack} In this scenario, the context is stored on the \gls{stack} of the function that is interrupted. \Cref{fig:amd64-long-mode-interrupt-stac} pictures the \gls{stack} layout on interrupt entry. In order to leverage an interrupt for a context switch, the interrupt function needs to replace these values on the \gls{stack} with values for the new context. CS (Code-Segment) and SS (Stack-Segment) have no effect in \gls{amd64} 64-Bit mode\cite[p.~20]{AMD64Vol1} and can remain unchanged. -The \gls{OS} developer needs to know the exact address where on the \gls{stack} this data structure has been pushed by the \gls{CPU}, and must then manipulate these addresses directly. +The \gls{os} developer needs to know the exact address where on the \gls{stack} this data structure has been pushed by the \gls{cpu}, and must then manipulate these addresses directly. This type of manipulation is inherently dangerous and can not be easily checked by the \gls{compiler}. -The function that handles the interrupt must then use the instruction \textit{iretq}\cite[p.~252]{AMD64Vol2}, to make the \gls{CPU} restore the partial context from the \gls{stack} and continue to function pointed to by the RIP. +The function that handles the interrupt must then use the instruction \textit{iretq}\cite[p.~252]{AMD64Vol2}, to make the \gls{cpu} restore the partial context from the \gls{stack} and continue to function pointed to by the RIP. \begin{figure} @@ -271,40 +334,7 @@ The function that handles the interrupt must then use the instruction \textit{ir \label{fig:amd64-long-mode-interrupt-stac} \end{figure} -For a full context-switch, the other registers that are part of the context need to be handled by the \gls{OS}'s interrupt function. - - -\chapter{Research Questions} - -Setting up and maintaining the paging-structure, as well as allocating physical memory for the virtual pages is a complex task in the \gls{OS}. -Developing this part of the \gls{OS} is error-prone, and is not well-supported by mainstream \glspl{proglang}. - -\section{Definition Of Additional Analysis Rules To Extend Safety Checks} -% TODO: How can Business Logical -% Examples: -% TLB needs to be reset on Task Change -% Registers need to be - -\subsubsection{Software Fault Isolation} -% TODO: content from \cite{Balasubramanian2017} - -\subsection{More Detailed Research Questions} -% TODO Which language items help with managing memory? -% TODO How generic can the memory allocators be written? - -% TODO Guarantees to be statically checked: -% TODO * Control access to duplicates in page tables -% TODO * Tasks can't access unallocated (physical) memory -% TODO * Tasks can't access other tasks memory - -\subsection{Interrupts} -% TODO https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf p. 2848 - -\section{Software Tests} -% TODO: describe that tests are mostly semantics as opposed to static checks being mostly syntactical and technical -% TODO: They necessary in addition to static checks to cover the well-known use-cases and edge-cases. -% TODO: example? - +For a full context-switch, the other registers that are part of the context need to be handled by the \gls{os}'s interrupt function. \chapter{Porting \glsentrytext{C} Vulnerabilities} \label{rnd::porting-c-vulns} @@ -312,8 +342,8 @@ In this chapter, the weakness manifestations from \cref{context::common-mem-safe \chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} -\chapter{Existing \glsentrytext{OS}-Development Projects Based On Rust} -\label{rnd::existing-os-dev-wity-rust} +\chapter{Existing \glsentrytext{os}-Development Projects Based On Rust} +\label{rnd::existing-os-dev-with-rust} \section{Libraries} @@ -326,8 +356,9 @@ In this chapter, the weakness manifestations from \cref{context::common-mem-safe \subsection{Blog OS} \subsection{Redox} \subsection{Tock} +%TODO: mention paper's by tockos team -\chapter{\glsentrytext{imezzos}: Adding Preemptive \glsentrytext{OS}-Level Multitasking} +\chapter{\glsentrytext{imezzos}: Adding Preemptive \glsentrytext{os}-Level Multitasking} \label{rnd::imezzos-preemptive-multitasking} \section{Timed Interrupts For Scheduling and Dispatching} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index 39df8c0..f8819f2 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,6 +3,11 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop +@article{Junker, +author = {Junker, Stefan}, +file = {:home/steveej/src/steveej/msc-thesis/src/docs/thesis.pdf:pdf}, +title = {{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis}} +} @article{Lattner2005, abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, archivePrefix = {arXiv}, diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 4b69b30..45b8665 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -11,10 +11,13 @@ \geometry{a4paper, top=25mm, left=30mm, right=35mm, bottom=35mm, headsep=10mm, footskip=12mm} \usepackage{multirow,tabularx,tabu} +\usepackage{booktabs} \usepackage{spreadtab} +\usepackage{hhline} +\renewcommand{\arraystretch}{1.2} + \usepackage{colortbl} \usepackage[dvipsnames]{xcolor} -\usepackage{hhline} \usepackage[backend=biber,style=numeric,citestyle=numeric,url=true]{biblatex} \addbibresource{thesis.bib} @@ -39,23 +42,20 @@ \usetikzlibrary{tikzmark,mindmap} \usetikzlibrary{chains,shapes.arrows, arrows, positioning,decorations.pathreplacing,bending} \usetikzlibrary{calc} +\usetikzlibrary{matrix,shapes,arrows,positioning} \usepackage{smartdiagram} \usepackage{color} -\usepackage{caption} -\usepackage{subcaption} - \tikzset{/minted/basename/.initial=minted} \appto\theFancyVerbLine{\tikzmark{\pgfkeysvalueof{/minted/basename}\arabic{FancyVerbLine}}} +\usepackage{amsmath} +\usepackage{caption} +\usepackage{subcaption} +\usepackage{wrapfig} \usepackage[parfill]{parskip} -\usepackage{amsmath} - -\usepackage{etoolbox} - \newcommand{\topic}{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis} - \newcommand{\authorOne}{Stefan Junker} \newcommand{\authorOneInit}{SJ} \newcommand{\authorOnestreet}{Alemannenstr. 7} @@ -68,10 +68,10 @@ \newcommand{\studies}{Information Technology - Embedded And Mobile Systems} \newcommand{\startdate}{2017/4/1} \newcommand{\submitdate}{2017/9/29} -\newcommand{\buzzwords}{memory-safety, operating system, rust} +\newcommand{\buzzwords}{memory-safety, operating system development, rust, static software analysis, software vulnerability} % Numbered Subsubsections -\setcounter{secnumdepth}{3} +\setcounter{secnumdepth}{5} \date{Summersemester 2017} \title{\topic} @@ -127,14 +127,17 @@ \newcommand{\cnameref}[1]{\cref{#1} \textit{(\nameref{#1})}} \newcommand{\Cnameref}[1]{\Cref{#1} \textit{(\nameref{#1})}} +\newcommand{\cnamepref}[1]{\cref{#1} \textit{(\nameref{#1}, \cpageref{#1})}} +\newcommand{\Cnamepref}[1]{\Cref{#1} \textit{(\nameref{#1}, \cpageref{#1})}} + %\renewcommand\paragraph{\startsection{paragraph}{4}{\z}% % {-3.25ex\plus -1ex \minus -.2ex}% % {0.0001pt \plus 0.2ex}% % {\normalfont\normalsize\bfseries}} -\renewcommand\subparagraph{\startsection{subparagraph}{5}{\z}% - {-3.25ex\plus -1ex \minus -.2ex}% - {0.0001pt \plus 0.2ex}% - {\normalfont\normalsize\bfseries}} +%\renewcommand\subparagraph{\startsection{subparagraph}{5}{\z}% +% {-3.25ex\plus -1ex \minus -.2ex}% +% {0.0001pt \plus 0.2ex}% +% {\normalfont\normalsize\bfseries}} \newcommand{\iitemA}{\setlength\itemindent{0pt}\item} \newcommand{\iitemB}{\setlength\itemindent{25pt}\item} @@ -163,12 +166,12 @@ \tikzset{east above/.code=\tikz@lib@place@handle@{#1}{south east}{0}{1}{north east}{1}} \tikzset{east below/.code=\tikz@lib@place@handle@{#1}{north east}{0}{-1}{south east}{1}} -% Tikzmark code helpers { +% Tikzmark code helpers \newcommand{\tikzmarkprefix}{\pgfkeysvalueof{/tikz/tikzmark prefix}} \newcommand{\tikzmarkcountprep}[1]{% \tikzset{tikzmark prefix=#1}% -%\tikzset{tikzmark prefixes/#1/counter/.initial=0}% \newcounter{Tikzcounter#1}% +\setcounter{Tikzcounter#1}{0}% } \newcommand{\tikzmarkcount}[1][\tikzmarkprefix]{% \stepcounter{Tikzcounter#1}% @@ -178,7 +181,13 @@ \expandafter\arabic\expandafter{Tikzcounter#1}% } \newcommand{\tikzmarkcircle}[1]{% - \tikz[baseline=-0.77ex]\fill circle[fill=black,radius=1.1ex] node[font=\small,color=white]{#1}; +\tikz[baseline=-0.77ex]\fill circle[fill=black,radius=1.1ex] node[font=\small,color=white]{#1};% +} +\newcommand{\tikzmarkdrawcirclesarg}[1]{% + \begin{tikzpicture}[remember picture,overlay] + \foreach \x in {1,...,\expandafter\arabic{Tikzcounter#1}} + \fill (pic cs:\x)+(1.3ex,0.5ex) circle[fill=black,radius=1.1ex,anchor=west] node[font=\small,color=white]{$\x$}; + \end{tikzpicture}% } \newcommand{\tikzmarkdrawcircles}{% \begin{tikzpicture}[remember picture,overlay] @@ -187,7 +196,25 @@ \end{tikzpicture}% } -% } +% capitablize every First Letter +\let\oldmakefirstuc\makefirstuc +\renewcommand*{\makefirstuc}[1]{% + \def\gls@add@space{}% + \mfu@capitalisewords#1 \@nil\mfu@endcap +} +\def\mfu@capitalisewords#1 #2\mfu@endcap{% + \def\mfu@cap@first{#1}% + \def\mfu@cap@second{#2}% + \gls@add@space + \oldmakefirstuc{#1}% + \def\gls@add@space{ }% + \ifx\mfu@cap@second\@nnil + \let\next@mfu@cap\mfu@noop + \else + \let\next@mfu@cap\mfu@capitalisewords + \fi + \next@mfu@cap#2\mfu@endcap +} \makeatother \include{glossary} diff --git a/src/docs/title.tex b/src/docs/title.tex index 1ff9a02..d259adc 100644 --- a/src/docs/title.tex +++ b/src/docs/title.tex @@ -21,7 +21,7 @@ \begin{tabular}{p{3cm}p{10cm}} Topic: & \textbf{\large \topic} \\[10ex] Applicant: & \authorOne, \authorOnestreet, \authorOnezip$ $ \authorOnecity, \authorOneCountry \\ - & Student Identification Number: \authorOneId\\[10ex] + Matr-Nr.: & \authorOneId\\[10ex] 1st Supervisor: & \supervisorOne\\ 2nd Supervisor: & \supervisorTwo\\[10ex] Start Date: & \startdate\\ From 79a1b918d67f48038f33e96d82c79c0c4bca560b Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 22 Sep 2017 21:00:34 +0200 Subject: [PATCH 118/126] context: os dev concepts 95% done * still missing code snippets for the procedure call example --- src/docs/gfx/TODO-Callstacklayout.png | Bin 0 -> 41105 bytes src/docs/gfx/TODO-Callstacklayout.svg | 61 ++ src/docs/gfx/TODO-callstack-manipulation.png | Bin 0 -> 923292 bytes .../gfx/TODO-heap-stack-example-program.png | Bin 0 -> 43445 bytes src/docs/gfx/TODO-nlevel-paging.jpg | Bin 0 -> 2642878 bytes src/docs/glossary.tex | 6 +- src/docs/parts/context/context.tex | 567 ++++++++++++++---- .../eval_and_conclusion.tex | 14 +- .../research_and_development.tex | 333 +--------- src/docs/thesis.bib | 42 +- src/docs/thesis.tex | 3 +- 11 files changed, 561 insertions(+), 465 deletions(-) create mode 100644 src/docs/gfx/TODO-Callstacklayout.png create mode 100644 src/docs/gfx/TODO-Callstacklayout.svg create mode 100644 src/docs/gfx/TODO-callstack-manipulation.png create mode 100644 src/docs/gfx/TODO-heap-stack-example-program.png create mode 100644 src/docs/gfx/TODO-nlevel-paging.jpg diff --git a/src/docs/gfx/TODO-Callstacklayout.png b/src/docs/gfx/TODO-Callstacklayout.png new file mode 100644 index 0000000000000000000000000000000000000000..5004c035f577bcf28d0dac3b46276d8d66449dd1 GIT binary patch literal 41105 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 literal 0 HcmV?d00001 diff --git a/src/docs/gfx/TODO-Callstacklayout.svg b/src/docs/gfx/TODO-Callstacklayout.svg new file mode 100644 index 0000000..dcfa2d4 --- /dev/null +++ b/src/docs/gfx/TODO-Callstacklayout.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parameters for + DrawSquare + Locals of + DrawSquare + Return Address + Parameters for + DrawLine + Locals of + DrawLine + Return Address + + + stack frame + for + DrawLine + subroutine + + + stack frame + for + DrawSquare + subroutine + + Frame Pointer + Stack Pointer + top of stack + + diff --git a/src/docs/gfx/TODO-callstack-manipulation.png b/src/docs/gfx/TODO-callstack-manipulation.png new file mode 100644 index 0000000000000000000000000000000000000000..0425904442a4e520557702375847b46b772f6a33 GIT binary patch literal 923292 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 z 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´=F2!u!M5)ho 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

FtLDttM75 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 z

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�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%0ALAB^SSjakV#nR#Lug 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

~);IjwQToRt$>r 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

  • 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 literal 0 HcmV?d00001 diff --git a/src/docs/gfx/TODO-heap-stack-example-program.png b/src/docs/gfx/TODO-heap-stack-example-program.png new file mode 100644 index 0000000000000000000000000000000000000000..d88cf3f1da49018051dc842b2d707b8e39aaebf2 GIT binary patch literal 43445 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

    oik*Z=Cu!<$9;nTkZ34nT!GF_dS2}=da`Y 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≈S@rK_#T*)V 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 &|BjOfGxV*XnL6`f3v^*J9O={~4|?Sme&- zwQ1V}|GRg+MOfW@mP@L?4!C`a>z(ZG^!K$|&P6Rxy9LRwror<8NH-2b6+_gIR5yhcWguPx+e@r_}u*bD$lxX)+~r9we@HD z9op_4ud#9RQ=61|#}*pobw78U_#%_x`Yx`J9F=!3nwR-km0o@)9az@bz+v*^^2vN7 zSKj_$pP5pnTp~Pj9yb3(7)~@P8BZ#xdh%>>lhdokrxbq4T}@T$KN0cRy5G(6}qA-AJrG`77`*~S)sgDt6$Y6=g-8yugsXL zr)@9&lqhlFus|031UGhjeOdpiD%Cx+V?*+SPo6crEfITwzxZB*@(#l{f~V%lgIghF9)c3EDB+u7-3s?b-OIR%^>;x1Mgr zr~h7kU!5wlj9KQ}&+1Da8>Sw4GA*#}0keaE#xbLi2~{DD4IMKU`+WS*@Oqh5PnE;DHcJ!w}+)YPnxWG^CYpjxkrvq z)24CSJWKnEW@+c-F4i*d-(MSp@(#c2s>yw-$!sChGv{jVbv6eN*1{gKm+ynk?;1Aw z@mYwl-jv$3P1b!M$4j5ae;1YA#oX>Kmk^oVY$ouuxT~bl#K+srjg8%Mf%8Mv#XKQ> zdwpGgpU&4Suv%-gr{dNVJNKo^{tUSrHy(GYs4` z%+Tj(naA$#6f^7Kb;)9DF1$N&`?K(kUjhCzChjP^wZf_=xhJIfNX@wvjn&t4W-N&= zl$M*t!k6?`uwqEl6~c=@%ajvHq}jF<0Yx2d|UHe<#`v3#9LMI28a{|x!KE_T!L zIR%c(yoKgZ>GNl5(Ds*k<$Ubnju-w>wM%b1E#*9M%-4JKX@?XW!AYDiv@G8&*wGss zEwASOpJ7#ls^MxkF{1@16*Bqm&3$=kNrB##oR8NnS3JxVXU>eft0fsNBy`&`fP>5b zsRPI6o%MGQ9bbRuaG%zZpaT(0eCITrDZGEfk|!}izgY*KeXD~V)BcMFCxdxEi&p-IDW=_$>H)`K5>y`QQ1EcrRW`f zE-8(YPo8Y6`m)^ZL+>REg*oZAD>tt8J@%pS#QC^8@?I0)_-uS^-JJ0FLhvVn=baom zyhr+ZGno5AlT$IlebDGYR$zbVlao%epm!%tItuo}ZU%2Rb z>C`R0#`#I25zGhdAG+SzbePja&|7}r@|{b=gb)+s@7$aBQKE6? zhC4h#UyC;>xLMpO49QK64A4y8S}EP`93_^m)BE(NeYM5$rA*q=QzLm&C4?LfNJ<{h z3e(h@aUtJTUG~I(2C32`tTL8&dp;;j9{3fq;V?@IvlxF3Pr3-h)xU?@6}L5>IO;2V z{+3F`soc~AvsE82%`RHxvCnbKh6nXteWKb0@|CeWEf#Rw?|#uB_QI|3`n?6y-?Hx6 zQ843J?9M-}5!@^@@5?Ln-tLdHx~z~IG;X|85bV2iNyl@`v5gCo&l&ez*>+NfNAAH!_8&Kk zj|$B={my~UN~)SsL}LY)QcmuXIdf93t_U-Cs0+AxtnlQjzKslghVz~8O*2#H^1G(o zb19m!DB_WFP0J*9uH&tLGdo-E?2CJ<{Pf_eZ)dA@)ZCmuZIhW(bNJR;*C)Iyj4D`X z+uE*h+S=}_;3AAaL&C0$Y2o>}aLt?Tn5m&VOF6b8?TX8o$lFM>EScx;0LDJhph=m0(iYEVP2< zKLelUi*xt)*3V||pKU7lUbpJ&%iD5S4QH%To_6xN-TiBgOAExcMI3J_Su*gHEZrfP zA8Gz6yn)}VPjb%-BMIK)y?0kSBt7ufT4BRrzm!#*Ym>9kG>!1S4Re$4ZgZykk{r~W%@*yoyL>sDzuB{%be8XtewG`73kI(VjfW(AuZZr~W?hZROerj%~MlkI(xuFJkuhzU6a-jPEUPEE705 zyRj|qiqO$X2A$L6suHfKyzOSsOsf0tr90S-9$^krA!q?zJxGd46=%?2h2cd+otp zc3GUsql``Ysr8QKzPoIU1$Xq%&@Rwga`EJzoCy#3XXL(r>#Z}%n&WB#zf?*BsxW0q*S?IP%3H_RZ)Nc3Y2-Wlx@W_emF1h3{bOXlu5NcVaNRUh zeFX---F}(p6%$(QxQmWtBB-{14v-#l+Y=KPzvgDW%ZEye?{PaIglmFi@8Ysm(C zv%0B8;;N$7jT4)%&3>wESg`n+rQMe&sw(dc4=mse);iv|ygw`AK+aoci3e$m^&C(3 zH@k#;T@nyzoIF*8(dzc5W$$V~U5!hz?sO`g_x#e*>;s+->-@iOJh1F7Yth;3@A{({ zS`>oJ4Or$!ZBuJF;-a^v__Ti3n%Sz-W)G*Yv(*f7=Ss4;>Mz^wd~enUe$|_8&t6`e zXESZW+@IEUFY>OOylx$2X8GPldu#W;dZ|rON@j_6sWlHics_p_bWnK_!+rBB_QF?(^F>|+q^vGD!1HLX?W<#r5g+(J2AT9oM%h)o;xqiZ zBq&Vm=2Ihy&Y1rU9Lx*kmd*L($<3O?d3>pFu1EqW*E;^?F+nj0cxFU$ru~Dg z$qApHZkfN!;+>pU|@%Di^Iu1M^-+EkZ z{?u3bXT?2#jspLnEo;sRtWc4U31D`~-J_KJ^y%Kr2a2ivvK31lf^3dGnPe$z9I$56 zqGlcUq6fXp_cHjXO3%Ax9<%ZZmm|;aW`6(KSGXphwzy-sTjrAXpCxaV*{?N5J<_{k zUF)A`7!;LYyin3c=*E*PY8FrH%@g0Mmxqbv_L%e=jIoajT;F zrwjOC&*eeO?C+)TP?5{zJG+31jp3xdSB8$$$482vCV4*2co}H4CwaN!anYiijSlYe z!GSRL%u0|a<$Ufb12TzYTZ4nkVdN+-P(VzD5NV-4A^?e?VeBe$uBFr zT3eVuGaft}c4w{S&k9+I?;?!py>ktZtF7L2wkcV8PC~!e1dfA-yM_3Rk7;F0v-of% zrTpI%h6&R-lr3LR@?~-~UeyJbm^mqI z#}hOstv)_=!gKcCDcc3^X$0}{)uqZB2J9&p*f>ee=5z0zzZz0yVx~FodikQ)S*Xpq z^iG;vi2q}`#9QxFId8+bShwO^OZqOUrlm3nSswSB!W0#gbzFPXW9j;CyD2sWE=_I| znlCWzeR=Wyy^TVPcbXLUvFU2JFR zvCBPGmzQGGT224#h%72R z&k$6_Xl9Vz(c!iK z=bA&saw3IuK2@v;<*W;4-Y8q_%}~jBzp3(kmfiuLBW6clSrz+C?a6B}JYV=K%cYs; zT(rU$iANoY6H`wM_gym+nKgXImp`qTxcqVT1oi;7dMTOB0)ac2dkS~IcHjw{dFp4P1G{uz z=4;`poQ90MKGgoYbdS$q&Q-3IQt+H0^Xu8#=mmmzdN;O5e4l&cfUNB+3$x0% zJEom4sI?AVQM2MQ*V-**Usi2g7!Q*N;CN8hHcM}= z;p8h_1&oUo{Vbk~@E4^dtSB!zUX`ViE0^-5Y?;HFl^eD>yuUYhbLD{v{~21D<@ZKL zDl2OrwEObG$&K6dfXtkPAm`1jwsoJnR9tU~dK`1ONor~%U zs!A7d2tLhZJI3lC_#!JMDCN-dm`TN#yIeKa|DIqr&s}Nm_PUc|KD;**to~{+ik!0O zG#99nn{wUtbV}{x+gm+uf1EqtaaNDpF^A_8|CHP<7O-xM*U@sj5qSOHvg-0FDITF4 ztiLQ=9I!9x@4cIgA{g`Sw>$7BI&dAFP&vmsdG3y7Cmy$1$lC2(sjT?zXT&j!sP&46 zCmG#*%uv1{e8Vz#?cM6kll{udPOG!aq|N?)#5Itw`1-u5IzGLh=2USUu5EZwIwjdvQJW4Coxkj>c{r1I5zbCBhyCbg>! zeQcSt8<~^KpD%~iHyVuTJNi`a9%HXkQa$!WX?2In6oxYrlP4G%dW+wh zlq~H0N&fL!F{XMQ{t0sg_$`+oGyc@vA9Fb=;O$AdM{|xG{gk|o*FYxbn8EP|>noZC zm(nyv+t@-je|a`%QspMrAPakgugg5MEoN7{F||E-KJh4nnS}DT*cp$@S*ovG7I>m) z`RhtHr@Q`+IrA8o-kW(ZoTZ@Ry#tR~>ZUcfug+F1>`9utaS>O@m&AFRhk{aFd*m2d zzAZm(84$CdT~dUhSF-%G)da`q_a@FWatOY@!i4Sae6Os-5cVC*JKmX98SxvKhdJPv}#99Ents4l*eHnE&z#$thc zU-o5r&)w_z$5oT3OXHi*!H(Ovmi)FW+|H%hwfKy5|2>HM>>f+zM{U zY994p{;-QdS2oUh#z~twS9@nWs`44$nl&$~dFtyMB`^J1M7WBN$6a9zl{m4;Eq3?* zmdmq~60h{fE(u-|(|W&u%G^bZ1YGLtLgWfK-a7EP@hpFO+@|JlpUXYSTgRum(M%Ld3TaUdEBcWiZ%rIxkquy?+v$$ zdM=xB?1Qwd?T@8><_F*3pLgXV&v71$a~7|C*i}-tTgqRXQ}>@?idE~01IxV5$%aN} zvOmku_u4EH_%qFK-?LtZRcHQ2@LBZ~`}div7kd=;iS$kRF4)I3=hw4&;>|n#K)YSn z8HU<@eB4!&yK}R|0p?4qPh8Uc*?!97miwhO(cYUSU-oH8OxhT@VIIfJu8;D!mmPfn zk0UnXw%ciy^*eh0ELm~R^H=z`6Gt1J+?6HQYyRD+*zrg7s=nSbi!Hr>W_>ORULpE{{g3eWqXxJB#D6l? zPVYXuy*pX!Kf`Gw|KQjEM1M(Yy_tDcq;YpsrNsg^qZw^4C0LIuTw29A=kam}&0`UP zTqjSnE^FNV>+)_-=O1YNg%F%-aqLuoqcfzsknA zcP2BF8>hwgCAsJ)j?HE)@y!8`Zn*FV~?RD@JqL+0@9 z&R|mM^DY-z*c`2Vo8}nw|oHy@_(0#|Xifz8<8v0{Ce_8JL;?ugq-FXh@ zy~?Lasa8(sz1>i`OrkU4z$XnAkAIOyp3D}asSJXT^D6$VV&w^!{L{HomT8&9gf|w- z3l^}ZKIXlAY4#KqBOXm=ktO^(+C3j%2b}P-IA45OgyF|i2APG-3sgcncj%w+h%?gU z-W;`pK}PQG%8f-{JAM}4n|0kmB_xx7M#_QbmNLmU0V^ctF}`i~3fa`!|MBEY4>P5< zvSapB6}%pC+(?ydk6ScbMd(1NQtg2`ll(ka%7wC@KF*MCvFz!$Jnf#6qpW=o+$YcJ zV_5a>gv!t9Fa19+nINitNQNnMjYz`_yZ3fmc)C!nyZyhn6^4nH8T_gX6`vI7dCd66m5p;&1UJ5H zbl{y7WM5KXHjmw_^X}8`Wrr+IEZ@8D*||rYPYQi!G3#gx3mM#eeXU9E$plAftCI>A zlDF84U;EG8HX(SgJGbRe_Q312YCIOaFSD>^j|uj1%BkIb;QY?Tr%tsgvrDL(e3>YE z>itPuaS=A|dS&)`g{QBBFrP!VKKYcl$=>7DVav0Zg z_2zp`dnU^LoLaPY^2tjdb{c`hKe?2|?czx;dUILm_~JP{MNESPwq zgnh53&YLGI6&Zep)P+im$!pf|E#TUiX}u*?;@xAGK4S+?X3q^m3(_xd<=#7EGaswT zkrM}*AC}jZOm?2Mrkr>ARt8NK3k7qVLSJ6a6CCDzRwYX_uZ9Los^6L+JMlk5xxm3! zjtf{qxDFRHpL6`WQu4CI?Q<0-$9IIxPcA)H6|~4O_xBEU3lpKKZS6WcN|^iH*Luo% zss^(Jz2UJ8p7=`BiQ|}6^(-#-iVHk*G4_>25gk$zy4x%SNVfnIc=wb@!qLPd=WfWwgS`{K59P3?^ss2ll%IXQ!kp zXMHMilzcWdEJWHom`=5wB6qF;LCgeF2Okl2N!r3>=0^j5#qg* z@VG0}Tvtq;;ZtGX6mOZuOnUQ{Em2Nl2~%gDXLTWvB}Z^-ET5-M!xk zT?~q8Jrm_Wrg!ChN@$!U(Z5TBak0G?^VfwFW_(*A^L+sacdqJ${|xtISuMHPj7}>` z#;};I=AL%@Y46UHD$h*~`_uzAX&#VmWiX7`XEu-HQO~M(auMH-a?A_hTEJj`Y(}1$ zX6{b)p5%Ltw$0!7Iz7H_%6;eUgd=+$o~?5i>6KLOvpDK-Vt2vm{|wCkro8bElV<*z z;djB!Dx_=LlZWD&%`=K{q!Mx`*IV8`v!Z`Rhn;$O67mraLQ3#-fM=MpZjH# zNfSg^ZL67&GPnv%u=7qymM~ehaK8M!%+wR199GX}?A~)AT%kv%i(&TZjt8RZxn?=< z6%8-%|FpE`r|#29eAaTALh^bFmr7rsPj+C*-s|@4oON?h&G`#Y`YLT%-9A1w5aB;G zHJE$HoOv^CUodHg?%9*_q(`RksLKI&1#V6S!IRI{8ozatC}8(VThzJvv&gTM0OrLx z35E*%r{*!vY|L}d%d)uXclGW`3sH^vP4glix}X26!Nha^Tl;;1+kJdl0Ya`$9z1&s z?!N5kJyYGk{7hEHgN*CCjgyZu-!HhaTt?b+GA*IQXgk^QO8zszU`~NaM2^aSis?htNmMnDF&iH+gB`Lk!E^x z-fpWvCd+(vC&QpshP8h`UYj@V;Bp-gt-2S?^1Tey2_rfeD8mkr}vYb$d@lG zFoYbFc+Bwbyi5Q~`cp& zxmD)#fhD_BJH!h6W`0|+<(+BqcI&EdEBUzetmOVpaXNJ|?^NS^uNgJ14@wrKWFI_N z+=W9)`EKcsLs?~^?c`SH>xCz6G4Q~=9p3M3BB7@=UtLpi|PWtCtkKcV6 zxP(Xc<~o1-L+s8D{NWSpoE9@LV4L{)OwNM7L$h8bYimAdmXWGVx})`=@mhoOot3|* z1~7ejG~>-5tz_2S^RB8-d*k=dspq-Pr8mA^!4?WqEZ>wrOY)s*vQCy`$B;H> z&F+H36JKAN9PZ%$Y*Ec_58JAcjZ+fX*!_=$Fzft|<^K`#npq&!U!_Ep!9uU#6yuUl z0qZ{OH;|v|(rKcwWx3@Wey?eg158MwH-&UELjSTe8T*+Td1sb{jM9#;vS?QKo7hr+7obwgc*- zO4fhxK4E;7F|ldAzc^lxIckos9=O7O$-!%-mRU22T%$eML-v7{y1KaOf zd_8L9aY)_f`%C}ci`TXImzy*QHY6;qw0-5wJT<+0^6`g0hh{S8C=}mY;;eAGgn79M zBkLxw;+-4^A28oqdrT!`1OM5+DK{eWtlf-XdZbz!>N7VKUTcurw6S&}$MHI=fKOW* zR`a#@Flbpece3m^m&uJv{CxZjLqfE=ZK3Bo=0&r3m!B*=UF5#Ls;1%Hx%#M1rHIB) z3uUYMrf}S^*D0IWz{=pG5~>*4aGpW%$|aR2C!cAYIA7N`EB8Eu%*4yK`=yFmniQWd zu&^(YzcxKUvucwINbca#Op-iKN3U0jjqco%xduvi_ z`gY0|25#1T7?LpWYQof`VlQ4WvNJqkJZ9+EpqLge!F^%gm-7aFi{}>yEq;HzmA%{UXa!lp$=oY<(2NWJ8ZtJ5(kZ zpVNvx=a-V;Ai*rFwe9I-MSj11S2$CJYStcQ;4RkNskLXB1^b`OPbw+tr)B1GE~~jM z-Xl{Lvb)aV!50z6P@4-UpB>+l_dXCU+ zvNZR^?CEnpc6IoiSL1r<#*kI}GU73>qJs9qX&h zJ)Gyy^4U*!Pr;ApleRR>Tc3( zwlx#93pe-2JX)-;uh4MgrGNh29li_O)6Uv+tT29itm;CLQu1D=jmK)Wg2JE1d~%n$ zoYrKTI#HS7@g(ctQjXJdmNBqAN#4sWwNQ4?q1k>FF(u2-BzGyjZ{^zil1U@sNUee9 zrUTa*Tz5A(9{d*~aBSVBCBJ%Py86Gnv^k!5tiILbh70HR2?qXaU9K%Ue$7VMa$y92b@a)Zl+ z1=j9zS7IBPMB^vuamhTFtysjo(`UEcrw_(KCfSEmCR9(nak=PTghvuj_W^}s4-OSR zk=9V#vYj%QBd68R^bFd=pZrfWGrVZ-VTI64rPK*in5R8AVN}U^D?e>{=0D-SuSrhI zJq$-4uX7FGK1o?RPvYRMOy`;Rvy2lyaJ+TkNi$B3tSavL&!Dwk=8y?PpNGUZxverA zO}wu^3t)Rw@+(C3cA?HHivtH=JMc$F&OCL@>^}o@`L7E;LC5zwEZ}SZwB*xf`O{bU zqv{TB*ZuCwpmck}zQPGi>`wdFdTw*+F*#y1?d^ryOx1ZJKY1D&7_y3F)=6GrsN(y= z(08!oRttZT<%%h66W%_ZS=cv2`i{15tGe1zGk>>wO|Iq3fT=#M z6Btez82hyI9pPk9+|768hR_+Mq{u!$1H-_5y3^0tTF+AHIo6nR_{n31!14_TgaQgD z7}#y;N^vk&tO$7W>GV9!Q=7C_+7@1ss=Fl4b(nd zj2Mm`uy`H3B`c)OaYvusyshlhLV8cQ@hASPSimVenZ-nVPQu5~prq^Ca+eIO`?L-# z-ihoyX2HBbR7IURF~B`}OX-&d>^_at4Ell@@(%pI%Fz2{YWJVL7PhavyE`7YoaACt z_@d6-mF08P=2$nw{3wQOf!@pWnp$}`SUsKCevhSamMgEyy=1R5oWJ+YyW*?Sp5ws~ zWFWn*R)aCfwb7-5K~5xjuaWP?BR&aF`s2Pl@A&Xjd7i^E51IcAtL>gONX5CcDYLzw z-eh%IM)UXyBWuA+%eFYpe;xBBCw)?u`JK~G^mWANPiv6t*squ)Q^dYh=-h=3;XS?2 zd-$~MH~VbN-ELj+f?d>PqIeIpyhBCs+xHGU;wm+}tEvO?YnCN#e9&NSDS7;-h?YWt zB1CtmpW(tm=<#TicyvhWBL-da5URLN~ci+8+S zp`i|n?heL|F7as@5AO7=x?R=y(nVlR5wq5l#_t_3-v@1J60r=rxA*17V`+&S`1XA6 z)0)=9F*9ICpA%bg&tEOw^@4^!cd~E%`fatYpqr8VoZsJ;F$?<7V7PJ2(Dj#svh=pv zLsfjdc7ZYmJ?ok0F5UGzIPRhDLy7YijJtjZ3qC1T>~pJ&vkr2wi+senqt8*kHB{*I zw32q+-3x48ZLdq*6?3#axcuf41(Sm1T1O`CR%>I@KJj$%yxZE_ug_oV@jc;fgp&5B z-i3WxzMa~uzn01e~RJx*`L$p4mFmjiG7^FP-7{}vEuE6Iji3%@EJ((?VGCO=(Ad>=iBppizhuy zVqK=_VC%UcmhEn=Yu;^6nS^H@PbQ{Dilq7#`7=~s@n$LBK5Jt;-+tpN{-~LP(^DAg zUYS}KRn20*P`YMXXYSJ$#v%uW{|voO<~vn?d^ze7cBjFTL8gJfs?*!k?4HxAkA43c z9y_#5@DyZBdhl`grS9mUPkYwgWO+E<@;`%3NaM+P-O0?hUjMfIE^#?$`Q`C?5e5Un z!>xXWKSN8yelD3>RKZ$&ZT(596?{7s%8pm9&{Lii8urt>Eb&&OZHMeMwV&5zlII^< z(tn~!siEk}gM!Ls9uvr{r*sm?$F+0UF;#bPt#mxbR+kGW>@Ca)-oJ_tqtI7P>)o;&c z8hcDgFu$j4ua@CqrZ8D%>dzZh7g(pec{DOluz0p|>mpBsIqyz=ytd}Zb$+hDiwv0N zPr1BjrgH5gRSh@K?+dt2%LM69-?6T0V$e;4Hr~|*EU6#FEl#emOVn=Z(2G`RKDhD{ z>-^+O=b|r?3w#CREsWfhd;T2V`NgE^Vp{IZr5(8&h<; znB|s#ILdTUV8-K!?Z;c$*HxVS`YU*?w@wNtV+hQgCyOr`zw6osPpxfl0*S>d`ZV#|AFF^Mni`$c|dSFF9<;PmeI zk}s>a9!QXb6tZMN>wV&xsHF4$b0^Ip1m?(#WOv-ouvF*&z!f3BXzbmISo zjb-Y+acMhTIZvq1>Gw%m1b@80JvkHZLRo8uwD-d6vr#$I;Xx^-sQqQkYeT=WaC8l@r zZTqMf|K#t*oLqV8N660*hU0StU&btNXpYbPunz=C-l|6dgS;*DvMtsb(8VI?_XA2di<8pU{&=yTZ`o@DilBc%C-C@)pbjV@3Wno zaZlJ0+p}x!OtexukDoeV$Wr<`xcg$E_TOm_CiO9k%4Y4GYr5}Jt6fftfTd0S*H!mV zOGY+^ocwvds5*E$T>>A!EdO4GvZ)+40!ykIJx!tmPK$XPo_xOY(KG{9_S)T5 zxyPfbkFX!+;GC8tXZP`i=AxVCo8LaEnl*7jWT0YUo7)N5&9|0(`mUM3>&8>}`p;bx zv~y==8a#9}+_K)}$DUcGMvhMeE&A65#P8MdUe+gD7y{%O&7 zrjQn`Npm?KO$-VvO?R?j5&l=Z@?c76#wTXR)-PG|yYUS1am-nqAD& zfAKr}*w=FO2o^b8Jeb!I+MOmi=~LtVeboWFUDM?=h1MkJox5Fe`=6=mj@%hV-pP`0 z-(;Q^n7Y((^EBT683mfjY-SSe1$R%rb}%vX-^@6TMW|BcQ=xD5iBq{AH@3NFO?sy? zFZY9h1cSumTOA7zF-7Dtq{X8pZbL09#Z>4qceJ(G6WRxVFm!g!lO@Iu)F z-x$%4{gYXG=KK>;aue`4Imy7{Ri=}bMep_gpt`v$CO=D>xLmREbX9<(reu(L^6!0H zr5_ys#5kwKWYUR){(;BY?XFC__U5s++M^vOl^P_}_!V3W!hiHvO;b8`(D*{B`ee^< zp?wZ_m?!rq`+jOVaas1jcgY9U7u;Ij)a>X!`hD|dQ#mH3w`mqn`lAwO`P;wwxZ(wa z?m72$TAm78yF)ir3uy>nP@X8dVeyW47Av2&RVr|-?a_0ze?Duq)*>TL;W>G6{P|In z-=4eh_D*c-dc%Do{e8&C6NyLOELdH8r!aKNiH%JSGWsm@_D6+f zM%r9E7g4bLSADDX)Qt(JHcfJ3*t_BWxrxa+Y}|bY?Z1MP6${piee6HgkrF9b=VWn$ zeZ{gRhOd_APg^B^qh#U4P;VVAeo4zeD=!@Bl{7MwSZB2J@rNZzi;H%?Ja{~?Cn)cM zVO)4ZazIG!e}Y_*w4pwTXV=Mf2tsSp^^amOtZR;f4D4rOG+}yWIF~F0iQS8$Uf~m7MEwQCa9o z&7Ty;uACLAzvt_pZm7PWh;3}>F*D}6k{$oADQkxx$3beMYVvMh7M z^yhk>vl3g;ICDd*!_P|Qtqf5S%}#+ab3TR3YEC+;W6jl6ZpI-uZ>tQak%i@Bi%{9U zXCrt5a?_IBtOHoY1&(VT-o|D)KkurR>;#iS>qNK6hJPWK1Wu?Pi|vVlm9+@u=EZO-=9Jc z##n(>jgzX9xB6_H{y0%>L7TDio6chouSo6QefsnYi@+;#Ul=ZPdHre@ikr730ZP6k!Y*BUgB?ls_K+3sd&V zkwJlBSILIOYVQo^^pq~(=-uUHox+poF0taKgu+Y*nQ~dXEiGr%H2Wv?Ep86}dDeF4 zww@x!V-J0WZt`w=_xk$>e)X;iF6VBhJ>GCUilt{sj?90C-95p)52iQ#$TMrQ4&FLp zoyP{@-p>ByKQC7c79V=>?vF-6SO>Ud@(f%Tf%h4;_dnEB1fFK+HWZv&iSIg zf306ql3nZqgD2^0!!z!g-Fd%b@}$B`)1Mp3-%pU=ecaLQu(RGm)q;z2EBBKot0R}Mw`RG{!9wnd0;%T;&w8aW8LirJ z-tG9ORg11F{+uph+i=`uS!DS`Wu65*mn1&5URkx%E%AHP=g_CUbBj_H8hakEjbfbf zPS)^RyW<9Shf`I}4gv=`dU(%xKYn)JtJv%d->Ry@-RmDaKd(4`isP7uK&~YB?qx;Q z0Sxn%c-9r)T9Tr(x}AAm#nSkh+a9auOMG2gEYflDBqvKLuLGy@N`=PT3~7sg&U(ss zKs;0A%l6#e$^qg9$8Eai^KvuXZO>w8^YCg^wrW*>#=cH7VUncEr%Sm9_-8P__AaP7 zYRDEOx>qZ@#KAm;$#&NT<`hAvmgpyi2b9-eThx-mtj1ly=PzpW)UZ|3@=5chncJDS z72a!5P7k`XP+1{?|JsxZGOG*wShj{iu_X8DjxXn#mWT^(@s)F{suKLN zEMJjp`5A}b3;u;NL>KI2$kQ@gHP2ISYJy+4lH0<@)X?(8NoH} zkf*un!Q4}YZ~L?M3J57!&t|Q-qa~RXrqJ)x$}aMW$Ee+To|RD5UrmO|%F!MoI};AS z7xv#&G5Kl#s;}<@V$&XO7ZA}-^?2D;<+tjfOKq)KgZhp+-*YBe{R-i@J;gwA^QAS8 zzn@q?);xZC*W!w6Iyq0+j$fNQgQvQ4iZEBR!U1KOka;CI7bUV(@(G(S6|V)#(?$t+@1ZuBYytug94`tyGFVFvb!1^+y?t~SI z%Do4R{A1>nE;((IID@JBt*F^m|0(N}uM}v`*WIHSW_$XT2IGpQmw6BVy1c|;cJPml zC%!D}xKs0B;&HF)JsXeiTzrn>vI!?4HG$ z?|AJEzvek3BQ1vobw3$xk|kE^Of+NbdHZGA9wX+RB2VVEe010*UOsE#VwsYKJjHG* zdDaFjUw>V`>te{n!QG{JSko=|g*cpHQ25VBLqOo?q;y{AbvFY$L}3 zmSpA+t6uBR@OD2T>;Bl`q|Ku=&Ml8+tAm$J{I0c#VgJ$Qv+}zWH#G5Cb-8S3VBi+B zTioa%w4l#{XUF5^BK{iZPc%zB@6T%ebELL$hb*gx{^pb!2W-+BgiJkdGq9d~&b-%8 zoIxk+{3|0PS0}-4v5f1DpSD*i&-hUI<-h`NgT(Ke55Apz@A))_HH^o2Ubw8?6nFMH z=KT+4je}I&%VHkO6y9o3t`rq`7kj5cbD7iQtOCb_$C;)cbXRCFzHILmZ#c8^xZf5= zx!Ag}Uvq*33?+|0(ezF%+s!<$;qsL~J6KwoTfdla{$#T7i>WL5@$sqbj3-x&g$+JM zD-;yYnkvm)Ry^^-1#ZX4Ju@tF*420JKelL+&xSrzm0yiVy|>D4J1e1(@X6{@&Ye0R z{l^Z66q~Q4Uz+y7Q@MAY!@+abmjh!BVt5avn>4+2ydiD#n0XdM=}s4)lsS(ld;H#| z#`$)#Z^p^mE@^gl6Qeyj2GPyO|1-ojs5GZ&?s#nZd{$)0`E4n6>`^jPy0se5-QV3+ zrEp7JecntF2E`C|7R}@Lm?!&`O^Y=0D{ioS?KSNWYvJz9SH2#)du|+aKRbW&J`Ki| zd51a9lvmHY^14YSv^yclc2{FpAs_$Qc~$eHlErQ?uh3y*PF}HqZQcov1Iv6~i@0{p zv$Xq~CF;9+&Xd27=S}Hln2`JSt%JzI8N2@MVSmn2@@S3I;-1GAPp+h~H9uu;l@Y$T zc-yo}@w3x=kNlZk6~OXlzeR1st!kco z$|_mn!9|m}7zfw+-`op*I@M)jJm*!H$a{q|d0d!!CcZ)a-lT#XvKz0fP2-d}aWjXp zr~2|!rogQS9&cR0by1Q{Dt=18^SrC7n@(!aZMXP+MTV1!RV8_?j-jXYq!n(3lO2Rb z4SUZXW3S4YY<~CovnOd&cLrZxt}v^qP)UCJyozrk3?3=vC)H)Ai|PpSwi_n*Im&9T z;+Et@)e$y22No@MQ2ma2;zcrzx{9CMsEgKgI7-S4(t?%Q&;uj28&BgRI5?|T*W zg%-$KHD39kc|Sl!`1lUJ!cR{oWqvf;a6ZXGX>n@jlb;5AKL#nN8S$Sg?$cT~lxCQ*=EK)E@x-*pV8pIO!LG;5e0=Z zW>eYC)1@OTWzScIhfX!?I4sv<_-Jyn{+H5~OeW4_=`)-n?Qu}|=k=EpXIajF z%iQpa4|`F*vgSZ9?AGc!v{^KGWRZ_dr$ZqC3r^UW#Xgq6E=BFO3?^#J7DqeyVAb1y`6V%Phq+# z`r-Q@;cL>d=EuxWJZSUw-FRfV#lhz?{nLmz0c}+!YEOmUy`M75!u>Ii|sw#Nzq1p{VNdR*#jtwWVt>nb(E5Zzy%hx_yHrG`>?iA0D@<^Vj_IQ7?^M%Gs zl3pwN8>|XXE;oA~u)FY8W>f;7fuF@uk2Piq-)#bz6T44$1{S&bt6Y{dQ|wAes4DbI zQT(PYQz}!Cxo+u%%AANYh9V8djT{%ZAD?^1_)S)5hyMHPEE6xySaJKraft)JF3)r8 zwM%dpc{f4GMf~)6n_qodnrnOJYbPA5u(Y|nc+QsOQ@#g2RM(k&I-uZGDROUtiJSS) z_Dv09^A>CpJ)lz9d~fmbIkU?iFrRa;n%Z`RIX_SHM)`$a&+bm;pYC@>wmtBapEcu) zYw+i5DVzVWr&p>teKOn;vqe;u3~#57gn`=V>A3p=;gSBN~|V|ee)OEH( z{s_%bR+;yF!BXB$cEU}yn)4E4+7j${zxI?CmOEbL@vK4hCRdX0(hU{TyT32+k@@#d zhtKiEv(=NzjW+zO=9(DI!Kl2-JzQaLxSb*|#xO1J`NFn1$W!o_l(NtXn+-+vUP(`6_nOP`DqY>h^?R|xiseT< z`%haO57Lagaf1C!)syW`nb8T>0m*%gUlt^*e5$!9UF074(qCv(Vv@tXyIN}f&-C^d zScp8#yS?X{tb2YGL)EF+&04t@FZ?Z+dw=F%X3r(+`14M#`oy!I8(SjJ=d}c|mbVBQ zHrP+~lu~$j@_2zJ*E-ARmoH81(43QgU8zCY(0XHtrL4PzQsc9QvJI~cuT5i8`YFv) zCb2lX$77xK2kXEM{NeZN`5rY&f9$_-CFiNU#oHj|xwDTMREOp;Ez&6xOSg_*^nAgB z=VxO39L{-sUAC#Svsm8o)0}ThosujRq^2-0@9hj)XH|UE_33Kk^=E89-dl42Q+|NE zNsp9=Q8c@KMTy-Nh6YWB=PG z-=YfUt>$M=D2i6RcMwx?jbLhWynXw1s8WlHb?on{YxI7>Ht_oW9=f>3P2f=RNt-C(XGxY!Yo$b@_Zws}X!kiBTusN{&y6U;? zwjoaudtlgxv)|p7CjMzKdcapWIrIsqK&$ez<8?b0zh&69CeSeMeIMgWAJ%^vw-xxT zL$ppwu%2Ul{yH#Q=%QtfOGux`&)QXj5_iuT)oOVjubIQupKSPKlE9U;UCT8%d#Y6Lna*PGb#*Y^b?z@ zcIcVG;SUR>HVUM0uocdmx%{0IN9e(qN6p_{6u);vrR3nsLoKWkAF67$FiL6aPg*Qp zU|sAx@rIq`zL0ZoxPo@DKR@u!S5VnyxBnTZp6_oRZf#iiylUO$wwUI=E1Qkn7|Yok zEZ#fx^S0QxRfUL`oh?=nbYncmEqC}*BYzP0;}x=+y&|pOSH@W+_RK2iX<%gTzt%JN zq2Qq>zrHPCJH!#ROh@+k{4AH5-}lr-FceOzniI0o?Zd{2OV!nvCwd$|m$WbHgI!(* zqi*xNJ5LR&7_`dR6N5Y%J{4YD?QWDJq5QLY-c-BiAuP>3CF)xlc+BzQAMuJc*15E1_*=IO`lw;FV|v>b1JEFZPbz>k^X@V3IB14k#U7C!LS z*TB7C_6J90xhc91&d=Fn_ZqjIeET-o_|I;q$u9$qDg${Y8Q$J&E6=gI_qfcH0457J z2@^%h#p4PZ}G{MW66{B~8)bor;W*L8h8}nPR{FT+394RU3IGA3V=4QgpoW!UdD9lHUr%CC*#E^u7CJ z`}94%cP&@WFq-=H{8ER5DzpDaoRqD;5b<*EoWE~m7%zWW!n*O(`X^eUTT9!86Kp}hP(eg*7VPE0!<7#_D+erj2Yf}ONX`t_|wMoI?~Pd<3Nfcbld z*(V2^kA7jD4gJ-AZ;K3XTwt9P8qL60H9smWP^R^JYGIGo z#nu=md#~7omU^7_=Ngng?>Qi4n)q^OK_(Al+q2{o5Bi#>8J)Q!Q+#i}-ZN=si(}?8 z=}JwJVq!`Ql_ctx@aJv0en;g%{FJ_Z{~5e0BaNqoD#-b2=S@gv5PW?uLu^g=k510M zf?BO3{#zNDCs}>}6(V?yOHyRR$%AJtN&^m0GVr@Ky^v>z?lbYEiUZoO-v@Ctc5M7* z$i959Q1p`fdsLeE9Wr-lUil}tRdw~G=G}||HH+n=x;*B__b~RgZYcKaFsV2#JkPH> zD2C?&^Q7W=mLlARYbAQv&KX%>?&;kk(A!Y)c&}-l3&&w~iIcLKA6IgpT(F4goQn0y zCm(DzPfMmAx3p_olGx-KQ&n}vexHPOzijOb#SA9%z#pG%Gy9GSF{ivUd4A`O^l}-2 z%-c103=(W>U&u~7Vj;Lqgkgu}w}moFZ+(yC9alFsnRfAECkyku=CzK3CHcDTr~4LM zP6DOVY1pJu-~G5o4w6JJg<1pli&`+ZFe6`yz=XE z?EJj4$MgKxGT6B>I{MGHb+n&rC3}QtBUhGrPrG#Bjwc(IOLFPmVyNsdW ze_mOv+>?Cy-VFYPC3)PRnr{TBPLpZxNoVJ))m)P*$f`2&epkWYXIzbwEZ=$^Fultq z>c{#1POavQFeM+pz5k}%6e@b0$&frh=F%F=fTiV(=N`ZIVK-B25q~_V_;r|+lZdd~ z;|mk7i^huXV9}R#-|NjY`|@*k%NNy`G8-m)-C#0et9my1tx&>>NQJQp9 zhCgZ|m*QvX^*+qkmOZe#t5Q_+$?DIJxGS4__vHO5^vP}$65i5a#T9T~>%silvc7x| z9Jl8*n0e;!s?~~kJNMYr0&B)DGf|80kCo;iI1>e_eWG0o%)0 zW?z^2YIv3l@qO%Ro|h>w{ejHHg9jI+tbV#fAUUzW!0sb z$BunAn^PwmvuJ11Lk_=aiMIjK2Mu+~zkYu<$9xL6;T``VR?klz%{mRazi-A}b#|7| z`_HiX#1gSMi{%;_jY&UP5+=U%`x#R?d*j3j3@gOS7<4)une7%e-g>b~+4bhrKE@|f zkyBMqDsPv38{lr7=x32PcVkd$@#F(XStd;RxozHzC(kCb|Jl;dK1=m;SrRL6^9kiy zo+7Qx7Vio)nCf*{SvU9@A9(A%LB+=G+IeML+f_@}T8l=Uv%j@EFhPHYhsvk>ry2w$ zHZpvXxpd;>78S$fo_FV82F_hRclpy}Mp~XSCRzNa8hXrYuP_Q^27d2dJdZ7Nt;(7M zO@@D5`h2~u+EQ;-$ged%)hF?76`!B~*|QEDqJIt?Y>;gb*=(T2R$UdGR6o1P>6@tH zy(7~s&)aG;vg8U`^=oWYw=J+LUzR^{nc#6bbGbDZOv`vwm~xVpmuU)T&DXd2`s4!3 zZ6=r9b3I=kb$G+l8j)_xAgdLcsyw;p>(TIix0W((ax{h*Yo$hiFy0=>w*=XI-4rj3M(fhTYg>EsFU5A$LIN6)H+ws zGw^+5U}x~zn@=B}_^ZKwCw0r3BNOhFDNWb$__^&@`o<-On*pD*w)NW4D&!ys3 zj~UXRJzB%Y+mb&!|L$4GLhe0BteQBU&-=n?7SQnXz?TKPmN=or-Bsq-VX$tp4*7Je(`lQ5``rW27R*1>*tLl5WzQFzste320U;AC zj;~dnt?^tketlKJ)F-Xe3VJ8@u&$c6uco|BI^}0XAHTBvr3O>gr)7Qf_P2&M-E&yD zG-tw{2Oon^YjoXdnpxAw>TsQ%u_f|!$rlmE#DrVFcgZA6u1xD?2w483pmJ5XzDi-f zSGP{|~ z{@$v{eHS}<@|DKGPMa0q&Z;@QW3|gU*09pT;)Dppwe4-!r2~48l&Utvn3B-sUAVLRON z@$Uu0KL2Zr%NkCYC${RIyD0ZH$T6;=ZtI-0PfnCgVzVk?YA|^+mx*6rxsTCQezu-{ z+3L6Rrp8^c=&n}dJbBAEazpQ2&iM-I+OrrU_593bG>&n;bUL?$!LMNFv)SkVPAXcG zGWoTai{Ya6QzyeDdqbJXZ!KLE&|mn|t1h zCfZls4iWzJRk`u4x9k#UBg44)n(A{xQkSr9KRLmli`~(IcZaSV|Fkvi0cX21lw93x zQqmPdW;VZ@z?s-r9W16U%yHGapxA+1_0Vy-55}#>&)%AucD7(%*_)nk5(^ipHl`@E zFMMnw^eA6fB-z5|u?S;kO1!GmHoH87y_x-=yi$bBm3j8=*UCG4QAob=hE&S$sWT5I zA6J&S5OgD@U5{U3-h)2Rvg7&EV_q#Pec8!H?>UJ*6lA zW=Xi6y{yxoot(Z*D`m%hjaxe{Wp^ywZS2|cNV@p@=F7K54rH73?aa7Ymp|os^U=_V zmPvxoCVqVzc02P{7v~)|KMRq&6PpS+pHFnX#l$G1voPgh@WSI&@mdxKlKB0Yxi<7L zO?vY6c~3~V##)IRM>jbhkhtx^c2vlVS=7R&O;jbDX`^9d-x019BP0IJQyyEM%iMVT zq|EL|Q?Ky!XuNbi;CWYR%Bms;36uF5H~s}4)IAV-%>7!&6wU)l1#Cu#CwqjY@P1~h zPT%ll0c-f&8UNnDYnEIx z9#gu_Eu-|%QI<7aVE?SMb{uyPGA~$evL?7NhT+D!%riF~41Y8_2>2)+pE{xXvE>r! z#X+lzisv7iw@7{FW(l2Dm47rlJ7oP1gztNJsX?ZEBj@(Xmp?6hd+3N#`Q78{a(}fv zJ@izPDj1l%`rJ4cc`Dsw=L+xQoOZ~X#pwwX;{(P(uVl?#mS&Ugmvkje40Va-5^mF~ zT&dcvwMk#nMy7OuZ$w|gr*jcIxvcoJ+9dMq5}$ol&wF@j=>(zGQ|~qz1}$0DxwFlv zaJvZe1&pHmf}`01#W+EsP!%U4?k z4J5-Q4!nFHAbIqh(Q<_zCJv>!JpO9WD!t7Ln|6pWrlvP0+7&V|e|r3B)vun9T8j=f ztM2;s@xXEuPphdnTzgs@} z<$1LwnU6dFOnY^|T)BU#oxx;Qi(?L!M}u~1tS&n6?$h;zb7l+Q`fU%raZ!?6fL-#X z%bQhkvd5Pd9bc9qx!q?{QQ?Ks@5=(7M(Uopx3`Mt3A0B88^pvUecr09fp5>Zf3_nGjKkaedzk_{y)|#ld3$z|+THdnV9WvcW#H-ZAnymoH$Q%xQFVe_4G;*Ssrl>hJoVw5{q|mN@0^idzoa7x=cO*37uF&8{Z- zPJs3ccb!7jgL5=;&-NZ}JZgKh{k)60zRVTFd7I-{f%by@~ z)_%&4-!~XL;&wcr<>7M1vgTbI(k8hU&GQ-zwA0$%Sh z#|_VeHokYTka;vyhD|jyVDgS9z4uSeH@#DMXhrwQ2b#97-q~5-SvektzyB4){Qu%s z)0MMKC%g;VYkZ|TVB6aKBEhMCA9vQ}6&`pJI{U`IzzH73(|)e#3Nu>7@p;FC?Mq7} zA|g)l>)qHq|L^RsC;LoYbBmWmzr5ADTeNfg&-CTn{kGmfbAZ8!)8zfq z29Fs&yPKa+2xpe5kBT@xRpE9)bfJuK$*+*C*>~2YI=(-jwUNbDl)3c$>3RF3$}TWH z`*iJU<0LosJP)S%`2`J<0*~u0&qwvWGu?5hW@)=q-4^fVyCw()^i>>q!e0~8AllhE zq4hAIqs*73w}luS9=e}?rSZvYUC6uREIh@RCZFtm%F3+GVD#YehXtI4WMm$Ae!6?kRLD*ZkQbua}un?rxuH8FZ7SsHlFbv^K*xhkgm3s$`3EY?ezZ7EdzX zW)?hm`LoyWH1n261PY%kXP9T`wM<=tc{{_rLSMsMPiyuaF?-<|+$q{0U!^+F-#E*O zt@6Crc8>Np4}2s}&fmi>v8r5fcA21)<6+*rKh7Ft9eJ&#^{)Jwzq-lWwL6UF9=30k zn<~w5&uFQU=hv4($DXO)l}c$n$Z$dN%?fctJx&FqXRBBHq-0!qIOW0my?$wiZt-cJ zaTZIMPv;xCovAo?!TJJ|WbARBD#k{yb&b-Qs_pEyJDyEhKck^zdggI;%RejggdEI; zIPAVK%9vf!aCQDP`E%O5+?1qKoBk|Gw0yois&x08{>B0rn9Fnn%oVyjf&uwwCypG%o1@$nVkT3Q*+8k6_VZVHbev%;yz zHV?i&n)z*o_|pQ$Vg$6z=gN$#8J-PfK zE#TpUTX*;Jd!4!v_30kN_N6Hkc=DK;MVD%M8|um|o~oSHBT$>ccvd)HXN|eV9gihV znaXpM4D8l&+773hJ=O8#V2KZS+-tDITZWkw8Sxnm|)!$ z-rpPb&(7J%++=)djmNr+W=HP0v#^u4nP11eAQuv{8D#Pcm%e1p>b-OI5tdM;CY~iU5jGZQ5rlq=U zpO{k9^Mt48iur^`0v|W?m_^(EUBMj_p~70TlkKa@RGl5ix4Nrjt=`J;pMlGLx1hqk zrJlCOO}@${ZL;DqI98h>Yq(aB8jOY03s;l!2Qv)6rzC7x3VqV0JHxhh>*BXR09{L__dq17~ z{nrJ@Kj}|n(6D&iRrij)u4saErCrtB%V>#DCR=x*^*)9AfWb90H-1&#L?HyXt+7=_#_B9G1N4b5iWL7td{alDack3S*R49QxQl zy>F}No%d4HT2k8`gSW737o7OAIpB@*`})ZqtbMQ2TdWn58_L%E)vxuGRP6lBoi54# zqwq%1L6JZ+m5HAJ9@t!7mt<&`%*>F`d`13s$Rx&zx7v?IPb!{d73>pq_>-c}?W)IJ zGn_nmC(qr}0NP_0wc4;kPc(K$`_Hnzdtcr!6x*yKB*^etTyN){kmsVjTbv@x*BQTZ zvsjsX=(tGN(kWsp)4ncJ?OYP+!LHmRH|5xcO^59ag&Ej?n`&vF&TnwcNqD|-$>;J^ zf#!GCArl20WKVq);kq^PwDgGuCNs6zDqdfj{oU=7^@q&QOgl6M3nG%|@bm;9sXq5T zfHSV;i-~Bqz=@5kO#VEXGxb>U`=IDuA~`~u?YvWKKHe6Y*zx#aMc=*U%njORMggaL z*WTc%zLKr1(4vN)b4d-!QN&x+;e z9@Jbs;(0vKCnEM=vKarz+6*SM)^~P64x!I&Kk;Xko;?z_Bk7>C09)l*Uzu#Fmb<-o z`0Bm#Z+sL?2v8~ zzfkC)TI72`|6O;2yid@|^n}IF6pC)FNUl`=&b)BB_O6`?23AjfnK#RCd??*rIM4XC z?|r+AJ9o-g@O<_$ijmy;bIKRx6)UAA8BSU#OFU~-d=?U3Vl;fEam=mV!28I!%K%- z8?`++v=6>8(hRa`E#>lH-x|K7G;U+xo=3}_w;8RP%l;%o;Mf$-BUud66)Im%4eE7P zeKNj0t5dYA_l0@-zVgiIjL}h z@s{QwMwP5Skp?$=sh((tM3VmxV*)&XUEHfOSYGmY0Q~;@Yg@nC`K7SM};1lqD4zs)?{BPJgL0@%gUu& zCl^hcuV;DkS;xYN)456B=1#?3VbzSWvYn{`A&d=~r?)J77I&C!+Bfw+gKa&`LgwuD zb9Gj|&fg~F&3w?l{6E85zXz(j79A5adA#B=Gl)CQ^I@u*okX(Q3>ih~{@})4ORZHH zPM))3_TjiybXkG9ePuM)g6*%YFN;3@^k+$bqU5p6OY`qGaoQBI7r%Dkm^kfs_uFP~ z-rdKROtaLTb6I!hk!NP=ECuclkNUm;)Ny^{W$U712f@?ZGzBF}ZL2=|`|E6bBVhe( zR_JwI#mAQ~E&Lpp%CoZfc+an(FebO#JDyAGm_7e_rCY&CiTAVN<9Yk8OpLafQO3Q! zC*ePX)l>!vpSe3vFwHxl*_#rtdtKr0JI#)Xx94`b%d{TPnt1Y_l#zu*s;$)GG}ht` zDZejnV3Jt3SYM>!@roDqTHOWPRIDcM?wj(XOfMy3YUIWpJt_Z8Rf;&3P9A$;a72!A z0h@77>{CbPt!(Kj(jhsCm&>CHCh0CQX<)o^A@}}!w*@?WoJU!<7ODO2?)Y)yr0o7* zS9+zC8ASLPk5zqH{!__EyHB*;`MSvKj!7PS4j7252pD&H|8d1Z&<<)plG<~8?MELghXft?fMbJ@&|$0dC<4zfQ}zP2QHc8g=5k$Gd_ zCZPvSZniHZr57`{GVEWuQn9E@%*@k~*h%PS1nMM;(p-eHVLU7hqRl z#2R;N)hbWv&6iDi77BI>Hh3H>bl_QCRYyYA61&DW;p-Dq63P2ho#$UUw$;`(R0)hmsFo6ruynQ?+aGz zQxdF`Rr>C2IiMU<_er>^aNf^_Pb?43sd~1g!EM1h16y7*@3fw}_l3;!&u?W=pR=Yb zS@Lm@+?Gjyj!!%&^X;e`)A1=bWe48+MTQ8h@2e^>b`Vyd!r-vbL*l@aSq~R8DDli& zFehNGNQ$_{quF+kX8&cESisn1qA(}r+loDFPw%#nt}a`0bGp%l^5pAFB`tp6W%s#q zBGywpX@%C4R+;B}4Nj@)tcvt_c|6c32i3A?8}ZuDS}@l+P&Ja&)Im+z9fq{K0c6`r4+^NZMu zd?PCigv2?0kGE>viJ7yF;}5IgoA?O=)?G9E-#G>zb3Z*RjB%Bd zMwrcahRVtXdTGeADl^OQ{BI(@ZQuv z%agUf2cCHA^}ww?+3*I#@q1rH7H1|gJbvloA!-})_3oYEM-l%XNF0Cad}C>Dlg5-~ zSNj|6UdU!l%2=GQ^2E%D&Fb>?oCGt6bFBQ51;$(Cqa0T$^|@<=wpqURJrJg6abC8n zYx>D#v5=nTvtf2cA6^;$iMzt$8JfiKEROR?iykVpd#S%} zKU7!q3)C20*eb%X>!wN(YYfAIWVxB^&-VY&dfuvfX@91~@(a1sF6xWiaaJ;9UDnw6 z+4!=}qkZ50w%SxLtN8t`=Hgdfv!}7TxxsH!WFDnG=qa-aVBg3-SK|FK3uW0CY2n<8 zGV}AUxGNMlUw(aQiK2mc-xNlU?Vsy>O23`0$bb7&=k;&Z2oThbEg@DoX|w`<*8-&>zxp}zl`oKlp<+lyv8S#|r*?K|D4DC1@JSlPDf0`sE8 z4ci)D=9^t;`o_HegMm&bjH;|`jhPOo+-Ob#yMIJIc*@$HFz zpPq!>>z>%Z`)}sk{I=5yiC37k4)&&W@I5TZWQ^VLLxrcmDk51rWTisi%43>wMjd7v zue~H(+wS*#V`~sMdwAN6&*J&s@SXWaN=k9nJYQGNGo8rDkkU6}nR9AB)1QVXpWHGS zJME`31T`d9mn~PWTq4-`igU%2n-k0?-{2`-DH@`|Smf~9mrOxOL~j$2~zmT|R|~*&5zj!*P>&n`l+(_wP%DnWS0f$jI=u%{6now0z~0kcn@4 z4UBvD8auo>wUINZ=*(i7glEeqd0b~nd8bevbYkh1b#Iq67~ctUm+9_F?Pr$1*0@Z6 z%8Gj>2`lne&#LoYp~Wv-=#xH`Pfb3sE0i%rrLciNxGT(Kp@gP#B1`k|g zZ8dcT+HE(zGknk%!0X836T5`RU*hCymT7@I8qceXEWBiTz+v?Ziv?_z(n)tXEhJB_ znCQ$ih2i`6m2t1k8(RYZEcvt`DEio%C7$=UFI8c#J0tjA@Jb2WG>_)i6Mv3-P4ZoM zh~<^7)di)A7jnM-(YU@qK+A23hJ^b5sBkylW3?})oN8_0+G!(v=Yr(K(4N)vrkXSU zOgv$EoK8~Gj8h>nK#8aH%HFF#MnbL zGC6QZnQf-%l8MsWE*UU=UBEuYxsyw{uU+-T#RZj zj?1L8tIgEiQM8Uz;`v(7d;yQ9=eFlfo-vBdMFE2b7aeZmGRwTaf8KEjsOje|=W|v<)lNnfn$Lx{2Ee z&fCA#cNb^>q=-N3_pw=?v$||^pe|LWKPsnZsgq8{fv-z@Rr5|MA2^)%D$~T9cg+u- zpD{J7`&gy7P2zvVYNv5cW}5o)wc1BSD^;Fu_K0PBcZ*p|?!GB^lew^m<%FpRMHTx? zDtON)xO=fD2~U^ktvDa(eO+_+jfX1>0?kC2nb&FZWH_Y7?{4lXUl6w8$4s_>l&N1O zC6>4J@SfnS?&?$OR6kcd@ze9Q9&FKhZyq)7-O6uqgz0B(^}IzhCOz_9@Myk?!|{U$ zWy?MXaD3Xmz31EGr3_zE`c|t8Ht)7LSJjp5EHU}at>PXYxhcC-J~J(lIB%+~_gvBA zycgrEjwRC+X2&+LBuhS?<&msz9o)c{`OoP~iUME5r3Z6XJmAj>P%`})(R|&O-79`e zvfw&S+wxM826=OSF=6Is=c8;U%~TPdA9sb}!-ENn*V${8bbcyWF!^n0Nbbzo+YBi( z-_J(Kq_azYwFzLZI}>TPQn{yA^V}kdU2+E|`@22a^vObUN%*}tW<2^)W=uP_*EVvC z9Xx;btd)h27gy`KN|q~6*{ARBn^PG2EG_FJ<1;B z23TD_7&A4v$^EJ4hV^GJBrjiT=E7Lc5_I#i@>0f)D)svq+m&Tk*>5&FrTXdka`lNp z(TTGqnQz~k+IhoC&29_doBs2b%-8$;KQBLV^W=kxw-!&7+#qQD<*m>5p5|?CDt$i| zSaurqm@7|gZf>$%@igFfU0C9d$FjRGUw!Okz96TRX%ffd{-Q;#cf6A=&oZ6~pTM?* z&++$;IIG&sj|+b@l`F39 zS;Cyaz?Y%=a>2Jl3=2NFpE-VQwx%mf>C01Hy^+i7r#HU#EiJXw?LXE~?%cAX`_n&@ zCvGX9g(cJ(9>}hl>u$oX%H$_NX`SbTBlMT0@ zDV~)qsOKTWQ&71gBeS7+&w6FH*(yPj?eBgZSDBT4#6d_?{l@p@l9G!QCZA_`zEtrG ztIZpAmC|R^Qqvu`IsRFt@nDig)0zJa=Ib5b`bA82yKpCYD`TzekxAy$IN2qR#{@_6 zWGuF6Z0>*Q)#(0fpVgPI%WH3V&&fMxP$42@tlq$Jr|!k^D9%I)uEn-H7cOCDXJ2L^ zt2rU}v-~y5r(rLjhuRKpI2`YQS^St@I z^J|w$CPqK!C2((-NWRx`J6oV#^7VU1=N2uuzc+3apLlX5JWH+r$*Jc%-Uh7w(BkSc!MDDL%RCaQq!=c0^WU?4F0*Q$ zmdBIxtQN}Bt*$&d8&@Px+WYsTOECXeAA<+N+ih1csxGE=wM!m1<)8QFHgjHr;e<-2)(sc5{P{vJul#lSagWXHMrBzMncxEx z7UuqaonrRcS)PNwa3p|Ucau_`WDP0FBN&pdYI=e-^#Mc(AeOXG6Vk} zU*(jO-<|sY1np7LP~CjYLgcE%@iSFLzDy#Ecs9PUs@3QW;XU=3eZza-DaI=~?)+z{ z=-YC_Sg7HLj+_6o45pkDFGBRLvCsLoV&?pW&W}A!Zq-*doY?!tOmyj~E zOSC-xWo44UstJdm0~~WW0XAkY~C5J{Jecmy_^v$p^wj4$3m^O1s2f~IHl;8b@T-e#7fNz%3T#z=`g6b6Gz;^*xZ^9- zrd9m8Aa3*R@lx+Fh9(KKr@=B$p08Z?neWlYCieKX(h&xHM;`agD*M9!RFCamLy%@h zTeH%?4;sg;k`~QOzqwaf$2~Eus9WN$=5fgt$#c_+Ha>a#VE#*o852B29yxHnpXEKr zB&LY*<-93BlY2dTd_KpxfKz!#XL82V!U=2yB!cZQa;ns(&E9q zd0YH?RX0Rj$+LKUYpHu|j||(L;^iTObZ_3Hws)jB%b_tW? zo;-?s9z-vA@c5+zr|gD^148fZ_Ga1NaWtGFCUNXRb=QPbeJq7@j6U3u)slP=>6oc} zdjeyE}Q_fWtU%s@kD@-^i`7Hc@Mlis`5y~zFe9|cn+i2MyHGKlEQV2 z&s#2FTXbOUbS~-qGwxL-@s_MN3}wwO-0XR0%kak1WZJvsto=M1jB$3{KNqmR(ozkb zIkn@l*2~O`HmH%A$FP8NX=>aZ`KpzLf-{d#={)c<=uvP(72on- zAseD+6nsix{?7FM*9DfqXdADZL!JzUeOiu!49C{7xfNB1Trg>Vp69>TU0aV^uz~-c z?Y=3DQ5?&SHWnGqpTcLc+@`3~$>W2gg}SYww@gFt=}F5QGT(%_?wp=~wy|%@1;Jy- z-xoO8t}2}wT7JB*u&+8KOIX#>X3k?%$&S@J0eu3Wj4w^T!uaQq=foXv_D$vX`8_pc z<8#rBl{wQ?KHgjKDRSx(!_*Dp3}25g%V3zgWP89vPv#ZsmP`5)joO>@&+yrqAT{RZA5shqN)EB-nHkcXgL;mgIOV{QZ2QV`Q6guLS;S-AzNR^=pDnv- z`00b?v&N-`7mvvWD#jJ|?OhpZe0<@Orbyl`Z89SO*+m(|ORsY^Dd*1VGiI7BNke|n^s;iYMTKf%7zJ2fTO}0^j^I4HQ!>=pnx^xe` zt7^P8GkI5v^<##{gR(Cp8YPuKn=l40E-h5(eir;`YXl!pf=qMsmnB@!RgQVcmsDL= zV_{U(Jt-r2f$va*sN$y^c7^jSWw@qnT6TZF+`O&qv(D{gH+gRqP+)OfeHKH?=C@%9 zw|82eTy*hfQtUf_$)El9UfJ3kc`i0?;fh`H!kMA+94~|Q`Jda~J>g@os_{A%vdXx5 zQpEhvM_mMjKee8CV;$`5-MHoJgLPH?UJO%jy4*{j##WIdRTnu!H0PgbtZa;^f^biQ z+*B6xSv}K@lw5eS3f3Gcs_xHX*lwcr)bEmH^{l4Kb@8is#JZ8SN^w{Ga>lI3m zdofg|-QopEra;jG?;{WE*yV$R{h?A z6U$@$w+UFV%NG0X+_^&{V&NUb^YW(_W+?55zkmF5pAo-E!?dF;7vJ+dwzL zlfy24mH&kO#F{t`EtZ0^YzX&zoifv8L?23d0FOp8FwM^ z+s6a%P4W!W2tVob!ECKbOGLy4Ly5Ns*k&8{ncVxBdy*l2ucPS60;UupBR=~>Yx-x& z>->Fq-1fx=!9!0kEI3wpAtdSU&Fv>8R8kmcMciG;I8TA$fVI|P^;?Oze){y!zHT3t z8Ns%En#l3*U4P$v`?B!b^;4PZETS@^7Rwa^I1`Hh*j%ktJ-sE5L)z`a-G5t5nCBIV zdN8bf@;UTg&F^=w12%9m9iLZpGx@-3P6>lWoBrH<^7v=aW+pbdOr1$G={r6;Pi2TPz(GpL%F5eM)JSl*u-!Vve z`}8M5Zk2I`&c~mN#+w`q=yNz%+pDdhedi9t>74r&r3!r(%OpNDKKUou*ceo4_%7Y` zAWNRzmYdws)=9Q+9C!+EuYc*eG(k42Gk03fwB*nBUzU5k7hXSwTjr~*eN=S4;o6xT z@|tQ!g`cI0JYMZfS;bc0(l=$+2L9gA#lJn3%RE&0rgDG!9ohD#^mdR=Ti`zVuPFr! zN^Cy{oZ#N}sJTFSdzORW?Bqk*>GKS<_CBdAS*^w7HE+xJiYpp9Oof-5y{)`DpH(&# zHn3-{7PuJVugEFU+fi4Z%uqc`Ju_FvvT=@Z(<%r1sM;P*scC%Y0{11nowwEW^1GHT zf$7XGCf5!r_C3247x$RQz-*FzR84cmXJvVV7sYQwgMIqEdk?Xm|Gq7~YpX(bg!hAw zCyvJiGp@SK*x5CWc@bBelS|{_T;;~|@rUM}NeQ&6SDNQ$tGV!22(RwC@a+zczk;H< zQ|wIiW~(0-s8lI`lT~_OhF3y`XWGlNToZQ)HE*;AUyJ;-1HoFJIg7pP}=l z`i;c&UcdXhHza4MbaAHM=Qv$xH<4%J$?sE2WUZxM)~M%ORdn6@dX6D~rgu?Y)24kA zFD~AHDIhqVgX7RP&d1lbmgt$Tm?hmmRZU@=Rq~3nF`g4&To*d5l0BnA%ldIw+qp}c zPYsW~T6iK&{@ziu$RvYzjh>8kG4njWe_5XC^6sqQh7?9i+MbPQf9Kqm8u3G2 z=0C%)RcB^QWbD1cA+N9wEIpd%XRZo`IZIc^XWIldbUdy0XZ&|qE&riPJ9ZGZh zT)daV zcZLLw*R!^yxU+WkS$z(yT%2jJ?#(BLC5+EJzq$TAaE{@Du+wy*TxRR(>TJ{Qr#xM9 z?3y3jyQ|VaR~9}yuI9zCpm9RQ>n^6lPbMtj*GZgRAkA*SRxwoK)0CRUef3Kfbaj?K zleaVQkY8$NEn_gp;mFDd&$*i&BC;g)-X`Ck=a?ocZ`3-oCa*$1?btN4Uh302e%mY^J zcxRirJmrjlp26T(A1nosqkBnf;xvcuhRBN$c}wiEk_BBs`w5{N99J4MvW~ zi_e?Nd}?lxo=_>bMMQT&OP-U=>e@&CQI!o=@|t`X53pQb(EWt(PqO6qCB|Nran=S4 zIC8fgdehUu^Jl+L=#}$#!*6jMdsDJ%lS*CUy`Lq&m-MyG&({{csmB>7(bxXcVeQh+ zlfk`b4_dolTPkGYnB>vNVVT2!YC-FxHp9k-<$FC<|1dlXW1d$Pz@L;hDOlpOWSg6V z`ZDX#fcHW_Hzv&8uW4)OH#?v!BGl&SgHnbN&Z?e;fydbI%4!N-?M~Kdu=*lz^k|ls z)0;?aW)% zjS~Y;mt6byD7bgYoSqA;_ml&iKe<~Rb^D|fnc87ikyE-Rdu_P!>NRUyA2bHst=M+k ze|zS-nH$94t$H&5RD*d?YW<9K+3$s2;qy#f)3n^!on!Jl>U1ii-M9X(KB+!Q`DbSk z-vg_pJ-_mAT|d0Nd~@b4y{VN}#|ok%X0Rq$9`|DSwtH>dDIJ+s37PbTOZr25qo1)X z4=6mw9`$qgvH4q{_k4M+zv;z1_AOJN+rM7UBGDdGIP0^$Ox>0JTjEwPx$U^9VxFv= z#!@DerW@8@Pf9*6_;!?`_AryX$y=42C0<6GrZYzTPFwgiz>(9$e)j0pSxaMr>iXZ16ty`ppT`(akSJCii^ut5~PU-?Cq% zCb>2{wa&(Mwb!>#CQ)mq9}8r7C-V7l`MV6}_xb{L*XlRVZ?V5@G7?wK(}`U(tp7)cGCZ_hgzq=RbTt z?e?D&%dZ45e)>{)|7GmRluE&xXg>+s8XPNY7LH&(JjC z<*cV$rq7f7QLpoTqvmbK9XHlEJYMmjJ*or=_^@lr`d2SGWz(A3AUc! zA6#Gc^8N>(e4fnu%=t&;Z1OoK3ls*Tju}c4E=3#dyo0IUDMX8oaX3r z*)iSvnBn!GS9KXa&b9u>b@F4~t&8*Wn{So8OFXfq@8e>YdFClkzO2vwJEcCqp5;%$ z$CCTJd!iT0^Zw|ZeCBe~oyrO4Eac+eH97eEJ$@NcFKqu{`aHH=jhFX%OwSy5?uRrP%jBhp3hkOxA{%r4 zLX^)*BN3t0>1|IwcEveF>h086>fN{4CT+=-_EbgTE6MbWS;Z0);h$nQiHK0q0cH= zWLsODC--$(tFEBlNs{MnEsoi)cqY1AV9y%E-SWn%W%Cwaxw7HTrYS)Wp87qzd#>Vb z;Avr}#-zCLMOPyf=1b4mkaW9`pZWGnUt6YYZgY~~3pqMB%~+W1WRA$ zI{8h%6Qsf!w{86Qb*l6S(NqCDMrHN;qH(&b)h->#dyuy5#)h4V%@d5OgLpfiFljis z7`7g`V-+a8+kKni+#6>dCY@AJ*l^CsEi-gUx1zYj>sjnOo;R0Wo5RF--mlmr&Zl_DC^W3#|y+9j@~C{fx_;I=3C3y5IYBPTi#m6gUR}~8hgc>$p;k$C;?YC0_ z{~5%U`x*jd9aI#17TYpBm{sKQzB#}7q|C>&+J~iFn4W)plVv|mMQ4@Yy|S*vom$6D z0`q5fT5oK%)#$IcNZ@;TSSsnR#N@M|HqS{h_sIomB)3kq&n zXm4O?!mwuIs)pq@HTRA!nz8AT&tv8Z?pdLH(JVak7W!2z&A5;tIPty-!?%1pgL1(a z6$=z5y!p?dHq%-(_Tr*x$5`EE?_J|nN#RLtn%CB#tD_jA$G~MBR1kgIsa~soKKJr> z7goNUd~e1f*NL&=+r?H!vY zHnIBhzZa-`!BDj>vzOyDGehAGxha#ppKQB2L7?vaUIvd-%C~l~Jh#=HE^&Y2yd6u! zA{|b=xGA}$`16~dZ7EMQWizD074Ghe{gF2(2#143f8I`l%@p!;@ zrHgwy!v@O-=}WB?PI%sJIeu4psnJv>3TPfqgm zWBjLNxnwrKUP$iqrA!-cp6F$e_}OugX;JG^>B*Mov*s*2IPK))r8;r}kCoXPJ0?tS zOFd@m%FuECKSR`#^Z>I7{tH)xHYA-rag@PUp5>VFr}i{zID>?T1XtP<>x z*ZW+##Cr4D$ySTEwUa zFMnL5uv~hIOqu$e3#Nq^Z=F>99O`gV^5im`UUr`4laH_Ukm=E@Jib&rx?Pg{bCs}z zZj(gh<4l_~Js&t;`ZtIwSbdRXndPDT@BAcBg*lJ!&3pfh!Qr@UdlZ{7Yr(GzA3AXS1LvBu(f#Ur4k~& zmtSd?q)MXFbC%jmhRqJlHxFx@obhD%B)RK~>q7ZM48KAiIYg{ldEjlJsL=_pbysBs zyBPd6!@{N*a{1qV?cbNK6*#3jc~-xWroo<>!KV_lyi-2Sm|nbP9-DC&L+_N;DMHS2 zEy*GheU~n7ILCJ9$|W~>Ntx!O0=M7#C_a#%F)7>jK;w*jhYxy{KR;i-we(!XG6SpU zwplS+dKVT;z7Etnu4%AX;P49Oy|x0}g1!8*)y((i?iZYUeB}d;w+?^b)8DyIFn;^mTYP4ZMc{FX_d#3lFlchlc^WIRKE8* z>XZ|r%=}@Q^^@n7?7u=Atllz)&*4eFHfM832wUhu`KfA8C-)vn`N}-2ujb7OhK~VT z86V!*kh@@B+mfCK1!m8CCI&`Vu9e8Fuz13EZ^}mv<SlC>ibf?_e~t}ep;%Zd7eu8$8oM)(mPLoUlF^632&Y@i{SetzWY)A zN*PV7AD3Cm&HK{3Cn3G3WJ&MT4JY_Ko-50@GTcnOBXL~)=@(J|GrG#hoaTIC-9I;~ zbAH0-q+dysJi_1S{_M{Q;4Ibldb7gj1fyo}!s;uHeHTt1E|n?LJk_|EcaHqEMcJi& zZVDUIp8UFC{i-JTKLcy)kHkX$<}dp@X2niAZ^(8tweV17`vmub!kGPk1nVEAo?SO} z{U7~nX}npg{27*P)(w`9uXa4!xBBn4I?-45;`V8Gv)#8Htj-9EjytO26e0ZYJkx$X z`y~0kpc?VNE0wlhON@@lUpLh>Vx3BwOW{sW$J@F+6CK^(JYDki^29#7ROY=AeP-Hw z1S6~bwx_O&a$FPPGb!r6%O+z1kHaImOa>ZkQTF3-p1 zU8kKtJmHbc?w(gR!AJYTB&!mM^=nOegPkwys_wt0uiPgQ+9$ceJNH5O^W|?dAMK8p z`O&*4(&p1ofsK8aOrLfOZ*O$SsW$&3-0w2&y7#`1CPkGSH*XP}B=&&yasK|QUz5)G zH}1}K*te%S&iA)cjp_Cul^@!@x9x2gH@e-Kn)ByizkT_}=WDC}IJ#s{Y+!eG;8^Hw zaQDZfMd>$O5_i~4;QFMVJD7DE_>IoF7{f|QVVA572D4o@!s*I>}Z4lC+7r> z^9y7eeLJ}fQ;%5-dcN>>J{jEb=kdBMW2?m}bL71u_1YOe6&}B|Xh&xUi$43c#!{WO zJ4UAp&--0D7W9)>{uDpk;!P!!47v{nwjX>^tCfChzG7nkT856xX%{6`7!Mp=o-2Kb z@9|QF-YC}^IexaO{?mT@pFJ-bcja#Dj^mAsp48mC@?*Qj??yLvkwrfGr*@vto3Sz} zgyEe{uwxQy@N=Pvzju7`drD&3XopC4MihJR881xmlxk=ZT*l zD}}=D2%mnu^Sy`C?a!s>*Lq8}$fdN~9pB3QLiw>IN7c9G?s^6u%F8(3I!gXLp4T+- z*!!>P{Xz9!?5mypYObgl$Ss@3X5GN7EbF-}Wp#d7nC)eey3dOXXR+^+YuRW$g^AzM zWdg&3DbH;+m6>glEnf!xbY-wSVZVGU%NEDpIT|Ownmp@MJ8ae5cwCm(Dm3Kpv&-kB zlAmXQM*RYxo@m@4k^XhLmA3ob<&AT=*6mkWQge90ftSJVDkr~R-miWofF;RbjYK-L zOrNp$&c_KSB^BmrrOjkum$jPgxn%>3faCWCVIpQP_9ahZcYYn%-P*wvGWoz`o8ZVN z?2Md`-}7m*WGa1luJHM+-(%6a%j4q@Etp*;*k*U{%8N4-+ZaE;I6iBN`^0(0cS=?= zS*WEa_`P#uv}N_w>~TuaSZ-Tu=ob<4)WhaO=CP{*jglvr7s^~_#kZ#3HBdUQlHTYWw9w4M_*F!JnCuq4f~q;acULAmy*?oM_N+3a(bSlg-)t@{ zS;5l$V-{C*M28RG*8{O@d(ur+439;h4JdNAwAGlZG|~OtF~_&BJ!OhC6(&?Z_#I%B z+GoW0DMYWD@5@e?r;aC=*63t6S$+1Dar4=E?BemLC2fXtHuHEm^A*p}32}@t%t?8C zZP|e^l^zDGM~kP-UCvy{AlUas^$Po~liE*a9Eg8-@T|prD}3m(94rC@An?qviJ}A)7QJ+BlyS&T5kBN#tXAxGL%36ejzqScava z`|nPb$YYHNGB7+Y+iJM@uxKhX^YW!!5{>h=wA^jCHc;T3w?%7Ddfhq6THBWs#1Fl5 z;NKc?GVl}sp{5dr3DZt=>AvCTvUs*Mplj8d8Ob+h^>8ZHuKn?Bn%L*MB(8qH{k@FU zhWBFfKQ|chGs|kO+i@`M;L1eT13{j@t`tpLqIb`JDyweusy=t7>2*gLiho=-PtK{4 z>AR}u)YmQ_#d*PH%Hwx()oD}jpN*ew`Q7BoEYTpZl=Vqk7BhCL9%_F1^6P@78*NgZ z{=EHpQFT*-{OM=Qv>v)WIcIs)U#9Vx*#!0?4N30XDa~^juT%$ZVbI!fLfPW1&ZWdp z{7*gi7x5jJ>AS+n^J2DB&*#3mD_JJ(Vh~9&cYCL)l3u)7;`xv2%Znxo9;ly^&hWU4 zVG^I+3x>w7iEFPOkSS7x7kzjsT?%Ai6it!a1X@bFzxP%>nkqQzj_ zo|Vk6pym8IwQ%Cg;4NK@VayW)w`@3ed*|`|>9dwh;0;q|crb5IS8-EvT+6TIr79a6 zY94r6yuAHkVdT`pd5dL2862nn^s_C}?3dt+&;QR56EOSWJ$66CAeSc-_&A?Wb`YKA z(kbFLgXQyaXJ>YUJeh44caLe6_NG`Sahzw-SDI9@ZPBht?%&&~#9RZ4n;U&vIjpB7%OuVFmy+Pw$LoE=lc#|3?*o=n$z=~be%!r$d#TJB|I-Iv zWOV5?T$H<^b@=NN-KLoJcO^w0yccHPGVKLdmnh%E{VQeWd|ke&HU3^zvO<8=B7yj4 zdX*;+9A{c$@Q#`P^2Qe#g4#7Vj@uNT)mjZ-+>#C?>E(-Af$7oY);v- z*&#Fk96QcF@wI=swby@!sEkb}s=_(##pQ{|GAq;MvL1RIl$#R$GrLuL?&3y2Ek4oc zJ85m+PU4@Y1_moH%Pd;Rr1`7(R?D0Zst!g)ZbgNDj2(x1%=61iF^k1{?AzI9UE!E_Ii*JPfW2NugtOi?*$-Lu=5-=6@;;X%LlhL!l_$<} zFkSnD&3J;vffY3emd{_fyinfo;s7B%&$<}RGKY%7)=f7g;y-Ba~9E4@KkgwOC8$Ffa}n*0oJ zHApR(&TRXuZ>rKl=T`Y(pBC+PPi4whio8+vd{L{x*vmEJ#Khvh`SD)LP8*-3FTZ=% zD!45y><+KVf(a{wLi+A)5o>KOInsMW%lLd%vDTuApM`2YO(lgmZYUg1VW?gCO7K|9 zxj)HIEfxrEWa{|#&{3hp^0j}sk)E^!dsi5PhLfc%gNaF&((Ud2d0)5=xliJFAYk!z zrGVC^ZEpl@tFC0NlF>hV;?$hdC6k0yS;Zw}q&T-WRmLtcJhq&nWZCi=c4-pNZT?zc z>9AD)a87fQN8g$T;l>jp3>(k&JXy`$eAfPK!tJhyULU_Ma}_asz-RpObudHE(Qd)k zW9-Eag5tLLCX&znY!TZ9 z!-Ff9PGCt?nqC*wy`TW_9RVn*qj?=IB{Zgmw>3m3j@ou%-ahx1KIc=X`T{_ zIIQ!SeUklB=F^grzk&lEJPej?-|BovXp@+S%PGOV1#X#Vg^u?;_;`|itwPb--TOBz zU&SeW_PqUxOVZ)Wfx;_7UtjsymF&XeSYdDGXuI;X%>I&Pb#V(G&$)Ex@YKT$l?!4P z`)*mE$5D9jx!shB$CQ00I165o3KiCjnEHV`T{hE?Yo4RR=d+B7D;W=@AM<$96~%qMRT9uLy&nB@3xW8?WCUdxaz)mPr} z_5|HNykYL+_i}8RYs&==y;N~oue>zeUjM8*!`1EF#w?#U*sii%YusMIchA9Y%Pz4k z&Pj)PR>*v8%5rOS6p*e|UzX9iIE2k{OW~X#Z;g}~;WirqO`g`ki_)1trxf--^=o^) zU!h!Ld2$`o1jEZFDa74P}NeFEZQG@9%8$cl@$4QoK&I@TgPb zj>;>mm>3`HItb~XF?Wm3E;9D*lArxOS>pBA1x_D?m6%VSe7@BFd7tYv#T^C*&r4Un zb>R5u5wUnX^TGf}ksl%XH_VyXIMkc{XW1SRoc7#e#hz|ee?b*yDcPGeITmS5x$&K@-Fbd1|CD|1J)ePw~uzX|a^1;d5k>_gooa)s;`vdGN0Ma(FI@Iyf5O1K@2iqaAHyBn6DEv7FZH-rv2nEs zM9XT$Ys@ecJLkq-b@{n#>8Hgxg|m9+e&g7|P-3xw$>6kv$JHs?C5hMO95~r@vWKs2 zX$R+G){XO*8eUm!Ev7Ojf%(z|o{p2;d0{HmU8;F??@u2;!>W^FtaT##Z#=`dXVbLP zPkMSJMB5tJu566BW0RsMo%eu`(Kah$`_kj@n%+Iw_G;onj`D?1sxES~ST&7a-ElssIzW7< z%!`0Oi(hy3nT9p6oN6fI(>f)4pw05&aptw!$EW;cVCe}^(k^=Asl{%udHZGXe}*+b zpZyEDbWB8t-StKF6>psx)_sgG3{Nc0ZrFV6e6!*?{^eOrN4nc(tU!Ql?+lA%K8%{u{COo>cxm1X zcB4uE8TK6vynSufDq%%-mgMG3b1hP&r?dCS%)2T#-(p_9mPNzuD-%5z$S}&pO>WZSY+3EQ87hw!|%ucOK>H3s6pe-FM{&lc>0*vTcFY@4)BI z26BPNENVV>F?2+&@_e5AJdbn9BoE!k9L)?|6V7vK=0(f!SzSw8&U^PwuFx5eyoPTJ zc&)=f3z+yBaGaDW4mxGD^l@NMiD>`Q%B1U%uG1TK4!Hh8zE;@=WjD{v>Hh@ow2w+2x<7p9xd9^<{80kW1*Y*w(OEg>Pz- zb*V>_;*-9mZW(*H1zBg8UA!W<7)* zvcms93^-67EOj$E{_cX{zC}&fj>P!{7#s0PZmKrI&C@;3^}E38id{t5-+K~z z4iBExnOtiyRiBu9r0ikfl?T7{x3Yy!f11L>_~h%#S*jCjE;LI#;p$bCo}qcJ)=iU9 zK_gjlKC|7vEfQ{rLgom*e)}uL@b*s)wgU#0lINegw1wuLXwdw9!?vD_Aw}|jXMkQ+ zLvfIVT|)S~g)g#1t(UMcweEbp)qBF?XUbPTI`G%7;fXGsc=F|}#&gA6<}m(xG z1N*tk&m#TA8NOI7;5w~8wJ2caK}qSVke4DxDL)hTr=2x_^QqG={lvisd{C;C*+xNH}+?s1<)eJjHo*Fy=XUhQSOHH(9} zXZtC4zp5+ZS(8`U1pPVvefqYH=-nNciL6 z^DDUocRVpLm6>F%$@xjHVY>;Vl2_8(zMD2z>N8v>C(G}-Arrz~Xm)o}1J~yRC+xnw z=KZ8mmgLO1z36ini{Dwfd-00yXIPagtHWHv3QivkK4vdf(zRAX&~?td%2%3CI39;( z9BP$hzSOWup)`@x=aajntk&AAtG#R%9d)aGJTWYl%~P~dK|estN6pOQN#FAc8md#1 zTiveSiDu{i`gKvZdwFOQ+nG6BTULuSMkqe`7xI0(r(|sBsm2Qz#I)Rc#m`D=_r1Qg zXxDGYDMrt)Y_QF`c=x%eAcNsy=9Aw(cWH@VsdZtg$YB?kJGxmoT@9BQ)p6%f% zq3~E%D`WA^t$vP=dxB!xC)#ZNee=Pi2JKT_N}o=!{AVazyp2sjIeAVK<8kE+!G$Uv z8`sR~Nq_bv_+fv6gyk#ad9Es~9p7hcTg-5zdD^p?+D7^_q9x98ep`NIqS0z?!{_r3 zo2nG-J)C=^CEMnY4PI-PX*TY6TtLeSPd%Ih{Sn zI1`EwzCG_{62%y8sBNRBsmF`mSC;~q8Hg_aY81g|J<@$i~%<5b|*Q0>XExsb@}*g ziE!ltNu9z=Yu!cIpWWJVoZaHA`_{+KPld!qG#V!EDR!GA#rzq*=+EEj&s9!aC(Kkh0YeHkWkBnBO5ktvm6sk&M^$z@mc(%cgqe6!sQ zUw>U4zCxuzq`)Jvfjz2C;@c6CVD%fLt%|#|<;XD+0r6+& zv!+;VYdG=d2J`x;++*jpRr}mHj#n`(mWpFoQy}tbhlKpv$TpTVA;|(qONI}blVXhJ zl5Gn={nflyHu0$9fy0*PxW0&R-4fc#c+I51(07tqQu`TuMU@7t%f4F{g}HD~IPmTj zzo|{2$#%KQqGT>dhq->0_Dh-k7yiF|q5sXj5XY;V6=bXBz2pU$-4soWJ+mY)%$C*JrdRilk(S^-H?Db$|2*2oGw<-a{K)5_?h5&vqxKI0-DsQ<-yp?w_h1vu+<=5V>WU+g#DR_RT6h zzx%T|vyLY|(9QdF-FDG)>|*>EoCx@npGzT;WTtMlY*;V<6j-P(~KKb6fl^Zx(RNf`dt9$Wvc`n25N^a@$iaFXT zED|pxC%76dW=jj={QY+F*R|YjhQ~N-596T@Y6?o$$%C z+14vk692u{`m#gavK3cSI<_5)UA*qyRF~J+1kYT!ch8w;;>tVy8h8GDllS^_xV|^e z;@Z2^D|!1fHQycC<}H0Q>TYgD)BG8K_SzcQW-YGqxmH?vsr1LhHM=F*l)55gZ#o>5 z;h$1HZ_9zd9$P=!x5aU)%V}OtW@ay$p0V@o>*J3j+aI~N_$;pPT9cTXcEa3yd*6aN z*PrF?Nj|Fe{_p%p+-J_LIsf$ZNr{8%U)J6=KPYE7HF@LZKdS3|pUL0XwppdfZu!b? zh6v*?wf*AzWRBGAUM~^3n5iz=LZR{e1K;qye;51{ioU~L-7g#U=g-ln6N;KQelh)E z@j-5<=%GXZ8Tju*x8p=C$+HO zx>$Fio^zd&ka_>wzyde<^)@_JkM{;&wa>WUcB}N(&3>V%8Ryj={JlG;`1Sm(pXR6*xV+Bpdg-H+Dh^L9+V1Xn+)%6i zJUaho^W!aHeYeUFOHY}y;j`=$)yQ_IiWjz7cj7mRzh#M)dw;0xi9(?D>`OKW=S*Xk z`O7QI@O|0eP5T%+~`nvQ2f7Ik}Pk+SftdyI&{8isM3-7sR3G8+Y3#>wB#lPME;np*@NzV_JZ(@x! z=HcA>$>N_8Yi0i*!~YC#g++2wnmv33)+*f*W4rl0<90QU zOKxfBdk3lQ_1o`Fl-am$=7(LcKBii`Z1!2vv3Q&DoWI$6kH3A|v7j{xh%yuh4Q&p4=RKx9-k< zA=NfV_CvN7(UX?kmHy9g&+x#>P|5XY?l*3#*dF-f=)?EzWwXA%otz!@Df({ootXSj z&HJKk9zT^yw$1)prGKONps^$Co_{u1lhahMbMa5(V0Ck2JZf;`VfeRKKV~p&zf!}P zvb3>N_T7onA`Sa;!{ zWw74*CAV~^9BHx3P7Nu^n_>F;p8VynSGKlUpFXoIxlpii;$Q7>r;8?kjTrN@1za4r ziiR`%bv;RS_cN0_wq1L?U-S-#+np6WwVJL|_;xT> zSRS-AVSHL%&%JJ)>TjLZN-eeb)!iQND~_<5{^on-ijDg=?frDSBCTipz320^@A9tQ zwNO{$l~Kg^73tfZgsz!#?*7qm&ajK&!_4}WC)aZ74z794^SC0}%8o#J^p-%i*=rz2?a}j{K}|sh1}Seqws+t}gLxzKvE=Xeu*9x(MTmis%RD5A`ZJ z7R+PaXteLmX%*MmECP<_<)&^;eXyVV#kB5ane$|}dxze#nJB@Kyf<@d&?%>$zOOnF zp|=&!`Ei&q#^&TCE5`eFwpj#=IV@i`J71>th?m9hRR-*$nMt4SnEhLQ!j{$T%qeaL zug917GC1UlnMgY_?_an)@<#HR+P(g#CtgTi>a|%cUZ-)l^3!t;D>)`|_%QLaHZGgn zu;^QtXXAu-78bUvPyc7g*xz7fe{??ANuFP(bB}FI;ePp@XSZyDQFy^C+tt^DnI1?Kc-H7e@psw#JZFsPNT>3*k8x6zg_$x*#Dzl&p)#d?`B1ZH!)p5 z$rD}kV9z_dAM5ArPrKh&)qe23^lg9jxy6g`cqm_4%kX>6@k}lD!ugk`zF~i{cJJ+2 z?|mi*l$&3^4L(_LknQQqW3H(c?xB~yc3XVaRr-E*`!vxK>(2+@)c(zOixHOy?E8Dx z`o4pt>6wH6Q>scOo{M~u;q>ZhY&@UUn-uEsi9vdqahP(;RGuGlcZrOS! z1xKn)ZLz;}m|5k=&wuZfeOuCZO_NV@6X%oX%qEkM#KpY-d+$u{_cs|#5;vdCSfu!~ z(o%Mnd+*Z(Zc!~i2a(mn)9%D1OB|3eSu@$}nV|vWZgbs#B7BF%9P`y@{VtoM@%8zo zWo5F)_h&V3pMFAy@w)v|1#X#!^@@xFe&+Z*SwooG?FhbJh`gKcVk0* z%!8`nd7c~A?L7Ek-i#%-oTtqm$@9*;H>F49f#LD3VSSl`2UC;JamssbSm&v*zW!Vz z7t?yq1Me7?yW5Gk*?fHIxlipt@4+|jOYKj0HpV=x{+pp&DcGc<82Iu1U#&A*qMH?2 zlIKV*JH}etXXMD<_%isFrS|{9f^FB}Yn7Y;sPYS5Hdlitmj( z4DN_e?n>5pGWn#1<_T0UOfp`3NTF0~BxV)HmgSF?*{-9dTNmsi* zO{;VasCXH4yXo7}RITXW`=(SX#_W2K^4XuGyZ5<{g${cZLy_B>MP`rtcAQ+&#VL|( z`L3uc_(n(BgO4Xo@-#dv*$fO=8LqZT1kOHldyXFGORvPw(Wgru^xZvcD_r@rQnqs0 z)6M@j_WKlGHeux1;4M>a_4vK~hh=X2OSV4`_DD&pi&^p5?rY?uvYU2~<jyiC z@vM|_F}Laa%WHSbap(0@3Vq&;2Uob{h$sa3Csl<`>rb6|ctY7HRtD$iJMO&N5hlZY zrEAhL-xZ>_3y%jC&RY9?{RCCbEpHz*UkF~C=Y5;a|51RW^2AvTJFRmWlMm)JA6zyq z{P0xed2Cf7X6wxk$nebDALwqh;m!Ova9S0-466uzJQTwU^wzgNZ?hP>py zpLSC;E8|r@&a-&!AjElxiQ%~nv#<4xhA#fKh6{of6ukv6i>AovPgy=IoN3M?Kf9a< z-%L$Ae>Unkr%dqA%24!lTC8Ps(lpKc~M`}!u!hmBBrvhV4CK6#4u0d zK~eFw8T_fCEp^|E<+L=e1ud|v{=k=c#^&zM=dyfR*$IvNYQ8+aG_8jvV%zaehTq*8 zf*v+AZ;`W_r7|T?Cwk>SVLx-msZI*&76;zG_u;yp;ru$SMpxIyjF$T?u=58fx4vR$%V<8@qIU52Px~E-eO_#SEG$Hl!^Uk z=kF^Aa*t?SoV27W*;MFR#A|)`BNu1WJFB$`1Fu{Udv+ONRQd?F!#k+)*(Se)_OV*S6fPOjLrI zb>-8E41pS`>n<~+JbzccMaFvfM2>FXlS~9t2QhL5bPzF$7a$wlw$18NUoT`iXak4d0TFU17IE49^v5Mlh@1=lx!Mg>TDKt_bbc1M*s3ZVVb8 zQ@(y(HZ5TBa=R}jOchBfl6NQ0>8lDUiavFzS!TB5@0&|L&obUSjZE7_b7kZq$ zd(J{>iG=f<#>scCL}V%-so<%6@@Q$LipNF?Nrhyk2GLNS8LZ`kCyz%>Ry0&Q(^Gr- zSnaDtyN^}K9)EZ?ip`SmTV5seWf6w;dmkTqKJ|^JQkbh;;++GfHX#>|N;|0?Q&IkK z)K$&#$>$3fnAnqh8qcvAdMO{5d~P>oPQ9RwyjPYb@6;##-&Qg#Q}2J8c51uKyea<~ zbd^$LZyt}4b2UFxDXru0_vP-IPfzDJ?CB|A#@ZsUKlAt%DYlRIb?=u~b;QU%lGoS1 zyZQd5?)C%LF+!F(-xe@Aaonl;6`VZt#{0N`%O-^?mh(MUnk}@=tchLOZcD>V&l(R) zm1LH0UzayIZG8Os+lt3+4mWRJ|KTe!b!ozUJ&$vSo((^q1%K~jv$S{_xUx`x{sbc{ zzOBm3o@(q+DSf`xkz>l_&9VizSC%lH3v@cw=lS(rmgNnr+IPm2`?E@NF0FQXxm}h& zN-!~|U4F(A=I_>ON(vtjn*3+jth_8*-Z?-~koU-g@)KwMCiU;y%dq<8id!3gB=r{j z-h9mB%a=tF7wZz1GZb*1ToTjg@Bh?y>XH*T6`8M;i$p!zF?+k{&%*n!G$*@xoM4yr z<5ixt+pnr*`I;sl#sk6U+~YJGMRIP~YwPh@%4UXGTG%vRTOQCmRr^QZm*Xx0ZhVgK zgL4@YcHFpe`=IR0i!EhZ4Jjc$CuT^n_B+nI@-#=!QNH1?X2&FT)?47$=Z?UCvKa0$!h=Wh5N-YzOMclC4$%M;I+THZ}}oP4FKY=N`j zvdWPBG zZ2R^8Gdx%(zj1ztjrgPA@g4v8F3rkjwM#MIX0Uy}bn_tri(AI?vcK9c>`C}wyPE&_ zJ(ds8`@Tre6+bfV%(u%uk5}AdXP3Len^7b9pMmAoe}<->ms08N3x9Zj?5jxd)eCLA z_BCDqnVO|anZnmE|Kj7a>$lmzdHZm$Mb`IwrqvzMPhB_p8%%p+v3~kLP44NlW;$ zj+k9s)Vrj~`pZ!TLj#?FCO*S$4a$9LC)F3tleRxMXM@&!1HtCYT_J*EhE3k3%3F1I z9y?Ij*M8x0bi-2fbr%?Ak7~Jjzp=FnV)FX4w#jhk{-s7nlXxe3wgsQxxN3utwZyrD z*JU#&G_3seVaJ0L95%j{m(EIQHCNA_;zvx(kJB0W8&%TF{jq&%6&rpcn9_2ixQ^)9Bv7abXz z&--P@-Hde$miDVyWb@&{$D>xBs-MnJ*{QzWi%a>2xC&$6mU+&9pV>Rk+wx*jro_9) zA6MF}pUm)i-WG<_&V4D$%a!JqDn^`)V~{oU>8?mBD7>t`*D@u@A@S!0^$iVew|e;e zZ8ewjvsTGJG}ZRxE(nhEEwK8aLGK zrsOb9SNU|OI=Jn{u`iOgnw?6kQe&8Ec|B!1+?BUWh(-Ie15A=JfAgUaD`_$wYzP1a)JM2E~urL1=xX)mBc|-kNl@F8lMgLj8 zgMF!bHpA7KkzK9!ng<`vpHjlL{-A8dvQ?7~FPGiuKS_r7q}ZjZ>I-i#_}=I;{rmE` z!dH=>B3h|#Y?^ANp*nASN-dY^+)GKk{Zw|xN)bm@i*v>ErmE;THF%yc4$KYu%OT6K z@==GPj$iThS*#b@axYG(d{Vx&=TyN>iFdXuue&+~EH7lfzEs6=3fsxx{y(`#1B{YnAG9p5)IaR~?KRlKZ2$G8GFJeC%PoHK{ybW5(@C7Hsp_ z4ma)PugWXlv5E1O#|sTr!Q0b69X7b*@UuZC_z-)dqMz}FAf06C#YuZU-fExV=KTJ_ zgQBW{XjR3D?uD;?+tN}Wd|)%1cg0ZJU{BTOzyoF;es`X)H(_1BW8+NOeJO{2e_d|l zdhDLN<%#!x0Xtsbmt3w?nc-1;_=lqjPeMPl!h^q>UQGroFR%Q%JX!g|gOHrEly?^D z*BX>&8y@mFG`Yb;^5F8@GHy%u2i}@>LDH=}S?)Hj>^ua8y1h}X|Ck#EL6@rAE#;a^%mR3Nya^e zK?W12pE*~sCzRn+qDt<0`RcANSGMQh6Oz{%`UIJ!lzv~iFswvj-{n374aV7BiB4Z_ z3q7U0cZTdd@05AQt0!q;?^FMuS$_BU?dK}!?3%E<@b;Y0^r@#Mx(e8Nv|Oj0@S1px zjaN%aeroOKu4ycWbJs~E&(Ct7^uTAgxJB@skY0)2{|tO=nWv0ygq)Wx_VC|v^iH32 z@7@Cu71SNEP{m-RIZ?Xh&KeC@#TQlc^0lS8KXepg>)Nb-|oY?fb^|I9j2*>3aA#8-TV z`-0c=G8lzomR)mw{;o;$na+cRk~dkJjJLYF460k-1}$-LQdU>sDav4c#Ir0~)=JR# zK$uqe%13k3r7hwQ?{(f|T-n=DRja{b`OR%rtjDb?zArbPTAv7PoIib5#)REdlaEyg znV;~Jf7!)-W6Ekn%bfH}z5T+KGhbP*Se&k`Zr^KN{YA^b@+`wQ`JJ2=vejMnvwHg~ zWEguwj4WapDr^mdls+FkalDGf(yMubaer2}(SFv3=Ux69$GDj)WqQ7>VAiZjW~eG# zAf*=DIa%`kS%WPpn^s8g?kb6`NIWX^GhqeyX&D|aPO0Tw41ZX)+8=Cwxb5@ts4Op= z_u4FpRkO0K7O$HARFmO+1VgCqw-iQJV-%EC3rS$YaDcgfED7n)#v zhpX;@gizJ*02YQdD#kpDwzZ%AZ~SC*IL0P%`EFrzpYf%MOBo8kFkfmAT*xl#_DGvPE+jynEBw2)Ece>y@>C0u0{nIBtlCF5pUcS}9-B{tV z`U=UTCbjRUq}vu%1z6vZGU+dxGxzvP_5P)n1sfl_=gnAr@=np3vcA19kBPbjNq>-a zWz`L2u8cmcnL2StfUk!_TBpk@>y*c9?F_u0m=$e>IKUUn_|8%kW>9;O= zEQtY63y+&T)bV9Y`B{8SB7phBnVCK^Ax^gUU-RdA*uM0bP;=4j@hrD672zvoY7K(9 zkMG26^L$u*XDr zKjUtbEUI?(spCoJo_TExwauRC6XjvRLd2~`Gdh>+Bo=ZlL3_RY>GFsQw zb>rog;Emx*rRfR1l21~SFU{Xv)w`rxYQnM5#-3>>-rkxN@{>9Dpxob;JSm2M_FFs= z?z0NM$(-0$RMqU$xuj;ziUrM|9()z~opC*9hRTyaXRMkX1Xs;HF#pt&9<~XS?&}pS z>6;>P(IUQv|PrMT>xp?;9zyrt1%j~@v z=5oxKCvJOAOYD}!TfeH5?<;yDr`J9Ea%)fey(K)J$LhTpX5CrE*xVoJtZ^@9fh9vo zw2$|8OS>J**lKT_uYc+8pt57DkZ8_hmRgN1MmlVkJM*5K?5o<7RbJS~vGhpFV`i0) z4%c?^aGd=#)B5AAh=ndT_O^w6GapSnK4}5#FI^42iS0h=%$722H%z zvTTcbL*4s=ERVTmUsWDA`sF;}d3+^llEjUR;u3yy(q^3gylI-M=LyM|{_ZhT8NQt3 zSg~k=xn1OmS6bVhHk{sXvul-%K;`qT>hn6Ap08iIa-K^?8=C~5=L(hX=ZtL?UsgKp zG&*(j<-rFZ1J~r7VRUZd5A@UDAevx&YnDphgXVb-HbE+rPpP^I$Os<#bvZSRE3)lP z?ZwNpimbIJpPut2@X~}6=eT$Mt6jmUGQm^AEoPfR?aM~9Iqy{DnlDY(J5{FVHHW7s zW^N1KG^WhWTCJgU->%&a?A*^+h& zt1CJz$784D%ZXvBo)Z5V)~E^0k(2-?SDq-d38Y;>PNDj(@52 zhk|)?*_Rq9PBLqLdg6tp$OKQJKbM@O6-pn?TXSTl;p7Xcrlp1>`VMmwMIS(iSVv!Qo+(R#m~uQC{y^W9Vs?CNtgGO(05aLn?ouar(!f#IDe zmpNtL9AkL-(t-Eql2qkZW|0^3^H29Yzf!We=Dhs7#W8&ivmzdPG)$TJtik# zRgqm&VjjZ;}CbEo_LX1qS@A$U@mDb1)VSvD)qmP?@vDI`zqzG*z!2< zUEw@d?}UU<>F#9NcKf9aRvw2I9G8^2>abe!uF}NGa~S7Ug&v@t!x3_+K{Wkc>$HQ`}w_4KM@|sN; z!(O~mo$`3zvsKQ^?Ptz6n6r*)VwB&i2*aG_bFSfY-dF~?`H7n_9Pd!%INtNQ@84Ce zMM9FQw;134S*58k^+L_ls??_c3|2MOk9;>NDF1yoZwh0=E+Lg7v*(gFK_@M8HwrB- zc&vPB_0O!BcMKYqGGCVeohH-%WSgbT94?0L(|rOfx&JJ9KFR-~%Sle(ebE-$=l5D1 zJ@-;VZZ4}rZHty1r^=%Sj>9|Sr?A{UQU5gP7-P?g<`pkomEKNoC~WSl_o|ZmydX^d^REDw@Qv2ao9m9fuw1IW z$&|~VA&-5Qr{1HP zWOLoi4$D)MZ!JrZ*E!7c>BiRut_dyAZ5S+;={=iLIDwyc-c+53Pqs6OGj=?fcwm{1 zK2O%A)ANHbHK>(Z7evdH9t|%m>zFZJeP8`rn=|d)d)^&q7Ujr2z2oDJhbtHhjx%&A z3d_vokgy4v_U*w!m3ezozO0mDx8Si0*z?&zkdtdt;itE@RnHdpz3?kLHY2BS;^o(V zp9;)&$kdCkSP~&vaO$Syvj&~x!q3l4c-ZlLepXHz_rmG<`YgRiN|t#S{+_hc;=n=K z%#V4REjHhDb}r!ftZ?|bPT~EYs>|zmF15~LJIFla)Q2pWh-GQkm44i!FMW4(2rStd zW6lz=RW~9lR_ht()SdD*e41?^j!OFN?tki=A$?Y7Q}Kl-AMCkWmq*O0oTOp#VDeGh zV-al?OM@gHc04xaJ+)D5eo6jG$=7fFVmI}^I?PiYB!73;u{#e+UQcv;;3>`8&r{g^ z);A+E{`(}R_K8Qe)D@@H)vlBZ)w{5JlK)+khVHi-s)noPu>P!ExOC!eAqL}>~j(kI6h~- zS6``i&e}fru%iqvyW8&HWxLzcR23Za=eAio`+P^=(#LXY^!9EMZ0r$WcRXrW!p>kP!PCSV!W#O`Sja#4!lMQq zrOGbu1#t%+E$_SdXN|a)(+5}A%xAmwo*r{&zqLd?>3QXozW)r*MHp4A1y)Yz_hIzi zakE(NOk&|tw>18Se|uNPOj>;M-C=t#hW_uKTNkSS__^s$ov6@xWpNubf5~^YnrWR= zH>@lB7L(A`XDU~mE~&m%%veWZXSTyZrgtxjzh~y23pR4Q^DS@LoNb$a%0(m`>{q_m zKQS=b(NIix49=55evUT9_eBjGYxbL&F&I4No>!a2F0|s- z?r3J7AOAvrI?VI<_V7yYzPWr_>u0IuE-YHYV<_=#f=6V{ire+_8tiMW?ioHYHZq#Z zFohxgr4P5^8E3I`pDNB-mx!Ef7UkU0JaN*Vw8h(d)f}G{6o2=88EnvB*ynLyQg&ry zaQaNOI~sXUN*}F>I-rn0m+unegVH5^CR6`>X1gTu*lw!wl9qz~hR1m_7`Gd3DXQ#Q zCAvd`C23}dQQ2mhZIxL)c^X0Ce23p_*sj`H>9gkb+@)<7#20>9z-?GrxY)pF&Yxow zpM@z@eN&qG?Zlq*o9DD0P>m>EZWVQRWl92INkpqd4Hq8(lt&+<$Uo1UnD;F!Z%23y^=DS<_+r*oBweShnBdW~bGyM(oW{;4H~ zOMLdFq;C7P^Iyqf%e)x=>6XXqmogYm(`mANyw=g6D=hW<$&ZOtlnpOhy1_(KiaCP9Xo zJn_5PS4ggyZC@^-{4;c>Pgj_QlEuNh0Vj^1;OU(9z}({awW$YEG?L@*yPW)YuBtz( zX!WW|ho3yqWO;6T@UN!oBr}H?-n+eAulCIJ;IhoSKi5E|q9bM{i`?S9hC)U>o8Ga= zu~q!~t9i-n-I2miZ)LMA4&L2ee~Morz&lFleWdOs+j+l_u@%1!y{E1&_~c>LHa7pg z{@kt`BOMj^Y+ufP*gDIlcZbU6bmdQP9aRL47YQ5HEG%-G*S2_fhbRBLIqN>o5&yT< z?#iyyw@#jX&hTwTm}Sa2feCw<+`TySPE^JGGvnTCodd|Msga=Yz5 zCnLA|((=o3(U~7rmVBNnA*-SC|H{?rr)c%#Z$POt+#;bL2;LRZoIVT{A1ZS1q$sbXb|lo?JRbPgr{UD?Zkd`RDOJ_M-3hBCEtwUVn?0@ATaH~~+|3|l zeOWM9Em1(Q$IOC#nO1e#_BLaczJ(2}Q~0)qUApJu8ku@N=Fbk5tJC@z8K+Cn;YpTB z7WHh5Dw!OZ6uF^qwok5QLI-7lDrq`akPZR&V68Zb7%^>H{)LXTzX68v{nXt-wwS8k$OyGO|t;wOR?M`k6{(GxxXPuHvnp@e))SvkC>PD{J(<=F&F^C*^c>K-n z4^00&-l_daPZycpFg15^NLb9r1G3pMHC7+^IyT+@QGFmPcZH}@ycVsU-qSeqt{hd*@A-*D)* z*@{rjgGcQ&6k7RgJ)e{>+r34B-*l(Vw6AY{SnIb*oDsZtYLPqZhU4nDR^Pqt&($Q| zlUn5d^K7K*)Pk02%qwg&qny=}N@FG%RA1U4vgXg})Aw!eT9#O-$RvdR%uVKgx{<}4 zxnhOxLxV$3G7tXjl)pAFFJ8e5SY zIORR-ao@lDr6QMbYIJ_^(kp!HAj&)0ZKsOSciw9)jY-l>?_@V=rq6SotZket^MKK} zWzT1A8K!XdXUF$4tM>^UEV59@Ik-wr>+<9IhpndeTzXXb<#~t4ov&ZlYNU1=cvw2$ z-Wq;w9q$!=$!(F|dZNMa(`D;fWdE)09=}DWtSrv|DCSxjy5aUThuQAG zEg7D_j^DITtnXp6|68?_9v6-r_;^9MKkHB4$8%HJoA&3t4KuFP-T$q=_wl?3&U_D= z&+U7l8;15;ber?A0pxT8=6B0I9 z|1~}u!KiX3C?PK{v@Nqc;fztV~%%(PZzh#Ri@)WjC zGCIKL^uaH)=~+3G?D3}u*kvsiaQjr;N`CM~eYscCWcgD^gsdJ-Jw0QZ?UJ`&O(tlv zyn8b5N!bFeVK?w7O?<-=L z2F^Wt(5A^kWKp;ZYiXD~kWx2?^7m9gi* z0h=C!N?A+MpS>SGAD^f8L-1ooMNfp!ri}0Wxiz0a&;cDa&(N&26{!75jo@xi#)^zVywwCG#$L-lIv9 zk@fA9>|U5Km~P7xon|;yM&|RErO}1bKj$T$h$;QPvZmvTSnTZ?sU5F0!^}Qyo89on zKfq!E$M>4wSCTCl7*DQDoSeW~D&Ic)v|#;5J*(=ATW_rReZyu}%?3}Yniq~1w$^D4(t=a{D!4DN_xBR> z6un`=QrN>4znN`#0D-JlG{JLz%%}*Wu6x^`1)yi1%_x`jyk0tH4@?MNgHe$cUa3ZJPDw^Xz zL-}F3$_E#ePHocqd_dOtUR!DE)4DBB`!z)S<9vmF7B)pR*)}d%-OyrS^t@?r7Q@2B zD|z;tpJ2BM`E*9PL3VGnyn0r{sfA4&)VKLc3n@(rz4b%+PVh7b@g)AGh6iVg=(&Yk z-VVC8D4BWT`>?GJuF|JcZ*KW}=lNRi{hZfT_||${JT+-%Kw|Od;vYdP_=+1CUuia6 zDK_BWkuL4O)RToF!SHxZ-;_2^8GfA=49QEaOqE2>R2=_)mchz;iOga-Ha<5)kLfIS zhZto0tFk?84oUv*f7@HLA+?*RP+wy83eA*!D zA-(z2l}QJ}Y@Y}>Uio6m9aB8-=ARWzCCUYSZ0(x#d-N9(?JQR^XXn5yL!hf2+-{ zb?5IsSDz-i>LY8Kmc)lUlV3aVaXewu;`}C>DrF&_v}n@ZUkO)Sdt#pVJ(}^!(;`k( zdbNfL!&N>yAr0RGnwj`&0E}mX#TTJ{S%8DPq0nC$ht);*;1CzDkb2;V$li5dw9}qGt%yu zHBKm;Q?`<&Q{&TZ3#J)7F4AS~wncvRUR^1fO9GBC9ye89X}_nxKhX0T!)akNb2$wr z_w62TM*Pf^J@YmyaZF`6?o_d4Ci|%#KkkZPUkZs?pK0 z-Rq#A(dyS;d^b)q2vwzgyfo=5Bj01GoQM;7?eiA38En=v5`KN0Y2NQ1$5UTkX_>IM zy^=__c!Ws&3=aRIlYa&<|JiYwomux>^(=G8 zIh%U=46LrW6`4KV#k2B116Tfp$s6kRCsZupO#OK*fbqal^K+aMM)MrrWO1tHo9A6% zlM&1swx40229wK;!)J~3&ZPH!wc2oti^1{Bs%zg~b#CC{dCqWo#%_U)4IEFN zHL66M{y8u5j-zZff7Zl>y;nT9vv75nEHV<9`goGVfu+B_Pc5@u^5@36+7%Kfl{gh+ z52U|z@sZrYEb(a8$KD;v{XxY+$Cw%xZrt6c!DQATet5!>5~cZ1_c7YkYGeoVB)Ism zdcIeA(#PE74O3sgbl|lDka;fq%BFykU3p)| z=@Yw?p4%E_-r!uoQK)u*PjSzslR^eYI?m-ea$k;?HU8Pa$8fAxD`W>_W9s>>yfGZd z?k=9#P~cuwz~<3D$-4Bsv-6hR=`LLUiC&F?4uJ7{w z_Uy@hEnk*xkvIEO#HzZ0_Xbbvc5^>=#~^Llhr8w^Ulys^q;czj(9YX$eP3QIeAzXV z!LU`JfvKtTtjY`potnoRMXt8qt*>nI&nXOc6gX%7g=qp;^V5TGU3W1=9OLu+x$(8v z(#LZ)NEcZ>{~3JcaoHK>TMdGf!jD96a(vGHDJ9M%6(Ps>{s%O7Zs+;nm-#P( z{gtf-_nrQxvNvpVS=1+LoH))jTXu`b!X#C@oN4TqCJ)X?XES-qY>?HE-6FGE;sIZV zfQ!sCRTVxCo37+JJ)ImD&t+eVexAg~Aj`32s}obh2@YAy^NId7J2YMu_OWSpgqTn7 zkx9?r>Mi!{(DTMQ!LnV~#U}V2KHKUiKJ9%^$tt58M_WVKxlgTp8|9`c=5~kU?UwJ~ zmw6;MdhaV2GIVe++PZe-?cYab=1iRPIb7$);u&`s3_O@GE$VV`w3eu?x;kZhY~#0v zC+QQfHJ!9MR^&BrsSc!TfOZkbn!3i=7 z&n6|yc<=r3m|euJYZa4OVOI{L=+(MZOZke{Wy)4wN-3{TBv@TpxkE8TX7aQZMUM)^ zggkBJuGltA3zfV#Rqh9K}Yl0HPwPQMR)r$Z5etMjgC+7 z`f~2F+eza|NB&m-zOuV1h0o)QNWV!+OC9G6+l&N5=ecX#<(5so8tNHh_s~@?$yijT z@JGvEFz6~;NAih~Rp9yjcpH|2(4 z&55ds$Ezy1H^>yRFV9kJnY8YPrG2@nw(Q5peHsq#g5?S3A8!PiINqLkp=^7XBc13`MxB7=85yNt(^HBEPc;yW-&~(i*vI*v20_>k&FVfueQZrGv>Nee)JU+X?z+*y64wiR{iZU-B^J?I;l+|3l^T5x7;u`_pHzq$# zVQrK>$Dd`cpj!5^hbc=qFSxK=T}43CVhYm>BfrWAU7R|r7u+&?-nV6TnM`HH-E*~? z8;?IVC_i@J=d)ktG*^X%4?a3@?=RpgoVSx{cEOQHL3|f>9FTmrAXAo2v46t79imnn zZ-f_0$`(6t>`q~v>i+xq3Xw;*!)-tN_811SRs8#Edi7Z0$pvgD4d-Yv88Jv6wdKw| zV5!XTAh|2+mbL7W3HurzJX_ks^04v1mlahEH`)$Qo_}i2rwL0BnX@0gqzV}YNbs}tH!<{=-QZAqFOq0kDJF3$AYaXl8qWM!kum{iLlC{a6 zV)K0a*6?YXs=@5d!!0~AU2a7TJXLcV9cpf0bNmzM;W&`;T4EdIe5gH7HnR zaf~nX&ZaLXUokFaa5KnA{n;$@X^+O@3(j*F-C$?je2iCr&TgX+0jn!sj`_L)JyjRw zXKIPeez%_e-tq;z_)~j7glO6=xnk`6>{!yd%de_}r}`uumjA=9+!(aL?N~(Nt;U=a zfwFc^MP<(|j%8l#?3$|FP+{`DbFSav=0481foE0r#R)p*6uxv&yl&8`AQuty`|_gR zrqqoGUTCh=ddJ!4an|$MMivFhgGZTebkC9DDfZg!aFSiUao&{HZME;_X8Nfxu&Si* zWoRxae)>J`=1VVcwvY#67RNFJ9(EhP?&<1#YL{AL=3Ln5Amm}N;NAHoE!Bi2DU5xr zo?=pV?7Ell&3v-a!Y06EUHeHnWA*iG&CEC!ZoIzp%S!Q@EYTCsEtZLe9opkA`SK`h zUrYKziL;gh`8OiVlN+)$o^ieXz4$n@$!CS+9gOq7FuV*|Wp?!7*A<&m`=uEaO24mU z{@HxmZcb8b^JxeE$L}2k9VBYj?fK6jF1zwMLqfXjONo}p@=KLBO5E{Ro@cRuwe*xu z^)5O7wJvAEl+Mjbmv?^cDa?EHdU;&0Uy(s%htqLx-y4hy?gtN?vksZCyXHi7$*XJ7@64KR9()^WzHy3B ztAj0b*`jF1+^!wZoBOs(-PSl4z%yrl6}KjHcEY!>c2`v1-3VehZd1CF(Z||=;nyrj z3En*lcVDsEc$7CBDY7`~u5B@a_2sXy( z;7G1HjR(G%FtR?eSNzYA{iEZ!-J%6ek1z^`E-*W=kpsEjlHFwsk}VC)&87k`?SZ;j+<~D2|N+=Q?+bPao?1m zqJdK#Pb&8WUq3DQU}A&Stc;Y~QzV&}ny|!quim^{<~ajjLvTtObB0Xwl`p0WcLMTM z64EV~I;yOw44(XH;$@MN4N<>)N~}XA9y9l4p6FU$EpzF#%-^>I@>CMNtGHq5U-ukWl%fXeC*jvx^`574S zT1qdx{q?Nso!u9#KZsT?QCzo5Vnu-QOOFShyPs-V3*5P^Ji+snotyE2g>ES-lP_Ou zP~FyHClowY-QIBN)TwDFSk_rddGzro`pmOEJ834Daeo!VR3TH}4g=$3nGUZEFFcSb z{k}p^O~_|nq;k(&8D{re+#X7a7t$JJUYt5u)$?Vg=!V5|b5bruXfdm=k18_p5}6}V zmA;h0$oJe%mgc@fzipgGxjD?QJx;L&^2;`ua+zc*YxU3h`_LgrXTh2ofj!@jD!cS7 zu{>{69kl1k)25Oa3@_a-8?_ep^h{k)F0w*EPa*W@lP9Gz0S*h3UW z^TgE~XZ0qR*%Wy^@0-H#g~4S}Dr5VC#V5iQCo9jJGLb#@RJrgASC7eBr#EPxGoDkj zw3<<}A@|eYRrd4KuKGM)>$B$UR4&JJ9>-`^VaK8eE^V<78j3Ho1YiAa z@atnR$8mN0ON$~Ns~At>yThv1+YtIwTBY!{=Pvh}+yl(buRT?d?h=$_m{YUZWYybe zss0u(yUZA6ZO$wVVlUF>dgC$E(ldFN$hMqZk9^aRQ zI5}@BzA-BzaIxKz@5fEGRAuD%1_5QJ`05qLHQYqx#y4jdu>t*XPH!F zabU&cHf6P^uWb3f*yJ+8414C+lrMYV5@VN-1 zf|k3wOi-nv@Wk&PKaW*i_TszS#_B1^F=x9>O1k8?l^JZ?F8zpOtIg2jXXTVXVjOtl z{$3%r2L&NrrF)h}oCxRQSI+f2;5xzo@x7@Vjz6<*vlMwAQhrywZm|qkiP*|>2K<+| z+TIY{%;vcLM}^6a3Hs8Va?58;^O$PXWw_&WSJCX^OE zb7Hb(G6CtD=(-T4);xZu3ngx2`k z^>r36-C7t~H!QTu)C@VMN)EB_f(Hs0PX@749bDEWKp=7U<9vD4N~)bZOC-F~ac z-@;^}$V$oglaIRQ+*hA=T!zokzx30cskw(`Qi3Fo_0FEepuA4Y;)eUDgyc(WG+5d! zp0BgI%)3X^Fv%#o!E*t}Gy5Z_3as0Xzx3vI`Ph8&+0u*~J$zZZ3+v+U8auF0mpeb5 zC4HHu8v|q6hXQu5?hN)P4E#R9k5t{bY7H_N->s>8XZv#HoVt%}Z@!5%`7Ti7Q0$jj z?mdaIUp~m*i-GH?Qf@e7d#KXPC!5}e<}_I9ddehB?pwZIRx7OiY{N4rP8os91#FvT zcL$!Z{TO)1Rc6B)t)e4OZ@;JtSzf{MpsB+0ENjx!EAq29zIG7wZ4D4$e5YlxNMmW_ zrs8>4T(cP)B<*gB$`n5A>MT0&Z2|kCRaS!MjQu_-^Q72HuUK(v?rcZRSB1f=4CKrE z?rmY{JJ7q(x|DgT)5eY`Mvo^4|1>xzrD9=QX{%+E!QTW z>Zxp2DLL@u%FXZuNq^-YIsUDdNtqHK%=&k~c2F{K^gZ(D^f|*zizCe~ebW0DZ}rzP zoOAT}-DivJm02T-kF%65>+&gx?JBw!q z)yrp(pFJ*XyYh``QpNd?Mtyhqt}MG-K3^l@`TXL*T)o$yA3RBxN%dT}hj;sH9wv>JDCVhz$cV7p1o279%TAo*%AiSnE;Ztav_57+bj|X3l2L>G6 zeM9(_kzvr>vuet*vpr5IuUNo#dWr=5_Qy`ALXs=x9uzwtl5>a)Vw&^#TIV6*ts&2U zWH6)!q=rs zxO$CiUH=*-v=(aB%tD=GOJ)dmp9}5n3AQ{8>Cft zt#N#O;N;1prXk1M5~qC?*?8vC3a+{^nS|h((@YOfJ}$Xz8{~R1zcBDWL)A0!=`4Tm2V|Yu*~>QQ{EnCQV;5n#BaxcscJ7f~+~KZ`de2*w z3>g~dd=(X1bw}PflhvQ0Z>#N2=TG|+Uwgh`)nqx)JL6~Fi}Ugw%h~P1zgHU`|Frz{ zmhGpGD?FckX=Wj(Lhg(e$GjS^EnpMk%60n{tUJl$c0o>??RhWZvz!RJdE zyk!*Sx%dqH{2kwVMX;+gTO3pf=Jb8C@__o}m%d>}#uCT5JlL<_YmirNc)%)YYoNJ~ z=VI=?sxM2DcQ(D3JYbZnS9&2j4lz z^L~4-W-P0d6LOc^%j%zBazQz@&$wsa&jm|5#BR=cry{qUX=-wa^@hrCul?se)GOz> zobYl-`LZ?XMRT9DK5M)&GeReGD)+$yXWfY$g3hxmoG3WF?B3TnBk#%2gjxz1A2sDfwi!0>^xtdR zcQr#eYm(iEn73ywV>g6OfBEv#3bmATV;ro#iieOp{5%QBuG zS}FVaX!wpEm3=AE-4+KJK4dVu&)$E|)9r9ilZD7bl_J?rHU0%}0}nN4sxZ~J$X)r? zd^+~xij#@^?JqSjb7+~LaMpbJ+JDO=R~3yD$5lQ~^qG0nY~zFHll!JDd(3@7aQpU{ z3(U6?r1S1PUoNtME#UFx?eHQ`}h@gz2@kN}^1IWv_L z62#ZlzDl2$X~DI&r)HI*2TQ? zULbPw&yPku<}wDpDNnXfPnvN)e@|7&`z^Vwj?!)!OdLx~0^ZCx^+n{Ql%~F^!<=ZFAPjh6~*d^^rzP0|OOtA}}pKYJk zF6SqI7P;lf^lbOfV(8S3O*VY@gpbd1WnxMA;djR@9?jaoP;+f!$Lo{FG(RrnQn|;W zZu2XtL3vv6w~0NI_Do?~>cVa;@h|yLqzzZG#OZd0Iuln8&8KUsLp=_NFp6G!+I_qC z0iUg}@tbTt*_{$H^Y&JSyyc%ZTOjv1(_(iHCm~PnJ9S$aZsdMDvwOy4iN{NIZ@(#; z!TfvQSA%np0_$?V9FOXH%(qj!?fY}K2IYwlLL;_+s(idxUhL{B_yS z6{{vrJ!$J8t0nDPU3+n7PWsd1RZG@&UKA5(`gv>ly#EZRW-2oLX-K!3pCzWRW4z7i zxlF)@$)7j8Z8{R{b!1YspK@}O$IA&-!Cl9v72RY>5Dr~e)c-AaZ`GW#m5VJMIBoh` zN|v!0GjshEJmNJkntf?_>(Z2;kAF5kw@F(!b4h2ME9;I2ny=pmO8j~8$v>`m-n=^j zEZ#Yr4CWTCTiiA621}dI9GT{m=UfHXbV?pzVLfzdVSs@f=L4Y(rd`_8KQH!O-#=mV zW2GeyQO?|M+>I|UzYJQ!`)^ZZ=n09i!2T7>&0ONGb7lLNG8i(uN-Z-_th6|m<@m(t z-)HOg(_21v^`;1E=1*yr+Y{`pdYRLjug90c!R4aw#w$kVTE!QtLN*xrFi0@WDSb3` zs+_^9dkxzRJ$EX#98%%kQrN}N7afr@$E5r7dbi+9OZv=(QVd?6I943k`-(BI_M_ij z)h!XXC+uPU@@R2_WKm+D@6(1S1^&!`G!l85Pw^NqoRod}BJfJ5@%i{^i`!%;=^iWI zTE%wGeXsQk#)3R1qb~_|L5G)y^`F<2&~tlJ+_&%Qip0JWA%z3lQ@^ZQFXZ;}nAf&o z*_C%0ZrrmpU^Zh^`1mWNT+sbl9*203a9>twO3{fok^OOnTb}>X+WT~|rn55^^1jX&DtPnCS|nB(!}kY@ag-v)#dhW+301s&9k$pBKcfqL(fI$ zj*Ff#lh}Q?Opdcqa%E0nF|;jq=Kq;oV0oP3QrsrjEb-G8=a+N8zqIIqQLIx~XO!vP z-I6NF{YwozCP%NF$h0wMQ=jq6fI~bxE0)~ZDXSGGXyP?5jai1twqB}cfsuEF`sCBS z5n_@oJ)hmAm^S+M)y4F+{M9-$QFoifspaK&54=3;Dbe*v!I9-TOY)B8B`iW-A{=RXyw2ERWY^vhHE1`_i;$(*9N>xiuc|l;#=QWbI&X zvR$b*O?FXQYu7f5o?@RPW-kPll9qftF8^=Ulw)fJEOey%r#$Fl3G2I_dh)kPdqzwP zv+S!AM?6wk8;^6bM==~;++rz{Qh0AxsYK$;Kx0@nV|NrXEtLob) zSJ@s~88}ViNmtjQ*R{u|bC#;Vo77VHb#>I#jg2icdGK&3=t}?ssL%|757SFa4o)-f#DZzgs3wy{{rYbNa;dUYE9o zdtd3Vur8iZ_+?Fe`{%#ihdD(iC!cmuIC0`&;Lou3wt1GN&XSYQq#q1-u~6O{mH#dbuoE#qx4U@0|I+a7Tl((l{!6>cJWcz%?OETYXLrTq>l~IS zl`-G3HhJUBJ-2NpEHaWPJ@4hTDkR_UuuQtBNWMzf${Xe^b0%oHKiub6$-F!(AtGY2 zA&`1&L^Y&M;esV^`B%$3`H}`~W`)sp;<4MqxJ~vB|10VW-Xgr#a5jdcML!=If(1Ne2qpitjM~y1@QI z$fUpAc!6?B%c`lznU}u|;+8Ds47(P2=-5R=i^P*$g-1<1KAzXI|3rQi2kq!i`Sh}I_4m759q!Jrx&CbWACbcc%I?YkUGUCkb_K)ED?yJWRnn5I z49{^qw&mkrxPH%nhQ#|FAAWrQmhs{1!Cie1ZXHOR7ShicliW~zmT{A9BHt$w17_Re z^FN=pPF&jC^rzL2QQ7jSK#rt#&+}zgbCOLqoH(bF?$cMMAzu<2p}Sy}M5BU=;1&L- zU9&DWKTVnZOkHc|KdH4@pZy$W^!`27!x+5g!!4mG1-qb~vRSQ38Gp9@RLx0Wc;MM0 z_cr^9GdAA6zhb@8-xd3_>skJtk(1cA@8jGpy{caxSywja820oz&EI34Hu+oJ-_`rX z>Mrl9xn9Tj(RcMLvr9>j{n8Gz+FIJkAHLLJJ4<45MRI~)WTmX3?~YH46__gRrZ^Xz zm~b*3zlV&Rt=aZ8OM{_$WPL$FWM0Z##N4 zZ`p;)O!RzXl*i0;bYJj=5cBCA%PSvD+-|va+fMgD^%)Gu_lpX@GP6tYJeWMEz^XV% zTk@XLN59qwYi+moi)4Sh7Iv`f=XIl1iv&+vuKLIOF}`h|!inp4{2xVo|1+Haw0G%& z66IGG?6=p}mDL}N-KU@Zp(eWf!LzxAI^P5|cF(Z6%`(aG0QZRprKZp9H@CkHU-$3a z%XE|N+ja9*FP&WJ)+c5&i9vzyVa4|a>94N@?%h#is9wqAUH-Cb+7X>uYZ#^;RNMaorfji|ReV_<54SsfPWfbX=Xc1q)pF+z+$Z?U z{M*91MeE;3rG&=K^ZqBkE zQyus}HJ{UbU!E@+7d@|0Sow8G!uDBrbOPO?m7k^A+Vg$QKhqi;cE8P4`jf@WTaCP- za@l7h-c4Y*X_LI&Yoa1!xz>}OlxClu+&tNZDm_l08|S${405&L+<9lh;b%Nm0Za=$ zm4$@oJI-sGwKQ^5_whWd-gjci$E!9ha7MkIDu3?e5K3 zsy9)yV9Cc@i+eY%aZWINSU*=lJmS<2_IbPvW|DFq+dOvjRaFH)Zck~?J#eh@x@J0clYo0xv}W>**L3o zwS~sHvsIoHPN>bab=X?8QsiF9xyX)l!gILRxCt!rDLg0H?lo7vFUCqQdU5bFuAT_< zQ?@I1F>%x!J226Y;Z^mewM**KXECZg-)m)A{Wa##mZueo(wnbO{<`Ra!p{)V{vRJ4 zlp9}rYTew`ykcQW{6op*2R=;wtgQ0*C%XWL^uBY{5!SAYUhvIkGKBi zZ&)3jb$?H5)8nVgiu<;{kKf?l_wZxHiE(ofTp4 zV=t~Xy=$kC(pBP_^7v`5zeDZow!aNFq5AE03P0Kp=SrQF{kyBuU>f)3_wqGKGvw2` z7wa?}d)iht`C4nD&Ow`nEw66A57jA~JcHwgUr6(>u>Q$=^uLF0y0L)M<+fwI^Vj7^ zjDDmu&PRGgM?0Ek&!jm2Bn^aoSc6Db(zP^ z`x0W0aXeu3-03nql;ueINr+;RAm@%+Ld@0l0MZ?G93WiZa^n{UKm zEq`c|X=?3~50-y58aDX$iO%#q#_y%d+q2KOk3&T0o2<%mg$3%&66at0@b3M^zxTlL z_^Ko}8%t$%W>GukUJ>D@sizTIZyma8{@p-#plCVtQ*ECL> zsXDnIn=j02vN!OEKEoPO^2JnZ!kcol!rMC*W-zT&k(eyWJE>ZVr^xN$u9XtUG{cPc z8!`9&SUJo8OAQ~_JV#sGR|j&;xg~Bs?LEBg;iZ{Hd3c zJvbNlnoUbGYL_@4)mCp%qP z2tyusm7*+W?k%bGNT%zC3Gzpzfayp;PoE5+={RQ)=>EP@6TwoB7Tck$uT; z57$*J;gH;B$8fB87QivHsPWC+&c`GM{QZcKCW?Q?z7D}(LH4{%e=}3 z98Y-oCy2=1nK$KFvu+dPn@YK<#-E#56||f9FC;Z6^`@~u(Xn{>GDxekUT1aB_ZP0- z0y+%+*C%>Ev6+;Y7Qpmz@}&lWT|1;XEM#V-9X{ureB+|jnmnguiIWn~O@17HpR?() zyoo3gqPEsZ^trTFn8*dJ)Tr?Jgeu(#D6dN<|On@ zdCDjwQ)0nAZ_CRF&+T&rUpj4OVsFor=)1S&=qFEU|GN(xR_Ck|fA(xujMJY=-mUEl z^S-DT$SSk?HavOW+-KflNZ4BP2yQYtEX-8jc;;Se(-T{&6IhU|L&g%_tX~cEz>;? z*m^Ub%Suf=7XZbqw16QyEBC{hsB6#mVJsvK($LklPdZT+4G~ z@x+rRdCclf>QlS|gscjKwd>w9OMDj<_I$Se)bgjw&y?44>nyadyz-%7Yc)fE4kxSO zR(GEOym@{mSxq3{R&uMm^-2_*Pz%S=PU*J1gHv!{!5@b?8jprdDnBKdhAtLuB}D zEf%CO7$*rf&9L6_Dl6h~mkC!7)3>8+28+22C(qL|h?OY*^j(BuXSgEAF{^~ji+3;< zZs}cnP_1dF!-8LhPW^WiugH5bRG+=f;a96AnQMMR?EnuOzoo?T1CvtNZxvs7wCvNV zo zoG^*GiEB;+pO(j_1C=u$e4gkh7q#sfOHYAF>EZw-t(uKHcqX1;w^+GQ@xc=|hKZM^ zC({R`#27WN_&;J z`oUD;RI8?q$%nT>#T@D28#X@*-ECs|$S zxcFqT+|G0LQ?-o$CC~Y`R4K)00Z;L{iY4E8+jbcz7xgWc&dRvLlV`y+G3E9FhT;>! z9(CzS9L&tjm!@{@{U%iEw9t>=*4U?2xg%xgf!A-{jxv`W;Cx*0DpOo&g|ye>=K0S< zY$v=o4DvlSH+;@K&DA9br_7(poU7b?!o-mglmWO&%Yg zG;lJ15Y^uxxTT3ny!;es3E{nB~4|gjz5#6nd~PS(K{f zd8}}P<!I#dBtP_D^egl2GW^7RsP0 zTl*_`X|GD~mgf@ZMP@`!IJW7;4Ucmddp=*A;&pn$#W{Q;>05P-)yh`4J)T#uTli< zO;gZXPS{_nM~{vy$QCgd-swi!45MpO8sf z9u{#mw9ix4bHUOL>ztO`H!{r#R*hshXFYGK%4{>AM+ zWztkRF=#n;ryLMkKcCVDM6ghGtr}bFX zv-`g6Y)JBm+`wj+c&WX0O2M6J=RDuO^!p^@vu+0i6W_ZpW;cEuXZd6p#4Ki39^3n- zD3gb8c5}@scZF|DKi#pKQa>f#Lgd*wuP1*qU$8h9lo$3_O-&ZcJ@KNrOJ$N-|EUK> zyaIJE5_a0PTw;8)@yLu$+p1X}qLBtKn`cGF=u{}%?R*(}_vQ_TGxm31ItY7nq@AfP z{#<-%_Lk#nR}Vg#y7Y)efRX!Bqq{SwsJ+?n`>?Fm&em+9mA9LlFJGG|Y5w<~e-L|= z>m(Hml_!0Si&bZ9SUz4~6L`k(p8Z%!Bc&&b!Dl#%=3A5Q`+Qpi{5#v z_i$z2VQcF@9W;mU?#lDu-KV&P^etYia=?XYQ^66|$4hkr7xkFTWZt=uQOI3;(mUhV z$Fm|P%rP>2d1+49kw1$UJV~1x>G;m@m}a+wp=GMZVfOb`SE4xz#3$JP4q1Ba%u1VY zwktQZ+5Be^yXVVtgL%VGDILLMQcY(1GINU0a$Nk+ux5h%5AiJ5q?;^lvNL@d+#72sru2pjfeiskt_Doo+HCI_o(88KWi*w9#1gz?)cysw__>)#sh)pDon1w z?th}eQaH)|%;E(r)bviz_}youagpl~^UltLkC|^xeCGOlfmue*agH2K zyBSMEKQA;oBD&+{ET@~iYG&3Gir5VOKHXTMRrck?*ClOYcRYiPij0FrZtaU-@XD28 zouRj(cJrs-1(~T%Mj@Z7QiA_%^Y}H-N~Uz#M@vOX?BFXA@ zTeSa9HPdR(cYgiaaeSw5wA#@iQ*7p!`+kKy*$qn=5<`JeN3 z{MWJyO153-W=`2=xza`8efY7$SH)hB3_qVZP{n+2lBKA}ab_8w0H!kw_aziI-Y8q9 zb0+!}@0_B#DSz0MZ3~Z@PFbBV_@Hr`?12UBHeKN=!soqud5Yf!EJ*Il3g=ep?Y=!L z$w}0CRkD5cybMMKt`}=1)RiZ&drd$2b9>`FLtmElXWTDbKC;N<_W}9!FCBR8qU3kE zRXUqtS&D{hMN z=L|TH6$a0k_0CT1-MoTw&uzMb9;Y3?-(($>pi?Q|UKPf=VXe*r zhBuzaE#C$9js0lqI^CmEGJVZJWC%HsB^BtM69?3T;6WKDW^;GE$shT;{!UoC#+ z@0F9VrJ;wX^wE-#pAqZ)D%3x$=(0-Adcb(8L8Y9Jr-GfCy(=SMNoUdHi~|g%%Tk^% zugjQz<}=$-7Qypt88|JqBCqbtoB3GeMRG*v( zrIu4umP%2|!MAVy`xPtx7{Byo{XSECfyJM!xCb7sHE)+XN<0Zxn-u#;rugTD-BV8+ z9G8?>Zq#XMlYDuv=>{I-%Is(Im%6K;&NNC&y!}k%d7r)CT|=KPQ>T@4g0;T6Y@TVf zq^RQj22;(XiSOwA@^y*jDrdr<%DP!DbNfAa`ZBAJ zml{MKXFmUvxti^&N{aBG$dyYvla4f`Jin|^eZ{?enz$@K!>p)=7mt;tXS`E>cD}w! zT}9!Bk$Zw>N{-fJn|a3;r>0J}IFTn&a@0YnDES;?@E?okOO-WJq<1xXZ*g1v^uTdZ z-Y3B`wjKJR{%+omWfRz^=06iEo5cP|^PVDKc(Wz0`3lKX581JBBwG3x#97a{Kz8CKh{>{5{t=TYHPOe_(f=kK4D zVEpU`*MA0aW%aGr3=3JUOP1wJo2_DCkYHY>6?)KN{XwP)q74&Hg($u}xKeFuAY)(; zPo2s4mL=6~mJfvQEt;tu(RR-ATyxpT*M1 zf`v}cUwd6+QZGsTR8)9xT1ckip`He-q{TBYpZRRAfBNl-p|_P3@jy-N3@&XSsk=%4S8+iad9g2O$$zHBZ`^*V5?YaMb+Ip2ErgZMq%B zin5gp*f!qPT6fNX@#OM7>8Ee?iT~d5HZWOtWARs+%X3p0CLHLg3SgM<=SKNS?eh|6 zHB#cI{*q%@G4~l4SF7EkId7Ch^>*4FRtaF9v+lye!ajzxhVc@2?l4}zHE#`vP4d0j zHjY;|zWo`%5X$*8e1**K>fmjMKRtBczG6l0qJ*Q{r|BH#?whLEt@8Xb3-h(c7^#R; z2JFk1I&Cjv|Kud|pyv2q+pdLN&HD`4z5Ksc7WOb7Jj*O1mKkEG{PNOVyYM`A*@)-A zf`k@JC^LLtdj9Oj;CYSxpBJ!63bgci_x!nQ$$W2V?=rV@54TH*%1@R_FYIAEe(!zP zC;VVA5Q6f%h|u zOV0$(FH5HGTEX6TW66Xs36%`bW^+j{w%+ID@0EGCx21yNp`XW-Sq@I6vcG->Hz(9I zFV*|cpgCnt;_;&D;HZx9)KBGNjJwm9I*QCo2#W3xsJe12=#;ZtcvjE6t1Oe8nS{5q z|M1Hyzr*=7qeD{NLh|H_GY0$5ZxDXvpViIv$KsrS)kY>aB`*1%LJy9JHD0Q59&i1` zmrqto$b0bX`Cj`szYhjZsD0UXRz}OixQ%6l2*aeEEDTHjYF>1aSkpe=&nj3?ExRlv zz$p6njmNjIt%=-qV)k~KZ;1}qo`eUi=@DIg&~C~z7tIE%l7p*_6y&QfgjU*Yo9pBC zQ@$iwd9A{>X2ssApNe0fSf1ObJYQ#<=j`Sz+l+e`b7@*X^RR$(HaXPtHPNxQ2$#Vx^`n|lO3bs0oNgJv7Bvpkxqbxe4Y zr)|Saf8W~$2l&5b8KmldcQY`Ycjb$NPT-nA_JarBWnO1Yl`iX%Qgc`H;jT87p2vO1W<3j>(PmjcTY15_O?5^In|FjC&5e^9;ONoB85F9>0Ke^v+kB$r+EI7Cd!ipEJv2snN=Kl@%{P z^Ic)MZ)M~VqGIqo^BAv?@rqkBY^^VEKe8&R%lMd4VOOJLx$08wzJ@-|m0ua}g=}Jq zm^`tE*-PbC_!)`EjX}qH)_+cBDE=IrCuXLgRUqBd!LTBVA^w~Bu_f5IkZJig~Gx6(+JEzsFJ(t*eARoR1*2j5o4l~0^fAfm@`{8g65gRrtX z%ijmCv~!>O_E?1BSYxXE;S-i3uM3nqlkZ+$UA}Bd#|xjGch5O}{IdMmwk7X{Y7X#u zF5ujEO2ztv?SBTXwN@$)kJaZH`*Up+OP#STdgn`*k1juDrXKex%Fq>L;c4t)U}ctg zE^>UEu9~^f?#4f>u6Xa}+-@IyxvO>ClJ=Sw`3o0}QkyKr%RcZ~NURW@XCh#6UdH0R z>xzjpo9DGmJ^9j)v3ct3rp1%^qZpDcT;DOuy2=H_uHC|9#lKcrQgEB)3HBbYzNbqM zXc(Vg@5Q=PXXC@plTS)kbU7^H*O?UEc6_Tp&%7j#?}B&c1hIRUNAxW0kYu^QAK3X^ zPUX-fHd}v@_nHzMJ}yuGKB^G8Y8dNfU*UIt=XtM*Gp92=ULNy(LF4QOmU=tKu*_<~POa63x>DR`Z;W0tzj)1#JitiMKf{JHrqi-LViHpp6Jdb}Z zL%^=ir=h(L2b2qrXU)3l&9s=i-`V5U+3%i#yMJ$an8!W6w^HFrqr>AJTDE)UFo@?F zUYYDC_;cpr!oK1IB9nK7b5+gz`*PxeO@2L>%$~k5|N5(oTg#v2Qla#O156T(&2NKm z+ccSGw;Yx;oHteFi834Sp(hFaF(LdqlQlahv&$Id1YY3g@m_FCJiq4aikTOawfqXI z%2zzTE7i*IRwm`E-IQnBB9-rjHxzMvUBIZwRdaCSJWEUYsg@7?jk63?_zJsfbj0j+ zmfKpcn0Z56r9ygkVUm$AgV3L5i(gW!)Ji9;W^g>fQrxvwvFX(ny~pP`w6a*a_pr+w z&1v9gYmAwh%xsy!Av3A)s7kv~3zwf;dGc0E9&sg0wV2A9#uu5J%-pW#@O=HcAo*C$ zCI*(mKCPvfcP5B8{&Bw$I^kfOL{-U(M=7AH!HCRF80isqkV6HRXX^tf*;M;{Nv z>Mf5|f>i=$^ejxiAoG~1LB)Ds*xj#kTM`WJOnfr0*;Z5RX3f$tOXi*{MXqM|^(^I? z<;%MS_)-PWM3tY<&fq?7GJxQYya*3yM68$FDFA8rz#;4ZsU zUS>}Ilb%q*+T54H+dDPM?|Gno1%O^u0=WC`jeok6eU}5()s=6~N$5}dM z-r{w(S=Stc4xYHR;6bUZ=bbI@o4J*py zr&cPp_R8cx&OGM%KHxj!g-03A(T`O=F)aT(kA&4v$pX)d))kGNxe<)3%>B4WYO5!r)DRM#lF4s^;ZDP zo8Z&Rd3=WRzDDrt6&k2im#r3BdGH1UONp)KgxN{G&;9H|PfvOKMdUW4%f=m_Q(k{L zx$1iHmQPAY4rk<8EK%|f(p@rf#^ec4H||Kc__Oi?htS8Q9{zhN^Qtc~_R54k$@%GA zdvUwu%0+z^6ArCz;7~EQxpbmW{`;CG?1!Gu(>(W|VTVjgx;pdT&?8qb>DBCQ-tiu<;Fmy8YbWS_1wGx^Y*1pcg) zvLbiB{|pBE_zKSY?U-gEU+3}t%hJihT3TMAAId&{|68%>yXqp99-HLTVSGh(-?Boy zr%tYVoDk<+y5w`~CRT-f%L6uicQvnlK3h07jYaD}1IJ6BiQ84L$xm!d?AteURh>)W zj&g^ieh-SzMovp9$n*`I0=+x=B&(T>|Ew^cdj9{lYm?sn%23i3{_~tgc*3&T z>bG*=?RoLc*6xL9(yNCF6SqD8-u$jV|EW)#zx8`FN6F_q*NU}U&Q;p-J@2#Ek=z44 zJPp}r{~1OcYfY@!b8MQ6?}CQ~NA&9XU&bvi<#DdrsCjow^SR2m$FxuH$v4ij+8pI` zFp6_S$B};LSxZh%d?6>TH&1N)cESDc9)(W4z(1Q=a;-j(&)JH}Dz}w;nAi;5c+)Df zp4I6(X~4ly#H z4@kcDtCpR#Nu9SLT6doRR%QQb<8$CQP$@d2r?;3N@Ws|Sd9w{oGF1+%f*fZlm(UDI=ZBB=6 zKOSf9@@x@kSi}_C5oGr9$K_>d9sN_g4JDs{UB3GG_T-cE9;B_wE}DCAenB*wj^ocO z6C2-$i9I;ZH0@-XP2;U45sL!K+?(9vU;6B0j94Dv?q?w)=4yK-b>_F$(}la6{0g0x z&pGpZW9wtyW0@V@Cc6zd&NIvW)wzuzWZXe5ic%#%L zaPP()?Uw~Nuc$cv8W z9`-f0x;|Z!T2#fPC7l^?_<(9x-|{aDH0zf0ES3&m@O44XPwszQH$Nxqk8fmg$Xe>r`u)KgzeHPX4R>=9qV>_K`L0ckFf^vzPkw{%^;g>@{`g5h?cJ2wCM>$yZU+= zuBG`EpQ58*70tMsztD4$;G7ja#*MGPuAXqBc>BZ`4z?OQ-Y0I1J}8mhuCn0;n_sO} z;EFrPS)9DvQdy^Z$~`Imc`d!arf@-x#bu>ydlFZuPMiH%^4-$|f~?2@SwR*>u9#Tb^XEIEvuDRR+v5d92_Zk zN^&u$a?g$lddHY|vjz4a+o%5{{-b#82m7wKdwiGwXb)(Lc314((^x)LCjaa6S--3Q zai>0v=3e;lZG4v7v~^+vY&FMhc;pu6S%p8}vnyuz5{ET2bhy)5Cja@lV72_F`J1L6 zpYhNBkJiR(s#hLPj=#L-k#Ev1bDlFxYBoLJFPnWy-zNC)M3%{SJXjKh{OVpD&-!!s zKSPt#pSUY)|I}B1xOe;Tb@sPrtY0G!C(d%2uu9_OKc>Cz>z~Ij-hcB}?%%1$rmu`z zGtrmZt>((fn7;jijyfOSW`FzjBm80a@0DLqE;BRR{8Q*o^wGWF^@S4MbsKMlulr;9 zWA=ypkJH=V+IW7LfArh0y;IIkou$UGP&V+&r?qb!Oh47Xt^d!!@_Xmy63&{$58Feg z{ao0Tz5A?+h5OFwl6M-uGxwAqSU<@=b$)-i{pS70@0uT(zTN!8i|gk1{1$WUs93aZ ze%gH_k8gjT+ax@etvt$PpOUZZqkfwILgU2OzFR6DpSn}TR~Jy37&%Ymqub2K`n*vU zll^z~UVCMlpp>)j(t;;a7y2}G)T4hUhPx(w(qs@~4|I@={vG`9>OR)L)4n_`e-x;C z^vZ0TwRV?uKS|u^neTYK_+{k$&Gv7dAIRT|y7iwS@V#gzyA^DesE_#$3MZDrFW%F zc3r7iX?ICjEn}xb`t=D}aR+Md|7T!Lx%}mXo#|ZjAkU;7TQ+&>uH#DClRSyFsH*+V z*Tr#lC(Yueb(*|wuD!IqF>|}yg_%yhi+>+hUR%BWkC^hoW0xO=x79?f=GpMdD(Ay4 z*5`_hCx3nUquuyJd5!bx`h%9GyJdqu8R@*qi_%VTmRQKU(~bSYmBv^989sQ-@7n%r zdwa@{z;$=IXD6=myH?e+;GI)}OU0MRa#z0{+EB@~(BVK6b8>#%gKz6k=l@Wh-f`*r zw;7jf6the9ztt_=!rH~E~)nFTU`?jHQIPCn#=+RAk` zPF7#P^)oe{sk>yU!)ADWdDYjsLibDpa&xbi_dMzOl)>zF$>Uk)+e=DqMn=ac-1o{q zE3=frrtiuN(Zr73LKdnWvcE4+o!F3Ky~)Djr31%|TYQGi7gu=~b1;UU_rHE=o|3Zw z-(!{U?|rwo7vAPGoagwqi(#H=#sxFR69+9{`UIslr+k#Nu>PU`X)(X*Nv9*Lc%ECF zwR7QFke^Vi!6e$#F4)SD+<5z?SCZ@OvkB&3RI_~N@4E9z@Vulbw|0r&wu zUuhkW9Q8bP`>wp#RL*hYKYNnlKf|1mZwqoiJ$70kyd{0k1to<^%Cg-PcTb!*%P63 ziNzxG?Uf}0+?kekCF<0ramFp+V(9d8*KC+(liDe3yK+5Ck&xLZ4;8L06Ibn@bwgp! z?}?w2ri=M-=EcU{ZGYGC;^vq2J^vY!^Mwv)e(XN{>)iGX_ldQ(Yc6}-KCvYs`P8ZPZ@9&e@~uCd+)c zFW*-)e_8Lc#p7Z!zfAw;;wis(+ReLK2;VnX)<6l_~#uG%d7K`DgI{YpZlP7TtR~IYZuj<;lml zrm-5zr1Z^vzSK;6%5S$rhb>gYrg?Hr`8=cc-GTn40Xd!%X59L{$?C!7hb5EOIjBF? zF{sz-&t5FnEi*wv{$-H1r@oLPO97jP)-Ud-KaDCEt1G{IzF^rccadP>o3kz07JZgK z%X63OG5fW-LLM{!KJ&Djag^Eb=>+Hh4674wvtOH|8048M_tQ3Wf>#5pV5!V3^DXse zo)XU`On6cnYmVJIu5d|vO%Ah6@1D0$F8!RB-F)6}#)5-S)BN?>cOH+M!fD<2Nhxqo z<8|4pkm|Wh7)or<+H;*U*UT$!vI_RQ5_XQSQp26C(fWo1;{=tBlV&_=zJIA%eWpT> z=JA+$1(`>ed@@)1eBgLOX71y_^G@z60Unn=xpv$wFT5a^l@fAu$DHbwFEVXZG`BUs416VFLv}{anvc6Drl7B`^gPUQOqlxZ}NdoK(7v4^B+$Oi6W>JH9 z^3TNXKC4OlzRFBEZk^b6@&3FkKV|kPhHD>Jx#IOy>F;Bv;->nk3`WUP7KxGxGwcp6 z>3izU?kXL1G!nrBd`}r}FwUepzKq zdwLbL815c37d|03<-Cz=;1uOK{8ihZw!JC5wRq>2L+^qdznm3kl2}qY{TV|~0#nu% zgNJoFJtYhwhEc2C8=ly?TfES^lfiykQr@XBWE&GxyGlX>zx0k3f9CxCjFou{jU)=$E+;PXVg9WtSbf|KeE4Zm0YXYi`w zIi|)eQ{W#HIH~s-yXDH9i7$1s+BLUqGcWe*a_MLdJo$TnR7Z!0VB5j`e_MIV=Du-b ze3u#Tp!W0oldA6~*Yvu$=Dz)V=aP^f(@)<6@A#uK8;|R%U*L*nwDK2v!1_n?hv$SI zzN(%ts{&-UpDCO-KWh5fe1ku`LwGdK75iE%NPSqaLcVq)8)DyhEWeYy)KNEB(Vl5JXf%gC+rsN#*1oHcbHznpmM zsghv!)Okl~s;SX}TMpcpSK4MNYyUl(P;tyUG~Tg8DYERrgaf@dOf{VLTUb0=rI7L6 zwc)^=o^LC4Z=dgJwJEW9v?RLU;pfT3>wQ+iGd9Y6KCduui(c-&oDYW=NG?ATI(hQ^ z_^Q<}^jfM#HsoCH(GpiKf24Uk#KUm6#LHWA5`_d}9dA^emoU*?<9p)Koi*WQZWbah z*Tr@Q?X{2zjxsTqzF?3dQFF;d!m{>1gU0LQuU+3YM0}j{oTqAnxN9Z8Xv%Ih+F zpYAyK?y-dJ%2x#qReX#Ka~QcQgXS=vcrww;Y;(~L$)63&jupS0_hV&XSzm$OvRPLd z=K04kESNJ#ire7WnFM|>&jS-{HWlqj2@WspsjSexKP#N^UY3|l?~%GGT62#!HF2j-G!4!XY(Svn{_oi94UH(fmrXA<^Y5rzv@OsvuT4Z^UC3(f`fZYPSCmK&a##V1N zIZruZ?c@u>_g{PR%uWm~-tzr9vk3!_)ruE|%|{IzADrrkbqKz*{y zBttD>W!cZyX8mNywN#ln-?=NsnpKE@U1r18xR#YC9xG4EO5y&u&f_FQ(OsjA?Fx2P zJRjVbs!XzOOPO5Al2RsWzT<70;hYs*%6#hz3@n#d=9o2K>1&qFytvL?{nL`&Y%KSz zlMB8rt>yAMku^#9`2pQqb5>6KIdfa{0ksJlQ_H5Dv-QioxbpYno)3n%<{sZ@_w^xD zW8?S6C6zI1-1D<~Q#$K{jwF1_Jag)R=JQut5!)0Z?)*LeKt8H|%Hh1vJzq~Q7ZBjl zvzzingN@(j>w!m&+5%@;=H%uSSzlVRarRF)4wmo1t^vRc3nbTY^TDetJ$!hV_#$$H`XEChZ{4c6+dH%J{34bpE;@+v@8!b%;#Ve?ah|w z7pxHENV>#R+_!g?v)a{jZ0tU>w!JZuxDu_&Ijv@Lf0XB3kGPw%obQ8-4Fk893*TEj z$$T=uf~3ratuAYibWWYomOMWzEKu5{w@0vlsgly-^fF7CSrZ@WEfAbneOV)g@reyz z^_7iBJRcS}H+US&Y_-|sa9&pP+ouy1b9#OUFwbL2A4CrCVcf#E*rsG<`mOq_J-mlShb*gSR#e%cwx3l`ii5W3{7BKg{O-~8=OLUNHyoaJEMR&Wr`y1M-Qt*= zmf(yJyNf4T@wxhKO8wyGA@h8%T}o$o(j3DlbDoq(z;fn`$8gw_)en$K$f44(IR<%*>{`xQeC z8?T%EXE3qipZ-+)to6$T<n8e5Q1RvW_Pvq^xa@^}jcOUAb7sVdvUg3LC$Gb>!`3(;G34)^ zluwyYB|~_=EV-e3NOE$v1m83MCaXZLPWRIjzkXe|(E4CULiz;usOo)JPKqj=c&rn^ z^jym#sd5q99ZL(#W13GNhumSXTP$)=VG2`c&w~jTN2U30HQpDvv!u>6$&xwI;q@`z zFr$1`VN1ETCEGtoKTTC=K4v$CXOcybQMd#{iOBV|v_tbRO?|?UxcPnGm1D|nhGGYQ z7G7&$YH8S0`m>iqT$){_?5ypvE1%6ie|fejqQ$ko(LK)U0;86|E3cxxhF*5>Qi6;x zJYQ=wMdgIZJ~l&NqbENT5*rq9oU$mnF}v~i*?IGtmU<+W=_E0HQ<@@b>2P2|1GZc;cwVHiM-O7H`j*9y{<`ctSzt ztIUnsM)|MjKX;gVY(jZX`Z>1{#vrB244xXEPldkP8^7&*!WU9vYR=7eX-|r9v%_Dv zpEIomo8^vQnt0(I&l}J8K7a4{EJ-ltKQ{N-hM(X5m2e$?nxuT-oORmdC6zJB7A86q zcjZoaQYFQAp{uiZ#{zSOKGCP2=X+Ij#pKVSt>kgXK@RcXvW=1h$;B=4wt1 zPm@q=Gwx!uEqHNCg1_D?=ADacPLqZDUgLR6F-1jgny1V(9Om$Qv1T_JIzQdOk~}Bq zgFE~FYZE7mF!soN?)!4Y)j{QU4_{MbBtzO();Z8auCIK3Wmb{UDRGs;%d(p5w>E|a zI&koxzT9_cv7mKB1k=sO7lL*ilz3yCdEt!veF^#Jvl!U9I~i>IPhbDAJV%;;8as1K zV4#oazR)DgbB;@eJUBRR7t~q@Fnd-;PGDFdxMi~cZ%YZAj|UkpHAs9Y{&ZnovPGU< zQvJ-Ar31>G?fwDE9aGZWmfLuWhE)mh?R1c@1R?T$0au78!0??_V`Dl+#F* z<@<_76D2E;xyJ{-4R)Eo+g{^O2KSA&+y=(WvJ7wijFgo&$}m_3ZDM+O>hlYKuYTqU z(*5hb^b?fj_x!xRJW0#7Q?e+!tV-Co&uC@i0ohhdzHcuqOqi-z9GD8lncq#SzPLO8 zl;`Q<%S*M7FteZEYQg*CaZjOxiJ2tJWy61bM}6&2v!ridvE;CpK=b5Rnlj#-pS->! ze5tAQPUiway~yd451zGhabt{SV175zvV)&LLL;$Wq9 z1+`XPy`s~F^uO;*{knYB+Z@5hIRPxXc@0}S%v1V|Jx`@`8TT2#3^w>D@h|Y7$T9vN z1Bu5Hwi=8Jn=QBxo>vI!?r^-tCoRd{)#q^{RIn@5?VMyLqta@Fb4JELgM{vAHBYdV zd^9z7G1tZ?+rJl|Rcb8gS+hiD;#sjPjM5s+$)A^;pLUpc^5l~y4Bg*%JzlG=KckV4 z&$jw9gPv%`lZp35MSMgzDn7n0b5YqqWuL|Cw|>$xtifNE8bog_@w?cwG01^w@o$fe zt1|?mm(@*qK4o*qqGN8{2_+)kJjJz#CteA#YhLSilsS!A&V8?Eexdk`WOf_A+Ltwp zR_u`ZZn@%!L(M|3NyW#bSYqxh$SwV=HTNKsqkPR1fvki4PnusJtIZPT_By~OdERnC zopV$sJBOvL#S$T}hiR5St5&}En|LIL@6P8-OGAP$ls%CObJE(FUKS9c`FoYWs7b=E z+`tnO^8a?(?6}x064Td}c`PBELGU(9Qa8iV;yuScZaDa^!sL6>!IZFbj?ZRDe&?UA z{G)%V_S^*;%*|e}lO_pRyDTu?c<26+datfZuH(~e%9*#?Y(0MJs6&8d-p{vzPRTp& zsxhcMSg|0Z>ZGPL!wC!9Lcji!gmw4#T-kVZ10Tm5UVD|~qNduFW`>iUMP4wF>Yxbzy zl!?4!%{Y@kcU|3%m+xKr!X+onnKd(Xavs-n2DvQGMGWiCPho7*T%eNf_F~VYj&D|N z%sr14s)9vh_j%kYd!-c;r1D8hp=w+4Sp#XE=Dz`t8A_MAoo)Wq+{bGBn5F&sdY`go z6IK*eJYMkf>jD>Fq0Mt{x9K+2O__A|X`;tTb(xP{6KDRYlvlr5vHWM^6)}eAx0WXw zu4VI>!hGJZI=JS#bCcDhIjN6NJDz$zYrT=jVQCAC7k4feT2He%%yG`3_(Cwx&KH$- zUuE8^oKWsaY&fVkA=;>+Ws<{jwq9X@)-KkFodJ6iLUucAga;KFX+>u|iZ~?7Ec^1P zo1eJyqAUGrVV~}~oY8S)e`@(?nnp(t6NADx*(`V0?Y@h-3~waOo+->`zCq;^(^AR$nmucB(}r)q3x7QH7u9r-(0?IA-koIWkp2@zI>= zhC836&vTH~;B90GyXEv8FZ$0o1WTc4^|-EidNEN^#x!RU?vGd=_36U<8) z+_^T!EeUS8*_QUC{HWbMaYJpZ$35F^Uq+v1HmXYRVrYHZd#c6hVf&fF150+FKD<$8 zd4j9V5xa*9^D5r@Ov#JaSvY9tx(vy1Fttc+dg&wgo1 z=eOf+J#y>{UzS*>uzEFdzIEUh5R^SJ^Sr|Iu9C@Hnlt>WCkIYC^`LNjPr#dymV`js-E|Iwa#70u6ywHaj(AO=Wc5(WgX5LJMd34 zDY6UPS+&tr>`0%ZQr_JwDIe^)Dte_{Ctk@r#&5EgP326z2J^eg4%b?`wfm=Ao_LkH zRJ0-W6~}?IMnV4qTod@$>i9&r_w>j~oAB4R^v*IC$?m zB(^sKmXDc5)y#TNS@B%HQI?{n-LaVGc;PF9!darJ>U;}&o;L=so+%=H%-2z;C|_|# zvb^3sURKo<&nI)(d)?j?o|jzGVbf*QBKPC#N~NTgyDg4;W$wAbq!M3Q_tEBG$Tnw* zox$^@)q6fRx=dgzyuZ!xs3lX&9lISS7an|(u-)jxsC(kYkH;&P?bh+%zJHxoSkVHF zbN+WFmwC+Iw%_kRLlj3wR?oaS7)@{k|x2l2VGGp>l(0QKr~~_s6F<_ZeiG zD1P!PaAv&Rz@C-7#dB+9gYI|thdw($tN1R+&FSBLZSK>Z2h|rmSL@x%xbC1*rjU_e zHS@LA$D$%x)^IR93@?wb37v1zux+`$;bXh4(uZ#HCBF|iP(J6dpwYx*#a=xe$38{6 z+f;pDcCL4x;dYtEdrR7EPZ`fK`100)Bbis?r{lq|uU#_M7NqfRX*_R#X|~2J+nYXu zbN4-(c7x;UwiPEWpIl&_qrHIh_N1&uXXNt^aJ-+~q;=@nC5@ZMeLe@C6gu)Ou%}#k z7DK?sHnArHg$KT^NNw|&v4%l}$4&0Z&)w74Zo(+D>a6%zhvTVyD28} z=|2ybsx|IC@h(1hcV*=r_EWXLL!7Lq-8y;T{F!>L`q`4cm-uIthDshaf7{V{%t2k` z&5aVAET?xSLv*kl}5RrJd_pNEWWKw5|*hjYZf^iVx!5E*!-sZe7a?dwHY zkBiT8V}E+Q=HC>Tles%K8Rz}0+bS3lvMuCExn1U7Nw83%W5{~T@qaYA)!pSCc39MRP$?Vq} zlDCN^?kHmavTOvx`>I^D}(!)8!D_c6qmY<9QKIYmO71)_%5b zTDx>67~VSi`FiDpTCK2&=aRV_C(rq6vSMS-?Zy)iN{%wzTaqpFakKFByFD6jy*8XF zYV|nz{!hruZN~-E4hHZ&IKE)%)|rvTP1X(70VZ!+1U(BYX{`jr` zq#thgEtJ(33$ahwz}%B^!FplLBg29VG8^7rmz(nG*kgv}T6P~+%!-sr6Jto<@j6%` z;C6Gu{5`d+));p9WL-2Xuwze6&b#W$vj{#aG^aU&b^&bLo+d z8rlc)qq2EV&SR^Rudm|lb8=*u`ldE>)#@r{<)@AZH8K@$!JxF zlgyHKTe{V!xxF~4J}-mGE#y|fI;Q#ld0S3r#J^41=5TxB)CZRim%V%Q#xX{Q$-euK zRnW}u8o4)RH&iTOov5s0KK+2@`NDu>hcbPS@GYHMAhNEg_ODj@>_kBihx-SXZ2J@# zvnGY{GDGou2VPH=^#2TAHz(hgNt#($xkG1VlgPsp5)#LkTD^MxG{p7Ty(L|(^Upr4 zl49tKWS{ zNucC&^?6oY^E`6j&aGM8d*?xu`=yzAtV0)PhO|_$>CVd@i`@ywi=A9IVMhXiYV+|a+zrl%lb*8)dpWzE=}ED>K-#q zLh=b$S9Hq_$+h1N-u6vl6q)w+x%lnf%lV>_O|V@3|jI|p~z#|f!k$=j!!)B{p-q6GlzjxRKW?fwP*R(;;3ur!nX^mUb zB-3J{?S9f*1NDQpTsWy{yz7CPhDQmT@)lhs_|Nr_GBj=TeXIx8QE>P*5^3QVF&4oL59-qS5u3}-!XRGb@ z?_P9@`yKH!Ifvj5oZ6S;qUGrsG@m~`xm?%953Z{e+# zhPHt>UX&RhUljE!?A1PxfTdpZr))^yD&XJXWink>%2NQPuNtdYF#PgGXy#UTb|8aVxe_ zBC$L{z9?%|lIX3KeQai3CMr|)y-%vWc|Q5V=jfR+FY=PNWmfb*i+lX@%Cw6cf>Ms> zRCle_64gp_Vk=t1c>K9{&U?wfXL{B&wawhgIn_sk8$(6q~ zr&Xr#N5IARGrSxaN*+%R`>=7<2ZL%xXQ_8i?NtfYZ&k{dx3n)=T*l|M@v+IZTm4UO zyEfc6{B`MYO7b0Ow=GPO_Y(+PPt` zpT!@|do?=_$doZn3`^-ZpU1R}IeDtdMmOctDp@~Y7@y+uSai#L3cLEc%H_^N+Eed; z=E+OE^3l;la_J<8oyQ#~2KcrV9p$$_+Q+auI=QFQ;_hXex{zlI${t7bs%DjE_N->z z{{GL4Cp?S?AHNS-t#?Dpv+V+(h+L8Jb&;df&p3QM5+Zzgug=A{TO>{k*w%Y(uuK2X z(6lh(?%f)t58t|hb4Bw&-9^)U&dikE%+TT|-}MX9cx-@Vm(_1!hw!WJ$rw|siy z#N!<@|3p{+XJF;Kl5!)-Y%rN!z&PibQF*JXQLgTME;*}M;&^E>#h?!#t5JvX)jx2%v3xAGMh z>J$9x=X)`n$u(Vf`1W0`6KgmUcQbCjwcob>!IJ+BykFll{;8fG|Kaz8EGdtjt!p1Y zQ|l<6W@B(%^7ZTZ#glFywUG`i6LMyY+f%k);P1A73}-(sez0x1>fTAd^^0GwyH@j7 z&v<8JLh*%USzZR;-(r74F74B*5%}qq?~6D#-+%~LUcc`M`+_Ya+&O%IPW|cit?Q5G3uPI< zGXBxYdUx%b%Ld*Y5$qwo{vS1MCSMl)6#u6E!zcaz`&(qB{JZn&x9A={biT5zVWY;5 z8-Dkv2pAaDYJZ*V^I`A2?)2PcFBfoUXP5L{HJ-c5;y=UdYmLRv^nd8EO=hZL{P1mQ z_A|EHNaxeNPYS9gfA?ozzO*jq{+^4A7N(xNr*iX{t#94R{|pEH{wUaZ{?^*lckyRc z*<#Tv9Y>l!O`cSEd)A*_7gH|&@mz81#oFR*nc_QZH^;^cOX)phR{17#A@D2zAHn$t zrtfM$)*Jt5-b&Mp7jw5fOqJQ6ex%4J;$86ZJcHWTU*=u9XT03>%#XfHcgxQ!%diB# z@?1a9K2g4PTRrPOhL`i$wr0nkwB8+a>rUQpFL6ED*~==KKddwV$0hi?^yG*8hi~;C z{LjECk+^fFkac@o%y}cL4+s7;@b9Z%r@^dM-(RQxcd>n*tTjli#>2O-O^^4q#+jl+ zg3Sec!!2aK+G-!Sf3SG}=I$ERk9(IN)922uwT|2y@jmyO&_0*jo<`5NRi$6)`eOe> zx%^PQ(7hl1N9N0I?dLx#5*)pCjk)hc<&6ptgb(_EufBfi{?_$xo@ahM{$Sbah2APn zzpmX~wqcU+=eFP-n&(;lEYC7+J+Jhip((WPQv8Rx6%v2sK5koT^S!EQ_shxqxK*?a zJEdO+=d6hObj^Fky$`R#4G-)V3^njfeI@9h z7{6gx?b4+S3=f4iZ5Ex#cIWv#%}EzO=l>B^K4?|@pW)4C{%*D@--BN28A-QtoHIW; zZ*kVM{bqmEKbn1a{t)}0;qYCFn3&968*glz$h%6s(t7#@`PcEw_kReCbv|nUVe$Jd zd-crBwwE2#Zu`X3;P!;+xa14t_*rstA7=kZKKd(1?UHk1VNvd)83N(c4o#}%T=BwW zP4)dh!t4)imv`;6zxm@o!_hL{OtogiT)XqK5yuV}=l(vDt|0IAS2bDo>*ZZXceLJ# z(6cz7|6#rC-)=jZ;~)ADyk6aFC2;G^C+~e8ZC@WtI$xJveM_)e-Zr49u<^ig`G+18 zyO$oh@UC~;2Ia!z{!61;Cn*R_`*ME0S8JZAq2#N(yph`k-*9p0*lIA8P4b+gaj56r zvrY~N<-oSQcG0wJ8p|dN39Pabydaf&%BVr+LHg6QQT@;qOuG%Hovz`&O6sZxW^xzyJBtBn)*M4p?xPBT`TDg2{&^0n1_9vQ6g zJmzM2&TiQnXRY=V3hSL}c^M*7S}#rtyfbn4($LlhiyIc--}(t1w`MR~Ens}!t2?Q? z`7#5;k|JJ~Ejnj-x)xUTEt>oE{SKYAEdga+6O*?ay>p4Ht)FU{oR%lfd~vUadXh@Z z>dKj~J*79F3wTl%Ja0>0oBiF=_tz$NEtB~8qWDJuOZmkUCwxBVyD>jG?&V=K#Vs|| z`qzZTvnE-7;_}!tr@2pS|NDZPb(JShzS3YSxcH8{?|{75W}aiJ(uG^fn3o2Ax|eb* z{HcwFP1IoAQPQhR2R7=UF~}8OV0yi45!U zfT~MX3-qEEtv_>e%Y-VqOxcFwt(ywZ@rHipoMTe-WYOacTP=@yHO6^7M?S@GmkGJS zGVz<)lamP!7PhvTFN-&Bt4vqEyi9Ym+O>O!7kqi`(|EH}$CK-h<{Lv#M!lL%Dz_&U zF^Vc}DRM9{DDsHib4A~ZaclB9+Z9`;pQ%gKV!z9B`L=^t!~*q_7t!3G7UVFwU)pc= z&-_Pn;Km=%A9>&0YS!Xw8C_x_ZFn;Ai|H?;lTr(3mtES^#FqVV|LyJ0Qv7dOl(udu zGL=@VdB7UnGpCMirM9T>OZ%JFN7IkkbAH*sy>m(FcK66re`en9sk6<#H1F;9j;nPE z2LvqF^Zjkl-}s?PR_5gI*OmqaH}7!%bmQMz-6hztOnApvm6FF_7G@Y-N$ioRX_Kwh zTDfD6Mawb2cv-9ds4bhdmQV0Fzszb@q2tp|G_Tf2i4p=I0b%?2$YTh~}&*H(Xrs&xjHxvHZl*!gj zH3@RpU}s2QcvksXAE$;9KTF?~U!031QfJsbS~%tT_nFTvzbseYd@5Pt*Oy0A1E>15 z+66c~DE9AlbCzrQd^YID#IPIePxx$EdG>!gW%Atic)pk0%xMpD>@{ozudVU?{Pa{q z^i~7qw#2QED%^@2-@f;aH;vi7&%;LWrO%G=E}sR*B4qm4M^)6cHY?2et`NWyWcDeg zc>3Ed$sdk#Jn4DMF!92-CDBEj-}Jm={l))q<%34?&XoKaUzL|KJ4$LDmOS{_@?|iK zgiY>AOXj`qD)Dyz84N^^TYOz~^XiNvZ^HjBvbw-~XY#3p`PyZFGFR2*PMW;qIkQa2 z0u@WQ2k(AnuHD&i@a5~54(k*8Tmu_svZPC%t6242W&54ymqm>EG zV)qFU-x0CfRcM-w!8v|Y1&7b6ZsPm+)n;$K7%CxrUe~X4+xgA;r>Zt&F(@}#yem>v zFju|*D^S^0oP(WtsZNiY&x%yp##fpX7jT5u7SH*7sX+PCE@Og_+0&p!&gU5#Z!PMc#9;Ze zO8$A!v6p$}qL25v3azQ++1SAFYS9F~zNemt_PO2D$Q0Zc@c6mx`K-<`dvmV&r3Rc5 z5`Q$b7>-#yYLMAI<)QKWv%Xp9g(hnL?6ACjYsPMWEr#S-E z#NU;$ZN)@9(RFi$dK~SsvfHS}FVIp7>MQv%VGSx0bpcwV6<>xlzlGQ{wR? z4Q{@M&D&>}te)p^Jgdy5x_k2ZyUbe^gVs({VX&$TIXPd_y5bGv0-ckJI)B<;SaGG? zOSYFdz)*N?(dOyW+rFJRD4NeWU87+G^UC)@_ZpKVk|wDd=JQTFX}RpML~l!y?oP{d z7ON$1N~Ap~JSnkoYP2LfyNa2XOPJG|NI&bY$tliUFUOCyQ8kjWkaZDB88XhuEp=vuhl;P(xiM-3uQi;G&>`&ccKnBN{_wGePP z)#P54(qk?lzC-euK?YOClP*`q&F_y_d0P4?%}EzIyW9HtZ4u!fo;h+?#I`z_ote;m z@XuK-`-zfM`^>(tR8(M+GJSbn=4!bUw~DiJ!SCk^-xs7@d*ku<(eum7Yh6Cz4;h?T&AOoYuzQb{|xI*g%0m3 zRCvW+cx%nENp_dSo2)MHn0u6?ML>Y5-Yc1Ro=*U{Z*Z`m|t>V9Zat@h08D>WLwswwKBl+`-){#C}O| z<1FP%cQKXvZpxSa@gVp~UrgSq$IQ$&UspU%R+@3%`Gjj99d|?be>8h#5 zaA2X40*44wy;ari2b)=Bz8>Fd!n@>2GW$HOJd<^*2TDS3Z?}+q?(U zB*RUDTS{Mhb1mMPRD6ur?w&d4q^=0T9dgHS&3JM91aJSlk3Q^%yi)>fk8ji39RK!K zlhNL7jTb^2n+l3AuUKg_BR)@2dP-dh!-=WonvKsOST21K zIXO*TmX*O&_3&e5_WNrsndVtPmRPppyaW3~kB&p}rXoUnx%sXzniO)(s9d7=@Sx4- zmp(cT&%|Ud7Om9_-68wYbCbM@)^g>AM;W-;XUx7AwByTTlan_WE14x9Jb!B0at5u3 zQ#P+`~QJMHO12d(U_tw^Zw$Aar~yTalxzufd64^;2sY zWPe{uT%w$L!1k=23G<34!B^PU{Shm@#VH~2to77R%M-TjOKpS>r`>71BE=G@ZPK+@ zd~#pr8y4M3&oj<%wN*`SRi0CzIcd_R#q$i0`)xIeE-LdXhtR6V zgK~2MrH?B!&YS!3SeESy14eb5XLAA<#~kxBJi$`Bfb*$jhXzC6qiJS}M(&dD106nD zO*j=&_R>!&QYOEr@$aX*nT9tvZf6bkJ5b!!#;B}N*s8W>#$%s%j~kn6U#=8!eyWno zuC`#w8gHH?52yXQjh{;v`cE-4e1CtfXO4h6kJ)1de#gK&61Od1xiU*Dixmhjw{^8m z;Mq}k*HKnWv|x45gU4$HrV6!so|)ZV#W4432&-d%R??Z<--JJXoS^w6uh0Jb#-5N| zo<7HrSNAn#n!|Q;PRfyFSYS6Np!=9?@o|<}IYw@4_dfaAX2AJ6_)dD>qXMU63thx%$(}9sej76C8duV#6oi3aZlhcK9>2I(e4?0 zO^ByW(cHD?ZHg$jr*X}ldF`|6ryPE_GN$Ts$if=qC%^uQ@M`ye4p1wbQ2iu$aZjad&H23- zeue1rsJ%F~Q=x(3eAfKj&3cE9TO7RY&=$=p&*Xfn=RwHiocP(9Dtt_{5~oC4xJsV- zQCuY{kqRMXTKeNBQQDU+>%W#K=rOfXDmcZLOJu2)H zZ(j#>wAm%pGhb?$cwA0I_=V$AJ;Cs&-yYO$VYrgs^ORlkRjpQtQ^7)xdExC2p-#r*3gECuVV1rw1d%7nSEB1cjPwB^mDen zQE352cM`s>*gn%}`)0wfvsB(F>08hLs*vv6Qrtnq1S|*pvSBcuWAJ>88ogb{tNYJZpZ| zMY8O`yUaH(2bh*5uTc2xGdDC`?yGzxR z{AW1Nmjiv4Ps%isC1j&-Z`J-##UuFITi{lefOVmV!_)&R&len3VP4o@EwrG(^3i;i zJP*x@eT!vXP3qnx7T9LqK6x;x@VfF|1LYEh_kS}#YMwK%b+P`};YkzQ%wy3mW zlT`pqo%^hZbJE$DWyYD@-z~F#{aWVonT;n!MAK^53*7E$c3|mZb2xbN_x)BgC1L3u z7B4a{ebZU4{`;zAToJ$gsYcbL;}fMd(q7(4TKMTn`W=au+o!fC2OT@W{5iSstYYqw zHvxVI%cj0Dk_3t>t5p7K5j%@b>9_&POLa!{3*OAq$qcS-~sjPa{`o<70*?^J}#=s zbB3|q>b5ETJ!wQ$R&-N(#)z(K%uJQjgv5(Di#e}y3WfO`o^jw};ZrJ1Vx3 z=A3zjK9$qlZcm=?{6Z@|rB8+@MQ+Bbi{8&aEqGGc?7+2FxSr4J1D{pM$tHs({Kpob zP-jT)@|cnr!Kkv{L4(PuQJ~+T;ke4X74r)pN<83Oa4GK2?Px*KKOb+e*NF;jV0cv= zm;F)x+nOJSAI{y2zI|R)_d#R1;U?dQ{of0(O)g`;QUGc+B$eOq$N{Wdwyo+C3tBPVc1e9JMEKeaFA$ISl>tP(#SKkmNXq&>U4 zk~vSX@{(ro{im|-m%1B&9W~pstw3k8H@`x{dr8Z0tG{iEzT>9a=WwJiq*V0BF8gf$ zTT<@>`h#NA-k8FtU*2XN5HjV?U$e)}X9GC@t^d*Ic|NMx>J)=5dsKsw z#|*#lFv-oiIzYuNbIQYQ zGIEDkEPcVW;9TV$>);-VgGmnT+w0d_CoMly*dI5A>)~_G^8Cbu&wJ#q^m412H@Cg- zTQp^V!JPDE8B@!rxaBkyu`)+Z^wnO>u<=Rx!I#0&smI?-^ydV5OD}qooM*YTcWH=Z z0DqBGL*ALfI}A^fZDw`0UDM%I`1);m@7q@H`D?ivm^_cyP2qddXW(elz+YA1SI*~V z71X%lyRzJr>%9B5kK6P|F>d(zopF0(|Ll9yg1DIP)~+}#JoUW4mrKy4%Dg>=pP3z* zZN5#Gd@iez)K_3&-Bs)=!o!*5T)ZVXneX=!!^igJGKCJjDH-Qy{*n0e(n#gy`K^8} zyCwQRd~kg0=W)gS^yE1OY=#b^cVrU%IAxO8nu(YA_$y7~Pwdk=Gwq`o5Bpu4gwT@h zIn(a&Mei43_~vw6dBfv*noIhWBxS#++gviqS^Y`Q_|{z6{WEsU_w+E&o5HZF$B0`y zd70*X!?(dEc`H_UC{&j&(pVhR#8y2))3iWab8>-QoWslWN=q28)*L84Zn@lVt>F9K zohO$xGz#36aH{&~bdh(pfZekMtK?aeY*H389_P_qcJuUvbwyRemp`oxi>yt$;?47)I|v^anxe!1Aj?uBk6A|ZMdpd4i+)P9+P0c( zmkyEnCD;|V)_~i23+sEvAE>+)HH;e69Py|m? z@rjpTmZ%#|Jm%CmC$w2blQGkgy-#cJ!Jl?9dLGZFJr+;<5PGN2g5h%zBiFKHH3spM z?Y7)-bEsRq^Qh6&!Zt3>h4~5cGMZBF)h%t$D*E}%R1rN8d}(ozgci?e!IMnu=M-OOm(|QjGZj-U_%wH?jPSi_k)iGH>dL;b zFBe&6@o8zLLPB-GI%Ni{zmHoLLK+Ty;%J}6XxFr~&EZth@vffs&rQkNeVP|?61Unj zWiZBw74InWWO=mu++5_n$%U((>kjUF|9YWj*}I8edJg62tJj@$m#! zrieLH`}?dyHn=VADn0Q0(!?%DMMM3#9kLlWmToxlFuXVL{1xUPMlLILmFJ?YTP}IT zOekwpZuHMo4O3Mj@ixdmrjbULx8@Whv8C)-q3u-g{i zn(@vqgsX7-oQt0hEjTXE{(Jwq23C(#b5~f%zS^yFWR;S>?w`1+dH%C(PZ_>G>#$+l z+joEYnPqtyG#K%Am!^(ZIf(?n|zn=x);9=IH=OKQsiiPkz~W` z;8QoGuX;Y7u&8lrx3z~vvc&sqOLh0OsxVnRYxV7KGQKZjf8t)^<9S;c?wctbEdHE( z;`_4qw?8Krp7*)3Nuif{xyo0j1=1-e-PE`HO=0-YuzBSSANh$lW_c zX$qG_djDF>x#1J%FJ(}ZlaNq6_Rgp_qxV3M&hqEX6P+b)x}S<@;&{GrW$NS1R7vFt z8cdqsa=D)+OfXedfc7tobrOo5L z=8Sg?B@VpP?5|Z}(K2B9dVVQ$bidgv0(|Kt2+`L3ES zC7EB1_gXA-axLVidMQgYF%-V^PuLh|v9I39{e+^$_TEXd}-sv~_3eNz)v?lm)fe0^=^x8i5w>`fMIjU9_~vSz%nRCzW{Ua#cT zv{UmOY_&Wmm#7LhC{}*^zO-3Wj(@vC=>mTjm42C&aKiD-1!`{%)T)|a*%S@-05 z|FH&%$-A1k)BBf7?@J0vX6`B$)v^md@#U?rp+Uf#x+JSU3lWBXtrkU(B>rm?LfWTR%`LnfiKcoc&pc(qTRbfytR&T+`sVala`}I;P-vs zZMsq%yeB?=`@CbAC1+w-PcJL%pH=JMugVvlNE zJZE#B^88)ySs5&o?w7Q@f4qLFd!7?4s8_V_%n<7o@%PjIKuPsp50y zWh)nUKhtAW`P}?6WXoI2gefyqUOCu)j0!lma>n83<;taMTX+wJ$E3{J?zCe?V}G{B z0qs9_S8mSGPFSzLuKG&g`E9`h{mha)))y}%KmE)Ty`ZNmWuCoMvf9P1{R$-qSMofP zU~px5&LDU1t8}bQPpHF5S&m2D8UBGUerVb3vt@XpS>|qdj_=$T7Ok!xbD=%6n5NuP ze(EfA=gXs6Q5@Y`n_JrDwTldItzixPyw`ktu(`l7c7#2^`vbRkxO>xsY!r<`2&{vlsV#9Pb^Nxoh z%*s{&8CoNzEM~D}$UAZHRhAL+pM%>9Cl%hBv!>@q%mcoCdjbo@3B$f!CRC$zo z%k7T2g?y9_Q|#iiTOaEz5&ZP^td*mdjFzTN%Dk=0qLm_xc^LTq6x6nwdCy%HvEgUG z%4P2zypeV1+%7En9ipvhG*ecX~40Yn+erD4%+F%U6XaL%$QOm524B z7s#Y{)h;PK7xG+%@9xXBnLHn#PkL3v?iHOe*YVa87KWm#-+>9D+hRO^PiVQt?cVoQ z+IeR=-`veFgYxFiXjOESytDd*$-~c&)mOaA%3)3Goy-;8BY4)xd}_pV2H~ULYR{4w ze>zG>)VdmH{C2o^r0saN#e6+OB-YnhlSi$P68-LYm zD#WaxcDkw3<^qd&wNuTXo|O8pD>wS?es;@&d*ZBp7Y-e<={{z_AZxLzDB8p0gv8x> z>@1@n8v{1VD0&S)`A@| zhfa%6=?hoqa(XVgblc`zyCcs_JeYrNNri~OnRb=Z^Xy+2SxUI@?CD`V_^9!#noSYM z`Q%wk6hhLTF!=dp)oeXn_kwA$!dsgzmDm=Q0|FJ2wl5?ur#D4x4?UG@GGR-WPvHWF zvenVy2?BbTw?8`?I#Gx%d)mpomgZYcdd?-C6Mmnt-l6_sWulu_bi;y@v%*$J+m8Ix z+wwyE$@7J;Gz3nbd(j!hdE&%*uO`mqGQ&Ad?95j#-`TRsqx*owvyOzmyNA!ezS!@@ zAo*yU!;L$hjI}E_X&B~(-koa0d~MEK;b)4Rw`%=d&F* zN$>Sl2x(C}#8fKRv}8KZO!lXLdKD(B#?J0|tjxTY!Til>wVPf-;qN~C8G3Yn?^mDX zpOq4PTWdv7#Cqr5dv#XpoLbA>!1-K#EtB?{r89&aB#y^loBLG7BShmQGt2y^K}$T2 zKdVXpC>r&4T^Z-&674PNwi*%}l|{l+RT@7l7kgTD))!d>7;)qkzjadZIMqD&xP|&s z)5qfSM#rc1q(=V=V3}sPN1(FE@9cIJNvlV5MOG`YOMD5cT%3Jkft~T4XETrP?iA!K zFuZnB`4;i`EtU2Dh_w#$-K2H(WB0n~B{%ccr%#0M#S1z|WFA|dWRev9_Z~xB_H6vx>?6Z+vPZ%6!_i8Y1jC7Sf_auq$K{R{+ zv9+E;o8CEY4VOG?uv^q)k`7bxo_Y3)emmTLe|S)QBJIJ&3zJ&%Qs+FF*w`c2656`; ze(!=+ec>|vOD$(fO1Pa^@L1Ym5%-Ez`}FFxV`VEQR@gmijOhAy_1nANf-0WADZeZ1 zE_K_eXKHV4F7mUV>Z{YDZN2bTv+letm)<4cWIu6uki=@u=@TjxT;rYJo$f+W6 z<&5`#R!N^%yDH?}^PxyYQC(^FvxKL@|Cnbj5PI2CabN81`eSVMQqxa=Zu==)xZUR4 zs>*3!ujeH*ul#CS5G`@#=Ut0i43F=dFtk}JIykWWXW%@a6|dr~Kc{#agP6>tNvGb< z^$9m@5bk-*ESk7Dv3cTl*%eHhr~Y1dC@*fBQy5^dJ<{&dLeJn(^LotY`UjyWGE zUz_G#c_f{~f7LqhLfQ*2)c##4sJm!1HKkf79MiI-J4i^jQ6M_&fQ(su!>9 z@oi}M&(Q1obn*5%cLQp6ybW4YJoCHZU7sIa{!<;#Raae~@h7=IZDrOat;+6#l`=<* z+`=2*$8EUe@_AG4lY#?%U!TQGT@u-`*|E_$PLWyimi0f=Lgs}Z&d&MvD}}$%Xy1>6 zMT?p3rrxY@Pub)V=#X%K&vBLyR{um#Rn$Ih_uSrI_rdMa@gIIxwb^@qlx9A^wfc_m zj@&!76|cXnTa|UJ=!fry>5DXOaa`|$rdAy9{gI{&)e=_s;#t5?cbTX2XYTQ-mo+~X^sYi;K}6BH!3`B5#H;bsrvz1?92O;y{*0X^Z8e%DtmIB;OIHNW%0b7e^xboUm?3RQL8~b^L*T%q}iIO z7QF@5vzoYP3O_M=&wVgzo=xm}!34QgwJR7x6=dcv-vsRTL(Qg%vhTjGmC}d)J^^_(k?Q zmo{;a!b$$>*XADI*!WTW;l0Tptq+^mv3~SA{*C*GoaHQ+yNC5GzWloWjQy?de+HIE zKR$j4KeB7eKfw>pujk26`k1;!D(6^c^0wzX2M?U%vtYUY>XFx`-PVS;q%&Cxk9wE9 z`?gYc?`g(9=Y)0kQo=jl)#>;?y5DanwQ>7J8`V`6n=V~q=`+2!ru&%B(w%p|*d!EQ z+N=F7{BQF=vwv6Qbmm9?*eJGoNd|L3`0m+ZWz{Qh$TX~ZT*mR_dDmax_QSV?#dp|= zU-nt@GzvTOEfWd``CFNn|F>~EdpW)D4=L6Tjan=c)a&NkM zlJ(B__;2kh;gA0_bpI3mvHZY2(`$CpG12$W7cYI~%~Mbro#t`7CG3mce+DmMx#idX zGkkE}-+E1a*OdLzrPhhMj~q=`*-Xwi+f=#VsK9Chks(fJjH7iE1CP`s@|-3o^l1B#0ofh+@;$Lk9&QevTgF&&qum0?s!;M?0Rx* z%az=mcW+g#{+3T2RA(hWY;)Vs%?L zw*R*KlhAx*p5(vnO1(>K$P>knJ@x9tgD z{-fKcJ@4$y$31*IzuH{C9%bLH`!%&IBB0+$AtJfw<1B`YyS)n<&P%>Ts_I+oZH(gQ4b6b zsP2y5v9w@!;pS!jF|#)0o^ExWuVrq3lMb@f#a#!`SKO8&Mr~WEk)fO@1jZo9$mBH7V;ttOgR-ew>KZUug<*mn} z4#n6L1y+yd3Rb4QI^*-}xDeC!m znfFFSbUkq?oAxS8d&aegQ@bDZ@tZKJE?E@8_T^T@=Q(MU3>EzMonsIC&mg6=A&KW= zgwL@jj{zncg^iwm| z*4^5)qQ!H|sdYxRyRIL*FKz!|ft>N?t4lA`urJ@E_GF^$7ojEnlJW<{EtQu1omnSQ zce!3TU;NlV^N&xzwoNyEP@Jcf_)M?(g!)tU<(C@lPG6pzrzq~J$mJ=)yyE-n4(X>3 z3)a_1EnnhlyKg@4($h>A-8XCPZU4OTl=ZGnn|b#%&I)7lykP!r=b?Esk6LN`XQ+{R zAlSoqRmn}#Sn0|4?+YF<%+b4ee5)9fYI`;B*&j*E`|iJI5}B|wX5MmJ&4!QjsFZT5_`5&5pdw2dQe0Y0ztX+B^uaD-myXHolR<*eY2FXyZTkhDUkDCbot6}q95=75xyOn^09B_ zQXP$M$NQ zfw0%_{il}cJwCqhtonu-LN_$bEsn8e?a6WJ=__D-z&!8Dw+Zg@=LJ>zA1+(aqoE+@ z?o+aI1Anji+=Ck!EWd~<^f|WbPjC}$cpaK_r?q^8O=2zo-Y8b7o8_8{ZlSeWyO_&_ z3wt`EoWu)G*q@r_#N&P{;PA!jOH)2e$nLcK^J05RpIP&1>CIE?{j;hCtEWER$o<(> z=($ZpRmi8wJks|ku-l|u>Nh_1Dx{1hBoJWJ>ClwtvpQu53IOTDIuV9)O>dH3%=_#KdHxZ%!Dg|Y>lGuC(% z)Ft0uaWwdI`3XsBg)-T*R>3;UvxMxI8YX-?8Ok7&@~A=Q=c2$3eS1BZ=_IV563{$v z-;EV-H=KAnx5)0jZC0v__Rh#ol@b#M9lkS;6KC+9J*w3(sfGVS@w_cQEM5-hjCai2 zvSEYvGbNrrBR7i$?5EGvg_%7lJ#H$XD|zF%`tD?r%_m+M@$;}7b7IrYmnUC3 z@cX{FDU{rkY@4|=DWdg7U0l_bj7#Fy!CHGc--oSb{N!wtwdCu;_gxGrxA*KfGuL7` z_oi&w?WXn5G*4~%I5~LdPc!8{KFejP$%WFw)7T|Na#+qSOFjMI`Srb~y2tM^@bFbG zjGfA~KF`u*t+sHB0*_4kwYdknoHqq*Y&>{4;e%#frS$h?2L5wXCq{4z8c4JBd&zEO zJIVE_aDvtIpMeFkElvw|*p$ewS?S<9(oC3q)@ zVd{*3Ph+%&8_!2gU98n*o@XI5tIc5Yrm5Uhm0!>In)IkN?C$1wpBPMXnB9KN5omex z<-Aw5#iwRN=I6&4pUW+qE6o{P@#kg#x#C~NUD*XpJ}rF47c^J&q!%jg4D8*xe6ikr zQv*)sISG%qng+NXJ*08IIHY-@3ZJ>Cv?ucfSFaY9(^JpagjPiUyA-Bsd3(;YrJw#x z=h|;@ds_1Af5kpqx3+sd=v{yQ^p!6w9;mtelwojBKC624q{}Vk^AgHef{tyBKDN0s znfDIg{J9JsPp5L^AD-2+e5Pb)3TF|^;zO~Vwa+BNTlk4;RnRY(=vGk#(?#>?$UAChv8f!i9LZO1+r?C=p|bn79*wRk{!v-W);FBJ=wBQcsQ=dafv5TW zwPX(-GNxyz;rTtsyhtbyGC$!EJllXn(=H)pTIKIAk-nzs(g{R2P-Q>{YvZvD- zO24n?pZ{&whb>iQr?X`*x${$c5G|AXS>U5Q{{|XRUiM_zTlqsRoba< zhrPkW2FsN#PaTr{?mSl8SGw!(CWXdOVMn*Z$qk2D{dd|(b=GIC7kn*rRBdj0{x`>l zSF%R-QJnkQFHSnO%Db|iA+deos?B$uB8&cfJ6k!u?Vn2atv&J?6V#-qoK$~${PWtM z?@F!zTGpL9v+l6M>hf<3++*~V>+f1KSwCEL?1}bn3E7aOowd5Aid<{Yw9Mgspl7*u z$DSwcyAuldmj=}`Z2vYxS;ZsNong-JpxSj;x6QXLK7PWt@;^h@pXl1^|-{@qF>khwnpkL*|=$Lx!c2-_NNt#9#r!lTbP+w=2cL9;O?K7Y)e^Y^cdLG zbDWpk`pEg{KBdcVQ!{%uZAxE$&;Cic^s1VW9}Ty5ZrQeFM}(i(9`yxZO!hMTnpnzR z@K%1#?CI7Us*?J*M(&#V@1|UlUDAV;@H5}-v_F1b);4SXEww_Sq?o)rhp*q;8SDSJ zy(ed@WX`%ZdW$12NO-WcNt{;~Y4|NCn{=;W+qLh3yZbnL51wN+{_S=6WTe#7vUkdg zjmq+WtA3pJ|8f1X=Av2A(W^JgypfbmPGGZYJev0-`_c05Pp^f~DzBP;>-NU^IsHqS z{heQ%&Rou*(ox*RIDx6&Dr4`)rdQsQ>mKv5>!iqcoLJvbpJ9JH|M)%rt=h|8&d-=7 zxapO5rq)0P}_O|63EeTz0f`|*9P zr{v5fJM5w+YQ~;!{U-ZDbnoRis#kKCOkMkEuBXhq^UuAeM?V!1 z_Y29i`g+3Uv{`cQ@z?WDt+#(G{Afm!Ze`t#0~+TioZ9#A3&*b?@k(rWwb&gze{LuY z^jztza$=>C!Q=@KcbuyVKej9Wt@p|f)wcJMVIDUdCO*H#dERl>?0-_9UU3_m2zmTx zP};R=qXqkahPA#1cBiv5!;E!0KmB#p-S>9s=T_}G8=0B*Ip*J5ePsHDz)}Mds_lAFs-g~8%4v)LLe=q;K=*B7W$`{t})=z%> zpCQX%=)PFfwKuCz9p_d~PLwIIUHSRn6+6RC{+l9Wj7~~QBr9-*{AUoqzSh8QQ|Ga( zhlF>e2xvqqO-k5(!19G}&C1l@u|HOd+Pt2b=1|bjTrQg-ztwDg)tmj<^KLFwd7pUB z^F?Ok*Y1geWh#QZ*JY_pk}P}YW9~TT`YHJjSK~HSzWDlE%fp*o3JXn7yFHAY zcx6@dl{sHUMZdqz&rN-H>+Y))BKD^`6_N^!CujxNGW^=c-j$*+vv6C_guSkTlOwix zM(Ol4&sq6sUyS_L&ruOe|K3~TK6{d^k@TDbhqqz6^_l8dZlCyfxnYNbM9+bV#~jZu z7d2;oXx^Ch6zIrdnxWe!8ZQGc(WX8E_3 z9-VoV(Gn5B+}+Ci^;ky!ZKY_AThFQ&|30*P&q;9|&*RL0zAO%1ARo2l;-Yrmi3j3# zp5JQ~DJ7k6Aly)JbjRy>mAiGUoEMwd);=+q);;md!l&?xtO3>h1Zv{GIByesY<=wf0Q#p>NkO`KmO3 zuZ!BOXU{iP_WIk@f{$y2?3oV?K^O~&B7SH_jM2Fl(o zMO9NRkJePOzg1rozrspn()me73nmm~X`jDkeN^mw-?~jl1bB`up7wp|YE5nV6tl$) zigBsWcO-h}uDrG8nObSj)?^%~~m*qR- z)Wdn9`P0?Eu9W;X_1VVcRF1Q6eCN#3?rP#K_L#6`*;l1r@nTP9h8^#U<0bq1?eyBj zl4Ul%t(hXY&FTAr_c7m(@ZZWly1kBPPrvtN{fDj{jW)Y-X1EoAN9xm!}+(@Kjt5} zFQzm9mi{>ZFePET&<5p|vag?R{;>Yr zV!4$MWyWtuH*grfxAid`8-HYNN8{Nv1~QSF8K`_DODM ze7r;9>#Zk6c2lEXf9v|N#B1qd)sx3hxba`wSKRz9_s8c|Udgiqx3n&h-#Kv|cX3~N zb#>^B{|u@A{Yi$!_T9QmyHB48>1J2>)qIp;;uoF&3|q=ulKr>v9_+4Pec-t4=UJ`$ zGxxF>2slex8?hA?-d+8?__st&=(TnK4$ad^nebUgf)_nOP=bKAZCon1VPbj{(XS@I3 zu6;`9vlMoH+_UWZgrqy>n(vA#E&pnH)F;;ZoeMLlc$U$d{$q@nE1qA#T`~c^^UEThMO)jv!@S}E6Z=yPzMF3~?Mulf>?4jy!)1ve@uMyOGYhxc6x&Om8v#EGBsT)VFp zFO@BJaYLxfcI^Y-RYG6vPu$NIby(u^ANLjB-|BZw_S|A=TkM;~BLCsW2J1X={b%mq z`z~;tST(usW{|u7jQn7hh6VeIYO^!#llqzN8vkd=h>yv=RaZLuIs4^%YmfgHu2D+u z**4j7l3}yrghzfBkGBTMw9Mc7ZgXM5y_8AK`x*LoUw&V!`SN#swt?H>fa?j?^3vjx z$*)*Tdw)yUXv{OXZdP>6|JP;N!v(g6$1)FpGyCDHyxDWvX+?&g)yKq_OTM4Q@MOJx zcK46By|?^UD>WUJkddhhx>0vy`gg7UAB~*)<(yVMX}poP>*H^kKL)**9)<4GvB>Rl zl=sUN{$}_i?WvH-%&8&kXB4ej{qkCarODrQPh0ow$ZJWFJvv|7VOh+-8{Y%kvd>l* zF@I07T(`)Di~EoW&%6VIu^xXr{>k1s;6KHW z-G7VGvz4#vH(WnlJ)_B8=cU>CY0{P39?LwK#Wu|8#}ykLjo4gO1O*1wHj5~CR%?RxTE zs=WTnbxfbXv0g6q?s)#6p=H$zFX^oL#u9RWg7g0~B%bxqj-D?ZbCOemyZDcn^^=kX zQzpLLPLxzDW|jwkkQ5vmPO{doAmR`IN!F_pNrs|LMkH@(Cw|Xy&JGENk)4sEo zIaOa@JIJR*|8e@TWwPytYl;fJ)m&$fOeEY!{J`G80 z)~!!BiR`PG!&m2i-s^{No!*aMN2i?6U$rptj8Mef165yE7yP?eXWw>r+4fC4I+zd4 zQ#<+B&_TZN?@q7Yqi%+~mD!hii!IDr`D_|v#jn5F51;*Ax2M2t$;b0@Zc6F8I~uR| zT}}7;yZ%pn(b9WY#Vp#)Rqo9D-M{kN0{(4zd5cb1SExT#36^@tc|y%q+PJ6u*Y)Gy z_HPUCczY>(<@%*cf`>dFy!&Gv`n&#i*(qJS=+i%??zG%_wRU%Nzkd|Nuk~kS1P)uA z4w>M0M%?1u{TbiZ&)QOdJBokve}=`kOnOdEnX*7}_qA^>R(qKJ}c_qrFy<~GdR9xTrw(1Nta+LjbEGN_;K?A zbH+H{I!%Fu&1_H7CRZ`uIH`7(tHSo@}kDWSf-Y|V*3(F@|5O_yzES=GY!^T1!N{I}lW zQM3>)9cr2oxcw^I{h${)jH<%~-hNTspJCahgq+|u#Qfd2}R~wJ>9QdGhp>g8G zMPa$et#`}&1pBzWIw;@Hy%~7_{>0-l6{^^$| z&fBtL#e~)#;l4dzmT9}4;$P1^tFpzpzc_@cGArd?$UmkTuN89E75GcYYB`k&S$#al z@8$7Xg3(GocviH5kfuWde}I8j*i^rQ!t*{MIUC=xO#aF)vOs_dzg+6|FnzcYaSLwuW5t#-{Q3I_>Z?(_aYH=uY7449epKGIi zQc>~5!RPW`40R8mO+6oXY|-SL;?xl4z8TABdhK-L_uKJk5%c-n7e%5Qn=DKio&;*% zd%QgPb&$yUvvU~llr78Up6`4ksP02zY&3~c&_PMzDHFFb1Ex`FAiy;n%`q^<+W zTN%5w@+4Il3N#o`mGzj}%~<3p@>oc?@q(_qu}X7RPeY~sR0CtSZ_LfJ80NE9_Rrxf z4ib`d)>qz_WpeBszkO87=BbH2559aiVfYZ(=x$To6LeHYQ@ZB3Lg88M=sUT+y=xjQ zj(H`EPF`6t{cxOYTjU=9N7~UUPDN??Gai&NHRyYZ1#qhOx$m{oal03H!1Lg-%A*ze zNBD1FfAG9H_vV*ev)`dpjn)VWt?*y*RqpHO`$zBp(7b=-Z1vfGuMbb6bUY+=^OV_* zc?v*7bRz2$?4EpF-nUP##(t~$JzW!~YuinBEjKVJUFmH*-U0e!vc zA5J^|yRfh0kz3_wg`k~b+83CruOAWLr}E?A$LmK^DiTZM1+v1o+rJc+ki6)vXPMXh z>-xGsYX2FU0&2oOhEHAn$KyxGEZ4aY?pBH}v0k2FrJ=syJX?chefRwB+mD~`KKr+O z*{ilgxBdx!JMA6GxFh{;zm^$$gZqNBMR8nzC)j7{_v-y;xLKvQaQU(KJ7)j&Sz%b+ ze5dr;e&>D6b%*{lY(9QaT6FKFKhk1LS7@_(&;HRY`q;Yd&F5KPXWQ}}_H&=y`=8g4< z`)}SpTzoV!`$2T2dgu-P<*}a(&xfh6SfAW=>6%EgOm*?e14}+%yW0G~eY>P}mcyU> z{~4P4fA}A+=d)8hxco=8Q`@b36-#bEbz<7AXKC@({?xvS{~4N6{;rF^*^(vhvHR?m ztaFwY&l}&yG5%*@4QpKfv3Jg8r{kyEGMTLei{o$;~s*ak+ zSNbx7I29PIF8G~rEhv)SXBc>bLBUYkKl#ojjmgC=1s=Z_^i6pZdUIFYf|Ltl|B;UlMnX#_I1Bb2xI96?UEcX+kjuhjZyz?u zJia!iWkQOeL-UC+$p`a&t|&>?ocXz5ukM+ZRIs*MrKN19n3G2y|3(ppNp&x`3-Eay zjE|}oXMYk?TOE|I^ZN<2`u0R`vv+1PjdRwom1QW|eTR9w+_Kf4Jp0n_8#cUQwaJew zuM<@QWGd#K zo>zSQ(j?`reUESVWhnE0s}T z4CJF4r^Y>Nk(jDsg3(pF@ag%AP%9UN^(f6YLRN;+B4f~n}B@9*j zw_lq&L+n#`aiHfRwZ08d?jS@ zXR8By4p-ux=S3SWC2r5#V&%O@!;+z@)Knn7EC25HGvN#0Xvk}P*A-LAPu#+19OTx+ z_l<$?&X;9A%x*?YJ0AvoUn#j+B0fjZ;o2dOeJO5cMMbt%A$6W*0ckco#lEWBTf^Sp zTk_9#Y4Ne*d4|DPlB1qF=P;DK;N?`^UG%_wfyhnW0HF`hWgGuVrBA;bEGaYjwd?Li z^C=62jxbcqWd^4du5z34<*dWgTk=yT6dzDq+Hm6VRQb6k2WldjQ#KkspLm&VQpWL! z<2BDO&3m`h>Fq(;S7I|C1({7+Q2g3;E2H`Orw!2s>~r`sFP(YHc9nfzQKiUb6Xz!p z-+Fj>3VlP0I1_umFZ#w5vB>DbK6m@5i8mYM;?JMsx7AYK;rdCg$nv(6IA8Jn-RDi> z4(N0^@qC9Gpv>O)wBpap7hNkGZ!cW7rek97gO#>>U#@u< zlbch^rol4fnWVgy@ax9Q_hy7>a2_E zoW^-aF1yb-$CJk>vt5K|^VYI;_Z(zC``+Ao;8PTQr_`Deng z?$rE(hKgl*k>Y#{WXirSTpVenV(T9qD0}ck_ya!2cN$D?j@u<I9i` zTLzKohMh@*Z+Wt@RRPSYiHA1x?L8jFKDBq_pCw!+Cngy_ zNRd0d)Gg7lXa1v?vsgE5a&D5??suiD<6u-I!GgPTZWYJZdZ~m3*arq2-4()rj^lygS=-zb&#Q&!aU5mvxNq>FFyO?e>7fA& z9e!@ATzMA7yz5!5T@@gxmlcL+;_y$u}0+ey=5N3^40?T zt~jjPIay|dq~&>&m$8by#YyVv1`GtM?Q=iCk*>2&Q9TLoI znRcs3HaAEx6u$P&xFW_-`}CkzRj>!w>lTX_g|}vEO*t8M%z^n<n;~^0?RZRM^ZB*f{C7p~xXTFo zPd>w*;Jc^z>$0C2{~1&kytQ>@<}TCE6LNXZtTL<4A%LB|@5+rs>)0$GOPWlwvUfV( zBlG38!#ayqZw-#r-J?pFy zx%rv!_Fa8j)D+`d_x_qy?7A=Tpw?jvc8LWpP7W8>-RSyu>`qU?V3M@ zKXFz>l8RBg%$zy17?gX>#Zvwho)G2fJ8?U(c=FHCDP68XD#z{1GtWAGyKkVr@Ky1p zg*RBvw3wNFyzqFbyUdQ1KL15?N>@JVIWD2R@a0*D**E{(tovrqm36@Dz#KCM-8l@I zqAAiXvkR=diWn8tB~sZ{O8;oa|MlpYpO#Z9yCQ?FvWtydh<&eR=sEGs8zC~2kA~|j znLSr{@PS=&wPWmppq(*&wkvON++s~RT`G6?<;4RpL}Q8!uUzuvwn?*C@?@Up@|9r> z={lMwEalufYa~QZNF>!SwavZGVD-gr?kj&ioA-|Ab7nd3Tx=27zEb2(L+trI3db0} zz7M$Tv9cjr()Os1j?Mo2+m%%w)J>H=C4N$N-#dRVoyLwflQZdgj?xXwjC&?F&bw10 zs>0zUR;F{;TPpkJ`$B~Y`g!hIx&>l_I_l@rRLnmZJbvx1<9g8g)Z{CDSJq72ca7)V z0wIR4E0bJ59Y0l|*(<6z@yJ=eGmJgO*I$Npy2VdfXLwGdP|nWf;4$u`#XRosx>pNc z&y-klA*M(7$fky}#yMio<*vNUt$MnF@k!S-on=MQ6EE8y)hn;L?aw~JmotOKxTQzy zSdZrco3uq@3msxga{ls0PvmitVdD7u((~EsXU+m~e&UuAiw?Nl{^WVmhAB%@aq5MY z7T-m4CYo&n}Q)+nMHux|4JY6Hp}f|CGa>qv4d3IXQK=y@s|?lq_`TL!OFXgHGqO}) z%3zz4spKdvXQ|z1=(*?ZPe1;+DYrd^%s(&A-(z5WX}PPXn+VV3lX6=a8IE{PuiM+J z^^T`5&OLZm=^4gvO?*}|^4BID+`zDtAz5S%%ZA1B)5~79JqnZ-JXUz%%Sy%q@5K|( zi!!%QJ@+)R@86aPPK7Q_W1T(&H-@FVGA6K0&yz^tk7{h$HbE<@>A7-&`Xqa)$(ovc zKUnw}m$4Kt`WY9*qiA0)vZ3LXSl}e9XG@hd7adCY&rm++N?c6$p@k}67)lp#a;eNN zlzQqex8+Z6Sm-W5%hxm4VYBDNK3C`g;r?gN{lTM3gE| zoRxKKH)nrazE|dq{F{@vx+`!o@N82-i7^lof$+2cR9n(CDc164eCtbd`|CDFUg$vwf}i}|gy^mc}?N7Wi!ruZ~`T6FWf~iVcc*LbR<;q+Ty`%;JMUFh-;D1o zmdtEC5Y(XYWKPeOrg!Pv6+X6c?I{dd*AQ90o$q1CIsUaqw@i7e-kq?J&189gR(kr= z7gtUmdGtibXST(83zGvoC3~OTI>OWUS4(?K5X*AKfFgEgQEATW-;?udfBsqdFHy_p zI+x*R`MfE-+}y|W4>3-@Arm~Kv+wg322ROeA^O=;9x9ghW{zx24sEJTc&@yBDXaDt zouo_wc|$jU6~5-JX0Lqrta$R_r)*(h&JGWTgYx?RfdQLlFON7ZZ|Hw|PUF`F-5Iu` zOA=xjk2AM#~J#)Jj~3`o9=ksIQc@-ay}*IlxhzN1(|;)jK0D-^Nrr-B<^@ocxmdl z*3XI!;>yc?u1sF-Z#5%kg}P3~a+6@A+~y3+7w*qp->|0jC4c&&Rmt+9cICHi{aaWM z*3{nl@@P`f#GNN4Wh>tMZkuG5to5Hkyk@?aet}{{`>m5H3Jna;`?M~1++jKKc#iO; zm2ZC=XtTvkKh0FRT8sabgc$GjE(RA*#yiIqKCxK^J476x##Vg!>4T6xZ>8NOmD`TG zeyfa_X_mlXm-BB5!?l~c^Dge+`0c2-)c)yDr%1{kHL{!*9nW!` zeCxou&1DM5k2`m^!0Ufov) zyKA=BTxZXzz4rBw<{@##0>=|iCckw(f1)wD$biva*Io2R=#f=ba?MNqHTVy0e>d|$ zPD*pY4CPeNxuLIr1i_$WAT@_CH`$GYMAWHB`7|-mEo=YRDSVua%MS& zO<8-oCgt5Q`uoY^Y{YiY#oG_3$nf+$o7xb&q~Tnp?O8Kdg#^C3E$g_1LX49yO*s3X zL08p+nR%k?7DmNs=}ev%C+CIy)%=%G@olBFzkikL+_EXLd%jq%Se!ILP@QMFdbxj= z?t*oeq00G_Y*xIv^SCSJluwhhTDW|@3-~G-%9pyP-R*f&)wkstw-T$?%_(%x^>)0^p;5T#O5m(i!Rw7 zDLnB!&%(jL);LIeNkxvFyWNx%H{)vmH0-r}J^!hL@JShu-To@SzN}E$p)Egw>w^X8 zdIh1298cpIfA8HLTB+bJ|KdPf*qPb=>^+4J9ILgTep|=fz*f1krA3g_$>Ch4?#3QD zzsdtkcB@zjY+$!gY`6GheZe{X|HV6ws;Ai|HaZn8Ek3HXf4cJ0BZt}FX-L@rt(u$M z#mPT?%c93Xru`>O2p#x<(DFFcs{DkQb^WbO{;uV2;&e3&-rT3K9_`;BDfFY7Hn@O;~UqwL#- zIc?0zrRxqVU;Un@7tphZTr8oN9S6e|mq_l`}8aKJHDH2q;^>)^M$h!l}x~(~f1%Hrq7A z?~eSOiQiiz9jD!ko)*XUrqO{z=~EJ~anpj-4q4lkjcd-VE==1gad^_+x~&PyqAHUZ zWR1H#5<3M1PTWaIUd!O9Gdn=<8RHD0l?P3=ty~(`dE~8HFuA{Kf-AH6tdL3Uk}Fcx z%Yz#j4t`r&!n8B+_l^&oFC1Qj?jVYOJ@>$QdjZ?WMmA!pY^>u0AO~t!b z2^(Kd?wV%Otvj*friTLGjlWsyt!k1JIS!uswz}x3$VTu-xFkq@ogrfP&_95$TzYtF=j$7KS~u&?%+ z$no7Zk1ccB*(V3Q+)wpPU8xwJkSLVQE(yBb?tzq;Qscu%ra?>ln+rA_6;M}k5HuOtJC*o)(*+J6XIFCLNo zpJ8i$N6xx47w0OeG)bDX^2s_2Exx_{p~ItE(fgZK%`&T*Z(rJXu0G!NoJY+I=-)-dw(vM`beEofXtS(HSQz)&`XR&$iZGV=ktJWNU z({nvcckSFf$;M2=YJ%fxBP(x_>Ll*Iiudtz_p{kQSRH5e;eMO)<{!(Kdp@!*EIFO6 zyFqcCxQ(^F%RBz4-|7$4->N>4zomXydwq@Fp2=^u?!~^FT&R$ldxPikowAjh#+ToG zSLEHj;;3Dy#EGAK-IqG&7tH=M?P0^uDgPN-z4Z;{=d5_=%2>eykglSXNCU^Ie!-CGVM6pR;kE#_l`+QuEoK}`?Am3l>S!xBk=M2 z5s!Vk*>OxQKiaEiuilZG65YGHA=aJm21Cj>(N{_?Zi0QwC0M>LtxP<3Vb00}>OV4M zzi34*5xW+cS$NZ(bq#as7J=iff&G_X2g$fJurib#cMMp1Y42gBHXb&wR$JSwtLJ8~ z^loXoUNhTSRF92)<@qeu!f(CWo_nq5PkFqy*j}iFJ6`Cexm3!E9~rmH#AP1OdX;0+ z8>sl($)VNVB67-q2IWxwmSUZWJCb)RPAU8upt|t$+2x0%?^<0A_mekzpl$x)FKZQh z^Q8X_uG>3eR!rp0RqX(_w4-x>nk z{#tEZYqZhOXtmk1*Ym!1FOBkNiJW+#!0=Po#ox|4uFk6_S#9^Zz`9*Q?dijFW*_ID zo4EY*8-94JJuVN?d z&VR*c#S@axeB^oamK9HGGqxU>7_cR-`oLY|?Y}|_*0AZ{bu0MKV0kyV!6nHwd46GF zcO}=EQkP$dHBrjGaAUFxlfj-cn_%AEQH!=D&d~Z`d~MCfZQJ@wW`qWxRA-r` zx+7d`!E@!$OFTum&bWPU@=#}g_t!93@6C+PlM2bYK^iXY&teK28$+MAu6<}eU4LuD zYVlDY~EATj&TW}cf7WF>kPFkIx3Uy zUQKy5U$4mBb_H|Z^JBZx8kcQbSy?W{@knRm=D%;Ms(*(c_|LG7{kXkYP3XtFN4G9A zDd?D`9g$SKD3o1#1% zT0get&3dhK?fa}ffj4wM|CzYr)ndCf#$61*;=f7#?a0yna@P8>__1o^@>Sd7eK$`s zNbD#pf9Ltd^qYv7*o8M@6IB%WXIUuUSbm>rWkuON?`-V~m5p6@Y%(I1elKpY5Z%zt zWf81+e7*do2AQNjjgBs*=%$646VEWRYZdlB?Dv{>{fuT4!>z&znU|s}S8nwT@;G+* zUW3ec!A+}<&8^7y%0A+h$1wS}$kR=kbzw>S{xf*RE;BWJZy|pqGeXBq<3B^0$U2U% zl8>e{^9!~x7%;vm_A!!O`t;D_73^z0vsHq2n|<;OY^Vy@;##uNE8_X*Kg$#v3|3Xj z&#gHB_VJR~SN5Ct-hDgwW0Nh*tc3~$Akykc|Sv{CuqN`STyU_ zvxpRisYT1@e6m=7zW$~r-`tPY2fttUFt=ftF}KcD(UIl(rTs1}Ih%gIarImD2NGx;K3)v$9vK7>cv= z+^`fmtaN+ZrP-VRNdC?2{H`-$nQiC9c}2FFotaNGT$8HbCH{F)bcD_QShb*UbSGEG z>;*CcI~KS+&XBN~AE2eqB_QPX_=?7hEN#!!NnyQpFJub+C#nifa?o&p?d~8Uc*#bq z;l>~1py`H-G#rPGoE}h zuzt3n(a39`gz&`q55KMMszW|T|Cz&NQ2A_8se*R#yv4jh>N6U? z+ea}tI16=l02>{3JJ+_TNwGSb~AinWMKA- zG`Fzcc!ftw&ax~&^97v*;DZ^V>8No9iCFLI_b>4>=Zmd;EFghah zY}a04mmeSP=B0H%Z14Efy`y8}ER#(0mCwsHW<{C^w;E4s~Z z>)dtT?!)tK-RHyeH`Kq4e{`C4$F>hs!~)M8I4ifXxc!Ur%X`ZcZ2vPHvHuXv&+90D z^UHm{^9*j>D$f$iWK!llH$8X$KLe}5mA7lSRS!0Q&$*Y_W1xLS&g$8o{|w&$8JaTd zE}EBTC+C(vTpbZ>?rZyG{hl(#5axMSGS?jw|1+>GzWO*}*7PGQ7H~ZDXj1yPS?dO5$GZd2`oeySthu>?cn@KHq76&1}~b!`GYFbcBlWnk8LQ zw3&M1<$JGE{_ZD-pJo1f)tXR{lcKs<`9|40-nzb*`vf*zUfA!q;ZoxE?H&IfsRXt> zUZB1;$aH`x>+1%JWa6QnufCn3*c&3#fe*ab06r|iV6#zxmC@g{;FdA1&uwnc}sH@F0B>G)jFjsGEJ^sX}LdlcS>~n zHb<$V4J|+2sy;fZA1Dj^&mg>XgSYa+Y@xUHIxf2WC;V$3H@?5MZ0Ci2CTlh=UEaQR zC6n2ujz7kQCr&m7bz2xe zeC=(_0r!2=@H5r*26;K(m@ln+ zAS>4yA}FD+o$Mxc?#SJw=ek|pEuWL^Uq0>*6q<|Ja>Ps$G7~aKeY>fFOjXT zGr1ryrhh=bf4hK>+J`*_ZdNwiRce-ei>b9(+Wjs1?}B&wEd`E=az9Qw$K3~aKmD3l@jB|_zoT)M^RC=}B`?s!e%dZN>QMXL*;~#a^yYyqorZ_XS6T~t2)THT3Ks632>^Law)@| zb5V^^)A5wD15-PlCYy}#@K2&&>^rv1e_O%2^ipMa z^QYwNqTLVc88V|-`U^8N!qRJYKUZh|x`5mML+i`%?w^&C8pBI^%50C_ zwoha{G_5B!dkz0gw+kG$#n+Y_F7Thx!&h}>FT*40hvDsIxmG65EQv13^8a>K|1taU zZQjH?w=x43h8~t}mj7F~_4bPX(|6}gGT3RWwdG>xB98EKpQHvmk^c-$2mh#jxVrz~ zU8(YLz~oU}3IpLm)qA(`{1p!3#R`QJY6x>pL9*^$+E9n51lP&1ufPz02glt?E#-AF?0* zF4io3=#d_#-Z@#7&x-2{i-)(UGDCrJ@V|#slr+BEO?kgUu2B9!J!1|xe`Cqhh|3Ir z=cM)j2$W;$5@e|p+QMGu&CynPTlA%TdXM^SnVAwl8{Y;_ND1(it-8EHu3G(oeY=`a z{{o#$oAY=Z7`{CSjkHg@-&QXF@$HZOa?w9a;; z>w!-v_ov&pp4G^x5zUtj{$$iMzb;e$Tl9~5l~?}l$tnLC%2n&OzVhS?^}FC8+rB<) zp1Q%uWBlyb8f-f2)8yNy70h_MN1h|7P_w`1^8IhgKMGe>mREZ=)?(%PXKWsU5Dei}t?BR8VJ-@4i*V(7sZ@#?HyiT-dKes?6 zr-aJ>!%M3R?o!pbW)X{YDX0hiltb>_P>-P%S%=`N4+P2NnCyqIPdfdviWTL45T^8Y4vm2ju{xy(6!&2s!LzS z&H4DJHIgl&`1qw6H=LiQq9?riDTW7drE_t2rdG&(F_#cX5^(PqJ3wft6N17_Fu#oQCyH1XGT!>|7tz6Krtu=&8}W5@Ej4@l=-&A6h+{xCMP zW1G=T+oJ|sUfhdGEPIghc>Pwjb?k=eAI=}#Rnm2ek)abAJ%$K#LdJq7a=yBi|~Q3yDpJ@)N?d-?NmSzkX@nuG~FY#}pNe3jR!x1H#VT$)+8WuDE*qeE2$s&il z4Nn3bL$}O$cx2m>_s4m6@88SpRj=b&s90(Iz4O_+W3P7h=M`U9ns-jpF1Y#iO9#o5 zOOI;*oE$w>xoNTd!?0ts+0Hh|?l^bVCgiY!%(mK>il>ARHU6;7hp_ZGk zGJ~$&l&@DQ#Tu2<@KtnW@Tl5J9YDxEwA6| z#yPpaE|+bTZZ3Rdd6tzYTDx#Z&V%3ImsVS_iF`2NyHmcBCFp1Jb>*cxtBx`T&fUW^ zi=lUtz{8XdnLcTe+#Xi$mlGV8cWh^ze9TJtR{w+#hd(Ucz`LvS>0zTM6O1QcTHJNj zylBs(wL)vma?Z>21T$$Duq#{FuI!wsyLBI@@`PH=*BPy4Im~mIT)Egko+!RAx8=t& zx8&x=%Ob4rTug2h#T?_`YH(QSZP4oDIicH*9qi$M8M-WIC7Z(WeZLs0oSBa-e01Pe zMShecmv+s@rp33WsRc3fwWKf4nl8|KtEJ|!I#c7s9ESAMGCc{GU3dLC_*jB@<;t5A z9Ue?zk6LdsdBU2N9se0RXE$juemqit&BpmU_r0Z;zMRfpJ>hyls!Q%UhvTxDf+=PP z5B)jtxvNA&wLHAG>!N_i0{%nxKeVQ|Jh@t**Drn}Ymz&&an#$In)O1*b{F57e6(&} z{Xvy4zQ%{|Z#uB?Qce)>x(Ar=8CbJ7)VhEBe&y|h2~XE3xc4qP z)X-IV_v_iZS@j1^ws@|@Uyz`i1F&90xxLOgu`4mEg2EZg9=#3pk~^Gjck$r7dKH@*#XFi=}V&9ykMxI=w z8-hyFJ?nk=n&$qU%PqrtQ0{74q?iHUy}g=As%?)7-#Un-Z*|n0>Qcz;n~abg9<+TB!@$eYR+Mo{zca{Kx3S(=SKm z-L{3kvM*Zxfmv32t#mxsktcjjGcIp3>X`C-;*9`ysr#%pf<>}vAJ#7Eao2s?P;c*b z_R4>TbpEzm6UDh7M!QZZR6F6u@$Jicw~13@L{<2fv(0HTv*7Qu?!VSxQ}mzVo68UX z`pRea?Mkg?kH04f-8;5<$=}X@9A4)xXBxT7v0ahnwC!K5mVWNFtgRaSu?i>wzeM^&z3Ue3YX0Px83y1 z%WXev_UpRa-~FqZvSqtPpacu!)CK$#zv}-`zqXb|_nW=k&Ra&}g)+%~h7p(k9o#SS z#w#{+pQ3S|k5}`vpT(CgAMHC6?ef`Meun5V<2fN0oF?>k9N{UE+rs!^?)f*VA1C|F zY`>K(sOQtAYTfuxNc`88_z!2~x7hUxpH1E5s=Hh1IlH{$iS;|BE~eP;^=Uq@Jgc{4 zc0tXN7@36Mmo~`r`F<$=Hv7V(>RxxxVwT(;R`<5K%l_S~&3$B^!jH`lcqLxXQ`u)0 zc2@67W?izLtyNvpeh1U$r5U$EuWf$hnbddc(%mIHDjRP16nFh8{m;-ezwTy1P1Q$+ z57!UZhFSabWg1I-`F*-f>+>YD4aXBW4y@Q9cksjUZ>#oxG+V4T_d)l|(&!mC-g8N9^^sxw zhD%F!wmxQ>SC_Tjk~lhPdgELc9DFkPMaJ3DLJYl(fkXHHo(Jy`vW|ALe2SFGEg-rrQC`J*=N zd12C7p{Jd;e_u<7|D9UL8tZn{hA~AYPdS;-r`{{maPv_U``fENCNNZXw;kZR(^SPH zw{`Ebf46TP*!B5t@{W!TcP_4oUvY5V?!dnt`-JY_;hvoJkzr?_$EP*z_hqx^UblZR z?>_@~+SGTtPj*ib{(VsOv4-WJj^(+`PJg$*-Tt6#%F%k=EjlZwMd}s!`F~zJSO441 zAC*OKlWkHqNE&e#ZofS-E_ZePLF<2Fdw08a7Rp|8^km*W)wVw-ZF7G8gZZc?2|L)I&^jljL zN@p{ji+wPEN}v1Qy5yJhx25e}9BbP1eP2mxefcxJviZfc=KKCzds7meO_zt{7wE?L@l?(gGFyE6yfyp8o(>vEm{Gq5WE zxLca4xpm*Jw2)&;0k_#7zI6U~Cw^Ob&zGm0KOCL5aK+on@7+^Qv9WpB^vv?%zxdva zGx=w_+vBP1Q-58VHe2QN>LX<`=I4y~th@dkoB!zh+q>(}sc+k|e}nN8kF!$)3{RZ2 z&0PKH{O#JQv(N8I|8%0~=xO1eX)4tvM{RT1UtYO*T4`G6g>`o($?&AV_K!6=oAp|x zVd}#T#r;)(PHp+I^>#-P6DPF0AP7 zCY34EmF?~%-|J@lm8iS=#-`hMj)l(teR%s?FJ*-U#>VUNtu>kt_W#fhxg5X7&isPv zrLHW2O6k)z7hHC!@pn_)5Ui^ zkNZC#WxOlEbXa-)-at%%UQ3l zVIChOO1Nr`9c153R$8xnyFqiKx8OmR;$y{e=__igEs5q(LMGLv_G@(?o=yJjg%v@Ba{}nOMH@LtMLzk#U=mou~i1Ir9vU zR!nRCEm3zR&SK8VRR=Ru*4-$sVBV-wCa{%1JoT$A`HW7(xrd#U&X_bS2!&iFmPpJo-#%zu=>`@ZnHJcSSM znjiT_PAFDAdb&021tWV;_4T{^SpPFL)%-gz$2L#aDW6ww(FvoVa!LIgzr$B%+VOsv z-sbH5a6VULq)Hd#O$qkp>ns=WpZ9P7&+x(TKf^8QM_V!<*^B&Wisy@tN!b!`Z`$;X z=M3g7<&X9?{s{fgz;f<~@59-m`5n5|k2)Vu{+qV!REVNX@8afo|JyGwoC;KDm=dE@ z#x!qZ$L*|j7w^lyV4m{9{ows}d0vyx%l_DX2%Ej+&C|p@iRaAgtgm~fF1vl} zc1I$Qpg+r;S=*m5EO?N7X_A?{(?$bpcLljAYgY(*@u#vEJU6-O$=ww3_(I5}bysy3 zJSlKkHg)2@6sH19hG53%r-7fot!S}J=~~Ajll$jYB%6R?j8K8aTjz!s27AgS7x1_I zXLztW%JlG$#U67G)J*Tn&bRRFU3JPc?T?%GjsFY}<_q!v2nzcqc4_-`k;2F68{Yo- z{Nwuk{|pBM*SwLtcI?GDL5~vFok5Zw#~;Sl{}J~8F3)^+`7HhkK^FHvKK~W+#;*O+ zw->va|qS?z9?v7ZB)kODf!l0tHI9sz}s2X zEAouzRoG1xxxH!C43^qgY>Gb{epbnOid0r4xXUdz)q1DpsPg3FmxZChEE~W7x}d1! z@#p>y#@n~|T6QfKhzV+1ki2u*d9in5Hi8!}7+LZ?sC+E*Xz|1pqjq);HU?&ytGlz) zdO2sjJMX||7&znf_PY=IzA#Fi3f<}Ri=is`(!+AL!gc$M1`f%<|5N zf5nnCbwz2(SN@jYmPnuTmk<%n<|#eYyQ;wI!I!1l3NIWU_i5azlol`F_-IK06Yqb9 zY7xF$ys6~9yQ)Nk^MGYdh(CTtk~a+4c{MQPxi@} zUM=$KILlX-pr85M1sAX{VEO3C8RK32>5cR53-dC)v=xlh?eE&IEK2N1NY0PX%J$#s zSI?)Ro6&CFa{Tm#vK41~m78`vC_Sfbf*-pYK5y4OJ(Wq${7;JMHr4{Tz-D5 z&TseL+7;7z=H(>re!zIrryrV}mz)@xWhtCHV98f6bsrntV`VI>VllZl{jD2jX?r}S9GdH<$GT2$1 z5V`TlLMO$NZ4Kv)wt%yreub!oyqsVun=$c+w1@I`lWWY%3I#>(F&~4ku$^R|S9Yd* zi%ieu`#div&RxttOUT~%-3hC2G8ewRTVr`%Le#kkf z)~w7P1J;ll`xtoVfW`gP7-b!_*$eSuRuKSG<0uWhpy<5l`tk&DmZX3hZ9K;Ad+TGG2H1Y0odN z)+LE^o984=%Zx1JxNP%z@}=pCDMEaI{j4r-I5Nw0iq^?VnnAV=4<1xs=<<|sDyTf` zY4k3BdXv=!X7i3VKhNV5@3JCdn8b_v17{^2TCrGJ<@<5=m%b@&W=6Yu=9Dhr^tA3; z`L6Jov8Rdm(@FAd6Vjz?j~Qg-{w`>rQzyb0>)bOf=kuqBRb2J&!ZS+G`7`HN1qv_v zxvu!rC-$|5a$#JOg_BP`U&;_!9`PZ?VTZl>T9+4TiTeyJ9z0qSuxe?HOyjXEkuv?Z zg9qMZFtq7T52vO!*Lg;nC!@ zi>>lgt;Cph_DrZsU&_jUW!|0Gt+!UhSRJ`0n+vJI0fS^iDA>1@EGYWdaTEQ6*G z@54>C9?QgwoI0*BSn3>C|FUAjxivM9_?Pken4N4rZ+p)A0<)vuO=St2;%jTz+#1q* zJ{ehxoNZLllzOMy$nu44ruLdFmFLUPzH~dF)BK!k<%NPPhfYdOxMUXb<+WeBkaNc! zp6^jf9XD8%r&`E7dDI{)Ci!_!!{TKYD;-bVTD;=(eg_wua6daP_pz_x zu?fRT<|Pg67TiHMj-}lDG>O4pL-ytDBa@g_swd0hY%N zu4>N?zN@})X0=3O&jSYIo{*dyip_HDCcOO0J!X|QNsDsCPdJ`qw0Ip9?YVcG?0xl| zw9c-TDm)GB*BYV>+k%Dj*ekeCO+1&S**$SagUlz-rAD264iD<4YDiCi{;ukR_Kikk zsa$oroiAt2w6BzKW43sb-c{t9v2s)JXTzWFSpl=nS|_uVi?AIsb3e8E{O2V}9JiLQ zXX-rgY17V=kCj)f*q0ix)7Een)8kXxZh{AL(tFC6X=@4Y^wYd8Wnr^e-9kFr)>qqY zrO-6V=Zy|Irt27joZhJ~IH$Q*$LDCnlb(d%A-&>~JcV!Uy}C6Rav%3uK5M)mxUfO- zl97kKp4Fw(3cWt<%KNG=PS|m%&(+A|mQUga>&Gh>xXw`1SvY;i%S)4YP^7q_M3#@`38*hSW{ zY}B(0yip>%Vn^%=hu2@8&E`E~tWY6s^I*b`vwq6D;xqi^o-J*ho2hf*8E3M@@!(*W z#nLk-Prf&^G$-z1)SdplC)AeQxcFzsN!hH);Y@A~D?jxyo{#Ehd3wy^Ty-$(mM-Td z=NoP+&bI%zYWisfrsCJvy0ci=ZtT}HKIi7{Rkhny>DVg|+mFXZjoyYbls%SQGIM*v z&L=!+GkApLjZb}=&BMo^82D#>OYgpfs|_=9Ot7t++;ncday6!H(`{Xzxi3v8D~EBs3QN*yf-CnQp%S7^axpb zEd1S8eu<1WKeo!ROD{X*SF%5`WoO>Yz*8v4Ai-{VR@rFk z&)M^|EF#zbd3x_m5kpXw{D7^U<&3dqZo*c~L=^@Ni}8 z_EWX14yN@y+&J;z0o>Tji8kVms$cjk1aa!}-0lO?u>9@Nc{mo=})V$=4ohMg;yUzvYY1-L2dlcA`Z+!ium9fK7W7THA z#rbm%S{^tr^59>hhNnfG`&I_sqjx5s<4JA}GN=;%vf|L@6Fd>;s>+tF@UFi*!N~Z) z8_uPD4zKtfcgqB@O!8?x#TF32C%*F6WhMFDEZZJgH#+NN9o=MUGi#E?MPaR$o&w`b z4T?GQqL*)VIq3I1^u%$M@|8DII4%~pJ}>;TLdbG**}WM*LjqW)y?gc4tS9%K_2rEm z6Y_25O_^YQlw(%tL3ReYe_t*f3!dJ~8257ltJ%%|N`>D^Gg_xiJ)u5FW2J6@4%fUi zk5|@zGj3Q;;G0wO((?_A_`KvrEm|Uidj#icUT|eTxbxROuFqYOYMshF=PVxQSzUJK zfo8&2Mx1UbD+VSL9$OC4n8S^b=*%Je{^qv2Gen$F^mqC+TWga|U zYoNV_cL&=6yT*Dg*Ny`m={k}-&wEukYyQ5$d+b3~@Utyp%{<3nWiXuZ-O<5Qd(Z#0 zZxKuPKHK9GEJ1h7Pc1nnv8Z>+*JY6q-xv?5gVE@k$*Pv!JS>f(yh8<5r{Dqbahz3|EcTJL1n&>~1 zGj{Ds8!pulQ_!GB$F)?71o)tiUa@Bu9C{ zx!QeG81o*uJwL}%q_xK5<3`5|+a*>$zNzDN@_5Xz%bnAV*5?^H7hhhcA=(}-!a0-A zy~y3Gvfz}>9s#Q=sjL}IbDHNBo-cMjeC$o16~h&_4*xA~YgX@AVasN5*5Y`_ckKpu z37acouWo*>+0^LCkRp(Ie&^E%kJ+DbzjiqO=hW@F{5g|PoWC^XS&r38nV#k=!4v1p z?`NnoSh9V}iTehs4JQ-|G8jt#-aKf-Q;@Zy;JO#j60OM-`+I;re=j{s^9xcqc zKli7Eh2=53Eez{Rc^0_upJ2&Sw&=t`o76@N_LUL`-Umu>3#~rx_j9G<&3wtQJej9E zUpsIX?4IE+&LFqrmFC9CAv`hZiJoDyB?fG77FR*0o*=@)FVM2AtZ{^)u z^DE09H1{+I&S?H~M20_ai>FGV{tS6*cBaJ(Sg#Z+&$n&6RLSt=+lnVM=RfIl3yqWb zdOP5JNgAg@&xQx{r<6Uix9aw-bL|oqixrBwbSe(u_6j(!1s~hGs7`Evf&1>4i%Fn>D9i_iU@% zlWe~utCvZ_~C>WS3OJv7y3lAFVE|ElFeZ|57u6gQZCY^u$kr*rZ} z=fmjAyeG+gp|hW`d}H7VXMB8~&vbitSi&P?o!#3uyfQHCKeYSko=jw0rT^o_hyv zmwi!C)St&Fs@o!H(*4|Z$NGCr-ODP9_a4-$u=u{}mdX5my+4C5=WpMe;dptq zvYt{;V^6Y-zQ~HMGf_T5d=KVdo0-Yu%RhU+tyYM~%|BNI54<`&i(%>#=SJxiqf+L* z?m|XpVuoAlzplzIW>%K?IH`)yAWP#yl=t@PNk0`Pe_6n8<;f(&Epmn~6Kk5a zoBgc0bI)CHD`2&Ksw6Xy?Tt+TQ_sdYQ8?zxqRdlBXiHhE5VV;t|50nm!E%l)_0qQ605oV^u~ExqwC(^ zlQ@xNaX!mIqjNr2|CXN5Jt>V(+^?kGT;$JGF_eQuURn!*k2^N6+8d{Ak(ikMWP? zHb2%)@K!sUl zsgMS{osU1RKmPva{zF#nN8&r~iC@?%ohX01CX#28qom}gGrzx8>#_N7wY?x8{O`2< z2hU#lBfsQke&qhvx^d>wyK{o|CTDB#22R&of@0^_6tLwQ6C29LMjSOW2RZ zOZ{hfFj-En*=Ns3{Wr(g-FGa_{(bS`S-+xO51F~WO$UDQ%*%dKs~-I0=5PI)0N?sU zpZ86DwAx7Sw_A4=r<=c#;-UTWhiCnrQ?c)S_NFU|S2wA!PyDi;`|qaul>J=)uGsUX z^<-X%u2^;|xOmyCKn1tRvd1d@`wR~TU+yNJ={%NQC@A!S`{;o$?-YHzmxlws5d)g zRk`He`lN+dXUu!J@0$kmv%Tg2xUPTf`&}aTPb$~!Swa|R&>d@!xidDr{IbsY$bW|I z_uo1{s%Dy2FSvBm1dWi%Z?epLiX^@szqD_r{Rj8_HmMROU-!q;HY!g#r@GBW=RhCh z0fpr4va4d5|8dIyHa?ooy1%>hzToR;N;l@c`hEIbtrP3B20Psk@o(dQ2W5$`tY2Q^ zbhT9aVa@J0xlf9Db|i4+#2t}I+8_N-KKA(f3VYwHrV&xMUVeE|cQw05WO~Ml^Vjy= zf2jXP_qS<{%+-XeHOvnt^L$|5X5D$uwant@?P8gUx3^ZkDf?z7!1374RlZVuS?vmD z`=|>GcK^NE+xDErB)9o!(!CooH}AMTE)21^i<#ViY}e)Dy=JSPXBX}$5p@pcD7R+t zv`nfBP;kD+OO6Lg&bAy+&GA61vMhZ0cq%HPL32yLY`RM#6ul^ac*k*CBT>j~pY+X#zpU1a)&;4iE?PSXEbWn5ameRBQ; z!{)}uJHc^ciJ#2v{%TG;ezItvgU_eBz@HbiZ%lg6A{ir4*u=klYf-&`P0Y2hCXpF# zs~e0jq<9RAV7WeiB=qrC%5VO?R`RI3pSn1#SGxGmF zIPkph>PtD^{mn{rcF&*N`xh+Gse4+Za{XOR_Jg(!0i?kz0Zx99vT z{Te$b_(-AdA^9mE#Mv5!ezutzX-XV-ytj;}Vge8IWwlkCcA34HS}ikcqrlWDZqhuJ zECDPN4L_TwPkvP)@>yl2-is!q9><9J_1pOG)!I6rQxHK(Z4lGIL_&kmO*F6x{* z@t;A@x-oF-t;Wy~jxRJH{%0tidWWsZQP%2e!KK>8XXFbONPb@suA@`v@%XHKpZ5G8 z#~-?1wG+!OdlVvQIq8%JD?h zUi183R^`w4AG|&NVxIYhtuy4JZzr#7QF_tvT6)_Z9y!B#GuB_qm~`oy`^K#utWIW+ z)tMRoP5n82`H5-!1(i1acAvcYNMq4Oreq~Q=}Y@PzI1+H6U4n!jX$S#<}q%wi)UHI zpSPJZUh-r7>G^%x?K~aFzzzLTVJRM;HC2pL9Up&KDddsdt;n=e=5K9=>b7>RMa!P% z6tIgN?VTbrov&*CT061M=mhm=_IjD|l~3jwU#JR-QpzvTnQeCB6jO0?z_Ak_XU=lX zNjY}l`Cd-#6MV`FJqh!^I7*rw{If^?om66VkMC)-Pse$T7{9L8XiELe+}LyS!j8CL;9U7%vHi#58f#& zRMq#|sym;VX;Y#$>tg4zE490K_j~y#@a{{wmr&ER=U3g7C%$_gE6iIo`-#yGr7%VZ zMt85OEonycOPU*uJ;FCUU~-cR5Vv);as9M1e#X1!DkaN~b$?enz>vTTFETIQQ;Jkg<4Ke5VCkAEr5AI~xvzdQM4hfUw1 zxjLRg4Sa0u%v%jT%NS1gxpAz#8*;m+q4>4mgHXHTja)P0j$5wgI2wK-dCsq(BO;Gg z=Gjg8Zv8W+!J6&02gl6qPuP?v829Z7e!yaW&OCYJl26|DGwS)XrsTOCdNBEX)OrP_ zUE9N%vlHgkP1VU-Eq3ANF$>$`u5_L-=cfIqI&b`JJ}vF|py%sKrWB7Q{W8$}_#)GS~TGU#IHQHN{ppkEG39 zEO~ePJnhfXN9*{m{xN+#U!cP3>yye{({OF2Bf<_Yoa);E5; zYgTd;pZCj3ncDSsg7D48C3*%CPoDHGnp5ZU*y4Tj^;uy_LK-|SHTN~+7)7(#8u(`x zzrD0jTlkPs*~cqV3B8MdcD`~rDzm`$s`E7M`%hOa$!ov9Ju%oM?=WLuVN$QH=005B)8*n+&Yx{;^n9+RcgWr=!Rys?VYkN_iN}n81eZ7c zNbJk}xahnD*Ma1PUstF{+B~?!s=!nI>*5CC94+VfGGCb28mwx6!dD$U*XCT0|5k$| zYmS-4q)#Zm)S%WWX8P$zlCOoL|M87)1AiX6o#fW?@pQVhs|Szq;W{OYWeNJ`u1dF4dd%YgpJYFfQ zr9RCxfZH&^a89AuuZA5F4{qG#;V%q!6`!%2>A8&z*Rspo=dff?@DC`;x??<5n)wTJ z*L(%3+|=-UYd+G|z~#-S}i+=pb+XpW&eQvey3$X>&cF&sMv4cZtiV{oNb? zyne+0L&f*&k^5WvJ4`M`ibadeI4RE>vF@7u^JUua`hRH5og7zpHfrg<53hB6dIe;5 zysB3)j%TSqsP>g(?SFG%%-`wq+C!Mq3Y&`ALIY#yO zJf*9}o`rJDH23cLo4L{I#G6-q(kxAt>>}2djLA7NU$rOusC`4^lTapNQY81#?cU$aCN~Mjy5+W-584#gd78{UkY&)? z!Fhaz?2F`QjGGJ`-_FxK&Ew3#Q#`qAVkm?45@uP8znV)9IIZe%=RL=9RMYpA5xdAl z{c?roo9p`{_;7(FK;dV%osfF`Ii;UCsGct(B97Qe5n}YqMH-`^h6|2 z?%SeKvFWhIKbhjmFWtTeDSta*`!X?&$CE{%Lgn%XPSe9b6Pa@++ce)O^zl@i%yTn| z-K+Yf%p{IO0)?lmE^S)lAg+==!SF2S9d?I>UAv#u>`~?kcrfjZGW$MjDUUtR9yu7# z+wt0EUP_i|^4)ocvl2}GKMG!7s^k|SaHg#PWw372~J}mRQbOFnQ4{NXQ z-)d&Y%-v@lJniDlvN;TPFXFCT-JWll%)%dJo52*u^_+{{&-kU=L#a3Cs+qD1x}|c@ z6#i5VBWE&$-GC_pJ3lBcyrMTMmP4nEh>5j<^3g0OPTy+K3G3q>w8L~BIb+w zwVm%fXZh@!-ncb7Q2y*UOEW`D#;%VOUq)}|Hv3S-aLzDtpXP+m`tJ#tBC+@SWP9CG{#NYo+f2V&a58QfXpWu(WN9WS&^$sSb ztFL2t)L_-o!QXf%uwqTJ*1971DDRTnJ=>N0raYCN@pH*zb*{aCIT!fe=+j8`F}6_8 zw<(_GdG*OLPYFxAuL)BvV;?IN2P*YEZzy{Z;4Sgd?&__ozS<0rC&4ElGcX1%iF3(v zlHI}lCv(znb}o+BS1u^!_Jng;*flMhx~G+8y~Ii7wf?!c;SSo`L4aO)D%I z(r+ztnJBFA`L*}&o9w>(o|G=gn7TufA^pOvRcoV0?eD6PT(0NkG4nFSdKmk1PRMVNSlY9~Uf(45XI<#QUyntc z%=Vw+nt0{QS*8oFla-t}fBI|Bf9jCDdB%BVn{UfKSaK&>UtTa%&4Fdl7iAN+=3Kw` zyQ*srE&0z-l047AVrif58m2kv>$eK+=zo&Cc%$9DD`GMm&dW&UY-C!n=}G^?w=VTc ze|qQpRb5b3^xCg%`#XU7&%wrn>?bsEaQ#Z!*r#xPVCD$Z!9+#Q5no;)5iD>4wqlUp}a*q~&dNfxjaHgZoyxAN5m`}@m zFh02CYD3n;y09P)$y?PydUmhs9D?2%)%*s%I2rTxi^z#bvLSEZ89E&4{g)c}$DQR@$ZX@orLr$2 zv{D-XnOsYo_+j4^hIJdYT3+^FS}-TqNkpJpK57=@4)MI_3sPwaA`i^B6mz(t+GA#)RNuS_m z&G&47{Qi9X8~VrMw_fit=}q_ksA4wlR_Ur^8-ypV<5&6iB>d$555e{~Pam{rv=gc@ ze)z3XCE$+gFXv(%?YVC}PUOwkE53ef(c|cu@gJPxnX|sdZ&CTR<(f{%wMz*bf4|^Y zw+}L~+xqLS&C+*IPRs8b^Nw z*S07IJmy$xd0h5r`0lm`E^k`PmF7=9FZm|x%p{2is&1a5GK;HL?an*({k20*&H0bU zNA_=x>woln{tst8-FLdv-!182?)S5s`s~;Jx2C_dUM~Hj{D6Dv#G;qk85^X|8D-%Nfoo>y|(r-pJS2y zGkdpxQ=VPepY>k&rhBe=>+;WcH$Cz!?EhA9y#IOpf)i`@m=xMwD&EOf`D}LXvKJTg zX1o-bmKR@fBKdW2uG`%Hb7#}PdH!9s$6KtlpYP_)gG!G~t0%qxdf-39*WfMtf2iI+ znlI3-w)vyQjaxpV`%ZIhOmcXVcPxC~y{o@ON`5;z9~EG&V4ufU#Wl}5p^J0E2FnMt z$~MG3KO!d$I>Nug?Vgb7e+J>KaMzH^MR)sB^54sR`J;XLkMVy7mREo0G7iM3tQf|)iL!bJ3g!~O|gjW5~#C~xpseo#ZOL!ud=N=2}@SFq&J>C8+IUV zdD9<5kx#}i#5OBWZk;4hHu+AVdSi_l*PbZZEj|`u9t{d57HhZmcv!~W32qisNtSr| zMuU0c?jP#9>Ktb@BgJw7;b>zv>-autd-6AthC_$z5& z<&T~J8CV|vc)M`PuKvTlZoY9Lca~j$^Ur6Z;AQ<|?<{^@e`UJKsXXWP#f?W*X2k?+ ztxiv>=di6m)?hEN?BjoixAT8n#Q0~guc(gRD0pYF&h&{tCo04pJ(jI>{vVg>N2%{e zjI-=iuj=KePD_eAx=t{l_43DE^(f$N6LNfv|b1*VHDv?6{JvT+%8dDax->U7NN4 zQ2!6*_irYCnEXg}dVg+>=HI2NGt2s}eRG>;R6JF^(DLAOmZW`Kn$BHKIvlZxhf%2U zke&g+BVySIlEKZ}>kzB;@8k1+qkt%qHHUGFii>?vwGb^K}B z_v2o_HlJ$rYUyFJN+>niU8tNFBmBLUq2~L;`9IXJAE@PX+p+87@=0Y1tM{}Xnja(g zCw%FT{0H+}_vkKO*Ppm}$+U+Y+(yk4-^U)ia_&sYOYbMs6BV8-FEnB7TvB8FL2how zwzm(pc~+cBaWJsH`t0Hx$tLGSmcSK^$z28u7{9D8a^7pRZDJdLK%u|K6uyS}YZ+YS zW@el@li;(xrtHgd(N<+nKD*$yKUou-o6gH?epTnjAND$E=L}i@bB&S z!V_^Cj6cgIN`HDhnkkcH{Cmaug%V#@dJA?uIU)Jnq%SbMiO=FJgVI9z*9?;OdbXMs zJ}Vw1PxhG1uCRT1Vvyh`@wb=drZC1fZHb<)ep%+SN?%&+0vW!=HeE9htrOp#!&T6u zQ_G=JbLZa_#!umYL~c8o-{ar1rcw(-m-3p-+X&jQ_IuuW{%(21^?r$uGy70#YB3h>>b7Q z7Y2W)H2&3O{3cSU^hB_y)N-Zp(^D)8rR=s@(vgdkF3u6)e;rnMf&CAwp<(~Tlk6)V z%+JcoHO?=bcq3`vk?m)9$Qf8Jd+2b-UwtWqQT<&X&NAs8T<)T3()$a~nyJk4WZuB& zZh1aFt2lLb#(6)s;zoz#DjoCn&bhz#>&kPQ*pu?sG|a%8;nFl^<*toV%V+P9%V2z! zVyRfb>aH`}L%nN)uSCzHZH3<(WO<#pc=<&)6gY@5T-#B=%<;WMLe$>+`0~QQ)vg>N zTz(Oc)fhUyEBru$AZ7MQ(zK1t?pX08<@RPvTQ?2e#wG@~Str&x1~#!7zI70kjF6vNRTc8mu=M6J!`D6& znbc>w6~6SjvoG%B)MEvl3s@&}Uir4fXw^fnjo(FX&bB!9?e%+4!IQ`Rthg8|a`#5e z;ahTH&Eg*w$3?F6h&}lys&?mz=&t}4)v0&A9?SYK^_|K{R^(D+ftB#&paX@5d$YBl11(y?THbhLC?PoaA zFZGs#+?2l`AKa1i+Hh;}{%f<+WkmZ``;#v z=EQrmzm*lJ=pU<#DP7*uo_B?rWpWUwD8rq54e47Mvw65I-qpSmI^x|Uz~}jB*{3rsG-1cg5^=Qqi#uiJ3 z!EwLO`qDOug2hi|9hS)$-s1d~)V+W?hb1ROtN-DNmw_A|0SBHup4e9$mdw57$ekwz z9xJ5cHMc$IzHCy;xGiVnyORfxm0fwB!SG<-pIM1bqV*O+9>4dlm=v@p*>1}^CjIHt ztanYESN&-EclXRYMa%oM`tDTjX*_82@!pyo#y{I$W!fH)(N?(i<8V>^Qr2w?v04d9xahzX88EhGgo5Tozn^m^O|ig`|h8x zqvNkp^##LI3nMmId{djg&*5CqvzCJIiqQw6=cIV>@lW#Rh-Aq^$@|>C3 zRx|mhTXa|TF|)_ZcbJMi&&pM{dDI~FerKf8;vxJ?9dJ zp0!hN_RP<#eYvV^=j}d=M{{&Ui-L^IzcTI$a+jHSYN?yyoYhqqSQj`Q-0HwCd(@n3 zW2=_Ov8s@|{Bw$05rWsZdNm%JlDMTRfTj3tXZfbdFOQl`)~VO9wW-Vf0Yw41WCGToqDXC0;TKMVPbIS$nc4p0t z3XdoIrRMH=P-eN}f`Ucxsc&CQeyUo#_(~>Do}U%YB=Lyjj7Y+)d8WLRj=!AuWvTMb zE&K;UY#y*4P+ltTpnGbAR!GY8m;F_t6ZBo~RR0cfb1UVlu$!`E`-h&M%ZzW0iw^JK z%X<4nVE;PnU}@t0I;*rFlzLmjp(PwsxH;!jrmCv}#m|yOy=}CFA zT(*6wnZs|3AcyBn4FckUla9aijT8$qQ?yi9zqE9F=;WepjLJRVmzgd;YCiMXoMgu8 z+6?Z9J_knqD~-pjgPcCSy_5X%ZJ5o(-ovb&PXq%`ib<@NDLhskz~t6_`T9D4uZ$LL z#>0HG`@b$b`bp>voAFsMj=VXAvlu!itlr4)+!M0iXbMjYlf^+%7Q^XNPqI(GaAk?h zDZz6Ra`Sd9U}fgr^V~v$dBIZmkfOUz>n%*BRVJ3J2*32HRC&4O*Mk6-rhqjz+fL-U z@l~#L_J}?up}<#pETg&Q7#qhcR>j!kPbFT?ie*T@`7ppEhpEVa<%%4b_4gx1IJ_LX*NvD)N$?Elwy8Y?%q_B?bX4jU-92#Uj8`X=@P~6=kscL zRd#e2vP;Gl7zeN{3@(@$A!l)LnX*_;$Dt>Ek0$YK>YwrCce06BYun|yi#M#g$f$h6 z=J3`=+0Czgs#~}l`ws*gL_Br;Zn@%}a%vo#;rXqGx`7%y(hH1Rk2_>(KIi+*cv}C% zvq`Ke^+uu0%*^bj3W?MIUXZjAU67pAuKO(a_HlNZ%d=||3JUK$Uur3{j*0nv@VqHc z4{hw6G3Sd)0IR=Iq4^BUn8&h4S*JX98tKb?QJZPv^NvYh^5shp-E(KmE*(kfVwhQ9 zJ!j7I1z#5FuDpHQZfdN#%g?;RbH>428n?}O{G{=4VHZPNM0DX~1)&=jvRM%!Z_nLH zU&d>ebYjiLNil*AuKxLj(hCwSY^%8#Ru(gz*LFL5g0ZXr;gYTQmUDSC99M0B8Rj!# zUF-+O<7!Lp%!?K%eA~B$G4!7A4GXTttq0H5pICP8y-MO$w>Qas&9A+ZcN(&%{XCp9 z!Rqp!ot)Mw(jLE;6whMlef#W2>%Nz94mN3XMbvyg9(a=SJEV1=qE%V_<9O!`lBO=;FG{=W0u8rkp$acv+Uk+C^JB&V;wU^7FMT_uc1b#Ghob zfWujXOSJI3bXCZ63r7 zoHl+`W}IO0e5vWxp45wMhW8qK#I-u&Pw~!SGIa9l;5%{RNUaVNWB9_!qo&U{ls@Q*V5sxoOe6 zpL}ixA$?P24@@q&Rd`OaDs5u<+k=xW?4JZM&*+#UV8rx*(I@cRj3XOYGJIi4xa9dP zkE@S^nb9yva%sRsp2wEzvYLz>?8Q2{Cz#8ugQiY!;#9Zw%evihK&z$5@x)_w(U|F< zZKnO?vt%hgvFHugiIw{cUS8dN7- zkh4+Vx~fMb_*munOY^waWPcK>y6loE^+d??_2gLvMSFJ2R#gQSNWIk2yTrJ&@ge5{ zS&OB?dhhi!Zg2m%++od`gHsY}ubqF96)CI45x(*~^G1;a-KvQvo+~$Ansh5!?CJfJ z@)qn}4v}q-+}IN`H|Ruf7dvRf98?0MQ)Wd3JqK61r{d z7LP5K_Z#$2bZ%~JynSu8P0z|t>qL4sU72`iG1JEFXYbFO!Z2NDqdy z_Z}(QUHR+E%$QXh*q>V7y*DYTj5Ew(%_Spzvn*;b3NoSJN1R7qzR))fV<_r<{7^}UYZtZ@##*1AFpYgb$Cj{gf)EbFx%fQ zE-=L`7URe>5P9-=;gaa3S_-FA%nURqx<9vOvo7b8o697sT45n0_l2>@tfR$x$NRvz zhKo}qZdE5O6xwa*!qE1#;+Ub^$usqqlI)AN=X)`fF3I{ZVNx!)#O?Y1UR|!gy?D$| zu}duJOE-M;`o`mH)0Daz>t4h?->S`U+TQkH@04d|2kf@0&qzw{^L+0YyMQ$aZ_`tYcsm6`3M7$%?M5pAvwm(@)4w~Q%} z_E3xHU((txp<4ex zL)==Au$P`U+&B&>uiqO|xi0s5NxjwN&x`u%xfncbes+sFE#!PvseEnThC{D}0t)yl zL}sTcZu8voyt%Jw(cax=7urKvo-piNa&>LP|I2swc_!^oOJ~zvd@3}~@wm$G&_vZa z)0HY8skHv&>c8G~b=EoQxsGbnid%w29az#&#FYsv3e}>Q>GOQ^G`LL#Ap0E%C^HQyJ(_@;Rg;0hA&IQ|9uuaBG^8$UE)w%*6KLHV^SX1lL>qOu3+e}DvFp_`B>6o<(^G5o^0Q~)am1! zvRO>8*6rl*^SZcmaf@b>o5Rx;`x@Bnb^m2X9xv?Q-4!(Z(V-Q#$M~Zr9COiGzR!Hc zt3wmE-7|1t(U4e}!&0Bl->j6_@N!<;yatJHCmQ-*Ihd-?lrs1%Fsbgn?8~#_?{0e7 zd_J-07L$uy)^x#-#|(@wi|W1E$vw~dYIVh*rb}K$#mBANZ9;cEsQ93k| zlEXQU2NV0U%$VE`{b%53f8Djws8!lC&;I6dQ;{_jo6gD=7%}867PVQdz-c(yLOT3i z-_IqHPr54ZChJ(MRev*iapzoU*W3D_%7uQ1SdS|f@jdRDzhc>z3*mNVKNf6?{m zto#|9PHk%nG)hU+9|%sF8p}yKSS8Y z?Ps1DOsMQ*Q%-wQCt>;}{qVItTRyDabZkv>D-(O3n^w+k$y0SV>;-}!&Ob2M@7I@U zzl*x7L%BcyY-#-T`F$McZ@mnw{-g4}X4`j_txDZ~Va+x7%|Tpy`j5qKJ}&Wi<$8zz z3{6eEc7*Ums2R&v4Lq55IoP9{WeURad|5+5VR2Nt54` zq9y6Ctgd!Fza|iQn0L{it~C~heci9vw>m0BC>ielvmmkfkMgBy+>-<(xy39_s;_ms zyyk(7O#0%gXAMz{kNjuI-|KhU{qN*IvDGF0x_h=|^PCWF(K*1}_t&*9@898HF|(e( z?R-${m(9Io+pbw2YadTFt4z-GEd2Mv!tU#@-5>umJkGbv^f+_lq`94&J26 zI7!KIg6!ejD}G%+BEK>JP36bOhvMZ*&Xym$m3nsB+=W@XykD*}a7H zV&pxQN!Bhe`|mzTR^I+;rDK=*EhX0IIaQ%9J9kX_vFAgNKF1lWuB~!En=SkK7W_HB zOoPd~_Op06Pj^qc{aUMM=QQrPb8|}YE#5Ed>Yr6#c!H!_qZeji%rOn$|vVy+gQa9%OgqQ&50@vS}F-x&TbFX?Zxv)TAzefQI8 z#}D87dpLSex#4`Hb04;G8OoQWuRO+DH$CfH;HzoA*%ciZwuL@Uy~Cl*&`{mC6*P0j z%JO&i*Zr+_#@jzGYkv59_HOB?nR)s-i6=ZcAD>}Jw7<82|H5gv&b8Mv^u$V2cx5J< z1y1?Ik@r={K=mYBM7TovbJ5TH{|L{2w7u(3<%js+%#mAmOuFxt(#O3rG4P;a@j zEMWrkIm>gm7+m{gv?e!Re)>M>Xnx-Eq{+?aO>QLry^wfC<4Ivq^uA}DChXF6sn7e5 zHO3Uqv(D-HcKq7vvu5t+x3jNQ-)ozj+#?p}!H_abrNhK7QeMyT;QO;oZ2l(UHM#O4F87FHMaWd~%sk~MGwIIXkVqfiEYsO78jxF(SWqlDKHi(xDY_<| z=SEUpfR=X1_J~<_YxcBiUz)4;WsBiLb{)IlGLKDI-$XgJ87l3#-N&)wT}r6d#n1hI zUtN3zd-u4oCZAAWerb8<fhtX{ReMbyfx)+zq@|T$Di|eGe1q0?X)d)khlHMa8P}p_MHmr$A%x~&0n=E zqw4pT^|{{zms_~&@LT@gVY@MY^#_#+IU7q3yENo|WuNnGzoZ?{%c}Qnb;_A%m%q5Q zZo%|@5nDe=s(fZ<+@c}*-ALehDz97g@+C=9r&zMR5$kgXW-ND2)ut<;GuiYXWvgP z4x4(4FU(Rb7y7gFq%HeeX0Hba4lS-!nA2+eYU$hlTU)x9&Wk;jq`u%4;{nsMx639l z`EmT76IS|fVQ#uichM@3&V5e)>LMcjXYW>@+4N)P%GNFw?|i}4ZYd|My_up-e;Ge` z{i0M??RenU`DenmwCFVCsy~rDTUY!iB2f^Y8&CdC{{Ip#G_wAS`)UE3dp zeceGH*e0iJ)O($6u%^7I;;qBEg^%x^YKXS=HQrZD{Zsp9 zd|lA^Db4jvO@EZm^J!)&pDm7Y{i?n!*^(D4(bFRo-RR${T+!08Lw)Ca2O)u)t23|m z{WIYAKQvGI)5*K{n*;u?d{odHAz(bGaMpx#s*)1tYXX>6ecw5qye!jv{kEtQtAyfj zCc|4Zy3Wj)z~p(Jd8;p%h@(`=vBG&*7S*9dnewNMTQzP)G78m7+u_9Xq@;)3`|o_13< zZhLUQB;nDLh-L>_HU@h=cavR=OrMqYKF^P;U8Q1_@HRd1;Bk{{y=|U>6Ylm02i?9s zrCrF_y7av7zAFvIn;Ad7vOHk2WM3hxq4OYDc`t)rvd8wt zLS|13?}RwmJ!P$$JaNvYRhxy@6gRoEn;NZ2b!2CF-ju<}St22!zTf1=lBqZMT#HG5 zdepu|i)p2#%%ti|?jo);kIb1@FU7F>(@f^(p8aP${#dM>T<7(ed7H1tM8$r+X7xFO zXWgWY8l|R5yq?7{mElRb4yVau;f<;l`3{=vm}*YZ7}p<%%4B?!KJVo`3rO`mGH5lTJ11xm%oA;wdJk+5Elo z*^;T>^cerVQr%f`Wk=740^1i%@ixbHZ#-tnG`%FxGG~&N;H{Y|DSBW3Rt1}%2v{f5 z;KuQ+LG3fs4u>7jWw<=eChs^t$?)8*#2tN-Q_Mf=Cms-0nXJ;T-RD=t%HZ}wmE(tk zcInHX7oKH&{(W$}%#-4vc8-N}9n?42PZi!jv*StN<#ifT7pI;KT43?2cusKo)|<<= z%&Sh(-xg~3{CYFt?T!&u6(g+W7)P{{T3EnKhD`leSUxYy6+@=ndny+qCK7! zG3Cp0TBzI2ySno?+li91#i5sycDPmVR4!|fNzQuQ@5S)z*;V5_@qN~_YK$s}>OPGrUx>3%hvi@$I$F%5S*1YwjN^Jgc%IEZ$)I z*?->youhXf&S^bX!0<|wp)0R^waFae6Y^dgpS3-u<0H@|zp zbNOXbP8+A-jLrHrDc@HrMNGZ9=)A>w`?Z#9{VqsfZtUvSt(ls0;y_)6+>|$JK1o8( zTTWiyzE&++PjvI73X!AncUQ?zdEEFi$c?AR=*IV>VTTx2^dvvO&XBg`w#>#&g2xOe zUJ0J*#lUV;YRd83S$@U}$;V8+4O1mU80So|R9~wyJ#}t);e!Vic5@s)>|Hns0wmmu&|Upr*+Ep(_40lw+;f5e>NmJPO?gxvay6Y zjpMDKpvcpsq$tI3NrjP z>YfQy1Y|JmQqGH3(T}tD%B*nf1#g`R-InN%(z%B~!7t z>64>{ysnQK8+$8zW8d>jGkQYJ^%cG%JBJ*8#6+_vT zo|=6#?0XF~&z~}|3Od`cFUVS^Z}q)t46knFe0|iwp1z$ysb&YWVaz zj94XPHqT9Slbf)GO@G`K#wYdLlATx7o!@nB?zd8%i#eZd_9?0SeLQbZ_;db0!s@}< z`M2$!yU#jhIw#U=+a*uQ_`8ewY%L!=etBuXdwuTrf9LtlRdC$x}QCrbw*`*`N zAJ(5c|3f`()2F&ynrcT9O@fwa>r~GyDq0}#Q@VivTCL$bRqLhhzDII-&$&yies;H; zU0JT-YIgDyjgW~OMBUHS?ye5KapyG0^EriGTh=fzeOmI|)^5v{4vlkm`S0dOMQqdh znUc_zDWo9Hk-Pj^QdMAfqspX>43(8}?b|dg53MM0u;~eM+GN$Z{iBJ2p+Irty&2q3 zSsw@)Rmx_*&Y7rD;F#R(66AKqY=h-nzp@v$n}hc~2tW4x)7)>L&+&U@u?Y#td_1NV zD4ciy^8RbHWW#Eg8br%nOk+M%^zoeKli){MXUsppDE7a7{n-J9lGnc6ZG1akJJlYj zXkos<#=O?>_79K5-CGrR_?sxNe2`Lp;LDP-JV|zzv>8H&L<81YmB?KcR_RvS#JBIO zjVr^+2amh*XPE~uiy0X12>$lu`=4LIsXeFL!nDs-EMNaFiMg!S*FcebZ&QQO^8H>L zlH&M^k3S4JI&HE-Li+rwt@6`O?$|ENzLde`%nFOwPREw8r^?LX`L<-1>D^EL%Uq35 zhclO}Ruwz&RZfgd$}=jwH2L{t#qg)MPo7mia_R3qUc38BEJi$Xy%VoB$cizw+&?M-V^(3W#3g4BbUcC$61z4zj4&LdV zWH!O4Y`ui6yYu@H)7$ymGt56OOikHtne*6g>muD|vxgJ=tGb@uejD~(sydp}=0#bn z>{*ZVNAz#4RQ&M$E%T%L%?{yjs`d!o(H5LwJmL6-&+!}TH|@QgCBON3+q!ogpQX<7 zOk_M{7+3$d^rz$Rs*2j+Z__@mopP;7C40T4ymdi{p6GvuJw_IyzgmCuW*24KZ<^n_ zHFd7H?F1nqtH;V8UOLDf+8~m4Iwc`#mQUG-_s5yn`Fkl$VPV{%-mt9w#)*LCbuFa} z{1aR6Ya-!F3wz<|~Z;iZQu&o2<(h=bzc}{LTeO?ewRI>e+3s1a2wnJ>BPP zvwqr{e~Hi6+i*GTX`H|NdfygCmCWN77Pe>2G@N!$*)DlNQcf)R9`i-yMwyGl4a+!=m0mjC$1h7fnknPu!K}=@JWGP(bIODr zC;n=1T~gZIIEnGWr766U%9AfVzP6--|K@?0^IFW6CVB^{pSypzN67NmrDMI?M=W`PYR`%}eOu;d6L7N9wQZ-|?V}h99f}+ue7w9=Cx=1t%HyS`0yX%d@% z+?SUH!AYMM{42StqjK_?t)W+vp%610J4;H*5@u$RAT|SbxvMfko3}+eNW7jk!L{IF zSMIs0>Y!Dd4Su>Ap3CG;G}Bp-$F9D@Wc8NEGJJP}m-O4{>~@f~eWl7`^aOOx?VV{J z-*>ty_br+&yHO>NCHdZRkNSQK-V4Fs+!m}es++=}w5Op-GNSKDQp4i>AHh#O7Tofe z-tqF@Y+-#%X5K4r7jP_@uAHuA!SZEsGK0W8!}BXwdL38sS@6W@!L!+0j_vhd9>q}6 zn;P5oBX8apccx>NPa2zw1I1%+#w{r*?3$%1>E>rt*u$U2kh4_z=Lv@A67r`O+?wqE zy}0@NM*k`A&-g8Ae(l>iOL6OoS61cUm)u}8l#Doc?akq9`)&R+JlOdmb64;BmXZQd zy}Ao(l^2T2RU$Mqk_+}GCS*B{JMvpRk}pSz;y!i+`Rw@qN0oY0md zBYz+yLhx1m2lxBjH!}B$U8(W<Z)!4L+S0$DU%F1mmL-O%rm=!S!VvFc_9ydRc0^F-Mjnay%|F0 zrxxTf-&&k`wLh=w@m5#s%B++p%~z^JoRY%({$?G?Sf*1?G##}>wR9$y_` zz3_Bahs80&*9g-p*r)vo&@sTHf)2Gw6o8o zxbv$!cS9@1MeZbEQws zxG8y@d8yaN)ism!F9hv4-DZFH<*mj%cLf=_BC9`J4lznw9;=qBsN|45E^FwaB-DHU zxa|rS6Stk`pZY0t$nQ^l?~z<_?pS+a55;BwRWxdsuy@K%BL~qsHEhZmqX3_^K`+>J&Nl*ZQ-Ayxt|Z!V^n5n>ZeP zQ)=Mcro|Rh7--XVYK5Eshu>G)G!EsTJXYNIg;7G9;dFtUbpU(Ezgvf-@3#uiK3(w7 zNk~~)UgPEYy6W(j`h$k~`g*2oz2EjMZ0Xw|B6(7Gg2gwBKiV()Z$0)hx98Q*jbe)P zIQQ+~0soKdXV*WN`$(U^#`9{)Y0a)9lh=65G)p|0d#8SKSNIkFozt$q{V}2D=5zbC zKAfRz*d`@9l{k#?Q>x@3kqpGUPc~&5ufw-Y|bxmEf(VzpW-1?P>fO5_7~* zS*WT&%cZC;Zcc#VVTR{2eH@~4fpZqb)Cap2n=#D`e_tx%os;r&!h^md4aP&JF?0H= z=9Di+doxX<4GKedqJN27wj9lL}w>T22rRf5*-?DN&Aln#rNFt+(z7o={%O z;4QrBxwNI)LvRJlrwqo8ej67s7F8!rKk0icrsnus{YhmqdKC}kquBni-ZB?F z$IG%sk%e&{tI`RH{>vsF5(`h9JXYAH>=aUXPDAR}qsJ8||7`TuW4PHjZ%X%0M<>R2 zhPP(D{kx^!`gTdLC{(E^Acv>+;3&2j2Sr?=CRU z6zR!*+&4FCPuGWiK?b#ZeZ5o|o8Mc=8X5XdSDnH7tJs0(GmGKhJM(@#n|J1TgB9P7 zWm@l8(kEVN4ARK3$w)XBvbXLlD8XNS#loCn>Tlb zrZ&%%*4M{ZtT>XdH0kXzi?7Q~nj(HU?zZ8Y#PLLc_etLSE-tCnt#>Lc-()IJX=AlG z_|iH5Guzb@EJ0I4CC;%jus+_Ic54U2Ctf$@e2W}rhN?op;`tLTREpe_{e+D4Ip-C= zci{chH8m&biBW>)H>O!>N)AlIeM`9No&;`WvpgTgki($)M1JA&slJCT>=w1nHEY*Q3n`&)z^b_NR;;Ad_ul3(ue~LYe zAt0IK%!xZCk0$Ay;GCqpBad-u>-WcV7%G>0N+vA%V)Hp{3zJJnO2-8zcmJr~J32EA zC)`P?4&HNiB4c=t-@m9P50*J!Bvy*Bwk+=BU!NQ-!}#6Jw$L}@mgCb-!}p$z^0%ZF za#bF0SYEr#U{$N1=Yem_x(g-scTA|7@0EXs?ZJM{gC~9kF&&6K%-F%a;Jiq;hKd_o zU0&r&kI5~r&T__Ao-Z{nxU;UArDOp&>%`>SyKTOztv;=O{z*^YS2Z`zb49FXrjfTR zC2h|YJMfhMWLovPZ;E&vqq?nytY%!qLu-!*eg66Xwwg|0=aH8wWwr@m>FCrAvp$H!mlzQaC!n&UQ0rul`l!g}SU59k;~vrDd6 zs22KJ+`?|F?z)rvO7jX22k&+;X^UiHe`O^ce9Yf6a28Jy^Y4q3`~0*_wK)Wt3jEi5 zg)>HaH_VWBR|phZ-+=c@{5&MFm@RiaeflnX$CJNq63EBX=jXT$lULzBy@Y+4po`wRB z1*wHQnqT|ew(dQ6%zk%I0P|G$8OFy?Rlaomx%fna|DQ=hC{xqHlp8RFSwc-uN ziZaYSLA#iWHM$v3uzV3Y*5UP9rRVUC5KpbM1;H72R?m_5ntR7UUhiW6p-E+`JTpVv z4&0HOVX{&0hD*9lxygS9Bh#N#9hH}h9JYG%_dUyYrqv6bU6!fds66;=u`BD5jSt%1 z_Z0@|c(pIId_M2XQWf3?h5*asYqei7_g!$BCL_1t%0eNZoXL&XMO|*6TL1i5Wc$LG zvv%ekRX(U}`Q^3u434L%9q)O>`<5gvZF4%k^Fu-P)uMd~e6<|Miv2x#XE| zoj8?ZQ?l&+rw=X(?_}nE$!eH(L&tE6+tZyVM2>ayNo;3dsy_RG<*~}6+=i1m?lc%q z46SZdza_eDO;=I)0@+pirsaa$dHCIyuaNaFvI@yr*je~`qT2yKHHZCHeO3>?E@zE& zdvT+Ahg8!YGj{35m6A6dB92`;{?y|9L$7a4Va;>Wp9LRJ^qG6ku5gz1|O z;aDPgWMN^SRe&VdlSv%1_ELS1Ei{r(9OJH^H&t-zBuC|At8dodTK>ZO&eo?#Wp_>P zJ@EO{*A>sU&PrhR-^n2v9JpnZ=fv+GHVK7&S8a@rUEKDjO@{eLfXSMUWyZ(u1sz%% zQv0CNWcEzI^E!gto96_aS6=s=BUoGWfI7Uk@X-}h>EzVn&rb;K~iHdvPb+LAU^ z>)GX&Pm(6F_w>$7xO+qR+ET;b*~u)$bDHN|2o$^S9x#XJlYdlUZ})Vavd_mfp7uRs zS8mEwovtp+F2Zm%z%H@Rc9o{;frrKuFZ5rVveUuvDOUw8Eo!{48oOs;Jad#e2&SpPY-ymB=cYHtD5Mwao4V&?sAJ|q#`ed zd{pX@%gSHdkg~kur-3Cy`d%%My@owyiz1wpvy<8TvdsQoJUO91KyzJAWu_F!cKF;QdsyVPitpo(+$MDtqj2%4%g-hG-`<&ylmfa(i)sc~b8M z(M5m1bQjp=-F*2gbQ=39t?-p^tg3^*FLadjWA|ca$^GkS(|oJ<0*~*+!%yE>oV1zq zeMMx=C70TENz*iY-QdO(FB^M8BX0)zJkPh+5cObx%j#sw+-Dm#>ojM=Qhw&SH;;OL zGS26c&Ufz1+@w>q!QIbY)ngg+;_knTYRz>OKYgFc&FAZp(il3Ea(#$s=JPGnBTlZsU4G;6ZiDf-v-8`1ZtO8^`=UwA?$e66~ zr0{Q+rp|&HooYHEC2?~uZG9QAdy%q*gv_JaJ5D(0HrQ(L3fk_OcxY$If#Y}C7EGNL zX|$Wm+~n<>;~5gi*H^jrPtBYy|L&v1vDCDHdwve*%6TqN4fEK3><06-rIU0N4>BY# z(_&FvCici_=d%XEhknup2krK1Npcxm6zn#>SgV=0By?uSM31{$7*DV*NS&oDQ?OFu zf$+R5jLH6mHg2v#mdE&6t}Ha)K1E#SE4ObN7u$_*4;Zhn)hrL(bACbvW4nJALrvf^ z?j84gT8{^1E%94cyWEm_f?wg+<>t3|=4AdB@E#xS2yN%25C{L|*P=b-09@_;*`*P;>qC72g+}3Zs zJ@I(eZVq9!V+UTIE9_4Ult|*gZeg#f*4t3JNyF(3<73IQMrl8H^;rc+mrtwpFMb{P zF1T${KrQFHtjRu{9NVTT3(fOS$lRaCEu_8T_=o4WX1PSL=Sly*z44ev*OxO~?@rz^ zsz21mQqFQ@UJL_sPeE01&a-f7zH)tb<+Tx$47CajZoYDLOE9eIx~XM2`PvM@lNz%% zWp`g-wz-xdrFxL}*n2PYrY8pH zs)CnvX!A7oB+t9Tv4OE)g^BT?ye@--orCCaNh~uuz{mJ(DpQZ!gbhDGorzv+7x8Vw6V2l~>`@GTA{Ec>Z<$aTP#v;N zc2lRg4#zSQ`27 zyij~^TJbYwtsWr@>sp7a+hHE>F>OJw8fA4(j(0=1MC%gVUzX$wYMTg~QIZf^>;zt4bq==SlKpPbHOAP7H2uQbIb)mYFluP2qOh(=Rfa zQ)S!h3w&i=8?}yw=uZ*vX;`*+`%Lw)z6_o`<38hAA%~)sHyK*n6)b98IPLUiL009z zy;okmUC@_rc>MhKtS65pY_6OaDaw_L+QwECJ|W9=l3lCUu6Y#;CTZ`u&-uB5^F{UL z2N6#kjKXbS?A-BLI3woqf-fs3<(^{jk^8w|^?k<^@6>I!i9BGckLr5#`1G;Q4ad3P z{s{Ux`|0PohMy9i?-f#A(zncGyJ-HD^u0_QE*w9p6OpIDWA2o>n#t;C{`U?^*_D^{ zo-&_I51be9`PveX8|y?G+^uJ=$$Rtv%FCqNSqo=9@oq4Cl5m;z*ZGpeucGx1(zl-<<4O>3&#&Yoa6Xj8hb`@r^zr*n&@OS)A$PjKHTGwbN(McUclvU?i# zFgTw7X}bHt>DW(Z2b|bWo_gHaXPdpsN?R~F%k$;}qv(UvPBK&lo1DzEIe*V}%R9xx zU+kyaz0gUV>B-XgsqfIL=-6E+oSXKWOWLk>;#+n9bVaC;-zxLsduyVS)MLaXvd&yy zoZhfRdD0xg3!yhI9O=4moXp&O^830C^Z|ab?N#Nnyq%y&Mi-+U+P*a&ePmzX{)C#$_xzB#?e%#x&CF05V1?6fp zWo~Pfu{59N_gZsm;<51c%9HMD?3iY+QFGuyPwU&jHN~gSZ)sTB^W;-K7u&iC(_TsT zWD5&b-rcp-kYAy85o?~afG5MFX%?4EBdZK$Ry}X@tgPhSx_)-a`wfb>P8n3N_hlO7 z{4@`l^(g-qd+3#=9o-r0rbI6|)WG?>-PZrp`eioe-?Do-mAE%DwWY-TQ`(n$#dPZY zM@!$7m9-e%SAJ znO}5~Bf(rFlEbi-rJ-8R&$X)l4QGl;d}H*J{4M^~g(|&9hT3gYXZ*9d-comK`>%O> ze}_0Oyt{GIwabS;F4EfJyyL5iT)64i{5OY}M!l%#c(aB};t>zik(Gz$?ltH8B2<22 zgEv#VeL1^`(bRjl86Gn{wz;em6;^hy&i4TG_65iN|Lu)4c*7XXGQTSMrikyB@Cu{m zV;nif!S3mzE3)VQo)^Y*%HhecSxpbuE!xE?lMAXXMAJ+vlcaa|72aw*vfg?#)2sgs zhRW}Y&u8skuCnZQvQWgQ8rWVV}c$RY&M&^65Ma5fM+d13ZPf3DQ5@ZGK&u z$l53KVA?USUw^d>jh19h6id7!eBD&Z=)`=Z^gi1aOiE!9hg(t->_VbWUfohHFVLBM z_06LlO%FEhDLTGG^caW2*R|1yx0cPH(4Uv-amM1{`MnGQAKKgh7(eJ`v@w0?t7o0< zqPnQblxySjl?x_+>!2SzAduRji>Q8%gP6GS96XTcv#53U|MqS#RIq7j1o5K zrn-9$C-!(9NuN-g*{7?&23sV z6DQdpS~#c4C)%j@@4b0nHd?#vi^=O@_`Tz$qq*LR+2QpPCypzx4a;6{71S$tc0p?Y z-KCYP^;0zE4J1u9j}%PHpIZDmeJ@LIQ`j`2Nxa8xWO$P1c&~qVqi;^*kC6Hd?x_;z z!e^5hC4Y6TuGT4hs?5UkmiOMIN0DMepX@Ghy!Wxo zc3XA8%=7t$0H(F4Ppn$|IalJO8L>x670CzQ zWIf)%qj+)VY<1;pv$efWbUuBO^5jX)mY=DD6a0$|7~cDz>ezYW;0so@;}@2F@K--2 z!sP$*WuR7`T+HcX4;zlJjqc^$mtyqPGyBbhp4zhugji!Y^>|B6*E+C{-!^O8)?msJ}Zw|t|-y9lGb4I`t9_cJ1Q;Wu#UphtDN5+?`7HB z^-_7w>1>?{Be&?b^EHCO8+Z(s-)0Edyk?TJ9{VXriADZXTGGRwKf6`@D?nkF*0pG! z1gW3S|F{x)x7_Dl>w0$c36&jzCOvhrizgm<3)*C`TIKW#$%FqC3V{X_oY`er*pfBu&O$2P5I`s^%s-*VTqZ|Bwa@~EUSm_2NF z{t>`tQ^)h6;>zOdrSiNtJXb`Y+^2niquPhM1zcC0dP`D*zn?4H=lFg3Dx)KjKeaDZ zg$Q}r+?d1DdS3Ev7i&pGL^4mR<_VUx`4XqaVtD$lxGJ4m!13|ZoF_s3mM3ouHSA!P zeIapC;PZ);Q!Ov5(w0oTcu%xUf%ydYmFijCXMRW%(r9)^aNZ}>%6Ph8C7&^1o&^E|NPKf~sK zcMh>_yHmDN=XeW4=+@i?Y|4M{e9$ysKJCqu1zOH##uNKyEX?TkI{sY$SVhTN`^V>Y zrFE%nH);=MFJLI_;hS^)_WjLIe*cqwIlb(oNou0R&kBaFANAiBH9bCje~aAS)O?n# zlWCKb+I~hx_HoMYoBHkgn~y8J%@6VO-HnRg*j8=RB41K`Az+KMt@4@sO$YdwhVRl* z4cMW)&pP;VZ&z=#y}qNL;BL2dH+iqW$egS=$L;3LhN|se-mOAMQf{A`P`rJsm;21a zHOJ-lYMeij%)k&KUlZUNIya_hCrh8!(LK%Ci3erUdnN{%2=G<+zYbV^Tq0jbQ>A$R z$FB=G^W<(EaOvH++cboMjWtcBZ_d}{zB1jCza7t6ep|6_w zzB2F1w&~_Vnzt4&W2n*HBdSX^(_8lI2JI`k$g$RT!*rp>bk<=j(_g3ZTO%0yn=a&Vtx*u*aLyep*1-7?7G zaYMb=1c$`ahUYF7_j@sf%`Rq*sabs^sM1^O%P~Vw4ws*gA8$Or)>DAt!56tJcMmjj z9c>cd?|jr_XPQI~gC|4za__9kn$P?8Nab`X_2lOH*OZ)*ZwmcaCZ#+ znUvVOrEJ5oKk+c`RAkA#+s=KZq-Z{%jVzn-DiB^i~Olc-j-@T zDRNbBpIl%%<qI9humWvFN1GJ>u9l0GqSGY zV(>J0!&5YO$8o=(tDebj`q_Ac|K0PhJtso98}V6+@=r^dT+`dIxZl}EhR~ zv|L-K{LEU=cVOO?FRq507tNDq`F)95jqj<&w*_oJ7mBQVBUO^Zqo^|Zjpj17sXY7Q zuD#$~snFAY?@wW4>jIWZy2p#QRY;uo3gr-Bn)#}L)#BJh_m8^&w3txxbGr7NYDMP|@Q>mXiW^4Aao_yBV;LNo1{EWr2 zt=_rv)8?D&HqQUB+Wydu!4uv z{DR-I?3Z9p4#fNPgon(x2j;@OYW#g^$x}HrV#dw+c+%$*bcUlJb3l?2G`v z!fOq(GKG(s1XjPkuC~OGcTaQkiAM|BO#eRUon3K^-}R`69jH6_lBqQwF-Oqy~@wH zRV5VhGVt47XJ?t@R@T=x=Td>w&hNIF9nQ!2?(S6h9B}0FOgY`zAtiQO7}HhO-Pmp* z8#OzRX{AcK{XGUj|1R5&Pqwo!ILa)0_7GdNegb>zUGG1tyQj zCfB+$B4a08_glOU-gPXxeEOtt>HaK+UM8E}!R!6KCVDS^ntbB8&GQed-pZ^jeb(8* z(zDLuSLo9l$v-)QIQ}z8F|>uVKaFXqu)A_Cw9`r905j8)Pn=2b4t72%ytMlCGh>O{ zJ%VkrFBm_(n|tj2)T)x_CMyN{f^IzRKjUk4!Nh|zZ?2!_V;+CW^LrT#+!fEi=QC$+ zJnA<|UPI*uyM%(AmZiA}gP!4?%jF&i*m5Q?D2p&Gx$WF=n0cGE)Z~+4XS(ciYW91r zl1kYT$#|%-fA`7NohlVNo&o&q9~N+(*xjHj_~0@7R-ZKj{Dm+5A~u=l+k9gGvLbE5 z5eDu#2{OL|m_zcd=Q>*ctbFSq5^>-5bNp;8B4z77m-;^9*>VR_k2CE?7Wmx>U{OBW|q>0 zKl{}`Ev?`=AoSzlD^>-Y#otc#*}8u#xc+6nN$R3Ig4cVGH~7EM{v7;|^U5UW-zCw} z-YV}-F2BddXTZ|HIHA^>Iey9hZF9ose^_X`ZDW_whg;S*oAzCGV3+*L{$>4n`5)@M z9ar{ezqRu>b1m7rBe%8E*5Z8OybR{A{ce4ap8I!rNXA4jbN9I zJ7eA>vu7A4aOYY|9<_Qht)L;{KSK@QRBs27sh<&)pqo7?glE=uveczn)!$Kxj79bBjN zrf97|78Dv;-J86>Hr39WgAqoeNv&*iu*~VV! zefb6(5jYc~)xT7REU}@?OPmr+@D$GQ57N zfmv!tSaB0y;jJ03l`XX=o^zBv>a$q;czlpm&@u_Z>wQ<=9Z1-29@ufxZh7XjNv=68 zc@4>?8bJp*K3P7ONt^ZNlUbyP?7?MITdR9ow1p+(7SHM9^*FEM-ErW!qeH}>jZ%{@ zONwktP_+D;)n@wLl3BgqOR+2BexZbHuh>~dRSyYfn^~a+r__SKoLInV6k29q=<|G^ zgY2r1#HU4bp09O!c<0?K|9UTm;yit+x23+cSw<3;yietCe5$O|HQH>du&X4Rs}7cW>XgGkT_SnyrPT z^0v&?6O8*7Ut74N|D1x!j3+f$<}IiTuRj>_M?d}He}=xO)}x1|>)%Sqm9yE;@?FB< z_$T{K{tq>~)rG6;PR*)aWA5EuER*B;y79#EyzJ-y8Gh*8Z(`g2*p}hm#Ep=u6*kEZU_72 zy&4>S$#*|9SOslJoUZ;}Zr;2r!n!RyW^)e|e|IzVRWRwg-Equ)qsbeO{|wc3GfZAQ zN=>RzsJ#>5aWm;Nhm&30gT}KaHFF+64gU1t*&3gah8+jLt#};!hV5Q^&m1m>Noo@( zueY_3UAdYuz>LADa`}`}iO#l*7v#3e=vugXMnC)dE`!m>Vd7`z`Hp{Ho@9EQSKRmH z(h|Qpjq{H!=`+5-d_2K&0moz4J0XH|K6|swNaA`f$?$dQJcSmkb<#3@Usj2_N$-zh zTc68j_GH47f~ufZixei;72m!zS55NRr?PJ==3Xrl?`ga>>&CK^+**hD-k)2Xkyyli zjGJ+S@vV;JJN6aLmM`aA{|IIRAz%In|_|x*GZP$}5bsxJW%Gb3`mWbEsnXq_H@D&gL88M|2%8fo+(M`r~ zP4f8~Tqg=R-c(vp(}R5^W~qouR4w8l`o2q+XTHZ>1=-J?6#mzgwv%tBYBc_u;Lt>TH}d# z3w^n_IhDV&{FU70t1Z&W_9j;*;m`7oi+NREtUWY;>c=~BTXtV$VEHQZY<`y1tG9~b zxA(N_*lM}e`Tl1(=u)z6y|VbGDRGI;x1IP+v9+aZIS=e_=WQ~>8`xAkLe|c z)5@u#+k{X4bblJp{h#5Wqi$UM?P(&r&)uFOCUE4_!SY;*uji|NAODuPRsO@$F9sir zzs0O(J0bJr3n%7zK6KYw-*O$+t;xmf%Dysc_abykH;J+HJ}Q!r>@LG22GMLmyA zE(luQ;D}qi;H<*zj9XQ~vv_!Ks^4nmc;(Wyll^_#8t;VQbBxblb``iyZgX0`Ty3!g zkH>-IQI$po=jS|YsOD>}+4?E;oPS}@1;uoGtuHcHxE1tn*nHr(T&Xnk^72<%v5h$@ zYZeG@mV7i@SSEEw`t7||fqUL1UcWbEi2(D8lS{s^Z`5%;C)4)&fYOrR&go~lo98*0 zN_C2~OW2-No8)wH*;9v|wtq93t_tmpWVd*EZ}rAd%Y#b~8=QRo%9UH}QC(2wW19d& zqcfJW`>jG|Mu^_=-zc)?qTB8c*1{_vyI9mu>v$Y|{M6H1rr`6t>)BiN?)EfUY#gp#-)o%Ygqhz-|e~r+_OS!tUROdNc@)=HY z5WOw?FR7J5)898c5(jmVDm{wMA`dxF7r9DN}$hncK~Z-JaZnK;pMef91Rk|eTTc;JGSgg zdMqKqP`;AM=+BdRb2Wso6dm0$^}OGrNg7@aDaWd>Y}CAc`QCKvDfy54uCSfR)-qAN zJfS+MUH3D;k5qWh5ov2jiGyzgkLK$1??@>;@YZ3*qvB)sQm!txj>jw{Uk0ryJha=a zr~20=&ptlJ6APrnlnqu$@3m#MP1Kp~{_v>rxm!n#?7l}$jjrI7_}N~c#kk1gN$G@t zZyv}L`?)wUa=D*Au(UjW?}4{-eqWL-pCe?zD8jpzt+(MFGrP@$pm`xY$#QKI1sQcO zD=qn)=<(h1;PEJy6IUg8nlH6Y*AU<en8%fe6Zqx?yR6;)?7aMwkeL$FyZCObcqa7z zr+duTH|}0?4Zerf?=Zg%QVHDj_89wuRmTe)tb{C|@AYN&3NDoVCcY=8wY`oq-tKqOQdlxiTyCoR zhc~jjy4VX2`p@#2P;p|B6MN!IkA{6Bh7wPTJ(YduPi1`EmwB`E6~~G{i$00Zj|mb@ zsyTe!ZtqIrr!1cv-}`><`@s05Ct;S(NqN0@jXU3D*38}5bSbst!R4AGrFR>mH*@uv z?ktEAI_U0Hv2Zo7weS)y0S3Fk7n#3B`lo#CYg_c$LxO#&jxxhGOWVrV9vk=hwCl8# z{L!>IxLw&)f#tyth2{%E;ynxP;{5DhN-W?wIJuxKR5`DB_pGUAlb=<_^ci=h>oN5i z-Uu?bN;q;r?pcGy`TlK}?)}ldmM_R$JMZjvwL4F$`n`Uf{-%9p(&fiCQrXtaXBYSc z39)%TXTK7DJ6`Df{TkbAIZeX5E@vKm{m=A6`GL%o%k`Pwg-UKp-fev*HWKF?PRJTI zWU40EyW}SGPD|n|D4w@-rI#F=@!MJJ6E?5VI#cBFM6mhGYSwOZ=a)wfR4g2L8j9>& zF1-ud!;`#RR7j=o_vsYIp6bgH`-8t%C^S28vE6ArFS~Ma#gsSsdl(XYy`-5H>MRy0 zZIhSz&rmJGaE)iqDe-|6+%NLZTaqL-d^~7$)7tl`>)Mf6Z$>j@sH~A1#A+s z(HSQ#o-OW-?3QgQK36?!)2H_ZM+*BEEh^sAC@;5IgyBls6oKG8{_7uCis?@L^M>=i z&q40SD`jVGo@h;AI3N7lfm3Gxy#hA_1I>l9ZfB29Y3!Mod6H`yi%fOZm9ugpHAnsy z9%XRoNj#J=@lNBc!s2I)a|%x^v!5lQ*}H*1sP4P$ijFlAVG48i%wm`p8E0{@PvGVY z&f}u&^VOw8+RrCnTAmgbaHPm$h11&{2E%#Q7rX`Kd=FRmXdE-Va(Px-kOIs=SAs;*%66C7nvbGd%dKka%9Ij=NS()t7xXDGRU_UoUv?z;-=NGRU?t zXw?+<^sNdLuV3u5wA*sw%=+CKFRw^3gt08NJih!#h;g)QL1=s-L)(FGD`$4kKdh28 zF~qGX+HOt&Gv^Z#8{u0W^Ae=Z9yIasRbScXwd0(F#M@hQR&Ehhx4Wys#3@v?H1fmE za}FyXc%1t4=g%I&*UrlxZ)chY&~8ylc_}=5rOw zd&9XE6C5mMTRBAA6OMl8WVTtceBI>}?6&s5zFaMwJ42!IO5c{HW)lRDgBHxX1g+_F zt9$v1mscgT<^0*chLV*j&Ps_@&y^NsbTjTOxXZcn^$I?%qE&N?C;R+%Y3(|(=WkZn zwxGbn^BC=>9B&FOaO1c6cvP36SnTHReH9`%9t;23WL9xd;{9uH!`#_ZlCLZO41RcP z^%Plml`aRj1iOS7&G<(vmvANjOn!Snc4fz@H%`1qN`759b4o;O($PxEmkt~kZ8Ft-^=&*^vw5XO;+u^{dJiJ$C0xqSSB`JzPIuXliP+P zVyZ>{3q{uED;peXNcjBTuQ$YgPD8qkOxen)puf=;vJOjMum~x+9Wcy2J@NYvldmPM z>~O|SRxAf3Pcn;Ko-sjOS@uI_K*EQr-$6d_nx8OC z{G$@W@SN+g`i}Pj(leaihB2q#lbfo{biD80mU$lflbXvc7cjcL+4iaUwNJXh{CTzq z`Ycw4nQ=ut2-=?mDr3{HSg}~SEyNkP`3J`Z{(hh4Ljwh zGU#ktQ2Rh;<1zNn%YLf&+sXZ8-&C3E3qtJ; zh5fIC-EJzj`P)2e*Ss*NxY2KFBSUf{Dfg1E3?;Ak0p0@B)7>JD9xAY zReyKt(;nv6LED~N-l$lS%6qxYs6wgnjpY-?ZH+sUC*KJvax*Yza4+;0n0(rL%Ex(o zkLs*=(Y?{}bjjVG0BxbeaxZ=aA2`Qqm>jUk^d$TCU~dTxkxs+oXW#p8<@uC&M}GFx zw+?NltJnD*vf`V{%(Uas7mHt^KVxTp;47%QS{`(^r&=nUX@|!1XMS^y{kWFoBHoDK!*9JRL+IU^n~L1&ouTmm`Vn`4gIdZ)Gf?1q9#osjW%gcvS@QW#$FgKkrc`&oXNc5td_PMvkZS#q=e?d+vnG3WjkhdwVv`R zIur6uZOQh(A5Tg!|Gsi<`<YM7?hlJ!QW9)!O&qcM9*xV{BP#n4fSqylGZm zxaz&3WQY6b4C&{`B_u)O@aYlC9wB%PAHnO{tvY_Ygw;2|?7 zc+n2 zo*>n20&g6|SG>`5yF7o!pZ(RhI>b3!%b(jk-@epq+I>A)Uonjy1IaR#IkoTpGb~k~ zp&B&f=e8c44fv(Q)KZ+ z^TU}Xo8KP`Z*mva4-oSB{`7?8(a?$`KFkb-CxXvuWv}knbbGj6xvBcHg6r-uRm-@Y z{~4s#cIF*!yeTnZS&@ap6;EYz^$$lam8PE#_%KD{K^_ZN`c1WaJbB{G6JI-I-IQ8; z=}i2Yc%8;i6HlxZ(5RWBeuGPCg3k?x9vOi{%aW%uJXc_1s|x16DfrZ-$zMHR=H2VC z#k<4(Cm9%Cx7FIM^W8w>j>vxo!Q-Y%ZVD;AOV#TcI~FVoNGd%pm%cW1s?AI(&m|9P zFJ=A|b51^a>bv@6KX+k;31*>f8BF$?N%4k8e#TuzXSeemNbhOBHOGI>&I5l|aZY}s z=zjK(^8Kw0e#ews`x`7RP3EWaiv8HI=ebHsaEO<(?7FtbP;S_RRQsyQyAk+JTv=XH*QIm-}vwE1N2qr8@zoQw*t!ECRsjPT+uk8`Pk(-^NhVNSsC2<^SG<)mD}$Aj5~`h z4m>t#m>aY6*2Wb+3EQeKC-d~Eq{Ni7TZ&8*bjdxKGhy$H;@}0IAp#Ze92c-T+RyN2 zk#?7vx2U}@-sIG!Ni(D!WM9mDsD8RnX~CC-yS}=;sg@r3CGZc39 zKC5_i|EZAYE2}GRNy>MgwiPz8E3II^%aPVNaZ|xvvwvG-@0o`6xt@4E$ztWAsqD;_ z%<6qxUas{_R7~8`*SuoE>hXHWbbRQI9GMaU+u>A(+t}SXGJUt*uN*Hx_QnOPT9?hH`UnwxoL=YE>PS! zv1_hkYuif^p~Bv~tWFar{oZr<^0KUyb6nGY`aAYb5pg#*TFCwP-pu8kjoZ1k669_i zl)LhoCz1Pcaq`wMyG-Tt3NpzVvKfqTL<4#k&ntZIVfJ^vYGMB#c9rVjsa%WSXnB{Y zgyfkq9r)Z=`+_k!(Ly?8>ic7wsvdPO`&T~ylR4q^HpLx6M~dfZCQJ)IIpOVb2VVw{ zB-g<06SwbJksKsCW0}OZ!WUYR<{T%(neSXyDOQknIPfZyQT&!*-3!Hbi*xo~o~gIx zXO&O9ob}b@CUfsIBfba$Ta7-;K%2ckZ&j+4d|SfgZuU*1_|tr^*kzsv45leCEzdk^ zbyH??>*EzCo-IAB_%mAa`@%-%+h?U`MxMB{UnBU^VvjS~Z7QG7%f6~q<81wT?)~Gy zvxbS&lamT}{C%#xlrxJpyERohRYv$z@6KhneRYCrCw+8t{3&a}64se&?ODgZ)VVNE z(5Fkdae~LAdD|GKd0zDJ@MM<#c+_M|-huTOF3)-(FuTq3v9?d&U8RImdshDYzLtYs zhtc1M!Q$jmzBQ}7Q#1~+U%4_b#et9W;StGUr3#Sq39Z-$QNZ93K?> zxjfg1?s<~Daz)AOvOc4Z#mxuVfBwF*blVd%KHJPjk%_w*LK|{=4|Pg;oN5pLEMz>V z(RrF4N6q{Id#{?Tqg?ym@dw{)5cLw?T6mW03?st?_N@vn1qVAMp7(v3WS#z`V_OBg z#Zd;2dnprp>^ROlhrZ(s3z@pBXwRpt2%!w!jhgp7eimN&n<2k$J@hew?*}4+W74|=reZh1f=?vF4KC4GFbyiLkoWQ_w@^0|)QmJSOS&?Z6 z6#Awz`dfa}u{ii5gXx&y14W4f`|h=7Mu{zgO$Bb8&zBm-9BTZXw4i0z%G~ArH;RfK zgdy|bVwL$%vT z&RkPcX1-TSpv06smBy?6!9l(TbsQ&TJ65!QvQbEuP~o%H;Ev^Z-?Q7CCH=YWD*r8W zyIMB-?wR_^_LW6amrH6Ii`a>8@4Ixsi*Aa_l4P=_^lKiT_EIXVsuYSgZsR3S%H|Bj=sie<+C1m5N-kH%W z;%C(NGAAchCNf!uOP(w1|9sTQz2nrRO>@>W&$C=AEIp0GPl6|TgUI7lzKA#H9-g;Y z<;yzr|J7ICD!bZm`JY;~JLJiqt6?9GD{nD0NWK#?y)VvjYEsB!+g{zdt4HIJzegM0Od%vh&XHoJ_ac#?ts*UGgHlA2J?OBj}ytek8 z=@aix`Fn;*pV|J^{800s!H~h2 zaYA%g*BhM`+kO?L3@25kEsS{J{9IXf%}$Hg^OrJiOfu;ZZi$(*0O05XWe&azY9G* zq3SE@!KsdOfkHC`0!A6dTEkQv2>%TYr=m?Yhz}cEF>PA#j7-oC$Zc zU&Sg13VO?K-6L%-u$;%@`}%47*v>9L{ZZ)W+PrJNx86Lwz3lS5x|pKuS37hSHgHx= zl$@rLmX>_|vZ)b!T8-&%$GFH>{~5NKcM4@^w3G)P7N4mzQ>B0UhhO2h>UnDHiyxk6 z&%DKZ_Tm)xyq09;Of9SD>m{D;)7;;FxK8WuVjK6uWs&QCmadREzrQffA(iFplkj`f z1dcC%yESspeO=M=boEw-wB8xB^rD@0RFvIMK6QKZr0VLWX>06jjaH}dl&{)$#&}PU zOhNT!J^#5{tK6g$PkxP(ej&coIrr~cQf%_fTi ze zX_`%g^{k)C-!%U2KK|DI@$3HfIF%14FMOT2tajVwlh$w7g+?%~IzFeT`HSgSyZJiX zB|STn+B0N-d|M!}$zpcyl^5O&e4H;sgF{N5 z7XF^|IK#gBR^x8@vaPpo-%&AY;!bAh+wV1VYisL~a>wg`C-K&0->*ODzdt)V?YHlx zm%SnxYT4G^j5|G)nH4+#WM8Ng{?BkQe4UMNwQhT#4R=Z25pLyILSlw(C(dLnU^;xS zQNHwiDgXWMJkA50v$CdixIaB|U(Zvy@yEZ?XYu^@S?e3(1xhkXWsQ%0xE;G`)%o;_ zHhY~f$&+tizP6jAruHFso6bDrOSe=LSmx*V@W}nGSirkv%HA_Yi+Sfw%~-8HUzbh# zN5cuz*6hdY+3v-eSe18gSv}4FLDxtBPmAI^_6cq|5>#>C(@lM{?kl~kvK4Agxy#z_ zw7mTpQgny;*2??Y+sd}DTzQOAKSs-wf{rd>Xqxoy*|hvj(D`Ut#;$-a_gM1xZa7!AGk8vy_o)HQf6;yt@JA9 z2B+t*k1uunyEauMc<0{si`B?Ew*640DU&#+f&BnB3%nBaR6HoPSnI)@#KPsYU(th;*hg$!U{k`*)x}z`HDZaMq+rBjFu8Ya-UZ4Do zn0ID*ktETB8t&}=Ll(SXS~#*)?+b6;p>-23!*Cn+Oyj<4!7EE zO|lMHoOmllk7?dimBP9=+6&It?%OK1K|m)yt^fHGLxy=fR#`P4=RLHfz~kUCKI_`- zsFYi?1Nhu6McurmyC>||IOk~Z=y0v0kL~Y0G3D=7e1>6*LMEE^+3(3R&eX}>qV+(| z;`RHtVPSWcs3)K!IMRxyVkB}UVJ3Y-OzAZoWWc{h; z4Gi0z9aRjYt+qWVXFgY6@3kSROEitq_{GZ{vr;d46ljrO?Ma;FYII9*O z73W$h@%Hjot!4Ztd-(Toy!^82+xNJ_PltKF+Wfvcjjsfm*#~LTa-S3o8pMLBf$5~UREgNU5CM;g{TxM2P z^qO-ba}vt3A{R%>7fjB(d|^GWgOK%G#ist)t@1ay{=8snyf5=tD?^Z{y{~!Y`!CB+ zH<-03$Uk~J-;2xZsCBEF&JhuT3YDOik`9HPw_*#IRvfal5I!W8(Cg(UlB;ZCAg!e{-hKe%3E$J1r|7 zadD-vp8wEzqkMhee}?Sc5=(zvu6g!%&K-&KQ=%CJ{_b7`vui{MqO3HM2?dRu6~#+<==pr%npZpYdSQ%$19pvNf(oddnnR zzIB*)cqU6x;lZ5wQ-WfYw;o5E<>rsh!I)X1n8L7wa z&u0G_ys*FMlYzT>u16$OtF8aa*A4=Qx!fF`Zrr}umz8R-VcY)P*HibBSc|5F#G&V1 z{b%)jB41TVep_J0-{)^4$zj3UQ+0XyL`gqs3FVKgE}3+vetPKf!hONYw@V@)@e~|v zGnZS|AfIdC5VGM(`sA}7Ps`qwDa#sU_A<3-Z%N#{d6viZGC@BF8L2WRlXSj-w&xS) zT~#|Ca!=*k^GmaJd|o88%rl(qS9_v4n|Z2)%9mB13LMXF%U!qW^R(4$J=5}Doplqd z;X{34Il}rsv zNqkSb8T;c4gQNF&${l&NfX_NuIz?IMdB&I5KYj;E$k)%5zpIe9fb-9P27`9R9X5II zJr@3X^yWW9^|lO$-A-?<+u51ddTf|l(CTS_s)4;gJhQ5o&ogeWrP@+0XZBluRlhIG zr1|!+F@1aOz#r-UYuSPG&ht1I_HVO%IjdL2;gGWAsd@Xp7&9JX@|2l)A%Lanlf;SM zO%dCDcbwCFcT+O(SXE)*-USB7Wp*ett4o;ZPnStP9pGkoJorZd^P;3Rt6LAs8ymj# zPnD1^ocKC$PQKoXg32eCW;brPNjG75Zy3^Y^ZJkWtllJ#Lq}%*bkkg`@34B#*XLiC zGjEhmQ0Z&7JTAiU;9v;zm9izDRXTP(e|r3Mf8CY4Cl<)DRRy_S&Wg^3MX?d=i0W(*%%4`~MW6!tAz=U*g}H_==8@4W&IrekI@ z25--sxRtH@isEhV8W{f`*iGDO#DYiYzSSKgl07WhY@s_bv(#ghV4 z9y}?t{JwnEF;CSt&-Z^;u9b)sJSslzIFH%moi>+epV8g1jy;Lh_6qYck1yYsS$j7y z{H!i}wqlyr)8NdcT4Uea+Wx!MGlD1f{Rug_adNi$$I|7@LX*#5?-CYd^U@Qad-|AL z=1kR%SJEfnTFbV*M9FaS+qa%lM~sr<{#<5~G!W3pD?V16RS}}qJo&(LkxOijk1bgW zy>=fK*pu?-3d7sm5o|egK6t$K>Yuo=f#v(TETKt~b!iODm#@F})^7RfdGK-11(seW zt2Z{y*Jl+?ji^~TxzBQGLtc--p3es*ma!-~EiGWLk7B5Ca}C~SxO>~ZDKC}6eJ}OZ zW*Gg=2;8{+d3GPg^cWC zf^VmEg*o`uuH5-4sch=5+6%0%BA4GE>0+~t31Ip;-y*ImK`)c1GSA4(JK}y+%GKiFdtau?VxBl zv48g0e^X7;95~n|zKS@kdp}KH;~0m;%BOmV-+k`e@^)!Mil0E<@w0tbRf2RDF!@;= zHiP>x-C*RvVi8aIw!Nl3R8jnSW}eyU9Pi3QZB5{PPm;#?^-Z^y99YCD`T({@~+ZZ~HRT z;|Wh;pkkA%Tm-Y-RFfR(g|b#@Q+GEga2amjzf{@s;H@q{+d^-h#Od5u#Q@%|z zXkp3UW2tN^aj$>JoE4JFCKJypA5t+i&|$neYsty59s9iXE~w;LJ_*_waYgKf)#VA+ zM?ddi?U%0Ra-X2ps%-hzDb`D7#SE6JVA+!aD|+m5aO)Ox$N;t*_8tQyB=I}@Z{wcwE_OM>8Wo8X6C9^pz( zXRmCu<-aubMvhI&pHmjH1zH-jjbwLPzMnTm=aTrR@2Q2S9(8oJGxRk#UYh7R>F>E{ znU81PtqtY%9GPW88k4mo`rNlVL>9K#Yg(#Y2>hh}M|8PU;~v)KKQ1b2+^X(3ay;eH z{#5yuam@QaLi3M=g}q((BkkH%#lKI4U0yxm3|Ssm{hy(=TK|to`eEjy@tb?kTzmP< zbj!qdtp&wxPaa%9FaN>s$7P=%^S*^e^q=jOymAHPpsLH4Oefjx*ObkC8Yu6AvDE>2!zdgR_FYajjdS|AeCl z*=35~Wik|gS|9gp;>nkjo38{+_$n2ttbQgZKk?+(#$II{2cdpvon)p`el*M_ktRu>-;p+3W%6pGQ zCmqOZHf0g}ykyO#(-XqqB`^GSxA#W$XR9WPLS(2M`Z ze}?S6#`AxC-P|*2c_(L1Vb|~aZwXtr`8V%MJwNlA@6(1i$EPwcIG+D+FGCgM9gzhw z&ByqcdUI`XoKV($@U_oR?_>+MrEU)UqRnj&ep$dcMezK3n_vd%!{&|`E-y`Wxx;wQ zf+5Idl2Oy0;tOR9IA<(!Z9Vp=YNBtrR?*#l|0qeuq&tnb?@cY+@X)%dbk)TT0zT$K zyQ@m&rbjTJ?<$z z>UDL>)E3o&Xt$$C_PCKJ}I|VSj$~6+qGu za2sRt_cm8Q59ci(yIS3+oC=s{J!^v6_lFyNnWc+jw!Jv1yy!{EGV3jg;pO-Kz4w~Y zyEx;xa#!vV^^?Io4s(hak3V$~Wu1NZ&Wbw+G*mlmUF#zM6bM(W|Hq}d?!a}SH3sn< zZx>I=V{+x5F1Oh7@z%OED*Mwn?Aj4=?8n;MGT+yqn%{a$=AQZA%{AerB_GbK+*6vB zYFBt~!6{Ff{|pm7@0i*9{F8XOKK((j(WP`=m9kU2-7jx{8GRvokAw2l4w*LFEL-iI zD&5W8rLA`7X51>`XWr|zR%^nk1rNS2ne5=H?Zy%MxX*S)h%*1Y#R^<0Xa6(kaxf&D z%(0ItIbiCbvRTC|rl%)e%Q)bp;)6NAf}b;<_nX(g)@kM5Kj-x`3~1hWQj< zNm|+`Z~ndV{;U~u|z8sHAyL6nPWaTE8tmw-k zKaxBS+_C<;Y{D*qlPu>JCo(tQTBDh)?MTjzQ-y6}-wQ#3R&6V3TCN36c zk>P)6DyBJQ>T^$z;)9m)OMU)j%4@A;-}b7{J5f3Hde2k-s)!>K4Tbbi@t?YXY4U|` z;U&^n>@ANg%W6av9P+8Xc+5Iv!VWHuM0HSEM><7UDvSWDmQOQw)?8dtCi^Zia*YOt#n|+aTX?H-@`?# zk3YWDAg$vkGezO~GGA}82Ta8`f&&Dn+~ME9*2<*dX%U;1d=!JH=+yHzD<7UlA@nFox$9-Ra z@vrqPC^lA6lxZAx~vagO`*ilUz#v(1d)zrZW?OS{{; zGU-1<_>&d=&(1R>ZINh`bevRMu_m6WQ?EvH+1;NitlLA=w43KutgWoCFqAxIIMG*^ zp+KuStFQV|+usK_+}I2!2J&0lH*Zf4>NIO$Uu)ao{OLi;$Doy5Rv|+A=Op-NFDt&Z z^wSNO9V(C4+XOH#QM}IFQ(rceEIjX3##RwC??CB_*b_O)^X^=J8*L=6P+<3c zErW%m$j93oSB5|HnZtZ()+M$a#>?wPcDGA!?kVh#Vi5FtxXHq9=8C5r%ZnKsY&BmR zv)yr*cp~>@QksKN72n?#OlJLtJu-YdUV1p(Y+;}86>4n!X}?}wd=)2aTgWp0vjy$MI&i*shnA9m$4b2&)b6bG3doy>lneOC6{p0~mC9V$&2 zPAbQ|=ksHC(lQh%Rh=3e!K77sr-(hM;@ff#hhxu9vfKAEI0+~rLJk&dJ$=^D57=TIX>vl)UxWxFTrfj^gtsm(^8x zWU2xTxu>Q1>pYR$v9z;jSurKrJhS{92 zEEyh~Fvb?xx%-@ad-?P7pV4if&o5P3I-6_tf!E%APx_xRlv;>zBq(-jEoi(nWxj5a ze@xn}*}?C=vJ_rgrec#Y=i}vq*KZw8oadakc*ncU)4dJN$G5tvg-$=sJjwXWl1ed^ zCynQL89XN)SKKe<>5}#Ed`#}^3&G{Pcpn&^c*5oLvvc$Qb%qW?LgDZF{2ga??6y3R z{AvCSzWKe{`A*{Hw*6bZzbG$vyw~8O`ibdNL9OP82^&8*)fV<;E}1+nr}&TM%fLNN z3JU`!&b#wyQi4a6s`Sj_z6HT4YOcJJ2W&O3U6}B6W;f3lWtpH8lHpID@EzW2pyXn> zGU?25na{p$;gcNqx*gj4>sg2MYS|-2_FfU2;?rjpURdkQbS%_Sy7B9y#kZvFBK{V4 zO)6L`$Ehsw;OmO1;mpk*>>Zbkn0uP9t1nfLpYnOCil9s4jCVGscozaPjHWH6>ZEY~={PqR5&V8Oh) zZ+^bE6J-AUlzq8z**D(ZPnBDbGFYcrJIw8r-F#H{NFKut1J2iP{Q@Q941bg_v*}T} z;l|YX<6?Hh(H_H7UqxzX^D!6qt$po(NBMTEy4_u^jI^A*Pro0n&5#!GmIx2O*}vQ| z;LN4Be~+0n-&+%>G5NW|hibm9BGoCX;l0ZzcLfO?{mjYZc}(-;j?BWIj}wC=8kj3o zg!^W$6yw)5=gB?JH0{CEiD4NYhv$5GH2dk#`A3Rxi&{>MEb=(;;Q3bNLnm4%eQyB4%$o@D)0GmGv&d;Mbqn7pMc9acZxHNjR> zsppuHv`zWakRnTV_U70Ar5O*;Stm=rcM#b0_NRl~mKV>s8pK`|Zn?C^DJHSQ@|ES1 z>Vlnq;kKV&JFs4yq8DhyA;b4&Ui|6Z%?(C{zXGK=uFIQ=qZhjeOa3y#w7d>VE9nL&0u(F z&R6+MbDug~6iJ-Z=Vr0YQ=**bh)}!2CoR|1(qm_e&oa0-O7L(>ykfOea*OC`d;c=< z4l_%Qnx_qep{Jr{n45%*K!tr2L)9+*w3Fu?7j{38zi>%qV_${kvXhn)K@4x!zIPA{ z@^N7ZoKth-eSo{+)b2el2@`*YtlZ+VxGZ{~*y7$BlQ!vHe3Kzn#^1FGJ0y=7_#H)HGRE#xC)IEaUq?BcnM}C69~zP`j;n>E4m# zIaixb+*Dyc&r-TzO6aHCNt-R@79>sbsCkp4!ye!+-)r|V42)y;m%8`z$+By$;uoV@m^>5iV=Y9D)p+dCR> zi!717eISpIt@`rB%k@(np73$J4Deki(7e6XrmrYVG9~0pkDqO-`*N*KPvWzRm6xFU)G#oe~_a!Ibsn!dQgO9IGRF35P^YKRd zR-LkaF|)TPdRU4)OMV!(rt`9W(jWC1qE?oMvL zY|^P&+!nB=QrR@+&~Een@_L@fKdpK#HK+9XQU;rM>KOsdJaSdFnoG8;&JdiV$Cvq{ z^)?Ux3g*2w%kHj}GjKOyjJ?=#Te|ql+h*$d{LT-q5eS8&Jhn7g0mw09S$G1i5>Sk|fj>89vn)v}L$ zSGrEC3A5zAv!5C;OMXtj;q9yyKid;MpXJ1!;5_c{6Wpe3aq`b9jh*(EC(ldBFI8D1 zmYuj^n(<7Y3d;x2mKg3iIj#8Xm*uCq7BbGBw;(_|NzSl8D|tglnclm)d0VBe#qSkQ zusEJoQe@KQ)8(G{nNLf-zsI_X^PPso%Xgg}TE}-hDOv8ScO|gx$zzrh6KRiYMxh)h zPBOK#JkI7xw-jOczEiHit!K_-2^p?pH}2I5kAH^5G)}y}?bRgrg!wuZECs9#)@MDQ zJb!k_?xiU2-Sg8MLLPklba|Tjr|;&;eOu##ckU9hd~kvJk=AkczS^wFC7+egaY&wH zzqHu3Ct>pCoo~G*j5ljPoFK=r;$jYytIQ0YRmQuUYVD@HocqLHOX%@d?ejdW!3)nZ zGB359JGZ#+@9#^D8@*T(Rn^rcl;>r(KGrGkN%%bPuf}J|uBnd4b8npG74GCVJejxi zt%LBfWPAO%3Wi5BUd%5^s1rH%*`>Q-G5h3KnrXQwKh2SQ)}S4G;Au1Kxr=kk&pP>> z|Fk+`-p|zrXWW0?GbpH7GF2eu?W?`4b`7plGCz$iErT!os-(yOXwM30^2&yiVn;ZxXTT|G5J+gW56Z&>a3g6q->$6a=AmdC4qC z%Tx2k4|nxd{K@>5uq|R8C$r@OmQrqs1dDgYzMnQc%4GUvczM>Ai#d%;CT9dxoLqIO zqw}U%`KssFyBMa0#O}yAul=dX-m7=6D3bxRLV>UM*47PW1(M+tszQQXWe!&>B+sAP zzkaRSI+ntR1xu~w8E8hZB+NWk#UG^}87j@Ywcp)#SBc2vV^XS_>>5XS9-GW-@aS2w zIKTM%uaGsTloK8#d^w-BHs{P8h8uV4zUTkjY889_)8@eJcg%9S2NFAu88&;fSf_k8 z*K^=1(sU_wm&`ma@!b0CXpSYryqPb31WqbdN-`uf{Qh;NNHcKbmEMMg=awc7BAqJA z%kCui6$e+ImJ1D^lh9K<&nj5=YRZIDjCUAVuFTJHdHmGk_X3_-3FdVtwmqI?*zeV3 ztSpu|p}h9m`!6f&F0E_k3Yp+};+U4g8^=#4PS|QNKJ%Z?x^W9n&$neJekyl74%%zJ z^gpR!T~MnzT~lVA$|pyKzqc47@?3Zd)`axzV^{gM($mPpJemFW*YB%dHKyKeQ{icx zH`VCa>*gI3ss%4KNb7Fey;9-9V|E*^l&&Ll&$(5ve75YTQqrX7vW721*U6ZkpR{%= zy9E0zhIqro9=4vhF%069e_T59S;FhY?b($U%#vS3e7C$!J0S6LRcRu*G$Z~qN*~2zVyTc;u9&1c|th{0Y*Y{%&rznYO>~&fnl_hC2 zM`_O6haJawy>9!T2xq<`lhheFF;F@7roG|aTMbGEd9BW@ygTHN%{VooXU>zk3tC@? z*-Qx6GQ9ERvqxPTSGew<6$*{B{ND*4d>wdLs6o=*@&4qnXYLa@0;ky;epz**_4fBU z0+uZQ8LU`5E*=okDSV^Sd#3u)#KqetumzaUt1A7Ir9Jo6ZK=x`x86u4R zRoYM6Tl90qzk7W9-qN{?bJr^|97zfF@CmN_y63-ZTY^9z9Y2)059XcMQ`N>C>N|SNSr) zWOmJQpT?8Y?F^S^rB9023>9IV`~3Q)&Uri>n|e5YHokQDYXAS*t9OeH_RmZCbamsF z^;wNJGaeZqwM+=s-T8}udDhO#^5T-$oC+y@{Ib?pITUV|y$gS@aq4$p`+tVDQO-$A zbhnl}Yw7hd&JJp7*i z#(G`pQ?vP)`=`vCdYQK;tt@Iu!AX_yfd34qMWsW`8NRPJGf=<%up%LN%hLldC*OI# zH!hw#E9|0sVLhWuV#|qRg~xb(W<}rh+w{|A`hf$s>}#Wps-+E--X8Nf@rvPf*BqD6 z9(}9KnksDBGAC&5QTUy{){J}UZ^z#B#0wLwLe*DJj`jU3(;?5oJa56bZ=zK$+nX}= zE-*Nr&Xr%LwRDStCzI`F-k*w7=Isf(8E><@rSNgK;Ag%^GgTMb%+JW5&MZ^2x7gd# zMV8;^NoZu=(hkYg`rRjNo=xfQWSFq8SYFGvwszl?Bc4i~7ns#;t*%PuTvKd2apK%L z!;`OrT)$1J@!Z;JX(|7FYvdH6#)_K9ea$}uv~R5CJ-9Vcq|nS?BJkE0-37NEm9a)n zZ=A>KV0Pr>{6~_(*Vfc7jTPWM(6CpmsU_o+w|?@Cu09JPi%ykERg;5atnM634mcnu z(Z~PLY1NuU{=AlNix&v6Da_Fi?3w@ktzTp01Wsu!KE`wIA}^IaCQMpT{Jr{brjp0w z6FFLQo&+$Kq|DGd;%0c#<|@CCPtG3G6|wGfPp2I2NqF8o>$1S=4JVY@pGv-tIeu)? z>kprPL>l@WxtAx=Q`lhf@+|X>pPRqcUcOtWI9)6; z&J4S{B>v4yhEhrHPv2#aGMC#i{BU0$|D*l!g;}z$ce19x)ZKQwc9BrayEwaV2JEKa zzjYeU%eUE)v*ONCkDnVDE!MZ}Pmc`}|GQ*Mwso#mddc;rf;Rds8RtA-eqFzJO;Y_9 z%f741IrFEOIjpSaI(lCzB;U;Z6wjvud#!0|x`NX@%C;5uEf%jY}ALD6w80!I$>@qY|aOBObAS9?6~tAozAo)hPu z&X_lcaoZmEZy$eDule!$oBv1Gse5uRM@DV=7PNZh&+CgOR54%f`gV0krn2-wmd1(i zBY%BuUEj4O*ZWXZSEp{i$;;$vYJL(^ER^pAM1{FOW&b0*{P=b|_P-lyv~wTLRB4^> zy<;QKVa0cMco^K7pR$C%j&J_D+uPUfdGyt%9*?)S-g{K6eroNB*B7oo4k;`CWBB8t zh*{M>Q+>{gsTXx0$;Hpy`dj$=)3bHG|E~XM*plAinfqRFm`!8p ze`KjpZo=~;_}kOJEB>T@Y=10!uYJ)Sqs)R=uk)8@esqa=WxOurJx?Xem+#Ln?XCV6 z`k$dGH7j1sq&mO5UieRT`O@1bL~dui-g+dZROa8D@TR)M^V#(FXWYM~b~yN>>1*#L z5%;{yi!KTEYOhqWms#!@zy25BJ$G||1%ua*<<`*F5mm8AK{NqccgA; zua3BL$5{DmPFwQC;|wM1cQ*f>=6j%l&q|JeYsK-mM<35+J`~ULUjM6X$nn}0`cpHr zCNro6UJ<<0=l|4o(jETO-upY(7MdP!-)cQ6ee+FkN8Xf zuzP&G%#M5i)h!PzxlFIFUHx;@sujwo5B{7yd6LDmeKpMob{$*%D00hv-h(3FjbH6o zS|2L3;gH5FPnMqRZ{6QK{qXGg!}3G&d=>6~Z2X%t1COij45-=DP&V(UtfmM5`CQkU z!sRi0*VHk8RGTisyD@3Ywu*fhyqY+*&&ym_UYB9@_Rit3kLoRd`~~e*lp@k5Yu!I` zm*W;8>5WK8xKebT)gF8Qa zWWV^2-%;BxKcBcp>>g+CQ|rY^&W4uf?;Tt)d#0V(e}<;`f0yn%spED*Ep{I;r<^g-@Eg;>km0UeqC)LyT7_JW7Vg{$!)O@n(P*verJiwzm?$X zAXrdewwQr`smHF8oP()(i+kp2O&0td-}s;5!PNVkOM6#k#p&<6W*W(Cp!%e4*yyo3&D18~XQ*@79l$H}$Fdv%sD|SxgRX=YY)9MoIM@E0@S;xc0m| zzVUTn$1Kf8$0?3IMRxN~^(Ef-7E^4}Ty$UI)VG80eKM}_9x({K&NS_AddR)-1e=Ea zYsDEmb5}4(928X&spOY?;PK_r%#C$Fp7-%p1qaL&e>X?-RYvTkZFd*s+7vr*nmN_1 zGVV&5hU3WE*=h4a1n zar~5FU;SEl-6LT~DjPN?A7Gvwe7sO*;_4Y@lWv?}%Ch#Wq}h4RUHw!3-n;TL-}&$c z?;Qzzu0}<&N4&X(w>O{DoOpZMMDNWE{AV=S9A!6#3H@}i0F`k)Z{sJwyjo@ z3Q0F!?6un(a%az_E!^BS?UTYK9yR8~{B}tSd?v?vTw?jDvs=974mR0^{ZkB0YM2ng z$8pXuOz7s51}y_O?$*b9nRl$zI96p`c0MrBBEuoKUGDf&BaeIP95;Vf{mo3}*KwI~ zj^nYVeEU}B@K<)6&Lc3bz(H9J_Rf%Ts2R(3_qALM9&DwphJ^-=}2BF72X)izizi54_$bxG-iz z>d)xjn=HliqlE0OD$W?b&wae`WsobwtDEc=$F!bJ+V-t{<7thUl*zZ%<pBX)7r!J_nd<+2BR6cRZ6 z4>efVUVQNH`;K$`Rpt}g)BJy1o;AGSVY6B68cRasS-Xq3SqzR{KIY4EI&tIUqK&#I zo_f4|8@%kf^V9zfCFO5jE;Iz5FFd(i=}q_3Ctsd5=D0tT=(J=>p6nYoVQTUAIX%q& zJ<7`-x4rStxg=2jXZ69y%v%|byFOE~&kT^<++ZH!cj?55fLw)|!}l-Exx9Y%Qw6QU z>$WQ|MCT_R_;$|tQX^OQv$>btJej94i}wjF!mnHkLiU=-2N{(~qB9&b}?{+O0`fJC<~KO1ktU+syyZ z5bBcrsqMz%1MjE340a1K_K1I9rrvW|F5%MCDLiFNlO2pWLN@EHzVh+CpQ5wy=4Wzq zUwO219lpL-<>HCAzqhLNJ3HSFkcc=I%3*2y@xYQ#GbTkZeA^Yn5`WLb!IslxQR6flR_>dF70|muJmCRoc6;$?-u~6Dz}mCqk9#dl^(x#O{T!Gbp~? z?=@AvKle-`0f2$OC!tp90D7+7T;QZ z?9?X#8TouKb7Q|%H;+5q+rpS;`Deu^zUr>txgA0p>b9;n$6l;T4!YBO{qxn!!bNusB1=1J+>DGN^|Pm^n#v!j*c;49<4jIv2iqJHAGybPvKJ}aNz zp;A51FmU~OjWl-V9zM;B4sV`5VbFYMHGi$wwjY0=q(8lVr+fjYnMJ@8p5%=y_Vk-J zIyd<%@bOxh2u`rFR0*EiIKzX3)y;rEilNsr_;Ue!aF^TEz&%$VPy8{fWTsK^>&cD2 z1}bZ$uS+~$%i#H>^O643=Ee*2wsbNc+R!Y)EdS<*_FO!1jDN%OEfZBzw3+4FdEpO(d( zuM-|W`|0sUtMt>=f(P?%h@2FaHEVf!eHNF6{Vl7D@BZ;-^ZYKGu|f8@tX25gcphct z$V;j_wgxS{B4eIY9e(LQ!xooYru~O}z2XI5eYoY2P%JRtVw&%Mt>59Nus3a!0`Hd z*V<(^^Sq*33}-xM@;Luto8=$vGxfRlBKIrGAFwUtZCkB6_1waeZHZHQw)o6UVh?g( z%TO98|KsNaevuzL_vk+Cbv{2$cC`UJi{WwksJF@S#ymeIY~9z^<^5+kX!!1r>!bX> zs3+H@n$PTFossg>qtC~jegE0xRezPY@5V3lA>E6sg*?A}S-`%t z|Ebo`I7^e>r>mbZ&fVXq*^tnBKKQ`*wQ)L=%$MU{ z4M*E~H^^E23R-iCohwmcJM6w({q&^vQ*_4(2|kbK_m;Fu zs%UR%vhV(Vh2eF}#L3ArOqRcb7REfSN=SLW)vKuR`Z~=exs1x8pzQ#g&mLa+qT5Q*5lf5&cp_emqE*zdXG=AYV5fZ zbgoFy>bvr#2E|G0`H6iypRJ8#E9GjrkU*LJWs}1yzuOoTqbKg3_#;5+%Vxtv zJ#UYBo^@7vvGVisXI4S((@J^OjORSxt1|7*(-T^S{cD-Uu5LH{%r5z$Yhu|>o>vEw zmsJHPJ0E234|JZp#6nh!;p6?=yM4{=H!s`z>`bTljoXaJBIYfYZQonN{GWm4@~+(* z|E@~9^nRvKv*#R-+ZDwv>g+a;O@DF!&U4pW_}ltbm~?Qq&+;?3=kR=5Qhoi<{11LB zl>BcS9M%Y!pS;`Sv4z%)!Un?&AI~bT?Y|N&X|tQ7>%po;Z#mB=1{-fZtS|X|UKQ8! zWvBK9IZE7Eu|R{_;=t-tj*c50WH(u=%_FJd)8g1r=sG3 zO8QevQEj$~WvvIF4?Kt*@JrM&bck<10Zw70*RE7*()eTO!zcOU|(8+go34w!?wa zT7}=;6{IQ?m6K0Dmr%ddw9!mjcdF$9yDLw66wmn;`Xs6Jah$Meun>7Yd+WZhHB(Lc&ybbV6fW;o{4_ex^T5AaO=aVrnTCzu3mx94SmaqA zPF9{1yl0{QyW@{EN;8AM=eE76)v~|8GBkiedGfucbL`*dT(IA^kLT5{jDV16;pT(t z*X{0K+o$)pZ7ci5ecJ7_7~0Qs1s>O7RQ`DU>-xQRicw~3AIe7iOuDh@?D8F9GLN~h z?YH>PkY17gVf$NVu6wbS)4r7p9aq+t-IRLl;@1WImv?p^R=ZxexjAX zq}C@FOJ{z2%OcUcz*(yCyPH+Y)wZ6-DT;oMPYT~V%vfG@bXww`{|p>&16QXs{SnB# zea_+_`<0MvnT0)*lK;-Bs=nZ;G5PeN$9>05xR+^#?%Pr+mw4ywr^X9?U&SZuq^$Oc zH(ekUX*^AJvTWto)x49OCZA9)^9^r$n5-CC$vkW3%-B7L?ng0{PYWLPh@rkB~}^Lss6FEwv-a6GG- zv}Dsan-H^i%=YC4zt1^qJSY>@_E;_1rMO*r`}(zp^UDktU+#};lb9!Td$zqwi_&$kH2%2KTD1J>%cf%!a+u}j^jR+3&SbB9Ow!@NgE^NMaU9sj@qDFh zX6OXFOU0L;{@e1bd%5!ZDv4Wfq(dgpGq8NNxFpS9eS1yFs_rdKe;N!5uPuIB6!P)w zstwl@4|6qa`rIQ|bvaJK!s5v#gQ;`tibOtKd1*dLq-5b6UIjNH#@)*7E0)jEdg>o{ zH_I%x!+6efhGvh(?mtIFWs9$y%(`H*;qKWz>x_>tWner0eSi17w)xUZc2_O!y{5R# z`8D|*t7o+6e_FBP@#lgUucw|rReU9B z3XlD}!$Qw{%D%5`ank##{$&A6=cY3LQ&T4G{JB#mT}G-qN#$N0F%#^a*TV!}j z*t-PUmHQvZ)MiGds^{0u)shgNwB!BtOUo)kFP{!S`1Q+LGu8NoJPn)INiQxDRa(F$ zJ)zj&V~PONlX=Tco&@ja?YUx_v^F(K;#$7JX5pR>439+(Cp3Q6SE&lx^!V8^YXN?d zqZN0yDdns4yV50>GkzDF<+mk;2hXeY8G86< z^HzSZ*RIYdg9yT=PbAkyXt38 z;q|((BQ;cpZ|CbE-CaK&E1jyik|acO4=Jk5*}j!ceKL!Ejm+gg3l>kh`Fzf$KfjGc z{)Ke;bS~uZb64MBxg_`C!MCrpl261OpMPlTz6a+x?7oPoeXXA^Yavs*OvsPXzNBP1 zD|659uAIqy9Suzu77KXpi^QK^@*_C%%EF0`?LIU2UTIa^Z?Zo@JJTleci^jCQ~wm6 zSHAD9eMjP7QpA^U=a+9-e_?;$tTj^Z2iJ?loz&>O>@{)f$Mb&k`@MdY|KpszXwQ7% zcQy`7Q=)g@eZ%IilK$!2x0Sn@zv%n*KHBW9S-h3ur$ou)r4bdkd{}=L-kX`JnES?G z$Itk@?CPQp8ohyL8{gh*+>j^p=WtiV%_R-Hn2HauO=i8Gy-r5XL!_a9 zS`44zWs?&j#;m#xR*z@ZbS-WBlP(ZVQG=t*rg|{!Q(KCK)zt58W@2!IQ zXV_2oTi84aj*L_>eDPagli6U^N{bJ$3HD8Ie&V)gzT%Z9L7si zub3q3Fxs|fF-|!+GeYASdr+oakVupNhUIr%4w)$=JYMlSR4@Go!()rrT};3D?}={P z&wOnTmpSi=^I1z}-u-8&DZaJNWsQT~pG!BHWiHOW$yfL?I7;iNL}gRsmA_dwc23Le zrfPX_GJcjU@%%!_8^yRMCOs$i^80B#Dx4$ua@S&keiQHWJ|Rmv56HGFlrIj@KGwZ+ zad3Z3(7Ss}l?!4@znOgFzERwFsHIo@`@|J@sxDPAJat-OCDT_JC~)?$a8IAR>?^0p z33`tVPduB~afEpTL+uMDwUar5^QtaQERd04P?lM_+$Q1Ak$-VpE?Ra^z7oK+Yn@w# z_FJ#rj;j7KJY88Q(x1){eC4{sdRr%rs<-|E2@-Lf@X^K~^OqJAVV-^awRy>(9!YZ^eBaesbE4>{gfdI|tY}8%By+AC$E>&%70=&)V|>=k zc70pkj`zNtPrX9))psljooGK@nj!K=`}3kc&Cr?+j<)RT*QTmQ9O!9a>f!2o*r~vH zr#c|)&_;Hdp7Lcs8$3c*K5B36>PeYX@-}dFj{KekzRIK8F>G;)X2nYW8}|5c&-wD@ z`=kA~btbo$x9_t%GJRi0#MXl*YuZ2UI=Ft1nSKe?9==2Tu-)12}4^4k1Xi=UqCHay{yAIt-! z+7HF^O)0Y3Yok2LaPsy3W!c*z{=G@w@J=(YAJHPcppL81*2^X!)Juz=byo z+CMDcKUt+$Ah7XXYny>|wtnD`3$87E4D2k0=l8nn9JBwLynK1q)RWAo?;g_>Q&mXG zvv}dk5bhSaBwWw^N3GT=v3uf$mNMy=7729R?!Qv9d`TnUBag@I^E4RWnU$WuF5-4C zIW@ka;(VQE(V5l_1?+1LgN2zViSRXFYkIsL2dgkl484_JbIZyqQSd!K~S!$)q=RSL`DITrc#2F?Yb#b>gJj-C@^L+p1Yjc!X z3vQ^$?XC(kdd|Hgp^B^OPxmWc2GcN8`RbLA)%q1<_$=AGvUlE*DLL;G@Nx5|-9lbp zo;3)0=m~a28qUuv475J|jA;!AJB!qYbH5L~K4!7(sf3L1gi47=4T@p4$1RS3T5k7@ zIn(Yz@FDGWq7~Yknmb~5H~qcX{N7tA&&h*9 z@Us*frxfewsh_7Yb^M&N?Gl6i5vxlFlnQpcpZ;SL^wV2=Lx_beU!@7dOQ*@3>F-!X}%Nhcq)ZC|idUMojkUDjcx^41c` z6VErwTyAh!V)**_-DRwX!u(S=PrNU4Y3)AGgr^Z^7Aph#W}dTn9h|Gc9$@wB(%u6N zdBMl*=6w}ezu~#cqpCvlfIT_k3NpE44~yV(^}f#8Y2ihTfR`soCp*fZG|#6a~GC^Gn?> zzWx2mT=Pv<>}H`Qb_}l=UORZ~_{YU4Spq@~sq9W5+mcU}CJ;<(Sw z2-J(#eL6wKx%tAy3!G(&4vQ61iWV<5-2V8fEPGI9?oBg+cJ?1_l_Je00UT#4xZE9m zGgt!8pAeFp%dpa!HK_Q?^RAxTCn7vne)?|tBqZL*-12};vD@iDVciq=Tv{0Y-8v_{ zd2Y)ani2Zsxk6*lui%4R3&a>5-Uf;9R{v~p(2rlH*lV)v;xmtLuGF0`vy5NXV@bt9 z8y@D%U2I0x88clj=sjY0eC^k&mmIi%VIIeqmEr~h3)vThEt}~yX+cwXk9@orgZD~r zZp7|!`>axD>XSDvJ)8gI_B;Q3b5%b7QR*ll5WFe5pZ5 zT&s2Vqzaj`C80XMduFhdD0c!pS$I<-JO^7&LnP}#gL=2x#q4_*9?&x0j2DpR?Ohtzw^ZRqjm=D zIaMDW7*2F^6*d(Z1|-gY?%XryLHWwroF^5kL-LGvPx#AVo55I+tQhg+@w%$u6t@^r zX4}v1GgKT-9hhpfzDm~S5{Jc4rU~}v_cACSOVj>+h`~}>HZvu5V&wwn#*@sm3OiOW zayxoqz3yd^lZz*&a7(fXeikxz;M_3f{`_T`YnCfYaxkQqFZJlS$>?T1|5KKyU|{z) zj?gF1MHrdwnBKBm9$XnHur7qJQeBi$$eKkV_m#)LkiXBAw--JZVYt?<_r^m~)^Rzz zklKN}mewm>T-%-{Pd=}_*2q*_?wtGfg$o!~=l$Np{QBBb?`E}74n{Xdxh*nNZ@)ip z5_Mc+g0`CR9l0qC>mKen=VtxuilIq!+d0P*$Gzrx2kkdz2%D)w(Lh%wGn-ls9?fzlJbN`_gP z%%7AaWj@_CJZrjW!r8s2OJ3euQe*XIqMO7g%?mck-~EilzpUKa)^T{<1(6b&kDfA< zjxBL+JQpq#GRdhW)y?n%V^?oD_s;1yh1a_>dE$*?AC?K9SCGrxB-`h5K$EwDxpXN@ zg295EJA}9lYc2lf2Y&s-NYt>cA%!u^0C%&thObaqOmt^}cr(ul1gmk12U>qW1T8 z=RvkfA(0W&avD$EvA)2hv$0{pM(ciNS=*JLPl(+wXxPXu@8#Ybz$_v8Ds=ayPRHXu z^9-y4m{TXYcWAx+&bBzUEOE=99hT46nx=hPdgII)iCv+tFf34yC znxzqPGw;sZvRWo^!l@myW{)P!dvamXsvLH8S?eoCPR^^<4D7zIT)sQkdNRWt28ZWz zQz|!}6pQ@e%sA2Q>BKu4lbDtLK zr(|_uP8#?7bFSVAY-cCSo4MV4{_`?}poU^w@pn&~E9*QG7|!{doNndcGUb@1sDiut zjOXtj%Qbb}+~92R-DFMd1-BiEe_}541iBpym-t!5c&$M>BX1&?O4q^td#dU}Z6@_= zxN3wQv;MZUx8}x?&N<1J$K$i&b-m_JeBS52mO*{)qLb)&1x1*3vxJKWyM%zs&h1yf%)Cso6AmfXo$;)y~(o9UVm5U)d9f+?=-gy zn@n7zT*!M}CTW#I*eubl@pq3HJ#Xw=a%G;+#>5$NH)F0Wa^PBUuBxc&^7H#jbIkZx z%D&1?Q2KX%d(ndBs{5IPtd9y6UMX8qY_;iO!?%?woi%&UDjc)?D)NX$*kUeIWvhq6 z+_|nk?d50Iw#qG9EcTzl?2pV>mO_`nJ+l|j^S$#m&d_y+*fojU(zlnZO^uTbX~|hv zp^`RxOQk{)|ECr6YP-sXEYH>2P4#w=w=pPcUS{ARyTXODE%@@@u=KkINfpN*WtGnK zW{KgMr`a$`;nq(Jqf&(srCS_}o*FIq&oDX2rsdqLQwIFJvsj8{%>FY>ZNDq~g2~2s zgNB1o(cz_5Pb0Z3oNl+3S8+|0T=;YfLv&AoUdsly-c9yi4Be6^``gYl%t>nGnVjmZ z^h@~CqV^;)E%W^6mMfq3_IN)L4O%{-ekz0e(=9rJPmU)QUVj;+dM4{%V9m6DQeBVS zCzjRhls$3QxW-}Ka|`t*whX44%83Fe>e^?ORL>A)>9ag|G+bPg<(MbqhPu74&g4#R zV{g6@z_7?ze#$$Kb9KqHdUL?WPu?M9_L#eGf0RmZ^UP$1&lC1vY7m`w_wvcKV{bkjU-4ztXXVzv*IANz*y>L# zUlW(WcUay$`B!LbpPLWkrwc5FdnO&+7ILea=c<{o+k@sgMMd^r`?Vyl?(Qh19g1moVFR>Te3M`_ftfJzw(s}%xaNR zHN1_*H;Vo5I2SA_Fn;f|_tqxPwz zZWrK@#ItbYXFId5*=IU-xF1ZDRGXH0#7pr0@?wW$w|`DdD5{X&`?AI3{N95xU&4;L zdR$^^Q21rOe6PF8!X*hyXQwNhaJ>lKqHp+F;(;8)gF2Iwk6rGoME z-c<4Qr$~Ci-O2u+uEuO&UdAamr6GIfwB(kc#S6bGE$b_prCMah`upH)i4}oQ=W=Tb^a@0Bf2{aKRCw(9<^vpStt=WZsq1ylrfZJ4eprkr^0 zj?#)HN(mkl)){|#y#BF+=p#>Mtxtvw`e$EczJ7XYUs8jS)jv@a*OXHy_9RcJ5)3@G zQR9{}3*&cp$L6C<7keg|dQ2BgYj`A`5rCQ{3^w{?HGfN6_ipIAqP*i2|BR`xT~?eG7O=d1 zfcaK~#07!1O6w(mZn(K3+0gfsH;09+Ew6>i%9JHX9`tCZeEz!JHSehNl9beqlh0)^ zDtm612u$YQ&fR?eb?ExUh-IFNy%B2~c6?pSufZek;PKAiYpqS?ggK&N%yLUEu%w0b zhK8A`?s`xda6-=c)5m#pN>+=#7Tu-Ac<@2tiSJ7kx8*f3a6G>gz`SN^Vk-l)1pA-Q z{+SmNCFYn*vYWCPE%AK1LvYSR5p(sIK^p!BZZS-UEwUJrS3TGAGj80GwCZeL(DU=3 zIUi4DU+Z7av!qd3Mp4#+`BkQJ`{I*&Pi!roi!lDb{_4H(={-RcKc7&)EW5%kf9kj9 z^CuXCtg9|R)mwg2+B0}2|IW7_8}^*aQ<<}B`Jc^7>vUEcZC#n&$+YT09?N@)1MA{L z`?%vf#Lg#5TYI>@IG%bpHtKlc^M2j$3I}f#9xdJ;m3#DgukIP+T_)|VJqbemFJl94 zJfHZ5z00K9dwrYOTAlw4`?#kal#J>6w0Vuc_+;MGnxTqe4n-c{*PV)udZo|zw=MH& zT4=z+U4QRi+95qVNpEq-0*(bd8(-9FoteG!R;1^Q;K`>7{AKD}9aZ%53UgakdL|Wn zF4xf5;89feXXnaEH^m-vHO!M{mSq1G>e4A)Rk~z;I+sind)?luu%?wRw*>NSjRPZg z9TqZn;}$(M?Pbtr;jMmd@9Y9YJf6Gk2$C-956D~^W#L!$PMved1E~bhkO`BRJm241 zYrBzSQz=VA!~IK*wjGLc#kolq@@8)Jj9wpB^?vej+IXt(zW=$7gu?=BCvR7+Wls)l z{LGqZ^dNEDe}?ufrXwG0+>Di(B;Y`=~wPs|4*sf2etTFJaIx91L6E)iOKFqz?>orCOO&HEV#Z=C)tc&Bu^?CzdMvq_c<*gW%P z_U}vmIi-j1K~>Q9DeVmg9?Bw@4a$NAY$i@UX6Q5XotSx`gvR5ZdCT`QczB)L+0(|n zQ1sBB^lJ+?e-K-^^vt=<-ognBWhU(Xd~0{4{F@gX1?BpFkCzt2%Y50k_XFR;)vf~k ztefTcSob8)d)BzL`1$#puDXd=-WDwOcCux_&WUa`~r!vadHs#(8t|8f7T< ziq!q>5-^_le*U3luJa}9j{kBozc2j9boEPfA$Ohax<#KV=e&86vaa6i_kRZWEzuH! zMY8=WpNfB8KPtcB+>FUTZaZI2*y{e<$isY7@q|kGbNlXYo@|%BgZ0YuN(qTCB5Sn8 zW=y-|C|kj06|QFNC#TH$vs2}AOY4NGKE-|hY#qz^3|60-VEJ$Af)3YRJI+txm(abpp{Dln zd!`!mOKtlf*NfbIIYIG6c6Y<>zar@?)tQ;smTbPglj#{x!t*o7U&fVxeEhBYgZ^9D z2RmzIAFq(RIdRYJ>>biM6L&RlXJ39#;rFAaFH!PS;vJYP>(pYknx}9T-_MpYPa8u2##rS6KP({5hg= z{PC=B>uwl7qa|;*V-uPQ>dEQTJ!%6Xd(%WmUpPyB?|KV%n(&df` z(I+Nnmc?ibpJV*GApP3>5AOCHhiu#*-S3#SWn%Q<0=whOj(y@O;rW!j&5!+Id`bMD z#2@h=UVBe^d@Rm(me7?3@R`{FG-^F|4mwEEH>|tMZg6TiQg19)p7hKJkvwPOtZDIV{e$4)d z=K90-T$1WPN}03sd0IAkD>NDTg@%^%&vegaA7k7k4sIzhPj0Z{d$#ZVhL)LjH`_55$T?x+rTozThxW4_yXre_WS1Xkefr7fhFO#H#D<);YHJa=RH%>OwpJGqBDM)IXxn@#4bKt-gEKv`R}~&bO3pEx-T4 z?Iqvb59(pjzCt&mPp&_~{kScT@xU8L5su${8ut#}b(tfu=W^l%PrJj4ERC)I-d|ed zy~(39amP2dRjjHXFO)vqxqy43Md;5qkCz_PWr`{-PA+Y``DdfzId<7fQzex|o|I(e z%U>37=sr8LX7R`G%e~DE46kqFJg_YKfYOAHHb={q>;6@j^lAKOs94<2d;PU<24mi* zp8kj02fnWqJ{uHcaPaq`87YYx+dK-Kdggq2GE7LUUghw)xpBzQFp`L*Sj;4n+&Xry;dEV^WaL7 zB~zZ@c3Vb?#b*l{CZ9^~5s+SgsX;||nskH2^TxnEuVixB?eG1YDmeAb(lagnK0E=> z%mN&r+c5ZLFeS}C^}fI8*MEkRuF1(C8Vfl7tlV(y(xD474aZkJ=$gCsjF0MRv71f% z4mC-fcrwYb{mEmQs*u2wM#fLw*vw=uFG-uwIAQJlJ^XQ+uQO#YG6iw1Kl?^QFm`Rq z^yhwdP0Kv)IK(TfZ!|U9!P3g=XHao0%j~}VyN|mI9$a9yxy~^4$>Rq8VDE2jpS~5X zxoi2-$yw9)WbXl*FnnFn*8^3|?PoZ-9khUSUKA|lSJH#(=Y-wduT>jlphw%YEJV)%3W$Ae!> z&%b3}Q?cvOeL?S4i?+CKIyZw^;mf(~_xD@BeRBTr+tKy$nGK#2jOYEn{=63+aJ^0^ zOWbP9gQeFyE?GPLRL~3m&#*pzsU82;ZqE--`=$&2OxolsnRs1x$DdY)xXznPGa>|g za_WvP`PtHDsy?YQ?#hG)K8N#reI`6EX|{L15YX~XTH8yIBgmtFD*IlQ)?Y=2{ZmSR zh1}O}GAOc6?rK;VDPi1H_&r12Ay6g9LALVQ{Jr0p_A)$YUh1=Q%4ZQi_NpYEhNg)t zLw_IWVhJrdr!qmNzNBxej@AW(&wLLKH~zZ(G(|Xw-{x2O`&4pSw{=4{s)yhysMN9L^7p4ZaIW0Yj7Rfh)oSNS&zCOqj z)NpBmy2aO{4r(Q7+>`H1EZdU2Q)SzI^I48}`zn^L(G#yWzxRSaG05%U0HaI@x)PWwO zS*u?to;fG!^_-#V>mv7=i8|$Z`446Hu9#%6v+n5=x!P4}$2sTmzYeT!^~nh zs3v}TXOvKS@U2f;oN?pJ^HH921AFqDwR@KfseaCp}R)}(U3{|pwqyXRH$l&u!bi`Z6Lw72lW<#{3sKWl^>Y>ydf z?)Y@j_s%@O=%oyv`I4WecsDp4b3Es(ev2p1S@C7h#G@u2qQ#T@ESM&ye)bINVX$DA zndl&NtZe(;Cq4YrmF7#Iy70*3K$_%}CtNvxfn^3N={;8pPp#Sgy=M9HCr8RbWb6;r6+tnZR+@t@0e*g;vpV5MhOFmL6)-&Balqc|&)2_` z{+az~yZ!jsB}j>^#!zb9*dpTY0L{PX(j9#?zG=(s*O8N} zBb5wzJYyISelh*@{g3GLsOw6XzSwiUFc+MALg)4d6^RDY6_#>WzD$jO&ph$C7iUJt zv5R(}=e#{E^KGS4x<(me&%=V^pO^10jyR#YLvG(zX`8GtlK@T`##=3lze7Km3%_^h zkTWm*vqI%`fBr63E8f*o?|heEntNb%q5RA#31-c&{kMm5ZQPZ9lh0={WTxJKnkRXC-d15Ij^h%xwVCPV{9CJ%KP~C$R8o+uT)=*) z=HS2cg*UF8I$kcz_;pE>kzhdC1D=rE0lYK5+mtV0v3z*t^X0qzO5=h&0oc$?IUO~-~9BX1w~qmt+zC+maoe?=vw-n`PuWWE<9e%rzKQA zF+6Jsf91WOLD6R3zN^BDcT}|sn;Wzav=>c!V`M2)`fd54^+pq(%$pHlu^@WN<)V#o zN1g;9IuRLhg5!AJzo|MC-YPOYD6?I8NR{E_0WM3sDNMe+y(gK}WcYVg2OcYk-p{^$ zugN3jXELl7%(BM*3Zl0gY#A4ny|d0ty(xD0?{=9W851o@gPV`pEtiQ1xoy&tvv_&( z+wxXDo5Kg?4`t~YpSI7@&}~1U8x<(`Ojz^goP_fA&Gre7f2aSBIdM7qm}pq;y5;uT zGJLkJbq)V6OV#dufADPW`V`*{H-642Ie&M3V|`Nf>W#mnwk`OTyJJ&L|CWh6XDcK! zJ-=>g(!B6j`r_zA6E_`~yTr#dc~Zsdq*oqE+)wh^C+$2aca?R{LPc(|h*n9-=P%Ft zbv`#J<5_NduGqmeDLO&T;b7UMeRH+kD;^$Eb3Cu`?$P4eT&t2;48A{Vl-hBmwd(o2 zD;M~l?l{lrXS+%#SNiP7T+WV7_rVXPN(AsVCd3 z7`8bZ3yAmK`Le*H?%^xzOAFHbSJ+gQFLRgd^L;zHKZ-#p==6@oJoDPOx|V;QDpwd| zE_3Dm*1qCPi)O6m6JfBvvO!?YZujZJ_BIm=j~b_Rd9XC_%ltF>qIdq&I~JbFeOr}} z@!t<9stTB1plrRJAzDIt#Y&qmleq#C%GnmrEZep6UFEa6GFppe*%M!fXuncBep02u zyk>{&idiWRD#_dD)t+2#Q+ZIQ@Orb?1-9dbx0RQA-KiEl^6p8yW8;NqOI*^PPT-NB z{?eO^C4WZR+|3mVkL8Zd;4*4{YGHDuWpnL2&L^{iJlL~KmUMYq=o#@Rz7AgZK;=gJ zcbA?bOOvPCz5C)V4z5UTO*@%XJKa=iVd;Sr$BaGL8)Ou6&AZ# zH^B=DUsg-^-+e6a)xmqD`2hQ}Oh(T3@)K3bD@=8Cj=W7fX2s~xd3XYc!u;Jm!86

    3)=_N|r*rHb1pACxdzC2Z+b_1TH>oELA)=fL9%;VBGF z?qSbAt@PqazEZj(wfi~W+RuECFJGFk!J)+DZ#siVpXJJH%~Fl_ImKOBtff46ewD9O z4q@4F%vaj*%Z3ZfEKX(`Z;->==N6mB(OZWK|8CeC~ZNE@Bp|XPee6hFao?O8R3xDoZ=*sL7 zaON}g6_&tHFOd1RzHpxJ4?0oJrxV>__OMubpZQv*R6uW_hr7Xlea9M ztJ_>)%GI4F@%YLGfeGa@JcV85S_XUgzO323^W@933~G_$T6aC(-L>K>&|Yi&Rue(ebWgM z3zpwpu6;(gn;y@Z7?gkhzQx<~Yh5l?R_d#XOc4LFl6}F;I5+DEnPgc_@k*y79~RHE zzI@4P$>QR9Uu92=#vDCi+g_FTq^oe^dAq5KM-m-#o}?`}%w*QTR%Q0#g+U(j70g}H zj4IdlB(#oMzQ47!J5BtIrETZ)t!|8oTQu2aGdU|}Kb0x`vg{qpJEnE!f8RB&-hHB_ z^|?Ar`hw*qe^!aUzVf`$|JHKW>Gr+44JEFp9z0&|<=h@nl@KiFJ0ny^_{XIQ2Mg?@ zxP20pr6tlYG`mmkbC*e0nz8b!hhM~#FU#k+AFyQJ%4}2o?Zs8U*53v{);{iXn^ddi z()o+wK~Meste?OCah5-fb-GfYm31wrXVoT_^mi62RaMv5)gSaWeZ5=$<~eU~&s&D3 zC)!HXf5v~4V6K$*e}+R^rn%lqsoU-x(O18ad|AST@k_@inf%T|`PV!4K|{HIRO zkTpEZ5HiX3j(NO)RY{@8;;Nk|3w!UrymVxTyj!Pjrgoi((?Wgbm2`_C{%lVP4SPmtlQipM>9XAL>E z1sGJ)Wgc7(Y*6+3&+v8SYq>W}(E}vwWHPPUK?48<7m7WvMEa&s88odfd zqCK8W?BSaIiZ?=#fkCeFmA}dH8jk=q$LDrmI5}dZ67~1kooRkm6>#^6<>Ynm9KS8! z(zQ{~swy~~uk7TO=L^(DBrc~hTCn$LIVeafwiWhGm3H$Mo>c4bHn=ipg*da)q7<#u z8~??~%#UJFaE&wjo0TA@;H>fTs9WnIg~@aJSS`;p+3`ypw9Q~#qUXs|#O~-2%KeO0 zC3&5e%R{@2WBySw6Bq&;LuT*@Zt3E?|L`0y!vmi6PcnEe&f$B!)sbR9}|$v`ehpyX(q?4aW{xn5MgqCk-*7u*V2YB`yD6$vFaKf7+kA_(>P+SH%84ibYO1hb z_|LG}fUO|gt`RlVLOpCRef2J*%<`6z_@lwm1k&bT1m6!7L{)u6-N}3_4Qb~0-&+|hk8$c>klXTNqG(;fj&p8eQy1}YZCBoF=JR3UwuWlCEeu`)Oo5wfd0kYJ z+={1uU3oEhvU1@Co{+kr&Ik>K^t}wqev7}SBs|{AI78#`lcaeUmvnzt$oZ=3%?Lpr`n(9YbWNO|pc@=I7E)J?jiO7qGh|hcHV#n)K?u;N#Qh z*ptti)>Zuacx!^gnIGrX8k7xvx0uAFU%xalcH4s#dFP-FlN2{-uwS^mxM!PzQQck* z^}>lve>`@ueDpfE(I71N1hYcAXfo&N+~->zUOxNtZ{HQJ!y;?u{$Rf}TWP}L+Z#ny z9Nd;{Dz#LaaduB0^HW=1=BF&0n@>HqcdEbzC%_+ zW9o;CZ+SRmGdCq2MD zJKi_t$tNGX^w|@PZ_RqWbL0Gn$FEI3>E)!9ROqTt*-aB$&542%r9YD@8vc>)3?_xySeeyPN`d z&6}I4a-c6zS?`Ft?M5dz=XLDtE7V0co!FN@RlvSn-FD@vb7wc_OZ>jF)xqQSHk)ZO zjTZ_7l-yJ`&P4R>*I({EBCDh+tAr2z6KNG; zS}gPBz0+ff1MF9L0^S))nFc>y!BABD*(?0X;U^QUEUJ5Gs-+Yxv%=K=4HF^2_CX54Os8D-q|7fZ1q{8Q&0KI z=G|C%VOq`;{TYYO@GZ0a}JzEV1~j?wx1Dv#?mYxs=zzK|5Q z=GgY`@Ph~2qaxzc&b<*n7V&*$%J$D9Z)KkMSzpOx-Q#-V^xK1v_cAbv3TZd@PoL;7 zxY4h9y~3pf%RKfR?^%9n;@xc%rAuCSF+^;CUy|4SZce>c5qFFGg6HkkVEniwp)%#;yo!TM?(*ce9LrMT zS>^Z1u&MH|rgTo`j<)0*8Vk5rz1;p(Lgn+96?0bPtaHCMJAZ2e<7^e4Cm%zfR^B~z zY^k4xT7&w5`;+`-KYKk*J(G}H`*Mbo;l%zbr(+V^y^gGv(NrC%_p_$D^r8Y+%~pn z=WSQ9YOUS*9_I&PND^zg1 zz25K2J};Xjm){2_Hal=F$vwW*<$<{M$z%7_0;cPrZ`Zldk!~>i6Z29k)Af zBs{i!r779;gzqrRrK$#<-))7*lU(&@OFHjpd^vAxeEoa2r;OFVLf&&d$x+1WpSZP`f~!)9&9i6=}Q6z|*!J?CCzeI@mPVyex? zCsz)|F$+{aVRrd=T<>_D*?$I(7yfG*R9v1j6lmW5U|?zanElqwJ#0^8N|~mrvTGjv zRkna(*AvYkPm7nc{Iz12vn0!MJU4kZLG!ci=Sx%bTDlw9swVaXuoxL1TVPU=|48!p zR-whxy_4Qc__Uor9kyr5ggo8;Vo&KKHv?Z8e_g<}Ost$m$gM7i@5V}-&gon`4oaT0 zzI>1A#_gSz51N}YDtr8&_B<(l)F9HY|MZsK&exY3Iy(2Z)fQ!GrY6n4&sbG_)?1FL zKZ-TQRa&KgYN+zHIS1U#_1%K}tb@Bg?$P7_x*~aI?5UOP`S(sN5ZWZdRNV92Qf(&d zZilsUmqfOCw2}KamFwNPLw7XKRnPKH?0C_$(`G{P!S`N={2xB=GxY1S@rtm! zP#xTPt9nk|lmi*P2R=)DW9av4ekuMr*>aqekJjMF>oqN-qf-=1?+{98+m@a>NSLO}2 zv-|vKMg}BLGu6sD@S?!5$zs)|B|WQ}3jaVJUyhR#x3cp*ZZxH$7F!g9;5%ZLT$I8Agmuz$rDV6xy9+le53o?|kp_aV{16&yd=)Q*pL^=dwdfl^<^GuL`)A$*%DH{#xlxYlLiC z-l?$K?$xje>|N4$hv&+~BR%$99ft&YvJ4m>+f7Zm;nWqZC2m_)-0$U`dt&J{-7^-< zHWzt{%tCr({xL1vw*AwbQ#)C{9$es}``oK7QYj?)kHT}2-$^{tQ=T*Tl&v%~-gjWm zFD}QODL<7CzHpQ{eyM?fcG^w9%721A!Dg;K#~6+|-hLg#c_Ssc=d-VqWM9Omsz(h< z9xhs<$_#unL~g1X=2c20Z)5eZ)LLTU5V`G}sF21aRh{Rml`QpM4E-nh<=!smsY{*{ z*b(UvCh?*m^R1Tr-Kpn{IKC`%W16q)AXDhTpxwYATV(h;*s)>ulE>uku>DyDb?6&xH)lC9_FIjgb zC10|i<>}QIubjVJWKFUUW8-;|XMJj&WgA(gZR9U4n*ZEEvYMgzU53E*nm-E~%DygF z*_S4;@xT%Rogl&ad;2fV+PKQ&fUZ!}9gNu1lPkkT~lv(klE^S)uHuM?!jk z&g>!y0q5Y9Cg0uu%G+2Ow0%DH@OAg_JX&m*c4-BNPs0^G$L(|9mpx}yOL%RFmq1-jO4BfM+81zwtRhW@s8LR{4zv?LpO(FAJvJJJPLWskK0Zxq(-(;Z$gY z?!4CBApt)F4qeW5`k`3y+GS$pGQ|l?CU~5W39z-|uejbZp+rJirYmUmla5CL`@Q5F zBA)kqWfXr8mr&ozw5>T|f=OP=izRK(*0gnst2FkMm?S0#HW>F+tl-j|z^{xC*|h?=gTWz`^0`&_swzdZsu!iZ=e3O z;>Kc`f~yMQ88h6Jiw+nZ4AK%-uDdVeVQF&SmFtGk=_Sh+gaQFS-BjZo{`bt7>gmsHAN8`GMakh-u>P zdG%7gX`fQPOM)uS$4xceGD$mU0=u<;=;O@ox}@eg_l^gAUl_KtSsEU+y`Jlo`&cK1 zd%7}f!&~<$Z;h><=N;VgpTXwh^V19o;Wi~-7jWpg7(85NUp(hO!>?Uew!P$;lyl?yJyyOIT0*J(&*+Q1^byjS;$=ak%j z3H8SFG39ITI+Zz1a<(*lJi#?7f~EKTy)n_Fcj}E?`C^;Uo)fEPbR^85{W4_nM5PW<){_eIdG4lV>X{xw7IsIT zt;|vA6O`Fs^7r2H{=BS6$tM1L0@kbM{bz`(-tg&)OSApa(DF5FCu=D061*do;4AYx zI`zye>5c3r2Zd+$9O<9&_mSaIchlWdGm{_Vvs~gtPU*MR z<_xV4m-6EnES8_Q^bj%kyK-ZW(Vul(AAeqwjEkmT8wA0OoZa9>}$ zOk>}9(V1nR+uRssp6&j->dYOXB?S!Uw444e+45UA{#)Hg8NmZ7(=@~!R^9g2dn4$W z8S(S-w}9WK?>o0_VmhjPSDg3!-Q)LUcfO5x|92tI8?y*R}$NuhE zrTkK6yZXP~1^Wd`&gyaR5KY-MFDB>bj3&F}JEit9*ROAzY;Yiglkwve35M{K@|*nI zOjgJD-IKp|%{}AU#arCd;y78>8Q&;Ze;FTl*K6Wk&rBwR!y9<#?_oU3RLwWlTu&(} z-s;rtZC0Y zN~PUW*=#1gGBU8Py%^s$&*p=X^W*OQoIejNJ+>w&d{W}Gh3CwA3JkKphadfP=RZSA zmiV`C509>$vT0wf*_ZW)?Yqq`zt}Hgkr6tyfmNo?b+wwN{l)Siw<+xA*#JNxAD{SW$!j{IZ&m^yXuq9tX!dNe}P zRk!hZ{MBH7^SWXKyCnNk#l{n7l3C_mSrponQ?8(K{L_-mWj)KMb-9P#eeWQYIZt9{4il3Ky+ z_S22NNk0{LmB{o>(W!3No%f*6(1D-5@~5Al8=vMU#tmu@cS|049eA*L!YKwBsjL(0 zt&glc$0qSrY3`RRY`0JKyv=WXy+NNPqlHuh;r$e9!hAF-6>eEeYnm(FFo zs~riG=dL||UDU*2!h;R$7p|`EaDHQWw2gOa-Q!!cb$7Hh@3(ip+{I86oot!YdfY&|l_j0a^k*tUpTOxVmg=L4^jO8*g`9e3LvPxRGWugKrzzTeB= z(1TH??+d4{%fx->C$L3-S>e>l%>JsHq$d>iO!~U z+Y>7;l|?s7s!THCvske4_-ToWAy0T}vuFNTz1nfvADgRr4{Oir&Y8%2hn1!Ho%Rxj z_bCkglU2Gtt-mdNM6e?ILE2I!QK36`RVwZ_1@2J(&#=}(p1Vf9J?LZnk=YvQJ0rTX z4_>=tk=SutM(*n`-^BcHse;aO;xeL%ljB+Hj>`#2{bx94UF)d(NNn0>)*3ah-kTD3 z|F-_(UUpP^^{yif{H>1{EZ`QquaZ8=^SI^8lhzDjukX}rtyA2sbDQJX{pmJI%eOXe z+`_;6zU6|M{JmaJ52{RToYypan`V5;M5ZeKEO7&d-pe*glWadL8~zijDqk=$!btty ziIcMC<;z;;SGp^wS(w}`UuWhMxVbg|uu8}wg9Fx$J++rInAU6ydcdg8@aL!fsY%99 zcWX1w`Ph7It*=Vqx+B|v`m>a+dN0KzaYKK-2xDUK*&f;3Znha|`oA~)c9aeI>{B*j z5yw=+`_G{&(Fu&{N=+Vwg=)guGX_we_DFK_2QE%Vm!=opNK3&ywIeo@2jTGCyx?$Vrv- zjBbUJoX^49+A9z0EO;RJpW)TA{r5QUe0elM*eQbHhO&+Dys5_gn&zw0=j8s|a^jJ- z2zrGz<%6g{7YwwPnua6p}Rno%L^UQfl z-unL5Q@q=|(y7``lERAN$k8qvF7tJ&k?Mh5i{&G%(O z9yuO}dBAsksj1ATWx1#PnMD|dI4-GjA9Hw7xrB3@ljP?9VE;)+<9I7H;0UY4>+7!_gghKm4?Zbf!rGkc+-IpY#cjR* zG;_HC~l&*Zz z`mME&ehWG3t9RURvn_PYj1;YLn!P1@g~SAv z)~g$@znk@E=HIn7_Ik4)ortRDT%z>*oO=Vm!KRJY9LMFO{-$5+j(+)RVfUHfyq6Pd z!`DCW`t#`T+CBV*>KzNOsrw!ho3P=Q*WY)>FE6iU_IiFr{)69t2C@GPdH>FxtyX<) zdPi!8xwgV-H*57P;S=i*hOK{m%}zCASCmEPwHq5W<``|7zxVaotp5xL^=rJ-GavqE z5dYyi%YByi(>;^y%@-&XhszH{PqqKOH@24R7cUGIJH=gkkp0pg?r+K)XC42R`(e&! z=clJt7pBKN5w+#5-omK9J@&}kV-_Zisf+ye6CZDUzSP2fubulHc80B?mY*$Do^Ord zx}Sb(&b%EjG*lO^6`!`S^HpI(rgBW`UjAfHjp@CAl6S~Rb=?bn)%`tAFeo_i`oP|2fP?U2Ep2akUSd6iq-`oUPh z`E|uDe|sL`3p{;OUL5G{HawZvSiw*g!2EPu(u{I9!EP7|l&9u#OILz2+Yq)Ltn+vD@Reh*!XPf28u=16~OWzpw zqs)KSr9G(Uw9Rs85blp^j9C~s!MLY5*x`(4?D6@|Aq}&Px8(8^@k_k-o0KVOu77&+ ziQ`$VPfBlpnsDZh(I-|r&zc1s%FDA7TrRrZv9Of6Bym7`I{V9e^JN~kT@9#w{W2&o zr2WjX;v2;dqOms_r?zov9*uB6l6CIz1S5B^oI83BKm8qh9!)Z{W@9tH)u5y1=3!|+ z)%0YatICJ)23{4On+*LYl9tVvU=3%_x4FRLZQ`?_apIl7nv$V2a*lC6XJ4@5LFbaN zc;h@HN86(jjTZxq1s3q6^aN_+7O%s=nO!<)`C;R}3N-g$)@Sj(_-lNm=4f zgE>=%#HMXmWxoDr;Oc&M;^d=wn~p2ZpUqG>Cp6JyS+ekAjhMv#Dux-xOlP-iA1n6h zdm=d{_gH;*zE`!P;I>bd36B4!axJQC?G|$1%MjTbZzJ6N+U4j~uOmi|&(&tKT;kEQ z_-gV~;H~1xfT{_VD>C@RzjbW-U4C$Gl34c{VTY4y6~`qdj@ISXotk`f`M(>txFYk} zJ_k$^RF+wtkTQ3_WBhV?$+ZbPe%PQjg#6Zj!PHpyPN&#Kf|}GD-SmOUG_(J ztuuG3TG{s5ESom|<6kKIah7vz|J7Vm#tuX4+ZHGO=@jnT($u?<<9yZfhbw3OXYg%% zSHh_>QTvU=%dWi&g`c#G`!qNOH@{cUJo!ZCujVq&s~uA`0uR`2x!LIQv#qd?@l|G! z)9alL55Agk)X!Mq;#J9Pk|%9*l8xh)$Q2`t$ER}_%WMy*TsgJQ@sC5-QU#fFdy*w> zea+9Np9s7x`Df)4?G&CTRb7gFYwQZdW%{EQsC1bnaX_JM!i&TI%_j zeVt#1>axiy3=Eb^4J;FsQ)hfRW_)02U+k;MXiHn;SxprY%ic`jd~CAq;9?&$vy~6h z8r0JCLbOtnC%>@GNa1YW@z+*!d8X5UhLT^88bTXt|1+2w89VR=CAp;rdA<<2JiqF} zs^=4rRRyhZY-K5V>#xcr`}i{3v|DXQl9SC2v4wn|zf{Y3v0&@VJC~DhKcB?MC~H;h zseD9UO=qfn)#Rj|%7-?~E|+BPxukmTx&hy!sS!p^ZWV7d4>6!`2T9&-tp|=ul30Jb~lAU%$jpfiEw88RaLf@>E_Qc;oUl9lZ-?jeSjX)nd!G zq&)fPquLq5@~faKa0j=P(cfpUuiL(S^;_ikN3SJ}2T!QCEt}(cK%sB(9}TYu1_yO! zK3T!u#BZu~jH$t@Kg&@kLg7S_)jG>%Gre~F`fkgr&8QJ}e}{Qs6UU0k`Wk^bQzcg> zl`2oS<@a()P5aDd@ghUhnm3}aT=+_|+?2m7EYg;pslQ>v)pwWCdFO1)bNm(y@)M`W z`Q%ACNESCSzH#^Z(fyB0|ABUfooYtZ*10q6UwqnpQu%?=lf=R+pR8)L-$r*Vh%`%Q z-F$o2&*lHP^cTB-t7Q(|r6^>vzu;lr$LCKMc+Q*uTPZszdp`Tyn5R)Um7Qij@^<$3!8=tdejaJ~d(WzDwP%qm zn}tI1tmcf)Kg(pcS@li%6dIlp{ACGCs?(|T$Q$Xas)JTN{hn{hyx{wiAU8Z>GN2f!^$#$YT^8t3vahMnSJ}Z#Npt#CWhl@UwefV^t3ZeoLqTY49&Z+eCTALn^jwmHh7InxfxvS%$#Q0whlkz^@y#^}!nB3Sn zZ%Q{)l_+Dyf@0>S-^BN9x?0D&^^J#;u}`1C*C3Ie@aF#v z2g6J(-?D?~P$(NTc*Qfn$QQf`wN9;GxEg$n%9lT*F^PMGm|Bnmo z+t)qynZL*K(4}=xp7eP??;OlVihQ|@1DdLmD{@4%H6MP_v_d|N6rJbE7An(lZ* zsoO&3-xQBk3@*o+B}DcbES`7eGWXAUX-v=8?^vATC~VoyEXmL~=gRKwde%WdEu_2p zkIg&~+hzD==>_%&9S2T4-?8+b+mpNlbtX4d9SJ*L%eQF`?JUPQ$1D)+Z$S*E2;`+ zS+9Qj=>)@*CNG|7?3SPJb3ts!`+W<37YCfUxbSZCc?Pgn zT@fk2q!{*C*7B%v$s`xf=duRXA;)aiUA3*Q3UXsJy&_cH}kE7t;f>>zUWJH?EZ!CkJC)?pJ90Zsc(}}IlM*bCRrt32h)-mlkuK8{>|w4lFSMU) zvGnnv>PyGW%g@U+2A&CvVQ1)Dd}-;n7@j_UKi;q-6Hg0r8Qz*lbhPRh(S z-y#1-2XUonmnd{Mh=5T|b@s@DU zE$@EbC_e7BzA%s9+Eem*7yE_fOAm`=ZCo{#p+q~}Ma6Q8#sRrGmt6TSUtX~CTj9%j zSNJbvZ3tnR)1+zSz?l4NTUDTnb%18kf~p{ujfxS6=4^M$lFrDMy9Och&VCa^g!k#3*j@pD&IfT)50~~ zcqfe;2@_ZI`9JqEb7I(#Oj34J!95a6J*L-@SSlENdJ>OQE zJ3LM-oO8vmW?O(i%f~J=hYSB1O!7XRd^^#1a%I4&nQwb8vEI9*ue{Id0?*QYfpg^k z1g=WBdh}C=#5qr!kj#uXPv^=S*@WJzAI$ljFAyk>_a^Q}(VsMv>w zZ+Mw+^rtLVSjV5_YyalWjMK$^VI4Pi#qvG4Mem?%k`R;V$hi}ggJ-u-@SIy`^)8WGB z{V`p?c-y4Uu=d;TT=a|KrQeZzRg71Hr}nIJJnrDW)>c47wLdFK{k?(V^{octIwEX= z^Rv3Mr>U=yFK1gmAup#Y#G$e#;qe9&&Nn9QpF=h>H*v7d6HM|^dMr1kud%QE?H{Y) zAg2c_B@e#Rka#v(QriEDRL=$-K7XHNQBCQI?yp=;ZYvp1{(bme^QFct`>IU|Y8*0; zW=_pX_;^`jnfZCeo0m77wX^8IdF(&K-aB1ve0)#;K4x%F^h-adtS<3YZ zbNFL*!C`{QOR1)%eRj$3g9UdP-t0IZH>Jzd`F8&Ps5O^Fc1oUPNmic4ej|lUHIdxMdb?RJl%&dNeEM4s3G)dxdQ?w!GAC|-}bT6npv4GRyvfh)IbJA@tY+SYSg!M|XAimlk z$3?o8_kSp!H)R*2AX`|ZB!?D<O*Qw&c^cs9m`=i8gwo(R1Y%`AJ~t9N!L z-#hl)Wph8BG28Lr!{JLy*iLIsWID#j?%d@aaVNFox$W*tQ$03Fq!^cw_g`bd)Me5czmnUirYJXd^>CB!JJqw!+e5$ zt-FO#(f;xc3nm7+CVrZwa(6?&zQVj?^QCq@(zv`m@ZP*riE`166YLVZtk|7c+Oq^s zZ|V0kJF>gzPM=X`X!2)?Ce8zQJ=kX$NcVkV66|CzOgv`5YMR31W%q7I&R3E5y1`jJ z8)W9pd2m@-dwcae37IAhP4x|5Cl_@x@$N3*w_F&`zq4H-;qu!fMNATtkDu=hU^ z&$(5e&vMwv^MTQ}(1(kwdGgQ8oBS^BsGfYQL6T+7I*0y+ud?g{k%+Yw| zv820b!wH7c;I3q~7fqi1g+VG^2iy!NxZ5=~FzZh`+jjEHiu>n3ZBKNTYu;-2` zvGH!ti2&;L**^=c=Afb1My~w3I2lG^6)`+rh`nvOE&4ohI;E&tkB- zHqmAq!<a zczZ%d#}@XaCkx;3d%5*?H|#iO$#P|%`?Q5u`;vm)*i`+eLSDbdAAoHoJ@Ji60 zp4Fe`e7-d6D#PUE=XdbkHTKk*zvC3o1{vmCv!0wb>b>o>Qd#y@bjITh@APuXlm9{v zc&JXWC=YDx3D%Qyy`{wR-B9um=PlQ23O2xn_ar@pTzYW^?wWPW3DN)KuWOJlZ8l-f({5?aziQo^Z(&vAI9> zlUGTU5dP1=w1C_DP|8My^-fx<2M*q<{3;^daiPEI zYUP4S?mV7nH4pI~?$4UIlv_Z3$5HhSf?6%d-2K|G&CgSle=Wmm>vk)BhI7Z|$#c>z zS1P8bC@fIV_qoidIw{~lvZck#YqOS_B)1+^SE-K*)>)=3tss%}q3W{g_S8T<|I_yx zBO+4+Kgr%Vc<}3rj%x9Yg8Ex$BW_6g}8j>=RF&gi0&AVBnpXEBy zz*gG9G|ZI z8IscX<@C!17J9A8Mf@vlvn(bYIo&v?blJ&*+dm}U@hbVfo__nY;GbAt?H6LY3hc@Y zzZ@5_{OtMJLV3lP70FYd2PpgQy{-K2uU62Vs>k~@cI0(k+Ni_EaQ^P|wQAR5R!uzl zY+3sK-WMYMeqSz2dstYQ#H38SPI?OmZy^g@}1@#@wMzZc({<{_NH_1FH;j6JPy9Ns#g+!xz%gMq8N`G)Hq zqm9M$wtS0>$?akOG`ZPJkhzbI<5hLgnHTew^ciY)+FVk5vx@mB$32F}yz{R77SR1J znR+LFg}SwyRq){tp0S5_nDT67pP|`5X>P5dL*ug0($d>oH*S~P@>$!?SW@CK+g#OM zZ+z4o-@Xhu6SG)hLeCea?iki7IxC+ZS7cvn{^s`MQ#>g=6R*u=$$OkLyHU3I+S+K@ z`)b#0O5cV|ZRoNH6MbcM;j_ey`6?&Y-mH3VGTB$KUMIys-pti4T6@x64$HG9EGwbZT$=?&Ible*=~g$~ZP z$ScTtt>$p2xNlBK(NUoW&-VvSatxJ{J~oIqRIZrQ;q_;^dV@&mYJmk$of<5j+svAl z+AnEacwA)Kq3up<);-a7VNjOtwB5U+&qXgu>xtabHpZpaV!3O24t(Bi!&P=A^fRYI zncS9d%0&@ps+qK8`1mqUT-5V>;9)mcYfZ7GQ}Tr3KPxx+-DXUl^IiU2gKFh8b;iRo zefHEtKBnv+Fq57<8rQ?58t zT~>VFa@8{1PiCA4A5UAlou8*JX30J)!*?1??iIJEu`@hYT)8i?w_L&QKZBQV%f1VH zs(b3De3mNMlrX2nR)cZ95aZsO?ikYRRGPYLh6JLltpm$T-))!e)?rTHu>8m->!;uTG&9S-d}eB|$&$X@ zROx4up7QgJXBl(3+G;OXX7{n5J+CzXdDF#Z9xPvus!V&aV-hQKxx%lmB*k4k>%3Tx zEAL$3+WU?%#P@Js*}R?0Zd;w-W&&UFDa)pObaW4P}bTE{c86U9ppSc@{&m`)A$-eKSw4c;YN&ynu(} zfgEq-#H-V*_i^&E*5&$1%jXoaTZjl=SgkS1YduNcEaCaj-Z0Gj8l4h2`RUY?k1baFJn#^8V~kpA5t6(yJlVif zUFNEym|)6*V-F7ha5YVtWV^3Oz&m-lSHu#nncX}`3fQYW)y}ZaQsVz!=(bq=yr*bO z?q|j(Ezt==8{b&i{^pu?Oi-zPu2)_hqy1FNwOt<@d;Tn!&3MIp_K+x>;ei+icjbE% zmBVxI^zL8l&cZG6>DQCzEFZF5J)VS@S|nbr*J@BSR+%*Q!KTLffzCcj2Sd)=Ja{b1 z&so0Zh?m8|g1fJ3n>aQc*v7Au!Ps-j=UKoKeTU;KS1wX*U@fSAa)qPJPr7^=!%D#^ ziA_E0wRbg$xk`Juz5Kp8^pd?slKRQCJ5Oh?_0>tdUuF5EM1t9rXQHRnlegUW=S|^y zbnML^%X5a?pB*=eF~nMFfQMBKw|68}`{| zaU3Z$o|4>fyLs{?|Ak+cW==0)nReo*gQVK*Z;_H}6BmB^w1cnu`&*|AnY@)XUk%@D zRh-WWUORK{o*5lF#oM2q%bXas$#vHwH^8WTU(> z*Gj_~D_n{!EtO^dGt7S(mR!5B^<0H?$NK<}Qwu5!-^n#KX!$0~T->Dna7K}4Qd7ho z#~nru7RQxedqr+eR^KC*>3=g%Fsm^4 zR3%@UcTP>!Ayo1}V(2=xZ0q8}Vuf4FdE6=&u;hL^c5#zvkYPiG((Fv8H@DW9*DNT! z5^`|ulHQaXH`+c2Z=iS?$}^CneYV8szQZoWC~x)}A7xy<1LSX>zxCKI{I4gck4SldmNA z+XP2Xx;k-be!i6(_rhZqDj^>dRT(|cSv>D5@!4OLrnTU~=isO)ri0tRKFKq6Qt@d~ zRJEC7Z|lC*C~|^Vr$_~R?~#&6bBnh;P!?tQ;Q3c`kwCEBjb$uu;ydQ#%xT)=De=Pp z+T7f1l}aPa6HgfSYJR(>!t^jisCe$xoZH&D@SO6JWT>$s?5Iox0tBhE^L+ zRf&+p>5KPAZMt^I#q(Tf$Jc+QoX(pyo-|&b#hiFlDm65s-Tn}-QAAIM$e$gLnYW8v zD}LHJvm?nWU2>&vu|=R6TUF0<5k8GJd&3lQPPq!^_3?)`?}=UzT`~LcuJ*S4g(+RX zZXA1OwZ5R<>h^T8iyapW-0v=#8uaXbV$HO`9ltI_etLeuzo}l-M*icx?0T8Zi+3|W z9^S_rrtxjfg~{K`$_o4TYG2u(*_mX|`PF)LYa)-pM#f;Bb{RRVFY7%#rm+iJ+8g}7 zTlhAv{&(1sS@~~1uX-i6;rKJ(0;ROF103!qj8Ee?^~h&`tX)1)`lQwkP2*juF@kUJ z?OT-bygO-=Snz#Y?dS40l|A=f-ukduW);u04kl%Wo?7>Z@t(frBHmkeJfD{HbpeN$ zW=_rtg(s8$Y92Y#)lk53Am(>4WBQb-2k%s+HwJO=wEQf3@YPbLKa1s?wsii?Jy+Qa zp34NUeY@}MMisZD=qA>vh+Fn^`QFcFWwpGyL0&%4k+r&gnvvN;%UAAMwNs8Z=FiAg zSNOhEMumr$ID`eXNZ)gJEJ zg>@IDp0~ZfyG*RyCrw+8=fRwImeQkj56{~4YTb#Pkiz_or{ZW`_fRWN0CYggYgOb z70ZvBtT?jkq2WRGwMyG%%d2zVu`hJCEo2stK&qC*3JC<)7iw7{wNNKxGz# zhqRt!JNp$rO*u<3-#@*FC(cT}`*>NH;Lho?c3V~CGPR%0nPjO@=pd*4yX4=QTjg&J zKg>1xYj^Z~$CtMIi#;WNKC%4I5XR5Id|7SJ{ePU-Kkz?pfAf1`c9i|md|tgNrMd3s zXQ~vuGizYiDr|loA9ysM|T(YbTUe#)4Y&S`K#Oh&RExR(}tz?n$O~)r)3>g(yH{Oh3VtDKIX~BdO6F;A0 z|FYuB(Y*^9CRrZ4RdgUF$B41Xz?Z=%m`mdAjnkhQuheEZbNX)7WaytV`Fm!9()moE zlyaNz3;uoVOzio3mO*RARiB=nU*Gv!h8cOcys%iN_RnYIih~CZy!92A`1@or%iP_? z4#I9;4Y&EK8w2m`JFb|_UMa&ET#;1c&o1-LB*b1`?o#=z6jLb~ z;PBx2$7PGQ&srBF_b`L;lm4`&-;+N+n=MnsX0+4V^Jh_2kYAj;y7I00az7V+y6N~e z|9#=F07m7Sg~k0#ttCm-KhtGzOML(r1M*%Gz}wYIMx>Hp9)@5x#J zPvK=)*yi3{w(F-vY-2ugSFqOe-xS8;f1DQ|$}0Unx@&po(VY=d{tCN3csfq-U+1}g zb8gPHdv{n)SNB)_y#J5$-pPUg^b(pR!{PK{P)eb^^0w8CbuUm zFjlaXTP$Gl{j3<-eoDHh@IS-rl?f?sH|kzINC>U)%wRslspX);_v3ZYYKa4rCl%QR z?CBEZy;IohGJEr+8|QolS6is0IwY~G%vq@Z!olQr$wB4f#Mzdw`>t?=l<=hdK764> ztM;S)EJ(| zduv>|l*L0CJKhJL{Jj31KxZTh2_{Ie+J)$;-> z@F#<@XU}v=y9M=L6GJB!u}exknwkjXEj~}MF8{r`f7M*&JKPUGUI`Jt z=a?sElA4zDApP?7OUqmD9G}zYaNMM!Ez|47Dvr>Dx)X!eqy;|{;JX(gf0kmP)K>aVcDsm60TS5+ccQe8cr;qQ+WN_ypC5LYi>Sn4xBb& zQfGs^gR7P9)8h+{KXu^VTvv1O(wwynL8}b@GaU8J3`ke_`gm6Q&Bd86tsmSSG?)&! z)!+Rh@zTjfAeXl_@X+J^*Cu)fEDfldWVzDj{9QxAPs`U8ItZRR!}T`kcAwo;>7SdF z40sy-B%^=q+wx(lV~+3%g|s=hyYnYGu`d^4#&Wz2LShje$C#Sul&^T)mTAD!!e*J^@3qTmPM+PIS%LY2 zNvAkeYK}E1b=}D`@|<+HT<}N88zG4Uua7%eUkTW?FlBP@4#}0BvJU6iWiBw+Oo&X2 zz4?WG{Z{Le`Nx|Ke{{v3l*)a;^W1VpP^ILI+*`%Rth*R9e0Io8u==FM6nSX(O7;s< z{uZ50t2Q!}ezBXfWN|K!Q&ZuV@&#K$t~|{Ct?qFnWi|iwYx|V`E?lGc$Eh@$IVU`4 zl8dKbMAiIr`(9izi;gxv@GpYd+To}+zmnv_j+^gcR_nPuW>cYqO zH;SI+bJs*(QTyy%yHA)~v3^Ie#5t>v;r98jSG=!Nv|YP*@>%JdZ*?aASunvaII^BK zFV{rATP`eFV&W8!1rO5qW&UT_diLtq>s{%)w@=X7c%Gx|{v*M!Y%hNO&+umV za_`&^>W4Wvk5t77Zi&Bh;GMO6*4OBa#Xj!RldS$Td|iFMK3)E&ij=TJWAe1?3hhsN zK7Rc-^+lktv|!VMGtIG&Vv-Xj$dv(7X2ZpD}7 zTE;T%3gr^Zv@0v(_RN`-!O~)(dwJ#8mqGoiMZeviSth^s?YlX%&gIa9`B_<_X^9s! zCC*o|W*ZfxOf&lw!s<73MJV%pr>drm&?IwL#lW7FAib|FJeyarTrA}J))%c&VY|vh z`BOuHao@Zv58jEdx3#+DcJ^f2gNZ%!rd(!Bv9RTM+!LIpt;J?j+`}IgDPR$NeRIi5 z<%Ek5^leuiSeqk%CM869;iWM%aOC;)X+w=PcA_Dwa$?JwwR2v9E2- zvGREp$BSKhnDR=`xhFaZh;7fbneyauPw=*VhhP7FAJrHbl=|uV$_Js#E5(#I78L)9 z^a`f>S1fKz}aAT-Sg|B0q-hnPJC>< z(^D5(npid=&GklYb%<)Hir{*m$ED2D&)TGoinsh{;C1I}DJtxlR~USn$A>FlU0H%{ zR?@u%xrg~4HKe|q4x!`2&}y1|+5fz1aFyzMHSX7M=UsxuF`kqM&Jy#Psh2>GL^X9_>_F%`O=6tDys?tZ)`X(`PRoNHH>>puEj|kuA1KI zEE;xST5^3SE_2K)eDBb9v3WAL$CgrvK5Om4jfLmJ!i43a(2wR%T2}eogMfJCT^4H+oQQ+s^spk zHay9qnle03CceJ4NcZ>I!;^dJMEQ4`m#cV6$m`w7t0^$Pd~asKC6k67xBDNmcX^x4 zKdaj$>VC@j&&vo&)muNAZ(QOHl3QXfU3lN}z)?%tZ}TrTGI{#QRFPwskXUc?cSXsHt@+Kn_RUES?{VK1ntWfjo{RHE#rZ$N>mt;5 zUfr@IxGt^y*7J9LN9G52{aR+K%)?$6ZWDg|Kf?$AyP03s%fw}V7g`ZHcM8*v6Sr7v zJ2rSSizc7H*6>2vCDOxwx>tmh#=b~Nhc`wUyxKAr$;ajHU6r|zdw|2@jHxS8$(sn z{3m$|(^--iEHh&B$$NX_lDnom=bYw=yF~*TYbFXO@ch+OJI%9P!nW{NkV?x2Tiarn z^IN|)o_rg^l6dU>l;+DlS6Z}FWKyeoE-Q5iNFJ2=>^C7LrSMk(bM(oaNtW+iy~Q3Z zj4n9v*i?}B_>?`*=T(P%v zy7+*_cN4~s_y34yT|R&LkNL(v-do3h7a2}GdH%BLtNIP8N7vlvT`zR=+=-ekA&H-b z``>Gt1!uY8cXwvRi7TYop55WyJ?yzUch5e@!oTj;rGTr8jQ)Tk3(&eE#$V` zSM+3^P%Wfc&hane^ZclyQ_&1O>FfAS7!InxFKFpsuw3l?+4<{5wr^ZEU;LK-vObPI zd++7E6JfC1+PvV8+Xwlst(9B+xhvM44wxtW`^H-}{>{uPG9@OA+um-sE0zfi^FocI&&3nk0`{0{l5P~3IaU!J@>iBfLYxhECA zoVV}l;{3`?t4^JDq8BDvBvchtl`Su8xz{}PjJ;t{CA0EYt49xxZ?`uLV3*Z=_Dpw? zQu{p4qk&hRyO#E!;hx;Xx2*T1&b#v9cJ;o>B?$~G7AJ(CifKE3?``mk;GTIqj*4fn z9X*_ST$a_tXh-VH183EzIQOnAFy0~TQ|33j$jGoOKS5SSQ!&8Z^2scZTZWpB^Q?MG zmY-JeI96a?7{JCAuFP|XPpgc{bLQqx`f*oeR{U(2-MOqK&AxnnRI#$g%j1bJ9XRD8 zJ{i6Yxa<1-)P&D%2^Oz|T8;}o5Pp4aF7M{E^-OC1?-_sk`xO5S;P^57+w}X7>Tm0D z*FFt9bW3Fd^8^DAd7lU2H|j*UHv510+7mYIfd0+tm9mV-y?!h|vOVmd(%&tnr%Mmp z+&bgIQL}357rUw7Rd{9hP7!-4AQ!t!&*7LKTg8HP)7A9l7*&|(X+FH##+}Zzy8ScX zV~GPRL+gCD7oJdR%r5dQT43~5wqlu^dCeL2x{PD&>gydn-Y_1zps4=y7{jp&QU3P< z4Lcr`zYm_G@-FScmv75{YR_Sww3uCeR+;9)nA1^W@!@ zk}p_g*({7&?kt&SVfosnkm*p2!HHx1UKJ0Duaq%OU3z!!;aM3R%e5yhWWO|fj|InS zziBp2{Pl5DWjA$1=PNV!Wo>6v-g;zt6@!s<^Sx;$*57%OFJGE>?);5^CHEr!9QhYw zAaQo1h3w}!m#^iX63#QI`~GE#z^dlf*XRAds1zyOZJb~oxPw1)mg(=MJKtUjZt1D} z_@HmfG3kbc!VAeJ-OrYZ{JHb>tbtI(Bg+#pCCryi6@Ch+J1mwwZeqaunXx}E^W%e$ z&5iGms;^=)o0|Olu*@Zmq*t#V=T~_z`RRVj|BR;1rRJv(lAlRDo4SSZQ>#j=jhuza zMZuJl$_mMARVve-Fljz9E1Y2YWhIk2zfhBbLGh%_-Htr*>dM=rX2m#5Wcr`7PMTU^ z7uv&L6Tq5TeqzO{{TlL}>*wsx&sdv$LHFIeWQF6!GL0VRD!7mDt<|`1@bW_8r|akK zKLmIu-RH^uDsd{eJD^=%rbocfSNFh?zfJk2VHclo+-W(>R~?b7Jf8RE(gwcP?%s2)g|EF;ypC8usSaW*v6**=D|GU? z+IIL(BZSYud-QFdQ*-h0%GZvpDV{tP6PONEUA|ZsySw1Vb6YK!TQO5k9+&qLFc#u!JYVdf zT4eIL?CE2fs-Pta4Njjbmg;Y9so{U7d1U49NwNn%zjcUk^Pm31zb?xnJX`#D;On61 zeJ^dc|9j^wRX@q$`1ZOlys;DWa)izpSTd9?*ZZ{N+v@=TDa!nPd(xZzI-3^+pSKZo zxFxtSXIl|x-j*Z&ci-7Ot^Trl;?xie$t0^^p_PV{KYjh1A<1`l#-XOg3(mjv_c7*O zlB+(;#a++Mz^dd`R!DpLsm1qSI`ZC0{8`~2VC?nchII6gT4P6fI}Ztw2d}qVTOOBO z;4HFY%jgH>3cLM z@zbW;#cx=pVuR*IK{zSv~orglu)Nka>WBN5!%C zRZ|=c=M{fhkWplPW`=IRpQfZp@5ToLR_RMUrB*FJ<)FN9#q!YJwtL+3JY+LuPn=q{ z{7k*@rAD#B?R^%@y*U)i)h*9ib4?8N$`6z2bNIR-)??Dm7*=)lGDnlAZUG{KKZB0E zSHB;-!zQu)%hG%0l|9_a8<#}NeY?Fq-~LRnimE%a^7>0lRP@g`Rah|1dih+yxT~5m z{+wMJOOE@;gpXm$+){b6e=C>#wsP%XuQX?QRn6l5C?A$gg@~&Xh9?i4x9?S6!Jxsw z72$9|wNh!;?`gR^Vi!*+cDlh5C}lp)>QZaU=}MQ$*F|!Icsj4l`>H=fw5o`&DwvTa zK`*$uuVR^vC4)G_lM>r3PnCq$1NL*n4W~^$muc60Y5IiO8@>e;H1IH9;nQf+k=beS z@56gv=H%k0+Dtdk&nz<}4lG&I^owUVd(i@gzMV(iQX+0FlrH{Wd~cbts{+q|2F>&A z%d}KJUHF-^yRCS~*I!pQcFXiVE^6R=w;dtE;cIU{P%@obT)) z;3+ey_kid@355&C0>v({y*n^#dYRkB%X>}CPi`+*Q(HAR}W)zs{2F#-U73!@9!;~x}@X1#498IteNszt7?fvm32f51wM2fYlGe^UB67t?{biTr~6l`)cey<6wg2%Ud(K9`;4s1ixS@G7Q|J z$6?FsDD1La;rsdcr{StwJvXg*TJdQ0$#j*3ggo0%RzV4NLj4!(md#tSzk0dFiid6? zhYfi9jxY7N9l7)kt#V|FnS3 zCf;aX0jo#Ps+p6eJDKN4_4eJ-v;L4#aI{?G?&Qh0MHoJtafAiZ_SeE)HheN zqj!7pI?h+dvog=UPrTJ2mS8!d@YRCqpmztt{hYsAzVzsqX_hXYlkjc%k(LQ{G0E2& z#7{+D$;(~BxA@1(e^DKWME^6q4)!`O@zc-v+R_PWI*aBso@3w3V9Lb&c}|^3>&0-( zUtEomx7*drEsj_9R@T@oe_wd3L1*p35}xDvr!RaFm7Engp}_5(bwYiw^=Y@B^(ulr zA>~Zr-3d7|$!ZOv6%5bsbX7#mm7G55`NY1tS^{Rd&eOE^%&Cu>XufIAwxSBq5@Ge0 z^$NB37|&X1itOz4IKl8}No+&zNx2!zBsTo%(_pmOXjZ^+oT1#5p+l!}>bB26uXZl& zGke}Mhp#Gxz2u1Kq0f{1GK9nBR-J7=a6D>S>?+Q;cP8Jyw>Y-ZSnve%EPvZ2`TA+% zSLSK*D5p)&Q#v)Ts4DmrtE}~xqwde%_$Z}kzMQv3r|)sO&+p5OmyRpziL7&9u}ts6 z?dTP+{hz6_%s(~B^5InHO`rQbWG*nLw9YJ>R5-8j%9R%#8#`t{m9B63vTRdd_c?#I zIVa{tmemNJRPSQwdnuhDu-|%zV#P8O$BFJUoA{NN+R5Kzc;B>q>cR6Ov0f8f40^WJ z$n<0R`#JGj2xK2T6#d_}5v;>~Sp zj>ik<@JG!PcX4g<U^4sdpGj(75A(U$6#3k2To6nS{A>UUsWgN1ql zpYg3}tO0(~*>Zo+y5*^dr1W}9NHSlVEbP?vXU=6NPv)6iM?7SBX3a^QoS4}EK15sN z(C6>F3eT!s53*An= zt+UJD>#1?Kd16ngZ07W$g$%oLV?La+3Vs|W_`G>y7uTJ2m$bIs_iJlq3kz3gC}m!` z$U9>0hZn{#*eVu8cHDkq@%-A-Z>rPQK69RMaZYm2EYH|oN5tpdYgTPU#Deg(y#VZUHcfnOjiZB_Pct&%0-WM zY|AM8UbgY|#J`zGP8{Z9bNsrbXOZk7+a-Nper!_|*l4|N&PJJHUnxO`jh;_+eEYb~ zssegMBhM(zy|?Gl@;(DbA`zJ ze1U807JtrDGICF<1C%&ATl8-78D5w-<^Eld#*4eYyvg$JI6uAPobBcStsRr?!W?aH ze_foQc1Or4BIWDBW$l`RK9iQO5INbsW#RP3?TodrA{N{|`Dmr}2Bj{WZO?dIbv~Zj zq!GXS!t({w{f`nTw~<56k0R{BatM6Bf7x z?wrmtZ>LC1*^b+@Cv0A{=z|~ItBHcQlPs;><^NVW3M8!EAh>%mU)y}`rv(lESE;I7@nipxeCk_k8s_ zA*(qA-`dSvHi_f=RQ{>9e^y3lvxYQ{>-`3D|hYb0cK_PAFC{GF7AJJta^h;cgbX=6KF-%hm0!lNH?_ z*?p9C74nEYljxwll~eS<^4B9%2d4 zT*N-X_@9YrN~=OH1E1lYXERM6Zg=vxHsW7u75pq(XpNh@}*Xt&rEbytT%XKc)0 zW~NChZ4S=s{6ilvwQ~J*{mgmClV{y|jztD0Nc1+S-uRUHsv%jUcY03BB#!`1vDAqy zwYB>XE#EoMz~k5@>xtLzEr^tqnR?FfbMjhS7q4~7(oJ7p_?xCih4-8Y-!JVOTwPwB z^680&k>x9g{|r)-Zbhi|zCF^joHcSrvf9$+iIWs7C1xtix9Z#5bYIbvR{pZ2Q-b#~ z`$oGhCp$fE25yLWGVgGggS*HF%Opk3&*ksx4^5q$61(?TuIAp_(0a-s+kDZ^kd$~C$D^GNpu=8O|bDzce$Bw#N z#99})cKkV>@wDI6_Q;CYpOe|&GhPT0J9uWt#FL74--@rz%Ux2EZ^Bf3An>;A3%-uN zc*W^CSqwI;@?IW)uC^wmzOZ`yN6Wp-VMZK(vNz|gCUfgPs|&heM?*dTd^+==K|O)p z@_i6{x6aL5?m7$$FB~p%`e0Cb_x@#(3zJS9ZoOsq&E15pWrNjE--3;8H}-2iUw>)d z_7pdjNw@PJ9-4glb--DLzAKtxfd|f6F7s~f;fye3mf*hDH0{Vj*2Bhg9?zTma&v@^ zmY6|v&jeO0O&+aP-6xbKOisRAJn6BJjL@E$XZpH*%f1uv^rE z^H_m@)ubo#`WDQYzYqV>@>u+N0pA)%i&xbFtbvTb11lv%-ZB<@+fQfdd@g+Or-P}n zTU_GaO8v`Um+oji^}f?ld10~x&rb&hp27pBEKTNtd8c20N^T63T&!5O;JD56rH)4S zLYm6+I2N!wDZAa;dGmr^q05?y$|5m5Ur$IbwdC{c@K5|@ zw>cZ$3y7A!GW!u>|-p<^#>ELsp z{fFCl_P+dSleKJW9yw~oh^g)XI$t#+|&1;A*y!Hi}K2L6%F+d zEAsSY1x{adXTH`TI?L%`;itZ3b0#iSyjjF0rKwLQ7`4gkRkH8Dw5&n9Y0XlR1cv47eFDTch`Bys zs{C2`uaxhrP^D|MbX9WK)IUecg4hfUXZ4wUmj0`x$8j+5Z-##0We(Yf!U?A@R$ZS` zcm1@=el}By);*IH6GRz*AAWgXZtJV3iJct13@qt=mjAXsmEXGibmoWnz-zg>%T?KI zjwoxNIDe^e&i6M*d5f{cAr9aqZ z_iDDO21uWYY5mz(z-xD}JoU!wsghi^R>h9GleJnW*eriHX99ba+w^niX9~ucJAPfU z+ zHC6X!hw_}Vv)ONE*M+hf{^*({@Nw?Pjd!dru(>zyVSc#3ZJ*Sp5B5zaUpHOS5zgJZ zY8}(_`LD8*^zUshJN|u@@4HLyrxYJE=VA6#pVhge^?cU0#%`AE9hDsm9@|J2y9(Qd z_8GUv-7pnNdsvy1o^XyoJ|?8e{%%8G2orx)gX%VqMR#_GFy59)7rEW;s3wrYx7>!S za7x0vyygaDACDop39dl&v5LV+rh;j_+gP(2^Zd8tZVqH_dUCN%+@Mt3ExS( zV?BKp3O#~eKF%td2PG_@E44;UWPXy%+{(U`!Ba(X`g2LirS3jI3s*49mz1rTvb)o; zukOWj$pecdp14YHi2pGofMcS$+mo4g0ej89FaNp5?Na6O<)SQ1feNm&#S@OtnmLQ1 zONha2j*wMthKWW+bFi<~`L{ZE7M{#`p7q!I`m_6QODp!7{g`UjxyVsxt=w9Xrx%+i zh`Cz(Te7TtwBMo5s$!QsdyUq$KcO<&`~A1-^&GZ#w6KtU{rUZabJJ@-20y;L>*chI zccRa(mCSEeOfO)##VO04f2qOl$KN?yR6fiPqi2%e>KNGKV7Pz zd-CP=S?4cqX}z?i<>K1Or#vP<>5R6nb9(ZRwNjf=Yt5uZ%gW{lTzU8@;T=oy{PiN+zT0KSC~cZ5Z|-wty@=;VEER7<3zK@p1;+>Ub&J7Bwlv~aw_W_n4e#j)3ryyuev9IMKf18Rx&Am&ib=m zHS2YvmBW5IJgEwqc5y?}4Ow=}WidzorExVZNbd8?V7##J8;@H-R>;nLi^Cj;L~Ld? z-F12@=lb#h(~=M#mafI>6MPvg<3joql5eZ;Rr1vK2vp`W{I_}MH~K@j4%HTnJ^(b z(Ok!ywI*Vn-(w|ww(Pkb4=T;a$ir}n3ReHpaf zjtOsRt@%`ZA*5hZo3f3x0)E#5%S1Yrax~A!|S#fE!KA&KUcm; zQ!b2QFq~iI%DH`+VPEEf#roodd!Q)GzI<=3F3YCMAD^c5%`p9Z{;eQSRerzk(vydFX=|3g zh*s~<>g}?tzM^Ztv8JB&VQ-78bTP{@zT%(P6+d1-vN)(R-)3j5T*RM?Qt$06ihqW0 z{Nwgv?j5O+sJnZzK3Zt4y)*G`oZur#*{{KJ-zDdnBrKQ76S@3?{YCu&_paLym$&EU zem2QoeEg}`;Ymv-H`&%^?=NRr8GIn{e$RE*4_cBrf7DY&TDBxzGuXS0CtW^x&h@f= zF#0y!r~;FL>}ZyEMPx#&?v=*Kj+fzqcZhc=D{bG*P5ghRrOspI=-8a zPlM@*RZX@l{t z)iL=~yYfyP^D0?6_mW)81pnf|pAUDuaD3gxP-S6b)WrDy*0S8)BFyKLXRX^VxPa>? z&)EaFXU%9hIn$uuqMpW!$kV>@z&a@ZK>yq;B00H;cr}O1zOCMoOQ<~^+`&<7n^mK)%)Hej#pWlT+E-QJ>S1n z=Q@))$LcFpm%S^y+iZ8GHJX?TPMKzL&?foPtZ3fN7QcR7zFlO-!ERG^sk?;Pf|((2 zL1K=xjHs-o-B$xgX_>!SHXT=Z=3GgNbkJfvXBRV1bM48kHx;HZKV@U=PxkE4i>i&u~GtO21+<4S$(nO&J426ALWzG~g_9r`VY_8lH zD4+A>vXjv48$I8TS{(6Um43$jdD+2p(lQfIEG;iIPZT}T-%uAH_vOa7_jg_}ni^N8 zB*-LucDkMN%*cP`%Ic;nhQ`l3Ba-v)9*>GRWcak|#5}>xKPz=lQ|f2Qf`ffVR-yB!E*27;)3=3T!f~OR*A2zj zWi!`_7Kv_teU^`tHFSe*uTEkL*S@GGHpYcnER3lM-YXByWA)_HHgM~Cp68eOFTyio z=ZWL~UKOh0PwX}SW=-0~*v)lp#|=Kes*)uR$re40FBsnYYk5k~X8zHzWK)~ajNY=z z=g(AMDrb!JQoO~fye-RqR}uTeAiJyVlFu(qS=GWLKIcQ>oC_29w!1Q07azA=nGzzn zYM~6jSDSL{31ybjhx1{c7{hg?{}FQ##IQ1w}lw#-?+_C{_SYV z*#keP-`cdto9X@w@o(C4k5%W)VEFr{Y=QpL{x18})hoZO@4fbYqV~GHbAlVh8Fxth z)qXeGaQDPz6Xu@rRBr6g2|sY3gW+e-!=*xc zAI=_+&tg}4v?Xg#U*S>V9kWciX8w}fD*5}T;9pY=rS>;#X z)HF5U-Ju5lHJ?~bjLgghmT&VlVNy}hJZC&9gDF_(x&Hm-rb_afksk{CW~_M|9(`$# z<L;Q8|XSr7i`{*M25exKIP$sQMMYO||LW&TAw=e;`WS79l;;s(Fh zNe9XMb9buCglOGMS?2ooxU8Y;*0X!xa8~Ck?ef{_BY0`9k#y(gSaF4%8sA+vkKL1x+Um5UB%;I2>)c0iB6Yf@}6Ire{HG9NmZ_t z#}i!5PdQ7-$lX{aJ7aUR&|4PseOdPV1rH~DQ_Q?H@yX9j0p*P*R~SWBEnxY&K<7xJ zN?~fmw0C<~CWYl4DX3W5uv^Ax-rV9~#hZU(cU=eyW7@B@gSl^~t)}0l1U(khR2_5SFV~d;X(18x39y5R8p1qI;f_& zD%UKPZm_fzSyi5U@Il>{?b>=@djlBfWl9-J-n#$&{Feo6wRiU0+P$^9uUG!@ySvPj_I{k|9mSiq#Yrmg5f(ivE)Q&%pBf`r@lL0^f~qpA=rK zCtNSXd|hP!hXDSze;gm~AILs0_#^tzwrN4f%T%VHU}QX?zTydU%=JG)Z*M(zY?F-A zoEEIo|8%3)OqKrAOBrf=Ge7qm%=3^g=bLKW>NxS*;zl8jL!J!|xA-bn`W9r?1=2jWAqGsXT?=@>~^E>vErVuOG_ievp;dXbdaBQe_MHD{eva@ zg>8~o|FAyvIm_97*PhS1@;+BY+@}5by~>ZHFns@mY4z{{`lut^1^%Gnmc=T z$LxJFFZIrn628NhEMJ~H+V7gT<%e2Fw5yQPdX}UVakR9LnpF!qf_5JpJ zwi`=W-A=DL^wV~mx&6|r7IQxN6Gm<)Hy2KfSLo0GxcmaQz^eZYoVFFu_RRiv=)>~k z`C@<6cVGI)RI#w+Z^T>6PyhZT{5jb9a@LpIy#9VWKI=}7*yOn|i6`jpiu}X#=6yA) z-DJGg&)m#hxykbT%PyCtD}PLVq~E&#Ly$zBg8$OH8FfnA`*;JiPcjtg&6)GFv0bJ3 ziX3a*mVd{iU#ZMIcgeiM zH^q+Z_vK_hvi9v?bUS-j&dsKmj=dXuzO0Q%Iq`t6`dWUwjp@RQ;=|MCNng^9iH>yH zcp$CzY=hzXm1{*^oa}-e-)&)dQm;8-J@a zue%t8`M6G0d|5U<;sDQ`$&KzGpWp71Wk_%{;;*t|)H1XC^dup9-j>N8TnwuW?@gIv z_})U|O_o|sgTn#4DXi-(!+USMy}sAEeue4WJ=4XW=xlU&x6`Iz*&3DEj<@_btkIW$ z6_63fcHPFY=#a&OOUqSH{BBQNurBy<{muE_m;Z$ScF&G_xhb>$QK_1WpHuPm&u`;% z&u#K5_mZ&YbF}$#{9(M}e};pmTiQRe&VApdcQq`0Z@IOf<=go9_YaIuM9jZ(fj2|N zaq`piwg*ghKgs{vJIOvuTJhtS{;1HP!zw9hjfM{vGe}KM4lBODEpyYiTWstBRhJgo zJ@N=zlEUbqqWzZp)BN=!2PC5lY*!V3a=kn!y{k)8%y((U`L%IJ&65H*CLZ+TT-w|9 zXZbpNE}!0|Ztgah1VVba658MW6RTUc^z=I6%$)B>U740FFO*dNw6ZZoW$HoY1t!cl zMA{N1UiVy)gjXKuXK)>$)Y zr^4hD$G!TwmM<%^II-|WTf;ey8>?@Wz4X(nxL0Yb#a8+_pV?;CJmnpE$JmSmt9xI_ z1zJcxC|TOcwLzz1f!R5xFRzbsg#Jr=tiCKme!O zir14GCiZ!-tzcVvCfQ(z$~^Z=O*fd+*BVaUp7MO2t8KB=b4it7mmEBpR;Bl^bxXV7 z+Mg+V);2QE_|uc$Qhm3Sg%bLnO!i@)@mauOPeRh{>Am0hW<2?Q>Ccn?*~_CUdNv%( zVCaMYB~3SKRS@ymN_-oV%apN}B_RHFgA91ywT~$#Xw@{KI3BM@vtrtay1+ zRA|)^_bGD{82i17Pb$ry$R6ju)qzi|aO>^n_uf0+O8ZMZ5DctrX`X*3sHt$Oy2KMH z2C>H}yZv8T*j;@rzuk6rRz0Wc#oW6-#aoId7*04IBjB_R2`%ek*q#*&YZ@Veur(E^Ar1~Ml&o>vuY?lFY+W{?e6@CKDT=&ERdRH z;5B#ec@c(dhf9@}=Uk35Fqr$XtHkB-_X|61N{(85eS2~NTX%8KmtzK6LZNVu|jAufLmR*|U7R3iymKR9%X83xE3jndLdH%%vI*r7w@0@E3OH%Lf@$U!G}X zge|FCD{aMd_7B`+5_wao54U1$GNU09e+NG^n zP<+B-!R(1j$95JxE&sgz+6<371~<-2eqDLwgn=r9?EXX6SBw?a8A=z#E#P`m)3~8( z-W6-T2Tt>6Z;%Pn$r2HJ&fYcCuJqiUswX8Taff$Itjw7slUO{QR`sNgskddT)V4!TQYGw@8*DW{-dL2LaNv!Wi_bcV(k~0oPn-Qaz(nbQpw~MK z8-p(*$G3zZjALM0-sASOc%J)HU*p@8PW5og8asS<=IAq6*shS?7}z3ttDWI{vdgMX z?JP3PCzcqv9W2|fec43#x}!=<1B0yRT|bLZ#&(5-;6qKjqvw1)t8+0|x;&-%LV%K3 zZ-s`XZN)MZ=Zv762fnW4n4qVe^S8QIOJ^5D{Q4CyJsEy1bPJy7wPNCeUc(>3f+=^r z=FLecTNu08Vc~WG!^vk2IF&f=R-89ktF`E7&z+K`cF`;D%(VRSA~U%~aA%{ktp?-9 zKmQr*{?v(lkGNXZXB{k4ncR>$FK9Pg(UJb$^RBQR*%vT{N#y`@lV6s^)kTTBoE#rp zu6%Uw#O;9Iy=TMNob{*Ow4S}rsy0I^<)L!FsvDcJZ_$pE$1MK5RBj5L;8vH%uhco^ z_|%){+|{?T_TJ)7sEb@8uxVTL+~p1YUZK5#-#ZQ8z77*uchAk0Ax!nE_Zj1!FK;i+ zmq{!-@K|}N&Owo%S%;f_-T%pyyvvLTm!Gk5ce?V1Rd0EUg-;%LW8S}2*_iFnwhLC@ zm**u;ZagU|xqQR%wYwICcK0V(2ghK>2+ww zjLB(_Ta~YGb(NBMYH^M~_;py<&l$IN*nSS3dqapp$MLPF!Yez2uDY6Ovi(`H%k3gm zi+_YvFEQ+7IQUL_uVu&WotxNw0#6xfPTAbz(RlKeug#H*D|Fa>9?j;^x|w|8KZDoA z?Op~Bk1s7@X>v$rEc_9?FD75Rr{vM%K1QkLIeZ7WW}iBf(D>;&k1s=5x*nf!K1;gn zi_S0yuZ;&K{xiJ3a;|Z@7RR#aD5YGkBdq7#9yr%UtJw9k z?DLG{&jatcl|7V}eC5jEZo6v(j4pAvhjnpZtr+ge)$LgE{e5k-GE2z<=NK1( zc4ir=Uhn(|g;%ch%wTLd=Wp|6@###wIe*`*_v%$P{IiL1 zlBLCxqlwKk%_bhJRQR@>yXfYP3fW@sPw%AN^JcDCerCy`O;dUHytS~OtJoE@n&YCm zxuo2bZ=a5z@;L9eMUN%1@V4aQQ$P9KthktqM2(Jc+@DbQ;>&UaA*~4>3ZLI;zG_ai zdH2?5g0P&x+q~nF3sUwUuskn6)mfq5m}`$r;^tZPQ(~+8rYw_L$z|Z~+}GB?n!+w! z+_xk+VE3e+;(0TdAA6j3vvBv1*&mi25l?&Id0t^+XmumYiW9eYB|N^hq%VGY^2#R( zAH7tBmfurhz7QOK=J>A-YzznA)V_*qP|=WjJXJ#d>CdX#%+Ci7JXmq^)$*=HiQ{SC z-umBb5#{~NxAUz7PeAB~SBAIeTso1|lNc>iz95+~bCb&^hGll{D_%Nqy*Rh9Lt$RK z?aDR5r++VKT0W~p@2QuE!Qy4MnoqP=genvmF}`&WdDLdusy%_dYIaGg(|SpJ{hZ4) znPtA6)plCrC>!$etpkr;^pxB+WnUjl{?S}($RlblQ2i@-{u%X?4(`8eGbNdG!*kd0 zReW2(nxTAPvb^Eri5EiZ;_O11=0&_ae##?H^Ub{U_s*=!Km4m0nhQF34`-_IEnn*; zQu3;ny(+rZB3aGT0V=@6T(NUCFZWhosC`5!Z~5tqc=H{#7nD zcl_M-<=|>*L&=1?yt!F( z_k3I>Ipxn@&*f|X6s`NB(0Jv_8^&~=#`-Ehf0pE>+6PwszESf2t%sf`<3yt)e^yw{ zT3h{y+dGxx62swXDi3~lF>H9fwZgttKxfjntFPE4*R0$Vylm#5DSKN)Ur#^knEO~( zO!D-)1#7|^%74v&>2}!fxcieW3F0>M_D7}kPHeTcwOE%Q_+#pVC2zU!Yl||Z@>PB} zjjdD8@M>MUPs8xjbNRVUR;g`a^?Upb3a>3y=xL2%yzy-O-x zJ^8OxXTI~-DO{7 zH@^1mK0Zt8soGo*8|Lfzdkw6li*~4(EAL$4bH?o9VL9{X`!8)u{^&L(-0)TBcFDBl z=J`ui=XZQbowq*-j$t#jXRj!bFNyHdRO~i;Pe*Q$!zm@ ztyY%UWzF0JDJk!4HMk?iu7%7J<*EL(d*!JYy<6mJ&jttQEOX~8@;EPdH&b<|hlo1+ z(*s$)F|{UoF{cC=7EC%WQz9x;_@{AsjzE3Or;H6dJ}0TXjhV+R=vO(l{}fv-*^f{`bbr$m%i&x8ai%o;nftlG$fir%b+lYwpn%UZ*8Fk1;a$NA-EHUAMB22&9i-@V1QXN6fNXxg;e_G-uYtk*Hp z<9Lv~%sS-SWr=RJht1c^FD>a)E?Bbu?%N#?{%Wn6plmq7{){*mzn9Cj)Otg6_w&ko zP4*PFe&)Or&D{6p#f3H5)7iCeFLgP0agNKAj9#vJ=X zo;+vxzGTwPy9TY38H%j0n2QS@H*k1!K%e(Qtp;Pt-Ai(uGBRIGwI-~PI5~-3S(GPy zqOn8=YrBr2*QaflH!xIvcHowuwdP=|#ktBaOLiE|Js?-u`fSE(?K6{H9&6Q=s;^kB zx1+m~A^pl{$Lu88YtJq!ho4OR`OoCaBvYr31C76eqe9M~I=q}Y-zy@_a7GtXt=5)g zS!vH_$tuYU)z^CPXx(;7Zl3%;aC-1(p2D}67FN%_R9V;*-8V&jfmpywxd_QWnH!HO zaNU$tpZYrR_MNue2cIldc!HNrjr=5^_vf*QnzQrMgcf}kuI{(~&omya|M+o z&rCjD8S;QfNoE(#Z;Q3XHEUnwFU1 z$l-B&Vqg7KU-omH2V~9W6n7f0R;L(uGKKa5$1zn-1v-{R;RoTF17bWL$OnS~= z&EPX0Vd}>WkGZmHyfCm{_2Gxy6xV`1tLMl)x7C=WvGl-!muGd#PD@CKl%8a2yiv1M zr6YQ`%wrofElJ(Y8anGZWCU&;e;CYqSjg7m#PWRU^1Oq#M-?Yb*D_o2*e1OzWz8jp z?lOt>QQ;Gtb6r?U?oOu$JY+LU6!Zc^&XHo zc5BiL_6B#uAj8jM%PZaP87WV!v}FyCo-*|mLkORdd;C%cD~XHj(|Z!D__Jz)93GZG zVLtI}QTO?uGjHU`mou|muDdePwP{JuV}$^g8EQ&?mrl<~-s`f!y?w%S3H5nXUd+ig z?2)TtJh3F>$c5gU%(A=;j@oW1mC6iEmI)a`z4I%+{K-s+lMSqVdFsou?%@7=hAO2N z3np2d>08)lcw@fT^fNb_&jj#06$h#Ah$y#u%Phm()fMWwal-`01%WOL79MB$c-GdZ zt35-$W0jM$;QeRQ{0{JGMXDJx951(JU&}gKf5zc7j-R#0XI+aWCf!eY@YaHdRj2g^ z6CWqT$6IryR;%5#HJ+rwcvi|egT+}QM$`V(Dq}Od6wAl&s;)MaGt1BX^!VMEgUjM7 zy;dA)xmA~V+cYe*kt2Ivn~WR#xtmWja}TH1Z2UB@q29}__H)fScT47F?y^}f8ofL1 z^5*)BXgAno>ola_=#sjta9SYpgX8lB|3YreKb2O%#(7@y(L5ENQ!Z`Y8(I4^9$GWoLXW`|Q3j-6W+T1V5)ArOO4l9qno2w;Wp)#fJ$y@otlP?{3vI}#iHpDg;va7$BKeqU1f2@#K*Gz5N#skVB#6bbMidGh$)vPk8}nL!M% z_^Vc2VpNN4>M1Jrk1n5*FEmF+PI@iFp7z*yE2E=NpBAw>7yk&d-F)KJze2{~1uu$y z1pfWjYhgUJ*HSJtwd3TW^+ClBIW69qdj8WUy-l#p_ph47`$61$rpU4j+=fpcTdK`e zEI3j)?Lkj)Y)^wuhe6$k^UU`eRdkl=u2%Bk(Bfp?>h#Egr_1eOIt$XOeo<<=EXxO7h#{%oH(@3@7@&co{%lRWJ$AJ(oc3RaLa zz7XIL(|Sw7jPZ-@%GWwVHGSfS?gW=opwJJ^S)-gRIFZlS}t6YD(tlnU>g1y-*RdYvWb;t2D_DdN;Kg$Y# z51bU-z_Hp}`XtvKqqmP+zt~NcSuo>B$DR3)zJFcP^{mp-cZp~KcXGSkf&k{Xi|*!~ z)nd5aXO~y#`Bbs{gic-J`MoZmV)Jip%3)~YXE)h+C#B)=qQ-*@`2SyitG}MdFI1wr z!Cj_nrDV&kEthLPwVf+GzW>tlX}3Hh`wKTPI)mNB9Xz*qgkBT&K|brGrqUchM#ZIegV065luNP zN1yie9bRAcs_jtL^UXT{8PaP`@(WSRNT-;0!@`mR! zXLa!B9n0yTzQ1Ziw9JxiijHLrGLPBkbY1+g^KirOHVNiWpS#Xn$x{&0a#vSqbuB#k ze8bwmY-gTIPb-soayhyyTKe65&CcTE@|vp+XD-?P=?-hn=Pg}r0tbyHj`3MYiW*nu z3Uz$2%h`B))+TrL_sKk-33qSz6$ji|(kYf3kSB4VxH0U?v6H>WCr>@_uQcje#ixAaIf`}fSGpi4Rj z-m)Y--)r}D0<&fgkL;1^D=o{XNZq}C*T2|-XGfFiEOYHWtJ5V{O4+L(wq$s$Ahlj0 zdYa)`xrm-kB}aW$?|Gv;NASwC2IY+t)#qL~^;6>9e};Om%@RJ-?w_>V!us1xx`17| z_lC%&hef9fk1Kp%uzHzevH01o{W%ZjFRjdfTbQ!>5ARjheeVsgCS;s``&sm)Om){+ z?#0qB>jLNeGEa=l{2k_)Ui_iyZ3=rv>f}7mG{trY>z)A9RmS$|I~PZ+eKXN_^V(f$ ztjRseGJg%@PJHCoOc64alu+7Z{H<&ryZo&U&d;?M<*C2t;j?SMwfE2+o!=>X2RC4H}_kkt{VJCmxad6F8$Je>|dThr(scK=_+N?ooq&N6yzMfFRawY-Z3 zTehFxt+RaIT+NTUoeoI`9ui9PwliK2`~94Ix3c6x8L422Nyg0U!euV1#W09JQ=a!_ ze{az0IDX-|Tu*;O9P_dfz9Gv^p<#t5<7 z)c;zM^}vfQ76!+K zs~dIS_{u##!TzKD=c8F0c^mSXf3ITC4}KqX?92a-G{o5 zCwZ@2In}dag0!+s&(&!x3LX=~Gadw|#JIQi7WWheutq$beNIR_v06hm>wSHaadr}jyfA}cQC za;%E%eCY7nK}XCjL6ydy(AI`i zOP)NI)mn3LN6OUpjTVol*&gTL(KD}d0q2CA+gR+tlW)s!*S+KjdBS9Lw&(Zdr5;zK?dJ67gy=jAXIRcG zGe3$U__=Z8{%paoD`zOJyYW+bUzP#q6q)UoHe3-WN?^>wa^dFky{mk-6ML@ys+3$m= zsf2wt``DKu#LRt?&uLS+P0FK10SEGQIQ}z~Z}pjUa_`jZ415c|E{PQUyhqgX_Ia5L zMlLtvPj$>=IAN;T8?M7mhZ<4UDo`9#3*AUD;|2FLj=uX0ur$Esbk|jNtJoZo7>C3{Aa19{p!Hbe~)IOGMt$ z{ol^%-Vx*8>iM+u>$mkf{~4Nc{@A)-{c4+4puBU-%q5=X8}2>M3z^q4@%-bM{|tXb z@{dWK@BUL;`Qf$qw(1pMzJ2m}c;K#@k%jH&KdbN8C#>g;`{DnPM}Jl1N!fb~R;5=u zFl)G#J>I^*is6^kDG8ey&rk9yK6UuLbG5Lm>Y+C|>#m(Yb*$shjzy z9>_`g7s7D8b*7Vc&+5|SQK4adF6W)U@0+*f&aQ+F+7l0~6fC;aKYizWM_xhS0wsop zcMd$3IBKi6jq&NK33m?%FL7mfP@eI?LE zF757DF7~X7gh>n!iYzQwKJN8mSi-~}m3hBFan{|0j5C$e>Ka!PDp%7$nJ zOX!HRi^jSCmT`R&yfwP{+SIL#Z<&rAZB+R^?}`}v`*nryy;59NB#uQ-{v4#E!BKF0 z<%x5doEdE$i+4UN3Y_1 zQ05Cm#X0JV{T3&f)-=tFJYcC(+;?wk&{MB-%{o-6e~a_i0W} zoX@(!iBEI(qfqHzB`kekc-l+m=j1MKs*CAszPEg;-_^&;Wkntm-+XTY^p;Fjw5@Ab9N37Or)c+UF&X3ZD8jUqe$a z-g%y{$Hl`!4AJ|Gugy5Z@t>j0^80%S?%f%JJJ}0fWVsr=eUN(0KziY?U?%OkN5j{7 z{(FCE*1Etpf4^r9dZ(p)w@f|w%1=x3;?%aQGGC8cc%5r>JotUtHogljpWiwN7(}Yv zdhq4RSaJ>ET>k_M$1^c`!DvmcQ+m{s> zA7yYCwtK_>?$3<}Qu9;}v4%b)YR^6)FVXu6x1W^XvMIf0v|UcJ;R}+}mYv%+g_IWJThwrBO$9`?Wrbwiy30+@X3S zMv+OupZj=x*3aT2Q7WCQ8Nb;Z*8Es{Pon2x*S^v5)ZL!_UAL2%@>iKn2`>rOQ;8t2MD^g-N@9W*} z@~L|kPpW>l!@kjoJHK5jbd58k($nJm%%=AiZ@6_Q*T#JPL*E?cN1OWYh-Vu4+svD? z>SCUBN*GIeSMM_S$rVA1^9-&WkJ$Kh6<^)QqlOXN?zx@6Co{oPy1G`2y*%CEr-O#Q zx{0N#fS!ZIN%qO!G82u(raYLptg&aBrAxKbI@_~W49Sk4K2#+HFHU{xr+K6$@Yo}N z|0sq;*UzDcc#@mnd#l~JAY@d_vE1Y1N@>f)KI2R6E~P)u6%{r+@NBRD`NV+p%W+ei zy5vdm67t1rvsTMERxudZ|GH|Z%ErK~Q1ae^V`5LISHjfix28pM9-p>k>bW;TozqYM z{KO%_er8pMk~W7SX!qu}-^VX^Wj0@o=)AH!WnIM!3zHwtD?eQ<>}#8|;zXn8-NwfGUNw&9 zhW4742aYqXv|i+XYBA$Xcey`T@|Lr6^^I)M3p^7iRhZ zLI**Yg`c=Y6n=dU`qR~wnm31WRt2}x^L(wsNt$Ksl6Tnd9pB3k-jP#QuCmVJ@lusj zl7~M|yzsnhLugT;@%bRFEz>3!MENw_l)H0*xn>UU@7_y&NVa=hg_!m(c2_y8cv6d`;`8!{Sv);i`(|!(VLz5t(U|+cz$^)>-^R8Bs(uV zZ}}bKDCIHrvGTe@Y{oB-X04gH&?1lNb4ZE#G+()ssZal%lu&HrXI{TuG=pEiN4`!& zQtj?3$=zRm1^G-|^+ZFaDr7=sbxV%J<0k(oPZ!sd!H4)Wkug{vKag5C^+Jw_6Vw!=2%IE8BGi~Zp+D`>7-Y&b@Kdh8}x%x8A3ma1{lodX) zn!GXJaBMrHQ8P=a+}1d2$;j_+N7UYIx7E5e_sre8_`OG!>`!;x>8o6=;M&2?_*j|! z>4|SEC6g5l1Ip%U*4$J}GVqiwm%E}<7nJzq=kN5rYAi)ot5e zc|B8m=2@8Xu$+6p=g$1N8!P(w11I>3J)K)uansGp@YymChyF>mn>{#~Rz3b}RmONpV?tZ}5w5HguUafwm|Gb_CLD7TKj-=O^;_TM4PrN&{GCHD zux)zxpiK5-?VCzOoPtNxS1LRPlJLw!21;)i;~V`wsA^JhPv|P@8cugth&8SN;jZ{TpA@X8tQW zXT~lmTVxf|zhL9jZZYXLtEwPx5&N|A+!aYZnzhs=jw;6xu>w_Oj~uk@#U-^_rLXD zO8W5pnDp%GisQ3Yv<+l<5x z#j-@%>jlcP23kc$MM5+DJ`~DpRrgI{xGX(yK~JB>a-o_H&1=oil}ymP(|m1`r`Lwm zR0ie=Zp99L?vMQs?=61hf4DdLP?fPk^=-?fB*Uqv3fyX6f6TN`w!h8n^W!mFLyhSp zZr-F@Up8k=;1s(j;`Z=x17nc2Ty@g^(%igt$@eC1l%CGxUKrrL>{i^(8R^@@VsAR! znbSPyLU5GKe})5h)k8o0XE?N$`*77QkMCtxIi5D3Ez>7{;7oow`PQzso@uwD)zu|M z95%b{%RW(V_~iL|Q8m7h^?uJ9Ba)qp)~)*~JAH3W_kRXfss9X3JwNt;bN!e%`C+Z` zp>0MH_it{Qbk|?;k<0Ou$K6%FoUN^!loNFNy6o#y`!n|6%zo(q*8ZXThwc3~mMoiV z-e#9wWV@*-V{UtVZHU)RdDDOAb)xAvX= zu)e!wzW9%#%SZpoUYYjZcW-MPcZ%_9iO`5_JPEC*5{{azx!F> z@AIVazNtfP50}5BqQ@^jhGm}8tN68o|6Mp9l~Z)AVZ!PO4mm}PuMaNR?6X9t)z7+A zglCeZ*}6-6tv-8--r9evBInmPwgod~7l*sPJ@=}}bwhF*|5okppp%6f5_z_@S;oRb zT#qwk_dMr3|`lRa1Z{G>I*P_|M~Q~#Ol%?AaV>!-)>{_*Sb(}zv(k5wL3GCap|&hV%;qe#NWTgMf6 zl4UjDN_%&dH&k8PrD1(q@GK+Shcng%#U3eXX5BL$zjRY8QoY}L%)s5N+T-O^+2395 zXKUuJDZG)sl%Zn#+n>vI-@nIzBbH)~RZ&V?G}*|IV5 z2xxzs_w3iRf4AREUnz2N#Q~#3vK?PezKuDz@Wb+lYv10VS^VKYgI`ICb@-bVX6Y9m zD@}WJY{gs38NM#jp3HP&Xa9<0 z7Aw+veD0;JY*U|eWuu$FBxB(fzAs1lmF29;&N8XAPM7BD@{DImczlD)VJCCe<9Ra{ zu06FP;mGG(4MLW4Qx4dq%{$w`es{$!gSDII%v%z2oAa>d35MrA&-xn7bhfKHJeF8m z@gzr}@D;~Ov#D`ES0)Rt5>|TB*HFGVacPmf!m51RYPlOnjTAm>sI16OJZfD&Lo9fX zTvG>6t?|!`7ity@2@9l_-JLvVa$M!_kczJR&OaC*NvckGw_{7j` zOlpa7;$(>z#n+binI4+cGpl!M^UB_$y&pYVzsv2l*Wyex@magWK;eVM#hIE%3_+NJ;|)_<+TMJyPqgN zm!BIkJ9%M(pL?8^XnzJzv&xr)OTI}-d@K9prD8Los<|!B1b$>T9^yGFzm`YT`dvts^$u!d{*3+j64kv?Q0gz~0PD)_P{&WxgF{6&{o@mCI{&m=77sTb@q&C&DywVVGs^-hPtXxpWh%?Wa>Cc=j2XRu4$ zzW>^<_Nc`%hsR0{if0Zpx(Asuk>)XE9e6rn33V2>b9v^Y-wRm@r&-I=>@bJLsn)+xPQwZL`)k6c|+{d|A%4 zgyF{b+YSP!;-xQE9B1k?d**z7#Y!%L9k1VZIr3Cb`7KcKHsHqk!gh|bbyk5}a@lSA zt4fb&D#b7r*&a3io?3J5xlEB&ki;{sQ(U<+b0)_5|BkyI6Z?nf>NLYW3&Xkm)$+|-Rf9<&Ew@57su1s}dKkMh1P;tO^-&WnmPw{W8c_!8*hfIEV z$FihTT2kec{q(2tWox{@&A&U3pGEVW#rl@|WX`v5|Jh|0s?6+XnQ^%0K-+`#9qae5 zZGKlEp7h>cQ{)#z*QUjPuQGf;Z<@qrcznBU)$_duZ}S-c)N1a_JG{lar$26st^iA0 zSZ-HK!=B=6OPdP<=Pf8Q_7qoEUoWcWm5?Cwbs3AW$Ho0K&JN`UWiq8?nk-(1o?;fB?^Vb(-$?DkU56#sj>qFH7SA)D!?#$(bippc6PE?I zMrR)Uqq(u}t@DZ7JC6E&RAY?!%j^8feZs>2^H=)*Gdy(NqEIuL!Cd1cbA!c_j59ZK zk9=SF=yn^sO>kH^&+09ouPxDC@OHl@OUmP>Ooh<=X<-W0^R_CnCxuSX-(D5orEqXc zYNLo~^~A)4pAHsZmIl4~al=D4t4!! zzO<};l5~UNfv+Yn7Yj96%Kcp6X(Sr^v0-kl=EdF>9LJ1%l4gpqaxiRTx6L}1e4y<0 zeG$GRdS*;V{`$K0G_0KS0?QCE4+WLF*=%?>-dB>KOSG3^FVom zOv2x*D^e#O>0;(#oW@cY(z#>j%!4N$aIs81X|^MI%Y2`*6-xs=P9@uVJX$KhrzqH# z(Q?U+GftD|J9e=@G2{%jw5iqHm^$Bj)86A%lP471+wvgkgsYEG;eiJM3i-MbiADSh z&zBkn?tjV?-gnicG0=(ikE^qh2iwB9{xV!I5 z4s+xbqsHBqFKo3Ur4=+KS6uDdex)k-$wcqoy~k~W9o(NW-Hxm{zScr%)pL>D(3d-& z+dP`#)2Y;EQzp5L$>Zt1*eCp6qEix+W#&f(1>Vkl{nGi+g%gY~|3oZcP1BU>c{1_9 zOCL*1_Q`KDZ}hWvy=5u2oARS2P@VJ3$*&9aixkD;t*uL!x=*v{$~*m-{iXA+Dca`@ z&+%!*85CX#u%6gzd6a)gLrArJp5~_>p4QhMt1cx!eS58um$~9_PvME9(gF&hHjld| zya~PA!&4O`5xVbvu|q_|F^|x=zqVQxfg-ujO?q~FFcxkpG1>6&Bx}Fz3P#nGlhXdS zN1ZmBbKQKrbLBp#qg9{JDz+Id)||Us+tDMXA?NSSJJ!KvXGAJnJxn}UszXi`u>0NB zydz}T=br57+@b0gQu0{j(Zy8_t1Oqc8C+mXm;Q0++p?c_@gL^&KU|rqpj>v4QDC0c zrOrPq+ODbF{e9)A zWhIceB76XGf$j;%)D@cneuP%^mp^WyNm3oTXB@Xru0|HK`|HUjmLesdZ#o_ z6}fwXuV=G+^D%b+sQzR*&X;E`e1hbf3uJfCa<+QQ*&}@ApGfP5W82GojyW7J+OkrB zck6Wfs1kF*)88ZHjs$nJT2J}>dKT+yrFoWeM(q~LGNsE7OS{ZZz2m^#RC(4{@u!7+ zoR-Qo-<^zA&n1tsGI`z+|ITs9?VrvktKi4IsZTv_h1*@_On97k@qJg3&BhfhdF(4+ zI(k(6l+LuN)$|iRq@8THY;k3|=dr^1e*3;E$sA$KtIgWQ)8yvjtaNmm`rKs`r>tR| z>iM{F)@12Q=L;oYm*o|6mN{|F5$@Zn!|wdFap#W5mL}^K_vpD_n#nS+Bw=FH=@X_Z z>FH;R9ACaY%HZZ`yQw;;!(CZIC0Ti^{b`j4$**U%fA6bHY_j!b@Z6x1=-qG3&VFrS z_|)jr>gqBA^>e*-az1`;YPIRAf z^J~7B!%UXV#jn^jm^?)eiB|pPRi1XcVQzJB8pnew2J7;LEX&jtJ+&%$3}-PU&0Vlr zK%zvcBl5J&a>-ZKA^mx46=qr5H%lx#Haon0=Hz*MGZ@b)cW!TBbH6qz^|SKNcou%I zu(T^=sXqoK|^y;)D&yffrdBr`7MrG0OKccubm+ zENfKBQ)|C8Y))s$Nx{4G3}+Q5c@`hvYt6BoV{!9&*%ypWoT5&xuPm0jc^p5lcCTty z@w+>A$${rH&dYDE7iG$NSiDn$_2r%4!67Rc3LA?23y)f5++S^;H|4~|P6nRIJyL8s zn|^BdHl(lL8nS!-sn+EIe0)~l*M&c3KenFrkKBi&*E{xP*NRjps$Jsgy=?Cw5`JQy z#ovAZOn-d)`(=MyoV>Thormhuu}g9a8PZTho+r)p^RM$<37^WVJwaEh~L{|`6i#O;~f5-+U7?)86Ie#lB?wThLD zj-;EiVNdlxi3PR%vvvOXepHT~sNQEiGr2A;wzcBh%4eH@?3KN-r|VQ~YuPaop|W3f zc3Z!O&To5@yU6g?&BI)8Z@2a&%S};lTj%j-r&VA{Ug73UUR$fPN8?Y z&KW=VJlBlF5BcTd-fiExEmiuvrphG48`m#wyuoqo+mk*I+v7`pW!LsxWSMqN_h7+| zIA4aEC;u7v?UYaLixE7!rG$&mQ|5C>_`~v}+&!_;2QC>%PAm#hu-p2TC2Ye2xhNK` zss>BBuTnQ%r48H@`s@(|M<_~v&BAZlh)a337aNQ?z|`)ajnYr3EwOH>wp*Xen@f?_gH*S-+M-`CPYj z+3G&OOYCvSZ(K`T_#ybfbw8n4)AJJQ%1gbYdUr2w-~8k0ic^febpiF2ini`7&PSZTMr*$qoEokJEl| zKZ;K6lgL|oe{-WU8_Qq!ti&Jkk7q2>E>tOUyP@$>j`6rn=>q+Q_l|!oKD^A~a;!** zWm@vV$4fIK|AcTvP(;YV%lrYAN@wYWC?j9e-=HMOREVVmmLjHc#xHNWCGM)Sk> zJ1(BM_ABM$?FBijeZ{=`9@Kla#dH2~*yHh_e7f}cnF>99b2q;9Rowg{{)c~wyk_sd zjm)euD`lQ-zWm5;vd%H~UA>+b=c>XRZdGtUGBM}ZcGOmI>y@69Zpr>D#QjjbXhKM* zPI{&adtN+q`9hNz!7nENEI)i*8L3wqaU@3e!Lw<%AN99MPT99^wu4If<7@lM{h4YK z&H34uXBulAk#IZbc+ze$^R2b>+w6tx&Z%0tOyuj|@hf0@qIvP%cXe7n(mc%~UcGp1 zubg|p{@<$X8jlZ83g+(GWwUfAqsM{ujQtPYkEG{s%gr}Ty0uZ%^1zGYS&jR||HMR3 z*)!>>Q%|BL=lM9>dM_!JUyOCS72f`H6R((tp6*%DKk4}8TQl{K^Rq7L^V=-Qknrbz z$?xmUQ8gStmX=%Ji+%MdyeLlMmhEkOIg4d+H4HyCK7GGqSG&DtSm=}HSGF2A8{ciH zsr!(4Yi2>C<{9hYRz zl#nSq8ezX_eOD>R!miq+hs=6Mo7hu7vlsd59{935|CaoLu!Bqf-Hc3e?o`sge1F!3 z_HWG}de82TiH_4>KK;9=-F&Z)KkZZAOTFBzv&sKk?_+7z!UHcDm0xIO>`%4t+_Y0% zylmUICkY%+S&R~s@6Izd+nbxH>dtjy(=krpJ?U$8ufLi3n0sp=-;RrKa!)9=@bJhnepz%~@5R^G z{XTo_>zTi~{Wv=_PjAu16eBAk6(Ir7m&cz5 z>^~6Sb!}Rg%7-UCtxOB`yr0zj%qrXIepOsv;-Ad6>szls)Z8$W+xxQy^ZQy&-8zE` z@smRPI}&2vaz%c={_@g3zYRZ_KbCQ?w7Z*Avz2jfgn_cG<2RA%{~4I;l#Z9nl)bH% zpW{5Oc&%nFyyVV@6xie=Je*JYh;p4LQlHdEcgs1TtI38er9j|cy z!{bM7v!xaoZ<#Rdrr2}q>o#JxMp;w8&HZTZvnz7Rg?AV1u4Z@K?d|f zpUq}}%lR?dzr#2y*j;DRhQb~54DZX@O^NOJy@=N>ds4*mQ&u&Hn}cfiN%9?d!1{Pz z_G4b*ZySE}reim8r8b14?=Cnv0NU|T8Jb(AR zDSwQ&u{{tdoYyvEy-dRC>-H6o=1Zn4^l`~duzb{@9BJmgIYV*!9649dGc$Z|`tCT$ z{`0bG*uArI%z|H)+CK*{3#U9u^<`Ew%a)1Xd23-v$;lM~c8@lz6<+x3YH;6VW=}%d z^NlOHSF|!p_c5q7mTGTS31YqZ>HEQ#!MCmE-&1;f{==-Uim=jK?aC^}K3$oD+a@vi zed(;8o>%k2BV!7i@`S^mRxMo`x#|3AjR)n&mqvEZi}>^Q!GDI5Ssh+WoeY0o;CZ}q zfpbdG$A>3hUXjaUTKkkO_2h{Y@=>#1M)b8bIUM*`qLV8ixQ-#vhhx#?A2plok_-+l z?@+vDrswWFE35Z$L6GH>S*{ZoPtZ~m>D#e@sbFK8$6`r^^4EbXJ5?-SSaD5?oX#jI z-RCVg->WO6f4U^g2M-a36(Ps!-Z=~JC{LBniBqPsXieb!`e=1+0G}r3iIM}w7lK=~H?SPDn{v&-bz1$d>dAg>Y77Z~78-VW zJ1EaI60O+#LPT-Vn9;nvfuvm0#6(~D$C*#xUAq_bgFyk%Rrs&T!#}Z)LCn@ z&VA{vnBG+P!8VK4g;!a~&x1kud+o{ypJ|55noc4g%6Zb|ABXnzKK;q}lSZ0-|iWL%@^eMw<>p->Gb!!`&szf=kupCUXL@6c`RI_xb2Ol zva;>Vh1LtBgw-N^w?26w=kFDMXO)uW&v3~Vk<$Wp&sitkJSX_HS$V1Yy{T(de1e}y zs?6d08WFdeS@PxNiE|RJ&Pd{FFGxIY|Ip7n+p}Es_g@a?m0uU=r-ZdSmX+76mp1%$ zStVZ6r(>u3w#-k8n|yaWr~YTqN}26<={dt3#yLC}6qWsr`EI;C^?0qfiP(#S8yK0_ zx{7>e5Kxczk1AOs+x^~8d@qBQNkZAL{dG5ERfUH!3%fx^7H3Q9d-8z-1|AFshKM> zgHdgZkeky!afy2mz8*C`-5PvKka-Jplf}yK#}=Pf5vUftHshnCp8t%~$8C2m@cDn` zEyIq4(JI?Qa_&V0$hTk_^sq^_Kc~quJ+@EJ)e`xL9+==Y-4(Qz}ybzA56Pt0AvB_**a>saAEwNE)56~`E!*jZJFJ#UYTd=#msKJoQ|N1Oh{av#lF ztGw=d?ovM^_7x}B=ChudpX9<`ar^tdSra^y2FlTF~`17o^LXFd*kkd%4%tyv6n|Ez8^n(}16pO)pGW5-V{ zbu&EgJgc|hBV(S^yt}nk&*tRK?C3di>QB$F#{0J#BsXk&n>>ec^5j{c`)?i7%>Bpu zDnD<{IftjxJbO1;Jld=2z46|T{kN<*mi^FQrL?os?9ZyzldLXC%gDc3FH@f~ z?bfTOX_K@|k|GM57+&7EzT?0u{;7;_k7*zN&ycQ>yXLD{bV1{jtw9efc>CsrZ@axG zQ)0#>1ET{aYzLen#uKt{+d1uoJ25UF|aYy+}YMsn}sTQ``EV{c276-l;0*?*m@lGW)Q- z!~+eBN1e)Lx;yy%FU?KVI?}jJwxz(oeyMHL1WlqPAJO9yTq@^G~HRqVGzqG8(~A&Ubq zvN$fV=_;rfvJ`u-5U*LvJ?;5rk-K*fO1_??Vfm?iy1mBf;3SVFoN5<1;tVhUc{KHa zIm;oHWXqqe7K?JFJAdxgNWXFFl2JpJ^^_)O$vQ6cQ^lUU8zt&z^v?as@bT+vgOx!` z3{{?dx^Xl_Fr~6^+cgWz<9j`MidIj${AbCRqY65nDn%>eb%ZKTvUMnBTz*~z*6TjY2|~~^QRooDsC)s&A73x;`SY`S$Eo)W%v#+we8vX?o$VQ zp5+2A;*JJW z`lOtV7MgwHxjqxxV&C0AWWb))DvPlLuD6>3YF7i<@RQ}4v3oNSMDjnq-GK_ySR|`nbbYryn`r7NA0E^4H zy05mXt&0Lyc_?#L)&E+_a9;J$yOYP4C%SkXQ$G0Qd2^U($k9y>J0H)_QfzSHT63J| zCd)kc?U&{|Mr8Df_WJP^&k?+|XquZucY+Fk+*IvmmFTG++Al*cJq>lf!?a+I%)CsV z4GhPg$&{PiC|vLu<1la^AdK|8!@F*fk^XohJ_{ zl&W6{ohi|Bd-C;5drp5l_Ho(N2k|%CkKFpUPTJiP-`|9lYcKHUW$66iK00gL z+KR2f9X=vP-*9G$y;8_YeLt>(AG} zom-;UOV=cB**1TwS$*cL=NUo%9|hQ7#xE0__UyLz)=TF+y6%dr6!}?SV7c~jHN(<& z*|UnSo}THycs^+AzD=E!udkvnd2qGxQ4!aOC+lmsFkD)#A(`_rXpYizb>?MSoNuQE z*eokmUdT3Ip(gJZdk){fF9IhG7!`|uhS=}67!URi|PrS;h+=j7d z*gRI{xcKgPtRlNu;qj$;JqwK`to@zbjC})l?m7OlCzpAzr%JYnWvHy@LAxzm6Ew9? z%FlIkdjF}7ja`9Dxn`b7@{i32mhZS@w(j!rh(77F@cVo8oK<;L!Y)mtmX?jh zlh_$T+qO67-I0-VvshZ45+lI*Rc^{o2M?trfA)1n>>>?MXI7lBkqJ4+)VN(`zTef@ zi;L^`ELNZ79;X%8;FIjqDEF}OM*TJOEVr7s4hwo4-m!PNrny)KIlkhxv)5UFqAanX zKtuRO{`9A20V`#%-?_Zui1wD`{|xJWLxmEjp5r)wX^x7)4u`%21r_fdbs0O|-+RqJ zH}jcE*1e=BWfEuoRS%0r6co6}`vh~Dt1=uoVBK%RyGZ4RL(rWE#U5tLd3XPPx8Xmu zWY%3fH$HcJjjtw$8f6~HE}rv!!J>#nw<(^_gy%WEdvN*P6dt2#7H{|}m)%~pNvDOU zZp&l2D~igJ_bgAUi!jP$-F8TSB6n!1&Wu}U462&%1UDbMucgRR`zXB8Cqm4xXusy$ z%genO0`r9@Ff%QFHz!?Gq)=k1=AI4lQ5#kT_Axx(@IuSb%Hm9pEyr=&6^v`jc^1B^ zIIHE-Iq8gt`lQ;7pVIGT7_8=9k=?^^;6KCG+j3J5)V=HCW7Xq{%salg`U+RC$joyA z>zL%4=Bg~#%vF!OA#3Qt_V&&nCckQ_nJG7xWhy2fGb=r6e6k{iS89^+`2~yaIjMf? zsSGgkOg_rssVubnc#z%8w{JbgjxEUB1&z}+B&Sy;%)^eOE zp&~y;e<=gEROA!SPfa&Z<~^IM7qRa8gL1p6Lb6X=dMEaLzEB;sCe3%@OPtsiyvV`}5B%W0QonI#u% zys9d)pR1i=dgDWX`}A;um)muoGkM(gt9sD4^+CM2?#5LyF-!N^tPD?oUpOfu;p59| z`=(y3<9jV9el<^Z(pS4v4gzkf_8QC!*U#FY>A7x;yx5&gA*T~>%lRjmC0DQr8C3_& zc=xV$?uW{0_N*_=c>Yd;@f*aXJr?a(u1jz zY%@B`(x>KGH;0y2PTt~I!H{b9@#mF;cV!d;kKeOgYWSq)K*F~LNn%sEmRKBooGHWa zRr0b>Lb}cKasN`g8yX1_eD+auQxZ6)FcnW#c;3aZzM;UW_h_N_Q%|Yf1Eq zrOP(PFgAW&bvb5Ja>c6~63b2QC9sCD$(KB8%Jbi`;6eW~P4m^sy61~D=Vve|Bu^5b zuz0PZ%$7Cm4ttMBWlSn!eCT=LO{OSQ&0%%hm9smOc07N1)SFM(=v@Y7wMCp)cscZ9?VlwoB}`94pPm8S7^(;85PNBTU7~pn96g zIiSh8aI zvyK&UMOsHDihnvjyQ%W{I!)V#w7VxnR(?CMeA9|!m;0mY0+SxwT&)b8{=Bu#;kd0< zgoM4AO0S(rc890s=7P#sk{$=wpWfeGm;CSIF5N>NmpJm52tKS!+Ifpn*57jdW%<78 z)64dAnx4!(Qr)`DNwD|tPW#@vq#E|is`0mOd*=qmDsR6UdBkDj-cD8#xzpDsroZ~u z@a(nE)_Kx1RqfM#&ng^zd0BM1@H&IDZ$nHx)qcy=rHNEJB*;x&$US$d(+B=S2kU;l zjjX->D(Mo-rEA>x7B=7D%2wW-(!>9KQ|6ON5AuFi>oOLZX-eKY-!r+tDkI|JuY_6d z9*ZZO-jHWgC(>TCzKL7TNJDt1hHRt(|A(zgYdR|J{W5P~=ayQ>)iY1iF^;dcm!)%` zv&2uYUp-eQ996q?vcdSZ*T*AC7ALj#r0-Qxe z=Y;H(p8n+`Pq+3?(0a^L@+Rx*1)j3x&&qXiQ=Xpe*Z-V6^?cry4yHc~IhdDa{tn$= zK1cAS4~O!Z+@_lne|)Xn7(?B&%1-RN{EYE4i`L;+nnJP%9y6i6dfjSx${1ddXV$}W=}_|2?N+^q z78_~J*D+Tp`L_JHvUaXu)9zhex-0mmf6t29e<69Pk(v9;CTlKr*NIH_@d23|ZnqRY zE%xA+j`gtK@#Uzy@=R{GyCQwHng7y%tNh~k%Ffq1BUsM-+CgaXYTngvC)8$2=rl9; z8DCzwOyI@RD+T^6!O7Etj#r6V{$A_uAa!xa0|kZTSw*Z}KB6xyMb$pN+`g?sl(Q^6 z&$_74fzN2d?RLqxT~iDT7*+UBEo{By;2~@Mc>Sd%KHhS%T#Yv_Fw5P4cF#R;=R)N} z&+}?6S8HwxuuHtWEc2dAw5R3cOARlAVh^4?F8O%QN7o0*9M*pBOMSJqMAMknC68+7 z)J$S!ero6WclVe1Z|-+RnXOMbH9zlCPnx~{!kDzZ`@i{Lkq`P|oiwjNSIm61zKY=W zTYFxAd->tf>FlLHy2`X=4EH!Wl=W;Y{;R#{Z)fRD;RC@L(+v#;56Vn<^0eW=Ymd#h zc^1mJ`5C|bo3X=p?KH;XKE`E|i-ih|7OMoPZ`jD5DwmR4@w51{yw}9QZ4>9D?^v;I*Sh1c`}Q7Kp0YAj z^7vlHO@jBI9hB+n3{LY5Jn9o%{q(r3RX}p!r*#anE7u;Y-2OK3xA_nLZ}WcympYt6$%~uis{$zW&zbhwg7( z7v0US=SsUbt(;fnl2!&?NQ8;N!EU<{ft8KaM?i>0DBo*k`cv zTXO$YclnaCV#=X^bXY0k#x6BgfA{mU?FllMvQDmve3u%be?@YdW3LVK$D9u#;yxMFyA=gGvk zK_<8Fa9n0)?n*lpvqIv9TV~ghiCR-1FIXa^Q}aNs)+#tTcL7iO{HXHDdx|RUzN~3e z(ACa6`DY~;tIq9{=Y9AzJry_jGZYwJn_A?c{rXm4(}o-0WvmNd`lqw>$Q53=T;%uS zW?}O&KF1}lfojj5_dT1gadK|p6`8^pT4vjMmaLkSyw`gY(<+|-3>CsIs|unQD9_V! zc=o4s+0hk0!UHca<#V|vw3_3%#Vz-*>(Af6@%(KZ%a3-oiPAIUcxW$@3!&7940?hId6Jh|uo?i~L*4My*t=R4o}COvaF@+9|Z1_Ki} zpLMaHqj->CbpXTKdF;!x5(GC3@Ll3xsx9RA;{fw(rnDCWY}Gj5S)?H)?5JnNu?v>WKQGT|C`+Ej({SpPxWwyOMMm4A(-jmo>e~M@OD2wR&OO{xvLL;UDDm3cHHjE zUv7^ck53*9&rJ<21N@)fn<1(+p<(T*C-c38OR_??RX#RpO;2Q3QFK~xX-dnVmRe28 z?J|WEZ<{K+Sm^9|tT55hCAp-6_r&{n5r zcZ?nz+}=n1?Em)Y_KF&h4|gveIXKDO#rMXENy`) zu*?0qzTl{4WWmiRrN>{!Y(J3gnETtav(eQP2$w_IX;9WN*Ce zWJoCN>Xn^tk$-Jz`kfidGF4w!HD2bKXvSBe8xnM5TSJS!qPp@r%jHMsaU}a}O>7Nl z5U@C2H9z@5dKa7Tw+$-{3SZxwrJ~!|H+R)4!R;+~&sCTjS*W)hl$B~wojBw9Q-D(>tb8|?XS&vpeehTaVhKe0t>q@>smi>oa6O(+}Nw_ zwzu$=!_wYAM-MVgGGgCqt1HjS&8EEY>$2lnoV@egeS%o?ntHZ#HxwT9m4|M{E}35={84)9F$m{{Uuaoow!sjA`1eMRlb@BJAR zZ9cgxEs5|rcu?m1k_jEh;%%)ML#rEw4|%;0RlnYq(9{3*Na+c=sd?&pjfX_f=X<4G zWY5_wP%RV8#QTaP@c8noN&5QjlP$i>YH??<&pJAv*@pQ-Xw$~WiGQsxFp2U{&bz~S zIDM;2%g#?H4$2m3MKpxoU_afrpk!&N<>B>#$1+4amZ}*TU-@>F<6wkF;FqPlI)6;j z6VE)UG-D5ggT)(;l{tQo&pk3KVthHP$5=d7vw`2bKRC#mso|5Kb=fk-gxjg=vYqdP zOgFT&|78F0vCF3<{KRpe;5lqgCr_x$1UKcU{=LBH9;6|0;#2dACxvmw5R&Kh z<*M?AHG*f=W7|wsV z>{ed?b>;D#`Q~w3gijfY-uQUTI_ShPgNB7gRv(XLuq@Cy(DQG~s!Q^F7?~F?Fi%?X z*{*iZygkA0C#Qu<#q1dAZWtMD9`OZiR zCMiqmxN%q})!lvJ=c$54N4~dtv3U9Di?rE{%JG6M>ePzMtbEH`J-(tAKaoj@WS)WJet;4cM z4J4HrDgx&OO*pflagu+%SCUJw-uIYIU!Gh!pkNs||IpM1XOY~08_!i7cS37}gbOs&J~G+f#B-qj z#^5f$td_;vOQIUhJ!#81Z@ZBojXnea-_Gi&~`P`F`t z$J>e5U;3*XYR&U_{~~k3JICK=WP13s*gT(XV_xy{-i*s`g@W;O>ZZIj*GdpOYzsGHI>!nMg9^i($kzQB);2fFiHtrW~#hp zRP|_TzzOF*iwAsDRTPYyJfHu_lv(22(GXz8cue!w3AV`_%eEOM#H(+t&JIc&bW zm%jcL^6@a|=_vt63f!~UH=KCznN9LrEZj*RB@1V@&vm)>tDfhey(gk)nzO0PDx-rAX88kDAILy!<-3L z>61MI1JAvA*uO4=ftBlR7|ZwPOI@{u4o;iG66tpBWSxPQZ;JrO+mj18B^6@cuboj~~CJ8V-U&y?| z^y&}kZ>2x{AH?cu$MaP9-Lky=EK};H!-xXvWO{J>AP5gi!-^W=H67L_IrGFL6vtbm!Ia~^RnjYk;{@|T6sCiV|${* zyPZqhE-7!VU@1}WnlJhH-rL*Nm;BbJr1WYd0m1tT9iX#OtDSNv~b`!j+Zz zJ3BvnocOZ*Odukv`vvpXXBm6rL8;|i{_ z(LG&r&rDK`$vg2bt05<>ldo)}g{*&|_Y>)c+eRGks_H^k8JL-g^fAb4xiWgHJZ`+# zc<+gKmO#P+3)##`RwDKa?E9)iCg};ht+P;Q4qW0CYCU^--Lpo~2Xa{{$9sNVQcCQI zk^5n4let}mk3%BJDkSN0_Dod^9SfFp5%Hxh9_9k4*!<%%)3)|XSXwf#c;V`?aZjF~ zBlGROw!h{iH-BcnH+8G3_9Bhhd}Rs@AAf{=RJh&hf1=p0O(59vv8c%OK*#S-nVA=w z7%pAt_v~tN!E@$$j}~~Cd)dr5aI3EDe0i6K@FrvH7oNlR~@Uyy6MPvz)wFI{9-)dmM`tbWT?h?CR51HF+6(B=NhR zWq`xl+^4g74)<-j+UQ++;*I9&DXI18#|;fP_0LG?Nt$Gny)z*R%w2_-Tuw`STi#h!!MxUAfQ!em`gwVl z?9KSR2L?M|I|)X9S@C&i1w)^BSO0INWA3-EJ)ZOULRb&O4t*`=e_suB0u2HhGrvf> z|7KEnI`s$h&R1IQ8#W!gzqzNeZ_d?gAR&{sfaUHwcE^!j;vSt7397A zb_>r98y=>r(Cvrib&j7DEMj0j$bJ5?e^chf z+X@f^WX0>DbQk6?}d= zab9-PlMOkm(yz14<*7JO*m^u}*`zy}F;Cb3ll|czuzA|OS}|tj9`T#s-M1Fa>VI?i zL9L%EyH_ipxyh>A-e&c4t0s0zb}Rg;%@mT}F|&vv$daM@s^XiP{|t}#Z!$Yp%C6Cq zlo89=e!^e!eVp>g>EEh zkbLA}lljp8?ap@`Qzyz!F)Q3rV)t`>hkdSp%P;pvo4k2OA96k)mTF4vF4T(eIWA$t z_&(mL?!Z2+UDs^H_x+5NeLHo}@>hOUA013;#cJl&1xZ`Hyf*8+$^vZ$yD8r~#8O=n zn?L70|Fk3`<=mk?jMo|k7Rwt>&u84Q{&m>f_URJL7P6HmS1l6yDWN&vr!Z`>zox^T zT1&|VtNWc)*=xL{Wgab3l-Zy=X;0}&nTZ-x3#27Z%C1rkO^6Ne`QTpc5O;((U+zsF zmu+oU2D4^*#A()7;wxoJmMxlIpdz7A#JJL?dv2Sly*3}mYX{w?6qh_^KF(Y0UspZ4 z72zzwXME1zG&lE*=axDDELS|4oh{13u=tt8-we^Y$5ctGW5tkNm^K3|iA+~){*{_%CR{yAMPv-q3=yJJ_u zOz~ukL;KxKPU=b@mb`UQGoVt-^88-c=S)Yp7liQ4yK;KUp}C)oR?1IxXFt!$&eH!V z-ix8Q{nPC;x7_@gu2i2${rmDH^HcR%g^JMyVYY0>2Yy{Smyl4zV7vcNgG75nw8e1= z*(^!jl-vpNhZ<$%1 zFoNzo=9v&}E_UY3@@Xf}`F{~vWwU@I%_1ggNuOwAeR+@YoXKaycTaH_`<8t0g}YK; zgUUtj*}aRI8G1tUmoe|y(msi+cX3xl-gb)v4E_EOSAN^9KEqwqA+-Orr%zqB;1wo& ztBQ%oztqsdhb6%Cyvlcz zuXE*ucL^=GkZzB!%87K|=f|%su~PQhk-FSdyV`m;)OXviy1L2fOnps374uo$oso<5 zPVI~8;gR$F&+t0LF6+n>9a|&Dqb!qlYbHv~N#6NBG(>mr@#$t9=@0mf{o6bbahkIw z*##_@T=C3EENq6}SCu?=iSt!#b34Q=cOD<8G_Yi^TkZtQanHac=?RqrB)Dg%}IOBqzO<*rUr z`?ReEM6-4Xg1DPvqFU(P;j8h0i0Cd>B|cYIsG=5A8GF{ke3X}PUd zF*+MLlk*HX?7lK}JgDD%XoiGJ&*jKj1`#|x7g!!WZq*SmR!_V>tMSYwKku5;cOJjH z;&)+8n~d0O%LxnJAXwefi3y^w%)7Zz?>Uifmp z*TD~==Wo^|uG|wa;nJyfUVVEQ|7tJLNRlpV5|R08yx0xLFRuJaw=%P zjTICQxApd`RPWRiN(#Inmb8a!!mZ;vOY-iYXTG%hh1fmc=@S*0nHktlh%T7mWNwqd zJb$+Q+<vTono*>8Eyn)zR?*3%82_Z4uP2N?IvS}D8i;eiA1&&F&Emd<5$ zIL>ajXl0J0`DEpZyZjbQ#`^>x(OEgwB2?D+0#~2pJn@i|Iu+7vZdsYh^G^xcSkGC1 zhkdKz_L7jIqir0wuTMP7$t-yzC6|leE5fDk{j+1?bCl+L6?H}xb2*j$XQ+|eAH^aZ zy^ZbK^RkM>v-;DYDe%nHKF9FV@6(3=3>9*g>}$0Sik#u8xvB8l5|8EGDhAx!H$J(*68y8y|EzSv1P|t~rblba z_H_IGh+OrGN%zErX@-*cKfw8Pk)=JZtdHfn9PuK znjy*R-3#Nl@m|e5h7!je?z#tdF+|vGa95CdGUs#|c^ea#zfdCe51eQZ8(u^zWw^+d^7?vdpi z#|0dJ_8YRDIPb?Gccmq3-ck9imCGxYMKEKt#UHqAC zX3>kn2^GuldMR3#rUvb=&~vNRGI*gb#B{GY-#Ogo#S%xJ9SU-@8y0X$%Xyqy^Q7j^ zgnM6YkNwgbc6t5N0>^eRPYpb*$&%Ad2V^v?PQ_v|rcSrpD zkZ?wpedRKRp9?e?Kitz#YYA8MKH}{pW{p{ABp7e&SlzWV-Wgq)ojV!JgwLk8wT^090M_{$( z>~bxx2iw=GsB#`;$vtsURJk%PD@nj3Mx1?O=(jVge{a9VR}{bES4d-0T4;xXEPqyu z=)`SPo|voOoApplO?Ae*1C~*>Q+z)BY}}sk_mKwUMe&|pPZA2ay0T6h>#6+gc>gxo zJ+F7?Lxl%_ZisSfZTfs&Capm}S?@`ZU+wj!F)24@f15bD`Dlppsh(5E_Z9X{)!Z@t z^nER(#}aq%_ibT#9;{O_p`rK+k5uO+?ILD_2Pr+DeIsoiPL-MZV3yFWkYt@DHAj-4 zoo5JOS>-ZQt3pArZ;Goy=f=DJHswo#we%H){5a*8hVJV6_-%#^^PC5KzNQ8G9!(M3 zCUMvn-|O7YU{`!x;;55M^n#vA5&bhJUb%Esr?7W>Lc^1{6XfR2Ty%y_;^g!S3x(vh z5oRYh)+|?e{7m7?iYFeAlC?{}n`(KncztX*@S*Tp+Zv{IPqmvON`C#mY>;em$KU4p zub?#@?*tMUughGt{46;&dVcVAk%p3TyDZj#1D{)Lv+Oq>)zH?l-c-E(-jXI0!D%|q zj14yy6-3OPd)#gdgJV{xlhPcJxv@=VPRQib;%Rpdx2^ba$Wdv3j_7%b1*{2+0$66= zKfrryU%-EcrsWm;ZoNM+%f6|!=xomSbJq>uX{_JQ8u54q`_J%e-uW4_j5888=-IMY z{gD30we->Ne!)ME8$WExmfe;4>5v#pP(cr;%=eQEE?oW3&{R~RcI$i0?vHCfwe;Ps zJI$T&uE4{ls`*#az9(CzrTM;_@mxVL-m3nf?LN7`?GN&1KN5O#w$x;jkF@pGgD;ye zzl?Xk6;pXeyg-YShrQT=>w2-i=l98r!M2kb4Kp+t$P0%3?>vdzjpGFf4AUCT}Z=936>_ShAjdY{+!HP z{^r8M6Hn$x#ano8k;!}i>C1}eGjd{2RTVa#byxoB;L$Sq@13s;Tz4#vxXs>I?7Jub z?z+oc=GkTnIUBF6*i=xL^JS%-tN+~oIEKXwM4jywRw|S*&zUvphNr~+lP6E|74~P9 z9r1I|&&#}c$Z%(hrOkwl9bB=?XD_>Fe7vgo4d>p76q$r8l?g{h9?X-TH$_E7cFlqG zWxNa;sd_Rz2475``ks<)ulp*0meW$Xc>;S?q*|feCuwDQ4H1T)k3*gOb!z>++60xf z))m~zTlRDFn%1QXdiNM4k9soPp3pFyx7<`( z%&?{7ZQy0wv&P>)9%H*R&u$8%$@+~x6{m|Q*;)rhR!%fty+C2U-&U?^o{TCfeKXGb zt&4R`5}1>&yp+N8ouT@aF80&ApT76Zd%;$-@x&9ptIDlyM%x}F+aAl3D{B<`YMIzK zg;81H&g9z+&u8_VSkjt&-1pd|dzO)%lNzYpHKTJDB~%;gP&Z&@9bZ9ZsT?3h_D zlWuRmagnvT1j}>o@4GMmS-4}_1y0MCZ?8>YI>js?k|6ix$DWzW7C{kx4DSOgtqsh1 z%KtNPmF{LTU!1;;mBG0%BeGpZ@It@WJnP`eTc$l;Xg6iE#*LJ_eOAwA3wsq$?)h@) z0)xVBg()&J$tEunjm+E(@9R1Xutj#>zF7TeNqQ6SQsX(b7hm6N5R_~@cEDZs=Q8UB z59I21Ut2cSe8sH@!6pM+&Dor;xw~WLRX*VNVrY{%a#)D*@?L*2o`lB!^;w+~yC(^( zYN}irdZ0su;rYt13pnm+%v}&bo47{xOoL;}F=s~0$y!V+*&CaTC&s53FT3W(exq;eXYscu zm%FlUUB1J$q>HEZPSJ5mF56dOPt`Ac^}qT0tUdP@-|KamzXg1cZt|2ZvaY(mEXrk( zs?VR}D@32n-^}{h^TTW}&ycc>T^pu#-K8P1{Y(@Mj2Jcq{`rX6GNByYrJwBh{rs1%>m|F*g>f9T?`Q}g}AfiKGy`p+2c+FMufTTP@yp6t5es^!E?`LiQT_XJVuwnl5R*uvqX=iWj!$!&!o12AA}3Owt0b?h zSk1xH-Dy=lOG7|uD)_H^7AtTnUcpQHx9WynA3OjxYso6 z-Zv+99JKYc;es3z;KVd?#pYL#K+6 zkdfcz%d(p9m2}b!JQ8-=6b6aL?qPOxo#{1i#zD5$1%hs?UNG8Lo_ESBxUfvb!|uKI zy+t0ED{jweeO$QQQ6!P?=nKQ1z+4lii1^dGZBORSczM+Klh*sZ<2~O@WwM&t?c1_S zd%bdhAHLVRfY-_Kgi6)rKO5M&&(&rw46zgW_TEoNprxmcc~aJ-4T6;_1*^YT30!%} zQ>bwAq^<4B@*S}&JkAGXsk8Q3%{y*#pu|Isaqq^)o{%Evtp$r^l1)tv)(GZGynXBZ zKyY3)Lk80(ZRRG!Ic)3;L{^q4Pnp=Nde^PsbmCCAF1d~Ck9dQXP9PT}o|Uf-B* zoM>QH+SJD&H#KI1ZtF2?2F)gO!zuR;Ry>;fL?^-M@HF)~g-10RPt;ww9DVeIdsNsC zjfdQV+btQ=MSo8HZRDB1uI{Rx{PyfaFRN?f?iSU#@<=?H_n+a^exHB#9hV<`?^rj> zh;`qz_d9x?JpLK}?D?DS#a{mzwuSW<>Uf)u;bG~dBfug6=yxOlfP@2Yj{cSu8hI_C+xE-&3CK(`7$J zj`67C&l3UF>1$OCcR1{Ld*@=JdZH}%DGr-t_O8(01J7!$ z5Zv(luB$EMBrj%#05-FKCXvU^oRtXtcXF9Bo3+QvwU^V+?`%Ii&wi?yKxJIq^T6+I zobq1X&o!9WdCD3G#rQ4!VBGIy72S&0b5kLF($D!wn zw-gj!-)eVv!oEvC6>3h;d9;PeT}#+f-r3{K!g7t1zXFTDJN1aZ**E3*-S3;&-28ae zm?z8>5LNi~(Q`-9k`lYEOg^zanmbB=Z~5BgP?tElagMpjff;&yOzV9vtEkJLnk$^H z<;jx#`RlS6hc}^9PrX%^c&BOI;3j#oT=bl!^0lSyPn_o&RV?e6JDcmaTcz5Z-5$4I z8S$&%TWZa4(yywhz`!>1<6HGin_od5ZkLrl_ubpF>i9`E6G@R>43kckJ@w@McfG11 zM)aV%${Zf9lJ#nid6frm-wk6Q6`w|q(uAK1J%#ty9O>TDwD@(viNp4qkGE+swDC`WTDzdk zZr+rq3fmc2ZH--WEVNHOcs6h1Lb?2yUnNHw6jHmbyRNL*eff<4?!KL?)^hEhbl}h3 z+Ly27ESREl_l)grv5v$efsvY>t*K43qCoz-T%x}a<@P0b$#}1jjjHz z+sn#XufKUR2a~Y2MY)mrX z$%FZS!ni zfnA!U#VcP1)~jvhbrLT$y7Zi3e4NdA{iVa&qRi(V ziWAnE^=*xc-kPv(cgOLlDcbqBc9^_WyfxeL*t;DIgf?=W-dSt$N-M(O>85S_Ru!|y zdE&Mfk}Fwwnl*nuTdB)t7HM?bb38(5uQx_Vp ztVy@E{IY~8_x!0H>ie`JlvNpOj9E_{bP5oI1A|A|B<8P40D97{0n1aw=P%e9qP=_4T>kmyLoV)t={UU)Ft^Gs$d% z)uRShix-A({eQ+8+0S)(ed5U{&2KLrGnf^=(uxpWcP(hG>^8-cUiS~|nHug&mW~$_GIKF3{t=6O4$1FMLl(27Hm;bP4+V+3!m+}*O z*vvFk4!&d4UXo+<`0~mHj@qmERo3emSuSl6SRf;0JiIU+a5Jp z$D;FQfwsk$^LxESSlLgh+sM^N^(XUoH53?lt`rgTlYS<<;?kjNP92R^Hq%a?kNLVd zXLdz!gH@Nuop)S+eia5SX|0Q6`1RT8N{~cHeBR>|ChIpSgdbqO60$Q~x?Pm_@IEo4 zok52czAZY^Quy%46S;X;UIuP3y2~!28m zR*t-WqD;v$_k5|E6UJXH7qA^OVziJc*pk|{;#PrO{H*y3Y5CJ7n74}@_`T%QaUFI? zUw&_)Lv~3bOiW*GS5EeQvg?h{lkYEm`4U+J3Otv?acuP*f9tv=cI#Ja-)Zkug9Sew z@4mBGzh-Uk&bdB^Cmmp7(|!_v%c}bJ{#!=2mQTYEHSI1a+WFo=-tUiDtMCCU&mI>2 zG$|*(qS{*RGO@7Ef+HWVU)yBEDe<47#o4cyfm3!>E7zU6*wyJzwRQ*h6!0%)knnR( znwsP&|6^8PBnN{|vg9j`&*dw-EpiIyO%b>;yWCJErB?Grhj@PQ`&%YF*~%MU8V(o?lvYz;Nyp?P{KD&DDH*Yxc+) zUkMT7@vzIAYO;IQ9h(%*e=lE$il3|O+Q^dJry*75dSabmNOiK@S0k?o_FKi5=Uoj_ zxcx7I&pqbqj>UHtJfBnO=*-hCAEH`3iDRX5y}{frdn-?~iQDJ=zMRx5c$%rgrso1{ zYwgBA2hzLJXRzPPtJ^9vDJS-Jk-bgOp~i;1%I69JEDO7NmrQ=^C!2TZ%bvC8^3bR*F)`G-U3t{~nP^VlV0mD9%M8ZG<0}`Wbo{<8*Su8O%FKdc;)$;- zrmwqHx$=te?d>9Q2ehYhPAaf9_Q|Y}be>asUgRW8U)iEh?8~%b+pP=FFI?@x;dzH4 zxcT~01=ZUs$+CvGrX2fue7j8$Yf2KovaI2y$$5|VH8(RbeLFAmGF1MGnT5iaWshw| zN?$rNwLhM8cHqCsrSP z;i`PQZ;i)ko;kmys+2a~-9EvvtJvWFW`+jKZwqQUg1IalyuPV-O-OT)*k9*pe`?-^ ztW;+plN#$#z$OIA=R(}OzJetvg8{*lb}XXpP2|9krU?}9|nNuIh2K0e$JHa};W9KU33`Llk*6AB71 zeRG&O6dh#vy_}5Z>{PyRd9r=&?foo;NBNcJPi42R&1|?D#yz3XX~*3yjdKz{`+MAZ ztUT|>vP!R%Q!6E3We94iDEz(n@8tL8xj{#(`kqZPdHmtLSGLu=C&|~=Y71T1c)Z>6 z0pFCKbx(4XnQu*$1w+ zt9{Aur`l#PDRBNQJZ2>ouCqowKko5X6_59tQ%`We3^G}sckb{khMb_>*hw;S4U>Im z#q2y`A;E0>@}r6HvLEN;j4w@caAfY?@nr#rXzC>2C4c5ExY`>E0!uho@KnhMDZ1*j6rH@p{xhU4X*s#)=gJdJS^hKdWjRDFcl>g!(1&NuDX+#Y$;?Ytf}85x*yotBGJRrTXb_w?XHJld z>2tX)Yvi1p1?3*ka_GA=fsbEgdHM8{$Cqi!G%Z>9eB&}PL8IgoMN8yD3Ilwl zy~?)K`ZJ4aeCBvs#4c(3@?zo*g}T2Pq8*bMD&vgbdgz{d%9Q+Z!JBbws&+<0> zOmtY|nv>ew<5$7{^yG5$84mZ#6UvwH32toiU#A%qc8+QCd1nU!N1dQEVP-!k@ca($ z7fS6j(25KVXJ(f?pk=#qwZt9n4`z?^qZm?J_KEN?_8yz6BpuS&!;>!ZJz{3rrk(^I zuDqiWhmLWuPjq1ESjscwk@vr++>T?)+3=a7(4kmpCqs4KP|J)ZmZF1_Y+AROO($A&f~KR(pdj2r(f@` z)%;-p7UtjQ+-m*3R6>GQ_^U5C>nX+BKjnPZk|W#LUGt15_I;I*$xG~!)AHE%B;otB z*+nbP3A~m0;GX4Q*jw@Zr;ia&^295_OD43Q{JG=VEXj-8Ha?o)a?t1Z#Z8PW6}Wd> zu=lYQ`n1XGs~1|@zKk-Hc5&}%sGIV34!g|bFH20CPj~cG7kDgdWe|v%Qx)9Daa&#H z<9i3!n=LP2I+!@~PkB>RWYsvUxS-r+!Nhac!Mv+DTiO-){htRZDjwE<>Y!Q}l$5{| z&d1L^E9HbrfTMClb@1Xd9pQyB^R6sX>$Ja?pZDbZ@@$2SF0+IiT#oE3msZ^UslMIP z#OvL}304dR>`~>jY?i8&NuFhrILx&?Q+accYmXdLtzK#9KM@?0<%CuHIpQm-~!0F3n z?1{dg%H{W7s0-n|cTGWC%fr)>w|V>Jm(Gkbjq@#Rsva#@^pjp@@m%EQ8K2p;{4(VW z!czEBJHItgJmzM_wfXnfj^qz3$}2m2axGrYo8ok!X6ZqNga)e%rX`x`nll!img{y5 z-lJ^P)7aQm=J3$nwtua`vf$_J6PxFK5z$$-@|e4_O_0-{NlABhTUZ|D7GenvQD(k2 zZ{m6v^@*1nw9lwGu_V8rc;J1oK=MNwAvVirlN`?LJuvKJc<*cN$vS;Ph5A+okKc0( zW-{AclGjt7mQ-YM+{?S@W0T{b-$5RWUhpniFQIP2(5>Rk82)9cYI*baiT4&Yv9~!N zbBtk#UjF0Cic<@w2XIO z-^-vmb!yGFgOX3a95oA9;cLG%r%jDlGU4ChtwOFljaIN(@q01!$)0(zIoWpAnF&cY z_Gdi)3IAEe@!*EDnC0t(D^)GzwVzZ4uoT{2IMw3~Usk+!#ZOPk2eX>kYkzxvzHxQ! zeWmG^&nG$v_}I)VzWim`*3ZR#iS;)1lQdLR{jd@*t17? z8q4FJE5^nyziam1-gSXd%Id+#EuRXnEp>95(^s3>b@ckOd+jWjw{Q5}uCsip@0y0} zQ>#C1`YN|&(w-uxzTVp+>q2F>yA&OenK$37%RRkc+Q9Scqb01JcX)5_klTCKBh`p$ z;ReHVniD>MGSAz&bcRkc!~8=HT3+33qWr3x&(~#Drz(~SeqoxCV!bIqrsU*OAy0J+ z<|`MNpKoPz)JUHCdy9@V`x%DECN`^-jZ*fn5EUuUxy;e^XZ{hx6ARdPy-8(OFL=c+ zx%_8)+Ev?)O_^=axtMqw?(og{x=3HEe#Qi^Uwr?z1~QbS7H}RsmKotI_)lPWmE6wd zKj$S#*Ec+z(wEuy^ux}h0fI|fYL0HI)?9wvs#Ue!@xo;ljy^Hh$MzLhE*@D`rpd0p z@|7#A`T~;-B?+12rS8w(u;&@~8C6~GRM{k=%+7poVL-Ir)9cDD7LOV-!lrV)m9Ht4 zeCe>`b4T*z#)iVc#O@rKlYaTqvQH8#q}hs$=UrhgmuXe)E_)EtXZwP==;1HM zgD<^qawt3gNbhnp-u3T$=JC4+R&0oN3_W%yrS&-D?kh&OkDPyI)pYOhR-dwM$9SBX zC!cj;yHKgVj#bT;q4vWoKP&!o(>zbj-Roafld;si<)FGc^IEqTQejj2r~0{Rh;5UU zIa9bnh=0L@&>m)~oyo^#xKey-`r29k-s){`{=L%cV;l3t{-q4ZXE&-e-LQB3?)f%g zA*Pq)9&Qu5Q`>dV++_pc^Vcp5dsRnP4J??q5M)Xk48n4DV zt?vU;Pk-7edvL|I`g=beXMFq_ps2jt`03gMIYO2e2N!u)y6f$EZ1Kk4%H>F&`xN%& zvYBydF=zaq2A(Rn_hL{wwNB-je@*Z=i;jZY@g6+CTw;ZM);rcB&(~d2+G%E) z9-K2BPaIlbbNMmH1ICH3XSEl#|D3FTg>R}#QKCWd#J=XWCTpyxH7jZ8Eq-Bf@OV`6 zz5GM(POx|7=8d9-Mn+O~=H>mYdB@|-=eDaF`Ye4`J@~UkKVXN*i@d~1 zwx3*z`={IXWvK^9%so=r6P#Ka!g#E6?XMH|tJxPeQ51qO%Kbbm{CgHgR=S=cww+`&MQ+6azjTazuP^HrWs zo*X7~WZ75UkAmmV_9O_;@}7C4?rZ$K!y?D}pWR#ja@P4PTR9&zwuR)q|IcuJL3sM{ z{|p}jwJVdZ=9HXR5Ej2R@05_47;|%f)NA_(^G=s$Km56NUHtRkjyL}(=f^I-5+?ul zYWb7bWxJ~GuG(}YFLK!vO^IXmH=l(2{^rW~bgLruy(#C}(=p6icNiGD%dOq4i+jE< zaK9qh?`l5j!V; z{s!CQ$@9MO=6TATep2^F$l-vkQI>k|w@EKs?2pbXe(66cMy^4wIpfi!M*$1HWmcE) zdMtB#eC9x@bb;}EZ&$+bhrFhZfK8~Y$UV0L9H(*lW|+qoTvOPqNs z&-rP1GzoS5e0`zNWsTbO(>Z-bm-wz)HbtC!v^eiVMrPM_?JW@!2P|YYryCnDFm&Vk zAQC+1q)5xV$IA>opHEAixLJKs-;|bXP0r@ir55z4Ih@`#?Wj*#;W53BT3O_C7)eek^Os^}fM3ftW>rfhiVDbv5y zeNV@^6Mb(AcQ0Jve9K~*;WIgh^FJ;>x}17%lladn7TLeA_6QrVC_89t+^3neZ;y9t zhr*5Go$dLK4q{8ThNh_&-EFil@9N{2E^&^-rr2fD-IEHpC2n8rl&zcMdT8$Qw&&_w ztqlZXDpyJDILF6lvEt#5lRSqj?N8mzbL(eR@o70fJ0Z$d^00oc?q&|POq&g!F$wED7hPj) zoO(a)5W}lXpHGK{D-(7XI2_BAD4ucH{TN48PwUNRns*j2l>HsR`Yd&-lTM|nQc^m_QsXv#Q$sWZ@N7HzPitF_cB&j8C{Y5!c1)s zkDtzR^Sw6pq)GO(+ww~sb(=QffH6xB_qVUV!b7)OMkxy)SKSsVUFl=N{iipv!tBw- zJ;}Cn3^z_m*i`$bdh+Y&&Ak^)1b7IX2Q~)A2~V5lcCJ-&zVY?0 zj^cLXbq4+nd|PcA3({H`CzuPL%UV0x#Gtaa&!Bcy#rBEYOusQN4b;3TaqCF&&dj7> zHGgS_moF?=*9o_I>q<$7b)U{jJyv|aaF(f>)^E|W^($<+<{gtv+0MA+82{-$4|%Ub zzG)_^K@C<6} zU1lNgC01Fyy^hWB_~&KkP28^DpX7M*{N<&tS%)5}%&dI8J&RFz^Nej9RW~1Fvp4pZ zy{zx^e3|=Rw^xtEtUI*!SLb`_`kh&M+F0hv*9Dwv(>(69_H0a*Pkyx*1k6yr;~fCLM^78DpJy7JZ_u86fL;P_*?UF+g*HDCTUIF!BA`H*SWa# z&?m#AMvi)-=Fe?EI`DaNxil9yRG4l0{VlpL>meX?D_e9%5^XJ6gHlD4nAO)WfS zqFYgs$j5nKKbOC`zbY!aJ~h&LhfclH{)Ie_%3Z&FRQ@xh{|+hAp7wfP@s|ahZxugH zG0eM@{39#V$t26|Q3&5(Ux)QYxf`Xo6&@Ga_;cHP8RLy=uDUz^GiWhvy5O#mxo6?t za0!!>v)?VrZSJ3uZmR5a%upt4CyUsx5T64ln3mW1FJ-V)O{-n#8TwCm$I`|yOAo>8%`!zH&qdXzr8qgud^^tm(t-Dw%I)2f5(ie?RQ11Wz%%z`{!4F#N$Nij zp0n4gig9~!;k>-x^Op|1v#xnYhR$F<=BPaJrRTpzPAmxu7NN5L8Mr37hD~L%yc52G z{lk(;a_fHFsg#t>Tr0qvxrn>@`iApW({7&?d(Az;^Q5Xj`=wRfB4rOY>h_+>s_5(~ zJ|HtMYyHv#b90+|4DL=mSF5?5TPN_Do=2RxOvu7pE-Z#Q>secMl8Z$1B=r3bJet9o ztF+#6E2@=M*zmbu;KWVJkRa@(UNL+RulhjS?hL=zuHC_ZhFcwnl1gDc3};EYFk z;e`^D+m=2>OEw=1&nwds@_796sD;a!n?7xMPoB$rO}fV{tub+Xf#X^2#@g%WT0B~M z7fYUXELghX$fn|Byb)a`Vz-%i_rqHdXhR@Mfm(u1}i1i79kIX$C+|p9xY2yHWIKkzO=~LRq?j;oW>?Yx1Wq*IU64c z{t95yQYe;twED8-%3ExLZM_D2J8k{1Eu729emd^1MES}`H3v4Fs(bnJR)hBR8wb5} zB_7*t(Q%z!R(az2tu_9sISzWfhYxgZiaen-ladK4sjl@I@h*Bk6WX z0sB&y4rPfrx2nA5w~u~GWjt2*@x5;Z=e#Q`d5$;jFTXbTxzegdDmfwIh^EQQ;9 zcph9{%;Mp_;dTT2UazOON+Lc9ODY6}l*wkZY^t0vS?(b>(;Ev0zO6r#e@Fc|^!nI; zhAn!VE_+=*zT8)K*@2xx0_AG{+lu2?>{@$%;_~}3o@z&ZtS$)5`C-&o` z&qo8Z{T98B_c*#Rxs&h1g2xvckMCubUs}KEe%rem^$+QXcZt6JKEG(1QglPb&pYWh z)k%95oz)`T`yOcgXRx_u-=ceLZfbsNlbCkKp=}0!B6U;u9N6Y%XL!tU0bB1=rY8T> z=iI$qoeCb5zS6w-K=zZt`JAdp3#ZH!oTUD9^KlWz1U4UrA~$!xt=wCWoDwp<<@wy? zx2Mm988@ZW6#9=8{Oj%ZK)ZKk}@g94xc52QmpqDp5Lm{;U(Kuw79wF(fpi$ zIS%tA{=VU2P|WT)!P_PwVevAE{nLqCMSCq@|GeDv(CM*mkCfQ?vgf?>*n|J9V6u3` zub4BhpfF52?cjO;taS@qZpQsxnV06#&X8~MST=((@?@Qb{GnRSdohz_CibVwYBK$7 zb$j=p!FEoK|7H>G;`U-hVXze&=^{hc4T0-e(N>KEia#M-W zz^$Q;D(|FMh2*TrJ>1|{c&oKFu;^j&D{;vMEL&zQvCQ}v_ImfmECT#C>03>&Ouem~e1mVR)TvP8K3AJ_oBu5Qc;aDo zbpUg?!0!(RtSZ6!Gs-rc<2>-zKjqf!;uDtavRV?0W%i%3IL7v``>}xS=A9EM)5JRx85Em~`Zy~ zsuMDAj&J-oWp$CLV;;jhKMf|&gcx?60*hOk%4aGLO+L=NSM^NGF)1aE2TzJ;W!+n# z=;o~T^_T`z%$DxHImPp)-2J%x-S=(p4!WAgOgpc2S z?g@+YOKq=)x}S-7yyLHy;Orp5(*l*emzMSNG*++(cs^@f;>fRk4?Mx)vj2__Vm@>hU3?k z@@h-n-)!AIzkOP{fC5LyLZ2+Nw&TiuQ{R~Rw#X!ZSkL#je=Um~>z>O>T#s)3kTjfd zKxX3PAJ=yt*cX#6VHwjS6CBOma1gQ+I+k>S0a>QBV*_5t}2F|?6ZnpGhn;d)Sl$f(Ga?sr_3K5< z_nK!ER=nd+OI5K$j>^Wj2k#iMD_l-eb@&+}{JpJ0RAs{EZ7z4@+Vj24a^&k9uPZg& z>2kL(5kBu2q_SHuqWFHZlhXb(;?KB`RV+1ovLG#Xrwq?k73VNnr6Z4@r^eS@$+;JB zY9q6RYGxUu_|)%>$1=FZr-@ecl&oT06zVZe?X7&Jg@4~)&{lhw=HK^ z9*{M@v~+t|{q!>9*M9xae-;=XSGml+f8I)|hlQ?d8bUjjcAQRDThqBXRNW@`xhQu} zku~3=iP5J5_dJkc;IFFEWzTh;W(+IEk|)%z3o5 zizS3vp{KC%@~z$pkyB6XIC0$O^V=|`j@9i4&KUG=y$`&?h%Q9|uPVC?Q*!Q#3uEoqv1{^PEnK@=R@IP%WW9i%R zGEnq^`!A{aO$VpUv+8o~v6^(sE#n4Npx-$>RR~|T4_)qlb>)#@?yZf?KBU;fUCKcD#9I%~V3a>K$+jt?Cqb$?WaADq8o&!szcSA9+U=9+A9*P5A^ zXCxZk#CG3FQ*@Jk-~}r$(as{#vYi1I2i|BMEVT}qykmmtk04#`JR1fB%LA`{R2n}eB=5^?V3xo4`laKk!#m^(@9&lFUch;K;UBil z+0(+bw@g^hEJY z9&6$2A}^+A9xHNZnYT537n7&peD2Fvo=xL8Qq#jz7jo>baH{9=wVD(C?;b0#+p3^2 zwR=ja1^dMJE_yzPL>q+MA`kvvG`VPj&H_2R9J#M5>EEl{*=1d0FYpOY{FAuzfb!4a zD8n6g9?BbRWG)9Kt={r{ed1aD8GBO7MAjDwNyqDMYx1+rs!R;6y}gM;);hFMr&I01 zlXuTE|4sRsR(#?4hxhKj3?;LZ0#2CAoxaz3F4DTW$-`D_vB`3l4-P+P$k|Q#@qOd@ zs_+eByoV}ROCEcC;n$_j;t#5e12((vDD2Ufk1B~b2#99sV>H>uDCQ|TLv{)4Pe+-{ zlVawpTCqDnsEYEPR=gbS(uPsr~SKO)m zc}2ubjypS^?_bN{%ah3e?ws}Isb_pA`TH3Ly7eDCc|ztFSNZJL^T7`MpD+1dY&gum zI>bpy^`{$ytmf-;+p|1R-==5d0R+0=mj@_Rwp>A^Gw$9y? zHghgq+_gbtLGf9Jh|kJDLqm$stIx`5SkqJWpJCIY2^x7JpZF79I*z$&&nbVtl~v7T za?gh6GW}jjr`QT^{+qJth%=`W_q=x9YrQ*t*30eqx?u77`pjCR=>H6@(^qDT#eDc_ zBiI~g`CDyMM8zfR-nB=fMOOU2w?8I)e@#NGo}FaY$IUe#qw^iCgyT)>&dh4LW-s_a zzv$`H9oC|=pZZrZ{ARjad_}-qu-{9yVaW`Jhi%c9=6#;8(Gqd8aJTlIM~i*mZ+~{o z;!y)fa({)6pThx#%ZJ2St&`Vksrc1wKFDmF8D=!UdfpBZhRfN~tv++~{nzSj)H812 zkT@xGiBqzIUE=MmuIRS(Lm%J2^i{MK)X{$W{jJ}vNDjFfF9X)}tq|a!@l|fi(-{Zl z(v@xfe*~<*kTQ{Bj$q?FSL-ITPxeuLnui;elCyc5+_#!8OSoI4^-cK3MzO0;7>e&- znr)bLF!)uL%7k2w9kOliBA;yb=wu(XdHnPDrE-ahDGMSCJnZ$i>a?2cy?N4C7dPce ze{s$752n(KQ?~5aU&fc&aJ|vHa;8F6)#b%Z4wfg6Gh9;9dA-fktV-rnmJdgWfbHfk z2elIiA0%8_=3yzjW5vO#vlHz#ju~W?xH_b~Ic~$J*)Y#bCsEYl@zfPhlTL4uU6Rah znwaA0=xTAxQes7v!BMXVzXF&I6#^D86kcB;@}%>;@`t69i;fu>-D_Ij%Rfc9@p!R= zz#7-)l+O-5t>@L*rWbP6`R;ijbNTUvx1q%+zKSrk3RbDx{(SARYV~&`yDgJ<%ed`5 zuW*r3dYhf+IRmYf1BLg@_BcNaJXX2B*Z#rcsNfgzB7ck@n|~I~Q_9Yqd!D(>LjL>N z+F60u-`U-d(|)@ChZbAAb%npv$4tfroA(D=HD1}qAivh*ZEb(t-#L1!`+uZnm#ZE+ z`Dsnz6w5>XPvhDaXU$=opC(azqpk_ZmM*fPjR2+0(QaO3_|?RJw6ICva|1(kt%U$ zJ@Nj^JwsDyUXoX%I6!@aGl#)Wa=-T_r6VFRTg!MAD`hO5C!r{5Pdxj@U$z$^BWq%DJ~M z%xS#7)I&0~;O5&)O)u8ZYu%l`ltIDwI6HG!u*5;`OHCoXhh;wddODn+VfE$PvhHY( z)lWYhUhl-qWAT%ZJ+aH-#<@Swe+97>x7!*XP?})d;?TdPO-1h6k_@N5md9HSrz@~p zFnnP3ZZfD`kZO6YQ0cf>@yVE~uj?oLQ;J=-`L}bdSLaNHNeZ8mSE}vXzvt((*!Rc$ zijU`C+Gl!2;%?pLsxw+_&vy1aEZ)+?#qjI(A&s0Z(%u#)f977+=xbePd>SDLh*gcK? zOI;LPa}WG|x8uDdZ$wJs75>@F*V-D@r5!Lej!vvOz;H*iNnvksmspeJv&nt-dRLa8 zQqFuV>nZXuXLsj;1a?W=m7AOd-5weFF|1|i3Ruv>GQnLYM5|Y(Mf5@W`IliS4l5ff zmmS|C%^5OUq^ZB5O*xX|V_wKws zT_WPO?JOBtauhU=Nzb`pINOQm>+!5fdJMU9%9J{tk~KJF z3s?mwi3s=YeZg2haYDeyw@2Na{QhP081?S7n`)U5o}K>g+ltVN(BBc|CJyJm2}=S!jvpv*di6u4(VA7x_Mxkah|(y6XvYiAj!V`(yWgg59b|xr}=7$?1B;zw!?uOMGmh$K8Y61DbUEgXS}uJ_I;DJ zQYRK}e{ex;!_}}#k;f|zDqLA9@IXH+gGWR}S#HJ>=cgKsyFZ_07MZXqKaC}sA!*hn zi`>;0_-ZwIx>PmiuivW}G$WvhKj+H=)?T0f9X!<`53fov+{n8cCz`Rz(dO5zjr@1- zoxa`0Fm(x+Er(2TpxdQ)Kil{+HwkKMrpU;wwcX%%@ff>>2&0DY>-{X-*I9?~HB9`HDJ|B=cCrsHanQ=^x&i(KzLf2OzXc)XWOWb^Y=T04F=9?N_% z`P@6h3w={KS1;_DZNV2kZ%y&M%me!jGCG+pQ_s0euH>33`FJU_BoE8>S$_PElY^94 z@(RyKWhVIYHm= z|888pK(Kb9@@MwYI}WcsS2upv|0DeQ0ehFpdRfm$v)A(6irUloE~v~d;q?W%JJ;`6 zyQF92v|7mPX`kQ65V7e;nr+U$r#n;?6%YROJTI}{MT^nWNASw8t^~K(={J6NMF=@a ztEirXhLZe+IiL54k4E*D=Z;^>3A4`Ld5UVpgJ5x^zUMznAP| z^{Qma2VJ2O(q{jZW+ihhjr?6;=n(CA>Y>NU$1+`>2G5^@j&|_;#M6^dBGMOoVU-#G zIt^~aAbA}bzMm>V8-z4;W`M3xthsi6-s*{eZ_ShtJ=A+AdDhGv?nIWX16vY4zB24` zcUryk{?5lH{m=B?KIvnZd>T{U2*cYkC4!fR9oXY-u| z*JPXCB~PlPa=ZnL4lo|KSSr|J?Od1Ezz{j5iSgIPsV=wsmsv&%B>CDat!i%?q1#5#RtDVn%D8lyXt|UL!RNaoQ55@=N0?5C!M~IJ#_b<+IfuQordfdsiRi}ypt_|NtJks892!_PdjSIuv$)Hn)+&~WCrP? z^>LO9bXq4KOm4jVGf2XFSvBK@%c6_i^|z$%>bZRJM9fP2ev=&OMMlj9x)TbIX$VfW ze6CPrn|Z+O;m#fJG|eV(O|ZHk<}~R*@#Vcnxf}jIdwhMXtwq3*l;;bU>~61rcYudK zAVc^@m+mBeWd%M4Q%&EA>+TusP`VLzQ|_b!5O$G|ik7ci{$i=*fdo;DeI^sd{ zoJ$&|&F}j5YkXVvOj3e%e&Mld{$oocI!-g5eDHj)>kdvMhnKh3EaYPD@@&yexBKWb*|F=g%B?~~W+9(v-(wa%xZwnF5<;`cm#hI1}I3y?3*_sTL7;4@ld z+*Ezp>%c96osk>|UtXKbQ#j+pbDN|#l}QnECSJJI$Uljjr+#mU$0Rppt%K!kHjid2 z^_lA#-wC;|$Kt{6ckipn#Lb%h1uFd0`_?VgHisyt^46n}>9>3J$9`Wt$ zbs51h(PYC_tNzJ-F=39<-J~tUz^+g)xZG9CYrm#^!-^%|9k+%0q*wh4nW)uqoPqVR zsD{(DNk*a3^Byhk4YhNXv{adU)qKiK)+t5B9tn=0A8(Jc>gil6mnZUj$MN{3E=4Mw zo15qS4mny-{_)56MW+3yBGvtD*<~&WD?REZ3Rwt>vV`#s860ZrLj{n;>*ifv27LG8^Y&hne)W(Jm3-R_hR}b zlppEH*!6g=PHbfy$D3kLX63$Q?ejJvi#QH*ZkyzAjJ=A@$h}j#&_d-`>9-ZJpUyTp z+--gvWRu|8a9rY~$RdlWMfcBlu@*!o2X0s?H|Ii%QQF*5X&uR5qE zm=|e0uW{p1#-hj>tz0u0=6QZu(x>TIR>URziRa6bh;BUG2|S(lHOlV+BR5Hm$d(>><1BCbrD zQ+#Pb#tehRQ{PS;TzPZPj!xCiUmhXu~lV0;&y5wBCa zLdtd%?_U44p1Oy2<%gYDX89FbR;+Tn=I~z2bJk@G8Le*XUAk%AS3lKU(P{#lh0-KT z6+XeemS2`mHDb^x;8(va8p!C|i-N*5D zWo*(+2F+UwIy{9MPsGi3|Ge^ove&9po}uU7T(Iugkaou;p{Q!ZzbS_#Qd-q{o6idQ z*qqnrJHpsJk5&7;)bY>z?o})~cCDo@+M503&uZa=i>szeH?n*UstW473p1GGXnV}~~CRnO0{J6}=N!FJa7)@hOV-M`&yt?pD&MA$T7rw2S zDla>wUR?gv(uq@(zbjjOS+RK6z+xG(cx!uHOSNk&zr3!EH+PoF+k*EZ|LlDu2&GRbQVpXPkLyslQ$?n?Lf z4Qv(P7chk!Nlr8Vv&y{9ENyo00mdJ}^PVt%TA?iaW0B|Lf;A0-8`{q&&tqk9m$K@g zEo)uAT>HJx<^tn+n$C;YaWzl<>F{Wh!0JzPWcZ35E+sc_=3)I=p}f`9xU}GaHj}NJ zrd&{cNxLNbtgHi~r)PFewbx*8%8-`bP;=wuJaf6s)&G|CnK!rI_KDr-$0W!3T=#5* zE>HIFtupic*9KKhahrWv$bfmH$ip@@_d9%dG}vadT=Xa~;@WoksLH3jVy+&>w;?QL z-@fyl`Sexy_ExX{t!E<7U2Z-e?6+ONsi(r0!{Vr$Nab(Q?=mG{7fkCs*`9v(`g*T* zB6dbiQ>E^hpQ}s$UKrqW+3Wb}1UAF-5(_3B7L-4=hxvNnoB*|W6?d~sg_CEc2p(5r z`#hV=z|HRa^FX7H2x||f;<<+!RC-0-0v*E6JKtNdw?8W-rTF02)iNsaaaAEj3Kd*3 zZ*7f^ExOex#AzTFBOlmvwwLwwEsn7i%R(yXOKcW9zYf6pD40cHd`>G8hCpR*+ zJt=($TWTsd0Y!oX1X($v&e81kG6FPFL65as;ILW_;xmN!7aZ}s<(KYJNuUrWcvtLYo3g;xF5PF-00 zgFWL|aZho`)>e;&_X{c%9`5?~WdVPmea_AQ3|nj>rU(1HmFP|Wbl^#2pZ|t0>m&a5 zK59FDpywj9NuRRdX7gVgDvw|8`t<(RzH6c%7e`Om;ownbW|(}uZtC0m&3ui2r+>I5 zUB<<;YK>i<$FKhk^QJJq{-FQv&(9D}rvD7pKLhh6cTQnV;;7rVHR^7h#-SsA70mlI zzZLn4EO;mXHl=v}O9%0kV3so?Wyh+2UkT4SBjR8<`J~BDZtMJm&-W+0{k^1dd*c1R zDGXOTXLFxCzf{O&;?IJeGL22gElmw>?fLvOSnrvjo8%7e>q-q0(>_TucXGY``ocBR zS<#8{_;=6u0XJjZF695*IRDW~)r3ay3SXnEc5 zMm@62_y4$3{W)*<@q02)0$AO2Hc50%-sz}iHSx>pupBYtoze4VF8M4Vuxh_~n$q;l z_LAmeHs!uU4eTlUTMvGbcyMWB{8XiLPNn%#{Ym@Jt0zvJcU9|<$C1iA5y?+qJMe9n z3rT$^UHn#g;&F>-3qDoe?PK_>Ieqem`pw&e_`R}XS@KmUJeNHGWdZw^OwFf~Wpjj% zGyG=sZ&i+Pd&(mC`qHAA9_>aNMf(ljIyzl@bu-mM_QefOu48(27c71jEM8~(Vy3Eg ztL@HTA)3Z}s<$P4XIs+YFQHXDN%Iaza{sA2FW9OX>b>e7F-&ayY2U(^k;csTbK;ce zFa08?Y}9SAxWyX!g>j?B%)YON>nu*5t6f>FW3=qz6y|5ldsP-_wR05CV_5MnPf8^A z-<*_B8T%SM)s$w=^w4rR@pVDWu1B`(LcZ9pVof`sKBsGvMcUunJgejbZ!O(u%gMcF zz8U9n|E%QveqEIc_T`rvC!Fo8e5`VLiB3S?Nm&NA33+C+XUw&p_fMOzd+ds1!71;0 z@&61_Q(3a7TC(qy)mnb@U+ziG0``0AOKnf))bymN`IcV-Mr{@f6i z3$J8IR_|GBpnXKWa_0SKJ|)U~HB5O~pbziLJgSn>bE8wHL}12HnUJ z_i1?=F1OfL%fz)m?@a3(_Nz zcIRaj+&;8(7#!ar@zzP9b5bhvyq0f^&lS}b6!-aM^5%q_9aU7jXS_X=LBKVlw@~Qk zD&u2?H!k}=d-^Ou)cBa?ugeQ2pQ+!P+_YTF&-i%!T4sfvdUip_Eni<-(0AdaO8UtF zQNK@BlV@$+=~n(+Zb67&rK51Ez2R{$maFIgUw7=ywtX-*r6h1_pUa3!;`!x`8#f#oC`BEERx*8wqc*R%eQ?x zdv@*qc`JBp)Aq#6OxxEhdat(BscCHMZ>Z{DzTfM>kFex=sVsrkP;Cu2p`PkFp)Q?r zD|r?wg~ZIWWZvp4EYx~fK=9kV`tzbZP9}eEX13aao z7e*X7Xls43P&)c)QqFU0KMS?loO2rVL~8CbynXAyEuuKX@QH>><8_hOnX_CC4>3xf zP+sdXaSL)r@0 z=6xR!dsjt%mpGT#->$WiJ9$CwGVPnnm)qMM>aw^<0FP?a7c23wU*-L%wjMa~? z|GaRP%kIQ6KjZU0^}P%#)8*1n^fvJ;Eu0nkBw&R>$b)I`jEsXjl0MI!BDkfo=d!9p zxb%nm>CYYbjT#mi|M5O}ocq$|KQW!v4|>z?7g_yhNcV8sAX|3z3+r{oU-Ndpj-02p z(J({2cz0`;cBZ+;laz(>y$m&LKQMhNz4m3dzlHpieq;N$CCBOmsIVxDoQB zzb{WFPvTA~kqMr5@zZmAJ&TxRnUEmoXMSs5nXT%p{i`9s_DMP=x5+BF<&ww=>(0k2 z|7rphdT+nu`P`>@np^ANTjSSm2MqIMQ^I=QKAvCrGVGEGhiVE-CXqUXNW<5G_A2}a%P zc3UoQ5Iip6bjk3!g5k@_U6Z1lty&K%x3cgpZuCt_?+q_Ax@r6J;Wmw1Z0-da2?DNL zPfn0Y?#h_Ua-6~HKZD@;Wm+X^+;i63ZhjrO=+BeNgu>7KUJgcTpVx8dIDHMU>Z-c6 z#7kDT;rtm+-Q9inro7$uW??6n<8j%&t9+85g?(4q?&!dw=hC9})brahjT@_{$^Lq} zN;ToLi~_s8;d%9Y^K~8wG)z8jDI$95$nI&n3no-I&dQ!XvCRFrvdz~OLU(7h*F}b} z_!sgd&Hvuc$Fj%0Skt0@yKIc^pYYCByj=coRnL@psuQPYz9{xoxqbP}3yUD;H$Qmi^i5&ZvO2{z zsVd>p%$jxLm-~tXU0(AE$fWvZo?FmzV*!I*PG1J&qZclsGmUQ)UTW*Il<+yOzPXC4 z^EB^j3Ax7?f}eOUe*DAX`D+K>8wa;8{7H@q@J2xxapYLnlvFf79jnbJC#lQDVY<3Wvczwx?J9m;M zr5kR0P{8$=A;d9SVO8m?!Z04SfF&}`cRo6Z?72N>{UkO%30!8=?zgU$^|Iysk_x#be*~P+~`FS?p z&)jaFdgG?jP$kOT6aK3IxaGT?f4mj*GMG{_i+VgS?h8J?w=SxN;p!y*PC1FKZC722 zvexw+(qYl@cf3-%ApNypYoX}5?&WzqPoGTdiI~54;_a^z-&U_JX?mET+j~=8ZtDCr zLmNSN2~H8MRaUtN*tVz^EwG=)X8~FbnqF~1!)L{TldGPl9eaC&ar1%aa#OWqDp#q* z7`=NS*T7YkllZB~dQRzr=^Lhfm#YXm7$;^xc~AWAv+u_ zEn>bN%TTFN6qmj(lknjCmt_pXb9a1Gn`UXAX7*3+Z~vt^%tqRp=h*zL1DKh%gzG&$ zckQ^}mLDz4xps2Dp2dA6zOJaSNBF3RN_VEKvc-D`!P8G$?>%q4EW2W&GUw-_YG$8; zZ5t=^M7Q~$;`N+p!u43;f$&5JfjcT2)B-ClIM}nwXKqM6am)Sj{Hm&l;X1|r@lm}+ zkBj+?&-rCA1*|%L_HLh5>9UQzormT$zMPktEFqy%XEL#4dJ6;NAGs|I6OJeyZk~Jh zxK~BjgKbX>Li%@Q&P&eY2+o>dWX(1E-0yusf0o~CQ25k%O62au%d%QwhD*2kiOUGz zn_2$MQ$1nFtHtal9BWUlD>zbMe3Gq!W16u<{JS}+JB|wO{Le6L$MM`n&64V;iVEDg zn2%+8ZAcdA=_~RSVQ912z`Z-WM5SnpiJSf8!UFcf;O*0;-^5urWJ*h1*+nFYaemiG&Qc$*_;;nbirJp^M3(O1L3*9Fv=j)1d zu!*bB`KuW!DLI3oe&GVn&0Dt}pToy_Ty1e!=BITFnlHZ$^i-L>z5Kj{sqLIOxk+|= zUod$r@OUJ+T-wbr(1v@@yMrvei!Zvm zpmk`A54XOA#Dl9GQy(SS9P)fVIV?d%(W&D6V+Wx^t%vs;Z+sDz>Qw4iE#C2!U1=$g zNUnmORduk+RGa&{wHEAK8Jr%uv8+yb{-fV3CGfOzo=*=CQ&s4CRq2&7e;;;D(h#-M zWX=!15WpI?b;^;l4R;nR{Jyl>?84e6ho7@$Ci_iu@${FRpvNf7v8+$r@}yFOL~@#{ zOH2Ab3sIG@7oDfepIlZ-TK_~}T~g)pjrWSi->bN|{a&Q3oH$YLRbghL^CrXHGAZRN z%|sZ)SQwA5bxZM7eQs-EGJAtWw^Ha5rmy>#4ntlcId|mNTc!1G*#?DVxi2U8O%pxR)i|Z}Nma1q&7BOB zce9i&U-#{&dEpD|-+vH(CU=%3|Gqb6$wS9DN86W4 zA)!AD#5X5LQw7QSMS3m&Ijf{J_cL^C6l=JY%%4qV;vFmyW0oR#lA-!Lm0S2|gShz5v1v(0Rh zk(t-4v9kth3EA9JP0|lfA=v4lLI~S z>dSX7x%!nUq@8o;l+Wic&D_QFfWd1{t>()DpLubNfqlK#7I1OPPJA%=gveIs3-ja_ zGg}_>TzPj!tJVRT!sgIL6Woj*$nG&Xf7jIR(CgVmUzMEY4*!6LK z6!%62{sl)pCj9Jj)RHKkRpycJx}ZVqSoNjyJ16 zsIRBE8GGe7qTf|SE_^WP<(zNUL9=h+m{Z5?T!BgaB*w{67^Om1pj9+ZE zxI?#hsZP9-@?i4h`@gQ9pJ@2$`D?5Qeof~D$FgX+$-k|VzJ zYaT7U|D-{3|J}2;94U8Np6)c!iC}n=@{4au4%3o(CF%8XcV8~_ny}*u|K7eWS9=#t zm=d#6=55~BG>a=*O`aAqvm6Ysv_6oVtLc)u=r9l81DW8tF((Y%82-FeIeffl{<+?U zq+>Scm;VlVdDY>3zN0ToLh=V$EvJGxg??{1WLlVYn<^x}EO&dLAz|OYR6FtWaiv9N zAq*Q19JdK#JmzpakkNXIkh`;=Mwrp+>nk2jyQA2n5yT+DaAn1bz3j?+8Nwo_)p+b= zk*io;(7c`d#+Tz!NlhxYmNwO83!|JKDh64|v@Kw_=vUZQk<(Q;Kl7)Xt5ZLw|{-DSsbWi}%g_e3U`ZE8=mJ zM%m15OKMU#_-{2?;5aq$yovHuhxO-IGBqwJIeIKIxzvG!v)krIuq=VYR@%tnNV4^Sn`KF=@B*(B*^R9oc!(szP(!5QZCwRVOZ%aR(D?oRy~oX4+hn`Pb=8%6&5Gxuy1RdN zv8&YcoAO-Dtvygsl@L1H^{zzPEB35##_18;4+>83Jh(*T1k-xCeOo4PHcL|UI3Hvm z74gJPRwB7=72}DTbCT?L-(OokL$TB87~^pjt~Rp>(GdIR=X|Z4F4fgMxxi95aqiCN zmqk_994zZe-!5|Ev8Aq>$h-&NR!WAfE3cLb$~(c*!R~6kq0r;wrX9)mFU@6RU<|i- z`96q6^{`R0ta->b7Jrql*^K8OcYT=uL!+-{*7i5It8326B-uLMo#b}@^wv!W`fHN* zUURAa%f@FISNuDsBJT2${|uYgcj)Gch_&6Wah93J-c$DLl2oi8`#;X#k2t=bZ!h0f zt))NN!Z6pq@%*K||6J8sJsC=WR#%0ejQ`*leY&i#R_&g@TBKypis)x)>?(il5AECP znpAUs%Hv&M7WfB#{50?8%Xw42cb7fUFuv1#a-q{y`K9(O`Z2;UeHm^nG)$CU@zzr( zEll!Z@i~5z4-SrP=O3R{pFMwSu=>Vtt9A*8yLhbTdc)j!;%G#}`iVPFp0had(#O?r z`Tn)M-^>2VYO3+Z@LfH|c)+&T#{Tr%uJ+2{PxCaB^3_avI3-`PM@i~Ngx#Lt^?aiH ztah!nCzh+-Y?v65EF&d%!|Lt5@O`c-H%gQP$|n?GNcA;8HCbl+JsW;Ue}gTR=~D#z zES7|w4DMZr{+{yT zz^s`~?b;G=k7-3qGP|AlX{m1esx)$V#W=2`Sn>0zs*ivi99mx=ABi|dHx$#Gj{dtczf_|;2n=uA}*&q z9qNK_&FHzom||15fSY%3Tan?d8SA(39=7B@*?q=ZZBd`kpOaP@Z}RMstL`e; zk>=a6L*esehjqTjtqH5=pI$0xG-vr%<1@OgFW+b?Ir!`Tyx@D&SX8>eA@;thQJ8!I ze^TZe`-YEiomUy$=sWfIeAG;)a7o@3VVP!+Rpge>D(N`D_E_$@$d3(wjOSVNeN`3^ z&}3S&bS2Z-gqFdX>0A}S?aMTYtEtZ?NfqYPo^Pi~Hq|F-ZOM)d2v zWo{F>ar0(f0wc3Y?Q(@<;VgW78Z7O?yLmth%Xz%kJOALy`_9`_WV`ZJ<8jWD@o~J& z8)LkmoqyUmfz9)1ghGy%u*`FlgG?GXrF12KTc*PKnn+ zsd~y&~+;R2~{Mw1j5cIJtfW^U1o{(ZdR_);d2Z5i-wZGs``Cx9)pa7sGeuXr$RcnU9{*(|$_KNoQ(cub;iVu5B@Y zyL5k?yQ%hqytau8nRMQ{NeicE!m!a`dj%8j$SNU zW10Un-glEoJIBEp+gS>`e!Tw2wf2$g*2^}Q3(xoz%=DRjie0PtyZcs#TISzISz*)v zGjOdDI)B>QNp|HQ<$TAtaebeR85Y?Tp3{Eb|3h7Fap5ETM)&B?vD;!Q9ha~eI(R(( zaI{w7>9)4um-953I1*>u%$fK$IPW=^y;O)!rA&2@R<5np{3r&uKAV-dPuK`wo8rM1 z@p#^xlI1@Y=00RAJiph-Vus9H&`H=e#92W%dcF0DPO_GW_Ng{zUb4sEz&QaxpY zqfB-1^<;f^5%+BYA|LJ+`neu6Zg$qP!nftb)a04d=S<*y-c`K%L6L<`kV)qp zQ4!MxhtiGrPv5|L%ku8IOy4azj#`|@jJ>xham`8jvi#@{-c64!S2A|ytzufwG$SyX zvF!1@XG<$>HgC?)c~Y{%=AojF2=WFXWnW%A zq9D<0;P8AFL!Wh_$kNK!7iLXTxwTZq@}Nr9WhSpaRo#j2z0|^OH08~!7>d{N-#zf_ zaQ2DtfID(^KjyJJ_Xeaz40&q1Nh{1cqVe+U zfNc>En0tO*V3c-S#qgl&^0NZbFom73ivO%qO0wS>e0dVXOFs_LW~1j99xr7IXPY_G zEm%_WsQUEhDK@qI@{faaKC?MJ;rsDID(gW7xDqn4a9g>zh z9{jqb$7{31IkSmJ8P+MwUP{h9G|xDwMSoJ^&r37fins9e&D+vA)!&D2=X-}^CK0E3 zKEL;=_^$E#`ihkvJhvw#79Qh|D!U-QErV%GA!i$-GW#UW{|xD$j-RnxEc^0tmYlHU z7ZJ1AO=stPm0ZAaVcE0XIS+W|UFo@NrdNFOSMaxqy{oTFo;CC6e3)|Fgd^gEb>Ulw zImKdz6a8Hi=Br&k?i_fUv+U4g`@8Cr3;dI$J4NT8=00azvEaa239WY9gKxc`tVx-s zJa48=NY}a*OgklBdkVQGoSUfk@w5CMkM}_))l>40Re$vPyv@LO`NUgG(o$n4_%Aps z<}9JR%edq?yQ!9u#w~{&xkWSeeirQbIi=)_s7#^fe+FHZC)-bX9AKL48u$3!EH|gd z4UAt_gr-iJ=6J3uq-AD!)7?tty;`deFbc}AFqyUC=ysk81tHttmre@gv>jX?&9J;C zgMEe4oCh9Wk6Gj%O%Ux=^pHq==^xI)v?P)tLEbBQA@_uOo?=hA$US=s+zK7I{xj^W zk)M7?revA8VS~BYN$J{^@5L4P{bsII?zGvI@}TiY0E@OzlUKvy4YIE?3LJgpYr2@G zYB9Vr@?ZF6`G@^l^X?X2Yhm$exB0@Xws^{xgyS-fn<^}idTS`~n=gE`_R?bB?Gw+r zOD@lDSmlvFn|;IMr9$Uwj)Vj^@%b-RlbutsNj|yTq zpxsllTy>v$qC?UigC*Jx;c_=czDY|hRZ)2RSjJ2I#ZVn?5R(Vtnt0Yxec9*b&3vz%ogF@?Jn#7WyQZ7p0BdM zgN`f4t^FC$5U!l>Jn`0q-5(5Z?|2#bWKHX~zN#x51)?q9zxLp`e`=D^8nYEL^I!Xg z1nl->V`pD$<>O|5mF?tXQJFT6yD|bH+qGC344-I!l53Wb{pef4(37LP$6R{0vZ%Go zC(VM^@aOQz(+ zQPU}n6AvmkX<6J#zctCJ$m1aMQpQcH(>yL-&v;e+S2M!n4A+^{M~=H3<&t#u5q=X-g#Di-%OzYl3_$=v0@p?rB(UuN!8*Af+`3YFwp3~jt`r>T@2 zb6Dod-1eU#!a?S_ZSATf4r`JXn&-_}a?hEC`96{lBt^S#gK8XtbfMuu99gd4hBwF;3>-7wvjbSCFl8^N6TgfN;8Pe`Kr=4g`w5! z=r%LS0|&pYxEJ(f;oH~u=A7S=8+zcl(hO#g*^88~;-)`&T0+ z;fL$F>PPeS8r))C=6S8RHT<&d=LLr-v-~*>H&|rScG`FSn%-%0S19n|mG~_UF4e!n z&)rl0yS&cek8N7?dsdHEGll*0)n`~06?O@2kdJb-I#vGhpt5Pk$)^n}-Ob-U*Y|(X zzg>Ui&`sUjhreg$yx#xTU(WLUUFEGg``>=9=IK^_-maR_;vkt)urr~G@xG};t?Rd= z=a_jWUz%cgb7ocY@`v#juD|Pk6uyakZ)4S|XnmN|GnM%Y*XG6l?$)vG?|dtK#z9#5 zZ09EF8;=_7ntF8d7S}!QkD79h@z#>!W4sln%iq>NsNT7B){V_aN9$rH^`3Xa5tNsFN7O$-VCGjmLTX z{%f5z=LhPo%vdhuv%-3#4Oi~D^};)T3$=YZC)51v`YEaDZ^Iui-Cllm%eIIsQxj!e z`!{}HQ)~RK|Hq!|i@59AULC#B)2$)#+*ah0%5V06LN1wpZyF9SvkuzdvG(dQ<)0l7 zl5g$vpZ+-f_}U`=&8`okZ%2k2E$xV%^FWACYsW|b;~i$NblH{)KY!-Yk$=34z4*2C z**epo%M=*ciB?iQ_Ye_n_kzmj~^?7aQ^^~%i4!U9}X?x|c_#Lydb#_R#d z=PPp6Qa}6n+vjf)J;L@aduCF(bYf?)vhA_zkN*D|TGc-WeS9Krb!Leu*FiT)`#r|@ z8tf+Li@w;vyEuIN-7Oor_1rJN4%mL=Jh#%D+E9@vyzd?}zmB(ztl|H$D!O*x#tM-_ zK_j6Za*JPjiof~$Q9F3*wdWy|LQ}1q)61_l*meA8Xr1}s=At{h{usWsx6IF4Uiwl0 zFu$R9Z5dk(lgyu;qK`O#Th%yk)#cfc*ZYB)?WAL$vEPorv-gxFx1YZ%v5NP=+k*$+ zI>fnqr~4r;(^VR7NVgSE{3mkk z$I^%Xh8@=zr*Y4{eIW4d*Yym0{!Xt+nYeuV>bO%AdR)GTyS$OVwz&CQ=Ept7oeQr> zDo-f#ne*<;!3DMcRoj0oe0ch$ly_~G!~q+&0zTW?Rnh$&_oTNmnO#>*3V)h$zu^4C zcsu{!wtqbLw|Q%rZZbc0) z@A#kL(CH6%=lE9FKC-yTW)%55U9`-;^PcFmyGyzwIyd%79(!clT61`94fBt!CjS}I z_j*X(UHmh7T9{m-t>=NCSsM1~{jwQmYgv2315do)v&iR2-Wx_+cM-;~y2tyzc-Jn; z`t~M5c>9@ic3W-NACc!hE09>zK~i3J$=%lSNv1tZG4Ju*xF4w z@kjb&x4(U^V63N1*XpP2*3Do3g)n~o+TQVYo$Nfzsh4|?$cWngT)u68(uz&mTD!O1 zX?v`+&uDM{Ev9QXw?)UTNfAhPKiy#8{^fP#wf_tPb=og=qR(FmSjo7E;|R|`+00iH zjqGmJ#<9$e^K@#cd*|lA*SEM{bWh@v8qJuMD#h{QxBk?B+&5XHIk4&RISIS;n=|_J zZ0oir|C74?=*;p+?eG)V=5KS`pPzQ3Y9^r-kbG|2@XIg*j-yJpXj)&8I(svp*g*LLfe>xk` zzk1$N$>2Oce~G;LQDJ*H_QmAzxto5L>;7H-;-2F4-0SVL#BZG0k(0tu{G%^B=<>Ih zKQdF7FS&m0%w^89HFn8)ws!Gr8ESdnv^j*H_j6zCkRSe*O2h z){5+j6Z6lXlk~f)F8Qdz&f@R#Et^;VII7ltcIMP0Zl;r2<`>6%|6$x}_Md@o%h&2s zk4d%@pFG`oJig}o>HAW;dZzqc1}~>yGFtR1(=5m*h5w=Qe*2}h=^vII&8<<)%okqa zuN$LR*p$J%Hq2vUfm_8ZEtBrkGbA};<`h+5aG95obcgll-s+&+cianR|Jlb}v!rjw z0`4GR0Y|3wXRPKtn`XGtT<~~Nrj&-qoh2(Jp7a&^WL|itale3l;)}W|3~x^z$+dNl zQvb9(wuSjk=0c~M-Jg#qyJ$%T^c={u&0t)n-Y&RPYpxr6RFS6?pVPz_nco8qrG=ai zJXpsY%JDQ-(vQ9F$596V0?EgxcD3CyoOslV!|ZK$(${lYQyjybxdo0ZHcfjHI$_z} z&?Je2&v`F@T(J7iqz4?E*0^QOG56i(DD~&S#HQj|vmOR+*t8?+aQK=U={%NIRlg8}xPbOKi zFIe`o=ThyTT0=kI15?9)dOj(A{@Uw+ou^{2(Z+sCTmmJ3*SJjhegcs=>nZ1Gu4Kf5Pb zNPKyd`C@@wOz}Bhovs%K8z=EIn=mw4va~*}Ioh~cd8tvg#@!iS-#duhREc@(^NVYmrL6Au6Fm~e{~2B_moPKb*RWw~mY=aA zW=3k!g2^xUJm61sn6*ocDacXN+VREmmETtv+VJwd{aa~Mx{6z+$GL;g>+gC0oJ-5+ zZR$Nbd)rls0}GoU_JVI3z<~=tR^6*TZoq6*z z_pLP(|E15An4e)i3jr_ZUqgJJQz&mR7Xc?!H+T9cb6pZEW`GWxXP!`YHD53XdrHp;hT z_-60b^QQ30s!tY6?q0Oz^x1Hb?|bi*qhC@(W@%gc`CEIRhmk#KKlE(?Y;*xU0dD@r?VvRR6kpw^IgT@_S44O`+o!& zZ90|0z4xBr4c6!Dor7W=E(kbJ{*-cMy^8lI#?J;nBjl!v6#A>3c%rkQAj-)u(Lw(I zg?C>vgiI=gGkWVj1fI*fd4_X07q`BvY0T=wiWQ-O(d%rpvdi6r&PXs+KJI#BacZ(p z+4QN~Qa#dS3nS&Z?%qFcKEYh;^ZMyij$2r&-|o71Rp;8X8*5Su_If9qo~=>eDfUl$ zf8^*O*fw{9_`T?2!RGVovi4kU)|z>IH$w{CxMt-9^`yqkc`*65 z>2kIUt2Qw$dGLg5$vU>uD;}E#lC@45?%>lpH^F9wh;{+Hq^Nta%V*cqlQkG<8PngL!rzzN}R2x@EVAiBaY2ibJM{YtQeh zIQch&aRrleNBf6AP0O-#4n8|^PFnI%0sG}^^F=qgt%_dFP`R|SE;Q`L@gLQER~Yg` zdTM6e6G{2(Dd}%>>I7r_o>g@}RyI7*ZfvmX`>{e+N+#Fxq&?^eJ)$E^>n0%-B!h;7P z8`qt1$>L64oIWR5H+S2c{k;>N{F5g?^sc%NNc(-%o@2$@!bt4tvf&ax3-J zNyT~D*CXeuo=iC7sZ#Z%PV`$!*meHi-;TE|V+1N*$Me;lDTs~#@t@(az`a{D>Mz}F zik@Wt?cnhu-rC0^c8L{Xw$18K-x>bRV6wPfq;IM`RJEox)wbGfZ8 z(9rm~*uUr8C3!;!-~D>-uN_KcwjYePb}LWL5H;~g^|yG!e86shRFj+G$EU*QczttA z*7CpmeDG=gQr4v@8XGH`C7w$tG%em>Dn6Y>tDJeu#5wbp-&!)wrR?Dc2X@I7OMFkP zdc}AB#DV_|mJ4FJ16HIO8Y-CkRUCCK7V25l;8r-RHE;I0Pv!{|oF={uGPau7IIlKC z?nI5Ed1X!EwWS#scr=)A6b5Sa#-F_*^7fefQrpx!3lwa=s(fA0=peZ6k%h8Muu4gg zib{c{-Be{okIy?&zDO=xmD9~`w_FBvh)T;uPdOi3ch*)jQ`bCU^?b{hFOOA5H-mtpzE>X)%kcfGcd~$*8%%ofXMrsNZ9GR83T1>OopW+wYU_GnA zU)8>BZ{0_cFBMOEex|=mF!*A^lYD%}x167aU0D-(tR>Ge{B$)xSINkA;P|%BMmLl*WoGpp{`~fzcd&C!_%{?;j3$yb~ zl?f>_^6R5gcX{))?0Xj6qyN2P`EhM+0SAlc4BwYdkzKHXnXNHmy^3AV{)`y{2Ma{_ z=3KcrJ5kCgX4<`qn381&R@s#vRBv(*_WHI;(&?Dl^9g>etg1;F4W6GRp6|3j)#-X< zjkf^jtHleBda`ah?mKc35?yloh_Y(IO% zdz$lg?e|@Ow*8&+_Q@4Hj*2#*Eg8gP0f1xFZ5?++QDxta`d8JojO%-D6w~u{FL%nS*Pned^1(yII)+H^8`!v)yl(LP6@XCdoFS6SLliq!-?&0|2VH@%J=3oO7s%F zbGQBRYY!!6qYmZ=&CNIZzI+dv==`%W+U7~!RGHeEqpU^NvpDx2ot81NdB24$=aRPE zQ~ccX_T9TOyU4S^psMPMuaV9SNtVYVjHzCEpDs_@lhT#bkgKqhS?03B4#rtJMGPw6 zM672{PoKiv_$O9_@pVqkvKv+3l@}g0jC|O;DDa%&#EJ7yE$Pec-P&(AWligc;^r3` zj4So-ZrIge_GgFXYOds44#)kj20To=_3^oUx!sgM%6cr-MFxKSCJaAkh)Mg)a;VJ| zoI0Vkr+NOKsvs@V{3*Qq*JU2_Q7dp`<2WB*#UN#xc1K$N&E%tQJr_@jSEugxDq7-h zH1)LnuFOlCMw}h$49{~J>@t;_Ow$YJHKffsWwTM}Id`9{8NZ(Eox^id*p{E1ES&IU z;xYazhHP!t!`q6_$2?l-%Chkm`$E}OAwotSHxfS>IV^t{v7vX4;p^>leg!Z&^l!-z zo?!84j?5`9^Wop};|UuH>dn85tLc@~2d+tlfmtO1{Py!M&Ox@Vz~Snl!3 z^F%^cysKD?Y+EF*5Z!!tocc2<*uH3@O4Rq&uj@M zj^Lecn%`NDXPnMErNVvSkH+2uDISab4W6s_@r$Ov6{SwzOeMy}+M_qwa<-#alky`$khuWWfdD#VQ^$>RiLQN+9{FHWRzNX)6az$|&;?PJRqhW@?ZK3U0U zx!hX)wBV?_g~>&Zj+!HnWr`g*pV}Vz9hSs+{1l(oq1*f3uDRXu%5#PCmNPG{wy|+& z_b>HUTBERwao+O2EsW}C4m0%Lz1eSafXRU8$m6EtD_2~-zw=dtpb}pDSR_bS@h+~b_z5jFK)sN4 zW8;rv@4|Q1yf^+9$Cw|#D`p%0aNlySI}aZ>KH;eDshfI7(#&(`e67O9mq&~D3$IDo z_u=Z3xX1~6S2uOfNza#Dn$oDtKjS|`%ITjve@b3j@~Ld$epYt;Kf}6x+b^W|)pGZ782*P5_e21&G5+)ZQ~SKE443jm*Fc{ z?`$qt$)3sAC)L_&FkZW?#}lMoV7yx<_`r!1FDj+ovzoc2v(?ll!VWhxi2kp+^xT}QTK$&uPo*ze{cRhcB$o) z$MdCvyC=vjE55E0Jf%Hu@uy{iPYnZ`IF4EM1T&RQbmCzQY`fdrkSt;IWkt==B5uCw z^sY%FTFneh{EoL8mlmq=?_|>Wsy1WI>>sL*?J0*2r?2RXnSA1E#fGdz$Tp`cCnt5_itFiM&`MmmWSuHjpk2l>7>~Tg} z8ObSo^BQ2=Y26HUqqQD ztu~&w3GSJ_f&IDfEWb)g6ZPDKZ>+>^`R*hyv%Z`cZS#Qn%WL2M;>QgA&V5^M-Yp32 z_uDf0o$~YiADZh{iuND04ld4{?B?7l=9B2~MEF&$_Ve{WRLo{puBe!Q)auWPBWg<+ zE3UumT`YNi`)-0JX zIS=@@Tr^VK-YDp`UiO5@OOduaeGV@eMP+REpOrsV)qHPm!F@Hs0&87`Z7rSK6HlBx zX879UjsGcjuEH&HQ*M_|4KDucah69iVv=Qk6>DOkkbxP4@oB+(^ER#)kV&7@m&Gy3 zE#YY4)aUc2st8*2>l~R>RQ%du)`pi6It$sI4=T-l-qCU1;vK6+3v=52V+$%G3K(rl z*c#MSol*>+{Bv96X*lKmynS0P?h$opSZDF;g6>U^GRec~>#G>1pGrSg!H_=7@ z^MnqYU9f|Y)ij2U&l@LL1sS!<@ciad`rPI%KV|-O_PyF3zwH8lUNB6!WvRYANmIT3 zYHJFQ{P`&lg|=k#EmRaLWB z#MDFc{Qa|hH$C~eCgO49OGmf5wb{C7*KC`(EOLROXUv1^NB&9gHEWUYZNIHsbG}$S+9$Pd63dT;r6uYi6H6Cu_BiEm?u`I{72DMF zJKp5g-Av84*;6?|S&u!Z@W<7bO!K*SiVvO*`f%IhpWFsX*056s9M8AMT)k3ogU9-d z3B#k+SI>)l>962v-X0Si<#M-G{U596a}NWN1it0h8u@(>q&BkjJ(~HfuO|XVKRDlTdrx(J-)8M)iRMWl=0iI+DxB}s;CeEx zK&1Gc)|u#q5+~Jdgx%k5oae|k<4LZ@8Kc@?!8x2V!Y7yX-B|FM(|Y3xcBL6=r&-lm zN-S2&H1^2uw13_;x4~(H*X(l9q{7`x?IfDET|V@<`L*w-#-Ir1a|OOa#*7VxM?>E< zRQ71zV?V>DWv1|!XaCVlOS*ac40p@=+9xq^9=}qyYa=}EylMaAw^IJXKlCFmMyZudJK85K^Y+=ch9k2b)YZH47WM5)y|iko zarBmizZHKoWY^Vr{uZm~tkL~=>ha<8%8QpR)X5e)KC$>1gZ2xZfXMm$EhC&3OEnEpY{9P4ddhAmg#N_kd&C`@u(r?)$Y#oc~eC; zTPQm9SJipVX^T&sm3dR$*7*FjCMWZnPX+vYwK=(&y64qa2LvZKHWk@32CZ)S>BnY$ zfjL>VXpO(Rg~|1ajStd$l4W0cba^dpt6R2Up1L~=?*sO_+(A< zQ;~_&WEy`2DtYW#CA*~b%fj8AZ>*GFg=hS+zWnd22L1rQz0% zbL99hO*FqSRk(`Zn04cgLLb2v1s8_nS+PIwto&lR;-Onm(aq;Ck1}n@2`b*e^DDS% zL!LYHf}@;5i}O8x+HMYhd#`1Ed=;bi)Dr~l1fHf%|rP#wI#Y=POK=zNLy{%od)o_{bg?3twaG(U)u+44UF z*Mof~br`G;q} zgLcPn{dp`}=)j>#Y6b`R{%kl~tNv*B!DV$u4N0s?3gO59C-hR~Q+ai0r!sOjz z*%PlaMCTrf4D(&xlQdIBMXp{UQ`9c6@JC4BK>;%h35mrEvdk_R}0xidXit$Oymol+uV%dTh&TJLAOcn8H5JceX3V1l+FL&-Hf@3~4)d zhw;6iik*QymwT|_jd1pBla#m<<`f z(SIFQGvh|eHV#P!KFu3k56s?7Ri5|d+Wk*0$_(WzKLvI$JkWJ}l3WqP{q8M9p7d8%ddxruz9==SV5OM&HCo;64E8PYc_joop}!Q!z>0K<;5)1|K`RLzI_nOP$ zSsPh59^+-OKgG3s2g_Hs)w}0D;N!2Fv+?fl^Il!4&x<}Dua9C#)ZZbySfy`I_yPG3 z5%NN}j<0$7D`ewI&BEf~af|h*=l{@*@7CM8|CX!C z&L~fojosYdMGyXckP(w#Zo>Gj|BrCKORoGk|BEVJVjg+Q?x*J-y|Lmn|8diIzh^c| zFwY5}Uw7i4^z?)KH+^rlF|Y66qB?7ytwCX2!|lZZ%6`So^Su~?jz`!i%*Mh2)^{~_1aeUq27yOS89)1NJ_u+wV6gMe@@?V{_?E_+dG;ZY)YSXMlO=E zE3%Z`=)mLAQgQr@b#sv0;@ze1U;1=Tb-a77`cj&w%%1~#Zfy6O8q}mE%jzcwp7UU| z+4K3j&E=Mf+X4-DlrApnpYi3_Vt zPO$ALW%&M;d9BuB(bG))*VkG~ZZgt5b85cUlX;ItW(Y1}EZoude)4&fyw;SH_Lj1l zFBol-)i2G~(y-omn}uuo0^any-~0U*O_2Swd>LD&m+&!nzXiccIs*9#GG*tVItWSD zEWN#*eW5AG{GvypzwfdcAJcMJ5wiI)!xN$EONA39PDnhtz%r3>qfbpjxybd-*;8yQ z9|SK>>?u8P)bN7vgvIQAQy8?~F?M~jIIF0>h-boG&DYx*%l=j@nP{nId_KvQfze-X z$C8RR&U2p2Yi=Gcoao29v*5<#Sqy7d9NbmkYQcLz^TE8W%HqjydrFpV+GUVd;Am;_ zWdUoaL5uSI@BUsBj-A=BAJwNR=96pjZKYjqW5_%=e%lNt`57`Y|3seN-C-${G%MnH zVN4ZQ=;T7p?Vn5-J}dWC*J=qcPWW?t-jvCwF77+Dac%{+P#!xsX*<#6j!6b`|6<-!GKIyV;44G$e_O(yan%fs0a!OzN@;s@z z%kGz9knh9S^4Vd+Cc_CmCqI`nO?Z%4Ji%7;B$ozfgW*e0HOtU|9k%Yl4#y8_rY3dH zkt--L3^@1TjHuf^%fvq`877!d+iT!)e5>IU3nA8*mwG#s|Ga2F@rGOQyRX)1<(;m~ zdDio?Bn0F6UbekF8*%I7LS~k}*%=}w5)YHP93_vNs)x$`+j26vi08}u!1oF~LWMVi zq~#_*b4!p`R%kGs6}co>TqC0K(nQhQM%MkO7c9M{*rV;i=g+$1$z_%sQ5z55W02js zQhNCUQ^80^HZ{eahgQDyyQ{3`#c<Ze%O)P5v3Qxge^tr^xiaC&x0-@BORDs698R|F zRhYU%rD=vu)hsUS!cR^6OXR-nV6xxETw*s@W24Kpb1Kp|i{>A4So-_;I{T%L8Slh1 zCH{q`pFF^`+|qQ}0i)O%H~2VSu@?sXo$Jba*AnHL**+??}oyj^sP=4Pb^moQ?|V2&b0K! z?^xAG$RiF4B`3vK+{L-cvW+g<+GVRGIMf|OT6`CJ@mlv`vPWz!xGZ`5)yLz zw%ph8nq6La;o|2>k>B1vo_KAJor7D|*P{%22PSgtS+K+AIOM8Ag_}~Ms?pMr9 za&N~>aFAe;@=Oclus+CAq&^OO_9;Jd^B;cjgE)~sqV?Nlj!)Y2T-=XrC(B;(V;r*nRmeGbTH{j3$=ipzd!FQv*YL0a%G>-doj#7EipxT9j8n}khj$8H7#=& zFXNBuJuJp^`fa0M@21_s6Zq_=Fx*_sGyAZBzZ0wK4uw1}Ba5HC`sXAkdZ_$8kiiot z8k3t~m%o<5Qa*dm3fo=5EY8*D+he{iU*r1kvHrbx)xoN1e4*km&oby;TKu#}-e*?m zgLa4IbELA`d$*l&zrfcvYr)S0i+LI<)EZRMC+sMRVX9m@L;Lu~inzy@=0vQs3+#U$ zc;aB?^S;A-8A3xo-HBdtPW-*xRh@@UoSe+^NBdl*yZ=1z@?Of(SaaZL`zhmV4MLVP zH@7Lz;pqx1`t8(zY>N4GuFh>ADj3R_sqAHHZ2lF%hm1`MPheR%Uu{vZMmz@uh|H z41cVBIG_9Mx9Z`@$~; zv!z_06d(E1=6*uiretk(W>H<@ME~&S$}c=S`Xyy%GcSj+eOy-V&;98i`p(V6J7$n?-RQRz-m(J3FICuBCtEnXItWq4BbRKDKcV-@T2o--lau$PFOOpQZ0rB6{DaP$56+8}-X|0lh}4Om z%ih1S|M1zkkV(-Qp>^M`PJSo9w7S^kyHKZ~oAF5zU(QYgx2HA_0@xes4-3~A2bvz) zrsnAo*fOQzhmGLNuEqLq93OPg?p&ul@0H5L6Vgl1vlKbJ(0-9|$;?qF!oqgPQ8twT zv6zIvSM9bie!jZ=jrIc$J*Jzlw(BbE-BdID&#)%m$=I*`o5F{@sS<|AWjdctVqWI( z#r|*BFENYhQ+tx-rmWA1&#cL1Ze5^P;Zwh{zj>-`-r9tWCz2Bdx&B$KzUBX>{lh=D z-!9)CMjrZmrh8hZ{N&Q^!v)S9+qx_c>H8crGLD+)A=na;(@=Dzz<;Tg%OnFS zgQ_C`r7CR2FHdY-60NK#&hRrq$o3`QoK5TBpHOUIv)xl2dNHrRGxb==M?Yx~!O1;5 z7g#mkOmw^S^Z4Cwrg6DiO56rAA8x#lQaRnG&Fft~ zyx`=crG2({PK&Y2F!uEOT-~vjW%hQjI}>W{xr&at}Ug>VYNGwmoww2w#wA6`bC7>o&_m zg}KX_Z9;D*X)&ljRblLps-Mu3{8d&n>VTu{(me$e+zR&a)N8G`o6R$!U++%h?3FTo zTAz<4E39As(!cf3(@!V4&j&j^-Z?#ciL3DB%`2YBwJp!KaH;ls@|gRi#A@R|Gjn$w zd@L#!yW#bT_l~J;L)6;i&w^v=!Q+4bPp6S=LmDs8eW8;lQ}t6UUu$@S2m1?lfD zuy`jwpJd)7x|7d%^81iym(68Yh?Hu7`l5bmOJdT3%{&YSewy;h#k~jS9cr}gt9pKD z;X2WyyM(GvTx|0Evuf`BCX>oMbN|J+^IrGsB->xw^}R1tUad^@_uhm58Mu~pNP2Hq zX)>y?T*&#R@VY$rAMILYZ~OLz4i!AzJu;=DlUMxV{*hlR?7Zqn{#(}LdeJh!9_>}q zU~q_S{KYp_W}C-zMaSo_LszMM((b=G|KZtF9g3HpIIaKQ)x-M!_}Y}L`y2Nk_HH_( zQ~WHSTjNB@chh(O8B+S0zb8vPk#fxHY4!Txz}%B?mGQIa{Wts%cCSd;(S5Z1Snk0< zJ`qvLmwoN*AJ_C2e`DU>CtSL`Vq0oS;3mzadji#k2iLEjbWXIWjJf&b@%*J8vr445 zOP3ZDm`OR*)SJICe{@3kjM=SOrx+ECmMcGfFze~o_c!z(&6&1QuW?PprsR^}2c06m z-Kx5NS3aTFF~qmAkL_|#b+GE?MZL-)9cjJ}*YkI(eRh3^ zy};HTd-NZ@wF~JkDZCvsV_&43foI;6s^8bIRNX&#pZ&+8YuUBsho=QAYgg`Gd+a6q zLeujh{kt>vKGKUh>hxkH$F{ zQ>OW}aFq*Q;o6#>t2=kmD&89mG9QXV{=~B6Km5JDa%P#!(Ty+PI()M;{n5Dc=8yJA zTdJ(zO|CuEYWDHdk~t~!u6~_8HX?l?Pr1 z9^2${yF-RY@Wz!3$N29AEWgyq*LN*tC*!i97e2g`P?&E1xhOS*O96I>}R+t80(^jPw=XR)$KrFtRVJFu5Vzd+ttggJ#XMW1ccR z8um*WR2E)H^|({{Y=LLYq$MA3i)Mb?b~Qw1p2we8nwLc83!aE(p8E2~We=`mYqy`= zdp<}S_f%h9vFCXF4mOTs{_$BE4JUXeFv-qrJd zlH;e;ejmOoTQ)Fk&P)mVA^0_?d45jF+TS})x2imD>p#=(u!KU)!9UFN_LrNLhGtw@Mxl{Ijy$K$1a#J*ZOl1!J76>#;+gkD2Fb zZuFK(Pc!@2Hz#Q#_j!fTTLSBf-v_iz@bXWnIIqydbAkEK(}|~8p4+6`+Ga&OXKmp* zAn$k~A;?)GNjg&^cveV9?oao<3?};T_gp=G#`633rI}p@i9O}tA5C0rSg<(Hnk!;q z(!+1fFXvrh6nSPT*!5iZRaI?9*FDAGCmC!Ko_t*?bvMl4QkbVA&pJ?|Q^Mg)IKz_* zYA)(#lPZs~rZO+z>zyakT<~;P&4SWDtCZfw%?8 z`0Aw`l*&FU*Ub@A>bSXWy3sa=Kl`S}opLp{5-8w&^5raxP^ZoD6EO;w$1In77H(3y zUBH|m^Vx5jvXEF1+XJ&_3nG?#aK#v%IKEsafNA@bGjit2nT!p2|EB!Bt+A?opY*&d zx3fKrKJ6~PQ+0`>rNL9$NUzSn&_VD_&^?3ojc;mSo;wt=X%#mUUsdqC1T{egpHB>{ z-pU@yV0t1{INxj9f$aRd&)z?_H#i?P$#Y?l;LOmCC)NAc+P>wVuaj3KnJ^`dKK@#t@>vPKzU@=fUx*Jjb=?lq?Y1 z@X~$8s-y0HcVDUIST##BZ%|%pm#KX0n5E?b^-GI&Zf}&`ANp9GscD;h5%Z>9&7X=a zAN^OG$^7^Q-ovG~VT>KKRvTV6 ze%>tUGGn&@jR)e7ONjulGx|;0Mu6)QXEy*lu8&NLz^~#-SohX}abCW;)Vm@cL_0SJ>->WGf zv+qZ_{T51EuWVMfd}&69?PHmHPJ{l$&z9tc=N^)k>f&S=6L8W$L!S z2Mqgb0$8Luc397rc#!a%Y0Y7-_je`p+?})}#ZPkuatkeZAh%VeaFaIEk>;028LWIZ zv8Ddp*s$e9g2zd|{|q(n9$#BB(QMZiKc*>+SLXaPl{ld~#aQhfd!1$sx4xXx-N~OW!|#Dw_KUz?LXn*%NVVJa_Gh8D1zH(Q@lb&Nsw#%L~^qXe9v+(ab zHjNU+$_A~E8=BucTvC|DI@M=V!h<yvYfG)<26ES{rj|2VEQ zU&@o&)9~iJF4hYEKO)XYr`5^)VApGyWOX+ye4^3&hmp+5%vUbN9iRB`)GXCiKYky6 zpRBT}%CGHZ?NoC^i;1Z+ZNmVXfPt4ZEG!{Wx~*{+#s^tF?YFW+^H>_(yX! zpM;YLgVvc1Z(82{Ufd%$g+GZSHFMdxOy2zwTa>>}PWA`eGBr@bo}xoEyh-8^6{)3#T1;TvnuU zgX?pAG~OLgDt) z)@2VGk7Zt1m|d_h?l|vv&$li&^!F^6e0(FcByCdcMX#sfy^Cc6l#ZO)s91hX%TT3p zQp62*uCj&8Z?6=bmgJ#sp}f>EP3Tc*{O$?HR{~fbdX`S}^!n4RVJW#%>S1z^)w-ez ziDf5ZAAjchv*4>}XzC8tB^si}pFR|^?`4SGHrMFX#V0Es%=g;RFX*sw^5r>wSHtcs zS+VBkLD@E6uda=cPfJLAS-^hh)^VXWR)?Gv!Gn)xbxb_|l=xP;^&j+J@Q#8>s}k} znh>7ITI`TxE1|TCXY%|wR>r55T{+wm%)EDd&CKqwy_4wQWqek-al)VX0q(NAth(KW zZmB<=g*+ssS25}soH!}{=}h5yrKx%zO(sd^xj+AHjVl(a`;geFkSxo;mf^eF9q+`x zh%fSvzTwG|y>sT>u#l+})!k(s{d3)HH;*9euKr}blrWij7LQGY1l}9|%vWB$BLV$-)clm>`Ay% z=r=DpuXwlmoYH3vUe7u-ZiJoqb+z&-x7j7T0OLKsE=kHc@CQ!pDKnW=_tE%ZQh_s1 zPeA5IBi=RuLyDo@sF$)9)4Grl!PZ?O}T9;c**#K{F_IvN4D zJ=o_hnvxUPbjJPC>e{t)HxyrgAF_&@@jpY~yuVf#n0YQ7wKHr>Z1n$pu%LC+PcwCQdyjy<8=EmfPbJRc?)cI-fFE zO>~_(C2`KbiiM25k6-ZKZ!?WfIAi{@m{IMXNbYmX^(SA;hM)hjRz>WXb?Nqx0eyG( zT-g2CsAuA=zi~fSu0Hy3eyg1FN1OFC-j=*%He!gLcp>~r-ps;uJ-@8HaM|?q zByX7l!OW$Fafdg&X}r+bcAjbR1jC=xSIPvR-dGy(z@~Y(`ZC*3?|M_TQA3NjZSF+`^1@lulpx7v&O<)_}Bf9RdBY?NyKpi9ak@yxj$cPbUie}zn(z;~3voTWcY z=t9Fe(QW zPn=WAJgcT&O=Mo}d9OB~PZ!LtE4MAbz2@|1e?8A{E2|i_*~0EiD8H)W$~h71c=v$9 zoW3nj#dC1R3)H5k()J}~lL-?(Ci za+<$RpJ9Vmy_S7YL2>iT_g*hQ@vi+RA}ZUmz0qoi`o3C?T^^1S2^_~PMLIqmGw@@O z(AmqsRnhPSTS4J>|C%d%*^A6VCTAJ`(_^cTT3MO?yi+MPsGp_d_jw8J@HuNLisk-D zB|DgM#N8EVo!ZP))l;O^>F+Ji@{(&-_;JDVQnMqzfs1>U9|k|Sc)Z{C^}BlBN^_~I z6O$%Mvhf+tWAoozWBV~JdOq`?sJ-oPApQzvrwso{0yZ5B(6 zaubT@9XI)KBX;?m?+aXu>MJJ|*=kj5&OOP}Ba?gZ+lqbX7VB8BuQ&Pn_i|hK%iCK` zSQi&6+S{Kg4481n=90tltVxE#7L%MCswW1Xemea|YJ%Ybrj|EGiZTnQd5XrF*$CX} zU+Z&B;b4(<$?HJtHC&+~Z_hheF5RxJugIbBarauYL$^3$?Jg+gJXu%VcQrNCj9v2a zm9GmFoFuQz`S!Z2z&+yo^PWq7CziM>ZMJ*(<+Vq7USR+EwSM#M(0Mcd`W*$265=_wpBi6?tZHsO|ZRUl+ur zE(?EJ|M)C(f_3LPf0lVuSaj+F+_z=zeg1CpQ%Q^GO05fu7G1eKx?{}HC%~ZYSb-oTs=SMYP}(o=#-kf2K-(drBgRC%17l) z`;f01&~!)acol2j^JDcNLc34TwRXSo<;q@9*CR&Hmr2vV}5bH`OolR>a3Ivb?3$Q zsqV=CvikI~pI)V*Wq)>caoKI(!L$04Qtyrjd{=&#ySG$L484BFuw|mv*PpvWu1(Y` zd48!e>d~pwQt$4$@!Ng*aah1y@CTQt_zmH=e%n)J7~HHji11W|Jeb^Ic)(=RgB6zN z*k#gY+??jSGa+=Z)s?f%j9ZHvFRL{ONhl|zhFTvupi;K{nAwBVFN|z8=kMwGe#}DT zh>^$5RONY=3ub58y{@p|$-G{2*|C%d9+nRbWLdRVr*~}>;aa@ni6ThllyrJhkMOV;tX~Eoo&8 z+`oL8=6{A%-nk7teU%Gzj5Jk~7EY1*I92xFl*fF^dR<2T%C;|3Zq=9F@04BnxFmsj z&g1KAS)&d|N-r+`X3{6+7WD~a+4eFi)#+8l#|c(fQfFwMDx6o=w`F#*+MQCFLIl;nF zPZt##{|sOWI{W10hPlW0i7(Z;G|$W+W?q4H@JwlS?fFry;?moTjOS%AT}d*Y`{cp5 zS6aFgR_A3Lw_#ee$aBVt06vB%kJtL7xD^Q`FJ<7DaOaq*=+cS*Galr~Ihpk`PI|IgFwA3biJz z3g4*S>=03?b-InYZ%&YlPltEmZOH{n6Ab+Qo=r_q?&EmJ@u)#|WAe|=oUIm%JP)4= zNw)lA!glJj#Q7vw*Fxz$X^;5$EbhDVyfx*Q*V;(_4!*bb^NgogPo2-zT4#QO&%l4Z z*Kgs6rC*OeZ!B58dggZP=s!PfCFHW7@&C{W>zieN&n?aPcvw{DkzA3WPg&fnQtV1LEew+_LZ=L-5ZQve@2@*5j+B)-1=~54zdh1Ak&X;9xI_7M8 z(tPmC5(b9?XPNIxvr-Sg4L)e|(SbktGiw}!+}4?o{xk62teAah*1C!Hd6RX|HZOF4 zQDHwf!lqwmNmZf2246XK1VYyCd(*i6^O(y|1hH zu}nOZ=J9>`cGAv2+5117KYDugdyyZm&(lkPmzZ6*H`kHwKfINB z>%?DkAFeFVm=-+g>Ab6+e3dd`Yx2Aqx4&+Vv=b3~e7Gvu}6!8a2oIft7)vy$H>H~e7SxnR=A zxqJH^UwcZ4_BURCFU8nfwD839zLuavPYTb=Flb5sIH)~GE;I19O3MMICeOPEwp%K* zH%`8^*zHz>rG>?l(j~J`&a&5?IYr32e0eMT`?@KtZSQp(Z&KNu&u(vRBNMhW=?AL1r{gW=hA-lQPCBS=g-wG37*aH zl)3oity8Uo%(DsZTUhhvdu^Pe} zI^$>K!519Mc7Nhj&Ue`H+~nHpw#Oz6%hk&YdvyI8{GUzf4QFrcx#Ai!_pqdTe^l=* zSIfH-Z}(rCXD%Y7)o^G6eZEHpg`LG<)S^o{97Qw7)t( z`p?j<_#yp}yugpfH7?zm%RHQ(zvtc46aF;)&Ge=7JLYd^oB3#~XUbOdeC5^0{HIB7 zaNn-}aRL9ee$GhM_U13yp@Pe&E#?4l9&;qCG(%b zKqKtl!U~1HM-3|HPcis8zV%~g$W#8fOe15;&y-2W*JHRS!CL8B_@sITs!0r%{lypci!C0MrpH4b@P`>o_c(L#S){Bm*-72@t9rK!~fLT z!D&0Q^yD8i9^}6KCsMiexbnn<%-80tWUOzfXS~%S_;~VJ1*sK3SynK}6=cS9`MpWr zxZI?^^zh`K54;9$%jbD~U%;-}UBpq`BKM zP^o|RLX`mKr3I^26?xibnr&wh{<3@@k0Vzfzf7>qirXh2HHfe!7&s_TJ8Ia}RQv0K zY{=s|a&2=qc!+Q^{ObF{aATt50rsw`v-3|mO2}r~OqkHS<8f2rwHe0}L~Hi^dc2iE zyJuz6VY?|ur-~F*Kku8eZnoDp_PG6CDTc>R@6eQ)clQO8<1_hLA#whvk7rF-HT9>( zV^P7LU0UxF#94~Hdcv=NG-25Iu4hkOq=ap4mL=QsV~@mT=2wLo8Gkq~@$$WghmXON z{=E(?)lQ9b`h$b?j>PWCUA4&hTVFWCb~P8stMp!P3}U~1tjJfIVL8K89yUvp%W}_k=e1v&^3ctoxZkVCT6ofPS%w8J zn?!sBU%qtm=x>;DJb6~fglHCq>Sy!1I8Qa1&D*&+F~U802j8N_NnN)?IiIBTebwoZ z-S#i7<59PQ*_-EgY7L<{F}KA$&b5!0DXMP<*KCV3oMf9`(8x959Jlcprv95Sd> zU#lHqt{TGmIsf(BOB0`{*-T)oZ@)BoIrs5>nd?9GKCR-bI4kCOAvs^&a1P_~z1~9W z*I&Q4_|x~#=jB^=Yx6`fd^THU-~EBdlHwlj=}G)|EHC2muT4~pZ{&T}^PRL{zAR%1-u!#HtP=f6wRf*Tm?r!sgY z3#xg1mwhRELYm|GYro#e%h_^MMGl`ncH?-A6oco_-z}xjCW)M6JudOb)$r!^cYXX( z5!ZZw-fe91Sis5Uw(}&5;Gu~Zu2y$1?KIz@pdTD0=9)kEq)x@+EEa=YYyZG5h6c|$ z>9#w*u4I{M%`|7;-@Tea2GM=Zx0c*uF1}Hq!MMuHz5U>~qn7s!w?1*bh`*n(PIGj^3Gg@arz@1- ztn%q%(>%{_3m@j2dM!90Bj|Bw;?#2%XBn*J6__RR_O4vRB(zhdTy2T=#7TE|r7v|< z`!jXIW+uCU+RO-!w3&yeotJet`E4nAn`PZ0i=zg&Og=U|x3qZNHAzfxf=CMUISr{Y zolR>Z6z%Q43X~fORLgNJHRlO2DdO94JSuP|oAJcgUT>CexL(84RPi>*b$jLk%e-Z? zl5^6T*V_a?lFKSQ#$MPpvFDScrEPKG79%FJ0^=t4Pm4^aNk(4yaA)2V`K<8p0x9#i zy*nOUV2O+AnEmMFZNE(B+nve5bIQLicYU_Aud)~;aMy6yAlgr~c% zv?mpu@A*6{SfKax+b16+Z%s)5!3mjX$U;B7W zy;jJrADlgpw=$>&ze}HY=Za73zvMovl;9=ZnV-$xS-!nB=i@%3<(99HGB|9zY?3pB zWzJjXON&1-X&C*v%^qMCx?qzAv(3CGK{me1xkkB`EPwW{VB(ye#e3Y+MksUPRJQPi zGSAmWR9w+;THH5t#gk62ew}YG9e4t|X6jW5`u{!P+*JH$m0Hi#199#?v&>Jd66c=x zcLmeB^&*qp05UtHyD#@Y)?laox5GZOHrjdL_6w$hCWSFx7yizQ>=e{u zV&eJBe`(+64_}{u>+LbWxKY!H-KX?uU1G(0pG$UPbr+)Y`t;0V?!DG6{#H8SPuGzr zjTf%JIDTMlmTdBY4fkA2&VAU>pDn*@NrC%XhH@p{i8H;QFrTvy+SJ-%kY_k&R!W{~ z@Wf!|9S;xO?qLvX&~6H8o@zJ6=;wTMr@gGUk97`)Gqd+)cBcG{NL6V&&T?tj4#B^3 zm*i};>6`LmZcALyzNg<;<}n@JmPtG~^7``iJDNaj1SXW)#zUbqePt{4Y7O)@tGx=77 zaMpUQ_P)Be;gcSp3Erl>yMghs%-7WxcjZ1RKE5p~+1+Y0_b#6Xqwds+-u7Y2@=|T29JWy#iWZI+P#FuJ||cqv@Rf-eFCqtOOSI@#Jm|6ObxOk z?bXVg8hd*9GS@2`$*ysKI4kd4+C%@-$CWznPH8D9;ODWrw1Ll!nYI6H&jdHk6l0D$ z$I0_7ms_v)+#=k2-`wu*%gK8>fA6?jVPm-T6f?7AvSi#0m1LPqBJD+|`y38hynO2? zl=E0-Vq;*Z@lG@OoOxH?Oc2UHl`5<(Tj=*-{?reLWkLcg3lE)9Wq!`R-S&6Dg%xF= z!{;P?GchfYyM5rm!(B~U@(LbxSKdUP_-gW1TWh8BaX(&9!4}Ovv)F^h&A);fyE&)q z+J9R=!V@J9Z^(lkRdmrD^!i z^10lWP3uB5Y=53uWVE0qRg$}J%Yod(9!U~KbyH>hJ~Yn}suC0VG+TDDR26!tXG&-um-(xiXFfsM!Bh6*wI$^#4idLn zJDI<(Ts!B)6GN`Oy;jn06T_e8FrJfM?iHDM>qn^Ea;BzZ=4XvoJ!fBe_xMw9<4VDI zy+(c(vM)CsSkGASQ_Ick>sb!jf4|EXOtUoAJ&@ba!o=~y*Ns#8`N3CitVXUf9Ui=Q zE_^a*f5L7l-zqI+nZ{$*ddzlZ|EJrX%1KK~eTshud9AT~UErRe`H`*kTzMJGFR9EM zOn3iW;rS?%S7FjO>0vVid-DBRldNl(OTNBP6}&FYygB2Xzmrt=3)T$5iEf@re4NYK zrSW?lDk3c*cm;J1K-{UdYp<*koo#}!7>&jcRdE) z2Fr6=l1oCky6zh$UirFm&d;92%!1$vYpS}sPscp&pHjYnbCX|LJ;&>q?|u2M(>kqo z@osht5vq_WwYz${;`g`KAJq@?1#eg6hhFU|it+3?k`cM&m=S|4`(EQC`^+!fL_b`a zwdjZG!*AHhO_JYS)7yH> zW<&M$%;~(iGXrF!}D8fo0szF6z3e;)ZAdZLUq=*f9`6jcQ_u@ z@_Jl0RJ~-%!)777J5cJ#N7mkhh3BsXiOzoWJ9OK;2VATdvMuN2Of{(Pxm4M^|INd~ zt;M?*fA-qQds2OU)HLw}(v2q{FgkF(%zIpv@b*RKsTGHFW<2ln-|BL#{8W)qWr$2t z>+VjADK$G@9cxh8+Nj6a7Q98@f#311^YL66mV}ZA&zJJJPm@zSVPEo3R3uGcUzibt zB(JZ6vZ3+`hhtWcO-{;&{@HrY;rYGg*|Q_2Y;m@D!K%Y4@-Z*sQ1fY??@L(3o^(1} zN*7+}D%q^PTEdUG85RqjX6!2uGHklNa{-H>M+cjO-P~5w$FtmiN*Y+pefbeO%gL~n z_tTtD?rY7``qfwzwpoAszJRr1#RT_htnJH1+*BjCd$r{LULupXGSF$+BX<9_CZ`w< zZ)0F*m(^hGEf)6Ncp}ct_+RbIrgs`oJ^0mS*%SQ)wk$4Y;E;LnT;$S<6-T!<_VKS} zuu7Yj#APN@ol<=zNa0S(v1+;Ee^r-b4@y@tAGqc3RkNgH>S76t=Sq#Xt=mE;mn$oL zkZ!8ynxYW$IVLxW?M=y9qf0JRMC+$c`6hGuo!N(zY86lTj%^W2DHm8%$QkM^_R2jt zRB=-F%m^L7Js;$m)=6%bIPQG#sB^KF_^DQ&!X5KGk22*(^f|nEBhcGeAj0qW<;c{! zlR6#kMRRxBp3A(S(Yr4uS^3LKA*GHGCi9|#3_;%BGm{mJwV5YRxclD-&MCmwjrwA#(@+r;on-8qJ@GQSH{p6F9gx#jnE zIrFD43)tUkHD1nRd?M_6_WUmk18pIXbGF3+%ulzu+`iawtL)0;7~Qq)^OdzG6)pH3 zAg29OU+-F(a(4RD<4=QQlo#l*alCQUN;ULy`S`VfQ}Sit-JhGDCNa*I3%T57N=3^glCx`$NX}uq#rS*Y`%oR7uxEk_wOwuwi9LU{-p$#cu$9~7Sm5Lx zkJpy2?K500d-0OgJtreY*3;(8i?Ze);;zpB;i0!q=DpLyjmJdh^za=C>-~|Ksdcnz zlIs@poUrtR(IwumXSg&Tn6a@peBtviqMO21k9;}ZoGHV^u%OcOWb(Cz;v69c#~3AK zv!-6#pLf}ycbc1wi2R{ittD0m=ALLfRluFx@*ue{>!fM#t(`@Z<$T9~URySu>(FYQ zz3g5GBJJ{Zr)NywAhR|r%4a=;$Bf?P?AyH|#?d7n|%J8VJ`MASOLb)*X?SF=Ht3~YA#~wJm z4c2)Tx~L`fbHC$RZ^oJno8A_FWUOWhrG?Qw!1(&L8RE&I6*F3R z!dLa}T-sl?FyqG^j>9}5W#()~mkblizOt`eB-wj=j=nRJoFW<)6nVaM(rL<6VgGKRt<@)8Z};`n_CF$*BQM>K z{cyi=-TOtsOiQNkzAVX3*Y-7TOA*{6u>VfZ#((c>vya=S%`HA8m49$8(<6D2%vbYo{(iS^$<9!&=huHP z-&$1@zUJEN()7w))6FZi3-c{f3t!LsqF^Fl$k;q_`{h|Bh&vH43Txot_7sSCSr7I478_kEoEpP@5(=jJWj)90U<%*XYdOMK-Y?c@8H z>km5FNz@d5jQp_X!?M2beWw?mDN5RXKz&+)*~a7C4iUffycZ-3y7%!r-+sUfEYuWXO{9KF6@p6`!c@~$gezfO(ayp5Bc`NHP_|KBk+ zs@q$Ra`|{~=Xu||%APMnv_Ej$?n$m^j-)V7yfx!`lf>teSJLYHbFR1h{?7bkWuBY6 zG^#56rPj@1H&8PXQ$h5OPii6eK=Lhy-=pHY0K%Y4X=CVEhvuJxAs2+tMb;aOr3Y7 zbG20C#4P52@AG_Y+xhxZ)1unK=dp?rN^Z$F7(7jMpWfbl+ckGuzhY;NfNPES`hWNK zXSO@ zSAt#kUexzK%|83NU!Ui}haD2fszWut?7!9YJ;ca!an>hI>Bpbfo;1>Y%q;mJfaCWi z`JOldc%bi*lg4j7tx8WG|Mc3?%&vR( zw^ct1GjsIyOqo7RJTT{H?hpBoYbO8B`(x;;kuPMC^l*j`m*#n=yPM<8%l|X5eEhMq zrsLOthE8*xbq-s11iaqC=O`&5H#OPiKSNXQYd5w{S8bfTEjOsOEa>%=X=9d2UdmAQ zb^qJm4~OdQ?6T~TWI@q{j}#f7Sk1EK3{lldU*XG zq1Oi|M=V`3&*;ocCF?y}j)iyKD(r)_&eVVKwQrv-#wmS1QhH_s*GI-5pE8(N#ou23 zFr_$8T(gSo##yN`U6 zGuyYl_oDlxjcQK<4BR{{mTdpe&{Y1T?$XmG`JyrBKF|MIWBd2Sf-MuTyZ+9r(cIB_ z@5UV`S+|2_P9JYvxwe1X{)1O1WqWS@&!FehVi+c`@N0j~b-}{_3@qm_zkgSERldJb zv9WxT!l@bmSmoMxuB!j=R#!Z8OaG&*XBx~t_2-D>efiG3mDyII?s`3^dXvSv((9g% z$7ddhDLe5x$}E1%e}+TVYd6LHICoCy&r!}PHIJ8zK3@Buf#veGrB}B1ckmZQ=}4+J zXT4Wn=ANLf_Wd7c=_BcmCxwqSVty`_Ok=UTcO-dR2J?$4e;57}UA1S!k9Fz{qFgF0 z&3!wT-Trs+KLgM5CiVXeEvr;(re>sCdn)f-Kl{mlhNi3XM*-5?X%qZx4k~=tlgs^y_|>rr*A3r2k34QJ{bSB z>&TV;Df4gL_SsUsTc7XleXmIzSJQU?j5MAz^#M-+`@Q0diOG8{rPdNKE3~T=sUUSw_Km@9TMYNp{&Cpaq4+l z)pPcxDW^ZQf17-H-J&ZxdsJ5+mSpi-;&JM@O)^`9y}PNtOhvH&Rw47wEq^;Cw&}4I zvHNYEpZJmaP}JNhRW19Jw|mSpE3)~jTKIO({Fm{wcg;T#f2%!aM_R-lXD*+}C7;aS z-Lpy&{*ksx?eFycS()q7nh*bD`ItKOvDUM9uhLygY<7gPG|rn6!N0LSxBk}chxc3T zShK6_TWj3qR@PT^=1rTZ=0E3fLs1puB>$`*><@%uV*jLHSo=PC=AN66IW8{yDS7j_ z6GBBA^PX9Y;$B@D$7>*>6==E zy2qgj<;e<7n$tc!GI5>Swd%X%`D?RfP93i5GrY3?%W~*#Dw)dd`DtCnss9Xyet}X92A;AWB3E7Y0v(w*yq$b)vZQc~ zQ}d)%R=lgPTsrdcsq!6j#w))s=?F~cdHuao?y6z;8P&TYJ>}n)%{@?Mt{Sg8<@02} zh$T}*BMZ#aXZ0FPm>RQ@d7Y)n6(haFYQ>j(9ti(uc(sgm<&~pbl=Fg&7)52K%SF{5 zp8w6wbNMm%X;zPAITxS2^Se`m{aVwst|w{XoRjX%-#yVcljFghU!Q}Htax*xhm(2v z_sq#UfkM#}?00)iQ`&Iic-&2sFFXeB^-YP-++Lw*$XZV#b%_x7e zTdw)(`KoN|CI*J*8%!qEoZMc_WV+D?ew$%EO63>cT z{*Es)H}<$UUzf;{a+%I!E?2*&`tk*CMmdd*6L*v{O?@g;dVcv*emT81i0i*kfA zONdOIKcmlzxhG`pGq1x>**CuJV)~}#Te7cEaQ;+3|E;#kI;S4xFwW_Zni9Pz#&bqT z`~#J*k7jC3{?y!8sb%~tfXDN$)4%tU$}+#MWL&!a?kOG1B?sI$j~rkm>at^Os9 zEyrfuIo(qoV7l?c{kKy^zcqgB^Dbw+^y!3ON@7FVoX20+udHKzRq&(x;kNE|N3%|S zH`BVQW7xx27{~gbftB^bk`33^n%?#Zi_H7-cVkP=hTB&|c;WX2(`w=4O4?60u(kr9Ah>QN>+1Ejl0B8$8^bdA#k|9WEE%XKepuN<>6uTh)Zv zJk@OqyXF@)7%XS_6-y$wIKIzfG-31edHROb?zl4WO@g|&AoJP>p#QopNFRm!~AWZ(UXQ+K6L z{Hwv_ahmmDP{rfEDK}>rvE9AgV0@JEuxP>`zKGtT+VGQy1_Pom%f4CVIs zIM4b)`0g6UA6v6OCLa*1Q{5iU=JE56EuUS!^V@ji`h!7RdY%2RY}uRazh}z!o2Tz- zJyzwAnPkaQ_&&D&k1%_zc|5OPN%icrC$_Wv)VaxdoZ0qo@wEoKrLF4oJFaIOkNdfD zLsE~ifSaxLw}ynwq$1mj z2pTT{>+`bKIJ}TnB;86A9rkj(*D%^w(s@4c5FZD4+%vc>lEEI zWwM3tf!BTQYdQG68m~?_>i@X%ZO}vE%7nu^Z1+vMzO|q^>$#|oMo5XpKV=`r4G}%b z^Z2SRFKnE;=UD2~y7x=nZ89g^eCp@E)l*n9JnP$oXALSI7oXg5P_1B*nsV~k#S7I} zJi?SbVp4Z=OX^5#8mZ!OH50uF9hsf5q9A2XPIvc+Po!MxzblY2|CI5g!_ecaB{}>x9%#9 z|0I=k4Pk`9CbEQc4Xv6F;x{ zrT5b}Ip2;e&E>t4v!GQ%`O-|Cr7^j(ACEF7-k#FiGV%2}je_D0&lX7UxnMX|d2-*> zEYll}Mf@`Jqu3lKp6Dr*KiwBGD^mBcnYc}f#mitb!`;otmxgE0T|Pgi@TJ3=&LslT zi&m=MmSB;}(fj1WDPjBbsNw9h%x4&W3G7&0cYw|Mn+VV3it=0TCMT1brK=uKbo;YI zaJ^S}T0iTBPqi6LqCM>_^9p-@1^>IEoG`;?jto!GE{n;1?knGWZV)>u(1;9hQ+%cErP1fMv*ly!c>i(c-RW^XrVn{dSz-)EkmbMtqWt=Um@2lTYYuMgOGsbmdui07jVYeUVLC?`M9fRVc>3-j~9X;^|>W~ z`qNeHztixYAOFVVOpO8(vJEK=wV4M>SRTx4k($Z(u<`m<*Qe7Gj->ScSPXuH&lOiw95%jB{&zJZ zH9RJHyWCX?MOB7A<4aAh`kU;GUtXG@S1=>=PGL{ljNh}Z#rvHy6BCq=*IZz^`8eee{BSdJ;XvBWNr>1mM%yDj6g71O6> zTH2(|Q;})1stWd*Vcl^4(u`Rf*2{h8yJWu1_^9!zP+UBfvr|Z!r4tWzL-r3A>|@OrtdWvazxXJ0&!w#r%Vri8T;$__9Jzl( ze!uS4^;~x{^iEw|bL7^H6U@vT|D3H(KN`<*qvG|$Z;KyRZ!MZ$cCIzqQs-!e{oESE z-zt9`Cx0vdab_RK#~TrE&z#RMR;;PH{cSPNcS}jREBqyO4Yw8Y3JT}&l&wrTrK#vC z`^x6nrvD6!xBa-o)_dH^c2!9!cTc+QW`{K@DU3V1RDzbcS^o~Wzb9dp+4H{4dl8=+ zdFT9+V!L`II`wC4ALEzzJ{8~ARsRl|#N_n&`n)XlJ1V^U8Om&5s4uwE+sH2Yb@}n% z8PJuSytR(?H}A#gG^;t9KKRocXLjpv@ID^Fmv*9v}mj46-D z;kj&vp-$(N0NWD_7$ajXRT4^;^r-A8V3h4O6pT|)c3}K{RcpfHrxL#k9cIZt{nckU zxvMp}%;C&p(>!)`4pivCe}Z&u&#mQ)Ula~Tpxx-4U#vOJkM@z#>ltSYsP%Z2}5 zV-WV#S}ph~h54ZD3nsy0o!!$yxk5KMy!S~~`zO#~B_HL`_XJ~rz z!|S})kLeHP1#T?acy{&eU8j`owccn|p09KG6@D(B*Cu9{-QGp+D^GK%hxHtNR<+)? zo;kj({$QRBFWc4+YCu9*&hFrkG)y(Ha19fqFKu^!&%Sj z#A@s>|C6YY_Wd9?vEKCRx|tkpx1!rlzh#y;d{?oqm(z{Cg8BFIy+&3s6#;9aC2T)B zu=iQMcAWk6U`+CQll%v)asDqIT7O>LE`I3u#b-j5?<~&RI&yBAXL$ME!h1(MQXX4~ za2?ut$1(1%tC_s1Y|jh^KF*a2N9OA!+dF&R+3D7AQ+ocTqrQ`o_ZQ1Y6S)?BvHVrC zeA`oL@y5QgS@Okh5|0aISBRdt*!PF^oWIYNVF=~SYUjvDs-mkp>&22S8om8AI-NKu07`NR11ws&bRr#Qe@&E z<*uGv+uWxxSUfMabzru;!rEFOBVcgUI)J7 z88$C^8qi>Pp=`;FB%LR}LpE}pZoW44v4mz%-4;e)j$1}EhIJ)|U(?R~T-P`E%dPoyk?p&nlrSC*i~5kLr6Fyfz7$ zZInB-pe%8_`ic`LRea)@<*s>Idk6>Mv35g4a{>MJf2mdlHC0B zvYhYSs=myqh*PVX5A$g-K3B7Ou5ww#WBmoj8}qKby`)niYujtu(lbZ!d=^8=8D;6E z_L?saE!J<`VHUzy9Hf;Ww72@XsEEL+1v)!zI~TAY>RDV=qCP9{^YiqLk0t(QmQ_}2 zs;jT_RkGy&%xC-atTdzk%q??QA2jKCbA;8&_?V%O5Zmm`z~-|)k+E$S-&S4Vx@^eK zP_&$FrhxUyB;z+(3EYM!nAQ6-TWdB>vVQP8q~TiY%&Uh5`wo0v$(hhIBf&apu9Tt9 zk-ru%{aK#p-I-O!5XsNvaId*5rzJhpf+d+H_~yYN<2ea(Rv|)1CJ7vQ&b~lF%Gv9A z@4tKVwEi=+xPOcMXnH32&7^0CA|C4A-Ppsw;?X|y{|rs86=u1?kNXy{Jzx5-J2hvz zcE;HqEB^_9JzHJ>M@;-t%s-hQy2%e%wj3B zGAGF_M#xqp?9=fx6>s1AeHPh%I!MB?yHNS|EQSu&0~`kKOIgnq-rmX>xr-;E>PnHA z`>V2vw>K_e``Pnp(}ctG78G7ys-v;UL9+8PyDh7BWzX!z{dPM{+Koh2cQ9LgU!J0U zXa2j!E!DMI))OW!yk{Ys>D|h%%)Hh0od4N_md7%ACW(Y}FkUFi>@_?PV8vx#9)8X` zeW{u1GzXh22mdMXhHhcJ$k>xCcXQ=bhuG!oDp%BBWw>$N_N;Zy`F>4zW|qm9rh7Bo z3|TV2UU^qnO75i4=_)c$`s}%;rS}#r=so-P+C<5A$1f(PDJ&liKTVnE9%m&b=U}BT z*R&|(M8Ka0b_S`e7~vC7$*Zj8`7P7o=*|Oj;mu@R*-1tBY!=G*k0rKW1i&2VWO3OkrVI zej%;%+0-i{`7>(o8SyH!W^A)IkoYI%THD1C^Ps?E0lT$^n)9(Y3`T{%;kEaz)8{eB zYTOfaKEdYB-qqXCUA*0=|4@UhVw%F_pZ^)O>V)(7EM)`(SG%g2H%`2`%13GC`NV@q z8SG5uf~K52^?9;yfnSxV@|@tQ-__h@irlk0?<{)gd6=j0Rs-9?nDqOWD;!HEpHWC& zDDg`3)LzHrJshf5b(a^&_-d|`FL zFzTM~PnnN%CZARGkv+5H#7dh(Y?tSJx0~YD_h&bcT(b$o6?;7izFO;82%at9y&T>ntGq* zYoE;R!cyBU9?g|MEpYOQO!2)2l{-GWnG*Qg=G8eA_b)VM$)7yOjN!qvNtJGk;+Z^PzENt}lQ8dw?5k6gLaG=;AKzLNk&^N&q$yD)b#YKZ zCBp^PWzDK#UB(A(J)U)^YOMbJ{KN8-3fxoFmot1{F)x6Rf4R*CqqI-kKN^gwaN8c9~uguh6=Wo6Gntl{%u$9^S}RZ=RL+ zl!0l6+!uzPRoxewEG(B9n{;kdw|B~N=eo15uqSO1*PVsZby*Bm+oyH!pWG8%v*C<% zzT?TIF1H>To?u!U87y7Jzm!3-w`Om<DS!ze_wg> z<+R72mQ-?`KB2C>VCDDcb3R_4mDswycS+&3M(taNg-R#PNinO8sh<~mTEmH zaxq_e&J&pumY_{cZkPLJp4Gb`T`cy>GKx`gb*_w2LV}QytJ-I-H2?n$u~u%OI#23* z&0HkzSRQxKv<=LR2>2-x^ZD)NdlNRVkXCu}VL_j5QuRiQ+wtY5GAW|>Jf9Q>oVaiIh|OJc0jJrTB?(N%NA2|%E!x(X)H;LZ zyac;_Z zobP#GC0k?WOtO^Wf9|zmvcdfc>^vODY+ri+)ZM&NeXD}t+bKI3``IVIj;zzzd^hb< zyKgSFW{*YSwh-1&|*yR)a@5)Fq{CV+r%O3O8?2qrA_FEP7`D}mxJ#pq< z`?a<8zm@LXx?5x4rSK{?u|MyfpTqN6Kc|2DyK%bvN4@E5mZW9w-^!CM$5xk`U{D>t zt?qEuzJ=;-4?8cM=ICTN@v~WuR$OV#6HT7w>$6fn&kQzP_F%Df?F+_` z)p~cne_43MlS6vv1IAf>cNhJPE;F+D&%iZRDb*?Mpuz>#RN=~&)&swa{TpRd^q;oc zUs~3mEZ9{1(r@O)@OlR3>l+quDBMX)R7% zeO2kV7Ekm$G~=AR$_18Wy`%k>FSP3K_Q)=`kd!?d{wdHS`J_xjSIzDx^EsaSSqCwm zn!o2>NG`k0*YjD`+9&QMZ#eM#Y**gXgU4e+vb=j|9z1?#=UX2J=dCvbSS{~J%&d43{`p926aO_-T*%Da)5WY-?O6STD4AY|5;3>S(eJ^VO_7Gr5$V9M~s^*6iIR zz+Sg_FT>TwHu2U2%Qp1Ie@zjxUU_0=%z^+JxjD}kc3o3ZII=WkTfuUMSqu@m6WJa( zZLhPsv?jgId9`ugJqIsW;MA>{`7dhd@aW%hZ_&4 zXQ->&{0fd_nQzp}d)d^CyH8MA?cf}_Jr`bXbZ4IS;QPXq&Sb44>GtNL+%BSK?@p*M zTq%4-R-}i)xNqijQK@5>YOfr(dHyn3Yl)+`9RDfKvpy*uOkIbyY%^|f#NDZscpzXQ z%98alg>OMJd)K@Nn;uFu7`R9E3f`Yk-ZflF?e-oFvoYE)eud*!C|LncSpxTX#OHL@uZT+(4 zpZw-Yz8{Y?dY-(uCv8W6Pn3%HQp=6fGp9^R;f8Jdg@jN4jEY{kQ?Q#S zfBmK}v$H4bPcC|p^WeL(+}BU)2lw;bjIQzdt-P~Rbtk`!YoAEE&9Be#iJ5*XI~gxJ zvOf!z5aBL~3Au4R^91|T<5`mnw0mcs-)r{VaCHusqb$cV=k57(A_V_LJU0Y;oWN6cIc56U*-spp z>$jdXX}#LWx8&nxTP;)HRkHsX8lF^L+^Di!hIjS6J;IKupUz#LySMPx%x{gF_jj*+ z**E2?D~D?AeM5Q8mt78~KF1zcD6C(2*2wqZNm;{*{ZGHHoWLW+lrqWq!e$LP`@v7GcD2XfV-{n+aQyTZVetwrvIMt^2gQk{|xiG&&T}PvUY)R zWsACm!q=0JX1tjfckozs@`@FYCdzZno4Y$?nOKE=4dbZ?4}!cM#O^s=;CLu+)j!*A zepH`R<>T#YYohqIOg~+Ja-4;$cWu+zeagMZpPdzBl6aP^VKcG+#Ff^%*mHXXuUwSL zm;STH$ju?SZ^}u#3m<13T6y=1;H3%toztbi7xqsr4)WY`Os4VjvMQ-Q>)?|m41D6u zv!qXp1ME*3J~~@=B+Qv$ zX%fMyoFuL-clk2Y;?LjbuDc<(DpP4b6+-A4evldV`Ojdx@*|sub6?>VE^eQ$f6u=^JbN-Mht+P&7tW`GS}6vPGoQ`4 zq~x$MW`%XM)*HiS|80dze;+u;5xBQ&0^+ZUb_{);^Q=UzmOC*@Prda(<&N#?Cab9Mx=w^P?sV(iT zI)~-GIC=7u_CE;;FFU*S`e~M2hMrQpFY_}QIj7m{Ha%bG>UO=ZYKhm9IeEAEExs;b z-QM=g^6cHwSv&DJ1ZFP1(C7pmLdmK<(Qb2TWPF=(4y~CTVdn%T`r|Ji4p5;MRe3 zN$LK=*p)F)Gon|2+Lbfuu;8g9T$3v77H#||78iN@c+s_?zGu{|?s<7$sWWq}>c600xXKDI(kO`*)rtzW9VYyXG&doOS;kd&^R$hr0yo59f)+wN@4cX@yC>-Uw+ z$C3_BVq}@*YZRB{5s=G#V(^RkJTlN53e+)S?Hxe}-`5n=k8y?iIZ$=3TY!!QIdEpT<|4zxnz>P&qo~hvFjE zp3RF@n{uBw-bs$-{ul>uK_dl}j`;2cMPq;6-)y-pFh|TNNp8Zc7?56(W+t2uq z^X~+A{zG%M6xN>fa7@0v<7If_kHiPo7QAcw57!Fm&v@F}HTk&n<#n1l+VkgbuDcvB zzIM@$t6%#&XT7#PXmD%o(arnLRWfLtIG^(&Tcf7*$Jw>Vb!OFf{BahUa3anlZ;kB7 zEwzsVs!C*6f7$&{U_Wn^`!0U=%tFJMJh3eQS6bg@F1hitpi)dqwng(=pzN%5(N{iR zYp^#dc`yAZ_{w_sPX0eC+qaAJxh#mh)1t-B+c(43I4Zct?Z=UCyvtwyXW;qct-Jo_ zC;l5t@5yXD@Ow{xebrwz?V?Xf+T0~dhC5rdPyAUq&*j>Mnq{V}{&Eo#vKxkm zYtkA1nZ6f_I8mB$-+`6{fZ=1B3{Jf-7>ne^;L)83XHhDO=XtuVSBUa1uLFy+q}!7cay*e zh6h}n>Bqj$|KNAN!->^%pK@en$C{{$6qY9cP>B-~%QNLa_-wyws&duTUP>!LV5763 z!=FzQk0(`HuHX3RvhKQ+pNnLY)!Ejn2;6XQ>B&{UymEow`B}>U8Jc2iv~#0m(~rh! z{*I}W|3ov_%HODA zP1a5}oT>D4`u4o7*KWUDeDbzFbK%MJS@TY5)Lc3i%J4AQc7@QD)tSqF)bZN9Jozxz zy5pO2?Np=g%d*D)k*>RzWNlpSw!o=dLYm#NKWn?`itXp_&u;R&wO;Y_^wV+t5*E)I z_dOAciu3JMncFUtt3LVuQqzU?TNH$h6H+G6^Ns3F4dPJXDblKNlr4Te@#RZL)#!|} zvpcs7E$==4b$Q%D)z9rSJJlu6D=po5?$Sp+nG&WYy>}L5@}F^d)E&XK@n-a~9Wg?V zHa*F=TDJttGo;(i5cwIZA{WtH)_kgO%F{V+hEE%;k{X0OJJhT4)SG98bZIu|UiAO) zZQ0VZb1oV1+z4W0`aElXiTA&CMhm`uS+Jtx+O{&tVK-Ogm5F11|tv%Ru&(TN97E(F}Lxz^ic%|AoHcGU%^ALYrD_Lx;JJKWN*@Z9#J zpYGHHPii$77u`QK`8(Ghbt5j%oT&2O9#7m1doC+!vpIBgaUS|+YUMxU)WQRW-=_pL zth#o(@bj4;w+squHFMwmXDD;poO2?7@0I7x@59;z-Tj^4``_l0(PH2@f2#UFgI8uF z)A6EH5qGvLue5x5Tja^EJ)KPM1roUyxy_9)FD>(*(!0X2hwn?j3}b;(z>R|n!CMcs z$!}p;F)3N{IkUR0qseSp@toww?|yG4I(sx;yYu{+jYbTpF*o7CpFM7H zC7&*;=1E#2Xr;mbGx*Vg?!@OezAoU{e$w_9D|6bNNoP+eEz3P~yLc+|LQ$!oSxawB zSiD1W<-}z>G%Z0_m zP^{t{<4P}<9t(x%6AS~F6q#F|U-@N0RezW5o`vd#PpWD))0p#~oo8nGw!~)F_%F?$!1j(`w($711uV=vx63`O)ykNq`@81y?jAN`-nafPcMSDzo%dH#fwk>Dh|#Oos47&=c*+^|I7ulmZq1m$;) z^I!V399g~b(~b9j9LBpR+4h>fW0X0v@!np3nXfCAONH5vh4eXoT`^IChtGiBtMETV zgwv$(4C~GJx*OI+$#^uZ$crqT9B9Mhp?dy|h4yXPm5&}iIdO~6O5n~cKCV8Fyf5Yj zl6#F${Y&o3;#bcp>|vEHJ{)rXlbiEmIXlP8pH|GSbl9wKdzAAAr@68~k%LUpO;IDg z`xE*MUmkVL5n0j7AR)`ST7P@~8F%L8fgT)BJ42mP3|Iu;`rMj$f?0-d=CRD*(Y+0P zRn-A?FRd%&?pBGWej$q{Vrk#f*-+pVDwsb(&yg%kMQig894Q@g1JibXzS}9ujCS znjdo|o8f?9gW=ntnI9I2NJxl8HnLvO+L!r&@#mGmLpMHcDqypVTeP&g_dkQu--A6h zdu=oN_5Q58cs_1R4zp4~kJ-rsC$#*EvceK>N-Q&4HAms~dAltxUVqNqdm#VRwV~YX=zcy=W7i-uP9wv9M;xiu)I38!#eILTiGc$LS<(*1~svs@4Df;UzzpU_aek)fc zeCmPBH`Am$MtXk=+`Sk)71AU^U)b{dS9P78=CfzP3TEY5dv|M?CpW%4x$2omSO0{f zy5#%+8P+<;o7Eq5GSMi#&-r5e1?%XT8#b#ZALDa-c+9=n)HpW}VLkfv(3!XV3HHO;ks!C3Ah z{cJk-oy$i&749_D?Co5!*!g?RljrPRTf)@3IT$Str(9szxXhfvu#a)o$~|5J^9nE9 zggk6xiQ(a&&c0yT8YP>JHhurDF!Idq`R#Gw_&xT$)`>hK^N&rhnzw|3U2Wo%h<`y3 z8($t}uvboMFsN?6H7%n`;6Fo&T>DxVyAQt#k4Md@y)*64-VDaX-!r~^T{fett!{ar zy;nqinNOGHaTTuE4~_eR3fP(NUu%$9txy-u-DhBZNhNW~0rkFR%fj3OCKVa>xypqd z{h55rmSF)~#}$o(k2fsg+~j*NEj<6OQs+;IeyO}1o`M`xZ05<7pcOx_;nXU*pxr3j!S%dw6ssvqGnF%ffdVKE!3H1Em!J3?^$t@ z`TkM{%er?K5-XmB)jWA1cwFSMkzRj^@;7wd$^=&!teYp?Y`uI6V^ zHL_cGbS{}>asS*@rxJ-*?Ax@T$Nx}O+q(G9pOPzErDfeRQ>x?DvP0vX&B``c1+I`^ z`s#y%Vqew6h7}w;_10{vS=^Jn)-zY`Nea6vzsmODAcqJ=;|Y8PY{f^_4zyX%3=0cm z(9bEJ9Isk`Fj+zDKLb1 z>~}Tqn;b}4>)jqIrZ6rC*z@p-x;$iscF}YKE9vM@OW}S$M@9s;u9;A zbJQ+Xyzk=7aF3rc#o|}_ik&r%GPUqOa3sB#sX#D@X{ttGp9d)F{kul2er>K0-0Y6;)pY~~~O z;`>B06z;r|v)|CCa6sX=*EC7lW3?H~E2ga0EF}$rm}s9udF&&P`fEZ>(>0m-X;MxU3{Of$VV0SF6VkF zZF%AVb7TDUsQrJ$?H`+7-61FaBRQF6&a`QfGq3Q+G{#KZ_@9Aw@!!p+nbT~w{Wdh& z@Xpq`t!{g+NJGj#HdM7{!68<8YjehWsikYPcEvSK^jz^;EF)FHZBwk)^vB!$qyBW} z|IoPq_UL2jO8vKg{A&g0HvHC!a!fh#pz&B$IP=HgNBM7WKTbLxyX~Xs*WCi&lC(WT zuaqf2Js|r+@^^CWBYU3O8Ta%%-|SftGTnd6x<`d4EM9i~c)69AKj6o9)h*(MMzTIr z)f_i=<{c?rf38;k_|6c0WU0NOH~ z@X(@s)`@NBDpcDn*3CQrk8AVqtOJjI_WtNE%$CWCGLO|RJZB}A^Q2me;qOjg?Lgj* zZ|)>C@L8O{Ht8MbBegrx)>Cr?y5~s!3B9!c!Mgq1=I%MY|B;BfL~MtijxB!>gXrSa z{|u}%|8BZw6n*rX&ckCT>Noi-lqxp7bXe1Wvv>M>Nws^f3(c9uC3hx? zpW88`&-nZ)hPCoP>dKG5xVl#Su$WeXS?%1zm32GVZ#5RpU-{{HLI3uXNs${Ep3myp zd{*gA?{>|Dryh&`j9>Ae;b7|itX^OCZ*`r^Z?pxRNSj-9VE*0%$FFUE_Mf3?bKSM; zx!Tb`79G3gIyq_mg!L2qq?cK~bSRp?)@#xemks-#Jum2av}ni9UEBZO=G|SFe%#{E z>QABn86GUR-)?%vFgCX0woh-g{jOA3m9mF!u2%6sG{xWU)m~#Z&v5JPWhuUzGx^+o z@A5L9s@rh5UiL9t%M;^P3E8aw3^(2j&XDlbuxdV9=j{8teej6oFcU6A7_fg&>c1Bm`oSbO5wdHM?{NdwEb=_C~x~20zLYup|Cta2|>}Jus zL)xBvm&$AQYJW;P|83TPhNi}|HktfKW1~zfJLEIA+w>G(^;qj+pE>{brAHT)+aIN^ zxvwnnGI8!3tLE01ZVT#GE!}&62FtXd=Kd)LuY*i`A5A^uSbSM+zsB*m^}lN}rGn$) zUhi6`axjv2GMj_7;N{PvMs;`ZZx8F%^3?A+yxRVh-rJwbk_ROY{MFc@n*7zfWVQLU z6K>X%`wvY|dAR*ejvU*)w*9(m_di&?f7_RwZw0TbVy~<|vr=vT)LFp&lvcSa)4QJDJ9_R>f1Ymo&(O5@ z-^E+8x269xv{$8GacT1DIl*CD;8y)@?biPcO-KH?Zf&wK^>5jwvsp4?Q|;F2=>=9* zfwip3?>BUH@vGmN_vMY&y6f+I{$@YoHU7t~`ABznjpK*5V>ct2j!oMxm(5VS!Jg}d z$$y3)+WQY@dTzV+MYStqiez$0!twi!J^fkwh4W*#+*Wb#bkwR~x&Hk4AJN+n()()U z?tj=_CzY|;SESr9Mr3Qpw(BRPk68&+9(*kN=9l^((e7`RSC;oV=i0bDVbY8i2m3dz@77hhP~-flS~;_z`Fxv?{V8`#W{ZWL?SF)oA0O|sv-@{e?DLQ7emi5G zJ&?m2JwC9l6V#mvuzb$kD6(J)|Oaw$7_z4Veb}>y_*f&(_UoR7+N1^_w-hB?13 zHlMqQUEPGzvR&$b)xT5r& z!v5zD9CDUz?l!Z8>h)B6C*m8H+-Wj>mD9 zE-Cj+Cs75#?<*h5c7!T?Jg`8wP-N0=|K)1aJd|_SPBO4AGkNi-)c0ZGye;du=N&RA zJh5PRgb%aC-9Alo#Tda~myU@(zCVAt$k{o05_jiS2N-^|VxGhvz?N0K)qc5Yz(yY- z1OI}oj5`ts80O8{%AoY`>)*{Mm=;Yd=_@l5?;?r z_V(;Z3949XxXm%+nDvuO$4*Pj?)mjGsOYfujswpc1f0Al9bq|siq%ywVA|{E3C6*S zi3k6z>~FXJWcJN+0UPV5hN8lW6VF;opAK%mZ=1QDqpXK-?&mI-0ypXR{9X(hw=VJg ztGlX`bNaaC8;@nH7Wkxg+Hy!7wK9|L6M1Y?=)ltO?)ToRpj85v%-5!$?M%HTt=?qu zSMy$iy~dwj2DekOq0I?AAG_S2I#`~USUxS(k3HwntTmF3!GCN5SgM~eFS82idgBqa zCwW%NG8Idfc@B@3Hhf^a(<8-@?I8J`|J1|{J$&caSznnXKRw^?PDt|n*^{gSm}X3` z+CIDAaaO3)?d{3U4GhaRYs4=P_W#VK_F?{11{2nv)^iv88VWLg_wN1qc;)wH#_wz2 z9B=*+(!$PU=JR~cEQXvmSB3Sj9nv2wv+q1=XqP{GTUNkLg{sHR4ji8}0(Vw^J?k*p znN!GZfzX4e?oqQUzAZey+-}S9n|Yy!n3Wz*Nhy0acXzL~{G9p^QTkn0HSu7 z^IlzMz56QJxh#(|xUFN*X?gIV^@Zk!J)3s=YiGo@%;WXn$a!ZDlQoyCD%+XIw?#NP z4p>c1yxv!R#V-0C!vj5oeOJv6?J;^V`P!_vt+%__43)i$>S9tiWu+PR&ydqHkc}wV zU3h-4uj;M^^5!4@g)s6=Y**GkA$e9uIYTkUW?u2FIc7!;26vBdHJS5gVO1AHwzjrd zoY#CW*YtOLt1kDXXh;{%3Y2NxU$x*@p??a4TAH;ao8fB@hcw0F<6A8sCW&5|V7-=E z@Du-o+DromgB{vmEnoUqT)m=`ykHsAncW8;d=dE)qj3CDv4f!3gy`0ZyO?jJO<4AE zVxM%+ui$%XJke!u<}~+Rc~GXIV>SQbTL;18;%6kj{S(kAT2rA?6>>ytp~WqKzZ)wg z9W30QOFX&2;wg4bMaaAKeAbkL`Ig6JdCf#`6ohoueP!2bF8KD^KS5MM`efP(n?@H8 z@7%;=6$>_m{N7vje5>I48HahQgBYsI+WhBCp68aO$*HoL&+ta*>c-~+pNib9Lxju< zw|`!Cp!-D6@|hd=Tgg{;dNuK_Wlm1A#9+m?{^#q%Y4qHs|)m zDShT8$25ebx1T;|`StNu?MBU0f8UgdDkt>F9~U{V8|ZfQpxqRnp1!i*mm3ofMwIYC&Nh+ z@=t>nL_GY|G=X34(KHjT8+YefS}sUQGHo=k}@j(sVEcB_J6++2$nnIWHh_qu6@%$T12tGLUt$#@pS zbd5Sc&*O={hO+y@J``9znlbzO{MY{OC!gDVS-{d|JMqnf{wjyycZ$CkOMF@GeJYnH zbHjprc7Fb{Ru`C)CnnV{FSmVpQ9xeu{7w^}-6AbdJC2KTeQ+q1R8|RKS^vp0ExD&; znaO0g{|wp*$xkJgdx$(Vn>gPqb_TP>g8-HUW4F+&#dFpf&+=)@$y4ZC5Pa@RoS((- z;|rE;aX7y1&f9-4O}HK}h;7c^Xld)qc;MUx_jRsXtBx%&I4$UOa@vivS1#zy;@-ik zQ($=9lzUF2(!{UKT~nu7?k@`v;CsYts@(Hu59@JzFP58v^OMpG6X#`K*f_ELF|$p2 zm;dH>mOW1mClvPtxpB!XE9{XyJB#%~S(MKw3khZ$uC!xKp>E2BmdEU;dPRsRhDaqA zt5g@Ct59Cb;Q36WXpdmeg(pgXc6-_~u9zm4c5}}29ZM&P^KOw}s=lE_EUagJfV6!{ zNY}&bLQMvSjR8Ns^~9VU+21EERlmH<@F?r*iP5WN&$&x)Fn;Oh9;UmeY#GyIi#pCP zOM7H*M_Rl+vGPvB#N$eNVLy!<&jfvPgvU~=go$H+{QQ0=l6Bk|D zpFSu&b@^sv{F7S@Ptvza3eMqs)F~nVHS_(Yj_)(J8$9_cyVBMn`NWyo{_EUDY}U#| zKDRw)b){!!f4cMSzAwkN?M?}}T`o9hlA-e*wp$*KJZ^W)YKwzUD|y@9=}A_R>VES~ z)?;YeN>JNIDte#o& z+csiP;L_Gd9-$U0pSb3)%U=DTp{YL0$ot`y>TO|nCny=oJos++X!XClyL80o2_~B` z?7g!zaQ4o(T`T`Hu>73&E%w{?!unOE@pmUUXc<)eN@}p%x?O0C_tWoR-UhL9?RjqT z)^)d*A{X0JnThvr%~hP_>dB$yaZ;qA;biF+rImRGk$nbPM?Ch(>+AM;zMkcAE#30d zN#@m6A+M$LLNq7XYlUCoc&al0p74P;)`3qI95tRsznf%rWzuA^mu`ml?Jq6Pyu#9> zn0TWqlu`J>Gqv*z?b`ZvW15;JzKXo=_;rH6_~g<)dp%Z5>Hgq(nQ;#c@?1~r6<$f2 zzg7C(? zzGXj~^uuJW(i#M;W)`hs`p;k-=wGO0CwOJWU(JJZ3c?9NR+sa14?3jYo@RNY(n9tH zV`%dye#>WbTBpv~_<-@sW!(ig7U&hun`)>fp7q#n3qzkvgF)WiUWZF24Jv_encr=* zR9X`8;piqub_sT+xk_sHXZP-#yMj^4EpTg_f6b*memBx5Ka~+>o~4^7UiZ9*@$J32 zI$g)B_?9meVYqu+Sc6~IHjBCGhW3H?{=!Cj5vc`5j*pe*NJ@&{c&xlY)+&Id&S5&M zL{sg{2-DpO{l{8cug*?cq>5sSoDu_nNzQ zDg#5`oZ@*}vYRTO^eNwBka&HTLG7^0(v(!LBRPQw-`+P(PFDJG=ey;KSt=nc@(CKh zgI2vQVq}(F!0xDfWby+!!`|gvy;bJD$1+3p|dN&2wjK+jhS#fzMqfBv-O!#SM?g%a^Y;sOl1aev3Kxc=4>#%|^?o zs;}4W(>(b3_ol+Pv$&32e7NK5!Q&4dxb_8DaDLzSk!jY%Rq9igX!Y+}zE&lBuf++) z4R^}kyFNQ{gZ0jVPYc~u0+_Un-wA2lp2z;%cvCwfZc z9pABlMOnYi=G!-s2azIs=CV6wG6<#cElD=%SALif#KGS8V*xjJZ}Xfdj6MdE5`UT{ zPO5KJw|0!_vy^<5;coe$xNqiB?;Xs0_Z=2F<*EEs;?cs-DLRL3*p9h+s;qIlyTGVt zg7xp9qfbw@bA^1h+q=qPz0M>d_I#dDuhrSpB6?i@knx|FCq(_25+nX;Q98}jBYUlnLOEsB?aE>y&Ja_`dT-yUkwYje3dx%&x^J>?;manmt9_lPEU)=F&o&vsbDYZZ zz3#Q8pK?QTZ&%dre0-@hrFS9gWlKw)>W}`h4HdoLWge)1UUgo3^UplTJI5Qe&Is9T zTjP`J$j<#wguCKN{nQ_K8=GHxU1!oxSmj~U*P{7X%Tq~LqTcO6b62FY>x4>m6^oqYpT{uWc=CP4{r68aznyjGmSpA(f6DMrY2E=} z@mYIRcRjvhZa>xM;YEg`BCEppp--o&^qB72##Pv7_||)uGt+}F=kM9FY21)opqi}N z-BjN$%dq^dPVpAOzi%#!IdLf4{AUn&EU~=uw(uF<#y-CcZNKJJ)+COz$CpR78H?_k zZ+PO~-}CZ+vx-fEEE0_8xo>rPuRrr?$4~o$G84{C38JS?oS(ohVX|r2Q|7034Oe`N zI=5*iKlu1*z1K#GNWo+w)>~G;x>!^S-8M>^@jSo0{@UV-PnPm}ZVbzIdl_$;%JN<0 z>5L7x)+~73bAefkbCz14+TCNemfuY!`_!3~44+OgoaeY&`l;)!9}2&CLXuP&_9RO_ z`F-VG>xGCOH^a%tw?7U2#;SW?$L_>n<4%+0vLV&&e0Ij$m3HWQCk z&6?xe_}ToF1+(2&>8Jhd5_!j){an<1&t6_;=wH}#Tc?1<{rv=v^CEXIvGzZcROUbG zZN^rqJOAN|5V46N$BxMS6IoxN_DT1tzuv<>hM#p=(e0D&I=i(wPLL>^U|YFtmFND` zPv#U9{tA{{`l;KVM>;Q}(DfbbqW=s=iEd2azrT0BW4z$Ri{($>&uY4R>}pU!t*vIc zg{5Yz{4rk!m(=Z+nKBG}{Vz=l@$FXo*e0u0u6e#@j=WDuaqYa48Iqr&r#&Bh6f7cP%J@kzr{@*S)2 zp2UI!jdS{{Ldt^J({9WTkz2fTL1t$m^XApwO}lq}Tdk>6=(L)f!SDjt;-b$pz1{~; zJT4R3Z59&X=lu3o!JXunfrY($nBKW=$vw46k6GjQ^4C6s$J1DJHMQj|PX2jy*qG-{ zf0^-t*8#?rM=Vq(pSx3H_odA$;!^yVjw?(Ra#MK%-|*NhV5_PV@t9}C%$yW$a3sO*huB^_JZ?>ypodeCLC!?sH7Nl_{rDa8}K^|Djy- zjilutMVD;K5OR7ogJII`opIK||5y)wzIiILId@9O4fDi#{`E@n-cB9iB3VZssX`MDsZ_Duh^C0!~RpZM6929+x=nzm%gp;L^dHq4hr^Zk2{ zvt-Ite^1bhW(jpa74_iQ%{xvDo~?VCRj`Kru1xY)gDR=jEE5;7KRx+p=kms>dbJiO zSM=UCiLN}g&f)9w6FXbjix}g~WF~q&lDc?YBlft?atl$j%UpFYQtO*HuDYN;WrpPA zduz1w8ThpH3lzPd2OKNC#i+GpR;NHnYlFlX5G&@*U zJepZ7dQigHmCkW4D2jbR|+RfPo3!W@ka72&)Fw~ z-hOZY?k>uHi}y;e$i)7sdoA;eLvz`S%BFbs8~^aD3l0kt3Q2jueBo-w+sCS&@w>kl zXg!%d*E#o(;iXAB{oi|TR5Z$p&-v)sq%xth;%CG1XqWPuOMMNDUAbGHJ=uIT!y#O; z_`YoBt>2BjZ;C3LPg~feCw*C&tJul+?LeIIoRFh))MqyADQ@?7_Ejmpl2elcC(mhM4Z7iQeXXS)oo3uc*fZaANVKRM-@9j6Lf3Wq|+%x|fwxrEoyiv)b##YH)C3(KV zDGv1yE4Q^Ozx>beL)ENxj8@Hb&Z*!0^zk8gmO|QlOnM->XPucfn zYm7Y=ZwT-(uzSrfp2zk1wyc&$`6QQv#d8u0e+3EbPoHSBCtd6J?E8K59?hFnyP(qN ziC)E{Il={ZchC8F-cPe*w)bYsCjrcXlk<`vm@7P*x-4SbnmL-Xo+sEZO?2AK#A*Gj z@TmRwxPG-sbo4IlOOzkzkCoFEUJNs1>>`AumuVU!Z;k2vde9*9ON@ts;M!~(kz8azJ z43j)w&MOR7WaVZ*R@lQgh2e(op{CdO=kyidS~54OqT6PMLivl#gm8~<{4-h)EMv|# zP|nB?RqwfAx>)ICpKI*l1;4I*JE?N6=Ea8v50ZB*-PYmd)1N=_+=a?VOE^B(oN$n2 zX1;8{lr@&KIPb%%LrE+~pB#@}3_P^(aqN<(ZbrPmHcvedvddb&_idL8$lv90^6|oD zO)s(zyo&JpdHya-$pY7{1_yFwIc$9`WKW59&Eb)m6|lG`S>jnQ(~GRRhx6V9cWs|y z?)^;eNw8p`=V9S@Rb5kq^OfZu1V_K(d|@VDR3O=&#A^36`Org0W%=^!_ZEMi!4^Av zNy@MqVRy+`IA zubu16neuZ3pXMfO_E2^%cb||~{rz)m{ocO}IGJ;>+4#?n2aFyQAH}%;zV>*ZMqkEH zJ&q7|ow~VM77G&?>t^q7>s+iN;4gWU!9!iOc&DfQTBq-+W-Fb_1&sTqya+zs%_8&o zDNp@e1Gl;l-Gy>{0<Yxuzu0 z<&?=;_)}7*-%C&1EX194VuEAyy*0O8Y&JYSsa0FKL@YY>LAtuy5{?Zut6$G5*VJYy zI4XZG`sG)XH@vt1^trP=oTR6dD_@+?jFi(*BY^N6Htlo#xJc6>e*IYpv4)2aCtcYO^F}Y?(dd^Nru3 zQ&LNQE>?ACH(`{yw#ct}eV{|12+QMy!25fBViZp?R2+OXYxaEg%mc5i16YJOrU?W* zFki~i^Y{#JTl_=iwZ2NnHvYZXQ+U*+(cdoe`H%i8hQ6SG>A|1NzO0yg!TVeJlxc5j zYhUH<*Oahzm(AMcxbxhb3D4)=by&b{cuXm%YMPC($C=A+LC#xu9E^&XnAFK}QmcaH z(vBxu%Xum-7qE61D9^iL_vM>p?k54KFKlg050|tQEc1i!)@{s9cjiW8RzR3)(A%azN!<)k5^RUzTjSz}ly;^R8T);hpBYuA*d>$@jNu z)|W7bA3X6SZNA)r{hANTS20dlc|hl|^76f|ij_BhnoGzYyEoNvg63h(qx1&6|W z4xT?d>Fmpw4*cDxJ(BNdUf;D#|6u>EM4N!ybqA$pTc#SZc-*m9{?D*Je);#_Y)eDG<;j{s4TUF;+im^1 z@OS#ZgYjF!WVHFs;R2Q&69upGre*nJ1nZ@Nan98I-C#M7?NMloBE^s;rr(Q4BOu~ zu8Z>L{Skdktn87|=ZGvbmLqc;Vh>F2yYVaR+}4lU-%ee8|MYUghvVIfyBnvb2>v{v z%>PJU&%iy4t?sH?q#w%o*LmG90?^J~)Ojb*-kdDdW` z?6y$nOn1K6yW5B6$S+(y?a|Y|YYsCcPZstszqVgK=Rd=PrSrF(o4eeVapUzvZfE7b zZZCCBs*qIpw)*%#uKM4ux9%879p1Geep1kpl@H_$zqc}bJAd6@IH{;fX4AaA9!qvq zx6EA2;=5N|XU9p=pXs^(8CYHaE-1|q6s>WWX1ggffg#HIMUlnVM=P@AKLr10xV4u% zq9Q$L&(xb6F2&xIR0)0Gw5TEL_^VZpD>ke2Cu_Ui>0Ny`rds=WYhLnJYp>_cm-cJ4 z{}B=YcIC=*VfS@eAJ*u$7-j~ED$7Rq|Jxce``fd>tG{~iZ2Pru`wCx;TPJzvbnKBU zVy|DyWFPr>5{E$dN-*{*$yY&YhYa-5y_BWVvUQ66@ygKUy(wQF*?a+Dl&_UiWTkrj&`-iRN=ly3mCbm1Y<4Ex8Ovay==+?`Af z_U@(e{qZb0N`2Y$gU*&P2RKDS5%(wNwvaBsX3)i+@v(MY#aMWo_SM0 zY;U)JFhhP@+}i4YGe0U__h)bTSG}9{eXGT~N&G)l*^keZ&0YUb|MuPs{n@pP4i|)c zd#+Gt!uYlK{oC`uZI5hH-QRibiEGb!P6_tQEIn7mNZ+^0|nfD{to%gd6>=rPF%>T!=_=B0Q=K|lbyJ->aQyEnj%bndV zzqD}L{ts^VTNXxn)I>k>;C_52_F{v>`xECMXnX1ZP@ezhVg6FzMElOtOg)tep5N|1 zu99JF;5crpaYgWAeEq@je{Ak0FRN2`P8EOBR`dQ>;d$GYiT@dzR@BJs+-df$j%DA( zrZkby4q*yBy*D3iWd9>1{=j)nIp_L#aTku7hu_=x+t&ULUjCn<$*+bn;_0^Lu>IT0 z4|)oPS#v!2YWuR^x%i*l+z%V)Kl|Xjcca#-uxIZTJzt(L4zm9v^8JBvl$+Ytzptl# zPHx@g$8KSFZ|hmt{|qdhKP07XzuxaP&2Hh5TpQ^Sdswlc>bvc$i24Wp@tbG1s&BuZ zf1zXcS+_ZVj(j}kFR?^v{?YTd)xYKZxckuU!{0+bmue?Ac07#Tap1|E|gmZIJWLi{N_73i}Zyz`6}nS8m&LK_n6((hoAm49F%>hmNMz^qrYdn z8}6IrKigKzVIvs%`9H%!`LDiuXCH3=anbh3@8+}Bdb3veFJj*Dq|T(_`|A8#m%sUL zaZH+Lds(UfjF3fV-Rtsn%a`-C7i{>u=08KaTaU{=+wK0w9TyEezrVh4{ZwK7K{=b; z43!<1{;Aw<)Hps(w?X&*vdUj2%jf@4RX;Lg0pET>-OwwE%G2&kC^t{w72oitHhtN@ ztNS-ky_vTC$8?^9^_>9)?twkmw#dudam7A9`=d2i>h!;LZl%W`pBMeO^!Oj4@=JyfT|1*5>zJIIf_L-*pM`z_N@D@$K5g_)3W!{WMkL+IM z_xxwzXma2DD7Ufvfky3dyE!F~*1CW6et7om%3aOJf8{+b-mrbs~=+iGkow} zf9qsu*ty4Eno@b6Fi zvGxJSTjgoDkD6_gl+PFH`4@TO-_#`kj`{paQnKe zC&ijQ_SJnVe?KN>*SrdaGFj`8Y5PC;zrQVVW6AZXn7nrdD%-9s(Ge*9eV5mIgT2Gs zeaba<)y?_;890|t$elf9&k5$bw8guAEd8+Qn0WU6PN^URN$zh;)g@maTz`J2{eyY) zx0+mgGwtGCBjMkVi)+fY<<=hmDX}E}hkE|oti(@``+X^!4#iOUu|_ zFxABUh|GK4-!ZGE^}rqFDFPyYHP3(SeppeKT`!w?$l``(rpoUpzpAbu*k=F1KmOKb zzuvW9R!e6nbxSY(oftM{e&W4J`9IW`zs)TcUNY}L!soKVXf-2Zs_q1E%vr0ZpF8oM4d|G1;{**;;=D$&$`mv6NQ z9;r!O8hy&^)FzvCWzTz$U+*&v`p^vZ>s{2gky%o%1*<*=^heEVgwH@~-h z#NB__<2P^Z{TRK!^V_x$T0Ne|4Dm00cm3UBpZ42=dHWHIb-&DRNKe?e-1JlVAItv? zk9rTCHGO|%wkDI1ZqFw1x}68VuhrK7q5QmG?bGdmAH5lUAH~AA>#SN*>U{p^v(`m& z)9jkA?0>MRezR!DG}r5@lU#C_sUJLkAzf|byZQ&q;y0h&;`A_i&rHXkPZPH&ev$nc zXPy0@fu%aS=FY46!pbv0F&|RZ5tw*E$jCR_`9A|o&X1hWN6YPxPBL7vVli&peF^*;!5XI8gdx83zWLsMeinW&m&+9&l(CGHx^l-uaA z{C#%fSO)WvJf^S>8qcg_CCb@aD;R-3QU?L*(D zeKKa0KDl$xe#gu2X8qPb{GVaN_cwPJ-s-jDZx{5IGT^ynepZeDp6!0Fmuv0Q?l)N3 ztTyZYuGSpRN-`{@xZT>p#W%H|7oiLoe{>>Fte)&Vv3*?%1cKkE0 zKj>hm7#Hm{-RcYXXPsQz$qNGR8i-cNYJW9${}KJ+wZ}}A%QlQl+&=!z}og_0k`k9wzc$sReL<1@*uaPsG>2jRtw{xclpt&{NUs@ z)LGUpE}7yxRQjLB7ah;!$@9{??{n$cl8;S>7X*)KFh9-btUsu@KlME8*0o=|{8cuX zJPp_S^jb3@k7H_OD$k{;U1aUbBB`DtjhJ*PQW>`DXe~aM9$AmnT%RZ&=O5 zs{KjLZc*c%PrT;eWd2SpIo(*D`XSxR(}96?tHklgv2yc&Tl`_WaN2)ijrOI*sul7n zf#>&&-afHH^br+)4rl+g8uKOxB;pmBD(#`YhG9_Tws!h9f4QlQKeRuDh?f2cT$s-wj%%8ZY0!KE<5%>@N4|F-9F0&SDZY4_L!m9PREl67NpOMsXMuUv+1GLr$2Z* z-QmrQ0%1^&57XoH-yAcd;%_)?RAK{11NhH+DV|cK=}S>BO(28T)NK5QH znfsyJub2Nr2WNg=aom%)5)Pq7)lWVKig(Uv2)8)#b%E)|$A?d?-MycX9;Tw0!C z_;mJ)@?7Q({~5S8?cdn`W?`oNjQy-%R(yEnGa;IBPWjjMam?D=CG4K&S)AFTt#}-Sx(@grI|DlfM zj6DAv#&cdjBhHpgJpQ!7Y!2gr_l}m6E#LM?F(&`KQGB35>r!M%O#`*Ly`wuvhQla^7s9^dt2_MDir-eAbu$8LU$( zr@gu%H^VfhM&^fqX~(;LQkj#?49#To07WvilS$h7B$KR@VbS&A&(CDnm%*A)-8t?Nz!oRt8X2dg@y0T>T%j^-;%-_N$%V64A|DSkmt|r2d#)x;u#>bi2h3DAWMbEyP|H0#Rdw1T{$49LjwccjfT0frkyHP3hafZCJ*M>#CN9I%q zNEtuq-2Y&zz4(^f^_wEI1LNFQ{@yTux6b{0HebH2t9t*BGymhRvtp0#ojQ9;$i>s_ z@x0xg=htto>t#tl{yrjk>d%#SXS$7cFg85k`MT&(w)5wp%ipa2F5hFyd!Q?O1w#(Y z_WObdzDu6?vuaH|$NsE(o;c6K^wqBq9!`j=++>ni_930K(`|WfG9)k=G1%^0 z=5$_4sUX9U@+PY=h z{~1_r#vGq}#D_orwZkrXmKXmSwwJ%{U+N(AJZyv5##1&=IlLGAdslp{Ry*wYKd#`9 zt*RcS5lK7dGHV@{eRg;GHaG3JlK1Gx|JQY8@4toruw5DJul&RA z9NUiCbKkDL;`b?4zSJ1^{OqjqKO*Ok@3ILzzqZDXC52hb<5J3ef3MeH*8k8dYgC;g z9<~0k^~;N$ypsLw{f}6_nZA1eo4-bQU*}sn?ha=LPdJZk6rk z;oB5%tT?;#RtVpcZ)+;;AIz=ecKE2@y?pZN`nx6qAn!esxg><80UW~Ic7xXZmu&b{4e z-~MU+T-E;!O%)ZNjxqDiUUkEucf*aAg#O^y^SzE;sZa9n{pF*Zw<~XcA=l^MvoEz& zPi*d~3Shss%m3*8wpm*|b+`AeSk(Rl4xX}_?&;H zA61XPN&OgSUDW;1WvaJWu*{hw8{gReeJvgEcjiCSimWTO^PR7YpR&FZWz4VhPpx6& zFZT46FRx2qHI*(tf2!`nj{M`M1{GINRemfv$rN~LzfJhz`I28A=H{!+)9Q+3ls>ip zp6y?|c~cAb1b;m2+T&Tc`p2@=&Vv68*_&;xQe?RNlP+!i#W!L0ikcUyom2gowVNlu z3@~{!xpq?M-)9!=P3~)J#Fzg`_`4`a*=5Veln;xh-if=>(;viNpS4l^t>VXDw}q;cmv?p)%h#pI4u4nd#HAQ~S8d zdcC5HI}cdOgr63hzg@kfeskEn?}zU1n!}!%bf8S7urI4t`P;j_##;Xw4rzRL>)f$X z-h7*TmDq}D{mYL$WS`N&E%)S$$Pbwf2aoYHi+(;j{q4(#Hw&i!T#7bCG~)83Z!_kZVZoA{>iy2(k~R{~GFa$ni`E}QYDD5QAeb<-yW|8C6Z zR&9wsze++?PqbJd?%tng>u>(MGM_C^(P5v$%qPmvQ+tx_=Q33JJiVrHq@lWSR)1l| zx19{%MUO_-UAWJkx9y;KhqxY}SdhhI+tp6jAN4oByUF#V>%!^>D z$yZ=u!*k`b;mHHH44W9%Rh>U}PpHqK_ffR#of|QyIBvfVbMLjWwE3M|xNdAn3 zQe)(-!d*R@MeOTECbP1a`OE#yn)p$?UB!QLNQXiG4hfl{`mEa%_vYuGdaV5Y^*@9sQUZx@|7#A3widq7fPEKt<&H(@t1k9 z?(jrE&S~r)53X7@S&}orfX{$k{iSza-buFVG}pTa|1;QXNG7<2H{4*}xWZe&!*O2q zysO$h6S_~b&%1M_;z6o^+!mg)r&=P#=j?x7kvDEy+He5mdBSJ!RJA^MG*jiH7}uQstfVsw`e(l|b`VRs6_OzH`=VT}gRGXy zgpKirZA=dyU%%Fr!s_*0@>zq9xPztg>#mj^5?aO{N)t3v)z{Z8o8fnz@%S0`Du!aA zl#qLc^W3ytL;Vc@1-Z(vOB!SKBqo2F zWY!bp-cdErcuupY^yZzC>=%9quzYfns5!oVsfh-AhAgW}`_ucA4A`H0Z5RA3W|#MR zUIt^Ba1Y~IZg~mid5;$Vc62w~VEN#)bBwFR=^fHLkFRC0U99kqi{I8(Qz$ga=N0?P zW!BSNOD0SxoWnKyr@KUz zSD0Mb=yhX~4Vzx+kG$ zoqL$gg8t=0f_4kvlXYQ80cdu=K znCirniXG=IxwIx-aB=;{-b%LFVyW-ZIooD>gFJU+1gTJm!F4;^bh=pZ(6-0(EaTc{f96S-cv0-M zS@7$ZIrqV@S=qN2*Bk(KP9B{W*zx`QQtcL%lJilk8JQ<3e>&#y z^{DQGLN%2Gac{jovK5|WzA&p!fML1am1!NUQx_{UTYOy+%NG_n`IrOyTH7X{{d?jJ zn>2YU0#<%6`?F;hWBDfD_NJ11cMJB{n#w4rXnzBjc#N*p04P6nZ=3YEH zp{nQ0a-}5++nvHi&Rfo2@i(*h8UKs|S0(|G;Lo+TSq=ZpsaF!<>yWk7au!3>qcwSoJMy zP&yE|V`-oH6Ob+)I)(_SBunT@3DgY*%02wq2opfMZW^VKP=9BwTAa7 zoIEb~*I#*ez?APP2B7yrxeS003-7&1+dEk8MvM-8@ z1Lu?;(_ku7U=aVv63q8r|K-bjGdFIW)-&gWd)6eI30%t819}MaOUkAC%G<5lnT-~%Cy&cbd9i59wtE&bpZ(f2dJ>xF zlpI`cQuFnNg~S53lX&-Z*PL?pYs*4q zYK|~ob+5{FE&I$?#AfKp-CCEy6vh?Yc;dKdOq-U|^R7ADSs4$$JgRqMs!>nzecKEs z2Ft^x@7CND1YwVKY;}}zOyzNngz;31m8p<}4stP?7OP~BRIT_`V z{Mo0rEr7o&bXW9JEy2adC6C81Wf0!9C8AW--?=Bq$wR%YUTSXgT?y6xQ`Yme%(|<8 zwmeBltoZXn^_7;-PKAUCmd|G0E>BUk$YElC?R7wdnf=3pvn+xSH*qcq&vq=HdaBRk zvC<;V6HW#UFK2CJO9|XFk9~bso9k^gBjcC%8mc>zthv}!#SfU9)^|R8KnN>9Al9 z<7A((^IR26rxb797k5>n&(&so-IS~#=feWGqhvd#2X zd#{~&^4pRx67%Y=Fii5Z%L<>exFP(hZG_xZ?jwhijrOY~tXO(4ex}ub22opwiQ>9D zXMDaAJhdhJT!lzlZf`dhJbw4Br-?grcCy`+ z^=XXU>eC{4+FoSZtQ2hIF`GEQDzsbTaOppR%*e&XJ<04}m)%%r&Yp1hn7obDEZuW< z$tPYczO;Jxwr|!3*6Dj~BUYUI$G+5K!sguisnfT6^|ml_+_HGZag5hC#rO8N$IS9k zoV*RE3JNc;_;n#riuvi=&=+pTm!>Q5?2xTEYI9T~w(;Zpm!40KZ%#8}c$LAZYS0?; zu)BX|*4nRoIC{E|vpkpe_1~sYm*J>VbnmL{!y~+nJ$zFbKeNC6DSl(0-0hf~9W9Fj zYL2OYPqsC@Z>uf+P1!MbUEB?y`wCMd#Z-^IJ;iVD_1Zo+I`|Pki|J~Y-GK+0^PMb3 zPy9P}$@xD6r)Guc&ocH2^Yf-Ker=nxN{P9QQTF%WtkZ6j`oE@gUtFca5wWR=^PIz< z%#Wvh<^?T$PmG5eLiuiqJcwPZHD*K&n%Vf8Nc_g6yo^4rGX(L zU1{0@SCdr>o!8Y`EI%MRpRt}lDy+Bgz2*d3S;9=yrpWLkW!Y{%yJ5 zGs%p10gr%{RMCl)qD_YCa#Iz1Co)?6-1pujwo(362h)o4g$@sLP)IzI8UsW&7s@I*sSkhjf0R7c-Oc@X%}n=C z`vU)6JZ|#R^nCaB8I!KN?wTTUDDj5yzl&cM@GnpMs5j~4u6uuE3U0p1>|Pha(X+Oa z^WZV_>t{aB@BO&3sa7n7=Z8=y|Ct@>uhSE5ALjed zu+%?2@ng`Vm%8bFAEsIQYcGtiug_xCp6_|9;<#J-G)YsAD=VaJjxo*6eJpF|DqOor z@Y9zx3ES1rdczOR7xle<^WVuL8Tqe!KH2a7vf}Xv{-e_-s`V~m_>MgoS(TOdUbNE5f9f&{jM+7mE~LCIMnl>o&QPu+1%hm{~5$|UFIivrquN9d{C~m z>iEK%#9bZQOE2xo{QHKFpIL-$y4}ipi5E8xy$WofXw)!|Kc_mh@X-rJmOUF=*{9vJ z{C2ixXXS!FRhzc`y*KZ2dy;bLj3(pe$uHP_LbQ`VzLcn(71J2O@b=p#0lvo)&l*jW zU)}iQxjbg#zqvwfzfV8oxl%ss+e|6_$@P*deddfmuAjOdWq-V^Q|0oPlU-g91U|{E zWbfVaE7W^FS53i=J<}dV_xhaj_-#@sqg5xu_%%gN^WryVxz*ggJMHZ(zbs$hV{$A} zDaK{D`#mE)jz7LNb5~{Tmr>efpfE2qLo|hR%HeeNd50yI-Or4dSSK3ovu&@(+X?So zUiew1@Bg%bf7N=M+NEwMQm!QY{P9zTo%zb6rR~S#q!j#aJ<yad(fV#mw)y75e3INYmdxXV-jm&O0Mot?_7bLhbVWM|Y(IoWEuN zh~w_v*VI`t2Mc0kEG6+{6(2<#rmWAJrnjc2U*SW&UrH9){za2?d(boc8@0q&0TD6 zkV--zF2;ad78v?xxK3z{>DmODGxj3t#R<=&utr2k|xO(9s9AyY`WK{<$R3?4*q%lsr~4E z+5Zd~x2?0aFF)!nJ9p^R9o@56UMfudeE+n3MO|$6g*t|sq95l=AI)Z&d}O+??%~y@ zOHOW$(&H<>B7CjE-cw=cWEGPokAD;%Fg;ll)7#&kmlssfsAxUo+v5dm=W~0jp6lgX zT&#cAO1mAI84 zLEFalYya4$KRMFjp|I+$GP6zT_w`fi1div}q>8=?*LiAq(o(fQAp5mF-=1=@6A!mN zW?1>AR)gv8kpx!BlV40ugsfD2qQd;?&tA2oHa+6$3^I(txA#4joFI7BQ&eQb zn)@0u@`vVZJF`YwhVMzh+%}!+TSaCKe0(3O|7y9phFeZnXO<~hF=0m<*9?V(^o5Vt z>TWu5E-JX8u<>Qc76-*Cl}ouceX5Ho%3_}=cv7QMZm<8+sCjprEALm|nb)-Xj@wC_ zAP(k+q8o4D`>;C+MR25QZ!PZm#2V?6D8^>wa8S0@n8TyE!Qn~0SNbhwx7)j!74&6a zFnaMYRQ#H^<=E$lDP0B!9_Lm4%}Se+{;ub@lxL5V!41adf(6e%F5uc1GQm#z`d+V3 zW{1v8HJq?#4s_SLBUJuQai_$}M$b)ccI{2B49-0Kd#vrk*YAx83zfDi^g8?Wt&9Kk zR~DBeQ!f`pbZ-+VSipa1YRidd zKil7ZJg*|vcQ>uo*iK^3-;2jD%{zYb_Zd&!28X3vGv6s2c?z(|h<*{7C3I(Ps_}`p zJQpf+_&m-(4fp%P{q&f$`kYzoKCZiLyD6{y)f#*MwU%l{OS>lAcC%cX)M;kKJL$xl z;&}#!6TQxrtw~@KdGOw5R%1|FSo-#a0)yi+S0*?cPOw>LCiq#%a?t^=#;&K9k9*|4 zc+1aOT=-o1gK3;}Yq*kAXvmxi7T=b0&kX$MX*_vO-V4o7jTYN(FzPo{nVTFdl*(n@ zaA$-1Ue2QS&dL+VjOS&!Z_P{&5PvV&!*}Hkt2(P+u*|25*Iu))I-jVT=drpda@B;7 zhx@0?%-b6KcB!Yg9HV`?>VBan^>Dzi-bsRhWC=fcBQ2FV9W=GM|L%oGF}O z*0=xpQYMv(nkT8L2Yx*^*>-Tx+WTg2lGmyfwRb2ye)jy{JXzgEdY6O@Cq=*f6~Gd1 z7g8`&O@*&v;)Kj?#WlOlWb}+Y9$a4Mbe^rKQbuZR-X!*0X|H=yN|s*9n3mETar)`w z2^Kb2g1nMuXe}1<*RkTNdACtpv7j!Y@|fL}gNA$a@7amJYuvu@>&ohBT3cG=4cp_s zMET_AaZTK#!OrsBa@m>HLOLFgEgs}Oxvbl4HPe8(y2yX2f?D)K!9=AG#}&VqJP1zR zJ6BYS^~r?tlmz~&-j0biJEzDzc$<8bb&5fce$JCGM;VlVUT1u~vDe_n2KV#Wz|_DR*hL&}B4V{aRHN*;XaAn5b<*_M?T`_C+DO3V%|KCF3CP?wDKQCad622_=g~7zTWOi(a-IB*9J7>wQF)LGea`^$z#CH=tEMNB5X=(p> zGUa^-s29qaTy!8MLBOc6=i&xUW%c>NfhzN&*3WvP=fF1c`1{C>2lJw@-rOU%Q{}T!=VQ-G7JbX&Iln?OCcCP0ElEgt@@&mSp<|MH zec}ol?`k!=6pnaEB*?Wd4VXD|wPfz2WGMzWKTiwhYg@Lke$Jirbg^WDRoSD3R}(7} zw74dnayQNPovOSgV)BYt?q8NJ)Y&(Uaq9DPb}?LQpPb}8wb?v|Iry;Ii^jBkz&@GXF|`m^%whY-+Q-#qsvWmB6QbR?pXE%O zZ#tt-*QHzuOIcn+Z5QvtYyhJ zc$85fEpbwEwcwFt<}YVmg#4k1@K$chx`30*405&H4&6BLde$`6 zN&y}{|ELuoJq<$p1)uzRZmV_wmQusIuL_Shy!LzB$kA}jog8{cc~E?&#zA z(XC+k#&fxn+QsJW^Bg44iySfgC?b+BdyM0iQRbynY)K6(bISjfGHuu~`FR~11N*!$ z*Qc@0SW}_j$9G5gpHgpg(g_}?<5wQ96xF$X=uhYU>q{Lo((c7M+}`$yJ*O(C8UvQff2*(tb1h2OEEtn9IusS$_E$ZRX{A;=#o26Bu7#+V35d z`#6n*dA-E?bNxSbrc5uaar#1w*(6wv>bcrhrYVy307Lv1KsJ;?zynIe_QeAOt zfR>w*#SVvv+DpeJ7O?iJ7^UZ5T9W&E?t*FdYh8s-t315;!Cji)Ynr1rzka%`k>yba z73rsm$E*?rFD=EHufXEHZ>Zv-PX!is?U$C8IPEW&-F1PZGsW;2%Yt{xs+(uI z@0jxEGw*@qysKZAdn{%wo>OA0(RNi#@%N$Q%stN3eNkc(}O6h+Fi`8l#Oj~j)WSZQo z7$QQICZCDl+qd9yYKZj@4P4@4-6WGiqUu&CS#=zyqroklLamY_8Zf}uQt>&f`w_H|F)jgoT z)iTO5^;khjLep}!nTF?_)D<4c1hC{5o!>4vad-18Rx8Og;kh@pZ&ovhp8N2yJVox% z+5_E+H}3r6xxf(Qc8dKlmK$`mz%1{@i2{h%j0Q@9-NF*R;`o|vJMiQ#>H0aDXM;2ruvGQ!e_6t zn*JS4ca1cd*gf~fYpLGiP)S=pL#XF$1Lu>K%YSb8J3qPcgt9_NlEB54aTbTZJ!-UW zTC_fn@eN;L;4Yo+t^Z!Uz0@eZeq}&y=D)D7l1U88*44iQ9M*l*-OOnhz<%%Ur3IZ{ zyY5D>VCkQICuDQ(VQodrCrlRq8Eird7yER17`{Dtn2Y_1&583J_b2vD?&?3CE-$ou+Qe?=3rrQit{hU;zW(fs2&Nvec&D*sO3OZt-4bNv)}+ zw;;vToJ^x+i^a|4h>9NxmSJtU0w= z=FgU^lFWG=7SBb~gu*3`Go*L188#`k*)UiI*Idq-{g|=yRm*4Z0)Z8ppWaD6>U8WA z;j>FV@b%XPrp~MFcMsV9{vG(NGI5s5t-{Yd&u5hwHWZy;KixPn!0g8}22HKn3?}c& zu$16}<;wG?BnZ3sJ$=G3e`15B$dAYN6^#ACx8^qe@n~PmU>N!Dl}7Ts$0Ak^lb(f2 zZ~I{AwLJ4z5nEMYsnUr9Z{@Zy#%SlMFf8nMvY*Q!aI?rSqVT1ENm-881M`K;4~bSB zzx&RW!TZV2zV%w~q^oMHuhd07STy!T8K>^(6nj4!4!uYG>Xu zZoG2ktYM1I#^gS>y05Nzvo~)jSpB1mA)&m6J3^K{D=T|Xw-2KTVeVWJmQdgi@qZyGud zo!%+%g!xm?XNPjv&mjrVpNYJfv;Us$2KR-_cTG*=kNG@nUVs4Gj?hC>pU<=Rnq9Ss zHE}blX~vugKON4%_-T@6i_wl4p8mS4#?h{7<#J5l zOiGw`O$+_GagN-SwR_&a-s%_4w&c^lM4=B1k8jQ6(mc$3g)j5gYX>QX?G-Ic8FH96mf~{=WHN)x|WEGrQNb-HtnV>8$c8m4m72w(j<= z-v1dmuI|d?%@v;h^zfnOEOnyGv$sw-(c@v888~x#G4Gv^eOJU1y&u}zUUbU1*2A3g zc54iO)=K@ucliUIll9x)NU1;E9@?#SlDH{HE7M+ zxrg^gMH(`s$hyaSb*W~~<^Y{r*!zfOLd*nz8=fxpE=}dW*p^K^>5`9@>?rHxvx_T; zmubjx~^j>`>6NG_-EHy8U8Hi6rqkCiCtf>n+blT3 z{G5Sr&lSU*1g2w)W!jFbEt8nSapI5WX`v4czb-K8So-grSGl6@)Orn`oyVEhC!6_=BLv_3U_u$9^Y!ueEQDf$uAv5 zgYKC+w#wFKCgv+W4B=_BnP$J#Zv)e-cZ>UuO_wX<^hx-$;Dh^KT?cvTeStl4Zq-+c zm%UN5;%N+a6SYg0E9;y2Y=U?R&ndyZ#+N2X-Qk#|?kSx4v-mU57m=5_3R9)b;-{2+ zU(V_=xmcjU$U|gb(WZCZ(jKoeBO7XG-MgRnz&t_Vz!!;^zFmiI?4QkV*S4g0&jE%n zkCrsNIjOwfCvX*m*?fi2vSapIttV%HPdypn=J+I~e08>>*1;Vo9PwGMS|+sCxSC8|Gxu1h>Mb8;>XYYA_0({O-(rRO}6NkZqS4lTneU zOxFzC2dB3_nfZ3Q1^cauOZx6lW6o!`csh-y-_KupYv$eL?9dL7{J- z*#WnjIkgrGIHYbV9lYwbLE>k{iSMhqT9XB5#!EcNvsfa~nsoE+r6taDczCKVZs3WI zh;=%y@YCPt`?9U;rxi%_M@_t*qO-cO@v^Ciw%Q%fljkiLtX|E#Yg^v~A$Pker?XuH z_&Cn5cp1DTW2g0|i06}o6cp=nWWHD&)6i)0=sWZF!1=0@$Oci)+w(L(u_pw)RetSf z-6lDmfzQx^Q~Yf6Wm~P3jHJJ>r!tf&TdsImQ+xSWkb>KEmQVZ&WeeE%XwNsdtqO87 z@=6I_TF`7W-@)qAghfV&KObeVShcA4<`iHE<-Wi!QW&+aZ~URQXQfydylW%3pNOFisK&v%}WoAPJf z8HU2Q0c;#)@6PXK@H)Zupww=vz-_@p&6oSK;tk#&=ChXjvCLB);VkyziGLUD$$hw= z{g2v5{@Y(~#AR-|-lwr(j*!H9nZ9=0)ep|!m~gMg@$b^NdZwCYCzGX4eB3o>b^4t7 zJ|(}dmA~cuZTO$zpi_95^pss1A4)5*Ll zMhCve(Az3C3yN>dni{~jSlK3}NOQMWGPBau_^j!P$1gRApS-IQww4DSloR|@7CZ~w5q|35>!)Wc?^)6r}A9YN=g?|5M^b9HHfUH{)1 zd&CnT)VCQ#MjleEl-Vu%>Qz4IZe;B_E2+hhRL?bsozXdY`B@*C)H-~HElofy2;_-1HLUSPdkr4 z({itAFl%y;D-86LGMv&gf&J`J2Db3jJKdAm8DxS}j99t$%=xm&fF+@?wkXr{&d*PW z8hd2EFRaHG_HD!h;51d%Z#`KoUcJr+U!Oc&f^6~HGy8JUM z;>o<-nd_Fu8#OjLL`BqGIKU%%e7y<7v!Ekwmgf~h4oqQ?b9iB^r7^oW?*_v;K7W(% zJqDKcK7|f^`SWE2UpX$@@1ya@)kSiuN2T@0H=0LJ#ArSLvVbwPU;gr}ai9`M~T zRq?&K>-XjE70j9M8y$F(5+zPpN{URJ^s(u0@mXy<4;G$@*A^>IVVJRiebc&g?YAar zTz|(W^82!Kq`A6YD@Arm}i+5Rb$`4#%QqbJ8uZ{@CcfEqw4>d9Op##LxX}OY?qP*zywGikaa`KN{W~W+o`14u z$YtRp`YK|RnmeY-xY+G4&w+OKY(Q>*v;K>UY*TBm2KF8u*} zw$Jk9zbmQbZrgdw-iocR`Q`pi?uWeJ^WE@O-O_%(HSM!NkNc-Da!m{KZ(M%(rbuGT z+OUj8C6<#S{v}oa^(~vvx>fS4e5;l0`T2WYbmX6%3_dP;!(FLWD9?cr|{7|Zr*G9L@JvvG_cmPedLp1VEihw zKu|JGQsU1Fm7jIbzp?G!awYEF?U>)eeBozy-dQm3fmGk?Z~7nCJn>#~C(5<;!HGNT zAKu%yut_AwFo@6ieAGnUi3crSzIRyHKY8ijNj0g=Z+1yek)Px;IqiN-ZC2~`H!~ma zXnMPKn(z5fTa4$PetEREv%Q(;9j{xiG|za@OT^5(?Zy!|s973O8l zj+mD8U{3O~iUqT8{N##niI+^Aays>qu9sOt@y?kCk1t=Qwev&%v2OOeYP)NG7pzh4 zc>cQUx8#}&TGM)J_8M6QD{a|6%SUxhMtQO|n=A9qk5kXw7hA}c`&BoNz4zbeWB(b< zbAERfd=x)ctEZ`#@X>7XbO*yHPx4Mk9$dd^D=**eK>L?w6HYk2J=qZ&_+T!Rs8D^H zL#p%PpULwNFJ;=>Kk@RTyP`7cjOcoK3bV{SSCN` z-EqhG(321Hxop;?et5fP_l@cL0+N4LTg5lm^S+Dxcln`qU5lRhQr4KC*Y1Do_;Eae zWz(G{2aoaOJl47KraJV-e}=5}T_0Pww;hudEPKoLAl0u*KI+?wI;INl%8Wm{`4cR3 z=9m1sSonea;pdfI`TPetv`-&t5O#?9#POdY+rP^onz8)h>+mykPNXw`co`=CZO_LA zYTWZ#Z@;~>{CkiPv*3B#*O!+3owr9&`)9z7Hox5|4jv}o|IV%9EtITOs1tAPJ@mPY zt@7;jw+oAtc&^t8?%4I|_LQ5Aa~?~IR@Ud-y`+0~f8#x6tv?s%Obz^bJ>fsYX7y(A zr%lfy%1d+dj{mso_ILUpgLQqsuAFm}O+LW<>jEpw-_3g@w>YnOA>?vu=9$EPzpK+L ze-~HO-AkQy{owV<2{jwm@P4l1y0iQ5LOZoX^dojt8LC(d8$_@9AiU(Ye_>_w4%fv5QF4>joMzn#5+CA$5?<6H^LshkQ` z38A5Xcl{G?IsJ*{OXC>W!V>fTq;HUTw#0su zZ;!R&=D7jMi+K8<2A}?|6}jxmjy>)rK~~AiFE5)+5YesAJ>Pcuu1rH=N0MD!1KdG;SP&vHt) zi~i4`AGQBK15f2r<7ty)5+d}TGrC=}X6&1CI{(J*!y8Z3{AUn2X`$nHlAU><#S*sc z`hyNNeBZiOKRkK4;dqJPaoK~%z1GXW{k_n#@{P$vJ@-@llWX*UTdtdGpAyesyg4kR z^Y=%k-nF+ctv&o(u_8=5_u8#1CoH4|9pz8Wkl|bTpMjO}cELG2>3h~%4Hp+nT3}0 zC~`kb$b5#~_mgw_{i_&0SD*i(Vc+*{lATEO?qlZeGx_*sjqhz(U;kjiec9#xr!Vc} zjdVLZiDSY;|K(oaz4dPAUe$6e z;GeawK7anLl$(1O{;QkXD;FI(N{CFPzcjJGC z?ANy&Hy0 ze?%vL*!}R0kyg|q-K&=$n7rE?@%FgN=hzFMIaz-`pTz#!FJ9My(ZJ%Q>`Ij)j>r2& z4x}77cCW2Pp_FCbmPzx?Vm3YrUi{Nt_ki4#hABMjPZ`wmM|DMP*MA@KR;7v8hAI4e zO8UKKnIfg1d!|15w(M#{xWc+8=Ny)?oz&oz?Ob|ig@ferwQkar+$En};%#@=I{wL! zU0FV=c-s|jdG%i*72OpH3*?NlQYNXgD!1e*?^wVwAy?J^%CpHzu6E(~*ynuo&k^1% zp}c;tG7~@V?VbP@pXJKQjLqj|H6u>kc){+pZ_8={CkN^6GV?M|aWyQ>U|ccVuJ}CD zoHf0Zdju~`^s4iDQ2OAqvq<8xkgo@y&0^$xcX+#3(zFEr>E~Cz4Hn{hdOq*a0?Ucp zCN@;h%Dutfare==O9qu^1#fSZp25Q(Rqd{&v?r*DU!lw4_=G#3k5van**c_5=Uclm zut8F#@!Fh;5Auq8W<_u_cI_3GZU(H;NqXF66SXJG4x2wb=uQ zZ_C*@8-HEex4{85ZSBg9(*lhC{AaM*s1fA!Sf%v95+#Ehw~V`1FHnwj<~_9} z*TUv<%fUyy+%l6-ns_9tpO)agFXFyUVfE97owDpq4RRlv`JPQ#Az@Q>NhQ)j@{?_= zRq8nw-|H7HCrnsul=A#S*`gOLF`CNr7l_PDw>bW=OTJ)=@Ttf0y;cru4<*}f_T0^B z#IA9qaE_eCOW!B!+zMa&mvB_&S-f>{RGPzh;^0{i#Wh?8;qOn_u23v{BE#<`CaR#d zorB?k-IPfSSlws2FZe3LGs)D!=(fX&=N2pG?5L?!mw10`N&l(BPBw?{%O!;bKQ%a7 zJZn()vGG}9pY={G%ORZ1Re2^-c@~h zhR>v&UUr6Lrlp^b-7&L#J&PeFNny>AgzpxM0zV}@Sozk2eF{hM#L2g}>J>MIe0kKM zT&mTYeBj{YS!s{C{(bo5f0x;Qt@nn>Tc*y3=G|PGz}>S$nSB<6%dW_x*=18LY=R$iwLhu(oiyX4ws22F^<}}Q zLY0aI3kq&Le(AtJ_sQ>jcePf?X9R6p8T0LK*z8j$8HD_0H9U^mnTgk#rmIY-JowneDCaGdA|X3&F{g+}ShlzVg-S5-oh$lQf%YfAGYA zXBjM0CZtLl&Ud~xr^zl_-m$AIDa@g9r+Ux4eOqlDN|^h0C^bl};EPDM+p^KcOHAPL z&V?JiIevY&eR*+D*G}FOubUkNZ92NQR#%s;=smRZ#Cge;D(%no{EBa1TF}cqx7A&? zeJO+IPC1(?=Vf26)?KM&aa{ZQttB_^m#;Yf*w@faS>wds;u8zlk6Rrxd#4Z@J^Q)4 z{*&HSYW-}`?YMmwf?|yQr3_d!+vE<`VsbFATl%%nwhAyQ^i& z<8Y^nYm&g?C;8_^gj^21IeFlCuwSbs`$F5lnt6+T1pF%hYBmP4+v~B*T#`)Pw#|s~ z>-QBm>tYzJzMfUxt#?uJXQ#}puu|=5kD1pRO_UT`uj6N(5Y(FFe4^+;f|RG4s@=Q7 za}3L;7tKfrU!LX6!}HvxZ^nuz{p!#1Y76~6MK|oUJRarU+LN1ZYbo<((Kp5q$5!o> zJ+3tMvi8e)UuAfoJ`}z`Da%!T!ja@(Nz)BPFLL?BY|NV>+v=fm@P^~BM^jcZs}%9u zT(Lae&Tf+|`7(%U&GJfH_l2f{d-MuUi8S}feVLToRjfS(_2wrBLJVKNbvWK0DZKD;Ul#XN zIdA^JhT>oyodW`fUAd2yqK%(V*t_cj`+51T&*$>DFDdQL$=xC|kKg{>j{Fi zS5D)IvDPSYd*IpU{_tqo{%x+m4?bwyIqmWHd_{MsJD;q6*Je-r+xewBarNoyj8_*< zb#SeklPCLcs}b{SUMqg3J8brj^IUyiEDGHEFU^Lj>aS+*p6xxw4OYRoEN*_=W}d!K zrfY(jsbJ40=3`bttZ~biSzqqVZH(Vm#dlRwM?Asu`SvWf#2?G z=Zb$9?n%2cX>OBY=iPt*%j#Lz5AM|t*j1ewcwoBZtpzI>p8ve6u|NGh`yuCUrf3%N z(${ZTEt;xkmd9@`Z#Q`zzGu=O`58=I`^}7R?L1rkZS#fPQ?b#fpR=8I71GQ-{$brq z`?URx{<|{QOfRc&>+ib0`G@j@+ZG4A4{v*%^=C~2!}_gZzot~o*}u(i>&mE=7r$)( zEEmK3al#$B=C1DWAHP2aN6fQOzWBZ&c`7%*f4xum{)j&s9}*?@fA}M0G-utz2L6Ya z)-7)|IbAue;_U>6g-(108qtiOd7t<1GrNC6*z;muRLz4eCmiIaCY_V-m0HrBU!7mn z=N8+uWZnCvwYK7|ZyzTlce>eq&U`!06}oP} z#WX{8&YwG?>MIuTGi>_XzqK~dDQlk5+-*G`jSW8kVzu2)f7AXj#phG(t21*O9546C zr0v~ui{rLI-(I)O{|vkOg?uHBS229*HU8%Dqc&&7cXPIvm*s+E+^5AV|M)-2(p2n^mi%6e#NtRL*#-m3+m>>8TKi_Q1iqL(bp~os@ zvpoKZR0N%R{nkuM$1ik)e*g~dj!1vpry^Uz=i!`)Z1d6=8|boi!Y?F)q82PA>i#fZZ3wU*$?0I zM=$)((8)XFafY48i9eZ&7qPfyZ%3+EJR#@RL(^`4#cL4zfH$K}Mi z|1wTJmakww|2UvN&7E7IStg-j-`1K_n-(TcD7?Q_?WAnE@Z>v>W`)Z=% zN}UfXWr6i|(`9zZaR^ zzm=|WaL(j%+xhcqvV{7b(2kGnp$u0F^IPW_3oY&Bsp7fP7?-PdpZSD~zv*^kmiK`t z7p*!rQ76!&=D^V@39v7UpKw*Gb6X6yWH}02qO&5C0xXFE8){=<{ zpZp9M4t-x8#r4d(LiylkhwkEs+4hDTQYX0CSH7!w?NZPGN9a{~g}wj8Q2%Ku?F-*t z+NRRtA)-BT%eR$Dn?5bR!}xQyj_pUEbnX8PT+0tOy@;((begpCagLY!M?e3W#jS?{3`K@>s;;{V#K@jJtHQU=|Llb2>@oq`bHe{<-e;^`Ec~O)a~vp(tb9ekc{eapaZ#^bG33_aFQ-9=7LZSHL;dHhF1Vp`aQ z+qaKqvRI25w(__Z*-Iq+wr_hkHzja}WJK=ooAS%F*H1pf!WL)iA2;=6jVHI+)Zz@c zX9mv|K3FW^pJ6BFZ+rcSYfn_AfpckF!R{!>z8zoAi+CKjzC2*&BQ&^ZTT;-y5Hc zD$X;UVxca1@NGbMdQZ>E#=e=agE#`_c0DdQR_GvjEXuR2`M}Fr^K2H+xRapq`maWX z?`EE<%JLQEE0X5q7M-4Se0!mz_)eYa9II*$H}DnlYR5XNL<<&9JYmW{NmbfIdAY=c z;Ph=ejpYKKujeELZ(DG|>}bKi8on3EE+~TX2a_!LS`KBPVuAVEw&2uKp4DHFs z_wRMpIFT>Ti%vNug`^qxyoLV@K&7Pti&p$8Vc+%N!`N}TPXP#L_+wtRP z*s?q$lbjojFQngF{qH}+Q$E9E63iDauy(X?ZckcSyW`|CPvs*^R21eNHn}PKpy!l( z&c$c%3*=XqoMrHQp2+>?nAMz;WyjvhKl?dlJwxePJ&T_^>}F?nc{4rUu9Cc!Wt)|6 zhXm`BFVDNyrPxMqc>Fp{d6MSzx(ZwNs;q+|=}#WtxWIX*bj`e=nuSGoow?j+PExvE z6jG!)SuybU)}Q@RGnFG3YOOlt^Y?ue<6e%t{~SLF9;=kwGI7^`2If9K>C8ppg2MT` z)g^6$T?%#?t>b)sd@akw6A|aw-cP?$?-jw+AT7OHzR*`-L(#hjj2Du>u2d|IE4)4N z*7BlV!kiIri*tVaJ06#x>+vR%pZ#`Uy;sW#Cb4rBujetWT)2bDNXWoJMyTp4Z%)u$ zpQ8&Z8W{@QfBwnPe6p%hQhiZt;N@%cZHi(Rb$IKak$BwqSIcygdAjutiQ98ZO?WC# z96L8-`N0+5vYQtjF;ADYkLvukxpG2t56^=uN%9uyr)A8o+oM?Sc6%E?sqAsQ!*Tvn zr+(M-d=>q?FBdIZDsvuN9C)^w?lEUxD5wdVb;-vRP&`rE@wZHEuA=?Rft->{*+| z!k-2O25y$Cwt4UTSwE$ZQR21(i#|&b?}-E33-;Q+rE`>E}?tj4^6-a|di*RL(P zEi-4=hw9{|3}%_vw2RJO^tju1HE`~CHW}W7KbN&+yUPBl`CC4p ztDEmNcZ-z7e+Hwurzcf$WrTmKSsB@pWIX@h)~GJC3GebMp3F*SaZ;)jnRr6|vZ-p% zPw9lotWy%b`R4a}&$yCfsm#!1J@2YS4~uqFrLF&3r`Tl@Kc}qb>HmDIL9J+$kV+5p zTW^)DQ035LYzDjv93MY$)I8ZL6zk5kdb`7&3C0s0cy_e5v83eQzEE{Vu=2&xnC9bb zOT<@JYEQi-&8%QvH{;s^hj{_&JI@vWS;2T-YQ}+3E&H8U_>XlYdo1E&YJSAPxSm&9@P z6(WpL_LdhHoBepX+2myIve0lJA^)=n|E!FA=5aqG`Mh6M^(FTL_0$RPn9FS~A2rzj zzxMXsd!D>vK^3`xo{+vE4`V6qd3@Ji2Hv~9$h~(a@3DyIa?K`BE>A*nXBc|zm0J8=yIRA0OZk>`T$xljPvq;ebte>e@U1$x-114DO~|+XyLzlG?o>^( z_sXAiULs_+VubLHuqlD7ZYeWy*?BddT=<4XNqiccp&i$}kdO11dNWm)9b;GA))y`D zM|1VwXNQD06i&W3FUWR*=!xKCZiU_jl8Uv6HUcTdUrtvW9i zw;#%5Naww_GKZOGb%VLq+`XTDwzcj#_F3YwrMk_dSsPR~Y1ZD6k7JE0X%%5Tue|c8 zfwHSzLhO@;2_o}&_2MKrQj@nN$Swc4Kxe&BTJc^#H+TP2%e#Df=cIi7S#^0^LwMJ# zhf0yEjyoQ={JOkk#)*XnRkgRKJ`OBUIaahI@O5DHA*IOFi3bCU&wuFmTHUbW&%~*I zMtmV3{kD24tC`AH)!baZ#^8?A=3_e)t7M+dTCHLz=C0B_!T98o19kJ_Tr{my7Ap4# zdfbcFm}dNaWJ>IP(^n%$nX5&S-vNgpSkjcFkW8D!a$g%A0A2RJG^kEu)18Pq)pygox&5Rj3*ghnblXxHNojA zn=^l~-vj>4yp3~rH{RVd_l}SjN8_v~1|82gr}u>Jn3}pJQnF3bjmLD zOS2gLPca=k!c%&@D%qv~({`1{-LHMjnFKe;alYU;RmuM2Qub%1`2xN+e@&10{e7Ho zf;j~_rlEebFLq<{}7d&HK{_* zdf}#*>*hurJ>eky)bef9&9feIv;Q-&bZ^%EE&8HOi8J&0)RXbkXG$;pRknV$?vk+W z93BT`nyR>dM*rjVUmO=vcf!i|$fWt3&#v};>e7;{weD2(^=T}R@9kTWYS{Rx$Kb7l zP|A_krP7<+4!-o1J@Dzf>(%Rx{ZSq#i<>8JUuv6t;FdT;$@8U*NoIZG6CKqnSUy=- z1;^Q*SQ^2=p(j~g9q@L}lmN58pWLI8cAc=<9^j~)`QAH)`C(Upw}OR=4CDQ!kv{K? z-YGP0dGIfkNB?O9gO>H%b6G+1l8Fa@FR2P(_EA+)Nh$QJJjHu>flQmp@tI9;&hc4I zcFDUJ@cHBA4a;O%jm2vhB=@=1YYC}MV0h9de|On&HMhb^cbNOGs&1TQ(R9aXbN{0S ztg6X{TdTfWELf2cYWJ<~eO1<+(`_x=Y&zXFyK{VkWV`xC( zF@LYF!fg%>&za{t2C*hA&gLm&UvA2N^XYLTgLg*8FOM=9i3Z&M#(R8a)V!;zIz6xK zUY=myt5c-*Q9`|(r(h4)EYAW4MhAvu=E)8Wcl`YPWm1y6l4gqeY%}|K-mCZBpDmwG z{e9dwr{Ak~S7q~a8O;ZieQg~k=cM^8c={_~rTWy3^XC+09=ytsdtmbAm!2vWKd(%l zc=`Gt&E;hbOJ}yEJSaK8)Lnmq%p04=lXg=zGA8iPe|Fq4G)3c6%|+qn9osZsF+Y}` z;?Z32O;qKxmEMi}lXg4_nV-?0m>y)6d*IQcf_0Aa8ei=HR@q(P>GGVV64Cd_;ZC)1 zS7h>Ru9nGLo@^`Zs`6Ob+TWA>Swt+;F6sGth|=LjGO0A`BlDRgX68Lg*ejmti(j`wV&v_yhZ<3YkxNUdQqFbJ>E`d|ga))?2>xl+lqfbYQcsJnJd_ zXVnQe&M$9+O`K1C7TqE7`pN}ESpQ$cAb>arc_^fPp zhJ+M8#|3hS6mPiw>8lbvv2x-y2d=)WY|p3Fo3@|rJG6w&<6o+TZRZ00!V@bNCI^_; zbA4IX@hsB)eZij8s>>2*Hn(X`Ret)-)Ub8w%LxuFGLH+tEYP!Z?Q$|;b2w|xT5kQZ zul>V+2B|PlL8IG#R-X^`I|llwRQxModi?ZOhNOwn8O6i<94y#nS$P!eLLSd64E-}x z_1319u`Pn1OII_oR(zXkTluVkbSYf19zU_ zBk9Z8%udHPPB18_D)ioO_%@WWeXIN4E4_D(`{w-3U@)At!;K{&MbJNZCsRYkgD1)V z8Ls=fGppX{&$)ap-!wF^O?1}QkItUyP$e(bm z$Y1iYOfVbQB#VRp-f#6TIMdy?q`u^mFGt0pH!6m*{QgxO6M2>eEu47h`8s#6(%se? zVb3qN>PhFF^Ej^3x8;c;>#cV?*cUFyoFoyj*(OqjugK7`Xd{!wY(D(kH^s(p&%D1yRYAx36&L#+;VaNgo~Opjf2KSk{YT~< zRu+zyj3p0BP44ytO+& z7Sd_@n{)zm^PiA5@y>!DIi(7h-mAQok$>)~-F75j?t!15=idH#%2*_C29A31SIyP3_~lEJk6j%4hO2cLuTByR9C ze_gR>doQ2yWfeYSug(VZl_zB`d$670`qaMSWf$`v&K+|e?^wPf^|36!5Qf1f6e`~&2zQ|;dh%qQ-UuLoV zki>_|1F!u$x2rKtY;KVw7m4*z41wk{PZ}sZw{I{XN;&@daLjlv{%d#&oF<#uszLvpcTlDQqi)Xo=e0^Mo zYnrNTXoqr7mz&cjwwyU%zKAd^(3Cu>d?(oHM54Wc%)IJ;pWyjVC0)NAFxmJx?^#UY zcV7ky@W1vRKmpM8jXUW2L~VeH?$XTm|#g_ZePazLddLO5(#28R0*+D~i<) z2z}#zO zPXE4qh_OfTgvli_hk$hswl62$ZTU1kT^Ip#n0lYOVh@;!b#Cb&f;PZeR1^pwzp&t=v}75=vz4FlZEQWCP{FBEDCsnTc z(SP>N8}pE5?`$Ua2o&60_DJa9p_GX|T@2+j9x!xS+DyI?WNfrUPn!2mkVHe!3a&?; zsY(jVx9??eQ|59`m;Ao+;q9i|ZT|AD?kvKw?#eFvUtQRE=Z1vbvpqR=x9>B%AFuxr za4Wxy_t+ZcK;3k#>XJVzKriV2Oce&WGT2WRry!YrcL_y<;_2QU%=|> zV(lm)+p7_(+%tczd(+wmFaH!Khktf1By?D@n^-Lmej>ccnZt2<5c-valjx z@%FV077Rb1&pR|#S@+oeYm212OOM+KXhm#iKFv7EaQlV@Y`Pb9>{%VpEPmjEyKz88dRjarZ6P%ZMmk`W%>TR$fDRuGj7>co96`irLa24 z*7AF;n0&>(&w6*JV$lN=9|`@K@I&(@&HO()2W;_9J+QaW^qyUqP1*WgOEcc)q?NHu zW-hR_)qd#T9hCp^>zSgqiO;S~VX*jFA$fjlrl9TlP5Xo$>>tKwE>gO`yMbx>#`j(K zdvqEMLQmK{zP9NPzrgkndA&T=WxTd*0l$lnug!JkdYoqcyie1>MPn5|`+A>{i_aN~ ze_oDbFg#cB=Vfwo@6t?>CfSc?ytlbkoOtVy@!_z_FPY%UMo)GeU&=3Vdz*sLj&Y`5hHheX63 z!M?4Q(g)9*%1>I@7{lDR^QZ#Px(9d5=JZ_DSt(%TsSw!nejph>&yGjt2|NN zGh3qe5`Tg5y{1X-=KM$NTdk&d?tjR>=|}g{xtR^xOF56v{$kgDYgc&hg`6CA_GdxG zm-h4Tf3TSQ@%@|m-@abmll<`YT`&D@KN?Nh`mEP3eN?<-)x4XQ4BwbVe{24>sfoN) zXIaDf;ro$VrHUt&Zx(y6_}*5MyYry(N?Fb&GRvcq-C39%j|X}gu@!Kz&+<|K1+8sfDam_P z7Ro6~ePCo4VYsolSimNI&a(+iQhM~ySj`D;p5m}rrgWKzuAZYL`@9Usd(H`lan{0K z8#HGigWQ!7q#7<*IU?_lgwQl;d{m@IK8&>8%~Nca)njcuYJi zAyj55^JTefqlERpImLl_hu;}a@RyI8=+isl{@vFOf@js7wGYob%)YiRwfZ1P8t^H?{{Lg%}c=9{r}5gyA9@^1lYZQ7Y4aq2 z`I@Q6f!pV-LLBc#Y<|#qo_VW}v&45%?nKpJ^VjWnZvN|Ng^v z+2WT$Hd)D^Iu8Bf>RlL`qj{FGn!i{kw_!=u1mnQdQq8?LW&1MUd8zTb*%i0N-J7ey z-H|MLhk@bC@hp~P3HI$4BF|3AuCe0N%)New$@M|DJmH(-$vv_EsiSk~w8u=Q=d5IsmwI)J)K@y*J-O`m z`xZf^CQD}7mC1J=Z1gGq^yC7|?8^#o&#@N-kcNc=MFU}w-zxAxV>8tveV)QyL?pl+57#v z-zHTYTt4AmnB{TF1#JGUIg>bSYBPlsd^Yu566OBX`e^FX?G`b;hh>sQ7?hfu=T()g zxG`OwdEuW|A*oLmNd5}(k=Urxw|^>w71Pbr&3N^jL^2F@WUROQ$ zyYfr5cK%+#+@N`?nSEKNf>d9aoSUEB$7LHC*1h=Le6^S7km>2?>?;-=kS%X8oX5YE z_b#IZ-|FpWc-tP|n(BBjGTf#_RJyY3fliI^m9mwW^NX*fP2iOAWERu>Z1}U&RB5Bd z@kg$v8@DrWIQVSNoMhf}mfsh!lsdNE{MnT`v7de6Urnz?%VUJ9=RBITBc`B$-HRcm zE=lj1<;j;`2R4g4U-|N7xd0QJ0qAayYoAU-wlDAa_Ft-G~`+bLxU*y3-k2}`E zK?TywFVD~N^q6Sa^MvO@gXfH?8q0f%8!ydTvm@}{6yC>~GM7_&JHninZhm#)M@q2an4<7rFUefSZrsa>21P`&E|KO<^<= zkk=_-c%rMa`gw`%23MC!Y^%PuRzPp z>2TvYi=`PI5*F;X#UacSG!&=X$n<4$O__1>{=G>ytCKSi$YwGbJW2UHFH~BlWoo_3igw$9#_*tCKn&rvy(^Eozt$VA*0d`pp z#ua8y4f`q?N|v8kvpDViLX(Zp&z*?Bv@~{UUEw^#W(OrE2ZqMmvs7l*1@Nmc^+@!2 zC+l(CRP505iRZujGOKiccjLQceB;})HCp8o2hx~XgzwFl(3!u-asGNQx1<@&GN0c& z2qslDOg(ntFl+Ipr9CSdmE#LxDz1zg<$t|$t`94+#+XKNpg>Uc8n#4Rc z^?l>HBF&hU1&rtAw%iOZdLUEX#Zc+md%)s9!@gZ1zAAY~`R$q}7A%%FK5L$0c=}nZ z!aNJh1?+66)AJoK^%$yj8oskQs*_SAy{z!-ihH3#63!31J}|s>;5s<@+2@E~&z6*@ zcW5XpB#5mjXIkiK!7h1}D^f*sPLmPi0#2^x=07hj9D539WqURWHdxxee0M@5q413c zV{G8JfA0%q9{gvp>YX@s`{NHx)6|S)njB+#{tSJ@SeA7bo05;$$RDy(Pg9G>{y*I7)^jLFTN z{nA{quR)u5{xfX-S?nMrZmJ&;w0M*-bUmZzbu-5W(%bH%X{Sm&;)S$+i5ldbzIh1)g14VS*7;5!9pg0rCoi(&1G*n-25z_1V;-BtUA!c z6SOh+R5|aCmt72z#yu`OPd=Y_Z_DkD=;?`DzP%0p*~L&~VQU?%#um{v`S|)OhCIKE zJqdipfdbqzMd9m3wHdkugnPf6<(nTHn3Su)RJ=*mcznP6b~{Mu}(6)KNq{xi%8iqSnjcfN_pai&Qc^9yIrne$2H z+fk+{F*f5lk2n6w3Ro&I_raVw)ge0VGEEleZC@@t-7K9_=;5C*$%Tda{=1K7&5S?E zK51p2Gtoz9_YRwR4d0fQf7-a!$m5vdoQu^=V$mAS)1AusT1t*DbLdb^DUk$uk}k){_b_S`NFKOh^2haavVSXGWNEa z99hcZWn@(y{3PwuRfY$AQ%+31tYNS0A9C-JP2YS2<*mF8H)dC`nMxjKoA+_`pH2Ke zGJ!H`;ykk3 zoq<>6Ui&-kJnmEaXx0I@onex;;yb=CSlyM>+iAE{y4KZj>2Za0b{769(Wjkdo!;pi zU;2COIrw|)u}YNy!>FKDI|6&YuQLBM{nYlm#|*<`S<=%UPJ6;rvPyj7rnGS7GRs>P z3;5^P=kS~Ev1c)RH^V5&J>{GTUrSY3{hN?Y$CsZiEJ)J$?v+$AJ%8G6{=l!Rzg49y2_?R{xFj@>_N@OUrfqH`yHD7N)Sc?7%y%DCQTp-R|benE$x6 zc}Lyn?E(h;@nO8J?#fTYM4WdXr_+;i3H6IVY2+rR>XblW)g3ZEbf4?>i&wn0ny2 z^S#Dp4l%5E=k#YK?cvqny3;t%Rx?7wT3n_?^3j}mkq?rU=cF~R4M-I2Jo$Wu+RS|_ zNp2GV8H5@q{|Y%8Y`v(b$nw$R-$spd7|z~n?6x*Zusht7F7f0FuTbb|q+3(Hf$tmy)pXc~a>-ZFfpM}S5SH>xdpPj$= z_N4}`eS+KGJt_OLoHKN``a;|NUSWOe2@!HTU*DTIt$V|UhqL#uWpE4ZUT4^Rh4I8P zuSspERy^DxxpH5;fn3pIiMP%k!n}HX9>;9!mok{2PP(tnIQh~Np&V&WiStp8CNjot z=iWW;x$F@p&72~9dn*H5+OexDb9x#tTqzHlVxbjMxZ`U7=E^M2y1l=z`0Y1)raUKr zwTSQj-Ff@AsxJ1F@sa&`{se!bzoI~z0sA&BGf%TWyDOQQbECqfHVIBX!|HLa;^dMh z1{GDeA_F#!jOeU4IRbay$?kqM|9Qu$<;9o#wnT0eIQ#VGgo_83Z05P#6ELIy-Sy|T z8mW~LYgRFw=kCk$zw0zRBK?BkwHdq`8&|k8Fc`2ebz)xgJbU8K3c0CTMvqyGY#Cl< zdO2<4l%CE!hflMFN%PONW6~<63|DwAwgnvd(?W?llAB#9hBj?XJ9-P~2d2{PWUDs<)UG)Mc2euk4G^Dm&tM`@3`bmjxU%<~e`4 z+j!I|_mY@C--DQ^vu(KMd8+mDB|qt5oHtc=#jMBn+GdyUlr0Do@rtwUJECW4D)ZX7 z_reBd+laKO-&s!hO!6!HX0mkYrvf(iAnQv}3Kcf3Ak?D2b9z#+Tk>>|@% zL>|!Iex)|+(vrYMYn*$E*pq!cMI_aFG(yk$8PsZ3L^<-^BW~ZEkRpTg zGsGoc7&|(78}x2FC>KjYnT<;F|1d4iXDO`OEX%iz=E z#&O*7LP+4UpIpi6E1qxFndB{Jv{UlA$;u*s2g?UCB?~yxiziEKT347J`{Olt;pJr! zl7~eVyS^sg+wFb2Sg1X~c>b&%_dBMYR-3JQ+Rek&UQxDo1@p823~cdH`h7fJoAgZC z9nAhSh*j8pTferX^Om;7REbH6&XbQ-yp5Opk!Am5=b`6kxc7b7KY4Ob`p@gv_6ZrC z&**u_^_a`^h3yJvpZ>W83;OFA`|qjr9VTP@!CCwdF3y`4QpRHln{m+~Bw z2A4Od9Az!u`)n4xZO6jSuFkZqw7mEgd$40?tkcHhmu6i^axdF7_oUpNdGo$Vau#qL zv*HTbsGrZrmnQLmhb%Vsqd9|zbRnt!< z_sm4(mLCcb>rn< z!OSjo=`{it2hK8hXA2u9>f7+{kT`#BVW!PW3B&UnZC@oSn^-G9Wqf5VqGdmX%W zmM&t^yTja9=x{pQrpPVK{0@K2=N}>brpNwvE#c{zrSqWguKT+kZ;XRJr3x-!5pF8J z+{NG-Wg0*IqvT7Un<7s)h^pv201{@+f-4X6v|8EK^zibdqgBmdFH_ zpNkXBz8v?@%Bgg-SG)6dfzwHWOrA6Q4Ua|JW+pM2-`V*6S;uz+6`pEAPoAT}Ms6X^ zJ^vY^96ajIy;G@nO|kqLwOBsA_nXt+%}rGyjf`4H<{4l3=ri4~g|O841%((rb|N3z2kg2i@nyX=R2oiB+~@` zldYD2vb@W+o}ZokMCM7~loyj2d^VjZaxZ%y=yf#ZM)Ol`hm(1!JHq)wB~l79A{M!) zO=8-;Q=#0HQ*U`mXOH}pUtKwCKHJZICU`+>>SI%z1D%sxTo20?9`g;K*}Tr|-Gg*n z{;eurPfr=z8gD6EamMKA+_fj|^{TlhJ6`;`L9w#%`qT41RY7rQRyDavdj!wjs}-Rz z%iHGeh9WkJiAP;am|X-)zOXeYZr|;k)p}CrFQ>$#$>$^41Pj>ef`cL>*KEwSKV&GW zQuscwc3z1N-^I2=0ykL#n7AXjcONU;tbc~_m}aleNr}d}zmn@Jk1zE}(fKXGd!Xz= zP+aS$Df%l;-kuY{Jn553!9=6K_ZV$1em2*!d~s7Yt3|-*&de&Ko(JWUkG8D6f0o(u z7hAAe1=i=oF#_h zElalS-Xk<$pLYk(=Q~mtb6nbg7#|UgIjcKI=ZH$XW!9VACEZK7^N^Qhsq%NC%T*Y#WU-IQq{Q&jWC1H%BWyvd(e}=4A))y4ukT~!* zbk@`I$3@R=jl*=)Cu!W2(l?lR*j&|I(}*tllLN#R4%8lAr$DD$_9I!s!FbDuPFKrVAD z9t{`Yw5?q4@eO7lZoyq^QiT;JPbv=XoG7eQS9eo3OU0v$GbX{DS$VCQcXnE6k5b#Y zko8$hSROr9pPFdId-E9Q@hs1U`Id`Ir45@54F5B{UiIy~La_AQGke6f&)I4{$^X41Dl_pp1Pd!O9lBQS-IWtuyFEv%m5LxJVhxNJ1 zkL8~?2<~{jwQua({?rrxotoja8 z(*k@94z^D_tnmFmgH-kMsXIFlJeGXx6Zx#f&F8UAlX0JQ$RRhuw zZ2EKce+Jfkq58wlQGSAty?vE)m*hEeM5MI-+uzDi8~C4r<NzYGsz0Btj(Zw= zQTWruCV$BV`ia{9c=&4N) zi$8rizm$QaXTe65$CvjidziKP2=^2^?yA_t{ZQjcWebr7BE@F!_ZWm96E8Eq~XDz4eFxBZ>`G~Doj4~(Sd8)>+KfO8w#5}pH91FF0`0=a?qO2 z9{j$IDf!u>C7<_neB1R~=G$_eLdkMtfg=e$g+2m%HVe6* zVwZSs!r)z!*k6-#zg*(L%hy3iE^&09Vvso1^KF^!t`i0a<{4D3Wa7A>)VN(Ds(gol zx5AzE6V~>*SzVfXf@KB!&ZV<-4_n?o&VFg}R?jfg=r-1kJ&j$p4pS#SN$vT-$>Wi? zW3`|GgG@^L_2xkL-C2`D_e#rVIcjkIXV4a6cr2xL&^j#oL=9PD(DGo0n_yW@_#-=dB)J&R8>e-vS~;rx_; zvqwhb!J~ycf|cI6u(Up?zH%%q^wT+hQO|YLMF0L1=RIe6e5p0(>d7k%7L@iFGZ>$> zPZ8QbZ(?imb&<0dw>Y^bIm#Mdnx8MM$KYT!`QXCUij~|-CpNvg;WYJ}=lj41`5HG~ z_DxOaO1|SSa^j)R?F&5#b0%NwHe8ydbc4}fv5MbME5a`2@SMI=)wPL^chYIh$D<>moHXq%wLPERm-xkg{ zc4o=uGa~EWJ1k!7wcgyRh~2C0!_D2dI4qt#`6#pY;`t`)*e)Jgzf|S+ zb;&%2$6eLYi$rhCP`B=1YT=X`^In;GFN3SjCnE+CA**kXmTsHy_T@pFCq-J4Ny<<8 zDqp@0Iw-xTB4^^93A_xd?^3m&?6Z`#JnGe6lIYH!SNt}B;nm|OI{fus(}J9)g)?rv zQ^3lg$LCP^c24Osf9_rLCoomj+@K>Gepg{ z=!`y>XYt;FsWKrcKaS1%a$>StedVz?JY~xpCTUHw>goBmP-Ra!-SyL&h=poc_;D?hBMA<~}rHxTsfr zr(|)pm_!naz-FJmG11r{aZ1 z%><@p5g*;B=yDb@hRNE?ZCNrccL9G+&<2h*X8JQ5YWcHDHgqN>z3-XV+#KYZKjT9P zk6?r5BqO_o)RVW*`Zlx%EEWr%^B`oI`7wdMIVqPkQ&VrXZmKF-&B-yP;q|9Bnes(v zI7IeDmgP^+XO`9UHhHn*<%_J$Z%Zx!3YQ~v4HGR6}J9(RT7 zF=*Z0`D~K^q~PiQ8D0lp*fOX1N0-nJE@>{AnjOaV@>#oN! z&6vrbo;;D`^_1`wKI@b4vC$($&x!y1RjpJY`Pv@z^-4#Q)1Q6c?FqM<*&C@);VexS%oi1Euy-0A!}5Gq`Lr`jHudnwePKAkwR$cgL|Kx*U@Q>T3To0-@>r7gZFI#l>zMJJJlWN+7rmFXke*$x>Kh?^qGQ36FK_Ip zy607hzgxzpFY55?? z_q)0Ktr;q}8%`gz&Fq{e`eaJ(gL%!R%1M?YKPw+^_e!62%3wJI-^xh8`lQ&^(=7gIGAlUv7g?^DUcFg+;j!w=O9G`*qZuYPSO+kiZ}cQIA^POX3R@~s0OW2d}=yjMu?jT!yAcNpBC2DkTyY=~d5 zWKu!diVns*&-XI8td~h}y)bX4YzE_$N&DM;Z71E!kx6MjzEvUORL$~F3)tT0ovSKY z5?3{WPgCX46L$Hz+UirxZDt&JK8vBx<+Fu_#JkK3&vX~E`_22(RenrH=2xL#yJ}<3 zUqc6eO9sv3@m|?eZ!ub&_pfr+n#XSO+NUxle@gmt$+r%Y^#Z0ZYm6V*ru}D7Tx6AU zYRP|w8cmCD>yMtlk$vRX^dtJWgFQdW{9YD*{ob=j9Gh-y9EKa}TnF3!HcwQgp)RORH(JkKP5?cI~u^Z)H- zsJohF&>g*h^NNIp!VEp7Osm)Ute?ZPja?>mZs?r&GfO=+ez1J*39UV_X#4t{07mVN zFDHL7aS}>@zCP#M5(m3?;`4*OMY3Y1N^dA&=9}-u5E-R$<*B($!-C+R)DG=qmXGEL zY`5iLnz%`#=(y~Z0L44(Jbxa1d3$MExZcyvJ>QN?EYXv!3qJ8m^MOWy<&zJ-j2ord zV$xcq{oMGfg^yY}Z}t54=aumOGhB-$UuZC$GA=rjY}YpH?bC_R)XHUQHD7V~ynQsQ zAfC_o>)Wne?aqz6ojx7;bG#w5XI;wOIn6)&|82E%%iP)1U}SOrr5DpA@$|r>p=&&6 zK5|dJv|dDZsqT$;f#;c*)+n#JAN^zYqu8TU%B8oxdc{{{Q2xz!^}F|Chm~GzzY+TA zoR83rxA6?ls+Vd)x=(MuBOURsl6Uu4(Iuh>et$mnP2gt6H?wP(H*4KeV|;tubVJu( z&ttZ}!53rayKI=~Z6LN{$)?BZ%zyrg=59aXwTZ#_7=N5r6r;1Ia)yK~n{l9?OKXTs zRq&pjB3j44SD9rV6qT-5d24e?N|5QqOgEMKiXgM3pXDi6W(Qd`I{xIUTB0koy{Pak zYpm$w8NyrUeEu19SXeX3Q(>O5pV-TZ6VE3HxgTeE^6k;&8_84cau2U~-F&UnX-*&e zhULeUxpyyImKeb%Gp8yfg5&Yc^QSmvJC>WMrT#21JfXhUKH;gu+k;=1%4;5$vz~ab zVJGOOL)H&J*yVfbxL)4h!q=H{DXt>#Y2yC)%_+Y5%B%%9o`{}vE_w3nYWxp{{I~4+ zYbxYEKRCCxqEGj|y4WS*&xabAxS6VCCeF|Lo&9a<5C3IXr-KcV*yRPp0 z!qYRR8Zam5+Mm`c>_2>Ol5EoTnC;uIuUY%ewOnXZowLcy$epEc3>ZYV2#3owI*Bl= ze4g`V2^S}KPybpo%WXVU&+0vJD3v(zt}3wP&~>>p3|xjUXJtKLI_UO3%jVF8ZO;zg zF)+I-8y|PkB(&pI)ZMvTCKrkn-&rMYYr*UKPFsAwqUd%3hnKUGEEv?JnOE9snM|+I zx>uqTKlRg7cIE3`Art1TPWXKAtT?yf?HMOO_1T`akqn;L^Q-D|@&V}?%>D@xP5cji zbdI$jxD~!$R!c2Oe!0Xk!?Rv%IJ8bSUyZiSym{iZf_%FdYto*goD;Ucz8_qT=C1v)OD^4PPBtc0DmwDg>upOZB4M!LlFg>qBY>|}WN_QD00 z9Sl4c%Iv1XcFvl1N4|=({{0h`Hobi1$?4J2;nS1;Ge~mJ2|q8tQT^>|`M1)K-i!V) zk8V@hb@{8gw}*1UGJ_>6+`gWa&0v0U@Kobv=B--KGafWm2g($+8J^-YuvuT=o;Bl$ zC-3$-pF}P&b=a3l7d`kLtQo0xtT-?)o(&E6K zs!NBLyu9{3x0-J*)0wx^=eU^fzw&jZOwLaxbA`_@9XNW57WO~URH+esI&rs6+LYrn z4Ln~qhy>rd@%LR}Ut5FnVc~X}#!r(n8s6%7K9)VJli{6LP+<3tmq|fl0v~@C%QuPN zsSLY>jDwbR9WGK6|GnkB&dQ(cwwwJPMl(9RbQG7}(X%3NNzIlvi_en`y&}CnHvYKc z<80?v`*Q)OsQ8=}FApqcbeDV*oSxLP$oTez3^&!CGJRHG7qA+=mC*iq*?I26Hj5V- z)2H4NkzZ>jTD!pTp!~Fq8=U2TmKx5hT*49kjQd!Xu*ZspXBrFNX+Cr1-jc%P?#0k^ zOkAb$dQaIhe%%>n#oPO~s@&co?WQIC>4bsN44KCZ7bo!U?!Wis@5Q%4$3z{%n3wS? zgq*PU_j2mpuVq#Gs6l0-TX~(Rf9=3Oz0PQc`lW?)QX84)Et=Q=IkB4Wi$IF> z=aVm38Qj?%J~b73Ob|GF@-N^&2MV(9ZXSSG&k<>Wy3XAI`a zN=rT+PDo$wP#rvpVRfs@oP@_XkV)pDl)lfpsv`O}toIF~-|`FfOrTV%HTti!fH zj%vG{{VbCX;TDtXt|$1Z^Ed&qvXck>W^pL zYz}!Q-1z!+iRy((wpCm~@9JVEzR23<;LfZ*Ee7^+4AL45B?dIlWJaHxNNg&dD-QD=b+TcBCEfdX_Hg}jyEix+{KXMHHYuWN55GN z$Ddf(lr0U|lkkL3Gc_fS^T3z?46iRp3+k-u-P-2)bt!-IB>wFt9_`XojqfDQVxJZ0 zCC49pt3mLIy++_X2b+IeQv)lK>h@esYE-@5Gw0WpdFfNiiYg8&FJ*{~-FZvAKPDtt zBloVG<^{W>_J-D-%T9itVA!+GQzn2#n#IGM>E6%fD<@VRTRd;xm1hmB#O_YwkIK=A z$kSo7PG4)nyl1QBsj>&pmpZL5e|Pd%+LF_JT>nCPULQ+-WhLx-pwKNqkm0%HuONdw zn@w)~wl8}A%sBq6@>kGmCeN^AR*xnKS-00N{P%u)O-RH!!JQI^t1m3sEq8dU^=U-| z&*zhUSf(_Jo%^>{OhRdgO@rm}sIZt7lFG7L?wwpr^H(fk2~=S3E4~qOl#NqHs?Q*4 zV*T#zv!={*JR$i)Yg;&zMfbZ~j4wQwr%ryR{Q9UD)9M7i!+VX~PTc%)aRYDU)X>?I z%B#A3K2Q5&p!v{gj_C7+OA_ULA`d5Z-!PNi-Wt1@r6_Y<@;L*mauNNRQfu75E(w$F z+Hu0B*f~Kjn$tuo|G)$xO3uYB**bO&4Xv0RrhUauT*AUANbPK z?ozv@#T!<}jT#dp3wOVE=n_lTo#X8>~aJnC#4Y{%SV7Ea0nn zQe^0{ZfTV6^1c~Mre~YqJJNh^eDg=K|&--|9-p6%}3}2r$t=+&<#9>o7iy`mY`+2n* zer$&-U;Ab@C~L8~J7pf{ZJH^8OpmW*nkYK6Ya_$Aqh1E542(FRR9(tFpfLH837;2PJPWEycgM_T60aF9R`9e>@u$s5W zmoH^-R`wRoR}j6!zWnp@Q>TKLGn6ks%|2&=fy6savFjPP{5)RHV#x6qc35M$+tz)l zg%8K4;|y24Zq%!ZK9_m$ZIN}TpMTtP5k|GIZi1~ptEFO&oG5GB^Tj4mrZV^T$Hrq? z+HLo2cCuT(K5xRPH8n=B!uF{0i6u4Xn4U|h&G6Q{(Bq%KRM~yU!}#VKml#va^QW2K z@p$N79JpfQhfB*OzOt08ykMk$_TX`rkQA|m9S2P!85S$AN}IQY^%UQos;=Jd)uJ)~ z8CpHo2>N;2BqTK`PfL=XlhC){E1O+U#>{T2g4S^!&IfbSmzo@s$?2(Mn)Ya;Oon&O z^Erh_bv~J7PV)FuH|3=OPub(ORtCKi`BR!N@3m!|xaPXxrVR%rp9o%?=5oI&c9VZ# z(4K?`QzgDE+xCW0D&a}-OYbnl{YGWs-}`65y!iT44N9ln)u&55zQU(vKJo4$t?kThvakH-x^X;tHp%qhVGT>0 ztqg8mZZ^kd4KMF?msD10J8b5cb=k>`NBH{ktYod6PcsYL*D{z%Jc^&_XMEq}?W&#v ztIIXpgQp(%>6y3XlbDa#3rm&&Z6oz$@iS}KB2wgv?50$1+^(~rao&{mT>Gx)bya;= zo19|gcCbSCrNf#N7nLU)8szSjdE6Yvap3n7o&sZ^9*zJvj>nCY&ssh`#Iw!cC#_LQ zWNw79#GS&vie(#fcl)z%s}5NudcEvS;mLEAE7q}9#Mu@*yj}3s_ta{wQdw608Hopy z?ma0LmG*ox^;N}jQN{Wxi_+J}XK@Kda-UjKqJ7Ric-G3*uH9)n)TP}d{R?Wfo;{1v zk6OOw?t<-~o(4G0`@;BH{cZ4yvqh&aJ~;m5twz=Jf@A#8W5wTOGwHXzd$O}-v2Wov zjqgPquV+22&r?WQXoGk&x2Lm#qg)U09ZfCvQ`R&`X(-#D+<`iF>FMB3&oB8R92ef^6 zM5@fJ*~Yban#EtuNrs!nPo14-7k5>qXzrfvmuBnCo}+xc&*Iij`MF$Tj-METtxgD9)5XWW{v(%L>I`8) z?!GMy*P0AxGBRwxXR^;}g?zusyrNaB`V0(=GEXZDh(123{O)(vKNG1O=Vw-@0t5c~ zirve6l)!lM*u`7(w@=<%!1zGeojv==f##F99hhBgE}Yu=c;%Os5**hHWZ7+kd3q)8 zU+a!cnbAH=NqBc!gRDx!@!g3Qk`J?tjyZ_*Nq=5`*Q3eduDFCnRDVM1-OViN3;_%q z+}3zFPrf|w$_L3sCmwFRws70-&*gvGwPw27q%Fy}Sy7YBeX1{m$*iZ1dE&fB6LzJz z&zX}hH&tu5fr{pXa*>IGCXSz~N^AmHf;^A?XV}H?D`|08z{_XH4mOv|@_Ls@G)z2X zRdoDkaB|O^lO4Dff)z>Gbqj3 zbNgASOi$sh2IWx2PyJJEs)J{R-k)&zePTgX{nr;xyPX=W3Y)u_RJT+!yuK`|@4~3{ zWKG}A+g|AbW{>CH3HD?yD?etr!pZu9UV;5?&l~KOtBrH=?rQ4HbDMavxbd8Zw~p71 zgf)A8BOFDXRSRm%E(wK+EZV@mq4dcW;htT`wFPdT_-?Z3sqBZ1+fTn*lKy!)?~zA7 zV#n1lHEh}`ZrJnA()MHE@q#nv8xGw4&v0#JaCK@*|2~KF5?@!O8|gF(nI8CkBhPWc z)Ptp+a}v!v3^8>wwhT~((x zY%BZtx~s)Puh}B0;_>_HkWGwR7R&tl=E;trDj-pY2@VFC#|PDI`+tOAiR0hFxyV_` z-1TY4`@Za_-fOKY>r{{E%0=9G)!KGV!fvPBobapv#O6u&nki;yDa(1ibB+1jm%$vF znwbb%x262U|E1UB(<;09stRvST^y-=gN=W!^ERK36Nes8p0|Zjch99gI}<-WNNju^ z)?Jygu<`Y$D*_vQ6do`b9?QJsC1$W@_r@NURHQCDkPFkfT6f2#N1nJTGE4u4nh2043UhVYUbW4 zGEXT{5Zh>YCDdT)4i%p2E1MWgb_e(9-(#P1l{@KJjt3*p&VcHw z=5VFIHyGQ$ESNiC;vwRhK@m?%a z&YK7Irq?$b;U^~nDm%+Z4 z^8^Igj%(jYo7&xXIC+=0utw|V+gC#LnxCjS`Nu9P{hOJhuxqsrg+Y*d~-0bxZ%{U?DqSNE{r-9$!E1F?*nq}xkbD82V z5-W3`2b@~t_Q>N{=2;2nw!;j29iPq2yQq@tW-fg4_@^%mSgyQ#;$5T=xI_QrmsQjD z?{U<>c}h%D%iT1~W8aO}()uU%w6Ra94i*eOEt+8QGkRSH<0XkRstoGv&z@U+Td{DL zdt)HiRF-c~q-HE%_;E@o&s)+c}n7K1hBYeV=tvc0Zr% z)Z;UD-s1Cf-@i0#oA8a>*B^>a=!^=xW%lm)hfiA9dTaAd>J1LOyx#tO<=5R}yDrOd zOfma-q37|3b?%47-!G5#UwFEClT!fO$$(m0jjswX-t|npv&3-13RRiD<+rv@ow-Qj zo%I*d?wqv5>BVXsiqQ=HC&K=2`N%OXU{1OO`$~}#Mx6ycD})jz-}$mK{!|#pOq<8r zum5T;&n(nuW@a{7snu$@#Fj52dFA2-LK`9u=oG%l_$(Rx?1fcm`sZb?hm97-PnTc` zoh_*}(Ir^x!KdZ6nIFF2Kgi6S@8z*}?ot)& zBF^325w*#?+n2$(H%8AwCPA*AD<%KgPQRt@)(!_&CZ9MzgTrpdTR+Zc{JP1v8~a$r zb_gC-O!C)zX+|ap(B7^B;vOS6)<#D6d&%cwl+04zqIQ zgoiQnDow5nt3=Q2-d6b1@1W)uJO33+OLi$Jh8Q*;>jPmb<+mvqA7S7H3pv!<&Sl*GvXDSR0}`#-~n@VCqXn}7UgNL_pT%(>pB zw|g7wikpsXm$kYO6=t{nZ*!`-{U-jF2(cdb+^37Iay1q=uvPUL&-#|}ATu<~Rd@T; zvlY|-2w!^>|L^2KsV&)yt#7S%6*+qF-hwCd>~=iAwD&H9ci|^B3){jjHm7MHj`PJS zpDvU6TkPLws#kbHe#(QA<>xn_dbhM)BIdI0v)(!H6U@GRJ*%jinD#{E{??91Gj+6H zOcHXt#v)L4dD*eAX|kI*L~hJg?K#PL@SJGWOr2>Gp^lM!v3^DFS&@vIpXTsA=m|RF z_3!P*6DRDp__8H`z7@puoZ0?dqku}~Wa|@8(q9JeyVf%IK|{^ ze9$Cn$;uf|CRe7NN-1JrR(*lFX}*f6${dED5(k&LvrIg&;?ncPSNwr5!vrH6dG?e` zzV;P+J1Me}abNsW28BMepBwwVB4+YEk^EWlvP)t`-15F!Cv<&=giyb(Yda4(m zv|+FgzNVHI^f<%*XyD=er_UuAXRA$f(c#IRBiP`0ltK4M*~Pb#=lsuhd7KeYpOo^1 z&*-LFyI@Ob;DzMAOu4(V4h4k=UpsJ$bno3?WbyvmlIT4vI_#CVDlHROcU55?hlwjs z&f(LkmhyU<3IYjtQa3l)y|Y+m({aYBO(J*kovN#yN(as?o_M)$s?Y(YBKM%;IbRm1 zu;j|DDnHipF7cqgOtM_QTIZG1q#ZUBUk4p*E75FY-(Z{BF!8jEPVxB* z!S_PaR6{24D=#%=TCy~x@Vew#l}jfszU$9dpX4v^r@^GX?8bo=Cv0R2gQ8EISXj>U z`1jpas!2-0dTbX@sxP$+m0tAubr(bNYJ)qR2W&oj%N%D{Ncek4YNDiaN8X>00kK+c zua!19L{F$VmvMvBNoSS$Uw4zuo~o<1)Omb;@cBxxa+vVHx1V-=c^Nd-)qUbY{bP4h z9?iPK=C1VkEX%rkGey2mU7kOsp(?f2S=!^E#M|%Zy|Pa%ZONU=J9Tk^*gKcrW)}6Q z$HHfYsurqwvmav+P1D%3qfGHtb9Jz4>xESZdl%Fkn!vw(%JF}jlxht!KRt>RY%+Q* zEB*6|(HWO$X3>MM`=)futXo{O#^brlKa&GB(;3_*{ER&K`-+IuiNp4q=Pne^Uuzl` z8DOj!xcga5>7zLdx2G`nF3C07#^gF%%Q5);soJCNrc=zBOD2Atzf1Gg#3v8ya+)$< zz1|`Fr0l@U{|whwB{*HsSI=hVLIU#KbCTwy=q!wRz&GXktsg;!jaLHm72lYdI2@T^7sv5$%a0>L#ge>z#zID=eTjO(@owURnkhPWrzA5#SjI3NU(3M2+M-bu!}H|xuDSWU zCF|HMpD#67a&gsWgZ~T}8(#WPoWr}I$++hNOSs;$$68e~6Et1^sO&#}X|~z*BR&4_&c}Sd{4;3sj-2@YJrCrzJdIs(`}0>> z|E&y$pP~&X@L7m-YL*Z_#vU`fpf1B;UjxL&L|ea`)R ztED(_SURXSE`v5TyDyTi;wq3m^6&TQF}Dox=cJT8F} z0Uk1?=S3=i&rmCzc+{jlK+J?a-}m@dUP4pJ#vpaBg-D=Z;$FxNIYrNBRD63X~xuzliX!lRT>pLL+4A{`itDxSiEXE*K&3B z^&;OgZuWhZ-JvvVgTTh%Pw5Jub}Uz!zbDS(9Gk0#R>UsDgX~@YruDlg`A2O~-MKSi ziGsY($Ka-YZZgkp9o~nAiR-CY2N}Vc^R*@HltD7#Qhb`%*$nFO;74G?60}vS$O5`%Xy4X zuCztml6}7644>(RO&)#U?>Jet<`$OLO+G^=J8{Sxd^vbI*<68N6qpYv`6Xrih z!akk9XWMYrWSbwy%eUTw;kRPuF+7)8*4Fpv!KA(&5(;xP7sjmUZ?d={rg`$6TcMxk zC(*}}$Njdrb=5SGfwF<+0xL^k80V$Fu1b4uE5) ze##VBczyX&)5&@v3vc&H%;U8)WieK2oIEQb`O`Meu$Qx1ckm`$;Bm8HZe?1ODVf5> zELTvm+Su5}ajGTrf}`#tEvr`ayvsYbx{)(!hF)&0z&2Q;vk~%K1ihA5Ii*xA&S=Y1VXpZbQO^o$IO(|7Q@|!@fRi^N(Vm zkEUyO%~94*PziYa;VeUbcdOPO#>ow~nX!_6?3TxwmugH9;orQzCM2#rNThiVPZvW) zG9$B$obkM`8l}fV>#f%GsofEEb9^#CYHB&hsq_g}T?{GbTLd3l+B~>^EdE1OeEa0r z{}~v*)C;H>iCoS*d#a_TCvoEDFJW1~4gOw=mwX??{#NzFrQ46y53Y4T^u4MiTFIBY6GJ?~4iQ5yvcJF0mfj8OnV9-kg6~y{j9F|Abs}b3E}RaEI`g z9^uU6rg6E4+54aRJ9iv-{Q9-mDUJupT?t0!HGdBG%}|@Kb3G}o7ie7JnwF=k-dqS-jTNa6T#aT#x9X#ztkYad(kjNJk4rDP*44?FG?%vEbEh~OjXdhhS&S5qgG?161*^}Py zbAi<{dz0y>U;I%eNg0c!Z?p6jWR*`W`&qcoz*=AArf8&N;O(6YbQem@Qm|>V`(b17 z-X)Or^uj~WC$Nh=%-Y@joo&{WZ-xDJkDA{23w>~Sf7wJOLV?q&N~-7VF5AP~m%57{ z_VFn^bhb%kd(JF2um23n#m!%rd``N<__mL6`L?Mm&PeWQ67@WJ;_aVT>Kmus6st@~ zmsBuX=V4R&WpRS49@jJ&3ncpNkw-{<=;Ei=Lcw?vwzTZPi)W5>w7#O85&Non8ec4 zvm~Q;4)g01j~eW~*NH~Gat(>yy-U|E#5hG)>D~F6@;0CNp9Zns5SN?6C~;#Gq78qFeP$WFSgulh zOhd6xp!Mf>{^d(8Rl*X z%9z3?k3}9y^C!(@`DCm4mW#nqLWZxULMfWT+>kn3(E28K3&;50j)0yy%zr+`;KD#jDymIfdn;egqxn-qmoiUrhA9F3g z*{?=BX@AC@x^s*Bs>9mOYqTh{^iOBrs=niB+N~eT&G+xk-LOgY+uK{S8a4^IX_grr zTFK6Qd94G7?zV>V$=km!sVm&_I9Dsbj_Cu#tIXGI-%d(!AHUY19Cl}B=*bsuhF+rH zoP9;M7R&#=4KFrlC_d_P`^@a`sU8m6KC0S`%ue=onRzj5J} za@euLiId|Ze<%DqKTrJc%6&Xp_jzpsm%G|bjyAl!WRmS!(NhZzz2_}hT~&5|E$i0e zIo3+I`jC`r>eYq+s;lte&FXg(se~U)!H!Cs5=0Vfyj@ z_F45u=CfoOoE2M`Guc-rxc$}{MtiU5p8LGYCpNydS)X_1MR|j>;qNA1AYPq?^6fU%9_)_h-g){yP=VWSZY`&tOL*OWB!(@QI-}`x%4nkN7*r zx7jn=iPrf4-Cdv6sWSO(fxJNWru$j9nrjv+p3Ggm?@a>V%ma&Fq+kBeu%Z2r$l>Gh zY=1)YAH44tpB}ZWv$kyMd-d7Rd$zHki=MF9ww~*6?nP5w{iC}~r+1Wa&v>?V-*#a~ zC9^swHoIl}1?nFx`_HiH>GwBNAK&M9Tz=gAo7nng9nYqDoIhF8&i$G3+`}gKjqAhy zPPKoq`k&Gd-w#~=j6aSYi~Q=VB+~B^U2^CY!;|N>Z2qUJe)S!_Aipkb+r^nPrJmU| z6#hPV&bl`9bhetD$6{ z{w%;3{WIM0!}EV!oxlBlWPLjl`zK-6E7ihhobxlZte&g?3}yVCEVFUT@3QBa2g70n zvT_PvvG+%$a$Mxf|>avNe&z+j~dGQYKX)o-O3^>1>t(}^^A}aot z-s0uwWxlO#QfvLrf2=`ABX&XaxvEPZlfL#k*!sCgrQ}4g_M{e1JD)Yn%-U;;P2CpZ zB*E?F@0BENnBV$mOmn>HmZ$h+N7IJmDi`+{Nq?KIz)Ywd+`~wD51< zw5+gaVxMcBO{SgFHT(4VADZ9xFOJH3yZoi_k4utq*KWKu=5#1!`68Jn-}rs~4c+Xp zi+^kv-mhqn-P0y*Z5>`YFP))a$@le#ihmPdx+2i#AycW(oJ(-)Y%)82LKD{mElI;_fOL;BV_+l{mGW!Qtobv{`qA z!YA+tzVz7fWZseh=FKvBF%N{_`={&5F{sbKw0iHZ&Eg85ih~sIEGScI5Mi;fu)7nK z@AGjEf0TPddmfwNL6I&FhUc#*JMtH$INf0QeCN`xo;i%~j~b~ZRDFG=`Ld~~_S76zqI?;{wyqJ-?DaEwd~#XMHR)(QARx=j(D)4oj38 zidh`vT)-d@p7p`jSF=X#nry|R#XUbOddv(AXH{Cp)NNs?DqG;;c=5;&S|yUZa_M$C z_oaFdHs&}L-}n`-{IUD-{X_2?uSJ#rQJ-}y`tGam+I(|!_v@=G2yd4>aN^mnZ0{di zy*<`1=vh;IOiuX~f1$&h(-V!nKRvd19e5%lUCa2ks7m0^EY9P8tSS?QcG{lzVhNYa zkPJKL$B}$#zT`=+YB}Ru6Lard-e4B&`K$SHnZ%~P^5Tgv{jM=tFL$GkLeJ+C=hvEVU^-UVokkT)y_$N1SdEWN$=+tioMvnHf$=WzHHIL+hN*Y{nl2{#tDv2m_=y0tC->&#yN`751VsGaXEN(oOxnZ;0Y_));`(CU(_vTZ*qQ~!wlP8ro zyma6V3Hx<9rPG}4$>R;n8{3}u=X_n!ykf!>3)>&h8e}$Yb4yZ|TQ+BNdE&9EIhP9} z*e1W)_f^{d44WhSR_1N3>kYPB7tDBkZ9(dt=Yn5eANA>-!mLsiRGA=DHh;FH-4;c` zX@^$5J;B`k(qndHW2xk^!eE^WS*t5SAD&hvH3&Kxo=`X09oe9HVP27SKx4(hKdYP@ z`)$||Fx$1PpsXRugC81K3{WrLkqja@u)nzIO$6blArplJ|5p{dpB6?=kYJg zTm-f~x@r6Q)+B%3;=Mc77n(36pLyuVpEb$g#B9%#Uv0BYa(nx1_pW@c_La5$by!2h zoS)uTqX2Ug$0EUyVPcC)xIB=}?$C7DwVy?36c2_ns1QfZ8%so(& zcc6zy-YarpUwByJXTGUICpP`P$7q}7bk0F>V`J}@944#E2|uGf9?$BSuaemI$l^ii z@;z-LdVl`%nxuXRF0if3^W|YP+V&~gXHL1uGd2^w8|sqErW(?de_b+anqR(DLD^k- zg}i^1)qTEj#EtGBKUpk2G z+1Pv3QAN)9(n5QEyNL5Umu6lPy(?{~@}R-0(0i{;o~^&515dy?9T~#- z_g`x5;n`I#bBRSo;AGE#hIv~U4IKRbE-nl(s@0tMzR!S}XI@ND?a|w_lqEZaD&IS> zY-g}K-aPqoS7+q0@ZU!YgSMospEkGZ$rYX>MSgtje#aVgDh2mc$K**oTih#VJmUcO zZBy07DOx6r|Gp_*GS5MrV@aI|*JG8M37oGCc#U~COFWooyYfYgUd5jmQ|wQ-hsqw5 zG~tO@Y}HUGRdC++)<6lBJ_Zp6g?f{j_WX&#Pc}V~yK&Z0?w#cmz8%X~uc>e< z+ztR$D5m?shVI7@t+}Wl7Yp`^RFGsr1u5f zHws^I;M0&Nr54X79B&Cr%lUe&-b*?Cmh%RcB189? z&om6}tOfl2G^-js4J=ZamzzqcHm5w8`cM9))9O4+W%dnkJx<)q3n}u?3TISzG^ucG z9_JpNvM!aSg z$7gP_lC%xQZp@mMD04U?x#L5qb>!~=unI-b%E z?R~HOD!wdqev(?WM0iqFb&yz0E(6;?xi5m*9A}&a&tE7Nd7+Xl!E7PYC&52|<$I?u zKOO!vybcJu5ozG`+~OD`(=7LC`|h5r3R%wkZ%xAU#?bYT4luc@Ml^)qzt$Kt|A*r% z+pHzud4)fTu*nEjU-{2qc6arUE73*!%b)$#kb6;Nm&~%AeUhP%aqlBjzkPSO%&d;Y zRxzJA@8udZwe<1tQ*MTi<{6VK5(4DzboE^<)6|!{%F-(NH}eQX7Si9=VIbsua^=w$#Xsj$!pe?oRD~a=MwYA4_1ty z(?2Yqnqc>?LY7yXM|CpyewnV**Csyc_~ z0*s%@-|{(Gxb|o^mvPMwdGj5Tf3&aePqoPTvY**e#{2sxpLIp`=dw@k&!}Eqa!u}& z=brVNen(@z+=;mkIQ>JeX6s zrF`kc8!ke&OHaPa+_?DIDT&k>pBr5prax6+;&{A#tAVRX<~9TW$Frs@)U3ZW+bkee zAm#C_YN4yAF1UxiY2p z9t~!B^5tcqz{?9lg_mXIt0F~baEk60+%35mg$qZH{#0^t`@Iz z#|&;HpOAdkz?ocNvxT9j+(d;_s+IfT+t)$IC6AxEdEP6$$3(hZ^nB?8Go|ToUWG^; z3n^t%lTf#l@&LFnJ;e@iaM^tq||J2%<-thWQiM& zDp?`rXBqsGPCgeo`Azg-a?j_kBFm|6oX3?X2ArH~sos1=?hB*r-gTUM9ukKhE$>YU z3j7yf!6I|%SbdqieV^uzO!iX_2PK|0h%T~=`}9Ml`Nmi$A? zGt^C#J6BoWi(yhwZ_~+nJ5Bj#8@4Ra;*^owvPLzc$w@pjXHxY1s{S{Zo*Vfcp2r}o zd4x0hlbG%%nG~MldovZ1q-7aixoN%>+LFa3!&7ws`C7x7mz>sAl_b9oVYhs|Uijra zk&Dl+lx81kl2~-_(&h&mvM1LGAFAK7yvZis=xFkz(~*IZLB=8rJJlC_`IC8nYwWeI z{|vmP-nwC?lT;e#)qL9RWiC_wb^S@(;A3^_7fNURXLu<8QTOW7HBpVpJm$JmZ_jz9 z6mOSUn9=Ze_vSs-Exi+)IoVG=XyShwcIQu%nIGf(*YWCg2j_3G@7z>lRpA_rF6cp3=nB(Q#!>8e`eEB8F7-^pU7YLAfQztlXgzAJ6FWEU*7 zX)v37A%MlmQ6{&eua$_w=ZS6QRBhL6TI9{E7W7Y zdVYLVuks{~`l<($>RW;zDK>E3`4wOr(8-cHiCyJW#w;@lH-;yLv!vpur{p$RJt?Yu z={`?_$6WjRyeT4GM*Vm6KKx|fueQ-9WU}3Cjn4j4^R?3@OfSY5^Y6L&hBe_wpTV|E zOgs5@$j4`~)vR1Aw);n?>K`E^iT5+aIZqciAK$osRgK8S(+^MR=T43A6i6$L5h^?{ z`svw%WP3q1&zxVe@^ic!7;PrlX21N;&^9SzKHpK+H9cld20I?Vbda9-V8wa)sL7|D zPaOD@W!e{XhU1pSLD{3eJc$8wo)y+A)=5vgXrmT$Iw$JiG zRqzdo2@DJee=jIm#UyrQl2L;J`(5RwMi!nq>r20^X3n3!Kd<63^PI~~Q~Ik?<{g$e z%HTS+dG6s0%~viU=~AP>eRyDi;8ZXUw*BVpQh zmu+lO?RvVcHSwhKpUg#}$E`W0NPYT!zOgPOi3AVqW;uJ*z9s z!muHx`C^|2qs=t#J?7WhR^_EnoilM`)x008C!ctHy4UIJ&l`MOngmYo44B}?sr+RD z*T)lLxjS?E9xqs_x^v>@E6J8w5 zfc;^RVd0_u3`PFIfyb_W=iVh2WZY))qWaPuqk|F#Q`IehwiP<6OjOxDV|Tj6?c-kl zhSQ&_?|kXHXZd0^<9lr!eBaJJedY0Z-W7&6XKCeW2jxqe?@c)VY}(X0J&z~fnws+2 z&WYi#R%rieo;5}i3D380WpI^y$`~V4cJQ@RuCWQX`Wd!}q`4atdN!&1x!bP%oe=u@ zs)NpA%hwJ9I*!V>&Xi3%A$dHiL~z};82+U?n|V(Q2A?myHL;`5QN{nDyutSc9CNnR z7uJ2>YGt0*qtmWZs=U>xdTj&0&W3OQLhhRie%zifX;boT0sF)m=TA>nXXd^V8mcQZ zyG(Az%L}3HvrHxO#CN>)E%SWB=EGxf@O+&8R0h+fU7>emQtJ83mbkP&;w>m^&6&T{ z#$DQP+KE-%MG=Kvdh9osmK~bhCoZd@+B;=U%84!uiF5YnMJ}8Qu6W&(o?qp8<HRgykxs@r1!X_iICE+ollF;$9om(*!^NvzCWweX40G73(w0{X0<(3D>u?P zB2%+d{<#U;k<-TF76)WkUT%1h|Cm`_ltqtaUv|nQ!?RWoV@^#z!sp1aGLP%h-friF zj7NbRJy_nUd^K70idpXaPrJDFH>xk~68O#dq(pMrlI-oq8VZ`scdjg7aqK(`U&G?O z7^daSJ61eTxbRb!f7N3X?~+N6B>2jB4B3}&byqM-DUfDoDSI2zw#CuN+stN@ICn$w z>$mr&hP^x?;1pRs>G0D(S`kc(@={M8vzJPe6l8SOeBFF$rlU^cV!kH}C4RR{ezUt8 z`DCWDbixVd1-6y1{inpl^jIiX@h|_fv_sm1Mdh6qgU;O_Z`}^7wOu|}nyhw*e`bN@ zpUm#Ge}%>0h2J$Ee;jzU=&V+50;8?rwI$nkO*kTaT3Ow)Zc9V44ZrrGyAJYm!#qUO zD~+!dELvNc7_ww}vEcRXPXk!cBpYLzY}=Rm z8nedC5$vC>Y`MbbM@mAEcz*00sR@G5)6So&%=xCWXX_0+mTbfj3v>vQbc>9fgZ`L-&&Fgoz9A~!i zZ*tV$xp(!cEuE&d=8x1CX0MJ;Oy&IM-BP$^U6EUD_Vv`*A1oiN(l-2Yd{|xmX!^$$ z_jHuHy)%<{?Bl2x%F`s*D%KkhE4oY3?&7|E}L_> zq?c)S+3Y+Y@Qy*=@vPMqwmT^aXLj6Jd+cJLuUE2S&%+`P?(53^UeyXpnO-NSyN3Di ze*N{^vSYF*rn%fcuKV(+eWH-jhP1RNhH-XNY`%S}d*#WYx-Yy-ro*_gcfy!_Df`W}Nu8n#E!}*F?5I^}()F8~Preah!T%GhaLNr?X*^ zn~F{pR6O1qQyQMC*UY?*S4(Mga^vJH2_cQFd!FVoX-F_XJMl71a+1f?M+N5cGcL2P za{A;g6Jwq7^xyjpOE|YOo5z$bV7udyJpIf$0|Pee%WMDaoWfxAs^GY+ufnH05>LA= z-@o*~x1m_fLU#8B=F^F0%_n4!ORl(Fy=t>dINO}fj*~boZG_mj3L06@*N}^z=)kul zSmExTlH+HpW_i2JuDJ8#@x=GuT3cT2Zct?R-SXm|ievA+zb_cK3+5+JwR|NZXWZ4D zTc6q9lu6!=HA zcnatxhO$fA9BfP=T&(YzxPdzKRIEWxmavI zr$Z#M%_DEW7sG~aztgl1v)eofl3lZgS@?XR@8|nxZ#;B-zJIB!_6ZePr>W=V_It4w zRj0=8thDOmkY&}Wi}Bwur&hD8N5Jl$*YjCD%BI&oZ)yE=EHih*X`^YyyVdUqUca~a zUd*O-Rgb?cnR!|x#Oa1i&t;t>pH}-RCm0{F-LIA4F<;@JP2b+Ly1R0xYaFO*sQ9z; zprftjqmDmci=JrpBoEV%Ewy^ia6eWR*lfOb|I;0!$l{J1&Uu$Ogd1{zsaI-^a zP~e8tPYZ%7Iilb4{qE+`R9~?C*h(2Kr^e$J&u692V&v|>)*#Efrpb7lldZj1v8amM zVdjF@zHYl_DavGS=Rf&%sq5!E58F=_+$l9tkloDE%FOWVljbDHX9|kqin}(P^?N1~ zkQ(#k+pplDgf6zv?Js@Uj(uh^l(ZMpJQI@JGk>=1@5^aMHt{PTqA^LwpjzvdplH2Yc2?}9sDO`c6K3$@g~@@P@ash)%W?6MkyBGER7%AVxC zo^y4=y{IIG1$y-lTeiOhukTIp*UrnYpjAGWu&VGOFB;c|51 zC+WG%=Vi8r`0*|a}y|$ zczyr1*R6=8O|EhtCu~1xsr7bo+{zKCEU@Z|oaDPZOkSsvj7%{S#J+pE`Kp0pFpC$_2lh3*0zlUog3{HipLVd^o;iMZRFuLkooh z_N6|PMO3*27#>_n{4VxWx^Jck!|jSI#}=8WPD$;2qmezm(*CL$!;^_US7z62;98&O z@MYP#h^d@CnksX?K5CE^IoYbhd%J+W&|7)igI90ZeR7}7Y7Marb2~1{QnuPIQNi%Z zqz0_jK&26fu`|7g?0V zwYq`x@mlvHerbmX>0JyHn$j3M55_%L2v$F}Sz<%Ty#EZB7I~&;biX++p>X-CcaP@l z3&}PYm~Jl%5qf^5`TENs8|QzOf)nR$eR5yaKKp%ZJ;ztJOEungr&S_^>@G1)DzMx8 z`OA98AGII358oH6(dF;jV`=4`s{U)|qX|}aZbclcJThbM^ttpprkrD!eEfO2+rc?c zD_BZJncmcKHJ?za`s^=c7X8#luK3=HGSvy1Im;N1do@m7RI2cCUd57$=NS8+CLNe( z^=MACk&rM$Pk=X5x%!D4%D3iie9QPm<-y0vKH58*r!YD`&i<77Y1s#}5A4a;8pJZo zH7s;5%Uxxh;0XtSiN>ntP7R9 zX{z9A<6zWs-p_rhmCC8d`FWa?ChpjGN5E2P+N}`nxp(@ud=-p;8G4kGfe-JJe2h(Gt`E1SgUpJ#O?`K*nI zmcQdmU+aZ;itgr4S=?k)Ve#6Z_Zh<(tG>(?HyorTAD6khP1ZLQ@Lcq(xm-u5F<{mD zyEc>WHGJ~u=|23{LheiVE)C~o$$wj%o@v$`u>87AJjYS9Pf_&XVMB&4>5AUu-VQD| zH{+u^+b*6t7G!Xw^j+ph{^`@@T4wbgPrs7K^|bQ+!MC0)jg19<#aFs!XY-Vtu$vn9 zFxK&wzugUyZPH1Tj``?mc`*3Av*G*uisR3F69W~-xreV@ncdm{^!0Hs#+=j|hmZfJ zKd@)bs(Silr{Qg*MR^DHo3~4@Ki_{-KK|qUqwjAU@ry>keqETJYBKqbbVfmv{-;%& zOBCvsgkP}#5R%_x|6y$%uk%A*u@k3DSK7}k-@30t`F8Kur}IB}tZ)Aw9;M!4lW)6b zb$)HZrpP-QiYcK7&RaaUT#$bEnDpw*l&#Yq#<1BecXo2uR5(^R@5^a}Q;W||oH409 z?`_zHO3wyPOZlk`^69Seh8=P{mt>r(dEMu(yw&=x_IHLSzk}1#ZaAL1clQMoXM^T( zyQzU|_nZtdVCCmqQgHavdOcN#Dk=9KlXz`2Hx7xH!PSgE!~Zj|2LGL<{3G{c=s(q$ zD%)m0>fSoRXF@}6o=})-n5I@q??^57*|0%>5I%z>E9VogSkj z1&sdhH4i?&w)gtCX@BRJ=-*0zX#1bxu)To8M4t=BFQ;?tsCdS#Jg?#$Z=GF5`6Kot z`9IYEGrTQRZMk!>c;Vd+(?}69^KB2CO)TWAmE|A%@ZS{;voL;K80WDdYT{Jo9;QV* z^PB%Oh}PJCT>fy|rsVQ29H=eaPiakry@vjOv<1vBH@Wd)cLy<`ar`e9(>0?;TE5*2D9;*hk z^>k+S2^s0R2e*B2H{m+jb0RGC_MAELr#dfg+?kSk@JZvWN$z~VJ7pOd$`+qUi~YU1 z^}WN|1y_7uUw`+Di+vh@9lHw86>)x*?0KT@sxuFWo~&s8*7|q;9%(K8?mFFdWJ2-q}}*EFOHQz96$~LeG?20!$2#Cf&0%dpptL zi{!I8yZ7ujNN0aH@m$5fkRSUpe&z`5`F)8mNPh-z>!!@4upGI2Usz+0MlY0o<;o@8 zA9$^A@rKD(J!QvhLcC?>g*|Oo-?i`@`&!k*YqCUSp7$g#t-1fZrtWT>%-`vML<<*Y z^lg_@yz-#p%_A=7V>gajys3KL#a3FsHU91C58dCwE`-(u+TS(}{;a!2a2m&ww~Sq1 zPQH)lsVVr+(Da}te4<{-{?=byFXu(E2zh-p;d^_bdA`9m4vEJT<25t)iTqu#Ki9t3 z;Ke-&tEpF?{&|`w*!|P&@xEs#r5)ei+V5STvj2xl{Q>@_Up`jHkG|)<^<(#uGbfd2 z|6tj0dxuO;cnptRkz2hM!;cGfckh1))bH5fzVb(U)JNN`v)mkfjlI*-?3Q{>a^LHl z`JaJR@IOOS>mR!vTef{<+x>`Jjn!%2)`fzy7wr$ltp9Xy{SAHoAI^>+o~{YorQV*i zcJ1RHtpgKQ9DIL!`PPUld&D2;)(Pi7(r0=3J^ilUDnM#imfiAM*TlS)1#W$ zi)vl^UHiB+vl150=f}q<-w9gq&Hw^OdxO)u}6E zRO*tenQE(_ZTYADpW&c|ee(Jq!C3dw4~H(hPIEoE=W;^CocVzp666oh`f>X4@jn9l zkIC_E-}TY|&3}f+k)6@}gVXVT}Pblmk#y|a(4|K;5rxuwz(UwO3yn|@g)e^#yz zyJz<8`Afg1v?-ffB_)2}34iqdu>Gy|-yZ#K`?~!@?cIA@wwW1oJiT1nZI;mx_&xB3 z0OK3SKiY5S-`xI>+xdg>qa9m5JU{wZsGje&u+^dI%N#EH9N%e^d+_T5pWkYkr^Jl)VYO=C*5RW9WbM1&LGCEQsa@6B|P~~f%FjY_UKR0cygoADzW|_W7 zO*w&e#ykcE;lElNl-vc5@Y^0ZTOt4U@$Z5^hJUBj3B8(LZgnI$`+d@(>wa6ORNg+% zF#p{rSJu4q=l1{5`Ool{b=9A!zYE^gXfMbLbWeWRskE)S;>Vs{If)v(<_zlO-L;=@_*>SC-6pB-R9$om%h2D zZUz}yz6@edwb0@?9*}9X>FnfL3~V9#GyB(No?7T|@NcHyv6%GvOAWUjYjmE+%JM?n z@EpJE3&*AXT>lviA4|lPt$55@!9CUXu*RMSl4!!A| zBJX@Qc9KdL$I@*b?04?XNt(yf-ZQWAn3i`rztE(1$(I*E7Y>C=x7{fbIk0%8r|Q1B zg+@m2qRWm|&9e%BzQ5~@{pLDj?wKi}q1SA#^lVT`-Q>Sv{RMf!eP`7k-fl`#V3>Kf zuB`6jrjyB!?#2gi(An;(7CIqULC$FTKJADcpK0wc`djpsrynvCpLWrv+eGV=s87y= z1i_b4?^-)*?=n2$`qTcmqyE8y{|sAg?6+*O=YRCkZQ;5X@wc3gMB8qhv&lGD???Ou zJ*&Q}zg}mHzTM(v{Y<)pJ>w0>%4!kIn@Wrg=eN4O6`A~w%bE4{+aNJQs*U6WK#@vW-$k8<45 z%k=qk9ZPUh?_?pR2?sueueA!YIpA+oD)L!r!RzgEZB3W$K&9R0{|pCh*6q`~HNXEp z+m?%ew=Z!y^q;|}vvPMs&(z104o|X|`YHTP=Hb|-`w>F z{jR%qS7cH2%_RoT0v?K;1shk$XvntmGJd-LNA&Tx`sv?V{!aSJx}kwL+I5!p?lQrq zGXf7g-dX6LSbya63bXksE6X+X^LUD8+*j;)Y$^NtSHSf>w#$C(_So~`+3K84s&8jI zF~&*EyRrU&{;liZVz2Gvth+c*3@c%+CTC?W`20OKVyEEowRRgsi`*WyoCZ4PR)HHU#%OTzm89-IRB6H@o%My z>u%G1uGtA^ZhNWpXOd$=SFo&s!wKapA^#aZ_~*Cgewh8u^n-faJKd#Q=9VnUp6ywY zGGW~_-uF9utCJR4gr+{=l2m_M{mpP&H9u1cZN;CJjoxuwZ&^QvffQM$THk@Cpy=@JX7A>hsm|> z^v~dvSveQ_HK%7E3lL5GvVQV^hMe<1)YuQ__XqetUf*8!c1gw7a&MVwCwA@~yp1_r!K>iN4L= zmy&V#&m`ufb#gUvf9KfQ)Sa(dbhpOoL*Lq^cNVw#Mjt-mn6ziwsV{*Im21~?{%1Jo zx<8Yjap8uGb~^qgje&n=ulU(p+`D(zW6K5nw@h|TvFcP-E>GAx_tAd_v5Yvb%h5;V zw67*?+SF<8se5EMo4wSZ_3i(-Ge6clUzYaTQ>`}tw5sa4muyy_@89nF`T6nox5t0` z*IjCQe0bOS9{u$uZ~Y$FE?qaD?Pg+LlMbK9ag}*h7xbpt9{IQIUQh|B(`W4~p8*O%?vH(XYzcr)pT zz?*bGdHE*2QMcZ(9j=|1TEM@YZJqT-$BxhQ zy%+*DwYPE}&kF3ly)V!G=cAd-=6AJ3zOB5ZqgVELr{n^zcV-*pwoLj|U~3#~R8%y# zFmOk}9l?2D1Qj>t#TXmDzEQTCDS<(Ge{tw{_6aMF6$jZdHQco-S>SXcSvgZ?-kd95 z4f^NyRtHbcobZ;bu&erAk=w%_J`F|@A*_prCeKBRvo|+*mBOfsrbA}%;~2Jd2Vce>{+URugp$%u>5`F zz30=v>s}_N9msi-ynQLF>cXE}|1+?({m5| zb_Vtz+VA>D^PAX*xX!=xcc1=uzK7{WXa{qj_NT-DxYQrL%&mX0(D44vXv;~Lv@4P- zZgb6Gnc%c)$yeV2D{c(mlcK#ck0 z=0K6sx(ESx30cie6ILI1E+XKi7PPyW`5c?Om!}$+o#QzxsV<`ku>#wTeyJ)9dy+5B zVhlagedw{RTZY!b+TzRkS;`R?Y^o04%^328r^NQ<<218*#n(-x-gBRP z*2*Qq=F?Q{?jW~n$9bQ=DJSi|St#FI%G0x;_0ggUDSs9%;kaSuCh956>n+EArue$5 zf0o(GL(5ewA8!@nT_NbM)*!$C8Tav>OSBkle|}wYAvcIy$noIaD?y8!FYs3}$QBhC zPW%;Y)^tO@dauXHt$Pj>|GU1{)VQIrdEOU>HcPh3Uxk=^saU$JNKGz3!?cZg=qIKk(=>4 z&`i?vf#9!MQ#x)smw#K(^q6_U>$41De9lFML5e?}<=kvF;}{OVyDVOG{IbngSq;Xz zq9^apFW<0|Ye%>2`BGU{*W=P|_X~qrEm*#MHF?A0UXXCR&DQX&vPw~ch23JgE#Dc6 z=JFZOn{tgo;9s-IrOXD7I^TVJi~S?6xNdbkAp26;rG9??OFypQ_rX^gnfJ?=TYP=% zEwc37oqu*yHo4SndTQ||b0vr5`Q^#34dv(7KW$^@zQVWV(SD7vz~+OCNN6t?56rLiWT<{~3n;PZO5#%~;XNkbCfp$r@&lp3|RX zCSHCS^fPjaomS*iV2fIs-mPbzgMu($~)l`42qrF!%uze ziZt6MpKiCMAw_57#HlCPEtH!*O&*ss^gH_{alT@I7`Tg%;p86;CY68}oJkQ<6Y@%r z-K*~Tvg}Bkeayr;QYF?8C)BLEx8S3LpiZvXJF8z;IzAnjt~ow$vFyrdW9MD*Q@&W3 zsuZrtSUP*o$5{@pPxqW`|Fd^R#3YTY0m+#^>!#YD{$n@gI=AxV3D(KC8niaK7ws|Q znoxM-x76gU1)mKVWs;^GIz9QgT~o(FmC2VkE@PhMdwRRXsRup5A#H(QmkUnv_nUIk z?*W%yf#p#Kn-#XTwVLzyxT?5cC^>2w8|lcb{rbYQw%J+YJWP$vvly~YacL&@tXICY z$Z(})VB+vc>ki3gax--YM@M=jY7(@=@{JRf)%44Bgq1j46`A2Ukvh8n|0>*+zzz zbAI+#75zn@YzYNiQJV75gx($43FieI7Mj0>pUo&X0psYjm=C__k{Xd2H{l<0(y=zS9I1aNuGFX z`NV7XudJoACMp*#;Q1oLD4oL~=zFUu!p!)#sPd8Zhx_=WQqCw%aOiES&0yRYDLMUm zQ~i0bs$-j$@n@yH-jkzsc;cyvv!*HTZdKur`LclH9Y+9zO7fMVSIn( zvi#Ghv-|E`DHpOS{Mog9xufqkA;0ExF~VL4EN=>OtKW^=@!V9)$c}%S@tw!BlA^WN z-;GI|H-DFWIs3|^2BH(4-ZR^LS<*Z4y4H?w%D0*o&f6ZZa?KR!;i=7xWN08>PD~~xacg^P6D8o3vO3dT7 zq-<62=ZPEovZ6MK&SpKBvD0P}ua}&;vTmwV@a46wuG6_jp5{1 zlZ9t0J{zBW(0Ap<74>^|$L1Z3>2rMiWdYj+KMt9BhM^Is+Mk`5yK1v=apKm_m=s-? zqf1hM*6sPSfZbj34#zRhuPen*-QFlZp;Gc?=qyE%-`0&6xaJ)_oHB{QLivk`U}DT- z&nl^A$@## zL5A!XNdv)U?hJgs?tI11%<2*>R<2W2vhCU-8lbmojZV zLpJlg{k~8%LiPy1pJvLLh)~I}SG8If*0?qKKJa*)zhK2XmaY~z_s2m^%Qqa4%HFhD z^g!zOWz0(Doy;fZ9hmo}U)k%B?Q`YHjaNbr8R`kLGjHmfa$ujgsE&oK?Fvm@jtesH z@((TT3k^J>Q~2rGqOzVdvXuwVh0S5Ml!!kfHT$lJQPS&nng0x%vZW)%C*3-+@MPd^ z(LJYnEG^$?ZGF3_yL^&C{L^!nkG~FLKPA6~duC0NVBe#%XTlef_t`J4p8n=%PU44I ztBw_IT(#MJnfAebX7}UbYdq&n5BbFZYb!JNW@^2roc)%6&AVL4iqe&Y7iun9Ejy=4zG@~>2 z-tucrT+32_JG4gI6d(17GdL*m_`ZGo;;2dcOl z_MiWhz+|bs*O%wCQp##3OG$}mt51k42sU5tVwlQo;4^RW{wPoJ6NjI#m*Mj8;BJfg z_29}TpLJ&IBpNSoSirWic#ER~yUZjDk?8l@y~leV%YOC>etPHh1;)l}js3gUge!|M z%!|0Y@w&qI<6b;IGUYzWEOlF67FFaV%Y42zZ(pzi@AoMm9kY{k*X~~@t}L?OWOhU1 z_GJvuKQBMC@IaVMN&zdU`h=oY1y&!s*xWvzn%Huu$nZ+(3Wa-Tt24>&=qyk}^R@i%#6vN?<$Yf2l!MMnz`h0hQmA>b5HJ zc9j3BO6#{UYI#ys7;utjrp|K7KP!ZjB_A6l)U0v8%l&&iT#dU zYg^9AKRVu|eErMJi}SP2EloL6dE($>iS_67JN9o%KfL_ML-}@_*hiUfbfwe;G z+x$Kk>i^yNPWY>~)y#Ka<|vo)?6-RNrZ8Th?uI@8qDy;1{#pH2mR{Z770F#XE%6hR z=i9T)cI`jdKd2v+W4)-mZjbUZrQ0h)+bRw)ZeS0v3SW1~A^yvpeQw3q)vxWV{o7q< zcsu(V@58lDAH)PFojGnD89uQ;?&=ruS(_J36FyvW@MZ8K#)B6*^qY62FkhRa7Z%3R z*!Z8Je5>K~@6OeE35Ihn=U&VI+QQ1XZ|Aaxsk4iX78fl^@0-$+XYKshHp_EctK^El zdu)8}AFD1ocx^l~U&q79&5zZ!z%G75&*Q!N^BzhDZtytvreujr&tk6w)0r2(cWr1p z6+X4lXw$^+n}fEU-J|&ad#kIO^t;KIC%9Vd>|h9A^l{!4)f+5x%MVXgkT0BnXklf5 zKt%G33i(#sTVWP8JYT+xoK$kF+3sZM*{G9dsm#A4ak_F>$Hq#tJ(hugA0D-w`iM#6 z;+~BSOXS)nGKN_v?-od zk|?C-Z<9PHI5m}bYcTt*iA(wy6uv#npfLUW(yHczYSW%hQn}SV$&FLi;_HehJ?^I% z4og~yG=&F=?tFcGt?3RP_s<6>JbAphOmyNS&r_M7J*C)EdL9VQ3A;1VdBc*zhqe7t z2R_c-nQQdO;`)4z2Yi0-wnoJ)c~`S{U8LJQyLm4XT6oMRpRnFM>zDU~LmNND?)I1D zSE_3XGS5VxGAZ^|1>WfjKD&6gTv8C%jcDsEXa&6)I!X~x~g2G1|ckIN_)G)z10 z6H>1k^X9#SpvmND!%3z(F<)MGg?HV2Y?oDYpt-3kWWllvhLi8DirvsVMX2EIv8r?t zh9k|T$7gOy30>5=MKq?qTK?S1InDFR8PD;X8f{s2zw+*7oBs^T4#JWPTLX6eefHE7l7ao!gy{>bYQ--Ve?bP@Jna9jG zLTA3)vxLc2_m#t0qvTyir?2$%SxGTu=>)n-pFL^w_8qI%okN|^JdWtcJYE{!75v;J zUs`DKI>Rovp3|RpC^{ayRAIS*^W8L0PJvBR?T=)+Nc3nv?n+Ko=8|4t^GQqdo@>8d znk}cK2&4WKrWGlc>^4nR8sipDJ6je_8TP z@r~9Y!GhHXpDSNmP$3t@dEj{L;l?kkdl(&io_svMl=rEMUGy?H15cAJNm_G`7c#kVD0BBhKXJbi{iI$q1qq%wRlInc(WG-2DN+sC=;+vcktIw=@&LcM^c zs_N2d!Q3^5Jw;g>HWSPaRm54m^x-x)e%PQc9M^>!MO$!DNJ{5S6MH9p4%sy|E+7H>m?Tb>C&3K3O?)a<<0Lk zyW^+C7Q(MIagtS1yMd?V_TM*NEq{4$Hq&X5=In!orK9p&0ZevR1ETXaX=<*QIoSx<$(mdm%I}Sof7<|qK!mYIIZ4(T`~1h z&D-O0Q+33SJn=YeTbFn5s?a7+!!CoRA%AYjzM7aF!nwok65FYjlJa+#xrOwb&S5=P zd?DfL4aMGMd-c=J6JLj^@|P8QQW3}Q?P(~!6Xf73y0de_SM7_vmOV@NY-rGwNnWw^R;W1p)AMKe z_cFz{u`D_f=uu997_;YE?##Q<09tp_aRH4dDw+A6Z{+XAm03ZEDj@c+N` zCFthVg@Nim#SNOfRihhT-H<8JvNqG+I?KSp;h`*;;eQ`%1b95QSfk$=aN|xzrAmYc`|rhb zu19{@snmTq;ILIv;Ag`F=L|2KF1jdCvQo!&&k^R#gSV>qm%7)NA3rNE)5FKAb)0>A z$Ba3pK83zlbRT6Wr77^Bk_%x+y8!L(2|*QU95=b48HE z`f15qCV#ILzqLK7X4N{Y$IT96vpj7+PT+eu_x7%!me825C;okP&z5I14dBd~X6x%} z`+V9Yr=Bwo3JuFYzjP2wGCZj;!OMXmwN^{JV`i$_CABGYcv}yw%w6kpQKfOi?W&1Q z_v5{kJ0DH)yTjOUG+JT-Yrx@Yz0+;OFU{-fd1ic!kJ;c=rq4-@Q%sysm@;EiR8xA} zW2Pu?U&|oDE%vR4ll_%-(CxhW1zIA)hnjy~xY((jd9C2)!QXe1Z*`X(%CjlFzcqAj zgKGS}M)4Q{_qFObC-A&w-mkpZkMWh&tW{6<6|9|PWKdllRL!WBA0ztm?X|g5eajv+ z7?f#!{kH01ieX;bts{KQK{vOk_GA^dotCRu^eck%)cidQ+UyT|{bx{*BH&h;!vW(?i4$i{GfKS0dC>9z!?)D}M|RJ3nP0+tLx#)a z!@EdNyLgGb84Jp;WS)qg9Vs$TE}hOS;;T6)z0HcNmQ%f5 zD5W*P@N@Nr6Wp9435_RZSDCiO&b;Ap{PeUH4|*q-84FnJRRx%BQEBqvz0AnnQ~UTF z|Nf=^6U8nGE6kbmE2Qi-pUVsd&BtX`Usl>|Iu%`T-~rF)S+2T)GAANrdrtQ)VV<}3 z!~Q=a=d`2u_exdl-#yFYt%+J{q%zmU{qiN>zy7*@=e^Yu_0vU53%E7TX@7qGk89ne zm-WIWvHt%1=S9{`+qQed+=FeQr6(m{Pi%BJzifXZM_Tu{f)8)j=QCAKoUB|~QI?+{ z_&)C0#vL3J8Ji9m<{jFT{7q%c)cVx*TqjLDR3^#Z*1cckvUiHy*SGUZ?9+7?zw0|b z*@0)~k}l_*mGdlZcVBVb5&N8_uWrj)`#A^tTKKBFvX4A1Ix>MTT-JY^22*xvO8h-L zPfHc9Ns(6r+;)Dmu98}xtLZZ1h-s1iJ12Q>%OVX9@jQ3@;SKi(g(>L&6vpXpW)hx>I74d9{DGsvKA~CHTq&#ZeVAAQe=NlgE4V}drw2H z{ZftX4HK;u?rxVn?w^%@GtT1RodWi#>8H=6d=p_fwyi5hL)L;t&ec_QOW+x!+cWgI z(?6|jJo(e}fXqsnw1tywc20GxVCZ|+C?;f*dtSLjCgtmjz(770hbrN-UaOxe=ubSx zYvi=5jA8ljB{EWMw&ogfjM9E}TRxUQacR1C$H4B#quDvk>St!ywR~A>_^yEM4&w>- z`B@Ap>rNU?;D}q_@Bd->mV^_W2ZK)@{QlP8e`>>oG8w79*vrBj%l_OczSW?bV}52& z@-lv}OpU{=`_dk(&6T@gA=7u{gGPbVD zW$w+2sR;t>dHcSqI8Mo7FL?6g0!vW)Ptgs#8;)1?CZBFPdwGGWhUPOvg(t~9GKD_n z&IVe`6-tj4I*6Hz9_Xz&UU>c96f@4_%FDD&DrLWWD=P4@X&!hxbxF?De~d3Om=ZNY z*b1zQk9#$iS!>qt&9$Fvx-^pi%unW~Wz!6$g&2;@8h0^dy;XCOe3C3TRi}E}gA~mK zi)Blax;c(;r z9Z#x)JviJRZk^=EuYPat&a2;z8T2Vjeth_S@08fvfM&gsR}&yPcoz$Y@B|1TcSJ#pLlEzjaT^3j+d|fCYgrl z&RM_Lij|*h62IRUM#(#}Wq&VNDts|{uU%Ha&hXJ?_rwi{pB!UOn{B3e{Op9fm!bbk z7+jV-FD|id->T){X}wEs##^85v1d1#9Gvi}_Emari&ODShaA&Msky69*zMI!Y-eHO zSD#lM{8)1W2m6J2SB2M16w_7w*=JN0z~uIcP4PdKOHLMTbv zu9<0RrS5D2lk}{|`CD}*c&5eh?)`k!=)Mrs!6HZI!^}qDx2w_iR zJTD>ZYG)adU|slv&(JfH;k5c4|M;mJyDGzjcPk`MoE*g4X58fFE-EIY=fTonwLs*6 zMM3kjx~bALZXUSZ{6f=Zb9zRAk>z=lZ>^0yg~y#=db=)Q_L}G-JF{6W$nZ?|HN&orA$r;aA|dg0AR{{|pWDwko#> zu%Bm0n;`mU26JUk!@MI`TG+T>zVvAlnRzg=fnRbZ*I{Ya{sr&&G8k|7Pn{NIQ0F*r zE6*y~mgNP?zxST?RN$0jnpA&N-q5Gxv{WZv$t<%I7pB zF!pJ=g$2bF)$K`Ykn#Rm(ZT!5Lf7re+?JN2C5ii`Qcjyssg$0&&0u{~4OL{n6O9eP8>L zU#ySamuIQhUU`42{dPmMjpp4SpQG=8@bK@te(U++z5WL`y=G7AEqr=7X&o~Qm$^~% zZJRma7w>P2KiF&i*#FS#`8)@gI^Byf_u@ah^+I~N>Ce5t1^)O=f587%r-Zla7O&l{ zH!-)wr^&8QwwTpu3@W>O0MoMdy3| zDVqpf$f^ICcH`UfzsI$X%RHK}|KkdgGt(#MTf98*-k~!xfyHB;=W%75pd($~zYlTR zp3iF2sF~AOz|VYXT1=(aPYb`QVh>KIrsu^4maqMyOaJKz_O;JHv{+cmC=r+`8*h)dCfk7W$YiEeOvCQ8LhgE;LwsdqDUzzA2dd4+E+(hHFwv2q>tm^#a?e_6i6&^S8Smf)g z^b>Emu;|b76Wwuqsl`UFP=3qvN;8s!>I%PnTX_4;E0&JR-#gy=W~r^=I{EaiZQYcK z#~L>+X1SzfEpYP0JIxo1OwaTc9Z6Pet!vIYe9N7SQS#dgXX70KJD8Su3Ocws6jWVK zPUTyAqxARQjeai|D#|^|eJ$a@zAo!vLWi{Meyg<|%O{@|OrB>{tCg8#EXr5FzVKL9 zne^J~YNEl=+~@Q_J= za{JiD3(xmuf2sZ!@gt*-{}2C%{|tve3aMP1Rpa!4^@*6I(msX%3{4Srr=s2;T`wF{ zcgbF~@IW$lkG;fii5V2|P3B6Q>Js^z-(_i6r1;?1e)BiJc%=#Sj^48gNB`=>R-Bz=ytdIHp^LO~G`rExbqf@yKG`P%V)=!S_+y5c( z{Eg+&fBWrJ4u4dCIQwq>A=BD2^-c4x)cndhJn=K1)4by!)^DkQF!evf_T2ezoj)AX zXQ=oczcpXv<kS)+h_IIE?DZmye+DKEWfjk z?}y}r>iwN^7FQlO-8*L#BC@F5OJ@k|(~L}>+4yd$;HKsGC63m5{%2r$^q-+AszU#v zdi$6Co$@kYmR$McZlrt1DrIAvubmI`@!zqQwwCL6=j7fp_0WBL=^jU$;`a82#WKvV z9ptA+UH>ES{ae?jZIQY*fe&AIxA@<4{e30=_{!HW;~YOae{=u4@jpY-->l2Ww_UU9 zx_z`|*OeNb&t4N2THbnjUAC`c{jHzNCTvTY-guC0X3@pCL)WHXGq~$=dh6q91{F(l z9saEQJH!6L7I_I9{`K{TtUnfAv(0yC3uya%lCv<6;rO%_?B{H~i?8kXvSa^uL7u}t z<39t(?H}78#&^EelgcRH+vH=u@EzCWsmd3+eqR2z?LR|PU=9C|7q{kj+lfUiZ>tHf z&5_u7V^8OEg@jdHJwtc?goiF}AF#Rs;lev8bj4CBd z?l%10*q38@?`h?WOuHL=ZkFuqrl0q}vH#D&%JL)gcg)Mcj5^i*vGPZ+T~vy_>1F2` zFB@!I9Pjk1Y|~BuZ)p;R4Gglymqir=A#c{a!ljWOuIJIq!Dm)uKUVpTDd> z?0-x6ae8lkj{GgV%r86dgVrxib4^dxWMfrGY%T|fUb{NtGZ+dS)^!HCL<%w zQ;p(HcTP ztG}Us%;={0wJ*xrol27~9zD9{#onFggAYCsj(7f}{GXxeQ^k7U%MUKw>HSfXnsZUX zu{g1$>)ib#Tr#4^35p{Xx_J49Vxa zrf-*;xBSDp>;6~t0%n@p8Y%KD`C@lJPD6g-!HWEU+|j?~D-K<-?|Od4#=c+&FVD0! zcjhsun)7AX2mNPg+WhZGz)Rn9@%|^15|)d7ySRO3lEt`a{lA_vEk=G zjvs4l7xBCiwB6;kyG@n#;l+p zzyC9^9@)P6w}1OSh6?lZ!D8p%TA$p;BvJd+kK5qO%XrBb_I&#@_y5pfKk`z~WIo@$ z*YcTr)Sd_I>|NAlYQgfer?Bx3&-EAg59Sbnl+RhP7+73>pfo%0&2nWmL+)3H~kkL;aie z2i9%#QzqWYo*tlaMU~ki@6Xqm+RF9StxiW$r#dP;`Fw5l@!a2+9(E>A@?RVAyCdYu z=bsn61(z7DbDChk`=tZp<&w%@6T4i0R?Xv&s_4!<^}(9w*X1zAj)TJNHs9Em_VBiL z_xwuU>bm*alS>;uop>%c=j-wmMuRkU8Rkn=ug0OK1Ju` zRLv<_-(-`TnloP{_8Ei!-!)O%W z2gz$aojT7?ZEAk{PV=Ib#hsZ7zj}g``?-{vGu}EqwUD&=7s`Kvv;Do_g|g?jmn!(~ zl(e+1ST2(K5dt=lm;a$WZ?=UFQ38x5e$Y{7Y5x*3}$)t~57)GRK|Sl~2+p z-`HX?ft`8fv+0JLaqKRX`u?R;!?8rVe?!X8dn7I_|eyYYa;aS>iar5(E(a<1y!XKY09kDOuR0k*0io;?ZOJXfa5%tC!ek9pJcP>_FqwD$XY-D%60-^silxUy1r$tU;U(N)(!@BL`+ zHu>TGx4n<_c~3P(l;lg*FF7f2&f976WlewkttnCS51r?^8+~47Mahb7dzL>-+>$WAIO@WQ?sElx%)v}((DBH+U{K zIenM;X8QT~G5a5?{BO!Xu8y4_Io)}_&(0lB*S?WBFuOl~_wk>9v|mo^uDrGK{N)u( zx>%g2F$iTyeu$C(;OO5VR&}MPCj4LDCvCMidoDiSpz<;9`3L8JoXx-WYXo=tmc2eC z7WHlM9;;X4i;dG|{n*$aXusfm+Y&kb^z(Z??;QJ&FgvVkcbfL?+R9~_Wd%2H9$Bck zwXvYlVc8r#apl|hrV70M*=h1#(}{P%+`X$=GVR)DVGcbB$zMvBz0F$e$H`AP9!y=M6GGT9O2tLmfi|@ zk}Ub!i7|bGP*ICaUFm1@KcdbL^Ly>I>P|%6vE#aO?b>@+rav0VzrXf~rC3+LJ!gAh z{j$^)&Cj|4*K2GOAI0-$$%$Qg+cND|@01Cf%$>X*FMr(SP#5{1;ULfctiQqkgir2c ztyq_`ug_EN-Mv?p=Mo$WpH|O3l2HCf`)koBwbo_^gSylJE3Q90KQ2Dt7yNhN{co@5xm{XYZiKf{XR$LWXe3P0j+|LRyO`)t0n z*T*?)(lZ|J<+s&f-oUbfYllqfQJ2+99?>=v&)RYZtnK4>_AB_oZo7i9yWqtF!JmQ0 zoYJ2y$!MDU#;DL&Z;#=FbY|NZ#!|_Kb2g`!`-C*!PP=qdmW|Co^O;4>)pYj83v!y_ z3=i~~8e~NZ-yCATzGKDGpEJwm@2EVnI_!x=!2&+xv+gRE*8O%n7I1_mU#$Q2RcYEk z0i#;~s`bX3PM$8X3fb5^>D|l#3x&_K7z#df%P}agkbSv(#+>x!MVgPqg@h;e6nZ7; z*#)^-Utr1d)Z+7FKl|QgUZzC=BTK^NQ)~CkPP2H<+_!A%^X zoG%OBf7*9;cV>X)QIqK!fgZt^m9MpkGrv#W)>r#t7w^gB*(%HY+$@$R8FBbr$?!ZM z*mm%&W&A1z!{%GvFIVv13i*6_|5}&RyH(|tm--ys#v=KApO(ejJC?NVuBQ@<+>$ITY>oXVay2ZQUgYGY zdC>B)sMt$6ry0_P*P2>RzTB?9T%=c0x$*e5Ib9-oe~x8d^q6Gms;qtG0^{EAHOnPs z8a-@|KIutcYX8)Y_4n`6r4y%yTNlq_=v?aZPi9VXSLK<`CbkQeqAUy3c#=-Y8h1_4 zUZu6Dsrt`d4aSE~=?Z`EJP2CGFKyRync42|^4539w`xqNy->m2#ZV^m_mS1NB_~`T ze4eM-b%*B*@8n4pOI4=n6!w&`HHbxbsw(LD%k*4cn7HHZJ40U&Cx+Xb=j{pV*A&-! z+91I$A}Y9+%ly}&s_(Whb+3lKjPi3UGO)UQ?&TwekMk@{W(%54He=#jd;eDBTEU;X z{~1{AFPvTe*1EV}Ct%Iy)3R^!pS?Y#{g|b?Py5T{Z)w-VkH|CH=&s~+llF6JwR|l4 z^WlF6){;w(f0vltUR~*E9Hn8H{7g$iXvy`v@f)^n*>(QS-6dNB*En6NtP7CPKJe!S z>&CYll9N^XuGFllV7aV&+JiCQkFR#+am@?QMVM~{Oq{%tjp42TEq9sZu4DlZX%E|j z3pvk4`q^!{ypj2K#={N8zBkGQh54$aq?4_B>XhbkEr?y^=J?Y04Rdlw!5hn!%z6E3 zhRw6$jZ7p`nU(h%&aBx#<&(Rl$h8B;&lHxg57J=Bd;Vql(PQNT{yqT$YX$*6Q-76$|v8Z_SWwVhU&|?z3FE z*+J{X&fD|mx@kGi6j)P}ymQ6kU!}6WcC4R1ecX85PpZ8@E}-?mgL*5G!p-SkDLv;7 zxN$xBb5nBpQOTebw}Z+Pd{vm^YEg=EqKI-}#L zz-Q>0!Ke^sajfFsTX!AJKQ(V{ii0Zq?w*>T|2*K#^ZGMeg78Cev;_r z#$fB_FCreOc~< zd_V6BhiiXv!;Z7ci&ox}a@wQASh6S270Zhhh zicY1rE2e*UsM)jKC#X>>u~Pj)+0vO#S~Fu(c-TxB*<$1K9)D3^YPr3%fKhG2!-D6s znhQ=UPfI=YMe@A^*T-+KC!Y1>OrCnX-{-RViH5`q+oG!AGZ$CAi@0sWcw)&7zL{+o zBvJ8Pw922y*%f5^eV!YivPfJa= zhexJVaw*T5h5eE?)t4n+DtmzsQU;6UjCgHj8F{asV`pw}m*0J9 z{&#_dXET!T9lX8W@uh>HuSgGr4^Q(+SW?IrYp*p0%m*?uUaRjJKECF8Z9L zwTb8P|Fm|pd{tZPX0{^rje${dfbI?lVd)0hSAp`@O4bFHvMb7%ET04_ z^ziPfxl_8h>f_1Rev=GRm0Z;`URec;%=oah$neU%uL`^k3(Fp_E3jC&M3Bkhv4XJI z!!`kJW9FAZl`~z#{OrG>NG@^VjOL{F%$k z!DS}#q3ZjB@C`P)y-(!kJh=Ed_jt^=m%fL!A9%hKmssR`L%Lqr!Mt$OH02Bn+2dX< zuKy-%eBNd=@6b|9o{deOze*N)Fbn+UkO@#+vc{!Fwa@UV%EOrrC)gzq*z$7qNo>4( zd9PMW&a^M*O*8U?RD*Xg?2-GqG`7p3%%-RBuU65DW-j(emZk#X1#1p4SzQ)bvq)|Z z|0ByKEa!HgD!zRu`1HbnO$s@s$FpP%;-@!N^<0PyIIK{6s({hf`pO5^F2)TBlf9o# z4N$REC~{S@R@8F8{4(Hbo4fvu<7t)OR@o`-n0D;sB*~8ScIk%maX;3^XeD`__{izj zI-}tRyW)-|?8oN|i9Y!;y)?g)Tbun}OzGr#^Ox4@eh4~OVPl!|<~f^bg7o|Jr8N&f zh9%Tg)vR=S^gz)edfE&V#+l2_s<%vgU;O9VEHa1GO+DIm0Xr} z=7DsTCxVUVz3Qi|xt9>cVZtbUN9|3ny88O1_S*6%7*+a~&6%Jyf2M);@5@na6YYu& zs+k>l7|&Uiyx8)?T*t|B{`2#eOF9dR&xL$E$`|@9O+(z)LpDQn4d23@fuH5tnkBUC z@(P=8n{*1x?wQUEU8`l-SEUwh8@lVETSh~-rmZx z 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 *b+_IzTbk6z^I$>P%XvS) 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

    >A}~fpJt~yeUV(i8hTL6t#Tpvrl|?+ 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�G)+a%3?x=}?_QvE&SF|DIJ1qF8*c*-7U>b@~a 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

    >asQkL9L&jy5J3zU;X?$&>%23`4>v&$q4z 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 z

    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 z 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 {=*mT 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

    l*yHsk z3yr@=%e4fj1$f-BYc^T1>CcWoh7Rrdr)26Rmn+`6Z)j^Jl^B{IIPXfL!?`~K8Is1U zekM8|IOZYya!sHJTO7k12%41p=R-9p7jOAQ@1}h_VBe_STZkUeqH5~ zFhPy)G9NF^VbW^8@ox%`Q`h61W@V9U9Y$}?F}&0A{oQu)^2@-PP1_Fe%LuSCc!=m( zJ-@WLJW%g@@#F)~mul@6+%k_}RQmA7Yd#P7?rmXsZ(J|&_O*vctJ7mHcHUVTHu((m zvnsR>&pW)#DuB89#o_Y7P3oUcb+S!U1h+|tw6{_|=l z*PKaJpSygL!^`-dDznR6TKAxU{q%XuWu0>-SZLpoJJ!GvC;f5J1B=4TYn_X36s#6= zJYF|t-5Gx#L!b2Lt-mg??EGo4cz(>4gk67HKF@nL&C>B{`?Ad6p;Icmq+eMD?OVY0 zpFz*~^0Lf;1+|kBYqN|D``C;Rd|P}-L|=aTSCd6SuWDAr{dArEtqj`6Es7q`Z!dKUZ9ntIkKLeg;72%&37E0yi? zjUMzhE6sW!qS|lUvFPgI^u!a#qZlUU9%?#$d|OqB5PP_(%_M^u{g{v{ajGM zYM8rc^QXes?|p9s`JS?TVY!weyjRp|@;R$#i_abI-N{loYr@<$E7dB`J6@WpWo^JN z@lVJOC1h#r%SJ!hW8?p6Nbo$M=) z>ntW->@vTCelAr#@S?gZAmU~8=_iG^XH7Eo6hCv|WZYJkHS#>xrIyRxZU%%f9#^-` zVA9{RN@l7GQ}LFdDY}d)mbO#AF7asES76}h$FJ6Qi|x!~<#`#5Vwy@4=ZdU@Z)dOU z+$DHIeXaRhLk>>$RvDRelg7ggjK@VdUvylY%=cWGoyRbE0nf}E7Lvb00^cScl=-*i zd4V{?moH0;A|~0NE3o)#`$|-zhNt*CZ`UN_i!r==&lPuNNkprkdKkUqwU5&j!QQ2t z?iBZ3xu&{7`QY;vD`k~yINT*t;8o@IQEKt z(YK{D?8>xr8GjzHV(2(@SZB?Fc?);fYMwf?%AA4Y@mlY;uybzwjxVw_Kg_S`VyKz) zmT|@;K8B;tyJa3vJjS@xobLpK-fGwxC)v~Y zddtUONlQM**Ii+@d_Ifq#HKl^{V{@6_w~ss%6KTJlr1V_{(P@s|#~6A$yr`imS%kO{InF7@@$uOOEj7Ru$<8ssA0 zShsIDZYtfTKJos#%;d>j#dn^+^b>5B{G4*&pRfa$l(76{h1XYv15M)c1PjD>thoJF zE}d(++}fVYkEgu9#qPH!K#X;JQpDUnd^2AMPPY^+usEkxyK1NQm9G{rYO^>ut>4c5 zezJFfN?+i2`PZ|GV{(5o*lO`Ut**_OU2S;s@xr5wiBgX9ii(eGUz#{Edcp7G+t(VI z>Q8k$cRy~+<7XTl_HkRS8Xm1#z*-~M@~ETjjAoGg=Vg_X6#hQrv$ekLa>i3x?oX%+ z%kn}Wx#DXR862NJS1GrB(G@d!;un*S*Uvc4u|>@gaya{RmB$R*e^aG*#)WSFae0v& z&+mvi^3zRDx7sA|^cl`#2rIe~c#L1>f^uG0+4Fsx3wUSyOG=zr+T#(?@Q3koE(70; zi76#_xBU9@>yp)`6&WX<{|uRA7`QdOK%L#zRe5U2t>ryD0#*SmGBXX>AMrBTzc;Jq zyHYu^)1bXSKG1h!R339epCeoM9nPTp+|S&i)z|qmO;VB25n1_uqJPKR*xrK-=}eO{ z9l9Ae6d#b?`-1WIHB|`)&Bv0D7R|f5N zf~+3!JzMQ*7^3j}W!F4ao0)Tq*xXzli**V`nT$Wn?Rc2MH23GE>P&;*OpI;1^N;Pz z`tiOX=Z|mR{LF~v*i|PU6x}yx{(1e<^d&l}h7DCcUrj&lf2+Lm_WGVLzg6yhntfHd zPlAo*-&EcR{)PYeoki?qI~8)KS!md|aJ@NUcye>WmvdI(f*+~^%NHN7ShcEeLBsOK z%hzYUS+|{&!;|xzuvxzT;iYt8&M-QNoo{;|$X6|@NWdCu~=h)+51?qWX$Q@i4M2K(2l9)8doVpBY+ zDp>G|+l|BjSnQ`N??^J>{9_f$Xv|W|GI`z+sgjKLNybxO23l)4h;}H83ddHeCY|FK z5jZmM>YoQUc|<<;X?du5JP}+UR9&{reRTXnonJ$@o#`+~KudHH0Pbp`y+ zeZ_w@8>agnX86X|-EVBKlJcw3A+^oh~b6d0~pLh_k`>~Quig_6OQoGi*O)h1I%jcY0RhMVvtIgWzUo&T3)s^7N z>nd6Xw=5nMcg?)eD)aHn(hDj4RwquyJbqPm>D;T8PZt+iH+v+-zInH&^o7N;Q!BbS z;;ee4tQhXwB{@x%DP5Ur^wTSeS#`smZz~@4aXd*g6guC$V;=ib`8{_e^hEx?VwkQ| zu%=$rl>1Ja?<&Ldmhb&C>uN-gIXu5M>tn~i)Z>nGwldhRlk{Ua?~}ZJuhXXkuTmy@ zra%MH z_CG9A>q0g^KBe9F#_9sM3v*$}q`=QSbtR9tO4xMqvF9z`s?t;V=>xl$Ywe!qb4Hd6 zqIr4FPWO>9v#`~2PfOJ}-PnI_wqVb;imJrXHAl z`qN2<-Zj=2#R9jbv;2Kkaxf@SYWbPNsyj}Ia4%HgoV!zI-p*wpW-$snY;4{kIB!ny^MZ|YcgSB`%=htxbAjQ7OP)HDwokcO zc=z+=mkvB3Q|lg0;&+_C+s`9eh-at7pT3ON*%Nyn-&<&C(&w{#kzc|9QuQPYkaey{<_;XMY;^v z6jmqvwaq^FpCQ9C{GaIAXLBbkdL-_9u_ToN*!b;mKb!q=f| zk1jp7+Hm&w<|ns%(q~ocp9m9jykk)4)5pp6;DfuX`b2NeiPER%Fzi2+)#fp2bNy-K z#=eT@UFE0V@0N9UcKa|t23??CWd@53CPF~(D+ zXYeF1Rdz^8vrA;0zOIt}Rs-+82)*Y$1v`FUxv}W(?~^jmS@dO%eIsfftvKU9?Job? zh`wvLPZ%dQrX5uIkipo|C~#!E^a+c595z=LN}qh&H&?T7y%cLFd)(eu!DBCfAA0k& z;p7V=TMf~5jyi3ud@m{`6pB5*U5uIglu=odZK>r+o;{)uCS)#bbp7(wfh|9Pt8!DI?Gh! zlv~A@{~#8PQJ<**%bkMpG2mzsDhA1r;o|DLGsY@^)f=SfdeJ74xc z_4DYNU+Pw!mlZ51DfxIK`_e#_O)iK04mP~94pynOIdE>t^Paqy$K#h8swfF7)(F^r z{PK1A^qfSAyyMpzlq1t09&ygIjJ@-0X3?p`St})#pS}*$eW%jq{&mL|^~7Vzy1- z;CF|U%DO$z?_BABwyCXO)-rEN*9z60(UUf72tID({qrh9=u}?PoNW#<$(eEcw%kaW zrt^%&Ro3kJ#MeQ-3L4^N(z2e*RQzQU6oUS(sj99HVmzXIFhKc^bW^Qi&{2+#B*O~@ z48MYPk6c`tIF;{)7Q5Gm$C;XcEFMgDJK&Ub$Mc}h;Y*7nS_G{ce_z=7b9Vo!Y4_Zn zl+s?#UD)R-x!mN4hf0k6?D@$d+cs=TUX&0hov2g5XKVOp)g6t~l0607&nMrxnq5Ar zJjw38@1k{!KxdB|c*tsPQ}BpTJgD$--d5#hWx1Bzm)X}}TX3Y~?e9IT%-MYZu4<{D zQknkrz;Shnk zjLd2`$qxCWeQvg^FXT^6)!KZ@Y<1z*ZU3g)zxn;}EN_jjbe7opXC9olmanUly7O`W z!P0C=Q(3Wh;nw9gxq2Mu{g-L8E9F#9@5}#pcG0`OB!Ls6Q={hyU)vl1%`exA+w#kc zB?*y?k`k8hv`^c3KfJl+w{~_xn~%rhY?;qLuCJ^+Gfgx1k!SAHe&#p7n>L(yQGaOR zUbd)7Dupf{W^B*x7A<$`yM3sSjZG_0w@t_STqwim zW7eTF7Iv#_I2d^S+UzYSKdrajxjgz^*r#&g4W;L!G9x(mYzSEq*w^waL~p{%kR&(u zd(3KUWzX<2eEYK0JB&eG`NoPzGjd#XuO{D~9Ksqo`V6JAuN~ib95oZk zSy%DeCp5K3A^B6`$)yp8C#;v2pWSEi>&m?#C-XTx^E?)EtVxVr@OZ(Jh|>l3f?s<$yXu3d~+Bc_c z6|+@X=oIBo5lNt(!EZlVYj@Si=wZf;;!M4W9JP`Qn}<#N^?%ga2aCq3q3 z*FL$zCzaiAuU4S^v`Ujc$zxaTdm}{S(!)~IWD0ve@jARQYcOClJg{>4_KBx?WQ2?! zEzGzidc(;2>jI9{TaOcBl2-5WJ+IJTwaM&PO8WAxPDdv>xf%GMGIS99S!90x#EGY# z3zj{-!N^kn<rwdO_ob&k0GG?`zOIej18n%nZCg(1c;OXPEU+cSNAJYmyquRYI7y7-|IkDH@ z^5s#c#Ju13C66thtM4^?cGr_{$>Ymi(>21A_?lJsW=R%AuuA^hnsq3};Fgm0#(;<~ zN^@e4EXn)nUD)hx;-YxRtNF_JWjowEI67V)JZhMyd?d2Ds{hc81It7VrK^*spVIu~ z{pW)g=aWx;qMy%Iymz>Dq5PKUZI(HIGrL|l?cF>p(MiN4i{Y&=U+}c!URyVsiEJpl zJE!s1l3u?9)#+=Unv`soT6{gu*0J4PqE%+oil60jO*1aN@wlPo)ssHCF_44r!6|=c z7G^)AWk=l(Dz9K)xyUjlC}0J{=SvOMT{g>u_VU?Bbw2Dfl1Nuyp|s@FVxNsCe)0Jl z<$Q2FeyNdDS;$EI!;1S^QzutGUd8C29yBw-mS5!9r$cYqEx#?`csl2V+ffPjiFam& z{C&XsL%RC1Ph`TG9V~^fgH^OHKAAl4&jpUo$B{-Wo(LK5%f z;uq%0_m-3te->jY`xR1n>Zql4g+lY|*Iw5c67^?(V(fcUb?MZ_Eh!o~&FB0qmj;!! zNjypQkj?CGzAW=?0mssG!zpn)B#(tp5_hdvF8&zX6C(Y!0H zYa)zvx}4U>pPIQf+N%PJI&$KyySB; z#+;#qY1Y{W&wh*detl~H86r{(j12Z9t@?I{Q&&Z2_soJ?)`*hG@Qi+y5|!eRM|!=z zJL2|g-6`jN+Iv{SMxd%|k(9KuyNtD0^DzeIi2=@v;Yl&iC68rQMwxdo-B6!k9QwG= zV#eG#b3U;W_uL*62CR2TeB3S(v+^p};}pT8G|A)=#@S zqn`#<{LJuf@JmsslUVUMC23)$+?9u18+Fgww(7O!wN}qPH!niw>-UwXJ=i&a{0=dU za_JJY>EnEIWnZ#Yi=>6juYk3QQ)enq^Vf6ine!oI;?jNwgInS3^Rmup&95naJTc(T z)6nUKlCp-rIV^<+$Jp~P^=|U`A=CHcZQvp2Njnd+&%60DtY+FV=f{1IW(b-%m>JKj zc-xia#he=Ie|@b-M8`LQN(syNff5H}l6$HG7$V-Wt1FbAwbNA5onZ0(y-&Vwa!~mE zvn`k!u4Ntb!trx|)k@b09g!-0G&Jc5K zyf;BiQOm*A=G*eQCkpuNxmL10IPy+*Ki5{dZ`M22*DE#L$eH-(_IBYp1(`49p6l-3 zW;ll{w#`X}uefi>yBc^l zC^Imgw41_QHA!sF>E_Ejj#@6B(tmdw|LU@($s#`SWe=>9yOPfCx0bgleeD?T(k+nj z;fUemty)ei8l4h?lWN=yx(tI-PRwB69upv@e8X^qfd7{zOb$;2^bC&``<8$D^k8D+ zjYo4?FL`Qk8SpZdiC+CKy!*p(krUndHxBey)&6NR50p5OWW~p7e&*10-UE^*oG&ad zcpgsg&-?Q94nuNRl1HrD#luylOEOhi{(V-rX};CqGs#T8B4I)m*Bq+{>C6{Gc`qIP ztavzitD;ybnH?bib@GEYk%3orL6UGXS)?dM-zk?WL&Spyv8S@}@uv+Uy=(mAG$)7?}eD@`?_cg6>5$9Lq z=HZdEc(nNQHOC3X=PbT1w`Q-`(L85$x$d0Euir@xY_S`srm|}{xrTXM)3gh)e2^xPQ zu3607WU*lGPC`&SLXY05rxy`_4ySl05wv;(< zRGKHbRRx%Rk!uT?%yUGD&u+@inTK1sKTUnO+0R3 z)={O(aB1#wc9xIV7H(YYzVe26Ufp*`Z=Km8ZSqrHS?;9;Ta+p{WmR05RCD-?Nc@5m z7iAayzWcX2XaUD;kH=TOEoEpr{%*TZ^RFvKr%r#GWO!X^0)H99Q$~@qC!hWKY1g}b zDZ}PQG;{K@5-3!kAahw14M%9@ck6*vEKP*pI>YaGkeb%Ym zg7fbBX@8vlkIVY8b-uvAn^k|VPfv=jmJE~){I*&%fWhARUeoyt^*>b2TJ5I(*2uWk zdUj%8_11zl!;&ukX3DzII_khE%M{^_k@Grv#Zt9WA_I?2tjr|09muiQ)#$qU~*id{S8EZA>x zUfpKaOuGPE{;Y@#TB}y4D@}b^)L4A-mA?sxa$RN4$Ac!j8yK5xvRDFDbFZ5uauCy^1Xj& zz~6_L`?eg{I#RB@%sTin3xnhHTW#+Yqu)K?KNEEO&*28!k2fyvu2-Mf!*l7#(Kdl( zxh+kP7ja9AeSfaJ*8Xgtfw#WwN8etrMa_qkCuMg1e!`$vdHmYs8|+gRruXTzy<;^k zw|+38@NnVfu3|BUWRVrCn~&#BS;CaV>K`Wa?!1FWmq?$@(F5O>tKGP;?i|Mf5l!~x zepVOOCv0n;u4g#$tI2E;%cOrd)Ega{WeTc`eRJAgp1W7Mit#{GU4T(_SHuQB&cB78 zGKy^cS7w#H_%88nLZ&O{i#F{g?R{SJe8pM4o)n(X_X_Dy`g13Jhe+)_%Y%ONHIMlR zN9mrh^ZC2stxvtkTE3G4CmESiW8T^b*z0|LYriR@=Z{JlyJEU>p~Q0w8>x@;Z`*wj zuoqmDliQQu?R0zNcX#G5&-QkI3;wkKVWgY#3>m>m{`YKei{1?ScT{re%9q_XI!g~K zUyy2gIQ42^xWd;1%MB9F9O2#hWtpbxrqewo3}4rY@7&^KG1IGwgXMAa^;`Qz_UD{c ztCj!u>Ej_^&X#=}rOlL2|E%*emwd&S{q5SRh_i13&lxrTWUQL+e{R22{e#uBOz*e+ zXUN-|9F^uGHMfVKd!^#^q*lv+A0K~RmuYRhiv5-QoA?#(E9=hQN|~vz$zODydom^hgbm{ZAhzk$?Gel}1+mv@ci9NpR+gr!Ei(|XzRoY)`sN&=~ zanm)y!y+-*UGJrN3WK|77^{Xk<4H@CZ!?2481fPizIQuvI_ZniW93-|w<3fCZf__# z&(1tK*hTsEyu~XPC-O@uvwTrrpB1kf@&16_%||mH8SR!}o|8T+yhOvWr?D|)UQ<=y zgcAXKQqpbxO zpP#JfM|meGSKOE+&d%PKxs-cZHJ{bx=|wwxm>aC-6??ZEHbmQ9xxmY1*8KXtL(h%_ z7LVoi1O4TddiYos>sSrMB|-yk9+&Q~$_!c{YX7%NnbqjX_Y=#Vr?cl*i5)O8l=#!D z7p$z3E^F*@(R$;{<9iKUc)FhdsFwS3K$0`}rrn%xOLFF<+XS7sJu^hWc10b-IsSba z47UP$_xEzG<3Cq5->XFElaS+&>L3Ag*|m+=yI8X)p5607xreSr zJ>TlXQTAm1QkB9DJ%%!JQ=Xn$X?uQoR@r8u%T78CH*Q|uvDCZizNHWIjUJgx3{UsP z?R@X@;CHZG8IkJ9Eb-@M_lo<9 zY#vXZ&AOMn`{A+jA`V$rCg*dP&+oO3E_g0$n;|iA9{&tWTfKWC>8+sB6!GPlruoJfW{-P9CQjAf`s)Hqj)#m)NJQ{w zgXdfQLL2-P2sJM#f;mgygu-KX%CzFyyD}s8R}`w1}a}A-aAZK*R9<8f_c>J=S? z#8ut=7``krdr%_Zs2p@=L7mB!Q_Hv}RrdtFV7^+`xG}Sln`eEz zSCMh@_hxpRgdo3iLFvL@!Hf>KR?pjU^4pS(GjshezxCtTeNtUgx?cEs?=d)%!Gf|ejV^Fc;h{}XZPaWP^UsCPwm}FKRQgrk))BcJQ zkw>@PPwjmBBP1YQ@rk8PPZy_L_oSM`4ON96w>>zUKlSiw#%?~ImFFn4J&PgBQa#hB zD(G!$PUDsI$@gZ>e_!OTHczx)WzGdAw=-*-*gOudxOwH>oxSWIzO9txJe}~Q^nCqN zV+Q+QYbModNQa3k_p?{ebC+0Z$Qrv!qlc&P%WFT2TVB7)7kI|BD&-z+lu({vn|WsT zwn*BJ{b7bB=7PCq2d2W^Yj0X(Z?FYdAYP-02A zQ=^FBt%);w9(w%S!oA>HXUJ6UCV#IS!`eA-dl>e%FST=HW>2sXxp6CU2IHO51#H`A z?#~Z=J!_Jw#4F?1_a>j#@|stCZ?;aI*ZYYd1fKAe*nMHxq}33-Q}Xyym*(p|A#0W1 zGS8W{e#7RP^OG24zAsKtxj(PsahI}^^7h|{mv41hQ#N7Ahr7NWlN6;RH#xlY`_9-a z_U+)~K3?aiP0wWCcs^mW4sAd5IA5lec~ncF&!snrbBUCQ z95Y!z^G{4ly7F2JcL`R8$9r9s4Sj4JK2Okc(f-u@@_e!b?*Z3?%nZp)ixmr^lb-Kf zescRp%i{`H0+|(Rc*<-ZEj__z7^a@SRl4H+iN_|N!c>1=XIq>;&BG~QS?=!3s2BbT z6)AlNiVhsgJ&#R(D(!f%x>b3tsm%qqe|ukg`y6SoIBpXp`lfx+s{LpDtmgy=J(J`V zG&u42)*?Y6w&yB+&z5|eWFRwv&4PVzkW1I9gB>cl@6Wmy3W=TCDDND^B&|8`PGjKv zTjhlfRhPXEXf;c<+B$3xgnF~YWZFQ!W=~`!d_sv{tZ}jJ!rA*CU zO_so&9IspB{kAa7t~uGYq(z3gCwTTcQ9pL)u6VW4;)!9Q4Du^YYEBslB#WHAuMuE3V*zWZR$Y?)p-weRE^)~(BApt_)m6olFHNds zY6xHcX#wMs-1evH>*cn}7>ipRRF`=+Yt1E@{TChtAJJZhnUR5dXpOO`Lc)l!>y`d=Z@%6pQH#lRbXM8$leDK@% zRi93+daP4?n`vonlcAbHbdzzYbKYc`2c_SaG0%IjPDHKvy6nn>8w^hOX(?taPOLd9 z7b$Ce-_)|@OW5NJTnvdfg_uw3+?luKQfoy};XKU<-bHf7^Q768rc2&Be0f<_0E=Vn z49g%6SzFDBpNlh}lm{8l3M+8aY&17eYLJ%}JoUWsyr}l7oS(C|vn|q5>Y4N9mDLs3 zJzx2DKK~h1rMPyD*QLjqEXmtVj>leVPvBr~>~ih&2sy4*q#5xb?|h!d{Q%E5?0tUh z4}El&Zt5}c54<-i>D(SO0}Z>B3GcdWM4x=T611;z(}u61y+%iv{MjaKh&VKf^O&EO zQ{hS3m6MloGA}c{yq3c`Mpn7)C#(65uFXu@4uARetS<-f8aHiAJZO>PVI{4hU#l`$1*yHpB z|10KMQkF@-+tp?3xw2L^=g%k?dotfYi=kMHXW1Jm6K{N9)^=AhSf06gM|I#% zQI=$`n?DO3`1LN;uLsU5BN%@Qn52J(RH-S@L zyH6GFo=|x{>tf%{@=uk_E55AxxKqMhd85)g_GC_nBgQ;z3piEl)wyqUb!?bCudr{b z%Izq=n`c9Odf1W*FGw-WGR-}(@|b;;`;=1)4ST9DC+?EeR!YwI&k9#Qb7TFQ#)VGGN)ebzFGWRbo3pW$`M z`q}#oqr6vE{1Vo?J2Cc&-TjC8RllsGJe3Pxo@BPykNUa)QSE<*nIH8YT}o3kG`Pj_ z`|&R+{{;7)H5xsczl@wkZZFbcNx#AzJMGbhpR4Zl9ouog66ZqzI72i$$v(Hi{q-*!)DaTJwsFq5}mYK8a@hhvqD-6Ax zIAy<0sCeGx`Sg~vka6Qdi{+EIKhZK`ua8>4H&yr9G4sivd7jTI^WZi-w#jXYT;b$^ zGb|h`ug~9=%}ksWd%S1GF;<<8HtUQY%O5fHVKaZPtfQQGN66}GT9{DEx}vJbOXH?F zYvsh$EM}HTS~ShlEKN^h;@1A_^VhPKNj~d6DVXP1anzsd%$d-;4(BCAqcoNn&6F-b zIj{J2*WA<|L-wYsM-6g;QxYBQqa=@=*I{6=Y4*#!Sn#GURCfAa_pPY~$LyyotYj8p zxG2jUs@Gx&Wtel~@B$gBxr(~%Q|2W1 zd|koiasKxeX~zebwp>z^tdx8`i(!(xlD#eiPxw45DdiR!o#i&g$E#LNIuYMyTPd2} z%CNfhrGuEF(6PCd=dtPyiyVD153%=Y-SiUAkD3UkD+^F0Zd#O=+xhNB#mPuR>1hQ0i3%jjRu~6qS>I2lf{u@v+;f4mIQ-L3FhYQ^D>u~Fx9<3 z$M^iH%$%;!KBLx@JmUk*J!w;--L>A{+V|ksg>O!b+l&~F=gnMnmpyS~jxobK2IU@I zzh@c-MeJwg^DiqtUFTeNHj%N8Y}C6ij6ulJO# zuIyLNGwczn4)uR?J4bL!Q^kq=s!5N})a%?n*>?UtpYaa9D?(msVeu25h$%=ZB}L~; z$V{>h5$Bd#Sm|fn_-T^;bgyZ5o0k_IU*?|0iPAgD*Q;D_5L&DoKfp%-1e4bp5@U>_qV26Q57tEKD`Ys-lB2voHgH{OL>Q* z=SlyzJTCm>Xx_HfKbNMshn){QDEh5zaysh*!y~)dEKVG|_2c=sxXY)0oRhve$0O*f zw0pO^89|+yEhlgTF!= zTAjDZ-eo*58Yon*(mK=s9GhREKaW?F`wK4Ecdb1zMyP{ z4)>jH%5mcFSL-Xk47y{`_-*+;+X4;7D3dOI(>W>gj!n9F_~b6LpziOJW}SR?@ae8^ zhpR8YO`c@4T!OvH_)>%VJd>GCUNaO@`sUAdkyxGF!1!2HWz)6`2ZRi)L;MwQPgUT( zVIRfdD4|vUbn|ujOH0gdKi1OlGi@d|fujX=mcx=TD`pxEQik{wAHYNoSjSJA*~$N;oMs-(DPx+wY_-4#arF$A35M5N zl%9M#cPceTU4qBq!PUzAh~r!P&t6_0ReGdNVwOA40X|WGQ@?v+I}$#*&Y3^C@Sw6*doy$7GO`d7_eyLkH)-{xs==V>sCd3&S@G@mm% zFl(a-$C6Xa_Zh#?+S19g`b=_#jnvkRKIMq}lNQX`E}EU7bJOf=YToV*#V@i-`MfG! zl5Kj*{=DLLsyTe(;EUQ-XA0QnpN)C1oUi9E@AJ{eKk0~d@TBSz+m#FQlc%cN8vE{S zS;2GQFRO~Gr;f@w3)2*?Fw2mIGIIO9@{V>ERLB(B+Mie%B(!>GM_yG|vclx2T!-1& z6}l2s#0{27X}a5M&H3QDEY|E|C&wLkWn0Y)w_S53^VUc!JYIfjb-c+w|1*yZ-?3Ls zYiPVCzT+gz1iP^KYg3{(onmTOQc!$v!KPV}%?1rx?<_2zTx~r)Ny$!RLjz|EEqn!9w|CzbF8PoCg|q0DZFzd`1Y>)rmD>&6yxIaR`OQ+ zyXNn$Sy8d>CXvi6-@dGJ5vtkqVB(FEm5R<%kEQ#4e*M1St>+S+fAb3Cx#9_x%i<4h z5)?kh!Mws$s(-Wl#4Rc17M9-^-1QOGJH7w)(U3CLS6-_gmbE@#T>NGE5gx9H+yDma zkPn%O6M6T~Y%uJ3AUxS4v`@s`LVDxZRVtHQKRZabl|6azWktfCsi~YzAm~8%b%Z=h|D`s|Nr7&=O6rqve%n+IZG>(rQPgzzx@%uEx)a|_>q{c*S+MH=aXDj@p=iCFQ&I&=}frmuA(JgaYA{+dH<@%%#(ktUY7Yd zVmnupfr`9F+;Y*?9~2{g94qM!{~oAUR8{yoq)wl^Y}aKOYe~kR(`Do=O!L20?%Xl| znE2D1HtY4JLn~E6wjKE1Z4sC|WjedvRFMtQtDEN7*(JUWiegO(@9#70&zh=qTK2Kb zS5fhe9&29AX4Yz`EexoPZZ=d9DiF8Ty12bhxlz-)&*1p}rDhS=7v#A|HQqU&p&E98 zxo^oO+a0C1TEk^N-dpRnBj(-lb*wJi{yb@Nvz|AFXTb+c1)-{vFH8C^XEOR<>AEmU zG>^IXb)f1_zr}N|m=`Fw3Cjr_pZY>-iCLq^r+xA7`J=Wdvobuk_q*cC{O)J_>08}5 zXKs?1pluMU@bUJnN!sDZ9|vkGZGy zRvtIG@JsYbqhN7gg-q}yj;q_I{*$}A>a-IFW5eTx%T$a6cW9gxO_+M>Q}j;-16%$e z&1DL9P7LS$j;&*v(c{6sL3YKB6_2Y*Elx8Fo)SJ=!7Un{Pzklb!5*9!?7-bRUgbUZTPl#qG*vdg_e z@1Gx}#rbyE+x+PpO_w}A_4lEq#FNm<#Nf{ge^yOvNZX{P5mq?) zGWWHWeyNVr-uW|>t&Pl`-5F8#vp975R{jg=GF=Na9vi;N`SPS|eSychqqf#pw*`p2 zdwzjywXyJo6@C`qmd%|YGDpuY#ct1)aPA$+eXgE{J5I`ZHO`ND5}G}|Si<9^%7=>O z1={a8xK`>IpH!PVVFyp7$CsmK9!ohV7+62}w)D;dRv!V^KqFgGS^l#@&#*a6CA441_>0W5MUyn1 z94MUA*S3~1_W9iz4mLc`w}wucc*6F$Xi-R-rFvgOb*SZ{(4S3@=heP!jNuf2FSl<_ z+AL>_d*WKwSJvv?pPp$`!0Y~LV&BXM6MZjWX^MT zo~5av>vSQ;$$cE69@E|#I7!T$*;m-W@6{FgX+eW~;H710r9qvC<(fr#HfsObB-_$I zqwmT|iA$BIL_Z#UEXwp#b4T({g~$7}+?*vW65J}Dt=_1smi%_&e6PKp870NyKb6^; zSDqJHt7Bgj;PB2pN>NiTaKb0MxWeYw0cW|5IIeaaJkRgr8&Pb#edZ2B?pIlw;Y}|k zi*GP@rB7j5+W3OOdIf88u+$uR$FOaJER*C!+l;J2v?MHynAn}z?R)(W`AnP1DBB^* z_n|$FKW@h|M&k#$?93O+O?mcgKheDO8@tQ}^`zr7 z7>^b3Cs>8#sb=o;Jr&%>Qjodn)TzS>cbiXqTiSc_a8L1d(*-kL%DJ8PDxBPUe5pg| zskwLbDh{qx4YP}I|9eAbbYqEm>r)>~SmhQkC{% zeJpEyZ>27m)Q>(xxr>b_RyZkyIL-cW*W;MhF~K$lmFLe+u2{m&lk@s`5pMvelG5hf zz&FKbjdd2Q^e?jteiW*;?u^7&3HehqON#!eG03tqDc@>I-MC|0NZ*zgBiTQV^Oh}; z&-mHh^7tL=%izO%ua`6=_t|Qw{hG`*I?Qd z#vQEZ{P!|^mpXNTJ^?28O+IP%!ma%I4xc|{ek9X&V93XOCsJ+D}MRPCRi zr*&WPOCPO;jLP2|3q0gcO}ab7{(XcP^Seil(Sb)Mw;p&%Dl)ojcRA0U8D|){Kq*M6za&g+aVX2On%)h!c*RyPr8~>v@%QAuJ(psc-W~qac+jU| z`2q`3C8IgJ_Jwxb;(E+9wIlt+;~OQSaxtD;3hyLeo3>lb-lHZn4r&Aa(y#1!?nhyF(rqJZSC-G1|dDy~taiVV+i+MzGdS3k#*y@4DXF zrJP{jc<`*r8|G;?O4FDvU%wA>H1c3Fc)n0_*`Iy!=WI7+DXiv{i%`iu_W9mQ>&C3q zAgA>bZ(sWuXvX`mSDG#S?p0NFuvnm`V&{Xum#PA*8y3l|v=Lx;^pp`4mFN+w60&>C z`%J(tfX|Zs+N|EfEzF-M6%-%%bz$zYEy<50&XMB z`mXHas5;wOHu1zO{?AJ%xs}Pt8UFa_C1U(uxl1)w=CQ(uC zFR*(BKUtHK@=s~;r)SokQ&``yRW7-&o#^K+x1~Y8ckS!Ta#Oyz_Ph(Vw2?0iJh84t zBcSqKq1WyxV|feZg?UpL)9ya(WUOR+X2Vmu+~l@bte2np`OW@RW7L!Utqbi6&nqO& znp9cQ@|dxo`O=aM?qkO13=f!GbLiZ?Q#M0VM_1_k_M+Qm zh4V|pjoiwY6+5)|Y;HTCz~^ac?=|IwBqMioU-cEiZ4BYevd6LlR?9tV`BZg*Sv@s| zuVD^jz|`CWt#@o+d5UZ}kmMfc@0Bt4G^0#(TY+C;*S-cTfzHE)Q(xW*cs%#W6Pe^& z^8yPexm6{|Z8?^9`}d0OU#%u5Cu}>q;ac{xb>H_0-o94@3mc5I4@SsWKQ%MSMN4#Bty(ylx$wZr7nu)I za?i&tzqIlf$nEu|iQY*W*Hlgff0kSRVQJd*0@Yo74I!S|%&mU4 zo(EPQRy(R!aClu+fT7!S2A&?isUlrn{xcYYU;AYWG@QC|VA*QU=(IB*uQjj+O0bz8 zI4R`}#l+N9Qd&A8-G%R7YOA z>buE$DOT1P`2cn=Zt228)@8HH%e5b@oinGocX@u)AJZR)*S)M4vCopti>{Vb_1wBb z=jI6(&rR{O`~CK6f6M;X{xPUR{egbhpFriQ*|}=zY3l45P8EN$KPG=Gy!2JSGk!~4 z^NN^b)A!|fo_XUXV$5{&yi8&Lv1Q-y@ZaWdiDHS9{ZY6u!l}h&S4~}j2P&tvviMp>#M zJ*!uX9(-XHvT%RH$2%8%*BwhfoqF(}Uc;5QpSH2r&3qfUB~$VFc9pd033orw-+Sm; zlS|U?Hu0WPlcf@$_rKV?@(9bJx4-wUJW!(2Q=7pg@FPx|i`~hp>hd&G?oWN3Cm%O^ zoZ8)y#5HfKilb%d6TU?aN|Vf7Rr$}{W&ggS^Pg+tJi~*p{U&Gs>H4A0BIqeK;l`7) zV^tSeHg0?NRpM=s`n{i-(>^T8x$&;}+MG)hKlKz|T0Vn)^E3-}nc}l73`^V$9Nq>l z-e%;$F3Y(vPsOLPulh=(N)dxu?#c7I{_OH4Utb1Dd^a<4l+}vY-LoNdUw+|H25SvI zrYFojQa^VQTd!lm^9^Jxp&4wL9p{h#%UFFehd$ad#HgI2S8Ay?sT)4)43#Z*f3 zr^r_&S@g8sTEe&BQl-~#j=K}DOupCVyIhht%Keeb&){!oF27l8r*tzWdY#HFHm)U~ zjHw5eEz!Q+!~=144C(2Z>m4!mcIO?Mv1k9+{|SP$;a3q-kMza>AUdd&&%2?e#+WS zeSYGe^yGsbc|vIlZ}Vp`RIWdz|3i;$>ff2aeSgG9bY4}y@>VvwDrH^>|_nO+}4|I<; zB~LJ&;MygylUX*pys+z6Q@Fo2`y}zbHJSezSc*P!#a5Vocdq`HU9vrqOK|RUhUOpX zGS_cB7Sgvo`TDq5qLP76gR-2h=Es9f7IzL?{4BmMvT;G^i7bDGe1`Q}R==b;Q#+ou zS+=+{t1~Ni%~bRKEofj}eEnqr$KwQU{-stnP0`!evP_=l_Rx+0%QBVfb8ZFvRZa&y zpT4!V`<_)~tigGEVZUr7U`WR-aTz`RJ$4wUd1w1(m;o8Smsic{1@wh~IMt_c@ba zdNITtd)$0Qs(ktZojt#?)*NLu6geBs-mcg%gpFK2c3Pq|Zk)WlF-{d#{^Sc3ol zIrhs8{akwXeVkBu-ZpDfjO^{^7O~vmr zJ%SjHKc2;==A^;3*LvQSA7xr8bC@ibt%!Mi=B)#}gvINL%?>T@lUcMFUv@=2VRT42 zcwA|spEUQp9Z!O7uH7p#ypgm%MeVmxr;%Cf@yA{kNCo9k0spS9xsvy9I4r$#an-z; za$mTPOf+!Z@#H^)m)q>($9qlvjJNP*8h(E2Z+n*MVt?`rPP@fhRZ>q2y)oxoY_hte zgZKUhnc&E68&9VQzI1q}qJCyhZ#zT!$CZ8_x8GixnY%&AiGklM|6JsZ?H7_I7U&m- zG9)XMJz?B#6Vm@_8=wEe6=CW3MBCLbl&utPIGI%Oyo=4`^QTQ8dlI^e9;lyMz@O+i zW8R9w+q0ZCKYbGKdE6DfK+0Pyr_)O2vB($RD;wo|O*wQJ-&BV@&@-yrlEV_TGiYC& zrOorL?t8i4oJj8TzqG{KGbg?O;g@AHE{@0ii&$kDBJQknv=N?@Hb<>kfw8{b=F777 znD^XoPb^<&Yy9@5(+z(Ydrbw#%jMgb8XO9&%$bukT{U9WI*#{V4wI)#SXawUu@yK` zCg5<(u&-^Jl2P%*^UAhbA-%IF6&W5l>UPtA_Rm@28~E=|{=87aUh}o%RP&r=ZFedp zj!T*xTHYojpB1&%VS=`pdcMTLXLH^N889$^T()|_gXeu)rL8BQc)a7=;xvZKi{9Qb zzHRdNM)&2ut6ax~o2)M{xnp^^f5nmp>F2i9g-1>D8Q25rrreBK)x+F;;J{f<GrhtE`v&te>6^(C4b!PHJ2;N?+;WouabI^OutT3LFJ0ByoBTI7eY3*$p~Iw>T)JIhsD0(rQf0C zKX2D=?|Izl%aUA~_jt0e!GwDiG8^7i2YVS!aIm!d64|8w+v~U_%R~FQE=$exd*;uc z)7TT-;=1V86Z4hFqk;uOZtP^K*D}-8R>*9$h+EvZm(^tQo)xw)Hwl^j*>U&JE0)aXhNVhPCjz+?MN|F%Q0*=%l1h;hVpf+cD~Jcj~4)a(6DL=4e_x zZ>U`A#CceN^YwhMHb=!foGigr?2eZ5<;$04CdVExF8Q*g-zMdY%=|-B)9!u`_*-~w zLXM4#dG7hZmnT;ESo;T__sgpN&#;?$vEZC}Tf^L+G@g95dxfCZTbr-PqdE@#%dC0K z+&J&bk4a9=8f?`;4=4Ga+TUUFT{9w0LUu{n<9S;)S0n>g>UuJY_m4V^QS-v;eCpa}#*!^A6+u&#USmx4>v~Ee(jaSM|Ibs_$ z6QXyBaGF$dbDz*t$^F_hNQw{gYkrB8%mQS*Jdsp4}^_d6cbm=!o-r@Xo2tOPb!-t&HUE{kq( zl+`rb7`s@x&*E8cZ^K>#+d>EaJI|Cqi%1@{30kviPqMOXZKlxOO{&SqeacoWaY{XD z!`IXxyJvTbVkrBv43>4G{&9OQIZID)Hn3}#II3o|vg|=qby9;$?1Ih0bAHX6(ii4D zU4E+ZyU9(JuRZh(cd5lNxJk=qFhvBGr7(A;T;e!!tez_}H6_5`@5hRpQyV8dzW>sJ zFSfT$q2#gh=VfO^X9%!ar_DIh#P)8+OK+9M30g~jB?Peae`g3VVi%ccQ4mo3lwq5e z$#m`JInTR#HZN&)W_`SxudP8P{c!6$f5&@E!-SSy+P9}<1y9#!g*6w zg0y&tR1&^Ik)lHm;3NE1%5M zP_-5__xjJEKl4CNpH+20^5N%m%z6WYQL#)7+-$k* zXQtGf&=WFT4o~bZ9r<|Tt;b~p=A7F4b`!C!PEQM;_Dwm-cg*HP^}H{Wtl7Ahh}rI4 zna&j~?I`iqLw_azq}K0E&hpM)D~-++9M6nNzBgaSYh%yK0}q&;PK5Ni+x*qcQC}sJ z$Qftc*EV&o;nu=QRzaS6-*v>97pySb$@Qkl%__*{jo-%!vy0DP?rIdDsJudF`Q@gp zJs@@K(dw*L$X z^PX@eSoqB5GVVRR;dNkVsDpFkIfoUuELj>4CDwOLynb)4ig!ct9Kj10SeD*a`Ne1K z)53l-JxsZ$->c2(2hVbq>dP0WHr&{8;zqrx@R`dree6d8+yHwb|{lmy}W__SMg2a4%P0 zlNh-3fuIv_hvWq|+2W%ryJbpFzMhpBY~jKGb~qLIpRu27{nu`)pb#Ke~HH&x6;3r^sDd_V4Rgv1Ko!+H!aVn_Ot7Ms* z|J@aLZ2gRV!y+Crh9t{qy!Te!wCCW}Qy;9pEzR|m2yzgyPI=rs|Ecdy86Woen2>eG z%vv9A9NPFcbXH1PprCqRgj9m?rs!QAoUHwISsA&h0+L>zJkQInG6_w7c6vhD_vI#Q zPAChBaugI^n!v-eDCnZ=NtuVcLK=1-5p!U>WMFm4B0@sj%&36X@&t2P1=EZ*4sX?G z?y_l>5q$k+W$xPVvd3AkFZgwNCI>^`;q_UG#XB0j<{c?r(0DG&NX#bX^NF(>jD_a| z=V{Kk`}y6^kKZ?*H8c6-sBbJ}-*Uk^%XaOt(33WDmd7ey`f-WbJeKVZ&u;rH;4N$* z^DekYFv#O|3A4t7{qp#%TBu%d!$2=LnJqX|U_wh#IjR)Sw`G5TW@O)>TN=2SOZ`9e2Bd^V_<>Vdz zF!`^BuDtNSBlSXig6;bhH+DHo#VLzNPMz~ce~P5-$7}mNzgWCWz4&%ro+ICf-rH@K zM=Q3!dH7r7NA<&p^@7>6O4MGYI0~q4IP$#w;jO*rrFxV!i$o9?FRpE>U~Z+YD4`ON2y(=o>5k_%Wn z3x&4yIGfAeT;49o>Yg~~6u$$G|*KgHfgM0FM#7vaIIC zcY;0JD*vq9E_BrNBuAx|5qnnp+~1ESVi(`tX(DtXF8ZW`=8f;iy+S_QZ1q{e@aM*> z%*{S!Q=Tht(=wT@{zPTopSmeR5q-LQ-keZhmZkKP=eJLa@TAq-S1#?m>#i3)&vsSC zVPC<@DPqc!>U&vrMNeJwcv~!y(HQ0wZQC#L`1A4^DJL?b^Elq#nt6T>W6a})%XJ#& z>q_spw7I~U!KQLAwcql%vtN&=(p&4g7YDWfyga+jh(W@xB{(Htqj`r+p9V|YBQsTz z_T!S@7oI#P>Sp`$qAy3-t#;jmIU%Z|s&@`N-SOV@jo1aLh;zx^li02Ov^=hPTdr_;suOr^N-Y^`ms{7iwmo#$4$ zk|RA`n@;duJI}mexsmJlm=6^PnO5p8S<7)N$AIgnEyv5C=TAN-DfIBo+cMor#o^UX z<;yD;-OSx&Y@p+QmtE9V@xz_U?3oV7_=AI()|qeTax3oBT*}VKctGY?(8jbFw*tnW z?Q59@AGejBN$*>&VDbFY4Bh1tci5Gc=W(nSTzxw4;`-BVGJRX77oM1Q``D)gH8X-- z8A5)Wto(fB{oK8r52T9oOFyUBG+q~#J#(h)k(=-GIr0}SKPq!)E8<9C2r_mM@-AvJ zz4fQ`Nz&5ZgFRx8Z(Q+}GFjl=ldRll{MO^r7LVgkUmkO1h|0VeSl+{6-R|r#RE4NOwUrZ zxftFCt8jDhY-F70AvaZ~aIxNv4vEK-3#SFJpF7((=YnthJNMGYzDqxE8B`vxifuJu zN|!t-yGs9_(=yN0J4+iFc#@ZT&6sO8&3cDIb%3Hm>Wn#hq873zSE^5V81dk3Ov3k7 zm!@^(b;!9pY4k3!;9>K4Zo6{rfq-LnWilTe*!RXXJ-q$5@P$=qz%rG4e?A{zo10qr z%t*w^@l|!#22-b1hrdm5WZ{{g?^Si?QD{w1@>;zc%Ui<>BrUaHJF{B2#xPVIwRorY zrkg2Pi{Idjgu29X>v-e6>*ZGcjWm5!B6>j-;#e*foW`c);UNzs8L&^;eRbSaxJ_%W?<*`<3!?DU0 zGdvYfDu#UQ3EA7WUD}%ScCwrS`{S3tg8y_Z?5{YHCYe8Ladden+sz`+18P&&Idq;> z;7R$uLMNx(+A+*=o(0pA&)rOn)*BDn?tNt}K51W4JvZZ7CI8=VJJ>u<-pOFp=shq853`O5lD^lc0KGOu?`bh+T>Et5R?_UnMuORAaS@_GgSUJR2sydUL0X@AaB zoxIf}hoSbT0^|2A?JynZ?XpHozN}7-SG@6OK>@qvpRBkA$|^dioE|f?EuQtxqRZ`g zo|~i6Oo^RS%eSx=+<5TZWI{`2h)vCduWx;GSRUS3Df!3OPHELKi_4PCmaljQH;y**$^iySwPn4CHpYF1NMV zVcPTA(MWxJz?)+=r3XW0>$Xff;`w$<>C#OWI+OGnYSzxnidb{Q+FD<8kcoAIuZ~ zvU+Pv9G~{8pw?29*+KTZ$dmGaQ;oRg|6lr>`ax`VdhLT1>61QeneFh@aJTI1xahQ6 z%@i$T>16f|>#85Nn1B3{<6NAlI6=>A@w5Qz&#|m4n2x#VcxgP4D~`!+T~lB$np(N! za>}+TZQ_<%%O~yWdTF12yK?gJ8y~Z4;M(&o2Za{gIJG$Qv8b}p>Zx)3&c2hg%}?<&+XOeu>%W`B zcXLImZrAhoY}4mgd3yDUS{%>XG*P+t@Iq0ZmyN9nUSHUjzA>7!g5yrzRtce|&^8AN znb6J&&6k@mEwntR68ERj^9{3L?ChuV3NIL+giJgtt;xg8R6I>``EenS8PaY17LU88 z-MZtp<6LdO#gc~plYv`475@x5DZ!v2yW_yhn<094N*A;Rwmj~;a%m?|r_NQ*)Zfo1 z&zicSJ-_bDiwhg2t&-j)Q)@*c)xl@==>-f#=w&aT$6Nc+=?13Zsk zzYJdD)xAaEYsork9_?p(vL5GUq|zr$T+kWXaNg(2s-Cmw?Ve3PZEJjKtqV(^sFq>l zTaOPi1;-`d1}!r9_I;&Do~*XV5i{+dt`5gv`Uay;9f_babsjme0a zcjN1dd%CL_nERGIH(~TIC<hxXe8 zZyiM6IWg`ik=?6pf7VET+WM0WF%KSJNLqQEv$L+SXX9fNCZ%Iv4X5YGv2P9A+pi#JYr(zhh|isY0J9^D0j}XL$Ku6GzP3I?q3=>>3sxvrfOY#%qtZ;O$SVCLh~e#UNoUc>I)6IJ~SaMm1 z>`Tf?VYYw1)-*QEXu0IqWeshicfY&KE#K;>Ge0F@o_E5RTYEwdmEL{&_T@|8c}{y~ z7GGZ*x+X2O?C#tf5|%OMIU&ItRiocCS(vKiM0PQ8eUo^RIoTp8`NRXkFUwer68LA< zg~_C?);~FUOYiY@TIoOA*)1$yUta1IpY+^vEz8~ZHOc+)K^jb^!7WMdAIp|iwmg=t z?g~`qNlJ43CwGPGMa!DTMh8drWtGc(dd}2Wgfv+Fx^l_rSl0TPzwevQ*yeWeZIqC( zecq4P?*m;HPVKXlEq)m+5RpDr{?zIiV;(Iz<;mwuOVT`kJ(*-Y zYxfi&I+MFE3^ zT4P>E3fGd{1ECg2J-JtE?PQo=6I$kTdirygN&ZpJ&p5f?9eBaMl&N}JdZ}&`!-?Ze z3r{V))!o>Y&8D~C@R(cSIae#^198unGQBc$a(^$rJ|Xk85`(mSRR5_U_n8-}%1tKz zd9X`(OI6<#*018HBmK{Hxfi(=dM%AMOlGY=mwD~NLHToc@?JL|_@kLNNnM8TPocxL zHEltmjXDLa777y`EG6GntT^5FqOd=!YS)50RV8P|*tW>pB-u%_xjSVk+n?MyWrd9V zT6f#qKNl!X`^vm6^HltbCtnZRYDlWF-Fd#^N!o1nsahR#3g0`oJ>mI$+f?MkeuiY_ z=7|n#pLp$yP|kmNR8xM}!zqHtqE>g#V)=B=_*mpBM+NOR7Qt(CkLEH43O5-aUtX1c za-01e!B3x$drh*a+O&P2=aL;AMzTkq?-Yq~W|m#>i| zu56Tk-~P5O%E9xwO<|kOoCjTfF`JpzZjmeO`?5gv?}MD=`BCL8Yzm+6HHfN8GcAQeWrR?rZOb=6uWj!IMSP<`mLw$$i+SSrv$zp_lgV>THA8#%$|K(7N=KD z>YZfkYi;7YE;8cwgdZ~L69c#8?yr8pcO=MDyLVN~y69)J#kZyv?{t`0WF=F0R4l>m z;m)4V?<~%G=WGA;-s?2)$Fc=Fe)k%_KWkX(c>BWFXDc&0Gd8sB2<4tvc~tw*1@~hX zwptPv3Qfl^T>1SyB~P|Oc`MV_6CdZTZtg!fmnXgbZW9}y^_5Be(=&7Uv}|wYq)R9- zcB%%+tSntMKJ?Tajs)-paIvhD11L%uosei=+p)XaO#ER^k|vew<4x$Q%Bvcw{V zaOvotvbX-qmB;=rzb?XeM1@C4=IaANuXz#2XEuKNIPZ$rQbrl8^>=hE<$Fyhc{>t^Z4H6vkv>UOJg3* zx+-wB{pT8s0K;RNj`Bxue?03h#$o^1Tb%cLx$RL8q4~N$1K1y4>Il8@PV)BUo>-S}DcAp|`)%LTkifi`w z;zV=)tjq(_+v_AAHNJDYeU(d7xz8x`+b2$gnCHK5`%5k@(c$yASaFfd;yAM`$I1=e zf|DGj{qB5j_BgW6Y+n1so-0YQJAdx{B657{4z8BJ{9Y69Y}m9)jX~mg;;fX{Vh=<< zF`O5fncJKoy_eU6t3}K4T$P}&qJW{p9`{L>$E+^hQh#q5u=v^}PbOmnH)RWE*}W?_ z?wUODM~k-?NHtuwv2>R4LfNZj`$5%CF#msSdNx`_yVl%zRwK^NY#AcD=P1;6G?mCBBbe?D)dy}4*<#ES~_rBI+7G2|s z7u!XItc*77KVxy=yOj@d8E{B0LF_2s?A z0uw){uP+QTS!bJ~tLA8NUhdJ-@;kdZ56bdo8SMBOQrN%Ow_C$&ce;A-y)B|CmMkuB zkNfRh`rG0&!#VbsK2zS_a++X0D_HNSmg9pWR%Vq?S60NeU$@Pa^LSj^pQ!RH==kra zPs{r2uJT@L|9fkrz0kv9vK%WFPzLgh2WC;)y{OFM}4aw47tJ3NTs6 zskA{d=E=9EhDs|xePFBRiWFASc=_vU8-?IK-w4JVbqkYQmyJCkvsm_k>KOy$^`&*M?f8qL6`D{)npM!Oyz$21c_wH57Gu6mIX9A4Z(nYC-q}fJ0Z%1!Pq5py36E{$ zW-MTJw@~sbQ4N^p$}sulGFHCl`Ojxf(>TCrmAp(dmf@xfYtx%^k0*8&=^f(wz@Am? zeqsGqa&z3OkiD1t25S1x9 z@-*e-v8wW=2JdQb7x~KsRcc9peeh*Lna+E6W{KlFmfI|CyDFpa;2I(jqmtw@+0s^e z!%F9=eijx_F6cITPd@y&V!6BlPrR; zWimXI{p07fD>U{bbt-wfpPkre#2a+MC2;LAk=@Vd{0`{4m&jxB^?cOKj!^EtDHGcj z@|e{p6#Hp*zG_jO{^a;0TP^O{tsWm7)o))~GhuK1`n;^Qua0ZIxy5k&-rBGy^4fLR z#W&okaq670d9%|RQGX}H>$mn+f6MH={_u=>PmjcgQy;we4tIS#f2-rre+I!Wr}oob ztSPyRRpbtTTwm~adb8(;S=u|p<@a*A8BSZbYyKgZrOCT`@96QX+aC9txI~@1?a8OY zAf1RO{bxeVS(KCW7-S3MYQCGcHsy45a8JC`7|&mSu9>b7tElyzzPc z52g7XSGW3Rozje)cyS(w<3IT+DdG1I<*elKmnnT2KV$y~xA_8@hJOM#ZtZf56gn5N z#P|MzQ(POrp0ikg*&=p|#1o0bg2%7TaeU(|(_{CUhwoq0vT&V)Q$5+Yx=Lv%bJ?z{ z_`%#a)n#vcNrF|##ubI_){VA?fhUZ1#4Vp^tNEh7q@c)sDU+PdCbQP#%Y2Q?{LC5q zb}ZLF-#=aAwfB}4w}1Y=s=k1?U12J_vdV*E|43&shLT5%40la@x{S>)^I~o(%SyQ| zR}WOEep-9uqtnSxU({b{mMb`%zEisR8S~S)>a_Mn42KNZ(=5)LtUKGgczKnZI&&ez z<9S&cwm z8J>Q5JfjIYm1>5F)KqvHLo zCHFslDypgrxiNJcTkeAA6L=Y%9F+6!*%}5N;h(mSeY?n-Ic1OS=jvE+2+Qu4V(4#6 z6gD_#6|_cM{Pb?=_EWZ+4}~iqurbZHe^>SGRiOjVXG2K`f4eI;l6e(vG>)ru)d_C+ z`Tm6M%fqK7xpv5Iyw#}N5%DhJ#KA^cSDV%c0&Z?>85M07kLU64Uus;Dc6-a0=O#QH z0p-PCmlnL6uP@72=sRHo+vlTtPnk1wy0&a#?3gUv{^zL9#JAQzEuTv)SMz3jVR+)b zr@74+xhp3#1vw3F1QhmdH8Km%l0STJQE%`&jhAnOOfEX?{POl*ZzltzL>?>8QHH}s zwk!I=Q%^EWoUofJK2veZN=dmb4C^ZSj=z_ivHY!}nxFBFV6S(#H(Q<$^lH|+{rf*d z#RZEF)q4h~8124ti@O?qh>)3AvGUsjX6BDef<(l)=g7R3J<8mnt$p;Rj)1PQQtyXw&rAUU)z^-jc_(YEzR_o)vI4>l7 zEM~m&JE3H0uiumu?EZkKc=da3bqLdn-{b9?BJ?Q4=VKQ4MFS@DT zDzE5y#)-4q5K`{rCSns8f0z=3_9tCxV=BG$w`>)i9U>IiK+*ieOphCcI0Lx!Uz6(p)?&d5cWC$phwv0s9{Zw3k^gd3k|9YbGC?!=q_0GTOD8 zzxVc4uzX*skg#^oiYKK@>^xPs75O`#x7)IycX8nZ{-}gb=E_NeO$Jt%@&q?BG`~FV z)$6_9=kdL{TRU~4Cs}u$d#n;EE$yCoYZhPevjYCDCLT`j1s}{|(sDS#&fRx~Gsn!S ztj*7V`C3Ch|Cof3KIWR!KDQj6^dxt&Db#M7kZh@aU4|=dBp8 zW6ZnUmf>xn+C_y!-(LIY?`&eUcu}jl%FSr;?Rkcd%6j5Ld3u$$tR|XHj?Axvn&MX+ zWLmh>->~e-w{sc{mKM2pU!DoiIL`cYR!>cXVqTWnw1{&B{yR(+?Kd?)j6SUzjmBapf36u*T`-4^Tq z1+uN?i!OvYpQ-$L-0@1%f;5e?MdESo|AG*vZA5Y52IvVfD zd;gr+G8Xy_Y@GUB{ERr#P zm%GJVUo|G9ISoHV7EUa@%zZiIy`TR*p~?kEx7O8txwL`v`Fd;nsFZh%x7JSHQs{Fl zwCzr^O;=%W<=68TCI`aj&J0cd`g8M*fR4(vgC`!}TA1+3GxjetH_XKaBZ@DDlW?+9-PPI(K3dUC&jBycdp;P7` zZVXgrGJ7z;%56%`#f6dwA6!=KSyc0%p{B1WgDLRou4#8xF}$9)<&QzYF(V`Ut_2n~ z%7rKX6b4CpGwklXeeAv$LytgxS@#yct7`XkH$>+v+kEtq=xsKa5ShK_>fIfG-)S)3 z{`u+G^M%Y^ePu2_O^jb;&syGWyRVTx@5}N2!jl0GPo6b!2$tv7?_tlI@^Xr#@j-UW zVj>C0f~ST)J=v4qL#6^%TnJXFeG`nMLD=RbJ7PE+E^+XWnn zKg-@dms>PFGcG0ZryVQR8B#=FREqNW zoS9wr*hc2!hHfPb&#>b2D@1NyVF_rKX0uo-7txVYBE#?O>!!m#V~2Y0vIb>$=6&Yn z?Cc+wpJ<$7ki&O-uSN>^e-W{%xE~VeomHRATWvR8) zthsrv;^6YiHk(w>=ki|Ms?2#;OV#JcO}WXm;-`b$lB&za(}b)iHa4CY>4=!G7k2Xa zJ!TPx4bxM9{&?dlvbp5%&6gMYuDC4X*yeg_epR2^^rvtCKAhLqxID#9M1ieDdgEuV zNseM?4;tM+-0UIKdb|JJ!fCEf3@86Ha4{FY?iA48$@1&#l1b-J9cDW(nboT&Ffo7f z33Zj=@@YOQbLK7Kv*+?LbK<=hnHk*g?=?%~&@pcP4-XzqGUjM?xO@FaFH`CSf$q!A zH!dc|baEC&?s(qVH9gy;E_y<=jDS^$cfav6!)sGjcnzJnR!uygm0;##!=^Ivz0(OX zhno-h+^cF2-VssH+ZuCNXHw0ECibEXrou@x;+K1689Hv5KYiZfy{?jzCGuwe^jPkD zYSP@|J`IM(i%XQ38D73OSEE;?g+=(@tnSUvR6c3)eak%(z&z4%RK3{NU6T==Ncx_`F=PwV3v*0LuL%s%)3+v*XY$RKd1(38io^=HNL z{Z$FgMkih^5ip!!^;d(j?p#mhL5U}(I)NNdi&pK9muU>VbyDwBgy81_>8*C^6V4Uw zN$&Szm{RE~8Tm`zZ>q3a%)d8pnHhdv@|hVw^~8zSN6oIPO#IJK=fHV6+V-|NtwX$!cyh0_M`mHLhG8; zD{FJRjgDR1ba?;!ZEPH0WLHR)*&YAkoG){aqO?$$Df<3hw0_zn^?yc_kxgt0%+(O!X!DE?}o)CZSwp(oMOBs|jlbFpO&U>u3+@MoD zQ9|! zRn<*7v{I1G`O^nJcCSeR60JRA3zlrr?i3Q^FrIvZu{vbMw>Kijde4%3eupp_UD~w! z75={4u|QC#@VlSoF;^pBrF%Yq7t5?aeXP)%XGdPd#IGyWr_PrC z;3*;TsPRphOLVCQ`zc#ii=RdX0&;fWtb(PKo01bJF+2(Ra73}wxlSd3h0)A9H>M}~ zMW*Mi?v`5~FQV1vv_0`SmSpyyf$8nPv?&_L3{T3NpLXDJRmeMNX)~!fsNeL%?RuV) zWr-mVD^5IlE~-+l#{RSMc8`#+ft*n4-{(GZSH8PUGTyB)r})yW2$T4lPgV1-xG^{M zRlc6(5H`s`g{%8GgH++2H7h($vfDhGtGs3lGoZUNuJSoQbw?ED(?}cj8mR-1h4us_z8%dv~5UZS~ST}`Q3rLuh_ku z&TK4Y?wV*6Zu$1OjTGm^*gJFBoF^6bq>Hql?lL<3G*sPEV)=Q26BAXmLcT6sB7DSU zr*RsQ zJVw4zlTS@#c2$tHFqO#`VLn~SEnvykIPri_Mc7}~h>2}y#GdFYl&$DKzQ-VVQsMWi zE0-)h8kH6LXDy9;w2>h!c}`FAUhk|m424@gCGuylHBxN+)Rowhvf#n5?~ATE>$Z2e zZh5%7*r(x%7-vKA!4=_2C%1T*Clt=Rx8+%Z#I&@Z4kz9QF*$RIrCB_gCz23!x?M5hQI^R#~$oUI^KDdY6OjLmS@zP!Kd(~VwqFSi!jbh06E z5S zlbn4$W|lnbUaZ`bA!u zHr-siBeRJN(jip*X5sUk+mLZy6F zN5(M@ZZ-!-o}%Ilvx-`qjqMni*IMb{{nPVY@sNzcTe^L3J6AIns^oi9J*Ny_7=a$6YrmS!t0S~)@VvAV^vOvPj=Q45tGz3N#r z%}*>`D*3+AqsiPlvcW<^_66g-w2RY@aXex6Qf{p;-IDU>xXGkNM|Y$v?=D?2A%BX> z%v+X^uQljsH42@0z?%GN{nH@b?I-u}{oBg*w%lQT!=4G%f3pJKDLzYm(z{c31*71R zAVGse^V`!-|r z6Ppi}A}9X5^te;xc;e^o0Os#T|K2C)xbwI(BrP-B2b~wRPR-;{txMpSTp?oj z=6O%w@}&%RO6%oVs^i)7-re}N+U%Sdv&qCsPV;vkt82I#x-(;LT|)SzWdCQ_ z;-%QxtjC$ycRz}Clg{>=d7_TC6*+T4GXvc9o*a-k=K0p^Q%->36yXzUbItB=G7KuJ zm%E#xy1}4ra?yjD#S*4AWw!$i7`8hV21KwiSIaz?Nxrp?-Bo&fGCK=n*fv3x)Q893 z{oPwPRn33SiZyI+p4M}<*iZibe8Pjika?`$*)~BtQWAdh+6Emq!+XmE zR?IdlGW;CuHRF-6ox}6BmNF))-pNl7tWwCau8{uZ=4ZPyy!w=xn}M5gUzSNyU(xT` z8;|D%PuJPmRwH}gg5AEA!EZvp@=5)P_iguW4Tx-%?2P$vgK>9g+vKb~?!GFnfNyX1 zWqk-Kv$fl5#H|0_>#5+0!*U#tO%;4!cs*AsU9zwL^iHD{%-TO^HL7NpB=86CXkE$V z^7n*gf}f?zrA5b;+3xo4X+0aXXPSYSr}23$kL9=HkF8PuERq*zeE;K;i{aajyyLWU zayq{6P06pT)l)-CrDZlZENMN#wDfm~`IE)ka<_|{3ctMemg&1>a4Tf}_uXAh9m^Uc zLsFXf97R57EK^kZl&52tR1x~Qgs-()ib1(kG51ok z^Hy2f0fyur{j8t`^Nm;9JXTv^>5_TPW=@IhtFyZ_duPsPS)o#Td@IYwZ>_@5(#}gB zTpc7GEHUHn1JC%`JyHuhnOROAv$TEnfJ;fTXTsjqPORG}PB+qi;^A;UPAiP-{%-y4 z<;)^CoEGrxVX}O_)%ID$p?Svr(`|iOUMX&q@tpRws^nkEvF^mr@|P8^EH2rY^6}GS z%d^gVSTxQ>lv^xtT6zD(!LY~8=Q0H^-T3KbP*6SZ+05c<=_7|OFdXzaDD!OfQT17i z&mULdF<*aeY2Wexm;dH|sGajIO3LZ-v{P^YtoHWX(#HFtRjcl2dYs3jX=eaBAZ1`Gr9N7nUmP-v2u>z$gAx*m0GV-y!|VjFSxb zZGtMZUht&w@XdJb`HgADRGc+ zTWY+mb8NpOk}V)diFpL3=-r-|njT6(HPK z`FyRngUjmuPYb^+JJo%E&c|!Zxf{E()gFFM=n7-Dy{J4nlU?`3$z?_c(*1T@v)+n^ z2(fQmb=aD(Qr>G?!@5)L3+(=suDa|X>33&?`u^nLyVl3puJTy?>T;{NT9?FDc&UXg z+hL98?PFDs_lE4={$QD#;itdZQ7`+awlFh%6`ik9DbL6(<-_y*PEqqZttAhRaUQGH zb}HJi{(T4&zfJjyls?ObnW9w*kM~CHkPI^9;ch(eBs6k{R?!0a!0>gCR5x{5eP0zW zI7j5UZJ%aiJVR0V<)!XglQ>+J*0}Wvs7zuiJbBj0W1E^}r}D(3As(r!+k5$}Qa)(e zuCcsl@nvP#+@o_H>~^k@&!0I*Zic$3lceb}k#`oWrdK=t?0NFR@_g1#BYBk#akfW; zZa!~5@H5=hvoZX~w|1GTU^VLv8=Gv4!&LfpZinzZ`54-5Xl=k=9O8R|tG7kupxxCd zSBAGie(raVd(HEl8T@YQ-Gj_)ol+dkHk|(*>YW(l)Ftxtpzd{c=9i)Glr!tgy1%yv z`c2MYVM}g2!8Y@`Rq>q3J7D^O}#YyszMpNeTV zyM?EjdNRgqc}iHaueI3V%G*>aq13&t<@kmb=duLEwWlBd?vPd8s51M8Ox~AY!BX}U zy(aNnK3{)rg3oC+rzd;`?opmT?L7~KFK{KeD;hR`64O2Z*y|&Yw%|$01GbuR3022v=Q3Gti&xFva&799QuVpVS-LW! z_>4b(x9V$J zKF3UzICr@z^Rh>y&4I-Q5@(%x7N=c1@xJHTB!{`JGq;@x4QJ4=e;RnSs8{0ijAf4- z_}4G>=sJ*kL-@U~wYcu)0$Dbz;G6t~w?nH7UpwzUR_?abZi+`_gU;EB*XByHOCMwE z3F+;1v;6tNwpVfT>Br|(XUtvDr@2}en`tk2ytFkOqI-GTT&7P0miX{?$29+lkMzA_P$kCm~%-$2ElKa{C3jZj>yvq3VyEVE1_mCyH$(EM&W8To6U^o<-s@C8?ZlHWa>texDxBw@ zd$=ic8Fwz*HuiIs633Y)oSJldg~jcTU7U5$uBpeJ&r2+* zQVe@$v{tStc)h9g@)-pi3#z!nK0VE`srIxj^iPtg%1Sih<9sKt6@gofheG7M<^$^~pJW-PQ_f6R>Rp&nr>9+2lR;o_2SR6n5 znQh1W0H?kMjd$i;wT*4q(ED^5R}Yipa!#%V8q1e6gjgKPQ~7gzPWf_;Pn+J=ZQd;zlMjH`wOeW zYcnMJ_9T=oT#|R^^ZBg|wl_n19>4CtH2r&CL&B^qMs11nJ_Q^ve_Wa>u8C5Dn?7l(u$S@UNXt-T8~z_%BKv5PM5W<3KJ?7{!LZr=iSM0uHxIWL!mMa4VtpMt~BHn z+&I70no;g1^Mjs-3Z?m5x7D7j+w$zd#5qjnW#^fCjMaIp{$?Fml`ODva^~^U<5jcN z9=e^ge!f*FM`E%P`-G6)$ITRCi2DX;przyndJ9tx;ytTXIuJ?d0yB-<^>kN zx=PnC+HYCyzXLaH&iTJX=|YnoXjI*c#xq)ZKlp_w=0ijTUCV24v9SZc9vOnYLa@j z?2a!sT#b{QEk1p0*wbWnwfAShsy)f`*P2Fb6VBsjnRu%~warySgs-^qtjTS+x6dq3 zvMY-`<>q=9s!}TPb(u=fo$daoMHrri%3tC8;`F-loV!D2S$<3dhqB3)fMyQ1Oj|+E z-h0oIKQ$QoS6r1aHY+^M=n<~xzJGmHMqk8|`xCc(zP{Aa;nk}070Pmdv-^Hr{21)< zL;b_ys2}qmX}?&|?!RH;0waUiw_84bef#5jGS9wbV*#5LS7xRbe_9~(Df`p!e_Wq` zC%o7%UE?Z#fWNiP`>wsqp5%3Roz;}}7I$2!m*Wq_SlE`R8|{2+g`lz2nQiN(D-B`+3hEl4@pKX<>7Z(Vu) zL1p{Yn>EQFS@#)KOuE=Qt?%O6Roz8qp7XknH`NwiNZTJIaZqNHHJb7nE3DaDv>$ZE8+Rh^>p}oWnbIegE=p<-+6BE?E4n63r`nKY6Pl`@^e@u{%<4-rMCt(vE?816C zc{3d-IcviEpF!*G^9G5+u9S>7zvt=AOY;Q(oZ=|=BDv=$?r*ts*8E6y zle+xJcOe=Qf)gr~_CEd=b?}Gk^1X*1xid^UdD24W`nmco*VZ!CgzlNM(#UjYnBu-? z{xapiu3xTacyrzFhwGBtZ+R{rW7M-$&Uo@GZP)TYCdwO()x>jR-BrG=SSMmNp~q5| zV`1m93p<{7W%gb(y|>>yPW#-7n1G3g4u~+@P5r$6k7&Jz)buy@kG#uz4Sz3s`19`P zl?+v~2f{B-H10Frbxo}Z-r$l>8cWfzZ%aL+n&Ad{Q3Al zj-RXUME|?=@nw8Yn0ZuF0_a?c&t3NLO$LYT+>ej#O zQo3g*dmXB{rmtas`s9N-<)Xj!%SD=lr)Rvl@3nM;;m3#J6JG`&+%Wfd#c}mZt63-K zNgm%Ws-zjmTw8dr(OT?Z?DBNGw#9v!mkScNJYK(Isb||mc^|$VkLK-`*5P>E?BjIc z=Zo5(Ci$uAg}2X3EZcgZ=Yi5=*-X)?x65TMj+!t(o#Rq8d*_48oO~7Pa`U!459MyS zTTnQQO*kXL@ylvPmyhf;mBX4N>mIRL^<7b9bKFs6$=0CKE5Y3QY{@a@pa;3{_yaP+4!vdm zxU`4&hwXV0h6X;>aAoadevG0rMJjv#rBq#B$H~1V{i!Is!2{RUH$@f;xV2W@VLpFt z;xUoJA6J|lPI3Iz^x4B#U3EcwLAvJW_3JbuBl>3QzP~ifGe^O3yTr>&vt}RG>W`mM zc9gLwCrzgOZCBNw1$i>xC0E>;bfERuh4+dM9Cz3Q-#Wzd3Goye6(0P${c;KIdS8k;%jG{Xs0>->#M@;4Fie;PfMHB9+Ycq z?9*CxWS!-^%%xWYCjJUGILaPS{Mu6}A-T}fCgsb5aL4BY<)U}{T=i$Lu^H8O-F>q&J`>*A8d&#SS>~WD%T_%(aHo<( z_&oN<4)H+|2YVeuUl{P(3T*tn^YKzg*+X+$WuCJXAN3X4oy@wS;ZY7%pSETVqitX2vB$+zgM0XRm5bx?-qP?X7R}h*pt3Is-ldY&94Uh8W&H@av+^>>Y2cdV=Fjw32Tf zFSAfzs^ntcrqZzZ-M0ndVNw@o*8S>{yJB*V?Z}sxv!?b`+-R9oc;Z-=7{lj2<6BLf z%?}I2?Y7)m_)oy`jjMU4-~O_B%G&)t0nDike|G!T79VvJc>MH_mf!LlLE2i1?Axmt z{Ix6j#mwu)-1EI=ewWF0uu4~3*krH6cjuql5>+sDc$0qGR zC(iaH@CVN-pTj-5f90}=0(s0T{~4^5#4jBZVQz4%`tsUapr}Y>0=oiV=B9}|i_fz> zo6A`^r@-*6bwn(ul*TEsV}-XSI(HOR9JhGya8h}L+?JCyTW36%w3#@|+*NHt_f~O< z^EH=_1xq}Zd@|9Gd+Ip@U*_+DS{o$JFOTwNTaj&@D=8tnLG%7T)w1QM`)9xOdMVvM zV;+YBSIk@KFrRskFHKvprcFELG4tzSJ&`BPua7z{be3KII=E(c!IC+BQ@Vt;dw(8v z*V)+0@MQ8aR`+M3JS#YV?hay{Ci(V!6hqPSv(I{-FZJ*!5SLx0^q=97TcP``qd!kQ z_+Wg!iy^F&!RB$7Yek6x*)L5o=xNbDo>R79)z1SfPspS--gaCswc&7z@NtoqTP@yc z9&-uaFmc}DYn^rlW(f(OkFu&JhP0hHYcO|Rilj>aVUdIT^!I*FDeQ{4eC`u%Nwk+0wSoyJ>a zN>xf$s8;ecu`aw#PxJI#S$wM1OySp~Sw3vSCl$+n zF=eWRXfZvIJ1#QGAbt*?$AM+5=kD%L4q@`Rr2gS=?TWsD1ANB!P5!v+|5|p!=F?p* zW^PHdiJvB3kz&}gMD$qwp~VwqdgR=rf-1Q7FJ)y}oL6{`aRJA7vo|HOnG-#qp549T z?Yt|G`Y(U^vdm~=`?<;&RabT^=qw9==K8AgsHH7aP`Zxvavgc*x@M zI``K>%%Kg>3oTz5Us@W@Wf!AyJnn0dYsBy8*CyU`b9_3_)|bV^TY2>ct~>MgT@~nA z_Ib1P?8$d79XlHRu5WJfS-ppUd>CY;map2;u8^v*dd{yPuZ<_#E6)4O`4#kYqQXf_ z<{hTeo@&vO$M@PcWIw$ilK1C9+OnHF5}3QzbvftpH@H_#RmnGg|M~VyuV@CZrNYez zzKEQ-8N#Z}<8D(J7GbQx`?9MsF~PI&KJ%^i1w46t4zDalVpgrOZaBYHTc7ddgCftR z1)KCP99b!o5}3Vl!k^8qO&$lHv&~ttpjF~_mzc#Rg%uXE6~}xP6O_+g^53wEd*h@X zK2JWeTdw%?-k|a6x7YrCuCuk+_*aUYR7k0Fzrr8I!gpfhoBs@7gB?#uS02wQG<^Hi z@%&oT34FpbeKQxZ-+tRGk^C&#f$vNJj3 znmi{Y@8EQ<<$XIAaIKX);H>xb%fiTxV}-|+mgdN;P%bm>&vI!{E^v4}`BsDYDc_gM zPXv#j(n{}BV&MLIzN$~t>^bjAiDO!3yFG<9ijT_#F!xD%Ep93d+@quT^joXVgv^6K ze=k<43NqmdsBGus9At>VUw*ZgHy1Pkbj)j_@9ym$Oeou5_Oj7te0+~amE;EbuvK5r_$JMSm|m5^Lxv4po* zp4(0NanY}??oI#`=Sds)xpR$uYc@a8U~Km(o)vIl+tpWAQZ=mNo$gf(O|H3(i3e>r z-&)?G85jP_(8pS^d;Ncgs9BSQDkYgG9%b1kv?VEsC41U`h6u+$t87mT^`4$nU{Li} z^Br3`lhKVQ!GVGERXyd}nmi*H6iJHilr286;z=5pllen`jS3B8pGd!=i^-A?zARun zd0x#%XtBx0PJScHC*MVuh43*H&MESI=_Sj^BW?GE=}P{zNfV{z<}xJvrS!RKdA=|x zzO=af&hII#2cFx${3zfSYw`8Vf(uy-WVF+_N6jn}PE2tBv|`!J;O8M0wyhrfqO_WR z*GniOTP>%9Gmc3Vo;T^2+STN4dzOLYoI@sq+>&6vOE*r~@C4o7 zAg{c@=Fb7CoY@ldH4+~8XEA2j-3_v7lRQ^-#XZ}*wZOnqmprm=LygGZo(j_bow;o zr~c`(wwZrSQa3l>NuQOo>Z!YYr%BCHD*A9#5mVk-uX(@o;CL&f&^i~FUm4lZHZK|c(!u_W+_FLGLEO!(MS}pQ& zUh$8hLx*>E2ZyQbON!TKtbCAe!uXZ{a7o+! zLmMV@gx})3P}Nhq_M*_&%_lchhMH)={CY+~sP2A2P z_M*1c<7upy_zkWPg$MTlpyWTr$I# z*L|AT3dL$Xez4Ek?&zm=S}!1>tj%kgo2)b{8GbYyGX8r!YjY7tQ0sGXt~*4ugl7R&F< zw0wO$Dv;xj{F%2Wl$SDiTYeT7Vzt{EU&Y`x;jnDG$@6+u?wvo~*ce{=rhR4$N%+s8 z#UQZ8Qd9n(&9iyWi}>}|S@Is!lCb%18UFX4@fNax{u3ht~t)&5q&>FZMJ}}qLBV6Ht{`_~! z7^Ku?roOz)v?x-+DY)p}ahuOwEKc1;c99_unw*n=WL?R8qW9^hZG&uol-NV(nj0!* z`CjhxEJJMES1{zt+Ga?VsX82yIXU0YDtKzB;NstB|M(oAwNm6$?xz_~`u3Ea<&c?X zef~_<^R29t9X1?Ull=bsCgZb)4MI=;S}s49*wc96-RHf5Xdi?kDkr!h~y@@%f{E{T2LIAsK^0$3bvww`-4=Y#R3#hvrZz8|!Fuzsmc zZl4a*5`Hh;S>{En4$OZjGVg$W!gPt?o>FCzF9t12@sD2kuT?p%==?{uph!zQQ_7Y1 zfP$QH0P~$3i}NCfZ93L%JaVA%#^a^7krC`F0{%Whr?oaQ2v4$Hz_Yr$)683C!4AzS z{T3&G{mp*je=9oXips}3w@P2lw?7-Wb>n5pNBeeN=b3O@tkuoqpW@M)%-6b8fp*!iMuL%NR5Hh?6Cy%KF!ED6PCG4CV%?ADoR1NI72$~?Kia%S~Y&T__y=YPHpecY#Ub1Rz zF|0Q}@t|EoCZX}x5~qd6{3`XQjqLR@pXhw#?f$f`@O+eOd)3O|p2hD&5y?CYIhIuQT<1qCo~dCtDvOEKXidjf;}QU*(fiT~V`70OIw zmVJ}1d%sZbYi9cP`A<5pSG;jNu)<}+k^^(}-aKYkYS7+0{r!`VOVv- zLCZb=!slE!)#}7*xsdcLvlyCQCrnw~aG-zJ>a#+}<)BlsN-WPs#Gzaf^8T`TRcBf== z-&Ywy-h(NQb3UGpy5V|uQO0&ri~RgcYhP}=xTyE!?FFkQo=VnQfB9$VMT5`V`;0GW zJP1{^?e<%9x5s!&^AsGGDShqzdqs!! zboL21A6%BIR7;C(XI@+wXg*t;?J@JVTbv!+ThnH1%&<5vyV|I_V%p2Jc;ljV7Rmib z!Y1eRh7}li9JG73YQ{%pdzNQQ7j^U~1?|hfd)_Bl?xJ($LWaleFT=#^c|Se)Dk>># ze(Lp>^fvab9=hyq9t~O=C)LZ>X{zbW_FAcIq5NU##N;;FPiA-O#VSNa&rH(UtrXL= zU;A-m(8Y{N`uBF;yuwpdePyy+l60R$;{;as{ND@8J4~9i@xhfB1p|{aE0`JPePIkaaZ;%AV{Yu7w|VW? zmbvvRb8#^6u~l`gF65l&qVtMr@b4?L;Gk;2b`!o?L?)uO0>&28cv!+a2wZMo$qVaXWkKn+*=bmk;Qywm2-vN z>CwuwH!eKeYHN4%?Nc_{JBicfXRMF?p_sPqA9I_<^{mwsmgpJ(2%r9{s&{rojEN(6 zuEqPwU0>sy^`BSpoqB23TKd!B7gvMT+Eoh*vdmhUD;M@(n8)fBlE<9+eC0AvNoMUi z>1!FncHQdT;^9}-)vEsK%Ay{=10mDvtEZm3=V-fXxAqB!#2!A6l@}ExUZqbAt0-=q zdw9Xhi^{!q4s2Elcs*D(KO@M)m=OF6GKHs%6e}0&v8andV^LRGf=HmN0+$oxgRUqI zh6A!IzKH}n2tHO{$|87e9-F;Z_Q&&CZ4GOS#b@pLx+?$o)bn4~vh#$S`aQZkbK84m zmik|-q?jhA<~cmSFsuF9Im0WVI}<`Ccy5_?%s6n@vO6s=Us+#i^m_4e`xnz7kIo#O z#gec4y>=Ez9yU4hWd5lICH<%Fob35}lp!sPXSUOa;>)6;H=EknCBMFn61v?wWw+qx z+B;XHU-(_z>M3FQc&Rkwd_$h!n{O{T8a8#u@5Q&48|+YN>^;8Xec-7Ujlk>5ud=SK z;Od#(nDf>q<g!x4C)uyI+^poK+ZAc(*+0`@2fJ z$!62PIgd?^9tDN;2ozphu&eiK`TX5mo||STc`$oi5LgrbI@IrlqvZ36$M?o~99nqZ zCY@>Zd5I9qV;oPaL){ClMbmRMINa=aS%*e0u6@kH_+@3R#EOXdJvDp2t(bpCS>=mO z=%kBY59cPyC28h7n0Wi%D!GN8>X*BAmvbht?^iFkTrpKzIlC@yYjz^fjFml2w+r^0 z*-f2aw04JwMDGoWw_(rI?ie{9E`IMD)FPr#_2jC`ffXN5N~p7Ze0lxW!g=P(XCgWC z3iz|OYnCf0^)C24@%qbv4chnC_$Tc$bZ$N`Kh?tQO^)1M%}GZmwppC_k@BwXmY;u| zw{>}%I9pP42J>15&~fck1rRn-!~EZt}yYFlkwa0+f7*}@oUa_zRvKq--J19 zI^6w=eV;ZQcp}B3l2P_P`TBwt%O+<}<>9kX2yOCWXnc?fIjnjW$er$KOjHx1J z;=V9txhp3hR?g8n*}!k|bYg&D1E;L3yU3=5nU4AIo_t%z((vX`anI+zudye>)b2bG zKly#>jv9jmOJ$k#uFlY_B2D(UjxzY&nYGvE(v|6GT>d1WI zijdpHegpH6jKDp{yvWaDPEBpMV26E3CYc_c(KYPA^t(BR>{fftz zMP*c!^rvr`Q=+scx+#Rysb{@(RodjMY>(>K_?~X|Ex$cc;^2AaUqPFGdQbi|r-=X4 zst0>|BBQO_dHk7Q`X_Guq&=0faQ6n5z>JTHJFGW?W-fp0n!M5B*Q_Q>$tj)^IdX@)DwVlBmtNo~WsmrFB3jz7 zz`nb0N>g~HfYztK{#$jAboR0NF|2r~7wA2A?Hi4%-aL=fyL@{EZr_-9=(dh(T7IhRg;dK2JQnHadRTt}pc zgFz~yTv07>a?h6oi=OnBWs0vnVYkKl$%DKg>&9!{Q#)tmzT&VrsxmvC)s4gES8(`_ z+dEb(%GawiTOJjZY?*!Yhw{Ruy^j+d>vvxXIQPbVvV_gYm!WH0yj3!Us~YF-*|3OZ zlI@bum)Ckv?PRp}tLn0Op3t%57Q2aooKLXYdy~Ej?kinw;b9Y*3;P5!PxRR3E>_-W z9sH-INagsMy@p=r4wzfMx^v-X&a`92pL(i8f;^b(J~F+t*R#H4J>>wqLaEAyhDoAM zjxl{zjbRb2mg;?$CZ{d7*WSs!J&)h3r1zZhrCH@H{7im}{7#>{WOaFQnL}J)gY7Hj zGUeZI3j40~n#?@Y6B$$Z)^lpogUKb<6CS^Q>BFnezh%PlHs-FJ+-Ho^n#vLuvYJOM zre~ZJEm*w$VUP*e3XjhcdB>jzdhRtZzP~KX>DA81x7WITQkrmsrCjC90v#jHmc7y| zj`>TT;*#IBaTTX2j!-`EDC=XXLyc1ip_1id(~TqQ~tqWTn)<{=dn8&2OJb~ z?opSJkeiyMey6eF^;?HEZgwBTBz|2^(Ks&gY+7O4JqAfz_N*k)`suP7qFV)&JZiSZ z^pq@}c<3S1w*!yn$~|m2{*>WKkadHD#GR`CEHk!sEDQ}P318oK1+`0t$yywBd#qe{ zXTyWSFeU3nw;PNsrHdU^3>ge}Jlr*}xT}7iuw>7i4~2m?X@*l71S(c4rRHeZ9*?^k z=&JiwUgg9Z;hwJ+BG=CJZ&jaNQZhjynn)J*h} zSjWhGtwD6=!yd7?!X`uCNav%Ug?m169<}_>Q2A;8so77gHl31Sm9Gp5+`zoqi1FOL zxpi+Xl^Gdcxz~Mpc5};<^eZ8bU7zL}wk~U!DJb%eS@NLTjQDjN>Jm1=%T$xN5nni`@lGs*8B!wb!#rv>Z^rM4>@E=-yt!}C~0mvJ)7rd*2y+J7^T zerwqA_S(YQzaf9_wlZCNvM6Tq7WpY3B1&KS39b6`Bj)j(OD@a}%X@-VefAwwNV$}7 z^<+X=I&*p5m+uiD`(MslmtxpZ%N`|eBs#&K{p-pc)15jeB@T9!$jrHHe&Y1j0=}Y( zCtU$mMOqmS;d+KA4l3{UIB~>T`f%>s<549}P9Dd?CDcux$4qEmurx@SHPcLNXI$tM z^LH`TJ;7_@SIj#7&)uT7jT-HF+Dl*`um&+CKxGyQ*P zq`&$3At`ae@f9c6y=D{3Si5G%&&=)8+fVG_^Z0fBdHP%b-@xB z^PRq{pUU4H{cZin@$a&Ks>|E{Xp2m`>2GLtZ&k>j6?g1yi~EXW?cZ$t%~6x|cUkFg zX=(oU?N#C}VUJ7CZ7!X0`1U%xij$T})n)6izQ1|(+|9FisSk_|DQ-kJ=Y&@l}Wc=maUNcl*BXLDB?*wOksx|CV zKGSu23!?}Bw1%%QEJPFqcgr?UJf|TZxLUFM$t%a#mra$-XMgX19pG_vj)-N@URz!r zuitf{3gt&xZp<~_U$k9z+vO#yQ&^LBJX_SRt#(y**W{p8VixE3YTwY&$@#tSNBIWeR&j!q%j!M%gd*VmQcB%T^UEWPXo7r}QZA)D2H$riR%R zzV51f$|X8~nbl>Z1%LLQSDUSV$~}JNsxYRa*OS<7iu;a>${l!|$t+uxxu?l}c~IuZ z)`@Hv`xAXwk~cqPF|!i%SQooJSAmb?sNU5`zCZ8Y`%UR%DtWwORg}Ono4pR~%N>2g zn7=m`8Qz=wv|XV=Y_X<-bYwg4*_d+G-AXRC3(PF+ri!gBay<0lPfKE3@lkIsPxaGW zV#gChzV_xHzUA6;y?oZ%Wj`)lHn|D6*%Yx&E`cG2k)zcszxlQ3`b>-el6 zah7kk*jk-Ac&4oILxs#b-;!%#O-|8LOIqyzR;8acWVT^Gcvd+tm0QjDHq*S8WXbhb zSukm?D#u%Pk2UJg386^smBaBf{)u8$1RXDwSUd7tnlkP|L@>i zjw}D2jWcLVShL)7s>3Ts4Y&HKMSIUq>-bakpP?z@6~Fvj<%Lm_ji28y?tK#cS(_<> ze;MQYJG!n7yHq_+D^2?~F~0Tw2cNY;=gxmy_~Gr`U8{Z7HqW?Q_fA|n^NYIW`a9K5 zpYG((b5m*XwA=ECx34KuMzrDt%g0^Idpi!u{wnlKxx;oRVOEuf%tFgA%Q{uM6dW_z z%;sg8bKGEQJaLj;=1N!On=~}Q(&`rHsfL7=Y#TI zC6x(&{Gx*W*UcALZxe8Kb;s|r6=Rfo(BTCP#RR@`$*`04Qj>@r`U zO+K%~A(OsNLu$iU2a7kX=2`pi%3Si))?lnE^fj8iqt(`5;=xCURvm*QPo`MpJ9@1< zBG~h!z?RoM%OrdMg6Fvk3Ys>3RRJt38sk-Xem$D9z?}8q!D9xR3U^NKy^?N|YrFEc z!N1IyO<%q(U_3uv?^+Q1I?bh>67r{(WE|Fz?*GFzL&8<<@#I&=4)2RJQw?Qj`=6;? z@i=IK+2gZ5PnTQI;raDDB)QE}w#{N$i_Nkp2j%-RcP22LIBIi3%)q#>;@P4yhRU9* zucpbD4o$l4zP>IaGQ!M*sdcgj+l9*4zO}b2zCO2`!fWzHUS-w&;;tOyZJ$D?ER2z< zx*REZxjewVDt5O+$b*Cw#!HR1M>8JXe>O$(<@~JPZ`0n`?p@`;v_Lv@&4M{^|7r-_ zF&0?xD`c&J<^kotnalo6>=Rd3HfeG?k|4iuK_-`YN=3b&uiyz$f7_iRlMFK$6!KoU zRU9=lWp1)AkzL8Bd|#`4Q|Zg2ro~#@7-I@&73zd1${HWE)tqS9^EQt04XZ)N6(|4q z1ztTu70Yv+ZdWrqt9=NaB9PhAZe2W0Zte<}iN=%I1PzbZUD>_lX4~T%QrVWj_gZsF zZ#G!4FkC_N#5sfdUsp6W*d9-w_h?p{Z$s`22b-Whl@IzjUcPo%vrbrW^ONVyeb$$w z+yg)NE}2)PN%E^GaGtJx!sy9`<$?;WmzRFK! zP~G^M{oM0q9LF@vT63x|^=@1sA@Qavt$F9~!mkV1#lo#aO5S=TD}LJXpya4E2iu>& zS)!AlDKBMEQ*pg#`DNwA=6Me1*I5NiF24Dhsq!(?v^$#C8yn|+VR*)n^7!^rF0ix_MkE%7)t zr}s*hJLM>&Wv_6T1I?yl?#wqd?E^Xbpz1crpdMn}&(RXWk$#d8X~ zJT96s^febqZ!kKueO}erlu++#x&2n z(iLA(@PP43Qe(-6H3z3OEw)$@vC1se&Exs3iFeHX8j7;i59YDQX|Uf3NpLGXVRL0g z(Vm_)!*!*^1>WxKbIm`0eSDNt*rSl-s9fp2CJIE)~J{0|~Y(pT#Hy+~B?w z>|nC`cteNbQG=Ns2`$Wj)J6W@?)$sH&(LFe;i2?T%b4=#*cCQzf3{ROWy;I*K9|#- zPPZg2-zm~knXo0kT2j(t0dxI~r^z;ruYI`=KdE`rw^b^&;OR|2OXm59me=bpl4LFq z^jy6_smpSzq2l>vn#q|;s@;rl|C#*gd^z!p$@AtjKRq9OUAe6xy!QMFn^^^&VgeBl z=FNQXoATRC)Zq`W<(;VvU17pE+QM!vSjkoW@%*KUQlZit_T4mDulI3dr zl`PNJo^_5gOKWv*ep3{M_Up0|~WVU5!<{+i!cTa%wMCH<`a9lU))N8vMJ zNglT1OLNTD$Go$(T@}&v_dmn6#jN(%89a~KZMhLqlKSzpeO|?q+!^Q3-j_Fbe(n4D zyJ5t26~2m>zOT2hIQeCzci@e{jSXQz2Y$(IS$ELEHHN|RsFKysHj~7uGF{Ty^Vm&2 zBgBsA_T8ysye#6ZF7sUBL*{nDZ4qu2w@&tUpCjMF9CTn1^Z1>6ooL|-V3Lf*k)6)3Tf#+_U<^&GOXG?rqPbUaF z9|=9Od-@&06DyX^b8O-M^mxTv2mWcU@l&Tf7mc#?Ja&?6LRJ4$f37n-Z=SQ&vYjM; zOQ6ZN`U3N*ykdPzX7+otqMVL~r0=)Yst628?U(qvqIl~erO$nS7A6eO8E07Y&7Ho~ zS>g24Xob>STJBth+vmqzTDx;XL4omE2E&4L(duQk70ZtAI2D$1gW&MYD@_=+8D=Oi-|BkxApe0^i=B=%f&D%WmMg#M1WrDGUF1MW;u0D8MlC`#UHvEcdp%NM*;RpAp9x9>`re z*1q@?!`m)~KDUVi@8TFAzx3E7&cHLV&%)%fQQj@~I?Y$ky$2nBR!ebAaFn?JdA;4A zU|FAfJ;&oqwf#>(AN!I#_4xQJYJW)H7yi(?$$z-n?L3d9uGw=8E zF+A|;^DAEKQ}HStWvkQYX)t!JxXEWcZ%=Sa!j4delrJkiT>=|V{LR`CQps$@d-{7s zU;VEuOmeGY8?-9_yo_?<6Z!spR@qnXHkPhlH^xea^A-o*I+m*hwCH_%S~um>ijNOB zIIKvX;^ozNK&H@pXVZ)ckD2E$Wfn=8KmE_F%-P95(=C;4D^@1GoWyQ&dq>~|#?$&M zzb#<PYJzCgsRdS1eGi1t2tCWb$B26^UVE2Zth+aZzxTw ze0^zQo6k1}`JIzbiZILzHhOwR@G|>e``%SDtT`XgYI{E|sxEHQl6>A5BO`nEJKsH4 z20MR?BZtgoHfZ_h1pWIuq3%mTrb1b-OFC=E>psm>v!jc0<#viNTsh(sddytTR`cm4 z+l4n$e=z*I92Jss%fUYQ-o(hZBF=Z5GP(?&#{b@DJboRj`+Vx%g$57HYoFO>xo2KJ zeU~x!u3r^b{S?1Q28owP8I(?~Juk_=)cmZ+oSpGiEP9nHUBMeR^z_e`U%r;XN-gZ? zwg#)uw`PUwe_G~V+~sEHAogl)(;gusUKQS_>-hYay}QD&=7`?WgO4rGNAOZRY%&s>3@~F7e-X{h}qexpQ$ zvGGyHvmKi%CbK_zBK7llu%`Ku)k`Nm)_s=9UQ_jGU)RUkHfEEwYSwP~bKu+2nwu&2 zGk%=4I=SVi$L`4K>*{}9Vf>PR_;y$<6DN-r-^JZ?aQeGJQ!RVae+Gq^w?tZZei>7gq8jxHQd6DrgtO*IQvh)!S15dL|aOX{r~50dwKb3B){IA83W zu<6exCI@AS*M7zZXNw32~Xx+G;rj*fBNYH&M=ka zotCNvXYX9qKCnqyrM`l>_t3JYh|ZKgpEC93rh;5+x1Tw8_3OC|CW%=thfeG-txK~0 zcx^80Bh8G~oj*H%p88O0=y&7c_dJ$42}#o|QtzoAGuy84MX5pOcJl=3`D;}lpOin> zIq{En-$jx1uKFz3cn!|ybS zFJEg=5VUbLGjov0xpMSBL+RGgN}J2vHhYfj{q=aOTfY&r&WeMM2es^@oYcE+J`ECH zS5UD`M_6gTk?x*PjAyNGJ<+f%-Xd327*x6YKwJU4+KgEe3mE6^d$iz_xlaF+2h9g$ zUlly4J@3VGW{to?>o!kWdnuQxv)Ia+^RDkTM}NmGt8U&GBhr;TvI{a?${KU)6e<0WRTBjn@|RzT>?zVOPT{yKk-xzE6+6ay}MqTe&1+mR*>gqr4$|*JMsk zW6>uK{H9808=p=-X%keZ9+GZBp6i6h8Z1^3r}VF`li)d&jl>eFmpj z#puPn7IYTLJR!K5;SA#|2a~qi`M=F>{q25ucI}pr57#M#rz!AQ+N`s#|N8pkgGRU7 ze$it!Di`0bv9Zt170g{NAb8^J_urHIuHLE)a@!Z3^6@m^lu0jG%%vAh4UFJPw+ZfP zigY;U_1$*m+ic|tZyY5a@a?T!l9{x%M_BO5C$ZHDa{D3_H0;e|_@?wF3nxiV^XMDISQ8w|^oW6?VRhurloZ&O_urAQrKWW9%=6U>* z&rKM`;@lO4TIJabUVr(vq)Va5_NV1*ud{pJonttlw!By1qjX=x94Ur~NG=gqmi4cF zf)r||t1HjXn$W;m?z7E-wd(P`#j`Sg^c<`HWIvU`S7ySb-9L3tGK45eJehKG8q0%( z`gvL^jZ5DcRh;(;IVp6@Nlf&+-IwnP!nbRdCQs?z%T_#pt(#wn$jNgSOpAXPnkU_K zt9UZ+szIxA(1DE)Qqq?yNc1W9OehHXW~=29{XJ#7|NFE>eKz|(*nJP4wKJc`lT&3K zyQ>HzkD$YZytMGsPxj{@ntGM?3VO;ztb?6zr6lKao_RvlpE`qQ^% zjge?%oPo{R<@qc{nsK!kR(Tz+>fx`7xXE0ZSaCdW%IR*4ncr2n*~RY-;C2!^Su{UA zq4rb#Ijv#_u4O)d_IhMBapVO(FnV+Fm}AV-EzDyWkf&diW-$^HcsBezx_l=7XlWSiR@=)0?lv{P||+-Voeb$&zgM zb>fH1e$m^*+&H?7dj9^^UhpwyY0`}+bM%WZT%UEXt$p(Aa`}|mzisw~Y^w|GGmdwx z5ev+J!0jRG$mQ|m^Q@nbkIBVUt(tG38Blb5nf6Qh){RTIH@s11Nxfbi(s&`c;N?+8 z_PjeO!Tp>QSY6&9u-&V{q&da#*uC0T_YGQ&eYLMV(|m6VHr@MjXQi#-e6QIC3L3Ac z9^R(;C>SyEGOpVVcn3Zn7mP>jlRL!$70v+mb6iY=WiLw>mq7O%k^_ zwesX&Ey>5MmJ;U+!=)Ue6XI@~#yzcz(Pa4YBxLIXNpXW!8;>){S-cKas}$G}P}t|O zR`XFm>!F98&tHei+25Vu$0_q@3D54P^WXbyZCA}b`9$dXx(eHDuUDqdJE{`Ga$cQ^ z*#EHaP5_JXp46Iymv61~Rx1$i;VXO{b|$6CzpmkGc85s1;alaM?+Sex=Ue^zVAI84 z5Eytt9(|lj= z=s&bgfkQNFwSEQ-Vv6@vzU2rMq2o+)Za5~ z?N6+FtNz~Xt;FqvXFWCCEb^mPU3yY`|IFvGZHy@{Z|{6rq2B0uuVr$dM*XgZ!OF@_ zcm9bSED&?^ZdooTtq2LCfh*o8{x}Ys2?g?<-~Q`*%fj!-QRr73K&Y)11z-D>3+^-INcZ z0b1)Wu!~%H&7#12_T8OXnK9GCwL{JiWrY~S<2H4o2Bn|=6<9LQxxk`xX;sq!A&W!v4E;JA z5UJvZ4+eR-Nz_Vn{{d9S>W zPwfuhpL<9C(5%?T-CRpNEJ|6*)D|C*y#IRQdH<~58_Gh9*>{Rc`Kl~f(-ZQ%$@;2p z>-xYq2P_hM9`}3|;hc1redfupvaf{o&oT8~dExhP(oE%Tn$0Qu^SYGxG*}g7_A4-- zOP+LmLdB!@E=~@8!DE(kQ<>NzXXmsu8MccEos@fiE~a^lTx({{afhAnjOY7pIeKVA z;C#o%qxLD@O>WXMLe-%zOqpFr42+Jiw3{kZ+{zedIIk}Cts{4n`IDX}^L*WUW}AB- z{P*&02+JjYBO90dW>&v1t&G@T_S~jSR7Oa-RMz^@!dag4Qg66j{N5%IVF*oKjX9StaP2FBI(MO76%q^Gi*8VKF56Lvf3HP*e)NdTz0gU z&q$*5c2A(r^YYUN)Ed}k*z6WGYuKUk>(V0Qoq2OU&O0b0}FfJy`3wbB<)wU zw7If@(V*h+s>jP1MXt#urSKGgYO-Kk{d2uyLLYJ+%(pFQNn+Q> zzA3JIL>Xs1UL72{ecv@71_S=JUX9_cxmS2^9rm1E;NpMe%fh&dvrMZfevleYQR{3bv?S;XU?i)Us^Hns=Jjv_eV>&9}C$uM{rJa z=mG8TZG2Y2ZzjCub2#{f@4i=Vqj7F=ql@1~{(B#cd-}cNHRSKH9(+8(syZMd??(Mx z!2~b0fZZGTZTY=aCN@71oVTY)bF*SbgU9FX@<)5RQUqJ4H#b!a6*?!W=xj=}No_c5 z_)&<-eOcYkmExzv&QD`|x7;?%k~5X@a(~=jjgI5dh92LTEEq~(2C?3osqlP#@io5D(xYQce@&>3DOp~8}ilO?7;8CLqQqEhBB??~$@w-{>Y`Ti zZuqqG<_KSyGQP+dmFeS#xQkv<&n8tqQs( zC$}&k^N%|;YoCWYyG-EI6~~_5;a^{s%_tWwag@O_g{R?*#CzZV#C*d=&m~wc@vh~X zbZ6qpMP}9x@8|tp!N|qQDZOo)q(bS+#hg-a`YqVy4VUd+q(9?@zlDV4agmFf(`=d? z&O6_~*J#^1vAkg~!?%}j1CMhZJ33{~yqzZR4UTXy2+n`>-m7b=r>w_u*;i8!Dm<1@ zUa`3NlSI$ta~gd{2cBEV$Yn+<9}~9kuc}sT-F5ou+#|yCmL!|BF1g>^EL%6FFG%(9 zhF_Q3R8r^LwapMZarV>HlX7!cp5L-8Ny0*sB{XA+@evszgTj|{f)C3G|2fN+{OGAi z;(@pC{fsz{-TC%9z`fvRszP7ktfD#d=QA~^d45}7{N8U?Y6PPvll&vokhX-#!pXlv z;l;a-aH3B>Gk=vu7yVZDE+?vCKs9 z82k6#!E3K>-eq>Y@NK}BTs4jt5pw=sRVy05%ghg)m08Z@es6Jh!SR)%8ul8}KLSG& zKhJYIo`3JpQJ)+Cl#dzDTB0Jj+2hTT28&1Y7C*B%aMJdNsKjB0Q+($P{FmAm-v6>V zvD19!c8=m(^Le;9JX4hKbh%9Qt8MoQ+Q=Z}?)Wok2j3&}heqsCE*7dYJ|44O+2nFi zFGBe8JS~I&4EyeJo{W*1r@?f}Yv!%0?`m`E@@E?17e(f2uDh zm_09c3o(4YVVSecLGen3$J1o4oRzr65qQ3;s7K@842uWC!DTEPjtQ2t{cJq0H1X}6 zrw1SWeUmgpooi?C@oTeH-h@~ga?h)H>-C-SwQwF6$A5;5$7?Mg>mU5}W!aX64u^$m zk6L*AW@y1Q|Q7N;px!yj1CFr)c&HS|f=`zX7P5fM&_S{-}cke27xzwwN7Rdk2a^>D^ zU%m4Etl(Y7d(87(E7$khXXoF1eZbd5PUXkSowZ{n6G_-UbOumkU-h zys7xIfd5+c>%Yvdo6Y|zd~}Ir_SMd zqH(sS@#EodzkfXc$eR`~{U`m?me-vJW_w?r;?mQ;NQU?3_w|uK>i;vaB>&jD{_x+` zA8$V{{(1hhZ~o$wXVQN!5MY=6oBcArW&a27{|qx-WbY#k+4V@5aAp z%2tR5@HH@Kh3RU98yV+GK5NK3A|~ZGadD<#Mg8GfuKVULKf=&;?jn;?LxluGVc0Z& zT_>%}evH9$icgrDaUlP3pEZ||S})U+ zImwe9*7?g%yQAIbZ}D~6nIQYStCQKEt~mD9!b0N9g15!fB$XE)Wi0c|pL^rm*Of+x z-z%KY`^vOypM4HijwctM zQ9X06z~P{&h*9^B@5}F=kDIH>sFVEcPPC=X@8IiCUleI^-1xJ&&~CV=pa`Qav2F>oq?^Tz6o)cK{8^H&cCkpH_5w#N?iylC!Rg$3J|2?{VfogPz2Ld9|w! zOxZr;CwHImrCD!3y>kJbA5q?Zs`Yl`y~Uxo%%>;u`+Qr_zSBZ_!<_<)Z_7NK=EonK z{j7gSv)ytL;g-7!ua8wrU1HhX@OMe+eA&$TY+JW~;JK`}O!v^SZ|8p>b^iYC_v7Vz z>k5CgAC2E~Z*6j6!R6Q21ss^~#{O+-?d6wbc_4UWe$?NPNyn^j%u;f@ChdR9O7L85 z_QW6Cm;Iv+ha?0nWwIFj+^3^Jc(o4i>4oO{8{?p@T2|x`{e$(ZTvWGy}>n; zipZev{(ZWW-k#UvcM4x;ef?GWq4iz!IDc$@m@O|wb{&%vCll~XedH2K_-{**OyIUNO zdA!b6d)2-J{g?QsrJef4;9eEh!m6JCEc<+YdVK#rz8?=C?3OKe*irHB=!V~+bKZV# zlZ}2E*RUp?wfOvJ(`ToXBXSHSotK&p0)a{fBa`ylI6{`|E5iFt^&)0 zQ)@NY?GCT4`}fl5+^^WJZ+2?iXoWoQVeH{QHS0#M_Ozut1U)y)Ogw7FJ(HO=r}+A% ziHkmaNEd&3>mPFKx4&|}mmtfb5E%h`!Ar9q7xgYFeg87>;W6_a=kqLd~7P9)j30m!O!sey{00jiF5cC?=^4z^-Weob>j=JzwiD0v#L(8`#tXRnCl@CKSQo! zait_{;dv3^4L|yfR1eDTe74vr$s%~-oG0_9Tr^fxD1SVw=yYemfgdLLF=Xe?H?z#FLlkPiwX=1wd-i@9T z5eEW$=3Qy|V8y_n_k~gKo4VF=;_Ov5d;sEoU@5>}TJ2uPk$9pl% zay`Z+H`mo|%@OgJUzaIc_AAf%#Z|!Lk;?pGae|zHfOU0YUA6uOYvR*ZoqIRb=I-ng{r2F(>1PiOiue;w(wa*v9R+^op6 zoU3xBg`P+JjIUgp7U#M9qu90!w^;r;%5~hP@awYETloAfA3R$eI@RxArAhmhX#oo> zC4&!0ED5}SzsqS~p1BZvoYmz?sR|A4JD$yWV-|A$44a!Zm&mH)lh0q9+IHn+@|QQ7 zD;BFf`D7unz+{I`kF?}MhMt56lg}DXjcM5V`bzL@%Ug?II~;G5y;AERm9<(gy02FA zVc_Cp7vK3BiWYCI;%jTvWzL+qFQCZk%D$MsRZIP>gO$^HxPHkVmd$+g^X28sCaf1O zB)f%7;j4P^J9rMG0*BGg2hSEYEZLD(w^dss@YB4x8QiawJdQurKJfauSMh1NGYfbO zulh%|uDfQyc#e~S@!p&TqBoW^$e(N2G2zstynOwP^QV>+d%fW}@xssJrN_h2ZOxw< z&+%tvhH-!Dsbap@#5yt5F5{SavZaZY-31{hizi>t>a@X$hTvCfK)F zrfU*Q3FD0Pr>`E~KT?l#FES4=JN{&H4%mtMhMf0GwCl6mhn_Q~)}?&`7>FJ$@hH_J^%a7Uk&)S454 zJO1!8sTeCxKf%(x-Bv5&Tg%V>xZ(h{t3PKvXl(M2D)umAll{eWfw5yo!5;psBE$H* z-(K0i+{l#3y7Bw2;FvzMzs3&7&m1^r*1M;`)y;Wgf1b3+-#ZD-2V`dD^eG*%u(UsX zmci7{DX^;foT~?ey;<=a%VkaS@BTAP^pu||J!fA?V*@J#Z|{RA$;?~X%T>jD>b6)a zywxgv+10y_Yrn-oSnhq<~%I#+k04?Ai`|GsTmvQWE+MFZKTJWd3X-#@_t%vPDpl)g?irP5je;20z&m zusHvD*9sNY54{upYUb$V8QEqrW;LaJ{uiF}h%8{fR+BrEIyVzQhExV&Cog4{jfj zN#3fy(>usnQIh+*%}1x58JiBX%}7m;-RoeJ5|n4j@L2Y!$yOD2uEkZyA}0Q^&D`Xb z+%H}B!N~a1(iDGn?oUsWyLyjH9IMTovQz_n^pxvy*o%sSNqgASwT*`PY@4Q*IabwXbDh zZM0zCR_yggOs4ew%RtW1I}2V}b(KtHWt`h?)5VZA?bgPPCzZFFPjKi9J2Wf0@iR}V zTjg#4HrwMFGQS!fc!g?q-=AmPpv82?QeC>Ap=+Ld%Aw>}nJsw-Z#LLwFmBWqa8#H0 zoB6nLkI(UwGG0eA@6?$xZ zkSMTy0aJst24kDVQ@;w6Z!_`3AgQiq%WUYcB&KJ;Yc!Si-ozD*4^R(vvxq1t>JQ=h}*iJ_@G?2?X&OR~$| zSk2BNyyJ z>;pC*vOFdCtkGI|-e*?hI*Z%Q=kHlAKgd3<$(7|}?-j<_j!?_?XBLud{hG5g(r?`n zs6VtcquJ8><9VNFi&M1@Gr#*}__~Ybra{Jm_mhwLnkMx2&(>~Y=ASNW`%+bUO7i+- zAJ5qHQ^HwFEMGgatXEWE)jDop!FN^2U0YPmd8#bOvCL#$={M}G$DJ?DVXG`YzG4B( zlw6-_=PVyB?ms=TT)%K$R>Xm%WWhg+e{B90oZ6Xql0nX@?+c@}W!M3mdHcPl$s11Q zE2^Hg?&Eg8+0(BG&Jy#y<>Z~{@S^H(22;l4+^7Dh+uq(=daGl}yOY1JsGmN0kGc55 ztk~DaeP*AJoACY0(DO-+S*gB|;p5jOnanb)8mcdO%dEJ0o_&F-bc}o6Yd#LUA4eGr zlWt1O^zE&D9mM`=&ZPD}=d=YCdrrD^J-2*5YhLJ-x9pjBs=C+o;7vk`8`nXX3_j7+?97SpmNRfrw=_u*31r_ zr(is1UZH$6MIh6-rhn^-Se`#^CVW_65_1CRgdm^D&=;U2duu ziac1S%vKhAe3|Al1(CO}{M8!dORbE0yKE1<^>v*1eb=nUJzIaOI`%Ks@@dWplQlAY z=^zy2Y~-~>@5${s%qL8ov(~E5IpgTZc|1NVxUh#MuJHQ3e%pyoMnchZ(i+qSRBna_ zPN?c%8a|ERdvuJ7_>AAi2UW~v%AAy+!j)`qT_m>8 z{lhP{xxZbqCf-*Wd-LQKc@`%ge_jwhxsz#S<+eH7PjBDrtZ-0?BSic; z%lDO{F=o#!S$g>2UGB6#(Esf5{4BWx?i^DOp3riaP&RSZR@XntKBsT1POpsbaV>Y5 zpsl-ReBbokme)Wz{1EeoCw&YnSPxFTIVU$XC#7$z^22DIyX+6$Pu*##l#vO_VQpFD zc~E^LbN`WG^~xp1Pd&F=SZdGv^3`Bvyw0?wg2LNt-4s%1h|YLCi9KhQ0AqHen1`%; z-s1kMWWD>lmdGuszPcc^-+r#64ZrsDYCdZz--Z{Q4BGqc@1FOsnmS8jL+mk+6Q)e< zZnro06!tBfYr>p&^1AxAjJ*xTyob-+a|EwK*IZk}M*hQMW0ph5)}DXam9s+3 zD9p(72~Y42E~kB5J(Dk_&tK{-v+}dciF&E7+vipNr#Jp_nV0#`?RnW`YqJj?k7h9c zS-U}#U8cIL<*2^O<4Kn6@~x3gLLu7vdA^1VTl}|0+z=?@e38Kz=y&e;Hvgerh_ki*o;pVWZi%RU(Rgx`M zT)P>#sa~KqgUNJ~&-;iOc@KKNtb7~!Eh$u{_K}wBrw_{|&)-*G8aB_(&G6W7&+pF~ zR5F#5LilHBBpKdbYIaHJ{N=_!mM?w6KQFZNX|R-8zcym4wD^=K|4JAhG;EjA`W@W8 zKryt<-{QQfw0Mx^F?WWlwBFq^XRq|N1TepA+4%5=xlK=KpvoL}O9ejvI<4AwkM%sy zCsi()n0wXvRN+ep79rLiF$E?oX5VK)f${I=72lgGnsRu(t8+Xo-oDjaqGMT{P2q)ECQb@F$|u>ZT34?a*zvg2TPMDHl6!G* zYp7FKcTe-BrX;&PUnG_painIr$u#ep^IcK=l#BG~1pcZ(LEW9v%on&OCb$P2<|@3w z#ZWS7?!vO3$CtYb4{PWg;7Lgd@fVrxkbHev=Dom9$Is?w_ot-q-^<|P5yH3j)YY>1 zdp{?x_>$xrA=uliop&+r z?J&E<`WZY$+7G$8D{Cr0y1p-&$-MsCf@#Y8pZBZ}?E7hdZr}AE=WD<5xBuFEIOe$I zC$l{*Wnb1$wByQr6fbd5M_?*f8hjhuO4RSkQdR-R^bH8-D7_&je5!`0}FMJ#97Wg{LfYRh4=+55vr%(nj5Rpmuz z_FMSzpT0L==rHs1tS5bcp45pjyua0F=S1_V2X24gtF>i%>N_zu_S4FW2Om_2 zPX6S+Rl28$*JK@wUQ}FiQN^;Hnq`LfZ=1~0a-1Bj!DxaPDmbS{<`QE z!?E5ybDNpV;~39cia3}{9Jlq5Wi@kWn93Esl3ilCqRxU1$5*JY)sErh-lWG|;9eLS zxoDEVnwd(2H&4i=6D_$1UY@Yc;#h2WO3(jP*+XA3CjTv}n|fdQ`LS7AuIvoD{e$-c z&lSB_pH@vd=5ABI{Pr=Q)<}a@ZhTc2nD)++d6Tfluh`FpYqsn0i(80Oyb3yrpgTR4b)rQak=Lybdy1rP%e{r(N?>BUR|%He`ljY0)uPxZ~NK5?@a7# zzP4Z|-wbOHiPv46)ty3r=iQXfX6|z{?sE5BC!sw_yr=P?$AKH}g}2r?v2<>8KVb3v(n@QA z?<&3pG`K7e?!S$)6f0um^`O50ExIR;k=mx7GB?B;Ji0md70A zrpinge4-Ys@h`Wg4&d)#gbFFSD%$>{3+#o&Q zOQDBBRAN%}yUEukJ@EP6wA0V6z;Z#fu!6WGhr{u^=bb|?X-_MB)_A0S;e)POH!4+= zbP6xO_S&%JNL%hf=>myk_QyrDH}EyKB%jRWU=VJqpDJ)(raCrsh8;tIMO01UnjV`Y zcUuoWU%u5&sH>ohfq8qPkH3qrNsxqS&7P*ZM5mieHg4#0lGtWGc}|_E(rzV*bJ7+T zvhE_z1)q;B)IF0T=P0_6NkmOqgm3A=2lLo66T%8ZvQr!Lrf{T8 zXb^d;K8a65ePt52OP{FL*SP4)me%bP`?@bJpKS2Z=Fr7fE#dpuO`@aw>T(bEGyG@Z zWhz%POwgEGo>Fu8!qw>SZDQfk$=Bue?fw$0tUrOc^-JqyIwl{K$`U#JcSd?2Z_UNWD{k(I zZL}y2JoH84ykorY54n=bhofpVdt5VC_aB-dt+Q}Sy8T>twJQhI<)(b_t1y*0tYRqn zWdYab<>#V5i`+C9l{T`Jv{+QhJ^OKaK#kwDkD10sR03~1PA0;{6MqiK_01~Isw4xBebRPkkhR-5aI^E+M! zs<7mLmSa5eZAFSxi16!6Ym#TJ*RcM0A!(6A$Si~1+xBsq`h7Myyj!91O5@p#7^ib) zO_eW-FRh4ix#$*LX}8ldj@=byipe=H<{@PXB>M|q$L?Tx9Qyh<;m~EV$F~D z&H4K<^o~Z+8V8+<1FQNT1Wya-5in%=cGj`DK*i#~gCgTgYxhsx&5|r5W*YWP)H1m7 z{j7_5tnL#-IrERt(^|6m_!gr%@1DqnTo({!v^?;}KWe?Uf<@w?^{4x;E(zon@L6$k z_m$$1b!{RnIsA`KtPVCd<|&uW+Vfz+og2zF{V&6m_D_qboHv&*OL$V*+Xp;MzV>gq zPCq@d%HnCUMh61g*La?XLRCodQIQ^L8U4FQJwC5z*st)_ra0i} z+#T$NC!fr}v`#7U#Ib9(wVFqTE!4L=-?&m_ovzvVb(!X5#V3;|STP?B$Y|fCvzU7x z=k2a_iO;i{znu4)|CXaeM1y@N``WNdp7qbt^DPei)6<%?A=Yp+$G;bU>hg@gtm-%E zR&;8&JYW;@S?u@>M+GI4Ax3Qb(KY%ViGVmrZMM z`?Tgpfrrezx~VEg3}#IQd;2%6ShB4>v1a?D%-MDEI)!})E;P(ss^74usX91fvDuwT z)*lZpi}p%BP{F_;#9?w%EZ?Luxu?iGx&Py`i{_iu?(Qtu)A;(#z(zs7A;J+6_*s1 zuFU*?($@00$*&BSK!pjLJ!aghP~Yq0tdoA?_MF1qTf@zncqZLRp5X3PxZ~dH#$%Qu z-x$NI%Z8?#Gd*&OA~>!Z3JeLZ5A$((m*zGUJQKch$HNwDq>kA=7N zR%rztS#jfu;C0!R4X%uwGfw;p37jl1&Bh-b_PFGrB+G*$>kuI$lQ+Us4<3|1)gX1s zsX;sX(7o~#?UI%!SDwmMvwy@q z@uiEqy2UH&V&Ak$mWLL}2u`|rU;(#uPhsshnG%N3klmkE4Mm?YR4$wqoF_hp(@Eb=Gm$oH{3oGtS~oRj`P!vYdsi zUscd)mAqAw4lfTpo8q&-(9tF+hvTN1`{vW}Gir|T@wy7_>fN|rtFSq&V2$&{6B6f_ z8v3kSu<Fl2B z3yLmmrnQ%z7+S=8wK$%uRK9#^PTn+EHXQ+X_N`X8LRl8RVXJuUP$Db4!PR=U?sm)L z@eWxIx5H(G_E#+`SJ=!{*vDwAndFmt@PKXY3&ypE=NK&Rp7r26X6@%@?8`jCf4xlb zlJ2VZ(>&%MJ~~}sv+30H+V>_|rR4n5h^?_F5A!@J3@o^>^znVrfv)}fg%`T2Hpsj= zxG#8;{cgt?^_iO|-WPds)p+uqv_eRREAi>&%-P8j z@4HI$E*&e^l=k;3+rXh>B(%_g&9JLN=AG=Wv{~~FtS3v@YWe)x-DY@O*+ zm(1j8KO-2M8-3DKPO`7}pEg%S>;3-1V|N&DO?~_5M#K*Nd5mve-!SW5F8sOk>v9uI z2IV=W7ACjLK64-EczTD=KFTus_kLH@(t(*F7rsa9&`gY=LHS zs5)QOx3dgJ63?`s8oWIA=IhFdECDkDw+o)otNI-rIhBK}aDJ5g^ai&Io7M#ko-N1T z@%vR@7Ot9;uDspkS^wF9lsHG0e;$g%=U-P2llh))h0%G_8InReEN8>_>0Mnb8haR9?dxM z#EE@+L-_Ku_vVUSRgHMgyw{SmoO{cs0!ES6G$TEcgp`dcrHdYU9qu~LQW+wtJ|T0W zmx0X@V~1CQlPAHTzqDYvJ}JbxOWj^3Yk#l6m3s_Z;&LUS3+9+b_US^4R9mGPQX9 z(=2>`tcFV$tT+?sDRDx+)%M`6h4l=!n&P~ldcGZG>se91`$|!D7n`R5&w@GW^S(-- zTEO5hyU{0fYMqOW;90BOLpLgGJtdYF@ZVi`Rj|$Sr{lkp$ww6*=UsAVH#Ojzs4a5x z4l}>k#3@EkntKYn5*)Ll-|d?3GtVe9m1X<=$6XcqQ>MteJ3IY!b+b#HBiP5L6}Lcj zPtMMydj2Z4)SqsbjPHxQl$mzwVLeyK1dly^7DqiInom!Z4KtDUE8=+RALekt{OPQM z{29r%7K<{D&k_wU&O5{^dGgDGnnj|LCz)SgTHa83q%w2z4X$T(3V%X=q<-jjnjQ0F z`D5)^E!FtDOD5~jIQ#d)-r{(TKfeDNn%0P4E|unQ*e5Auc4)#Ysg8u|My2N4GLIJS zUNmXrxBM=B-95G`*LQ9GyLAp1W97TN&`>w4&zJT{KidCC#QH(}VSQ`g5C0bIQ`p~L zbRzMY?TyEovi0{~zK@@~U${PFeP5l$w#j}U{g1p2j@`X4S@Kds>WpI!ua-QmYnS(Owq<{0{zo+Uv3Tcq#|Qrz zc#bY~f7)p5ZWo_tajg2+_4E7e{;shz{}X-flEl_}f!F34vwinXl|Ci%`|XMR(_O!V zAC~_SGJf#9#k4xt{SkY|*7+j7a#7E2MQ@n);t3zqI&S^AuV3aj?c=DC`4PJO=+YXS zAIVE1qYw9M{}sq%U#ap{-S)GC{M35h{|ssQx2`|dKJv@_V5}F%(}d0UUf-);D$B{~4Mb|5Sc7(X4;0-)$z9X|DTxm9g~{ncNcxB;II$DZ5u0XV!X^X~V%# z2Zk?lSNfTZHuQ4D?RHqe-&14ypMjJ_9xfnGf|#6|^~j&PcbB z3Ghyhl|C59`QeRb{=<0om)`^zK7aE;OFnjS#>-ik`!0$-)jPlyZs97Ue!ESv2??khLi`naak5_@)pd@&HkB&SKX=$JsKO2-CvgZLc6PM zg1^tV6^|Suo^EF{*mvc7&pfMNJwa`VPN%mFXv9T%P)g9CSGp-de&|! z=hm3q;}#NXi#P(CIL^x-G3=^&mmDB!e8E6=MVG^Z)$3yt`mQo~Y_y*uV|d*8y|3X6b?^%^STEbKJe){E=%NovJ-ErWkH=mrn+wm#}Q8ovgsyV@Bz5f|>=A?YkJk#7H z^YKcZ$Rxq-4D#!$E*5M!+%_epmVK>X_tx^1;tQdLpFO166%vGlwKg4-a$?`GYzAXL zdjaz{Rs(Nop`N)`@?MkN4oJHh8Hc9kHc$S#yp~}iPtmq3$qkv2TyuD83+IHSMLY=H zGWX_6Z^3p+OPhDA6yGViL?tX&Eiw}6`M32^y=Z-2e^WfSO}cu+9_JOYo~4{j#Ud_C zROT5S{&{^%%;sD*8?l4Zt~JL$zW>L$`9XgFJ%fC4yPd^L?wP2jnN1SdEVud@^Oe4a zs|P#2&2Ouhw-fjiy`g$P^N&ZI%L3eQ9%DRbo$yK9_}i5IlWsq_x76BDXmdw5lhK~^ zkL%m*wEi8Dm-^3;dR`#<$NGo-o%#1z4|($Bc5=wf+3vLD+n?+r`P=uNKT<#Z<%jR% zxh4l!9o7_D{A5ekf*!*+S1-DkINOSU^S^XG@JDmn?Bf`o;V7Yxq7q zKPqciZJQ@*u4EP=Wq9Gy9`c126B7Td7{ceTi$QcSfT*7XzS0(>CzVMIX$G81Q*0V-boI9P8^hwmn z`H$D%;}1h?(mxzNR4=5EEiamR=H+%Kmt#-9nCc(uZ}}(x!}a09hrO&%E0{Mg`*!lA zrMl_!lXs;KCod12e;};B`|ZQsAL`bp>uxDhnN_mVp!h1sS`i)zz5~Us=jNE&3I}ce z^u2N$-~MWeb$QEHX4EnM;n^-H`**3y&L^HiM=B;hIxHjhvw!-;+bkt-1l zgJ0*0m>p^JeR_ZVlj)oH^@sUKHR<#1_1najF3&1@+wSqPqFmzljf67`%9U-aAMG#R z$NO4yZH>%_e;ZScy+v+S<)lB(W8*lUm1?@#%4EvQucA8DHfL|z^zF{t_po;f&%7m9 zJ7lGlo97o~Dn(s-+@w~ya;qXS?4)UtQSWiyj*K5b}k zzB8-Cd*`+(f7qAWndD49$nwp01>@=5nc?4C3Qw4H%TMD@ne(g5Q)X4i;e;m%m#Ocyz`#nX;M2zwwv`G2)`pT(?EWP5pKChg!y-2) z#OJ_Hy*ovfOFM7qbN2)&K36k5{+}Ugap;3K87a3ZPm2A*f?F(282X-aXc$IVYj{vfWgHnByB~%qd^$rXlKA@lHcXUVesw%(TbTOqPo0Jt(Ms`Eq0N z{z?8ylQUB9_AQ=Q72tL_QQoq6{xS=ZwFZ)0b&Hzi9UCw8Z=Rye!dIzs!Fpq};M2X8 z?0Y#U>`P4Uvum2Ho|2va;9=)v&-zJnS$jH zN|@Iw{dpLlR?au~zyjv;`BNu42489RbCVWnD5wfa5wTDx>`A!np*&IDcB6xk1y8F{ zfqzxRNoLCj$xBV0<@O%W^6d-J+GgNZe6K<6?q2q@mljoAky-SlujSi{C;Z3cCEmXF z`z*Ogt05h9`AO@^z|TeQOU<*tGE9D=3Vh8k_riIHe3vaPIfP!T%LF} zpxxG*F;J&(aY-{f^M|FMJWLo`Pw!NDaHXp(S$?YPjuOlBd%ePp=K2-(?R~)* zI^{S2bLWLc21k-tuKLfg=a|#qVt-E$%fyqfTp8qwJB#K{msFZ7-6p~P_3>JX*yZzz zkBf4>chlm0Id5(TQ!!7% zOqB)ppYFIm!B%rp!unHA8)cr9FSoqm7<_%jmnCOhuNQr)IKPyE^@;{N!=sJ^w>VDz zy1Y$0(c!qvtjy^r&b_N<{uRKirv{Z=0HozHJ|_>``sczIn_ z0Lz&-(V55ioqf|1iZ9Qb()DnHwtnC_UZI``%@-1w9dut zzS(9U+<2XCNB32{zBV;gp@(t1EU%61;{2x$M*?rGGrTv|X?3Zk&0j6cQzCW=Ki$lO zHU_X9tUT@$p!P=Dqdax~yu&tEg5006y)yn2y??4%WN<-Iv+}&T8j*(!EFMn`Yqaif zGWDM#XLv4ZNncoy2v76(RjhSOzJE2*wvwOdW-aq&$!+1(&c3e)?4uecEXjL$+ob1_ z{*?JMo;c{Tv+}`1^7WwLjl%9)_OoKPRR^C4bKL!P#hr~4Zcx_3a62pVf_vSG*7#&~!)c=fgkc=j)hwX=qfR8JSE}?o9@Vnao|^B|_|ofF-@#`&mN)7W zd%i77z4=LNUG!wXw18F0jwfZf^c(^=82o48%E)9Xn(=W*+SFJnebYG%*0UPUAN%qo zdBa)LP2Qq5eGQj)u`bqqTJ}JGZP@&tR;L?ZR!&*9XxX3i>(>@$EbBcuWd$pvb!}0` zEB-)f7N)(&m%4BHXR2bvP-GcoVRF@P$&>k2lB&f##oo`hR9Z;d^!#V&^_4pEJ0w|o zf$YlN=N|3$yL$X_;Nk6dX$AgwA9e3;RQ510zI<((n8uQ6>g+QA8N9kr<)np3o_Brg zvWZXN@BMcZeKTfU zRhGXo*TU%h4JM3|pW~bi=M`vtddytR_>MoT*lLA}#!1VQ@@rjUc1=8Hm2Q8jL3YC8 zKDT#wu7qoBVw%Kz*rw5Av)&ckjx^JN)|G{c&Pb zZ*;0WW#ePd&+4*B5q#R`V6VT`$c=Dy-%IDe-2(kzD0g>x@9>^N!h z(o3RnJNxoWvx}A)Z(-i@pMlp%Jy0Voh~4?PSAxzY!!uc3M@pGRR@f!fS~DM&iz(b_ z_<`3Z$+3aMg!4}RoWQQ{>=S&=BG0iYB~NbNzSYdZTX6pDbzWaZRT8fj6@F1(%BvX-i*=+EU-vmKWYA-KWbq_v?)JP;clGy$4r`js)F;^6eYt7g>S z$Fpz#zf~-{H~Ot7ISD>1h!ymA8%*dA`WdDM_(vx_Q37Drn7txd*EBw>rs1=Wg7cpJZYG z*l&WT`JJD9l}8zL`XXzV*6w_4`QGg~^CbQSE1q|WY4e=AX)~`d_|S=qIkwdS3~P7K zdD6K3rN@fb%E_0TclV!~^=Z|79RUtojwPQ9{^&B8d8*%?I_H6zhy1BI>1DxBdp5rG zn|AX|!kZI?O<5X?Kh05)Wq53Jfo07c{TU7?UiNL}c58BA)(dYtp6@mJj9R?n#eMHB zWok9UpB-A0Ao|K<0o%`tM8!A7jn0FVVr)J5FEspZp}QJ)V#AYU6NX2v z)3X{U>`A$jDeN@U$s1EtZSkRJ(MiT8bg<@XpW^2VT#sSXz@TDN}X% zX-XekLEVdU>`NUMoRxc`lGY%py0df70T0RLKbHn<-kqS&Y{Oqw)c)y2{odXEOHGx9 zH1gcs>ogcQYuz~{>tG=%DXYb?Y2A_M6AY|Fd)o{SJV<``yDNYCXWkhqeKQvD$aj2} zuIG%u*TK!P_TP&KeD3y9KZOr$I$8YNaqH7N_Qs;O%0KSDa{YRo&AgW-*)0wE_nGx1 ziwwW4@89y)>_3CYkBQZ_q8}oqgLRTLo5DA+Zx>k?6zjk7kFv`A#6HXAEE^9d70{S@83qi<&bzfIY~-9kPg`=YIDE#3!i-opL8 z&%IPsC#%nVSyhSB;+>t_o-e=Dy+B^L;r<@UgU9@{W=u^GZ{mL)vba6t@W#YBJ+tP9 z7)X4T&9r663`jNXc_LG1Dst(k!!iE6tb-O4g!WopP7Rszh09S=A>bC%7NeiMGxtUO zVsbp|ZP5EfNb`iOH4X9ds2mLyQqRnQ^ISbZ3XTu-&P0g@#C|# zc(yp=&rzPT=PMtrmU!IvxF)x$$V2u8)5TdD(FH!A7>^n~*=_de=6Rp5E4F`}wA8K2 ze67xYi(zB$xV@lko||>qvPB~O^^(W^vz8p#p0}xf4JWoASM>LVe>WvyTE%3na{rX&!C@|5%ENY zJtlowrjYE+5|;FpA`A;91r#g-uT))*_}RDWRK<&8XU{(hr7FcYE}7^}?4Mo8+;fRh z#zy;-`@|R4L0dO(UUQQrp@%Ossea3`q*P^PnZm#|!BO77PfD}5vV1wPj6uPF&zkV; znmxrqlG7BL^B%FYT*=oIaTyp7@IaStvj zxhl2ghA@gy{`T2R&{*&Qy6?DRZ@9} zv`2tl-hyxMgGF->&*NWSHLbQaB!@jaZGzWw1_6VrKCOlox$e|%Gv|}5ryc{B z@kE#JJ_lNu)z>}rSarvEzr+h(MZwQ%T;9FQb%R)3;|+iPN?+8q zy34-oX;sxb&Q-u?a9A{n#X}*pdmDF3oBgQ;5qIb8RF^gT@+a#=>r?@cnaY!vl$bEw zy_aDfE%WuP8Ec8Pq(k8SYfJk~=h+;YBR4y9W&VziYkqS*-#c)t9_TGlJub<7ZJPa; zCT`*5h3+@MPk6Jq`FK@mygKg*mhX=mmoAiUR!d@Ea9&v^FqL_uT~YGnWA$3|pYl&Q zEbo;qDI(gh#c|hjH~*CE+mk##eK0b(xA@x39)SgXwwWJaIn*zjewsm|sfz!T<|K(f z2lrNev75>q#qp6%@_1f>mUZWUhKt`GFM9mvpQ-k)Rc{^V%qxuiuJrYZrby(io$2ab zY?a|}ee1VBO#Rm`=eV=vGdE8P&juN$8Y56KzMI)6DwrOBjoir&#<;!86Ri?F9yN^h!s>A*V2=lEN$pU?L% z^)*?%dYQqV&sQ!Az3E8xU|#n4(xP1xMVX!#Cog3%6MUw%F@|?fm7quX_cc3N8joqN z)LOLey`NiE@P+9!cmxdim7BjTU{p?VifpvqU=_4w_7r#Jsp=Amufu#iK0dbZc(iDe z$s~Q96*hnFTwq?SJfXKwWWzg6^W7hgvokASY7K2Ocxj-ZfA+j3^Imu1&bp+VEPs}Z zT%Ex)F(s6%E~og!(up?`#U+n%)ZUOVt>A5amfZVod3nLU+ZP66k! zERH3m3=4APo_r3PqA&UP0lQ2}*}_*$Yo7T@RxlLLswq3I{pXDB-c?)oZWCEA^T|W@ zZ(&$iN|RXPMYo6m7IVR$#rfjYM4-{I5JIMdD8 zCu5-AWYraZg2+}3S0 zI(1-zo5fpSms#G6H##-;$b4D(q|0y`_nnWyE~^AqbQHh7wd_~d6Aw}G$#eRaueFp6 zo_l9b;Y*JrDXlRdFNEf-KK=CP5(AqRqE525M?Rb>H=3f(vml}WxT)&e)xDQFy;GRC zZ@Mfcrul4pfWZObM!%*f3b({1UcacD!ZXeDW|D+-QQ@Vmy z?m^if%YQm9F7jk_c-9nqO5SFAyzvItIB^Tf)neBYnvy!&-kqs9%bhiuX}$84^AZ+E zJ)e3q2)Qa+B<>NO(;O39Rj%dRzVB`ngPd^ulL61?lZ zd-gz8?XO*pOW+QTz(LZ-v5<10=a7x|dCvA3gz@nWskHuW?!;Ta#o%fw}^ zF4sKSQOuJ$!Rq6IZ%gKeX>`UOn77dX(@MeclR@l(C(bf&TUz;~!0x%f-&Uv8-ok>5 z#V1&pe3xxzy5P!;)f0jx<>y)_E3p?Im$`IS%uwlhJJd9t|j`WU$^i}%7>=a#VL6bE@2^Uwdjt*?3ImtU8o^k-YU`*AE_*E-59De=7C zKP$Yt{ocVTD~?_8w+SiK*vZcDp>S5|A&-e1kGSqM&wJFM-k~$`X*J`Qm#+g_QzloN zxffoWpL5A5rOBu&P&4$yJ7?iZf3@uO#Cpsg z+^{z{%@CWM=O z2K>RUcNQFSnv*MUcKNnxjLGU|i951wg~!-5nEzk@+x_8t+oNdLE~8UxELBPt{bxAz z?c1fF8#QwTs*=`c+}gBthQEHk@A2g(zjwc>UooTq(4ONv7e1-_H|4sWVOl`IswVT2 zTmDtQk`D$RvN23baA4fdQrJ`WXkX?2eQo}dF^A5ac{;iA*I(9J?gx8cKg?E1J$B=R zCgWPU3udjySBjiGEwIS!xXtC+Sqz>p1MYZn$m?HP=HRSX*mT#rOJHs@!w0L0o;$P> z^ld-;em?hLHm8nNSKuA?{#~4pud9Du9k!A6Ny5hW0mtR4=GE3_oskGVwL&yyZ@`z} z{iaHDl4ee_+wx{(fSb05khiOuoyA$JT}cfZi@G*&X)Ic)%@F7+>VURH4Yp)0jnOyd zy!}$EF5g&2Zq4IMLw9tmbnSS>dDP{FS@Hm$6D(d z6OY@?eQlNU>Bi^F%S{ zjS9X?n9o&}e_gpecY)Rhiw94NvLqRlrR!#xrr4gyOPTsnKEOh0b>-2BxBU!!J6E5V z`^v6bf8J|hf#ZY)kNcj@adCaNW@bT!E#s>1#;X)$4;);6a_Tz^_MTAlqMNaM*<(I` zS)0VHnwlzI{fReVzV>G^i7(2QtA$Q zEtppL{B4TF^EsFG^7iaum6UkE_$zId!kWl=8OQ!?<6mGJXWbgS^R}dgd{mm$%W3Y1 zKAwB%+}6b0rrW>!d~n!yVQI7PlF4sREHhar!fF3EL~`aaj)Tk#R@@5DtV@kyyu3Hk z>qzjOoyxqQ9ye8--)h))c3l_$a*NmAMY2_VWgnJYiM%WDSzLyv=YqrO37_=t$o$fe zD!Z?DGvpK}^FoUQD2A_o+WB;M$+MLk zxttchJ!XCRutlpw|BuQdKhFj1XYFqEWJ}HYW^&@LGGm~H1OwmI$R%NiI~kRmR(n7D z^SD~T;rzx0oKL6ZW^8*R$DuU+t=B5$TWlBmERKd7ZMa{<#nNw|gJ2)7n$f*|X+`%Ga}glm6_OSTA^Or7nYa z#;NqelkD%Su56O7ynI?q`bJlis#{n9pU5Za{d+Ar?>I2uc(#JcVdZy`gs&%$vFeHN zH1`M9W|=37wBBt$dyapr>GH?`BlA2C*%eGFJ+70wzaBLawPfy@cU9`1aGT|m(iML` z8W{>D^zZRlo}j1UQ&cstZfaD;_D@EP%qmg=eMTwAtX4B$n|_ve#^V^?yM-Q1${P#V zB_Gf7OnLC}#9Obvj>k41FRZg%k)r!dyudHIftA6n&3y;^+$BZEM?C^3nk_h?&hmUI zr~G^KU;51V=87ELuB~U6Q+%&MajUDOp%B9Zo;jgYYm}M{`xpWpIQZZFlFxGTU@=#| z)FAp~a^2CGKX(E)tjS~2yHNF@FmPp`JKxFP#axH)ueE;0%u%s`V|icblpGbk2cEVs zA{QxVvR`<-SJ^uM=5_}Dz3&6|tXNQ6n-w8EXLn`RVdj-f6}0*1^zD4Uaz#>3L&V1$ z%-8>DMr=C9aIU)gO25O@6g{pTx3^CW+@$BvZo4taU0ZAJ#h!UunriBQBbdvVXR*Ca ztl8Auz#yCXihG6f@y0bBFs*$_YyW@2gUl(wkKe4!In&m6aQ#&6^$gb#QQDE39`>Ard$?biC zjmH`0ZMpWqZ9;=*n8NqxT{S`reO5i*@MzZZ?{C)ZusmiQD z*5L7aPVk<6Op`e6{%USC)QY@s)AM+Jl)okSJCC2oxCI^fBJQm0JbBBF;T``{l}$EU zs}@Y+&nhW0dN`%nd#^YDgyuWH0vIN3S>;}MP(;&k?&G$vBCX8&yjzl|vF}xgcrG)+ zt?+mi!^G5JX~Q6^=Utt7o4Q+-mrJb7z2PiB<#2&|&#%kVIKIDS`SQXlfH~05@5_@1 zUtjw3t(l?lr0Ultt0~O9Jq5gqaU!eD+!OCjJut~;dgz167d@9$qzN@%mXXskwsC&O zl3M+rp=|l*X|GI6>JHD+UvZ(*VLk6TtBJl59M&_M?ALlQ+8eyQFT#6FDS%D+%D*X- z_qFy^$i^l)u~pjLJ2pq4`Hk)GEA@LP>FnlxzJ9Al*#X7Q0|y^XzQcA}`j~NEh*0I% zCE=wOH~cP6zHM@oTl?L);$ya&f>A#6!e4uER)hqsIxv6ld8WCO3U(Ja9`|xhbvd2f z+_&Y%lcG6I`;IlpglynA@_fJK5~GBap2F8&%2Ny#dUC%mZrZ85;)Mp|S~ z?Y!ma^fYnV;yb|(RxV)y4h$1d26}Sz26iVr`QUI=VXjj9sl4*S{mku)(&h$_E!`Cz^J-sNV=kZ?Gy!gCF%O{@I-hb|hQ1L6PfKKngQxbZg zj1F&HsWe51&v4$oDMxvqGM$O3TKPICP4&Q`=QqBt>N_ZV{HR@o-aYr4E0Ytavpkkt zzBF9A@OYNfxsYiR(i;!H4hg=I(kl38@7=l=49}KrFYTaz?S)E;0wt~U4S z`e_x1HBe9RH9&hdsNJ#hSpz&z8b5F=kISS{IVeV&xwx>cOK8H z3ZBlubcCnRY*wE|vy6ao-_lI8pZ=d3FS8_fIYe4-FyiAc^cD8tJHnnRGv|w`(7B^! zUl_hE7w2dwInR7;hR}iMa}TTA7G9dQa+A>=rsMNpdJ9eQ*~s#Z;li0ax#z4OE!gpf zm-BV=*QLEzR=m?(_LzHXMDzW5Tg7Mnye-CN6fuuM;-t!zy#l8LT~y1`C!gvSn3wge`sNel?OTF&eucuGDomr_buUE~)A9(qr=tKL>;%`3J|8|N|>wl0L^yd6$yQP{* zf)Rg?%zvc(^U4MT8~4h`?|beU)(h4+Twk}x_YqUMbEcqNhK`X@_c5z7(J$_AUjJuc zIr(GfB_~~)Z@YcSKe`o$@NRe;4zd5ZdcaQag zgOzLdWaMw%eZyt)X^l4$J*{%hU0*HMOv~i?WSM56+Vt4IRl(->gZXcke~^A4HfP#B zrVqZm@AsI@ntMa&%#(7R%J*Gg8Md1rP}!6llYF}8Vd3qrq^KDkg?;XlqB=SkCy0E0 zrNPi7v9>N?@dlZ?DgHfw@5o$^3ae2#`P1*wouKEIEc5)G&oXG#2u{4d*5YyAqaBYH z-JIvHQgx*<`1GBKzB$1gg|y;YRT6mCuQ(fa__R6$0~^20)zv$C8dfAvz7tw7*;&bB zrgFJSWXCj9!OK#Hx4!b*!bGdUuPwAQ`N6aGoz}!A^yK-<#V6(KC5qVm zs)813%c&GZ|L9d$1uK=+f8&9oTV0b*y&*{{Gp3ko`_r)E3 zGO6MmtBQlsL!*Mqv&@@ygk)=fUt(%WY%>h(H!uv3sh;fLBOb$g&g!GX+Xa103@tLx zC*NDv=Wv2E_r~K{Ne_A#R`Jzs`Kr4;X@R<}t%k63%%)Sy+702#eN%e5k~0p7{CuFo zdzhvAigav!mHaltd0R@j4L;S}v0!fY_}w@^rP7#5(X&3<-;R9T{4h@TM9=nf8+(d4UjGP>mAyDS%+BFILsNa-rNSER zAH9VS_DkKLnOhoun|=Q4x5p*k*lqn~x*&U&f5#fJ?;d+27bZ@fP{RBt`}6F>@{CJ= zEL`ik{D<4wu*aD*@0oF&Zk#8*wO0DKy8FlegLXR855^f>RI620?$v!Km3u&@kA0=w z)_v-aIOh8uTP@YZ$M1XNwO_$;j_S*iW*!I3-k9Gzs*xi>Gf3NE9Jw^Rmz6<)_J(q7y$k}esZJ&Qy+n%%TmYm_N zf5uPOcL+rk-mtr~{o&cV1OJZhI+bm|>3*BX+}o$x6KZNdRGxq0T9;6NFwsVvt@U@x zz591mlBEBtMkw^FF7Yd}E?<8k|A%UL*X?8R8>e+$-nC`g>_Df_+hsTZxDfcoV|#B3 z*YWp!jBkUR6uBC$wmL~DvfHlw_IY!U#|(v!|4f9wrra#E*=f?~R8V=m_}(ucxhnoA2L%1#t~{KhW# zW!r@Z8}%H{ORrqBiIY)9&ZyXL`k50kd^cA`DFto#v#9)7t>z?lcXoE>$!9Gd*{=KZ z)`WM--+RkutTA13>H$}t$mAVg-+OCSuHl+w_V-nH8t3gfVkd(gRNi^CGTz$x_}UVl zJrkCEJnPcfs1-gdXj2aJHVv^u9*57|zb*0FDRFY4B}+l(>YZ)Z)caH6v4n&sZhRhQYc5=-rd10MhvH9N^Rsca+fqMk@--6s9|fz1#ji|Hnr|i8#b*j zSZB}GKlh+trR3v{%UC(Q*D=aQ-)ekevBz5@@5i$>2A>swMlkkAHR!lJZFo?6)Z>%e z0>;nDOPOzq&gDp2XK~aZW>0-V-=5DwKIhK3vp4p9UE#-n>cGF)6{cIce=UClahVuMvkr1Zu)zb4+ABdw6W zJc}W&ELFJY^H~?io0A+>_gaN4X=QD-sTC7qhD($st`RwNF z8~$o0*yJX0yq#67GhHtAr!EWLKbv)BuU^DG;pagXF9YPQ z>zR9ZvdaWFDnI?VWnS9hQ+aP2eRB*iELmFhRpfi%c6F7KKbidsZqnimk9+=2)hI|j z=4zmw6Y?N^{-tTA%BsKTF_@gZ$i{^MuTD#@*L8TdOI|CN}`gO@wTm5wZy37>Ui93=wzAQ)*z57>#n`QDUL1n@I zx-W+5{nkH}d!%}wyCuvxetoNz`pK8qmz#7ZbZlafC}Ow!seW| zRhB*cM0tLdo^}S`X{k5;$`ViHFD({wTC*T!5+8dOhlYpE^ZQHHu5wSfsqkgVSH=fw z?{_xdVGNwFpULs_R;5XA;f5*f>XJ%x^Ca7B))fD|%AmB};`oE&E_2ZUbEd-2Qk6gJ z-ZSshQn~SI>g_FkH(xt&ZuEMqJ$W8qRS>6`lE8EI{c9sUK2+&nH#x&I_sItf=B*5d z-^Dm@lqv+Rvj{t!zAfYYDWj_3!bzNg^J4;7dK`WCJeGWLIa#597pLsYM+vV4ColMY zbibF=f!aGIUl*{6+%en7$8YlD$BE}6$J2FKlAkC~_7G3rEO@nWq62@99@D(JnapiD z3|jUx_b)XSy)b{qV`ioX^^>{{_gl@2#g7+%FAO}Y>1JqgSblfEm%ouaYiQZq@2?&B zCl@lOKhnJTG>Oaj@|(h>QDnKaC_I#jVHH*+p)8Z<+CYxy1^}_&M8(DpyJ- z==pt~5Z$-sdf@Ikg&w_I9ZW1(a+Pg<1u%-dz8E22=#eB;U>#Ihc;ujR3{S~|6JZH! zmNOLhePNiy+dZe}@%*Zu7VgPc`aDDx9bRwkl(3Y!sHN!|`pWv-QKsb3vd8LdOHQ>u z`68>?bMffbJ1KpvEIkbD^`{!PZCCd56G*7OJR?`8^v}wkR%wYpnIXm+wFmm67})&m z<^)`9p720EE8h6j^p96wAWt0 zYAIi?M>{_==oGOtUkRSj{?k*1Z_0`J%6WdS%2tb$KQGPoiWX*J{I=prALG&qn-u~U z_w5iB^8Fs#ap$n|EXF%W`3mRNzIbKwPCCpe%CV_hIB;`1`}Ply<`%U1&snLwz*H)A zYA4IK`%}`oH`+bk_qkQ~1jC2Sr_4PT&({?P9y1ecdEU2GeMY#YCHpchm$_{w71~Wj zepV&RB#ym3QW#`2+f!lUBo3yQ}B0rkmTJKAq$MDvhC&T|9^DATTEz4EbMGnG_yDZ;PH4KP#2@s#u0G@L9=R2y%XZaI5o^#Ggpt=?we_C+GePmio(_pAOj%U@reukvw2<`GLK+l7sB_Q2#k2Zyrk*PBuaD9*J31|~DX@5p+}&3yGb7mKraTD?y-{mDD=BZz zrk1BxA8&PcY?2i-V37Q7yK2i~BhKdH3&q!F8e2GTwtU54sxZ04F_JyN-88e|+60p> zmIl3odM)9?0{+13CLIfe-ioUv7ru6w7;Nov;K76PWeg|VjjBHQR}~yq&|o~j*5s&6 z!8F~2Uvs{$xL)Hd@wS0|DT7_wZMCbuH<)EEKVeK_4VIe|BIvgCmYagS-;|#oxw{P* zW0Fl6`QOhqw=S_@;0YFfR+=#5?OE^5O`Mjpt_Ipne2e-`F5KEBjA@7iaP)Llt)L_W{?`rt~>s_>_A zg|}8_H9gM#6s^vZ+^3}(n3$|y_PA@7jH2p}B@obd7os)ON!SbQQiYGithHm$p zrBV#H_;@l*vdjs%+At%=T3~j?d8aHtHV21&i$!G&|Jw7CvsF%o4({$iZfO zyDLa!N2p}NUWd0Hji29yg!UE~Hn9pA^y?J9GxTMg=yvq(c?%h?{L@kbGg&)TE--nT zy*<-Arz+@3*OC)=D^^@|tYL0rpH*}56HjUzyBC9d%{ESH|E)Y9-yXM+Ez+`7o_VEV zM*Jhox1QTi#~V3S$goN-;GC499Ium5CR4J^rt5Y}%$yR1%VsJ&@7|mHwBvEei3cCd zE->qlk<7x`yO{qE_!?3X5Ng&3*M)AY`bW1|Cm?F zS+~IYj)%p^c#U52OnA#v^`tsjWdF@0)dvqezcTMx)3hV6ZPW!P@!4C|zx#8hsg}Xi zO@#AcOv=}8mep9!*@zUX>>aDX|KDe4T%@h39AGhVv>C$w(xm)pX~ z)56JjlT-5Rqq&>4KmWaCA^*2(h6}fVJ7cYFW|Vs9Q%CMAjF%c%ruK=pF-Sa{RdD=_ zjLato`Kc;TeHb2g+6b^`b(sjRR$vjcT)@q+W~M@O->8_OMEpoG-H-%xfvKUA4b;)CzpVpjVRx_Lz zakb2PgZaby&Z=kg8ULP)n7ggbzH+kz-@SDVC+u5YP9)_R9I*M6rEmMaRGD4k?ydQX ze2Xh=`W8*zA@NV^KvTxu!;O*$**r-$(;l6D_+kXYYea{IRPN3mb07+#x*@17fx@J?NN-&9#H|DE6Rn{KIH$jwV? za|`BbsMSuHa9GiQpIc$f_QTaHmw(tgCAUxcXGFbdY2cwVOB!!)Ty}6##<3s%%9bzZ z1pdCT+whpx<=m@G8`RlvlrKALw4ST@c%sL|u1PA}w9|4m9_% zWkwV+O`iPS{mY{7j9%iZvzzB>mhHcJ_3(D(IsX~7N_V%jcq}hCf7Vl3>*MYTmTV0S zs|0oyurGWcy6o>O3E}d)2Wvk1SwBB@qJhcJ*6`)ml|nb81jP%gzrMWGAf3l`OhAau zVu@bA-jV#7MYS&<$#2#SuRTyA`7*#qGQ!IBN`o(hhR%@(MOsex3O=3CJ}zCc;?K2S zZ%0^XEmwc~e63KP+r2YoZ)MrNrm2*63n_h`H?{l<`r%-_9hr>W{t|-l-m^mvI}gc5rvi+&1~i z`=1A%)@p?dbR23Zo>%Dea_{@j_rROP!- zWo4(4zeD|6JIM)uc6X%8wnv#IY>`s^^hEb*&-$$FlR7gd9J7#-`NY4}UtOJ`T8ptQ`*8S)ma$jWh2rjep%pYP#W4eLynVq!OBpc{*w&)GM5(y%Pf{mGVHTh zn8O;q`OES$4^|`TbQ1 zo}xRrpIMwdE>qm4$I+(rqUGa>e_P(qw+^3p++wBdqT6lu%cB@pF86-EV&;UNUsqS& z)(Eo6W8d-Z(F}zqPq9?inyr66H)N_;NTjKsn)iSetoICvdxU{73|u5T1HVKI>(vw z)i*3Mc)G!Ae$EBk&d{PB4)q&y^QUU=kPB*+H+*clqULDs#ZToj1vd^ZTgJc@ZSkZ( zYT7|Faj~^3zB*YVj~i<3wru1qQ%WhiZ&rEyv7dEw@6BU%FPFBdb-AWEII^UdGc8%- zalxplLAY=6rIoLF5--ah2yFhV_3cvRY?{8n9?btIx;s|ucf{_Aw|v<&7h(Kz$f@m0 z-52A@y~o$O>iG1nYA;SnSaDAC&4G0v=1*MOW~#1Y^l)$eR0dm_m7nIG^LOm(3fxz4 zbjOPV>#E>&GZ&WJ=sNtPFY{dBf!rN(&9fNRZ*)8vcswg(j?>{{xw==s`@K?n6(%m7 z*dX~pOHSybbWH(QebTe!|YO5rf9&tnXy4oUR6|c<+ z$ri7#Efuz${4_?7QRe&mkO}MfIowa2d;IeD%%-m)Fyr7A zcGmvY$z5S7EzMaEPByq_=!ODADSAJ^kCvSR-s)Yw|`## z#`-)z_;u*A;%7gZtvAkjyp=)AL7rvq{Wss1cQE=0xnFA26-u>GxSY1ThQlSN_+(8G zHX*!}0j6#WtUGRy9UUv)jKmdRy-7v^oyjd^n)*=;K)`xAWLBTlSa`BNss?t@5|G zmd7qqib&`W^f)MYpU+$FZ5Q*EK8qWSJNLyM>Tci>Qhv_G@BFXWf7cv$KH*jw&78E= zXN`?kCGg%cIKP$Uw&O0R)3(z-t=&FxM^DfJf}*5s<%*L33`XHUA1g2!Wo6DYiOGL?F7r*A&u(FvNqgB% z{=RH-vnre%a&=ln+sm@XJ91kUJIysSr7cf*U5GL$I<7qNyv(H~ljpQ3Hdy@J%~iE= zM#tkk_r!aR61|%*U-=avbz{x3N5-3_+v5~WC{xoZjxZ!OQb70I<+tE$QRLhdQqh2oj7 zial5NC#g?3b5^25!?D5hb>N?iPa{&d_4Hj${+>0{LguT<$v=Br=FIoqo5dA9u|u`= z2>belFa0W(yFTC%Zl3RzK3AuA#)Vvln!7J5&*a%03s_RVGL@%d8GDgMO!9Uwcdd>8 zUdvYg+wxMq=akV8i6?0b<|!L$Ni)o!GHZhBMs6PVGr!L{8^|B3)iCaPe0@S~#`ccI zqU?<){OX@O&%MQO8Ca~> zam%$|TQYaaPCJ)ij$cB*>!)%{b$q&O-!j>EPvgI1YMuSEjte**G(MVo{p_8+A(Lmd zJxQ&4Fri3%#mdDh1;@ABTvqX)V`w4EZn1#>|AoJW7xVQ0oqcxVN#VqaCqH~=fjtgK>>AebMt5C_`m?lZPP(kc(aN>ux+axk+Y3wcAG>Sp_Dp4YzAXCE zzIh+oUf5V?t+_K}`u43gj~{a^+WN7{RqS}O)|2gtbBg0#f0Q}QlAREH{I6tXa=_JN znbr@U9+#UM^~qzB(xiEY$E&8^QJS}JxoKFY%y!OWg(u&7zF@XFyyd}!!Z}^j#DA8v z%3T#>_}TFK!t<_4ngRkne73CG+$E9QEsxBw>1+9*b%alR#i|KYTl?7KtG2YpI>v;m zCPk|ri+-OpZ%OUNTQg?F?Opj|!Q2By*%90eo(4}S_LtRUIP`caqk~Pjk3*EkqBTri z8mps0S6Cjwa~|N z&&)Nb4x95?-{N(@*O@&9@p)G3WkPHZEZ6huX(+IgI=4@n^Jn42zNtkIk5tzsPka9| zBtP;QtIYhh3dZ+UyVIE^)K;A@n6&Y6<99!;%EcKQR`)QTUmLh1vplbdclGy`M>zDR zM&xHQJfCOP)%5Yy(ckl;Etsz@ovdeM*i@Cadc$W%o~jbllp8%~ZX4X`cMg4?T7GxV zoP>n3mCLvPy>Q2P{==x%`ZFa?^~h9RU7F;vTs`k|s0we->hdSe!RJ10yk*=fY4PRD zs<*}r!TEJ}U%PG)mE@KYV<>+=YptQ+v9g`avu3@oWZlHZue3S;?p5~pT%S*_6;F~l zF8o=k$ej1SS5qcK(K+K6jxSv%d&-{*d9Ls=^w|_69=^&Gt6Vnb)$Bc-T;S%van)x@ zZ_%9OCcdhx)r$=Gc296mSDN{4C+Cfb*5i^dzpPgK#dTq2y&-$vjwRW(7j|{>y}KG^ zy>g16y2`(h`T3uc?wpBe{4B$D!R2?s{+e}GNed=^Pn9vh^8L}oylb^Y4)EfUx&RxDMJ|JpM7%Eo1<%~C9FzAj0-Wp2iBj>GoH+8_s~@0!nR zXSSbPY+=_n`Fv<8bWJ6JwW4*hdx z;~n=ni={huhW5)a_cgx^l?pt`EVqTxWW#|L&n-giGU+mxR&QF(ma0|76Jl4y@yX)Z zf=r3@@9od*OF-uVRw)HOUC6bHsjs-N_@(oM*2BVEl9xJ*o|>*@;PF*9qte`rQR|cl2V{R=epIkuG3T#q++l&wQ|#|P?`oZMEX?Dfg>6XT zRUs&OA^dx&K*~@1|tS1II-p7l!1XxS@Og-ueFwt0r(OrcKDP__lo2visAYJ>R(E zKuYdk#~6m%%xm|Omc3nIn0Hr$!Dz9d43`nVQVY+_&+;nYj`At@Zhyn&c&@N7Bb4v< zO;5Wm3{QLy7nj?%S{2_?V0U6%e$z|Re3hs|N#0hO7yWA7<_~-s+>P|^{d`fRwM0zt zh~>$oBTv4qwhMG@a!y})mRHg3(?$1%3t0LtUUih+xn!z=)0gL#vVT`O>c6|m(^~OD zQ@Jy?ST2I+&sDw?jEPQ04-)!(9dsYNC+$@Ex78pt(`k2);DyUkwq1h7tp`}T92|>< zQ$-gfNqm)ExmN9fl;c;0l5Z<#WiD3N;`k@O*5DMswEKksriBxy^avOS-9ESWF!RI< zR|>5*{aom%ykkYrnFX4YpQpa;Gj@nq?ldQiokqd9NY=Efu?> zm4^#hg-)v^980#Ywawh%7Fh1KT;{R*UIw3#V`e)Q`q(UwnrUpCbZ3H_W>olr&wCpg zKKeIoh|zp`U}-hOOzR3|yGKj95>^R(W#8&(Sx_t_u=w&?ca`p^mGhEo_8+o-G&vz= zI#1DF+g-s4txtacV83kfXhHS_HZ~)7hL6GS7LT8@Gk;!M&G0gjb4pM0v)?zCbVy8@ zD#?7IZpyw4&dufVmu5|BIvOI}cWA;zt5Zvj?#*54tTVAPwd_gNgRVTci;98$RYgS$ z8XNEYx)5}ubGuTj;PyiuD1!Vv1xW7NEXue8fzvUlar=&^3jn{3i zb|lBP&XJoV6QDg&Y_hdT-Oi&rc}B^W_Fe&j6@LDOFFpFVKk3n6pL0QF*TN`$-NqQk zzUFJwjNX60A$a5Qmt{`>iY67=B{6+p2$53De{$OZtjsOS><)8ipL@*|6PUT>mcn#3ZV>*H?9^cZTvaiuH~}J znsuC(a$lWys;uAJ?Rw~QW9Y5)d!mkZ|E5Iob_9wv?wG)NR+}|>>vY+Vj>?l{PZY49 zu@qS;(@>dOWPIS;lJbO|48`Z!W~p-@>9P71z&ulOhSD63-#27ed}^P@lQO~0S9_m$ zQF`XfqbkLVg$0v1WO5fw-|=Bb0E0~7{HQEL;kUOqw69$Dy^<8rlG?72G*`)5X;1e2 zg~v@Us;oM)K(?uY;f39llS%zgV`nfFI!l(qdxrcUQVA z@3(y^XR+i2^ZL6CS2DF59M0P>)jCr)A+WZ;(1AC7W&q2J!YgHG{UR++Z zCx-X4=H0!zga39z)rHUtORqfeZvI^Csny)n@_54%A4{DDA1ae?{0_e7dpJ2^;?E1( zw-Xblk)Cl%biU5yv%&;c-Ujlb{DCiH&bB z%W8%)P1^0xE^<9nEFRZ7l_%x){2eB%4kfRtNDJC6Iv@tS$uFv$2| z`E&DG?{cY>;PWyW5tH~V9_>s0&(JiZ?uPjO&GrYZPv@!!b=?oSvLG>6rNh%TL7Z9k zeBztzmupM6>^1iNckPO)XxlZ#U6nD30jwuas!Oaty8nmv{kPf+{#}rl3x0UNt#oNF zx7!Byu4j^*!l%}m%{|1|UjmBbO8+yk-2Bhbl<<20maVV< zIQ>|^>TLSM)z#~@Z0-Ga>8jp%@FwqofTK!rpT*l>uRm0OtNY>lf$Qj&^{w}Kw`?pH zI+T~#qrFQ1L!WWa=j*c?te#zdzG3Eqo&Iy9pK)LQuu^$usUR`D$o6F_sll> z%7qS@6rSn}3~D)|yvMV0x18||Kj*4{!>gZtA>UiwdK&$v^3(btOQ?}MT_8zmR7 z;A^ly{VbPV(mL8SGsuj&@JV&CkKqKqGu71rDI8of=~n`nd0J)O22=;fZ(pAkK4GfF zll0|FmDSuiFE<}m&u+Ln%lWd2Oywd|i4*79*IGE;U|())cxgiPiL#UO?6QSHEE|nl zUeC`e`dO^;_qp=Dg}$ep`1YRDa`9M{c8bCCu?WM5?mzY&OF9{T9$=mmtUPzd!`gz( zs35~Fe0!cP$Q1gS@UidTR+-sh&OQG`u1;C=+g!kY_pIrHI!(^KM-u8=mDVO+bb2k3 zn$u8yr7h`WWk->%Rh`I@dv>A4Ctnq4K2q0u%2| z-Z`I}3fgaWDhBB%j`BAAJl)r@a@p$rf#0j2P4l$#S^aVQT2Cg+pnK5? zd=3&z&oJxhc`v*4#_-^y88XNA?EX~nD}I!zTe^K?*R526=w%0f+}YUReraFa-$uPee~GMA1-_=6 z{L^|2{EW0;ZQO2sNWk4XeB;_e{`+bg6>%2K>$4JFS@M4F)pB|$oniBRQE=-qe)YA5 zdwazmGx9K4viz#LTwg5QzlH7Q#JPK9g0$Y&Y3xc$KK3r8RCYD9Z~v+KAA0lV{Yrn! z{&23Jkev7F$|9zMi5nTVRX^bR<^7Li<|@``9htl0Nf{A6?g)XQy!?=OT0{%2s(xURSCNBX0Dp7Tmaru|xd zmdA15i?nn0HWy;I*!^jomvri5&fx;%V4XBgvyu~M9hbe$IK1$&tzmfTjRH|CK3^6i zeJh70Own>%md?(rJ!4)zi$KIVAVd1Kv21>wFzhxKWEsmf0aj4DN*c9*Ms_AHc0RpkHq z)?4h+0yB1rvrN^UieD`4mUnSZ_`vUYYsL%Cdv0Erx4-ErRhKXMw!o?Nmf0}$@2F|~lVus4X5>HB% z8rQPwl+BrVd4HBmuaZOe{Pk6WHXFB0?z?xT%fZruUE<`I<%vsp-p&zne;DWyG54h6 ziN~|5cT^gzog<*7yjAk_oaWn?W_eig^=z(v_QLYGh)z}t&-uo_%+{Xl-&-H>PvO&O zeX^s&?vCLr+m}CutdrXBNn6NjeBQ8oq9aTHp@l(DPm3prJZ4*(X~eXS@w9Ku zZdQe}N>Ugbc06k5s&l%@Ja5W@*ZVmh&%3#D+X7!s|3?g5-rECqxIVYxxol>@x``|K z-NeiHW?fP{AhF^32a^Wx?6PtrGb4ZdOG_r+vuQByn<_th%QyDRCTq>uvMybRX+pI&|LQ-TVUg&Z#Gs|fUlTcnN;d^is`~Iz_P3sw}%g;f z@6B9xa=&%3d=#7E^yE2>{a(|*2kyIm%-bZ zP@By?`Ll*imkZCy&oX5%FHO?FlagmMXMPsL>|&$mUzT|=Z8-4!-lXt?{kxBEa~D~) zCb;~|0*;%T9#%6HpSAQ1wLJ0blFz0Dv*Po`-cRSN2xKrOA3ApC#F54WY^}AYm>W1` zS&eKTKhOC%&o;BXC*@<`&IRn1i|eOvmkH)M<(*i>Ue&8^WLW!PS;c{cbE6gH7>{3S zkc(tw;m=>no_P96`lZDIP4-j!uUjtTJ-A8!=|9E33?{dUGb;`pU+^+;^{L`dANVa6 zB+T3MOG;@X-&1uFhG*qm=AY&@&ygxI+V{_$rDlhzgpV0_^295pE0ud&W-z3bF5vvM zab*(!jzy*{RnKNVd;fFd#v7k6%}SdX{`6ld-(O#LUu8Yf-~#nY79t$Y&uwcnCvG-S z>G`YW;AT`c?+T;H#8pj8(*Mr+=poS{(^Gir`BIOUd(F#avl!?83s9f<^4bKxTjx%_ zxLsTEPSC;>0r^jQy%dYg};(zYCMfl2u6H!h~C9>7QvTW}T|GKnHu);$2m{oDW z-BX?{O!d21Ib&i=blyA4-TBfsyCiz+;mNuS~L(Ty|<-Qt#oV))D3T zi9+#4hE^+Y_jxQ=@D#E7ns|QUB7vR;))yHWT|G<|wkx6*xw{L!zqfeuv0|?$O^YQZ zp9o*LtURUt;44;(9bu0p5`9=E=Nii@3N&T~%ByZzP&_g4!KVKC3ZExC z@U`bO?2_X=zb!M=yWr~ z6`!dmk}6)fJA26bIaigaO?lqCfPbk1x71tx>kG5kwj>?s-L2nK#(ZgUn(Cn0oD<^0UP zP~@s0aZx8j;=|q>vqF;Qta#A3H*-%JHCKYWW)Q#3U9emM=44w+q8L z$0vP%f;<&9w+5@*BsB<}R-O>Rc!2%ZyolVxeN%1-atkXa6yN!>%%^bLx5u+M^BrTf z|1+#{uy`;l{MIV74_1Gs%J>*IRDII&yK&y~%L0$yJ3H?bSUhH1WVB+3_OqG?JUtnSSbdZ)nh>x!pSdR8?~yuDYb_mt8x2AKz6?Y3N$ zTCcZ<@2j)U5uXg{0=u0rG}mtwc~{(KDk3~zy=t4oOK+Xmn=KB!^Hq>pWU=UQ@-|P? zs1&XTPHx2~zN};@nrZZoec`ti$EWV!_Wrp8|IbN2<#BCu)NX4q8c+Oe@HX(szLfnH zJq5-7ZRVa5CmyW$y+rP-N{0R!nMrK-R)ntFv#-GVhs`JBu+YP5PakhrT0BEjWwnsi zgxb0(k)1tlj;;4*yer7^OkrVI;cv_MGH~Gp`HA%%0{6Ds1UfbL8Tc2vHmol>b!wu- z=ks}2j!&K5e2ksp>f#(xH<^+rSBkb6PVhMKf=`p-id+6%&jZgE?VR{9;J5MQmgg&1 zP76Ni!{GmA+0RpNe;;gEkg(1AVuFx$OUP+Oo6mg(^<1hyx1BKBlae;)gVy?Yw|ja7 zG`BODM29?iyzu3$Twd+|gtZ*EZl09?x2i>?OK0bSz+=8v=OP|==05p-AYFFn!o`_S zIbYxTvLsS!rbH8i_KoHs_K*Ol3AM!@A2uXd9C%e893{g)Uu7O2D}#MWyR^K7rKRPG z_x|y-oE4KCUvNGM@!U}R_;?LZ$i@S=zq@$G&bh$SlG|eTronK|KU0pK$#ehwe!SMG zWS&v6ntQ5EApfa@h2Pzy7)rV>&7V?Wc);f3R;7S-zn2{ImsmRSjC1uu`?rh%Th_dP zHu1}smkvT3-bJKT$xRiXc7DqTD7&}K`!eeh2P<3){#6DJw^IBYdl zXD&Ix{G%eOBBsf3a^F_z1);a+JigbU!eS75QaL~H&nkvvVgf53+x+4ZE}6agd+jEx zAZ?u|_Ktm)Zyor1T{bp&ZM!$+S~v3_ey_^d`9>d%?=7rkdtjdOSmyfzmW=BK6M7ym zT&}z@wx!n4zstnXP`xK5@6jTGHT5NPcpl7Ru$jvJOhfLuD8~+GMV6Emk}M%l-q}U4 z$fVC&r@)-NLsEIK`Uc53qv{Hi>}9Q|jBoC0zWwn}_QT%z$lvB~ne{r}ILXgG6VtP^ zz-)fr*YECK3Z5m`QfgMP+s9}9SbzLi-TcyzOX72GeY?&$WuEz@sw*X$k@M4P47;Am z^WBU%`=3GQLUGUI^;IwbW!!M;<2b(j=h?#fobTlWE+*~r(GqY7`gxprY3T)zKJQ5d zd{$5Xg>Y_i-5Inz@Ud3*U6!!)0c)UK)L3GZXscEc5 z2DMol<`bf2@(%sgyp$8k_xbX>=L<|$9C7nn&OWE{QiH7U=X3lv$(K!)Y*M#Z);EWy zI?XK0UoM(-$|RHYpIGuMX_|}H;@c~f<|=Jsd?GmC`PQVc!?`C9GB;l~ zVH8@aze|9Pjl-sH3a6o@qnv{clWmso?Tw#g4@)ln*;A2t+%JP^>XV?8S*LeP|2Sc* z{rEq_?f(o9%GN%*?fB@g+NZK=iPLX?douPfl-;}f%}QlYMZs0c%(I^Usei!Bee{>? zxtXh5C*~y@nxqt-I9Bma^KRqMufG}VE?lm$_~^FyLBF`lhRCg_8cXZ7)6CV`?5c`? zKHKk9qy0!aH}8Ufj^LCBtCdsam)1Cboc>MjqiTEiyj-n&m5JUvmTlhGBVf?}<9ONn zb^Ft;{e^E=NV<3Awj@ju(6E`n##j52;|s^kr)dlZ62}UUddjR?{9NYSx0T`9>n`lh z>}6o_IzDN~w*}L8@*Y_lq7iUYg89m$rCaU%j{Y{heb@6vmSKj#${FuCPkdkbI3eJ~ zp5FZ$=ZrE08I5duA_I6nu!~$fV#GUxrLQ{WLa>q8?MZ%xvnIS{ICj)|;$gW$2c_)v zz6!~hNjDCfe3+5PSFz&cr-^0hHp$nfsTVQ(nDKwxJuBOBE$5P{`+ltt{P}1>=98Qw z3=Dn8*YcVBwoG|ie84s%A0o&sM+s$HWZcn~^`_CZ75WC|<+6m|xGHT>!Es54vED62&< zUtm056{GmfE~MV7pYQ$N8$En;jh$=)r^)oyGMrqHsPm?Cm%+i~PQHoR#YRpyP8`}S z&fB!7bZw{0}%R-!Q-Q z(1Ka7JS)#}-eOxrcsg8L-D)71?am zq%4tS7aVMos2sSv(B`v;?##L$C)Jl#h;XdW^F5ON?ChM6{ZX6VF!4_Oe5}~#K<>pI zKLeW9?wT!}6two3m4F+^0)I!zzz>Hd-elSx-Rg5vZ*JS8~e{qSe)p7O0>SE%lD3+ocmO{w+{->FIcI}bwgEhrsFNg zqlR94;`bbU-6K~xtHa~@_blg>2hV#h=?blq+*j7md!KDF=aa^#JsMwRUzK!)&yA?r zA(2;A=scq?Md5vb!4@9#(^l_Juq22^m8{&o%%H5eZ`^7^Rzp?C;8G6#XScW2zWeh{&_)rbJhz(oT3{TzkdC;g!j}tcH736 zenN`YlI6+o`Mr{T)=k>7d*a1N=Y*9n!-6|*+H7#EIBObkR-x-gYuxgJbD0;98q}-| zmUzs(mt|`6j00Wn4AT@H|Ak!XOHUSae5~;HrT>m?{931X6u!Q3wL_2TG){#sOo`($g*xvb@M&0FFp}4E3IJixBBgc7l7Cz&y#YWPreLuc+RoDHj@y>o} zRGTJG*J-7-##F!^0J z&+yh9RZp&;IqauT*gwBDZ^B#YmWFq~7lblj<@E@0D%V$Dxq{2>`I}dsxl8_unzVU5 z5%l`cp!tg734d1O%?azL|M79Oe}1b`*IX*Ztzb>XW0gW@A3ioERH+5i?V$RDd75I^JRIgQ>wzk1dAt9Nye)leq!pIu_B|| zFmZC$&u9fgC^y+^$u;k7bGFfKmpA-!KBsi0 zkcUcXS3!a0&uF%3kE9E^Ig&$9aE0_Wi%htEY%`}5pSTFui|8qQM-vV`UsfHkZKG4` zujKv3en}k%r(40+Me7H55VjM~q3Gq{-X&Z`)0?^Zj3>^k4k^pio1SyRL56wv ztZ5Oq&$v2&YW`gOXVv8$^N#M2ZsK6SuDn!zretqQW_hmVPq*S((x=<(4IN*eT(;7Q z?SS}=V1+G{maOVAaCq5wHFM9_ZR|Gn0;X;p2PU8Rbf{0d@X>meOdU7l^AZOaa0N%d zFSz(!@|@;&&P_%UPXv2+ybtO&>npaHtlh)%#%_v>`z@ZJiQ6+Ce5&VK@rM2X#lQU* zmSyH%oax2blV{VvHY5JPr=xqm%Vtfn3cKwvKkM-0_lmE7g!?|U6_QPKZMd>Ca z1W|suMRQxL7yXG)V6uGSxLSby1VaMfj8)S<6)=~akN4Utyz1Zk%wtx~u3J?$SuwCb z58~4@2o2GA>(%4Wera3R70&R9XRT(+RbPI+$hslWRdneV(6yD{7#4MD;K14jd>LY#>tFHS?p89xR;>)tD z2hQwg=w0&oPN-PtMUSU#RllyTez@b2;)$;oqMlD}R+~#cHg#~iDA3w*sBgK=)r7M2 zta+6OZC_=|=La5N8ZxbfHF!bJCu^xpu1B$_9v1O=z6^=IJ0tgJfzg34E8nF>oRd7y ztdMs$?9L`PnZn79XEUarkT~a<5N-4Q%c@D|nDZoM8${FURfQFj`=id4c}DE`n{~vs z+U}5|uMnYz z#oB$fnR+Ru3RAyG*sj`p^^&VVuzK9QubB~T@ARJ3%{VTvx$3(#)BaQ5xsNZc-nZ~+ z&z2Mo8JX{2md$>um|~N@IaIY!(E7>SPap5LI{ogjc2tTsB6E5kO?zc2vVO`bOV$k<`FEH7 zeZZ4$@5S`!XO?2X^YyN#jGTL>^`!j0#A@X!6g+9Z8UNiClRUYLC-?N!i3q(*j0Ij7~V5 zw0wQkHE)x^?Tv4@Tsn}(-+tg$^}Iz5Diaw}CeL}$6U-Q?$~*bQlSgZOE}ocayE`ovC)PQMP1$(+Jo8$G8}k(&%v*kKv8O=F_T@6A%U0)4*{sRJqsPndqP|gy zUApr*Z$quC)@E`0sLY8EOKTsLy$q6{+9+|nPK$NN^XYS!JXT(owRxt`9GMA~>X(+4 zPn?`^JkHoR#Q9uh;I*dhP80ZL4Zj!r^*Vjxi{39PZMEUX&L@9v`&y(IBp;A9bU5uu{my+;Ch{9OcYfz7Sdb8W zKO<(<1cqk~FT!uhIZ1jx-s`c$kDcMstdvvA8VVE7RU8$2cdqBe;-?mmmN{NXY0G%> zIdET`h3#1_|L6A8-mpD8sZi`UwNoM|*`!gqx8k_nRppy}da8$ZoQUH)zt-@f$A$$w zB?nekgcz=4dTuK1RW6irj$LzN7mJFgNZ}hl!(*)KQ{80t*B-LwOb4Fuzq`sP?KJbJ9RL9?FIfIz&W}m~0Yc{f39+Z4ES9nWK$mhu?O|~() zCPjL?RTaO`{A54P?Z{(!Ly-;V%tWT7%a_kn=C&S2bSr zf8X>@`~0PuMQOa-EWYOw;Cr^F(HY`Yq!Qx=ty=4nM>Z|x9 z8zqzOEx7XP?SvK1DK&?8EMTopOAoLTe0^z>M4nI(7vFwei_{3SZ!a&)a81+X@V#C5 z@+`B5bk!l{3B5OeuF|*NrjxbfmI15BCH;?vDwp#(0(J*9{_)Y!UMa51jkFI1LW5FD9g z?UPkdcv8OKWYV@XseSB)x0X+22z*JUN=xu7#lRkvNG^nBFZ_EX~dDj`0gK^bu2d+De$89ba zpMNjrWO0u1rE}vB2DfUimN_S1_%g8g$cXk^%DfX*KexZq&G@=W=Z@MB#r<)bDH?`z zJ|A;fbWNpx)}^;xHPZ?sY^Vpb}vHDo>7cVY3< z6aRFsWGZjq*m;nBzp3(1zgBTA=_dBiOI$Lp@XSf!J-#<6Ooe4e;!Y1+cG=ABykag5 z!p#S`XU(14&c`m3F009;nNWOvUsgknb_>r>b@pbTi6NR=e*RH4>y+Z|R0Vra{%+OR ze0eE@nZ+}^A4{2YX5=ltlJfZSt@)cQmi!EVmbbt>YO?mzH@7TpJr=NOuihr|pjOjN z*&`+KbFxg(8l45&Ji-_Hnp#TRY6Se5Uu2pm-UwQ=IFos)iE_b_ zo_}YRnZfGGa~^e1S$koY*gu(vyVDjWTx8fY!FpbXr&15+2LFJ4Hy3!VZ$4q$s`f?V z>C6y@>hfh<4_p1c6I@XDi$CqV#B%-j!cQewisx-rs5$zdfmQlP{co2)!5?_HH~!wLHE;4qu6l`AYOYOBnv*_RaEWYG z(ce}ba$@VoZ|DCAb|1Invfs4EPBLEL_R;!u^Ir)Q4^5r&VE*)V9PhubU$^|@e}={_ z&$Wvm``YwAO_}^QbF0Pqv*$&B6#nM_!}nwL$NR^A^*8*Js5p}8_b+Dq<}L4LcFYlI zi*RQM*eG=s>OVsd{rrtnG;;m&l8gJ{rifU?5C#&8BaW~aAo2& z<>&G~QXKpSDJB)i3JSfgj|H@xcf2)mvE@DS^-*P4kK4M&EimEZ6N0 z2Bw_~Urs!mmB=z($0PC7uVBU)H&yAb=i5aVJytMqDzFf_Eb;sF>9P~ckMObd?NDC6 zl|k=&r~j0hIiHN(r>O;SygaA*#*IPt#FOBbx@cqdu-Bfu8Ro@Z;%a^Q>D#jHGuHX5 ztBV@=N(a2bmO# z^3DriZu@eQI79Nf%H>NcgI@m%h!ncrZ+=F;`rfh-wAuJ&d%_kv-=;4h%E9}nW%Z1sq%%U&5^0hntxawo;mi;c>OtTl18~*`3G@z zcBaWU$~>k&J$B{6<2hwZK5b7FZF^HtIE#P2beq}PZH}Kd1Toi{%vv+;SMCaPsi{l% zJ=OjF^1uPvj3~u73UiKs+VI>aX!er3tqGiQ&-R=@{-0s%{x^?5+!Fd{_+xsu{IpYs zIprqp7qbuVQ>{OkR-g8tf#=T2F%nfAo)MTRp&JqbEnQT348ZhgK59Tp8Ed`td)Nk|M5>O%>QuvpxLe1ZI{1AmU7%v zQ~A}-5I*7cecAsEx%<06nazH*zcc)Uvx2bcz6s$v`)<2`TKI{8pXKy`ZvoHO^-@2k{%2q{{5xq6Klf4gKGnSy{~4|=U6O0ecc+D&X}^t0 z|IOsb=6zqEO#Ng3NVd!}QRS6YvlYL=HywrtRZ?Hx^VA$a)FrSmwi z-dX>>!`7~C0e`_q_CI3VABHZmF3D$(_s`h*_wmg+lh|3FONc&;Q~S@*^!k-l$?h%v z?Q9WCeoj)I!xngB{^z5maWelInk*)wH+oG?<@T`~T37Kl0;wM9KVCv-i@n=c1lA^i00Z%(m-1 zSN*}l8przjeEzO~Qc;J6POUaMZz<~^*vDJ__V^!R_6Mr}=Bscnk2ePz{IUHX$H@=V7=G<6`yBOmxRV#{Fv@&Rt-2Ii0#o@Iu%I7oKgKx-{-~HAFlS zjI;cm^`GIS$~^tetKHmE4t|$hpUF2b;-JdB!drWizg_ImKX`hsm&4MaM;0xq8#vT$ z>RU@M-<33O{@a|;clwxA%f#Cao1@xXo~yk1&%pJo?Ve|xnPG~hOxnJfzuo!^x{pl{ zTdgTHyXZE1=z#~}SHdo}b8Gc3|IzR^D*Ref*9Dv9z5j}e=VcuTy7=7k;7iY~sXzPg z$!%$L5?X!X^TBoD8?)V%1=##$F7qthELKo8hrcSa+*2TpLGb0h)$b+<9CSSRTzPBq zmCX<5|Ik;Ps{8!Vd!8R_6+^_Vc6F+#voK4_uRK~9|G{Z*K-7=jFT!{cgSvI4`s9`{rXZ0xFi4ujhR^ zZ_(_iUld}=>Y?y5z=-BoJ@=0ymf{PXHaUSaQ%s>>cu$Ii}4=#fdAzoW_VIs1=V zEwj5@9-gpU?J;Rr1OJ(OTN7-%CQp+|U-8Daowun$f&B>@B=BMf9-XLFGA@L^~2f z8{R&jRQ+tJab?a5{AnJa z)s@%wr%yhY)$qv3pZiQ+$KY{~u*-tn+l>>y?|8IW!B{Af*+Svb^x`jfugfGa4Z4vZ z*wMFsYI2k1$%UP%tnGP^mN_`hH}v{^)ZJ)>Pfz-WWzrlHt3Dso{Pw1A@3F!YqG4g_ zy)JtlUoBt0*HfZm3IpSx4B?G7r{?<~T6im>=i`^Vm{r+e_lzNrc8ERH*WE_7YH zf+y8*{RwlKLjPMeOI7|HDPqrZ-0}4OvaI+i4<4`hy66_K((cKz*Ea=!J(6QByyeR@J&)3O5+&YxDO%f2jAT5;T@%l-R)E6EO<3G7)OED_;lAK(56 zSv`lbZ;Fc(?^BEKOU$JYC>pRcF#8>n)_N~3@%eV&SDCoL3CHB0zwWubt|-1}lEv%5 zT=jKEmdZ;Na^`3?`CA@eYZS?#tF+9|pmwElnug^5xGP5zBqv+GchnVL7{j!~dgJFn zg#$AGB$m0Xycqtn`BKxmFIiLE7KSK!*-@dz=4zUZ8w;Dz+4RD&kao*(2CZ4yiUx%g~q8T z?6xp;EI8sgq0jCsS0hJ&QLU!UQ3lrMqB3hP zW))cr+M+u^6c`j%T63VWBBpb)T4<~Zth$=eqC1mEdO5P`3jNU=G*Q) zZiwy*@?hlSmo;{KnCoOD(y;pEW0UKS^XH@pUlw_BMK7?wrg2vF1Ovxk7fZyH`&29x z3qO4@zBDOBP=Uj6^8H!i2?ySQVtnT$1Lm4Le5~9-5yu>oc^J=MTliVcjXB{4yT#X) zo6eb8C@asix*SroBe20@nWE!4hZAw9s<_-3ChV{{{xm4(r{Q*s=M#NT>Th_!`e*{L z({ip=M(n|UF}o9r8}F??!6Z~vVR?S3#hC*Q;tKQpm-^0T^6W0+Sf+9C<@KG5>xvG4 zTxp)tyj|jTm#g}Mld2qr^Ow3DuFkjlc&$?~@?hP9=S$7l(j{#84$H1wy1=w3XwBii z#Xo~%udKVY-{6?-%bR!Fvw8X!Ut7?}ds%0v4IksPCb!Br{S%K{u*|C3StDjDvq0yE zir`tV6uY<^kL9256_a;7ztt{NUisqg5WVFEH4g+2Ft61)b8s7Df0irX;dGxbBBlvX zlhqECE@0NaH+6=aUFesW4pG1PJx(}9R9{I7DLo%x zB~>_O`{@&3nI=B$a%`wze>d@3Bkwe`1T#a)_r6?=Dm#x^p7)wCHPUR}l>NIIwz1U~ zI=sK(-kIzmZQc2N7T=94Mf|eXm&-Ne4e$2XWzJ4L_tK63x(SDnjrqNE{#7{>eroRw zkUe`+9=CW`v0&qxPC2ji{dHSz-1u3|Z~1cGqPYgA`U?9BG#OYD zeXS>Mmb$DTP$9d~KfC4jg>;!K(&b+z6l$*A*PeX*p3P*xN1Xm_&iD66RVYOq+57QI zSMrok-zFHaRb4u+tu*0MlQo~kvUv^0C&Q#;i;O22d%ff0?JBYgnOFAY){KL{4=wWB zTNhxJG=rZ(N4fGeU;DjjVuw<;+1C2Hn=BAGRqPWzdC!tnh6lpVvrQ^z^4YZ6;Qd>l zaJ}b~k4v2O^7>gB*mpIw-0kQR?#buEW(Y~l3*wy8V6{@@`t2PIN4_(ZEI)Q?!I{r_ z?2HAPo2|r8u&=kf!tgC&eoURn`7MdeN|W4K(wB0)+ZoznV8c~>_}P)rHsd>73|U^A zm_$BVT{6%M@i@-B({|;xjcCzgisZZVX3lD<{h_M~#& z1^ysc%Vy&y#z%8CITqK)JmCAnnP(X0(RVXirBrF@=OB+`hku5otakHzcSk1Z2vb9G zk4ysJ*1{WdkKONl=9Wpf=}BtXSM^w4&+78hsZJkupOm=m+c9I&%RY9=mp&O)>#lq{ zAi;f5Ar1^$ODv=U8Ysv9E1GhGJj5vAy}V zWr80+J$XKXb463`e}*Wwkc5(@$hJduC&+~mH&F~-ODMP)W^ zHmIBNvTMprl?$hA9_HMnq(n9~Kd(O_8`Z8FEi_PME9KY8BQGt}4m?u1Q zF4{yl1{HC<4VcF#l*Yj4Y8A9vs`t-!i*GBhFkTGNnx@QsK<1rj?D^Thm%lvb@OW0i zKR3=0$JtDSfqbxvOt}6$S$<`B}?%v>UQJ&zotozTn0xhx@zBA9iinB-pgP@sDy>m&W!# zujeqIJgYV1KSTSnJHIY4`2`px9qf24yU|Bz+1-Q1#~hTKy>^D_IM|e!Ogyya=;ui{ zSOS>W%broPxUo`s-K#FfO+wSTy!k{PZ}mFat`SjqYsMj0<}$0tT@0<>&(GwZ?mN6S z`cPx&z-GP_UpJTpGW`PJm>)Sd-_vbk~=*2$-lf;ld2*( z&+z20Z)eLoy0=ff5I+0g`G3m&kso$6T~nQ?Sg`R#dxOV0!`FXSUs`;}_?g_D3+5Y6 zq=eUqo+@XW7g75mQ_4uXhv(8!h6w`3bD9r)S>RbJ@nHXZmfC*jU%?Bd7qj$noHsQ( z5+Xj~>lgW{;l>>Ii_GJWHMuiNn?1ZNp(3a8sc6q9yDbxTrYatflB&3p!!Gk>0s9Ir zktPo2Ci|(BIeLH=3C?YcV;a+9hq%N#FQ zXx!XacyD6yW`4Ql2;2YBF5gZfs`t_O$EhA1Uk+07@lv-I_R^_eSQ5)-wEki0>(WBRTr2Qr^U`O zizrVF@-A9q#pJ#;YV=YE$VM2EZX?Q!;X)5DFP&##v0 ze6nVzV#SG98j>Y`DnFAC9z6JMxp>IkHuk=TkD-clN(76Ky|W4t53)SvW^1V~BDir; zl%;sl6`o0~iiUGO@CMzsxun&0sBf|Ds;`qyT>hz&=CU0U;fyW_0@8RubT46U;T>bcM8UrhP9#3US zZ@k=9ZJ4-c#oJl6Y}=)Um6cYt1zsrp^YTNgAAjBasS0Hd%<1bLGM9O_tP#3lG)I2Q z<5^4AL`>&NKCSh5=i{{+F;6eZ&z2Nf;cb@cV9RK#CuH)R*@F3xW~1!BGXl*P>ME13 zO?;fmnR`RF!B(p@9PEn(ZcV1{&HU!u4_%0n_J?*~h5BF@F_U7n(3yh=|`5& zoH#A;l(p5{<11hPy#8W&i6JZ>_teE%~b;&rBxnQ_mrUtGm2)3tZ7o~}wh=Mt-p@3?e{ z-q6}!^LgH(RoqACPjS2D&eFGI0cTRltu+EXD~^S;zYJbraYtgFrTXO1MHL%Fjh-{S zRa)aM+599YwasGzo5c5(^EA1Idp;gmGU;Lw_lo4*&lC!MviohPsdBXxyy8~~`I)<$ znTJ1$bMwyFSQTkT1-Zj}O-_CLIQ85EBZp<1k9=x7Zuo@9O!I@pQb!Z@f-fR#tjkrl zPfVQPCj3-;62oItLxF~L9zi$HM~h<$3@21K2C=j+d(*UMeW1^57S=rBvn;vH*A~uJ zej>8$#$k?#lou816Z^e#Ud1{*|HpjHa!Kg!Nzrc1^=oWC_*DhZy=KS!(A{}fo21P? zvmUuUm(_L%`#)VZf2yrr%w@G(d=nNg6H{+rsY(`2yR#%m_-ufp!Ci^tpz z;%r8Sw-%V|ew&=fEZk=och$z+sd(qxZQDGacAnqssXkpLVVNgGVb8>_ts9zdv)Rse zSDyc2HIt>Yc0Qv&yWPC2^S0~eF`kfA&bK_5b*5ZskG-*c!J--5MQ`^g3pmJpKN>py zG;8vdl)i$joF%=j1#9>$7yem2-8#bD#?Ioq2-ndhzsIfC?&|Zh)PA14Bb|B7@#~kP z5gwisZZ}TuY3|B-usE+o@;tK$Ph+Zp;Erjh6N+87Uohl5%)5IIpLLMe1aF3(p5B|v z>rF)hrs{Cq;dmImU_}O}+&7C&M{lzf_I+8a>~dP+U>HMBRgmr~E6yIT-Qf)N{+DJx z+3fXc<_<0f=eK`-6+~jhEFHJxJrMM1vv?9IFrDFxt<{C3GppPsY#uLIIwwZy5yxqU zx&n@q^1aSsdM~;%IVLA*9+$Lyp%t;zmd(F@sg;F{yumW|0FIMKU6ppp@t>$XXmM20 z+Q?((oT7nBEtQ|KGO4$4} zEmwOo;aFmtvpT~AJ*(ipWBz-amd~$R{H@LC=b{+K>!wyQ%8kE|O1C-M9@Ffcc1`o1 z?MA}@s~xibOMTRm1w3xEe2~y9^w~D$!MX~W2UoVemoj7wS@p4XmA@1F-_<47<995U_d;;Bo*RG7S0*j>%`o%bM7FSz+sN^yTx_L-YtIk-Z?~1UybJs zn@CmtJgv8X)(KQrd{_Cxv~udC0vF8-RUiAKHpbna|Nqk88JCkTy?b-T+Rk08u5HU6 z!w}dd!zbd2hYPZ6A{^Iy2|@6t?5n)*R#rklCnyA!zG?%WV%; z{3m|w>6^MRQ%9d6C`LBiyLqonAT0B%>2u+s@#8jEJIiUc}f!GQ`~8jB`y z+|d^~Ub|?X!*NrQE{UXt?^x0vdZwIL2(9kd-6WAB*KlQ$k;Z{HR#&BGPpV{AD3N{1 z829~5k3mm*-_@xap7MG}5=vxWJN-(n@X+x*FB7KoS@xk@#aRXEibMK492osv(>(3I z-TQ2K;(+9FQQOC-9JK21trD8)|7-K{n#)Yq-7_BcsJ-EvTXn5u`$Xd@HjkFu?`z^sP=)F-ZuqSJs+|zZJ5{L zeS5Mp>u3I$C!vOxz2%*oCr{pSIj!9H=0Qnmw`{%KPi%b0r8luvhc0nUd-tMp>9rt7 znf|E7rtedjEuX6|byvN3C!opVmDZZ?tfEud6&_E#x202D?AsSjqdW`ScCYiZKBgSD zIA{0p%gWe!Vcd<)w^qh2xxFp-_H`AhE$bAczOZQ>nDgt~inF%`>T()iScMq(tYfJ- z{_|}3=O?|J*uv!v)t6?9E)a`)XYTN{s(-f9jI@a#CO&xl?)g^d;)1@}Mxh({Mg63= z8~*&g?fHi1U)Kr=Uld<9gYjJPWriyPcV%|S8n>$McXpU^Y;ghaai&#bn$|Uqj!8xQ z&S8#~>&o6T?&6>QI`mzhw_##~;gzbZg%-8Pi)G9>O(u9uI&$LpoX2)s7>(}kbZjte z4D>CKyc*JAIOmsCPS5K<6$}ZCp{M^mIjLrRnR%_XHKX;p9n59^zhhr5r zRLWh*X5Dky-{FPVZS%=nR;C^-uoO8Nl2H15r~J7IcXsMTG&sEA)ts-aV_j|%?I5Pg zWOQ1OGI~XuNJk9$$B&rehBGqBZM73mk`d&(``wpBVu>1L&DxQ@lkw;q8`2?@#Xt|U3l z*HpgMtnYNZE9=X-hd=p71m;4eF_HuqUuk;sJV zCQUQ7cP=$YPi;J3S={q?!2~Rg|S$DqG`keGTo&qfw3m^Vd z@-N>8N=j}rJRZlZlWmc_rO4gOr9$xE>883UuJDwJa~I?(tE41+U2Z(>XXuB*>!Qqy z3VXB#7!Lf&ifIiv@c6!o2-lefyno&A{+p`1E^zw^iNXU}0&Oaq&*i5o^YCc%JYQhK z@O!~K@0AMMNXJ2UwaM$UpNZ{~Z5vQ_UESn&x8+=e^d;7%{dM8DE&SMatsC89t^zr`)R;)~fJ) z`q_ADLgn$ommZ7tygxR7y3%h`(^SdMuH4mJ_eoM@!#nmYh7C>{EKlUU+Wfb0`Uxa# zXD{{Snb{)AZ+G{Fu7WI^t>LW(0YlE;M-?6~Ty{Y1U~0nB{bbZ+mAvs=8>%(Lmlh6zj? z|74VK6pPywzIAwKA;aJyxqQ=;cf30U4~X0_s+?@`^1w^~V`ttT{P$LxH>+*s!N=Rz zYECoz8NA}XPiJSq`YVsO+A8<5pW0u2t+Cg4ruFQ;#U^VT9FFIGInr}n^Q49P@}+VK zNg*;5kNN-nzJO&%NlUJ*f9ztD+m)OSON7|t*RS=s*t60{ApF_M_dd^T5*}0~HN}2c zovXyf8N7qfKj%u}{&!9tor%4B9?!D7u`f*Z_Q41JPqOSSH#a%PlrXadcq+ZS-ELub zmFMljRQt93mbY7Ep09O#U?wpw!QEctz$&i;0wRf@Wd4~vR^m8*e)2p|k(1Ge^L5Lb zUx&U`X>gIp4ipOosQ%)omc_#K$KbbYp zRLd@K61$^^YsKTK+>(ZKE}wqrS$2z!L8(2hcN626rFsk2Bo@EOYz`OBwzM~pDK~kl zwcu^2q;lccW&2}idnoS^mC4kZUG&hu@UMot_atS>2u&H`d2_W~r`;)(PHEsgu;TcM zHys?>*Sagb^VNI*GgPzx4BFe`HOcR2*>i~l-&V>P*hN}eE^+=g0}A_G4cqSDUFK+a)yPetlUcywG25a~AC-N~W$*Sfq`v+qz3IBL z;|iBljsvUAeXgI2{}3R5bMe7@I)CSz%BBZgNZgwpDdcfAVEVS_sypA_|Ga)hlsQK^ zPfu#$m8LukxI`hRG%|W5-wKYfD{jl#9N;azXpf#J=En{YzDRe=nTa^Y{H)hDi?R{k__P zwY+Ax3Cu}1&5UH!Jgy+;Y9MxV4wJj%EYT^GC5|~B)eN!-yi#&pX$I$xJZTY`S(8*% z3w|owO=ai2QrNfEbl*cRp(jt$S$ZxoFYZ4r5qOz-t>+%rbCqA!W=k_1^!|J!P*KQr zr^C6z6HD$+;1>G%g4vDn9k1p@2Sta+{YwqQa&l^z=jib}dfbaC%)5Ke;n{-Bn9Te8 zS)TBFdEE44yMN%zighW`1!v0(CQM;|GRa}-CTqSgx3iZ{Wm)8^VfUK(Sgp4C%4)G& zNsC)qdP;3IYtF9VkT~n88_?-_OgsxoMBtzs#+Q{?;ds)`ULl|DjXf@T`36kJJxe*Dni*jPt#?>Kn_u^?V=Q z|A^XuTmCWk&#khVso9HeYUj4U`ObJlsNTqas?^5$%Xdv%xG*z7{OZ=z*$%6?e|};p zd>hl=RcBMf@u4N@dBl(P%O3FTayL+y{dl%6IBUK{eU`rbE1_3a%a7SQl^_4ru~sao z%ku&6@~+hj{++uoQd3+rA?k;H^p!kym9wQr65quvby&qWF@Fg@X8$3C|EBmsbKd2r z*T&rwRj8bH?XA+r{|pV+C)RlWXJ|So-r@dX_k-u(=I)-mF*eTF>5SFm1a`JP#~;rB zBfR_ZyvZ%oN_UBOzvz$7oGVI=`Kj_Vy5}vQ zw4X z^ds4;YpUvdOS5COR0>}Fiq^<^K2?3im&a>skMm7TU4Be)V`HG>iNH&1RadpLvfZ;} zxO|uK^Yxbc2Xp3gn7rVd{V4kM-q4Ag!aja?E2t{6WZPSQ@IS-m;|JwgkMh{b{3u=) zB{BVnZlkS%fxp+A@WzABFN^3^ep|*GZL4(Mx8rD9lL<4E!hSuwsc9AuOYd*=PGGq4 zge%!Yb{p4><4<#A(v>ZjTw=WTQ1{pu)#8K7O<9r20Sg-}Z2GiVPMzR!z=rb}fuSKar(fMQAYW$coY%Oz)gvatN87-+nCgS5Z0 zgxbdJVCU!Oe`tMe_$dFz{ZZwgrRCeU^C=&*3}Y{s{rG3~=l%aU?yj7x|84)4NuH-& zZM(HRjyy3okoZ%-v~J>mhJ&tqR@x`8mvYx}ILtTYlb!n+_w7&Pr`dn-SpB^D+x`!4 zE;^<4J#*`MH%C~^sOUhg=9Fpe?@TXknB}yxXYxUr{=<7+dH8O!w#!U@?Hhga$Xof@ z6J~}c-U(WBygqJk?W!QvR}no^rQKg?o`}6MO}XvmTc1APJJ05R()=9g=V!T!@n6K< z_a?y3hb+HBP$`VhCc)6AqtUSQn=)GI6t%>tQ;Cm+ry(=n)Z(nAX3W-)GLO$?}1EMGdz-SzIt*Cjg&9C(`9zb@gCo_tv*fNA@^G}-9& zCNK6}VO^rqlUngt)2t`=7VWN^H&wdk z@5UdOKdo}?X?v3Q{L6}-O`4Xmhm~0Zv~Q^JZg_XY0>ms%O$nSbWe3AQtuFE7m7Dv@wz!Si{noSZKrd6t&7o|ic4Y_du) zr0>U}%M(2V0KSLh5w9SAAPkJ`80n~>pj4r8T3TEaZ9bQVvdRSc4^O( z&qbc}Y!lUdm(4moa-NuK=POV&eKLgHnh zh2+=AOidA+@33m^H7fM^^yFS-w8FRJUdbn?{@(9rxl%Db`I#sK>x1-JES56-cg3Dx z`RqGeS%J?s)356LuOK!fO`8UbC*=znB|-vNb{u>>tD0x-T@JZDQsIor?5p|a1lK&& zU@`Yvav-$!Chz&RX72B#8T$CQnjUxT}PX|T1{id%Q)%?S`wiru*W>;%U5es^wLr{9{Xv+BXICn2DK~uW$d!bKtANM?me7`B2Hb*q2b1feCO)+8K-dA-wv69hxCrCpc%bE#(j;pXO^s$i}q%g=H-mz?~vz)<3r z+naQj03%On23Cdo-M+z_1eT=qJ$Y^_y{6?spGHWkbrZjn=Q8H+lYU2M@P2pGjGSz} zxlhY9&(Z$hD$o0cT@~rRp*6?Y z6elr0H#yytAXnVC;ImhYlfyCVp5Qpu@_UZwY%>{!c27NbsNzA;D$my1AIBFg@9jQj zU3EFRD1Kr?)htuhg_1vQlIE>jFjXeRN76s;kCa>b9j+DU-uZ7eRPld4#fNYIrPW*R zWjF2R-)nu2C0Vh5t9#zXNhui{9Dncp7t(&p%5`#vVC(A>N^_O|tbV#drfA2D%q7B8 zZJI2X`mB(it?=F6E9{M@OyC)LeRYX1?}I8kPB|$%!Y=G>x%e2lNX7|(H} zGW<)vHf55uLP71ztyh+85mqp}WGTzI>}12w!oz$GCClr@9$vPQ3DQ6N+2Bdzt!``4 z4d?H!V@NPOX8W>ci_rtQYKANOg0#2n-Z-&G*mFwREf1N(*Fn-;PdR`7eBP(ISkOgO zVB)+h*E)`MPdmqEx8=j}49f$L*D`3WDB`y%d+E!eSoEJ^rpb}{#ZL|UW{UKlp74At z%NC2%({vb)*Ibr+X3CuL>q-t&zj8i%W81lmicRL80zdiJN3rHI_QmY@y1dguluL2) zyOnaQtV3QkBwAmv&M`QfIh?_=icY|Tzgonpdy#?2EigiM|uv29+tT;Z4Ho(+3= z`j;v%vZ;8$e9k;sg!7F9OG9$u@tnV!#rl&s?)a*ZHoukg;LH1K4SzcAwtM;0^Mx;m zl+4EUJmEc`kE$Fpbv(|z;dPMaZ8=N1t1O>Z8}{->^&+)icBUPD5faqXYXoE!jI^T;(Vp00Cy+dq+OeV!^3s^QG)HuJM$-^%Pznc!}(U%%Em!&`1*Px1Y| zDhsyXiEH0$t+BYVtHUb)&P{b&+sscdRO^~foiboh?klSI>Xn`4vyjz4MsB`W@YBDblGV zxW-$kulc?3wZ%J%IC>rkUKdqtvkYfEk$8FDRKecBUr!pZ-!b z#m7Yz89yv7oP1JlD%0I&sV50?J7v16+6~*nSgVVJ?jG}4D9ht}p};n?+$3cub6>k@ ztdUIa%ii@agREqimhbZc_&?gC4NOP+kvXL&!hzHoSQHB#oemf>W-$9^YvEz#)lR@`9^H8pWP$ag^SO@SuUMd2-rPf7b3UkMGp%Nfwzc$|Hy z&O~pK{DO#0lMl!rKI$lY(D1!a&+h=G#DafS>*|8%OtAVGVnkD}kDysq}&iIg0du)l2X5h3xnVV#nua64fFs+%T=RlL$gE>iyCb4z) zUOSes-~rpQESFS|f2m33i4lEQZmMLmPoMMo($d{M=dUgf^W$Tm=F=e8EOY(&{(oH2l4F#-YkfkX5bNe^LzdQFBKGdjxDED#d=^HP&JeWEuq7u+d7_&Q$dPW{1%e_S31 zb=T>qYCLhSWJz88_&T%Qjn&uUKZM3NZgf>KjyY>NvHt3ex$%XvjUue;YCBB1?KSq# zZ0vKZnzcan^rYF9&s84CXZ@5r|Boy4!=*2dPh$>dZvDI|(=(?^@O7~Fe+E{+ABxNF zdS{o#J)9OJ8D_4vLuLZQ0$=0TY;!r|7?dS%RY^^vpHR zZ1)7_Ppfa3nLU4>683ENe+E{mAI{Yh^KLzQIZr6`?UL;WY#Z4xT+lXtnZE0G>$#%J z<0d~G%WvN}KiIcYqvOYv+o$Fq zI%D*o!KZYA`zBBEX+{QY?+RZBXsS$lYIRjS|N_DD6l7&Gr@=Ae^G z9M0NrS-u{RVu(GS@QUG8*8Uq0CdIyE^H=Q`HJHi$Htc+qtl$CFDgjpp!4)luey(9x zR6QJ~e!SdgX=*GZuRGnsmSct9Hk;^_hB@=6x)=Y|V4nQ(+v*k3H>H197EIKI$z*NrRjeLzB?~_%G!c&uUvn2 z{;ludNHwkQ+b`MFAu}hPWE|>Zynyai&Q!^`V}6v z$Ysy_d!%gTRb`LUD}HgUJK=J#desB|OTA5p`!4L^NniPOIaA1=$C7Wm)=zpcf#cxu zGlsJ!%vmA#L;ccPo=q!yx{it~e?015@_}iAp}MTEd&U8WMaom3FjQX>KlE;Df#;#d zvj(caeGHD6EtH6#A=Sly&t7FhCCi+TPRkwyJ~}mt>CcTt5~&>YpMY z-FK(z@|ZgkYgxuKJn5T zj#E9Xryj3Zwf6V4<1*jgWiXxblq>sYq0qYg#AzNUL-kXu&&yn`j^vsUGjGR<<4q6G`Ez2O5ss635jiY7o@+h3c2I1AU%D#x-GBvX&tZG7YywycO}0J zJ|n$xI;T#xw_s1r-p|Khdd-+*%4d1}jBS=%qKeneQ;!>cDi+u8?z4P(X=0MmLVu0^ zy~m21-C4^tXZ{wrolQOpj#T?_d@IA~fUHdtH_WZ5qduAVhKHuGfV0fj#UKioV{Xcb@QEx zEtB@0G;nxo>%Z4d#8E=#u?&;eZXcURlcMMD_$h5`e`s0QDaIWQ>@jIGS|`r)8@6x}3r=19Vq<+Yryl`TEa;tD(;tS|Gh20XW!^Ut*S^d#{kPYsNu z``SfpDg%$(?l`J=>uJQ=C1H1tuoWKovXaFm`Ak9KW#*ocQ(X=@+gSvgs=6jjnf$Cr z@Rh}~Z$eR17fiAg$xS@TASK0ie_H*7zHkv=If>j5?s<2M-M*#-^~F4&yL_+W(!@(g zWhO3gaCDxyZSkl34Q|H4hgMB|WtW0v> zcsy(CHckeQ6E+|HI+Z$&tQmW{`ZONhNe^ITpA#Ur*!`p)(*ypfo^5(Jm)T4_z?J|=pc_hOqm;aZ0#{|4T})4ncW?Jko#pW)+#>RApK**@KPr)9+O z-qWzZ%2Ib;v)mWfbw=K`@8k@2M@v2zmC?H3k!;wb@9z`xFX1zbRy#xagJ5-c?N4T$ zFWmFjGT(?eC3Mkgm0ety;ZcLSSD`UN?2>mce^`DvC-A%Y@zdKU_hq_nG|HQ}&%rK+ z|Iq^W&(9|BnNXo1rx~ErlN5Z?;=uBw5;yzLE6sYC7;nk>{71)22azNB5;u3uFUa!O zyq~0D$$e7&($dz*JG<9iypZzz)oMwN}I~`B$>)qPR69`!?(9kRpL6bC-sQ zs_v~^Hub;^wss-SpB_)rnbsaydWZ4KmoKKCr+FkT0uVqKL<51zk!E)%?+`O}lW8Cmtyr4>%6%QX2F`*3|yyDqG$z;`6He)H;o zpTy2xDqt?0wNYjB?1k);XMC%BI$zlh_P2MAtd=tQ6#0GHLbaTCF{s zW~K_sPZ2&eO(t|_sPWVHC*u6opRO|JID48^tHAQxdxsNwW-DSB_VF{{-|M%MXLDtn zSEpI{#ivt}mPY>b{rIW*{bre@_RS6JE?;Iy zkO^5YQ{=qW%~3*WnQM-_?UNWc(T&^Rm)U!*m~^~Ue5Q2Ga@!AXny$Ouj#Tbf`l`NF zCqUxL3hm|-5|5X9Y*Cmf%0Hd|u7Uvb*RLy6w|5-fp=ZuxwBqsS_g)iNPkb_KSkT0= z{8o%jp0Wm`7RMcnWpi7?`mPt=d-b~UkMr8_?AeZ0xoHJ5`llA|l>GKKYEmqFu+Vd@ zs^rE%)h+)2riyXRe{?&Hb+u&i)Uy0tmdafPDeM)pe)Un=F->jG0x|l_MKe|UrZOkFg(dZT{4&iC$GHW+mFYJ2 z&)mdrtL-QpIp69*r>dfb!mpmHt_!gj6PP??n2xQ~N%ec`^8Gj z%)F6%LSI5>kH*=s?Wsj!+*2R=J>|U;+Uq*ca064}L4~Up$ESHO(Q^@^ak ztbD|yc3=0(oaWC#H?!RnBCQM_7(NL3#JFX9lH#YnC3%n5A1s*d%*TIi!5X4jUyJNux|DamCQNiozUsxcOYTMf^7>5M6}HY( zW%4^xIBThZ$wGwZyk6s$jJ%vDdSC9)DbQ>Y4xC`Hh$5Pm6Fp zI&ph4i$K-q$m?D^?JZ;q&)R+a(foAbL0QIkTCGR_RGgkru^?P~%Nu9qzCVBNW^uRm zsi+w+n#$f=o-QpOu57n#(^uarg_h26mBO=j0Xt6Lo~qhr`E^y0vDG{Ecl~i!qhjOk z?yr#fc-;1E@a%A&-2oHNW}ecXeD|E=&klx9hLP{mK6`VrUA|uCYZU7ws$8Ak(-^tk z>XxBlL)FI}rK>#LHtY~Q-1B&cY0#rrHcXcGQKzN{emcgTT5B9S@1McZV|=eJx=j0G zq8hhO+Im-YSm}{{-ewm#WqF;|)(KSR-8>#wb**ms%3}c<6N=pBzAow%m##G0EmrCA zRc_Jh_tTP}E@_adS@OA0Yw6LO5vO*it9*U7s6A|^fLpBNHwn=!74g&=S`8u1@3NM@ zJ;1Q>!S_}9D^6|9ncDVnPD625TlAzGx|%1S^haHEVLM*%pW)b(NuDf0$IIpJ@G+>X zd=ZsCE2Q|@@Z^E>Yn@eYi~O1MO}gspitdG34;Ncl8@4{Vk`(dCE>Lm1o?F)P`6U-? zo?D!V`S$B_=+d-!JqIJVH~$&Dwsh=09r*6Elxt4|zuPjyw8R-77|uB?`}s)Ymiv^1 zvhyaBV>Fm$K4^YrJb1~b`Ji%FN~*}*k3C{P9o`03{=EHZT7dPOq(%A#n^OBv@k@wY zy&&w}u6WJ)@`4vx3Ol8@3pQWi+j6ns+?l0KQ|MSFR)^v9e+H@J z2cJBe(evBf=sxpe$9bEiwk=GiN|q9*W~w^y-r%`(sx2(Wkg@L5HPmU8d311d@y4j`L_gX!>%XudEn3dqQNvT~CNAfHW zoHx0}ux@}G<>x$+vzH1rbljpOBivwX>~&dd0@J4qVUfxcEi&8q6}~TWJDgyD zo!P$C!em}t&7Da_#sOOZuT)RFcLl|^5=e3@}ZCa{s`Uv$t5c;|-)&bo{qAS@c+^)e%rt3#;4J2a z44W(NOw0KtWEDJ@X@!H~teovaliX$9EuVxWIUSeYx2$oQx1iv6*`kD!D=j-mPvkna)bs9&>*g#(J1Nk6CAWFz4Hbv`y$(`a(3UA-TU&yoW?mHe_e|0*EO4}!nY)VWm>~B$;AgG zc{FBhbD7vUiN9{%RheM#6X%TYe4Hg1@gSYC-=}aELtDm@6yAA%&#FisyL9-Y$)l&9 z;m3-PUA(oJU%2Oug>1zF&Z~kOj+7jfxw0-PxTYczu+CcfLu>3qGr4QJt*ac9qg92{J*7j;HxN&wIt&CLhvq-Oo35hR`-;Y4gdA z2N&7bJScs%hvMK_ybzMy9XwXR)Uwn_CR?ag|{6R>rRRGs@rk zyKC&;J#W8PIO8LY8&9u1U+)#LP@LIrPFG7zYyONsdv`A9>~qjPR`F=YN#(>Q;}c5r zKTWcG=kVkT*P3^s9Jl+gEx8d|5nx+X9T2cuYW}_Nfj!T+y5%)_2u^?9RXr*BX9U}$ zg*#7gxWUHwBtT5SWLF4R30uZ4 zPnuMGfB#xmVa5u_JINv!`V~BdoLbC0zAZnO#JD8S!1#E~1#j(rmsk?rtS3A4Mn6Bt zr@89qWDPr~Et6yyJbq^HwL60CeCuEAP4f&J_^Z-q1a5nG z^04L&@{8)Ew2 z=;zmS7AxK@pYzsZTf^GP6K{)TF{^ApdSGY3(RK%k2l7k3r3L36-fwex>S>KbO~)mV zXC<@tIfZ&EOK-e3L--x5QGtO~^X+>RWshCIWAVaa#mu8yDk37L9as6b-0cAGUIy6} z3>8l*S-SpKt+ZWv`F#)Hb6MkSGbLPSE-$yRFR2Qd>JDU6TwdkMaeX%0;#2 z^zi3Bn_#t?_s%=z$pJ?uw7GqjytzqQf~91MP^WbBlbC8+jp5?*B%Id(p zUOuX3$&8s1>9(v+OO>=Zeirx5{m;PVtedB2C@t6+5aaeV(($yp;L#=8d0*{rfBpWFOr(E2d{ zhf?`b>3)vab_zd&SDp%d_f@bsRamB}wQTC~0ONDDFU7X){8cVvXtXA1g-XxI6H9N* z{b1-VneilJE|*{*|E1Y`lUWud-}&swJWZ`fyvt_J*Yj0jPVRAq^LQ!--nE9~vC=$eZN>?!_|I-B zTcRk@=I@g* zx6EprS)8zGooeIMi@#S&C@sCQWljIF_}iPmJ^8yb{qM4^bM1XU&b`|HP1|L{+NCEs zrJierl$onWfN`-C8_SO5c&w-`_qFDFM z{_XLj)8uu<1GCpG#wR6ypK(0qUflQf>-s-J)!&SMIDeG?R@8m;p5ljFara{RwH}pQ z)-)Jz`S#?wDeHQp`K|vM9xS@Q#YODWZHu;_f(*ZFuc#QCul%-l%72EY{y%kMv-Q?0 zPd%hr@%F>Yp07{proNm0pW%b={buu>eYf5RY}|hQ*9tv;l@b}ju4D2aeC%7evkMc= zcCOZ+$9B`^6W8ZCUl%MsQu_Xf#`(7#-x^DY;W1abt`0esOX8z*}A=MliTklem~@HtY5LwnIl~`I*Sr$+R}gZ}FSx1x!y@o( zsT|AS8FhvgAC5125y!e`(!GZVlPlIwu*%Q*vi=G`d)?Xj40}YSjz0X)(0YwqYR>yf z0`hhX9)Y>t@YZjL6EVA-ty@@GoH>*C)TA{jc?);`Jf2gsennE#U5DBQ z2C_e&EuJP86yxSyE>d!V-~L1To9!R$5Ax-i=(9v=Pm}n2Lb~wJ!F9*%c{08!EStL| zI!Y+CIr^AL6T5%nm(@*=tgFlCeLUi|_`PvL`s>KBd)6QBerZx%A2n0Xtv|_cjY!{u z&qp~Ucq1>qOK{n7I#)SUUH#*7i88l|9)1ijUud%*trx1{eUNKesxMh_=&*N_gOAYN zyQ?@IB(00DORT!jXQ%r^`O(q#Z`+$}9N8A;Ov=ej%6ahXuV&+=%8Cg;D;fA0msBp? z-sG8|_qfYqvA)VA3&xOAbz99(D|MgtAGtoc?nXVQol;Ho55pA|;Rj}Y`L^B9F*)zI zx0^vk;Yo}0B01~}GWHpMxZfF?e!(>2oya<`capEK%S~O+l^gT3<=yjHf0q5Qv(H=K zTra1yB{$vm%DO*Rn^X+%-Z&Pclh|-Lea^i0%cj5PF1(X9-AZ@PuC*)M>Nl^PWcH@; z&kLp(x^q{*zSi+srZw{9-OIKs6@PaA`l__-_KvqQAJ1hl*=wK5bC)fC9jweO_2;kk ztls%rBJ*Y}(VNIWL&#RFK`!;Yh4Q@Rd+m6anJPA_d}3J9)1v6yJo)%m1;xmMJINA9 zwG~t=+1#wc4L@3WCjBUWWGuR~v{tI1uI@L#=_OXJ<@2TT+e(ouG8^8J%w?|2=X~cv2^dsK65B@CL zufC7H?mt7ohq{BLvPS=9~mj-J#L zklol+zgETg%TI^%0f!a{EpxPe>9RAy@L0v8t!>YObWVPn++_7Z`+R-ojo$kQ|N72k zyAl^N?}q6M>3@N32j9n(AKy`T@x%1UPEXZ@6A~vZzpgtKFJwIJ_-Xl#u^+l0WyRax z{3OWHCmQ7R^w)!0?YAeM8EL1QZB&`yS|k5ktv=({AHQvzn%FvyEwY?r@Z{%ShS&G@ zz4l0HoGZD>IpOoYU4~XZN?T;y{5RM%dMR~sYD=7aTFU(Y(*ZlAklr*i(nm3JRE=`Q*FWsP^VocMnRR>j@^Ka$pW z2y1y9$S5vYdorQ@)B02Ef2h>%`5wRZKSR4|u9d<*-;2M!8k<6=Gfa$M9{(Y_GP{My zH=T7J=ly0bv&>!CXWUch8@%D&@yoLqiha&Dg!hy#t4#U(pW(U7ZGoQV-S(|oKUIrb zn5tM;d!3jmba(INjd-L4lrv#9@MP{{m?+HIU~uVdcCvo?Pcygct} zoM-#&jckTZ6$?1+_Ex9ORw#02d)znWh_R*Rn~I}eX3X0sxvym~3wk4F$01u(xggbj z`t}vSZ$1g`W?-<}6ReWFgKtg%lVsW4#V@_3HyhruVBfi7yO6o4!n`dn0wWL0JSmZU z@4(E^Q}%iCg^;f9`*Xe@HQc~gUUm7(j{bs}2M<1JF#1%7Gdy^FX;H`wvrmuz{d|>` zaQlF|#n+=kioXy3uD!*Od{Xo2UhD76I8_wO9`^^k^nMai`Rkt5CG?=C%j&_q_wOCV z=6~;=-1GYi_u-m9J%4Yx-jUcdIek;3-)DB8^qv5ghUW7Y-JyX>SivufL9q#yhRh?}88MY*+#7JT`?}2m1uRV>ADxjXw|zvHDT zqRA6)H8~h3_oVPgc`$F#2}!N{Ao8IqZKm;*{^{DgS0|e=OwxX^F)s7kC54}}C-+^M z(WCiUB7GaLON@2Sah8$=oKMmpPG44W)^N$8*1F}}GM5)T__AdBY1NQVo?jLn@LCgR zKcl!Om}$y$*`0DvjlgxRa%%PCd_i<-o8C6r{03`x`j-25bNh)d4pTk-`B&u%T* zc1QTO$-I=r;-8bOf_%I!Slf55NJ)=maoqUI@R$bMy3YPnyZbm)N<==?#V#nmwYcNw z>g{ZEl5WjlU&`R9eayac`}}1Zp$AXC?Dr~}uMvBC&USTK&0rpGBRPwM3#4|jrmFws zxuRpJF3b6Xm8a}PhGZ7~x-(Fj~x(Q-<7u)Qo2%acqLmrE?h2l{+{hBNiQbloX?jpEzzG~H*ZP=M+BdT-JBqoH=Al7 zZsGTv(iUU*`0J7yul9mh#(h&v7l^4$GG#uk*vV`vvg-CGKO^_5K83`;50V&Ue}~LV zE8f{?GKrDzTi}+*%zc?j@rE6FcQaUb3wuetweEkSxt77ZU1 zY0W+Ne0i~l`f1)B3I(nP(mPY!di~=p-ulk5TJ%`=xZRhv2JEdevkGTFeR<-&_X?52 zCiaFgHFr5zUdsK?pphf*)vfbc(4>aXQDoyJ&SSQleb{#v9bU%pb*a!#!MEiv>^?5r zto5H^ZBCu2NXysnOAEvz0~vLWOT5wieWgL<%ge6S8=scmd;6)6t$@`oU|w0$d1lG4 z%UGL4CRj83CMbSa2`RY4Dbldx)(y*r&m#GlncR6;8I-hnHg8Z~@wUsysHw<9y(^?B zTIKV#xq6SAb{=KWu&Ft&+V3}IeM8y1vu=wePFH_fu;F|67b{F`H3VqbodFL-MRk`it6wc*c$FwZ6;bjlM*P7#tI=%}Yzck~> zw3C(+Fa6FPn0ow#%`=`g6>oeEBNj@^YMyckZ2Tc5v1#r*Hs+dki>28j+f;Mx_(e`G zO#3;>fx}W^eU`xXj~keKcuH2RQ!iyqmY-|7;N(n!-raqLM-}ue>Jg)=CB zviopU$?KH)lZ1(`4UtzYG-TUlcPv-Xnt6lk`Hq*)8-!S84X@j3_T9|wxT;`rO2uKt zeGQwBzEk&?$=M!XSA1!9=VJ9!iCf#xa4g{oZnHe@rNa_<>_ml6HDk~cPNlpe&SQMl zmjiEp2(#h6p>ESPPhs_s^`hxc!DLy?i0Zi}iN(MY(u=;&P>&(TP=X3Y3 z_1>uLBvAW!^06!ht_0)a7nv^;*vldgsM|fb;;VkTaq@AyFW-8s8bk^YJX##1c;iS_ z!dH=R!tx>+KjQ=EX%+|`;K|xE$-``og+i0B%A|dFSGd)lwSM84_^-yOdFuBSxBMr} zWMsDa?3r(D!SOs_c9r|BmL(NRGdM&#zKg2g7HN>*-@n|X@?HSvmdUSQdaL~CnZUkb z0msgB2an4X`@8?#aCqW{S?g1^XWpD=KU;b3*2E7tW>*}1rNQXs`n3IC@#}e-7thSN zbNc$ViOHVfPoI1+ernTDSeKA)FdrqeHZqaY+f^SxtE zlUY@92 z7#Ns*ReU;XYpa7(r59Ttd)()~R;AD&-YCw^?&Vt_zbCDGUL0N}`s9guU_kFB^C{)L z%iGxHrz){OZL3Q#oOk8H59w(2c^q%OgFL4mYGAOnx_l`u^)9DdOsV>;#%2SZ9g?=} zS<3OMPVN)z_G&g7Z`v(CeR*)-*C@C4v#ItKzrKjPobmQu;pJJY%zd6evDa6bc+~fX z(2CxZPBSf@zsNeo5^*H+s9V=^m170V8(;g18*XZNutJ?d_}cOUF^g%I-ER)6PjcU? z@@L~Mj(<}o$5`dK^p^elC(=`{#~%~Gl4^b;MEJP9sg;2E6y@eyvsBU!K9^i(wIz3} zo6(&=H%u6_Qa>-$Sm&txG^BmQtG#bMtJbyxC9X{igJlYq;6GJyv`rfOSU92`(W{+f{1YLs^s_ zFF0T-qoZIKF|qT2rTX=)w)etbS)R}L5@1r;Hf1`)oWi$3oZC)*PD$>|GGy|2rmNtAnxO}y8lB2vIhq|eZlf}~_CC1Jtvlw&SpT>A9Pc}H7 z|IOD&MCq-L=X?K{Q#XC;wK|q8>D|F@Vf!jtQf@W>t&*1tsR3Sd8{~Ig{mB1EWbuRW zUYqy_9;Ur&DrVb!&R3=N&a7E{JyZVZWu|>k=GnOJY|Cm}xFBQJ-z~TN_NVE+)l*iA z_GCZx_{v``x4HdC`MK-P#0!00o2R<-!9e42I{U7SzkM!24 zL~WZ{Sl0V#`w8dhj|cPfw7=Z<`BD7fuh=WkH8!SMw-2@ac2PW&P;xZ;c4pYMr*RUA zEX%G1$_Ms+5iR~a`S5>+4?g{(8QY91jqf>4^8U{tx5;&ffWL}qcIN&MKJoI|!Mpv- zWi}o^ta5^yr7qoZWol*k*!uG4)$Fz%J8jO~xI3|b$_36le|}!Ie=xN; z^6$JCSsvG;4_kF_Pd;v;EFoI&{hy&J{KrR~#XGwL+l_m+8133%_jsT7`-&|u0vRV( zebp=8ab?@LfP?lknlrf!`>t@$`1A8WLwoX%?cUS8_iy{T=}cp4*L}^W4>x)JzT*F% zf#u4N*3`1?ADoLMCZr}s9;+4={UvL|ZOv~oUHgyvGOdW^doz3l@0c-2Fnm7BSp50m z{)F`%(~Lwb7SBJEGubAmhvRKz_iyb#u@{c%|IxV2duE~TJBb#B4>u1y=sUFECBGzd ztI@sGGjj^0)fuktwvIH}am2u)K>XdVCuxl_e=dB~fAjrg*#q6lKg2^E40?_BwDQYZ z+Hl1(KX`xSJ?E*-)0SDkd`K_7=gLeef>^T+u|syWhro9(Y_ z&nWVEyqx9vukc%wYRo?9UO!v@kURWmpEG~_hgDYd56Uy%aZBF(;pi&Xey%V%Hd_tB zPyOxx88ZF5oNnCv&yeS?b&Rq0eM7DBtb5!4Zr!Jr8GN*|b_w@Zn~j_2FMKwl(dv|u)ERQx$+kaapSO1o%VErnow?*6Yt@*Lti#m5CSuwtJ=<`4P zpJCg)mDQ3~^O_YhWej`U?|waa;?L`R@4s7Y6m5^++}fbn=XRrq`R~KyDp$wHwz^kOG9^LEZJO|gZzo>= z4AZVL__(Y$=R!ZXgkA2b3o8@;{V7?%zgfqo_Tk+4{BN~?qT?BzJ&ca6+qOPy6T_!t z5q)JR_$}ABFUl9caVvjsd-xUu(NBLKglqrJIye9EeVNRJd(p4WR|-gcdU}#|*Oy-x zq~$a8JCdfx9Oqz|Q+PsYXMaZ>>xcPAeEDL(iw%Bi}@7C3EIxloqA%N@o{*?=s^xZ!oze&8IMtsfj^_kNyu9^0R zr`YrR0a;7YH@lM7cs_BRrtpD(`QDnhi|elZdbmZZZs~HDCIy>g0rh;E4 zv-HYJi>Nq!QmL<{`r86uxyw8YG|ySQvd!AK*YM2g&DL$@a`V1E-|+83JnvJNOdG$h z_y5)@xjnO8o$mKz@nrCSlQ^1rBik(Mu!*OYWp9x{5ywl1h@HFA3 z$QbhHRQQTzKF0*!xj7{-6p6g6obsG~9)F^P(23UL)426de{XpCWhwLNZLVpjlUX5Xg8zWSG$|)6Ebe-=;SDcIx5$`GdHiA>Gr_Q(&WT9D^5AZsZW@D zy421wuMD1NV0CpFbHd~&H`OBK!fjo>b1JcluF9hjWvD$ZZ6PYaa$ri;?L^-8O>L^wr=d!+AYIislHZg8Q+z} zIp0<+-4$x*Wf*q+9d$5&sPCQZYoU_nPI*2#Iw1d3&gkYHx=nqd{{iyW?S`D>%9?CE2rMiEP}c{l08zNteWpV@qfB9|#tG=bm-xxZ2Yi=G&qPXZfe^&bRpb zK2RZ8;+UhYU)6txR>QY`T4z3Uqls~pL)NfkCy*(ckc@H}5@aY`+8%3~FtuC5>^;iod`>oo5>O*^D} z@ZQDU3=4jJc{E!jQC#puWzzAFE2Qqub2@tN-s`@tx_eJPtZClzCE26#pZ~if>cu?r zGv;mCHtpjrO%;ay2Nv+zADcS2<4E8;OG$=Db0YMd)m2L0Xh>W#^ZE37>y(7*%a@;> zU}u)C)o?mmmt_3bqgCa>2aabAQ4`|*O?NR$d^Y&cQ0VG0n`!kt$(@NWkH7XSVf5}1 z-tfs^=dEnD#^Ah7fuotlv|K2xqS1wv#W|Y z*qe_sOMP7AQO4(9WVs?ad{U6xAN>y#{pUq`wKmCo{w#Z?OGZ;=;soP9`#=YN&q)>A zj_hQpeSG8la=!^3i<%_OHohwK=`Wa&%w%Nsc+TaepB8UdW>#12v%bKxJ~v+{VnW`} zeL>Pol^TN8C60S7Q8P+hoYVg_=t#S?ckRW#DU1m*Zhc(8{!QuC%4KGM*|k(zVhZnb zE`uVgD=W?|EZb@Mdg@CD;XNC5cY7V&wD>8P-PiD@Z{Am84sI#?YN{8eme~+=e4TZn zPs`NUQ?rW-Di^f0d&p=yUy!qW8yMXhyj>+hrfk{W7*DbLS_+Q#<~EnZeBa5JalCct zo);L=ZL&Ltui~YLs;jo(9lv`KUzTz59C24<(6cydl-^{?Gq3Q}3fAI@T`L-^ZY*g& zJw=i;hf)XfVEW#b?dpGn1_yneDcgCGuTJnapl$>+5na%%U`K z-t&(O%#<=GDj#I5IDTz)%#qK%JxlZ~ZR$d1wH|ojDmbA{;<#7&EyYipig)l&^;nr9 z$dHj3DEB~O0>gcH~DdC(tlcsrc#ME9s zYGyj^9>Yn&cTVzA)u$HjnQ%K=Qe7r#Qbf$BO-+WMdH1jNZA~&t$v8Z5XP-G!q5J&& ziP8qV^QR=Q^%h8OeQqIn;Lpp?(QXGg7XSMEXXRQ`m0k&B7TI!{)MI^THjUD&&b+Mef#~x$;7;kLgjhP%N&kYrXTK=yHMkH`NnN;g>cmno@wg0 zFYTML^~1N$%8a1*?zv|So?HBC^t!I|`K-0ir2h%MmVd6z5O3g&Km-hXP%tryoeuFzXL`&wV%oPUk1N5Uhzu1ngRw0!v{dTH(U zney))&U#D}I8yE|z`pUz%4s&qwkw`8wM03o+{;d0=O|ibap>D}R^|mu7f)fyy_5U( z*|aXLNgG&20)3deG!|gNOYSykax*&f^rVXl7oK~6Z2{}V4czixYd$F+RJT1Ya(lgf zp3-!Ney^qFS~m~HWg6Yhl6zqHF5iIlx!R_!(d#$6&zMp?=iMug74J(k59Nv{Y>+*^ zw)j@>(a)^9WgN#7J^WpwroDQWo^zKqz>2x~>#FiuTM9G;Pn7eS3s2%r_EcN;?$X}l zk_Wh~xKTek?ZC{JuUKgENytd=qwVK8Yjn_85`Vt6QvlP5=HM z{Oq>bu7WXF_FdVt!O63+k1wnL+p!micQ-iwIZ|(R{K{5lJpqNBd9AxcJ=FwxS6}FJ zd>OV#?dz)l=4NcYau8LebXRzRDwak|l@`Y1vc79tQwBvPuC-wlp*)>m0pt z=B`y$X#SR|rRUz{JW2RaztrP$u6n`G;)CpKO+(WvQF>z_$*|%uXt&7E1{w&Q#yO zH`vJP&%}kcmJ8Z^bv_w?@RVh<4$R+qohg21eb;Ou4b|rP{()Y`l5&v}Z@XA@dQ^gD z?@ru&uOqTKSvetY=E3tKH|r~}Fdnmb?^DxYU*^eD7&1dFlBGSHcjtNM>mn){^DWpL zd#Xa}_e$3V86W&2s-o&`kn;Z1q~af!su?y({8`u1{5tTMh4kzjm-8-8>^f<9!@fCR za%oGh^lZ!Hjvk!h2|u}HN>9AdoL-)pE1-L!K>Yfxxl<(4(iG+uI#Vtj?9*KPKjsyKEBsQf1XibyX2wI!Ffji-hObD?Xz6KEqMD_pZr-{;}hq2 z+3KgPe^S5J%sf@vIpMLS@>aK>`dc^5e0g7lq3_@^+5T&**U#Y#+*EvfnbzUP%L;Q! zkN>#js^uy1BBW=%Ocz6k(B#}>7Ekv}P0)*|IebATSgU{t5ZGsX`|v z@k}{xYuN0UDaxcZCw;+L2AxZ0o+pmWuDqAb!M&I#d7hTqlo?%p{Eic^O}aZXxa#EG zP-iDq|R+}PZ;ZwASt4gQKAkfc^FM~-bdCJ=d-;P-Y zcjUZDJs@A!$kERwQhY)4QO}&Wljq3rTwu~V^Lb5{0XvW3wfUMq&Gy?=UGYhYnJQ`9 zV4GRIx4`f6eWeDenWt9InZR#qqVZhy4ue%l_Ey7_PrjI})hOH5X4kZPxHf?NoTIzL!Bc?uenVd5w_Ryw57Lz4tqq6mtu5J?p14(v^k=laXil0fg#|qt>@do zQ|}hPdoDZW@~8TC8=fa2nKBc5+AL%%7bkEeALKhzJm;?4=RE6elVmI7uZn93f|JlUKV@9@GJ3V)5pJ&~}wR?jfQ%^|HuG63T z=5F?h6mvaZx8;mZQKdsdGq@eP+snW)rn&k>bnM)I-LYw}*bx_^O65!LxA^qtHN`JbV zS2H;+wEXhcht=azKkKo7cClA_Yz}W;ZtL%rlB?Xt(~|K0eORcXBGdEbPFcZB?2Tng z0!3CbbLLrJete^k(cVDTHp{)#sb&#>{)%Nf0!%90ZRekdFsJ9RzV=mN5WLN7uW|cYTWh@H6}gJDx);{3 zc&h%iR8nrLw$rBE+L^actU6)##KR#z@Ji^8xnTzE3MKCY413zwd45w~%5n00^05b& zw)In0Ha*>Zr7Ad3GQMcrg~QL7_nI_plxA$)U!XbRP#b^YeFnZ6uQFSHdhr}t!MyT8 z$i`DPn?wru)lFhJ&gA@vGwl1a?ZD#me}@9^1`*8QQez@mEoX%J#R7 zAHLQp)$m^ZWAkxApR}Z2$h)80d7k{P+4|G}H$%m$#}D4W-MFNpN>X*Merkr@W#jel zC-yo0bzpCN8Nb<1{bKGP=ZCf7ZoAZT@6FXw&R5sj@gV#W`>|f@pdZq|qoeQL`DwUr z>LZPZ;U1@c=I%&;;c%9D?|1v6HQ(;4-(ou!{v_ul7kggTm5kQUeU9%e)&)Ow?|xI` z`XE;8v+otTSC%>#jCVYpp?_cf-mYcSQ(UHeKc~UI;^(5Uf{Pn}?@%_G; zt$O$H2196@J=aXJsppT+|DjXfyk<-OEvf$uZ$22+?sz{d!SI>UiW3%JUTDAN|Dk02 z(tgv_y>l+P?|hQ=}(k}CO zg~Yo54F5RN*JWP+$93h8Zq6c&$Mb6*$R2!p%dmfet(LdlYwMH=?-DBhyvUg5dcW}) ztNSx|*^{kGTH*@A_oi}-1;u>4eXBuk;Z+XyjH=Mam^{sSRTEv*PfanI(|n;SxPf&W z+pDS|59X5xqzkWKnwspfgk{oA6`rysy@%vl=FQc-^k)H2!sA)h42Fr5cQh3K2)&P}BS> z!#l_9vEd1cfWm`c7w}K~&yW{?u0N9US<{St#ZESlXdWu&LwdSE1G`#_by4`d2)ey zno*He-=52LsX?m_$UG>@d~3WW!Bz0*eCEF5mmyny>krLhsn7f<-l>~AF`9LjL*bz zCH*rvkiL#{o%6T$AG06k7Jp0ln0mkUk3Z{c&!s*>A$80-_L{Pe{~4qh{`~nn_iO6j z9}^!;X=P|!zwecvlgxwC_19v3Pwb8kV-3;>40ZR(75%CCTlVGU(;t%$oVd2pLt%$n z!P`&kgXi!)x&FHL?&{eab!HxPJoxsg%9@sA(TfU|7uXxzp6vhW$sIoi%Lo0hJy;4i zls({@qcxRRQf8jx+Lenn1*hk0Tb`6HjHy4iGV1fgbt{wj%v~EoO6A&b?T&O>?^AtU z`eTFq4~MNL+k*<(&)vWKecdhXdoH&96YEp0t3B*YZ0{8F8@&$F76?3c_vYhY*YCVa zv41V_@7(`jr<~pP59M#_Y*dZ^{bz{1qTHu?;?3!Leb3fvGqgQi7JK%O4&$SaiHOyh|}JIKZ{}Jqtkgj1y(%)p0@;dr)Mmy zoFnpN@@2Ip9R4idA9pdNyyA(}+#%R}EVElsQr+Uqmz9B$j3KUSFh z(t%HYw{@-U%h-+QMdfG6vrO(^Y9st~;%3Xgnv8Oh{~22T+@GrxXg{OejLqVxitmQc zKd#Ks{w)9KT~#n+FW)2a3(sdwZ01u|NMGyLx7OJDx$?s0+u18$I`BCu^(Q@_e1BHN z{haEQyt`)|)_Kd%o_HmA>eWuS8Ud@M1{K4$lM?Ed4?TNLGMH?8cdHs0 ze(!kg-+D4G*uGc!ZGt%a{aiDNzK4c&cUIV>HK-Ks;n6dwp2O_1Uu%^Bn}OpOlcs=Z zi5JyfZWFoRs?YhhV9C|?cSdp%^DLLR2K?=aJAQ5AOu>_PC$XyVEd8EtH&a$aW9AIa zlkz^F1KSkll)m+^UGm6GVwsxgPv!M_UpVSK7$zC_W%jo_7*6z?Xs$1z@IgysV(z0G z5)&u)&zf+uF#fQ>PlHQHJ^;L>eCc+l5bPKQ?DhoQQzq_&+*TUZ_kEn zESXdL@R)m`e`bi9WV_#%iElIfr}xh&6*=tK*XH;zU11R1mw0={ zO7qtEUHt5mgA>Y>&%ZAaw)?`f(k5-zC$%E0=O#B*cxDt8)bA<`@>bz_zE7jl_|x;{ z3s)EfOo~>RH{+$(Vl5###}g`jQy7gldCghLE^)ppUgwzeH)dI_E#^E+nlH-~p7pqF z8N~6}gyFl&^7YF!6K^eeT9>qA#iKcE;`b>33SKy4>SNg=k3|RU&%`_b3~|{g?fv}9 zv#I@OymlPls-)GbdwhqfXRo4?N@>o22Cw4P!aFqVqq0^69;($0%UvhhaZYoYHOCqE zO9EZ`=4R1Vc^8_)(7)AMb;@*21fkZHz&B} zYJ#%5AGt1 zh2Z07*#0>@mz(NfAO>aifFnc`uorIeLcu?~7e>{O>7$SWqpLFBc)CuRi&o z$d#F1HSI50m3?OOJ$ZR=q261uGYJ#_C^hW(ImKT2(&CP{iPQePjJ%nA_vN+4J9_pc zYH=)N{!{n%~}po($M=KG|p5$(dK&j@H%i zF@9Zf`Aq6*o@%a)32WB0dK`TJ+AmXNy-b~`4#%@wt9%w~e_7h+*vc{Qx$RLNXT4h) z`PvhIa#i&`eim>$B`%^&Y1Wy-%gwhYE(_o`ln=hNIP$UX#?J3QD;BSKUwG*R!@;=X zW9(5mxjh?XU#5FJ2?*?WJnFh<#jPXhFMU!b?Vl;G%u;glrLR+2W*@4xHmhu&sTplXjp7VHF2IJEW zN1Es7l&pAo`=T4?`}x-<1@B2IJ!ZF6KmG;RJ&QJ@cGl_ z35B0}7%!XT3l*{ZN989@WQs_bQ+iNjrO;yblP4r3O)dm>#xCJ0UA~Adq08#am!&I& z^j+C46OZ{iKHE5P;$>+EhHsWDWlsrzW?)!xFYxKi;)d#H?Hjm-MV^#B2~JJRbO^QK z^Lxj?)uiEp=wwToLJ#Iv3uW6rtun?pDx9C6Jm0b6+=Zi_Fa07VlWr?Wz7Mokn&(!0 z@ZN*Khs6&ME}U_QL{w#rw#FAPj(EQRy493@=2 zr3%~~D&)TS9ME`E%bwMd@Af$=Oj+g^qXVa6x&8qXN7z<+J3 zkch=ZquO33B_Wmh7B*#X16_AMv+g{0-~V-R$CdPobN;6rZ%wwSoo(2Blx26fWT8at zlg8IUtK14MC6_0@42^PFyGf7jLh;w-KYwVgo#gT4QE%6dM`oVSo-4C+-&&CIeTQw4 z^|$3dk<;@mloo$hVNOXdE-<>oRjztR&S3fFdy5k6KKB$~TV56;nlpLcRgr@RAuH^T z1V0nFDJtr4zE1O_Vb}|Uss}+#=Q)BU)MXm|Vp?zR?tdM^sHpO!`SOMphdCc{ar4Zd z(&%4tN@z)QSN6Gy$2Tk66gsdjpDA;@7iDcaC{h`MX)R-7k;XW_Am^H7Hujo?O7f<(*o|Q2b?~ z?x9J4p09P=nf|ll`P{v)9!)-#`&{zCUtg0q4eOGpTmNS;41GG`VNqR9@!PO>GnUJ> zcP*FkG&GiZZ0q>i?+yFy4U$Peb&5PqmH(XHzVN)nikh{P>R12tc-sDH`I1$}pXSY6 z^o!eDaQm&hoe$kV%n4m6C(!iZLHVlN=l&Vb`?-AYp(BlR{bdR?W2AN%^X{HoV7ogw zy6l2;V&Tgx!4aE}9ul!U5j8Vp(<7*B{yviixmRHFD|ZRRrXF!ApWTI_GqXWtXz{qwyGW1m_mN9`vgT_o&-=3Mfx8$RpT)tK z0b4H|OuoR=Q|w&MRFUkHTpoD&(xRPP+|`p4`W|1J&3iyc!PZ}aF-S?taC*l16(S8i zmDyWrAHMZT=|A`T$v2rRpHxz}ALDqg-(Zln`SxPZXUU5m$XsChna=g#p_`+`vR#}W zIqAQ*s?^&=PwA1HlWfv8`*BKwdEb67hBk4|&kqv5uNIuCYVES<4sc-RwsOPi9T?oYl#qt#LFL-YxW!Ec%EZlr{&JO<#A6B z1G^W4`y}2jtgUTl40ry=1=|=O4Re)zbqG{IVHtJ^#LXSnra%@nylPnc^F`{6)Ie zd(Tgj;NdBM?X_^JW!&zn-@!?Yi+Qh1Ja#`mDpPAC3*$)}O%XTmnS{XlcHyNMqHCme_dkmFJ@g$96vFF`WFyO*0|K zC(LQVW1T9V0P&4hJkLvJ9y~PXtH{Z>SG{&^IG<+~()j3SbcMn%sr5w?=LA}{w_o1N z8Z)K!2J@Ub!AfkACxugTZ>{cYo9e;Y*i!XK{Vg{m*$g-5`|gz6>ifl8lI{0ui93CsDF@ZB_i4wU zDUy;AS}fnV>f9%vR<5^+mzBF1j$N@aT%H~DvufJ>d=nmlM{1V4oIT>Fq& zSef!pJ>9A5dd3FH$G0vrRX4xBH}i?dnl*EBZ9ZOWuz4N!gZqJ+W3JkaS5}XYA9U*B{$^5=yoy~q2fl!?Y1VCL9#>gLaYzI|7CHdx~Qz0H8}Y^}ZAj8?vX{3}I; zBhPhQbUErDP|fefc6;Z?zu({7{b+aZ^|`GVLgp?!KfQo6$todC=05{Ro$Afgy00s$ zgW~tZc}I5q+!&wzpCR3Nqr(y5rikBVE7qH+m43e1aQ}P5xAzWP-H(3re*7X)yJ*+e zO-_vbpHnwf@ki~j$$j)XQdz3Jx0FMoxq1IHW!b8d^=qGgsGGY&>u_nJaI1`AoV%sz zeD#CpSv`%{o^M<8v}eMpqn5#U0?h87pHpM~aq=U--de$UQIl)0#os$lwkzg)do=r2 z-L-qxm-X)5`}S5PY3HZePj4OH?l<+#uImT<8RJ~U{Vq(qIq|dn)K5*;&#&#AFIac- zpTM=X^HM9Py_O6QKX#{#Awcb1zT4lme_|dSUGZ{)o&1vo1A$-sS@$>mUAl0R=+52S z5_VcDR((FX=Jx)Zy2`x^Hhg60d3%U0$VsNC_H6nq`AyUNl=`e^^9#8IUe4&x&@+5} zzKVUZ_3r#zhYvjeE!_tCqa|edO2m)3@^9%6?S2&0YQ1!SCdxh?9qfvM$$M+Nac} zJ3Z`QvEeC>zDu6R+5cpy7r)$L%3XW#Y2NZV-u+s8B-N2DdwPwgWS+8h zzt2|JcR^vcMGqf$TX6R-&ba$4SZPo9>3e7P$O!JPpqvq#sj!w6gqoeV?7|kL-t?c`CJ+ z_wYV@pLfH)r2N-#6 zq`P;VJ`1dxc2>bsdK>Sab@f^dPi;z9+^q@z_(V?e@}hqickS52#GSu|dGCyxg~u11 zkNW+e;hWVDWAP>%ZrL+pnY@3GFvOkR&Lh7vpn9FH_L=?3`){<`=vq}gj*U5O&8c(g z)pcHu)VmY-18z$e%BZ-{x+a(CRh$g3P0-ms~cLxeKhYJYREJIkcvePkgUiUIk<4VY!Bj z!Ve2?6gYleUgB}G?m~OR-U7oLA-&cDjFKk~thl=U^oDg8x*PACe3@yU^SDr6-}Yt0 zXOVcl;|h)E7yM_CYEA#SXKGRXP1zNtWeLm)>+e18>Rf!wp++xy9$!@e>&|-?Yi2G@ zGMmTsb=5X;`P^RBC+soLFD>uA;$Zohd4HC2u+*EAjQtXCe*{>(bJzOW#bsz0U3y${ zb)mvr2DxFPlW0>FHnsq^c`V>p` z1-2{SrKAWRnxT*~&GM|vrAUhn zNnq82snIwae1Z91ts?6AU z-JHdwMbfWa@i?Z*CE)h>7`v#lPr%#I1IN`G1a5hC#c5m(w{H;D@lkSGeMR=j^I5(5 z6ZaP}Yd>CZVX}Tw_nxBaE{57O97oPus74emD9AE3JgKxX$mxrP@`4qyPkNpyMgN_Y z<&n_Y3^TfWns}@JO<{e6zu&S|*_gBazW^S=pNB9_58=ko2x+Q($NfC~vOkS5Yg?k!& zY6^TK3|Ml{R5cj)Uut^I#`boxMY2!!jPFZQ<1-RJr!W7{ux_0-W2#D@K&f}{7_4%J) zItchIOktVCpYxYhW~W3?;h_glW@UIT-6iC4fA@DC{f4Uj$JgeK#CwX<|BjJQLdCl)D*_2t#9ju=Jx|%6-yhvJl zd*OTsR*%gp6O+|tr86Fc+&iG;w7cQX`QuSJ-9{D}=L#y%S4~uiGbrrgyK|*GZ^bj; z?#YM$T#XjG#IgLgJhOefpVrYHrQ&Z*epg>lKFrm?(y#K#-)G*}q-(Dv<{a@q+vo7s zKgnBgiKqHWafXk5$JTVtPqVqOPW-(bYiOf*VXBH@9Q#_&oQ+E!-FHE#C`sE~OeQUgm4WS@(uP$en@js@i^Lvq{R8-7hYfd?NxOtdAPt^m{A6L!bBWsfoVfA4s< zER@SC=%S;et4IJN9<04!QJ0g$Ylm2FSC>zXJ-@y!nN-?a6#aE&RqI7%ix*mw(!ZD6 zl&m>@Hudw9!&chqldMCnyLZn>Hu}$yvngVO2db);){xWS>p=ep20H>uPMaNaT+MY#DH+;vv z;~{(exmmqjY^sOzpZsTNSdp^Fr*Q(qW4o`OWh$PFL(4vM@-RG>Jipa>L%Y%R0}2mq zS$&I6R0eKn{W+slX6 zPx$CJbIOK{B`1_8RXv)!jdU>4CT2a!-4V>bCq;|Ma;hrQd74$nCbP?0qvO zmQ6jnQ%mgj?_($5zV)3XHc8Fx{Mj2pmJ{@6Eua5h?(n5K#YKzRSxTO-T;+8{kfk?7 z;&+M2@9d-rHk)$zqLsPlX&LfN*zDQZeC$C{anQ`bq|iwTeun2i1~ZBI8l zI~dAjE{CRYZ!b*l+rp$eJK0UZlD(;J%Gn9cGbVhfE)hAi?Cy>e$1QC$6Jl>FYz(qs zYn;TcID^UWPO^Ge>ggjhDpeHS?=j6;k<89q@I`ImB=Pc-sajU@fnOFdI5FC!$b6_S zyfn!yVqbXRJbqD4OFuT-^HqHc5z|gQkmF_0oZ_u!$$V*UkJq|2b~E34axJi)!+PE? z^C^S$w#T-guQkXj+*>-);pBVQZErNs+wFKC$T>4S@4#`J-ys*4+wyxc^gWV@Z2Nw? zuW8}!4R22zt9-mRdY<9-qLp{*cVAoOvqr|C?k+D=)9{E-1Zaankmc#z%#N?0x)~)@U&``RfQCRK61+mJ;MXK~UZ%p*Ywxk45Ws&%{7A zpR>DnzMNI<`AMw6A#UdaSIg723l#-7Z9K2iwOxRPcV%NAtCL{*+~O@wJD-%S<_lwP zIy`UY0=Avg%%$0$s!#O&bXUGuUwsAJywro|6AWK>x!zJxdCv0H=23&x!#1OevjQ%+ zyQZ?F_g8r&3mLte(6sZQ?D2&wy^Y76#) z>ZdC0nks!go4I%Avnl_+Pp~|0`COFskpH)dT3SMPx9I4l$`a?G@Rrtvs~uMr0VJr&OD`C$-3Kn z56piWbj$7c?pT-65UK85Be=OSz+AjCEmBCf#)1rTG%~KmJZM6;vN*6YW?`K5n$Pj+%ADsm4`!`Po#GX3De_qfE!lBAfIn+ilE|0u zY6~iE&Npmgv%1=_QKXUow{ojUZ_Vrt>rXTGTq$=-iP2=pd)c@6-h!z%XXH&9tmXu0 zPfJ!vS@GEBZ>9yylmO0Gnx|HEEwOxgUZh*@&YaZfsgkR1@|09Key(~V)qf_gd48c^ z!rN93tFJb}VJ6)(u5UbPx8>3XPC=F4-X8uLA>H3QEhS}|vNRaejB0METiC7&o6GoV zW?k|zc4d*gmaQ&L_p1};IUZp6805^=xZ_ty;5orU@=V&!Q?)B zE(TY-cy*as1(rb$mJDytDy^t9XKbA3YNb5YP|oneudZr_r7W`}KNR+Tx#X@tC$T!< zqo~&H8?7>rW(!7&SNEUasvyhbUiXZ9yG+_r*HmeD?RgB#RtgpIJGe(xbi4_>!*Ki* z!;1_ik;azU)0^kjzAEc}dOGDVui+>8r~Ol375nq=pJe#nf#-AC1H6#lF&GqIsK=vX8l z=Q-O9M&}bd0~{qEt4(cYJoJ2)TcrHo=v;=T+Lx7g7+zQhFs*mqQKCF2pem*DvrL}> ztF~y#t^IR3`c?_9idztFXzjB}nOQRU@?NixMk{U{W=VhPtMOvz3-*_O+s{4RF|SH$ zf|%K-!bt{Cw14wG+b_NU!P|{&mv_iRag^udO@jGcS|t z^mT>@>83w#{%2s_@u4Ym*U{-cI$xemHaafSEOG9Qw($I2i@VsSo?l}BV9q|PdWpJ| zavWFk=K7v~*>#=uXKCH5TC0B%>lZ2JUi?`w@tNpj+tm;1e<<1aum2j~`fGlxY4)ZI zncqJxo#XyIVEM$)WyhH>i+r@C@ap2YY*SVzs3!HmCt z+U$LrDthdGW?w`$3f)Ln_giigU@g!PI>W$HM!5fJ5Zg~imNu@1CiT*xcOf}O3Cs@9p#U;1!&m|+K$&=4APE0%Ey3=Ok3(b>C zdsJFk`x7#5*nKm8{Wj=S=g0g%V(L!qAwR;?SG_7y(%m#8a;}lg#%`GflreW4e>woGzla!AkYnXh<`&Hm;A+3eT+KeUcFysJ~JI}_D5ed&T=rkRIl zd_MK~>4~rF&;4h(vHr;QI_Zz@9l`-Kb#vEkS=wFr}%!i#1+w*P76)YF+y6QBOFM7eb z_eGU|GWgm~?b?+p-FMvNg|o52F~f6NJNmO3Zuv~ z$`qa?XRPS9-g#$%hP~$3mBw3Ee34zjcywKj~I zJI~I*&+|d@S`VWY+{yFigjT!@*x`mk@oHSzfZER)?hD;_zxv;RKc_36D_ z{lTdJ3~B4x+`fIQTGPLxahrzy<|Px;ck-q9!W&hC5hAn3_vJ0mvxL;Eeh%oolDqH6 z`K=5^`=#w4Y@aW+Cq>%(N8$2y?fF_0E^|M4_vdTicCF*vtisRV+JB_}cKf#_*P=cj zuKM1spIm>pyWZj`$MZ$o7}C@~uD`OrQT~G`|4sV`OYh9u{zqx$x)@`(Qw; zI#q~%S>9^H`yih!+I{(t;zME6Hn{EI*{ORa$As}m{(}Du2Tkqs?q;~x>$TP{KVNM4 zS?pCA-{0?IG5zQEP5R;gTk+qOdImezAN~Kt^>%G|`CY7CEFkV@<89k$g_`4iwv1ob zU%9?>>SDvGt>OwFIV6u(u>TQR9Olda&HGw@p3%MBBY`VhE2Zb~@cVl){J8urY}3}= zKVCoFEA0~!J}I$rH$%CC)ZdUDx1`VB@!IjzQKpCM&#u3%V*Ecc?0IjyE!le@GS$91 zAtsr5dtCNc?%=8WE-EJoNPJq%{As~7)27|YD~>1s3fcYPV3?laXQ8T4>v9H8hvUpD zU!N_T@Jf8I<{+r{bT>VFdTjy;1-F{c5=YGjoo3gj@CAWR1bDUdldyYSc zYmfgijkO%7W-{C!;{~2!2er&h$w@ckMJC%>NJB)wcYPkGH_u=$2 zu^nZ4mn?GrKJ1VBJMTY3Q_UZh-9HR}OZ`wkxNG(5SZ>y7xhI(Q{_MNlH@{lGwN9u0 zppkugZTPo^e^;3JbKQvcHSL?8|Lv}qdsxKPfCi((KRz91-lzSG<&w$mSfyjv9XIrg zeJgv-<#}P-1-AP0OBHmMcrDJ-D}EoOQ}JYlyjSe1E>4-`tt>ygw-?4QT;;*4W%qr1 zmG5o_nPi#76>qnEKAzQZa+(%jL4o7fRZK}g{P%VxR7!4m@co#rCS&4BcG*@7vpZA$ z3a{I~P;;6Yo>9Q>z{~iP$HDTIRj_i{i8MdYC&FH@cJEZSU7<2DnO*V3VZJHv?;cv9 zXYrsvCnWFu_V0Cbj~d>c{WR`Q0MpN|HU55VhTgI-)43`oY_miT&OfdEuBSTqip!+j zJH~xs4LYia&NNQ=80fkE%sIBe&Bn7>q2#Dhq*xG}CHsyAY)5}@Z1bDH)aTO7q}##_ z?(zoj-v^rAZQL%$=OME6miwy;W_8)x6^y;Rr>f84nN>fFN3p>3t(U0h-QydMD%>h= z?5QqU!lH2cnFeQ1?c-T<=a%yxZ|*;~Sf!1feNMW_rqzG;ay3ulSjP0T-dw)jU5Tm69bQ(E4s95HRA=TscMfmJYQhK=vS0%Z|-1Fu~ISTh}n~WGnU^`De_p?Vf>;x z$aR7Tmjm-W>kBL$Z?~_n_X_!a_vhDTH4mLu@b>LoaOQTolJGeW*%wT)&6)0gRx)c{ zqSFKltOL>~oZj-Fr}(Vl=Q(qdH-24EF6SY^@~MjF>(X0ZJ^EKJ^PH4g{r2R`OZ_%$ zbY>fWW?+0{eL?ZSWVK5MhSzQXYM!0IVAJ!d_|hVAxp~{LZt{tx-XtaYwa296lf1sl?!I8+Xp$~p&rx0K8us0njyb$^4^*txOK;b0t?%aFD9#O7H=_guV1T@*fK9c_p)qel;g9? z>PlJnrBOE+7v-LMxWV|q`S>gs8Hp#!pM!hWEw}k#7^qxX!>(Q)!#8D($s4aamv0hG zGYsU5OJzU$h-*AqKC5tEOVG@+K0f1@zM?zzXKfO^&D@pJllnl0)z;O0&*OEOYqj6s z-o8D)N~h6!(mREBcM5whd#|&UUu&nak^hXR-Lgeasj8dIzWutm2EbZ9m-Qpoc}W`Y67@}i!C3R?ydCb3Le;i8_m%3SPfb8hPH zSugo#mHLc4E|Cvb{~5eI?-vNB2vi3|m#G^yEDW|U7mX7U6q;$l^3_&L@L9pCC%Lws zs|60sj(n=}XRonC+>v}m_8xhkSt@0z(ka|;doH~>XV%#7@1@jG%D`7?tHJh0MWwOn z=JBA+N#|aaGqA7UuricsgGx`;vqe*upYD-cy7{HU`h^O+%MLu%mLOO<5w zj>+_Ko>d84_V;IkbpZ1-_kyMJ401DG`!Y^xPdx9(Yv;6(@w0*9wFOh}toZaH+9s`O zoxjPOE^`gl9lU?FOp5z;i;O2XRRueyv(C3vwvb)PVP9SD<>47Kcj=TPGl~y=ZoJm0 zQ|EtT2TOt0?j>s)iqHEMdW)<{kxR3X;Y!Y#Dt$V^|FtK#;p}stC73S+ONEviHlJW# zxO|Q3?6aj$n71_FTAInYP@*=<*e=01Mcd|s6=Lo!3On`Pc%i09RBn=KUwJz6;txyKZ91z z=0uOAvd2yAUJR4cWLg=jKKpq5i@#@KDa-I!RN`~Yhn?(8&Ac00!za&MZmYSp(0rjm zqu1j($r49}dv|;~R#o~waP9q5mXBqRx_x?DwtV^7c~^dV?zH=H;OBm!J(p$l-u$!o zYC0E|{9N;#tIkPfQRar_HZnmQ%nP6M++?0pd{k-CyQCc_pHKEF(^y_L?W@FD8;K38 z!vC?lP2=w4a#ZMB+@GZ!al!lqw^U5woNuqHuc%m^s;@loWyzr@%}=$QnD+i$_32HT z;KTh|Q&^R?o9CaKsl00Lg2X;Pk5!vCw6XoZ?XK|ot;f4C-g0t`ttReZRg>Xut{qWQ}@w0 zR(xs3C4-4GSQ&nWbnKO2^eOzK$RJxdiyTCnmwUdim|fs_!eV*U zmQM@s^O=2e%V7N2aqzj_&E-EQ9`QWD(&uJ%MX+*CYnp9HqYG7m1#)1SdtP@7q{@1mrHZ2wjU_h%cYE^<4;{7mAdvqg@*w8vw+ zDVtmp&$NXpvn!OWn8k0NQ}1=%nQ$1fAqhlEXl0A)ve*MT#CK9-`tmzwiW!I{q#9ggNo6l+wwAh z?*u#Xn~2FuE6)mb@_W|vc!kCCj-|7+dL9VWExyzse5xjek3Hs!xXPx62Xb>lw)?B( zxj2{G2osP%~zU_`rS~_e9kO+)H(N= z*qu}1neYF+a+H%V={>$-0o(k$hm0rAd+^!C=bYOc*5k}OmlXcKzo+b*$TK#zgLQ}V z_^TKu++OzKX#HK0>4tUhYbs7W>5uBNl$^qQ;Mc{XgI7`}Z=aJcv4HJBdCfx0_w)T< zy0mA#wU9Mz4p_2r@%yyf$LzM6%;sunR^G~Bu zLhz20&zI_ieab&Sqwr?oaj&{(Za0|T2AIox*hRs^Th^w2;+SK;V}R|AKD(LUL|&w-q&_}w${-iLPCDKG)ZFjR zmC0onPn_imonlgG2N{I|a^U}x?s zIwi@$ef@p)1=m@EkGXdDe+*X2NJ;Jy+P~C8#E9Q`y-cvI(2YqUDGw&U^;|t=tJCHQ z$5cBWFcfJXdblulDW~O=rKtBb&MSWD)w-n9V78yJ-z`QR zpA)y48jrJ=T6r*Aru7uwn=O<1oZoOe!_DVgeU+De>Uz+8KJLof1nurZWlqKu@3&m- zRH~eyXSCz6ROkHD((cZeMXv3b%${bIJgaO2x74vol?F#dEl-{gcDXjO;~>Y<%?FP0 zx<$pTF7WevRX*p$f{l_ajOU|t6F8IvPfs{5aqL#ur?r9|r}N(UGyG?0)qj^#@Z`_o zYtuq|ujDE>vLH0y-7l6k0)d{6%-Um z7$<9AnmVKd+l=ey>i9fz3pWj=S>y4W+*W3C=q4On-s*f;^z*_x9%EZN)uHq z(q#IIJ%TRh&y@T*du`~MjT@Yq*A<_$c>L1Oe@@?mo^*t8b`?)PUcNPZpW4q!Hq+$hO^uz}qH@f9 zlD)7u&%y)0igrFpn-DWgUS;y$>M~o+OU@IxCY0Ar<)09hs2C$)U{G~s{YJ$v%ySrD zI=pjRvEVVw=kxZb=FJvKm{7a2Z>4np$=7!-AKDmuaF?J%_J*5RY~uAq_;&s)6`g;w zAk@BlrR>HVSMG&;N~mn?57WJWBlzEACgoofSee8goswR=yFq>Daj!04rOQuFGkE^l zvGVH7wkzy*S9&h#bpPIPYHxXA7u$A?)5}@qA|wtx2)5s}cz z?<<)zx#!#AAa}{W8+sS^+H>hCYsGVC=1b>oY`yWdEbwfaeA_PeS=$R=d@vRWkrXeC zj|uncInev$!8-SKnez4}`hnN4t>n!(r}g<^S$qAAbz3r&Ux-e#VSIfw<@Nr}^Bdo9 z`x(WPQQv#uXXnwXq-D=l8=fy%zFW()QBvVQgW%f`-g)}+ZyG;5o&I$9zCNd-P(HyK zA1c%v|A{uQ`ggoab?)KV+poU6-ZSeB@jp^2Us2ulOES65xq;2_!mlggX4lSm+oZg; zb$II#AN=h3-`=mc-P^q7JGKWec5*syq@mjI%2V|GtN#p}`H!B}WxsLnQi+Yr?+u|< zLY1apn{FKna8YLAdlC}-a>J?l1qpMe%6oC`{N(?~SpL|OEjitcHZ3P6?rF~qJYad8 z{nmoX-;#g4)m=W5`=+C!yiK=c()u@iMh4lhca&78o(Q|;@!;3xdx!j01Aiz_{4D=G zveWqSl)p3VGY;n@*CrivssEXwz|ilru44I}e<$usZIxWJF8+ww>Ae13q3jujO&kpA z6RM?t-Lq9cz3U!>{M!m^bn8ryoFW(5`MmG&R$JlIlPjLAXK3{Kw8+h2<%IVWB0kQVp?)gV<4L-yj-F|< z(Z;E#uCk*w%FU`*2o_IQcI|J{*2Akke$vN+Qs(3=gPH(;E zG-nRa^X9It&l{YX_^OJ1Ga9mwDm5&&DSbSv_hDhvhi%qo6{3l$nKJJz?T#%htMofo zc7rcmCi&J3rh_66!&N3YGRQv>Gw^(%OHnVpgjrTsWJeE|O#;{UOWS(DksKj8{j+7dCOD-iEN76@ zU|g^E?UqEs7n2v|tIggnVLql+)^|5#TU}0>DAQ`TLyuZl@Jz6rG4;H$C+-)# zBSatDMzp>Uy%ngnB~_BG`tjt~M;UyDm{>OLU@t$lbD{2okO`I5&Gj56?b*4;JgvXC z@|3sT3s~BrJ15o6xQny)WS)AL#wT%|D*l&&&K489ryP7yq&Y9*$=CBSApFag({Vl&(t(jYe=5;-~GMbJnzN|DM9PpNrqbzR(@aLa#CuC zQNkxHxeP%q?HDh{qQhD13#{+Z+V$U-6A{$UiO!PJ@UDh-++mVJtuaJXrw zXc%WI>x32Z`mFs?vo83(?>9`=vMVWFaCVw^e(deyzWQHRu6FjH3;1)FEvw8~TIlmi ziH9M{qVl(nE^4@u6y4J||49Jzf-aRni3iDD%PaLKtnqrH^xXc^n!NtMDgG1gBwyfK z@kym8(&ONBrUtFEl_t_p6&eoYFc$axx}=p~v+KERz1G~+#-^E!Cx5SUlw5WyIIX_p zW0z0nggb2^HyIh2=LBY#yxJFYPGaQ&<)v;%n>tR3N&cL<`&XfFe;G3i!}}NYT20?{ z+S5*+6PNjXHr(aY;>;L3@d*@N@U8U?|gYQ zBRcxPMM*}fgNNjF&!X-1JC-Sv+}? zg-xyY{oLi=Q$8o3<6p5};_p12w|S8`wzQT+WtOe0;#yx=FT%|8Sf%i6`khyS4ds3z<#PM3PA^>}sd{VL z+t%QATVscvz0q^CGi3|sq-`|4Ta^*Gtj({$F77Jtv1MU~Dm{Dp0a4~3Ey}9{|tu$E_)PlSnuz+TI+u#Zj=iK+|M&^zm0oq!> z9#~JEvYE~P$jzlG#&zEwp1jZcxTt!6)cIMzoTb)Wujwy5n;h$vSZ@$_B7}$I#&gl` z(v`F8@9BJ+d-l6rUkKaZqaU~I&|2s8VDhx{DpxhXJ}Fc3nIrh4>+s$yi+1#AZ~VDK zVb+@K2V*n~=QXR%YLJzg)$A)-A{lqPI!yNKwN=nK*R9Lh@%T8i{7ZJIWjheMscIc!my z%JH*5BY%B4pTCsjXn3OK`QXrJJ3W@V7g!dEJbrgk+b^;wpp4z}_4^R!XA|#qT;N^2 z@~AtP_tUowbN8^>^4jDlEZk&#{a%~a#kYz5QCrq9^eYDSD;wHI_L?qgf0{9+fBM9E zc3UxKl#FYO8#gzyzq9pnP3`SOkO5B={xS=I3`__p0t&SWt&{sUYkMVjnIe~s@oGRKJ4vAJ2Le_ipE z@!T;>%M%tay+u0iGDxVTEuQC=D(&#{>jM9T=~V_!j^`a;2Dwa7vEJXkVudqr<4MKc zO;v%yo`$zp6u$K7J?ZkGsNt!bWeivQn@wKjyC2IkEH&CcgU#amdw*A!hkb?TSi^n2 zqBila*^{TPzBIzEJG030xTr{vbICua85bux+@5elb%m)6sKYC2WU-79RW)jXjj?HM!Gl3C;$qjEKXQ zTn*_fMHtRopVC^n<4MV}EVH?{+xoMU7rqTTw>tZ?mz98F-_8~5rW{XbRUMyz{FL*y z?V^!9mpnS=EX?uTkGiyqrNUdrG#Nip*+uKdD%9u z{;BTYiyb|AKi@fYRD6k!JpRw+BeElor;id+2+g-sPjxRh;Joq<-b?rta zF&nnG=QJuz2BU`RkI0^xWg>ubmC`=X`Llk8*WWV7l{t z0mq>&t2aipGB?f%-m_Bo@x9%1=3Uh~BKY0R{q&)4M_E=q?X*0m!MM(-Yg2=VEaMUf zhTA>z!9J5bITblsN@O)UXZb8%&RBhc`9Ofh>-#1=dLA+Tep?s{|A`8A1^jp-r)eM> z;(nfae^glQe+C1YvS*76m1JZd%eq>KR5)55=J(5DU}nBr`FNtQU5x*?sqMNA{OfF4 z_2gvc6!ru!?s$;P6McCvgSfc=zb#CAPcob8Ow?NU=dsP?zOO=JntP|LRDL({(!}U9 zs^%&357ipfb$$z(*#10S=<``waMJt(1qb-^rrfkRqOx8#Q@LI1J;_L=s~P*VFs@$pNGgbfcF{&e?h zdZn2%&2($RLjN;XPpU#)d~eJ-E4`fI6MLY`8c{>(o?l;A3CG0d8@jCsbz^)#Yu1&V zfH!Q9duA<+6*?spDiI@Ksl3-&>SxB$^*`oGy z#uGE~8^IIV%=gQ(75g4|IQ^BltY$Ko^F|d>3ufDjFUzx;l9<)JQxZy!s#}Il+&G~; zA;|1vQ{*PT;yFnzJ&&K9eC45XnRlxY=Y#2NN*?cOUqvRKV2#f_Z}VlD>ZWC8y*r;I z&DHzQ@YQ|lcia73Tz-#_u*zp!P2N7QD(FOA4A0|BizDVP*4jOLyUm5J; zKlJ1guiALxz#Gl`%B)F^ZSS7VS#g7F<^1VOUH4Ai^*i~}0?xO~4L96yt7bFl*WP$! zg`@h!`JZR4SILo$x74a?4stoNB0VhrTj8$@EQeEgcTRqGjL%<6B*oD;KK> zd3{|TwM?*kn`a(_ti}tLg-$DrJl<6-&U?JW<94-PRnVGsoGQIbk|mD1oHG2qv8UuH zLqxdm?&x_Bp09Ngwd7gQ^X0s#jK0!Jy&ba0ms)yxek!ndlGfMY&9m|O@*NAjjz4F& z{Wz;Bap=@xH5y;f9HB*B(#4HKAFmX}-ZfDYIRx-Dcj2D7Cd+!4zTE`rzAp|GaQk zMz#fliG^x@*7Lra2-Uq2XW>bfJg31pqgYY<)Z^s~m%W*&rs8$iGN?*wmZfsI*6FJi zj}}fjHZv`N^SS!Z0L70xZ_oMqb@|^VbCx(5#;pzzNaec2D*v`Ph~r3l=7Z;Rq()E-xh~4M>%mSBrr~JkNU~~k6Zg;$VdJ+ zFZnj+P5L=a+~Zk_&m4hr#jhux|7W-wAOA)n;p05E?1S|W7SEI0dG$X-nr+(IgwIJc z!_T-{PWa#^e&NfKsPtp?ADnxWWW^te?S5eE^vw6X{4FJaiw%+z@84*D`E|VZRNgtK z2IlhPS%2#PGc@_VGJ5f!VVnLpAM>C!)4%0i7czb_HMn8kO_}gFzVi-pM0{K3U?KDT z(*oThkLk&5mdBlzgiJctW56N#IxuDKnZx@f-g@o6`1zc_-J!;bd%UO0-?3o6H0L{` zKsDdp6&|ObHXMt1zSqbj%<<{uiT4^!3uinp5Y<|gUOfNWOc}=TCx;Ur^j_8MjmSN( z*08lhPxtZE$`ikWA8g_N+;~8O-PC-_#CMaK>sZayg?LuJe0!;}x8gut`23~rEPX1s zPagPve5?EF>{(^qIoGY09y`*{z+~jVP5aq@27&s6e)j3S;zuw4Fpv9~xW(Y^9`16{ zodPG7J{+)4wm7C~zChmlP4B*!x6e6>DsMROoO!3|!9V6d&OeCnC^N{~$NMpM-NM{r zfob<5QqF~ZQ{E^y^>*zlWrwLNC+}l_i%so^Jn7!#;Hmy|6|2h`Cf$^o?|5&2ZjEEYud{QmWiWas zYCPy^;8@?YKTrQ=p1x3x=ANCG*-n1>R@%s7X?(2e@nxCM9&0cDeEOSn#Yg|Qdmrj= zi{kFiu5~!6P&i?I^OnC=;qQG4kL4zGDQ|V+{n&QiLUR4V`9IW-&e;5S#~dHQsb7j%Tj{MSP>E%2AYy!`(q={UpJ7syfTO!jQ?TH~zYQ^glMg%}!)n_U!#a z(LNIw)VLPSzWsOZ&a;*JefAHQ{AXaO;V*L8zNz>1R>#AY?sAJ)ep`RuJO1YDZwr1L zuPk2oqxj*w<+b~nBHyb|Q!jA;&^K@DtNonz5Bl%Rt>5DDzD}iLuF2}`&Lfke@;@)p zsytTTy78Fh_vIoX!e-*h@UNEwZaTx(X&sqc1k|@c>hB9#ER|zxEB6) zdu_b-So_+{UsXPfM5l${Ie%WJ>`(TK{`UJHJms5raW6gJS!%sEaPx$B2Xf`_-oE^C zef)>(Z({-FLP?&APFj-;-)|N&+tQ;{fK3r%Ra-8ziuBn>T@!?$a`1G z!~S}&zoOlq5u!^oMNjXGNM89iT%}SaaL*@p2F9b-5#{d3_c8uwXtJ&0xS-Tnx;H&| z&+Shq^wL;6)KwBI?0c)PH`S-SzxkixVGVcY!}AQ8>n>_=D&JhsekG;AwaV!2<9UwH zCdE#AFjZdPPg8Y8ywl!g{h9d^X7;-hdz&<_GCh7_6*_ylxiRPSTjv%to;Z2bZIZEY zs{((NDr?f;OB=s(-?bo%|566k z%bFc?(&d^!he$Sxx@vz3E?-hYM%vjhGv|F+|DZ0^*DQZ9>3>sFj_^Q#w(U)*Wz zX|v+p(U!HJh3}jGJoul1<#^M>{|wo>Mt^fJxaKa6ITo36Qax+_(z=PeRLuQ8ZP0nY zyZN%sB{kRCrGg*){45l{nmmx4&+4zdE^FVHL(}RCuLK>o-t^$uVO!hdYfGGyEroPW za=$%!ex*$K^t$V_?(FhEbi1vo#$@r+_=ky?=U08X#;>C+xZ&=1{*{mR1b@3@oVlO- z+O@BtbMLS^)qSfHd>uQ*PRU>QZ`fELIYEN}%JZBe4ihU+6 z=CWF-=t1(vC7=H@bgwurbCrL~nuW8%97G;&I^1Vd;kwl*!}?e>0Ke+2($U^V-@ajX2T$KP75 zrcG9<|IqiNDsAJ%#4g{LHgmZr-w{5*yg_d3m*;=Py#H|-7Z>u(-+cYxec{`%RA}(-uef<^Eb8Z-(3IZEq|X)umX4R(8?5-QoalSNoxZ$^^|TP9kC1VH)&e>1_Ray7OP9OX?vN?Ix9rYd zeugg!7npCd>^XM8-sjm&W~00?neQsWj~kqfW-!c~VkeOkc3jyefSIZI%HMl!t@38k z+r0$z%9(!!?vX2J?%T0|#i87I=YjX13;UyNjt42r^rT4T&*5ZkbA01!Wzdl8$}G#i zR6%s9vgVei>PK^$fA62Z)MQVJsJeWsO3|8>2aNNbugzc#Q&&iy_vM*&__OEC69c#2 zJEW|MPiBFPxL{PO}fgOr}CGE=2LCwsoX%QA9k&$H(W4Vv)K z;=HBJ1*TIScJrp(F}TI}plq4pq#)-0Q}dDw7EC^7HSt=*jp{Q-+@*nCVb+g-nmtMQ z9AHydz$Kk`dA`r(1#(dgOXQ31HQwFJ+Mmg*l0CU6`K2G5&)eHQRkJcmd5VKt++#j* zET}bM7S>`uR%`67^nl;1KYMax-@YyV3ZaM1ssqedeDLadd%z~h;{?MA`=~y%(%(0J zb(I-0zID_)yj075+Rpf@-h_KgdIaZRTRdma^3#(wYF&NP#5neBIl)l&uY}1tP`*MT zxo^u&m4NF0r9P+LEU|u&-e9YxuNmqjD#3hxDU+Cvapi)E=Y1ZVtk+CEF0mwVr$=1( z!4>yJd(E0`3vW#hmz{BiQM6@ZU-9IZLB^U|Rc{|RUkMTXSzWZC=XqJx<%J1<-YT>I zSQ&LlWm?k9ZTiz+SzoE1Z#{eED_1KwH)&^{c?~_6Q#!sFJ@_q^;C9LC&*E3LFC8<5 zzem>ve=fY$=E;7#C!t)VD@vy4>uXP22jyF{1KBsOEL(KMQ+b(j=wl;egVbYuZkf-5 zKP^<2{p=vD)NzGX@}=)2n@Jq!7uv3LnP0-d^{d&V%jQ^WQRuGpt(;T0ZIf}kawCOd z>Vsdidc<{m@5n7EH`UGwmEr08$~8VdbIu*IM z&X_po;qD->z&U1y6OXYP$TivSQD?umXh)m>)QV&GYJCl-g@#SERIOlNDikw!m8|Fa zd(3kJ6qT6sUQAc{{B^mcmtJA>%UL;j#yhR}v%*5-=WIB>>=r|T)(`dlSw3#_H6$b+ zFkV_Tu}4DwaG&9=DeX0O&;B!%BsGZ64QKeGF018MKmD@Eb&i!MzbyUSz3g1e1=jGQ z2<217*O}%OAFE2f)IZn%d~@T^pyoM@4tyO?-m0(ns^)XJd3kZ#;(ojI9kN==Qq`3B$%Y=4b4geR7(-J``SCa-!GU_X6LJWhaiaPM0p6gWCD& zYKxSoY0a>FSGiIyc467`XR@}Mvu9{Bt4zMXm4U1KaI*S^V1tj$(~~F9%c^+ducI0G zKJbi^1;?FQ4aWHyFP?IoPwtv!c4w#h{=`sut;aTuS0)Cz9e)42>H^E`V~=_jUf;j8 zFeR~frrmrmPrsMt?icuKGnH#(-mBZPFJ(|YP|QC?UQ)*3t&73N4$UWxJ>TuVd=l-b zneU(F`&43c*`HR^1fh%%hJF6`9!;~o*eKOEm)AowRh|3im2h1X$C|BoJfFXGZKz1t zZ@uHBdh>OYovP;Qh1XWynNSzW_@HTrEw5+VzOWY@$}$WYn;G-W=FVIb6HK6EXB{< z4~tK#O|qZz_uZWU=6?lMK^C%YMOmg3R*Osuyuc%TY3ZGf&s9nn=ohIbE6Tade9Xe= ztu&)9@84IMg%VTmuvPc*GCoP%GN(V-fq$F(lg&ldT~n7DE-Qb`zSdn#iHpt8dS2$6 z1E1#%-tU#=$~94Gcw+XC-SNHW?jMYjZ{Pcs{q(bZzG20l=?OgPEb`}8Y71@A(O%)( zSX3D566oR0*sw>YY~|t!>)f6Dwp@|CyCqq9!!omXPA?{!pJ2P!Sj(&8qZ07S!17$> z^4fVmc@x@X=FHnam8-B}0fX%df#-=*IUbG&Uf-JeZ9C`Ah00G~dZm0;{mhlzQ=92k z+1>Ny%UcJYNGVsoaCV93+qYU7wXi5pu=>T7Y<$dY@{ayTU%xJQSz&mL;bF1YwI~Mj zlgf;mDm^K`g4K9dPH>OQauz9?sHpPw#CiFs-i~mt#}>>sB`d2N&fop%&NA)1V&>BM z3@zuX)8@=`=}>jIut_Lc=~LK~S~XAe{vxJ*-+a=HjMxJ&O^OgR%hztp+p)4K_(Yyi+pC7vB*|Fo)eOF$nev|-Hj(+`{jOG&sCstgGpkJ z2g3_-iDh@J-P`U?V0ZL>uAnIJaHCHu>vp-t_Zk@9IJ36*J^8+@?qg_}O2E#OYRiN= zCZso2r7fDVr%!wW!vogW?;V8JG~Rh5apI)X?42>WD)XZv8vNK#A2ZTiEtQwDlfO{|%rWA!U(>W3LjHlNRnJP9^QogheGOUZ!{SDc&a1M@fkKB%QD?&WbM13UE=xWOG_qssve(tBJkb> zFPlv_w72)jRW9JvecWjme#}3Nsgvzo?}4{(eZ$f^Z1!u{mn%(`o$>kLd3i4Zel`J- zw=b`xuQdt}i8na@JzAma%49}Kh7Hf(>n{ycOHYbecc-BG*;?y{=Ti*t$}{&hP3-%8 z?(&weXLYg~at|`}Z8?7D?e9%yjXo*s-n|kLyncDBmPVhyLCJxi{%akdRa$-)nZTa+ z)kpi@5})YKgW{+ceBbeE>4YaK4<&NG9cxFK*Xn7S5}U9 zn~sPG85~x&&9XUV_ua{=`PMXxC!SnP9+v9LUEy37x;JJq^qD6cy9Io_xHl^$^8AkP zt3I5GHR`g}Jv^eKDDJAv|NQaF*a@yY{^X(bMgkEq`BS*sF8f^9kSG zRjxaX^)B3LzP@ASX2#7wyFa~=k@I-jmE@_k^KSEbW{KsexpS1<@Af&SzIVy;VmwxO zYeHT`U+B%x>k8cX_qrNH?k_ug`Hs^a8|#e0mBPsco7mcf*9n|0Ad!#;DVK93{LMw-eO zLi!b^B>A}&zspi9o>N!3fYbS~j=}DAd6CQ*D+c`bv_CFLra zN0VNd36eZ@J>4s5|!?%jHZ_W*j%Q3Pfr(qa9>rEMipl8%VHRmb%-Zx-|V< z5eM5`mORDJX)MCugO{5~stT>>&^Yxeve-XCGH2cTEtAAA@HJmr8XB6sO?UCi<5fI4 zGps*ZU$S1j;^c$%mS2~qu$)-9*xG}I=U=G+$GLS96ZSSfxSUYQp*?T^sY#JFb9i@3 zK4zM(!F6U|{+S0neRJ)m8u2*sZJR=%Z)Dn~uvh zXSWoeV4uH~DMrn#`Ld+iq}<8t&Lor^eCx-xQc6i?!j9ygASRDIFSBno@@qXcKf8IJ zb5~n2?XckXc}IKwSvILzJeE9Z`*MM-^qPpz(vtR?Hi6|vtT*M)HW)FiNb~OQ`Po=i zv%{vV(Wh5PXZGxTN#?b70iv>Q*|LL9%JT-~d6 zbCT?un@Q#A_DeY#euganFsJX{ma{z!Di7+m>c6{r{)D64Vw<{>+np15T8{fXo>SPB z?ZR4Ibg_-KF_d|E%$1(oi_f1juuSrGdm+-u#M7!U!D`-?18d3-D;1tpzc)iHfk|WA zyA!YYK4n>VZcBKh>j;mZm&;U3lZOue_}#IJg>Dy|7)rfEI`Y!5&GlG74ZQnKIs$EIv)*9*5-yNmaf zvR??6jQkW@Hm|vhVb^raM5z@la?%@?IPEZ2lfJNWg;IYZf9qol%axBR`2-X=@62LI zoEP@<1jE~7mv3CzINjw*QLPqdv2@3gl;*3Azqcx%xOjXj%af|Qrlr~pkGCiOy`ke? zcxk4Hwv?oJ=D$zhm#t29wtDcG+2nMDYPZ6^BG2<*mhWN;crx{lfq&?VRQJwXvB#&$ z2;W;iWmEsmN@feC)dK1XZ{9H2B-HmBsBfHoR&~j#&o6_w-MPXwFCw$uf|)jaBuY;*+-|Gox#xtN%7b@D zz4KWd<6;sX+k^-kCNNCgWTEo?{VXnzh;A`nm5N(84%*hfax-GNt@LnHf#FG!lWA_b z2U2=co-dc1^1@@b4eRrDRsTxZ7H^b$vz>W|@=~{p>;*zTjB|oc3TrV*m-)+^+h%cu zY~VO^lh051wZmyW@l%5H6FlQIm!&#fSSZQ-;rvpg$nC;1K}-&k>|4W+T=Gy>SMBqB zIg4S_?n5aXRJc4;r*=L_m{aohwO_logvz=HR#MsiA_~T!%bc$@*aZaH8#ew*nsh55 z_kha$m|vIk*7IC!XkPfjLZsv5=1iM;_qH_jIthPDX8Hbg`Qd|~o`#+(JFil<)crFKVZk{;HATIb!b;6DqnUBY^L=E5FJHTWmX1Tm6wL>zv`JnXXE>DH~ zodPwB7ufc1Wl%b?`S?E72j7$?L>@n3anRQAsHcok$2qUZs~%iPuSiLiRH!{*zm_c_ zF(g2l(c?|!st>jocBCfoIPl2Si`!pXyXRik)5+V<7zflYvNu?hkjJdv*VG_!iCKNp z#%b^TDvmGpSfGAlxy{F;u5*_(uo)FMUR$!YX93sog7*{8M&01dO|&*T6YzLmaaeL` zt3}L)mjSbjJc^!dkT@=CV&HKqc3T4*``XY08xtNm`82c4;h()WqFVUb^JP|7xixNB zewwl^Lb#_u>kqHRj7fHZud1##+GI@oq-8Z{J2TTv?MnYo$BwJ;w49Hck=T%SKt66t zlRHa}W$c|M1CIr5Ys?f?#7>Kz7E8Kc(f>Tu$KkHz4dIE+XJclcQON1+<6rOpafMp& zp3`#vr(a+Hu>6AaXZ5Ma9KMP=PdU(@FE^LnG*w^BJNaA3&AJ@kJI_`&2+k>Bv{&D% za6^4(+TWYDJ8XFk)sq_>ZE7E7>Y1xWy1lb|@!I!uXsn|4ZskS&yT2~rl<;8CyQxyP zTqkAY9gdghvO)zHv8j|EIG*S=JLaA9#CfjHQYq$KENsTp;@>@AtD`+F^wWpsZ3%^* zWlR1Xtc$&SZ6?p`*$K5b|1n+((&>6}Ql@qKv!IISteMJ{v7M3q>O56X0&R>KUY!ed zl-YPvq+?!Cior>n$1gM(9W;*c2=EvGyt0DN+=X3v&XpjQ^;?eI_-65QRR%+&hfLnv zi9z$W30y8X+UfeVzNIskvLbI;5|*-~R`5`MTRb?(}MIciZ-Jn%K*Dhg<$D&I;Kc@!0wM>gV(W?}hJG zWFOu9ipj_L_M5}=r_2f8n^9-KWpA(j)@5Ddb@TT~tloOc=VkD_%d7S-ePdqGxpql- z@ZAW(pia*(kMB+Hc-MZ>gF|WBvNMUUB7td)t|CECrOLQ87WD;wW)%r^Sa+yPV|kjw zq6rhUESKF{(m2oV#iBFe8@?4-tVo%qDsN{mwYs=gl6l(6$IX#ZQ(xUymdvaBcuYmT zf2mlCSCrUS?G26r53Z$LpU&vUAt}SRbyjJ2gesGF@16e)b&K|1yX4BXgoVBJrPnR) z6yNgI=LDN`bL6M9t+Lx(veCemL4KFVi|T8och7j--g9}9ZH4H3yHx@SeueXQ-)h*U za;-G7%xKM$Z5C&Xwj0NJ{C=kmRE)T<+r(%(Z`YiDiO*+ElzwhiR62; zdsWup)|w;vpKT5|R7kG!I^b$JjrBxl@$R{6&uNLJm1!C9JO8_?T=(wb6DN41 zv*g0nIk(Iyvc9~1VG^U; zc`a3!w*35Q;_2{?9XPI$ad64_|Zv_Xt?rDPXlQR?bgX zE&RJ&4aEvMJKmjwL(y`8>^e33`54 zpL}edn&1)WKwv(teE85FSwkcYTi_x zVoAgPAA)vM7~Iz8a&<~yl=UhUI%-E!nB_<@;Dt>AA!se7xpLrpUas zBdQKE6aTE#?fZMM$oAE}vm0B#eObU^B(BhVQ^M}b(~wdg5jnfySzVD~rurHT>*J?f zI=1Gcgx}dqMrYtpbly%L+u~jPEr@dy6^L{9JKFCLv``NJ6Xn)1RG^ zXKhoCpW}Fbec`hHJvG4{L4yw?o*DK#yHmsbB=b$%Y_IU`?zGv~Q>^e{!g z`_9y$>UzHZu*vC3dpMPK`*-Bl{6#4XtCvL!=oaBkLx@w zS41*D{=InHn-s39oS6pfEP)&LvY$3yc3+p1XTRZb=fFj~J!;l5*?zMxRvGuOxq2 zDazP$qUCpbk5sRdYmbKdvdpO1GeuT?hZ>}n--O<|>&LKMlI{IH86kTsx1YNI87i9$ zPbW=I$y?ZP@-d6tRU^hr{deo$Pwq*WmBcLdbb8yPe(mgB2A&ehN7Gfqv!6_;uwCWQ z+tT|zMpV7Q&+_ZSB|Hz?ABq$xqaI17=(c z-et!rUy(HVvAM~G6dwG^@ zJx__{@@nCtN*@nTzlz8ACNV$LI4yYK!M7E;*X_;TJo$6y>+&_J@s+lgaaB@T-=tEW z*)5(|-F#`WUf`khNfvTjHpIMBDZD)TAWw}1G)e4&k4Oyf}or|`6t#NF)gzOP*S^v)_DALDbp z42rUDwXBAblNmeC8E}X&8c#Trl2lc4+^b_l8Izd>`?JTAOZA^FQg~xfUb-y*XG0wS z#s!=g82Bz8{JL!Ok(sAT|GjwatM$6aklo(ktm%!FJnXVZ8EkK8@GRIMe@OGfu@He( zhs%>PccdH>N%+n-Q{=Lni@rMhk6I0;n}t2ea>o``PZTiBdAcL~yvWZaEz#{&!dNV1g8ROvt8&+4zde5sC4EQ4+n zd$8~4P`0C!)n)p#So0PK*=tm0896+D8GKak3d@S;>qVu`M6_`j-kGQQ%#Sg!=kZ>r zE6F#FKg)4_x$U7gx!`_Z)uTou(OYYb_)V@Q99~y=S>$~Q%UKPJI}JQ#>y`d)IpX_) zIecDrzs{;@;S>E;_!!m)cRfE7q~iCVL9a?MF7|i&QQ^AtRU1C18FOdWm#pBhDZIYa z>bH zF!Oh4#`mbj-m-URdt5uQyddCa@Q(is%JG}(rd_9_I}v>@Okr}aJ#7=?mde%`B+eP zN`=o;`I+@zF!NJPX>Qoi4l?ryAw+fESm#=)ZpLd^V-KBb2JF$u?f6gD?k3#QGZCR0Q$igF9 z+&^XhuDYq;^8X0=e_MVv@6ok=k~MB0dCXa2PL{J?xo%l@x3NdA@XE&nXIXXo=h~-f zN7hN!-JezbW1ZQCe$OisufCfb&7bKls`6`6*@LR^H`~_#_WC3G;oHP)+jsk)>rXIW zJ9+V2iN`%3kJfqqyE$2U{;lAc=7Uk*Sy5A_UtCh~a^kzsvODAEHT3)n4}b8V;YR+q zD<5mZqBgx~x^idTv!>_4B`NXWChx!0VE5_c^*^~O&b_rALC zb=rsQbm|Yr?n!<0dvfxJYZ+T!v$f19)wrDP`JaK&^n8W!KTgfx4nGcF-KSU+*mUmf z49hJ|0s#vD88W`xwe8)1K>mZLf8#v9%Wp3qF^GHBvcSme`oUvwz8;X*WtlHg(f@7! z-vxDguX?Ksi`Ts3+qA{+bTjlGM)Tq~vT%qfmdoig1w)^na#*S*bkz^eHC40`_a`-8#8_t$i;) z_Smu_P)Nb0T3p)yVbDpNe2%Rmjd*Iu0Pw5`BGxL7D^-qXm2~yBmb)e_#%UNO4$p(j3L3G_|nXrC5CRcY;No?gTz8CS-!q} z>2sX}h`h?OzK@H9cvgh3WzJ7~76TP>l z_&)>d;Sa}VK9av_b?d^;VAH=lr{(Ts40!NP_Sf^SYzI5Ozn%3D7Tgp1JI_wT`>}sV z;HJ#WnYVQwZS6Sq@Fe?F<~dVOSgzkwWBi|ib^70_rj6gudIuY{^+stdZM`u0rpKGw z)erk`9RJ4kA^a`#N4d)fuUCEYPUc-$nH<8Y?7?s=bnii%>hLR3&;JM{KfLKZGk2eA zmf#ts8>^V!I^UK_zrEMrG3xo|SN0#m`EPQa_x*Qc`tdOBJ(_(tIVT>gW{q?BZmWHI zPyK%e)_XrJ7iAk|R>@5+U*VqP6m8nm73AFW+~Vc0@X4>|e{j&3bj>x`{NuQca_=T- z|0&BCN<6ncSI_lsAM<~PgY0#JKMejeWc>;FSo&^#`2-fR%S#NHtXDl&|7dYO>z1{k zwv2mM{ey?|1=jw!WD?(YKV2@8LvP(i{f!S2n!lc{2!HGOpMf>{$NP`hZkcS{Hrs1! zYv__*MWI&qKF-Isf3v@IAO6qq!E63a=fm%2O+DU{oA3Sjt#Uw*$0_R^TSw7H@!Ra* zlzxal^y_VV`yTs;uT3|bJ&IV+X287O-Z**k%h(^Km4XXDEI-u$L*xA0$qyw|XCK&n z*MnPB|L?3=mAsjE`=qb!j@JL7#sBv7XSK!4)?63%TH_NoX~L1JRomk)?RWjpkTCyd z_JgC_4=-Gw9mjq7j&T1b?toKE=I=dU6TbKK2k{4&7dSrPRauzakRu{syFpv)KZ8I< zoqOhgh7aNQZzuayDqa8bI$uS0+1=?v=i5KJ&w=L+WYPDIU(H?;O`LAN|kp!SDUe&Brvp zO}FRy^1FPR|2?DVCfVvaf(^B=XTIUQ@yF-y+$IZ+#j}k{z!iCT4L?nFSk?N4b>PF3mbn;j``2< z=J{`>KO%o;h5h(r`=KXnyLeyoIgV8)R@nt`^~|fc`tsYgXR?5TSyTUW>p8z3uMIDmWogt<_&T`q>7muh@-e}pU*)(~6`!=J?#her?c&hBQyf^i z!2aIB^KwlSpMEx!NZOfac;$jo<)VniET8;Uny<~?v8g5SnC6EWH$)4n3j2=Dn4P3( zsq%5M!}=A9ss4Iy%!LmwI7)mvklgoN}Gd-D5y|NG)u zC7Uc~_MZcf?gJaOQD~NvXZRtI*%+;&Ypi4IFRXe6(NK9#!^x z+dp6C<8dzrwqwfNJ^C^iBJ>3KY&~E4#O_O!nY#4A?F(PuJFs-c@T5z;(qySM`&4*- zug3xbtN!Ud-Q8MqiGnBCpPle}Qr zX6?jwzdJ$g+TZ#8-*c(N9Nxjdd@F;p!SNG!cuFl67A&cp!SYy#uh_@oOk`xm$@6=4 zf>;!zx5sHPMO;o$`S?n6Q%}vxUza4E`*n8)UpD!8s;SoM0<(01f@hQQr(c(B9)^a@ zTh9H~|16gMBUYV?^i%{nQsYI4uzg#qm=Eno4QFibqg;vjcb zCxMTdXWq_bR=o!uWi8~UOgMJX-PS6tX@cF?*+tu#Cgq%$&H&lpT$_TUsGXz6r+%rqwk8NmCx@@@7(Elyg*A(rE6&f)4jPX+_V)B*nC|ecBHSB zox4A(k5h%S)2Qf9;iY*VDV8$HmuB_eV5(T)WWoK}sAoO%{ByIP8613jYhIW^dGaKC zuguuP%v}z)YR+QC*Vp;FKU*#2Ak*lnCK}Q>c}~f4&7W=#5?@w6WwK03THI6i`oywz z$E~N#`Tj@qlKgZnzT!alEqdHCeZD3v7v4r(b)KUx-)p<%u^}Iy)vu61rH{?Wms<9; zYYAu^7b$8z?x}gR@%lVpr_B$~RQ%jH`KSlq;jQf!&lXRYv`Mx-u#9=iF+ZmU|0tn4C~&d(>cG zgucYP%*MzYy*E$3bPzUq(AYRDvxe#7G43Fi1jF632V`HIWS5`Iyy2@{QhSQBLJHqi znZ`-E5BvDN3UV8MZO;j=FnqkPKw5-j>OE73Q%AO0F5_1M#LxK z_t<*PV!E>E#DZA zrS{n*FOSn&e(O@EH23BGKdwx+P|&}dJg4~D>ZvX|r|*2?d~B)^-Mg84+l8{mCinWK z&dOFN7%iXA30^xt>rH`y^{?Pfn|OZpdoeVBFK0g+Ji*_lbmiiRJ!_9P*g6~y`_B;m zNq?>M)B772A9|25@81z{$~Dji7xL+UnlY@ zgOT&alD~x>t1cejZM`qgQE7%S@0k|9%0HPGJNn-@-f?I6l)>b?@wh}Ddji8tzZm)1 zg@?YdUs^QnmB4NJe2WK{rk!J|`tn7DQF&uvgQcye@?^oci5DJsMJk^RoM5!`_|ov* z#*Shyjul_1`utCX(fWM8oRSmsJP)QB$J7+2N$=`EHIpGyK&F1OOI@(xX{L~*2DO;C z*8UeRNM3*Hz##kCCH2&dC$IYsi;DDacz5veQU;A3vpktS8be#P?I-P?@VP5Jd0tbbp67|^Q)XUTX0p%%<7Y2Joxgx(;XG{i9Z9Fqbx(7cvaXu;hQ(r zM8_;y*=}ppgP$$N29KxSKKP&E^`*++1`H=}fBM|Tu;X9U!#OerkJ-D{ojv~U_K%$_ z5sY3%$MB?#D4Lv7jy^ zd*RnXM?7^TdYW&PElriS%PBq~H^tUrm7K>F8KL54uXD=mXQe$J2nVS+s@yx{SCuv^ z`Lj{;+Ng2{A)aKLs-QQgM2{I?W?!&ui`L3%%*zaY`a+XVD$U_Zo)gUYLGN;N|CHnj zRhRZW*J4yjUcS`e&#RF6M}kylD0;rV*T6sDlG#2uNK-ri$?geWpB%rfxaJai$K7v1 z@a&wf6)Nh=s{;#^`%m8xWxp%&eaTey&*Dix6l6|d~&rdGD+RqLg zkCK*hJ*}(A8 zFiftQI7PYny2*rPRz2zaxAO1#*w|CL;_aThOH&i)9_d{yA;OquaIhn9#-piAg4OQy zOgzT#=w*Cp`@=phLxzmb&Jzg+d{&PdUM<#&41XU6^>|o* zUErS>JXNtn;md&qUR|wBeYKi>rv(|fLb~T3ws?~vR29jr7O?GX15bMSy%kHh3$d!R zq+1tzmo1jJE>)Jf%<@pUK;?H*V~Og7sm*7O%i6_NuDHN^@Du;Gds!xP=FD{Du)cI$ zA&qz5UJXIT8#@v#ZCAcI6k^zC%jDzoOetwDj~^q)wR4F;*V&O|(C>C;TJ_EVB|53-W- zxqZBUbB_>P?aKw6Q>HS;G*9gL?BdS5W5de>E0qjS?4IfN@Y3uJW@YO*WLYEFXK)!>Ho^Ts(BlwJQm=1ITuW$6te)5*);HC!_0oiVfG z%admff)3@1CmH$*|E%mOxP8AtyuT{;A&0etsOW8-E@NRCGdHUX-mxxBp3{pCIk0^2 z&vM%m1d$3RTaJ|Z)M6l{PeC`;N}B|3%%2OZ#-$dZSq-Ss>I~0Ro_L0ShjF& zTxn@xI^%lL$%Nz5)*l-K{nCzIepO(r85+>DdtNg`soWQv=hjIv-)u@2ELvQ7TF8Ft z37MWx^~dJt7JRbWct=E&RnqXRck|A=)I)NPZ@;XV(R7#N;42Nm0;lZ~$3M(}_tAI8 zCjGlC&3*1s?dK{&OtRuF*lkz7_;mL7vKUqy0Sl8^5*ujvt4G`vWwioW;)>xZNoZU8h!1oo~r7nEm(_>*)P@D?zBv&z=|v8goE|BUzZpAFiv}U;WA^QOF{DF1~eR)uRs~uT*D4I&=T9weczOAy{|s%V-7XeSgk8clRyOgo z@Nh9y+?2`HUT-0J-ZAvf+{0yT{KY{>i+S4HPQKB+q-8bvSVmM&D_8%F6%r?&%~A3! zlH758sa*Ul2kk4#63g}}`Y|&16#5;i7W6+Q((z#Gf#X>Y@u$`El@}~Ovq`DFbHYk{ zv#KtSRHIxQ(d3h76+5~Q@^PN}I8V#9!|lMTc~!q=wK=_d^We{d4~A#$?tb6+c)g!h z0Ly2g0H)>(jDd=OKc=cn7xpAAne;Howy(hYGE3gXH7C_W4#r$yWC_=APjZ^zrnx>( zxo4db=X3St8&)dKOzyVeI%St&d3>)zg7_{!f;tEA+9TR`E@kYX=&2B*aZ76V4Ia-gVq|BBQq6~cYJw# zYvFdjCk<9|jb05Q>myLeX)hoWOZnZe(VViZ*P^*=t$nwz~NvD=O497UtmxfQ(^PW42X|5Zq zG^66SV6hJ&6Wm!YsiXz&Ghxq{`!aD&L&wMYVSluOWR=;>kJ)`#z;SqXne{RDkHSGt zyEp6kS@l(MC6-RDuQ;{Cw%Db~NzCE~-ydBD*KeiM9>x^*GmRXl_&ZsV-sw?~U8hHctJmd3T zSxc(DCr-X_rQvI*%h4$tWUrS;ZQQej{q(U%hW&?Dznvhvu&Qt0{8q!Ij5ce;EDrvx z`p@un1>=XAQ`)A*-YGIL42sbfWn?&cT<*%WCn>T!Enm7Eex504`Plw%7Hg5Fn%RRj zS=eVV+Zb-c;(=&o`U;7W@jHcRg7~A#hUojYo}>?r82jW?NLb;+pQ6 zlNZ(pxoN&GIJGc>se)zNGT&mIE+zqgH_5jSe4R}$HaBkMzV+T_6mfh?OhTfKYl)}8mvcQv=k2-#}BW7+3%DGWobWs{Pd3epBs#iG7E9s@KROgztenesqcmfo7mE1Citr@{2X_4s(nKbE3O}C!+a#NE>)kZhhzpmr+c)JT&oZ~pwbE(q=MTzz z)kJTIPOlS}`TE+C`5V)k#dAs}R^0Q$TPy0(H-gmZ?rf=b^S zEq}%28xK8iRY<(3&5%|I`publV7phgTUyU_>kUPGR>4kLkJj|=STy(M^Ld#O-5Fla z2bAXo@@Smhu97VCZ1##{5%YC79eFV4%O9<|C$zhrrky%>ME;TbwUzhRoG94vPJQJU z(Q+egR;RsnN&Z=@*Te|S%gJC=(O@W3o6NL`_3oyJeX#|6_x9bpBCo4x_^`V~p>*kI zXJ!e>)Z>>H@m?`BE13zZVzRtuixU8Ad6JHzJ5_hq^Z9i)4b zE!CI0T7)GmJ@L~s!M@{)iFIU*bJ=!HnUnL}PZ?A_TC%k|pk~Ln={6f!>b6`-6&fT*e?FTK+rOhE|4ysSm7?e~UQ;JC+gv)BweFb{+nXYXV_A_w z7Ux13&q>HVYuK&OUgqbSu(o;P@k{e{{F=|y2=3-`&uabmP1Jz%X|W%#8kg89zUIA( zC33&-u(dKz?EPs!{nC6BV{ftZ=4l@f{@bE*&xJ3rJWu99@qra@^=4I+djD*%x-%S;Eb!a{jysW;}EVM^M%kr3E^QBd{U8VP|GB`MU!r`Sxk_#q# zb?{hM6>&X~+Mj52e4BMc?7=6k7QezuI3~UA3o7fIvHHVim97;Y$8E|_tX1$VWxP9W z%G^6ja$l2fxOE8LxA^xxYI)HcHAWFJ3GO%iRU1#(7KA+bd~J*BqSLwDJLbq4_I)`z zGwn`lazmw#)n6^kxxZy57%{Av^t5NKV9&e6-ST%uF6t-$zwno9&qt|Sx3xH>>*|vD zjAKHVcPQ`tcxU^2F;2hq+cse4Kc` z?%&sIQzxD*>yP^ofAl=(kMiKe@@2EP2T$)(Zti~_w{uxd?hn<%6unY;&a8e#$GyqE zzx^+7tvUFhH`rIIao7IKHb*6-J6}#RK3cXbyeBtzJyXPOi{6I2TWVkJ3;ZnaR#E=Q z{?O{%iHQsK)~6la@Nu(f@Q?ott)k)J33_|`o7r}*K^HI9Vr z8_#<3G8KC!HW**vn(lk;-JW2Hrc=*e#q=&!ce1oQ))(;1ZpDV{B|8_(#VzP5oWp)j ztHQL}du5chckAT*d$-(0KeM-)&MiJv&hD{q*DQ;tN#V(J8myjtTX)^Sr+Gpz0uRCvTq5iE!PaHh0 zr!DmFi<-7mJM))Wcd^WYnsqOKZ>lb;3VPxkWZRH^tM2VuvpeN^tVZ(U6-kx1ZpjNo z8?V0?@VNP9jNi;kzO~C(Kbm*Ec^mV%GO>TgH<_y^{;)23Y33gA;eC6_T|XbDdok_B zbqW_xbU(B9f6HwwKWFr)9=1tWpb~iZVCwe$5?#l~+csTYub5O9dv@O5x~$sgM=DIV{^p4i+bL1bFopfe`5=$Q6WlkQE@V+Q z^6Rqo4$Il6zODB}Km_08OMAj&KQ5d3v^8?8(9uqnH8a(JhLp|IHQ(5|R&Sm1?H-+; zN|B;=)Bg0`A5%B9Y;oZE!1;Ae^nFo(w!5byg?8!XQ%$rS-AY(bID0XmA^u^-k5ei;>w=HTz+ngJMMN@8&_7$yR$MgFXHLulNO@S zqUJ4LckA4xsJm{;rN4K77d7>*abD@>Q|$9bH+bhi9d7&(}Iu zKT_Dq7dqA97Q5;5Yro!w9G}ioRBmb&o0sl;!kMqIZDrOYE9v*5_wSs2a`Rx%oV>zg zT6@o)+bFwp(!-s$Mmt2$ty^C{bz*dO`ZL*9v)rPm5089ma(rRzb*t^jb*m#6E&Yud zXS7PJnr^kjN$~!(moGz9_GW%J{GOe2E6P;ZWExK{yL#Z_>;Pfji%rt@ zhRGqb%I@u}SKwP!ebu>8d;6J+um7e@zU$VI*uUbyYwsyr-dSw&h>V@_)-q<^RFO@c z;ROW_$};~MtkxHn95i=5sJ`oC!100!Vm8Gm6-rl0DxZ5j=`i;nh4NMBOCJ7Ee6t>(p`GF7sx+Xm|bWq-T!Z^*}KHKt9!0^s(9QrVtC;jK4bSr!+q8%U)a_s zN$+^5|DLP)`ido$L8ABm&3)Oh_)|o>{2}Wr;gtz4E>G&*R&s>Qvz~7DiAjQ|dDEP_ zaIQB6?onNq$IeXUZk|`UY_+81jK?x1Z$ns?7tOuB!KkV$f0jYbna96xJesYu(N*HN zTZC}K{!5Fd+FT2BVRZMo*5LJK=M9dR7lM_X!cTwNuy{eTi{QTZhMhmF-hNr6Ilb;1 z4|9S>eiXw@k$lPI;}YsU!Oce=JnpID`(o7|@M6aCm=NvfoZoU7jlXZ6+_gk)ola4X z;+#)xd{)6rZx)zMJX~F}B9HSP-`fSH2VZ;jrS#~1+RLGRZ}ttH;~w&57Z!6_m_`M> zS70n`oUnLV){*r}3k!a4eo=MB?DER~>d8G-=^`h#w)0zPls#sC7JU2TqK7dnZVPDl z?Oc(!^u8FU*4aakf3*J;ajz=U{ZJu!@P!7GqsA=`cIH*{t};#iY}Tg0?^UyLNAHsM z$?so!TzK1G9#qxnz$^{lx zn=8ZRt%QSUn}_{WSLHVk(pA22dzw5A@HnC&ang20OPkDU=Hri@Mb{j7-)p?J-=tf) zQ^>J_@x*zb;M0rEEL8XoO$vT`e9vRchqW3zozCi)9k&Tqo@NqMv%#oxh4LiN0Oo`C z70j2GIEj2Pe&?&8I?3Xm(%PRvuFCmZ2NFFQ-o1Vw=oh*9)0cB@nJb@7yXSsFy!o|* zaLxLI%F6rhed$}}c8TE)uc5aYx4zw%;}a+4YoESxwliLK6hS$!T;WW1}XO)w~w8(-;=>~u*4%^PV;?c+m&rDswdeSn40h3 zn=8HT;4wEgSGP-*6Q>%q+U~K$Hy*ro+j(S>ISEG?*jYSERyd{6i;V(vfa|wl_S1t#(xIkm%cNMg*Sda z#<-06fzi4m1INd9Q?)B47^8XaZ1Z0l-t@rDYvLq-dws9SWkUMXs)S!Vnq8P1va0!@ z`pUCBCq(#+=lQzm$viBos#$Dub3Th^+@prAUsWclT1PM(?6-XDdd2w^lg2^I$Mdh> znsx3>lgq@i<^%711$J5=)>oIb+rs2^c#&&|MyllTm`}AYc_zL)XDMs3Jg;D0@^&`~ zrnxG~8OrOIGH;X#Qi#9ncy)ujPxX~a>ljl1aF}xRHos?WB z?0+x(UjE!%<%fUPJ6;KtSunwiryy*0sgzZd5l4dKS;jAwu)=L z>dFLFqaBt90y51L-$Ye59%7#Sva46=#?6+TlW)D{9v)t=+~^S-&~)cl@vp#YMx9nJ znbyQ?jXMCNlA@J>WSC+NWyFRnjTHIb)8_jB@x zWhN^^+$Xinn*iPqvmsS z*Lv9_j$Iz7BuZF9E_(0XAQ+OqE`wp#qmX$0tj%R6FHY^LeC7CO<#ayL0}o^#&#G}U zWHfvr^UWrJMd;QMwaCuf+gF~of9vXg{sgn+mt`?#M^Ar$e{II5LmSsboC{~_W|$ss zS=92p{I1H^WefBh;u*?UEake)lq^$XA9q#9Q7KsRxJrtgZwB+TiIX{&GuxZXW?3w8 z4-3;huBRBhH9#nlo45`Pwpe5x;>ctY0ptdVE3L|Je9=@VyF{324XF#fT4qjfk@ zA@_|+YU+XCOX{W?d&*sKd{Q;9ZSkzom~{u=@COFYNStQi_;Zs{$X65og&O6Rjwf#S zP1W*{$;l~sesAHS#;GiiyBvO>;3{nVc`5JEjcL9I8jd_DVc+VuKwBtyp`_(&FN2qz zR*%_V2W|+nc9h{M4!*GZMTF2YvnG2+zhssct-=jY50R?Qu6jII zZS(xP#B`(Tx#ai>`RcM-5)B=!MbURxg**1NSlS5B3EH~tp1_mzo(qONT}RAM8D2=6 zCOM~R{e&vP*MWP4er9d@P*t<##e^2_XOkR`MSNMnK0Sf$+Q9=4%9k(laLC_P%W+O~ zCD)s$%@*=rqJBOH=1lC}`KW<=L*HX|6`neg6YV!|*B2E|{#UW`kjCF1%w>iFGgZa8 zrH_99$u3j>bp_+&y2pDv53USkKIXkbJukCUrp@in&tJc)0={!iOk`B}&rlM;q-@F9 zz}#2p-x6pw=~}`+v$`nc@}trl z=8r8b+4maUS;Hgg_GS)G0Mn|DDM~%Lzn3p%6_)&ByW;L%zpL*j`6oN?so?6pF2eA& z&yvl%l_FuTfg%DCqN=qRrVVlj^woK?8< zk?Hl8=M!gnWF${1RrQd3|JqX~+M)lfy2R^SOL`fYndkip=@CACyRTYctA1gRHB-at zbC#x`_x};;KN9t?^8?ezk{XrIvF=YTEkhJ!p4&Q}trcovlQ*|`BDZ6`*5A!_;<10C ze;8LUJ#efzo7wzES9+z)>h(L8aQvD7x8F|vhx4KNGS@?Y%rw98c(>}3D}T;~?+E^T z_3?-Gm$>_XXwHALeL?0%hk3@Ec4j0--1A7eGlRL$wJzc8Z}z&Y@d7n9CiUzUrbomJ zeol;ud%0cEZH46Y>=VIxpZ{L)X9-_fA^eZyjarev$ho;c_-V4(E#Gy}7iub!G7Gn=}41czs>Z^Pk}$j~&;`Y2Ti` ze&o08%?^H<*<3#E#mC&Acd=En_y1>juzkN!$zS_7v*hM4F#F18Iw_Oe=o`=Ch2Pd& z{by)DQFnQ}RdH5PR@lWg)052muIVl^yutJ2x#+iZt^XNVs{T%2J2!vpe+JIzyOxDp zTV_XY{QEGrt^Yp*%l*HTw@5c@)o5&-UDOa1u#R13yTWG&`PtL&e+ZAiWu<*Bd8PC+ zm4}`It;JV<&Dvi2pMkad@8Yf5Dt-6E``9hr6C3B0C@@%szpP#UNBI0V>z$hn<7y-> zr%I}4N3CR#_xC?E)Bca}?r%N_Do`HRGR2l-i6`hP^1e_I{BLQnCU z$}R(kdpZ4rE*yT0c1!9)%U=KEdj31$eA@5Q*D4lT4{o-p+Utd(XX?=udOr|r%MM8wu!_;YyrKd#7+ z-;ZAF%q)L2bCI_EbeV12-f_e{ZqR0Z^mpSvi!1^2W|RL6;#u2Xlyj_5{4P}d>!tH~emwX2Xy0Dy-L3sYO)h-mr=}$h zA-{UUU)28*Uw$k~Z(;J%=P|P5y8G8l~Bf+mEGg+;!QC4Y-6ft&{@vdvxvlrf*37RDS~*TSI4Zw9!2WUl zZH}3GLcD#Fv+nwzs5l@Yf2u*LUob7;dGUj(%})yo8Y z$~|yErgQypZqEj@%{dJidQj z(p|0gC|Z5{R@;bOjaw4>p3h?DD_Cs0?2w41f0J&U2U?hI{$}wTSlCPmdHgzvwc`HwF2}cB#csi~ zII-?gpTl{tnMNTdH(peQRLZ4Y(#TWQne#yA`Bv>L=EH4n?UmpveeSKBEYB|&{c644f~ByB-|Of5 ze_WlJ*=y>K?o-LUx+Gg8%whQg)dM_+mnH3|GSpQ6XJDCEvgPmc+=;SBx)+>zIO9)m z?_!Iu>#xjI?0YGeQQ;;j_lN7xwEqlEz7?h!UIUu!Di$;Pa1=q-z#Se(wA5a#qNUJO<{=mdZ>^6P7c} z8%mzb&Un$Y#3?bn;Jlneo`dO!?QhpVx}5#-Kt)2FBg->`iSKe&yWKzhruzCljs`n9 zw}1m}+F#b6@4vO{m~Qmrf9vZDrDiJZ>CJsy%5EuB-z(?6s1#CULF5tTZQb@qym*l<&6MGuJYdPZO=~>OXBG z;286%FnEn?$mZg{1;Mi0^zQJa@L65h;<(`$znX;H;mKaBBH2C}-_1BbV~6&I!sbiU z)DC}G-rP{=lU*qD#`oRK69<`p27hBcoFLb}-cMtK93LOY%h$d>EjO>QJyvVHGwse> z$=7EU^VN$_9h@?8%fwT^3tdzc6(;yQxq2)R-WmSd!CFCR?###iS$%GILfh)5tT{Yk ziBw9F+L^b9pYy(SR9dO>mU;5EIqlgjaXX$(FmPp<{B`;2g2MAFk208LsxV74>o5Pb zjQ#QRxQah7Up>9g70%qoav|BecwY0u1#GK%{v4Kg8I+{S7iM5&9D4su@0FIjCr-$& zI^D`BV6oHK-UJ+mT}P zd|sA?UYwK9#Hr6^y81NEm9svY&u!+(**LHFUW1NypJ2O6p|7N$Q_nZa6`fj-CGQ?T zJ!`i5>hf<(3nZTzZHR41U&pKW_T)}}x#Omi;h7Z=3(r+udiS4UT0*f8o6m!WwR0x- zf9~onU$R7j(c_rytAukaKPODkyvWLZ;N;gO%;6QmCq*XjY2eZGJZfDuDde$8$H5K` ztNLC8nZpXn>+VM-PT;@WJU@=rVoBE>zD2XHE$5Q8lKD_6!l2U58Z5#7Y#}GR#oK%H z4ktXVu;t6_x?M5JN9+3ncH!+k{pXsuIc~O;d=eaI6g`2@U2V>8XI7cQv(gM^0;xNg z*BV7Ma2H6o%WA$6R8jPMYO(OtjI!n)o`kX`TbMLv-hYzHEGvC&X~Kg=U!*rUK3o0v z$+CLoAf47@;y>K@G8^9HT2Co(SL+OspEB{pOHYychC%yI75f?f+!>N!oi5Ul(R1p53o)Mg3=&Y56gH&uE!bMw#3 zMxN($0$ArP+V(!LV%dp{ea21hr;M*$$qD5+XZd@l?JM8r#eD7iv)C`lvRT+a_R(Nw z+Ux#l;jt7MhTGL#_0tv>9hPh1VqS35QQ0PGG0TGojeeDzmU_G>ytKe|&WZBm%oprY z%t<*Y{L)wT$46;I0)hN(~kdxY|6D%7qlIr}un$ z*7)XRQtYbRRm_(!EuNGnuV*~@iZX`-gjXuGl942afx(@716D>7DYYM~lOAPqEv#`krK-=-QB_(Pgmo>c3G=E0g46cLXcK6z* z+Rx)a)t6GHMv}#DttRu9la^T zQ+VeB%ez&3E4~~xFq5`?ekE8c!AN`(tLo;41%g|W8y$ocVvn3Wzbs>_-`STJCQi0Fv`K;8#^Ez%EeBJ-jZ97w{ za{d{^*S`1X&rUqfz@>b6`EtqQUzQn!svNr??DUB#Sc~QE_Id14F0m_^{%w^^`7~A1 zpIza?elv*z_x)K8UNM3_$$gb83Rqf~NCY?Rkma@9^dmJ$M9x+D%*ul?AAbg@Z@4)* zOG0FAZADKQs4dLYUa6Z9khN=sTEYAJh!F+kI z{+{ z@~Fagr*+SaSdzEv7;c~QpP|*~hyT<9TVI34TlUB#e3v}2QdPQms?C?jT}v0~q-5(e z`59Q3FAQ+I>A!NJ*D__>V~$JvpFS?LeB33#vPp^0-QvWvj>USfym?#7mwQS~J$6l5 z{?v>UvmM{KvD$8Dwh1ul$7Q5i2PmlZJCg4-vi@$QyI+EGp?xd zF|IV+$=tVi!>aE(AEpLa^|7yw*nVF`D<);)0TV`+ofDXrH{O~l7p`@sX zz8%~1)#kC?mkr0Ctz_Qx$(O;ccgvf82L7x$2HewR`W{@d=1FJu{PJkt#YTYu%LQzY zD{l7j6`r+F^f=(a@WMcIWy=FTcc%4`!d7(BFD>wk_%+&N)DU-XPC~eE^%N1XWf-3-rrvP?md^eB3H9sj*Dl#jGX4} zDY==3lP|nIAaZ@?RD&)y%LS~h4RPU;wksoydYF&dcdvD2HtA3ioO^uLZeD~Wm3K_;A9N`EVsC! z*yl4t?gF06XEGQx%H|aJeU<2cDsNZ&_XXqqG$FlbPDXxqSrbgOShU~%xa215v|K*; zUhCGM-RbKCUt}=8=CYTRJgW4S@wnu%YOaVU8H=?JzxI}1-BYrnx>5AZnl4F^Z5mtW zoN4S5oOf(esJ1|8_X1nn%%nbxx<|RPCl^*S+HBZ#bjq=6p3-IB6B_vV>ok2&hTYyF zBlmo(+cVG8c?pa!iq9%YdCxe}-DIiz_RF%`rPH6@oIIyi(`jPwjXUfy3|Z;{{6)2{ zK^yoh#hi*P-)SkSN=PWndWyWR+0v#|R6Ng`-#N(h1_S?>RZRBgS#NV1{W&FnZ)|St zJrc~J(sLw)ul?GRFa^FV3`e#XEp01cuUj-rA*JByCXTn4mMP9=w>Zv_+|}kXbwjgO zRhtOIjl28u4IVsslHAp%=|AI0WAk@Et$OuBB?pVw^B&DgZZTSuuE4_+z~u36Y5X?h zd52neBymWv@D*g{i7D;3VBjk}>%66j;qe`r3oH|N%znzO$gxsoYCzH6RZ7Q{xBr>t ztdT#(T;Tyz2IHm#4;lB*f+vr9MAmGaGtIVR$>a=%O-1aE$Fla%;k>;87y^4fdkbwYy36>yD|BY=v9qhMOyGR)AoS3I_ewHz=89VnoHdL7 zupVG%n#prkxh$xXv3{vhi0_j*DPPYrC8*w4pL?hF0Xy4T@^OisI;jG-y5%X+jG z%4F+*UCp`}sVFG1t!MsP2F29Q?>g<-^_*|NEH`=3yVOGB_F0$YiL>YJ?e*H2-(q;| zfhGG^2IIF{z0;0yKJIDsSTB97oIyg4&Fa!op~re|)iPIfFWVFt@M#`ldX~QZ*ohfW zzQ!Hi>&?8TVf9AYUymCD9*9a#-lyfTXGQ)V{+N$pEN7hc*eq8anGs*$Goe~)(*liq z;>xzK_MEo6({bQ5PZ#?pd5K7iR7>{$tZJPJ{u^9B&6D_bCG2s|?b$N(TD~klYrq$r z_$`ZV?vWWgxFnti^e(p5yjSJju;9z{IsZh%!Y1||DDXIud?9$D;UQ+d^7P5`wupG! zWR-~~&M6VOC|z*!Tx}*Zr`yd%Cyw#k1pm9#sXk@Jk>r^YkDBz{pUaicVYvHZ7e|jC z%WQ_1!3O>53Vn0M*E*IO33VA5zdgAimgRHggmW>u%6*1iN|BP~TF);RzJBj5rP;Gu zu&2c2#^Y4g!cWbu#|s_aFVypHl>V@M#gbCS!>l%XmTL34j1xAzbUv*1HUFV@lZISJ zNNKN!`o7|MQ7x$-14Zan_fslo2eeLcgi?Fv`AUbxLZXXPwBcz?5{a^X=1 zi~LlUb+(mD10LzFdGP0WzO0s{9*d5ESkhfK%^#}URtrQ{rSD}>ZaSXyXHG$(e?(92 z{xakHmoIlYEeuy}Jn{ahWkU&{Rr9>P84Ni&Dsvw14WDybMzXj3Npn;6)mEQ%es=GF z9#y-0D%d7@o(AK#>&_>5Id}>uPP{kwsZN*qiu1uoO;)>c9q+SB_~>g_==(4I%-vcI zVbzM$va3%pH)!qi+@&+I)$-*l&6@AGH@W@nmlQeDmZ@r_&$05#SGGp8h+UJbI{vc9 zA6n3}?rVXBsNB}1;HQT=?iLsx_iB9H7_6-*d+uFk_k|Lkb;Ui&Yi(0b&-j+`oMGNq zsTBQFmPaMk6vA}RS)8xhxV)(3@1Yhx|8-fK95qk-x3SvJHOtN0%j(W{QpR|a!^^EZ zmVA?U+U*kgjpe8H{=E^7`CJ?mKh^K4sx|bR8tZs~b@qI(H8uwxoG|kEy`<1bY{}8k zMji%<2Yp-4xTt)Nyy?bfxjbKsX?EPR|Ep-`G=a zo}4m8{0^G`f=o{SKF46M@#4yR4XvNK=daJ2pqy#$5@tW;yWN)88P_g)vFq-s*?VAd zR`VtS#`levW;I^k z?3^#kTN!Mf-txE=-+64Yv_nfVXrcRpmrl9zrEUdmwJZAqR@`Z5^k6?KldLPP5j@F% zuk$m`+uyS)ULW@g%$QtryYF)Ugu=;TXR^2OE|~ZD+6;juYxy;M=A<(%oO!R3P?m->G;WU*l2*>L>l zQJ0H4Pj=f~lsNhP=f#b>Q_W^C5STmL;RL(o%5r_V^xy-}mPbc~{<(Urux~5t`FB_4 zPwSqykhOiGG0VWbcR`c5`YiXtXZojhC^M_i^6)lJ&Xg(t6+BZV$X`OXKiTbo=hGz) zhK{?h^hf1PGUqbfA|v?1(5v;a!)6Uh*`0q}-9pb>emj=Ic(Iko>;(I=Ow}EI6+IU3 zyApry3%K*BJKKA`<@}&Zm=!)V zu*uHm_!%y-ymFsQbzXz+$p>ZUzbto{9oS{YX22->lH25GOM}}Ta|`=cu4_!kZwVY( zx0vB$!0Bw32gaMWxjXGCS$>wQgURiH?0jwc=b;l*x;r|azn3XpTAzQdFubtqgrg{>;y}N(gW`Ume>_*Ki#JJ)8QQB zB29lbKeqzQvr$5_J3?L*d5W-pku=$O^!M5y>dQEuO@8YycH@MKap8HUMHL5U?l0kd zQ{A7HQ(U_!Eu{320M}Q`1;TnZt2`1~n!k5E7L9paz|p+YHuKZEE3AA4R{T*OjmdjG zERH!oYTTynKK1Y8a)!T|Ni!cO<{e4+dw=@!wN{==75lF?PBN;S(sknObHkX&pBI#0 ziEK{DWsv#4!mP4~{ZwJ^q2-ZMiJ$Cjz2-ccp``V&^PIo>wHCuOD}u~U>z|#IKB?AX z`MHxy4ejsd@l}fSn&cX|g(_CsTy{SCZ;2?6JHy2b9C!aS>{{}8sphmN7ToF*FDjRD zJaOgL465IIY5v?DJbWB47PT<@G`3GS{Mlh4a?zrdWi_X)MVjOi9X~FY;vFBVrDmUG zw6E%(w|K__)=b_j87~iH4}dld4Zfb*>3t)sJ(SQ>=F=Lkk=$^^7Q4;d*id<%fpOP%X}b>#HlDLM@3nP9xA8ea_8HvT0@CFQ!ojzXt5h-w_MNf{ zEff?i@{p7~xpMLR)A9<>R(-p`?zDbqrwreW*Di;%KCyYcvby{@|7R8(pW&AkDifwD zOFZw|WU}L^#}b`MY>%58`>y)^yJV?y=Xha2!OWN8Ej=rgEo~d$`|M0{Yzf@IUVZ;w z=R0mGW%mN_J?FA|@@TqX?wN$1a?!*|lK#_`{v7$h_5A16kf|5{%;dObHTlXc2e0=9 zr^HzV+*!V@SRQdo%jMyGmibvVYg`g06jaT*5^!8*()w9kH8-Ry&;MtLYH$|2vb)pk z?>$D5$4X{m1q?w|T+{1MoY=1+xA*wc@Gec&DNhosrOt3Z+3C{KQ#kRYti~+Xn1&xJ zDYKf&xL&R1tdTJ@JoqQe;PS3LOY0IRiR_SIUhr)JH+LSFq@(09h851aseHS=OU}n! z%$Gjb;1latbb9xnkHL3Z?pB)(NEi-thXZ$EHpDu5(X3 z@GE4M%bwlOZ8b#S=v|WYEEk^FV9wOhY!NPT&R%Qwn~6u8RDyR;TK&gV{xsKQ9xwid z7H=K-0~LR}9$90ctlpEnd|$S|*A}w}?{Uj+#~B z%C5gXDd zf#lmJtqR*x!*B2HSC`FF*l*`le5dcKPLi4Lr4tfu*0npAb!Hv^fAROf?AemanIiLd zc(U;CjmuuCZQrHVr}kilUh7WzrDah|kA#`M%Z+~)`n0MzCU)wT=}~LGe-9FR!Wz?O z*mw1Q$~n2@bsv0}wsvIdy?5F?&soiLt*mq8=F89J+|PM4>~@qqTU2&yGv}TaWhHm$qKLb9^Y%%SbXIVku~X}wO1O5~&r2m3=QagJ+st-Y^rJ$dT(^c%u@2RY>DZ#7TYd-KgafsgD5 z|1$_janw{@j3X=|01zvo(3ptX3zx{I%^*tUO&tM1I*A}@EoP-`b! z^jm|4$**^OWq%ph`5<2Sk3!$2XxrkWQbnGUKf9)}Uzhx9H}%ubJ(st>y|}1$=4ICS zJPx_7w_eD}evn(c^zD^D?)d`u|1;<=&Y%5JHnZ1y-o>>)wttJd{_MBH)n(bONzJEu zZmNGV?M}N^c5C|d2k%8}44Zr$Q?;DF{Va}4uYP!*{pG3U&L3rW{Y;s-l|$lBw(#54 zsU>=A*WWOjQ+ev9{an3P zo^)-Wf2AWc$A3+pg?f*5iuF6CMb^$b5Wc*4H&b_MJITSrzuP)D|K2EPwDaZUm)=wO7re6xU!E=4p?FtD_Q(T$ zi{qlx)!Wvr+h3Wy(ye`E$b^K(IQs?lhpJT%o#j4ToOgQer5?t<=B}%IK9+Zy95wrH zcIZOx!wFBGP1lg!xAfs&D`%aeJI;EaoCW^$X-~gW!<@csa=F}&Yrosd*dBja=keov z(59)2`JcBZMeKMI;=L|=)|NvNOEu^5q@;SROep1E@+wz5_sWyW>Q5$4DKHG)y0Xn? z&%smuGv2-1)xfP_wwW&GskzNrd*3WW#H7g=2^nKYHnrA*R-dBgIfWoOSB z_szMgy5MJLYM+{_O7M0C0WC3)g=wFTnafOldujfj+{5NJ53ca*OqOX4nDKCP=!SJh z4&JNRB+P4P->UO!f7)*g`NPL;UvAv8BE*0tea14dY9#FCD{f(n-ewADqm5Xo0e7rB}b>3meOGRnsfMvdzStdv$Dy* zLN08{TUz$uoApND)oqKswN_a7T|HL#@_lIWhTPD{G6pYaMepRhVM=Unxgf7xx`e~WW;B&fcd9J+FNMf3M#?$x-^ZveIin!ut&TwR&pMR8- za*)gdmX9yr2iLEWw~2QD(0E>U)ta8Ckuo3FzJBe%bjRcO4K=U6V>4CHsMTxU{(iJB z?#r}85=+vU*BQ^6n(TIXs^mF`^Ii;*B0Anula7?;e9G{+_?Rj6xlB{0*wfe^%M&(o z#a+{w_8U0ww_APr!vaq3L=pZe-;@?kzEXIMPxD5?!~N|`g%}D>PPKUHz}skar>F3s z?2GDZr(>Rr?>HR#6{M0g@v*JNgRd*@1u7WqIB)UVLC7LJrmuFdmUP6D)|<1O9Bp_? zmY>+2%&~yMU1CXZWMhE8ZA1Xec2Dc$I}LZp^n3NWWPV%C7CiA&^OZ|&vn*PoXH3}p za(=Fm{X{j#+Xs*5XEDtGUYWS1$%3VC%aPD2%o^IS*t4qcN;HPovAfx3ndWRiW1wkT zAp6wJc*iQnNscQX?QDAJKgBLoC8Z~{?Uqw(PXeEVY}S@(b%`aeS`wc^9?vOTS|BGN z!qdUGnbw|CbN#cpsGu>yQhhNTlHoC1-t_5q&%9QTUfjg%!#QvJm>3bCf8PP zQ3?CLES*k|iT)A~GnW@g%M>xJ)nsh6;J!6y#W~M|FB>O&E&Vq2$;MZiE1&PUQM5y5 zD}#=fhZe)jleViOlwB-u86BQ;C10egyx-4#sV7rU^X3VL*IGAln&@u-p3b^^mZH(B zH#0XCzq~c&?xtO%Ey1 zz&vI3232l317D9z93Li5zWiy$)amCmI_kn6_RH=LIrclM@&?Rny{|HS?mZGagcLi_nw+(5}Rox^^BYb_o#j>1JZwzJ9 zEzfFg-pml*;CS%M;sxIv>i#)CNM;cJab?Yf4L7&ElQq8oaXF*d83oJN$3^b!t1CZO z!E6(lpjg7IW*5VF-sbDlK7rnouP@)5l<6bXyMgJ9!P=L;H<;PVB$<2U&rR4R#^Yn> zz}!=6yK1-bv<&my!$pPH=6~CIx3Tr@!LKX!d`+`UdMtm$mBIcL->IKk3@_*WE7@#+ zDp}@plV+Ifgqq!jeed_3Z;_=ZERLF+Wvy61Pd+xqXdyZf&!wD{9E=B>6%gx0C_ zByX@izt&7()$F@Q_qxw#G0d*=TIJm2E@6{!$X}Z zZb?PrJyjvoF1Z%(U_BUiP{+_kokiwpj9iu6mH!O76#?#-8iZnxZeVy&W^$6@ftsTN z^Ra@g^ji(vj2zwu_!dmuezx_z%msf(kJ5uY^?F~{y-3J-`f|6-uORJpcW0kY;GfxR zUE-3jQ2KidwfIG?H(~2=IHYe%f#^Y5h4it%!r}r&D;i%30R=UDP&< zXr8rRX^jeN?#`FTMS6?Yf96>=CztoA#g2(?cbFI!8s6Th;*j(6q)pwHE4TRW8Q#Bc zD!F5tnOvN8$cmlPGal4tzE0G2jd0rj?ih2C`^ptH^EEe|*?r@|TiL9`hB8-zoS$vb zJ!U2EHT#b6E8ShL-#s48nZx&0C4og{#W$6**8vB4p3Ko_NG_gW9OM!)xA#zAb1ADf zN8ZwDscohbuZmv=dnz6?ZtkD*pCQV-%sn8mLhf#69@Eby>y!Jv*wp^)Q2(e9DD-r8 z(HuEf#XhIdNj7<}jC-UeiY^YE`l9LrOZ%xCd}rj>nqGf$Tky#zBZ~!zk8f{Z@J@5x zQGpg^iwCpVFW7emN^`#rQVhS z*N93!fTBJr@4+QOwPO`E_wHuJy%!Qj1)Js zNmXxG$HhHh`m#i9krChh6-OCdCJRb+`f)yHUh1)W^4?uiTq={&C2m!$bg|caeBkR@ z2DkLv3eJ-!9^Y#ExN?q2ky+pI{$opi+rKy1%O02I%*{N>$XfnTgOXgD#q<2Nx?ASu zwAnoQdb{t+w@(*p-mvknk8*Vhzb8J)(uDI>%fw6OM%Fbe5A!{^yzjj7+lu)dewFci zG}mtIi}-N-8B6JErjLRQp)ahY7`1uXiv>>ilzd-Onq;QWV->WfDtx<_i>f4kCtw`a8yVu zSy`cP=X)RF1CNDWVuTMUFVhNZm?YZ3EHkTjqJSpzqzZ-7Zz~xUH*9S)6pA{!C3SI_ ze8F$NE1n{))7(mV_S(hSYlZRjKHFi#S2xviyDHsBC(kue{V_!ZN1~e|$Z;j#QjD@z&## z$AV)YnLHo#%~-H-MQe1@9F23eFBBy{9vAt;d?Kc+=fNDks;>(e6A##%Ioed0EDSTr z^H(UI=&$uy+VK6XoQeDHuu2|h_`V?XM)FaS(|cz#+a#1cUa|6=kZP#v28)wVy4v_B zHWv0-d|STt2uH_NpXd+$2kRMM*$dRfmrZa@7R+#& zGgF$S!1{As=EwWr{xkg0{-At*+m#v*{q+yim`<@hw7t>y@6dkT{dxO;XzcH^&-NGg zUGO6C?#&khQ{A>UHlJ2dXO{TA=kx1Jiw^lbvCrRsOX~5rSw9x)Enjv}=_ONXbab&; z+U_0d?8^J&4ByAs)gM&+&yXq`{qX#oujOlMTrT9k-5MJeY{Dnd>7!;Knxa0*&8lqu zy!r>ThOI^$+*L`_XsUj9yNho>2Gkz%dQxMKe~2HZrp$)-oF*_buaBC_bfPh$=9FDdP-W)kcTMh&;U!AKlIbc}hN zxtmdCXW`a*DT5^m42Jh+$nH7XdwF}@f#4-6+k!sxB$OQ0OOSo`E_p|Km(wQe!UM05 zS2ZT@neSOmNPh?uN*Rxfc zaf~PbeO&IY&Qmx??(f-3^UnQw@;8?s5cbSp{m13E(WpXZ?r{ z{m;2FtNkD1_P6C%-75d1Xq>B9|M-q(YTko% zkuG}|v2%~!`mAVK5IpDmvY&xl6vU3PJI2qQ75_(k|A9+xukLYOnJ78a!IjPRxSP7Q z`{QUU^*`d(5B4qQ%DmOzmY<+3SA9od$2&K7mRStHKXY{$H}U&ipZ4!oos4hrx15hW z;b#AGif-)Mf)-dn)Sxam)W!{n2EcEVtZrPpi#|r-pNkCw_NM-&y7IdgeXxD)BNk>Z`YWyy+~qk7skf{VwUw z6U=?}YwPZ0{8PL9wN~xaBkmjB(k1#^zMgn}{L_M*%N}0K9PT*0y>sPaQx{MBr23Z7 zig%AE#uKLpOLKWs0V@^{WYV{erW-gOEW)x%G*sB=%eef{J5i(7WKWp+iMiZeK# zTykRlv9s>q`2Q~Wr|~EBVol7xz8`ZnAcD3^MOsY8Qv*6=A zHlyrWu1tQbe{Xv-uWA0qN^AcWXI;f4|Gl%-a`@Qua3}LpuZxT_hJEDQ4*UY4Js3kw%vSW9M;8lap$h!U?t? zdoD1$EcIjfb>)MHWL=(hae(S>`FjQ`>03Q!C!Mf8&TPW4fGudbdS7ASmc*Z7>da4N zSAOJqS1G~RXR&00$Z1XGz8Q}iSj!?l9Ql0NRK+;aL)m_zDD#Qf>q*ljPbysL`>2yL z<(!rNS_a!IIS;;_uze|1tdyTW`?W_3D|3mhL3J>r7N-vTdJ{&quPi)z{uXSLdmkKg zE2vOwsbeUTp4`NydEw{0#9I=wdkU{LFf|^lo_A=WPN?)*d;J89qrQ{E-xt`fGVl4m zfJsT^fKy=~tIZSUEj+)Z5+&mI6iz%K@?zTrQP1N$jxuQUMo+SoJs;&V%|&I$139tQ zG`(^)gTj-qG;eR4xXI@8xy%^0eH?cfWq+7#I3vp_ael2!O3|MA2ZG%8MckO*r)kDA zDeqOq!LQ5TvgxoX{M8Z_7Th}Hx$UZmtJe%RrLTN`t1p)!CsCf+CTZ^G^fSwweFat= zyyy5%^VHcM5p|K-30kMtIOIGCc(19V@mMCMblHiw!o7>Ns^*k@TX7|CLd|o_--}vz z@VnpLy2R%3#91Yqlpe@1RbN)Ac%-br{QAyi58(|p2|eEzZZD8GS(tolIlJ;!_iqjI z3Xi5|Bp5e1{#m)nMIv?j^8HoW1uEg}QzcC%89nCi>DwyB;Kz8(R`ZR~?C*@XMdm#a zIML&oBFX$-imUB#^|!C9o*3NTy2-iJwlGZe;=TZJg?}Mx2b4p(CmjB0@?_%mcYRr6 zwRaMJca=mRYOoGmA>?r^X!ow>Iq6*q#XBB+sK zd$L^p&95sS6-xbCoGD*^Z^GshEeBan*^Il-j9J*5dxDt?KQB;c+<0E(X3Z6QMV9KX zqB4P7Y92RLF5f)iK<*z`<`-N}8zNN?CKb-x@>6BPI+ZC21-ve&pDuHn_Ac{aSp)w= zhZ2d4n~v{vS1Et%8++h+<%usV%k?E6vrXK%rRBg;CaLzSNqk1^foGK!xY#PcGOsmt zp2=?^@o4V!lRpdl?70{+f+bnL%dR}D&t#G$xz|;B(}EK$zZrdWcRVP0-^I2?#mK0E z<6QOgrG__Ts*`0dC8iyEAlT)wV&YrvLyzUQaDA6?^vOMF`*)@A4&6S>rIUgl)V*hP z*PpkQrLnxSUDi5)rLFdyQwj4*k#4=Ke;+@;GS4u8yLYol#JLM~AD4cXa$yi~d^y>J zb5f}m*Sx)&r`1)P%Kz zUo+n;A(Q{i;yGWHX1vv!dRx%aW>Qti3iCN%L=Ke4PxI+1d+E8;;pBnidrhAv+)RD& z7U z;d$GM=dNQdD`= zxXkEegU92(FB~Po4Q%&9z8qX>m#<>*Bz^L{sj-nVdR9F$UzST++;EhzslFWkf>C7# zd*%uD{g;+*zpbKpoTX1oQgCC-X#wM|h-E3gNwb+{4Kx|G&rMiA&1%Dee6JiOkJFNN zFKwPyNhLkl$-{S{BKh9ZV;73{?v~=L=FOa8R&mtMa-rbdGa|`7vsM-~o(MZ}URgF% zV*c(ek1zCX;ryoCrn7s4@vLgEIV=1eUR7TalwIA#F1y)%PRdU=4MF9O&AZFD*=lq) zO5C$cJjP}iP}#?KP3G65`Fpt;3g=fbeN)NpxR+))v8SskUb~K8(O*7lQkwL|&`&!a z+ikhtZ^W?5u&;92%#5PryX>s_z4}jmI`_QDJ*U`j%QPP&&&Ec_$<+@z?e9L`%I#)& z(BYu$fs@O;E-qK!zSk_$%k09Oq{VtNxyp8nx;KamKl zEd1%K#S-S0xU%y?OFHR&C2t?)?i6te9r6W#fL}+X8mG3kPJ<_i2_dnj`Pkc{t||!^_v6 zJ3qKxobQyu_{oCDY~ABIg}0UnE_h;Y`8rS`h2^=WrQ}-=Zo%`X+^ZPorua;-xc$d@ zsZnOl#@#G)zA*m^&fPAWroqPVkQo({djDtHQ3j>W=4a=xSn8Raw1l~*bO|TNf#4>8 zwTa2xt-<%NHOT!0?V!9SsMOZ+xzE>8^`ILE1!pqv<5$tsV3;f|igbp$kK!slrAN67ygIHFSj}Rn^!K>m&-BjJp^%9njKzJa5kBw-0k~ z=l-1&a$51P>lnF{^q$B<`;LiRClRKd?KVHB-|yh&b-Q$3H8B(`G3%|NH}w+9GbG_cS(6oD;lG zI>RAAMt+8zo92>@NsJHV?q*Fr(7X22kDOeY70ePQIfs6CP4$|%H72EWMdZvWs~!km z31(EAe=5N2iQJY&Z+t&})pB@wZNXHT9}!;;TH%<#@}=3| zCU6{lf82y&v+Jp*1-a71g@=kSv+s5J=;4tX5Weu_a}$QwNqelG zuV1QqL|{^EGQ;yO=N(7P=GaTHO$vP4=O28Q!Bi#V7!wccmUB62V$;nx*bzYCvb9<$7vDqqv!dGJ`>79k%M_V1-47uZg8 zG*t5k`=^DfXB?Ng5|^3Dn6#wq>jL%!xBW&>7%!BH+`KYj<8mK9<{-(`o(X#nd?ebH#PP9DO=3jGxWp@Gl z3ATN3zZcAN`q z`|Oot5vC%OHchcmdIJyBHY3jE0@AEI1DNJKC^dPsFU$_UF%*aQfcl`4zmW1^;RL^5|wFnEA7AijG@Y3OnMA~+t6>hADo-=Rt zXiT$pc(;{hLuKK=w+y!oxA0|Nbb2jOe44MN?~BOPc8^vL_JVVkZ@pzWl^CiTZ_U?P z=J6q#rSY7W!6Q{Z4!Z>bYRA^DTK{hQ_Uo2Qn(j_{8qV1MQNF5Vx?DUXzyCwYqgHpf zFRQd%5SFr8?TgIBz8$8_4ohdbY4;a~DfMS?xifDydiZ$q_gn#mZ5*w3V1d4h8(i)y^|o^ zztq)sV~@5Qn|aBSK9)-6lX713EY31aoqBT0ovC+{S<)BHyMJw-sGC>Qn!_?(Mf2Dy zjvCi2dY;(-g!}rv#ur{b*%D3%ihE}DaU@sPoP8|u<@{5ZlY5#Z(tk|pGYmQ;SkS?E z;>nflgbTeXN`>1m%)RomqIaoH@;1$XQJdd>`uL(YD}DP_$>WHteV(7eG(=#v9fnU<{(V}@~sj)Ni+!a@y zJ#{3&$XUVg27HqQ$vrUs&crVVMXNcI+!eNe=JSYK@O3%I z#ezuA^U8lRIxj8??cH%c+~)G*&v*aqU7QiPUF6tIk+%FjyWJ`nu1tKZJjq?A>Pp_} zXCiKQx3Ax7rNnY)8@E1})U*?uT)Rvarb^0w^vQNnuE`RapEbiIaR0gD+j3LP&&$6% zc>8t0fu?)>isAVd%1@P+OfsM7#wRs9_s~0)k2m{Gjl9a5nkC3Qs_mX9wrC}k%s)~YW4x?+|X*FuLo{4rO$ zEv8lkUyv$diLo=>yg#P!+5|zRJ({}$PsB{%kBWF4*=C{e`EBqPB~Okp7Qur`i@Nj` zXO;`FE6ZR0w2US1Ur0CC#7PwrD{XFCZT?%aB)cU0a@oYD=RMEgUGi0aEBRpRbGa=H zSEg4pu~k0qNt&9h+L_>Hz##wFckAbAM(GC?K4hKe33ZfYW@Z;*^-qm>&)y%W#xs76DJ(8xuSUewy4%(3xQ=7GIK7u^sMqMZob@=?Qy|>rohzK zjW+_Autr!vY{Z#jIV@5KTiIAsiJ-g+k*?6CMr&NE0Zi+=)kul`N_Y} zg|Q31ep#XVDawRRe@4%r!%Mv;v*igd5AM^Lvn+B(a^K-DhSsS?_GQkwPu@Q0N|M;{ zFEY(;|D~ly{pP0>KG?-ob)}^I{Ie`re*IDgBkNXn9lOMae@CutT%u^_z{tFQtwM~D zORA&o$H2|juA9sy5*(Df<^`xu)99%wRo`wJsT<+>Ebn%6{|eJI_D_#F{E8TUu2k@6?og3ExT{tx;*{W_`NtOa2}PfAXOZFEH|1~7<$TH8=h(BB ztYK+-WTE``(X?|_{JYyCkP@`}M8_yUVesh}k^&@@2(h&p20w z-X))pM@@TlW%asv#=gh*P0W6j=UV*9V2pTN_Mq-Nm*z3s4jINR{9fzUD;<+*kiUIx zn&zy~F!x*R)}9ME?}AMfNf-m zN=@pHbM;bf0p~w2GvMR+y1J`l;_8HwhyGcsb?hsm*Pp%8R3D|&(5Lq4@f{_Guga1l zlVVJY^xySKJZ!Mlau!)BwT;hSt2gj4?~UWuJD+tcsBN2c^Se&M^t+Q^dgx4lE1w~# z!NON1^ZPe~YXhs}3H80&8DiU-H=S#cNhxspvh28EgJ_5ayT#I$+PMXDKHi%Zf99OT zryVCu^&QtrEL85~bZnk8!L~NDx142W$OJLh!)eo=Mz}t8_>og?!3lb>xXynm@T*P8t=jaKk2`D&~A)UjK-&*ODpW>SoxaIPK$OQXY4^8zDH zdCP;0;d8357~PgE^Ol}Jq2%@awYGQnyj|5=cx`#SjzZi{xw$KtOf@=|x%}KWC&WB> z{zKc3K|9k9hFg2}PnVHe@pR3eTh7)>DG5Avr5z=2`w{kjk03&{_IPdrSh)<)`5jCb&8N z6TUZ#LvXX9I{Ul6MUCbwoS)v>_pymVp}4tAVXtTGB3G@`O~w~`N|zlKb9_B-&*g

    6IvcT|_HnUS2Tp!B=Qub9@Kr?9g0%@GXT5W?U-kBwbclkb*jN@@G|$(x>RKjm>ui&MpuGimX< zaCVb;lQRxl7WtPJJMAmGx7?PM<;D!51BV{4oIm}!R3;_lxAHlqw}b!zGjw8ObEd+*I6`6?b@BOZZx?SlxYxKl4?-bkWM4IlnmJV^4{x>cRdZ&KZWf z6GDP#-OX3ZIJF`0>gI#rR;sKni&j4Iu>YR=UO|Zux7+=8$iDInx~F=hd#c})E4)gZ zI<7Q?&tX2efScol$Tm*p?Q2=ZPp5||tj;U2n)p{sI=l8q#p9nHlBzpans13-%*-zP zQ-o1wSJmAGGmFo$pSqeP9U7w`!^h_z+JiW%aeHPd+*A)}695Cz)x|4W@^S zw%!$(kuTf%Y}Jx|*^~D?m}h^eQ+HaJnnTUCr~Nx#ddp81Zpmq7R_Xh}!*6c@|t|Yh%+o+oLIQd~KG>s*jT<{yF}xO@{epxU8V+ z^?90REBrW~q^;F4@D@6;QGR;UfsX;sBGt<3`P%1gZCBw`QZ1HvZ&+4bIuY9##xhTs1|E1sM@dmzWr;cu)*i(9U z*5jPFkG)s2pP%@tDSE+L+xj>Ug}a58*86*p@zrWG=_XkwX1+Zcw5E7R>3;^PFZ?zy zOFoJ&;tY$u@rvU~VXRy4isd(_9M8@(vf9V~dA;4`ulbgn!q*wj(@whd&N8=Y^E-*( z?du==9VnX~R#tw7_wFa*V`h&P{)sMJp0&$#@63(;N5TuVJ}|j)NqC)vpaz@g~@@hraw|2aF#ef;{MOj5pY|>Cc5L; z$N9&X8eNb5VVkKVCq4bhB#%JG;BSGGtkP|b<08{n-FqeWKBIe=Y0ZTCj?%@a>kadk z_KN;I=b%y*%>06v`H&s&#~$w_y@T5wx9quC_$#dU`W#SYGo=Mep zQ{w|Z9{qdBBz#GXfsDt0hN@*gPIpy=4n9};sMC_T= zsa0HO&wmym^sHUs)`q z@bdf_RtD|&4V9B}4}OW6)mPhRWW-j)Aae74lK$5DjD1DEVe>w^G%B%tKB>M`nlbId zai!EohF^VITjn{rUCPUub|R+aZI|bI9>cbN9gi2hAv^caIR1MR=6PxMy z`6izu1J^{)W0$P?vetyh@BaHfui4i2rBtHTdL53(syi2OyMBMLxQX$gujL-q-NZtSAUKP&PzG<45p zE&1NJa$|uEU+t^Tl-u2Ig6(H4Pkdc=`d8y@-k`>9*&m``Ub7vP-m~xU4OIhMqR;JzPk-JKQ*Ha+1qzC0_ub&e1pXHIV3lowAT96D3Z zUA*(;Un%R;j}GOiCkRBy*KkEV3-JE_!q0MvwoG&80gD5P4xC(n|9m;W*Ko(=gq%B8d~FNM zgB2$yoL{+Y%gLveUYr4SFTSowG}`p8X2P8Z-@YxF;-z+i=VI^K>-#?~nG~9Nxj3Qq z(7!1Yk8T#y=UTjIPSC^1L#-BHWmhmh+%`eJsY>vr*Ma;aGbJS1MXr5XT>owFQMJE6 zv?qR9z&e@z*}?p85g{uZ4m6m(wchdmsEHb>>;&<&EAt9%Q$> zDstlK)r)Ko59r@oretr>YP<5Ba)yUxfE%}d;4Fr<#(9Ue8n^UMF|UuB7|gd|SL2)% zxjiMzPV(e6I;b{%IUiru>7l|gL-6uih6vu>cJsa3QhPf-P3c`M?Jg7i)BVsw2?^Ox znww@^(CT}_$I4*3Hreg7r={`-xvO!plQx7*+^#8KGHYJ>5*7^rY>ua$sR*EEY88Y+pqFD=fI4l}Sk@OZ6o%#4RWgA0%QdokEuRQo8S<8ISa zuQl;ML#bqWUiZ(?61Pcia_Q_1j!&dYR=sP^I4Rp*x`0h*=>bgz1-Y_|PoJJ?|8dOo zsEMSYa<5V-gV6n`>XX{eI}$w(YR_x7xxgg5Sxs>7CaojUN{$n6e_8SNL9g&x!w-KZ z_y>Ba3Qv|gyoD#{_6g-%4MOgd9Lx-2WG26|)v^>c|Fq-Z%XhV_9NLVM(-q!5S6{wW zcrou{wFV{j?~4_TnlFp0teepLa-OYwmcTCshO$++TG%SSZQxpxAW*5+AkVfkSN+6f zPJ;rcZ>EK6?vg#V_a2*erY_a(&h2yiIeX>%=s=EZ0-_E-3mb1Oyu-G5@sl+TO@0QM zmy8u;o|GJQ6xm(Q^W>eaHP?jGpY!Ufd4e6REX_4OTd0&hN$b4HlFq{*xk5GH@IOP@ zf(h00v&tuxCrM={TL@?<*K~+~%p@C28?{dDlvn^Gcs5_%oz0jof+fhURg5Qx(A#)^i=d zu>ZWk%oD8S#?9pZQSjRG$S~WDr+VsQ+9VFzUz&AhX@RG$Vc(Ud&h8tH46l?tYf#SI zmlV+W_u+QS{|sDVsj0VmLMEO#>vZjt{OmI}{~5}+dLKKlqi6Z5>H^cTznf~UKKrYR z7CD^!wjxV4hPOE-q`$U-OaLsaGP1#8>g&kZtQt`yehlljY{5e$@5H|kx4%T8&yi5 zHQx5-`Ru(+T%BF!^2KcpWliq!YfU&V*5xpGoO^tf$!X2I9SW1`5`C?ieNtX4d-cfV z9#_6^a#CdCQx5MbFOU0Y%}R5Wdluj=;GDkj%d#cC@|Fj`E;_3ib;S9s{O*dvc@l!& zIvyW8e(~K{_VcZ>kSF_Itqre=8*Hs+If*HW1q=8n{NDe3tIp02_IpPR9~NGksOD}F zx4cWOyhf$s@uXVKCCr<579PLWZ&G_D_|xT(2g&Pfe_vQD^y!Sp!4smMk&Th-=lE=# zs;ts{{Hgz^r5Wcg8TnhvaFsL{@b&gp@fB%QFKH79nJ2E!Hbc;+Vq);q;~&jU)+}_g zXUSDp-?-vRr6@H%;BF>b+z(QTj=5SewP30t|nc3qxtjlyXP4u zlidXsFU-AhTzM%{}_hY$E>>=r?j)US=H>jvSOdNnQXrw=ZOVk&1#36Rvf-Q(S?VP z?ep=P5>qXf^-TqVBQY(OG`ihSrFztx$jUz-;s-ga_(|7WVJMXT9{@R z&zV2FCnV@jiHbQ(GPA`>wON$+V- zvtsUXi{f8FYZS$$E0`^gs$DHwu-%sZQbR^bFsn#!$sr$>6JJj}T3o#GL&Ss9qmsGI|Gu)`p&8N*iaXe5oI17GXd_F>mn9QV9p5@-%Y(U0_<_erU%F$44`t8_dr; zB)(bLK{1766Hni&jENIFx!fF|R7o*ZCRDz$V7R>4Rk2&+i$va5mTqG=7wyUOz8W1% z^y7H>=LMsb>1WXk1$!$WT$!+8%2b)sQkL5sw2v zZ0Jus@$DS1`IFG&Vj8!1N-%fj-{S6FJyoT^KdX1<<_!ivJmG^B(Vb5XvvCdi2?xZ`*D=TZ!It_vzc;8h3BPvO7W|1?+0mYxEj@Dvwt=+lhTV z{zr)G{G<3@Q{MQa{}}|oX7_KqyY=(kn?~xB&Q$bLOW z=KPWVyLt8D^5?40R_o75EU?hNegAd5Z^t9%yo=4(=I#_SbGfyL!7k=+rfCVQw&1{Qu?(MJczclr6nuBbE@~-ty15IWZwmx;2__}hl zZcbfJ{lWBoGMTr;`@ZPbu;F9AU zmCA=@=g1%1qy3ND|HHp}i66{UoE5w0zLU>d z^=tC2zNU>yY_8UkZtw1UO@42GQju9ET>nvg*MA1i8pXUk)Bg;eRylri=Ig!XdVFJY z9P`KIe_U^W8`Vfp`|Q7Se{RrIyXZopJfY&t+7s-h$}b(-_|;p;fJ0^CB!^{jYv0b| zT-wgiP+OtAUi9bO$NWF^_x8;%uec}oLo0NXYqxAdQegk%p9MR=Jlhj}WdDbV^S5Rn zmzwPR@UE`OkL4%&tbHA4xc41-yj48$RNX1hbwBcsd;d;b`^ehbEh)@&$Bxi@4lfwj zMMwSk_@VspwspJaADL^Z)~|BpJJ+hmH#^rKi_L%B{zpXn@!W;ofmcme?^e&@c>C62 zV)5TQ#Xq|C=Kp74dH;8#ouPN8+0MnUPABS2+&MdNd(r8MO>fK@k6-I+JXP2AYBEDa}QtfJ3bNlBiHxV==^7B(ylxC zk9U{U@lM@!TPq(kc#2+@6qxU@_LwHqjUV2}?|%r1zb*Z(d2iGGhg-InO^f%*!^*6&G z*f*|Ou=T_9#D^ zL+K%FS3PPl}9P5Aky_5=>9yU*@U#xI)es&hWgMG&bzuL<6 z*JrFt?-UhslV%HN7pV+-WoYp`Gm>kX>Pbt9-}~lVP+j=v!;jZKAMYQ0FX{i_Y?9dJ zt+jftWg&KHm+U*z*I(Ov`hou2t-oWBugsWL-u=#*DxNx#HizdG{o!3K!M5c; z!-K{D_+r(+ow$~CRVP%ZR9d~_OanvNr%;dQvLD~aFNpu(`=6n8KiAg#H|t%lzxgAd z_MUf2p$G4d;5{0On{W3>@$wh`uwR+A>-*ui(s9?<+MTbiUUt;x+YRMYX>lQcc}wnV z3(2pL`4|uxad?@-MwjPu5wD87CTTXXF6~I)ZtI%Ke&P9yP2O#Xg}f#neET+D<3Gbe zw>`WZvFb;!S-MQJRGhjbe)gF(3A-Q1v|k;MpKZ-%+&A^fe}--6+ZJB096$ z$5N67SU1bnCHEcM{le>#<&(sJhkl)YWzV+>wu&722QqhVKo}EY`#o9jhA*3>&mG zr))f^{wgbpYtGc8W)Bt%Fg|BiYVufQX*1`+x22N|);^Q@bBCv7WtiFRy}=T)y^hMp z29gg-6)vz$Y&xLkd5clui@eulm7Y_cU({yxEU0y3xApbdajN-F@=^x3C6hQTVnSN~ z1(+AOi;8^eXuo-g^`|5ItyzgGYtGz!+~~j;B>C^7M4W@HuTGPzbV3oQgi6olNY$K8 z+xR%*9sTuIG*~kn;Ca*_%D}zdQlZdu$D9oediGMu`N?z2kJ>W5J#IhM_dr6--;Z1U zgI{DOr<}VQcQ^Am2hSQ$*|J|H%Y=6p?PX8U$}doo;H5>T1DlZFPZhy%3l&hrVHaSj)IR@(duj%Ig^4DR^#R@P&=!|JCgJi<4+I&X%Ey{Hz-@|ZF8 z=Z#ud4s#KsRc&P_-|$y8Ic{jt#ie|re%%RBYL4ihx4WIFD z7P-v*)~7fu03^ocy79GVOQl~CgXKvRBPFvBYz`+xjwU{6 zJZLiG=dR}$l9!ssq+2Ymb8|SqE`yQp&ZNZ)zAn2xcjH^-c|TX&3$lCF^X;si;lB&# z>^m+nFTMYLA!DCmQ=zZZ&D$rAd&Tdbu2Qpj#j3Xjp7$7)KQCb4)5UhcQC;R&pu`R1 zd5hPtb=%!7Jo$Q;yP|lJ!5#lFn_3N~BPnj>!jld^J@9+Wu@jaobDv*dYGx@p)!cpi zm1dVq`OZ%#UT(5{>G00px=pm>;FGE=`4VY&H}n)vzSo`8__?a6Hp@L`q2w)prwoBB zT}G}dD>ty+p0w}BBDN^tuwIx7ZSmFh()^JztA^wa@l?T z?NLq9Ydd&)w>mtT6B-B6mHplrrnn5(k4D`{;JL;hnpOjuPsfA;S?== z#khb?j9tQq=c89_Vc&zoz>T_>FK=8iVc!GpdHlFz<|r;z?K8E_v{{$vlY!b7kA7c15>>+6+bRIc9|~G}t$s zRN(GkUe&uO&HwIG|AmsvPg`%A5W!P;R?C`2;t%^$mWjC`((N*3UzZg83!G(mLh|6! z^xo^IIQaZ!%9lM25!}CBgyCqhNs@1ifh4m{@SYb>4^3dRl(d;uQgNI?f5kG>J-OyH zRyp1>b`UzQ(jvV5sVv9)qlz;cCmGoO4pvMQKehAJ$Fn9oibUNEET1)+Sca<9n}|uU z@LX0oHUC~R?*X>?a*9)rfCa=ygkP*Dig#pdt%R*i-C*FR1eVvBT6{jk`e~;!Ic_OOL z{zr>*f~Zzuf1=-ZHka^(!?OJ%QbIhu{}~j2)_pvxF!}UT=K?lOmFcGxookLSSTXg? zjx_1QtF8=I(KAjxnK=1^aA2h#V}ar1vzjHJxn!R3^l7C`O<^@|zSqFwr1V@qCQxW5 zCu>Di?ERDgmD9-=E~_@5Id@Hqdzyk2L)a{{zzeHB&gyupT-0!+&%lbyjm<#Rf{E|m?HhPNR@jX+WG`E5C6*3dgv%mK7teGBQeBO(}w{O8l^;?tF4jzmvejT)p}yVZAnSLy7AI9_E4FgkFTAaZu0V57WM3qTkw5JaA)Bpf9JQs zGldzO82@G|+~2Dsz&z)JW>371qLG5a_CRl`l`IdM=g(;L`XuScE%WWbveg_Dbe2ng zmCayOjfi+!cwI(rs?4TV2A*UInc$^=Z_UwoJ*hCT$HVQS1Fw2f@5x_*9G^bf{`j{1 z&MC!S@0G{>rpnJSoHyq~p~DQ*3ql;%lrK+X?}~j;^Y*yS#hkv!Jf14^wrZ_OXPms> zgsEI{$7i#KE>GoW3SYjjFxy$0w4kT-omTXf>CA7=u%DfLJU&bCNCvn2$$vT}3pg%4 zom$Z|ukgf6fA8brtZwf0jz`UsrOn^n$vws)yKL-C*u_UnlH<=#1fx+-d5oI z!gWnGB1HYnPKL*#I$T|j2?ka?Asp+TtJx$}m9KPZb@NV^{T|>c*=AlobK-aNyXt-a z=1mPaZkWWf{9SOjz~luf)7(J=Plb1>cW)&eyy9Bt2l& z9iC5B0gOVq&zY6C8m8%aZJL@;7vLXfb$R=a2Yq)rRvkZMJW2jf=JurxGa5~@_av zm$|Gw^V{3oP3%s_LGEgodv|{Qwu-O0eMXDt?w;D>_r5cu(|%l5m({%N)yTfgnyW*9 zR!hEhZ7+jX(}^X^&%X5feW7v7KamrujBGDC-}im_&tP3sed4%m?F#N*4RM~6lV8

    x*o6Ep%VL#VEXMc53Prp~hRBx>XT(-Z1m?Aj(lo%K$ z&q-Q+c8XGn^?aLkR=-1Tr}%7)`FJ5jSZ4AuRt7t{h#A)>U!PTSb`Qrbo2DXPcY%n- zcjSNgd0MP^XutQTu-2V-=i@Y(&ak*nnE86zw-xK8r1z|9JRbA8Yo1vsBh%ZsACFeg z2-CbKaezx$Qh65J1*H=kKP#Sy_gl7fYhzi{-*X->&nmAwa+-e`zsVQ&q|aY|1t`U< z-gx+v;qRj?&iUCAkLAtxMl{IlXDT<}TOGSBH6;Bw%Tsrs0On9x34;gbF@4LXJxcAf z5$rLyd>dH1!Y5?JC(Wr|IhfaUmWybI(Qz%fS$GCC+p~aKG`&qmy zJo(S>|j!Rw41)M^N6nO7XZ8`{!lK+dh;FpR;-0qzGtQfvd7|Y3`|mpw9R#-S6w13h&!G6y{5`EV z4okdn_bT3W%xeN)#rx1FQwx-N3aT0%_g3LVUk>0{#xcS3)K58mMI7>yTa=DZB=gr^UqbQFC?p^uT?%PQjr#P z+~RNN*i{&f4xI1_W>#5@F z+pNAX-N2u?TXjzHdl#<_tBy3x+mZU8K`MrkFXFjPpAe$bw_PB9AI9!$m5b;a&P#Y)|G;f zZukA0xxh@&?C&>q^_{XBvCYpWq?9Q2{%6>8c*QZ}^J~q|2-O@dn|y`u*xZv_C+Y;U z|GlljAZIpj%Ha-)b#?(23Z+Y*Z1bKokKz1U+r@(Gr=6XX%sX#UcYNZF-X}?WgcvPW zu01$iV@Xfp*JUPNouA6S+FVZ9Fa+6(VYlB? zdM5Aq#A_k1%itz)Q0~!!);-H|e{Z}Zx4+fzNo8`Tg4~fHCVS(Ar#rvI`(3$cK1cL2 z_sJ7V^DeCT`{?nUw1t!S4Y%hhByW7}`-bIWrvw8h`~DiP4Z>Vz^Z2Z<6i)F;m=sd_ zZ_4-disohEJHp<+^*LehLcY|cDYR0aJaGgO3>TjoI|!Jl zI-GcU@+gz)#KV=<4iYj~8Xr&W+E(Y++8$MQ_SBjs=`TGSCTVHh6QBClH+t%)?_UG2 zb6;A<>iBw|byxQ(4Q{cMXJs8c+8#bDIxx>VX^o^o_mptVIa-Q}qCXa(>IV0FLd#68_ znIo`cVT!gw5TD_7iN$3HR&QZqtGcq`r`H;G={}FIrmhRm%#8WMQeqmNad*Sl{|x0z zqs~-v|M?xFZ@g!ra?hs!43aDfK@uk=TpAiYliO5yihZ^W+bo<;A@x8*0T1h+8Qz7%N*m5`J?@O6b=Lf>mcbA`{1L2MSe zORAZDKF!zqG_SC^i)(NHy!r==?{B^{U))Z_Z1cmjMwVOO>X~GFh8a)msr}%;g1PHY z?bg3j>T~%8UhisM-ug#%{n=%@7bDAGO}c&L@Asc64acus|H8k*r0Aw;@1gfy5vNYb zzk6`axBc+__Nr{1ZT|$e-{aJYm?QJggzwFt+#jC*8CV+suH0vK$9YA?zGzvgGs$no z&9AdA73^VPW8*wl;Q97!ZRZE`f1KEwRa;$E90LP}Q(4X|C}ktLqm&9+#gHqam5| zq-$GRE4 zdu`qsR#_|&J=1LAS7n>mw!IA z_T7=MFRFr~6gKv#M1=D0sM&dNiT3>de+vH@n!NvADl6B|UK)MVb0g0s%^jtheG3Gy zJYKM_&^|5ycKpM0bN@34y%+k?cZgf;(*y75oi%&s?hCbKf2I9x8mHO&yHeX{)mKQ? zeGQFOc8Q!h{qVI-;wMToK1s-DvCV6L95(g0bNxZrfAU!qUs$Q_e5C83DeZc+?`eY7 zpR@hXqkrZ95&8V>!bQ`GV(TAzw$yH-$gLU$g#aIP{;PZC1m72A>bS zeILI|3Qv(Z##Wm>XV2f+`*>eT%=>+Cf@kZeGjdLExcqaA1e1NB5Q`-_Hc`Xh!CB<~-Lf*B>nZQkyDKhC$m zm3}PJCO92E1Nfb<#y)Dd~WTv_lJ$1=kvW) z*B1U~VCncfWBJdN3#qq4awoo{Jo5iGm~{k#%1}#(=5-XX2*YsSuf}#Cq19pReOR2`-~&WZw%b!*H*8& z|G_=~X4TclGr#P9k)jpm$a|1mdtOgyfxXnljsF>%JpY}EiamVic1G^zQ?5mMpCb6b zc`V?c`ZfQD9{*9ZOHZuyo8nY+j&17RxYN%nPvN@c`uc9AI?3km~`QE-qL7W%cG^g;@`;s)~_gvNV`xc zoXKgGcxHVbQ}cc1c^M9M&VNdN?EM}1?}}83ocPCW-7D|qmd<`NG1~4W#|yidr|jRW zrGDA}<7E8J@yBuVkNxb&{xfvma=q8jHzm%yI`eH$eMW4nn={W7F`M$EbyF+CAIcxD zXO}nj{IG1MME_s!wX52gSF(Ivdw%n6PbKNIA=EoFL2R<%6~PJR-0jD2av^tVTs*0^8$ z$Fr~d!O1w0-D%=R&YJ8A$4}jO&OZO#-VK}G_M1D|TCUplqAyqO)v1WZ70c^h>cz~Toxf#o-nILx?jQ52O_eY8r=57&7QCauc6I$D7VU@iT~#I@PXuMhMtU>M zp7MCr{Q9cB4=i%l?9ZBZX>spk{krdJzBl;FS#LK++ixptF{$qsbeB8P-M{6~Plgm$ z7Ws8m*DqWuJ3KSuckzK+N2J!b>*)WPAou8E?9X%Asf!q={@GA@T=YQQ*;$ib*K?b! zZc}|Cz_UR{U)FBwi-j}87aV*UC!4F5vt7tS$o61#o5H^-SC44_Td~gLgskUEZv{!7 zXj{V@m%Id8)AEcAXFZ&lQEmS2)YK*_V|v>De<*9(Vo`sIs8$o8tl5!XWKq2@mF31tmKyV3m&O`TI&~ z!s_BVxeLE}3LLb2AF$z;b5rr1vX!h09(Ja@Y`lGMwoY_aO22c^BHrDT*BXVz6_h6g zD9%=UIVbtj)S`;y`&;cR1^?{tJT7v=xkp)FrBrqW;|Y#)=i~OixKSi5lly#LCg))u zkJ{sF6@8bN&%9Fn)`5G6`=`eiFFlqn=`hv^zLHWmkLW{NY5)2kiGgV>Qp)Bip)J#Thx4Y!= z$Nn>#<=>s=DLlWHL9u63>)n^TCamLN{&2pE^+e*+4Td~MWhYET1q$9+Sp3oW z>BcC_F5+A?Y1?Ja7yL?#CbT_IWQ^{;f3D$9_~8l4_A!?wxq0~RX1S&w{JGPnKqIG5 zwBgqU=?Mqfr?6cL;k&V9RzNhvgU4$uk_OuiH>8HCtf=6^|{^<6lvl-sc_*}c!jkMi`lDvDiL*CZ35GP}teEs?#)IFN+!_|%ZScRxa_Iz17K5y( zNi$!I;Qah30p30%zH;L-#$JyLi}jd`=M-qJTGhQlU;DV1%L(i4kGU`3o5Atnq{OEK z(jH%4`rhbN5;~HQz;pRhSh{sTOMym`KytYsyR8P}?+|q!|A&ERoHcdkyNW!V+aPwX z`byxbH#N(ZEx){U;CT9^&i#~OUzW!czD2e(ju&L{>l~a``KON=>eLoRI-V#poWF4C)GIyn z53N2iFTMC6ThlhVxBYuxp3@SDZ2DATH@9x9qV$zX96CD=y!Gl@*=q6iEQ^ra8Ug0p z_ohaxe6qJ{^NiW~>6qp7u3ptN^_40CET4E1n-hW~H}S80=@a(vKZD(|xqHiVAADE7 zHi1XTSjMcvhUe?j$T%^^O-9w_-Y)dJR_|W1 z?5S*@pWT#a8V+IS_#Jp%TZ8Afw-vJ|s*KS8Vi`DA#?$-Yed0GnW|7yhYApsY|CwRmtL~I!9yvnY>@XA-Y|D#wY8t6?%eK-lkc6U73<^IAyxR%JZi( z0lG8eN_3ft0qN5otYu|m-od=K01S|4B6BTS=cr5$MQSb7G{b$(izI3YHdEOtzP%W>^rpR-6 zeOBkA-Y1MZjw{b9pW&c7d(QV|xe4VZa$gv}vB=);V|Zb4)>JBOf;mgF$hFc0Ms=2t zU4^HN-gIlZt6Lmpu#IiWNta+>ajas+{-WEHRr`Z?Z6eB~!a+$*8QQ-_} zF>eAYL=G%%cKh?BIOwV4XFh)!MxU8cuD51Nyzci(aGNw$ea?z6uQa#azS%#6&G^9b zw;VpZJy~imRL!#4p0Oi#Nnho&2GOPy3saaG+l(~RZk;|Jz;RYdS*OBiQuQ>Z#dBmI zv?*T*U=E8hIy!+-X5-2^NB8Gs9QmeF7$6;}CA;(WB;(63gIwAa*gp922RaBX65R6f zGyinkSDa>Txi{||f42PHl-`962jmT8U#a$-wAb^qn)j@MRbM8>Xxcfe;QKiaPkQRD zoOKfZ&XEx?Vl{J^q`_{-h{SS)!&W1U0t&3t(8{3r24j7 zCBYsW{@j^7u_vVAvEEbW{R@`uIXFE#rFZY{5Wh?5c^CWsNXanRI(&KSz>_?opzwwN zrB)-4!x=xTN|&vEU&E%rcOYb~P2mCuiQ=;s4L2T#21*q$J{I{Av1WG7o?ilnKZ0vE z9L|vuzSfu`9P4=L4{uDH=48FJ#m!5r=jTSPwo?Ji$4V~ zn#XzmvCnqlrkZPU4h($u!a*+QBp#U^u&>_Apwg*6dB&BLC%kt;E0>l`aDH0Y7xCqF z*wQ)4&uq`tYVDpW&9Xwv@SHCLPv7F4poGbXO%;oGTRY1n&X#rMd)shoRdGY{tr?q) zjyVZM^rZAM>@0JvpFAnYFY~Tp9h>-!!d!uGW z=RXZrp0rpR^M>o~B#U!aa{?6lUd;J3CtdQqP4KfhXC-wORxzG+yP%TAG{MOKdFZ>8 zPURT0r{_42d$B}*HrgXNfBjOIzRzpOk>X!{&;fH=&k=WpX7a30b3c8X1AYWGn}XSBjVpT zMs?=CFIwyFYFOHNfKgC=#dD6|-C!Wnvs*_|qVX9`dFyaFP`)iNy zY&J*4xADubwT|GJIA_J38MfC;b^IdtOv|4wd2;!}UXG#%Rq1=pPfdMxFXhmN1F<{K z8pz7Mh|X%Yc4M>E%Ab}VIKiyXF>c@0plGE_>E+5l4ks<|W1A!>W?kg?{PWVpFGB9O zIBfl8Gxzy%WSr2d>ieqv*7epChP}ULB_Elu$>r4lZdMYHw@j{b3Hy&)ttA(%9~|## zGM@J}x20K;gk+ajrO$$DG(Q2pQXb4pS$F<`tvxFjK3_2KBh43@jUjLklwZq{<`M940c9| zg^vv#?NB6subTkh&8!Ni7C(F>OSKn6(hiS%;T75uTA6U z{ZHR$Sw8=~C}S6sL00qyPM(`jL(&_6gsf}xaN5MQ?`x37!Pu6+435ws2MN| z&#U69+SL5T-sh_JOq&hK2}jJ_MRnJlaLQ}hXn*gmgP2g@&FYWyt{h>n)Opf;+g39_ z_dsWubmNW(jdz$m+8!LZn4Wj>u<)D<%-7O7Yqs_`@fqG)*1_}S``fPdGQWQ$PO_5P zC^DOYXU6%248~Tav~-S;=aR~^IM;>`JX`Yu!C|MAuFrm`pNIFB2t1Fv> zlFNh7(`7YZy;Kz7nY>+L^7TKN7gzYt@)59I!D4-i``-lN31)M?uSl7>tSFkX@XlA0 zT`m2485CT%^B%W+8{nFBaOM*0sk61uD_js$>$CV#hj34x^LdxjP%~?TyFfbnM-~KPGj8Ayg)XCp+c15_Qc!k z7?vN_$vpg|@rC6I_1)|Vzh^2dORiWRY}{ndBX{=&<0o(JjRFt;+)%gaKQ!xN@>9Nr z{SJq_lw9slSRnRXedkdVZ^?wEmG5f#moivgy>(~G)VjhR!dP2}(0J5u3HY;%s4=Oo|ms_IPfy??}=aR<|!1B+AL94r{RCf*aZ zcKY`ED0c$K=}k!vA`f`dO;+a}V0g2(Z^@iGQ5NAfZw{;X9p1jx&c@_)f%JCAdy|+> zJ9IE~dOV)w>*jKTc?FNeV}`#M{f#7p&uE_w-MMR;hR?JGmO5;A{%v)ze7qy=Zj({v zomyK>7RS1Tvd0To)ZI0++2kSl>)Bk9NpEf|^CUmBE?{NwDSZ0pMw>)IPu{-QcrugCj8py7`@-fHiGEsU#BTX~ z#frnJWm8T(p2d)2U~)kFbn~4)t%xTXSC-wAD7tY}b&E$To2K+>?!LJ%PcwV|+wvuk z!G!A}Pu?nzn&-Ec7Im~*9%N^?<@Nq%I!XSnnZZuWysx5191g9q)H3|KAk|Fz#$wG= zpDf<`MhDoJYfa+Uoo5`DTd04}r?}5OOX9e(D8oW_h7B_R8NRL%op9!`NQYU^WA3AV zm)#;g6^dU6&X{UuSIP2C=F*JEGkIDaQzefX`Cn@6)S37|v-B04ud6_25ubT-qthBC z)28%9l{t+;%f8eb9=Ls*fq52#qhPPYbB2Ton!P$1b$@lfv&_G{;^YhdrEVQh{=70z zXE$L?5^ZNVao_OmE6s^*C7=18Sog7Cnwpf>uiU`LXXx+Z!su80%9nvDbfVeB&zcIK zy~HFQdf$Pn+plN7>m|irk%9#=*eFZh!B~0=C;VYcB4wSCH2;Jh^n@{^}`i z%n}b*IX^inb;7_wrf<3Zzg2CK$)#zH$0aP@X)^L2ImZ`}@-O6Sq-xCSgo*R4dP1@; z<*BRo6}WmnvpOUioxJJ6BxBFrFIX}*ZJxOpt2#U=yti}#MFrKL8ru1S{A2XH6YTT0 z+?eBj;j68y#Th}aEwWZMUqj`qG$pJ%*tcn}m5^dMZpe6Ep|EeiSL7nY6boC+Z_8$c z#wO)0DHWM?;&jKyud5u47ymjC8giQh-$FjIH)P-cbI(N%kzHh#?c8kjbtsS<8cP_MSbqz~qs{7ih@Tu_D z!s?E9jPV9f7(!OQ4wF;=wBfJeg}!>JGv)%di%;IGWl zCWt&~eC@JnF~3It+~_v-h06~7d~c5TiCJl`0Vd(Mvi}8MeyyIU&!@zSLykvp1XhNsZ9!QsQ7iI=ip(M;4S5e z{ijxJim7~Dvx8kVIlv%Ov?zL+@rFsZ2MQwQ{kyki+64d2#iy)(6%_hBSSPx1-q);q zi6UD4J$&t#8f{OcbT+3L9AuVQ?yTg@cK3F%BG>WlRTGzPi@0KT^^3&PX;t#`)WxwcWE z%RIyHNLbEub=y~053jn>KiPUVJNsTU4l#q(+9`s^SBh*G(Cpk^d-gHouYYn^vy06f zxs^9MSr-T0-aciaPh+29=%s}9Po^?V{?zkzp<>C7uu7xo26nH-#{aMXs_0bjINS52 zaBKGTkG5x~nHQ{jm+p3YcKlU5It5?A<0mqwM(W$XnJejV@dcw~uMv-D13W`pimO#OrtNrfZy)fEENIKVCjUf3eQEJR0=t4Ry-d2s;W99+SegD!a(PN zrrzz22gV*7dp|#DK^&Sagx^vJu z(bA@X*YaUw@ZacZ`FoGLr+wJ{?tsqnZN|RyJSC4$GpLsN`lvxwn0ceagE=KHH0LF4 z2$eTv-XGN`UNOabqe{=Lkks^~r~S&Sz8z)o+!g6|TsqTf z{i(|OwaPXvtS7?NpITQgmpw4I?z~Pa*E9)Bma4F_g+i;}e=a=6^}K7&9UbkBjOU8Z z&s(-4{?zx&ti}(RPkdd?#PM{J<*6AT7QfrRe`(YfeXYuS!Tqyk)@g|}@-%KZSig&( zZJkR`g9jtS9Om8E8dSR#Rw>4$Pwex*v^2!EU!%P5rhNIWMW1~#R+xSK-e+n5FksIa zt{LYpNTf5b-^vhC;whSXyUEC~Zz|tSub;k}A?FJF7R{Ti5I<+a-int2ch8%NUSREC zsJe3j>!**${uS6IU+LO3(K7Z9^Y#YoP;J{)X69!e)_wFT{JOfpTkesiL{3UiVVBqf z8c?#xY^I4Lg zK3?i+60jvn=WXu7rf;HAx1JZh+Yz(O(NbdR&K>0w7X_G2{`A)J@ufBF5_|S&KcDww z<)kzl%_oHiSM^+S+d0wA@KevHtcrBzY!+qZ#=iMe^%kgft?<_B*?3YRD6&1(E^7tD z+#R;9t~#%!+i&?>D9`_-d9U!mAp!oJ%S`HfdZwjXauv8=-s-0o-eZ!`^EKXUy@>su zWSQ#ru;a-=E}vw7KRB+OohQQZ!K>zC?kl#C;;yNpN18&D7+x7zTC7NP>N@0lsPFE^ z;H6hw3wxN)Gc~AhyDf2BLZM7~t>**=hKa}6s;@d1T=*<-hg0(HQH>e9`4}aiR0lB6 z3O^Xp$7gZY=w_O0va;}eKP|JId%2zkD~b-wR;=z2z4GVGPFZ(}<0d&QfhQz4-j`V^ ztC=)q?!{ew{0>zYb;=H!FfxGjH zMeI+N;`w=3TxZr-@Ut-Xe4dqZFXU5EGxwittccWN0Q5P6;H<@`yF zcW`^fW-GyTE{@%&n!ZRs)vI94_zD1dOIm@?iOJ-gw z6BIJ4{MF^GwD`%<&n0qyf*(!vdZ*d;#dZbbC;i-;w=6A}No=>;&3sut=JLhqQ-gcv zRV-W*V3uni=y!(WDVw;YyfWYN6<^OPuqGe!s*Gu4Ua`FMaeU*s;PdzhZXDKRlIHtX@co4to-MCRs8B$36*4I$w81$gr7l?~cdJZ1Z#Wd5Lp3 z&huC{=WR^i4~1_l86qCv6)Ju?Zwv3l%6TR8(k?COsS{1H3k+Vs%zXcKz$%4&3*j9- zg7dUIRL-AREb&BWPk?TlrcQl%A0J2FUaKn;PVHId_rS2OEK%|wPvCh7795+UQcZAkhJm8--)mz)d>v(q0dv^8z3~N0$ocQS(T{KVRu}lC< zAZyHuj$HLi%fnlfxjGvd*=1LR3LaZ5v*PtX6OUI)C)t%Zh%jt>Dv@XLvT@c__Gv{e z%#CNAChDXZ^?6DjzqIsc^hTSK1#EUIPd|D5UTmwG%>Q)Nnz{CSU;YSI{d?nXgP+46 zO_rlvtJF7~W$;PS?NNM?BK$fuebTcB$x|4<9(WQmIre9|yy5xZCWnwHmy0N?#RTn~als^5+L}&_4cPYuf{XeU>i|F5i}Hc|7jNQ8Uj! z+e4>I$d`XwzNh0zJ%`M1DF&wto7qF2OM9NRGTbJ!(%SL3?aGNtMIRS3+wy;2$zZ5( z@WGdp3m6yj{(gLQ2eYZ9nU9ofJI`YF`yyW_s>Cjs$5u8=w&jS52fO@ShR~e%xeHj& zpJI6Fy)#uV(0NCZ-{YPOr?pd4ofuy1_xq|O(aGg5>&hTk=wto&PI6cAxee|+#cfjF zE<53vGlzLg$?fqiS24`9Zku*9V&3BAReix*+ZTRacKdzswg?Z4ud4+gUN5u# zxUE4cX5kHS=6zbOX)Gy^+54l|F5EcJzHq^kYnM_)kMDTzYsU05?6di_C#eOM_U9I> z8!;YZclLFfai{0b&U5Zj8$PHk^wxLakXX1qLHI;u$by3`PdkF)3NbCtkah9=gIrd9h(ewD6t7Pt{3!^2mxV%w<&GcE|fsJ`;? znMb*Z;_gNd7IC3mMz>2APlAO0Gt{59-o;a5a`m3^iwgD~D-Yzb7Wug{xID19RZ#J= zE9>9$In9$#tTu9+7k{GY-oB}k*HvT~I3ENsf7rC{lE<%7lP`=$Vx~`uXXOMo-O;n% z9Km!Z0bC?a+po*Jl;+YkDTn zU#sO4BXHc}^~5fQ&*9Qda|%4(I|v@vR9P9^^PxK6bo-6v))gmhx+Z!YyYesONtb)V znger+9Ryc@+%ku2ZZwzi`HjnLcWKR!`_lhRU(56722a@)OtCLcPcS_1>@>}gr^LQ5 z%S3fX(~g`X!&_5C+4GA}E?{5cx>KQACRmkg{nMxI%PwD9`k!H11WR&L)|M=Td)Z9I zpBXeW3*?Sxy@}br-ZnGwuJoKQ2Uw(fL;cUJ@#;wkIj@sD&#-T|FLwfK8FO*+dZxu( zmpvy$u)clmlPMve7A2)oyrA|uYc&0xwYKl zpPb=qPi|xH%`#<{OTO`TYi>Wq;l^K8bY!9DxuR;uz$3|N=ZxGXl$IDhW?28Qt5LUs z@c>Io=~+7$m0Y)1Y!0RZw-s+3{`5B3wekQL|Yh@p7h2$pW1da^^zsfb~4N3z=0*r8g}WYlP3q6^d3BL;JI3Z zQmfa>-YEk9>@ts*-imcv&6;>jOZU=SNe4blhJRaCcc}Cg`HL`YZ1am=ctGTX({uY? zOWEt1O6%Ess)BYco^Z6di(#co(dPF~Oux!SPV}E{`X{TXss z)=UtxKgn6Jyve}T?Dlh6fA$}3hJGp{ImX z!#a*{FEYJ#Caz<@7w0ZAaiQbfIVHz3G9%a%Ee`zEoaFjBU*Yqe;29HEo&B>?W%9C1 ze3nWr4Vj(MviuTHuFMO`<_MOskk`v-o#wbRe4pi`X^wK-n?A9}XGt-caIjB#u0BWj z-lAFeOcO$j%nKWXjQ`$A?yFql$+O%-x;D#g#zeiFY*$XbeN|nZH1EWJhH~ch>>@qK z)RUs01{iRx6ui!Ot9(Q=KLsf9%`! zm}OpoBs=qp_fBTt)g_KQJ0A<}_*crEf6F0>->2_t;GIq}3I5&v%SFQjd2QTommT_zNxooasG;qP^Fya zY5x?zuDkw^%W&zDe~K4vT&+wplnj2(u9!L_o%xgK^ZyK6WP6vl)o1-a{UWsKc2;5K zN(E*8`O`Ds$1VO{d)98{hvvicRHxmuTqHj6egBzr*Go@W%I;XdXt~IXh+}7sZ|qO( z4SM$bLC20ApXE>P7FccgMQ;Ao>fm$B^eP@pepx@u{=sZJ)g9OOiM-lnwzg3GmhSqb zPgkX%O5VNDwyMlbe&s7%DL7%inLESRl?G1DeS0?siubmKue0i! zT={8R`P*5KCoXs)`;)hae|P_Dk5{X1ciI#fURwNg z?V`OMZ)dp$h~&O-e;T+j;%E8m+qPOET8|le9xZcr$zaJ4wc@+EtkbVpsc-M9$dFZ~ zcmLID8Az%eJA8S4)5;^nJr{4FyGH& zJn-c2We@I@O)Fl$_F7!Qet)S|LZ!#9+;a{KxZW%V7cjh>;b=5 zLZhc*)jSK6m(g_+>+ec@TfmUZJb99p;qoJqGc=#i_v)Np^nuOYAuFO=?aq4ZBE|)r z8CgOo|0tv_&V5zbw{N}|gTvcH?^Jh{tYoxyF8}sEK-<7l z$A6neaCeFp0ju~ z?_OAu@Ep0qTZ^1FJx@H;IN{&E8w)ruB|hzaQeAyTT)|prV`D>I@~l4JzBZ$`a~@1( zTh^qzO7Qb#=DiFirxx%Y_{t!7Yu-g0hg{`(H(zMJm3lt8@%lPmlibJZ6E8KWw!H1n z`p;0lEK70;S3?u~wF%y8Q8rDSkC|p0NIYOY?!e06ww>b?_q(SX46H8g$ao^{XYum2 z$GJ$q0~Rm+yIj@3&$z>G!f-X+hOvpi%7L-=?x}ApRXTpAUim#qOIg8Q?_BXo6NX1@ zcYcQy=EUgCVEM*2SEXx}sH6H`ca^xR2IZH3VvjP|JwENYlg&-DQ^DivZAtEz9zVIa z?vU-(pAu<#%;Q+G*EdF$qURcacQ9OD+o-3ZFLjw=ZseanDA?fhltKc+zh9 zs`$01O(NUVWetkz3v5yn_`OPxpD6QMB2!C?6&ydnLg<}#Y zPhraQd2>pZ3AXF4zCOu*t+rK9L+ydA9COZR45!a4@LZ7PRGO+{aVunfK<1`3X+gIS zO$$E1RQW`Jz{(w;+%hM~oB9+9IQ~8^!F;PhR%S+jN-;b0g}<+=jE*reH}_33bTHtz zHP|w7ajsp(LHUw?F9x1tD*P(B^DK_lOJ$|Z`DY=!GVp1h%5hoE&W4*EeLKIO-?4yw zL+6ITj_1p6pz8I=bsG5gN_m^DUTM+5$>Jz{WODh@Z-s4<$7=a-YHwLBvLu| zO*xYV_pJtb@l$3SpXZuIim9@EvHhDl!FZ?6`l}W1w89TK@UNE%VD>#UCpWn9p!&5r zd1en6Nmy6SYE|M^d-$?(R{b<->rZ?Z3>TOqgcZ`5e_eQ<5guoGP;SdrL*uu1JmYpQ zw>RuP@}%@AgXyyL$yJkf{*$?UMI`Wb-?D|D&mhx{Ij<^J8N&L>8oY;5)g=KT2Zrr^E~^dY4^*g?JHDy`&{z1 zhZ4shIetsIeN!wA4Q$wH6R7yp(cArYg`C!;pJmUoCen}gtnYw`+cRZK*c+^C3VpC}21DS-rEo(Nm-0(c+ zc5A|i!t*|%)z@a32eNVKHlGdVo+M)=e~(q6^t@N?&VXf_ZGIPk0L$-17qddrVPeyypq z5|h{Sl}9y$OlVrQVVW5+^3>MYO$g_nH_hrn~yUd5NVvCKPX(_`)zW^j@ffrNm>^Zve!c2Mn7sh`Qe z^SI6Bnr$k^CFfbXs;q8r=(XB$n(@|LMgC6{I4sUDRS?!@$znKnvFCD1?dctI#+N!P z7`~m4N?vz7(txS;j$8GAhE`^;C)0jMOuWoC?{wR98F{bV-F-6rQ$F`+Rliez_fGQb zf+cI5HFc+m$kT4Hx5qlkXj}tRAWGI8CVdvg*Sm zN50vW7GFgw_vPGK&D(7G)=zb2x4}tSV~3+!jb-coi#_EhEm(N|>xzksBWpGl?n#+c z{VVukr{H!qHxKn$tSKgMOAc5Dd#zh3sWQRv0^e1YPwsP6620XNv_##sn?Fse6ycf5 zesZ^@#N%fxo)+0T)CC?8(cT~}y20>-sbtc9tp|_SGWZHDd~W&W*_1OYicc`#nkn^@ zOSDquldb0aeEn%$?mNVem6t7O->JoDa7-k9;|jgCmjpKk@btME8T$yu95hv3a(WWOw@%_Udu{96}#WS-2A+Pq2K!Q*6*Jy){FO7$5>rkqfCe5+IB)K4cz=AL=H z5uuq8>&|?>o*(7g)jRpR?OA58Gc9^CIz2_~J|!y`guAQW?nw#Mahw}r5VYgj#AiHw z1v_5;EL~9Rl<9p!nR}Y@9Im4L-nszcXa9tKdz%ECPs;ilrKL^IDSX=9^Wd|?kqOK1 z-||$xG}V)PgOJ0wWq0It>Q^VZCukm+{8_NiDycE*0o&7CwYFKBxr<{A`gN?5mI`-V z*i$LnXBBL7w1jbvkfq6NiI+){21{~}3o-h3Dz|^HKBhM`Lwz1%v+T_{uF+F)}VXZ zBygeIX{IW^FAI;~)9mTr9q9OZnP^qnaW9Dt@pptOpG=;`P0qf$3fB}O>KJBA*USmvPu!gLKTli9Q*AmpPNiLWH{-B_1u+xSxlcQ zbLR+g9C#UYd+MiY4hL4A<5=^J=}hL-LrGJPtN8A-_j$mV#j)J=l>3fc`y*OsT%QE( z_I!M)Ve5&Vlf; zsTswsudFXHd2F`PnK-feB>T0Q$vPeTybY493}jyg8omFt!OdOni|LLDf|G2oZ)LEu zoH%3hgplHiXFZt>%W9uAe|MDC5OOV+_-STv;LhQ-?s=bt%GWzLep$ddIj7>_IsfHe z-vxD!0<)=3X^S@?NLk-s}n=3MYn% znjQY6cjxZ|R|ZE#j(h12`xY-1I;wNRP5f_@Tg6I2nUhT%+;3ez=_E}2)KGC^0oSR# zFqu13Rm{w}HuB7#p694g>}SZtn0nBrKdV(h=d4uIo|H*@q!>zG7Amu~HpCuC-F(#J zuwb%s!7KMF*V$Q9(kyJ-FD*Xf)t>dx>6=IilPLGz<|jR0@?ZM>z2fk$W5SJd>@R%` zmrQym%;1&4r1^pOGw;bmzrHIqsNJ}jtHP7q_|m`g!YN@19ka)_nd{69wRpojpN6uf zscv?7qkTxRJadNm`H9=-R0rSCT7T*=OOde;qMg^AXma@E-ENgDh_|I^_y((q)qUqKfk8vE!U|Q{IF~wbG2E&8N=d!+V z9WtG<@eY6Sy@dkK&p0D1j`GQxeL1fv5BD?v$2BOOOk8)a%JzBJ^@4>>{ z1%fxOXf)1@Fn6BAeDK$mOKt~N7H-kxDZCTF=D4jp5=P?vl6 z$77MlCdN!%J-e&YZTgp*3QJmhp0{|}#raHi>s$^-`L^H3FI<@vbNkrgVy&i%<6cW< zx-&}`75DvIS#EY=!Jh+sUe6luY_*yFP+QF6copjnB;uZFiu&F))v3JIWwsu@YaHQ6WOKh@m>r{t>xMl2bp`!GAEx)+7WP5t6;a& zzb!8gA6cx&abCBlK5CY1-@|Wu?lCe_3EB%n|6cg@H}hcQ?^l*@eLhb(xpn9F<6Bj) zTyV45dwTbV^HB^n-#L<$EV?G#5%yTFvaRfR-|2JJmz$4q2q{`0W3$any^-|zQiGDw zc83ED`^#p{7VUdebNJcu_^gzi#3E6)m?zWTcIk2JYZ*6RDOtCiZ#0unszv z91`@pckYSz9?cbDikllelqUuqm^d}L=c%8^vg2}h&cya_d^A^@XUcj1tgzmhMIr*V zE5w>zw7$z{M0P9l32!j9VXZkJ>mH+*xk{<0X1T>HYp&jJKFhO{EuY8~X|8S4y>_wZ zapJ>G_sgcqt8p~1>29h@-|H+=X zm(9r{6_QUIvr?Bd7aJG%aXy}v`$V^_QE84s9_P2CekV952hG)!l~cW8*q;1n)#1v1 zvD5(1^Jn|3mS-~d%!obwGo>Kw%4QCcyxSA6hSW{<;CPa(E~!;uK%q<%*FigE}c{=Fk-8|%(z+L{?1nt#g}G1P+>j%JmFz&pnOWoe6?~X27eto&u&TqjgH~Jgc z?;MZfn56UXeZuMI@+I>>tX!j}{Iq|bt<|jax675^Hr;s3ysj#&Z~F3SEgMxG;i((HXWG>^q}=-j<%* z5WBeV!8M(URwwe(Lwg-xL=;9(uja13Ba<+pFyy_?+GP%#jvaIlmHoGcJ=iWn$jSTk zAB%wYsoz&7vMgYDz{7uPdE2>53gHN>|bk+n0+1-CLbjs%LGTuFnhv6{a{JFkL zmWi7itk&J?c~Q#(ZDEy2HKqK&D;n^2XPm8JBo3il4VXdR|oa++(F}#oHy$ORN-2vEfNq z|0olnc*!L!v^7A_zUAxryy}pqNZp%npZuKWdV9O_(_fcTrs(Y!w-xDIv|3@yRPJN) ziAnBfuU}hf#(GK6kESq%K)grF5M{v%yISl9At}^r# zv1ZJixm5DD{Om~w3Qx)er|uEf5IlPP`n;`N+A>Eto)k8oSkh-H=Cm(e+CyI7>!Pvs zojRq@0UAH2&w0Gn=bdt*)w+nn6UXePif-WQel{t7VNQL!*R~I?MKfmco?4L4{Hyxf z$~)8g|6ll(^(jKZXU^v<6HokScpYxN%18A|lE;#uSDaiGclO6!z34BoW23oY)1R`J zG0&Eou3fg7%kth4fyJ`fS8QIFnd;mUNmj5fFl@72Yr*W(dgTlAtmBQ!Cz6uZ_qb937( z{=Iw0mT6j`%=olGNlSdEZEH-ULVsCAo`$(xb*QsWo1seAiURIjnc&A0Q<@9P*nE0c z96Y|(L+tId07l-Pzt=>3RkCh7t<+#En`hkBaYuEIHbajYo3Q$a=hr5gRL`@N`Fp2y z(E&@<%6&1(Hc!5-%&jjf-mN{)T<$B6SJLFaad#%qiu|4*5a=cRS*Y&C*To5H-cxmV zO3$xaS@mP`S>cV38yg$HJX&M4`rlV^ndh%VP3nL`&Sx3xUv}nQ}W45~ug$?XpN#%O)`J8eUn5?eO zxARyOQ1|Ks`_i!OclG?AJtDW`+lqHbR)v07yV#Q#^WcJExk<%8Id;E!Uq0)Y=ajn`EN2nCQr~Np z>S;EULqcBjmc@!?ivFjH8u)J5FXawUQBCY{S+2g(rtoFpgx}1bbB`n>d|4Lb&*k1G z_mgdIdfD1DF56{~oBA?*o%^UrvdHkn`&n7X_eO>EbMbM0KkM{8M~^Gl^0>D5r=0CQKK(4S+{-;| zPKNW`vQ%$#etMdG%;@;eNr`iY z2Ug7N)>CGUD6x37r1xgG{w%-hd6o-UPTcGiW|wIb$?;IW*CjsZ?F)uwyQkmz^g#9w zQ+-tDkvFG~YzS~OU{}7>p#JHx%E=AsGAm_YrtV0(uh0B@`Sz`*VNQ&<`>d|aPxlPZ zyYr;3gyDuaC(9)Ddk>>!x+Z1XR|t7@hQ%$oz;$G`oaf`G3?(ZrRr>$Bap1(`XJ;9# zq$8AieF}STJecp*IxpktZ5xN4KWmmR_`dS-T=U%LWknW`rhPM1TGe#OY3Df&CU(Qq zTii9BEFXmI@jv}7=i_lx8Ly28_GL{v4qEBI@+IS)qoNJx*D`0!lKgkBE{E~9-Bgox zlU!V~*xVSH8$+J8KRs72RB`gl@ zy3gBZ8oF6>pMQMRmnS{pZV%&~PZFT7PH!nN+qu{=Hn&oSw&=jg$B| zWM6HcaWCQdzRK?_59j3{UgsLIO>`>fNqa+?%aX=om(Nu;~iWi3k2dLr&Gzd-;|ze%#Z?Q4&+Ya6Zugj)P#yL5btrKdrdr5~jVQ zExN$^PN+sP_Gi-KH zQTW_<-P4ahrd-5m&t{g$$jZlg#=p9rcGv7lIpwrXU(}6v`ot8ZBE~x zi#knaET0&k$Z479HlKOUJ0~SwR5_X}`b_S`gzbT|rc_3_)=5h;$W0B>aQpjFxT!9& zYs2p;YqItCx9DP-P);61Tx7LMkHc}lL(6V-nQf~*>+ zFy*BDtc#+O$N1yd+Rh3M*vNXz>e(V8j~%Ye@4lWFc{)G;)Dck@*5ff37#1#m{^h9t zT*cJDChI?Uu55JbTj1Rzcw*J(+a|s<1l`YAFmGjuXcfGD=D{X8UY}Ig+md;Ob3(*E zX`B+CXO~bN+$|}wE2Tw6uFGqhNOVby}tw zAC&qG7P`xQVN5b}cfQiQ$Kb6a1M|~_luw+?4ht<;bX7jCJjX;qJ?(rI1J@gi2a|7K zn{B+O;8`fUtV7h);?`sS%z19E$~&dmF5OFbd!aUiQF-b{KMVEcvac9r=A}6vIL>@+ z+2K|1YmtOBKlKW}2N?%F6})4SvAqXwmBO@-Ly z?>^jo@870zb$ee#U&Or3)f1Hy=IuC^<zHZnks^n;Z!(x1l`9L|ejlhg(zjK0&+Mg!2DY1g4X1za*4k#qWY&Ce`E3ssl^uuW z7ELZ=m?*OE%Y*2B^cvyjk?1K&+z8MP(|w7;s=G7Slemaq8y-mhcN z>Ybe|a+YsBl^%2bXPCI?7Q?gNB8I2_+HXBpDJyJx5Il8$-bn_=s^VGPvb$reKN)+y zdZ5e_cBb;UUKFMnA!(_o2`{PYD%(`+U`v-&touVK2fWKQF4QGri~-)R}S zFV#+Sy|ss{q~NDv1OJc9z6=Z48O(~^r<_%KqaycsqsVfGhaa!^1m%5t!jhcvujF)e zhERfRS6TCmN}Eew5`0_}4DZc->h>wW$cCY}a7rxwN-hpj0?a5++J--5_zTQ<}w@J8M6u8|$LT=ft z$R+)T1}~3gxmGJ3aNe>pXZ~6{8wQ3PnL1O}Ngjcrn>b#-@by`f6x%6b^T|JpwNPmi zn+h9G@p)5g_P{NC?lQC1Z+tA#8|slW&v@1ZuOHkKtS39XPqCa9GnJ3yyt2sEl5h?W zNt@4s8?5hMJa21c6_OOY{OkdBi(gVK>$)X`jNMjWW{jA(ReCi~>+_d^2Mf*|ZnCwM z%?gK<29B4D*UB1oUi}Q#3 z$}sD$M>ADV9jn>m#3+CFtdZDc_0#s+*9kk5_7wJnEaeR1 zkg)Aows;yS*>p|3kaNd~-B*e|pRymHu~>P2T;_?j zQj^ZknP;FO`c-i0o!cLqk5#O!)Z8LudCoOVrzJJ`-S?GAQ=Q%_d@`OBVDd%Gaxv@V z)34ms_o{4YEr?{ed!g~#tbo;d2W-;kP5I;*IR98zeWetVD0=d( z1tolk=Q-MxEDb8WaY^k-VcV&`g{=&BN}SwVlIA_>JI+wI<>hKA^2GZxm&46oIX+3YnU}ffvDPLwhKUDOZs0W9EyLH|lQy4+J+sb3 z=0Wh(t2>UzM=@9CZjkvd_tilz`W@f$Hd)O{$}6pljQz70njGT2ZxHi%gUF^_mh^2J zOr{fOR?m;QytuP)w=EyXS*2amZi&mD7gfqVex)inda`aa*8;}#Yn{vfX&gY}r2L*d}t39x93HLQmwv?aqpW#D*uhwI~AKzu(uFzd_YoXe~D<96aud99{ zH}ytM?T_Av>!s?>g#8n({wR85ORJ;bijRHu=l52fe|zz_iT%;NcBha2Dw~tH6t`qx&^$huhY)Hw6b_x}t( zRBit*DVuJky7q&0s$FIBzwM`E{_MZ}as6hcPYiZ}CsZC(@gLi7VgF#>enH`f&yR0> z@OpOPw^~2eF3HW`Qtpl2!F{xK|$?~*Sg@RddroS_T2IR$n89(+l(3qOz>#yxliTW&KHqW@HR8(4LhRTL-2bP|nXkc4Z z{cY*Yr|0gpTD*SgQI=BY&9v_11nCblL7Ue|*t&1OG@sjkYNyAESFTEKmXkt)KiBMd zqahV0vu@qPZpN3sdWTG1Yh*q-y!1`$tl+-h6Oou{uN0krsXR4=a|3aD;Ade(xYu zxr*&tf`!bitP_QeKf4-LKC2kkUSbQGHP1xzO4$Oolh3>iIAy*vFSQf;%|64e@Y*!p zNi}EZ@Rfa8;gB+S!R6WkEj(ryYK9iyNylFzesUu6t3s*DMFy3Q^clx$4y-{$rNbWtn%r^5vjPSH1 z$#(V&7Z`8s-eCDx%hK(oQ9DB^^R@7aL_4~ylVpBWqmtF?23sV6|>@ zcc@>hQudl#ASL{JpNp{wSN1Yudn^Ir~IsHJYK~hIYlPrv56YX>}_+(?G`O& z&QRE$ZtH8)en4;oi(HZMLi`k1)gfGi#+8o#M=4F<-u+T7=LQ*wKbfTGhtF);xQ|( zY!CB4%Rj6X{V z7CgaSRH8%DXUU|xy{r))7duY8;`7h)Tr6=Wc}`E)2BpuBJLW!TNpAELUi3h~$UQ4% z!Q{n3%?jC;Qe3d6%=~IuNDsp%>YheuW!rh$2h7FH5ib zMf`oo^k~*6qaA{`Hm9#-31F6!yn6K*)0`(kmC1^~`)ZhHd^1)pRYDN#{%+Wu4)c#Dw^-Ok=OS`8u zPw+S{aw$aVh@YQcdE%C zEBFeN?~;_{Sy^rDNyT5@2FWh1Du3;@@z@UQjq`Rat!6l2m&g80^Jq_vRQ5*49ovfT zBn0K<kpi&c2!{Fk~#tnSgcyCrp1@aKe+2fiG&p1Lz;%lr(@ z{me3q=bs0&-dfW5-czX2@D_(H=StZtClta?aQQ2XDs7Arc;#oY)NtM1Q!_0ei>zy{ z3)*>p!6LJS{|x0_jO&^_H;SLRWn}$$Dc7=$mIZxPd|$Tn?KV&UdcLaH=4gWFgHMc) zMObG%>Cu|>^T~shZ_C;G913r*-)iK^$;zI$-11q+;@O!uuXKqmEn2u*NO?oZLG_jI z-}@!*NJyAdcvfR_umI-Uyv4Z17i>2^Ku*AR$+AaA8W&Q4i*Q?2bVbmf46(9;>RG!XI*~ zYyGnX3sFT&u88L{!KpWd^;?hEdzEB1a9Z!%!coSYcZjFo@u;D+mLGrIqq#cwf_}Do zo?oy``De>?)7#8E5_YOfE}whb{|tj{$CFtJ(=7X*S)@MU&tjN*^7n(DCxU^#yPm1v zR4cwbOC?R!slmO--z#K_9EZdL)=23zmB;d}dao-tnnYNfI9G3#Z1hEo&yP<__127t zf(2g~k{Z-z&X$xop5*GvZK2xu?RXW>^V2u(8lKB!*?m&I=c`f!zl9aQL9Q)_TANF$ z^nvq5Y#M@^`Lo$~C~sW0Nv^Ym2pGxZwBA|@YLwyK>yJK3`7Whf@u{&i*Y9F0)s%b%q(qf~JTfV+1 z$ozaN(f8&#HjkrWGdmp~78U-uocD0UkL6ERzNvUNO?p#$M%}p^57^ItS@B@o?MX)_ zUyz#6uWHVE@{K0LbcJ>aW#(-f?tQM>SIU-_g-f1@E3p0SQM0?^bh=`=ZtJrKv4qh2 z^6PR_rJauH`FYCB3EdiT@1iP~V*=mh0Gq~-Hy96`WpJAK_CzJ;gJkuk9%d(MHW>G9 zmF{5@Eb?RHwY%$PaJKnI0JDPAx`Q)BZO!>yE!94qys41<$Km^b2CkeBZfA_{Fkf11 z(dA_E@VPOPlDXmutg-#Kewdm zfsOO`6v00_8k3jZ2~3RbmRVKjmcaR-ICxbF;&jQWWVY4(=v6i+{Z{*q zNjp=00@qy)*z;sg)s=7~))!`dQx0pV*2UdjIr+q;W4lFqetlbXIEs-il&%Tidn+DI4rAG>(z&hXrhI%>@uCM03g>CL$5xz41MLU zvuxr!9_}5&2OiJMV7ja|?cj4+hgIL*v;J&+GWo2LbX!a6)VA7P!E>J^tn0q==XRfg z)~pTOdAr@uxO>e^4yrlB^H#w;FN;0oslW2Isj-KCW>nao&zit)uu$v9F@Kf9OEY3- z96l^(%lJ-n6I-NRMH~Oe^e>An%aW_+$Q1TXVffpr7&lYa_|~*CSKl}6vd5QlbcA@! z*I)78>uAJV=gC(dH7FJstqGX(efiowG20n<%2x)7-`(*zLw>DG`u2Ou7Uv4j%Uobi zJ*4;WLaFU%AETJc)k>!hx`!~YwTf+i8Y-ziODQF$$hc2~@zuTLq~g=^QVt#?u8cVepL^sg7BDJ(YJ0Rp^1-udntpHk9`F3N^s~#fdr>`n z&*iRiGnHvPU_5T37@?Qqt{BM2@#3zgQtzW4ojV_2Iw=^l8j3NqtN#qy-jnj_aYVOZ zPeRGBSr>GZSluGUPbc>NY5rrHxmeFEec|h_72e0nSBWVvU|ZvBV7PvIU-SOw4&Q{& z2@07{a+mvZ-;6c){W;^F?`Om32|rtN)2=1Gan{tg$p=)@^PL@-PF&i4Zof~!1x|ss z#LEq?Myy(V7aRM+O`gq8s_dNe*w%h2gO$mrbN3d=u`iYWs1ZA7;!B^t_h*iz$jvI9J$et7R$YFe7+UVWSUg zMVL{D;jyacYppD{=}D}!`m)?v?nldQ5&|taxR3ZBgi_JDUt&fA_R~<>2X)XYcQovZ3;X z)0u$BmLd(4&ncF@doJ@kB)h~-spnI14_9wu#K$Z1j?5}nS3NK6AbE_ z*9P}J=oIC&Jg@wpVSQNSDLwghhI0Z8Z@1i>*jHg1_jH|v$aV&~9ZE}hw~6(-t1#KV zoU~g};+AyANp|Iz4noH{J-%BUl>4i>&uLp>eGEh0SFqYxmA?TNV_adQ!5oWx=+i>=UoeIxY9MZ?^QyKHDsfO%dA+ zLLU6S!1B|XqjE>!3HGhF=gcOaurKf1Dxmc-x9)HMTJ?$A1#9kBD0MUZeJz=$cf45W zPTl;e+9xKtt(%c}TV$f^E~86&l~1ICzjMv#__lzBN0m{Moqcjo+7g}<_GM=MS*^iU z0@0T2dv$msa&Mg8kkGVzzK;~crq=MueN{qPk<67T%@<0}28SEu)gG64e`)E~-QwyT zEm|KAwp+f*U<#Sr)Nw-cxP=JEl%}Iq^Rl!{LuO7D=zXkHd~l`O6m9)!$7R{C&AP$K z=<2Ft{DwCyUHvKNL5Z_Uu}5SZd3VdUiyYa-`fZAO|K6S;rtn^tWaUEj6|c7Zu9(oU zbZ=i4>yD|7Iy;!R+AA-EeMzNXyp(RWCSxY6qrJWKl-~0CN*)f^@U1Rf{ z&;BY}Z28kIj#XcZnwiUTvNtvwgZcZEX5{?ok{ z%nTJ2%O+3)i&b>CjLb#Ls0-&%cJQ{U&VSLWzpV|TvspTUd8QNeMWlH0oj z-MtGYK~SU8CfoK=jpM(+IHag(v`129o(4A z$nd0$X;JztqbPCa3&~qKSd2`!ED`1M{OMu)@@=7Zbi$#7Y~Dgvmlp}1;+VWXC*aLe z23z)I{{%%PmC*8@BD>(-5=#=U{aLk|=Sh=QzgMK(-3_f%BRRBoF4%l(xxC_u^HmIe z&l5^L8hQ&D<))msa@*3e;eN1OjtW2sJ><+o`)ObjQ_`^{V?soWK?u3+ho z;tPe>RvlgGByjBH)(LMFtEJ|7vRwPE>|>C#@|B@O=iG-AUG`VVKRzFPX@TL232qDw zO}>_)f0hcWJAMxd=H^IYd%CUv-Npr5{LXYVmd%;m*wwOSUefX@W>YPSs-%j}@0jKz za;#kbsc)X$ug14s&WiU`CZDoC5%&A$v8m&zgK;Yzs{j zd$HrVVbYG1c_wt}PE#@zk;>?!jnlpM3J zzWnc!9Zz9tW#o)wVGrha)~7| zK&b5R<)Ah9lI2aKxr{20WirORZRKiWOzxYTxv(>-QepmXUvcf{Q#AX1<}F%tSb&31 zHi`97& z1GCDrC9Eer-DkAx9A8v>|JwW=8#z24Z?Io$xNd^ybe6ZWwpr#^5@&E4ZZ3ClUxf% z`)`8b{d-faY}$E__Up1xb*1Dy)0~7>^^IRwU2K%Usnp0KSLP|xWS0|kY(@}E zqWg!2>X05KBb~$VlNlacE)~kG?}5xIUQ_81nYse0gul);`PR(|vcDK6;ktr9AZrI{Y+A z8@G>}aK4GZEP2)K?@rx` z$MdT$b<`}G_Bj6(!!d2WTSgaC<9V-3to{_^Gg0f<%%2Sh7BqfrmOPYuU)`^2;@jZe z9DcEGRvTWPRnh&U!;xY)<=8y)35%cn`gm~J7N>BnS1e}_w)!~Mr78D3Td`((xR6O< z^A=4thl*dJKV^RMG@g`r$Y&U;xI@s*p_@V8%ULt#?eeynT_Ku@g(i(cQk&>M% z6C58ch?91ABl0=c~e7OIWt=%r_A1dE6sc=rcvxaK^E6!AZvFFU@Q?{O-xhm-Ae? z-neo7W8caUR^5Hf`riq&slS*06xsGk-rAb+)*eGsU9wk4wnzUut49yD?PO!Q#vE$jAfRU6tx}4g2qz6~7NsQPAX8i&noAxKT(q`k>6s z@`SZLDPMnuOpHFsWpm+#x7g3xHp>-@e_I5~TwFcx=9}8gdnFyWYd)>M&%R=9@{aBT zuQ0>Cp9)W|OjKOt_D}!4+*jEp{L?Kh)@K0fV`u&`iT<8hUz^6LEt+8VO=tPLzgp6n7jG_7U+~H{>y(j8PkGbn zKN7Fq4%m3CTF7RVu-)0y==g+6h5lW~Cuy~uEH@JCR+KH?>aVsW-cmW>Id7jc&n$*n z*;CsL4y!z#*k_cv&RZd4#!BWn=ATx)dna;>x67h5cge5fuCSevN@*=jkGC1HGF1zD zF{?d0_vWi<%x$rZGn?ifzEHYy$;_rtM`!Ro?zx;eFIldpm1qAEKTeZtkM=EY*74q0 zbo_!;mG3i4Rjyo_;3V&z3weaU&p&2(`|^K=^{#s|I9wZ(1B?n!E>B!N+2NmeUS09| znA{b2=ao5HZ*;nO@IgaXN=k6+!7su0R>#I{o_nfm?PZoP-1lTh+>$aaPt#|mhLDSMN=os; zg;~sr#nO_?CM!HvxBRnXHIw`8CWe3SZQa*~MXI*v^yaoCUif&_TT*DDmZhz;Okv0t z#*Nl<&&ed)>uE(BG%2_&m{j>_L5D)TDkDSTf#oVi4I396kmXo5wPA9V&2A&Eb!?nZ zW+mTS_F&`sb&TJZb}GB6PI;%y&b(H65l;&L`n_Tv>_<(CdguLTDCyd;JqPxY;>_T>bPwG zkE>-r#rujU`5I|%Ghk-ne440`kVNEQcUgs|&6 zmW7wOw`e||9C*TM!l^w4mS2|4Rqa^EaO3{LdHj3r9xUis^suXEh5BB;14hy9F=l7d zfB151RqC`cc*@LQo|VEBZ~VLOCbLsY+e_z}j9^@*|DyV2+ESyt%dzPnUXyZ4F1x#UyN=Zy7LY};rsS{aQ%);RI zJX2lbT;-$L`?YqQU@59tI_;i9Pz=+70G7>s&f6TACGKSDTc2d?Ok%eX*)*rg>`D3K zwK~zMyiz;Z`wV{tFh9Dfe(!|r3(tM$cBY<4?%~T4zq35^u{!&_DJwo5IV){0BiQfv zpW*qv$v4nE%pz}IWchE3Hs^~@AJ_A< zT3X|5H^262)1Lk_#Z|pr$Et42weqmv)toC%kZKR4^$Nja~TMGovHKmJ9U?U1!# zd2Bj^WA?>@g5E{y5mGId?OmguF%B*E`N=mxz(cpPc+eAGM z_3!Qba_xX^S>yH!i`TO;0fA=SyRR`cOD4U2Qtj~YG;J>1l}%|`fpr>XR@vfgIPm#@7w z^$s&jy!F$U3*|g`ysoX$_Cx}o(WQcrKUv%lCuv(x((D_&nW`Ig}+aq@gjp@R`?(ov@#jblvn z_5|O1tfI`o_`>?aCcSH^C$w&;Uz(A4W?xFPOwDqe3%ZR;i0#dZymG4A{f2j1<$>+U1UdprE|}Nl(H2{6J?8~`S_$~ zO*2}vU(a@2{W8j!XdS9+uOBbAAW?{GH4(U(a7@ zk9ecu*_7mInPPTYIYZmQ@dcd04&IBoa3T3dg7{pXcg z&rFts!7ATvHJGB!IJ(~KR4G_evMk0^A^7P!|FveC@`XK*+m5+f1<01YW41lGfbFof zM){=N+y5CF`sQ6V(OF}7y^q((LgK?s2A;16S1N=$?zY_**ms5DjpYO;BeT!*?t3-8 zY$^JgF5T}n&%0TGW&V_p4b@jGRXnB7Jpj4`)8pTL*DIUnakEN2No}R$2cOxxwgmSI+M#!=x&~mkz=!E5%R$`FUX3LdJc`JJM#II{$l3&4ORw zm+##_Z2=R5t>J6`WewVScYEi^B;RW5F>0PSm)*;C=ON==xd)HcX7KOHE&Md^NXXs; zZQlK=<)Z30Lb~4XFih?#Vpyi^mYO1Q$L{4@zl4xPkLQ;rF(rO_T-?O5Y)b>ris!$V zT-NQJ%8|F=tL>|>pV!|#X*|g7_hxD0S)&tex;K7ZiaxX?EpSo+4xSe^ z_INFE%ev6@c#&uBW5LJ8$s0tLx%TMs#|MVaT~c!F?efjcXO)fFfA0SEW#R70J9AF* z99Ue$W@P(vndvhJ4vPbf8|<~Z^d~=8;5&ZZo(iE^n-kq*8hx!;U>ekvoc$nd*)ev_UBo7tX%$O;3Srr zF^^w%G42*>=E>UFC-cc-L2Jdy(3Ag4j?Q#$Jz)8QW2I23j)TNwnU9Xz8;-Ece4Kah z%O;P7HG2eZiX2M|P$}9WUo}y!bAN?sMCq@pF6I#JNj+S@nJ0UE%Ii=zcm6cND){E2 z5>^QTcgNQ+Jtm~2OUk5hF+E8Xu`F>YPcAoAC_8q6L3vx|PD7sN1AjI9%@_=wA}0Rx zWtiJp=5^ss^7*ZvPeuIxGyJV;x)+&zYX0oWeTH2#*Kw~u(~vBqd6wCy^Hb5`^-HY` zr*VZdTb^HPTyXBIt^2hlazV?USsZ2MD|ql{?d_$`+LQYYo_slV`BqFr_>R{ByL;YQ zo@dTjbd4!RaZ1gdZ_DjG4!nOGc*xH#_23(Zm63fO@#il!NJ?@TR5DAPl@9r{^Tau~ z%xfo_Y}fV|*=EMcPtp2nwFEi^_ZGX{an!z07xHL#@p<;GZ{bsbr7fAH}z2D_1BdM3>!jkIVd5z3$S*`LloTd9=mvki5)#ZezCvsReG@ zO+S`@NIy8w=tJqdc_!8wX*2nLipUk7e0=44?CR`mRaSe?{y8ne`ETQl#_g{o|H*#b z*SJ1*@7ifgS+Ae|TGd~@11{~)__#i6lGin>(w{rFbc(ae z`k$U3*mw1N>XZ#0=RWqZtF$tIS##Q!*<;JD>f5$f8n@z76^fpGKO4>ZKy|?Z+s(ID z6+h?gPSI3gebDDuB_;p#XZYUm?K^g8*gRP9{D)uWd1a3SOpM>(Mx0=0op5g926vT7 znU@zE@Gacn@My8eDf_wm=M^=DsurLeT9uPf_6)T|J|$<8jZ zY&E}y-Ngg%G^7L{u?6Z|%9nf-S?FAIdwcqNlNC2vs>;slR2)ok+VgqVw5=j;m9smX zkIU`VNcDLi^X~m*j{u7UjD8g-m-8-W_&o8LW}Zipm$uBD^tJq3dfq-?Ds6Bx_;$~? z6;B)MVvmTiD^1`RSXA?758s!!jgJ}9*ROS2vM*d+tKR1F%_W_6B?rEl*g8ZiD|`@X zSl;E5(x$s=cg2JBt)?MAljkHnXPcmN+i^mV+-(0W2LEXxhs-MftYoQtFt2I;r-gTx z6j@)Ei!0hUg`rzI@6KV9{|pbMJzw6NEvQhiI#FHz%8YS+3dQvLu%6y@9VQ*l;{p#&iB?)>~&pHDvwD@zFGQ|W|_ueUe zazXK6QGtW`^%L0~^q88&mca;Da z!JhS!$1-Njn85bn`2;N?Nk4}Zug@|>D5m)E`)xTIKV9;P+?EMD1&hzITP)8Di(O;r zz{9fIQ1^Ssi9d$!Gn@+!)R|mrw}{(P>2pG~&+x5-P-++JJ%%95<0g~XEkg<{o-15p zla%@LxKA^g;gg4aumh)r(1gYVIVpV4=CTB7{C)7eanAQ;ETNOn+$mzW@0C8XLgGZh z@*f#Yi43XM=L}!pn_1A9{4;v;ogjCkFZb_XnxK4VQmAC%gklH5zjIS2cq%6}_LMEJ z6m&6Ie1EOUyH2JjAFMAgF1T-a@S6#Pyq@XvmC9?)oId4n+^~Eu`|{k1JNC}E=CEWr zH8;<@qRWtSajJ!~#RHjOuD@4aSYK_w-NU!!igBV$`i>I|Gt5`~*k87=h(osU-oy*5 zp6Qf5n3X@n{gj*GwJ9F5o^B`JWZrSAY?#p7JkgP{cuOs#Dd$YaTX%$SbcN0k=dx6h z^L*{6zkthGME!D~uX)h|9>;Trjc1wM)En4rd2L0E^Nw%RYKWNmXaK&rkjQ z*d|?6rb}FJCcC`hxy+5H3U{2IP$d<9f$4$gr%4XX3s%%!*68Jr`F{NKYTb<=p6hr# znS5_i#fQc73J)xLpf%4~h+FX5;ye9%2YVXlR0VHeHRtmeQAz6=Cr;Ulbj@w3-4P(U z*I!a(vRPfy5dlXF*({AEeV#^+=M1-8>D@D7LBamk&;xG88@`_R)9gEK)wkd0`%1=h z1{Lh{H2J4hGUs1f!0IuZbv{Gc@u*IlX~ja@*HvAa_&i(NFmay6OV7Czg;vhtYnoNY zcv11(;|nFv=KKhka6Vsm<=~#yL}{MBFV7Ag|J*pC!bGJZyM z{AYN{<#wmB=lNE}^aIWltb(KX4&PAw&~ZfgtX<9o*+vOl+bolb$&4&B?T=)>3O#1{ z_1m(qQai3xin%82*OY0#HSZJC?t@Qw7+<|#TVDv{{A}Xoslik6 zgaqsEfSApK(v8iZllPj&Fn>(@p|6hm8X6$ zw)xz6@a>PFW1OfNKb^h#sOLUcYmdkKGAC_t+)-rxcveXMJ(joICwF(Hy8C#>v|_rKQU`IzVR+#e5m_`XWdZP(db zby3}zY_Obc;}_$RlOsin`~bjF`M$+B9Wftws-J|8tSR5<7O zeB+XaiQR7nSM%*u_!azUJMT$J<>i-Vqy$dfJ*TiMtA6n`j>yj^51xPO!<0JBNRE}^ zgXJhb5#4c8)>R>Y#=6R{M{Q(xusWO% z3~amm`%FT*$bpH=3|F4ieS2@#cb?Us1UUbFdbX&~HBCkH%SqX+5QkIN=?fPyX>t~D zr3jvsZ?$@6a6CQq!DE^9Ym0ZdM${}-^_F4hy|kpe*tMN;$9o6CV=wrBM=(sjxAcTg zx!(KZYh6Ar*1NB7ck?J~(=oFmh6OA+_NSjEtM`0c_$kC~$pqV1GLm;=R!UeZ+h!e6 z^kUj`fywP&nDWp4_tYkpvoKjbZ*X@GT9W3&W@*doT0DU>%2j^ja6gGyh;(kYu4`W2W5-~G=}y**vx;VRMYGxD!E8TZylO)^UESy|-y zE`upEtv8W-;>+u6!;Tpg9vJARXDY>4W$-O`8pqDwi7G zc=tZ|)FP9xgyP1Dvs(AujOF6v4{~L2`&VJf!*A;wu5Ilj;SnL+#K0`Nz-gW^Px0$O zZwbRqxvy{A1T?fxSY~8-JkUu~&)`V%29bwyCt6bdPZ=2db-EcHmTQ|`&g4Jg!z&J3 zMiG;nJu7C+DVO-ON;9?0vRm5Wxb4f0XVxB&<>Qxq$#CAxb$Z!5``zz@Oj_NZ#y_;- z$~``<@H6k?ogy#ZUNgIY=W*HPV;X8_1tl4!=PUR0d|U2RZuV}mjNqktC*=cn$U2-? zn^R_Srcm_p!sR>G9SO~Su<^Xi=fE{R#~CYLwyk8~X)SE-E4;P(wA%5XDhFlzG~3q9 zjh0vRdA`>yoyn%Oc_3pM^WrUd__9V3E7)>YeOSQ@GK0jZu{VtIei%!R8Y(U0t4k<`~Pb({i2QeM<0n z&G#=$0-i^5p5R*WpFw=9^V3a2uQ<;K&YCU3UM&ATbA6kSm?V3ngW%%aghQJLTy<_!gqQRdAM+G@o>1j&hnF`;|S2;xPD7|5}o~5t%ZNNmP7;Tk`7Zx#>-tq0; zmE1R#ch7@qN0Oy?D12SOsmD?sWg@9;@n}J?bls}}<12k%Ro3kIS*gC@EXS%-3z&~G z?d@C`!7Y1s&YWEJWtuW9#h?D{T`6hC%4GAo@5)b(+n2vQYMi*T|5<#Ur^(Cz3>PPM z^B%0U_*Jsvw9=f$bD2*sD@vpnd|8;mD6`Te@w$Yvf>hX)6J?FtZI7y5?es2KSoP6k zIg79KJU5QFVcQrlI8A%y=PxtqOJDcJa4r9s>OkYX1UIXMzN;d^l67GRBp=WD_*b*x zxz=L4sZw{=ya=Db&pdCdvWIsLcLQ6I_2nql$=s4(ULN;i2-{Z9A;>6sPV;_xb!qN_ z$FhZ&=FIG9oowB4LLtc8%pmfFZNt|E99(vyZI5gXdqNhl#;D6w6=Z2XpL&JC(l**s zY4UkFk5cOmmXqW?9FcaCdEPVU`^sPyVKtF5g`x~b zM{WtH!^=f(F5z09p8B-m<*ixAOam;wDHI3#wRy~Sdmz2;a?lsXi3(`d zT^f>-@@Dsr-&9XuAOm1{ea#(8j-L}~Ksmr8?ciR^* z@6~2hR%Cy2;P{Fq>9-b4KK1qST9tL>ED`6g%Wc``;ZUw8vCg1YBSFPz&zi^+mdt%W zR|dSXulZ-Ya)Q#KL$3CnE6bPMH@oNfB5VSurl&!Z(+*1u+su6lLYlqI%$Liva<9GJ zzcX;ocUv}1rScSk9SnVLtPFOZ+$Y#9&&zyU&fd*aVePI`w(5S?L}$a^HqHR|&np!| zddpdV&PnWCz?m@fR9;;BGFy#G2~8t)=Dy5@p5%iD}YVe%}gCljAO zUU*XFQo;TT0r%%!jd!0}x-vg|aahFmz|OokKeD!wd@lzA9?)$NVuGMm=A0QZIGqYCeYNgiVBb-(-7|@W*T9v$Q`uFvdoW9Gl`m}K*9`QX^@vK2ra7Arb#mlp%(|>sU zF%EnmmixP}>VxJ>tH*_J4?JFfsX@`~HnT_Z`2beIT#v(Iud0%}WrR+im= zeyRJX*#&P;y8i5teZiRQe16`M&&O;vYxd5pxcp3c#fs#qsgi!hm-DN#eU&zwTfDr! zm1&pQy(g^JG1GV)?|xl=$M2H+?{#&Ffy%BXm7NvmV@j7hcKGF0_gNg%kXSX}Q2U&9 zpula-u%LniGPRn_@9!Mkp*weXb+FjOaKWbX?~k`Hm1UTe+*x*v?|v1_#!7_~511A_ z>FJ7TXfJr*c+~CHrS<0+ZdI~x-y6&nBxS_+fWf9PSh>A5cF7%f$Cn{_Gq!l0wsTZ2 zU#3-*#Fe|f&q}{0q}Q6|US!g#SH~r+tAi?&(ry&({HLI)(6ME41Djj4Y*yOAJFB-$ zRS@1S!nR#h*+aUD;f%ZG%YdIditdQLop<=wT%8X`C4}tNpC0_WDlYZFjG2jyjt8uF z{<xo~515*8dsKJBQpaIwhpSB7ELftKL9_`+1n-0Cp*mAFnLuQ zkMW$Re)V47?4DNk>E-uW zmkfGSY-K~fp5w4sz_!X&_dumcfn}26eUskbGx?|apS>Wz)W{^cg!$Obx;1+ZgDMNx zJMZT4Sim7U=g*B-MitAQj<}f@McZb1Ui`D()Xnj2=&X{y($Dge@w@w`2;Du|JmqJB zrL1+}4v#rK-%L)b8?N>ee#(9Rsek9h0OM^&7T*_4(s(2NmRsv=k&)Zxg(PpaRGc8h%)6xQ-;~K~0u@51ta}&n-QM3zYJ-?kh=k=a>t7dM z)$G@<^Rs$;OmqEHgD@v&g%dfY77JDG6y0RMzcoBSu8E= zZRMH9SzPpwOdmCpL+4167;KhB4x#BrKP&rz;AAW<*J@%Mt6$ezPzEElryJt1|tEGN6Z=86**4JbmOP~eUrWMcSW2!DEg-@8XU3!znG0T-M?2Jl2 ztpDEI1n)beq%C>U+KvCxN^OR3x3~8%b9FE1RWj&pP^@C~3EK9YVNQX=>+RR=wmb`y zNaordC*k1ZD~ z#jO5wV2+gT4K^M(W*(kz=c^o-uU%-rM=rXAc`HMF&qF7{%gZH}vqV}O9(Q1O(ptM_ zw}i9wJnN0;Y+of7>a-l0xUKBN6W(PF>X)6``7X=r2!C(?{B3P#NGpRn&mN-Aq zjU?V4_|L$#JGETsn8=1>6?XHkNX}w%KM>Q{c)(UOt^dq6t;Nrkxf_p$XD>6ZEOe{c zWF#%~Y+clZ8=o0oo~su24=goKX>ysUkoIEFydzhNJ1!pa*SJ%uJ^$MJdrPw0ds5!t zD$q7dNjkWB+U=8z4l7J!`Rwz04nvXVWH-q$w_B?`6soQ)a|`!v+~CRHcjLWJ_KIr( z?Uu(+?O4K6th@W6L<4g&Php@-PrAfG$#cbjR)s~xwiK<%D^G08+Sq11F@ zaog?kS#OGWPpUufwc$j=!_AZIVm^oF#k4TzJ#0L%{HR97RP#rv%msNKYYvniG(2Xm zZ(S+*I?&ThR>G+&q2Ir%uX?#>)9S#2EnvWSw{=$>iJ8x zd^YhkuvxHtU$K;92fNC1k<*Lzg(;jk^yh3B!#vkJ9L$oo#%IMAyt`Fomv_8tJSf!)41=mnL29dExN)q=d!mW12yK6ZeTdQ+no5`GVoN%-^g9 zza6%xZh!jiYjR&!cBJzmmFdeIEZ@|=F8L)C-QcO5TPE$)BYfbj&~201)5{r(jD54G zNcvA#Xg;2mx@U5yOOf&0!U+x%$Cn23M*P3@T{g>NVGC=hy`H7~(qbtYyl+G8ldtMr zbK8EaN2Kw3eoXz>Rfkrj3hg{7%keVg%{!lI7k4j^KE}Z?FYBcK=FI0;zASJOI?yD( zaPj4#AZ;~1Np_$6Ltl}^xEWN^BtUT|dwci8;;Xa5Do+vIb| zn~C$Sm(x^;M(uPl*s)ct#y{p?kOQzoOdsoZr zD{_+Q-#g>2?RHHowK=92b(|Z0X|MbCTu8Bb(9?Hl>Y6}_ z?Gp{UZfakhJ!_)~=X?X!6A$J+309u|Bz3}r#+TQYgohq`(RgR^dZrnIx!aOAS18-8 zkbQZqcE6U!X$^(vJ>{l6rxq*L#oqb*svzyon%ib92TX)_Oj7AO6mTb9{n@{%O0lb* zcSdVfNIsf!TxMNTUulxX&*~7nkcrJQ4e~SICcb?CpTmv{#PuQ=*^VGB0#cE#h31R46^E$hfN}%t_?4Q^DDnCrxG> zwJJ|v_^SHK#xoli+*>T|S5y^XDxPcF8eEi=V{-8Yxc}y%;q-rQ6*`M|Fb!-d_9eSAfS?=6WGyk02Fv5aMN zjJ{pc1pfj}_V)`z+!!WKJf|sPEU>bvdRh)ouv(!^^6Azad>oF~8q~J+Dx8dPNPETj zsx~XNV@r#a>87fW z&U8gOz58{w=3K*?A|`$X!AlF+^GX;P_^hkCO1r1U$Q5{;w0!TeT9M()QAJ~S3m1mZ zuP#eT95fU&Qv-NoN1# zr%t)_uJ_J6#Tf+=Jn!Cn+^`JINqO>^{mYW87kIRinuR_5{u$q!aZ#hgZLR~u#FHzR z_0Ch?lG5k6>XLYaNU!B9nJ*&qI=BT>FP|(?XktA1+G~~Kp=AaZPcG*^cXL?6beHq| zR*RNCfg=wz9-9~loR{fsIxzRnx1-+q%DJCzdKDjd@WDz>ODsa3SBuHruWoK8%QC|~ z@>BTysscBNsk%=W>@52wd~2qP%L%qO6AWi{oKn>aOa7ej_UlR&6$32>g)i!}@>@YrYk!tWmPwjv)8s1cpTAbBQL6WqSja8MbFS8BLfBP4US{5FWUlv= zD?QJuYofxDHlOFrjP+}IV;OpuF6Me=;9$dZSxQW+`|~#zD$Q)&yrTDLvE&I8#-JZtcO@`!{$9YBv2D`BN6dBpMJM~T zj!blWm|}50KPzNABU7HVr#f4MXyB6V2PU(&hl+Bo>^<47IHTvu)f2JBTOP~yRb3I! z3-W#0W_j+Z?FvRE*NKto5(z!-Mpn!Lj{QVyyGdxv>?W_bNJ3Q7*S9 zY4Q!Ovw{;=d$h*LtUT`=CU$d))|uy$&t)^uZ8*j0${=62#nCdrT+c&hU6vW+j?^TN z1II-kHks!>S;u+%*5q?(JSu_HSRR-^4N`9D5mR}>WH&WCgr)4&#@2?s-+N^DRCCRY zQn8CXn3FD>xqjyyiwC02eN(PwTxqkf==sm!m0-CvSwZ>f8wUI8`?uzc@GA@b?ogj2 zx0Que;^PGNGSO0oz@8pK2M(hhJ?rj#?D^caW|J?^*%=38dY8<3QoeHOJh6!>K^)9a z)%Pk+jA5ua@cijZ2j1T9jrszwKTW!u!EHE2?F~=5?mv@DPiGWwSHCvtp3x-3G8OaW z3tR9;zF7s$0{vsH5e3T9K1b$#k1A6TjnKB z_@ch7f@z(~hsV}!?D-lw=P|7#CEzM^NH@HcZvph&z@@dLKca>lA{~1CVSSq_)(j=6p zz7IIFd-l4^J;GgcmqtuiX)rwbXi=)Z(QeOAO@;4lUogbZ^XQjuJ5ywJrN~o>mC0z8 zyQHk`s*Gv&#+(zF8jLEI+XVhhW`6o){>oM1Og-yvO8jwE?44(1C1mkOFeHzKzerv?t6r)H@L3f) zv#GS?$b6{HT;CGA+d;N=h2m<#$>|l8;`TD*8_Rie06?YC>tSFzBGD-Es@%VRF zJErsqgunZB!8#`Th>(WIlZ4uSug)b?y;i9`-mX3;`1?w`B>g9ui+m3!#2;&nIx|T# z$f2mmsId9oT;r+TN;VU(_f6$-$`J@H&wC(zYr@KMg%crfxg5?iW-sF0er#dn={#lI zRTbTf6C?hKycAIU>7FByDJt7P<3EF*|0&1UUl**-@(De8N9KWC`<-B=&&t!YJv?k0 z`=)HX%lLcq{K77!Dftf%emU{d;bi1uUg-oO>8C1RR^0NQHg)^9&>x3BxO&Mqiv&FH znP4TwckO@#y9uMPNb)x89)TUpo;+Xfcv5|>%^|Vc2gyBxft&t3Jm>lA>jKWVkxEYH z&65u(&AIF)aHQcw5pNh%pyh<^CwmyXwyc?57oYcq!PDaAWPzXIOO*`;+gw#1q&j?G z63SB9-ZS58a*3DI!{+k5D~w9QhaND0J?dWYafR_a1=fGU6ThzXI~K?P@~BHu$cd0i ztPJif_wr<;dp=GK_L?rlnxg3RSlwp+q1pM{la4*;`|)MvyEZHKk+M{dI zGK&K%rrlGK2#NELn$doLdf=AAIbVMTe#^MX8S&$s$6JTFjnCK_nc5CmJO0hQXq^7s z@x0TXtMxiAw=Wr9o@cpoZHi~W+caf%?iU%dYdTdAvKEE>YW9@-t}AtfO}u&cUekoq z@(CMt&Q3o6X=$a+ieLXM7ECB^xxM9seM?Br{X^mG%S~R~P4j6#E}Nxqu)3pM&e75) zt%1*xYx%q@eX=+7+%BG%+tNDcTvG65iRT+vvS{Y`OtMV!AO%_kNy>bXF@h?RdeeAbis8 zX@^!Vug6Ov4VM>INei+&mOoS8&SO=+k|WaUlfz2~{>IchTnr*}Of|!6&m3%HW4CQp zQJu2#=BLMVy0Y&$Dz9lhc=D(J!!CxJLX{4iBhQuDFU>W2D=jhY`9g_hla4Ru_v%b3 zY&0&OzxT4;72yjtW`%4A$Sqzld`)8F)T@^N(ntS^G zl`Hu>Pc=1sw|JA8qVwmtzE}P{k^bomey-eRct(VGP0`_viyRzT9d2*lA9Hz$_U1DW zWcLVr&Q$jCI56*rOwtmL$vkB$6~}|$`hDt}yX4#7Or;~adx|`5qgItYu+RRT#{Jyecg^_ncy3BtDEvJhj$}EqYG&DJN8hBP7tDdDaNzZ7WUZ)dmVwPF&fc_QVxzwFEp z9qx1yp|*{;CE|59oH%Dc*G{a!u33hwYLS7o=fN)`54qf@r{$EL&th=PYxO*5t1<22 z6yCG9d%D(avbr<3`{3{U|5j~Ta%Vle@&bzmEUi=Tq?EmW8FZ{$OWxq|I?d?sfvXt! zuD-LnqElA$w9ob^gR9J&qJ4qRlMl*F(ENDJ#vrk>#ry|1*p4P2@h=Gk2$KubJVeT`|T6d0$>A z=P`W=FnsH%{EjU^OMdV7#xE=6*g0FCKa=J4x#af7D@Cx+_^8L6`@J%Zc=CT^3yeyf3vwe6hYoq%Kq@zcfERrsI!^cjjNR$8_#;l_D(37d~UL-c0$XV|*4%W7p;91~)Q=dC_z&J1m9xKaoEK_vzog-koqB7J^e8q!V zEIK!8a+1WA7cNrkse51+z20`eRCh}IlQ6$MwOXz&jVF^Q_Z1#BdBeP*OW{~TrQKX! zibg&Kfk&r|NEA(NfxC&^ZF;BushuK%Pdi*LH20ngS8F` z{K|=+&si?ueETGf@x+}UuQEzwZ{9rlr0>cN^Tnd6KPwJ?SsB_aJLh?>$r~1rNEH^j zTEmxqJ1Ql=Yy9kd?eF1esgP1t74$PXuj2KAqv|X8K7C&p@TBU&<=BgDhYUQ9Sp^Hc zc^JI9h&iP7LGUy6voGgm=qj=HpK5WJJiy#IYm&mz@}10m4hyGPwK+GwunJP2!T*A- z!i0OeQ;1HH2Ls=iGn>tf55Db+H0WYfsG4QQCa?Lc=X3Ctuq0NlYJny1?A@$k85+h!4hnmCM&pQ@r)* zgMm>d)3OhbWeOd5LpiwSJSbmoe#-pIdC8;N$L_jmzKRVkS9^FNc`Jj`+rYL13Wf8& zN^dTeZD*RRVHc?~=kcY*oh}*T)9n6cFwRR(C_N!xZX*@@U|nIOw~=!1jN`JsrpeZv ziC<)k9XR?TH!T0O^ydej?m1VoxyAHW_s3UFvOPb~FN5(g`y}g<1)`x(-Ie9OTxXY5 z`Cxcy;^l_rKLeNp)E+BLZa&8DmDAW|cK!A==?J+gi)`%PK4&S|@!HGaMY4s$SBd4j zHt>a6J2Rh%^L%V7v-?Qn;hKF@{xfVo#`a>)yTAi^ZIePi8wB^1%58}{!S>Egl0oo= zyGdS;;Q`6_UA>Dnb|2$B#>Q`=v}o?d37#?^ofv=L{jl=ja@Kox=hlfVSMO@EX5-q! zV0dYbLqqE3*K_7=i8{d&(y{HRkKpU0>N64onpKj!s=c{Z6x=* zMgElOk7|8tm*6w?i^7!&lNuHk7#}z)c)K#*q<79nwFXYfQ%!4(+zY*w13M#R58qpI z`}f|P%zay~26@PLTD*4PSQEK%%O~SmeZJ41gsHGSnfKN3h{Kw!qRjbaI?pG6-}(Nn zgKFWV+!-RTC!VXmv}$TgWkta9XDlJSnmQJ?cJHfZOeC+7O-l*}j z&Cx9vC~FX3FPnLutA(9e`?5)&--8grPv1-wWSrU*86G^E!O}44jK|xvZY`B9Ovdl3 zF5f+8eB%4EZA^t48Q&i86*h+6Q%UEYlRT&Ta$wiCw>vF<-@i2PJR4=iy}EfbeKt~+nbkH=4ru`zv|^K}6mtHtw$wpr{u0t+TE99MZh zZ)%cf<)=f>FFfmb)FAuYkK?i37KSF)0vX2nF+o~>>o;yHs(iNOx7C{6pYA=j2@;o7 z(D!2KOE`Hz?yr`xre#p&d7qH?=RDOV9;B`QnP4z^{z8idoJqASY&p(pWJY{ov)giG z%G}#is`xS;Qi5a{n+i0TLW}M+pIGsvTqgM``-;CAp5Yd^8(#;W*!}b=gYts&QH6Sk zmYEB_e(88XGF9d6u}nGfFn0CkTXUo=Ep5Ijl&_X#={wo5z?{85IOz70O==J4JYK4N zd!_V*{|rHz-`=WZi0t6;WBj_bK-#Kug^^##6Zxth3xoFoe%4p|_sp5VXZ8C^woFTj z_S=chR~Z&5D=n@$Y+Jj+aETU^h; zB`tB)m%I+T`R7NuP883X@%n(}va{NGT6gqoz8_^Ubgao&p0`!AHAUie-~6b=9`93= zkNZe@s%aezY&h|C0ZTfEQ=3fH_vI!>jn4LM;x0cD5v+#WR&+z(!N4G&YkB5cKNB7@Sh><_|xYZ|E5gZAb9SafZOik_m`S?@b5mK9H2cjqEq0B z`2+W?ZJV@Ly>oo)!?D=uw>QtjO%4s9CU>vKyUETckJW8)`J{hlvfi5yhL^W#Fs0qOB&K6fc;bzQ;9{PJ za9NF>kDtHV)~;N8Gt9}aQmsKaX#u-T^Ot3(Rk9EMbl>jfW|w#*BKgASz|#^XxBPdW zuVR>H-FipRS=9F6^7*=LejK)163GFDTS_0xZFzaOc$4Y*v*-Lx-Yz{*ZPal<^1+w0 z&dTD_6L+$8&Unna;{;=?$>U`Y-}*NExEcL4AVX*OhCLHs`ZRyfo+6Xnz$=$-DU;UL zPFK;}`V5Y1j@K}pu)!TvtxibxlPuNGztNdo*V3o`+6I%20^3wwf=FIud z4njJ$Mh2^|T)t&?D^B<`PrTqYyk5s-DD$u6VWCKBa`0z^2UQoCISl7dUsm~OR;0%*$LH%sVpjVw+&SgQ zGNI~HVwli-HLf}Hmok`!tk6nPfBOC`#~Zf0JC4WjZE5qLlB>SfUF8zf&LC-9hX(;H z2Lx^(Hun)dE^=~7fYAx2zRHD5)9=h~kDuOirEs+Yx4ueW#eykq?VpcD@CZ-+&+z)n zzQO>d_kA?pLnlW0m@e4r*@;|1<1PlT=nLY^q%DV9uuJF3CLq zWuTv6$eC5<$#Y6gWsD3Z^ykPeTB+-~(PVeCP_x{Or9Ev9@7OXo-dVDTan9of%UfIh z8PeA=y!3Yq+Qk{LQC>re6BI_#?&nie}T&)(;@H=1{tiQ3orMN3#Rk{1T zkO%XlicgAk{$9?w`5e1*pzn?yY0A=-604bt7#tRSJ798Q@ghTuSG*3BPF+fLxMe;0 z-g0A(kd0419yAr-z_C&2cwcd!maE52uf;uojeR^9e`a|7Hb{L6x8YC5lNMi>-93=f zEp=kmktZvEH=7DCaEjm&epRdGkjmfWDDmL&tn~$IZjs+t1Qea_nxGbA;%IozGQX<* z&8I~VXIuWhU9tSIRsLrN`&OO)XBHki&IflfbSi1i`%_TcD!6CWAy*&aD{1ql9h_b) z-1?aP+GO?uMZbH`FEyz1cYNYhD1E%ta5=x+(Nhn81+RU|X1jQM%(oTq%0BFnDSz#- z&d~jg*;nO-Z~Z2vb$q?W@UY*@d6V(?c821h&Jew;f#0hy7%EP&KaqTQ_x|O31rN(` zZZ$q#WUCSBG=F-}yxLWcO3J-Q1n;x0G->E7(VEf0Q1Rs3ibw5|g3H<0iWiyQ?syz5 zRiZM_{3bk-e$%=iXI?gpQqY_8pU*&jfbdTHI%N zYYEFlucz)7ua6o&p2Kj8A@12sFUP&&91J9sI`Z#Na@Rg7^1Am_%VKtw z2XbF-N+#=WttvduHp#MSTSS2yo3Xni@1$gb8)wA(xXV^9*wvMC$WVnrV%E9`KL4Tx zw|w}|pqEu0!XU89z?!dVf^bf6aB;f*`@(=X=Okr#N`D1>o?u{UH)EN@rPYQCtu}pC z7mPeV@N4+XFa{o-EFtYRC*jvc-RrkP^a}ed9!=1B-Ki9l@NxH220O_^X_B1QZl33# z`u91WKilM=cu?djGs}jbb840$~Td=Ztdd!seaB(Rt1_DA32G(yZ!X| zx~z7dNsq@G$72kEzSAU?d!sb@93Hbxa-DoeGDO+zUZpMnr9~6NpV}|Av&r>0-4s1> z_s*jp7Z)&gC;Y7{bPo`+6gAwDz~`6w`_UblbzaR4yoNV@DtadDNs(F=J1z8Qzw$DT zr%Z?U2*{p1VS6F?-<2lcPDLGCR@1fDG_LtH@4nm6M9G|#dj7(4nftUelij!OHTL=> zyI`5;ahrdoET04xOg!d(ZFN$Kx=w10GOI#)RL+K!_tWB_TEn)M zYZqrM$au&1_ipVfC$Ws%r?~~=#d;w}Wu;=9 z)BHVI;W<33KDn`P73;cq=%jvJm%|IqdC~T#pG~=aU-DUlsLEZ5*aiX1$1A@sJ<;nl z$tt1PTWCkT27{l0|5`_rd`$*p#ke_zFCDn%JauYdce1rzc_5{rl6n7shPbH_D>&zT z^fb7!`e{ST?dvNRco#{R8GCSsaV_8Rp!wc3*U0GXJZaBkc2lm+FBWJKi{Hbse98Ms zt&S`oUuj5OjZ}It|A>_N&-vz-uV+m@nLE>hdBc|#ce#$03GR?#oVSJH#WI$EU%LhG zORP+p;ITlIA$ej?+UgazcG^^zuQ)R4)I-k%@paV~Sk^p$*Q$_r=<%f~e|9EV9$=Yg zedR^NdgkTZy#zPh*GkF#eW)Rd%PmP^-Mg6wAFcL?bGm)J5GH*?-iz8e&=T`!!a%ENHun2r6<3t0ytmU zh~6^(p{Kd6|f??`zpNq8&S(O~^-N+-7&zr=&8SuEk6f_YQ@CFRZ7qh^X2SMFdnJf>y3 zP1_*Ne|BSd`J(6<2Us^=mU(`ukyANM@#&nD=NVsCO**UMa;DX*q3rqmYirz`=g(!D zQzCMEcf`{6ll=_BlNgVCF}Ur_ZVBl%a$wlRmC~9#neV3M`{O3jM@_im%s|6VOI-_O z=bu0J!1DEd5k`}qRcsZq#-Z2zwPH5Un`?Y-i!p;z8%^YEhfACuPqX zBf8F=PTh4RkEex!@7*KO)i-SGQn#u-fX;QU=iRhxj?tb ztVz4|%*g{^RvrixKh+daTlGI!0*k@DN#PwL@xu?SPxrdu}oM&rli@ddF)0Wi&KZ~3D z<8~|+Nc^U)caP)56RBBuJ6e9`HeLvB$=;FB^LV0zfYZE~<=u$iz02d3YoaCKihah;>!~K(k+|`q5s~= zTYg{ecE-VzemVhKle6tv?0<%RvO5%4>^(58basZ~ zruw-~pN&q5^vK?jcptRoLd>>A>!uVLxi434_nw}XlUi_iR)U>tTS8)hvr)pg6?TU; zp4kYo`$ug!wQ6Box$w(lnk{F7v*zv(^o-zosq!k6r$YVx;~!Zep3K5?);Y=q?P|G` z7T5b}-kvMj1xL?VNAoxaExvqh`2|k(9k(nd=ke=$O=pcz(p2d`w`k|~u4lsB>l}X{ z==ZAKyM0R6rg?=YQx7cLdWG}f1rDyWlN;|ZJnkH@_K?XV)1boB)j{hgbtt!bJYTV} zU$N}Dti{m)F;T^UB9Z6P(Xv{S>tc;A%HDazGO+*Ai5D85xSTE}JkD2Qgtx5gKPd8s`oM?H+h~M$0XQr^I zUBPpkgkWdm)0@+s7#T`dn%$9Y3^}%6Tln=`2Tlc*BF2~!lSRpD$|`e8*wCKTG(Wl%DiGl;Nl4aeamGXY&Dx+2HsL& z+P*@z_65_^_3u>$&T|*-<#*Eh5@vYgZNzqgYF#UPP(xnWx7p6 zAkt=VO_!w%k|T?mH5m_di;4ps3TV`Dtp`=i`oDHDws88%|7Tbq z*mTJ)+Cs-l?9n1~Uy;{569v{Vu&>K<%!vKWndHpi)l>d5$ZxfZBRfk^&9ap`LHl^P zPcln>`Lc3x<~1>k6ouM{=XljOE|gK!J=hnjd|Fm=v%e6NvpP%Pj<?q~3=Ofyd8YxxBpf&)l9<77zNaywH6#v1Mt~riLZy z&0j?rasuoR&Easlw|b6#-B;1Odp1sfV#ZhTWwpQwWq;ibMFw_T7+z;@;-3~EP{F=7 zvh|^l;?2+B-emResdk*Q>;2uyjla0&>OQ{HvBF&Or0z+U=YO(2Ua(CmY$&pe;cIJc z>EQ7@u5- zOFp^kQ^Z*Tp#z-k3M=yF&$WoU(|IZKdEy57DFv1?p%aV$U;eUR{?&G?Ys=MERz+CL zu5924s5tO#&0JR2rH`gM9ocd3-o35)N3QdwD@MGP`Fzm6RlQyOx6^m7GZUHn%k0nX zZEk&2E@gXrf^ur8^Y`NZS?ky)%$a|JYiVkhqU%A0CIkNb4{KRm|P)4ck%Ke>P`<7{j~71CN$vZdzzF?GF3dG2bXN&M@4>C49-G6Laq0YtDCRe`WJ#&I? z-|9#baxU<6J*-`#)*zlaUHj16_&s}`TuyMC^5;|pzhC>M87ez6dD@>omS$BE=7`*` zS1wn^)1Rjy>~iAS1$i~aopqo1W-c)D*6i)O`=?>~&r80~lpaj@DakIe{HD{oMUHBh z_@c|BIPcV~QgT>TQ1(S_q2Z?dnUbC7%+@bo>RGIGjwSj;V*d;-k5iRK3f4E~Pwo2X z@HX*VlUc{pN_C6#Rns!0PqE8uz7Ku7$WX)S&DoPGee;^TrawB-KEoI(Mk5|`bZak%$@SnlxNy#y-OWb_ih7LyNx{F9G|$!b)VPivhlUBR<_tzjDXR0a$CyA}(S z8kjU?>O^%TIKv87DaY^rWBVdmYTXli*`8*qxZ3kdzUw%DYVkcF$}zm|Xf2 z?xi$yZ-4h~*`3oeGo=50dcKU;EpPc0)|0pUcZDxiJE`(dptgT0L)4a3i(_tV{7b!( z19ms_i8ub$T4TiF=&AgGslt|3{?ie+;t54|dCiw5-(ZivXFlhgW6+-5v%E$p78&e3 zAgMO1EB-mpVH?pmnZ7$(LnIk3e(v?(s=k5u)5o)0;teeo=3iT5&B!Dft=q?@#UjjE zAdv7W+GO*@z42v+mqlg>&QzPMxJ)sEVWZ?CQ1671Qc$M8>yH>$H~g%+bF zv#ch=%iM>*tz;KWY}&iBVaX=#$JXwW5@+pRs%V9u<~dcwXq&m>Jx8d8yv7~J$0m$Q zG5=nxdb~ZS*&8JYMXQUiI~OoNaBE?kNj~kA41CDd9&w zPp41b()!YYn`64}q>AM0mzEhF>Nt0>Pki2=;DwE9ft^hMY_rtjwS0Fxe(AuUy(nCu zaZUk$-jt_P*$&QI{O-|$DMB-qpDOeA?O*CC7{@e^L4qZKd8z8hPfYeLkLG^XxKk0g zKIN*ou7_E7IQ#b)*Wual1CJ8^@w|E~{LlY`^(_5f zj(AOSpJXOKd4E=lxKjPD9mm;CCORaCsczsrdE&h7%1)7PbLOVXuZvDHDrPW0?7Z94 zyLe80tLL{CtxYK_-W0y|E9n(Dqio&u&)zFgY6{224-67YGX#%YGj82fTkKr(nRCkA zH4QAv3l~KkvM9Log}ci;y2&w;k%!HybjcdlsTtqq%sp&dc$VpDNGP(9+u|oE+*AE{fyu#Ls*ER2FgIwXIGgTMEhut(8mDdeGI3kZ z6OL#bhH~L!h0YxFgqdaDNm!T)*-R9E>c){|d_Jn~nu_dVh2mK(rfa7r_i6Z_m^1gt z^HNV9$F9u+235&l7x0`AUHr4w*S)kz_iD`?rsEO|xS2Di9Fs^8;?w-kpy0di@HW1z zB_1!z^Plc~@?7L;<~&zvKd#T`UpfejFsq6r%bQ6pz9I0SXC*Vkm*v*35~1getmiG8 zwb4rHq;lTly(a4zl{?O#)jPQ51Aly0?c%qA62%7&s{afYan?#!>`bvEAg4SLMeCr;gAzyuMzC!v>PWg(@_hx-qbad;^;=bm+b^&td zM8ve*s?wKf$#0ePKUHBjcV*Md84^tf30A^Bx60V^_?HIoluS4y>v_1KR4!GqEpyF#sZL#nC$(lx|t+m%Q{y45IDl@5FIYVK7 z;H`OkRvq8MQ@-qB#KSf|<9`1v(JqN|XAjy3`}gjYOJi6pXe4pxmBeJz8<(dUO-la@=eNaabX za&FmOa?VxDu#)Xs!j6LsJW@0C>{4y{qZkq4r=EEhE13lxbU({2 zkxKcvP%dlR=s^Y;TfFlXAW>*-dF4!W@zazHeZ{$NvToo9J_*`Lrl%Z zQ>j9!4som4Dvz(#UD40X|D)=XyW)w%DSXYgnWyGk6f9OKsMTOhH~td#+?Ll}#pT%2 zzQXtSrgVy{-haYuX>wDlVDV{Y$tQB4+XEDgp7i~AEE90*VX-2+t%0Vu?Cej*6OUz1 zj!`pspvQ1%HpkeO@_74xf zu3UUmE#&igpCGqYXQ%!?)OMya^}(Y?&S!$=rx+xkB+WZ@V)y2Q%sp2G^V5tx{%m}4 zCwKX7Ps^Y28Rs3?O+=;prtb5lTp`e;d4p!u0o3~#sf zwF-5%U6N)I>9(spCYi`v zKAzR3W;plEaqE3=?H)!>@ep9O`=TKD+Jx=lx|*TQtuK$UIx27byNT~k5T_)& z++4%J-I5OBcb4`CXsE6hcImij?d~^of$!68jtnKrTa^y2S~Ami(o)?Tddko&6Cn%8^4-sgh2oCHI`f}YZ&VRt|OxoiETWM$b@ zb!C}ipHS9%xkXL0FHEj7dU#plWmm8=>!AsSbGX)SWv*e`T*HI;DRUd!B==97p7f;4W|>Wj6y2A^_?RJpsf9`RcBlGQBcXt|4hGQ^ z=S>yzN}F&bI$d7z--p$Fvn`pIFJ;iEw3_&-fA^Oa@4|u>pSD+XO!V(dY+9}`tNUrv zTP4=>%iQ9gqqc^RLt%Ld-Y%{?;ddp$RK+)mVOs#Lig?y7ww zbLNfb@^fudBQ8%qd931n;C9~Lowj_uhTXyq?4q%Hx)W1Xc{sS(*c}6Bh6o(_rxH?8 z!0h#EL0?hkDM5z=D$f@#WIegKCthA^`dGxSAh&F$O!7?jpz2GxnVfQYS8s3O zDc&`CL$MHB?_}i-uV?icoqAq)+=g$9mud^+?H$LXdgmxwSJ%GJn#Nz0Y_+UniScAP zHg~0koH|boEf_b?kD6&LA$eedldH7my#uMgJ_m{ayjqrihfm9F`twgc$;;~oZI{V8Fxt>RA)$eRaf z9%b0rrriGgrN7{WB8x9ErOTT5Bm=nIGRx9eGH(swdb7~s{*@2DRweMUJz*IH_-PeTer#e*PiwY!^AH-0bf)8yV{es+%Vd6Dl7 zI-hcN?1E-KNoWpy!!a*P&&bo{=aQ2@8I`JgT&vYL$Q1ibU@*^-ZaDTniy@L<#en(up0CUP{W5cyIB8A64Oz{LUYnFQ^He|U zpENN%ZYS4^o0d-6O4dk{Z+|aB@AD;ahNN!GRNb z%@SY#YN<@Hejrf0@=OFzgX6bla~q1!)a+ric&9nxM8D+EP402lm)Y-0+AyB8zO*y8 zrTvywH5Y@&T}ursxr+BbTI<_(am%p5D)^#w zh8~+l@%bo*+|@NVv?p10O}(Mg>c3uT;h`t1q$1fqaO5yp$wx7i-!hx(WL@ajRaEw# z{f69CxhITekCj(0x%bS6?PuZjy&Rc0Hfl=pt)6?FU3O)Q(vF^<2Wc~(y>l?WKP&B} zQ2^t4r`indGX))z-YXbNm@m!Mdd~15nE5eJ72lWd*5RxEW;lyiH9lR*I)&$wqT@Nu z702@~-d^f%_Q->$cIV443z%GVH8_6!+?U|$w`zA8-`sDW_KBIqvn^n+3t)}Es8@@-4(JO8;3K_c@#PnQw zsmyv?^7(aHEw#{-NqYoOm^{@Ge#$=a(!6O39m+b3i~pQG{h;)ZmYdF9X^GceDLIwC zOXdXoRH$Cl5wf(K(wO1P2w}Yjp&~a|hY{BCGy*s}A3e;KP#$5mP zZkD&tO8;3D>&Ni&sDcjDLXKMwvgT6DOSw+Z`Jh!=X83lx$WjG(O+sflS}ALz_+vd3M!d1MHCbGtcwHI zrPMwNah=dONusZ9S+k~aegeC62-gB3!$}vX*cNfhX1-^7!{P3CZ^{HazVIeZDR)FJ$`_nV6J&*1dh)D0ZRST6c1CW`vrt~E*gAF3&cYpxbC=Cq zeLjxeXO{E^ffEyjx1=QZ9tm-kwk_=YYO}E8aO-*H<~dgkwIxn%Zj;@yFpF7$eL|~t z>x0KTm!E3T6Jfr?mG<@ir};C|nQb$Z3OtN>1bx_#i@l#ahkvcBgh8l-c`Sl}>IwvW8K4#{zEF zlk8Q`7TpWoA>Xi4>8|=YhbRB09B7Hj(`+!D#2>{Vrn}^XxOAVx674p#pw zsfJUr8!V1`^Pk~-GT$d@2CsTfJLgp9oy(kR4)1i7uy~R@tE6v9qtt%+>U-UVPoM0x z?v#*izch6ngUsS|$v2rF>plr8&0G9YW~lLI^}Zz+ zF00Qz$ZYfWtZmGc-!sn3W-xS@6sAt;j|nk~$%|PecE>7ttA}dtZL^Oz`ljUC$mdOA z*znB4C8s`0nMpu&&c_2MU;A|4owyg6E{Po@MaQ{g(Jyz~gn_vpJXCW^yf&srt6+;=VI{J4{vj_i{1!d`Z$^G}f7v zprPD6$?Ef2E2pwjE{_L|mu9A&f70H)_M=PY$+~XMD`WGnA>8?09^~3GDMYASO zXwb7uJ}FaYYQ1n~v4Tu8(-g=XPmxT{{HUoE8?~IA@n5w`JYK3x*x5HBU$`ExG+iD|6||9L9NW?p`K7?3LXU z53=|1s(qd)@w{)|6p!Ze>GQs<5b@gh{orw#VBZ*yYbGrZ@+>VaO-wreGpNrn{(JAM z&MA?f{k=;{Y_&u(&a4V%^?2HAAe%1`Aiy}OF2L$i(Vt}n%Vqk$YWquVNa7RX_P)N`)}ia2Ahxz zTALQ?THBQ!cJCbui;>i_r6{G$saurH*IR%dd&JcS$F<{aop`%k0iziqG zu&ffjkbZfo_K|yWm#RK?W$;{VyL*yZCfVeA(F&U{X~(TYiZmEHb{py(W_Yy3=(|nw zN?XIAC;KGb8IotUc{CR)+*$IRwW>ORiFu#zndg}@xuVi5(kvwy%5AgUCYd^HTz|@n z!9rvrzrl0K^NzF3m`nqo{7f%=+%t=5YRH2UNy(Q-Jp>OIezmX^6`v9NQ{v-aO!;*Q1H@+;Ha3Va3XWkWtynBp2^DIqPSLaL=wiYm) zJgdcgTDjp9xnph91Y2*|B@|h2T)=rL(KsjU#IX>5FIDM%p>y2-_tT-mLa_mr7UTbr zZ+~2#2Km2;M?-YnBNsrr(ngr>SDBXb+` z#wEQ{LVj;n_s`sXOfz}2MxW@%9Zwzvr%yfp?sIG4aaj$9Fvhk=1$-gT*LvIBi*fz4 zkLh`C_*Cy>W^x{{sza8@&QIrYdfb;GdhFP$7aTnck9pW_O{rOs`|?FqNG5low&4wt z{$o?;{(IE(!Qv>hv~p!pLS5u?$r&30{Fg^Hr5A5airH*t`O9VlMvbc!*_y8Msk5{u>P+w-)!+x-T`@`I%#~ zOzoMfVCA&TJrmk9&ONhr)6i)PSlY&&kaEE&qo=3f?8Mv5OT9NfWi(?B(E7={w_hcJ zt152B?WZrSx)|Kgm3^1BUD?WUYr%va&u2yENpcnn9lgxXCL4$E$LU)eW znIqeu`WNhAmOLJpwNr<)UJ9PrfbeYoQYs2sS zzUk(0yD2L>Xm`X$>&+L+7x*1*>y?n-!g{mcZ_A3@pNgG73oH*Td!MQFc&hqBQQ4!b zJs3W7vIv~++aeU*Du|@z{|PJh{Pf>CdSJXTO>-3V$&2zYuijqwa;N3t8UY z;$N`LS7G*h4Vy2^IAUTr&3k7Xgo|*!*mS|^K*Hb3=UsiSH_BB~cRVOPYs>MOYqyYX zp|{!z&WVl+Jgn+lnH7vZqSG$ywXk*HYRPaevZ|^}WaasHpK5nqDZa15;=q}7x1g#z zfZ?OXPNV#s)hLnKfE5d!6H+Y;ij@w*d?Kly*&&gc$m{qXa z#Hj+#96vuWh@4aly|rfM`^!shR&CMg_>nxve8KT3#tfI=Gq-s$JxJ#M`rgB+PoU2~ zD@*&RMwips))N!>md#TNO;!`PIGK}d!pM90EvwhZrikZXmh0$zYk>n@8*f`vEhTIkI)w+$vc5B1BG`Le_l@a82WyBfAF znHL$tdg9N^CGJ~R=jGmM<^2(yuO}JmZJ0A}-;@{IPJdoCvGGoUhQNu=bCF%2kFjM% zCil6X+AYJAF0o>rV=pH|b@{4~civAw-K@If)ME(|hNc^LJZ84GMK|3MeE(&oOQw*J zurj-as6tZDX_>wLHorrPjB^>~Cs`;2uq2(+p2~OXRaMUqnONJeU`(HddN)>yprsviG5%8vpEVnfIsA zLGZNs?5PKj71(+#HEMJ9-M#6KkmYjEybU{Z+jV=M{0rC^~V(%M$`#E1(ZPkf| zjoWAP9lki_LG#}X!4t2asr2nN+QHt%Fe_3rLWHp+L0sj_QeieF1Mv!$23MVFPgYDw z@8h?4@4F{Mx9jIoN9E>AOB=bJS~o3ttng>~$}cM)a!Bj#u-zW~u*Zl~oPj6Qev8R; zpO+lx3hsPje;mZR&ARD}0%LRFnlq`N7CHGl72cZ`-e<9WyWgKeZ;`GPp5+X`u9{z9 zeEumVwAA9Ca$iH$<=E{Wo5YUGA3iE3ZqebN~&&~_V?*s^9-LxzcG9|wLs!(MWusmr+Qmb;aRUU zvNfCgi)SU+-3sIGl#ny1+j3G;I>}PTtf+ccrZw9US$9j3-P>7}+4EWcg)r(E9SM=- zm)rYl*=3$j9iPnkXR|j3A64DDSX^<=_7Be$0?xH^S}zFq$}gfWcYVD}oA#~W=@u6A4t+s<6)A*#A1a8)1w zeo>=EKdUE8FfU~YiuP2>eXE%BxJh$^$(b`X`**qBtNe9!n(ldKyQzM+EN`CnW4QZW zM9!5VxgT8J^N*VXm(7^|U!lSj~l~7*5eU%zwPrp7%;Jw)r_LSX%AsIm-vL zCbX+RWqG`)Iq1&qLmh&4uhxn1dv)FYR$}wKP3Fo5Nu3u*6oU-Ui$v~kJv;4SINq0Q_)hCin~mRv2^ zvz(>5e~+eZFNcu2$K}(hmNt{DLt6J-`Q*Va`|;X5A&Czk|6I~|!SDEG*#aK#RnKKZ z%)J_%Vh^Q-_HOK5Ja4K@*qaTNzKZ!l)qNGqx6f2rb&w(O%H&H+Gu-)9r9FN(lq^^s zvs}T*E%CKl3>9me%n<$o1dJkZ=bt0GI`#G_HE4du4ysf-iP(v>-c}=&H8oEuFSOA$@Vpf zp~!NrJioI^(VAQ-HjTQMze-kZe(~|;b$N4^uc5NOSwF%qWy(eJSkIMy%JRwmKSR{s zl``r6%XBVjeQ=0LzPD9LLGz%b?dD4hE-lh!HsE11C^GcxWt^aK{M|82n=6x3+W&lV zv$?`mc;0eJc1cgeah>pmZ~rq~U%EBB?at;EG3KX=Ps%NuH|f|Wlb~aMe$G`FJUV9F z-cz$!r8Z+$1XsI*g~ZRgEvMHMOwfE~u;f2OR7s{zvymGEb5DT!hK;5>S=OJ4R`@RQ zWoa_c@+=-!35mElfihZM0V^1*OP1Ys*0EmVY4`oEtlgG*D;hk`Pg%toR8V2R)IK5R zOsKnTf0V~N7w)G<)6egC8L;=Jz@D(zTP8Q|pA*bDJ=~nz?k7j;gXBx|CjIR2C^+3$ zR2Z_}Gt_s@pCY%SdO5A=h$Wp-j*5!Mn6^7)Fx|4^xaM+BqUk{SN?C>CXQFj%Zr2{v z_qs`}QGDX$#9&pve96lVqCMYF+OA-H!L(?KN~wyV%Ub0gp|aoy%u7JMFYkZI|}5 zJj)=_le)pf;_?26KHjNKP7ezwU$=dg%B!G$>Tqd7bffnZ-6L7@>T_1GHLy)NDG_$Z z<9%P|=}$e3O^4T2h3M`R=Q#bTZ-<5bRIkkjPu+P8Y%@eBoa8#Hv}BV|w4(8S5pA}) zi6MD@jOUpqCAhRjoK(?cP!`qQIMMB=$HPtRTN$LE`0Qg~UTC|bGtNkM8GGOU=X*_` z8d*QljQRF5aCTFwHG`HPqwEUF0{1C5C%^JvD{$zQ*<*#m6R!gt%T94^PFN{wuv1CM znRm&*5(P02mWfmQise3kHhAs4|D50q!HL)RX(>ENKR2O)okgbD%dWz)w~gV1%5&4q zyNt%G)7 z&rfdnQ~UTrb@0-N54ojcE=Yt@raUSC$;;pRFKB5*`LsxLK+%Y07y1oyR; zA?eP4C_PEXwa z(N>dD>0tw(k)L1jQHMOcA_krUOB=4#b2p7dZSnMHtn!zgJs)y_SX={=g`u85sxjJ)pNped2Q<+}@OiQ;Cep|SN<*h|#OAcSPOv%FM z7KT3^CvKd7Znhxr?*lg!F3)`&F723fTtd4sh(&1rd}Yb^LASh(J>1yN?h(k6JU>&T zyX>81P+^#Yhl8NPEvJuf9r!KNEq*U3oVWA6zmKA7g~fB`uB1gX?#u3C_Bbpkd*j&o z_jOYk{xfXa-Edy-sU?GurA+XWdiC$=k`}9`>03@%^I}2ziky$(=ACTbdCdKXRvIXL zp8Dj*3C33jm8POsEDAn8DZDI`w)~Sam!#u^6q(?O2V$36eK&P5<1|~O+&_b_z$#FF z&bctpa<#gE>Yz9AUz=YxRs3hL2^2hXGh(`QMUwkd2fl)t2P9Nd8vm>eV&PdR{p{s5 zk&ogtxHvj$1onJcarN$rJGVU^Gn6kdxG zERUxD6gS$mM_7Q*F2Tq!=)i?(&lQA^%X{@MndLL%!(w~Iykf73d#*h=*CiXxEc=3S z@^{}k8n5c7`W{Z$)vFfR$0cWcYneyj6g`UrFOUBejhV^)GrfU5=IinU{~{0GadY2i z6~J`v%zUNgK6NHHnm67{QCRu--n5FleMz#rXL%%R)Es@?BREUX+Q@g)u9|ZW?;Fom ze-3i}v@ouSU#4V*=rduNZBHLGz6@IE7UOqZc0&fsI+ax+(+et}Fn6tM$~|0We@pIb z%7UWGpVjFgVr}RbA5%Ieqf$dy}tBJT0$iIQ6*h{L3PfruS~s zvygasZNf=CZqI|ZjBmZT%oPgziXHfVnrT}~DmTtbzxh}tzwEfI-IQyR1*b1IDs)ZQ zw5Z3d@bWB%-l>Ym0w!5J{;=F7Eu1x&VSQDW$0Y`%i06BKrA3duGqC>8pvBNTXX;bK zeC8WH!TqgRT@j6=4FH+-Vs-Ge8;i)`F7>E!Nn2jmY` zUshG|oMh0#SA5}D0E?TMf|00-;Dmcyq*wG?o@8ON)r@W0z*YH0_LV}nw4_nN-Fh#E z+zU-^5mT5vUW84%B{t80US9J=--ub7bFWN3FKO~SETv4Zc=CbcUJSF7*^lmGnAh;x zWB+c|B??KiE_qA$>u2~q{-fFRU}H(`DR-v|r3SgpvQH-7>8tKvY8mL1Yipel;&D^u z@%qFdmovuKKfZO~ITxMr%Bm+gjYs9@B394WUg??9r?tW}pZvNcGId7Hem%>R&*n9l zoK}9z=zsV3y(v#xHg%ly{?AZvu}C$-af0U#IY0iFVY=Hq&lMP0bvb3o3$9~}&U!rg z+U&g3M(>>eDBILcwdt7M@Utpq#oGW*rCu|K#j*zM&JGd9@|rwr+KY?W3*UMQ; zSNYa!rMBY4`A_3+E}8c5QFn>+1cS==o_BOKb(M?EawU1Je+T9l?Vf!yRoTLRs#4|V zhMxztC-JXeYWSe2_h~D;%;W&(D_a^SA2)HjsN<%4z-ap!k&wg=#d99VrG0Icb&9VD zSjxJJOZ;cpqA0K2)7YdbATF;TcrrN9CTDlk$H{XVU4ks)CzkW{h%R6X&2F-p!_fbk zYnJ`pl|MI6K2{whDH+Tupu=u+DW9b!)wZ~6%e#h&9(O+*{;CRI67Xi#VY@e0A$Dbt z+^z-LcV`~;WdGF`GwE(obuid4>08eRz_jI8|MxDtN|%fa5ar7#7I(1*s_3?|tpS+p|mSXLC=@a8+afWbiX)w}kh0_*00362~~*v?Cue6!c!sn=o@Ff3XtnSA{z z|4aXA5f8g}$nBe=ZOxkn4|g7vcs5OQR-}{boV>$&n&*}FbN5{Kl3my!DVyam^D)oAsEIGhY0>tni+-9-Zar{fxo2@_xY5_g60aR~Lae7S zxG}ydVAG7e7?4mr|KVe{iQNUFRn4=q)}LaukJDV@@nT8JoMST?+tshlE#y5BbT3bI zgTw7hGxIgel_zd_Y;izs%^i1>X%8pvJa1{c@(YuyWRH-C-GVPmdYG2Z+$Gp{KFX~t zEr%zed6K)xjfX0&2@B+!ZMgJruq3T0d)yx!wopim_b{_8$J>x4f<5`{+{Y~?Rx73X zxc45uZZfaysN$1jeuv!s+Al4f7~{LYAjm@6KQP$u0!R7oM0Xu6*%u$*F*LbVJ)0~g z%{XVy2?oi>vo^NnEpI$#t7Uuf*p3Nu>?&PTJa-8tI(W)!8_k>V#l~qqS=u^XtMXQ* z$;F!M(u+G!1X(ekSn=Hd?x!PFg}$3&*E#1Y$RD{HX}CP;N%pZfDUUBr3$nQ3XZ?Jy z%DQ7V>3N3DUsmk-pdz?=QpBGfvKm|4-dNqylx|P6xb0syW&Q-7S}m8`J?rhGe0XXO zTiE*YD4Cqx!nFFt+xPyFp#kYTU)a9vek%OAM5BN%`XckPKsVWXOm{!oQ-krTYVx04dpoH7ELN(ZYtj1H+SV)j_LQWTwqq2 z6d737;8%HKnXC3XcZuW9*OuK_UgGdL&)DZvV0_u-u^b z+qc?&$UU6^prIX;|WE#zW10 znn8&=jRkJf>nvXSddM(q98mf7Y#Pt9s06DA38kXBH@LOhPfPpNvafY}c>VPYey^lc zCnYnbGuYvaIBuaX!f5TOcU7yIef`-Ji_fS`y~ls4 zqtQv?>rxk%2ep0~jGJl>Xf6DG=Sk_&D5pyrlE*ksm~!qs7~tpd!Z!1whk1USM5BYy z7T3MDJ6CNwb)xJOdrinCAIUD`$>;cOwK&TrMb_o;FI8K|C@8@q)AyyjjXgiUs_5T4 zn`74L?AI?%X=i_8^Xu94Bg_}g^a7s$3=)kvKI77yc?Z%(zTCPI`{zG{RmzFRea;j6 zo||k>P@ZvUU24(I^UPnC>`{W-U!l*=0|%waBQ-MD+=ji3#u z^TX^O%}5S-lKcbweFn9fwhldq7C-0hv&uW_@=2hur%Y*{QkwOqC1Q`+ zXSwzBewKgjz+-R0I(xYfSI?gV<%yTo_xhY*cRuiTR+Fh>*TkOkvkac6RxlLbzcpKV zivLur5|P@)iNAOL`o8dtpHc93Ck@7gqEnpy=eJt9NW0xDuzWPhFoVJnp|>0lUd6@x-{oPmg7;IH|blK z(!ws#b_1_;LXT*FcY*W zx&&K3tH1=dK8;UKjg#+9owI_`ui{CtsK5LkOXanOlk*}@`1w0~on=%zHl;~AgC*tB z#3#xv)_nyYZ(V{4fBY(0DfuX)?btbuX$PG5*MIo(dRDTr_T$2XD@7v;*p=EOS!;h^ zT*1?DavI-`=Y3UImT1ZwSbSk;TUefPhk4>Ti+@`_inK7#Gj!?dm@cFdaA_NZEvu1r z&k2T}smJe`JeK>AoFg^q9vgGE%<~3Y&4>j()~Wvjta+|@s?XGX%pzB$l_|j2^7Z(o z32qW4$7M6NHgvWf%`?2;=oRJCoPN*Z&&x{-e@c2D>M5%Fo8g-LIeo>;m#z~8-x)sW za*#MV_qfEO)XyP}6Z`hAGE~-Ickka7#thNY=L;-W97u_IDxpX5;>9>bpwDPkDtY>vLuhvW`sAV;s@LZYY+xew}E+KO6?E6i4qAR=A?j+P| zS?@geK+se2z_;bMm6(6Ov&%ES{MzHiy>u42dY<6uNf(7aw<&LDzcJn~-qW?W#pAsMdtTwK1@n#G`V{f=SY0}HQ6RuT-7>*CsAD#ZHvh2( zzZ0ch4{DBoS$Y3-*qsEH=kJqNuX8`;XLyHep1NDiuD=|X3pPwkye#o}!>UWIb2q*0 zslCK+s<&zg|BZl$awvobL7Xtchw#`n?7z zS)T@#zvqV!T{&-mU+V}P*x7_0_pB61^U|PK3@m>b4V-tCv@RT2QyUi?3@4w@VknlK$z%N? zi&0xS;mMPt`3|%X68V?AO|yl={=~*|B%Jt+CgN=W`g3@$p(RxJ0kW zsp1Jv|G81#)>M>7EPEs#XP~P>cY|mZOR**nJp|2O3HMVc%4`xGe?f| zz0cEU_wURpzO{Cd&;pIX_vcOCuVhx7sPyy32g~PsJ+*i1&kD(XWuPS)S~00aUekup zRq33~CV?jZg)e@kbwIu1#;#~BJ7UI(65Qq-K}XL(`)^SFU z9HgURxZQ$z;++5`OOB9Z^?XygHXG*^`JZm=yPA0*^T=ES-k>nK zaq?NEvrj)5zA(^WGM4_C75VG)_RF_AM2_&Cc_1^-IEcM7d;+7*94_VQ*=k1Re0Qz* zwtQo>yWn8a(^uGhf4Rv6hoB?rUD6pWGV;e3X0N!;wP)^)B!0IvcT`%Ic`|&EUa@kqOH3-C?Fz=l znf0@$9o6hj?ewx^+UCF4>`h|GF-!LTrA*}>dp7?lS@Mms=co#MPxZVhC(S*IBpx%c zN~~DNyn(s!?)_U+Qxg^9?A|XoWe|+kaW1^$Y4=>_^3q6VMmdYu&2xf}y!gG?&BDGS ztuwHs@$}W z^4zp!-|%%wN3&ka?YVnC1_?{ql{L@b+jwm;>#d+83=#$GYeO$H1qD1fxlVY?c|7Sq!=>5sGx)Cb^vHS2YWOmIn_&FYS6$_a=yIFv%{-p=UWoy+4hK)X zeC?+tcxHCLvcy||H)iE--rtAkl&FN9*T`f$yq&uznR!-|!@}k@k-CQy9(7Ndpqa3f zAwk>RKX1yqhH#&qCwbTmw}gE3@Ax+3lf%PRyCl8pKJfH4NO^n47p-3TF4OVi`nJ&X52{WnOK?FE%^3rfd95DeRVCD zZyxm7_4vk>y2ROGhE?;fA9K=|^k;ysSu zo^$wSE@4vp=D_h>rpvkbDbM*9=?yzyWSmrg|5*95{94xvA>TQ|TmIbP%TSrIa?YO> zh2M95Un#)5!`9U`*L+sv)B?tXl25p%K1ow(l{oOAWPz=V(6Jb$CQlhA&3)Nx=0){! zK9_yDUgJ*L#}~!kVl`{@7_|@NWpH=uDbMf_VG${v}x^41#u;zl1KMg?c#O&@o*I|f#6 zT(U>$$=^5gny)qJ9QnhzeXC_zlkLGj8BzHCvJNc-|L=AB%Zj^ZWGeUAgJlw4b_j_%BW5TAd<1KiFAp zO4D%(yS>!`%qeOfQxnyDWSXzP4(hy`e3-#D^P)({JiFlI>$EsUn~hgU9Jr;yWa@90 zWU1ljx!f~5Z=*&l$K#$)uF@)*Augh9cXmxazt#5X9H&*cjVyB)H7NHbOWa6SoYGMH zt2j*g#)4_gWd(LqA}cM!GJYmlD2p)o|65=9$|`B~&u2DEvL|o1IR7%pd*_J*62}=X>1YK%dz|_F z>3I=`A9wGsI4)c4abmO3lP7&uUzgWhbP93ZG2ij5q2J{ucP|E;v)vmMY#G=VZ}0QB zu>P>%@BQG{!J2(3ciL5C3N-ErO9c0Q;fy<+;%NTs2+QP?-N*ien(+)lP#;em3Yqv){5iIb3!x=PAV!qk!zSY)!KVUe)7QwpB>bbGz24b7WsUU zI3G3R_NI-N2hKBJn$hul&w&~23%)EjS-@mCi9h+of{iO0|9yy`k}^5)%zTa8jmKHI zCaSRV_#Ak?O(UX<;Z*DNg$yMNIIfv?+8msgWNC7{=xpJ|&3*1!Q~#{!;FWt&%T{>Q zfQ7w*T_z<+>PEPR%%L<%8wUP3tI*jMk3z!?pZV@BJk;}T)uJ#r?Wa7#rv=}JDets) z<74{rby<*n)qjRvu@m1VA7I|yFR+$91{Tk1AF4=OSDLbiCpo7nV-79J1qQzNI3&+mm=^IIYckE5*Isy3K`G*%M3YBx z4_EKG17#29^faH-I)46{>~UrJbBm@5D5faLe9&w-d1uSLvNtKo8M21{J$j6h2JCg2 z7Z&~0N}bHde)hcNQh{SPZ&e&Gb`Y4UnsJwB=ivl9`>Eb+CpYlf1)fxzbwP5&MgzvW zAIv67Q&i>W)fzgmT(o;XW+q?;lMZ(~@Kk9*B}V9_u5sj$)GcaM^izxJf+ z3#=6hpAP64PJHdD^Ko}2=hoR}W|#LY-2F6gw|vE~;85kxIE&k9k0g>ROh~#0q1Igx7OZY559HC(Fs0qDv5(x{;;XcsvjC1 z4yjM4e4g*<@hn(TLV}q)*iqp?Ul>>6nwVbk;RZBT27qS?fWKez&A zB2OH!NuHH+@z2sfZxRY8JG9OdI^k^2WoyB-QbEn%NQS5U^-*6TZ%e~-2i8lM>6P z)9G$~iQ&t6g$^P;zf(C@xm70d%dd@U`MdlX$DYR$tInr!3o0{Do_suN(w(DQIA$+6 z^xy)^Gto%y=Q`~7M6P8{Qr?hfdCn?rqN-ryd6iGz1*|@oYgUytaXf$NAi!OA`_o3r zH~uEa`8i{HG-Niee4g>h>97JTdzqHnj>wOnnmArM2>KdtVcj_SfCrsAns&F`#{d7+} z|J1iUOzTC#U&k*CIL=L{~4ra zpGla(E+6P1C3t>!+O_weg$hHjpE7rgtjj&jV7}H_STv@I-PSP3@ma$qk+?mYHfx=k zjvjfWyKqYJfzbD%r&~`iTKBN`-qyrVKh9Y&PYgIMKV2dD%9o=G%5C8#r;`=?n0}T0 z)k+E;vZ@~h+aPMR+6YymqTe?4kx=GEoQcevnR$bohJhC3^s$Os;@wF;SdNFiah zP=n*!11lxJe5^`1k=)miG_i3?&lBF8tbW$zi&GN?#3Me;Jn^c)>Z8L<{eaVQTN*Jn`O=ZCeDGCAJ;nkx6E_?04wy)F&C2g(etTP4-%M*)39<<-?9QTABZH z4=Sn4H7(rCx9+mfQa6Lu+n4W;`x19}v%)-M1|f-kg$;L#?tEQ-QfAS8!(+vbv$mV= z3ChhWdBwk0r*U6wyRyuaz}ga~IfZP~&*U&};hp*Z-V#^N&)V~6{8>;UYO%GuNr{K? zG=FfQi^6tksnDOZxfl+}UAb_~_OeO0l!E$>^GeH|RT@}==g21qXf5e0J3Ni0H2%72 zR;F?*^JWImgLcbi@N`?8yKwG?O8ST8N`@>e6w)VmWt`|a#mG_`cx}$76Bjy8|8ri; zV9+)vb;1Ml`ar+!bB-K5!II9t*F$6h$Eu?0uKts$Nz4Uz_wq6rMJo1m1os|!`+Tyu z+)s~lX8n8CXfaFeey?TL*V0oQrW7bPys6@zam@4l zQuW!~XP+kDZLr}gp18wdGQ*JsUF`*ei3Y13Ca174JovKAxll=IO&6nm^{ki~CzTbL zKUZI#e!9qJ$=fSE#Xf8+1t*B=yZF(M@u%$Wq>*uIB~UmZYLGW zUuCry{bY(*%)0rQAFpqwwARB;i7zj*^{(pcPC0RQufwTTef!sDy%dVsQ#ntzwL!~x zQifoazHXDi;)1vxf3=+%lUVrYByX2ob6+o1!R>ZIRr1ofn`TGuJfC3ocvfcT8`rXw zX|9!g7AF}(*i3`F3){3C)r^BriXP{GmT1`2(0FM@+-aplAC7U{G2DG=UPq&9reZM5 zJBilE%nWj0!wb2e9+ilz`c-{d{A}XB>ZWs6zvK@siC0d$HocgEk3S&OKqz&Bpx&e7 z`Tp@)$zGqHNyyfIsxDs|Szh2q2JjckW=S!)n&cbUqD!NzANqKJjYVVcZhEmJ< zZs;s2Fbv)@?N!Z|qzJys1EwrR?H=EkNvw-jpByAD`oKcX;K`qzhfV!9&)t3X;5kN# z6-#`7P7P_;dwH$9((E>^lN(ZGR=&Q}G(GV@L*@?SpSf95wm;p^``tKdnO-*4ed@&i z8DcNJ76sHa7|sFRcz@<(yt=aeVMo`FXBl(1mwtO2_{_ED=aJ?Mf<48TX0q_CQF4t* zwm5G;)#uyqt4`}J52|jQ#qv!)*Yb0Do3zJao?r6uFT?uJ%cvQO zB9bw<;W)!OKL4NZqh_2={(tq$d4Y3E``S$74fdAVhi8D^2^$I_9MS~9-pzEYq+B-eA_pRb)~anHn~f-pXFM6P@!zOj>YT* zg-J$xp45L`RV`~5%9z&7-N&`9ILLOg(*iBN#m$!%_)c^%=dt*6)cae?gqfTNW%s)3 z9$gq38EpHB;a|uq&;F+lZWiZdE_lu@6ums(PSsKJ0h_(~Q`f0)*3_LfV%)lE$NO+8 zNjZ~ng{cxr_EAE|G$!ORRHe@=bQF@ht)gSZoNlq|(5uj}u$Z0{rp#j{LX|ahp3eyh z4{ItpoSP8ez-RH+q3Kpx$(dE$DNm=A%7h$?Fw0Y5dpY^u3Qm;?GkTPCSA{fQxV-ky zkNzoMjLnU29mG1r7&o6^kykI3qEfj)%tE=}@5liP>M`{U8N_bL{!OLeUiD%PRVncjb0mj`!3IUT76Z4;nT4Z!fo%rmokrq#^frL{mkOLFqOegTJrc)&$V1W)2wI4=`ISK{y_Bo`>@3A zvvN;GIx_csU-LVi$wbIWaQcsstFwC@AOBPeY`*htCCf?GX%_9LjtEtrv-%w@T=QYV z@wDp?r(as>k)H8=Nvr$1s#!a;KHZ7#xX^Hbsk-L^=SJ?f$*0oQnP1MY+ALF_R(ezM z&^iY8o`ldc-!+mK%ad7{=WW%W&3C{*?od-l`aFx?lEJAZlu!|T4S zo{TERw@>u%Q@kwGzFNG;Zmioq5z`x3WG`*1R-8Qa^7y9mAZrPS(4>(n#Rfh$JW!fSJ^^gRZ6jg(9#1D{*#PuKBzPK zd&zC#%y4zqzN#w)o?QJplh4QKE6w?=7U@&Te*Nbq#-ynye)f5YtPsjv`OqtvEPit4* zd26fEGOl;(EQ|*qgd_!gmy7uKu0k}^ zA$UOU%9@3KOg;5cQ?$0^^f>6wnff+}H8FpagYbJf`(Ia{Ix|Zo|32kbUbkiAN$o|G zDwx+<2Y2$$j9wXFl)*4VX!lhQ)=KrYhJvXb#>~ww(`Of~I*{IY)aFhVgT+Cm24y!* zJ-gt>6K6d(aU7S|V4jr|=yj^*3B&W|#uIM?W34}kdd5FGZo-&ng0M2z-YJjmHUGWU$mGtwRrc8OT;?*C{X0|sGq@L(%`tPYQZ)MM6fAe= z%L?XQUXcZN3w9njzBVGd_oAi-zsyRTwABG3=M7ozBWzX$U@|lxtX!AD_hZ1 z4wfS4!k;0NY*Jb*B^PcGh~o?wd%LrpXZ@!~O)O?diul|(Y`E4XN2sO-Pw@X3biP=B zno@_M$P7-=gTE&k+UqA?oAc?-!NBV)zpVPmwEELAOPQ3-lZD1+?gc6 zx8&o6V3jsYaaBHcW%i|}s)u?uem~1HS+Qq9u!O`bUZap(H;!36mYZ@i&!5&xI`=eH3;Sjqn5vSRw3N;8;CZE` zGeaK+etjRHz1z^KWz)wwrOP=PC%6dIY z1iQHE3#@ZK6dXz3r=^;(V6wK5zjXMDWw*D?^Wv=gc5$Bdr6pZ!l%M>P_o`(mbh`NO z<@R|-p3kP)E_lmjd^amdNw7)axoqt!>13V0m*Pnbh0*y`_vp?Xu>f0h|PwF9e1qyuKbQHTJZL{%tv31HOuo^ z{R{)uXC2P4j%ThoR_Gp}n`rjtmi?jC>8Epa<|LH9o;73hn$(JeHi^5smTf$7IhR4O z@%mZ?y(Nu_I(K*;7yb+Blu|swG+U=oht;RGt@_KiCH;Bl_f9=8vB0NLi|fQ+YgUUD z&nFwR^iIx~Zjk9Jdpecv&%|4cyvy4jSS|e7aPqjLhxvtV4D9ue%{^Db%M}Ae<3ye} zUYi#w&DbjB&}b(1{tDMLquo|3!*d$gKl~F-QV->-kd)yGVc0N1(aHG4qop^uZrhyB zzTC0P!E?jgI}Cq(-S$PT*6~`nyT7XF z=aL(_2O0N;C!dY#7M!@($mxqI&jaH;?cN(F;tYM=D`w=g9>}}9g6aIbxiuGTs~=6e z=X?A-cawkJv03ZX4-4_za{SHGqL816Z7{|p1`^K!pTgUh?tc?KC(ET5`(aNFbk zN=sRtm_%gi=L9eZIdw5gJZD$ls^>CEQljMLtfa}!6Yq;8G=$D>?sAA=vt3wt*5vHx zl*gH(5p#}jQ#*NHab?o&h9$-Grs_s`{dGU*clYB8_H9)mM=u;R>pNWPzPaa}g~aPy zb9#2W8HDsLzBb|D6Tzl)%Vl>iTbv?1$@)`O@U!03z}6G8tnSZ_&z)^v+`~B0fh#gX zc(+Ym$(K1ZHY&>6^RIO`3958l7_j5XlY-0;P9?63{8c*43qPx=Cnqcqe5HBBXu};g zI>={UP`&guJV8G8+()eLh`Icoi58KWlQ^FkJ#CL zYU1YFTEuyAapBX-t^=h(#zAL(Cvo)l@XgMWNb>mfV#n!}2f@n(Pb}PgqmSRw>leem zyr;744_)4fs2xc%{48V@63FqLr>}ZW$T(P3v)u)Dv?w_ob*WQGq$(kAPq`6nJ`TG+A`ZdhsfSiQiIorrNBqUCHTMyPTnZ>y6-ft}z1U z!C|uRyu9r19aRWgID=>6dC|CZ>GHyZkCr#Q>z{o2-b&NN{)4GO#b1`0Xgpcmyrr+< z@z<5I=f4~5c>UgE#m>*>#qV#;c&Bw*q(<|>940Nd{|w=K8@@ca!cgh1eEG7n$;34e zXKXn<$-vO-v5)_~si{f)=O-R_d>ORI=%mn!gfr|xg}%(X^Y~XB)!KHT++2CZlH=8V zO=4{}mh8-PLS|p`_z`De)0JeYAXHV{B{_3n#&pXUJ6Ccq3VpueoQ35wamkz4<*rQf zyD(p)s^)6Une%p>Kg+&+Uod;JcJuci|3X@iC{JVg9m4g-GUvH^zh72FU6I84ng`z& z=v`E@_OOU4Jm#u1`;Ae=G$`d&Ms-rI{ADqnhQZJ*T|z&Nk)xCpz8&TcO~ev3y7*-YyVG#-2~^q+b% zVUa=jbz3d9bjMGRxA9e7P|8>$vyJod#CcQon0oqVoDJH%Pw^Y;^BrGS_H24S?d{8Z z4JuEzeS4BLL-OkFqIH+Q8&n?UdK1iHA+pf>@Sc+MY7JtV7cX@DduhubmAx?V(?%VC zuY?nf4)VH2(M=w`#=F!-2hUf{ z4Ozx6TR0(u@mTEQGKb^Avs}7V*>!v7eL1;ErO4_--IR%wR*7EWDG4Zccl@GmxWe~! zPqO;0gC6qmvJYF}&bDxTkQqSbiTK(rHWgJ;$ zrpYc}ec^)Q8~MCv6By?_=*vvednG0Q;6KAW&1ruGHf?ykQn_p5?I%1l4#*@m2&Nhd z?kIWPCG(hZ$ML1^oG&cTtIyl=SjcnkgWrFyFnn_g^_Tl0o2k;OGWprl0(M)C?UT>+ z_cTaL+E$o6crgFpR#~>zfFqSzl`_F`=84U%iG7Y=mTRUIRUAB)d5&d;pak=)%#A!w zsXvzlcvv!AZWb2EUC8nK?@KeIIi+8+a`vn;rX zQyP!dJpS}-nx~Xafrs)ktB?vIo^|2u>bVR)xz`Ms?H*q*vkGGE4f%Rb%XE(0kNjO# zmzJz}@<#S=RRBvak5_*u|C!*>C78sSL8i%I##8g z_(Jod2eVj#rNvp( z)(j_YW+hK3uu3TQ50esI*p_y3iiV{vf8ed|>Vl2)=YGDDZ}L*s3|5`KYrl)ND`!_C`{eP_lq?@q`5DIk^%`Dg_NUe7+N6trGd2?S%FTb_tV{<^6$u z4=yktJ?H(rPA$4vd52aV ziA??Uy~(g~)`T}Y?jO@wsyzjTgblxYiyH2yTfK$E4%fa^i>S}RWun{o?bvB~XBX$6`7 ztlC4npT-t39!|e3GV202&$b)4nm7Ec=1N|0!@$jbzt`Hmm!Gt99yot#-ga$8)~D8c z4d-P>Fy8XLz3)@sVwub4mFX?k{tne4OD{HbB(%Lg?v083f(>KbSUIZEqm~VD~}7UXJ1}^X|;;3 zOha3a+>wt#Kbz!d7I;{4X|W43GadE%x8=!!Gp#3C3cGsFs7^2AIQjNg@0kYPz3w6+ zdgdOo(ag#UT@!Cga)c=`H-(g}@ZP-5z|HFUUTvS`hK6?ai4NS#Q~R}!ZkG{!`QC@? zphKL2#mVK)-?`>I-)EIH>3iml$7SN1E-*>lovwc{-`Q`wqQR1{FXwH!TE?}0@@0!< zC#_cSZe}PbvRq!hK)$q8CBo2kzipAj@vW|UKSj)^p1U{YrP-Sx4(0sMOImOAEikL< zd(_P^aru-Y&y}qQ<9D{@H3%LJE8slGXtA_qiNbE?NyU?jL()zg@f+)JU-4XdtFwqS z|0x6O3HDx7mxuS~R2N^El~gD{bH|*^OqL4{Z45qt-Q>sJn~cgo+(pi;s7Y6O{M6({ zoa>Zn_8RgU-xrw4Zs2pywLH0O%9+_`YF#bo87nAn&nkOqnVza3?>9wsC-)&Ej&m1# zdWvV26twn+hBr2FN<5k)+uX@KCwaj#lOt8t7fg5fDy?HPD(uQAF&g3 zuqQt9w7*(eAz`6D=gK6bQ@fWjH}+WvnH<>Af7{k7SXH&DS>T|(fr)^k$BmkvJ>O+t zS!_CSv-E_8O4-Uo%P!n_Qu3rQz{9U#1;5-LDTX<2vJ47r%$L6|^ORONslXFlzDqP_ z^2AF^b5}9Es$IdP(&@-@V)4A^E0Qy*(|bs#SIcV@k^%y?b-Y-}|_P zuxxYVlNL$Kc+Alulg<;l@%UPs$e9j05i*}_GaHV4x>fu3u;Az9OKTkrcCyP|jk8wm zofUNC`L(HYR@^W??|hcQuB<%v0F%X0r<(`v6uu8SCK{ZWKjoXOmgPeunLWM7%=!$E zGU#mNxRLVw>65fYS~qwva80s#ce?oeDTWuCDxYqM#$O3Bke0im!|>#*(!9XH`Z6c6 zoH^yIzMVOdqAsD{R~5A9=?;eKSq}DDOIlkhg3mqf%W_i`F?e}-snK1QR}KjUcKKO- zp5loea^fo%aE70@Id=1W&7}{`RXzH$uQa}^zc-UloVRGg9sj1@EuZJjT_O9f)1&X< zU(UD%g}%|*Gg40HYIxl8csA``C|7JaNxe&)EdLpJ85gkze@U5!(yK&6mXv?2G-S;Z44U%m`JmhAX%z1^HE3V)WLjbktL3Kx7M(^KfsDENKT0!HtY znww{>o}X2rEg_hw$zx0NhKhOdt=RWV|@Eq8eG z+n4?mEMiyo`7ttYuhL(!er+SO=ZGX$ zI&{|g-S;!f?ABg*Q(gJxz4^+G4JwC=C$Rfvwki0}*xMg`t5LnoQ~SW{se!xf_nuf9 zain`o$#I|Oc2_xTG>*p<`*&Wm_@?Kb{CR=IB$b(;x*52hRL#rWpVG5o%HIb?Y*`Mc zdoLy1Et}o0zqLSIMvCcsvboV$i?7RXpX6D5rhn2Yf918VEa#l_I#SHo-Wk6Sc6+Pn zs*wJ7-qk2GPi2k?8ocKVtb_Pc4?Hh?tS)jfTV#`@#H8|4%LiYUT82q4mMz%v+S}Rj zJ4cl4#&sU=vi2C8IP2{BZud1U`BR?d^Pc3T&ZRCEL8a#I*qtkgWoqF+;xrO9`GYJBs-_^NG6CzMzN zIG;RQH0ws&&zXMg3IW=J&gS=85~J^=e_WDuNp{s?hKH@1jKNO>im%TJndm5alKbTE zBYnjV867i9KAm{HUUucTZLgAz-sSA-5vY4>)0SpGX-?U)bxP6>7R(!8I%KrvIs6v= z_rCbj+-ED@dJK5j>k2)&T+W?WsoinlwfhX!bLTuPOqirO!{VnNW0&~8w9ibvro-JL z$ndNMM~C*jIgNc=C3gxgpM9KpzX(t5(Jc}2rk=-bD@=YY7i`#h;&E4JT69}v>Q9e< z0@YWFa_*$wDPXgd)nF>@c^lYJ_3>V3QE)?rEUPn1&zXY5`8j-rT~kaRv)%dRXFTr; zBiE6A>9Z9TH?Xre*lLB|5Gn9uvzrrA?q0I^^zYRtm{&fUFVe*1)wft-;w%Q$EXSaP7v~t7bD~t^qOl*CUf)YF({~jtYTz2c{!r3Jitj8TEo?mLEZyUR0 zg5JIE?KV==G^eQwZeUhPklT5b!Ouzb_HJ2rwppANeU}{gKmFOt?JeD?lQQ*9{jaMw z!TBwsmh1~kQ+!ZqLBx`It`U##cs@5ZaH}X=JtzHI!z8VmW|opijS=hR=L=UV*=Vv``x(xf zIS&lvGW)EEKN}@Z$nH36S1~Cdd1B=`#}zi4mGzz-aGq3ne=Cd7 zmed*BtmFUEyuQtt8H^qG~^DNFkcJ>yZVV8LFo#Ff}_6u85wOAq~<2dcl zEiO61!yi{+lQe_<9D_vQ^;~V2kB3&pTRfh8mPz*Mv5k_&O$_JUO_cXfZ+JfWM$*Fc z>8EnfPkYj5uhnO{yv)_Yclm_nYgu1REOOCc{`yr^GT$ud_#Cd1?SZ_zH<*_kH#u*n zqUymg`R4^gFa3KuRz=obB8wWD%WN~J7rE=ddvt0WTXnGVBoFpUj5$4@FMNH}xIF1n ztXrS^!oz8cD~+eIe5(GoOl7x-*n!6?Nt0CXFx=nq>scdzSdhovQ@^jAteKR{WF{f; zw8G@b-`j6XS-u}tGUSqS-oj_~WkLC_4cm=s7H)1l#;dyMM8vW1#sikGkNT`=5#Ya& z5X_P%bIQ-GM@}=lQ1GWv<-=!p{IymcXBJgj(sMiF0pl_Md@sQm!Do6^bN{u?)$}(p zPWgD^%QD-OH49~&BKE}|wp?*|&!kr6rwj?zzb+jSOwr!|UXFA5n@=Ys{#sv<;+^o& z;T-!q&5thU7Hl~Ab(y!`9R=T;GOSCTid%AL&(W<@vrp0jCgGyBT}tNuk!bePh> zaabl~yO&Gq#JV59_hxqPRE{_G$VquLLvZVsZh?sSMIR?$THZTTf$ISi!)fMgt8e@L zD^}TYz(ywI^USh|Vw`uFCOhz+J`#PJ$NWo9>58Z270qqh7d}}Y_4&AZ-8ox6`(tfe zKOH;sX$kYWLI(lW=hHtM#?6f={Bg-L4H;d$sYK) zy);s@^^O3)lXHaCd1wFU1)TayiGpq7hwC}zm+I)6a41jQp}fpW z?kmUcwu~9u3fS|Ey$vfD2f5#Ud0weO#wY9d+M7jlHVI!h`Mx7yb~JOrfkV%kR=+R3 zEf8??Tm(;`(XM3=>KeKjj3jSN^8drGv@lv>iNu`NywyF7KB0Rvc1{t$+2HSUbw+a8 zkx4sP_-DvhG4#3I6uYi&@#OJZGwYcXXURU@rte_+YYtWh)w!@`|3x9+d-^u+sU4d`MTL-bIw@US{JnvGQ zq+NPf#bsOJ52>cR#~j_x%Lo+*`)oWru`i^rtwG@SK}|+^yTe-rqj=ux&Z`SuQd&Q8 zk;TFD*OvWMZm;_|$+~Q1HDl~T-yf`P{x&J~Ustqv*$&)Ni<)>XV+NAfN!T3kJVrIF|>bB$T{Y!%`b}lI0 zQR4Es?arSAeOI3EObZm)=(1O? zi56mTlr=nRa7OabGCy(47nUn;pPHi6v3|!_hR5=Oo+@6eC+%RKe{I?UWHr z_GxK6Db?Au-#@ExTjx)iY0M3UK1`Q8pL|w3G)M5u7m>Ax5)A9V^=G-aX9jRSUvb`l zshP_x6(&*MjYZ+*_e>b3?Mqov?iN1zpv~W`3WplO9X%g7j=F5OPG)oAir`~>k(IHo z`=e4LXq$lKh4s@!3a_&*sBE6M^NZz5)zWEVf(GX*6hd9Q5*6QhNIVu{n6%rt$fo8xif#JxVC8r{BE;dlSy85;c#(!0mBFPWWOC2 z{S|rcPWE1FqEh5v_dV|0bK$@w3FRB7RFa#I`M>nkNYgsCfT^H3$U=eX2E(s!OD6Cx z^cLVR^!mozX4uiAc{2E%*y@uq>^bWgwR>vz{0iw3K6_hQ$l>cbHqDbc?*;Fw`3FvJ z(3+gXsWV%!<9jl*jMRnAQ!o7ccsl*M`^ zXv)MLPk82pzOE3d`})J;uVKs|t4WSC0`dy~Ft1#ju_V1Swlkpih3cJ|hrE`V%gD7~ zTJg$YPr+oVyyug{e2=&`Snqh;)%7XpVonIV-2Q7#fs@vhCr(*;T%+PB*FTTi6D#H< zZodB7+i1=Aw&!^qvYwA$`c)=$mYqCS5ptCIdZIw`Gxk1?<;)EnvR1Q_1TENvC*ELm zd#_u|XRpOB;%T&I;?`_P_czy2AitadadUKiM^Cq{<1$ocwDi7q> zeKpdUXW@Tdrg%GH)0jFBf_7=Y+TRi5;Oo9V`y4JQeMkx5>p}f?VY* zEw?twpl}T(?JXawYcu5}Zluesd@wQ4X3jf?R`zw)mxCU8Ch-L`tSg+Cp)>i+q2!9Y zeOtDvzcpaXT{5T7c9oLs{;Q4WnbnreuPHdDBysS(OiBRr)x=Ea)hDHwD;D?^tJiXWkb^1%nfOUvqCBk}2@7ns&_W=8hE- zuNYs3s(zZ$VxfDRouyW*VqU}nbr!*?%=`C-xO~%F>=dK?>q&FiqV^osa~$g2ZzDe( zeCD+|IgkB}mHe@_Kc5CC%h_ss%rvpwuzG)j%!G>9zMf)CA}efa7IdxF`4sEs_O8dD z_h<0ib!>Ov%naq-(pSLW3`)&p)-AQ?Fc0MpXN=K;_C^DoV|7HRl_1SqcAH zwdGm{cl3hC_Gb5**1h@3*if^t<>Rb)Rj&yjWu6Fj3Ga|>x@Yl}e{Vxz!^{U)K6e*# z++v#dw{p?5`_%%{w=-7d%D&lLnRx8TKLJaTxF;tTw^dII77RVlb9lwll!(t_A}Po6b(|5uP>cZRm!B z1xHGcGp&y16fAu9q^BrzflA7~1>z59D==AyEIl>VB}ryd#q%!D%3GlhPadRyUD}fy z6e1LPQ1^8h>*?|Y`>LnYCoGuvRpj#Aw|nH+svg^2Y4CF>DigKTTHL?X$~$Bx=Tv5y zMCJe%yR1{4<_d-f&$FBA&sxEfb2Q@1am#OKbpnp%p8G2EKxtOQWzO%@Z~O|7<`Zl5 zpFi<)+3SFl!qN>sJ?uI4S{v0q${F8YmO1hLKbvG5ndepm6GqPgBQCCrrtbNd&x>Zs)^I(+wD0F9@d_+wXfW^q};2V#8TvK!Cc54c$nK{ z_sNsN$0d$RZ!^;RJnun)mdg&;LhhB8Utcdg$^)oW%5(_p?3tmzDOlE4}9J%sZt;cb$8$*-MRot--3*EZs zSf=_7rtR$O1H%??3plN_SHLsd(TZV zqNr*X!`zeF-~Eb@TCn%>b{aNF-Xynr%mR|^Q8)kvwS?aUY}G@ zu;qhd=V=4!hTA>gmZqxt9_O8W+45f~>q~vUvq$~vKFD0!deT2|wa&5J*J>i47=4n~ za7669<$h+Tvcw9doK~K~J_d`UQQ-lHBL0;zOB?oF%w=1rwfJaT=K*HvHmi%Lcu%Yf znOFJT`m#+x=`-n@o z*~QN`)oDI;NR8pK@c2T#m3Q`L`Cry%Z3@H*K0d1lY&9YXwBQ!hy>aVyI_shh%}{jRYo^Xq@L3{Vm!(0`2-8~y(Y){ zC#@;|6Y)0i?WZZOyJd>1pH05Vws>0RQh5Uw8FO}vl~SHvZyjHLS*DN>o*=>AHBD1w z{tPCE2lCGYyv2ldxPr=c7JPp+<-D}sQ}z6~xtW`eO%kZtlUUzzIVHAPaaZG~ZwvI; zOr}N)v07JOQubLde|87sXG066X-qDu1;umT$)B1iTs-yZ=_2D3@?MOuZ2Zb6_M{YK zzBuuEPmys?h{wWHJ9rF=PE{~s_`W3G zLdJLd-#JwwCz4Aa@a;IcDw^S`o9kU=2F^nb^-Ep9&7Xf-qvHMRAT4qA^NAA-mdjjG zu`^gb$6iHl%7N-t=ZY?BCttbzP4h{rfyIGmi}aEVkG-f%{ND6I^XU?y28k87dl!7D zeI>PlXNF1Vj5g`Z+b=C~Hm>mKN*X?-l1wrPXJ6yB%TL+pD0;oRX}+ zin=p1J}2c&K38?=&#T>h5y=w&woLSVGLfsf!D`}B21`bnUqzYo5_%L{rYZb=_GS5& z%3$^6V_BRkpDyHRSw4|#Yg)Um<$Y1i`v8NTCx4Y4Rorneq$gdrKT1HS(3pXn@xZZq zu0GXD$yqV1cg)^C{=C2}`Q|kTC&Bs4G6Q8;9d9uBdM#$J>e=|(SKM-nhL54-!7mFI zM!2&$+3X&1%%n{RzMnr(zQyv?utXV9v7QTXYEd!6O7^Ad*a_doZU z{SHnR5^+BmV7uST!H!iy_7q=LO31fsAKka-Bvz+{1R1NOKC(BIVSD*?Wo}A%k9CQ% ztp?*I$EW-6>P|jgb!o8}o6?Qr&a*sK;uYib%4HZVA1zMrFW@^;CLhIK6xLkM*iuj-U>TcoP>ma$TF=L&fq=(T8EzcMJKB491+&fR)Igmc@Yg&NU zlalkxMV%f_bLWZ?SiT^yCA2$nlXc#ms6|Q3l9GGF?JKIUwtC!@c&m_*yiZGFk&p+I z;HUXBx)>&Sv>ClC5WhCnE^((j`+}pv)n(Jl?GO36vHM*$$yM#inmDb_;!XzBk;-E+ z2@MwPOU)w9H4QeLu(g}=HGOi!f}SGVEH#fKE~}W&TfCf=$(XpjHzA~4;oIZumlnHv zTv2+GP@=ZrzP4RRpH)%jhi%{3LM4MLmFHaEAf&xr(eS`=lS2pX3fL;n3O)Rk#A@*8 z^YZSS?n)w4KL_$>Bxe%h2hk zBh6&qy~@f^3+dR^{kp z?hC3=?sAUidK0@Zl_h;n$v2Vrdzc7a8Cwq1K=@f0@$j7n$OPx0X3EG0(I6xbQ&W zG-ZpE3_mJ~zz; zPN_#08AbHX?$4TKU76xY*}_hrABjyf9we{Lh+f%SyYXjeW85{%D}u&M)xqD` zcsFj_V0pLC*Xyx`;Nw|I&UyxgujhPQz_#UHvOtJ%-JdYgtEGL%qCO`J&A{PtR9MO6#!^S*|VI$v( zU3!dfeJU3ji9XSI+&A;fGTkE!8$O+sX*zywuIkQR(%T+r{XJB5fn{RujT1}WGNjLQ zT#{E88b77%P1Y{AS4Mx#H!Qz>SKGbKrsv78M-3{ip-*nG@vnU8pKT@rl#@6l z5Ul(%vQa1NVc9$Ra&~1AuSFJr4pcHXScPOun_bm&h@10osF@- zYa0?LEI+a1K|=bh%o(gd`yF52oA*&O-+=ABld3RspY|yTDSNoDXX}e3so@77W#Fb zDPmgA6E1n)Wa0@~gT*q*l7F;p&&;>p5i^fbBvPpTjD^vhxi^m6S}uzeE7)WhrnuA8 z^pJA#GoGHbNw)-=GwV3tXo_w-+^$n!QfVu_*HcpPsgq1kQB~j^28oh)VV%-NkFPJY z4%IE??&peOQ z3ePf0YU!*{etph(PVhw*?wykxZ?AQ^ml5Rf$CvL;-u=(XAI>t^DjNN{Jw?dR$SR~q z(yZYWq|V5<5)5Anu>Z^ z<-1Iq>-Scj-CbUDf#u>SqvaX4uflRWL`s;iE&9w6u+))j@dWEjXa0qFNz}e8%HVBh zVq(92eZg6GW$pE6?(kolT(sS%N2WG2VwFbPf&UB{{g)bqJair(>DuinalR_2_~>?J zi{mn-%Q?Ou2@6v(Tp=l%cDq5ice(tz1|6LPJPeh8vV4DbOTN4<>+2{bI@Rq=&x1$H zGz#zE2w--}{+`UjcVkJ$o(oIb7~2CXkD6)DkbT{^e8oz!&~u)zUpw%mmK5zi$N1CX zouP;7rzf}8Z{>W!UX^-UcIgG?#slgMK~CjIB-Wq(dr5=o{H#sKH=eX^x5(@syV&M-8#1_k%@I6se5sYknU3%RxyM_b%te_@ zZ@C#2UTe0_RSfx+)F3*&U$>H>++^Be=9QM`1N**8Vn4xiBp@s{xfLWq=cN> zusF}TVL{jy|?(4 zvy>E*1G~+{$$p(`2NidHdE6LybZ>(N`-RYj7HxLX%*+;#R{J(DxWFOZGv`tNl>Qn2 zOl3YjR{wZn*{Zh=C)JE^1bk!63ln3Qdh+co-I=HQZIWMlg+{c=%qj3ym?^ArfImy_ zfJYyj*F4Tgvt;t`gum-4SzI;KELYaZ)l=?_><@;j3*Q*`rO!OR-f>P)Zi3muTmH_s zrYHSxRj;$mw* z>tC0dVj67!GfZ{ey65bHIp!)=!A~aqOk525@zkiCf z8aQ$$-xhgsQ6O~!Q)Lbp(=Emm5>NiJn&sIUMu+y5vChjMJ;~4zgRE)tq6o-{8b?$(OzpYYtBS&v1R!wzrDY?MwKM zJekEXcd_#cX1jU&zFa!!z{hx=;nHTs*o6hfC*m^h9@n13_xA;(*@*}dh2ryXlt9t+ueC}!PjQ#p5An-Swf~tN=nm+kIjCnr&vUhrCeLXQ`QqU zLWO;X-WsJzeB%94*~vCSY?VuAZ0?`xV1KU3Md+Q@l%LFnTlludXLKHZJWVF$^3fAX zK~mjBwq@SpzQvbjr9Kdq)tqR5&ROPnT7#r^1eDz$&dZ?UupK<5f;IJHpiEOA;Q< zx)=B0^gMR?D7J|jhHw5pWcW9gr*+SPQ%2@B$0lo?p2zWT%gvNS4^oP61caR^={b5p z;&}1BsbRjmnHd{DJzF$kOJbC}vV67ORHIER89u%!b~q@1n!)4G_I+9Awwx!=zx12r zJmJQPFDvea{p4E7_%r7}1Fts2(_+b=`=@)k8e3TRSw0qNbbEByLv~k?&F%T8c^sK7 zX`zQ7Z+x=4BzDvAoCotf&6X1~EHOM!KDzX(**RF+N;Rm~*l{(#Jn_;uyIASX zD}OiJm5opCF~&4mE;r75QrP4l#ZZ!^=(}L!fq#0LC$*=1x?vc6;;c%&)yM1m_@grC zX2RjVOY=9F;k_ol;r7R!t(drvc-SDUYR-mf^&euhX}P2Y{T=e^jzvh^6V z@wr_-$SyMRL|f3hc8SOAvwC+Z`4k@b73AiA@5J{Ku{e%~NaMd+qbbk85-_iS1a+#5JS|i6J-y0GKmz@gr?2!3>PP3@jT9M@- zW5zMhuOfFm4Vll_SF0-&XwFNpe|_wJ-m}@ywmGw&^H;WA71vniFF%EwZ^!Gtt6|UF zS~s7MN!}i{nPuXHg4PJRnH#sOG}Uf) z;G4i9B0GDwjPR{he^=gel*sefJub1DFXDOS@4L1u=cfj>yn9l#x^7im)uC|}^{LG1$+huu~{f;)z*ARVEcxkmq!@j5IEgoN* zVi%$H?!fcgOD#?<$W>r&J|H5xQ-Ud?F^v7Cvs0J3oQHBx*~;cd!Gy&sB`-r&CJV7l zEr?$Ad?|zHmd#?02W39qo3+C5e7sN6jj;%rx0syf_wZd>fF@#%`!kqLGm zj&C&!>vAyHQ0U`d%b;{BDt7no(v@QITCzP)H&iIi6x|iACs@Gnf>o!b<=C65E|#rM zb)QT>hX|i{(3~!=adDMr)A1j^c2^IEbl-^@`qtEFvPzCp^zi;be%G3ICIFwEt6|8?Qw zyPvB=c&OiC6Pn^aD z9{JgO8QcXk%idYszMkuGYA56LFT%*vceW@)?HT&9VwW$YVOLN@=j;97laVW{danaAswGI(|D zZpuAp6*75EwcYcxeRfmjuDG#Gi1^r4Kh^M-`|YRm+9$YYnK9YEo5Og1t8I#dx#7#} zJ+pF}^Oa`vpE)9WK-qc)qvZTEpRV?wJ=9=%*6-CZ-PyCP3%f!)MG`kutaw_cWA@>O zO5?o-i4T$@MIwb9&i3j^`p1^=`JjRX?@ot@>I=mW4@-<*CQRe)11LBKjzBD_HgTcDJO0*zC7xxke1u?q&$8pgX!9XlZ%_` z56x96+##1&ku&u?OMsC<1Rs0yz1d1;MU^KOuq`>gr*Y!>~>3I*A2DG#IS1G^s4=be~Z)SFGBI{U+m@YDIFL+~o zz;>nCREBeI)e|aK>xeS+PWUYxxWjtS(%=)1yBIPzc23Y%W8W^a!DXXHpTQ00#(7sJ znmp~=G)Le0+I*Rw)pLq3&q{Doo+z=>XXVpqTgzp4@)-8Zl(DZ^t@rZSA0Ck1=9q)afr60Ek{3(u+qb{yoMSM_{W68{5@1MB6rtAl+vvxeTC#Bk8mO2^S_)04-S zS1doO<+zYW0P{AnWw>`_IMLr?QmDO*K2PLbR{IE2pr;hQ@bdw2rt($_C?Po04nZ4n}-P)BYv1_+H^t113kWuJA zC(Ph!@z^#~E$I?dhgp+nl!#SxgYj+IRZ6Kfyo=@UE#Q=0($QAL&d^XD++BKGW zp0=x0XB8_*uofQL_=Nv;SW@TQZoxi_+vi0Xj!nJml6~;R$zQ=P8TD05ujKx0mfux< zrGa&dx=K3JvWS`!r~bY@Jn^-I=tEwWE2w+i1^Z*tn?`gGTG<)tdwPg8iB+?hqi zZxwkIaLU%MVA51Bs0-e@x0ZdWm+YP%!2>VcvpWB|v49pE&eMvt+3HX{hu`M{^Omzc z=hocJDP11p@NQXg)w%DNZ{^* z^LB0P+SFTel6!uI7ECzgz|O)qbE!GE9CNwF0?s9Ao!bp{jGOzeuo5&oJf5Gzkmct~D!`#os&K z*k@$1Z0dm|Z=P2*^KKqE?h|yB=|uC{xGGVlxlfkJYaI78yfi1(jiIN_zIwk&w1dd4 z!!o%-$@3nBeFU zzWKRVRi)?|`B?<;Wu^C@ad0z!W4VB9qFeVgcGiuPG9RTyy13Ny%aktn=ySXCp?Htn zmdi~n*1HqT{jW8sxE?>}&U|mq+UG7uCkPle&+5-!|Lz>eTTgA>&0;FOcQ?Mh)u6=F z#4flkhDm&0`&QN6qSoqPWWKI^oRXIGgJHc)ao{TV&%Rs*(i8ipFl@K>JmTXhYx(-? ziYMD@63mKw9&h!ibDYYM^11O|$Fc%5V}^rmZdQLa7+LCkSIR}+VV5b&+;IA-`|+SX zJtt=-Wj=~{mZdp156RVh@7-!(;M1wA zXf=x6GLQJixMRZN&n5?E-Su|e<={N+<(z*eH)pfUe0^mVGI7-+)}V?9DHndc{`qJU z)7--?+@Bwm+Q(ekk&}O~s(79jr))I$gs0Im-&Q_Vy^!!LVP4Y=!EHi`hSQ~|=N)_D zpQSvZGxYGp##3D?9c$ErKO6OXrB2a1Q*+3}X3o5MR~XZrpBon3VBc`gRZCKIo5y38 z51Ohj4y&XmU+(HE|HSpqdHU})>@OXJ?i|d!zt`oYtZlEE`Qh{omP^M~k}U(4_7%?4 zJm5U{p@&UcgK7XrjOX_2vaihMrX)>laGK}u)#ViHbyUO8GRe5vo5v-^$5U3GS#kk4 zlf+%dKBog3%BE3;n_Fe($Tasnn%AlxA=iNr@*OTw)CTuGBf(USH;;*PGo2)?bdQbj?ry#4I@H$@e9K zTB{y%#MJEkSJHOk?V~p9WtlMyZo;Jz*)#H(b@#Ec`P;5q`+nL)&Q#WI4?b9hT#RP* zaoO$o^1Q`&lM8L8&nIs`d$4FH^9s|Xdyj6*Lk+v029u_x%0)L%Sk7+3?foh& zV_NL0cO6)AzpNB$-nc zzk()pba72fILsioY~CsERcm%6Rh6$$D-}we-uOLY-u}N;vqgMOSknwn+KKe<5Gnn2 zrRA1uo~Ypg>4FMT9s`~2^4Wb3_T^iI?@bYy87MVBCT+q&o1G6MlWJ=2JosWaWs=yb z73UpKzVz#joNV|u^!(Y^KGJhH7_qsZ?OSfbaC70*+hGT6a<t;sJZ8BV9(>N{>zW6Pmqgrw0SJ+{v(9f zXc4=X$1yj{Kbk@hW|rq@)$)67T_k*C|MM-Lhf*3ZExyy7?74Mc%-i6jhAEv-Ty>li zp78w%K9eh%Y5t)lC7t2-)gveSIi*ghbc*EJ?w&Qx;3uQ>2j*E36AXpY3)I)@m~%_7 zNHSJ)60&NHTAGrqTKxa|m;I8jbW>Lxlqu|=S|GY>!#A~E`E9=%cXuw?(%NOr@P@zY z#E->G-T!VD{lX#f_FzW?SyuC!tjXPVwYK{vyb=PiGQWSm!? z8gYW5$p6}sSte}?m+~wXQuuZ*kDlId`LiL8uh=((rAbMcy(e8{TbIi8GLKuH%(j^+ zo~nULC%501&ElN)G{$^}VD*EqtC_x>Na@de{JFktF6SIe%LiZX`ZU`)ov37JzA#6A zsb%2eVw+VDk{7=0kJDgWmfEki*YQQB!j29Zj|CI9v>F|Kd_bk`PW@EF1wm1PiVSn+ zUSYJDXBMwtVB2v%s?CyRGHdU7_6CdN{~4kdB_t*5Se!5J`>MkBnDI$R!JY{kOlO+H zPMs)n7Y(Uj)F{O>p}_b8|I)~=M@FlsG0bB$Io;y)FKPQJ`>5#x3Yn_vf1|Y~&da=b z;=KHc{|v9rapY}zsFGT4p!|E!e}-O1t`!px@#N+Fo2u$6rjT&*S@FdFJqB6cVfu!j zB?K%bY#M!9JouvX3_r~&{<6GD=I5%Sat5ZyUl%N@+$Pc0a>ABb=CP@l@2h(;$r8>z za`RiGy6UGSG#QkK7*BEgyx4KV4wkB_!0d+8j&@hXg(f_xIimkEY|nY~lIop-pv5ao zpBeO5n>pH7%k5p|dmA}1|Ws6UJR=E|;%#!j&RHk4`XSv_Q z#=EcQXU*ifF6ee)L4pU51mkn;S$*jfazf**=Y3W26736-voPh~==@Qpdt+P0Q5Lb@$POMp!!Aya zh6i$6B`2$}=I%Fm!t-nbS4x7@8wNS!pP?--q0AQN7@qIb(*0=7)Z6$gI4$3hEB{t# z+qKs(|1-Q=z;Hxa-X_xaN`J7QYaiq94eT52%Wo~u{pXN+%;ERGs{yO?au?ft?)%R$ zm%%q*a(2l=hId7kYEvg@zf+!{m16c*N`JN*8N;t6BGsej42pT2F7;g6bdRx)Ug9EaVN zyA$1iAC|Of+`U%eN<@SI)X#HD)hBmVxw+RhPYyUe;XlKE22p!${-++-*;&?9*fLE# z9hCJbW%lW*eJOY6dCOf{`bbD3u;F-uRdA5yH;sx7Ow5;;Dm$z?_~(J6Oh|;&QDvR# zZx8$2j4v%|OYPA%kUVB!`*PjK7Maievv1#;sp#sO;GxhX`h5Xs&&)WpCm$GdLc+yg zG=@1&a%Yw}YUZ=%pyxrAukzQXMJ&F#?{Nd$J$EnWqj zJs#mFwcqw1Tf=_3;FN>SG|S+=D=%g!@En-)dA^sc;HllxvX;L>3pQ&{@wD!p^JU=% zo&NjYEfU;U%9fv4T=#fVf#G>k(bXOkYtJs(9#lN>-jdJvp7fmF%JhIoX7a7}4ZM*& zORT&YB)PvVcQg`mVArxs?At1B$hlK^b;08MBD?3^SNL1;Du#g1_mdGUqXhxYdOg9ARLW+aeidD)>A7EjE>zsQGel zU7kVpg^4at-sLqnH>HJh zaZs1Eg5Z2-57uoRmaLl&Z?xSvHC47Ku-5XiD3?OWr-LtFdUb^P&-i3j{%H0cwpGFt zDkL9^OjJ55AjGCB|MdL+s;Pal1xudWG+ut~y}@H&u)*_N^A091OLtn?^L(A=L+;{v zJC?Zk{`0J>>i4S2Di@gZq_}U&Y`GOp=~_Gq&zZLdPg1!#i9z>H$aL{c8D1qr#hnsw z1Ko=AmhL>j*jD{$g-dqnQ`X43907~?mtnep8c*vPRa#eFExQ%L_k8&>&9uxY+eS}@ z`s%F=KBv~UyE4qbHp8njb>h?xn-#XNq-%~FHBM|j^!c)=&TZN5b(XKnF0gFy5HsGe z?vY*o?4QA+m!&n`NXqh#`@sPd?iO~&u8p65?3o`kM#n5*=p!BO&@tC`#F z33ueSruCGjT)f37ao(FPn;dS`raI z`_AJpD;S!}%5;(w&r8~7UOs=Z-{OnNjlORz2In0-md7~xRPW$@-Nmv+Hd|-?gcn?l z$E>-E?@sAanv+tzqc~tvQoqIxi&y+!Oea;+EN2&Omv7S$k7b({a6DaErYWoF)J1U? z2KKD=vimND>8|Knz-F4JH0{G%*Pk56l^UEZ?{6vG>V9`=?NYa&mFMq#Sr&C_lVWab zNa1-&xhr>XM{HVftSW8k6i*Q?2KSf2r`*nHD)c-z4XrEt`g?U&sc@a~1zelQ|;Z2KVqS zn%JqwdED03@}g|bB}<9piD8Q04i+&z=KdAZp}HeUae`*(&&Kzmq0 zgAwENE(QnLXnu8;1m-`lOjSJ-{B5`-+t(Fdn=cTwcwO;NE{0B(OxeW~`Pl2DW+pl? z1bKXa>+HTm;vq|Q`UKldrD*|vA8t>1Z28(D+Q~&L@wODJ{9Wdy+!7t4EE8_paAlOb z-s!4qkdF#VW6%80pfrK6?PZH~&G{*FWWJafMsg&$)vt9{)?>;2UVPxFr~JeXKa;iR zE#JzZvtWm(>PdyVGUFdlgCT$T`~wN|S# z|HAW?qJ?VV7RSo^mM!4vx_wW7M&sN=i%zXsutLlD0+(;2&7|BZ8g>4653CIA(op3t z{OJ@{3-+lv8sy-_j`p z9aej|XG!**nig zF7TBa9OCL*!hDw5{?i!-|M=N^%_4icgj98mFZ{Z&k-zi~n_Jd_ncNDu3g?vBz7n50 zf#YF-Rj^8F_fuKV#f4Lvln*k`%V3PR;CeEl^3jx41}Y7Xua7F;c_-+=epx1@m+vU= z+m{aW4qJTsp3Y!qtCi}nXV<>eZT;uB#~%kNFE;d4ejvwJbwSp(udFoeMy32zp;c^m z8+XghihbtX`gq>oHZ4oW-;AU;8%69q^OMe>uZbKg3V8zxygQ+{dL&Vt!|-HzYAZ` zuwSdj8`H^cZB$w9{$YEvvytm(V+Ka%$@i8ztui=e&!^cc+z=vAX%pnqIp5Gv;*-@y z0WGFIvo};-?hx!*Df8Xr=qn@ZuV*uCPj2W}c*4f;_)hSG35y?I^myE0DKhQ%=ACtM z)$^`=+Q?9G>tKb&qsB!60X&6oG^ZyVD^D+!ktr|?bXl|RKxt00+OkxcJcTD8CwtyV zVg24}sXUK;t&hs>Q}eRaZd_tMq5a)s@#OX(Kdl^TA)SLWRxtPNT;4zXxq@Kd-&K2p z#7@oVQ24qu;M@|+gSHGdNfWp(E$O*EvFh`CpPD=giSv%P7IUlQZ$0jOa3!Z~;qkl- zCYvp;b55K+uPieA<{WFGosZd;^eimsDY!RdrHZTGs?&3d7-jj_GAJwO-g;8#xy^86 z$IBBdg_IS!Bp&Fq{Iv@9s`T7idEi(E!)MV)Kl!&B&U|Xk{MXHRR>aeOR-c;YTeDi_ ze9umOEbae!*&F7!-_jHOckTHda=>~a3lH;w6^c`nB@)UR+Y+plt z7PU-quH?r*I+s07y}g~)^OdE@hngEsyC%-#ns;TT(9w=Veb#)eJnLfFk4hyZd~PVR z4(?R!U@3X;bV@mfRpPOHRN}-G>&x@*%&#iD>{u#o=o&ZwZ&t5lNP&g=>sb?BqIr7Pz-N%6UTN0`6#$KQ|xn zwar>)@^~G8Rm6;hg4(l|S1i;Ss(xKy{&V2Z7s=mSg|*Jz-X`F9AU;Y!l(A|~Re*8N zgzygws$%@-?u%=_AmuR0?Z7l!>!1^BpEk{zccsZ`V#5nZg#xyWtw%gmR30oiAT!a! z>p@C_T;|EPpuz*+SEP5j-P|&7Pv4CNoKt#uH#WX1zBc3H&n~<8r5YR|Y?8{dtlo1w zFV9JN5WwQs(~@^ymVGUor`w(67p^9!_odn&x%1KAC1>u9gTMD&u1nB7Sz{hhVY&1l z@6-N={vpzw7VNUGH2dE*eUg@ScsBPP^S+?j{f=i%SnobF4}0ZnI%BGI<%uVk^d3&l znLl02(De&bSxMo{itkJ_MRuOhzVItpn1wa{`F@c*EcufgUph0zZ#kZ0e#$QFXGr6` zdM>q3_t*=YZWlP1G|H?9s`|=Mx@?cWoMG?odMW({Oafg?(wDFI3Yq(R`-KY=HXc9S zd)IQszti%w_kNz-$7{yAx;)*L=f(+>AD?n9ZVBG z9qK*0!|ux>Pf@c4GIM%*9t1nOS;i#v?Re`gcgcfUU2d;tseIsZ{sxbeGF&CzPxf&f zkT{k(?e)azP9D$M*NXGaK6sz5GQ)G15`wHo32$KJ88HE7OTAiR6K z%=}C3Mi#fE*=3k7n`TB#$}yT?U8}+RovFdhk3oGa*SVLc9z0)Qn;AYWrmuZY(6tBQ z6AY%#d2V@BJE8XJ9Y5=k&+0Q=B5aChb)N85+~jU&Zy~8N!jME z^7X98;(5~jS)MU2j3<7jEqoE$mbfjUfzxERFjMN!O;+==oRut@*_W%|oA^XjF8B>p^Ej8wH^R^r>RneA7cp&q2;Xwus%Vl$qd|~DB<5zetu{0%xL9T7Wz8jl+ z%$J&8eWrD^<9O)VfV?(e#Q?K}2YqexWlpPcJyzaVbtO-@Re7(+#$&6@7%xwK>8R6R zV^_80$UpX_<~h};n`#X-&#a1m!ffqUd~HTxh_Tk3$140U9XcDFmNePgzEnPwzh9wm z#!*)u9#0Mbv)9$;u@&BV+%t=z*yBu_Ns;wOpNT%o6Z~agnT2OE+`ZVwuyXUWZQm^w zN)}{0Nj#b4a%Kfn<7J!6SHEjI&Z)j+mi+sHfPG7u-J&G{i>E2Sc2KhEnDW@-xWy8k z*-m_h^A;_wa9a0v&pfRyZ#FbUbI)tJ5b?EG^R(cB0|ypM@TlZG-LT`!(&l8|0||Xo zlx3#G81uP>FJ-U{3hc2wUUSJ~_RUJ=G{@&_?c6Ia83o4zo8L z3v=EX^F+>1vv;qGkjCAK&FB3OEt%(9Jz=AQ|54^MRl#sg=Wd?Kbk`_E8P6?`q? z;WN9JcbY0>1YZVEy}`hF%wn1LB7wy{Umnc~%GY^UWcE!Z zKw7!5tGAUk0`QJiVKNpIK&Br$>OyGQ;~K{l=}f++}Zn1SmPoX0B}C&%&44 z;k+_T+484{$kmCTY|imp9<^DZA~Ad6&j#5H#x-v_c=pd+cEqPgOt1RytCIFY2EOL~ zpO&eg?)|~=bpbnjNa8s@&Bv!Di%-0t)gY)WJZJs2sV8r5m!Hev)i2ncy zoP@`0v-6p?n4bwZAGcl6(-C37P+&Ok%FE|`WvmC4EkzY@d*2wgm-=Y)Y3e{hgTeBQD1zjrLVz*F56B5?D(SM0&*Lcdb3xa8(k&08*F;Km~{ zc}GIe2iE{T&3&;uwfrOmFUv<2r%Eese(4)~o>O4Osm3k!QIl#{ay7Brem*`8d9Re7wd&K%3$OQtOnbw% z?eXQctS;e6qRwXDZ-3ty(C+E2>0~yKoA1i^pH~dtSXBimJNP|&Qc&pdzHoxuq{ITY zs&CJxh2Cj0;$-d#lBvCSq_aT*)+^Kj*Q;%X^I_Y)K887AghSSBkw``HnEo z^R!qlv?;ezQR~E!{#lFXE}p_a;c>n~-;^997mge3>pw4VkKH|^@b$c@EPf}I66^2X zvR!%EBPoH!DOnq+}K2cMryU z41YCe2r1lpAd`|dSBWz+<#?#Iqe=7u@6U~mr-SZrJe#^;yIh(0v$rn;yw<#ImAro? zZOt8xi5r&mRdtn5-NtX(zy&&{kumPt4T+i!XAG?7-S?WM;bR?J5K_RGQRfiCKC$Q0 zl0*S*ult%R6Yovlz-)D*?E4#5_32`N9z5aUtGZIOsrCLO!%Op7W*>+VJYJ{C;3>gT zm)v|aGckyd>)W4|PaiWYvtPL!`bec&&8(r&f&UK2jgW%s%M$$WdUrf|zJIBqx+jD7 zB;(_9Uw%e&Fg?G{)S%_B(?4U|W4j-ZZ;Py2;}Br+^4i?r^G!S+voEuLG%rt4X6mhm z2V4vV{<|touDRTO<}M%qNO_jzhxrxB8`+n-J`+pmGqT-Vzmy@e&n-l7Gn3QY!}o1h zY4SKuua9|Ho9VrPnOP=Sn&*!2+gS_~CQgeh$+=e@d2h+*#SP;ka|( z7VaE_vgG;eMHrUO{A3rmr});S=(g}%8wCsuinKHrWLz&gRS>-_Blh;;l!Q{20Oo_v z7aML_o)=ZA4z^b_s^V&MakIF2;BC+4?pz6$k}nI`)*O72BDmxEx_ib!#~$17IbiYN zO5mg)*8Q@DUd|Q_>n`>gI;>yY;PLkNPEK|CitkIeZPS#WcJhSe@+lS)FE8~dSxmmX zJ=q~5d-*J9H;+@lJ_c;sl=581jgO6S<(Y@hxLU95RA-l55WZWQC&5j*V0QtZ zt(NPjhFhLLchzRLs^uD>I)f?&{f< z_tRg*+t@~B{h0$F8y(E77+FpoonOe?Bd005odreyQ!msd-R83+}G{*@OhAWlaLK_>Fe9wwKI$!sI zOtX{T|SZ2mKdy$UP2J?&3n;F*W9P0gSBd|f5eJ9HYFUsYYW*04<_x}#h62SbTY zg~&t6JHZQYahNi>O7-rxcxM>wbke4}Y(re{InI?*N$&FRnRXHGL`oiOS7wAY}~_vD2qEEHtEKALc{N8`kChF?KWN9MG#+f5PI zI#P1-r33$`gFhn+jCfsM%g;Due)q=*E!X+|8cLt|ubVQz>1^J-;(S~N!&Dc&g%LgV z94~{Er}j)b!eF@~?X%=`S&k={AKYR0<9u$y@FL}2>$V=|R?D|;X6`M@jhDB&YfV_S z!tiq6Rc7wFzXh1AClxvf+a8=TXZzXL^Ivji4&G&Uw@`9lQ!$Z zmno}d_@`$oT-n>Olf`g{)?SG@pRdi^=_m5|=?iziE2ll>vkd!_`9Bp0Np@O$efIjr zaAKWmri2ymf)CF1Ud3llYp_bs)6$$fnK8ci&d14JHQPBZrcb?nLGV^zgY6RQhWNNC zr~A!Sm9-~XJl|@>8RpK+Zt=QnQ!;nk`=fddjvU7X51e?F72#rZEc*08c1gP{>jftK z*)#FHmvkQAos#7nMAzxwIJL=H-SQacqj_t$bR0>Xy*lLqqgP4{OK*|k`5Y6hl0E8FuFE#UKf8G64mewvcQ3s-4ImCfG0 zE8H9&@M(&wCNUh8c&zeu#hKz=3aPguN@aKdXYkt4{Pa*!p`$KWWK=-=beTDQ?2iLC zOq4KudFK~b^{#yBe(MU6W%gSY91c3#8!FqrTGX0ksA*$x-qzL9W}@87vRs=c|Ex$S zmy;}6{t_qOzsmA>*w3o+p<}OPo2Ien)pyO`W_zdc#KE&JA9oy7ws~5yfL+J$X@jNu z#N*7jmc^`-;Yr@OA~DTpXYsriL9a{Nja%fZnvXJgTvDDt&By4$b{WRMn(H|OQew>f zS#(`m&9`KpcRC$5$z*$n&64@9=d&16&-8rE4P{x!A9q#8Pe$xU#bf4c%j=cjwW|Ep zQmt(lTvl;DaI)(!K%dC!+Jy^vShc64&3Y@zS* z_l!mi9QL|as+ncy#M^9&U;583(zq#+{DPN(TPXK@{d%vgLs3r_PI-Ha-KW@N_cR5i z9!<6-+*c$Er?Bw-T)=KqeSBI(EBo@|A6L}QRmz_Ua%!HS<@BFHPu%k5yhr_8wnT?a z+%kvliwR>~MDvQ;nFk+>s#H!^bbP|6dEDB0o!NHV%>Dw&NFm!Dzn3-0>0M&pl$Id6 zZ5mSt|1IZ9dzu_#zP+hf^)Y{vLCVAK;=UiIMH&VRRtqq`?qXI09^4wdht~eyjT_Pis_x`AYTIWJ7$(eQUPft8+ z+Iirl{iQ|O={l2icDq$2ul4$=5oFxP+KU{$$3#*IRb6&+M=wi7&@vuH@zl#Z~6T)V*)wm(6^pB%AKJBhEqIi=pPiS&=le z$+{OKF6MY?@GQ2yeQlEZXOSn#ea|n=NlBKtVfNt9-ydHVaBOAGO!#!9vH0Ne!a(;^ zT6%Q>#%EpiXPaJ_u4nkimi^jtmrs+~S*EEouVv7mb*gNek-b*(ah220IE_REdp;Py z^>L}){q6JaGOLd-gE$>ea`9F7X)wNOP~f_8;Ay+$ag&>=)9h!o62{CNRu-nKCOYg(46oUl?-r7Yh|P3y%H zH*?L$+CS2!PY}GVyd+v?PU9rc<>#O0A4t4XP^+$asjhV+4+^rH}Fi2EZTX; z@Yd4pMT^gr+FII8m7MDlbg}uB@vkczbqY1Y3cUMfp7<5Od}QepJ+?dMuJ1jqG@meV z%3Lw_(s}k-Wjfd4#ygM?enHyL`(kC8}c=APr(deuYEIoGo}yYOZ1(mX5WX)mJwbFkJDYjp35&;Tt;{DEGoDa>#!#fSr7%Wk zUX(58&UU50)EtVd$RsD|E4qrHM3hDUuq*giR(;p;}nIeD?*YR znq{6pvwZv7fhFycL-OZ9_n61_b7MO5d=e9;x_Pih@;?u$S(x!wDW$36=$ac>7t3oh zD{NN?)eR7mKC{Cm?4*SPpRs3YzRJ7RnhGk74Lx6fUB0Dqh=2CFB3mu(lPM<;9*E%) zzBXgcOs8)aPxpLJCY@S&co_uW(p2j$-fF2pBmOmkTGe5p|-+tb^PpFTD^9DjQ9 z&Sj>;PjgDXE%RydmRWf6gvIgt&t1x=pT=tiwpsqZ!yG0T_${U5Xw%MH#g}h2NXk6u zpV=;{LRE_h+Z01>6Fs*grg*+P!aaUf`16WWL~MKQ~zQdsWA*3Cy(!&9ji( z6MRqo=l6-9J{jLyeO5xbr&zF{L`>fE~ zZK1tcYhm%W1swA#=N2)>&3x|^)tKho6ryPzuJFz7szirD7)z67q35$N4l}>nzT%v- zXQ`s|PD_~w#qJvO4nLWe@tt=L-9LkM zg6%FvB-U!3FkQH<*W>mUp*_q&w_SI<*%5NAsK7eZd8VkS=LvhwV`cN}b3&&l2zW&I z9Vs`>jF_p*xo+95d2wDVUQ|Dtovst07Uj+i zFrQH5^`Aj&$D6d9|1W&2@7kwu$y9sk&W#h+sRS_w@VVJqU3Yw78<~1pa7u3R355x@ zR^d}#<*8l^&Aan9DVlWyqb$4V%X{2glFteb^Yu{@ z&Lwk-`WS=UjQ@#>Y~$$sx4-TIM>um=pX5xhV>cvUHveb1w#t)Z>SivHKAWBd2CI;c zCCmQql=qv`^IG7}MfoW;H*Bs5-(TIlm8)s*zWL`?_}-YhWcw!`jmXMlR!>5;PrS33 znxc77=KCMb*Ci8<&b%)fu=Aa-o#(!rTr%64pYj-nY*jeDW20xD(91c~Ikzy~Wn8t{ zDUtUXYe3yg_64ga>m5&s-yzc+`F-=>Me19O408JCPQSE*&E)c(Jq6JdL_N>XywVf! zVNapJ^33BBZvziZ7TkBwCw<#aGCc^uGS*P?Y8_;33DfC z7*3M@J!M9>4Ug#0{vE5BQd(8ZN+wURuGgA&VZ)u-g`ZM{Z!Iu#a!ATW8yt~)`2<=dfSiqGQz;hk+^pzR*5OJWRclCO_4 zSlyG?Tv~B~QTv@@-INU-qT4+s6egbE|Kp0-ch;Y7EcIHGisIz8)9&=|?VG}A@`*j+ z%${VK{^vfLGDj*qr<{xQuWEbr;;{TAl`}2O2W{Ec`e!V9D-^=BU3)Az~1)sdd&XV^kQ)TC_ol_P~3EVDuT;)H5*Sv-=F5f<`^LylY`}^K3 z&D_NtHi>*WYg8d~Opn=U zdQQ&WhQdE9UP$%Lj5ua_UP9)J$ZtidRc!(6%d*yPy_}!ALwoWZ#+Sh?X#uZ19#6>Z z4)ZxFS94(j>+AmK9;el(POD+H)UxIY&Y7@LRc@g-@je$eJD$=`XWsZ%%TuUQU9}_iNe@ria?SgK z=kumAq!-Br_s!mUPRk+L<|RgucW_x$*ub>)Gf$K2$rJ|0 z>(>@fdZgXLA+u7qPgCvgc4gJ-zQZ>Hb9A4?cJ?GM&v~?F?S-ETlWbSaW|uef^L0r$ zJl*g~@+1pWm2;;p8r&q789n%QDW`P8=6%WMn7+$9I~?h{=hC8WnZR+(-_h?xq~UIf z--}JWo;W{U%y`WBRzsIy?6Ham6HlzDZaAnC^l;*d=e%!Sj|4A!EHhK`;IHbCoYl%Y z3o9Q8xJPaHl*^!Jw71CEgG0#d7SrYece|}BAD2&`IB}j|rbuP)Hq%@DKKyx_XJtAT zp88OsxN>a-&vyIWywXq13txt<{Uq?`u=MU)EsLcMxzeI;taeVTqEE=Hf0VCU&2TeO zsA<)Yh+U*GPPV%^TtQ+CwGqPOPQ^yW)56rGIuXYT&KyyHlFRZnvBtPVf! zx6I39{xf*#&GdS6^V7V)`=*G?cAiYhos-O*`E|*((3X^Sey&b$R6Fe4p33VLpLKkm z6ua)Q++WWH;X8AD@?>N7=g;(bHg{*zD?jVP(2HzU6Spr|exhteI?FmsxkXc3Yju?4 z*_abm@{V1wpKH=OD|}aM0uO(77J4{+>UpopXSW%)rvIFgk`S`@Ncglz4&4ls z8!An8f~?oQJ@D~+yQn~iwpjA<#IDUOf_4M^t{XG9|ygin98GK zA^ZFJy^bV@m#+(0g@upIlz8d1XI`3lg5UvBL56H7_Fl74;-vi1z#Oh}k(28E`AaiAo*viMU`TIR zzSPcBJn!hszI|I|KIueAM||#^Yx{D=zw8+YZ*O1ABr@a3>;vB{Me>yb`*&}7@_gme zjPgwz&lMh!{p=Igt;j4lmp@9NRrOoV4x7(k7UWLQyxmt}x8=v$#W9;w-dS3j8mTxs z^x5!TU6A2)!YhaSpe^HyN!M~4BR3UJI<)3(2g7mgr#X+9JCcvAS6 zquvrn_7$Zt9(pvfX3Nw4d|Ix%xz<=5dpBe04i593pXH1!AA}U^o(SmOx!qh+;()15 z(UuOoQgzF_eVQtK_swfcR#rDgiQEb7Dwcd;@cU}w%y~*?H8;-PKQzPaV;l31M@uGo z+*m2WQ}Lj5iF%^W^(vOhGCW@n{0f=4Ak?t2an6%VOoDYjkL~B$>~Rw)zUs_hSMS9# zQM%PF#i(Y@fyUj9!5zu}8NyOt?MdD)8qKZ58Q!L4)#ch;#Hm)3dpPAkgBN?@w`*&2 zc?wQ=Pgo$t>XrNW#2f#Ye%p3^R=O>;!QyAU@-q=h3AdUhCtp>*4mz0QXj2!`q`2jS z0jrt)Rs+^W+>;NSv{;#xsB?Q+_kzc>rd3Qn{n=*oi32%bM3oi#JQYjBB!euoCRxu( zc(C%|qs8T1N1J5InYY?$T>MvY;^mDCEWOoJ{ys|3eDG|xO3R-Y3w}LY_}k(BQv-#* z<>_p5&QGz9(NNzSb&+Ac;xTu>!=lPIJY7s*ZEu_MU10Zlyj7y;KSMe5oSrW)T@T1g z7=GF{@w#Z<-S3T4l>2H|am;o6nf!d8t1nO2@@$PKCCiv&B|LsI%ZhX*nRK>%`p?iU zX*X5-O|RqK<1x=>tytzZp~>-O7sE_tZi&eXlL|j|rJPn0=sUig<@+*Ec5bvQHQC5dQ}hAI2_g{rkEy`?}1&H%SvE`Gl=^r+j_X#+*2F&z*?} z6l6j+os`)fQ4&;q+}^9mnd>c=TTJo1nJX6GaZE2@s|)PAHI zYiRL(nf_A^Qh8$Lf)ktj4E-w0&91%tqtYMM{amMLao^1M9-imQ-dVhNSYs*RW@+z~ zX;&7bc)0qLrsO@3ZOwgk%a$^1YO=g#t0AG7%J4k@v9qWV!}@8qmCHI#3+|ke{B`+3 zsWpr2Do;wv%<^qm+xk57#Fr%r>y^Gq{A}NAl^JBSYvREtR|49mhPl+_*{)P!d1SFz zda7Hk$8%AWB9~RnrOdKfTZ$`pPtWAp+n?pqyV&Q!Mwy0;X$L&57EZ8yp1*KOQUt3) z;|<{x3q=+_-Bf&#d8z6lkD~>C%+Iy&P4TGW+TEXe@cZ)CPX{L?E8kk|7OKkh;A6jY zkXS&2=*t&cjXb?e!tOa7_1)Q^ zrOIFTwdPzRoSet&G_U;&@qBu~f#uf)mJ`y7MYiXcdVJ8kyd|adY_Rc!;+}~wuUwg* zU3!d>7)yAv^QD$izq12_INhnH!si8OIz%borC(2@8!}-9zMKdPJimY?L$MCqRIyh;fTY$m=8`ftNFKm1;r(EKwO5v{U zcMeTGDK}+}+VMTs`x1}wTP%0${vPpF;`m;{#TLg3tQ(!p&eaFHc1ne1d{VB9_e7&erJXAEzg{FaNfcOrbja8jBT(zO=0pYsx z+B@@KdhO7ie0#xJL6;RfR3^DODoxyZLiR;;qmswIq=k7mU;3pA>oFJh*=EUZa$`CD zZ@mOd)s@*dlm*y|k1B|nxUepHd)8LP;ts>{#Gb2#Dwp267uc>mY2vlaxc9~hyDf|c zleHV}^c|X{YP4|bjsuV9ZDpuEJb~j}NR>?K(%!p^)hE9`$`IMBm@qSU(c~oK2Y*iS z2iR&E_T(`%x$(N~WLG`s>p$Q^=9Nn7+(dzl+=ZDw!7P+&;kY*ycgVkv|LGzP>GD zAaQw<{)xs7mDWF(ulxMPcJrkfXWASNGhb(3Yw?aXnz7^gg@6Mkn`gS2$sQ>1b)H^w zT5w{}=|aiV$r7SclT}m}DDxP3EVO1w-5|2_(Hb5J$75N7LZ?EW?{llZvOI%9^N*o( z6vKr}toM{v3g>6lOwwRr`?c|3NWP#;z{iP~Emwr8=Gbw3J^4OlJB!DkRV__hkr0bqhW0Vmxc=t2%vw18r_ZM@r?BuSu^yKYIXF$azb08}R#g_uYNZXb2Q3x_y_n&XF2nED#hR)+ zUFGp4hb2?vwO*w?xS)} z;xW#XHtCm|m=t84&11@!nT7euJl-L)aIS-^y`hYeL5vKC;9r%py_M| zZkF!@+=?Y^``4N>a6e6dm(-xfC|Pd6(qD7g?t*eo@`NgRFINef?G~>+PHk#>>hR?# zgQZHPyq;Z5&3;qAN$)yz8d9s~N3BZpu3g1m6VhpIZ1(hk#0|$+h7Lk8{yW{L_wCKv zGud4ySNiPe zQhno+vWSc2GR((}9rBDKQ;wf8oE34NOXmB}+Ldd{AMnk5-sK=I5w3ll;oH(|jw#2g z8qZbFN;vNH4+75i{3NfBbO$(7CcBzrQh zp{VvKgTRUFEcr6Ymgl3A7jORZXo;X!?Xd&Q3qMakX&Pf1MKYA8oZ7% z&zZOLD1+@Bv0J^9_E%Je6u(t;`Z#aLd#?>*{)W~3#~S4res&yZnZ?i=8oKlKye}TR zXX|x0RVsuuhE`~we5Yl`e(Il0+fR?B`xUVtCN5eW|O>N_o`{(K}>c&Pz^b zZ9MR*YL=6VWyH714X)u4ZMA*|wJ$PdCaj&)|I}NhT*%3$x%u|B*6f~{qFsHK%4>}( zV-1#ao_rF}X+HC_y~NADDMpFM+%H@>kkzv@w8-i4t$C|vJ25%3Pte?5rhjU=`ogmc zb3+oNw`pt;KC!Xm3M)(Ba#6PLX{k3G3eUZ&G8Vae;N;u0o(*owHp%m@d}Z49fKTE9 zf83QFJXP~*S8kv1vpMqtfAIBN^WG#W>^R5nyKDw;>z<~fAJ3JQzpUg|StIed>WkbI z1-Iax#mAkr1Xz0aTA9~eV4ge6V)FrJ3zfn-Usj66IP8o`sW~hvy`lRlyUMrouYK=C zO#btNDRpk}^5t3S^Oir!blU#ieW|nh6yxJ61Q`j#Cug6G4RXUW=WsDcxuJQ!YwrizAx5U`FT!& zEZg}KuAkmLU)A?I^Q`GfdEK8krHkp*C844_az&c2k`&$?kDIxG^On!?Cga!hwg#|^ zvxQoyZtjtqT_1bAE4gv*3CG8M8I0);7ZWDA2QeOXe`Yj)`f@kBsY-AAj6$uSGcBIL z(lfK;XaA{?0QC(jH&`v&Np=&H2iyc7U#aEnW8D2 ze^##Ty~}@Xa?T`WxgvWlA)$bUwX4{JDwlOdGp*G9US#_!)UjzV`{xx893*OvGZgSf zBul%98lDgKHGC85$oG%^%;Kj3g?;>&y*+n7+2>O~vrM{d2IKnTjaDi1ojpZw&ULq7UN5pv zIsfi9Hdpm2&WXjxRg$+Vs6`s=d@lL2E2VhxWVvHORw<>+t>g@f=iPXbW#GkoyFHFW zWYz^H|GiIFD6_BiomO#Zs!WMOXlPmfY>D&hv!>>mZDV|Wd6rcS$DLeOW%-g%>`_V) z=lKjge(o&{V*R{bB)Oq3Rl7?qRF5NW{}HQMVV52-XB_PKv-rzWU76+9o7ihE&(fV( zb9j4JpUS6W7p&$LXfl|%WqfOL-?7YRt<+QH`;FhTO8c4Zry6N`SXVU^6j?6dm=>&J zm(n=>ir}RseYSg!9o=43>^&`WpM%-&`Tw?BEa-mb_WSTc87_w2+{@?FlRVX*ev|id z_w;6USfKI#x=E+aB{4_23sz=TzpuHE^V zKfx}q_@&=1ABQ)V%oDp9TATAeD_U3_IP1m6#;z`ZZt;%DiN;(^cj`>lqEFr2JU^&9 zKy~$wqiT$uPtUo_O?kP5SM1#04z@)*dO6sF=kDdJ3UXrpynFqM1yv1q>RgY<`?317 zCIZK(KV>~e)p67k~FU{Drk@0cOCr-7c zfhrd_%g=bePxA(2Cl|+gkv5m0C|8SvPq=zx7X`#}s5hSVxXvvk$?@`f&sE(9;qPZw zO?;3%hpT3Sl4frMW4o!u4i~2zZ*NWUi@cswll-39>pDZ1Cifflp5(@(7Aha+u3|jY zGw1vA1WQFeMu~HoKNY=1*_oTWvXdt5QkZ*3@VITmioliyW{l@+LKe4wc1}oU>Rq_# z))T|H9Z@rx*c`f+MsG9hn!~Z z`9VV-d z1t(NJpOt;)K<`qIchN8nJ3|}XHI&H+i z_rSN6L8f_oIo<~PtJqbr@?BcY<1X*$)g!K8$6=EazNppY7_3?~BY^!I@OzeuF)3=JIuCJ}a_(`L=4~o}R+K;+`w#x!oBi zJ`0}Qs_^;J(l<=rR_~efW!YHWKJM9(S0N$u>$2CG$JsqX)n%eOS|>z|i)u9)E=ntK zow!@6eQSw}z@MFmp6^^5o~+2*Q^0<$jd58_Q?h-<7o`T(e#7|&=9d=kn4JBdU1hyf z^_AOGKlUUqlzp}KTFss1$*(UpNXl&58S$N=?31gnkb$M;`OnL49lE$IRWePbdEQm4 z6^U1R`q*UxSp43_1{5&9zqhnae@Md-KthO;Jbyz`#)z22@XuX`bVsb!R+ zK!@g&Cx7ldTXEW$Jz2Y^eRhnL6`oW- z&Bi+gYd=4lz%zH#_Uj@?ytZ>1J#?4bw^ihTWX*KH1p>917jw4-*?n_kR9+^);*mZ`<4TS-Ip8XXQ^a^|W_Iz3H@=+p8^XXyv-7SAscx*hW&*kU! zXv$9`n_}0-PZJKv*-cq1G?npuV4LJoGmWx;@0pq3eV(Vu@F_@twnE{R5UsT;4?iEY zH~9K!ej)cfPj>mkH)iFoP?TU0X}rDsp@Wd<-&<{g=WDK{Pye)W%j79{?7oX^KGpoJ z^!H-5DGM?$W!zWLGu!m|l?LOfLn`)ap0W(fkLrnAyScBA>T+X$dW%t((|)dT{)~A! zK3?DdGe|Mas&3d>dxWPdcv5OfNX=8v=httooNr>TT=cj(%w}&#Op~8=*|!DkCJSm> zovS8jSr%UD>EmNC`EkAKXUc>B3|oDJ#I?6KWH4Sh6?i-83-gNC!IFZ9rUcI^;(Vc{ z5$T=7lCLnQTx8QK_pMhpD*te`W;FY-CX(}El~hOND(9SgM#k?nH#Xb-_~cjppP{^K z!-QuFb9fjhyUt>aeipbbjCrNRG0i4}OX=lY6-!d@aUZ#vlU!C|vhlsE^lfH|15fy? za*d`J)i?@^-Qu+E7xl_mlySq`kfDDzZ%=i|rZ+~N$}ik3U;k&gw&38D(|YfoE3Y@1 zwb9k$?V?tei)?9$=f11kO-(tH;;>Wwwyl;YOSag(M6q z+wB3{1BrE>&wH-)Dot!MK5zNn!CB&lNaG}@=gYFJJKo7UZhzR%^6|2WkSF7Dtphv- zA)kHvg%l=e1{u#iKFcHbOwBZV1BQuxnXwn;PjffV>9Z7J6zO?u(Id2k!SSr_numRt z_Hs%l7zRnEC>R~RJxzJe)dKnVdAB@XI?U^sW-K)4fzS>0XUlf!G@p)pK1Zti^gZXF zEk^4Yl-F8a$t!K0QhZz{z^hE3#bfRCo(;C`UjBwI)=U%o*7n_-vM+j(jOddBe~ZOW zBfj-KnYTBCdukrro66jF_GcnLE;cpq-fnj_&i7DR!Qto31xM|!sbq36Jo&)OA-qw2 zrbv-!@Z>vvUs=DNDU{a@*?6qT`pP;HO~vZ3tELC)vCdsOcl$ivzx0`3a;anC#3J!!wyPq`5{W;(*6MC-(80Sw5M*?vBBO;HgsPcPtb>pH+~$;5v8N3vC_)=5@B3CuQ1o z``5V#hUP!aH?w?lx8d$=ncr7lOm;KeZF~J%gP_U`Hn+~Q#>T!I3m(ot%~ADFa$(Ko z!;k09tqStApA==uc;ZXk6^8!|2EtpX{H+QJ*HtOXaWY_&mp`{uPfCI5pTsdOmMQxl zK7H6H{)~AR>jmX$DlMWXlZ-fRGcS5Rcb~A--^M(uHF07CkKIx~!?45#Ev+^Sc1g8{ zXn_+vEDSr&OIW@QcC?A+lGrtG=ZbX_68p{_dD>^RXM$};yWuj)!#TfiKDKLX%(|$$ z_rNrp9L?s7D_NEWZ_$>Kb5LHs*4=R8H^Di5Rv&}4bQBB@o;ddKHfZWTFH}O`OK`#* zmDx`7S_)hZPcqLDU{|+XzQkn#-;$C8B0Q5k1$w)fwfQX0Ut6fk;BnQBor~cZtB-T3 zyM+wntrnNCJ5^s7Ffp83q;#gNFC+8Jn_RElTXsKWv!Yi#7FewI+)uqYO^A=wh zVYEBU;?O+#n0JV{^tRa@3`rHtrCKLNCJJ2^W$2kT;b(PO?~Y@2TNp*u(n2GJS4i)E zd~2EWmgy{V1&l9Pl};Gg99STgGiknVQqP0r$v1vWF{sURJJ4pp5&Ttcu8^S6nzf$` zXLa3iZ|*emwAoy;d>!{9P6Ia2$18qaV2bh8(4LblBYfTD2TR_P&2t(rcXefKJ3oP0 z?Q-+WS<_kE7`{9gVT?R@C++wdhTnT%r1d>g&bi&lJg4leXU@?lW|uT2PVT?&rW%DCR`pdi1{pZnY*GIB_m>^1ePqzkH+AZB z&ay_iyU*v8{R*2q=VI%p&If!^E1aK9O_ng))Yu^2e`&@$nU#XiSE_tnR9%r5@w15W z=>)IU#lC4SP8{c#xmz4HoVoqmqUr+&Z#u9`ESb$=aIQ?qz?L;4t;tRBJ@>pNbDk}_ z(^V$7xBcq^c6sxvU9C6v6xgm*oZ_pzPiMuUgV0-}iVHyHJK?G>1eF z-@K-2DY?T%lTujyB@=(G4? zQE;RM;KAS$AW|ttvgk_dl+z-pg|1`J63n66fwu|KV3P zZ;L;-i}@+`vsdOXuX62hZgKuz@#M+BlGg`5ANlE)yK9|i(F6JXBJ))V6zK;9dZFh_mm>%R5($1tv{c-@vcHw>6CE%%US?QRW%#+C{?H`6coN?l5=!RyAnCEIMxZa$9R>?olorlkI`R%u#KAbsos=9Bg zMaW#21%iDG<~+EXd#RK2gcchcyX69ICXFc7I}#Hr?i_!*WV*(~%T4TTbG#cCH@=;f zdUgHm?Ur1Yc3)>-U^}ugh9_p7+59QYbFO^6J-tUqgMs%p9NF zq%F&C&hC`5{rN&mBBf%Lf$-QTyjnYOC0kTWx06g)W4|h_asbHLu;;0 zjpzE$P?3CV!lJ3S1q~m3V0h~w7IFL9^H^u`L6uyih$R_E|Y{O9~|F$c`d09VLa}5)SX|Fr=U7leyy5q zWSYk#j>Rkf$y_lwxPkY^3%dX-DLwVn_A~GHmi2jlT^7A%Dc_~z>Nd|UR>~lEDS>o2=1?*isL7p>iavV5#$Lex8leg341$Qj8Kl44lw&n!eL$M0w z=8&MfkF@pYC`%k~J_SL2!cKqr#rD71a%wjgzxI55Cx| zb#$fl&3i@$2K>oB8H?{+`p>|?vQYcve5Gx+AJBK zJefEtOW`12x!B!5s=KO#Cq0}M;wa`JBNetoEU{zRdlP};<9k)kZmfH+&b(ax-mIYV zdc(O_l2=In(K2}Y^Pc}QcctYa%uj!NFrVh&|0twYa#)GU$ZL|<7rCpF6XV|rnSBki zJgPI@Gn+B*l$AL{-&D`LYzMA$NG{NBWf6LNf34ZwAd55U&koN?tu9@5&iT)&QBH?6jHWpOx*Y;v;@q z;-8qvG5;;Ctk+jOc)peAxuv??j}@W+E=;s~&%hUMajq(D`KKuhcsSHouzy|2*eQ}Y z^NP&8n=3`E-FQ}RnRuyFH2LJI9z@+h<I-5USsa?% z&)Lmi>-Ev?aM1!5p69Ze+jZ95H@qeCytyY(WRc@u=j3Iz8NypTx>*pL?Lc!|byD18Fmr-by?FGhug9wcn*=u=vI|QyX`I zryKaJr5cls)!$!u%BvhduxCB<5{g~ zeNWAM3aaKUp2Za<;F_<~Kf!}}Mc$T8y{orQ`PCe3cy|i-1oz|%S0fi1O^`fs@TBD1 zs2uGKy(q`?3VfD}I4>8wJZGu;YO*ix$A5;h4gh_RT%ZB)_N6JpJB` z1wR`<6~DeW{izV|lfJ_lD~#VMJC%#mkF(rn9^BAW|bGyPP$LB8tVj3+XQe@uU;jmDe&$Cd4byGOI zp5=lhBV(gu@);*o8v9QzH(0!Uw#1nkFDm|poL>7hIiVq?;ZCW@%6ubh%>u`tZ5m>S zZf#CznsNI|z;?yQf(?~6GG+g!oQ!5ptSREPELz1N-Cy%<9azaRYG>3D zqq4P#$_IO{31=9!+~fXD+2|Cy=W5>a$w6YS4eOL+FEJl?&=TDF#9&FP!*knSl}#Hg z0}QMtAN&<`JNKDOj8G-R*9Ebz6Q>!Ozx&GQYO&*=CZ9D=!k2~HMb1oQd^zvf#I=8} zva1Lgepw)NIiSyn!Mch$Oi5+MiPtX!9D2G0C7!xju6)F5uy^;j6&Z_EemhKEQgQ6! zf$uA4%nawAWO%Dn)KRPD$-mM#&1bhFlPzxdRXsP^#c(@xR?xkoO^N#gdxV2^`sL3Q zp5H3yb%{}{fA1^JP2v;Y^frBc+G^5J(wfGw;(+Xm(+V6jo_sx)DadCw@5<9QS9W!l z-=Pdg7$e&rpFAfuP2IHctGXrGRLWMUPVQP=haQtuMj%)>SAS+%*w|mXItwl z?o6tXc3kH z$M32xU3OScW@Vh=r+HTzCaR>Kyy2kU^JV#->dT597VK+{%Wrk9KE8vwdH3>%ejG0j zBsGZLKNFDLzwx~K&Sx_|S#OwnVbXF1eJ}s5YTvl-FgIl$s+j*h@q|r@jC@uG=b|04 zJGC1QTbSwu=}Sl)IIgtX?BZqhW*0Wkg`cNCwRK=$u$n0{*82_bBzs36#@L&l42_eF z{rhw$woUvlV5zpKVp*Bq+UpHvUlwo%2HK@2aLTUQdgz22@1%-j_p6lSHS&^<>;7?D z9v<9O_wmWR2N#$ejayH95gK$`Zgdq4 z6RE5%May2yd2FF9`!bS$@>Xefn|WKV1+6kmEvi&%5OMv~xLd-uRmYt3*^B^&!oU+x z3RWL@+3aFt_hHZDIU#qr6CLDjO{O};mop^HYoC?ncjukuS)*V%>Hg^}&-xwkN{-jq z{Fr_6@j$;2m;NND9p~I?GrIim_BqO=&#GC%{PMWmm&;6=>sb;^y8InmMZV1SldQO7 z$u@(%_PFGUKP%-}r|3P{Q+$1*b2($2`?+N9Ipr^XW<3j$_IlWE`9kx|i6zI+Z#=3$ zv269Og zL_WTM?>jL}|9%OBK&_T^rEJ9FK6|f{vzh_i`WKonO}&vLpLvk^`i_+XCr(5e?R@9s(1q4SicZbd%!$z-jwc7lUizyJioovXXn2cPfAvtdgO3J zl6~^qpa|B2#w&t-i$zklYu~=tZ?BwYU@iA$+a(?AV@FkY{SIKBVRZDsuk^ic%Ph`M zZ+*VuZ)VEQWVs9Nea3zBzNlDtlqdPe%wh#A<^2vVjX1TEg)R2( zQ5EgEHxdf3d|klWXU1c5qCst*aE9*oJ9DnYWwi@xvKPDzI?=1}@T2QG#;F!8bxQNI z`S1OGaL|VD(QNLOzRP7wm)=?RpFzWhi$T37z5m*xw%Sb{AFq@xtxU-?>?^#!V2Q&_ z)^@vnTOL_Y_Hh39Lh+a-^Yz!EkAqa$To1}5Ei;nIjXyqz(Mfr6@%c}`u1-;(vhdG= z{f08nW~lw#)ZUO47Up|&g1IDv;8|zo1ZJtP%$9E*%oBf~zo&b0#gb|MCR%C^G7r8i zW%%6lpP^NwyP7??cZd3{sYMa5!xTOrb1U$-pX&89ac9Io_O9MVv9A@`m6tyb>S2|z z`IXf2PKjxTUusUDtDEIyTZ>~^nPwkbzaPtD4-cO5a#lD~3J-(iiIvQg<)pV+g{GF@ za%ZW{{CI4c(b_qJle@$o*j`z$JMXTmlEK7t0Z$4i`wKHQ^06^I7wK#&ml5`05R|UW zd3=L!tAw;Fv%H3kP*$=`y7UG=3)@#po-ePGW*(Z?l`|C=Tso~F*=X~B0;xDNuf9BBhiC-76 zy2U)uzW-`BnQ`*^+= zL$=ll=H}y3MgH2nE%Vq|xn}!ad-C|hQ6VLzCU<4o7mVxoT-woWEJt<&M3lkJ(LCIVT#r z_)X!Z|4e=Txi4(6R&A7CBqQvjxlWbQ+N~AEJHS+CN+GlzE zsl$=LPP2{AWtwkwPR~4&uzi`ua*nIZ_=-4QH(#4)xZ}CRF^dIUed|s+sK|VB)%w%$ zv$^qd!L#M1IW>EpPtX$Yu6oYAJo(zPBeq9*fA8Zf{B_}7Ol7T+7NcfcK%YPJrjNmg zHEvI3ws7K`3`Uw(~T+Tih zJLhIN@5@p)F1H&N=L&rUC)K4rn8&_UFEwzt6>bqzK5_x5mx`dvL3JJ;7;P+jt; z;|uAnUTZ=h_?= ztm=zMtazf&8G~g$Y>yc(v8Mh$%<${NMJK0e=ic6*%JYz~@JeB@VxOmgh4k-qmJ6RY z^DeeH&n(K=qane5BjnrjtceOwx&)Z_%=56cj5|`g#Q&>%mCUZjIbT-V98vkeE#NC&6gE}e>lZFCt94gZ zy7p(y{LaeS`Jm)@R7#)Y;l8@LT4H;`eLD_J{G;+%gi*;X>E7f0&Or`q;B}@&f(*!RRRLuzyPV@-;drzz0AXnb2EqG^l?s*A`1!dCG z$?uBiM-}FtGN|JFb2*{Urm~XZm+-O7h6nTZ6gqS!PE}=Tm63CJE~>JWfqmikFDs(c zF5MM>?U=k zX66mwmvm)zgyfVQ4q$Sh5@YzPf^E*Ejd9`fQJ#KhnCCnxS^oU#lc)WT4g%**3O1z{ zKQoVi?Wgn9Ah`L`j7!>rTpB8MP4h0Vn$X9o{&yBbO14^vwhZH?W%6ong%@F)h=HHD?#L`R80>Y4e>}MSa&#t9A=XZYrucYoH@6 z82DM{8`J8uVwd7n*zGGGbskyq`f1OD$G7G!nHSlAfr}x>NU6v0SZ(IZqMm;dJ)iF{ zSoNLZq=HW2c}d%>?2JA$xw~f>_?3?AtaHqpTT~q!)44cY`*?sGOhpn#ElXUWWFt63Mdy7N>5q4}kc(9g`L zlNc;)E*MWdaN7Gbm?lPsq723lo8DMg{|>&MlRb$cpx&y>=Ga0{%a>=(GDVex z9Dm<-T)-_?4V{M zp8zArIZw|g_GvmjGi>sg^>`hSpBj@gdCpW*>m5NN$#?j!2whuJT+{xH(ZS}~>eDh_ zM^7>@4-WQLOo;Pycz)-Ku~7`qX|4wk8ee3{PBihA=#gDMG0>+w2}F?Ku2)R?CqKl);XMK2#$L6Fy*HK<12nstz#Qpl#_er+4{O0ou0gv zng1cnmp0w5B-NeS zdZk{uveuEk$BO-3Z!GON_@|e_GUZ^3tVls|z{H(1(xqo>H~aNPd{21y$4xV|puYT4 zgQ|n_sRuoL?Q5N$JU$h6>~fRwIZe(T;TnF9uMT`N4p_a!diHzK$Li}e6m2=@=cK1` zNF1~{{xERDyTi#1#&=2=+Wem5|C1sm1Eu%l@jA z-5w|67#1v?_DS`cSCfIC#luxOqB4A2j>Ilrz#?UHlDW`<>-=^tcII0>&7TZd_#Bkl z`TUH(EZgRKZ-d~WunBY$5S7FTzJx6KTAz(6#}0qgPWE0%SH8qJH(`Ldd^TcCbMUrWuhB`0qkQM8a{cyimfv zTGCYO!0CqN`+Z8kEy#9r+&NY7Opds1pP_$))v~uw`YP0BK9e}DXTd)4rC;=v(r2~{ zYL@!4##ByJW0YXxUu$!~?vdfSI}bhv99!ilkXXev{^h9^X>sIljQ;auN52X-3wi=dv`FCZ9c%8d`XNvgf*m)y%5*XE_|seP^o`I`fgD zOwEy!<=!kSc1WC0;%8gzQYvp?9~|^W;^*^9X=c{?j(Iy*h*>tU7(V!JTe~Xcl;`(N zt8dF(eo}hQU46MygJ8-zA(zAkPK)KL7y7w^mF=f0+`7rq?>sAiO2>|V5r(F;BFPY* z$4yni%emDg8&ACMxtzq|82h;3)eiMv0TX=B&wB8yW-l*;tA(Psc7yoNpn9#O7?slv z&lUQnmM(G@lX>#(+3KH(?RQ?j&=Ay;v{}kp@p3|z?jeuUY$w!Ln0%SwX5e4tp7Df{ zfq{7re-xVli{PK$Nq!tF7WEXZGg~d>z`iUiWP8lC;Qk<1>(f4Y$ImuSvemS0aQie- z)LXdk+2o?t%=>vN80Oh)xjV$9l*;Ris!y}o%5k{hc-*4}EDnr!B<6fm->ZE4bo1{+ zY!(V7%UyaJHUv1led+P}r$^1<#``v13_e?QcHj7NP~x@M%xTG=YE~_lcr__NJA zRCR%%*xgULuP;1XJT;d8gu~0-O3QLjuw9jZpk*0x;!gjOi;1=YHYFCkYtS%}rDPx`C)0G{|+4sFtnZdXLH9`HSs!YPK-%^zmANnq``TQxNC~IT+N%e*TKK81aJpIDCITI`-7I3P$Ok^wK zcrL4@5q>IZdD+#+vjV)9zn2iIdbD6(SdzpU2MG(d2KBj}*Fji*3(H-zyAO)DFI;vYrGBr3A3yV~sh*m>^9_F= zm#ok+yrVqv(yY)ADt)fj{alBaU$~UA zr!v7Vu+P`DK(&);g~p!wjzPAEbGeqwd|#ooGqypG&prS1QL`YIE|-R$nnMjbi>>6R z$jC4(C|@=~l!ci=_&>w-<@o{Tt?F`3%g#MH5n$|mVM%c3;!OXKJP9jTMlSj6l>9w; zgUu!G(9e>`>nv?Gwny^6=hEhxP*7Fh>v3&Gl{>eG@u6?FY;{vq+^!nP7|QZHdMy)W z^<=hLalSC%@4^(DgoF>p*BW+O?>(&X=}MluWM0#R$~6ren37A=Df6_!h@A>Ju_4|glc$rk}pjZ za@|>?->Tm1AS~&%TtV=eq2W-X98`J_K(nT_myu?-mAiE3un$O z2;I(5xsoCB_`8^7hU80&<|c1%&9 zx16Kw-b|*(CXS!y3oos)(YT@A{K{eZhHnZ6?pscT)H1w0Zt_A%)%OIS^t{YX|K4`9 zl|7es|FT@U2swMRMk7v8$Tl02ubWP=yigg0y)?00?#F{K;y z6;+~cA zIQLx&O%QyrY0?>XpOA}pH3DwhT3uc|^T|IZ>ttJ3hVUsytKOI0S|TL6!b4!^%uaQg zr~8l1xv+Bf_Y^kf#9Ww3lV`Ak5U-@{3^tX{fTqtCiZD6`Dl%0B(+ zk@YHb9?#FJ^66`Sv)li>k;MY0=zjh0o>@zb{ywS-$t*4q&)8;p+`(d{j|^+Y!JPhc zi;Zpcj-OD_4_8SD@Y*EP`>a{`$nL^({K~IAE^18JwUP5&#o{x)i-i~dzPDIp!za6( z6yXzU4ZAk{nE36P1N--k3a?{pjg!l@``TJ}Slm#R-PpI~W=h$Sj2#RG{EiNfH%!|x z(=+UV{o%`>m+hY~d+eBM0H1uHueZb$wMX+0pOj^FIubK=%9Dh06SfocpLv{e6WJ&! z`NDG9j`W@!*C4A$i#ung@TssXw;or18D_YNRbvOkR~cak^@WU6yKVP5tNC&3aeP~G zP{@CK*4!P(H!i>9F0w@QpzQJGTXi=S{Vr=|zQQ+!Co*DOPV0IhPf0 ztui>${5FU+>`2#6i$@Kd%592Im6?{WmtSh9qGm&PnRhT0zjfeH z?at%kz1vq6;^q{(wDmiaK|#feX;+;5E*1C}|5=sH`N@CUPOZwv3|$N@)=g%m$Mvd1 zx6F`myOSR$G0!M-!)_fmuGx0ymVt9q*D zd&L{6byz)VGT`RR6nm@a^sZU?N2c2LDa&s?3SzJ~kehd?aap_5n^lZKHxGO@HJ`-z zc_O#bmw&`K&hA)AGiL>1Fe^4ir@BdhLI;ebx7~Ivmq8 zXLopLpNn2|n)$&p2 zY1zI0Xa8MeH9s>=X`{r)$;T`YEbvdf$h1Oq&Q9I)+q1SPxi|izJPG{AwNLVs2T&5j$$77OvN@NT z^39cfb>Cxg($O2qrVi1Dx7U@WGe0|Bwql+4wAhw8^Jg?4wF;Vedc$MMCxX}erfm0V zb(Yw$pupB*wbucitUt#KL^~a~wu8y`p?O-|k)Vl2hi5!xJaMd6!;t0gql7t)&Bx`Zva0zUKBt;IIXm6DYfeZ{&y1ks zjTfqZUCGqDxVbp_{!&Z3`WYvuDx?-wJzkc<9VzVe`blD+HD8wb=ZP~~rK{ehA2+$t zKjW}Wo~-5}eZ#i!r_8FZOnxVFEGE3`&sUx%TmS2;@}|`C9VgkFDs8QUxqk9>bKF{e zSgU8H+H4c)JF+(wo|GMBOq^`dp4l_)(C0q?OLIl~L=0u!PtVg_pA#goQIp*=RCcAo z6Zb-E!3_e8c^ZPnXYKsBd*&_RTJxD-5S9mVc71G2Xx0rb=gZY{0 z5~I|aP9NB-s$wc%6wK)}?#n2 zV=h0MrxEflaqf=LyVsVmJ9+7)Jn#Fv()<`h@0^r*J6?vY%S&S}NWI0V-c_P+z5m=P z$KN{^aBt`5(fz$9p|qevZMMjI<;Qb`o3bPxJx=jr_;S>r#epf(>+!ouS-%)Xu6^P- zl69oYaOL3y)`v4IPONxbHeD(7m{szuHm9J(hWqA)KG{x(?ihb~Il%<{f5!Drq5Gd6scuKwdg?*1Y?M2aeiEToG1je)^nw!;uTcl^!#{GA-d$oL-__)p%i&ud+>s z`Q)AwixrFe9FA;y%r5aZ_|L+!IRVU%_Avf)wbyvM@miz7>}NOX^51i<&kLM0trp?nbZ6^h%u&S&ho(KuF%jqMpnIh8I;$m2u};;*`smnu_w>L=rrl|EZ?7Z zSvARROS>`m?00{z$|X(qQ#_7O@?+JG*;yoI#I;@h+Oj+6nJoMy3M!U`b|mk-6=m~9 z!eW`*k7h=XfCHjmmYq0a@UvW0Qmf*uciNe^&wLe**`>U0c64I9ec=6#ZH8Y~+B^?3 zI4svb->d04+{ZY+E$O^^_nx^*dMo?#y$UiN z%M$1NSy~*mbM4Uxjrn{fBwU=)qK8c;?|fF5XY3VW#n2O$=d&2LI0SFDd?54u^Rm5{ zHl!R^X10B$X1zE}W|GxBK+}!RFn|nQzT}a;E2S z8uM4}3vyrFWjeSD*z5vd`yF;tI8|Vsywps%;DES;<+FLI5w}kU@EOh#JZeb%)%~V_J?H8leYXM&)SVPGl>v z;IggF3^ea|;8(aJyr);{XSz&JljTvJ{3nYR=jD{1uVN9_ULU4DkL#Pl3?b6!%QkneAuEQetwnhj=(KVMOMZBI=9Wg zvS0ssS@w-)?el3l`X9b6GwD;|I`US&T2!QX&5~n>B`lJv{$_=yrOL%SALBTxV&p7! zN;LfPoOxNLEx8Xn609CAZuDSD;Ip)RG%IhJ>){2j@64NG8^Am7%4$u^U;M9w#3GV( zrQV%95R}E4H&xgo$(tv6s~z{UTQ(;>nSUSeYG4*Q%6)22dV|H1;3qCIOdc=iKMgXT zmV5KO#KRq?A~!j|f2e*Ez|w6vvF7-fCsk7OZskv4zWy>aVFs(TUwPrBHMfOU_Z7aL z#W4GO7I*Ue;9E0I`uwL0FfTVbY~&Le=EHLAfv?HQ&cm%TrH`hrV>xd=ZTHRo{ibo+ z%b2r!m~V^RTo;#nDp_mCPY+9zn}IEvhU`6puQaVAIM1G#bYEje&V#%MjGn?h(^N`d z__~EGdLZ*?+Bp;Tv(8O-JC0@eo$!nlwrPx*Z+*Feooz;*%I~>;Rzexk84Y@S&z~{A z*VgNI_3nXJzSb|eT{I?_)LR_`IZhU<-Dva^fl67U1Y~8a`^aKyBe4xo#t99VU#^f@?D|Mpb9Pf9E zPq0gJd=Si3Y*_NCJ9YEHWlo=yvn_A&`#hVSH*xWn&5fseTT0J*8ga}JwRLmjWl;8% zHscbo^5FB)m>Ox^QBFBrX8EXr;oUo?zBz)g13M?2f68{4 zZ@*VDXR_o^Z@xVreLX|W@5t~yYEXB(al6msxZk0fHcM|8$uL=}b-WAQw9#HdQlwL& z?0C#K<+aXN8?LE_sn1fh%;5?4npQj8-`{Jlk~EX@JU1ggL)R^g(M64068(cR z=fw#eSCg3k=%|-Kvg9#~lkff1^okyAyWn++NhQqNUo}PHiR_Kb0zD_Wqv5kTc2dV4qR7+!TjTtC)^k$nL&$%=>}ZlY)w)o(i}7r}sxO zc=SDp+|}2-){^U|w=t9P4Y{u(x^sS}H(p6w+H>GBPvQ0r@@tvOq|U50`dK(}O9^{V zkj=sgW|nyl$}j!XTjH1NEnloJ7Y5D=tY)}qyk;&NJHwT=$|o8WpJ^A+ad#~S-OkZt}RV)a<(rqCfy7TK%Go#zh?9A-TH2=k2SLm}2 zj&!O$x1cEFj`U8Q)^8tA{<^Gt^RVpMiG4F(2AsB8up;#Qit}DIu04q}N@5a1_O=L} z^A;BR@}~Y+d+uKjo2q~#O4I+9T#armR55xRe6{S`5~gDgPRd&R`>L)?`_Hha``I5? zxxj)=+H#f(TtQy*lx`n$Fk$%C!oVT(JEZ#Cq!oPrVPBR`dhk}-^PtQX>8bY(o2N?T z)X&Sg2gf_CFa+1{1w*emcm!;HXdT!&2!*K|7C0Ut7Gb&mtgK{mS!sTQ-Rmw%E-{YmiIv zn4_q?j)7_Jb45wFXA6G%S;|Lc2z1(oFw4w))}S`SX3e}H2D7Ipm!5YGQ~3DfvRL5e zrxHsP8(3pxzOsB-z|H4&Z+_HzoqXjtg74Uy_jbzVpeyZ~2oQ9-u zUT6QL8PC5gt+=|utBNn9%=+KQV}(w;-*cUw_}Yn^b4%+DzRNvb%*IC?3g^u{?(A&H zarFGduB6I-sYzv@jM%HTtdWYCDt)RW_sNPU!e_moEm^g$$l}Yg)WYo+IX#7Et)98` za>y`LT`XznKg-%Rt1rk*{9J8+mQP|&PvOostzZEza|@NeLZ3|<&q@Pq_6Wc9igUU# zD`)Oqhoc@Rgc+W9r9IJZo^yd|OM<}dlXh25I(`=2%kV&|?i+*5gD)0K(ilB&MD+V@ zVKDg@ak}u!(&)8ocR4VekNL9V?V&sBGq>ma@vrqrc7NEQP_}^Gc*4y)5`qVqmzt&r zlrhfXGtx}e-kc#_P%l$`rC70tQ(}^l;g(A`g)U0=-nPv7&ro9OowtThw0M4&YmbGs zbY4~ZM1MYue&z<_cbO*IJkyIT?s&+WJ({hYz{dUK@-vs|JeAK^*lM_h1aYdXtG^6t zagw}P=V1Km&ZVud))_o!dE8gIaPy&~O^i?KTa^`<3mH;A9~Im2GeTwOl-56Png^9D z8J^pF^_eOq9Ne@dp}%V8g?x79iL;ib9a|(LD!B3wtC91LPQ&k+b|+pObDdtC+;d5^ zhRKnAhx$_6E}5lX^P27UZJD2L+|(86_2Aiz#(nXIWzVl)TWUR}HT;Ev#oM6ojB9Ep z9(s3BeyYKVcl)wk98cbA__nmqWrs}JgU8DkMr0ruzOXW zv&@-L`DjK;sPqgzc6E^xPmK#YCsYgiujHMyc}rmBJWrL6TV^$>R~*hO+{5$W%dg-k z1sA6%tLNW6>!uvjB72_Y!qgVePpy0wx=kTL%4`qT`KlDGiJU&^#^ZTYj>I(UbVBD$uT^R1Dr zOOJH8mo|l|^RWAI*k&-fJo&S>{oe=sQ@g(=)*ADGAx=Ndtf8^Wo(l=4Y%j}){j&qqCVhm5-y7_)$m$I(Vq%%cD zPT!9*SfBpf5Pp80X3b8eq@Mln()WuzIJ)7|HoF-4wQis69HQH*cy) z#|#GMAG5d{mbmfpS1}w(&p5wT?G1C{R<7p!$NrKBdU!sbIBTZ-jAs?e8N!)t8r~`YoP#VnvVN&xER9JeQs^K5bM^l)JIy-i?P9=d-*McNQIJ?n#(8 z8>RmI1Sp=#-{}Xu~ zsHAr@g`NBON)w)Gv3)xxIiqP$L`bW}`{qkaCp@B`?SPnIrr;woOtEWd~K>q=B8&34FBZ4GUnHX9+x}TApLFH=RHe%=2_-^40g3r znymH7;?&jhcnz^$&tryXEth;&Ja*5$Cg?81x2ZBkj_2#M)(cvnW~h2RtETMZf?I{V zEiGk!2TwCv$MksK@=G)L7*-{6-0`o=m|(`dpU2{*-;EC&jxqIovdywo5#lj8zb}LF zX1 zKB?ev-;Grt7Ylyc=J&wt%h8BaD~_=_NS$E(UR96UUZ7-U1yP8i+^s`{u^qiE5 z^D_IK=B_<)!1Co;29GyMHF^xpjeU$OgOWl${#3rOU+Yk_va>()&{y3PS@rL(GBs{t zJRrg-Y+N~eTZyGiL8ebzkcG{+qe?rK3)tno9K5#2?tK5!K`7sl@zcjSJXcPd32Z#> zwdNA*@54&XR*N-w_zDUgST^k}-lx;t!%+24cIDDf$0DvTXP4D{-}w8QV^8s{u7H?F zhPP+2d~vumE%(Mr^#!6PfkKwY>b06IIwlDH-Fehcw$I|gf@$xRSEZ=4GZa*Zm@8-Z zTb_?w@DX(KpI7XiIbYd(szZW=b@pq-7(Q!U77?(N?QrAQ*MU!klBGA??OCzR=}ddF z!8eneF*A#fG*}#~eW9V&$EmDY5b>#OLTzTwDXk9YX@Rf%w9MkI^z~2Qs!EU&l2m$R z-0XKClBIstaf??~Tpm+9ZY#tcDE4SCVk+P-o;OuyyIjDXkjEBD{9a`nggjW%GY@`| zeBaf3e?rJ}E;;JA!xl0+B9e4-vJ(3yuD1%1_@| zRbNg{oO{0YoZ+l6CfCl;W}|d=W#z80kdtZ0V+uXBXB_w6eQR;YiR3#M&8(lTU@~~P zGv-(DvQj~_3!LxY`rX}V=k}_Kt2-m-^Oo%llY_1`gqaITp5dA!IA?odP;|oWegnqV zCtOq9^A6i3YwHK?uwCWaqwtfD|MFV?MBXmt4Gcy67RpN%{+^5Ad6G2$>Cfe-C;2Yi z_2AKr4L=W`7Ro(dQ?lrcp25kTZJy`cE_$7BJIv?suyNtH=ps)^g`!L&wb&PbO3tdu zx*b)noWnP7t4fhb!lqXPZ6 zXh++sNt&D$*Nc*G@IMW7QkyX8d4jC5qw3TUSCu)rqOtRAAI$l4K(3mvs1 z9|O*$cpP3+Y4Lkap@XnOcb=!jmxa@_m>j>EGE6D#Kb{_F(K zRevV!4&V=b{XR_0cO$>&+eyN1h;W8E8E&?sfM}9Jb#tJ7?ql7mh-gwvdYXL zM@gpwOUvaFixp=V9JDt~ei=GT^-iS9o%L7B7H~$I9}813mus2qr?}Y1aJkdM0Idaq zHyC{5JOhmlrKKclpeBo>wpLwJEtEU>I&t@)+!oFS)ypP2v`=M_{kP>y!H*M9E;;9mXgC|bDw=XN)k*n8P!-Qt5zdW| zf_gtc&#<|&vXpzFhS7d6fAy#A%=Z?RRD^71yFKSYfM?R3#Rj!^1b<#xvnPH1hE)^m zep_Ez$LF9fyUJ7bQ<4s2o{@;ulH(VOa%0{x$b4a&uPI%&uE<^e)}nB|*&ELB&MU^re4Tw3SJa}4vQ+|y z%@ICgIZ$;ex4@VVA6)oHAtrlo8 z{4A;u4*1S^Y0knM`x|AmYrDD=qExrZmqDmWN#LjPDYWRe+fjN2Od9?|=tzLpkpLaJoth70MVCC(JSDvKQ ziAqeI$}QZQIO+I;Ws0B66Q?WmaAhY(%$Iapx8T`ar8Qx{A3K%({`zg1(wYpVz)yWy zp3XlLnwXl8xhiZ7S$TZ6{wcGMv)W3GHguoSay+$9D`m%wXO`~ljmPs}dRG}xy*;mz=rZID=9oA*fZHj}u#N6c73M^lrHS(CSN^~}h!J)oKv;HM*`1@Ys`MfQ{)eE048&uLEdnwQ94 zAt8~sbLsDJ9u9>k$wiNv9A|NOdxbw!$+Nkzrq|eWKVv)h`@rc&PX!u0&)cqiHBqOv zc;dV(jP}!iFHk*y_j%t|q39i*g^DbKJAPfc^fT>##;FZo--h;{W)S&gaa4SRF1r;c z-{TW96RLu@TW`wgVU=|dnYh`?C^w+0+2h0o1M45kbA+8PT&UK_TRl~oCB$fY{oR{y zZ#DDmJeD!PXxE7&Umm3QgiI?h)G`u0D3MdPfFpN%1Nj&cAKGiv8 zUV;Cqolk1D&hB=)<8f2_PY6SQy3{&z`5EaemAm>ZLkzlfimddrHmhv(J7#gx+TxfN zt5bAFOyR`7Eetd6f7+c8ys%L@=5hb>xavU3AoJ%96_P7$ZkNVv5^n72uVQG*R7z)3 zl|Ff>?XCZ|u!{CsI}b|AZvM~kdSOE6?4pMS?$=tPCrg(o$Z^QBGI-lQS(0-nqOWD% zysL5fMh2?o3>N3vrfKI}sp?zGd^(WuXs+!hnZ^^r4(mE|Q*?z6LcXn0|+k>Fb}BO&ND*Do=P)dORy7vv7++K~aJKS`*g|Vr2}Q z%WY;k7G2#LUX#NvcjbC(^5lfzzMYTviuEdKuW~)-c&_Twbk%K5l`m>F1X}BBpG8kQ zXT3eE%~CD=cA-MeCxac2FHO^!!Bm#}^C$bY&L|h@sp6K*k_$MQe|FexsC;F3;R@fr zxReQr9~-}ZSt&Wo;>arL0@>E!%qIqw*Edd8o}+pGQiJZTyL(S*Ol6wCOe^x9#{>`M zJ5~=$ME&kA?K0F>2%I?g_)?$CKWDf}H}f%yFsv+=neq3glfO+-=Hy*Ejq>b8HRppp zpStHhz1>h?z$tNZ#VJew39Yt$#*Sk0ITNETcldlVoK)4qgt5%Z=T=$pt^ z{>t*;ag*~iv~`x`TKqn&)W|c*qk!+h&f{mQFP&H|;coFn$hKFRV~O_0Hsenp4;=N% zJ?y3`Ys9YH#h$o-Z)(IL{g}-gk7+(|eJWmZLcYAKw`={W)%R_ScvU{{$p}q8DSt?V z+emWy_ni#swl80^9WditKH0bT>D_0(91r&eX=SGO813nCIA$Qemtk(l^Vmr%r+g^j zWGQSi^kd6t3v^Uh^<433&ouRCw!gS)Caq{Ndj3801h>QG>=RN0+N+}yXT zJb0VG+?09mt#v6Ai|4Ir=}*uQ+S__hrhk5ZP4fJuo?A{lX?yVZPGMKe8pkuI9F$ic zbuX+qv0AdH_s(j@3AOvS@UOJ#xX>W#Jf~;QmqkHG9iPq2sSEYwt9bByy@(;l=~O`R68| zpQrY-wu<@E(y22e#ncbWe=EwotdM%+rc5bYgHm=U^HYyoe4grCZS#YIpY9Skv47!z zhOa?xD-JlRG5p!7Qnt*dG9h4cPm^ti=poTUY3!n z2|6kLGgr_u$Wgh`q0LS?^wUgFmDF16kPVtz2V~?Qs;%B)`2MHyr2Y3Euk~bE=yBkL z{oVHtFi3UA#Pg?u*Ezb?RyBcyYwq|}a zV(2bN;{3Ub|HGn(O>=Lu-&(-+%D%Mmc+`4@Noi)A+H%x9&j&iJi`nE7UTLOxE$2b` z_oWq&70lk~xql4Jwp82R@v|{{#q-zyL~UFwZaF>v;bE&Gb;G5NqwR+SvxRD(ugb-_ zKV{olmlLTmLsyCzs>S3WMrtN-JiI zP4d6H!ZNAA-=S86=}tN8jn92EOe!zE{WLH4P59(_wJSG9Z*mF$bl|1m*50xSPdD+0 zE#UZbHT6tS_#DQb0NuwS+ENqDnRx9Y%;jfpGB2DJEVI+&s)2dA&Ab~6xG(yx&fVT{ zcw6;F(I3L|XYkbXIz%pOO`c@5TUyoeiTt7ET^cTH6=UY^5xx+>a)v=JSRy?4D;BH#Y-7X-=5@_bPL>((DwLcpjT2`(n>LR z`I3U#&B2u?w(B(O-speV<$GR};m~fk!q@*9t}j^n#NkBj#x0C}MHZ`hb+U5;L-Nl# z3m>z!T(w#Gon0Kq1G%pTjj8>)hvcl89jq66PwOz05u8w)*}d(h*Mnsiww>RX&fTuj zQ6|AO;kHe}h7%`W&zf>%ZmVmXVZV{@jpK1!mig*0U$9{>0>G@oZsa{}gY9JM}$t5<=v4a#kFiQ4&-) z)r0+X;Zu*06O0zpp06@p?;c&V>V&jPI@4^EqRNID0XLE^L zdoz4yx=S8>QMugYg43l0>9eV3&xmDBA%JZ-N z-R(2fjGP`M-&?SK+o!9}o1PRcGH&emx$OI*^9~CaYdE+g1hHgmuzP; z=E^Gyx0F<8+M5?V@m&f3iZv&n_Rmf{=5g@+-q4>mcdzS2RvzS>yZF+g>Jx9T-c3-~ zoh0&!SH=9SLcWpM%`FLi$M3DwJLYoeSJ5)_9u3}>dvf{OFH^1a_UsMp3X}UZZ%!_bGA(N{;=A*1&FSu)A!(uPT;;4U_D9JFB}=;{ z-)?d-6Bn+@eMK2j9TTkbv?Y1_{ieKFcEej#^2v%nnoTU7{~3zq!=4u3nxU(f z={SL5F}vj}Tdipg5#AknWt$zG-`R#Qlzo*t{mESozEf5cuPx|{V}H-be>dsoSv$AV z{+v`#?yrfeAF`|!e~mz zoOM=T|7b`#m)FkiN$C^GWnUn7RVDD}0b{=9wpPLMZ~hgyh4NVhuseovA5h@pyL{R9 zSgnTayS5!Az83{NWM6g^%8BqEdD399Yu z)lQzf?cXzdt}SzQn!WJ?>&t(ldeFE`&c4!i<%ZM3o_n3mo<4c|fPZbI$F&IlGkpBkRTr##+A5B?u?2A?_htGl4Dedv zA?q7<>?YSD2G8HiS3a7ap_r8Z>F2qtk_!ZNdfq&W*i>__F7LkAtebKMw>O_WXMAar z{O+v{xqJ7%n3k|^VYK=__bhI4z4KGvp5tHY;o(15BDK#VZ+=vtcxbwXURuI3w`c>XNuaKp0MI@^QP!g!Cb z+GxV>x-ieWkE!SLec8-q7EAm!cN`DU)MZ(wIClZ-X_?aH-Wq9wtNI+jFKFC!bVr(G zh3qQDUE>E~Yx}eaZ=kKHIs@1V1QR}fRqq0g;gX;F3ZI6VXt~lknwau{E zch@Y7*nkJq&V`g7b(tL(qQKaE{dG{R(SW0&pHmcm{n~7v)RW~0)%)fz zwSMzL;^YqIEj^c_BhShUZsc-2z`WLh|5Mo$837{;kz*5+Z*N$WFsJECXSv11zB@`E zq-`@l9MMnWRnq49lApD_Kz-XR^QS83E}nSV{4&T_+3UE)6ZvVYnH0Ov+;Duipk!r0 z8*|QWi9Xo^|4UPE@U&$vvR3IYlf_arXS+a$a8bHewPy4xjvii~-e%ly7lu%+X5g8}>5qcNfJUw0m3^A6VN z%Q>zP)UH}3_h>PP@cV?~#45o1{Or zNrPE#YT}WJ4HH*b{J!zlCxrL=l+_7&N1d*_ zZ`563`@476Se!h@%it)wYhK7yxf$P9CbfB-7MtGFySi^G&viD|*dM-oo#n3l(EI+U z_n^f=5k{R4YgV0APrhvNY;LC66~X5gFSxGcHHF@iC@AiCzBP?U$7_>7%)Be>m{m^h zVsM{&T*uc-rR%2GBnV@cVC-XrI_?H)~DS<(%!3n z#@c_YZ2mLs(NsAQd`_bOeaV;QP0USQ9LH_0Y%$Q`E7$j%lk)u1oQ~L@zE-x16W^A0 zpOu)|cBgM{<7OyLX;OmY#2s&Q`Www#yMw8kEkF!jw{8e?ixg(X==0}i$k%fHJ#3`pd zZ*eO3RdFr2$)l;Y;>GeFo|5Ihn#yu%d{r7>mZp?BO_KR|-jvx(nYk{cx%sWb7MIn} zQq1E6gItw%we?S`ZgxXH$I zn;GtT2JtI)tYkjWCt9iA_}YV$$I(N#=NnhWORq()l|mjN$1GUpWxmKgmAXW>QEn=? z=S&ATX@{RDWow0lMPN!1gt~eZ_h~m@?7?Z31igb?+GWR zcs8Cqu@aPi~cHO)xqoy)=MlTjarG#=+LctZpp*PcmChIiy$@s-NNisO#A* zmCNC2D=zy&^oz9lyN(m;xARRdO`bW;<=CY?43;848FhLUBxUAQJ({m=Q}*QQ+UGY;Sdp{x!NfnSyvtn<9G7@GFLSlli6`m( z#Yau}4W~{#o>z6H^<+REuN(tQschzTjdLB!y^b=*%zri4i%iH3vascNq0!oTYO{>o z6}BT2C9cn5?z4;u`6#h1H}RkhgYm@B4IWRD`!rWSJGQhgiSdEph3WvKCjrO0giH<` zKYi5fZJ5QM3rptkOt8KZS1qxry^Ni0l4S~W&ZIn+-qk$})fZR_mP|~&vAI8{ZmQC$ zz9TJ)v#*pcRa~w+WbcOOs4b@WU73IMdQKxtfi}%!pc+KCNuWmW16X>=INYw`?$5Mp#Hn5dyd() ziz@HCu*15j>hWaPhMfJoZy6pgIjWMe%=Ngv8ei4(TZ^aO{JgPItG;`~mz8h5kFo4_ zEBs!3thOqEnSVynG9?Ci?dEGOH@B-ZD{owW;^(RP$7V3x-thT2`+l!5rtH+*r|rw@ z3SDM*J+27iXJ7w3aLH#EhR%xPk|rxQ?MR>cFU|77m!+GTuJ|0YpTZwh=;JoAXm$a+ zk5p$$iiEwnLV;Dt<`Zr;8w_8u28A(chP>15nSABzlJ2(}V)hm?=FBp6AuCRVEVQ_N znCG#`Lv9x%ZllSE`L-OGp!TNq!L)N#!A8+qf2|XO7bkh@o=|S64sKb+AbXU-$?m-1 zq4av^u8rL7k`@PLLaLcJ8?Cc=oL|3IMfcO6!wVT24=k;9s9MnGRyvva@>ZkhiF>8z z@G-J0u5t_3dXv|+omcNy=5Q7B@T*A7Fd+1)DWC+^W@7)StaGF zRu;ZLA-?kr*le>LUO9xFcq}q)f!k8fh@aAKMfOvbkF|bZS6(jr@z%t|nK9cQRX!-} znral_VR>Q!$JEFGNj{HP#X&AU6W=7&x&6L(Y?5nuOpcD_@zef}tv@YP+a!A4{?S}o zAf@baMe7)Y`U3g2TFS~y5;b=f%@uMCn^H`?e--{vZ{XvEgwlAhSt@E%v9_Y1v0t54(ugm;Y zyjxq=g{PH2?zzB{6~g3j{_G@%XUl`PmMI=Ms^A~M%6e%2-Bok=rZD`@lRn$|f4-;Jjpo_OkBcZFev$PS<0gH@9~3=e&t`ud#Zl0+fdR}9}x zR&PJUv4f>}f(GM}U5yiu6`1`BI4f+l_>lj~<05~|r*27+yCEv|v+L~E?p%u#G86m0 zL@@SvOIjXR;0fZ4Exa)A&z0gBvuBPy4b~t1S|$E7tWB~Nzty1L`glsKZHL9uNkXwb z*$szxep_}dpyc>oPvtdT-ZF`m&*si{2-a=Cb@K$XOvuVl4Q1)JnsOH3+7tx%-1nNZ zX-c%+u{iL$%fVCc?tyi6b6-05?g%{Vs?w|dJcIYve6Dw=Jy1HoHit z&Tg-bzXbh5xw<8v=rNrCyv%F1$FEYh2EjyypAB;ad-$e24SU1+pCMi3KZDAyh2gii zRx(^}&Y4j6S^f1{24zn1CkG|IE%Y|H!=6i1kDqP~EY+n;w{wN2#2!|D#?~OWJNGf?{*UUDeIhq_iCNgXRbRSe zHF@)#{`^Zb^Cr%b-O2u5=JC8K49{L)?vE zaCh&)11kj`dKj#}uDDb>2L1eUGf(DFm9!l2cG1ft2k(}c%g1Y_L<8v({6uGd3^cOJlUH0rqdPd?;ej@ zH|=S>*7HmmHp{!)cH(d zXD!Z2a|q~JC9PPv-FSg-15)4uPh-#}&B3 z1&$pIee(QeSb+Kpo6Ag#YCmwk^$%q=GVJ--C3jfL%Uz>;&IXGEOASw6lJl?ArXo7YNOI5g;BoLtbAU=~mn6%XqaTmoH5GZIdZ$y7$0})#+rejUKb0GH zuS_;fcxsnZ`cC6T#Fa=TuG3BY_fD)_ma06JLGZloD`mwl-vu>09xLy)oTOPO)5Y<+ z=Yq;RZk?<}zCUF7&(6v|y(_j|+VI!qGM6qP(+5QhxKb9ZlsKMbr1@3S?z~}L;dc*h z$Ip_|>^zRgG;QurZm8S2%%rC-RX!%*+LAlDYgTn`miYR7mgIKpMGwmF&YLPF8p-I> z7L)R9Qpjz^BI#$!WmcD87v#t}Z)SPUd}*4^maOEwy@j3Fs;8U`PzZ!lWb9H&Yb@YOrbWc%ju)55;2 zL3(SsY!|n|NsISh&JK*+bLI$HafSJ79_e{LiPbt&z3@TvF%5ay_Pqv?1s3*qZD00FPt|K_WyzB`%Uq$AlG9WC z-v95DJ<7f9x4PR7iGOAbU|sQT4kRT!eMQPx_jS~M{t zwfW>Bl*)AGT~Xl2aZWSEUeEpS=eHi25!0?YZG7a(oWB0j+~1qb z85?_^t<1N)A)Wd1c-EGVKXsp5<6K#8_Ei_0>^qXY)_I%9Bk4Y~{)dvsFD?1(wA^Rn z?Mt&Z&DU3!-X+C!#9O_FNqWxZsSPmYrYEU9xBN^Q&CJZ*`!&o|38cd6tao^n#Xxl58I$GE3) z&Lx5A_DXFjC*%$6ru1sge|AElZ|BmP&C4$Av^e-^v5))j4Z9uwv}SG)@>ZY9KKaVy zX>o0<)fM)ySa~2Ua5FpeBrcV&6V$ceBa&&J&ZDzmK+{O9#9=~)r z@o}G2pHBKiBhXeHvA!Oo^F#@bOmTQ-zuZ zbzv_!PcC3do#Sgyzy8LAF0(O@2vu^X6SG+zh!thvUwq3-h>OXf^ zu3Gbg@ABnYEW54VowE@6F)#e5pGfjr1`~xQ1Ca+@9q zGiD2vYy_`5ywYIoa`E0=_x(SEZIpS#ONPTtp9!D-+AdHDryorjA9<@`L(RR@<>=84NR zPRf#ar`+eSZ_BPU@AJ=%?+g>ZGw)SUD)O4c(|>NRNb>1hAwA#Ddxgp?BrIXPkTg@| z;(}EDNtVYd7qELiX}y2pyWN(%rir9I*2=KG)>IZsmk zR4kM?F3-IyVHY2Ftn*oqhqC7V^;u;f7TYZ->|$uJaOZI2`1(HBGQCHDVZ{wL$%q3v zg|ntU`SeiUoOxXaV}nP>V#%*6m#j`|{kdfH`MPWdW155!li{UVx1CsXn(i{l@-i59 zO87jvyfARj)51PRm$^h5`~0ec7rSazi&_53FnBT{UgY{*C6%}8eGQi!bY^;-jQL=dG@I{6 z-+TS_F$KQH)f*z6OP_ERP2v+^dQx~afX_%jEGDHugW)7+Z#0iV$ixFjopR^v1rJTCStPhwR&yr=F%W8Z?H+#6AS9VcYi zPTEFxu3mR4;ogF;=Pq6s4e(jneDK7(EU}rh9-KOJJHCnE%Qt3P#7>9cOm^w&kb*mJ zYnz-u^$56n^(}NrU<-e`LetuRg;P@H89y6SLs`jQnuWHg<-kPm-n8( zmq_+J`F`BXl|9`-;sQhbsg4;3bf;CNPb;pDczdjcs!tDCAZ3nWR=`IR#lfbOT6%^wAVb5^Tk9wCb=mjG<{Fg z)vCGsP6zE{xU+apao?AQ9A=#e-X(JctS>}Pc#`t*!nYMiZy#Eol=566&pf2Tra2=f z{ZfNOiok)$O%5`XJ)epfJP}w@V0dYct~A5+Kh{#Z-xhNm7OMJm=K_DhrwD_E*$d75^cY2DNr#@cF;I4DXmBCGBb;+@Utng|6ii;*P?YqO= z_vKi4fLZdZB2B>F&m-6r#9%No>dAX`BZ^weUH^VBQHYsl8 zEUNgjauH)9*Inc9-6@w0`t8l!ERLFS1}QD*nRq2|!#5q3fR#EA9&X@YYjIf1tKi^- zhVYD~p2pw(C7#VxdC_og)fxAI#irpNCOe+jYZQ5~l!1-L*y!tT|TM4Rhwf%O-JZCMte<_k3OI0Y}es<>-+iP4xW{h7BuiD zdrg?GF#n-#=6=O)$pV|5AtJY@J>Gw5w)i}cWOZhB#d@uoAvqPdgm-+YxmxkPm22j? zd*)SF-myHqj>sbbm9>D@>nbN!~H|5+W ztg`o$=Dsg-GQ^72=1J|H%U%+*PYdNqsI8Blz&VlIvp6=#K zxpzy7b4&BY6Os&4?SY|_E;*i{~#L%~HO-+}g6L;0D8Im){?E-nOt{;hP#ebCSZ!X-O6bjz0`A+&@R_NzK}m z=c8DB^2MA^bItj3cgur-v{?o+E6?#cuFQ$dz3O^j^2=GB!)F+0R?Uz3=)fC2eIApX zoxi*xyUB&v5Ras%Rje=ld+jgY$~c(2oQ1L3rKl*`HiY>ogIr}p<93TTTb}L|*ITvY zm*5Fe;gio&nC!Vy!Zsbbmo-hjZ&~B=q%#+cw9U?Jl#sBWYNFJ4_;pvwxzJGWnuA3* zOr`8DzT!N~+SrpCpYK(?=gg{?hkBm6SuV4=bgca(m-G+MoTQ0yp{F{|vp3G$!f0Z= z#d{_L%jbj3-Aj2-=k=uL7X~hSX6@ATxY@~N0kfp?jQ}Qo!@f7UffGbZ^Q+2l#%Fv< zJ69ak(JaR&eQn~bm>d-*cApC@2I=SYex6TNzkF$VSxNtTc6M3I6_3)Ut0z8Iklpd0 zL22rfNoHKa+k?AUzDYex?dfY-aJ%_Z%fzsND4#q9hRmbp=5yF8-rky(WF&inQTwv8 z#e%syMk!O(Wq9N-Evr|2E9Bw!cwVMo#i_iLPxznvL~b@dpu)1^jzdf?`_>RI=iCRW z{cm|Ez48dSoB7si5vOYG(&@Tys)A>kOwN+*_!fNpv0rqGx*or6_{N1j9#M}^-#gvl z$HwcDb|uPpg2Ao(n(XVeDpOS|1NNV?YG8AG@0&g2LEz4-k(=1w{RvsiocLk)ngpZI zb3z`Tk>A50zv8UJ3v+^mk9s7c~?;8yQK-+(GH$9+&r>(3n%`n3Rcw@nW>U1 zyI1qtcb-+AvivN3S8m?%-P-lE*6dk>yvU`Kk`rd-tg zY_`ND(eb4HQq9y}KR(Vc?;V)WtJM5@Zd3Mc*)#9<{|w3ZS1zl0!}a8Wd{p=ONgR7x ziuY`HKF7)sd3@%K`}4EhJ0})2RwRBsYHC`W_+l8<>%`1pTXo`LV#V2!MTdJUT0Put=Z5y&sL&Z>f**rv*slnJHyJ%%sfv+I$TaX!QwIV zJk1v;PN*I~-M4V#mlZQr6}F@|S@Qbwl>N-@t7^EyJ!Sf-z7V}jYzf6Z53ZPBIP)So zlWX#Y%QI6oSa=v&ifXmgGvjJ!bDm%LB*3I&aj)*8TN0ltb*e8*J}EUjWl(v0Yu2ON zi~47?_i3)qm&i9gdH(uZhN*2%5e)J@rALJ|3l_Fn6=+_5xWv$9X6)iQkL|8JiB#*9 zQF|l1yFKxr2#>3hM9qrhVdu{npVin?u}Fcg)eAM9s|K8NinF zMuPoXW7N^rojwy6GH>w-mdtDFwe!SJ{{rBvR zjll;j9?x1|bjf92j`GyEJx}Des9rsKOd{7_|CGP~zr8Gz)t+q=I(3Tkbys1FZ^xMi zvo~$(OI`LA#%pKT8WrE(>#dS%u;fAGIe#yPwomuZ%SBGyAl=3;-?6N9&nGXPwNoE@ z%WZi&Dc`{D$e%g9cdmA{Oxkb6IPt(y1|y5*5tR(v?#$t86+V@EI+yzjQpWfl>|OtpL^bhnNtjuRg&L_@IK9#WZ!tq zI)J&tP)XyK#FJ9>{|sxxbf+ht=Cfuz>M$>*_Y>1{cInEawl*KdZdMjBBwy-nm~w1Y z&5`bj7x~#H&JC8d*?8c~OP}g_j5l8%uWF0#oUP1Ivqz|YDYM_v)!yBnXPVTUPB@+7 z{C3vH;!e%hW0xCuo6eTW|E&FI=c~s(kJfDd$-Do|DaI@R8G0FuE}hi=v-9}MB|Drq zr??hX%UyABJ>#>{oT2vN_3b8``5(BctYGhA>v;5^!IewlQ2!&Q`8i9PA{Zx?J>JX9 znIpUBagVM_u-hIn8QGn0d|AZ;l^D{w8?SUVJ?PhIk@%`U*?(&CEPm4&E7+g@>S}$Q zn!x;_s;6{;=fp#wdc-CcSSruUDhZoC=dpbCtTt~|!|kfhUlS^qw$XT$EvHd^IKMBy(Rpgk=GOb?-Y#!+uIwq?@%XZBR)+Fq9qHF6UOF6iR{J_}YCrRw zKE|`km9v@M4ww5?Nlml(v}UnP&(-p|-J0ro_fK44UYxW*Q@yOXr!YuETVf)+!pGOI zkA_!Hbvwj(caA_+fVW}nB*ufU?=`4S%5;Ut&hkGS=R|h$3s?K1O-g)rtTd!|Y zW%9}sKj+GnJl^XodvKoY-Tu%&T1z&)nX>y1AA`mDS6OF@+>+SK*esa(4Q*XJrz*2c z+_7W{o~Ei}uJL@K?J9|E<@GM6ZcOB9$)Ik_Vv)owy=ZDvl>O) z&sZ#%Om2({XVH*UC^b1ySl(-VMYzHG%C_@bE42I=&f1A=^9WgQDcz9veDYCi)d+r7 zj^k(NeYwcf`>4F*jl~HI%lF>NA{VqI`<}(5BsXP#JjuIz)hUs@9E}&oJr6?oD>k1x zEwu5#xoWwqNqVjYshOeSx_`Lb{r_!sxAOkapflC+Kf|;ZHNV>atk!R>kxP<#nu{0O z+H1{?%#-omZ&P^t^Rg|*dk-sV9CDdmP|3Q&WATn+sUxbr*C+SQ@8y{tyJTV;%URETr`K%VcVOK*=f!-EUw&QtI#G~+7l*Q9;R%VCarH}H zm+$)C5%ukl;4=+-tIs>WpDh#1E$2KjVVS_RxS7ACzP(Lu^Lw`T+(N0j`%5O6^#=zz zYEHWuvW?@|r{!x?Bky+KU9dc7f%5jXQ58?x)Ne>zN^k3#=ySU0`D|$q0k#KnULUV5 z*t=hF!bSxhONqFv96OB^K1t5)e5@`hH#Kpd!D^X_@6Y1E4i-& z&#Iq``Lk%kE;qLeqVBHp4@2Ki%TO1WD@-YssjAgr3eh|2KJ(L)KTE5woRGRkyG)o-b26gvm_(`V(V$OEl{|J4TznPh_}4n?>`!-=+4T2f zQ<25;%6UnZg>I|=owPXc>q^kei@WB2&Iz2yZ&RDKO|~PqRNB@tARGr)Aac}%5 z8aHp5?|*J_m-RAhLpi4A9cJ}jk}UxnZWQiGVE*-}ared@;Rp36`B_+4E*GC!)xh!c ze&3hZ`I<`P!(vIId7FbQa=Gnw>j`RJ*KFyC7vG=V%Uy+Z}Tll$P z#nT9Za>mR58P@s*t$Jj{uRi%lfVXPo1k0b@dj3k&?nK>Q`FNh^*R1tAA6JD!@DJo)^kWqW!gizYQKbrauzZDE_!XZz`so13^U z1i7_t@&3%3=k=uN-qqLxKKbXaJg5qO>nZq#|82ilWZ-Gu!%r<3lA9f!G+X1(-r@{! zw_Ul(MLi*9a-Q_|WWRh33&F<$pA`-)O94d%p-%28YLQ?ne4M9GSy&dFg>qHv=~vW?6aSPo|hzrD()TiPKD0SLdZ^ z_e_=HcXSZFCAM9DXRo`3a`|gN&siSdli6=C^?UGPp&Q3zxh*%88U-JvXg%&-@-gTg zv+km)M$83AK2>$ix+9VD+sSy|e9aY?Tazk7UHp*ksaN5sLOWik`)Us}T5X0f#Y zOwZfkk-8q_8VPd#n+aPH18Usi-! zhB9)o%NpOCGreeWU)S?xwwa&q*FqldFOM^Z#}^(Z24uyyUaO6zt<1NVeN~?SpCMGs z>}leL30AgFeMfR+l=Va&&;PfTt@+x+*&JOCwtSkGb}!mEb)TCI^R2~Q(JLZ!H{5Og zeWc{k^3JDPQ89&m#pg12H~d(V@jx!>&%r{8*Iw5)xrv|C+C3$Y``RoCJu$^e?vl0| z^Uw7qs;n`4dz$BBfwXp|7sH8AnUBY`q`jN9r}svm%HI_s;Q#Q}nw_2;zK2D*6q%C~ zy=yNlwp_ruWX{49ERSWl3TL#kDb(e09Cz&b&*0U$cxKnr3(4=9=KN={a^Kl>NkC5M zOqEA9pT!dOjfv$a_Q)jvsFrGrS)G$+)8#VBJ?Y|{9+pL=aJR5NtfxY=yr3T;0- zc~a)et;SpJ-aAwUuj@W8waMf4HTW+>?5cyo7^?CxXN ze)`#F#T!`lgt#hCdXUcD`s7i=3$G5ZCd6crv^8j>irDxsE@^QoJP;NLf2 zj|V#(5j@diY@fV?*`;U4=LN^y3|~~PnD$0VYzOyo9>%|#7fv!C(|x<|g^kRWtqb_N zVvn}0y{**}WO``DjUUf9nq2Ul*ziC*;X&!L(_){md}V*>`bFx_EWsT~I(f`br8oZ7 zT=Sh>H?RAdI>WsCUcSAD<)_SZW6L_CG2wxyu+U-o_z#PdPE0?;p!{Is!NupN*-s6( ze7@G>;<1J)MMaf&zpPl?o8-H!dzk_)#S z^SIkrq@_8#m|y2P`?D`5F+Lu80fKowjLIs>TWwD;q|1C^xe^x>cybTVh9@6qm1Hg4 zz9D%|Lefl?iAxIq+>7&MFkqhL>Eh$OfjR4~^2g<#hTg?e3r_K^zW$$KeSpc6Bdx;L z9si`-cZely@eE*`KYi}v+gm+l^qZAkd-~>0nN>C4U{CIU2FBICHql<5^0ro&nC4GV zxh4ISS@y5yb*{vRAp&m2UWFpr0+xp!2wARp#`^fsdS-^+8zu}#g>81vbYpnkHGz?v zU(H7|&O!EN(##7pE*42v{b%sRdSkLVC10u`%YNX-j27kTo29-X}g-%D&mI5Uvu^=oQ`bPP*Xbi9au=^StSn$Vn(X z?p1nfq6E+1A4-cH&dt7&&{Mi#l6Q*1u}fllXZutnnU;!keQLSg-1FdL=%YOcpZYO; zu~^RC9vXRrHEFR*v4gOu%1u>=0EeS)u^YE}v_CwnAlV?NA_*)#dj-z*oqkj72yr@tIrP=2L4C;qNPqs3vt zTl2qF9MW#!9!Ad{US)H5`WzN4>}6@a`RDMw!!k*0kKO1@n)>U*k*;+MjxgTf zlz41E)nn5Ki}SV`LSb?>{VK;8LuHHa|It!&?NWTQBJrlj+t;&Z&Qpu|`rV{Uk&D@V z;+(?Q4#!+nSd6~BW3QSxbKj>=>@iX~%QNG3diQ>+k}~284dD;;yuteUqWlzf=6CO& z&3LoPE2hDAW24jIjWcI53*TyESfDcTl~#U%JY(n_{J-fdmb-X?4YEr^ykNUTmG!*nW{XiHp=cjvCK&H??u*z_;Zu4cnUEZ zeOUb`{?r5^hmXq~R36_qO|D5~;5{kxY^9;Ju{48!k%g&}a_-^D=NGIFbMRC2e5Civ zoF`%9$*kPH`-~)54?YN1vE{iH9dKW(p{F|wIfBwv0U!Kj^NjN6J ze7^8@7eh&>@TR9$#ZA6Sr#5*7$S(C)2vUD{BmV*4Vv&biJqz|%uVt{jUbQl&pz`~2 zx5nVapo;eahs0D)O=2s)yp->agoo@tCyU@O3%Juvxwm?puL(9tRt>f(dA`(5_0GbH z{V`9zi%eS6W4xom@|XsbcgpADz2)M{itSaBOFe70oeZQKb-cqqJyJ?o4e375N#DxB7~lw*EPn zeZx`br^-!zd##$PE>&&3xyY64byHETb=M@pEjt7ssENpYU7_sbwQjG&zwcSwpRMC$ zVW@t-RFFHma7{dW(c|BXZ8O)LIl=Vto#9b!(OXQ({a(phE-cF@xwFlkaQB_1c`jqa z9jo~-eI{&-J>?;?Vd})V)L>~==1R+RwJRnVG59;Mo2)I2I{YBsNU_b*ChwS*TU*f5 z#yj`#DRoy~iO!km_2Bty_nC7#et%K<=pEgi&^xt2ruRr`Gm}g{yFc??0oX6FobnW z>V$-i))kf_N($!=7*!rMx}$UCr|*QlpRX;R*tIjXM&{!it>_(MoChAvVJl5Z(0iPgq)RNC|bJlvZ=HW^VC%7jt9?IJZg+o zig@CAA<=B=E05P+PBsyb=O6FtKU3;IvG|RqZc2piHk|~XdhtYuBNc4VVpngOH|30M ztEAOD_NZA#@j`+pZ1-yFEsvQQ=y0c!sZo&krBEWno5!|xQ(l_$E;AB&@>TNLOp$Vd zos(=tlc%vBg2)vr%--xgRh+Pp01F`k}F*|sL!8$nSCp>Pm)Ty>H*8=%s(&J9O`U27xJ;u z-_U5=jT^bQFMM>IW_pW3GP%j$(I@%Q#Ou6!{$4(&x$J@d32BC}7E9BZ-+exw7-*up z;h=-W&&|HyB(8nB^2BwA*mL!sLO-6Cw!o9$U;BRgbLE<~FtlB45&D1{dpli)#6J>RkQp@E_dY|SdUtj;wJwW2U&3vW8^Zr>yM@}rA zyS=(PXoak7fxG`&yLgTMiI)F9d|9fXJn?Z&%b{;86CUZDI55HL*VWkd&)N8IOBWvX z-n%1aew|fF!-p3$AHSE&m?(Zqy_)SS)5Nf_9){*J>q`so%~lPP&rp}uU{G07v+?|; zMSW>$Y<_-)bIMlpN*OWKw@eOPq8R@4uPcML9{cHuKQ6emmK}3?`^tZ*`MHuqEl&~z zY&HKSHBOBYKEc$W{JGitsnG=X!V6c9a>O2AUL4>#+3e}T$Ddb9y_{s*SaIHqA<5;< z69x~4Iq#Oc<_LFuZhn8^lA}(XN7`ha^Y?!SKdo8FVL0c>uR;d~yQn<-@++6Q)0YST z6WNzgDmbs!FmT;Ny>B+cx3@BAtu{Pm#=p+0ILM7l?|6ZS%{IgNhguGu+|uPaSD7uL zVM2k$0`~o<9FK9z+G>3MK40U*$ty{d)bE*#p0m}mlv#O?S-2-bFM~1Fv)%AypY@fK z(ryc$FW+m%%45Uio0j!6kA%eRh8Om>}%FF z);wl>c~(==#r-p+71Gyoy}dtwDc{n~O55e{X6Z4g2_M+RZjpN8ZRlb>J&Ak?_B&Tr zoRxZO!QI32W%*CTeSB8I!YN7a+>^K`UN-6bWc6oe@VvuIwR4#zo}0W-PK!MvJn!eq zycc0tJk>%2CDg0=j4zu!Zj&~?zRfyVa>lun+ok=ig7Q3;8Z#NJ{_gAPAhPhl%X_U8 z+77KaXZ>ZlgZHvWH_vakShiV@JMX~Do&fEZ1vZUm(iN&M?bf@qnZIyW-Wwimo~p-d zjZc4`uJeR%ao-oNUs;Mm8hUFYN~eRrQs~&>FFG{xV;d z?|9ewt#ZN&1ySY8E0(FBI@{#%PxKh8{nU=SrWv>ImhIwszS891MgG7dJ|WYCUrnwz zmc5yJKF-7BnWBhH&wqwZ#U3Y)PfIAgesAs?W}l8XHS-!COCHlyc6xi|@pf5_K*67d zP1SwRmIzfk7v}p-IS{nUaJ%mDs_e}lTVJ>t*+9g4tr%o^#u;1UxpuB&E zqipd}qsVD8dUu|Dd+W=)^-~H1gVo1o-=r7=-Z`~*%0(D1Z`~2M^U0M7%M=vKReHXh zb&+8FH0Qy`u1V}h3=+kCA>Wo3h`(Fu9`m5;`$B1>sbMEYZalsB%y!1@<2KKx=mbty zjPp1im7vq*{Bv=Sp52x!d?|d3`&uSC)Sh74_;~+XCij?K%eQIBH7`wA{rgPvm5E0k zF8|bHdj8Df$H$E?cdJ=!EAF_=7{2bX#)SEvdS)$#XM9>DROFBFh}2D(|MjXb7V)K?u+?)h1c)RTK_EZJM*ka zXOrrH36APrJ<9X%u6a|||LEnc%o{lqo0(L2+-$3_X6i{E47n59dAcfTtw$eYlH;K- zM_o2ZiVO4P#qYlUVS!88S$)NmHebFh=Y4wa#)kz3o-4%^+7l!W{9d$p?lzwJ)9+ku zRGH*@>`oKASEp=uUd{tPhDQtdVlPi{v$S~oHkc<@LgjCD0P8Xr!?xQ!U%!b)cCp`B z$FIKCV9#U4rH^e2Z_V(FE|8f#skn6hA$=bNA-ZJ-T=-=5V5$rkL$X`s)tUQVp3^G0lU{E5I&`sn zS?0`7eD+*bXVk0%`uNptE;Pv2oMe0RXYB;d&#eM~j!!&St68oQBlx-McSu}LyfNDe z-sV|l7g#$_t>l^Ue1DbsA+|~#Kf^vPvq@^V9yy+PEb`U$RPO>&niR;4W6lgAUR#`B?L774Dvh2$nsRwUQuny2Yw%EptyY&5853WtWLWRi4OM9@W{+Q|)KqacWjqq+LzQgsQ@$ z0yAb8i=D0)IPYg2ysfFKi+dWE=Yg2kRMve_rCA>h^QVPk*0@*SZ;V_a#n!WeFNIvRNtf z=kUAFJ;5~>7}6x!=R8~5_A*4^<>eK}qntejm^Jd}OE>&!bys^loqdjg@x8TY#8UJ1 zmFHa*Df?J(smJJfYEW3R_ljvZT_u9p7g`?mxz4C+$hSIR<}9NSJx5vos-DUQp)=+} zWfzk=TMr6NlWDNhd=l*Auc>4Fx~u3|YahRLai69#Yj~gWiLcM*b#Qd1wqdFwJbgvhX}7kxeO`s;F?z~ehsJlW=##kpY;@9s_P$$pvr z)0-+4N*B!T^X{lQEU8@ZcHWd97h;5NC^O3zhEBTL(p0bi?7%tOS6{e7L+mAA@H=Fd zNTJ<~`{|5LK`?pdY^b5jnzkuIps zsM&t%xXc%(nK>@a8aLTjp3A(fnaa@Ec=GwBrEi#QTo0U#J;7vH#XTy3rwQ{&az2G{HZq2CWuFdOTN1KoNZxhVgZ*WbEd@7>1RV(G*~XDPI73^dM;b|(n09N zj9*s_w_M!NyDMErKdVH@BxA|(rsB!7a+-pUdE9g^V{1^G%-I&_`PwH__0E2USC#+X zFV(6HYEYA8=y`l?QrPXO?e^yD*K!B&Zc=WaY;Rn%f2yropZb9$J`0ww%WeyGNhR-| z*t#e{Vp4bGJb!h$tDb7zeFvoO&RElbf1Reyrt_bEl`k?0dORn2zp0AHlg%qHBM6;Hmu5prfv-m$_9i~%Q#93HFR-Ye!{*bsc;iCktvX3hEO z84UHJmbx+1%1@qrGV$KBPk{wx6XzXUz_?6k|CybPRbM2RE%Dowmt?P%Z7j3PP$F)M z&Vt^a8wx313^OIyFFpzO5f_XF4T!leV(Vy<=IaZ_j57S==Ccz6uAdv zPGHjGW>+u|oOgv$%rmJjZ*Rxjfa68nYc4)%ylg4Il)+!;w#u#7lR`fCX)#DxDxQ>h zk$LDztll%{=07R{0gHrXB9k4&lz0M!tjdn+Pn~;m$2vD7>*^~4W?#c(f6XabS$}26 z&rkfSolgRoReapHMo(;<>{7OL(NDW?hPxR)2fSBHR@%tW7qZryW!;i@>^GVnc&jJo zFl`IYIBX!R`LWM%x5{J7Um@X!lAe+$>?`EHY!KorY`)c$UuJpF;|D{s4d0ZBm6vx~ z++x48bn=-gNlHexnSr+qw_ZspdA?vRTf-T@!08ROnt@03=X|`v6I^q5Rf^%n*Y6B{ zc4k~Oo@e-@i?uK;Y|3)qR%2R(ID5@@dw77Ho0fykqD{V6s|K5@}ewI8(NJD+W zYtKXHmgo8TJ-d4$0m0$U;SMzugqZ1k015#~)>0 zKC$qw@6m zUL`A%l9=^nGj-qIozp7w*yhUi3!Gu)rF<9X{Aci5Kg~#RUb}2o=FCpT5FVLgPoeFz z!ZVNEnS9@F#!B6+mM*8oi3uLBCwglp?29?W_n|V-VM-3GtK5@W)ky{xzpA7dl8qJlj%)E}^+jIt-EgGni45b**FmMHDFI;J}Q%$*NeNlA)_r{pj+>b4oK+<710{cLzVf!DrL((P8r3hOCF{!882 zRXmk=*58#_Zjok}nP60WdBK9&qU(aba-B{u5Prt4vs2>BY9^=0g#i}wdhF`g=3ErJ zb*?^c%8LZIJC`?bSut3?bX3W@@w1EVcv2?wf*@Ijv?p)BF55W0^3ckdUtgB1Pg^(1 zrn%_jm4x|K4B1{M_Iao<|FQcraauE=sIb~t>>w|RbPCfBlSy2=cEM($n=y%E}Z z+UM9RmLJxcm+bva#^__;p(Pm>@^-aADW66%*` zf0JB0;pyq(sVsl*Sp~nX^PfGT@W8*RCeu3vlP7ves4J9MEV!_oN8UiM?t4HL*Mu0& z(q6k9p1i0nWnMdKnVb9JZTVgwItf^&8H3(7e^$nh z6d$hz6OTQp`X(y&Ql3FQ@9|!|Urxp&e+MMu5zIq5rAs?Rv$KH;dNyoKxwuLC;5djgi!dG%Q)75+$?{KV~mO+&%a z%|7Og7uZx93^c`*H>OlH*q-H$WO!I{(f(J@Is>;?opq_2%tlRB%(EgTl&9X4C_Jl_ zHz7?ySn{N(0&n3H*Qb@c&$(Zz4$|o@RO|~nv7136rugfMLu|7%f+P~&eKk#)^Y~2i zewkSebA?p@-uUV6;2Ji!>{N7Cr-n&^D zGgk2kdCK(rXJy=}NLApQYUQ>-ON6D5acP01*w-Al7pwS{<*rKmr0q~}I$`#d^PSeE zW9?efI%_x;3s~JX@2cNr`SmN9Nz>d|X(MCcr^0g;E2pu3c7ABE{OPH$%PPGdzkA&0 zzt-*38PTMOZFBxJRDTs=)RPUU0L!u`=_^+}Pw&{!&XO>3$7ctA z|II3^*6{r^sNJjOJ>#hn+m`81kDoET5^6fpPj+_Wx#D|kR5l42xLw$r!LTEI0`I#6 zeGk5_crask0artTdEr@|&&Nxpj*1-g|IL5GWVK4?HsvP9bB~NNm^_@dcc1uuIGNp6 zbJMXRuH?Qwr3-6L7Hkrn;Ca+*iJ425-@(sG4N8soR8yyju`hhLmFM#+&u3b5`g*ED zw(muF1@pE+m%SVBtrS9r#YmAP)IIKO1J?GI%o&LPllPX>n zpEZB`CbFkG((sdjoKt8O0Zlyn5)v4o_@=E<*Q7FNcTAYta;`<4aaXURq#6^r0COhSmI&r zitQoE$BY~qGBcyaTN&=2c(-l++1;{@=PZ{w^)>5iCQm&0*4s#% zsk=YUFH0kN7vC|*1}mN?0ZP#~15&Hukj)I)a{C*7R^2zV6@sO7oJ6;e%G$KF?L(iqC7!H_phJ)B0!Ck*v+@ zyyvL1D~m9!9d9r?$B2<4_w- ziMxGY3t9^g8}i(=H2Ke9#4$mjF7e8|DO^uHOSu=^xFhJm;VgJkC55Y1aq{_0acSwv zeaCMt6EvI}kf8ahRzuTBq4_OWsPXwSOPTtwt4_IF?9fYL5isJ<;hWN%e=c0&xWcbs zsfTZGaPmD#{LHk!Ttvj<(w>}x15A~Vw+2s~nfmv^$@4tRo3zecatp60aOT@Lm9gQJ z>&YDT{Iv{b7Be*1k{gN^Zak{@A?^N--kFDbk}Y04OI-DHWT@&=YBRHLVk&H&AD_h{ za98DgTj#tjay*!XP!W-8Bd7wK1-abu6nrwpby zONH$9tyA7H{&m$U+UQ`;bog@D0_9B6SudLne=p&is=D{o{OKwa{AD?h#{{r$7xK+Z zakcGdR=MOVEuFho@b2~Z#a~uVSgew&tiXDb<=>R!J7+0KxNqIfkRf-3YjRsd6C?XG z=L^3>CLcDRwO`?wQQeja6E;nsU_8yf;y(i~%brP$`+Gh&UTcuqs4Q@aq2kE|Ub{@i z2(PwVow0gndt8_?4R2B`+ii9tNygYc~!z+m;0A^ z9B^`c{9(aC^=Uh7n15YhxxhN{&$OxD&3#*r-;jB)+#teK@t?tR)%$$I+KXobHlBX_ z%GFYF>V(G=mIxG2ZoF*5`Azp7V|Rgvdj9sUo~(yXPn?%+^-lcL$t?*o`uFVid(HRl zOWt~anO(l)dtafG>jbZsD>Y9$!7?Xp$+j7JEQ>x^F&?+SHoLG+VLrc%8`FZioOd2M6{2rFvr*#fude<1MU!0C$ylg2Es^*4YO|<3t(34X z;`jGQ%eVbjaX6SQw3_v2Qy<4_uS53#uf8k^E4kA1uAx;S!K}PCd*{Xf440DG5~_Rm zhKnAkD7qfFN#e@7iBI@{pPl%Y;p6+*dz0>k?&niwpSXp8N>%ud%Ij{E59TwipAcAa z+$(&_MkP}&j$;q9S{k43$~~}2@7~(`G9SZoxsHEoeezW$!1u&AvkwOtoBI!~QJLu4 zaOs`GO5AMI#C=}}{!Tglrx#X%Q$tBWfnx%JbcYGUc z^t0>4V-^ADWa|}erq+9೭x4FO)c5OH31O_(iD+iXm+1O*WLS;??|If327d6^5 zWvhQ(dgEQ4tev1{*kBdx945gqccRTccjcacA>WcVu|#|?Zl0ApS)1QXlH>XB#Vo(B z%-*w&MTqego9(a5JFYERWZ=NVcwT~CV$q|Qx=MnUcRWr67&&}d@vQZT>Y|#BFQT_^ zb54RCUY)F37fxmQ*JCZetvcvgBsWT z_(MxK$TCcPt`^b6dhF8jwZ4VwC*sdAI-KLr>baw(AuLxdd~2pPyX$tH2!o%uyC$e^ z-O>9N*v=j_xPWvm|`o7W$uwDZF!j=)-#&ROg@m8!P}X3AW3j` z#$(m0St-gz546@9&M7^=*LLpqO1o&eCvX31Zc^UGyFAU|ynIDKlv zo-LmB?&0lIJet}DGl>W^Z{f*Ro)fZwhbBXRW6|uKL z#_b8YcXIEZ%Tk}=w#ea3k%72O^Ouz&i}cR!;Bk}wef-j-945Ei<;5FM{M>YS5=LD0Qoc}Exx|VG-00pmUj#5 zv4@{myjnJ2No&#zwju^wBiqcdfaghl<|+1T`PFCbP?vlnu(&yhsbK-e((<3;z4lDy_M$__d3zYoUu(Frsi$T^*Bm~E;}T0WTc4CY7ujgZ{JmX$UzQ`6 z;M2BS{E6<)j?+FK=iT>|MdP_`W?kHJ_W52Bk3JOBi8ay;r5=Ux1*ZNdbHpCP}m z-r#0@?D)z3Gh-|7mnAzpJfH3sm7e@8pmRim?Q6f!jLAJRa-lX z_Zj$dKCzbR*`YjZZK<|R!nE9jI}`8CPktsdX@>H?`g2;Lr?z&tF5yz{GtK)Nx#z@< zNzV&q8Y)CpHviO+w~+gC|88ZzVOY}X3vx{>QgRqw4?LSO>F=c26`ZG1_!?@pQnu@B zOuSRGs$lVke_I6xI0 z?du)M%9oaXI>q|4LxNf4bgMF>QGxM2p-PcSHA8mPC@Z(}$v) z@(+WKi>u039Aj8wy1}I9&PE01#=a~c221sMH(myuc`a{U6w=4Od~L*GU-45`-{Y4u zrTCob6XBoEKKc4i#gjqpGNJDC)*fF6t?g_?ctxt8I z5`O+}I|JVrjRa4X&*v}A{kGJ@dDFT_bDnQy_^x&5$uVgg`S)e3cHDW+JMp&i#BjBY zWj$tR5AJ><_#@O`$INS9J6j`5kWYk?!Rzzuw0tK_m%dQ?bH{6MuAiQVp7cAO)0B$1 z^MSAMSgq#T1K!K0Cvq|E3}ADwuUe(FTW?Zx@7m)wY3mqz%KzMdn?5H*S8?W^z002} zOJ^PV>d>h@@!9^fe;oL<4#ew zuaaTbgeg-cekM=;zCE}u=QiZCb9n0@&l2K zjLtIU3s?_ZwaQ2-x;`^wesYXG@t?>OA*(-2+LZg(YTTGq8MIG!uk|dhDCRs%=?WQs zFOLN&g&R9%87!6`Z@Q@>*ykuRe~)2m@PZdxcm?mcs}+m1FkUHL@phR{Pr~QEuUVD? zj=#^|?td7#xg;d;g)1|ADhJ2pe4pZ9!B^*JIJtQ~_`Yn07x_*vonteUb+0RcPd-N^PXSNKP;PKq)~Qv_XcH|kd<=6#eIf@)-m%_o(k$)H zV|`h~y2wLu`iG_W_kT}yIPq9ybDGA~D#ixG;8RS8pDNtgnEQC{qK-$U6K1Me9KWl) z)n%oW`7Fn~eQnEse_VYm{O?kQOMV9o{;WOKB%wHj`p zo*GU&d5+F*$ zKdLX@Kw+ZD-1{X`8=tITVD8FpzOwPa0+y4~<;QCOzT`Qz$8ASYMcmD$_dYer8n7{( z&ted&>6)pKe*0E~)ES92J$w3Q*lOk8p270C&rP$dg=fdl%_q+LFXdKtTlhrYVc!%+ zr7eL?oRYG|x8{_Y8T@sB>f_zhlk-6S+$@&X&U2nNH9HsrnEdx~{AVbue9kh{_y%|`L(KP%*s=f zk0@^ND|2`@Q!CqrF$?oN3b0+Zffmd}r#m$jGGIT$pxSMP94%Uh9T# zv)>#)JuEClY@f>@wlMm~5ZoyBx=lN;=jD38i z(ma&>>u%triyR6U$c?vvzU)Uab2*wvL&^i1*ZN{0`>NzqARhM?9 zOFrpqzcgX$!3lp3$knSW1MU@l&d`w;*?@aMnl1a<^MH>*q@``QNBGkMz5?dp zxO0{Q9*0#**k+bDG1^y`xv_ev*c8<65}#uJ>#>(#7?7 ziY>3{MDGSR&VN%gBa*joF6eHMmd#3;W#q&oE`Mmbsf0q!Z1;T`1xCsZt7M+e;M-za zAgiPC;H^V#fz_2X^S~BatAuYWZ7zz`<@wzyaIas=hR#%aoFC>^2tBdORN*)Z6`P@^wz>Igv zq?mO1a#>$Vt(JMsw5R1ELXvljMNcK_~ZH-o7`IsM-KoszcSeuc~tIsDO6?8cRK zhQC6BJpU+5n221stX%m>q^Gfek5)2YxU7F+SD%cT-v_fVCsr<=T**=OE3F|=>9@AV zgAdY6tzwMcrk>V#<(K8gBhVI9`GQwjf%!e(ye;gS{5Pk$@s#Ju9(*+Ybb{IDBCEPm zrKvu41!WTtF0nV0GN`v=)K+x#h}SSa{;}+=VbO!<_C6&`GCtIOzmhaHr7qBt<-zAm z^A~IvVyl_@!uZ0K-Cjp(wwyf9@;UI>%bi_c+1ZxxH-*->udA(HHEE;g3vI>eGbP(s zE>qg~?6&%;@ORJmYF2!EVCNyByjO)mgY`;EpT{!og})mE0^J;*Om^CFK=XTTrqNOd z8?KItVxGx8U$eN>O2ZY*laHF847lC#gwJ+mzea(yq{Nr^T~j+Xmdv}cU|y01bmr8e+yzn>SGzy)f!Tt8N(|!w?p0B1dYQ~?+nJ+g78Mivf$$Y-j z<-DWg?Eb_s2^qmlOD2A3GPg-zu;Tls#0bH8j7PN=O+NXg-)nYHVv;liPgU0x`%?u5 zyv~{x!iCT0v0A2u_J~_pNPby1gD>6nu?+K3gLd~w!5PUv{GGjprU#vi_Fu9Q%> zX<%1tP%ce5CexE_!pXG$)Xd{fnX;$NF8+KrJMZ=<$pQnj&vP!YTzq=F?cnh&&*X_a zWXhkf)d^hu;H{)A|6Z%KFK@3cv~}p=-D6V8zT@li2kN@VDpx$3oLzI^lU3ua%F_4u z_uE|FAvkH3fy1Ab2T%2$Fq_;zTXMz5X+L*W$z54y9t_XR*n_Xlp0r$Yd5O`ruP(Q@ygSBfypUy*<)2qAn7$_87ui?x z=0Ag(VGmzs?~MswqMH^Z+cbZ99pJgiv(wdvfv-xc>d3`)ckk9_iYxZ}lr0E<#iq$| zcZ;a}A$C(0qlKqT8boD!f@b<%G8bTYk~E7!K~#3vqq)DuOhd1pyvO%%&d08*CmUD_ z`|hNR7_}s*^e=qf#nP3`V|n7i?;ysQb&SlzFuTi>E!baxO;o`jIC7T#_zVZzhY7YptXM69m(W!HK$6Muwttyl6T59jp zsZ(F;T4*@SPVu%3Ky0$uQnpGI7ELC6$t; z&JzS=f-GaE_S76+p}v$sY3JROk41J*-Pp?TTWYP&B|gCh%i|(Xk}Myaa6LIcW4dfn zaZ~2Jl-3XKl5ahkWskKHjjTSA>Cqh4uBUi-N^ohz%$<@oHa@@H?BRAy(W&6HD%IJ}W% z^5shnipi6AFrSbNzO`)Y^y*3e*JrgZuHRE}@T}_2#P+baXBi?Ul_r&cD*K?RyTnar zx1VdM`twXb&JzdED^vyd9Q8~+R&kD(u_$SC{?8M~{3YIcYOOPfUSD7pEckThcWux% zndw3E^*M|V6gqG)tw@xXkrA@Z=ydT&;bJ_m5InV5XtRuYVUXE^vFQykN=Pizj6m?yq%zwrNuI#2dK>moGbedulz`(iJT!9tRZd65slLPEOeE@LclC zva^OV8`C6@9k6@r^6lxFBIQl3#~dDiSz60bZC&oW^W}Sgp`4!i`Ya_TS}vaw-hNZR zHCH8G{Zv)|E?(_M&SImf86W3y&G&Me&Hrx0ollt`jzl!@-;-pU#WRs<<{i(+*Cup| z$~wL%yl!&e_&Ha|x%KGh1+H3-J2p5b;n4^$n#hIoY3r6NAqb< z^3FSYXT960dh%zbT zSzRd?us);GSG3%g-z(ceCA9aEior>FjboZ?7Ajl!*Ijw|ovZQoR;7t^ge<-Ur&tj;%j4380Zf(obI(|pi>f_vJN}q?{a$x%L)DNHNd~Fj@(qWJ`}Q5{zQJzx zUR$75g{S7&G~Ih~*QY$+zSWH5&zd=j)gk+$Yd_p|jY>+bT`1wMc#rd^bLm-+4?GY1 z%4Ri|duo=(2~0T9=XpG9$HbLB?^OL|Gxna`x?Mt);ipQ{5;_01M#0uLX~t9IZZ2P< zV7+ScXFaCL7lM`;l_wwn?rV6XuV(iY=Ki=VugfBo#NG;=l&$KUtC>E{MA<^M-T8Ik z&lanmJeJSRo_E4jnlzM)4i*$1W7WRZc_2)k;mcXY2(`dDllB@^F6qk@tt&fm_rRBx zRSF(cjz87oIDTp7Gv(5gl8-OVxy01)=8jdZmgeG{9hVvSc1WC6Ul8HlxV0~w_eNDu zh=7mzjEkEaFU?m{T5S0H-rJ*Q9HQbqDW3{71PzQ7a!W_;A9vMx@%|8=N(uk7(z4R60MPh)MJ7}?P?NAsA}(vt}S47R=@ z)=n+$*Bf|M!gXfPoH(T<_sX@WE<2RNV;4NuJ{a7j*|o9LP4?t51IMFIr=q`K^!~Kr z#qy;JJ0_XN{$Z%g-8b*5tJwJ&m44N7nF}41pIV$};p)tnVMq?T!@FRDR+;t&#XrRt zu9RM2{Ve;K(QrZqPsNI`XO25l`WfU5gHL`dl?xWt?P&w0FjuY#1G?!qa@&Tg-_WNye* zE!oj?$n)(ai}O`AollFpB$_WZE!?*MuH{LI1uTLm0y~T6KYYB@_eq-J=ak3KERMRW zyy5VFXmQS8Wb?UcA9*x??og=;U{2!}yW(egK5nb+?&;k{42H*wL;h@=<@?N!-|=Oz ztG3g_q`-#bCJaVCYj@Y5>~phUt0b@gq+Dft?A64YX>MUB&)a-iwjy3M9+R{IHi_eHPLSzxn#BCK~?cl-#oj3SN<1zq}W`0YMy=< zGB7@|V%jCO2@{3d&Y6q843AG^<9JZ~KG1lOrnN069BlU!R{J+Pr_uM@`!WyO?uCGoctFmd0%ICvbyFKE{4x+ zYCUbi^Qr?_IwdlGD7+Enh>Y1j>%b)cyDu*_Y+5rzJ!|E`gRg^*b;=d^J)Tq-ry=%O z`I%amxq5wG`-hb*c@FoR3@^)sRxUL-y+!c2de~K7&e|%NO@-W9a$Z;Q7**$LY)xfjx3dzO6K#KcAthsba;<3(Ruw3Xl2MTyppq zXHXG*ta9mv*%{)WH*%a+W@Smxcd4|Vp<*Ft)_LQEQR295*lDvw}4A$Gy z{PqS5CVZY|P_TwW;{5t;TB4ttg$_=cSGfJtO6im?cFX570m>mPg7dC0Y~U0#EmJ&a zeBhNx$NIw+@%En-kiwU{(8rW?a&3-oD z{LLdJ<4eM=1%W)4@j>l}~8eMc^q-PAb-58tMc0+Ig688b-7J*^lT<e(@KAc_yf5NYp_lUHsy8(}pO00n z2o7*hlB}?enKv~_{BvDslB4YGt%@-vK5kCW<-XXwl1whO`Kl0-e5zZ;@Ri}@S#InV z1%76qc$xj4Y_#$@;&$^^l~msINQ>F|K0Q|oO_BmPvN@bkzc%evXhD)d*{k}Fc~{nm zyRP51?2y1Dhew+i@0#}DPfrND;&(m%OG{lf80(CG1ustLpTZ#XRoNsW<=gI!-;W1Q zoHyn5iXh9De62r6ig=xFJI`6~Jm=SiCnk-e4RuQC6JU6BgaDVk3ngyemge~)kOPMZrX z)4l~*gc&x3Z;)m)V_aYxPi#J;H- zt!O-U$GdN!-ZQ@9AGFT%mYn!Fkxo~>+HV=tY zUrcSc9XWrdlKH7gR*PV?E8mMnClA_8p5-?2VZUr$+>Vtjza2RzEGRRT@+z-L=k z9mKfe`Kg~XzMM1cY7;(f7BTq*?;lg!HxnE7h24E_-}rsGD~mrTe{0^Ix+w}uy_fuw z`xVv)6wfL;v1*S2^Um{83H&+7*|)K=G007g$~n<1wa&c2@cbD0uS0_Q3u_4Z4$7v9vZYUkNhkJ|&lNLZMXFH{4-UzlmRD{Y_iV z*>Vpz@2?E<+W5x)Z%D(;S(04K-sB#Xcr?l1%x9C{<3D>}?GcQdW>?5Ohk>2_{;lP_ zMms_So9rtNeEYZMKu?q>Pm_d$;q$V$&kO8(y;Z^$QkCy4U$5L%HC5s1hwAD}&cGxP0jFF&g9rsyGl}qHCd^|hS@=IP4yKo zvj;+M_UBC|om2?p?VsJp`TW}QiH`->WJ`TuyQHNo&2o4Gr;I>x7em+mv%M^34}>p2 zQ=g!9#p|feVY%n>ci;XK4U&%J?8{!R<#>SWZq}_enUbMN5??JIi!j7)wsFWmAiMF` zWd%3yVv)XRTTYu&k=r|&TxQ=9yfFFRl>ZDXK22?RJn=?@$>W-6zM;s|^Jn|68f?Gu zH1@F2{i$J_{@$sM>|vpV~a({)o$_`KEH;$@aBq4L~Rb7#KxDaIm6|DDg5YV3%vPMa&bz46eS z^Cp5Dwb-U41^Ito@iv()-RIbm;z{=Bv!-b-Qj|&(FL?R>t?QYh%HL}b+$cQw+Cku8 zq2Z26oO?DIu_W+0ygnP%*(6gpZ>sdJj!&mA7XAu;dtjoo+>(@jFNSH%C91mnpB%Vh z-4!W2vn|*%=IcwZWfl{D&Tb5xw0O>6%?Qq9oyA*OV?3sD^j#};v-_Ln;dScBAx6vR za$7x<%HsELd1uMO+_n9aNmf#h+}g%#jmrz`PCxljIH@k@_hqq5%KG#6n4MwZ&&uB1 zp0O;Z@%XjH)^|6pbMup)cW(+$P5x(-r?;O4EMPqGd{#ul&g17b>|Kwlqy9=7Ml&M zKJT+#eH>qZ)oMN6dL_%uV|VzE0O46pqJ1~TSX=#`s+>5kzTPMJjLQjQL7SQ-Wg<%4 zf{V^7Oz_?5dG6}3&>4#b*S&cnP{9(a=J?HRViMm$k55;3D*R{AnsqQ{RjW^KOkotG z%J%evK&9R#Z0bGzUeiK#`JVPnvQ)O2pBV5n`JCco35E3Q%Gai;8_O->gEIZeU z{#mm!ZpZnm7mH`OG#Z{xFuQnI>U-qVTSvFGpVGSB$9~u1_4}a36B@ahTc7;8Qg&H- zLefO8&!4tc2dj9V7Q4srx7dTbP>ILL?w!T^Yn`!4KFu#Io?O*9b#!yeLXMorzptj{ zoZWabkB@16{aS|bX^)Bx6nb|)DYyHYbg`o@B6-7?6+A)48|F-7pL#s+%h$@}DU}%v zua28A+8+7r!Whw*p0J9q!1m>hj_38fey5 zQGJ2onMrqITKx2$!v3Wk7bK=FBtG#L1^*O23(!G~P5%X}&LiYH~S~d&h0}T_S<44@&;5 z(ymOMXHY5ef^m80rAN9e4y<5bp5-08qFCzBf)tseibcN|S)cBl%lE`WromTt?uK5G z#mQNZGi;L9_yuU2J#Mhtc;L^G>`Q9|nndrf}&`~cYai*Wqa?6zq8s+VhTebGc z6lrbAeR8s|AwA>eLD2-ysc9hxndN>iFcUdxI9c%1;f=Pd6blVXqFaAn^|0n=n*3Jd zon)24v9hm^mw#TKrf^88v!|~#(mI^SZ5G*SY5zB?%`Lg zA@SwetTM*!%A8N;OmJjYmVC5`Yh!dn$OD0e6+bIhKAqs!BD|;dyiADLzmN^9D_tYo z-p}|PGWS5oiKxOG&$D{()^p_?P-#AUFk!F5qa_uKCOyncJ((KA{L&%yj`Gdx@8qKr zl!RHdKMSx2_ieQ?7MgGF{N3Ya;GJWqc31Vy1{Ir&mF_Y(?$9%0_dnF6d#8TZ(I$>_ zwX7CrLibm2NId0uk!4+7ulwY4yj}Ja-Z^{*u0|0GnbXQxjOJ)J-kMw{+kN8U)#jfmY=$W_gepK}){`-~D8;|>3dM4zWwxwu|r0A6O43}zq zPBKJBw5iBw9?L3LGn>E=U}?LuE#9(wB@3T{bx3oVXrjyEgu)ByF9X-5eilD<{_Oqz zA}^M@#Jpw5JI}mS`l(Kw8lyKu@k@uF?joNYwCs|5(rtp5%uvv|Z!Wj*%FF9T1%CI8 z`wRn&m?af7Sst74r+BJfT2rsYmXp3dKWk!{k#>nnSEu1qb%wGB1)4&oF-&VB-GekF zlOCMrkW`tIz%6JtoC@%QaSU1s5eJ-B4g`@;FyFg)zhH#r{1t zf_E#QEf6~UOn*jzT2bh({+uhFTDzFy(=8=s_i9N#RZ4YHNcnsD<=gNJ+}_GMS&H0~ zii&UFYM(h-=Sj{h@k^^`N;($#@qg(5xUBo2HOHRG*I6b8ZDp!V|Ewa>^Y;7Ox4zL6 zj_19*Up6nW&iBBaGLhZNDff0hUdzK0y>M8G^@bHKwpLG@f|pzLmlLj3JN9!pf($ znh&QraF??0T(MS3?}!DLdEpza_%|R`WL@O+#2mRJd{Y?K@=V-ql4rc7vGKt2WA7%enzZoHr;yUG%NC!0#>%zh ziDBMd4WmwTm7>~n9JVXf7YN>IpIEp>cKOq1^RwlW*j}2=JN-V;a+=vY#}^AqRxWCj zykBj|)7`Y-uciTWq4-&uT6dNUtsD4`s@tTs^=Mcee|~MMWN6vc=jsbrGRp2*Bq&%= zHD}`dr2?fEf#(CACTr&&yCklD+3w00o(qjnH&`C?eC=@UQOY8nSU1BtpE8tmZyF^u zUI-4b=haYXdoJ?g&vff!>^6V)zRo5pteP+*JDQSa)tDz9+$m&ch;~SPSLY_anw^r&~&4)kf%&TVZa$5*K*5)@w@vp zmuY7fp1D`FW|7-t6^8nyo+{N-YYtfPq%GW5H#_9{{25XcPfoNeQ~0X>CzHcFJW#Xn zs=wV=ZLxzB4D|fms;?BDmI-RQam(SsuPebZT6b27T5mkKV9C_ZBgtoY&Yw`$vbUP2 znIiaU$1VQ4tG>%?{v2lCzt?BGkcH|M;R|VvCX=L9X4j=D>rPsIC;08+NgmsU=gec2 zIKI{GjQG=Y&m<)5+V^^=vF?}N5cA~eCjRA@8gE8KDo;}Vc{if*Bs0^hJ3n(LKJ77I z>R&K6n4!)qaoi4qv)6 zHR-b<%iqfvGk2FwY_t0zGJDQWhIw=3uJjm)tmfOHa9Q=nOr;Q~@=u(v?k{y#d)Dc} zC4Jd)r97Wq-n^F56&$&bOc^xg^{+J~Pcf;UA@h7&aevlS6`#Bmx#N4aBE>s2^UNMh zs63}7z3^$>XLauDpO$CrQuX2Vt5$ekl5$@%qs zRzgIRTi9bQ`<6>vy54SCVUg3PrS17d_}wkP`|tVodzCEd`Lq1;`Y7h4Lp$7Vgj>q4 z2rF2^^L%;KO4b__r!H1+ZsW1Ox=|-*hF|+ixh*2|T6nihr#Te&G-*C)C^uv%lQ^(! z>x{~2srCl!4DuhAYVla66}W3RI$S-uonha+=4%}@H@8_zzOs5Wqlk%j=ka@Q{X&ob z+G=6j%B(u$=ju)do04-Ci;R5g6%O@@B+Z!IETKE$riJXwd)04M_W2nUJ1B0uI5jns zA<0suZ;IEM8xsRWl_zN`?-1hAc<3*4r71Mz=M_0CDW)UVHfPre?u?o9v1^v-l$GrJ znY+5*dRot&?RU9<`u@E-;;#Ic=UmyEV$wb#fn{_0ycsV84&2MV_Q9R^d)b5FkKcNj zJXq`7*Ja)dIx2YU!3lAT^Y+0mWo&Ca*2+Y z!N#upxom;&jp|hscUbeyWmvK9u1XK%JiFH=OL@39%y^P~dBO6DG97Yu0(}1&9y%Ni z<6*daBJR(##gkr!#cOt|^z`T|HcWnYOeA?-<)hhKBn=Lv-{@ip3w7LQBj;fuvE2EY z2M0TIlTk*7=tqecz8))EAM`w)V4IcG(5qM{Q4qOtx7}3hG*`ZsrsXRC8NB)|qs#6H zpZA(lv&JWdXU?3pTnF6r7WE#oXYH3MU70*V{M5n#tEy*H99c5#0(W2OnSW@)&%i&k zH@|nCaDA7xfu!M`vg1mVZt@!$J-6-8N=jAbSz&nJ)Hu=d>$im}N=g^@vaI|^ z{X8%A4*ThO?hkLZuVTu$t-Ada!_Pu*fytKIJ0{=W>UPZIQ@G?YOHq}g5Bm}`pvc5;C7B z9?zP5rez^-&zC2q%Z{uz@MKw_W+AtDtC>Uh{hlu-4Bw}JS94cZC^wChbewRo&y!_B zmcN0hV2@CB)rEz7K1doAe&4^8!SbeZ+`_%nH!j=A#msnr`Pbzeq<_X)F?&c#JXZPk z+TC%9*T>Zw1}o3qi?}E}@zcDy8b(ab+&u;UYu#G67liXvSibgMcqfw0Kk&pJ5-@QCspSZ`5wRW9j>TGMdsecuMB-ZIr6Og$-Yrm^Hm5R zgW4>W{zBQ~630bm2u%3P5xe7It?et3?G6X8%t>aRReJ7PfnNdt`l^Z>$+tQW$nL(< zu+d}ppT+n0FV#qzTvV~>mbvbZbw(C!OD2ikQMB^k6C1thPn|=06osLd0^DCY`OokJVtD8DkEnLl^yMxC- zwsvLLr>7S`h|8<5^~w{KS?J_u_tE6WT{)X6*8N%Rr&{}*nA~^FUEOqiFT0l4u8;Gh zL>&Tm6whlY^f6+3+&HJ$Bg#N%=|6+u<68~Ued6+F2Mo$S zzsM-)nQ^zz@TiR7{_V0Wr3;F;%wN8g;lf0`{G8F~;w|K9 z(CBHm#^a@ro5h1Cf=9JI_M_ zEYxIpYHpl3YGZ%CVRw<$KbcD(LKt6OTQti}^3!dZ#}j=8_>E%hC+$?Nx_r8(k*`8- z%87sPPcY=i1f&ISe|GX^Q|+n)8DZg^^Zq>V2|ni%?Qy5@=Via296Sv?1QZmeXoyAZO@dfr#*CeJ>N4|jx)6x7yBF+_T}@E+f5X7b`t{tr%(Nn$r# z=6vj%>#Dn1!(mkmyY9m~9tY;-S;>C;;*K-RZZe#upi%dzX~Bbj|11ahomYRpuqqCEX2#6j z+_&J8*NXF73szMz{#j+rGG8Z_?ObH^q|Al4onjA$Ojz*v>#|37GJkfyo_N&2qxos6 z`f{(D<4^B&A7f{p6RLQ7!%6R-Gg{60qr%)}-LFm36f-^C$M8Vz*^=KLoSRQeoL_Eo zaA9Ymkn2o0gQ{n9&dhc@WcaeHDYwU^;`g1dBF%@PwkMSuT-JC5PQEt7xKZue$tOG? z{bnp$)#{VHfO)ABYn~CKtp8GGsY{EkI^8W_1{?p(l2Wy`V!pKc%z~QN{~4|?U$Z-S zUg5pQ-g&0CcL;EPJ8KxskeAm!!Ah!l*NNFXPkdQ+`{$h1mWlH+n5rwoYL1`x^UumX zIg#O}T=DU^DQ}i;&@x~yKc?CAFoo6l{)FlPmOyV~!=(G+fg^mlst$n|1z4Q%KqGMT;uuiCb@QtI)Cz_^im#zsvpF)W$7J ze-3OjoFl}aRnpT{{G{i(O!@a^?{6*b_;s1FQd;%r7h6{&#~IDL{1|K|X}Og~?Ad2k zvLw31X7U89XS1FvpGbSaXY6&rZOvm2#>dx|IIH=+G#8xca963S!RkSw-={;%3MXF) zW^`^oaQ>lN*%STxs4mmb1!bQsEo?P6dEBmZoK#htA$(Er&WZAez5*txX7m1buK475 zm`AQf%J)aAwCCHSEMkunqJT{ezS+njy3aibfnR`}zZ#`d=G)utzoWMgEc z{JW1j?m0f==LzQdYu!G}S8cUcITO zbmQK=DGZyQXN%gpSGn?-ZHW2xs5SoXlgD!|Uv&uXNtS)V&~s|-)Zfc{(k8h~l`nFi z;2!A9Bhnv`t}c}|s1`s5yv`EcfKThA{`w(+)E3+z|wJy8Dj z%W_HiW%p0bkT0335WIAn#PkWCFQ-Z_uQg?yRQK_l+fk2Kt`WVF;$@Y$?{5w7a9Ee> zymdyYh`0Up$@8p(@*dbebIC8fHLIng@g&QavtiTBCxuqbUikcFkj_)l?J@}|zk`J3 zB81}Kt@`?H*=pAvW`A$KaQEt6_W6;L{e0WT<%iZ79+X(n6wwm6^0B1EvdLSvbS*C~ z{l09{x%no^Yt78>zU$^WTW;Psi}TP3s{ld1|l zmQ8KXWjk&eY4zptQpJRs2cCR=EU|0{!?aX&cAJ1BXN-38RDJYMc*<$+Emr(9#ACHs zU4XfqpVig5OOu|jHPJdf_fFx3Ag`kWyLU|V(l}-*Y8Ar~Fzt`~`b&#SW$Yg9uy}cL zX_1)0?>6t6#TTwLD$FyS`asBVl9s?b#?x$)4;psS?O_} zf1-0s?}>Xx{4yb~Gf(FSHxwB9=X&l`oGQ{@5whb2=aZ_->eKvne)=|FUgqlJ7GJ5} z*ngrXzxPU4|Cum*L-sp-O^X*s z>2fj{x>f$(Te0fXiN9ASu(OM5dz}5ZviRQ#lY`7HKWE!Lzt-fjRO959C&GW6o9d=K zN$QZC@_50csgJi$m~l_f;@q`^7SCp>_ufx2G*C#%v(*r^%n|r)`DNLgz|(>^k{0(p zoU9b_bK&eWrzR9toOskAtvF$WhFx4y@!OZ)f(M>Yo_F_^$J=xFO%FA1U_1V4#XkQB z3jA5w1#B}Ow?6fkDP8VvF?+IL;Dsiu%hME9;?1`e25w&B;5=teVOM5@v0Bjz_PyR) zEaeq!K6$PP?X%frWPHxmS}uxdIkUvGd9$Yql|)>!?P^F{FvEFAen9bs>dSWzx%Yey zFx0sn!MmU+;=+uRN}oQ28K1D}nmId>bMuPdS2^-E=IdxPRq9j)d1{$-E3&hE5RnNg zlQb!K-aer=bHzvZ{3mPL+g|N0^qtTsd5iN-<-uiIZ-a_##pR|d_^tD)c1oGo-j(gW zIU|LIf6u--A%(F_a!iXGzpq@wSM;avrU}F2Le0rV8@PXUh3)7v6*}X{Qgx-sb>ap- z|2WMUL3w3scbNdD&c^s@Mu!_ueGyHP_TQ>LbN^Ert$CJb!6OD{`-h?Yv*H>4%suh-`;u~DZyCGfKWis6Uzd2c z>}Sn+{fc9k&sClcO64rfOL3WemUHX&!uz-8i_bbyA-%m|tIS2O4=ue7lJAVe6#KO} ze=m9Pq#>*IO0tY)!SiK&@AJL7w5PT`I8ktL->b>9wwh#qmn`D=DzQR!TW5Gp{-JN& zJwZ3ZF62y-6j;K}(m!?c_sr;Qz3Z=!Imk$5Im!gG2A(hSE6TEXyd#q9iKy~QTV5m2 zsiD$OCfs(U6#L(o2S@?XfbK#tGS z=J%cy{|rtIIJa)~}8D(8J**Ih#@K@#TDf-#} z%#5vo&EmjHqt9%SAxw5Jk7v2+cAf2R)B1Vq@Tyr`pR>j;kYja~VKa!9cHh5Lr|*=b z#VvQ{KVKHCZQru< z$!w7p&t=T>wA>~bRYtJz^tnedtX4Ul%Q>;lX#-0Y*M?R(gTt$NKKiyDfztT z$|TmFM+yw*8OoMyCGf(il_e>0f8_jH_I`Lp3k^1@}> zyB7T1RQ8G8YkpCBflcYruxTcfi`tkcNj%@nV0Cwi+s_*l&bB_jwPa_|V}@;a`ld`2 zJ0~r1fT62qxBIChDSb|t9o)A(^jB_vd(?z!anYR5Fa5eg95>D}pn+hftlhqKRdUi3KUxXj7< z#@hm>=Y77u&sMR9CUEzJRCA>m9%E0Orxjh>q_g4iPVGyLyBm4dDeC^QwZ0PUQQRX` z!Q54P^wh#zR*$DsuDzVJF@%;13>=lzX%9Op7GJbom?i+hl4WF5qp@^)g!?H8q zwcMu)s?76H?kakwaisO&xeDf`x{Qll8Y{Fs0|{8buZyVq(t;U0O18n!(;p#i28skMFk7{a)6Ub+%aOO-$}%OPdQp z7q%-cJodOJIIJ{&_sat!7cC6>)fEpsE>HHFqxVwW;+?w}qpj=TD+kiATfT60Rhcx$ z?FV(Tzbb*2GhJNh8)Y8e{A%L5UXU~v!u!2->XICUm{EI zj>jULuKRABPMqJOdtnyC2IY=4{y5LGDxT8yrvsek-T53ArNY7{aZZbKYT|^cG0fN1 z_uAgzy({deD70z6yjI_oCq?onJw8vqx2WlE`kjxOym!04eOvA=eY|OnAG_VwFsA{S`D@=4r`SWf@@2Dm zw9<`FED*RUvFKI=``xLnA*-1`_4y~CH8XYl`|#X{1)A~_W%kui-p=aB^!qP@#B$aunL^J73AU%!JDex1zECHs!X@N;T!BCEwU_vbd^3gRHc8I67R`G; z_u%zYvP>V(?=?^>?BVLOh**iwLE23zCP=#a%$QGx1Y+B4%A#>)IOD@VsXy>RPEkX zi(_>9lJbfyADgNkz4eAyt@1xZ+Kj%9`X?SwJgL0$%dZP81xIx^OSrfu%a_~7O<7)e z^3DVOdk2=z`(!fH+{-z6>UpnO649scESY#+W%^5g(`^r`S8FG3o z#D)GebA?-GUEovd(dpjPRJ{9gzq5m=l>TNH0m08QpYQy-JS|vQ^RwZNo+~T9Ep5N0 zqENiGf1Q@urq45SQyB!Dr@roDn0@ARIM2?5=S9RE<$Mxn$o+jK>GR=Om=SlGj;6{) zWoh$2Ptut$FJ*9uyBBE}<~+~cer@a~-ET!bp?8b7+oWGwaeI@=GQ-}(TLmRO%T6=M z%UTDpuGqF)bf)9M6>1ZEe!qPbUc;mLHdwsH&7rm@{C)0Q?|qDNw`+td?pZaybl}b1 zbS8vxs_m|>X$kkjr)_%p?c=;Gu^rpD&GgK%E;;c!*rZcuCl>>A&$k6^ydT}<-0qx| z;|RQRDZlI4%`_jjcRP;T-PL`z3t&i$F}1i`IqYMz0lBl z_n?iCRiW>+r;B?;es&uK*zO8CoyA;vaD&IOJ714iF;sc7G)`H_-+1z!yT zru7&4muJl~){7LEFK?X1py0-!y}@2jV&k*6Cb5F%3I4n{CI;L)6~;8l(ud~>Px8m* z5q<|c;wNrqcsz@3Zs(+P&g!!!J;?nzeXZ6s9YKfZJ06=%z9W*VeW9=Nr6-Tie}+Bj z3@as%OFsS?5NVPWUaajQ8s5-aACwr}r!+x|(UGo0Q2@s+LCBKH5+-`SY+xZQDT zEbI}tN!$K5_kuvbzG` zW}0@f@G7N;R&DCD=5Z$-ofYTi?stHz;hokI<08wLugaoYcPcd)Sj_IvH)%T2_3oNU zVWEuUw}~yuM}5ET-8fB)(RNqT>Z2;*5<)#1S`hCRCENhTSXloPrMTnC_c&etpb-tPG6Q}>Vz{vxBNmToW6bK0_*;%Ns$F* zhAaui*A`C^Eq-d%RQED*qF;39T#-t4mdD(;UkA;27;2Yrw}C_D<1B`ik`s2iIn)Jy zuAjfuN8%38Om792=}#(^5OnNqjnGP^7`g()Ccb>+z4G;?6qciQK%G;RqE(U>PE3R8dXEm@rImY>~)VNr{`SRsunoBQ5Oqt5U zV4>78F{SevkMqjg8@`z^3b`r7-(7gFsy=G2NS^!8&cMd=YhBKp6)Y`c;4{j~PM=wq z=EU(>HiL1}t;3~asX>hLT3<}A`5bWLusi(aWzeRRPur{``gW)@)iHK zusw+^ovkprr-|S3%gW__u^r5F?0HUq@89a0D>M6+JHzKsGGAp|Gc>y_Lbk^l?O3t* zxa^5-{hL`UzD=-um!)x$Q%LZH#W}45ePX%i6}cx>#yNgjRy)Ogr}9^IwTVebEn@h! zEfWlym+!T6z2PRT@PXm6$cfpfT;0nKysFKLZkcj~$8TohB<^InDGX1F4hR)DS-$oc zI^Nr?dydVz@ZRink#+m+E;dw3z6`XSS#<4znwyBl`Fbyg$e@x#!h0KD-)c7A5b-o9 zqR)%}`mH$<99Jx#|7eg&Yn?mc3G;mkQBMYUmY&VERPy0P&zUE=X`U<>*(hSE!dJ8>$Ryjs;-BF0wc))? zLIIDJ=f?!GZ%l0QS}4pg@l#h8i>JZyX(CU;CYefau&&v=(PygpKIYt81r;K!Yxr}o zZk|whEOXo2r|aGrKl!ux^6R(3r=PS5EQua@#MZQtnKHGH$9w^z9aak z!;0PIdgXjhf2*$?v%F`hc1M$G{*xsI9alYaiYGb<9#lEzuX>%!a7*j!ph}lXhbQ(G zX+Q9uPxtn?FtExtiejerLlF#=VrW$!Z zH+twHExu1{-gQO^g~@rA=hd&x)Y9?rc8e&e5LMXLUF@;?w9Kb0-)OGS@ZXt5Vc(>2_2|pAK512e!cbJFSP=@)a$*Kn&DJoSL7*yC*7ATb1ec5)|`rUmw zhaAOkUzWRb<%UgleBATv*Coy?8-o^K<@~dPQTA$#;jIOIGasu>GhkF`@UXZ&|JrPm zCYST;WBR7NE)6|wo%i6u%0~?Oz`A%0B(De5~;G*JYJEp);3;$}o5=P%`fP z{g`>f0#50(LjAJ~4ji!EFIC*Y_4Js($dTFoQx7v4UYq6_=zn_RyctX0F*i<~uljGx zBhI7-CjOkXMGePxZ+h^c;+0}XMy{2h$I{7p7 zG`PR?i10Y9&Qd4xc2)Ar^Nvp3u@je{Ib3JNS5?03RBGn_vY9;h_nZ&?lTk8zLidGV zzb{YnjMiG++_!wG$s6umch~%9DLd>n9^YFU;XX}fa%10@i8*~jYaG;9s?An8;n81y z)L27`Jg~XESIm#KYteSsa*|^H2W?S@? zk`*d#mf~le53;jwWvb@buH=5&{B+~J8NYqzXPmp@IEj6^&*dJ$gI7a(k_*nuPqkv{ zT$uK%<*mi}Gn%hjPg$mLba79b$-w{A>&(Xadn{Khd9m@`EpgcuX2&WY2mR3xSbcC+ zRA;~Rc9TZKc?Wl0Ql4qpajvStP3x52jcqM5-;Nr_x+w?Pp5JT8A6dTX>E`VgKUYRx zoU!uY8&BCRRR%?C4~y3UN2g6qi}bVQ{}Gh+f-^y9ci$z(2h6_i{JShJb1ixDe9qd7gucM}@tT}`^G zd#7M`aodBW8GMl{VJDIpUUp3tIMtAEDf2f=NjdoQItE+EC2gKR)fq}0tmM}+cy3tm z=`O>;*Phb-yKY*%F!VE;sVpfYIB%}z#t9QrgC|(9HQwwqcQWGXJYZjKtLbg_sIc|; z^P^6a3U^NKDR5YMbCT=Jo^M%PQA%b>r@ZD&zHPDEEM-k}s zueF&HT~Kq$gIR@dPoP4Z#Quu*pAF|OHvjl_c?QFL!w3CS zuBaLBx88BggKa5Kbj8z|A5JW&=ePaOu++HUaKa=9+gBwIH2n|H>T~&hn@@7rRpDIL zO%;u)T8HNp|J6!uOs==&<1?Iig{$dqix2ak8}^mGerp=d7D~!Yyez_Z#4ft>P~Dzn ziC0>_t2|VAk6#HE?8#dxox=9B(eiKBkz$6*9{K6}vpAFt7fg_!-S^|!XroMrG-;hm@~!^CI!D>O4;#i1TEtH-9v<+GdnszUNS=C~>zu1af=9($uce)dZZd|bH+Rb`K6xCFE^eEYNV zvi7=*((4S*xq3@Q&p5OxeVI`PlfmKM6~=ci3x$hY8cbs;IJ{NwX@E}(<75{j&I8KZ z@7>YNI55SUigL1ie;fEHW4T;Zvz!&&KX9Y1NxGV3g4vJ>v zKezb%>gJw_Uf(w@4DHi>@}a2k(wyr8YUYZ{1)+bk%sOZ5Pn_@bxGN#Da*5_=r={N> zFkT39d!$kKB3)_5nG-WrE7W_gEV8)kCO+}LtOk?mj7{x6jdwkszYNxUz`)*AC3i)4 z*9w-py(?3CY`X6JS@7i7CB_RUEw$De?NE{V?DAHrX7T4GpG5-$CR8(Mne`n1ew^j` ztOU~~ZY**;-)RbNoaCVLU3R6a*(aIh+6NEVzKqdeKK1NnigXWZQSm zKUu}cokLH~&O0v2{!YN^%0#W74v$%Qt}q%;{r&jUiZhp*gcPT;?>xq)sl;8fK;iW< zOOc#US2S2AUio#^w#EL8_T0mkBArUh)h15!osoK8rpa=J(fd#9+4~kPnO?rIC|Dvi zRc7*4fBAo_Qrgq}11d~vPO{&8c<`8q?oolck5A2Ed;K|G;@g7gj-7^6yYtwSZY+Cq z`W>^nvcksYr=%Gl29@i%`6{hs*ZuMP0`mlg(?Ui5B5f7&T5GuVb1t2jmzCSuHK(9f zQ?g9|w1D!DU0)Y4d73e-l>2c1h;`6`19EjO<;zz0>#)A4X7p>_aFpS^Pw)lSX+HgW zN`<$Tx(hcNoZazwf0pRQe%`m&yW%|0*E|;yYx7m=VRCqqtiE!&-KWOIPRCz+9xf7= zu-lvE!srkh*F5iQ*oI>>CSEUjRl(3#=wy`6Qe+i$YUzcI_FD4_GAGU7thL)ATK9m- zx(WQVT>dkJPo7|usnjXyd0ypnw%GEm)#}f7w%cb8+BU)=RBD6ZAIiv z{}Yz)-+HY#l6h?VIq2?zlG`<#n?LghUY`@3q$`!$apHCJrK#n{$$eE%9t6u6KV|yB z#%a>9iQ`1hpSyjTyO+%Te%w%tPuAn*msO`;*?An-Vt=6J@pPi3*U_yJjmP8HGWbhO z<`J3m&2GwlizBBuG&i3Vk=)kcAN-=&W5tXI<*)m`h-}l@GB4q7qf-f)2n3TA~<sjT;zRT5NL_^7yfj*#V1)_^}dEx#Of zEj-A(eR=Ay3r1Ih-R2itzH>FOxoGMB#Qg4qLZ7}wsdevm9(=TfN3waN`n3j?0MA?Q zaR)9h|J^9RLbg|7s>r6zjK{0mJj;`dnvVBb2S*v|3fz!L&oeMSxsvVSeBJg(S{nc2 z${7mSY_lTX=^kQxKC!2H*3u1gXDTxZKe4d*vTXI{L!1(p5-X0p-7@W%$dlYxnnAIz z_r`qo$xb|GaoxzwsOrhrMMmX9OOlsyEKFgLJ>6%`mF#(C#p|<-B_3wmMB~?2RUKPV z#XRxK6@v){Hza?3;I;XC_x6D$H!|8P+bpGvOP;T*ST4!k@Z5&4uhvq2YDZI9LdwKFi#dG!DKZBP{ zFcX}SzB8`!%aYa&CyHg}CGBIB>HDg^CaCUV(UP8bqD&hV+KVStb5-48iP@Z>pJk?L zxa@A*6;BTC>wR0^&JLNwd$;qQmhT$Ar!gM`&)l#MnR|Ed3$_c7xD9>plpU{Xe0W>! zL1VOp`aX@mO714Z`B8mIj}>DQ{yxZD-Sy;S3q!xbq~migc`XnSDg3(X!yR^~)02;} zZ{O=7yN&ntD{e0_VX0}Bc z&5avRoOj}7uu_{)b4iZlLGpr?Tz%4(>>FjZM4Pj;t<4w@{Ab__tPp?7-jm$LAd@iR zjr8w*4Z$``S_`ZuPbxmEGgGU~=n3Ci_qkm5%&h10qx=)3mY=E7agdQK_Me#C!y_}X zZ;ELDnaG(R!mT}JianYvr^x=b5`6tKz%;Rk`QO{=Dqn3iFC5;&G=pi%8V9x$I+Z8h z`vt7t>iN^p>Vh?+;EKNw52rWwZ55cp|L|3XiRGQ6+mmIFswiyWR{DFDx!}txPref| zPd9JjFQ~dGz3ZLuTZTCr?6VARo{*6IvMA$ek!1K&cHN`eH+z!wjNEOHGOQ1>Oq@6? zX-n5~dyOZhzY>Ct-Yl@V-Fz`>4R-^pPo=}-{cGKyvDN5Ryml#S=9;h1x}m75E9cCD z-k!3FCrr4$$!hC#iIjd>@qN{#uA5r*QR_uEEuJFzcwcqM?wj{j(k o3IDP{&YN` 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 Jl)up;A&GBHBs`; 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 bW8lqow~{2|KozNE8PWqn(Gd+ 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 z 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�!lgZJ{@$r8VGKB? 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
    C^J>#c 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,node distance=5ex,on grid, % every state/.style={fill=red,draw=none,circular drop shadow,text=white}] @@ -190,8 +205,31 @@ A process can begin to exist before its execution, when the \gls{os} has interna Processes that use the same program are not to be treated differently by the \gls{os} than any other process in terms of memory-safety, and must be prevented from mutual memory access. These processes can differ in arguments that are passed to the program their, so that their runtime behavior can differ significantly. +\subsection{Terminology} +Terms that are often used to describe various forms of executed code are often used ambiguously in various documents, manuals, and websites. +\Cref{tab:os-dev-concepts:task-terms} defines such terms and their relationships for the scope of this document. + +\begin{table} + \begin{tabularx}{\textwidth}{@{}lX@{}} + \toprule + \Gls{task} & \glsentrydesc{task} \\ + \Gls{program} & \glsentrydesc{program} \\ + \Gls{process} & \glsentrydesc{process} \\ + \Gls{thread} & \glsentrydesc{thread} \\ + \Gls{procedure} & \glsentrydesc{procedure} \\ + \Gls{function} & \glsentrydesc{function} \\ + \Gls{job} & \glsentrydesc{job} \\ + \Gls{app} & \glsentrydesc{app} \\ + \bottomrule +\end{tabularx} +\caption{Definition of commonly used terms for executable code} +\label{tab:os-dev-concepts:task-terms} +\end{table} +\FloatBarrier + + \subsubsection{Demo: Process $\neq$ Program} -A great example for demonstrating this difference is \textit{"\gls{bbox}. \glsentrydesc{bbox}"}. +A great example for demonstrating this difference is the program \textit{"\gls{bbox}. \glsentrydesc{bbox}"}. Line 1 in \cref{shell::context::os-dev-concepts::program-process} shows a command that instructs the \gls{os} - \gls{LX} in this example - to execute the program \gls{bbox} three times, with different arguments each time. The purpose is to demonstrate that the same program \gls{bbox} is instantiated thrice with completely different functionality each time, even existing simultaneously in the \gls{os}'s process list. @@ -212,33 +250,11 @@ This command consists of subsequent calls to \gls{bbox} invoking its builtin "ps The process list is received by passing "ps" as the argument to \gls{bbox} in the third execution. Line 2 through 4 show the three \glspl{process} of the \gls{bbox} \gls{program} with different proccess ids and their respective arguments. -\subsection{Terminology} -These terms are used ambiguously in various documents, manuals, and websites, and shall be assigned a role for the model in this document. -\Cref{tab:os-dev-concepts:task-terms} defines these terms and their relationships for the scope of this document. - -\begin{table} - \begin{tabularx}{\textwidth}{@{}lX@{}} - \toprule - \Gls{task} & \glsentrydesc{task} \\ - \Gls{program} & \glsentrydesc{program} \\ - \Gls{process} & \glsentrydesc{process} \\ - \Gls{thread} & \glsentrydesc{thread} \\ - \Gls{procedure} & \glsentrydesc{procedure} \\ - \Gls{function} & \glsentrydesc{function} \\ - \Gls{job} & \glsentrydesc{job} \\ - \bottomrule -\end{tabularx} -\caption{Definition of commonly used terms for executable code} -\label{tab:os-dev-concepts:task-terms} -\end{table} -\FloatBarrier - -\section{Preemptive Multitasking} -To extend on the terminology given in \cnameref{context::os-dev-concepts::virtualization::task} multitasking are known in the \gls{os} jargon. - - -In this document, it is the \gls{os}'s capability of switching tasks without terminating them, effectively keeping its runtime state in a place that persists during the period of time in which the task is not actively executed on the system's \gls{cpu}. -The preemptive attribute adds the notion of switching tasks without relying on their cooperation, but instead be able to do this at any time the \gls{os} intends to do so. +\section{Preemptive Multitasking Concepts} +\label{context::os-dev-concepts::preemptive-multitasking} +Multitasking is another vague term used in the \gls{os} jargon. +In this document, it is the \gls{os}'s capability of switching processes without terminating them, effectively keeping their runtime state in a place that persists while the task is not actively executed on the system's \gls{cpu}. +The \textit{preemptive} adds to multitasking the ability of switching tasks without relying on their cooperation, but instead be able to do this at any time the \gls{os} intends to do so. Preemptive multitasking enables a form of \gls{cpu} virtualization, as a task is not aware of being preempted and resumed. As explained above, the \gls{cpu} resource doesn't have to be explicitly requested, as the request to execute a program implies a dependency on the \gls{cpu}.. @@ -251,37 +267,38 @@ Preemptive multitasking needs not be considered during development of single-thr Switching tasks has different technical implications for different resources types, depending on their nature and quantity. A single \gls{cpu} system can not execute more than one program at the same time, as it runs instructions through the \gls{cpu} one-by-one, implicitly holding the program state in form of the \gls{cpu} registers, which are preserved in between the instructions, and preserved between preemptive task switches. + While it doesn't make sense for any instruction to request the \gls{cpu} per-se, there are valid use-cases for programs to request a specific amount of \gls{cpu} bandwidth within a specific amount of time to guarantee a certain amount of computing speed. Other use-cases emerge when concurrent programs access the exact same resources and are intermixed by the \gls{os}, creating non-sequential resource usage pattern which may put the resource in an inconsistent state and lead to unexpected results for the application. -Within this document these technicalities are considered part of the application semantics and shouldn't effect the \gls{os} developer. +Within this document these technicalities are considered part of the application semantics and shouldn't affect the \gls{os} development. -Therefore it is sufficient to recognize the \gls{os}'s responsibility of cleanly switching the program in execution periodically. +Hence for this document it is sufficient to recognize the \gls{os}'s responsibility of cleanly switching the program in execution periodically. In contrast to the \gls{cpu}, the main memory resource is available in limited but huge quantities. Replacing the content of the memory is not necessary on a preemptive task switch, as long as the memory is not exhausted. -This has the effect that that tasks that are currently not in execution on the \gls{cpu} still own a region of main memory. +This has the effect that tasks which are currently not in execution on the \gls{cpu} still own a region of main memory. The \gls{os} must ensure that switching tasks is done properly for all resources to prevent interference and unintended behavior. To ensure memory safety in this scenario, all data in the memory must be protected from unintended access, according to the definition of memory safety in \cref{context::introduction::memory-safety::def}. \subsection{Context Switching} -The context switch is the core functionality of the multitasking as it effectively switches to a different task, possibly by preempting the one that is currently running. -When the \gls{os} preempts a task, it needs to store and preserve the current task's context. -The context consists of all volatile resources that can possibly be overwritten by another task. +The context switch is the core functionality of the multitasking as it effectively switches to a different process, possibly by preempting the one that is currently running. +When the \gls{os} preempts a process, it needs to store and preserve the current process's context. +The context consists of all volatile resources that can possibly be overwritten by another process. This is at minimum a set of \gls{cpu} registers depending on the specific architecture. -The \gls{os} stores the preempted context in a well-known and protected memory location, so that it can be restored when this task is resumed. +The \gls{os} stores the preempted context in a well-known and protected memory location, so that it can be restored when this process is resumed. In preemptive multitasking, context switches are not considered voluntary, but rather by force. This works by using the \gls{cpu}'s interrupt mechanism which has the ability to jump to an \gls{os} function in the event of an interrupt. Interrupts for this use-case are usually triggered by programmed timer interrupts, occurring continuously and regularly. +The interrupt is signaled to the \gls{os} by \gls{cpu}, so the lowest level of the process switching mechanism in the \gls{os} takes place in a hardware specific interrupt handler. -The interrupt mechanism itself is part of the \gls{cpu} which is why the lowest level of the task switching mechanism in the \gls{os} is hardware dependent. Safety could be increased if the \gls{compiler} or in a more general sense the \gls{proglang} could assist in architecture specific code. -More details on this mechanism is given in \cnameref{rnd::sysprog-conventions::ir-driven-preemptive-cs-amd64}. +More details on this mechanism is given in \cref{context::os-dev-concepts::preemptive-multitasking-amd64}, but first it is necessary to understand the involved memory management mechanisms which are explained in \cref{context::os-dev-concepts::hw-supported-mm,context::os-dev-concepts::stackheap,context::os-dev-concepts::sf-handling-amd64,context::os-dev-concepts::stackheap-combined}. \section{Hardware-supported Memory-Paging} -\label{context::introduction::hw-supported-mm} +\label{context::os-dev-concepts::hw-supported-mm} To improve the efficiency and safety of memory management, developers of hardware and software have been collaborating to offload virtual memory address lookup and caching from the \gls{os} software to the hardware, the \gls{cpu}'s \gls{MMU} to be specific. A hardware-implementation of the lookup algorithm is fast, and allows rudimentary memory permission runtime-checks to protect pages by leveraging \gls{cpu}'s security rings\cite[p.~117,~p.~145]{AMD64Vol2}. @@ -304,18 +321,20 @@ This is critical for memory-safety, as the cached virtual to physical address lo If any lookup yields a cached result which originates from a different virtual address space, the physical address is likely to belong to a memory region to which the current task shouldn't have access to. What makes it more difficult to manage is that there are exceptions to this, e.g. when memory is intentionally shared between two processes or threads, which must be set up by the \gls{os} according to the processes requests. -\subsubsection{Page: Chunks of Single Addresses} -To avoid the need for storing a translation mapping for every single physical address, mappings are grouped into equisized regions, called \textit{page}s. -This works by encoding the offset within the page in the virtual address, together with page's index in page table. -The offset size depends on the chosen page-size, and can be calculated with the following formula, given page-size in bytes as $p$: +\subsubsection{Pages: Chunks of Smallest Addressable Unit} +To avoid the need for storing a translation mapping for every single virtual address, mappings are grouped into equisized regions, called \textit{page}s. +This works by encoding a page-offset in the virtual address, together with page's index in the page table. +The offset size depends on the chosen page-size, and can be calculated with the following formula, given page-size $p$, a power of two given in Byte: \begin{equation} - vaddr\_offset(p) = log_2(p); p \in N %TODO: restrain that p must be a power of 2 + vaddr\_offset(p) = log_2(p), p \in \mathbb{N}^2 %TODO: restrain that p must be a power of 2 \end{equation} For example, the \gls{amd64} default page-size of 4 KiB has a 12-bit offset, which theoretically leaves the other $64-12 = 52$ bits of the virtual address for page-table indexing. -Practically there's an architectural limit of 48 bits for the virtual address. -The resulting paging hierarchy is presented in \cnameref{rnd::sysprog-conventions::paging-amd64}. +On \gls{amd64} there's an architectural limit of 48 bits for the virtual address, thus the address constellation is different than explained here. +Details on this concrete implementation follows in \cnameref{context::os-dev-concepts::hw-supported-mm::multilevel-paging-amd64}. \subsection{Page-Faults} +\label{context::os-dev-concepts::hw-supported-mm::page-fault} +To improve the efficiency and safety of memory management, developers of hardware and software have been collaborating to offload virtual memory address lookup and caching from the \gls{os} software to the hardware, the \gls{cpu}'s \gls{MMU} to be specific. The page-fault is a hardware-triggered, memory-safety critical event that must be handled by the \gls{os}. It is triggered by the \gls{cpu}'s \gls{MMU} during the virtual address lookup algorithm, when an instruction uses a virtual address for which the target page is not available. This happens for example if the indexed page is not present in main memory or has not been allocated at all. @@ -326,15 +345,17 @@ It also happens when an instruction violates a page protection, of which four ex \item Prevent the \gls{cpu} from executing (3) non-executable pages and (4) user pages \end{itemize} -The \gls{os} must implement the page-fault handler to deal with it accordingly e.g. finding free physical memory and map it to the page my modifying the virtual addresse's page-table entry or indicate denied access. +The \gls{os} must implement the page-fault handler to deal with it accordingly. +For example, the case of a non-existing mapping requires to find and allocate free physical memory and map it to the page by modifying the virtual addresse's page-table entry. +Or in case of protection violation it would simply indicate denied access. \subsection{Swapping} The finite primary memory can only hold a finite number of virtual pages, and the \gls{os} is responsible for having the required pages present. Besides the pages that contain the page-table itself, the pages that aren't required by the current instruction might be moved to secondary memory. Swapping pages in and out of primary memory is risky as it requires to transfer large amounts of raw memory content, but these safety analyzes exceed the scope of this thesis. -\subsection{Multi-Level Paging} -\label{context::introduction::hw-supported-mm::multilevel-paging} +\subsection{Multi-Level Paging Concept} +\label{context::os-dev-concepts::hw-supported-mm::multilevel-paging-concept} If only one page-table per virtual address space was used that consists of $2^{52}$ page-table entries, which must at minimum store the physical address, it would require $\frac{52 * 2^{52} [Bit]}{8*1024^4 [Bit/Byte]} = 26624$ TiB of memory for each virtual address space. Even if only a handful of additional pages were allocated and mapped, the \gls{os} would still have to allocate this huge page-table. This vast consumption of main memory is impractical and impossible for average systems, which rarely surpass 100 GiB of main memory. @@ -428,38 +449,106 @@ Using a hierarchical translation structure allows to save significant amounts of \end{figure} \FloatBarrier -The details of a 4-level-hierachy paging implemented on \gls{amd64} can be found in \cnamepref{rnd::sysprog-conventions::paging-amd64}. +\subsection{Multi-Level Paging on AMD64} +\label{context::os-dev-concepts::hw-supported-mm::multilevel-paging-amd64} +On \gls{amd64} "a four-level page-translation data structure is provided to allow long-mode operating systems to translate a 64-Bit virtual-address space into a 52-Bit physical-address space."\cite[p.~18]{AMD64Vol2}. +This allows the system to only hold the \textit{PML4} table, the which is currently referenced by the \textit{Page Map Base Register (CR3)}, available in main memory. -\section{Stack And Heap} -\label{context::introduction::os-dev-concepts::stackheap} -In \gls{proglang} and \gls{os} design and literature, the terms \gls{stack} and \gls{heap} are ubiquitous. +\Cref{fig:virtual-addr-transl} shows the 64-Bit virtual address composition on \gls{amd64}, which uses four-levels of page tables. +Counter intuitively the page-tables are not called level-\textit{n}-page-table, but the levels received distinct names in \citetitle{AMD64Vol2}. +The most-significant Bits labelled as \textit{Sign Extend} are not used for addressing purposes, but must adhere the canonical address form and simply repeat the value of the most-significant implemented Bit \cite[p.~130]{AMD64Vol2}. +The least significant Bits represent the offset within the physical page. +The four groups in between are used to index the page-table at their respective level. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png} +\caption{Virtual to Physical Address in Long Mode\cite{AMD64Vol2}} +\label{fig:virtual-addr-transl} +\end{figure} +\subsubsection{Translation Scheme 4 KiB and 2 MiB Pages} +The \gls{amd64} architecture allows configuring the page-size, two of which will be introduced in this section. +\cref{tab:page-transl-vaddr-composition} displays the virtual address composition for the 4KiB and 2MiB page-size modes on \gls{amd64}. +The direction from top to bottom in the table corresponds to most significant to least significant - left to right - in the virtual address. +The \textit{sign extension} Bits cannot be used for actual information but act as a reservation for future architectural changes. + +\begin{table} + \begin{tabular}{l | c | c} + Description & Bits in 4 KiB Pages & Bits in 2 MiB Pages \\ + \hline + Sign Extend & 12 & 12 \\ + Page-Map-Level-4 Offeset & 9 & 9 \\ + Page-Directory-Pointer Offeset & 9 & 9 \\ + Page-Directory Offeset & 9 & 9 \\ + Page-Table Offeset & 9 & - \\ + Physical Page Offset & 9 & 21 \\ + \end{tabular} + \caption{Paging on \gls{amd64}: Virtual Address Composition 4KiB/2MiB pagesizes} + \label{tab:page-transl-vaddr-composition} +\end{table} + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/amd64-4kb-page-translation-long-mode} +\caption{4-Kbyte Page Translation—Long Mode\cite{AMD64Vol2}} +\label{fig:4kb-page-transl} +\end{figure} + +\cref{fig:4kb-page-transl} shows the detailed virtual address composition for 4 KiB pages, using four levels of page-tables. +It uses four sets of 9-Bit indices in the virtual address, one per hierarchy level, followed by the 9 Bit page-internal offset. + +An alternative approach is displayed in \cref{fig:2mb-page-transl}, using 2 MiB sized pages. +It uses three sets of 9-Bit indices for the page-tables, and a 21-Bit page-internal offset. +Increasing the page-size improves speed and memory-usage and decreases the granularity. +In this specific example the hierarchy is reduced by one level of page-tables. +This reduces the amount of storage required for the page-tables in overall and causes the lookup algorithm to finish faster. + +\begin{figure} +\centering +\includegraphics[width=\textwidth]{gfx/amd64-2mb-page-translation-long-mode} +\caption{2-Mbyte Page Translation—Long Mode\cite{AMD64Vol2}} +\label{fig:2mb-page-transl} +\end{figure} + +The other supported page sizes, 4 MiB and 1 GiB, as well as intermixing page sizes through the different levels don't add new insight into the mechanism and don't need to be detailed here. + +\section{Stack And Heap: Basic Concepts} +\label{context::os-dev-concepts::stackheap} +In \gls{proglang} and \gls{os} literature, the terms \gls{stack} and \gls{heap} are ubiquitous. A research for their original definition wasn't conclusive, indicating that they are to be taken as concepts rather than absolutely defined methods. They might be implemented and used differently on various architectures, \glspl{proglang} and \glspl{os}. -This sections explains the basic concepts with the tendency towards the \gls{amd64} architecture, the \gls{C} and \gls{Rust} \glspl{proglang} and their usage for bare-metal \gls{os} and \gls{LX} \gls{app} development. +The hardware manuals \citetitle{AMD64Vol1} and \citetitle{AMD64Vol2} have no mention of the word \textit{heap}, but use \textit{stack} hundreds of times, indicating that only the \gls{stack} concept is implemented in hardware. +It is comparable to computers that had physical rewindable memory tapes, which is conceptually similar to the \gls{stack} implementations in today's memory management. + +Likely the first mention of the term \gls{heap} with regard to memory management is found in \citetitle{Mailloux1969}. +It was introduced featuring "dynamic storage allocation", further described to have "the ability to create and manipulate objects whose lifetimes are not so restricted. This ability implies the use of an additional area of storage, the “heap”, in which garbage-collection techniques must be used."\cite[p.~8]{Mailloux1969} +Since then, the \gls{heap} has been implemented in all major \glspl{proglang}. + +This sections explains both concepts with the tendency towards the \gls{amd64} architecture, the \gls{C} and \gls{Rust} \glspl{proglang} and their usage for bare-metal \gls{os} and \gls{LX} \gls{app} development. \subsection{Stack: Hardware-Backed Abstract Type} -\label{context::introduction::os-dev-concepts::stackheap::stack} -In summary, the \gls{stack} is a memory model for structuring contiguous memory. +\label{context::os-dev-concepts::stackheap::stack} +In summary, the \gls{stack} is a memory model for structuring a contiguous region of memory. It grows by adding new data entries on top of each other. According to the \gls{stack} analogy, only the topmost element can be accessed and removed, thus it behaves like a Last-In-First-Out data structure. -The hardware manuals \citetitle{AMD64Vol1} and \citetitle{AMD64Vol2} have no mention of the word \textit{heap}, but use \textit{stack} hundreds of times, indicating that \gls{stack} is implemented in hardware to some extent. The \gls{amd64} manuals conjunctionally describe how the \gls{stack} is used and influenced by various instructions on this architecture. Here it grows from numerically higher to numerically lower addresses, whereas the numerically highest address is called the stack bottom, and the current numerically lowest address is the stack top. -In 64-Bit long mode \gls{amd64} doesn't consider the stack to be sized. +In 64-Bit long mode on \gls{amd64}, the \gls{cpu} doesn't consider the stack to be sized or explicitly bounded, which is highly safety critical. -The \gls{stack} is typically allocated per process or thread and stores the \glspl{sf} for each procedure. -The \gls{sf} is automatically cleaned up or simply forgotten once the procedure has completed. -On chains of procedure calls, each preceding \gls{sf} remains on the stack. -\cref{TODO-Callstacklayout}\footnote{By R. S. Shaw - Own work, Public Domain, \url{https://commons.wikimedia.org/w/index.php?curid=1956587}} displays a \gls{stack} that contains two \glspl{sf} from different procedures. +The \gls{stack} is typically allocated per process or thread and is used to store each procedure's \gls{sf}. +Each \gls{sf} is automatically cleaned up or simply forgotten once the procedure has completed. +When multiple procedure calls are nested, each preceding \gls{sf} remains on the stack in front of the next one. +\cref{fig:stack-with-two-frames}\footnote{By R. S. Shaw - Own work, Public Domain, \url{https://commons.wikimedia.org/w/index.php?curid=1956587}} displays a \gls{stack} that contains two \glspl{sf} from different procedures. +In this picture, the \gls{stack} grows upwards. \begin{figure}[ht] \centering %\begin{wrapfigure}{R}{0.5\textwidth} \includegraphics[width=0.49\textwidth]{gfx/TODO-Callstacklayout} - \caption{TODO-Redraw-Callstacklayout} - \label{TODO-Callstacklayout} + \caption{An upwards growing stack with two stack-frames} + \label{fig:stack-with-two-frames} %\end{wrapfigure} \end{figure} % TODO: draw stack with multiple stack-frames @@ -473,8 +562,9 @@ Additionally, the \glspl{stack} must be prevented from growing into other memory Since \Gls{stack} management is memory-safety critical for \gls{os} developers when implementing memory management for multitasking within the \gls{os}, it is one of the main subjects in \cnameref{rnd}, \cref{rnd::existing-os-dev-with-rust,rnd::imezzos-preemptive-multitasking}. \subsection{Heap: Organized Chaos} -\label{context::introduction::hw-supported-mm::stackheap::heap} -\Gls{heap} is an ambiguous term that names a data structure in more theoretical computer science and a memory model in system programming. +\label{context::os-dev-concepts::stackheap::heap} +\Gls{heap} is an ambiguous term that names two computer related models. +A data structure in theoretical computer science, and a memory model in system resource management. This document refers to the latter. The \gls{heap} is managed by the \gls{os} to keep track of allocated memory on behalf of all \glspl{app} on the system. @@ -489,7 +579,197 @@ Memory which is not cleaned up by properly is blocked until the \gls{app} is ter If \gls{heap} allocations within the \gls{os} are not cleaned up properly, the allocated memory is lost until the whole system is restarted. Between properly cleaning up and loosing memory allocations is a whole range of possible memory-safety issues, which are explained in \cref{context::introduction::memory-safety-violation-in-sw}. +\section{Stack Frame Handling on AMD64} +\label{context::os-dev-concepts::sf-handling-amd64} +The usage of the \gls{stack} is tightly coupled with control flow instructions in conjunction with two registers, the Stack-Frame Base Pointer (RBP) and the Stack Pointer (RSP). +The instructions that use these registers and explicitly or implicitly work with the stack\cite[p.~83]{AMD64Vol1} can be grouped into the following categories. +Together they can be used to perform \gls{stack} based procedure calls, as demonstrated in the following \cref{context::os-dev-concepts::sf-handling-amd64::procedure-call-example}. + +\subsection{Direct Stack Data Management Instructions} +\mintinline{nasm}{PUSH} a takes value operand which is to be pushed onto the stack. +The address in RSP moves towards numerically lower addresses with every \mintinline{nasm}{PUSH} instruction, which stores a new data entry on top. +The order is to first change the RSP and then copy the value at its new address. + +\mintinline{nasm}{POP} takes a storage reference operand - \gls{cpu} register or memory address. +It works in the opposite direction to \mintinline{nasm}{PUSH}. +First, consuming the top-most data entry and storing it on the operand location, then moving the RSP address towards the numerically higher RBP address. + +When RBP and RSP point to the same address, the stack is considered empty. + +\subsection{Procedure Calls Instructions} +The \mintinline{nasm}{CALL} and \mintinline{nasm}{RET} instructions control the instruction flow by calling another instruction procedure\footnote{loosely synonymous with function}. + + +The \mintinline{nasm}{CALL} instruction takes the address of the instruction that is to be called. +Before jumping to the instruction at the given address, it \mintinline{nasm}{PUSH}es the current RIP (instruction pointer) register onto the \gls{stack}. + +\mintinline{nasm}{RET} takes no operand, but instead \mintinline{nasm}{POP}s the \gls{stack}'s top entry. +The consumed value is used as a jump address. + +As \mintinline{nasm}{PUSH} and \mintinline{nasm}{POP} use the RSP register, the called procedure is responsible to finish with the RSP at the same position as when it was entered. +For example, \mintinline{nasm}{PUSH}ing some value onto the stack before the end of the function would cause the \mintinline{nasm}{RET} to jump to that address instead of returning to the caller. + +\subsection{Stack Frame Management Instructions} +When a procedure is called, the stack is set up with the \gls{sf}, the four components listed in \cref{lst:amd64-stack-frame-components}. +\cite[p.~48]{AMD64Vol1}: + +\begin{listing}[h] +\begin{enumerate} + \item{% + Parameters passed to the called procedure (created by the calling procedure). \\ + \textit{Only if parameters don't fit the \gls{cpu} registers} + } + \item{% + Return address (created by the \mintinline{nasm}{CALL} instruction). \\ + \textit{Always used by \mintinline{nasm}{CALL}} + } + \item{% + Array of stack-frame pointers (pointers to stack frames of procedures with smaller nesting-level depth) which are used to access the local variables of such procedures. \\ + \textit{Depends on support and implementation of nested functions in the \gls{compiler}} + } + \item{% + Local variables used by the called procedure. \\ + \textit{This includes the variables passed via \gls{cpu} registers} + } +\end{enumerate} +\caption{\glsentrytext{amd64} Stack-Frame Components} +\label{lst:amd64-stack-frame-components} +\end{listing} + +The \gls{amd64} manual also lists \mintinline{nasm}{ENTER} and \mintinline{nasm}{LEAVE} as instructions to \textit{"provide support for procedure calls, and are mainly used in high-level languages."}\cite[p.~48]{AMD64Vol1}. +The latter claim could not be verified by inspecting binaries produced by the \gls{C} and \gls{Rust} \glspl{compiler}. + +Instead, these \glspl{compiler} generate a sequence of \mintinline{nasm}{PUSH}, \mintinline{nasm}{MOV} and \mintinline{nasm}{SUB} instructions to manage theset up the \gls{stack}. +There are instructions before and after the procedure's logic, taking care of the technicalities of \gls{stack} management. +These instruction groups within the called procedure are called prologue and epilogue. + +\subsection{Full Procedure Call Example} +\label{context::os-dev-concepts::sf-handling-amd64::procedure-call-example} +This section combines the separate categories into one complete example that shows how the \gls{stack} is used by various \gls{cpu} instructions to perform procedure calls. +The following code samples are extracted from a disassembled binary which was originally created using \gls{Rust}. +The Assembler that's shown uses Intel Mnemonic, which generally operates from right to left. +For example, \mintinline{nasm}{mov a, b} copies b to a. + +\cref{code::context::examples::func-callee-rust} shows the \gls{Rust} source code of the function \textit{sum}. + +% \subsubsection{Top-Level Page Table Self-Reference} +% \subsubsection{Caching Lookups} +% \subsubsection{Full Example} +% * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html +% * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows + +\begin{listing}[htb] + \tikzset{/minted/basename=callee-rust} + \begin{minted}[autogobble,linenos,breaklines=true]{rust} + TODO + \end{minted} + \caption{Procedure Call Example: Callee in Rust} + \label{code::context::examples::func-callee-rust} +\end{listing} + +\begin{listing}[htb] + \tikzset{/minted/basename=callee-rust} + \begin{minted}[autogobble,linenos,breaklines=true]{nasm} + TODO + \end{minted} + \caption{Procedure Call Example: Callee in Assembly} + \label{code::context::examples::func-callee-assembly} +\end{listing} + +\Cref{code::context::examples::func-caller-asm} shows a snippet of the calling function. +It stores the arguments within the registers according to the calling convention. +The caller doesn't alter the stack-frame pointer (RBP) or the stack pointer (RSP) registers before call, hence the called function must restore these if it alters them. + +\begin{listing} + \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{nasm} + TODO + \end{minted} + \caption{Procedure Call Example: Caller Assembly} + \label{code::context::examples::func-caller-asm} +\end{listing} + +\begin{listing} + \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{rust} + \end{minted} + TODO + \caption{Procedure Call Example: Caller in Rust} + \label{code::context::examples::func-caller-rust} +\end{listing} + +% \balloon{comment}{ + +% RDI, RSI, RDX, RCX, R8, R9, XMM0–7 + +\begin{table}[ht!] + \centering + \begin{tabular}{ r | >{\columncolor{YellowGreen}}c | l } + \multicolumn{1}{r}{RBP offset} & \multicolumn{1}{c}{Content} & \\ + $\uparrow$ & \cellcolor{white} & \\ + & \cellcolor{white} \dots \textit{beyond current stack} \dots & \\ + \hhline{~-~} + 0 & \textit{Previous RSP} & $\leftarrow$ RBP \\ + \hhline{~-~} + \vdots & \dots~~\textit{local variables}~~\dots & \\ + \hhline{~-~} + -0x30 & 3rd arg & \\ + \hhline{~|-|~} + -0x38 & 2nd arg & \\ + \hhline{~-~} + -0x40 & 1st arg & \\ + \hhline{~-~} + \vdots & \dots~~\textit{local variables}~~\dots & \\ + \hhline{~-~} + -0x60 & rdi & \\ + \hhline{~-~} + & \dots~~\textit{local variables}~~\dots & \\ + \hhline{~-~} + $RBP-RSP$ & \textit{unknown} & $\leftarrow$ RSP \\ + \hhline{~-~} + & \cellcolor{white} & \\ + $\downarrow$ & \cellcolor{white} & \\ + \end{tabular} +\end{table} + +\cref{code::context::examples::func-prologue} shows \textit{sum}'s prologue. +The corresponding epilogue is displayed in \cref{code::context::examples::func-epilogue}. +The comments explain the code line by line, please read them to understand what exactly happens at each instruction. + +\begin{listing}[ht!] +\begin{minted}[escapeinside=??,linenos=false,breaklines=true]{nasm} +$7490: push rbp ; save the stack-frame pointer on the stack +$7491: mov rbp,rsp ; set the stack-frame base pointer from the stack pointer +$7494: sub rsp,0x50 ; allocate 0x50 Bytes for arguments and local variables +$7498: mov QWORD PTR [rbp-0x30],rdi ; copy 1st arg onto stack +$749c: mov QWORD PTR [rbp-0x28],rsi ; copy 2nd arg onto stack +$74a0: mov QWORD PTR [rbp-0x20],rdx ; copy 3rd arg onto stack +\end{minted} +\caption{Function Prologue with three Arguments} +\label{code::context::examples::func-prologue} +\end{listing} + +\begin{listing}[ht!] +\begin{minted}[linenos=true,breaklines=true]{nasm} +$74ee: mov rax,QWORD PTR [rbp-0x48] ; store return value in RAX +$74f2: add rsp,0x50 ; set stack pointer to where stack-frame pointer was stored +$74f6: pop rbp ; restore the stack-frame pointer +$74f7: ret ; return to the caller, following the address on the stack +\end{minted} +\caption{Function Epilogue} +\label{code::context::examples::func-epilogue} +\end{listing} + +\cref{fig:proc-call-example-mem} displays + +\begin{figure} +\centering +\includegraphics[width=0.95\textwidth]{gfx/call-procedure-memory-content.png} +\caption{Memory Layout Throughout The Procedure Call Steps} +\label{fig:proc-call-example-mem} +\end{figure} +\FloatBarrier + \section{Stack And Heap: Combined Usage} +\label{context::os-dev-concepts::stackheap-combined} \Glspl{program} combine the usage of \gls{stack} and \gls{heap} use them for different purposes. Depending on the \gls{proglang}'s \gls{compiler} and the target system, the responsibility of writing the memory management code falls either on the developer, the \gls{compiler}, or both. @@ -502,7 +782,7 @@ Depending on the \gls{proglang}'s \gls{compiler} and the target system, the resp \toprule \multicolumn{1}{c}{\Gls{stack}} & \multicolumn{1}{c}{Responsibility} \\ \hhline{--} - \Gls{sf} (return address, frame pointer, see \cref{rnd::sysprog-conventions::stackframe-amd64,lst:amd64-stack-frame-components}). + \Gls{sf} (return address, frame pointer, see \cref{context::os-dev-concepts::stackheap::stack}). Procedure-local fixed-sized variables (primitive types, custom fixed-size structures, references, fixed-length arrays, etc.) @@ -537,15 +817,18 @@ Depending on the \gls{proglang}'s \gls{compiler} and the target system, the resp \FloatBarrier \subsection{Arrangement} +\label{context::os-dev-concepts::stackheap-combined::arrangement} Both zones must be organized separately and arrange within the virtual address space which is assigned to process or thread. -\Cref{TODO-heap-stack-example-program} shows a \gls{C} \gls{program} and a simplified model of the hypothetical address space that would result on execution. +\Cref{fig:heap-malloc-stack-example-program} shows a \gls{C} \gls{program} and a simplified model of the hypothetical address space that would result on execution. +In this example, the \gls{stack} and \gls{heap} are placed on opposite sides of the virtual address space, and will grow towards each other. \begin{figure}[ht!] - \includegraphics[width=\textwidth]{gfx/TODO-heap-stack-example-program} - \caption{TODO-heap-stack-example-program} - \label{TODO-heap-stack-example-program} + \centering + \includegraphics[width=0.6\textwidth]{gfx/TODO-heap-stack-example-program} + %\caption{Stack/Heap Arrangement And Dynamic Allocation \footnote{Prof. Jennifer Rexford, \url{http://slideplayer.com/slide/3288060/}}} + \label{fig:heap-malloc-stack-example-program} + % TODO: redraw \end{figure} -% TODO: improve figure that shows stack and heap? \FloatBarrier The entries above \textit{"Heap"} are the different parts of the \gls{compiler} output for this program, and are loaded by the \gls{os} before the execution. @@ -555,19 +838,71 @@ RoData is read-only memory content, in this case the string literal \textit{"str BSS contains the variable \textit{iSize}. Lastly the \gls{stack} holds the pointer variable \textit{p}, which will reference the result of the \textit{malloc(iSize)} memory allocation. +\subsection{Safety Concerns} +\label{context::os-dev-concepts::stackheap-combined::safety-concerns} +Even though virtual address spaces are huge on \gls{amd64}, there is a slight chance that the \gls{stack} and \gls{heap} will interfere. +This could be due to direct collision, or more subtly by not detecting invalid mutual references. + + \subsection{Programming Language Support} In many \glspl{proglang} that are commonly used for \gls{app} development, the code for allocation and cleanup of \gls{heap} memory is generated by the \gls{compiler} on behalf of the programmer. Such languages rely on the \gls{os} memory management \gls{api} and are thus not suited for developing the \gls{os} itself. -Visa-versa, languages which are suited for \gls{os} development usually don't generate \gls{heap} management code and therefore don't ensure memory-safety. +Visa-versa, languages which are suited for \gls{os} development usually don't generate \gls{heap} management code and therefore don't ensure memory-safety on the \gls{heap}. -\gls{Rust} might be an exception to this by adding static safety checks suited for \gls{os} development. -To what extend and by which means this is true, has to be confirmed or denied by the end of this work. +\gls{Rust} might be an exception to this which has to be confirmed or denied by the end of this work. + +\section{Preemptive Multitasking on \glsentrytext{amd64}} +\label{context::os-dev-concepts::preemptive-multitasking-amd64} +On \gls{amd64}, the \gls{cpu}'s interrupt mechanism does not switch the full content of the context, but only handles the registers that are necessary to successfully jump to the interrupt function: RFLAGS, RSP, RBP, RIP\footnote{Segment registers are neglected}. + +\subsection{The Process Context} +The content of a process's context on \gls{amd64} is given in \cref{tab:task-minimum-context-registers}. +All these registers need to be stored and restored by the \gls{os}'s interrupt handler for process preemption. + +\begin{table} + \begin{tabularx}{\textwidth}{| c | X | X |} + \hline + \textbf{descriptive name} & + \textbf{register names on amd64} & + \textbf{description} \\ + \hline + the instruction pointer register & RIP & address of the next instruction to be fetched \\ + \hline + the stack pointer register & RSP & address of current position in stack \\ + \hline + the flags register & RFLAGS & various attributes, e.g. the interrupt flag \\ + \hline + all general-purpose registers & RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, R8–R15 & arbitrary data \\ + \hline + \end{tabularx} + \caption{Minimum Context Registers on amd64\cite[p.~28]{AMD64Vol2}} + \label{tab:task-minimum-context-registers} +\end{table} + +\subsection{Storing The Context On The Stack} +In this scenario, the context is stored on the \gls{stack} of the function that is interrupted. +\Cref{fig:amd64-long-mode-interrupt-stac} pictures the \gls{stack} layout on interrupt entry. +In order to leverage an interrupt for a context switch, the interrupt function needs to replace these values on the \gls{stack} with values for the new context. +CS (Code-Segment) and SS (Stack-Segment) have no effect in \gls{amd64} 64-Bit mode\cite[p.~20]{AMD64Vol1} and can remain unchanged. +The \gls{os} developer needs to know the exact address where on the \gls{stack} this data structure has been pushed by the \gls{cpu}, and must then manipulate these addresses directly. +This type of manipulation is inherently dangerous and can not be easily checked by the \gls{compiler}. +The function that handles the interrupt must then use the instruction \textit{iretq}\cite[p.~252]{AMD64Vol2}, to make the \gls{cpu} restore the partial context from the \gls{stack} and continue to function pointed to by the RIP. + +\begin{figure} +\centering +\includegraphics[width=0.8\textwidth]{gfx/amd64-long-mode-stack-after-interrupt.png} +\caption{Long-Mode Stack After Interrupt\cite[p.~252]{AMD64Vol2}} +\label{fig:amd64-long-mode-interrupt-stac} +\end{figure} + +For a full context-switch, the other registers that are part of the context need to be handled by the \gls{os}'s interrupt function. \chapter{Common Memory-Safety Mistakes} \label{context::common-mem-safety-mistakes} -Building upon \cref{context::introduction}, which describes the basic mechanics of memory usage and how mistakes come to existence, this chapter presents and explains common software vulnerabilities that are related to memory-safety. -The relevant vulnerability classes are explained alongside exemplary manifestations in \gls{C}/\gls{C++}. -In \cref{rnd::porting-c-vulns}, these are ported and compared to functionally equivalent versions written in \gls{Rust}. +The previous \cref{context::introduction,context::os-dev-concepts} describe the concepts of memory management on \gls{amd64} and how mistakes might come into existence. +This chapter describes the related software weaknesses which are too commonly found. +The underlying weakness classes are explained alongside real-world and exemplary manifestations in \gls{C}. +The latter are ported and compared to functionally equivalent versions written with \gls{Rust} in \cref{rnd::porting-c-vulns}, \section{\glsentrylong{CWE}} \label{context::common-mem-safety-mistakes::cwe} @@ -661,16 +996,14 @@ The system libraries and the kernel are written in \gls{C}, the latter containin \gls{LX} is very popular for embedded systems, network servers and large-scale computers. % TODO: reference Through \gls{android}, \gls{LX} has been distributed to a huge amount of mobile devices within the last decade. % TODO: reference The list of vulnerabilities that are found in \gls{LX} device drivers which were written by \gls{android} device vendors is very concerning. -Even though Device drivers are not necessarily complex per-se, as they essentially just copy data to and from the hardware they target, but the difficulty is in performing these transfers only under safe circumstances. -\gls{LX} has a huge ecosystem with existing libraries for any imaginable use-case from cryptography to artificial intelligence to give random examples. +Even though Device drivers are not necessarily complex per-se, as they essentially just copy data to and from the hardware they target. +The difficulty is to perform these transfers only under safe circumstances, which are not always straight forward to identify or simply forgotten. -It is necessary to investigate manifestations of these errors in detail in order to analyze if these might be prevented by using \gls{Rust}. -The manifestations of memory-safety related vulnerabilities in the \gls{LX} ecosystem are given in the next section. +\gls{LX} has a huge ecosystem with existing libraries for any imaginable use-case from cryptography to artificial intelligence to give random examples. +It is necessary to investigate some of the weakness manifestations in detail in order to analyze if these might be prevented by using \gls{Rust}. \section{Manifestations} \label{context::common-mem-safety-mistakes::manifestations} -% Significance of the Study -% The significance is a statement of why it is important to determine the answer to the gap in the knowledge, and is related to improving the human condition. The contribution to the body of knowledge is described, and summarizes who will be able to use the knowledge to make better decisions, improve policy, advance science, or other uses of the new information. The “new” data is the information used to fill the gap in the knowledge. This section contains real-world manifestations and \textit{re}constructed experiments of memory-safety related weaknesses. % TODO @@ -800,10 +1133,10 @@ However, this method only verifies that the given array index is less than the m \Cref{code::context::examples::sf-modification-simple} is a little example program in \gls{C}, which manipulates the return function address stored on the \gls{stack}. This is done by simple and legal pointer arithmetic. It abuses the address of the first local variable to create references into the \gls{sf} below on the \gls{stack}. -Since the first variable is on the bottom of the \gls{sf} in the function, any higher address is part of the previous \gls{sf}. -Depending on the \gls{compiler}, the return address is stored either one or two data entries below the first local variable. -In a brute-force manner the program simply overwrites both entries with a different function address. -By simply writing a different function address at these entries, the \mintinline{c}{ret} will jump there, since the original return address has been overwritten. +Since the first variable is in the beginning of the \gls{sf} of the called function, it can be used to guess the position of the return address on the \gls{stack}. +Depending on the \gls{compiler} settings, the return address is stored either one or two stack entries in front of the first local variable for a function with no arguments. +In a brute-force manner the program simply overwrites both entries with the address of \mintinline{c}{simple_printer}. +By writing a different function address at these entries, the \mintinline{c}{ret} instruction will jump there, since the original return address has been overwritten. \begin{figure}[ht!] \begin{subfigure}[T]{0.60\textwidth} @@ -832,7 +1165,6 @@ ret \caption{Stack-Frame Modification} \label{code::context::examples::sf-modification-simple} \end{figure} -% TODO: port to rust \Cref{TODO-callstack-manipulation} is an attempt to visualize what happens in memory and with the \gls{stack} and the \gls{cpu}'s RIP {64-Bit Instruction Pointer} register. @@ -843,9 +1175,6 @@ ret \end{figure} \FloatBarrier - - - \subsection{Uninitialized Pointers} \begin{lstlisting}[language=C, @@ -883,7 +1212,9 @@ A recent and high impact vulnerability named \textit{Stack Clash}\footnote{https The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. It is assigned to the \citetitle{MITRE-CWE-119}\autocite{MITRE-CWE-119} presented in \cref{context::common-mem-safety-mistakes::cwe::119}. -\cref{context::introduction::hw-supported-mm::multilevel-paging} +\cref{context::os-dev-concepts::hw-supported-mm::multilevel-paging-concept,context::os-dev-concepts::hw-supported-mm::multilevel-paging-amd64} + +\cref{context::os-dev-concepts::hw-supported-mm::page-fault} % TODO explain that this CWE-119 vulnerability is also "Execute Code" % TODO more references and deeper explanation of what happens: see introduction in https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt @@ -915,10 +1246,17 @@ Even if it could, testing all possible permutations of system state in every pos The \gls{app} developer is forced to trust the underlying \gls{os}. This puts high importance on the safety of the \gls{os} design and implementation. -\subsection{The Effects Of Programming Languages on Memory-Safety} -There are dozens of \glspl{proglang} used by humans to write \glspl{app}, but only a few are used to write \glspl{os}. +\section{Software Tests} +% TODO: describe that tests are mostly semantics as opposed to static checks being mostly syntactical and technical +% TODO: Are they necessary in addition to static checks to cover the well-known use-cases and edge-cases. +% TODO: example? -\subsubsection{Abstraction: Safety vs. Functionality} +\section{The Effects Of Programming Languages on Memory-Safety} +There are dozens of \glspl{proglang} used by humans to write \glspl{app}, but only a few are used to write \glspl{os}. +\cref{context::safe-os-dev::detecting-safety-violations-asap} explained that programming languages have direct impact on the memory-safety. +This section gives an example of how severe this impact is and explains the requirements on a \gls{os} language. + +\subsection{Abstraction Tradeoffs: Safety vs. Functionality} \label{context::introduction::memory-safety::abstr-safety-function} In computer systems, safety and functionality are counter-proportional towards each other, because with increased functionality also grows complexity, and error cases become more difficult to find. Applying this analogy to software development, during which the errors are created in the first place, might be misleading. @@ -929,14 +1267,9 @@ By defining an abstraction layer in form of a programming language, the language , the language can introduce obligated rules that make the written program easier to analyze in an automated fashion, before it gets compiled into the underlying representation. \section{Safety In Language Compilers And Static Analyzers} -\label{context::introduction::language-compilers-analyzers} - -In \cref{context::introduction::memory-safety}, specifically in TODO "reference detection" was explained that programming languages have direct impact on the memory-safety. -This section gives an example of how severe this impact is and explains the requirements on a \gls{os} language. \chapter{Mitigation Attempts} - -\section{\glsentrytext{C}} +\section{Improving \glsentrytext{C}} With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via \gls{compiler}-generated checks imposed at runtime. (TODO: reference). Static analysis are not very effective on a language that has not been designed to be safety-analyzed. TODO? reference? diff --git a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex index bd006fc..ca6a5dc 100644 --- a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex +++ b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex @@ -1,18 +1,18 @@ % // vim: set ft=tex: -\chapter{Result Generalization} +\chapter{Evaluation} -\section{Low-Level Safe Abstractions in Rust} +\section{Premised Trust In Hardware} +Memory management mechanisms are partially implemented in the target system's hardware which can't be verified by at time of development. + +\section{Safety Of Low-Level Code in Rust} % TODO: Is the static analysis of hardware specific assembly code possible and useful at all? % TODO: LLVM knows about the target and can potentially give hints about hardware specific instructions -\section{Tracking \textit{'static}ally allocated Resources} +\section{Protecting \textit{'static}ally allocated Resources} \section{The Necessary Evils of \textit{unsafe}} -\chapter{Result Evaluation} - -\paragraph{Premised Trust In Hardware} -Memory management mechanisms are partially implemented in the target system's hardware which can't be verified by at time of development. +\section{Extending Rust For Safe OS Development} \chapter{Summary} diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index 2700d7f..b3e36fc 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -1,20 +1,11 @@ % // vim: set ft=tex: -\chapter{Refined Research Questions} - -\section{Software Tests} -% TODO: describe that tests are mostly semantics as opposed to static checks being mostly syntactical and technical -% TODO: Are they necessary in addition to static checks to cover the well-known use-cases and edge-cases. -% TODO: example? +\chapter{Concrete Research Tasks} \section{Definition Of Additional Analysis Rules To Extend Safety Checks} -% TODO: How can Business Logical +% TODO: Business Logic Checks % Examples: % TLB needs to be reset on Task Change -% Registers need to be - -\subsection{Paging} -Setting up and maintaining the paging-structure, as well as allocating physical memory for the virtual pages is a complex task in the \gls{os}. -Developing this part of the \gls{os} is error-prone, and is not well-supported by mainstream \glspl{proglang}. +% ISR-Stack-Frame needs to be updated on context-switch \section{Software Fault Isolation} % TODO: content from \cite{Balasubramanian2017} @@ -26,319 +17,17 @@ Developing this part of the \gls{os} is error-prone, and is not well-supported b % TODO * Control access to duplicates in page tables % TODO * Tasks can't access unallocated (physical) memory % TODO * Tasks can't access other tasks memory - - -\chapter{System Programming Conventions} -\label{rnd::sysprog-conventions} - -\section{Stack Frame Handling on AMD64} -\label{rnd::sysprog-conventions::stackframe-amd64} -The usage of the \gls{stack} is tightly coupled with control flow instructions in conjunction with two registers, the Stack-Frame Base Pointer (RBP) and the Stack Pointer (RSP). -The instructions that use these registers and explicitly or implicitly work with the stack\cite[p.~83]{AMD64Vol1} can be grouped into the following categories. -Together they can be used to perform \gls{stack} based procedure calls, as demonstrated in the following \cref{context::introduction::hw-supported-mm::procedure-call-example}. - -\paragraph{Direct Stack Data Management} with PUSH and POP. - -PUSH takes value operand which is to be pushed onto the stack. -The address in RSP moves towards numerically lower addresses with every PUSH instruction, which stores a new data entry on top. -The order is to first change the RSP and then copy the value at its new address. - -POP takes a storage reference operand - \gls{cpu} register or memory address. -It works in the opposite direction to PUSH. -First, consuming the top-most data entry and storing it on the operand location, then moving the RSP address towards the numerically higher RBP address. - -When RBP and RSP point to the same address, the stack is considered empty. - -\paragraph{Procedure Calls} with CALL and RET. \\ -These instructions control the instruction flow by calling another instruction procedure\footnote{loosely synonymous with function}. - -The CALL instruction takes the address of the instruction that is to be called. -Before jumping to the instruction at the given address, it PUSHes the current RIP (instruction pointer) register onto the \gls{stack}. - -RET takes no operand, but instead POPs the \gls{stack}'s top entry. -The consumed value is used as a jump address. - -As PUSH and POP use the RSP register, the called procedure is responsible to finish with the RSP at the same position as when it was entered. -For example, PUSHing some value onto the stack before the end of the function would cause the RET to jump to that address instead of returning to the caller. - -\paragraph{Called Procedure Setup} \emph{not} with ENTER and LEAVE. - -When a procedure is called, the stack is set up with the \gls{sf}, the four components listed in \cref{lst:amd64-stack-frame-components}. -\cite[p.~48]{AMD64Vol1}: - -\begin{listing}[h] -\begin{enumerate} - \item{% - Parameters passed to the called procedure (created by the calling procedure). \\ - \textit{Only if parameters don't fit the \gls{cpu} registers} - } - \item{% - Return address (created by the CALL instruction). \\ - \textit{Always used by CALL} - } - \item{% - Array of stack-frame pointers (pointers to stack frames of procedures with smaller nesting-level depth) which are used to access the local variables of such procedures. \\ - \textit{Depends on support and implementation of nested functions in the \gls{compiler}} - } - \item{% - Local variables used by the called procedure. \\ - \textit{This includes the variables passed via \gls{cpu} registers} - } -\end{enumerate} -\caption{\glsentrytext{amd64} Stack-Frame Components} -\label{lst:amd64-stack-frame-components} -\end{listing} -only necessary when there aren't enough \gls{cpu} to pass the parameters. -Item 3 is only necessary when - -The \gls{amd64} manual also lists ENTER and LEAVE as instructions to \textit{"provide support for procedure calls, and are mainly used in high-level languages."}\cite[p.~48]{AMD64Vol1}. -The latter claim could not be verified by inspecting binaries produced by the \gls{C} and \gls{Rust} \glspl{compiler}. - -Instead, these \glspl{compiler} generate a sequence of PUSH, MOV and SUB instructions to manage theset up the \gls{stack}. -There are instructions before and after the procedure's logic, taking care of the technicalities of \gls{stack} management. -These instruction groups within the called procedure are called prologue and epilogue. - -\subsection{Full Procedure Call Example} -\label{context::introduction::hw-supported-mm::procedure-call-example} -This section combines the separate categories into one complete example that shows how the \gls{stack} is used by various \gls{cpu} instructions to perform procedure calls. -The following code samples are extracted from a disassembled binary which was originally created using \gls{Rust}. -The Assembler that's shown uses Intel Mnemonic, which generally operates from right to left. -For example, \mint{nasm}{mov a, b} copies b to a. - -\cref{code::context::examples::func-callee-rust} shows the \gls{Rust} source code of the function \textit{sum}. - - -% \subsubsection{Top-Level Page Table Self-Reference} -% \subsubsection{Caching Lookups} -% \subsubsection{Full Example} -% * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html -% * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows - -\begin{listing}[htb] - \tikzset{/minted/basename=callee-c} - \begin{minted}[autogobble,linenos,breaklines=true]{rust} - TODO - \end{minted} - \caption{The called function in \gls{Rust}} - \label{code::context::examples::func-callee-rust} -\end{listing} - -\cref{code::context::examples::func-call-asm} shows a snippet snippet of the calling function. -It stores the arguments within the registers according to the System V X86\_64 calling convention. %TODO REFERENCE -The caller doesn't alter the stack-frame pointer (RBP) or the stack pointer (RSP) registers before call, hence the called function must restore these if it alters them. - -\begin{listing} - \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{rust} - TODO - \end{minted} - \caption{Procedure Call Example: Caller Rust} - \label{code::context::examples::func-call-asm} -\end{listing} - -\begin{listing} - \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{nasm} - \end{minted} - TODO - \caption{Procedure Call Example: Caller Assembly} - \label{code::context::examples::func-call-rust} -\end{listing} - -% \balloon{comment}{ - -% RDI, RSI, RDX, RCX, R8, R9, XMM0–7 - -\begin{table}[ht!] - \tikzmark{precallto} - \centering - \begin{tabular}{ r | >{\columncolor{YellowGreen}}c | l } - \multicolumn{1}{r}{RBP offset} & \multicolumn{1}{c}{Content} & \\ - $\uparrow$ & \cellcolor{white} & \\ - & \cellcolor{white} \dots \textit{beyond current stack} \dots & \\ - \hhline{~-~} - 0 & \textit{Previous RSP} & $\leftarrow$ RBP \\ - \hhline{~-~} - \vdots & \dots~~\textit{local variables}~~\dots & \\ - \hhline{~-~} - -0x30 & 3rd arg & \\ - \hhline{~|-|~} - -0x38 & 2nd arg & \\ - \hhline{~-~} - -0x40 & 1st arg & \\ - \hhline{~-~} - \vdots & \dots~~\textit{local variables}~~\dots & \\ - \hhline{~-~} - -0x60 & rdi & \\ - \hhline{~-~} - & \dots~~\textit{local variables}~~\dots & \\ - \hhline{~-~} - $RBP-RSP$ & \textit{unknown} & $\leftarrow$ RSP \\ - \hhline{~-~} - & \cellcolor{white} & \\ - $\downarrow$ & \cellcolor{white} & \\ - \end{tabular} -\end{table} - - - -\cref{code::context::examples::func-prologue} shows \textit{sum}'s prologue. -The corresponding epilogue is displayed in \cref{code::context::examples::func-epilogue}. -The comments explain the code line by line, please read them to understand what exactly happens at each instruction. - -\begin{listing}[ht!] -\begin{minted}[escapeinside=??,linenos=false,breaklines=true]{nasm} -$7490: push ?\tikzmark{prologuestart}? rbp ; save the stack-frame pointer on the stack -$7491: mov rbp,rsp ; set the stack-frame base pointer from the stack pointer -$7494: sub rsp,0x50 ; allocate 0x50 Bytes for arguments and local variables -$7498: mov QWORD PTR [rbp-0x30],rdi ; copy 1st arg onto stack -$749c: mov QWORD PTR [rbp-0x28],rsi ; copy 2nd arg onto stack -$74a0: mov QWORD PTR [rbp-0x20],rdx ; copy 3rd arg onto stack -\end{minted} -\caption{Function Prologue with three Arguments} -\label{code::context::examples::func-prologue} -\end{listing} - -\begin{tikzpicture}[remember picture] - \draw[overlay,red,thick,dashed] (pic cs:precallto) circle [radius=7pt] node { \textbf{1} }; - \draw[overlay,red,thick,dashed] (pic cs:prologuestart) circle [radius=7pt] node { \textbf{1} }; -\end{tikzpicture} - -\begin{listing}[ht!] -\begin{minted}[linenos=true,breaklines=true]{nasm} -$74ee: mov rax,QWORD PTR [rbp-0x48] ; store return value in RAX -$74f2: add rsp,0x50 ; set stack pointer to where stack-frame pointer was stored -$74f6: pop rbp ; restore the stack-frame pointer -$74f7: ret ; return to the caller, following the address on the stack -\end{minted} -\caption{Function Epilogue} -\label{code::context::examples::func-epilogue} -\end{listing} - -\cref{fig:proc-call-example-mem} displays - -\begin{figure} -\centering -\includegraphics[width=0.95\textwidth,]{gfx/call-procedure-memory-content.png} -\caption{Memory Layout Throughout The Procedure Call Steps} -\label{fig:proc-call-example-mem} -\end{figure} -\FloatBarrier - -\section{4-Level Paging Hierarchy on \glsentrytext{amd64}} -\label{rnd::sysprog-conventions::paging-amd64} -On \gls{amd64} "a four-level page-translation data structure is provided to allow long-mode operating systems to translate a 64-Bit virtual-address space into a 52-Bit physical-address space."\cite[p.~18]{AMD64Vol2}. -This allows the system to only hold the \textit{PML4} table, the which is currently referenced by the \textit{Page Map Base Register (CR3)}, available in main memory. - -\cref{fig:virtual-addr-transl} shows the 64-Bit virtual address composition on \gls{amd64}, which uses four-levels of page tables. -Counterintuitively the page-tables are not called level-\textit{n}-page-table, but the levels received distinct names in \citetitle{AMD64Vol2}. -The most-significant Bits labelled as \textit{Sign Extend} are not used for addressing purposes, but must adhere the canonical address form and simply repeat the value of the most-significant implemented Bit \cite[p.~130]{AMD64Vol2}. -The least significant Bits represent the offset within the physical page. -The four groups in between are used to index the page-table at their respective level. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/Virtual-to-Physical-Address-Translation-Long-Mode.png} -\caption{Virtual to Physical Address in Long Mode\cite{AMD64Vol2}} -\label{fig:virtual-addr-transl} -\end{figure} -\subsubsection{Translation Scheme 4 KiB and 2 MiB Pages} -The \gls{amd64} architecture allows configuring the page-size, two of which will be introduced in this section. -\cref{tab:page-transl-vaddr-composition} displays the virtual address composition for the 4KiB and 2MiB page-size modes on \gls{amd64}. -The direction from top to bottom in the table corresponds to most significant to least significant - left to right - in the virtual address. -The \textit{sign extension} Bits cannot be used for actual information but act as a reservation for future architectural changes. - -\begin{table} - \begin{tabular}{l | c | c} - Description & Bits in 4 KiB Pages & Bits in 2 MiB Pages \\ - \hline - Sign Extend & 12 & 12 \\ - Page-Map-Level-4 Offeset & 9 & 9 \\ - Page-Directory-Pointer Offeset & 9 & 9 \\ - Page-Directory Offeset & 9 & 9 \\ - Page-Table Offeset & 9 & - \\ - Physical Page Offset & 9 & 21 \\ - \end{tabular} - \caption{Paging on \gls{amd64}: Virtual Address Composition 4KiB/2MiB pagesizes} - \label{tab:page-transl-vaddr-composition} -\end{table} - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/amd64-4kb-page-translation-long-mode} -\caption{4-Kbyte Page Translation—Long Mode\cite{AMD64Vol2}} -\label{fig:4kb-page-transl} -\end{figure} - -\cref{fig:4kb-page-transl} shows the detailed virtual address composition for 4 KiB pages, using four levels of page-tables. -It uses four sets of 9-Bit indices in the virtual address, one per hierarchy level, followed by the 9 Bit page-internal offset. - -An alternative approach is displayed in \cref{fig:2mb-page-transl}, using 2 MiB sized pages. -It uses three sets of 9-Bit indices for the page-tables, and a 21-Bit page-internal offset. -Increasing the page-size improves speed and memory-usage and decreases the granularity. -In this specific example the hierarchy is reduced by one level of page-tables. -This reduces the amount of storage required for the page-tables in overall and causes the lookup algorithm to finish faster. - -\begin{figure} -\centering -\includegraphics[width=\textwidth]{gfx/amd64-2mb-page-translation-long-mode} -\caption{2-Mbyte Page Translation—Long Mode\cite{AMD64Vol2}} -\label{fig:2mb-page-transl} -\end{figure} - -The other supported page sizes, 4 MiB and 1 GiB, as well as intermixing page sizes through the different levels don't add new insight into the mechanism and don't need to be detailed here. - - -\section{Interrupt Driven Preemptive Context Switches on \glsentrytext{amd64}} -\label{rnd::sysprog-conventions::ir-driven-preemptive-cs-amd64} -On \gls{amd64}, the \gls{cpu}'s interrupt mechanism does not switch the full context described previously, but only handles the registers that are necessary to successfully jump to the interrupt function: RFLAGS, RSP, RBP, RIP\footnote{Segment registers are neglected}. - -\subsection{Interrupts} -% TODO https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf p. 2848 - -\subsection{Context Content} -A description for \gls{amd64} is given in \cref{tab:task-minimum-context-registers}. - -\begin{table} - \begin{tabularx}{\textwidth}{| c | X | X |} - \hline - \textbf{descriptive name} & - \textbf{register names on amd64} & - \textbf{description} \\ - \hline - the instruction pointer register & RIP & address of the next instruction to be fetched \\ - \hline - the stack pointer register & RSP & address of current position in stack \\ - \hline - the flags register & RFLAGS & various attributes, e.g. the interrupt flag \\ - \hline - all general-purpose registers & RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, R8–R15 & arbitrary data \\ - \hline - \end{tabularx} - \caption{Minimum Context Registers on amd64\cite[p.~28]{AMD64Vol2}} - \label{tab:task-minimum-context-registers} -\end{table} - -\subsection{Storing The Context On The Stack} -In this scenario, the context is stored on the \gls{stack} of the function that is interrupted. -\Cref{fig:amd64-long-mode-interrupt-stac} pictures the \gls{stack} layout on interrupt entry. -In order to leverage an interrupt for a context switch, the interrupt function needs to replace these values on the \gls{stack} with values for the new context. -CS (Code-Segment) and SS (Stack-Segment) have no effect in \gls{amd64} 64-Bit mode\cite[p.~20]{AMD64Vol1} and can remain unchanged. -The \gls{os} developer needs to know the exact address where on the \gls{stack} this data structure has been pushed by the \gls{cpu}, and must then manipulate these addresses directly. -This type of manipulation is inherently dangerous and can not be easily checked by the \gls{compiler}. -The function that handles the interrupt must then use the instruction \textit{iretq}\cite[p.~252]{AMD64Vol2}, to make the \gls{cpu} restore the partial context from the \gls{stack} and continue to function pointed to by the RIP. - - -\begin{figure} -\centering -\includegraphics[width=0.8\textwidth]{gfx/amd64-long-mode-stack-after-interrupt.png} -\caption{Long-Mode Stack After Interrupt\cite[p.~252]{AMD64Vol2}} -\label{fig:amd64-long-mode-interrupt-stac} -\end{figure} - -For a full context-switch, the other registers that are part of the context need to be handled by the \gls{os}'s interrupt function. +\subsection{Paging} +Setting up and maintaining the paging-structure, as well as allocating physical memory for the virtual pages is a complex task in the \gls{os}. +Developing this part of the \gls{os} is error-prone, and is not well-supported by mainstream \glspl{proglang}. \chapter{Porting \glsentrytext{C} Vulnerabilities} \label{rnd::porting-c-vulns} -In this chapter, the weakness manifestations from \cref{context::common-mem-safety-mistakes::manifestations} are rewritten in \gls{Rust} to learn to what level they are mitigated just by porting them. +In this chapter, the weakness manifestations given in \cref{context::common-mem-safety-mistakes::manifestations} are rewritten in \gls{Rust} to examine if these are mitigated just by porting them. +This is done incrementally by first porting the vulnerability to unsafe Rust, followed by a rewrite to drop all unsafe code but keeping the intended functionality. + +% TODO stack frame manipulation +% TODO official CWE-119 examples \chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index f8819f2..c7c0895 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,10 +3,15 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{Junker, -author = {Junker, Stefan}, -file = {:home/steveej/src/steveej/msc-thesis/src/docs/thesis.pdf:pdf}, -title = {{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis}} +@article{Matz2009, +author = {Matz, M and Hubicka, J and Jaeger, a and Mitchell, M}, +file = {:home/steveej/src/steveej/msc-thesis/docs/System V Application Binary Interface AMD64 Architecture Processor Supplement Draft Version 0.99.7.pdf:pdf}, +isbn = {013877630X}, +pages = {1--128}, +pmid = {2477614}, +title = {{System V Application Binary Interface AMD64 Architecture Processor Supplement}}, +url = {papers2://publication/uuid/CD8D5668-B1F5-4FE3-BAD8-25F1E589A9E5}, +year = {2009} } @article{Lattner2005, abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, @@ -74,17 +79,6 @@ title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilit url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, year = {2015} } -@article{Merity2016, -abstract = {Recent neural network sequence models with softmax classifiers have achieved their best language modeling performance only with very large hidden states and large vocabularies. Even then they struggle to predict rare or unseen words even if the context makes the prediction unambiguous. We introduce the pointer sentinel mixture architecture for neural sequence models which has the ability to either reproduce a word from the recent context or produce a word from a standard softmax classifier. Our pointer sentinel-LSTM model achieves state of the art language modeling performance on the Penn Treebank (70.9 perplexity) while using far fewer parameters than a standard softmax LSTM. In order to evaluate how well language models can exploit longer contexts and deal with more realistic vocabularies and larger corpora we also introduce the freely available WikiText corpus.}, -archivePrefix = {arXiv}, -arxivId = {1609.07843}, -author = {Merity, Stephen and Xiong, Caiming and Bradbury, James and Socher, Richard}, -eprint = {1609.07843}, -journal = {Arxiv}, -title = {{Pointer Sentinel Mixture Models}}, -url = {http://arxiv.org/abs/1609.07843}, -year = {2016} -} @inproceedings{Ma2013, abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, @@ -97,6 +91,19 @@ pages = {52--57}, title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, year = {2013} } +@article{Mailloux1969, +author = {Mailloux, B. J. and Peck, J. E L and Koster, C. H A}, +doi = {10.1007/BF02163002}, +file = {:home/steveej/src/steveej/msc-thesis/docs/Algol68-RevisedReport.pdf:pdf}, +isbn = {978-3-662-38646-0}, +issn = {0029599X}, +journal = {Numerische Mathematik}, +number = {2}, +pages = {79--218}, +title = {{Report on the Algorithmic Language ALGOL 68}}, +volume = {14}, +year = {1969} +} @article{Corporation2011, abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, author = {Corporation, Intel}, @@ -191,6 +198,11 @@ title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, volume = {1}, year = {2012} } +@article{Junker, +author = {Junker, Stefan}, +file = {:home/steveej/src/steveej/msc-thesis/src/docs/thesis.pdf:pdf}, +title = {{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis}} +} @article{Nilsson2017, author = {Nilsson, Fredrik}, file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Rust-based Runtime for the Internet of Things.pdf:pdf}, diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 45b8665..0d37ae6 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -50,6 +50,7 @@ \appto\theFancyVerbLine{\tikzmark{\pgfkeysvalueof{/minted/basename}\arabic{FancyVerbLine}}} \usepackage{amsmath} +\usepackage{amssymb} \usepackage{caption} \usepackage{subcaption} \usepackage{wrapfig} @@ -71,7 +72,7 @@ \newcommand{\buzzwords}{memory-safety, operating system development, rust, static software analysis, software vulnerability} % Numbered Subsubsections -\setcounter{secnumdepth}{5} +\setcounter{secnumdepth}{3} \date{Summersemester 2017} \title{\topic} From 5fb007ba40dbc48ea6eed72030561a4e168fc46d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sat, 23 Sep 2017 00:47:16 +0200 Subject: [PATCH 119/126] context: describe stack clash/guard page --- src/docs/parts/context/context.tex | 87 +++++++++++++------ .../research_and_development.tex | 14 +-- src/docs/thesis.bib | 24 +++-- src/docs/thesis.tex | 3 +- 4 files changed, 84 insertions(+), 44 deletions(-) diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index 50e6761..d13e73f 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -245,9 +245,9 @@ The purpose is to demonstrate that the same program \gls{bbox} is instantiated t \label{shell::context::os-dev-concepts::program-process} \end{listing} -It invokes \gls{bbox} with the "sh" (a shell utility) argument which in turn receives the "-c" (command execute" argument and another argument containing the expected command. -This command consists of subsequent calls to \gls{bbox} invoking its builtin "ps" (a utility to print the process list) and "grep" (a tool to find text) utilities. -The process list is received by passing "ps" as the argument to \gls{bbox} in the third execution. +It invokes \gls{bbox} with the \code{sh} (a shell utility) argument which in turn receives the \code{-c} (command execute" argument and another argument containing the expected command. +This command consists of subsequent calls to \gls{bbox} invoking its builtin \code{ps} (a utility to print the process list) and \code{grep} (a tool to find text) utilities. +The process list is received by passing \code{ps} as the argument to \gls{bbox} in the third execution. Line 2 through 4 show the three \glspl{process} of the \gls{bbox} \gls{program} with different proccess ids and their respective arguments. \section{Preemptive Multitasking Concepts} @@ -586,28 +586,28 @@ The instructions that use these registers and explicitly or implicitly work with Together they can be used to perform \gls{stack} based procedure calls, as demonstrated in the following \cref{context::os-dev-concepts::sf-handling-amd64::procedure-call-example}. \subsection{Direct Stack Data Management Instructions} -\mintinline{nasm}{PUSH} a takes value operand which is to be pushed onto the stack. -The address in RSP moves towards numerically lower addresses with every \mintinline{nasm}{PUSH} instruction, which stores a new data entry on top. +\code{push} a takes value operand which is to be pushed onto the stack. +The address in RSP moves towards numerically lower addresses with every \code{push} instruction, which stores a new data entry on top. The order is to first change the RSP and then copy the value at its new address. -\mintinline{nasm}{POP} takes a storage reference operand - \gls{cpu} register or memory address. -It works in the opposite direction to \mintinline{nasm}{PUSH}. +\code{pop} takes a storage reference operand - \gls{cpu} register or memory address. +It works in the opposite direction to \code{push}. First, consuming the top-most data entry and storing it on the operand location, then moving the RSP address towards the numerically higher RBP address. When RBP and RSP point to the same address, the stack is considered empty. \subsection{Procedure Calls Instructions} -The \mintinline{nasm}{CALL} and \mintinline{nasm}{RET} instructions control the instruction flow by calling another instruction procedure\footnote{loosely synonymous with function}. +The \code{call} and \code{ret} instructions control the instruction flow by calling another instruction procedure\footnote{loosely synonymous with function}. -The \mintinline{nasm}{CALL} instruction takes the address of the instruction that is to be called. -Before jumping to the instruction at the given address, it \mintinline{nasm}{PUSH}es the current RIP (instruction pointer) register onto the \gls{stack}. +The \code{call} instruction takes the address of the instruction that is to be called. +Before jumping to the instruction at the given address, it \code{push}es the current RIP (instruction pointer) register onto the \gls{stack}. -\mintinline{nasm}{RET} takes no operand, but instead \mintinline{nasm}{POP}s the \gls{stack}'s top entry. +\code{ret} takes no operand, but instead \code{pop}s the \gls{stack}'s top entry. The consumed value is used as a jump address. -As \mintinline{nasm}{PUSH} and \mintinline{nasm}{POP} use the RSP register, the called procedure is responsible to finish with the RSP at the same position as when it was entered. -For example, \mintinline{nasm}{PUSH}ing some value onto the stack before the end of the function would cause the \mintinline{nasm}{RET} to jump to that address instead of returning to the caller. +As \code{push} and \code{pop} use the RSP register, the called procedure is responsible to finish with the RSP at the same position as when it was entered. +For example, \code{push}ing some value onto the stack before the end of the function would cause the \code{ret} to jump to that address instead of returning to the caller. \subsection{Stack Frame Management Instructions} When a procedure is called, the stack is set up with the \gls{sf}, the four components listed in \cref{lst:amd64-stack-frame-components}. @@ -620,8 +620,8 @@ When a procedure is called, the stack is set up with the \gls{sf}, the four comp \textit{Only if parameters don't fit the \gls{cpu} registers} } \item{% - Return address (created by the \mintinline{nasm}{CALL} instruction). \\ - \textit{Always used by \mintinline{nasm}{CALL}} + Return address (created by the \code{call} instruction). \\ + \textit{Always used by \code{call}} } \item{% Array of stack-frame pointers (pointers to stack frames of procedures with smaller nesting-level depth) which are used to access the local variables of such procedures. \\ @@ -636,10 +636,10 @@ When a procedure is called, the stack is set up with the \gls{sf}, the four comp \label{lst:amd64-stack-frame-components} \end{listing} -The \gls{amd64} manual also lists \mintinline{nasm}{ENTER} and \mintinline{nasm}{LEAVE} as instructions to \textit{"provide support for procedure calls, and are mainly used in high-level languages."}\cite[p.~48]{AMD64Vol1}. +The \gls{amd64} manual also lists \code{enter} and \code{leave} as instructions to \textit{"provide support for procedure calls, and are mainly used in high-level languages."}\cite[p.~48]{AMD64Vol1}. The latter claim could not be verified by inspecting binaries produced by the \gls{C} and \gls{Rust} \glspl{compiler}. -Instead, these \glspl{compiler} generate a sequence of \mintinline{nasm}{PUSH}, \mintinline{nasm}{MOV} and \mintinline{nasm}{SUB} instructions to manage theset up the \gls{stack}. +Instead, these \glspl{compiler} generate a sequence of \code{push}, \code{mov} and \code{sub} instructions to manage theset up the \gls{stack}. There are instructions before and after the procedure's logic, taking care of the technicalities of \gls{stack} management. These instruction groups within the called procedure are called prologue and epilogue. @@ -648,7 +648,7 @@ These instruction groups within the called procedure are called prologue and epi This section combines the separate categories into one complete example that shows how the \gls{stack} is used by various \gls{cpu} instructions to perform procedure calls. The following code samples are extracted from a disassembled binary which was originally created using \gls{Rust}. The Assembler that's shown uses Intel Mnemonic, which generally operates from right to left. -For example, \mintinline{nasm}{mov a, b} copies b to a. +For example, \code{mov a, b} copies b to a. \cref{code::context::examples::func-callee-rust} shows the \gls{Rust} source code of the function \textit{sum}. @@ -1208,23 +1208,54 @@ if (ptr == NULL) { \end{lstlisting} \subsection{The Stack Clash} -A recent and high impact vulnerability named \textit{Stack Clash}\footnote{https://blog.qualys.com/securitylabs/2017/06/19/the-stack-clash}, is briefly described as \textit{"a vulnerability in the memory management of several operating systems. It affects Linux, OpenBSD, NetBSD, FreeBSD and Solaris, on i386 and amd64. It can be exploited by attackers to corrupt memory and execute arbitrary code."} -The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{http://www.cvedetails.com/cve/CVE-2017-1000364/}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. -It is assigned to the \citetitle{MITRE-CWE-119}\autocite{MITRE-CWE-119} presented in \cref{context::common-mem-safety-mistakes::cwe::119}. +\label{context::common-mem-safety-mistakes::manifestations::stack-clash} +A recent high severity vulnerability named \textit{Stack Clash}\cite{TheStackClash}, is briefly described as \textit{"a vulnerability in the memory management of several operating systems. It affects Linux, OpenBSD, NetBSD, FreeBSD and Solaris, on i386 and amd64. It can be exploited by attackers to corrupt memory and execute arbitrary code."} +The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{\url{http://www.cvedetails.com/cve/CVE-2017-1000364/}}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. +The vulnerability is assigned to the \citetitle{MITRE-CWE-119}\autocite{MITRE-CWE-119} presented in \cref{context::common-mem-safety-mistakes::cwe::119}. -\cref{context::os-dev-concepts::hw-supported-mm::multilevel-paging-concept,context::os-dev-concepts::hw-supported-mm::multilevel-paging-amd64} +\subsubsection{Affecting Multiple OSs} +The vulnerability is extremely interesting for several reasons. +The issue has been recognized in 2005 and partially fixed in \gls{LX} in 2010 by introducing a guard page, but it wasn't considered to be a high risk. +Several years later, It has been found to affect the memory management of several \glspl{os} which don't share the same code base. -\cref{context::os-dev-concepts::hw-supported-mm::page-fault} +The two affected architectures are closely related and share the same memory-paging concepts, most of which are explained in \cref{context::os-dev-concepts::hw-supported-mm::multilevel-paging-concept,context::os-dev-concepts::hw-supported-mm::multilevel-paging-amd64,context::os-dev-concepts::hw-supported-mm::page-fault}. +This simply answers the question how this vulnerability can be present on in multiple \glspl{os}; they all implemented the same concept when this vulnerability was not popular enough. -% TODO explain that this CWE-119 vulnerability is also "Execute Code" -% TODO more references and deeper explanation of what happens: see introduction in https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt +\subsubsection{Unguarded Stack Growth} +The guard page concept has been introduced to prevent the stack from growing further than it should.\footnote{Related Linux CVE-2010-2240} + +If the stack grows contiguously and thus accesses virtual addresses that are not mapped to a page, the \gls{os}'s page-fault handler has the chance to inspect the situation. +The \gls{os} simply allocates a new page for the unmapped virtual address and allows the process to grow its stack. +When the virtual address accesses the defined guard page, the \gls{os} denies the operation and the process will be notified by a segmentation fault. +This works as long one of these conditions is true: +\begin{itemize} + \item The guard page spans a virtual address range that is larger than the largest stack increment + \item The area behind the stack page is unmapped and will also a page-fault +\end{itemize} +As the existence of vulnerability proves, these two conditions aren't always met. + +\subsubsection{The Stack and Heap Overlap} +The reason why the existing guard page didn't work as expected are cases were the stack can indeed increment by a large enough amount to leap over the guard page. +And somewhere beyond the guard page is the heap, and the stack can happen to grow large enough to reach it. +This effectively overlaps the stack and the heap and makes it possible to use access one through variables of the other variables. + +The best case scenario is mere memory corruption and the crash of the application. +In the worst case there's possible execution of arbitrary code, which can be by used by an attacker to gain control of the application and possibly the whole system. + +\subsubsection{Solutions} +The researchers at \textit{qualys} suggest two solutions\cite[III]{TheStackClash}. + +The first proposed solution is to increase the guard page to 1MB or larger within the \gls{os}. +This doesn't guarantee absolute protection as it still be possible to have a large enough stack growth that surpasses the 1MB guard. + +The second solution doesn't involve the \gls{os} at all. +The suggestion is to compile all \glspl{app} on the system with the GCC \gls{compiler} option \mintinline{markdown}{`-fstack-check`}. +This allegedly "prevents the stack-pointer from moving into another memory region without accessing the stack guard-page (it writes one word to every 4KB page allocated on the stack)." +This features seems interesting to investigate further, as stack protection is also something procedures within the \gls{os} could make use of. \chapter{Weakness Mitigation} \label{context::weakness-mitigation} - - - \section{Detecting Memory-Safety Violations ASAP} \label{context::safe-os-dev::detecting-safety-violations-asap} Given that it can not be prevented for individuals to type erroneous code into their code editors. diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index b3e36fc..fb871c2 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -7,6 +7,7 @@ % TLB needs to be reset on Task Change % ISR-Stack-Frame needs to be updated on context-switch + \section{Software Fault Isolation} % TODO: content from \cite{Balasubramanian2017} @@ -17,20 +18,22 @@ % TODO * Control access to duplicates in page tables % TODO * Tasks can't access unallocated (physical) memory % TODO * Tasks can't access other tasks memory -\subsection{Paging} -Setting up and maintaining the paging-structure, as well as allocating physical memory for the virtual pages is a complex task in the \gls{os}. -Developing this part of the \gls{os} is error-prone, and is not well-supported by mainstream \glspl{proglang}. + \chapter{Porting \glsentrytext{C} Vulnerabilities} \label{rnd::porting-c-vulns} In this chapter, the weakness manifestations given in \cref{context::common-mem-safety-mistakes::manifestations} are rewritten in \gls{Rust} to examine if these are mitigated just by porting them. This is done incrementally by first porting the vulnerability to unsafe Rust, followed by a rewrite to drop all unsafe code but keeping the intended functionality. - -% TODO stack frame manipulation % TODO official CWE-119 examples \chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} +\chapter{Stack Protection} +The goal of this chapter is to learn about \gls{Rust}'s stack protection mechanisms, and determine if it can help with the issue described in \cnameref{context::common-mem-safety-mistakes::manifestations::stack-clash}. + +% TODO stack frame manipulation example + + \chapter{Existing \glsentrytext{os}-Development Projects Based On Rust} \label{rnd::existing-os-dev-with-rust} @@ -39,7 +42,6 @@ This is done incrementally by first porting the vulnerability to unsafe Rust, fo \subsection{Libfringe} % TODO: https://github.com/edef1c/libfringe - \section{Systems} \subsection{intermezzOS} \subsection{Blog OS} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index c7c0895..febbd8c 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,15 +3,11 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{Matz2009, -author = {Matz, M and Hubicka, J and Jaeger, a and Mitchell, M}, -file = {:home/steveej/src/steveej/msc-thesis/docs/System V Application Binary Interface AMD64 Architecture Processor Supplement Draft Version 0.99.7.pdf:pdf}, -isbn = {013877630X}, -pages = {1--128}, -pmid = {2477614}, -title = {{System V Application Binary Interface AMD64 Architecture Processor Supplement}}, -url = {papers2://publication/uuid/CD8D5668-B1F5-4FE3-BAD8-25F1E589A9E5}, -year = {2009} +@misc{TheStackClash, +author = {Advisory, Qualys Security}, +file = {:home/steveej/src/steveej/msc-thesis/docs/stack-clash.txt:txt}, +title = {{The Stack Clash}}, +url = {https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt} } @article{Lattner2005, abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, @@ -125,6 +121,16 @@ file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: Syst title = {{DRAFT: System Programming in Rust: Beyond Safety}}, year = {2017} } +@article{Matz2009, +author = {Matz, M and Hubicka, J and Jaeger, a and Mitchell, M}, +file = {:home/steveej/src/steveej/msc-thesis/docs/System V Application Binary Interface AMD64 Architecture Processor Supplement Draft Version 0.99.7.pdf:pdf}, +isbn = {013877630X}, +pages = {1--128}, +pmid = {2477614}, +title = {{System V Application Binary Interface AMD64 Architecture Processor Supplement}}, +url = {papers2://publication/uuid/CD8D5668-B1F5-4FE3-BAD8-25F1E589A9E5}, +year = {2009} +} @article{Chisnall2015, abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 0d37ae6..477264b 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -216,7 +216,8 @@ \fi \next@mfu@cap#2\mfu@endcap } - +\newcommand{\code}[2][md]{\mintinline{#1}{`#2`}} + \makeatother \include{glossary} From 5ec6c7245e30bd309c8ed5b4c5d1fb5ff990443f Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sun, 24 Sep 2017 01:40:26 +0200 Subject: [PATCH 120/126] context/rnd restructure: add weakness mitigation --- src/docs/glossary.tex | 10 + src/docs/parts/context/context.tex | 540 ++++++++++-------- .../research_and_development.tex | 135 ++++- src/docs/thesis.bib | 19 +- src/docs/thesis.tex | 9 + 5 files changed, 449 insertions(+), 264 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index ff6008f..78a889d 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -36,6 +36,16 @@ first = {\glsentrylong{compiler}} } +\newglossaryentry{GCC}{ + name = GCC, + long = {GNU Compiler Collection}, + description = {% + GCC is an integrated distribution of compilers for several major programming languages. + These languages currently include C, C++, Objective-C, Objective-C++, Java, Fortran, Ada, and Go. + }, + first = {\glsentrylong{GCC}} +} + \newglossaryentry{addrspace}{ name = address space, long = bound address range in memory, diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index d13e73f..a1f7c6c 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,13 +1,11 @@ % // vim: set ft=tex: \chapter{Introduction} \label{context::introduction} - - This thesis studies the feasibility of using compile-time code analysis, as found in \gls{Rust}'s \gls{compiler}, for ensuring memory-safety within an \gls{os} kernel. This study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{os} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for all other \glspl{app}. For this the \gls{os} is the only \gls{app} that required unrestricted access to these resources, with the responsibility of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. -The increasing number of vulnerabilities based on memory-safety issues in \glspl{app}, as presented in \cref{context::common-mem-safety-mistakes::cwe::statistics}, is a major motivator for working on this topic. +The increasing number of vulnerabilities based on memory-safety issues in \glspl{app}, as presented in \cref{context::weaknesses-mem-safety::cwe::statistics}, is a major motivator for working on this topic. \section{Motivational Hypothesis} % Primary Research Questions @@ -26,7 +24,7 @@ These implementations are subject to evaluation in \cref{rnd::existing-os-dev-wi The final results will be of qualitative nature, captured by analyzing the existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. In addition to the sole analysis of \gls{Rust}-implementations, comparisons will be made, discerning the level of memory safety guarantees gained over similarly intending implementations in \gls{C}. -\section{Assessing Memory-Safety} +\section{What is Memory-Safety?} \label{context::introduction::memory-safety} Memory-safety is a term that is only vaguely defined in general, thus a definition is given for the context of this thesis. For a thorough understanding of the issues discussed further in this document, it might be helpful to review the basics of how memory is used in current computer systems. @@ -94,16 +92,75 @@ Higher focus on safety and testing in education, enforced internal company guide For this thesis such constraints are out of scope, and the focus is on examining technical methods that detect and indicate mistakes as early as possible. \subsection{Technical Aspect} -The problem on the technical side is that the \gls{compiler} is not able to detect all errors that are in the source code and the human was able to produce an executable program. +\label{context::introduction::technical-aspect} +As established in the \nameref{context::introduction::human-aspect}, it can not be prevented for individuals to type erroneous code into their code editors, thus a technical solution must be found. +The problem on the technical side is that the \gls{compiler} is not able to detect all errors that are in the source code and humans are able to produce an executable program from problematic source code. The resulting executable program might merely serve its purpose, and can contain severe technical mistakes that are not considered an error by the \gls{compiler}. This is especially likely using low-abstraction languages like \gls{C} and \gls{C++} for \gls{os} development, where technical mistakes and intended behavior are very difficult to distinguish. -The goal of this thesis is to find out if the \gls{Rust} \gls{compiler} is able to mitigate this specific problem. + +The ultimate goal beyond this project must be to prevent any kind of vulnerable or erroneous software from being distributed to production systems. +This project's contribution towards that goal is to evaluate if \gls{Rust}'s \gls{compiler} is able to guarantee safe memory-management in the \gls{os}. + +\subsection{Time Aspect} +\label{context::introduction::memory-safety::time-aspect} +Tests are important for the functionality and safety of a \gls{app}. +In addition to the presence and quality of tests, their timing in the software life cycle plays an important role. +It is desirable to place software tests as early as possible in the software life cycle and detect mistakes then, rather than compromising production-systems that hold sensitive data and offer important services. + +\begin{figure}[ht] +\centering +\smartdiagramset{ + back arrow disabled=true, + module minimum width=5cm, + text width=4cm, + additions={ + additional item offset=1cm, + additional item width=4cm, + additional item border color=gray, + additional item text width=4cm, + additional arrow tip=to, + additional arrow line width=2pt, + additional arrow color=black, + }, +} +\smartdiagramadd[flow diagram]{ + Design, + Programming, + Compilation, + Distribution, + Execution + }{% + right of module2/When vulnerabilities are created, + right of module3/When they should be detected, + right of module5/When they create real problems +} +\smartdiagramconnect{to-}{module2/additional-module1} +\smartdiagramconnect{to-}{module3/additional-module2} +\smartdiagramconnect{to-}{module5/additional-module3} +\caption{Simple Software Life Cycle} +\label{fig:simple-software-lifecycle} +\end{figure} +A simple software life cycle model is visualized in \cref{fig:simple-software-lifecycle}. + +Assuming that there is a software design, even a flawless one, the next step is to translate this flawless design into flawless source code. +The is a manual translation step from one representation into another, leaving much room for mistakes. +The next component in the chain is the \gls{compiler} which processes the source code by translating it to the next representation, machine code. +This is the step that where source code analysis can be technically enforced. +Ideally, as previously explained, the \gls{compiler} should be able to detect the programmers mistakes, especially the ones that have a negative impact on memory-safety. +Advanced programmers can profit too, as everybody makes mistakes from time to time, depending on the level of focus, which is not a constant. + +When programmers talk about tests, they typically mean little functions they have to write to test the actual functions of their programs. +This kind of testing requires the execution of the program after its compilation, and is likely to neglect severe technical mistakes. +The method of testing the source code directly has much more potential, because relations between source code objects can be analyzed. +Various \textit{static code analyzer} tools have become popular for such analysis. +However, these are always optional and the developer cannot be forced to use them. +Much different is the situation when the analysis is part of the \gls{compiler}, which is the case in \gls{Rust}. \chapter{OS Development: Concepts, Conventions, Risks} \label{context::os-dev-concepts} In order to protect the memory of each executed program according to \cref{context::introduction::memory-safety::def}, the \gls{os} must be designed developed, and tested carefully. This chapter explains concepts used in \gls{os} development and points out memory-safety critical operations in necessary detail. -This is done in preparation for the next \cref{context::common-mem-safety-mistakes}, which explains weaknesses that result from memory management mistakes that were made in the attempt to implement the following concepts. +This is done in preparation for the next \cref{context::weaknesses-mem-safety}, which explains weaknesses that result from memory management mistakes that were made in the attempt to implement the following concepts. Since the \gls{os} manages the system's hardware directly, many of the implementation and design choices depend on hardware design and architecture. To bound the extent of this document, the explanations are limited to one contemporary architecture, \gls{amd64}, and further narrowed down by focusing on the operation in 64-Bit Long Mode\cite[p.~18]{AMD64Vol2}. @@ -121,9 +178,7 @@ The \gls{os} then provides an \gls{api} through which \glspl{app} can request ac Higher-level \glspl{proglang} allow the \gls{app} developers to develop and run different programs comfortably, concurrently and presumably safely on any hardware which is supported by the \gls{os}. \Cref{fig:system-abstraction-layers} shows a top-down model of the abstractions layers in the system. -\usetikzlibrary{shapes.geometric, arrows} \begin{figure}[ht] -\usetikzlibrary{chains,arrows.meta,decorations.pathmorphing,quotes} \begin{tikzpicture} [start chain=main going below, every on chain/.append style={align=center, text width=35ex, minimum height=7ex, fill=blue!20}, >={LaTeX[]}, node distance=7ex] % \node[on chain] {\gls{os} Abstraction Layers}; @@ -556,7 +611,7 @@ In this picture, the \gls{stack} grows upwards. \subsubsection{Safety Concerns} To achieve memory-safe \gls{stack} management in the \gls{os}, each procedure must only be able to access its own particular \gls{stack} and possible references via its arguments. -This is not the case in a regular \gls{C} program, where the called procedure is able to modify the previous \gls{sf}, which is demonstrated in \cnameref{context::common-mem-safety-mistakes::manifestations::ret-addr-manipulation}. +This is not the case in a regular \gls{C} program, where the called procedure is able to modify the previous \gls{sf}, which is demonstrated in \cnameref{rnd::weakness-mitig-eval::stack-protection}. Additionally, the \glspl{stack} must be prevented from growing into other memory zones like the \gls{heap}. Since \Gls{stack} management is memory-safety critical for \gls{os} developers when implementing memory management for multitasking within the \gls{os}, it is one of the main subjects in \cnameref{rnd}, \cref{rnd::existing-os-dev-with-rust,rnd::imezzos-preemptive-multitasking}. @@ -897,33 +952,35 @@ The function that handles the interrupt must then use the instruction \textit{ir For a full context-switch, the other registers that are part of the context need to be handled by the \gls{os}'s interrupt function. -\chapter{Common Memory-Safety Mistakes} -\label{context::common-mem-safety-mistakes} +\chapter{Weaknesses That Affect Memory-Safety} +\label{context::weaknesses-mem-safety} The previous \cref{context::introduction,context::os-dev-concepts} describe the concepts of memory management on \gls{amd64} and how mistakes might come into existence. This chapter describes the related software weaknesses which are too commonly found. The underlying weakness classes are explained alongside real-world and exemplary manifestations in \gls{C}. -The latter are ported and compared to functionally equivalent versions written with \gls{Rust} in \cref{rnd::porting-c-vulns}, +The latter are ported and compared to functionally equivalent versions written with \gls{Rust} in \cref{rnd::weakness-mitig-eval::porting-c-vulns}, -\section{\glsentrylong{CWE}} -\label{context::common-mem-safety-mistakes::cwe} +%\section{\glsentrylong{CWE}} +%\label{context::weaknesses-mem-safety::cwe} Ongoing effort of collecting, analyzing and classifying vulnerabilities and their underlying weaknesses has been expended by the \textit{The MITRE Corporation} in form of the \gls{CWE}. It has grown to a large relational database of typed weaknesses. The following information is provided for enumerations of the type weakness class: -\begin{itemize} - \item Description - \item Applicable Platforms - \item Common Consequences - \item Likelihood of Exploit - \item Demonstrative Examples - \item Potential Mitigations - \item Relationships -\end{itemize} +\begin{markdown} +1. Description +1. Applicable Platforms +1. Common Consequences +1. Likelihood of Exploit +1. Demonstrative Examples +1. Potential Mitigations +1. Relationships +\end{markdown} The relevant weaknesses for this thesis are children of the umbrella weakness \citetitle{MITRE-CWE-633}. +Their information about demonstrative examples and potential mitigations are relevant for this thesis. +This and the following \cref{context::weakness-mitigation} present this information for \gls{CWE-633} and selected children. % TODO test the autocite command with footnotes -\subsection{\glsentrylong{CWE-119}} -\label{context::common-mem-safety-mistakes::cwe::119} +\section{\glsentrylong{CWE-119}} +\label{context::weaknesses-mem-safety::cwe::119} One of its children weaknesses, \gls{CWE-119}, is particularly interesting. Manifestations of this weakness are a direct violation of the memory-safety defined in \cref{context::introduction::memory-safety::def} must have occurred, which "can cause read or write operations to be performed on memory locations that may be associated with other variables, data structures, or internal program data. As a result, an attacker may be able to execute arbitrary code, alter the intended control flow, read sensitive information, or cause the system to crash"\cite{MITRE-CWE-119}. @@ -936,8 +993,8 @@ There are languages that provide memory management support and still allow direc \gls{Rust} is one of these languages, although it requires the developer to explicitly acknowledge all direct memory access operations with the \textit{unsafe} keyword. More information on \gls{Rust} follows in \cref{context::rust}. -\subsection{Statistics} -\label{context::common-mem-safety-mistakes::cwe::statistics} +\section{Statistics} +\label{context::weaknesses-mem-safety::cwe::statistics} One of the main reasons for me to work on this topic is the increasing number of vulnerabilities based on memory-safety issues. This section is intended to express the weakness's severity in real-world software based on available statistics. @@ -986,7 +1043,7 @@ In \cref{tab:vulnerability-buffer-error-by-history}, the column \textit{relative With 16.34 percent of all vulnerabilities known by 2016, and an average of 12.92 percent over ten years, \autocite{MITRE-CWE-119} makes up a significant part of real-world weaknesses. \subsection{Vulnerable APIs in Linux and C/C++} -\label{context::common-mem-safety-mistakes::vuln-apis-linux-c} +\label{context::weaknesses-mem-safety::vuln-apis-linux-c} \glspl{api} are a ubiquitous for programmers to access all kinds of functionality, serving as interfaces to network services, providing existing algorithms in form of libraries and frameworks, or interfacing with the local \gls{os}. It is inherently dangerous to expose any sort of functionality through an \gls{api}, as it might contain bugs that will be spread widely with rising popularity. Every \gls{os} needs to provide an \gls{api} for it's core functionality to be useful and extendable. @@ -1003,40 +1060,64 @@ The difficulty is to perform these transfers only under safe circumstances, whic It is necessary to investigate some of the weakness manifestations in detail in order to analyze if these might be prevented by using \gls{Rust}. \section{Manifestations} -\label{context::common-mem-safety-mistakes::manifestations} +\label{context::weaknesses-mem-safety::manifestations} This section contains real-world manifestations and \textit{re}constructed experiments of memory-safety related weaknesses. -% TODO +It requires common understanding of the \gls{C} language and knowledge from the previous chapters. -\subsection{CWE-119 Examples} -These examples are officially listed under the \autocite{MITRE-CWE-119} website. +\subsection{Official CWE Examples} +The following examples are officially listed under various children of \citetitle{MITRE-CWE-633}\cite{MITRE-CWE-633}. +The code and descriptions are copied literally and are used as references throughout the document. +The numbering in the example names aren't contiguous because only a subset was selected, and the naming is supposed to match the \gls{CWE} website. +References to the respective \gls{Rust} version are generally found in \cpnameref{rnd::weakness-mitig-eval::porting-c-vulns}, and referenced under each specific example for easier navigation. -\subsubsection{Example 1} -This example takes an IP address from a user, verifies that it is well formed and then looks up the hostname and copies it into a buffer. +\subsubsection{CWE-119} +\glsentrylong{CWE-119} + +\paragraph{Example 1} +The following code asks the user to enter their last name and then attempts to store the value entered in the last\_name array. \begin{listing}[htb] \begin{minted}[autogobble,linenos,breaklines=true]{c} - void host_lookup(char *user_supplied_addr){ - struct hostent *hp; - in_addr_t *addr; - char hostname[64]; - in_addr_t inet_addr(const char *cp); - - /*routine that ensures user_supplied_addr is in the right format for conversion */ - validate_addr_form(user_supplied_addr); - addr = inet_addr(user_supplied_addr); - hp = gethostbyaddr( addr, sizeof(struct in_addr), AF_INET); - strcpy(hostname, hp->h_name); - } + ... + char last_name[20]; + printf ("Enter your last name: "); + scanf ("%s", last_name); + ... \end{minted} - \caption{Bad Code} - %\label{code::context::examples::func-callee-c} + \caption{CWE-120: Example 1 Bad Code C} + \label{code::CWE-120::Example1BadCCode} \end{listing} +\FloatBarrier -This function allocates a buffer of 64 bytes to store the hostname, however there is no guarantee that the hostname will not be larger than 64 bytes. If an attacker specifies an address which resolves to a very large hostname, then we may overwrite sensitive data or even relinquish control flow to the attacker. +The problem with the code above is that it does not restrict or limit the size of the name entered by the user. If the user enters "Very\_very\_long\_last\_name" which is 24 characters long, then a buffer overflow will occur since the array can only hold 20 characters total. -Note that this example also contains an unchecked return value (CWE-252) that can lead to a NULL pointer dereference (CWE-476). +% \paragraph{Example 1} +% This example takes an IP address from a user, verifies that it is well formed and then looks up the hostname and copies it into a buffer. +% +% \begin{listing}[htb] +% \begin{minted}[autogobble,linenos,breaklines=true]{c} +% void host_lookup(char *user_supplied_addr){ +% struct hostent *hp; +% in_addr_t *addr; +% char hostname[64]; +% in_addr_t inet_addr(const char *cp); +% +% /*routine that ensures user_supplied_addr is in the right format for conversion */ +% validate_addr_form(user_supplied_addr); +% addr = inet_addr(user_supplied_addr); +% hp = gethostbyaddr( addr, sizeof(struct in_addr), AF_INET); +% strcpy(hostname, hp->h_name); +% } +% \end{minted} +% \caption{CWE-119: Example 1 Bad Code C} +% \label{code::CWE-119::Example1BadCCode} +% \end{listing} +% +% This function allocates a buffer of 64 bytes to store the hostname, however there is no guarantee that the hostname will not be larger than 64 bytes. If an attacker specifies an address which resolves to a very large hostname, then we may overwrite sensitive data or even relinquish control flow to the attacker. +% +% Note that this example also contains an unchecked return value (CWE-252) that can lead to a NULL pointer dereference (CWE-476). -\subsubsection{Example 2} +\paragraph{Example 2} This example applies an encoding procedure to an input string and stores it into a buffer. \begin{listing}[htb] @@ -1063,12 +1144,13 @@ This example applies an encoding procedure to an input string and stores it into return dst_buf; } \end{minted} - \caption{Bad Code} - %\label{code::context::examples::func-callee-c} + \caption{CWE-119: Example 2 Bad Code C} + \label{code::CWE-119::Example2BadCodeC} \end{listing} +\FloatBarrier The programmer attempts to encode the ampersand character in the user-controlled string, however the length of the string is validated before the encoding procedure is applied. Furthermore, the programmer assumes encoding expansion will only expand a given character by a factor of 4, while the encoding of the ampersand expands by 5. As a result, when the encoding procedure expands the string it is possible to overflow the destination buffer if the attacker provides a string of many ampersands. -\subsubsection{Example 3} +\paragraph{Example 3} The following example asks a user for an offset into an array to select an item. \begin{listing}[htb] @@ -1079,12 +1161,13 @@ The following example asks a user for an offset into an array to select an item. printf("You selected %s\n", items[index-1]); } \end{minted} - \caption{Bad Code} - %\label{code::context::examples::func-callee-c} + \caption{CWE-119: Example 3 Bad Code C} + \label{code::CWE-119::Example3BadCodeC} \end{listing} -The programmer allows the user to specify which element in the list to select, however an attacker can provide an out-of-bounds offset, resulting in a buffer over-read (CWE-126). +\FloatBarrier + The programmer allows the user to specify which element in the list to select, however an attacker can provide an out-of-bounds offset, resulting in a buffer over-read (CWE-126). -\subsubsection{Example 4} +\paragraph{Example 4} In the following code, the method retrieves a value from an array at a specific array index location that is given as an input parameter to the method \begin{listing}[htb] \begin{minted}[autogobble,linenos,breaklines=true]{c} @@ -1109,9 +1192,11 @@ In the following code, the method retrieves a value from an array at a specific return value; } \end{minted} - \caption{Bad Code} - %\label{code::context::examples::func-callee-c} + \caption{CWE-119: Example 4 Bad Code C} + \label{code::CWE-119::Example4BadCodeC} \end{listing} +\FloatBarrier + However, this method only verifies that the given array index is less than the maximum length of the array but does not check for the minimum value (CWE-839). This will allow a negative value to be accepted as the input array index, which will result in a out of bounds read (CWE-125) and may allow access to sensitive memory. The input array index should be checked to verify that is within the maximum and minimum range required for the array (CWE-129). In this example the if statement should be modified to include a minimum range check, as shown below. \begin{listing}[htb] @@ -1124,94 +1209,65 @@ However, this method only verifies that the given array index is less than the m ... \end{minted} - \caption{Good Code} - %\label{code::context::examples::func-callee-c} + \caption{CWE-119: Example 4 Good Code C} + \label{code::CWE-119::Example4GoodCodeC} \end{listing} - -\subsection{Return Address Manipulation} -\label{context::common-mem-safety-mistakes::manifestations::ret-addr-manipulation} -\Cref{code::context::examples::sf-modification-simple} is a little example program in \gls{C}, which manipulates the return function address stored on the \gls{stack}. -This is done by simple and legal pointer arithmetic. -It abuses the address of the first local variable to create references into the \gls{sf} below on the \gls{stack}. -Since the first variable is in the beginning of the \gls{sf} of the called function, it can be used to guess the position of the return address on the \gls{stack}. -Depending on the \gls{compiler} settings, the return address is stored either one or two stack entries in front of the first local variable for a function with no arguments. -In a brute-force manner the program simply overwrites both entries with the address of \mintinline{c}{simple_printer}. -By writing a different function address at these entries, the \mintinline{c}{ret} instruction will jump there, since the original return address has been overwritten. - -\begin{figure}[ht!] -\begin{subfigure}[T]{0.60\textwidth} -\centering -\begin{minted}[linenos,breaklines]{c} -void modifier(void) { - uint64_t *p; - *(&p + 1) = - (uint64_t *)simple_printer; - *(&p + 2) = - (uint64_t *)simple_printer; -} -\end{minted} -\subcaption{C code} -\end{subfigure} -\begin{subfigure}[T]{0.39\textwidth} -\centering -\begin{minted}[linenos,breaklines]{objdump} -movabs rax,0x400690 -mov QWORD PTR [rsp],rax -mov QWORD PTR [rsp+0x8],rax -ret -\end{minted} -\subcaption{ASM code} -\end{subfigure} -\caption{Stack-Frame Modification} -\label{code::context::examples::sf-modification-simple} -\end{figure} - -\Cref{TODO-callstack-manipulation} is an attempt to visualize what happens in memory and with the \gls{stack} and the \gls{cpu}'s RIP {64-Bit Instruction Pointer} register. - -\begin{figure} - \includegraphics[width=\textwidth]{gfx/TODO-callstack-manipulation} - \caption{TODO-callstack-manipulation} - \label{TODO-callstack-manipulation} -\end{figure} \FloatBarrier -\subsection{Uninitialized Pointers} -\begin{lstlisting}[language=C, - directivestyle={\color{black}} - emph={int,char,double,float,unsigned}, - emphstyle={\color{blue}} - ] -char *src = "hello" ; // character string constant -char *dst; // unallocated -strcpy(dst, src); // segfault and die -\end{lstlisting} +\subsubsection{CWE-122: Heap-based Buffer Overflow} -\subsection{Null-Pointers} +\paragraph{Example 1} -\begin{lstlisting}[language=C, - directivestyle={\color{black}} - emph={int,char,double,float,unsigned}, - emphstyle={\color{blue}} - ] -char *ptr; -int ret; -if (ret = init_ptr(ptr)) { - return ret; -} +While buffer overflow examples can be rather complex, it is possible to have very simple, yet still exploitable, heap-based buffer overflows: +\begin{listing}[htb] + \begin{minted}[autogobble,linenos,breaklines=true]{c} + #define BUFSIZE 256 + int main(int argc, char **argv) { + char *buf; + buf = (char *)malloc(sizeof(char)*BUFSIZE); + strcpy(buf, argv[1]); + } + \end{minted} + \caption{CWE-120: Example 1 Bad Code C} + \label{code::CWE-122::Example1BadodeC} +\end{listing} +\FloatBarrier +The buffer is allocated heap memory with a fixed size, but there is no guarantee the string in argv[1] will not exceed this size and cause an overflow. -if (ptr == NULL) { - // gracefully handles the NP -} else { - // may assume that the ptr address is not NULL -} -\end{lstlisting} +\subsubsection{CWE-134: Use of Externally-Controlled Format String} + +\paragraph{Example 1} +The following program prints a string provided as an argument. +\begin{listing}[htb] + \begin{minted}[autogobble,linenos,breaklines=true]{c} + #include + + void printWrapper(char *string) { + printf(string); + } + + int main(int argc, char **argv) { + char buf[5012]; + memcpy(buf, argv[1], 5012); + printWrapper(argv[1]); + return (0); + } + \end{minted} + \caption{CWE-134: Example 1 Bad Code C} + \label{code::CWE-134::Example1BadodeC} +\end{listing} +\FloatBarrier +The example is exploitable, because of the call to printf() in the printWrapper() function. Note: The stack buffer was added to make exploitation more simple. + +\subsection{Heartbleet} +% TODO: paper about hearbleet with Rust \subsection{The Stack Clash} -\label{context::common-mem-safety-mistakes::manifestations::stack-clash} +\label{context::weaknesses-mem-safety::manifestations::stack-clash} A recent high severity vulnerability named \textit{Stack Clash}\cite{TheStackClash}, is briefly described as \textit{"a vulnerability in the memory management of several operating systems. It affects Linux, OpenBSD, NetBSD, FreeBSD and Solaris, on i386 and amd64. It can be exploited by attackers to corrupt memory and execute arbitrary code."} The \gls{LX} specific vulnerability is listed as CVE-2017-1000364\footnote{\url{http://www.cvedetails.com/cve/CVE-2017-1000364/}}, where \textit{"an issue was discovered in the size of the stack guard page on Linux, specifically a 4k stack guard page is not sufficiently large and can be "jumped" over (the stack guard page is bypassed)"}. -The vulnerability is assigned to the \citetitle{MITRE-CWE-119}\autocite{MITRE-CWE-119} presented in \cref{context::common-mem-safety-mistakes::cwe::119}. +The vulnerability is assigned to the \citetitle{MITRE-CWE-119}\autocite{MITRE-CWE-119} presented in \cref{context::weaknesses-mem-safety::cwe::119}. \subsubsection{Affecting Multiple OSs} The vulnerability is extremely interesting for several reasons. @@ -1242,65 +1298,95 @@ This effectively overlaps the stack and the heap and makes it possible to use ac The best case scenario is mere memory corruption and the crash of the application. In the worst case there's possible execution of arbitrary code, which can be by used by an attacker to gain control of the application and possibly the whole system. -\subsubsection{Solutions} +\subsubsection{Proposed Solutions} The researchers at \textit{qualys} suggest two solutions\cite[III]{TheStackClash}. The first proposed solution is to increase the guard page to 1MB or larger within the \gls{os}. This doesn't guarantee absolute protection as it still be possible to have a large enough stack growth that surpasses the 1MB guard. -The second solution doesn't involve the \gls{os} at all. -The suggestion is to compile all \glspl{app} on the system with the GCC \gls{compiler} option \mintinline{markdown}{`-fstack-check`}. +The second solution doesn't involve the \gls{os} but is about the userspace programs. +The suggestion is to compile all \glspl{app} on the system with the \gls{GCC}\cite{GCC540} with the \code{-fstack-check} option. This allegedly "prevents the stack-pointer from moving into another memory region without accessing the stack guard-page (it writes one word to every 4KB page allocated on the stack)." -This features seems interesting to investigate further, as stack protection is also something procedures within the \gls{os} could make use of. +Besides the mention of this option, there is no explanation of what the exact technical outcome is. +This is further investigated in \cref{rnd::weakness-mitig-eval::stack-protection}, as stack protection is also something procedures within the \gls{os} could make use of. -\chapter{Weakness Mitigation} +\chapter{Weakness Mitigation And Prevention Strategies} \label{context::weakness-mitigation} - -\section{Detecting Memory-Safety Violations ASAP} -\label{context::safe-os-dev::detecting-safety-violations-asap} -Given that it can not be prevented for individuals to type erroneous code into their code editors. +This chapter explains what can be done to mitigate and prevent software weaknesses, focusing on actions that can be taken by the developer. +The first step is to leverage the \gls{CWE}'s database with its suggestions. +With that information and the knowledge from previous chapters, it is then concluded that the choice of \gls{proglang} is significant for memory-safety in \gls{os} and \glspl{app}. -Ideally, the \gls{compiler} should be able to detect the programmers technical mistakes, especially the ones that have a negative impact on memory-safety. +\section{CWE-119 Mitigation Suggestions} +\label{context::weakness-mitigation::cwe-119-suggestions} +The \gls{CWE-119} lists mitigation attempts for these software life cycle phases: Requirements, Architecture and Design, Implementation, and Operation. -Advanced programmers can profit too, as everybody makes mistakes from time to time, depending on the level of focus which is not a constant. +For the requirements phase, \gls{CWE-119} suggests to "use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid". +Such languages "perform their own memory management are not subject to buffer overflows". -The human aspect suggests that systems needs to be designed to be testable, and then tested thoroughly in order to mitigate the risks of erroneous software being executed by the end-user. +This is followed by various other suggestions, of which the most relevant ones have been extracted into the following list. +This list serves as additional test criteria against \gls{Rust}, evaluated in \cref{rnd}. -In addition to the presence and quality of tests, their timing in the software life cycle plays an important role. -The earliest tests can be as soon as the process of software development itself, and the latest ones can be at the time of execution on the production system of the end-user. -It is desirable to place tests as early as possible in the software life cycle, to prevent them from compromising running systems that hold sensitive data and offer important services. +\begin{itemize} +\item{Architecture and Design - Use Libraries or Frameworks + Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. -This suggests that since the \gls{os} is lower in the hierarchy of system components at runtime, testing of the \gls{os} must happen regardless of specific \glspl{app} and development time. -Especially testing the \gls{os}'s internal states which can not be directly mutated via the \gls{api} exposed to the \glspl{app}. -To explain this from the \gls{app} perspective, testing the \gls{os} at runtime states is not plausible , because the \gls{app} can not freely mutate the system's state. -Even if it could, testing all possible permutations of system state in every possible \gls{app} would be highly redundant and nonetheless leaves the risk for untested edge cases that happen only under specific system circumstances, possibly influenced by other components on the system as described in the beginning of \cref{context::introduction::memory-safety}. -The \gls{app} developer is forced to trust the underlying \gls{os}. -This puts high importance on the safety of the \gls{os} design and implementation. + These libraries provide safer versions of overflow-prone string-handling functions: Safe C String Library (SafeStr) +} +\item{Build and Compilation - Hardened Compilation -\section{Software Tests} -% TODO: describe that tests are mostly semantics as opposed to static checks being mostly syntactical and technical -% TODO: Are they necessary in addition to static checks to cover the well-known use-cases and edge-cases. -% TODO: example? + Run or compile the software using features or extensions that automatically provide a protection mechanism that mitigates or eliminates buffer overflows. -\section{The Effects Of Programming Languages on Memory-Safety} -There are dozens of \glspl{proglang} used by humans to write \glspl{app}, but only a few are used to write \glspl{os}. -\cref{context::safe-os-dev::detecting-safety-violations-asap} explained that programming languages have direct impact on the memory-safety. -This section gives an example of how severe this impact is and explains the requirements on a \gls{os} language. + Examples: FORTIFY\_SOURCE GCC flag, StackGuard +} +\item{Implementation - + + Careful Buffer Handling: + \begin{itemize} + \item Double check that your buffer is as large as you specify. + \item When using functions that accept a number of bytes to copy, such as strncpy(), be aware that if the destination buffer size is equal to the source buffer size, it may not NULL-terminate the string. + \item Check buffer boundaries if accessing the buffer in a loop and make sure you are not in danger of writing past the allocated space. + \item If necessary, truncate all input strings to a reasonable length before passing them to the copy and concatenation functions. + \end{itemize} -\subsection{Abstraction Tradeoffs: Safety vs. Functionality} -\label{context::introduction::memory-safety::abstr-safety-function} + Use Functions That Support Bounds: + \begin{itemize} + \item Replace unbounded copy functions with analogous functions that support length arguments, such as strcpy with strncpy. + \item Create these if they are not available. + \end{itemize} +} +\item{Operation - Address Randomization + + Run or compile the software using features or extensions that randomly arrange the positions of a program's executable and libraries in memory. Because this makes the addresses unpredictable, it can prevent an attacker from reliably jumping to exploitable code. + + Examples: Address Space Layout Randomization (ASLR), Position-Independent Executables (PIE) +} +\end{itemize} + +\chapter{OS Development: Choice of Programming Language} +\label{context::os-dev-lang-choice} +There are dozens of \glspl{proglang} to write \glspl{app}, but only a few are viable for writing \glspl{os}. + +\section{Abstraction Trade Offs: Safety vs. Functionality} +\label{context::os-dev-lang-choice::abstraction-safety-functionality} In computer systems, safety and functionality are counter-proportional towards each other, because with increased functionality also grows complexity, and error cases become more difficult to find. -Applying this analogy to software development, during which the errors are created in the first place, might be misleading. +Applying this analogy to \glspl{proglang} might be misleading at first. It might seem that the more abstraction is provided by a language, the higher the available functionality is. In fact, the opposite is the case. -Abstraction can be used to impose limits on what the programmer can instruct the system to do. -By defining an abstraction layer in form of a programming language, the language defines which of the underlying functionality will be exposed through it. -, the language can introduce obligated rules that make the written program easier to analyze in an automated fashion, before it gets compiled into the underlying representation. -\section{Safety In Language Compilers And Static Analyzers} +Abstraction can be used to impose limits on what the programmer can instruct the system to do, which can reduce functionality and increase safety. +By defining an abstraction layer in form of a \gls{proglang}, the language defines which of the underlying functionality will be exposed through it. +The \gls{proglang} can be designed with obligated rules, that make the written source code easier to analyze in an automated fashion before it gets compiled to the underlying representation. -\chapter{Mitigation Attempts} -\section{Improving \glsentrytext{C}} +\section{Requirements} +\label{context::os-dev-lang-choice::requirements} +Criteria for the choice of \gls{proglang} are much different for an \gls{os} than for other types of \glspl{app} +The following are requirements can be identified + +\begin{itemize} + \item{TODO: see CWE suggestions} +\end{itemize} + +\section{Why not \glsentrytext{C}?} With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via \gls{compiler}-generated checks imposed at runtime. (TODO: reference). Static analysis are not very effective on a language that has not been designed to be safety-analyzed. TODO? reference? @@ -1309,78 +1395,32 @@ For this reason there have been attempts to define subsets of the \gls{C} langua Safety checks that are performed at runtime introduce a high degree of overhead, which makes it a nonviable option in the domain of \gls{os} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or tasks with \gls{realtime} requirements. (TODO: explain realtime requirements) This has been forcing \gls{os} developers to prioritize performance over safety. (TODO: reference) -Details about the challenge of writing code that does memory management safely, and related vulnerabilities are given further along in \cref{context::common-mem-safety-mistakes}. - -\section{Choice of Programming Language} -Criteria for the choice of programming language are much different from choosing a language for other types of \glspl{app}. - -This is a list of what is required for implementing an \glspl{os} - -\begin{itemize} - \item{Raw access to \gls{cpu} instructions} - \item{Deterministic temporal behavior} -\end{itemize} - -% TODO: put in some scientific background about static checks -% * affine types - -\chapter{Memory-Safety Analysis Techniques} -As per the previous \cref{context::common-mem-safety-mistakes} there is general awareness of the problems, and there has been ongoing effort to develop and improve techniques that assist the programmer to detect and avoid such mistakes first- or secondhand. - -\section{Static vs. Dynamic Analysis} -% TODO: explain first-/secondhand -> static/dynamic -> compile-time/runtime -> offline/online -% TODO: Explain static and dynamic checks - - -\section{Requirements} -* TODO: which knowledge is required to analyze access to memory? - -\section{Limitations} -* TODO: deadlock example - -\chapter{Introduction To Rust} -\label{context::rust} -Described by the maintainers, it is a "systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.", (www.rust-lang.org) - -\section{Compiler Architecture} -- TODO: Tokens? AST? LLVM? (http://embed.rs/articles/2016/arm-inline-assembly-rust/) -- TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4 - -\subsection{Static Analyser} -%TODO: mention electrolyte, formal verification for Rust - -\section{Language Features} -- TODO: How does static typing help with preventing programming errors -- TODO: How does the Rust's static analysis work, theoretically and practically -- TODO: How can memory be dynamically allocated and still safety checked? - -\subsection{Ownership And Borrows} -- TODO: Who owns global 'static variables? - - -\subsection{Lifetimes} -- TODO: Where are global 'static variables allocated? - -\subsection{Type Safety} -- TODO: how does casting work? -- TODO: demonstrate raw pointers -- TODO: what's the equivalent of void*? - -\subsection{Inner- and Outer Mutability} -- TODO: describe Rc, Arc, and {Ref,}Cell - -- https://nercury.github.io/rust/guide/2015/01/19/ownership.html - -\subsection{Zero-Cost Abstraction} - -\section{Language Extension} -\subsection{Syntax Extension} -\subsubsection{Macros} -\subsubsection{Annotations} -\subsection{Compiler Plugins} - -\section{Idioms And Patterns} - -\subsection{The Newtype Pattern} -https://aturon.github.io/features/types/newtype.html +\begin{markdown} +# Flow of Reasoning +* How to mitigate distributed weaknesses + - Don't distribute vulnerable software + - Produce less vulnerabilities + OR + - Detect vulnerabilities +* How to prevent vulnerabilities distribution? + - Human to make less mistakes; NOT VIABLE, see human aspect. + - Detect them before the \gls{app} is installed; see time aspect +* How to detect vulnerabilities + - Write runtime tests for the program + - Analyze the source code +* Runtime Tests + - Runs on every execution, thus wastes \gls{cpu} resources + - Program needs to handle it + -> Slow and too late in the software life cycle! +* Source Code Analysis + - Difficult for low-level code, would require hardware knowledge + - Compilers are source code analysers by nature + - Additional tools can help, but this takes more effort + -> chose a compiler with high analysis standards +* Choice of Compiler: Language Dependent + - C: Safe C, Cyclone, etc.: define sub language that is analyzable. MEH + - Rust: designed to be analyzable. WIN! +* Rust + - Can the analyzes be extended to suite OS dev? +\end{markdown} diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index fb871c2..5e0575a 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -7,7 +7,6 @@ % TLB needs to be reset on Task Change % ISR-Stack-Frame needs to be updated on context-switch - \section{Software Fault Isolation} % TODO: content from \cite{Balasubramanian2017} @@ -19,20 +18,138 @@ % TODO * Tasks can't access unallocated (physical) memory % TODO * Tasks can't access other tasks memory +\chapter{An Introduction To Rust} +\label{context::rust} +Described by the maintainers, it is a "systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.", (www.rust-lang.org) -\chapter{Porting \glsentrytext{C} Vulnerabilities} -\label{rnd::porting-c-vulns} -In this chapter, the weakness manifestations given in \cref{context::common-mem-safety-mistakes::manifestations} are rewritten in \gls{Rust} to examine if these are mitigated just by porting them. +\section{Compiler Architecture} +- TODO: Tokens? AST? LLVM? (http://embed.rs/articles/2016/arm-inline-assembly-rust/) + +- TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4 + +\subsection{Static Analyser} +- TODO: mention electrolyte, formal verification for Rust + +\section{Language Features} +- TODO: How does static typing help with preventing programming errors + +- TODO: How does the Rust's static analysis work, theoretically and practically + +- TODO: How can memory be dynamically allocated and still safety checked? + +\subsection{Ownership And Borrows} +- TODO: Who owns global 'static variables? + + +\subsection{Lifetimes} +- TODO: Where are global 'static variables allocated? + +\subsection{Type Safety} +- TODO: demonstrate casts + +- TODO: demonstrate raw pointers + +- TODO: discuss the equivalents of void*? + +\subsection{Inner- and Outer Mutability} +- TODO: describe Rc, Arc, and {Ref,}Cell + +- https://nercury.github.io/rust/guide/2015/01/19/ownership.html + +\subsection{Zero-Cost Abstraction} +\section{Language Extension} +\subsection{Syntax Extension} +\subsubsection{Macros} +\subsubsection{Annotations} +\subsection{Compiler Plugins} + +\section{Idioms And Patterns} + +\subsection{The Newtype Pattern} +https://aturon.github.io/features/types/newtype.html + +\section{Limitations} +* TODO: deadlock example +* TODO: cyclic reference memory leak example + +\chapter{Weakness Mitigation Evaluation} +\label{rnd::weakness-mitig-eval} + +\section{CWE Mitigation Suggestions Evaluation} +\label{rnd::weakness-mitig-eval::cwe-mitig-suggestion-eval} + +\section{Porting \glsentrytext{C} Vulnerabilities} +\label{rnd::weakness-mitig-eval::porting-c-vulns} + +In this chapter, the weakness manifestations given in \cref{context::weaknesses-mem-safety::manifestations} are rewritten in \gls{Rust} to examine if these are mitigated just by porting them. This is done incrementally by first porting the vulnerability to unsafe Rust, followed by a rewrite to drop all unsafe code but keeping the intended functionality. % TODO official CWE-119 examples +\section{Stack Protection} +\label{rnd::weakness-mitig-eval::stack-protection} +The goal of this chapter is to learn about \gls{Rust}'s stack protection mechanisms. + +\subsection{Return Address Manipulation Experiments} +\label{rnd::weakness-mitig-eval::stack-protection::ret-addr-experiments} +The following manifestations are minimal constructions, supposedly to easy to understand. +They should allow to get a grasp of what vulnerabilities might look like, and at the same time display weaknesses of the \gls{C} language. + +\Cref{code::context::examples::sf-modification-simple} is a little example program in \gls{C}, which manipulates the return function address stored on the \gls{stack}. +This is done by simple and legal pointer arithmetic. +It abuses the address of the first local variable to create references into the \gls{sf} below on the \gls{stack}. +Since the first variable is in the beginning of the \gls{sf} of the called function, it can be used to guess the position of the return address on the \gls{stack}. +Depending on the \gls{compiler} settings, the return address is stored either one or two stack entries in front of the first local variable for a function with no arguments. +In a brute-force manner the program simply overwrites both entries with the address of \code{simple_printer}. +By writing a different function address at these entries, the \code{ret} instruction will jump there, since the original return address has been overwritten. + +\begin{figure}[ht!] +\begin{subfigure}[T]{0.60\textwidth} +\centering +\begin{minted}[linenos,breaklines]{c} +void modifier(void) { + uint64_t *p; + *(&p + 1) = + (uint64_t *)simple_printer; + *(&p + 2) = + (uint64_t *)simple_printer; +} +\end{minted} +\subcaption{C code} +\end{subfigure} +\begin{subfigure}[T]{0.39\textwidth} +\centering +\begin{minted}[linenos,breaklines]{objdump} +movabs rax,0x400690 +mov QWORD PTR [rsp],rax +mov QWORD PTR [rsp+0x8],rax +ret +\end{minted} +\subcaption{ASM code} +\end{subfigure} +\caption{Stack-Frame Modification in C} +\label{code::context::examples::sf-modification-simple} +\end{figure} + +\Cref{TODO-callstack-manipulation} is an attempt to visualize what happens in memory and with the \gls{stack} and the \gls{cpu}'s RIP {64-Bit Instruction Pointer} register. + +\begin{figure} + \includegraphics[width=\textwidth]{gfx/TODO-callstack-manipulation} + \caption{TODO-callstack-manipulation} + \label{TODO-callstack-manipulation} +\end{figure} +\FloatBarrier + +\subsection{Rust and the Stack Clash} +\label{rnd::weakness-mitig-eval::stack-protection::rust-stack-clash} +This subsection determines if \gls{Rust} can solve the issue described in \cpnameref{context::weaknesses-mem-safety::manifestations::stack-clash} from userspace and \gls{os} perspectives. + +% TODO https://github.com/rust-lang/rust/issues/16012 + \chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} +The numerous \gls{LX} vulnerabilities are a great motivator for using \gls{Rust} for \gls{LX} drivers. +This chapter presents the attempt to use \gls{Rust} for a simple buffer that is presented to userspace as a character device. -\chapter{Stack Protection} -The goal of this chapter is to learn about \gls{Rust}'s stack protection mechanisms, and determine if it can help with the issue described in \cnameref{context::common-mem-safety-mistakes::manifestations::stack-clash}. - -% TODO stack frame manipulation example - +- TODO: explain the difficulty to use the Kernel's C Macros, which are required to expose a character device \chapter{Existing \glsentrytext{os}-Development Projects Based On Rust} \label{rnd::existing-os-dev-with-rust} diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index febbd8c..bc8745d 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,11 +3,14 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@misc{TheStackClash, -author = {Advisory, Qualys Security}, -file = {:home/steveej/src/steveej/msc-thesis/docs/stack-clash.txt:txt}, -title = {{The Stack Clash}}, -url = {https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt} +@article{GCC540, +abstract = {This manual documents how to use the GNU compilers, as well as their features and incom- patibilities, and how to report bugs. It corresponds to the compilers (GCC) version 5.4.0. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. See Section Introduction in GNU Compiler Collection (GCC) Internals.}, +author = {Stallman, Richard M}, +file = {:home/steveej/src/steveej/msc-thesis/docs/gcc-5.4.0.pdf:pdf}, +isbn = {188211437X}, +journal = {Development}, +title = {{Using the GNU Compiler Collection}}, +url = {https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gcc.pdf} } @article{Lattner2005, abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, @@ -182,6 +185,12 @@ title = {{Code-pointer integrity}}, url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, year = {2014} } +@misc{TheStackClash, +author = {Advisory, Qualys Security}, +file = {:home/steveej/src/steveej/msc-thesis/docs/stack-clash.txt:txt}, +title = {{The Stack Clash}}, +url = {https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt} +} @article{Caballero2012, abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 477264b..f212236 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -43,8 +43,14 @@ \usetikzlibrary{chains,shapes.arrows, arrows, positioning,decorations.pathreplacing,bending} \usetikzlibrary{calc} \usetikzlibrary{matrix,shapes,arrows,positioning} +\usetikzlibrary{shapes.geometric, arrows} +\usetikzlibrary{chains,arrows.meta,decorations.pathmorphing,quotes} \usepackage{smartdiagram} +\usesmartdiagramlibrary{additions} \usepackage{color} +\usepackage[definitionLists,hashEnumerators,smartEllipses,hybrid]{markdown} +%\usepackage[fencedCode,inlineFootnotes,citations,definitionLists,hashEnumerators,smartEllipses,hybrid]{markdown} + \tikzset{/minted/basename/.initial=minted} \appto\theFancyVerbLine{\tikzmark{\pgfkeysvalueof{/minted/basename}\arabic{FancyVerbLine}}} @@ -128,6 +134,9 @@ \newcommand{\cnameref}[1]{\cref{#1} \textit{(\nameref{#1})}} \newcommand{\Cnameref}[1]{\Cref{#1} \textit{(\nameref{#1})}} +\newcommand{\cpnameref}[1]{\cref{#1} \textit{(\nameref{#1}, \cpageref{#1})}} +\newcommand{\Cpnameref}[1]{\Cref{#1} \textit{(\nameref{#1}, \cpageref{#1})}} + \newcommand{\cnamepref}[1]{\cref{#1} \textit{(\nameref{#1}, \cpageref{#1})}} \newcommand{\Cnamepref}[1]{\Cref{#1} \textit{(\nameref{#1}, \cpageref{#1})}} From 67731a9042a2aecf0e753daa5cde9f14e545b78e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Sun, 24 Sep 2017 12:01:38 +0200 Subject: [PATCH 121/126] rnd: add rust stack manipulation attempt --- src/code/stack_handling.c/stack_handling.c | 10 ++ src/code/stack_handling.rs/src/main.rs | 26 ++++- .../research_and_development.tex | 103 ++++++++++++++---- 3 files changed, 116 insertions(+), 23 deletions(-) diff --git a/src/code/stack_handling.c/stack_handling.c b/src/code/stack_handling.c/stack_handling.c index a364397..0e7f7d2 100644 --- a/src/code/stack_handling.c/stack_handling.c +++ b/src/code/stack_handling.c/stack_handling.c @@ -55,11 +55,21 @@ static void modifier(void) { *(&p + 2) = (uint64_t *)simple_printer; } +static void modifier_indexed(uint64_t *p) { + // without frame-pointer + (&p)[1] = (uint64_t *)simple_printer; + + // with frame-pointer + (&p)[2] = (uint64_t *)simple_printer; +} + int main(void) { // caller(); // many_args(0xfffffffffffffff0, 0xfffffffffffffff1, 0xfffffffffffffff3, // 0xfffffffffffffff4, 0xfffffffffffffff5, 0xfffffffffffffff6, // 0xfffffffffffffff7); + // modifier_indexed(NULL); modifier(); + fprintf(stderr, "main exiting"); return 0; } \ No newline at end of file diff --git a/src/code/stack_handling.rs/src/main.rs b/src/code/stack_handling.rs/src/main.rs index 2054f6c..832aa5d 100644 --- a/src/code/stack_handling.rs/src/main.rs +++ b/src/code/stack_handling.rs/src/main.rs @@ -84,9 +84,31 @@ fn caller() { #[inline(never)] fn printer(a: &isize, b: &isize) { - println!("2*{}={}", a, b); + println!("2*{}={}", a, b) +} + +#[inline(never)] +fn modifier() { + let mut sp: usize = 0xdeadbeef; + let addr = &mut sp as *mut usize; + // println!("{:p} {}", sp, addr as usize + 0x38); + // unsafe { + // std::ptr::write(sp.offset(4).as_mut().unwrap(), simple_printer); + // } + + unsafe { + std::ptr::write((addr as usize + 0x40) as *mut usize, + simple_printer as usize); + } +} + +#[inline(never)] +#[allow(dead_code)] +fn simple_printer() { + println!("I wonder who called me") } fn main() { - caller(); + modifier(); + println!("main exiting") } \ No newline at end of file diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index 5e0575a..7bab4b6 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -91,32 +91,57 @@ The goal of this chapter is to learn about \gls{Rust}'s stack protection mechani \subsection{Return Address Manipulation Experiments} \label{rnd::weakness-mitig-eval::stack-protection::ret-addr-experiments} -The following manifestations are minimal constructions, supposedly to easy to understand. -They should allow to get a grasp of what vulnerabilities might look like, and at the same time display weaknesses of the \gls{C} language. +Return address manipulation is a dangerous stack manipulation as it changes control flow of the program without explicit function calls. +First a \gls{C} example demonstrates the issue, then a \gls{Rust} port is attempted. -\Cref{code::context::examples::sf-modification-simple} is a little example program in \gls{C}, which manipulates the return function address stored on the \gls{stack}. -This is done by simple and legal pointer arithmetic. +\begin{figure}[ht!] +\begin{minted}[linenos,breaklines]{c} +static void simple_printer(void) { fprintf(stderr, "I wonder who called me?"); } +void modifier(void) { + uint64_t *p; + *(&p + 1) = (uint64_t *)simple_printer; + *(&p + 2) = (uint64_t *)simple_printer; +} +int main(void) { + modifier(); + fprintf(stderr, "main exiting"); + return 0; +} +\end{minted} +\caption{Stack-Frame Modification in C} +\label{code::context::examples::sf-modification-simple-c} +\end{figure} + +\Cref{code::context::examples::sf-modification-simple-c} is a little example program in \gls{C}, which manipulates the return function address stored on the \gls{stack}. +This is done by simple and legal in \gls{C} pointer arithmetic. It abuses the address of the first local variable to create references into the \gls{sf} below on the \gls{stack}. Since the first variable is in the beginning of the \gls{sf} of the called function, it can be used to guess the position of the return address on the \gls{stack}. Depending on the \gls{compiler} settings, the return address is stored either one or two stack entries in front of the first local variable for a function with no arguments. In a brute-force manner the program simply overwrites both entries with the address of \code{simple_printer}. By writing a different function address at these entries, the \code{ret} instruction will jump there, since the original return address has been overwritten. +The result of running this program will be \textit{I wonder who called me?Segmentation fault}. + +\Cref{code::context::examples::sf-modification-simple-c-asm} shows the Assembly code of the \code{modifier} function from two different compilation runs. +One version makes use of the RBP register as the \gls{sf} Base-Pointer, and the other relies solely on the Stack-Pointer (RSP) for referencing \gls{sf} variables. +The RBP register is push onto the \gls{stack} in the function-prologue and restored in the function-epilogue, which takes up one \gls{stack} entry. + \begin{figure}[ht!] -\begin{subfigure}[T]{0.60\textwidth} +\begin{subfigure}[T]{0.49\textwidth} \centering -\begin{minted}[linenos,breaklines]{c} -void modifier(void) { - uint64_t *p; - *(&p + 1) = - (uint64_t *)simple_printer; - *(&p + 2) = - (uint64_t *)simple_printer; -} +\begin{minted}[linenos,breaklines]{objdump} +push rbp +mov rbp,rsp +movabs rax,0x400690 +mov QWORD PTR [rbp+0x0],rax +mov QWORD PTR [rbp+0x8],rax +pop rbp +ret +nop DWORD PTR [rax+rax*1+0x0] \end{minted} -\subcaption{C code} +\caption{Compiled with \code{-fno-omit-frame-pointer}} \end{subfigure} -\begin{subfigure}[T]{0.39\textwidth} +\begin{subfigure}[T]{0.49\textwidth} \centering \begin{minted}[linenos,breaklines]{objdump} movabs rax,0x400690 @@ -124,10 +149,10 @@ mov QWORD PTR [rsp],rax mov QWORD PTR [rsp+0x8],rax ret \end{minted} -\subcaption{ASM code} +\subcaption{Compiled with \code{-fomit-frame-pointer}} \end{subfigure} -\caption{Stack-Frame Modification in C} -\label{code::context::examples::sf-modification-simple} +\caption{Stack-Frame Modification in C: Assembly} +\label{code::context::examples::sf-modification-simple-c-asm} \end{figure} \Cref{TODO-callstack-manipulation} is an attempt to visualize what happens in memory and with the \gls{stack} and the \gls{cpu}'s RIP {64-Bit Instruction Pointer} register. @@ -139,6 +164,36 @@ ret \end{figure} \FloatBarrier +\paragraph{Porting the above to Rust} + +\begin{figure}[ht!] +\begin{minted}[linenos,breaklines]{rust} +... +#[inline(never)] +fn modifier() { + let mut sp: usize = 0xdeadbeef; + let addr = &mut sp as *mut usize; + + unsafe { + std::ptr::write((addr as usize + 0x30) as *mut usize, + simple_printer as usize); + } +} +... +\end{minted} +\caption{Stack-Frame Modification \emph{attempt} in Rust} +\label{code::examples::sf-modification-simple-rust} +\end{figure} + +\cref{code::examples::sf-modification-simple-rust} shows the return instruction modification attempt in Rust. +Note that the hard-coded offset is \code{0x30}, which was individually calculated from the Assembly output. +Things to note: +\begin{itemize} + \item The above source code compiles + \item \code{unsafe} is required for writing to any raw pointers + \item For some reason the manipulation did not succeed. +\end{itemize} + \subsection{Rust and the Stack Clash} \label{rnd::weakness-mitig-eval::stack-protection::rust-stack-clash} This subsection determines if \gls{Rust} can solve the issue described in \cpnameref{context::weaknesses-mem-safety::manifestations::stack-clash} from userspace and \gls{os} perspectives. @@ -159,12 +214,18 @@ This chapter presents the attempt to use \gls{Rust} for a simple buffer that is \subsection{Libfringe} % TODO: https://github.com/edef1c/libfringe + \section{Systems} \subsection{intermezzOS} \subsection{Blog OS} -\subsection{Redox} -\subsection{Tock} -%TODO: mention paper's by tockos team +\subsection{Redox OS} +\subsection{Tock OS} +Tock OS is "an embedded operating system designed for running multiple concurrent, mutually distrustful applications on low-memory and low-power microcontrollers."\footnote{\url{https://www.tockos.org/}} + +In retrospection about their paper \citetitle{Levy2015a}\cite{Levy2015a} which reported on challenges they ran into early on building Tock in Rust, they state today: +"After feedback from the Rust developers and the community, we were able to overcome those challanges without modifications to the language. We also learned that we understated how disruptive some of the changes we proposed would be to the language and do not believe they are worthwhile. This has been discussed extensively now in the Rust community. You should read this paper critically, not as conclusive scientific findings, but as the perspectives of the authors during a particular point in the development of Tock."\footnote{\url{https://www.tockos.org/papers/}} + +- TODO: shortly describe their initial issues with Rust \chapter{\glsentrytext{imezzos}: Adding Preemptive \glsentrytext{os}-Level Multitasking} \label{rnd::imezzos-preemptive-multitasking} From a83f56e30e6cbbeae82d7a190ef87614f9fd6974 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 29 Sep 2017 05:51:24 +0200 Subject: [PATCH 122/126] llc-arglist: simple LLVM API cmdline tool --- src/code/llc-arglist/arglist.cc | 12 ++++++++++++ src/code/llc-arglist/run.sh | 2 ++ 2 files changed, 14 insertions(+) create mode 100644 src/code/llc-arglist/arglist.cc create mode 100755 src/code/llc-arglist/run.sh diff --git a/src/code/llc-arglist/arglist.cc b/src/code/llc-arglist/arglist.cc new file mode 100644 index 0000000..8780ca4 --- /dev/null +++ b/src/code/llc-arglist/arglist.cc @@ -0,0 +1,12 @@ +#include "llvm/Support/CommandLine.h" + +using namespace llvm; + +/* + * Call with `--help-list-hidden` as argument to get a full list + */ +int main(int argc, char** argv) { + cl::ParseCommandLineOptions(argc, argv, ""); + + return 0; +} diff --git a/src/code/llc-arglist/run.sh b/src/code/llc-arglist/run.sh new file mode 100755 index 0000000..8755f10 --- /dev/null +++ b/src/code/llc-arglist/run.sh @@ -0,0 +1,2 @@ +g++ arglist.cc -o arglist -std=gnu++11 -lLLVM-4.0.1 +./arglist "$@" From f57961fb84dcc92ef64c77181b25ab4a9e0ced3d Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 29 Sep 2017 05:52:16 +0200 Subject: [PATCH 123/126] context:done/rnd:almsot done/eac:stub --- src/code/llc-arglist/run.sh | 2 +- src/code/stack_handling.c/makefile | 7 +- src/code/stack_handling.c/stack_handling.c | 19 +- src/code/stack_handling.rs/Cargo.toml | 3 + src/code/stack_handling.rs/src/main.rs | 50 +- src/docs/glossary.tex | 108 +- src/docs/parts/context/context.tex | 355 +++-- .../eval_and_conclusion.tex | 77 +- .../research_and_development.tex | 1318 +++++++++++++++-- src/docs/thesis.bib | 556 ++++--- src/docs/thesis.tex | 31 +- 11 files changed, 1999 insertions(+), 527 deletions(-) diff --git a/src/code/llc-arglist/run.sh b/src/code/llc-arglist/run.sh index 8755f10..62c098e 100755 --- a/src/code/llc-arglist/run.sh +++ b/src/code/llc-arglist/run.sh @@ -1,2 +1,2 @@ g++ arglist.cc -o arglist -std=gnu++11 -lLLVM-4.0.1 -./arglist "$@" +./arglist --help-list-hidden diff --git a/src/code/stack_handling.c/makefile b/src/code/stack_handling.c/makefile index c8b1fa9..d9a25ad 100644 --- a/src/code/stack_handling.c/makefile +++ b/src/code/stack_handling.c/makefile @@ -1,7 +1,7 @@ TARGET = stack_handling LIBS = -CC = clang -CFLAGS = -Wall -fomit-frame-pointer +CC = gcc +CFLAGS = -Wall -fomit-frame-pointer -fstack-check #-fsanitize=address .PHONY: default all clean @@ -9,7 +9,7 @@ default: $(TARGET) all: default objdump OBJECTS = $(patsubst %.c, %.o, $(wildcard *.c)) -HEADERS = $(wildcard *.h) +HEADERS = $(wildcard *.h)GG %.o: %.c $(HEADERS) $(CC) $(CFLAGS) -c $< -o $@ @@ -22,7 +22,6 @@ $(TARGET): $(OBJECTS) clean: -rm -f *.o -rm -f $(TARGET) - -rm -f objdump objdump: $(TARGET) objdump --no-show-raw-insn --disassembler-options=intel-nmemonic -d $(TARGET) > $@ \ No newline at end of file diff --git a/src/code/stack_handling.c/stack_handling.c b/src/code/stack_handling.c/stack_handling.c index 0e7f7d2..8a3f7d9 100644 --- a/src/code/stack_handling.c/stack_handling.c +++ b/src/code/stack_handling.c/stack_handling.c @@ -39,9 +39,17 @@ static void caller(void) { printer(&a, &b); } -static void shell() { - char *argv[] = {}; - execve("/bin/sh", argv, NULL); +static int *grow_stack(int size) { + int a[size]; + for (int i = 0; i < size; i++) { + a[i] = 0; + } + return a; +} + +static int64_t *large_stack() { + uint64_t a[100000000]; + return a; } static void simple_printer(void) { fprintf(stderr, "I wonder who called me?"); } @@ -49,7 +57,7 @@ static void simple_printer(void) { fprintf(stderr, "I wonder who called me?"); } static void modifier(void) { uint64_t *p; // without frame-pointer - *(&p + 1) = (uint64_t *)simple_printer; + // *(&p + 1) = (uint64_t *)simple_printer; // with frame-pointer *(&p + 2) = (uint64_t *)simple_printer; @@ -69,7 +77,8 @@ int main(void) { // 0xfffffffffffffff4, 0xfffffffffffffff5, 0xfffffffffffffff6, // 0xfffffffffffffff7); // modifier_indexed(NULL); - modifier(); + // modifier(); + large_stack(); fprintf(stderr, "main exiting"); return 0; } \ No newline at end of file diff --git a/src/code/stack_handling.rs/Cargo.toml b/src/code/stack_handling.rs/Cargo.toml index cd78041..025cb7f 100644 --- a/src/code/stack_handling.rs/Cargo.toml +++ b/src/code/stack_handling.rs/Cargo.toml @@ -7,4 +7,7 @@ build = "build.rs" [dependencies] [profile.dev] +panic = "abort" + +[profile.release] panic = "abort" \ No newline at end of file diff --git a/src/code/stack_handling.rs/src/main.rs b/src/code/stack_handling.rs/src/main.rs index 832aa5d..71db1d8 100644 --- a/src/code/stack_handling.rs/src/main.rs +++ b/src/code/stack_handling.rs/src/main.rs @@ -1,3 +1,6 @@ +#![feature(naked_functions)] +#![deny(unconditional_recursion)] + // #[derive(Debug)] // struct Stat { // sum: isize, @@ -89,26 +92,41 @@ fn printer(a: &isize, b: &isize) { #[inline(never)] fn modifier() { - let mut sp: usize = 0xdeadbeef; - let addr = &mut sp as *mut usize; - // println!("{:p} {}", sp, addr as usize + 0x38); - // unsafe { - // std::ptr::write(sp.offset(4).as_mut().unwrap(), simple_printer); - // } - + let v: usize = 0; + let v_addr = (&v as *const usize) as usize; unsafe { - std::ptr::write((addr as usize + 0x40) as *mut usize, - simple_printer as usize); + *((v_addr + 1 * 8) as *mut usize) = simple_printer as usize; } } -#[inline(never)] -#[allow(dead_code)] +#[naked] fn simple_printer() { - println!("I wonder who called me") + eprint!("I wonder who called me?"); } -fn main() { - modifier(); - println!("main exiting") -} \ No newline at end of file +#[inline(never)] +fn huge_stack() { + const SLICE_LENGTH: usize = 0x100000000; + let slice: [u64; SLICE_LENGTH] = [0xdeadbeef; SLICE_LENGTH]; + let slice_start_addr = &slice[0] as *const u64; + let slice_end_addr = &slice[SLICE_LENGTH - 1] as *const u64; + println!("{:?} - {:?} = {:?}", + slice_start_addr, + slice_end_addr, + (slice_end_addr as usize - slice_start_addr as usize) / std::mem::size_of::()); +} + +// fn recurse(n: u64) { + // recurse(n + 1); +// } + +fn a() { a(); } +fn main() { a(); } + + + +// fn main() { + // // modifier(); + // huge_stack(); + // println!("main exiting") +// } \ No newline at end of file diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index 78a889d..afa8a44 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -11,9 +11,38 @@ \newglossaryentry{Rust} { name = {Rust}, - long = {the Rust programming language}, + long = {The Rust programming language}, description = {% - Statically typed programming language that uses a new concept of variable ownership and reference tracking. Largely explain in \cref{context::rust}. + Statically typed programming language that uses a new concept of variable ownership and reference tracking. Largely explain in \cref{rnd::rust}. + }, + first = {\glsentrylong{Rust}} +} + +\newglossaryentry{rustc}{ + name = rustc, + long = {The Rust compiler}, + description = {% + This program is a compiler for the Rust language (man rustc). + }, + first = {\glsentrylong{rustc}}, +} + +\newglossaryentry{cargo} { + name = {cargo}, + long = {The Rust package manager}, + description = {% + This program is a package manager for the Rust language (man cargo). + It is also a wrapper for the Rust compiler. + It is also a management tool for Rust source code projects, and simplifies the initialization of project directories, the build of the source code and the run of the compiled binary. + }, + first = {\glsentrylong{Rust}} +} + +\newglossaryentry{xargo} { + name = {xcargo}, + long = {The Cross-Compilation wrapper for cargo}, + description = {% + Wrapper for cargo to simplify cross-compilation. }, first = {\glsentrylong{Rust}} } @@ -46,6 +75,27 @@ first = {\glsentrylong{GCC}} } +\newglossaryentry{llvm}{ + name = LLVM, + long = {Low Level Virtual Machine}, + description = {% + A Virtual Instruction Set and Compilation Framework. + The key idea in LLVM is to use a rich virtual instruction set (instead of raw machine code) as the object code representation manipulated by link-time and post-link optimizers and code generators.\cite{Kowshik2002}. + }, + first = {\glsentrylong{clang}} +} + + +\newglossaryentry{clang}{ + name = Clang, + long = {C Language frontendend for LLVM}, + description = {% + The goal of the Clang project is to create a new C based language front-end: C, C++, Objective C/C++, OpenCL C and others for the LLVM compiler. You can get and build the source today. + \url{http://clang.llvm.org/} + }, + first = {\glsentrylong{clang}} +} + \newglossaryentry{addrspace}{ name = address space, long = bound address range in memory, @@ -146,9 +196,16 @@ plural=Linuces } +\newglossaryentry{microkernel}{ + name = microkernel, + description = {% + Kernel design that operates most drivers in userland, and only provides bare minimum functionality in kernel mode for glueing the drivers together. + }, +} + \newglossaryentry{android}{ name = Android, - description = {a mobile \gls{os} based on \gls{LX}}, + description = {an open-source mobile \gls{os} based on \gls{LX}}, first = {\glsentryname{android}, \glsentrydesc{android}}, } @@ -302,8 +359,10 @@ \newglossaryentry{NVD}{ name = {NVD}, - description = {https://nvd.nist.gov/}, - long = {National Vulnerability Database}, + description = { + The NVD is the U.S. government repository of standards based vulnerability management data represented using the Security Content Automation Protocol (SCAP). This data enables automation of vulnerability management, security measurement, and compliance. The NVD includes databases of security checklist references, security related software flaws, misconfigurations, product names, and impact metrics.\cite{NVD} + }, + long = {\citetitle{NVD}}, first = {\glsentrylong{NVD}} } @@ -324,7 +383,28 @@ name = CWE-119, long = {CWE-119: \glsentrydesc{CWE-119}}, description = {Improper Restriction of Operations within the Bounds of a Memory Buffer}, - first = {\glsentrylong{CWE-119}\cite{MITRE-CWE-119}} + first = {\glsentrytext{CWE-119}\cite{MITRE-CWE-119}} +} + +\newglossaryentry{CWE-635}{ + name = CWE-635, + long = {\glsentrydesc{CWE-635}}, + description = {\citetitle{MITRE-CWE-635}}, + first = {\glsentrytext{CWE-635}\cite{MITRE-CWE-635}} +} + +\newglossaryentry{CWE-122}{ + name = CWE-122, + long = {\glsentrydesc{CWE-122}}, + description = {\citetitle{MITRE-CWE-122}}, + first = {\glsentrytext{CWE-122}\cite{MITRE-CWE-122}} +} + +\newglossaryentry{CWE-134}{ + name = CWE-134, + long = {\glsentrydesc{CWE-134}}, + description = {\citetitle{MITRE-CWE-134}}, + first = {\glsentrytext{CWE-134}\cite{MITRE-CWE-134}} } \newglossaryentry{C}{ @@ -376,15 +456,23 @@ first = {\glsentrylong{tlb}}, } -\newglossaryentry{MMU}{ +\newglossaryentry{mmu}{ name = MMU, long = Memory Management Unit, description = {% - TODO MMU + Physical part of the \gls{cpu} equipped for managing the system's memory. }, first = {\glsentrylong{MMU}}, } +\newglossaryentry{vaddr}{ + name = virtual address, + plural = virtual addresses, + description = {% + Memory Addresses that does not reference physical memory directly, but is part of a memory virtualization scheme. + }, +} + \newglossaryentry{sysadmin}{ name = System Administrator , description = {% @@ -395,7 +483,7 @@ \newglossaryentry{realtime}{ name = realtime , description = {% - TODO realtime + In computer science realtime refers to guaranateed execution within specified time boundaries. } } @@ -410,7 +498,7 @@ name = task , description = {% Generic term for any unit of work to be executed on the. - In the context of this thesis, it may be used for any of \glsentrytext{program}, \glsentrytext{process}, \glsentrytext{thread}. + In the context of this study, it may be used for any of \glsentrytext{program}, \glsentrytext{process}, \glsentrytext{thread}. } } diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index a1f7c6c..d0009e1 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -1,7 +1,7 @@ % // vim: set ft=tex: \chapter{Introduction} \label{context::introduction} -This thesis studies the feasibility of using compile-time code analysis, as found in \gls{Rust}'s \gls{compiler}, for ensuring memory-safety within an \gls{os} kernel. +This document contains a study on the feasibility of using compile-time code analysis, as found in \gls{Rust}'s \gls{compiler}, for ensuring memory-safety within an \gls{os} kernel. This study could be applied to all \glspl{app}, but the focus is on the implementation of \glspl{os} which is the \gls{app} that is responsible for managing the system's resources and provide abstractions for all other \glspl{app}. For this the \gls{os} is the only \gls{app} that required unrestricted access to these resources, with the responsibility of managing them safely according to the rules that are either hard-coded or set up by the \gls{sysadmin}. @@ -14,8 +14,8 @@ The increasing number of vulnerabilities based on memory-safety issues in \glspl % A hypothesis is a testable prediction for an observed phenomenon, namely, the gap in the knowledge. Each research question will have both a null and an alternative hypothesis in a quantitative study. Qualitative studies do not have hypotheses. The two hypotheses should follow the research question upon which they are based. Hypotheses are testable predictions to the gap in the knowledge. In a qualitative study the hypotheses are replaced with the primary research questions. According to my best-effort literature research in Q1/2017, the hypothesis that \textit{Rust's static code analysis can guarantee memory safety in the \gls{os}} has not been studied explicitly. -This is to my surprise, because as explained in \cref{context::introduction::memory-safety}, memory-safety in \gls{os} development is critical, and \gls{Rust} offers attractive features that might bring improvements, which is covered in \cref{context::rust}. -The hypothesis cannot be trivially approved or denied, which drives the research efforts for my final thesis project. +This is to my surprise, because as explained in \cref{context::introduction::memory-safety}, memory-safety in \gls{os} development is critical, and \gls{Rust} offers attractive features that might bring improvements, which is covered in \cref{rnd::rust}. +The hypothesis cannot be trivially approved or denied, which drives the research efforts for my final study project. Besides this specific hypothesis, many implementations of \glspl{os} with \gls{Rust} have appeared in public. Their purposes range from proof-of-concept and educational work like \gls{imezzos} and \gls{blogos}, to implementations that aim to be production grade software like \gls{redoxos} and \gls{tockos} \cite{Levy2015a}. @@ -26,7 +26,7 @@ In addition to the sole analysis of \gls{Rust}-implementations, comparisons will \section{What is Memory-Safety?} \label{context::introduction::memory-safety} -Memory-safety is a term that is only vaguely defined in general, thus a definition is given for the context of this thesis. +Memory-safety is a term that is only vaguely defined in general, thus a definition is given for the context of this study. For a thorough understanding of the issues discussed further in this document, it might be helpful to review the basics of how memory is used in current computer systems. For decades computer systems, more specifically their \glspl{cpu}, were designed to execute instructions that were previously loaded into volatile main memory, typically from a secondary, persistent memory. @@ -54,7 +54,7 @@ This is why information on safety related mistakes in software shouldn't be publ Ideally, before the vulnerability is publicly known, all systems that run the erroneous software in question should have the chance to update the software is question, so that any potential attackers can't leverage the known vulnerability. This introduces a dilemma, because software updates usually contain publicly known information, at least in the open-source sector. -Any existing or hypothetical solution to this dilemma is not in scope of this thesis, but two conclusions can be made. +Any existing or hypothetical solution to this dilemma is not in scope of this study, but two conclusions can be made. First, public statistics in the area of software vulnerabilities are questionable with regard to their completeness. Second, and more importantly, memory-safety related software mistakes should be detected as early as possible, ideally before the software is released and installed anywhere. @@ -89,7 +89,7 @@ A professor and co-author of \citetitle{Arpaci-Dusseau2015} gives the following Plenty of educational, economical or methodological solutions are imaginable for this problem. Higher focus on safety and testing in education, enforced internal company guidelines, or industry wide third party software certification requirements can be attempted. -For this thesis such constraints are out of scope, and the focus is on examining technical methods that detect and indicate mistakes as early as possible. +For this study such constraints are out of scope, and the focus is on examining technical methods that detect and indicate mistakes as early as possible. \subsection{Technical Aspect} \label{context::introduction::technical-aspect} @@ -229,7 +229,7 @@ The whole memory can be divided into arbitrary groups of addressable units. The \gls{os} supervises this structure, and programs must request memory from the \gls{os} to gain access to memory. A method that combines virtualization and structuring is called paging and is explained in \cref{context::os-dev-concepts::hw-supported-mm}. -The goal of memory virtualization is to use virtual addresses in \glspl{program}, which can be dynamically mapped to physical memory addresses at system runtime. +The goal of memory virtualization is to use \glspl{vaddr} in \glspl{program}, which can be dynamically mapped to physical memory addresses at system runtime. \subsection{CPU Virtualization} The \gls{cpu} is generally not explicitly requested by \glspl{program}, because any of the program's instructions implicitly requires the \gls{cpu} for being executed on the system at all. @@ -240,20 +240,6 @@ How this can be achieved is explained in \cnameref{context::os-dev-concepts::pre \subsection{Program Execution} \label{context::os-dev-concepts::virtualization::task} -% TODO: remove or complete this graph -%\begin{tikzpicture}[->,node distance=5ex,on grid, -% every state/.style={fill=red,draw=none,circular drop shadow,text=white}] -% -% \node[state] (A) {Task}; -% \node[state] (B) {Job}; -% \node[state] (C) {Process}; -% \node[state] (D) {Program}; -% \node[state] (E) {Procedure}; -% \node[state] (F) {Thread}; -% -% \path (A) edge (B); -%\end{tikzpicture} - As explained in this document it should be understood that a program consists of instructions that can be executed by the \gls{cpu}. When the \gls{os} loads a program into memory and begins executing its instructions it is called a process.\cite[p.~25]{Arpaci-Dusseau2015} A process can begin to exist before its execution, when the \gls{os} has internally created an entry for the process that at least contains a reference to the program and the arguments to be passed. @@ -354,44 +340,44 @@ More details on this mechanism is given in \cref{context::os-dev-concepts::preem \section{Hardware-supported Memory-Paging} \label{context::os-dev-concepts::hw-supported-mm} -To improve the efficiency and safety of memory management, developers of hardware and software have been collaborating to offload virtual memory address lookup and caching from the \gls{os} software to the hardware, the \gls{cpu}'s \gls{MMU} to be specific. +To improve the efficiency and safety of memory management, developers of hardware and software have been collaborating to offload virtual memory address lookup and caching from the \gls{os} software to the hardware, the \gls{cpu}'s \gls{mmu} to be specific. A hardware-implementation of the lookup algorithm is fast, and allows rudimentary memory permission runtime-checks to protect pages by leveraging \gls{cpu}'s security rings\cite[p.~117,~p.~145]{AMD64Vol2}. Activating the 64-Bit long mode on \gls{amd64} makes the system rely primarily on paging memory management, thus the technique of memory segmentation can be neglected in this context. This section provides information about hardware-supported memory paging and protection techniques. \subsection{Virtual Address Translation and Paging} -Paging with virtual addresses is one method of virtualizing memory and in this way transparently share the system's memory among running tasks and the \gls{os} itself, presumably in a safe way. -Even when using a language that supports direct memory addressing, \gls{app} developers don't have to consider paging and address translation in the logic of their programs, because all addresses in their program are virtual and are translated at runtime by the \gls{MMU}. -The translation itself is performed by the \gls{MMU} according to a map that is called page table, which is a structure maintained by the \gls{os} in the main memory. -This memory structure can be stored anywhere in memory, and the address is handed to the \gls{MMU} via a specific \gls{cpu} register, \textit{CR3} on \gls{amd64}. -The \gls{os} can maintain multiple page table structures, and can create different virtual address spaces by changing the \gls{MMU}'s page-table pointer register. +Paging with \glspl{vaddr} is one method of virtualizing memory and in this way transparently share the system's memory among running tasks and the \gls{os} itself, presumably in a safe way. +Even when using a language that supports direct memory addressing, \gls{app} developers don't have to consider paging and address translation in the logic of their programs, because all addresses in their program are virtual and are translated at runtime by the \gls{mmu}. +The translation itself is performed by the \gls{mmu} according to a map that is called page table, which is a structure maintained by the \gls{os} in the main memory. +This memory structure can be stored anywhere in memory, and the address is handed to the \gls{mmu} via a specific \gls{cpu} register, \textit{CR3} on \gls{amd64}. +The \gls{os} can maintain multiple page table structures, and can create different \gls{vaddr} spaces by changing the \gls{mmu}'s page-table pointer register. \subsubsection{Translation Caching} The hardware caches the translation results for subsequent lookups in the \gls{tlb} \cite[p.~142-143]{AMD64Vol2}. -This greatly improves the speed for repeated access to the same virtual addresses, but is certainly dangerous for memory-safety. +This greatly improves the speed for repeated access to the same \glspl{vaddr}, but is certainly dangerous for memory-safety. Controlling the validity of these cache entries is the responsibility of the \gls{os} . This is critical for memory-safety, as the cached virtual to physical address lookup results are different for each address space and shouldn't leak into other address spaces. -If any lookup yields a cached result which originates from a different virtual address space, the physical address is likely to belong to a memory region to which the current task shouldn't have access to. +If any lookup yields a cached result which originates from a different \gls{vaddr} space, the physical address is likely to belong to a memory region to which the current task shouldn't have access to. What makes it more difficult to manage is that there are exceptions to this, e.g. when memory is intentionally shared between two processes or threads, which must be set up by the \gls{os} according to the processes requests. \subsubsection{Pages: Chunks of Smallest Addressable Unit} -To avoid the need for storing a translation mapping for every single virtual address, mappings are grouped into equisized regions, called \textit{page}s. -This works by encoding a page-offset in the virtual address, together with page's index in the page table. +To avoid the need for storing a translation mapping for every single \gls{vaddr} , mappings are grouped into equisized regions, called \textit{page}s. +This works by encoding a page-offset in the \gls{vaddr} , together with page's index in the page table. The offset size depends on the chosen page-size, and can be calculated with the following formula, given page-size $p$, a power of two given in Byte: \begin{equation} - vaddr\_offset(p) = log_2(p), p \in \mathbb{N}^2 %TODO: restrain that p must be a power of 2 + f(p) = log_2(p) \end{equation} -For example, the \gls{amd64} default page-size of 4 KiB has a 12-bit offset, which theoretically leaves the other $64-12 = 52$ bits of the virtual address for page-table indexing. -On \gls{amd64} there's an architectural limit of 48 bits for the virtual address, thus the address constellation is different than explained here. +For example, the \gls{amd64} default page-size of 4 KiB has a 12-bit offset, which theoretically leaves the other $64-12 = 52$ bits of the \gls{vaddr} for page-table indexing. +On \gls{amd64} there's an architectural limit of 48 bits for the \gls{vaddr} , thus the address constellation is different than explained here. Details on this concrete implementation follows in \cnameref{context::os-dev-concepts::hw-supported-mm::multilevel-paging-amd64}. \subsection{Page-Faults} \label{context::os-dev-concepts::hw-supported-mm::page-fault} -To improve the efficiency and safety of memory management, developers of hardware and software have been collaborating to offload virtual memory address lookup and caching from the \gls{os} software to the hardware, the \gls{cpu}'s \gls{MMU} to be specific. +To improve the efficiency and safety of memory management, developers of hardware and software have been collaborating to offload virtual memory address lookup and caching from the \gls{os} software to the hardware, the \gls{cpu}'s \gls{mmu} to be specific. The page-fault is a hardware-triggered, memory-safety critical event that must be handled by the \gls{os}. -It is triggered by the \gls{cpu}'s \gls{MMU} during the virtual address lookup algorithm, when an instruction uses a virtual address for which the target page is not available. +It is triggered by the \gls{cpu}'s \gls{mmu} during the \gls{vaddr} lookup algorithm, when an instruction uses a \gls{vaddr} for which the target page is not available. This happens for example if the indexed page is not present in main memory or has not been allocated at all. It also happens when an instruction violates a page protection, of which four exist and can be configured by the \gls{os} on \gls{amd64} \cite[p.~145-148]{AMD64Vol2}: \begin{itemize} @@ -401,17 +387,17 @@ It also happens when an instruction violates a page protection, of which four ex \end{itemize} The \gls{os} must implement the page-fault handler to deal with it accordingly. -For example, the case of a non-existing mapping requires to find and allocate free physical memory and map it to the page by modifying the virtual addresse's page-table entry. +For example, the case of a non-existing mapping requires to find and allocate free physical memory and map it to the page by modifying the \gls{vaddr} e's page-table entry. Or in case of protection violation it would simply indicate denied access. \subsection{Swapping} The finite primary memory can only hold a finite number of virtual pages, and the \gls{os} is responsible for having the required pages present. Besides the pages that contain the page-table itself, the pages that aren't required by the current instruction might be moved to secondary memory. -Swapping pages in and out of primary memory is risky as it requires to transfer large amounts of raw memory content, but these safety analyzes exceed the scope of this thesis. +Swapping pages in and out of primary memory is risky as it requires to transfer large amounts of raw memory content, but these safety analyzes exceed the scope of this study. \subsection{Multi-Level Paging Concept} \label{context::os-dev-concepts::hw-supported-mm::multilevel-paging-concept} -If only one page-table per virtual address space was used that consists of $2^{52}$ page-table entries, which must at minimum store the physical address, it would require $\frac{52 * 2^{52} [Bit]}{8*1024^4 [Bit/Byte]} = 26624$ TiB of memory for each virtual address space. +If only one page-table per \gls{vaddr} space was used that consists of $2^{52}$ page-table entries, which must at minimum store the physical address, it would require $\frac{52 * 2^{52} [Bit]}{8*1024^4 [Bit/Byte]} = 26624$ TiB of memory for each \gls{vaddr} space. Even if only a handful of additional pages were allocated and mapped, the \gls{os} would still have to allocate this huge page-table. This vast consumption of main memory is impractical and impossible for average systems, which rarely surpass 100 GiB of main memory. @@ -509,7 +495,7 @@ Using a hierarchical translation structure allows to save significant amounts of On \gls{amd64} "a four-level page-translation data structure is provided to allow long-mode operating systems to translate a 64-Bit virtual-address space into a 52-Bit physical-address space."\cite[p.~18]{AMD64Vol2}. This allows the system to only hold the \textit{PML4} table, the which is currently referenced by the \textit{Page Map Base Register (CR3)}, available in main memory. -\Cref{fig:virtual-addr-transl} shows the 64-Bit virtual address composition on \gls{amd64}, which uses four-levels of page tables. +\Cref{fig:virtual-addr-transl} shows the 64-Bit \gls{vaddr} composition on \gls{amd64}, which uses four-levels of page tables. Counter intuitively the page-tables are not called level-\textit{n}-page-table, but the levels received distinct names in \citetitle{AMD64Vol2}. The most-significant Bits labelled as \textit{Sign Extend} are not used for addressing purposes, but must adhere the canonical address form and simply repeat the value of the most-significant implemented Bit \cite[p.~130]{AMD64Vol2}. The least significant Bits represent the offset within the physical page. @@ -523,8 +509,8 @@ The four groups in between are used to index the page-table at their respective \end{figure} \subsubsection{Translation Scheme 4 KiB and 2 MiB Pages} The \gls{amd64} architecture allows configuring the page-size, two of which will be introduced in this section. -\cref{tab:page-transl-vaddr-composition} displays the virtual address composition for the 4KiB and 2MiB page-size modes on \gls{amd64}. -The direction from top to bottom in the table corresponds to most significant to least significant - left to right - in the virtual address. +\cref{tab:page-transl-vaddr-composition} displays the \gls{vaddr} composition for the 4KiB and 2MiB page-size modes on \gls{amd64}. +The direction from top to bottom in the table corresponds to most significant to least significant - left to right - in the \gls{vaddr} . The \textit{sign extension} Bits cannot be used for actual information but act as a reservation for future architectural changes. \begin{table} @@ -549,8 +535,8 @@ The \textit{sign extension} Bits cannot be used for actual information but act a \label{fig:4kb-page-transl} \end{figure} -\cref{fig:4kb-page-transl} shows the detailed virtual address composition for 4 KiB pages, using four levels of page-tables. -It uses four sets of 9-Bit indices in the virtual address, one per hierarchy level, followed by the 9 Bit page-internal offset. +\cref{fig:4kb-page-transl} shows the detailed \gls{vaddr} composition for 4 KiB pages, using four levels of page-tables. +It uses four sets of 9-Bit indices in the \gls{vaddr} , one per hierarchy level, followed by the 9 Bit page-internal offset. An alternative approach is displayed in \cref{fig:2mb-page-transl}, using 2 MiB sized pages. It uses three sets of 9-Bit indices for the page-tables, and a 21-Bit page-internal offset. @@ -611,10 +597,9 @@ In this picture, the \gls{stack} grows upwards. \subsubsection{Safety Concerns} To achieve memory-safe \gls{stack} management in the \gls{os}, each procedure must only be able to access its own particular \gls{stack} and possible references via its arguments. -This is not the case in a regular \gls{C} program, where the called procedure is able to modify the previous \gls{sf}, which is demonstrated in \cnameref{rnd::weakness-mitig-eval::stack-protection}. - +This is not the case in a regular \gls{C} program, where the called procedure is able to modify the previous \gls{sf}, which is demonstrated in \cnameref{rnd::weakness-mitig-prev::stack-protection}. Additionally, the \glspl{stack} must be prevented from growing into other memory zones like the \gls{heap}. -Since \Gls{stack} management is memory-safety critical for \gls{os} developers when implementing memory management for multitasking within the \gls{os}, it is one of the main subjects in \cnameref{rnd}, \cref{rnd::existing-os-dev-with-rust,rnd::imezzos-preemptive-multitasking}. +Since \Gls{stack} management is memory-safety critical for \gls{os} developers when implementing memory management for multitasking within the \gls{os}; This is one of the main subjects in \cref{rnd::existing-os-dev-with-rust,rnd::imezzos-preemptive-multitasking}. \subsection{Heap: Organized Chaos} \label{context::os-dev-concepts::stackheap::heap} @@ -873,9 +858,9 @@ Depending on the \gls{proglang}'s \gls{compiler} and the target system, the resp \subsection{Arrangement} \label{context::os-dev-concepts::stackheap-combined::arrangement} -Both zones must be organized separately and arrange within the virtual address space which is assigned to process or thread. +Both zones must be organized separately and arrange within the \gls{vaddr} space which is assigned to process or thread. \Cref{fig:heap-malloc-stack-example-program} shows a \gls{C} \gls{program} and a simplified model of the hypothetical address space that would result on execution. -In this example, the \gls{stack} and \gls{heap} are placed on opposite sides of the virtual address space, and will grow towards each other. +In this example, the \gls{stack} and \gls{heap} are placed on opposite sides of the \gls{vaddr} space, and will grow towards each other. \begin{figure}[ht!] \centering @@ -895,7 +880,7 @@ Lastly the \gls{stack} holds the pointer variable \textit{p}, which will referen \subsection{Safety Concerns} \label{context::os-dev-concepts::stackheap-combined::safety-concerns} -Even though virtual address spaces are huge on \gls{amd64}, there is a slight chance that the \gls{stack} and \gls{heap} will interfere. +Even though \gls{vaddr} spaces are huge on \gls{amd64}, there is a slight chance that the \gls{stack} and \gls{heap} will interfere. This could be due to direct collision, or more subtly by not detecting invalid mutual references. @@ -957,7 +942,7 @@ For a full context-switch, the other registers that are part of the context need The previous \cref{context::introduction,context::os-dev-concepts} describe the concepts of memory management on \gls{amd64} and how mistakes might come into existence. This chapter describes the related software weaknesses which are too commonly found. The underlying weakness classes are explained alongside real-world and exemplary manifestations in \gls{C}. -The latter are ported and compared to functionally equivalent versions written with \gls{Rust} in \cref{rnd::weakness-mitig-eval::porting-c-vulns}, +The latter are ported and compared to functionally equivalent versions written with \gls{Rust} in \cref{rnd::weakness-mitig-prev::porting-c-vulns}, %\section{\glsentrylong{CWE}} %\label{context::weaknesses-mem-safety::cwe} @@ -974,8 +959,8 @@ The following information is provided for enumerations of the type weakness clas 1. Relationships \end{markdown} -The relevant weaknesses for this thesis are children of the umbrella weakness \citetitle{MITRE-CWE-633}. -Their information about demonstrative examples and potential mitigations are relevant for this thesis. +The relevant weaknesses for this study are children of the umbrella weakness \citetitle{MITRE-CWE-633}. +Their information about demonstrative examples and potential mitigations are relevant for this study. This and the following \cref{context::weakness-mitigation} present this information for \gls{CWE-633} and selected children. % TODO test the autocite command with footnotes @@ -991,28 +976,28 @@ Direct memory addressing support doesn't imply a lack of memory management suppo There are languages that provide memory management support and still allow direct memory addressing, which is interesting for \gls{os} development. \gls{Rust} is one of these languages, although it requires the developer to explicitly acknowledge all direct memory access operations with the \textit{unsafe} keyword. -More information on \gls{Rust} follows in \cref{context::rust}. +More information on \gls{Rust} follows in \cref{rnd::rust}. \section{Statistics} \label{context::weaknesses-mem-safety::cwe::statistics} One of the main reasons for me to work on this topic is the increasing number of vulnerabilities based on memory-safety issues. This section is intended to express the weakness's severity in real-world software based on available statistics. -The only data available is based on publicly available sources, thus the completeness of it is questionable, because many organizations might choose to not disclose their vulnerabilities, either to protect their reputation or for security reasons as explained in \cref{context::introduction::memory-safety-violation-in-sw}. -The data and visualizations are supplied by the \gls{NVD}, which collects the data based on the umbrella weakness CWE-635\footnote{http://cwe.mitre.org/data/definitions/635.html} that was specifically created for the \gls{NVD}. +The only data available are based on publicly available sources, thus the completeness of it is questionable, because many organizations might choose to not disclose their vulnerabilities, either to protect their reputation or for security reasons as explained in \cref{context::introduction::memory-safety-violation-in-sw}. +The data and visualizations are supplied by the \gls{NVD}, which collects the data based on the umbrella weakness \gls{CWE-635} that was specifically created for the \gls{NVD}. The numbers of these selected weaknesses are detailed in the following figures, the rest is grouped as \textit{other}. \Cref{fig:vulnerability-ratio-history,fig:vulnerability-counts-history} display a decade of data on vulnerabilities grouped by their \gls{CWE} category. -The category called \textit{buffer\footnote{A bounded chunk of memory used by programs to store and exchange data} errors} represents \autocite{MITRE-CWE-119}. +The category called \textit{buffer\footnote{A bounded chunk of memory used by programs to store and exchange data} errors} \gls{CWE-119}. In \cref{fig:vulnerability-ratio-history} it has the color light blue, 2nd from the bottom in the legend, and in \cref{fig:vulnerability-counts-history} it has the color blue, 2nd from the top in the legend. \begin{figure} \centering \includegraphics[width=\textwidth]{gfx/Relative-Vulnerability-Type-Totals-By-Year} -\caption{Vulnerability Relative Counts History} +\caption{Vulnerability Relative Counts History\cite{NVD}} \label{fig:vulnerability-ratio-history} \includegraphics[width=\textwidth]{gfx/Vulnerability-Type-Change-by-Year} -\caption{Vulnerability Absolute Counts History} +\caption{Vulnerability Absolute Counts History\cite{NVD}} \label{fig:vulnerability-counts-history} \end{figure} @@ -1040,7 +1025,7 @@ In \cref{fig:vulnerability-ratio-history} it has the color light blue, 2nd from \end{table} In \cref{tab:vulnerability-buffer-error-by-history}, the column \textit{relative count} represents \cref{fig:vulnerability-ratio-history}, and the column \textit{absolute count} represents \cref{fig:vulnerability-counts-history}. -With 16.34 percent of all vulnerabilities known by 2016, and an average of 12.92 percent over ten years, \autocite{MITRE-CWE-119} makes up a significant part of real-world weaknesses. +With 16.34 percent of all vulnerabilities known by 2016, and an average of 12.92 percent over ten years, \gls{CWE-119} makes up a significant part of real-world weaknesses. \subsection{Vulnerable APIs in Linux and C/C++} \label{context::weaknesses-mem-safety::vuln-apis-linux-c} @@ -1065,13 +1050,13 @@ This section contains real-world manifestations and \textit{re}constructed exper It requires common understanding of the \gls{C} language and knowledge from the previous chapters. \subsection{Official CWE Examples} +\label{context::weaknesses-mem-safety::manifestations::cwe-ex} The following examples are officially listed under various children of \citetitle{MITRE-CWE-633}\cite{MITRE-CWE-633}. The code and descriptions are copied literally and are used as references throughout the document. The numbering in the example names aren't contiguous because only a subset was selected, and the naming is supposed to match the \gls{CWE} website. -References to the respective \gls{Rust} version are generally found in \cpnameref{rnd::weakness-mitig-eval::porting-c-vulns}, and referenced under each specific example for easier navigation. +References to the respective \gls{Rust} version are generally found in \cpnameref{rnd::weakness-mitig-prev::porting-c-vulns}, and referenced under each specific example for easier navigation. -\subsubsection{CWE-119} -\glsentrylong{CWE-119} +\subsubsection{\glsentrylong{CWE-119}} \paragraph{Example 1} The following code asks the user to enter their last name and then attempts to store the value entered in the last\_name array. @@ -1089,7 +1074,7 @@ The following code asks the user to enter their last name and then attempts to s \end{listing} \FloatBarrier -The problem with the code above is that it does not restrict or limit the size of the name entered by the user. If the user enters "Very\_very\_long\_last\_name" which is 24 characters long, then a buffer overflow will occur since the array can only hold 20 characters total. +The problem with the code above is that it does not restrict or limit the size of the name entered by the user.If the user enters "Very\_very\_long\_last\_name" which is 24 characters long, then a buffer overflow will occur since the array can only hold 20 characters total. % \paragraph{Example 1} % This example takes an IP address from a user, verifies that it is well formed and then looks up the hostname and copies it into a buffer. @@ -1215,7 +1200,7 @@ However, this method only verifies that the given array index is less than the m \FloatBarrier -\subsubsection{CWE-122: Heap-based Buffer Overflow} +\subsubsection{\glsentrylong{CWE-122}} \paragraph{Example 1} @@ -1235,7 +1220,7 @@ While buffer overflow examples can be rather complex, it is possible to have ver \FloatBarrier The buffer is allocated heap memory with a fixed size, but there is no guarantee the string in argv[1] will not exceed this size and cause an overflow. -\subsubsection{CWE-134: Use of Externally-Controlled Format String} +\subsubsection{\glsentrylong{CWE-134}} \paragraph{Example 1} The following program prints a string provided as an argument. @@ -1260,8 +1245,37 @@ The following program prints a string provided as an argument. \FloatBarrier The example is exploitable, because of the call to printf() in the printWrapper() function. Note: The stack buffer was added to make exploitation more simple. -\subsection{Heartbleet} -% TODO: paper about hearbleet with Rust +\subsection{Heartbleed} +% TODO: paper about hearbleed with Rust + +\subsection{BlueBorne on Linux} +Implementation of complex protocols are extremely dangerous in C as there is no notion of iterating or collections. +\gls{LX}, which is written in C, suffers extensively from buffer related errors and is likely to do so in the foreseeable future. +Many hardware drivers are implementers of such protocols by exchanging data with the hardware and verifying the content. +Often protocols aren't ideal either which makes their implementation even harder. + +A very recent and high impact vulnerability group is code named BlueBorne\cite{Seri2017}. +It has multiple manifestations on various \gls{os}, including Android and \gls{LX}, e.g. CVE-2017-1000251\cite[p.12]{Seri2017} which is explained here. + +The vulnerable code is quite long and staged over three functions, though the following should be enough to indicate the issue: + +\begin{minted}[breaklines]{c} +... + char buf [64]; + len = l2cap_parse_conf_rsp (chan, rsp -> data , len, buf , & result); +... +\end{minted} +\code{buf}, which is subject to overflow in this vulnerability, is a stack array with a fixed size, and its pointer is passed into a function. +Inside the function is a loop which writes \code{len} messages from \code{rsp->data} to \code{buf}, while the last two are both of the "type" \code{void *}. +The length to \code{buf} is not known in the function, thus there is no possibility of intentionally respecting its boundaries. + +\citeauthor{Seri2017} has additional criticism about \gls{LX}'s choice of having this code in the kernel:\footnote{italicized text was added by me} +"L2CAP\textit{, which can be seen as Bluetooth’s equivalent of TCP,} is included as part of the core Linux kernel code. +This is a rather dangerous choice. +Combining a fully exposed communication protocol, arcane features like EFS and a kernel space implementation is a recipe for trouble. +This vulnerability is a classic stack overflow occurring in the context of a kernel thread. +This provides an attacker with a full and reliable kernel-level exploit for any Bluetooth enabled device running Linux, requiring no additional steps. +Moreover, each compromised host can be used to launch secondary attacks, making this vulnerability wormable." \subsection{The Stack Clash} \label{context::weaknesses-mem-safety::manifestations::stack-clash} @@ -1280,12 +1294,12 @@ This simply answers the question how this vulnerability can be present on in mul \subsubsection{Unguarded Stack Growth} The guard page concept has been introduced to prevent the stack from growing further than it should.\footnote{Related Linux CVE-2010-2240} -If the stack grows contiguously and thus accesses virtual addresses that are not mapped to a page, the \gls{os}'s page-fault handler has the chance to inspect the situation. -The \gls{os} simply allocates a new page for the unmapped virtual address and allows the process to grow its stack. -When the virtual address accesses the defined guard page, the \gls{os} denies the operation and the process will be notified by a segmentation fault. +If the stack grows contiguously and thus accesses \glspl{vaddr} that are not mapped to a page, the \gls{os}'s page-fault handler has the chance to inspect the situation. +The \gls{os} simply allocates a new page for the unmapped \gls{vaddr} and allows the process to grow its stack. +When the \gls{vaddr} accesses the defined guard page, the \gls{os} denies the operation and the process will be notified by a segmentation fault. This works as long one of these conditions is true: \begin{itemize} - \item The guard page spans a virtual address range that is larger than the largest stack increment + \item The guard page spans a \gls{vaddr} range that is larger than the largest stack increment \item The area behind the stack page is unmapped and will also a page-fault \end{itemize} As the existence of vulnerability proves, these two conditions aren't always met. @@ -1299,6 +1313,8 @@ The best case scenario is mere memory corruption and the crash of the applicatio In the worst case there's possible execution of arbitrary code, which can be by used by an attacker to gain control of the application and possibly the whole system. \subsubsection{Proposed Solutions} +\label{context::weaknesses-mem-safety::manifestations::stack-clash::proposals} + The researchers at \textit{qualys} suggest two solutions\cite[III]{TheStackClash}. The first proposed solution is to increase the guard page to 1MB or larger within the \gls{os}. @@ -1308,60 +1324,65 @@ The second solution doesn't involve the \gls{os} but is about the userspace prog The suggestion is to compile all \glspl{app} on the system with the \gls{GCC}\cite{GCC540} with the \code{-fstack-check} option. This allegedly "prevents the stack-pointer from moving into another memory region without accessing the stack guard-page (it writes one word to every 4KB page allocated on the stack)." Besides the mention of this option, there is no explanation of what the exact technical outcome is. -This is further investigated in \cref{rnd::weakness-mitig-eval::stack-protection}, as stack protection is also something procedures within the \gls{os} could make use of. +This is further investigated in \cref{rnd::weakness-mitig-prev::stack-protection}, as stack protection is also something procedures within the \gls{os} could make use of. \chapter{Weakness Mitigation And Prevention Strategies} \label{context::weakness-mitigation} This chapter explains what can be done to mitigate and prevent software weaknesses, focusing on actions that can be taken by the developer. The first step is to leverage the \gls{CWE}'s database with its suggestions. -With that information and the knowledge from previous chapters, it is then concluded that the choice of \gls{proglang} is significant for memory-safety in \gls{os} and \glspl{app}. \section{CWE-119 Mitigation Suggestions} \label{context::weakness-mitigation::cwe-119-suggestions} The \gls{CWE-119} lists mitigation attempts for these software life cycle phases: Requirements, Architecture and Design, Implementation, and Operation. +\paragraph{Requirements Phase - Choose Language That Avoids Weaknesses} For the requirements phase, \gls{CWE-119} suggests to "use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid". Such languages "perform their own memory management are not subject to buffer overflows". This is followed by various other suggestions, of which the most relevant ones have been extracted into the following list. This list serves as additional test criteria against \gls{Rust}, evaluated in \cref{rnd}. -\begin{itemize} -\item{Architecture and Design - Use Libraries or Frameworks - Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. +\paragraph{Architecture and Design - Use Libraries or Frameworks} +Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. - These libraries provide safer versions of overflow-prone string-handling functions: Safe C String Library (SafeStr) -} -\item{Build and Compilation - Hardened Compilation +These libraries provide safer versions of overflow-prone string-handling functions: Safe C String Library (SafeStr) - Run or compile the software using features or extensions that automatically provide a protection mechanism that mitigates or eliminates buffer overflows. +\paragraph{Build and Compilation - Hardened Compilation} +Run or compile the software using features or extensions that automatically provide a protection mechanism that mitigates or eliminates buffer overflows. - Examples: FORTIFY\_SOURCE GCC flag, StackGuard -} -\item{Implementation - +Examples: FORTIFY\_SOURCE GCC flag + +\paragraph{Implementation} +This refers to the phase during which the programmer writes code. - Careful Buffer Handling: - \begin{itemize} - \item Double check that your buffer is as large as you specify. - \item When using functions that accept a number of bytes to copy, such as strncpy(), be aware that if the destination buffer size is equal to the source buffer size, it may not NULL-terminate the string. - \item Check buffer boundaries if accessing the buffer in a loop and make sure you are not in danger of writing past the allocated space. - \item If necessary, truncate all input strings to a reasonable length before passing them to the copy and concatenation functions. - \end{itemize} - - Use Functions That Support Bounds: - \begin{itemize} - \item Replace unbounded copy functions with analogous functions that support length arguments, such as strcpy with strncpy. - \item Create these if they are not available. - \end{itemize} -} -\item{Operation - Address Randomization - - Run or compile the software using features or extensions that randomly arrange the positions of a program's executable and libraries in memory. Because this makes the addresses unpredictable, it can prevent an attacker from reliably jumping to exploitable code. - - Examples: Address Space Layout Randomization (ASLR), Position-Independent Executables (PIE) -} +\subparagraph{Careful Buffer Handling} +\begin{itemize} +\item Double check that your buffer is as large as you specify. +\item When using functions that accept a number of bytes to copy, such as strncpy(), be aware that if the destination buffer size is equal to the source buffer size, it may not NULL-terminate the string. +\item Check buffer boundaries if accessing the buffer in a loop and make sure you are not in danger of writing past the allocated space. +\item If necessary, truncate all input strings to a reasonable length before passing them to the copy and concatenation functions. \end{itemize} +\subparagraph{Use Functions That Support Bounds} +\begin{itemize} + \item Replace unbounded copy functions with analogous functions that support length arguments, such as strcpy with strncpy. + \item Create these if they are not available. +\end{itemize} + +\paragraph{Operation - Address Randomization} +Run or compile the software using features or extensions that randomly arrange the positions of a program's executable and libraries in memory. Because this makes the addresses unpredictable, it can prevent an attacker from reliably jumping to exploitable code. + +Examples: Address Space Layout Randomization (ASLR), Position-Independent Executables (PIE) + +\section{Choice of Language} +All of the suggestions provided by the \gls{CWE} are in one way or another related the to \gls{proglang}. +Depending on the stage of the software development cycle, the suggestion is to either chose a stronger -- in the sense of less prone to weaknesses -- or avoid dangerous elements of a weaker \gls{proglang}. +Combining this with the knowledge from previous chapters, it can be concluded that the choice of \gls{proglang} is significant for memory-safety in \gls{os} as well as \glspl{app}. +This study does not have to workaround the weaknesses of any languages but is on to evaluating a potentially stronger. +Thus, the above information is another motivator for this study's topic. + +The next \cnameref{context::os-dev-lang-choice} further drives this evaluation. + \chapter{OS Development: Choice of Programming Language} \label{context::os-dev-lang-choice} There are dozens of \glspl{proglang} to write \glspl{app}, but only a few are viable for writing \glspl{os}. @@ -1379,48 +1400,100 @@ The \gls{proglang} can be designed with obligated rules, that make the written s \section{Requirements} \label{context::os-dev-lang-choice::requirements} -Criteria for the choice of \gls{proglang} are much different for an \gls{os} than for other types of \glspl{app} -The following are requirements can be identified +Criteria for the choice of \gls{proglang} are much different for an \gls{os} than for other types of \glspl{app}. +\subsection{Technical} \begin{itemize} - \item{TODO: see CWE suggestions} + \item{Compiler that generates machine code} + \item{Inline \gls{cpu} instruction calls} + \item{Direct memory addressing} + \item{No requirement on an internal runtime or virtual machine} + \item{No dependency on platform functionality} \end{itemize} -\section{Why not \glsentrytext{C}?} -With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via \gls{compiler}-generated checks imposed at runtime. (TODO: reference). +The above features are technical requirements to be able to produce code for the bare machine. -Static analysis are not very effective on a language that has not been designed to be safety-analyzed. TODO? reference? -For this reason there have been attempts to define subsets of the \gls{C} language that can be safety checked, TODO: refernces of Cyclone, CCured, etc.. +\subsection{Safety-Critical} +In addition, this study defines more theoretical requirements that help prevent memory-safety critical mistakes. -Safety checks that are performed at runtime introduce a high degree of overhead, which makes it a nonviable option in the domain of \gls{os} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite{Balasubramanian2017} or tasks with \gls{realtime} requirements. (TODO: explain realtime requirements) -This has been forcing \gls{os} developers to prioritize performance over safety. (TODO: reference) +\begin{itemize} + \item{Static analysis as part of the language design} + \item{Memory-safety as a 1st-class feature} + \item{Object oriented or similar type system that allows modeling of complex relations between types} +\end{itemize} +These features often come at the cost of a more complex language design, which results in a steep learning curve for beginners and might not seem worth it. -\begin{markdown} -# Flow of Reasoning -* How to mitigate distributed weaknesses - - Don't distribute vulnerable software - - Produce less vulnerabilities - OR - - Detect vulnerabilities -* How to prevent vulnerabilities distribution? - - Human to make less mistakes; NOT VIABLE, see human aspect. - - Detect them before the \gls{app} is installed; see time aspect -* How to detect vulnerabilities - - Write runtime tests for the program - - Analyze the source code -* Runtime Tests - - Runs on every execution, thus wastes \gls{cpu} resources - - Program needs to handle it - -> Slow and too late in the software life cycle! -* Source Code Analysis - - Difficult for low-level code, would require hardware knowledge - - Compilers are source code analysers by nature - - Additional tools can help, but this takes more effort - -> chose a compiler with high analysis standards -* Choice of Compiler: Language Dependent - - C: Safe C, Cyclone, etc.: define sub language that is analyzable. MEH - - Rust: designed to be analyzable. WIN! -* Rust - - Can the analyzes be extended to suite OS dev? -\end{markdown} +As explained in \cnameref{context::introduction::memory-safety::time-aspect}, mistakes need to be identified as soon as possible, and static analysis is the technical method for this. +The static analyzer can be designed to target different aspects and the language can be designed to offer these kind of aspects to the static analyzer. +For this study the primary aspect is memory-safety, which is assisted by the type system. +For a simple example, a static analyzer should detect casts between incompatible pointer types, as it will eventually lead to undesired effects. +\section{Why not \glsentrytext{C}} +\gls{C} fulfills all these requirements, and since it's development it has replaced Assembly as the de-facto standard \gls{proglang} for writing \glspl{os}. +As discussed in \cref{context::weaknesses-mem-safety} it has dangerous weaknesses. +With the growing number of vulnerabilities, various solutions have been proposed to increase the safety of C, either with static code analysis or via \gls{compiler}-generated code that imposes runtime checks. + +Checks that are performed at runtime introduce a high degree of overhead, which makes it a nonviable option in the domain of \gls{os} development, where many code paths must be very fast to ensure the operation of high speed I/O devices\cite[p.~1]{Balasubramanian2017} or tasks with \gls{realtime} requirements. +This has been forcing many developers to prioritize performance over safety, and others to look for alternatives. + +C allows direct access to memory via pointers and arithmetic thereof. +Static source code analysis is difficult on \gls{C}, as it that has not been designed for this purpose and has too many ambiguities.\cite{Kowshik2002} +C has no notion of objects beyond structs, which makes more complex memory structures, e.g. double-ended-queues trees, a hurdle to write and maintain safely. +As recorded by the \gls{CWE} and shown in \cref{context::weaknesses-mem-safety::manifestations::cwe-ex}, even access to simple arrays is often mishandled. +These criteria rule out \gls{C} for the purpose of this study. + +There have been attempts to define subsets of the \gls{C} language that can be safety checked, e.g. Cyclone\cite{Jim2002}, Control-C\cite{Kowshik2002}, but none has managed to take C's position. +\paragraph{Control-C} +Control-C is created on top of \gls{llvm} as a statically provable memory-safe strict subset of C, purposed for real-time control systems.\cite{Kowshik2002}. +Hardware requirements for handling safe runtime errors, which are known as \gls{cpu} exceptions on \gls{amd64}. +In Control-C they could be caused by stack and heap overflow, stack overflow (e.g., due to infinite recursion) and heap overflow due to dynamic allocation. +The latter sounds similar to the concept of guard pages and page-faults described in \cref{context::weaknesses-mem-safety::manifestations::stack-clash,rnd::weakness-mitig-prev::stack-protection::stack-clash}. +Control-C and Rust have certain similarities, e.g. both and aim to guarantee memory-safety, use static type checks and make use of LLVM as the backend. +Control-C uses affine transformation rules to statically guarantee bounds on array operations, which Rust does not do. +It can only be speculated why Control-C hasn't gained popularity since its invention. +It may be possible that it was mislabeled as a real-time only system language and was neglected in more generic language research. + +From today's perspective it appears to be clearly inferior to younger \gls{os} language candidates like Rust, e.g. as it is a subset of C and thus doesn't support object oriented paradigms. + +\section{LLVM: C and Rust} +The \glsentrydesc{llvm} has become popular since it was introduced. +To demonstrate this, \cref{fig:llvm-research-papers-since-2002}\footnote{\url{TODO https://llvm.org/pubs/}} shows a statistic on how many research papers have been published yearly since 2002. + +\begin{figure}[ht!] + \centering + \includegraphics[width=0.6\textwidth]{gfx/llvm-number-paper-pa.png} + \caption{Research Papers About LLVM since 2002} + \label{fig:llvm-research-papers-since-2002} +\end{figure} +\FloatBarrier + +It has since become a viable backend for the \gls{clang} \gls{compiler} and is also used by \gls{Rust}. + +The fronted \glspl{compiler} produce code for the \gls{llvm} Intermediate-Represantion, which is a hardware-independent. +\gls{llvm} can produce machine code for supported architectures, a list of which is found on the official website \footnote{\url{https://llvm.org/docs/CompilerWriterInfo.html\#hardware}}. +It contains all contemporary architectures, including \gls{amd64}. + +\section{Why Investigate Rust} +Rust has gained popularity in among hobby \gls{os} developers. +Reasons for this vary from simply challenging the possibility due to being convinced about its claimed features to guarantee memory-safety. +Theese officially advertised features are\footnote{\url{https://www.rust-lang.org/}} +\begin{itemize} + \item zero-cost abstractions + \item move semantics + \item guaranteed memory safety + \item threads without data races + \item trait-based generics + \item pattern matching + \item type inference + \item minimal runtime + \item efficient C bindings. +\end{itemize} + +Research articles and existing projects that have appeared in recent months and years have contributed motivation and information to this study. +Some of them are listed in \cref{rnd::existing-os-dev-with-rust::papers} next to the existing projects. +Others are referenced throughout the various chapters of \cref{rnd}. +They have all been motivators and plenty of justification for this study to pay closer attention to Rust. + +\section{Next Steps} +At this point, the assumption is made that \gls{Rust} can increase memory-safety in the \gls{os} in comparison to using \gls{C}. +In the next \cnameref{rnd} it is studied which of the above features contribute to memory-safety in the \gls{os}, and the corresponding language items are identified. diff --git a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex index ca6a5dc..55f9077 100644 --- a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex +++ b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex @@ -1,33 +1,45 @@ % // vim: set ft=tex: -\chapter{Evaluation} - -\section{Premised Trust In Hardware} -Memory management mechanisms are partially implemented in the target system's hardware which can't be verified by at time of development. - -\section{Safety Of Low-Level Code in Rust} -% TODO: Is the static analysis of hardware specific assembly code possible and useful at all? -% TODO: LLVM knows about the target and can potentially give hints about hardware specific instructions - -\section{Protecting \textit{'static}ally allocated Resources} - -\section{The Necessary Evils of \textit{unsafe}} - -\section{Extending Rust For Safe OS Development} - \chapter{Summary} +Solved problems by the Rust ownership models are +The Rust ownership model solves +\begin{itemize} + \item use-after-free + \item indexing out of bounds + \item iterator invalidation + \item data races +\end{itemize} -\chapter{Final Conclusion} +\chapter{Conclusions} Safety - or security for this matter - is not something that can be achieved absolutely. It grows successively and gives the \gls{os} developers and the end-users a \emph{feeling} of safety, until another vulnerability is found and disclosed. +\section{Trust In Hardware} +Memory management mechanisms are partially implemented in the target system's hardware which can't be verified by at time of development. + +\subsection{The Necessary Evils of \textit{unsafe}} +TODO + +\section{Rust Is Extendable For Memory-Safe OS Development} + +* Macros help to prevent critical mistakes when defining interrupt handlers. + +- + +TODO + +\section{Thesis Evaluation} + % TODO: repeat that rust *can* be used to increase safety in the OS, % TODO: how? % but it doesn't guarantee it per-se +\section{Rust's Strong Community} + +\section{Next Steps} +TODO \chapter{Scratchpad} - -\begin{figure}[h!] +\begin{figure}[ht!] \centering \begin{subfigure}[T]{0.50\textwidth} \tikzmarkcountprep{callee} @@ -172,3 +184,32 @@ It grows successively and gives the \gls{os} developers and the end-users a \emp TODO: improve \end{tikzpicture} + +\begin{markdown} +# Flow of Reasoning +* How to mitigate distributed weaknesses + - Don't distribute vulnerable software + - Produce less vulnerabilities + OR + - Detect vulnerabilities +* How to prevent vulnerabilities distribution? + - Human to make less mistakes; NOT VIABLE, see human aspect. + - Detect them before the \gls{app} is installed; see time aspect +* How to detect vulnerabilities + - Write runtime tests for the program + - Analyze the source code +* Runtime Tests + - Runs on every execution, thus wastes \gls{cpu} resources + - Program needs to handle it + -> Slow and too late in the software life cycle! +* Source Code Analysis + - Difficult for low-level code, would require hardware knowledge + - Compilers are source code analysers by nature + - Additional tools can help, but this takes more effort + -> chose a compiler with high analysis standards +* Choice of Compiler: Language Dependent + - C: Safe C, Cyclone, etc.: define sub language that is analyzable. MEH + - Rust: designed to be analyzable. WIN! +* Rust + - Can the analyzes be extended to suite OS dev? +\end{markdown} diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index 7bab4b6..4a4d347 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -1,16 +1,70 @@ % // vim: set ft=tex: -\chapter{Concrete Research Tasks} +\chapter{An Introduction To Rust} +\label{rnd::rust} +As described by the maintainers, \gls{Rust} is a "systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety."\footnote{\url{www.rust-lang.org}}. +During early development it had a runtime-dependent garbage collector which has since been dropped from the language, making it a viable candidate for \gls{os} development. +It meets all requirements listed in \cref{context::os-dev-lang-choice::requirements} which has enabled many developers to create \gls{os} related projects. +These are the subject of \cnameref{rnd::existing-os-dev-with-rust::systems::blog-os::mm}. -\section{Definition Of Additional Analysis Rules To Extend Safety Checks} +This chapter gives an introduction to \gls{Rust} from the specific perspective, as a beginner in \gls{Rust} and only academical \gls{os} development experience. +The specific interest according to the topic, is which language aspects help with memory-safety in the latter. +In addition to existing functionality, potentialities are also taken into account, as well as the ability to extend the language for the specific use-case. +The introduction found here is a summary of features that have been encountered throughout this study. +As a more generic introduction to the language, the suggestion is to study at least the introduction in \citetitle{Beingessner2015}\cite{Beingessner2015}, or simply visit the official Rust website which has a complete and beginner-friendly documentation by now.\footnote{\url{https://doc.rust-lang.org}}. +Another note is that this study relies heavily on features that are only available in the nightly version of \gls{Rust}, which is a necessity for \gls{os} development. +These features will be highlighted throughout the various chapters. + +\section{Compiler Architecture} +Detailed information about Rust's compiler architecture seems to be spread over any Rust related development website, including the Rust forums and GitHub, but also blog posts by Rust's developers. + +\Cref{fig:rust-compiler-architecture} shows \gls{Rust}'s chain of compilation. +\begin{figure}[ht!] + \centering + \includegraphics[width=0.7\textwidth]{gfx/rust-compiler-flow.png} + \caption{Rust's current and future compiler architecture} + \label{fig:rust-compiler-architecture} +\end{figure} + +In one of these blog posts \url{https://blog.rust-lang.org/2016/04/19/MIR.html}, one of the maintainers describes the compiler architecture, including planned changes and their improvements. + +Rust, in particular its compiler \code{rustc}, parses and "desugares" the source code. +What is called "desugaring", is the expansion of syntax that exists for the mere purpose of being simple and comfortable to use, which is called syntactical sugar in \gls{proglang} slang. +This step also handles the expansion of Rust's hygienic macros, which are work differently than C macros, and produces the High-Intermediate-Representation -- comparable to an Abstract-Syntax-Tree -- on success. + +The HIR is then type- and borrow-checked, Rust's most unique safety features. +On success, Rust's compiler delivers an Intermediate-Representation to \gls{llvm}, which is then optimized and compiled into machine specific code, instructions for the physical \gls{cpu}. + +Note that the new \emph{MIR} layer has not been fully completed as of today, but it has been activated in the compiler since October 2015\footnote{\url{https://github.com/rust-lang/rust/pull/28748}}. +Its development is based the assumption that "Rust’s rich type system should provide fertile ground for going beyond \gls{llvm}’s optimizations." +Among other improvements, it allows Rust to perform optimizations before monomorphizing the code for \gls{llvm}, which breaks down (looses) all Rust specific type system information, e.g. trait implementations, into a flat model. + +\subsection{Zero-Cost Abstraction} +The optimization on the HIR and MIR is the origin of the term zero-cost abstractions. +By analyzing control flow and evaluation of constant expressions, code paths can be eliminated and the resulting \gls{llvm} IR can be reduced extensively. + +It will also allow type checking to be more effective, as the MIR is simpler than the HIR. +An example of a potential optimization is given in the borrow checker explanation along with the \cnameref{rnd::rust::feat::own-borrow::mir-improvement}. + +% TODO: Tokens + +\subsection{Syntax} +In \gls{os} development, macros are often preferred over functions because they are processed at compile time and induce no runtime overhead. +In \gls{Rust}, they are deeply integrated into the language syntax, and are not trivially usable. +In order to extend Rust for specific use-cases in \gls{os} development with macros or other means, the syntax and its extension mechanisms need to be understood. +The following information has been extracted from the \url{https://danielkeep.github.io/tlborm/book}. + +\paragraph{Tokens Trees} +Rust is a C-like language and doesn't look too much different for simple code. +It starts with tokens, which are similar to other languages. + + +\subsection{Extensions} +\subsubsection{Definition Of Additional Analysis Rules To Extend Safety Checks} % TODO: Business Logic Checks % Examples: % TLB needs to be reset on Task Change % ISR-Stack-Frame needs to be updated on context-switch -\section{Software Fault Isolation} -% TODO: content from \cite{Balasubramanian2017} - -% TODO Which language items help with managing memory? % TODO How generic can the memory allocators be written? % TODO Guarantees to be statically checked: @@ -18,28 +72,119 @@ % TODO * Tasks can't access unallocated (physical) memory % TODO * Tasks can't access other tasks memory -\chapter{An Introduction To Rust} -\label{context::rust} -Described by the maintainers, it is a "systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.", (www.rust-lang.org) -\section{Compiler Architecture} -- TODO: Tokens? AST? LLVM? (http://embed.rs/articles/2016/arm-inline-assembly-rust/) +\subsection{Macro Rules} +A rather simple macro is presented in \cpnameref{rnd::imezzos-preemptive-multitasking::timer-interrupt-scheduling::macro}. + +\subsubsection{Macro Recursion Limit} +Macro recursion can be limited via the attribute: + +\mintinline{rust}{#![recursion_limit="10"]} + +\subsection{Compiler Plugins} +The Rust Unstable Book \url{https://doc.rust-lang.org/unstable-book/language-features/plugin.html} +has a section on compiler plugins, which are user-provided libraries that extend the compiler's behavior with new syntax extensions, lint checks, etc. +This is + +\subsection{Cargo} +\glsentrydesc{cargo}. + +\subsubsection{Tweaking LLVM Compiler Options} +\label{rnd::rust::cargo::tweak-llvm} +Using \gls{cargo}, arguments for the \gls{llvm} \gls{compiler} can be passed all the way down to by creating the \code{$PROJECT_DIR/.cargo/config} file. + The following is an example which has been used to experiment with stack protection in \cref{rnd::weakness-mitig-prev::stack-protection::stack-clash::user-space}. + +\begin{minted}{yaml} +[build] +rustflags = [ + "-C", "llvm-args=-safe-stack-layout -enable-stackovf-sanitizer -asan-stack -warn-stack-size=1000", +] +\end{minted} + +To enable this configuration, \code{cargo rustc} needs to be invoked for this project to respect the configured rustc options. +The config file shows other stack related options too that were enabled for experimentation purposes. +A full list of supported options can be retrieved with the following C++ program: + +\begin{minted}{cpp} +// Call with `--help-list-hidden` as argument to get a full list +#include "llvm/Support/CommandLine.h" +using namespace llvm; +int main(int argc, char** argv) { + cl::ParseCommandLineOptions(argc, argv, ""); + return 0; +} +\end{minted} +The reason why this is required is that it uses the same \gls{api} as \gls{Rust} to invoke \gls{llvm}, and should give accurate results on what options are supported by \gls{Rust}. +Standalone tools of \gls{llvm} might not expose the same functionality as the \gls{api} used here. + +\section{Investigated Language Features} +The following sentence is placed here according to the Don't-Repeat-Yourself principle as it would have otherwise been in almost every subsection: +Developers unfamiliar with this concept are likely to take a while to get used to it, but safety-gains are well worth the effort. + +\subsection{Memory Management} +- TODO: Static Variables on Stack, handled by compiler + +- TODO: Heap requires implemented allocator - TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4 - -\subsection{Static Analyser} -- TODO: mention electrolyte, formal verification for Rust - -\section{Language Features} -- TODO: How does static typing help with preventing programming errors - -- TODO: How does the Rust's static analysis work, theoretically and practically - - TODO: How can memory be dynamically allocated and still safety checked? -\subsection{Ownership And Borrows} +\subsubsection{Custom Allocators} +- TODO: mention ralloc by redox +- TODO: simple allocator by Blog OS - TODO: Who owns global 'static variables? +\subsection{Ownership And Borrows} +\citeauthor{Beingessner2015} explores the ownership model in relation to some of the weaknesses explained in \cref{context::weaknesses-mem-safety}. +The ownership model is described as "a system for expressing where and when data lives, and where and when data can be mutated." + +\paragraph{Effectiveness} +The ownership model was found to effectively eliminate vulnerabilities of the following weakness types: +\begin{itemize} + \item use-after-free + \item indexing out of bounds + \item iterator invalidation + \item data races +\end{itemize} + +\paragraph{Not Fully Effective Against Memory Leaks} +It was found that the problem of memory leaks cannot be sufficiently solved by ownership, due to lack of proper linear typing. +It was described that leaked memory is not a direct memory-safety violation because the \gls{os} cleans up leaked memory after the \gls{process}'s termination. + +Note: The suffering \gls{app} will prevent leaked memory from being used by other \glspl{app} until its termination. +However, this should not happen in the \gls{os} as there is no underlying instance that can simply reclaim the leaked memory, thus it will be lost until system reboot. + +\subsubsection{Potential MIR improvements} +\label{rnd::rust::feat::own-borrow::mir-improvement} +An example for potential changes are \emph{vector patterns} taken from the MIR-RFC\url{https://github.com/rust-lang/rfcs/blob/master/text/1211-mir.md} + +The following match shows a vector pattern borrow in a match expression. +While this is legal today -- +\begin{minted}{rust} +let mut vec = [1, 2]; +match vec { + [ref mut p, ref mut q] => { ... } +} +\end{minted} +-- one would intuitively expect it to be the same as: +\begin{minted}{rust} +p = &mut vec[0], q = &mut vec[1] +\end{minted} + +In the latter case, the borrow checker would complain. +This is because it does not consider the two constant indices to borrow different items from the vector, but considers the whole vector to be borrowed by the first statement, causing an error for the second borrow attempt of the vector. + +\subsection{Static Analyser} +- TODO: How does the Rust's static analysis work, theoretically and practically +- TODO: mention electrolyte, formal verification for Rust +- TODO: How does static typing help with preventing programming errors + +- TODO: explain lints + +\subsection{Inline Assembly} +Inline assembly is explained by example in \cref{rnd::imezzos-preemptive-multitasking::timer-interrupt-scheduling} + +A more formal and helpful tutorial which is suggested, has been found in form of a web article.\footnote{\url{http://embed.rs/articles/2016/arm-inline-assembly-rust/}} \subsection{Lifetimes} - TODO: Where are global 'static variables allocated? @@ -47,53 +192,152 @@ Described by the maintainers, it is a "systems programming language that runs bl \subsection{Type Safety} - TODO: demonstrate casts -- TODO: demonstrate raw pointers +- TODO: demonstrate raw pointers: +% https://rustbyexample.com/flow_control/match/destructuring/destructure_pointers.html - TODO: discuss the equivalents of void*? +\subsection{Single Field Structs} +Structs with a single field can be used to wrap a under a different type name, and make it distinguishable for the type system. +This is different from a type alias, which wouldn't prevent the example situation given below. +This extended example\footnote{\url{https://aturon.github.io/features/types/newtype.html}} shows one way of preventing the mix-up of common length units. +Both new types wrap \code{f64} but are not interchangeable. + +%\begin{figure}[ht!] +\begin{minted}[linenos,breaklines]{c} +struct Miles(pub f64); +struct Kilometers(pub f64); + +impl Miles { + fn as_kilometers(&self) -> Kilometers { Kilometers { 0: self.0 * 1.6 } } +} +impl Kilometers { + fn as_miles(&self) -> Miles { Miles { 0: self.0 / 1.6 } } +} + +struct Route { distance: Miles } + +impl Route { + fn are_we_there_yet(&self, distance_travelled: Miles) -> bool { + self.distance.0 <= distance_travelled.0 + } +} + +fn main() { + let distance = Miles { 0: 100.0 }; + let route_miles = Route{ distance } + let travelled = Kilometers { 0: 100.0 }; + let arrived = route_miles.are_we_there_yet( travelled ); + println!("Are we there yet? {}", arrived); +} +\end{minted} +%\caption{} +%\label{code::} +%\end{figure} + +The compiler rightfully rejects the code with the following error, and even gives a suggestion to use the \code{.as_miles()} method. + +\begin{minted}[breaklines]{md} +error[E0308]: mismatched types + --> src/main.rs:33:49 + | +33 | let arrived = route_miles.are_we_there_yet( travelled ); + | ^^^^^^^^^ expected struct `Miles`, found struct `Kilometers` + | + = note: expected type `Miles` + found type `Kilometers` + = help: here are some functions which might fulfill your needs: + - .as_miles() +\end{minted} + +\subsection{Empty Types} +\label{rnd::rust::type-safety::empty-types} +Empty types are abstract types that can not be instantiated. + +\subsubsection{Unreachable Code Paths} +They can be used to statically prevent certain code paths, declaring them impossible. +The simplest example is a function that is defined to never return: + +\begin{minted}[linenos,breaklines]{rust} +enum CanNeverExist {} +fn never_returns() -> CanNeverExist { + loop {} +} +\end{minted} + +If line 2 was removed, the compiler would regard it as an error: + +\begin{minted}[breaklines]{md} +error[E0308]: mismatched types + --> src/main.rs:2:37 + | +2 | fn never_returns() -> CanNeverExist { + | _____________________________________^ +3 | | // loop {} +4 | | } + | |_^ expected enum `CanNeverExist`, found () + | + = note: expected type `CanNeverExist` + found type `()` +\end{minted} + +If no value is explicitly given at the end of the function, the compiler implies \code{()} which \emph{something}, unlike the empty enum which is \emph{nothing} and cannot actually be instantiated and returned. +\code{loop{}} among others evaluates to \emph{nothing} as it will never stop and return, that is why the compiler was satisfied with it. +Trying to pass an instance of \code{CanNeverExist} yields the following: + +\begin{minted}{md} +error[E0574]: expected struct, variant or union type, found enum `CanNeverExist` + --> src/main.rs:3:5 + | +3 | CanNeverExist {} + | ^^^^^^^^^^^^^ not a struct, variant or union type +\end{minted} + +This demonstrates that the empty enum cannot be instantiated, and is merely a symbolic type. +Rust includes the \code{!} type for this purpose, and the function could've been written as \mintinline{rust}{fn never_returns() -> ! { loop{} }}. +This pattern can be used in \gls{os} development for the \gls{os}'s function that runs the main loop, and is not supposed to return. + +\subsubsection{In Combination With Traits And PhantomData} +Emtpy enums can be used for more advanced use-cases in combination with traits, as shown in \cref{rnd::existing-os-dev-with-rust::systems::blog-os::mm}, where the lowest level of the page hierarchy is prevented from calling the \code{next_table} method. + \subsection{Inner- and Outer Mutability} -- TODO: describe Rc, Arc, and {Ref,}Cell +Some types in \gls{Rust} provide interior mutability, so that their \emph{value} can be mutated even though they have not been declared using \code{mut}. -- https://nercury.github.io/rust/guide/2015/01/19/ownership.html +An example of this is found in with the \code{spin::Mutex} type used in %\cpnameref{}. -\subsection{Zero-Cost Abstraction} -\section{Language Extension} -\subsection{Syntax Extension} -\subsubsection{Macros} -\subsubsection{Annotations} -\subsection{Compiler Plugins} - -\section{Idioms And Patterns} - -\subsection{The Newtype Pattern} -https://aturon.github.io/features/types/newtype.html +Other examples which are not covered in this study include \code{Rc}, \code{Arc}, \code{RefCell}. \section{Limitations} * TODO: deadlock example * TODO: cyclic reference memory leak example -\chapter{Weakness Mitigation Evaluation} -\label{rnd::weakness-mitig-eval} - -\section{CWE Mitigation Suggestions Evaluation} -\label{rnd::weakness-mitig-eval::cwe-mitig-suggestion-eval} +\chapter{Weakness Mitigation And Prevention} +\label{rnd::weakness-mitig-prev} +The terminology \textit{mitigation} used by the \gls{CWE} literally expresses that the suggested measures are not fully preventive. +This chapter practically explores the weaknesses and their mitigation suggestions presented in \cref{context::weaknesses-mem-safety,context::weakness-mitigation}. +As this study is looking for weakness \emph{prevention}, which might be achieved through static analysis, mitigation and prevention are explored side-by-side with in this chapter. +The results are summarized in \cref{enc}. \section{Porting \glsentrytext{C} Vulnerabilities} -\label{rnd::weakness-mitig-eval::porting-c-vulns} +\label{rnd::weakness-mitig-prev::porting-c-vulns} In this chapter, the weakness manifestations given in \cref{context::weaknesses-mem-safety::manifestations} are rewritten in \gls{Rust} to examine if these are mitigated just by porting them. This is done incrementally by first porting the vulnerability to unsafe Rust, followed by a rewrite to drop all unsafe code but keeping the intended functionality. -% TODO official CWE-119 examples + +- TODO official CWE-119 examples \section{Stack Protection} -\label{rnd::weakness-mitig-eval::stack-protection} -The goal of this chapter is to learn about \gls{Rust}'s stack protection mechanisms. +\label{rnd::weakness-mitig-prev::stack-protection} +The goal of this chapter is to learn about \gls{Rust}'s stack protection mechanisms in comparison to C. \subsection{Return Address Manipulation Experiments} -\label{rnd::weakness-mitig-eval::stack-protection::ret-addr-experiments} +\label{rnd::weakness-mitig-prev::stack-protection::ret-addr-experiments} Return address manipulation is a dangerous stack manipulation as it changes control flow of the program without explicit function calls. First a \gls{C} example demonstrates the issue, then a \gls{Rust} port is attempted. +\subsubsection{Example in C} +\label{rnd::weakness-mitig-prev::stack-protection::ret-addr-experiments::c} + \begin{figure}[ht!] \begin{minted}[linenos,breaklines]{c} static void simple_printer(void) { fprintf(stderr, "I wonder who called me?"); } @@ -114,22 +358,26 @@ int main(void) { \Cref{code::context::examples::sf-modification-simple-c} is a little example program in \gls{C}, which manipulates the return function address stored on the \gls{stack}. This is done by simple and legal in \gls{C} pointer arithmetic. -It abuses the address of the first local variable to create references into the \gls{sf} below on the \gls{stack}. +It (ab)uses the address of the first local variable to create references into the \gls{sf} below on the \gls{stack}. Since the first variable is in the beginning of the \gls{sf} of the called function, it can be used to guess the position of the return address on the \gls{stack}. Depending on the \gls{compiler} settings, the return address is stored either one or two stack entries in front of the first local variable for a function with no arguments. In a brute-force manner the program simply overwrites both entries with the address of \code{simple_printer}. By writing a different function address at these entries, the \code{ret} instruction will jump there, since the original return address has been overwritten. -The result of running this program will be \textit{I wonder who called me?Segmentation fault}. +The output of running this program is +\begin{minted}{md} +I wonder who called me?Segmentation fault +\end{minted} -\Cref{code::context::examples::sf-modification-simple-c-asm} shows the Assembly code of the \code{modifier} function from two different compilation runs. +\Cref{code::context::examples::sf-modification-simple-c-asm} shows the Assembly code of the \code{modifier()} function from two different compilation runs. One version makes use of the RBP register as the \gls{sf} Base-Pointer, and the other relies solely on the Stack-Pointer (RSP) for referencing \gls{sf} variables. -The RBP register is push onto the \gls{stack} in the function-prologue and restored in the function-epilogue, which takes up one \gls{stack} entry. +The RBP register is pushed onto the \gls{stack} in the function-prologue and restored in the function-epilogue, which takes up one \gls{stack} entry. \begin{figure}[ht!] \begin{subfigure}[T]{0.49\textwidth} \centering \begin{minted}[linenos,breaklines]{objdump} +: push rbp mov rbp,rsp movabs rax,0x400690 @@ -144,6 +392,7 @@ nop DWORD PTR [rax+rax*1+0x0] \begin{subfigure}[T]{0.49\textwidth} \centering \begin{minted}[linenos,breaklines]{objdump} +: movabs rax,0x400690 mov QWORD PTR [rsp],rax mov QWORD PTR [rsp+0x8],rax @@ -164,41 +413,359 @@ ret \end{figure} \FloatBarrier -\paragraph{Porting the above to Rust} +\paragraph{Compiler Hardening - Placing A Canary Value} +The manipulation can be mitigated on \gls{C} using the \code{-fstack-protection-all} option with the \gls{clang}. + +\begin{figure}[ht!] +\begin{minted}[linenos,breaklines,highlightlines={3,8-9,13}]{nasm} +: +sub rsp,0x18 +mov rax,QWORD PTR fs:0x28 +mov QWORD PTR [rsp+0x10],rax +mov QWORD PTR [rsp+0x10],0x400770 +mov QWORD PTR [rsp+0x18],0x400770 +mov rax,QWORD PTR fs:0x28 +mov rcx,QWORD PTR [rsp+0x10] +cmp rax,rcx +jne 400760 +add rsp,0x18 +ret +call 4005a0 <__stack_chk_fail@plt> +data16 nop WORD PTR cs:[rax+rax*1+0x0] +\end{minted} +\caption{Stack Frame Modification C/ASM - clang stack protection} +\label{code::examples::sf-modification-clang-protection} +\end{figure} + +The highlighted lines in \cref{code::examples::sf-modification-clang-protection} show the code that are part of the protection mechanism. +On \gls{LX}/\gls{amd64}, it inserts checks into the function prologue and epilogues, that make use the \gls{cpu}'s FS register, which can only be modified by the \gls{os}. +The highlighted lines are part of the stack protection. + +First, the value is written on the \gls{stack} and later checked for equality, this is called a \textit{canary value}. +Inequality indicates a write operation to the stack-frame, so it jumps to the error handler. +This causes the program to quit with the message: \mint{md}{*** stack smashing detected ***: ./stack_handling terminated} + +The following issues can be identified about this detection: +\begin{enumerate} + \item It's not effective in all cases. + If line 5 is omitted, which overwrites the canary value, the check doesn't detect any changes but the return address is manipulated nonetheless by line 6. + \item Checks happen at runtime. + This study is searching for compile-time checks. +\end{enumerate} + +\subsubsection{Porting to Rust} +\label{rnd::weakness-mitig-prev::stack-protection::ret-addr-experiments::rust} +\Cref{code::examples::sf-modification-simple-rust} shows the complete code for the return address modification attempt in Rust. \begin{figure}[ht!] \begin{minted}[linenos,breaklines]{rust} -... +#![feature(naked_functions)] + #[inline(never)] fn modifier() { - let mut sp: usize = 0xdeadbeef; - let addr = &mut sp as *mut usize; - + let v: usize = 0; + let v_addr = (&v as *const usize) as usize; unsafe { - std::ptr::write((addr as usize + 0x30) as *mut usize, - simple_printer as usize); + *((v_addr + 1 * 8) as *mut usize) = simple_printer as usize; } } -... + +#[naked] +fn simple_printer() { + println!("I wonder who called me?"); +} + +fn main() { + modifier(); + println!("main exiting") +} \end{minted} \caption{Stack-Frame Modification \emph{attempt} in Rust} \label{code::examples::sf-modification-simple-rust} \end{figure} +\FloatBarrier +The output of running this program is \textit{I wonder who called me?Segmentation fault}, exactly the same as with the C version. -\cref{code::examples::sf-modification-simple-rust} shows the return instruction modification attempt in Rust. -Note that the hard-coded offset is \code{0x30}, which was individually calculated from the Assembly output. -Things to note: -\begin{itemize} - \item The above source code compiles - \item \code{unsafe} is required for writing to any raw pointers - \item For some reason the manipulation did not succeed. -\end{itemize} +The \code{unsafe} keyword is required here for writing to the calculated raw pointer. +Removing it will cause the compilation to error as follows: +\begin{minted}[breaklines]{md} +error[E0133]: dereference of raw pointer requires unsafe function or block + --> src/main.rs:96:5 + | +96 | *((v_addr + 1 * 8) as *mut usize) = simple_printer as usize; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer +\end{minted} +Without unsafe, \gls{Rust} doesn't compile the program and stack manipulation in this manner is not possible. -\subsection{Rust and the Stack Clash} -\label{rnd::weakness-mitig-eval::stack-protection::rust-stack-clash} -This subsection determines if \gls{Rust} can solve the issue described in \cpnameref{context::weaknesses-mem-safety::manifestations::stack-clash} from userspace and \gls{os} perspectives. +In addition, two annotations had to be added to the code. +The function \code{simple_printer()} requires \code{\#[naked]}, which prevents the compiler from generate pro- and epilogues for it, which would have made assumptions about the stack that the constructed attack didn't satisfy. +The function \code{modifier()} requires \code{\#[inline(never)]}, which prevents the compiler from copying the function's instructions into the caller, so that there is no actual return made. -% TODO https://github.com/rust-lang/rust/issues/16012 +\subsection{Stack Clash} +\label{rnd::weakness-mitig-prev::stack-protection::stack-clash} +This subsection investigates the vulnerability described in \cpnameref{context::weaknesses-mem-safety::manifestations::stack-clash} in detail, from userspace and \gls{os} perspectives. +Current \gls{C} and \gls{Rust} compiler options need to be explored to find mitigation and prevention methods for the issue. +The primary focus is on \gls{Rust}'s static analyzer, while the secondary focus lies on \gls{llvm} , as it is currently the backend used in \gls{Rust}. + +\subsubsection{Inside a hypothetical OS on AMD64} +\label{rnd::weakness-mitig::stack-protection::rust-stack-clash::in-os} +Despite its name, this section is about solving the stack clash that occurs in userpsace by code in the \gls{os}. +As described in \cref{context::os-dev-concepts::hw-supported-mm::multilevel-paging-concept,context::os-dev-concepts::hw-supported-mm::multilevel-paging-amd64}, the \gls{os} works with the \gls{mmu} to implement paging. +The \gls{os} gains control only when a page-fault is triggered, either due to an unmapped \gls{vaddr} or a page protection violation. +The latter is also caused by accessing the guard page behind the \gls{stack}. +The \gls{os} proposal mentioned in \cref{context::weaknesses-mem-safety::manifestations::stack-clash::proposals} suggests to increase this guard page to a bigger guard area. + +\paragraph{Problematic Deferred Page Mapping} +The reason for this mechanism is that some \glspl{os}, including \gls{LX}, perform deferred mapping of pages for the \gls{stack}, i.e. they map the \glspl{vaddr} only when they are accessed by the userspace \gls{app}. +The \gls{stack} can grow by accessing unmapped \glspl{vaddr} until it reaches the guard area. +The issue here is that if a dynamic variable, e.g. a string, could instantly grow large enough to skip the guard area. +If the address at the end of this string would be mapped, e.g. to the heap, the \gls{os} would not even notice that this happened, as the memory access is transparent to the \gls{os}. + +If the \gls{os} forced the \glspl{app} to explicitly request memory instead of mapping on-access, preventing such large growth would be simple. +The trade-offs for this design decision are beyond this study to discuss as it seems to be a mere design decision. +It is also not obvious that \gls{Rust} -- or any compiler for that matter -- could solve this specific problem in the \gls{os}, so there is no more investigation to be done. + +\paragraph{Increasing the Page Size} +The \gls{os} can reserve a sufficiently large area of guard pages behind the process's stack, which are protected so that the process can't access them without causing a page-fault exception. +A sufficiently large stack-based buffer might still allow to jump over the this area\cite{TheStackClash}, so a \gls{os} only solution is not possible. + +The patch\footnote{\url{https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1be7107fbe18eed3e319a6c3e83c78254b693acb}} for the specific vulnerability in \gls{LX} was examined. +The patch doesn't indicate any fixes that could've have been prevented by \gls{Rust}'s static analyzer in the first place. + +\subsubsection{In Userspace} +\label{rnd::weakness-mitig-prev::stack-protection::stack-clash::user-space} +The userspace proposal mentioned in \cref{context::weaknesses-mem-safety::manifestations::stack-clash::proposals} suggests to recompile all \glspl{app} with \code{-fstack-check} enabled in \gls{GCC}, which introduces a certain type of runtime checks. +The search for compile-time checks is documented after explaining this suggestion. + +\paragraph{Runtime Checks} +More specifically, it causes the \gls{compiler} to +"generate code to verify that you do not go beyond the boundary of the stack. ... Note that this switch does not actually cause checking to be done; the operating system or the language runtime must do that. The switch causes generation of code to ensure that they see the stack being extended."\cite[p.~349]{GCC540}. +The note unveils that this mechanism relies on the guard-page to be available. + +\gls{Rust} has a similar feature which it calls stack probing which is turned on by default. +The implementation displayed in \cref{code::context::examples::rust-stackprobe-asm} is extracted from the binary file\footnote{produced with rustc 1.21.0-nightly (aac223f4f 2017-07-30)} compiled from the code shown in \cref{code::examples::huge-stack-rust}. + +\begin{figure}[ht!] +\begin{subfigure}[T]{0.39\textwidth} +\centering +\begin{minted}[linenos=false,breaklines]{nasm} +huge_stack>: +movabs rax,0x100000078 +call 3f4e0 <__rust_probestack> +sub rsp,rax +... +\end{minted} +\caption{Function Prologue} +\end{subfigure} +\begin{subfigure}[T]{0.6\textwidth} +\centering +\begin{minted}[highlightlines={2-7,9},linenos=false,breaklines]{nasm} +__rust_probestack>: +$3f4e0: mov r11,rax +$3f4e3: sub rsp,0x1000 +$3f4ea: test QWORD PTR [rsp+0x8],rsp +$3f4ef: sub r11,0x1000 +$3f4f6: cmp r11,0x1000 +$3f4fd: ja 3f4e3 <__rust_probestack+0x3> +$3f4ff: sub rsp,r11 +$3f502: test QWORD PTR [rsp+0x8],rsp +$3f507: add rsp,rax +$3f50a: ret +$3f50b: nop DWORD PTR [rax+rax*1+0x0] +\end{minted} +\subcaption{Probestack Implementation} +\end{subfigure} +\caption{Rust's Stack Probe Function Assembly} +\label{code::context::examples::rust-stackprobe-asm} +\end{figure} + +On the left, it shows \code{huge_stack}'s function prologue, which has a call to the \code{__rust_probestack} implementation. +It passes the estimated stack size to the probestack via the `rax' resgister. + +On the right side is the probestack implementation. +It is a loop (first highlighted section) which iterates from the stack pointer down to the estimated stack end address ($rsp - r11$) in steps of 0x1000 Byte. +Uncoincidentally this size -- 4 KiB -- is the default page size on \gls{amd64}, this means the loop iterates over every page within the estimated stack. +It calls \code{nasm}{test} on each calculated page address, which acts as an unmodifying access. +This is enough to trigger a page fault in the \gls{mmu}, thus notify the \gls{os} about the stack growth. +The \gls{os} can then check if the guard page was accessed or if the stack is permited to grow this far. + +As this code was extracted from a binary, the estimated stack size must have been calculcated at compile-time. +This is fortunate and drives the investigation further if this check could be performed entirely at compile-time. + +\paragraph{Compile-Time Prevention} +\label{rnd::weakness-mitig-prev::stack-protection::stack-clash::user-space::compile-time} +%The compile-time prevention of the stack clash depends on the ability to predict the stack size and its boundaries accurately. +%This investigation justifies a separate chapter, please see \cref{rnd::stack-size-estimation}. +% +%\chapter{Compile-Time Stack-Size Estimation} +%\label{rnd::stack-size-estimation} +By estimating the stack size at compile-time the stack clash -- covered in \cref{rnd::weakness-mitig-prev::stack-protection::stack-clash}) -- and other undesired stack scenarios, could be predicted without running into them. +In theory, this analysis requires a prediction of the worst-case stack growth for each procedure based on source code information. +This maximum stack growth size must then be compared to stack size limit, as well as the distance and the size of the guard area; it must be equal or less than all given limits. +This could effectively prevent the stack from overflowing and from touching or leaping over the guard area. + +The following simplified unequations must be true: +\begin{equation} + sum~of~all~procedure~stacks =< max~stack~size + \label{equ:size-all-stack-procedures} +\end{equation} +\begin{equation} + each~procedure~stack =< max~procedure~stack~size + \label{equ:size-stack-procedure} +\end{equation} + +The calculation of the above values requires the following variable sizes to be known at the time of calculation: +\begin{listing}[ht!] +\begin{enumerate} + \item{Prologue space allocation, depends on local variables and arguments} + \item{Stack limit: the maximum stack size is not equal on all \glspl{os}, and can even change per process} + \item{The page size and guard area size: not equal on all \glspl{os}} + \item{Dynamically sized stack variables have no static upper boundary} + \item{Cyclic procedure calls cause endless stack growth, including recursion} +\end{enumerate} +\caption{Variables Required for Stack Overflow Prediction} +\label{lst:variables-stack-overflow} +\end{listing} + +The following paragraph +The maximum stack size and the guard area size must be supplied to the compiler. +Dynamically sized stack variables and circular prodecure calls are more difficult to solve. + + +\subparagraph{Rust's State} +\gls{llvm} has an option called \code{-warn-stack-size=}, and has been enabled for this investigation. +How this option can be configured is explained in \cref{rnd::rust::cargo::tweak-llvm}. +Various combinations of the following configuration options have been tried: + +\begin{minted}[breaklines]{markdown} +-asan-stack - Handle stack memory +-safe-stack-layout - enable safe stack layout +-warn-stack-size= - Warn for stack size bigger than the given number +\end{minted} +The first two options are not expected to have an effect on the static analysis yet curious whether they have an additonal effect on runtime overflow detection. + +\begin{figure}[ht!] +\begin{minted}[breaklines,highlightlines={3,4}]{rust} +#[inline(never)] +fn huge_stack() { + const slice_length: usize = 0x100_000_000; + let slice: [u64; slice_length] = [0xdeadbeef; slice_length]; + let slice_start_addr = &slice[0] as *const u64; + let slice_end_addr = &slice[slice_length - 1] as *const u64; + println!("{:?} - {:?} = {:?}", + slice_start_addr, + slice_end_addr, + (slice_end_addr as usize - slice_start_addr as usize) / std::mem::size_of::()); +} + +fn main() { + huge_stack(); + println!("main exiting") +} +\end{minted} +\caption{Program that allocates a huge slice on the stack} +\label{code::examples::huge-stack-rust} +\end{figure} +\FloatBarrier + +The highlighted lines in \cref{code::examples::huge-stack-rust} construct a slice on the stack with the size of $8 * 0x100000000 = 0x800000000 = 4,294,967,296$ Bytes (4GiB), which would fill the main memory of any 32-Bit system and should definitely be enough to trigger the configured stack warning. + +Unexpectedly this program compiled without a warning; +It was expected that the \gls{compiler} detects this huge statically allocated stack array, compares it to the configured maximum allowed size and reports the violation. +At runtime it crashes with this message: + +\begin{minted}{md} +thread 'main' has overflowed its stack +fatal runtime error: stack overflow +Aborted +\end{minted} +The various optoins had no effect on the runtime output. + +One part of this message is even more unexpected, it is said to have overflowed the \code{main} stack although it is known that \code{huge_stack} is the function that allocates too much space on the \gls{stack}. + +\paragraph{Available Size Information} +Taking a look at the function prologue reminds one that an estimaation of the stack size is in fact calculated, passed to \gls{Rust}'s probestack implementation, and then subtracted from the stack pointer (RSP) to reserve this space onthe \gls{sf}. + +\begin{minted}{nasm} +huge_stack: + movabs rax,0x800000078 + call 3e120 <__rust_probestack> + sub rsp,rax +\end{minted} + +Out of the five variables required (\cpnameref{lst:variables-stack-overflow}), this serves the first a simplest one: prologue-allocated space. +A source code investigation of \gls{rustc} and \gls{llvm} has yielded the information that the function prologue is emmited by \gls{llvm}, and the Rust compiler has no knowledge about the \gls{sf} size.. + +\paragraph{Cyclic Procedure Calls} +Cyclic procedure calls are currently undetected, and the following code compiles fine: +\begin{minted}{rust} +fn a(i: usize) { b(i+3); } +fn b(i: usize) { a(i+5); } +fn main() { a(0); } +\end{minted} +Naturally this program causes a stack overflow at runtime, as it grows its stack with every function call and eventually hits the \gls{os} guard page or the maximum allowed stack size, depending on which is more restrictive. + +\subparagraph{Uncodontional Recursion Detection} +Unconditional recursion is a special case of cyclic procedure calls and is detected in Rust. +The following is a minimal example of such a situation: + +\begin{minted}{rust} +#![deny(unconditional_recursion)] + +fn a() { a(); } +fn main() { a(); } +\end{minted} + +By default, the compiler merely warns upon detection, but via the following line in the source code header it will abort compilation with an error instead: + +\begin{minted}[breaklines]{md} +error: function cannot return without recurring + --> src/main.rs:123:1 + | +123 | fn a() { a(); } + | ^^^^^^^^^^^^^^^ + | +note: lint level defined here + --> src/main.rs:2:9 + | +2 | #![deny(unconditional_recursion)] + | ^^^^^^^^^^^^^^^^^^^^^^^ +note: recursive call site + --> src/main.rs:123:10 + | +123 | fn a() { a(); } + | ^^^ + = help: a `loop` may express intention better if this is on purpose +\end{minted} +The error is very explicit about the finding, including the fact that the denial of unconditional recursion is user intended. + +% TODO: https://gcc.gnu.org/onlinedocs/gnat_ugn/Static-Stack-Usage-Analysis.html + +\paragraph{State Summary and Suggestions} +Not all required information is available at compilation-time. +\Cref{lst:amd64-stack-frame-components} is an extended version of the earlier determined list \cref{lst:variables-stack-overflow}. +This one includes the previous findings and suggestions on how this information could be retrieved. + +\begin{table} + \begin{tabularx}{\textwidth}{@{}lX@{}} + \toprule + Information & Information Availability \\ + \hline + Prologue space allocation & Available in \gls{llvm} \\ + Stack limit & Not available. Suggestions: heuristics in compiler, or provided by user. This must match the target system not necessarily the compiler system. \\ + Page size & see above \\ + Guard area & see above \\ + Recursiv procedure calls & Available. \\ + Cyclic procedure calls & Not available. \\ + \bottomrule + \end{tabularx} +\caption{Result: Variables Required for Stack Overflow Prediction} +\label{lst:result-variables-stack-overflow} +\end{table} +\FloatBarrier + +Dynamically sized stack variables have been omitted from the table since they are irrelevant. +On stack variable-length-arrays and variadic arguments are not supported by \gls{Rust}, and there is no indication of other use-cases. \chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} The numerous \gls{LX} vulnerabilities are a great motivator for using \gls{Rust} for \gls{LX} drivers. @@ -208,6 +775,50 @@ This chapter presents the attempt to use \gls{Rust} for a simple buffer that is \chapter{Existing \glsentrytext{os}-Development Projects Based On Rust} \label{rnd::existing-os-dev-with-rust} +This chapter presents research papers and existing projects that are related to this study. +In addition to presenting their content, the author's tangible influence on the Rust language is determined. + +\section{Research Papers} +\label{rnd::existing-os-dev-with-rust::papers} +As Rust is a relatively young language, the selection of research papers relevant for this study is limited. +This is likely due to the fact that Rust hasn't been stabilized until May 15, 2015\footnote{\url{May 15, 2015}}, and relied on a runtime gargabe-collector for a long time of it's pre-stable existence. + +\subsection{ + \citetitle{Levy2015a} +% \cite{Levy2015a} +} +\citeauthor{Levy2015a} have been using Rust to develop a new embedded system \gls{os} for microcontrollers called Tock. +They describe to find Rust's ownership model restricting by preventing safe resource sharing in embedded-typical event-based scenarios. +They made suggestions to extend the langauge with Execution Contexts, which would "allow programs to mutably borrow values multiple times as long as those borrows are never shared between threads. Execution contexts allow the compiler to distinguish such sharing from actual errors using only local analysis." + +On their website the authors recently made the following statement: +"After feedback from the Rust developers and the community, we were able to overcome those challanges without modifications to the language. We also learned that we understated how disruptive some of the changes we proposed would be to the language and do not believe they are worthwhile. This has been discussed extensively now in the Rust community. You should read this paper critically, not as conclusive scientific findings, but as the perspectives of the authors during a particular point in the development of Tock."\cite[/papers]{TockOS} + +\subsection{ + \citetitle{Beingessner2015} +% \cite{Beingessner2015} +} +Covered in \cref{rnd::rust} + +\subsection{ + \citetitle{Reed2015} +% \cite{Reed2015} +} +\subsection{ + \citetitle{Getreu2016} + \cite{Getreu2016} +} +\subsection{ + \citetitle{Balasubramanian2017} +% \cite{Balasubramanian2017} +} +\subsubsection{Software Fault Isolation} +- TODO: content from \cite{Balasubramanian2017} +\subsection{ + \citetitle{Nilsson2017} +% \cite{Nilsson2017} +} + \section{Libraries} @@ -216,29 +827,568 @@ This chapter presents the attempt to use \gls{Rust} for a simple buffer that is \section{Systems} -\subsection{intermezzOS} +Most of the presented systems target the \gls{amd64} architecture; Tock OS, which is targeted towards an ARM variant, is the only exception. +The interesting parts of each \gls{os} are their origin, intentions, their current state, the level of memory-safety, and what design or language features made this level possible. + \subsection{Blog OS} +\label{rnd::existing-os-dev-with-rust::systems::blog-os} +Blog OS is a hobby project about writing an OS in \gls{Rust}. +It is well documented by the author through insightful blog posts\footnote{\url{https://os.phil-opp.com/}}. + +\subsubsection{General State} +Blog OS has a working memory allocator which allows them to use Rust's heap-based features. +Exception handlers are stubbed and there are no notions of tasks yet. +The focus lies on a Rust-idiomatic implementation of the \gls{os} features. + +\subsubsection{Paging With Type Safety} +\label{rnd::existing-os-dev-with-rust::systems::blog-os::mm} +Blog OS uses Rust's type system to model the hierarchical page tables (\cref{context::os-dev-concepts::hw-supported-mm::multilevel-paging-amd64}) in code in a safe way. +This is explained in on one of his blog posts\footnote{\url{https://os.phil-opp.com/page-tables/}}, and demonstrates how Rust can help to prevent mistakes. + +Please note that the example has been rewritten for a 2-level page table hierarchy simply to save space in this document. +The methodology is the same for all levels above 1, so it is sufficient to have only one level above for demonstration. +The code example includes comments which are relevant for the understanding. + +Starting with the result is the fastest way to explain this. +The highlighted line in the following code is supposed to fail in this test, as the lowest page table hierarchy is not followed by another one. +\begin{minted}[breaklines,highlightlines=5]{rust} +pub const P2: *mut Table = 0xffffffff_fffff000 as *mut _; + +fn test() { + let p2 = unsafe { &*p2 }; + p2.next_table(42) + .and_then(|p1| p1.next_table(0xcafebabe)) +} +\end{minted} + +The \code{P2} pointer is a static memory location, to which the page table has hypothetically been written by the \gls{os}. +It doesn't matter for testing purposes, because this test fails compilation successfully and is not able to run. +The following error occurs on compilation: + +\begin{minted}[breaklines]{md} +error: no method named `next_table` found for type + `&memory::paging::table::Table` + in the current scope +\end{minted} + +This is achievied by defining the types accordingly: + +\begin{minted}[breaklines,highlightlines={}]{rust} +// Empty enum provide distinct type for each level +pub enum Level2 {} +pub enum Level1 {} + +// Trait for the lowest level +pub trait TableLevel {} + +// Trait for all above levels, need a nested type to indicate what type follows after them +trait HierarchicalLevel: TableLevel { + type NextLevel: TableLevel; +} + +// All levels above 1 are hierarchical and statically define what level comes next, e.g. +// ... Level4 { type NextLevel = Level3; } +// ... Level3 { type NextLevel = Level2; } +impl HierarchicalLevel for Level2 { type NextLevel = Level1; } +impl TableLevel for Level1 {} + +// Use PhantomData to consume the TableLevel as it is detected as unused and won't compile +use core::marker::PhantomData; +pub struct Table { + entries: [Entry; ENTRY_COUNT], + level: PhantomData, +} + +// Unified next_table method for all levels! +impl Table where L: HierarchicalLevel +{ + pub fn next_table(&self, index: usize) -> Option<&Table> {...} +} +\end{minted} + +\subsubsection{Influences on Rust} +\label{rnd::existing-os-dev-with-rust::systems::blog-os::influence} +The author filed a pull-request\footnote{\url{https://github.com/rust-lang/rust/pull/39832}} against Rust that enabled the x86-interrupt calling convention for \gls{Rust}, which is supported by the underlying \gls{llvm}. +The change was accepted by the maintainers. + +The pull-request describes the motivations for the change, two of which are: interface safety and increased performce. +In detail: +\begin{enumerate} + \item Safer interfaces: We can write a \code{set_handler} function that takes a \code{extern "x86-interrupt" fn(&ExceptionStackFrame)} and the compiler ensures that we always use the right function type for all handler functions. This isn't possible with the \code{#[naked]} attribute. + \item Higher performance: A naked wrapper function always saves all registers before calling the Rust function. This isn't needed for a compiler supported calling convention, since the compiler knows which registers are clobbered by the interrupt handler. +\end{enumerate} + +Argument 1 is a way to prevent mistakes made by the \gls{os} developer when working on the interrupt handlers, thus increasing safety. +This is smilar to the type safety explained in \cref{rnd::existing-os-dev-with-rust::systems::blog-os::mm}. +It could be strengthended even more, as one could define a type for each specific interrupt handler and entry which are forced to match by the \gls{compiler}'s type checks. + +Argument 2 explains that context switches to and from interrupt handlers can be sped up, as the \gls{compiler} can now examine the interrupt handler and only store and restore those \gls{cpu} registers that are actually used by the function. + \subsection{Redox OS} +The Redox OS has a "hybrid kernel that supports X86\_64 systems and provides Unix-like syscalls for primarily Rust applications"\footnote{\url{https://doc.redox-os.org/kernel/kernel/}} +Ii is entirely written in Rust (with necessary inline ASM) and supports\footnote{\url{https://www.redox-os.org/}} the Rust standard library. + +\paragraph{General State} +Its state has far surpassed being a hobby project, featuring multitasking on multiple CPUs, user- and kernel-space threads, a file system, rudimentary networking support and graphical output. + +The userland of Redox OS provides a package manager, a graphical desktop environment, and due to its \gls{microkernel} aspect also the device drivers. + +\paragraph{Page Management inspired by Blog OS inspired} +A comment in the Redox kernel\footnote{\url{https://github.com/redox-os/kernel/blob/b364d052f20f1aa8bf4c756a0a1ea9caa6a8f381/src/arch/x86_64/paging/mod.rs\#L2}} explitly states to include code taken from the Blog OS paging implementation \cref{rnd::existing-os-dev-with-rust::systems::blog-os::mm}. + +\subsubsection{Stack Clash Invulnerable} +The page-fault handler in Redox OS is as simple as\footnote{\url{https://github.com/redox-os/kernel/blob/b364d052f20f1aa8bf4c756a0a1ea9caa6a8f381/src/arch/x86_64/interrupt/exception.rs\#L81}} + +\begin{minted}[autogobble,breaklines,highlightlines=6]{rust} +interrupt_error!(page, stack, { + let cr2: usize; + asm!("mov rax, cr2" : "={rax}"(cr2) : : : "intel", "volatile"); + println!("Page fault: {:>02X}:{:>016X} at {:>02X}:{:>016X}", stack.code, cr2, stack.cs, stack.rip); + stack_trace(); + ksignal(SIGSEGV); +}); +\end{minted} +On Redox OS \emph{every} page-fault unconditionally sends the \textit{SIGSEGV} signal (line highlighted) to the process that caused the page-fault. +It does not use deferred page mapping described in \cref{rnd::weakness-mitig::stack-protection::rust-stack-clash::in-os}, and is therefore not vulnerable to the stack clash. +This is based on a design decision and has little to do with \gls{Rust}. + +\subsection{Influences on Rust} +The main author of Redox OS has become an active contributor to the Rust language, likely with the main motivation of making Rust more suitable for \gls{os} development. + +The biggest achievement from the perspective of this study is the successful integration into Rust's libstd, which happened continuously and cannot be referenced easily. +This allows programmers to use Rust with all it's features to develop programs for Redox OS. + \subsection{Tock OS} -Tock OS is "an embedded operating system designed for running multiple concurrent, mutually distrustful applications on low-memory and low-power microcontrollers."\footnote{\url{https://www.tockos.org/}} +Tock OS is "an embedded operating system designed for running multiple concurrent, mutually distrustful applications on low-memory and low-power microcontrollers."\cite{TockOS} -In retrospection about their paper \citetitle{Levy2015a}\cite{Levy2015a} which reported on challenges they ran into early on building Tock in Rust, they state today: -"After feedback from the Rust developers and the community, we were able to overcome those challanges without modifications to the language. We also learned that we understated how disruptive some of the changes we proposed would be to the language and do not believe they are worthwhile. This has been discussed extensively now in the Rust community. You should read this paper critically, not as conclusive scientific findings, but as the perspectives of the authors during a particular point in the development of Tock."\footnote{\url{https://www.tockos.org/papers/}} +\subsubsection{Task Model} +\subsubsection{Memory Management} + +\subsection{intermezzOS} +"intermezzOS is a teaching operating system, specifically focused on introducing systems programming concepts to experienced developers from other areas of programming."\footnote{\url{https://intermezzos.github.io/}} + +The project consists of two source code repositories and an accompanying book. +It has been inspired by the Blog OS, the author of which is also a contributor to intermezzOS. + +The "bare-bones" contains only rudimentary machinery, from which the book walks the developer step-by-step to a successful boot of the kernel within a virtual machine emulator. + +The "kernel" contains more advanced development and even surpasses the books latest chapters. +This code base has been chosen as the foundation for the \gls{os} developments for this studies. +Starting with this code base, preemptive multitasking is implemented, with the goal to learn as much as possible about the languages memory-safety aspects. +This development is documented in \cref{rnd::imezzos-preemptive-multitasking}. + +\subsection{Others} +This section gives an overview over the many projects I have stumbled upon that I think are worth mentioning. +All these projects are undertakings to write \gls{os}s in Rust, and interested readers might want to take a look around. +While it's fortunate to see that Rust has gained popularity among \gls{os} development interested programmers, the effort of investigating each cannot be spent in the course of this work. + +\paragraph{Tifflin} +Experimental Kernel (and eventually Operating System). +\url{https://github.com/thepowersgang/rust_os} + +\paragraph{Rust Bare-Bones Kernel} +This is designed to be a rust equivalent of the \url{OSDev.org} Bare\_Bones article, presenting the bare minimum you need to get started. +\url{https://github.com/thepowersgang/rust-barebones-kernel} + +\paragraph{Bare Metal Rust: Building kernels in Rust} +A blog series that advances Blog OS (\cref{rnd::existing-os-dev-with-rust::systems::blog-os}). +\url{http://www.randomhacks.net/bare-metal-rust/} + +\paragraph{The Stupid Operating System} +SOS is a simple, tiny toy OS implemented in Rust. +\url{https://github.com/hawkw/sos-kernel/} -- TODO: shortly describe their initial issues with Rust - \chapter{\glsentrytext{imezzos}: Adding Preemptive \glsentrytext{os}-Level Multitasking} \label{rnd::imezzos-preemptive-multitasking} +Development on intermezzOS -- or any other \gls{os} -- requires features that are only available in Rust's nightly version. +This version is under very active development, and at the I started development on interemezzOS, the project was not compatible with the current version. +Debugging a system that does not work for someone who never experienced the working state is hard, and the initial learning curve for the required tools, in addition to learning a new language, was very steep. +This chapter assumes basic knowledge on how binaries are compiled and linked by a chain of tools. -\section{Timed Interrupts For Scheduling and Dispatching} +\paragraph{On Code Length in this Chapter} +I am aware that the code takes up much space, but I have decided to keep it as is, as this study is about \gls{os} \emph{development}, which is the combination of theoretical knowledge and practical implementation. +To keep this document self-contained and allow a comfortable reading experience, the findings and code are tightly coupled. -\section{Simple Stack Allocation Scheme} +It shows that \gls{GCC} is still required in the development process, at least for this specific \gls{os}. +However, it is only used for linking and not for actual compilation. -\section{Risk Of Stack-Overflow} -% TODO: The compiler doesn't check for stack overflows. -% TODO: Describe possible implementation. -% Parameters: -% Stack limit for each function: user defined constant, -% Stack size for each function: calculated, -% Call-Tree: calculated, +\begin{minted}[breaklines]{diff} +--- a/x86_64-unknown-intermezzos-gnu.json ++++ b/x86_64-unknown-intermezzos-gnu.json +@@ -3,7 +3,8 @@ + "cpu": "x86-64", + "data-layout": "e-m:e-i64:64-f80:128-n8:16:32:64-S128", + "executables": true, +- "linker-flavor": "gcc", ++ "linker": "gcc", ++ "linker-flavor": "gcc", + "llvm-target": "x86_64-unknown-none-gnu", + "no-compiler-rt": true, + "os": "intermezzos", +\end{minted} + +The changes not very interesting, but the file per-se is. +It is used to teach \gls{rustc} about the target system, so that it can produce compatible code. + +\paragraph{Toolchain} +The following tools form the toolchain required to work on interemezzOS: +\begin{itemize} + \item rustc -- \glsentrylong{rustc} + \item cargo -- \glsentrylong{cargo} + \item xargo -- \glsentrylong{xargo} + \item nasm -- Assembly compiler + \item ld -- Linker + \item qemu-system-x86\_64 + \item grub2-mkrescue -- GRUB2 Bootloader bmage builder + \item xorriso -- ISO file writer + \item gdb -- Debugger + \item make -- Because Makefile is (still) being used. +\end{itemize} + +\paragraph{Build Process} +The build process gives an impression of what is required to build an \gls{os} executable with \gls{Rust}. +\begin{enumerate} + \item \code{make} manages the inter-dependencies of the build process. + \item \code{nasm} compiles an assembly from that bootstraps the system from multiboot stage for 32-Bit mode. + \item \code{rustc} compiles the Rust programs which contains the 64-Bit code. + \item \code{ld} is used to link these two together and form a multiboot compliant kernel binary. + \item \code{grub2-mkrescue} is used to generate a multiboot-compliant bootloader. It will load the kernel binary. + \item \code{xorriso} combines the kernel binary and bootloader into a bootable ISO + \item \code{qemu-system-x86_64} can be used to boot the ISO +\end{enumerate} + +\section{Development State} +The anticipated development of preemptive multitasking has been reached. +Tasks are represented by plain \code{fn()} instances. +The tasks and the task table are statically defined in the \gls{os} source code. +Task switches are driven by the Programmable-Interrupt-Timer, for which a driver has been implemented. +The task scheduler works in a round-robin fashion and detects stack overflows. +Any stack overflowing task is not scheduled anymore. +The stack size is statically defined and is allocated globally by the compiler. + +The implementation uses no dynamic memory allocations, thus there was no experience gathered with managing dynamic memory within the \gls{os}. +The global state references might be accessed by any defined task, e.g. allowing TODO + + +\section{System Clock Driver} +This section will walk through the creation of a simple clock driver. + +The first usage of traits was the definition and implementation of the \code{Clock} trait for the \code{Pic} type. +The trait defines the properties of a driver that implements a Clock, and the Pit is the hardware specific implementation for this trait. + +\subsection{Trait and Pit Implementation} +\paragraph{Trait Definition} +The trait defines a clean interface for any system clock. +The highlighted lines show the \code{unsafe} functions within this trait. +This is used to force the caller to use \code{unsafe}, which must only be done with care and never from a regular task. + +\begin{minted}[breaklines,highlightlines={4,18}]{rust} +/// The Clock trait is for each clock type. +pub trait Clock { + /// Start the clock + unsafe fn start(&self); + + /// Receive the frequency the clock is set for + fn frequency(& self) -> SimpleResult; + + /// Update the internal clock counter by one. + /// The time of one tick is `1/self.frequency()`s. + unsafe fn tick(&self); + + /// Receive the current tick counter + fn ticks(&self) -> SimpleResult<(u64, Duration)>; + + /// Returns the uptime as `Duration`. + /// This assumes that **all** fired clock interrupts have successfully called `self.tick()`. + fn uptime(& self) -> SimpleResult; +} +\end{minted} + +\paragraph{Implementing Clock for Pit} +This code lives in the same file as the Clock trait, but it shows how code can be structured by modules. +The \code{use} statements are required for using anything defined outside of the module, even for parent constants as can been. +This is a clean way of handling hardware-specific constants. + +\begin{minted}[breaklines,highlightlines={4,6}]{rust} +/// This module implements a system clock using the Programmable Interrupt Timer +/// ... +pub mod pit { + ... + use super::consts::NSEC_MULTIPLIER; + ... + + /// Constants definitions for the pit module + pub mod consts { + pub const BASE_FREQUENCY: u32 = 1193182; + ... + pub const CHANNEL_IO_PORTS: [u16; 3] = + [CHANNEL0_IO_PORT, CHANNEL1_IO_PORT, CHANNEL2_IO_PORT]; + } + + ... + + /// Type for the Programmable-Interrupt-Timer + pub struct Pit { + pub frequency: Frequency, + divisor: u16, + pub resolution: u64, + channel: u8, + ticks_atomic: AtomicUsize, + } + ... +\end{minted} +Some of the fields of \code{Pit} are made \code{pub}lic, notice that the counter is not one of them. + +\subsection{Global CLOCK State} +\paragraph{Initialization} +The state of the clock is held globally, though it must be initialized with non-static code. +This is possible in Rust lazy initialization, which works by defining a static reference, implementing the singleton pattern. + +The dereference method for this reference has been automatically generated to call the initialization code on first reference. +The compiler is aware of this and reserves memory at compile time. +This functionality is implemented by an external crate called \emph{lazy\_static}. + +\begin{minted}[breaklines]{rust} +/// Initialization of these references happens on first deref +lazy_static! { + static ref CONTEXT: intermezzos::kernel::Context = intermezzos::kernel::Context::new(); + static ref CLOCK: clock::pit::Pit = clock::pit::new(0, (0x71ae) as u16); + ... +} + +... + +/// Task0 starts the clock, enables interrupts and goes to sleep. +fn task0() { + // This will trigger clock::pit::new(...) and then call .start() + unsafe { CLOCK.start() }; + kprintln!(CONTEXT, + "System clock set up. Frequency: {} / Resolution: {}ns", + // pub fields can be accessed + CLOCK.frequency, + CLOCK.resolution); + ... +} +\end{minted} + +As can be seen in the code snippet, the \gls{os}'s \code{CONTEXT} reference is stored next to it. +The task0 can then simply access the public fields. + +\paragraph{Starting The Clock} +The driver uses an atomic integer type that is part of the core library, which is predestined as a clock counter. +It doesn't require a lock even when shared via multiple tasks. + +\begin{minted}[breaklines]{rust} +pub mod pit { + use x86::shared::io::outb; + use core::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT}; + ... +} +... +impl Clock for Pit { + unsafe fn start(&self) { + let lobyte = (self.divisor & 0xFF) as u8; + let hibyte = ((self.divisor >> 8) & 0xFF) as u8; + unsafe { + outb(consts::COMMAND_PORT, gen_command(self.channel)); + outb(consts::CHANNEL_IO_PORTS[self.channel as usize], lobyte); + outb(consts::CHANNEL_IO_PORTS[self.channel as usize], hibyte); + }; + } + ... + unsafe fn tick(&self) { + self.ticks_atomic.fetch_add(1, Ordering::SeqCst); + } + ... +} +\end{minted} +The \code{start} method is the first occurrence of \code{unsafe}, which is required to perform raw I/O port access using \code{outb}. +\code{tick} is extremely simple, it uses a method to atomically add one, requesting a specific ordering: \textit{SeqCstr: Like AcqRel with the additional guarantee that all threads see all sequentially consistent operations in the same order}.\footnote{\url{https://doc.rust-lang.org/core/sync/atomic/enum.Ordering.html}} +This method is called in the \gls{os} timer interrupt handler. + + +% TODO: Is the static analysis of hardware specific assembly code possible and useful at all? +% TODO: LLVM knows about the target and can potentially give hints about hardware specific instructions + +\section{Timer Interrupt For Scheduling and Dispatching} +\label{rnd::imezzos-preemptive-multitasking::timer-interrupt-scheduling} +The timer interrupt will trigger according to the frequency that was set for the \code{Pit} clock driver previously explained. + +\subsection{Macro For Interrupt-Handler Setup} +\label{rnd::imezzos-preemptive-multitasking::timer-interrupt-scheduling::macro} +The handler definition is assisted by the a macro rule that had existed in the codebase but was significantly changed. +It showcases macro and also inline assembly functionality. + +\subsubsection{Macro Semantics} +The macro matches one pattern with five language items. +This means that it cannot be invoked with more or less items. +Additionally, they have different language item types, which make them match only certain token trees. +The passed \code{name} will be the name of the defined function. +\code{$esf:ident: $esfty:ty} at usage, looks like a normal variable definition with a name a and a type. +It is used as the parameter for the interrupt handler. +The \code{$body} is the function body of the interrupt handler, defined by the macro caller. +The last important aspect of the macro semantics is that the last line within the emitted code does not have a semicolon, which means the macro expression will evaluate to this value, namely an instance of \code{IdtEntry}. + +\begin{figure}[ht!] +\begin{minted}[breaklines,linenos,highlightlines={3,6,12,17,21}]{rust} +#[macro_export] +macro_rules! make_idt_entry { + ($name:ident, $esf:ident: $esfty:ty, $ir_gate:expr, $body:expr) => {{ + ... + + extern "x86-interrupt" fn $name($esf: $esfty) { + unsafe { + asm!("" + : // output operands + : // input operands + : // clobbers + "rax", "rbx", "rcx", "rdx", "rsi", "rdi", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "rbp" + : // options + "intel" "volatile" + ); + } + $body + }; + ... + let handler = VAddr::from_usize($name as usize); + IdtEntry::new(handler, 0x8, PrivilegeLevel::Ring0, $ir_gate) + }}; +} +\end{minted} +\caption{intermezzOS: Macro for defining Interrupt Handlers} +\label{code::imezzos::ir-handler-macro} +\end{figure} +\FloatBarrier + +\subsubsection{OS Semantics} +It is worth explaining how the macro semantics are used to model \gls{os} semantics in \cref{code::imezzos::ir-handler-macro} + +\paragraph{Interrupt ABI Function Type} +For each defined handler, the macro allows to set the argument type for the handler function. +The \emph{value} will be passed at runtime by the \gls{cpu} for each interrupt, and not each interrupt uses the same layout for this argument. +This type must match the exception \gls{sf} layout introduced in \cpnameref{fig:amd64-long-mode-interrupt-stac}, which can be either with or without the error field. +This decision is made by the macro caller, as the interrupt type is not known within the macro, and can only be known by the developer later. + +Thanks to the pull-request described in \cpnameref{rnd::existing-os-dev-with-rust::systems::blog-os::influence}, the \code{extern "x86-interrupt"} can be used for defining the interrupt types. +It enables the proper handling of the first argument, and in combination with the \emph{clobber} registers shown in \cref{code::imezzos::ir-handler-macro} line 11, enables the compiler to generate a functoin pro- and epilogue to automatically \code{PUSH/POP} all named registers from the stack. +As a result, the inline assembly string provided by the programmer is empty, which alleviates the necessatiy of \code{unsafe}. + +\paragraph{Inline Assembly} +Further, the inline assembly is interesting. + +\paragraph{Inline Assembly} + +\begin{minted}[breaklines]{rust} + let timer = make_idt_entry!(isr32, esf: &mut ExceptionStackFrame, true, { + ... + unsafe { CLOCK.tick() }; + ... +\end{minted} +TODO + + +\section{Tasks and Stacks} +\label{rnd::imezzos-preemptive-multitasking::tasks-stacks} +The implementation of the tasks has been kept straight forward, using static variables. + +\subsection{Declaration and Intantiation} +\label{rnd::imezzos-preemptive-multitasking::tasks-stacks::dni} +\Cref{code::imezzos::stack-and-tasks-1} defines a \code{Stack} with a top and a bottom address based which are offset by a constant. +Subsequent stacks grow the multiplier by 10, which keeps space between the stacks. + +\begin{listing}[ht!] +\begin{minted}[breaklines,highlightlines={4-7}]{rust} +const STACKS_TOP: usize = 0x1_000_000; // 15.7MiB +const STACK_SIZE: usize = 0x_002_000; // 64KiB +use tasks::stack::Stack; +const TASK0_STACK: Stack = Stack { + top: STACKS_TOP - 10 * STACK_SIZE, + bottom: STACKS_TOP - (10 + 1) * STACK_SIZE, +}; +\end{minted} +\caption{intermezzOS: Stack and Task Definition - 1} +\label{code::imezzos::stack-and-tasks-1} +\end{listing} + +\Cref{code::imezzos::stack-and-tasks-2} defines a \code{TaskEntry} in a static array of the same. +The highlighted lines are unique to each task. +In the given order, they represent their first instruction, their initial top of stack, and their initial set of \gls{cpu} registers. +Except for the instruction pointer, these variables have their own type and cannot easily be mixed up. + +\begin{listing}[ht!] +\begin{minted}[breaklines,highlightlines={7,9,12}]{rust} + let tasklist = [ + tasks::TaskEntry { + name: "Task 0", + esf: interrupts::ExceptionStackFrame{ + code_segment: 0x8, + stack_segment: 0x10, + instruction_pointer: task0 as usize, + cpu_flags: 0x200202, + stack_pointer: TASK0_STACK.top, + }, + stack: TASK0_STACK, + registers: tasks::TaskRegisters::empty(), + blocked: false, + }, + ... + tasks::TaskEntry { + ... + }, + ]; +\end{minted} +\caption{intermezzOS: Stack and Task Definition - 2} +\label{code::imezzos::stack-and-tasks-2} +\end{listing} + +\Cref{code::imezzos::stack-and-tasks-3} wraps this array by a \code{Mutex}, which is returned by the expression and stored as a \code{lazy_static} reference as explained in the previous section. +The \code{Mutex} type is interesting, as it provides \emph{interior mutability}. +This explains how the tasklist can be mutated at runtime, even though it is not declared as \code{mut}. + +\begin{listing}[ht!] +\begin{minted}[breaklines,highlightlines={7}]{rust} +lazy_static! { +... +static ref TSI: Mutex = { + let tasklist = [ + ... + ]; + Mutex::new(tasks::TaskStateInformation::new(tasklist)) + }; + ... +}; +\end{minted} +\caption{intermezzOS: Stack and Task Definition - 3} +\label{code::imezzos::stack-and-tasks-3} +\end{listing} + +\subsection{Preemptive Task Switches} + +\subsection{Task Definitions} + +\section{Safety} +\subsection{Protecting Static Resources} + TODO +\begin{minted}{md} +error: usage of an `unsafe` block + --> src/main.rs:499:5 + | +499 | unsafe { CLOCK.start() }; + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | +note: lint level defined here + --> src/main.rs:497:8 + | +497 | #[deny(unsafe_code)] + | +\end{minted} + +\subsection{Risk Of Stack-Overflow} +TODO +- TODO: reference stack protection +Give a practical example what this could look like with an extension attribute + +\chapter{Result Summary} +- TODO +TODO diff --git a/src/docs/thesis.bib b/src/docs/thesis.bib index bc8745d..7301b8b 100644 --- a/src/docs/thesis.bib +++ b/src/docs/thesis.bib @@ -3,14 +3,198 @@ Any changes to this file will be lost if it is regenerated by Mendeley. BibTeX export options can be customized via Options -> BibTeX in Mendeley Desktop -@article{GCC540, -abstract = {This manual documents how to use the GNU compilers, as well as their features and incom- patibilities, and how to report bugs. It corresponds to the compilers (GCC) version 5.4.0. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. See Section Introduction in GNU Compiler Collection (GCC) Internals.}, -author = {Stallman, Richard M}, -file = {:home/steveej/src/steveej/msc-thesis/docs/gcc-5.4.0.pdf:pdf}, -isbn = {188211437X}, -journal = {Development}, -title = {{Using the GNU Compiler Collection}}, -url = {https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gcc.pdf} +@article{Beingessner2015, +author = {Beingessner, Alexis}, +file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, +title = {{YOU CAN'T SPELL TRUST WITHOUT RUST}}, +year = {2015} +} +@misc{OsPhilOpp, +author = {Oppermann, Philipp}, +title = {{Writing an OS in Rust}}, +url = {https://os.phil-opp.com/} +} +@article{Balasubramanian2017, +abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, +author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, +title = {{DRAFT: System Programming in Rust: Beyond Safety}}, +year = {2017} +} +@inproceedings{Ma2013, +abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, +author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, +booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, +doi = {10.1109/DASC.2013.37}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Dynamic Detection Method to C-C++ Programs Memory Vulnerabilities Based on Pointer Analysis.pdf:pdf}, +isbn = {9781479933815}, +keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, +pages = {52--57}, +title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, +year = {2013} +} +@article{Dhurjati2003, +abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, +author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, +doi = {10.1145/780742.780743}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, +isbn = {0362-1340}, +issn = {03621340}, +journal = {Acm Sigplan Notices}, +keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, +number = {7}, +pages = {69--80}, +title = {{Memory safety without runtime checks or garbage collection}}, +volume = {38}, +year = {2003} +} +@article{Junker, +author = {Junker, Stefan}, +file = {:home/steveej/src/steveej/msc-thesis/src/docs/thesis.pdf:pdf}, +title = {{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis}} +} +@misc{Endler, +author = {Endler, Matthias}, +title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, +url = {https://github.com/mre/awesome-static-analysis} +} +@article{Corporation2011, +abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, +author = {Corporation, Intel}, +doi = {10.1109/MAHC.2010.22}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf:pdf}, +isbn = {253665-057US}, +issn = {15222594}, +journal = {System}, +keywords = {253665,IA-32 architecture,Intel 64}, +number = {253665}, +title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 3}}, +volume = {3}, +year = {2011} +} +@article{Matz2009, +author = {Matz, M and Hubicka, J and Jaeger, a and Mitchell, M}, +file = {:home/steveej/src/steveej/msc-thesis/docs/System V Application Binary Interface AMD64 Architecture Processor Supplement Draft Version 0.99.7.pdf:pdf}, +isbn = {013877630X}, +pages = {1--128}, +pmid = {2477614}, +title = {{System V Application Binary Interface AMD64 Architecture Processor Supplement}}, +url = {papers2://publication/uuid/CD8D5668-B1F5-4FE3-BAD8-25F1E589A9E5}, +year = {2009} +} +@misc{MITRE-CWE-134, +author = {MITRE}, +title = {{CWE-134: Use of Externally-Controlled Format String}}, +url = {http://cwe.mitre.org/data/definitions/134.html}, +urldate = {2017-09-20} +} +@article{Seri2017, +abstract = {The dangers of Bluetooth implementations: Unveiling zero day vulnerabilities and security flaws in modern Bluetooth stacks.}, +author = {Seri, Ben and Vishnepolsky, Gregory}, +file = {:home/steveej/src/steveej/msc-thesis/docs/BlueBorne Technical White Paper.pdf:pdf}, +title = {{BlueBorne}}, +url = {http://go.armis.com/blueborne-technical-paper}, +year = {2017} +} +@article{Reed2015, +abstract = {Rust is a new systems language that uses some advanced type system features, specifically affine types and regions, to statically guarantee memory safety and eliminate the need for a garbage collector. While each individual addition to the type system is well understood in isolation and are known to be sound, the combined system is not known to be sound. Furthermore, Rust uses a novel checking scheme for its regions, known as the Borrow Checker, that is not known to be correct. Since Rust's goal is to be a safer alternative to C/C++, we should ensure that this safety scheme actually works. We present a formal semantics that captures the key features relevant to memory safety, unique pointers and borrowed references, specifies how they guarantee memory safety, and describes the operation of the Borrow Checker. We use this model to prove the soudness of some core operations and justify the conjecture that the model, as a whole, is sound. Additionally, our model provides a syntactic version of the Borrow Checker, which may be more understandable than the non-syntactic version in Rust.}, +author = {Reed, Eric}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Patina$\backslash$: A Formalization of the Rust Programming Language.pdf:pdf}, +number = {February}, +pages = {1--37}, +title = {{Patina: A Formalization of the Rust Programming Language}}, +year = {2015} +} +@misc{IEEEspectrum-proglangs, +author = {IEEE}, +title = {{Interactive: The Top Programming Languages 2017}}, +url = {https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017}, +urldate = {2017-09-08}, +year = {2017} +} +@article{Mailloux1969, +author = {Mailloux, B. J. and Peck, J. E L and Koster, C. H A}, +doi = {10.1007/BF02163002}, +file = {:home/steveej/src/steveej/msc-thesis/docs/Algol68-RevisedReport.pdf:pdf}, +isbn = {978-3-662-38646-0}, +issn = {0029599X}, +journal = {Numerische Mathematik}, +number = {2}, +pages = {79--218}, +title = {{Report on the Algorithmic Language ALGOL 68}}, +volume = {14}, +year = {1969} +} +@misc{TockOS, +title = {{Tock OS}}, +url = {https://www.tockos.org/}, +urldate = {2017-09-22} +} +@article{Xu2015, +abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, +author = {Xu, Wen and Li, Juanru and Shu, Junliang and Yang, Wenbo and Xie, Tianyi and Zhang, Yuanyuan and Gu, Dawu}, +doi = {10.1145/2810103.2813637}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/From Collision To Exploitation$\backslash$: Unleashing Use-After-Free Vulnerabilities in Linux Kernel.pdf:pdf}, +isbn = {978-1-4503-3832-5}, +issn = {15437221}, +journal = {Ccs}, +keywords = {linux kernel exploit,memory collision,user-after-free vulnerability}, +pages = {414--425}, +title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilities in Linux Kernel}}, +url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, +year = {2015} +} +@misc{MITRE-CWE-635, +author = {MITRE}, +title = {{CWE-635: Weaknesses Used by NVD}}, +url = {http://cwe.mitre.org/data/definitions/635.html}, +urldate = {2017-08-05} +} +@misc{NVD, +title = {{National Vulnerability Database}}, +url = {https://nvd.nist.gov/}, +urldate = {2017-08-05} +} +@article{Jim2002, +abstract = {Cyclone is a safe dialect of C. It has been designed from the ground up to prevent the buer overflows, format string attacks, and memory management errors that are common in C programs, while retaining C's syntax and semantics. This paper examines safety violations enabled by C's design, and shows how Cyclone avoids them, without giving up C's hallmark control over low-level details such as data representation and memory management.}, +author = {Jim, Trevor and Morrisett, Greg and Grossman, Dan and Hicks, Michael and Cheney, James and Wang, Yanling}, +isbn = {1-880446-00-6}, +journal = {USENIX Annual Technical Conference}, +pages = {275--288}, +title = {{Cyclone: A safe dialect of C}}, +url = {http://www.usenix.org/events/usenix02/full{\_}papers/jim/jim{\_}html/}, +year = {2002} +} +@misc{MITRE-CWE-633, +author = {MITRE}, +title = {{CWE-633: Weaknesses that Affect Memory}}, +url = {http://cwe.mitre.org/data/definitions/633.html}, +urldate = {2017-08-31}, +year = {2017} +} +@misc{MITRE-CWE-119, +author = {MITRE}, +booktitle = {2.11}, +title = {{CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer}}, +url = {http://cwe.mitre.org/data/definitions/119.html}, +urldate = {2017-08-31}, +year = {2017} +} +@misc{MITRE-CWE-122, +author = {MITRE}, +title = {{CWE-122: Heap-based Buffer Overflow}}, +url = {http://cwe.mitre.org/data/definitions/122.html}, +urldate = {2017-09-26} +} +@inproceedings{Kuznetsov2014, +abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, +author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, +booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, +isbn = {9781931971164}, +pages = {147--163}, +title = {{Code-pointer integrity}}, +url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, +year = {2014} } @article{Lattner2005, abstract = {The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a$\backslash$nrobust system that is well suited for a wide variety of research$\backslash$nand development work. This brief paper introduces the LLVM system$\backslash$nand provides pointers to more extensive documentation, complementing$\backslash$nthe tutorial presented at LCPC.}, @@ -30,6 +214,124 @@ title = {{The LLVM Compiler Framework and Infrastructure Tutorial}}, url = {http://dx.doi.org/10.1007/11532378{\_}2}, year = {2005} } +@article{Nilsson2017, +author = {Nilsson, Fredrik}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Rust-based Runtime for the Internet of Things.pdf:pdf}, +title = {{A Rust-based Runtime for the Internet of Things}}, +year = {2017} +} +@misc{MITRE-CWE, +author = {MITRE}, +title = {{CWE - Common Weakness Enumeration}}, +url = {http://cwe.mitre.org}, +urldate = {2017-08-31}, +year = {2017} +} +@article{Szekeres2013, +abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, +author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, +doi = {10.1109/SP.2013.13}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, +isbn = {9780769549774}, +issn = {10816011}, +journal = {Proceedings - IEEE Symposium on Security and Privacy}, +pages = {48--62}, +title = {{SoK: Eternal war in memory}}, +year = {2013} +} +@article{Arpaci-Dusseau2015, +abstract = {A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.}, +author = {{Arpaci-Dusseau Remzi}, Arpaci-Dusseau Andrea}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/operating{\_}systems{\_}{\_}three{\_}easy{\_}pieces{\_}{\_}electronic{\_}version{\_}0{\_}91{\_}.pdf:pdf}, +journal = {Arpaci-Dusseau}, +number = {0.91}, +pages = {665}, +title = {{Operating Systems: Three Easy Pieces}}, +volume = {Electronic}, +year = {2015} +} +@article{Kowshik2002, +abstract = {This paper considers the problem of providing safe programming support and enabling secure online software upgrades for control software in real-time control systems. In such systems, offline techniques for ensuring code safety are greatly preferable to online techniques. We propose a language called Control-C that is essentially a subset of C, but with key restrictions designed to ensure that memory safety of code can be verified entirely by static checking, under certain system assumptions. The language permits pointer-based data structures, restricted dynamic memory allocation, and restricted array operations, without requiring any runtime checks on memory operations and without garbage collection. The language restrictions have been chosen based on an understanding of both compiler technology and the needs of real-time control systems. The paper describes the language design and a compiler implementation for Control-C. We use control codes from three different experimental control systems to evaluate the suitability of the language for these codes, the effort required to port them to Control-C, and the effectiveness of the compiler in detecting a wide range of potential security violations for one of the systems.}, +author = {Kowshik, Sumant and Dhurjati, Dinakar and Adve, Vikram}, +doi = {10.1145/581677.581678}, +file = {:home/steveej/src/steveej/msc-thesis/docs/Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems.pdf:pdf}, +isbn = {1581135750}, +journal = {Proceedings of the international conference on Compilers, architecture, and synthesis for embedded systems - CASES '02}, +keywords = {compiler,control,programming language,real-time,static analy-}, +pages = {288}, +title = {{Ensuring code safety without runtime checks for real-time control systems}}, +url = {http://portal.acm.org/citation.cfm?doid=581630.581678}, +year = {2002} +} +@misc{TheStackClash, +author = {Advisory, Qualys Security}, +file = {:home/steveej/src/steveej/msc-thesis/docs/stack-clash.txt:txt}, +title = {{The Stack Clash}}, +url = {https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt} +} +@book{AMD64Vol1, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, +keywords = {AMD64,SIMD,extended media instructions,legacy m}, +number = {26568}, +title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, +volume = {4}, +year = {2012} +} +@article{Chisnall2015, +abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, +author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, +doi = {10.1145/2694344.2694367}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Beyond the PDP-11$\backslash$: Architectural support for a memory-safe C abstract machine.pdf:pdf}, +isbn = {9781450328357}, +issn = {01635964}, +journal = {Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems}, +pages = {117--130}, +title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract machine}}, +url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, +year = {2015} +} +@article{GCC540, +abstract = {This manual documents how to use the GNU compilers, as well as their features and incom- patibilities, and how to report bugs. It corresponds to the compilers (GCC) version 5.4.0. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. See Section Introduction in GNU Compiler Collection (GCC) Internals.}, +author = {Stallman, Richard M}, +file = {:home/steveej/src/steveej/msc-thesis/docs/gcc-5.4.0.pdf:pdf}, +isbn = {188211437X}, +journal = {Development}, +title = {{Using the GNU Compiler Collection}}, +url = {https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gcc.pdf} +} +@article{Getreu2016, +annote = {- runtime checkis are expensive + +- critical with energy restriction on the target device}, +author = {Getreu, Jens}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, +pages = {1--24}, +title = {{Embedded System Security with Rust}}, +year = {2016} +} +@book{AMD64Vol2, +author = {AMD}, +file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 2$\backslash$: System Programming.pdf:pdf}, +keywords = {24593,AMD64 Architecture Programmer's Manual Volume 2: S}, +number = {24592}, +title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, +volume = {1}, +year = {2012} +} +@article{Caballero2012, +abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, +author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, +doi = {10.1145/2338965.2336769}, +isbn = {9781450314541}, +issn = {1450314546}, +journal = {ISSTA}, +keywords = {automated testing,binary analysis,debugging,dynamic analysis}, +pages = {133}, +title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, +url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, +year = {2012} +} @article{Levy2015a, abstract = {Rust, a new systems programming language, provides compile-time memory safety checks to help eliminate runtime bugs that manifest from improper memory management. This feature is advantageous for operating system development, and especially for embedded OS development, where recovery and debugging are particularly challenging. However, embedded platforms are highly event-based, and Rust's memory safety mechanisms largely presume threads. In our experience developing an operating system for embedded systems in Rust, we have found that Rust's ownership model prevents otherwise safe resource sharing common in the embedded domain, conflicts with the reality of hardware resources, and hinders using closures for programming asynchronously. We describe these experiences and how they relate to memory safety as well as illustrate our workarounds that preserve the safety guarantees to the largest extent possible. In addition, we draw from our experience to propose a new language extension to Rust that would enable it to provide better memory safety tools for event-driven platforms.}, author = {Levy, Amit and Andersen, Michael P. and Campbell, Bradford and Culler, David and Dutta, Prabal and Ghena, Branden and Levis, Philip and Pannuto, Pat}, @@ -57,241 +359,3 @@ title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer volume = {1}, year = {2011} } -@misc{IEEEspectrum-proglangs, -author = {IEEE}, -title = {{Interactive: The Top Programming Languages 2017}}, -url = {https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017}, -urldate = {2017-09-08}, -year = {2017} -} -@article{Xu2015, -abstract = {Since vulnerabilities in Linux kernel are on the increase, attackers have turned their interests into related exploitation techniques. However, compared with numerous researches on exploiting use-after-free vulnerabilities in the user applications, few efforts studied how to exploit use-after-free vulnerabilities in Linux kernel due to the difficulties that mainly come from the uncertainty of the kernel memory layout. Without specific information leakage, attackers could only conduct a blind memory overwriting strategy trying to corrupt the critical part of the kernel, for which the success rate is negligible. In this work, we present a novel memory collision strategy to exploit the use-after-free vulnerabilities in Linux kernel reliably. The insight of our exploit strategy is that a probabilistic memory collision can be constructed according to the widely deployed kernel memory reuse mechanisms, which significantly increases the success rate of the attack. Based on this insight, we present two practical memory collision attacks: An object-based attack that leverages the memory recycling mechanism of the kernel allocator to achieve freed vulnerable object covering, and a physmap-based attack that takes advantage of the overlap between the physmap and the SLAB caches to achieve a more flexible memory manipulation. Our proposed attacks are universal for various Linux kernels of different architectures and could successfully exploit systems with use-after-free vulnerabilities in kernel. Particularly, we achieve privilege escalation on various popular Android devices (kernel version{\textgreater}=4.3) including those with 64-bit processors by exploiting the CVE-2015-3636 use-after-free vulnerability in Linux kernel. To our knowledge, this is the first generic kernel exploit for the latest version of Android. Finally, to defend this kind of memory collision, we propose two corresponding mitigation schemes.}, -author = {Xu, Wen and Li, Juanru and Shu, Junliang and Yang, Wenbo and Xie, Tianyi and Zhang, Yuanyuan and Gu, Dawu}, -doi = {10.1145/2810103.2813637}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/From Collision To Exploitation$\backslash$: Unleashing Use-After-Free Vulnerabilities in Linux Kernel.pdf:pdf}, -isbn = {978-1-4503-3832-5}, -issn = {15437221}, -journal = {Ccs}, -keywords = {linux kernel exploit,memory collision,user-after-free vulnerability}, -pages = {414--425}, -title = {{From Collision To Exploitation: Unleashing Use-After-Free Vulnerabilities in Linux Kernel}}, -url = {http://dl.acm.org/citation.cfm?doid=2810103.2813637}, -year = {2015} -} -@inproceedings{Ma2013, -abstract = {—Aiming at the problem of higher memory consumption and lower execution efficiency during the dynamic detecting to C/C++ programs memory vulnerabilities, this paper presents a dynamic detection method called ISC. The ISC improves the Safe-C using pointer analysis technology. Firstly, the ISC defines a simple and efficient fat pointer representation instead of the safe pointer in the Safe-C. Furthermore, the ISC uses the unification-based analysis algorithm with one level flow static pointer. This identification reduces the number of pointers that need to be converted to fat pointers. Then in the process of program running, the ISC detects memory vulnerabilities through constantly inspecting the attributes of fat pointers. Experimental results indicate that the ISC could detect memory vulnerabilities such as buffer overflows and dangling pointers. Comparing with the Safe-C, the ISC dramatically reduces the memory consumption and lightly improves the execution efficiency.}, -author = {Ma, Rui and Chen, Lingkui and Hu, Changzhen and Xue, Jingfeng and Zhao, Xiaolin}, -booktitle = {Proceedings - 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, DASC 2013}, -doi = {10.1109/DASC.2013.37}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Dynamic Detection Method to C-C++ Programs Memory Vulnerabilities Based on Pointer Analysis.pdf:pdf}, -isbn = {9781479933815}, -keywords = {dynamic detecting,fat pointer,improved Safe-C,memory vulnerability,pointer analysis}, -pages = {52--57}, -title = {{A dynamic detection method to C/C++ programs memory vulnerabilities based on pointer analysis}}, -year = {2013} -} -@article{Mailloux1969, -author = {Mailloux, B. J. and Peck, J. E L and Koster, C. H A}, -doi = {10.1007/BF02163002}, -file = {:home/steveej/src/steveej/msc-thesis/docs/Algol68-RevisedReport.pdf:pdf}, -isbn = {978-3-662-38646-0}, -issn = {0029599X}, -journal = {Numerische Mathematik}, -number = {2}, -pages = {79--218}, -title = {{Report on the Algorithmic Language ALGOL 68}}, -volume = {14}, -year = {1969} -} -@article{Corporation2011, -abstract = {The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 1, describes the basic architecture and programming environment of Intel 64 and IA-32 processors. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 2A {\&} 2B, describe the instruction set of the processor and the opcode struc- ture. These volumes apply to application programmers and to programmers who write operating systems or executives. The Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volumes 3A {\&} 3B, describe the operating-system support environment of Intel 64 and IA-32 processors. These volumes target operating- system and BIOS designers. In addition, the Intel{\{}$\backslash$textregistered{\}} 64 and IA-32 Architectures Software Developer's Manual, Volume 3B, addresses the programming environment for classes of software that host operating systems.}, -author = {Corporation, Intel}, -doi = {10.1109/MAHC.2010.22}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf:pdf}, -isbn = {253665-057US}, -issn = {15222594}, -journal = {System}, -keywords = {253665,IA-32 architecture,Intel 64}, -number = {253665}, -title = {{Intel {\textregistered} 64 and IA-32 Architectures Software Developer ' s Manual Volume 3}}, -volume = {3}, -year = {2011} -} -@article{Balasubramanian2017, -abstract = {Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the super-powers of Rust go beyond safety. In particular, Rust's linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.}, -author = {Balasubramanian, Abhiram and Baranowski, Marek S and Burtsev, Anton and Irvine, Uc and Rakamari, Zvonimir and Ryzhyk, Leonid and Research, Vmware}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/DRAFT$\backslash$: System Programming in Rust$\backslash$: Beyond Safety.pdf:pdf}, -title = {{DRAFT: System Programming in Rust: Beyond Safety}}, -year = {2017} -} -@article{Matz2009, -author = {Matz, M and Hubicka, J and Jaeger, a and Mitchell, M}, -file = {:home/steveej/src/steveej/msc-thesis/docs/System V Application Binary Interface AMD64 Architecture Processor Supplement Draft Version 0.99.7.pdf:pdf}, -isbn = {013877630X}, -pages = {1--128}, -pmid = {2477614}, -title = {{System V Application Binary Interface AMD64 Architecture Processor Supplement}}, -url = {papers2://publication/uuid/CD8D5668-B1F5-4FE3-BAD8-25F1E589A9E5}, -year = {2009} -} -@article{Chisnall2015, -abstract = {We propose a new memory-safe interpretation of the C ab-stract machine that provides stronger protection to benefit security and debugging. Despite ambiguities in the specifi-cation intended to provide implementation flexibility, con-temporary implementations of C have converged on a mem-ory model similar to the PDP-11, the original target for C. This model lacks support for memory safety despite well-documented impacts on security and reliability. Attempts to change this model are often hampered by as-sumptions embedded in a large body of existing C code, dat-ing back to the memory model exposed by the original C compiler for the PDP-11. Our experience with attempting to implement a memory-safe variant of C on the CHERI ex-perimental microprocessor led us to identify a number of problematic idioms. We describe these as well as their in-teraction with existing memory safety schemes and the as-sumptions that they make beyond the requirements of the C specification. Finally, we refine the CHERI ISA and abstract model for C, by combining elements of the CHERI capabil-ity model and fat pointers, and present a softcore CPU that implements a C abstract machine that can run legacy C code with strong memory protection guarantees.}, -author = {Chisnall, David and Rothwell, Colin and Watson, Robert N M and Woodruff, Jonathan and Vadera, Munraj and Moore, Simon W and Roe, Michael and Davis, Brooks and Neumann, Peter G}, -doi = {10.1145/2694344.2694367}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Beyond the PDP-11$\backslash$: Architectural support for a memory-safe C abstract machine.pdf:pdf}, -isbn = {9781450328357}, -issn = {01635964}, -journal = {Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems}, -pages = {117--130}, -title = {{Beyond the PDP-11 : Architectural support for a memory-safe C abstract machine}}, -url = {http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201503-asplos2015-cheri-cmachine.pdf}, -year = {2015} -} -@article{Dhurjati2003, -abstract = {Traditional approaches to enforcing memory safety of programs rely heavily on runtime checks of memory accesses and on garbage collection, both of which are unattractive for embedded applications. The long-term goal of our work is to enable 100{\%} static enforcement of memory safety for embedded programs through advanced compiler techniques and minimal semantic restrictions on programs. The key result of this paper is a compiler technique that ensures memory safety of dynamically allocated memory without programmer annotations, runtime checks, or garbage collection, and works for a large subclass of type-safe C programs. The technique is based on a fully automatic pool allocation (i.e., region-inference) algorithm for C programs we developed previously, and it ensures safety of dynamically allocated memory while retaining explicit deallocation of individual objects within regions (to avoid garbage collection). For a diverse set of embedded C programs (and using a previous technique to avoid null pointer checks), we show that we are able to statically ensure the safety of pointer and dynamic memory usage in all these programs. We also describe some improvements over our previous work in static checking of array accesses. Overall, we achieve 100{\%} static enforcement of memory safety without new language syntax for a significant subclass of embedded C programs, and the subclass is much broader if array bounds checks are ignored.}, -author = {Dhurjati, D and Kowshik, S and Adve, V and Lattner, C}, -doi = {10.1145/780742.780743}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Memory Safety Without Runtime Checks or Garbage.pdf:pdf}, -isbn = {0362-1340}, -issn = {03621340}, -journal = {Acm Sigplan Notices}, -keywords = {automatic pool allocation,compilers,embedded systems,languages,programming languages,region management,security,static analysis}, -number = {7}, -pages = {69--80}, -title = {{Memory safety without runtime checks or garbage collection}}, -volume = {38}, -year = {2003} -} -@misc{MITRE-CWE, -author = {MITRE}, -title = {{CWE - Common Weakness Enumeration}}, -url = {http://cwe.mitre.org}, -urldate = {2017-08-31}, -year = {2017} -} -@article{Affairs2015, -author = {Affairs, Post Doctoral}, -file = {:home/steveej/src/steveej/msc-thesis/docs/You can't spell trust without Rust.pdf:pdf}, -title = {{YOU CAN ' T SPELL TRUST WITHOUT RUST alexis beingessner Master ' s in Computer Science Carleton University}}, -year = {2015} -} -@inproceedings{Kuznetsov2014, -abstract = {Systems code is often written in low-level languages like C/C++, which offer many benefits but also dele- gate memory management to programmers. This invites memory safety bugs that attackers can exploit to divert control flow and compromise the system. Deployed de- fense mechanisms (e.g., ASLR, DEP) are incomplete, and stronger defense mechanisms (e.g., CFI) often have high overhead and limited guarantees [19, 15, 9]. We introduce code-pointer integrity (CPI), a new de- sign point that guarantees the integrity of all code point- ers in a program (e.g., function pointers, saved return ad- dresses) and thereby prevents all control-flow hijack at- tacks, including return-oriented programming. We also introduce code-pointer separation (CPS), a relaxation of CPI with better performance properties. CPI and CPS offer substantially better security-to-overhead ratios than the state of the art, they are practical (we protect a complete FreeBSD system and over 100 packages like apache and postgresql), effective (prevent all attacks in the RIPE benchmark), and efficient: on SPEC CPU2006, CPS averages 1.2{\%} overhead for C and 1.9{\%} for C/C++, while CPI's overhead is 2.9{\%} for C and 8.4{\%} for C/C++. A prototype implementation of CPI and CPS can be obtained from http://levee.epfl.ch. 1}, -author = {Kuznetsov, Volodymyr and Szekeres, L{\'{a}}szl{\'{o}} and Payer, Mathias}, -booktitle = {Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation}, -isbn = {9781931971164}, -pages = {147--163}, -title = {{Code-pointer integrity}}, -url = {https://www.usenix.org/conference/osdi14/technical-sessions/presentation/kuznetsov{\%}5Cnhttps://www.usenix.org/system/files/conference/osdi14/osdi14-paper-kuznetsov.pdf?utm{\_}source=dlvr.it{\&}utm{\_}medium=tumblr}, -year = {2014} -} -@misc{TheStackClash, -author = {Advisory, Qualys Security}, -file = {:home/steveej/src/steveej/msc-thesis/docs/stack-clash.txt:txt}, -title = {{The Stack Clash}}, -url = {https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt} -} -@article{Caballero2012, -abstract = {Use-after-free vulnerabilities are rapidly growing in popularity, especially for exploiting web browsers. Use-after-free (and double-free) vulnerabilities are caused by a program operating on a dangling pointer. In this work we propose early detection, a novel runtime approach for finding and diagnosing use-after-free and double-free vulnerabilities. While previous work focuses on the creation of the vulnerability (i.e., the use of a dangling pointer), early detection shifts the focus to the creation of the dangling pointer(s) at the root of the vulnerability. Early detection increases the effectiveness of testing by identifying unsafe dangling pointers in executions where they are created but not used. It also accelerates vulnerability analysis and minimizes the risk of incomplete fixes, by automatically collecting information about all dangling pointers involved in the vulnerability. We implement our early detection technique in a tool called Undangle. We evaluate Undangle for vulnerability analysis on 8 real-world vulnerabilities. The analysis uncovers that two separate vulnerabilities in Firefox had a common root cause and that their patches did not completely fix the underlying bug. We also evaluate Undangle for testing on the Firefox web browser identifying a potential vulnerability.}, -author = {Caballero, Juan and Grieco, Gustavo and Marron, Mark and Nappa, Antonio}, -doi = {10.1145/2338965.2336769}, -isbn = {9781450314541}, -issn = {1450314546}, -journal = {ISSTA}, -keywords = {automated testing,binary analysis,debugging,dynamic analysis}, -pages = {133}, -title = {{Undangle: early detection of dangling pointers in use-after-free and double-free vulnerabilities}}, -url = {http://dl.acm.org/citation.cfm?doid=2338965.2336769}, -year = {2012} -} -@book{AMD64Vol2, -author = {AMD}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 2$\backslash$: System Programming.pdf:pdf}, -keywords = {24593,AMD64 Architecture Programmer's Manual Volume 2: S}, -number = {24592}, -title = {{AMD64 Architecture Programmer's Manual Volume 2: System Programming}}, -volume = {1}, -year = {2012} -} -@article{Junker, -author = {Junker, Stefan}, -file = {:home/steveej/src/steveej/msc-thesis/src/docs/thesis.pdf:pdf}, -title = {{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis}} -} -@article{Nilsson2017, -author = {Nilsson, Fredrik}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/A Rust-based Runtime for the Internet of Things.pdf:pdf}, -title = {{A Rust-based Runtime for the Internet of Things}}, -year = {2017} -} -@article{Szekeres2013, -abstract = {Memory corruption bugs in software written in low-level languages like C or C++ are one of the oldest problems in computer security. The lack of safety in these languages allows attackers to alter the program's behavior or take full control over it by hijacking its control flow. This problem has existed for more than 30 years and a vast number of potential solutions have been proposed, yet memory corruption attacks continue to pose a serious threat. Real world exploits show that all currently deployed protections can be defeated. This paper sheds light on the primary reasons for this by describing attacks that succeed on today's systems. We systematize the current knowledge about various protection techniques by setting up a general model for memory corrup- tion attacks. Using this model we show what policies can stop which attacks. The model identifies weaknesses of currently deployed techniques, as well as other proposed protections enforcing stricter policies. We analyze the reasons why protection mechanisms imple- menting stricter polices are not deployed. To achieve wide adoption, protection mechanisms must support a multitude of features and must satisfy a host of requirements. Especially important is performance, as experience shows that only solutions whose overhead is in reasonable bounds get deployed. A comparison of different enforceable policies helps de- signers of new protection mechanisms in finding the balance between effectiveness (security) and efficiency.We identify some open research problems, and provide suggestions on improving the adoption of newer techniques.}, -author = {Szekeres, L??szl?? and Payer, Mathias and Wei, Tao and Song, Dawn}, -doi = {10.1109/SP.2013.13}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/SoK$\backslash$: Eternal War in Memory.pdf:pdf}, -isbn = {9780769549774}, -issn = {10816011}, -journal = {Proceedings - IEEE Symposium on Security and Privacy}, -pages = {48--62}, -title = {{SoK: Eternal war in memory}}, -year = {2013} -} -@book{AMD64Vol1, -author = {AMD}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/AMD64 Architecture Programmer's Manual Volume 1$\backslash$: Application Programming.pdf:pdf}, -keywords = {AMD64,SIMD,extended media instructions,legacy m}, -number = {26568}, -title = {{AMD64 Architecture Programmer's Manual Volume 1: Application Programming}}, -volume = {4}, -year = {2012} -} -@article{Getreu2016, -annote = {- runtime checkis are expensive - -- critical with energy restriction on the target device}, -author = {Getreu, Jens}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Embedded System Security with Rust - Case Study of Heartbleed.pdf:pdf}, -pages = {1--24}, -title = {{Embedded System Security with Rust}}, -year = {2016} -} -@article{Reed2015, -abstract = {Rust is a new systems language that uses some advanced type system features, specifically affine types and regions, to statically guarantee memory safety and eliminate the need for a garbage collector. While each individual addition to the type system is well understood in isolation and are known to be sound, the combined system is not known to be sound. Furthermore, Rust uses a novel checking scheme for its regions, known as the Borrow Checker, that is not known to be correct. Since Rust's goal is to be a safer alternative to C/C++, we should ensure that this safety scheme actually works. We present a formal semantics that captures the key features relevant to memory safety, unique pointers and borrowed references, specifies how they guarantee memory safety, and describes the operation of the Borrow Checker. We use this model to prove the soudness of some core operations and justify the conjecture that the model, as a whole, is sound. Additionally, our model provides a syntactic version of the Borrow Checker, which may be more understandable than the non-syntactic version in Rust.}, -author = {Reed, Eric}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/Patina$\backslash$: A Formalization of the Rust Programming Language.pdf:pdf}, -number = {February}, -pages = {1--37}, -title = {{Patina: A Formalization of the Rust Programming Language}}, -year = {2015} -} -@misc{MITRE-CWE-633, -author = {MITRE}, -title = {{CWE-633: Weaknesses that Affect Memory}}, -url = {http://cwe.mitre.org/data/definitions/633.html}, -urldate = {2017-08-31}, -year = {2017} -} -@misc{Endler, -author = {Endler, Matthias}, -title = {{A curated list of static analysis tools, linters and code quality checkers for various programming languages}}, -url = {https://github.com/mre/awesome-static-analysis} -} -@article{Arpaci-Dusseau2015, -abstract = {A book covering the fundamentals of operating systems, including virtualization of the CPU and memory, threads and concurrency, and file and storage systems. Written by professors active in the field for 20 years, this text has been developed in the classrooms of the University of Wisconsin-Madison, and has been used in the instruction of thousands of students.}, -author = {{Arpaci-Dusseau Remzi}, Arpaci-Dusseau Andrea}, -file = {:home/steveej/src/github/steveej/msc-thesis/docs/operating{\_}systems{\_}{\_}three{\_}easy{\_}pieces{\_}{\_}electronic{\_}version{\_}0{\_}91{\_}.pdf:pdf}, -journal = {Arpaci-Dusseau}, -number = {0.91}, -pages = {665}, -title = {{Operating Systems: Three Easy Pieces}}, -volume = {Electronic}, -year = {2015} -} -@misc{MITRE-CWE-119, -author = {MITRE}, -booktitle = {2.11}, -title = {{CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer}}, -url = {http://cwe.mitre.org/data/definitions/119.html}, -urldate = {2017-08-31}, -year = {2017} -} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index f212236..9be093f 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -64,6 +64,8 @@ \newcommand{\topic}{Guarantees On In-Kernel Memory-Safety Using Rust's Static Code Analysis} \newcommand{\authorOne}{Stefan Junker} +\newcommand{\authorOneBirthDate}{23.12.1986} +\newcommand{\authorOneBirthCity}{Rottweil} \newcommand{\authorOneInit}{SJ} \newcommand{\authorOnestreet}{Alemannenstr. 7} \newcommand{\authorOnezip}{78467} @@ -80,7 +82,7 @@ % Numbered Subsubsections \setcounter{secnumdepth}{3} -\date{Summersemester 2017} +\date{} \title{\topic} \author{authorOne} @@ -254,6 +256,31 @@ I strongly believe in openness and collaboration in the development of new technology, therefore the development will be based solely on Open-Source software. The source of this document and the code I have worked on will be freely available on my personal Gitlab site\footnote{https://gitlab.com/steveeJ/msc-thesis} once the academic process of this project is complete. + \section*{Ehrenwörtliche Erklärung} + + Hiermit erkläre ich, {\authorOne}, geboren am {\authorOneBirthDate} in {\authorOneBirthCity}, + + \begin{enumerate} + \item{ + dass ich meine Masterarbeit mit dem Titel: + + {"\topic"} + + in der Fakultät Informatik unter Anleitung von Professor {\supervisorOne} und ohne fremde Hilfe angefertigt habe und keine anderen als die angeführten Hilfen benutzt habe; + } + \item{ + dass ich die Übernahme wörtlicher Zitate, von Tabellen, Zeichnungen, Bildern und Programmen aus der Literatur oder anderen Quellen (Internet) sowie die Verwendung der Gedanken anderer Autoren an den entsprechenden Stellen innerhalb der Arbeit gekennzeichnet habe; + } + \item{ + dass die eingereichten Abgabe-Exemplare in Papierform und im PDF-Format vollständig übereinstimmen. + } + \end{enumerate} + + Ich bin mir bewusst, dass eine falsche Erklärung rechtliche Folgen haben wird. + + \vspace{4cm} + Konstanz, 29.9.2017\hspace{5cm} \authorOne + \tableofcontents @@ -269,7 +296,7 @@ \include{parts/research_and_development/research_and_development} \part{Evaluation And Conclusion} - \label{eval_and_conclusion} + \label{enc} \include{parts/eval_and_conclusion/eval_and_conclusion} \newpage From 427ef068c5b01ef6e8e07927c01a128474912648 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 29 Sep 2017 10:03:02 +0200 Subject: [PATCH 124/126] context&rnd:needs cleanup/eac:done --- src/docs/glossary.tex | 30 +- src/docs/parts/context/context.tex | 4 +- .../eval_and_conclusion.tex | 435 ++++++++++-------- .../research_and_development.tex | 383 ++++++++++----- src/docs/thesis.tex | 2 +- 5 files changed, 521 insertions(+), 333 deletions(-) diff --git a/src/docs/glossary.tex b/src/docs/glossary.tex index afa8a44..42a24dd 100644 --- a/src/docs/glossary.tex +++ b/src/docs/glossary.tex @@ -108,7 +108,6 @@ \newglossaryentry{stack}{ name = stack, description = {% - TODO }, } @@ -122,7 +121,6 @@ \newglossaryentry{heap}{ name = heap, description = {% - TODO }, } @@ -148,42 +146,36 @@ \newglossaryentry{fs}{ name = filesystem, description = {% - TODO }, } \newglossaryentry{virt}{ name = virtualization, description = {% - TODO }, } \newglossaryentry{OSS}{ name = Open-Source Software, description = {% - TODO }, } \newglossaryentry{osvirt}{ name = Operating System-Level Virtualization, description = {% - TODO }, } \newglossaryentry{hypervisor}{ name = Hypervisor, description = {% - TODO }, } \newglossaryentry{VM}{ name = Virtual Machine, description = {% - TODO }, } @@ -213,35 +205,30 @@ \newglossaryentry{imezzos}{ name = intermezzOS, description = {% - TODO }, } \newglossaryentry{redoxos}{ name = Redox OS, description = {% - TODO }, } \newglossaryentry{blogos}{ name = Blog OS, description = {% - TODO }, } \newglossaryentry{tockos}{ name = Tock OS, description = {% - TODO }, } \newglossaryentry{rootfs}{ name = RootFS, description = {% - % TODO }, } @@ -270,7 +257,6 @@ \newglossaryentry{BSD}{ name = BSD, description = {% - TODO } } @@ -287,7 +273,6 @@ \newglossaryentry{pm}{ name = package manager, description = {% - TODO } } @@ -318,7 +303,6 @@ \newglossaryentry{LXC}{ name = LXC, description = {% - TODO } } @@ -332,14 +316,12 @@ \newglossaryentry{systemd-nspawn}{ name = systemd-nspawn, description = {% - TODO } } \newglossaryentry{rkt}{ name = rkt, description = {% - TODO } } @@ -410,7 +392,7 @@ \newglossaryentry{C}{ name = C, , description = {% - TODO C programming language, + C programming language, } } @@ -422,9 +404,9 @@ } \newglossaryentry{asm}{ - name = Assembly programming language, + name = ASM, + long = Assembly programming language, description = {% - TODO ASM } } @@ -432,7 +414,7 @@ name = AMD64, long = AMD64, description = {% - TODO AMD64 + Contemporary Hardware Architecture\cite{AMD64Vol1,AMD64Vol2} }, first = {\glsentrylong{amd64}}, } @@ -441,7 +423,7 @@ name = CPU, long = Central Processing Unit, description = {% - TODO cpu + Central Haddware Unit that executes machine code }, first = {\glsentrylong{cpu}}, } @@ -451,7 +433,6 @@ name = TLB, long = Translation Lookaside Buffer, description = {% - TODO tlb }, first = {\glsentrylong{tlb}}, } @@ -476,7 +457,6 @@ \newglossaryentry{sysadmin}{ name = System Administrator , description = {% - TODO sysadmin } } diff --git a/src/docs/parts/context/context.tex b/src/docs/parts/context/context.tex index d0009e1..e526886 100644 --- a/src/docs/parts/context/context.tex +++ b/src/docs/parts/context/context.tex @@ -19,7 +19,7 @@ The hypothesis cannot be trivially approved or denied, which drives the research Besides this specific hypothesis, many implementations of \glspl{os} with \gls{Rust} have appeared in public. Their purposes range from proof-of-concept and educational work like \gls{imezzos} and \gls{blogos}, to implementations that aim to be production grade software like \gls{redoxos} and \gls{tockos} \cite{Levy2015a}. -These implementations are subject to evaluation in \cref{rnd::existing-os-dev-with-rust} +These implementations are subject to evaluation in \cref{rnd::existing-os-dev-with-rust}. The final results will be of qualitative nature, captured by analyzing the existing and a self-developed \gls{Rust}-implementations of popular memory management techniques. In addition to the sole analysis of \gls{Rust}-implementations, comparisons will be made, discerning the level of memory safety guarantees gained over similarly intending implementations in \gls{C}. @@ -1245,7 +1245,7 @@ The following program prints a string provided as an argument. \FloatBarrier The example is exploitable, because of the call to printf() in the printWrapper() function. Note: The stack buffer was added to make exploitation more simple. -\subsection{Heartbleed} +% \subsection{Heartbleed} % TODO: paper about hearbleed with Rust \subsection{BlueBorne on Linux} diff --git a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex index 55f9077..606e433 100644 --- a/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex +++ b/src/docs/parts/eval_and_conclusion/eval_and_conclusion.tex @@ -1,215 +1,246 @@ % // vim: set ft=tex: -\chapter{Summary} -Solved problems by the Rust ownership models are -The Rust ownership model solves +\chapter{Evaluation} +This chapter summarizes the findings of the previous parts. +The summary is then evaluated against the hypothesis, to create the foundation of a concise conclusion. + +\section{Summary} +After defining an exact definition for memory-safety within the OS was found in \cref{context::introduction::memory-safety::def}, various aspects of software vulnerability origin were discussed. +The human was identified to be an error prone weak spot in the process of OS development. +It was found that technical solutions that can detect these errors are to be used as early in the development process as possible. +This point in time was declared the time of software compilation. + +OS development concepts were introduced to for the AMD64 architecture, to lay out the knowledge that to allow an understanding and implementation of OS concepts on AMD64, which was set out for the development process. + +Common Weaknesses in software were identified, and demonstrated how these lead to concrete vulnerabilities. +The stack clash was explained as an architectural and design issue, which requires changes in stack overflow detection in userspace software. +The origin of many of the weaknesses was identified to be based on weak languages, and Rust was verified to be a good alternative to C. +Research was conducted on these common weaknesses through other scientific studies. +This found weaknesses based on \begin{itemize} \item use-after-free \item indexing out of bounds \item iterator invalidation \item data races \end{itemize} +to be prevented by Rust's ownership system\cite{Beingessner2015}. +Stack protection experiments were conducted and found Rust to be less vulnerable to return address manipulation. +These were found to be effectively prevented by static analysis under normal circumstances, since it required multiple explicit features to intentionally force the manipulation to succeed. +Stack overflow could not be statically detected by trying various tweaks to the compiler. +Information that would be required for this static detection was evaluated, and was found to be not completely available in the present compiler architecture. + +A practical introduction to Rust was given, overviewing the encountered language features and the ones that were explicitly investigated. +Rust was found to have extension features only limited by the complexity of its usage, demonstrated by an implementation of pure-software information flow control. + +Existing OS development efforts were investigated to serve as a codebase for the development and to evaluate their usage of Rust for achieving memory-safety. +Redox OS was found to not be vulnerable to the Stack Clash due to design decisions in the OS. +Blog OS was found to demonstrate extensive usage of Rust's type system to model underlying hardware and prevent mistakes in the paging implementation. + +Implementation of preemptive multitasking was chosen to be based on intermezzOS for its simplicity. +After initial problems with the build and debugging tools were solved, the development could proceed quickly. +Based on the state of intermezzOS that allowed the system to boot, a working preemptive multitasking was implemented successfully. +The implementation only supports static memory allocation and no dynamic memory management. +Writing a hardware-driver for the Programmable-Interrupt-Timer was well supported by the module and type system, which allowed an accurate modeling of the underlying hardware. +Global OS state variables can be protected by requiring Rust's unsafe keyword and disallowing the same within additional defined tasks. +Extensive usage of the unsafe keyword was required to perform raw hardware access, but could be limited to well-defined functions. +Inline machine-instructions were found to be well designed and in-line with the rest of the language. +One occurrence of a cast from an untyped pointer was necessary, within the context-switching interrupt handler, to manipulate data on the stack. +A stack overflow on user defined tasks could not be prevented by static analysis, only detected by the OS at runtime. + +\subsection{Thesis Evaluation} +Rust's static analysis lacks the ability of static stack overflow detection, which is a significant counter-indication to the hypothesis. +Using Rust's static memory analysis does not fully guarantee In-Kernel memory-safe. \chapter{Conclusions} -Safety - or security for this matter - is not something that can be achieved absolutely. -It grows successively and gives the \gls{os} developers and the end-users a \emph{feeling} of safety, until another vulnerability is found and disclosed. +While hypothesis was not proven, Rust is still considered to be a significant improvement over C for OS development purposes. -\section{Trust In Hardware} -Memory management mechanisms are partially implemented in the target system's hardware which can't be verified by at time of development. +\paragraph{Rust detects many errors early} +It prevents many errors at compile-time where, they are harmless. +The language is fully extendable via language extensions that allow the insertion of new language features that can be hooked into the static analysis. +The process of making Rust suitable for OS development is driven by many hobby and a few production intended projects. -\subsection{The Necessary Evils of \textit{unsafe}} -TODO +\section{Hardware is still hard, but Rust is worth learning} +Even though Rust is understood as a memory-safe language, following the hardware specification is still a memory-safety critical requirement. +OS developers must use the unsafe keyword when performing raw hardware access, which is designed to make them think twice when using it. +If the chance is presented, Rust should be chosen any time over C for implementing software that is close to hardware. +This might be difficult in the first place, but should pay off long-term, as less vulnerabilities will be detected throughout the extended life-cycle of the software. -\section{Rust Is Extendable For Memory-Safe OS Development} +\section{Next Step} +Further investigation is required to propose a solution for the lack of static stack size estimation in \gls{Rust}. +The immediate next step is to bring this issue up for a discussion in the Rust community. -* Macros help to prevent critical mistakes when defining interrupt handlers. - -- - -TODO - -\section{Thesis Evaluation} - -% TODO: repeat that rust *can* be used to increase safety in the OS, -% TODO: how? -% but it doesn't guarantee it per-se - -\section{Rust's Strong Community} - -\section{Next Steps} -TODO -\chapter{Scratchpad} - -\begin{figure}[ht!] -\centering -\begin{subfigure}[T]{0.50\textwidth} - \tikzmarkcountprep{callee} - \begin{compactminted}[ - escapeinside=??,linenos,autogobble,highlightlines={} - ]{nasm} - mov rax,QWORD PTR [rbp-0x48]?\tikzmarkcount? - add rsp,0x50?\tikzmarkcount? - pop rbp?\tikzmarkcount? - ret?\tikzmarkcount? - \end{compactminted} - \tikzmarkdrawcircles -\caption{Subfig A} -\end{subfigure} -\begin{subfigure}[T]{0.45\textwidth} - \foreach \x/\xtext in { - 1/{ - this is going to be a really long sentence with line wraps - }, - 2/{ - second - } - } {\tikzmarkcircle{\x}\xtext\\} -\caption{Subfig B} -\end{subfigure} -\caption{Whadup} -\label{Whadup} -\end{figure} - -\begin{listing} - \tikzmarkcountprep{example1} - \begin{minted}[ - label=example1,labelposition=all,escapeinside=??,linenos,autogobble,highlightlines={} - ]{nasm} - mov rax,QWORD PTR [rbp-0x48]?\tikzmarkcount? ?\tikzmark{brace1upper}? - add rsp,0x50?\tikzmarkcount? - pop rbp?\tikzmarkcount? - ret?\tikzmarkcount? ?\tikzmark{brace1lower}? - \end{minted} - \begin{minted}[ - escapeinside=??,linenos,autogobble,highlightlines={} - ]{nasm} - mov rax,QWORD PTR [rbp-0x48]?\tikzmarkcount? - add rsp,0x50 ?\tikzmarkcount? - pop rbp ?\tikzmarkcount? - ret ?\tikzmarkcount? - \end{minted} - \begin{tikzpicture}[remember picture,overlay] - \draw[thick,decorate,decoration={brace,raise=1ex}] - (pic cs:brace1upper)+(0,1.5ex) -- node[shape=coordinate][right=1.5ex] (a) {} (pic cs:brace1lower); - \fill (a)+(2ex,0) circle[opacity=1,radius=1.1ex] node[white,font=\small]{a}; - \end{tikzpicture} - \tikzmarkdrawcircles - \caption{Minted Listing A} -% - \foreach \x/\xtext in { - 1/{ - this is going to be a really long sentence with line wraps - \\} - ,2/{ - second - \\} - ,5/{},6/{ - hi - \\} - ,a/{ - hi - \\} - } {\tikzmarkcircle{\x}\xtext} -% -\end{listing} -\FloatBarrier - -\begin{listing} - \tikzset{/minted/basename=example} - \begin{minted}[label=caller,labelposition=topline,escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{nasm} - mov rcx,QWORD PTR [rbp-0x40] ; copy 1st arg to rcx - mov rsi,QWORD PTR [rbp-0x38] ; copy 2nd arg to rsi - mov rdx,QWORD PTR [rbp-0x30] ; copy 3rd arg to rdx - mov QWORD PTR [rbp-0x60],rdi ; save rdi to make it available - mov rdi,rcx ; copy 1st arg to rdi - mov QWORD PTR [rbp-0x68],rax ; save rax to make it available - call 7490?\tikzmark{exampleprecallfrom}? <_ZN14stack_handling3sum17h8f12d2383e075691E> ; push '756e' onto the stack and jump to the first instruction of sum - mov QWORD PTR [rbp-0x28],rax ; save return value - \end{minted} - \caption{Function Call with Three Arguments} - \begin{tikzpicture}[remember picture,overlay] - \draw[red,thick] (pic cs:exampleprecallfrom) ellipse (0.7cm and 12pt) node { \textbf{1} }; - \fill[blue] (pic cs:example1) circle (0.1cm); - \fill[yellow] (pic cs:example2) circle (0.1cm); - \end{tikzpicture} -\end{listing} - -\begin{tikzpicture}[node distance=2cm, - startstop/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=red!30}, - io/.style = {trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30}, - process/.style = {rectangle, minimum width=1cm, minimum height=1cm, text centered, text width=3cm, draw=black, fill=orange!30}, - decision/.style = {diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30}, - arrow/.style = {thick,->,>=stealth} - ] - -%\node (start) [startstop] {Start}; -%\node (in1) [io, below of=start] {Input}; -%\node (pro1) [process, below of=in1] {Process 1}; -%\node (dec1) [decision, below of=pro1, yshift=-0.5cm] {Decision 1}; -%\node (pro2a) [process, below of=dec1, yshift=-0.5cm] {Process 2a text text text text text text text text text text}; -%\node (pro2b) [process, right of=dec1, xshift=2cm] {Process 2b}; -%\node (out1) [io, below of=pro2a] {Output}; -%\node (stop) [startstop, below of=out1] {Stop}; -% -%\draw [arrow] (start) -- (in1); -%\draw [arrow] (in1) -- (pro1); -%\draw [arrow] (pro1) -- (dec1); -%\draw [arrow] (dec1) -- node[anchor=east] {yes} (pro2a); -%\draw [arrow] (dec1) -- node[anchor=south] {no} (pro2b); -%\draw [arrow] (pro2b) |- (pro1); -%\draw [arrow] (pro2a) -- (out1); -%\draw [arrow] (out1) -- (stop); - -\node[process,xshift=0ex,yshift=-0ex] (ua_back) {User Applications}; -\node[process,xshift=0ex,yshift=-1ex] at (ua_back) {User Applications}; -\node[process,xshift=0ex,yshift=-2ex] (ua) at (ua_back) {User Applications}; - -\node[process,xshift=0ex,yshift=-0ex,below of=ua] (sl_back) {System Libraries}; -\node[process,xshift=0ex,yshift=-1ex] at (sl_back) {System Libraries}; -\node[process,xshift=0ex,yshift=-2ex] (sl) at (sl_back) {System Libraries}; - -\node[process,xshift=0ex,yshift=-0ex,below of=sl] (os_back) {OS}; -\node[process,xshift=0ex,yshift=-1ex] at (os_back) {OS API}; -\node[process,xshift=0ex,yshift=-2ex] (os) at (os_back) {OS}; - -\node[process,xshift=0ex,yshift=-0ex,left of=mem, below of=os] (cpu) {CPU}; -\node[process,xshift=0ex,yshift=-0ex,right of=cpu] (mem) {Memory}; -\node[process,xshift=0ex,yshift=-0ex,right of=mem] (otherhw) {Other HW}; - -\draw [arrow] (ua) -- (sl); -\draw [arrow] (sl) -- (os); -\draw [arrow] (os) -- (cpu); -\draw [arrow] (os) -- (mem); -\draw [arrow] (os) -- (otherhw); - -TODO: improve - -\end{tikzpicture} - -\begin{markdown} -# Flow of Reasoning -* How to mitigate distributed weaknesses - - Don't distribute vulnerable software - - Produce less vulnerabilities - OR - - Detect vulnerabilities -* How to prevent vulnerabilities distribution? - - Human to make less mistakes; NOT VIABLE, see human aspect. - - Detect them before the \gls{app} is installed; see time aspect -* How to detect vulnerabilities - - Write runtime tests for the program - - Analyze the source code -* Runtime Tests - - Runs on every execution, thus wastes \gls{cpu} resources - - Program needs to handle it - -> Slow and too late in the software life cycle! -* Source Code Analysis - - Difficult for low-level code, would require hardware knowledge - - Compilers are source code analysers by nature - - Additional tools can help, but this takes more effort - -> chose a compiler with high analysis standards -* Choice of Compiler: Language Dependent - - C: Safe C, Cyclone, etc.: define sub language that is analyzable. MEH - - Rust: designed to be analyzable. WIN! -* Rust - - Can the analyzes be extended to suite OS dev? -\end{markdown} +% \chapter{Scratchpad} +% +% \begin{figure}[ht!] +% \centering +% \begin{subfigure}[T]{0.50\textwidth} +% \tikzmarkcountprep{callee} +% \begin{compactminted}[ +% escapeinside=??,linenos,autogobble,highlightlines={} +% ]{nasm} +% mov rax,QWORD PTR [rbp-0x48]?\tikzmarkcount? +% add rsp,0x50?\tikzmarkcount? +% pop rbp?\tikzmarkcount? +% ret?\tikzmarkcount? +% \end{compactminted} +% \tikzmarkdrawcircles +% \caption{Subfig A} +% \end{subfigure} +% \begin{subfigure}[T]{0.45\textwidth} +% \foreach \x/\xtext in { +% 1/{ +% this is going to be a really long sentence with line wraps +% }, +% 2/{ +% second +% } +% } {\tikzmarkcircle{\x}\xtext\\} +% \caption{Subfig B} +% \end{subfigure} +% \caption{Whadup} +% \label{Whadup} +% \end{figure} +% +% \begin{listing} +% \tikzmarkcountprep{example1} +% \begin{minted}[ +% label=example1,labelposition=all,escapeinside=??,linenos,autogobble,highlightlines={} +% ]{nasm} +% mov rax,QWORD PTR [rbp-0x48]?\tikzmarkcount? ?\tikzmark{brace1upper}? +% add rsp,0x50?\tikzmarkcount? +% pop rbp?\tikzmarkcount? +% ret?\tikzmarkcount? ?\tikzmark{brace1lower}? +% \end{minted} +% \begin{minted}[ +% escapeinside=??,linenos,autogobble,highlightlines={} +% ]{nasm} +% mov rax,QWORD PTR [rbp-0x48]?\tikzmarkcount? +% add rsp,0x50 ?\tikzmarkcount? +% pop rbp ?\tikzmarkcount? +% ret ?\tikzmarkcount? +% \end{minted} +% \begin{tikzpicture}[remember picture,overlay] +% \draw[thick,decorate,decoration={brace,raise=1ex}] +% (pic cs:brace1upper)+(0,1.5ex) -- node[shape=coordinate][right=1.5ex] (a) {} (pic cs:brace1lower); +% \fill (a)+(2ex,0) circle[opacity=1,radius=1.1ex] node[white,font=\small]{a}; +% \end{tikzpicture} +% \tikzmarkdrawcircles +% \caption{Minted Listing A} +% % +% \foreach \x/\xtext in { +% 1/{ +% this is going to be a really long sentence with line wraps +% \\} +% ,2/{ +% second +% \\} +% ,5/{},6/{ +% hi +% \\} +% ,a/{ +% hi +% \\} +% } {\tikzmarkcircle{\x}\xtext} +% % +% \end{listing} +% \FloatBarrier +% +% \begin{listing} +% \tikzset{/minted/basename=example} +% \begin{minted}[label=caller,labelposition=topline,escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{nasm} +% mov rcx,QWORD PTR [rbp-0x40] ; copy 1st arg to rcx +% mov rsi,QWORD PTR [rbp-0x38] ; copy 2nd arg to rsi +% mov rdx,QWORD PTR [rbp-0x30] ; copy 3rd arg to rdx +% mov QWORD PTR [rbp-0x60],rdi ; save rdi to make it available +% mov rdi,rcx ; copy 1st arg to rdi +% mov QWORD PTR [rbp-0x68],rax ; save rax to make it available +% call 7490?\tikzmark{exampleprecallfrom}? <_ZN14stack_handling3sum17h8f12d2383e075691E> ; push '756e' onto the stack and jump to the first instruction of sum +% mov QWORD PTR [rbp-0x28],rax ; save return value +% \end{minted} +% \caption{Function Call with Three Arguments} +% \begin{tikzpicture}[remember picture,overlay] +% \draw[red,thick] (pic cs:exampleprecallfrom) ellipse (0.7cm and 12pt) node { \textbf{1} }; +% \fill[blue] (pic cs:example1) circle (0.1cm); +% \fill[yellow] (pic cs:example2) circle (0.1cm); +% \end{tikzpicture} +% \end{listing} +% +% \begin{tikzpicture}[node distance=2cm, +% startstop/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=red!30}, +% io/.style = {trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30}, +% process/.style = {rectangle, minimum width=1cm, minimum height=1cm, text centered, text width=3cm, draw=black, fill=orange!30}, +% decision/.style = {diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30}, +% arrow/.style = {thick,->,>=stealth} +% ] +% +% %\node (start) [startstop] {Start}; +% %\node (in1) [io, below of=start] {Input}; +% %\node (pro1) [process, below of=in1] {Process 1}; +% %\node (dec1) [decision, below of=pro1, yshift=-0.5cm] {Decision 1}; +% %\node (pro2a) [process, below of=dec1, yshift=-0.5cm] {Process 2a text text text text text text text text text text}; +% %\node (pro2b) [process, right of=dec1, xshift=2cm] {Process 2b}; +% %\node (out1) [io, below of=pro2a] {Output}; +% %\node (stop) [startstop, below of=out1] {Stop}; +% % +% %\draw [arrow] (start) -- (in1); +% %\draw [arrow] (in1) -- (pro1); +% %\draw [arrow] (pro1) -- (dec1); +% %\draw [arrow] (dec1) -- node[anchor=east] {yes} (pro2a); +% %\draw [arrow] (dec1) -- node[anchor=south] {no} (pro2b); +% %\draw [arrow] (pro2b) |- (pro1); +% %\draw [arrow] (pro2a) -- (out1); +% %\draw [arrow] (out1) -- (stop); +% +% \node[process,xshift=0ex,yshift=-0ex] (ua_back) {User Applications}; +% \node[process,xshift=0ex,yshift=-1ex] at (ua_back) {User Applications}; +% \node[process,xshift=0ex,yshift=-2ex] (ua) at (ua_back) {User Applications}; +% +% \node[process,xshift=0ex,yshift=-0ex,below of=ua] (sl_back) {System Libraries}; +% \node[process,xshift=0ex,yshift=-1ex] at (sl_back) {System Libraries}; +% \node[process,xshift=0ex,yshift=-2ex] (sl) at (sl_back) {System Libraries}; +% +% \node[process,xshift=0ex,yshift=-0ex,below of=sl] (os_back) {OS}; +% \node[process,xshift=0ex,yshift=-1ex] at (os_back) {OS API}; +% \node[process,xshift=0ex,yshift=-2ex] (os) at (os_back) {OS}; +% +% \node[process,xshift=0ex,yshift=-0ex,left of=mem, below of=os] (cpu) {CPU}; +% \node[process,xshift=0ex,yshift=-0ex,right of=cpu] (mem) {Memory}; +% \node[process,xshift=0ex,yshift=-0ex,right of=mem] (otherhw) {Other HW}; +% +% \draw [arrow] (ua) -- (sl); +% \draw [arrow] (sl) -- (os); +% \draw [arrow] (os) -- (cpu); +% \draw [arrow] (os) -- (mem); +% \draw [arrow] (os) -- (otherhw); +% +% TODO: improve +% +% \end{tikzpicture} +% +% \begin{markdown} +% # Flow of Reasoning +% * How to mitigate distributed weaknesses +% - Don't distribute vulnerable software +% - Produce less vulnerabilities +% OR +% - Detect vulnerabilities +% * How to prevent vulnerabilities distribution? +% - Human to make less mistakes; NOT VIABLE, see human aspect. +% - Detect them before the \gls{app} is installed; see time aspect +% * How to detect vulnerabilities +% - Write runtime tests for the program +% - Analyze the source code +% * Runtime Tests +% - Runs on every execution, thus wastes \gls{cpu} resources +% - Program needs to handle it +% -> Slow and too late in the software life cycle! +% * Source Code Analysis +% - Difficult for low-level code, would require hardware knowledge +% - Compilers are source code analysers by nature +% - Additional tools can help, but this takes more effort +% -> chose a compiler with high analysis standards +% * Choice of Compiler: Language Dependent +% - C: Safe C, Cyclone, etc.: define sub language that is analyzable. MEH +% - Rust: designed to be analyzable. WIN! +% * Rust +% - Can the analyzes be extended to suite OS dev? +% \end{markdown} diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index 4a4d347..c5b3429 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -1,5 +1,5 @@ % // vim: set ft=tex: -\chapter{An Introduction To Rust} +\chapter{Rust} \label{rnd::rust} As described by the maintainers, \gls{Rust} is a "systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety."\footnote{\url{www.rust-lang.org}}. During early development it had a runtime-dependent garbage collector which has since been dropped from the language, making it a viable candidate for \gls{os} development. @@ -45,21 +45,59 @@ By analyzing control flow and evaluation of constant expressions, code paths can It will also allow type checking to be more effective, as the MIR is simpler than the HIR. An example of a potential optimization is given in the borrow checker explanation along with the \cnameref{rnd::rust::feat::own-borrow::mir-improvement}. -% TODO: Tokens - -\subsection{Syntax} -In \gls{os} development, macros are often preferred over functions because they are processed at compile time and induce no runtime overhead. -In \gls{Rust}, they are deeply integrated into the language syntax, and are not trivially usable. +\section{Macros And Extensions} In order to extend Rust for specific use-cases in \gls{os} development with macros or other means, the syntax and its extension mechanisms need to be understood. -The following information has been extracted from the \url{https://danielkeep.github.io/tlborm/book}. +In \gls{os} development, macros are often preferred over functions because they are processed at compile time and induce no runtime overhead. +In \gls{Rust}, they are deeply integrated into the language and are not intuitively usable. +This is because they require the developer to write pattern matches on token trees and understand the abstract syntax tree creation. -\paragraph{Tokens Trees} -Rust is a C-like language and doesn't look too much different for simple code. -It starts with tokens, which are similar to other languages. +The most comprehensive literature on Rust's Macro system, including a thorough explanation of available language is provided as a digital book in the rustdoc format\footnote{url{https://danielkeep.github.io/tlborm/book}}. +\subsection{Macro Rules} +A simple macro is presented in \cpnameref{rnd::imezzos-preemptive-multitasking::timer-interrupt-scheduling::macro}, where it is used as a template for interrupt handler definitions. + +% \subsubsection{Macro Recursion Limit} +% Macro recursion can be limited via the attribute: +% +% \mintinline{rust}{#![recursion_limit="10"]} + +\subsection{Language Extensions Example: Software Fault Isolation} +Language extensions allow the addition of almost arbitrary functionality to the language. +They can be used for the definition of additional analysis rules to extend safety checks. + +Developing these is difficult, but the effort is justified under conditions where regular macros are insufficient. +The mechanics of language extensions are beyond the scope of this study, instead an example is presented demonstrating the results one can achieve with them. + +\citeauthor{Balasubramanian2017} have achieved an implementation of Information Control Flow (IFC) analysis in \gls{Rust}, which lets the programmer annotate variables with security contexts.\cite{Balasubramanian2017}. + +IFC enables the enforcement of security contexts in information flow without hardware support and detects a violation at compile time. + +The following buffer implementation is initialized with the first data element it receives. +\begin{minted}[breaklines,highlightlines={6,7}]{rust} +struct Buffer{data: Option >} +impl Buffer { + fn new () -> Buffer {Buffer{data: None }} + fn append (& mut self , mut v: Vec ) { + match self.data { + None => self.data = Some(v), + Some(ref mut d) => d.append (& mut v) } + } } +\end{minted} + +In this sample, variables from two different security contexts are stored in the buffer. +The \code{println!} macro is considered \code{non-secret} and may not read the data since it contain \code{secret} items. +\begin{minted}[breaklines,highlightlines={2-3,5-6,9}]{rust} +let mut buf = Buffer::new(); +#[ label(non-secret )] // security annotation for IFC +let nonsec = vec![1,2,3]; + +#[ label(secret )] // security annotation for IFC +let sec = vec![4,5,6]; +buf.append(nonsec); +buf.append(sec); // buf now contains secret data +println!("{:?}" , buf.data ); // ERROR : leaks secret data +\end{minted} -\subsection{Extensions} -\subsubsection{Definition Of Additional Analysis Rules To Extend Safety Checks} % TODO: Business Logic Checks % Examples: % TLB needs to be reset on Task Change @@ -72,19 +110,10 @@ It starts with tokens, which are similar to other languages. % TODO * Tasks can't access unallocated (physical) memory % TODO * Tasks can't access other tasks memory - -\subsection{Macro Rules} -A rather simple macro is presented in \cpnameref{rnd::imezzos-preemptive-multitasking::timer-interrupt-scheduling::macro}. - -\subsubsection{Macro Recursion Limit} -Macro recursion can be limited via the attribute: - -\mintinline{rust}{#![recursion_limit="10"]} - -\subsection{Compiler Plugins} -The Rust Unstable Book \url{https://doc.rust-lang.org/unstable-book/language-features/plugin.html} -has a section on compiler plugins, which are user-provided libraries that extend the compiler's behavior with new syntax extensions, lint checks, etc. -This is +% \subsection{Compiler Plugins} +% The Rust Unstable Book \url{https://doc.rust-lang.org/unstable-book/language-features/plugin.html} +% has a section on compiler plugins, which are user-provided libraries that extend the compiler's behavior with new syntax extensions, lint checks, etc. +% This is \subsection{Cargo} \glsentrydesc{cargo}. @@ -94,7 +123,7 @@ This is Using \gls{cargo}, arguments for the \gls{llvm} \gls{compiler} can be passed all the way down to by creating the \code{$PROJECT_DIR/.cargo/config} file. The following is an example which has been used to experiment with stack protection in \cref{rnd::weakness-mitig-prev::stack-protection::stack-clash::user-space}. -\begin{minted}{yaml} +\begin{minted}[breaklines]{yaml} [build] rustflags = [ "-C", "llvm-args=-safe-stack-layout -enable-stackovf-sanitizer -asan-stack -warn-stack-size=1000", @@ -121,18 +150,18 @@ Standalone tools of \gls{llvm} might not expose the same functionality as the \g The following sentence is placed here according to the Don't-Repeat-Yourself principle as it would have otherwise been in almost every subsection: Developers unfamiliar with this concept are likely to take a while to get used to it, but safety-gains are well worth the effort. -\subsection{Memory Management} -- TODO: Static Variables on Stack, handled by compiler +% \subsection{Memory Management} +% - TODO: Static Variables on Stack, handled by compiler +% +% - TODO: Heap requires implemented allocator +% +% - TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4 +% - TODO: How can memory be dynamically allocated and still safety checked? -- TODO: Heap requires implemented allocator - -- TODO: BSYS SS17 GITHUB IO Rust Memory Layout - 4 -- TODO: How can memory be dynamically allocated and still safety checked? - -\subsubsection{Custom Allocators} -- TODO: mention ralloc by redox -- TODO: simple allocator by Blog OS -- TODO: Who owns global 'static variables? +% \subsubsection{Custom Allocators} +% - TODO: mention ralloc by redox +% - TODO: simple allocator by Blog OS +% - TODO: Who owns global 'static variables? \subsection{Ownership And Borrows} \citeauthor{Beingessner2015} explores the ownership model in relation to some of the weaknesses explained in \cref{context::weaknesses-mem-safety}. @@ -175,29 +204,35 @@ In the latter case, the borrow checker would complain. This is because it does not consider the two constant indices to borrow different items from the vector, but considers the whole vector to be borrowed by the first statement, causing an error for the second borrow attempt of the vector. \subsection{Static Analyser} -- TODO: How does the Rust's static analysis work, theoretically and practically -- TODO: mention electrolyte, formal verification for Rust -- TODO: How does static typing help with preventing programming errors +The static analyser has been studies extensively throughout this part. +Specifically \Cref{rnd::weakness-mitig-prev::stack-protection::stack-clash::user-space}, which tests the capability of static detection of obvious stack overflow scenarios. -- TODO: explain lints +%- TODO: How does the Rust's static analysis work, theoretically and practically +%- TODO: mention electrolyte, formal verification for Rust +%- TODO: How does static typing help with preventing programming errors +% +%- TODO: explain lints \subsection{Inline Assembly} -Inline assembly is explained by example in \cref{rnd::imezzos-preemptive-multitasking::timer-interrupt-scheduling} +Inline assembly is explored two examples within this study. +Inside the scheduler to instruct the compiler's register clobbering: \cpnameref{rnd::imezzos-preemptive-multitasking::timer-interrupt-scheduling}, +and in the redirection of the boot task shown in \cpnameref{rnd::imezzos-preemptive-multitasking::tasks-stacks::unsafe::jmp}. A more formal and helpful tutorial which is suggested, has been found in form of a web article.\footnote{\url{http://embed.rs/articles/2016/arm-inline-assembly-rust/}} -\subsection{Lifetimes} -- TODO: Where are global 'static variables allocated? +% \subsection{Lifetimes} +% Lifetimes were not used intensively \subsection{Type Safety} -- TODO: demonstrate casts -- TODO: demonstrate raw pointers: -% https://rustbyexample.com/flow_control/match/destructuring/destructure_pointers.html +% - TODO: demonstrate casts +% +% - TODO: demonstrate raw pointers: +% % https://rustbyexample.com/flow_control/match/destructuring/destructure_pointers.html +% +% - TODO: discuss the equivalents of void*? -- TODO: discuss the equivalents of void*? - -\subsection{Single Field Structs} +\subsubsection{Single Field Structs} Structs with a single field can be used to wrap a under a different type name, and make it distinguishable for the type system. This is different from a type alias, which wouldn't prevent the example situation given below. This extended example\footnote{\url{https://aturon.github.io/features/types/newtype.html}} shows one way of preventing the mix-up of common length units. @@ -250,12 +285,8 @@ error[E0308]: mismatched types - .as_miles() \end{minted} -\subsection{Empty Types} -\label{rnd::rust::type-safety::empty-types} -Empty types are abstract types that can not be instantiated. - -\subsubsection{Unreachable Code Paths} -They can be used to statically prevent certain code paths, declaring them impossible. +\subsubsection{Uninstantiable Types} +They can be used to statically prevent certain code paths or mark other impossible conditions in the code. The simplest example is a function that is defined to never return: \begin{minted}[linenos,breaklines]{rust} @@ -297,19 +328,16 @@ This demonstrates that the empty enum cannot be instantiated, and is merely a sy Rust includes the \code{!} type for this purpose, and the function could've been written as \mintinline{rust}{fn never_returns() -> ! { loop{} }}. This pattern can be used in \gls{os} development for the \gls{os}'s function that runs the main loop, and is not supposed to return. -\subsubsection{In Combination With Traits And PhantomData} -Emtpy enums can be used for more advanced use-cases in combination with traits, as shown in \cref{rnd::existing-os-dev-with-rust::systems::blog-os::mm}, where the lowest level of the page hierarchy is prevented from calling the \code{next_table} method. +\paragraph{In Combination With Traits And PhantomData} +Emtpy enums can be used for more advanced use-cases in combination with traits, as shown in \cref{rnd::existing-os-dev-with-rust::systems::blog-os::mm}, where the lowest level of the page hierarchy is prevented from calling the \code{next_table()} method. \subsection{Inner- and Outer Mutability} Some types in \gls{Rust} provide interior mutability, so that their \emph{value} can be mutated even though they have not been declared using \code{mut}. -An example of this is found in with the \code{spin::Mutex} type used in %\cpnameref{}. +This study has two usages of types with interior mutability: +\code{AtomicUsize}, used in \cpnameref{code::imezzos-preemptive-multitasking::clock::tick} and \code{spin::Mutex} used in \cpnameref{rnd::example::mutex}. -Other examples which are not covered in this study include \code{Rc}, \code{Arc}, \code{RefCell}. - -\section{Limitations} -* TODO: deadlock example -* TODO: cyclic reference memory leak example +Other types which are not covered in this study include \code{Rc}, \code{Arc}, \code{RefCell}. \chapter{Weakness Mitigation And Prevention} \label{rnd::weakness-mitig-prev} @@ -592,14 +620,14 @@ The \gls{os} can then check if the guard page was accessed or if the stack is pe As this code was extracted from a binary, the estimated stack size must have been calculcated at compile-time. This is fortunate and drives the investigation further if this check could be performed entirely at compile-time. -\paragraph{Compile-Time Prevention} +\paragraph{Attempted Compile-Time Prevention} \label{rnd::weakness-mitig-prev::stack-protection::stack-clash::user-space::compile-time} %The compile-time prevention of the stack clash depends on the ability to predict the stack size and its boundaries accurately. %This investigation justifies a separate chapter, please see \cref{rnd::stack-size-estimation}. % %\chapter{Compile-Time Stack-Size Estimation} %\label{rnd::stack-size-estimation} -By estimating the stack size at compile-time the stack clash -- covered in \cref{rnd::weakness-mitig-prev::stack-protection::stack-clash}) -- and other undesired stack scenarios, could be predicted without running into them. +By estimating the stack size at compile-time the stack clash -- covered in \cref{rnd::weakness-mitig-prev::stack-protection::stack-clash} -- and other undesired stack scenarios, could be predicted without running into them. In theory, this analysis requires a prediction of the worst-case stack growth for each procedure based on source code information. This maximum stack growth size must then be compared to stack size limit, as well as the distance and the size of the guard area; it must be equal or less than all given limits. This could effectively prevent the stack from overflowing and from touching or leaping over the guard area. @@ -671,7 +699,7 @@ fn main() { The highlighted lines in \cref{code::examples::huge-stack-rust} construct a slice on the stack with the size of $8 * 0x100000000 = 0x800000000 = 4,294,967,296$ Bytes (4GiB), which would fill the main memory of any 32-Bit system and should definitely be enough to trigger the configured stack warning. Unexpectedly this program compiled without a warning; -It was expected that the \gls{compiler} detects this huge statically allocated stack array, compares it to the configured maximum allowed size and reports the violation. +It was expected that the \gls{compiler} detects this huge statically allocated stack slice, compares it to the configured maximum allowed size and reports the violation. At runtime it crashes with this message: \begin{minted}{md} @@ -958,11 +986,11 @@ The main author of Redox OS has become an active contributor to the Rust languag The biggest achievement from the perspective of this study is the successful integration into Rust's libstd, which happened continuously and cannot be referenced easily. This allows programmers to use Rust with all it's features to develop programs for Redox OS. -\subsection{Tock OS} -Tock OS is "an embedded operating system designed for running multiple concurrent, mutually distrustful applications on low-memory and low-power microcontrollers."\cite{TockOS} - -\subsubsection{Task Model} -\subsubsection{Memory Management} +% \subsection{Tock OS} +% Tock OS is "an embedded operating system designed for running multiple concurrent, mutually distrustful applications on low-memory and low-power microcontrollers."\cite{TockOS} +% +% \subsubsection{Task Model} +% \subsubsection{Memory Management} \subsection{intermezzOS} "intermezzOS is a teaching operating system, specifically focused on introducing systems programming concepts to experienced developers from other areas of programming."\footnote{\url{https://intermezzos.github.io/}} @@ -1059,7 +1087,7 @@ The build process gives an impression of what is required to build an \gls{os} e \section{Development State} The anticipated development of preemptive multitasking has been reached. -Tasks are represented by plain \code{fn()} instances. +Tasks are represented by plain \code{fn() -> !} instances. The tasks and the task table are statically defined in the \gls{os} source code. Task switches are driven by the Programmable-Interrupt-Timer, for which a driver has been implemented. The task scheduler works in a round-robin fashion and detects stack overflows. @@ -1204,11 +1232,19 @@ impl Clock for Pit { \end{minted} The \code{start} method is the first occurrence of \code{unsafe}, which is required to perform raw I/O port access using \code{outb}. \code{tick} is extremely simple, it uses a method to atomically add one, requesting a specific ordering: \textit{SeqCstr: Like AcqRel with the additional guarantee that all threads see all sequentially consistent operations in the same order}.\footnote{\url{https://doc.rust-lang.org/core/sync/atomic/enum.Ordering.html}} -This method is called in the \gls{os} timer interrupt handler. +This method is called in the \gls{os} timer interrupt handler, as indicated in \cref{code::imezzos-preemptive-multitasking::clock::tick}. - -% TODO: Is the static analysis of hardware specific assembly code possible and useful at all? -% TODO: LLVM knows about the target and can potentially give hints about hardware specific instructions +\begin{listing}[ht!] +\begin{minted}[breaklines]{rust} + let timer = make_idt_entry!(isr32, esf: &mut ExceptionStackFrame, true, { + ... + unsafe { CLOCK.tick() }; + ... +\end{minted} +\caption{Ticking The Clock} +\label{code::imezzos-preemptive-multitasking::clock::tick} +\end{listing} +\FloatBarrier \section{Timer Interrupt For Scheduling and Dispatching} \label{rnd::imezzos-preemptive-multitasking::timer-interrupt-scheduling} @@ -1273,25 +1309,62 @@ Thanks to the pull-request described in \cpnameref{rnd::existing-os-dev-with-rus It enables the proper handling of the first argument, and in combination with the \emph{clobber} registers shown in \cref{code::imezzos::ir-handler-macro} line 11, enables the compiler to generate a functoin pro- and epilogue to automatically \code{PUSH/POP} all named registers from the stack. As a result, the inline assembly string provided by the programmer is empty, which alleviates the necessatiy of \code{unsafe}. -\paragraph{Inline Assembly} -Further, the inline assembly is interesting. - -\paragraph{Inline Assembly} - -\begin{minted}[breaklines]{rust} - let timer = make_idt_entry!(isr32, esf: &mut ExceptionStackFrame, true, { - ... - unsafe { CLOCK.tick() }; - ... -\end{minted} -TODO - - \section{Tasks and Stacks} \label{rnd::imezzos-preemptive-multitasking::tasks-stacks} -The implementation of the tasks has been kept straight forward, using static variables. +The implementation of the tasks has been kept straight forward, using global static variables and simple struct types instead of traits. +Tasks are defined globally with the simple \code{fn() -> !} type. + +\subsection{Initial Unsafe JMP} +\label{rnd::imezzos-preemptive-multitasking::tasks-stacks::unsafe::jmp} +To redirect the codepath of the boot task, the solution in \cref{code::imezzos::jump-to-task0} has been implemented. +The function \code{schedule_and_dispatch()} is called from the \gls{os} \code{main() -> !} method, which will never return. +It shows the combination of Rust high-level code, which leverages the highlighted lifetime to seamlessly lock and drop the \code{TSI} variable. + +The numbered circle show another interesting usage of the language. +The variables are declare immutable (no \code{mut}), and are initialized within the nested scope. +Another write to these variables would result in a compilation error. +They end up being passed to the inline assembly, where they are further processed. + +\begin{listing}[ht!] +\begin{minted}[escapeinside=??,breaklines,highlightlines={7-14,16-30}]{rust} +#[naked] +fn schedule_and_dispatch() { + let rbp; ?\tikzmarkcircle{1}? + let rsp; ?\tikzmarkcircle{2}? + let rip; ?\tikzmarkcircle{3}? + + { + let tsi = TSI.lock(); + let te = tsi.get_current_task(); + + rbp = te.stack.top; ?\tikzmarkcircle{1}? + rsp = te.esf.stack_pointer; ?\tikzmarkcircle{2}? + rip = te.esf.instruction_pointer; ?\tikzmarkcircle{3}? + }; + + unsafe { + asm!(" + mov rbp, $0 "?\tikzmarkcircle{1}?" + jmp $1 "?\tikzmarkcircle{2}?" + " + : // output operands + : // input operands + "r"(rbp) ?\tikzmarkcircle{1}? + "r"(rip) ?\tikzmarkcircle{3}? + "{rsp}="(rsp) ?\tikzmarkcircle{2}? + : // clobbers + : // options + "intel" "volatile" + ); + }; +} +\end{minted} +\caption{intermezzOS: Initial Jump To Task 0} +\label{code::imezzos::jump-to-task0} +\end{listing} \subsection{Declaration and Intantiation} +\paragraph{Global Stacks} \label{rnd::imezzos-preemptive-multitasking::tasks-stacks::dni} \Cref{code::imezzos::stack-and-tasks-1} defines a \code{Stack} with a top and a bottom address based which are offset by a constant. Subsequent stacks grow the multiplier by 10, which keeps space between the stacks. @@ -1310,7 +1383,8 @@ const TASK0_STACK: Stack = Stack { \label{code::imezzos::stack-and-tasks-1} \end{listing} -\Cref{code::imezzos::stack-and-tasks-2} defines a \code{TaskEntry} in a static array of the same. +\paragraph{Global TaskList} +\Cref{code::imezzos::stack-and-tasks-2} defines a \code{TaskEntry} in a static slice of the same. The highlighted lines are unique to each task. In the given order, they represent their first instruction, their initial top of stack, and their initial set of \gls{cpu} registers. Except for the instruction pointer, these variables have their own type and cannot easily be mixed up. @@ -1341,7 +1415,9 @@ Except for the instruction pointer, these variables have their own type and cann \label{code::imezzos::stack-and-tasks-2} \end{listing} -\Cref{code::imezzos::stack-and-tasks-3} wraps this array by a \code{Mutex}, which is returned by the expression and stored as a \code{lazy_static} reference as explained in the previous section. +\paragraph{Mutex With Interior Mutability} +\label{rnd::example::mutex} +\Cref{code::imezzos::stack-and-tasks-3} wraps this slice in a \code{spin::Mutex}, which is returned by the expression and stored as a \code{lazy_static} reference as explained in the previous section. The \code{Mutex} type is interesting, as it provides \emph{interior mutability}. This explains how the tasklist can be mutated at runtime, even though it is not declared as \code{mut}. @@ -1363,12 +1439,91 @@ static ref TSI: Mutex = { \end{listing} \subsection{Preemptive Task Switches} +What follows in \cref{code::imezzos::taskswitch-1,} is the most low-level part in this study, the actual context switch within the interrupt handler. + +It does these things: (* marks unsafe actions) +\begin{enumerate} + \item * Read the \gls{sf} Base-Pointer (line 2) + \item Calculate the offset to the Registers on the \gls{sf} + \item * Cast this address to a type that contains all registers (line 5-6) + \item ? Pass the Exception\gls{sf} and the registers along to \code{manage_tasks} + \item Acknowledge the interrupt +\end{enumerate} + +Looking at this code in retrospection suggests that \code{manage_tasks} could be marked as \code{unsafe} too because it does \code{unsafe} things inside. +Through the values it consumed, it is able to directly modify the stack contents. +Arguably it is done through modeled types, but it is not the way the \gls{stack} was designed to be used by a programmer. + +\begin{listing}[ht!] +\begin{minted}[breaklines,highlightlines={2,5-6},linenos]{rust} + let timer = make_idt_entry!(isr32, esf: &mut ExceptionStackFrame, true, { + let rbp_on_stack: *mut usize = unsafe { (get_register!("rbp") as *mut usize) }; + let rax_offset = 1 - (mem::size_of::() as isize / 8); + let rax_on_stack: *mut usize = unsafe { rbp_on_stack.offset(rax_offset) }; + let registers_on_stack: &mut tasks::TaskRegisters = + unsafe { mem::transmute::<*mut usize, &mut tasks::TaskRegisters>(rax_on_stack) }; + + ... + manage_tasks(esf, registers_on_stack); + pic::eoi_for(32); + }; +\end{minted} +\caption{intermezzOS: Taskswitch - 1} +\label{code::imezzos::taskswitch-1} +\end{listing} \subsection{Task Definitions} +The task definitions are straight forward as explained. + +\paragraph{Idle Task} +\Cref{code::imezzos::idel-task} shows the system's idle task, which infinitively calls \code{hlt()} after finishing the boot process. + +\begin{listing}[ht!] +\begin{minted}[breaklines,highlightlines={5}]{rust} +#[deny(unsafe_code)] +fn task0() -> !{ + unsafe { CLOCK.start() }; + + kprintln!(CONTEXT, + "System clock set up. Frequency: {} / Resolution: {}ns", + CLOCK.frequency, + CLOCK.resolution); + + kprintln!(CONTEXT, + "Kernel initialized, final step: enabling interrupts"); + CONTEXT.idt.enable_interrupts(); + + loop { + hlt(); + } +} +\end{minted} +\caption{intermezzOS: Idle Task} +\label{code::imezzos::idel-task} +\end{listing} + + +\section{Safety Concerns} -\section{Safety} \subsection{Protecting Static Resources} - TODO +With this straight forward task implementation any task has access to the globally defined reference variables which hold the system state. +For this reason, the \code{Clock} trait makes use of the \code{unsafe} keyword. + +As seen in this code snippet, the tasks can be prevented from accessing any \code{unsafe} by adding the appropriate annotation. +Of course, this does not make sense for the system's idle task, but it is suitable for an example. + +\begin{listing}[ht!] +\begin{minted}[breaklines,highlightlines={5}]{rust} +#[deny(unsafe_code)] +fn task0() { + unsafe { CLOCK.start() }; + ... +} +\end{minted} +\end{listing} + +This causes the compiler to abort compilation with the following error: + \begin{minted}{md} error: usage of an `unsafe` block --> src/main.rs:499:5 @@ -1383,12 +1538,34 @@ note: lint level defined here | \end{minted} -\subsection{Risk Of Stack-Overflow} -TODO -- TODO: reference stack protection -Give a practical example what this could look like with an extension attribute +\subsection{Vulnerable To In-Kernel Stack Overflow} +As investigated in \cpnameref{rnd::weakness-mitig-prev::stack-protection::stack-clash::user-space::compile-time}, \gls{Rust} does not detect stack overflows at compile-time. +Without a paging implementation that sets up a guard area for each task, there is no guarantees on memory-safety within this \gls{os}. -\chapter{Result Summary} -- TODO -TODO +The trivial runtime mitigation is to employ a boundary check in the task management function, as shown in \cref{code::imezzos:stack-of-detect}, and in addition place the task's stacks far apart. +If the stack pointer of the preempted task is not within it's known stack boundaries, the task is blocked from further scheduling. +This solution leaves each task enough time to overflow it's stack by enough space to reach a memory area of another task or the \gls{os}. +This may happen within one scheduling period before it can be detected. +\begin{listing}[ht!] +\begin{minted}[breaklines,highlightlines={5}]{rust} +fn manage_tasks(esf: &mut ExceptionStackFrame, registers: &mut tasks::TaskRegisters) { +... + if let Some(mut tsi) = TSI.try_lock() { + ... + if !tsi.get_current_task().stack.contains(esf.stack_pointer) { + kprintln_try!(CONTEXT, + "Stack overflow in task {}!\nStack: {:x}\nESF: {:x}\nREGS: {:x}", + tsi.current_task, + tsi.get_current_task().stack, + esf, + registers); + tsi.get_current_task_mut().blocked = true; + } + } +... +} +\end{minted} +\caption{intermezzOS: Runtime Stack Overflow Detection} +\label{code::imezzos:stack-of-detect} +\end{listing} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 9be093f..789952f 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -8,7 +8,7 @@ \usepackage{blindtext,color,fancyhdr} \usepackage{geometry} -\geometry{a4paper, top=25mm, left=30mm, right=35mm, bottom=35mm, headsep=10mm, footskip=12mm} +\geometry{a4paper, top=25mm, left=35mm, right=30mm, bottom=35mm, headsep=10mm, footskip=12mm} \usepackage{multirow,tabularx,tabu} \usepackage{booktabs} From cae041727d0812a41455d54efa1df9ade134af43 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 29 Sep 2017 18:09:13 +0200 Subject: [PATCH 125/126] proper format; strip unfinished content --- src/code/stack_handling.rs/src/main.rs | 54 +-- src/docs/abstract.tex | 7 +- src/docs/affidavit.tex | 26 ++ src/docs/cover.tex | 26 ++ src/docs/gfx/htwg-logo.pdf | Bin 0 -> 43925 bytes src/docs/gfx/llvm-number-paper-pa.png | Bin 0 -> 8482 bytes src/docs/gfx/rust-compiler-flow.png | Bin 0 -> 32996 bytes src/docs/parts/context/context.tex | 339 ++++++++---------- .../research_and_development.tex | 117 +++--- src/docs/thesis.tex | 53 +-- 10 files changed, 291 insertions(+), 331 deletions(-) create mode 100644 src/docs/affidavit.tex create mode 100644 src/docs/cover.tex create mode 100644 src/docs/gfx/htwg-logo.pdf create mode 100644 src/docs/gfx/llvm-number-paper-pa.png create mode 100644 src/docs/gfx/rust-compiler-flow.png diff --git a/src/code/stack_handling.rs/src/main.rs b/src/code/stack_handling.rs/src/main.rs index 71db1d8..d47839e 100644 --- a/src/code/stack_handling.rs/src/main.rs +++ b/src/code/stack_handling.rs/src/main.rs @@ -79,54 +79,6 @@ fn passthrough(a: isize) -> isize { } #[inline(never)] -fn caller() { - let a = passthrough(1); - let b = a * 2; - printer(&a, &b); -} - -#[inline(never)] -fn printer(a: &isize, b: &isize) { - println!("2*{}={}", a, b) -} - -#[inline(never)] -fn modifier() { - let v: usize = 0; - let v_addr = (&v as *const usize) as usize; - unsafe { - *((v_addr + 1 * 8) as *mut usize) = simple_printer as usize; - } -} - -#[naked] -fn simple_printer() { - eprint!("I wonder who called me?"); -} - -#[inline(never)] -fn huge_stack() { - const SLICE_LENGTH: usize = 0x100000000; - let slice: [u64; SLICE_LENGTH] = [0xdeadbeef; SLICE_LENGTH]; - let slice_start_addr = &slice[0] as *const u64; - let slice_end_addr = &slice[SLICE_LENGTH - 1] as *const u64; - println!("{:?} - {:?} = {:?}", - slice_start_addr, - slice_end_addr, - (slice_end_addr as usize - slice_start_addr as usize) / std::mem::size_of::()); -} - -// fn recurse(n: u64) { - // recurse(n + 1); -// } - -fn a() { a(); } -fn main() { a(); } - - - -// fn main() { - // // modifier(); - // huge_stack(); - // println!("main exiting") -// } \ No newline at end of file +fn r(); + println!("main exiting") +} \ No newline at end of file diff --git a/src/docs/abstract.tex b/src/docs/abstract.tex index 1e5f7ca..0e705fb 100644 --- a/src/docs/abstract.tex +++ b/src/docs/abstract.tex @@ -1,3 +1,4 @@ +% // vim: set ft=tex: \begin{center} {\Large \textbf{Abstract}} \end{center} @@ -13,9 +14,9 @@ Supervisors: & \supervisorOne \\[.5ex] & \supervisorTwo\\ & \\ - Submition: & \submitdate \\ + Submission: & \submitdate \\ & \\ - Buzzwords: & \buzzwords \\ + Categories: & \buzzwords \\ & \\ \end{tabular} \end{center} @@ -23,4 +24,4 @@ \bigskip \noindent -TODO: abstract goes here +\abstract diff --git a/src/docs/affidavit.tex b/src/docs/affidavit.tex new file mode 100644 index 0000000..3700552 --- /dev/null +++ b/src/docs/affidavit.tex @@ -0,0 +1,26 @@ +% // vim: set ft=tex: + +\chapter*{Ehrenwörtliche Erklärung} + +Hiermit erkläre ich, {\authorOne}, geboren am {\authorOneBirthDate} in {\authorOneBirthCity}, + +\begin{enumerate} + \item{ + dass ich meine Masterarbeit mit dem Titel: + + {"\topic"} + + in der Fakultät Informatik unter Anleitung von Professor {\supervisorOne} und ohne fremde Hilfe angefertigt habe und keine anderen als die angeführten Hilfen benutzt habe; + } + \item{ + dass ich die Übernahme wörtlicher Zitate, von Tabellen, Zeichnungen, Bildern und Programmen aus der Literatur oder anderen Quellen (Internet) sowie die Verwendung der Gedanken anderer Autoren an den entsprechenden Stellen innerhalb der Arbeit gekennzeichnet habe; + } + \item{ + dass die eingereichten Abgabe-Exemplare in Papierform und im PDF-Format vollständig übereinstimmen. + } +\end{enumerate} + +Ich bin mir bewusst, dass eine falsche Erklärung rechtliche Folgen haben wird. + +\vspace{4cm} +Konstanz, 29.9.2017\hspace{5cm} \authorOne diff --git a/src/docs/cover.tex b/src/docs/cover.tex new file mode 100644 index 0000000..a4e0825 --- /dev/null +++ b/src/docs/cover.tex @@ -0,0 +1,26 @@ +\begin{titlepage} + +\vspace*{-1.0cm} + +\begin{centering} + \includegraphics[width=\textwidth]{gfx/htwg-logo.pdf} +\end{centering} + +\vspace{1.5cm} + +\begin{center} + \huge{ + \textbf{\topic} \\[4cm] + } + \Large{ + \textbf{\authorOne}} \\[5.5cm] + \large{ + \textbf{Konstanz, \submitdate} \\[2.3cm] + } + + \Huge{ + \textbf{{\textsf Masterarbeit}} + } +\end{center} + +\end{titlepage} diff --git a/src/docs/gfx/htwg-logo.pdf b/src/docs/gfx/htwg-logo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e7dfc76c6b015c07455ed5ffd33a98ab22f9e615 GIT binary patch literal 43925 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 literal 0 HcmV?d00001 diff --git a/src/docs/gfx/llvm-number-paper-pa.png b/src/docs/gfx/llvm-number-paper-pa.png new file mode 100644 index 0000000000000000000000000000000000000000..54d3b614e20328a4499fc56b96b8949bf215d61a GIT binary patch literal 8482 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 literal 0 HcmV?d00001 diff --git a/src/docs/gfx/rust-compiler-flow.png b/src/docs/gfx/rust-compiler-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0d140e8d1bad4543343511134903a6f4425ad5 GIT binary patch literal 32996 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\columncolor{YellowGreen}}c | l } +% \multicolumn{1}{r}{RBP offset} & \multicolumn{1}{c}{Content} & \\ +% $\uparrow$ & \cellcolor{white} & \\ +% & \cellcolor{white} \dots \textit{beyond current stack} \dots & \\ +% \hhline{~-~} +% 0 & \textit{Previous RSP} & $\leftarrow$ RBP \\ +% \hhline{~-~} +% \vdots & \dots~~\textit{local variables}~~\dots & \\ +% \hhline{~-~} +% -0x30 & 3rd arg & \\ +% \hhline{~|-|~} +% -0x38 & 2nd arg & \\ +% \hhline{~-~} +% -0x40 & 1st arg & \\ +% \hhline{~-~} +% \vdots & \dots~~\textit{local variables}~~\dots & \\ +% \hhline{~-~} +% -0x60 & rdi & \\ +% \hhline{~-~} +% & \dots~~\textit{local variables}~~\dots & \\ +% \hhline{~-~} +% $RBP-RSP$ & \textit{unknown} & $\leftarrow$ RSP \\ +% \hhline{~-~} +% & \cellcolor{white} & \\ +% $\downarrow$ & \cellcolor{white} & \\ +% \end{tabular} +% \end{table} +% +% \cref{code::context::examples::func-prologue} shows \textit{sum}'s prologue. +% The corresponding epilogue is displayed in \cref{code::context::examples::func-epilogue}. +% The comments explain the code line by line, please read them to understand what exactly happens at each instruction. -\cref{code::context::examples::func-callee-rust} shows the \gls{Rust} source code of the function \textit{sum}. - -% \subsubsection{Top-Level Page Table Self-Reference} -% \subsubsection{Caching Lookups} -% \subsubsection{Full Example} -% * http://taptipalit.blogspot.de/2013/10/theory-recursive-mapping-page.html -% * https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows - -\begin{listing}[htb] - \tikzset{/minted/basename=callee-rust} - \begin{minted}[autogobble,linenos,breaklines=true]{rust} - TODO - \end{minted} - \caption{Procedure Call Example: Callee in Rust} - \label{code::context::examples::func-callee-rust} -\end{listing} - -\begin{listing}[htb] - \tikzset{/minted/basename=callee-rust} - \begin{minted}[autogobble,linenos,breaklines=true]{nasm} - TODO - \end{minted} - \caption{Procedure Call Example: Callee in Assembly} - \label{code::context::examples::func-callee-assembly} -\end{listing} - -\Cref{code::context::examples::func-caller-asm} shows a snippet of the calling function. -It stores the arguments within the registers according to the calling convention. -The caller doesn't alter the stack-frame pointer (RBP) or the stack pointer (RSP) registers before call, hence the called function must restore these if it alters them. - -\begin{listing} - \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{nasm} - TODO - \end{minted} - \caption{Procedure Call Example: Caller Assembly} - \label{code::context::examples::func-caller-asm} -\end{listing} - -\begin{listing} - \begin{minted}[escapeinside=??,highlightlines={},autogobble,linenos,breaklines=true]{rust} - \end{minted} - TODO - \caption{Procedure Call Example: Caller in Rust} - \label{code::context::examples::func-caller-rust} -\end{listing} - -% \balloon{comment}{ - -% RDI, RSI, RDX, RCX, R8, R9, XMM0–7 - -\begin{table}[ht!] - \centering - \begin{tabular}{ r | >{\columncolor{YellowGreen}}c | l } - \multicolumn{1}{r}{RBP offset} & \multicolumn{1}{c}{Content} & \\ - $\uparrow$ & \cellcolor{white} & \\ - & \cellcolor{white} \dots \textit{beyond current stack} \dots & \\ - \hhline{~-~} - 0 & \textit{Previous RSP} & $\leftarrow$ RBP \\ - \hhline{~-~} - \vdots & \dots~~\textit{local variables}~~\dots & \\ - \hhline{~-~} - -0x30 & 3rd arg & \\ - \hhline{~|-|~} - -0x38 & 2nd arg & \\ - \hhline{~-~} - -0x40 & 1st arg & \\ - \hhline{~-~} - \vdots & \dots~~\textit{local variables}~~\dots & \\ - \hhline{~-~} - -0x60 & rdi & \\ - \hhline{~-~} - & \dots~~\textit{local variables}~~\dots & \\ - \hhline{~-~} - $RBP-RSP$ & \textit{unknown} & $\leftarrow$ RSP \\ - \hhline{~-~} - & \cellcolor{white} & \\ - $\downarrow$ & \cellcolor{white} & \\ - \end{tabular} -\end{table} - -\cref{code::context::examples::func-prologue} shows \textit{sum}'s prologue. -The corresponding epilogue is displayed in \cref{code::context::examples::func-epilogue}. -The comments explain the code line by line, please read them to understand what exactly happens at each instruction. +\Cref{code::context::examples::func-prologue,code::context::examples::func-epilogue} show assembly code of a callee's procedure pro- and epilogue. +Respectively, they show how the arguments are copied from the CPU registers onto the stack on entry, and the return value copied from the stack to the CPU register before return. \begin{listing}[ht!] \begin{minted}[escapeinside=??,linenos=false,breaklines=true]{nasm} @@ -797,17 +767,18 @@ $74f7: ret ; return to the caller, following the add \caption{Function Epilogue} \label{code::context::examples::func-epilogue} \end{listing} - -\cref{fig:proc-call-example-mem} displays - -\begin{figure} -\centering -\includegraphics[width=0.95\textwidth]{gfx/call-procedure-memory-content.png} -\caption{Memory Layout Throughout The Procedure Call Steps} -\label{fig:proc-call-example-mem} -\end{figure} \FloatBarrier +%\cref{fig:proc-call-example-mem} displays +% +%\begin{figure} +%\centering +%\includegraphics[width=0.95\textwidth]{gfx/call-procedure-memory-content.png} +%\caption{Memory Layout Throughout The Procedure Call Steps} +%\label{fig:proc-call-example-mem} +%\end{figure} +%\FloatBarrier + \section{Stack And Heap: Combined Usage} \label{context::os-dev-concepts::stackheap-combined} \Glspl{program} combine the usage of \gls{stack} and \gls{heap} use them for different purposes. @@ -1457,7 +1428,7 @@ From today's perspective it appears to be clearly inferior to younger \gls{os} l \section{LLVM: C and Rust} The \glsentrydesc{llvm} has become popular since it was introduced. -To demonstrate this, \cref{fig:llvm-research-papers-since-2002}\footnote{\url{TODO https://llvm.org/pubs/}} shows a statistic on how many research papers have been published yearly since 2002. +To demonstrate this, \cref{fig:llvm-research-papers-since-2002}\footnote{\url{https://llvm.org/pubs/}} shows a statistic on how many research papers have been published yearly since 2002. \begin{figure}[ht!] \centering diff --git a/src/docs/parts/research_and_development/research_and_development.tex b/src/docs/parts/research_and_development/research_and_development.tex index c5b3429..4732c63 100644 --- a/src/docs/parts/research_and_development/research_and_development.tex +++ b/src/docs/parts/research_and_development/research_and_development.tex @@ -349,10 +349,11 @@ The results are summarized in \cref{enc}. \section{Porting \glsentrytext{C} Vulnerabilities} \label{rnd::weakness-mitig-prev::porting-c-vulns} -In this chapter, the weakness manifestations given in \cref{context::weaknesses-mem-safety::manifestations} are rewritten in \gls{Rust} to examine if these are mitigated just by porting them. -This is done incrementally by first porting the vulnerability to unsafe Rust, followed by a rewrite to drop all unsafe code but keeping the intended functionality. +Unlike originally anticipated, the vulnerabilities were not manually ported to Rust. +Instead, the investigation of \cnameref{rnd::weakness-mitig-prev::stack-protection} and \cnameref{rnd::imezzos-preemptive-multitasking} was extended. + +However, \citeauthor{Beingessner2015} was able to identify an underlying pattern of the violation of implicitly trusted invariants a common cause for same-type weaknesses as listed in \cnameref{context::weaknesses-mem-safety::manifestations::cwe-ex}. -- TODO official CWE-119 examples \section{Stack Protection} \label{rnd::weakness-mitig-prev::stack-protection} @@ -432,14 +433,15 @@ ret \label{code::context::examples::sf-modification-simple-c-asm} \end{figure} -\Cref{TODO-callstack-manipulation} is an attempt to visualize what happens in memory and with the \gls{stack} and the \gls{cpu}'s RIP {64-Bit Instruction Pointer} register. - -\begin{figure} - \includegraphics[width=\textwidth]{gfx/TODO-callstack-manipulation} - \caption{TODO-callstack-manipulation} - \label{TODO-callstack-manipulation} -\end{figure} -\FloatBarrier +% \Cref{fig:callstack-manipulation} is an attempt to visualize what happens in memory and with the \gls{stack} and the \gls{cpu}'s RIP {64-Bit Instruction Pointer} register. +% +% \begin{figure} +% TODO +% \includegraphics[width=\textwidth]{gfx/TODO-callstack-manipulation} +% \caption{fig:callstack-manipulation} +% \label{fig:callstack-manipulation} +% \end{figure} +% \FloatBarrier \paragraph{Compiler Hardening - Placing A Canary Value} The manipulation can be mitigated on \gls{C} using the \code{-fstack-protection-all} option with the \gls{clang}. @@ -795,11 +797,11 @@ This one includes the previous findings and suggestions on how this information Dynamically sized stack variables have been omitted from the table since they are irrelevant. On stack variable-length-arrays and variadic arguments are not supported by \gls{Rust}, and there is no indication of other use-cases. -\chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} -The numerous \gls{LX} vulnerabilities are a great motivator for using \gls{Rust} for \gls{LX} drivers. -This chapter presents the attempt to use \gls{Rust} for a simple buffer that is presented to userspace as a character device. - -- TODO: explain the difficulty to use the Kernel's C Macros, which are required to expose a character device +% \chapter{\glsentrytext{LX} Modules Written In \glsentrytext{Rust}} +% The numerous \gls{LX} vulnerabilities are a great motivator for using \gls{Rust} for \gls{LX} drivers. +% This chapter presents the attempt to use \gls{Rust} for a simple buffer that is presented to userspace as a character device. +% +% - TODO: explain the difficulty to use the Kernel's C Macros, which are required to expose a character device \chapter{Existing \glsentrytext{os}-Development Projects Based On Rust} \label{rnd::existing-os-dev-with-rust} @@ -811,49 +813,43 @@ In addition to presenting their content, the author's tangible influence on the As Rust is a relatively young language, the selection of research papers relevant for this study is limited. This is likely due to the fact that Rust hasn't been stabilized until May 15, 2015\footnote{\url{May 15, 2015}}, and relied on a runtime gargabe-collector for a long time of it's pre-stable existence. -\subsection{ - \citetitle{Levy2015a} -% \cite{Levy2015a} -} -\citeauthor{Levy2015a} have been using Rust to develop a new embedded system \gls{os} for microcontrollers called Tock. -They describe to find Rust's ownership model restricting by preventing safe resource sharing in embedded-typical event-based scenarios. -They made suggestions to extend the langauge with Execution Contexts, which would "allow programs to mutably borrow values multiple times as long as those borrows are never shared between threads. Execution contexts allow the compiler to distinguish such sharing from actual errors using only local analysis." - -On their website the authors recently made the following statement: -"After feedback from the Rust developers and the community, we were able to overcome those challanges without modifications to the language. We also learned that we understated how disruptive some of the changes we proposed would be to the language and do not believe they are worthwhile. This has been discussed extensively now in the Rust community. You should read this paper critically, not as conclusive scientific findings, but as the perspectives of the authors during a particular point in the development of Tock."\cite[/papers]{TockOS} - -\subsection{ - \citetitle{Beingessner2015} -% \cite{Beingessner2015} -} -Covered in \cref{rnd::rust} - -\subsection{ - \citetitle{Reed2015} -% \cite{Reed2015} -} -\subsection{ - \citetitle{Getreu2016} - \cite{Getreu2016} -} -\subsection{ - \citetitle{Balasubramanian2017} -% \cite{Balasubramanian2017} -} -\subsubsection{Software Fault Isolation} -- TODO: content from \cite{Balasubramanian2017} -\subsection{ - \citetitle{Nilsson2017} -% \cite{Nilsson2017} -} +It was decided not to summarize the references, but rather explain the gained insight in particular detail at each relevant occurence. -\section{Libraries} +% \subsection{ +% \citetitle{Levy2015a} +% \cite{Levy2015a} +% } -\subsection{Libfringe} -% TODO: https://github.com/edef1c/libfringe +% \paragraph{ +% \citetitle{Beingessner2015} +% \cite{Beingessner2015} +% } +% +% \paragraph{ +% \citetitle{Reed2015} +% \cite{Reed2015} +% } +% \paragraph{ +% \citetitle{Getreu2016} +% \cite{Getreu2016} +% } +% \paragraph{ +% \citetitle{Balasubramanian2017} +% \cite{Balasubramanian2017} +% } +% \paragraph{ +% \citetitle{Nilsson2017} +% \cite{Nilsson2017} +% } +% \section{Libraries} +% +% \subsection{Libfringe} +% % TODO: https://github.com/edef1c/libfringe +% +% \section{Systems} Most of the presented systems target the \gls{amd64} architecture; Tock OS, which is targeted towards an ARM variant, is the only exception. The interesting parts of each \gls{os} are their origin, intentions, their current state, the level of memory-safety, and what design or language features made this level possible. @@ -986,8 +982,15 @@ The main author of Redox OS has become an active contributor to the Rust languag The biggest achievement from the perspective of this study is the successful integration into Rust's libstd, which happened continuously and cannot be referenced easily. This allows programmers to use Rust with all it's features to develop programs for Redox OS. -% \subsection{Tock OS} -% Tock OS is "an embedded operating system designed for running multiple concurrent, mutually distrustful applications on low-memory and low-power microcontrollers."\cite{TockOS} +\subsection{Tock OS} +Tock OS is "an embedded operating system designed for running multiple concurrent, mutually distrustful applications on low-memory and low-power microcontrollers."\cite{TockOS} + +\citeauthor{Levy2015a} have been using Rust to develop a new embedded system \gls{os} for microcontrollers called Tock. +They describe to find Rust's ownership model restricting by preventing safe resource sharing in embedded-typical event-based scenarios. +They made suggestions to extend the langauge with Execution Contexts, which would "allow programs to mutably borrow values multiple times as long as those borrows are never shared between threads. Execution contexts allow the compiler to distinguish such sharing from actual errors using only local analysis." + +On their website the authors recently made the following statement: +"After feedback from the Rust developers and the community, we were able to overcome those challanges without modifications to the language. We also learned that we understated how disruptive some of the changes we proposed would be to the language and do not believe they are worthwhile. This has been discussed extensively now in the Rust community. You should read this paper critically, not as conclusive scientific findings, but as the perspectives of the authors during a particular point in the development of Tock."\cite[/papers]{TockOS} % % \subsubsection{Task Model} % \subsubsection{Memory Management} @@ -1095,7 +1098,7 @@ Any stack overflowing task is not scheduled anymore. The stack size is statically defined and is allocated globally by the compiler. The implementation uses no dynamic memory allocations, thus there was no experience gathered with managing dynamic memory within the \gls{os}. -The global state references might be accessed by any defined task, e.g. allowing TODO +The global state references might be accessed by any defined task, and require prohibition of unwanted access by at least making them \code{unsafe} mandatory. \section{System Clock Driver} diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 789952f..8b3ee16 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -1,6 +1,8 @@ +% // vim: set ft=tex: \documentclass[12pt,a4paper]{report} -\overfullrule=5mm +%\overfullrule=5mm +\overfullrule=1cm \usepackage[utf8]{inputenc} @@ -78,6 +80,18 @@ \newcommand{\startdate}{2017/4/1} \newcommand{\submitdate}{2017/9/29} \newcommand{\buzzwords}{memory-safety, operating system development, rust, static software analysis, software vulnerability} +\renewcommand{\abstract}{% +This study evaluated Rust's guarantees on memory safety in the OS through static analysis. +Static analysis was identified as a requirement due to the assumption that humans tend to make mistakes and C was found to be an error prone language. +Rust, as an affine-typed borrow- and lifetime-checked systems language that is equipped with an ownership model, is considered a viable candidate for replacing C for today's OS development. +After identifying common weaknesses of memory vulnerabilities and their manifestations, the choice of programming language was verified as the most effective mitigation attempt. +Rust was chosen to act as a new candidate, and was found to be effective against common errors in buffer handling due to its ownership model and strong type system. +The language shown to be less error prone in memory intensive tasks like buffer handling, which has been identified as a common cause in software vulnerabilities. +After experimentation with various stack protection scenarios and implementing preemptive multitasking on top of interemezzOS, the downside was discovered that Rust cannot statically detect stack overflows of any type. +Implementing this detection was considered beyond scope, although requirements could be identified for future reference. +It was concluded that Rust's static checks of all kinds are a big improvement in OS development, where object orientation and other paradigms are not simple to manage. +Despite the failed hypotheses of guaranteeing full memory-safety in OS development, Rust is suggested as the language for today's and future OS development. +} % Numbered Subsubsections \setcounter{secnumdepth}{3} @@ -232,55 +246,22 @@ \makeatother \include{glossary} -\overfullrule=1cm \begin{document} - %TODO: \include{cover} + \include{cover} \pagestyle{front} \include{title} \pagestyle{preamble} \include{abstract} - %TODO: \include{affidavit} + \include{affidavit} \cleardoublepage \newcounter{roman_pagenumbers} % save page number \setcounter{roman_pagenumbers}{\value{page}} \pagestyle{main} %TODO \include{acknowledgments} - %TODO abstract - - \chapter*{Preface} - This thesis is original, unpublished, independent work by me, \authorOne. - I strongly believe in openness and collaboration in the development of new technology, therefore the development will be based solely on Open-Source software. - The source of this document and the code I have worked on will be freely available on my personal Gitlab site\footnote{https://gitlab.com/steveeJ/msc-thesis} once the academic process of this project is complete. - - \section*{Ehrenwörtliche Erklärung} - - Hiermit erkläre ich, {\authorOne}, geboren am {\authorOneBirthDate} in {\authorOneBirthCity}, - - \begin{enumerate} - \item{ - dass ich meine Masterarbeit mit dem Titel: - - {"\topic"} - - in der Fakultät Informatik unter Anleitung von Professor {\supervisorOne} und ohne fremde Hilfe angefertigt habe und keine anderen als die angeführten Hilfen benutzt habe; - } - \item{ - dass ich die Übernahme wörtlicher Zitate, von Tabellen, Zeichnungen, Bildern und Programmen aus der Literatur oder anderen Quellen (Internet) sowie die Verwendung der Gedanken anderer Autoren an den entsprechenden Stellen innerhalb der Arbeit gekennzeichnet habe; - } - \item{ - dass die eingereichten Abgabe-Exemplare in Papierform und im PDF-Format vollständig übereinstimmen. - } - \end{enumerate} - - Ich bin mir bewusst, dass eine falsche Erklärung rechtliche Folgen haben wird. - - \vspace{4cm} - Konstanz, 29.9.2017\hspace{5cm} \authorOne - \tableofcontents From 38197c1ed86e9cba59e5775ae644821ffc81ea5e Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Fri, 29 Sep 2017 18:12:09 +0200 Subject: [PATCH 126/126] format: remove overfullrule --- src/docs/thesis.tex | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/docs/thesis.tex b/src/docs/thesis.tex index 8b3ee16..b19e3f5 100644 --- a/src/docs/thesis.tex +++ b/src/docs/thesis.tex @@ -1,8 +1,7 @@ % // vim: set ft=tex: \documentclass[12pt,a4paper]{report} -%\overfullrule=5mm -\overfullrule=1cm +%\overfullrule=1cm \usepackage[utf8]{inputenc}

    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𝔒i`G-c2Ziyb*;bn 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%0DVMJ=rF=Uhp9;o+rcR3*i7TgP;h(Cruof2S-- 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�r zs*NfWXEJ8YtUUI}aMr3`72l1)1;<70Z%c&=cpnIyz@4;tQqFF*<1?;u9=l}g^*Qj^ zJBc=%yvH&DDVbN^J!fv13l?cM{^kGX66&b#E9W~9OLxFKuB zjysQ^DyvVb3Z1gk>wJCrFS$io;c?4Y?AfL*hpDx8JY6caz&>O z)GT;B$z4>ElT+tuqd8(oE2v)a(yx-o)hQ);=W0QdxX26#br~it zjkWVUxpxNnhpP7k_hy)Jg==}2+B}>%<)Kx|*A@RRi%fiYnMIDnG%1+J&&WvPO3InPDBDba9r^SP|xqAsH)ldL9s z>iUXE%d1ZGI6O1*oL$191;TC|)*Qz_o1mfKfAvR;Q6jJpM9>TAc4}wkYRSzF@Ug$e1E&_rlh3nIOxWnoZ`6uY;!Em~-RC`bOW4%OobA(@LAC zd8M*}i9InSEwbj&M}00wmGTw6caOcFoRKP_*k~GdL1wbk&4 z!}?Q<5;8_}LYEi2vR(LHdh7OWX7)*%aiQ#7j3-~YhI((D7Ua*|mmzeDQU81K!Lzn5 z4<_F!Jvrfl)`RBBN8QX-8qXEat5{aM^0dKo$;Vwem#4SrGj5&~zSkt^smGkUkDu>+ zW1IDERit+jn_CvgvIz@P3n#EwO}wVumc&^2nL$Hj$s~zQ+LH>3Y^yJ=y)tpb4M+8z zwwgTCPODv1xWj*!d9sg>z{Ig z$Be2NL(21+j4ahJO|%wk&e2*~#w}#vQt{{Kifiwlw%rVPr@TUWt@ASzqg4|RJa{}S zP|MC!g{k_2UDx!>wt1Xl%u8gedIeK2;&>V9GNokKt%fDNFgP0H4fHo7^iI@7!eI z}nRi@duBFR%b=3|11t*pDrx-{#@w0@i`_G`q zaPHllFDvF5H!wFgo@84jE_7HU={ZYL>jq7?nDxn~?BYAqOSl%sR+XE^6}|E3>{@B- zxNu$1n%jq({9R3%ji;ZBXsDLDeRtLy^OXi$XKed>a4)ZsnPH5?-A;5m2EEgEj#1-Ys#Hs^jiyg;RI&u3rv3FIWEq&X=LMsaUr!%ctIaP_xg|$B+JL0NmR*x#X zdXd1SD3I>z@}A;ytde8dCBZh9%Z__G%(%?O!vaL0+G zzFRbIJt#TPzH-g&VwFi2iH-9(OrDk3@SE-nzVWf^?gc+{AE{@$66xV56;eL1n!erM zyGN6Knbp6oB1LD;*w@{74cgi|L@A1t*{YwMn>7JlF#Q-z7F=c3%cB@I?ule=EGq+M&*-jZ6mTS#|f&xA{2 z%J=u$MNgD=7mQ)EnfN+z$w$xM_YI~d9yo5&zoF;x#7jG$J?G3iw^ilwyG@rWRlT;W z%%75OB68#C3E2vT(Cm;9wIU;jf5Kf8?^`c%D5&+X>PuDK;CeETSEkWZc(*`h&~cI9 zk*ArDNz9vaB66yy|IFEowtJ=h+%7&%Mn3PVXVIH>y|hks#m3K8jK_H0CS`s*bvf2% zcEeAv74~PYoVajiC-&4t zU18K?^<1K(&A!jLD}K8xORk2F2Rn1VqwltTzk^LKS_Zu0On16zKV!{uvw6p(dZe~n z?YPO9?ow(|eBfwwhr3MovlLcacCWU`C!t1_)m{G?DuUR;4?jtlX|f7+T05<+sJZ*z z)ApH5rWZYARLGNgH0Rp0tGqXMS8~W}RVMH}zizqezM4m6gF*`9Yo9H;Mbg!x2Q7~K z1kIk)z1-U9L`A-`vB^qFo-qiS+dbyll|$^sWU~BOYSU}*~qpyQaMd= z#yZC*JYj{ck+y5HO(oZ+2)b$+PJN~@RWejUa_Na30h>-Adh$SqtNLel)|pLt2VZYn zX=QRSHe#8_31yk^RIS{6<@2jKmT&!+y0JS1Vd{e%j(_7uaN(P~6pU zFXo=_j$^^;>d!1p{k?Zrch>Bju#u&Co^|MaBadz^L*DK0n(UW`#9M!#dNwmDF)&W= zzEb+mpPO!XDnHZlJZg2Nz4f%;fyQHQ#i33oRTNVK7!{_ftvU2a)PlR`lQq|+5YhD| zy;sB4H%zxq?-f4%>EN-)cP=gM*`T20d1&4w?+yHiS>~VND!tGb;dj!(u6bRiZsN`f zjK&id|L`u15lxtUCuqf`8xx~^^rtKB>F%Evsv}YBD6#a4?mZuWDHa9(sgB2rgI&6M zR;qaS$2=)nS|OnZ+wDx^>5Ean5e()dIy~3Z4%;+%8W` za6c0*x%9V3^wN{6F-2aFGylBYUbM<^ik(RR4Cb>rtDWwBsb|{oYR=@sX@^sGq_Hzw zT0BWx9cTBQYohS+GYdY{FBQ6X^Y+o*Z?zU|b4b2&r7-J4tiUlxu>*x0i+B7hc^W)3 zI_UP|z)w5%5A0rcR(4O)Ionl78Uj63c*>9ZowPBQUCO|&V%+%W)s%2UBa_|J&mH-n&U|l)S-8d%lUL$9bSzg1-OVyC_P>heuo9rf%Kk6riDfmH<~`EcCLQRYFu&@is&8Ils8{zM<@#A^6DBHdPb*l$#KG`&ne%F= zSBixPpJzlZm3djzsMN+b-(Nt zhnJi-w!HJusG+WM^~cOzb6>hYy`Rmn@lzA0+?VMmrH&}IF)UDOSTM=fdQwJP zZE(y4j|-kc4_I@a=rdoN9B6Lf^5Mj*cfC!{$v?v;ELYo_K4r7S_0_8K?SJ&YYVV55 zj4I4{Eac(OV0gRd`@vJ#o292PprA?9gwgnb6xYhgR#p^Uh@k~on|phBrW6S@A*?|wN#dS#wtvC zd1|?8+R{&#KkjT?pZ!m9R!P^df8}9QSo^|Ni|5^3`X9^hg!Qymx%MfaR;in%|XEVy9G>P7U2~WV`myusLj3ukapN_&`7-IPg`> zLXo!f);5XBLFX(3_)Vh}SKK+bvRI`^z{pGOZu9+FJ4M2D_N#fEXPF%O{&6E?z#5Tl z&rS+l5_*m^8efHX! zF^z-Sd&laX=famW&j~4x-gM@-&iu53O?eVF{8fr(^OjwllDbntYr{sBb{%hls;-Gr zvW?r`+O}!!-E%=`<1X_vY!9lXw)4!&F`B!w&~lsgdE(e zjMiG^Zq)WDaExj0`M&05smRVmfrizL2X8liSuN1`v~^cd;T7S=NUPwTlUJ&IxiahC z!*_*GA5P`tP~RHqJ*9_@rO9vtYuNVfZ3=RlUTyXUa#Ox~%sfBQfT8T1Z>EGwSFfk; zMe}*_swYzw7^Js4S5}>sY|3b75K-Q*{3~s$il#;YcT;uA3cdA7pZ8qfR^)KYsDNRu z=!9!poVV^b{8@S=HSvVS?}L?0({2`u-jM zEhjgbJP--s^?59*%Ny&exZ%$Iv&A#HRycnTnG^E)_IXXu!*5e+8aR*te6&O}S9r7g zoacSTvr;CX5ZF^NElg&E{oksiZk{hXCj0V7w|Gq9{IflXYfC!2sqECP>*m^hEVyKL zaF^5G4;D6;m8PmstS@1dH4g4vY_O$R`+1q?(OikMi$tQU_+!29SB7<4&wl!7p8h1G z^e&}!6)K-Y#k`&)OhhrOnE+>BExp6;JiPy?g4$@Uuvx$n#a-j=iSZ zYKygY^f+*^2-Rv`F*h$h#mM1cGx^ra=f!TvRDIuw&g6d`RyJW?l$Xfl?;X!3WxjEK znzOky*W~Av85{)f_S?mF(C338xlO9MH?#iENJc*zA+M-Q!JUpA+wD_%C zE#iDy))xH8Kx);B@?{%*GY(o~0=UY))=ia5-V3m|1cw!xx*hZN93j zv|YM|&p%^GVVU4=v9!J7^r;XHb}m<~xZ9ori4qbImG^YcE}8T#;gD*Ou&tIGA%9dG9k6d^EySwG4B@pc;%kRy^^RV7L+Kg(2=NNnJI>pA1k z-a`o$4>KoBE>!5Au=iZm@D|>FLIzH&y z%KP@xp@hDGRTY*ob3#AeYAv06d{Uj8wEKry6W2dURmib? zVfNsPsoFQAS-I0vXGJ`)i;(I2nFUNG(BQy+;hOz;Z;`cZ2#g6 zm1~b@eK_W2XT*6zc~lh0?dPs_we0q}#}R4)8k_)B4z!Q#8weV^*fnqGKNFO|>sKofIhI zN-g{PZN&l`@d*z!k7b2SyEx(L&$knUUa5Rj3JOy?lUOV?!Sfu)B14;om5P2=Y%AX7 zCA)J=$jB|Y>}|4Og-=R>$D_&fCr+N^+OP+-~gOqD%Z}*=gjOYB>CM3E&w@{Gj zYI^iSAV7$H$8yP-!nqfI=0zt2+|a4&D%vG$BU;`MxsfX_Crg)qZ=gB`gio?pS?dwTLlJjb@kSToESvCgyjT zqg({zt_Pvz8h#IEBpG6E_P3zBuPo=eS-L&>c0Mc5Tq!I$O5w~66^5$D zON-0fL|8T?RX<+qz4J(l@W~g3fvzemmYkGYAZt_|>S}DRGU20%3R}ibW@Uwh;JPcP z7&ywF?|9U7uv4zg&&ctmPxjUxR_>ji7HnIdhD(L3L@G}_{K>$QZSl@&rV6Z*w$@kj z?dMCoo|<5x^(45$g=K=rtHQH}J56j_xgrHp=J}c)*(8&az{i%kD9(7^lCR4 z*u=OgCn^iLI|odD=J`y!x$ywo{F3Cd&#D2&FDzCq3vtsHGGJfHzSmRl$$6#c$z)q=IS>!bD;?<&KO^2TH?~#p!0O5=aZ`? zhV2?fMOKd{c$_{o$?|2_xxn1HBJWP7M#^>swpdI*S7VZSsJR>a_WJlkidd@e458j zxiPsYFj!4H8aBOHLBEOd0kgx7xl`>vaJVtP3|pGI(dOkepCZ;fZ`eEzs?B`*!DFTe z`^0(fRVh#IDjioAWq8i*(P*Ijgz-Y7=cy;Vwp@PwecBYCjcox73r`wp{7YM~b7q5F zq~!5J4_o9rv{*y-RP^VpPo z`%I~0DO!B~%qA0>8rr7hsxQk<^`DvNZ&NMwvt`5WgUTzH_PIy0rSPz?T-CRG>EH9G zR#mEBTN>fhBe_IEd5%=wq5Bz^OlQ6Dy1sk6%K^rTCznq9B*@iKHZ6GWQa<|`EA(#K zY!tG4U+B@C;vge-fMxQvDJxa}DXB)9Z?w)5y2qfhjX9so=>z-oSy`Lk>YQRc@qo`b zkW=;MM0MsXmyW9}Y1QMDZB>~RJ?HaU?*9x2R3lCc9AVs&(qJ7d=YAq5MefO!4gQ;) zR1c~a6lva1ZT;ljc7BJ%@-x$&RLyg_KJ7Wu8p^_Wta9n6wCP!Fw|1U$eD9xKyJUJ2 zzl3b&f;p^}4##~ieVbOLWSMH;^~gQzqwJz5tDetEHaYn=OeoH}>A}3-YjbT>ogRf* z%Jw=>ICEl;!7I*h>pFZrvnI?H6blPO;L?f=h zkF?ZQS`Lx&Q_U1FAIg9Qc>G2Zx%F4l(BPJ&sv_Vb!%ZL<8~%T zr8%1%0$O{HD%#i-8K_@h`QWcMXY5|?P^CwaQ(IVa1B;CFhix**6~3 zRH@!wX|wmHj#cxlgjufamU3VGe80%3O6(2H%iUnOooB(i@~3Ua9_o{`jn+BJBrgp% zpL|^FyzqvAqF0M8SJ!8HPEG0k)#oX(vL(9u#w}CDz*`#ae-&jsr9>r;-TAjg`agqa zWLn}h8z$>#OL-0meQGK`Ae*)J>y~it9hzz9ovhQg7W!r@&AB7ia;?9hF}nWj)xvv| zvb!twq|aCsUiDbOYl2x?&YtlLvs2Rm87(Nj`>ZCR)Xw4_lbDj(#6OMd3{bcRMgEpxRB0m@X6KPCV zuND5oX?HSjo%GX_5-NRJ(Np@av1%=l`4IA0erovf_t#7dyjGr!Nm{e&xam5TDca13 zu1)aOYguV&tDGc0@t%Q0(vA~%10&C>oVl0cAZo8~svN_bEXR28XCLR1-!26wxSCHg zu)cO)_23()*|bd}mc2}iL*jNt-LmA(1Is6AWAvr-dnO zwe#*sb$Au%@IWDW@{cE1e*4umKkJGYlDn>UM8inNi{TC*`=vR%%V#t<6i(yHTJtbJ z`IBk_Ly()FVOQIwD_%Dn`vMXs?R>VqSHtwmqt)GoQ+MWn)_3RK@bk)pwpR>G`y>vQ z=r`59Y2O<5X?Z5=E+L7pH6<(aQu=O-`A_>^{KqMV2?HD>7U+U%6opD`!u?-`BdEPm?ys|wJ|s2rs|}-Ze6JpER`qD%krO@rhZ<+X2Mnfl1ZnZbvHg0{0AgSs>>gRNa57`^CeSExKE$n7Lh& zkUG;Bx!9sDA#}F2M8dyPw$(h_8-wmWT$HLXaZ>S*Sud8h6;~NY&Da&PVyngH%5wE9 zYq#8dsH>7Clbpf8b2)e2+G(cSPr0qx@g!Z{Zff|OW2Jw;aWJ>$ReoJ|>+dGcngwS> z7V_Rm+BKI$(5(Prk8J6an6Cu(&8Nd(u6B7_m{`-_?ql#`e%Rr&k1+qv()9&S@hhsmM!UB z)@AnF`AmWJs;M^hd*@%8&vNm!z{E%oWd*TS{~2;G-*OhZ=W>Zn!R1qH@fViQQGrLp zdbVD^sPL^U@ALk9q0@fddlt5tF}Wnk?co)^tIKun<#6tul3H=P#MC*k>*`#U?V-J0 zpO(~IjeEuG74c`sord)j+}ZYWUZ3kxz5cz;&#NUV@7BM_V$T#$+}oS#z+r7*`10D? z+D$CmJ};XgCZU|2ZWET|$Wpk_$E4-o*O`U?8D6itG-K_%pyymCI8+@KYPHX<^;&Z8 zyHdrD;}y4`|7T#h-uLR3!=)wf);ZjfVDR-$uemHgt=Oc|O{p{7;@4&dZQZZAMqh7m zyLK{t64<_c=O3+({Z3~Z3&o0hWoqWHHw`hks=GN}xmmF1@UeKF)X&+UtybzORu`$p z>z=a|A_q#z%E;z3Qyn>=fH9Gl@Uz zWy!0f)yGvn&WOsMHP^Q6dvtolW@UxUg*O~n1PoYxv)65kp4t?=p>YcDLDS<|&7pSzCe`7_p!MJIimS``tR zov5+et>(U3--fk^Z_QY^w_su0wJ`R+zyG#|$?7f;Ha+?=fv@O6vS_2-;+3bflrFs$ zQfO(deG|c7Guh|z*Sl3`|IEI*ePP0yS9hL&TC%Wnq4xHY!ed)`Ttm5St6nGly>(Lg z-R3K)j$7JPG~~UG%<_J}b%t8!%)njEx3;d|Iy*vCVU|no=?Tr(udUkpCp;siW!IBN zHLJ$A_jWJrJ?v)BymOwl+G5r}_0`+{GtAU^_+YE|>WZ0DI}R4O8AgR!-JN@O@=v3V zTPD^AJ2u#_4W1mjqt?#WO7rQi)&k`|hjW3&m!&tc*B`l7dvBxM?4{n)k#1)T-(e6>spf{Ld+Jeixf^{3wUy40OpIa)qO-?3tfVPUeXw|cQ) z+xGpMTGM+k795OesMmV1A)ZbmaWMZj}{r76*0s?%sIcGwa8! zNu`3nQ?0)DzKQ9Rj(9HQb#B4L-AT<8e_ow&cGrPl%ISY&eRMyH>qc*)z2O-Ej=Qi++S-NYMG zedE|g?j=1dcAto!ZXx-8ew1@n`**ICOpl*l+nnatTu$0JH}6{XOqPzDcbKNypIdi! zQD{U?)YhF-9VKt?cp_r|JZb-Q#Te~5f42JnQ!^_z(Jqx) z!EPPU9Q?Ihy)K)1)#Qstm8y>CXNmAVNoHHx_H;2<64$}clicd1n(j_}F=NT?!%W=i zvYAi1t5=-q-|5Zp(4A>pQ^?)fJJ)30nO{?Q@J!(5X-}s{FMs53va;xX(YjR*J_5#l zSsarxlKG2`4J}USd8|~P7NVr2$j7Jkz9rAaweDuxr%MQZ>q6~Mp zv+NE{=Pz;cWbt|OA@<|>t;V?r|6ZCDS$LW&`Pi}8$r=hWPYhY4uIVm3raNt|(hTn> zY#ISf4q3^!SM27SKD$BQCh^3|OP>GEZ%pT7JjG_Y>UvT9kr0P#uYNllF-bG`e4MpB zt=G)u)AWhXF0Ym_Hr>_S_RXjJnSZUJg6zr(4l5Q;dgdT_# zIHhf&+|%hh+}porNH90}3Rp2d^H|0ITWR8BPvth#0-ogO&)Z%GZoRr^jqZsX4(iVm zd(tLfeZx0z_himx-8qc`ZFxo3!T+wEa&o!2XyR!P`(Iz9EH50Ht&+z7y`2B4-_}W{ zNuPHl&S7OXd3NWu*6Ph%oOSrBf$@8bNo)hNd0&O1rw^;=E7r(~*`xGTvUoZyr{q~&qTvV2ST1ip}@#dA-d zUao9mu_7vRy7CJ4CVtbHlU(60=XXxADNHYTk~D9lQ1=x+BaWq>3$?n^B$Zj6(?#Pl zXR0!)So=F&`R=k(?POPF@R}m~z$-FWE^&)amdi*}p31g>XOh8$2OHuzZGZe{czsz; zb<*49B*vVS#!D+5mt|H8pJg(d+Iwhza-cg)$NarIJ6}$orhJ!)@dsK@%+nLUpGx+yJ&Db7Z;Nnu)e)8qK z%%xA9cU1}QG0acZRZKGCe4!Oxmw4;Osd*d{EJ3rkZ|6G8_vrAm6EA(l1r2UW+$z3N zx+*Bc@{a4|H}6_idOOu6m}X3H>SFBa`NFnbdhy?f0d5v&-L4niS@8E(Yg~h_Y4{0I z&+RL&XFNW&Sjh2#a95JQ){Zj`f`4pZ9e5M?GKof7@uH7-69B zA>{j`*4$I&C!6@$MP)V|+Q@M&X~{gVd0Xz=Nt~4SiCQ z&3{gpHk;=kl&QO}=R|;0L3D!~ue-68PjbisSvO6Si{gcM#e5tzZZH?0%kWsNqWt6+ z!;KZXOJ~R~VB&n2mEk^BF;hZd`LZl2-(HIoa;l-$DMb!4#zL9j#65N&>7Mxa@nwAecV!KLwrc0AWr@C#Sufn#EyDenqT)BB?+8SZT9Z4}wcY95=-4)cF z+^S}!WE@C%^7)vSTd2ae&l8NoO)h&c&|J;u8Tmwu!BS>Y)um~l1=fACe3i98h|@cz zao(bN=`0^O*)0z&yENS?W_HSE-IEgA6+2|66)^sJwPIG{g!2h$g$-6JPuLe9V$JO{F5@*o_T6A?a7(jmG127bL6&cQd#Hd zX|_V<@zU_m21~i-S+G=HZn-pt>r6=Vc~h@zhJHrLH>L)~c4}X@)s#zE#dVDHoyV$6 zv7Xycm$J-THdQ6}@H1AA2Xa@URz#D#vPqi-8-uds zbJOm;XPry7s876Rs$9S?YtrI!LPRFz(b9^? zrFNdj7iML8u%CFY@|F486h#dO<#o)=q2g)jRz=MV@S#zfx zS+b=;$U-4hGwS0aO_2kFm(_M_1_zhr9T)W~YQ9nBwy@jlX7Kl-EYBO#^}9UTTbWi^ z#aM<+Dq?tLoAuaBDL`JGdE;8Gz#g$lJ3}67>dv^azp_1D;qk(=5$Pd5i<*zyglfJI zyy%kU_)kGA+PyMx=`jZzy~3FHPPe8+Jd62r#?$ua(%zO1@iPJJD#DJZg_h|xzZVQ# zyO1YhW2h~Mh^zLL*|nUfR`$G+Ot4thYqRZzl&giU!^*PbGO73S*d1713oaD|vj`qg z+NE?Uy1($^iSX|;tUWDRf?L)(#);JPX>n&yy7V(|VQA%px~b`JcU8#m>Fnk^Wq;)A z$_USsdr#fBP-#oDt`3=9LhQERneAWr|3Juo1!+Z zdn=&G=V`-K9QHs>KqY>k=Ru{_j#Zm>A6wzfC#`*Lxv|xP+8xX*MCVNMcV<0VeP`+o z>&i0?0+rgn-V;qyBu-7U6`45k&nxAEO$C+=UzSIo&fPNUfK0i?nx!RQT~{97@$s3n zwB93!-@E&K-Sc&fl_fdvEN{@Qs9Kk~ z;@IOkKa<~W{E%(!>?yo~-I77ToTqtV*SW6rCrkz&?<0%09JLC0<#clEiz7|Z9W&ImIAmmcu1voDccIIrojwVT zU8ProC#X){!0?mvjn>vH-#vwt4nJd4ZpdCH*c|_XFY|I?)b44@sVRc1rZFTdW*reY zp2t6Fd7;b%##Pg%yWP_<-FC>`vAH>nZ;`6ji5&{1=QL(VYfB!QqrWJ=@C;a!S^oG4hmsx#o4F^g2EZmEf>%)?0%%KIm(lGV$l7JAY@c7d{g+ ziSH=0Lg=ztSDC%C-RlpO7>e~joz9Z3uDsOY+I!PWhuJQyFgVjYF)YkNDd=~R=M%Qa z7R#dUduwDSY&FuF^Re;ItGq>DELJDZneX~p;)BEYLu>^_7Se^YHaya`yDc!u_&U?V zqUjvl>mqwkJehh>>Y=^bNPDfXj0Ty}s(V zWW@?z9ci4PBKe;|s&|db#E=sc8JJpc@!9Q}>}|XD-UYGv8OhAHl?zXqU3k&It@-lPY330 z|BZZh!ky?Ok3)%Q>Lr1uQUal`x4g={Ia~Pd~b7uGqa=!Yz2cxZmocpOKtAi;mq~laj2woa4ynuC`o< zm_S5*ObkbWz&0rEdXP5uCYvI$o?khZ>pI~PGv}t{yxBAqHHXqsQDz)Fw zdJ|crD1Bw>U&+>(ONG0ZOWVH}Pr0JdbYq5cg2;n8p%tc{zNa`2Mx2^^+~TauS(7u7 zNjeQOT1~EjlOA3xXcLxXW>_`f>)BMU%ooLbZh1xBxN+tEqQ=D8-W9jP6GSIG5&U)K ze0`~Cr??|aOUeDCL7TUHetUkx?o-=&``ktSBzo_@h(3Li!>?=_v%0P2%B{QZEbm%v zX}0L?&H95nQO=d72Qt^$Y%P1h$+&W>wuHnQ1HU(cj+xR7buzP7RwV4)eK+4&!?A&R z{>POzzfVhEIWG4!fsHF|%krRrv~wacQgiPfk;?tpbK*#g?BUXt%KO?_yiGSdxfyE~ zdHyX7zH{HoP0?dwWTVQ8=i5c2vfFmeo#VDiVE>UFM@#k`DqMc5^6G~#D^K5@esBK+ zA%BzlOrwJg3||=po5O@Y{a`&1yTZWjbHJ@v;an4=l$@u!-Q6d2WRkn{1U9?2wr#ts zU#7dWs>FEo{AbXsw|Z95aqZ5fX>wjRS4zLQZmgIbJ$usu=AM<0e_iEVTX&V|mA{7L z#Ac=E>z@X&OgV8)U+GPlg5V^_KOcjgZLY1@c5b5gw4Y**6L+l*%zfAPHgk=*7Cwgjm!Jr-FO|mX42Gk6!&reoK zRSA{ka(uS=(Y!~8PO5Ax`gnrGilMsIrz^>?&7m}9q{vI*3F)cf~$5) zPx`5UCbrsd|DHbWA4}Q7;`lFrUL|lZTkzP+vV)!yK`E!!D^I-rWnI(r=u2yI|GZT2 z3^7wyku(1HPFp!*zRR9@X7h^{AK%e2CE3mc3au$>{1$uep+|KTU2r{Ak0Jb#qed-rDXqUVQmM zV`)qEGDR^54}XWMaKDYWHN-PcKNHnj<>$%L^PfR6=GmN*?z29zGi8oA@^XKzUv9bf z%B-u6(HR~bOBPK$e`&w|>b5!R?@liM7U8r;{K);4MTR>xizHajT?=BXH*^V?jx;b6 z@AVX%Ge4%-=}t^bun6nH2W*cPhtBeDoj8MyB`=`JaqU9x{nf$ij8|Q4JGnY`>y@zm z$-B3ODVLn-h^U&w+<$G|l2gfyspYqOta-%#FfKTo72$F6nMROoimbFU`}%9EmcL6$ z(sPio-_3n#chaIqnH(Y6_v#y~u9yW1C9t)%`*;rtJL>Id+(tYISGbOX8CCyEwUC)RG8qGC*~Tl@73{FZqn<2 zo>ko4bWhoG!lb)bK4tAXYrFNvTn4TCnkt{S+ehu1pSAmbv9Qy^;HUn|_SZJfH;Q}7 z)sw7!_wSqBrGLa{OFpumdRRlp!Q|(n2{CNJlHoSJ2a-Qqu1N4*W9BCL@$;$%%ayqg zn$kW;iSw)|c;tLtd0UpkvwO=AXbM-R!DO6F;rA>A75g@!9r>%UVYoL}#m;?tRmCsY|_fLc{GV+ZY)mFt}7}NMIsMbZEB6Z zVUyhDeLHj61leaohW!TV${$R(WFB2?uHiD*rmee-S-`LO!e#I1`ExX#mQUI@HFW7b z<<=(}PnunKdzv(E3Sm3RG<(@(lh&oHbhe&d5uzjUq-Lk6PHz4Np{E=#IL~EC?_l;= zt8h$wVnFSTJ2JCM^+{NTJw=%_|i6rfd(2KG$UXMm8d0TmyRj7Z%%SkcZ+y8N1IPF^gE+p z#XFIAjnfs|b#DAC^)Tb~H=WyGrfjM{WA&s@qFhGKW~}-h#{%<%4vELUYqC9m^~!To zsr&a`oRk&@)TP;GD(vW3(V@uDCy^}i=j9}$#c$&F-&5|&-LbZ#R9*HFugs-w-vgHP zadl18&RBfoZPCIA-ZO8zl;?h9I>5W&pQ%8C#Gi*ZdLH!M3CmixTgqwcw1ZMRrDqqi zl<*$4RsZSnNi^h(%A8Bi#xh9;OZbZ2Pn>W*u}XZQZq(;f9yfhY1QzG?G0J*8t$en; zckMDKpGt)f9?w>8-J)}fF|e=4-&EP}RFsN>Oi{6~C95Z07UF!led3R2OYbRgN&b*6 z_Smj;*Kh;tyW-G)x2EeA7_bLuFXDTV73}Spwln*fzRan|GOc-<3#YN_sxh8t2{Jyw zklN>9UgY(7&fknV4!=oKIQx^f*)*{YVr zPG)sc->;6(7#x{xTQkLOE(v~NdF{c|ITJV@&l0VaUV6(tfG=}?j{e-<32t`Dm!@!R zSaV#*U)gk1nd|lx4`KZYPa6Nc+?TthPn7ZQyd`sjosXVco$yQe)`Y_Aam0vmzGJ_tsUewlr2}> zw=Z3y@Vv>_Rb*dP!;$8BGnY)|+L&n0P$y9e8YW(u6=-D0<0#8;IIP-a zRk=_tgZivu$qDN?e}zV!=ycq-^yku$fTIrTmM2zS=b4nU^5Aisz(U1}kagyar{s35 zdadZ$_wh=JsjjH>(w%D8gFN!G+;*kMh%!w4zG~O*Wl^RolMmQxPKsYrks0v&L9v6G zm1l~Jf+4%QKP4kHWR|)H8PCmo$4o?D4tA);TdC_>If#KjQ{;c9oXVx$k z#)D_WGVgL6dh+1&EW7La3X^|a)wtnzR%r2Q;ki$k=NV;b&it8Ddt}~KnM=NA%*;DV z&M(!U#?+>JQl>#`o7zSHLZP&z$lDBDRk24H6x|9hNUeLIp|L|{yGq}dRs(nTdF>)% zlQyP#E=oV)$}BTEVDsXXNrv+nmOV&#KKYK61M}N}Ck%cLDrrqI0lB4h@)9=1zEe}@ zx;=ZoQHJNz1ZG1SCO!i#vt6M{OCB@N3HDv689B+LYeWBif#Wt+K@1C6({x{PF6&HA zKB0bPUZzUM)XiHM+*$fG@}8Vsrt>d|;l)mc!p6|fvcv)lTMwmWVX+HOsH7yey6UBz z>SIsxm7cj(Tj=M#G`oO^c@Cz+Z_4x)6gMzD7df%#MqfBf^L10+lk+@JYyDaBxv?ux zS6S1nTTP)zLX6!)rK`*0Onk)$e}->My5F*-Zf<<-`D~>`kmq@uD@~K$=xo;7;KMWV z!kmz}ggQSq|1jH?mvo9O((@djcXfW-JtdrLL4nh=b-GJ3&sIz_Y~|o@a(FWN+TxiL zPDwJ&t7Q4I%%*V1f#f-#=V`uLDLs{)%iYp6H#V=>&-aDtGoCkrjX6cDioHejPVQOA zAXlWBGSBq(mPw13FExFiQgJ5LA^3p8wJf8YlgG||SMNNu?(!A>sJ?Q83CanU59G8o z_)kebJ;2;&c~ob$w4t(v?B^&AU-zWNX7ko?v;KW|&wt@cp&~vNc@4<}qH*3W{RziH z`294hZ!{jCe!^zrz0K2}J57lxNxAIPQ_$zBJZGKew{yaZ8~i^^st$EDDwScXWVjr8 zV!{MZmX9wzwVQmWr?j!1e(*U)Rc*V=gO$hUo-VWX(`tCJ0(?SH5tfkxKp(J+FYiS964sr!dud|g>8GVHrMmg zDN|N4hvWrkI@)$9>6ZgLkjn)5bE=EeQ|Bb%IE7N05N zeBZZax=u=On7Yl^=UuDbSK3{f;wI{GApGRNkQ2`;J~VFH`E|`4m3v1{EfG=`v|0F_ zvDJpBI84yn#pa}e!-K0H5uVyfPMqf)OjdHM%={eD+{ewQ?cu6>W6GR)9pRdiNw2&n zALO3w`#E5PMsu0viKCtdQ?IPFkbK1(mR){FGDYS4*}PfXT6Ub>dwj`st~*n2MYGFI z**r5zy3JiuF_Wbs*=F+Pc~>NZGgUh+Ubvb}DzBRI=R(GLn zYLdtK#K0wM3L2Oko-@x<2|MQ`lWwu>mD<~6yU3;QO->4BggJKHXyR81?PTp*=i@!? zou~YXu9JJRAH2{NV0~wNY0Z(;sZ6`)9{A*WPV-o+*M819s}5R6Y)fh~F;Z%Bcwq44 zN?@EtVXk*i{`NxH&^o2z;&mToLs zDi?jHWa6Pc#%y=oI4oE5Fx_r(VhB8Ln>FQw&bi4hPq`XT$b__M++fRf*`Pe*NVWg- zS<54hl-d6pDop5E@*wZLgiXlqMRQtj-1hj{^)d8umq_l32MiTS#r?Q2BDyRYX(8DfcEz;qE!1$#&n^YBsX34~`O> zc(9z)EiJIIl_6!;vq_#W`npQBZOt`XIp=TQVDZA?ujagvHmA$hhRFxnCI0MOEfm$E zVz|ITTtcC2)%g`VJ|`|(XcagHM+FCGT)Y+-KCQXywA74~0Z0Bc2w$3MvZ?a*);1Bj z7QsMSFCmsmYS(OJ?+9cn-a7SrU6I5SIg8bWlPp(-wp{Cbax79^F-4Mb^Knz7jwhXN z7gjB9a5IiPv8$y>qw!;dV^Z-%|6P~gzf+0VO5^T5!^x0RvTWr_+w*p%J5`rNu5kH2 zVaC*hp~slz3_UiU=Vnx7;dwBxY1I+00~h1G6$%@i6fOT$g?wz=(Xn!BL*Rvv(T7YP z?R}Q9+R{D5%72qH=d{2bhB6N>=SJO&Sz z%nW#qTzecY{@f|~psK4?Gw#gmz{!0}wyk{Prqty7V4kPs*+_A*Wg+1Xn_6GbN!paV zULuY=yMC%b&4CYDZ%;>Wi+#j%#x6|MOJLd?ucB!EJ<|g`pP!jMAA9=n z?&PU;bNjn~WlnwT?Y3gid+V%AcXmiio-8WfArllEd*`%dz&WqJ$Qjd29#&ebSbbTn zRknApNwP`hIz0(jn=VNYt~37`Djsj&>#1lKzN|7uZ;8x0chR|Ot5-z1E z=AGVilI1*2na+29HdQ1w-g199^XKaFdm$a^8B^6+^0*k-U!MG%B_gtA=Vh+GqFw&) z)hEudIw{jLyRCq~syX1Y(wxp^6SoUEa4|mGyxoBwj!b@yGkN&}z6w^hF~C+dWGCaa!f7L$3j_HMLF*=y4s3_{$-GQ|-^ zC#}s&+~%nA<;9;#Tk~0U!;#jeIlRkFgKT}@iuml`t+P|HKPTk7P^{!YxKVQZ#d$eenmqkBKU2rE+IYrWf`*H`?NMNV_sA?XkLddi<= zf9grk`F+jz-D1t$O~NLL7AlWtyrSbYbrE}-!zjplW|IMiG%Ijwve@67wZMkdw z=3jB;WNT3$Gf(@r;|g??~3w4GuJKI9v!^# zoXer~}27x~5qPIBp4y;)H%TJXg2hmqn@d*Ag|B^>H8Ke2Gf+PC&c!ZyvAb6`;# zGhf5xIlm@HpX**K{VD$9yjUKejWec;cRZbR`Cj}bvEM=S-rWs*=5}Yv+&K+<3ab7y zcpcbrRb}hmNSmnz9?aDf@Be(hwdDH6n{kWoxYll+t>kDjyIcOq^Iu`i5vOi7?>=yd zW4ScbAvbsSb%n7aSt|mc25#6a+S~K)`I+B0vw!?c+j5=h-N`cnjK&S(MahzOJ6D+% z-aVMFH(&JBapm4~XN)IKuwQHUpCM}6r;N3_jeQDrFN=@cJ?m7Oc0It@mrc+jQ?j`6 z&+3W6nJ<5AIC6buPlqW!AYBI_q_p_j_*>blMTH?(pRM z(!0Jt>ToiR*G`+V;hNu`pOsba=f3USw>8m`rCbv9r$Gr0BYGo^9xpD>+^HG((>9#+QGy<$c>&8%+N#OPV@`rPr_6Z&$2GQpD2)@gI%18(#+ot@aM7 z-170ti=&on_V%raJa zsLT`WFjMG@a4>nmDqdBGF*G##E5m@j*3`>jq3nYTIe=ay-z zZ_MJdcBy3e_sc}<;JzeJ#{E{E?K3OnZe7{EYVIk+CX1IRB$wrE-hMmXaN^_e6XA1j zJif2nmGgbtN7hM9V#X6V^X6Jzdllw#YE8o4C-GbNX{s+vpa_3^*&a`b)Q`~0cIk^>7 zuC^*Ea`IZ7=<&p0)wTWklM<%$Gl?gh%MifnF6>qz-bzI^4`TAhUt3za6ETAZ}% z$#Z4f<2hG2l}%i2UYtMU(PQSHU)4A(P%+Ukj>A$WZA!{3`$|b0m&xB3#TegS5q6Tt zWk1_1vnx`FW5+rZlkZI!cTpi}OP;jb*z=CZb`wC+Pm-^;336;v7 ztvPw`dr98XZL8%1__i|W8vH!;HtoryPTjR?#VR{LvpcCM)I}cEJ(DTa7U{w2sKviF z*z5R0j&(toymTKWa3~~avRf|scj345>dNYfa^=0D+oowgkGS}RFTF z%P-IOD$L8Cz@oJ@rgy1pK3A8Of#;nqO*ba3GxB_4o3ZV;O^(|$4*r;wtJ2eVL{2$$ zKvcm%X-Ql5%!nm>cnS`bt)3JVC8c4uMc21#x+05XCqwGY!oOMK;iuN0SRm*1MEKX0 zM&*vi9YTjESzV4?++or$?fF9F`$#?n!>_;rH9D`^~APck(Ap z;&{H)`MJkoZBB-HMOLAw3*?^}Kiqg|<4fNwzB%b;Gb#g5t$b>&*z@PGY?k)qvP&$P zDFyyPM;e1`E^bVlSd~!hbpNza$3o!S?rykkPbL7F> zgDPd`GB4j-z?i}qBEXmN>FwN}c^L|PtXxqqVzQ1!@i2TP z*JRJ?c=NQl%Bbv=WjJ}%@@?JOIfjyw3UeN{UA_~%SyFqm#S{;Ryj7X!1ty9my;>@= z&hwb#arp%+bpPx$7D!V_X-l3X@0WG>_%74p29bx|d|8#jH;(xkL@it;v4FQ}jpd0& zk2Idna9P6|0GpwF9RY)Rqw!%hP$Ad@31MjRV_I)u^hF3-XJSGiOX#%y3cX z;}XXt7BL&)z_W_oB|#oB8=thDII4KdF?B}sg;n#mXcZ<+k%}_pQJ8OfET&w2uXp}7 zgH+2qzF|h2Pd?qK>Ryofa0$athl#gsGgZ@9p1bT{CKTUBJR|Ch{C3SC(X|q1O8;4gP^IJ!Xrf%Nx9K zUmCK@*jtUwYhJ^Z6=tWpyo)|dI`BRdmw4zL!Y6sh()r*E>(GcNbKTE9XZXapdZX8x zh6fM&IM<5gWUNwY>9TH}IMv}WpNGwrwLD!boCUm-*JrhPrn;Y+;Q6BP)_mQ=oAl53 zlqj!Qc-Ya~k zUb&Ru_Vh}H5~ZbGkCL}2GOT>uwSH6Xj26bmV-+jK*q%=9RH!*n=zHvi$ka}C8Do!| zHYHzI%oDmDXCuU}Zu@ef3LmrKEq)cLN%zdUrEg5|kNF(5=%RV%JIf_IN*SlCR7tho z{I2y*S$*fqCF$)vF%8w_D@1dj72WQ?vd++d*5PN{17B?xii~csJZ`dT(rWh1L#>ty z%ZlH6?2GYP7&EbNs>=4Vr)K@rZ9PrBybk*sUXEGZaBffDgJz$3@4qj#*vGJkPHyvYzbN{VuLAU88IRyM*QY0FOxi8K*eU2UK;LM_Gvn zIR?)$IO_Ddxwq%Wd1h1H2;U_qTnG%oRF66s4#9!}q3`5<)3ny4KwZcIPaU}Ujk z*=M1L+eI087`s%ATz3DITQaM+V@lhE;(1$4ZY-JQlBe3~PRqilASt3R6^`FVpZ`tZDK^M`w~-j{pOwf{=BvpxR{KXLA=Xxa*Vs zVoAN4K~Ytg`C@|`M=K7nt$Qe;x>9TL&| zK9emhQqH*-2Kb7kyiY%Du57FMIX1VySa9B+(p5osP0k30G_g6_@C4@iEPK-}m=k*1 zgUzbv!sk4RV{R2ER~>qkuk+Nc`mL$%o~Mg>PM%=iYMoKMYJ0WNYGaLlMh8(bl}e^I z1-`$ort2h^oOogTa({+kYQMslZ%eP-^)<0eo1~_)Q_I&aU!^2QurcuTv%9<-=Pti; zVO!rSb1%a_|Ftm*^Mh1wz3~3lt{|xK{5_+umhku119vP>E?ae=w#a{}%H-oxZv`h$ zKE{@L)3vEEdN)7Uzs#`wDSbs*dyhigaKNU8K@UD3w_O$StSe3NzyWy!rUg4QjW%5`fpU(>PXYaefevjSMZ;tN5i##z>S9avbpE{B*`O5Kq;MzxudLKWz zTdF+yr?xu!oWkpAyeC+Km+WlM3}SrT({*dE<<O@!!C?5LWVPBO&Ipyj z1_#MCSBo5t64upfUVNoe)72t;;nB)V*=42{H}+~xl++4&@`3T3)~cUR+NM0tcpAD= z<+n?RnTN>ZNm4WZGi3T0^By<(J0iLdhKW*_ms zi9#L>{c&3AbMGk|O?6X9T3Wn!#@t2GAx*YtWFC^a zzYDpaIc5E?h4h|~&V7;Q8#zP@*ezEm?~k6N z<-R55!-4+{Q8U=|I1?6>uw45Xw6R^QHc!#4@Z@uY;5n(858v!d6HI4T=03P0{U-M` z&584UF01a;>N;q&q;OuQ#lFV@+m24%8Oh|cag!ng@993R%XUc|3-au~I?3BTw45=4 z|J1rW{7XH=N|TmMKCYUj@+M=-+7+9XnYbT({<UNc4^C`^zY&~_0(S$ zy>^ombNbY?Rz*|hbsSpqP<&EvZNT<- zPmVo2&cfLBZ1QuFRh~vyc6HzJknB`-mkF)zp4q1yq9eV0!Aj*l+gKzwELq3LFS2H0 zu9~F>%agQ@;Fi*qo#$d*x1~KTOA$P8vgxL>CS!&2d*;9+(>G7#U6XoWhWEz5n&5@A z13S+M9|(1LvYV%_R@>d;wo6B0P}Qadn|BKApKdKYM{D9Stv6+pyDg4vnyTs+A@^gs zLjS3g6T_c9&}LKrWa4)sNndIbr@ZC?`;{x6@8-BvSnmH(Y3JNEi^G!lOk(rDHk&6< zWm(~tjWP2oL}jw3Ur12koWsECw!x<_)YC#{QuZ=FO|GEa$jLgsML#|lFrH4_cyH}d z88`oXOb7TPxRx@X7S8Q;n)9&JVs+T2Q_PwUZq>7ba=)s&X)iF5mayq;JzY+iCH z@Aj6-*KJpR+GFJ9{@wh(IvmXL13}0 z$Cp2^RmIKn#l@xX@{3EVR8}`yvh+L%zPq5}d;X1kk2Wox_u`&O*yP062Iex&wW8l| z1(_EaSSmI?+O@EK$>MUAVjbr>YbEyY*jV5h)@SmYrZvJEE zpMr;O-w_C(q&;nQ_uNaHtma+c{`LFRH;z|0CNAaJy@PpO*281-EhE$KNPLLinyh>I zxX}{5e-Snh9?MUS+I?MjLBYJp$?VeSDov*>n*BX+)_S)&wl8n~`p+=Y^z7BCmn+{2 zoY6Decdq#Bs_#|Z&Ks{eIXZA8PktGuc=S)2dMiWf9T7V|+uBuYk8WL(GqGc8e5TC0 z>Z=-FTyN{tgqKDwe!k?|-m*W(56iw&lFMdQx4ipjm9F0-wcX+Tlh%kf$X31&d%khk zZ!J&ZDTn^7I+EVM(6m=%QUvGvuiQyT9Zz!aW|wcx_gyIy@#MqnX`ZWJm#=@kGVig^ zXT4kRZhq6VVloev-u-gH1P2wy-DZD2-s?4cB%%TsVQE&BPs zPgfrrYWUAlmb172xT?%f+G9pc_X38ObCOLL7qghXNS%9tr9kAd`t`0SN4#d2ciW!f zwW-Pc_esmXSm3Pe5(k}>cg#G;{}>0=?o-<$_UTT?i8!WtUxU8cZ;obEbC}xbv~CU8 zKX#KN(ausQrFUwuanvp^e|~A_;~>r7C$4Q-wN}Z<`g74C?#w%z<_P$CS}r%b^DLt7l)ht)9E3rA~x?EW73tjKTGmfJ!5 zrlr*s8R$*clQ_te zSU1BmG&<(ftHe23H_xu$J25imPSjnkR|Xq9`%f@EDZaPv$IP`$H@mil%Jj4*&I#4- zEqfLoGV3NE!=VYjPN~xaclld6bxK$#pO-Z4*>EXn?<}j(3U_`j&);r;)|?6#3yhw! ztF^7joF}1lt@dv1>6csIZf@gPtjM1j@XGMWw59X4B(E6WoW$yzu{|(ab?e@b0y};> z7O>_@TC6s1v#>0-R@=+-JNj;T;GUc1c|s=adY&gmW_{VVz?uKXj8&7QTx90e7KfeP zd*sszc7604%u(T=U(BzK+Wt5>_}s>}XX(-L zW*PB3h#4g9J5}&U2nFf>u0=Sn}ysTu1mAe zHnB|NbrLwM&alCOf0^g=Yg^_i1zqH3Y@BL+ZjFBZ>_2YXw#v6hX)Kv_t+c3IN0`&> z%a@nI+xyn!FPZGsl^$_W`r?IE&tH11H%_`A#;uw9GiL7LKic!IFX_7U%443!6*kL) zKk_H89BWbAIlKH*dTLIdGJC22^hv+HtbVRF`NM6sWZQ@H&of_45<9`7{+}Uk>E%+@ zl=(ha*XA*6u`^d{cpft{?)#fHuiLcskm$`b6-Q>M@PE>JGf#Ef_PKKxRHmjdcuqTU z{PDG^o_<`{a-J^lob#&MKT~4))6%>po$F!_=iI;f*=WK7-Zi!L^R%Up1lk_HeOG7m ziF1BWm7fMrd_TWx`(p3X758I2Eprxs5As++a>^{$nAVxjrs?^uj(=`eyC3 z`R!j;_n25Ma%+)co93`s`M$-M6=~Chr(J#C8>p(#y_tXd{o@9VczwC z9W$4tJu>2Sf4)zqUOCb{YRz}6tSGlP3QjdUzR%J8#=f-Z+|*LDd8gMqh8<14^781x zZEx;wE8lnCyXLa>dJcI(_noELE?r?ZYl`w@?UwH?x$w%)_3(|mKZVQ~1ZFZM&yf#& z9a$B&ly7zRx6>+*m02DL*k%V^z4yp$ns-yH$F10^FW>)Ye_j>rrDfPV>9c+6VzEiR zx4*_;(p7zvqEXScfg#b|WYz9zjvU%LGXhj{n2e0?uMHNjEVM~sJI>qZYZf^xXwyt% zwaTA`ec7w@d}W1}FMHCRtMgfWR+`RUZ?mkYQ+xLabtZe96ylRD;(YL*L2JR~SXXHi zodcSTGgG+xkDDeP`}g>S(xaz$yZ@|7)xS}F`PshbCM(?hW4(Po=2u*a`ngf?*|Ev1 zcKs^wt13Qf!E;Qd&n-;7L7HvF-*uKZpUho8>0tr0O*%_L`B|%L<$)78EWRuXxg72` zak0c&o$jOSxj7CU`q=!LHO4@G{#u=tzbAZL8OF{cwdhmc>BOu3VZ6bSmT7`Z4~wS$ zY!+^+t=rmf@>tiSG)A^FxX}7Y!^&4?kLBk^)Nej6IM2I@&n{*TbAYdwiehS-iu@Ge z3&Ab|zPnkbhCUIV^`g7TZQ_)r7d9__mC=*bv&lk|hf!p@(9EU0Dm`Trw@&R)o*z&g zdi9{gYzM9ih2VJ=r>5%8T|Pl-{iJ6nGdH}B*HU`Z;P!^A?V!aInXiAeyd(6!vR1b= z&J@XIF=zOAB{X7=XUXbpmPy7NLR?g)+09rf_3ZJf3a`C8_)nxAJpa&BW!|w|&%Mb% z#FV;EtEwce;rE;3Yv`%mJ7JR$&ul-7^CrEyYTqhvG=&yOlsu66w^ih`{-lY=j-FI5 z={jZBe{4(c(uGShPA_Y@&ab*;MeY@WBMI9R{kp<;&6s)coZFkO=2Oiab(bQiG@Uq- z{-V&oFWj8r@8YC&M$3#m*G#!RZP_U!@1jSu3l)Fci6o?JU-(yYu;L@{g9b;-XU$4Q z;S9ppOXbtrBF-%R#pjmoZPs%uXM^6;IW?=+oZ*XDVH2=@qKi`H`n4Ae%vRSdDS1^K z`gms_%ctfB##3`b@{O!{H*7OL&D_I(Zs$|BCl*JS?<{hS-pMkpXf;F80gDx?+jh^q zoNbaS@nCiB!}ozprv!R@7u%3{BVm^e|EbwBlh5wxzL})?-D^(DwTpR%X5AOI=t(De zeSDH5sdeDnSJ9$N6;U@f_DlCOi_Vuk)pIUl#eq9jA+OG@VmNv7N!pyuOWV$L-c`E2 z%Zb4|CBa|uxTs9QS!LamTU|dL6P@y(;p^GJ?49z(?AGm$eaq%%+MaRw*&%xB2}AMq zm!6k=UldnI-gi1PY2UR%36(Eg)t6Lnv)yG10m92DffY9w!e9^_}K z5;n2fGHHX2VUjz;CEwhFkUdKj z&!3uIyGlD$V_lv!`wvf>fZ6#WFQtFRD;ivQ(O!fpLaD1ibY)VnELJSwZu7G zGp{~ia-AW-R~PJV6W4R<-LFahrA4n8Bm)m9l&pySb3t&4R<%J+!ezNvY4s`wDqo&; zJetrv^SE+jsKn|QnIfHkwg)+6dxaJiqjO z&93$=*I2h?qSH}tA&=t{A}=nA7p-7Oo|F;YutH>lrve+hD9d}THtEji3Ss(g&bgDe z6z>xEXr4HSp)mAmcE4!=gQtS%d9P{G(>qcnCY?Sdib%VfQJ(n66dT}AM$qk^ip(u1xXV}AiAk4^qQ!MSB@ms6MTjW=Q7iw{|v7g8RpE( zTIKWm(@qOp&130hcegg${t8)gTXD-wWyVP-zdJsV`_gOE$hv*H+@VU9n)~NwNiK78 zn#ae-Ud81sp>vM$UBqM4EGy0{n>NX9<2xd6%+SYIb!C6bjaFwK<||!|vqBk_bC}pT z7MaiORGiPeQf*OS&e@~eSNv>CiRfTw-=FB4DD;lm@_1Ixp$81lY?vyNuExH*@kr^o zLc^V}A}Whc#k_p+pMmkc;Q?g@xrQtJ#)pbL73MM8TzUDaEqRi=0(0p6fP;xj+c=Ji zR9{wZ^3e^?pLGevKSPYR6pGG^IL2lkGCyOAy1Gqaz(LhZr{atGXFt7Fuf=(1m()3z z`*L?4uV1<9=^U#a(w!E}w!Vt2DVbqB#&dR_c=GFG;Az7<$;sQ5SJ+$#UDGL+HfO5Q zhFcXUPb}o0=Jrgt?XgN-D7Q+W+Y-a1s<%fCj1t-oGJN2#TB@z2Y8TgZvRGlxRO=}d z8+Qaxd-XQDXqDg}uhSC)7dZ+TakOzhNuK4luS?Z}YNAA($sq5sQxT)?upw2Yc?n_?MVptdcr)$~(EH&XlQ~X^3rgKV{+# zgA<~KIfs@g&1;$VNs0fi`hA%>K_}(I?yy-gWN~-)REJ3%2<&N%Ynr7pbCIf_r|Fuc zdC$D8_!5+3Oxh)0v0CP}Byb$_e0^Rt_P%Dj4MVYCtIbxP1(PRsZTAzq*cGy5>V?l1 ztW!@)S{_^(^fuPdQ{{`w6@4CKuap@@{wzF~otEyJuUX*uWMc4}r^;QSPbH%~HmI>W z)UYzona65(*Ne8a!g@U0``ok{Ki{9Y-W?kfLT!O7k;YpQIZ%Ve3!-y7E2&hFajeb=e;n#2qP z7QP0qKK8Dn)INn486h@4%}pCremcnXJ(_kmR7J^+LB49*W!IIluWaw14p5q`{G(0t zgO7*2p+eu+xR<%t9=I)F@VAg;pEWJIL#Z{{#z59^a-|HVFocgGV)%-8*jU>9*|5tjY&{ z#yRapPf{IMygj7V+9P20fFZL}#%Ia2q~bY-%gquxV#;LFZC|ew%r2hg>Duq^HeuZ% z1B-;JV4jI5C(f~8U{l{3(pOn?*~&tL|Bmget6jIxyjQun;_d~h7lEF6TzS8l&Tmrs znSM})FLTn}y?5$-*XXR_SDn%macN zG{b{;>XUfGBlg8?7Cv}T-TvGxee;!E3WWcjMdZ@7`HZ%Cu$jFf0Wos||>SJ`I4wAPK& z>Am(ecX^HHN?UqTuHIIfqiFWiT}^NAH3j;=5|e)7ih zk83@=9YrRcR++>+X-80jR?mt_cO`CYHeh+u+!+37Yw5wM9YJho`+K@x7WG_zulhsI zBx%L|JIlZC=DBQIow3l+bGK@nx1P3x*L>}^;GJ#;j;rc#d@DBl7JNJ)T5UsHmW z3A_Cq*=HSFby)SC&$X#Bhu>cIt+W>2an0r)IfM({}l-bz}$glRLK^zMoj)(qk>aaq>y? zS;g)%r#ucc7;)NMoAO-btBcoczn2qlAKNHw(Q58-Q-$Zs=8YLAW^U^{d}(!~*7IT> z%@?lP@>`6&j^xTJC&tEI)6FT?*cIh=`a;B;_bL-kvL4{5`=B<>WAWylVZSAE{^4J z#xW+ns&q<8N*FSfFspxA_3e7tb)Tb;boTm%bu3q3xF(fD+bHAdmd!%K zN(MYmQ)O#kNt$M-YNha$&!5_KWx7GcJ=bj-Z4O_KhDW@$xv#s3MY$;Z!cwpKdfP3t z&aJL{<^9aJGH1O&z!QdwMBmobF4d5l21my8DxoW5*ZbtloJkHnv@)m3UaIS{=Z*6`EuuPT8z!8|m(~ZNsVPtYb{?o@l=GTyd6lO2#X3-GdCD=O5Y@)a7QhG<5a- z&k`w{x5jT&aWPpw?U>=e`lSx{WTz(z`N@c#4B8VqNoPyBWH&E0!S zZ;RD=w`i!Ogm`U^(yl#v`9RR>Kk4<3*S70(NqeNHh1eUh-!lApWx}oKSkLEP8w=cx zJXZfXZ#rLP+qdg>5%MOz)3mCB_0}s%`)+%*eKRiok`a{{wXudOV)_Tm(Sy=M9C`7b?JII0Nl znDnG_MFB&qvT0y(=c9rN>yt7_DCo1{rEtJT_- z?{F$_HrTXVldG}#{Myv4^suc{-#(ktHu014-Q&ySuCDq1;jq@7obpn8Yq8YiAAOmV z@88UdTI6fHpwC8wt7Y=fjpv_bg_ip*{pq)AN@7^=-fg=hGk?r%c-1I+;3<#>sN*T2J3_3zQ~^rx?p}i?9e&O znT{+gMNY?>y^=j?)35Aiz}$D^to_?>zj6wu^|CZNB+qjd~I5%f{q z-lo{sr*h(D;M#X{CJGv#Qq|c#L(SdqYV&lv>*j$|IkT>ReZ_pFT&nwI<~NUIw_`Uh zg&i}zK6z4>bj7*{s`G-k`m^vPEpK}K);#czr%jvgVxGfuLQl^$`Mu3RQ9YmG>suF9 zj*O}MKKk{>czv6+x@@ob6YIm5j%w{TIq*d2l!#Eh%%#{D)A9?JoH^?KbmCp{CimZQ zS3SQx&fi^n@9g1*CCpvz-m~4Oc`9Dfzw2coxaX)t^4n=Ae=$acE>~GEDX`l0Xz)t! zx&Iluj@|k6vd~L$tHP1h4I$-6Q}1(k|1R4;<>y4VkX5@TSvzw^4+WM!g^0u3TDxwjGG$kI}OpZ8aH0ABeT}K|Sa&%p>RM#?Z zzxG;N_Z!ZsD;=NSaTh6U2sik%=kc9cr*~i4ce-Y|`@CeXFKJ1B7Vm$AZr>p`omY1< z$JHITq?MQ1W*uu^%PlLpVA?UW2@E!eA~zV`p8q^HaB&#l>)^iaSJR_R)=HK6$8TP~ zSb0`N(wXf%DU}rk;jMpGY45&WwoM@VxYjD8$yzHdK!Y0{uXpACNwe%;a^%D6+#TkR zZ*6(IRpLvw$u#YmQg;`#Wr*FMmebSNF8OQzscmz!CbWOJZE|>*#p+{I7N+jLdh6f1 zXOY*Q&E@&ekSi?2p|VjmOKd~i+iST2(_2oMPsuC0^zxtfu3h^koqn@%HfQrLR~wZX z=Qr?JeR*yw`uFJ}uWJ|G!j$%F1XzE*{UcIPgP*720_T60!Wl6mL3%2l&eF7EKmpJb$B>n&4T>~mScYRc<^@jJp?q?(b>-uwA?BCkZ@W!Avra(vzz*eYwy)k!-7-DFMBL3#j%m{Ka^^3q z{7uf=e5#zy<-w46b;tWzM=$z^sw78+T7H|Z{l#>TxlGtMf7>I1CJ)&jnad>aX9>&O zUM+v~qU7vE#jcf->~>cZ-;3r1nd~h(QXOUpS5(cv7aOWFow_75>9+g6>SdH?q% zw@v4t>aw^MDY|_{?ndV0bys6lRA+^EIV`CCl6v3|=UHdgzenHXN*y>T%$UbqQxEo~m^FL`v_`1CA^;B_J zoX+#QUi%P(ny5qJ30d!YuPMhx_XM8gIrFeXC-g&I`>fJ+v(j|7trn0rR+v=k!+)eH zYwI4Td*$aYExx#kH{+vFmB?$8Zm*9%Yc8#1S;xRO>1Iz(XD;_sPs;-KugjF&Le484 z6WAsqE_veHYo|MTQ;y6mOWG~UXK}~){$gsib9`t9a)zZviJ)=|eHD;cX)j!jygX%&iYjY(IO3&DMxBtimu|toFO`gT>Kh$Z> zBY$XnU{T*UE1|Moy2qDsR~*{1Q_C)9Z_vI*^?>&!0t!!O`LO<)942L`bLwP~sHcp5 zR!VLvH^<}Mk&g1O#pmAp;^;N|>K*04dzZSMj+-sa&apY^)4Bb7<>Z3nR|>moryjlg zb;q1rO0Bhvvs30VuAFsSFkv2p#K{wKS9NV&y(Lxr8=(U&S+Xw$yMN+XyLh6 za?Z0`7pB}`2?+XpR)uL{f$`-o_le1lTW=&hoZiI#I$-abphKa0M|_s#2HjAg+E6;E1y&Qk%r5hDnOf5OCV55V|DehUgVW zqZQIzcHt7Q=lq*0)gdKh#=!N-J<7Y{&9SQ*3zGvDFdkzN&GOPtnlf8f>44<6GhGZP z?>$JLQ#fzGqcbPBQ76{~Hcpe<9l1}Zdbl1B@Hl6&^2*FPjjb9LIy+hF*k-LRPbl}u z@h*75dgSN{8>Xs&dtTF~cFQCyW`#^rXOoy*%&OWEQ?_bF>WnqhJ{;AW%IfXGpl-{n zHl^pzr5D};tr8vgCl&pnO?iJl#xh(lfF1yX7hXwXh9eJ@wj+{Nt>TzK4`7Yai zX%8nAc*tDZ+^wj2Ke6ze(8k&OtqUK_G;aQRSyXBj-serrT8nqAm|>vYz~`#IVySPb&fX)_8E2O(d~jT%WTSObFG8R=P^;rI z&tc~ECZ`)_ck8sglX>uE<>o|@brG#R+Zj|=H=ekY8FOdF!IXn9M6PPrPwi}bIaz($ z>sfU_1zL>X-+fW&uB<;*eP?1M^Sis#Yy^0XG!6?ZZ)CS&vRIO_cw)on;_dH^W<@^! z^hnP4+M6$|1=$hWQck`lD)Ve#Z$EQD);Lt^eVU>Zx7?K*?@}@)W2bD$GuR>VpFwK& z`R-GU9~2FoMV;<2amwF&>2)tkNU)8= zQsu&Ak8`Fn(+xMAXqP0#xbvJ92__DrZyn-djo?ULwV^ITTbme+F4 zHr4yW%qIgZ57>0A{<}bQ0|Qqy`C?gYEI{l>b>GSLp=Um%(RbZ8y>+I!i97h^| zvcH>rTB;}R*nb9dh3^5?!FD&FG0Sw6Jy#J7JZj^u_J(KT38pn$H8#1=;*4f4Dm?f2 ztckx!#f0_$3MKJogtY8EXznW>@}_GBu<)AE#H=`+0Fizit_Uo-ExNo$@5&QCV~}I-a;pY*mN{Hq=5B{KHBUS4#d~*8VXHdByd__kNq5w25^Q8% z$kZ~)F=JcA9S-FJhCVl~H4`h1Dpws@_&CERgum3dp<$|Ohf0~qgA)@UMfyFko|D$S z#I90zGN($UOmpvol0e_|CXtgYGNnh|ztvB#n2_4`#fx#jjuwxB@MW_ytA5{9ya zZ-aMwc`CVivZSneJE6{T-l9d>nm2tW>3LeRUkPFlX#A-lXH>*$ac@Ul5rb_nzcYKL z$C_`?lq5Y)zRHSF`y@JHhsxx}TT_<{AMpBOdGKiXREJv&XBhK2h^UqYJ?}IOKQP(W zztGRSx5JMy@V2O*vgKsygR)$k8SG<%PkuVA?e&1|3F8j_!%A(F%)4{>%`;NVB2ETa zGKA<>TsJIOV|e1kYZu|842s@DZW7yre_hslC%E>M%R-J<4sSzQ-fuLXbLnbd?>Z4S zb%uFGnXfz~!_WCU?d1*hbrY6av&xzAd&60Oo{e`_SNd_XPvEb*S*+JqI3?2BL*QMK z#KaTlvyx-o4+c4?PYgX$&f53voa1vzksh1H8{9nAo3}4qoqHoM%UY>?cMIc=gvrO3 z+P|H@`_{zuvYe8u`WfeQiTd%&Tu_;^ptEp-RrTfWerK+&S$flSc4kWKvN-s5)_R>2 ze8(p+-(mKN{Ilq!T7`{Nf7#10HzyDIk~v`)my2z+SoU-7CH3CKgZakIm+iK^xc~f+ zp}MSb=xGm$pIM?F4}>o*jL!A9UNDE}KZBtC->jwX(aTb`CN*zY{wc-wa0zRXg)M8y zv`3FP4@Q1iylCQ;;CV(yDQWz363j(;@6GXA(pFUYdr9BSRRI|nz1PmPepMK=;#hf! zsIa$*j$D}Td8Z1I3EkEKsdEh*n?#;me*5mIaW!Jj2DbjU+~V$S zIdf!0nR_nxtlfDs^wh146A!N>>}gfqI(-sbb?A(D>63E;jVAc3{+hKgeM#oEV3SE6 z97SFlk8?d$?{1$VrtpA?v2ad^m*M0K6*aD*{P!ZOj00QPm1=hcwmqJ6Mc6gD#DiI- zfa7(*opTdi7HOm;JP?p=^WV>MC0LM2a&hP}yM#M}(M~P7Whd7LO}RU7>FmJV?B8pi z$SvvHn&$bIC2_h+-ww(1Pb0Q#7u#@Me9Ob|+~RCpgZ#$Tr@tRKc>4RAr5r2sT&+$S zJq^fyx-cnoQVExb<~-vQqJE!VJxtEdP*%MzT{v&<%T1EURDGJHr?RbgtrQ3qQhUbm zblc}&q4udKw?E3X44HND_LGo}=I4(dej8xHP&}*Tr1fr<>qac7Hs-HJLTK2nt~&7_X472jCrKy-4g9mx|eBW_`-i{ zy2TYersL11gve}~w>2d(G%C`={_u&lBC%UDuJs#VGDvOhmE3;nKtrW$Vc;Eyn$0@Z z4(AoVE}I!6<83X+#%%u5-}CKdg_Dy!PH^|Xjx|{-G23g(tm{r)(zm_)&4eP%otx)W zh2D6#WPZ+c)^6s5MV^ZylUTN7cyb?5Z}dGgd9}Ndz>*%J$~7B>eD6lI`USo&yzH-Z zSY_Lb$O-BB$szY%hs;X-#JxZzFQ(+LR5*(v zQ2F#QPhCyWu9^c2k|&-Fd)9F@>bqXRlx@yQ^Q%w1&u?mJ-ss1_*HQMuw9i_HIp;C1 zW^(E6)}GwhWTeHRw6W{qy0W)A)m>W_>rR}r@@n@Bp%|0RlBzAa>`&EKtTsByb*pKI zo?pbY_aO&_yv`(_IL}onvMDBF5l5WDb9>E`59+mcT*`fAsw%qUV0H1|CDT3`RNN^! z>#wNxu<1ycsicn7f?1CaomjFue_E2=i<3un-z{hC;jW12-EWXk7#s5PsBWLtjadPE zpLHhh*w!26GG!`Dlf#obw(k6mag&uisvf+HNx7!6W79;>(t^khBKo4cmmkm0W%}8Y z#~@_b6Bu~4>EeuwYyEa_*Qz(vdz-iT@PUV-1$E!$r$-gt_fz5%*fqgy!qw#8NteO} zk1csnJmtMln}_I$9=5QY2@DG1+Uw1i^sTsA!*^KOobS|m!O(>AluxXFC8zlfmpZLu zJdrfx`R65jcN#J*GH_7tN#7ebJ6vp|poX>AhlRznrb}%K?_3kBvHqUPUvHjnqxou~ zNsFHyxcxUl`^=X6S^D_febPA=rWJ-uB~Ro?2$AFa99=4a+BTkss5GGVE^ zXh2ccnP*3Xay1WKQ{OtjB9r%E&b)%mO>6!$*c5ua=qWnT!yFkF^@QUs!)D#j1;^~_ z?WS5@(|a~oG4>QA!#j%;XU*BgR~aq0GA_%l*(!EU`*r1+$s2AS;NA0l`Ci>4vyQGk zm#pS-;)LSn{!5Fl{%6>>bYkMBStjv&WKPbRwR-t0skLi*rcZagS@(hWXuhxOTBZ4` zjaNs_k!qUqc-*Q(8zxWiJSrxx{FYbw)ES9M z4l==}yANzu>E^s~mm}uOs-Twm-O~1op>tk3&ph|~+|d4|H!|s zTz_X}#=eU%3@Y0B*#6W;$WLyC=zx(*LE_~?g~rht-i&ztSd6^-LsVZxV1CS@@ZFpFDmZvKA;c^2($%$l!n&Hg(#@50*Ccb2qEX!$Fx3VCpC&GVI=v)XkuU+sDo z884VQNx^*jC7p>qE_@!$m)GjPC0@D5=n{?Thz6%Q~*&pAq^f;G9KJ?P{ZMud+R^ z-Q&3PCUMV}mi75nZR)#b9++#!d@`Z1Iqc3!tJ9gXPd005+~~W*Q?}YG48|8* zvr1pudE9=oKUh7q_x&^cY?DY>o${|%EBb5iy2YIe z6O{D4cSxvps!uwV+WDwwrSepp(6?UC#U|Fh-Lv?>r{&7_6PLXX_Kw)US5PCW=jZcP zoA=Jnx@%W^=J)Q7nn_Qla@7Uy__FL})v@Wh3;|~@O?&85$^P+d#=hB^tD=u)|DCHo zM_JW#LPGJJNl`1^7iJz4Hx$~w@PwlPYq)ID&GU5@U)L;qu{L^RyIv|+=fy4W_SW;@6kH%^1riL>TijC@YhbUKFhp0 z`IQ8}-&MAitb3;U+U|C1*?%gqz<-;Oui$E~{)tEbwfn~KX-)q2_F!hU+2!rox_h~I zwf>v?%{k+`dV!Bf`3c$IGS%12R*Lp+o29bl*rQ5~nw z8t+t)5q;&Gd*62I+$jZ7oy@0C289T|@X*nklbLm0(4skg+Re1^WA!mt{;6)>c9qBY z<@Rzu0j5I_WDk6o*!=6&A#{Rb-AWh#eVTg@6$1o zpD{g#@hjV!gXJrHRJR+aGEF$;XZhvHrQ30LZ=aZUmch_a>y1p|`<~}}&7-!>d>Sol z9ps6gU{Mv*%TZ z=DNwoU1Kc%bV8zmBZr~(LsoT${)2?RgBN5HdM2Lu{$;gzZ-FlBk|YB;r&D4M(KhuQ zD*vX;t<6b)vsf$7^OXMSe-cNx@A{|{v?SlC$^Pl04U%$y=KRgh`W^Y(#x4EUk^Z@R z&N+TtCGcX_l-y@$mD-)m+Y>D8qnbmu?P@OUm257W?Jf9EbkX6x|>^ool9CTyJXqbY9vd z+Xdnw>JsvO_9s>!_h@?d@)Gw{r`7Z4#V+_=RJo|4LjBCmhil4`9xpEHuKli?c|qc) z?z3bK9nmtExZ4g&+~$sO0S*AUk9dh%HD7fTFY1I^!?^%)$1D+#UA$-?}Q<*+*5huX6hNWcJl_ZP+F@UCZTC z{__Tr=cdt~yNsfjyv~>D`q=wcA-TDsz`)_p=ddML7JX{nx{KpU64zUG+3e31SBpD; z`@FPT^=bPZl_-%m_iFD2ff9@|+qo9hEWUEJwKMrYgIfVJ<7sUs{zn$3QPw9Ff_5|W zOgegAq*qSHt8r?1YJkttkl$?Tq5+4G<-IvKO>C;@yZHC{pLK7$rA=7r8X8b^q-@F5 zGDef)<6HJ!SZ}n_);j&(g5Nm{yLpcnzVh|`)^B()fs?CjrR8z2tCydIxu?|Lc;&gA zBUNAb?kww81!J)jk}rP+oy;$`ad0`zRkp$LKg0E9$Moh(I&g75e)iJ8Mb_-0@-)}K z4^C^;JotEP)0C~o5go-vTmC&hPhQ@#C0o0E)jW0AJdfA;@Is_!$>V+X z=d`R>H_G0;;mCbr+3mlpo=ne}qSLGtP{b)3xN}dcpSRQVTYB3zIWaTr

    =5_Is#}%v6R!b&Ldy-g}Dj7e0tB=T{>BpHT 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

    I`Ce>+R@E^=+qVn*%h|npWYPIW(eLq(Nm`GT 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

  • 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 g+T2VefQ*1om8$G&` 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