From 88553067798bd4c9760d83d69498b0d0d4f8bb59 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Tue, 26 Nov 2024 17:35:05 +0530 Subject: [PATCH 01/24] Integrates GitLab Runner into DTaaS --- deploy/services/gitlab/GITLAB-RUNNER.md | 91 ++++++++++++++++++ deploy/services/gitlab/compose.runner.yml | 8 ++ .../services/gitlab/gitlab-runner/config.toml | 13 +++ deploy/services/gitlab/runner-activation.png | Bin 0 -> 15437 bytes .../services/gitlab/runner-registration.png | Bin 0 -> 63427 bytes 5 files changed, 112 insertions(+) create mode 100644 deploy/services/gitlab/GITLAB-RUNNER.md create mode 100644 deploy/services/gitlab/compose.runner.yml create mode 100644 deploy/services/gitlab/gitlab-runner/config.toml create mode 100644 deploy/services/gitlab/runner-activation.png create mode 100644 deploy/services/gitlab/runner-registration.png diff --git a/deploy/services/gitlab/GITLAB-RUNNER.md b/deploy/services/gitlab/GITLAB-RUNNER.md new file mode 100644 index 000000000..a59525c91 --- /dev/null +++ b/deploy/services/gitlab/GITLAB-RUNNER.md @@ -0,0 +1,91 @@ +# GitLab Runners + +GitLab Runners are agents that execute the tasks defined in GitLab CI/CD +pipelines. A runner is connected to a GitLab instance (may be +`https://gitlab.com` or a local instance such as `https://foo.com/gitlab`), +and executes jobs for a single project, or any project within a GitLab group. + +This document outlines the steps needed to create a Docker container named +`gitlab-runner` which will contain a single runner that will be responsible for +the execution of Digital Twins. We will assume the GitLab instance is hosted +at `https://foo.com/gitlab`. + +The relevant files in this directory are: + +1. `compose.runner.yml` - Creates the GitLab runner container +1. `gitlab-runner/config.toml` - Contains the configuration settings for each runner + within the `gitlab-runner` container (by default, only one). + +## Obtaining A Registration Token + +First, we will obtain the token necessary to register the runner for the GitLab +instance. + +1. Navigate to the _DTaaS_ group in your instance and select the project + named after your GitLab username. +1. In the project menu, go to `Settings` and select `CI/CD`. +1. Expand the **Runners** section and click on _New project runner_. +1. Under **Platforms**, select the Linux operating system. +1. Under **Tags**, add a `linux` tag. +1. Click on _Create runner_. A runner authentication token will be generated, + be sure to save it somewhere. + +You should see the following screen: + +![Runner Registration Screen](./runner-registration.png) + +## Configuring the Runner + +We need to register the runner with the GitLab instance so that they may +communicate with each other. + +In this directory, the file `gitlab-runner/config.toml` should have the +following contents: + +```toml +[[runners]] + name = "dtaas-runner-0" + url = "https://foo.com/gitlab/" + token = "xxx" + executor = "docker" + [runners.docker] + tls_verify = false + image = "ruby:2.7" + privileged = false + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = false + volumes = ["/cache"] +``` + +1. Set the `url` variable to the URL of your GitLab instance. +1. Set the `token` variable to the runner registration token you obtained earlier. + +## Start the GitLab Runner + +You may use the following commands to start and stop the `gitlab-runner` +container respectively: + +```bash +# (cd deploy/services/gitlab) +docker compose -f compose.runner.yml --env-file .env up -d +docker compose -f compose.runner.yml --env-file .env down +``` + +Once the container starts, the runner within it will run automatically. You can +tell if the runner is correctly configured by opening your project on the +GitLab instance, and navigating to `Settings > CI/CD > Runners` to see +something like this: + +![Status indicator under Assigned Project Runners](./runner-activation.png) + +You will now have a GitLab runner ready to accept jobs for the **DTaaS** group. + +## Resource Allocation + +By default, the runner executor will pick up as many jobs as it can (limited +by the number of threads on the machine). To limit the number of jobs that may +be run concurrently, you can set the `limit` variable in `config.toml`. + +A list of advanced configuration options is provided on the +[GitLab documentation page](https://docs.gitlab.com/runner/configuration/advanced-configuration.html). diff --git a/deploy/services/gitlab/compose.runner.yml b/deploy/services/gitlab/compose.runner.yml new file mode 100644 index 000000000..28c40f926 --- /dev/null +++ b/deploy/services/gitlab/compose.runner.yml @@ -0,0 +1,8 @@ +services: + gitlab-runner: + container_name: gitlab-runner + image: gitlab/gitlab-runner:latest + volumes: + - "./gitlab-runner:/etc/gitlab-runner:z" + - "/var/run/docker.sock:/var/run/docker.sock:ro" + network_mode: host diff --git a/deploy/services/gitlab/gitlab-runner/config.toml b/deploy/services/gitlab/gitlab-runner/config.toml new file mode 100644 index 000000000..fd6591b8d --- /dev/null +++ b/deploy/services/gitlab/gitlab-runner/config.toml @@ -0,0 +1,13 @@ +[[runners]] + name = "dtaas-runner-0" + url = "https://foo.com/gitlab/" + token = "xxx" + executor = "docker" + [runners.docker] + tls_verify = false + image = "ruby:2.7" + privileged = false + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = false + volumes = ["/cache"] diff --git a/deploy/services/gitlab/runner-activation.png b/deploy/services/gitlab/runner-activation.png new file mode 100644 index 0000000000000000000000000000000000000000..324995765de0efe5bf2c6c781f89438b7e735eec GIT binary patch literal 15437 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 literal 0 HcmV?d00001 diff --git a/deploy/services/gitlab/runner-registration.png b/deploy/services/gitlab/runner-registration.png new file mode 100644 index 0000000000000000000000000000000000000000..2f87c8921dcc2d94f457324ba0a20f1a8367a137 GIT binary patch literal 63427 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 z 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 J^oCv7zX5AZ*iZlf literal 0 HcmV?d00001 From c0fa7976af7b1de7d3860a8be399e4184349458a Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Thu, 5 Dec 2024 10:30:39 +0530 Subject: [PATCH 02/24] Add localhost access to runner --- deploy/services/gitlab/.env | 4 ++-- deploy/services/gitlab/compose.gitlab.yml | 6 +++--- deploy/services/gitlab/compose.runner.yml | 7 +++++-- .../{gitlab-runner/config.toml => runner-config.toml} | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) rename deploy/services/gitlab/{gitlab-runner/config.toml => runner-config.toml} (91%) diff --git a/deploy/services/gitlab/.env b/deploy/services/gitlab/.env index a15c5e774..cc5ee7679 100644 --- a/deploy/services/gitlab/.env +++ b/deploy/services/gitlab/.env @@ -1,2 +1,2 @@ -GITLAB_HOME='/Users//DTaaS/deploy/services/gitlab' -SERVER_DNS='foo.com' +DTAAS_DIR='/Users//DTaaS' +SERVER_DNS='localhost' diff --git a/deploy/services/gitlab/compose.gitlab.yml b/deploy/services/gitlab/compose.gitlab.yml index bd1588a31..0c066afb3 100644 --- a/deploy/services/gitlab/compose.gitlab.yml +++ b/deploy/services/gitlab/compose.gitlab.yml @@ -15,9 +15,9 @@ services: nginx['redirect_http_to_https'] = false letsencrypt['enable'] = false volumes: - - '${GITLAB_HOME}/config:/etc/gitlab' - - '${GITLAB_HOME}/logs:/var/log/gitlab' - - '${GITLAB_HOME}/data:/var/opt/gitlab' + - '${DTAAS_DIR}/deploy/services/gitlab/config:/etc/gitlab' + - '${DTAAS_DIR}/deploy/services/gitlab/logs:/var/log/gitlab' + - '${DTAAS_DIR}/deploy/services/gitlab/data:/var/opt/gitlab' shm_size: '256m' labels: - "traefik.enable=true" diff --git a/deploy/services/gitlab/compose.runner.yml b/deploy/services/gitlab/compose.runner.yml index 28c40f926..a4fc19f46 100644 --- a/deploy/services/gitlab/compose.runner.yml +++ b/deploy/services/gitlab/compose.runner.yml @@ -1,8 +1,11 @@ services: gitlab-runner: container_name: gitlab-runner - image: gitlab/gitlab-runner:latest + # Runner image version is independent of the gitlab-ce image version + image: gitlab/gitlab-runner:alpine-v17.5.3 volumes: - - "./gitlab-runner:/etc/gitlab-runner:z" + - "./runner-config.toml:/etc/gitlab-runner/config.toml:ro" - "/var/run/docker.sock:/var/run/docker.sock:ro" + # For https://localhost or a self-signed cert with your server + - "${DTAAS_DIR}/deploy/docker/certs/${SERVER_DNS}/fullchain.pem:/etc/gitlab-runner/certs/${SERVER_DNS}.crt:ro" network_mode: host diff --git a/deploy/services/gitlab/gitlab-runner/config.toml b/deploy/services/gitlab/runner-config.toml similarity index 91% rename from deploy/services/gitlab/gitlab-runner/config.toml rename to deploy/services/gitlab/runner-config.toml index fd6591b8d..9a572da5e 100644 --- a/deploy/services/gitlab/gitlab-runner/config.toml +++ b/deploy/services/gitlab/runner-config.toml @@ -9,5 +9,5 @@ privileged = false disable_entrypoint_overwrite = false oom_kill_disable = false - disable_cache = false volumes = ["/cache"] + network_mode = "host" From 0f3a1b32c70a6387beacccc39be30e9931b97a8d Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Thu, 5 Dec 2024 10:38:39 +0530 Subject: [PATCH 03/24] Use foo.com for template server dns --- deploy/services/gitlab/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/services/gitlab/.env b/deploy/services/gitlab/.env index cc5ee7679..84ad69fd2 100644 --- a/deploy/services/gitlab/.env +++ b/deploy/services/gitlab/.env @@ -1,2 +1,2 @@ DTAAS_DIR='/Users//DTaaS' -SERVER_DNS='localhost' +SERVER_DNS='foo.com' From a164780215c26f73967bc67cc50b55c9dc76ffa9 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Thu, 5 Dec 2024 11:22:23 +0530 Subject: [PATCH 04/24] Update runner documentation --- deploy/services/gitlab/GITLAB-RUNNER.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/deploy/services/gitlab/GITLAB-RUNNER.md b/deploy/services/gitlab/GITLAB-RUNNER.md index a59525c91..0e8b4d4dc 100644 --- a/deploy/services/gitlab/GITLAB-RUNNER.md +++ b/deploy/services/gitlab/GITLAB-RUNNER.md @@ -13,8 +13,8 @@ at `https://foo.com/gitlab`. The relevant files in this directory are: 1. `compose.runner.yml` - Creates the GitLab runner container -1. `gitlab-runner/config.toml` - Contains the configuration settings for each runner - within the `gitlab-runner` container (by default, only one). +1. `runner-config.toml` - Contains the configuration settings for each runner + generated by the `gitlab-runner` container (by default, only one). ## Obtaining A Registration Token @@ -39,8 +39,8 @@ You should see the following screen: We need to register the runner with the GitLab instance so that they may communicate with each other. -In this directory, the file `gitlab-runner/config.toml` should have the -following contents: +In this directory, the file `runner-config.toml` has the following +template: ```toml [[runners]] @@ -54,8 +54,8 @@ following contents: privileged = false disable_entrypoint_overwrite = false oom_kill_disable = false - disable_cache = false volumes = ["/cache"] + network_mode = "host" ``` 1. Set the `url` variable to the URL of your GitLab instance. From 42d14ddbe6264e95fdba2990e2588e1b0527bb92 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Thu, 5 Dec 2024 11:27:31 +0530 Subject: [PATCH 05/24] Update gitlab variable in documentation --- deploy/services/gitlab/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/services/gitlab/README.md b/deploy/services/gitlab/README.md index c8ede730f..10bf93846 100644 --- a/deploy/services/gitlab/README.md +++ b/deploy/services/gitlab/README.md @@ -29,7 +29,7 @@ Edit the `.env` file available in this directory to contain the following variab | Variable | Example Value | Explanation | | :---------- | :------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- | -| GITLAB_HOME | '/home/Desktop/DTaaS/deploy/services/gitlab' | Full path to the DTaaS gitlab directory. This is an absolute path with no trailing slash. | +| DTAAS_DIR | '/Users//DTaaS' | Full path to the DTaaS directory. This is an absolute path with no trailing slash. | | SERVER_DNS | either `foo.com` or `localhost` | The server DNS, if you are deploying with a dedicated server. Remember not use _http(s)_ at the beginning of the DNS string. | **NOTE**: The DTaaS client uses the `react-oidc-context` node package, which From 8fd59d03b135c944ab340d2874aaceb3740e3c37 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Tue, 10 Dec 2024 11:59:00 +0530 Subject: [PATCH 06/24] Refactor runner code * Standalone directory for the runner files * Separates the localhost and server compose files --- .../services/{gitlab => runner}/GITLAB-RUNNER.md | 0 deploy/services/runner/compose.runner.local.yml | 15 +++++++++++++++ .../compose.runner.server.yml} | 6 ++++-- .../{gitlab => runner}/runner-activation.png | Bin .../{gitlab => runner}/runner-config.toml | 8 ++++---- .../{gitlab => runner}/runner-registration.png | Bin 6 files changed, 23 insertions(+), 6 deletions(-) rename deploy/services/{gitlab => runner}/GITLAB-RUNNER.md (100%) create mode 100644 deploy/services/runner/compose.runner.local.yml rename deploy/services/{gitlab/compose.runner.yml => runner/compose.runner.server.yml} (67%) rename deploy/services/{gitlab => runner}/runner-activation.png (100%) rename deploy/services/{gitlab => runner}/runner-config.toml (57%) rename deploy/services/{gitlab => runner}/runner-registration.png (100%) diff --git a/deploy/services/gitlab/GITLAB-RUNNER.md b/deploy/services/runner/GITLAB-RUNNER.md similarity index 100% rename from deploy/services/gitlab/GITLAB-RUNNER.md rename to deploy/services/runner/GITLAB-RUNNER.md diff --git a/deploy/services/runner/compose.runner.local.yml b/deploy/services/runner/compose.runner.local.yml new file mode 100644 index 000000000..74ff35b49 --- /dev/null +++ b/deploy/services/runner/compose.runner.local.yml @@ -0,0 +1,15 @@ +# Environment variables taken from deploy/docker/.env.local + +services: + gitlab-runner: + container_name: gitlab-runner + # Runner image version is independent of the gitlab-ce image version + image: gitlab/gitlab-runner:alpine-v17.5.3 + volumes: + - "./runner-config.toml:/etc/gitlab-runner/config.toml:ro" + - "/var/run/docker.sock:/var/run/docker.sock:ro" + # Maps the self-signed certificate for localhost to the container + - "${DTAAS_DIR}/deploy/docker/certs/localhost/fullchain.pem:/etc/gitlab-runner/certs/localhost.crt:ro" + + # To make https://localhost accessible from the container + network_mode: host diff --git a/deploy/services/gitlab/compose.runner.yml b/deploy/services/runner/compose.runner.server.yml similarity index 67% rename from deploy/services/gitlab/compose.runner.yml rename to deploy/services/runner/compose.runner.server.yml index a4fc19f46..b3fec82fc 100644 --- a/deploy/services/gitlab/compose.runner.yml +++ b/deploy/services/runner/compose.runner.server.yml @@ -1,3 +1,5 @@ +# Environment variables taken from deploy/docker/.env.server + services: gitlab-runner: container_name: gitlab-runner @@ -6,6 +8,6 @@ services: volumes: - "./runner-config.toml:/etc/gitlab-runner/config.toml:ro" - "/var/run/docker.sock:/var/run/docker.sock:ro" - # For https://localhost or a self-signed cert with your server + # Maps the self-signed certificate for your server to the container + # Remove this if you are not using a self-signed certificate - "${DTAAS_DIR}/deploy/docker/certs/${SERVER_DNS}/fullchain.pem:/etc/gitlab-runner/certs/${SERVER_DNS}.crt:ro" - network_mode: host diff --git a/deploy/services/gitlab/runner-activation.png b/deploy/services/runner/runner-activation.png similarity index 100% rename from deploy/services/gitlab/runner-activation.png rename to deploy/services/runner/runner-activation.png diff --git a/deploy/services/gitlab/runner-config.toml b/deploy/services/runner/runner-config.toml similarity index 57% rename from deploy/services/gitlab/runner-config.toml rename to deploy/services/runner/runner-config.toml index 9a572da5e..ab3bcbcad 100644 --- a/deploy/services/gitlab/runner-config.toml +++ b/deploy/services/runner/runner-config.toml @@ -1,7 +1,7 @@ [[runners]] - name = "dtaas-runner-0" - url = "https://foo.com/gitlab/" - token = "xxx" + name = "dtaas-runner-1" + url = "https://foo.com/gitlab/" # Edit this + token = "xxx" # Edit this executor = "docker" [runners.docker] tls_verify = false @@ -10,4 +10,4 @@ disable_entrypoint_overwrite = false oom_kill_disable = false volumes = ["/cache"] - network_mode = "host" + network_mode = "host" # Disable this in secure contexts diff --git a/deploy/services/gitlab/runner-registration.png b/deploy/services/runner/runner-registration.png similarity index 100% rename from deploy/services/gitlab/runner-registration.png rename to deploy/services/runner/runner-registration.png From 721271fe4eca2a29c12b89401326a3c6e59f1025 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Tue, 10 Dec 2024 15:48:38 +0530 Subject: [PATCH 07/24] Update GITLAB-RUNNER.md --- deploy/services/runner/GITLAB-RUNNER.md | 58 ++++++++++++++++--------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/deploy/services/runner/GITLAB-RUNNER.md b/deploy/services/runner/GITLAB-RUNNER.md index 0e8b4d4dc..d37fa5fab 100644 --- a/deploy/services/runner/GITLAB-RUNNER.md +++ b/deploy/services/runner/GITLAB-RUNNER.md @@ -7,14 +7,16 @@ and executes jobs for a single project, or any project within a GitLab group. This document outlines the steps needed to create a Docker container named `gitlab-runner` which will contain a single runner that will be responsible for -the execution of Digital Twins. We will assume the GitLab instance is hosted -at `https://foo.com/gitlab`. +the execution of Digital Twins. There are two installation scenarios: -The relevant files in this directory are: +1. Localhost Installation - You are using the integrated runner locally with + a GitLab server hosted at `https://localhost/gitlab`. +2. Server Installation - You are using the integrated runner with a GitLab + instance hosted on a production server. This server may be a remote server + and not necessarily your own, and may have TLS enabled with a self-signed + certificate. -1. `compose.runner.yml` - Creates the GitLab runner container -1. `runner-config.toml` - Contains the configuration settings for each runner - generated by the `gitlab-runner` container (by default, only one). +In either case, follow the steps as outlined below. ## Obtaining A Registration Token @@ -36,17 +38,23 @@ You should see the following screen: ## Configuring the Runner -We need to register the runner with the GitLab instance so that they may -communicate with each other. +Depending on your installation scenario, the runner setup reads certain +configurations settings: + +1. Localhost Installation - uses `deploy/docker/.env.local` +1. Server Installation - uses `deploy/docker/.env.server` -In this directory, the file `runner-config.toml` has the following -template: +Ensure these files are properly set up. + +We need to register the runner with the GitLab instance so that they may +communicate with each other. In this directory, the file `runner-config.toml` +has the following template: ```toml [[runners]] - name = "dtaas-runner-0" - url = "https://foo.com/gitlab/" - token = "xxx" + name = "dtaas-runner-1" + url = "https://foo.com/gitlab/" # Edit this + token = "xxx" # Edit this executor = "docker" [runners.docker] tls_verify = false @@ -55,22 +63,32 @@ template: disable_entrypoint_overwrite = false oom_kill_disable = false volumes = ["/cache"] - network_mode = "host" + network_mode = "host" # Disable this in secure contexts ``` 1. Set the `url` variable to the URL of your GitLab instance. 1. Set the `token` variable to the runner registration token you obtained earlier. +1. If you are following the server installation scenario, remove the line + `network_mode = "host"`. ## Start the GitLab Runner You may use the following commands to start and stop the `gitlab-runner` -container respectively: +container respectively, depending on your installation scenario: -```bash -# (cd deploy/services/gitlab) -docker compose -f compose.runner.yml --env-file .env up -d -docker compose -f compose.runner.yml --env-file .env down -``` +1. Localhost Installation + + ```bash + docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local up -d + docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local down + ``` + +2. Server Installation + + ```bash + docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server up -d + docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server down + ``` Once the container starts, the runner within it will run automatically. You can tell if the runner is correctly configured by opening your project on the From 4c6b68089d560f32a64dec1c0e58c4c65cb6d6f5 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Wed, 11 Dec 2024 09:19:36 +0530 Subject: [PATCH 08/24] Switch to instance runners --- deploy/services/runner/GITLAB-RUNNER.md | 21 ++++++++---------- deploy/services/runner/runner-activation.png | Bin 15437 -> 26141 bytes .../services/runner/runner-registration.png | Bin 63427 -> 66909 bytes 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/deploy/services/runner/GITLAB-RUNNER.md b/deploy/services/runner/GITLAB-RUNNER.md index d37fa5fab..0bafa124c 100644 --- a/deploy/services/runner/GITLAB-RUNNER.md +++ b/deploy/services/runner/GITLAB-RUNNER.md @@ -23,13 +23,11 @@ In either case, follow the steps as outlined below. First, we will obtain the token necessary to register the runner for the GitLab instance. -1. Navigate to the _DTaaS_ group in your instance and select the project - named after your GitLab username. -1. In the project menu, go to `Settings` and select `CI/CD`. -1. Expand the **Runners** section and click on _New project runner_. -1. Under **Platforms**, select the Linux operating system. -1. Under **Tags**, add a `linux` tag. -1. Click on _Create runner_. A runner authentication token will be generated, +1. On the __Admin__ dashboard, navigate to __CI / CD > Runners__. +1. Select __New instance runner__. +1. Under __Platform__, select the Linux operating system. +1. Under __Tags__, add a `linux` tag. +1. Select __Create runner__. A runner authentication token will be generated, be sure to save it somewhere. You should see the following screen: @@ -91,13 +89,12 @@ container respectively, depending on your installation scenario: ``` Once the container starts, the runner within it will run automatically. You can -tell if the runner is correctly configured by opening your project on the -GitLab instance, and navigating to `Settings > CI/CD > Runners` to see -something like this: +tell if the runner is correctly configured by navigating to +`CI/CD > Runners` on your Admin dashboard and seeing something like this: -![Status indicator under Assigned Project Runners](./runner-activation.png) +![Status indicator under Admin Area > Runners](./runner-activation.png) -You will now have a GitLab runner ready to accept jobs for the **DTaaS** group. +You will now have a GitLab runner ready to accept jobs for the GitLab instance. ## Resource Allocation diff --git a/deploy/services/runner/runner-activation.png b/deploy/services/runner/runner-activation.png index 324995765de0efe5bf2c6c781f89438b7e735eec..93dc265db9026de0f8444652e1ece282244dc543 100644 GIT binary patch literal 26141 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 OEY8}TDK)u#`#%7yjF#X4 literal 15437 zcmdVBX*8Q{*e#;&10ydYHp215k$;VGcmPQ zMa*KT5S~&~BIXzpVc(wjd)K#reQWP`eQUpK|H!(pd${hL_cfj8c^tGE_9syPIb8#+cGf7&p{qPGV-?~XZwA)uAZ|lv4*BOz^2uwJ7a@9+$D0F z-p95!#`*;{--$IloU@kvE^c2H>u~AD#V4FMBVb%Gve5PM_manYp#znlY?- zf5h>RJu;Zyp8*poGQtt04HbzQN5Qw+h6$-=W*KJE*|SG>CjGF7fJF?Ne}hiG=Y}As zFmQO2@&W-I7!2Nqodyn?=l)OLOlk^qe)Y;b%UPx={+jG<=ZQ*7@rT+PY8}3^`*pI@ z+k>tDI6FI=*PmEstF{Poo@qH)E9Ou1I;Ql7U-212v--5IH%__!`jTgtxO%V=o>(xi zxVxMzZgC2zQJsflNm+?g-gzx%TK;NM%;IMP*V2Up@};$jcDWz$jUx?l3+=&HIPZq5 zJiWFixRwQ|gb@;yhJxANq1M>%KKpazi4*@AjUf#vRhE>L2x|DQ5}GHn?vL3G<|qP{ zSx*`Z0bZ73v>P2C$Hd;n)FOsATuNkIchNV&8lq~n7318g@Nq~9bHzjqAAfX(MT5-J z;8=;c;kZ6yp_~s=*TYC}tl^i;JGg~og?Z3mI930ARUk^7iGkrCmEjeT)~8{p(!#`7 z5nP@toI1V!j)nG>C*;@g(e|&ZSsGlbJA^)V)^F}y5tV!!KE69N>d2=ZI!|dZua~Lu zCCmBY;uYyTISa$yvsV(87g%)OgSPlWIoAi|wx@;B-hVE2VQ#v&Udg!3!>=Q2MoT(N z+F#)4AY`|$Z~B0@Q_(Eep=Nwt4Z1lBo!Nm{E`2Vd9;GbfN*#r$3|qqO$Ta@W;`;T?(iN6+>W>7wkpND~xha#yE~+~HUf|9%zs?0y+Mrxc0=jxEkvOPo2lP(L zm25YJ@7nZ=TjOv0+>nvzqGoBA@mlV~pq<9AJbtUu!!Jbn^PJi=cmrBeSI!lZ-CHCD zxL;3!`7%`%e(xLR*A^toDS@3w;$?TdDHMtl8awjOU4HA8Ja3&bh!3ea46_wuZ*$Ym z8ZppAvHtZmIWB)ZDtbsI+vDfMioP_6s}WyB%l5!fv0h5Zbd`{LE~WI)m$w{d`$5$U zHSabx{txKFbv9RAzytE={etbhYI!d@Hv@wTx7?VD(+gwUM~qD@Nbc^AZ!qe%@kBt4 zVO^f6?2wz+6``jwyG?)QdI{LnvfzMNcJbZt_WI+s4V&q5vl{xY!1m4g@$E&ckSq|f z$!qa|9P=E$wdp_;mxEz!oorRTc=E2Sp23#(r549&!;YB$uW_H z=Qmg1gt-wgl(t|p?h>OQWeuJPJA(q}22jmrWn3q?rE~`)L0Sgh-PGXa=8pU$rS)kh zdTr)e8gjzb4}5VY1d=x&PHiXM7~yL8TGX-q0DJ5%P z)DpK=cDvsSY+oAJW(;_rui3DN!4+kc)OL5_Ipbo+rNW+CVR0#F%)Ypjq~fjBM4JSqZ`Z`E;g<&` z*dRua^;b+_y?k!>zf-M33A$}c@32Xmy$v(WCzHp(fN?C%w!CdW*k5Yw$_14Di@0~L zENfUX^rlnb*wRIH4K~4Zd%9pg@FVJBR``YOkHsOZO4C{#Fz*aKQ^nGja#@* z=<#h`KWlRg*61KN^r+CHHIU`!IR*x7W)iosB1z=BE#KPlC)!po`njd0rS_Wr7R%AW z$YaO9?kM&IM}!9`tvo9;sTgp%i_d?~lJb5+e6;~dH4n`QJHO3gAPLf17TIhdjLTcmhjg3P*O^dxhxW@X+x~#cHe%M`kafY;HqvPht{My#8{YtX^2#pUqvx z$@Qv4UMk)mZ0;6^wS8Yt76{ULbd%A}QEPL`U85<4&g)k9$r9e~+mBCs4y=d^YLnNB zRb3D$z1-goVy&$%h##wyUWXXopbH;ajvy`wqbQrihu>H?%*w-Jt_kF6{Qb=K$uUmi zPZyuiexOK24YN_BxD!hX`-)zsR43Z9+QuS8#0^pV0Ztrsauq|8kA}(Vqs9{+xuI#k&d}Ix+Rf8y$)2vythx zi0{J5R701aqk3RH^AyW$7FRW^Jm3CcNEm7?( zskoWZq3_dV5)hH&HMcK!mu{>oL@+VMc#4g=x47=PdKxvy_GfC9D2xf-p5fYT6 zr-vML8zwt$6gGO?JI^JY7c#_uq3=h@fVsC~=+WEar`b-32i zq;3a9#FlgJesZ^6cTx^BD+2@cuB{tFD?ZL3?>Nh({GmRVLFO^d_ePE`lDhJ1!B)6> zHF@JR@B1SlRMFHo_)j^l1~ByZPF{+411E5*qOnpB5r?A*PC{Vaq%4rA0H9$f2YC-u| zm6Jm8%ap5}!a(7yaa{Fj#z>%$7o%_T0`c$5B>!7pCTzi27i5||^{ln00%n>jTqrV_ zhH)LHAw4f9`M#Q6XrmG>8eSfh{@58vBIc2NCI)`~*fDV2M#-U(Qcjae3u{^KZQDND zTFMtQCE;nb&8X-@Oa2J3sYyyjSd!$4E5aO87rsRsWNtBsQ2LkQ1`p3dw7qWs{xPrT z<=(pa^ktxf)2^Nuflp#T`S{X@6eX{pdTyKfh0#u(j!Ovyw~-$uZe%>maJ`b>?E2M3 zCd!Zb!A9l7-`7p+LTrG_W!6&{{9Fd72-2pr|J1v!?9cib|GEb) ze&*`_E8r_XcO-L4rH3UB;?&t4;vc+6Xmqr=$yn(4?4f$DKnAafhljP62-HIfDGdj~17u92g(O1ZY<8I6!qot62}Pk$PU zR@zm&zIfNcmZ)@Vz9v`76g-nyaW(%b)^u zd;QA#VovkA%Qk*k+J!v6BsKAP#D{CqorH-!)(tu6oT$+Gj7?qjQV2bCe~@#eUa4To z;Yx`nM_nvcuv2fi2h})Sd*+_6bbKf#`%lIa-JxOyiV5l54cfTmx5%|b{bnKu1jzLC z(zZVo!Juv3hNdjH)s=Uw$3I!GcO4(uwjZg|T)vK_quUNOf)z&yLGCa=Y>z|j!~T5g zbs$;|c|F0ffh&KgM0`yYaiE&^ay+?(#64B)oght~VuZ`zJ)AGBxaHzZ8`j`iUt9J` zM;8%2`i6xb+f`cD%wz`*L{=`r+_qPUC!XdeSQ6_8L~Kolo)rI;PE$f-)jVA#2~Ex$ zH4TRa^-eqjI)vsFdjDQ&0o7_s`QQ&zgJ)-{5#6*;(pGa!PcCs>FHw<-oHeDG(35xT zl=V4nGQNuM zrgQohN06?jsKrEmUo=%y`Mmd?Y@tFSOFuA_PE%&j)_{cO!ugi@GK5pbR^WN<)`bnm zIejk-a-Y#Jsiqc{FSCQR!c!_{hd79>aO#r)%HMZws)8r6j(l|P@$?Fi9E&a0)7bXw z$kmKuLW`g%scFe-XFU}q;m`6oQQ`1$in39QQW6mw7Z$jeZSA^Nu)93b3O|^tjYudO z3^ZEr~1}= z8-*tCw1MtfC=C{qO~E@XjV9cTTr#$QL}|c8Rg-QhMVc<-&rMmbO5ZG5-KQK)I&=^M zmaP78^a9N^o*1(~Ss%&7P7BFUa!orf_Y~~SU3Y&_qTp)UY_yJ4dUV#fvO3?QGHgVq zw+z+Myl=4U15+*r**Fgh`-h? zO@x0VNl&xOLVt6#)Qb>yA9PF4NQzObtH)~to~^o8aVO~EZ`wH}1Md!s zY(tFg57MukqvS0fwT~?7O>CA>?|xLafI5VY-b}BThr`~5hy3a?kx;*V$8x0ZGIw-9mYLPQVE`k4r~pp5#Ifs@$bLK%_!0adQPpEojfgLI3p z*G=jmk#HkrN-|sf+UQ{B%#48rpDV5o5mKXmWSz}KXAw%}5G~QWsG3?>^dj;&6?IAr^cZ(#6W$@spO-{TmU_PoHvwTmd==Tz6S(nU zfw4!BJh7F~;R7ecWkD3*C9RDkkq0I1^TVDHb zGxyqxI32Z#T~Fd?iXa!dJrr8qf1~{9OOYfzo2gRrzB#* zDfM=Qv_HQ7-erBqFXKzdT~ZCpgHklg_q%T-MTff^S&!#k{Ak3-5_3gJC%V2w@qpO~ zeJ%RDawovG18 z?wt;=e8*_4v01&ik^j?*oZU%eB-Pv|U8*9@mVIuiv)-)fKfci5;U>v)q8?vNQd+?n zQYRgCw265<^gYLCuj{U;`Cb|RRQsGuksN09*>!t>9sUfFa z+FH<%I~ot2=jV{C1dXVM*C`3r!E#+Mj%HqDF~ZRF!r!qEIx8lOW4nz6SZpKlyjai! zF7{M(+bAM%^kdgTg-zy>m^br%ar3zHZQ&LA-%GH$(lY1ia8{*NenY$-jWlq#&P>0= zpD$F_8OWt27?GVb>&yXzS>p13ou89cU2!S-w}i}(3#iM1$(O!tyDhvkI2Lh69a76} zgxd#FmCD4;y=-G^=fO1yrCL|Wl6o!~e-1qRXv&P$!!#ZG7X_zOGTCU;tjQ2mD5h+EhZQvVOHPx93UNRsBG~D?4#}Ra@PpZq)MwPhcOU)YFLvunrsu zZbV_F77A9b>&_R(BaAS-p@&XrWbLjdX?mx2D~hU!UzCziJ?r!M|B9RdNH|N~9lh%; z{De?9jpEW=9W|#DfLx_I<*J=K0+eV;I-*xbueqan@NTe|B)%oT8Q1j*_ zsk666FRfs-Ff%~D zdE<+!Ah)kKBwF>bK<-u?e3FS7d0DB(=n&)@oQK`* z*IEKR_-R=!AG^B;iR2r=f7NYWG)d&Sehsdow=S>i>p^tD2=QQjyy*y5`BaBA0GQ&0 zfBG|8L?PlLksC-r91y#!K5nM-R(qQ}nI=w_1Qkfs-f@qZNQI(#%Kc1YIY zhdxo(x;iZi2GiT>yLDkr{jG{sa-w>)r_V8C*|fQ%cdMkyEW-Qe0oWS*?Yk1K4JEQ- z>tpM(`=(aD$vhS9DM$<62(OtwW9SlWq%{)cS_4e1yMY0DiT3bz$Jnyj z;Xg92F5b!&Zm<2|wYTtt$lcP}8EzQ4w0_lhcA$cCV6=3veMS#UiNxEv23hX}%6eL5 zON0(&g7(t=($x==sTy#%l_X-x(by3Vf{m~Phe_>ECNU598Po97CIJnhU%qF_QihXCdEB0@ z?VGl={aU}G1s`v8K+D3wii}Sxx8VgC(%9BYD^-tNU0-q+Ts_`kJzK^?WTh+#;bafm zMjgZqf0}~)7f{(saP!LRb!w#cReyQUiLUzR$33ZnKI?d0Y_FE2I?niXyQvhvq< z*#Mi`P+_hJ%;!_ho7siKGO2~|T69L7{x&h+J5>zF{#4O9l)SwXw-^`!(z>ncRNAm$ z8Z-*xYDaFdEhJ^sbbrPgOx;nuTi7|3H_vW^_+H<+H|%lMr}}K}K=eTTm^vD4TA!f% z?lpERF!TbOqTxd@)G0n$M4PeG(*Nwu(YlnYgmD$8A>+Ta^wY~`p3R-HyAO>K775IA zLb4W(`S<+OeMi{5pqfol-}Z5M3%k3R7V^|{nie)_PlMK{EzI?oy6^Yp6rFhHcu?ql zu2OWNMaJ*i0;Gs2WL=HXjxttO_lW$lYG~BLVj)uWr%L2Uei65KuPmljB3*GZg;Pq_ z@;W9Q>f>zZjE>Ek1#~Ax@VD=$8%0S0Q+)0&Fe^nvfrv*MO1-mv<4PVyCn@6;SKLoj zYsiP3_PY+y)01+*Y9_TzdMaIUtp8X8r4`-BY!jlCmtc(KR<&SC0Cr27(y+|K7-IAVi$FTZ*Q7{O6 z8gjdXC{Xegzh1+Y72FmTCCeu!#haNnnpxh{OQK5^Y`NTQLN(RiE&a8{Hg+yvs~9kg z)WQA-pD+JcU8Pp+f;c`kGAz){u)GQEy_ZWwQOkJ1)m_RD&z#_E#ROm>bw>zrozEy3 zVqUHftZ>CQH#E&)dY}6BMB1wkmu;-wv&g-2_s!F!zBg+(aBt9Cg>?^;tsAz0juNpF z5`WtuqAud5Kn-cbqBp^F2lERnPwVel`i%ief-5V(7D|9okmV>3i@td!u&(Q>tsTPq zLhZgKSiAsd)wAzt-3SCFTH$!K0hjRFceS&5 zTc!YrsC7fJ&p=DdCDGd<6UDex>H40xG#ZcopO%If2xuoT-A>xYMdT!$nTr5G%RHM<_e7GgmI7|I@LLgNPYuQ>t(ZNb#0_G5-jqfV9k4 zd2Pw+deiOAKs8|Q(^F4^2;?`L394qwc*TuTE5H|i6zaPIK&AE7`Ku>h4p`ny{#zi@ z|4;B1fU{3vWQ_cOKY9JXLYPAqL8T}Z`@d-Poz$z3|26)QTcXG%}e0UGxZvD=3m44g;q73Bn?ESl|IwJUAw-3Y`9nj;2XRaIr@ z0(RQEZB2?DsT{1PSax2Qea?iUvVX@5+`lFF5`o7l@hF$%n3Z>GO>qz{C?3D~Jmj1a z$^B{2XcXcNb#DJw^Qk4UPWY2m2YBbGN+Z|%44pdUc+51={!2IW!DMy_ z-t1`mMD!3K-54=-TQ6tssp3MMV|xdyJf7v+?za%eT+m{o67>g9P~SOyD+mCR&X+&0 z8lkTwiRA~EW)b%(ru_M?07T+g`y~EwfQ54-xNJAuXR(RKGl4R*Q>opc#q^?gb32ak zU#!DP@Ge3H7Kl_0GcWBnP_^myNOCN|K|gN~VWoLF2T1=NJXvUZ5OVoeb<>!5A z$(KJG^s`4f4)8a=A0>Ijx*J+hl{TPdZ3ej}uEkpc>W2!gRO~+{1UGp5)&vV<(5dKOJs!8ts>BnJPO8$7bI)@Y*_(>5J6Gu=y`Zn|$gv;V^BoeH|% zMCdNdTbWOST*55-Lf1pJ%HRUzE0yabQVaZv3cM`P(juZ`t~4T^TN)$Su+3=S_>a;k zm&4~PtrFuZmchez6(Eh|1WAX1=`_V%mLm;bk8;@$X@gXk-*45U$>PCxovIdGF^nwL^|(_3Fn} z0Uh6SvXJ#zj|_NSaaA28 z%Al#`Qt!BAz3bHC4DVLuY^7XD<-2_A@pf1B=u->`Aa=(+-Tj+BpLoT*UQYSJR61rR zs=M5=85I7Ss)}P5^R!nFf18o~a{FC)9x$eMPQ()KOlKbP$GO#A4Li@*dGX1V)H6}t z@L%*j#ZRAL-P1jPdTu!0dtPH7FTe6*@%`7rbgLC2iDcm^!SBP zUZ?BSbshee532rPp9I%ztQT(Ehb<6%NjysZyk;M4l}2{ejg9NtS5ywjpSeV}ae?L< zehaA+kM)zj;sd+Y|YzaxV7$F(sqE#BfKR$kVtr&?}aIyIX^QA`~Z1)h^(mr~(Vt1lqm(+ToB5$wHo?&3v z{n!*X!cn6;!NyN0;n27wK)*aL@sbX%_mPizAhN|~ApGy2Uw-nqHu09h&6rPu( zG3ZQ_*V4gqMSf%b5k!kR^%uh%d$26jJkAxzN&&@@%{z6N4wpb}gHIvqNnoLxLlgj24#N6v#zN zP#6Qyb3g$3y$%9_?cBN^Ve4D#Xu?>u_5vrP9%@qgd@QNCE^qin@@;pE@It~>6xlqz zU^xb0H#Y6Vvq!BM1;5)kW+$$NTy}0Js0%X|QH1T8Yjx>Gp+C!n0(z0Pdv_I5ZT!AK z0^OHT70nxSc4B&Ie!rc9^4f-^4OcDwW%i?P7XlhAs+U=xrN1?g+8wL_VWcKqmK`&1 zu+)j4&H#z7Ua5o85l0sT1;Tg*^Q7+2MpjPTi$S$3t0`-iSAtt1q3wXEqAKjX?i(E) z|2@mk8*U2l3?@RDU3dX%Zs&96#-!Bm?RPQ#Q{yj0t_%UnmV(2)ojU>+%QKf43vC?3 z(5YpCr3t^K3Q$j9eZW#5LVtUusjhHB2E&q)u;Xlc8o7+A^%6!_l7nGjTbT|A0SE>M zj;rMCIAVjTUx{RmX10y3gGmS=%N4ka$1@;sTZi zxQdn7XRxmjL+P8p3I1uO;YB$c6@z%U5su*f9Vh))Gr{47A>Tr``!$adkH|%*R-%P+ zcFFHqUqphCK$>TJ{ap*?X>CX+GGqkTDIW8pcqTMPG5YynhJkH={Z$u)Rlq?VogKdv zbh&BNWHNJWm?}s~UN9y|MRLsC%0;*1cGX7=8+Eh6b<9|Yg_g{tjD zD<~*-D=nxH7v=a@ZsY5Fe44@A7(1?#%B_3K89O(mmawD$w;CfV|K@MG(#pqe-A^14 zn)&K~*L7R?{R3!eyk$klRYdY%xV)0$$uEu`UyevrJv*`Mef0t|tlCM(&_ebS5Ey&= z08d5l2NpohH7n)O8199a2yZ5Z<6%A^UlP0Oiio%+u&Z-j(Nqgfoi^qdI^)^;p<>FJ zw0WY|Aw+5FmjxeEZYn(mx2XK_>MNi@Qt2tFtn>i%m_9D!WO?95<0aW z(PF?0$f9PvfBbocuWeee1Oo_oxwleHzAcDY?zgTbr2{dTQGGQv`A0AlfS$AJrKzSi z?rRnGkic1X09a~PZmS)N&w));7fKaZrn6eDD&;nn*fBAvER0ws-+%c-(@%R){(1Wu zzRmSy07ZCdybCJ*)NS}Y@|M1AOY3N>vRy%Fd+_{IzeTTY%ds@V(e^lxt`a?zk~udJ z5)xuto3#JhJYJqY8Q|8tJ2Lx(hHYe7t38$Nb%)`NCra_Q!*cU_&^FREDAzV07-{Aq zL&vYL9eL)JVdhIUN$8c2pE!8@Q|rP;Ferg=qd2_z6+t!c-`Y%s2tf#LFMb=q~keF5HKLrP_PB zxbMHzF7xxp)!i|DC#hh%XgFK$W8r1jBIg!<4V;G&EX<(zG(VpmG;LD9R^RNtIF7NH zv6#^Up!M$+)3vxI@~aLI1GEw;3AN7w%m(Y*2hO?VpHHoT>pU5$7l@IDP6@?LHjwp% znk-`%F{n(@h9hE)`GUq7699kljfgZ z^8|JG6R(&p;^&=WFAYUG`An+ID?BN%wS8Kn#@07&fqCqAQ?*@w1d5gr@Cp{PNo6%2 zu6;hOLO+UrxMs@Qx3h>{-s^PcqUWHEBgiRepWPRYpbNd^?-Hv#k$*)O3m zxBIGW4^3^^S`PKGP=_} z8=SOuw+VR>puD(TB&R;5IsSj*Pto=Y7PDPDV9 zTn%^Ys@-hkkw+aZvlOQmwfMLzEcv3J6Zd9ih)fNOZ*B6udC?h`#D9% z(`viQw)!q-?T{ikIR5zh%SEv^$LFN_t+8_qh|9u10TFPr^;B|SvaklDvHWtCJtO70 zas%-X3}eY;AH*-fc!OLrOYBc%e#`uGCVQ&&6coSPGuzxcbuG9_-u|g41qNTn`J&Ai z$3F)lC149{gen5rTw!o5bhlFWnP|aoVHbQ<+g{DShgg%h)aj;2uy@ZtKi0J?>13IX z&zB>Amd9n?s0*4%ICG39%}CFT3RI_!wH}qriepLfj|Z5?SOUHk_54`1svqiQ)+PLN%55;s9M)Ff z^8iw&Coc>rhg!^(M)3f44ex#o1jJ{tb!Q#Q~+Z|Vr?lY(q zCfRyc-_y(g%$$N;5v-W1DiPx2!g6tDVUucKSPb82)dOGlu(`<1R1rRsnY-~RiQO>D z@5o6`=VPhsY{+7!%;L|IG;$>I3XnHCcg00lpt$BK#Nx0KISKVq8AUiOrP3xcme8CU zc9|TlDyaBf#jzq8HGan#SqBAcoqPbh?#N5en;l4}N3G|%cq?pT^tyUp)0g1)4+D!| z$0x^414O=^vWWTZx!9poz@jaX%)gzlaU}vNt(QN|oH8y*wyOG}k|E(yhLD8Y%oS-`bi@18bVwhzCRa z2b(i-*Wukg>{SkSh#j*;w;@6ld+V>}pmf=2b_y{Kq{Vh6+F5MNNR;iW+)>X%b-ILt z;%7rcPu7q&(Yh4_D@8^4YwcPl21HU1M_5v{GdkdMB(sr*uq|RlYtU$b4Y@*00>71c_$4c{VaWAKEo{ugVg6VjgDDnYt8F=c1_`+NEQql!XO-}AQ zyD2%y9Ke#11>%fXOBEL(-hzyg7s@dyCmZO53wyo+p;#nPesfpN&@egcfk&y!t2_OH zP-ZsKC)y#K_hk>3LJ6Ms@)u5`S*?NTCZ_33>B569A`lBXwaR1MTmf4(LNWlVH?~2MaLFav3PuQHI zJN-aZ_+M4xi!_Cm&NfX{{2E=hM^BMamG}jecarxV9>XpZ9w1*}sLn@%v=#+>rmvqZ zxqEWK3<@kqUogRa$q=8D{d&v7f|AgKTY9ZgcXvi;LCVipkLJhS3Ec-2+Jac>`^SJ~ zDjGf0Do(BXNgk4fji1*gTKQ@mvx2s}L}df)JZB7|rS*aL3|#_1hsbfoNDvX1QCB(9 z%rwoa-Jr1!VAPw04*-6W?G8b80-JQya}!o*t=H1;%Lg8}qxseb;Px>=%eca|ZdzAUGB5A? z?ebs4qPe>?=K*%V4a)+0SsZQ{-gV&gZTMjar8%ezbCfIY;?vh?qygCZW*6AaD7sVp zHW)-4QnH!$W6GRRW63g@4+)@Yx+k4XOkTNw0{P{E^=Wm+q9$HFJ>U8C^^K{iB;whV z@3g{VRqE`LfXyByOCJK(j-M+}!xe12YAeL85x{)}f65q}RTYTXn_J%)zBcWE@aCAc z-b?Uk$JiKoN5PaNBLRSjf#>&|ySD(WnI!{CKB`!fU89#sA0@N~DL?yDpsR&jV#>){ zEL_G(xbvmjPqk?`{7G4^CX2u4KkJ~aRHE&aziz}XEkfY*o^zt+>TJkX$;_@LWBE-j(Nre+b? wE5%Ta{Btrz7!b{2{|$Rn|LcU=@9E<+`lpkATOv5=fcXp%^{0<3RbRaQA0?HR#{d8T diff --git a/deploy/services/runner/runner-registration.png b/deploy/services/runner/runner-registration.png index 2f87c8921dcc2d94f457324ba0a20f1a8367a137..81a133abbec98dd3e8ee0b47c23447e552d8092d 100644 GIT binary patch literal 66909 zcmd?RbySpZ^gT+4)Bs9IgA&rxol+7a291D#Bi%!TAdDgfdAgMD*cRF;# zzyS9hKlT0HweG)n-S4{Zg5_cuhk2jpJm>7Q_dfIHfxafiwVT&)aBwKJwbUQt;1I;) z;NZO`Ap#yrWTKS={=xNpsHuumHpGkqejspA(Nn>}sf;7TSQ7$2le%e{c;ettc45D9 z;jTr`ad58kwbfM~K`b{fqT0;Aq08UQDlJ?R`fkg3I;;+)(b_xN9*8~Dz1u;M82(1G zinNEpNknFi`QDI>t;Y~!!aa>pg+rc{L&SOHQmNRAn{7S=X2f+grD!S`^r|9RZh@c&CsXS{)n%JSvT z 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 IpH|QR4-GYKDgXcg literal 63427 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 z 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 J^oCv7zX5AZ*iZlf From 21cb71476a96fa0510493b3c968f448530960184 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Wed, 11 Dec 2024 11:01:01 +0530 Subject: [PATCH 09/24] Updates runner documentation on the admin page --- docs/admin/gitlab/pipeline-token.PNG | Bin 0 -> 33526 bytes docs/admin/gitlab/runner-activation.png | Bin 0 -> 26141 bytes docs/admin/gitlab/runner-registration.png | Bin 0 -> 66909 bytes docs/admin/gitlab/runner.md | 146 ++++++++++++++-------- 4 files changed, 93 insertions(+), 53 deletions(-) create mode 100644 docs/admin/gitlab/pipeline-token.PNG create mode 100644 docs/admin/gitlab/runner-activation.png create mode 100644 docs/admin/gitlab/runner-registration.png diff --git a/docs/admin/gitlab/pipeline-token.PNG b/docs/admin/gitlab/pipeline-token.PNG new file mode 100644 index 0000000000000000000000000000000000000000..03a699eb87418068cde86b7ae61b0a5b1b652c56 GIT binary patch literal 33526 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 OEY8}TDK)u#`#%7yjF#X4 literal 0 HcmV?d00001 diff --git a/docs/admin/gitlab/runner-registration.png b/docs/admin/gitlab/runner-registration.png new file mode 100644 index 0000000000000000000000000000000000000000..81a133abbec98dd3e8ee0b47c23447e552d8092d GIT binary patch literal 66909 zcmd?RbySpZ^gT+4)Bs9IgA&rxol+7a291D#Bi%!TAdDgfdAgMD*cRF;# zzyS9hKlT0HweG)n-S4{Zg5_cuhk2jpJm>7Q_dfIHfxafiwVT&)aBwKJwbUQt;1I;) z;NZO`Ap#yrWTKS={=xNpsHuumHpGkqejspA(Nn>}sf;7TSQ7$2le%e{c;ettc45D9 z;jTr`ad58kwbfM~K`b{fqT0;Aq08UQDlJ?R`fkg3I;;+)(b_xN9*8~Dz1u;M82(1G zinNEpNknFi`QDI>t;Y~!!aa>pg+rc{L&SOHQmNRAn{7S=X2f+grD!S`^r|9RZh@c&CsXS{)n%JSvT z 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 IpH|QR4-GYKDgXcg literal 0 HcmV?d00001 diff --git a/docs/admin/gitlab/runner.md b/docs/admin/gitlab/runner.md index 42d4c71c8..1d82a04f5 100644 --- a/docs/admin/gitlab/runner.md +++ b/docs/admin/gitlab/runner.md @@ -1,74 +1,114 @@ -# Gitlab Runner Integration +# GitLab Runner Integration -To properly use the __Digital Twins Preview Page__, you need to -configure at least one project runner in your GitLab profile. -The first step is to configure the CI/CD pipeline in gitlab project. -The second step is to install the runner and integrate it -with the selected gitlab project. +This document outlines the steps needed to create a Docker container named +`gitlab-runner` which will contain a single runner that will be responsible for +the execution of Digital Twins. There are two installation scenarios: -## Configure Gitlab Project +1. Localhost Installation - You are using the integrated runner locally with + a GitLab server hosted at `https://localhost/gitlab`. +2. Server Installation - You are using the integrated runner with a GitLab + instance hosted on a production server. This server may be a remote server + and not necessarily your own, and may have TLS enabled with a self-signed + certificate. -Follow the steps below: +In either case, follow the steps as outlined below. -1. Navigate to the _DTaaS_ group and select the project named after your - GitLab username. -1. In the project menu, go to Settings and select CI/CD. -1. Expand the __Runners__ section and click on _New project runner_. Follow the - configuration instructions carefully: - - Add __linux__ as a tag during configuration. - - Click on _Create runner_. A runner authentication token is generated. - This token will be used later for registering a runner. +## Obtaining A Registration Token -## Runner +First, we will obtain the token necessary to register the runner for the GitLab +instance. -### Install Runner +1. On the __Admin__ dashboard, navigate to __CI / CD > Runners__. +1. Select __New instance runner__. +1. Under __Platform__, select the Linux operating system. +1. Under __Tags__, add a `linux` tag. +1. Select __Create runner__. A runner authentication token will be generated, + be sure to save it somewhere. -A detailed guide on installation of -[gitlab runners](https://docs.gitlab.com/runner/install/) -on Linux OS is available on -[gitlab website](https://docs.gitlab.com/runner/install/linux-repository.html). -Remember to use `linux` as tag for the runner. +You should see the following screen: -### Register Runner +![Runner Registration Screen](./runner-registration.png) -Please see this [gitlab guide](https://docs.gitlab.com/runner/register/) -on registering a runner. +## Configuring the Runner -Remember to choose _docker_ as executor and _ruby:2.7_ as -the default docker image. +Depending on your installation scenario, the runner setup reads certain +configurations settings: -```bash -$sudo gitlab-runner register --url https://gitlab.foo.com \ - --token xxxxx -``` +1. Localhost Installation - uses `deploy/docker/.env.local` +1. Server Installation - uses `deploy/docker/.env.server` + +Ensure these files are properly set up. -Or, you can also register the runner in non-interactive mode by running +We need to register the runner with the GitLab instance so that they may +communicate with each other. `deploy/services/runner/runner-config.toml` +has the following template: -```bash -$sudo gitlab-runner register \ - --non-interactive \ - --url "https://gitlab.foo.com/" \ - --token "xxxx" \ - --executor "docker" \ - --docker-image ruby:2.7 \ - --description "docker-runner" +```toml +[[runners]] + name = "dtaas-runner-1" + url = "https://foo.com/gitlab/" # Edit this + token = "xxx" # Edit this + executor = "docker" + [runners.docker] + tls_verify = false + image = "ruby:2.7" + privileged = false + disable_entrypoint_overwrite = false + oom_kill_disable = false + volumes = ["/cache"] + network_mode = "host" # Disable this in secure contexts ``` -### Start Runner +1. Set the `url` variable to the URL of your GitLab instance. +1. Set the `token` variable to the runner registration token you obtained earlier. +1. If you are following the server installation scenario, remove the line + `network_mode = "host"`. -You can manually verify that the runner is available to pick up jobs by running -the following command: +## Start the GitLab Runner -```bash -$sudo gitlab-runner run -``` +You may use the following commands to start and stop the `gitlab-runner` +container respectively, depending on your installation scenario: + +1. Localhost Installation + + ```bash + docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local up -d + docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local down + ``` + +2. Server Installation + + ```bash + docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server up -d + docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server down + ``` -It can also be used to reactivate offline runners during subsequent sessions. +Once the container starts, the runner within it will run automatically. You can +tell if the runner is correctly configured by navigating to +`CI/CD > Runners` on your Admin dashboard and seeing something like this: + +![Status indicator under Admin Area > Runners](./runner-activation.png) + +You will now have a GitLab runner ready to accept jobs for the GitLab instance. ## Pipeline Trigger Token -You also need to create a -[pipeline trigger token](https://archives.docs.gitlab.com/16.4/ee/ci/triggers/index.html). -This token is required to trigger pipelines by using the API. -You can create this token in your GitLab project's CI/CD settings under -the *Pipeline trigger tokens* section. \ No newline at end of file +The Digital Twins Preview Page uses the GitLab API which requires a +[Pipeline Trigger Token](https://docs.gitlab.com/ee/api/pipeline_triggers.html). +On the GitLab instance, go to your project in the _DTaaS_ group and navigate +to __Settings > CI/CD > Pipeline trigger tokens__. Add a new token with any +description of your choice. + +![Creating a Pipeline Trigger Token](./pipeline-token.PNG) + +You can now use the Digital Twins Preview Page to manage and execute your +digital twins. + +## Resource Allocation + +By default, the runner executor will pick up as many jobs as it can (limited +by the number of threads on the machine). To limit the number of jobs that may +be run concurrently, you can set the `limit` variable in `config.toml`. + +A list of advanced configuration options is provided on the +[GitLab documentation page](https://docs.gitlab.com/runner/configuration/advanced-configuration.html). From 3d00eb81f44db1b1b847ea7947ccd5a45747e354 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Thu, 12 Dec 2024 13:03:25 +0530 Subject: [PATCH 10/24] Fix typo in INTEGRATION.md --- deploy/services/gitlab/INTEGRATION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/services/gitlab/INTEGRATION.md b/deploy/services/gitlab/INTEGRATION.md index 2ce0b73c3..e900d0e2d 100644 --- a/deploy/services/gitlab/INTEGRATION.md +++ b/deploy/services/gitlab/INTEGRATION.md @@ -66,7 +66,7 @@ the following files: _deploy/config/client/env.local.js_. 1. _deploy/docker/.env.local_ Add localpath and username. -If the DTaaS application is hosted at , then configure +If the DTaaS application is hosted at , then configure the following files: 1. **DTaaS Client Authorization** token in From 495e2d1670829d479e9518b14a1d3d14730e2a71 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Thu, 12 Dec 2024 11:38:19 +0530 Subject: [PATCH 11/24] Minor changes --- deploy/services/runner/GITLAB-RUNNER.md | 8 +++++--- docs/admin/gitlab/runner.md | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/deploy/services/runner/GITLAB-RUNNER.md b/deploy/services/runner/GITLAB-RUNNER.md index 0bafa124c..2f4a1638e 100644 --- a/deploy/services/runner/GITLAB-RUNNER.md +++ b/deploy/services/runner/GITLAB-RUNNER.md @@ -10,13 +10,14 @@ This document outlines the steps needed to create a Docker container named the execution of Digital Twins. There are two installation scenarios: 1. Localhost Installation - You are using the integrated runner locally with - a GitLab server hosted at `https://localhost/gitlab`. + a GitLab instance hosted at `https://localhost/gitlab`. 2. Server Installation - You are using the integrated runner with a GitLab instance hosted on a production server. This server may be a remote server and not necessarily your own, and may have TLS enabled with a self-signed certificate. -In either case, follow the steps as outlined below. +Following the steps below sets up the integrated runner which can be used to +execute digital twins from the Digital Twins Preview Page. ## Obtaining A Registration Token @@ -42,7 +43,8 @@ configurations settings: 1. Localhost Installation - uses `deploy/docker/.env.local` 1. Server Installation - uses `deploy/docker/.env.server` -Ensure these files are properly set up. +It is assumed you have set these up as part of the installation of the overall +DTaaS software. If not, ensure these are properly set up. We need to register the runner with the GitLab instance so that they may communicate with each other. In this directory, the file `runner-config.toml` diff --git a/docs/admin/gitlab/runner.md b/docs/admin/gitlab/runner.md index 1d82a04f5..04395bb82 100644 --- a/docs/admin/gitlab/runner.md +++ b/docs/admin/gitlab/runner.md @@ -5,13 +5,14 @@ This document outlines the steps needed to create a Docker container named the execution of Digital Twins. There are two installation scenarios: 1. Localhost Installation - You are using the integrated runner locally with - a GitLab server hosted at `https://localhost/gitlab`. + a GitLab instance hosted at `https://localhost/gitlab`. 2. Server Installation - You are using the integrated runner with a GitLab instance hosted on a production server. This server may be a remote server and not necessarily your own, and may have TLS enabled with a self-signed certificate. -In either case, follow the steps as outlined below. +Following the steps below sets up the integrated runner which can be used to +execute digital twins from the Digital Twins Preview Page. ## Obtaining A Registration Token @@ -37,7 +38,8 @@ configurations settings: 1. Localhost Installation - uses `deploy/docker/.env.local` 1. Server Installation - uses `deploy/docker/.env.server` -Ensure these files are properly set up. +It is assumed you have set these up as part of the installation of the overall +DTaaS software. If not, ensure these are properly set up. We need to register the runner with the GitLab instance so that they may communicate with each other. `deploy/services/runner/runner-config.toml` From 7d4b4fd4b28593588c74daf2f4d3891cc2e29dc6 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Thu, 12 Dec 2024 13:01:35 +0530 Subject: [PATCH 12/24] Instance + group + project runners --- .../services/runner/runner-registration.png | Bin 66909 -> 80718 bytes docs/admin/gitlab/runner-registration.png | Bin 66909 -> 80718 bytes docs/admin/gitlab/runner.md | 69 ++++++++++++------ 3 files changed, 46 insertions(+), 23 deletions(-) diff --git a/deploy/services/runner/runner-registration.png b/deploy/services/runner/runner-registration.png index 81a133abbec98dd3e8ee0b47c23447e552d8092d..85a82a6244244fe2e826e4661182a6d0bf6f4003 100644 GIT binary patch literal 80718 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 z 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 IpH|QR4-GYKDgXcg diff --git a/docs/admin/gitlab/runner-registration.png b/docs/admin/gitlab/runner-registration.png index 81a133abbec98dd3e8ee0b47c23447e552d8092d..85a82a6244244fe2e826e4661182a6d0bf6f4003 100644 GIT binary patch literal 80718 zcmeF3g;!MV+wVb;E28UkyO9(`q(d0GB$ckAQ>hswrBk{ahGB@a zd47-Y`=0;coU_iXrS5SSo6X+$eZ}|sd>D+)9nFRhGR8h&WPy6RUl%u(L!)KGc$93ww% z`Wc<^zm6mRA3A2uXzx50{n-o?%z9%${a=`C#J|3dv`l4iT_4cfn$C+gZ1$YzS^M>wMkpa)Ia5EoHJ;QX;o==V!X-uEs4+sV-LpDR(p4g%Ss;sOrF%)FM$WA8{a#C(-+uFM<712tM& zTJq(F%BwB+-sqj9%=#gF3~-viKb^CF*tGoO-_5OQq$&8-B7e1k#}W(KK@TLcg{c!t$Zj52@bLda&J8^_G}`kSQP_ z*4<}6f9TP~9%7ht%BDk@X3fqz6~*)tX|_-8g#bGvT0yJi=k)*HjnHT=;wP!P86 z&0bAzEG#S>ulAGq6A3!b#fi6~6sx`#l+FJ*q#5HHq6;Ron<)JPOZu)j%|l+`hlHtr z_0~(}+wz@mzYR*{&@w(=XJIUBcPx^kq2xQH&iv#FCP#KM zxN+sXc>cp0pA+qCzvRLBGk$iHHuWNZ?N$hu_*-l68Th0k-y*!aNtD-Lmw3VoZpcAb zV>t*3#i!WujilgYFo4?EwCs35XKQ>B##^&iK@T}JrMJf&@@=Y&I2P;6_-m*BCtQ*tFX@B2p(Y!qs^=P)% zf0l?v2l{n=JY(7obny2XsrZ_sGh#+%iQ(h){0t{Ec=kG?bSRci?732U?QjqYR-?cl zp+Zx-1#{^`>+{{l(TW4fMxPT1*tX;NLC|AC&#$v(7IdQCPsExK@jfSyF!8L>A<;R# zs|p(P#&q^mm1<*tOC6n(WoDIrrA6S#38@(LI*%RC#}bYS7f7UDVZ*0drBqQZ?F!?a z5$%`O_xawRzErB&3lIvt2|nE(*HO-RX_HDi6=2@XO@F}q=R|k#C+-&v5L*Lk;Zd-{ zq95%`awj4|;=p=PlEKytG)vLB>8!$O6(JV23je+0R zMts^@o>MT8CFXnPlO@^+?uLP@5!tlW7F+lF)A%FH&DUV%hZ%H7`hGwN06LxiM$K~3@2lb`T6;Q%=YhZOdx%}F(2=t57*dd$VF;_h**`5y^|8nZ~2{{G{0#m zT%K-4d7S;W*_Y<}VPB__^DaOk<7Jh&N)l^9d9z=rt9rEsF5x-jn?zMuA_&yzy7n6( zIhwEFuK(v*C?C%8BuvZo`jU{)-eYIsHLK3IV)R_^qZNf6fwFwtaoA;JrifSnH;tmR zMv#4PsY#(C>f9m!(n^a-=F=%eXi%#}`*lF7n33&dIZL*`wo-^*)^Ii0ZEK>e#*rZ_ zP{jT7t0+pfjZATWSvsN3gij8XVwN8Z+s(T1cpT?m{Gyj!+Ug38ycA`;TXA}eDw!|* zFR^w{{E)}`>m>h)H1S0~qCp?=ZWEZ`rLp`alllgjxuX*A-kJ1g2z_Z2_dcw|a{ek8 z%hBk%9w*|puZykT!(d(*MapYQ;7{Cxl)^7$kh|B!_d1$N%Yf$fXA&tBj4X4i^+pDz zwBHjSS_9KXRC-0b8bowW!V|i|QC577XR9b}p;88=Dip5Td%6j_-}l*6m%9BKd9_Qdr?I)bT;aUHqNzja`>-X!4-| zI+NGy!{cgEe3Arzm4C0uDYh3wo>sVa+~wn;ZjEO_%r6XUpWs{?8>~dMQC+-gv zvqbgcVy9fpc6^mMjYX4-RI>GqTZ3&_PW*yglM3JFtxJX45kTac=uo{MDvX4!P|LQovn!h@cAsW>#Fc;^z2s1S_! zXRi}3j#hTu+})_o=LL^Z^pPQc?)!66ixj}Oz8<(ni4$RnqI6j6_ETyB?N=i7@c!hI=x5-y^nce2V(UOD5Te zf-Tdb2KA2jZ5_Z}y5j3g%Tn`LiyFfY1NLg6A4(h!EIw`co?n^!oOxn;{m<(|&!4I? zS8RRnQCb$a{>vc89233g3C{uFrwIih-fN-XE_shGm_T>i&zWXTAIOeEix;&%J*_pM;=eCTZY>KK( z;L}rgK*tIrqJ=E9qTnWhWfOk3i{&-SzUk7{2jQRpd2R0DoS>0D1Zis?uOeS%=M@ZX zYuTL%-J|hGosHh&biB2>U65HdSJ-#A<5yXH4W zFzn&w)$tk|kN0pr&$|wiM&}!|oZ3Iic9eY0&bg%Om6F_B<24nYi$7YFX=fFxSNq)` zo8I?IVKZqfT}$fQH}cI7Y?n$?u^P;%TX?YVfZN~pZ)N_qeg#OAT)G~6!gY*hKR;hm z8TE4LIc~)4J4oDKg{;Do#%9)FAD4b59x%)2$)0tedmb0S6Gugw*80B~7?7en(%$Y3 zcLF(1#-H|~d(v^><6$FKwdGgG*T2KnuWPJ?>LK-5U^CQQH^a|+AN zcR~9Q$9a->zTDeov4817L(P9LBJU#oCyf{@ICXZjYEBig@8mz+L*}cmMF=~sMYLN? zmWv6K@M6_u@qmM46#orxuU00L~nd@~}V9$|EZ0M-Gn^HJC9=}ObQwxM_+ z6?4hwuK(b{e$CYFtO1)1!s7G@*3;^X zC|#Sm@sQ6Mz^)^(=Y(0Q_C_|-iTk}6D;i2Lm67ZFfPoFt*fR3i95$V-mKFwBK>t+_C@p3^cP1sSBY$oInT#i*|1qw-D$RHl-_*0hevme*62mUUccu<;4& zOJHh;ul8$nZ?wg>cppjMAU90@spZT21~Z!rd}<)F1=GMH^X`eFt049=71LcTBLA*W z-yN9*0YV%08^PAWk((L{;C{i9*mS^iQ{mMxV3?scwf!rsp)_h1xSX&3lTcIWJMkCTq!h z?XZ>Ja=4Z=oJ&a1e@6*vJ7II=OVywrJDC!Lbb|MgA!rMK8A&-%?>1jZVqFKQ-Lzf| z^Dw#JG#*MS8+zULQle_lOx{b;50;9(S2^}~lN6`*dL=w4Rx~7$?fSNS!PgeJ3mLS6 z;8hcy)%_nqPg?w&;)=4B#0#Y|4eM>aJHfqflC6%11cWNh~I*sPDThP4gknJYQ6Uo_<6)q0{6j%+l zxdKJJzX_0j!JWY-OvYE=$qaXL(SxSJDp3MFJ_kina5@MVVU0- zb0_oL0_Ds%0k`Jyze{dI!EZL%^&4J6?H6o)&H}mun%p*GYOSXY?<#MFFVCw6a=p~@ z<>ObI|183ODws3b{w{`mlR}ZexI$aMJ~r=flcHB_j9u0({5V+ZAPD{y?+ek%s$Yq! zIMsDFZsSOO7325CV63fGMfnJiLb>g7trlt-e50iSyWF2o>?TtJiQarw*CF-%4*kiDZZb8*)J)bsRJu@+??&mO6OpKluWLlm(g! zDJ=L2Nhjwz8S`7nu23~x$E1#glan)(jzN|Hd9h+xZGEJ!kj4Hje<;q_(|(a9z1}|Q zAxi=r$n&-L;b(S}YrCm#31@licWuCQm3h%!PX>q^h489S4y#$HL-Ik<)r%U-Uk?sM z77~OMpO?9J0@_UX;zcB_2-FWTFOS@*7*BZVVy2M5SoM*YgMAN)ME27MvL{Q2;@djk zQ?-c%TC^*mds1)n(`)oPXd6fql2gxrn>+Srd)$u4X+gR_ktM|Owl=#^G4X|(`>bpX zB}0*NRsy>ouR;AE1UL{@W!_tt6rReVx%!3CM=MoMFwZ2)A?@AjS|>&rqt^FCQb9+< z%&@bkggEv}w~KG}T5Y2r3XIZln{~YA&MBcBeZb<%n5W*T30!zF>Y4wgd-c>5b_g~x z|FLJX#jgZCv)=HsY^f$?8VMG?D4XYRW!eh)CSp1G#(wK3ZzaC5McO4=(Q7>s#TH$K~= zl;>CxXD)g{^X@q0IE%LquWORa|VCw@sFoP3SaaQ zoC~p!o=mOJH=oP5TpX2cy+%~PlQ|Vb@z(ec_Dq^YhS33%l@v9 zLY8PMgn|ox^7|k#fj%(hc`~O_)jD~DTgHqu5`{WYT1ITf`HIivP&XpkSuRW!~TJWzlP6(jU*$6fm)Hv?JSid6Mu}KTs)49Fbi7;0OGJ zB5|3G8#F*Jct$|-ve2=G!zOAkl9oUCs_6t$jz3@W9@O+i@urc1Wm%So4t>Mh-RKgr zjG?q>!Qe0Gm!&{tZoqxrt27CoA3-$@m``3YhQt@@sy*98$z6Hq^^~@Kogd_3;%>9c z!_1)G9Xp@QZ5D1di_z(g#+@ImTu@Q(j-w;j(5?;!cmJe<2NeT)|V`4raNi|pBu~>jdp*wO2+&>nLj(BC#D#=`YsuU!5~4g z+X!Of>4gx4--DT+_8B*|-1l`-95+1rIeXB!@8)KLHY)0HLf8)xZ4%{%by+ij)SkWX z-)8VCI7o6f5Dk>GfV@^^h`gNFf z=s@ja@zP+5xCX0sY0kmULRm7qUdsT_q!^{!^A@#KLVAuCXqJAnXJ#Ea`I1nRnrW+d zsX@Il77@+YBvjMcHYNFa-kqGcjZZBAZGO%s-N|ePTkC zkZNKKX;NpKm!#NnsrrZJucU4K~@9*OM*&A{L#=bP)kohFi@dUZtZ?cGMl~XX><0vZJeQZ3(RD0eSgl)njw_$ zxtCULzeQiMr}3pRT9ADnKVBI#k)(rNzx4BJ|8+P4&oNHY`;H5#OkvM4yq8dVT6 zAZ;Z6?8hKn);yn+bqJ+w=oL`LjRFnhJn@uqe!a>;KpOGBa~-I!9qJ%#-BD0gb+yu~ zY#ln23WO!Q4&2VPOTul~hmf$^NG2#D38U>yeyH|Ex_|?tc$>H|{d^h;UtcpqLEO zctu1n%wD2h7XM1N&D>WumX7($bAL`S3^LkVYcs}=7P&GMV1iNjr=dpdkwb2Vpxuo6 z37XFbj&~-30paP5<^_0*Am|hzkS70Gopo0 z3ApdPGB%_2iSp<1yLgc*;gsuP;1CO6f|#mgDE=$Xjsy{$^PUr)kBu_58!S9X$pf2- z80|^uAosQ}WFJfWAa79gWni4GpGU!Nnn2_s8&=Q19gXDiTLXW~;4K$_Uf#^wN?|hm zPUBUDGmmdC=qP}4nBNwmXOdcvf?oMN$?+9nJ#T-UT^M7JUMo2!Pc$v)@cm*%T|Nbufl9RwMp(; z4q-1;xF+i5f}K=aZIAGXaG~seP|n(sU982*5h}P|=uI-)em*MugqUyY*k|ASSYdnf z_-vP#$Ikb#N%+~~@O!*YYLq{^ciVoSn9u2Hs5nW(HqSw+Vf*ddGzz7BBa+!)Lgut8 z{o^-3E-%>|a}K!S#4yr(Za8VC{y4%Ose#HNF1oVojB5O!A9lW&4a%Xvr{wck6lg9l zb3O_Ox%bY_HoOd^DL%v1U(4w-7vIG$?D55a#Qx-Hr8~*6(e(|WcN*KZF3V3>7l3=B zvTMyg25G?|Ca}hnjWY^oGFBX*9vBXK4Tt7;!Zpo=r+E)>W zLVvqpH)++`pz6x&y|U@j3h^n7qodQ@oL0laxSheA+Y=K*3??F;wnZR;x%t4sbL<`!X?WxVhAqS1H>*Bpdc=UyY-AibE;9Zb4c}kdDE@&=H^1|+b>Lt zwtB(lvGfuN-^W=E;1gbp{&_yFBgL=s5~4a}>bA8CR2H+E2E_f}zd7HX=JO8Ge$Au^ zsoZCF6H!|j4qi)l!q$Tuz_m?a89+6(^Z^%)3og|BMk*}!62>yR`yDMB3Co z4dXe_U5re$&~Q~&*z>@qktY>{tC<~hZxu4=T)SUo z;GT^staOE+esEL}8N9IOTFbK-Sw$)a3VEzlY4_D<9VZ>rcgM^0@Tm5;`yswzJ*ClV zQ)|5SIU!_86@o?;C&_*fpi%imefy=`r!L#DY>~{BF_wcYdMz+Zq|FcI!|Ko-G9m1| z8IkRm!P->&B1?B;#UG=jAh9^U%PtOG3LBG#b?q~oOWy0aD;smzoOWt~Q&M7+*t~=i zM{HJGVqT9YCdKhye@$`|2bn&T5OoTb6tUcvYj>u*TsWoi^WTchb;r-+9LWJ5ii3p( zrA?t~=L&nIFPK{${bm$ssB71HVkK@$F6MrYLPnp9~ZS<$5Tn4!`ev zYxkwcWc%F@K*RRmOZKs{Z*I(aEeB{f>=pNZMp92wSx7Nq88xDPxbJQ%UGmUfPOsfD z1d1t@v(eS9c-*006-C7#0cCf+ZzTG5lXR7QVX7OFZBrHC#pW5bZ#$KIjUr6=m0thG zyW(($7RxAVZp}W>u=Tx`AHC=>j1EdoJokb1t6DCukgn%L#pH*H58PL{pT@>x z16g@oTg9621BbuV{Y5U?tyWiLglExXe%Gk0lc6?Asid5S8AurM_36F~4m5QQ4<+if zAbKhKg4?Voad)~}&-niCqW!dZ0uZrmhS80dRkc+uE0q(UvQvQK20Fq)H7(>XQWj@C z@Wls{6r1ggTaQ^AtPKi7nk!T%A|8QC(Fs=C+2k zVEhKv#N*)Q99Hk%RS!E>-H6nm5bc?=W6>!5oiic5lJRk0Pq2J3u2%q594xFHVrFnN zCj_Z5Y<$+A!2IR+w|h+k(!fxPe{)6N8CF>|$aEn(_(8m_t%)ECJM8-N$?nNUOmCu#^-@Rnq;`eQBnEgx2C)dDV&*kYfDSqZK#!~AwB`Q8|Wh5>(|Ez|KIc~jShyj~C|gS`H~d zY=QfTiQcXB*q;YmiXh*hq355EF3;}WOKdP-yiK!=TYo*$I?EFR^!nmBxkOKxloRCx ztJ-`KTKL(^-I3ctzneXs#Q|<5n!f;%h#%hJ(fHi9Olm`dGI$0!=jn7ESS@Yf-J< z-}-HSp}@%epiTs1M*2zqJ_TWcT&(y^>w2C&y+V_F4BPp+p#%KHYN%G)5lir`i=k#y zyxX5$RRl42hAPqyA3X)&4Yn?faNd0_cxz8gx3NzH zkAYI7?wKbGk!JAhesjasH~YF{QUWOh!yyhcFkBSUD5T}|>?pp~_om8`tp~|!+>-KB zg=9FCg^~1C?2{zdp7BS_>lhW>^X@yHZc;{z&|{kZlpsenYpIWtl2uVv76>5|A@^yO zXL2|dAWu@tr1w$nAyPTq5cSexqL`75o8^8YW-=j5k22eSaG&9Q4uA_%W~LFbD6sd2UY0?-6r!48*4i03fL& zADD7s0H3BjI3Aw_G3g9Wvhi;oo6dswVQVFqaGz4$80`7FP?-L&wCtUZ#q}u=@C|_H zb$dJ>%FSxAKW8>eOF2wV&gZ@+IVtGg+?i)p;W%3Ezw-ne{~XiZrRz!U<_$)1&`bguXUbCa!y+#X1W(5(Nz4-Q*Z9C5tbPZtN)lg2)Yg~SFhUBA54|5t{CpZ z+4uxXuip&X4#gv{qzl9Oz0kNqTkJuBCD!JBln|3g#-eTk4DOY4-jN0~NYQ!$(K_z; zH}y71d%ffQgs9BppSqStO`fBU_SUAK_Z=Suk31V9_W}wL1fhB00`H(zq1|LfJH*jo zA80Nz6^DNjl~u3boJSH+&6)H{y)k1Kd>Pz)D}8T~O;@hjv#e}3;`pB)C#| z^&@jo>183wCLZaoR@bJuMMSmUfUx+xy3R{Eb%8yvRMcIkm!>*w-(qULElH!VOF+*; zay*eLD1x%nCywdG=6Vv7f+iA-0_`BOWG* z3^7Bz+6Mz94Kevz4(94&6h312z&qa$r`-o(s~)|s#Ph;^|4vib!4z!=7{6}14x5>+ zmrl=wcF#K!fZ<7yi=*ZKuKSVhVw*e<8D!n{S}eY4OLG_R?M}CUDo%Q(ddEksbmlZu zPK2Y!k2nxuxa3t+YOAJp3viGIPSLY7(*XZxv~Z~T;>(e6)#90k5b`1`rH25}fs z!g0urUb-JvdM5KRy-if5yF~Vn6`_AnpPej+-cRz4TC8^8IuM@X%~6~L#w%xyyl(3Q zJArs~^=IrJ_bww$vHtO@sAjF@ z@YADT;K}tUAGPU7jU_@9lrPgY( zux~K&?t%W(z2*zmEYXwX-F{k~-+8a`D!k~^o&1Q(lF=|8nX8(A5!oSTYw)FLdgo!{ ztvnh1HOwXaaGr!|xnv11m@XyE(LpWBp^J9lP*3#Hek(|DzkPc-R3ur<`&hmC0=;P? zmn}Q*k&<=lc$FcKkk55|ZKj(n1}CKxp3nG3lZ0 zC!$`{L!tg8P|aqpxbX%rN-EHySD!nVS{WEjTm0^;QZLh2vP&kY)&FkN?vlfu_#Uy% z3@F?2k3i`=sFO8N>HIg6)5=?|)_0v($3qK&1@AtXsYC5w@6nAmDY1pk`_M>r;CL< zFB&2qv3;K>bdf9X3VqWDY~_62s%OH)yNEiEn2;{ETmGW}){L4QRen%f1KD3@*y~bru7NhSiG-9rA z0S&MO)t(Wr+!A=adf?IWnCyHEC_W0Lt_y`B(R+57j)o5SSo$1Bg^7H&zuzXuqS0bq zcwmvc)Fw)ipu?{mr*LT9r(3#3u;_bS+wE_XILM4dH5gSm2&u=%kTFl@X@#L*K44(& z@UR8wYmxqpn1IhFd zKpOXP`)}|$5_6?6P&SnWU>p?rJXy2HUOsZC@61jx>SRu;$b7jGBk9V;W32z2S3IHM zpgo}qA@P3aX2fGuzxRjKeOfP+G}jZ2gdoSFZ!2;WLjeh_O-B-&*B`W5$g6vkhMv=Z z;S)Q5v&ck|uNAJdBGXuNQyCnjTIAYaTSqpL3EeQ>Yn#Y3bKNQ1;uaXJ_V;4!?eKTq zonhG07jMMU8%12o@th%buzi)^eNlGbkO^8HbCFxU+G7^(16jEilO5UWE>zk5S{^4CZ2j=n8%yp5v$MT4z`3ryko!XXDgjcGgq+$(i zk-rE1>f;uZXOucxVyuPUW%y>Qm7MLY@vjap&JVh=)6UDu6YKY{_C38tq+5 z>o*aYrEUWhHXioOyE68RKRqV%1M3psGmBV3A7^(OT{vD~iuK%qOReo)$aD!KU!0~$ zQSU?5<)7hYQaCCyiuY?Rq>{`#AB{^i(f-J3#L& zKqf2k=j_NkBPy7oyzH?GD)@Wc)Km?1A~|*OMY$e0SOT(Mc{u`X?2`w0O^#3fapW=i zgP^!&hQrm^pi&aUlZUJE2P+hg1y330lmyQ)g5|R2pn~XIJp#gP=6ATm^H^*Eb#T^~ zLdZs?o&ksvc=>154BnPZSh>c0^BLso{xL9Bjdq`DSzL!7lLz*%Dy*CmIsAu|ICuuI z5q&Ge`h_|bZ8KC=8b#;Iy;7**cYY0j7NbWws)MTfnml#}?nFNz+Idl7$p7aHU%guW z-7Hpl|1W>h>Ot^dEJnP>|3ALFFYy|Gt_UF;xp$a0(tkSpc-HA;4FIH$kJl8#AA!;| zi&d5NYwe!{6)d#nWZrdSkoFEirV)16H9_pnDjrkx6%G9hZhh{PLCmueof6RTNPd-#HcOTHyY`@>!k?jwd2+{BNH=&18US-8XqDU~-pAi~ z1Lz>D09L*_hNpE0zz7E}|75wN(K3lP^`Vx(gukh_RVQ-lC@dNP+0kaAw!pB(S#1#m z=iwdI9^iTQogcVgsw^6p8vYVDh^=`OfWXpSxNf=|^e=ax6aZP1l*8~PT=SnD0sK`> zv5iKmzi%;+B9-m52$gBO`JQRN*rs9dT$x~_!>ARkJX^zw<9D45r)Kh4824yD9RartHK7EtorgqHj0w!U9kV{ zeliMiu;Vsnm915?@P{zF)2b>87;N<~w8k6|$o+lx`$qt{i!%pcb*}=_1hk;`^H1Ob zCX5cVb&v*^mCxDP*>AJ>w1{Yh&3x+3H-=1xCtg|GXtwHiT*$8H$sralv*d_+^t!xd zq02qdfPtl8ctg->Vf6Oz`5*ECqK|3Lwi2}<{L+KEw37<+3-I_jex>n4Tvp^1OLe)| z{`?4Yy%;vlJizM#*v2i5Z)z(wlXTq?dzD4DjW&9=BemKS z?A5xq+zr2^!La)m+I^tb2W+uKb{}~#so{g7`|88#l z!yl}g#1?2<%Jx0rJjr?VYxksjn;{smcqFhJoQElw88&_eKu(S9|Ni;CElBq61i3Qg z$!b5y*w`5I4ShJYR4%rB=8RqXBaSfPfz8;toqxMeQC*GI(AKSbfg-F}ZP6wO7nD+N z*vJYvXcENzg$9lkNd3`b7Yu(1tlggDoryArOkuCe@;l<^pO^IWjP?@W9c;3u zbklcx$v2#JOlkuu+#t7L?0#uU9JpI;#%#TlA~0iy0I;=u7?DGP%a>2br&}6FM@R8@ z^f-Vtu^;^Pk9{3Jl*eZ@us#YYw+0kH9G63!u2B4<6~_BkLO4`^t_kS=-ff>401N-S zm`($bLs)TLVTgoR;baOx2w{AGx(WIA_v2L?I(m%13FGqu=Wdtm-;b2JgZ>`A`ak;E zhcD<9i0X}izO%c~ssrSpi1zk&@E{6f*8N~X%;)m-8yFUtoxR8~|6FCiBAL?!_USAT zUYW~a@u#c%a)#W*#Kb>k*Ti=eV3)x^K1J(W_PZI<(%*5>M$Mk>$s1VjX=6+>OlUf* z!VYjxD6dpw6;_Atz-pJ1@(v^wYTf@b3ux`0eH}j0MYBOcY1NO$zNYAid+}I|TbK=M=^uQ-O6nyej}Pl5@-G+MSnN#Avua{9B8mz_q$^X(^M zdM3G8nwqz`RL5B8Q_Lz^x`p1Ku3cMOTkohyr#;`8yCuD#M2Gu?7BJ$3+$W@-Nd9Fo z0Z*%Avl!oAqY~W&tXgyJfs4n=cx5ZSDt$v^h13+6PjA8ABVA0@;1g|lNu>(_uK{^2 z&hN|vzdv(>4F20o?thSh5SE7%fcuJZk?>agxiS@-TApm(TS6+>OPDZBwDtDy1+M}G z_JorzQ)u)_0h>;_aZ>-6Lcp|VsS8T}=OQ_cLkJ)nPlL7Zuk=>m4I z-L4wKk9R8C6$U7|Piy{kg?{na5$JSVogZjWOu5H$zxknnEo(w_l~<$%j?PCM%byF%ix?M}P7ZY?u~Q*wXJ z=Q}2zC%jpxR0G%wPBxv=_YOYKcT4UVHQ@5^Do5Az0U-tR7Gij_AF|q_FV6V6a>_0j z{hSdt>yxp7G!DSnFbOuJof4F1ZUXJidUZ@ue6iREs?MXlUfF5+qFHq6Xm_c8b*9ty zYdaL*D=tXnX`aUzpaxi+eXr9OP{sP?o+CmqL3n%9ym&EZlE9?+Xu5fWe!2x*(sm0Z zE*`sens73~7_3QEZQ$mZ55R4e()XHlDva5HCL`WR1o0U`>$G#cXDV^SV;A$5>-co( zgG|B`DL;i2F4LTAdl3n>uOEf!2TtW8X!_;H)E`?VGOd~eMVrOZasdy}$N@a$fAfKN zRkQ2vluM)MSsDQ)*DIi$WVv%4nfJ!-?A#TgH0JGv3hA{9Jf zIE_&CnA>O2Zo19bO%aOR$Eg~GJ=MOS@x^{fDCHCQ9rbV*DVX^VaJ>%Xjpk{P1*|~U zAi?LT>f6l`1_iraZ2RUs)EMU2?7pR^GW=*6AYXyT9e*8@+aX;+NIWn=6{8z) zf6YDkqp#OS;#wtvQJMWH+N~d$v9kY=i-L?54ay6ww9o}Rg2<#Hv>45Rv*HYCI%)>gZJ8+z5l4^ z9NXa|HwGKW&NIx0M4z`l^WNfq>DI$;ZbC82H?uEN>)hp)g*3v^J@|>MVbOD{CrrQd znl5!CTc{@R%R?3oc_7t!(6w#EJ$Jw5Pxb;FxFB=us?h5{D=Q`7;kMnW3i@7deLWjcYakX*$Awgb~46SAsd?3zi*r($tRZ$C^U4&Hka%W&lfVKcMuui%%fhv#o50 z^R26%B`_nH-^I~lRF=T$Dv+CY*F9LO!OhlP#8 zVN=rY29j+7JVq;Zy8{sEda&-WIp(Qis%ai-`Tn4ErqxHc`Amk9es;MGTF& zpJuaMx;g99>pM^K652WKxhecn8HUFY|9y{rcTeRiE2XiZr&N6}isFquus4)mH9h22PY4S&7BOZ@erA1OP{)g~Wah zCLmrWi1`YHKN3sB@*K62FFNq53rHLfCo8fZK8qdeE-}&#;{J1M9Ex0(YWY#uE z%x}iOPYmAWXHcw4zcoLh4=D5P}+xr{`nfDPCY%A?HclM1ALkA4#_0OX(H;9Az`hhdV?c%NF zrPub9))=6MfNp1G({83w72xvrTL1^Y_V@Qc6PiGs={Q`|i=U27${WmcQeB#~cq^EM z>|N4yop?k4n4@Oct$-?X zVlqgy+_le8 z&QYhkBfV*stL#21G+x%q!kA| z<6xJ@j2Klbb^Uz8V+!)v3lhdRL+2D^V@XAuMC(fgzoB)y%?`NCUT+lX#hREdR^tWr z1`TQP$6(L$2!W4(OKyF?u;ITI^F80Tv!@vJ_g)gBBzFQyys#@DR5W#odY1}aq=ou8 zKmtz;iJ=FAht+j$`{+bGhAQ>PN_f z7qn0~-*jQOmT*TvIk=Lz0 z@+|Z$`EB0v*RkQ&=iijZ+}uw(Dq5_^gS4Mt)X}yNu28tSFG{+dzDZ&ezUn3cJsK|f zQ9Nf|<9S7OJ0yX+SLYoLNOqnlX!+Rl6mNlbF`^CF$y>K0LQWZLYKw6rY8*PCR(&bP zet!Po>n6g>NOov%!^OBs-qB6~>>&$K@a4|%6SuEFQ3W@;fUUr|p17I6lT z5D83i9H-6M@!R#ya}Kw&wZ7=e2AIuXT%AyG)~07MSSNjih!=hgC)Gc>S}!wbTCAqF z;WwSX7+-i$YtO~Xq@MHcMiNza=Xo!*w{a-@V|~-x=-Mx~^0MLmnpW0V#bn%hyO!ZP zEG2n@mvp<$dN~GRXBPm_k6^mNh$ znUq)0s~*fx)yF@(zZ-dI{D-OK=rQm7yTF*wl-$9u>T9`vdghLk(s>g>*RbI(p2opI zVHFTGK<5^Aoo<% zFG$H*x_#`*(xLl}uP|+4&Y;G6BjuL#Wt?(8#a5g1QGzHJ6vL4ApUC>~2{3z)`t||8 zzS+y9{XRDT_Ppj-6A4g3y_pXx_g15EMUoHaRScJPGt*WPDN`jl?=0BmcZ+P#wq+`u(|_ zSv}X0ZTEABuZeox+s+7+E1%gGPnS$nrfBbzUF%x{YWWew?|zPx02SQOT~h~MS$>8^ z?KZ0QM<4DIU`{$ZH5Ws9O^vRrbuDz~U47>Dy-0Qp@f=h^*H-g|H1auWum>}x%N_oOt zHiRYalN0n&maj9ZvTePSHQ@-!iDUWVt$sp*VxnsQRAh93qpq^aYdy*N9fLaN4?EM1 zIiiKy5ZRX)Xr~(9@Kt8ME~l?zw@MDSOd@dZ(el|}lWvR@6sVW!tH8V+2wB?gr-AfP z(0z9%kuj-U*N}JBh9rtyu#8#YKOswr^jq~Yn}tOZQ(1*Gzn~I>dR4tXV`W>Z7|Dpp zp)v#Ojgk5SA+Mtymez~I!7;6j`7l@G-iPYhb~8=3DUTc+qm85anKff>yYG11?$I*J z!Ego_NV0kicC-G%#4*(Ak*rOhdWYeK$0xSj{j~wY?9cay@jy|CxCsDWQ&GWt&!Ztc zmQRiKHafIPr2Ul-RLU}lpH`2%wUve5!g6IhmQE^5f47MrpC=w#r&?i*9%gJ6yBPKF z(>44qcFWahd%96BSo)bZ>9h{H?nKs6dSwoivjj}zE}oPb#hPr3pA{2-4eTRbgR`L% zt!NO|`J5YxvLkGdh#*@s{9CEOP#jEvZegfei`#0nP&DSdf!b!X+M*H|TR= zv5`x?H!HCbNtAXs>;58<{U)l!J?`~L zaC7bR=gSe`P}z3~j3|>0u(K_`)-4@C_f!MTEMAX4G0;xq(pmRi?9Gh*!GVFUr2sq0 zhF6`x1pK~sHYvX_sN2FX(y1;R`5v)*af)@$q$RdkFTmgOtF%rq5WXPe!c!KoBh ze)$uv@9p#1Q z&b~F@L=P?rn4yps&$}{LUXgiV8i=AB@KHQ)_)*>te9^I#A#$7P>RyLi`AfvfLg)11 z*HR}5Pq^x->a?I@I;|qifVfm<4`dxjTTV9P6I{KzZH>>=Le5^HCYI1(4)8reB zeLNCwTEgfLrJSTG(nBcfvbpB=6V@Io^5n@SBFYTPKD;A49{iCFCL?@!Dn)TCu0#!a zPD)fp!#c+}c8KUbeg_z7&67%BG8TOgB7ugsD8~;RPneYD?dzw3^kYUTfKAL{jq(zf zUVv5_GpLGPABJaTjfa)Z=VC(#1~&ws|9E2NtLKkOGg-aQ57Gd@M_|}Evbv8$Nvw3(I*#Q3Hv~%hCJ^f(%>F`pA0gvH( zL=jDnWK`n&-|yc`Or|@35=`?SoB;;vVAUGSSdla2druz3XsMpm$9qKio`-POHrYJc zr>+^OWjTEXXS&!SB{Avy?b-cw*>NDlp!Sw(*rM6d>6?mNmyI}xdkfyuXjaJcorEy9 z%^=(hyo(L^s*%-~VvW+G`j7VGg&8YkfxLX~O?(9nZ$W=&_6M}1a=Kp0-)gL-a`x$c zhm7@^=FrPC*xhYfkCjc0rHehrbPN2z6g;x2_kLNVU{wKQ%;+JdcEUw`be?8k6MNQ; zu^@M&ZX5qrQn*MsC$T=mp=!4#n!P1;aS5I_sEK{Cyne zfx*pTQp{e0AW2Z_{e~3pMC73m4u>yrEcEG{5chs5So$8$e-}qh!LQ?xcl-?A1faEv zEMZI^!b^CoOks*(2Alx(+gohxpj`zD!bUasB7^3Sc=B6!gLoV0f8O$tW?1W@tO;sI z`&H<{zqG?OkI>{8!Dq<)gM6)vnU(m-_D^rhpj`pKKqa0Hzb^U*7b0oQmhPR~tE@wX z73hYbKotRty%=Q;D&T#)BX!xcQ@GXeg%QN` z3b{VLQo72x!;l%|U3T;nii@MPe3LpK=1c}=Jwu`WOIj%n0YA&@`&o=tL_56GG)5f) zE&SP{aUCOQK7`v}vVSrvp9x&ada5MN`0kWch+;b2RBFojhk(V|hmB;4G~Ahge@8V- zNFWDRVz~)=V%2QxxmA)pmaMXg?h%4`n{t1TuD|(L$^~0t)zW)EZCn}NYQo_qDvoL1 zP&ACm2FB5rGu%A=Gj`EB8wYpKuPfiSLXXGqFqcrAJs9=uCgb4}SIY>JJ2ANQ_{!j) z!Bc>h=>Dt(3M#|NbbQf!E@waR?`J++!vjClAyxsC$J@D(4|MxC3V(h!qNWb(;wR?i z90u(kPxcmny=F;fe!OKI5d~Up)>>#B8!!oEbLVfaL4SO|%AL{1;CaY2kZO&Uu?S!D zDDaV(y^_L%xufN}cYM50lBa+?_A2OP&|uKZf7HsW@l7+XYNf~WgwsVvJgMC0>_E0d z@;=k^}^5TXwwyi1`zPSo@VE? zLAmIGh>E#8j%MgEL=&7QV0NDH2IsLX7+f-|p@uQ2FQI$D-W!`*ZzuDGqlih3RQ%8S zbR%vYwai;kti`_hG;fyjmd2m9aWq4Mm9$D8%Kj}R$);;}H-P=f!NgqqOH zCeZV(4y9UpzQacz{`8RhztbGG2KT4&GIo57N+_CBiWda_19@NmXCi;E5U@sI;1m4a zt^z<-M@N^Q;VzR?KmJ=9L;M(`IiNLY4W~NIwqy2114O|f8T&~+{O1drPWa>k6)pe% zJ?9Qzr*y$|;}HE0K?*vR^ZC?z|M3{6G>{1Z$;B6Q&wpt)hbD5FFVcm8uR@^R?L75Z z6I0sK*X5$Fe!9s~4bUX@^1WvJQn~YNr;gb#l6WC6clH49C3m;(Xb;So;iMAX(B>n=2%NfgZ$R;fGE>bkTViDzwFEGb-Y?GffLmx?utQhkE(E6A3VH zi`?f{!NwzgjzU4m-_OYE!TbBIRndN>N84)k_ngq_WJfUUF@Mxb;>B300i8@7?a=p3 z#dJRAL`IFc8mnPxR1X9-Gk50=Wsz2cW-?GoMM17Ej^RsE(eI`|gsC7RuvR(?unKuf0k|yjgis~}^&c${}NN7u&DS7D6+Z%iA>NB9hr?01S_~#0x+uOAMMd zRrBOu0tZHXrD-R8qIzu^H2-C5EQgrn9PsKlki)gjAMgncS9>$4;%OB;ZHX*zIdAuH zB9Bd`E{;i_>r}skcMSpVX$PzJ<$7wlvw&;F2jXn?ZBF)i#roW|@K-y{~KT#pIu8TKk|Gp)< zYN3OuOv06u5-}Y1P#WZu{v3AQf2mencxx4`ymfpldH3 z2Yfj|$-_s6np0=`UZ?cK<7ldd{*dC!!+hMIKN~8)c`g&n9wPrtSdy5dgw+%l5f6ks z+OrRhk2X2ug#G=91S|ve8yr-?7?zsV5G!}&sSSP|YPtgM)tl_bB1XKP`w6|tyzt4R zyQRi9^}7?*7EYk$dSwq4ay~C174T5TzQ08mNz4@kW{q_IH?1mbrfjqBt!CRzwM|hb z9nc}y@%)4R75H$To>F(LV6*(0U)&Q`O?^Jst@kavx&7{R>17SN*yJ~bc4EzkES9S&txa0@9cy00i0e`Dcrp zcDyf|4aBgUH!YsddYR=qt^NCD6(?gD(wV-720-G#7<~JFY#&LzW&1pMn<0&5XXipO z;-OKNd4L_Mbg0s-$PAxGt9%QKLp74XD4*IYjv7dLzdEOjvM!GM`(9#cZ= zLEGY!Lf5CJR@1q$Q9rJ`c4N)TtW~ll6Tff@AzU;|v_N>1edWZQ!bw{b!g2mL69oqfUlr)EYVTn=)Y(nYg01;Chk0*; z3J^)sgyK_F<{$hl8i^AybF!K(NwKrO@;ah+-5lk^?=_}5b_E9lvl?bI7-}bQ9@C5k z+Je?bP6W|wSv^>zn%lGt-J3t3pM$sR_ZdCK?{6BvHRX4(r~f`W*RMW86f9#ulv#U3 z-Ogy+Xs&FnMN^G<#s=hNpUzAB@A z6G?&q0^x3eR*?236>!lu6!5q6lnVGMV|c4#u`@hp%HI020VfcspxURN1x!JUtQh6*YBEQUDfIf|NMnb1|q^vbg+!!!&?Vx4jZhxIcW82le|iA6QvhA7PuGJH`8c z^ck<`W{unLs;84KV#@ILra>o*mCuP|ml-EhKCR(jQu?R3?ZdQA9VQd-E67xGu}F5ZXb@IH}}DS5QQ3rX>Kg<7?-g0efruQT$8vlr_Al>$V>J7X(Ym*R`&X) z(+yj--K+WYok!H17<_9wGX9zqOT(;?X^tFuf-WNwav_iBIg$}TS9ab&Hvb_e_c3!0 zF-PI98zIW{2fn;+jPDSWEp^Smx5?vPDaDEzG(cYL`d37yV*+df!tpb?uxmL9iEbga zQii;pew$qirPIQ+C%l?_Z8ASo&r(3?$+UaN`KDgUs8rf)r%x zWIhz9UE5Q$=hI}`LQPpTO0i<`RjL44(yz1F~4D#VmxOxYDp-as_U+0)T(Wc<9As5)}z5-ji>}8 zb=d*()^{VTeUL`EsoWv(qYTO6fCMj{a_kUmx z49RXNcrl_=y9{hh=fzL&9YcUHVH0g~sWUREZhLBTW@1_cs;_hA+Rs#^y{A?*mzBX` zGdjpl*Z#<~aWz>CIc7h2S0DpXs$~RZ*|wfZ(vifO;Wu*rpm7(~5A%3a_n<^ftMmxT zrJZB}EwE{1kK=TvJzESv2VK^ODd!#0aV#^)sTc-VS*yXUSnzu5CXLkDk`x$>1|dh3 z7%khg71O<%qT0A^5_V>qTDZnkErI-8K~L9pXIi2D>GzzszrtmURB4#O`dTL#t1}=0 zyyI_n7C?&!q-30dbx-RjDPEh`fC+@c=Om^VR~JW+CokiX0^_yb07R25pJkI=&W4Y) z9ImOv^N4hP!l171b+k!!wCVfM@|E44Z(9xVihsX3lv?|%@Eq<1v2f~3DQoKK<-0cr zLoUM(1T0e zcZL;+x$Sb@`Ec<{Ffr>wX@zGL{&~1p+y)IEqQeF5v(L?!I!gilSp{Cq4S$UED-O04 zZ}_wDlQBr^6T{l7wroR(MjQ0XY`OtQwZ(FXn_K{+hSurnbCE%MFsU~o0ROu4gYO4} z2iB@vOW*uM9{2%}iRte8jX{0sJoit--d)fao0VNuL=CPM@SCA5>fmeL098={tr?K; z^643d=z}Jv+2%=no?R;|liDYYrns-(OEp%)(%EmqnAHA}htl)Rdi_@tXWy{9nV=+( zsIP2g&&$(FJj??i1_3+ZZBSf2;P{{7D&#A@O13oMU9W&yIKWHd{hx&y(DhQIz;<9A zOp;iIeQ-54(54$B(c4=6Y-I=TfJ38B7MmyeK;=LePQVNyWF_SuX!gCR^SQagciLN&fG6M+?prPdNmTiD z%t2oMU4*>Z#m0^iTUdc7foCfEKmbhN>0Ve39vyCsJn%m@SY29T1d7d=JBAN`!r^ds z&WhHXOU9}C-54O))yZ!OTJ@QAZ{f6$9q8IUnLwSKvzNCXF-pqApPblE)fo_T*-!#r zU8THZG>9#zy`(G`AO7$tQ}oPt?gam@H-9KJ0zFsx&+#!(Cba=M;x}ZDQQP%C&`ZGe zPqrspVWk6#$viR?qP&2@Qe!uwc+-X(Mas(n;0>x-B0@mTkRjkn32?#?a3_&V<8fqC z!_;r`PyrM_`a}k;-z^eCRBdw>;73kCF~q^9r=8z008AiYB?mEyizcS;EzxSj?Pt7> zR=_U};oa%50A@LOM4;!BdQ~GPnb5RVP7LUNK=|+XgT3gc;VmF_i8HAKFxI@qa z@WkMaJ&CSbsZpDu(@O6PP*edWC-{Gzofa-7Q1EQC9>%G zM0cXWF(-juQyxHhO;R?YpPvc?TLFPAm;?g<3huY9LyAGA10W~6Awu5wga6|rIDh3c z2wcab8tv(y9;7aOkO9m+a zap+gKWh04eS9T*)4+GacjQLh~Ct9_PPS$7T>}FevZu(A)$&;s=OfM8|^FACg>DKTl zC!wyPUEqP_x}|%aPwYZTzK(3!PPRx0x7keWLSB|P`)z+Aq#=Ii(8r|Pp0c`vBw+K=pbv-yJY}m%pakN;BnwY>j4;jk& zD7T?XV>VhijYDgrX>wAHr4&;Hv0pvCD22qYF#{^%+O+XsI zw9AYGjTRZr3_U<@j<^Q^B9zvN z40zaPU>6MRS)*$d9RDxo@S)1FRGj{`=;J`(-g9wKR=V{y&t>OkE2s!seS)DVbp54>tRk%)b|4Cwd*&sNi2Y_NRx_5K2D|FSeZM>AkVvw-LYA6kCX0HB#x~k#i zzaIwPNO>3+!An)`Y$*^hL);EttElCds$B!ZH`GTFRl)l@6J3N@E6PF&{XGPKU+At* zt_pw&riBpm=1VZzQXqPf?F8PV2q|gorYK_0D$Y-jUcAM!4SPs4T&(#z;{lx_Q`kF} z*ZMr$(3K4qkvp%(XSbO&dJ-TO9PAmqP*@}q^9k9@eBceZiuib`8ebX)d3^GN;^-Nx@kL1Z&_(o=F^d_@$Dh(d> zxXm~&b&id3uwG&AU>whX4;Go38~pLoFs;FEjjjh)I#o|Cd8lRj(Bv`?^gkg2o=!;X znpa+Diy@r$g9@xN*+2Iwu`af{hH}n@m39KmQhj_Vx<=@fN{}M$bfEKkeyQ*oj48o^ zq}myQV|o9hrimq)d1~hW@c~(GSD5!PkYSDcJgFv$nINSe_W||>8Nj-IpF-kuN1ek` z+34<57R!`CD;Q=pQropOK#F!DW^(>X_RurU;d}+EvxBvG0nY>Jd#T2MKd*DG()F^*b6#8X|6;=R~39Dt(yP>=LlxfvE76soZ&3L#KBz8D8>_$9X1=3q({`)=IJgI0R4ICm9_cN?Eoa7xmLjjy7+22`hU_e;EGUtCHm*1P> z0<{8-S=Fy%G@xT9ou#R1Y4&l<7F=tF&>Jg3Ti9(=1hLvaVl|u_=O8(oRhzi_`&T%h zvfJ_2cajk+P++2Ll)8Rfc?wCIx5wRR2Hwj*xsmKG zwPC>}U>R*`U%Dt#14FEGAku9wRX|-&+-aH}mo#2sKKP(>gfPN`ak0Pn6VR@%yhPO) z}gkdg!PNhE>y2Ds&n*sI0963BHkUl z|NRj-T-WtI5u5J?SZu!E#d^^PFup7EkuU?ZYAq5j-VT`YDx?7Izwqe9|* z6la2Qg+tlUF~Q#DlR>5IHGzFiZ@XA6{<(6k`?@SF-jd0@zS;@d6Rj6vf6)-2 z$+c_!r;EI9MCTU8L0X@bA8!*sNoT95^%v0H(9OsC$f9Dn(3Y4z`m z?0&QPd!rljf2{Z1_xUT9K2#D1$VDrezX^RFQ1h;v-8X~A+59Eo&r(arh#39tqa12p z5Vs8c`QKqq!5HBi?Xq2~$wRrbi`~d3JNGPHgSCExcSApZL0(b<^%_V(X^R7O z9uf&m53&G+vjU9F=fv;~PV2hE?GdHROY&|Y`*R`bJLy1ec5qg`ZtxBM8coF95?FVWR+jCaR8)esp}ssGFax@Ij9URV1_0Xbcewz( z$+e%sh0_R=^S|ys-a2Ckl#CK6nc{IC({=*{z~Sp?FpvdRKu@1u{ky}$1=S{X86wX2 zHNa@_X07=VtD%08O3ugLE8C2GeDvat5ew8-ohK4_d7c5RD>A^N4sc;}912p=xZ%%q0#UaPrYaa|#!y6TcNsm;1U7e-B+-AWYl{3E7c`mM70@MSklj}& z1Va44x!#UIa1UO3pX^wn{er{gocrjRIMqq%K0|+#f zn?6so^b4rUhKqQ1DzkIC_w{9nfZwGyrH7|Z{wFZEkOPeuN>)Sc8gh&l zi!lI)l8QETTHWG3tCDcGp2rpi$qE_WJx>|UPXEN7Cxh6- zd(kyoDeisd-65${VH{XvJEi+qA^vY93&l6^_;8rLKtV&p?`~Hu^!X|C+Z2+ln*hJS zRV8pw!=y1;83M!LA1r@@=M}+BiQ50#=bT;(nuh%zXnH{ihsB%EPlmM3UGCqN2(!VF zoCtf!n2%jgDH%b((9w1`A_Z))3`5yck6BI0XaA))9Da`qT*l+*uf(qcZV^?Ax5G3hwxQ5S zbZT)B8Md-{gao6cr(|?EOSGcE1Vsay<5gC0f<{oNV{2;y=LWM6KrfW+R)z#9heP_z zPRazmw75V0Z@pqnd#Y0o({uUOr4+j0*WSlliHY!=IPgZxZclR3NC26AY5%=1tZK%5jOy);}On#GVTg;R0IGM-+Yq_Cp8q`EtraWWjsNW*WIPI&~5p?kRLtV75 z7rIk!w!kxAteXAC>ZN`|^6Uh#hOv;77~MezH0J6QC6(ZJMsR_F~<@rb*`&@4gM zmhaRZ&|+#5L2`s=p8Ce4F-^$^#;FLRYK%@r*|<0L_@en|2dl`xfiNgyY{&t=*+JZE zi+-6+^&;l-StHBt;O`Yf3@>w0`(rrafS}Ovzb8toAR&uk47jW68n$MRV{|K6);|6+ z|Iql49d`7;$3WZ1{~CXkPXAw}tTF)YJ&5!GZu78}r~fS*OtyzVC1>6LqPn~Qonyw? zS@*xK-v2!>Y^-Q7#$*I7lfH(jV>sNCMc&jQ-?98HG45?Z8AQJLWA~*et#J9UmW`IZHD% zLOA&0mqXYe4*CC_IxRaL{L>r@o=p&Z2|YL5og8k@Uk)FOKRJwL@Oy&Hu~^|a&lJ)J zd6FyOXn|CC|aRWt>ooX#TF?!{*7IVdKe1MoWS|CH&D zzZP)f!EYZLj54WDF zm`&OZ!Z#ra?tn(bta&b%1hhZYeRef*X6noH*3AT|K@$ljEKMXuAr1ij;C&2!?+NH< zulDI~I(w~vl)Wmy8SF+>i0WtSZ~~UPRmNMZ+rC=)e!>a>uu@#UHlUX~B7lSW^LXdC z(gDTO>4~<>_xdq64AB&!(ESg-;bx{}Hxgf&Q*YywL&l8ifnC-=3G)K~GlHM5AC^3{ zbma5#;7dUxADw{b{+l}csTVhw2j!^5rvmWFY5Jw|8?mm=($PzalHtRm$l}4X>mH(l zF{ufx0SjRh#VmFLGpSS*)BlcEz{2lIux;f1H_7QHX+gjT^n`q~-oCZ&+vMEWC?0cK z>QsOyxIYf!FT6~d3KYpM0FaY6UPoJ03#~uonhrN=vcvWtq#>j6WgMcoFHGTTvj|fz zrg6k;;Gf){ES*cqFxDgALLAW^hZnOS=ffo(%KQPcnE`MN5`epM-C7ILv}>9^1Qn<< zBu(}udNF|OiiR^YGI{N!uSc?Af?FErbTnn<`4ml*x<*KB5GS)%tHncQ;$i^Lw>RUp zIMvXpy<&%tlMQ^ebhz5W2&G0cyBmTPBstS`3<05Dn@9k%AHHo&y!s+}*$S2Cxckwc z@iARwBG?La^Hrs{=jx686E_iU^_P6^5JwgnyOe_k2UkUrUx3=fwtrBw(HYXEmOhqa zp`}yn)tJCwplalQ2fP-{NbZuj9};(U@;&;qL*!h9TdaYMnh}@al3{NV2EY^K2`{Id z4up8XkXF4&Ux9eko*uNU6WcVefjn^j7d#1Kkx}b0^awO~(pEIqzhZE`{V6^3ak3T~ z15ysPS3UYcFNRuSl4H284*>>hjyV{o@^H*@VN%@wJpxVG*o8+g^yR;}2&QKwlLz*e zt=48Qco1!Xi4iw2H#}AFhQL7!7vg_2LkCjxhH!;B zzD5Ch*NOop&^W$QjQJZku^1v3$7Mhq_K*s+_>J3GFVx0LXP$$*4{AYLBmUBjSP3g6 zJ*HEV1sARwoq2FCT`r)wp{uu>jbqYbN0y&}>;wqt9(NDZzz+#;y%BnC-fO&l*Mx;X zb}u94wK-e~@CXbvhYOVKZTBNr-K-HMBcC=Ff63KOkbSAkzQ9v_Abnf$86x5cAFvWs zpCv9VzckeN6dM&HDX{|X%&1wX`_A+bN6yB}FDXjTgk{Y8zT|8u#?#hvX5x|Z(1Q{u z_HHHwfw{99nfe7f(^*qvrDp91>JbTqu+`#|D^5yO@)K=QHZaUNmSJ_P}lDOD2LI75Nhu7&HVh!YiiYaC@ zk(lAOQBv?ajgGs=M>-vZdjJj;Pz(8tNEjcC;dwxB{ackbuv9^;rP1`KGurb<^x{~#~!nYMbQQ_DQM-^s*rd{h{VZWT=^3}q8^j8TZ} zTeAQ0q5F$J&ZD2)QA;1r{SJ7%&h|r4OzWhusss+JN51&ukiLr(-*@MSDPL}Pk+dIY zxejGY`sKfhdRi^Nm{fuSah$vQBlrHC4pD*Z^0aqX^x@=MJGr><@mB9>l|5pMwA)og z7Xp7I$oJodsm#Kn(z6UQD~v#Qwis3{SX~SQh>8T1QC6SFUj=i?+zYHACPew%;QX(& zi8fvV;VjSnf0CV!F8_3m=hsNC+&4ofO>eu59N^)jOTHj9TlW_p;MhNlu^Y$>PofTs zy|GZtjFpfK;i{~(kL9jgD}Nd9AG2|jTC^50?zm`qCPJPr=*%^EMmW`C3S(KiQafrn z=%Sb7aqB&73fh+Ny!7jdKKFF*fnJ^602m3o(HvL}1+k2iCQ-7Quwxm+Q2)-AKLXy;9Do9%I^8n{nl z%oXh{7vaD*!3>%+TE#9Vvtb?P3FMU+RhI)#zfjcM=k%J@uGV`p&0kmozDfEj5_MIv zUSVK19kIAn0)yG-6ut?++3C=rh;N#uZ_{22PSrY}?94b_O}f6+=y@%wx9kp#j=7@2 z=aSd?@y?xoPIWd?bCIHC!2wQ@$i#!SemLlS9$khwMG@Q|$CFyqlR}vA)Mx#kTVd3C zH`s1(*j)CVuYhQ+gU4}cy|L?Xx9uX*be?so`FXfq@it#S(HtF*aLNpUvL?6PB8PpsXMWFVX_*bBl!jQ z*0)b>VWwP#E?cknCntnn9gtoSp}SwWGKyQN_2`qH0hD##hFEM4Jv?xGHn5w)5+WsS;8D^HYa zL8NZ>a&mF6eHmHJvo-wjWbySKfe>tlcRXKzmug8d9$uZ}jmomlqgjKXB!V9R zArcl{9$jNI#Mf1Zb#c7S&G11k&ps2qYNYTq>(4?iu)=x?esYjAX-{Ti)GQf2>9ESF zs`WX$OT_L`=qP5Gn<)Nd-TtFbLFVn26F_nqJp^)AO~p(;)3gULIKG_sO z-UpZhv*mH zoh<&T-QJnzS=D+wK^?2JJi;juGU&Y&bVS%k5+SNyx@j?XDTxU5awX|HKO%9tMoq)D z24cyd}blyOWB1HhlJbK+oFs{{`q`1bm{&-N&%4D=Oa>jhXb$DDi zGOdaAN*UWB7MQ#+X9zLR@rQgk;Xj|{kfw7Sy8}wdp5lLATcUIWsWsA%s^H`vS&o;Ep*%hr=qvaIw_~9YjMol2=I0 zIkUiP5IB4!m7pP4{!EHd|+fNRL4bOv>A;bd* zQ65=VCgE}w15GBQBC`o5cb=24Q)<9~QF8WvN6S4+zV5UtZ@D{Ni2^w0#*Dvh05PU& zwIp-8R*SaGwv+izHRuCvSnT-*p8@+cM^vme-@xJJFK6c0$BCanB#bsfr%_d-bbS1W zSFzTG{#v~~;`?}J`r+%cWOzDA_)nF;yK=qLRHpQA8~zX|(Ig-c_s zxw;)XA_6pshpfi20sQCf-<+SQgP#VcOboC)5D)_XlZV?U8(mxd7#&F>=#>U}SluF@ z%4Gn55H*+86C|ill@(#)c|UR!nbNWT3f=P=%ZDEhILmfpXMula z8Ih4Z2cqhaq$qk}Yv6sB42B=4B}!QwEzXxq>OTt&tQ3*F9nv~I8NaVZr^T3o(OWaM!T zpq0m&;5yXiST$(1>J`zGc>_=neD~q38dYgf3iH0S?Mym%QDjp@PidQ@*byrrVBS22 zDQ$Z9nw4wsB|%X^75*!-zpsRETB1;K)|c+v)7wTM?HtMeM}+Scm@klxxd1K0&`tYw zaML}h-Wr?98VRFJLGS)Hv9q2pW9J}e?Hxu?!{jsN6U8o zuP9IzUeM7U;tEg6TD?#y^uP29?H+Vx-fA;Fw! zp7QF1YCOr&XSQxDyM&1Doi83rQ|2Ra)&cz~#2NjP=`nl<00-OlZWSSmZMTyAkFSdl zzBh>MpBx?4ws`$w;vQ$Qp-5iAz986m6-`xb^VXMMoL;W2|4c#HR4=3NFl&plwZdx2 zT(HdV(&P)Y&f>!Jj$+e$#5W7(gX0KXV*e#d>1di<+_RBtDGI?chu(>f>z{m;Hw!<` zaIXP%a9H4$`vCrU{WwgUt{;D#%h^8#ULoio=u1BC>=IRda}N@EWIx-YVMJmy%{M1M z0JI5LB%JT_;otXr52AP}z(2Nm`RT`nwg{KwH&EfS6xwwut6BXw;}rDubHLy`@Lhn* zrhWvny@oy|@STS+rD7nKHn)#_pRsW1Nd;32?892AZXJ%xma*O!PV1tPn2%0oj2n$} zAFN#4ET0w1XW#P&c;eOWM7S1*|5*9W6#Iz=ZMAZ)|U7&%lCYN zTEv!$mFp~tMPnA2J&rdn!NlZ3>$2v{&4!xA(M66yvtp;?6oQY{_1nF2!B=Dl<%X>$ zY5YoOH)k-}rRGgF->8k%mh+=8r=VG;i)gl=6TKqWty;!MdIxzW!zFaCs?M~|NrAMW zeDm@?2^Z3R39xWoCcuV&U=KFQBWG!NzJlJB#lUsnTw&TNg^-W_T$|~I9g;653Zz}? z8u5FLJGw{Q)RXnzE|Fe%Au?Hgs~4A5Z6UK4x8z^SY0D8z{f4D|%-VB0;( zmY3Uvcx+o*o6P?hmRh~5CIy33AMx|~k>Mc!*;vbl7c3i3B-+h(+lf}W?ot~dhPG<9`%GEWF2CF-K$MJ| zdrQaLdUDhcO}KkFAOcUOC|)1Kv8HMo;_=+~dvy3JNiPmU1TTD}T${WVq;~eYo=-;U zQv7C2{<+{1@9BLrSYf;K(Xwpf-2@n(bM4{X zgsw+nPE`5kw&{N9lOEz+3)y>RGO_N2v9|<6>{tPXe+&TOa`wC@rFS~)QaQ65m-aOd zkTt#OvPwnY8oWh~%0bX7`^t&)1)Y%5P<`aqso8^>zKHltH%7JvEfJSIkTFu}y7kz_ zThxz;j(Z!M-Ddq$z|M0?=px>u&M@V<+huigDbd3Hc{8%u_em*1S4Eu9ZSz4Pjtx-g zAL8kP`{gJEi&?L>f{Xu6abbTte>ZDeZ|qm`ws_rIp(LA$>WvonKCmlN18iU%pN7a| zU6B-Nf}iEW>ns82d*>%4)RHR(w;3f~D^BgFaNCn3%U8M{w+I0-Zigo3x^*VIne4WC z00GaspDVC!+4g-j8bGDFF-L(M(yUVNL7N&7=SDmMD-RmK4U$%V+sV-rT0)V9MO8X> zG1t8*7)=7kB+jc{EC4Y*x`RiX@HBzQ2D9hEd_!&MS*D+^sQ+(C!})O$1S_c){oD@N zwf^8Xd%8dI=J8|HI9Go}EuCf18bf!w@~kbN$mkQqy){Tvif3(JOaBrhNK=$X_6cGj zb(&W=i??}#4`Zze=$3m-;GP&_&eu-2+L9Nwo{PM8EFtOZjm-dYWO6R4w8N{Ouv4co zqjiVbR|9Q3_f#XdJN&|)@2KT>3M;Y6tw!gxFAgl6EPgJ+6Xg69Ydtj24o^1|1B}XJ=Ny-yo3oLc1<(9% zW2P=$+{2d_Z)^f~r|A|~xq7zdm1h`fYbwVE`hgngbGf6PXj7kU z`|%r&C@UX|#-JtKHc22NFdER}u|M2KASP!PKsIEjcLveH!G_;JGFy&Y^-tCjS`MA) z$J}MB8o)kw#E0%VUSsw6Y;8_(7%I*W2;WsgVC0UzMn+n`?q`yqoNg|L8zdD?Aw#>A z7IZ`lq&w`5DZ8sqIm9r0-S=^S>(ghcL8^FSR~a33hbb%2e*HI-7^ z?nwYd{p-RG+j>MZ!elSvD)5RZfvNL&sX^45to=lbVab~ctf4X2tf$xzTxoAW4y$#= z(pCTXfi6mTnL-zb=TX|O8eo#eZ|@OQoyd0@7tY z;rUgZ-@?VTl@Y#?K5xi{xO>>3!h+x3^psas{N%L>o3aYzQpeb7vIO3eO4l&CYu%&T zo~UkR=-^pf#M01wOiaYNgL6dg3_4Gp2{` z7rg!T8B%0Y@Q>{oqO~Kg+=-hgoBCKY_fsr&z6y~$)>#DlvdY(I+-^bO`X!S(xcKJ1 z*zEY{_eCB&L97cP%nk=z@y!YCAyM7-c}V!qUu3OYYe$Q>ufqCpjkl2hi@3Lps`}gC zwLw}^Q94Cbx`KHSI_f| z^Hv=oi*L;NnfHBN#*2iprFyla&?_~n02Vjv$;t5J>?sGfZ0CTXQ7n!+z}m`Hb8{MT z+FG%)!%mw&eFTwM(}c&Tj`l};lr&kxrp;pxs6 z9i)YJdQo;|Uii81Y&fy}+rS68jySyP*A@)cdO`!MQ}otih{TmL5_{l6J` zlGFg;l_JZtg_-ItrJ_W;Dxa@Rr?b=&O-b#mGLF%O!)q3ri&sxvP`B8w)%?;}1%R3P zQ|>Rbt@f*(w2d{RwZ4Gqtm(1_pAqxRjvndqbL<|$!n7f^HCGGtf?+9Us#wb^)eXSS zI{7b93bG|VB3i0_cN&<%G5tEldm>DQ{VP|9a^Grsxvya*~H&fwn&vJ~D^SV=c{pKUVk&eX;V+QAOBS23R& z5hNxu`3S-v`>O(?qe%)W8i$EL>LQ?%e4wzx8S63`Qr(YNW<`qqqnVxM_2VQ-+e10%v5yALu{RulH8lnDFPo9V~w;9Q_bZcYXM=v5`YpOatWd3tDrsL8RtI7j^RK5pjjt zHa1wr6G_wCdMqVr3)^qf6RmmSKD5+$`%awsOSvRT(=$zmEO2fp+PGZ82Ogi+URuN4 z@2EMsyP~LBa=Rj8N}=`uBn_3ob=B-Yf+5R|(*jDCreymP{|D=8xrZM65UmSTGTUO7PIhs6f9?N*IqEuYZ<`;}CfH1vBaYqrbjFdQMBko#TK**a?Msd?8Y`E7ET0RN7$xo zAtBHiB1{jl6IpZZRXN9!&2Dj^*~lqMrF_hr<2JItT6#y((|%SNuNH~pE6ARW_O9gB zOMD!4_rO+1kaqjGM{hnTocQ|k14JM2Uvfh5qNtwBrx|(QZy?ICS_9M7IDw+cEh!Vb zS=V^5d%D|@P~Z2<(nLzRYP7{5T>>RsNc1br%#?evH3T~TMQ+^s?VXIJ^5Sai$zjOY z&9%!1LE7JVWEkl=_ygw$q;6%(D^?vEMapOP&DDpyc(`a8!cJ|%WmhUl?34F@zVpmH zy6ZS>${>?o2FQ6oFy5%AbN6_cM@efIs-->25OL#W{V^X|#YODiN2Eo<--c>6nB1oi zSxy~t!r}DD$$!8)xp5lW)Q%CN2oE2m>!rY6dEuhcM0^q0sGaTo;CXLRARcyHyFdDM zZ?$o|yd7D1_=9*Hf(OXsO;Y4rnkxze;&NND+lUedZ`wX3CJ!j^lt?R7-Q_c;J;%aT zOG3wZ|7hQ2@i)yr*6R{|N&`V`JV>Q^2B?bb;&^a^)|NX0FDgUSU6)JHsnLz!z@XeD zVS%TAx+6?nBOm_)w_Bx3ess3VVY*;!XF1qrxP|dhE(7~gf}rg4;b-tzq@4>w=Y2WB z9e7^q;y?CIl_{bk$hXC7kn+kUm{L(NMOuL1{Bw5tQ_igsR)Q|v-iu(Md7Q3udB6GU zp=-8#%R%^I#C3UCi-3Q#!os(?+-uV`dhI({B}>;35R-3~&Dt#wYE_*NGT+&qbrXyl znD$O*AUq!@4N{&n=uT|x+VrER&%mJwBu&7Z%U54?&~NEa7ts4cwO*4QoLraOh9&CH z)9ziiVAh9)pJcBI5S5-JawYhv9%5v`2fo&qUa;KJ6jiNgEC7PS$VUaBc}22l~BP z2zI#_c_hNhx#saxRK|rMHKfRUON3y!1Iwf2MM@_v)&LyS?3?~YMNpL6wX=8tN{06M z;iATdc`({oBG~oJEnPPn%eDlb>^Zw#FE?ULs>{NV>O+<1_AO;-wf4^?vKo&3tbJ_j zbpsrmdQ2x)KKm`HD)v%E3Cz{qS)DP^h(NGinf^(99@-9a9L%)`&5@?W21SlEj8lQ= z(X>3UumMw?Nmkq!j6?M2v#YJmFlSO!#+#ek7 zemTWxhbjt%;SQ8`O&FScJGNT!Dm6Ow3QkSmy%nCl>#*Gpj7eqO7ugCSekklSPiG;? z45#Df#YT^Si_NaA6M;kLG^gFjy?xI}JGojHTN$G)4gST8;}jE#f}{o*xmaR7er_7A%GdT-(u1B6YKs` z67BU2((I`8u|uZJ%meD$Pj>&}q?Ii9HR;t3dRMehaer?Cy=G|*<;>7o)7-arSPT3v z35FYAWJvhwig;{h!?f$zAW$)p&U=rJWh3trroK5tEGjfI0#<_paf?b4=ce;W#2>mE za*ptC3eg2{_|i904|#x_gf3)O`6D~MC%M>5Erv?$Yp)%#i$D7(Uxrj!UgU$=sYaKm z3<`B@D#iA!N?zACy$XhENbolvFM=!{%9X#+cq~bU=u6=%d}%yT1ivzR4nX6M6!Ca0 zRqE1{EUpIaE@Jz0BN@W!t?ML6`G5rg@>4!AF^jnS(zhpJ`vl^C&~a>bR4_AxjTlI( zEnC3)X4g0obcfb5cC1h%fCFBvS3Aj*{e_&Ef)v+OMLghCABr(`Ta=PxW4$J zm=oNwI(KnovLG@SDzO#VVs$rdmc^n!UK-IhlH*5ipfz3b@C3j9CHykc1M{QvSe}wB z9N(q%mp4xNY zx&J2r)LnI%hWZtr+Ie6;q)C@`>|dI?_~p&f{K0Cz!7ak&B}QLkIv<$VX@Q8&A0w<@ z)Dj~`F&u{3fl4=$e1gmQX5=kdaUQqfNJI5r?RWgUtbc?NMnLKNm%fz`GcOilj-Lkz z9#6r+fwOk2Ouh9;Mg778)heAqnjUR{QSXNF)2^{ilB33IgVZtvSUVW(;q;k~`hyTSJ@ z^FQ!RDkrd)&Mr&}dk6sYCSrf(ZtzmEZZ&`Jh6u~Ms?gXhGXcvtP#Ld`=!5;3QUDC# zJN5FE_Z6zz zzPipxu1M~BX?b_45lj!hrAl^uA)8!H^)T);i%-yyM82_}_+C64npg+cp@b72Tu=!2 zsbR{fncFmnp8sma=)E{ok}f|G8b9V6|2h5#-&I3D484YYUgZ=a`MuSD7LK_sbruS+ zlVCIK!vn<_a3O?_IYMc9-zWPcjKvC-6M`ql=f@Ai5Jd6fI|}I*jc$nIMTn){@~0xi zYmloNznniQh}QY~^fZXAmBR+`rpAqM?-)OuEn$dB{GV{bg54bbzcW-f1C32N5AT=g zInEws`}50aJ-e>^5J=V#^(Z?cQKin57wQv?ziPI>gc6}6?Zt-@I~E>jL%^s7WoBv}Oq=&`dk!K^K>=reYeT!{10xxC4dtC;Z9x>1Vt8OV69pVw z`iZ`lY1)CTZ*=DTant)OSgUyET#ts<4(v>_ShJ)1MtB0@*WcyV9*7EYm536m@@}hU z3I2RK#}a)S+(@LLsbLE!ifeKQCi(eRU%5`arv%Swbu$$Ui*Gm5S8bFZ2Hk$RVCX(% z{1htna;VqJ5T7WA`Tj!4(!GY}=MBvP+EQ;G_|=X4nXc&=XuSJWYEFcdy#0H6DCW0f z;qLuahc+yxREm$T_2v>L+ya%vu8MQ@q!kAaVvPR2XPr{gll+)?B#-Y@V#OiJu^u5T z4T6-t9hYKc(LfEr(mp{+;fe_M4lbCq5%*E*Zf9{D-kf`uXz+%p|7ZEK(GmaOrI#6^ zZb>uMHkK++d`cu7hQ_++5BI3yj~+a|!6WTdMBUlL(YEt?WH80WWhmw$T9$J)A}q+m zU0j5G@F1Puu{@lsIh(VI#>rK^>;v-hd<1S3>GU@$yN2?LxR^sBf`;rp%EyF0=L0G0 zN$UXDYsW*;x^?X%?Y2^{)@cbXt2SS*QrsL7jW7W){hao|l86qBdpgLH`O)u--bKLt zB^$65m6=($)XCspr*cp%GE4gjd2e0seqLSjEq7eLPbuUd-`@MBq`gZkXg5P;_O#YUDObjNZr z%q$bfWBOTPYdt6a-ob;JYuA%z`ZyOE$L7y&o-*2bM|K&Kiwbo34CuNHIgP25V!Sw` zf_k*lrL0!`EiXWoLKzJYovCvCUhoSiIChm-#lumwxTjOtG5ur;ImX!4-0t|g-Ky!r z@AMd(RUCz|tMXc<5Fo;mz+5q zG0nsX@iJFIn839ud=6>vOHG2=>FKfP%crV0H}T_jAMg5nP|ICi^z3gTWTG2;!S7~4 zVxEf$w6>qSnAbJ|4cZ25C|8n+f!lRyHh2OgL?17s`x^#B77^Q%1#UjO z*b$B8&~Osrwn%yI4aW=TgzE6VXi4?2gPk5$Q8ZBwtDtdo3|So^Q+!c!ekl=Os1YKG zt7|FuB~(vWl+Jf30pugC@gG+ywk@>;8g+vDxdxndI)G5@2Bi=;sgW{vzdGU07I3Q78CV3q?&87!BZ2*&`1_}HlmB8l{=bXA zZ)FfNT!8A^Lr_fs#T^FT|#XMZ_&Wh2%!kwyBb z9>D}sfr(FVC1Op_L8t1LR?u@>bonn5a)AqBi^ignIS0ratStI@F=oocCHl>*U!SVo z%GmlI{O9XGI($$njoo)dB0X$AqcPUO7M#Rx*!0GHFqs)lVd6mkxf|+-^B(vcc+YAt z4*z!GD_gM3l-icx;?1^;Q-M1daWO&_9{=65ln^tc!6Zg zE%~so?L&BRpQy{)FV&kx)!U@6ezUh4h`8T65ohxIr!NB_r-e244Zf>i2&m2@^At1n z;|dk+f1Q227PI@PnsOKd#Gp!}1u9HDCclS=0{v2%6uvwLvHGufANHz%${`2hpP$P+ zAhZGNenTW!L>XceQ9RP1lZ+LC{Fzu90f(rdnc?>s#AseMx~u8b91~LxFM3Ajr%eNl zVgA1@E^~E3G?MNz^3haJXKQz3Zm$^-PB+_~al52XF$ zjDRr^?+bveJKE*9(s3%)29OpXJ4th1>t$?LAOIR2R?2PlCr9fX@nC4DoCOsZQ1iPy z{|kO3-WFB2 z>QVr(*f6~TVSJ~O^tdN#)?TQcl=JgTYqZWp%6_Lj`GKMLhw%r8{pUN`(u>L`|GOdyJ0)czvWlED)6rP)gj!!9Uje3r8PD@;~-Hy3il z*^^<4d)|xHP4I_W+a8atLB)?>>AoG7nLl=PW^;p5t~}x6cRSi5H%(?@kH78;{?o#2 zj&6G#7|-da+XD<4{i)COaPs8$ExMu%UR5g--uB}`1xyK)oEvHwbjyrl^&8y{LZtO- z?Q7W?%fRiTbmgAm=2b^co#=7Ysb*Im+6Zd}S;dYaM6AT^4-dq?VA%cUkLyyDeV}MX zwe7U7f3k?$IzTnNO5{WusAmf29}&|DKL)?lKkI=`ar=g1`|1DwTu_S(el0>TYn{*n zvVX}0y*kb0eH+tkMttvq&X>UK>^pa#;dbB0d@$Yjxk8$T9m|Z>r)RH_sIv2iy6Df676bHH5YVyL;0*(iW{3?DAKZoGt@+oeYnSRbC2wTuJyFYH&CD)q z{Z#C%H~P=5=C|GgHfLzm%ayJ3D1PfdQik63^-U*hqOZzj1gu7y64VikIdGc>y6vs; zQZ`Ux9XT=Wj2LTeSHq>s5chd!;VC=(AHK_{jT`B^_^In+FDxHEAR~LSu#m!R)_Zlp zN<)V6u24N=rr`zuv*X#rMYFcwPH_^=g>F{*K|w)O-=&wjN6=Dx8t%Ba;2QkoRu@hrDB(fVmDXk5V1(2#A^P|IdwtMLphjT8g ze+lW(%^^ppr|zPTq>Bd`()g@dza)r46arWAl>X-za|n8nwZHEO4%DF6b&j#>Iav~Z z-d^=)_+Dr8wHZJ`{?Bzj;%)oC+h3O+o*M>J|NXl~(AxXwk^6tG81{dwkoJH2zN{ZQ zjQlbmFE1}w_)a4Z;n9*k32e~&w6q+c0hI)RnaY#)2H^dZKEaU%lID;ktJknN08Uj@ zRQ!~umiCTStK=EtY>P$i%Yz#G|H6nD6WG!7z{|cjJ36de@@A);^K)O<({R;PF++es zDlWyqz%U!!xwub4!T_k2iCY3cHxCtdyJK??rL+A1u6uMftVm$S$wytk02i{2fy{q; zZ^w)A>;_W+V_VqDL`+P)IamMn8fx<6moBo=SHe907A%LsPx?ePF*}=Ko~}3nWVN_d z64}23!Olj70-@FU=`2FP4(l#iO#P90@1TL+N|)Rb;NibIn_N7tg#L$z29~NUJ?MEc zF`Cbv{)S4F>YaIQF2L=2GDMT!_a**|jzI4_tn#Wrm1TV>BMD4xw%zxn$b~UI02?=- zBXKThcWxflb`cIj4LoXkSqliOVO;dG!c5jD&E97ZG&D30PMTTCxeO})=Xcb>86mCx3XP1*{5QWe)sis0|A2I`I+c+1 zlSnFP_UuIQm|}zL-V<^z{XceSLEn-f*2RchyO^(tN!6dy$rrU*jfa(-k+A?Hqm&_%u*UpItgRvbpF8UIvv{mAZMue?LIs zs&V`k7%0_azrzKAHcjOJQ-QouQzBx>SB#Ze*qD0>{wu#q@A+;|2`|qDyM!#an`EBd zBnX)e8?zoR#X$N=#xL!9)h@%W1*Dw;6r3ghOIGedjy-|$?^N}RB2%v44gRMK{o+Od zY&1B)2^p{5<>M4Fv!-}1h`I%L2;fk4gBHSSLgFqBw*L;Tq`!ml-cf3XCd zvFJ~xYCT}*S64t?-p5t@DPx%s(dttUJV$##AQ@%x(PafVP|GVT7>&luO??Ps{_~W* zhfHFgy;YfmX0I$X?V#Fr;V_9^4^?#RTiW=(=Pw5%BO|Zh%%tA95r{Fjy|uXMM)A4$ zW3>#uE`k(_bp@Co{mpdiqc}y+50xtV?j}ETbwd5Um8qYmYw4e#X~YlwT7hTT0Nnig z*aQGCBWPR2*-Xq4BPKq!eQP_H`Eb|z)^_gUbwo(X@7aPutPoCS^ zI0)&<291w?Ka2AWEhpZ5B%<#B?>C8!e2f!wxH7tPZP|;nuyiP42BtRMYfj0jNh>sk?+p>-v+Ex|u7*xo$jqNAgm$mbdU z@GIa3I&;!buws-(C%!noJCHIlm?>U(1K6Poosn1iU79lZ1#DWr0-kTGEbnEk5^nES z+f3?;xO*GaD(vH41)Pl6jIM_mg4g>$_wWkz{p~Vget^5oy^2{^kHD-yd8FZqaSS_V zXqlwKRk>Zzd+<>3s0<85>xpOing?)a4b1;sD$H^fRZ@VHCn=%h2PAd2pNZ(CzdT^6 zQqh$;4avS&WAR^Gz_W|TK4|~-nxkOXHW-R5uf1=H&yO7z#BKpv+pqpv8YtWMNc`6z za1R+^{Qtv#`v3Gc{(tl5|9X?F|NEmo)*QdS&en&L8v8wjUr&9Ruy}Etr#yl7>izq? z^Gm}7knL9~H<1IoLI)+V2XiY{G&0IYW$~EGBeS{Vvu+%DSR`zPk+=KfOI>x*Y0m0Tp&c_nFjx*je%`Qg(iT+_xFOo%95XT8HX#se#KjG z6yy4X*28_uPeL)c?c2)5{W?Q!@=gphS~{y(_RZJzbEmN03|!iQk@& ziaYM5xu@gB`%7l|Fi6F7sZdQH9#mdlPtMo6B3G)RmsEgp<9*0H`_O!LVi#tdC^G9-6aPftGD+_x6zvl9N8z z8si?qAb!35W!eNo6_@?q2u!vDGbV}xQYRmck`ZyW1kj(-Bmo<(-k;-azX9hI^bHGO zcSgS=zLb`#W}Uk2a7`YsTnJ6P^z;n%l{77&k@RnC2&D@P#=`GDT=Y+voT;tk^x_9b z`lpR&w$VpYeIK8;mcrO$K_y!o5?id`1r^&d&A}R7H;WAaC*ov>lf%%ur1(2s68Jn%!OqVgQ7#7-O%fH`<}`3=m0XO%$%8n=+ceG6_inY0wY(Kvz*= z-2SAT;%2{N=V+*_H!GlIg3BI|dq>aEQWJ(U_#g$UDV#XOG;zR*u5!9FU2J2TnvaWNJaL1HWT^>`}@Ns957^! zOePyd{d8~ssVOX(p-??DE-qi$QVa8|odlO*-Qy485AFkwh(Q?AVX98af$E7yDl4eT ze_yAue?>E1nd{x;1ut+fb8|fcw4W`G93x`3G zr#_TN9iGqqwj$zrBt*NZgJt-jX+PXxR!50bO>lDOm0d9JvmcMGbn!pgs=iEVC*K4p zX2oe|o`FwxfS|6)34#8a*DR#Ul8uMR!_U{e8tmsGmz1&>*@G=LM0S!x-K2+65WkVP zD?2GJx(G0fRNSvdGYjYM>Oxh1s9G7y;#wH;XEpU>WYPfSqzH~HeycHx^_EvD@6&}m z14h2dy+8Py&ujAA^7iyLp0{__HYL#IPS!w?ya56A>5mDGX^X5_)2`_4?W};yw@s1P z4_WmU`v^}$jjkpkeoq(u`D6h*FmCCHjALm3f-L(}(*MB-vM?U|iH~3m5Cncv@S~ zG5&n%*WkbqL;_wt9f{vZ#&Oy4{p^lzDRtzb^fq~Vk}!E$MkP#o&FgP$uk50v&jig6 z!{$`Ou5{#l`3GkO4-S17g{W)QM-gc{4h{&tQ%aNRc4XGFHG(A@7^j#4mzr8-% zh)Hxs4SJ=A4??Nye#%zT%ptFE2T>C#Sp(-1Oo~I`xcA%o4ycv$XIw<`x}4Fty`QXS z*ll|!7=TTP;`e(Jo~QJXl;GlMm=;Ojhc+LM682R1$k}K)$Gw;sFHb3!F!p*+PG@B{ za`OHB%Yga~a?Y-jkBU5|UgkqMrL>dROz&qdi+KOmhR>M%a6EOLiNu{>?JR{p(itsG zOiwZCrSB`aaeI4skvHzgG3E67)BraTzqUPpDB6MPbmC5Zak0^% znNrbqtAv_)%B-mC^A~z^=}mOjd3-W@OpK6D7Pi?TObR!5CI2a3gWw2f_7t{er%YjW z{?P~*7b{`xrjIE*Q~=<=!XBu`xW!^oq)4JgXaOu-@ssUDTvG6>u@c06~>V`Gc;Mj zd2hPHD-B!8(Dwif`E9BcA=QkB;hW;KzMJX&^~5`DGJM-1!gDzITNM3E@_z?i)Sm{rxY}f(Ng9gYfR}X~R zERQ&CQ3)OKe zxu1e&wBlm7h9o#o4M4tq?zkVbH#WqzrjniOE5eGfH&~41a5%cY&95&+{1LGKJMya3 zVG(utp-`_@NPr6xL0Kwf^S#S$d!i2$e%%T^pp=UFuCiVmN&UINiaIr8&yqj-=*08SHy~fVk(aYD9i;l=P zU-)Y-KI8jCXrE}e-Ac(9JsDYnrPbx))~w7rxA9QG9_0vyU(2JQy!N99&lQ$t!Rz7Y z;7bj#s|qjXYH@M>+U7mC!NeU(J@Z9g$J?xX>ChoY=VKNDp9I8sc@#J<2Er;~qNkdB zi`0|nlzjd%=3M;aHX)T&f0N6*kSk-JrQuOKLiROah)|s6qu=hdYgpl#QsQ!!ymnzi zZ1$&8fvedI@jm^gD>@^l-i2Iy@*6&!c5|#TYatu%tAO+yF3g&!7QZrOKBn3mw7|&H z5_6<2*8U;0BY@`?%|KZ4qps#Jm5pKH+{Nv?pkz=l-pO~7x@E-6YG|A%J%Jvo!cZ0o z+dV(%uCjuYO*cAZy&u@hMJTi|^YU(?>McA58!zpbei98hJDwq!gs=3-(*`{ynCg#K zCNAZhb5RE(jO&)ZB;gy@bNhzP)Qm6+p{1y7w&CG?askD${<@1!(=8Fmh35eloQjbu zus4>cdZA8>E3wBI4QKxA!ufLi95)Iv&k${Yv)2FG`P%w>sQe47maX3TD}&Evw)3%# z&QFC41o{UngLvJ?A6~c(act`I6+Y-sRVOkeN?dy#Z5@+i(L6`xYJIZm6lSnFti17e z7q@vCXJs=fz#cHlYgdw;#)xsHkkCa9-sy-d{srMRfg7Jg^8uO)gh@=3&`kukEt*vu z21&Oya@=V;fJM7ue30ciUw&+@c}8La4k9a8A+ib7fsB!_Qu3XRxh^)=kDMlEo!_nD z_M%0J4=OJ16bt3Kb^M|#^Y$6soFWraeBHO%#V;JnpVJRPu7%pV4$HCYb-p>&N9R(? znvnhZ;2;}q8;xZ(^^)-U99Fj)9RhWS=8*|+OOC5jcA$r7Mg%5XKayE8D7}z zcJ)Ejp?Bk9(utUKCN@WXww2&f=rv>Z+J;6&(Q%iSyljM-a48$vA@3G%Lj2%YLyVy3 zk!M2e@M5@T>q($b#omU&fS!zA>@=_^4h@vYe%inTdKc9N(?`bwr~t5`RRMDY=tn@L=>TOFAp>*YdVu^vrka5jzOQM`_Kr5kU4vLOXfDq8~I_&rOW#ojWG$&cY}7O=dyETxU|3y>lRAbu~#>4~ z44ktLKKup-f!L{I6MES&g4zgb(U%a@07B{}qv-~>M(D>#YQaquU>;k6e=FK0>2ev7 zZ`M}>GOabb4X~?BGgQ-u1{yDi8{Mb#3!%uRW>Jrw(W*!a31xb~a2Y$%J{|i8VZXVq z)Pv;O?w5U-G{0c-qcud(q`7Qrs?_-btAek!hTQSpU&2(`KYlaBg%&w@ve&X3XRiE7l21* zETSsNPXf+{;DS;(0ETsPM_tYcQqXSnQO$KZ-8wOy`Aj4=l}ckxsSR|X$&`N0`>N^r zPbQ1?4$#;=_SFTzwe6YYlL13dmYVBbV=oYl<>({~bW@r;dSDht_u2SRzW5Q%b1++R`z$y11-Ue{Y$<*ib|~Svq-i@%EyREO zn&BCi=r&5>xCqF2=K*LqHM(Wf+g13Y%7 zlSJ#3i*n&2-q9R+Jt$!|EtHkl?s(KKqqojab@r&ENgY1dx$d`8nAPFGHei!bPk1`s zDSX?`aTBi*1?i3Uq0(Ga=9Pav4iN&2h>g@xeg?#vM8D~i6$e72l%k`F@iXi^(yPzW zMW%JElI&d;1F9ijYB#58l$TTpq3w}h)Uz%_83^o>(LiU#?nMQyfNh$5(ylV`u9u7E zP_({zaRpi)`x=g7n3y@<-SDdGrtO0KtqqLCN+B7y`78Xv4UAI=LB$)siCu|+n+E4U zLQ}xOR#yvwCkK{j-zxoaAj*BON$i z*oj{tvi9aQ)Smd+-v#_3T?vSnQkHCJ`H+33h7LA|1bt=8;9v1tb}sejCiSGgLw{{{ zV5_chhu=b7reoqheJ4|g++)Yc0-FY+e&;f^uR8KmU2K3eBD)t5)^gxK>oI$u@?r7z zHq`}ek3MI+|2Pd%yKbK{n}|0Wd7O69dh?7p9)BtMSt$|U9;}Nj>NBsx0=n7pHF+4j z%Gtu`WZ>~6y@%q_8ty2+uUG#C?qtL+*BsH9sp*YpsaI5M%@}$jm3(FtgwShA%rU`V z!3^A;e&2B_#cYSz#yUw+iFcV!^%gRGMAS2;S_eigTfA%sFh0}%zNS~ zbY5MiAT3g*BW#5IjQ9Fn|NzQk8&em4Jax=~CejXETJt_Ynnp z4%gwkX!|x4*n!u!$K;nbH2%wdKn_|HB@%!Nej%r@ZOgtriOeTv$0sBlw|{oJkN>#g zE2Yr#%r!kM9#kT^PRRwO@Tse`xpUGI?Jn)=U9KO=g?Df7LJ|OiXM?Me1LCEV#Doay zbSiJYFx+`s9V>r5N=`wMr&f8Ok~M92$IE`Ur23Y30(lxQx=L8%wxyU-sA5A0pni|Q zLE3~~p#^qU?_ z%TLeBqDD@>DK587F!NaL9n0e&#YA+Yw`IV1rTQcu@5Ek)T!=WgB%*hCGHUCt0h7tL zq}knKp=;u2`0*)tSsB+CM>ZZ3t}dyaeukf&9eSsp#;;L0yS%46`#v47BDVfbk4Xb2ipyXddtOtD@lx*k|0 zqVdcFg`HwssR6HVB!g|nQL}uUhxSL_lO3&Xh#lkH2$mR zdk0E0DOtSMKg4^2gYLc0UOjTYMUM8#3L>`%=2j5uD<9__HDhf!sPJX|IDY7+j%K#4 z!*$F1`%15^Zx;VV+VCA*gM99^1kpp!!jTeVM89}0ocZEXLGj1jCMo~yyLY8;%4e^_ z@44yh$}H-|@uq3aN3pSYdS!Ukh*sG9 z=m*-5H^RB^%iLdvGznrb<@y*r!6_~pzK>n(Z~buSLE*_L+iInCeX7A=g*o?NQWei; z7fW!7-hoqXzg-{Z=Ad0XU$T{qSGK;U#IvXIlOOb!4{8`HKJ3N}_R6Ou5BK764AxMY zttwsw8_p0Cf*bG^ZsqyIeWju+=}bp!Mx-J!-FMkPcny*>&QFn1yv4|ANE; z(bKpvJ*1BHX>nWWGA!UJY{;)npvMt6>$RE{F(A{jKkX{IFP7$K>c22B!# z(mZ5wz6nm!+@qt1u;)fn*8;F8g&Flx7lBt-#Ivi@y=XtKhNnyTG|+fCstZC~fKn)BtPkz}S()mi%Uey3Z^F)H>}L&z@6ER0<*9Do zquxQs>u|B$9}G`q^8JXsvn)q#2#Igt-|sx5kT2=eWg$QD_o+r&cwqmg4sJ zdCiZNhwIZH)Ja>N%HZ#sf1o}GaCPOi{y_}18k#l6>ew*V!EN61``*nF#03gnkv}e^ zhFeedl}-OVwLf$uVr0PFOUEeL63dyppngDa5#T}hbT-XNO6Tb*l@%Lwo4)geXBqK3 z0s%`T<7$3(OFpC2UEG_HZGO|5lC zEAy&;B)=s?)N>Ga(kCWD=*H}oKi|7&H6n%9nLh2w%WxXx`-d}AsgZlSFX4GLcEu^R z*POSAW}|IFAA-3y;yP!R8auYrhm^JL8HQ^vABJ2HBY>nAZ0-z{39p9O`$uM;CRW*F z?%iq6T`_!rjA52C&US(!Ek8y*?$SM1qCvTxEAZ)!|8M`4`qc*am$I36WSFXV299a! z9y~fx_EITPbqdMc%UgU&S&zZD{6YSO%6!~H&pQjzL2L=`dC7a?_4*KW1E~Nng8iny zX9>i9~)Czsf|$ssZi=Sn`03u;wf^eJs5pc0d!$B;xRO3?j*1pKHD z<3Zz=f`7|e>&uqL$kVAT5b>8Wsdw?6(*~q1g-ejdsPS(l7wrZTW>o5_{CZS5qT_1c ze=f$0Qm73Je`S(PqDJ%GGo}`!GF;V^)$r9CIAqGDuxUPs`b4+dx;HAL5uDDeh&&+* zR<`_nJPDz8ZEl31-BXqBOV+Kn=}g3+!@xfM8bu44^kc^Mf7w-s_k=I&8J_~U@*_e* z7~<^uzJ^vTKE*zL(MQ3TY}q&N6?9^x7gl#6B`zES$+gp)G46bX8N#RI(CwHT{Z2Ja z$Zn$5yXbAv{YK6ojvP`g_c$hF$Y(|T5y(BF5D10j&Z!+t*h+p|Fpqk@F&DVl1{izM zL+(o2;(jx2N+G^FjV*{HhTi6}lKkL${q8-R<75{i3{$UIPCL32Nn(TY~!Yh2Ga> z8!Z{;NuK=+X*9FhQ`!pCF7+Q;rBSo39V?giF(f6Z3FddsnYk4F7Xzu!SGQrMo9EmG zqxIsZ_NYi|Z&E;YXO6bRr_~xQP-dC8UXNS!PKdJ$$sCvJK1BM1p-~-wP0&5eyXk6A z5eb|H)oLN53p4kB`$ky3)$Eex)mxovtH920G8Ea$314&`Bpb{AiS{Q<&5!G#m9%1iU3`bBC0NCjNGmD|dB? za>kQ)>jOnvr8a9Y+-AQB-bGs#P`2D9b)SZwKUKi zJ5z-wziWQtF^c#e5hIZ|SwpvzGd`LMHCw5_LmV|E|Kf%agh-b0yYvhiE!jfvwJYG6 zPqdKZ5uim*TFxLW3!W-)@|A!4 z`KvF~_QJ0FW&R_|>{?w4XheLm3=ES%OLi-0^*tIOAY^^WqN{xr)x?PCrtbZ55nj3x z*nNKgPuWY1jB3IV)E)mE-%<;Q3_tAs4^AK^+aR7=4DX~jIJEsh?PjsySjUP8ZDB~k z4PCl!N%G4h=XmF@hiVk`>5BX*y1!aK9jqj#*c8CJO_4)xqF|Q_U{i%)h>J znK7q1vLCktzn=#?l)mWsJM-{PB|c;GIXj1TnWFdER#7n%ZLz}A9S(lhcRwxX``W+u z)}a`_dyWVzXySMpExGrru9tv=Fl7>b7bR(7>omRp;cvKq_8xE? ziQ_*6NCocE>mv!Be~&NHdeo&>jrX-O8j~b55`igYC^X*1is#eoK2>=EN!YB6Qo0 z0v%^|o4(|2GDB;X)fn04zW4eRtQdFd8_@u#N)HQ97NOSttJ)_ylO^Xlbqq^($c+d?o-vvid2e{(3 zACUY?w%H*K!tPK0sME_$s_jc+WNE-yG`L{oW1k1f~r%N>Gpd%GA;IrNUMDL1HsY}MD5TF(=5g;4LU zI)OHD1S@GFnX0Nu%#GWP#y8A`Y_{D7NNaS;;00ng9gNRC_}B$wEQ!+hSiur-BaLt} zZ|v;p>bqg&_NRJD(!sBLof6!_LidnD%+CWc&&S;_k9(+SJTLMmUNz4gjaDi+uxRb+ zAmt`%8iV;ZzAhG>`5g9?-Fx-J#La3Zul{{s>e~hX!Xm-;E-pjAtCLtoxOu*PhWxAg zSA-dD?k$1-BJL#6{S$EZ-o@4?BDR0sPVBRtWG418fcFK=b^N;_I57}afmg8kWP;g;+DO?cH@xN(k znpU!SjNTs_R`S505n8lqH(SsgHF7lCH{j+spet~jTM_9a*}|2E>UMgQLemohO46$Y z?McE2L9pwN#cBo#5Yfcn!8)`e!CytQ{2WT%6N>Ww{b@zw30TuMugJQRO>usQ&AT8dVQNu6_B?-uz+`I7i>| zXM~D;K{T~kIJ5*pFI5hXs;L#nS*yX6(xs0Q)BnJ%!M*s>yTru33MJn>>%Prq(2$3U zF6TO2?JF9hZS|R{vg5cV(gWj7{kS;VWN;?JP3TZq|0uL6ry5UpZz@_AQ@Bt*f`avC zXQp^lPJ##8HEbMmtmUq-4d`T~jVMq+FQ1)t*d!E`P#FI?k?67xv?O94j2U&ACQYO( z=x!l8Az)A{kqo7WhZ=Q0;Un4O)S6_&j0B^?qIsWz10$N&Uy2~_5`EMnF{1l^=1-|> zrwC^3J=czEI&|iUgTGt1@8c=R*`CApgIH z2#wQ;M;Gm0o&XOw=~CvrPqi%-ML^fEc&Sfx?MXu{cqZ6BLdf-Q?}~0G%hnBoaP^h}`?eqU4?=8ckT-&#Ar4f))I;CUikOqU45EO(VrKMXMML?w+q#L9g zhE~a;8-`N4r5m1e)^e@;e*W*L_tU$*&$B+UZEIUFYi6$NI?nyr_ut+kwMO#c=(I&K zwuj=as_myU>pJAgkjP`(@yB&zRXkPat=`^Gdrdr9dE2kFOX|+Kj(HL~osX%z?)R3& zw~Ga*2eavTG>FQT>NVMVsfyH2^?+mC%MceOig`H}s>nxIZksoPsXdI`Qt>bSahfPs zA{#nFeR3i(vwPN1)!A#!x12Bb-0QtGEum~lRcGgQJC)-Jk42k&!(n^14<2(QyzdZ7 z_&mq*_}TOj5q4XUN6t*coQQh0yzE(>w&Zrr%eSqz1$-NRVeW^K&*QMSU!(8D)N{yd z+~m41e^2YT{L(|=;v~kZ9w;!dYfs_Rs~I@;bFk@m6S{fz(NI?$y5OMy2?=$b9MH0~ zWgB(rT;qhGSQ{BGgZth-FbK_C$)cw|efTuQ)A!>bd9U|B9BEAG#b$JPJR3-x;*S;Z z1h=o}7rhU|{#tA1c-nQw5x#$EH`;9kk6l;Cm|@yhcap5z*MhQ z6)^hUP##o)&ZSIeyP8zN$i@t!{jnR&CEI+>2VZh)id`df_E~|DC z4B?f@$ucma^C>sd>y@lnsF%A+$!3)p%{b5|+~vatU>xDU$V$Y+fPx98#L+BqxuI&@ znRS$9EEGWt!uQg#S+-`M_IQpHUt!gxZ&GxyE0$C-R`>P^(6<_kNxyxB79^+eHv1_Q ztNwsj=8MD3X^mU;T%6dt>Kk&A{f%0dr3!<(nh%bq`#J^%U{8FvMEQwovk5*O;S~ae zP8=?qAO@zRzZ{)rnn{iQS~qU!i-H-;#P8*w94;B( z`gDE3gP5BvCkBc8=IQnwhc+@s&{Y;!V&~%EsR`@6-7@+h#lmtjZ{R|``J2GiuD$JwrQcp|mtuy^?m_6rKsv(gF`H}qt)fPo~ zJmN1$^y`2(z=-cnF7YM=bZpMT#-dpsK755-&g)y8N9B@R+98fzv>RNTp2*2TYaMOj zE0F!GkVN1nlkEoQOPBSmTGu{N%h9sLDvzAvWC^En*x??c`heCQtX|xkt|%SP56Si7 zqF64iV!4ip4On%Owi4QD9OF=oP43{2^it;TsHg+U%eklP!HAw1Z z!EjMP2<5!0bQ!p~EjVI2mphIqk@G|%zh^2)g+7j_-^Ob861V>ta^{u%L{@fV|CG+Y z=Jj&gc{3Iaa6z`sqDk zxXUk^FP+Xk`ZlVG?%&UW|M4QPbw_jFW<)c*J~I!0`}VCo@M$ic+*dLk+n8TI;LT$6 zJhld57&+!=37j%AGBAnvTmU~D4-%;DHS+FMBwUxE4Oa32K%B*>%K1DHbG40APP&Pz zg}Fw8YPz1?meLsDq=(kJ_D-C9O%``hPn*cs)`Kq?JxX}MaU8Kd~U38yep4ER_V$^+1c|_YHcxtXo1#n_FQJ2KRbT6`9jfkcZv(7 zab3vl-#J^3=%k6%n4johNokenMhRMJdfQGnn5QAdMS=YJ7b5|ebOv2%+mp*(V*5i^ zvnS5>>nq$fF|u7Pdlq1rwFU^`TH%8bKGYcc<6zTQwcso=tJ(w$U79RkgyGFJdqd$_ zwkd%y37YCR%wJhnqtrLG~xs7pUVzNJ$^crMu6&|t-9Q+!@}&f_5E zq09X=-FhblVAno6i~N4l@bK?jGT~4()8FZz{ZWnfLy?XZ_mh+p6F{6Ue}`SQvDdwk z1&JEYR$w6KGl>9=q#dqDJ;@@KOCaYO|9#%qCITG2KY=CcJvN;upxu^5Qc`^8bfJqMEvRcJ`!dvI`27R>RfqU^qn}a^lB?l9JsvE zo)E`!Z**j0CeTcm_UTR-Qc6SZ@S=EVU$%n@@!u!Ac%;v(KN``N*7XfNxClDuwl#@O zE^1Qur(xU24(HQbJZL!F~Q&%okr@$Uu|94Mhc*i7b}9 zKi23wGCvMH{Nf|s6c`Ab_xLAoK$8N(CWDTvq5agxc_nh`c@r13@?cTwY*yJFool&C zM%=NUD6#6fy@FxaI3yEyQ}Zg`>h}srs;wRLi|LsTWxDUTPYzX>tPj9^dsocn?_dz{ zd=c3c(=K;R3~L%~xO{`rGu3|fhMV|%feIry|Ha&tmAZ! z*$qJs=L_1@?Y!g1-COs@>Di!_GE7LCRg_l3~;x#N&d-bcnC!0;84PBm6IeD zm{rNSL7soa5Y^DE5>#LGa6k|uxR;aPA3nqq2Ra$F}sza>BH!Mz!_E^RDPLgxt=C4ClRR1_E?UMH{L9NGsdpIvYxQt zWQ3PM&m&}a%?Wz50+2!9_>7lCI?rzR&{USzzaLlgt70~3WclaaaE`LUWkjd7aPTzO5Tx54|f&GhE_Z)002MP~~|aX6}6e)OS>aF1~W z_Vh}og3wSga@gz{>tc0~V1hZ$+2ux|9cZzh$d)}41%YtL+1mvI*QX4BW(%q4rCUT8 zU+3zKqKgbpw5-c8+8A-eW^$BR5(V5FYwBc9^8Pz%Hl)dO91f)B4KkS;q7g^*U72_h zG#P7ivd7aPhL_J@*%nufSPly=_li<_;Vd9aSljGTp$E7Q9?rW={Jsg0=4P#&C!g|` z#-Qt0R6!kFcrYC>qO3DSY|z0HUvAAtdib8d{#Q3hwgFbK70Oc zD%{@C5(9q>{I?53ApQ;7d~1)Wc?XsIYGMad#C#n0ewljPx<*#G9rub@f)OZ1#QN&I zrC7;09bKj89`93st~YC6SFm7Tj2danY}P+Gcn|il^64u0=CYJ72Pul8FZ4bL% z&zwz?JZ9!!3*>u3$3-tb;;Fc!%R9RY((dGWNfaGW*xU6e$b}D4tXMQ9Og1pWkg={_(^%+9GbWTr$EVwe6 zGv%2OX0+tng$PdQagrpr@fNq|ae`ko`P)Ym(!H9bv}m=x+DkmS#3-g+v@~GT59th} zneYQ2zRNFXJ10yOHNWxKiF_SsHD&WDVy^9oF_my?Z>hnc5?hOIG*&rh%0JohOcqsS z0CEB5w5me!Oy(BYIOBr@tV8g|gjHsx-)%Em4uhW}-eJKB50c)&Co0z(VrR3gl^=89xz7fCWBW?a*p+s z`BA+D!r1^+IqG{>XN?v;*P`8RnUFhppV$X;_0$;7c9;>xgr|9yBujRlD!c81uwm#S z1MOQWopt0?QN^=Al)V>>gq`4xHy-Oi@g7WlySP5zv;(q7xq!{E?tw`zD*tTadTXye z){LPZFd)I<+|^<;dO()&9NtDlaW|hM5PquJS?f;oA zETr0^UEDi7OV`@srRE(8r6V3DBq7OtN7C3L8@jQ7bu#~>e}{yYKjM9fSDtEGIoH$R zjA4+{HNgupOiOUVvwZAsIPIA|K!Y)P?YzVyYJ~t~w<;!5*ik4szo?36st>H{&}(;g zvOJK-P`Jho?Onxy6fGMB+MKNi9~`^8{E1E#;8T_=2joPsy6TU6`AwIu^m!Ml>9MLn zrv6I{VcOj>uSs^GoHbq@L(A6%8!l2ryfw|^9-n1U{d*LM`S#xDX*U)!3@Oxs_bB2) zR<)9uv}rXH!G=ne5i zID>GopEMdwlF390i^AyQ14ekO7x!>#1VBNZR@q*Ct}&c$GB4FVYI>vRL^~Yr%^mEINglug*zlo+371g=C+yT1Bhh|yWo@n!-)LnoHh(XRDNzB=2z;q8c&uWP<@X;c5@L{m^c$&BF({@Zr}7zdnn(Tt4h?`XCCNgj+N9@M5PU2ZP77^6o!a-SbzVwoklIm6RgbIm#MlXXr zCM(TL!5Mu7_5|Rby3ge~v+;x{fd(w0vK?Uf6*(6#`{b5D(*VjN| zDykSKDJUoi*{XwjzlKY{k@4b$7Fj|KjgJrm>|Qp|%p>hpalW>RjMauxj4h?OH7K6l z8Cb9QfQ26(u?r}di=C>k;u&WF&ni)J+bR#D;B#gA$y%r%$Fa9LHSM128`v}ai$)|! z0SU5rmLl|ATtcE)DNPqyLciQ{#a>!%Xa0wS5z{ChNLe&M43q_V?Mjd0dmNfCR8mDD zpr+y;;H`{TKLD>II!V|LI5-k>?0-H|ubHWYQRz+p#<}??G)FmB6vd&Xf(-v!BVc+$ z)-&0{4gk0ni;m+nda}rjz3J^;+5>#POa|9pQ6LvQOB)B#ISjtXt^aHoWHP{l6wr|P z5`i--vf1TVB3H^i&KGL)v_wP?keRlxFH65(Jkc31zEGkNC@S3q$PO0tJ4@lS!gS%D z$2-wcOiDj2ube>YC?4_GL2+-91y0MM)vkc^o*Tr{*k}sG{|bZsNm6aiyGaY#%sl|D z9kGd0y^+A@+YN^PWe_x@C=zqnj{yWkWguM@l-|}00;QydrB2H|Iq+MZ(!a4F5hZ#} zxfiT2VcFL6HIF$vq++&L)52q=Zge4_k@NGx-08-8w!Cli9@#_Pvi}Qvo+J@2vHV&!y)ObAx2i)FLhNhAld;`x~wAaJmV2ADLc$eF2-( z^jZ!Qm2$W=Nfv+@95=XD_u7rdHmoMNk=WsB(%k^avQSS$Og114oUF2^Je&hf!%O?I z9DJA2kx|@s`rTHed63cD8&gGcF(=lGUSIx>dA%4Y2#^H?QHd z)Pu6NhurBZv#UqGOH9oJAB#`>IlPWb3|efHSO3jGT1}bu#B`tc*HMk__E8E8wmf86 zIGNYnaJP-i@TPd)e->&*utB+Or2iNsl5_RG$8q22x$aCdJ^f5FWEBNTro@(z+J+C3 zNMcHPNkKOSp*2M?+=Rg_?yAID8D&d2SxIgj0!p z-87?|xDR&!6U4|XaL8AwqFUNxqu@2g)+@W2m;|8Pn~Z%G90pb)h4`Ioyirhun=N;u zKTVNqoHwzYXr3A;LyI4&*8tpy;CVlkL_gy-Ui9)Ym^4)ET5qmBvr0}*P9|FKT?_vd zf!QsXk#=t14AC`pTaDz#B3WffnKF(`+jdseN4xU8>zzNQDLk%toGEj$ej#@bFyST* zL%YY0d5(jz_s6v6--z~BJxkfonMI>G+)@0>?g(Xb`?0yAiV!DlmQPM)h< zTq#wIRg4l-wOush3F5qVDbR&EYlq(s!lxeJ?>A~v5cnAgpo|0ZvWsRg5Q%|F9WdL& zS8S%2*V;)91}O)8yfJ$~cGV@N(&LfZ;(8uj{v3CGS;W})Y4H7_lLR#tphyf0Fl>Wv zZqia*a_8A{W0ob3MdtbEv)_O)VzS^Tv%gh2U~vV3o+sf_zKIF@Es9@iOgBx-?ytbJ;5Laz zROIA2#>0o}v#NGGfc2Movo;)o8u=xXA-4uZUsP2pe1LYb}Nb zJVxxMs~m#2W@}XkwB02A&0t&g9^epRuQ0H8N481Wc2o_>o|*3mvJo^rBU9!-G`&{G zx{33U5*!f$86D6YMs3Y!VaEf3zANYPF`JaRo#j)%Orxz0E<0Z zK+lYVFy^VS_=Up<0*fzFb{RgBl){#biF~v8oJrOvHs7oe2M3)2QdV?BDSQG_n8-@q z3E_|%kUz>>xjDL9YN=KT(rJs%{Ib7kO{om7pQnN9&%yl~i54pFyMK*vYc~cJ=n?iK z`juubQ{_(a81}b>foR*NUSs{Nkb&6N5NX8f@Z!~>5PXv^%nfeVQGH1}m_|V0q6ZH+ zcI70YIKb721#FKxiDt~<;f51W@Dw!hzTqfsn(E+aclnbO4U$DaW>3j+EE*-Pob1* z^O8Dqpk>-YECp*O3=rL+r4d3c3~*HqT~v?BE|h8CU0|FyMvQnDw2j zprYlc+0M>IA(zLSUq0XGu%M=ra!{{rum5zA^(MB*qaSua9uh9L8yeEcg7mz>@!Be% zX9dAm`k;%+2h46#3=3Lfnp3R7dQxfsvn{dYpdg(C-pQ&UBig)7d^&;S*Is` zZWzqTp452CM8~5BeUfn>%QoLWYc>CAfW%DtYm%=(!nc$pc>7hSx}xUNAzMA?v*Y?N zrXa+k88^GAj=A$Ao!_k$gM(`IZ)Vn#tQ$h>QH4FQCh5U~NX*BrDyavj@5_dAO@mj3 z$tOH!`rlFft5*xrVn;D#{Tt&G6Iv*tS6Lyw`;Vq_goa<&^xHFLEMu1R^8$cW6jN~R zQLOwi)s)~V%1-V`jhCLxR36`k?SdbeCHDAil-0r6E=VshLf@-|AO=xxoY$MuAdL*J zQy)^Siga-OWvKRfbPK)G$%qPqrbWl*vf1wm1Wm?zn+-G>RWw%{Xm8@oRmcw(Ael7C zW-=vCc@r%AZw`GTW@(?VV;1=p%bO*xx8k!vtVaf5BsRJ&ceUeZf)43;pxO3Dn^6hk z^!Api#1^CiAakvKxTs3;>Y3tiEF$&58nt;OyOX^`u*M3xyy`08XLWGEjDpQ6aCPQ1F4FAqid<5OE@5emDpZv!E%byz~RBXWC|C45# zx|`-b+8V}WraK4qcNPK0Cto!Si}da&uZe!<{aQkq_OvRMO}$RddO8Z+UK%G*WiXNk zaA2=HNad9_%o+FRB=ATO;gJCq(maCGL^gUvr0VexOlJn1y^1FyWG}?0aQKG(91?$v zJmH{0i;jLkZ)$;4%t`p-G0(6jM(JTxhdlI!^D~0km)C_a3OEl|2BNH|D!KvaB-_ZJ zv;Kr#yJ<%Y=E#VZTd=8p0-)!E!{2ac+ zx7T)zMJ6&$BfJHGQ2TS9v(->Mnzgw7z4Ytp&kSsX4^WI%ZRV=9F_}s(B!CM){UO#M!U+f9!*9`pTeG&IL z;=7wXPn^q)J=bJ|H0g<1LSy%cnfT#$#!P zM=Y=rH(31~EHfG$$f@;*gj6Ei_4G^d0~8?b{BvCMj&{Rb?3MJeAZN zsJo91OOP(ihax-Q@T6e#3lbK^{LLY;6b?`GZ)!7f(dxl4c%9{&0BxYKk@#6bGhYCHH)^b+pluYWUcyQHmVGTi&c zdz&7Ojc1WwvhveaNW$v<_qKSHf)QX`+ccc^n<7NoF@gPFBQI?hJhnF`H74=<32|}5 z_$q^Tbn`KLZG!|J%;J!6Mge|u514+6q3zOEKfq@Wu&RrT)ISg@2O}@ZMg3)(d9j50 z6_)TOx~7~~6#6K}emS>?a^K|p1H5rJIOPu-Z%W!;SQh3~tq*UQ`;2xC93}sy`)1w* z0=vdfGYGR^luRdvWA^h!3<|V2lj#LW-XK8zD0X@{kcJI`g_G!{6WCy7A5hvUY_D3i z&#}gp{!Vsnu>jV#9a?_v`~0@Y%H;eMme#Kf?ED7tu#5*5Rw($DjGmFUlJO-B0~eN+ zD039YWb=Cm-HYwWfuCu(LrLuvW1C3xfb(&#kN3sey#8)F0 zdG$O2r$jNVwi=r_py9tbq8;R}3BH%R+nFGTRPYAd1vAnJFAnZNZW&k}RXA^-m*f^8 z{dw000Ooo`jo%YN-*mSzG@ZKVH!`+#GQUe`{>GblU+nb{wWbxi(3gdy!;4w%ggWk1 z-&;qJ_)M^6wWRAx6 zw^d|p{&VtGxb_-yL)5S}*Fc)l#>{_9_OA>0=0=@N_-aQG&mGI&=|d9!Ome$$vzq#X zmZP)P!Et|)@DuE#+1hzHum_m@$ou}f;hM4idlxsX&TDX$!E$8fKJ~$h(c8(RduiF@ z^I1_d>rXaGLP|fBXoq18*2G5GP%9|T!VdIflwZ79LVZ_!%6OzZvX6x|su^%>{9x)4 z4~BoNF|!ETqdgI@o{NSa1qr-wa90eecUplTZ;P1#8twV?OY+w-asXT{=O60ON=+%o*~F!YX5#maUtHL>aP5nGQMrXpeV|sH>0yA zzj+jY%f|~N@q1MX->hHO%tl8czL(^kGS*zvR4=KppwL=8Ur~`}rALTH#lT!vn^-BW zS4*-}t#oK)^&aBTOnt9;nA-qeATy(?!tz&K!du@=Zm+!wbf~wcS7pUFUkxh!?^m-I z*80xfX%)U8^L=SK9xA`w6V~uk!j^2&arZ+WS0j`@aqgP>n37@PY;^SP_e~b-Cs}#=vDQw$JIaW^2-t(=W3OmNx zWn@6;Vxpr{L&}#gUc|Uy|IucLeEoqYcY10P`7Du7C;kWi9lNa$4n* zFVPiY0?hR&_ShhozVC$O^}X!f)!`73<5YZure7hZy9YAV2 zyp2VYc$>lLY;mpscoJ0}=qzz|ElEcI1(DROdPV4c3q|p*-!@?TmSaQ=p0ABVr0U(T z0)a+d$))TgY&#Q?Dls1qt_o;;9SbAlsQi5KB%nina0$Htp}v_WPvPgge|%=Zxe2y8 z@KfxxPItqp#r;VXd96~tXyEMvH_XST6H*O1E=jHc&H0qVUcvUKkrC0odz|lNWbU3w znQjPpPeLo+eri1ZrBoiC(r{f~;$UE5k+8zc`_Hd`;6Wr_bBpNx(*QsR21`@YP} zPsE+wznGMk0f=QB5~X^Lf^O2EoH(4-*%0;M>7C8t3zVJn&F}iadkqhxhMKm2UIyq} z{eMxCnVsLQ6A$y?P8VS2y`)CtjALCxH{aHrjjBG0hxZ8JEZK4B2LRO zxa54VY8~(D^)_E_SdojlHg3(=8hm^7*mO9iK)p#vaPROi2JGA90ba%wWEu8HR9ob~ zj9O;DD2O_rQ!_?HriDdWjJVJox@m`?L~e%M&ZtEa10oM72jQ+nXXru@;Q7n0obYJ z7%n}<;XGBlS%0U5+}-cZvALEi>*7ik4g4A zd$^m%G`b(Gd0tOdLuJX``8TOcTh7iYvG3lA`^g~N^LbtiDR3Ka{<)S}Mb0iRC{N~i zPdfHQe6KSd49*Rowaoz!mvM(^1^E-t<05yMc(6kVgIw79Gn=2)5Lfs%OyfzQkhQ`y>TO%zA;iVn zJ9%g47~5zGsO$Rlk+S=46Ae;R2V?g5as)8iyVoznVI@d*T&t6K8P(?OJHO6|jPFQA zozHY1&AsWdC!lym6&c*by9ASgwQ3~r6~aIM{JsRznm}h3`1JX+LLNsK{(kk_JtFt@ z<#?0HvNp&4CALICPZjHU@v8KSzIkw3SURuXJO^)0?|P-u!Se$)7HXyo;D; z7rS^cnufiGMHZ`x;xS{d<0*NGKpRoOQs$&RrlcDXzpC;&8xttdE35$u-o)fic8MEH zN=e;xP-1`CNBd2&CuxXrF@0LVe?#6S7dt~EJzO@s>KqoAfB$5FrT%>%U7JVYFQJzo z&38b(YI)thUp_EVq;EdE@zc}#c6L0pnel1xJus$7#VS(@S+&xMU;3!E#<5X~$< zKr>risQVq`C`V_ET^4;8sg11XLs#A1SEkIDLRF}jyM~M%SNo|qb(UCo`u%3f-XbK| z-e1z&Ece7ltJpb@KA(L2_))Qyp3>?%Td}@n!8+LRl)os|JbLFWX;4^0lV#E!{+H>A^F}p93A*srCLm%(e1h1vVsV&;@T`uk}Dqf)ZhjL+9@9-re;)ttVT7m?_0v^z8bA)}+<% z-87_+8qifKOca0-*X2{)>=8ud=P3ZMM}q|!Jb~Bv$l>>((WlQLRknl-dCIpqg2QW9 z=Es*5G=AYuhQ6!iy;TcATrT%TL!l^7wV|`1n-Jz)-uYCE%UQ2d)qH$ws%YT#J_+@G zrlB|sZ|ZyZOqPyvBPT3Dt>hweSGPuQrYu%CQMex#O~;*+K`(Vex0-5I;1m*Wm5aX4fiU1Q$!FZr$56g9$|wu-DCY+r|IE zqC`@lTOTD^fj~2w5pUtR3s`1=VowCG1~;T*!?UsxVX6Wd87{m8AjwE3Lbb&INNBl=}0TLm?u zgS<+ujjm^+RIieYu-<;B@n|Z`Y5#`;82mGxw?^q}aFV^v@dWm(9u*QrF#1)yQr233kM%`V_yW9)xBkX_Dnc zdAKA69q68q2~85xp6HNvd+79xKBV*>6-DO2mF-14wzSDWq@EXeym4rita+f-StquA z1-ADeI|DNqdf!x1B^jEVo6pZjyEQ6qT4lU#twsWsk?Yd+NtjKc34DcNeT2mzzCk@l zXlFGvdkemtUndex9=>Mm4+FmmAot~y_+s!Ic&0i=A)XD(x(?nArygruqr>2tDJqcS*j2eMqOm} znv?g~DvS;I1q=Y{(AxWY!)kjOtXId2pXj^iZ7LNIwda856!q#icxUHHc7O+ud7zeV=;MBM6t;hPaO5l{;dyL7{S=b%MZl6% z^*#r?4Wc=>^Yo$=Z~u7FZla>(LxJe6D0255{fQ&-C$YF(v<)@6K!UUlqJp`4#}$oM?+9dAjdkmzorLzEFQP zlVTu219}sp-=p8rF<_c0&*}u;ZjR-w@bfqJbZnX>myb2c!m$@S6u|8k#&Hr&f7ReFrrvM%heH_`t7P+7AgE1s#^m)KondqOdv?qW+Wyv# zqh6JNfWZr3>5%}Br(+h`H zbM`%Odt){571Y!BE>8J(BqwAF>ZFlYyi+CFcDRFzc^nVw5PCG)(>(Gac7MJ+AFqS2 z$Nn8`Ggz2za$?pVSWy{2k9!J{-LaIWXqXNkhKSp{%H-Tk2p`2Vd1!1`@0q zxzCXFZRFCTv5`+6Tx~^GzmQIm4<9~&qi!rCCxpLywLUx5_P*ZSfx>)19LXE+Z%dDaheC67N2q&r zN8h5iVN+UKTH{nslB64&On|!+Y1fPh4%qVa!VX&)TBW32cV?LWa+EmKv$yyXFZ~2o z7DfSqy(4j>OOvys`1Wxv2gn};HvAqK>AC;Qrh*avktXY3YV{%p&RVzgwPr$yj)Q_G zb+eUT)FpFiF!r4z%Y@Z;K?N@D*5$XE(c+L_jkP`b{aFDWkFB{%JzAvTjU0h*R``nC z(2L(l(()_jswAWJx+!?z#gWZ^N@&5jG|WiHqf-Kjn6Y)~m5%{gz$co&8J$2g2=AGiGFUYTv29Jt#A zd@!x~E2OeEv`=PRCaGEh0v+8j7heVcz#}Hl;|qiRLDTixdCe}TWq9{o(}l?vDe)3` z9I02lz*b0;Y_dJLu;W-}jEm*WC@n7qAX{Yl+EUlgEOn%LAFP5(Dg)BtA-iUZU#ctt zPdX0FK^pDg68cO6c>s`bv4jk=NWCW~rhLA4F7ZfWZM@25Q|N31ZfDw`eD=!?p{f|e zS@MoEn|2fF`?z=q>RJ*7txB5vV>xz6Ee+-i`OJ^K_WFO>Q2Bm(mMA_ee_^wDmBWZU z1mSsL?;zY-UkNLdT%SgN2nYl=n5WKHU`b@Uf?v5jS}+1DMY=%vc-pmm+Edxt_4W0^ z!|1)gziCNi8bBAr+fajkLHH+YTpFwamia(@inS7HoUt_pcAbygI%a7*`T492vjNps z31XW+x2BxHIR6*NS1)ZGcs{Z^vmF*?zxa-}BSR8@yf2^3Vb1DhYHgDOlO+aC9>q)j zDN13qQWnb=S_52r8`2pZie=hcP^0gQ{I$Jef9+1-7Ebns~8@u>yPX=%UOgB7N$EN8!3jQ{{!=)ezgi5u&KmX7=uiH$};Z!uU zZKel6`UpH06viYi_U?G5;u+jVmPM@##c|vMCiC2cO-gGqYB~U`JRMj$APSG^Sl!5P z!G*d$U$Je-m`zt)+K*ZIXpvZU{&`EBlr{e9!P0598e7u5(r}InTeBO3^DGjP8s-0G)DV)ZiYZJugQ+g(g;t*(K? zBQ4X>&+rQPL!X^qOUC%UTQ`HO460g;IeRN2vL5Anvr&mmkEatBlOn<%ca*2~#kav2 z&87gxQC+}Obdmo-#mVc4kjty69aMN4Z;f&i`-=gm;ax&05Jw*t*J^z~jW zx?$&mT}joBI<<6QP|1{AjyzsHJ1?|bUI|Uw->|X)=f^BQliw^Jm3M)Ab^;R!RFRTR z7nTGCRufzvStox?Bzkr@v(3Q92yU;Tk(}C%Im;Z}>!H7cXbdzhuTQSKG}Y4x9cs*Kg;9x^?3F4l59h$g89q`;I=|8^)?pAS zl0k(|vb+}qqxDddDwXdauZu@CUNFfOC+fLxQ76(9w6mGzgUZCpDvwI9Dy1hoY%X7V zJ2SKW^O`4>wqZ7 zK{WE7#eb=OBOkCo(EVFgb_1{0@*lMD@szp1EIjU-1gf%ABv*gDHKgQ^n-bzE>9h4= zEi+YQ+|X)Ue2_w#{q7&ZJ+qMaY@L2N zbpMC4#Cr)~N{gCtcZAl$23~q+>HcMCL0|sdYO$+N+heeKGj7v&unQ|s!G;Uj%oME# zGCUj@`ei*)GV5_oUpKZ2X5!j7h(XlXmmKi?=V?}D1Oy+~K+BR&-orFh6jWsM&7l*@ z%JpFJF4CX0eSSopFGFB|bPePT@=d8xY06rK1~#^JgdQ~4zI6`K~ev}@Pr6jIv|>O#}_fR36hE!{W)8n*1$^xWM`iHeG= z3fwP0o5WNVsCTu&+lIY1p5uuh7R5vT*@~ORxmZftFKs5>h15EVVGoj2+p|}fj?~sK zzq2J)jcZM7bu(9gHjfGix?^!3b$ENw!i&w)F!;4n+i zzQ39wHhhxj^d-Ju&`I%J0RP(Zi71j}+F9C>O}so}b8LynL!a`HrU&oh$wZTk5|@SK z7m1{&v{-TUlOG(Nh4J=cApnC_lkD@%U$@IVETmw0%udAuwxD94%{k=+l@thz6jq|J z)Z;B&;_G?6+is}sx#UAyjgUE60$ia_wa+I`9%KpXY3+0*vxN2R7i;I4F1ICAIL8Kl z0EH5_Q^7BEo80p~7+ zwBKOR#eV7cb0v734a9sPwemwifcBj4jsIlT>x+M=tGVB4j;G4naNf21TRd|e1c!zpBziq0t-Tjy-myNpq4q1RJ zN%QaraslZrVSX&`9lGqd9YXm^DQ(W1I*zi&&MJm?7-iDu$M5ImE`H9nzQxg|yK~;> z6u>*2eKuWh91lMNZh$FZSPO;-^Y?)c$Ppqcs?0N4kp*w&E&K~7b*r<L83O&pk=_3$Tal;Uk+y+ujD@dcge7$w~xK664_ zKg*wQorHZmo49O`JC|Ch19HRXK8B68(>>yIsuF{SlI8b~7+d)6()zdD<;d$UuI*Y9 z3G;e;oiNY%28_&Iwy}D;gp^Oc783F`VsIocg6>j}yV!%&wZz;z)Swx5jitWhOP3!* zLOWZCm+sTM6W5iC8;wFEhMp2tK~9T5_M%B{8USd3cS7*sAjErtq8hg_ zEYb+~2+>=9EVXv!$Mr) zKty;RCozEI(bA2&aA^a2I?gBT-J@2+?s1``wfDxZERRpZkX3p> zRyFAiOPPMKg0O3ukckhal%1_H>)V({K`*|wb2>X@tHdo}MS*DVPR%nHwYf6sNoDY~ zKA{8s%gS=~6(_#D?Wf|v5j;-9iv7I&HM+7?`b&HyH&hk{)xQc#7H2b4rT`5~4|oO| zrhxdT063#z$nBi-xGn!AH;f=LVn>?c26Ph-Uj2NRxUWv>;zvSOGEONx>jk2!@GWDLc^`vKJ$G=w^Tuz#!Y1_+5?d^!TH)CIa zcZAv7r~TUP<4P4s@@Cm zh&;N|$nz;!Wi5Fg8TovAn%B44Ykxg2tGZzsn9l|AYE}!d*PUGZfXl-W-D_C!#-QKo zuMZYKPyS3dY)?c~a*Vq=h6A(}nM)fDH`$MNmPVGsE?R>BakXJy=*olhI= zMBWsmTAcas*jeP5r6rmBXYnVXFL6#HewSRsGx+%cbd z&k>+W$rK`ISN#RT-_p%@(Zb>qb#v&OE1r7OrLhXf&>n~HKdINRyU%qygSXgdNN=!N zOuH|Sk9?VcIjH1=g;MU3+?5OYu@y&ig;x$h&H(c1{H6*8(d!{Grq@uK+dZTjphX=# zHx~EgQRR2O^-cW`Us`l+!_nZ*6NLcE6<~yy)e*4EF(wHJ`~Y@bvDG+<1!kceL{#^z zXI`bne-8?`_>Dc=OT@tV@JRz&&W~0)p$Iv&w?yA?A0~(c(riNeT^Ys@iArFeD-Un= zlLo1{Fo!JKn^WRF8JL5Az1{Bh=1ctVzvuaiTj?aAbuYm84uHj~i zxFOsa_;5jyCZknN(Ovjm7bCF}6~~XI&3%qfrT_TYCYjkqe+obO^p5ULC8cg9nR4%-nMQY|c|`tmR6MivIUCeQzXkh_ z5Pj_HXX2l9Qzmw#PiEcb*DZBVU`QLQ3obK)PT)N>&HK8b5piWB(NCE&7gb|3z4=z> zc&2`3>QTf`gv!(9@3QWu4G!PKxD<{$sK;#;{CMpsV!Iz~hRwt_&__~mT4>M7&12fV z7@&7*kYqZ^%oH4a{)c3VLALeuiH<;-AFqv2D(*+X5U36||BOe(r1>P~X+sD7M`N5t zjvSTPN14=2?2#KWy`1oQ?i^$E(DSRPm>cI7K*GGWY^IhSIUqmfA<82Zj>#1u-=sb_ z9onn67i&}ZJgjSVD#^&9hj8{brNlPGve;!2tHbV5Z9_}=8NAvLi@G-dsYn_oiqBqb zPPcAafB=Ts|Z?gdhg&6HzVpI@UPno+Bv8o)W8Z9e9qE`WGY|;}`myWKZOZV}8k_EBtv}%fI zaWM+fugm&_adTdtx`#UY?w;o3l)Zea@p0jpNAWWLm}|zZtv>s67qi6o?UDGB8Y0gu zr_RYMqj{v&7<#{6CwxJ3N4K6v{=i}LA)g-|Du$KMZqrWrMe9X*8WGdyP2Sd;ErPAO zw|h}XFZaP$hd18=luaV9?xBPd-Q!rSMX%muwrGdc+%fS<49N&tIfxh$s_}u}`5A5PXv^A2O=Cxe`Ggqi)zi7>j;59DOLeiAxO>88&> z|DOx>b&EGb73!79Qzo!+-(Om)m(P3h2p!DUZd4K;y3mi1ONSC%THY6(GCihV9X1&u zgfSQUg=`hBv$Q%TWG@h@ViV$?SVWDN$>EoWw%Ah_3L@0$9>?RGAcf?jWICQc5J-GY zL6`sH^jZ)@h8&GCw^8$nD;^uiURq`!chL%0N%~@4fPii?duDSCq9Wm4)*?R@*I>qQu1{gTG69iL2-e{|J zt|d+_vz;vtQd2WvTXwysvQn$`DtEukbde#S$c+$>9&n%=0DU_`55*PpYPsX3{C7rb zsDc_344~}on2@@`_ZA0izGoM8E#uf7`4yxF+UMvD4@q)1iIXspQah-Vet;@pH}x0( z?_H>a)2E~2OGCUKnb~p#|aF^S<((@2vCZ{5Nvq|_;sM>Bup{sQQp%#$dG#%-e-VaO}$N8%a-fP?|vhp;VtKnx#XD<0C{^&)zzj} zLm$e>4AK8)OI~Wi0AN6;nyyy`E>uMd$TYEitg`BMpQ*9P{Xki*%Iq2Nrg(3XaSfF> zdi(9_BNFeqBA~Y9(Q130M-Z@WgO%~q)dGZUiiYxfkN&FAWO-;O6KYG3%9jrma&@`H zE@%sM5`gLn-V}kFIaM{>Kw4E_Y{68Gwu@(qsCMesnZJ~3^rg1r&2-{Pg^%5;T#vL+ zfPX`{0-~j*&EoJ7RgQ4l-d|mZg7}r^6UJ;8*>6htE}9<58 z35ydU<8A5$$#-FbOb2@vTE3A5J2Mf9si%mCQpiTrkJ>ml!7+foqO0F|gpB)Eo?n}a zzI8-fF7=QM6>+D6BMT%S!@nI_v+qv0rjp7UIws?h)9BPt@Y7uib^~G9p+y%ToG7d1z zQ^LqihLULyOCicew$S!t{<;NK?&-#Z&2a_RD9aJR8v2ob(U;*iO1h!JI{uhcH*%4c zKX}PL053^r+Q=CA!vzJ4BV!QK>4o_n9pyqX$&)<<03?A+Vh-cd7+AMV+9}ONi4f%{ zz$Y=!yHm&ENSRYRUD)x4t_&YI`^ExTSg=upWv4RDQv}2B(_M`VNLDv742@G=3nylhnMKZivL6}GLp9C z1Hwksfs67jFTc_vis`Q@g^IFzrVv4*+MxlX8M%%X22$dba|wJ5xQ zH$K}TE)wfjPDGj8NO@L^ufL#r+d7(yI=kK3jt(u5rLyjTeqBEDu< zF`94A#Hd}kG~eWVcc~(9xKWEcJbyVrx}m)itrG-Ss8==i(hXxk2itGWEEGA#Y22l( zDp@$Te({r|HiXq$aqletLDF7iwh^mMN5fX2MiFg9OGi>zz^;1!q!KQjuz#E(95+I)W<+-~z#R_9xAiGlfVhF496$c6AM(EqOqWvPE z)P+3ZX6N$RuWY)N=n zeR9@o?sb{*u)M#xYKX|8W?Ag?B1nQ0SWUrky1Hq!BuyFFNu&Ud&-G1fOcPM_bc{%< z2jB9Vu()PCRZa<+ap%C$aS`(*l$XIgjXl2gQG&E2B7c7#N+&A~r5bS)GSQUo?Vz?j zb=3uTx9J)_xKCd8+E1GIG}IBpuK&2eZ#0`8>gtTkC%*d`t9YozpubwnJ^^223cB}o zN})D~gUa<^7vFx}-i$u%_~?de2?XTyNzMkCgfZsJ*x|DC9)wtgM70)ng2RF zSrmKzB8&7kXwocMn5^bZue45Zgqr>8zvc8SxdFE}gOI;Li2JMjK~_X9LqM_60H9Ik zYGfW&bCLYMun6cxSQs{+d8O{oP`WRESKAan_D`Qg)q=s@pGKPuzitGa_LJeP+8K#k zW{REf)+FZy=6CqH^xAUqDOK49SV<21$KTuh>evswPGD$I5XR!#S-8=~c@DXh;F4AU zuU_l_pEMT-xkFFzCT$2a;s#{58(PHBgvZueEQh|qZZY8bFY2oWB?l2 zy_v55OQ?r$W__uG_Y%O^$q8s_U5z2U@RbL=k=X$}4+;p(MmMjm3JYnz5ddsJH|BriXvSZ;mp_&_T59V|8eMA zW!^Baf|HMIH~GrV&SBga2Mk{USB8JsNx%>H|5Qo*-^|wm7$>fC2p;RF+&J z3_~zo$}R#=1*T}O^w+C3LnJu1kG`p-Z2HKsI2ctVt%vhal$AHS?_8AVF1V8sX#|yf zeZG=Lw^pHMI|1m=tCC%sU<1F=0Zb@U zC!5~^lSqoo zR>h4Dl&zCz$+3#>Uu6K+V_NWQ(+T#N0Cbtno1L3rt6un!OYp2WLmcl7$L9#I@@gNQ?Y%)B)JwC|x zbdb{SQ-7K3#>FFIcpxzV&c-(8PfaLr#vI9@G9X z7U`ULk_AW{-#HaGs$8k@Z@QP4Mib0)8Rr>fF^$(~t~{Gv)9$Vjd_#Fv%*MI?o^{wp z6gg9MX`)&lf{)dw3KrMTK_DcFJ=_zs29ghQ_I9v*KKLz8Su{ieF#B8;xSAB!q9gfi z7&aoQxvs-$HBWl71mw2T?MTwL*hg{#$_ciO)^i;!mM^}Kt-67NKYBy94hcDDfqkJu*1nKfx{DI z1yd*Vs(pcGmx@VoyxIVrb*LrI-qin8zK?&0ZoDS8QR{i}7U`+%&qX@o52+YxfAIhb z)!uv`L*~Ml+zDHEG;N8gSTDQ-vtHT;FreS}bNmzb)W1)kVezz@x$W7L+(w4p*#VqH zJtbn$M@qp}EXw0K4YhsTJrzFXZRSDcV!oK(G3_^4|M#j|`BpYF-x1puFdUrqe`4^*DulXN~~liQPQRl2e5btw~_=4M+0iEy#c`)gVrn-;$ZQOR?r~$9D@Rm5BN4_vSAiaai|&OiwU%El>BLH9(`$wu8BKC%2omHr9}QP{-aG|S)3V6d zE2w&UFAfV(VaJ5h<7HB05TSIlDt{vU;&}}8w(t#Pikg45>juG0Ce?KJXZF&xCi*<% zCRHNdYnY%Z>%Dpkc^$4#FDq>nOYzAd9aj*(;;v!_fVq1#`Rs%Y)pY`2j>JvBfw>R% zC1A9T1h5w1av6INeRB z!Mdcss&vXUO~Y2MFwNU|+7U)CgMm4UaqFK^2lm>zv33pjK5d1`I#3Zvk?0G+)Hv-U z1F~|Xc@U4=X<}}|k9G@KT7%DS52879J@UtizH^BOa=mi7DoSDVW%L&E)I5#js_kRp zAAqLrs~)9?wKiT6-+H%OMQ+w$?u^nLC^5l zhXPYr*~#pZvVQU2_3ICmbfL-*F&k{Z?Bt-^dW=)2Obb~sLa>glD z+Nzck80S2t15M38`98~kt3OV?!MuK0nz)VjVo0%j#UpToRk9pyqJuaNod)+WlA$89 zQk?s)TQcUlv%N#ZRlM5SH%t%|1~XPD>HtWpk1|g9{z2J6waYs`%&yZ2Dv{vk{O?Sl~Rc3qK%_d}jGw#2{b^4(vhEt_BfjSiRCTtVz>!{PX_b!*;#hc;rI? zXVR+a_cTSTRQOLYIr+I(Tc>X>bqIeQd2?H`1XL}2QU!U)5m0{pL>sF{kom)m_&bWe zX2ZhC%oYVQHS}1DMihP2jgItJ&ui9`m2S^jOwVH)o&`T)BHq7CulwBQb}dxj`XblN zr$x#|>_tuXK&$7ne1ZRN{%MFMn*^Pxc%}x(a9^E-ei#{hw~65qwWsl7yv4!7QxGrR zknfsbuGQ(hEfje^M|r%KH6HEXa)Jc#8ux)kOQFvxT$`VyiI%6TR(zIe=+kxMp5%S* z+)kjqTI~{3Y2>pLUGid?S^KrT&jl(6=4luqxyMBi9LV;%0k)`BUHDPWmmcc*O+=R0 zz~}+~y3^*522`GwYI?soDQEV6yrAx*7+;UBaG?RCLHZ z)fK5-!yQkz^wCW~P<;&pe68XedSR81(mS;q@Fr74KoMsY)u9{SF~|L<_S&(3|ADC zY#PbqioQ6biZx6bsP@kVvoA!P-pFcj*Id$_dfdAgMD*cRF;# zzyS9hKlT0HweG)n-S4{Zg5_cuhk2jpJm>7Q_dfIHfxafiwVT&)aBwKJwbUQt;1I;) z;NZO`Ap#yrWTKS={=xNpsHuumHpGkqejspA(Nn>}sf;7TSQ7$2le%e{c;ettc45D9 z;jTr`ad58kwbfM~K`b{fqT0;Aq08UQDlJ?R`fkg3I;;+)(b_xN9*8~Dz1u;M82(1G zinNEpNknFi`QDI>t;Y~!!aa>pg+rc{L&SOHQmNRAn{7S=X2f+grD!S`^r|9RZh@c&CsXS{)n%JSvT z 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 IpH|QR4-GYKDgXcg diff --git a/docs/admin/gitlab/runner.md b/docs/admin/gitlab/runner.md index 04395bb82..9ca922e76 100644 --- a/docs/admin/gitlab/runner.md +++ b/docs/admin/gitlab/runner.md @@ -4,9 +4,9 @@ This document outlines the steps needed to create a Docker container named `gitlab-runner` which will contain a single runner that will be responsible for the execution of Digital Twins. There are two installation scenarios: -1. Localhost Installation - You are using the integrated runner locally with +1. __Localhost Installation__ - You are using the integrated runner locally with a GitLab instance hosted at `https://localhost/gitlab`. -2. Server Installation - You are using the integrated runner with a GitLab +2. __Server Installation__ - You are using the integrated runner with a GitLab instance hosted on a production server. This server may be a remote server and not necessarily your own, and may have TLS enabled with a self-signed certificate. @@ -14,29 +14,52 @@ the execution of Digital Twins. There are two installation scenarios: Following the steps below sets up the integrated runner which can be used to execute digital twins from the Digital Twins Preview Page. +## Runner Scopes + +A GitLab Runner can be configured for three different scopes: + +| Runner Scope | Description | +|-----------------|-------------| +| Instance Runner | Available to all groups and projects in a GitLab instance. | +| Group Runner | Available to all projects and subgroups in a group. | +| Project Runner | Associated with one specific project. | + +We suggest creating instance runners as they are the most straightforward, but +any type will work. More about these three types can be found on +[the official GitLab documentation page](https://docs.gitlab.com/ee/ci/runners/runners_scope.html). + ## Obtaining A Registration Token First, we will obtain the token necessary to register the runner for the GitLab -instance. +instance. Open your GitLab instance (remote or local) and depending on your +choice of runner scope, follow the steps given below: + +| Runner Scope | Steps | +|-----------------|-------| +| Instance Runner |1. On the __Admin__ dashboard, navigate to __CI/CD > Runners__.
2. Select __New instance runner__.| +| Group Runner |1. On the __DTaaS__ group page, navigate to __Settings > CI/CD > Runners__.
2. Ensure the __Enable shared runners for this group__ option is enabled.
3. On the __DTaaS__ group page, navigate to __Build > Runners__.
4. Select __New group runner__.| +| Project Runner |1. On the __DTaaS__ group page, select the project named after your GitLab username.
2. Navigate to __Settings > CI/CD > Runners__.
3. Select __New project runner__.| + +For any scope you have chosen, you will be directed to a page to create a +runner: -1. On the __Admin__ dashboard, navigate to __CI / CD > Runners__. -1. Select __New instance runner__. 1. Under __Platform__, select the Linux operating system. 1. Under __Tags__, add a `linux` tag. -1. Select __Create runner__. A runner authentication token will be generated, - be sure to save it somewhere. +1. Select __Create runner__. -You should see the following screen: +You should then see the following screen: ![Runner Registration Screen](./runner-registration.png) +Be sure to save the generated runner authentication token. + ## Configuring the Runner Depending on your installation scenario, the runner setup reads certain configurations settings: -1. Localhost Installation - uses `deploy/docker/.env.local` -1. Server Installation - uses `deploy/docker/.env.server` +1. __Localhost Installation__ - uses `deploy/docker/.env.local` +1. __Server Installation__ - uses `deploy/docker/.env.server` It is assumed you have set these up as part of the installation of the overall DTaaS software. If not, ensure these are properly set up. @@ -73,21 +96,21 @@ container respectively, depending on your installation scenario: 1. Localhost Installation - ```bash - docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local up -d - docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local down - ``` + ```bash + docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local up -d + docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local down + ``` -2. Server Installation +1. Server Installation - ```bash - docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server up -d - docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server down - ``` + ```bash + docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server up -d + docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server down + ``` Once the container starts, the runner within it will run automatically. You can -tell if the runner is correctly configured by navigating to -`CI/CD > Runners` on your Admin dashboard and seeing something like this: +tell if the runner is up and running by navigating to the page where +you created the runner. For example, an Instance Runner would look like this: ![Status indicator under Admin Area > Runners](./runner-activation.png) @@ -97,8 +120,8 @@ You will now have a GitLab runner ready to accept jobs for the GitLab instance. The Digital Twins Preview Page uses the GitLab API which requires a [Pipeline Trigger Token](https://docs.gitlab.com/ee/api/pipeline_triggers.html). -On the GitLab instance, go to your project in the _DTaaS_ group and navigate -to __Settings > CI/CD > Pipeline trigger tokens__. Add a new token with any +Go to your project in the __DTaaS__ group and navigate to +__Settings > CI/CD > Pipeline trigger tokens__. Add a new token with any description of your choice. ![Creating a Pipeline Trigger Token](./pipeline-token.PNG) From ca3527a6bfcf858d8d9fe58e8235201aaec5e524 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Mon, 16 Dec 2024 02:34:14 +0530 Subject: [PATCH 13/24] Finishes up runner guides * Syncs `GITLAB-RUNNER.md` and `runner.md` * References gitlab setup and integration guides --- deploy/services/gitlab/README.md | 6 +- deploy/services/runner/GITLAB-RUNNER.md | 88 ++++++++++++++++--------- docs/admin/gitlab/index.md | 6 +- docs/admin/gitlab/runner.md | 16 ++++- 4 files changed, 78 insertions(+), 38 deletions(-) diff --git a/deploy/services/gitlab/README.md b/deploy/services/gitlab/README.md index 10bf93846..0ec211f03 100644 --- a/deploy/services/gitlab/README.md +++ b/deploy/services/gitlab/README.md @@ -114,5 +114,7 @@ for further help. ## Pending Tasks This README helps with installation of Gitlab along side DTaaS application. -But the OAuth2 integration between Gitlab and DTaaS will still be still pending. -Follow the [INTEGRATION](./INTEGRATION.md) guide to setup the Gitlab integration. +But the OAuth2 integration between Gitlab and DTaaS will still be pending. +Follow the [integration guide](./INTEGRATION.md) and +[runner setup guide](../runner/GITLAB-RUNNER.md) to setup the Gitlab +integration. diff --git a/deploy/services/runner/GITLAB-RUNNER.md b/deploy/services/runner/GITLAB-RUNNER.md index 2f4a1638e..1007583a4 100644 --- a/deploy/services/runner/GITLAB-RUNNER.md +++ b/deploy/services/runner/GITLAB-RUNNER.md @@ -1,17 +1,12 @@ -# GitLab Runners - -GitLab Runners are agents that execute the tasks defined in GitLab CI/CD -pipelines. A runner is connected to a GitLab instance (may be -`https://gitlab.com` or a local instance such as `https://foo.com/gitlab`), -and executes jobs for a single project, or any project within a GitLab group. +# GitLab Runner Integration This document outlines the steps needed to create a Docker container named `gitlab-runner` which will contain a single runner that will be responsible for the execution of Digital Twins. There are two installation scenarios: -1. Localhost Installation - You are using the integrated runner locally with +1. __Localhost Installation__ - You are using the integrated runner locally with a GitLab instance hosted at `https://localhost/gitlab`. -2. Server Installation - You are using the integrated runner with a GitLab +2. __Server Installation__ - You are using the integrated runner with a GitLab instance hosted on a production server. This server may be a remote server and not necessarily your own, and may have TLS enabled with a self-signed certificate. @@ -19,35 +14,68 @@ the execution of Digital Twins. There are two installation scenarios: Following the steps below sets up the integrated runner which can be used to execute digital twins from the Digital Twins Preview Page. +## Prerequisites + +A GitLab Runner picks up CI/CD jobs by communicating with a GitLab instance. +For an explanation of how to set up a GitLab instance that integrates with a +DTaaS application, refer to [our GitLab instance document](../gitlab/README.md) +and [our GitLab integration guide](../gitlab/INTEGRATION.md). + +The rest of this document assumes you have a running DTaaS application with a +GitLab instance running. + +## Runner Scopes + +A GitLab Runner can be configured for three different scopes: + +| Runner Scope | Description | +|-----------------|-------------| +| Instance Runner | Available to all groups and projects in a GitLab instance. | +| Group Runner | Available to all projects and subgroups in a group. | +| Project Runner | Associated with one specific project. | + +We suggest creating __instance runners__ as they are the most straightforward, but +any type will work. More about these three types can be found on +[the official GitLab documentation page](https://docs.gitlab.com/ee/ci/runners/runners_scope.html). + ## Obtaining A Registration Token First, we will obtain the token necessary to register the runner for the GitLab -instance. +instance. Open your GitLab instance (remote or local) and depending on your +choice of runner scope, follow the steps given below: + +| Runner Scope | Steps | +|-----------------|-------| +| Instance Runner |1. On the __Admin__ dashboard, navigate to __CI/CD > Runners__.
2. Select __New instance runner__.| +| Group Runner |1. On the __DTaaS__ group page, navigate to __Settings > CI/CD > Runners__.
2. Ensure the __Enable shared runners for this group__ option is enabled.
3. On the __DTaaS__ group page, navigate to __Build > Runners__.
4. Select __New group runner__.| +| Project Runner |1. On the __DTaaS__ group page, select the project named after your GitLab username.
2. Navigate to __Settings > CI/CD > Runners__.
3. Select __New project runner__.| + +For any scope you have chosen, you will be directed to a page to create a +runner: -1. On the __Admin__ dashboard, navigate to __CI / CD > Runners__. -1. Select __New instance runner__. 1. Under __Platform__, select the Linux operating system. 1. Under __Tags__, add a `linux` tag. -1. Select __Create runner__. A runner authentication token will be generated, - be sure to save it somewhere. +1. Select __Create runner__. -You should see the following screen: +You should then see the following screen: ![Runner Registration Screen](./runner-registration.png) +Be sure to save the generated runner authentication token. + ## Configuring the Runner Depending on your installation scenario, the runner setup reads certain configurations settings: -1. Localhost Installation - uses `deploy/docker/.env.local` -1. Server Installation - uses `deploy/docker/.env.server` +1. __Localhost Installation__ - uses `deploy/docker/.env.local` +1. __Server Installation__ - uses `deploy/docker/.env.server` -It is assumed you have set these up as part of the installation of the overall -DTaaS software. If not, ensure these are properly set up. +These files are integral to running the DTaaS application, so it will be +assumed that you have already configured these. We need to register the runner with the GitLab instance so that they may -communicate with each other. In this directory, the file `runner-config.toml` +communicate with each other. `deploy/services/runner/runner-config.toml` has the following template: ```toml @@ -78,21 +106,21 @@ container respectively, depending on your installation scenario: 1. Localhost Installation - ```bash - docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local up -d - docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local down - ``` + ```bash + docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local up -d + docker compose -f deploy/services/runner/compose.runner.local.yml --env-file deploy/docker/.env.local down + ``` -2. Server Installation +1. Server Installation - ```bash - docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server up -d - docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server down - ``` + ```bash + docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server up -d + docker compose -f deploy/services/runner/compose.runner.server.yml --env-file deploy/docker/.env.server down + ``` Once the container starts, the runner within it will run automatically. You can -tell if the runner is correctly configured by navigating to -`CI/CD > Runners` on your Admin dashboard and seeing something like this: +tell if the runner is up and running by navigating to the page where +you created the runner. For example, an Instance Runner would look like this: ![Status indicator under Admin Area > Runners](./runner-activation.png) diff --git a/docs/admin/gitlab/index.md b/docs/admin/gitlab/index.md index daf3dc3b7..6b94f769c 100644 --- a/docs/admin/gitlab/index.md +++ b/docs/admin/gitlab/index.md @@ -138,6 +138,6 @@ for further help. ## Pending Tasks This README helps with installation of Gitlab along side DTaaS application. -But the OAuth2 integration between Gitlab and DTaaS will still be still pending. -Follow the [integration guide](integration.md) and -[runner setup](runner.md) to setup the Gitlab integration. +But the OAuth2 integration between Gitlab and DTaaS will still be pending. +Follow the [integration guide](integration.md) and the +[runner setup guide](runner.md) to setup the Gitlab integration. diff --git a/docs/admin/gitlab/runner.md b/docs/admin/gitlab/runner.md index 9ca922e76..5823a53c8 100644 --- a/docs/admin/gitlab/runner.md +++ b/docs/admin/gitlab/runner.md @@ -14,6 +14,16 @@ the execution of Digital Twins. There are two installation scenarios: Following the steps below sets up the integrated runner which can be used to execute digital twins from the Digital Twins Preview Page. +## Prerequisites + +A GitLab Runner picks up CI/CD jobs by communicating with a GitLab instance. +For an explanation of how to set up a GitLab instance that integrates with a +DTaaS application, refer to [our GitLab instance document](./index.md) +and [our GitLab integration guide](./integration.md). + +The rest of this document assumes you have a running DTaaS application with a +GitLab instance running. + ## Runner Scopes A GitLab Runner can be configured for three different scopes: @@ -24,7 +34,7 @@ A GitLab Runner can be configured for three different scopes: | Group Runner | Available to all projects and subgroups in a group. | | Project Runner | Associated with one specific project. | -We suggest creating instance runners as they are the most straightforward, but +We suggest creating __instance runners__ as they are the most straightforward, but any type will work. More about these three types can be found on [the official GitLab documentation page](https://docs.gitlab.com/ee/ci/runners/runners_scope.html). @@ -61,8 +71,8 @@ configurations settings: 1. __Localhost Installation__ - uses `deploy/docker/.env.local` 1. __Server Installation__ - uses `deploy/docker/.env.server` -It is assumed you have set these up as part of the installation of the overall -DTaaS software. If not, ensure these are properly set up. +These files are integral to running the DTaaS application, so it will be +assumed that you have already configured these. We need to register the runner with the GitLab instance so that they may communicate with each other. `deploy/services/runner/runner-config.toml` From 488cca8b46ac88a69dc4e0fe97f0ef25a87f98d3 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Mon, 16 Dec 2024 10:11:21 +0530 Subject: [PATCH 14/24] Adds DevOps developer guide --- docs/developer/devops.md | 121 ++++++++++++++++++++++++++++++++ docs/developer/dt-lifecycle.png | Bin 0 -> 37514 bytes mkdocs-github.yml | 1 + mkdocs.yml | 1 + 4 files changed, 123 insertions(+) create mode 100644 docs/developer/devops.md create mode 100644 docs/developer/dt-lifecycle.png diff --git a/docs/developer/devops.md b/docs/developer/devops.md new file mode 100644 index 000000000..dea24803b --- /dev/null +++ b/docs/developer/devops.md @@ -0,0 +1,121 @@ +# DevOps in DTaaS + +## GitLab + +We use GitLab as an OAuth service provider, which enables users to securely +access the DTaaS website. + +Each user is allocated a personal folder on the GitLab platform, which is +organized in subfolders to facilitate the management of their DTs assets. +A user's personal folder has the following structure: + +```text +/ +├── common/ +├── data/ +├── digital_twins/ +├── functions/ +├── models/ +├── tools/ +├── .gitlab-ci.yml +├── BUILD.md +└── README.md +``` + +## Digital Twin Structure + +The `digital_twins` folder contains DTs that have been pre-built by one or +more users. The intention is that they should be sufficiently flexible to be +reconfigured as required for specific use cases. + +Let us look at an example of such a configuration. The +[dtaas/user1 repository on gitlab.com](https://gitlab.com/dtaas/user1) contains +the `digital_twins` directory with a `hello_world` example. Its file structure +looks like this: + +```text +hello_world/ +├── lifecycle/ +│ ├── clean +│ ├── create +│ ├── execute +│ └── terminate +├── .gitlab-ci.yml +└── description.md +``` + +The `lifecycle` directory contains four files - `clean`, `create`, `execute` +and `terminate`, which are simple +[BASH scripts](https://www.gnu.org/software/bash/). These correspond to stages +in a digital twin's lifecycle. + +![Digital Twin Lifecycle](./dt-lifecycle.png) + +## CI/CD Pipelines + +Continuous Integration (CI) and Continuous Deployment (CD) represent two key +components of the DevOps methodology. + +CI involves frequent integration of code changes into a common repository. +Each integration triggers automated builds and tests that permit the detection +of issues at an early stage. This practice ensures that the changes made to +the code are checked fast enough, reducing the possibilities of integration +problems and hence ensuring high-quality software. + +CD automates the process of release, ensuring that code changes are +automatically tested and prepared for deployment. Teams using CD can deploy +updates rapidly and reliably, improving the responsiveness and quality of +software. Performed together, CI/CD automates the whole delivery pipeline for +software, increasing efficiency and reducing errors. They entirely eliminate, +or significantly reduce, the manual human input required for a code change to +be moved from a commit to a production environment. The entire process of +compilation, testing (including unit, integration, and regression testing), +deployment, and infrastructure provisioning is included. + +CI/CD practices are explained in more detail in +[this article by GitLab](https://about.gitlab.com/topics/ci-cd/). + +A CI/CD pipeline is a series of automated processes that manage CI and CD of +software. They are configured to run automatically, with no need for manual +intervention once activated. + +GitLab is a single application for the entire DevOps lifecycle, which means +it performs all of the basics required for CI/CD in one environment. The +[documentation provided by GitLab](https://docs.gitlab.com/ee/ci/pipelines/) +was instrumental in enabling a comprehensive understanding of the CI/CD +pipelines. + +Pipelines are composed of a number of essential components. _Jobs_ delineate +the specific tasks to be accomplished, while _stages_ define the sequence in +which jobs are executed. In this way, stages ensure that each step takes place +in the right order and make the pipeline more efficient and consistent. In the +event that all jobs within a stage are successfully completed, the pipeline +will automatically proceed to the subsequent stage. However, if any of the +jobs fail, the flow is interrupted without proceeding. + +When a pipeline is initiated, the jobs that have been defined within it are +then distributed among the available runners. + +GitLab runners are agents within the GitLab Runner application that execute +the jobs in accordance with their configuration and the available resources. +They can be configured to operate on a variety of platforms, including virtual +machines, containers, and physical servers. They can also be managed locally +or in a cloud environment. + +## Gitbeaker + +[GitBeaker is a client library for Node.js](https://github.com/jdalrymple/gitbeaker) +that enables users to interact with the GitLab API. In particular, +`gitbeaker/rest` is a specific version of the Gitbeaker package that allows +users to submit requests to GitLab's REST API. + +One of the most significant features of Gitbeaker is the provision of support +for a range of authentication methods, including the use of personal tokens +and OAuth keys. Gitbeaker provides a range of predefined methods for +requesting data from the various GitLab APIs, eliminating the need for users +to manually construct HTTP requests, thus greatly simplifying the integration +process with GitLab. + +It automatically handles errors in HTTP requests (and provides meaningful error +messages that help diagnose and resolve problems) and is fully compatible with +all of GitLab's REST APIs. diff --git a/docs/developer/dt-lifecycle.png b/docs/developer/dt-lifecycle.png new file mode 100644 index 0000000000000000000000000000000000000000..583fa2ddd1acd245c5292376d1999eb9b12e6365 GIT binary patch literal 37514 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 iQ~vjOW1HL^G3pAO)4aHqYzDdnGc&d{DmmqL Date: Mon, 16 Dec 2024 10:26:12 +0530 Subject: [PATCH 15/24] Adds executor information to GITLAB-RUNNER.md --- deploy/services/runner/GITLAB-RUNNER.md | 26 +++++++++++++++++++------ docs/admin/gitlab/runner.md | 12 +++--------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/deploy/services/runner/GITLAB-RUNNER.md b/deploy/services/runner/GITLAB-RUNNER.md index 1007583a4..694216383 100644 --- a/deploy/services/runner/GITLAB-RUNNER.md +++ b/deploy/services/runner/GITLAB-RUNNER.md @@ -99,6 +99,9 @@ has the following template: 1. If you are following the server installation scenario, remove the line `network_mode = "host"`. +A list of advanced configuration options is provided on the +[GitLab documentation page](https://docs.gitlab.com/runner/configuration/advanced-configuration.html). + ## Start the GitLab Runner You may use the following commands to start and stop the `gitlab-runner` @@ -126,11 +129,22 @@ you created the runner. For example, an Instance Runner would look like this: You will now have a GitLab runner ready to accept jobs for the GitLab instance. -## Resource Allocation +## Advanced: Runner Executor -By default, the runner executor will pick up as many jobs as it can (limited -by the number of threads on the machine). To limit the number of jobs that may -be run concurrently, you can set the `limit` variable in `config.toml`. +The term `runner` could refer one of two things: -A list of advanced configuration options is provided on the -[GitLab documentation page](https://docs.gitlab.com/runner/configuration/advanced-configuration.html). +1. The `gitlab-runner` Container + This is the Docker container that is created when you execute the commands + given above. It is based on the `gitlab/gitlab-runner:alpine` image, and is + used to spawn one or more _executors_ that actually execute the CI/CD jobs. + + These executors are spawned using a packaged version of Docker within the + `gitlab-runner` image. +1. The Runner Executor + These are agents spawned by the `gitlab-runner` container, not as children + but as __siblings__ of the container. These runner executors will not show up + on running commands such as `docker ps`, but you can check their status by + running `gitlab-runner status` inside the `gitlab-runner` container. + +Keeping this distinction in mind is important, as the GitLab documentation +sometimes uses them interchangeably. diff --git a/docs/admin/gitlab/runner.md b/docs/admin/gitlab/runner.md index 5823a53c8..65872e6c1 100644 --- a/docs/admin/gitlab/runner.md +++ b/docs/admin/gitlab/runner.md @@ -99,6 +99,9 @@ has the following template: 1. If you are following the server installation scenario, remove the line `network_mode = "host"`. +A list of advanced configuration options is provided on the +[GitLab documentation page](https://docs.gitlab.com/runner/configuration/advanced-configuration.html). + ## Start the GitLab Runner You may use the following commands to start and stop the `gitlab-runner` @@ -138,12 +141,3 @@ description of your choice. You can now use the Digital Twins Preview Page to manage and execute your digital twins. - -## Resource Allocation - -By default, the runner executor will pick up as many jobs as it can (limited -by the number of threads on the machine). To limit the number of jobs that may -be run concurrently, you can set the `limit` variable in `config.toml`. - -A list of advanced configuration options is provided on the -[GitLab documentation page](https://docs.gitlab.com/runner/configuration/advanced-configuration.html). From 1ebe54a7af42a101d4a3442b0ebf4de6f6623131 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Tue, 17 Dec 2024 12:37:17 +0530 Subject: [PATCH 16/24] Add DevOps Framework to developer documentation --- docs/developer/devops/api.md | 24 +++ docs/developer/devops/gitlab-ci-cd.md | 170 ++++++++++++++++++ .../devops/images/devops-overview.png | Bin 0 -> 41275 bytes .../{ => devops/images}/dt-lifecycle.png | Bin docs/developer/devops/implemented-classes.md | 104 +++++++++++ docs/developer/devops/overview.md | 88 +++++++++ mkdocs-github.yml | 6 +- mkdocs.yml | 6 +- 8 files changed, 396 insertions(+), 2 deletions(-) create mode 100644 docs/developer/devops/api.md create mode 100644 docs/developer/devops/gitlab-ci-cd.md create mode 100644 docs/developer/devops/images/devops-overview.png rename docs/developer/{ => devops/images}/dt-lifecycle.png (100%) create mode 100644 docs/developer/devops/implemented-classes.md create mode 100644 docs/developer/devops/overview.md diff --git a/docs/developer/devops/api.md b/docs/developer/devops/api.md new file mode 100644 index 000000000..29c2f6637 --- /dev/null +++ b/docs/developer/devops/api.md @@ -0,0 +1,24 @@ +# API Calls + +A pipeline can be triggered via an API call using a +[pipeline trigger token](https://docs.gitlab.com/ee/ci/triggers/) +which is created on the GitLab instance, with the following values: + +1. ``: The user GitLab trigger token. +1. ``: The name of the DT (e.g. mass-spring-damper). +1. ``: The specific tag of the GitLab runner that the user wants to use. +1. ``: The ID of the GitLab project, displayed in the project overview + page. + +The example given below sets the `DTName` variable to the desired DT name, +the `RunnerTag` variable to the specified GitLab Runner tag, and ensures the call +will be executed in the `main` branch: + +```bash + curl --request POST \ + --form "token=" \ + --form ref=main \ + --form "variables[DTName]=" \ + --form "variables[RunnerTag]=" \ + "https://maestro.cps.digit.au.dk/gitlab/api/v4/projects//trigger/pipeline" +``` diff --git a/docs/developer/devops/gitlab-ci-cd.md b/docs/developer/devops/gitlab-ci-cd.md new file mode 100644 index 000000000..2031b34ac --- /dev/null +++ b/docs/developer/devops/gitlab-ci-cd.md @@ -0,0 +1,170 @@ +# GitLab CI/CD Infrastructure + +Given that files in the Library are stored in a Git repository, the approach +employed was that of GitLab's parent-child pipelines. In this context, a parent +pipeline initiates the execution of another pipeline within the same project, +the latter of which is known as the child pipeline. More about pipelines can be +found in +[GitLab's documentation on CI/CD Pipelines](https://docs.gitlab.com/ee/ci/pipelines/). + +Additionally, we use GitLab as an OAuth service provider, which enables users to +securely access the DTaaS website. +Each user is allocated a personal folder on the GitLab platform, which is +organized in subfolders to facilitate the management of their DTs assets. +A user's personal folder has the following structure: + +```text +/ +├── common/ +├── data/ +├── digital_twins/ +├── functions/ +├── models/ +├── tools/ +├── .gitlab-ci.yml +├── BUILD.md +└── README.md +``` + +## Parent Pipeline + +The parent pipeline was configured as a top-level element. There is a single +stage called `triggers`, which is responsible for triggering other child +pipelines. + +In the `.gitlab-ci.yml` file, triggers are managed for DTs inside the user +repository. Each trigger is connected with one distinct DT and becomes active +when the corresponding value of the `DTName` variable is provided by the API +call. The `RunnerTag` variable is used to specify a custom runner tag that will +execute each job in the DT's pipeline. + +Below is an explanation of the keywords used in the CI/CD pipeline configuration: + +- **Image**: Specifies the Docker image, such as `fedora:41`, providing the + environment for the pipeline execution. +- **Stages**: Defines phases in the pipeline, such as triggers, organizing tasks + sequentially. +- **Trigger**: Initiates another pipeline or job, incorporating configurations + from an external file. +- **Include**: Imports configurations from another file for modular pipeline + setups. +- **Rules**: Sets conditions for job execution based on variables or states. +- **If**: A condition within rules specifying when a job should run based on the + value of a variable. +- **When**: Specifies the timing of job execution, such as `always`. +- **Variables**: Defines dynamic variables, like `RunnerTag`, used in the + pipeline. + +Here is an example of such a YAML file that registers a trigger for a DT named +`mass-spring-damper`: + +```yaml +image: fedora:41 + +stages: + - triggers + +trigger_mass-spring-damper: + stage: triggers + trigger: + include: digital_twins/mass-spring-damper/.gitlab-ci.yml + rules: + - if: '$DTName == "mass-spring-damper"' + when: always + variables: + RunnerTag: $RunnerTag +``` + +## Digital Twin Structure + +The `digital_twins` folder contains DTs that have been pre-built by one or +more users. The intention is that they should be sufficiently flexible to be +reconfigured as required for specific use cases. + +Let us look at an example of such a configuration. The +[dtaas/user1 repository on gitlab.com](https://gitlab.com/dtaas/user1) contains +the `digital_twins` directory with a `hello_world` example. Its file structure +looks like this: + +```text +hello_world/ +├── lifecycle/ +│ ├── clean +│ ├── create +│ ├── execute +│ └── terminate +├── .gitlab-ci.yml +└── description.md +``` + +The `lifecycle` directory here contains four files - `clean`, `create`, +`execute` and `terminate`, which are simple +[BASH scripts](https://www.gnu.org/software/bash/). These correspond to stages +in a digital twin's lifecycle. + +![Digital Twin Lifecycle](./images/dt-lifecycle.png) + +## Child Pipelines + +To automate the lifecycle of DT, a child pipeline has been incorporated into +its corresponding folder. Regardless of the image provided in the parent +pipeline, each child pipeline will use its own specified image specified in +its YAML configuration or Ruby's default image. + +The following are the explanations of the keywords used within the CI/CD child +pipeline based on +[GitLab's CI/CD YAML syntax reference](https://docs.gitlab.com/ee/ci/yaml/): + +1. `Stage` + It defines the steps that happen in a pipeline sequentially, for example, + create, execute and clean, to make sure that tasks occur in a specific order. +1. `Script` + It lists commands to be run at each step; for example, changing directories, + modifying permissions, or running lifecycle scripts. +1. `Tags` + It specifies which runner should run the jobs, thereby providing an + additional control over where and how the jobs are run. + +With the DT `mass-spring-damper` serving as a point of reference, +the stages in question are designed to facilitate the creation, execution, and +termination of the DT simulation, as well as the cleaning and restoration of the +environment to ensure its readiness for future executions. Here is an example of +a configuration that defines `create`, `execute` and `clean` as part of the +child pipeline: + +```yaml +image: ubuntu:20.04 + +stages: + - create + - execute + - clean + +create_mass-spring-damper: + stage: create + script: + - cd digital_twins/mass-spring-damper + - chmod +x lifecycle/create + - lifecycle/create + tags: + - $RunnerTag + +execute_mass-spring-damper: + stage: execute + script: + - cd digital_twins/mass-spring-damper + - chmod +x lifecycle/execute + - lifecycle/execute + tags: + - $RunnerTag + +clean_mass-spring-damper: + stage: clean + script: + - cd digital_twins/mass-spring-damper + - chmod +x lifecycle/terminate + - chmod +x lifecycle/clean + - lifecycle/terminate + tags: + - $RunnerTag +``` diff --git a/docs/developer/devops/images/devops-overview.png b/docs/developer/devops/images/devops-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..c93c0eb439d9888a703741a7a4af147bacd09bea GIT binary patch literal 41275 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 literal 0 HcmV?d00001 diff --git a/docs/developer/dt-lifecycle.png b/docs/developer/devops/images/dt-lifecycle.png similarity index 100% rename from docs/developer/dt-lifecycle.png rename to docs/developer/devops/images/dt-lifecycle.png diff --git a/docs/developer/devops/implemented-classes.md b/docs/developer/devops/implemented-classes.md new file mode 100644 index 000000000..26fbcccea --- /dev/null +++ b/docs/developer/devops/implemented-classes.md @@ -0,0 +1,104 @@ +# Implemented Classes + +In order to facilitate the management of the lifecycle of DTs via the web +application interfaces, it was necessary to develop specific code within the +project client. The code was designed to facilitate efficient API calls through +the use of Gitbeaker as a wrapper, as this approach simplifies interactions +with GitLab’s REST API and reduces the complexity of the project code. + +After testing the correctness of the API by implementing a `GitlabDriver` +class, the APIs were integrated into the front-end. The latter was done by +wiring up API endpoints to the front-end components, ensuring a seamless data +flow. Unit and integration testing was done to ensure the coverage of all +functional requirements and solve all problems regarding data consistency, +performance, or user experience. + +## GitlabInstance + +The `GitlabInstance` class was created in order to manage the APIs and +information related to the GitLab profile, the project, and the user-specific +data stored in their account. + +The username and the token required to instantiate the Gitbeaker _Gitlab_ +component, which is required for making the API calls, are retrieved from the +session storage, taking the _access_token_ of the user already logged into the +DTaaS application. + +The initialisation of the `GitlabInstance` object is concluded with the +execution of the `init()` method, which enables the retrieval and storage of +the `projectId` and `triggerToken` attributes. The _projectId_ is a unique +identifier for projects in GitLab and it is essential for subsequent API calls. +For example, it is passed to the method that retrieves a _trigger token_, +which is used to trigger CI/CD pipelines in GitLab. + +The objective of the `getDTSubfolders` method was to retrieve the names and +corresponding descriptions of the DTs of the user, so that these could be shown +at the front-end interface. This approach would obviate the user from having to +input the name of a DT; hence, saving the user from possible error and +inefficiencies arising from manual input. The user interface makes it easier +for the user to deal with DTs by automatizing their selection and manages them +more accurately. This implementation also eliminates the necessity for manual +input from users for the access token and the username, which are automatically +provided via the GitLab OAuth login. + +Furthermore, logs maintained in the `GitlabInstance` class improve awareness +and transparency over the operations conducted. The final three methods are +employed in conjunction to oversee the execution of a DT. In particular, +individual logs are saved for each job in the pipeline, and the status of the +latter is monitored so that, once the entire pipeline is complete, the results +can be displayed in detail within the user interface. In this way, all statuses +of each operation are logged for better debugging and performance analysis, +including possible errors. Having trace logs exposed to the user means +troubleshooting will be more effective and insight into execution and +management of DTs will be gained, improving system reliability and user +confidence. + +## DigitalTwin + +The DigitalTwin class was created in order to manage the APIs and information +related to a specific DT. + +The creation of a DigitalTwin object requires a pre-existing GitlabInstance to +be associated with the object. It was determined that matching a different +GitlabInstance for each DigitalTwin would be the optimal approach to ensure the +maintenance of independence between the various DTs. The _api_ attribute of +GitlabInstance facilitates the execution of Gitbeaker APIs pertinent to the DT. + +The class allows a pipeline to be started and stopped, thus giving the user full +control of the execution. The execute() method uses the previous methods +internally. This approach ensures that there are no errors due to missing design +information during the execution of the pipeline. Responsibilities have been +divided into smaller methods in order to make the code more modular, facilitating +debugging and testing. In both execute() and stop(), the status of operations +executed on the DT is monitored, keeping track of them via the logs attribute of +GitlabInstance. Errors are identified and tracked, providing a complete view and +the ability to monitor performance. + +The `descriptionFiles`, `lifecycleFiles` and `configFiles` attributes are used +to keep track of the files within the corresponding GitLab folder of the +DT, thus enabling the read and modify features. +The create() method enables the creation of a DT and saves all its files +in the user’s corresponding GitLab folder. Additionally, if the DT is +configured as _common_, it is also added to GitLab’s shared folder, +making it part of the Library and accessible to other users. + +Similarly, the delete() method removes a DT from GitLab. If the DT was +part of the Library, it is also removed from the shared folder. + +A crucial aspect of these two methods is their integration with the +DevOps infrastructure. When a DT is created or deleted, the +`.gitlab-ci.yml` file of the parent pipeline is updated to add or remove +the _trigger_DTName_ section associated with the DT. This ensures that a +user-created DT can be executed via the web interface without requiring +manual updates to pipeline configuration files on GitLab. Instead, these +files are automatically updated, providing an effortless user experience +and maintaining alignment with the infrastructure. + +## LibraryAsset + +The LibraryAsset class was created in order to manage the APIs and information +related to a specific library asset. + +It is similar to the DigitalTwin class, but contains only the methods required +to display files. This focused design reflects its limited scope and ensures +simplicity and clarity for use cases involving the library. diff --git a/docs/developer/devops/overview.md b/docs/developer/devops/overview.md new file mode 100644 index 000000000..0c097116f --- /dev/null +++ b/docs/developer/devops/overview.md @@ -0,0 +1,88 @@ +# Overview + +## Expectations From a DevOps Framework + +The functional requirements of the system include the automation of pipelines +and the management of Digital Twins (DTs) via Application Programming Interface +(API). Consequently, the framework was designed to facilitate the comprehensive +automation of the DT lifecycle, minimizing the necessity for manual +intervention. The system must be capable of managing the dynamic configuration +of pipelines, utilizing variables that permit the customization of pipeline +behavior according to the data provided by the user, such as the designation of +the DT. + +Integration with GitLab is another fundamental requirement. The framework must +be able to interact with GitLab to execute CI/CD pipelines via API calls using +Gitbeaker as a wrapper. Users must authenticate via GitLab's OAuth mechanism, +and the system must automatically manage the authentication tokens and trigger +tokens needed to start pipelines. Additionally, the system must automatically +retrieve key information from the user's GitLab repository, such as the list of +available DTs. + +## High Level Architecture + +We use a DevOps framework to enable interaction with the DTs via APIs calls, so +that users can start, monitor and manage their DTs via the web +application. + +The architectural design of the DevOps framework was intended to facilitate the +management of DTs. It is based on two key elements: + +- __The GitLab CI/CD infrastructure__, which employs a parent-child pipeline + hierarchy. The objective of this infrastructure is to enable the triggering + of a pipeline of a specific DT by simply passing the necessary data as + parameters, such as the name of the DT and the tag of the runner that will + execute the pipeline. + +- __Classes implemented in the code__, which utilize Gitbeaker to realize the + APIs required for interaction with DTs. + +The component diagram below illustrates how the infrastructure consists of three +main classes: `DigitalTwin`, `LibraryAsset`, and `GitlabInstance`. + +![High-level design of the DevOps framework](./images/devops-overview.png) + +The distinction between the `DigitalTwin` and `LibraryAsset` classes was +necessary to separate the full management of a DT from an asset visualized +through the library. The `LibraryAsset` class provides a significantly reduced +set of functionality compared to the `DigitalTwin`, focusing only on asset +visualization. + +Intermediate classes were introduced to ensure a clear separation of file +management responsibilities: `DTAssets` and `LibraryManager`. These classes +implement the necessary logic to mediate between a `DigitalTwin` or +`LibraryAsset` and the `FileHandler` class. The `FileHandler` class has a +single responsibility: to make API calls to files via GitBeaker. This design +allows for the separation of high-level logic from low-level file operations. + +The infrastructure requires that the `DigitalTwin` class and the `LibraryAsset` +class include an instance of `GitlabInstance`. This composition relationship +emphasizes the dependency between these classes, where a `DigitalTwin` or a +`LibraryAsset` instance cannot function independently without a `GitlabInstance`. +The `GitlabInstance` class provides the essential services required for +interacting with GitLab, including API integrations and pipeline management. + +The `GitlabInstance` class serves as the interface to the realized CI/CD +infrastructure. By utilizing the GitLab class imported from GitBeaker and +initialized as its attribute, `GitlabInstance` facilitates the execution of +pipelines and other CI/CD-related tasks. This architecture ensures that the +infrastructure remains modular and adheres to the principles of single +responsibility and clear dependency management. + +## Gitbeaker + +[GitBeaker is a client library for Node.js](https://github.com/jdalrymple/gitbeaker) +that enables users to interact with the GitLab API. In particular, +`gitbeaker/rest` is a specific version of the Gitbeaker package that allows +users to submit requests to GitLab's REST API. + +One of the most significant features of Gitbeaker is the provision of support +for a range of authentication methods, including the use of personal tokens +and OAuth keys. Gitbeaker provides a range of predefined methods for +requesting data from the various GitLab APIs, eliminating the need for users +to manually construct HTTP requests, thus greatly simplifying the integration +process with GitLab. + +It automatically handles errors in HTTP requests (and provides meaningful error +messages that help diagnose and resolve problems) and is fully compatible with +all of GitLab's REST APIs. diff --git a/mkdocs-github.yml b/mkdocs-github.yml index 483277e41..0ae721fae 100644 --- a/mkdocs-github.yml +++ b/mkdocs-github.yml @@ -96,7 +96,11 @@ nav: - Testing: developer/testing/intro.md - Docker: developer/docker/docker.md - NPM Packages: developer/npm-packages.md - - DevOps Framework: developer/devops.md + - DevOps Framework: + - Overview: developer/devops/overview.md + - GitLab CI/CD Infrastructure: developer/devops/gitlab-ci-cd.md + - Triggering Pipelines via API: developer/devops/api.md + - Implemented Classes: developer/devops/implemented-classes.md - Bugs: bugs.md - Thanks: thanks.md - License: diff --git a/mkdocs.yml b/mkdocs.yml index 5efc486a7..461a3922e 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -96,7 +96,11 @@ nav: - Testing: developer/testing/intro.md - Docker: developer/docker/docker.md - NPM Packages: developer/npm-packages.md - - DevOps Framework: developer/devops.md + - DevOps Framework: + - Overview: developer/devops/overview.md + - GitLab CI/CD Infrastructure: developer/devops/gitlab-ci-cd.md + - Triggering Pipelines via API: developer/devops/api.md + - Implemented Classes: developer/devops/implemented-classes.md - Bugs: bugs.md - Thanks: thanks.md - License: From e16245a0cbe82655973e76ad93097a3cce9d3c45 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Tue, 17 Dec 2024 12:49:09 +0530 Subject: [PATCH 17/24] Rename implemented-classes.md --- .../devops/{implemented-classes.md => implementation.md} | 0 mkdocs-github.yml | 2 +- mkdocs.yml | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename docs/developer/devops/{implemented-classes.md => implementation.md} (100%) diff --git a/docs/developer/devops/implemented-classes.md b/docs/developer/devops/implementation.md similarity index 100% rename from docs/developer/devops/implemented-classes.md rename to docs/developer/devops/implementation.md diff --git a/mkdocs-github.yml b/mkdocs-github.yml index 0ae721fae..ec0fbe3e5 100644 --- a/mkdocs-github.yml +++ b/mkdocs-github.yml @@ -100,7 +100,7 @@ nav: - Overview: developer/devops/overview.md - GitLab CI/CD Infrastructure: developer/devops/gitlab-ci-cd.md - Triggering Pipelines via API: developer/devops/api.md - - Implemented Classes: developer/devops/implemented-classes.md + - Implemented Classes: developer/devops/implementation.md - Bugs: bugs.md - Thanks: thanks.md - License: diff --git a/mkdocs.yml b/mkdocs.yml index 461a3922e..cec0c7632 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -100,7 +100,7 @@ nav: - Overview: developer/devops/overview.md - GitLab CI/CD Infrastructure: developer/devops/gitlab-ci-cd.md - Triggering Pipelines via API: developer/devops/api.md - - Implemented Classes: developer/devops/implemented-classes.md + - Implemented Classes: developer/devops/implementation.md - Bugs: bugs.md - Thanks: thanks.md - License: From 0e31d1bd5e608fae6d403317b474f830fd98869e Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Tue, 17 Dec 2024 13:17:47 +0530 Subject: [PATCH 18/24] Fix codeclimate issues (devops files) --- docs/developer/devops/gitlab-ci-cd.md | 4 ++-- docs/developer/devops/implementation.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/developer/devops/gitlab-ci-cd.md b/docs/developer/devops/gitlab-ci-cd.md index 2031b34ac..38e199f1c 100644 --- a/docs/developer/devops/gitlab-ci-cd.md +++ b/docs/developer/devops/gitlab-ci-cd.md @@ -8,7 +8,7 @@ found in [GitLab's documentation on CI/CD Pipelines](https://docs.gitlab.com/ee/ci/pipelines/). Additionally, we use GitLab as an OAuth service provider, which enables users to -securely access the DTaaS website. +securely access the DTaaS website.
Each user is allocated a personal folder on the GitLab platform, which is organized in subfolders to facilitate the management of their DTs assets. A user's personal folder has the following structure: @@ -68,7 +68,7 @@ trigger_mass-spring-damper: stage: triggers trigger: include: digital_twins/mass-spring-damper/.gitlab-ci.yml - rules: + rules: - if: '$DTName == "mass-spring-damper"' when: always variables: diff --git a/docs/developer/devops/implementation.md b/docs/developer/devops/implementation.md index 26fbcccea..5226c1f4c 100644 --- a/docs/developer/devops/implementation.md +++ b/docs/developer/devops/implementation.md @@ -76,7 +76,7 @@ the ability to monitor performance. The `descriptionFiles`, `lifecycleFiles` and `configFiles` attributes are used to keep track of the files within the corresponding GitLab folder of the -DT, thus enabling the read and modify features. +DT, thus enabling the read and modify features.
The create() method enables the creation of a DT and saves all its files in the user’s corresponding GitLab folder. Additionally, if the DT is configured as _common_, it is also added to GitLab’s shared folder, From 741a0573e1cfe28494ccbcf22416018137b5da0c Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Wed, 18 Dec 2024 09:54:11 +0530 Subject: [PATCH 19/24] Fix codeclimate issues --- deploy/services/runner/GITLAB-RUNNER.md | 2 +- docs/admin/gitlab/runner.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/services/runner/GITLAB-RUNNER.md b/deploy/services/runner/GITLAB-RUNNER.md index 694216383..ab4d75427 100644 --- a/deploy/services/runner/GITLAB-RUNNER.md +++ b/deploy/services/runner/GITLAB-RUNNER.md @@ -6,7 +6,7 @@ the execution of Digital Twins. There are two installation scenarios: 1. __Localhost Installation__ - You are using the integrated runner locally with a GitLab instance hosted at `https://localhost/gitlab`. -2. __Server Installation__ - You are using the integrated runner with a GitLab +1. __Server Installation__ - You are using the integrated runner with a GitLab instance hosted on a production server. This server may be a remote server and not necessarily your own, and may have TLS enabled with a self-signed certificate. diff --git a/docs/admin/gitlab/runner.md b/docs/admin/gitlab/runner.md index 65872e6c1..5076f5da7 100644 --- a/docs/admin/gitlab/runner.md +++ b/docs/admin/gitlab/runner.md @@ -6,7 +6,7 @@ the execution of Digital Twins. There are two installation scenarios: 1. __Localhost Installation__ - You are using the integrated runner locally with a GitLab instance hosted at `https://localhost/gitlab`. -2. __Server Installation__ - You are using the integrated runner with a GitLab +1. __Server Installation__ - You are using the integrated runner with a GitLab instance hosted on a production server. This server may be a remote server and not necessarily your own, and may have TLS enabled with a self-signed certificate. From b074227a57090fc14a7e35eb39073e40c39351c4 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Wed, 18 Dec 2024 09:56:51 +0530 Subject: [PATCH 20/24] Edits api.md --- docs/developer/devops/api.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/developer/devops/api.md b/docs/developer/devops/api.md index 29c2f6637..5cab35acc 100644 --- a/docs/developer/devops/api.md +++ b/docs/developer/devops/api.md @@ -1,10 +1,10 @@ # API Calls -A pipeline can be triggered via an API call using a +A GitLab DevOps pipeline can be triggered via an API call using a [pipeline trigger token](https://docs.gitlab.com/ee/ci/triggers/) which is created on the GitLab instance, with the following values: -1. ``: The user GitLab trigger token. +1. ``: The user GitLab trigger token. 1. ``: The name of the DT (e.g. mass-spring-damper). 1. ``: The specific tag of the GitLab runner that the user wants to use. 1. ``: The ID of the GitLab project, displayed in the project overview @@ -16,7 +16,7 @@ will be executed in the `main` branch: ```bash curl --request POST \ - --form "token=" \ + --form "token=" \ --form ref=main \ --form "variables[DTName]=" \ --form "variables[RunnerTag]=" \ From 7d0a847e821b1c65e614dab720c0538e5c928e9a Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Wed, 18 Dec 2024 10:00:44 +0530 Subject: [PATCH 21/24] Add citations --- docs/developer/devops/api.md | 6 ++++++ docs/developer/devops/gitlab-ci-cd.md | 6 ++++++ docs/developer/devops/implementation.md | 6 ++++++ docs/developer/devops/overview.md | 6 ++++++ 4 files changed, 24 insertions(+) diff --git a/docs/developer/devops/api.md b/docs/developer/devops/api.md index 5cab35acc..6e46dbe06 100644 --- a/docs/developer/devops/api.md +++ b/docs/developer/devops/api.md @@ -22,3 +22,9 @@ will be executed in the `main` branch: --form "variables[RunnerTag]=" \ "https://maestro.cps.digit.au.dk/gitlab/api/v4/projects//trigger/pipeline" ``` + +--- + +Ref: Vanessa Scherma, Design and implementation of an integrated DevOps +framework for Digital Twins as a Service software platform, +Master's Degree Thesis, Politecnico Di Torino, 2024. diff --git a/docs/developer/devops/gitlab-ci-cd.md b/docs/developer/devops/gitlab-ci-cd.md index 38e199f1c..b5f0613f5 100644 --- a/docs/developer/devops/gitlab-ci-cd.md +++ b/docs/developer/devops/gitlab-ci-cd.md @@ -168,3 +168,9 @@ clean_mass-spring-damper: tags: - $RunnerTag ``` + +--- + +Ref: Vanessa Scherma, Design and implementation of an integrated DevOps +framework for Digital Twins as a Service software platform, +Master's Degree Thesis, Politecnico Di Torino, 2024. diff --git a/docs/developer/devops/implementation.md b/docs/developer/devops/implementation.md index 5226c1f4c..380939a3b 100644 --- a/docs/developer/devops/implementation.md +++ b/docs/developer/devops/implementation.md @@ -102,3 +102,9 @@ related to a specific library asset. It is similar to the DigitalTwin class, but contains only the methods required to display files. This focused design reflects its limited scope and ensures simplicity and clarity for use cases involving the library. + +--- + +Ref: Vanessa Scherma, Design and implementation of an integrated DevOps +framework for Digital Twins as a Service software platform, +Master's Degree Thesis, Politecnico Di Torino, 2024. diff --git a/docs/developer/devops/overview.md b/docs/developer/devops/overview.md index 0c097116f..d48c226a4 100644 --- a/docs/developer/devops/overview.md +++ b/docs/developer/devops/overview.md @@ -86,3 +86,9 @@ process with GitLab. It automatically handles errors in HTTP requests (and provides meaningful error messages that help diagnose and resolve problems) and is fully compatible with all of GitLab's REST APIs. + +--- + +Ref: Vanessa Scherma, Design and implementation of an integrated DevOps +framework for Digital Twins as a Service software platform, +Master's Degree Thesis, Politecnico Di Torino, 2024. From 20bf31c4fa668378e376e2a85e280bc52a4fcc8d Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Wed, 18 Dec 2024 10:03:45 +0530 Subject: [PATCH 22/24] Remove GitlabDriver reference --- docs/developer/devops/implementation.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/developer/devops/implementation.md b/docs/developer/devops/implementation.md index 380939a3b..27727dd48 100644 --- a/docs/developer/devops/implementation.md +++ b/docs/developer/devops/implementation.md @@ -6,12 +6,10 @@ project client. The code was designed to facilitate efficient API calls through the use of Gitbeaker as a wrapper, as this approach simplifies interactions with GitLab’s REST API and reduces the complexity of the project code. -After testing the correctness of the API by implementing a `GitlabDriver` -class, the APIs were integrated into the front-end. The latter was done by -wiring up API endpoints to the front-end components, ensuring a seamless data -flow. Unit and integration testing was done to ensure the coverage of all -functional requirements and solve all problems regarding data consistency, -performance, or user experience. +The APIs have been integrated into the front-end by wiring up API endpoints to +front-end components, ensuring a seamless data flow. Unit and integration +testing was done to ensure the coverage of all functional requirements and solve +all problems regarding data consistency, performance, or user experience. ## GitlabInstance From 402b0867a91ba83d14bbaf4e5ec45713f52fbe03 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Wed, 18 Dec 2024 10:20:58 +0530 Subject: [PATCH 23/24] Add TS implementation --- docs/developer/devops/implementation.md | 54 +++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/docs/developer/devops/implementation.md b/docs/developer/devops/implementation.md index 27727dd48..d4fd1afc1 100644 --- a/docs/developer/devops/implementation.md +++ b/docs/developer/devops/implementation.md @@ -11,6 +11,60 @@ front-end components, ensuring a seamless data flow. Unit and integration testing was done to ensure the coverage of all functional requirements and solve all problems regarding data consistency, performance, or user experience. +Given below is our implementation of these classes in TypeScript: + +```typescript +class GitlabInstance { + async init(); + async getProjectId(); + async getTriggerToken(projectId: number); + async getDTSubfolders(projectId: number); + async getLibrarySubfolders( + projectId: number, + type: string, + isPrivate: boolean, + ); + executionLogs(); + async getPipelineJobs( + projectId: number, + pipelineId: number, + ); + async getJobTrace(projectId: number, jobId: number); + async getPipelineStatus( + projectId: number, + pipelineId: number, + ); +} + +class DigitalTwin { + async getDescription(); + async getFullDescription(); + private async triggerPipeline(); + async execute(); + async stop(projectId: number, pipeline: string); + async create( + files: FileState[], + cartAssets: LibraryAsset[], + libraryFiles: LibraryConfigFile[], + ); + async delete(); + async getDescriptionFiles(); + async getConfigFiles(); + async getLifecycleFiles(); + async prepareAllAssetFiles( + cartAssets: LibraryAsset[], + libraryFiles: LibraryConfigFile[], + ); + async getAssetFiles(); +} + +class LibraryAsset { + async getDescription(); + async getFullDescription(); + async getConfigFiles(); +} +``` + ## GitlabInstance The `GitlabInstance` class was created in order to manage the APIs and From 1fe8d8166ae6e112d17d17fb559d79c05ed19ae4 Mon Sep 17 00:00:00 2001 From: aryanpingle Date: Wed, 18 Dec 2024 10:26:28 +0530 Subject: [PATCH 24/24] GitLab parent-child pipeline --- docs/developer/devops/gitlab-ci-cd.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/developer/devops/gitlab-ci-cd.md b/docs/developer/devops/gitlab-ci-cd.md index b5f0613f5..c23197aa6 100644 --- a/docs/developer/devops/gitlab-ci-cd.md +++ b/docs/developer/devops/gitlab-ci-cd.md @@ -6,6 +6,9 @@ pipeline initiates the execution of another pipeline within the same project, the latter of which is known as the child pipeline. More about pipelines can be found in [GitLab's documentation on CI/CD Pipelines](https://docs.gitlab.com/ee/ci/pipelines/). +
+We use this GitLab parent-child pipeline setup to trigger execution of digital +twins stored in a user's GitLab repository. Additionally, we use GitLab as an OAuth service provider, which enables users to securely access the DTaaS website.