From dc3ab4cf7ec303c3f3b79b0bcafa27f4d842fa18 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Wed, 26 Aug 2020 21:44:20 +0900 Subject: [PATCH 01/32] docs: add missing 'generic' menu --- website/sidebars.json | 1 + 1 file changed, 1 insertion(+) diff --git a/website/sidebars.json b/website/sidebars.json index 5400b35a..c00efb24 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -22,6 +22,7 @@ "nodes/firebase", "nodes/saas", "nodes/elastic", + "nodes/generic", "nodes/outscale" ] } From b57be0f711ab42a6de22602b521408b8a94cc49f Mon Sep 17 00:00:00 2001 From: mingrammer Date: Wed, 26 Aug 2020 21:49:50 +0900 Subject: [PATCH 02/32] docs: add missing 'openstack' menu --- website/sidebars.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/sidebars.json b/website/sidebars.json index c00efb24..f74f0735 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -18,10 +18,11 @@ "nodes/k8s", "nodes/alibabacloud", "nodes/oci", + "nodes/openstack", "nodes/programming", "nodes/firebase", - "nodes/saas", "nodes/elastic", + "nodes/saas", "nodes/generic", "nodes/outscale" ] From 1fb25c46cc6dce2767c0b04e62b25f601f51bf76 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Wed, 26 Aug 2020 21:51:18 +0900 Subject: [PATCH 03/32] docs(readme): update badges --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ed6209e7..92c24eef 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,8 @@ ![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571) ![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) ![openstack provider](https://img.shields.io/badge/provider-OpenStack-orange?logo=openstack&color=da1a32) +![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) +![outscale provider](https://img.shields.io/badge/provider-OutScale-orange?color=5f87bf) Buy Me A Coffee From f96bd7ef4b085a695b2b292ed817f25684e5b2ec Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Wed, 26 Aug 2020 21:54:03 +0900 Subject: [PATCH 04/32] docs(readme): reorder badges --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 92c24eef..03c24aec 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,19 @@ [![todos](https://badgen.net/https/api.tickgit.com/badgen/github.com/mingrammer/diagrams?label=todos)](https://www.tickgit.com/browse?repo=github.com/mingrammer/diagrams) ![on premise provider](https://img.shields.io/badge/provider-OnPremise-orange?color=5f87bf) +![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) ![aws provider](https://img.shields.io/badge/provider-AWS-orange?logo=amazon-aws&color=ff9900) ![azure provider](https://img.shields.io/badge/provider-Azure-orange?logo=microsoft-azure&color=0089d6) ![gcp provider](https://img.shields.io/badge/provider-GCP-orange?logo=google-cloud&color=4285f4) ![kubernetes provider](https://img.shields.io/badge/provider-Kubernetes-orange?logo=kubernetes&color=326ce5) ![alibaba cloud provider](https://img.shields.io/badge/provider-AlibabaCloud-orange) ![oracle cloud provider](https://img.shields.io/badge/provider-OracleCloud-orange?logo=oracle&color=f80000) -![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) +![openstack provider](https://img.shields.io/badge/provider-OpenStack-orange?logo=openstack&color=da1a32) ![firebase provider](https://img.shields.io/badge/provider-Firebase-orange?logo=firebase&color=FFCA28) +![outscale provider](https://img.shields.io/badge/provider-OutScale-orange?color=5f87bf) ![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571) ![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) -![openstack provider](https://img.shields.io/badge/provider-OpenStack-orange?logo=openstack&color=da1a32) -![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) -![outscale provider](https://img.shields.io/badge/provider-OutScale-orange?color=5f87bf) +![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) Buy Me A Coffee From 3c49484bed7134a9a9de7a0bb08a7860a0af2958 Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Wed, 26 Aug 2020 21:59:19 +0900 Subject: [PATCH 05/32] docs(readme): reorder badges --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 03c24aec..d70cee0b 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,6 @@ [![todos](https://badgen.net/https/api.tickgit.com/badgen/github.com/mingrammer/diagrams?label=todos)](https://www.tickgit.com/browse?repo=github.com/mingrammer/diagrams) ![on premise provider](https://img.shields.io/badge/provider-OnPremise-orange?color=5f87bf) -![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) ![aws provider](https://img.shields.io/badge/provider-AWS-orange?logo=amazon-aws&color=ff9900) ![azure provider](https://img.shields.io/badge/provider-Azure-orange?logo=microsoft-azure&color=0089d6) ![gcp provider](https://img.shields.io/badge/provider-GCP-orange?logo=google-cloud&color=4285f4) @@ -20,8 +19,9 @@ ![firebase provider](https://img.shields.io/badge/provider-Firebase-orange?logo=firebase&color=FFCA28) ![outscale provider](https://img.shields.io/badge/provider-OutScale-orange?color=5f87bf) ![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571) -![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) +![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf) ![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) +![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) Buy Me A Coffee From 82367d353b1641dcb111e351200461aa9aa4393f Mon Sep 17 00:00:00 2001 From: mingrammer Date: Wed, 26 Aug 2020 22:02:32 +0900 Subject: [PATCH 06/32] docs(website): reorder menu --- website/sidebars.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/sidebars.json b/website/sidebars.json index f74f0735..a9697114 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -19,12 +19,12 @@ "nodes/alibabacloud", "nodes/oci", "nodes/openstack", - "nodes/programming", "nodes/firebase", + "nodes/outscale", "nodes/elastic", - "nodes/saas", "nodes/generic", - "nodes/outscale" + "nodes/programming", + "nodes/saas" ] } } \ No newline at end of file From ca4972cbad905fecb88cb73d7fe80ffcf1b27f03 Mon Sep 17 00:00:00 2001 From: Guy Zylberberg Date: Thu, 27 Aug 2020 03:20:11 +0300 Subject: [PATCH 07/32] Added GCP Endpoints (#259) --- diagrams/gcp/api.py | 15 +++++++++++++++ docs/nodes/gcp.md | 4 ++++ resources/gcp/api/endpoints.png | Bin 0 -> 2737 bytes 3 files changed, 19 insertions(+) create mode 100644 diagrams/gcp/api.py create mode 100644 resources/gcp/api/endpoints.png diff --git a/diagrams/gcp/api.py b/diagrams/gcp/api.py new file mode 100644 index 00000000..5b027b6a --- /dev/null +++ b/diagrams/gcp/api.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _GCP + + +class _API(_GCP): + _type = "api" + _icon_dir = "resources/gcp/api" + + +class Endpoints(_API): + _icon = "endpoints.png" + + +# Aliases diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md index 91032ce3..39ad2e31 100644 --- a/docs/nodes/gcp.md +++ b/docs/nodes/gcp.md @@ -18,6 +18,10 @@ Node classes list of gcp provider. - **diagrams.gcp.analytics.Genomics** - **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias) +## gcp.api + +- **diagrams.gcp.api.Endpoints** + ## gcp.compute - **diagrams.gcp.compute.AppEngine**, **GAE** (alias) diff --git a/resources/gcp/api/endpoints.png b/resources/gcp/api/endpoints.png new file mode 100644 index 0000000000000000000000000000000000000000..339f7f24b946acd087b06eb43fd395911fa1e5e5 GIT binary patch literal 2737 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 Date: Thu, 27 Aug 2020 00:08:39 +0900 Subject: [PATCH 08/32] docs(website): remove sponsorship section --- website/pages/en/index.js | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/website/pages/en/index.js b/website/pages/en/index.js index 117ba514..cc0bdcaa 100644 --- a/website/pages/en/index.js +++ b/website/pages/en/index.js @@ -111,20 +111,6 @@ class Index extends React.Component { ); - const Sponsorship = () => ( -
-

Sponsorship

- - Sponsoring always helps a lot to maintain Diagrams. Thank you :) - - - Buy Me A Coffee - -
- ); - const Example = () => ( {[ @@ -162,7 +148,6 @@ class Index extends React.Component { - ); From 01332a459ef090d47e059a13ba078e1e2f8e33d3 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Thu, 27 Aug 2020 09:37:52 +0900 Subject: [PATCH 09/32] bump: up to version 0.17.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c714e8c5..8725f849 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "diagrams" -version = "0.16.0" +version = "0.17.0" description = "Diagram as Code" license = "MIT" authors = ["mingrammer "] From 67e093fd434d2385130908b624b186df97a66400 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Thu, 27 Aug 2020 09:55:49 +0900 Subject: [PATCH 10/32] docs(changelog): update v0.17.0 --- CHANGELOG.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac9c5d3a..20a0fc2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelogs +## 0.17.0 + +### Added + +- Support GCP Endpoints: #259 +- Support DroneCI and Atlantis (Terraform): #255 +- Support Okta: #254 +- Support OutScale provider: #251 +- Support Prometheus Operator: #253 +- Support Snowflake: #245 +- Support for CJK fonts + Replace ms-fonts with opensans: #242 +- Support Pushover: #241 + +### Fixed + +- Update bm, vm cases for OCI +- Set a dummy filename to prevent raise error when both name and filename are not provided: #240 + ## 0.16.0 ### Breaking Changes From d46896c75ffbbeef3c297622c79ae9d4aaa3ed58 Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Thu, 27 Aug 2020 09:58:15 +0900 Subject: [PATCH 11/32] docs(changelog): update PR links --- CHANGELOG.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 20a0fc2d..692ff6b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,19 +4,19 @@ ### Added -- Support GCP Endpoints: #259 -- Support DroneCI and Atlantis (Terraform): #255 -- Support Okta: #254 -- Support OutScale provider: #251 -- Support Prometheus Operator: #253 -- Support Snowflake: #245 -- Support for CJK fonts + Replace ms-fonts with opensans: #242 -- Support Pushover: #241 +- Support GCP Endpoints: [#259](https://github.com/mingrammer/diagrams/pull/259) +- Support DroneCI and Atlantis (Terraform): [#255](https://github.com/mingrammer/diagrams/pull/255) +- Support Okta: [#254](https://github.com/mingrammer/diagrams/pull/254) +- Support OutScale provider: [#251](https://github.com/mingrammer/diagrams/pull/251) +- Support Prometheus Operator: [#253](https://github.com/mingrammer/diagrams/pull/253) +- Support Snowflake: [#245](https://github.com/mingrammer/diagrams/pull/245) +- Support for CJK fonts + Replace ms-fonts with opensans: [#242](https://github.com/mingrammer/diagrams/pull/242) +- Support Pushover: [#241](https://github.com/mingrammer/diagrams/pull/241) ### Fixed - Update bm, vm cases for OCI -- Set a dummy filename to prevent raise error when both name and filename are not provided: #240 +- Set a dummy filename to prevent raise error when both name and filename are not provided: [#240](https://github.com/mingrammer/diagrams/pull/240) ## 0.16.0 From 5d64fb968be79d0c7bc0b214515a4e0b431b9e9c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Sep 2020 00:41:18 +0900 Subject: [PATCH 12/32] chore(deps): bump decompress from 4.2.0 to 4.2.1 in /website (#262) Bumps [decompress](https://github.com/kevva/decompress) from 4.2.0 to 4.2.1. - [Release notes](https://github.com/kevva/decompress/releases) - [Commits](https://github.com/kevva/decompress/compare/v4.2.0...v4.2.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- website/yarn.lock | 59 +++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/website/yarn.lock b/website/yarn.lock index cbfadbd6..acaa1fd9 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -1253,9 +1253,9 @@ bindings@^1.5.0: file-uri-to-path "1.0.0" bl@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" - integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== dependencies: readable-stream "^2.3.5" safe-buffer "^5.1.1" @@ -1363,9 +1363,9 @@ buffer-from@^1.0.0: integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== buffer@^5.2.1: - version "5.5.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.5.0.tgz#9c3caa3d623c33dd1c7ef584b89b88bf9c9bc1ce" - integrity sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww== + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -1661,7 +1661,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.15.1: +commander@^2.15.1, commander@^2.8.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -1671,13 +1671,6 @@ commander@^4.0.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@~2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ= - dependencies: - graceful-readlink ">= 1.0.0" - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -2062,9 +2055,9 @@ decompress-unzip@^4.0.1: yauzl "^2.4.2" decompress@^4.0.0, decompress@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" - integrity sha1-eu3YVCflqS2s/lVnSnxQXpbQH50= + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" + integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== dependencies: decompress-tar "^4.0.0" decompress-tarbz2 "^4.0.0" @@ -3071,14 +3064,9 @@ got@^8.3.1: url-to-options "^1.0.1" graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== gray-matter@^2.1.0: version "2.1.1" @@ -5597,11 +5585,16 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== +safe-buffer@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + safe-json-parse@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" @@ -5633,11 +5626,11 @@ scheduler@^0.19.1: object-assign "^4.1.1" seek-bzip@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" - integrity sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w= + version "1.0.6" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" + integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== dependencies: - commander "~2.8.1" + commander "^2.8.1" select@^1.1.2: version "1.1.2" @@ -6327,9 +6320,9 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= unbzip2-stream@^1.0.9: - version "1.3.3" - resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a" - integrity sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg== + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== dependencies: buffer "^5.2.1" through "^2.3.8" From e16eea48a4e5b7cbcc8a06312ebc7803b710500a Mon Sep 17 00:00:00 2001 From: Emrem Date: Sat, 5 Sep 2020 18:43:31 +0300 Subject: [PATCH 13/32] ocelot gateway add (#263) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emrem Pıtırlı --- diagrams/onprem/network.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/network/ocelot.png | Bin 0 -> 26992 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/network/ocelot.png diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index 82a61499..67f5e712 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -52,6 +52,10 @@ class Nginx(_Network): _icon = "nginx.png" +class Ocelot(_Network): + _icon = "ocelot.png" + + class Pfsense(_Network): _icon = "pfsense.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 16549066..454b6bae 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -134,6 +134,7 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Kong** - **diagrams.onprem.network.Linkerd** - **diagrams.onprem.network.Nginx** +- **diagrams.onprem.network.Ocelot** - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** - **diagrams.onprem.network.Tomcat** diff --git a/resources/onprem/network/ocelot.png b/resources/onprem/network/ocelot.png new file mode 100644 index 0000000000000000000000000000000000000000..1216057309d1c04a292d30b9be6467c454ca035e GIT binary patch literal 26992 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∾_ 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 huWMTINO$iaHd&URqGmsPJUAr@OI<} Date: Mon, 14 Sep 2020 04:56:02 -0700 Subject: [PATCH 14/32] Adds akamai (#267) --- diagrams/saas/cdn.py | 4 ++++ docs/nodes/saas.md | 1 + resources/saas/cdn/akamai.png | Bin 0 -> 8419 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/saas/cdn/akamai.png diff --git a/diagrams/saas/cdn.py b/diagrams/saas/cdn.py index dec52654..3733621d 100644 --- a/diagrams/saas/cdn.py +++ b/diagrams/saas/cdn.py @@ -8,6 +8,10 @@ class _Cdn(_Saas): _icon_dir = "resources/saas/cdn" +class Akamai(_Cdn): + _icon = "akamai.png" + + class Cloudflare(_Cdn): _icon = "cloudflare.png" diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index e42f106a..607fa09c 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -17,6 +17,7 @@ Node classes list of saas provider. ## saas.cdn +- **diagrams.saas.cdn.Akamai** - **diagrams.saas.cdn.Cloudflare** ## saas.chat diff --git a/resources/saas/cdn/akamai.png b/resources/saas/cdn/akamai.png new file mode 100644 index 0000000000000000000000000000000000000000..2c008ed2abbad94b885794adbc80f1aa4a9f8610 GIT binary patch literal 8419 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 IR Date: Wed, 16 Sep 2020 16:15:39 +0200 Subject: [PATCH 15/32] Add: OpenServiceMesh component (#260) * Add: OpenServiceMesh component Signed-off-by: Nicolas Lamirault * Update: use full name OpenServiceMesh name Signed-off-by: Nicolas Lamirault * Update: add OSM alias for OpenServiceMesh Signed-off-by: Nicolas Lamirault * Fix: name of resource Signed-off-by: Nicolas Lamirault * Fix: name of OSM resource Signed-off-by: Nicolas Lamirault * Fix: remove doc Signed-off-by: Nicolas Lamirault --- config.py | 1 + diagrams/onprem/network.py | 5 +++++ docs/nodes/onprem.md | 1 + resources/onprem/network/open-service-mesh.png | Bin 0 -> 21752 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/onprem/network/open-service-mesh.png diff --git a/config.py b/config.py index 23e036d5..4d31677b 100644 --- a/config.py +++ b/config.py @@ -124,6 +124,7 @@ ALIASES = { "network": { "Etcd": "ETCD", "Haproxy": "HAProxy", + "OpenServiceMesh": "OSM", "Pfsense": "PFSense", "Vyos": "VyOS" }, diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index 67f5e712..9ea63186 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -56,6 +56,10 @@ class Ocelot(_Network): _icon = "ocelot.png" +class OpenServiceMesh(_Network): + _icon = "open-service-mesh.png" + + class Pfsense(_Network): _icon = "pfsense.png" @@ -84,5 +88,6 @@ class Zookeeper(_Network): ETCD = Etcd HAProxy = Haproxy +OSM = OpenServiceMesh PFSense = Pfsense VyOS = Vyos diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 454b6bae..ff4bcc16 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -135,6 +135,7 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Linkerd** - **diagrams.onprem.network.Nginx** - **diagrams.onprem.network.Ocelot** +- **diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias) - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** - **diagrams.onprem.network.Tomcat** diff --git a/resources/onprem/network/open-service-mesh.png b/resources/onprem/network/open-service-mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..d56d508314f373fd7eaac06c6c2eb21fe6ac58c4 GIT binary patch literal 21752 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

sOdNoyW1QC;L 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 literal 0 HcmV?d00001 From 005d6372931b6114594de0f5d6f6248809980240 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 16 Sep 2020 16:16:50 +0200 Subject: [PATCH 16/32] Add: cert-manager and letsencrypt into resources certificates (#265) * Add: cert-manager into resources certificates Signed-off-by: Nicolas Lamirault * Add: letsencrypt service Signed-off-by: Nicolas Lamirault * Fix: names of new resources Signed-off-by: Nicolas Lamirault * Fix: remove doc Signed-off-by: Nicolas Lamirault * Add: certificates components Signed-off-by: Nicolas Lamirault --- diagrams/onprem/certificates.py | 19 ++++++++++++++++++ docs/nodes/onprem.md | 5 +++++ .../onprem/certificates/cert-manager.png | Bin 0 -> 32453 bytes .../onprem/certificates/lets-encrypt.png | Bin 0 -> 5160 bytes 4 files changed, 24 insertions(+) create mode 100644 diagrams/onprem/certificates.py create mode 100644 resources/onprem/certificates/cert-manager.png create mode 100644 resources/onprem/certificates/lets-encrypt.png diff --git a/diagrams/onprem/certificates.py b/diagrams/onprem/certificates.py new file mode 100644 index 00000000..030e8a42 --- /dev/null +++ b/diagrams/onprem/certificates.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Certificates(_OnPrem): + _type = "certificates" + _icon_dir = "resources/onprem/certificates" + + +class CertManager(_Certificates): + _icon = "cert-manager.png" + + +class LetsEncrypt(_Certificates): + _icon = "lets-encrypt.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index ff4bcc16..62ec53ad 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -26,6 +26,11 @@ Node classes list of onprem provider. - **diagrams.onprem.cd.TektonCli** - **diagrams.onprem.cd.Tekton** +## onprem.certificates + +- **diagrams.onprem.certificates.CertManager** +- **diagrams.onprem.certificates.LetsEncrypt** + ## onprem.ci - **diagrams.onprem.ci.Circleci**, **CircleCI** (alias) diff --git a/resources/onprem/certificates/cert-manager.png b/resources/onprem/certificates/cert-manager.png new file mode 100644 index 0000000000000000000000000000000000000000..72bd27546e61606cdfeda3dcd5ba21d15ecaf7a1 GIT binary patch literal 32453 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 z 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/certificates/lets-encrypt.png b/resources/onprem/certificates/lets-encrypt.png new file mode 100644 index 0000000000000000000000000000000000000000..9963960fd99881db8598857389cd15e7d2d33799 GIT binary patch literal 5160 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 Date: Wed, 16 Sep 2020 16:17:36 +0200 Subject: [PATCH 17/32] Chat services : Rocketchat, Mattermost and Microsoft Teams (#268) * Add: SAAS Chat services Signed-off-by: Nicolas Lamirault * Fix: RocketChat name Signed-off-by: Nicolas Lamirault * Add: RocketChat image Signed-off-by: Nicolas Lamirault --- diagrams/saas/chat.py | 12 ++++++++++++ docs/nodes/saas.md | 3 +++ resources/saas/chat/mattermost.png | Bin 0 -> 7611 bytes resources/saas/chat/rocket-chat.png | Bin 0 -> 18207 bytes resources/saas/chat/teams.png | Bin 0 -> 6982 bytes 5 files changed, 15 insertions(+) create mode 100644 resources/saas/chat/mattermost.png create mode 100644 resources/saas/chat/rocket-chat.png create mode 100644 resources/saas/chat/teams.png diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py index ebdf0532..6ee66155 100644 --- a/diagrams/saas/chat.py +++ b/diagrams/saas/chat.py @@ -8,10 +8,22 @@ class _Chat(_Saas): _icon_dir = "resources/saas/chat" +class Mattermost(_Chat): + _icon = "mattermost.png" + + +class RocketChat(_Chat): + _icon = "rocket-chat.png" + + class Slack(_Chat): _icon = "slack.png" +class Teams(_Chat): + _icon = "teams.png" + + class Telegram(_Chat): _icon = "telegram.png" diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 607fa09c..0ffff416 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -22,7 +22,10 @@ Node classes list of saas provider. ## saas.chat +- **diagrams.saas.chat.Mattermost** +- **diagrams.saas.chat.RocketChat** - **diagrams.saas.chat.Slack** +- **diagrams.saas.chat.Teams** - **diagrams.saas.chat.Telegram** ## saas.identity diff --git a/resources/saas/chat/mattermost.png b/resources/saas/chat/mattermost.png new file mode 100644 index 0000000000000000000000000000000000000000..a308a6487254aa94f32e9cc966837247e8e3b1e7 GIT binary patch literal 7611 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 V0zy3dDM$bSrgvAjTE{W^{{WhpSF!*A literal 0 HcmV?d00001 From bb8d0df199769dedba51c75552fec2d5b4f9aa39 Mon Sep 17 00:00:00 2001 From: Daniils Petrovs <5202322+DaniruKun@users.noreply.github.com> Date: Thu, 17 Sep 2020 15:27:30 +0300 Subject: [PATCH 18/32] Add Erlang and Elixir icons (#275) * Add Erlang and Elixir icons * Update Elixir logo with clean one * Update logo again with higher dpi ver Co-authored-by: Daniils Petrovs --- diagrams/programming/language.py | 8 ++++++++ docs/nodes/programming.md | 2 ++ resources/programming/language/elixir.png | Bin 0 -> 31570 bytes resources/programming/language/erlang.png | Bin 0 -> 10277 bytes 4 files changed, 10 insertions(+) create mode 100644 resources/programming/language/elixir.png create mode 100644 resources/programming/language/erlang.png diff --git a/diagrams/programming/language.py b/diagrams/programming/language.py index 36c3d4c0..7dc4da95 100644 --- a/diagrams/programming/language.py +++ b/diagrams/programming/language.py @@ -28,6 +28,14 @@ class Dart(_Language): _icon = "dart.png" +class Elixir(_Language): + _icon = "elixir.png" + + +class Erlang(_Language): + _icon = "erlang.png" + + class Go(_Language): _icon = "go.png" diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 60c8a0e3..86c07b70 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -26,6 +26,8 @@ Node classes list of programming provider. - **diagrams.programming.language.Cpp** - **diagrams.programming.language.Csharp** - **diagrams.programming.language.Dart** +- **diagrams.programming.language.Elixir** +- **diagrams.programming.language.Erlang** - **diagrams.programming.language.Go** - **diagrams.programming.language.Java** - **diagrams.programming.language.Javascript**, **JavaScript** (alias) diff --git a/resources/programming/language/elixir.png b/resources/programming/language/elixir.png new file mode 100644 index 0000000000000000000000000000000000000000..86e7bddde8cb0ecd3d28a9cca1b10fb61dfb324f GIT binary patch literal 31570 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 c|3ARN_J2Rn`-uUFs|JDOq?9G=#Z5#04FAXgh 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 L7^*j_qT~Jt7z@EC literal 0 HcmV?d00001 From 8fc555825694e5c6302453b58c0ec11592e6ca72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lionel=20F=C3=89LICIT=C3=89?= Date: Fri, 18 Sep 2020 13:13:51 +0200 Subject: [PATCH 19/32] [Resources] generic: add subnet (#285) --- diagrams/generic/network.py | 4 ++++ docs/nodes/generic.md | 1 + resources/generic/network/subnet.png | Bin 0 -> 1225 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/generic/network/subnet.png diff --git a/diagrams/generic/network.py b/diagrams/generic/network.py index 7b9a9ee0..40367ef0 100644 --- a/diagrams/generic/network.py +++ b/diagrams/generic/network.py @@ -16,6 +16,10 @@ class Router(_Network): _icon = "router.png" +class Subnet(_Network): + _icon = "subnet.png" + + class Switch(_Network): _icon = "switch.png" diff --git a/docs/nodes/generic.md b/docs/nodes/generic.md index 785e1410..8e4249a1 100644 --- a/docs/nodes/generic.md +++ b/docs/nodes/generic.md @@ -26,6 +26,7 @@ Node classes list of generic provider. - **diagrams.generic.network.Firewall** - **diagrams.generic.network.Router** +- **diagrams.generic.network.Subnet** - **diagrams.generic.network.Switch** - **diagrams.generic.network.VPN** diff --git a/resources/generic/network/subnet.png b/resources/generic/network/subnet.png new file mode 100644 index 0000000000000000000000000000000000000000..2808968edcf91cec88a2c6ee3e8bcfff10088e8d GIT binary patch literal 1225 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$6%U;1OBOz@VoL!i*J5?aP3I z>?NMQuIx`Z1x2)Ur|Mhz0fi(>Tq8=H^K)}k^GX<;i&7IyQd1PlGfOfQ+&z5*!W;R- z85mfcJzX3_DsH{K8(GwBAmHHW^7CJKSY5E5P_lr*te18UNfRnNj$WvG&mC|%OSFN3 zfr){GL4koh#sS0i%k3Sq&uZwLp7d4s>@o9iKi2J&F%vl*QXXr;!tk6y01vkU4^Mk_#`}tgfZy2Q_#jpKfle=&F zYWm^@c{6+Rk4iEazdL7h?~Elwb^EN>DbJ7P*QiIR`!OY*&quY@?~8Qfrr6@5+&e#J zF=F*O&!lHF8}`cY=KlO$IIr(t@80_PhRJ1RHTxwe=i5E*NzP?s;A2F0szRelIaA*b z?$fc=pL=J1G-XEi$qk{uMhnVcJ{7C0*&J_W!pzXlu%USRUEfnI41xzN8C({;+PIma zfK!?eZ0;ns1>f`5?Ji_Vi2T&`W3D+fgE52amg8G|MEAeeJ!N{A{d`?{{Ea)e?@fLz z{dZoc!F0y?QGxIE`}h1xT^OijeR+Hx6ZJ^1r|6OqjxX%Ld8s4hd`uObQI5 z%l{`eID>+^ouTjVL8M^scyTG7*{_K0?s~@J*;zI3{~f#(Rr9z#qWa0~?b7WG4`iSz zq@e4#zT=;_&!%Q3_I3O?v*UZZa9`BCuJgw~`yAkZt$rc6v6oNs`-_F^+t-`bt@wSn zOh|yM+J@oVzZt9|d=1x|AKC!zUy#LchH1n1`WGLLY`u89kJ-6KzP^5mf^>&|JJ@lI z4DTKuRcP$7kn8&r&EVf^#H`>U;lQAl>feQuT5FE?I+)+6mdyY1bl?Af_g4IWD#vQf zkauT=t~@YJH|$;f)CHEP9vFXTyt6+2j|{sXi&b$3Tf*b*dZ0A-=HnV+v_#hse1}WM zd)w{g*yq5&N0S6c{EnXJM#-etx(DMV(@>Jv=G(iN8W?UE Date: Sat, 26 Sep 2020 02:33:02 -0500 Subject: [PATCH 20/32] add opnsense as an onprem component (#288) * add opnsense as an onprem component * follow prescripted contribution methodology --- config.py | 1 + diagrams/onprem/network.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/network/opnsense.png | Bin 0 -> 5770 bytes 4 files changed, 6 insertions(+) create mode 100644 resources/onprem/network/opnsense.png diff --git a/config.py b/config.py index 4d31677b..b694f4eb 100644 --- a/config.py +++ b/config.py @@ -125,6 +125,7 @@ ALIASES = { "Etcd": "ETCD", "Haproxy": "HAProxy", "OpenServiceMesh": "OSM", + "Opnsense": "OPNSense", "Pfsense": "PFSense", "Vyos": "VyOS" }, diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index 9ea63186..ec7bb811 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -60,6 +60,10 @@ class OpenServiceMesh(_Network): _icon = "open-service-mesh.png" +class Opnsense(_Network): + _icon = "opnsense.png" + + class Pfsense(_Network): _icon = "pfsense.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 62ec53ad..bc23de7e 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -141,6 +141,7 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Nginx** - **diagrams.onprem.network.Ocelot** - **diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias) +- **diagrams.onprem.network.Opnsense**, **OPNsense** (alias) - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** - **diagrams.onprem.network.Tomcat** diff --git a/resources/onprem/network/opnsense.png b/resources/onprem/network/opnsense.png new file mode 100644 index 0000000000000000000000000000000000000000..952102b653e76ce9b2a2868b03b55c28cc87ac23 GIT binary patch literal 5770 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 Date: Sun, 27 Sep 2020 15:22:57 +0200 Subject: [PATCH 21/32] docs(contributing): trying to ease the flow for newcomers (#286) * [CONTRIBUTING] Add non specified dependencies Missing infos when I tried to contribute * Revert "[CONTRIBUTING] Add non specified dependencies" This reverts commit 75c9cf8e2b5d85072a10f8ef53fc23ec811c29cd. * [DOC] remove extra spaces * [DOC]Add link between contribute and development docs Try to lead newcomer into the "prefered" way * [DOC] fix typos * improve the reading by taking @mingrammer's hints --- CONTRIBUTING.md | 13 +++++++++++-- DEVELOPMENT.md | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 22aa1475..6a8922fd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,6 +3,10 @@ You shouldn't edit the node class files (all files under `diagrams/` directory) by yourself. +## Set up your environment + +* See [DEVELOPMENT][DEVELOPMENT.md] + ## Resources ### Update nodes @@ -24,14 +28,17 @@ convert -resize 256 my_big_image.jpg my_image.jpg ffmpeg -i my_big_image.jpg -vf scale=w=256:h=256:force_original_aspect_ratio=decrease my_image.png ``` -Then just run the `./autogen.sh` to generate the added or updated node classes. +Then just run the `./autogen.sh` to generate the added or updated node classes. (cf. [DEVELOPMENT][DEVELOPMENT.md]) > IMPORTANT NOTE: To run `autogen.sh`, you need [round][round] and > [inkscape][inkscape] command lines that are used for cleaning the image > resource filenames. > > macOS users can download the inkscape via Homebrew. +> +> Or you should use the docker image. +[DEVELOPMENT.md]: ./DEVELOPMENT.md [round]: https://github.com/mingrammer/round [inkscape]: https://inkscape.org/ko/release @@ -44,11 +51,13 @@ from `ALIASES` map in [config.py](config.py). So, if you want to add new aliases or update existing aliases, you can just add or update the `ALIASES` map in [config.py](config.py). -Then just run the `./autogen.sh` to generate the added or updated aliases. +Then just run the `./autogen.sh` to generate the added or updated aliases. (cf. [DEVELOPMENT][DEVELOPMENT.md]) > IMPORTANT NOTE: To run `autogen.sh`, you need [round][round] and > [inkscape][inkscape] command lines that are used for clearning the image > resource filenames. +> +> Or you should use the docker image. ## Run Tests diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 8abd48a7..2ff14060 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -7,11 +7,11 @@ You should have docker installed in your system, if not click [here](https://doc 1. Go to diagrams root directory. 2. Build the docker image. - + ```shell docker build --tag diagrams:1.0 -f ./docker/dev/Dockerfile . ``` - + 3. Create the container, run in background and mount the project source code. ```shell From b4f68e454883acbe0231a49657f136b0e0178a31 Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Sun, 27 Sep 2020 23:07:46 +0900 Subject: [PATCH 22/32] docs(readme): list Go porting version --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index d70cee0b..3d690be8 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,10 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md). [Airflow Diagrams](https://github.com/feluelle/airflow-diagrams) is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams. +## Other languages + +- If you are familiar to Go, you can use [go-diagrams](https://github.com/blushft/go-diagrams) as well. + ## License [MIT](LICENSE) From 8673c0df2b82459d3c5a56d387f656d503c43fdb Mon Sep 17 00:00:00 2001 From: bemanuel Date: Tue, 29 Sep 2020 04:33:59 -0300 Subject: [PATCH 23/32] feat(nodes): pve lxc java dns zabbix (#291) * Including Zabbix on Monitoring Group * Zabbix implementation * Added LXC on Container * Error typo * Alias PVE-Proxmox * Including Proxmox, CEPH, GlusterFS * New Application Servers - JBoss,Tomcat,Jetty,Glassfish * Java App Server - WildFly by RH * Autogen Changes of App Servers * DNS Services OnPremise * Inclusion UPPER_WORDS * Container and OnPremise changed after autogen.sh * Outscale after autogen * Removed duplication * Refactor #291 --- config.py | 13 +++++++++++- diagrams/onprem/container.py | 5 +++++ diagrams/onprem/monitoring.py | 4 ++++ diagrams/onprem/network.py | 28 +++++++++++++++++++++++++ diagrams/onprem/proxmox.py | 17 +++++++++++++++ diagrams/onprem/storage.py | 19 +++++++++++++++++ docs/nodes/onprem.md | 19 +++++++++++++++++ resources/onprem/container/lxc.png | Bin 0 -> 26354 bytes resources/onprem/monitoring/zabbix.png | Bin 0 -> 21120 bytes resources/onprem/network/bind-9.png | Bin 0 -> 12580 bytes resources/onprem/network/glassfish.png | Bin 0 -> 19706 bytes resources/onprem/network/gunicorn.png | Bin 0 -> 11788 bytes resources/onprem/network/jbossas.png | Bin 0 -> 12040 bytes resources/onprem/network/jetty.png | Bin 0 -> 18142 bytes resources/onprem/network/powerdns.png | Bin 0 -> 5484 bytes resources/onprem/network/wildfly.png | Bin 0 -> 14382 bytes resources/onprem/proxmox/pve.png | Bin 0 -> 10193 bytes resources/onprem/storage/ceph-osd.png | Bin 0 -> 23920 bytes resources/onprem/storage/ceph.png | Bin 0 -> 15385 bytes resources/onprem/storage/glusterfs.png | Bin 0 -> 38742 bytes scripts/resource.py | 2 +- 21 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 diagrams/onprem/proxmox.py create mode 100644 diagrams/onprem/storage.py create mode 100644 resources/onprem/container/lxc.png create mode 100644 resources/onprem/monitoring/zabbix.png create mode 100644 resources/onprem/network/bind-9.png create mode 100644 resources/onprem/network/glassfish.png create mode 100644 resources/onprem/network/gunicorn.png create mode 100644 resources/onprem/network/jbossas.png create mode 100644 resources/onprem/network/jetty.png create mode 100644 resources/onprem/network/powerdns.png create mode 100644 resources/onprem/network/wildfly.png create mode 100644 resources/onprem/proxmox/pve.png create mode 100644 resources/onprem/storage/ceph-osd.png create mode 100644 resources/onprem/storage/ceph.png create mode 100644 resources/onprem/storage/glusterfs.png diff --git a/config.py b/config.py index b694f4eb..7b50ad6e 100644 --- a/config.py +++ b/config.py @@ -66,9 +66,10 @@ UPPER_WORDS = { ), "oci": ("oci", "ocid", "oke", "ocir", "ddos", "waf", "bm", "vm", "cdn", "vpn", "dns", "nat", "dms", "api", "id"), "elastic": ("apm", "siem", "ece", "eck"), - "generic": ("vpn", "ios", "xen", "sql"), + "generic": ("vpn", "ios", "xen", "sql", "lxc"), "outscale": ("osc",), "openstack": ("rpm", "loci", "nfv", "ec2api"), + "pve": ("pve"), } TITLE_WORDS = { @@ -99,6 +100,7 @@ ALIASES = { "Zuulci": "ZuulCI", }, "container": { + "Lxc": "LXC", "Rkt": "RKT", }, "database": { @@ -129,11 +131,20 @@ ALIASES = { "Pfsense": "PFSense", "Vyos": "VyOS" }, + "proxmox": { + "Pve": "ProxmoxVE", + }, "queue": { "Activemq": "ActiveMQ", "Rabbitmq": "RabbitMQ", "Zeromq": "ZeroMQ", }, + "storage": { + "ceph": { + "CEPH": "ceph", + "Ceph-OSD": "CEPH-OSD" + } + }, "workflow": { "Kubeflow": "KubeFlow", "Nifi": "NiFi", diff --git a/diagrams/onprem/container.py b/diagrams/onprem/container.py index 4f3161fb..de049421 100644 --- a/diagrams/onprem/container.py +++ b/diagrams/onprem/container.py @@ -12,10 +12,15 @@ class Docker(_Container): _icon = "docker.png" +class Lxc(_Container): + _icon = "lxc.png" + + class Rkt(_Container): _icon = "rkt.png" # Aliases +LXC = Lxc RKT = Rkt diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index bd690f5a..4d90d85d 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -36,4 +36,8 @@ class Thanos(_Monitoring): _icon = "thanos.png" +class Zabbix(_Monitoring): + _icon = "zabbix.png" + + # Aliases diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index ec7bb811..46879804 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -12,6 +12,10 @@ class Apache(_Network): _icon = "apache.png" +class Bind9(_Network): + _icon = "bind-9.png" + + class Caddy(_Network): _icon = "caddy.png" @@ -28,6 +32,14 @@ class Etcd(_Network): _icon = "etcd.png" +class Glassfish(_Network): + _icon = "glassfish.png" + + +class Gunicorn(_Network): + _icon = "gunicorn.png" + + class Haproxy(_Network): _icon = "haproxy.png" @@ -40,6 +52,14 @@ class Istio(_Network): _icon = "istio.png" +class Jbossas(_Network): + _icon = "jbossas.png" + + +class Jetty(_Network): + _icon = "jetty.png" + + class Kong(_Network): _icon = "kong.png" @@ -72,6 +92,10 @@ class Pomerium(_Network): _icon = "pomerium.png" +class Powerdns(_Network): + _icon = "powerdns.png" + + class Tomcat(_Network): _icon = "tomcat.png" @@ -84,6 +108,10 @@ class Vyos(_Network): _icon = "vyos.png" +class Wildfly(_Network): + _icon = "wildfly.png" + + class Zookeeper(_Network): _icon = "zookeeper.png" diff --git a/diagrams/onprem/proxmox.py b/diagrams/onprem/proxmox.py new file mode 100644 index 00000000..64fc4f44 --- /dev/null +++ b/diagrams/onprem/proxmox.py @@ -0,0 +1,17 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Proxmox(_OnPrem): + _type = "proxmox" + _icon_dir = "resources/onprem/proxmox" + + +class Pve(_Proxmox): + _icon = "pve.png" + + +# Aliases + +ProxmoxVE = Pve diff --git a/diagrams/onprem/storage.py b/diagrams/onprem/storage.py new file mode 100644 index 00000000..49d9556f --- /dev/null +++ b/diagrams/onprem/storage.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + +class _Storage(_OnPrem): + _type = "storage" + _icon_dir = "resources/onprem/storage" + + +class CephOsd(_Storage): + _icon = "ceph-osd.png" +class Ceph(_Storage): + _icon = "ceph.png" +class Glusterfs(_Storage): + _icon = "glusterfs.png" + +# Aliases + +{'CEPH': 'ceph', 'Ceph-OSD': 'CEPH-OSD'} = ceph \ No newline at end of file diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index bc23de7e..a519be55 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -56,6 +56,7 @@ Node classes list of onprem provider. ## onprem.container - **diagrams.onprem.container.Docker** +- **diagrams.onprem.container.Lxc**, **LXC** (alias) - **diagrams.onprem.container.Rkt**, **RKT** (alias) ## onprem.database @@ -125,17 +126,23 @@ Node classes list of onprem provider. - **diagrams.onprem.monitoring.Sentry** - **diagrams.onprem.monitoring.Splunk** - **diagrams.onprem.monitoring.Thanos** +- **diagrams.onprem.monitoring.Zabbix** ## onprem.network - **diagrams.onprem.network.Apache** +- **diagrams.onprem.network.Bind9** - **diagrams.onprem.network.Caddy** - **diagrams.onprem.network.Consul** - **diagrams.onprem.network.Envoy** - **diagrams.onprem.network.Etcd**, **ETCD** (alias) +- **diagrams.onprem.network.Glassfish** +- **diagrams.onprem.network.Gunicorn** - **diagrams.onprem.network.Haproxy**, **HAProxy** (alias) - **diagrams.onprem.network.Internet** - **diagrams.onprem.network.Istio** +- **diagrams.onprem.network.Jbossas** +- **diagrams.onprem.network.Jetty** - **diagrams.onprem.network.Kong** - **diagrams.onprem.network.Linkerd** - **diagrams.onprem.network.Nginx** @@ -144,11 +151,17 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Opnsense**, **OPNsense** (alias) - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** +- **diagrams.onprem.network.Powerdns** - **diagrams.onprem.network.Tomcat** - **diagrams.onprem.network.Traefik** - **diagrams.onprem.network.Vyos**, **VyOS** (alias) +- **diagrams.onprem.network.Wildfly** - **diagrams.onprem.network.Zookeeper** +## onprem.proxmox + +- **diagrams.onprem.proxmox.Pve**, **ProxmoxVE** (alias) + ## onprem.queue - **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) @@ -166,6 +179,12 @@ Node classes list of onprem provider. - **diagrams.onprem.security.Trivy** - **diagrams.onprem.security.Vault** +## onprem.storage + +- **diagrams.onprem.storage.CephOsd** +- **diagrams.onprem.storage.Ceph** +- **diagrams.onprem.storage.Glusterfs** + ## onprem.vcs - **diagrams.onprem.vcs.Git** diff --git a/resources/onprem/container/lxc.png b/resources/onprem/container/lxc.png new file mode 100644 index 0000000000000000000000000000000000000000..66182e6c947e83ff4458393dd1185771087fc5c0 GIT binary patch literal 26354 zcmXtg2RxQ-8~1HwW|S=Wd zYjscc9tu?!Lwx$|68xUoTv1aMh4SG*p#notsAKq2;1UYuE{HgUIwc;@7<%Cm&2u)NDocBOvF#)EI@@}HfrkIyf+$&|W}NsC1_`NQclu0CUH z>mH*Hory*AVcE&8D!1?hQCA4BzU#Q7E&s~zf@`&y<>sTyC?eE~{v*3ip}=F?jkAUm z-@y$kf=&4w;Vgky6;U2oIGCinyn)OF=f-A%D6BSm4a&TL@A4XGeahDIY_8}x+13;a zTOYW>d*5V#O7iE&#NES;sk@>@UCF;NcwPV7H!yJ3{c!VH@XMF_P5#oiZrxhLT$y@0 zb(I-U4QDVDb3NnZp*{N2+smi4ULMxg*82ro`5|W~2U<^`MrjtX@$yE{n4sUaM$kk^ zq_2~1Vr}A2@ngve788z**mQludV}MElC9L^qtn*b{w(dg?{u_nX)ih|Ez5NE>i4gf z-G3W=#atJDI{)WZt2w2M(fA-~iu;i>s7|7XcKk34Lp0^fpJca_F6sIEH5t>wk1&ee z{eAzHjfV;fWiLiWMPK~;u{u)zkdmlXX6gW=U@C4(@R25{?vCna*g6fiBTlcIhsOiI zqxmETNsq|UDo57v8P5kt3L5eSPh#J_Yi^6WHuB{e&a-FFZepx3OhKBM>w>t0FELNw z&qO+)FOiegvxm=gd(`>;%6pU)qAqh35*|)uFM3TmZ#(O}WOR*#jVVDb!M6CP*f2Fl_B^>eNkCX!{0%cf z%=^(K&ETx8EIyOQ_esV+VRLg9X$HlOSf^LTNiSa^pj6Yx_IyDkRD0x(F`Igr&E;Tk zZ!f|KZ{v5e-#Uo;0y?|1+QGJ*l_Z2)_H*+qCco-h?G( z43ZRmwW+i=k8(uy?(gmO$artF!IFOb{MlAT>|D&RQM16}{Pf8F-?y*?UfrvVj1#!4 ztt<5L_dcXL@m#6a(n4iMF%i~ZsuvUzign-nPkV1MGeFJR`IelV+@~j>3H4(}*V-(E z-le5=6ARSe_4jYoD%R0OZA6_9;zK=95sYOi{aRWO!|o1j@{mZsL_$K+e6qhb`@2BP z#lSIJEX^XGg_Tvm!RNN5=Q zJs)=#dv`{xGW*BIPVd?@gz4oo6Cew)nBg0ZyZ{rEEEmD|MNAWx7%IPMm~JYKa4bQo zV`(9ixSmMLN;GY-H(j#5(eH$dm$zl!<;ZU~U@&#a_O`dTxBYl+!hClU#nr2tJ;QrA zRh*-#IJlQFxy|jpF{liDW6v6+SC*ER|0`!$2s}JIMu|+>{_1gu`*L#n->k3Hd2VoU za<=Db7L?3Jk)ZK*?=s5>>JyB;Qo<}PkYQ0{$-34U*^U1Dw~J54I5*Y&a(8!kYRl^} z7v;I}e>gXaZ^IJrtqkw1miG#ow_Pq*&Z|Y8;!HTmxnc+o;Ye<>=3Fzu$;FzaQP|4M z$jIm*rs3z3IbLF=zjn>JZd_~s1$Q0^1qFro^eY;@O8XRADypHI1m8Km#)E}0GTKd( zZp=>eXMw%WvW#AryvA)So*UP=D2RJ)GAk%3=oSCruG?x_KEbQso@uzPwbCXmuRqc(b!wulO%YR*s|mb&dzYWHzyi=YuuKvrl+TKQHI-;ANj$v z$ji%b{?=08I^F4wOG&ZOE_jlMaonWGCWe~G!Y$dwo!V*B#kqtDpj2>nx3aQ2%#wQ@ zBKMlK|KGpx(X|XA|MMIcZJuASv9KWJekUGg=H@2}%Jcg5XP0zQ__)}wDDF)W#R$uc z`|JcJ1&W=VoLEs)Q4t25&N3Ag6f`fp$vBhM#f!cdwj!1EST$`8r!up!u%I!%ojr+@ zfLlw_o{ky1&WWBlcE*TK-K-loer#k^ByNHwfXn&-^b$2 zi%(usjM+Ik`jz%{bslSG6ZPKDU)^^mbo{XCiot`W_=8)rK+u)zr@d}C!L;$*v9 zV5BKPHYzHr+Ni{4V^Nkz^X%^Z``BrsFU&?OU&udvc)&v$E{wS#iAS-*3Gu)!nWLSW zUF1adVg=lil9HggQqr*Ni7 zgAOstpFjV87|k#Z4fiq$$&qiE7Jac!_x61ENac%bH8nNX z75@q`Cm5Q$b{GOF#-PFjg0ZAOhQYcau7-AYgNreT zB)AscOvxDSV^VbViG-=}=EwF~eQ2_4Q>+i8olXy(YwPN8()@$3C|r5jj6s&7%p8AY zWQ4!Mz>n_Gb4oC%au%P($-VJXX3vGlCjFO&@^azzzh&mg==txz|Jq~6NjDGSC9YCX zAZ-pdlI6}F@4Mt7gBVFK%kFe?LEM07jP?;8I@Mz)a0AORxo08%Q4&9QyXpm5lV9H?>8F?IyyQv zSO>yG-Fk<60T===@0rqI=r8!CnN7a%e1H0L9^Ua-rJbLjpOvs@#T+uzt%QW&irW9h zEcB!)DJm|t7>aE&I>p|toa(%d${|yvd>iih6ha*7*E2q%lDEb&0P9A!?|uane=Cr^fVywcXRW-wGICRNm53s zj?K+42QyMxWUX#;^e*%a3_riWBKBU+OX}$8a9Z9wHpG-}wc-Es#vXdZ@jUT2+cUQv z-k?ifRx1tRRneL6-d%B%xDH6+D;9yE^jpme(X=QSL9ROss(?ar|5d&))KOOMy3i?j zVi-7yZ4#FK_kfKqh;t_GxPH%SmTDS3vgVOLYA>qr_%XR!J_QQ)(9)6}pOj$=5X@y# z(qrFctTrs}h`7|$E(Djrssb1r_qrB2fm5;-^6k3%isKT+)F4jpO!2shY5B-5G+LNB zGqba0dVDZJOhxF!qNCevD_myVNMz1-wZbDJIOo|iP%$u?ImE@2zkL(&*qG>vWq)Mk z)6l3v9wP0A@@^kqV_&V$$@hohd*?TYHFtd-;qF8ejj)-rT~%SG!?; zY60Wb0o#fpOupAF&I`dktyV3cJ$PaQMSOqURgW5@XMTQu_tn+ONMFzP>TF3zVv#Fc zd38U?xRg^=l)AxK9rmO>hH0_9SH{;Y)JMujQ6QAS_^*}L>#6a> z(unNpzh-6DzP`S6w6vHt582I0A4(kNE0mP-dU~{1u3X_tQ06zT?|`{p?XzbKKqv}6 z+T!{1ukI^4I;F;{dU|>kn{?2>#8S*gg1O5yVUptNU`^uxxx*0Mk&(d&_zDIX+1`Sm z5e{?BrRL^lX#5mct~6sXC>jA{i;anfC%U@$|KWe+)AqbVf0ZSDNET# z@Kv%7F}WsLG1MkP#(U$sPx*CEr=~vi4Gz8>vh~Y#XlTEUY7BT-@Z{>%tM}1pseAYC zeXFQ&p6j?0&2Z;Fyx0eSQ+k#?8u-+5vsNNwujxy%v9b2H6~_{rF2Jo)wJYi`ga}e zEH1CDk^I2_cw>N=nS&#g#@H)JyHF?0+1VL~=+z8r!oHaVBc#7^l4~@y)JE2v_Q#j* zuWk8=h_tly?!m#VOHJFHaN9qW;*y)h_m&nyV&ax%H<#rBc2XvppMZn0ZCY%?Mb^Y6 zCDUGvR+ho@_ge_vo^~gku!^m`uKs!G(0Y9l+Y!6B)~JNmX7<>+1`JrHwO~Ae^yUcRMoy`#{2$H4k&46tCmu{El##YaizBWd{uhF;$PRhfGgDbJx|Sp^mWpsqNi1ic!auIs!?%v*| z8Jt0KZke~q$sNMIQZ4@~>{|c+{p)Wk0D#c!bnL}amHIwiUIT+;%(*M+Yu4PVs-*LC ze}Ev>0q64cC_*@fz~g|gMMg#<_zo!%AVI9GtU>n8A_@ghzFPOQRK6H(gV}N`MWwxLNp&qPt-F3+sWV$%1SBMu%L93gwv+ z`HBy?>}pNOf0#HLL#uxBgc8;SMM*=`Z7Yw1g9DgSqR=wFSV!7M-!|P)#0$ z!JAhmDrapmcP0+}j4o=`4NA#jtqWlR-@$(e>^|DYVB^_v-V+`|GBTv`y>7W@Xqd)F zJwt{b48?ni^}40G%)A{bn4zH|afax-Xw%f}ervsIryD@bH)cEFpdU5_aVH_}JoI zU)Td44%j?+-t56;YX^q~z_JVyZf_PA7LZRvHiMYheDA*@WHWYm-IDHSiR08qcqS{! zM*5*mRW4F{TWm0fjVBZul*BJY4Ie}4!@%>uv;N3hgr0?kg@BCgVX=;|h={zWrx<-y zDC~;}J&8wMdPzx%tOj|ib#QPn{25M|gH@xdFJ9b4U;@lRIPv&M0mrnz1iB9UWIyut z6`boZ4Gj%H5G8OYj)Pb*GKmL%KhFo27KU-WF})8J#N~W^e3n*LP9A7ygx%+91C+qQ z#YIpz{_D&g4?ex4LlIhs22TQ@kb&{>vyPqz=0VH^&{2T0z&ePhs{w#MJe-ZG0sdp^ z(l63FyG0HSUQ_dGY2z_Z1dV{l>(EdSg5b>?ApeM(Q!;t2HUSsO#}Pm|)<9z^Fzhw) zulQYJCrJC|%^Qq`&@CaM`z9t#05K-Le$wCuO--5JQQz3|diyWxjH(pnNLJf#&BntM z{`M`oe(~W_e@=W-5+!vKPn92_1#xQnNh_1IJ>1)hqTjSV-g zCzMTm#*v0YL?j;mC;&c?DHx=E;&UFx4E*~?PjFRDONx;UnsbpsML1|J!j2PC<(dUj zF$W@FGTWVq8IP;b+efyhteZ3#Eswf!wxc7`*Da3MO!72g6yB4U$F;4Xk7&IQ+uqXB zLiXbAZ`+C@q9V%Xh##K!tUWKv@d0aKav>Iqg@o93qNu%kaPm_X*dy;Em~z2cGx z*l}@jS~xnhm1K_`IMP!%a<>aPp%q0qh@;h`wj5xTeO$;igl1JpJlpG zba%f^9l=h{l>A(gg$-zMWaQ=l>0QLc(j0LGRHcTSHy-!OiO@+GVJTvHV9NrK>3m+U zzqGu(WoOVk?3i@CktcyuH!kx$bM~4#bT`-xpi)dq(e`{$b6-WXj7#&Inlgd(JMS)O z*xK4!uu_{IXARjRED5MCD=%+%@!+y@kjb>_H4mu{;iGifTeW4XUSj9hvbp%n42o^J z#YK(BeaM32d5Ga;^rq z4&B@*JiMTLK^^ZLEoQn-f4_7GMK6dqNX#uG2t|Y_nV_`XqK~>6%*=r8Px1u2#IbfG zVB6#Ylkx4h;kxf<-IKbh#Kgt94hJ{(s3zkFp7AFU7yL5KE z`l2|@4etSG3Z%-#U+Lz(8PdOh|2C~KzyTcorhWEa;ZST`TuZk=lZt~wNxP}w@7cAR zhve1^GWtSClj!Ud=SZC`Z>bEv@{ywW=<0JmITBJ*4nDp}sH-uDDx=oL-qZRJW`eJV zrUOqYX|ZnI^e$>2Nu~KaaJ4tz$K= z(txpOwleV4u+j(oXmU-yOBy;-Y)WfT4*#Fhin|4A%!k4g?ZHBT= zSYLP)G$LC^3l1ozWC7{audh3}KYaMwWM!I)=n{~+AMNcFjEvFU^VtmzPx*V(BUNt! zpD7&TiQyn7A!)T1$sV!=j=N>}wr|^m8T6f;cwS-98W7Ry6LrJ{dW_;E1J}-LPDC*|c}fKd35hwMljV@^`R`_B z2n8()YBs%_(?8`T-gZ-l+2%S_Lw7>(+S(dC_+>mC&^Ax^tD5q1a}nr3L`v5jBePcuJ%7=PQ@KsKa+ihyW|>6+u;|gF2qV6{!R0ygMrMMs2Hzwy+0(Z$jJH8-MNELNU%!e6 zoJ%pGH?dSzRmIbP0eHE}+K|i2!txhfk6!5m24SmTxzKwLCVXSS(-|BX2<~|vcaZd7 z+Ie3`$D8`;9KfUWQEcq&{qS%wuyqRe-q95FTU*GQ6g)8#O`CU+UM5zl>e+~3CUCh9 zd@3PkJ~nG@bro&#YVIT=4^|J5otvB6m=@ojYJhIm<0+S#PlbiEOy|=~$isnD{v4#d zxy41;X2xF`(vRRDAc=&a9n(fV09OTZh>nhq{@RPGrAxFTrh~qI%2?it-4E@6b+Yj6 zH$%4b>*ICshig9kuomfJp(CU3NyL7v8Pi}~+HP9`wX=A@=oOA}4PpL`FgPdv5t{CpPgbe1ZcQ@RcwD_h?wv7cSR*#Qbzeq?%h7kl2ShTaVvq}0- zbpeVWN7p{)dH)QIEe@>-In$^@C zNvhjT+MqCXVR=7c260G9y@%Ef?JBI(;<$~2_8xhkwTQfe!kH3NL(lUaL#8teXqzK9 zX&D&UK*@k375N~?NCzG8;c+ZcL|E9nh^W-GG&%-`cy;X0;Qs!8+RJz_nSc@}q=B3jRrD;s-+H~%?@|6M%)*6M?qT5X0lu(! zXcdA|QYxOFRp|EzL;P+vMsA*-gM)*@{0a}0^RB|t0MHU};2F@~8OP~;ezfSlkYc4* z>&ET7zd8+A9`Mek8JyWS|5p|}JwsA8)WNXdxy1fUYMjeFYK zR3Ns_z{3J1l8N2&W5Z#d-twAb)-p1BZ?uL7ZOi(_i*%2p(=h00eAL9GuW<^8ltI1# z(J*lM?zhUyu7VcA>s;If@B_BD+L^STJo!=UzVi30C2_!xSU?NBZx4tvT-@9#Ux(7- z2$eR?LH-Qf`_0fcj0OdiJ{;wYKK^X?sh}XMpdgG_x8#fKqMA;zfx@$AH(;cg zPd56w|A5?UdlTbyyC|i8e16u^Qx^5{y;zjIFA7} zKpQyf_}p*(CM>MkLa5V5t{{aIUX>BbJgs!{M$DB}bfCJUlV@!_4 zD2Xls!@DNt@c8M|9yr!sp!<43Wgw2sM#BMPl7Pv_{CrMwCNI>OgBUOc5KA)x&b{H0 zUvY(lzO(~N*vkOUyX9^@7p@za1K>4Ls1gr|9ikr!=Nxy?4D zTOf8nPjftnm$~6O98OwB#>CedAt50u))%1yjaxyp?J-)Kn%_UFru_vm^J1^*T=)O$ zWFBhSyXg0ZF@)S*lqu*M)K9 z5qUQd3N8__4B_WLfn{|@$zU;U8MBduKvnMgoJr?@hMp|1Vd3PonQ(3{!2JeZG|P*skT8KSDj<_dax$*YUKX<}p%t>0fW z`FCv1wikTNoT83He0wuMYKH#b-Qk0V2=-EMInh9}{_416uk znB|p~xJmxW3c=-PZ$FRc9%Cup%&)6U18Jv;lx&aFpjbyVa;ms-Wpy<^Et`>Y@;nOq zr3wc{XJ;pfMn}b+$}sM#Mr(ZbJ~J?RfvtKtanRTfAmnhfg$%yR19DspRc8ibQvJ5Q z&CSh?I9NA%I00cNP&sbJ&Mq@CUY@<=dn+qVUz8OZ?E z0`EHdbd84Qp|v&F`1m+@Z_-z`uz>Vhi){Bl9k{!BbJFj3lU;=Y2<$caMS4U(ltVqT zwL+(;JnsOP87?)kLM#!(s_3S((WZG&?aUB)^vM&IlVdFIOj*|jl|LmGmm-A5peOF@5 z(!yf%pIzy@q@>r-%fEel!k-%}!F#s#RQs;rhs(soarvDf%mr9o9O@Y}N3;S`G6$3o z(hZ0w^M{xgaAH)`Ee~R>5rly!5#xTz7HXTzz z=_jaHogb<(#=Hh$yE8SgJV;lHF$TN7ByeHxCO7yGN-2dciUrO>M8UAd%`H7D8E?1t80{&AT80h2TrXpendE;xI><(j*qUk*du@1^uJ`a3+FJ|7!^Rn9qfUM{{xN)##&bR?n3ve6{?zi}T3~ zNysxC{zEay`WxvR8$(^Y>U}ZA0&U9WxHogQ8NG4^v>Z^&K)!1#UGay~gq{Y?NvALY zHhhCGk-m3@1GEZv8qqXW8QVw7Y6HD=m+@c(clPusdm%MFJw4Xwmo|BEeh{CK0EvUuVO93xTi{`=jaHR|xdWfRytFjcmnDa= zIOr9idgm%T9@C@d1^l-naHo1;trWDhC}8D8L`7$u#OI!8!nPb8O839hFL>KA?F6j^ zSlWHyu3K0E#l-7F5|J@6oGdKZ`GZQJslIse!XN6EJ`CbcuMCPmW@QBdi*Nx;R{!^q z=MHEReSiKuaCH?1k@M$I6=aroT4V#?L5|>Ui-ARGx3IW10JDi+1&@sxA;eQ&K7^ra z^K}rY#fakrqJ{tYPG&juC@B4W^~?pNssUyL#h=R95Yn%f#bdq}h_u3au#L1UjY0W= z)JundbyM~>W6Z-pe`t`zz+LF*fM382A$*#|OaL`QPC+53qH6o0yvKZt3uerSZ#MY+72{51&50 zsjZcO{kBtLF`px^H@X+fQ!1Y!-aB68kS54kq}T zm&wRtyl?fku(;bO%jv9oNFtBimB0&|DYIFdE9D1l7Jec;GWccRwbZ5A4{|3Pd}*pi zrL)LtzLh}f-|>G3b~n6cifn)k>_KH^rE_b5%Z^QFqKKCaFN#d6$+LA&^ky^u zSiQHavNfyB7p%9bssO_0tAgWu6McT?%^t|JG*IPou-1)7gC1ug^h_uPqDe-7*y+;1 z+JN89nY-%hCNc1(F9oJNF$Jjq(8!2k>iUJ>{;EDWa)=$sCaa%HFf=}Xv#Ebza8UoN z1tFw}4t|(&7zALRmur}q^g=Rhd1E6fpAP0lhw@M?-uY~aYHb_rI^qUoUYsrhyr)g- zZiQ^w;k-aV=TM<89X&n$@W=GBxgcN@Yn&44YM_VA6MjXMryoDa85knF=eG-)96+_8 zKZYJ%Gwa0nXI|3Y9CQLm`pg2XU0?rLT>N6J;;`|>Q>Y^-O<@@3pimbV7r&SEjE;@H zIzr-Yq;0xMef74O*dP?Xlat_`J9moo%CHe(Dg5O8)QiMs z9q+*p12LSlJ(AJ=>45w=`=i9oxXjZKXp^KB20f5_IvgtXZw$*o7Jk z=+8U6>+35C70&3G2OcuXVyS>7C;}ulBJ^MySc{~#8zce7v08yI!0TFOX$1@wL4^aX zf+hv#3M{akhQ<|O*SY28uCPz7_yGH0aXCS1wCqm26>yFQef<4aa>s0`+tt zvKOOXY&cG`AbA5=mk3tAe*;nH)66X_aABYi*(wz4fDEVx91pSrppfH7lYz_!O8fi< z`_U1&728`b+3(zN;1InD55G^T;4oI*3`3@%urTednru=xdpkY|l1i$o^UL{}9MaNH zsRg%QD;5CnZ*0sM7|=8@G)xh5WGvJv24zex!|(8^GjV5cOmy_Z-muAHan*!bf3^Z- zRuRIs1N_=$?Oz4=^kTp@b2AjWl`D7mnT16z9~FlsF~_kNI^bWQLsic33Lyze184ft z;vaUBAs7Q6$B1qo9W^eOhdm&Y`jvbOr@}z>>C@}^YUwjTCMZ(L4sK4aEiHX$Y-G&S zRPyi;eU!*|gPmO=!(}e!FtF8Z8U`ceBd(|QJb*X{a5uJ_H&vqz$C$_yGG2kGhagCk zvmukR=RNd*yMfNlCN-V1!=%q^Y6|E&Jeq7vrbQhdKcl6i%gWCOYX}cG75IZt>m3S` z{7K!8TUcp59J0V(3?3S-#d~}r8Q~ucQOf#q-;ywS*5d~8l z@)c?U0Zo(9SqJU-ph!TSA>j(!As#4Zi>U8mzo-KbLcmW}*4L-=X~+l;#s*lz{OF?+ z|9eWYuHN3oeAzQ@frj0yaPknUA9HaSgWeyp0)P0`6w_r|4O8 z@Fgfb=x!;u?WjRY7ebmLV158$n-JyNN}D_l1-G+1Ke^MXxINr)^%79^kZnlDm=B}^ z3kH>%4MY++K;9nu;DkuOXrqXFQo|Y5OG-%iZl}$lm>R@wUWy~R_xJ91StzcJfXMko zTU)i-;AakVI16~i-a88j6o#=1lLdHKu-$M8;u5*U#^Tu{X=STSzeGCW=ODhnY&J!V zDezB88N@M3CjLsG?g&<}oRGC--n``hn*wuoNJ{a-!J+Zt+xzs)+b{eNy>2v6!Nho8 zP6ybu-&(#{2PlY|uW#LZg-rleg+riD-GT=9&EO_9IP~6-E;uK`f`WqV6Y{~#9WQzz z7zwfi&;~u|(IAB(J6Ii*P%;X05+nz4_}~1e|6-8Ot?c6Hc0_LBPR0^$5Cf)&9f@!lLt`lD9+abx&nb16jtt= zHxnig8)e0)-l+wH1_kda=(%nLV%t%FjQ0kr5?1IUJY=2bYOcRMr}1quB5n>FL9n34k3w*4J0Evs;PxoeiMT z{PzWz5`?`#Rqy!qYeC>*TL41M@1$;9ON0lhd2swjVTNVQAiD$vV7TyAEbs9^(g3P<0V-T=YR213O)phIo zzWB(y+T+}r&k!1ao0J5tNK&uf>sF@UJ{`0>IJ~oA(uwM92OYucA_FabqodtGKW*&o z*&q)yH#g@Ss;@F%@LluB0g^eeIRP0T&N5Nu&g$saqRG?MBp~}#oR#Qt0)Po!UQ-Rrr$qoy- z7Bw^qhqj9@!Au2+T=41B6wp5PAGo>rt!8BqJ5~WK4BYBxrfg;YjglB0u_Sy*@uqZL3rJA8Of zzoM@0aIzW~y#Q!n(1hV&K{$)ebLF;(NXO8dpq`7{0~JgE{fFRU0FcOus&cpvplj-9 ziZEg{At$R2wJZ+_bpj$HGawrEo4`%{|KkR%DnIq!9u?ZVs_>W~m#WB8=R1E_clW2y zMY*M=y#f_uAbq<;SQ#5L0;35KT6Ga>#YbE5Jb3sJMmWgHpw)!H2i{ul&0JSpuKDvv z2a*cau8X9XE?ttkINjkhs(u?IbNmKUu+mprCCr0@KAOFvn`AX>90){u;!oU5c*^pr`*H8k%;KNCCFIGF-~Z z%}w~a<{?Lskvea{1mbSSY<4(Ji()&gCsa%u2gYT$H_tKI-sMk< zK>B+tTS`ibOQyf0V`-7z3K@jeK*@us2pqk6FdqQb;Gdq}!a(M8zKaS%#vMO@vdPM3 zLRV=#{*M>B@m;v6z$`QMGM7>tNB|Of8pwO3;dWbS^YsOBcV3IQ;Y$C<`IaSfZ^!F_ zC;}p*>#CR6PHtDuXwm*@kpHiiCM?2GUCx|hxb$gU-5f{lurHWifHhN7Q<2XC5VJnI zvA&*&udnjk2N*nP_$~$;U{S)k>56m5P77FF0_Hx817HogS8<7$+G+LgEz;`}b4kfV z7Wa9$Ga+5tE8CO?;=t7sEpwTDM!9xbi`+({F*V%ji6=W^G}zqnZy0G<_Y!u`rZ>JA zNhmM=V(oqQzFB|&CWteR>vwL=%zWOZnwIvA3a>XEk^!=`Z2+W$KU<(^BfCsch7^x z&DxE7PD-&IV}*S_AkfhrJg^vgPO_7eqV&h5-)B zVB?oANaX=G22HyclAFOrDnHtI@W@Un5?xQ6$@YSnF;zyd@%b<9>%FFv*k=3_>l#ut zrm*{O9Py5UjPvmDSliq0MhGmpNfeZne5|NQ02v%?#N<1!9FXaVCX;gb2hvKHzdvvb zpmsp~ffC71tEyl%!u&~wbK3v=H$ZzlaB|r|-H78<-=0r0(bU(!^I{{4nE-J6@V9xYBW5=hY!qu5OK_`1wKEfd- z1179R=Qe`yK#&E|cFw+eYHBJoo%K_{^_+vWl9~aJ7RljJ9L?n6U2pF@pgSN#32Nbd z-|-?*D__ldbE;XEF8W`8|BZ`{PQ*w9VH0HdO6i@;-AOm)>TNr?*0DI( z8HZ#X4^E4k@M`>rJsyhdCc?iKRlkX zuWiLZV;qetryXvP|1+cdGb3G5wdW=TIk;mqQWYWD0m*NGf{^UJ3(N_+GlH|Fq`*kI zSMWs0?hhY0VQ@9z|7pA4sSc()>e6gUn=tBKMxFirWf1lOel{R^h|tY#Se_F$wkTEF zk9UFfr}QT3yN1WRXaWD14ckQ7Jw#pj#M^!}=DY;ikC`PNen~Ph%PqkkPY}5E;sWbP zzlJR@SJNjaIW?8u`^T>Q0S%1mzTx4A5Ez63`t$uAEq?+S`kw1!S)V>}^|=W}L1qFn z{m>z8K$Zr{gOZwB$m$mZghBx`pBuAm?kW8+72Mn%RNtBD77!NTzG7*`Dt)mlTSlG! zUAS*{eAoOhqx63G-Cz`fS5b>z2|BFdKZzTKnJwSe*>y^d?m?lki#hZSjIAae27(q1 zmKAuV2$TdY1ZmE?aW&B6K=H#;NVN&w5bOuw1|A6#BtC24qXW5Hr;r`M*>y?JGP4oQ z-#FLx8V_|t)zBe@bwewQF)hM({9{dnQQ2>Nzoa$$HMQw%Q{Axhh^sck7p}C=`?x?2 zS4=>MJ8H#u6=wjgC=NlggM&)y>Q->~>ql#=1{9jP`E2ek367MMW{N#rq(OF(lM|vA zkX1Q1rqAYz1yKs>M8CRz+FMQi(8~s`}Qp9^c0js7gtyBWw;>K z*}-i6DJ>}A;?lwnzSDubPr%`gouinpAD^*_u?du=kTn^yh2%TOtytOg_;}>z2!IDf z!Url0$~k*XNv5^jI&fKQ5u`gpMSOKQ^Kn}+F3Ok5KIoGK=)%YgSL;-&`NTKf(I1-9 z&SNgHx`$?AY^V(k6#sA>ec-N51^thp+-y$z$0*Ukf~>5 zL+EyERw(yeS!m3bAFs#U}Fx4~CXD-Oii4ZTRpq3P6{T1hBp?6a@{x(FdS@ zaB&z0Ioz$FMh+;rmJY8;rvg9^nd_2;m^nlkAOQ94+qc7;dAxahIweM(z-~HJ)a8om zls1}9FY0X?nllI`|GT)u@d}GPo<~0I(n`gw`1%-Iwdw7w-uj-I@7S7}i;p#3UjCEx zgew#inVA@hpwYEN-#$A#JH&&4+&)qnPoBs_%K%(*f0$~@PSykz4WO8iy_qBGg@jPw z@84|dEc@-(;2W_pbqh-y)Xsw$-2PyN${gYUwA!CpwWe2HIWk#CYto|bMw3}gn2AAJ&>bpRS0uU}lj#zXlO2Dv$>2gPgS#_UK zuu+kxs{DBm3jkR-QMbg!J3xYj2*u`Th}Hj+&$}P@Dqond{CPp^Y*yzLxG%RcWncSh z$;IC)=3HLL`*PrqB~@4Vs{V`qi!`1tJZOH(*c-bemmy9xzab#j`-gB#izTKu_60~;A9hqigr7@uy ztEI^WKgiatC{Y%a-32H*1TVkj10#d|B%^WA4=0iY@8vxmln{Ls47Tp{07Nx=pqoEf z=Cx%8DM|&kU+5>--FMFynx565X>~oX1#8}37H#~ID~bxNYQjiF&JR3Wz1_M*^MV;Y ztgd&yYqsz+rF+j#*T&X1_MwzICES$(zXWh+O%rly2Cy;=IZ!TpaF)q%4|m|MD0JdG zcTxbA0CoY=joj#j?55TCl?UiyxZ9izLS||GF%Ka75FVq;OvfY*?XurTbjTd4Ja^R1 zI1c_}dyt?q-mrH0`Uz|0fGe$NZg>YiKg4K@jAEWk(c%STi+G~P*Bx0)QG1AqLG7j+oxSSU6O6JBzP zfBM0E($VQRC9A~s2`dkxv5kUfC^p$JTF5k{{1^#~AK(3a zWp97~m|ezHG_3}GBm|NYXaaA+tAN&AKpSNUcJJiQ4%Rv4@;B&M3J^(zR?0;QRkU3h zUsYAro#vEXn$tbc0+}he&69e)&f}f1BWZM3;jZ5<-2yTGl{M;m_mjAQ*+(ijahO@* z-j^i}t<5L4>Lro3sM77<-(Mle55yNZ?4oHs0)=ocb3ic#9u5Kz!rSel56`H&#`g`kD=eFl_f2BO?cXu4GlAXbUC>(6_ zYjCuHo#?@JcE|{bK+}$okB5s4oQnmSZt@!PIsL%I??Rdfw0ww3s%6T+J%wT;f`ypb zMuXz#P;B+5UA%lIm608$Bnzc7IkV8Q(>9o+#oNBg24tuF!$Zv-W9eE6zkEH>YT!mR zxX%>(#e&$m*M4z-jXpdg9D+RQeTrqfcc>#27zr~VRS8`i@wT9K&diueNJ?h@Jq%>? zh5pWdas+%CvU@=6;GV-yM5e&)H5m1XK%EgVtuWJ~D$ZNlw{=tsZ!PyNg;QJRLL=oE z@9zC9RLnIiL!5@DGs7a?2Fq4`Z{Cz!uG9(hme2_vCGKQ!vDthEb_rsPB50a$;gb_~ z1a7W6N|b-L{imoa%azS_m72P(-g^gWBM=+{wHrA|uCC>ir)X$bofe3uzxuZ(BDmgY z%-!-b!zoouzHFqO|1zyk?otxY~70fYzJhpHL^m0yus{J zCpR}G4HaC%mzci9ra4*`Po=1;$_@<~Y?;m%?dPBDXdU5Pf_(-=&jL0Z7&Pz|xcEo~ z`A3(Blkz!_xsV73C~~0ShaPq~t?EV(cu#po{!W~A*5mX;b|7O?`TpZT)UQe(y#3Q0 z-6-o(!(7S|%eMVB2wZ7-?0|tHO)=rYrz*^I^JX4&E9gaVG}{516%-eP@|6r7q)Deb z>e9eRQn)T7CYA(81NR(T%g+9xm` z{%kFx$f)c+3{ak~Zg}xMLo}isf-?-g>OPzbb?H4yFuoCA4@Rnb%3MoHg&djMRB z4F*9cnBq^2h!j-+a4AwGeM@MP zzR{OtSU3$Mw{&RG;PY`x86p8DC)Q=M-2D8w_wQBUDj)=#Tqa*O&EUWV0)TNqFJN>* zAfOMt0!S`PG5ld#p-^}SJ{laGM-Kjs98p)>drFric70c=lE|;`bFRO*P{q9*7{bgf zv6|d;%wTxLeqU$x$G7KVh&2R@jVSiIx~~x&l~-fL4-f|KYg@rL5Q+;)+=XB1kH7$f zCxO4rgK*LUA_g$tp%o~psXey_bDu^4)M+`yNxK{e%^KOixj8{rernGb+-LbRtu9Ag z>k}TOl)9!nI0v+Wfz|9&QDnOwW5PXLHZ9#hN}fK_)D(jK_#d!F-zCQ_(%}W65y_wf zjN9JXfvY*ZLz)N@WYa<=8o z^b>5WN9mra>ui0~JDf9q7und9s9@#UvzTlv!ZcI|}Y=W;@e z0<6zGumK~-CnczQsn_n_0ks)?%XH|#z+Y0}5JC*{Lv3v;7_VTZwU6CZYL)~&+`xby zY2=_-0P!j@s<{t;Wrb0_NWXvM{VZm<`E^804dRl*m-e8w?HdxL=aQ`MRBu>4Hl+Oq zCXcfTvhnX-$K|04guhOsnqJ(VS33Xt*nu7FUBe}E_3FHMy7cCfzGXsxTUMCySs6(W ztuDwd^Vp$K0llmaZw~=%q2|-W0GxrlOUP8!(n1nbn}^;W|GVDyGebHJv=lIz0UIWs z&@zy|HfgM5t4mK!Rd(=~x#Dw^^|l!8`F4yRKhvHATK=P1+IsTr7M?_f%_Ul~rXc@i zotO_p7jewtW+I!Jfx6=_8@3XO@#$o?u0%_UHLnrrshUVRJaG;~)W44Kr-G~rP|tud z;4f;}G#tus^q1u1d<`LR&_sFhXBhKK?p>Y!`Rf-_Cx6#G^idW0`R$IAx&Q&<=?q0lMu^h^00d_ky#+&C8q9&@k@Urk3@XoQ_V( z!GRy(3vS)&<;>IMX<=VFn<9EY8|i6&J`~HF4}I7A1STS%b*JI>=nJxZ`kfT$87OzR z361}d=>vi3^-baaXWdLT^;9BiwVh$c2Woj<>8Y6I3I|n1rjmGW^u|Vz!q(QG&{Bm+gp6y}Yk=zgY z+GxC&K|g=;EePlZ-s7J6RQ&@p5zy>hhuiOPJ!%{`LtTmy_y2VD-GNa5@&9+uIGd2| ztRk{!;?Ay!&PP^cuToY><~bvqmK}$(SEb0hLnve;8JZ z-s|;TkH_Qryyu0uuR{7oRQ{=&9`pE_Nt(mcq3lG+G*;9f56#SBjbIO*aeMRPd$Ret zgpLSAcn^=Z`c|WFdZ_dZitc6U{WJE8z7M#@*Hx!l4w@~3o`cRT5DT0ZVP7%_feaY< zvUBqCz-?TNR{mov@a}|p1y&3+q9GP6W+T1pg z7YrU!F-!f~p$V6EglQDYMsFD~sb0yQ8C#j+wGilT#VBB+p)ye3h{#zyxhhQn#)F2m z(cHPe6EgU^;7Dley#h$t8Pe@$Fn15kMY@&zwPhyp`KN>66^K#Nu8VfhKMf zH*MUe59y~;<9)?0+b|sp`a_6us3OLF@LBdra9!>OI!eYuVr2SaNM#5q#mP-}ufbg z@iG}|Ae~?}>|(ns-v6DyF(l-_pg#hjxC5ljo*WW@pdWy2=cGFW#H$mLG|)}p`OktL z12FA~IdCgSO+w^`55Lwv!=O`SOnAlpZ5;n3Wkz4;%qsttxbw3~E@M6w;;!Kq(iu=H z?KH$#WLpHe&9kFKn?j;zDhl3t_b~Tb6n1ahD|Nc|5#ku)RGNORw_!yMFf)A~$@4>h z1OS!n?c=lc<8U7U(QiO+?a3Sup!1TN=DX7CIWd^)?(V64e@0u?;AhV8pFZH_B!ZV> zY@aBIXfRny0^?Hh4b25@HzC~p_XrH3Tl=x>2SPfVmKwL=R|z-f7)l1-2fpY~{ur^W zGU$cu)|p)UJD~QS6w0A0(8zy{^L2>EzQ^#0U+_tS2}}*N0F#=apry~t>?o8D*on*N>-$0Ror3dzahL9W7ujn=PSt6_ z*I{*VnVkvTd*-Mz^PK$ChhOQJ<~p3*6j~Gev<8E&TSj_wGZ~h1`Fyey+TpRS7m^72 zogwX@SoGqByNU1g9H_$9Lk^xkrG{}x!pg^QU%6ri4pC+W8djJf6UKIU+J}4#;D3ZC zVtqT$L$z`LmFB83EM{qpqS}qF8-ECa7R|{mSJFCUY}KTGvRqy~J=mEqH@PITajn4- z*)=kcQv6~YPi&wQZ#q>f|5#a@esPMI(QZfR!!^q>^dmGVKVd0(rOt6~AxHq3xa&W(>+QBTdE)fF!Knt^Lh{WgqZ zO(iTc-0s^}Q@IWQN(gL=>H0kMZXdn%eORgJNXX0dt|-zU#YCs~$u6$ufymLqXU#N= z&2{X=#6*A&>(w}D<^%#*GO+91?-yt<3<9jvnKH?sx!T|E*8*|W_T?^vW4A7495834 ziAtN0jQ^pa^v>(bs*9WMX#!YjXEoA0qLAHE^Uad&(*f&8T6g&fDMY;y;)th0Z!=j9 z%lvJ`Pp}ven1Evo5In2JNe{Zv;|2l4_hl@JMa>l-kX7u4a8}Uy9n20Z@3JtYeVK=A zj7ZIQlnR~KvT%X>bhVOqAx+R>TRcl|FmJj5)^Lt)jy1!>zpj0uD$t*bcd2h%4rUg0 zX3^bHKqnZN3^*B0zKM=eyeI!W^5`k|EbiSuwvbj~zKd%pM|$17<0k-$^>q{>D=Ce9 z|9Fxahwbpy6{^Q!WHNX&7_Q4)e?;bMYB&1$+RM=DYibmCzX1V7V|AD-)A7n#oCN|P z4t~Nl%-xNcLVl2Q#Lc@Q7Aoo?-!9LYiHe2k78~+#Uiz5#8yF0ol6YZ4>t}AK-7208 ztN0mPL5P#p9Nqf|gU_EN-^OtbygvfK5yUIpjWC?e$MYMVV8nI!)%fagTbh0qx3em4=%CLDK5xhDTohP^dV;7 z@i6qlmDB(lmkAJn2>Uee^Q;)@WWZQH&dM^jHfN(BP5RSomymua5nDwn(I=7ui{S4m5xT=aCVhZk_u|t;{)IMBB_iRBKO+H!Q#Z#0OUUlyuJ*t4sz?9T{(lsT#Gs zmscV`dyjl;AX{ylzAI))TZbS&{Aj%QB!IMqXT`6p7B$Y_an>O5iflQz)vjX${b%a~ zre%zS(rH;@;-tmHrYlN3ISTN3fT_gfZV}fvP9$6j`(XfV6VY-bY0?w!Pa1=kn!&_0 zqw(3Hxp|axM=0Fp5|=1_`hjBJ-hVij3~)ZJ^sSL8GRRNj(pFNW{k?C{H>lgF!_V%n0PaOPzq|GrqAwtA&r?9}l+dJL5V{k^yDof~t|lEJ)P;7p_@? z3bA*U@XjPh zZ>c7zDR8ufzPVI9HcRtw!R(LPWz@bQIGDz1dMu>#qy%CE&!lXfbi%br><&nI?ks;?T<*DgxSf*=yFH0o;DQ&4r2Kn?~p{_j~z3%4LOEFOuuMdlLvR)L*!<=CR z9B3plo*@EaK2DvL9f2OFJ*wxAB~B0bvm zpMIZ245BrMohsdjt&YC780)nmeUKdeGGqQJO%Ui?`rVrU{%&Q#1WjioB^CS6i=X21 zEP2JI9JCG_1c=l3362~I@=i}n(^2@*fcInN8tJFMW1{JYps{na8plUh3!hE*Rfvs1 znK4E40rmHTn~ZXXH#|-}-o<=aN0~xtn#3wa@~ZvJb{VTdS7mK=>91Z^&`%CJcXsb= zqP!q4Tm*q~aC%z%%a^f{6!UeXa(+#cz459nr|^XCo!;tEfGuifo2O#!XhTB`%W-2hPzBxg2NokyeQViR#}`uVTm zfLDRb+s4{m2b7ln=UV&MS$I+StTzMz@*tCb`jmTEB7P_0JOLFM2eWbIE@0>{drz)zQ;az%jyP+8e>7Uxj zXUcY@7<{!`k=}jD$_u43lz3HEFZvQkvZFslEL%GKy!+ZX4DzeADr`dN>W>+H zyt^!0TH!{audACYAD@sRm}w&L;vd@&%DT;@U$*Gfc_^oO(&*+-kO}349KwHMJw$+8 zPtka}%Q*sMNgL5zmOgKhlnNd}auyGjFC)C;$U1;DQhfi_vx1)SADkTLc8s_=RrQF= z3O&tB;ofhuL2<@$X&q2n;C@uV5#B1ZhqbVlej9|r!SQ9Zdn4Gr3Iao4-7xA>RY2ko$fm4!30al+F;*+o#OG2KLU zAE4`~AI3-dG*=IRB_|gqMXjjB)r6(vE^O7pyBOP|ju{EcJR0o^mf<_dX&dW9by7)d zxz5*!l}yDT%C4iDc+*8^xTGQH&7o5z)B!*K!*!eO=uK1Fx4pB~c|wULP4@Nv!o6~S zI5UMHX1x|=FrAVOTC1owOW9SqJJeUI;bzF)BS@eMPL`*p9+)mJYuM2Lu4fd{+Wu=R zA3By0LxDINR0yT5%07)*gF2#6ms8Fv2`~OblsGjH)hfolU3|8%Zv%D}F^#+TTInv} zzbbB!Is8vG%U66=sPK}+^B+$rFo9~kl75$ZI(+2;5M{(bY))buoMtudJuw>@8!#YP zA-=HB5$6_KO{r5c7B6^`cFPN*+i^u)Q8al050#>Qwtp}+Snl{m(o@pDUc`+E{6bY7 z-Bdc@1K9f$`LMioeGSJR*yZJPka#`-?+sZNQ$)Rc)f6^2Kup4kP^dIcGJwN2u-4ht zN8jie4cvn-FCtXFMD$hLs-*b^VGcMsuM0G8WxG!OI}O}}HdFhGI>~s$03q_G9uG zhUKl@t>|*w=io-bsBG6&jH)QTSg9_^<%`qK6x(&ZN#ItQLndCG^!cc z@hR==;v4hFx<`Z{x9bH4Jo%WYQTo)2QE^)8F7WtG$(g2Oo7B?%4fmy_@cx&A=aXG| z9j&sSV2ux6*E#Rh;T}AwT)yYze0&@6FL@x)Uzz}BR`QRV*`@_-33|UN3}KWR_h=hE z%7~efy1Qtq9YC+^x}6YiXwk+vP1A9mPk&b3_rbktdB6D4z!1bqVo+V(Gi%C9(v*G* zmUlJpnFVcSm#}2q>J9%&g*P9)@Qp~4ngGw#LdQ0D9?cX{oNl^*t?YNSx>GjZ`C2hl0*`&uFc=##0&WUFiP4k-a^yKs{s^-{D$ z-;W|ZqM>tp08Ffnk^25{bPU7b&2WsEi^GjZp+ZL!e(K$#d$nv?%u1BCjRoG3MbM1RFhOcQBOk`kW!umh+Cl4! zL)VQO`?ufrr}_a}FuqS)^azX3KK!K!ny|V{lxiM8yZ5sVtsF{jqN_SS z{3r_-=3~2a=m+kl16D-Qm74iTJ|lK{w;k8mmM!je6q#I0NmUFb%?3=LGiuC*>E|wf zCZf&al?vt#$8$oC;bwtZrf3Ep7`}JyH#>>;IysFF3L{}CFIWXJP8fgNVvUYkr;ejs zT;rklz}^u{(Q)ddgnn@TLdC+`u;n0P)QW_pm?{SNn__llqT3Dlfs9s z4jnLNuPpKEaGBa${5)0gQV&S}_yERm-^ok#vSt>XCht3cTuoGZCeKBS9?9(mxnFzm zW+qMWdgj6Fx#Yg>B6!Lu0OcUhOSmGft%4$K@iW zk^ClZarYPNzo&VI3{K>AL1_33*K#bZ?6Cg;6-dX*QF zCVZs00ng|1Ysl;aXSgVmL`Y2ZWj8U9o*FdDc}E?&ct_&0O{_){m2t#?FdTh{hTfTl zPmRX6Emrhc(BGEx)cz9?H0#Gb&nF8ZkD*y95BYA@{A;0$dH8QwMGI<||0n~HBmmAl zBcp$HCp0!3-v&}zpgjA_xI|M+5 z1`TK0W0tDP??Ci=`QxT=1=lhg^dWg-!-;l1#tiiiJecO3gy}yef06iwlW$byb85_T zJ7q$af&IAErgqW=VI>)kMXXv_dBx9MCM~3$Xi!GlXv%T_@xZ8pn(@2Mh|t9h7!;;x zPH|_>Bk$Li)7~XH0n7)5c$$T{i#&MmN*q7|0oqPnFN0w{yj(sG_x=I!Zpap_ny(Ss zp9@Q314H=KX{;g^O$d-wmC|yk)J)bQ6{e?&gEJmI3K+;=i)H>M@Q@9kvb5k*P`mR* zffD{{F@p$wDPXqXaFX=6bjwP!x;%$>xwLTw4=~<2WE2Af1ThB-FsT?<+8&jvoH&hc zN2-EpEN`6+Ytb>wKs+ooVZXeIlf&p~@#xICi`9ij&!4*RKCR*cQ;RbWVm5y=N`ftN zM!ED*B&5F{`c~n%r`++Yvq}<5ntt($LEDk*JT@G{?{0A;KoNn}N(86aWtya{w-PU6 z)G&W`M&tMj?m`1ust^Mu!I0z_t+tptu4Im}3{d=RjFc&)zH-nS9GRa5aYE3cu2QGb zEl9EQBmk? zLla>FCyqAW^`U3T)BvX+)iuC>{>IC_?Q+}th@?JcRW)0J-kdwx zH1v(wLyXw$UlBqyI6ab`eH@L8a@imjL^zz?J z4}#pt1w2@@R(_|>6~H^OW6#2OQn^_KozA%T$Y&_4z82J*OtFdEQjhU%zjB2DxvIZ$ zk2x8Gz&2R(@KfK6{Eo8bE5J`F1`%)8e7m-=-j;$x@BcPblo={cHZ#Nr2_~@C<8pJA z6ZIcJ|Dr#SVY+uO(&aduJXdcYM^20aMi$#PVW9{{bit+zfD z(i@K2ci1exlfjn-KAAO`UN~{83dVtgVm!V_0c|#%<>Mqo+E9C z-fK&xT_cZBa}}~%WvqSo7Lx!rPy6{M=GK}$EpN?fo?a4tTQF#NSVgY1c?;;Uqt_c8?P?+bLKRl&qy2hmV7S4w`mptsLl2SrZ@;5?Pfy~LP zU4Z-qZ^|yeXTk^Qn0H^c64};DSGbZzXlq4oZUnNdIi1z?dnQf0VuH~L4c>(Y0_S@W)!m$_bUbYIt)*$+E>!Cp&dR>ngXyZIdk^va2p;1F|dcD`$ zIM*ZvN^|ul(4cS|y_HT*F|;_;u;30axG7iimeNRkWoLNF;F;zZ>%X9uLv!~;^B4ty zA#67+Sep01I%eZENQrbF7-}w-yr4#QOg6HZmP>ZE1;O;fAr*@5kw`G0P&mN%&G z{|i*L6qWvOK|V1@7%bpFxq_viXV86@Ko5wXyPvCv=#{%JULOB>xVS$E_~dc&M>LQt MM&^cf`p($@0j8+t?*IS* literal 0 HcmV?d00001 diff --git a/resources/onprem/monitoring/zabbix.png b/resources/onprem/monitoring/zabbix.png new file mode 100644 index 0000000000000000000000000000000000000000..cab7014f89ff7f3d8015d636b3d0688b241dc58c GIT binary patch literal 21120 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

wHcUUrDJ@{t2;ih;pB<^qTtNKaBX=Z-Qf4m z3fE>dj=ZSy^7f;M&TI&GDEA$~9f~{*WK;#3Do)GOA7bn1M zVwhedxVPS|J%Ke~sehznyrEs~mbY8&7Cw>~n(Hi=oTh;tar*)Kzv(f#3{$O^^d(_- zT8WAy=@=<|ic(_+u07zZ=TV8vBy;q)c_$fGqP0<$VFUskKu`JZgg;i=>-v&(~KJ-rDR5{rt&zcAeHNkHO`A9Va)oLk@a>^vsMI^KyPS6IEtC>`~5P-pam0a3O&H2^?GQ{r19{BS5 z;&{DufL6%IdO#i|724J*M(gN|qw>#i3!Ls1M3BagP_GySusL$S&Py-Taem?xFnbBl z=RnUX>*umvH6eg00uHErCV!ixoPEJjn6BIf3wI@kfOFXcOdznfb4oiz-a3ey1Y5Mm zIf9N4^SpZ3EZ^O&gHOPQkOA;8=*|3^2t>7Z%S-2A79-K!HHK*VML={;1SUi>j%YWI z7VqNHsGr%0(n)g8N$%>~)>yA^?O^7jFo@{GW2iRqxMjYLz0ErhQRwhjBC>1KXwxBa z+fT>`!g}%pK4HMWMCDI#pnn1;5e}*CNY4^a6r?5Qx&v}$Tmm}^h-F>TR{_rp z`3oADLSfkTS{vr<*(l6b7wqlsH!TNH}jd!-}NNV(!vbpvB1Sw zTmwJ8P^|{Yhqz=!ewMBzJq`T`OQjFQuCDu!2ZOmTbCi8zTNT+-)wp8J%6XhFQIFC%oOdfMVWvq#2?4Ea%wr$VG=XxFga`A#LxopxrZiY0gsy4ZR zwo%!sdfz|QGy)5YtOFP32HvNAV^+xC^R_-i4Bwx6j+)%g=(_GzCcStde;PxC8^`x& z@nIiMX5J#o(qk|)yB(Rhxz5~8dHnO95v@BB^nd<^tm~n-R|%k?yT4aT<8P_9)dr|n z7Xc>;8Guh5ug8VRx2|05>@zsKRvNHIenbwOTu2J%ij{rB}*WJIO#qLT2k0Zp#-4b%LrY|rrt zf;{UYpG`|DEUB4e(S54%0nO3GBtxVmlXg?)K}q3@>LE7$Cv>UtCMFLDtkBsN8gt&) zeGx6#N7E%o7Y-KBJUxNl<8pz5++l)WlPJpr#6+8c*=m46e$3LB^UE;y3HA1BBVPg>DGH zV%#lNi8nU21~>5mH)?5_~YYW7l4Y2W^F(lp1$;&(Jz=p1{_%b51YSa zz{=_=)ij>i%O;!TcbQtIZ;E`ODQ4qop06h|XPx3L>;2UZepps(H)fi+>Kb@MFi3PP zda`Tzzy5jkBQ!GUmBZ#hDbvloReP}CoHv|5k7>kFQE`ob^*PEu?>y(&AC#z<&(6li zWy&)~c}ETMcB6bdP5k*jdBpt17!GED^sM_Yzd2=0B}eMtB%hM#2{ zQBzQGg74EO?6NyEUW!Z&nj!`geTudJMY8=<#`}k0vKQHlw4q8lGIH(3+LpQJhj(q# zja`S9yp}?68YWWS`>GA{`>?_c@Ei4$}-ZT8^coT8$NoS4@dci2@sV+Mwyu>ytm%)-(RK)+CD)UYo(oTj8sqSiIe}FJwq0g8PkE6Z4;nvxH@m($G&m= zrbka^7tiL%wOxzCNiV+tqn5khU1lSRHy!ia)s>!uPFn)sQTFt4!?X$kp@i2ICfCNE z4HU$`W-FcUD44TFnA_gw6_>r}^KOv$!zHn#3Pup5l4Sx8n;CIHT2!ua{K}QT@SPCo zMr0V)%-XK!Ugb-U*PrSi)Y>{Hd}mCNzP_7WT4ikix$I}x6@ANJyNO44?`fgT{_~Z@ z=~(}B=8iVY6@UNs#cC8yxHif9N*@js6!ym%aoe|k zyyMSQf6=g%Q*B%pRa^}x=R?{JiMK;J&yTJ1_alGQP7P%`wzsaU{3nttfKgyv zepXfw@tptW3*L;&UxGjmDIVMZneR&1Fwr{;!&lZH=D9Qw#pte8TH;$rLU#} zhX-AzVdk{8Ee)CwXXiK{I3AuF-ZE_P(RAcPgA!yKkevr8n4q9Zgk&__K{fD!%*0!I z@aGW-?jL789G+`-f#;D(xHB#GBzBDIj z*Cw$P%ory`$$(h4re)gyWg(#q7=u@p!K)THxD~e{ob#@ou+_z6@neA#>Qz)>0Y|&@ zn_&XrIlJt%@brl96O3o{?(UFljUEz;rnfCM^w=PY*M7XTw$qJq<>lp{k*_!XNKpd! zO4O4Xf<&{k@e1*O)25TVfb_93u&`Yh$c@VadI}WK#gmyUPA>=YAtSTZdohL6b=<{? zzb&AaxvSt<%ywu}XUa1{y*WeKwHBMA$#5(_lW^<<6YK%|8}_@LzNqtJWKtRepHO5!7#|!#(--;i~<(=Af+w z0f>sN;0>J#z^JNHV&azCym1=K-zu_VV4z^V79;RWRb zFO8PCmdJ;PKQftq^N~FRx-7C`;EOUI1sDB6UPrUOx1)hR|5?b}e*vzGzy21(5h|qD z9ulW@njT=Y$aGkxBXz~UMZh)=0qfA6p8a{Rs9G-RZw5vJsKQxOGpqh5$r||Gd#E)7 zF+%s~dx`=WttB5LR44H9VRMiwlyb%4kZ}jjr{`Z!IFiSe(`9LF?N%o5ma@~=GiS%m z&dV9`DIc7(g5vh}&R=)X3aUj6$dFjt!<)rXMP-RJ;O?{hzTHg;E*XeHGjw<~e1PN7 zzDLjR`vtb&dGLK@4j^ASh{h)Nqji^bAm}A93>M$_UfEsO+iJkLLb6W!X>AkN)H!hH z?b2kO0vEIeCe8SPfwJP15Npds=7l(q7l7jK$Lp3Z6 zGFWIKBzBxAoajB!&F6`9IQ5AXBParF0-)?G3B5opMN`mct5O?ev%*;*Ts_$9iyi`? z-ZOO}bmVe$O6mx%3;^-(VF2bpT5Sk|k z@207qF6|=a)jd3@DV5b3qJ%)a$@vtfBeuBgUW0#Aq@UW4)_*xW$v=zyiJ=tXJwSxL z>P*budeiU4K?ldxkC|V`f_L(jkM4&Cju0Ca8gP+hzNhrfdR{aKAiwE*v}%IE-@2pd z-RsilScoE!B*SEiTX@|frfR7GhklWv5T! z22IWVD7<5KKp1PZKpS}4!0XtN4)Y_oQW_mRg8rv9mWXgQymev~8(nwy2{HgLhSO1M ze0PZHeV_KE<67*{_r5TYW_+v{u*TYx6+cW0HD3Ph+U;fRr!9;;5bS}A!KlW4sofI8 znVZambnK!wiLi7P1z9F1>_NL*(B8Ex3?<> zPG*!l?Y|IFXDaNtc~YP^Sa6<+lNp0bgmB2eLWEtl{fg(ms&r^m)v=%RKQAJq$G9N5 z&+_F)>bWl#iGt~!v1=KsM&7UcvtDcJe{FU4@EXNhoVq_=ZMW9M^o85b_^qW!!D{Z0 z2!S4L&WNAE3u2WwdPdUu%L>XlXk|LCIXgXI-al8C(QphEx(p}u zjeVHy{>*?!UTF4T0p(FbB?$%k#f4^rxw39+T=M{GA@D-Gct)&)eVE(c^oXZhc@DJ` zesv8a1&3_~>bpmN!0~Y&n+J>CFH+g*46cdSMB#k1n_WYGp=Wab?i&=zeRD#14q#;X zn-2A1fx+5a=2q<;oUq}nh49&pVu5B9v~M)nVArbK6IA^DLu_P{6`%1K#0=&5Xd3SB z)d3_V6CcaNX&)B;xGTq;K2ICA;AGp>(iLxpD7utx@vq&-Yx{PYDwZv!wnPL_jAvl_ zT-{-*Q`djiI@IQJ!uMv|WIdCIBBocN(eN4Tm&DNXpS%{R|KY2N^x%aRg4Q8YB9r}1 z;L6QI4X5|CVEU>eq3n3BDcii zVzHc+UVGyoi*bGr4(BC33%2Jjq><^bfmi57s=<#p3@M2q-&(uJbw{WU2cQ=-4H_h-oRr0npzxYRvoadZfqw-eCTXtu@!}k%0ntIxelBw^K!i*@tH^ zD2rvmgwOS?N=>ovKTIdBX|ooI_Ty?R+F0@Yp24r&gDO`%nMwoeK*>D&+)UE@GG`ZdtN0s3#sOB*gtNNkSd31Zmg@I2w~FqTO@8`V5Ij#3 z>B^`_b+|35L2_j1BwXcwHSCBL&Y7B#MJzp-@FIIBuYx1R-?31E>meV5;q8%^^t^6# zhM-njcMyIR`t zJC^vGDBP^y^A4C;fVp$Z$D_&S%h8-$KZ5PcT94V)w0~eFHKUiZ8iUyQC#4c|`mMB2 zP?6n<3a;-Vr*+(L-cjS+G5@EJ{@Yv6@DEM(2Z?`h-TDM4?-cWg#r5co@|1XNRoDRw z8ZJ8V=|-G{X>n3qCDI4xIs`OMf{=sWk})KQp4TtxZ0pj#>#0cRzZ`RUBjvPw|GPtg?nQ0%1Bia7TQCdq9K_c3lpxj__^1C{a|881X81sw_y{aks zK zu!8K97m8;SpDj}-mDOT)>pgnan`o0Nui=I7o4BX1u$*IzpTRVN1>0xm9b|>_<1t+_ z2xJIk(dzH-d1YKh6<~AJ^Ym(ikk*E{tYN=Q?YJ_kXJf_=Xk=>NxRob_lIRhh{w{RfCBJCObhVc>esvWZEZsn&Tcc(0w{_E@{|M=Jiqn1~0t42gEb zWK!Avt0nH%9sOWP)o@W^U_?o+b96Jz`36N6kOakh|2i~AeK$E&U61eoYSsL)vBmzn zpBT6w!_yuAA0{qn;=&&K_2l5KTP1Is$P|*bW#7#4A^cEAPGPrp|Jn07%$WO%jaAcy z>)Gw`V13AM0XaCHM-soALmx*eXNB1o@TUWSX(@b&|0?v~yAg|G5p9WZ=u?MNs{>eolt1@Az-@dE4c;Z!x_6 zYuMD0lHQvjcXz+fwn9teQ_)`*&E}O*}kDbuj0l}KigdG&3JYDlQj~=-v zr{P)OG5SrxDmdcaez!AxuR{Vb!g@qQbt_Uq{I1GnuKS>l8Preh2%+ExQQ78_{&}J} z=kmDHS4_5Me#Pq7H#N>Ou-OGvF^l76`XJgwPp+wo-t7;?#$z7)z(UoBELLj&AuK4B zCs#l5dIvs&8>B8p0y9JUUqZ?1;2`=)6%&5mJvT0&N_UESAZj&klO)d1@Ec5ZyLTO{ z;E#^0kt@!;eBN8%itXmyw*#4UTUhERJ)RW(Wj_^bG$bm`*dO2TY`fl_Wp!F$Z!h&a zQo3XPuxA$|6-B@wRiH-@f7c~Sp^ZSY%z?DDF`0tFW8-&q<>(!8@E?!ye})5-LWNgS zx7m%V-F@0Sa>bTPaC(~-z_QtVw?&&by|wB#GexQl5)>fjlMrugR!QSwU0gswjw-5Z zN#BBL0CC~iSm7>H+zbI4j;pUG?ac2OxuOGhl^YkubZR79bU7J8x90W1ABXJgeX zAV{!fT?}03gM9?)*xB7@`wMl^W*4na>b+L%G_|XX6wYG9kTd_z5eAtY*65UUH3&BtLWGD_XUX$3+1Rkw(c-FQmfbAp`ZhJ*0uVF>!ZwHw3Sb5;M( zDG2F#(M;dmH)2U&T6}8+yJ53bcAv8kywT&jTEH-#wyknT%7@vHdeU zyZ->|@jst|lu)D-{f6&$=;iTi;VJmWDU>~M;M~gk_~uuyYQ23lQo!`9SyH+~l0K-v zQVV;xfM#RlZ`$?h-$p$;J%&a99fJ?GIP7LS_bpGV58;l@*oUWPe7Y+B$8{Imj#CD( zr&FRUth&6O+=IQj^Rdc-4?=@$kP^@wkU&GX98E;@vm8J@)9y@z)ct-i(uWO>#vP!i zPxI-XPoVhIV@dwZlGKxyg=7pKQTvPeYfamq>Y9T94wR}(`)`}?=9Mw1ZnO2rLU;17 zJx_wN`Bd!>?mDpGYzHCXdp{e&+V^y^tjLMY1lcZ2NtVpR(A_`GKAk8sChF8! zwoUZ9EzN#rUx|!)ToEE5xDo?x&k^_rdfHI(Z|%f$tHaqNxfCx8l8^ zhAjNW*nH}iJ|gNqV{!NU zI7=dWu)1KnZEXIp`W`=L`8U@uBmS3vCVx+B>X(3sqa2fc&>PfJRSs#pqA*EC32ioC zs@h?vz=yu9gaxh3H2;6pC5k#$_=y;6T9~Y2B&c4ERrQ#GU4>m(K{kR8H~p^rY4)zU zMe>#ac**xS7s%rLN55K2@JvvJVezw|2RQ?zQvYTlY_g>2UoQXY$ko|*mBVVuemlWw z`!VG)ue?oYp6&I;m+V#P952?i|I_J7;p??H<9~uX%xx?pj7>ey@W{=TC z1oSwuQ|cY6xGFp|)l)~nD%*$96vxYYOI@cCVmze7lierTNDZjDhxmWbZY zKwUwI-tMTBNz`dp>=j%*lFa?|2|;fD6}Ieq(R9k#-ZbI4s%&6&HT5xYdTiJiiubR= z7a!Zu^uxPZ-wVd&zd`G#{=dnK2I_4_nqURIbuON>n zhm-oh+N(2yPqlj$29l`Abm``k1#guNl(XI@L_A+e-wq;_#EFu?wUFn_j)nX`Q%HEs z%&xg!UpoBnslca%v`ai8Ih@l)7jfd4SE;-P3n!=j);0qff|+6(8X?E7S7hybsLgur z1P9stSP{)42PXDu4{#Q%|&)AD!5fTczn5zPY+9T{vQuY2vuT(?s4dF#(dSi$r|@2mf#G&U5S;4>kCiQXE&p_Ce*(D-Pg zGotq&0YA8cW=@auuHNrXW>c&ozLWZARcYvodQFqoB2KaI7L=!xR>moOvigZ$$apbMGa722!^(%;tj;Ri+?*3W$F3GcuGYL_L{XscSRBnvT_s|-hUe)e1@}KJp`F5vv^f1D?1rK%%Qf=lOYN_)((_fx|3V?4gvcS+=@6b{ zJt#)4!qUJA|DU^BP?Re7BQrnQmnK^9yT9l=I4(Bi%xvWsy1vva{_}gra3%I@oeqTW zTSj7KyM5lPV;#8QulkKQchQN)S_Nhevr_oLm*myaVaN6)Y;W&l!5aw!2!JN;UQPGd zb}(8Pc6qPE20qPpn++yK{#vt*5V!3=9Fdg28Hmu3hZ(xlmc%kaX!t@XC71Py9(goJ zMD-CxpTJdZw=XZ9O?Rebtr?Ps3eX&MKSlDPkpuI%!<(v^o>m-dMnPpa$C4)svMTT& zYvSdd%kE1WxbN+VPs9)i@G=$5C-pXOt;`o;Yr5@&8SR+TVFQu)HuW||$^pUvQ89&;~5 z;F8$z&MfW$-Ixwvw7_|NH_!Ok-TDpYQMUE4$($aV@jzFW>{&+6&C4{psslNNIrK|~ zdtRv=aST5#>_N7zMHXb*KP_Q4Uek-0{Z5`~z`cc&ig(4_i*B`IkGe@)Q*$7z@rZ=G zJfrWhorH|lDvNt*2+M-)rH0H>@efJ{!C&7+o*QSv&&8C2GGb6N*%1v-Cw;HTKExEf z%uY;=xDvVVBx-({i|o{Rd2yD(Z;?$y$^S7+K4)qhtZ^TT{(i5Et*2kr%?Imien$0Z zownfd;W;_KM1=wsE9YE)LQyH0sDV``v!(NLkVJxv3)V5~C zo@$)lc~qaP-0PuruLX`hjdA8(tZ^mO)qe@E(+_+IA>D^0_d6+;Ow$-S^y2kEpV0Zo zFP48?JN>4Zq?(2c$41-A@94x7Q@dLZZg42le~wka_qCeMrkl{exs?F^tk2ifH>Ui8 zmu2MXB+Tj{bz(}C@_T7$i|eP&QZco>-1ex#Dl;P`-k$Blv2D}*O)d#4YA@-jVY4}9 zFeyXGD@NL3)KPd8U>R;jZ;anSOxw)w<%=^`QqUKAMUoq-P(C>Q8rRNaFbr?H|3@x7 ztLaFaBj3z1d%Hrtn*7J+x7A)jpScbxSTbj%1+){J?NyhH4_WJE#L)w;IC%Yr1`7<-#dW`i-9X7JY9^kSkDp{}fwm zGnG-wl!Ce{o^p&9J22d&)^itDL#_TkwzYt!8YgbD2z+APJCEWGS6#;XZwsit#b(EL z5Tk6Uu#5!5B4uC04i&I%S4IskIEQ zRxeQ6lPtn5b<{0x`r zX%iv!Os%{2Kzk`9Q*;EQSb8lo@<1(V8uN6sa7G64%t6jQzXBV2IJg|)(~Xs{6)?$? zG1|K9{_1GOGFxIdll~aBo&Ay2KrgL-s`b;HX0I%?pzhb}Fa9=EVKXL?$v`)Jy zGaRf7+c*oK>f-RZQk)Q&CI@R`w-ecWLJ?=e>$msQ9g-=}I!1CYS(9Ofbq*yIseLMk z5~T*mwX5tB=jPRj@LMX&AJQMG4XGwRCSD@)KADVjCL4-06mlAQZ%16plDaRcD$azC zum{dVK@%Kn!%Z@JgBiI0Na+}{&rqj&ol{@dmk-Kbm87HAL6R0cfl~^e-JR4Yd$~;s z!1VoveIkz-6dQ#I)T|W5Jd6h4O96@cvYI1}ivt>zW9pwho2bX}iB^0sU}hrk%@8^> zHIJ%BA^sGWGFbFyg0edkUJIIQEWQlYNaZid66VziyYINGp&HE|gTx{C_-!Y$J`ol! zbA7^cO-VAOQ9m5 zU7ph$SH#me*JNaAoyNP0;#{G6V{S@19-?(mdhXb${rTpAwU8kD*GX=MC9x{Nst@98 z|L}D7uLfa$`Z!v~bcr!RCsQr=e{6pZ6a{i3L(Y^r`9^aUiQXSxUKmQs{i=@qhGrsj zjN*h|&wLdTpnd5WSj+!H7Uf~9VLSV!H}u(2BW$K7gy8Hg_ zZ5DpI3p+n?;&CcmmhDMokZ5f$z3^qs$-kiO{DU6rtGr`#zaBSI+SDop6~YZ31}TM9 zmr3qi#(Zqb{OanS7UtvDIImWN6K<0hYoE||u1j8ZjLrgAmfIP!~&Navvf$#V^*Vlk~3 zur+f)@yEl!q2GDj(KcPM+?Lka{W-r1`3gG(vKy5=Z_;Rv<7V$5GpYgB1OTn=lkXoz zdPiH84Tjn)53arPa$@Y`rrI=^{Pta$iMzy+)(?tQ7#~1^Qvq$fr#1#`Dcqq9Gn_Bn zR}2^5+NkxL8qr6O-U*z#1ZW778+b&Js_^Ce-+K|sAH z?3Pf}7EZqttG`O9HltHJem_Ija2_)xJK&EFKxX8tTv#qf|CV2sr0L-#?Fs0eb>1SP z0twSRtxFa|fI{8!E>I5P&v@>FY?b!bgn42DU#mRMPyM|1lXzdP{e_wmMvf(#`Bm=o z@w2*rlq|l8OhIu&`y?*7PnFVB(;q$H1*J%)x*Lu(Dgm7AP4TJ3zdmx?4f^v9WW ztiRa1W}eN_zNGb$(g}k2yk_>*d=}tP0=2#@cW3yB?RtHBf6qui?XYNScx-~P4gDb) zNzZ1i-mxU9o82(3|3MO>y>*7kF_yePrqQE8AKD!9<qEFv|5{W(X{OvN;qm zOMWBdc;;Lf`k-Qp*fR6gs_+P@)=*YfC>xw-Evf7tn;-qYB^wW+&a+B(o5XiXOmt|htqJgoFG8_-Fd*W)p36mI zrI9S%FqCEj8BROz0#jmeEeJ*!(ob}>&B(tP^r)eg|4Y#k|5fx?@}>BtN^8@~yG#6n zV66-=C!-M8LjsR6e7 z3DTz5WUHs)aZ(R8>xQ`SixZB&No5{G6!up2kM8h)pr>1qctoE`B$w{ayvSaC2<)tU zuSE<^exw0s7AJ~xoJcrmN@)2@>^a8*0`k==(jLd#nNC4MMhJh4^9HJ~=5|q}3Jhrb zgN1piPXC&lG&&2Z-XV1Xp+P&1uPbglRqa1Q|E(uf1`9`pESw|Hkht67CfxABhBv0! zo|=s$>hd&oaSyJFCQYJQ_Qw$=)+47cWXt=hFI`eRsnJR$+{(jW$|lkx6Pdv*%Tpos z+9hm{S8l2iVMr;-Swy8-Vlr1M4DMHxwD(nUs>(U;#_u;LZ|g zKd;ZJIW~#(anUp%U%#F(K>4~xC{+`9;2v6YR^^GXsY+jt7_pcFd%P^(TY-O>e><(^ z=p*)4Wo4UeFWHExj|=L0P)A4ml#?B59A|1P zG56XrCY`=!o#QMTqHm+eRF!*}3!?}PByi}aYt1J3Hy5v+n>;V;HYI(Dp%g#`WAjQ6 zSYY9Bf2{GswYeAMIH<=>1n9?!h;27&+hTvQ7>T7>9$nt=lHd!c5F!PbR6%r@0$a&?orVgitYQPttq-nHBj;Xl{ znEjkHTLdB5(*KBSp-7P)9QLRZ!MIDRwk&+8QMbn>fU4S|cj5`@n#-ynI4DIfi_P<1 zoCoCtceH4z>Jp{Ewqj}Qx6?lKL2?|Z?aNUeadc5?bu!yWvpZ*E`~byiOEvaG;mOyU zCPt_rI7Qlavt8}SMX>NHYtZE{^lDqm>%m4fKsn-#MYVib87rq*o+j~U2+`8KVjMeE zhrxJMZi~s8+gya~RV3&@mmpQDbG7V9a39D$l0i#~e;RMw)TZ84Y{l|ZL`KH0i9#p) zjIz~DZjwesP>$;6yx^n)(D+T&jHiP8$FYzy7mqIeDdt=; z=(j)b{|UGcNAPO&HM^{-JL^QkvZwoeMko;J)gz`goz4?T@nROL@fg{Zv;K@ss8zhhA)@UmBEKYVldV^2#*&;e*j|Cn zTY3avszUb)~zt&}{m^NcGqCQ_b$W4`U$q;(RTAIq4>WXW($7lnV5Rn>oi%H7}F<-{7Nar=LlaV z>g`nx`ouV`wgV?Y=P~nC(0^J>3oOk#Ur_N*gAoyxsUKibZJ8$PJ^5;$o~Mlb60LKj zU+8Q7DfvrkuaEv*GLx>I!V{XlvXotqY>{>f#mdBWI_X#hS!Jrb?b0Uq2)iFukK}w$GlJJS@YBJQ;)=Bqjxk-(< zieahiRZ7)k6v8tB_$L_aOS_2-WU5SgT@*h(ej1Sp6O<-sY&liiQGk$g%mM~7v}@BL zAaH_nb+b5RKY1)^4D%(UdCH7~KMV4>4t{BVXLQ{Y8TXX)Hf5k%(WRi|Sg`mut;clr z+FxiXZgoUB&36N2m3*_5n>qkPzPx+jX3+h^Q=r-US-q~32nM7G|7|4^cz)R;_j}V_ zMu`}(fUPyi-4s|=s;6st*H@EaMG)iPg*TUl54VgfC+iE(%Nh8}%O~@^H4XPG8{S|S zfdLl{gVoz0szCDi*_nND&$kC%WGS_G;pw*Im71(=oX(tw()D*7mmtDv@k@=>6i!%% z)HckBKrvZrV;U}UR;I@J`hLhI6X8v<42LzvFg8$!di(K>ox5AbqvtD?n-BXypE27V| zJ`X@dZqLdRR8>65gFXSyXY8a1uh3j) zuqr@5Yyy4;Ot6o@LR%6Hn|EFZNPfL}{NLJK0^ffR680iEZiF9R-2{2~ zq^gQkH~U>z%$xk>goGQOFPAoz0BanWuhM@3tY;rWL3&Lb^zpm_7rzWxPa|i)FFGSd z^^w*Ue40NpgXQU*dF!CJPe4gI+RF>z5khOia5P4Iht4Z=V!CwY(-ftfka>+(MuuK3 ze!gD+=&YZRvGcdzCo>RHF|t&xqL;O=9D_l>Y5)AN))qNlDPbLl+6=H2UI4BE z_GXr@$xst!mVN)pjhIF{W$qjz`bQwdRPQg2OXeSWE&~>UOA_U`IMU^=USHQw3=fqc zQ>~ttp?pN9j@pnq>3*N~*)j?0tb~xM;>#2qczI-uw<8^&+I`M!M2AGRk-lg1lx|sr?T8?tbkY|B-EH`dFc0~ zDFK=Eu$JyyBQkKoW5vUtsFHf8tUfc;H;7^efHR$!z0k*Dxoif zCM%vSZI;>0_huPa;YsunpOD7}3E%2!Y1!F7F~R$^?EE``GKdy<5AY4(fNJtg2b6@M z9P>@}H0XmneBE!FaH`)y{SFxSw9lNSZ7iy_qhv`>s$b+juj6V@$Z))bZ|b^zEiLa_ zXE*)iVi}_()AQA2Y=A5Q%R;(KXugZ&C5DQvrA^Y)6Lx{R46i0RsltjW%xPpHIzj#?NN}?b7jJf5U1^fW^f!tLQVJ)TUf`nF(WQ%Esl);#bn+WkHiW8Bs_eH(>;7wt_JBx1}Ytad3N7wF51eG-ZoW&40ZuuAFot?E((Rf;D?wa!5k$pQGp)<|HwYD zPryRO1ymz&lG1bnK6*!(&=HFMMxDgpHDVrM-mL>IFd!~N8`xX1$%%~-@ z3*^_zw*CDs%NqZ(CP4r;)nomu4=CRh4n$C)cLwz%W1b6_RS)t!ADs<^KgkDN5#N1@Z>u;W zDb7;JFMDEp2RgX+hO{p&H)_x)*UFVeU$%Ar4pJbw$k0shP#gC_>70HSaMh}oV5%9YB-f@R5f$C&+LajIfH&;?Au zEa2_Hxxh(Gv&};i7!v|J^QXkr0PzOA>)S<`aXlB|G2uxvRFko`v{28{O~kN|8dw@~ zNlPuSw9l>S8YmO{o&hew=Z-YzNmYc<%1t-*YqdO*ucx28S8LtVO?|DOp>ZCr%LyT~ zKh7nKU=S(qMamyYDQ}iAAb@kK4E`!rkKz$v3`8$16otZS0e=D<7kENP0FKM85!ixoJVBFcP$cKIRrRnQlu(7G^0k8XMO&CT6*_+l87a2_4+7UqDeo94m9}+QmVCdRoe8VSpMU8CAE5Jx zKV;9*NB2^xyrH~x>v3{;_ylR&hXM0}9)#!wTA1RGkJ!MNWmP2u<4xMQ4pILMnAWLt znfuk!JU1qImkd}0!TQx(cDk#hx3GU_Qfx%vV39fpVm`t&+!M4g?Hq1E?JiP6no^!N zP?9hL3<5im^7p_4NcoVo?I$Xg%HD!yaZZkb?-h~zi4eB`<3Cd9?zXml`O95$Y-~ZH zvvav96qaCFa|LwD6ryo5Ac1iq5q}kj$qsUcBQhpJUaSf zY46_c*!D1Bzq?Z3ai0GlJi*5(ND@*+0000bbVXQnWMOn=I%9HWVRU5xGB7eQEig7M zGC5Q+G&(dnIx#RUFf%$ZFo8R4JpcdzC3HntbYx+4WjbwdWNBu305UK#FfA}PEiyS& hF*G_fI65;hEif}WFfd(#xWWJc002ovPDHLkV1ig(%#Z*8 literal 0 HcmV?d00001 diff --git a/resources/onprem/network/bind-9.png b/resources/onprem/network/bind-9.png new file mode 100644 index 0000000000000000000000000000000000000000..ea842c93b215d75448f74c4ed3cbdeb521e77f4c GIT binary patch literal 12580 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 OfU>-XT(yi9^nU;;q2<;9 literal 0 HcmV?d00001 diff --git a/resources/onprem/network/glassfish.png b/resources/onprem/network/glassfish.png new file mode 100644 index 0000000000000000000000000000000000000000..a94d2dd0981b85a2a651302a535b5a48a991364a GIT binary patch literal 19706 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/network/gunicorn.png b/resources/onprem/network/gunicorn.png new file mode 100644 index 0000000000000000000000000000000000000000..6d277e0269583ef0c5ef4ac339185374213f740f GIT binary patch literal 11788 zcmZWvWl$VVv|X0Pf@Bv74vV|HI|O%!;1GhlOK=G8?(UEP!66~I6Wrb1A;8>MM(zz9l<*Q0Dvz0QBn;6fP?)7WFrG%zofsnI$;Npm6)O! z0MHPJ`p*Obb`CZBsHO-2cvAxafgu3E6Raul003}f1ptnW0RaAV007r9yG>OPb^*~; zUPcn|_TMMJvn&bLg5)ZzD223xNQ^;AwIZ4z1OPCBWhKQlJeN-WtUL_{-0ptpH?w%3 z1H^!gP+Ip$sY1%(MhdEC^AR;7{eXueDolU-P+!q53-tH>yJ~GGVvuul#7Zez3T8IYS%{5DyoI48g3u!pg(u zA!#-Np9MwpX_El=oUJWwCCm5JWkq+8`htMW%I|sVS~m@k51FX!E4E%MbUj8dN7~zM z05J_)rZv^>qQ3^*XD&H-{IBlk`ZUkVZGyFn8`Y)O)N6fM!Z?k&B>XQa>#x6~9keKe z6zfs50dS+P@Ouf%5m^9!&tG-S`kf8VMWTJiw7l#*&VEl%6~P%n&j z;QumrpCr4V6zDuhYYiVq&mp{x9!0dOkoFoymHcQg=n!SJyn&x^KIxhd>bBq_OPQVbxi+ zmBvo{fwoFF_o=Q?r>DOg6?Gj?78p)X0rN#L<*k zqDU4RYQ-el6Y{ti26)}H3}n%)AQjRAh$I?ow3E-}(&||IyjBepJ8lM_ivs*x&0*G? z=LPA&%Qhahk)g?E0D!gU#tWW&L2tp^VWe}J&;vUY_4>RSI814U|8naQ zH*EDcz2<(^IRG$Ru3!KfS+#M}`Xln?{tu z&(I(#KT!r4n&fEKmloU!P6uOSLeZ*>Ppi+W-8I5BtXFtQRDhtQ3)VUo9Rx;Da?ft$ z$oXxjhu6(jzK`RyNI`jJ2G4c+JWitQ+m4M;9bIOkf0amBI{VV;5y@pNHx4(SLhQfs z-#K5gD@DJton{F;AHNjw#N`t6jo@KL;x(kpY04%cQ@V|}g>CiA$?Rq(a+S<=5lF7AL23l(rMPo{`FF*f|=d6G^JwJcxrkYDs7)cyxjK>EaOqO$RX7O@3?v`UgNg61;#1Di!=kBtnjxJ(s;^x%o(eMEPIkG}}K1xF3Ii-+VgpgVBpJ z!j>!$W3}Z5<`H+Gturxvz&F)KGLf1Ko7>;%9(S33iJeKFBoa#e4Cwy~rEf`ds9M%C zrcZyTF!504HXo@l(nQJIr}#j#C+=dyFt^7O=>l1l0uU4JX{FSDVR1-HnasCRDbnM1 z352q93Vg=3t&-Ef7IxtaKRMMwmqMSg4cP0|eD9n-LN8U z0DxmA>X}{F1oIMCsfAwZXJ`bB7mWn3e<>JK&ou5pNEi^v>-hbVJEZLorJu@~S0hR|h&n*~Mdhvp$&}9^`O0aGh zIuQgc9`mK{zQf;aOS;rzh=QOo2M|TAp6LSu04~zcGfuqD_u3Q5VNeOCN;YGOmJlE? zhJWb2HX$#4>%8g4m0=02_Sn^FfVtY?1WWq=c}w~(f`1$Rp8+|=GD@KHPWnH!4ahpz z-0gQ45p?=q*yxl2nG3-2jvn^9VznE@rRM5dsbR5o`k&q!8UDku;QL%eP_%y=jT|q7ZT<`qhC{{M^c+y?#}nO1XqLHa zUSq(VqVS5n=?W;nk1wRdN8$cTb~o}$n)3<~GhaV?o?!`Gqu%tKk7m!P(3TJ@tgZg5?6`MoM!FY-KE1LrIEA}9+qS&{LH$@qo0)eea+f{3G*zMnlx9X zwT3$9AHpl8F~u040h+!3@D+*e*ULc6ixK}wxoGxb+7bR6~iqe93pUojwB*#2iBt)eqao_f_ixx1E8QtZO!0rA;Z#FWVAEZkgHFBHCQH z2V+G>K5uWbjmZ`2cLXz%tOK^6<8qaO7+txX#SA?PEv`J*1VZ) z`A{B;d#-^>=3Bjed9m>JtZ&lTY4V)DA4!_~C{{{>B*AENr99rfz%%>2iB77k**HwD zhdD>ZSt%QZtpSAN+eqk0dX-HZ;Ns<&+;ZlX@2_kWNPE2U>L;qK_du`kCn#D zuW_C5Dtbckr(iAH#6h};?I_P)f)Ji5Fp@+{M{+C3JLwr4&s4~5Fd*-7vo}}!+@bUB ztlx*=8-aQ&Wd}T2gd`&n4bPZ4 zPu@&#;Zw!F`pk85M#PZ9C_qvt(GmsEm}m>nIBkIC{U}B@KHv31+W_~RyQN<3f1IY{ zRTbRw9-p>CrDRxZR&|yv9&ejp`e(nc*={wq`IIgPGE^*t@kP3^vR%gO9pqaheI60- zqR48%dZk~Sn_%jgx>z&A7x1sUX?MTRk)PD2i`$R5>*#eYcAEd}71Hac$jvHoY|z5B!cY z&H4{|?_4gcb?xEA2g&TYd7oqMyI+4}iQu`#SuShD!-Jp^zCW(bd@}EV0FAbbz>a>- zjA4Nz58<}EI0*X_?}uJBW9GqXD%V|r#HiTW?g&f3^#zYl|95%f;XA2%jBmz|D?)iL zQRDYdYsB|4@W^0M@6tAL_08O;PGxst{Fw(1Qm}aV(ATuh&p9$3;CM$^w(=w3C`n(W zsnf(K)fRgP5w`N-p1P~B%hNMzef@X9mo|W-W`W`Ir+KT%!lq^3p(SgpnS&S9p3+jG zF_y^FfC)7&SYLf3Jr8gh7P;LxLi*ktOuL-3`9VU}clS1WRNW ze-t@>s?fd?Y(1I5k=tQS!rd#`lccg2_xTU-Zw7@_y!qwP`WK0i9u~M{1HE zMI4MRur-2^Sh|l;ywyHwmy&XuA%_4HiH1p$MwF0sc-dUH`gdY9d>Cq1=Fd?dfsLfQ zdhgCs;D-+!+5(b}R=zN#0X_{KqduxoWA^Wufbh1|DQN0qjN}g~>%~z-@rhmEw*{X? zn=1_eMurAPH)_{)6f#DICP`LH0%s9%zZ!Q4z@2(dsq3Y>^((e>S0-j_<_+Kcx zw1W5|a!IrCKPDJ6L;!+0g4c!bYSP+`5Ycut-#96X zL(lAgK0CPky{hZyx<@H(6G7u)1kF=ha+EE4_6I=@4L6KMFyQVHwa5^ZxU*+DN&}9T&2e2_~kj?N^m%MICF(-ZujcvF!8Qznw``rfW|)OA&z3bgLV23 z8FTlMqKNpH&t?`@P2ULsJtp?bBWps6KENo|0Og>;!IO)MUiFIjQ;c(Tg4wm7PyO@n z1MH051AjYN8H`cT#aFDTelHkQD}I}|c0M!e?Cw`JV-MRcvVT?A5kmn71!qGWOLElrWf| ze0)88-I4P|!pwIlJa3ojzFukyh8g`}WFSUkCAr*fc8+CSaqC5Ps9ODG$-r@N*kjh^ zQF`Ba%w94i*ym9O*%)3(IVXC)yX@We)>;*0M~$)mv$w@=qub}eGiO`PRL>D@m9?4+&IPTWVt1lEkbEf#ClZr&m#AB#d>^=5D=ql zOwM^;Yl8x@~Ts$3IM0UB{f@U=Xv^Ng~~BVEI=7F^)sNu<|l*hrl4~!py+Js zP4LcWb$eBC>$+29IS`VIKC1LcU6gEHXIodVh1X5PcQW?bf^~8E$Na-WDA`#?2m1+$lHBh-RyfYm zm!s(shnue4&^!PBbjA8v{x8Hq!R!PoK>t7I>b}B%a8>?^ap7qMC(_GSQra|%r(DFz zX{J;V%+MC8`s0};PdUC11dP88-ORj^AVa&iy7`^PNUvBl5ygMB`hODzZ4>Lw{%xu2 z&Phi9O5`3cJm+!J^9NpVRQg+)cnZ2Ealp#!L2-aHJ?p8qub9+3dN?U{ak-CL7P={# zm2{avfVxH~Tq&F4oO#Tbcba(c$<`*bx@Jqh0x0kb^MQ0F$y1N(N1dc%l*VL)SEL+0 z3Vp8r2L|UF=V6uTkP%V9@ab+&N>=P0DH|;Z=we}`f#%Hnm$fsq`mfOzRa3kS;>XKY zQluTx>G$px8nfXhAc$CqOe8p(UGFp9=Q=&Y*ATeU%1Sv+-4qK&EzVH2O0^XB${A5J zjglzo3OUVwJd4byb~h3WSAR5hzlZJ@z8Owwx*`Cpl)42IHZp?c%lCcham6Q^@4YBd z5-SHQ2N}H_H6=CjC1JP`^(_|Xo3Hl~n;3^Ff@v}==eA3&3YX3)fbO;%=eJQNU=p>6 zg~l``hKn7Q9n1*h`wZz7jMDw>PpSh$K{xMC-_v|XhRX0_I8qCTz9TeKD5)&|sBNJA z`f}0T`f?UM0guKChw5P9<7c%!K5J1$ktznRp*Ng8uqC=dBOqf6`lz)d!Lw#i0OIBG zJo9{W>c^8Dnf7oiNn$GnHgy*JY0sQ-;n+ltNqtxwHc=|cWZ4l~@px#b=^E*M*u(En zuO5nS;LH;a20N#3v$nw2H!ddEi#?0GEph#vph;&8%)?9j_l80m+tm%osSy_MMiJUG z-2>ik?$Ms=%N0&@4hb`eE9lGh#yR##;4~Ed?)LIQBP}U`l#KngeiqjBi146iG-CwT?g^Guz2gAtj z5Cv(Fl>W)~hNsP_v|1sw@vpg9->Ch9PweLmr3WR^Tg_q-EBkIwIr#gpD2~fUZ z7>#%%3K==SknYXp759_%kYGGc^Y9p#KIK^aS0fQ>_b)qt+2KofNZ^>`jPM=bOP*9u z6=dlW6`D!RhIKE!W&}J>b_bXq=gngOy-1HMEWZe;V=j;7i9-}K9~4S9XsPj3)l>;p z**eDs>KLln;nW}(j%SYVH;e3piAPYTrJ=AA=h-UZIpgk=mNDJWsypUwdkEf^)A>Ww zt_AKm8&Ki7w64vYv-FQZjeMs0Zq4#hOMvBo)vMQAw_wNJrnr1T0b)>jj{)BK7eWa^ zob)!X<-Fcz=ge$!2-Y&wbow54PD$$Ya$NAmTv$zj`#cR($Da+cwTM8puD>tSlQ)xU z2y@9zO=(Spg7iaVSRy!hCe5?mM<7!zJ~l>@vAy}9()?`9Hq(r z0}(&Sba|;hE|ceD|BL5Lr01i7O_BON_`J2(!>7WhkohsoaW#9EIFF+NaNJ|R{n(0}TU2-n0M0dH zyieMuKfNcC+I}-N^!Lt#&i(*@B@cn%C`p4Z(0RjnqIWZ6GXfz~KGWmxDLBGd(is@3 z@0>>{yr1M7Ig}(1ipRDd=CKg0NRXS2nI#lyc*Md;GUL0Af;}ZuL0HjaXs=n9RrLUI z`j~=`n2I@_oGnEVa2P@!kIWo~a~Gw&c005bv=qW83U1|hx}B}6lO!U5hP-bPS}|BM zHSZk*U`04OZ}c?{*+ini+^LjrCHW#EIj2-w+%?h&Wp;&Q$VifmU2fZxV~1I6^32lA5YZAnQ53w48GJL#wSSJwzlW|QX`52#aQ;#m zBkY4cZuS!RteIcN5CE+9Ogd=DMP6EFA$cqRc2e7F*cDYEnDvf3dkHY51JW%8UTyJS zH?n`J!qk`jh$^+u8Z=1k-0gLXZbW;QBFYR2WV7@gH&kydEoBv>*f7;tV91oq#AdPw zf+d-w4L{mbzAp+i=G#zis)#IkxiS3K5X@T+j3i zXn#J}N~_VTAjq*M|FGVEyH;++`H9Ur5&#AUqXHr(W1n(l(LgZDQ2a9njNP8>x03~E zluvX0#d$HXjf%feVhx!b+|jkAdmW9P(BiAa)B$t!FlO)Ota%`&HDe!VO&WEbGsIQ< z75AxasrzmcaiB)T0Ir6*U={d&23ckZ01zQ+iv@;{hSS@vmOEQ4=c2MXdUu4G4&oi` zT)tN_{k`LyP!5;MhG=5@UIlp*_8OHP{Fkhqsq;xqBMklL7kfDx32NrG_^NUj?@rzp zU;e;K0#jN`<0j)2J{?i>We@)1R$bFqc8%8)N|#9YxmruEu*vG~IRVT+Fa_U3x}( zfX`{meVu>)UoC=?;=#zQWA3^tgZ-jA+c|5zArcT7Kl@IRa8%3`3`(luT2?~O&O{&Y_ZbdRb-&r0nroaL(M{<`M+}l< zZIBLpBIrp+{A1=Hu>4B*wj;mF@<*RI%(G9x*=c8MP1DDWJ9aSgR_Ye^1pstYxJucE z19Jn>$a61HI31WPM2YqogUIwLK^Jp3W5o`=_La+j_2x1IH6cJx^No*{Nx3Wlc-ti& zbY1d+9WqHEB$}m=v17N0P^7uct4=({b2%L9eDIVd?Mu2BOw$p`k%91CmsKD1Es}?d z`{xcO9BhfrhAkG!?rpiFFkN#_J$_?6;$JqDA*w;`G3f`3nM+G@1IZ5bUsVI)q`?iS zcRy>LGjm|$e@JmQ3-bd1(Ah1XDgzNtK*K4^d~!{s&7V4} z5D~9qbLs3-=V*Xd?-z5EG8!HK=l*5cw6D-B&w*{K)Wio&Vfb>@)8QQ)he?}%l@>v8 zAB4y?cdGD;qHF7x>I>Q^zRD5G6Nq%)vSfbCLMJ(S*D^8nN+CP(Y6^l;HgbVxy>t3E zzNaIk3nla%SFgnL@EMhri%mDu*!yU_kV)bjS9Fh(npV!rm?!CN0xg&(sxH7FkhgHr zXR56d{JG9Hz<%GQhN?!4>$C488#@m>Zw}o2r2#ptD8;-`lRX>p^pz|(JIl9ZKc#pi z5W2K}H(48ID8>{k#ROxpt6Ty(+1iPSi%{Q0`adO=s?x`(M|q2P3KFsszi!2mml@`T zTdrM>8RnifyL-)hGD~yt1#_DFQ78tGVX`aYb@VYxs`3r#dCq}i8y<|hc1p_#Pzhpu zeu)A!E7!6Q39q9|%4$k|)urd;O;n^2$bG+zlxd~>sd-@m1eMnmp4PehT1r@iLog0F z+|#NU4%>Meq!eBJMkK#hB z-MrpxLUynfGba;K^6%ObAPT4ECNeSZ615 zHdR+G%HSY8k-#&RJN&k9^l-)S1`B59jX}f58?5(}nc*b%KD?#fXTCQRXwjpw#RWBC zE5QU@M8fbvGV>yOUzoTwcu7`fd?#x6RyRDH_ELdCv`{2_1u7$>m{=kTn7}PzA)~LG z;(};VTyK_t#9ON zsGy&fuP%P-;>P((1d)9ILr}#?hqN;i8c4>)xpAm`%?`asRxwoREVHi5;2CJzjv&+G zx(#&^d0o4FYvalp_0*h2n2oFT`>~*AD@lTOsbE~{aU@;YS=5<0&oF_1sDQ?b;UbXb z&OC0B!^oM!-IUtg@2Z&}sDxBn=4Xvgne?Bcw9<0a^{jVR6xh$D2aVwEBW`m#$U67i zzFM%@#_jKe<+!j^(JTc0k&evMY^%R-MN%&7v$MULCJx1N51Hms`GJo9T&|iIKLgJq zNZ<9EIB1aO(O~TdNx`@*PzN+Jz$4sRWs)}h_rU-Yu){hJ6P>meajpJE%BbrBKvS=C zFH))G6vE!c!YOM5?rXNebIvUPCy_2z!+qI^%V?$xnvPUKl7!=u4 zOv-q0FFCAcjHGo*etB%Ra_2dTy(dBhfyH*NVp`$PD2Hd%mZm?=+4qq_Bm^nOZWM1z zG*Aid(87~dMgel~G`|pW9S^G&zD&q8G%b)V6x9tvMEw^{3y*Bm3pEP$3v@`^&jrwlCY5DQLAwoTV^% z`#JMoYG^GRPj5sIy$yVwe(vs8c2?X`J-q!IneIYiHaeQ2jnkqN;!4Q|(=XC(FjKy` z6tueL=8c;G4`>@d_?eE-2zTDjAd^uL-^3ooIXf2zzCV|j5{dsu(P)%kR|EslSJ zz>!tcm0L{4Yeqqx?Qc#Lpj1z_Bga?arUUUi5F?v9wla3>bzdC>!Z6;jDU6_aOg(x7 z1A51Bu;_rHTb4-oG3q_%ngpC-2NRXe6-*W*HMlRJ>_^oDe8n51L4ixwur~IF;t=M| zd_By^lt7qHx5Tm|#vxSyiwz+_8i<_-z!fXVTTu=PM8URBr8cHctiH^Xp8HOd@$c)0 z1HTyCoX#oRK7KDzo25p&T)@OPwp>e&5~bVrPcw?#3{k-6LfxC)twLXSYlWu6Ce#hG z8Yfkb%x`Bp#wamt-EX;V#}#{pd$7W#uz+)zM7G>)&aJ?k>9Y|m_e~9Wqm9>G-008l z|AA;FA>m{;jehY}#aPRkkdM;}r@G{B$ETYK0mDg}M5{;-$cBX3Py7)ki;J1dY{$YR zGm4hj>_d^xHq$YrWf2{FmiM^E(Nk375!RWdm0xbOrRZWd4A6W3t`zq|3=4+)8)H<$ zJ~;%Hg-{@#_9Dkk#Q4Ck9l%xI?5Y%fPY`8)8wH5dx(S#fh9e^CY(Y-9WZWUp(vjDo zScZ|SAo&H@J`_jH{g;?~hpHvZU(^Xv_AP{rvmUssWN>_BK`oZ{_}bQ5DL>d#q#8Ua z9Rt5Y+0Wd^WY^Mtrir$W7;lr*lQK)k&TqiK9{*;(rM!Cm?D1`ehVaIszICQc^?M<} z1<~mjOMPy*(ZKRgyEZyf>-6f~S8Y4ln!xo1lKsFEfLBmWDPh(PjBqk>O8|?j9zYT$ zC|tsbUbsqU1&$a_Q;-X3UrpEq6eUe8samw7xZqjCz?DBVKW8?3QX8n8tEuk>nSLvo z&BzZ>LcVX<%7keo%%-H?2V&o_NlFcIHK7oFp!T&xUt`bj&Q;;?a_x!;$9)7ENtR= z_TlQwMRR@}1w_gpCOw5e9jj|<&TxVn5DO3Qu~kah_-K8EJ`K}~N9=pCIxL}xG`{-q zMaH}Ji3R>4PE(Vk3k9?HV@pM@eaD4*1I`eX30oUdW8t&M!Seh(to?p7osIMZCtlw6 zzxNU?IUF!1Kg!4U~nc?|#E8H8nKeB-m&b9S7L$M>?r_Lf7qV(U2_zm;ao$AtFgEuY` zswpnDF7)bV0?^NL@~ZMRogWy5o~TzK7Mgb;A?ZR(PF}(f`+-vfjXT_iKh=-!BR-|W zQ9BljlJA>LBCSN=j$4H)q2=H_1)z}0bKR1H1KD6TIpLy1crVWn`qlc!`C-2sWbj93 zhGJ;>HGi2xL!>RG5m(^b_C9ph_y3qHoV7@0M_f<~#lpgbRdE}QVoyQ6cvU|%q=_Q2 z)FCmP#L~QXH-qVs5!9wZfPOCi10gNV*+&akIpb))*qK&XW)d=*S7(nUs;Sv|d|Xv{ z@kCMWz(l2J`rC1dK*-b(CAxhojU1Gedq~o~#k1wF{)O3&#Riv;Z5V$M6!Lc#EtDRP z&%IF+Q7p2A^2w7_m3})E7u9x8k!=}C%pAv-oP~Wjm7Yjy&oOOAY8J^=N|jO;*u4!; z7P8HoyN@6yiVW%O`#1E**gHEtCK217Qp@evO2n0BvQMQ(C;uvzMi86d33est2hLi0 zy%e3GDOz!HWQZhtO0XWQW$HT;Crt!RaNpIKg7i$N$*vvr3!4yqlVUyOBR1I1Rp+Sc zz|dZp^v1e((=lF!HaYn$T~bV4&+V7@c%lnb63Yc^+hvj$HdtUlLe{g+BU=PuDj!UVXtL! z5F7{@m=8BLzKE(A3a!MaVH@#$=nSt>E2Ler5cHSCa%E1|zQ&cxonnM{>reoqrd+{3J_?>H#cQVt&2+IGcK&`~- z@*(_ymJ?S`iXq%IJV4$%m?K8$?>{((2E&Z5lT^XVQm~{Xxv8W=b|iGvtZPz3!>rCi zb$|K*wYVhHzAIG22(Z$O&Gb{$;pH)_5vosTQa+UyFBlmI50{NT`nomE(q^zvC6)L$ zUtCjY_|=yj8pzKeAkuPL2dhhME~Op0ZxV(H3;>&u0R1p{~VNKM<-$7c?|8icnLP0QY3v6PV0&(6A_hk2+aj{>kiukk#6*1~CaM4Z+`eg8a{(ZIm7D*vg$cEmZ+Lu#K#H6v z&UM;sRP4!W4TBK8kFJC=r|) zaPHWL^(1jwO4>}1ekK60_Rh1zWK8=Pg2v|myiQ;9vA!*H9zYH$0>vaXhPQ=i>hYe~ zsb_zc8Q~i3<>0!uKavbypO0Sq_I2@ge;@YqpbW>bZQZzy%)aGZL3PW7$86{s1)U?%Eyx(MEiZ%PBs)B}GA(eAY zy8X$bD31n(6R9w4YqEVRDmz?|k=F8=Q{UbH-LES>0tg~T`9BhX0RTJb7BqwMTz6cDfvXhO2ftg?4!pw} z1E?YVWXZMB=|RDOKx~SIE$1AR*}4q(vNJ{0nhhdM@0h|x8HM5%rG zv1lab@keaha!pfS3%WBh4Z=hnXp%syU^-y12!5^$r!1+@To20IlRX$= zj&uWY3yn+9kB!*e%4uJ7J|os7N(2Ujh9R23{>zrVXIA7^&(79RbBM*XW!`$yxEc>9 zx~SY}K@$ALx>qXv062;nK@VQDcg8St%Rn>3GqYvjKwupqJMKMTKvB$fdb>bFx+RfF z8gMkhiT-*Z%Z^tc9;(Yk)#lt5WP^C+M?=oQhT5H!VZ+C_!sG`;tsovTrguD!G*Kdm z4L^%^S|#Accl&uf$$C1{FvdOr6VWZp_VE}wJ0NP?@5s~2j&7i_@HHC!v+wo4&-QT@ zVu8l|{~kO@$TleOX@I{+07XfwTYhF@BK_!v8cQ;jA((`2B?6?0$BVKlbfGBK zb(Y#1%(9^uR9ZiHcKp{RP<6rIzR_K?o&{OGXAe&Fv{A7GiJ$sm8|$xEq#Stl#xRz` z&@-y6^QfVcIDwQAWIjsjKJnkWxlyUIlf+#ER#t;b+1XPk%&0sab!qyJ*k{*iq-q(i zQVyu*@{+c59?hKq|j6lw@Ew=^ekf$m= z4JKi#Rne`luRio=DNwQ7u}7!kh!Um4f!<73G5mbR=n=ygIe-f*3I6kW-+!#2BpQBGuH1K~K<4W=s&cObn+<-pRXiI|F zlcZ0sf)d4d?wmM7{cEu6MPgJGoR>ogyzic8&0x~&<>%|G?GLFXyIkRgtSabvOG-+{ zhNr*)IN_B(yu~BIBsgbKR8LVk2PK$KycPYV_)K%|m?NFRpox8J<11~xEtDa}6<^`CnYI~tte(1>LPdl+v3N?wTQOCx-vcJ?2Lm)?I(a~(jQ0_+$y@unFe@# zGhMYrIzXgWn85;!!bgy7NiE8ixKRo-qLGo zb2YyuyXt@VQT4UT$-(O}>DSzXA`YKWNtrn7$;3`bh2+r75*9Py@*?Qif_nbldUObh zlh2jlnfbb}bC@#2gZet6%ELFG&-0D?T+l4u-4|QuCSEa z`~H6Q=3C+<${^Ot)EhJ>L_6Tqe3zm@LzjYdQwS(SI>>a_EEnh-C;MvyA0a-5_Kbek zp5zK2j1!vgT=9eI0w;b$t2};{ZyMiA>inL@jhijHVdgg!1-8Ww#=TCF(=(8KMoY$W zzlPWIYoB+lE=>l|1z%}c^A33lQRj=y+&7T~pQ+fOow?w&2aKIH0l=Bkoi>Rwk_nT$ zsVD;umblwhGXLo*U&uOPA7lC3wmHx&kfA zdQAY3C`||`1H84sDK`@ovLo`RlkW|Qd;u|qbfl`GlYIi*7VG{{MGYYF^M5Y8wgRM~ z#tW|%oGf_wI0~H5B6fUe;!^6EWlBu z1AsKXv{dXVQ~=EkrH`kmz0ZyKfafA^!ds|d5+&>hz+HdF`0ht6iccP0#A;L$pm~fP zdLPg!fVZ%+Qv^{{kfzVC@(Ixe;)z_2EnreG_5t!>loDD}s}zdI%iuTqh>~nfBI6rr zB4dx)m?OuLki*qj-L7_jA{l5tuvmm-QF{u(%lxviS+k2%-`kVdJqV`*LEma%SUlzT zvN!3GmeVe(Us8iqjVUJLVzjEPu`!d7xy>n=jsN>S&B5pb)*Jb^SXC%jz!duUQa=}3 zj3UTc0>)Mjk|65q9>|w(Abh>{vboeyU$hagZ)gedvRX(Z&myrglA*RI{#8Q&TagZ# zCHE(5lcs!~w}&gHrYonnLDDB~!pRwJfNScEjX{zlKIJ}30sB8efq9dRg}WgnLffL5 z%LYGpIQsrTA_q|;E^=TM=0Yqpyt~JYIdzZ&$Oq4Rq`%*hC6%+XDvTD{qy2GP2NfI* zJVHdT&4eT?Qs0_ymjpv1K3f2na@7oA&a>4WbovTCg4IH7nB5+Oi5?`@h*O0HcL}EN zA1&}tU`kc&=|$F=dzY{;lr|DQwVAuSyV-LoD(dL!+|NeECWG)me`SYXWAuhk{;^F4 z9LuVoORc|UQOrZPfQDL`Q$#8`q;>Km$gV!<>Y{&<7k*{t4VcR}+n#mF!Fuxo%22lo z$>-cHpq^maaroD^`{zKfqDDBJQ36~Bw3NplEYFy$E1x(_MZMv}4_!fP6cid6JV4V$ zx_oThwOWUg^j!lcCC`0$=oF;bE~k8Upzk} zI_p9m6Yv0Sn3EBqwWQ#Ttoxk-x;JYMFv>>FZJCh5K_x~_O>@XRw&|GEO&YNuBY>eSO5Iy zVQ_Pr)4I)mP>#xP$Y${?q!F?TnT4Ef6TiMc#hJov(mhzwT)?fkk06kd#XaK&vxA3u z&xwEU(-PV@^8U_2j2X|Q`tR1=xnu@fY-7f z>V+-tC<5V2R8N@jjun~qg8IwZJZp>?CFs*sp-l+WK)FD4Cwyk+jkO3^%X{Qx-&o@-`d$hNk-^IRm%UnsKl_ z5HM4utCOV-%^knSp_nJF(Cbr&-16zZj}>O^wQ(M1y$FOebNcHK>)lcMei%f?^folO z1Yq)k#Uftha2UtSo6dpSsf%31gWAN`)iZnHNfmq*y@&fTUr|~qs$MjxOrasU;j_c> z&cV`NzQKVr+FAoo@!gO@=<==@Z6BWV`;PrXE;HMv31R)PZSXbs`R1OyJCNz_2g)ev z8I^+`k9^!C>-*(dT--ftb<9dwUX0DAUH|8DU5}jG$B7f4Ji744;@@4-a>p3U5gqqo zNCOl(f<263yEN;8;1-SYmb>nIV)1n^zI)5W&`ZnRs0QvW?>elsdl>M2bdcovQg5SN zI*6Rwms61%phEnJIjv#O7fsJ{V4>jj4qI$d^XHai4vOk(AvAYSrC2GBG1u@yb)9)| zsLO}Wc_CUph+3P%lY&3!9TVMDE@rkfR4eLLQhLP76q1->K!>vyr!ILmeg95@u)R%- z^D9A%ub5;5waI3pXxpefmeoyn%2%EXep=A<+zF@6aM0}H7(wFq677j$=(LAFw>1R9 zDtU|yWVHnT9sZrotYf_lgq_+kV-Kw+=zea_PqGmzj4xUi*JQZL&Pp^H%H96dX1+4? zc$zU5<0;#w-B-k4i#0=aM`PR}(J2gB0bi5-7K$Y~^HKDDugw(zowS!mrg&}gg?&Y_ z&Mq3ota1G#TsK?qEK2ateb4g`-Yg?5Jp1KnpO3q-@h_+C?osZRpA7si?#Eie=nM0g zQAA}m!1{TqdgtW7={WD;qYJFCInbLCyGcsb5?SMJuYleGr)`nt`KeXCjFHelkVogy zXB00&udS_R-qh8}Df1p)J7?nD6A>W7!gPLHS7ZXQ1zE(8t~COjBU20N_?lzsjBZH{+1 z!^7)e-j~Ag>PxX|8?dG`e&{usVY9upvJ6?D^b1$tsczG?*M)`J@zdwdNh>#>8)8JvN3OAcGY{pIw6nE%?rGzY)CNjiD(Se6SgG^#DxSZMDYznGsM~`O|YNK4`B} zL{MF$s=chh>{b^)*i~tx&7^$Xffil=P7LGVJE~{UiyotDLOV?cgcFK-Q%gpj{9vc# z2DQRyZW$x{Eq>Z^(OJvA3qZZ=0RSFE=|;PbI=rs1y3e$>dETDN6NddY!yF=-zPO zn&1X`U>qxF3ZiXRBwwEq7u`9>A)0CY zu^q-iTr2ZNPS4?i3jXth2F)LB==kjz20l+WJTv01Bjb`Zx_s-SArrU zQ{&^&up9>GznW^PDQ}Vwh>mg3(9XNeMxjs0G$5&9i@j8ET(qdqLwg1fTX{E4y>7ow=4@hMPWu!; zH_qty6)~sz(CSCFuIu|DR784DPue7L2o0YLW$b|h2bcVn zp9|iw8#~M3ekwhOc)t(G9&_p+GQI71sw-wX@x$?!45j8yaf-WVmmE6#R)Dv2jf}Ai zYthbY2G&r8FIQ^o?`%ZBRaJ>+Hd0bQB`}y@dC+-eX-+=Vj4faf14kR&AG=aCc)6MX zq9@1|R3oJa7^xd*O0w;G2yLg^1CY1pqJ459QJrm-Rge9s-WAQe-rW7Kw6MgA`n2cT z#@us3CLB&W)7E(IZzxg{Y~LuNzkHNC@OOtr{(^#OBmasH@)Entw)er1 z?mS#|?j{VEHd^|{DXusVbmxZOFp8g{7Sd^s(DgwH3|sBSp%m}3vmX`--kHew50v%0 z&bPcmoZ>M*Vo$#69jjOaS#i%&?1r^s9tjQZ{Z`#ZqkVC}W~l*rAZ_7DF4u~Z(u+~N zpRzJV(Z#iq26cb7GsBvz6RG@gr%RC0=z%}F;IT37`@Z;I{;ER1A^mK*gySQRP)hF{ z0H9n$DIwfCR@aR2l%;s*1s0zfZz?_G((EpsibLAkY)zxf5%8##R0hZY`ZIO$98akg zy2W|YehcEqpi_J7hJ}vy_y4<@nXwP%cl;tBp_Q7)gV;uM1&SOyx2Q4Fdc z{jT67m~m(ewbu2p@(d&c_KhWRQSPRGjbKZ$9LTI~tHOccDI_QvIKIDV>0j*~5^;p< zM7d_bn2D>_&^nS-rn{`TMJRhXia*mKbQ9UZ7=_=kBI0zs1a6Lco?g&g-K|3ZV7Tt~ zP0f=3$Sv zR6kbqt3Epjy?p6Sl?NV`E|ekEC&`T|A@eQB-3Eu{_V=r!Q)!P0WJ6TlW&DdhZVJ`R zsdG^!BS4k1%c>;NTTd!XdT1Hp9{$&-p(zN%0a3QLG#*>w&+06{^5iyp!3ej){tl17r=r^=aeaVDGmqS* z>!^I&WYLnML&O2(B(|w9HoG1oCfk)eP`9eQ*prblup>myz(4exz$YPb=j(3c+p~!w z-Z#}X$47ypQH@`e(EfzOgez0rBD}`#`3(#V7$p3Kf5#$si*`%yzca|^fw_*y*b=Jk zK+nixr&L?PtUDcjDDI^Pv<}gvAi4v=Kq0llAyV^luPNH4&-e_Xq|y7Ee2A|o1G0Xq z>mf5(IDzU(j`r(%#<9x|x!_C%+B%^ynl{d|dkP6A_!PUgho&@Z1HerK(OjAOBlX9K zst6uzfV^7hK0(k2t(o`?chd-@`7RHcq}V5YpNUg%zXFnF(&?i5C@}B}@U}d{h{qVe zBSS^Kq^m+Y+4EotQL#%MuD|EWb>ejp+DdYNp1lWa{T4pLvp=xEzrgGhgSEyEdR9)j2X`N-K* zf8d}3=S=N^R}AvehXg@1cE$ZagyyMte$nG)h@k5ujyt(GR577@-%aV8QSMPcI^ zRY`1(3UOX&9K%hP$+Hbq*IyX;F1p91f1q}L=+NNbB{nW&OFsQ9c;%#cE8E&AqK4ZA zCi0U-AEGtN`A;c4Lz*!P@KlscK*V~4zaFd-dHn3%L?M`!w%3BrB z9pZZqNE?D4dC!?apdr~7f44a2raW9siq-X1g@2D3^HjNHHbgc?(qrOewvKROgW`P5 z&@6f~KfTYzi|n?a8LS9rW*>DR3_6W0RzzfT9wLmK^rJns-fyP9`b7C1r#$W=>VqY^ zn*x|-&2H%jT_8ovaGO~``pX629f=rBMsN4hSkcNzViN;4xiq+POV@|jJ7xQ?``P+4 z8{bJ&SNWMbkE=O8&pf$t`bA_Fic5ek7}tyo7o|F5+8faoA(;ghv*n6S9R=1jo*9z1 z_IY4Oygc=tHrbozH{9%--#7q+?Z3w?Wbu zZO11jXNk<_lk~knN(C4a#XR3kHheC|E6Q9-q z?(cS-Rer6i9t?e!Ae?#-KXaX~d7B!$<{pw|x$7{4eK%|x{CpE%*6FUVyh=xGBI0L0 zFSFKW6b&V!YB~cUS(%=ccWU(i|)^{XZN@c$( zQly^`v2rr&ya(%K?oF}4f2ZU5kPBTOV4JFkR&+&>?Du2td_#;%s>b{`h6_tSj7Ci>*ww=<4wnF)v%b3Aa8=HnWpdXce{;vlGk9W+@J6_j~~M z*8YMwZMw%7B%Zm$bx^e{EBwS`D)52|hIZhLOzblfqfwjMuTNA@0Yx;BMzJG%JJ6ls zCjQI$6AeS~l;Pmgyt)mdSoRaWZ1o48-{~ zl!lyYSvh+f8xt6iOx$Zt%Gugn-yX&%mM1nGDTtUG4B5A-F_yoRd(xm&Ldim{2!GYQ zRFedI?+P^ke0nq=v=@+8K(np;N~k7ok{#&h`++`)ACR7rDz8L!_`>`CR{NweDr$fs zU+amfd*eqW1mhAm%y(tWA+-=W-GJFne8E~jI@g>A6lSa#i6ftbXNm%ReW67E>;Q!A zcS6&58<$LG^*C=wZh|mpUxeT%e(yox5>KKzO{2CXvFjH^ifY7U0Kx&AS7#Jv+h*Y+ z^mCiCxMUBcZzX;-Mh_GwZSralRVP>zJev7z%3iJ*oXDFq7Ej`0K7Hdq<)dfIDp6Uf z+PqDP`3cXZ9H7Mk(lmq>Apm}eOgLF2x}7)4E@3FaMl$($NJK zFj30(4!8@dDFs_5^Zu6nW%uY0D|YRb`7I_$y3esGB!;Dv&pc>#NWrx!xZO)|6$1;FG3>^SLfH|71(z&lsheQb7O+~rxbsHtm4sw z+qyqq&zp_(KFIvA5 zqR>$Z9sz`s@W^X?<)Q*Dj_>!65K##wk<$GQ9esTgaC98>k)Z)9@xg5-z8acL30#zj<@ zw)mqWRXbQlZWnbfuQfYwjBi!lN1;GL+ukYF<7gat1nr5%{h{3O9RY%LlsGOrsvhUZ=U!`)7mtw!K<&+rYD?J|B$ZK zJ~G8pm)R+A#>wWP)qJ&!WUs>ZT1tPT$aNB9+dW0?xlC{`?W|Tltaden7l#a9FP;V5 ztd3oruozyDX<^J3#7v+^jf5v45c z&ezAOawdtw)-~Q%_6HM)!-oZjHyfsKRw2t^teLlgZ09#ze59)C@0ADGQE+*+h}d(W zsJHg2svM_hMvxVdxmzYUDR&4%TW-3(Pt=5Bks-NUh9H9GCDN#y&zKgCQA4BN@pVQl z%pPhj&R9$I+Rf>wI36|CFIc37OuMj)Mvz7jhYRJ^reb3jb9AIp+ekb{tA~5EB~4qd`&OI4Loz{$w2^p4>NCi~IpXr*-@7QR zK{JipssT_y!+!4UOJk#mH>slKinvy|lg75ttYmN;m_ZoF?Kw;XiSnnlnb$kNDfOAa#u366Vnj%QDfG>cOzn-Y+1Z{!k+#2^G;*ESyEalK&qHMJ*3Sh3-pEXWGK z>@sRdBJ|VK-Xc#jrKhF6Lf7}2KoWh;Oz!s;JQHZ1JuOT*9XZKJO)kby#<=%6xh6)w zc*^hTBb5GJ_*r$OeQrD;_+<3<&%-xiun~jCHrBe7cS0&b*b=GeKrAp^d2uKwI{6rV zSU$pY29;GKWbx+7`h9t)33AR(r&(;t*Ir%PZg!nJy|sWi?rfl0Vl)eu755kF9*gpg zpB@~Bk0~(Y;&;LfQ+pJ}FeJrB*~*14o+H4cR^p61zlil#J)V?U9NkgEr98@Z5iS7T zflcQV{mKKp%$_|XO9>ar7k(QB)Ov{-7ws*&36oJY1*59Uw=U@ky%OI)Tkod%Hg_DP z;X$rkI#a~3moR1QDhG9@s_mL+TT0RnOt0p(g`J%xsi9@21YzRmqrDG%5%|NwgYX+o z4ttKR;Iy1vN_VtO=ZO)**3^`p=#p$<{4p-YdNr}*Ps`o~6VpQ~QXCN3OWpB803r323yn_*A>Ndf;<6g_X)po|mahEThaVbvc zuK@Y3dMXu)R_6-XP-dbBfgoFIh-X;Z;%*ibhI*V@t)cP~k(ipgyTD;4>Q*K+qCS4=g9HyCH zK1!80sG$qxtH~+FnP1m zM$Mqe83}6mlh?ULoZj!$a@NI)L7Hpqvy9_h;yNPOx+-cELbe!;U7Ss_x;-1f=d?Om ze^wRAzX!~BU&R|N?x25tn>6d39NAi7hEvh2$iPsQW)w4&2M^@+(lRbK6kewa?N0^) zDP8^WcQo|XwhCkm3gz>FuWP!0&n`Z5#*JPtWyZCFrCb99g;ug3_AHY}f&n~IHf+KDq)>xK)Ha!@J5MaIE&S%)hjO%Yo4}@@ zv|)kRmPNkZtVY!ehg4u1!jxBr1}e8=t%+Omb!>eJkPM9PlI20kccoW`#gHWB-kS>s z>_;=Tj$~WMH&1Aw>zB@Gw@uDs^bhq6`%>#oNre?PQOxv%;K4{KD#Dl88Kh_%?G^fl z9BtMAVJ)L{AdA5&x+^Ym+#G-NlofGWu!M|8UIS$Vwr|E1O}h(F8ir6C%1J9}+zz{Z z>F^N6zhjR~rH%ORZ`Bl=@FFA=OYgkT_=#Q*fYLFn)rWN2uF4LUdY3~}B4wcjy^3_F z;V;jz@bv}3h@(h1o&7&dB=zx9l$ZIQ{Z1^%|94`3T zwTL?h(y*|<5I9fkQz5YTlx$={NnWfIs04GYi5`yWWobYatv-^TTJV*D-g;QDJk z%7*AH#{dNbCQ{!SNHUDp z1!lkxT3x*>dqvvDJ9%(BlmG%mz&LvI1Q1bs66~aUwvm0T%(Xyoo@Wx{!HIy8*?{6; zA`~{7eEoq7i&m|T!G}8@pnTyCR-E9CK>wu-ZQD;ay+zVfycxAC-lssQ|a{CwPe!rc5~ z`Y;i30hqX;FgKroI3FK3x9j5nQE+jyb+q^U{|fv9|E(~{ey04S08mxZRIHJ=3jHrK CBXutT literal 0 HcmV?d00001 diff --git a/resources/onprem/network/jetty.png b/resources/onprem/network/jetty.png new file mode 100644 index 0000000000000000000000000000000000000000..c00c2697c0c9c9a769a7609e269d2ecfacafcc71 GIT binary patch literal 18142 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 Hu0mjf0I0Hu literal 0 HcmV?d00001 diff --git a/resources/onprem/network/powerdns.png b/resources/onprem/network/powerdns.png new file mode 100644 index 0000000000000000000000000000000000000000..491c66cbe90612eb0205085bc8fed7cb74e449b7 GIT binary patch literal 5484 zcmds*`8U+>-^bsU>?Ee4QYgDol6_b9Wk@Dt9Xr{wWhcca;ft~+YYG`5G$A`5O|m6n zkgW-6jD2m4xv$Rs(|zv0;J#mT&b;USp6hy_>%7kE^?W|AE6DfPxP<)xjT3E+z)L5bf`$q^%+oJYfzoGSg%J$#njtz!j-aHR})r3oz2v zu?n9e=i3FGn}~>`HKg?ZFt%siVB%qv)G3v)d5^eND$)1;o7e^GdR_6ff}#ln?%&)<2rv4-L|-4O z>`r0kf@!UfjEvK!k%sQHbymU&E-pANY)^}(B9vvR&E3{r9m>q@rl3Q|?GR5d^nvMw zb_ge1+^@4RXhcB*D)q5|bSFxn$2I?V2Rs^E>trwz;o08amfj&a$>y1cw#<0rc&^`W z$)}kl_x||#^A)0hRZ=*Cs2txV#PU!g8J?mC>s_4l_xHb?XX3HI;Teq6+xgh1VhH3KU+ z-Zx#maMH9&-H*)7UVG;s-goxkS08_zs`$_GU}p@Eo^fO;ciStsitwmZ^jw$qx0=1| zV~+6}XrjhJEqI9oFVkjl>N=xNfU*E-yxQmP-II*;>7`6bx<7u6yj%&fC8-C;El1ph zNlQt2`}o+|+4U^Eo%9`_-OZmnT8clZIUjKWvO@X!`^WB%Sy$h#+Iv`6SNGB&{d2vk zByO5Kcf8j~jnyi9*U>@y-W)vQWtAadXb64K@{!@V>iP> z<;BJI0pJoqweMS(O~%f1Xor`0 z3&+MRv~}#Yhjh>TqRAwx_V|uKNpy&Oo+&(~*H`fz2NN`}oJMRqJUqNrflN(JtqwJ( z)xNDOo>`M9OW-bAcDGq0k)lY|jZDnU)~#ao2-;p_hgq4W$>pG>m~2KX(g2n)3b?f zMI-71VGyIvmo>wBgr{6yv}P?9E5rgi%%v_XEb8#wX+0yc%nXsF($|G9n1Jc`e$$P2 ztzn|M{U9SV?J-f#&JWxrM@L7+kp%}ImD=k>W;`)k@RZ%1omDWh*90H<{ovr>+cy|K z5Fz>JYi|3uuU{`FUo5lAcm*76wH0!!Nv)%eJ@PaVj^~hLZ5SvobB*1s{>9I3a$3|C^UOXG;eUMSYy9nf}|0(x4N+rpjiwgM=gA#WQo7* zU3vM^CSK6fe1CP4H>DR@q^=?_|F6K~UKhSAj;pJy_Ob3Tz2@-EALG?_lgpRIpBiQv zi{|Wo8ynL&{F#Xur|a}pY_YFdT3Tw0+Mg}<*`)Uj95vTJpqv+B;`Q7N5EDOzc=wF* z?T)cZLkf$>?CsvIQga>UAzN0TX9hRoM8nlDlJ34WnLrh7@@*FzkEAb^~U%2phtt_n4cP#SypDjIXxO8 zyuE)D>Rfqwc@dkZ8N1f^Dbbom%acz*$*vOWOvOgOe;+8tpiq8WvKktN$O;>{qg3`g zA{gInpQd1GZS9G(y??x29Cq)XWO8?4L7y92Vvk*;|1O1!7}7T|n2V+O!EyFytZN-p z^336`Te25Y)#9+& z;Najl0Z)+?SL~ZgIBAfDgTu_&n1Y5zwfl#}lY;(!e!yxfDwYTGuDy9Kuc$aaHa12e zc*&o&DHMUHoMt<56E?|EEp$y$v0Q>}c>Cqcm!N)2Dl1pkW?D2fG<@e9(Fn}(R<4cy zRW&sVQIHny<@K1@1Po5vx+Z#o9rHzXxZW=v-{6W*d;a`+v}W<32d??wc%cMFdb(;h zd#P;nQaMgC`3HDkVq#)&^LG%7{kfRv&0f(|3u6+Aq~uEoAb#X5-~938N9W&wc$@0$ z>v6by%R_~$NES%P3)i?5~cj9me(7O11ZA(Ypk1{E+7c3yU^OpGU*pwq1D2qpjaB zuvo6dm(9(G)*XMc;q7Xns|1`6U(}z~hT*jIbWB@hww@mbGnXS{XMcHObroU43Wvjw zVrc}zGc5MazgdGG#7zK?SMvw!2vpVriDXVr&bGF;0Z|kRaKiM|)UzPqEiIwsWZjEz zS`S7H1n-4}WHI~b>Ge*u@8Ll4kWKFNqfU0Y$=$Jmmt_qCDl7w5l&-Ny09j%c28c3U z=Zen|J!M=u;-wya5KxB};ODo1>9w%aX#+gce>vjy4w(94E`}?yXa7o5mz(3h-u8zp zH3aEdN5AR4-wd%*L+FM7Isp-)VzK(l5O6@D?Ck6iHwP2L18sA2^A{Gt8GuUW5As~MLRABD%^y6B zF2WhHB;o(+&7$C|6R$;#Qc_YDPf$RQESgLe_W>xzVr{9j3jv7cI~KB=7^Q8msio_He;4dNf7;MwnkP{}LtjOAl7tsO2I8G7M@Ue~!}vnUFNC;kld>eJ-U z!}aW?wKyzPu%kc{ed4#BrhhZ zNwZZy`}nxD>D7Q`yWK*VTV&*ijt)#esQ_6qyli(InD7K}cy+)4epJXX&FWE7p(`Nkn^q!(x*#GI?+1dGUkMynqRKD*4GnCTn(l80uI!!JrC=f|7MIx7i zRF=>HZ}7y;$Tm|*hnvu1Dt1ej-_0%rosY%(ProO3K438Utum$0P+l6kajj!MV`5-% zkh#JG5;#FF1M`KNmKR)gJdh0e9^j4s@buvV?(74Ro+dId!g_Ei0&n^it zp<<(00z*kkBeL=zm?Y+lXsdisyS!3o(&@t&VQ~S)wyc*I`R*3J^VPhlH=DW6nN!Qi z;3+ZFaw+v_pJAE9Ck`M*B5^mes;X+T{wWqaGc#lN-q$(l3m}=)b4u?Xb1>2a84$pq zpr;elRxKQIlY4V29q+1`&+wp=K;Sn?CbYCV-bJBK;{$;*QK{6`10d3%adAIbT>}F* zhYHmao|xrp8j#b?km%k!fq{V`Av=J%rlN14P#tp}p2J0nkH5{%#!~<6ZmCMf6Pv=- zk6#K>y}&(i-0Ire#%Z$el_U`(Ae{(20|dHZvq?u%BJaRhx=Tfrx58LQ=9M*?bqG1? zqL0*jfHj%uw$d|7tqqM+|Bn_U-GIk7ScHMTKDsZ+%j?&m(wv*Sg(BG%cQ&QBK6n|a z$gQZLP?vYLY8uiO;&w_hmgR4aJ`9SWJkaj+XrSxlHCKNzW(Tw;?SjVC?Cjb;Wl|(O zIy&0RO9Gxko^Gtg;daB;wS<56oYY!fS)qe$awe-yQ(`MdCnqOu>?m(zdI3MSwNZCg zMx~3u9>coEer0VfRJHIzI^MtWmhtlPG7wIicF^;~%T?9Y49I!J>}l(V5k8_Abx5_a>l(3YjFd+C4g5JhZ_PpdHH-G5mgmZ9ld7t}4;6QUHY&H3MdCBGv zPFZCWmHm`%#>7xFZkd^xtp=h{W9(O2H}k7t#uYJ$b*O)9GKeiJJI)HFkY`HSBL}OVhnyzE z4U=0<+>KH^u%FBSI9zvU-_XBByw=?Asyn@LLvlmE{}CU{U3mraa?6}W#>iH-Q+!Jw z%r>I<>sez_i4qO`s&gB#Fc6ix!@jiLU z0(1X}Z8d*f#3Bu+vQ*wr+k5ul0ykY)oRjk;|D3|F)G3XDx=g|@Y- zr)KAfaN$qY2N()+Ff|35_x5{9;tO{k}}`e$OLc(WbUG4W1;RqFW!NsxGlV zw6L>lxlcQO|6Vcld+S0;%o?(s!YL&x2`zBAIOP&oCLWJ4L1{B{sD=j19R_R`3v_kr zO**a8ecPH&djqFhOpV>@o|CF1P&un>N{Ex|?6boTG-}(U$#pr+YBq3gfiPnR>d?Kg zQE`lW$CLFnYJV;DKmU2_=M6d4q3IuJOTdC!W=tGaL*T$d=dVNMSNilts(?*b^qq?^w(KfgQH#7$GBP%{ z$ZwvgoJJ*=*VP3YEj*L@=lW`p^G*!z8LyPm^9e2dw3bn4*7rB^NB)83>HNBN?LDyQ z=PZIW_r$MXR}Bsq!m4^ zNo7d@sEWtFGeHIarZ-b~s|)}>%m5Jd5ddz$e+6v;fIAETc8mc)C=CF}oU)qKMZh=E zOy9`M0FO`Kd98&>0KiYLC?l!iHM8I9>-TQ+%i;YjnSFnX-2ho|B@QWa2n`0g0uH7k zEHd-WD4L5;#y92RG4ENG(e3niCm!6&h3OL9qxJh|X9=pHBJ1l|LDKu1~qs~OMZg2{tZ_bJBD5p12cv;eP~YE|U`s9ZbdbXHxF0O8h7{^3+1MVo7>DP-Yt@bG)d@=#v)Xb zAku`WRa@7vk+y>}x@RTueEhsZIo%W+_mbJ(e*cH(qJPD=s;Zw?V?TMAFr~t5fJ_A( z42D((W=2UIu@7n>F>2%Yw7 z?t<60t=h5FvD_Ce9FKR-eZ5~{@-tU&NH_>D)$?In+GUn(Lr{l}{EJ&Tb~96<^RM_56)*%=nv~KEn2wHKYTRm$;IY zROPhgxR;YZb~2owk5A|Es?T!(kIq4RYI4#lR#+c}*SUdf+=xh0zaoYe0MtNhQFf35 zY5Wy651ZnT#}mg6zjrGfIcBS^9)Cf2(P)88phbzPAHvn<^i{Bbaz*TeYeOlJQd@t! z7mm-bec0X({~$sI_i|46953d4-Js8t>DPwW);eD}Nve&c0eH=9I8EE*X(d(k?5m!W z$rDVXd_4i&K)0#~v~iWPSn@`vrp*2C&tusW$4KlTM-1zj7%MyEU(oZ+TpQ|8ynrD8 z0+HZg1f1mK0XW$9f-gJXjbC=+AMzx00OutUGV{W- zzaKz9yT6&FO5I-!G-mULK)A$W`cVMDC|cOuwSkYZ_t{jnRr`J2Y)Tea=Fo}^@0cB5 zwC7^$oHQ+xWDK3z1>m+K8hm#ra(HttKL4859rltL!gQ)6}1>ZN0wmqU5TcD{&Qk1_gt}kkKQ%(QlQul zPb+eO)mHvZF-LtZZEIUn6!W8d{eFBGIn zGpT)|@0wgGZ%nagh;XyehX87_pi>77Z8!<$Goh(w3FstZ5&k_zxxV%uDpbv_LJyUU z_V^9S`?cXzHt_;WbP{d=`Rovr32a^I&gqRxLI7TltC3Vq8aoFuL^m$gOui3_=1YzS zW=687^O^x*n+X|kx||;nwXndBqZ9R+qfLTB#{Px$f!as2pR@%u}=2q4=J^{ z`%X-4$$$}oYZ1g|U*efJN_Xt9k6``*XE+NE!c(L3aho2QPfv0yKb%&;0d`czqLP(G zvx=K0u>d%ua4jPPKpUy2e+x#I$h3LWW=<5(&z9@!Q^$*WU&o%#urM>!HCzIIhDjM9 zXh3#pMb`13j0y|wOUr5<>Q1V>&&VrH>rpHy25d9K(t3H!i{;a9EC2pZOgQ))G?LN2 zfpbhV#<~mdzMGc|Ay+L=N6%Zeb@r|KBuk5K+@v`gDIYp*M;cDS=B2CG)WZD59vX4H zmf;Hs&DeD5B@}FTGyVg2(*0)O!?qdbg=i_#5%EhgDSdo>SA2;+Fdo^SqW=dZLqa77 z(CPLvj5OA)+ftGu5>2W}KAye!<+?d6Y=$S8uSxheBq8nWn-UNde2tQ6k4J`*$3PUB zc5zUaiGVBh-CgtFzP(=uY)JmcIgeLkhtt0QW|dUXC;O%WxcR+2pv>%gk8NBFRZO|L zVLZ*uMDRTAsid7cq@ApgsHkR2A{??;p-med9vPNON^&Do;7Dsrwra6|ybtEQH|6QZ zg&dncs8kPWCY;b}(!Dyn7W!4F+HBQFJ;Fk&t{|Z#G$IFHl3<)v$F>b$SP;7{H=s+c zt*cWUNcm!<;C>6#CQq$rOuHQ!-|s=5BgGOCBt<31BFB8>`>&E#cUjG3`8A>%Q9iA! zD>Ru4POEDIM?;#1Ng>*UXj}e+w*^IwP?|vLU%4KlrGEh{Kie~`UfQEd6xOu3&;(UT z4z;b8H>XTK9EBq$zBL&LiQoJ~yb!xKzl>@~-OZ1ZxFud~ByPLw#YhskbS6_pLvtjOlAePbuCFQyj`>R}t~TN~a7fj!l*$i6r%k``19x zKjF-N`lqxE74q0Ei@vyze>~=|-BuH+u|fpgat0jF6hl5qtHxSJpN^dT;RT(|Naft0 z0A+p00w9&*J&I!Y&IRLL#XoDDbfq5&UFuU5!nMapxo%5BcFhY!pw zqB)kfs;cqZXWP{m!^6W_<*(X#gB9%TN@uT$VSvV8Bn%qS8J7dlQ6?OuT)G|^#x$BGA4VJE<|H!+UAuo+C<^a-FDeZS2|)3!OZDYeEz?Q5?kUEJw|@+!&$E3s62`(KQ0O6dGf0T ziL9L+FmEXpl$Ko>m(!>~BdT1P&^R%qii&IQUtO9 zJd{f23;|+x$eYxKI&m5~tUCMI<-2uGqd<;Vg4+1T7DR+os2SF7bT)SA+~H{*=ifvprRDrRO$=T_pr-tU!0DkvGpzA3#x z0>a|3aQHuIFN!wg<>mPfWgLEU3;kPH=P}BI@O!j%W`vxBS)>_g8PTq<7W!hZ;#p(T zSYeXf>i4v>N_EON`gca+y9YQQO{c-#T>e*xQhZF!byZ^z*9D zUO21S^DsMe2eND}OK;ipEj_6*qq3$2Zd$`jVCIDw2Q*EHt6D%WA|q41Oitzepxfy3 z$%-4gSN_p{)F=`9eH&p?kMwH3)iJAX4}_Q<EDH%0JNx<@nLmSq=#cV&0E#BXz#%E?Fk0J{;P^+F}A8q_kZTEUo+Ff>6USJZ-7*}p<-=I951@!o- zvsg!s@B99$kS9-UKUFy&X&6Q#m+zWvEQbK(UIhH~me#D%2LF+P zbt4kET72=l>;3JSOejHc@RT?+0_j^iMzX!{j-hsw8}&v;iyZ6QIoS=YKr zV(_5HK{f=bu_~{>*?^{xCVgplwZUIf8&D(ZVNySpRiN-N;xWD@cvPgKqKcE`=> zG~DbhM$kn`b$Nl5Pa`|Yg#YA8(@4&c73IZ4HHda24nln0f*~QgWUDxMXR8$l_ zMwm$j;?JLxEr!pTnY%;%{THgahHgFO&VzHo>CUY#6lg3m*IZbH3Z_@IMfozybB(q& zu4O?sSNI}oI=+ld7nD?)rC_*q2eUT`KYy+#Gez?v*7z37&}E_ra-L|K#S8)q%H;;` zBvjOELw`j}|5o?H>M0|zOhQyCz3PIY0WcRkye=3#;N<{}8Kv*&>jzaWt@`a)<@U_` z&T>^OVWDPjv-p?#UeSkbw+H(zx8=e&{%v^JKuzs!n)T~H=*UQB^aQWZ&(5@E)TvK& zz^|MZ5!>o{hs&68J+GC>$4xyNn(V+hBN4Y6h6JedX7J3aqta15`PR83w966nC5Oef z>NUO>@-TU-uROHhq4@XH!$;-J$*OsTEVWv=J zSv!S`N_*m06%L~lxCROC%BNRL9p*n=N^T;vw-*za`*afrRg(t`;-VMsu9iPq+_n?j zWU(DF%S#*Ble4p#*rOQOv1D}A%~2zA+W#i5?`{zb2?;eG9MHZ|RjrV17h`81;Bntc zW)3&Yu!7>7Aad?6QVnm8>j^edtrx9O(cXmJlk3Wu_pC<>izkky*;YNES>JN$ABHW0 zJ-|$D$%KxUr;|e>tzloNVv~wAL-|j@x>W-eEq0#5SO0L_YRH8bks~_VY~1;BVPvE+ zAjhnb99&X$4E<5*zYe${$AFA?3TENTo87H5s^Z02lZtz{-23XAugAx9DGPNChr{aw zHwOmZo<<%X6G5B#ti~j)Ssd)9Fk-n(gjI{zKiifydmaxD58c|s4kNXMK$qbx9o+tI ziCIr$*8=Y)XJNK+6fcO4BVBG4UE*}SZ#*wBfgM7i+jLfUKWQ6N(RU2GZKiP8%eo+S zyEAT`G&Q8ZKHspQ+wn*)%$*F9L~vbAeNO|Cl~wZ;j?I@0y@2S(8T@u;j`M}3b zzVxB={H|~+sggs3homW2vyFA(XD#Cv(eb?odQ2FuI<7=~%^dT47S#zIL(;EOr!lpXK4pZR2Dz9$$Rwd`+uujyFatNKIfcK>PHkLE;xPuv9S>4od3rPFX~Wv|3Dm zY3aACx7aa^FZSy*qx^a5vkPMoNL0xzGoD2RKCG5anw5&{CYE-;i|68~7M&(f0<6ow zw^4K@)Xr#@>o2oq@$t@fyYew2EEl%W#EEFK1G>spFV+slrxF6suKGjbRNB|K+skd< zY!JF#o>A^l#kpTK-L*G9KK!8sa?okD4UpXxDx|~_c3fuXJKtQD!;8nx8F6l>vidKiau&T0h_J22fj>-q;u5c8ev!{I5ktXGdR?G z$tFv#N@x={YYk39y@!bfG1;l7v>KK`<{iuKU5I`=Ht?$x-ONETUBxw z@p=zyrH%qOC2_;$fi_RTEMH(g{DjtTcXsjPv>olqg6RCb*TJp0(hKCk;^}&a&X8;A za>2ld5K&^R%wNluKTAq>;h*uE=MN(9{TYhsSg=Gnown4v<{)~FzJT2?2uJ&uxR`O2 zDIjm>sjc0SmUfO5$uXnA?t=}EQ>tnt@*qjPC6-P6(pIHEz^$aBk=Xn-agHu!%>f`_ zYP2u4UlR2AZ|~4Yk`Td78fVeLt%QbP=47QTL5H$M5zFiu?3*ig}Ob z`J_zSb28$!+rFFoc(NPv$A4e@q7gav9?Y!ssAJIWAG@u6@m7O^K~r!w(GAsPopnJE zEEEj69G)Fnq5cJ)7i`TBfGfIRy^{%xRG$v7zGyr;xE6*TI{o_`0vZFMpZ9g?eFfMN|y}3;k$Ks zxXV25PBQBJ1^9nb5!FSWF$jkCPPi)pJhX-B(ZX#^P-{@`Dzh|yV%+{x3|~E zYW`3+livf?e485^K32nSKBnP(eMwK9Q)Y(BG$OYhHoj|L%fjU)5qrpQLNvCgO01Ou zsgY6!c5Z8Q&dr{3X^^g`BcD~+1{fNZU$@PG5YxF=Mi~G)QRp*ZILny~MM6nE4CD>a z|CZhF(#=q6=Tpj|=EaF6Cl3mG54=3hp!3~p&so!EPPHJf{=6A8gG&X;;oTu)$7+aR z7Gm^Mmo7&E=4X-Q7H8S9ri!3ea?nOj@-KHL>NfXomu;n<3qK8uhiLF6ONK{Z>4XY& zceCs|4`Fp$LWf8 zE+&vb(gOs2wqW95kD|u;)M(5)=%c5HYhV!I>ggH(y}5bzTeOs=W!R)0pRavg$OZ+^ z58vJ$CcD|XuIUk%e={>P4x(UhJvTaPOY< zzMYTyY_;ZX8jz7s*=SXxqh&vT7d3^-8Y7~WWwKO?jL^lQX8++*q^{l(1-FX=9fjl1 z{d092GNwl53f@T{Uv^Vd)%_9P2%fv2?+TY9S=vMXAm)WvHs!iZBL2Z}LNK#B0p&t^ zIfkqKNAG8WUbb)cwpF)tdXrQ|>Q-%4#rT-I%&9A0yphu+HcTN=f19iTBVM^dzTX3Z z-NB0s4_mF&#gR!eAP*~K+~!;<-PCqM^naRZUmqVO5Xr6e^zhhlbH6SVGYS`#v=3m| zsm(>x@6oiF0{%pzWa7Dof zCN(4FWZ2Tvb+cFGPS|%d13IDI&%tFC=ONiwG^&*$P?310`=QNOs)j z4^e?k2S>BN&b9C3VTL36-n$>LDibADRnA$j6V4yesV#R*j=O0|#X>k;M~S7ZpRH?* zh-C$dB6XXanmEWfeb8O73=AFyPO!U{`tqvyrOUjFDC)&`+?8gA(5TtL{9$!^da6|Q z#{ZOBxaW73pj^%Xk-!8uA*y^qDY=CXmyAWDULwg>@2i3TBs7zOJj%N#vWdrPt_PFP zm72(xncJ_rCx#{G4okBlz^nU$H40gW7%5EA`szmTvzoZMqLctp4}NYSq18O?J=ozf zIE^Y-*Wa(61_m}X6ge>u!1k~?@4Ex4)=i0lo7>Q^t6yM~B!7D#GNXDQn^2a^T8@sy z8ro#o#v?9{@SU}PL%C8P9yf&2t%4dCySy4n;~z2fOomA(nV5;(b}L9%#$`q3>-_46 zoDBNWz0Reve>)ARyd?=8M`nE|@=~8IzzL?TCgw28epMqzrACCB=l~Lqs`zb>myZO( zB3pfV7#c%q>SqIv0bgxE=si^@T_I3j((u5-r1L{P%cS=PdyVb5)DG(eFSh0MpH*sG>-5iawydinQp zhyibI!%BBYe5XadP5JxTaF8DXBpV|@>;Fp+Sdj&enK0tsMuH1#g z7W5Q)pSzm(84hI}Ye&^1nX{ z0Xmb@E3LH5DH2)noLBp#;JYNUlJX^FoTazwr7UXr_5+;u1%Jcj>FzntjczzgJf=@w z|ErEgV|)KTw<<@nlpO5*)jS^VQ15Ff=Yl?onyojH1^p|aC<<%|kCNlQo1zJP*k7E~ z8p;segV{indX{5yz45##()^0Ng5`TnYhGcXnf9dA2)myi(| z;49U3PQA=rES=GRZ6Ecr4@yk#&BqiC#|hv!mM-W<|N6E9vA8Pg)?ji2vJSdFXIos& zd@V(RlT`ie4b((Im<*B2z6r+rqWgEneYE!@VHIM>_h;1GCz5z3pKH9XW-+orn2_jtR&T0@~r7ur8F^iw8EN=w`8h?tI|`tEbmF4|kh~{1hKML!`qj z^0)d?N!7CD-F!IPC6LJiS^d+yZgoHdlMGCOQ>^M9`1B8Rn?eHcy zz!ZPZ7jEloWi^={j!*Y9M((TK^4az+NgR(0huON0M_x#RS$a`NRj{!J_u0p8Lq$z; zG$p?k#RJ}_rM@B6dgamWB|X2L2bp>*%2f%Tfx=1 zvJ%55C+V(#fw^l_I4VlT+U$JUU0fe9=Z3c7fyB_+KF8c#%o^mFVGkZ z27hD4a3|x0nUM2Y_G}ynfhP%Q{vq}XWg6XLP4|7b>5o5GZzgwqc9D}~2--_45~}zf z3L!?;=hdb8l^}SnW-z4Ho1qFOj~bP18{ymP!0XSo#>M_)lWg!91?_XV;INZUqAKEs z2L~mT3k9c3A_XcVb#E-_uvF{iTM$)&-Fwi26f^&HN9 zsIl(>sWDCavplq7HQ(|bY3Ao^Nczup5yZ*- z!spP3;j6)HE_3-YmT+w<%BiXu1~4u!C5gU*k7TL#uT;#({NGrRuZlzb&||(BImQ<+ z4tj%|P<#Z`EL|J2+DI=o%UW6N@g{Ba)r!`-Ba=w_;%M5(?YQdKXA5Z}6ySpD+6g90 z+SQ+PO^v4+bdWgz{8z|2kPTK^hw%|)$b?nwirrZ(Pzv}i2I(Z27I1831z9`L=OW{ug( z&;gHF7Hz<#3;&jh^(-<>8YBFslPU&gnbBFvK`a~0FtCKXW8I-(0`3+GQpTxPU%HuD z|8q6zU@t<9Yu!1Je$yfoVi9spowvXcvFIiBaz*p$-Q5g_`Ut1q&@$D+06r|hHR8JcV+mCv}$1;M_2$8rb zCBbM!jwwz2H7Mk{w67^NL@khxJS>=PlzWZ53-+~`E`bTNQ-ZVG8gkfLPeZpicg`JD z2#5qh7yukEluW21cedDmfbr#l|A16}Wha+e?=tI@rlNZ3jMNM14f7)o_6!{AT(+ZY z=A6u7Zl$aq!SrmE9<54hiS@-!<9*z$=XU?E;bAbFh}gR} zaDxPF#_`?k4=O0YNMHpbfmAkrdakGU&yLgENb4t!hpo7IcwRVU@aQQYe7boasSe{n z$ssc)h=F0u{LSW&j`>K4d5)rH{0A0F7NeD{0Lk;l<`%mtB5e=wHxnJZnsNk#qFE6J ztO~8b8wI4zCnqH6)!rHft_@3v<1J=tP_f+(4>cgZrQ zd8`<+&}(k4B^}Mi5m+!7-f}ovwtoojd(JibH5dF&iHlRQq9-T<6)^903!J3Lz9^C; zLzF^NmTq2+T?ITVcYdz;!TbBTCHt1o`C=fRApt!(&#RJ!(Ij6uw39xq1N#>VmH*yt z)Mr?6eM>YhRiGYz85(_^0eKVC^}GJ!{j*4w5PE^lA@=jY<7oVe1?N7vPm0N)C8PKN z!_hS3%Wn*9QO_CvC}}7AhN@TTC4b?QRSz3{#^+@BS$1hZT`s3NLnjxkI><>rIhZ|cWod7_YT zhR;)F2%`#uCN-}qY_lb}3zlJb*)&&|T7jRyv}*tHrsMWm%|O(@=pd4r73L6n?bT28 z@0PODk*#R#tJGwYUp`mg!ISBZD}owDi1xbfC36Jlns8A%@ml-=F@>A1g0W|DIfBz} zLYuMt4`%NNBRU7vT*V&P{U6;zq=Lw6&hajJC-(1tR`j&q|Hpm38acH5B756SbFl3L z9^ftzZy`tyVT8QvwLlfoipt@is<)z>Xgzz@-sgHS`$QNkr9e(=8>F3=J8XuO%T?XV zL8%hBjSQ2ZY&o$r>x9~t z5JyKYCljfI;m?2gzz4)alU|7WaaO;nI$#dRVXVYSa(ns5yb_0z%3Gx$<`j1qA~M(N z(vw@LTz%==S|-bN9XxS7eE$uZD2N>Nc>kY#H`;c1WKq$DT0@zhJOVlBeWyFHMFDbu z4u60Dt7*irZFR6zzH=BqA?(N-?Y_ul!#glr_o!T{zJ5SnB9ZZ1ufd z^j?;V=4D~&bL{W`fF;v?dIRnOb6hR1-_@mQY)5FWVa{?@wi{gGUB{_2GpZ@A*UjP_ zQ&p~$zZm;e3yhLyc;IF8IDIHM@UUm8GKaY)OR*a`X8-O!VaIV8>U*#fU=Y{T=)XvU zZg2OC*eM_<^ll-mxr}oBhC^gE!-#M6ac=^U5D)YCP8W8kj9NnWd_V9&}eRDL|uP8KaTE zT4?2WvV(SY%$}T_Bs0~|-*kdFktLm=%ixNK?~RR(n0Me|TN5WAwe29bO!u3OtT|c( z9MkA8iTU2trawA1^~wY%PAuNon(m;VRpxzw$C5tTx(S%`bH(%u1w#M1o$CbX$U(>A zohs=9ue#`}d=U?1RJ$Gzhb8tU6D7i6^@#hG7Y(fN7XDY{WFIS2@Z-Y6s6QA5{f)=| zjrsI)7cSHOejBnR?7~8?%nHmcl;A>82&+ms8NwI}20zLOLi?lGUJN8c+0}#1Ty=6b z$&z0d+1uM^&d>RkV{}COdbXS@Ii`sk>fLV7A@FG14%gV~jp63r+;Ep0Z8UEYVYpTY zcZ}VNpiTvyw$CkmKZ-%`m4S_Wm{k6g2r7L8_o{E3D@{!S7$G+RHsDsH|SE68rt z7qvb7zQY$UWxL(_IujKZ_I3DllXH!mV*ph;-zlue^k{f`W5Z*(S)K6+C- z;2Q%YuQ-gHbk1eq?wO%u38>~MQOdL?2Fu3LfM|D0G$k_-QDCRNKVfWcI~kWZ86@|P z?f6H88(z5{uUF+fn)wXAUfbq{VLCz9^5>F0RA|};)s(NGN_!BNImF8P`_jtN@(Q&x zBAq81eS&v)dwWRGxu9z8?1Lx94v|%k`93e@r&|6+eVh9gGP=@MkeGU9N$HiTv*aRQ zy&V0GHEcmmV-Gi4e$oH(UU(tEcOYtFf={B1#tWJqj-v>Sq&?|n;sdTfpT9SvYx-Jm zI2yP&CqX{cK#;W}>{>W>1U1h9GaDjo~azV2w zUyee9OFNSDkjyEQ8d@`loXV{DMGiQk2ZMcp^-s!w{U z9<9bZL&Nt!D|F-6sucJzv~8Arg3!l;l3o3Jhkg8sSGq0aG}#6M9(w|D)PiA*xbmQ& zEayxJ#3^PSjlvNA2Zn>Wfu|iBCOKps6gUlIE`&ypH>2ZVDDNA(R~>oaE<%;=5Qy%8 z)HnaJCY~715gpJ~clMNCZzTyYoleoO?wI9);B~#H!du0)lS%wltRV#kg(q2x@7C#M z*}2#7@>OL1bqy-E0}`N+h!ICMh5vn1x~v2^Ku`rq+d;O$O=KcuAIuBXEAcIacn zBj!OqPUt|cDkb6H8ADX#{k`c|x7nTx>P9+^E{|hus7hhMoP#i@u5tr{UEG$NoeDZ( zzlKh%aYpYK*=;C9L9b;w>$5#w6{kfnH9ELjF{&*QAs`s8%|ZZ7HGF7|Dgf*Iv-9(1 znN`KT`D!}f%Y&{>F;C96o9&ej641>c0F7HD^x0#AtC|+i3lFN0kVIJEfA9r?W`g z=-p{QeA3W&^`X4{m2ukjvq>V*9zQ^B+PwJVD7G!xe3QA;7rL_WR3=O~2VVDi|6l9? zsJe`AGd>kxYb01F}fLE4p+%=7B^}s(@tG)*`)VDy)8!0(kJg_q=&3@y}XbQstj)(m5XN+Varcm zK(wxon+JHZS8;Ozt4(WQ5nV41kJ1K*xi{3 z!?NG-x)M(O(0|EGuWM&i6J^LD&mjKQ__C4$U}6&-UZDU$SSWHPUc3h^ zwf;`bgn?lQ*&hjP#1a%r3MHRm<=~K;8628n;5QPFC;-<4A zFBcYr>lc2?Nf=~%V3d{FTie@rRhh9I9W)Z?{&vZX)upH`s!zqUU zRdW2Q{rYgRtMBkW=V76n;5UkbYjN8J1gM>2=}Htmx*40Zn{qS=%BlRQM>+A6q zR^Mtc)FuE*$Sbi%$t1*SxF})xMZNgII}T((BGJN$BN|_P0i`H2lc?K54Uc|kS)25t zW$$?fml^>^7$M1cBap};y)+eUXw;4e1UwGsifqHK!xdDYo&cO%8KsvxO6K3cucRo` zr*L$`%|s=1vFlVG0hc>-<>JF&1tYN5$Xa+H5Lv)efXApoqwef@_PhlZ5%{tNFw7k{ zlcD><9dQP>C%1wQV0`?wq)i%!%wC!@_`J_tCpegHZb|X+v9V6Y?rvWA^>sKoDd_A# zAKYo?6y3)|Vt<=SCwLl))AEDm0jkq0U+Zgqg3rYO_I$2NAxN%KKXAAL0*xLmdhv^v zLmnJylpmf)^eclcAj5wn5|XOW7cYj&X#RsytFLVD;IbODBFU-~ukSJCy6paWZ}8JW z{PTkvM#4sx<8H__l%71YK%BUdgBTcd${SjY&W!qj3=De@C*G>YU|}JRP^r>`I*4}9 zh~qbKk)?xh26e9%n%{^z9DTPlZAOU$aV{*-7*z3nu6V%fF0H=@hdtMIugo(bpkYXJ z>CkdQ#}m1n{xu&4N=yfuYCH`Lxfxd$Mb3vIFTlX%sQ8Kjc|Du*0d?NL{~DkB3Olu} zkMwHPXQoku517GibyJ%(UxAqC$C`o1aM)riuG+ph*MF=K1xJy4q;Zr8-T->%YsdSl zBmwsuJJIonXJ5fep!LJW>k`2r@UZ~3XcC;bak7aPcN_JNNFD4y9bR*J=Mfku{#`jm zQP3yB05&;mSGx@8ZY9|t3Cw~-g3f-(%?>{6P+P_S$beEIFN;a_cuFHNZ$FW{Blj!` z{RCWYyBH{tA1z$#gpw~EjvBpt6Z|+b7XpS4yzV`vHw4}8L2a+{3^!)SsnmuIPjHig zdiQfy+rSI#?_f@nE}s2QNeo;;;Lf>eUR(~K>lZLps)K^Ar|a)?_-I;81-=a$HP=V= zRIuji?#RQVOWl|z4Rz~qSN=S=?m59$U}Kd-A_ty_ z<+=MH3)W9_i927fygHET)Hul1~@WxlnL~6r?Fs_sohy)&rLRCqCKrfBOM5 zhO+DSj_997r^4hP003Zelht-JH*vENGIOy24*)le8}<^$_mW#sgNtA2HB5+y>m`gw z2nK`Ju^j#XF0gkr|6u9;e_j9+_}>du?&kf#3n-pOc;{&8=4s+$0Z5uVnp)5++M8He aytObf_jc~Lc=`|@peU;%Q!Zs3^8W#1R$AQv literal 0 HcmV?d00001 diff --git a/resources/onprem/proxmox/pve.png b/resources/onprem/proxmox/pve.png new file mode 100644 index 0000000000000000000000000000000000000000..631f27164a1674628d1117e28aa5fcb36fa08af7 GIT binary patch literal 10193 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/storage/ceph-osd.png b/resources/onprem/storage/ceph-osd.png new file mode 100644 index 0000000000000000000000000000000000000000..46007b34c25942d3e9b90242ee64d547088c5130 GIT binary patch literal 23920 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 literal 0 HcmV?d00001 diff --git a/resources/onprem/storage/ceph.png b/resources/onprem/storage/ceph.png new file mode 100644 index 0000000000000000000000000000000000000000..1c294675b7e420158573fb932b84d3db1c34b3d1 GIT binary patch literal 15385 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ⅈK^3cmL_z~VnVLIrx{r^Z1Vy!uPf@XB4Kz{-N&Kv z6g%w*W_7FSvvG%6K2A&r>vr0z6`vJE1CcMzxqdj0MJm}kx?~tUqp1CFQ@y|e%pH4j z;qGY`C3Dd-?ih*P#&4ws1*ZNY1_BOMaKE?e{|BzlB4VZ2V2V>(>U;VT4QhjYq?T2l;SQZnu~*l6yqLuit6%1sS>sw%2dg=H~m&Ii;$h3 zq3Ep6H3*n`F5nG@Bcf9^jqCQ-l}a;?tpu3`oxXs>r`z4oG6eY-f6LvfZ+6s><033T z-?0{{^O?1L`jWqqdiNpM+18S?fE*y-^%GVP@maEnn8@B|kC4Q+L9U-ZTU66n?3gW7 zZNC%lOnks{58QVpc=W|(ZmFqpdkXW=w6NM;n--FtNyDH}FMW9F(QLBaoWz_4Mg|Su z&ldrUz+9`&|I*xDxRDy6A|N|f;b+3`UHD%YIHjbd43E2d#HB=R2WqiF)k zqiuHEcpMv$gARDh!@t@|-;ki@o$@@of>>_))qUKhxP&ysX_3J)u6OcHbijJl_lv-Q3R^m7HS8vDc3T&SBIpM7T5k;W8O;Eo`#l zf5GKBn^ArB_KvJN(F$g=?M!ypjn$lXMAP*3_-N6n^K+f;s`1c=Y5F=R)wM z8HOt$pY(CX3n`W+67iqg#$b>bCt16VpsA19zp&$(p$e1oQ|DD*lqa^z{cng7oaUD+Dz}kH5La>!!X<%;r5x?$>#lWqs11*8!E76>9?T*ky zi`_n^B4LTRAtGn8)0t=16HL>GIWWYGV_<46RX3rRj- zGIO+*Xs4TS93C8wV5VcOb$!7zobRazPCxTw+(eyPn~xy~fqSs_l__=~7!sRfJP2~% zp=p8{1Rw5P6&Av@ zaE^LwOzZ3DBUS=RDm8ga=A9K|DSwpcoaLV+rt&F5XS6s?I&uLaLmF*%E7DncNWI9! zXbzBgO@EZ(WQo!AV2XnUS`t5+E+3R&83LW1YxE7q>>7ZMs^Ys&yW~`HfJ0N~*j2Ou zKr3lN+=#nVE4Smc$=J?O4%;gULcQon$^;duu4 zR;$*i1MpZlck1t&3>0KGCk~~rv@iV^LxT<;ckZjIN=u=417p^eAymyl;zYSwlT+-DC|1WF{qu zFq9NVKcDjFmn5hgu$u$msy&NES)dcf{V_X7mRXOrz=H&cU(_rwwF*v(g+rRh!KN&cMIeGsVgU*Oc{0jr1D5oY{D{UU~ EKNs@4&Hw-a literal 0 HcmV?d00001 diff --git a/resources/onprem/storage/glusterfs.png b/resources/onprem/storage/glusterfs.png new file mode 100644 index 0000000000000000000000000000000000000000..2b46ca6e98992d524bdae3cb151f270cbea20c39 GIT binary patch literal 38742 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 SG&-aJ0000 Date: Sat, 3 Oct 2020 15:27:48 +0200 Subject: [PATCH 24/32] add(node): External DNS component (#294) * Add: External DNS component Signed-off-by: Nicolas Lamirault * Fix: typo Signed-off-by: Nicolas Lamirault * Update: move external-dns into k8s echosystem Signed-off-by: Nicolas Lamirault * Update: remove unused file Signed-off-by: Nicolas Lamirault --- diagrams/k8s/ecosystem.py | 4 ++++ docs/nodes/k8s.md | 1 + resources/k8s/ecosystem/external-dns.png | Bin 0 -> 51875 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/k8s/ecosystem/external-dns.png diff --git a/diagrams/k8s/ecosystem.py b/diagrams/k8s/ecosystem.py index 2e8a91f2..41c84734 100644 --- a/diagrams/k8s/ecosystem.py +++ b/diagrams/k8s/ecosystem.py @@ -8,6 +8,10 @@ class _Ecosystem(_K8S): _icon_dir = "resources/k8s/ecosystem" +class ExternalDns(_Ecosystem): + _icon = "external-dns.png" + + class Helm(_Ecosystem): _icon = "helm.png" diff --git a/docs/nodes/k8s.md b/docs/nodes/k8s.md index 05123c51..d9c7e1c9 100644 --- a/docs/nodes/k8s.md +++ b/docs/nodes/k8s.md @@ -32,6 +32,7 @@ Node classes list of k8s provider. ## k8s.ecosystem +- **diagrams.k8s.ecosystem.ExternalDns** - **diagrams.k8s.ecosystem.Helm** - **diagrams.k8s.ecosystem.Krew** - **diagrams.k8s.ecosystem.Kustomize** diff --git a/resources/k8s/ecosystem/external-dns.png b/resources/k8s/ecosystem/external-dns.png new file mode 100644 index 0000000000000000000000000000000000000000..cc2dff270619f5dcdd415615d3b9699d10e102f6 GIT binary patch literal 51875 zcmcFqg#@@fOI#4G>q;RrBk{=Kw3sgmq>TRZ{PQS zc(3icwmr|b>)AOw_ven!iFo@)fe4=#9{>OlDJjY#000d1Qw#tQ7yY3B>8l0$0ozhq zRT==OjwQG=!9l-fGF3#V0svm@06;(p0C0mo6z~@SaODF4{uu)RuTud4YRAlGbtw7- z?gwQBS-|6ex7@apMD!6n7bR6Wyp1QcAYlO7;1Yc4NW?!%NN zFFY??UC4phv*=yf&ylTBCal4+Kr??n+Vw z%`CjeJ;)Gl%O;9dwK7w{^lYX(@{{Ru)4rX2t!0~qnGDGJlmr8Iad$l4mb7>thKEuw z17IM0oKVn*_fWFymjkYhm(askW2f2gvoCW&YrC-US52AGs4v&H6_Sf1ep<3Y(nyq5 zxdYaNwrxe0aGT+e3isxWi}tP%Tt{STj+FX z^do3k2MAe}GvaIkUSg5hFI-U(x@I1*xAXGlVLW5AX)OX`Ai|?Nv7{2iVi#hfkwFeV z>vL0!y)vN4kScn-0awX<a)_qa6QJYJHEMXcdDhV2_X` z;E^&WjOPg2XZ6~*Im2ID#oDg>9D2lY&%ELZ*{nqXx43n^nlmoj1D*bFO!XF=->GE; z<8m8g|9FyWp1#Eb-^t4|u-#dxy?1%({EYg~osv8mL`6pAc~Qqx;!yVcofOHQ{g(zZ z=AKXE9cctX#tU!1D5`Sn+RA%*f6(2v>4_tufxT{AzTh|XT}_+1=UmtJ9I-zmAvUI| zc>}p0lZpo2g(CiO&z#O4|B)$ai8!QFu>uSPBx!t)M=%%p(0dT3V)}4p41Z9>DnGxf zKILr>WYbz4x{Iu|?CN{T=Rb0;(sqW0>}_ZKb(&ep0&2N!m7Om2X;A72vd@uLkkEI`sD+nr~TI z+tqPAKL4fXOMj|qG!P^_Q@a8%-AJ49MarctDKde+qICW7rGUpQGw1Tnw_!^!4`!Ds z{<}C?YpyRQiiJpCfEw0RJ*u&&MhDila^>VEAj8Q}j)Fh_(fG$(f6-_V$X@qN`RdgG+x8EaXx1i&MK=-m3$W}20~dDDv@lIrAj-?nn(KLrq2DlM zR||~2u=Ee}2ksRV_N=bZVX2v5z)2l$K#&Q>wk<-E=q7jlDvd5F%VMNREos3x)M~w1 z8MAI*u_5gF`2^fvS>LW=dtaTPeO5B4Qf%M%p3!2z$32F=B7kpgyuRvpKsp#q6e83aZV8# z{jK|m2b$Cs4=%=8`DH5s6EOmSpF_v)g#x7Rz8WuJiRE}(b$~KDNljr`qQvjsYZ}wy zhM7RQLp&H#%aIRnc~UqSVlmo_Ks1;KnD9Ve#lR;)k&<^!iA(a5-D;^)opoGxMLV=g zlM!bac)RPk3M(;W^~Y-8BpEH@Yez+~0zTpuV~p91wDU*8mybAOcJrZ!&&ywt z&$1TYy&ta;-EEG|P7v`M=K}*`uy~g*$!o5mG3$jPD|i8)QH=^Lt4hH#J(-^S_NM$; zE0uTqovyUia9h>Gl@%q20t9{$5)d6n2JTCxJEaenLYDLsrs0-wYMM<8H^z@xlz!vN z2}Chsed>$_;1O*v9X(l_;KLYxKK)k>3xR)}sGm2!_|9m+mgHfp?|CcZf7gH+$4t{pCvA8>U2>K5hySi~`%E1coWg43@M=R!mN74D!ShUK(p%Uio77qOl%T zS-H@}_z!PdH>Tu^gMLY0U!nvjT)SLhTrN z$=^u|yL)S$b&AZdE=<6984>Vx*E0u01>CDPHD~8-U@u(x=W^<}%Dmilf+~0Jbv)%& zcIr5K1m#$!xKV% zfG!k7f=Q|ST`d$Qty9;K^IL=fT!R^Au+U#ka44D;3fd5SiYqqIV}(~3Sn#R|cetj8 z3?GM1tu&*)Sf?{G45{`sOxjaO-u;m;dwUg9kNX2;6^~eY`sDNAHo-3==f&9~SSKNq zN0jPyc~1yH6mC_nh2gL9OF|G7q)attJT=9uQI#bfcx7@tu7(rbH6)j!|7M}WSF}Qz zIqjklDTzs@>ntN-q`l|4q~!Vp9~_6+Ak80eeTF~B)f!pf+E^cY_V;gU)h^d;wuJNQ zMk1=6EoJG~N++-@;C*HNgQ%ay8VUW3szuE!m7ZP!B9$qib-5%Fb|}cbaB>Ib$oaG5 zZX$)RkVYB*M(C&vLg8 zWxFS>H}CEKGku8K34uxH$B(1y_UAy_@kalf^l6%t4LLKsV5*9B&rXIh*PTDrSupnC zIJ^!oFdK_+Tb=z<)Y4(TT|BI+@}<+{{LI91E(Ej$ep;yw zv!+1+E1;Kzqk8q3u&x72*c}k0yQ`K_tfQ+=YiXoK(y$)~x1@*kUIx~o{@ewB&Q4qR z;6X#Y`yP=uwV8lt2nApPFuholK{N*KGgc7G-UZ}BQyzTn?L1dKYf3j}|K(6s5iq4m zy!zPL^u4mEq6Qyg9*Vjl2Oz>3=NrWSEDFkwjv6asLCkZ1G%JLFI{qH)F3{tL{#dPU zdGc9CG$s;t)6)sP8{cbu0}qxANae$1z!72s0l|LigfeZ?-v3%?4Li0=Q^G@F*jQ9R zr`T=J9IR0^w&&NkTXLqE?F4!5*;&iMk3Y2=OQMgxx4j1w`Fqx|9-lp}-?OCy%zmq9 zz9qPYo2%a)ShRkU6KW?yizFf(_U@h-3s&QZGNT!R zLg3LaT|yZ$d~LnJ+dzDx9G-}QLTj2|nJ6haolKvu12Whh4PQMfCmA8nHDxxuBrX~w z!(+q=SjL#_{EVX_p|gG-f9UW23p5LNlB0&L%!|k@8n_(%>5@_qtFZ47Pxu&YPJ15) zO_Pzuk_}V?koA%f;CLIalV7fF5&$v6kYOkvGEP#*?POK4#*E^wn}Gw1PrmdG_62qA zl>X=b(!k?ZDPwF7GJ{xba?BOZsspiQY1^L*G0)!|k(Qqm?WkCku8Z0&O~79#au}zf zXW_{nfCmB3szk!f>63ruXk=Qg$@xeGzUsu`s9g*UP-4$e1A+}-A9;gA7@x5cKgHDr z9@}-fwVH`I*R-7b_zXXIL3-OThRyn>8Ns_=oaM(zU3`5!7x2|_D^9ICyms#-V{Q>8 z&qo9O>G8GxjabF-)_`B_&M!ZW|4ISb%bXUPVSy)~gKQ)FTWyNYIOynXL#=7=21`En z3lZth*bZnZ$aHdG5MW5&j&>As-5QULeHhJqHFUq;!cFx9)m=jMe(q*3#1o7Q3=93rR&hZMLu?Z$NH>` zLMRrizLT=kHn+MA5Fwjj%qJ!1*|hifpJrCMJzw2+NTchZ`AcviYvL#w@n?w*ucb@< zu}JH3QeYe&2?iKD40Ia;Y6LiJoxU1U9`ZbmH_AL}7(o*-SUBHbd5AejdaFtLY=gKT z@QC$6w2fkxIi!=1Fo%%hc@iQP@S=z!$KBwtr94Y~mfKd%Lr?PSe`NtfkX;xA)W!}D zObG?WVx8;mE;P0`6A$x=y2}Y7@araT0}fX|KQ8^_wF-)kU6!%8Cz`OLSZJ6=4o2&H z9EWlgm3uDqHPDv@xVEo1KiVih)f2K5Nip)^NvY5ulA~nPe@C^MUqeHUl(WXywJI;+ zENU-G%6>^QArAi|PQ713v>Jb$f+qH=FBoq@4shiYV zE5WW5EIgKCGOo5;+Dn{8kub0e1(^1xF1&$zHX;5=A=$P96 z-Yf~$xeOV3w1m%o!tb$(G-*Sx0pBZ;gzo|6XrR1WqLJ3O^_8sBg&()XtUt_9YGsaf zJnjsRlwakVpy`_YuMFYD0P_!NTc@yajzEa+cam2XpOK%S#0J0#2bvSN9=?Y`5+c#Q z2Z$uB0;OSd{d+L+YIbA>K^wdJarw<^A9b9rDKHRx_q$_II`Rj<1lMR{(5&|+NtRV= zn6!=#l)#7RD$XR_9)X{ZnK)r3RZ!m!64e5VC|UoZ17dqzZ$7zvocMrNvn&VK7aeb_ z=$VDttyNB-)JN0b(W4R@Mrcd`o^|v3@)fLZzdgWHK|?8D_O7{g~Y01(c&b$WfUm8Ri& znkN=}9MjR33dDX*{7wrg2u%lc3F@8_7^i`lUsHt$XhN)p6FE9GJEs{R1#sJ)%ABi6 zW=_YwpmbFV@VWWXs3k8ll9TDh5ws~9eO3Ry<_`ST`!})Es+l80Mc%*2q zw%&UuJac<$uq(jyF;$*JcXx!tY0`i7@mASTrzKun2*#e+cZ#h1hgGpn8YxRS;F_F3 z?CjW`P9Ij&caMo@XOws7N*g3xAD^@gyli)(CTVjb>5>X?5s5sZfZGbpaTT#0SDn0z z4ue>UEBDwLhoQU@P|dow2KitvCPLVnGgh=59)n{_KHrf&u4#HO!G^S1sPQ`>KU2tG zE=`howvbtF;~W!OtS0>>5yFC0U(TkL?)R-%-5GX1htqdok1jHwNM_MCK!r)KoVn24 zp(F3A-@x7J(A_W4Tt|-BCv;y_wmUBs;q?vW6@l_tnVh6Y#u+ntq!lYcPAi7x16ymPsu$Gh3`5eQO@Jd zLqe)gW93TAD?Y$Y#Wgb6`J1Y<|NVOohbsfaWE6*CN`aXAMA@jXSP~B#mv})S)4@0G zuG(*Z1EC}X4TI)2tn%c9XC#wz(=rN{FBiqz2#I3jMmE*6EeXJ0g-E*N^%EnqAp45l zqCzAP{B!HHmxWa1K1_?@!M-a5a7EM^`qDpeDeoiK6s^%taG+EX%Bu)ztsqO}ea(+$&~KC+y>F;qf%tL zL%PM+=9(a!5y4lcgRrg9G&yru${_)z76$7D@L{vZHyRI@PHcY;AcS+{#Kql3P(Uck zI_jzbYHwH>=7WMped(cYk3DyTD^mf`E5h#?1KpK}+2J%FG<2ko-N^bA}N_$Tb{L*Hl;0UDN?Eu_7de_ zA(Xb3Kg_%JEu*4~?~RH?8<;H_td5hB9m9jFG#I-%&-lB)KXBSwh&<5&U-2IyQHA|N zLAjL1J>=v;D`x9hV8B*o69XjlkVJB&tI%Xcl$gL$b^GA(VZhpU`OAxsZ1E#xLaNVZ zdW52JS7hL&YR`+PlY31+Y$o97H*NWBjpamA6Y|B4#B$HefAi&R zttD@R{dQ3tFZikgw5DF}3J3bXAbWzReS5T6a+h`Au;R-N&@?zFl^3*D=|RgI#23-G zfsCkZATAb5Xi)i=>uVu3>oqOOyGjjI`>w>ps|y#B8$xLIXRtYX327GnrbbRiz8Hf4 zI4TqTu{9Z)D&YIP06vj381H`hnJkAB2v#ha^f}FWNc?3Lboj9TQhOY_n``>8-y*r{ z@8?FXwdBFA^~Z5Ka3hz40tV#j=^WggZL{a#6@L_1Xgn;8juC(#azM~LP2VqFzLdoUx0AJ6Uff29MW<5xg>5** zpF89#)=Kou=6T{&?8DvySIZho1MzU1X)F25id}8Ys^jq?gpWdnG$>7%oE*j)us`S1 zupq#_Ro)(x;21u`@UW@mun^IIn=D%X;Y6i74}=K!gzqwr8G<}Woz4>Z_M}*Yx zrixlwh-)y)s~Y*~@b6zMEhbQ|#m%$!yW@T6?aCBJ8q5Js2Co6N}@8QoG6tQndx zQqn3MP73{$YwAq7g)kzHwy`&?ODUMfXs0(Sv<78e-ocAa{U)0~a;tXC{3f4GX!K*T z-@MBQ^Uc}o*0eFREvxcMLfl{-$R>MveWUAg7TO2TJTS;m({7p_k3rm?L4Hxq^oZxmO}v_oQ|CIFRy>llNoxi8hvhVS*dN4-DX!^ z_Ptbqywt^&J)=bysLl)G1^%>5#KFBd5HdR&_7HsCo3SBiePO@Y-CmyIL=YMjcOqGY^e;!kF=PwCOCCp8lZp;k zds=hT&D0RK2$ysZA+KcA&2Ba#<@bB7!G(&Jpzl0-suG}FmiYW!3PkuZtuJ2hQqDUd zn1+FNE9USnby3W1LR(AuG^!L$HyRG?z?KWY4674PdGvZ(OIUO+-Jjc^JbU;Kkg&U~{U0sec}(yZA`*UwPpmEDMRCS7Xu?{hZ12@{ zcLmXt>T`DUqUpRQ@@r{DZyXsqBB=AFems+uH0wdpD?%Q1;Kv;pjm6DhEd7q#5|BBvEC!TP}diuk=_5SzVdj3g@j&1PgDOK+^}y0CVRqC6s4PdPN`PEv5QAYa#oA=!Xo^6JSz<`DPdOnC%1UTkeyn~m04ngMe({l z`;r!iIOEokEy@=EW7(HytG2Ooo;$GACUFqn!jueOug8h02zt1T7t+o68JN$8mL$cfQ<0I%=F+{xJ$)}3Q z6X=r1j_|?t4zK4<8ue_In>gK)zS{7GLGK#B%|BZ;rAIka{w*1n4oy}7!NSl;f92pt17m)cCl zNV@6A-Qr3`Q=2olbIq0t@6dHGbHvcOln4#6`n+gxd$PU4BQfvAuE6U#Aq!5Q7Sv6L z%J8?0YP(k>FSJO%^wYetOnavezh0OP3!VTjc!$llIcvQIMk%s>^0&6uzhsaRdqcfc zf@w_LIj8H~lkTipW3!Wgyo_Hl&>v&C?C-}E!enSD{lPfEP5`5du$+5}FMGzS(yjjw z3l-+~istB=;-^52IT-P99gjNPmm19T%65nOn!4kWEjhC~D%mXk!LH(`35Ume(aev_ zn3ihiSEGjQsi&GeEHuC>+e-$wkBidxgPHE2THtqTo@W{26D7QeEUlsv8DVFu(evZ>+@ z#7Wcd&s^N_CQEvm^hckhJZmhMuLaiTqu)gj$1(v)H4b#fvViwP*W_ks6$Z(6N@OQ{=s04OVLo zPUpLFbP^U#^a;)9`u%qqRIBsawyT_f5@PdlM?U!8j_W=#4n=uc8H*mvLuvDzE||S^ zmlmsBP_B$@X@gNjxXSQ#g6!>kOHqpSWgLxamE#UG+HJYZVx<`yp+;QgU|kHsAsrhH zyLnItpF{C}@}oD~^t^@0z4_)~1;2CKVj+RotR!MPh@GNY~c?AmpGg3Nj-QY4O6Fo1GYL_FZhPul(HQLbdPd(zw?@x-Ax% zgK^Qhl*Lij@kV5+(FxFL0hYbYplcM`-~DHT)?skl2Di&~4;!BjH>NtoJ0YRB2%SMi zBVJf|F6!p-T~f+NXZ_1GJBi1Nm(cZZ3pA?5{p?B+yI%fV&(B+2r<3x~X|h7o-)?6s zWlI{x>uHw(U8ay+TO+)Cao^0wPfuSOc|HkTV~v&X{^PeU41Ju})xB((T3#6V{d6j3 zp3{S=>+`nf>@{YZOY%DbrB6cWmCBl>5bFHZ0en{=_br^j2uq`>Lx8G)Gbtt~K!5BE9BqQS0Ytnwv1b#lWp(CeQGuF(l9xO}ZnT)iStR4^oVh78b@(;ZjE-n3D zWb%pSJdyV6w^DYh*y}Q=qgi~gZsM>-WLTX{aQx6PJY1oGutbnBwwRMUnlXO_QWV~2 zs_#4O`fghDboQP^t0=M5zdr8`@Hke=Z6VultD-%7f9#L{Px1d8ga6XDuSd|s!@wp$ z{3Ig8q;=Oh{P^+87gbw=BZh8>IM!v)7)$PF8Gu%(;h~vbCu12WxYyshTD z?~2a-ZObcPUq+eV4QffqRMiBHV9CtF>6a?Ma7r* zj|>bVG{MEBDGn84&Hq_Y0u4nlWUr%>1UCrV4QNv&q6^$lExa_g*VtB!p~p7 zmKjeX2hoU-SSnbo{$4|liAGj~g7t9xk@9^KXVGkxE60q!&xCa42Q6E=U>25;q34cB z4+ZCN6m5@?=yv`oCpYhUpx7Z1$r;gI6S8J9?qm#!QVQHc2i~&mmMo#2++nB9*$U4S z*{GiQ>)cXieDQVMAou|aLZj&4KTYHq^q78BPw?))ygg)T<;9WOT=U#;KV-=ov`a)h zI90s8I?#xf)DgG6eu}2bpdO)Rb>V4v{BU8Ukm#*KHtJ?L&F(-YnnzmDM)9~6w1y|; zAdxb_M2SZ7vNty)J@VTcsj2zw1NJk$Qi4!S@vOzY*_x~@y~e4jIaQG?IYnts z+Jdr*z{zhmYwzF7Dl0#cGu7^53NyJPzjsWZXpv*K-d{jx9UMkSI9-1^Bf2mWg0TpR zq9+&UMlvc}rCV7?H%e818Hnc0ou-$5EAQuO|J>LSxpnQ#Sy{F+qb50a21)#3bAF8u zz82gXPnIQbaOU*0OO;DVJu7Mb`-XXR8&a*fhT0@shX4MVIi_U7yd&ky{JB92wA=hZ zD^K~hynZyL&s30p=Kkbr%2w6F9-Q7bPM7Hzk`;?O;HGia^+C;nxy^aDwS8=1r zryVU!dp#1BpZ1>-Og%@N_(2JHoRUibQ*3~` zo4mUa0fjulU3x#`vkHL#>YCG~IQJ?KOcTG0UMC?uVuG{AOt(K#eA3y|CoYK_sJ4gB$i)_^q22EE;?So+ z<4_nj%p@qDugj6<1xhz?RcXDbv*j@~qMV;2-m)X+O7uvJXq@l^b>gVOigr#hW zgNMPaI=h94xV4mGle@f<-`h!(k1chq79wgnaGo4XOIx~z{bzft6X}tXj2iz-(<&U)yF!lay^T$y;6<~z`14FbT(&T4o-_`#2 za^rEUOyP|A(y8iGov`MXr&h}fJXsQEo3V;rS{(14^2+ zDn=hCrZ1RXokFT*#&M29@VY{zhaArFx94a<8j`P0IJGPtb6EVPn<+zayrVMuK)mJY z{w^K`Q6fk6Nv5Dq^QWgpo968zOxR6!$!Holnf7d`Dm)4K){qSB6IJmR!glYAb$6m5 zSz^BMrVzaRR`=zM9IVLy*xP8Oj9|2SQR3Zy%UHrlw0C5OV2+)ct;nkACwn3* z?yV9L$vOo-5F8fRK^E>{T}N~{HfZFtaOls~bjQvd&le$!4>pTH{9Erl%s=O{*0Jh{ zxx4yuenEVtZT~cwUK#MWsa1n%Kq;im2|<+C-bj=Nv$x|{~6s@A|m4dJ=LeEMl!f+a?-># z=yXSM+8?1{tA9F7;NkJN;gp}y{<&DnW3j*plY3e;|HsLY*dM( zu;LUGMFaw&E-mMaMS0$?H;sRj_scXptonk;&27BeR4h1)9^KD#@|%6M=`WP3QX9@n z`;;2nv@I`EsBeHAU%2?m-5Q>ImHW)cI*?CYLsVtOtCXXn6cZ7l6|XP;*Z#|!936gZ zas2!YToiSv0x+f&=^pHotSXxlq}Kfd07j_1$$*ODHLH6^muP%FALe zDvTSeby~#D_FvO^y)e%oEd8%!EZ2I;XUN7TK5Q`cbgte$AvpM~v5|j#;>{-y>=_;q zGAKQu@Aun)v{k@V4+bqJ6=mNO#yCu@IJ}!`VuI+&6%03ZCc+jT1Dq68tEzH^l-{UC zr&Behb{Bw+GU=V#$9#(+3i$IE{AHcefpQfF##Ob6zIrbO$0q^-7Gt(sXzSYo^=Gc# zavfVi5)Rq1I$YaceuU85-~MQ=38@s;1aWisef=(j8%*eadGyi&Z7s_tvj7A3F#VW{ z?i#i|4U#wMMAa;CzG?)LL;+}ex|Kin@)7L?sjf%SHea0acJi`%vhbPir6nP_vL#bG zTJG85jMu^+1)ji+fn9o~&mO%Uc&%sFYfi_u#yW1;ZtC*|(zm>b7?w542m{Hs8XUx-gp>AkREGFOpbzlzZ`FLQ><_~ImN z=D>h8ER3)I16;IoC;@2M&+>~9FPzRVTEaE++iCm_8o}ZHhydRuVZ-uWrd~w z#Dtom=jvWM&<;u38>qzQMM|&w?SO0lN z)2@Q#fO5%Io6>uI9a6~v)UzeUt*eC#jIhYOg{vVGf+K+AXQ5v9O>1#fLpftET$WJ< z<825k9o@tl4kFw1^ninl>`tJE*Vd|u#Sa_HkICN>L<^Shi7#U4nb(WU=!wr3VgfG@Yildq5^8Cy&=Z?FbpPxJ_1@(hbIw z<|C>&sVr1Iqc*Gg-X{lA({$#lpn>V@10^-@W9W$t539rRzv2rH2ta7Cq$Qg!eJw0Y!hd zKR1e$8+M|nzPtVu4Eit`YMCWnZl2)#;3+FH@M7@UP5l_Tjs z$yjQ!2D|kN#>XJ~j7HM$UyUD{wgr7B$b$NQN)0sZ%-1K{^L9wxj%I1Q1)dJ&`&8s5 zkjxO=`7Nt+|hg-WZjzSqp}GH7j9wR&3uH3R@QT(n;xQ6 zCB@eGfsU!GONMR^3(^i+B-ch4JPU-AubvbIVQ0IueNo2a+0cE-?g`GHB8(A@#rA^aCPYP!3^=Q$?!QP?`_Zf$zoXsbPE zx##U86MCkqkGdnj+GK`seoJO)YqRs;WV^7N4;V5N{Vvp|z@Is1~fNT0ialxF$hKv%0Nhp7U#kgD3K?1?`pZ&&~ zmY;L(%GsyPm6m`zrXjVnI6KXI#rw*2ba^e9U6jH zca!Qi9QHaJNV4}ldeR-Wz;{(=xH9@;JA7~O2Q%S!noj@$)&$AwoU@7$1T1_T6JwXV z==b@tcHPF9|Mux`)vWG{)roaOr%(!X&%qz}fyFZKO`;E*n_SJt!smh(F&ZxJhf951 z)Y+zmjVad?Afv2zeZom>y+qgTIady!ap8o6Cmtc_qC=09(dK(k=1>~5dux$|5f9na%N`{W%Bz)O`S(bk&2Z(pAs9qp?F-;TJTiB#Zc>c^nnb~H98{ffZ$FNpHypfwHD)PPaF zSR)mH*V+n6J1B_3fbj3O{aQDZ|7g*4lF-$CqQ;lHVV}<)bwsB8;|}fq({A-5G8dLuwFGCF-@f3TXtpLVf}J*n;eV{;F8IwS;rRVQ z%tVDwn=}?AOypKrND%MFkuIZ}mb0^)-E_+LI8b8-a*xx%@ zdlJgDK1TTrMDnw&-dTk!Nk?YQVeX5IZy+G(pI03uU5Dx&zCT*bt9Ya9e$daST0ENR z_U=$VoVjroBi{h{^;?CRu@y4gcRvYe5-O87Ap8|_N;Oq)JG^s{uMxET9OEe3!D=3l z@q>p@gvn3d=S33kJ)5?@sxt;%F{|n)ei&*<#751lX9Hd6-oulB;y#lw;IoC*c%%Dt ztsMWfgrVnDMs;B|Hp@v#O02VYceQ5?_56}lYq1d+Oc>pjTasvxxWY z?I626XJsV^h%lNU(2;8t-St{7rib?SRI=yKvS;YY$#%@Xpyi6)0y_v8MV_QxtfVA| z)6#IrobqN2k$qXb?OBeqU{SSyFSF+f{SPmC0!KCoL@`k8f4 zA#Wm1x%FIiBnN{J60MQHpiSefhGfl-AByj%TPj}b+8TPC=w$nCD8Z^}B6)OG(bRuM z?Ll=+T*hAkZ&GOYdzF+vuBedRu zfT24Jjj`x&wxRp?)%L5mLKjzvv6)qB34>qI=R@!Clx)91*UC1f+a=##WjJT$S#%5= zo71O;fu*b#nC|X#^wuPN@cxa?>CVDw*GudN6foes#4+3C+_Ncm;V)hB6OxoL{rjfa zKfO<1q*Ob5U~54Py;ms@ZU(c^Ug4MD_#8&YYRWJ4UVa3F@W+MhhfG2P;u2JMMUGYs zI$#7{L8m;qZr{}Q(v*v4&(QPJ*jSq{dYu77Jq%W!=jBw-PF0iaspG55XdNUE z_Xncy-B`EVHN=+veu>eG$rs#SER%>DVI?JZ1zClQduE8=%WP;UJ*T6s{?bIs_Ff{w zN^QaL^}_2^5!=`1rhhQ;+DXs}?Xxv%$*ZRht#_}BK|-i^>#s#x-0G@q7l>_kZP6C6 z9KN)UIZnCvydp7?s&qI#d}k!Ib;R-ZU`pIh?KQfbN&P5(GIL6!#F~O$N|1XC=X~8L*C1tV(M{0kwwt5r_(b@(=KE^v+c$29vm?kIjnZ$W5>}l` zke&INE(6K-L^Eck(;-3Y^p}iaY&V_(6m?EXi9N6Kn#qIJC(1;U%)0>f_o2e(_!cr) z^6x1HsART3{j{Q}ttKs~qcEuIa=p7vLK=&RFe}5y8=`geBGKX1FmZYr#KL-5^*;?=xTFqc15f zXCvX3JZx`hq3(iYW#iL3;Ww~!b{G&X?l{c^T^bt%ph7CAcTJy>@27N6udrfkE~a0; za-RF}aL9O1oYQ>n#nbUuKP0Yf@kc1SS&52EN0E<$ne53bv-Mm<&)aOR7eyYOe9`(n zd!Y*Ntv2q%FWDe}Cq9gP?)W+WlWD?Hn|*R;3|FQ0pl8M~@M+}a@@@+00=gy?uso4C zU8TD+%DMY_1(&p)r?8t@eZ2omUFN^eZ817GX387Flm$OM@+FyAo*G7PgiEb4&SSjU zZQk=ab#1<=8-MoX1TXP9N!neW`EafHUr@>vAGnVP`-x5E%Ni{RlHn zfl*qUs(QDABoc~)10M&zew**;#-d=^p6qCjy}LQ@b!d%W>6QyOcJ#@g zZ*hyiT5^BFttY?t&sGZFOVgv47cey;y%qo2X?~v1#ujql%fa{jJ1BY6$O!UIMA>B6 zLLe3z1TX633)lA`jXxbzkY)A@uSNXz$-Zl@H)HU`-uLXSXiZq@4&5;HPWs(;$#7PI z4BIhTmb!Vlf4{d_pJ>bqJN;H0hxnjNg${J%pVFIeZ`ngn|0e4Dp1Q721i^svpA}|n zoCK#SH}6)dB?g1G(g4U_)4Qb-N%(F%v7xUmi}&T8`QVqLT;WKnG0Psh+SwNK;WS0h zEYuAiOGMX{xQp8BHwO3HQ{jQ=O`9`pNrPPI_Brd-OdWlX3-|>a;)m|~YaVp65F#Tz zD(Tz@wt2XIkwP9R|99^%d&UT3Z_(r0)L5s|>?zRTq*~_s|q7EVu7a zSW`g!nW*A^$^>UT0dM!$vTkM8sz&>QDqpdSgT=4<3?=2!-52)Z#&Jh;mZqv%^0`fE z=pg}Y82Z!m#&_=TbnWj+nG39w|JmQ^-{0$1W(5kpB-eGqMK?muHO6+M%4ZiE*WKK5 zlVI}s;ctO;{Y!0hCFMkgtbE=g6W=T3Ltx=jfPz*`Qo^;13**B-5etjaQL?}sPpZ76 z?^2LoH(t!t1|eJ!>FB7Hy82ZjVrEnRZp)ltVf*wPvS)-rCQN0WCd(<4=s(y|OLWrj zR9x?u4*90HsACC|fwf=ayLRXjPzk*y%UGWGhy$S8$_f*$(`k3p_&1GtQmt5jt$B`! z#waT&jEU-4>sUuoTINJh64P1T>p;xqpt?i($_~)Qp3A~Dqz!<8r=8)bU`4jN3cZJ+ z%zuyJp=>($F7gg{fC^xnSJqerKZtwZ}i#5>O3x6HzZf6)aNiJ-v0 z0B=*<(G^j64zOjt07ZwzBWj#?i4A@Jy()VfzV+UcEaJBM{{D7;w(TRgx{y&>rLnq@ zOL&)B2<)deVZh#$TB7%PlFY^Rf8FqW&Qxe5tNvbrIVG!26-q>ho;DdV;!-hx3|(>^ zXa0#{o*p^|=Ia8+Jb|Zm>mZ%Bd20Oodse?YmUr=2*yUZPGz4NN^74ugcf>9{3Rizl z!wtN-Equjm%IqGq4Ilz)P-&B4Dl=Btpu$HMK6jqLr-DBvY(F5A!96A}c~bwfTdMW+ z_-$=CZ||t%ii&8GlB&Efuf&&$;5{eWsbeDVjt=RA_qwM`cTvGc^#s%BL>_a%^8{B z5u9yt9e!%%%XUE@(gT;TyXuE|d7{p_mz?zTxd_N7bj> zDRLx?D=eEozVURMM5WXEOBxyMe_w;GoS(;|CHPx>+kV0_h{oGein;9^8ESlh)xh!P zuBjY%o%}-IA@QFK+h}yD(a{J--?<>Keu(Q9h@-b_e|`7q(QR#C(`^Q8K$wa4_Q zU&iCu65x<QQlFw99u@NRKy{ylU?RQ9l54$uX6EF|nRiu`IK{w&7y-}rIu`yP zMduimX%~gzY}>BMw(TZPwwr3Q?MZL8Crvgc+pfvBIa%NHt<{hBNAFtoJm>6l_TKk> z?Ofj-Y#^^v%;AZ%UOsB~c^}mJ{~lOAB)9kKzvQ&s`G7193!|-$epGUbL3P!+DaFzr zbDYT~eB|FHx*H(^1SQl^vhE*D1;q+=CCaeC$Ewe@cBPVjJfK%jFxGV~6(Fu4XL3iA z=&{cB(auOm?tkHCjMr7p4E4is#O0rd0)W@Z;S=H@TYHZBo#Z6G)`GB zi2Aq}?Rw`_P1l8+<^F!Q{s-~hw7^yiEEL3qesgd_m*Ha9EsP89lv(ebRA|4+RQnSI z|LVhyh{!WgsBElroMQBbh4I>bPCFqavK*ST;N<2qC3t;Rg-aKx$>5>kncb*=wJQ=t z^=yn65N6um8P47R{Fsg_qh&I2^h_>J+X_Bwo8bSX@9PbmICQoUWl{k@2ltLU3zrE} zrw5CAZDg*x-_Sj42rMHw{B=JWSlV$qp%;`o{KcsqbtbG@KYLk^}) zw~L)JA#$XjX{G!H2Lill-B3h^eKxn}QLMoJ(HnxS&rU$y=zQ?BHPz); z6!0GJP%M%eD2v?3317p1$15}bbU@2Somb6Z<*->|c7#GtNNAJIMOejE{P(Y-USm2? z(Hdxo6PaAdnEyFsI$_iiNcf{Y;|r;GOhlenkdeqe5dmBnrJ_-Na`91afAY&%2w+9Z z9E-v@WY&>%Slj%mdCE;Un54T$qLjtb`R?xR&9SF^{pIsbDOv6O>>M!b8Q}d+Qkz17 zflz>vmIkV_M_@@oYQ+nAke{C7{8w;}`ViYCHNIiKtg=mNt+~U~A7>jUiMP;%bdnxk zI&b4E`UT>)Lf>pV;k04A>lP;#9MN@am~+`HxtKI(^kD^21yN#1Y+mcj1n1D;TH(^W z56@GQHInNpJhtQ6s+uexIxL0n1dNQ&!j)Xl&&Ys7hMCFgwo+#zT{t7WTupF#uej96 z*xES03=tRmTY!?cc_<){>r;zbvt`J@X$JAme0e=@*x%BPz`KL;+Rdt>gRyeL~U_CnpTuDwo-Y8c` z0X$e?+LtL>Dx*{sL=?V@D|-*1miw3XVN9$7&IuIQ)+(Tab4-+fP}P*Yw1`eeCkC06 zc{JDJ!Q$iIe7$&f#(TAkh%R0W^t>{-U0{6NFD&x|;)7v}xtbI+=LYuM5PlW(kjqEX zQQzTA9aN&6A?fc?)&SZnbJ4%hUpABMKAmLW)#rIn=5DJZXu zIl6kidE#@i`f9S*yn%&44vqA^3N}T}_R;PB!+5c=B>l)MR`<-(xNOlI-v967bC3M? zo$eXx9!Dd|O1}<_INZ3~M%K8z!i2(S_o}kW>iu8^t-|C!Cn3Qqw&DR! zDm8g`hpoYIo-GPB-LZwR==kuUTfv7PtD?@H>EjFvt@(^EAStHdf`un~=DoW2%OsS9z>&5usLd>1}v zhYpZC(QeDSxZ|cE1c#OCviCo>o7Lvg&Ifv6(@A?l15wgM5zIQ)-OnfNr{sGp>@>qF zv)yLd9;c(6S4>kG(KHImT(cLZ%QQb>C>b7z)qWO3`o-JpU?nZR+ngLb1-r{qOHWD3 zPiZ#%1Q#|%3MH_AQ_lAEtUP^neL~jAh}bb!^Lqm}Z^!U1G1^S+YWywxK^aG&<#vzS zhy(;T*?{FX6WxF`xuh*C-Z3e@5^e8~*}TxFIClh|`TU#srFPT!Frg$1Xcd8g=dVE^-do11nZI+1n;di~qa2c3ts z#Zw0CH5qj3Gz|wr%YLYpCRQ0R;164~b;O2#AJl-@VX|V1%1{*^4ro0euXjej9m4o9o~MF9(iU=k#;itBBMWtfeA)Bn%h0-Ddl}jtJiH2K{lNd!C7a zpU9T8{+nT*=V$o|JxKn!XY|7nEg86||2m(~lRmhEv)Oiajc>c!d>=*(Vnss8;>OVR zf>~U!k(?4hEp?lIx{5%^dOrev@@abO<1nCR!N{7ud0cpT`uWv5k_R1Hj&=Q`ZagC- zoqybT1?fh>P=s&ya~0c7?H@1y$!R;8FZ=BvYAfZYj@hJMGS^TV=2p`+O08wo{ORZY z5_m|g5`W-$MG6NC$;pyE+}vba*RTQ@uzf4y$78eo?q$3VmOQS1IQp5{LFxt|rXyel z{s2EiGYtv67YBTiW1uh>OX|fRt0injd1xhE6)e0-;V%S+tv*XnTs1EPX`W{N+?I+N zlFWI4iF`3GPF*>K4mxaI^+IjPX#ygDIl)c$tOkOkDGt2YI%7-F1@k%;%@ng%OP+7t zcZaLmBJ=Iu4tHj2c4}42(CRsZ;rH)yK^jw4aK#+{jPh{lHuo!CT23qLf0$*y z4?@#_bt%z=dW^u)!SzDXs={p^O4&2SY0*Sq!f=*5JxEXVbMcc1JwI|u!5#1Mw~V7N z9A7_QFx@X~zc{P`0EUA4j!=>J-L$8d?oYi)G|u33NJe((;+_BmYk^bP177Q1TtjC_ z2$R;_76@&~Y|OI^;$~^5z}HP-L~AIVCp#+#iw60auZqZ8bT3n7G~gpBz*p ze{7Mr$L`I5yl4l!D{Tg26FeB(0KX%jW`~c=GcbzWQWERRiq5Ck&o?b939&Y{Vd?wg z? zs{Q>yCaa?s^`PHTP;etFf*xy{oE*65+23znibp{dNv5DM8wRmCGSd4)aDL$T@9W1M zwU_WAbBq*OGKvJ#)|+K71e5fUD1^}Dk5Fc;w;3byYiViUZ^T=Uv_M(vSrGWDXHUFl zE=zipc+cHE=NRw$cD?>9-;bm*6=f$Rh}<%|1=U=AyWNzOwZn!uQgz zOgKdM+Mf%U{~FH^+fcU#P8pbmExn!Az6n0{>~-9Z6b638Nz%XmJ&nQuthtxpAArmK zo%_2uLXZgor-l|=raVW54ZFy5O*ibeNWhas*W+CTEdvvI(&R2LbMEcPf&KRi`bs-t zqpIZ00xra+#qk;MpzxC?Jp}M&wJ21E;s7^B>M@WXV!jyS1$Yf)jRHBus)q$9q=FdB zQYLf{R@J@Wwq;dQMgEfdcP$IA6>0JTJ@KDRqCRd?D4lAkZLS|gV-@t)gn0ZVGAU|ve`-Q5vYIjImaUTgM9==%81L38L6P4Y4sbbTQ^f4APZzXe z_Oti#I=gSGZE(pk|?GiCk>0UivgVviCXs@OZPQye_MG z$A1*QIU~FeBKIb<+Q~LvrviWLN7df#f;m!9o*Chc#?n4g=dxG;PpgbYr)H zHgY9%SGsDkq^+&b63#s9BKZJJz7!nW^-wAk$V3*$(3ujj2p^Uuc|DbG`A;`fUtpO~ zLOB}ta579A{7J4X9cll6Pc>QgXPwDWCr)U$#aQd$!}Y3I!G;KJOn{*Hy8po;1vp&2 zg~N#KlvW}Ednji3JwMaf__J%}?kzCW9HJ!vtfc|6rD8nq9JYKsVx#btp$bTse-6eM z)H=W+g`pLYQJ_geLBcTv)-s0L0M#aHb4=1cQs5^VQ}gY^xlniF;@Q!n5C%HH91*=~aIH|MnDEx-;(Mi0g+DrLqi>BjJGHlsbiN<}6{)w2A%UD4 zuKLF05olaA{Whe+%JZME;yxssJz$ZfA7Bo~+d^x&Pm6%8Q3 z*rfAC2Z7wVJDzc(Q(1($NyMt?m?GzR?FkIpJtAgaeg$6$8sfwe&z`tw8AV`idqxGa z2rA`k!m*9B4$LK(fA?}S$wr6?v!Ks6f-{7vLl0Q%&_S35^f3`KiFDMc#^q7c6wA5e z_g2i?gj-KTvm%sV$kD7fC_Tsr4E6$yZfB?GHaJFBj%p~9CQCW(v~(R>h>yCosW7eu zYou+2AhnB{45O|dvPzn|P+C!X)K9aTzF~i!iTL|}`h2a!Uh)sM<40tbv*|RSim}nq z_%_2Q=&gu@N)E*&;4!~7FXJ|kB_E~g1gMH(+W0ew5FCHV?f<5(g$sMPme&fDckY6O76b;YV&H|Caet+_TP{5I{iuCp2YQ-Y z&J00^hlLl$1L?681cPT+BBtbSVm8SUFiHPB8j}b}N*db;8cV#LG3)A`bv-T$S}Gz+ zY}7%kIQc>O7VKW9Slpp~%g^V0368Y6V~1)o?%>GcFk&n)Q(FGpYZPyRd3A3GL^I@} zo;X_qwT3+?{j60BX8ByZ1REvv3r1fy$CbClqD9eX~o z@9(f%PkNiHi{b`K*aGfXbzH8yHBZx8scDf3lJ%0d8*mdtJoHmCXZIHd25ps%=R#L$ z%5i$%aTUl3QdzPiD5?IKX?zk7o1BGDddjN``0-nk1!_iZE@}cE9GCCoWr*p+qQ_-% zvKxLpP?nP=`;?^QUcmuiI6uk94bO1R>*~W&TxT3=ND?y`PURo}4t7R3|NDJJ#q#Rysn1Q) zizgu1lji!~U^9*{i2iz7fmvsX|J7Ws;SxHKp@tx+4C(!i6QdbtGH24dSDF~@#it0* zEOljVPQIupv>ZmHsWEn?P5 zTj6V)U0XEyScm(gdo}PFZ5dK&F;9T z^jx}(d~Waz)ueRbzun&>xw&bAD>N=wH8z{w_nmD`CM5TqE~ECP2oksS9R8C&`S3bX;H_4vo7N zXoCm%M(YcUQ|_j9d#6A5NQb6#0%qMlLUDCbK~(5Hsg&EckIB*qebsa0wiV^+>&v2A z!U2jGxZ*Qy?I{D-w8#ya@VFeu05noI7UV3=IS}KxJ@D1PYSdvlaA_?Ba2EEGQ4rke zxSyV)*v24Eb)+qot`8u85D{w38) zObqMipp^9hT0?TMhAZvd;GseoLIy$k7Usig!!f8#5KWMzps5gK_KR6c1>2F3P|R-0 z01kygq96iOY;0E#_t~|L@y3k#xVFBA#Y|aVQ6)3T_AU0%#qSpUNgr|+UIz(=rij;n zTLPYqL^|Svg21c0Z=Jgypd#75hYj%3uoqFw z)&NJVWlStXDlp!rMCdxU`Ad&R7)`H&IMd?hVarSsTWfR13|N;j3ycFb*rgh&#t2d0 z-hN-{_znWu)e1++R|<@{L=rqHLjD&T&ilEq2jC4ehJeBO`4M(2&eoy-6E=T0AGgYjO0QximeoAUI z9%`!rN;_HP{}rxoNi~XcECm5V zIMxs506SHGnc$>$Xf%j5C%7;O3+v3FJFvz@&|=&0thbgNW1A}6CPr|T=xgI>Y$0LG z)!d0jxK~BZomoq9?_%ke&wck!vxu?P6-i)*_|MEg9Ho0?wQ;>N^r2)4iZfj;IVx1% zDkgCSxg=vuNz`>SqXqY=roPVG9(eRA6nFpBM{b?_tVl9#tiEQ3GBVsr1jLbvi25*F zL-+9>dtS6*HQNnkvxgm1rxC3-Mj@CBhV!J0EJJ(Yd4`0v=Hx_3KVpx{4uz%&tMC#* zrVjQGD1{W{{>b(vVZf4>6|<0_^x?5Lovs$jZaM5Tqo<_^%damFmX(7Kv$JelTqwNv zsSo?%bJ!d5@v(6Afp58uzMBx2Ge}GSJV2Tk*HMSO@P8m zXPwj58NgP_-Tj~>u8>Of%XwTIsj&X`=eqSE;_Z(g=%sF`tDR^jB$f6fj(GUdSKV=o zzt?vp%wtc#SC-A!dR(l3B3=En8-}Yg`95PRPul~URaK+x*Wl(1UQE{bh6x%xzC5O2 z%gnETSr!i&mp4n+&|saLHz;e$Eo<8JThsdZnfKWp;JtJ=)%HLcQ}T8`zSLqTW;>}6 zx6xnE@PiIroD)Bst){-iRfj&wAUKbFxd&XeQMX~`t|KXvz*7yn=Mt9$-;BrUW>nby z0TubZva6Y)?-kL( zksd_9Qrg0#&yd7Dmw*B*34W(*;`o&V(QV69(}FHubnGmjycozn+U`yR!6X``%i8 zJ`r~OF~L;-qWsHPfG&2kx^dI6_QFTObT)s_8=y7g>z+YBeat-*Fg2>_k{0}`O8(VW z&%WEXSy>+CJT|7VqUQ**xoxjjIO;+PP3{WNfdigGV|QFW)wZMA`j4z4kxmcWb!Iuu+#Ne6d3RU#tYc%5Mgfq$VbLRnDuo?LO{pqVNdx%p7MOp^!0{PECB zCVg-L+Oy(i`ogC^w~Uc8X^={~wih&5m_BG>gcdt>G+AXkT|zMqQJ&b{6kRL{nxa56 zYQ-@DucMJ(TAEqIT(Uue!cKJ92t{qJba{}*T22q2=d~z6LcuR3Ds28FutH6?Cd+= z=N=6PJz|07&e0z5>E5|*J0MG#3u@UKP|bk%{u{kFclJu1%$ods>owe5@i&>Vr{hmwZW$$eACTmLl<3=JY@I?4Z93^=3rJMK^jWmx?^c@?ey(nGi$#{2C+JJ)ph>I1*6^V8gU z##Dh@iJMK{E60e36)P5K@ydZ{0PTY$%C?r^?J%aK8G7&z+)2U?La`e@>$TyL+r_f% z#l$n2;|#BSPz4t@dh}@C6PgEZq!ZYt=W$VYasMulJQ&gc*wU?o2oI4^G}A;Ayr9f- zd4yaKy9W_ui4cj_YK6vyBSul%xxzxYDjNhHS#pq4D-lcMLx?*{gt`p1N4gIpAT>C= z8Ftit1Oy40Jrg=t<-6l^YNlF7v8o1AFTJqQP({NJXeEIq@dr!HvQ$GYtd?Y=yf{`x zrC9^A!K*KAW~*&s5@G>*1(CK@450n&f(M-NRaE7x`&G6Xj~palV|vJ(c2l<8>E}i3 z3>xf%;{9mB8yUnZE=mdE`LDc&5Pd9`i3-$pq4~m&Z3l+}iiz_EKU#nLEep8EKi$O1 zy`O4zMQjUA0V@S3AzG8PR7g~Xw3ZdxJSp-)7{zDdL{)4J zymZe+zJQbBfnVPTd@@IxBjhup)zU@|*2YoMU$UymClD!-6|r@FKI*6G(@2cOYv{tr zoM!OupzY4c_E5MMIKCue0Kp1KOx6`x*k3xY5`h=$`mk}*2xwhm|1P*LxE{d@3jIwL z6P3TsKq`N_3_}b3#nz}sB_k8Z=df9?2)s@>6L?wydq1Dxn;>+s4L?XgF^5pBA;pSD zh5`Qyu`L?O0;M(~4_eN*`-N02Sq-pIi?@E_!3($j1la9ny1_giqvJNEXOwLn_aav@Wwsf`?5NBvDk4>qo2 zm7`DKuY3{7P39Py^G$a$AxJdl4ZWUxp$1FydvGajPm3cg)k_mHseSWwhL;rY1q%`d zdjw0-h7%J`D|LG$;a^?7(ND{K;kTU3kU9b9I($bEVg6%>(%(2_JKqipv0al?l6&GL z0FxryZhu9ARaj(Y#iQU2PwDE>(k5s9~^C zNi@fvwL*#ei$IB!hbEh|XWXs=t~+8RkcG0` zYQDM7U?({pc<<_AfHBEY2%4-BfSscCG%BuBgjAsg2X*zL;@vp*w0yGO_+upCpow_*|WOc2oh{U6pWnu*$$mqnEsoOsW zH`f~kg!!I&M}xE_BmY?F!7*`wtq~|K5AgrYygqP5WtK)xF8}Tg!AgVC8eoALYp3c| zKG;$Q+R^mCcekcZp7F4GEFv)reKG?4rN7H> z{wz$VJ*5%~24HvtMGMi@>iy=qo9$P}0MXW4|K}sDV$Obz z@c+b!fX~S*m&cmC?Iv8KgP~EL*M+5AaW4cqWJ#wct=wqMs6ebQTaLf5R(%LV5=_wa zJJPTJ9FaU=wUiD6Vif}jW5!93%Khb?m;_xjZY~oIEz$=J{-m4vn7AE$PBL_DwR|G3 zA5c(l@GMl-XU~x);_-6DUV!+dPBBU3Ww*4|dlGtYm?dLr;>!R1YNf*;(+a?<0(dog z!(lwcPm~X7#MQzcSS7GP>GYDw3?CHDKk9w}XBvLY**y{pY=A%(u!(ulN zKy#7mDHsko|BuKaam1hIH);lUYuITeX3Kr_fl6!-Qc%3)1d&rt^-xX#4i^sljIgFrW#ki!t< zzT{vpWGt~p#j@Ma`Hs1(KA&G&A9 z+{ZoiMux{1TVa`x4jJOVl?Zl`#J^@J)c)_|9sw9{jMoH9Q%8OUdsq{ zImcT3oxfD8aZY4QQSEZP#SFsn$`?dK>fyk~Ro%nOL-2o$o+6_pc71B`GBK6P+>-_* zdwjw5V%cA+rhZ*e-zy#fmBBwXvVj)i$kB&BK4x;oE7-udad%?U26X%n5&Zq8L*6!c zx~Gq%r89VJ`QIh_-~M$OHP~w*{#7qg6Y;_bPo@Rv3koGkU4g^)KhXuuUeG zGj!vX;XkGxwZum(L)Ai|YKtB>(C8L&{+$=XT63b`A^v)GwMRDROOD1BB{oikz@_6B z-94yM^a{qoJbj&^Cei1)cyA06uRC{fKLs%7gsT#*if?;;c-BJT)YIaHqGh|xdLcca z-U5c}yQ9yiya6*+fHVBZHz?}G8zp-U=7VTcIJ^X0PH-Fln9))Ium}$ zok)L4ie$S+{8JUa7SsQK!L*!(m13a57!8b_CxllSY#@Fl}lZ zo8t;;zK<2Teymq@wX{z7umqt)GI*jN)r@OedT4J%c7bID8xCMes^O$@iM%QUodZdT z(n4aNVU+cU2alQs^-59w|t{t+9j^>L;#-0Lp9iZ-Evamqp`$ITxEugktwVgR5 zf^^7cC1hnLP*o?AF_JQv9M2_(4jL3PW_}F=>jdNzwPvpZ_3*@q2=YmHSeC3moxp4& zZP%=e;ljoDUj3@L60DO6g`GJ#ET_%KUzCtg<1nOI3%i1J5OL=OZ4v$!s~S~lAS^k} z$dl)9(+%#o5i}EfR4B6ui$aL1b0@0w7vGo{7@Mt4d7_~{eSiOTpkQstnx;V^MUy5Y zmt@T-Z^J3s!#Q+@o1Q8~OVsD0uRpx>FagLkp-0RS_mhA9^PK!559lDcD@j@4=o!c3 z?s$;$=(OPSc<1kCnlJPgiP!R2WmFCo*0@h1NccmcByi>Uw!V4pyA)l1{zcC_dw6(( zmMZ=ircJxAo(T)l6|m(p3r(0aU2yA_hh#qC<_SU54dyJLaE}F)cujQnGV;F`1TIF& za_+9VM?omrD$x>|{`In|JDSVZ?u1nlrx)l+-5WT%r(vmLyN!0;wuL5_gye5=OO}WQnpH!RKh1i@+|Q;3$MqO>yF7 zp3?{6AQUKh2b@Bn9I%^oboxg(xCJ({dG&o<9rg6@8F6xkC#RmRXKzGnJjy9#=5VVghvt=U5VE~9 zrRdKZC3?Mu4p6qs9H20vr>D1}XDM!^`pQVqThAzn3_VSqGoGYqB}=1Tlt}kb!eK`` zc|D+#m~O*Ljb&^h7kVdOH~|OC$~X5NxfCWh9MrLwCdtA?I4$l<9AQTfY_D6cK(oNP zO#N!s5@gFpqy41+hdwQ4#(oJOyKMX)nTKQKjwx@WKP@HyM<33qVXjRKj))wNzF5QI zlT6GjMy!1m7p&L#ry@nr881MvnVn-tnlI|yHnvq#c@ei_JiT@`wxg^UQs4e4pkj%$ z#B@!FVp3%H5ZqJJw00XamBReI$roUbG&657y@~e zXb9*`43t=)nS|+j0W0{lN zwDl%sG?|WKQpU@27XndW>YDm)u;hw;(|-9}-w%-?hs4{Up+uDZE;nC2KdI!uVw@}E zB=&i%1IP>i=L&w1@P^8VPqOxOTFJv~(WkX^?;bAoT#!yZK1|kI_boNsGX{=u;e~i5 zkw?5h5M@s3n>zaaJ6D`9%Y&$JAiID;{Uh8 z9I&~H7)VaWNSy+nR8|0n_zT!-;tSd|;9jO-K~OKmakv=x&E~hf@<~gX_hm!{)}d?6 z-Ra{1xf38@745O>#*oIVk)aI|!N<;+6-*8)0<6~0o+~g7HaL1i46BdCun8U3xT%N# zO%7g*HETUQ?crV=84@^2j+QbI`YHtX3MDz)brjJTE=>S)VkM(#C3|!}vjN{xKkc3Nmr?6kx!VG>#kXp3YR0SDc#l zf;hrI$XU5h?2C`x^_wjbDiscv6G!LO*TZ#!z-DFB9d&+6&ks21JO3e~+}QZn()27L zBPydO;L!O%0~o5+G*!b*@UBjf2_$G7k_hkzortDlBc2y_`JigL!Ugg?K{9!MPLTiw zHk@2!uPv7uw8Ul#fTuh~4dG0#RvV_97)5x$?+o%73ou*U(AIpuOzoXlnf23QgDv^L z#H}>V{5;6Qecux@>P|XHG>e@Nm{V4 z&-&+3KA)lbwrtf21l~Q?)+vdpdUFo|H+I^?##P6OyL$;&db=$c_VT)b$u#uOkzz;% ziIk%SFB$rV0WMaoeolBOh;`rBh#6~tx8aQppep{GV{`Qp)vn6cMo^VkUXxp~Rj2u_~6}KtnDE2Ug00F8pr^nm45bc)| z!Q9sa=ZQbZy1^x*Ltm~0o-uF0vem$6<_@(Yu@eJrGF#}1KU8dm0wx^Qbqyp~iNw4} z030571{GlNCr=YNzi$i=J=-Z5{xTnCp$bH+b)k4;2cIt$mWm?gw{c-1tIdA=Q zGk@B^2<=4`uuj?lEac<$ZV%dYTv1u0;vp7S$lxp*a6>^aOmBN*_IIZmmwkIE2{GW$ z@xKWXa3o4w6ZwP(DoTB4EFFEj*a{;SE&y6l_~B1n!^h-($3x%v+vi26N4maD%ExC} z+oStsZpP&(2f=~rRI2?bH}5Xe*JUb999Bjz+*HzbMnuH(`kq@0lb|pINEk&|?x7Xu zW@?5bR=LbBeJLLPRWP76?K$D)GS2{j@{L!{Q4nJe22r*!-$1P z5Hr8HFt(ZFv%EDo^m4RV_wmOqdGMEF9#;+@;vwMENBV`$7V`^sCmk}`LV!w!BL)R^ zCoPdq7}e4g&zALTWl6Zsd`Yd_qhXE4_xos=G?Q)A2q(L>CNe~55BObPZt;Kg#fE5( zgg;@6$V~W95Sd$}a^g0GOw647;EZ>|wBo{!y@_Pr8`MroUE_wexZDVu8VKpCeh*wf z^K#PtGFvlGlmn(&&UV>;IZXG^K}V2sX%75`b*eIU0cRx*vA&T97`6$I3_O`v$qm0h z>w|*2z;z$E8XT4kSJzNj*|Wj&iyA|p6>#Qw15h{!tyB%aMNS_{C1G@zsGi=doZh2x zA_)RBKEV|D_L;KGd(C;%z8v4E7^+U~&Zj0Q#>~vR_fUuUF;!lWZm&p2sTma3$-*dv z2$#GFLUFPkegrJHsv=}Icrg~Y9-ngz!+zp13mySQjp0r}9h*p^q>2-b(@D6Y!;~c7 z@EjKFDM$hkuf|3kgWJNrfk~Z#Xo+shLdq1v=RYd>xcepG*-tpzO!5gMzCcV`xd1d! zRSXoDlRs82)`zRcJ=4WUIg|a<)rE9=jv*zWIou(b&O+k_ck6NNI5wvQD^bs z&%(fs<&BCT}WU9*Ki}riS|E z^;9h~p~8NxO*{#J`VoTm1nG*+ftAp(H``8QuKyJe{5bP#S3Cd~H3a4sK<@nXn8LSG zzT5^&_LBY7XGd95iecdZ$gn$0c>iUL3&;i3H zVdZcJUTFss=T@-NLS^#FvRUm+1C)9(G)b~_bkR~e{zC`^N7GDG5C@(e5gzsFTQUP? z+p~sab+VM^cmr?3CDP*NjM2bIie5WVz6lybT)pFpsdQ4IE6K6()|3$EmA$2l1L>JG z4BafJC3Ht6+^Y`3E!&_i+8mX49Y{Q;m>d^YXdR_j`>9@SQI$qN$VL}wIO4`zD7^$8 zfl~=*LpQpi#GW#gj4gQ^r1vSypK`d{VkGZoKe=;Z=qs%jbu-e|uPZ*UkGbhS!iVBd zH(W?F)aRCzDsaqGTyH0Lu$(u^@tqIP5EUSgGG+@U4L!S9rwgYfTH}XT7b=L!E=9ih zO8Oa!lR)lKZ$xs5lY~SClIqc^K_?aH=N9OL0+$plzEO`)Y4-vP5*YSWDy+hBJaFC0kY(j42X*Mw6o=78-f zRK)~EiT*$7V{t)M#EKai5odSbW#ab#*lI4=ZLhQvJDn^fV6` zvIgSDG5sSb6vrjybqbPSigs>1kE(T*CMR@c?s;&<(XLJ`$Iar@Ml7#AJAs*jzSwM> zO8xbWK(4d`lx>BlA6H)^3Ha}YQMpKnyJ?(4^SuHDj9xEMPY8a_FRdxl3@9(k#+4j@zbdkMG|Y6rGLuneA#C3ZEh<{IQaNM$iBDiiSC?Wc!w)NeGq8HE z?=|};ITRHkM7Y79L&y(uBAp}JnAS72rd-06~Bm{0TyM7t(1LGNkd!L1t%Y zSU_G?_1oxkn!$ijfMbr{5cl}HEnSB&>9?l8MAjSAd()jg>lyRISKnBbNPH}rQf=y~ zi=UkJNWYQfsLbk)@uNUOM^|^q8TC?~wJufUs!fmaHCSi!M6{Ku!=*{ixB;VhLXmQS zC7!XQFv2=xXn|Ei14V6!3j81^pyAJ((xy@7j$>YX{={Z#njL_<80-vA?NmBnsmmhP zYu-bIiq8bqGr}m1e%>RQ(M$E!^VJr{c4ePrvS;>OJ)*Fui3+KdTd+CY;q_qs>D)unzUNue)i2ZHx2E& zG+fQp*973IS7$KH|3Py}CoMpgn5*%VC`@5Py_C^A#%R@__X91o^2e_E<&^q1rU%KD+3~0%<|GXgi3U8q!a9>^x zr)rYKMa*mFOmzmdMd$fGMwrjx0}-d#Ul;N$F95tu?vN!{d3=**QTUxm;j5mso57@* zpRdwh<2QztKNbQl>+ZnJ$?HW9<$g}3kGJKd_3lF(00?Q=omWLEH=$8&z451l)nEx8 z>TQ9Glht<04xj@TS;{l@s=yh{U(1RWSu3S@bwVK#du6Zx;39|fLFyw3q1y>b)fLR5 zJZAfuDx=ft%2sBcI0Z=z5Edd*J0}NVVP=bp__C~wXpEA-Cwq1pmVY->%n(lbKk%z- zDHKt~44***Bu(}cB#96w{)d+NMjujG-Nz)n-y@q+0=Z|(cGw6gMsOb^!q!QQDaB;(5k%ryWyNy($o%Bnf}MM9pfOEpAP3(%#hBp z+U|VgO;cepQROK;(43saKdLn4$B-XAYnx z{v0Mdyi+}N5y)^4_G=Fd46Me4J6Q+~-e-(X@C^c@c&G_lWM~F3Y4?s@Cmd!E3At@J zJ=LN>P7cW1jCBNG(juPk3YBk{InG#-a$IR(X_?#qiECEtdM$6KsX1Q`9_?ZMb?l+u z#jeoAV2Ydd$`4WD9ms}ufe#O^^dA2{SBB&t5ExzE8VWou5*#g&hu0`N&54Jav+>qqEJ{kYeKa*@jN z@*O0m!YsvxEdB-p--k-}A`5lCM|QN^DR{fe7g|ghbOb8WEBPA7?>qrXG0brNjBAc4 ztEgO^QCJ_j>&AtISwOXKHlYifg)U^Y7GrTuXOA58@l_62l<+{|J)Tq}^&`MTG2hnw?oi67FN%v~rAVe-SX`7`L^CeQN_5 zEtR3bjI3~vQsBpUB2nz1sh4oIzPRsw`Bj~=z-tTB&SO_n^(V!*OBCSBZM;MN^LR|W zyezPj7ov%=>d9!a2JbN$$hRSgy*rv|H3qE>f!crMaJ4wSwI8G$XlQ7)jW_&CcJHk} zIgM_x*<;VcIs^lg%aW56({OKlxRRk8OkO1bps&_y?7;XJ%^W|PpmO=S5;-ZU=T_D; z?LlY=r9kEHm-&ycv^SpDr>k<9%X|xJ70AGWfD@@7|F^e5|ryT|GuQgQ=_QV=_Hl!2)44 zSQKPCTAnuRWh>|`Ug zmf#jOohGBGv7&add@|RbE|ncjHV*AMTZoPC%jb364{Ziczt2S3OoH6IE{Le7K1Uw) z5A;X&mAqdgmK)k5h4h-|Hs)dsXluVeV{~2Lpt2PfY*xuQU7XQMO*!YuY&J))MvZZ0 z6%S}piNv{|+RP!KG%Y}2*}Y0l10ztZI!Fi%FN(ilcB7cYi7E4|`=b2lwmT&>oev_> z{OV$H$}~=s#sWrxs+fMbEr}_blx#YEdDzU+a=toVexNWUQo|5EqfKmPuW-~WL*CO| zrS)$yQ9Ne)cMVR74O`|{Oi~i^l&=l>PB3o z9;1J62aYKTw^xs7T>*FE;M4D(wDo@Kwe_`tYu)FwU+{k7ZX#VMMCa~^-R;oT6#L)_ z(%;oUWTEs{N@eWZ3{yIHh8^fhCAfNuG@{48at ztfB_-mveY%KVfOLvd|KnZiNyxtG7p%fG@v_sV6en?B4|HRA#=pVn>WzWcR3WthqnU z*7#2YL;Kj0@d}#D6F=V{w3KPV*PYik-kxW_;K|3J!ACrII|Lwi*X+6(G?WVtZ3X;$ z*LS{L0r0~Fx%%xv_ImEMUVGfZ1z>fz&h)nQbTyS!`ntg^XpR;QQK2?#D1fm@kzc}@ zYShs;eWzDUdRL+-i8B3JFx+HDMXUe0Liy+dH%DQQeA*tPhD2Pn&G>ftk~`Poq{w0( zCR`>Fjy#tk-E!>8k2vOzp49{j7z;MzMhxC9Hs;cNzJ50~{Wjj>xu&PtU~WihL5=Rt zNu1yQCuQ9_v3F_;Gxuy$6-D5YtD&^`KbpQeDyp{Yn=UB+Kq`Tt=B!&i+ZV-^} z?hZj<=#CjgN>aK*TBN%>hpvJ5_fwp^?%tAK3s?Di$C z3*ih@4{Z0i88TDha`}D{e?e*GymS7xT!$|&bLf0?g`>efdCUUt6=#;!3a5`LJ+PlF zww&ega9qFzU%lz2#WR$gFbt$3mP68~X%F?@ZKI}tFAcu4Sr-yNHf%e6>R4UXSm%y| zcT$$I?BkvAJjtdhB@e@BGEGzy* z;vQpJDB6ulsokVmRa|YoP-+VT5diq#ADf}s~Eo94jXl(bzhyFswq$2gH zCt=N+2ifkrqn`L~jL3-jrm8;i7%iNH0h9RO|nU8G!kNp`VIsAy9|M@bCH2Zp+4twY=igK&O>eN91`gW~d z7Zpmt^KirS$<8OUL$EUyrab7!@UkyWjIzMM4mH4*E{QIXMai2Tj*Ia5#G$L;uQIJs zl{I8BSK~?`deguqlr4o7m72=s4^)Ay#x211S7=v1o#Rl9c~o3uD-W@djXD4ZuwCF* zCHC9yWFOU9*U@F9BgqZK-EIeJObK(UeL_o8t`n8Cz~G0Nz~_lkvGdD|K63Xi->UZP z$uy3_qL#G4`!RxO0%j+wNCLyaSH`z&Dawu`a3%jpyCJ&ZBQS4u9&PIjIqy1bE>IK0o0vwD=eZ?wE;(2GEvi zvu&SB+&?+z1sARVyS&hz`2X}0&x&33A$`6Z&!Z(+b+A9(>Tr0%8+Vvf7Rh?8hE#Sa z0(_p|idQbOPrCXLVeymM7ID~A^=Z3i3!*Kh!Y zW4+Mu^;n4W-S>|M=1TNGjpRaxJg9IoM!KfZrIT3G#jd*LB8V9Lp397j3o1W9K8Rim zT&S%+Ay;6EEU6knHr{=fwH(N0YQIM0oh^6n>NZ)>BYD?$-m{C&t8C4O|#F#-H>NsZ~w9A0A?c_ zEZCDOa^_mK{c1A{?%ihKvoaraxCu`-eomCn3s@OFW-%C*qeqM1ROeFp!8*+BbJj!e z|1hw6yBpnpV=6R_ZDOXF&w}YOe0*~j=}Sw#N-X3#4Q{{vMf-+`a`?6D&&>`^qop)a z{XfMP@K(8<@!bEq>U4g2zs?c&-^=VDgONHs4EOjw!3dB}=gLFf(E67hXco z<-CAt5$S^-!P%eW@x;N;`}?$8sf#D3@FlrcBZ8A7_5m%k6uItf_XVCe>vX7aQ!40p z*32>UP*j8AHFm4Y{5O=)lE9!{Kw2`()AeZi*AA$%>F5oNbg&dCSV*>9HNd-!U&gxJ z-R-Ksj6EN@S1Dg?rKU$a6mZ;a2Xu!*PyGfo7R|3OO95V1A*8#GZD%xBSVAZ8uB2tY z(Old4S=wdBW?0zu&aBzz{&qOCgq%h(iAu$J*xu81=e!S+BD;5RxEs#CnAjK9?_K-Z zX%tEZP-MxY2!M$DH6@lz*_w=1+BxR?kGumku4=&#F^kXVSil`L!4`$J4@k*wcgL4x z`<$;|0={suspnrg{bF<{DUs$H{mJs4`vd<~4E+38;8gx#XB?wzIVDHQKq4#+cmTN@YDXa z%4Ae(${IiJISeq~dhhEw9*c$a!8w9+$jg@UUPEBVpw>7pOMoV!>&Gjle<`g{e5j2s zF6l>z%bgeyl_+1_Fag(GAAkE{gXul5o1XqtpmgcHxANwdu6arlB z%-l$V0OwVzZ6CS$)X@ZoJA~=}IJLY6m&%P>m$O1V%;-G63jOUmS2Ik5d~%2trZR5f z+DpvPCqNA3c;^JGk1M7f)UUsTK>#)l{bCyW>F}7gx8@jLe_wUln6|p&zS<=Mnw|WB z6>KibsO7M1`);^tBjnflr2cc*rcf~t#fkTxGflvOFsZ=U#yui&R|6p zAq-_NhOh2_t5w>8Y2<*-%(`3;S#myz?&|RFwP$AbG{ROBZ`8R0(7ajtYtX*FoO8B+ zO&>pZBy^i6BPdKgK=CUd|G{HoCY3X>0iaOs2l`I-Y(%noHgNJbY)wYc zAiVN$>1wSANC-pKw=U3U9G3^L+f?crJkJMjI$jt`!UJAvHu`e+6=f-+c%ds>qYB3t z7F5Q398PoE4NcHwNq4)tx~QN<(5@oRcL_ujX58)lf> ziKpcS;wMOUXYNxr zYKcSp`Rd3keNQ@QuSU$m!4Mn~IY0S2CRD*RleE+=B6iH^c#255JxV}c8C)l>*3te{>_8kQIJJ3m_uHbD1xik-=rXoH98I+z z>s0q393Kj^;hUO13qD*Ka|epEYK{ovj@wN`1$qUTCNNv7SjchzWxv^x%)bBMnTeA( z+r#Y88r*Qrk?Uj1kjbR`%Ue|PxhKbO-JDi-k`MgG6sA^M1ca4lST&GoIwEd&%k`?! z78~YQ=dWVE$e_&192YR>LK~Wst}AIy{LZRFvkbw`PY07A)@Y=ke(Qd)nd!fN`KT)3 z6R$Om<_Ao#LkdaqI@(La1&2l9M_)%>?tg&nW<0oFr43DEPYadmu=mK%t_`--{%NI4#F z*gJ|Ueb2r;QZ|ZVYJqz|8^y82%7hSkDd4#% zyWQ>OZiNJOf~nKpo#T2Fp8jt#oVkY4wgj;;{{(U206F3ES=c}) z1|wNj81w_}v>rnOi5S9=#0iqX#|s(Y9T+x`O>_mStwDlDu6;ttK)zmW*Cj^d^+@4n zXig_Fa^v{Kp9wS7BdsmrcY-%ry<}xycXVjXOhu)}{mM8|ycJ#{s?%Y=+o)e-xu^qs zZ>X{@gbb9}oL7s~62~mgyxY9QG2%5XYMPue3y03hU9D6CD?SF=`{PcPnxSX=WGZ8F z)8lOk;VgPAb;!)*$L@^npw6~YSIh+y4>CSKv@AxGC3J9zJt#}KAwHs^J~=yfaGy$* z-Qt{3dW)@i6xz8TlCRdH;;Q^dt*z6YR_4K;`okL$IOL)4{ z#n6Q?vd=L77H?5IiYA1+S}_C-o$s0MPR<(m&`X1f28&rgmn#0vV5_dt6r%}MYkkJ} z#FjgrY%BO@epy~1Z-C3KyNmAQwg#|gcs#G&3Za!0oI(GJ)2Zy~O2fhU%?}vl6e>Wg zJs>X)2#=pQjDG8~rnUW^rCD-)@N7e90&)5`@pzRLaK8ffd|la^?y72x-x#cvoA&KMB=Cv?Ft>Y&@}_|BZDOcpx}J8=fMcuar6TK_rk-ZW6)*=Kx1mU3 z_eJqJI*&K;WJ99nnjo&U1Oa^&<~W)Vq}52LL8e)qE`{|QYrmMa=ElulSSt+*&3Kt= zmphNi0{*^V@Pt9GU01gYl^Y1#3txf&K?0%KB{^6u5kby&BVo&Wn&7KI$kgHEPD*An zmi6m=94LSBOb{Dlil0v4{y>b^l3Bp4scT2Z=;g z=HxX0WC=M)B5Y4)(+WU?<`N+urkI05GuoJObtem}gmf|=BK9a06FJgPDm^&l>5~h- z4V&qcYJ%OW2ps7;gI3jCp9#nLJk?*~a1|BC^&gO5S-$LUkJfIXe$Do9zrlCYx32^n z%p`5FG~IF8s--CRqZx4imKm{rv3`ZQN26L(RF;=ND`RMrKL3&X^T+q4xR`1&;mJd< z_P~rb2d@j=O`@JAaD^vb)YNNqf$rUBj!5%G%)^&he+4(p9UZAU3bbBf^OW)QAN^qA zhnk`g?>%$IhSa7WQ(c}*ymxv>jD*EP!j`m8^=Yd&LapQiy_vX(?+S0?ucYj%wNGpE zwpJ12{XO~7frUkWo`J|$dp(wIsfozt%?sj~)R$!y%%Aj?nu{SoW64&(B?=ue@|^`* z-JA`YzFJH5OrXik6YKnyx!uQ3jTMD1+GYl&Ymr zXZa9IZJF6rN{)^ayFS-GIIhMukdu8GLBhs=ee^G6reI59s~63S>0i755#*8%JpS#> zyGz2AIXWo}pz2oWf#0T3u>74R&|s59?JhcRV#OT&6i~BILL&q8Oyd@GC$ZCH&wSeE zQdIz*gO{{s)=oje*B)*OkqX|z+wNLX)6_t`<5VD2lXbgX4R!(zO_qYfhY-qsh zp+p3D`-K}G^Ze}V5@=vl@P~+O8}lr5p23$9KFt(IM;2cBc>v5pN-DfSYkvZSeajU_ zS4GkTQ+eLQLdXDJ!s8xV9HNRJFf%YJ^y5cHUfs<5NUS5kKm+@0@_+8YNV)^^;TpJB zHB?avKdU^yp~7EA@Cqw0_P--hV2+?TIN?Y-LjqRO>@Jk;lid82Pj@0=v#CiYQ|T59 zK!wHisGFRfiJ7IP(_EKGuvTF&RmMJ+VGvvV`=2*U=SU0>B`~=12?@~DA+kLh8cSp2 zrFxwtiu2U>5?OuDM_LC*$0YBD{v%01)_w=2VK1wUX7d?tx@CCDXDHd59m`YpPVTsj zYnKYDVBu0XAa8x(I@>Li!G=D3Y>|=J>&2|pj|sA<1;PWLUcc~ed7;NO?vF3FSP>x( zNy!_X_4Zi+aS&+J&A>>nkC$Wyo;);*Kzz$|M6nu1#%kr2x$3$k%ZELG_=g^iV5w<; zfwqTUIix24Ih{B)ekX?4;*_oewFj5fN?{mSSwy&3ZrpS8iY`vyq&bvyaQ;8^;MSY^uhTW>WzI|dsOV}tG<15O8SgZ^96y=5^7&qR9johgeD2hvY5I|zAZ$Ed>+s0 z84<4ir%#xEZFkh1`u^g{LBMf&w9+b%2@ux{|4Fh(lb7IBo_&7rQ^@a*1_<$qpX}JP z?OFM}r*QpYrW~C@RSOjm$Z*4LLLB_r<#wpPyyOC$Kh@O)8!V4e$55NquDRDrm62Wq z`-T%vwgvz5#lsXeW(#3KB(=4A0u1wFIWm>HOA>t2 zZ?XpJ?8^P(r_Q)!mJNGbTF9wm%y(SC|0NJ^psP&k*)Ikd7uOY^PX<1`{LGm<;3VMr z;cG{=(}y5GiE*IC%>Ix$-{MMeT=76bt@ws72XKt^Hl(g@28Ee(x0$jA>d!&LZIuHAVV>NWz4CNYiF@i`s#X=v!=)iTBzJ zVO&)5quTMVxta%Wpi?%|L*S}awc^$gV8sC58`uy?;cE;ULx#O8!fT&1UtB&A7kidl z7o)I;vc+P06I&5n2yVu##2mr>0{!(Kp>%n&wAhr0oaNsbECmC2u7f91;S2+5LHwF212<`-sm(P zw1%#{6p?;FE`TaC38*F5b-hX9{KnB(Sr6<8A1`aaKMDPqz;BC5NG9swhQATaEc`ZZ zs!ysqVW^9gN%)(g`{9+tg1bIQyS(x{$b=k&CXXPHMfp2h%;!B|_wrIEm}fApNCo{J z0uLR&j+&W@Pp$J14A`4E^wWM;&|ua*&n0^vXY75cQi^5? zy=>F^MYIB+TzO^u-=TMp>sZaRu`Cf=@8s9#NW<+?KbWN#4CSh8SXI0-9C-|FZ^44lfxv-3i_LHPG}E@A8KD{zXx zJSqUH>YvRfA75NnJgOQbU2$MD?j4$X@rm3`Wv7qERj`Ts3F1x#!csPpm75%-ohjudurgpx6<@(37FiloP3f7 z8_nOvhD0YPOcSe09&S_1y~H8F>~S=25bdz%s@dpLG#9jVvsBUHRRvW(p#jvdTB{xm zy}uY zTlf^7)ly~dP0&BGBlAMCA&g=;(d)P4Qd+1+ocU_Ka`MD29ks8=WRn%aCqN7Zzk-6M zHK4;e;{j&VU6vTCzwaAm+vJz7YY`Os7`q_E8~9flA; zT5JrSsmRi3ST5hcR~ej`7}y=l{0|UKj+R6a1;ws-5|6SU%MOEC($U$5VStS9W^|&+ zfU~L=*f5{U>XkI#mrPQg7{n0EH7k^A#4lKyBQ|6BRUW3j^l#=^(ya^Rybga0w<#K> zU#WvTQ7P{M9pBZQBU5*;4zYQ3AyPK)#d-yh0;4=OI*OGr7*V2mpiD38$wGeXEMdF{ zO5Xt#@D0?bS-KmUsfg&`p_5Aw8KOwU5@s#7+;3j-Z|^l{6$mB|^H%)GesDmnk}U(g z;8R(U^%r}q14yQ)a09});BUw#m4l{LNAgafq=!59%aXt_N07TUXcMaU5i0I9na%)(BtRe3USH7Cy^ zdms>Pbv@np#jV*=ir7YZwDu!;Pf=aCk=g%I_mjx~2%vt<*%X?CDRLw;!}UQT-9c@>)7GI;|n`l7w`CTi5hTxGsxRm#&o);LD*& z!*1@W#rh9`##c|hR%2VaWv^{?UUMw$(XcW@T(T`i;5*yV8Jx4&<$O&Z0k58LyD#0x zyJC@t&(S(a9Pm5b&aKu0>UTlo@*H^s4b-?Yv+R?4Kj?7Sv`=^nkf9-sFYD0hWs&Jy zr5N(}o3FEi#-B4L+(Zf#qX)PY;$S-UZuA{@r;ciSUf%pd+t?;u=-Tv#O*ZT~qwTZK z*@37B;U*PK^_(ZR%g>kP`&xrL7q?S1Pp^i59wi+*LEhwyZCrV+th4M!woCn7?;hq{UwSdtbw<(0Cc-)K zTbc`ibE~yK$efq*J)f2tTU^CJH}ihc>}@3*-w9$w5c?gSN-7>hL;$)Spm#A`^DVRY z@M@jl7JlCfkam5Vn{DP7WiM7f`-n7?Q!6%iXEX~NDJCj49F=U~mgx5>vMIIqsro2Z)HGLQCH_7l>|O zuCFsDgpy-^fW>GCQf(4PKM#K9A;Do{33nhzlR;hpFiX?VkJ;Y5B^O1Ges@3JK9Ack zb+7s#i=rvL@!O!4P${n4dMjw?ik_T0hP;69R%^9<;l_WA3KclayoLkTi_$WNc<93$ zgBv5y;4=c|^nhbbq)$j4sJTe(mgI6Rmbx#Y5ZW{(wjM4VO{_ed%sdasJ=N19UYWWQ+yZ2W?Bv$4|EVZ1dF2 zi#0>$z}r*lfr zE4xl_Ofz@HGhuICGcFToTX)AVFfbw;Z_i_+`oTtji3p{+sA%7C^NpONyXsb-IkmM@ zXdV9ZAPevuN7T{oSuB)OkVhbEXy^Kl*m)Y07GJ?2qZJp8-1S?oWokpWBgc}K zqU5e8WVuKT;5OwVI1)3At};8}R&@J=cIvxUJ|xs!R4DZjWUb2-Z@E6_VAlb&z4Z$i z0yBIV$x-o_5eJ}p>W11fiZ+9d8K)%X_fRH4MI@}d0KWZInjUK5#ic5dwmV`OYYZ87 z+J6)t$rcFD8MVK>8UV-x{u(Vf$b)XFuU2sa3?5V z>Y0(sZ#Y>uzU2~5#)p8!$q3<=h#`~AMqA>n;8}#N9cD5GS}dx*OBn;OQNPK~$!S6j z-hCb5BGpMn7(%C@oj*x7R)Kod0L*6FZV}d2yUU+q{=nc_vsY*fT$X_pvJqx;TCZ{u z$tiZXH4pFlkE8iq^Yd7GNabLfAyFgBuLG9TmZ4uVgLN%1G;NU`Ykc#eSEopV%qAaI zUQN4Cvx)i(e=d-Em%;>0;2)Fhf?%N@nI0hJEYHKk8y z>;Q2W*%>iTWE3Qo@N3FTc20o20WB_vNO7$ZkzgjQ$2ag+#m`A1sY}!I;}LGf7uwnB zHoV>`BZ>ZS{ocMb=;@Y4g&I*O`0J z7WfW2rVd7sdR1A@bGE|91cHHst#cVdBm)-C!{DKj(Rb7XW19@dpdYPzB9$r%h~J6D zju`}$9t%B}LNYnge8ayPFFpOvx#4KL6(J0X_<=Jc*5WZTZu0ouVW7y9T1%rr(uG-x zqdmT+Ml&LkI136nb*I`D9bNooEJ>9RTf5@%vLvS=O5x1uy#bVDLI+Z#16fw7C|_-M zHONQJFRjR_&-%3vT*&|;Gu73PLO4W|Ww9;KfgJE_j_NNQvCiI4dav>FcMTicq&sO% z%sqO%VI5(y?c2TPcvJGdh}S(;HhL2{J#UNCD9#2x>3q-8l&2$KE3JRsxbyc#2CwGsr-glMoLG;09u_-xK<@KQDUkXrPpkk^2V)d~_7hlt! z;q1k4rSdytY>5N_Z;+TIpfV|OAfy_rdEg2zJta|gZLhR_-hh)E-i7QpWCi`up(s_p zrT}f@frX9HIWRvX0c$#2#MFp0_y>h+SB}sPs$u+QrM8utt%r5s%WyG)Y=JVwE z%}1p4cVS*1z{ju<8wvN}yp#Vx;ilwn*904`h;}?ecg^2yYnQ)Hgm=y_>yHX6o$2?L zF+kf4R19_Auf%K?Rmq$%&Pe}VHluP%Km1tSZKY_XXg*^ZFoxZRX&w~JZp7cUXFWx$u!|;2Z(MlS83;V94mh{d z^Vxq|E}zf#erjUV<3^#1Uetmg_fnEF?H{@r7R&_&ympA+x59 zyrqQGUcfhO!y!b&HNRh>%lQY;`fy*sqxg0{n!G#;rPP}9 zirt^Z&OlIW#vndAr7W(kPl4ebDqh|IO448~_}k%{T+cLygO84l?9FFi+zc6vxyVpy z&|gCdhn%T)#7vY`;L%>AZj|x-YoYQYs5_u5`u!@z>QQ0n4IC zv0Fm&@xepP_=W}9+O!m?FJ`z>ev&V#2;^sU`UXI$X@RZ;OcZe7cnJfyr8auPlMSU+ z6@`Ix@l0>2ml0DR`o@0Q?=E)QbP6D!YW+l9i4_ADzF$d_>?9%w&e%Mtc3*=_S*4+t zE>9FzPWL}1t-n|Fnm6`;qR+FMZ2*Mfo0Gl#u=K5a4-PWwO(bez)0##u8yC|c`D)Ku z8Ue8zl(yxQTm=<>c2@1Yt|RZS#D$5>VRTu8HNFoVde;Jp3|O2>?C*+!d}9+q2n_ z4oZ~Uma2eA{_!dqtgh5Z2djzqvj*!zW1h>kf!7M4XH(!vT>iCXKWio`01P|;B<$bh z2KtA&$^tinKz@k#9fjtVv>*PI>bB64&*OMinccq&8~}w;e-jKFBwF;4I1w7#n?dk@x&c7V^bmutWq0G1M&3R@l)kL`A0c1;hsnZ4k=wKx_-po;nRqN1p zg1>E~rXtXd>WZS1A*}J^Y&~ZdY+6I(6S!U7|Ng7v>t^U^$;d-otLP`AahV_VRk? z^E@prazdU7SJ14}dl`O}jVp35T<;N$pejsFFtC1H7ptCwI2Zvyp3f728*`fO+a+dY zH9!1E548Q=vYaEEpM}kM)pq zt%gl8_HZYp?nFAyrH2Jf{kuzHg@PiqMf9WYdXzEbF`(Dv9jNW8&qx9gFkmyElE=2b zX>LgecW%Ng-HWF7amF;kIR%FcW5MgPX{(3O250(Z6;U;>MQVcVbF`nANuESlXur2z z6hLJ-saLe%Qch$eQ17#K=41Be_lCX;t7KIx;%=T~hsuw)wSJ*_pL=DFfDSo0)p^J{yo z9c|26fZOXM+M|S6gaA#9C;%O+-U*hsUYYETTy@9Gd+cn9PDv$XW!=7nzEF&Zc{w0R zAODkdB~w*)_>X=`mIWbmGGXMZkNF^A|M_%bH`>!(WXM?n$fvu^_nyZaa)O7)#bU49 zjT$8UFb#bhIx2ku#uU`--hdGW`XL!MXca6BuEv3KaA1cgbp-|Lx0{F*mGZr^e5=zC zdOW9U>}RdTLOzGa_6eL*NkZl=E@y0S*;ko30f|wuwU}-qtMMEz^(S-!6L%)XR>>gs zM89-X(LZ9j;sxyJJHJ8BhXXoJSJ{WbdJQrXY0N3k<6rd&+|)nmoeL~FI{*)5M;py# zl58_uZ_V<>z)%SqUvZ+4yc-V`t=w+g&Gp^0ogb}3S2BD{KUwEyC@K#c(+1l#xy9r* z2ms6~-t589^}gM!4em?qYNU~n!N~;i|2T4XCTV>*`BSzd{VNYC3B>Pk!3S&-_WRhw z>8wte?Kbn51POnqxTRe6nN=1WY9H=)_rBQl5A9Cy9dj5?I@H-cpo5@agHltM?F=vO zQ|%(n^6fc4^6mm0J{FP@Bg07=4MO&@BS+TsPqMRH7$o!l?8lI_v^U|!d{j(n_qFOq5A1G%f8KBX?wv9M$FB)K6b@MHu-ke^k697d4K5DT6TSx{;6 zGadbHjYDYXe~W+8a@szt)tlD0?_4G_$4~d%K(42gy9>k#Gc%MhM&7{?{=-o$fS4o;J(O zg&L~94QE~U%3E`c-ToUj-(}aj)A_Ht!y4NYgLC-!ECbFb#L~DyhgB1+D?Uq$&<=Nk zNiudT3kwp%S$XjYc$7<^No-SS@!M)#X-eIy%(fsNDK=baMnM_2bHs3IruV^0%;i162{hm`FROv6O`bW#(UuYW(C=;A+b*=@V(Lpa$)$%St(5X3} zX9>`@3e2V=XGZ~=yt%JGH&Ao% z)D=h?o0t$h!hcLf<+Gn3%5}HhpZkTGIO-(F*g5c}sI^QW!jRH(+^Gfy8YZ<|1rgQH zV{toL8IqU0aL&{hMIHgJv$-maS}NeuSDo*|MfAb;jv`s}RW=Tk=O0;9xzZKrpuf>k z+nL#h4?e_92Gs&3X4}jLhD2re{Y<&(IPccYW`dvad3iM*YNHpb!YJPXJ&_UFIFa~^ z)6O(xU@f7l42_G%Pgc8+ia$Qyc*YUzWM*6d0zM6z&-i{cd#LS<;g1c{Z|xW9iLlQv zj|Wc3o_y3L?D4^+glCGFUrK!N+Ii}eCK-?qS}|NvX+FuL@ZGi+E62urWmh&J-0JH7 zE{iI>F*kb`454hUEKqbd_$`I?Un8URK%hnBEYHP{w$C6QPaPe1C#+_O-o@73 z9@SUMsCPA$3_(n6$3}czE4TcQTIB?-uLxyIdvCBFI(FBl1ZO&P&V6!ydo4Uc?o<^d{RxL?+|n z;qv^M?~-~5ki)>N#sP{ljo;aNQ?_63pts&aS&@o3b)rrmUtn3)0HKN`%&DR&+S{YA z!O&y>>cfX#a!OUZB!XVeJ^7~~#^kS*$8P&-%2iWJjYk43-?FJ0~)d8MOXLo`>> zR(6FBcG?SWaY4NV!6Q#&UC}>=xYs|t4eINB-)Y{NmZEvs&vO%iAQo(A3DXwFDOS&f zthzypSl{E2fODwS*i_Q&d~e4l(8&zyRXcwm19%P-;1G)Kl5+T#%>I_XD)I$h&X`~D z^Jo^5{zZmzb4inpuCabupr;T}2T%PGf$`(;u(UkxB|9E5_C4I&?Xu9pr24H9T=qXu zU+eo9K-<=AH}%-9!82)W8=fX-lP;c>FD0#-b;&P1nlNz(Y#$Wo(8#;$pt`2smzC%IOiwx>bYopnehgnvA0vlFR?N)$G=QU^j+fBYHlxG6~g6hmK02>gJl0t}$jtwjl zF$@|RnKYuiq~VC_HA-w0szv9?4AFes^Y5i~{ToPj@}_zMO(BX*R!L(!6e?B}Do{nH zq_|#8ijzb0;*K<+75!Nv!6m!+n@d`yt(pS;E~)axJAKfKu12@jp;??TjS^Ci$z_b^ znSwTLN5`SWy#eQ#;|@-ERahvp@^I$a?LGQ#M~^)>@({A|A6A$BY$6noil&?QtCE}I zv`o{YSSZDAKkdCK&Z;`)2=h=ZbHFEECGU`_G-R_32jF|VvZfQ^+GLaA^wdxZOg~ht zAl60@I-i#tM+SdNnS?X3*6t{BzMw=eS;w9DjN^Q6nx+wJ*lnz4jG-;f=ZW`eAB5xe zen3RjK<=dAQDW&{z64BTF4^zpalmjT>BK4MQWPX{6_^lqtj4Y$b{#q=yHRGkB|FAr z2Y1q=t?S`e9%YJ_={JPhG|fj|pvT&^OL1t^C66X4S}8Cm7ZYL2Z92u@cErxourJglGmjku1dgOmI}KdQ;v6s4cH-Rm*1b3und4{(Z&e z{&x5#_%=%OU_XB~vWQAxC2%oJauJ=(2)$1rR<1h^R%;h<1|4>mm8?Wkrb90I5NG4tP zrk9DnSHvV4;?iN0sjHH#Q2KRW1jxHiFiH2N&w_tws=j#e{=zuA8O-o{sX(#hR*Z0YC^AuDthnQ=t+Wav~@+nAOU8R27)?tSt8QHHowEC%url3hcLqkpYt?-U_2 zLVH*JwZn;vRSBnx4i3Q$hW+7xA0m z5MhCM@$21uszrn{h**Jv9Akn#%o^F_1-%E#Lm1)mzJbHkDZDWRs;OzDA!jBuDB6CD z{q(q;mo)e}QPT(txsMK^Od#|sru#UOaf4%pe^^X%ssXMqG}#65#Xj->V<4cCWge+N2!x2-e{Vr~N(r&pz%{-N?S?Lo6# zPWaK2oas!7>gt^7pA zTMO+BkJsdlU%;MT*Hh@*9y-pPk|3Ki|do{PV5T{ASd z{o+U`^|Kg_{%uC$OPA8AM8^CuV4|sZKdDR_T+IHNds?He`hh#l(G;Jg5GJcZeyIS* zA8x3&kG(&j6wanfOtn;6!q#^ANx;&HY?n8F7#2cbQu0e}aAO6TO6=tIz62nT;*I}H(DsDXZbFC-^vKUMaKRuzo+qWldw1~} zG3)t+9!S@@&=Tlc)6!|o&xF0^z6Q&3Fw^%8PP`=49O}>jBR+sEy;>y>c1ED>&iKI! zXkm1snZ@phq|I5^)FMI`no(sWVvT?RP<+d-u^7!R`)puX23~!g`z0YR#%~KAo$KK| z*`}8H*$=r`Ko4LK1eiPzRu27d^!d#O`(`)h1T<$qBMDL(ak`Eh zsCXM9l$!V6L9yhEKB(G|``TuW?^4Vd6^$c|dBY&qnF6>+AOZaK8kQ&Z+r8rw5}Lpu zn^@AK*AbPF`*bGDyQOPh_W*WqkfZYOGmu)AXJ*uX&lEtUKVF2x zG%kPp3giq5-x*w6Xj^qxpTs{yO)?vTuFOyGqzlZ(f{J87k>~fI-Y= zq!jtU+%Lv)p;QtVRmPI@AMeY0fp^7cnR0`?1A(ffZoJ~p@7A5{vT|og?S?f`PU`KM zvxc@+J@{2AyPuHmLNW+LFkglkh=iN#$|EXKV7=f*hiw!I-+6r@-}yIG1Epv{KmT@J z`x*GQ-6|r0B6F`EL)gqoB1e*Axg?vlHo=ebzCyBue2#~b)*`=%8d(Jk9t26U=JKmK zbo%>^mE??Egzn@O*EhxZB&8DLIudm-cSS4YwKn_u<-Yq=%KLOdS4wFG6%Y&r1tOk1 zbBjn|iqOX^q$fQSRIqSE*02_+JAl(_?7Nk!yKqD$_c!I*hWg~xcA?`I&%|*HLg`0( zV=e+TgoJ>&o7tPi9Yd$LNYd0>w=zY4cJcyWnR5&^XnwdA6GH^)r-ttuZ%3TihM06l z5{A^@Jf1YBIrjky(2GCuK)oJXrI_a#mk$s4buZtEikbhcv}vt(rmR*sc@*y$7v1@= zPb{s@qEmISlI#TdvbN%5MHN9(sHl1y*ieiJX4&$_-^PCCZ7YnsufZCI%{XlyKxNNC z&6!z*(nqAyOB?)`aNG{&VmmO6!0ms3yiOK_s@12fS%4>rp@(+TrgKf? z3z7iG8^1I-_?t`1w;IczWy$TR54wNVdp1BHIqw~e9XYe|yfIkwIFVLesY*t<+uZaK6#q^$5DH;q?5L{<2}DxqAz@E)|NIhKy1O~3OC zxN#l-Q|l=>I5BnW3DLA$sLrbLyXlypT#A95lSxOd4i%bBFa!#%b03!=KV!6F=F|IG zRvYA#1gyDsY76zgx*=>;>6)b;(Di#m93kO3>j<<^YS{F_cjENDJGrT!GX*LK*hs!* z%Dr>^%YURtj|i3Vd)`_7SyuWAv>p0)n$F~U-&NI3znz}D3GmlRhUWM=>$L*o;vO|tZ3ThSEfjpM2Sd$KZ*<%t-|Tj=9m z6P_J}G|>AJ+k?LzrJPLqu}sTu+_&RlIof($km}#$nO%hb;stUdx-b@?@)^H5r>{JG ze*{q0#ui%5)&8j5L8(BNX@DRHT0lMtcKDku(RJ7}c|S%&6(AVUqsHWJKt%5AU%E=O zdPFDRRn_tA$kw){$5)!D5HA6c%vP%)_a2V=hZ(5U$K7Z5UMtn0Ef|ht&MNFi(iIJZD42_5h1^3oD=}EfO9x zZwKCZ@8?uzQTXAj2Xlgs()Sfl3XbHf^WE;+`1iElKC%4^jVGOrZeR_N)Lxu0tHqgd z-tOPqg(KIP>i`Wn%lI+r_>)4WhTs5+w9n3ymE?sRPbMEQ*FPdyKe<8}SkB+O18g{% zTY}Yol{&V=>QSjszJrg@0cq)T2d{_E^!oAOfPGAcbbfV*bAgpYgx{+s4u( zuT}0fKm@P2efqX~JHsdUm}Ho4<{ivC+#7_}=gB7soM1YvzFTOrMd6Gu%oWW}9E^GU z4wf@Uvo@`nYya*3VOy>$!KAxS>>fx1+twf4TCLN95A5IxxFWsq>y7$*%y)oS9q~>6 zk$nhQc{pwa9;&eZ+3WV+PqC9%Zoh9b;|}wTBP#cffZSm&GMW32IjA9Zw%eKgzY6Cb zPhec-$E{HQr}j||RQFUaEVx^9JWd_Td-z}%SN~qWN4}s2&F4eMzJ8Vuzccg5Y<{3K zp0!5)DYkg=-M-UYQcbq;UW>rHdGT(F?-*CL3N%mt-H`7G45Zltr+B$GHP*8OH^^RF za{B#j;mO_&=87hk`<`rP^ww;>FJB=WKIe#vnqjA>Pm<7Npi?Pkb{_oCZ{_vZ=GvMP z2?hoR)e_f;l9a@fRIB8oR3OD*1YG>3YhbBsWENs*W@Tz@Wn`#rU|?lnAht?fA4NlM feoAIqC8h>LONfSB)31pGH86O(`njxgN@xNAlP7B& literal 0 HcmV?d00001 From c790ac47d5a7f3f176097614d3c2c5ed15f741e5 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 3 Oct 2020 15:28:34 +0200 Subject: [PATCH 25/32] add(node): Vector aggregator service (#295) * Add: Vector logging service Signed-off-by: Nicolas Lamirault * Update: move fluentd and vector into aggregator category Signed-off-by: Nicolas Lamirault --- diagrams/onprem/aggregator.py | 19 ++++++++++++++++++ diagrams/onprem/logging.py | 4 ---- diagrams/onprem/network.py | 1 + docs/nodes/onprem.md | 6 +++++- .../{logging => aggregator}/fluentd.png | Bin resources/onprem/aggregator/vector.png | Bin 0 -> 7830 bytes 6 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 diagrams/onprem/aggregator.py rename resources/onprem/{logging => aggregator}/fluentd.png (100%) create mode 100644 resources/onprem/aggregator/vector.png diff --git a/diagrams/onprem/aggregator.py b/diagrams/onprem/aggregator.py new file mode 100644 index 00000000..01f3c77a --- /dev/null +++ b/diagrams/onprem/aggregator.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Aggregator(_OnPrem): + _type = "aggregator" + _icon_dir = "resources/onprem/aggregator" + + +class Fluentd(_Aggregator): + _icon = "fluentd.png" + + +class Vector(_Aggregator): + _icon = "vector.png" + + +# Aliases diff --git a/diagrams/onprem/logging.py b/diagrams/onprem/logging.py index 48babb65..f56b2339 100644 --- a/diagrams/onprem/logging.py +++ b/diagrams/onprem/logging.py @@ -12,10 +12,6 @@ class Fluentbit(_Logging): _icon = "fluentbit.png" -class Fluentd(_Logging): - _icon = "fluentd.png" - - class Graylog(_Logging): _icon = "graylog.png" diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index 46879804..ae91ea4f 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -121,5 +121,6 @@ class Zookeeper(_Network): ETCD = Etcd HAProxy = Haproxy OSM = OpenServiceMesh +OPNSense = Opnsense PFSense = Pfsense VyOS = Vyos diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index a519be55..014a8fd1 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -5,6 +5,11 @@ title: OnPrem Node classes list of onprem provider. +## onprem.aggregator + +- **diagrams.onprem.aggregator.Fluentd** +- **diagrams.onprem.aggregator.Vector** + ## onprem.analytics - **diagrams.onprem.analytics.Beam** @@ -107,7 +112,6 @@ Node classes list of onprem provider. ## onprem.logging - **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias) -- **diagrams.onprem.logging.Fluentd** - **diagrams.onprem.logging.Graylog** - **diagrams.onprem.logging.Loki** - **diagrams.onprem.logging.Rsyslog**, **RSyslog** (alias) diff --git a/resources/onprem/logging/fluentd.png b/resources/onprem/aggregator/fluentd.png similarity index 100% rename from resources/onprem/logging/fluentd.png rename to resources/onprem/aggregator/fluentd.png diff --git a/resources/onprem/aggregator/vector.png b/resources/onprem/aggregator/vector.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ea5a4454eefb49c7808d55dc93d7724e2cd64e GIT binary patch literal 7830 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 Date: Sat, 3 Oct 2020 22:37:17 +0900 Subject: [PATCH 26/32] chore: leave todo comment --- diagrams/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/diagrams/__init__.py b/diagrams/__init__.py index 51396431..a9e0f0c1 100644 --- a/diagrams/__init__.py +++ b/diagrams/__init__.py @@ -60,6 +60,8 @@ class Diagram: "height": "1.4", "labelloc": "b", # imagepos attribute is not backward compatible + # TODO: check graphviz version to see if "imagepos" is available >= 2.40 + # https://github.com/xflr6/graphviz/blob/master/graphviz/backend.py#L248 # "imagepos": "tc", "imagescale": "true", "fontname": "Sans-Serif", From 85d03e33ed8c84f5f669dc38c228abaa5616b317 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Sat, 3 Oct 2020 15:39:25 +0200 Subject: [PATCH 27/32] add(node): Buzfeed SSO and Oauth2 Proxy (#296) * Add: Buzfeed SSO and Oauth2 Proxy Signed-off-by: Nicolas Lamirault * Update: move buzzfeed-sso and oauth2-proxy into onprem.auth Signed-off-by: Nicolas Lamirault --- diagrams/onprem/auth.py | 19 +++++++++++++++++++ docs/nodes/onprem.md | 5 +++++ resources/onprem/auth/buzzfeed-sso.png | Bin 0 -> 18611 bytes resources/onprem/auth/oauth2-proxy.png | Bin 0 -> 12655 bytes 4 files changed, 24 insertions(+) create mode 100644 diagrams/onprem/auth.py create mode 100644 resources/onprem/auth/buzzfeed-sso.png create mode 100644 resources/onprem/auth/oauth2-proxy.png diff --git a/diagrams/onprem/auth.py b/diagrams/onprem/auth.py new file mode 100644 index 00000000..1ece9e76 --- /dev/null +++ b/diagrams/onprem/auth.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Auth(_OnPrem): + _type = "auth" + _icon_dir = "resources/onprem/auth" + + +class BuzzfeedSso(_Auth): + _icon = "buzzfeed-sso.png" + + +class Oauth2Proxy(_Auth): + _icon = "oauth2-proxy.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 014a8fd1..96893418 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -25,6 +25,11 @@ Node classes list of onprem provider. - **diagrams.onprem.analytics.Storm** - **diagrams.onprem.analytics.Tableau** +## onprem.auth + +- **diagrams.onprem.auth.BuzzfeedSso** +- **diagrams.onprem.auth.Oauth2Proxy** + ## onprem.cd - **diagrams.onprem.cd.Spinnaker** diff --git a/resources/onprem/auth/buzzfeed-sso.png b/resources/onprem/auth/buzzfeed-sso.png new file mode 100644 index 0000000000000000000000000000000000000000..e135d398eb66c1c3bd2015502c07b438dc48e8b3 GIT binary patch literal 18611 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


WsQx+y5yN|U!SdR{xRy8kmNj(#YqfW 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 Date: Mon, 5 Oct 2020 16:00:12 +0200 Subject: [PATCH 28/32] Add: Dex, federated OpenID Connect provider (#298) Signed-off-by: Nicolas Lamirault --- diagrams/onprem/identity.py | 15 +++++++++++++++ docs/nodes/onprem.md | 4 ++++ resources/onprem/identity/dex.png | Bin 0 -> 11028 bytes 3 files changed, 19 insertions(+) create mode 100644 diagrams/onprem/identity.py create mode 100644 resources/onprem/identity/dex.png diff --git a/diagrams/onprem/identity.py b/diagrams/onprem/identity.py new file mode 100644 index 00000000..f19ef413 --- /dev/null +++ b/diagrams/onprem/identity.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _OnPrem + + +class _Identity(_OnPrem): + _type = "identity" + _icon_dir = "resources/onprem/identity" + + +class Dex(_Identity): + _icon = "dex.png" + + +# Aliases diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 96893418..f016a4bb 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -107,6 +107,10 @@ Node classes list of onprem provider. - **diagrams.onprem.iac.Awx** - **diagrams.onprem.iac.Terraform** +## onprem.identity + +- **diagrams.onprem.identity.Dex** + ## onprem.inmemory - **diagrams.onprem.inmemory.Aerospike** diff --git a/resources/onprem/identity/dex.png b/resources/onprem/identity/dex.png new file mode 100644 index 0000000000000000000000000000000000000000..6b4675916b84d538f5eb9ba02466fb858e5e0f7a GIT binary patch literal 11028 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 Date: Mon, 5 Oct 2020 19:30:44 +0530 Subject: [PATCH 29/32] Fix typos (#310) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d690be8..5d42295c 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md). [GitPitch](https://gitpitch.com/) is a markdown presentation service for developers. Diagrams is now integrated as [Cloud Diagram Widget](https://gitpitch.com/docs/diagram-features/cloud-diagrams/) of GitPitch, so you can use the Diagrams when to create slide decks for Tech Conferences, Meetups, and Training with GitPitch. -[Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw the your existing cloud infratructure with Cloudicovery. +[Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw the your existing cloud infrastructure with Cloudicovery. [Airflow Diagrams](https://github.com/feluelle/airflow-diagrams) is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams. From 36e22866185f839131aff387cd31440fdf2dfcb7 Mon Sep 17 00:00:00 2001 From: David Russell Date: Mon, 5 Oct 2020 15:06:58 +0100 Subject: [PATCH 30/32] docs(readme): New GitPitch 4.0 Diagrams-as-Code Widget doc link. (#328) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5d42295c..1ae0f5b9 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md). [![GitPitch](https://gitpitch.com/gpimg/logo.png)](https://gitpitch.com/) -[GitPitch](https://gitpitch.com/) is a markdown presentation service for developers. Diagrams is now integrated as [Cloud Diagram Widget](https://gitpitch.com/docs/diagram-features/cloud-diagrams/) of GitPitch, so you can use the Diagrams when to create slide decks for Tech Conferences, Meetups, and Training with GitPitch. +[GitPitch](https://gitpitch.com/) is the perfect slide deck solution for Tech Conferences, Training, Developer Advocates, and Educators. Diagrams is now available as a dedicated [Cloud Diagram Markdown Widget](https://docs.gitpitch.com/#/diagrams/cloud-architecture) so you can use Diagrams directly on any slide for conferences, meetups, and training. [Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw the your existing cloud infrastructure with Cloudicovery. From 3a6a18d17c095292b5ba6ca6b605b6595fd1e547 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Wed, 7 Oct 2020 18:07:25 +0200 Subject: [PATCH 31/32] add(node): Litmus Chaos and Chaos Mess for chaos engineering (#297) * Add: Litmus Chaos and Chaos Mess for chaos engineering Signed-off-by: Nicolas Lamirault * Update: move into new resources cloudnative.chaos Signed-off-by: Nicolas Lamirault * Fix: remove Chaos from onprem Signed-off-by: Nicolas Lamirault * Update: move Chaos into k8s Signed-off-by: Nicolas Lamirault * Update: clean Signed-off-by: Nicolas Lamirault * Update: clean resources Signed-off-by: Nicolas Lamirault --- diagrams/k8s/chaos.py | 19 +++++++++++++++++++ docs/nodes/k8s.md | 5 +++++ resources/k8s/chaos/chaos-mesh.png | Bin 0 -> 65069 bytes resources/k8s/chaos/litmus-chaos.png | Bin 0 -> 2971 bytes 4 files changed, 24 insertions(+) create mode 100644 diagrams/k8s/chaos.py create mode 100644 resources/k8s/chaos/chaos-mesh.png create mode 100644 resources/k8s/chaos/litmus-chaos.png diff --git a/diagrams/k8s/chaos.py b/diagrams/k8s/chaos.py new file mode 100644 index 00000000..9f596772 --- /dev/null +++ b/diagrams/k8s/chaos.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _K8S + + +class _Chaos(_K8S): + _type = "chaos" + _icon_dir = "resources/k8s/chaos" + + +class ChaosMesh(_Chaos): + _icon = "chaos-mesh.png" + + +class LitmusChaos(_Chaos): + _icon = "litmus-chaos.png" + + +# Aliases diff --git a/docs/nodes/k8s.md b/docs/nodes/k8s.md index d9c7e1c9..6fe66cbd 100644 --- a/docs/nodes/k8s.md +++ b/docs/nodes/k8s.md @@ -5,6 +5,11 @@ title: K8S Node classes list of k8s provider. +## k8s.chaos + +- **diagrams.k8s.chaos.ChaosMesh** +- **diagrams.k8s.chaos.LitmusChaos** + ## k8s.clusterconfig - **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias) diff --git a/resources/k8s/chaos/chaos-mesh.png b/resources/k8s/chaos/chaos-mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d373ae5cefeffcc7841b407ee8c1ed23d5295f GIT binary patch literal 65069 zcmV*0KzYB3P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 Date: Fri, 9 Oct 2020 12:49:11 +0800 Subject: [PATCH 32/32] fix: onprem storage incorrect config (#345) fix: https://github.com/mingrammer/diagrams/issues/344 --- config.py | 6 ++---- diagrams/onprem/storage.py | 9 ++++++++- docs/nodes/onprem.md | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/config.py b/config.py index 7b50ad6e..12fec10c 100644 --- a/config.py +++ b/config.py @@ -140,10 +140,8 @@ ALIASES = { "Zeromq": "ZeroMQ", }, "storage": { - "ceph": { - "CEPH": "ceph", - "Ceph-OSD": "CEPH-OSD" - } + "Ceph": "CEPH", + "CephOsd": "CEPH_OSD", }, "workflow": { "Kubeflow": "KubeFlow", diff --git a/diagrams/onprem/storage.py b/diagrams/onprem/storage.py index 49d9556f..37e0a370 100644 --- a/diagrams/onprem/storage.py +++ b/diagrams/onprem/storage.py @@ -2,6 +2,7 @@ from . import _OnPrem + class _Storage(_OnPrem): _type = "storage" _icon_dir = "resources/onprem/storage" @@ -9,11 +10,17 @@ class _Storage(_OnPrem): class CephOsd(_Storage): _icon = "ceph-osd.png" + + class Ceph(_Storage): _icon = "ceph.png" + + class Glusterfs(_Storage): _icon = "glusterfs.png" + # Aliases -{'CEPH': 'ceph', 'Ceph-OSD': 'CEPH-OSD'} = ceph \ No newline at end of file +CEPH = Ceph +CEPH_OSD = CephOsd diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index f016a4bb..7f90f7b2 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -161,7 +161,7 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Nginx** - **diagrams.onprem.network.Ocelot** - **diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias) -- **diagrams.onprem.network.Opnsense**, **OPNsense** (alias) +- **diagrams.onprem.network.Opnsense**, **OPNSense** (alias) - **diagrams.onprem.network.Pfsense**, **PFSense** (alias) - **diagrams.onprem.network.Pomerium** - **diagrams.onprem.network.Powerdns** @@ -194,8 +194,8 @@ Node classes list of onprem provider. ## onprem.storage -- **diagrams.onprem.storage.CephOsd** -- **diagrams.onprem.storage.Ceph** +- **diagrams.onprem.storage.CephOsd**, **CEPH_OSD** (alias) +- **diagrams.onprem.storage.Ceph**, **CEPH** (alias) - **diagrams.onprem.storage.Glusterfs** ## onprem.vcs