From f0f4947a2b4615265b1e90fc0195e2ca18a24b2a Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Tue, 17 Sep 2024 09:01:40 +0200 Subject: [PATCH 01/66] chore(docs): update Payment Gateway Manager documentation --- docs/runtime_suite/payment-gateway-manager/changelog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/runtime_suite/payment-gateway-manager/changelog.md b/docs/runtime_suite/payment-gateway-manager/changelog.md index 0a2e6d88b9..4369070dbd 100644 --- a/docs/runtime_suite/payment-gateway-manager/changelog.md +++ b/docs/runtime_suite/payment-gateway-manager/changelog.md @@ -15,6 +15,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## 3.6.2 - 16/09/2024 + +### Fixed + +- FlowPay getPaymentStatus returns the correct payment method + ## 3.6.1 - 06/06/2024 ### Updated From c358a140688fddd25b0a633132e67e2943f69849 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 18 Sep 2024 09:01:37 +0200 Subject: [PATCH 02/66] chore(docs): update Payment Gateway Manager documentation From 61d99d6cc14a08d80864c2630cae4c55074c3d42 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Thu, 19 Sep 2024 09:01:39 +0200 Subject: [PATCH 03/66] chore(docs): update Payment Gateway Manager documentation From 1e61b51d2f10270d59f0cac6dc0c9abd8cb27450 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 20 Sep 2024 09:01:47 +0200 Subject: [PATCH 04/66] chore(docs): update Payment Gateway Manager documentation From 45cdc9f5d017e8ac4a30d46b9a91189e418422d0 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 23 Sep 2024 09:01:35 +0200 Subject: [PATCH 05/66] chore(docs): update Payment Gateway Manager documentation From edd15de8c62773d59cf24f2e0a495c0ab8be6d57 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Tue, 24 Sep 2024 09:01:34 +0200 Subject: [PATCH 06/66] chore(docs): update Payment Gateway Manager documentation From 211d2cc62783c0c4f74693787935413da2d90ac6 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 25 Sep 2024 09:01:44 +0200 Subject: [PATCH 07/66] chore(docs): update Payment Gateway Manager documentation From b7a8ce5a4e325aa912dd79aec928528ce8930fc0 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Thu, 26 Sep 2024 09:01:38 +0200 Subject: [PATCH 08/66] chore(docs): update Payment Gateway Manager documentation From fc3fa33de65d18b7702ce621d58a59f5c145ea39 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 27 Sep 2024 09:01:37 +0200 Subject: [PATCH 09/66] chore(docs): update Payment Gateway Manager documentation From 1878a02ffd739f7748e4ca3ce023027c44c923d5 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 27 Sep 2024 17:11:41 +0200 Subject: [PATCH 10/66] chore(docs): update Payment Gateway Manager documentation From ccd847de9267a0db9cce5af394333bb5dbd64d5a Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 27 Sep 2024 17:27:03 +0200 Subject: [PATCH 11/66] chore(docs): update Payment Gateway Manager documentation From e9f78e360f50a646724c25b7491ce0b204690634 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 27 Sep 2024 17:36:29 +0200 Subject: [PATCH 12/66] chore(docs): update Payment Gateway Manager documentation From 9ac939195fa9df09326b10458d5d1354142c616d Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 27 Sep 2024 18:12:22 +0200 Subject: [PATCH 13/66] chore(docs): update Payment Gateway Manager documentation From 4785f66afeaa809827a298d7e606ef19e6472c71 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 30 Sep 2024 09:01:43 +0200 Subject: [PATCH 14/66] chore(docs): update Payment Gateway Manager documentation From fe50e8d9b96eb3ce7fcc6cd65c67bfa7d92d046b Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 30 Sep 2024 12:15:05 +0200 Subject: [PATCH 15/66] chore(docs): update Payment Gateway Manager documentation From c141f5063556153f5109ffcf6a95d263faeba08b Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 30 Sep 2024 12:29:47 +0200 Subject: [PATCH 16/66] chore(docs): update Payment Gateway Manager documentation From 16af5b8968405917d18faf60ab0d5f633b0a425b Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Tue, 1 Oct 2024 09:01:38 +0200 Subject: [PATCH 17/66] chore(docs): update Payment Gateway Manager documentation From 6d3d3360d4ae5eb528d215388ed18e69f69e9f5f Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 2 Oct 2024 09:01:34 +0200 Subject: [PATCH 18/66] chore(docs): update Payment Gateway Manager documentation From 571d5c516ace73a011792d845db9df91eee83989 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Thu, 3 Oct 2024 09:01:33 +0200 Subject: [PATCH 19/66] chore(docs): update Payment Gateway Manager documentation From f1417747f389b01cd1fb57ab35e6ae3b4bf38aba Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 4 Oct 2024 09:01:36 +0200 Subject: [PATCH 20/66] chore(docs): update Payment Gateway Manager documentation From b122097296318430a6ba653b16b1e96ccc66434f Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 7 Oct 2024 09:01:33 +0200 Subject: [PATCH 21/66] chore(docs): update Payment Gateway Manager documentation From ddc507209ea310b02be4eed4ac989cc67c01eb42 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Tue, 8 Oct 2024 09:01:35 +0200 Subject: [PATCH 22/66] chore(docs): update Payment Gateway Manager documentation From 7fe94b88fa37f3d5185512ad8fd3b9bc7a20fff7 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 9 Oct 2024 09:01:38 +0200 Subject: [PATCH 23/66] chore(docs): update Payment Gateway Manager documentation From 7c978d8dfb7e3afa10c32b129ca7c786b6fd1fcf Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 9 Oct 2024 10:28:48 +0200 Subject: [PATCH 24/66] chore(docs): update Payment Gateway Manager documentation From 9358c0f50fadb785e1852e8c9763792fcdcaa0b6 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Thu, 10 Oct 2024 09:01:37 +0200 Subject: [PATCH 25/66] chore(docs): update Payment Gateway Manager documentation From 382346fd6116e891986a61f89e9565cfc15080c2 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 11 Oct 2024 09:01:39 +0200 Subject: [PATCH 26/66] chore(docs): update Payment Gateway Manager documentation From e29bc57618c5d373e964599a76bf4f22db9b84ce Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 14 Oct 2024 09:01:36 +0200 Subject: [PATCH 27/66] chore(docs): update Payment Gateway Manager documentation From aeb86d27a99856dbff10e08ea3a10a6d8d23661c Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Tue, 15 Oct 2024 09:01:41 +0200 Subject: [PATCH 28/66] chore(docs): update Payment Gateway Manager documentation From d34a1d384bd2517aaad316afb167afc0cdff3a2d Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 16 Oct 2024 09:01:37 +0200 Subject: [PATCH 29/66] chore(docs): update Payment Gateway Manager documentation From ffc643137b99a033ad593337fbe5831f9bfb5249 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 16 Oct 2024 16:36:36 +0200 Subject: [PATCH 30/66] chore(docs): update Care Kit documentation (#1676) * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation * chore(docs): update Care Kit documentation --- docs/runtime_suite/care-kit/changelog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/runtime_suite/care-kit/changelog.md b/docs/runtime_suite/care-kit/changelog.md index 3184fac9f5..1fc6ae6247 100644 --- a/docs/runtime_suite/care-kit/changelog.md +++ b/docs/runtime_suite/care-kit/changelog.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [v2.8.5] +- Fix calendar event box width - Fix style dashboard - Added timeline settings component - Added timeline component From f4251d89c0a434d5b729ffe8517b4f6da70cbce4 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 16 Oct 2024 16:36:51 +0200 Subject: [PATCH 31/66] chore(docs): update Form Service Backend documentation (#1684) * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation * chore(docs): update Form Service Backend documentation --- .../form-service-backend/20_configuration.md | 15 +++++++++++++++ .../form-service-backend/changelog.md | 9 +++++++++ 2 files changed, 24 insertions(+) diff --git a/docs/runtime_suite/form-service-backend/20_configuration.md b/docs/runtime_suite/form-service-backend/20_configuration.md index 8862a7203a..5422250917 100644 --- a/docs/runtime_suite/form-service-backend/20_configuration.md +++ b/docs/runtime_suite/form-service-backend/20_configuration.md @@ -119,6 +119,7 @@ The properties of the CRUD are: - **formAvailabilityDate** (optional), of type *string*, which is the date when the form will be available. - **formExpirationDate** (optional), of type *string*, which is the expiration date of the form. - **formExpirationMessage** (optional), of type *string*, which is the expiration message of the form. +- **formExpirationTitle** (optional), of type *string*, which is the expiration title of the form. :::note @@ -262,6 +263,8 @@ Here you can find an example of a *formVisualizerOptions* object: { "autosaveIntervalValueMs": 5000, "messageToBeShownOnExpiredForm": "This form is expired!", + "titleToBeShownOnExpiredForm": "Expired Form", + "v2.0.2": "Error", "exportFields": [ "_id", "__STATE__", @@ -304,6 +307,18 @@ There is a default value for `messageToBeShownOnExpiredForm` which is `This form ::: +:::note + +There is a default value for `titleToBeShownOnExpiredForm` which is `Error`. + +::: + +:::info + +**v2.0.6**. Custom title setting setting is available only since version 2.0.6 + +::: + #### Export fields (`exportFields`) :::info diff --git a/docs/runtime_suite/form-service-backend/changelog.md b/docs/runtime_suite/form-service-backend/changelog.md index a42a822387..d193132887 100644 --- a/docs/runtime_suite/form-service-backend/changelog.md +++ b/docs/runtime_suite/form-service-backend/changelog.md @@ -15,6 +15,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.1.0] 2024-10-14 + +- Update Node.js to v20 (LTS) +- Update `custom-plugin-lib` to v6 + +### Added + +- Added `formExpirationTitle` + ## [2.0.2] 2024-03-04 ### Changed From f20984e8b100912f991d1abe60d516617033bd5a Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 16 Oct 2024 16:37:07 +0200 Subject: [PATCH 32/66] chore(docs): update Teleconsultation Service Backend documentation (#1691) * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation --- .../10_overview.md | 57 +++++++++++-------- .../20_configuration.md | 17 ++++-- .../30_usage.md | 4 +- .../40_migration.md | 29 ++++++++++ .../changelog.md | 23 ++++++++ 5 files changed, 98 insertions(+), 32 deletions(-) create mode 100644 docs/runtime_suite/teleconsultation-service-backend/40_migration.md diff --git a/docs/runtime_suite/teleconsultation-service-backend/10_overview.md b/docs/runtime_suite/teleconsultation-service-backend/10_overview.md index cc3f556cc3..4ca3133c56 100644 --- a/docs/runtime_suite/teleconsultation-service-backend/10_overview.md +++ b/docs/runtime_suite/teleconsultation-service-backend/10_overview.md @@ -10,27 +10,34 @@ DO NOT MODIFY IT BY HAND. Instead, modify the source file and run the aggregator to regenerate this file. --> -The Teleconsultation Service Backend is a Mia-Platform plugin that acts as a BFF (Backend For Frontend) for the [Teleconsultation Service Frontend][teleconsultation-service-fe]. The **Teleconsultation Service Frontend** handles and visualizes the teleconsultation UI and all its relative tools for the call using iframe. +The Teleconsultation Service Backend is a Mia-Platform plugin that acts as a BFF (Backend For Frontend) for the [Teleconsultation Service Frontend][teleconsultation-service-fe], that manages the teleconsultation UI and all the features and tools available during a call using an iframe. -The teleconsultation service uses the [SaaS Kaleyra Service][bandyer] which allows you to create a video call between two or more people, providing also different tools (like chat, whiteboard, screen sharing, file upload ecc.). It provides also supports image background management and language management (only `it` and `en` are supported at the moment). +The teleconsultation service uses the [SaaS Kaleyra Service][kaleyra] which allows you to create a video call between two or more people, providing also different tools (like chat, whiteboard, screen sharing, file upload ecc.). It provides also supports image background management and language management (only `it` and `en` are supported at the moment). -The **Teleconsultation Service Backend** allows you to handle all the necessary operations (create, update, delete), on the teleconsultations. The Back End uses the [RESTful APIs][bandyer-rest-api] provided by Kaleyra. +The **Teleconsultation Service Backend** allows you to handle all the necessary operations (create, update, delete), on the teleconsultations. The Back End uses the [RESTful APIs][kaleyra-rest-api] provided by Kaleyra. :::caution In order to use this service, you need first to contact Kaleyra to create a Company, for your product and get the BANDYER_API_SECRET_KEY (for the Teleconsultation Service Backend). ::: -## Concepts you should be familiar with +:::warn +During the teleconsultation, data is processed by Kaleyra, so please be mindful not to share sensitive or personal information. For more details on data processing, refer to Kaleyra's [Terms of Service](https://www.kaleyra.com/terms-and-conditions/) and [Privacy Policy](https://www.kaleyra.com/privacy-policy-kaleyra/). +::: + +## Overview + Before continue reading the documentation, it's important to understand some basic concepts about Kaleyra. #### Company + A **Company** is an account created by Kaleyra. -In order to use Kaleyra's services, Kaleyra has to provide you the BANDYER_API_SECRET_KEY (to communicate with their RESTful APIs). + +In order to use Kaleyra's services, Kaleyra has to provide you the `BANDYER_API_SECRET_KEY` to communicate with their RESTful APIs. :::note A company has several customizable parameters, like theme, languages, virtual background, etc. -For additional information about company customization, please check [the REST API][bandyer-rest-api]. +For additional information about company customization, please check [the REST API][kaleyra-rest-api]. ::: :::warning @@ -38,7 +45,9 @@ At the moment, only the italian and the english language are fully supported by ::: #### User + To access their services, a user must be registered on Kaleyra. + There are two types of users: - **Plus User** - the one who can organize and participate to a call - **Basic User** - the one who participates to a call @@ -47,32 +56,34 @@ There are two types of users: In order to start a call, a **plus user** at least is required as participant in the call. ::: -For additional information about users, check [the REST API][bandyer-rest-api]. +For additional information about users, check [the REST API][kaleyra-rest-api]. #### Room + The virtual place where a call is hosted, is called a Room. + There's the possibility to specify a max duration for a Room in seconds (max time allowed 24h). -For additional information about rooms, check [this link][bandyer-rest-api]. +For additional information about rooms, check [this link][kaleyra-rest-api]. ## Teleconsultation Service Backend APIs The **Teleconsultation Service Backend** service exposes the APIs listed in the following table. -| Endpoint | Minimum version required | Description | -|----------------------------------------------------------------|--------------------------|-------------------------------------------------------------------------------------------| -| `POST /teleconsultation` | 1.0.0 | Create a new teleconsultation. | -| `PATCH /teleconsultation/:teleconsultationId` | 1.0.0 | Complete or partial update a teleconsultation (_participants_, *start_date*, *end_date*). | -| `POST /teleconsultation/:teleconsultationId/participants/data` | 1.2.0 | Add a new participant to the teleconsultation. | -| `DELETE /teleconsultation/:teleconsultationId` | 1.0.0 | Delete a teleconsultation. | -| `GET /teleconsultation/:teleconsultationId` | 1.0.0 | Return all data required to instantiate a teleconsultation UI and start the call. | -| `DELETE /teleconsultation/:teleconsultationId/uploads` | 1.5.0 | Delete all files uploaded by the participants during a teleconsultation. | -| `POST /credentials` | 1.4.0 | Return a valid accessToken for clients using SDK authentication. | -| `POST /settings/background-image` | 1.6.0 -| `PATCH /settings/update` | 1.6.0 - - -[bandyer]: https://www.bandyer.com/ -[bandyer-rest-api]: https://docs.bandyer.com/Bandyer-RESTAPI/ +| Endpoint | Minimum version required | Deprecation version | Description | +|--------------------------------------------------------------------|--------------------------|---------------------|-------------------------------------------------------------------------------------------| +| `POST /teleconsultation` | 1.0.0 | | Create a new teleconsultation. | +| `PATCH /teleconsultation/:teleconsultationId` | 1.0.0 | | Complete or partial update a teleconsultation (_participants_, *start_date*, *end_date*). | +| ~~`POST /teleconsultation/:teleconsultationId/participants/data`~~ | 1.2.0 | 2.0.0 | Add a new participant to the teleconsultation. | +| `DELETE /teleconsultation/:teleconsultationId` | 1.0.0 | | Delete a teleconsultation. | +| `GET /teleconsultation/:teleconsultationId` | 1.0.0 | | Return all data required to instantiate a teleconsultation UI and start the call. | +| `DELETE /teleconsultation/:teleconsultationId/uploads` | 1.5.0 | | Delete all files uploaded by the participants during a teleconsultation. | +| `POST /credentials` | 1.4.0 | | Return a valid accessToken for clients using SDK authentication. | +| `POST /settings/background-image` | 1.6.0 | | | +| `PATCH /settings/update` | 1.6.0 | | | + + +[kaleyra]: https://www.kaleyra.com/ +[kaleyra-rest-api]: https://developers.kaleyra.com/support/home [teleconsultation-service-fe]: /runtime_suite/teleconsultation-service-frontend/10_overview.md diff --git a/docs/runtime_suite/teleconsultation-service-backend/20_configuration.md b/docs/runtime_suite/teleconsultation-service-backend/20_configuration.md index b725dd3b38..b1c80063d2 100644 --- a/docs/runtime_suite/teleconsultation-service-backend/20_configuration.md +++ b/docs/runtime_suite/teleconsultation-service-backend/20_configuration.md @@ -10,8 +10,7 @@ DO NOT MODIFY IT BY HAND. Instead, modify the source file and run the aggregator to regenerate this file. --> -In order to configure the **Teleconsultation Service**, you need to deploy two services: the **Teleconsultation Service Backend** and the **Teleconsultation Service Frontend**. -Both are available in the Marketplace. +In order to configure the **Teleconsultation Service**, you need to deploy two services: the **Teleconsultation Service Backend** and the **Teleconsultation Service Frontend**, both available in the Marketplace. ## Teleconsultation Service Backend Configuration @@ -78,7 +77,7 @@ The default configuration is the following: }, "theme": { "light": { - "primaryColor": "#fff", + "primaryColor": "#ffffff", "accentColor": "#480ca8", }, "dark": { @@ -128,7 +127,7 @@ The Teleconsultation Service Backend accepts the environment variables described | Name | Required | Default | Minimum version | Description | |------------------------------------------|----------|---------|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **BANDYER_API_SECRET_KEY** | Yes | - | 1.0.0 | API Secret Key to use in order to communicate with Kaleyra's APIs. | -| **BANDYER_BASE_URL** | Yes | - | 1.0.0 | Name of the Kaleyra API endpoint. | +| **BANDYER_BASE_URL** | Yes | - | 1.0.0 | Base url of the Kaleyra API. From the service version **2.0.0** it must be updated to the Bandyer API v2 base url. | | **TELECONSULTATION_SERVICE_CONFIG_PATH** | No | - | 1.0.0 | Full path of the updated file defined in the [previous section][environment-variables]. | | **TELECONSULTATIONS_CRUD_NAME** | No | - | 1.0.0 | Name of the endpoint of the CRUD with all the teleconsultations. | | **USER_ID_MAP_CRUD_NAME** | No | - | 1.0.0 | Name of the endpoint of the CRUD with all the user_ids (e.g. receivedUserId, bandyerId), for each user. | @@ -140,6 +139,12 @@ The Teleconsultation Service Backend accepts the environment variables described | **IMMUTABLE_PERIOD_MS** | No | 0 | 1.2.1 | How much time (in milliseconds) before the scheduled start date you can join the teleconsultation room and you can no longer update the teleconsultation. | | **TELECONSULTATION_DELETE_UPLOADS** | No | `false` | 1.5.0 | If set to `true`, the files uploaded during a teleconsultation are deleted when the call ends. | +:::warning + +From the Teleconsultation Service version **v2.0.0** the **BANDYER_BASE_URL** must be configured with the Bandyer v2 API base url. + +::: + :::caution Since v1.5.0, you can set the `TELECONSULTATION_DELETE_UPLOADS` environment variable to `true` in order to automatically delete the files uploaded by the participants during the teleconsultation session. Remember that this operation is performed every time the call is interrupted, even if that happens for external causes, like network connectivity issues. Once the participants join the teleconsultation again, if the feature is enabled they will have to upload again all the files, unless they already downloaded a copy on their devices. @@ -148,7 +153,7 @@ Since v1.5.0, you can set the `TELECONSULTATION_DELETE_UPLOADS` environment vari :::tip -If the appointment starts at 11:00 and you want the doctor to be able to start the teleconsultation session earlier than the scheduled appointment date, you simply have to set the `IMMUTABLE_PERIOD_MS` environment variable accordingly. So, for example, to allow the session to start up to ten minutes before the scheduled date, you can simply set `IMMUTABLE_PERIOD_MS` to 600000 (ten minutes expressed in milliseconds). If the participants join the call after 10:50, the session starts automatically as soon as they are connected. +If the appointment starts at 11:00 and you want the doctor to be able to start the teleconsultation session earlier than the scheduled appointment date, you simply have to set the `IMMUTABLE_PERIOD_MS` environment variable accordingly. So, for example, to allow the session to start up to ten minutes before the scheduled date, you can simply set `IMMUTABLE_PERIOD_MS` to 600000 (ten minutes expressed in milliseconds). If the participants join the call after 10:50, the session starts automatically as soon as they are connected. Also remember that, in such scenario, after 10:50 the teleconsultation room would be no longer changeable, including the participants, so we recommend setting a value that leaves room for last minute changes, for example if the appointment need to be assigned to a different doctor. @@ -322,7 +327,7 @@ Example: ``` "theme": { "light": { - "primaryColor": "#fff", + "primaryColor": "#ffffff", "accentColor": "#480ca8" }, "dark": { diff --git a/docs/runtime_suite/teleconsultation-service-backend/30_usage.md b/docs/runtime_suite/teleconsultation-service-backend/30_usage.md index 1dd625a44f..705613e953 100644 --- a/docs/runtime_suite/teleconsultation-service-backend/30_usage.md +++ b/docs/runtime_suite/teleconsultation-service-backend/30_usage.md @@ -334,7 +334,7 @@ curl -X PATCH "https://my_project_url/teleconsultation" \ }' ``` -### POST /teleconsultation/:roomId/participants/data +### ~~POST /teleconsultation/:roomId/participants/data~~ (Deleted from version 2.0.0) Pushes a new teleconsultation participant in the `participants.data` array of the teleconsultation instance having id equal to roomId. **roomId** is the **_id** field returned by the CRUD of a specific teleconsultation. @@ -618,7 +618,6 @@ Uploads the image specified by virtual_background for the company. **Example POST Request:** ``` curl -X POST "https://my_project_url/settings/background-image" \ ---header 'apikey: your_api_key' \ --header 'content-type: multipart/form-data; boundary=multipart-boundary' \ --form virtual_background=your_path_to_file' ``` @@ -664,7 +663,6 @@ Updates the default background image for the company, specified by the body para **Example PATCH Request:** ``` curl -X PATCH "https://my_project_url/settings/update" \ ---header 'apikey: your_api_key' \ --data '{ "background_alias":"3e4d0683d78be3a884b7a60028644f57" }' diff --git a/docs/runtime_suite/teleconsultation-service-backend/40_migration.md b/docs/runtime_suite/teleconsultation-service-backend/40_migration.md new file mode 100644 index 0000000000..7d1ff85416 --- /dev/null +++ b/docs/runtime_suite/teleconsultation-service-backend/40_migration.md @@ -0,0 +1,29 @@ +--- +id: migration +title: Migration +sidebar_label: Migration +--- + + + +## Migration to v2.0.0 + +Update the [**BANDYER_BASE_URL**][environment-variables] environment variable with the new API base URL: + +- Sandbox environment: `https://api.sandbox.eu.bandyer.com` +- Production environment: `https://api.[region].bandyer.com` + +If you are using Kaleyra in Europe, the value of the `region` parameter should be `eu`. + +You can also find the base URL to use among the details of your API key and SID, just follow the instructions provided in the [official Kaleyra documentation][kaleyra-api-key]. + +For additional information about environments, please check [official Kaleyra documentation][kaleyra-environments]. + + +[kaleyra-api-key]: https://developers.kaleyra.io/docs/view-api-key-and-sid +[kaleyra-environments]: https://developers.kaleyra.io/reference/video-environments +[environment-variables]: ./20_configuration.md#environment-variables diff --git a/docs/runtime_suite/teleconsultation-service-backend/changelog.md b/docs/runtime_suite/teleconsultation-service-backend/changelog.md index 75d8c1e71b..4ba4d2b286 100644 --- a/docs/runtime_suite/teleconsultation-service-backend/changelog.md +++ b/docs/runtime_suite/teleconsultation-service-backend/changelog.md @@ -15,6 +15,29 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.0.0] 2024-10-10 + +### BREAKING CHANGES + +- If no company theme or logo is specified in the service configuration, no default is provided and no update is performed when service starts +- Deleted API `POST /teleconsultation/:roomId/participants/data` + +### Changed + +- Change the **BANDYER_BASE_URL** environment variable to use the Kaleyra API `v2.0.0` +- Use Kaleyra REST API v2 to create a room +- Use Kaleyra REST API v2 to generate credentials for a user +- Use Kaleyra REST API v2 to delete a room +- Use Kaleyra REST API v2 to get the room uploads +- Updated API `DELETE /teleconsultation/:roomId/uploads` with Kaleyra REST API v2 +- Use Kaleyra REST API v2 to update the company theme +- Remove default company theme and skip update at bootstrap if not specified +- Use Kaleyra REST API v2 to update the company logo +- Remove default company logo and skip update at bootstrap if not specified +- Updated API `POST /settings/background-image` for being compatible with Kaleyra REST API v2 +- Updated API `PATCH /settings/update` for being compatible with Kaleyra REST API v2 +- Updated API `GET /teleconsultation/:roomId` for being compatible with Kaleyra REST API v2 + ## [1.8.0] 2024-08-29 - Update Node.js to v20 (LTS) From ce96d8cc567b76f704334c70ec0529f9e1620361 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 16 Oct 2024 16:37:20 +0200 Subject: [PATCH 33/66] chore(docs): update Appointment Manager documentation (#1713) * chore(docs): update Appointment Manager documentation * chore(docs): update Appointment Manager documentation * chore(docs): update Appointment Manager documentation --- docs/runtime_suite/appointment-manager/changelog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/runtime_suite/appointment-manager/changelog.md b/docs/runtime_suite/appointment-manager/changelog.md index c366316d0f..73a1d50e26 100644 --- a/docs/runtime_suite/appointment-manager/changelog.md +++ b/docs/runtime_suite/appointment-manager/changelog.md @@ -15,6 +15,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.5.0] 2024-10-14 + +### Changed + +- Automatically truncate startDate and endDate of exceptions to the second + ## [2.4.0] 2024-08-29 - Update Node.js to v20 (LTS) From 50d69cba49c07f0858a5b935214fcb4194799375 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 16:47:20 +0200 Subject: [PATCH 34/66] chore(deps-dev): bump @babel/eslint-parser from 7.24.8 to 7.25.8 (#1715) Bumps [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.24.8 to 7.25.8. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.25.8/eslint/babel-eslint-parser) --- updated-dependencies: - dependency-name: "@babel/eslint-parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 8ee508eedb..a3192c89e4 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ ] }, "devDependencies": { - "@babel/eslint-parser": "^7.24.8", + "@babel/eslint-parser": "^7.25.8", "@swc/core": "^1.7.26", "eslint": "^8.57.0", "eslint-plugin-react": "7.37.1", diff --git a/yarn.lock b/yarn.lock index 1573930f35..61bfb68080 100644 --- a/yarn.lock +++ b/yarn.lock @@ -278,9 +278,9 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/eslint-parser@npm:7.24.8" +"@babel/eslint-parser@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/eslint-parser@npm:7.25.8" dependencies: "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1" eslint-visitor-keys: "npm:^2.1.0" @@ -288,7 +288,7 @@ __metadata: peerDependencies: "@babel/core": ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - checksum: 10/fc6b35953f08a6b8ac0a09d7a17218c8e01d52c2e3776f49b8e72c6946a6a08c08eb96badf17414a1794da84630d377951989be67ca34bdb7ed0aed05e6a5f4b + checksum: 10/4e9e5881f57a4680ccdec1ee28586dda35480a4b16ca8953b94ea31152aa8a2a2c9311849001424b54d243467dab13b961ec8a0af0ac2c4cc3bba5887946f3ea languageName: node linkType: hard @@ -10227,7 +10227,7 @@ __metadata: version: 0.0.0-use.local resolution: "mia-platform-doc@workspace:." dependencies: - "@babel/eslint-parser": "npm:^7.24.8" + "@babel/eslint-parser": "npm:^7.25.8" "@docusaurus/core": "npm:2.4.3" "@docusaurus/plugin-client-redirects": "npm:2.4.3" "@docusaurus/preset-classic": "npm:2.4.3" From 4e73be994f276d9980c4b7fcdd9b32be57597343 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Thu, 17 Oct 2024 09:01:35 +0200 Subject: [PATCH 35/66] chore(docs): update Payment Gateway Manager documentation From 5357842dc7ba8bd3da76a02541e666f181a16fd3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 12:09:31 +0200 Subject: [PATCH 36/66] chore(deps-dev): bump @swc/core in the swc group across 1 directory (#1719) Bumps the swc group with 1 update in the / directory: [@swc/core](https://github.com/swc-project/swc). Updates `@swc/core` from 1.7.28 to 1.7.36 - [Release notes](https://github.com/swc-project/swc/releases) - [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md) - [Commits](https://github.com/swc-project/swc/compare/v1.7.28...v1.7.36) --- updated-dependencies: - dependency-name: "@swc/core" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: swc ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 100 +++++++++++++++++++++++++-------------------------- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/package.json b/package.json index a3192c89e4..18718273ed 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ }, "devDependencies": { "@babel/eslint-parser": "^7.25.8", - "@swc/core": "^1.7.26", + "@swc/core": "^1.7.36", "eslint": "^8.57.0", "eslint-plugin-react": "7.37.1", "front-matter": "^4.0.2", diff --git a/yarn.lock b/yarn.lock index 61bfb68080..43479bfc92 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3448,92 +3448,92 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-darwin-arm64@npm:1.7.28" +"@swc/core-darwin-arm64@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-darwin-arm64@npm:1.7.36" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-darwin-x64@npm:1.7.28" +"@swc/core-darwin-x64@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-darwin-x64@npm:1.7.36" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.28" +"@swc/core-linux-arm-gnueabihf@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.36" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.28" +"@swc/core-linux-arm64-gnu@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.36" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.28" +"@swc/core-linux-arm64-musl@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.36" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.28" +"@swc/core-linux-x64-gnu@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.36" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-linux-x64-musl@npm:1.7.28" +"@swc/core-linux-x64-musl@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-linux-x64-musl@npm:1.7.36" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.28" +"@swc/core-win32-arm64-msvc@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.36" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.28" +"@swc/core-win32-ia32-msvc@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.36" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.28": - version: 1.7.28 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.28" +"@swc/core-win32-x64-msvc@npm:1.7.36": + version: 1.7.36 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.36" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:^1.7.26": - version: 1.7.28 - resolution: "@swc/core@npm:1.7.28" +"@swc/core@npm:^1.7.36": + version: 1.7.36 + resolution: "@swc/core@npm:1.7.36" dependencies: - "@swc/core-darwin-arm64": "npm:1.7.28" - "@swc/core-darwin-x64": "npm:1.7.28" - "@swc/core-linux-arm-gnueabihf": "npm:1.7.28" - "@swc/core-linux-arm64-gnu": "npm:1.7.28" - "@swc/core-linux-arm64-musl": "npm:1.7.28" - "@swc/core-linux-x64-gnu": "npm:1.7.28" - "@swc/core-linux-x64-musl": "npm:1.7.28" - "@swc/core-win32-arm64-msvc": "npm:1.7.28" - "@swc/core-win32-ia32-msvc": "npm:1.7.28" - "@swc/core-win32-x64-msvc": "npm:1.7.28" + "@swc/core-darwin-arm64": "npm:1.7.36" + "@swc/core-darwin-x64": "npm:1.7.36" + "@swc/core-linux-arm-gnueabihf": "npm:1.7.36" + "@swc/core-linux-arm64-gnu": "npm:1.7.36" + "@swc/core-linux-arm64-musl": "npm:1.7.36" + "@swc/core-linux-x64-gnu": "npm:1.7.36" + "@swc/core-linux-x64-musl": "npm:1.7.36" + "@swc/core-win32-arm64-msvc": "npm:1.7.36" + "@swc/core-win32-ia32-msvc": "npm:1.7.36" + "@swc/core-win32-x64-msvc": "npm:1.7.36" "@swc/counter": "npm:^0.1.3" - "@swc/types": "npm:^0.1.12" + "@swc/types": "npm:^0.1.13" peerDependencies: "@swc/helpers": "*" dependenciesMeta: @@ -3560,7 +3560,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10/a477e79387ecc8b68c2bdbbdc88cc61f27a02c5d00f0d77134f9e2de166786a4ee9f7388d6ffd44fc01bfef5311a15cc3132052bab72fb43246dc42705fedb60 + checksum: 10/d78438192b8d956ba5d221915f81f3e31ac14d64188d2cd0f048f7c527c58fe7e04860c54f45c82b09db330e81b584b7bed17724e010495f7c4686555bdb3fa0 languageName: node linkType: hard @@ -3571,12 +3571,12 @@ __metadata: languageName: node linkType: hard -"@swc/types@npm:^0.1.12": - version: 0.1.12 - resolution: "@swc/types@npm:0.1.12" +"@swc/types@npm:^0.1.13": + version: 0.1.13 + resolution: "@swc/types@npm:0.1.13" dependencies: "@swc/counter": "npm:^0.1.3" - checksum: 10/92dbbc70cd068ea30fb6fbdc1ae8599d6c058a5d09b2923d6e4e24fab5ad7c86a19dd01f349a8e03e300a9321e06911a24df18303b40e307fbd4109372cef2ef + checksum: 10/d0a50432917048cc69e30c82d1266e052a8e8d05ab202c5d74a5666be3748da4d2f99aaff46d91c0e3d285cf8f55270f8391cd578066fdecc3865733f8d5e14a languageName: node linkType: hard @@ -10232,7 +10232,7 @@ __metadata: "@docusaurus/plugin-client-redirects": "npm:2.4.3" "@docusaurus/preset-classic": "npm:2.4.3" "@staticdeploy/cli": "npm:^0.15.5" - "@swc/core": "npm:^1.7.26" + "@swc/core": "npm:^1.7.36" clsx: "npm:^2.1.1" cspell: "npm:^8.8.4" docusaurus-json-schema-plugin: "npm:^1.12.2" From 04b84d40e38f98aca039b6827685d311ed5b8db9 Mon Sep 17 00:00:00 2001 From: Federico Maggi <7142570+fredmaggiowski@users.noreply.github.com> Date: Thu, 17 Oct 2024 17:02:10 +0200 Subject: [PATCH 37/66] release: v130.7 (#1723) --- docs/release-notes/v13.0.7.md | 20 ++++++++++++++++++++ docs/release-notes/versions.md | 1 + sidebars.json | 1 + 3 files changed, 22 insertions(+) create mode 100644 docs/release-notes/v13.0.7.md diff --git a/docs/release-notes/v13.0.7.md b/docs/release-notes/v13.0.7.md new file mode 100644 index 0000000000..150d59b3d3 --- /dev/null +++ b/docs/release-notes/v13.0.7.md @@ -0,0 +1,20 @@ +--- +id: v13.0.7 +title: Version 13.0.7 Release Notes +sidebar_label: v13.0.7 +image: "img/release-note-link-preview.png" +--- + +_October 17th, 2024_ + +## Console + +### Bug Fix + +This version addressed the following bugs: + +- tenant selection during project creation and default provider management for companies with manually-managed tenant identifier. + +## How to update your Console + +For self-hosted installations, please head to the [self hosted upgrade guide](/infrastructure/self-hosted/installation-chart/100_how-to-upgrade.md) or contact your Mia-Platform referent and upgrade to _Console Helm Chart_ `v13.6.2`. diff --git a/docs/release-notes/versions.md b/docs/release-notes/versions.md index da8cac42b8..4db4d6a841 100644 --- a/docs/release-notes/versions.md +++ b/docs/release-notes/versions.md @@ -11,6 +11,7 @@ slug: "/release-notes/versions" | v13.2.0 | [Read the release notes](/release-notes/v13.2.0.md) | | v13.1.1 | [Read the release notes](/release-notes/v13.1.1.md) | | v13.1.0 | [Read the release notes](/release-notes/v13.1.0.md) | +| v13.0.7 | [Read the release notes](/release-notes/v13.0.7.md) | | v13.0.6 | [Read the release notes](/release-notes/v13.0.6.md) | | v13.0.5 | [Read the release notes](/release-notes/v13.0.5.md) | | v13.0.4 | [Read the release notes](/release-notes/v13.0.4.md) | diff --git a/sidebars.json b/sidebars.json index 2c9e6c6c4c..8688b14caf 100644 --- a/sidebars.json +++ b/sidebars.json @@ -1893,6 +1893,7 @@ { "id": "release-notes/v13.2.0", "type": "doc" }, { "id": "release-notes/v13.1.1", "type": "doc" }, { "id": "release-notes/v13.1.0", "type": "doc" }, + { "id": "release-notes/v13.0.7", "type": "doc" }, { "id": "release-notes/v13.0.6", "type": "doc" }, { "id": "release-notes/v13.0.5", "type": "doc" }, { "id": "release-notes/v13.0.4", "type": "doc" }, From 8f45bc06fec55c373ec330b65d85f675af40afe3 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 18 Oct 2024 09:01:33 +0200 Subject: [PATCH 38/66] chore(docs): update Payment Gateway Manager documentation From 8a0eaeaba1ff388294d9a1b9b623386a49efcf9c Mon Sep 17 00:00:00 2001 From: Daniele Bissoli Date: Fri, 18 Oct 2024 15:58:52 +0200 Subject: [PATCH 39/66] docs(fast-data): describe SSL support in Projection Storer page (#1718) * docs(fast-data): update projection-storer page to include ssl support * docs(fast-data): update fast-data versioning page * docs(fast-data): rewrite the SSL configuration according to latest changes on the service --- .../configuration/projection_storer.md | 60 +++++++++++++++++-- docs/fast_data/faq/fast_data_versioning.md | 2 +- 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/docs/fast_data/configuration/projection_storer.md b/docs/fast_data/configuration/projection_storer.md index 1b02afbfe5..2ec004d5bb 100644 --- a/docs/fast_data/configuration/projection_storer.md +++ b/docs/fast_data/configuration/projection_storer.md @@ -526,6 +526,10 @@ The following Kafka Consumer properties cannot be customized by the user, since - `value.deserializer` ::: +:::tip +All the fields under configuration property support [secret resolution](/fast_data/configuration/secrets_resolution.md). +::: + ### Producer | Property | Type | Required | Default | @@ -565,6 +569,10 @@ The following Kafka Producer properties cannot be customized by the user, since - `value.deserializer` ::: +:::tip +All the fields under configuration property support [secret resolution](/fast_data/configuration/secrets_resolution.md). +::: + ### Storage | Property | Type | Required | Default | @@ -577,10 +585,11 @@ which are its configuration properties. Currently only MongoDB is supported as s #### MongoDB Configuration -When MongoDB is selected as a storage system for the Projection Storer service, it requires the [_connections string_](https://www.mongodb.com/docs/manual/reference/connection-string/) -and the _name_ of the database the service will connect to. The database name is not necessary in case it is already -specified in the connection string, although it is recommended to set it in case the connection string is shared -with other services. +When MongoDB is selected as a storage system for the Projection Storer service, the configuration property is composed as follows: + +- `url` → the [_connections string_](https://www.mongodb.com/docs/manual/reference/connection-string/) to the MongoDB cluster, which is required for the service to start up, +- `database` → the name of the database the service will connect to. Although this field is optional, since it is extracted from the connection string if available, it is recommended to set it up, especially in cases where the connection string to the MongoDB cluster is shared among different components. +- `ssl.enabled` → a string flag (either `"false"` or `"true"`) that declare whether the service should connect to the MongoDB cluster using [TLS/SSL](https://www.mongodb.com/docs/manual/tutorial/configure-ssl-clients/). By default, SSL connection is disabled. This is an example of storage configuration when `mongodb` is selected as type: @@ -593,6 +602,47 @@ This is an example of storage configuration when `mongodb` is selected as type: } } ``` +:::tip +All the fields under configuration property support [secret resolution](/fast_data/configuration/secrets_resolution.md). +::: + +##### SSL Connection + +Sometimes it is required that the service connects to the storage using TLS/SSL connection. This can be achieved by setting field `ssl.enabled` to the string `"true"` +under the storage configuration properties. + +In addition to enabling SSL, it might also be necessary to extend which certificates are available to the system +and define client key and certificate that the service needs to adopt for connecting to the data source. +This can be obtained by configuring the JVM Trust Store and the corresponding JVM Key Store. + +:::info +One utility command that can be employed to create JVM key store is [`keytool`](https://docs.oracle.com/en/java/javase/21/docs/specs/man/keytool.html). +::: + +In particular, these stores can be added to the service specifying the following fields in the configuration: + +- `ssl.enabled` → whether the connection to the database should use TLS/SSL. It is disabled by default +- `ssl.trustStore.location` → filepath where the trust store in JKS format is located +- `ssl.trustStore.password` → password string for accessing the trust store +- `ssl.keyStore.location` → filepath where the key store in JKS format is located +- `ssl.keyStore.password` → password string for accessing the key store + +Here can be seen an example of configuration that enables SSL and includes a custom Trust Store and Key Store: + +```json +"storage": { + "type": "mongodb", + "configuration": { + "url": "mongodb://localhost:27017/fast-data-inventory-local", + "database": "fast-data-inventory-local" + "ssl.enabled": "true", + "ssl.trustStore.location": "/path/to/truststore.jks", + "ssl.trustStore.password": "", + "ssl.keyStore.location": "/path/to/keystore.jks", + "ssl.keyStore.password": "" + } +} +``` ### Projections Config @@ -1236,7 +1286,7 @@ mentioned above were downloaded and execute the following command: rtu-to-ps project -cc \ -fdc \ -s - -r \ + -r ``` :::info diff --git a/docs/fast_data/faq/fast_data_versioning.md b/docs/fast_data/faq/fast_data_versioning.md index e501af14c0..8219fc2aa9 100644 --- a/docs/fast_data/faq/fast_data_versioning.md +++ b/docs/fast_data/faq/fast_data_versioning.md @@ -66,7 +66,7 @@ the final aggregated Single View. | Projection Storer | Single View Trigger Generator | Single View Creator | |:-----------------:|:-----------------------------:|:-------------------:| -| 1.3.0 | 3.3.2 | 6.7.1 | +| 1.3.2 | 3.3.2 | 6.7.1 | ### Runtime Management Support From 3286923d1c3fcb4e81bd9adb2fc2be4ac6f618c1 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 18 Oct 2024 16:30:02 +0200 Subject: [PATCH 40/66] chore(docs): update Back Kit documentation --- .../back-kit/40_core_concepts.md | 20 +++++++++++++++++++ .../back-kit/changelog.md | 10 ++++++++++ 2 files changed, 30 insertions(+) diff --git a/docs/microfrontend-composer/back-kit/40_core_concepts.md b/docs/microfrontend-composer/back-kit/40_core_concepts.md index f5ec5e1d42..e7f7d7f643 100644 --- a/docs/microfrontend-composer/back-kit/40_core_concepts.md +++ b/docs/microfrontend-composer/back-kit/40_core_concepts.md @@ -191,6 +191,26 @@ the resulting configuration is: } ``` +#### $dateNow + +`$dateNow` allows to get the current date and time in ISO format. + +For instance, given the dynamic configuration: + +```json +{ + "dateTime": "{{ $dateNow }}", +} +``` + +the resulting configuration is: + +```json +{ + "dateTime": "2024-10-15T12:37:41.302Z", +} +``` + ### Template - ConfigMap Some components allow to specify an object with fields `template`-`configMap` instead of a value for their dynamically configurable properties. diff --git a/docs/microfrontend-composer/back-kit/changelog.md b/docs/microfrontend-composer/back-kit/changelog.md index 5870d14742..db3f00e927 100644 --- a/docs/microfrontend-composer/back-kit/changelog.md +++ b/docs/microfrontend-composer/back-kit/changelog.md @@ -15,6 +15,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.5.9] - 2024-10-18 + +### Added + +- `group` to components properties + +### Fixed + +- added new key `$dateNow` in handlebars to retrieve current date time in ISO format + ## [1.5.8] - 2024-10-02 ### Fixed From bc8d8d5ff140a73865f532685a4def4a445b141d Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 18 Oct 2024 16:30:40 +0200 Subject: [PATCH 41/66] chore(docs): update Microfrontend Composer On Prem Toolkit documentation --- .../microfrontend-composer-on-prem-toolkit/changelog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/runtime_suite_applications/microfrontend-composer-on-prem-toolkit/changelog.md b/docs/runtime_suite_applications/microfrontend-composer-on-prem-toolkit/changelog.md index 7b1c2a9b5f..77599c2445 100644 --- a/docs/runtime_suite_applications/microfrontend-composer-on-prem-toolkit/changelog.md +++ b/docs/runtime_suite_applications/microfrontend-composer-on-prem-toolkit/changelog.md @@ -15,6 +15,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [1.2.16] - 2024-10-18 + +- Updated `back-kit` to version `1.5.9` +- Updated `middleware` to `3.3.0` + ## [1.2.15] - 2024-10-02 - Updated `back-kit` to version `1.5.8` From 5c350187b0e8da1cb701dd35eccf1bcee7ca38c1 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 18 Oct 2024 16:30:40 +0200 Subject: [PATCH 42/66] chore(docs): update Microfrontend Composer Toolkit documentation --- .../microfrontend-composer-toolkit/changelog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/runtime_suite_applications/microfrontend-composer-toolkit/changelog.md b/docs/runtime_suite_applications/microfrontend-composer-toolkit/changelog.md index a4cf517c33..a7807e7d96 100644 --- a/docs/runtime_suite_applications/microfrontend-composer-toolkit/changelog.md +++ b/docs/runtime_suite_applications/microfrontend-composer-toolkit/changelog.md @@ -15,6 +15,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [3.4.14] - 2024-10-18 + +- Updated `back-kit` to version `1.5.9` +- Updated `middleware` to version `3.3.0` + ## [3.4.13] - 2024-10-02 - Updated `back-kit` to version `1.5.8` From c24b8bce45ae0952fcf49796c981fad4192233d2 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 18 Oct 2024 16:30:54 +0200 Subject: [PATCH 43/66] chore(docs): update Payment Gateway Manager documentation From 091a134debb32ecaa36d00536abc1d7e0e1aa8fc Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Fri, 18 Oct 2024 16:55:25 +0200 Subject: [PATCH 44/66] chore(docs): update Projection Storer documentation (#1728) --- docs/runtime_suite/projection-storer/changelog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/runtime_suite/projection-storer/changelog.md b/docs/runtime_suite/projection-storer/changelog.md index 2315312265..35e5cbdba9 100644 --- a/docs/runtime_suite/projection-storer/changelog.md +++ b/docs/runtime_suite/projection-storer/changelog.md @@ -15,6 +15,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.3.2] - 2024-10-18 + +### Fix + +- introduce support for TLS/SSL connection for storage component + ## [1.3.1] - 2024-09-24 ### Fixed From 175eb601fac2b6dea56e282e20c96b094ec0a94f Mon Sep 17 00:00:00 2001 From: Federico Maggi <7142570+fredmaggiowski@users.noreply.github.com> Date: Fri, 18 Oct 2024 17:55:49 +0200 Subject: [PATCH 45/66] fix: improved CR docs (#1730) * fix: imrpoved cr docs * Update docs/console/design-your-projects/custom-resources/custom-resources.md --- .../custom-resources/custom-resources.md | 4 +++ .../custom-resources/use-cases.md | 27 ++++++++++++++----- .../add_item_by_type/add_custom_resource.md | 3 ++- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/docs/console/design-your-projects/custom-resources/custom-resources.md b/docs/console/design-your-projects/custom-resources/custom-resources.md index c1d0a438b6..42747fe2cc 100644 --- a/docs/console/design-your-projects/custom-resources/custom-resources.md +++ b/docs/console/design-your-projects/custom-resources/custom-resources.md @@ -117,6 +117,10 @@ By default, Custom Resources available in the Marketplace are built using templa Templates are stored as strings and interpolated at deployment time using the [mustache template system](https://mustache.github.io/). After creating the resource, the user can proceed with its deployment. The template outlines the configuration files that will be generated during deployment: during this process the template is populated with user-provided values, and the resulting files are stored in a dedicated folder in the Project repository, as defined in the Marketplace item specification. +:::tip +You can leverage templates to generate multiple files to be written in your configuration repository. +::: + Here is a sequence of what happens when a template-based Custom Resource is deployed: ```mermaid diff --git a/docs/console/design-your-projects/custom-resources/use-cases.md b/docs/console/design-your-projects/custom-resources/use-cases.md index 1bd37b838a..48aa14a1f6 100644 --- a/docs/console/design-your-projects/custom-resources/use-cases.md +++ b/docs/console/design-your-projects/custom-resources/use-cases.md @@ -14,9 +14,11 @@ Find out all there is to know about Custom Resources in the [dedicated section]( ### AWS Lambda -AWS Lambda functions can be managed in different ways, depending on the user’s needs. One option allows users to create a Kubernetes custom resource for Lambda directly from the Marketplace. The Lambda function is managed by an operator within the Kubernetes cluster, and users can write the Lambda code directly from the Console. +AWS Lambda functions can be managed in different ways, depending on the user’s needs. One option allows users to create a Kubernetes custom resource for Lambda directly from the Marketplace. +The Lambda function is managed by an operator within the Kubernetes cluster, and users can write the Lambda code directly from the Console. -Another option is for the user to create a custom resource from the Marketplace that generates a code repository for the Lambda function. In this case, users can develop the Lambda code separately and then package it into a Docker image. +Another option is for the user to create a custom resource from the Marketplace that generates a code repository for the Lambda function. +In this case, users can develop the Lambda code separately and then package it into a Docker image. A third approach is to manage AWS Lambda functions via CloudFormation. This method is ideal for users who prefer working with AWS-native tools and infrastructure-as-code patterns. @@ -24,6 +26,11 @@ These three options provide different levels of flexibility for users who requir Here is an example of a template-based Custom Resource that creates a Lambda function: +:::tip +This CR features code directly within the configuration; in real-world scenario you might want the lambda codebase +to be versioned in a Git repository +::: +
AWS Lambda

@@ -86,19 +93,25 @@ generator: ### Amazon EC2 -This use case is similar to the AWS Lambda example but focuses on the creation of EC2 instances. Users can either generate a Kubernetes CRD to manage EC2 instances through an operator in the cluster or generate Terraform files to manage infrastructure outside of Kubernetes. +This use case is similar to the AWS Lambda example but focuses on the creation of EC2 instances. +Users can either generate a Kubernetes CRD to manage EC2 instances through an operator in the cluster or generate Terraform files to manage infrastructure outside of Kubernetes. -The first approach, using Kubernetes operators, allows users to create and manage EC2 instances directly through their Kubernetes environment. The second approach, which involves generating Terraform files, offers a more advanced option for users needing to manage complex cloud infrastructure across multiple environments. +The first approach, using Kubernetes operators, allows users to create and manage EC2 instances directly through their Kubernetes environment. +The second approach, which involves generating Terraform files, offers a more advanced option for users needing to manage complex cloud infrastructure across multiple environments. This flexibility allows users to choose between simple, Kubernetes-native management or more comprehensive infrastructure-as-code practices using Terraform, depending on their project needs. ### MongoDB Atlas Creation -This use case involves managing MongoDB Atlas databases with Kubernetes custom resources. Users can manage a MongoDB Atlas database by leveraging a Kubernetes operator, defining essential credentials like username, password, and the database name via Custom Resources in the Console. +Similarly to [Amazon EC2](#amazon-ec2), it is possible to manage MongoDB Atlas databases with custom resources as well. +Users can manage a MongoDB Atlas database by leveraging the [Kubernetes operator](https://www.mongodb.com/products/integrations/kubernetes/atlas-kubernetes-operator), +defining essential credentials like username, password, and the database name via Custom Resources in the Console. -For more advanced use cases, users can write a custom resource that generates a Terraform file, which can be used to manage MongoDB Atlas with greater control, including configurations for scaling, backups, and security settings. +For more advanced use cases, users can write a custom resource that generates Terraform files, +which can be used to manage MongoDB Atlas with greater control, including configurations for scaling, backups, and security settings. -This approach provides a straightforward method for managing small-scale database setups via the Kubernetes operator, while advanced users can opt for full Terraform-based management to integrate MongoDB with broader infrastructure. +This approach provides a straightforward method for managing small-scale database setups via the Kubernetes operator, +while advanced users can opt for full Terraform-based management to integrate MongoDB with broader infrastructure. ## Kubernetes-specific Custom Resources diff --git a/docs/marketplace/add_to_marketplace/add_item_by_type/add_custom_resource.md b/docs/marketplace/add_to_marketplace/add_item_by_type/add_custom_resource.md index 63c09df7e2..0679cad2ba 100644 --- a/docs/marketplace/add_to_marketplace/add_item_by_type/add_custom_resource.md +++ b/docs/marketplace/add_to_marketplace/add_item_by_type/add_custom_resource.md @@ -100,7 +100,8 @@ The following JSON Schema can be used to create a Marketplace item with _type_ ` "type": "object", "properties": { "archive": { - "type": "string" + "type": "string", + "description": "URL for an tar.gz archive to be used to generate a new repository" } } }, From e6b4023ebbdecbb4da219fd6d8ea7a2022fe6584 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 21 Oct 2024 09:00:41 +0200 Subject: [PATCH 46/66] chore(docs): update Back Kit documentation From 2175d11b0d6d824df415c249987687cc4c1b3131 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 21 Oct 2024 09:01:17 +0200 Subject: [PATCH 47/66] chore(docs): update Microfrontend Composer On Prem Toolkit documentation From cbcb57aa2b53cfb3168e77f37856432bef896d9f Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 21 Oct 2024 09:01:19 +0200 Subject: [PATCH 48/66] chore(docs): update Microfrontend Composer Toolkit documentation From 9bdeff20ea04684dc93783e82c22998743bae6eb Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 21 Oct 2024 09:01:32 +0200 Subject: [PATCH 49/66] chore(docs): update Payment Gateway Manager documentation From b027261fe247924abc472385daba81474bd1e2da Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Mon, 21 Oct 2024 12:43:51 +0200 Subject: [PATCH 50/66] chore(docs): update CRUD Service documentation (#1717) * chore(docs): update CRUD Service documentation * chore(docs): update CRUD Service documentation * chore(docs): update CRUD Service documentation * chore(docs): update CRUD Service documentation * chore(docs): update CRUD Service documentation --- docs/runtime_suite/crud-service/20_configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/runtime_suite/crud-service/20_configuration.md b/docs/runtime_suite/crud-service/20_configuration.md index 4d2ebdae5a..fb80712d0c 100644 --- a/docs/runtime_suite/crud-service/20_configuration.md +++ b/docs/runtime_suite/crud-service/20_configuration.md @@ -43,7 +43,7 @@ Below you can find all the environment variables that you can edit. | TRUSTED_PROXIES | String | Optional | `10.0.0.0/8,172.16.0.0/12,192.168.0.0/16` | Contains the trusted proxies values. | | HTTP_PORT | String | Optional | - | The port exposed by the service. | | LOG_LEVEL | String | Optional | `info` | Level of the log. It can be one of the following: `trace`, `debug`, `info`, `warn`, `error`, `fatal`. | -| EXPOSE_METRICS | Boolean | Optional | `false` | Specifies if Prometheus metrics should be exposed or not. | +| EXPOSE_METRICS | Boolean | Optional | `true` | Specifies if Prometheus metrics should be exposed or not. | | ALLOW_DISK_USE_IN_QUERIES | Boolean | Optional | - | Sets the `allowDiskUse` option in the MongoDB queries. It is useful when working with MongoDB Views requiring heavy aggregations (added in v6.0.2, works with MongoDB >= 4.4). | | ENABLE_TRACING | Boolean | Optional | `false` | Specifies if OpenTelemetry tracing should be enabled. It is possible to find more documentation [here](../../runtime_suite_libraries/lc39/main-entrypoint#opentelemetry-tracing-experimental) | | ENABLE_STRICT_OUTPUT_VALIDATION | Boolean | Optional | `false` | Specifies whether service responses should be strict compliant with the schema (when enabled the service would fail to return values in case underlying collection contains documents not compliant with the schema) | From 35c9d7a1b4ee1ff3dcffd9f24361f5a5e6e1a776 Mon Sep 17 00:00:00 2001 From: Daniele Bissoli Date: Tue, 22 Oct 2024 12:03:28 +0200 Subject: [PATCH 51/66] docs(fast-data): improve description of castToDate function in projection storer page (#1734) --- docs/fast_data/configuration/projection_storer.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/fast_data/configuration/projection_storer.md b/docs/fast_data/configuration/projection_storer.md index 2ec004d5bb..822e395b47 100644 --- a/docs/fast_data/configuration/projection_storer.md +++ b/docs/fast_data/configuration/projection_storer.md @@ -357,9 +357,9 @@ existing functions: - `castToString` → convert the input value into a string - `castToInteger` → convert the input value into an integer number - `castToFloat` → convert the input value into a decimal number -- `castUnixTimestampToISOString` → convert the input value from a Unix timestamp (e.g. `1695141357284`) to the same timestamp in ISO 8601 format (e.g. `2023-09-19T16:35:57.284Z`) +- `castUnixTimestampToISOString` → convert the input value from a [Unix timestamp](https://www.unixtimestamp.com/) (e.g. `1695141357284`) to the same timestamp in ISO 8601 format (e.g. `2023-09-19T16:35:57.284Z`) - `castStringToBoolean` → convert the string value `true` and `false` to their corresponding boolean value -- `castToDate` → convert a string or a number into a Date object +- `castToDate` → convert a [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) Datetime string (e.g. `2024-10-21T10:52:38.642Z`) or a Unix timestamp into a Date object with UTC as timezone - `castToObject` → parse a JSON object represented as string into a JSON object - `castToArrayOfObject` → parse a JSON array represented as string into a JSON array From 5a7ff048861f2dfe2a94ded3533ee4fc77991c36 Mon Sep 17 00:00:00 2001 From: epessina Date: Mon, 21 Oct 2024 10:18:24 +0200 Subject: [PATCH 52/66] Structure --- docs/software-catalog/overview.md | 7 ++ docs/software-catalog/ui.md | 7 ++ docusaurus.config.js | 134 ++++++++++++++++-------------- sidebars.json | 10 +++ 4 files changed, 95 insertions(+), 63 deletions(-) create mode 100644 docs/software-catalog/overview.md create mode 100644 docs/software-catalog/ui.md diff --git a/docs/software-catalog/overview.md b/docs/software-catalog/overview.md new file mode 100644 index 0000000000..bbde1ccb83 --- /dev/null +++ b/docs/software-catalog/overview.md @@ -0,0 +1,7 @@ +--- +id: overview +title: Software Catalog overview +sidebar_label: Overview +--- + +... diff --git a/docs/software-catalog/ui.md b/docs/software-catalog/ui.md new file mode 100644 index 0000000000..e4eaccf9a6 --- /dev/null +++ b/docs/software-catalog/ui.md @@ -0,0 +1,7 @@ +--- +id: ui +title: Software Catalog UI +sidebar_label: UI +--- + +... diff --git a/docusaurus.config.js b/docusaurus.config.js index b8b1a42066..f402101164 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -35,80 +35,88 @@ async function createConfig() { hideOnScroll: false, title: "Mia-Platform Docs", logo: {alt: "Mia_Platform logo", src: "img/logo.png"}, - items: [{ - type: 'doc', - docId: "getting-started/mia-platform-overview", - label: "Getting Started", - position: "left", - activeBaseRegex: "(docs|docs/\\d.x)/(getting_started/monitoring-dashboard|getting_started/performance-test|getting_started|overview|guidelines|tutorial)" - }, - { - label: "Products", - position: "left", - activeBaseRegex: "(docs|docs/\\d.x)/(development_suite|marketplace|libraries|tools|runtime_suite|microfrontend-composer|fast_data|dev_portal)", - type: "dropdown", - items: [{ + items: [ + { type: 'doc', - docId: "development_suite/overview-dev-suite", - label: "Console", - activeBaseRegex: "(docs|docs/\\d.x)/development_suite" + docId: "getting-started/mia-platform-overview", + label: "Getting Started", + position: "left", + activeBaseRegex: "(docs|docs/\\d.x)/(getting_started/monitoring-dashboard|getting_started/performance-test|getting_started|overview|guidelines|tutorial)" }, { - type: 'doc', - docId: "fast_data/what_is_fast_data", - label: "Fast Data", - activeBaseRegex: "(docs|docs/\\d.x)/fast_data" + label: "Products", + position: "left", + activeBaseRegex: "(docs|docs/\\d.x)/(development_suite|marketplace|libraries|tools|runtime_suite|microfrontend-composer|fast_data|dev_portal)", + type: "dropdown", + items: [ + { + type: 'doc', + docId: "development_suite/overview-dev-suite", + label: "Console", + activeBaseRegex: "(docs|docs/\\d.x)/development_suite" + }, + { + type: 'doc', + docId: "fast_data/what_is_fast_data", + label: "Fast Data", + activeBaseRegex: "(docs|docs/\\d.x)/fast_data" + }, + { + type: 'doc', + docId: "data_catalog/overview_data_catalog", + label: "Data Catalog", + activeBaseRegex: "(docs|docs/\\d.x)/data_catalog" + }, + { + type: 'doc', + docId: "microfrontend-composer/what-is", + label: "Microfrontend Composer", + activeBaseRegex: "(docs|docs/\\d.x)/microfrontend-composer" + }, + { + type: 'doc', + docId: "software-catalog/overview", + label: "Software Catalg", + activeBaseRegex: "(docs|docs/\\d.x)/software-catalog" + }, + { + type: 'doc', + docId: "marketplace/overview_marketplace", + label: "Marketplace", + activeBaseRegex: "(docs|docs/\\d.x)/(marketplace|runtime_suite/|development_suite/api-console/api-design/custom_microservice_get_started|tools|runtime_suite_tools|libraries)" + } + ] }, { - type: 'doc', - docId: "data_catalog/overview_data_catalog", - label: "Data Catalog", - activeBaseRegex: "(docs|docs/\\d.x)/data_catalog" + label: "Infrastructure", + position: "left", + activeBaseRegex: "(docs|docs/\\d.x)/(development_suite|marketplace|libraries|tools|runtime_suite|business_suite|fast_data|dev_portal|infrastructure/infrastructure_overview)", + type: "doc", + docId: "infrastructure/infrastructure_overview" }, { type: 'doc', - docId: "microfrontend-composer/what-is", - label: "Microfrontend Composer", - activeBaseRegex: "(docs|docs/\\d.x)/microfrontend-composer" + docId: "release-notes/versions", + label: "Release Notes", + position: "left", + activeBaseRegex: "(docs|docs/\\d.x)/(release-notes|info/(version_policy|bug_policy|support-policy))" }, { - type: 'doc', - docId: "marketplace/overview_marketplace", - label: "Marketplace", - activeBaseRegex: "(docs|docs/\\d.x)/(marketplace|runtime_suite/|development_suite/api-console/api-design/custom_microservice_get_started|tools|runtime_suite_tools|libraries)" + href: "https://makeitapp.atlassian.net/servicedesk/customer/portal/21", + position: "left", + label: "Support" + }, + { + href: "https://github.com/mia-platform/community/discussions", + position: "left", + label: "Community" + }, + { + type: "docsVersionDropdown", + position: "right", + dropdownItemsBefore: [], + dropdownItemsAfter: [] } - ] - }, - { - label: "Infrastructure", - position: "left", - activeBaseRegex: "(docs|docs/\\d.x)/(development_suite|marketplace|libraries|tools|runtime_suite|business_suite|fast_data|dev_portal|infrastructure/infrastructure_overview)", - type: "doc", - docId: "infrastructure/infrastructure_overview" - }, - { - type: 'doc', - docId: "release-notes/versions", - label: "Release Notes", - position: "left", - activeBaseRegex: "(docs|docs/\\d.x)/(release-notes|info/(version_policy|bug_policy|support-policy))" - }, - { - href: "https://makeitapp.atlassian.net/servicedesk/customer/portal/21", - position: "left", - label: "Support" - }, - { - href: "https://github.com/mia-platform/community/discussions", - position: "left", - label: "Community" - }, - { - type: "docsVersionDropdown", - position: "right", - dropdownItemsBefore: [], - dropdownItemsAfter: [] - } ], }, footer: { diff --git a/sidebars.json b/sidebars.json index 8688b14caf..4050289190 100644 --- a/sidebars.json +++ b/sidebars.json @@ -1923,5 +1923,15 @@ "id": "release-notes/support-policy", "type": "doc" } + ], + "software-catalog": [ + { + "id": "software-catalog/overview", + "type": "doc" + }, + { + "id": "software-catalog/ui", + "type": "doc" + } ] } From 5e16e6a33125496579de2843c62f9de476471822 Mon Sep 17 00:00:00 2001 From: Claudia Focchi Date: Tue, 22 Oct 2024 16:36:37 +0200 Subject: [PATCH 53/66] add software catalog doc --- docs/software-catalog/img/item-versions.png | Bin 0 -> 83703 bytes docs/software-catalog/img/table-filters.png | Bin 0 -> 94559 bytes docs/software-catalog/img/table-overview.png | Bin 0 -> 116059 bytes .../img/versions-navigation.png | Bin 0 -> 96953 bytes docs/software-catalog/overview.md | 61 +++++++++++++++++- docs/software-catalog/ui.md | 43 +++++++++++- 6 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 docs/software-catalog/img/item-versions.png create mode 100644 docs/software-catalog/img/table-filters.png create mode 100644 docs/software-catalog/img/table-overview.png create mode 100644 docs/software-catalog/img/versions-navigation.png diff --git a/docs/software-catalog/img/item-versions.png b/docs/software-catalog/img/item-versions.png new file mode 100644 index 0000000000000000000000000000000000000000..b873601a584bd5b42dd481acaf23ecba8ee09d65 GIT binary patch literal 83703 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

)03N zf=@dgI>FCbS)VC({}>|n5oixq1wRlo>`aYI`X9}GXH-*NxF*=}0~J(?0tPIfNC^?? zC7>uG(nJU?2E>T;qM-;O1VKclsR*c$fFja+uaOoIgwPQ}5hA^p5Fn7u3F^J`XV$DW zcjm4MKUgW}oPGA$`)$wryl?cpaxL#Mr+9lG$E=T}^d{2{p{!ro1_qxaivl0OG(#Lt zCD*J}z{kd|1m>_J-iI`@5B?~SQZg+FTB;=ck#v`hW7gR$*)syiKY5S5q^g)+&g2~L z0U|Z?=S{}9$*f-W39cSpIgH$li=99`em&v7-fMBYEdY$#i=z7epe= zB}L*>(GF+Cs$__ng|}^V@x=To&S$Wb^Lw3kTK|bLi^Cj)zLFV%3g_J$B7yJxv<&eB zADsI$jzn=Mq{9~;Grm?WV2^=RHh>+s4n#NR0MU#3p+@=N zMy8v#CiXX;I|+7Lh<}OiUO@3&a#;1%&7(-FJQX>a72zsC;x>K3ea6iBkDNS~^D zNYpc!=feiqu2m75iW&6*gC12_vlEO}q#4ZlMJCCv*S~;Op(vuWI-YInc7(EKU9x zj6b6!U*YoUoPj&3kU|M;kF1KYNlFw*^g_|}Vtg1j^{!`2ddrsJBcUf>J^^9k-<$Jt z*B{c$fp)wm9Cn4apm;IMMUhPo{MY5thlc{GJcS1T`5thN3N@bc{24*J%Aa~+!2AF6 z%3%NdRxbYwt@VFQk|-=VBre|Xlz}ZdGg=BX5CIg_&A$SxP#8c3OgAcRSBXz4EX@Wj zv47Ij!w?;mmQ?-V9{)@Lpnpb3gZ`ojmnQ%UoaF)TlMjxc2UrAtELISK^P?NyKclC2 z6$rs5o@)W(IDPvEeE>QGz!3N=cwU{<|H4tojh{9C2X`Z(dhZ;b!{1=z@3$voIyk59 zckkT|ywEe-OHZRUGxlr^q?MFXn*iT^5A2) z*)NB$B<_So$HtPMuS(~3c5ZC)sYBpfZ-l&;laB|{bO&3y3gLma_LaRKA98;FyOWb0 zj`6j>Ut8fK{ouRO1kKC0_F$NCB7)blab!fKBaFpFAOp;*MIwuS3qmhh(b%-YW7RPS z>L+Lv-Sv5{iEoGZ%!ISFi)&eD#mHB4r7A$?N^jG4G z)M;DWVcRuYBoV}=*T%~RJ*T9YW1l!-v>GQ9cnAo%&=UcvO zA!#?2d)$?npEUcpEnPH*e`9c z;Y1|V-O#oHm4=X|#+Yjrrbhv+fcFxVovZ&iU9wp@T+E^a1YYG;pZ)l30b}60#PCA< zkM1$!0|P`JlW85GaO3U^dWzSmj*+`XHpx&|N0RuSF-$`!YwgsvM08*+yKUp^u9f|iE>V`Y_waqIaC+1xT z$u*?__>v1WNg!qpX8v4}bgBJ3n^o+^(K1MIi?p5mHIR6^PU=)4&XUn2s`Qtzb}sfc zTY2VMDjy&lhk*7w#kQ*l=u<&wD$X2y$M>sQzl&f4BykjlpZSuMmanNphpZkMzF@nlROXW0w6 zKk!XWuz-0RP823FgOf6_9%Q;P2xJ{B_$*E4*+2+OVNUZOc~tlS9#8=gXbt0vQn1Ia|AL;CH26cL~~ zsk%qIKYbytW|DNTu8lK>@PNuu;0M#XdGb5;IEzeEd_zRAiF$yadMs1G+* zJ=VHNQ||X-2P3@b*PX8Z7SaK{!m1Xo)Yt24+AtCq5HsFV4u=$9p3iUF`CXLp`Gk_UmBC0A|t4-4jiy8VT&M}Uxk zi{-|1X0Zssu*m>_%y~9Nh@v_BI%(BqNKB;haHs^}L&e$ooi%OE6h-j$oV^~Nmj%r8 zaOWsyamX!ztFH=pYwn**@IM7;g+i&n0($}i1V=avSAFBhL7XSVB)`#{Nft#nY*qu^ zX%nK~@fUqwa(VDQ$QaukNb3r`h5nRb4w$|iq5~5fKJroo?T`elFr+Pgn!Q~P!@G@u%=)7Q6aH?#L_4hXrWrLG^g zLQPgq55O)Yn!-Z?&T;8947$Btn{tN-y}Aa^QsBKdNlks+^l?izgR0HY5@;Mir=C%E z1~8^T_tMy8W1!_x5e2pkP?696Sd1JBIu0{}o>t;lx&BAew8sNiT}WCN0vy-;%HFDxxZt5b)TrUiwTnC;3 z8!10d${(H7J#!UebTErU1_+-2z5wvF89bVc(Lm>yCL<)^+hk?pNxs2XM`f(VJ-DUx zU{+R!0JfP_B`h_f@iZ5RHe{4~0V&44T`7xfv#0irI<}0a32uF)Go(#VWx3ok&$6}m zpMDob@x2xj((`OxQB}1Ok7s^{Cs+Y}>v$AfS-R|$5JapbYP|h-RX70j=XwR$+O0F_VW4gl5z$w=`of9HMhFPS(?^y$t#;5()qvr?sItT%@e^7_38 zCqZMhA3?MM{Vql)Og&>@J(iyU&fFj2uHW~h(-=tb0u0#1J0~1V@__bprfb7-((W*!aCebk z<(>IXoG+X{obMbn{K% zK26OVug>vYj@xHZD_wj>B|N~lzWBYv+l9O$Lt5Ct5bDcGC=_#F4SbJW{5)%qbn6+> z3?BC5JO^I|ScuyE^ZCsyC@gxwX#tfn{3$&jrdOrIp1?f`T|_Tp7J$FwGm&mPD`;Sn z6S3qG&Z!`PPW`)H;a17c;Y5yoyVKA6HGzVD!0WQn@1xi* zaQ@LST7N=#i5LF3J-osHm6IGGvM+tbX^D(w0o>flypcg~ zZ9P&%pX&&}q*-NdixZyyQTHB@1-H40h_>xhqil!XTP0GLy8|~>5vsV=ElEg&4r+3o z>=2Q{uO=LqzkD_1aHM#nus~GGsaO$sQ6*-fa0rzxN6L(vtZ(W-dMg*t3M0Vq6%Q|0 zEp^w?I@)#p)?yqnOvCw}-aEN}3Cy*4D9O#)Im|+=bvNrHfH4=auU-5V4mGjq^A-Lo zkgRsX-|>nR+TX}7v0RC4V6#*z^)#!$TK?G~)pH{WwLiXf4IfWZ*)wwPRAg~e(9b~4 zAA>*IUy&-@8C5=_L)3VEp^@(zDND-16tPxiSp$$PM59<#DB*K}62U)qwNu^@kA5)e zr9wL!i+E4!M>*R>;1ygR%hEwdrsK~N`iRfg>1sJU>RqyvBQQ7|H)ldRr?V_PNHSdA(cZw3+*50l=PDgG4vv==bmeKz6)r?YRrBcrVQ zkn$Gx70%y2RemZ@(fkTsPEA^!U)%gHm6_dN>=FyG_E0w24`pPyO07wfIIb%z)e?6k zhqTjE7dC~17awee9bYXI(5MncM?{tH-(2$Q=p8s#1XsL9iTGge;20J&K|G;Osb`Jt zCvG;87GPjAQ+TpqwV85nU#49=b5t$BpaYp9n3um*6Pi+$f6!_Qx$g}E_`6?{Mg08B&N9jX?mUvW}sVX`PwKeWcgKf zh&>~qn%S1%MXughkp$9ORcAk&7md;Kd?~sQzwwzhR-5n4=;p0|S@d)jk(r)yt%|KU zFbJiKr=*Xe)Yrs(AQLJ1uM~qx2=ryzTT9=;UKumaL@_&LC?Y(5&t?U4RpXxLj5u`i zdq7E)$#NxfHcsZjTIvZ^uSbW3AAj}##k$*eZsA-x`-S%ca|)UIHLge`ruxF@Osw?` zZ2zO0()1S(AH{xEMkJ;1x~G_)OgrX#%fg}rIgM}IS!!Hmv}IWP$l%ewSB9f}%)qL* zL&G$m;|3mVPgGkk6jy0m>zwvU_cdVOdFvp%XIR=%At#jhL0@M6U7C@V6^M29O1f|^ zzp(g}J~W0aC!4>G0O7VUzEQQLNSm;6cS|1rhRA^z$0bTqjSXy;C!|C7evz2abc*n> z;(Tm~mxXZGqgU0Y@n~88VV4yvlEsFaXZjM5+06EHXbyOWR@>cyC*bm@xv|E<%TLcn zM*JJff6ZF=$wNn**P2s-MNU?so3x>hERD5v0qY;Oe4d8-7B{N1eLZuCwG}!un|BHv zvUX1wu(vOeQY?)DN_Wo3@0m;{L0)qE&l%(B#;W0DH-;7HS_%bS@Th@nGb6*0Q39EN zAdP`Mc&m^yJ%FC&4q)$`(s1dwC{(6Lp+(i7t8flVYPn!l~L2-o?lz-R7L{Qaj z5gC;|ulf@wRWy7;asAfrB4IOHA;wG;KaSM}YkUwCT5+7X^zr0&&28#xZ;>RD7&c6m z%yHS3|66%ks+RY#!fX7(J6AYyv~CT-DcsgTmW;<#yHz-%%97~;%u9f`3cFmpo#0Gy z1CYK-Q;`lP0ptLnhcp}8Qrr1}16z8=brDtT{?boLtZI(`)8}v}-M7)v^XrfMmVCzQ zt00#+fiJ(3wo};6L#-Z(7;~b`44@R=xE7ZfF!^h|KuT$iCxWVt468%r(0;mvE?VB(l3y9@xP;b zm9oN1Y`&`#;XWH`i zqN9h_Q}U>)UiHskC((R|JQ#T5yz6kahv)?BCfP2;>>Un7_P?>Cq<(9x|C|*0!YOC- zrr*3IHafW0Q)aTTV60zEpuXC2BhI=}U(qjxT;1JE8E~qO7nz-TKLQSmLx&CFJQx5l zK~q|UmN2DWPGA1M>$cyL;!q2)q7!FM$T)ha(JS`LFmnHqS=`o$uq9~-QMeOM#L;** z7TP{1rHog7Hhzv+TG4GGkD%9L{e8w)-pScI?vC)5A4lbWZO#wI!7KX(5XVSrWfwu! zi`kXT)s4FI#5r19I0k0l|9a~tP$74gq`DYM8Ko~a2Ti|ht~o`w4pTOZ$6*cTfeP;{ zw?NOuR@<1sKW~^d;p{>gC8hseUjZG@gEG*tODPuCEm+#_pHuEs6T45-pjV;F<3}(N z)3OFrUX|`Sz=cI~it*|wukY%cZ`+fs&5_pm4-Rx{5kgpxTbJ zud`*OD?-SwWqI%(Pe)pw$2VCVN-aLPQT(E``G!53{))FcMY(flEj~#!n55AZahQZp zOFw&oFh3!3ojRLQfHM4sr)@YhL>5e_yQY_Wu5d2r6z?ULDi}}(tC!kRp7}8cyGU(t z_rWEc+kLvibwF*$FI5|_;@hjD)BTMft3l}T6E|v5J)_6-cN!b>rPvIjJH(}=O_Wm5 zX{o7U8asorDmkw;M}i}_%i;T%3+GVfg!}9CiHTA7^Z|TV9t3Rvcr!NJQ3GFfn-67E z?V*vD+%#Fe*350Bp&UYD4Z8{trYq+_>)pSV$#QqlIBw|0{Ec7i7(M1_{3 ztR4lu`f&wa-z0+@-33R#)_7gsGu6#W0ha3XP{@u4=!-OlQMS>QG0ch8Sb7~f8C@&p z@8`-t;QAcBuwlV}g1|3Qwf52qp%F|B_7c)n-ShJtH3W|xL2OR)J`%9>`~1_ZK2^qt z2k~mpsF|+`w}`y0Wyw76LN=nH9HqLyc__k;3|AHaUG(IR%F!VY)jS_puiJWvme(;Kkhyvczr| zEf37}tzMKbiod~il>hTx8jvo&`qQVMi!_dmwLR_WM%MZ4lzdmQho%li$|6#!H z>Dcl*Ojub3o7_AbSeR(7rA1p(4DLh(t?)je6*p+5`!Dnxs{}8Li-Oc2>4gc)OJLVc zMh8(5uMzwzdLs?v31t$lRpZ3c>1VU6?PWZ-Q_y%E#P5eyKhE;$=UnEPm1zV^(6aFw zcSt6-NJ_4@7xAR4$MOq*S5LX9K(#gah~i8(zE!y$Jh{?5>Y=v3_iV+!0(8`X%jcPC z4;nb^$d16z;pBE1;C(bFw{ z2qL9op1`r>?X{jF{ggszu3fGbPHQfk6b_b{;ewQ(!(vO%RvOk&`>I#WaG_FPW>aQA zC!S)BF;U}!?|u)MBf5j%=O?;HfbfBK-2i;)_Nxz?qust|_oo2sv1|E}m(>0O2lTv9 zPUA-C`E}rNWtkWa7TiigVaUAdHW|Kg4b?qtv-)vpmly0 z574i1Oh07MLl9RpXiP6y+8k?9$3djco#86JDvQ$Q1|PjJ!#QP-Vxe*LM-fNqx0Z)i zx9BLWd+wnesa@%_mGj%gdBs+KclwQ;3R+GiS|Y0AMh_{iRV#f$zo)s@IylZy zH#|M#l8V#(OB!bd1@G+?&*R9EY9$g1&S~M*owvxs_0jd1h?g zk$gHuSYR*H-iuMTvTS{A+*l(LLtQJMxZoi9qIi2%-ISwb9@*oeQ@@iV{qh6C9?KScTmzjm9TaL{=XyogZYPe$tY zcu7)Wy384_RBye_yE!@NzUD7V4%>+*EKQGj=cI>55u?3Ttq|lB8i>5}Rs;D^BKIlY z1gPt6lf&6lN|v22bI=@cWRYqy(e6u?+vE$CX9g#M#;BF~7o_njCFD_Sh_zr8G3>=D z&sH4W6?0!F-tYUY0lE%sKqE;h?&vfe=0c^gKqnXR|-hpzZ?f4|*pt4(VbCIr9xC_CG*JW1WTEnl0 zGAk>nr298)(OeN&!oSVTxlU)aySmp`a7q1F7=##bik!4Lhf3P~?(B@vf4j3`efHlS zTkq`)2c)fdsIhmVBOw^1?OP2`x3{JQ-mIj?h6q&7^WLMBRiv#XDE!UV2YVqkISK1h zv5Lp=xyK}qPY;`?H!k~fOE=97ZW9rZFRIOQdnq_ z+1_N%_&T6=8EpRnZPkrf+f0R0x#+y=Vum?RFSre)LuJpK*1K7a93>0ERU?y^Hc{N* z$hRQtM|!YBLMDP{B2(|7 zC*@e2T8vXmBQwNevmz8#eJ^XQch77P`XFIONfKk3KF3!Qx8j(E=X{-NBGZx0gRgz| zd-PI%E__P$_wy8v*-xU7@PavvU*A%zDgE0&B4D#)(b#Q^w<7ZDTzFDM zjAtCOPJYA@co?2vz-UMOKShlH%Sx(@D#x+`NCpNhYBXR1IShv<; z_?KcVDA&Q|5Ise*0C$wS$TTm69ST3%w_^cP5!>5W&3hG8A=6wST5i+q(DCR7ENr`n z8J4ez{}!nT^14Tt4+)F>lJ{G-v>WVSvr=1~=zU!1>!Y?o3|jt3F?exR`_MNUNyYn` z+S)W6*-LLpnu$*{xF^4(p8Di2?r$Z=Y>2Mz zW7h95_p32mqsXz^vyGm_wqP3C3VxEAzwu%twoCeDdQF{|hK*OPk2aoH!`I(m%8GgO zyP&H02xhg5i;_9L_~K#RvqeA6km)Gx#*sUoH}zC~J*qLa%OS*`gdLYkh9yEz>7M&s zt5ax6V_Je^js#xLPA}7{w3@tpICLZ|O+Z8lIVt?wE%F15Z*NGknVB2LPwNm)Ui>;j zPHaRv;SQgE#_$j7wMeG4C3EhjJv~X|WsGydcQ=uQ=gf5bNw3 zBhmz}kL!AC)s-HnZN~1RSxW}z1BQb_UCGBnxN{<+GMXu0P}L`{a=<)5s`Dfj_y&`q*Pr=%Q*?ec7H#-k^Zfw`-Qi8O@Bl<%? z$BeZ>oyyhc=n$~x#tmxvM(^}wWA|thP0dE<7iqa84Mkb!GxRvnPBP1hVEPmHFHgjL zz}KmUpOjZRU>4I*pgSBEE;NJe+9Imqr3>duM-!}H%tY(UB$mk?C_EIF6e%PuLZ6k{ z%aP3GE+3Aok zqr|A($K}wE+ozJ@<&fJy)E1^($!VOv33NA><@vQDjLnz(cICVDNMo&s`o>pF*i>|S z$~{InaHu% zeTof3kepCA^#UmaVO6Q>t?KvvJBPk6K5FP~efa&k(Q;67=)H9Z0iuKpSSjEU5iR0mRv*@KfEeRar03lA63>Hg8KpmZhW&E!R%RDqM3E0Xf>4$9% zM69278A2OFeD0$7FPGFSl9-4?&G?6R^F7cL>j033pDw7dBkvAQrDn#*}`oaFuJA`=1qw?9D^oYd_BQX>OE$ z_9pog!;N{`QcV8^;$-1QiOjDr*q1RcjPv_CI#e9}*3lY8! z-QU%`fU5Ot1I0?tH+1}H+aF(Zr2gx&NoQJ>o_4jU{x>_m-{_>;XEk;8ED0>EZ{fKl z$oxcPriG9INcl7=L<2qdU1_xaDg`1^rRtwMH@)$FEy_#7!RB=BQ3`TpDZLcae|&jc z$Z0G;%AnupmIs92e{Q;uVhD-jOR4t0H(4!$!P-tvHlI%3%t+b#5M!Qq7k+1rrrl5~ z9(~HpEwqn6GxT4@suN;JRbx~ z%Kt7rezh)i^|HrT5gv6hMTkpy%dqT)^k*^mbJ#7~?|i5_Ksq?y3=*_f9gi=y>5p2rr=|}X4va5;7qi13^_Ie1ipj)) zADHORmHN^y=6-JZCrI)DaYml33Z&+)_DqHIaXEeRvv<(Lsh&A<(hO9$Vy2}BrRA=b zDD^^yPw30*KVpo*;C$!IoXyYO3%I-tI=0Bq~dtT2~T zaxB$+s~cm2Ek#0m`x-bR1*5CnLIGi-Cma)8N*402x3klG(I2ufIIB#>GFslFD6^rU zu(Va_@Z})xY4yZ&%}o zUN&+HHa~-+xxG01;BdbKw!i(#!}>JJz0LWIu|fjY?fZ640dkrEJqcm{N~_!G=luc%kpNhgC``_8Pp4;z^yj}^D1Z*Tc|(QnYk62#HclF%yrv=g>5v4Bz-Of3);mC zwniB~#}O*Ct@UV^%O{>nB7bcYUf4*wzL?SQ5#{kyN3 z>WyNt99$}Ao_u}3p%iy@uyKvu`u4V+keUr%GliKDKM^ZS(AL zy%QGpvrWs(A%f=cQ>|Ci1BZ2Ry3e9xXYR6Mug^JVw3>&Wgt}do%Nr z<(oNX4zS$N_5?YF66&`zPbCtc1UX*T(K(dy8}M8cBhSLYng=U)l11(x2K#ffyr_0- zIk^(5&PF^Cy$;I$D86$Y41CI_)O7oLS9^%Q?7sG|S7QA?nvzAIvVN}g&QkT#hhiXg zYUxN6!$KPebYcSn*NHdY>!B68N=Czg$he|qzKFZTN7mjylBqe4(uI$N0BxfZt#t^t z84mV&7f%D_yDF8H{0z1d0-KJZC~ zDdmEzUi;9PnCCIQ z#rBTj>Ii#xL!i6_A=Y11;em$eRrnF$R{rhfe(zuJ|L=W&NOI@Sxvz7bbA8V>zUQrho)$Zh7YG0V*dIT7@Du=G z%K!jaB~Kn_URnQ{W6pdz9>`lQIlUM z@BN$>NWbN|1_@sfJ!$jhtj7o8Ny&`y-V8+j@t%K9iDq09wGBBN8OCz;KL2xdfN-iZ zF*PS)9v*Bt@v}@{uOuIfLsDr?@Iy^F(mIRL80RTZE z0N(%J_lTU#VEONTQ0V`s%U^PFI0DPXq+!OZ%qW`BMeH!cu+)YFfYhr9WO4 z6q1~vT$O+wpw;_C?E~jVyN4MgjAqiQgjibopHuZ;dN&>Nb8pJ$@SCI4dmZ9*R*kg) zsQ5klqRD(x#87SPf`gedr01LUuSvk)pcTfqo)$Xi-&INOroK9W-TGU9t)y7`(MThE zzP3h)zVR#UW#zq?<%jmg38~Z(l<5an7^f%sfj1~0Z|VBF?e0viRoiM|VS+;odAcjf zQ6dZHt35j{z8*D_VJ^o}<{e1DSz21|Pgs=^s!OtOciwy6usst=6d)_Fjg!!}#A{Jq zUbLy8^qLXc?`0k(KDG zwA>aU7a|%uY1Xq>)+XQDj{Q6_R3kJ&t>II`{t(!XSd@%*NJIRPi@7+Lw$~i7B6o2W zri*Cpf9%%!<*i#=DcTCdy0G~=5{7GU7@AJAWH?}42tve$da#9q1DNYL%s#Sr9hgmC z9hn{lL;RMlmONA;GELF%L#Gu40z*{~=tdT~ za1|iB>}@c5-IkYso?S#}1kno|&6;6Smg?2rK46%}jIr?cL*Q&o;B0^oE%1zKGT zZ9}0%QUbz49GE?NfC2H#lxX`6)AYZ3f)+m%o|pS!bkm zPt>`aj!acmoT1E7(RNa1W|Bd6+4@P{N1&CFb+h?~LfG18fcfgJ{tFuYvHQJp-8g!s ztpign+4}Swz-)!P)&)k((RkPK4`Oinq*j+?h5e|Dd6}#xNk#d`{s@zS0O@i%k}T=J zO7I)dTmA1eY^uGs@PQLQ))471?eVB%V#QrB#+BacVwBb%wGT1&J0_@kX9bUSx8+jr zPWH~>ozgI%;ytkQRhd!9+ue*8WEZyVTkBxl_%Dj7|r zj^)$4c`@_>8dPCvDYAC+b1W>DzU`xsS6Igydu)M;JqotdCr|tlFJuW-VHfLi(S+_> zCuYSGG(O_)tGYkhvPN51Y@|(3q;Hi-?~q&ZuD)97+s~M@+v;OUj6Bjfcw%B=dY$3L zWhMSb@3vIUSL;2T`uqlj2n(*}UsBcGd!M;ts*l121;Tc)tK~z{Uf!`^KisKX<5LX? z!_8?SHdMuh0)Hs`&Yz(saCfQ_nZd1Hq`2QZfOr?Wbbf52p78=AK}!`734 z!C!mu51Oxq_W{$o--WtmFFEMij;CB1dwk!(@>Fc;{%4#Na1gfQ3>$*OZN}e0tuvJO zb_6l`G}Ncok%qu@D#<9(GYbLY4qAKLH%1O7&96vPcimvI45u>cS8@HM*B6dv9VPZ@ zifnFJ&^fi_RU84H0k`712{|9$i_{$7+qwW7P*~f+i1VB59l+KDaX6n|+yN~?vvE68 z6*p$8-p1<4&R3QuFO#R^qq&awAao2ssZ;a3f%OD^zY zCdf5`w`AUnRpBX|JbU}^MqTbD71q(WO7K3a4eR6)6Mn|l=QKNd^R`s2K5ZLHmnVhj zC85{)wibd*s(P#OJN0StS4BFNoAkAUnL360qL4MHdt@55FE}_UKF@nGvTFx4J?iId znMLZq*Pr#EL^s4DPuJChARl|P7C2hWXm^8kGJ;xz7IvBg*m_9pSBPJ)Tj?BGjCcC8 zicZT0>-W@!#B71%X)1udg+$x2U9=l)6NbU!;`RKT_T8%z{!u48h2~gwIGgqg&|q`Z zQnfOw2iM3A`eXdz`O$9sJQwyScf}1SkxSDI|8W$Z&g=^iabG>WGIzM5Du3&4aSX?e zNzhBB8Q(+eTYmxhQGAK~-m$j0Y)1w$#wB5-U-T-vthz?agwYFqLnjIncRPe2JD6n{ z(GB4;BFCPL=1iF9pUN-s-K{T>k$=#m549ESk&IRCv7A}H_rMSN(_u$fpZq6-7V)|Y()HE53%0?l=U zUmanv@vw3cff(*Cu8L5b*jxA~o7l%kuI*p?Wf58)E0)o$ZFz_+7mYDz*z$lW4mzp7 zsdD0b12hJO6h&MmA9T_78rs^I%8EajvXq7{Tkx!vTqcy-fL}jV;al+EA zUMU1zK3Rdaf4-JFzurw3Kod`{6E3iI>(j~dur<|^B{}+=yw^mhHaW#3aQbH`MKb5X zY~eZVIa&>_X!UYf6ccx7mw|@d<-z3BQE<63WYU1-G;T;@_f?6yQFtYSOvg|S%m=!$ zj0z=sMS;KQOSuMxD)+$N1?IFJnV%0&9IKYD{TiuJ3SCbcaKHWpPIelwJBXtkh; zr47BA3W9f)=PMgjM>R7O6Q}xFc}3$WvgsbiRe?3WNS9dk1#L%O-#66d^KH1r^X)Fy zWvmy3|8uTZAN8?f_02u_nQmP@J=pdY-r@JDn9m1VALD)rFO!M|J00rl=bJ)-S*iyk zU`vRRub*f`kot^Q^_d?7=6{L)9zESwONOSbS-B!mD^X{8E#VuJuQ_~$0!=AV!2W^F z0sbR{ZYNWpc6efOOImwRNr86n;yE6$BFVodD4LR6#GJO*P zVmPpkp&K;o3-MoSSD#9rd&9EZXrx(tZC*!GDGa@_KQphh6_nezRJ2i>o7++X#&j{N z(P*spaGie@ZWT=!>r|LnVGP`h_!P~jV2^Q<>zP5eSr;gC{ONf=@*QTfCmg_CHyT^8 zwU-o|zAS|$53ib12);H=`ZVwEI|=Xwor%-fr#>tX!ih^-B^US(%?~c^#{DBwC-G~& zL6%sy#(a8^I@cRUYveSqrgGvo+jqz&4{zN_+2_2nhHhYb`u@yyAuksq$Bl}XlRZ3= z0Yi>VPpK7J`=653smB{X*S6~5t5RUEWEwhFi+xYmP>JCtep3H#J{KC z^RG-+aJTZ~`*LN~4_qIB!jT5Sv`PyEjr6Dc280G*h9qNMtNYQ!THlJ}>JR=_d7dGf zwe6G0RFV49|JY%4HzbL)7=S1gvZ0NiY zV)gRG?sL~XR2Y%bzHYVD6+oz1Q_Y%^v^*$Xq3w%Go3wZe1Jk(`U4~bcz_bZqD+#0i zoUJ2i&@_9)3{$`P-KoBHpxoRKWEZ)rKHWS@8N(m+sW=X9Fr6%%C_K1VAF^EPD>IWt zm5ctz@S>oC3|5!i5~v*8DHG!+WgiI8jO$UQ@4SFbIaQ6-{Aj}&+Q#}cN5uM)NYtV% z5_RL_dCTpEX5!xK7?=ot{}K6fJH&Kk!|wk@NS^2L&w*t*ABf?QVE2Y>aq^lzqzVC(cS$qnku3~VFb4f0xn=IAnSr}JlmlWWk?m9W7>R&Zp0z_laj6N&*ksTF^dg}G7c1=i{aN&f}CZiMqdvN7})G#*?!6S z*7MBr2t!BLZDTf!nyET)crvr#(n{w{Drm8joOULA;U{EypGzUuO zS*=%YdSp2Df~)&*xiD@mDWb$k#oRBbCxg_5BEF9|gx-@?CFbwD+=V7b#Qw=eWuOZL zS`VIG$=<+pmAuR$g)jp>+5X*`!f5JPO`amgXKI)=ufo&Y!S5@q8|u~8)ghEA=Aq)? zW-B}9L1xYjDnSMJT&tS@N@dBzCa12H{>gb42_>#1Rg_J-k|Zw!OePyYg}@r`FxD$^ zel_g9H9TGJyQ-}BR~3F$PhJW+E`3Q1WLlE(?0(iU!pq?T>swZ}#Zx}_?^j$JmaNR5 z>{B1wd&mqL!iiHsK$TUk%pxZ0mF}B)ApOqE$IRKb=S=wGXac(_gOxY#3}Q#Z0jlKM zZo7n$y!>y20T6J}*&^c$P)>=@q0b~fBmbRwRd*`TaUSV5xH>rfujn2q!*#pQi)S zA0%_8lVsKlJ|>=lKR`S9{F2qLrGUsxw|rN4Ct@g|Y0=i<@7U0l>o9j&Jez`ROsl&G z&x6eE3K_+0wZP=`LACH6WT>P<*!4sGVa0sTs)yGBMY*pcwMPQfmPG_rTrQs0_DvVd z;r25RK_Yx{t+Xy!!)JCc66|8glFG7D3D8ovts_xJ1nlqHWIc4uQ6h@y)?S!l{;F8r z_jGcz$>k)sI$pEP!g$@8g_dt(A0J}CX0FTm2=DM(bcfBv{GCoMRben^c;5vJ!a?!V zQFNi;6^SY_O!K>K>N;K(CsE8h7VvU;B1hXV+ute4gjDMP>}weU5tq`6B(^S zEUUi;rbxi!Uq;2SOQenf2%=~7nlaQjO^e(`=2fcN5BvR^3nU^df`8d2FLBmDGx~=T zR1snsEdBRzfJ_j#_`v|)gogCv06vh|0bPUEHJRGvprRjXY#SnMB%(sClJk$*xR9+S z6kQvH!N=M2XNP3B!pkM@H&Wb#YaN4uLvm2?+S3u+e9r-F_E)E2 zzxbEoK6@BapdMD=xYli8^U!oc8a8`nTKPSaK`J7o=aS*07GqUd5!VJNXq}8AfXSGt ziwa_h`(qJ99K}9*e01b&TOZ#pR-h!c-VH%0K3i(i6UwTlTWC!3PB~`0Of9y43gs@o ztT-N%U1s*MD!kC9r`Q10o}DomI_*(AO)D&kdlO#SQodo98F()RjrV2>Eb4OK|7rW_ z@b(M8#Ep4K5HzVGis4lIr0_Z>USLXAHpoTf)02ksx-Z&m&ym%C^gr-qpmVA5;Ptih zfy9R2IKmiaZDNttExd%r+!!dD26pnAmE>6js*Qvm~BB7tK}3dxKDLPK|W| zMmLg4uo}jhO7J&1KR=z_9MvAqvr!dAOq5pBZ9nFSt4T%m_H2p10NGWB*G%085A*Im zWv;dIAtoL!Jo42SxLTf07DKb3*|UEKf+O1tte-WDT|$$-*tN&oVba~C%%TFB>q4$!}r=)ZoV9QbWoG8 z(M3zqg~Or|z*s8$-@{x>S7M-bnSFQ{(%K5;7wevzdHM`}ftd<#-PRJx-dW+3=>;%4dTCbKekY@LiAPQ@&yAInLKy3Eiga3Hq z=33RXW>{*HvoEj2-2^)~b*eOp8m#hxX(wIaE;H@U-0(>0B!=Lzc==a7l8L{b?&y zin$=$%D%agBUO}t5ROXy6#A^Q8ErJYZO($Ba};IGR7aDB9kJ$J*Pg`hwRNC}=2aQ~ zs!(=YAs| zqQCW&Qe~GNmqo${d(jTJ2$zTao>0GrEnEDw&DuwXf}5-c4^nh|D~M?bYUhFTB=6fL|>ZVI7wk9LL1t~Er0U<(qDaGzO@va*|zV0^#G0^ z7nVK#X4G{-J?c+087F;x8@`s0X)laoe_sx{-zZe>*!%}5zhy|5)^){wInEG14&-}S${eALs7=R+cRN2ujXK#3?APYjQ_Hpu4nYnXHOK%5LLagpCf!ECgldAIBy-!b!eyOMBN?5u%fD-}_^aF{9DYNxE zrM(K({MBy?a8tG0+S~Z9L4&IA)#u#l&oSu{YhZpNPYkR%Rf+a;)5$s5K9%zafy0c48EMI1Nookl zbEM4CAY&_j)qc2e5!wCO-mR#?$1{ua#C#H+y6)y{lnp(I7kxh%;6i&ycKWAzcF2zv z$*uffrQTV?@+Sa$nY#zM0s4kS5|pyf$p4U{Z)UK%8HFI7C+hmTs^{-07?FzoZ#MWB zQIn05XcHp*w|-fEIaNQg*)NE|i-pgYIzHp_67RX7+ZJp(P#x+@qbcOS_hJrSie-G9 zf2&bkwb*CSEHthMyRIiBtuSZ7*=ZYKKOzXH$O)ZsIS@hwc=^2?SDpl9M_=Fwb3rr%DXP_~x8 zil0*}S`AYtcxQj;AGPJuU~$dVwhS*ucyAS~OgQ)2NQhm9geYSR$q~IZdHJai^{=7w zatHbGWbR&~a$JkUs*qH%vq>DeRJ85_s^z6Lu%25@m5Z%!qSF{El9-l#t#wpqwz_F{ zkNX;PQdnVfd_lR@qtOR5?^Z_$)hftO$B}U=cb|Aq9_6alRNvlim*o*Iegr7-07=O7 zQ|@PaRS56&_C@Xwo^^IQ8&L$bxS!mR2y3|3w_bCxDvuK;!hd&+{1pApo<@xo z_j@7!5@hEZ_j8L`wx$w*sI^C1udNl4iYgL)NDc0Pft@9nsk4`qV; zKi6yox`9|JzBOXiwzOWilCLy|%c63lW88|phk~tB#Gh1Wjx$;=K%9!-&F0R>kQ5l5 zKRVYww`1(*Afv6u?)E5rxnOUu0YEiKJ;;yf!_w&G$cOYYZ)5^l=y`3`9-O5zC2%Copie8#m#i4=!>AZ znWL5gYAyZj@fY|35yyj^^U`lM@7_K7v2mFIHKLY6p)~e}vVQBy1Oz}FFv}||JF1U) zu6K|~9DL}~?`0vw(o=Z(;7tG7B$JAn-@Gafe?M;jA{)II=kPf`v%jq6cQPz#@%pI* z)y|m@?!)SY?{q!vJNJgw#Py1s^LGtbUbc)S$acc}dL|V8zr*hLJRK4r^4Q=~J;*>{WEE zS=nl}`rTwRgNR(_y{YCmKC<~K{=SHTJl^^ri}Hi1E&lT0#>(H=?!1|%#fTZZ_^P3o zjg@UJLhXA$LL?BG=P&Y%3lW%p(}>gcPLZ}#)@8FERH5!Y#g=sNl-H=NR|%CxM5ERX zL#mj!vF9y)bH2+XDbpi(YU{ePJ#l|f;pJE$6mR`(CiY>?-;W75hve-U4u4M0NIT{$ z=h_SA|Mh*5lv3NH%ZD1tA7L!7>|dlUG@l-dtLEW~J#-wZSS>Z?fJkEF;|>-nNy&YH zpwRU%FQ0yN7`8Yuo8!5qD?U;A)j}%xv6Mw_>62USPk;JsNkD$>Q3xs^eZ~E#GJSXe zbN-D?eAb(up5exEJl+Q8^9acwC^@BVZho4Jlcnv+dUq-~VQc3SWf>NDg5Q9jUVv50 z5X!hk1rLNa?**+eRv3@l8|mrynBP}1<{@*>^SYU1DI_H2Wc9c&R$pca{y8t%CGGKc zH%W^Q~uzt4i*EN1CDeU9EYX57xA}N}8h&en0e3C<6Z9}RBGNn?5ay$+O%o1 z`5Z4|fzPqBc}!3`kZ!C!5b=AweNyNI--KJ0Q)|MtA;oJFw(va*!VQ&)96JnQOF4f3 zH+aqC>)vCd1NXO5E^xukdH)KL?Gq^;S8u{fovuk}z*TQn7e6LM{NaW%%}PaT7qQFm zsLQc?&)H2!Ov3;0$LtQL9Vg;&Dq?IfYio~u&#E)MVOp0}jYy1O{Js+XSPsv?TAj$b zsp?O9+FSL~Eu7fR*Dj^!3p{wI%J;46nij8is;cOfzT4P4{j_0LT(%4@RoPOv(6Sz@ zYV~;LYRQuZ9tw?+-9;KJVHCCFg2VH;y8;=^7zBLe5G2U%oVyI#OgW?N z&|3a?@+6tuac6dx+1+1cMp|-!+eD>{5Hk!IeSTv2ZFZzm!uBT)YNW(28|v%+bxz1j z?7mf)b~xfz9(;dj_KK$fU`K}W zBk^cKP?HeFP@WyHJ4T61u<|j=6PP|8wYzIFG(I@To1A1}Yg^U)>NvqxWw@Bp=e;(o z%a=XxS;VL6S*djJJ$r2L)Mty_u;|SrKgodh%fhkZGLLW_Y*rw#-1(EzY6tl$M|RI< zZ=}!$zWc6Cn$p3W?6E7HjGsiFXeH|K-8I%Il{vAgk^G?=RImOcn~g6{GQ_d-dOyc^ z)wwE5{0}}Z?EbTs^Lb)XY$_8%?@-=}!qL`^vKNC_eu-P6dMcrW$`MBJZqs%a)XVx# zgRe^z)z^NX^p#(L#?_7v%-l55A{^vnf+hqmDAS{)u>F|Ci+sekQ>9BTmc?615 z3QSJpOK1GT1hOZ%B%2hOgU6r$2Btq0x=>(Fie(X56=zGIu$Qn=`|d zLBA!m5g{Qc*j_z;$9lL;hy<19Q1UX_U8XH%9xOC-QZ9jI1yCy|2@YJ@g@r#bf1RZT zG6ksR#stflH)weu?~!*0oi183Y6RbLhZHi?>09`sB(uy^F+aItVyVd$tTMlTV`(c0 zLfn&WUd|cFg^PynyB5+}*T7^9BALy5+2{kn)7L)XWRVeoUhWl%{<+jp_iXRg1)I0WeWK$hv zB#d^39Y@Ad8wai}KAF&bYX4>RnPSGeuUqH3;3lTqe;E#WEBH%s>Ghf9!IhagY_0p< zTT}~_@2~1Xm8w?N6Eod-i|$t=*Nme~`528Fn0Bho2Xu3w)WL_cPpbFqmboaZM`qjq zLA1Rv3Ak|A{qB#Fx9ShrkT&As4ke`4<=A)XO*9Z1sK-4W%{h9j;OEo(1(K5r*MP#1 z?_s&v@`=YH_~y8x!om$U7So%Iy!3=l>a4DmCITU)9?15~Nt>6p4TF>il#*RZG1sc6fj(GBb~5r8k&9U;h0s0YPy ze-SH>HbsJ$qicI@3oZ>iDp&u#`Q6}tiCg;Tnb)s8_^MH8N_x&BN(d(0wzv zf~Oy-cBYT-);k{fu9Zpc8I;Y|z-CtyS9@194id6I;Oc#0yUh_E<^is95^Pi5nuJF5 zvpXfG@}#i&)m5q80QzhIM}H+x7N^CIjh67zX`1$&Mz}0x>v9;W*VDsn=aq$qfPl&$ zB>dLXJ3!p7D(kD&&X<(0_tIE+cf1Ff%B@zEHE_(as2Eg!W0|2u-UAx?8h#sTs~buE z>|~qiR0!M~$v4dhW~9HY%fBse8eZNs@zL-Rlj()MlqIH8(nRV-Aii~jLH$6ffv%Z_ znemnJ4Un>RoRB*OQaA}Rc{G82#D7#&-1>Y4E_S&=!bB%Y#XrwzZ|9QAJ1|ZdK8Kq zYo}%rd`B6c4EsXSZs0bTI?M+o`KGj+>wG*RB0G!4$LRVucJMtjyAm{bShg8RTj) zqZ)Vb0ShE1jh9bIyhf#+WObZ?C}sfDx=f@NYwUMK5g%-4kH;h7u#{W8%mkkz1c;+FQMoBE2*raJ(l! zm1H{N)Ty-Zqgv9avuvfqSWkeAUR=$VvADL-SBVA2iMohgi6rsAID)VU>=b*K+=FME zX)!;;dMttIM!)ZHud|fAGh+KUR{20&$o0la6USU@lmS2js5#)E0Lh&_eahz9%SfJrs<0oEM*0lGKv&9#>l5z@&bipSBl9EtjKDJ4n66;|+*uyJ*&9 z-@6fu1h)L#52TcihuiO*#54U}{N>ikX$(y8_*SPBWcjDveaGC<3&ubD9f`$HE#rpG z8?s|>jIq|Jj-Zo+I#T`}6rT~%^J{sk#EJ6!Xq3$<%vFPQ9wYNjm{XNg`hKBRHdohu zRLz5<++m-%CaI?%s4y%V1!r;#9-QV7pg7`=wCr&Sqz^_kTZg)ME>HM6nyJc4v9sjrUto63ZUTUjNqO%JL%%QR1 zAXB2;bm1JWQ=K@Fi1b;G<5#$C^sE@ob79b}(_*LGY}Qqa3Q&`fF-EzmuJ%?}-(0<> z(ykjFatp{KZ{!MPQo%9d|>DYoS5y07!ce@^iX z5bpJS3MHr??d_L$S-C4s2w4f5ESzeB=8Nsz?L`yNzTR9hyJ7p-0^15#qO62+dVi@# zEVMRmG56jH=eLpvg&yM#>=|dwyNyWh_=R8M*_?vtKOTdmg^%Gtu~dn|kTz_W#TnURr6$XnPd5^hxUEkVjN?G4{JnHHQ>4 zcFc=@IECD;;z>&vkb*$mNonXd%K?nv{d)vIDfiI@q0d@E!98;F@()=S+O$XgfSst0 zBz#`>e7t$!7w{{qCGU**h1!hyIfsS~?un(jLy!c`1PC%Mf3Nrq_6u;Y;Q`=i+sOy; zL&-*N-K)Cd16W;xqL}Bcf8RNG8><#QMGY@4($g^PrmklcKP(&H0KRE|Mt|Pcj?!KA zdwhP>lyXaybXVGJZ=)7m|8IL)=-~aLqN+Y!UZr2Tz4ykBroyGz!63=Fc!9$#j>bq( zM$v611)*jifGuj*<&|m5z5hQcAWMLNc`H*01mXvw0hhG1G z$0=iKO5U-6udE>~YX4Og3?z2fh|BbYc~#utpvln4$RcHQZ*zty9LYbe`TpV*G8Od{ z6mO&l1|2@>XQ%^3?T;H0;+(OuKjM(?dqTkHgVMo9GqKzzh%eF4$EQXDjNbDX4BF`h z38{l4jNIZiPICZg?>p$?_%L%?`cyI8^qm8CAiw0Mpf9!BMII z+u-%>0}4uzSMc9@F*L!YhC!ifowbhj6NrzeX!!Dt}qvcRc|H2$+(cl6@fN6EHm-v*>`=HA@cf2HwzF} zE0&Ut{UBz_TM!W}H6NUGAwv{%CR%<2JS z@W?L%9LJQta%{qlpuSL>Kx=_IE?Q2hl-7<1 z?Y!^p#rwLA{7iKVbXn)TWUnVUXEL#&ctmxxM*DBur=QYEyEh_XR{rfoH>I^YbOBUk zQj1%|wp;p**r|xuOurK!BMm{;om1bP?8~`xSR4}Ixm4^1Ob5s7uLlw4I55^D_K4Y6 z5J=Dm&J>N$7u>!6={DZD%LS(W|15L*wgrf_xBQsbpn*f3N49h|un{^M^n z!OgqKw5*FBbjZU)fKEYo3iGWzcGR;?1Sqn`QhHNE9y_2^roTVYnWjug4W=vxW0A#! zA~^wPla*kl=@BZ*D5slNbv33aR9@Mlqkn&qd2>g~-M(1JBGQ$ui>IOFE>-D|L>kfK z*~>xjdvK1CKriatjrm%B#N#JYuhJAYm&a%2EK;6kA zymQLOhdPRKsp{)p#f%3O;Vq{sdnW=mDP!|0^Z722{oa=p@KjZ>>6;Q8=$${0GWaJT zJ-CsL=eL0UVZocc_j)#{w#gy9XZCW)8Y@qSyPu4R!qstD_xaVe#b_$ObpL=e9|uUd zDCutDiRva>(CsLd&1(Gzq+_`RQnuK_2HT_il@UhLB|M_KrhQC>Ml-N6K|yU|NN(w6 z`S6YlDn;qW7qyqe?~{w(9mRjf5%nV7A_oyW);1F_q%c72!2<7H;=$CZw-`Kh@DXh2 z*N?T~f0`}LZIhSB?t1ePnT)rCb=33LoCqt`IP=}ulv|_voT%)0g2!(r@6PhgH&F{T zPXUu+nKN_;7$a8w z^{a%KJlsGTW)uOfKwB#H6->RfLCxrEG`y@A4Fy zpdB5ywoe?odNk$hRETlYP5YfH zXV{zPbDUzMng%%QN=5{D!^?rr=|7F175y^fZkq_OPT(6dUN1GfGsx+}vg}@}G8|bg z&b8uKG#XHcx4gf8r58RS9~j1&D&+5mV5=5OV19bh<#gdn@$D|uinvtzN~>05KLbsVzV5vHQ9L1}$GQK@scyytWd;h)iz7j*^M zRvloNpBcQw1kfelWR>A9)m}Pzl?qXrKpg8MWcQS+egU#@zg|?l?x$rhVD{+-GmRm&VNV)kyds`>})FErf z)nlhWB53V|Q2JMPPt`yI$3*N%fub3YUcVPZ9+)BJ=(Nk-?yPIm2Pbdps??zNhh^pT zZqYsmUEBI6J9{5JZ{df!cvse({CvL3XX+xxdDV)X$W5S4m|LMlndF%4F$dF?jlQBN zdf!e*gs7v6q&bA`Ab79k{8)E3^sI?)w%5{<^L$g{W3Eff;SZ#w19}YsK?5LDJ1Nlu z9)7m2-M9In&)JLK&1%;Joc<}MMTn)5Fu|COXEr{yOcu^;2%&o2C4FRYa4|TDbf5n6 zPn7!2Ae+3~9xt&S*JToR9hk)g&c*xODo?)5^sr)&kMXl*II%7~4UhY^?GU>Y*E-)J zFye9%B#Rt1ykEq`=ATSR-rLwusg3q$HA|j57-=TL73zj$+vEr4SJKD&B3|hDnSuU6 zZ191-B&kgE*&iR7f&$+SY?}{sBHbf*oDhujD+^Ri8tUUy9IG+hPq(PeyX$7WX4gx*z*`is zzsMeFN%wzXv%5C^gof$>ey?`ToH)*-U;LZxw4oxSFtLceHsCJdbad!^US6J6x|GIb_BcvQNjYh7t#UvJ#52QC}iP`5Fu)qQd15KjT$dOpdw35TrNA_E3vo918Y z4|wI}F4=%+rNAcRUN%xchlYgwC((rg(*^Dj5yRQ4(Wf1?D{(7OAZlRZE)QD=(92s_ zhKFsjXmIUDz)MuyOY+!My_=D>iuW&RjIi+U@jY_~uB`cnml>3M-S0_7Anuv~?Pc|_ zg+NNbYdQR{4^kTgK|%kVB$MHP1OjM-)_bJ1*_}R%uGBM0ez3mCHtJ7j!$(Cb& zk`-@^C(g}KHML&h%wYvjmGrm=m&BpVSyKa5yIVR0P6>?I-R>^q&&zb?E<2S=uBLqF zcB0q5bS@ux^*#Det=gl23&Bqd1)DG2hE#aCqEV6NW^m>*d16PM<3`;e+rPnkn{VBm zWJ{SFKDu_T8XSDV)$gy+TH1_nlsG$r&UW8(MC6t?xretS=S*@@O_1a{t#1CHZ?fXo zEc}vVkzbpmPDWIh41_ihKExM29}{D4u5e)b$PD<@o+IDj{skdmEuPz0$Hfw{xB0l? zX<#FJvVd4Snf-Fue>9*|PRs?7NiO;*#-_MtRCZ@4FGL<9S7~@AB~PO5eMk5=c{j-t z=!1sM1Gc|t;Vep9F+zC!nB5If>3(s;rmx!%7)GFHRHJ$Q&9M~=<@9Z08B};Ds%y2d zOviK9fX(NStR!n6_9Q#;vhSaf`ta+#{=KOfRr*VXGZfqL5~_t*GHk_@ot@n-vd37B z%z`3(J-d7>#id5}Cwt&_G)7t9EZO~_fg^3ZbDn9%4MNocsys6A3iA1T<~B1!Huk@7jm}FU)-Rft%0dW7f~hfh zdw>gz=lRBBRh38TXNH&X&##2|aNWbtzBwD5KGXn_{9kO;AH(d?Ars=mUn~ozzzmX% zrw{gmN~aItXkGta^gp@xNg9u!5k&CL5CUf4Dl&sHV2IT~jueAmCP-w1^D^DJs1S3Ib9T0vJj}L`o>q zYX~SsMZm2BO7A5h^w3EJ1XQH=E+7O59g;vo$XV?7d(U^q`NI!JM#fq*YtHqQ`@Wu! zOJD!h#xsQ<{iDz(8h)a$%o+cm%_Hl3+$y&8XV!lCpW6->cz^5Pk8IxfpGQ}Vv;fG} zTsi-*P>J=w!Zkn)o93DcWFte|sLcO-pR3M<1?t}{hyH*6qxip{-(y20r2lt;fhafM zE#KgOvU?_`?{9#X@c;b064JKx+y9%E$5iu)3N2B8!0aZLM>I&0lLI>_LG|Zps`Et- zQ$#1>kIjsu#!aOsX|=yphmAh_mWS+R)22jYgjb#mg*_{y$@esw%`WQ3T_DDcW8r#b zGB5H#DXygqq#zLN1$aJYoZ`j~=*kh)=!ZP=v z;e7hxztK6sT9I~)9+Y9;ioiuxH z)6DIR-QYMy*FC_nA}QnPE66x(N>w^wtn&!Kg>voXFmLYMcWd()KTJuL-Oh3g$82-k zW$rRU`{MYOZ>b(4%R)LBAyeC8qz2nT&NgqRmF16B)tMQjHU0IG7}TOxcozAI!zC`E|~~ZbdP4xUO(=nN-WPFdgq7GA9g-#vuo7+ z(PHLQrx%8pWft|jKj%~G@*u5=p+QH#U7l{N(c9fPUBaVb^4a&jpa!6p+9YI+-(#%Y2=k#HUpoaH1=9cm!jZGcHV2A+0r&=OEx7yZSP2vtlfxI#Pksh)@B>-g`;lHC6 zI`>>hnX^2HwCTICGPvb}2Vdq3j8Z!U4YPi_fYtYZzoPe2Nkm)d8iTcLsB_PZ;S|@n ziWFWbjSoAO`A|aLN#g<{Fgx=e?8vrd?tibRZy>S{5mr+j;2E;#;<<2y&+Q9XplUv6 zWO$7UR*LSKAopaNI}n>Ej{?f@CMxT;8xf62p*WvE%=FZIJj19b3Qjn};o1viP>=(6 zAnC4M8SXHLF|EBlts1aTGf{?TGeY2U!ctBZb4uX@Lk6@scfeSu!=*mNTqGQv%UDI1 zHB^r=(0UaKE9nW%e>|H1U^wqDZ1$@EMEEU&**QCJvb3Xyh=7)tRbtQpJ9W09m(>~Y z1!n7%;r4PEmWcGi2dQ5;f_eA}xi!L7@#(2mJe~T5ILV5W)oX9HpO4aWCb95F27Q{* z%SdfDQO_Rsq?!;j$VfC#=R{%VmO7f*JcH8;drn(XPELslt3z|k53Z74(oB@YXe?i7W32%{J*4B327FwFLq4OHPBe#A;ihn!W6n_Vp znvM^aGu%<5Qc_YLgr4+L45oYiNA*7sCSz|W|I<(NBcU^tymAC@KR?rqW@gH;3qUon z#jp^@J4H6b=&^|#Lsh)g@IcsJ&cPp~#sHBeGT$`6O8bvoS1uFnop`v#atUZX=%KjC zBNJzcE}>EO(!VEJV!`jn7}dR8c7YE3ow4EJ#O7}82)RTTUFO;_?!d00Vlz4y(-UW6 zyj_3|0ztCS>Pnrt)ytq&A?Xa7grhCf*6-rmQ%zWu5aNYlak+3=12# zd;<0xdT6f0`qeb4lBL08uqHmtD8k&Uq(;!@Hy3|{d3rV~PTyf5{hI>C3*9T05!fn> zJly8gaxVr%kw-Aww?S&FGjxYh`YuKFBIap^A#mipeUu@?t5I89OZ!UMYU84`_-KGo zqZn&KClK5x4kWq_W;=>To(P{9hE83T_I4ew=p0s*`$V4@Py~NmvPT?;Bz>9|Wp?Xr zZ=M#RJcdya+&l*p%IIdNnDD0W6#AaU!PMB;^2~mRBJY{Zdysy>IW=H!7;jMdB#m8y z6Mr{rV5}!goS$Yf36m z*b4uuizMO#Wv8d6);1c5(#Pe)h8B;>4aAXH@}_$E3RiB;R za$K|H5VQ#Ge87PQEta!13~+0s#r%pDJf=SHzUqTA%6+n63xjVrRk1mJ-kMuqSwr93 zwJFs2)&X{{X_Q|GXPqZtz`^5FBD-=I2Ya6+7EGJr_rgzvo7(;~=|K&{%bJ%mLU(?w z&8pmd^xk1+C#kmX6{pH~j!57jIZ$+OixHzp9khXuesij>mD_b$6E~VEb^+vZCoYtq zz`N?qWuuqP*M}GUfMVVLR@TVWi#Cq&SyF)>abRfZ4(RKbp!q;)=E*KrHPZ(lwkl8QBNbkoK^`MH zVtOnYWexxxqPfN?6|tNi)6m8#GUm{gp3t<6W1uw&He@+&H~6GY;^WPy&Z-Da(3;@| zC-K2;ZGz4y4B3q4UMGU6zGom~g>*_~m$anoRK8(y1K@UAR3k$_R{>=NOHQx?7j&*dWZ_F=RPouCQQ}6USJVLCK1!t#z z<6g8V1@vskg?-M{>|gSzgU47S+PE#HmTbs;wL3dMHr%W98jw~M-Q8(Zzmueeh$qrN zUEl=bDD&^tE`x^&%Q>=?>3~et#ZP9aOH2@@QbmV)HQHL0hLBjvJ*1gqDa&bg{k`W9 zPXS+RO!JpPLFe36`=~3d^yhk_k=mD=l@(AQ%w_$kD}}W668A8`6;A7Ho%!xEN%ZO~ zf2ABQ{S0^|H*DvUkuPeO@U`_ZM+e*itErs+uf}U^L#6?mhmOAePA1GgY_v_Y42F~T!6=LQ>!@xFt!A-^O(>!cVyH0~W0a}ir(_Qo@AA!CK z^^NxL;}8pXP9<-I|G0W9s2SG8uvI^lON$08dZdN43C{EpIr3*r)fk7n9yId$kv|7) znWGRlP#pBF_-YKqT{3dyg=g?!>dzFD>^XP3-?_l$>=99JyCZ))3xE}~e9|j`Eh`I;i78Ihtk>TKJ9StQ01V>9yPpm2SLIs7v%5 z{DCd4@8~aI&`Wqh$WW3}g}HY|^#?oirxtV!?>N(|H}d=Zd8ACPMiaRvVz9F-g6BZ@ z-5EnS`z6Tl$mcoAP|qt65U`NTY=13JiMROz9I78t17Vs7OZHvslcmfeku^~HH2-tx zx*qxF7fS5YJoi_}90suqUzTi(-kR?Y+>}sz?u_$4d^ZSx9p8xcJ~PUYj|7l02tTwup6^P&`phUu#R%PFzwz!oQp=Ejt>i zsXTC=s8NIJPAB`i4OCZitm!Bknc#{3-G*IXe9wq4)g{JiSk)dlQx~PH$Y9~zYIXNu z1>?}5UE$1!W5@i8jRp_Os|1r@(Y-r>wXP0u^ln&FHhV5;!KXq-svFlawm`Y9`$%jL zLkp;f5XskO@Xrn`DE)(ajexOJvOzP2@!`#z-S3KV*;l&ZARqzE$`pSxVkya!B0w*l z^zG+=_!)H;deWb*6yyL7+n;mWd>++AuHCR4Lw&r69s91g+kg1c%CTA^Yn_sJP?UeK zZcS9sj@uW$|Dv9BZMk0$OlqktC?pNd>dsMs77_hW9%nq&N>g;7_#+asR3Wz{V~rFl#(3l7%>Ct?gZhXHzHanYa!2>rXvaMwS}}}j+45$lX}SB+ zzOF5W$bsG%O)W~4w0u5mb+tm#eNOOVGcyG1zaKqXgTSCvO^4T&yivqxj|&&+avn5{8co5o&pTUF19K z#EDv8H`B8@Umqprb>Oz&|2al@P>7%5EpCVW@XpH|xhu=BzS=aq%j4pW<|@R)LT@*~ z$~ILvi}k#eI8-xStepk6Nn9&aT3vi1jq}-d-+NqsuCS_}?UW^jjRYBA)d(DpVwcC@ zPG#ngjk2kq2)2t#h-mJJ*{icgi>GsSWR3<)uO2w8bFbAGd(AiJ%j36#p3T9fYdpt% z9xp`qId^s-TD*`EEB?Rlm`?t?}8| zyAA02j@znEjr#~pEBoj*I0kII$h56c4`F=R^dQYuY%spB| zpT~Z8n&hl3rgoTqSdxzd3LVR0AV)|xI%_ESj^yh&OBR!Km0?TuSn4gw?~pOnWC=vq z>K?`m5+qbsqQI*mmVW4J)4ia{*wv)JDVIuK%JrJxtvKi$|1ps|d-$AD2DvO4SLpIM z_QT3xp%bgSkqNP6&iw+9IXX)JzWry3&uxG&O#y6VHaumY|8b*=#F5M-2fdLD@OkT2anN z&k9^E+kk{f<{4Y#swf6!hfW%y$2d|A(B4*%p8_MO2vTFK!*rp+bGBAA-b=Seo7#6h z7f~cwxN^M-(sdS%BWHVahryLwL2yC4K?_efdo0flxDws@izZ3Ngt{mX>f`aSX4_7? ze68*@VS2^dQ#^D;2^QD7{US}fS{fPvc@#^1T=s@-B+5A`EO=23tWBH^jH-(2)ueYG zKpxUdUUX8=3$CA^NXBNOU1i+5{;o+gy?@R^2`-Si|4poN*5ApU$|2c8$Ov`BDbq=Ob|Y@*b~P~7E;*~c&nqDk$yLtfQCP3(Xw2= z#jTiy#HU&D_9~hWpQr`zIVW2!U_LzG?1PGRjX1sv(qSux=CJ zR{E%2b+!a@pybvd@gvrxoKQg88x9OMUJY`X-8wxvX|??2u4sOZ;TY$Ym3krROfrmJ zVxd=$qtI)eWWGC6|Dg21nuIg5rX{Y+2w3)F%V9N1QnT=|bMC#5LTcgG6XcOi|Fr%F z>$5^(ub)8Xw-@xr0v;33YU2A9&Y&y(Y|7{VLN{>|KKf2c+?~8WdJ7)pqh97_gZ@3L z<`+7k{CS-M&DaWh4(6QLdR6g0M+RUe`R_U^MBJYJ79W|B~kCF~MtSl$m4h%vNOY_#0#S<%V_DIVA`vds z!osrNphdaIaIeduJGX_TlI0{PR{kGvDm+Hiw<)J7rPb-p$%Y9^Nlrg1VcnW*L~%S` znAZkA3rGu0-#X5vbzoN)>jH}$_~K#*eM=Cpg=4ve7FBuMqwb_ukh&~`reG)L`JeN2 zCFcBoEb0q0*WxowC}z>Mg?)YbG^&5w_27l|#3os^x+bWJ2U3?grg-`rbYg7R_C}iV z2X13{sCsf+r+R3{#HK#@Lnn-Y^>m)8w~Li;YVL?l=NqeZv5ws3Y+HGnILLBIjhFkp zuXUresz{_%`#S_$;@RxGQv{x{C(mZ12Y0WIdZBIR9Jr-@_UpvhruD%?u_Go#^g<<8 z4sDJ^{vi)_G~=AAp$;Wh!>h=>#+L*Lae^+}Ap1LBd};&%LgNvP2*SOnV8hPBZA_%g znbS6rXSJjR>dfXM93zU@I)cs4a;53LJg23mnLy7OzVz_&_m`Y_|x{&@VhC)NlMIhXfLK zW3F~i=Mi#AU*H@3VB@)05|ECDHu00(r8} zByBw&^3Vz8TI{DKB!gU}p42>1=Hn=w*=?kr}D36`I{h3?!dwcW929zH2SxnUQ?Ax-C?D5=m9ViuP5 zb!|$ys{ySb61B00rs&epFZnrg5vphAK;4#!h>;HlG}t44?%B~@#Qh?NM*|f_pUd_M z=ee@pHp{%>u$JtUO*eFDtO3e0pd~r~^@&B89+60-<#Fg;C%n$tRiRsD6}h7bW$Fs` zB9~PIeo^?Nhl{8cTxM-E3kNU1=D8$OZP>@zZemyzR!GCn{8D(1vQAAmqomEWtckJO zhIh7xIX3=Nm4x`3!L{)!+x)SZGl|gWQkgiO9EWPGd%ut946AT`_vfMC88e?lXYx>v z7bd4@RyBx#T08(s0=&MNw`=?3;H$;8wlCVAQ--3OH>UgDZ(rl`aRO@&OxK{Q=^;SB ztUj~MqubcwsO0aBnr>mve4z0GkfAJRABGGqjG?lIgD)A|`vkTY<1yM+*_bdc>xX}G zFFsxn!*(ABu7UPZ6~;r{`~+86HqEVGZWcygwG6}Y#!J5A?8I8|Q!OFAo1p~ND&pg! zLM+?pTulXjSL!k<7BOw@DSN~8bjWAkUF;4tS1~Er=Ukba+&1c(J8Ou}GtWxH0||`w zHT1XBJb?GZ^OxMF+#N&y-{OB=xG`5H9tp4*$ba)Hbza{O-HBRnMg>FM)ucfo7)UfK z1;SQ>Z(DJm3jB)JvR=qMmpYr8uw3svj>%MM;pwX7d87S|y|`^eRG(Wzat!Ntox3!q zD{a#gLr8l7sb%qv>R9}%PeF=38=~MAR^*b{@Bg5DrkvVPTftT4_Idwg zomG|SnYiV$k*|#)y?Q!fGbp}X19wdT+y*SK?Bpa#2E3*1} zC&sPn`0f7OeuMq-TBf!`hT=7H@Xq#rz3IMt8(dj_w)~NG7cV1RzwM8zq6GP~smq9- zvSogdvhUP@gAng^@gdAm%ymS?FZ(V|bzax;zwzQ%y=h+$pHo^=YwF_IRS*!L<=c`q z2Zz6xxG1>$#9zN&C?b^VHTQthSk8-JlQLf6Re6N<>Ex)u;5Logr^6d|gMGe+92F;{ zKGDEHwRBH)Hl~Ne7W51fdjNGUP1u+bO_6LGj-r^~NxLhh`ql-X z{Z+wjA^X5elA~Yn5=34M^56|BW4KD$PAcd8O(W|&)g-4H(tw}|TSvp}OK0ms8{&EC zvYOmr%Skz`Z7VxCM`8IJ%yVPC`%@`@siGiAVNW+VEmjY58$DkkSWbmwp@7llodbvh_Hkh{_+M*&dBv zrI*Am6=zl!O}Ed*hGk&xS|pZJFU3%Z+F^512i#B4JC+NPb7d1|%l?haSxNftGPq=y z-M@E4;d@i3WK@c_t8eHNb5>BuDyih?{z~CKN$N1YS8}@c)~Rp9(U;|2jTX{ZhR$XPNRQ~mdCMs{3+7S<~avJWPRp|~JHxY0ShY?bYqA@bjo1njz- zx}RMsKoyvUl8?^Sp!&!lu+utGMNxl}Rawo0r{VLno2`x`6;du=FzJTHYnLjnt=E2! zzJzU2axw-OQWjq&1+7&=%N8^BvbP7K9L{xKm^3HI+;!$YgAe=B1t?2v%TTX&; z(B@@#Zf^p-*FIi@>O33pIC~dR8K673W7OLEbkO|aIl(9mnvKUxs>%p zHa9RN!OF5}RrZkf5(7sc;#E&0x8m#-XXVyKi?UUGx490wf%fqW4apPv$JMWB8?Yw3W^;$b^I`T&|zM+SVZIH>u0eVeIUK+vawlqKIt|2 zw0O3WXdQ0|sPpk8Ym}t_&98Z7mGC-2kGd8{>8d$oXAu=XQgJ_V(w?!p&(@($c2CCB z8u48gUY!X}P)eX-0pJIYNvK~|N-Dee@H%yYzrd&9SgdU+g9Zh+MxJ&w(vwo#voRA) zCm_M_RGF6dFi#LE;M;d zPQ z<3{qDvNaTI*c4Pb}hkrQ0;F?b^&IcMmL6~NTK1ebFzeR4x!uI&^ z=o9T4Fm5fPwIj+djA%W(8qFbzu`9{VZKHQ04`Ud%3#*~10rjlH2VWkUd+8Jn5g;(5 z%bDI3^p)Ur%d74cW!ZB?WU1pv8`^iR>Klfu6*GJZ4{vs29u-_g)c;DfnaTEOTZ$Lg zDy3+)kIhUhB0s!zZ7ln=LTZ;g0fqmR0oATerPBS4l#2j)$EE~b{wp*m={!nf=!ZTI z_p3d!JPL^1e@gt8RtT**0M>bb{~$?qmY#p2*QJw{no16dYSB-O^NO0O`?S;1f$BCG zPae)q%7|(=D^HQM=?=h4B>4TUMG7`XxhdrTRh56n`j>aI3LQWubOUU@oLcW!9Kx(1 z;gfGKTHrk>=nyJe(Mphmxa!MI=fRVoXojR)662mi zl}l{u2Wn^fV{qobSc=$O>@0zc+H1ts@f%>oeQ%+FaVIClNW#BHYllkH;EW}RXw3Bo;IXN=!h34BJU2@fHM5L&)E7xqfUa}2nq-Q90Pq`4fyzb>+I13 zCAMBBQ$qkGR>@Z<#dE9!BFJbfMNa-}y{KPid5H?OFj?la3v98}LEFBX*(VA?8PL8G zBt+C5X}xdr2AJ7k)yl|l>PzCDyDza$*z@vtK53GQSaO)+|AV= zC}%+NSc4V;hHZH_+X6|UcX0zVg zJ+^gytFXCw7}C1h3HFk~@8z({$`yaetEw6Vgbj%kPUHV-8rlFlJ)MmnF83C}>Ge*l zA}|9WUA?MyH>Z(kaxq}9Ppa!B6rmS19sJ=JhNb8p47Md|iOK|w%ppO8v86YC{GLSh z0Tw*(W3PK$rs>h}GcaJ!n(FVwjT@;`LM=}xXdI%QgMAJwnROmx_K+i^TrdO)qUg73 zelkm;NN))cv)KTmkm201PTwA4XJgs)0Z_aJgdySHKwe7Pm^xp`BNXrO*IP*O=vCn2 zKCET{NQ>24(6aW8K?t^K9o)GxR-3V(o<>*OmNAn z^%!3Z&+eg)KpKyg9r*eou3Z3i~1)=QKEYI5{~vr9)x-!XTD@ ztR0RrR+RB)pgnEzYCqHW$N|(v))Q3*HW%|XiwHA7UP$NpPGZdpULkIw?hk385sFg( zQ3VA9?WTG$Tv#+Ppryns^H38G;`Ef!AqN#5)r=PIJLRcU+6&*yl^hjGD>)&CKZT zT*79l-Qa21ElPqXc*)->y0~iwoCyo9ZzWZbYG_c?S zn+JZBl(3x!p*pD$uJb*IU)@zpgX+q1kn@60K=;|B=Z0rMS#0wfWKu_2bQQ!keAGh?37=MC_7~sR zd!`duH`{VnCTvtk&s=xMHB5WNp8V8cGI*Nc$$*B$yr_2zo#yM2v9Y8Jmd#+Z z)NyW4iTs=n3zPnpBu-EETE9Bmw#C!6A$6FxmB_9O(hhYqa|&k&!XCX_URb}r1a}z5 zsi{(V%1%J@XzCPr_JwuyZaHm!Qs$`X%|hrYK#au3dQQuF5m={sy0HD?YA%$$YWymqBRaCpNndKDBvf-*Ikk++_* zN!H%w@Jv98e;Aqp-Vj*=!#3>kfCYS+m2mH&lH1(oF@1sSsT25iXQCmWaJ7VM)K{~@ z-tVeS6QS>ZRTEAXJL;A4UTm;cPt|el?Dv7Cat#`0zo(gHHuq5S!(=C}fvQYYiR#5K z1G9JmIU5I)misBR{W?X?Ubc_#hI7r&gL0@^6PStVN%;x|Fll!d>N2CHe+KklwWRV2 zQEh9DNK%p(jowAU^`BPfw$F>vzFKB`TVYEk<2CJPnA;}XPxNX~4%ggQ*{8>x*A<@c zD+q~BGkzBEAtvK&Qc_YY2hE9GY};bZbYYvTvH(NFu*CY~pW%tGe{rDRNg|kApB8hxmWam$?CqaE zKOGe-Z6IU;K<=wI>vuURo&eHiwg9z^$Nknh3W(}RnR&bTu;{R>v5JyewbisHH)OXk z;~d((d3!XhJ-vDBaP5#MTJk+|GYUxz&kjE&z+|fL>LMGu|KjA(hw^hNT&92$9BUA= z{`S}nOkK?NCm}3i-?Z&k=bjZ@stzl8JyVn4&JeVFZ_3RHPAb1qA1y;Z3Y<*PZex8F zx7mN8xj#keU#)r?GgGu2njgYe{8Ehtn8|~nkq-!!8d`JKPmdw{)f+y=)j(XkJ3rID z47@azPa_gPiic)c|0z%Wz12WuFFnR@~VF6uPD&koagm@L#TR zwx48;Ab$f_3o{5Qo%Up|mOd8<)uaR&>tGa?(q24zs_D$M@;5N~QQ}TSy2O3GclRk6 zfhSo-DbBqa>f`=G+GhdhEJ}aE=VKVWg_%hdLVb_}phqvVp~E~pJp*!e!DNejxWf(Ah~wWQ1hFVM6AxptO7{`EtEBHFiE_nnjJqEv{mzK^^|7Iay; zg#0WL5P)Y1tQ=nH4pRJACGC1{T~YS4l_00aG2eUm+Iq|%K!ttcFIe&kraZ?x!V$u* z=`(%f_v8;uf$ug?|3nb`S4v-`&#Q*^yCZ@Gmcl}y$qSbH`PGiCs>7ZeJedIvadKU_7O0;Fs< zFsoXR^na(3GzIMfgF32M_k?N)HwpLuy|wxb%jp7l;m|40EZF$y1F^UZa|6yI8%#_( zpRqT_ju#Zr)<`Bw{8Lsp4+;R(Wp#rln(85w$KE%|>@xgO@TjG^pV9uAT*3`hmtguA-I&*!Xs>l}4I9?vi- zDm1qkD{hO+@fGxVFK3=@;f_;6iUeL3bOz(}zNBxT>i=tNj=bT26S*r^8o zD)DT%j%v+#8-=9;qaEV$Mij~48mmRQp8dVA z@X=BdWCD701u7zF*HTgQu&ya!+AkTVfXOUy8szE(W?g7z+KR*>yX8lp(H!6^0EShk zE-Xd*XD-1z#o`ta{Uan6PyR92V&y+;<93qiz3#rsBjfg>s0tKR`fiKsSb@$k4&=t8 zB>7t&sCZN`EF;#$G`3H}=G;VUv~Afs>QRx9hwc;?A;=Rn7_0rqX1Dj=oeFJVYXzfT zkE$)}!9nkd9oI0xX4be=h?IZVZNgj?Cf&GJxketO+e5Ggf*xF-bisLN1Un{yJ!KjN zspuIjmwKR@~pXQ2yEpMIB{)E!e1c#FLzaMO^hJ~-Qr zAkcsI)Q6XZ@&J$P+&dD1aWN>}Y>c)Id(i@OCClj1d-%}-i~BS%7Xr}}(}OawYw#^D zv+Ggx;13qFz4(yA2O>ViMMp=wv2$wV9Us@?-O8ZZZI-@G*Oj=$mvLk=xssKWNo%&> zs~*T|z=fSazGvXb$MMdR4{aL_eN;3ZxnahSo}A~~jV7&@X)U}s$2+)CcO`-aPh zY*c#tvu4d6T&z9OY7^BH{HpZDD`4m-DmMKv$%k1xSEL(c=XXZ~q858(K?Fr%dB374 zl@hPp?1xG(t*}HR?%b)Q-m+HZkTNX&>He^&H1@>A4oW^6;v;D@61>9lQg?88uev8E z%X+YUo5u=%v}zWI`x{rhkOrI~+1WrXWPPT&@tPftSa(V^JjI+fb8CIPDn>Da$uz%p z!Kc2{HLAiDlFbBlm$(aQ0VTD)c+6bhYR!=gddk+&AZ4dKZCQQ8^}vfkr!)eh9%`1A zXa(ChuLcvIuDPAnmk~8hpcx)5qV^kIKGSNDrx9$BvlHl4G=yIoU=R5+`11HFbO;qH zqY}Q&?_Hk|rWVuCL&v=529_+?N>=_`tiFS8om@&xqXyQ8V0@CP$j+WUzSyj=L5^FN z_y=~!vs96({mdZD{GXEdR`%Y~QAwj4T-LFlZfQt34Hg(3N!C#%q>nY$fM|F*UPOI@ zl>c9{h3#7ldpeYvzBUM-GO-MumG6+AsC0+NhHSEdy?soSekAHF#K_S*I`+hVpuxy* zMqe}rjne&J6S>ycF{SGMq^|_>>W|55ahXa#gu}i)EH&4(-BzdU6!2BG)Udc1!ME=v7l7{ne>t*7 zwYq;itmaDDU1GV~1aHkRPzsL{JS5$J3Fa7cP&AO)_H~h9?!~ju{rzfUC9@AO@S3{zn_cB{rd*j zb$mP_H7fS@(8~zSNds!ilgSs$x#3Q-p>vya~W@M^zx7~tM z@FSbqH008V#_lu!qo@b3lWZfJ3che_!5a$G4>H`!(Iiv9N@&Vw5;C}_tgxp2zdW=? zgkK{7dfulJGIwjQf3GD~uDDFnRY0U;P8+(yFBKq>3OHqkWR(4>+3tEAaK^i-o`osz z*=*6AwS18uS2sVR2$T1;J{jcFq}wlzrEZNIVfP_}53}GSns{l!Ymzp&MZ?hs0K2^$V_Apt zzaVqCQopu!oUf|WhFk$gbrMgL#CzUU0+6PXLvGgSW|xK){3!yB2D?vJD${Cf(mf`T zjLRE({oZl0NdZ09#@;e_iFu1N`1sy~#n8C~;I9auJHr~cXEF}lZn26j@mZHh&uBpf z*0CzH<9o+7Jce7N@NoceU!kYgWIq?>yyh|kth7&tHhKCig3wx{(xruyYvckDw#gJy zr9EH%0h(AF16J;0l$u&bR0UtRCY5VDV;fEP1c82>eA z!ZFfawcvr~H<_4U2%;J|kY*w9#qs;%$i<5z-WfnKgI7q5uiI?+yTu#KV%^416Ovu$ zvfAhfyp$Mp#;y4mOb>ka4?Hvb2_x-6nOpZl*JxOW=f`@KgpB?4&B(12>`d=Jw5lL@ z-Y2mEKa!1zLWwIb3m9THF=Oxn<->ny5NsdZ{}-3uzaMpR!iE2l>!D^XMhhX=gi_kB@N8jAAb9R3x53n=7iQR{FZ;4xvK2n#bQXVoWEVCP;mcw4KhqTk!l~dM6`?HO< zPYvIXcXs=sk&MsQsi(j2%pXm@-E0I;Q;it4+N2EfB`$IUlC&9IyJkiE^|AD9)OT`~ z#^B4#qxVkv(ar-~GiLbk_#_;s0m>X(U;BIP1@h{)7iF6Qb6)z;tknzs?zD`5`MF^r z@q8LsrnmXOzkKC<6_wFTCRqS`q$O`wA`6&aI}bDt-}K{MCA0CHjl2E<6JL;EH2ox<|zW``y!GLaLxqX~82f(yABYnEDBvJ0SoKK;zVBfS9(%#wK|$;Q%4YUZxrypZy3!K6beE z=jt^sEzNY+0X(K!AoBf2V>%P&f989XgN|2GXvdSBw?}hrF*GJ9fy;XfD0a)H#e=(& zWdazx$Rm@0*3)9oJZa;-VN0E=OP?L4Tnf{dPMjksYcakDl-ys4SKWAVoaSwYQ5p?r zGTrw>yM`>gII@C=fyklX6I_ADzGAUzhA2syF;DZdWq>TPXB$l1FAovxG+9^Nzl>bm zW?#RaWL7i-6 zDYeG`J~p0RMdPAob5c=&M@UFxs)Bn8tLw0#O!J>IvD~*|^d<&KK)Gnl3eXma^ta0U}c%DEnSbKuYqi*g5gLa%>S=pQh#mF=)UkVtrk2#>o;(^NG zw2|Vp`5ujz1MTG-`V(8`LQUy43EMeu$%*(~z?ChD?a?Zx&hN`U|HVI={6D!Ii6AcT z^>=IW;PZXgNnqIJe$82+Jd>{R8_Rw|B)yNCqj`m`))kxW&npG z?OyF&DY-an;g!e&yQmmpYYh^9=_)=Sz!FLJ}v z>|Smp*h*9}{jWh*fmin`FpAuu>tp?R-H5WNdpZ#>71?Y+ZErcUc>GshX|m1#)hC_@ z1#UY5aM_as*3Tz`9Q?v^xbWt8%`hAF1QCV|v)l=7DIqZR?oVEO;AHIT@9ZWqM3Ale z5Mf=EdwZJm1t%_3@fq0L(*+R*f^X>@JhJ1d88&-M4-=J9ef@7Tqp@cVJS+FK1C9;| zv@CCE)4}UI8RIxYy_|;YsNMZwQyuDG zGN5cYuoEd)5)a$<;ZLU=&T%2P+Cn!&W{L8`nAouSPE{klE(y>&w=Pi$HOpAgJi6T2 z?UuSchVqd}PiP;#J!QT30+fJ-;7m2GpcSb^# z&P5NXaEc$ERh3@$Z|)yRh-ar(c-lB09?#WEkOD#1#vTzpzpq`f>eK`#&$nDuQ~XJ} z(@geTr|ono;`+g?ZbCF$28t~jXvW}qe_Cbb$r^~3v00I8CBQsW;#0%Q?*L|{(oiS{ zUtLfpJKixG^e$e;U*ufn;zQ>=htKJ4kzMC29p7XEN_n|>cQ7WIG?H)d!!QW8sy#pRgf|q2!8saC~Eg4It;M2usExG^85wQ ztlnj1&ysKQs3NOv6R_l)>s;ifn(dEdlaSe*-BTf%Pic4eyU(mkLKRdse^4~8OcC9dKI!pcs>*af^b97jiyC~CDYVgQ|C!AL# zw)u-(Lod$O9`VFosQJR6;9cPWU$+WeeC=#lNH^tkjptxr80)JDTW~I5sASl#0n@FD zSp;l-w6iOsUtyo_ywT*$A!?K^}MDm9T9q};nWhfbmNkmaen1X2Ic{&kg%<*^(l zgTYh1w@WtB2rH3+P^_AYQw3S4Moph^1=Qs>eYY!n+b=%Xu9mkI7Iv^WzTz@2Cj}@Q zGP!f$Hd2N05h;Zu_%YlNZ`$L@^Zh}eJVqoQ`106-VkW7+`nPWop!Jxj=p|(?f0Y_HDa$T09S+Gu#B8+NDtA~K2+b+<;4K#U` zBtH%KzKho+lSoh}p1#OF{xjSflRnDpCrSPyS)+$rez2C0@$9_1QJv@6YI$cS5Gwvw zTWF+|Ql(4uf}|2ibC2`!BnNsbUdBXitFq<-=-v9HLzHw$kz>VK1Hz+iNAZ}X$6Yz= z7o^$M^KQOhJHV8Wl7*W`V!&EN^;g&*ef1F<-#BANkDh_=x&-H^@qL@E{WCGzy6~#w z2ZUsIcE$d;$k@FXvzG5u$_U;z`=X!O=6N@)l+4#EzQyb7cjZcSC?R|v z>{`5d7V#-Q<^X3<=K1BZi47e<2i9K#H=tVwv~O7RMj>o$f?uG3-4~LOMaaX^&sKi5 zprJC#ED}o)eW>&{UiBLMa^V<7gzSDA*m_i?NJ?CTkNg2*n35_p*KZaMQy59B4WmtqNPUc9iysd#3%_8k>Azt z?>V01dH!~U%azZ3zt8h^21c?ZLUo)SS_IHBb!WS%iLxFTfCO@08*!d8-J=@(^;{lF z;ym_|iycZlK6e*xhvUvI#sekn2%8%ZOZ0L#fdkKdGx3V>o@C~|O;^K- z55%ePqTAtJEL{Zlep8jwC_V9uM(=6?$EKG(a`@@~@Trik zac8@>1NZM*R(4AtbEQgiDqD8DIj770=uxwIxk}A~FDt#Aw+Nwt*Yc1QHPXC!zdXp$ z>cR-~>7=LvcXkMm0bJ@eCg%w6jO8YpL!| zFy9Q%n{6oYqC?Cp)@r&N+{@sP?$)8r(W{y}R&{iXbtprU*u_I?s9*IELL;>sTfiph^jk%+J)bFx__=T<6v4;_ugXEQ@pTh z1q4WG<2}tIU^K^)q#swVS&r_jOr2iL_pWqKcoyCs-=7Y|yX@ayt-d`mya{T{*E>6r z@f^Y|+{RGD%9^k+_oeXi{ai1Lpx9L;>uVrHobx8!{HwhacUn#AH%sLQbs$SMhoj4* zQNjOeGRX#aXb=x6;K~IMf|e3(7J7N7*1Z3K0>u9jvRTIwU-rFQ^0c0G=-iEp=ltac zn>vo`yaj)NupAG>9u!L-FTczceKW{ep&!8GVZnFdzeVpJk)kEpD2Qx4_u0z=0fF9t zHoCtAH~_>=X)|hB`q)fq;vYKHq|=6Ar?uFj*c-@_@oL?%+NSvQad*{PFfOC-rF$i7(4(q^Jv}4g~ie zQHom8hrc8LrO^m@J@g$lEh~Do*L(EO%wplLUm|{N(cF@nUl&0N+sYZEw^fA{0`)6dBk^`ZV{3WmYLh1SG?Iy-5* z_Brg8@#sqXnT5!W5V&6WWjCLHNFtKJ4n_cSj@{hdH%JXq5@S<^qX5}-K43^??Jwap z#voKm6bMm>T4}o|AkCpnu+kJK&qUs}}TiA0c2I;5WD1giQ(4Wrn495NIC6LY(8Xa|TKbNSrv z&kOC0Sy%eB{ifN`$>||>aVI1AWQ1}<_f-^URN>^J-IwzhjRQmk zxjJZPa6o^#Tr`O-8+l2g#pacB;?N>GKZ)C_`;Hs2UPU%?HJCatcs)X5t9tT}YtN8Z z{MNo^iiXG$d&H7^R&ED$so7cRo}^XPz|!)i3zuO7zdG94vN_1E`L0XxEaZ~}rv5!> z#UdegEgd^Am_4vxtAw#0j2nsKl@9g(-T(_Z3aP@;qCbTVz7`H^w4I^J)=De|c1GQc zj85xP9nbv#-3w{GVm!oDx<|fL%&9|^?gaIq>UmoJwArXn(+U@TRcz4=!c6c}M~ecc z^nEqslIMQKM(k67QpE-BR;g|o!>^Hm#^!-_UX*{(8R}|x zyX~X`VHFViux;l1Wzu13iuf!yI%|oQ4N2`y^GQm zeqOo!N{pWo+_wvlOIoxWsFvC|bxclqZNcL;n#1=|#``u^ue|>w@^jXq zsygXuP^NP(KbvP+fU)RX-|O*Hr9c~RJYn@;Ht*Tj?<*@?#34+w!m^;>rR~Jc2t@jo zr)lxw0dnJK-iKx*>NvpS{I(6=HW-!o_64MvJ1qhaZE%jasrN`j>zQ$q{^Bs&Y$k9^ zi;l~QC8&2w9|6O9mxtnCw6D^65B;0%4yI2Lg5!6e&_~-@L7*>b2u4f0mHcVt*q>K; z95)Gsxo;y~bE`IO_;L9J^ zJX@(Vrhu=W5X1U6hR!7QxrRTMX_!25Ty=>T_@e>J!|Z^IG3L|-tud+8z>m0Z8o>q> z$vFp_%4qQaS;f4~47?y?6dUM$4lePzLC%YwmXuxv$t0wEF6{Jp2I0YqkvqS%|I=`j znF734nn=Ljj(^%jtk%gn7!#GqP^OYAK#gPqUL{Skf=4$%rULxiNYk1PJ$&De4mg7) zwrM7bbD8>1%DX&?_bbu660&& zKZ(svMcn#aE0lPRgOR`p=K>|phDQFnod3i0aUw*+^GW~&BC7k0`^H=SXGDd-7C4S~ zs1qtyz#PA8oe&@f6hon-dHG+OSsa?|LQLq2?J_Lm?aj@3;+V^tXF!zf+*J7&QgQhF z@#~asKA(e*+7a!uU98-B0GL|UT(9}aKGG75*w=mLfZ1jr$|bdEdbETJd*JW18v;*@ zFrOVL{mUNukX1d~8{N|$<-N0@vR$Sn!olAowIvfl_7YMh{9`#GsOTpZXmp_<9EBhL z^+;Zhsz6t~$jJwq_IvSbeMu^5HL!@g?*F#YH5EsAd3+j+SCH|L2N&JQ49DN3$M(XtcS;wZAH$Mk_^dB8^%?Co z%``;vnPO8|k|1R34NQiwC)OrdUqOBWR1n|?wL|49(9+~piX#F`E@7bPq9 z!J-UlTO9m^V73O|B~6(2A4mO8xov3T=m4t@P z>s!&qzS_1&Hi@UN`V=Au=YFk%Ju6~Ws6Ous2s9d+Ak0H>w)WphdS zPs{y#ypLd>$EbwaNn_y_+>~Xsn}w`2&TM&wPn0_;-!n8jb>O1ql{OqGFEc7w- za{coW3|r4_*V83=3>3Zg4pSJX&DP(lR->S+o%G>B9FUxx&J?VU>gPJzeF-#e%8c9x zTl&3aCIN0{^RtsnZH&*69zb!&$da>;(ExHs{D(wwd@Z99QvtYI@&=@_ykKlSnh61Z zAH?wOZ=2g-ayHN{8eB2K^>8_^!D7gx+IG_PCRC%ke#2lG;b-y`d71LN8(fW3Ap#eTmCC8BPeckg8-3cPMRzk%-8S)hB(KtZ@si z-x@yY8lLqYt6B;Lf0CSo{6y@@3A7A#1|azX83#i>n-k}vd{hg|XUyZqc@s!3&^isD zb#cIY>ROH6Z5~=Jb*}T{@b#RLh2p&dvWyJ={@$_p!>K>BC-tpd_JlovA4!dJu21sB z3)brkX~OL|iyfIk!**MIa?Um^++{LLB-yf9U^Yy+sf!h~UD78*&Q*ArGqr$SQN{4s zK>!Ul!(Oy&^s+ckGQFhuqL~Al=`%QoGu%Tk*s!w-{`z#%-yCEk0emOo_c4C;16=Ba z#e0MIuPe1O+Rm3a8`z^3g9^KRXS!BKeJM)k-*Gp=#E~3tvRm7Si4;5dz(@-;#TiU^w1PV^WPQ zU%R#R zt~>D)gNOq*WK{7-#0z+9$YN9on)OVA%?tgBE`ZKrufYGv!Ot9JE#djJaK$91GHgS` zpsaEQ6SnTdRPEvVZ>5#0r76>{hq%#sq{#($70Gq8?@j3nIku4zJ?{KWhf8n)NLt=Q zf?z(@{ANSF#eZrglAM+TA&@T5We_^+o2Q99!;`BxzD)} zl!?Il3c$8LUQc}Q87esiv~oVOp}GWzF(;S>5B5v!^Kx%jONS{G0$QJ6bSk({j_!;1 zw2;kNEsU{-tR2J%@;858ewobF>=9A^cP@P~>{IZGvHbcsL{NP~CoI~i!QJX{@9lSt zr9dxrN)Y~EExV-D4K9FU4GHQ{XUahYUU-G`tZWjA5Y{+nrOwf1>0S0XpgnJhw`AHE z-~B$aEj`hq(rERzX^{0+=y4nn8M()GGc5;}qk7)JK!ARcv3{i~$!c!*ebT9C5k(y_ z{p$UK`QHH2r%sQX|6k#c0?>T|#6NnI3L$_B)H%PDVM2Y4Kb*ZNpxkJ%9N3tMgp{p9 z0L|;XpR7_@SO`Ek)t{B$o8UVG|G249u^9A$6Ke-)^awN5^Kl_4xRHn&aulwDVEK>fP%-34Y2r^L*S;gN6q6(Yd z=k>2dc5whB5?!qF_;wScrRbwcfZKt7UMnBq%hG?*XPkum>RVhTl5yh`}JqF_cE8lHMb7o?}BeRc%Jj; zN@)OS&6q-*rSBHdUrQ2Dnq;W=049g`?;r2~3QW&yXbHziHAT;g6-2oF=>7N3m!QLT z1HIdv!}F0gfUcOqx{B?U#&q;6RyjbP<&jGEYS|JTZjSl1{F{a6S97fjYZok0(;NhP z(xItHS#`WqbxkNj71?YzWnhTcV%%uI2dI*#rl)`0{Rb4ocrx=Op)=)=o%^|z7~vr) z)h8=gKm}O%V*Apy*MHS67*Ar^&3H?}OR9&czfxl;?tdRMiY8Q5fGqDF^hZ+9-G4h4Y%vKjwp5iUmlAgCxs#%tPl zs$JBX+Y=<`?nR0 z=n_OXznMP-jyllo0UB_N*W1I0QZg@+z4a?fSJx7G#ckHh`G2NLU% zO1JiAu>oETa8n74{UXm#B?mW=qON+HDhtV<9=CR%CWoK&mi-w`xI5s{m zwyF0`364Xu1io;@tqB2BQTrfLP17gc%@C) zeYY!!${IectVDy7qInU&wzo6&Lx!NI1Ruq{eu>%=3p2AFbW>S&_-Q3x4N4N&+Ul!t z3x0aiNRIn~(2^5k<09iGp@WA~2hUP-F&N#U;L0H>yP@EX1N`-tip&+?8BxtB7ey5a zNA%G^pw|rXoD%?$Qb}>GYaJnv{O9Akx+tY<)}J00J>i;x9$QSGkIsal8qk8GNsIfR z4!nAHJJWdEg|qU-+zI#kDpzZA_Tt;{!QyiJy{uHsWH=jDvQ_!K zH-(V5HZo1y=qM zy$5bnSQQm~M4o4ErozVTWNx%luq#G8guFMpT-JlWKASJ+lM(hhj-79*RL=2;MZxRa zkFEW(@mKF)3lDBs?BPunfRLozfXE_(58!a0Yb-gdfO%jO6kc3noGgG+p{m;rC{2ZL zkW1ws9%?rX<;#t(SYe3JChRXIC!-nZUS~o-5&q})z(+vZO`|*Q*!@I`?X>RDbzPz)o|0!_AHiUq{h ze=24`jdWN3feoko!CspeAB zSklgms&E-|vYok}caiW_j1w8SjJ#p0rd17n|KJ~S{-Ao|=iwUjkT>ik;Tk+w{vQ-F z5l$hoy$rI^@UZ?TDN(M}9Cu?MlK z!iT-~jg`WYm1@V`k2JiN+1ir%Fi?(NuAI4^W=foTTl>O|g?B>&*Oi3H4L^fRPJd6I z;E$SyXOr&+zn)_V>gf~YQ_w%reG~VfPDpWZ+h@G3(8yqV`S*7No379;`c4N=9nO2c zIrI6$u&Iioh(BpsF4HlU#7pWhn%ZG@rm+t3dIC~t)`{L`DHl=Di&<>7g04y{IdTmt zey`(#*Re}0@|<{I$c`vEl&LK_OxDkCTYr~Xv}j?$9dPv%THigx9)HG*M}Ry~)3w^0 zkutr*ZZb7PO3%ox2(&suF?592@M$(2gtlEAKr1{cdAs2~9L(W{`6!mpk)zoB>EP9( zm3Py3Q!VFIvFhl9BB9KD+Lo(34jnbz7}Sw-0n2XV*_CK|O?|l{^S@N>TLjA}uJM=;*<$rQ9a{=UaE1 z?{HlWCYX-j$yaihxb+5Nov-{~MM`{Jb<}^5ps5~21oTeDUW8M?Tur5a{nfxou=NoV z-JxvbGCjTMux0-3)r*h;N9ylxhm1X> zW1GT7Yi&OVi7jrWg`dZltE(wkq*Ra%UtXdBU&!3tPU|yn?l%gjeEvS5oHz5|itm_0 zevyj`vrb>1TWtJ6TiA5OYSDcpmFFchwu-Ru$`APL$DZZ;m<{irX54S9zqb7JrRRTZ z;6sL{(A%8|PgsUjwtX6hBV7A%JJCbl&$pA#Eeo_9@%_61Olhngw=!PA?bpOiCQ0JU zl&wFQk#lzi=}btORq(iAI+5v2NM4OHuxO&bZrZg|yL&Iz;56afe?DM0yZm#Vc!g7v z3AN;u3)aj`7w4OPZl9oyFq;M8St( z`*PNYA@9q+?prNV(wo-uBL0Z&j<*xudxIpmgUaOWi~~qr2SZH6z1!(Iazjxd(sMvR@exiJf)RYxWtp^X*_FC$WuSuYjTX(G>Rp zpb(z<@AXHYBFU3hJ~MYDJV0!LCgJRgumK63$Z-yi9G9;_7R5`e;5M z`KJ?chaLMSddjcfz9F<*zL+sy457ub$p%!{Ae5NoyhI``YKsc=7}Tw3VV3O$ux1Z7)4a7(R9~eJ-O`s<@Xf+A^0!VKEGnjv9;!R8IC|?^X;Uf z1(Su;Xu8D|m5m*Jm=A00a^B!hb@_7fa%-dw>iFsrwPLPz=*0KYVrX#);_mgRW`ptX zzk$Q%7E{3~3L-c5>8{h(5Q_5#;TnVifvDj0r8=O+%1Ak@BiblNsLi|0PDn?USTwEL zt+jc2qBTnjk?!G9;cc@-^vnkPLCTA(%!XQ6H%hwacsVY#?6qtLU}7(C$J}2k!xm zWr$Z=9im87FNX&mINpkoU1*PL`AdqA+D0HN6U@$wPul{@&j&yelSs$DI?I+2zhD^* z1R9X3L($|~m(edz&pD0C(+^73W`f+ZPXm**g=>+&CMh;gp!3&CJWoT}bNLD@6+Y$0s^GvR{)G_a==S$_~pw`ZyRvXX4@qLEiIf{ z*=>4rsxmyZjoS$vl0Hx@+w?ljp~s<12=plKbV9ua-j6U&K;fBj$Q?Ocl*iNl<9xFJ zq1&+EaBJ4K54(E*QIny_wX~Vz!aT;?@DX5j&hj=`N8Fq@(-nUU&peg!7G(OoxASUc znUH`oW9PPQK0dH+n8wTy|9VTUTW zWjt2Ro8LRvyLB6xy^2|$+$n+g2&&p{Z|_RU24eGfcdoSyb;v51CbirmN9;`z(2KOn z`8`rf3ab^(kJ{5iUr-D7rbXKmCi!5YY9V{4@+Zr`qnWoqh3u2@0EphFVgow1n1_EH zMM{a!9$I`(&o-AZ2871{d36MPI^9k zYG-npk-WPjXPjG3v5>sLVeOHR&KaH`2s?h)6i)W$o3y#xzLa{MGGq9pv7|=+bRWJ* z{nlDv**&Nv&+-JFM=M83aN$a0_HaL4bV=@88zyOs0d19h)aCu|s6 z^hI7zm9}T#fuo4v?+v+c8Ap%%5nf*_3<5QFX)h6}Si+eJQZS`$|1dkjaGto=D1CI= zYnJ?NZRB*|9HRko=;O%zKn6W3g{`Jx`@z49t`K%AhbgsZU=5hJJqlj>PH$2UC6m@- z=1sLfoZ`S9L;8lqh?NI7lNdb(8lHDXuRS9A>?$mi=}T+u-6<)2Xv^aDBi$=DFSgI0 zVk$>>l#Y}}cQ#Nz50{x&ET@v_?L%Aa=|M1dO2pXxRQJu$jid8yWaxT~W=qs#Y^{mY zBTDq{E1~Jl;=ej<@@HLcOLn!BsC>b%+V za3BudcN@NJ`H0(}GUEqT3v?*m;3ZU8)c$ht{xpeV)xaSW)uD?v5}w)NZUTrKlZU6D zY&=;di&!0c)VOgUr5@FLhs@dNyNEcPmUeWxw@j7RiFVv~EK%1cl zM7%=b2WpSnX|(_vznb$PV2g(z)s^&=iqsbd3B0#;CHcg$z9uQIFeAekNI}8q$K|%! zV}(BcyP8cUbsF9s-dtZT8g#8&Z z47_l8ztlImEAW|i4Aw+3&jqTT zkQxLk-;$=dZGA%XyM}IBNzHx!iZ%&a6veOYM!y#Crio4O%4}0#^dI+JpZoAl?eyHl z?CtIq!X|{N6lk59J)~l(Ca`BqPOCd+M?Rvh`P)>fXt@9Sj^+urbeAV}kDg4s8wbp+ z7?IA>PfA$?Qt5R$IL2 zW%UxRX-X2&%b@UPFl#LL24&1{dL#uTJQe(bP_$SgG&)o>no=$;blE&!=~IvXQ)| z>L~CUUW)iHdd^mkT6c6H{_1K(r;1SabCo-_A--?*$+gD2Xb>Jf9JRGW6*0N%x>;H+ z_TsPwTJB87#XDh&<2}1%DqDZd9ZlOtMCJ&crT*6Rqe;3gSWLMCi-@$dp5WTXb}_qoKA5FkCvfrp60urnW}Shcc9G%I^+>E zl{L-mTh{P;)_QI37akLZ&_-5O$ob|(Env(mKj!hIknCk}$>;WehRlZHRRx zW^|VaZ8Gvdxv4{{9YR}A9)hC*+cqWC&Mhj4p;l-E8tq}uK+O!-|Ju>Z-aKQ5Ybp`U#fj`KrLB%cZ$42jQ)W*hnCYyN4P z3IVRbwk=_#aP(B;^Fir{PKNedt0NC$PKAPfLOoAr+xcoEXd(Hkm)f{m?rzFiy{uK8 z_@dAxmtTUMoz2+fXHw_A=5iku-B4tr;T4+aYj7n`q18G-)M>-ptkc2Hxc_wqR4-uJ z`{|qc@x$^}{WVw7$dUA|kPjZmFP!v9EzgUaXkNY1azQyplBt8*p3hE2Mspj=moo=j zHe739;%d#XTCve~ zDbKU)(Sj$|%>IaEpxzW}YEiTs0bTL4TEdTGx>lvpIxMq35M+{e{J<{*rfMOwM~jE> z=pC{p-u8w=_--4ls6E~26C%pA1q^v9Z5J|da3P9PCD-YSvJ$3WlYRre4Ur~Q1W#g@(Bb5K zPn*K^;f27Za@Oh~!sJcm9q%t|he-#e@HIBp#c2a>c(dE{?s~#7PvCpJ^;Kk89d7s2 z_Z?2+Hh$RBnp7_pGrz|I^D-ODqTC8N>a^H5W=dK;l4LA0TB*@=gm-|0IDRUE-E5}C zm$JFUE?%I+wlr-F%`5IqqgA<}kMYJz>~QR<3}pr|P1k6}ov$X0v{DauQp~(cKSOUD z93E;BMxx)$df&i{#2l>4NkS5DwWV)dW(p@xcs6O;GJPK%KZdV{pkFNowd^y8T=)!j z#Szj2@T93yD1{J+o;p>oWVCb|A6gP4l&H4-Q{YatWk^ack~`BKIXpvFm>r!R=I6o;?7fLhV$`5r~Vs8q?*})^}_V?=bR7-edHzb*Z03+m!ra8kX_)Ok87}$ zhZj4!@xE5X>laMx2fs&k2D|LYr_7HkIJYDRHWq}m)~3=8eEmXgSaCybublp(@(0DO|dHL#V0mbOFknICQiZJHNC36<3_w_J5q7q zvk^Fo+E}Hk7zrFeyM4C4L^Z9XTU}xdC1$ghbG|+1?k(30`|5X?xxw2!^yJy?K(6`% z-@-~y=+doENtXu2+$OKL+Cs#U%@#`y$hUgk08X-?!mkmH8}aYOY`kum8Rv4C5b;Au2xNb*F_~!a=r5S$OpYe6>6dCY zC{J!Wt@i2{<7143-D{w97f2fM>B;os;j>U%;#FQtuLG~(Y{YNqba(I9W*O7}2+uf8 z;>$lTviF~sNYAt72|mv9?zabxzDC>$r{D9bEFLxPlErr*gnhho-C6ESN>&Zty0clD z-09&*LL<;h#_;JX2Qt#~%#D_dP*ggTVt2IqmiN{5?()Q7n`tDrK5y(h+LP~^B8CD~ zz$f4+)oo;=8+=mAK19KU(a1e1TR9N`1q8u`+BZvLPlv#7I60J-Hl5(pm1&P_MC+(n%)St zDjaUy1mP0@h=iFkuA8Mx$Z~Sqc!wWsLQSRYcq55U-EWmd9r8Gz!8`}^O#aPx-O1Cx zT#~{clz!zdrQ*>TB_sDzh399R!Nb!&&XTgSh$14tQuugeBiW|boi=M9UVU3AI_^Ql zuNO*^Gr`(~rrny2)gqG6CtW_(Crwb8P|mDKmhS@t;p8I-K!h`clg+AaiIv775~Cz)+4hk&Ld~bsj3cjO+RB z*3PByF5+#c1TUZUKt?xGf}qs`ZsCp3q#PUc;daETy(a14xTqyN|7?#IRP3NF{E_%o z$dSNg>6c-_dm&EhQ8v4#^+f1A@7&!H)dgRT^74b(7aud~Pga6lc9q6<`e^OiYDk>+ zGfGH2j-6})H4g;57f95j8f<)EN(Q~;M_R|?udc)k@+V2(EwPPv>A!^f*BNrph8U|c z; zPz9OGQculOg~AbIXTiT3E-SueI^;T{%dFtD;MITvS--4W^@AN|wfnE=>=S)pO13wN zZqIpN*)b6row;Q^v*}bAeJ3=u()@jf}3QsTaVcl?`b_n;SV^Dj3%)Z@v4?e$;bJL$%yQFO%;%3EnJa?IVY(W5cCDWbQ&Ro#uyQ z(F}%<`wvaDUGnzlSzyKylHtv!8%=%lJ-VKuE;IkOELvp+_zPxo%@(scc^U&uxIJ`sHTzCpg+2EI^5pM@dw>Y63XglVC~$>Oh1_T3gqwNlDK9Y^)(C`pG0Ni*!5H6xQx@m`zeH?z|b`6BP$ z0)?{N=gkw^;2hFL?oq_-%+9L{F()Ri=Dh+&H=5d)u#>8gU*G;)-6+k+EQ-fW4uR1| zehO#CWx(n40d~iIX214taZIv-Y=&HPLpqL_xUKEG+}a9D*5oREg*>2k3Mylf;rqJF z6BJU8r})Kfanz37yufAD^|?~s^;-wwNPU6Z_LH6^ga2CZyl4|l;g#!aUlsqUyT&%W zTl(^0|8c)ZHia&2tt+r{qPbMnEpV#v7)=L~g(*Pg0j5~~ptAT)tS`4R!TbxK{TVlj z&Ewz>GOY)H@|K2;ro3q)$HA&PcEl6&<>s5Yvz;`4gl|AZ)igTx%=z-noR0sXLV94P=CqNxdW`1%iBAIX+0SBYFP8TX zI}Ghl5Nt4d$LYz*J+*ro)})YgOK8R=1zXz}l`R{CZ@YgczeEh^^I3bROVdzScp`O! z-hM!F|KK`INf(Ri3+K$drGq~@b&0`%d43hIWEehzY(UhpUapYH)DGOlQSkc^A;?f z9^s8S-)WYWEtN^h&okxOZDbE(va_Zj>ZSKwn1aJ?M(V7O4|#ul>v+XXq;rD{f=)+f z59n`@B4oT{8LuU0KN!ZL8egi=1FC&ASWOSwe_dKyi%Z{*KiJUHxbP>1(IHBw zug!hM_VUe>jT}sR?=if)a&r|ps{z+ZF0&b2cIOZ0nID3PQRKO2?n8yMPY!L|Gmziz z_2fEP88r4SmnBb#kV{P>*y@W664{_#?2h_;vg4|y7;dmV#Df1qz7@ji@IX_R370j+ zo=^M~TXmmbwE+|RQw>g3kMP{+c{Wl|TxjcgwtMD02Re&Z4&`353@$^E)q`@OxFyft zc4u*AA6=;5z?hAzVvqPtGfUq7fEaWv(}m$vvti|TPqiSJ3@uapqetnjgm_E9wf*-)XS zNx$F28UaVU9rkT7=QC#Y*kQA&PRBpv{ZM?89sSQ*39RbvBJ6iI6_gv@K*;kB|E*7BH zW2MZzSBrGquI6vFK7sYvv;^ZeAAFb%I#Rgt&pX(GWrZo%#zKKK_pM0Ni1SlOUiF?S zZ?gmNYv~;M`PRKrN4(a9t*rpD59FBiE{z{vo1CYDESmGPuT2HhtWLeOY`HHTiYtAu zu%ddmj#^IiaB8qfZo9;!S;>pc-Ke@9&n_sNzcuX=Ax{vAh3z-k-Q5^fMT!Q>AN4$0 zjPEHA7Fg2px@r~ZP|U@z{wa3#d#&DGHv#@P|~Y5Qjkd zShp#yE1;U&i;MxFk$Qsb2grM+gM;@jxR!oCU1M|P@Qg|%!qW8SK76e5?&H{)32g6T zvmDZEy+X%L#pDXnJ2rG{edIOYH4iG{n<*$)3gU%__Aq+F@R!=37IY6wnnt0j`B@qF zeZ|k?in9MHL1Hj|;z_=Im*_n1mZ3S|d}9H-0@MgVUK-{-$;(i0A6u+mcs{Zym(S5J z1<3;xKbWy?-Md41<_;L|1vjnf^cq@rPo7hRVq&LreU<^d)_b(H=SxDld?fUf%NFkR z1iEqdb>`VB#5LPJ%Co(EPD*?23F(N!8H%J(>NHmN_L6x>7JTy5{j&Ktn)`vbWa(~Q z%;%^De3yg8H}i%ayUqz+zv_CC3k166TX^q~Oa1ZBaIwwHj++zDLAff5lag%?!XQwt z;m7^dU>MSjp*(gj-2_ApJfi_`1%KikNY9UcR225;pN=X-4(G65j`9Rq%{2Q$eb=xV z7XJ8|Ta-#TIbrd+;mZa@YJSA3npYXB&k1TJ+*lO$P^By}p&5VtIBwP5J9~LBlYeKa z0(wAz>7-H%oa%1hmsflw1%ymSQ3UF~aLZr3!fgtQVLADk3F18-WEu_!RxLn|rW+Jg z-_|QK8>ck6nNRQrodbc468$fC#uBM1A$|9P%{1n?h@#_;TEG*2n8&djClxk@WsRm& zL3KB2MaAI!8e46Vgi-GjT>-_w9|xNg{eX}u)mDF8ya9peJJ`k@U;Hx#taQs7w;XN( zZ{nGJO+3O$eAdRWM7kzS|ks zdBk3b0PG{buK`5Fu=q`Yi0E0s#;nLlGI={{1`r$zP};XC01gq5-`N_OmtJ;Ybo;F| zpJTyp3DB-%thIrh`_@i4C#azQR$bBGrvMGdUE_-M#ay^b@Cr%+z$Y<{3Tx%7z)zYI zfMB+;?_>htop`vc7Ykux`+d)>S6>bw!2N(2s^SK(T!^VCY6kSbyn&aVTZsm8R0397 zkb32R;e)z=QyAMf#pp`!kO{*|K>z*nIdxc-g-^t*C))-vE=-Eged zRsYOy@mwE%wdlD(;%wR-K->TO%Pq+8Ut{)b0M~T|q`vLPF#q3WQ7@2ywzG5bOj|_5 zZAnSFqQ@!nh5#R}=VMx0agHqn;*3BdvvZhp69*L%5)*YZq-@I80qs|6Z(?V|8_D~C z$N7Z-O_2d)xKaOYKGGnqDAQnF*=IqSPdy_e1CIt5VgdVqch?e$Fojod`uzDCku(V8 z3j-7o$=h995Tt45&1dPK;swKhfPO7LG4`qSt^5ZV8&4Skuy|xwj}Gvgo8IZAJQsh& zsVeS!+N&RZ3FZwz5M8$Cn&e+|0VA~TM$B1D9as+{dbK+X(716=F#Du)2ji3<0V2U+ zRhB{q5K0|*uJ-D3@cNZ|E;p1zNE2pwu(JimE0bo+ISfW}Y9bL9lCrh{W!vg5YUgh+ zTDIV?&Yumn;M;l9-%JEswQJ)^5r2oOu^S z7Lt&v0D=B()ET+OSp<&byd-WPZ1OJ(G_5RJR?k~6zz?C_yVBMUWT>a$w4~g$!AmMg9Xkov+I6phb;;kTN^nhBtBz{A#41_`g;1JMZv_teN4I$ffaJY z4n`xL)2P+7g98bIdR*$_1*S(Q!&>a$OI!F@DAwvkdX9vFpuE>78m}O;BKQC1e6ob6 z>-{0g&}OE6RcFi1u6iV{h<(m=RrT~u*b-2$`|t5-M&@N@4#l1+CHn3CrL2h(Ij@B} zVU`Iq9*|@gE(iodeTNT&w=H!zdp#odwrYpEeJ+&!w2-`iaykfxlUlQT;NL1&;s{Ip zCBcH;S8zqAL(xL+rLC=VswY8Z#XSn`dr6@|vWlv7pHB(|K*anwb%KlESh_`QMV9G@ zRjk2b!p2l)u{3?Q?pyoS7kO$v$xX`Um|y#LZlT^gg8RQd!(Fy7r+jMJju@`PNb*hL zFDj<$KnrS@JHeofX%Y8~Cx$XjlcIsxmpY<+;APFnMA?JZB2#{Fid+gso8SugiHE@D zoDT_2zD#u#9bkLFN29M=s+Df8Rb&f$@Y_*mr+yK}PfQ+$NKvvU7iE0L|IU=lcYAJ6 zx6?ySKNRdNL?MqmuB+)jh+0dAx@`Wo8V#3`@5P~SHC9LQ1mEHB(4{9k+@@0d_D9RU>>ZGdI64c80c z8h+sxXM%-XlWEpfgW#5E!*}fzB4;o@e1W};^9{S2Q{BuJFEa)*E@Vz%al5&G=cdis z^|H;_uLUslwaeP>3S%V~1QcI{lQx}!rTZzQDEwAc(x07r&n817qYp9%kT+Wm!%tkV zG*}1hzn*%!vo^T)_2n7z&KIkOxKut(0D`HQ;`M?Z()0XA#05b)rVhT9Os?n`^^BGb z0mf(91ZTID9l%gdk;Uk#5MEtzsoQdgs=Lcy`pfm}Ivv$w7Ha%n{c+_3ArY1@Nnza9 zUfudxz$vKFW3!!h_EUQl^FJHdyQL{S&J>bo;}e4wGD1zNfgm9zRZXo48w=krzM?R* z;XyAXH3lVgt`$quW}oMhwek6s@7i=|&!kB`fQtn2);%&P^=)j5xz7(St$khth!4*Q zq{P$%7S(Sx@M5fNyLgqgt?zlh)ZC&VC?;8=FDzto@KR;& z-b9^`W++smO82pD1%07FSWDN_2woGrlIWySC6=MUJR}#X*5`FD)_MNGx6{t-TeqR} z8CO1oLqL9XKVUA@>SbF16?1eX@=wS9ciYB_i`Fk2tcJb{cbz9)SU>O9$pCuOIS*G# z<-5q()V;$HRki&(v&FULit+5&^9?JP1hD^M_v?C%`|Z_~H<=9~Elo}Ii~suu5O1`F z1Xj;$FjR@w?QQ+Z!j}+XaNyCBx!9xqHwZ%<~XP+-M{vWE| zJD$z&jsK^uYN^tps%ms9YP3dLBSD8&&1&qJwZ)E2)NCobR8e9TjXh$-Dq4HQNMb8$ zM(kLT)X3qRDf#=B>VD)-|f#SkCdq#iQL!xB9aMr26<~Qg7_`-d4Y;=hNrf zpS3TlB0cH|K$H;I5p*D>2as?s=;Bgi-8&`qRtJd6M2{C|t||@{?9tX{K*zj>+VWBPpU!n)aObkmrD_5!-p{ zmvhal_og!X{A8kS{Gt@)y}oZ@rvqU48k`1MI}P}_80{61$>X}bCy2!(Y)jm(^j_zY zy@kE)IhAx;_xQs~Ow`r4g$6#kmm<2C9mtg+d$$^nX4<-`weLC|8CQIRcVZY)E1A1+HTDJ*~wU=TxF`r z$+H^+W{aSCkbM6cvy1fB&B0=15qD9+@R5%|3Uz@8hz-6oXjLO9aWu`PBoBZTnq?!8mb;~~;%*7g zej9V=vg^j&gslbeIoH|@cu(E_+2iTfdE=hr+agO={)x96zbP6*U4eRv)SOLC|EI>9 z4SQsuCfUR({zX}-czXR(vu_IW*olUCk0~? zp9C#uO$I-29*pAQmpRIB$E@;N^a>8rdE&OF(D%!E1S@7WZ4W^{EX)WPmm(-IB*&xg zwDhgZyR%i>(sReL-zqa_E1V~E%Y6wVCl?nl-8Hm8hi$zDBylxQxU#+*VzIevVh5|g(nI%|@Si__zB^o##ie=mW|XKE zKCnd|@ND4+lY@^h&+kH{Nb#?d%wSi{0=S=XimbZKrv>Scs%&S>w)IF>uF3cW-Yy5# zHmA|62LeeI(8^odo{JZcSaeSn$)=RwuU^=3c6?vRQHkX?tRlkJCW;SH#C4IkG_=Gef* z=K*DsoC4pt1R!+|+Xd<^3vhb@Q`EGhP?}fDLitcn zTizA-Fd|39R6k)G2yqAg9mpu9Iyx|=noN#|b1}(hSpr`jOBb3CFcgz3lFS3m*}O|= z=^_Yn93!EH#+581Sq5!2*Z7Mif~P00n7k=CsUcZVRNB{5a7Wf4P4B9?{??(JEo$#z z{65g!_6&jgPb{h@xzjpF+rhGVQ+%qb$d({m-wh;MAk%(OgcHqUE_`OMa;{;Yb)`?T z0DaGuWtL;jdhhaH*D?MC>Zw8`bKb(M{_N!&&}*`4JSo%r6%xdOM`=MjMxHbZvF(vP zRN=@JMMA-*^Gh}fA3g?{3FOs9AMt>v`{Jt4b^k9nzJ>4!gR#| zCY4)`0`J~ac6t0Zka)#4^ZQs;ydQk6A$(yH?1sC0uy>(6Yd-H`mA32F+_f-`;v!fN z_6F3p*Zc~-u@2eNYGEuWO{>tmA}))p3cZk2(dm^>|OdL=9Pt9k)I zwry8sYdJu3(ECZ(eqr08Cs$AYQc@-8xP@2Qz&#h$Q%wB$LY4J8#O}Q@)n*XVFQJC~ z>9>xth6FrKDfsazo zsSU1j?5IeZNr$cnXi9lwMBQcdea^_x3N4)3*5AZw@K_zyjZ`TgCBD3>DTvAS$~$<@ zlN2ne26NkQDyyx&02}^!U!CUzR>u@*2Eg$t$ao5953s_LI&V~A|FNEnLfqY(jc+4n zz@1X#jDr`O4S8by?ft4CtH+EK>wi%%Oqd8Jt{TRm;;LmoiOaIhv zQ412Ltnzby<5sM-d1YBYYYz|PWvWpro;s*%W@+{(Q^KH1YrQO9F6jWPnX`Se+^jfA z9^z(MqF{g{)g5!FCy?q|`~5<|u|M`{7T6jDcI&wKY%l20IvwsjT+-xXKz<}MG0~-J zjyRjSZZwEE;}v`!0I81JISMRm2qx+)=W`tZsNHaIN2ZWr#+r52HU{6`J8TKNaG=8I zd3dYxrEd>mbkCD5R**pr-l6jKN@7Sag_OJvw=_!;7aD=3v*9#p>WWFQda_a;=gDbI zEpNux`Yk(Z5BCKveV~u0pL+=>I_|6c+!Hwq!acX3lHB(qWzaqj>pOBcR>vJGPm-?c z6Yz>x!|};Jz!N%4%~O^?2=aL|{)7I$L-e!P^zbLdVkn$YV6>rZFzt!HB#>D zl)?xqRvT6C5L09Kducw|&}K{axV9{}*konX_8%Ksm|9X2t>1iQt2Y}Qc%^u)8CAz>);!k(gVbImU_$>nsD*KR}j01-_t4Qu#^3xUys>VfeqXXx6VWi zPJ6PjG{_sQL(U-pzlYo5eOF?RS%czxIkr#Md_^R59Z^6E3|!@er@Wen_0Yrj$L#7q z7I~iO$z4KM?l=_ed!X3Uvw+6JI0<<@PJ3Ox=#dyOCZU_n5}{YmtEWDDtuPBk{pwws zQGOr>xa7yu&(A-+<<5&K(m^eG-8lmZFw}jdQ%Cs*V{9TYw!{0kZo|-KgqBjvjqONL zQK*=h+s^KbrpnRxcTLPMT#fp)7kprS9_lIN8A>$?;K6O`*`MUs;i zJC#~Ryec~uzlh51|Uxe7L!Q}q58I^O(LDKpDW z{6S|J1xw-N$CXhaJG(SzbK8i?3#%hG#}SPjYAAsYWMfh6Gx^BWPY-SzJmm1YIh}G= z^gC2&#XP%)UBp25`&rnBr3^3&-=kQ94GuZ6CqEaj#-`Xk`J{2Z+9 zY~R|pS3Y{AvXyYZ&NtuwyZS`#ul^sIknw5on}3T4L-L(Ns^p$h26wZZPdrP+ub(ce zi^g_~iciJ}22jOX`13u}ric#B{*+m^=!ujm{|ggSwq@?sa#l;Y|45n0>+=tQG-Fv& zITWIRKHsoWT3^{|01{M$JnxDTHdk^6^Z;sgN)das&(ayVk>6%w^Cy_AjS+`4g4+6E zku!bas&-J(KC{5#ac_rWLoS$wnIYn?WyA4Go3?iqVO}QUh3FL#Ve?Fai;_!7+*6)N z><3Rl7W|*AG*9l|2WEmQ_&=YFtrzFt{FL~9@e*mal+JMyXaXYf%d6>9!#7W*Yqa>^ zSey|68&uzoiW6jS zaJ^GX-~7-6c_oFK02Q zGCPZ~6c8*an=QTP#tq=CYbM95{wmkmJTXLlI_8PXzo@@A{;6}?U8TC9p?eurNXg4Q z08MJ1j*1vXmtJ}{-me${zU zFxkC&kD4XEv)^>sk!7m(ESrQ)uw$p(6tjE44nTM3l|#e zHNK9>cWnFE%?aSQ;`dGe`v2LRxdgCeh;sC&wUovwaL#*)`&BGsUP0O1T#)_Ea{+^m zlRqMC4UIB>Ugjs~sA8{Wy4?4DRN}(YgJqru0Cv~I`DjPs%!Pp;%dQdsX4gglheJs{ z%6ytoNiM65{B_vnnix<-?dmaI!AF$*1XGjPoV-uQJo;?K{Dn90J>KIi`SS+KWC?p3 zn+;TEDU|GFPEAf#YbrzPU4vc{3GpW3ykaMyua`23nuDkFM}7971l^%Fv{XpkFU(*2 zj)(~)%k(-eQm zLjP9^8WX9Fsvc-rU>$WyVM}ho56Sld<_vR);161u(om~dlQ%Wm3xY=l>}f(4IeRRw z8*{P$VRWzc6!5`Q|y*WaucQB5L+iuz5}{ zX*oH$<#df|;(4Wt*!4zYfHcF66*qstBTO%7oL*IVR>0)HlZ(7(t|WfY^N=5^PKpd& zW=}1kMdrjnH1PufK0CJ*FV<6~#plBG`ly(WZLjzHL43UXPK2eT!$oym|Gr;6aTp=+ zWw~dQ@F2FYpeeeTe&RCAY4yPm~>07PD1l=Wyh=||&bL&;6 zu$~?asQ#ceA>iim+lMJ!U%i$b9m8VkG8M5kw&D>iOvXY-HC_&YI}h*uH=e?DMOnWF zS;Drpn90WUp>`WPfN`?Ttzhib8^xxP4CH>9`p@BQ2N;W&xsBEiQ8se+5ajZ$oSUlE z4SNh2SAkPa4VgjD;oUIE;xJB>_&45WtW6&6Ib3SLCf#7?`dLyAfAwA#c55D}h4Cjb zBK=|#Wtl$M?4(K`XHxd^*VGkU)DZbnzuKBYw$4;t5W<=5#nj9f{wPk4`u^*Vu33cPowTd@esIWSbu)Y$PhEnZ|NAZVi2u4;dZllCjJ@*C66rnoCdICmx@o_!haPW&wt&pb1?Oto zNS|g2lwgbso-8dK&^I@C>%V1-!+i#&>yctWVM_{OOZcYU3wV0)Si zm0ppvBdiD;dpvj%Ok`yQIe5gs|GLYFqk5BVT}1e-%#=u99RZZTEm2nSDV<5+S^T`dHDNj^J zT|b1fqXg;dkP8vW3#t({$gy1+ARYTbEc3f3P=m4;+y)A{kN+Yw=YjfLjx2=)`4v1- z>l4p=E-;8hF<9}GOBWZ%KnFO3)=X5~sL>q${1KQ{JC@Py7im~DO~ zE2l_&v0hN20o}5OzYWjuj2tPgAJCVc+UE2b-N$f5^o^oi8Go&Moo zDbr$1iycjgXZ@rSP{mf!ox0g)%tYIWQ!jVvskH@oTa7-mpzd~EyQFhjeU2V!_pJNw z&9(HE3{Ltwd`xFcMPMbLaPzQ8ibRD(tL+Fj&?=>s@cWO-7_5>*Kw zvA=!NdY4%1(88Ltv)B*x$rfHooJS((qQlAD+z3}0IU)0Y1}_u9`g1>Zit?7oCQmiq z4IVUwic+VGjLj}4e!Y2j;owPBqtB4*Xl}a6);@{<{_Af+dn9k}5zAn9PKvw!t%^{0 zh%#q>oF@BPe6wf7z|YoEBN~cBjeO(k{VLnNyQ?R|50;yOa!|IVhI=jyN`>ax$ zMwAOoXlhs)HF9VR{>h^(ra_R?ucMEJml%?UYZnIh`qmoD$K#BeszaCSYa#c5u2p^H zYQX3+820$P($c@+gEw*?)~ZimV@j8;zF@&Kin#=3pgoK-iqUB>i+s_)BrCYo<7xQw zJ0X)5?)6Ep2s(u;{z|*r=LBMmy;nF1o_IzbSimrUtwQxRZM@1^IS^JPTmdI-OgegY zBp8fEJF|2wODjF_o^9qN6gb`w5xAdi*>EoFsc;472(Q!9wF9hcpG)nUi>ag90I!He z8f7bJXS#Wwa2E9>qnsXBiy%GyuPz+-!u>u+M)`T=#_|~iUo|#*`eRnxD3Gqc8-E$` zmBWz8BHYFHmJ(Rz*QpI@iL4D~D*WZMXxCfP1srOBl$a-6o!17qY~ALAS1R?grxGy@ zIfPQOBp>;{lYUW2M!DeG{N$P)``E%9?K#$^_acfg|`QUpf9^Z9Fy$ zcm}>`1;W+~_^NEwnOB?5yUVBYGY!S1FESzLfTuV}i@5;6qvow%uLMwD=-*k1s&*9* z`V(1coI47&S3)TTsCL5hmkmLnp&h)sHFZb5HulrZ%Q2MS0K>kTH#03iK6RmXiRgzv z%GK_Z8RZ4K>}Pp|8ut&xYzO=}Xqj+@j~4Z8ZQQ1{GRi6XpoxZs}tsvUXfP0d6 z{~DmgG*O_tWR-~LiO zZ3hDRSl@Qs=Y=9H@6-&#=M4wa{GC#+#r}X;k(Obi%irAn9rA=V@rQC%BhSSs5ii0H zHys=85Ya*ms>x_8M;Bqp5slxRzMdd)Lv3r_4i94_?g`crx!#j9Y$)pidQKV&m2k{h z-cNKTbR2tb=94+t=@P?3B@oQgQ`G5iT=KpZbJy_cbTwhbC_q_3BHSfr-N^Ll2Kx}R zd=aeH?mns*;*zH!0p8#0&&u)WLd`-FQFMb!^5ed=`p*)@jusKa=!^POwwO*Gra~q| z(oPt;r3o;}-V)qEv7QyJdQ$>O3yi5y?lyGw+1+#kHZl!7P~hj|rz&<0DWd6Gvf|(zp=X@&9V}ybC{$$E&cCF1Ff;@R~7Hd_4Q|W<^PDtzo|b=Jv?NT0LP`IKd+?q|R{(d<5zWT#yL5_lyR z=knyq#sasg;91HSt*2Dk4)*W0+yJG*&j|$sfYLB6|< z+hwz)`Awess;fh0Ejijhn~Dz9qXI;7^E0ZvBuz5DzYm>pU(l$erSStP#*OMI7ny38 zp3ZC%ZuqvjuV1rV1&n1;%-}ADDm*#`GBbA8;+Gi$rbQ@-Z5c2#m|SJvK8i=+r7EXl zHFPOQppEfw?b0eg_OrT%VvY2$-I)3ZaDD$0|392Z#1ZF_mi79_ zvC%}WzoWdWMnwM;ixt%+z%lEuR&YGOLTfC%|5|mU!_k-i!Si|=YJFb<_$K}ph7Pwe z^Fdrg>QwMR=h=3LbL`;%;5r^7;9fUfEC{ag*E~J-wuD_$x?Ohydy`(k=YUO%{w@gk zTE@Kv&RztOn}274e$RJIb#jRpgUn4#Ql#qDKD~_RgOvWI=f8(cscSGmd zi5w;A;{HP(-Jx02Ovc=}`j{&QDaXhvxnLMOAN_Ue_A6H; z0htrvdW~a@-2k!>e-ft_clDl<|MpvLJsdILWL*<<{9pF+vLm0o*bz3_ZX>_e>uUsj zAx!_S8Hl5qjN<{sFxk2-j#o$!XfDC*Rpl}}&b0cdCs&`piwL)Q_Nv$Hnk3WS{#0|4U7^zXh;+$V>xkARkvMsxJinPcon zA)PO=KEQ_x*hVJ=ZLf?B>OU3xesVO$MJ_Me4hkkwKYco{XKMPLOR-k{C^j>l>D9ik zqzxR2KR^TPE;8XpP3?1qjNhcG+OY&KpDrv$AP_qlORM=``(-F)TVsNI!uV;BCI#A6 z3wQ9_txHiGq#>~TEwhU5Gmisl$y4UNv=!GW^C*ZJvYYNbQP@pd%$a=`BVTZjbX+tIv!%5(knKgP~A;*l<7&vQDL{VFVPDJnBKy?|># zeC=3=+b>dchnqbKvUZbQZ{l0aH3#$uebZqQYdd}CQv`83WRwLxO^$pt`05Z*Yx9R+ zx(YCuD_K6~%~NtPw)4mgq{ZMk21xA}b`#lIhv@Wu>Iz-r;<5aR2y}dlrC*uOs5lS3 zJ`%+q-!j29$hinzT8Vqp`WJBT8b8qotTTyE#BTzaCQhOncZ{jxQX?DGv?MoO(&*a? zYh3UHv>T3799Erj_ume2iM82(5+!UJu@XNLYcd8^PDXP)dhiR;w@)Rr_D%;;kY^3} zsMnmUJ&2l|tbNnbi?0*$g*fh#)C+)`c${Sr1&;Q(9HnpUl_aoGI@e!FuqFg zHPuyMPsMM~=R#4Px48NER19^pXKnJt2Ju`D;wLQ1TqK^5+sGQ^*vtq5Zi&`R+oLr0 zC<~9?QIvA_1nn1rQ?CWz9Xz}g+Tk`=%Fgu}h+|rudE{$54RpDd49sh}tifG z>DzAAX)BaLathz0GIb}U`NYBDUl}9rO5|PI><8z=>2y3wpr~03KY4wmkM2KS%CQ#H zs0AXp?U5M0pD;Mw24~c7`aQR4pR#*<89vq6(WxBjq`3sIcs`$lN72xZDZ~Zy_{d9L zNEXOT0GE3i^6L!ikB(8}2f>S1Tx>qRX9v*`5n}HqE(6SLCB^~|!i(CdPw$dYSGl6Y#tO@krEX zEv96bx8FOkpLt%OM_1YS1C{^1&sm^0bMaM@T z{dvg5q?tb`+@LWJEVC8tTHDM*HJzR6R15%G0#B8U9qoW}1R3ve6#qvjD;G^`u>%OX z-I;W;-K!wh{IaU4QGL0}T-v7K$Y`50S@6SA$Mv#!4Uu1jP3&ckfFmL&O)21|gb9FA z3o?0(0Uff>3jj;%$=Ib~AcJLA&I3Rz0?0#mY3tTAM-FNiB6`n#N@Wf2<4l%MTzs3X zfIKE2)*QIXTtBnhSZ*$iq_dw?UKkhw#~B08TfE4=w)xJ}x8`{m!&4QN7!#)>5W;r; z%V!X7f9H?}SjtJ*0;0GaaTo>X;+c-^-4=21)h<8cXlyimw)Vtn8v7x41P2^OzZ;xA zvh+$m(sn4TWwI+yaOMB->VNnj$er(RZ2scKiylzpzNVhOzAcjQ1l>Tq!3(nxsV3ZK z@*tM?ft|cphAq|A)mQr1jHwioT~Wh>Y$7wF%m&v5t4S^&9@S~L<~fr6vp09*L2f!3)Zzq9rtP#FE-!8tLB zxSe>{;a>i+?jmx6ZF9|MO}l>HUEYy?-hgX#K%FfjNpk#J2ys073ZDZ0Q5bNB;H=~_ zFPX1?D!qKEDJdun4mzx@MeMqJP8}YfCoyUyPerj_W?FJ*E)#Y33e8>PzWswOrbVVv zA};tplxC3SvxF9+DNo0EFw-pkSUU%gsoR^H?SU8MUH?J#3^L$433sU_%Sl`PKJ~e8 z(w`*GSER;~{wB^5AkyS6Htf%*{D*Nl;SRitN&siQ0D9BDY8dnJlWz1ACo+R~9st_U zX1j=<7PUBaU+`i1Z0OR@M3~LM#`s}wcQ1L&dHpV1Hg!i*+CZbR_xnTdItPw?Ms+u! zYOdGfZlzDh8j#mQnXVKTN>@(pEp*i8Kk+6^AV`VYGjE=11`n)_C@cAJ~o0D^RoPw#}Ct^Su$wtst-VRMtl z=1z@`O|5jtn}yu8!Bh;)cqA{xi?9lR$fqBz(TXSf_K( zg(CU}F@xQJkqPaxhnSi>kz-8E24&Lni?E%+P+VGX@G*N0OLB$7;L0vQ%}3V&jVWgb z!3T>swt5xThD9BqYTDl)+%tPv=m&ME3!-|L`)%1$ztd4(+%0UCiFb{xdLfKJDq}NU zC2S_6>gz;}XD*Fij-nML$vC`h{#MZgp)F~9^N;30VAi_rE9h!WFi*0iX*Euw9FQ3+ z?2w9Td%?wWH`xBKM-~qcPg~n*ugCIs&$y$5fm+auJtJmE`JfC$Lpss2-mj2IyMu3_ z*SrZJ@3xH&)kN&Tw-@`p`Tgw=<$c^q7gL?818nTa4?vF?U#pks`;plJ;7sJ&_&0>s zeEf4pPIV?z&nzL=eQ&UtS`0KsJ5};=jg6h151lT3_fEGlr+q{Z+m}JVY_^<~`}|MPvU9!{&$%Yo=vOtWg}RST@!Q)ElPmbT$sCcR zc*>cQcNwpAtpdh%ViI}!n29*CHv5;UQa}})b;fkBUb~yBf^)9oJJD^>N0(`s0L-Q2 z*6Ts1qA)$t{S%tlgDc;oh0q%DfatBljw01M8rR&ZU zSi}Z9NR2f3=bJ>DOdrsA*7*mf5ll(-BH=1AS_^=ZqoH03kl)k=9f3vIzk{2`C_*u7 zh<&fpu4%c$V200!Q=x6(qnrI$80?u9XUkoUGBvUDj3cN3%$Z_=nj=oa4 zRM}tUIu)+ID#+Mt^R9DA@tp52wRWpG3%X4%K6Wep#-LMOz{HMuBmPPYGJBB6c;N(F z!o|8}#*2EeoqF*Wa5E_wxQ*9D^s-mfuh&GhW^P?~Ul5kB!hs!mS$YmeDB1d_3gGs& z$wgbI#n(`f9|7R|jzf18ZZoFt_Lr?bSSE1-)>(Ud6?Lt%y^Z5^END&^jAVoaa^DL4 z>P==QS9nV<&U||5>CW|;q+r);0NvN_veypp9ULVl?&HX}m`16I4eSS@o zsvV`VORo=WxHp!~Swzu*y%FU33PKG@Je zk9*`u6C!UWZ6a4xW&QFp#BE(if&AwQd(V=J)S6^5d}UPEAxEng-QSQJ+j^zSX_&fjg@LC%`D+aq^>a0;J4PREuYLE_P2#u>{r)JAO7|sKzk1Vc7t~UG)+wW?i#vc z_@i3!3YS|t$a209PDS#xp|hc}G{9d31MSg#c)2^5k1JaA%i7@xeGfdwwq{Wqv&PG1 z9^YCVvQMzMy87VGcOM#>G5_64dZstE$^C&#WC8+XJy2I(w8THf!!pnhId$US$)IpK zBb)cCb6@>8I!KPh1`%j;5mQ&#<{Q?$)o3pb!n2 zp8PDeF2RM=+9{e#V4Zxi&Z(7NQ1il#gWb%ZTjyv2Ss%tF&$!71$Krz=yHX)bmmPy+ z{}iWt@6Iu8rc!SP-$m*eusgSy)YArsCw#k}7aQLo~wHtLsP_Tb@ zb$6I6vbd!1#UXjgq3)0PVh@DI;Ri*#)={@kwpn-8j_4R&bSB-7Kzn${|1D(ZyDa=3uDrDdMXUQC zf*_TgEG^tB-&R6hLBU9+D~+O+v<>RuL<3sh^i@KT&0QS0Chq!iuM>R4 zXv&$(S6w(3-lt5``#)w*#uxuCXRukaRIml4u4}S$pP~-_iNI!-7&6Y&affO0}#;y8JcP-*b&~3Yh*tKo!lUus74(MrZ|F90mzj!Git7oL;qL zQ6^mJc^{YTs7i8cF}x<)kth(Z?U!-G%|I;4tg7M#O9lJOvFlztKhGO&LjuhQbxH%t z?~9YA+hk4eERnJxb&``P|E*Sv?Xrz|MHA-C)%$ms_yv4c^D3xr#30Vrs(WtFYLXUM z8g^=g9_#b5_iJ)PY5B|62Ip4Fp?xatfi2=y!io%ksd;Jm5BCWE#<(QWByK~earEm; z5iRIuZ|;uK$*^5Uxe?Eac55r>V2j%O==iqY3*Gq$ERBeTPAG2Wj9rP<9@9$?Y=i9z zuav7&PA{bKxTa)=z@{4c!h1$nqXg^h#uA5v#<%UHDLbueLdW=%RL!6pTBy{$eh`$s zPdy7&Hte`05X+EVhMlJ=J%)-&nj~Jf>ihoE%6Pf7an0_Lcf{BcR~H6{NNLN_!Afl8 zh96GDBJZvRIZd^nYp-0_WQDCgVPtl}uGU1)cr9i==Y;-SRMp{Do}P@+(&O=3&C21E zyICpC2QbxH>@BZlyx}H*Aq^H`nd=VSu$95tUX+h9)~VJZVk+G(c0WCBhk*Z3^Q}kg z>m$mWT@83s-#ayBC>zbXnWtpUeS#03b}j#TkBL9RsXSpBe0IsrvVb9ycPClC>KV`i zWg+vsU^sCpm{9YcE`ACXe}}8LLUe>>tmsG5SQ=x#Hkx^yrc}YtxL~K;Fpv=NMeZtK z30{R*ANLJVbG8Tc@t7K&TSbG#=14xes0_a#yC3&O)I;yk!cEPm2~ElKp@#jNLDXAj zmv>00y{+`7Ig#BU1lKC|@0c!$Jyva&P+6fF@yp-L+S?ijke+J?;X!bqqM+0&_! ztyw}QTh%lJOu6d%w4F?_kIO`Iq(cg*5Y#I676>ZFYKdpAymTB(DljSUEPBzl2yBrl zex3pjm(95>oc2{7MP5ml)=i1wRgqF~@-GHhVh13jk0v%=vk;w)M950kr5Gj@fO``H zw7zYYbu)MkiWfJTVY3OHnJMRY;<#2sz39{L!Sf9)tUd6=ow94C0+I#tU!_oSO{0Zv z&fH$c)=zuPvx5e!rBpL-CP}D!oy!LIWd=w1_d@U0D2$T;iY?;cZ6I1!Gd5uS863!KU_a+fol3hOilgwIRuHe9A z>yX$Wf%sU=A&Q$z?2dOczKyLECKmr%Ml+$cDD&ZnS7FP<#csgZ^A)Aw*M7b^&9S*6 z$37K^4K$IEZG6NUJ(!6<)p+90ikG=`#$+d32`%JRF>yKNYH+M;T)v`rLT?;lcJeKu z!i}pQaHe}E{di_INuq zWlVNihlYR-F&GiAuPTqU=q*)$c0|GZI^1i&hPR`IhEwIqF*#WDXyuUacGPa=sOFhL z-K+kIlWUsd=x}fGd#~Q`pDk#i<}d~R{g4A8puvM;lg{>88Hn8F7IGC~U66yD$ie;o zKnXo#gdbQ&7MARH1N#w?YI*nDN%;#Aza1FpKvLqTV zey>H?`@u@Ezs4AQ`4VTd#)nQRUuP*{i-*~ixSYxRdJ(zngS5*PD}f%FMbRAXDbFb_ zMwlu$h!dFNN)ZFj`I>OKW)Qy@?JIYP7#G3+aA`Fsq)2_V|Jz~8X{?{jZ4jz*$=J0z zh^YB{TuwF!kZ5hd9kGqT&c7K@W~*Aky& zCAe`N#yS-&5f$k3`X5M>EscQO?{rgb zdYqAu4wU|}>=5v%#Zwzxb?Z`aZKn~JKQx#Gp4Yy`h zEus2=`a5B;SQ`wEy|!oKDGvG6zXomET80$8Ej9o>8p0w9yjI@yKCX|~izq<9C1{=) zbZE&yTTT301K=ISfPNL~`0!>?B{{-#?%|)E`A`6ivT{H@a?oQJJ*xLb6_F&U>PV3G+VGW_R46VKZS*5zCw2Y{_%k30wPf z`p9%izsS@f%uT7-J%Xy^L_K&FHLqur+nP@yJ>*#lr>c_zG=170lTNXY0T!Yu`}^i5 z>c#s-te)S@S}3g_^Z#ikPCg*kgqblW_CwP=r$}{=xtmrsT~lw^`(I>>fIcY%bv&WY zwibG3tna^d())Tkf|CS)!Hcnrfx=pJc8?Zk0FZ=E8hUk$NJ7wy$2K-u@ z$+}m}S6$rF0WV0cK9Th-uj6q;-L9xPVCt23zX~aOGZ(pZ=B`OLtcddMiT=fVR!vd( zO$zg)7dm)M&lfCMDKLsJDcTT!AnXM%W>21H&%%6fUWhjQv+e{CMLNc`&-iB5Cd@Gh zNJ)?jUC*0}mOrca19KoUb+usXWQ~e%0sK4I>PyXL^5=|_v_bzC+IMJaA>kTm+#_lN z#4;lZ+j#Z{5-VbnD-6G0wjjeXH4qD;^{k2f)f&XgSqzWMGsV%cY8!Tdx% zmxhT-I?iLcTpSQqTOWS_Ser}P)MrjSF8Y7vh=8BdYtkx!?EM6u{ttw;`f+0tTwJ#b zK+LiV+fKg@3pIp&U(8_Vh2bh%+oWM#9I)-|atRPpPbnuQCHLpjQi0&F=SQW-LQMuI z_A7U=$r*~3{-3gD62}%KclnkJD7PY*NP6F|{xVJTShm??e`qkNUsGMf@npjg4K}Dd%H?m~SK6 zkh_jee65;F_qG4|;bqfYxM%L~mZ`7C8&u-TqgRxCzFF8q8aBM4jqQoKZ*Yd+_L~6s zFxqjVE6mT-+zPtba9P9rVDmh+9R05GOXiG06W}EZeeMJq!m4)Js$bi9qEe!OT)oiL zVTntov zXWX}oOW`UWHaqwvT5B-e=@M#`?pN^_C@)<$jA6<$5KdCNeF=b8GOJL1=l z9BJ;nHGJG|QV)ncLY9F#HZVf8-T)qejc4^I5=pU*}7;|7i=9~G&W z1jUzuS3epa=0ml4{{DOIU*x~@sAa-*=QHj1y}y>mqJ!D|MS&3`ahuspfuc$ zy(2i*etS$b+!22CLnhqGO%cx{rJGqtBGQ7Lom~?SFZ|yh+rxoYGtz*cmh66r0FG%> z3;aq2$fl0*9FM@g0_M08t{r$fu`Z+S;y6CdsvEG;D-_oMw#Bq0c29w0V&L*l_K!IHlSHi?JU1c zmpP*_32-xAGVpdh+}l5SvQ34Gh6mP_mjRJM*F|pbF&e>LA#gAKv?obimnW8)m9oLADOr&njv6{&uBf8NXsKQ>Xk-)H~ny$x;E-} zM46HA2lybZBF{o@oHEdkEhdWBN__JfjD(C(#4IMU`+cXoun6tiWq&;r6YEK&-IH~S zJ=Z_Evrm0kRPsZI+yLxvr$u&c6gQSj8@O+5uFAyktTuRY(-AV;$J%!LYPQn^Ul^Cs znr!%Sd$O8C32Jp1&K6hN=o%IFt5L0Q(l)ya?z1ARX>G`JVt6_TDpc%%Ddj6BPtblY z5g8Zt1g_4mZ{Ym_-Ud(KtI+5hR&<#{T-858Ex?VLv&wV&99Inm9#3F|D01Cv=`dz0 zWP?S-(mJ*73BnEeP9$6)Z?PGORUM8T_Dlue5_m7#u6XH0!V#vak>+2+QKZc;BXi0~ zTc5??L|`N+HXQ8Il=`bX-6L|@!X~f*-zIkg#6L%?8by@T zD=!X} zwd`oUo(7@!yN_((!XxgbR6dQdN*n7erh{4ju`6V426JwXX`e$_CpkE8K*1<)116;*~i*56P=5+V!1ER~~;C7nX! z7;%NCsWy+MrN~)?xp;BsiDamXeQ;bMm;i{g<9R_D{fF`rcDW-2D+{ixJ|z9uVeo|; zCOv`CfVXMl^F-Cverw_3Xcr;=BR2eKv~%iud@p#VEM^LgiG24tcNFI{)fMAhYz>tc zJexyt&fy3%HVZ$#{CY^w$g(V}(*phoP#q!xtG^tfy|s#_M;8um=CeeOx*YyLbiH+4 zli&M44k&^kf`KSV7=VHxNOu@0QcAZ-#{lUDX@gLtC6(G3&1eu5P&!A9lo&7uQX@wE z&WP9h^T+Rd{_w%(9cTA_&K1w=x}KNSzV9H1Rh_HTgIiC+O4ABp7A~~IIw{PzG4AST zs%m?n{^!YlCS*?FHe#>D*KMZ=2@WG`M^h4ZCZw=(5y{?dYxP$JTp(pQ3q{%JB3Tpl zt5qA7fcA6Thk1^WL`PG=IjBM8YiZ*{x-V)5mENo=ex2iPH}ePG0gtl^PWCBc4dG~2 zR~*%QEOhwOi2Qa_&z}=vmgc;w?zb?klU=Ey-sQoa^h#T($gw6gF+Fi&TOxIjN9Qe! ziK6zW_h(w9#xE!wqCCwaJzBPTi6M@iQMurw$CD~SI_?7J$^38V5AQ!A+y5-VLcpihhtlLKxdJB1#=)6Dn@d zE^VV6CW_<%kS(2+^I&U=#fu7saQ{Y-jC%$~W<~Co6KvN2M|D{NG;;K35Nf}Dy#%u1 zrr`$V(SZo9_rLfjTKM-S!%Lw?L?1a|hKjmZ(7%Sq367L^V#}audspZsgV3T%lY45` z)V_?O;du$#`7Xht9wj zB)1pVOtM6t6JjCcN*yjL$FG9asru3|3S;2;7fX%i#wipROb`UE`w9fhpWDx|ZTaKgpy1u1VxIi3Cf^bf^h7K*#(xrA?{b zLn+56UMU+Y1%Uo^x*p+=djEktf^6-t?Z{mILzz+%N74o8+!!rv5LX7nv2a1&roFd< z=)QIBV>k_!*P;E3dKrj4oFfs@YQRGBx4J54Wo#z}?5B`m z30BJg6{_^0>y7&@VQ#3NOLN}ehSp2r9~!)+CNw*-*0x(A-;FUByf$Jt=FbG|E1nTB zfJn_3#%p~l8fG~9HPXqUgYu<>HKG^ix-^HMb& zA5I}X{w2D1@3kEg^+h_9@>`sU;6oGn@T`)v|1+hADF_Mcha*+-k!6-VffVs@SX|Oq zj1k`fY(*e$xVTC1PWdc;cLmOixvC|IM2NqtTSnEjjW~}7u<7GBv7o$-HM6{&e{wq^ zfdf>zL3VJQ)+Gw6y$QPakFV%NvF!kAh&rX*rn7Jt&Zn4mO{{J?(Wzx&Dz=s5Y3+9N zy4RTVv>{C169&cZy}?g<4ZLjAk`UI-i0>FZz)mNok0I*Xd2lds^qYuQA6J2rQqtA; z;|Cp*YL+8cN|xRRgd}9#=Xxg68Dg!$>g}_E;ymYvxP+|%`JaSg@>r(iK|?NSSJ}9; z?=Ie3W@7i(E$TRZ6lZ(K1n=fMIR!;$^&WS=j2I@UZLLd_qFHMu)me`zS-tTnf#!Rf{DV5_F~zUpiYkb>z8!15LxKYqxLGj>(x~+(i$w(CE2T9-1I}f zFjU?p;p>b1A0@#V5$CQe1-n{b;t>yN1e^&uOu*~xBeUCPlP_5W7Dp24GKii23 z4ye4Fri@DDnHMkSj?0X>{@ifCG+q?TaViz^g7j!PMKY&P3xj6_(4K#rjV!>rTGii_ zx|-tBC@_GMw+O1ENE@w=SD_5+x69`d8u9Wh2#>1yeo*34>aIVzY8v))hIfiBZhLJu zZqocC!dO+EAGD3|Eg|$CCyd|JAemIK^Uv+j4jsyHcBXAZ91KvUMFsxQJX2px`SIx5 zAdSfeA6C29`ZvPyby|^i>7?pRanlBjR2j8QT*BpfN%lk{jnGjh^TGW)Jg6;3*OlMe z$3Z}HKr~>(RJwB0dM_(tixXva>)J-D#)eZ7g(VS$P%}UnsXsXn+4x?j$}yJ@;7nss z%R5Tn5_bU)m*uSZsvls+Z1eeWo`~@SG-abZ3=p^;ujC5r&NLm}Jw2^BZ7xS7n1(%& zG>4a5{kaq%2if`x*nT#^u9rSIe$Bh79i8zw-z(r)?JVCC0*4u40RQiF$YJ8LSNLiN z;Atg{qFYw}4~eK)FyzNx;_9Pc*9k{eo%oh>TZehk5+^r3#U)HM%}B_n2E(s|;D;g) zU1socIwV`o@vZ-Y~KhrdcX zd?D^~@9XbBen!*fp_{8M9z^=8s;0A@Nyhw(G65mOXdi)tyS;z_v0`!-rTFGqj%Cgs z9(TGmI_~e^p6|Ut#vRKQBEKsfcS8G)v}5x4*VCPfq#{;EV|QOb?94SjmukT8IUQ_Szk8os$AX)}e|224u1iDBkaw?= zEtWV^XO@|eunC4VavIQ~Y`AJfqQ1;#$`vkPX8^ZkouF!#clVj!6kn{N;lFfU%g6dI zu_>PSpILY{##-+NZJ+Kmw5iLZ@W*(2Zl1oev*l(ukDirc6fZ;NskVZ+&ZfOBl$`$^ z{fXbELIeNE10!DlabpHSA`(q4<<_a^xu>b9I|Nu8;Xjf=UN;UMFEoCEx>|rcsMU4! zAa$h~mfTN~n#7rDXm^I{nukMMy+fsYI!8)|T^;dCA}7hyFu`Lr>CTeEk*ZEx&A(N- zJ`>Dgl9J3ITt0FRFjiV}W~K19h?h-R>gMEfnC*?+cX4bW@OLh&vtqLsw24b?&E~#* z`EomtZ!nAQ3RlVGM(PcEspw8=Q3?tIjUr)0uD!k%{{AfAAIBnk=?~DLlz5@$Gc|e4 z>v>p|f-}wfm_zeuCYPdcSp%X&g)?lxKK@o7DbOH0kNq#O<)J>Y#!d%f-{X)5RRvOr<%PXjf>u-AawjlfSwkA+JXnp&_n(Z`kzU8wF4q|fFP^{ad z=njfP&E5UdEho70)U(G}5uoZNi}|kjSfj}N3#*(-o_5q4KcPNe6kq8|BMS)DCImE? z^h%~XU7?z#ZyGR`nJp0vSR~3Z`)>AM&y#lDm#q6|((m{t=bG=5`)rGKUPR}&RJZ*R zb{p!sV0Zb&F!E7F(!_*3$u2;AYTyWh^$E3m${H51=w@dBu3^MHc?^TFTlRL($Ha@X z#F0;lo%HpS?qbwUj-GsE74AB;^hSwiiJAt9Md|mhC){99m(2Q3ZksDUqmfirbo5E7 zGD;p@NbY+1p=NgEEh<-2?9n*7{940QYovP z{_FuTZQ@adBcTo%j3Q2X<|6}e`K#5@SCQ1~&u|LhnikBYkB)_&$o-#*)S}>eN5fB0 z2FPLWu0z^kf<6Lw0UXN43?&ms2mE%gjMelGlqIM-ZB6Bk6NP^#mB5RAI9TXTrcFdN ze3}5Wy^ub6CFdguS|gSE*e-4c{0l6YbisVG!!xC09^JbMN)jTSp+1KNF5p|1&66?( z0P!9k_1l}{#>baW4;99VNbg$t-#tISA3ij~t5S)NFT3>Zf0JW(7SL7$GFoHrO%Sk& z-b^Wu`UKiq4R!~JHX!<%iZl=s9|@_u-(RzoWNyD`U%% zwSIMq?W^^e7nZdOOI-gDGmeXGH*1w+Xw$74V zzP`S}y)&Ymn}uPY)45Nq8CWGQkc+LYB$bC#BDFt}AP)o^8(DELF5;m-1pC+Kac_}c z6oG&Rlr=2#E>Z2~TjoUG!hc$D$;%{m`)gBNDlzSyOY_lc=t8NYvUFd=E(mu#X^d{eqAD#m>i+N zYpu*KxAnyOKvGnB@C3TyWmSpsixf`!t(2r=ATLr>60%ToKY@^%Ugs(#>7+*M{l+E% zz|vc<6!PO^u1Y#MHFO4?p)Q3BPp|Vm8CvPrzmRrNY{CVK!3%Y)*2C2I z7w|x}HrG*0rT7r(Tb()2WCaWo*RYruzUHL8QO0oI&)qJrXN(!9Momn!_K%4hpPR}cakcw{YlJd)~6*$l*PFNU-lQB?Qa{^ZKyz306>VCI#3Py#D( z;Swn^7**p@koYz#T0)IM*3z8@OxjPp*sg~7_SWmm+{qgoIQ)G;C%2{}UbgFymO!4p z&?oq9e z@!Iau5n=$!aPP?-gWCkh#>YvBR6ui!b2JNK*}uKZ0u5VYF;y0{Gtr(_p~^C>!} zcZgh~Te%9Q$kP*blzQ=O748$R%eDOkH{N9^69J#exG%)=h+UJ}+F-oSTA12&a41tX&a)Xg>8j9TM)~Ci~MxwgoJ7;AeY2XG1(qZ zHImL@pDhq9Pe?S{QGML!bgT693sT1p!`o1a)M7&I;ny9l8OQ%0{Y%>wkC^yvbC>A1 zN}pKP(N<=udO($eEjpGuM1Gf#_2co|c?szKkN@mq8F7HL z7Drlur7HdMrHh0zNdnJ4VK{k##WhT-ezI#=e%k{b7U_H9nmHt2ybd_5e{FS0Ciwh49-J`vuiAno}CQK26Y@+JYjsVai48L%KB1O(874KAvo;>6$rGb&)TRe!n z9UjC2`lBBm4$N>Ac?0?mTn#1QH&$Vs=uI@IXG3jqe5M{9_DWzAaM&#XRFA`?);|Pv z#6NLbL()0ssemo-$$e)9@4ZUAj&{X1@2v*6v~gQ)uT5#HL_^PnDW$y*=C3 z)>0mbmD%x~3OOfG<)7b}!8#iwwq)De<Y?ns&kq|nFj^|diI?IOTI0TayPtGy+&2kJCz`4l9YK{4|xTO&2) zeIxjv%*`pDzzoBBT$U}Ph3gVq>k_is8N_|d&D5FBboJw?g3qEgXryl`9lZL_(+ju* z5iYtYy*yskypB!rVRfi`H5PNa3h%#R=&tx$%X`ICb7%rp20R_Xw*JayvbS@Aj_l1@ zHRTp*-nJX4RvXfdcA4_UZ@tT} zojI}6%{+#hbC<{hb^CX&dvlSCZjuq_e|zOdposU?P^nzc2rh5}B_@Jb_xk;_{`S&p zbf(|~;op%?oaBEDB1p5t{na%8RGCf%yV-L(rnvpG87m+AD1vcx5la}rMm3<_>(>)N zKjQr*ne0R4EJ@}m>T>CriZDj@pFP7R>;Ru5`u1XM(`1Au9?pAL59vhOk<)ZNId7`S zZh2{|6Ka9;Ro3-4HPlH0p&v6if48F0dSFe<9R~R&*I)GH7K%B~lDUEbt}7R?sB|>gKJ? zV{ZNDn0Z_D#MUx{A*2zXUnS8GfJO?*PIdgYq#eUj4B5(}ogiJ4!w5f|w_|GUJK_UK zGvZ*@P>5+s-8gV3MafHJv#zfJSJowk{i~aockgaOd1nhSOl{@bxvgaI2lj#gIE#q1zZ@r)QS$sN`aUIX=Mo6rS`I zO+A+>fc@6&TMbq?7dTurfAc z*dY7nP*7(&THo^=Bbl%J3)YR)`GJh<#gt{6STN(?^Q2wiH-o1^v2P8H`2N+`$zE^& z-|VtYV`VtZ_PVy7g6~{M;7LluZt7)r`MXBQQx>I3Dy;uzBLoNYH%O`A_bz{VQe&Cw zKj*W@X_KAPVx;*8v-8aEY-zsA)^OQ@AKO3Ah+yRhkjC6l--^ zp+~k1^l&L!_4}OV`%9x`Y~sr#Z(elHC|I`riP7ww&m@`7=8!xf?d?2+Umi+)%n_Ob zz{wqH*PA#-KG|baWrPj{jy;IrU5*Pgn(=!wgW{6p*J&T+z=M+UE2lOQZr)a^X_D=l zpk37XgLJ#aC&9zX!}3qvlAY!<-JzKVbb+<aYlm=tR>UbSJ^)GeHTw}COpfJTS147%j*;dxLN0Ekh%eu0` zCM7(JBMR?czuV2i;sUkqsS`0#?YJ&fFZt-kdQWUD4PpMq3_;p>8sal3tO6I1f70JMyp+mv8!1^HB8v(}GN|Ls+ozVRa4({#>C1*8*$G4Ac45nnXu9EL z+RTvVTub9>pZ0w!CV_liLH)c2j}+H{r=#{g%u(-+o?Fy+&vykMX*QP4nMOr&+Tcoq zW~;hXIn~P==b1%@zhh>_mIT+(5=H?awI&x7D0+Vqh#1!9U%!(lNT-i$Ea6C3kH_oL zNT<*R{?5tX3$ZPAv|Am#F%43Br>WNvFyZnydu~ZiboQ>s7fnLyu!<~ROkKLX4?{iuK&)QYc zJMH*_krzRfWc9xgw)@T34C;p{xNCdpfA}@wkoO#^6{JVg05;gFrOP4aVW_-&6g7;b z2F5$sTFV|Nj1iLS2#Sr5HHKG0Jt@D>Iv(D{kxR?c`yGAN-J%y1BJI#Tacin&8?V z6sxGL#U|bf`UAE9dY^-mUyQ+-bI-A22+2|!}q}Qtofh#Uc>r!P6#Vf zWL8YgG|@{MENKNr9DyhRg}<0VAqoR!`98FPJ88KM20?{;#zym*uRv;n#?U|YH0Z1* zxo(B2>NnuE+L->kL)~C5a{cs3c~o(+spU|ES5G(ZL{|{)^wmF{ z!l-mfzFs$jsBf)vXFCv_hy566<{CzXnp?`y0Sp!xYC2oratowA{~{cE^a(2=F{ha`w5jS}L9=>$0VPZN%6MRk`Hcbtez612niF4pltYhqFL6}*r$ z)ujXUTm0$Db!z(JN!&b=nGkFa>H_urkbYZ`Sdd>#DW7Ofn&u~PeGJMK%xnNUay@o( zEK$^?8o33!b@`ly`v(PWZ)W4r|PIuIhs~-F%Yr@)vaF%k(E#)*^=nG@)Rw8BN zPqhp<$Eryst#cVfaCh&SkQZ4|IAFOX43BCe3bFmkGf? z`rto3{7t~co1)Z})R5LH>(;2%E7I{;1Miv&z=#HE#CdYYq8P4aK8FiP4i&a*h>~eL zRtJUNv0sv!Q1d+JbPo{Lw6lxpY9!?v|J4)`Vjum-_?r!%cMU>lxdeu2HMlLelZHJs z1cM&AJgUdz^;5>uVzQg&Hf-aG@OLHFH2QKucY%VYS&m|X1JL`n{rewP-9CCW$Tf*n+K)_Iz>WcJpOF>`Bx4X=!6AmFBnitR z%d_gIU{DeD$7_VWGV|O}o;<9-suCo@WoD>7gX371^KG)lU4)FBnx!ND$gt%7sA9$P zmQahja0W~{-a~wCf)N^UJs%7I6}+r^pEAb%I7CJyU8(l;Dr?}9)$kyQe6!U&OZ8V% zzk-3?k&d>N(HfQ_*8-hQYr4a5kBp!?@{6c7%bxl67ylADwvb`OwB%BoZN7u@e+hJS z1)8+&@hV!Nz3&0fEq`pzUT}lmrLow~uSRyc+3vm0Ad4u@HRirRr{qQ)RjGRSUd6kp zM7y)! zKCqy@vf6oMV@Y>Vl30M9#**JBw;OVzIxifvrW{`Sc7}41Du`C*tLz=C8TMoHcJ75y z)guWODM4u4ax}VjfHpk-+kz7$6#N!DWLE=U9jf3G%Kz{avcpu5hbNeQG6>Qi!V1v; zqPme&kN!ARCb*~ofLv0qc$iR&4N&j)AN4b{$58nh>1H|7W1u{l+~MmTZ6)NXL$ur- zK;%DX`I^IpGE;cP$}|(`=(zYn3%nLWo3q}R_yFe};E5`{d6Q%Ld^n=tSI?FWaHrJc zKHEK)sbW-Sh#>tf1dtHuu?_}%5^xiFF-ch#RS1(OdQ+sJ#drKfyr=K*fu0|~9M@7P zWEUZVZdXWqyz#N|x=ZC%?NF#IWZWvIcGsGZjl7$T>KPMH-PVY#Sa?pFHz`fEyT(&8 zmcwV|7tU=>ybdjkO(Y}?fJ#ZL%aYH5j|A{lY^GuG+Z7OhyiV-_Alx?V`&_(r6#kY$ zU69GP!b@#6)Vso_$IlR8JT5>`s^6_%h-hu6?LFuKF+rzq^ArR$w@z_f@z3`SWt1f_!!r zHH~m#ul~FPhg_~^D2VH4YX%UtHUlv_23d!*q#`;+!r$QMaq& zwc1*r;4PUJI)`91dVoO>153v_!>Zto|Im33&GzEYcN+o zyF60ZJ_1_w*+`kHZ$J;$_G`e4chwjy5R(55l{X10_xW&6{c;tBjXEDEQ7s6KPZ_H^ z7w)KVULHUQFa~3Un4tx5pVEq{CH#~zz3}&u zwiF?Dt=Z}=NBVCuVfX1y_h_EM^bamR2ndPy*~2ri7!sJZZ;eRM9__y&)vJ>R1`sA` zSc9gF^Qbwm388Ip7JI{d`^3 zo?xXLbbaYyB>%uK3N>zEd4`HxnY;;4I!+B*#3`u~d7IJf_>{Ypf(BYzoN+i^TVaq$ zHLStxV||XaB`abV2Cxw?4FLo)*3ApL$m>A7p4wGNe<^VD{yiNFSQ%|{iqZ_9C{c~> zlT#<^C)K~f|J;YOC~-gV4rKM@(lC5$vxA6>&_#6=)u^960d{*hoft5o1!vQ!UV&Bs z0J?X$1C+wkQTx%(o|nJqf#(liD#Trv1ojP^PKu88oVmIQ=Ps3|gHXopzGfYnVvaQL z;U~@o`?YM_9{J~RzL65a%L1nt>zCbut8;pCTjkXBtpnr31i}3}+|p_JmYufEE!BSO z4U!t-QE5(mx?c%u@HPj_67Ok8vijS%Ohm3JKH%%FaGlMLis$2-7dd3jc~DUJ(H{Z)J8WtHPs zeE0g+$cR{W9y=4kiD7428&QIuo{ZMgxwI{wE|=q7F6qqd?&B04{%XA&^6Bh&En*Uc ztcQk)ed}+nXA@pjc%l)W(}1)eDpL&MuG-Jk9$V{sZz17J6;3G{V<_k%7mZj-#9TUO zZCb*ph0%<4t{&5i>N$IjvTZsPYg|`rm0`)aT0lE^iZ|@U5Mm4L^}n?);raBT9^8T( z^KX20FXVKn~Un98LzeUtJ-YyuQL z4)<0JwsKybkGi>cRhpBkN#Jssr<}F26~u1RI(PoD{$17ln!HwH%U88ljSt*$^UGir z#juEOr?;Q~tI1_(#sO`A!1?t2_0HHOK6Db zNM+1|>5?rv{?pOUt%=?^%|G2QNH*ruPg|h0ky99P!}X?F*>W)Ax4R482Jg=ored8 z`q1SPiFQz=s^7Wcqz3eR-aUFr%q{b$pO3D?;-QY@Ppqhxh5YPZj-nxvX4$ij4|qm? zq>$5-QI`z%2v|Nbh#VZAL9^FzNV>j5{ zXD{4fMR0;&y*dfav+NMa-PnSQVi7$j*OUx_>%1knncjP_>QWRBJKk5odm z{qKmat5!Q`QA-#!*CyEr*|0amPw=(D)VoT;L4hYI0H`4nNlI(}{lCwtCAfHSY2J{N zU|@HrZ3ewn3?V-(ebG>3{q4!4a|yn5{55&<(d}N#m8ZOph$YW~LL()7IVdW*hoWx= zm5tswp0wZG1zRGO96u)2}rQe(k z>#-TKPAT;Bofc^cy_nDEwhH{)))){l9rNm^*{Og0{CgQPSLd#=sECWYY0%knzTzU& zmXdf97EzvKgh6`!Lp+E_4c0pfM|agvhqcABr)*!CJW6aJB3gf`05Wf%cuM;&zq9i& zw6++Dl}IZk*%{lWY!_bm)qQcO=G#*!C+BU~J`3wy_s^f=v7-h9D2SNZ82@t$TaNX- zUMmP3frPXu$LcgY#kW|G?`;f*;C!z-9pGYE65DI#1Kx~p{D}5H$;s`$KXRI#gCn(6 zb~_~npX1(EfpPR6%Xi-le~pQwnyom~+!`yv{t*7dZ8j{ZM`iq#0m}G_-T3W%*OK+F zjYgD@9TKHLr^ruJhQj9KIr*j}aM6pc5mhs^L=4z$V zDa+&MA1b)Sqig@@F{#t-nvEvd0~AFC+GYI%ce#5^P9(ROW6OFrvIX7voH?rc#kcmI zoL=*mH7U0ih16_}x`9EhtFNcGx@ktK@_Sm9*x!AY1MySPkr$foKj#DRn@_*dx=G=- zKwcKRt6FWY&Pw{_F+oi~&a)>ugJcS7B=P{5hywDx#eM`E2{W zs>YAK$Q*lQK}9`9;;D#yiBwR=%>Ife{WyusDWB7X{ zkyd~){0T0pfakI?yMiFKdI==TW~jX5bQiq|W{~m<*M$lBLvD1!-eYLkJLjpUAUjA$ z&w$Aorf~IUuD?7cs)@`snAgwm|J|C5uXSe^_=0>#Jg$RJ7~ffzSW&zy<_(oYue7{3 z&CDu+=M>hL%&F+i=NgqQe-8kRN}Gw(H02k&e2$?pLE)s1f}*c7s>JZLJi7u|jO0#v z*~KA2^b(l@!$)+Ad(pSQ6*5clbzQm_;QfE>>Q)v^G1zBktN74MovqNBRt3uQ8I#3I zRu;)sFLTimEeYzJis~gTzuPKv*#(YQ&7)IPDFT7#qoD6`RGZ;ps@V_(I5 ztO+~Qxc5vKVo{z87xFJf&DnapF8cH)ZGM5hk~Jy*O)M`xZK z(xV~pn%F6twtQ*mMc+3_`y-#z#XnNPOi)m2VIcl{Gaf(PyQz=3`ko;h2`RW zMUEb!bfA_@0S75J&G%seK@UxjfN+2f!=93d}?w^2=6Y>wnuKVbQr&!P{LUC*2W806u2(J4c? zev{0x*YSfEAe=vboaEkyo;~qFfwU3{OP&XMA#?8jei8$B*Mz zu)U7`uT~<0C>GLy^LNtSGq`yzeu!kEg{GtVIPgoOJ=?o@Be?671~GhcZQ7EreQG0| zMMppodF;9pvEUx(l6bT>Z4{aQ6#etNB?dox|4R{HmdQ$wTze%PSve~9ei~a^C#d+C z!mjS&?8t`5Jlp{j*B?!H8_0g+Cgsojspy>M6f06Rk?f`abLUAlX}Q~ewl>+Ze<6v} zD_P0WQ*zX;d5n!fD#Z!>R;RooaWe$B{HgKzeh)>q(jm+SF%bkhVC$Rxpd{e zwXIhyZu=P(%+iqHE{PXDJKrzcjZf1F8s_Gf z+r%?<)-n;LeWN&rvjhWGi5WM4jr%UA+$QPi35nw{7qdVbbc(%4{K-)cf4&o$Hm2g* z+T`qjV%&V%@o$8Q*|RlxBNiLwyCM88LOHVf#rBvfy{&asL{cLvSM&UGWdPD0TM(nJ zsony}8qBmI?X2#;C^pQ7_HvOCa%B@cWCYPPN@kV<&7yPQrRrk__+iuL(tJn!EY+-* z+<9gmObO$=B|Ae$b2RBWjUCEXtjlxxmtT(-8H#KOdp6wY8tzcxUnH5^%w0kpVOwGw$XL2b(BTj-Knp0s$ z2o3RZv4b0&eaY4wF#;?=x6Nc9)K=!QSjPl%49%=!&cZtdoCKRC9R>p@UAA)hSvE6h z$A^8sReqB~D5b}JRfw=W=W`+$LVYI9g!h=F$MHcSz`Ul-B-tLjf6pc#SIX3yj4}az zE~McQuGz5-zaaxy$Uv^gpVNiZ+&VXF(qx>>H1M}WhEue4eJ_tVeJHC5(YTFI5XFje zUhnv{KkZOash3YX9v`obboRAiQ|f!aAcFKvTfV?^wfk5LO|*0`6FVg%#@+rhD-`5L z|Dn&divHKrocs?bUu(B7Ye!p%K$mY)`r67)CwJlKbp=LnBEdaSW2$5Z26_b)C2hH) zZ?EH>v0Cjbp$FS%dNi1KROn?fk3OF6x|+Lqmi%n`v3V&ScTK5IS=PeS6Knmzd01iD z8m@s%?%erD6=Xgp-m0KAs2U$XF@S9Pp^UDb@Gj#c8F){u5I;rm@gzU#G0S$*8MRnLI9?*11VmtSWet* znw5V>OUEV5^V^bK@x;<+NcXrXn|P+eEM1B-aJ1&z?{!H8%xhyKZI3zO9llAyV);{U zy}dFlx-`L~|GlXhI2dPuOZuV0&d~>{-TWn_$OAW8Tda~oGd}$JcXaA~8!th8_A2WH zV03MhtYc_(3`>)q+6_jJ(FbD!-_r+M8!phL9PDSIOWksEb!ywxLSP@;?zy|o87k_x8gt+wa?fq6(xyN+CpZE9D3?T31z7gE z+BH4m1BlCnJ^Si=)O{<;@KwI7HfspggSdRUIYL3m;apw^Xh=6VHZ~d%QBAY}eSG*O z4Fg9m(eR|x`(BU0n?3(`GzZ}uW0IqMF2AcrGX%fwX!uEH1qGf6M1lON3YWdv6!L=N=peg4Ku=Fha&L3X8Oh%dtobcjLn+SPg1s;PgC zN_wn&UktJ2xbW*jg%R@lnojeecFAK7IJUPZq-E>bKuh_bfduE~^JNk6{8P<6Z_Gxt z?!*uM46wzB1?NA+OBUc11yQti+ev*$gG!skkx$zXJlfnG_dSx{;)R5ST0b&SkcO&< z^Bg!FKXLN2d_UhkC4#@TnOv+={9)ZYfjs?F?89`|zW$iBbN+_T&xs2f{^T|IZqSuj0pG(TWFNm=sl!^$K-xZM85av-sA(?`WbznRKMM)G(St!KrN zr;2?uT9~#Z&0N(wHC20F3sh;WvHfai=9?@c(t{P0LbXulgExw}Ti0`nmOd`I<}H3P z+;BGR-835cZap3Fmy1pMzLY8lB~z`OpVsu7vS*`>lszLVoDi<|9^~-79T8%4y|1^~ zvz`t|rhS&=e|YiY#S=v4R^LDE$M^ik%9qsZ1}K^KgEzPPt_l4v{2cMUnh}VU! zQTusMkkb3@2irkktd!>)hDd(VQzhO{z8{U4J@cof<@2Qb&&C;tXD{WdzGh~!^$t|0 zr_0JmBwf<9s+|7#`_^$f!`0I_uSj<$cq?Za!Ov8+w}+X%Z0MPitLEbMc>Tzrc4Y37 zFou`J@&_FLpoCUVHr+Qn1MP%HGe6i%damqsj~P5|j|XJdLup(O7HM=*X4O@bWl4z5 zIZpb|*3=eMbIr=hY|{6--=l*+pjp{b6v-hGQCnNBzB3jy@QC$wr?s87cs_@}Qvsj( z#FZa7Rvz#lyEQv6;-Y9oS!Ma>`mbEY{nT7RQn8uzM^q$qXO*}XEx*A&BR^#+ zWlHq{=EX+V$6@9jH>HKQ{NZUldHqu8=CsH9SI;6YdsZl1lv6Rbqjmb(CDZBOpJaZb zUpb-fs%C0!E{Igv=P4X56q+jVBwWpwJ8oV}78(w$(=ig?SvXr{r}=4Jfa+suP*89e zVwI2G6cb!JMx(=s-;(a)Sdiw@c+j7%!b!05Jh@<@uIBX{|%XibTRwx7JlayIRd1l6&$|i*;3`dYi3F1lF~^? zR1k1{eUY|ZT9`YTGdeBjU1szXVoMlCmrL7$tb#YLN(?{vrL*R*?sbt<81r<1?m@PW}AR}Xqg z6n|e{KJ3EL1AUZy>*G6epvTtZV={wn*_jq0Te&Y^z64j+K7OU{038*-p&<+O*&H8} zYvOG-HkV4tFaNaXd36&`G~msSNgmoR1rWVt3tanj3^X21l#N^RMM71!8WM`O^Ty}` z(*50EY7aNRFsZWNIudizV488EgbbmSch8@G+1c6QE<4K_h$IrdJH&c4i_l#A26Ld2 zQ#)_7WywPzkTTSUU|?Q$cI5hvYe%cy?{|+Gbh1PZWZiU`zkCoJUr-K*!%+}WdOOh9 zN02Hf$5G_(gNz?(W(U!!+uYr(=#C^zH_nB8G#b35HyPib0bO=mgTsDj>>MXZJps=4oMXc#m^?GRP!{5R-B!+>bBi_f5~x(Ka_+vHsRMb zIsyt@X-PAx<@zEaSMIrEfZK>|vG|P}-4uzJSXl)WiyVS=>$?7)22>nb9qq^BetA$R&*a+IDyGPs-h95+7A0$zz4Y7n6+ac$pZW88puy7PK{d|Lf}UMZ2!;-S!lgg(aT< z2^@Tr#qwtl%o=XH@5g6N4`tO_58D&4HQeHz&tn`uu2I!RyN~Nk*~4SBntgh5*Gloq zjYS-g_yQ&y(4+`DhU7K7&!rGJ*m?# zU3-fz5NO(LGrR*_-PRZ?jN$K^<$&*~}>YyNs<; zF%7J)ap>W(bT^dQrBIlNtJEu!H--QQUBwM+!XZl9XbBw(yF^!Q-S7Ynx7y~)^Ni-1 z&ikZ7v^$H-QcYhh`Sy?~bfu@(bq$vqQWkL3D`&(!N| zi<|1aJ^Mi*PJ>+(n%1loXH&}!Km^sh5;MaXlaI7|_YHAh&qjII>@~qYfBAZo&+gtA zXp4Mtm|aGxK?q`_%lKnKhf(`Nw2%70@Y2*o?dTXULTj?{OcUZS7K?qz?=`@??nTmE zV7XP@pd-{*nOPm4>eUX7{l2J{Q@YHB+%PZ?JLoZ0AD8Aoso`L8vEVhzCJnj(enF(R zuBk<7v67^g{+s%HDb6UyOw#66x|HG=_0ZOt&+$UOP3wV6ci}tz|J=ei^qRXSMC<^% zzwPYso5HX3fer}QHfVRU0$agdq>p9bq zPWqRfHF)A>2S(!@XDXK&*C%G-LSN6M$L}}XJmzu>^+}le)!6tf`{qSyYtE0Oz8s%P zKQQqcE!6KZw`el&@$c4bQc}muPhyx8OoI?~0E5fde!KF_-M;%X6Qkin|er;%^f$LSOB;c38=6W(aDxqJ7^yYG`J8z87?;3KwWM>At-d5pgu zNC*F+!RgFEk7*AKD2D%V!ZhKaCJ;HJO);e37KofAjCF}>kM~*U^F?8X`rAgkTa4gE z0BJTB#dY&&rdSuiiAxbPDgb1dO^Y57OzOHXG9SzOosU9x48*I~U$}d3$h(_vKe!}{x>1_!_%?p4pr%MyH_&3R zE;S^2>O|PFhTO{4fbJO(CjoGxtN*;ZRNq-LIGVo6%Fv7|2?PyNxBk7QR-7rw8~7pG z%N~afN1(bEEG3j)p(wFAiwq{#5%YhsiHf@CGh~)@?W)a4^b8Z>JOikgQx@-XTDYqr z$?Jg{s@7L+l|=_FNVc5E_WN9f_hV?oQN|Y0juTg1Xg9pq=o0dEMH@V+@>0APs>YsO z+1T>9PBr}20!_X~M|U*Uo6VP=&^m$mG1?MEiP`1<=e@p?rD$gY`IIID4Q?3rco@)2 zMkjHz8SYHqwt!jf&ARRC;}g-`ZEX4Y&8x7Ur!B5aS>grKmJW*N@& zqFO)ir(_L&b0>w`tN<$_SUptZjP*u-aC2o|8$}A;J)d6++=Js#F%MDKEBCCkM=f?h z{SwY*sg?JE$BPw4w_W=V>QH{FR0-QMlMMEwnj4~Y&BhG2H%*N}yOy}n(_M%Fyo;wN ze?)(a2{Q;%K)COrS}k85)zU-2>6}*|7L#V**mjmuRW8QS^It8wRYu8 zo5Ga6*Z*lT*>NZ9kutE7`){ix3ar1VJ_T^v1fU{$_ea1_LaIn_JDg4LilgW000Au_ z0?g-sH;CgEJ!<}+fbeZ{1W-E)n@esazlh7;_E^;Kj8*7tsH)x55ZfwB*uW63FQZcbki+LTwAiNSRPwe4?eY)6;9Lbv5fK3# z$=~(~tQYN%-HP}GsO}90Tv>TreV{xE>>H=CRCZuHK<<)uR%fTs<;?*sZHwdtgidS& zTtM0+ssExhctB>ZEb-?@k!8U6{d?B7^6u=90=&7Cia*A;LZ;)MD?i=vlrLr8&;>+z zTlQ^J_S*sIaZz>`MK(_%?;mpgC*W57-k*nO&zT=L3V;Le-g#h4U;0LTo8<)ZRmKD4 zP4ug+VDsjGwVT{vmbQ+u{s7?DU5qvGm75g;V8HN8nNi*kw`3x>7J$%v0l#B9v7f=4 zCz9vI1`T!Y@s`3~A{bz}qth<3Hq8PcqsJt`D3^WPw9>hEzh3<}jprI51>EZU!M>Ue zxM`~-@t^zl`2bTQB4D}|h$*lm?U8_G&4DWKzkKjgQHKt|mIpBCE(NVXzMWkd+V?Wja&-zDCcBn^Rah=o_-4AUUkx1W|`N7xvY3CTHu{L&}5K$ zXXkO9=ROgMCQwZ~D;a#~?YzuW1@vzYsi`Q3_&Qf zZ0oc>JRtn>(Bd`Ebm=^>w4928&i4T)pA7%bDnYKtuJO8=bxNGqgjcV9Lr?XS>}+5K zCMO#{`kTF>gxur0-xaDZ6ubh7v#<0x)sMomkeR2r)Y9?JhZT87(CSWQAoE~0mA zIL_i%yCa3yOl~6dBhL`NxUZkH{8KF{Xeq>Rf7soHRnb;xqhafk6wJjFy zp*P6VrBM!w;x>-SFFfNHzj~FVHd@&b?6|(10Xcq?uyq4lt+DY=zUgm)?2nMJi8e)B zWxrJJO3DdjnPw~YHSTM}?1~R-?1NFZTSwZj@s(fMDVA)`(R>KyEK@4BLp0=BYSFCp zRJ@5t#u)q4ZsuaS*BBgErT=oqPUhTKuHnK6bS|ad^+=nejZ*fw+4Dn7ItNl_R$(XA zGJ@k-v%CBfI#Zs-PQjf^3r^=3T=$oWm1CVt5OO9)Z{+RkSE!= z8^|ao#vRt{3r%G-8T8gJTwBtbU%qDag9(mT0-v0pJ=Cl08(*su&|Tk#oEyGVAcT;& zcHkR253lyD9oO*`gBRNBE)RN0m*kpSCN{|!O@tT){nFi2KfWhm)oSxka4B*3$JgVU zR(ka3t7eLd3NP|)_)#RC=ci*SnqGfd*>@H-V52xS*i{wyVBv!8+*#iw7D0|U$0RP! z=U>kEh__nLQ0);3k22Qy9#-B$-7jiz7jIP^(&MDH7F5 z0$D%lIk9LTSu&11p%GvVtZ>@r%S_al8;dmLpQHz;cHk8wpylOAxB1LSAuBEeN;k0( zZi>A80WSO5N)M5F&T6%k=9^wd&1=9G)mmM)YYCVa6&h1c zG5I@vGgS5aWqXu6GgCZd)}c7(;^iwN9{5w}QPrbs@5t{z-Sp}spu}G!&vnWW_r1v= zP-N#N!;rK-iplWQpgSzUDPmWomvMn~ zeus#s`#Z0wb>>mhB{Rgs9Ni<;jTXnv4ihT9uw@HyBi~|h|J||I2kRtj*6m+p3@3wt zm-Cy``dwZJUd`C`kNWN_Q7`p9o}xfU5Lb4S5)*O9e6t`Yxn*?3BDJOm)tJ28!&j+} zpP4>BI<{`_My(S%@5&IV2>r_U{=CQH;iG7@SZy6S+3))zUVL38{k-HrBRXtQnb}9? zNaUIKbxsyqV!?9sz77w3uah+-SJ}|`DT!H(e@o9ay{T*+bHvHb$)meHiBY*aJ^hr5 zx-z|7hE&6UY&1WHl2ag<^XXofj|_&x;zK#JBy4y1clF@R&=`BFt#N@WB^V{mWmB+0 z9YN#HH=Xayg`iP=@haV&sh*e=Y%A4hxP^|*|A}7Bw)YL~hFJvfzhByBlYHgflw&WX zK<}9Bpi)V;uW`WqO7F)`T^$GFwu>Ob-t($KnY(i4Xv#H3(6|gyen|{f`RF#aet_fu zOjWTRnF=#(TdGJwj-O4cpMa(gh1Yyh03|Y(2b2e_E|4R3OvWEoG%|}z^7Ua}nHSHH z+SMA<-qt0lW4O@1T7JE6q*hpma#|?XJp_oIz)lB2H2hK}NYX;W?d z9YJn?Zl8OTH?Tz74D%E2TwPc3o>_s3A7Nbcv&eAQcE4itk z@!7p_G(h^rPo8Eghx z*XThIjMgXBVi(mX7mZ%bnL=to3>4?VQhaF2nZ1eXb*obm(m@W1!g^4dBsfPjf6b@N zsuX5nM@L;59|qrUZ>2j#B|H@uB*mSGhvTmZf_w$yg*@2}@Wb>pKS9%XL%LTwOO@tI>@yeCs!Qo(IpKH@K-bNHI2JMYq1=(-b;c~(oF6=i*r3}b$N3*z?B#$P9L$ib&! zW3cqa<%zBthAQeA1CXi^euP+^L9_XdFmRUJh>>Gf?Zl9zS)aZPegQ5+11Xt|P&nB; zlPbsHShqC~EXM>+pDNeJ3vn4u4R4c`t3X{!XD>$lemO<|XCg2Llpv8L5InN>OMi@b z{9cO9e58XqJn-gp#><>(@4`q%k3l-U_b;J1E&V;1uLX!7<&2j*i6#Lz`SXNT3ATvP zI#{L25G0uBy);fU4!b|7BOiKi`dguPWv7WBQ&e6_#thx$h8EVNKA&?VJm8-cz~3N3 z(dzbnV*RHhIxRXX8`-ZK7#|8w6KR&=xgS{J>-82`xkD~Se#O#x?}=@;N6+8Bgv4eT zmYX&PU~S>SzK<)vRJVVSnHgpDw+^kp?CCT1@?iyu!^c7X<9PK@vYI$}Bm_C+VkaM& zif7vUv1y1oR8i^7T{Er+b-XV^IE0~3^$O|RLxZ^@DXfIHEKR}t!n`)et~SjWnW7j4 zQp0!h4+SDtw;-`H$sZ?T_f3lRt{z|dV1YVdU^rS({pozJvb~_CkhGP@U4w%*Par5b zlfpAEj#AX^4>AwVDnzje?zT`R;=`GcjOhC6oC`R0pT@)cy{Id*_GLxu7`zHBm3^Nq zo30^e=zl$iA^uG&Dt__VA)5@;lB|P#>*v^DZ^5@ONVFsHsF#gz**i`vDuQ6>2|!F5 zKHQq{6{#z=Qa%>%xfco5xM)12AzKqgl}+b#|E0mCa4zRFe<|hAaE8)zj|nm(`6PQdl9qONvX7?HfIAfne+dOI%^>Sm zsM5u^Q<9Y;4Iz7{9`tzb`lHX=AGIM$NItpx@t@xFwly?YBQ0g)|2a!cI;UbOZF$$u zE~mQAx>s;SM%(!o_ukcOpClA*9$>M{q%hUYVzpvjq@jb@aQ)1&V#9}R{G{1cjl=+t zZX43Vp%yZk{POOdjO%h@mFKU8xR*RSgDWw$yS}v3@iRWNZlGT};{V9GpSDh6`2wXK zGB9%TB(dkO70eDDz@)_V>=1L?+n)-GyA^%`0cQe!cD!?eS~>Y@Y^cj-t4Z-=gJ~A!vDbD1 z+LK$&l^-8$D#9i1eg##hl>#aMeowfS6^ea&KYo$j>PqoIw~tGRMGmk=L)STR%6+Y3 zsC#j5|K)8_b>$tO02A2tLgKv>8xo^)lMcJGhj)ZElnivqgASOoxJG)I@i z)87*aCieCjU(_q(JlmZg_u>xBn^gtswMIlh9p_n)V5w(uKlPf#J#0Lt$XuCtGYJuJ}gQYM&uGjLQ>`w+d+UH^7cVfg8 zJu1lmKz%94xm71O1k)T)?;T=TqZ@Dm@rmfy0CxHrA<#jxKn;XMQX)}x+V?P+ni2}4 zdBt(iRWb`tC0%0u0~U>CQRug{f0Te~xpiD6-92>teQp33s&l!fGyFbe9=^F9+W3m^ zU{P=g)zIJ%Rk5U&A^P(eh~r>C8O6)fBGM1#dGm%Q?Z%hn02$4gOR`|e_X80Fo;tb1) zi7q8fG`*GYeb|J@b=F5h|*{+I%Rshx17=6tWir?3H7fi7MK7b3?~1UuJ~|7q9c2R zM4eD;FN0j*@JTJyLwE^GFn;L;*iX&`=g7vW;Xk+=+q-q8AKZT?I@d|RH;Nn`Pg)6k zIC+b17Po<8h*G$dJJ%5g&DAZOR*~7Tx9eIggoDk*SOfGY?P0>;V0rV{TIbMQFmzSi z+TLSiR|BpD&3BKwjzI8J$|4pKh~}UyM_-G?36|D3ofap)<28j#b3~Gr4dr3;$g~YB zf}F85KN~R`(byAp0}Lh&IY55~G4B=5Vu;NnyN3*0N+@&>t#2Z@iNm2f8y08H3C#w* z^=r_AZe2z0E!T}}%Qx?e`J1jwhrb>12a5dFEIb}SN<@~!7yqsW5hkDdUDQTg4N`Nm z;fl<3`&s#NfMrWGU`*T!f&NO4t9Q`D(HCdaBw7I)Saxr~^($Fz^wxAVTM0p2r-ZN` zKVe~5c#!Mz*tt3`>mL59AJ7Zk{TU7-ONUeDj+~k2;u^Rt!9Q@!E2zd6qQMg#rS}JO snmhtvJDZ>AsO@MIAO!UPy_&}5eZpH@FMoRQcU}M^1M^EI7jHfIU$mk<&j0`b literal 0 HcmV?d00001 diff --git a/docs/software-catalog/img/table-overview.png b/docs/software-catalog/img/table-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..d1e1f065a6cbbc216fc3c55b559dfe84da1c2f31 GIT binary patch literal 116059 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

Uz)uMRS=IaLmcI0C3F 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

e!QsU~ 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 literal 0 HcmV?d00001 diff --git a/docs/software-catalog/img/versions-navigation.png b/docs/software-catalog/img/versions-navigation.png new file mode 100644 index 0000000000000000000000000000000000000000..be444d9926c019f70140d2b493e3e5d271a6282c GIT binary patch literal 96953 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 ff>l`C?^lsA6GuhE)x6O+A}kiDL1#P$ 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

    OV9FF^3&UIT&HA8xk=*2~If%XV& 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
      DhcE9^S$KZ-W}x`J#nd4cu>b~LobUHv zl&_sor^rW%IsIvqQ?HBr+>EDJ@FD4_x|^)B@9x-|vHc)<#NP`8qNEwKNMdQE@NvW6 z6=SOo4PSzwv$RlE6r#ZuXFHf-Zr6FhPAy#Hy-MSHp0@#q>+Ee?Pb%&6|D;TGcGrQ{Av8lLZ88il*L$I-R%LPn+D6iIXVZNsOhYmHOi5sAT8Qb)%%z% zNl_^;=edw=qKBzu6@}mQ+-~x^TL+@T7#_Y=RV+sD)yqo|&89v!K)0az494>r!#&IC zOP{~U_=_h5{=;NzgZ+B72;M^d2V&dC(~dm+?dAtxhF-fY#%j8=JN7qEzCxV+j4aco zp1_w?dG@}zq%~31gA6A&%PFc6B~Jhnt_+xpW0Aj50(+#8J#8~B)?m$6*&m=c86qB2 z346oIkxPbFLRP8l z-p-s}`qUw(e)M2bVbjm~w&C`(!b0+)?2SeieznJfeq0n<)oCH^AT_eTC&1N=kR=C5 zIe%>N3dN4j4MzU9*z}>5uhER`DOJXXBi00oyyLPeJvBD%V50Vk_9f=YgcTlA62eu(G7ol(r9RQ2Y+DF zlYDpF0B+yQIpoq~mdONajZBinc_Ai~OV6&T;a1BzWPZhSBqyFmez{8Xfr)DS%WPJK znC^&d?uR0S6~oPFDENrr)WDM|W*o6YyUAE+$~%$#~(1v-xQi?Jb9+&fml za(=R72zO`T595`A82LX%=9NC3p?KkU7Jja>g1o?$i8il%AY-vVtI(97%6i0gXn-mD2p9Q=piIi5gxT$_w zBu|?(IVqQvkdPeo3Sl;||0|9Y8(ZGh;8}<7WC|uYW2g?Kf2b=QwGd~@hFl1JVuGNc zQ<~3Us|17tT{ZWx5ahQL2QQ>q8F}aC;i4}!Zd?Cz@u353uVVkb*w~+kZIjHqzh?^a9>+^7W=EwOUlUbK{Xvt8>)@r;nTN20zsW_gsHS``WJJ za2`VPBLVa!BiC>kZbDzkaW|b`S~7J6z?zM_dlP zH4M>Dddo3FTTC-a&6t+fR&r`;y_vGDot=A5PR>*W0#TInH+cal1?zb8W+vJMvpoNv z{C3Pi1Qr4!;XdEBK&7mT!8ZWD^ZDvG`TNg6!TltNizEHWVA-1Dd7?=k3X4UKGl~?v z+RD6XWD>laSspax4+t`1t?l=&tjy71v~*KmI(mw5-FC|g)>WjvbEF9X1k2+s|n1 z=trJSWay}E0*%%1$Sj=xwZ&>UvVWPz!x5XO*}jV5X1e0>t-816nyJXLpZ=6KC{PK> z;F>eN`t`Ph_c!1EmM_g2h=Ue%oGA$V|GMukRtj->~WXP|Vj zkeKP$IED)NK4W>Rd`M2|9B4NK+4=oU=kWu7&V2ZF}0)2Pn4Za_9PPaI%VP>>fOlS3&|vY^wj{W9NO>06(526 zaO)j0U8w6@@l9SWter~6ekM-PO*~XFE`IGS}XM7hb6l+`c z;f!)m3}n4(;$JqsR_7tlA)D%gL!Lx=7pF;lICeSkJ|L5(*5a6$E|qNN-S>-_W5eMW z3;n!ZV{k|LhP6x9R0HM0I{-*0opD~GOg>*mT6)qU?*&_`Mfw$nE8BnkV6uD$DZ@{8 zC+I44aVkEAF&?inxb9{n9JaE}&HCV|-27nH4`l3+Hv7Y|19&z058JMPI05^^;oPrv m3y3ZLPbzl*i)UtWRU*J9>A+cIxs0_{a_Rh)b46#|qW%Li^Q2G! literal 0 HcmV?d00001 diff --git a/docs/software-catalog/overview.md b/docs/software-catalog/overview.md index bbde1ccb83..efeef61aef 100644 --- a/docs/software-catalog/overview.md +++ b/docs/software-catalog/overview.md @@ -3,5 +3,64 @@ id: overview title: Software Catalog overview sidebar_label: Overview --- +The Mia-Platform Software Catalog is a centralized solution that enables organizations to track, manage, and document the software within their ecosystem. It serves as a single source of truth, offering visibility into software ownership, metadata, lifecycle status, and versions, ensuring accountability throughout the entire software landscape of the organization. -... +![overview table](./img/table-overview.png) + +Here are the **key challenges** that a software catalog addresses: + +- **Lack of visibility**: Without a centralized system, it’s difficult to keep track software assets and their health, leading to confusion and inefficiency. + +- **Duplication of efforts**: Without a software catalog, teams may unknowingly develop or maintain duplicate services or tools, wasting time and resources. + +- **Onboarding and knowledge transfer**: New team members or teams may struggle to understand the existing software lecosystem without a complete catalog, which can slow down the onboarding and knowledge transfer process. + +- **Accountability and ownership**: Without defined ownership details, it becomes challenging to assign responsibility for maintaining and updating software, leading to delays in issue resolution. + + +## Items + +An Item is the basic unit of the Software Catalog and represents a software resource available for use within Mia-Platform projects. + +Software catalog immagine + +### Item types + +The catalog supports the following item types: +- *Plugin*: a ready-to-use microservice that can be easily integrated; +- *Template*: a basic repository with boilerplate code to start creating a microservice; +- *Example*: a pre-configured model with business logic, ready to modify for custom needs; +- *Application*: a set of resources that includes plugins, templates, examples and other components; +- *Infrastructure Resource*: defines custom objects beyond the standard Console-supported resources; +- *Side car*: a secondary container that enhances microservices with features like security, logging, or data synchronization; +- *Proxy*: centralizes external API access and cross-namespace microservice communication, simplifying configuration; +- *Extension*: expands the Console with custom sections. + +Please refer to [this documentation](/marketplace/add_to_marketplace/create_your_company_marketplace.md#item-types) for more details on item types. + +### Items Versioning + +:::info +This feature is currently available for the Plugin and Infrastructure Resource types. +::: + +The versioning system in the Software Catalog provides detailed control over the different iterations of each item. For technical details on how versioning works, please refer to [this documentation](/marketplace/add_to_marketplace/create_your_company_marketplace.md#item-types). + +Each version includes key information, such as the release date and whether it is marked as the latest version. Additionally, if available, you can view the associated release notes to understand what changes or improvements were made in that particular version. + +In cases where a version is listed as N/A, it indicates a default version for an item that supports versioning but has not yet had any versions added. New versions can be introduced if needed. + +### Items Lifecycle + +Each item in the Software Catalog is associated with a lifecycle status that reflects its current phase of development and maintenance. The available lifecycle statuses are: + +- Coming soon +- Preview +- Beta +- Stable +- Deprecated + +For a more detailed explanation of each status, please refer to section [The Release Stage of a Marketplace Item +](/marketplace/add_to_marketplace/create_your_company_marketplace.md#the-release-stage-of-a-marketplace-item) of the documentation. + +A lifecycle status indicates where an item stands in its lifecycle, from its initial creation to its active use, and eventually to being deprecated when it's no longer maintained or supported. This helps users quickly understand the maturity and stability of an item. diff --git a/docs/software-catalog/ui.md b/docs/software-catalog/ui.md index e4eaccf9a6..6f4b2e06ad 100644 --- a/docs/software-catalog/ui.md +++ b/docs/software-catalog/ui.md @@ -4,4 +4,45 @@ title: Software Catalog UI sidebar_label: UI --- -... +Mia-Platform Software Catalog track and store information about all the components that make up your infrastructure. You can view all the items by navigating to Software Catalog > All Items. Additionally, you can explore the item details. + +## Items discovery +Upon accessing the Software Catalog frontend, users are directed to the main section of the Catalog, where they will find a search bar that serves as the starting point for navigating through the items. Given the extensive range of items that can be retrieved with this tool, users can refine their search results by setting the search context and utilizing advanced filtering options. + +#### Advanced filters + +The advanced filters enable users to refine their search based on the following criteria: + +- *Type*: Filter items by their specific type or category. +- *Lifecycle status*: Narrow down items according to their current lifecycle phase (e.g., Coming soon, Stable, Deprecated). +- *Availability*: This filter determines whether an item is accessible to all companies, visible to any user accessing the Console (even unauthenticated users), or restricted to the current company only. + +Additionally, users can toggle between viewing items that are specific to the company they are working in or all available items. + +![filters](./img/table-filters.png) + +## Item details navigation +After locating the desired resource from the search results, you can click on it to access its details page. + + At the top of the page, a breadcrumb navigation trail provides users with a straightforward way to navigate between different items and their respective versions. This intuitive feature allows for seamless exploration of related resources, enhancing the overall user experience within the Software Catalog. + +#### Versions + +If the item selected supports versioning, the first page will display a list of available versions. Each version includes key information such as the release date and, if available, a release note. For more details on versioning and how to manage it, please refer to [this documentation](/marketplace/add_to_marketplace/create_your_company_marketplace.md#item-types). + +By selecting a version, you are taken to the details specific to that version. From there, you can continue to navigate between versions or other related items using the breadcrumb navigation at the top of the page, ensuring a smooth transition between different resources. + +![item versions](./img/item-versions.png) + +#### Item detail + +The item detail page, which features two tabs: + +- **General**: This tab presents an initial Details section containing essential information about the item, including its name, general information, useful links, and tags. + +- **Specs**: This tab displays a JSON representation containing detailed information specific to the item. + +These organized sections ensure that users can quickly find the information they need regarding the item and its specifications. + +![Item details and versions navigation](./img/versions-navigation.png) + From 04bffb02251fcc0aa0cc83ab8bc8787c4e35cf39 Mon Sep 17 00:00:00 2001 From: epessina Date: Tue, 22 Oct 2024 17:12:44 +0200 Subject: [PATCH 54/66] Fixes --- .cspell.json | 224 +++++++++++++++--------------- docs/software-catalog/overview.md | 50 +++---- docs/software-catalog/ui.md | 30 ++-- docusaurus.config.js | 2 +- 4 files changed, 149 insertions(+), 157 deletions(-) diff --git a/.cspell.json b/.cspell.json index d920345f34..035017a76c 100644 --- a/.cspell.json +++ b/.cspell.json @@ -5,46 +5,76 @@ "language": "en", // words - list of words to be always considered correct "words": [ - "reinit", "ABAC", + "Additionals", + "Adyen", + "affordance", + "affordances", + "Agricolo", + "AKHQ", + "antd", + "ascensore", "axerve", - "nexi", - "fnmpay", - "Fnmpay", - "UNSUBMITTED", - "THREEDS", + "belfiore", "Bianchi", + "BNPL", "Boundarye", "Brotli", "BYOI", - "BNPL", + "categoriaprincipale", "ccloud", + "choco", + "civico", "clusterization", + "clusters", "cmsfilters", "cmslookup", "cmsmenu", "cmsmultilookup", "cmstheme", + "CNAME", "CNCF", + "comune", "cond", "configmap", "configmaps", + "configurability", + "configurator", "cqrs", + "CSFLE", "Davide", + "dazn", "ddos", "debezium", + "Debezium", + "DEBEZIUM", + "decoderbufs", "decompressor", + "deliveroo", "dependabot", "deserialization", "dind", "dnsmasq", + "DSTU", + "ecommerce", + "edificio", "etag", + "eval", "evolvability", + "explanative", + "expressibility", + "FAIREAI", "fastify", + "fatiscente", "fhir", "Fluentd", + "fnmpay", + "Fnmpay", + "formio", "fortio", + "Francesco", "furtherly", + "gantt", "gcloud", "genrsa", "geventhttpclient", @@ -61,33 +91,52 @@ "highcharts", "highmaps", "hmac", + "hrefs", "hsts", "htpasswd", "iban", + "Iframes", "imbonati", + "indirizzo", + "Industriale", "infobox", "intellij", "isbackoffice", "istio", + "JAAS", "jenkinsci", "jsonl", "jwks", + "JWTs", + "kaleyra", "Kmongo", + "kpis", + "krew", + "Krew", "ktor", "kubectl", "kubelet", "kubens", "kubernetes", - "kubernetescrd", "Kubernetes", + "kubernetescrd", + "kustomization", + "kustomize", + "lecosystem", + "Linkerd", "locustfile", "Lucene", "luxon", "makeitapp", + "manutentivo", "mariadb", "mebibyte", "mebibytes", "medeia", + "mergo", + "Mesos", + "miactl", + "miaplatformctl", "microlc", "microservice", "microservices", @@ -98,6 +147,17 @@ "mkbaas", "mkdir", "mongocryptd", + "mqragguagliati", + "mTLS", + "nexi", + "nformat", + "noprod", + "NOPROD", + "NSJSON", + "NSUTF", + "nuovo", + "oauthbearer", + "objs", "oidc", "omnichannel", "openapi", @@ -106,134 +166,72 @@ "osxfuse", "OWASP", "paas", + "parallelization", "pbcopy", + "pgoutput", + "pharma", "pino", "pkcs", "pointofsale", + "Prelios", + "PRELIOS", + "principale", "Proto", "qiankun", "quarkus", "rapidoc", "rawp", + "redirector", "redoc", - "sharded", + "REGO", + "reingested", + "reinit", + "Residenziale", + "RESUE", + "ristrutturato", + "Rönd", "SaMD", + "serp", + "servlet", + "sharded", + "signup", + "stato", + "storer", + "struct", + "superficie", + "SWSS", + "syscall", + "telecons", + "teleconsultation", + "teleconsultations", + "telepresence", + "THREEDS", + "tini", + "tipo", + "toponimo", "traefik", "twilio", + "Ufficio", "unchecking", + "UNDELETE", + "unita", "unmarshal", + "unmount", "unpause", "unsecreted", + "UNSUBMITTED", + "upsert", + "upserts", + "urandom", "userid", "userinfo", "userproperties", - "yavi", - "miactl", - "miaplatformctl", - "formio", - "expressibility", - "Additionals", - "CSFLE", - "REGO", - "urandom", - "upsert", - "upserts", - "kustomize", - "kustomization", - "unmount", - "affordance", - "affordances", - "struct", - "eval", - "explanative", - "parallelization", - "UNDELETE", + "VANI", "Velero", - "telecons", - "teleconsultation", - "teleconsultations", - "telepresence", - "syscall", - "Francesco", - "Rönd", - "NSUTF", - "NSJSON", - "Iframes", - "tini", + "VULNDB", "WHATWG", - "JWTs", "YAGES", - "clusters", - "DSTU", - "CNAME", - "antd", - "kaleyra", - "mTLS", - "Linkerd", - "RESUE", - "pharma", - "ecommerce", - "signup", - "oauthbearer", - "configurator", - "configurability", - "JAAS", - "configurator", - "RESUE", - "reingested", - "storer", - "nformat", - "redirector", - "hrefs", - "DEBEZIUM", - "Debezium", - "debezium", - "decoderbufs", - "pgoutput", - "servlet", - "gantt", - "Adyen", - "AKHQ", - "NOPROD", - "noprod", - "objs", - "Krew", - "krew", - "choco", - "Prelios", - "PRELIOS", - "categoriaprincipale", - "tipo", - "Residenziale", - "Ufficio", - "Industriale", - "Agricolo", - "superficie", - "VANI", - "ascensore", - "stato", - "manutentivo", - "edificio", - "fatiscente", - "ristrutturato", - "nuovo", - "unita", - "comune", - "toponimo", - "indirizzo", - "civico", - "belfiore", - "mqragguagliati", - "principale", - "FAIREAI", - "dazn", - "deliveroo", - "serp", - "VULNDB", - "mergo", - "kpis", - "Mesos", - "SWSS" + "yavi" ], "ignoreWords": [ "asncdctools", diff --git a/docs/software-catalog/overview.md b/docs/software-catalog/overview.md index efeef61aef..294f3b75eb 100644 --- a/docs/software-catalog/overview.md +++ b/docs/software-catalog/overview.md @@ -7,34 +7,29 @@ The Mia-Platform Software Catalog is a centralized solution that enables organiz ![overview table](./img/table-overview.png) -Here are the **key challenges** that a software catalog addresses: - -- **Lack of visibility**: Without a centralized system, it’s difficult to keep track software assets and their health, leading to confusion and inefficiency. - -- **Duplication of efforts**: Without a software catalog, teams may unknowingly develop or maintain duplicate services or tools, wasting time and resources. - -- **Onboarding and knowledge transfer**: New team members or teams may struggle to understand the existing software lecosystem without a complete catalog, which can slow down the onboarding and knowledge transfer process. - -- **Accountability and ownership**: Without defined ownership details, it becomes challenging to assign responsibility for maintaining and updating software, leading to delays in issue resolution. +Here are the **key challenges** that a software catalog addresses. +- **Lack of visibility**: without a centralized system, it’s difficult to keep track software assets and their health, leading to confusion and inefficiency. +- **Duplication of efforts**: without a software catalog, teams may unknowingly develop or maintain duplicate services or tools, wasting time and resources. +- **Onboarding and knowledge transfer**: new team members or teams may struggle to understand the existing software ecosystem without a complete catalog, which can slow down the onboarding and knowledge transfer process. +- **Accountability and ownership**: without defined ownership details, it becomes challenging to assign responsibility for maintaining and updating software, leading to delays in issue resolution. ## Items -An Item is the basic unit of the Software Catalog and represents a software resource available for use within Mia-Platform projects. - -Software catalog immagine +An **item** is the basic unit of the Software Catalog and represents a software resource available for use within Mia-Platform projects. ### Item types The catalog supports the following item types: -- *Plugin*: a ready-to-use microservice that can be easily integrated; -- *Template*: a basic repository with boilerplate code to start creating a microservice; -- *Example*: a pre-configured model with business logic, ready to modify for custom needs; -- *Application*: a set of resources that includes plugins, templates, examples and other components; -- *Infrastructure Resource*: defines custom objects beyond the standard Console-supported resources; -- *Side car*: a secondary container that enhances microservices with features like security, logging, or data synchronization; -- *Proxy*: centralizes external API access and cross-namespace microservice communication, simplifying configuration; -- *Extension*: expands the Console with custom sections. + +- *plugin*: a ready-to-use microservice that can be easily integrated; +- *template*: a basic repository with boilerplate code to start creating a microservice; +- *example*: a pre-configured model with business logic, ready to modify for custom needs; +- *application*: a set of resources that includes plugins, templates, examples and other components; +- *infrastructure Resource*: defines custom objects beyond the standard Console-supported resources; +- *sidecar*: a secondary container that enhances microservices with features like security, logging, or data synchronization; +- *proxy*: centralizes external API access and cross-namespace microservice communication, simplifying configuration; +- *extension*: expands the Console with custom sections. Please refer to [this documentation](/marketplace/add_to_marketplace/create_your_company_marketplace.md#item-types) for more details on item types. @@ -48,19 +43,18 @@ The versioning system in the Software Catalog provides detailed control over the Each version includes key information, such as the release date and whether it is marked as the latest version. Additionally, if available, you can view the associated release notes to understand what changes or improvements were made in that particular version. -In cases where a version is listed as N/A, it indicates a default version for an item that supports versioning but has not yet had any versions added. New versions can be introduced if needed. +In cases where a version is listed as *N/A*, it indicates a default version for an item that supports versioning but has not yet had any versions added. New versions can be introduced if needed. ### Items Lifecycle Each item in the Software Catalog is associated with a lifecycle status that reflects its current phase of development and maintenance. The available lifecycle statuses are: -- Coming soon -- Preview -- Beta -- Stable -- Deprecated +- coming soon +- preview +- beta +- stable +- deprecated -For a more detailed explanation of each status, please refer to section [The Release Stage of a Marketplace Item -](/marketplace/add_to_marketplace/create_your_company_marketplace.md#the-release-stage-of-a-marketplace-item) of the documentation. +For a more detailed explanation of each status, please refer to the [dedicated section](/marketplace/add_to_marketplace/create_your_company_marketplace.md#the-release-stage-of-a-marketplace-item) of the documentation. A lifecycle status indicates where an item stands in its lifecycle, from its initial creation to its active use, and eventually to being deprecated when it's no longer maintained or supported. This helps users quickly understand the maturity and stability of an item. diff --git a/docs/software-catalog/ui.md b/docs/software-catalog/ui.md index 6f4b2e06ad..38a4ed5bcd 100644 --- a/docs/software-catalog/ui.md +++ b/docs/software-catalog/ui.md @@ -4,29 +4,31 @@ title: Software Catalog UI sidebar_label: UI --- -Mia-Platform Software Catalog track and store information about all the components that make up your infrastructure. You can view all the items by navigating to Software Catalog > All Items. Additionally, you can explore the item details. +Mia-Platform Software Catalog tracks and stores information about all the components that make up your infrastructure. You can view all the items by navigating to `Software Catalog > All Items`. Additionally, you can explore the item details. ## Items discovery -Upon accessing the Software Catalog frontend, users are directed to the main section of the Catalog, where they will find a search bar that serves as the starting point for navigating through the items. Given the extensive range of items that can be retrieved with this tool, users can refine their search results by setting the search context and utilizing advanced filtering options. -#### Advanced filters +Upon accessing the Software Catalog frontend, users are directed to the main section of the catalog, where they will find a search bar that serves as the starting point for navigating through the items. Given the extensive range of items that can be retrieved with this tool, users can refine their search results by setting the search context and utilizing advanced filtering options. -The advanced filters enable users to refine their search based on the following criteria: +### Advanced filters -- *Type*: Filter items by their specific type or category. -- *Lifecycle status*: Narrow down items according to their current lifecycle phase (e.g., Coming soon, Stable, Deprecated). -- *Availability*: This filter determines whether an item is accessible to all companies, visible to any user accessing the Console (even unauthenticated users), or restricted to the current company only. +The advanced filters enable users to refine their search based on the following criteria. + +- *Type*: filter items by their specific type or category. +- *Lifecycle status*: narrow down items according to their current lifecycle phase (e.g., Coming Soon, Stable, Deprecated). +- *Availability*: this filter determines whether an item is accessible to all companies, visible to any user accessing the Console (even unauthenticated users), or restricted to the current company only. Additionally, users can toggle between viewing items that are specific to the company they are working in or all available items. ![filters](./img/table-filters.png) ## Item details navigation + After locating the desired resource from the search results, you can click on it to access its details page. - At the top of the page, a breadcrumb navigation trail provides users with a straightforward way to navigate between different items and their respective versions. This intuitive feature allows for seamless exploration of related resources, enhancing the overall user experience within the Software Catalog. +At the top of the page, a breadcrumb navigation trail provides users with a straightforward way to navigate between different items and their respective versions. This intuitive feature allows for seamless exploration of related resources, enhancing the overall user experience within the Software Catalog. -#### Versions +### Versions If the item selected supports versioning, the first page will display a list of available versions. Each version includes key information such as the release date and, if available, a release note. For more details on versioning and how to manage it, please refer to [this documentation](/marketplace/add_to_marketplace/create_your_company_marketplace.md#item-types). @@ -34,15 +36,13 @@ By selecting a version, you are taken to the details specific to that version. F ![item versions](./img/item-versions.png) -#### Item detail +### Item detail -The item detail page, which features two tabs: +The item detail page, which features two tabs. -- **General**: This tab presents an initial Details section containing essential information about the item, including its name, general information, useful links, and tags. - -- **Specs**: This tab displays a JSON representation containing detailed information specific to the item. +- **General**: this tab presents an initial Details section containing essential information about the item, including its name, general information, useful links, and tags. +- **Specs**: this tab displays a JSON representation containing detailed information specific to the item. These organized sections ensure that users can quickly find the information they need regarding the item and its specifications. ![Item details and versions navigation](./img/versions-navigation.png) - diff --git a/docusaurus.config.js b/docusaurus.config.js index f402101164..f2828da3f0 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -76,7 +76,7 @@ async function createConfig() { { type: 'doc', docId: "software-catalog/overview", - label: "Software Catalg", + label: "Software Catalog", activeBaseRegex: "(docs|docs/\\d.x)/software-catalog" }, { From 804a2f6c606dec23f48490643513a471867fd48a Mon Sep 17 00:00:00 2001 From: Giovanni Fiordeponti <38134891+flower-of-the-bridges@users.noreply.github.com> Date: Tue, 22 Oct 2024 17:47:15 +0200 Subject: [PATCH 55/66] docs(data-catalog): add sync to data-catalog (#1733) * add sync to data-catalog * fix titles * Update docs/data_catalog/data_catalog_agent_setup.mdx Co-authored-by: Alberto Tessarotto <78902914+albertotessarotto@users.noreply.github.com> * Update docs/data_catalog/data_catalog_agent_setup.mdx Co-authored-by: Alberto Tessarotto <78902914+albertotessarotto@users.noreply.github.com> * docs(data-fabric): update database preparation documentation * fix(redirects): add redirects to avoid broken links on cast functions --------- Co-authored-by: Alberto Tessarotto <78902914+albertotessarotto@users.noreply.github.com> Co-authored-by: Daniele Bissoli --- 301redirects.json | 128 ++++++++++-------- docs/data_catalog/compatibility_matrix.md | 18 ++- .../data_catalog/data_catalog_agent_setup.mdx | 95 ++++++++++++- docs/data_catalog/data_catalog_frontend.mdx | 1 + .../data_catalog_open_lineage.mdx | 11 +- docs/data_catalog/database_setup.mdx | 4 +- .../compatibility_matrix.md | 16 ++- .../runtime_management/database_setup.mdx | 6 +- 8 files changed, 199 insertions(+), 80 deletions(-) diff --git a/301redirects.json b/301redirects.json index d6d73c0579..0ffb1d9a76 100644 --- a/301redirects.json +++ b/301redirects.json @@ -19,7 +19,7 @@ "destination": "/docs/fast_data/single_view_trigger_generator", "addedOn": "2023-01-11" }, - "/docs/fast_data/single_view_trigger/configuration": { + "/docs/fast_data/single_view_trigger/configuration": { "destination": "/docs/fast_data/configuration/single_view_trigger_generator", "addedOn": "2023-01-11" }, @@ -28,15 +28,15 @@ "addedOn": "2023-03-01", "tocheck": true }, - "/docs/fast_data/configuration/realtime_updater/common": { + "/docs/fast_data/configuration/realtime_updater/common": { "destination": "/docs/fast_data/configuration/realtime-updater", "addedOn": "2023-06-15" }, - "/docs/fast_data/configuration/realtime_updater": { + "/docs/fast_data/configuration/realtime_updater": { "destination": "/docs/fast_data/configuration/realtime-updater", "addedOn": "2024-02-21" }, - "/docs/fast_data/configuration/realtime_updater/low_code": { + "/docs/fast_data/configuration/realtime_updater/low_code": { "destination": "/docs/fast_data/configuration/realtime-updater", "addedOn": "2023-06-15" }, @@ -495,11 +495,11 @@ "destination": "/docs/console/project-configuration/documentation-portal", "addedOn": "2023-08-29" }, - "/docs/development_suite/user-settings/user-profile-picture": { + "/docs/development_suite/user-settings/user-profile-picture": { "destination": "/docs/development_suite/user-settings/user-personal-info", "addedOn": "2023-08-29" }, - "/docs/tutorial/demo_project/overview": { + "/docs/tutorial/demo_project/overview": { "destination": "/docs/getting-started/mia-platform-overview", "addedOn": "2023-08-29" }, @@ -507,7 +507,7 @@ "destination": "/docs/getting-started/mia-platform-overview", "addedOn": "2023-08-29" }, - "/docs/development_suite/identity-and-access-management/overview": { + "/docs/development_suite/identity-and-access-management/overview": { "destination": "/docs/development_suite/identity-and-access-management", "addedOn": "2023-08-29" }, @@ -515,199 +515,199 @@ "destination": "/docs/runtime_suite_applications/payment-integration-hub/50_configuration.md", "addedOn": "2023-09-08" }, - "/docs/development_suite/deploy/configure-github-actions": { + "/docs/development_suite/deploy/configure-github-actions": { "destination": "/docs/development_suite/deploy/pipeline-based/configure-github-actions", "addedOn": "2023-09-12" }, - "/docs/development_suite/deploy/configure-jenkins": { + "/docs/development_suite/deploy/configure-jenkins": { "destination": "/docs/development_suite/deploy/pipeline-based/configure-jenkins", "addedOn": "2023-09-12" }, - "/docs/getting_started/faqs": { + "/docs/getting_started/faqs": { "destination": "/docs/getting-started/faqs", "addedOn": "2023-09-18" }, - "/docs/guidelines/git_vademecum": { + "/docs/guidelines/git_vademecum": { "destination": "/docs/getting-started/guidelines/git-vademecum", "addedOn": "2023-09-18" }, - "/docs/tutorial/microservices/microservice_hello_world": { + "/docs/tutorial/microservices/microservice_hello_world": { "destination": "/docs/getting-started/tutorials/hello-world", "addedOn": "2023-09-18" }, - "/docs/tutorial/fast_data/fast_data_low_code_tutorial": { + "/docs/tutorial/fast_data/fast_data_low_code_tutorial": { "destination": "/docs/getting-started/tutorials/fast-data/low-code", "addedOn": "2023-09-18" }, - "/docs/tutorial/requests_limits/requests_limits_tutorial": { + "/docs/tutorial/requests_limits/requests_limits_tutorial": { "destination": "/docs/getting-started/tutorials/set-requests-limits-of-a-microservice", "addedOn": "2023-09-18" }, - "/docs/tutorial/console/project_handbook": { + "/docs/tutorial/console/project_handbook": { "destination": "/docs/getting-started/handbooks/project-handbook", "addedOn": "2023-09-18" }, - "/docs/getting_started/videos/backoffice": { + "/docs/getting_started/videos/backoffice": { "destination": "/docs/getting-started/videos/backoffice", "addedOn": "2023-09-18" }, - "/docs/tutorial/backoffice/basics": { + "/docs/tutorial/backoffice/basics": { "destination": "/docs/getting-started/tutorials/backoffice/basics", "addedOn": "2023-09-18" }, - "/docs/tutorial/node_ms/node_ms_tutorial": { + "/docs/tutorial/node_ms/node_ms_tutorial": { "destination": "/docs/getting-started/tutorials/create-a-custom-microservice", "addedOn": "2023-09-18" }, - "/docs/tutorial/flow_manager/flow_manager_tutorial": { + "/docs/tutorial/flow_manager/flow_manager_tutorial": { "destination": "/docs/getting-started/tutorials/flow-manager", "addedOn": "2023-09-18" }, - "/docs/tutorial/rest_api/quick_rest_api": { + "/docs/tutorial/rest_api/quick_rest_api": { "destination": "/docs/getting-started/tutorials/rest-api-for-crud-on-data", "addedOn": "2023-09-18" }, - "/docs/tutorial/console/console_handbook": { + "/docs/tutorial/console/console_handbook": { "destination": "/docs/getting-started/handbooks/project-usage-handbook", "addedOn": "2023-09-18" }, - "/docs/tutorial/api_portal/api_portal_tutorial": { + "/docs/tutorial/api_portal/api_portal_tutorial": { "destination": "/docs/getting-started/tutorials/api-portal", "addedOn": "2023-09-18" }, - "/docs/tutorial/authorization/authorization_tutorial": { + "/docs/tutorial/authorization/authorization_tutorial": { "destination": "/docs/getting-started/tutorials/protect-your-endpoints-with-policies", "addedOn": "2023-09-18" }, - "/docs/tutorial/design_overview/": { + "/docs/tutorial/design_overview/": { "destination": "/docs/getting-started/tutorials/design-overview", "addedOn": "2023-09-18" }, - "/docs/how_to/crud_service/crud_oss_usage": { + "/docs/how_to/crud_service/crud_oss_usage": { "destination": "/docs/getting-started/handbooks/crud-service/crud-oss-usage", "addedOn": "2023-09-18" }, - "/docs/tutorial/backoffice/templates": { + "/docs/tutorial/backoffice/templates": { "destination": "/docs/getting-started/tutorials/backoffice/templates", "addedOn": "2023-09-18" }, - "/docs/guidelines/rest_api_vademecum": { + "/docs/guidelines/rest_api_vademecum": { "destination": "/docs/getting-started/guidelines/rest-api-vademecum", "addedOn": "2023-09-18" }, - "/docs/guidelines/microservice_vademecum": { + "/docs/guidelines/microservice_vademecum": { "destination": "/docs/getting-started/guidelines/microservice-vademecum", "addedOn": "2023-09-18" }, - "/docs/guidelines/docker_vademecum": { + "/docs/guidelines/docker_vademecum": { "destination": "/docs/getting-started/guidelines/docker-vademecum", "addedOn": "2023-09-18" }, - "/docs/tutorial/backoffice/microfrontends": { + "/docs/tutorial/backoffice/microfrontends": { "destination": "/docs/getting-started/tutorials/backoffice/microfrontends", "addedOn": "2023-09-18" }, - "/docs/tutorial/create_project_jenkins/project_template_jenkins_tutorial": { + "/docs/tutorial/create_project_jenkins/project_template_jenkins_tutorial": { "destination": "/docs/getting-started/tutorials/project-template-integrated-with-jenkins", "addedOn": "2023-09-18" }, - "/docs/tutorial/migration/": { + "/docs/tutorial/migration/": { "destination": "/docs/getting-started/tutorials/fast-data/migration-tutorial", "addedOn": "2023-09-18" }, - "/docs/tutorial/fast_data/bucket_storage_support_tutorial": { + "/docs/tutorial/fast_data/bucket_storage_support_tutorial": { "destination": "/docs/getting-started/tutorials/fast-data/bucket-storage-support", "addedOn": "2023-09-18" }, - "/docs/how_to/traefik/traefik_handbook": { + "/docs/how_to/traefik/traefik_handbook": { "destination": "/docs/getting-started/handbooks/traefik/traefik-handbook", "addedOn": "2023-09-18" }, - "/docs/how_to/console/project_development": { + "/docs/how_to/console/project_development": { "destination": "/docs/getting-started/handbooks/console/project-development", "addedOn": "2023-09-18" }, - "/docs/getting_started/videos/bucket_storage": { + "/docs/getting_started/videos/bucket_storage": { "destination": "/docs/getting-started/videos/bucket-storage", "addedOn": "2023-09-18" }, - "/docs/getting_started/videos/connecting_cluster": { + "/docs/getting_started/videos/connecting_cluster": { "destination": "/docs/getting-started/videos/connecting-cluster", "addedOn": "2023-09-18" }, - "/docs/getting_started/videos/fast_data_no_code": { + "/docs/getting_started/videos/fast_data_no_code": { "destination": "/docs/getting-started/videos/fast-data-no-code", "addedOn": "2023-09-18" }, - "/docs/getting_started/videos/feature_preview": { + "/docs/getting_started/videos/feature_preview": { "destination": "/docs/getting-started/videos/feature-preview", "addedOn": "2023-09-18" }, - "/docs/getting_started/videos/m2m_auth": { + "/docs/getting_started/videos/m2m_auth": { "destination": "/docs/getting-started/videos/m2m-auth", "addedOn": "2023-09-18" }, - "/docs/getting_started/videos/providers": { + "/docs/getting_started/videos/providers": { "destination": "/docs/getting-started/videos/providers", "addedOn": "2023-09-18" }, - "/docs/getting_started/videos/runtime_area": { + "/docs/getting_started/videos/runtime_area": { "destination": "/docs/getting-started/videos/runtime-area", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/fast-data/fast-data-low-code-tutorial": { + "/docs/getting-started/tutorials/fast-data/fast-data-low-code-tutorial": { "destination": "/docs/getting-started/tutorials/fast-data/low-code", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/requests-limits/requests-limits-tutorial": { + "/docs/getting-started/tutorials/requests-limits/requests-limits-tutorial": { "destination": "/docs/getting-started/tutorials/set-requests-limits-of-a-microservice", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/node-ms/node-ms-tutorial": { + "/docs/getting-started/tutorials/node-ms/node-ms-tutorial": { "destination": "/docs/getting-started/tutorials/create-a-custom-microservice", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/flow-manager/flow-manager-tutorial": { + "/docs/getting-started/tutorials/flow-manager/flow-manager-tutorial": { "destination": "/docs/getting-started/tutorials/flow-manager", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/rest-api/quick-rest-api": { + "/docs/getting-started/tutorials/rest-api/quick-rest-api": { "destination": "/docs/getting-started/tutorials/rest-api-for-crud-on-data", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/console/console-handbook": { + "/docs/getting-started/tutorials/console/console-handbook": { "destination": "/docs/getting-started/handbooks/project/manage", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/api-portal/api-portal-tutorial": { + "/docs/getting-started/tutorials/api-portal/api-portal-tutorial": { "destination": "/docs/getting-started/tutorials/api-portal", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/microservices/microservice-hello-world": { + "/docs/getting-started/tutorials/microservices/microservice-hello-world": { "destination": "/docs/getting-started/tutorials/microservice-hello-world", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/authorization/authorization-tutorial": { + "/docs/getting-started/tutorials/authorization/authorization-tutorial": { "destination": "/docs/getting-started/tutorials/protect-your-endpoints-with-policies", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/create-project-jenkins/project-template-integrated-with-jenkins": { + "/docs/getting-started/tutorials/create-project-jenkins/project-template-integrated-with-jenkins": { "destination": "/docs/getting-started/tutorials/project-template-integrated-with-jenkins", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/migration/": { + "/docs/getting-started/tutorials/migration/": { "destination": "/docs/getting-started/tutorials/fast-data/migration", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/fast-data/bucket-storage-support-tutorial": { + "/docs/getting-started/tutorials/fast-data/bucket-storage-support-tutorial": { "destination": "/docs/getting-started/tutorials/fast-data/bucket-storage-support", "addedOn": "2023-09-18" }, - "/docs/getting-started/tutorials/console/project-handbook": { + "/docs/getting-started/tutorials/console/project-handbook": { "destination": "/docs/getting-started/handbooks/project/usage", "addedOn": "2023-09-18" }, - "/docs/runtime_suite/payment-gateway-manager/recurrent_payments": { + "/docs/runtime_suite/payment-gateway-manager/recurrent_payments": { "destination": "/docs/runtime_suite/payment-gateway-manager/how_it_works", "addedOn": "2023-09-18" }, @@ -787,15 +787,15 @@ "destination": "/docs/runtime_suite_applications/secure-api-gateway/changelog", "addedOn": "2023-10-05" }, - "/docs/runtime_suite/identification-router/overview": { + "/docs/runtime_suite/identification-router/overview": { "destination": "/docs/runtime_suite/flow-manager-router/overview", "addedOn": "2023-09-27" }, - "/docs/runtime_suite/identification-router/changelog": { + "/docs/runtime_suite/identification-router/changelog": { "destination": "/docs/runtime_suite/flow-manager-router/changelog", "addedOn": "2023-09-27" }, - "/docs/runtime_suite/identification-router/configuration": { + "/docs/runtime_suite/identification-router/configuration": { "destination": "/docs/runtime_suite/flow-manager-router/configuration", "addedOn": "2023-09-27" }, @@ -1802,5 +1802,13 @@ "/docs/marketplace/add_to_marketplace/contributing_overview": { "destination": "/docs/marketplace/add_to_marketplace/create_your_company_marketplace", "addedOn": "2024-09-30" + }, + "/docs/fast_data/cast_functions/#cast-function-default": { + "destination": "/docs/fast_data/configuration/cast_functions#default-cast-functions", + "addedOn": "2024-10-22" + }, + "/docs/fast_data/cast_functions/#create-a-custom-cast-function": { + "destination": "/docs/fast_data/configuration/cast_functions#create-a-custom-cast-function", + "addedOn": "2024-10-22" } -} +} \ No newline at end of file diff --git a/docs/data_catalog/compatibility_matrix.md b/docs/data_catalog/compatibility_matrix.md index 436ec638c0..062911457c 100644 --- a/docs/data_catalog/compatibility_matrix.md +++ b/docs/data_catalog/compatibility_matrix.md @@ -13,7 +13,17 @@ Please ensure that versions shown in the matrix are respected in your deployed e | Service | Version | MongoDB | Redis | -|-------------------------------------------------------------|---------|---------|--------| -| [Fabric BFF](/data_catalog/data_catalog_fabric_bff.mdx) | 0.1.0 | \>=5.0 | _N/A_ | -| [Open Lineage](/data_catalog/data_catalog_open_lineage.mdx) | 0.1.0 | \>=5.0 | \>=7.0 | -

      *N/A means the service does not depend on the resource

      \ No newline at end of file +| ----------------------------------------------------------- | ------- | ------- | ------ | +| [Fabric BFF](/data_catalog/data_catalog_fabric_bff.mdx) | 0.1.x | \>=5.0 | _N/A_ | +| [Open Lineage](/data_catalog/data_catalog_open_lineage.mdx) | 0.1.x | \>=5.0 | \>=7.0 | +

      *N/A means the service does not depend on the resource

      + +## Service Latest Versions + +| Service | Version | +| ---------------------------------------------------------------- | ------- | +| [Fabric BFF](/data_catalog/data_catalog_fabric_bff.mdx) | 0.1.1 | +| [Open Lineage](/data_catalog/data_catalog_open_lineage.mdx) | 0.1.1 | +| [Data Catalog Frontend](/data_catalog/data_catalog_frontend.mdx) | 0.1.1 | +| [Fabric Admin](/data_catalog/database_setup.mdx) | 0.1.1 | +| [Fabric Sync](/data_catalog/data_catalog_agent_setup.mdx) | 0.1.0 | \ No newline at end of file diff --git a/docs/data_catalog/data_catalog_agent_setup.mdx b/docs/data_catalog/data_catalog_agent_setup.mdx index 67d23f59b2..113434b3fc 100644 --- a/docs/data_catalog/data_catalog_agent_setup.mdx +++ b/docs/data_catalog/data_catalog_agent_setup.mdx @@ -5,18 +5,99 @@ sidebar_label: Data Catalog Agent Setup --- Once Data Catalog application has been deployed and ready to be used, it is time to collect and gather data schemas from your systems -and transform them into data assets that can browsed from Data Catalog UI. +and transform them into datasets that are compliant to the [Open Lineage framework specifications](https://openlineage.io/docs/). + This duty is in charge of the [Data Catalog Agent](/runtime_suite_templates/data-catalog-agent/10_overview.md), which is a component that connects to all of your configured systems, extracts data schemas from them and forward them to the configured target. For an in-depth explanation on how to configure Data Catalog Agent it is possible to read the dedicated [documentation section](/runtime_suite_templates/data-catalog-agent/20_configuration.md). -In the context of Data Catalog, it is important to notice that Data Catalog Agent **must** be configured with `target` set to `mongodb`, so that -the Agent would write the data assets definition in the appropriate collection of configured database. -The collection, named `open-lineage-datasets`, is the same from which OpenLineage component of Data Catalog -solution will read to fulfill requests performed from the Data Catalog UI. +In the context of Data Catalog, it is important to notice that Data Catalog Agent **must** be configured with `target` set to `mia-open-lineage`, so that +the Agent would write the data assets definition in the `open-lineage-datasets`collection. :::tip Data Catalog Agent is a fundamental component of Data Catalog solution, since it imports, parse and process data schemas -into a format ready for Data Catalog. Without configuring and running it, searching for data assets on Data Catalog will yield only empty results. -::: \ No newline at end of file +into a format ready for Data Catalog. +::: + +## Sync Assets + +:::caution +This configuration step is __required__ to display data sources within [the Data Catalog UI](/data_catalog/data_catalog_frontend.mdx). + +Without configuring and running it, searching for data assets on Data Catalog __will yield only empty results__. +::: + +Once all the data schemas have been imported by _Data Catalog Agent_, it is __required__ to run a separate process to generate all the assets from each data schema. + +A data schema, in fact, consists of at least three different assets: + +- `System of Record`: represents the source where the schema is located; +- `Table`: represents the data schema itself; +- `Column`: represents a unique column within a data schema. Therefore, a data schema is linked to a specific asset for each column. + +These assets are kept in a dedicated collection, named `data-catalog-records` and already configured during the [Database Preparation](/data_catalog/database_setup.mdx) step. + +### Fabric Sync + +To perform the synchronization between the collection of datasets imported by Data Catalog Agent and the collection of assets useful for Data Catalog application, the following cronjob has to be configured. In this [documentation page](/development_suite/api-console/api-design/jobs-cronjob.md) +it is described how it can be configured, while here are highlighted which specific configurations of the K8s manifest: + +- `` → is the url to your Container Registry of reference; +- `data-fabric/fabric-sync` → image is employed, which should be found within your Container Registry; +- `suspend` → the cronjob must be released as suspended, since it should be launched manually only once; +- `` → name of the secret where are contained the credentials for connecting to your Container Registry; +- `MONGODB_URL` → connection string to your MongoDB database. + +
      +Cronjob specification +

      + +```yaml +apiVersion: batch/v1 +kind: CronJob +metadata: + name: fabric-sync + labels: + app: fabric-sync + # ... + # ... +spec: + concurrencyPolicy: Forbid + successfulJobsHistoryLimit: 3 + failedJobsHistoryLimit: 1 + schedule: '* * * * *' + # this job MUST be deployed as suspended, since it just run once + suspend: true + jobTemplate: + spec: + backoffLimit: 1 + template: + metadata: + name: fabric-sync + labels: + app: fabric-sync + # ... + # ... + spec: + imagePullSecrets: + - name: + containers: + - name: fabric-sync + # current latest stable version of the image is 0.1.0 + image: /data-fabric/fabric-sync:0.1.0 + args: [ + "records", + "sync", + "--url", # you can omit this flag by setting an environment variable called `MONGODB_URL`. + "{{MONGODB_URL}}", + ] + restartPolicy: Never +``` + +

      +
      + +This cronjob can then be manually triggered as [described here](/development_suite/monitoring/resources/cronjobs.md#manually-launching-a-cronjob) +every time a new execution of the Data Catalog Agent has been triggered, to update the definitions of assets with the latest dataset definitions +of your data sources. diff --git a/docs/data_catalog/data_catalog_frontend.mdx b/docs/data_catalog/data_catalog_frontend.mdx index 0668bf16fd..b11a1f8c8f 100644 --- a/docs/data_catalog/data_catalog_frontend.mdx +++ b/docs/data_catalog/data_catalog_frontend.mdx @@ -13,6 +13,7 @@ via [Fabric BFF](/data_catalog/data_catalog_fabric_bff.mdx) component. ## Features Mia-Platform Data Catalog frontend offers a user-friendly UI that allows users to navigate data assets and to perform a series of actions useful for data governance and metadata enrichment. + In particular, when navigating the catalog, it is possible to identify three different asset types: * **SoR** (System of Records) * **Table** (tables belonging to a specific SoR) diff --git a/docs/data_catalog/data_catalog_open_lineage.mdx b/docs/data_catalog/data_catalog_open_lineage.mdx index 62ecc35434..0fe5784e5b 100644 --- a/docs/data_catalog/data_catalog_open_lineage.mdx +++ b/docs/data_catalog/data_catalog_open_lineage.mdx @@ -213,4 +213,13 @@ Here are described which routes Open Lineage service serves: | `/metadata-registry/items/:name` | REST | GET | Retrieve the definition details of a custom property | | `/metadata-registry/items/:name` | REST | PATCH | Change the definition of a custom property (e.g. type or description) | | `/metadata-registry/items/:name` | REST | DELETE | Remove a custom property definition | -| `/metadata-registry/search` | REST | GET | Search for a specific metadata registry of interest | \ No newline at end of file +| `/metadata-registry/search` | REST | GET | Search for a specific metadata registry of interest | + + +## Migration Guides + +Here are the migration steps to perform between each version of the service. + +### From 0.1.0 to 0.1.1 + +Configure and execute the [Fabric Sync cronjob](/data_catalog/data_catalog_agent_setup.mdx#sync-assets) before releasing the service. \ No newline at end of file diff --git a/docs/data_catalog/database_setup.mdx b/docs/data_catalog/database_setup.mdx index b15e553a2d..b03992c3d6 100644 --- a/docs/data_catalog/database_setup.mdx +++ b/docs/data_catalog/database_setup.mdx @@ -75,8 +75,8 @@ spec: - name: containers: - name: fabric-data-catalog-admin - # current latest stable version of the image is 0.1.0 - image: /data-fabric/fabric-admin:0.1.0 + # current latest stable version of the image is 0.1.1 + image: /data-fabric/fabric-admin:0.1.1 args: [ "all", "init", diff --git a/docs/fast_data/runtime_management/compatibility_matrix.md b/docs/fast_data/runtime_management/compatibility_matrix.md index 0dd148af26..9605a3bf6b 100644 --- a/docs/fast_data/runtime_management/compatibility_matrix.md +++ b/docs/fast_data/runtime_management/compatibility_matrix.md @@ -12,9 +12,9 @@ Here is described the compatibility between Fast Data Control Plane application Please ensure that versions shown in the matrix are respected in your deployed environments. | Service | Version | MongoDB | Redis | -|--------------------------------------------------------------------------|---------|---------|--------| +| ------------------------------------------------------------------------ | ------- | ------- | ------ | | [Control Plane](/fast_data/runtime_management/control_plane.mdx) | 0.1.0 | \>=5.0 | \>=7.0 | -| [Fabric BFF](/fast_data/runtime_management/control_plane_fabric_bff.mdx) | 0.1.0 | \>=5.0 | _N/A_ | +| [Fabric BFF](/fast_data/runtime_management/control_plane_fabric_bff.mdx) | 0.1.x | \>=5.0 | _N/A_ |

      *N/A means the service does not depend on the resource

      ## Fast Data services @@ -23,5 +23,15 @@ Here is provided the compatibility matrix between Control Plane Operator and the Please ensure that your services respects the following matrix. | [Control Plane Operator](/fast_data/runtime_management/control_plane_operator.mdx) | [PS](/fast_data/configuration/projection_storer.md#runtime-management-config) | [RTU](/fast_data/configuration/realtime-updater/realtime-updater.md#runtime-management) | [SVTG](/fast_data/configuration/single_view_trigger_generator.mdx#runtime-management) | [SVC](/fast_data/configuration/single_view_creator/index.md#runtime-management) | -|:----------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------:| +| :--------------------------------------------------------------------------------: | :---------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------: | | 0.1.0 | \>=1.2.0 | \>=7.8.0 | \>=3.3.1 | \>=6.7.0 | + +## Service Latest Versions + +| Service | Version | +| ---------------------------------------------------------------------------------- | ------- | +| [Fabric BFF](/fast_data/runtime_management/control_plane_fabric_bff.mdx) | 0.1.1 | +| [Control Plane](/fast_data/runtime_management/control_plane.mdx) | 0.1.0 | +| [Control Plane Operator](/fast_data/runtime_management/control_plane_operator.mdx) | 0.1.0 | +| [Control Plane Frontend](/fast_data/runtime_management/control_plane_frontend.mdx) | 0.4.1 | +| [Fabric Admin](/fast_data/runtime_management/database_setup.mdx) | 0.1.1 | \ No newline at end of file diff --git a/docs/fast_data/runtime_management/database_setup.mdx b/docs/fast_data/runtime_management/database_setup.mdx index bac2db85b3..631b01a321 100644 --- a/docs/fast_data/runtime_management/database_setup.mdx +++ b/docs/fast_data/runtime_management/database_setup.mdx @@ -19,7 +19,7 @@ keeping track of runtime views or updating the desired Fast Data Pipelines state a performant and reliable system, the database must be configured accordingly to support application execution. This means that required collections must be created, necessary indexes added and additional schema validation set, -so that only valid data can be read and written to those collections. +so that only valid data can be read and written to those collections. To reach this objective in a straightforward manner we provide an administration command-line interface, which takes care of creating all the necessary resources on selected database. This CLI is offered @@ -75,8 +75,8 @@ spec: - name: containers: - name: fabric-control-plane-admin - # current latest stable version of the image is 0.1.0 - image: /data-fabric/fabric-admin:0.1.0 + # current latest stable version of the image is 0.1.1 + image: /data-fabric/fabric-admin:0.1.1 args: [ "all", "init", From 44bb585b5a32712e2e97b68c2ced76fd1c3eb8fb Mon Sep 17 00:00:00 2001 From: epessina Date: Wed, 23 Oct 2024 09:43:40 +0200 Subject: [PATCH 56/66] Changed UI sidebar title --- .cspell.json | 224 ++++++++++++++++++------------------ docs/software-catalog/ui.md | 2 +- docusaurus.config.js | 136 +++++++++++----------- 3 files changed, 181 insertions(+), 181 deletions(-) diff --git a/.cspell.json b/.cspell.json index 035017a76c..d920345f34 100644 --- a/.cspell.json +++ b/.cspell.json @@ -5,76 +5,46 @@ "language": "en", // words - list of words to be always considered correct "words": [ + "reinit", "ABAC", - "Additionals", - "Adyen", - "affordance", - "affordances", - "Agricolo", - "AKHQ", - "antd", - "ascensore", "axerve", - "belfiore", + "nexi", + "fnmpay", + "Fnmpay", + "UNSUBMITTED", + "THREEDS", "Bianchi", - "BNPL", "Boundarye", "Brotli", "BYOI", - "categoriaprincipale", + "BNPL", "ccloud", - "choco", - "civico", "clusterization", - "clusters", "cmsfilters", "cmslookup", "cmsmenu", "cmsmultilookup", "cmstheme", - "CNAME", "CNCF", - "comune", "cond", "configmap", "configmaps", - "configurability", - "configurator", "cqrs", - "CSFLE", "Davide", - "dazn", "ddos", "debezium", - "Debezium", - "DEBEZIUM", - "decoderbufs", "decompressor", - "deliveroo", "dependabot", "deserialization", "dind", "dnsmasq", - "DSTU", - "ecommerce", - "edificio", "etag", - "eval", "evolvability", - "explanative", - "expressibility", - "FAIREAI", "fastify", - "fatiscente", "fhir", "Fluentd", - "fnmpay", - "Fnmpay", - "formio", "fortio", - "Francesco", "furtherly", - "gantt", "gcloud", "genrsa", "geventhttpclient", @@ -91,52 +61,33 @@ "highcharts", "highmaps", "hmac", - "hrefs", "hsts", "htpasswd", "iban", - "Iframes", "imbonati", - "indirizzo", - "Industriale", "infobox", "intellij", "isbackoffice", "istio", - "JAAS", "jenkinsci", "jsonl", "jwks", - "JWTs", - "kaleyra", "Kmongo", - "kpis", - "krew", - "Krew", "ktor", "kubectl", "kubelet", "kubens", "kubernetes", - "Kubernetes", "kubernetescrd", - "kustomization", - "kustomize", - "lecosystem", - "Linkerd", + "Kubernetes", "locustfile", "Lucene", "luxon", "makeitapp", - "manutentivo", "mariadb", "mebibyte", "mebibytes", "medeia", - "mergo", - "Mesos", - "miactl", - "miaplatformctl", "microlc", "microservice", "microservices", @@ -147,17 +98,6 @@ "mkbaas", "mkdir", "mongocryptd", - "mqragguagliati", - "mTLS", - "nexi", - "nformat", - "noprod", - "NOPROD", - "NSJSON", - "NSUTF", - "nuovo", - "oauthbearer", - "objs", "oidc", "omnichannel", "openapi", @@ -166,72 +106,134 @@ "osxfuse", "OWASP", "paas", - "parallelization", "pbcopy", - "pgoutput", - "pharma", "pino", "pkcs", "pointofsale", - "Prelios", - "PRELIOS", - "principale", "Proto", "qiankun", "quarkus", "rapidoc", "rawp", - "redirector", "redoc", - "REGO", - "reingested", - "reinit", - "Residenziale", - "RESUE", - "ristrutturato", - "Rönd", - "SaMD", - "serp", - "servlet", "sharded", - "signup", - "stato", - "storer", - "struct", - "superficie", - "SWSS", - "syscall", - "telecons", - "teleconsultation", - "teleconsultations", - "telepresence", - "THREEDS", - "tini", - "tipo", - "toponimo", + "SaMD", "traefik", "twilio", - "Ufficio", "unchecking", - "UNDELETE", - "unita", "unmarshal", - "unmount", "unpause", "unsecreted", - "UNSUBMITTED", - "upsert", - "upserts", - "urandom", "userid", "userinfo", "userproperties", - "VANI", + "yavi", + "miactl", + "miaplatformctl", + "formio", + "expressibility", + "Additionals", + "CSFLE", + "REGO", + "urandom", + "upsert", + "upserts", + "kustomize", + "kustomization", + "unmount", + "affordance", + "affordances", + "struct", + "eval", + "explanative", + "parallelization", + "UNDELETE", "Velero", - "VULNDB", + "telecons", + "teleconsultation", + "teleconsultations", + "telepresence", + "syscall", + "Francesco", + "Rönd", + "NSUTF", + "NSJSON", + "Iframes", + "tini", "WHATWG", + "JWTs", "YAGES", - "yavi" + "clusters", + "DSTU", + "CNAME", + "antd", + "kaleyra", + "mTLS", + "Linkerd", + "RESUE", + "pharma", + "ecommerce", + "signup", + "oauthbearer", + "configurator", + "configurability", + "JAAS", + "configurator", + "RESUE", + "reingested", + "storer", + "nformat", + "redirector", + "hrefs", + "DEBEZIUM", + "Debezium", + "debezium", + "decoderbufs", + "pgoutput", + "servlet", + "gantt", + "Adyen", + "AKHQ", + "NOPROD", + "noprod", + "objs", + "Krew", + "krew", + "choco", + "Prelios", + "PRELIOS", + "categoriaprincipale", + "tipo", + "Residenziale", + "Ufficio", + "Industriale", + "Agricolo", + "superficie", + "VANI", + "ascensore", + "stato", + "manutentivo", + "edificio", + "fatiscente", + "ristrutturato", + "nuovo", + "unita", + "comune", + "toponimo", + "indirizzo", + "civico", + "belfiore", + "mqragguagliati", + "principale", + "FAIREAI", + "dazn", + "deliveroo", + "serp", + "VULNDB", + "mergo", + "kpis", + "Mesos", + "SWSS" ], "ignoreWords": [ "asncdctools", diff --git a/docs/software-catalog/ui.md b/docs/software-catalog/ui.md index 38a4ed5bcd..2bfa9fd237 100644 --- a/docs/software-catalog/ui.md +++ b/docs/software-catalog/ui.md @@ -1,7 +1,7 @@ --- id: ui title: Software Catalog UI -sidebar_label: UI +sidebar_label: Software Catalog UI --- Mia-Platform Software Catalog tracks and stores information about all the components that make up your infrastructure. You can view all the items by navigating to `Software Catalog > All Items`. Additionally, you can explore the item details. diff --git a/docusaurus.config.js b/docusaurus.config.js index f2828da3f0..b52ba84423 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -35,88 +35,86 @@ async function createConfig() { hideOnScroll: false, title: "Mia-Platform Docs", logo: {alt: "Mia_Platform logo", src: "img/logo.png"}, - items: [ - { + items: [{ + type: 'doc', + docId: "getting-started/mia-platform-overview", + label: "Getting Started", + position: "left", + activeBaseRegex: "(docs|docs/\\d.x)/(getting_started/monitoring-dashboard|getting_started/performance-test|getting_started|overview|guidelines|tutorial)" + }, + { + label: "Products", + position: "left", + activeBaseRegex: "(docs|docs/\\d.x)/(development_suite|marketplace|libraries|tools|runtime_suite|microfrontend-composer|fast_data|dev_portal)", + type: "dropdown", + items: [{ type: 'doc', - docId: "getting-started/mia-platform-overview", - label: "Getting Started", - position: "left", - activeBaseRegex: "(docs|docs/\\d.x)/(getting_started/monitoring-dashboard|getting_started/performance-test|getting_started|overview|guidelines|tutorial)" - }, - { - label: "Products", - position: "left", - activeBaseRegex: "(docs|docs/\\d.x)/(development_suite|marketplace|libraries|tools|runtime_suite|microfrontend-composer|fast_data|dev_portal)", - type: "dropdown", - items: [ - { - type: 'doc', - docId: "development_suite/overview-dev-suite", - label: "Console", - activeBaseRegex: "(docs|docs/\\d.x)/development_suite" - }, - { - type: 'doc', - docId: "fast_data/what_is_fast_data", - label: "Fast Data", - activeBaseRegex: "(docs|docs/\\d.x)/fast_data" - }, - { - type: 'doc', - docId: "data_catalog/overview_data_catalog", - label: "Data Catalog", - activeBaseRegex: "(docs|docs/\\d.x)/data_catalog" - }, - { - type: 'doc', - docId: "microfrontend-composer/what-is", - label: "Microfrontend Composer", - activeBaseRegex: "(docs|docs/\\d.x)/microfrontend-composer" - }, - { - type: 'doc', - docId: "software-catalog/overview", - label: "Software Catalog", - activeBaseRegex: "(docs|docs/\\d.x)/software-catalog" - }, - { - type: 'doc', - docId: "marketplace/overview_marketplace", - label: "Marketplace", - activeBaseRegex: "(docs|docs/\\d.x)/(marketplace|runtime_suite/|development_suite/api-console/api-design/custom_microservice_get_started|tools|runtime_suite_tools|libraries)" - } - ] + docId: "development_suite/overview-dev-suite", + label: "Console", + activeBaseRegex: "(docs|docs/\\d.x)/development_suite" }, { - label: "Infrastructure", - position: "left", - activeBaseRegex: "(docs|docs/\\d.x)/(development_suite|marketplace|libraries|tools|runtime_suite|business_suite|fast_data|dev_portal|infrastructure/infrastructure_overview)", - type: "doc", - docId: "infrastructure/infrastructure_overview" + type: 'doc', + docId: "fast_data/what_is_fast_data", + label: "Fast Data", + activeBaseRegex: "(docs|docs/\\d.x)/fast_data" }, { type: 'doc', - docId: "release-notes/versions", - label: "Release Notes", - position: "left", - activeBaseRegex: "(docs|docs/\\d.x)/(release-notes|info/(version_policy|bug_policy|support-policy))" + docId: "data_catalog/overview_data_catalog", + label: "Data Catalog", + activeBaseRegex: "(docs|docs/\\d.x)/data_catalog" }, { - href: "https://makeitapp.atlassian.net/servicedesk/customer/portal/21", - position: "left", - label: "Support" + type: 'doc', + docId: "microfrontend-composer/what-is", + label: "Microfrontend Composer", + activeBaseRegex: "(docs|docs/\\d.x)/microfrontend-composer" }, { - href: "https://github.com/mia-platform/community/discussions", - position: "left", - label: "Community" + type: 'doc', + docId: "software-catalog/overview", + label: "Software Catalog", + activeBaseRegex: "(docs|docs/\\d.x)/software-catalog" }, { - type: "docsVersionDropdown", - position: "right", - dropdownItemsBefore: [], - dropdownItemsAfter: [] + type: 'doc', + docId: "marketplace/overview_marketplace", + label: "Marketplace", + activeBaseRegex: "(docs|docs/\\d.x)/(marketplace|runtime_suite/|development_suite/api-console/api-design/custom_microservice_get_started|tools|runtime_suite_tools|libraries)" } + ] + }, + { + label: "Infrastructure", + position: "left", + activeBaseRegex: "(docs|docs/\\d.x)/(development_suite|marketplace|libraries|tools|runtime_suite|business_suite|fast_data|dev_portal|infrastructure/infrastructure_overview)", + type: "doc", + docId: "infrastructure/infrastructure_overview" + }, + { + type: 'doc', + docId: "release-notes/versions", + label: "Release Notes", + position: "left", + activeBaseRegex: "(docs|docs/\\d.x)/(release-notes|info/(version_policy|bug_policy|support-policy))" + }, + { + href: "https://makeitapp.atlassian.net/servicedesk/customer/portal/21", + position: "left", + label: "Support" + }, + { + href: "https://github.com/mia-platform/community/discussions", + position: "left", + label: "Community" + }, + { + type: "docsVersionDropdown", + position: "right", + dropdownItemsBefore: [], + dropdownItemsAfter: [] + } ], }, footer: { From 82a72e4d6bce7f0d3afd83bc3be03fd14f3a5c80 Mon Sep 17 00:00:00 2001 From: Daniele Bissoli Date: Wed, 23 Oct 2024 10:13:52 +0200 Subject: [PATCH 57/66] fix: update redirect to cast functions page (#1737) --- 301redirects.json | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/301redirects.json b/301redirects.json index 0ffb1d9a76..8a81127d6e 100644 --- a/301redirects.json +++ b/301redirects.json @@ -1803,12 +1803,8 @@ "destination": "/docs/marketplace/add_to_marketplace/create_your_company_marketplace", "addedOn": "2024-09-30" }, - "/docs/fast_data/cast_functions/#cast-function-default": { - "destination": "/docs/fast_data/configuration/cast_functions#default-cast-functions", - "addedOn": "2024-10-22" - }, - "/docs/fast_data/cast_functions/#create-a-custom-cast-function": { - "destination": "/docs/fast_data/configuration/cast_functions#create-a-custom-cast-function", - "addedOn": "2024-10-22" + "/docs/fast_data/cast_functions": { + "destination": "/docs/fast_data/configuration/cast_functions", + "addedOn": "2024-10-23" } } \ No newline at end of file From c61bec78669ff896cf500b41395bad4180071b1f Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 23 Oct 2024 14:36:07 +0200 Subject: [PATCH 58/66] chore(docs): update Form Service Frontend documentation (#1683) * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation * chore(docs): update Form Service Frontend documentation --- docs/runtime_suite/form-service-frontend/10_overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/runtime_suite/form-service-frontend/10_overview.md b/docs/runtime_suite/form-service-frontend/10_overview.md index ab2fcea6ff..bb210edd7d 100644 --- a/docs/runtime_suite/form-service-frontend/10_overview.md +++ b/docs/runtime_suite/form-service-frontend/10_overview.md @@ -91,7 +91,7 @@ When the `_v` parameter is specified, the form is set to `readOnly` mode. This m From `version 1.6.0` the Form-Service Frontend supports the possibility to retrieve form drafts. When calling the `GET /visualizer/{id}` endpoint is possible to specify the `_status` parameter. This parameter will be passed to the Form-Service Backend that, if configured properly, will retrieve the draft version of the requested form data. #### Form Availability and Expiration date support -From `version 1.10.0` the Form Service enables the configuration of availability and expiration dates for forms via the `builder`. If either of these dates is defined and the relevant conditions are met, the form's `visualizer` will trigger an error message, preventing the form from being presented. You can customize the error message displayed for expired forms through the [configmap in the Form Service Backend](../form-service-backend/configuration). +From version `1.10.0` the Form Service enables the configuration of availability and expiration dates for forms via the `builder`. If either of these dates is defined and the relevant conditions are met, the form `visualizer` will trigger an error message, preventing the form from being rendered. You can customize the error title and message displayed for expired forms through the [configmap in the Form Service Backend](../form-service-backend/configuration). ## Further details From e1c47073f31b396566070e564afa6471c2cbc3fa Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 23 Oct 2024 14:36:28 +0200 Subject: [PATCH 59/66] chore(docs): update Teleconsultation Service Backend documentation (#1729) * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation * chore(docs): update Teleconsultation Service Backend documentation --- .../20_configuration.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/docs/runtime_suite/teleconsultation-service-backend/20_configuration.md b/docs/runtime_suite/teleconsultation-service-backend/20_configuration.md index b1c80063d2..745d1e0ba4 100644 --- a/docs/runtime_suite/teleconsultation-service-backend/20_configuration.md +++ b/docs/runtime_suite/teleconsultation-service-backend/20_configuration.md @@ -85,8 +85,6 @@ The default configuration is the following: "accentColor": "#d62828", }, }, - "environment": "sandbox", - "mode": "window", "companyLogo": { "url": "https://www.insert.url.it", }, @@ -177,12 +175,6 @@ The Teleconsultation Service Configuration is a JSON object with 6 root properti - _required_: `true`; - _description_: contains 2 types of users (*basic* and *plus*) and their privileges details for the call (e.g. The tools they can use during the call). -**2. environment** - -- _type_: string; -- _required_: `true`; -- _description_: can assumes two values: _sandbox_ or _production_. Specify the Kaleyra environment's you want to use. - **3. theme** - _type_: object; @@ -221,8 +213,6 @@ The `JSON` file is structured like the following example: "basic": {...}, "plus": {...} }, - "environment": "sandbox", - "mode": "window", "theme": { "light": {...}, "dark": {...} From 7e6f9ab1a51547b1e6f578431f24cc596711b1c7 Mon Sep 17 00:00:00 2001 From: Bot-targa Date: Wed, 23 Oct 2024 14:36:43 +0200 Subject: [PATCH 60/66] chore(docs): update Teleconsultation Service Frontend documentation (#1731) * chore(docs): update Teleconsultation Service Frontend documentation * chore(docs): update Teleconsultation Service Frontend documentation * chore(docs): update Teleconsultation Service Frontend documentation --- .../20_configuration.md | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/docs/runtime_suite/teleconsultation-service-frontend/20_configuration.md b/docs/runtime_suite/teleconsultation-service-frontend/20_configuration.md index 896e052571..4b720d1283 100644 --- a/docs/runtime_suite/teleconsultation-service-frontend/20_configuration.md +++ b/docs/runtime_suite/teleconsultation-service-frontend/20_configuration.md @@ -21,31 +21,4 @@ In order to make the route accessible to the page where the teleconsultation wil Example: 1. Custom **endpoint** to expose teleconsultation-service-fe: `/telecons-fe` -## Config Map (optional) - -The teleconsultation-service-fe normally does not require any config map. But, if you plan to embed the teleconsultation-service-fe inside an iframe or web-view, you might run into a CSP error ([Content Security Policy][mdn-csp]). To avoid this error you could set the right Content Security Policy through the config map. - - -
      -Example of config map that implement a custom CSP - -``` -location / { - include /etc/nginx/security.d/cross-site_script.conf; - add_header 'Content-Security-Policy' "default-src 'self'; frame-src https://sandbox.bandyer.com https://.bandyer.com; script-src 'self' https://cdn.bandyer.com https://static.bandyer.com https://.bandyer.com 'unsafe-eval'; connect-src 'self' https://sandbox.bandyer.com https://.bandyer.com wss://sandbox.bandyer.com wss://.bandyer.com 'unsafe-eval'; object-src 'none'; style-src 'self' 'unsafe-inline'; img-src 'self' https://static.bandyer.com; font-src 'self'" always; - - expires $expires; - - try_files $uri $uri/index.html /index.html =404; -} -``` - -
      - -:::note -Mount your config map in the right place in order to override the default one, e.g.: `/etc/nginx/conf.d/website.conf`. -::: - - -[mdn-csp]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP [teleconsultation-service-be]: ../teleconsultation-service-backend/overview From b0f27ace651be028e381d73e26ccb3850564f148 Mon Sep 17 00:00:00 2001 From: Federico Maggi <7142570+fredmaggiowski@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:26:31 +0200 Subject: [PATCH 61/66] feat: external link and composer pages extensions docs (#1711) * feat: ext link docs * feat: ext link docs * Update docs/console/company-configuration/extensions.md Co-authored-by: Giovanna Monti <60603265+GiovannaMonti@users.noreply.github.com> * Update docs/console/company-configuration/extensions.md Co-authored-by: Giovanna Monti <60603265+GiovannaMonti@users.noreply.github.com> * Update docs/console/company-configuration/extensions.md Co-authored-by: Giovanna Monti <60603265+GiovannaMonti@users.noreply.github.com> * Update docs/console/company-configuration/extensions.md Co-authored-by: Giovanna Monti <60603265+GiovannaMonti@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Giovanna Monti <60603265+GiovannaMonti@users.noreply.github.com> * updated doc (#1721) * updated doc * Update docs/console/company-configuration/extensions.md --------- Co-authored-by: Fabio Nappi Co-authored-by: Federico Maggi <7142570+fredmaggiowski@users.noreply.github.com> * Update extensions.md --------- Co-authored-by: Giovanna Monti <60603265+GiovannaMonti@users.noreply.github.com> Co-authored-by: Fabio Nappi <38016501+FabioNappi@users.noreply.github.com> Co-authored-by: Fabio Nappi --- .../company-configuration/extensions.md | 84 +++++++++++------- .../img/extension-detail.png | Bin 105266 -> 0 bytes .../img/extension-placeholder.png | Bin 73489 -> 0 bytes .../create-extension-modal.png | Bin .../edit-extension-configuration.png | Bin 0 -> 518672 bytes .../edit-extension-destination.png | Bin .../{ => extensions}/edit-extension-info.png | Bin .../edit-extension-visibility.png | Bin .../img/extensions/extension-detail.png | Bin 0 -> 368947 bytes .../img/extensions/extension-placeholder.png | Bin 0 -> 347220 bytes .../img/{ => extensions}/extensions-table.png | Bin .../new-extension-preview.png | Bin .../visibility-creating-extension.png | Bin 13 files changed, 54 insertions(+), 30 deletions(-) delete mode 100644 docs/console/company-configuration/img/extension-detail.png delete mode 100644 docs/console/company-configuration/img/extension-placeholder.png rename docs/console/company-configuration/img/{ => extensions}/create-extension-modal.png (100%) create mode 100644 docs/console/company-configuration/img/extensions/edit-extension-configuration.png rename docs/console/company-configuration/img/{ => extensions}/edit-extension-destination.png (100%) rename docs/console/company-configuration/img/{ => extensions}/edit-extension-info.png (100%) rename docs/console/company-configuration/img/{ => extensions}/edit-extension-visibility.png (100%) create mode 100644 docs/console/company-configuration/img/extensions/extension-detail.png create mode 100644 docs/console/company-configuration/img/extensions/extension-placeholder.png rename docs/console/company-configuration/img/{ => extensions}/extensions-table.png (100%) rename docs/console/company-configuration/img/{ => extensions}/new-extension-preview.png (100%) rename docs/console/company-configuration/img/{ => extensions}/visibility-creating-extension.png (100%) diff --git a/docs/console/company-configuration/extensions.md b/docs/console/company-configuration/extensions.md index 5cc186e42e..7774c5ca40 100644 --- a/docs/console/company-configuration/extensions.md +++ b/docs/console/company-configuration/extensions.md @@ -4,75 +4,99 @@ title: Manage Extensions sidebar_label: Manage Extensions --- -Extensions allow expanding the Console sidebar with new sections that are usable exclusively in the Company where they are registered and are useful for integrating external tools that can be embedded inside an iframe. +Extensions allow expanding Console capabilities by adding custom pages to the sidebar navigation. This allows you to provide users with new pages tailored to your Company's needs or integrate external tools with a seamless experience within the product. ## Extension Manager -Extensions can be managed through a dedicated management section called `Extensibility` placed in the Company Overview page and **only Company Owners have permission to see and use it**. +Extensions can be managed through a dedicated section called **Extensibility** placed in the Company Overview page. -![extension placeholder](./img/extension-placeholder.png) +:::info +Only **Company Owners** have the necessary permissions to see and use this section. +Moreover, extensions are **only accessible within the Company** they are registered into. +::: + +![extension placeholder](./img/extensions/extension-placeholder.png) + +There are different extension types supported: + +- iframe: allows you to embed web pages in Console using an `