From 298d001fae8923e0c5fc4a81811d4dbef2494875 Mon Sep 17 00:00:00 2001 From: <> Date: Tue, 30 Jan 2024 13:59:55 +0000 Subject: [PATCH] Deployed f8666619 with MkDocs version: 1.5.3 --- .nojekyll | 0 404.html | 1889 +++++ .../index.html | 2248 ++++++ .../index.html | 2116 ++++++ .../index.html | 2855 +++++++ .../index.html | 1972 +++++ .../index.html | 2020 +++++ .../index.html | 2065 +++++ .../index.html | 2003 +++++ .../index.html | 2545 +++++++ .../index.html | 2121 ++++++ .../index.html | 1985 +++++ .../index.html | 2247 ++++++ .../index.html" | 2386 ++++++ .../index.html" | 2072 +++++ .../index.html | 2032 +++++ .../index.html | 2093 +++++ .../index.html | 2176 ++++++ .../index.html | 2136 ++++++ .../index.html | 2103 ++++++ .../index.html | 2101 ++++++ .../index.html | 2022 +++++ .../index.html | 2066 +++++ .../index.html | 1960 +++++ .../index.html | 2106 ++++++ .../index.html | 2045 +++++ .../index.html | 3166 ++++++++ .../index.html | 2020 +++++ .../index.html | 2069 +++++ .../index.html | 2043 +++++ .../index.html | 1996 +++++ .../index.html | 2252 ++++++ .../index.html | 2397 ++++++ .../index.html | 2848 +++++++ .../Untitled 1.png | Bin 0 -> 298002 bytes .../Untitled.png | Bin 0 -> 196661 bytes .../index.html | 2153 ++++++ .../index.html | 2507 ++++++ .../index.html | 3605 +++++++++ .../index.html | 3756 +++++++++ .../index.html | 2301 ++++++ .../index.html | 2183 ++++++ .../index.html | 2063 +++++ .../index.html | 1969 +++++ .../index.html | 2134 ++++++ .../index.html | 2360 ++++++ .../index.html | 2148 ++++++ .../index.html | 2045 +++++ .../index.html | 1968 +++++ .../index.html | 1966 +++++ .../index.html | 2556 +++++++ .../index.html | 2645 +++++++ .../index.html | 1962 +++++ architecture.png | Bin 0 -> 413992 bytes assets/favicon.png | Bin 0 -> 30390 bytes assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.e1c3ead8.min.js | 29 + assets/javascripts/bundle.e1c3ead8.min.js.map | 7 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.b8dbb3d2.min.js | 42 + .../workers/search.b8dbb3d2.min.js.map | 7 + assets/sky_logo.png | Bin 0 -> 66591 bytes assets/sky_logo2.png | Bin 0 -> 30390 bytes assets/stylesheets/main.50c56a3b.min.css | 1 + assets/stylesheets/main.50c56a3b.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + index.html | 1953 +++++ search/search_index.json | 1 + sitemap.xml | 3 + sitemap.xml.gz | Bin 0 -> 127 bytes stylesheets/extra.css | 6 + 105 files changed, 121729 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 Autonomously scale Compute, Storage afeeaa6466614d8d905efa44201746b2/Uptime SLA ea985d9f82fc48b8bc0476cd359f48ce/index.html create mode 100644 Autonomously scale Compute, Storage afeeaa6466614d8d905efa44201746b2/index.html create mode 100644 Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/MariaDB Enterprise Backup c5e66a5fc2214471b8406660e09b288f/index.html create mode 100644 Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/Point-in-Time Recovery (PITR) 6a440a109fbe414697b0f4c2c5fd81cb/index.html create mode 100644 Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/index.html create mode 100644 Billing and Power Tier 3168a8895e7342aead007c253d998c8d/Billing 25528e88c22a49609c1524c75aaf551c/index.html create mode 100644 Billing and Power Tier 3168a8895e7342aead007c253d998c8d/index.html create mode 100644 Configure your Database Server(s) 0ab9fd71eb5443fe9bfd40e7c0a5142d/index.html create mode 100644 Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from Java App 17bf88ae787b44a0bccb8d5eaac5f8ef/index.html create mode 100644 Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from MongoDB clients 0870eb5a71ff485b88bd113e90ff571f/index.html create mode 100644 Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from Node js App b63d489b6fbd426ab40d7f7f3be9025a/index.html create mode 100644 "Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from \342\200\230C++\342\200\231 App 697a64cebee24fcf996e21450f1c32f0/index.html" create mode 100644 "Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from \342\200\230C\342\200\231 App b31c2f5880a74e198c61a60e74076cec/index.html" create mode 100644 Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect using Connector R2DBC 6f657edcac0849cb8ab4be6649ca71bd/index.html create mode 100644 Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/index.html create mode 100644 Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Import CSV data 50554477679448e6b4c8033d04f45142/index.html create mode 100644 Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Import data from external DB 9d0a68120e404f36b9f09a5ad71796b7/index.html create mode 100644 Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Install Mariadb-dump 14d92b62ce0f42cd83557aa80dd8c049/index.html create mode 100644 Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Install mariadb-import 8c0db06c9f864b6cb88ca21f265d5990/index.html create mode 100644 Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Migrating your existing Production DB 8ba80cbdb9b14f81a1df5b096d549522/index.html create mode 100644 Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Replicating data from external DB cdf15e1cd8d24880858d6cd2f50d8fd2/index.html create mode 100644 Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/index.html create mode 100644 Data offloading 4e994ab1980845ed8015df2a15a4b05c/Replicating data from SkySQL to external database 65a9d8aa0dc040c09548c042ba6582ae/index.html create mode 100644 Data offloading 4e994ab1980845ed8015df2a15a4b05c/index.html create mode 100644 FAQs ad991ed04d1c4c2c82774115261d3ad0/index.html create mode 100644 Portal features a48bd73b584b4a9db9b84ca94f958adc/Launch page 014bc19a417c4d169df7ae3f80b5f684/index.html create mode 100644 Portal features a48bd73b584b4a9db9b84ca94f958adc/Manage your Service a647ad5005f74122bc5fa86fa8d7fde6/index.html create mode 100644 Portal features a48bd73b584b4a9db9b84ca94f958adc/Notifications 47a5af40b9ee4be4970dfde8a92ef4a2/index.html create mode 100644 Portal features a48bd73b584b4a9db9b84ca94f958adc/Service Details page e98710a1c3444f3388548f782ff856f9/index.html create mode 100644 Portal features a48bd73b584b4a9db9b84ca94f958adc/index.html create mode 100644 Quickstart da3c5848d30348b1815026b2d24219a6/Launch DB using the REST API cf85a5036a454ee987bb392df694dfc3/index.html create mode 100644 Quickstart da3c5848d30348b1815026b2d24219a6/Launch DB using the Terraform Provider ae9f036b2d7c43b3a6e162bcdd4b4c97/index.html create mode 100644 Quickstart da3c5848d30348b1815026b2d24219a6/Untitled 1.png create mode 100644 Quickstart da3c5848d30348b1815026b2d24219a6/Untitled.png create mode 100644 Quickstart da3c5848d30348b1815026b2d24219a6/index.html create mode 100644 Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Instance Size Choices 332dbed99cf546be8724dacee2348e5a/index.html create mode 100644 Reference Guide 7667b5b9f4954afd938f580f90f36fc2/MaxScale Reference 6bff30837f1b405cb2679551df3be1d8/index.html create mode 100644 Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Monitoring Metrics Reference b8ca28a9fda846dbabbf70fda23b0801/index.html create mode 100644 Reference Guide 7667b5b9f4954afd938f580f90f36fc2/REST API Reference 448f4a9dba524bd3a88fa7abd0649110/index.html create mode 100644 Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Region Choices 3970be558ee146eb99eb116ad2b8f519/index.html create mode 100644 Reference Guide 7667b5b9f4954afd938f580f90f36fc2/index.html create mode 100644 Scaling horizontally, HA 1baaeba999bb4742930280184a67dcc1/index.html create mode 100644 Security eb573a6a5bce4b56b9743a64a4ac713c/Configuring Firewall 9bca9f4e09ce4152a2fce4e68b077e2d/index.html create mode 100644 Security eb573a6a5bce4b56b9743a64a4ac713c/Managing API keys 0a99815ccb0d4f1dbb7dea5e76d34407/index.html create mode 100644 Security eb573a6a5bce4b56b9743a64a4ac713c/Managing Portal Users c0788729e3ae4bfb80e016631610e188/index.html create mode 100644 Security eb573a6a5bce4b56b9743a64a4ac713c/Portal Single Sign-On e91b27d636614b8c897bebe7d61cb312/index.html create mode 100644 Security eb573a6a5bce4b56b9743a64a4ac713c/Private VPC connections b470fc74435c4e11ae5865458ffb78c6/index.html create mode 100644 Security eb573a6a5bce4b56b9743a64a4ac713c/index.html create mode 100644 Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/Setting up AWS Private Link 4e93fe75265c415a857e4179e08b44a6/index.html create mode 100644 Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/Setting up GCP Private Service Connect 36f6d531c5514999bd464a80ac49919a/index.html create mode 100644 Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/index.html create mode 100644 architecture.png create mode 100644 assets/favicon.png create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.e1c3ead8.min.js create mode 100644 assets/javascripts/bundle.e1c3ead8.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js.map create mode 100644 assets/sky_logo.png create mode 100644 assets/sky_logo2.png create mode 100644 assets/stylesheets/main.50c56a3b.min.css create mode 100644 assets/stylesheets/main.50c56a3b.min.css.map create mode 100644 assets/stylesheets/palette.06af60db.min.css create mode 100644 assets/stylesheets/palette.06af60db.min.css.map create mode 100644 index.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz create mode 100644 stylesheets/extra.css diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..a1f6d834 --- /dev/null +++ b/404.html @@ -0,0 +1,1889 @@ + + + + + + + + + + + + + + + + + + + SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Autonomously scale Compute, Storage afeeaa6466614d8d905efa44201746b2/Uptime SLA ea985d9f82fc48b8bc0476cd359f48ce/index.html b/Autonomously scale Compute, Storage afeeaa6466614d8d905efa44201746b2/Uptime SLA ea985d9f82fc48b8bc0476cd359f48ce/index.html new file mode 100644 index 00000000..33c9d322 --- /dev/null +++ b/Autonomously scale Compute, Storage afeeaa6466614d8d905efa44201746b2/Uptime SLA ea985d9f82fc48b8bc0476cd359f48ce/index.html @@ -0,0 +1,2248 @@ + + + + + + + + + + + + + + + + + + + + + + + Uptime SLA - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Uptime SLA

+

MariaDB SkySQL customers should assess the availability requirements of their application and choose an appropriate service tier to meet their objectives. MariaDB SkySQL customers are on the Foundation Tier unless they have specifically purchased and paid for Power Tier service.

+

Performance Standard

+ + + + + + + + + + + + + + + + + + + + + + + + + +
TierPerformance Standard
SkySQL Foundation Tierā€¢ Multi-node configurations will deliver a 99.95% service availability on a per-billing-month basis.
ā€¢ For example, with this availability target in a 30 day calendar month the maximum service downtime is 21 minutes and 54 seconds.
SkySQL Power Tierā€¢ Multi-node configurations will deliver a 99.995% service availability on a per-billing-month basis.
ā€¢ For example, with this availability target in a 30 day calendar month the maximum service downtime is 2 minutes and 11 seconds.
+

Service Downtime

+

Service DowntimeĀ is measured at each SkySQL database endpoint as the total number of full minutes, outside of scheduled downtime for maintenance and upgrades, where continuous attempts to establish a connection within the minute fail as reflected in minute-by-minute logs.

+

Monthly Uptime Percentage

+

Monthly Uptime PercentageĀ is calculated on a per-billing-month basis as the total number of minutes in a month, minus the number of minutes of measuredĀ Service DowntimeĀ within the month, divided by the number of minutes in that month. When a service is deployed for only part of a month, it is assumed to be 100% available for the portion of the month that it is not deployed.

+

Service Credit

+

Service CreditĀ is the percentage of the total fees paid by you for a given SkySQL service during the month in which the downtime occurred to be credited if MariaDB approves your claim. The percentage used in calculating Service Credit is dependent on whether the customer is on Foundation Tier or Power Tier, and is dependent on the calculatedĀ Monthly Uptime Percentage.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TierMonthly Uptime PercentagePercentage Applied
Foundation TierLess than 99.95%, but greater than or equal to 99.0%10%
Foundation TierLess than 99.0%25%
Power TierLess than 99.995%, but greater than or equal to 99.0%10%
Power TierLess than 99.0%25%
+

MariaDB will grant and process claims, provided the customer has satisfied itsĀ Customer ObligationsĀ and that none of theĀ ExclusionsĀ listed apply to the claim.Ā Service CreditsĀ will be issued only upon request within 60 days of the end of the billing period of the month of impact to service availability, and upon confirmation of outage.Ā Service CreditsĀ will be issued in the form of a monetary credit applied to future use of the service that experienced theĀ Service Downtime.Ā Service CreditsĀ will not be applied to fees for any other SkySQL instance.

+

The aggregate maximum number ofĀ Service CreditsĀ to be issued by MariaDB to customers for any and allĀ Service DowntimeĀ that occurs in a single billing month will not exceed 50% of the amount due from the customer for the covered service for the applicable month.

+

Customer Obligations

+

A customer will forfeit their right to receive aĀ Service CreditĀ unless they:

+
    +
  • Log a support ticket with MariaDB Support within 60 minutes of first becoming aware of an event that impacts service availability.
  • +
  • Submit a claim and all required information by the end of the month immediately following the month when theĀ Service DowntimeĀ occurred.
  • +
  • Submit necessary information for MariaDB to validate the claim, including:
      +
    • a description of the events resulting in theĀ Service Downtime, and related request logs
    • +
    • the date, time, and duration of theĀ Service Downtime
    • +
    • the number and location(s) of affected users
    • +
    • descriptions of customer attempts to fix theĀ Service DowntimeĀ as it occurred
    • +
    +
  • +
  • Provide reasonable assistance to MariaDB in investigating the cause of theĀ Service DowntimeĀ and investigating your claim.
  • +
+

Exclusions

+
    +
  • +

    Out-of-scope configurations

    +

    TheĀ Performance StandardĀ does not apply to single instance SkySQL service configuration or services in Technical Preview. Customers requiring High Availability should deploy instead in production-ready multi-node service configuration.

    +

    See "Choose a SkySQL Release" for information on SkySQL services in Technical Preview.

    +
  • +
  • +

    Underlying infrastructure

    +

    Impact to service availability caused by availability or performance of cloud services used to operate MariaDB SkySQL is excluded. This includes any such outages in Amazon Web Services (AWS) and Amazon Elastic Kubernetes Service (EKS), and Google Cloud Platform (GCP) and Google Kubernetes Engine (GKE).

    +
  • +
  • +

    Network interruption

    +

    Impact to service availability caused by blocking of network traffic by ISPs, network providers, governments, or third parties is excluded.

    +
  • +
  • +

    External factors

    +

    Impact to your use of service based on factors outside MariaDB SkySQL are excluded. This includes periods of downtime for your applications.

    +
  • +
  • +

    Uncorroborated impacts

    +

    Only impacts to service availability detected atĀ point of measurementĀ are subject when determining the uptime percentage. Service availability impacts measured through any other means, such as application instrumentation, are excluded except as also measured asĀ Service DowntimeĀ by MariaDB.

    +
  • +
  • +

    Portal access

    +

    Impact to your ability to access or use the MariaDB SkySQL portal, an interface provided to manage services, is excluded. This includes any component and content linked from the MariaDB SkySQL portal, including Documentation, the Customer Support portal, Monitoring, and Workload Analysis. These components operate independently from database services and do not impact database availability.

    +
  • +
  • +

    Resource usage

    +

    Impact to service availability caused by usage of system resources, such as problems caused by excessive workload consumption of CPU, disk I/O, disk capacity, memory, and other system resources, are excluded.

    +
  • +
  • +

    Clients and connectors

    +

    Impact to service availability caused by the use of unsupported third-party clients and connectors is excluded.

    +
  • +
  • +

    Non-paying customers

    +

    TheĀ Performance StandardĀ applies only to paying MariaDB SkySQL customers who are paid-in-full. All other MariaDB SkySQL customers, including those not paid-in-full and those customers participating in a free or credited service trial, are excluded.

    +
  • +
  • +

    Customer-directed maintenance

    +

    When a customer directs that MariaDB conduct a maintenance operation on a service, any resulting impact to service availability is excluded.

    +
  • +
  • +

    Customer-approved maintenance

    +

    When a customer approves MariaDB-recommended maintenance on a service, any resulting impact to service availability is excluded.

    +
  • +
  • +

    Customer-initiated changes

    +

    When a customer initiates changes to their SkySQL services, e.g., via access to the database or via the SkySQL portal, any resulting impact to service availability is excluded.

    +
  • +
  • +

    Initial provisioning

    +

    Availability of services during initial provisioning, e.g., before a service becomes online, healthy, and available, is excluded.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Autonomously scale Compute, Storage afeeaa6466614d8d905efa44201746b2/index.html b/Autonomously scale Compute, Storage afeeaa6466614d8d905efa44201746b2/index.html new file mode 100644 index 00000000..8c5091e3 --- /dev/null +++ b/Autonomously scale Compute, Storage afeeaa6466614d8d905efa44201746b2/index.html @@ -0,0 +1,2116 @@ + + + + + + + + + + + + + + + + + + + + + + + Autonomously scale Compute, Storage - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Autonomously scale Compute, Storage

+

Autonomous features enable automatic scaling in response to changes in workload.

+

Auto-scale of nodes enables scaling based on load:

+
    +
  • In/Out auto-scaling performs horizontal scaling, decreasing (In) or increasing (Out) the node count.
  • +
  • Up/Down auto-scaling performs vertical scaling, increasing (Up) or decreasing (Down) the instance size.
  • +
+

Auto-scale of storage enables expansion of capacity based on usage.

+

Autonomous features can be enabled at time ofĀ service launch. Autonomous features can be enabled or disabled after launch.

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-autonomous-dialog.png

+

Enable Auto-Scaling of Nodes

+

Auto-scaling of nodes can be enabled either at time of service launch or after service launch.

+

DuringĀ service launch:

+
    +
  • Check the "Enable auto-scale nodes" checkbox and set the desired scaling parameters.
  • +
+

After service launch,Ā manage Autonomous settings, and enable the desired auto-scaling features.

+

Enable Auto-Scaling of Storage

+

Auto-scaling of storage can be enabled either at time of service launch or after service launch.

+

DuringĀ Service Launch:

+
    +
  • Check the "Enable auto-scale storage" checkbox and set the desired maximum transactional data storage.
  • +
+

After service launch,Ā manage Autonomous settings, and enable the desired auto-scaling features.

+

For ColumnStore Data Warehouse, object storage adjusts automatically. Autonomous scaling features for storage are not used by this topology.

+

Manage Autonomous Settings

+

To manage Autonomous settings:

+
    +
  • From theĀ Portal, click the "MANAGE" button for the desired service, then choose "Autonomous" from the menu.
  • +
  • Update settings as desired.
  • +
  • Click "Apply Changes" when complete.
  • +
+

Scaling Rules

+

Automatic scaling occurs based on rules.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PolicyConditionAction
Auto-Scale Diskā€¢ Disk utilization > 90% sustained for 5 minutes
The disk is expected to run out of capacity in the next 24 hours (predicted based on the last 6 hours of service usage)ā€¢ Upgrade storage to the next available size in 100GB increments
ā€¢ Note: you cannot downgrade storage, the upgrade is irreversible
Auto-Scale Nodes Outā€¢ CPU utilization > 75% over all replicas sustained for 30 minutes
ā€¢ Number of concurrent sessions > 90% over all replicas sustained for 1 hour
ā€¢ Number of concurrent sessions is expected to hit the maximum within 4 hours (predicted based on the last 2 hours of service usage)ā€¢ Add new replica or node
ā€¢ Additional nodes will be of the same size and configuration as existing nodes
Auto-Scale Nodes Inā€¢ CPU utilization < 50% over all replicas sustained for 1 hour
ā€¢ Number of concurrent sessions < 50% over all replicas sustained for 1 hourā€¢ Remove replica or node
ā€¢ Node count will not decrease below the initial count set at launch
Auto-Scale Nodes Upā€¢ Number of concurrent sessions is expected to hit the maximum within 4 hours (predicted based on the last 2 hours of service usage)ā€¢ Upgrade all nodes to the next available size
Auto-Scale Nodes Downā€¢ CPU utilization < 50% over all replicas sustained for 1 hour
ā€¢ Number of concurrent sessions < 50% over all replicas sustained for 1 hourā€¢ Downgrade nodes
ā€¢ Node size will not decrease below the initial node size set at launch
+

Autonomous actions are not instantaneous.

+

Cooldown periods may apply. A cooldown period is the time period after a scaling operation is completed before another scaling operation can occur. The cooldown period for storage scaling is 6 hours.

+

Uptime SLA

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/MariaDB Enterprise Backup c5e66a5fc2214471b8406660e09b288f/index.html b/Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/MariaDB Enterprise Backup c5e66a5fc2214471b8406660e09b288f/index.html new file mode 100644 index 00000000..2deb5d10 --- /dev/null +++ b/Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/MariaDB Enterprise Backup c5e66a5fc2214471b8406660e09b288f/index.html @@ -0,0 +1,2855 @@ + + + + + + + + + + + + + + + + + + + + + + + MariaDB Enterprise Backup - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

MariaDB Enterprise Backup

+
+

Note

+

TODO - rough draft below .. needs to be cleaned up

+
+

Regular and reliable backups are essential to successful recovery of mission critical applications.Ā MariaDB Enterprise ServerĀ backup and restore operations are performed usingĀ MariaDB Enterprise Backup, anĀ enterprise-buildĀ ofĀ MariaDB Backup.

+

MariaDB Enterprise BackupĀ is compatible with MariaDB Enterprise Server 10.2, 10.3, 10.4, 10.5, and 10.6.

+ +

Storage Engines and Backup Types

+

MariaDB Enterprise Backup creates a file-level backup of data from the MariaDB Enterprise Server data directory. This backup includesĀ temporal data, and the encrypted and unencrypted tablespaces of supported storage engines (e.g.,Ā InnoDB,Ā MyRocks,Ā Aria).

+

MariaDB Enterprise Server implements:

+
    +
  • Full backups, which contain all data in the database.
  • +
  • Incremental backups, which contain modifications since the last backup.
  • +
  • Partial backups, which contain a subset of the tables in the database.
  • +
+

Backup support is specific to storage engines. All supported storage engines enable full backup. The InnoDB storage engine additionally supports incremental backup.

+

Non-blocking Backups

+

A feature of MariaDB Enterprise Backup and MariaDB Enterprise Server, non-blocking backups minimize workload impact during backups. When MariaDB Enterprise Backup connects to MariaDB Enterprise Server, staging operations are initiated to protect data during read.

+

Non-blocking backup functionality differs from historical backup functionality in the following ways:

+
    +
  • MariaDB Enterprise Backup in MariaDB Enterprise Server includes enterprise-only optimizations to backup staging, including DDL statement tracking, which reduces lock-time during backups.
  • +
  • MariaDB Backup in MariaDB Community Server 10.4 and later will block writes, log tables, and statistics.
  • +
  • Older MariaDB Community Server releases usedĀ FLUSHĀ TABLESĀ WITHĀ READĀ LOCK, which closed open tables and only allowed tables to be reopened with a read lock during the duration of backups.
  • +
+

Understanding Recovery

+

MariaDB Enterprise Backup creates complete or incremental backups of MariaDB Enterprise Server data, and is also used to restore data from backups produced using MariaDB Enterprise Backup.

+

Preparing Backups for Recovery

+

Full backups produced using MariaDB Enterprise Server are not initially point-in-time consistent, and an attempt to restore from a raw full backup will cause InnoDB to crash to protect the data.

+

Incremental backups produced using MariaDB Enterprise Backup contain only the changes since the last backup and cannot be used standalone to perform a restore.

+

To restore from a backup, you first need to prepare the backup for point-in-time consistency using theĀ --prepareĀ command:

+
    +
  • Running theĀ -prepareĀ command on aĀ full backupĀ synchronizes the tablespaces, ensuring that they are point-in-time consistent and ready for use in recovery.
  • +
  • Running theĀ -prepareĀ command on anĀ incremental backupĀ synchronizes the tablespaces and also applies the updated data into the previous full backup, making it a complete backup ready for use in recovery.
  • +
  • Running theĀ -prepareĀ command on data that is to be used for aĀ partial restoreĀ (when restoring only one or more selected tables) requires that you also use theĀ -exportĀ option to create the necessaryĀ .cfgĀ files to use in recovery.
  • +
+

Restore Requires Empty Data Directory

+

When MariaDB Enterprise Backup restores from a backup, it copies or moves the backup files into the MariaDB Enterprise Server data directory, as defined by theĀ datadirĀ system variable.

+

For MariaDB Enterprise Backup to safely restore data from full and incremental backups, the data directory must be empty. One way to achieve this is to move the data directory aside to a unique directory name:

+
    +
  1. Make sure that the Server is stopped.
  2. +
  3. Move the data directory to a unique name (for example,Ā /var/lib/mysql-2020-01-01)Ā ORĀ remove the old data directory (depending on how much space you have available).
  4. +
  5. Create a new (empty) data directory (for example,Ā mkdirĀ /var/lib/mysql).
  6. +
  7. Run MariaDB Enterprise Backup to restore the databases into that directory.
  8. +
  9. Change the ownership of all the restored files to the correct system user (for example,Ā chownĀ -RĀ mysql:mysqlĀ /var/lib/mysql).
  10. +
  11. Start MariaDB Enterprise Server, which now uses the restored data directory.
  12. +
  13. When ready, and if you have not already done so, delete the old data directory to free disk space.
  14. +
+

Creating the Backup User

+

When MariaDB Enterprise Backup performs a backup operation, it not only copies files from the data directory but also connects to the running MariaDB Enterprise Server.

+

This connection to MariaDB Enterprise Server is used to manage locks and backup staging that prevent the Server from writing to a file while being read for a backup.

+

MariaDB Enterprise Backup establishes this connection based on the user credentials specified with theĀ --userĀ andĀ --passwordĀ options when performing a backup.

+

It is recommended that a dedicated user be created and authorized to perform backups.

+

10.5 and Later

+

MariaDB Enterprise Backup 10.5 and later requires this user to have theĀ RELOAD,Ā PROCESS,Ā LOCKĀ TABLES, andĀ BINLOGĀ MONITORĀ privileges. (TheĀ BINLOG MONITORĀ privilege replaced theĀ REPLICATIONĀ CLIENTĀ privilege in MariaDB Enterprise Server 10.5.):

+

**CREATE** **USER** 'mariabackup'@'localhost'IDENTIFIED **BY** 'mbu_passwd'**;GRANT** RELOAD**,** PROCESS**,** **LOCK** TABLES**,** BINLOG MONITOR**ON** ***.*****TO** 'mariabackup'@'localhost'**;**

+

In the above example, MariaDB Enterprise Backup would run on the local system that runs MariaDB Enterprise Server. Where backups may be run against a remote server, the user authentication and authorization should be adjusted.

+

While MariaDB Enterprise Backup requires a user for backup operations, no user is required for restore operations since restores occur while MariaDB Enterprise Server is not running.

+

10.4 and Earlier

+

MariaDB Enterprise Backup 10.4 and earlier requires this user to have theĀ RELOAD,Ā PROCESS,Ā LOCKĀ TABLES, andĀ REPLICATIONĀ CLIENTĀ privileges. (TheĀ BINLOG MONITORĀ privilege replaced theĀ REPLICATIONĀ CLIENTĀ privilege in MariaDB Enterprise Server 10.5.):

+

**CREATE** **USER** 'mariabackup'@'localhost'IDENTIFIED **BY** 'mbu_passwd'**;GRANT** RELOAD**,** PROCESS**,** **LOCK** TABLES**,** REPLICATION CLIENT**ON** ***.*****TO** 'mariabackup'@'localhost'**;**

+

In the above example, MariaDB Enterprise Backup would run on the local system that runs MariaDB Enterprise Server. Where backups may be run against a remote server, the user authentication and authorization should be adjusted.

+

While MariaDB Enterprise Backup requires a user for backup operations, no user is required for restore operations since restores occur while MariaDB Enterprise Server is not running.

+

Full Backup and Restore

+

Full backups performed with MariaDB Enterprise Backup contain all table data present in the database.

+

When performing a full backup, MariaDB Enterprise Backup makes a file-level copy of the MariaDB Enterprise Server data directory. This backup omits log data such as the binary logs (binlog), error logs, general query logs, and slow query logs.

+

Performing Full Backups

+

When you perform a full backup, MariaDB Enterprise Backup writes the backup to theĀ --target-dirĀ path. The directory must be empty or non-existent and the operating system user account must have permission to write to that directory. A database user account is required to perform the backup.

+

The version ofĀ mariabackupĀ orĀ mariadb-backupĀ should be the same version as the MariaDB Enterprise Server version. When the version does not match the server version, errors can sometimes occur, or the backup can sometimes be unusable.

+

To create a backup, executeĀ mariabackupĀ orĀ mariadb-backupĀ with theĀ [--backup](https://mariadb.com/docs/server/ref/mdb/cli/mariadb-backup/backup/)Ā option, and provide the database user account credentials using theĀ [--user](https://mariadb.com/docs/server/ref/mdb/cli/mariadb-backup/user/)Ā andĀ [--password](https://mariadb.com/docs/server/ref/mdb/cli/mariadb-backup/password/)Ā options:

+

$ sudo mariabackup --backup \ --target-dir=/data/backups/full \ --user=mariabackup \ --password=mbu_passwd

+

Subsequent to the above example, the backup is now available in the designatedĀ --target-dirĀ path.

+

Preparing a Full Backup for Recovery

+

A raw full backup is notĀ point-in-time consistentĀ and must be prepared before it can be used for a restore. The backup can be prepared any time after the backup is created and before the backup is restored. However, MariaDB recommends preparing a backup immediately after taking the backup to ensure that the backup is consistent.

+

The backup should be prepared with the same version of MariaDB Enterprise Backup that was used to create the backup.

+

To prepare the backup, executeĀ mariabackupĀ orĀ mariadb-backupĀ with theĀ [--prepare](https://mariadb.com/docs/server/ref/mdb/cli/mariadb-backup/prepare/)Ā option:

+

$ sudo mariabackup --prepare \ --use-memory=34359738368 \ --target-dir=/data/backups/full

+

For best performance, theĀ [--use-memory](https://mariadb.com/docs/server/ref/mdb/cli/mariadb-backup/use-memory/)Ā option should be set to the server'sĀ [innodb_buffer_pool_size](https://mariadb.com/docs/server/ref/mdb/system-variables/innodb_buffer_pool_size/)Ā value.

+

Restoring from Full Backups

+

Once a full backup has beenĀ preparedĀ to be point-in-time consistent, MariaDB Enterprise Backup is used to copy backup data to the MariaDB Enterprise Server data directory.

+

To restore from a full backup:

+
    +
  1. Stop the MariaDB Enterprise Server
  2. +
  3. EmptyĀ the data directory
  4. +
  5. +

    Restore from the "full" directory using theĀ -copy-backĀ option:

    +

    $ sudo mariabackup --copy-back --target-dir=/data/backups/full

    +
  6. +
+

MariaDB Enterprise Backup writes to the data directory as the current user, which can be changed usingĀ sudo. To confirm that restored files are properly owned by the user that runs MariaDB Enterprise Server, run a command like this (adapted for the correct user/group):

+

$ sudo chown -R mysql:mysql /var/lib/mysql

+

Once this is done, start MariaDB Enterprise Server:

+

$ sudo systemctl start mariadb

+

When the Server starts, it works from the restored data directory.

+

Incremental Backup and Restore

+

Full backups of large data-sets can be time-consuming and resource-intensive. MariaDB Enterprise Backup supports the use of incremental backups to minimize this impact.

+

While full backups are resource-intensive at time of backup, the resource burden around incremental backups occurs when preparing for restore. First, the full backup is prepared for restore, then each incremental backup is applied.

+

Performing Incremental Backups

+

When you perform an incremental backup, MariaDB Enterprise Backup compares a previous full or incremental backup to what it finds on MariaDB Enterprise Server. It then creates a new backup containing the incremental changes.

+

Incremental backup is supported for InnoDB tables. Tables using other storage engines receive full backups even during incremental backup operations.

+

To increment a full backup, use theĀ --incremental-basedirĀ option to indicate the path to the full backup and theĀ --target-dirĀ option to indicate where you want to write the incremental backup:

+

$ sudo mariabackup --backup \ --incremental-basedir=/data/backups/full \ --target-dir=/data/backups/inc1 \ --user=mariabackup \ --password=mbu_passwd

+

In this example, MariaDB Enterprise Backup reads theĀ /data/backups/fullĀ directory, and MariaDB Enterprise Server then creates an incremental backup in theĀ /data/backups/inc1Ā directory.

+

Preparing an Incremental Backup

+

An incremental backup must be applied to a prepared full backup before it can be used in a restore operation. If you have multiple full backups to choose from, pick the nearest full backup prior to the incremental backup that you want to restore. You may also want to back up your full-backup directory, as it will be modified by the updates in the incremental data.

+

If your full backup directory is not yet prepared, run this to make it consistent:

+

$ sudo mariabackup --prepare --target-dir=/data/backups/full

+

Then, using the prepared full backup, apply the first incremental backup's data to the full backup in an incremental preparation step:

+

$ sudo mariabackup --prepare \ --target-dir=/data/backups/full \ --incremental-dir=/data/backups/inc1

+

Once the incremental backup has been applied to the full backup, the full backup directory contains the changes from the incremental backup (that is, theĀ inc1/Ā directory). Feel free to removeĀ inc1/Ā to save disk space.

+

Restoring from Incremental Backups

+

Once you have prepared the full backup directory with all the incremental changes you need (as described above), stop the MariaDB Enterprise Server,Ā emptyĀ its data directory, and restore from the original full backup directory using theĀ --copy-backĀ option:

+

$ sudo mariabackup --copy-back --target-dir=/data/backups/full

+

MariaDB Enterprise Backup writes files into the data directory using either the current user or root (in the case of a sudo operation), which may be different from the system user that runs the database. Run the following to recursively update the ownership of the restored files and directories:

+

$ sudo chown -R mysql:mysql /var/lib/mysql

+

Then, start MariaDB Enterprise Server. When the Server starts, it works from the restored data directory.

+

Partial Backup and Restore

+

In a partial backup, MariaDB Enterprise Backup copies a specified subset of tablespaces from the MariaDB Enterprise Server data directory. Partial backups are useful in establishing a higher frequency of backups on specific data, at the expense of increased recovery complexity. In selecting tablespaces for a partial backup, please consider referential integrity.

+

Performing a Partial Backup

+

Command-line options can be used to narrow the set of databases or tables to be included within a backup:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OptionDescription
--databasesList of databases to include
--databases-excludeList of databases to omit from the backup
--databases-filePath to file listing the databases to include
--tablesList of tables to include
--tables-excludeList of tables to exclude
--tables-filePath to file listing the tables to include
+

For example, you may wish to produce a partial backup, which excludes a specific database:

+

$ sudo mariabackup --backup \ --target-dir=/data/backups/part \ --user=mariabackup \ --password=mbu_passwd \ --database-exclude=test

+

Partial backups can also be incremental:

+

$ sudo mariabackup --backup \ --incremental-basedir=/data/backups/part \ --target-dir=/data/backups/part_inc1 \ --user=mariabackup \ --password=mbu_passwd \ --database-exclude=test

+

Preparing a Backup Before a Partial Restore

+

As with full and incremental backups, partial backups are not point-in-time consistent. A partial backup must be prepared before it can be used for recovery.

+

A partial restore can be performed from a full backup or partial backup.

+

The preparation step for either partial or full backup restoration requires the use of transportable tablespaces for InnoDB. As such, each prepare operation requires theĀ --exportĀ option:

+

$ sudo mariabackup --prepare --export --target-dir=/data/backups/part

+

When using a partial incremental backup for restore, the incremental data must be applied to its prior partial backup data before its data is complete. If performing partial incremental backups, run the prepare statement again to apply the incremental changes onto the partial backup that served as the base.

+

$ sudo mariabackup --prepare --export \ --target-dir=/data/backups/part \ --incremental-dir=/data/backups/part_inc1

+

Performing a Partial Restore

+

Unlike full and incremental backups, you cannot restore partial backups directly using MariaDB Enterprise Backup. Further, as a partial backup does not contain a complete data directory, you cannot restore MariaDB Enterprise Server to a startable state solely with a partial backup.

+

To restore from a partial backup, you need to prepare a table on the MariaDB Enterprise Server, then manually copy the files into the data directory.

+

The details of the restore procedure depend on the characteristics of the table:

+ +

As partial restores are performed while the server is running, not stopped, care should be taken to prevent production workloads during restore activity.

+
+

Note

+

You can also use data from a full backup in a partial restore operation if you have prepared the data using theĀ --exportĀ option as described above.

+
+

Partial Restore Non-partitioned Tables

+

To restore a non-partitioned table from a backup, first create a new table on MariaDB Enterprise Server to receive the restored data. It should match the specifications of the table you're restoring.

+

Be extra careful if the backup data is from a server with a different version than the restore server, as some differences (such as a differingĀ ROW_FORMAT) can cause an unexpected result.

+
    +
  1. +

    Create an empty table for the data being restored:

    +

    **CREATE** **TABLE** test**.**address_book **(** id INT **PRIMARY** **KEY** AUTO_INCREMENT**,** name VARCHAR**(**255**),** email VARCHAR**(**255**));**

    +
  2. +
  3. +

    Modify the table to discard the tablespace:

    +

    **ALTER** **TABLE** test**.**address_book DISCARD TABLESPACE**;**

    +
  4. +
  5. +

    You can copy (or move) the files for the table from the backup to the data directory:

    +

    $ sudo cp /data/backups/part_inc1/test/address_book.* /var/lib/mysql/test

    +
  6. +
  7. +

    Use a wildcard to include both theĀ .ibdĀ andĀ .cfgĀ files. Then, change the owner to the system user running MariaDB Enterprise Server:

    +

    $ sudo chown mysql:mysql /var/lib/mysql/test/address_book.*

    +
  8. +
  9. +

    Lastly, import the new tablespace:

    +

    **ALTER** **TABLE** test**.**address_book IMPORT TABLESPACE**;**

    +

    MariaDB Enterprise Server looks in the data directory for the tablespace you copied in, then imports it for use. If the table is encrypted, it also looks for the encryption key with the relevant key ID that the table data specifies.

    +
  10. +
  11. +

    Repeat this step for every table you wish to restore.

    +
  12. +
+

Partial Restore Partitioned Tables

+

Restoring a partitioned table from a backup requires a few extra steps compared to restoring a non-partitioned table.

+

To restore a partitioned table from a backup, first create a new table on MariaDB Enterprise Server to receive the restored data. It should match the specifications of the table you're restoring, including the partition specification.

+

Be extra careful if the backup data is from a server with a different version than the restore server, as some differences (such as a differingĀ ROW_FORMAT) can cause an unexpected result.

+
    +
  1. +

    Create an empty table for the data being restored:

    +

    **CREATE** **TABLE** test**.**students **(** id INT **NOT** **NULL** AUTO_INCREMENT**,** name VARCHAR**(**255**),** email VARCHAR**(**255**),** graduating_year **YEAR,** **PRIMARY** **KEY** **(**id**,** graduating_year**))** ENGINE = InnoDBPARTITION **BY** RANGE **(**graduating_year**)** **(** PARTITION p0 **VALUES** **LESS** **THAN** **(**2019**),** PARTITION p1 **VALUES** **LESS** **THAN** **MAXVALUE);**

    +
  2. +
  3. +

    Then create a second empty table matching the column specification, but without partitions. This will be your working table:

    +

    **CREATE** **TABLE** test**.**students_work **ASSELECT** * **FROM** test**.**students **WHERE** **NULL;**

    +
  4. +
  5. +

    For each partition you want to restore, discard the working table's tablespace:

    +

    **ALTER** **TABLE** test**.**students_work DISCARD TABLESPACE**;**

    +
  6. +
  7. +

    Then, copy the table files from the backup, using the new name:

    +

    $ sudo cp /data/backups/part_inc1/test/students.ibd /var/lib/mysql/test/students_work.ibd +$ sudo cp /data/backups/part_inc1/test/students.cfg /var/lib/mysql/test/students_work.cfg

    +
  8. +
  9. +

    Change the owner to that of the user running MariaDB Enterprise Server:

    +

    $ sudo chown mysql:mysql /var/lib/mysql/test/students_work.*

    +
  10. +
  11. +

    Import the copied tablespace:

    +

    **ALTER** **TABLE** test**.**students_work IMPORT TABLESPACE**;**

    +
  12. +
  13. +

    Lastly, exchange the partition, copying the tablespace from the working table into the partition file for the target table:

    +

    **ALTER** **TABLE** test**.**students EXCHANGE PARTITION p0 **WITH** **TABLE** test**.**students_work**;**

    +
  14. +
  15. +

    Repeat the above process for each partition until you have them all exchanged into the target table. Then delete the working table, as it's no longer necessary:

    +

    **DROP** **TABLE** test**.**students_work**;**

    +

    This restores a partitioned table.

    +
  16. +
+

Partial Restore of Tables with Full-Text Indexes

+

When restoring a table with a full-text search (FTS) index, InnoDB may throw a schema mismatch error.

+

In this case, to restore the table, it is recommended to:

+
    +
  • Remove the correspondingĀ .cfgĀ file.
  • +
  • Restore data to a table without any secondary indexes including FTS.
  • +
  • Add the necessary secondary indexes to the restored table.
  • +
+

For example, to restore tableĀ t1Ā with FTS index from databaseĀ db1:

+
    +
  1. +

    In the MariaDB shell, drop the table you are going to restore:

    +

    **DROP** **TABLE** **IF** **EXISTS** db1**.**t1**;**

    +
  2. +
  3. +

    Create an empty table for the data being restored:

    +

    **CREATE** **TABLE** db1**.**t1**(**f1 CHAR**(**10**))** ENGINE=INNODB**;**

    +
  4. +
  5. +

    Modify the table to discard the tablespace:

    +

    **ALTER** **TABLE** db1**.**t1 DISCARD TABLESPACE**;**

    +
  6. +
  7. +

    In the operating system shell, copy the table files from the backup to the data directory of the corresponding database:

    +

    $ sudo cp /data/backups/part/db1/t1.* /var/lib/mysql/db1

    +
  8. +
  9. +

    Remove theĀ .cfgĀ file from the data directory:

    +

    $ sudo rm /var/lib/mysql/db1/t1.cfg

    +
  10. +
  11. +

    Change the owner of the newly copied files to the system user running MariaDB Enterprise Server:

    +

    $ sudo chown mysql:mysql /var/lib/mysql/db1/t1.*

    +
  12. +
  13. +

    In the MariaDB shell, import the copied tablespace:

    +

    **ALTER** **TABLE** db1**.**t1 IMPORT TABLESPACE**;**

    +
  14. +
  15. +

    Verify that the data has been successfully restored:

    +

    **SELECT** * **FROM** db1**.**t1**;**

    +

    +--------+ +| f1 | ++--------+ +| ABC123 | ++--------+

    +
  16. +
  17. +

    Add the necessary secondary indexes:

    +

    **ALTER** **TABLE** db1**.**t1 **FORCE,** **ADD** FULLTEXT **INDEX** f_idx**(**f1**);**

    +
  18. +
  19. +

    The table is now fully restored:

    +

    **SHOW** **CREATE** **TABLE** db1**.**t1**\G**

    +
      +
    • +
      *************************** 1. row ***************************
      +       Table: t1
      +Create Table: CREATE TABLE `t1` (
      +  `f1` char(10) DEFAULT NULL,
      +  FULLTEXT KEY `f_idx` (`f1`)
      +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
      +
      +
    • +
    +
  20. +
+

Point-in-Time Recoveries

+

Recovering from a backup restores the data directory at a specific point-in-time, but it does not restore the binary log. In a point-in-time recovery, you begin by restoring the data directory from a full or incremental backup, then use theĀ mysqlbinlogĀ utility to recover the binary log data to a specific point in time.

+
    +
  1. +

    First, prepare the backup as you normally would for aĀ fullĀ orĀ incrementalĀ backup:

    +

    $ sudo mariabackup --prepare --target-dir=/data/backups/full

    +
  2. +
  3. +

    When MariaDB Enterprise Backup runs on a MariaDB Enterprise Server where binary logs is enabled, it stores binary log information in theĀ xtrabackup_binlog_infoĀ file. Consult this file to find the name of the binary log position to use. In the following example, the log position isĀ 321.

    +

    `$ sudo cat /data/backups/full/xtraback_binlog_info

    +

    mariadb-node4.00001 321`

    +
  4. +
  5. +

    Update the configuration file to use a new data directory.

    +

    **[mysqld]**datadir=/var/lib/mysql_new

    +
  6. +
  7. +

    Using MariaDB Enterprise Backup, restore from the backup to the new data directory:

    +

    $ sudo mariabackup --copy-back --target-dir=/data/backups/full

    +
  8. +
  9. +

    Then change the owner to the MariaDB Enterprise Server system user:

    +

    $ sudo chown -R mysql:mysql /var/lib/mysql_new

    +
  10. +
  11. +

    Start MariaDB Enterprise Server:

    +

    $ sudo systemctl start mariadb

    +
  12. +
  13. +

    Using the binary log file in the old data directory, the start position in theĀ xtrabackup_binlog_infoĀ file, the date and time you want to restore to, and theĀ mysqlbinlogĀ utility to create an SQL file with the binary log changes:

    +

    $ mysqlbinlog --start-position=321 \ --stop-datetime="2019-06-28 12:00:00" \ /var/lib/mysql/mariadb-node4.00001 \ > mariadb-binlog.sql

    +
  14. +
  15. +

    Lastly, run the binary log SQL to restore the databases:

    +

    $ mysql -u root -p < mariadb-binlog.sql

    +
  16. +
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/Point-in-Time Recovery (PITR) 6a440a109fbe414697b0f4c2c5fd81cb/index.html b/Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/Point-in-Time Recovery (PITR) 6a440a109fbe414697b0f4c2c5fd81cb/index.html new file mode 100644 index 00000000..6891b9e4 --- /dev/null +++ b/Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/Point-in-Time Recovery (PITR) 6a440a109fbe414697b0f4c2c5fd81cb/index.html @@ -0,0 +1,1972 @@ + + + + + + + + + + + + + + + + + + + + + + + Point-in-Time Recovery (PITR) - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Point-in-Time Recovery (PITR)

+

By default, available backups can be restored with full and complete backup restoration.

+

Available as a feature forĀ Power TierĀ customers, point-in-time recovery (PITR) can be configured.

+

When enabled, additional steps are taken to preserve binary logs, enabling point-in-time recovery to be used at a later date. Customers are responsible for additional storage costs.

+

For Replicated Transactions service, when enabled, point-in-time recovery is available only to points after the last failover.

+

Configure for Point-in-Time Recovery

+

Point-in-time recovery must be configured in advance of need to ensure the required data is available to support point-in-time recovery at a later date.

+

Contact SkySQL SupportĀ to for point-in-time recovery configuration. This feature is available for Power Tier customers.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/index.html b/Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/index.html new file mode 100644 index 00000000..50941a10 --- /dev/null +++ b/Backup and Restore 9f59fb0f1ea34dcab24ff1c078a1c7d7/index.html @@ -0,0 +1,2020 @@ + + + + + + + + + + + + + + + + + + + + + + + Backup and Restore - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Backup and Restore

+
+

Note

+

COMING SOON - the new Backup service and the API documentation

+
+

MariaDB SkySQL supports backup and restore:

+
    +
  • Automated backups are created nightly
  • +
  • Manual backups are available usingĀ mariadb-dump
  • +
  • Point-in-time recovery (PITR) is available for some services withĀ Power Tier
  • +
+

Automated Backups

+

MariaDB SkySQL includes automated nightly backups:

+
    +
  • Automated nightly backups include a full backup of every database in the service
  • +
  • Backups are stored in object storage
  • +
  • Customers canĀ contact SkySQL SupportĀ to request a list of backups or to request backup output or logs
  • +
  • MariaDB Corporation SRE teams monitor automated backups and will contact customers if issues are detected
  • +
+

Single Node Transactions and Replicated Transactions services are backed up usingĀ MariaDB Enterprise Backup.

+

MariaDB Enterprise Backup implements hot online backups by breaking up the backup process into multiple stages. During most stages, locking is minimal. The design allows writes and schema changes to occur during backups.

+ +

Manual Backups

+ +

Point-in-Time Recovery (PITR)

+

By default, full and complete backup restoration is available. To enable point-in-time recovery, services must be configured in advance for additional binary log retention.Ā Point-in-time recovery (PITR)Ā configuration is available toĀ Power TierĀ customers.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Billing and Power Tier 3168a8895e7342aead007c253d998c8d/Billing 25528e88c22a49609c1524c75aaf551c/index.html b/Billing and Power Tier 3168a8895e7342aead007c253d998c8d/Billing 25528e88c22a49609c1524c75aaf551c/index.html new file mode 100644 index 00000000..5c27551d --- /dev/null +++ b/Billing and Power Tier 3168a8895e7342aead007c253d998c8d/Billing 25528e88c22a49609c1524c75aaf551c/index.html @@ -0,0 +1,2065 @@ + + + + + + + + + + + + + + + + + + + + + + + Billing - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Billing

+

Billing is associated with aĀ MariaDB ID.

+

For pricing information see "Pricing" .

+

Usage Information

+

From theĀ Portal, you can access a current billing and usage summary:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click your name in the upper-right corner of the interface, then select "Billing" from the menu.
  4. +
  5. The "Current Usage" tab (the default) shows current billing and usage summary.
  6. +
+

Current charges, prior billing date, and next invoice date are shown.

+

Usage information can be shown by service or by resource.

+

Click the resource name or service name to expand the view.

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-billing-usage.png

+

Billing - Usage

+

https://skysql.mariadb.com/billings/usage

+

Billing History & Invoices

+

From theĀ Portal, you can access prior invoices:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click your name in the upper-right corner of the interface, then select "Billing" from the menu.
  4. +
  5. Click the "Billing History" tab to show available invoices.
  6. +
  7. Remittance customers should contact their billing administrator for billing questions.
  8. +
+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-billing-history.png

+

Billing - Billing History

+

https://skysql.mariadb.com/billings/history

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Billing and Power Tier 3168a8895e7342aead007c253d998c8d/index.html b/Billing and Power Tier 3168a8895e7342aead007c253d998c8d/index.html new file mode 100644 index 00000000..1977c57b --- /dev/null +++ b/Billing and Power Tier 3168a8895e7342aead007c253d998c8d/index.html @@ -0,0 +1,2003 @@ + + + + + + + + + + + + + + + + + + + + + + + Billing and Power Tier - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Billing and Power Tier

+
+

Note

+

COMING SOON ā€¦ a complete feature checklist of both the tiers ... +A full description of billing and invoicing (FAQ covers a bit)

+
+

Power Tier is a premium service offering who have the most critical requirements for uptime, availability, performance, and support.

+

Upgrade to Power Tier

+

By default, any new signed up users are in the ā€œFoundation Tierā€. To upgrade to Power Tier,Ā simply click the ā€˜Upgradeā€™ button - SkySQL support will contact you and start the upgrade process. You can also directly reach out to SkySQL Support.

+

Features

+

Features available to SkySQL Power Tier customers include:

+ + + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Configure your Database Server(s) 0ab9fd71eb5443fe9bfd40e7c0a5142d/index.html b/Configure your Database Server(s) 0ab9fd71eb5443fe9bfd40e7c0a5142d/index.html new file mode 100644 index 00000000..65b54e3a --- /dev/null +++ b/Configure your Database Server(s) 0ab9fd71eb5443fe9bfd40e7c0a5142d/index.html @@ -0,0 +1,2545 @@ + + + + + + + + + + + + + + + + + + + + + + + Configure your Database Server(s) - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Configure your Database Server(s)

+

Database server configuration, including system variables, is managed through the Configuration Manager.

+

https://mariadb.com/docs/_images/screenshots/configuration-manager.png

+

Configuration Manager

+

https://app.skysql.com/settings/configuration-manager

+

Access to Configuration Manager

+

To access the Configuration Manager interface:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click the "Settings" link in the main menu (left navigation in the Portal).
  4. +
  5. Click the "Configuration Manager" button.
  6. +
+

What is configurable?

+

Available configuration parameters differ by cloud database topology.

+

Enterprise Server Single Node

+

For cloud databases with the Enterprise Server Single Node topology, the following Configuration Manager parameters are used to configure MariaDB Enterprise Server behavior:

+

Parameter

+
+

auto_increment_increment

+
+

autocommit

+
+

connect_timeout

+
+

cracklib_password_check

+
+

default_password_lifetime

+
+

default_time_zone

+
+

disconnect_on_expired_password

+
+

div_precision_increment

+
+

eq_range_index_dive_limit

+
+

event_scheduler

+
+

expire_logs_days

+
+

explicit_defaults_for_timestamp

+
+

idle_readonly_transaction_timeout

+
+

idle_transaction_timeout

+
+

idle_write_transaction_timeout

+
+

innodb_autoextend_increment

+
+

innodb_change_buffering

+
+

innodb_flush_log_at_trx_commit

+
+

innodb_log_file_size

+
+

innodb_strict_mode

+
+

interactive_timeout

+
+

local_infile

+
+

log_output

+
+

log_slow_filter

+
+

log_slow_rate_limit

+
+

log_slow_verbosity

+
+

log_warnings

+
+

long_query_time

+
+

lower_case_table_names

+
+

max_allowed_packet

+
+

max_connections

+
+

max_password_errors

+
+

net_buffer_length

+
+

net_write_timeout

+
+

optimizer_search_depth

+
+

performance_schema

+
+

performance_schema_accounts_size

+
+

performance_schema_digests_size

+
+

performance_schema_events_stages_history_long_size

+
+

performance_schema_events_stages_history_size

+
+

performance_schema_events_statements_history_long_size

+
+

performance_schema_events_statements_history_size

+
+

performance_schema_events_waits_history_long_size

+
+

performance_schema_events_waits_history_size

+
+

performance_schema_hosts_size

+
+

performance_schema_max_cond_classes

+
+

performance_schema_max_cond_instances

+
+

performance_schema_max_digest_length

+
+

performance_schema_max_file_classes

+
+

performance_schema_max_file_handles

+
+

performance_schema_max_file_instances

+
+

performance_schema_max_mutex_classes

+
+

performance_schema_max_mutex_instances

+
+

performance_schema_max_rwlock_classes

+
+

performance_schema_max_rwlock_instances

+
+

performance_schema_max_socket_classes

+
+

performance_schema_max_socket_instances

+
+

performance_schema_max_stage_classes

+
+

performance_schema_max_table_handles

+
+

performance_schema_max_table_instances

+
+

performance_schema_max_thread_classes

+
+

performance_schema_max_thread_instances

+
+

performance_schema_session_connect_attrs_size

+
+

performance_schema_users_size

+
+

proxy_protocol_networks

+
+

read_only

+
+

server_audit

+
+

server_audit_file_rotate_size

+
+

server_audit_logging

+
+

session_track_system_variables

+
+

simple_password_check_digits

+
+

simple_password_check_letters_same_case

+
+

simple_password_check_minimal_length

+
+

simple_password_check_other_characters

+
+

slow_query_log

+
+

sort_buffer_size

+
+

sql_mode

+
+

strict_password_validation

+
+

system_versioning_alter_history

+
+

thread_cache_size

+
+

thread_handling

+
+

thread_pool_idle_timeout

+
+

thread_pool_max_threads

+
+

thread_pool_priority

+
+

transaction_isolation

+
+

wait_timeout

+
+

Enterprise Server With Replica(s)

+

For cloud databases with the Enterprise Server With Replica(s) topology, Configuration Manager can be used to configure MariaDB Enterprise Server behavior and MariaDB MaxScale behavior.

+

The following Configuration Manager parameters are used to configure MariaDB Enterprise Server behavior:

+

Parameter

+
+

auto_increment_increment

+
+

autocommit

+
+

binlog_commit_wait_count

+
+

binlog_commit_wait_usec

+
+

connect_timeout

+
+

cracklib_password_check

+
+

default_password_lifetime

+
+

default_time_zone

+
+

disconnect_on_expired_password

+
+

div_precision_increment

+
+

eq_range_index_dive_limit

+
+

event_scheduler

+
+

expire_logs_days

+
+

explicit_defaults_for_timestamp

+
+

gtid_strict_mode

+
+

idle_readonly_transaction_timeout

+
+

idle_transaction_timeout

+
+

idle_write_transaction_timeout

+
+

innodb_autoextend_increment

+
+

innodb_change_buffering

+
+

innodb_flush_log_at_trx_commit

+
+

innodb_log_file_size

+
+

innodb_strict_mode

+
+

interactive_timeout

+
+

local_infile

+
+

log_output

+
+

log_slow_filter

+
+

log_slow_rate_limit

+
+

log_slow_verbosity

+
+

log_warnings

+
+

long_query_time

+
+

lower_case_table_names

+
+

max_allowed_packet

+
+

max_connections

+
+

max_password_errors

+
+

net_buffer_length

+
+

net_write_timeout

+
+

optimizer_search_depth

+
+

performance_schema

+
+

performance_schema_accounts_size

+
+

performance_schema_digests_size

+
+

performance_schema_events_stages_history_long_size

+
+

performance_schema_events_stages_history_size

+
+

performance_schema_events_statements_history_long_size

+
+

performance_schema_events_statements_history_size

+
+

performance_schema_events_waits_history_long_size

+
+

performance_schema_events_waits_history_size

+
+

performance_schema_hosts_size

+
+

performance_schema_max_cond_classes

+
+

performance_schema_max_cond_instances

+
+

performance_schema_max_digest_length

+
+

performance_schema_max_file_classes

+
+

performance_schema_max_file_handles

+
+

performance_schema_max_file_instances

+
+

performance_schema_max_mutex_classes

+
+

performance_schema_max_mutex_instances

+
+

performance_schema_max_rwlock_classes

+
+

performance_schema_max_rwlock_instances

+
+

performance_schema_max_socket_classes

+
+

performance_schema_max_socket_instances

+
+

performance_schema_max_stage_classes

+
+

performance_schema_max_table_handles

+
+

performance_schema_max_table_instances

+
+

performance_schema_max_thread_classes

+
+

performance_schema_max_thread_instances

+
+

performance_schema_session_connect_attrs_size

+
+

performance_schema_users_size

+
+

proxy_protocol_networks

+
+

read_only

+
+

rpl_semi_sync_master_enabled

+
+

rpl_semi_sync_master_timeout

+
+

rpl_semi_sync_master_wait_no_slave

+
+

rpl_semi_sync_master_wait_point

+
+

rpl_semi_sync_slave_delay_master

+
+

rpl_semi_sync_slave_enabled

+
+

rpl_semi_sync_slave_kill_conn_timeout

+
+

server_audit

+
+

server_audit_file_rotate_size

+
+

server_audit_logging

+
+

session_track_system_variables

+
+

simple_password_check_digits

+
+

simple_password_check_letters_same_case

+
+

simple_password_check_minimal_length

+
+

simple_password_check_other_characters

+
+

slave_compressed_protocol

+
+

slave_parallel_mode

+
+

slave_parallel_threads

+
+

slave_parallel_workers

+
+

slow_query_log

+
+

sort_buffer_size

+
+

sql_mode

+
+

strict_password_validation

+
+

sync_binlog

+
+

sync_master_info

+
+

sync_relay_log

+
+

sync_relay_log_info

+
+

system_versioning_alter_history

+
+

thread_cache_size

+
+

thread_handling

+
+

thread_pool_idle_timeout

+
+

thread_pool_max_threads

+
+

thread_pool_priority

+
+

transaction_isolation

+
+

wait_timeout

+
+

Maxscale configuration

+

The following Configuration Manager parameters are used to configure MariaDB MaxScale behavior:

+

Parameter

+
+

causal_reads

+
+

causal_reads_timeout

+
+

delayed_retry

+
+

delayed_retry_timeout

+
+

failcount

+
+

master_accept_reads

+
+

master_reconnection

+
+

max_slave_connections

+
+

max_slave_replication_lag

+
+

monitor_interval

+
+

slave_selection_criteria

+
+

strict_multi_stmt

+
+

strict_sp_calls

+
+

transaction_replay

+
+

transaction_replay_attempts

+
+

transaction_replay_max_size

+
+

transaction_replay_retry_on_deadlock

+
+

use_sql_variables_in

+
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from Java App 17bf88ae787b44a0bccb8d5eaac5f8ef/index.html b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from Java App 17bf88ae787b44a0bccb8d5eaac5f8ef/index.html new file mode 100644 index 00000000..ac201869 --- /dev/null +++ b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from Java App 17bf88ae787b44a0bccb8d5eaac5f8ef/index.html @@ -0,0 +1,2121 @@ + + + + + + + + + + + + + + + + + + + + + + + Connect from Java App - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Connect from Java App

+

MariaDB Connector/J enables Java applications to connect to MariaDB database products using a native MariaDB connector.

+

Download the connector ..

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersionLatest ReleaseLatest Release DateMaturity
MariaDB Connector/J 3.1https://mariadb.com/docs/server/release-notes/mariadb-connector-j-3-1/3-1-4/2023-05-01General Availability
MariaDB Connector/J 3.0https://mariadb.com/docs/server/release-notes/mariadb-connector-j-3-0/3-0-10/2023-01-11General Availability
MariaDB Connector/J 2.7https://mariadb.com/docs/server/release-notes/mariadb-connector-j-2-7/2-7-9/2023-03-22General Availability
MariaDB Connector/J 1.8MariaDB Connector/J 1.8.02019-02-11GA
+

Install MariaDB Connector/J via JAR

+

To download the JAR file manually:

+
    +
  1. Go to theĀ MariaDB Connector/J download page
  2. +
  3. Within the "Product" dropdown, choose the "Java 8 connector" or "Java 7 connector".
  4. +
  5. In the "Version" dropdown, choose the desired version.
  6. +
  7. Click the "Download" button to download the JAR file.
  8. +
  9. When the JAR file finishes downloading, place it into the relevant directory on your system.
  10. +
  11. Similarly, install dependency JAR files, if any used.
  12. +
+

Install MariaDB Connector/J via Maven

+

Maven can install MariaDB Connector/J as a dependency of your application during build. Set theĀ <version>Ā element to correspond to the version of MariaDB Connector/J that you would like to install.

+

To use Maven to install MariaDB Connector/J, add the dependency to yourĀ pom.xmlĀ file:

+
<dependency>
+   <groupId>org.mariadb.jdbc</groupId>
+   <artifactId>mariadb-java-client</artifactId>
+   <version>3.0.10</version>
+</dependency>
+
+

For additional information on available releases, see the "Release Notes for MariaDB Connector/J".

+

Depending on the features you plan to use, you may need to add some additional dependencies toĀ pom.xml.

+

If you downloaded the connector JAR, place it on your CLASSPATH

+
export CLASSPATH="/path/to/application:/path/to/mariadb-java-client-3.0.10.jar"
+
+

Connector/J 3.0

+

In MariaDB Connector/J 3.0, TLS is enabled for connections to SkySQL using theĀ sslModeĀ parameter.

+
import java.sql.*;
+import java.util.Properties;
+
+public class App {
+    public static void main(String[] argv) {
+        Properties connConfig = new Properties();
+        connConfig.setProperty("user", "db_user");
+        connConfig.setProperty("password", "db_user_password");
+        **connConfig.setProperty("sslMode", "verify-full");**
+        connConfig.setProperty("serverSslCert", "/path/to/skysql_chain.pem");
+
+        try (Connection conn = DriverManager.getConnection("jdbc:mariadb://HOST:PORT", connConfig)) {
+            try (Statement stmt = conn.createStatement()) {
+                try (ResultSet contact_list = stmt.executeQuery("SELECT first_name, last_name, email FROM test.contacts")) {
+                    while (contact_list.next()) {
+                        System.out.println(String.format("%s %s <%s>",
+                            contact_list.getString("first_name"),
+                            contact_list.getString("last_name"),
+                            contact_list.getString("email")));
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
+
+

Connector/J 2.7

+

In MariaDB Connector/J 2.7 and before, TLS is enabled for connections to SkySQL using theĀ useSslĀ parameter.

+
import java.sql.*;
+import java.util.Properties;
+
+public class App {
+    public static void main(String[] argv) {
+        Properties connConfig = new Properties();
+        connConfig.setProperty("user", "db_user");
+        connConfig.setProperty("password", "db_user_password");
+        **connConfig.setProperty("useSsl", "true");**
+        connConfig.setProperty("serverSslCert", "/path/to/skysql_chain.pem");
+
+        try (Connection conn = DriverManager.getConnection("jdbc:mariadb://HOST:PORT", connConfig)) {
+            try (Statement stmt = conn.createStatement()) {
+                try (ResultSet contact_list = stmt.executeQuery("SELECT first_name, last_name, email FROM test.contacts")) {
+                    while (contact_list.next()) {
+                        System.out.println(String.format("%s %s <%s>",
+                            contact_list.getString("first_name"),
+                            contact_list.getString("last_name"),
+                            contact_list.getString("email")));
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConnectorMariaDB Connector/J
Supported Versionshttps://mariadb.com/docs/server/release-notes/mariadb-connector-j-3-1/https://mariadb.com/docs/server/release-notes/mariadb-connector-j-3-0/https://mariadb.com/docs/server/release-notes/mariadb-connector-j-2-7/MariaDB Connector/J 1.8
Programming LanguageJava
Programming Language VersionJava 17, Java 11, Java 8 (Connector/J 3.1)Java 17, Java 11, Java 8 (Connector/J 3.0)Java 17, Java 11, Java 8 (Connector/J 2.7)Java 7 (Connector/J 1.8)
APIJDBC 4.2 (Connector/J 3.1)JDBC 4.2 (Connector/J 3.0)JDBC 4.2 (Connector/J 2.7)JDBC 4.1 (Connector/J 1.8)
Supports TLSYes
LicenseGNU Lesser General Public License v2.1
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from MongoDB clients 0870eb5a71ff485b88bd113e90ff571f/index.html b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from MongoDB clients 0870eb5a71ff485b88bd113e90ff571f/index.html new file mode 100644 index 00000000..c8487e0d --- /dev/null +++ b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from MongoDB clients 0870eb5a71ff485b88bd113e90ff571f/index.html @@ -0,0 +1,1985 @@ + + + + + + + + + + + + + + + + + + + + + + + Connect from MongoDB clients - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Connect from MongoDB clients

+

The NoSQL protocol module allows a MariaDB server or cluster to execute transactions for applications using MongoDB client libraries, transparently converting MongoDB API calls into the equivalent SQL. The MariaDB responses are then converted into the format expected by the MongoDBĀ® client library and application.

+

For detailed information on supported commands, see "NoSQL Protocol Module" in MariaDB MaxScale documentation.

+ + +

Enable Support for NoSQL

+
    +
  1. WhenĀ launchingĀ Enterprise Server With Replica(s), after defining the service name, expand the "Additional options" section.
  2. +
  3. Check the "Enable support for NoSQL" checkbox.
  4. +
+

Available Clients

+

Connect to the NoSQL interface using a MongoDB client library or compatible application.Ā Documentation on official MongoDB librariesĀ is available from MongoDB.

+

Documentation on installingĀ mongoshĀ (the MongoDB Shell)Ā is available from MongoDB.

+

Connection Parameters

+

From the Dashboard, the details needed to connect to your SkySQL service can be seen by clicking on the "CONNECT" button for the desired service.

+

The "NoSQL port" is the TCP port used to connect to the NoSQL interface.

+

TheĀ firewallĀ must be configured to allowlist the client's IP address or netblock before connections can occur.

+

See the "Connecting using Mongosh" section of the Connect page for an exampleĀ mongoshĀ command-line, authentication instructions, and instructions to change the default password.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from Node js App b63d489b6fbd426ab40d7f7f3be9025a/index.html b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from Node js App b63d489b6fbd426ab40d7f7f3be9025a/index.html new file mode 100644 index 00000000..e2fbd23c --- /dev/null +++ b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from Node js App b63d489b6fbd426ab40d7f7f3be9025a/index.html @@ -0,0 +1,2247 @@ + + + + + + + + + + + + + + + + + + + + + + + Connect from Node.js App - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Connect from Node.js App

+

Node.js developers can connect to MariaDB database products through a native MariaDB Connector. Using MariaDB Connector/Node.js you can connect to MariaDB database products to use and administer databases from within your Node.js application.

+

Install MariaDB Connector/Node.js

+

MariaDB Connector/Node.js is usually installed either from the Node.js repository or manually from the source code package.

+

Install MariaDB Connector/Node.js via Repository

+

To install MariaDB Connector/Node.js from the Node.js repository, use NPM:

+

$ npm install mariadb

+

NPM connects to the Node.js repository and downloads MariaDB Connector/Node.js and all relevant dependencies into theĀ node_modules/Ā directory.

+

Install MariaDB Connector/Node.js via Source Code

+

To download and install the MariaDB Connector/Node.js manually from source code:

+
    +
  1. Go to the MariaDB Connectors download page: +
  2. +
  3. In the "Product" dropdown, select the Node.js connector.
  4. +
  5. Click the "Download" button to download the source code package
  6. +
  7. +

    When the source code package finishes downloading, install it with NPM:

    +

    $ npm install mariadb-connector-nodejs-*.tar.gz

    +
  8. +
+

NPM untars the download and installs MariaDB Connector/Node.js in theĀ node_modules/Ā directory.

+
+

Connect with MariaDB Connector/Node.js (Callback API)

+

Node.js developers can use MariaDB Connector/Node.js to establish client connections with MariaDB database products.

+

Require Callback API

+

MariaDB Connector/Node.js provides two different connection implementations: one built on theĀ Promise APIĀ and the other built on the Callback API.

+

To use the Callback API, use the following module:

+

**const** mariadb = require**(**'mariadb/callback'**);**

+

Connect

+

createConnection(options)Ā ->Ā ConnectionĀ is the base function used to create aĀ ConnectionĀ object.

+

TheĀ createConnection(options)Ā function returns aĀ ConnectionĀ object.

+

Determine theĀ connection informationĀ for your MariaDB SkySQL database service:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OptionDescription
hostThe fully Qualified Domain Name in theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/
portThe Read-Write Port or Read-Only Port in theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/
userThe desired username, which might be the default username in the Service Credentials view
passwordThe user's password, which might be the default password in the Service Credentials view if it was not yet customized
databaseDatabase name to establish a connection to. No default is configured.
connectTimeoutConnection timeout in milliseconds. In Connector/Node.js 2.5.6, the default value changed to 1000. The default value for earlier versions is 10000.
rowsAsArrayA boolean value to indicate whether to return result sets as array instead of the default JSON. Arrays are comparatively faster.
+

Code Example: Connect

+

The following code example connects using the database and user account created in theĀ example setup:

+
const mariadb = require('mariadb/callback');
+
+// Certificate Authority (CA)",
+var serverCert = [fs.readFileSync(process.env.SKYSQL_CA_PEM, "utf8")];
+
+// Declare async function
+function main() {
+   let conn;
+
+   try {
+      conn = mariadb.createConnection({
+         host: "example.skysql.net",
+         port: 5009,
+         ssl: { ca: serverCert },
+         user: "db_user",
+         password: "db_user_password",
+         database: "test",
+      });
+
+      // Use Connection
+      // ...
+   } catch (err) {
+      // Manage Errors
+      console.log("SQL error in establishing a connection: ", err);
+   } finally {
+      // Close Connection
+      if (conn) conn.end(err => {if(err){
+         console.log("SQL error in closing a connection: ", err);}
+      });
+   }
+}
+
+main();
+
+
    +
  • AĀ try...catch...finallyĀ statement is used for exception handling.
  • +
  • New connections are created in auto-commit mode by default.
  • +
  • When you are done with a connection, close it to free resources. Close the connection using theĀ connection.end([callback])Ā function.
  • +
  • The script calls theĀ connection.end([callback])Ā function to close/end the connection in theĀ finallyĀ block after the queries that are running have completed.
  • +
  • TheĀ end()Ā function takes a callback function that defines one implicit argument for theĀ ErrorĀ object if thrown in closing the connection as argument. If no error is generated in closing a connection theĀ ErrorĀ object isĀ null.
  • +
+
+

Connect with MariaDB Connector/Node.js (Promise API)

+

Node.js developers can use MariaDB Connector/Node.js to establish client connections with MariaDB database products.

+

Require Promise API

+

MariaDB Connector/Node.js provides two different connection implementations: one built on the Promise API and the other built on theĀ Callback API. Promise is the default.

+

To use the Promise API, use theĀ mariadbĀ module:

+

**const** mariadb = require**(**'mariadb'**);**

+

Connect

+

createConnection(options)Ā ->Ā PromiseĀ is the base function used to create aĀ ConnectionĀ object.

+

TheĀ createConnection(options)Ā returns aĀ PromiseĀ that resolves to aĀ ConnectionĀ object if no error occurs, and rejects with anĀ ErrorĀ object if an error occurs.

+

Determine theĀ connection informationĀ for your MariaDB SkySQL database service:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OptionDescription
hostThe fully Qualified Domain Name in theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/
portThe Read-Write Port or Read-Only Port in theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/
userThe desired username, which might be the default username in the Service Credentials view
passwordThe user's password, which might be the default password in the Service Credentials view if it was not yet customized
ssl.caThe contents of theĀ skysql_chain.pemĀ file containing theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/#Certificate_Authority_Chain
ā€¢ https://supplychain.mariadb.com/skysql_chain.pem
ā€¢ https://supplychain.mariadb.com/aws_skysql_chain.pem
databaseDatabase name to establish a connection to. No default is configured.
connectTimeoutConnection timeout in milliseconds. In Connector/Node.js 2.5.6, the default value changed to 1000. The default value for earlier versions is 10000.
rowsAsArrayA boolean value to indicate whether to return result sets as array instead of the default JSON. Arrays are comparatively faster.
+

Create a file namedĀ .envĀ to store your database credentials:

+
MDB_HOST = 192.0.2.50
+MDB_PORT = 3306
+MDB_USER = db_user
+MDB_PASS = db_user_password
+MDB_HOST = example.skysql.net
+MDB_PORT = 5001
+MDB_CA_PEM = /path/to/skysql_chain.pem
+MDB_USER = db_user
+MDB_PASS = db_user_password
+
+

Code Example: Connect

+

The following code example connectsĀ using the database and user account created inĀ Setup for Examples:

+
// Required Modules
+const fs = require("fs");
+const mariadb = require("mariadb");
+require("dotenv").config()
+
+// Certificate Authority (CA)
+const serverCert = [fs.readFileSync(process.env.MDB_CA_PEM, "utf8")];
+
+// Declare async function
+async function main() {
+   let conn;
+
+   try {
+      conn = await mariadb.createConnection({
+         host: process.env.MDB_HOST,
+         port: process.env.MDB_PORT,
+         user: process.env.MDB_USER,
+         password: process.env.MDB_PASS,
+         ssl: { ca: serverCert },
+         database: "test",
+      });
+
+      // Use Connection
+      // ...
+   } catch (err) {
+      // Manage Errors
+      console.log("SQL error in establishing a connection: ", err);
+   } finally {
+      // Close Connection
+      if (conn) conn.close();
+   }
+}
+
+main();
+
+
    +
  • Load theĀ mariadbĀ module using theĀ require()Ā function.
  • +
  • Declare an async function calledĀ main()Ā using theĀ asyncĀ keyword.
  • +
  • An async function provides asynchronous, Promise-based code behavior.
  • +
  • Async functions may declareĀ awaitĀ expressions using theĀ awaitĀ keyword.
  • +
  • Await expressions yield control to a promise-based asynchronous operation.
  • +
  • Await expressions resume control after the awaited operation is either fulfilled or rejected.
  • +
  • The return value of anĀ awaitĀ expression is the resolved value of theĀ Promise.
  • +
  • The async function nameĀ mainĀ is arbitrary and does not have special meaning as in some other programming languages.
  • +
  • Declare a variable calledĀ connĀ for the connection to be created using aĀ letĀ statement with the async functionĀ main.
  • +
  • AĀ try...catch...finallyĀ statement is used for exception handling.
  • +
  • New connections are by default created in auto-commit mode.
  • +
  • In theĀ tryĀ block, create a new connection using theĀ mariadb#createConnection(options)Ā function in the Promise API.
  • +
  • Send error messages if any to the console in theĀ catchĀ block.
  • +
  • When you are done with a connection, close it to free resources. Close the connection using theĀ close()Ā function.
  • +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConnectorMariaDB Connector/Node.js
Supported Versionshttps://mariadb.com/docs/server/release-notes/mariadb-connector-nodejs-2-5/https://mariadb.com/docs/server/release-notes/mariadb-connector-nodejs-3-2/
Programming LanguageJavaScript
Programming Language Versionā€¢ Connector/Node.js 2.5: Node.js 16
ā€¢ Connector/Node.js 3.2: Node.js 16, 18, 20
APIPromise APICallback API
Supports TLSYes
Supports Connection PoolsYes
LicenseGNU Lesser General Public License v2.1
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git "a/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from \342\200\230C++\342\200\231 App 697a64cebee24fcf996e21450f1c32f0/index.html" "b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from \342\200\230C++\342\200\231 App 697a64cebee24fcf996e21450f1c32f0/index.html" new file mode 100644 index 00000000..d3e692ec --- /dev/null +++ "b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from \342\200\230C++\342\200\231 App 697a64cebee24fcf996e21450f1c32f0/index.html" @@ -0,0 +1,2386 @@ + + + + + + + + + + + + + + + + + + + + + + + Connect from ā€˜C++ā€™ App - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Connect from ā€˜C++ā€™ App

+

MariaDB Connector/C++ enables C++ applications to establish client connections to MariaDB database over TLS.

+

Requirement

+

MariaDB Connector/C++ has dependencies. You must install MariaDB Connector/C to use it.

+ + + + + + + + + + + + + + + + + +
MariaDB Connector/C++MariaDB Connector/C
1.13.2.3 or later
1.03.1.1 or later
+

For additional information, see "MariaDB Connector/C++ Release Notes".

+

Linux Installation (Binary Tarball)

+

To install MariaDB Connector/C++ on Linux:

+
    +
  1. Install MariaDB Connector/C.
  2. +
  3. Go to theĀ MariaDB Connector C++ download page.
  4. +
  5. In the "OS" dropdown, select the Linux distribution you want to use.
  6. +
  7. Click the "Download" button to download the binary tarball.
  8. +
  9. +

    Extract the tarball:

    +

    $ tar -xvzf mariadb-connector-cpp-*.tar.gz

    +
  10. +
  11. +

    Change into the relevant directory:

    +

    $ cd mariadb-connector-cpp-*/

    +
  12. +
  13. +

    Install the directories for the header files:

    +

    $ sudo install -d /usr/include/mariadb/conncpp +$ sudo install -d /usr/include/mariadb/conncpp/compat

    +
  14. +
  15. +

    Install the header files:

    +

    $ sudo install include/mariadb/* /usr/include/mariadb/ +$ sudo install include/mariadb/conncpp/* /usr/include/mariadb/conncpp +$ sudo install include/mariadb/conncpp/compat/* /usr/include/mariadb/conncpp/compat

    +
  16. +
  17. +

    Install the directories for the shared libraries:

    +
      +
    • +

      On CentOS, RHEL, Rocky Linux:

      +

      $ sudo install -d /usr/lib64/mariadb +$ sudo install -d /usr/lib64/mariadb/plugin

      +
    • +
    • +

      On Debian, Ubuntu:

      +

      $ sudo install -d /usr/lib/mariadb +$ sudo install -d /usr/lib/mariadb/plugin

      +
    • +
    +
  18. +
  19. +

    Install the shared libraries:

    +
      +
    • +

      On CentOS, RHEL, Rocky Linux:

      +

      $ sudo install lib64/mariadb/libmariadbcpp.so /usr/lib64 +$ sudo install lib64/mariadb/plugin/* /usr/lib64/mariadb/plugin

      +
    • +
    • +

      On Debian, Ubuntu:

      +

      $ sudo install lib/mariadb/libmariadbcpp.so /usr/lib +$ sudo install lib/mariadb/plugin/* /usr/lib/mariadb/plugin

      +
    • +
    +
  20. +
+

Windows Installation (MSI)

+

To install MariaDB Connector/C++ on Windows:

+
    +
  1. MariaDB Connector/C dependency will be installed when Connector/C++ is installed.
  2. +
  3. Go to theĀ MariaDB Connector C++ download page for MS Windows.
  4. +
  5. Click the "Download" button to download the MSI package.
  6. +
  7. Run the MSI package and click "Next" to start the Setup Wizard.
  8. +
  9. On the second screen, click the license agreement checkbox, then click "Next."
  10. +
  11. On the third screen, click "Typical."
  12. +
  13. On the fourth screen, click "Install."
  14. +
  15. Click "Finish."
  16. +
  17. Add the directory path that contains theĀ mariadbcppĀ LIBĀ file (exampleĀ "C:\ProgramĀ Files\MariaDB\MariaDBĀ C++Ā ConnectorĀ 64-bit") toĀ PATHĀ environment variable.
  18. +
+

Latest Software Releases

+ + + + + + + + + + + + + + + + + + + + + + + +
VersionLatest ReleaseLatest Release DateMaturity
MariaDB Connector/C++ 1.1https://mariadb.com/docs/server/release-notes/mariadb-connector-cpp-1-1/1-1-2/2022-11-30Release Candidate
MariaDB Connector/C++ 1.0https://mariadb.com/docs/server/release-notes/mariadb-connector-cpp-1-0/1-0-2/2022-10-11General Availability
+

Connection Info

+

The connection is configured via the information that is initially acquired from the SkySQL Portal pages:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
What to setWhere to find it
Hostname in the URLThe fully Qualified Domain Name in theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/
Port number in the URLThe Read-Write Port or Read-Only Port in theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/
userĀ parameterThe desired username, which might be the default username in the Service Credentials view
passwordĀ parameterThe user's password, which might be the default password in the Service Credentials view if it was not yet customized
tlsCertĀ parameterThe path to theĀ skysql_chain.pemĀ file containing theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/#Certificate_Authority_Chain
ā€¢ https://supplychain.mariadb.com/skysql_chain.pem
ā€¢ https://supplychain.mariadb.com/aws_skysql_chain.pem
+

Connection URL Syntax

+

While MariaDB Connector/C++ supports several connection styles, we are going to detail just the JDBC syntax since all connections to SkySQL use a single idiom of hostname, port, user, password, and SSL parameters.

+

The base URL is specified as follows:

+

jdbc:mariadb://example.skysql.net:5001/dbname

+

If the trailing database name is left off of the URL, the connection will start without selecting a database.

+

Optional Connection Parameters

+

MariaDB Connector/C++ supports several optional connection parameters. These parameters can be specified using aĀ PropertiesĀ object, as we do in our examples, or appended to the URL in standardĀ name=valueĀ query-string encoding.

+

In the following list, we've left out any parameters that aren't pertinent to accessing SkySQL:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Parameter NameDescriptionTypeDefaultAliases
autoReconnectDefines whether the connector automatically reconnects after a connection failure.boolfalseā€¢ OPT_RECONNECT
connectTimeoutDefines the connect timeout value in milliseconds. When set toĀ 0, there is no connect timeout.int30000
enabledTlsCipherSuitesA list of permitted ciphers or cipher suites to use for TLS.stringā€¢ enabledSslCipherSuites
ā€¢ enabledSSLCipherSuites
jdbcCompliantTruncationThis mode is enabled by default. This mode configures the connector to addĀ STRICT_TRANS_TABLESĀ toĀ https://mariadb.com/docs/server/ref/mdb/system-variables/sql_mode/https://mariadb.com/docs/server/ref/mdb/system-variables/sql_mode/, which causes ES to handle truncation issues as errors instead of warnings.booltrue
passwordDefines the password of the user account to connect with.
socketTimeoutDefines the network socket timeout (SO_TIMEOUT) in milliseconds. When set toĀ 0, there is no socket timeout. This connection parameter is not intended to set a maximum time for statements. To set a maximum time for statements, please see theĀ https://mariadb.com/docs/server/ref/mdb/system-variables/max_statement_time/https://mariadb.com/docs/server/ref/mdb/system-variables/max_statement_time/https://mariadb.com/docs/server/ref/mdb/system-variables/max_statement_time/Ā system variable.int0ā€¢ OPT_READ_TIMEOUT
tcpRcvBufThe buffer size for TCP/IP and socket communication.Ā tcpSndBufĀ changes the same buffer value, and the biggest value of the two is selected.int0x4000ā€¢ tcpSndBuf
tcpSndBufThe buffer size for TCP/IP and socket communication.Ā tcpRcvBufĀ changes the same buffer value, and the biggest value of the two is selected.int0x4000ā€¢ tcpRcvBuf
tlsCertPath to the X509 certificate file.stringā€¢ sslCert
tlsCRLPath to a PEM file that should contain one or more revoked X509 certificates.stringā€¢ tlsCrl
ā€¢ sslCRL
useCompressionCompresses network traffic between the client and server.boolfalseā€¢ CLIENT_COMPRESS
userDefines the user name of the user account to connect with.ā€¢ userName
useServerPrepStmtsDefines whether the connector uses server-side prepared statements using theĀ https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/PREPARE/,Ā https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/EXECUTE/, andĀ https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/DROP_PREPARE/Ā statements. By default, the connector uses client-side prepared statements.boolfalse
useTlsWhether to force TLS. This enables TLS with the default system settings.boolā€¢ useSsl
ā€¢ useSSL
+

Connection Methods

+

Two categories of methods are available to to establish a connection.

+

sql::Driver::connect()

+

MariaDB Connector/C++ can connect using the non-staticĀ connect()Ā methods in theĀ sql::DriverĀ class.

+

The non-staticĀ connect()Ā methods in theĀ sql::DriverĀ class have the following prototypes:

+
    +
  • Connection*Ā connect(constĀ SQLString&Ā url,Ā Properties&Ā props);
  • +
  • Connection*Ā connect(constĀ SQLString&Ā host,Ā constĀ SQLString&Ā user,Ā constĀ SQLString&Ā pwd);
  • +
  • Connection*Ā connect(constĀ Properties&Ā props);
  • +
+

The non-staticĀ connect()Ā methods in theĀ sql::DriverĀ class:

+
    +
  • Require an instance of theĀ sql::DriverĀ class to establish a connection.
  • +
  • ReturnĀ nullptrĀ as theĀ Connection*Ā value when an error occurs, so applications should check the return value before use.
  • +
+

For example:

+
// Instantiate Driver
+sql::Driver* driver = sql::mariadb::get_driver_instance();
+
+// Configure Connection, including an optional initial database name "places":
+sql::SQLString url("jdbc:mariadb://example.skysql.net:5009/places");
+
+// Use a properties map for the other connection options
+sql::Properties properties({
+      {"user", "db_user"},
+      {"password", "db_user_password"},
+      {"autocommit", false},
+      {"useTls", true},
+      {"tlsCert", "classpath:static/skysql_chain.pem"},
+   });
+
+// Establish Connection
+// Use a smart pointer for extra safety
+std::unique_ptr<sql::Connection> conn(driver->connect(url, properties));
+
+if (!conn) {
+   cerr << "Invalid database connection" << endl;
+   exit (EXIT_FAILURE);
+}
+
+

sql::DriverManager::getConnection()

+

MariaDB Connector/C++ can connect using the staticĀ getConnection()Ā methods in theĀ sql::DriverManagerĀ class.

+

The staticĀ getConnection()Ā methods in theĀ sql::DriverManagerĀ class have the following prototypes:

+
    +
  • staticĀ Connection*Ā getConnection(constĀ SQLString&Ā url);
  • +
  • staticĀ Connection*Ā getConnection(constĀ SQLString&Ā url,Ā Properties&Ā props);
  • +
  • staticĀ Connection*Ā getConnection(constĀ SQLString&Ā url,Ā constĀ SQLString&Ā user,Ā constĀ SQLString&Ā pwd);
  • +
+

The staticĀ getConnection()Ā methods in theĀ sql::DriverManagerĀ class:

+
    +
  • Do not require an instance of theĀ sql::DriverManagerĀ class to establish a connection, because they are static.
  • +
  • Throw an exception when an error occurs, so applications should useĀ tryĀ {Ā ..Ā }Ā catchĀ (Ā ..Ā )Ā {Ā ..Ā }Ā to catch the exception.
  • +
+

For example:

+
try {
+    // Configure Connection, including an optional initial database name "places":
+    sql::SQLString url("jdbc:mariadb://example.skysql.net:5009/places");
+
+    // Use a properties map for the other connection options
+    sql::Properties properties({
+          {"user", "db_user"},
+          {"password", "db_user_password"},
+          {"autocommit", false},
+          {"useTls", true},
+          {"tlsCert", "classpath:static/skysql_chain.pem"},
+       });
+
+    // Establish Connection
+    // Use a smart pointer for extra safety
+    std::unique_ptr<sql::Connection> conn(DriverManager::getConnection(url, properties));
+ } catch (...) {
+    cerr << "Invalid database connection" << endl;
+    exit (EXIT_FAILURE);
+}
+
+

Code Example: Connect

+

The following code demonstrates how to connect using theĀ example database and user account:

+
// Includes
+#include <iostream>
+#include <mariadb/conncpp.hpp>
+
+// Main Process
+int main(int argc, char **argv)
+{
+   try {
+      // Instantiate Driver
+      sql::Driver* driver = sql::mariadb::get_driver_instance();
+
+      // Configure Connection, including initial database name "test":
+      sql::SQLString url("jdbc:mariadb://example.skysql.net:5009/test");
+
+      // Use a properties map for the other connection options
+      sql::Properties properties({
+            {"user", "db_user"},
+            {"password", "db_user_password"},
+            {"autocommit", false},
+            {"useTls", true},
+            {"tlsCert", "classpath:static/skysql_chain.pem"},
+         });
+
+      // Establish Connection
+      // Use a smart pointer for extra safety
+      std::unique_ptr<sql::Connection> conn(driver->connect(url, properties));
+
+      // Use Connection
+      // ...
+
+      // Close Connection
+      conn->close();
+   }
+
+   // Catch Exceptions
+   catch (sql::SQLException& e) {
+      std::cerr << "Error Connecting to the database: "
+         << e.what() << std::endl;
+
+      // Exit (Failed)
+      return 1;
+   }
+
+   // Exit (Success)
+   return 0;
+}
+
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git "a/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from \342\200\230C\342\200\231 App b31c2f5880a74e198c61a60e74076cec/index.html" "b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from \342\200\230C\342\200\231 App b31c2f5880a74e198c61a60e74076cec/index.html" new file mode 100644 index 00000000..c575e9fe --- /dev/null +++ "b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect from \342\200\230C\342\200\231 App b31c2f5880a74e198c61a60e74076cec/index.html" @@ -0,0 +1,2072 @@ + + + + + + + + + + + + + + + + + + + + + + + Connect from ā€˜Cā€™ App - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Connect from ā€˜Cā€™ App

+

MariaDB Connector/C enables C and C++ applications to establish client connections to MariaDB database products over TLS. MariaDB Connector/C is a native connector that is written in C.

+

Compatibility

+

MariaDB Connector/C is compatible with:

+
    +
  • MariaDB SkySQL DBaaS
  • +
  • MariaDB database products (including MariaDB Enterprise Server and MariaDB MaxScale)
  • +
+

First Install MariaDB Connector/C

+

MariaDB Connector/C enables C and C++ applications to establish client connections to MariaDB database products over TLS.

+

Additional information on MariaDB Connector/C is available in theĀ MariaDB Knowledge Base.

+

Connection Info

+

The connection is configured via the information that is initially acquired from the SkySQL Portal pages:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionOption/ArgumentWhere to find it
mysql_optionsv()MYSQL_OPT_SSL_CAĀ optionThe path to theĀ skysql_chain.pemĀ file containing theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/#Certificate_Authority_Chain
ā€¢ https://supplychain.mariadb.com/skysql_chain.pem
ā€¢ https://supplychain.mariadb.com/aws_skysql_chain.pem
mysql_real_connect()hostĀ argumentThe fully Qualified Domain Name in theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/
mysql_real_connect()userĀ argumentThe desired username, which might be the default username in the Service Credentials view
mysql_real_connect()passwdĀ argumentThe user's password, which might be the default password in the Service Credentials view if it was not yet customized
mysql_real_connect()portĀ argumentThe Read-Write Port or Read-Only Port in theĀ https://mariadb.com/docs/skysql-previous-release/connect/connection-parameters-portal/
+

Code Example

+

The following code demonstrates how to use MariaDB Connector/C to connect to MariaDB database products. This example uses theĀ example database and user account:

+
#include <stdio.h>
+#include <stdlib.h>
+#include <mysql.h>
+
+int main (int argc, char* argv[])
+{
+
+   // Initialize Connection
+   MYSQL *conn;
+   if (!(conn = mysql_init(0)))
+   {
+      fprintf(stderr, "unable to initialize connection struct\n");
+      exit(1);
+   }
+
+   char* cafile = "/path/to/skysql_chain.pem";
+
+   // Configure the TLS Certificate Authority. This may vary by hosting provider!
+   mysql_optionsv(conn, MYSQL_OPT_SSL_CA, cafile);
+
+   // Connect to the database
+   if (!mysql_real_connect(
+         conn,                 // Connection
+         "example.skysql.net", // Host
+         "db_user",            // User account
+         "db_user_password",   // User password
+         "test",               // Default database
+         3006,                 // Port number
+         NULL,                 // Path to socket file
+         0                     // Additional options
+      ))
+   {
+      // Report the failed-connection error & close the handle
+      fprintf(stderr, "Error connecting to Server: %s\n", mysql_error(conn));
+      mysql_close(conn);
+      exit(1);
+   }
+
+   // Use the Connection
+   // ...
+
+   // Close the Connection
+   mysql_close(conn);
+
+   return 0;
+}
+
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect using Connector R2DBC 6f657edcac0849cb8ab4be6649ca71bd/index.html b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect using Connector R2DBC 6f657edcac0849cb8ab4be6649ca71bd/index.html new file mode 100644 index 00000000..fd71a76d --- /dev/null +++ b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/Connect using Connector R2DBC 6f657edcac0849cb8ab4be6649ca71bd/index.html @@ -0,0 +1,2032 @@ + + + + + + + + + + + + + + + + + + + + + + + Connect using Connector/R2DBC - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Connect using Connector/R2DBC

+

Java developers can use MariaDB Connector/R2DBC to connect to MariaDB database products using the Reactive Relational Database Connectivity (R2DBC) API. R2DBC operations are non-blocking, which makes the R2DBC API more scalable than Java's standard JDBC API. MariaDB Connector/R2DBC is available both with a native R2DBC implementation and the Spring Data R2DBC framework.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConnectorMariaDB Connector/R2DBCMariaDB Connector/R2DBC
Supported Versions1.01.1
Programming LanguageJavaJava
Programming Language VersionJava 8+Java 8+
APIhttps://r2dbc.io/spec/0.8.5.RELEASE/spec/html/https://r2dbc.io/spec/1.0.0.RELEASE/spec/html
Supports TLSYesYes
Supports Connection PoolsYesYes
LicenseApache 2.0Apache 2.0
+

Resources

+ +

Framework-Specific Documentation

+

For details on how to use MariaDB Connector/R2DBC, choose a supported framework:

+ + + + + + + + + + + + + +
https://mariadb.com/docs/skysql-previous-release/connect/programming-languages/java-r2dbc/native/The native implementation of R2DBC can be used to connect using MariaDB Connector/R2DBC from within your Java application.
https://mariadb.com/docs/skysql-previous-release/connect/programming-languages/java-r2dbc/spring/Spring Data implementation of R2DBC allows you to connect using MariaDB Connector/R2DBC using the Spring Framework.
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/index.html b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/index.html new file mode 100644 index 00000000..ae168243 --- /dev/null +++ b/Connecting to Sky DBs ae0bd7d47675416e9cd0bf2ba21d066c/index.html @@ -0,0 +1,2093 @@ + + + + + + + + + + + + + + + + + + + + + + + Connecting to Sky DBs - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Connecting to Sky DBs

+

This page describes how to connect to a SkySQL database using a MariaDB-compatible client.

+
+

Note

+

The easiest way to get a SQL connection to any MariaDB database launched within your SkySQL account is through the built-in Query EditorĀ - run queries directly in the browser to interact with data stored in SkySQL databases.

+
+
+

Note

+

šŸ’” For Enterprise Server With Replica(s), you can also use any MongoDB client and use theĀ NoSQL InterfaceĀ .

+
+

Connection Parameters

+

Once your DB service is launched, click on the ā€˜Connectā€™ option for your service on the dashboard. This pops up all the required attributes to connect from any SQL client.

+

Important - Whitelist your IP address first

+
+

Note

+

šŸ’” Access to all services are protected by a firewall, by default. You need to IP whitelist your clientā€™s (your desktop, laptop or server) IP. Just select ā€˜Manage ā€”> Security Accessā€™ and then click ā€˜Add my current IPā€™ to add the IP of your current workstation (laptop, desktop).

+
+
+

Note

+

šŸ’” If you are not sure or unable to obtain the IP address, you can use 0.0.0.0/0 to effectively disable the firewall. Goes without saying ā€” donā€™t do this for your production DBs.

+
+

For more details go to theĀ FirewallĀ settings page.

+

Connection parameters include:

+
    +
  • Default username
  • +
  • Default password
  • +
  • Hostname (Fully Qualified Domain Name)
  • +
  • TCP port
  • +
  • PEM file containing the Certificate Authority Chain
  • +
+

To connect to a service, you must also manage theĀ FirewallĀ settings and add the client's IP address or netblock to the allowlist.

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-connect-params.png

+

Service-specific Connection Parameters

+

Connecting using the MariaDB client

+

If using a mac, install MariaDB using brew install mariadb. Go through MariaDB Client for details on how to connect from Linux or Windows.

+

Next, If you turned SSL, you need to download the ā€˜Certificate Authentication Chainā€™ from the Connect popup.

+

Finally, simply copy/paste the MariaDB CLI command as displayed in the Connect window.

+

Connecting from your Application

+

Applications can connect to MariaDB SkySQL DBs using any of the below MariaDB supported connectors. There are several other connectors from the community too.

+ +

Connecting from SQL tools

+

Clients listed here have been tested to properly connect with MariaDB SkySQL and execute queries.

+ +

Client Configuration

+
    +
  1. Manage theĀ FirewallĀ settings and add the client's IP address or netblock to the allowlist.
  2. +
  3. Download the "Certificate Authentication Chain" PEM file by clicking the displayed PEM file link. The PEM file used for the current release of SkySQL is different from the PEM files used by SkySQL previous release.
  4. +
  5. Configure your client per theĀ Connection Parameters. +
  6. +
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Import CSV data 50554477679448e6b4c8033d04f45142/index.html b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Import CSV data 50554477679448e6b4c8033d04f45142/index.html new file mode 100644 index 00000000..1acba99f --- /dev/null +++ b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Import CSV data 50554477679448e6b4c8033d04f45142/index.html @@ -0,0 +1,2176 @@ + + + + + + + + + + + + + + + + + + + + + + + Import CSV data - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+ +
+
+ + + +
+
+ + + + +

Import CSV data

+

MariaDB SkySQL customers can import data into a SkySQL service using theĀ LOADĀ DATAĀ LOCALĀ INFILEĀ SQL statement:

+
    +
  • TheĀ LOADĀ DATAĀ LOCALĀ INFILEĀ statement can import data from TSV and CSV files
  • +
  • TheĀ LOADĀ DATAĀ LOCALĀ INFILEĀ statement can be executed by any client or connector
  • +
+
+

Note

+

Make sure your schema is already created in the database. If you need to import entire databases or create tables, you should use mariab-import.

+
+

Enable Local Infiles

+

Support for local infiles must be enabled on the client side and on the SkySQL service.

+

Enable Local Infiles on the Client or Connector

+

To execute theĀ LOADĀ DATAĀ LOCALĀ INFILEĀ statement, most clients and connectors require a specific option to be enabled.

+

If you are usingĀ mariadbĀ client, theĀ --local-infileĀ optionĀ must be specified.

+

Enable Local Infiles in SkySQL

+

Support for local infiles must be enabled on the SkySQL service.

+

For SkySQL services that use MariaDB Enterprise Server and MariaDB Enterprise ColumnStore, theĀ local_infileĀ system variableĀ must be enabled:

+ +

Configuration ManagerĀ can be used to modify the value of theĀ local_infileĀ system variable.

+

Import Data

+
    +
  1. Determine theĀ connection parametersĀ for your MariaDB SkySQL service.
  2. +
  3. Connect with theĀ mariadbĀ client and specify theĀ -local-infileĀ option, which is needed by the next step:
  4. +
+
mariadb --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
+      --user DATABASE_USER --password \
+      --ssl-verify-server-cert \
+      --ssl-ca ~/PATH_TO_PEM_FILE \
+      --default-character-set=utf8 \
+      --local-infile
+
+

After the command is executed, you will be prompted for a password. Enter the default password for your default user, the password you set for the default user, or the password for the database user you created.

+

For each table that you want to import, execute theĀ LOADĀ DATAĀ LOCALĀ INFILEĀ statement to import the data from the TSV or CSV file into your MariaDB SkySQL database service.

+

For a TSV file:

+
LOAD DATA LOCAL INFILE 'contacts.tsv'
+INTO TABLE accounts.contacts;
+
+

For a CSV file:

+
LOAD DATA LOCAL INFILE 'contacts.csv'
+INTO TABLE accounts.contacts
+FIELDS TERMINATED BY ',';
+
+

Using a Connector

+

If you are using a MariaDB Connector, then you must select the method for the specific connector from the list below.

+

If you are using MariaDB Connector/C, theĀ MYSQL_OPT_LOCAL_INFILEĀ option can be set with theĀ mysql_optionsv()Ā function:

+
/* enable local infile */
+unsigned int enable_local_infile = 1;
+mysql_optionsv(mysql, MYSQL_OPT_LOCAL_INFILE, (void *) &enable_local_infile);
+
+

If you are using MariaDB Connector/J, theĀ allowLocalInfileĀ parameter can be set for the connection:

+
Connection connection = DriverManager.getConnection("jdbc:mariadb://FULLY_QUALIFIED_DOMAIN_NAME:TCP_PORT/test?user=DATABASE_USER&password=DATABASE_PASSWORD&allowLocalInfile=true");
+
+

If you are using MariaDB Connector/Node.js, theĀ permitLocalInfileĀ parameter can be set for the connection:

+
mariadb.createConnection({
+   host: 'FULLY_QUALIFIED_DOMAIN_NAME',
+   port: 'TCP_PORT',
+   user:'DATABASE_USER',
+   password: 'DATABASE_PASSWORD',
+   permitLocalInfile: 'true'
+ });
+
+

If you are using MariaDB Connector/Python, theĀ local_infileĀ parameter can be set for the connection:

+
conn = mariadb.connect(
+   user="DATABASE_USER",
+   password="DATABASE_PASSWORD",
+   host="FULLY_QUALIFIED_DOMAIN_NAME",
+   port=TCP_PORT,
+   local_infile=true)
+
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Import data from external DB 9d0a68120e404f36b9f09a5ad71796b7/index.html b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Import data from external DB 9d0a68120e404f36b9f09a5ad71796b7/index.html new file mode 100644 index 00000000..603490f9 --- /dev/null +++ b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Import data from external DB 9d0a68120e404f36b9f09a5ad71796b7/index.html @@ -0,0 +1,2136 @@ + + + + + + + + + + + + + + + + + + + + + + + Import data from external DB - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Import data from external DB

+

Options to import/load data

+

Data can be loaded to SkySQL services with the assistance of SkySQL Support or by using self-service tools. When importing large data sets, we recommend working with SkySQL Support.

+

Instructions are provided for the following data import methods:

+ + + + + + + + + + + + + + + + + + + + + +
Data Import MethodUse Case
https://mariadb.com/docs/skysql-dbaas/data-operations/data-import/nr-support-assisted/Coordinate data import with SkySQL Support
https://mariadb.com/docs/skysql-dbaas/data-operations/data-import/nr-load-data-local-infile/Import TSV (tab-delimited) or CSV (comma-delimited) file data using theĀ LOADĀ DATAĀ LOCALĀ INFILEĀ statement with your database client
https://mariadb.com/docs/skysql-dbaas/data-operations/data-import/nr-mariadb-import/Import TSV (tab-delimited) or CSV (comma-delimited) file data using theĀ mariadb-importĀ utility
+

Loading using mariadb-dump output

+

To export data from a MySQL/MariaDB database and import it into MariaDB SkySQL, you can follow these steps:

+
    +
  1. +

    Start by using the mysqldump command to export the data from the source database. This command allows you to create a backup of your database in a SQL file. For example, you can use the following command:

    +
    mysqldump -u [username] -p [database_name] > dump.sql
    +
    +

    In this command, replace [username] with your MySQL/MariaDB username and [database_name] with the name of the database you want to export. The > symbol redirects the output to a file named dump.sql.

    +
  2. +
  3. +

    An optional step - Once you have exported the data, you need to transfer the dump.sql file to the destination server where you can efficiently connect to your MariaDB SkySQL database. This is typically the same cloud provider region where your Sky DB is running.

    +
  4. +
  5. After transferring the file, connect to the MariaDB SkySQL server using the command-line client or a GUI tool. This will allow you to interact with the server and perform administrative tasks.
  6. +
  7. If you haven't already created a database in the MariaDB SkySQL server, you can do so using the CREATE DATABASE statement. This step is necessary if you want to import the data into a new database. If you already have a database in which you want to import the data, you can skip this step.
  8. +
  9. +

    Finally, import the data from the dump.sql file into the destination database using the mariadb or mysql command. This command reads the SQL statements in the file and executes them in the specified database. Here's an example command:

    +
    ## mariadb -u [username] -p [database_name] < dump.sql
    +
    +mariadb --host dbpwp27784332.orgtd5j0.db1.skysql.mariadb.com --port 3306 --user dbpwp27784332 -p [database_name] < dump.sql
    +
    +

    Replace [hostname], username] with your MariaDB SkySQL username and [database_name] with the name of the destination database. The < symbol is used to redirect the input from the file dump.sql.

    +
  10. +
+

By following these steps, you will be able to export data from your MySQL/MariaDB database and import it into MariaDB SkySQL, ensuring a smooth transition of your data.

+ + + + +

Mariadb-dump options

+ + + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Install Mariadb-dump 14d92b62ce0f42cd83557aa80dd8c049/index.html b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Install Mariadb-dump 14d92b62ce0f42cd83557aa80dd8c049/index.html new file mode 100644 index 00000000..c84ee59e --- /dev/null +++ b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Install Mariadb-dump 14d92b62ce0f42cd83557aa80dd8c049/index.html @@ -0,0 +1,2103 @@ + + + + + + + + + + + + + + + + + + + + + + + Install Mariadb-dump - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Install Mariadb-dump

+

MariaDB SkySQL customers can manually create a backup of a SkySQL service using theĀ mariadb-dumpĀ utility:

+
    +
  • TheĀ mariadb-dumpĀ utility provides a command-line interface (CLI)
  • +
  • TheĀ mariadb-dumpĀ utility is available for Linux and Windows
  • +
  • TheĀ mariadb-dumpĀ utility supportsĀ many command-line options
  • +
  • Egress charges may apply for customer-initiated backups
  • +
+

For details about restoring a backup created with theĀ mariadb-dumpĀ utility, see "Restore a Manual Backup".

+

Installation

+

Installation of MariaDB Dump varies by operating system.

+

CentOS / RHEL

+
    +
  1. +

    Configure YUM package repositories:

    +

    `$ sudo yum install wget

    +

    $ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

    +

    $ echo "935944a2ab2b2a48a47f68711b43ad2d698c97f1c3a7d074b34058060c2ad21b mariadb_repo_setup" \ | sha256sum -c -

    +

    $ chmod +x mariadb_repo_setup

    +

    $ sudo ./mariadb_repo_setup \ --mariadb-server-version="mariadb-10.6"`

    +
  2. +
  3. +

    Install MariaDB Dump and package dependencies:

    +

    $ sudo yum install MariaDB-client

    +
  4. +
+

Debian / Ubuntu

+
    +
  1. +

    Configure APT package repositories:

    +

    `$ sudo apt install wget

    +

    $ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

    +

    $ echo "935944a2ab2b2a48a47f68711b43ad2d698c97f1c3a7d074b34058060c2ad21b mariadb_repo_setup" \ | sha256sum -c -

    +

    $ chmod +x mariadb_repo_setup

    +

    $ sudo ./mariadb_repo_setup \ --mariadb-server-version="mariadb-10.6"$ sudo apt update`

    +
  2. +
  3. +

    Install MariaDB Dump and package dependencies:

    +

    $ sudo apt install mariadb-client

    +
  4. +
+

SLES

+
    +
  1. +

    Configure ZYpp package repositories:

    +

    `$ sudo zypper install wget

    +

    $ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

    +

    $ echo "935944a2ab2b2a48a47f68711b43ad2d698c97f1c3a7d074b34058060c2ad21b mariadb_repo_setup" \ | sha256sum -c -

    +

    $ chmod +x mariadb_repo_setup

    +

    $ sudo ./mariadb_repo_setup \ --mariadb-server-version="mariadb-10.6"`

    +
  2. +
  3. +

    Install MariaDB Dump and package dependencies:

    +

    $ sudo zypper install MariaDB-client

    +
  4. +
+

Windows

+
    +
  1. AccessĀ MariaDB DownloadsĀ for MariaDB Community Server.
  2. +
  3. In the "Version" dropdown, select the version you want to download.
  4. +
  5. In the "OS" dropdown, select "MS Windows (64-bit)".
  6. +
  7. Click the "Download" button to download the MSI package.
  8. +
  9. When the MSI package finishes downloading, run it.
  10. +
  11. On the first screen, click "Next" to start the Setup Wizard.
  12. +
  13. On the second screen, click the license agreement checkbox, and then click "Next".
  14. +
  15. On the third screen, select the components you want to install. If you only want the standard MariaDB Client tools:
      +
    • Deselect "Database instance".
    • +
    • Deselect "Backup utilities".
    • +
    • Deselect "Development Components".
    • +
    • Deselect "Third party tools".
    • +
    • When only "Client programs" is selected, click "Next".
    • +
    +
  16. +
  17. On the next screen, click "Install".
  18. +
  19. When the installation process completes, click "Finish".
  20. +
+

Create a logical ā€œDumpā€ SQL file

+

The procedure to create a backup depends on the operating system.

+

If you plan to restore the backup to a SkySQL service, theĀ mysqlĀ database should be excluded from the backup by specifyingĀ [--ignore-database=mysql](https://mariadb.com/docs/skysql-dbaas/ref/mdb/cli/mariadb-dump/ignore-database/), because SkySQL user accounts do not have sufficient privileges to restore that database.

+

Linux

+
    +
  1. Determine theĀ connection parametersĀ for your MariaDB SkySQL service.
  2. +
  3. Use your connection parameters in the following command line:
  4. +
+
mariadb-dump --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
+      --user DATABASE_USER --password \
+      --ssl-verify-server-cert \
+      --ssl-ca ~/PATH_TO_PEM_FILE \
+      --all-databases \
+      --ignore-database=mysql \
+      --single-transaction \
+      --events \
+      --routines \
+      --default-character-set=utf8mb4 \
+      > skysql_dump.sql
+
+
    +
  • ReplaceĀ FULLY_QUALIFIED_DOMAIN_NAMEĀ with the Fully Qualified Domain Name of your service.
  • +
  • ReplaceĀ TCP_PORTĀ with the read-write or read-only port of your service.
  • +
  • ReplaceĀ DATABASE_USERĀ with the default username for your service, or the username you created.
  • +
  • ReplaceĀ ~/PATH_TO_PEM_FILEĀ with the path to the certificate authority chain (.pem) file.
  • +
+

After the command is executed, you will be prompted for a password. Enter the default password for your default user, the password you set for the default user, or the password for the database user you created.

+

Windows

+
    +
  1. +

    Fix your executable search path.

    +

    On Windows, MariaDB Dump is not typically found in the executable search path by default. You must find its installation path, and add that path to the executable search path:

    +

    $ SET "PATH=C:\Program Files\MariaDB 10.6\bin;%PATH%"

    +
  2. +
  3. +

    Determine theĀ connection parametersĀ for your MariaDB SkySQL service.

    +
  4. +
  5. Use your connection parameters in the following command line:
  6. +
+
mariadb-dump --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
+      --user DATABASE_USER --password \
+      --ssl-verify-server-cert \
+      --ssl-ca ~/PATH_TO_PEM_FILE \
+      --all-databases \
+      --ignore-database=mysql \
+      --single-transaction \
+      --events \
+      --routines \
+      --default-character-set=utf8mb4 \
+      > skysql_dump.sql
+
+
    +
  • ReplaceĀ FULLY_QUALIFIED_DOMAIN_NAMEĀ with the Fully Qualified Domain Name of your service.
  • +
  • ReplaceĀ TCP_PORTĀ with the read-write or read-only port of your service.
  • +
  • ReplaceĀ DATABASE_USERĀ with the default username for your service, or the username you created.
  • +
  • ReplaceĀ PATH_TO_PEM_FILEĀ with the path to the certificate authority chain (.pem) file.
  • +
+

After the command is executed, you will be prompted for a password. Enter the default password for your default user, the password you set for the default user, or the password for the database user you created.

+

MariaDB Dump 10.3 and Older

+

The instructions provided above are written for MariaDB Dump 10.4 and later, which uses the binary filename ofĀ mariadb-dump.

+

For MariaDB Dump 10.3 and older, the binary filename wasĀ mysqldump. The instructions can be adapted for MariaDB Dump 10.3 and older by executingĀ mysqldumpĀ rather thanĀ mariadb-dump.

+

Temporal Tables

+

For system-versioned tables and transaction-precise tables, MariaDB Dump only backs up current row versions. It does not back up historical row versions.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Install mariadb-import 8c0db06c9f864b6cb88ca21f265d5990/index.html b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Install mariadb-import 8c0db06c9f864b6cb88ca21f265d5990/index.html new file mode 100644 index 00000000..c6f77590 --- /dev/null +++ b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Install mariadb-import 8c0db06c9f864b6cb88ca21f265d5990/index.html @@ -0,0 +1,2101 @@ + + + + + + + + + + + + + + + + + + + + + + + Install mariadb-import - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Install mariadb-import

+

MariaDB SkySQL customers can import data into a SkySQL service using theĀ mariadb-importĀ utility:

+
    +
  • TheĀ mariadb-importĀ utility provides a command-line interface (CLI)
  • +
  • TheĀ mariadb-importĀ utility can import data from TSV and CSV files
  • +
  • TheĀ mariadb-importĀ utility is available for Linux and Windows
  • +
  • TheĀ mariadb-importĀ utility supportsĀ many command-line options
  • +
+

Installation

+

Installation of MariaDB Import varies by operating system.

+

CentOS / RHEL

+
    +
  1. +

    Configure YUM package repositories:

    +

    `$ sudo yum install wget

    +

    $ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

    +

    $ echo "935944a2ab2b2a48a47f68711b43ad2d698c97f1c3a7d074b34058060c2ad21b mariadb_repo_setup" \ | sha256sum -c -

    +

    $ chmod +x mariadb_repo_setup

    +

    $ sudo ./mariadb_repo_setup \ --mariadb-server-version="mariadb-10.6"`

    +
  2. +
  3. +

    Install MariaDB Import and package dependencies:

    +

    $ sudo yum install MariaDB-client

    +
  4. +
+

Debian / Ubuntu

+
    +
  1. +

    Configure APT package repositories:

    +

    `$ sudo apt install wget

    +

    $ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

    +

    $ echo "935944a2ab2b2a48a47f68711b43ad2d698c97f1c3a7d074b34058060c2ad21b mariadb_repo_setup" \ | sha256sum -c -

    +

    $ chmod +x mariadb_repo_setup

    +

    $ sudo ./mariadb_repo_setup \ --mariadb-server-version="mariadb-10.6"$ sudo apt update`

    +
  2. +
  3. +

    Install MariaDB Import and package dependencies:

    +

    $ sudo apt install mariadb-client

    +
  4. +
+

SLES

+
    +
  1. +

    Configure ZYpp package repositories:

    +

    `$ sudo zypper install wget

    +

    $ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

    +

    $ echo "935944a2ab2b2a48a47f68711b43ad2d698c97f1c3a7d074b34058060c2ad21b mariadb_repo_setup" \ | sha256sum -c -

    +

    $ chmod +x mariadb_repo_setup

    +

    $ sudo ./mariadb_repo_setup \ --mariadb-server-version="mariadb-10.6"`

    +
  2. +
  3. +

    Install MariaDB Import and package dependencies:

    +

    $ sudo zypper install MariaDB-client

    +
  4. +
+

Windows

+
    +
  1. AccessĀ MariaDB DownloadsĀ for MariaDB Community Server.
  2. +
  3. In the "Version" dropdown, select the version you want to download.
  4. +
  5. In the "OS" dropdown, select "MS Windows (64-bit)".
  6. +
  7. Click the "Download" button to download the MSI package.
  8. +
  9. When the MSI package finishes downloading, run it.
  10. +
  11. On the first screen, click "Next" to start the Setup Wizard.
  12. +
  13. On the second screen, click the license agreement checkbox, and then click "Next".
  14. +
  15. On the third screen, select the components you want to install. If you only want the standard MariaDB Client tools:
      +
    • Deselect "Database instance".
    • +
    • Deselect "Backup utilities".
    • +
    • Deselect "Development Components".
    • +
    • Deselect "Third party tools".
    • +
    • When only "Client programs" is selected, click "Next".
    • +
    +
  16. +
  17. On the next screen, click "Install".
  18. +
  19. When the installation process completes, click "Finish".
  20. +
+

Import Data

+

The procedure to import data depends on the operating system.

+

Linux

+
    +
  1. Determine theĀ connection parametersĀ for your MariaDB SkySQL service.
  2. +
  3. +

    Use MariaDB Import with the connection information to import the data from the TSV or CSV file into your MariaDB SkySQL database service:

    +
    mariadb-import --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
    +      --user DATABASE_USER --password \
    +      --ssl-verify-server-cert \
    +      --ssl-ca ~/PATH_TO_PEM_FILE \
    +      --local \
    +      --ignore-lines=1 \
    +      accounts contacts.tsv
    +
    +
      +
    • ReplaceĀ FULLY_QUALIFIED_DOMAIN_NAMEĀ with the Fully Qualified Domain Name of your service
    • +
    • ReplaceĀ TCP_PORTĀ with the read-write or read-only port of your service
    • +
    • ReplaceĀ DATABASE_USERĀ with the default username for your service, or the username you created
    • +
    • ReplaceĀ ~/PATH_TO_PEM_FILEĀ with the path to the certificate authority chain (.pem) file
    • +
    • If your file is a CSV file, rather than a TSV file, specifyĀ -fields-terminated-by=,
    • +
    • Specify the database name as the first argument (from above,Ā accounts)
    • +
    • The table name is extracted from the TSV or CSV file's basename (from above,Ā contacts)
    • +
    • After the command is executed, you will be prompted for a password. Enter the default password for your default user, the password you set for the default user, or the password for the database user you created.
    • +
    +
  4. +
+

Windows

+
    +
  1. +

    Fix your executable search path.

    +

    On Windows, MariaDB Import is not typically found in the executable search path by default. You must find its installation path, and add that path to the executable search path:

    +

    $ SET "PATH=C:\Program Files\MariaDB 10.6\bin;%PATH%"

    +
  2. +
  3. +

    Determine theĀ connection parametersĀ for your MariaDB SkySQL service.

    +
  4. +
  5. +

    Use MariaDB Import with the connection information to import the data from the TSV or CSV file into your MariaDB SkySQL database service:

    +
    mariadb-import --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
    +      --user DATABASE_USER --password \
    +      --ssl-verify-server-cert \
    +      --ssl-ca ~/PATH_TO_PEM_FILE \
    +      --local \
    +      --ignore-lines=1 \
    +      accounts contacts.tsv
    +
    +
      +
    • ReplaceĀ FULLY_QUALIFIED_DOMAIN_NAMEĀ with the Fully Qualified Domain Name of your service
    • +
    • ReplaceĀ TCP_PORTĀ with the read-write or read-only port of your service
    • +
    • ReplaceĀ DATABASE_USERĀ with the default username for your service, or the username you created
    • +
    • ReplaceĀ ~/PATH_TO_PEM_FILEĀ with the path to the certificate authority chain (.pem) file
    • +
    • If your file is a CSV file, rather than a TSV file, specifyĀ -fields-terminated-by=,
    • +
    • Specify the database name as the first argument (from above,Ā accounts)
    • +
    • The table name is extracted from the TSV or CSV file's basename (from above,Ā contacts)
    • +
    • After the command is executed, you will be prompted for a password. Enter the default password for your default user, the password you set for the default user, or the password for the database user you created.
    • +
    +
  6. +
+

MariaDB Import 10.3 and Older

+

The instructions provided above are written for MariaDB Import 10.4 and later, which uses the binary filename ofĀ mariadb-import.

+

For MariaDB Import 10.3 and older, the binary filename wasĀ mysqlimport. The instructions can be adapted for MariaDB Import 10.3 and older by executingĀ mysqlimportĀ rather thanĀ mariadb-import.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Migrating your existing Production DB 8ba80cbdb9b14f81a1df5b096d549522/index.html b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Migrating your existing Production DB 8ba80cbdb9b14f81a1df5b096d549522/index.html new file mode 100644 index 00000000..678fb6b2 --- /dev/null +++ b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Migrating your existing Production DB 8ba80cbdb9b14f81a1df5b096d549522/index.html @@ -0,0 +1,2022 @@ + + + + + + + + + + + + + + + + + + + + + + + Migrating your existing Production DB - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Migrating your existing Production DB

+

Databases can be migrated to MariaDB SkySQL from many different database platforms, including Oracle, MySQL, PostgreSQL, Microsoft SQL Server, IBM DB2, and more

+

Lift-and-shift from a compatible version of MySQL/MariaDB to SkySQL

+

To perform a lift-and-shift migration to SkySQL, use the following process:

+
    +
  1. Identify requirements for your MariaDB SkySQL implementation including: +
  2. +
  3. Deploy the desired configurationĀ on MariaDB SkySQL
  4. +
+ + +
    +
  1. On the source database (MySQL or MariaDB) obtain the Binlog file name and its current position. Essentially, we want to track all DB changes from a certain point in time. See ā€˜Replicating dataā€™ page for the command.
  2. +
  3. Next, take a dump of your source database using mysqldump or mariadb-dump
  4. +
  5. Import into your target SkySQL DB using this logical ā€œdumpā€ (SQL)
  6. +
  7. Finally, turn ON the replication using the SkySQL ā€˜start_replicationā€™ procedure as noted below.
  8. +
+

Assisted Migration to SkySQL MariaDB

+

SkySQL customers can receive assistance from SkySQL Inc when migrating a database to SkySQL:

+
    +
  • SkySQL Inc'sĀ migration processĀ divides a migration into multiple well-defined stages with distinct validation criteria at each stage
  • +
  • SkyDBAs and SkySQLĀ support can assist with many migration steps
  • +
+

For assistance with a migration:

+
    +
  • Existing customers can submit aĀ support caseĀ to request assistance with a migration
  • +
  • New customers canĀ contact usĀ to begin the migration planning process
  • +
+

Migration Process

+

We use a multi-step process to assist customers with migrations:

+
    +
  1. AssessmentĀ of application requirements, inventory, and identified challenges
  2. +
  3. Schema MigrationĀ including tables, constraints, indexes, and views
  4. +
  5. Application Code MigrationĀ by porting and testing SQL and application code
  6. +
  7. Data Migration and ReplicationĀ with import of data, with conversion to the new schema, and ongoing inbound replication of new data
  8. +
  9. Quality AssuranceĀ to assess data validity, data integrity, performance, accuracy of query results, stored code, and running code such as client applications, APIs, and batch jobs
  10. +
  11. CutoverĀ including final database preparation, fallback planning, switchover, and decommissioning of old databases
  12. +
+

For additional information, see "Whitepaper: Migrate to MariaDB from Oracle".

+
+

Migrate to MariaDB SkySQL using AWS DMS

+

This blog article details how to Migrate RDS MySQL to SkySQL MariaDB Using AWS Data Migration Service

+
+

Replicating data from an External DB

+

For assistance with a migration:

+
    +
  • Existing customers can submit aĀ support caseĀ to request assistance with a migration
  • +
  • New customers canĀ contact usĀ to begin the migration planning process
  • +
+

Replicating data from external DB

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Replicating data from external DB cdf15e1cd8d24880858d6cd2f50d8fd2/index.html b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Replicating data from external DB cdf15e1cd8d24880858d6cd2f50d8fd2/index.html new file mode 100644 index 00000000..4d54878f --- /dev/null +++ b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/Replicating data from external DB cdf15e1cd8d24880858d6cd2f50d8fd2/index.html @@ -0,0 +1,2066 @@ + + + + + + + + + + + + + + + + + + + Replicating data from external DB - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Replicating data from external DB

+

From a MySQL Database

+

MariaDB SkySQL customers can configure inbound replication from MySQL 5.7 to a compatible MariaDB running in SkySQL.

+

For additional information about the stored procedures used to configure replication with Replicated Transactions services, see "SkySQL Replication Helper Procedures for Replicated Transactions".

+ + +

1) Obtain Binary Log File and Position

+

On the external primary server, obtain the binary log file and position from which to start replication.

+

When you want to start replication from the most recent transaction, the current binary log file position can be obtained by executing theĀ SHOWĀ MASTERĀ STATUSĀ statement:

+

**SHOW** MASTER STATUS**;**

+

+------------------+----------+--------------+------------------+-------------------+ +| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | ++------------------+----------+--------------+------------------+-------------------+ +| mysql-bin.000001 | 154 | | | | ++------------------+----------+--------------+------------------+-------------------+

+

2) Configure Binary Log File and Position

+

On the SkySQL service, configure the binary log file and position from which to start replication.

+

The binary log file and position can be configured using theĀ [sky.change_external_primary()Ā stored procedure](https://mariadb.com/docs/skysql-previous-release/ref/replication-procedures/replicated-transactions/#change_external_primary):

+
CALL sky.change_external_primary('mysql1.example.com', 3306, 'mysql-bin.000001', 154, false);
+
+
+

This procedure will return the GRANT COMMAND you must run on the source DB

+
+

Run_this_grant_on_your_external_primary

+

GRANT REPLICATION SLAVE ON . TO 'skysql_replication'@'%' IDENTIFIED BY '';

+

3) Grant Replication Privileges

+

On the external primary server, execute theĀ [GRANT](https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/GRANT/)Ā statement returned by the last step:

+
GRANT REPLICATION SLAVE ON *.* TO 'skysql_replication'@'%' IDENTIFIED BY '<password_hash>';
+
+

4) Start Replication

+

On the SkySQL service, start replication.

+

Replication can be started using theĀ [sky.start_replication()Ā stored procedure](https://mariadb.com/docs/skysql-previous-release/ref/replication-procedures/replicated-transactions/#start_replication):

+
CALL sky.start_replication();
++----------------------------------------+
+| Message                                |
++----------------------------------------+
+| External replication running normally. |
++----------------------------------------+
+
+

5) Check Replication Status

+

On the SkySQL service, check replication status.

+

Replication status can be checked using theĀ [sky.replication_status()Ā stored procedure](https://mariadb.com/docs/skysql-previous-release/ref/replication-procedures/replicated-transactions/#replication_status):

+
**CALL** sky**.**replication_status**()\G**
+
+
*************************** 1. row ***************************
+                Slave_IO_State: Waiting for master to send event
+                   Master_Host: mariadb1.example.com
+                   Master_User: skysql_replication
+                   Master_Port: 3306
+                 Connect_Retry: 60
+               Master_Log_File: mysql-bin.000001
+           Read_Master_Log_Pos: 462
+                Relay_Log_File: mariadb-relay-bin.000002
+                 Relay_Log_Pos: 665
+         Relay_Master_Log_File: mysql-bin.000001
+              Slave_IO_Running: Yes
+             Slave_SQL_Running: Yes
+               Replicate_Do_DB:
+           Replicate_Ignore_DB:
+            Replicate_Do_Table:
+        Replicate_Ignore_Table:
+       Replicate_Wild_Do_Table:
+   Replicate_Wild_Ignore_Table:
+                    Last_Errno: 0
+                    Last_Error:
+                  Skip_Counter: 0
+           Exec_Master_Log_Pos: 462
+               Relay_Log_Space: 985
+               Until_Condition: None
+                Until_Log_File:
+                 Until_Log_Pos: 0
+            Master_SSL_Allowed: No
+            Master_SSL_CA_File:
+            Master_SSL_CA_Path:
+               Master_SSL_Cert:
+             Master_SSL_Cipher:
+                Master_SSL_Key:
+         Seconds_Behind_Master: 0
+ Master_SSL_Verify_Server_Cert: No
+                 Last_IO_Errno: 0
+                 Last_IO_Error:
+                Last_SQL_Errno: 0
+                Last_SQL_Error:
+   Replicate_Ignore_Server_Ids:
+              Master_Server_Id: 200
+                Master_SSL_Crl:
+            Master_SSL_Crlpath:
+                    Using_Gtid: No
+                   Gtid_IO_Pos:
+       Replicate_Do_Domain_Ids:
+   Replicate_Ignore_Domain_Ids:
+                 Parallel_Mode: conservative
+                     SQL_Delay: 0
+           SQL_Remaining_Delay: NULL
+       Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
+              Slave_DDL_Groups: 0
+Slave_Non_Transactional_Groups: 0
+    Slave_Transactional_Groups: 0
+
+

From a MariaDB Database

+

When replicating from another MariaDB DB you can directly use GTID based replication. The first two steps are different than MySQL.

+

1) Obtain GTID Position

+

On the external primary server, obtain the GTID position from which to start replication.

+

When you want to start replication from the most recent transaction, the current GTID position can be obtained by querying the value of theĀ [gtid_current_pos](https://mariadb.com/docs/skysql-previous-release/ref/mdb/system-variables/gtid_current_pos/)Ā system variable with theĀ [SHOWĀ GLOBALĀ VARIABLES](https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/SHOW_VARIABLES/)Ā statement:

+

**SHOW** **GLOBAL** VARIABLES **LIKE** 'gtid_current_pos'**;**

+

+------------------+---------+ +| Variable_name | Value | ++------------------+---------+ +| gtid_current_pos | 0-100-1 | ++------------------+---------+

+

2) Configure GTID Position

+

On the SkySQL service, configure the GTID position from which to start replication.

+

The GTID position can be configured using theĀ [sky.change_external_primary_gtid()Ā stored procedure](https://mariadb.com/docs/skysql-previous-release/ref/replication-procedures/replicated-transactions/#change_external_primary_gtid):

+

**CALL** sky**.**change_external_primary_gtid**(**'mariadb1.example.com'**,** 3306**,** '0-100-1'**,** **false);**

+

+--------------------------------------------------------------------------------------------------------------+ +| Run_this_grant_on_your_external_primary | ++--------------------------------------------------------------------------------------------------------------+ +| GRANT REPLICATION SLAVE ON *.* TO 'skysql_replication'@'%' IDENTIFIED BY '<password_hash>'; | ++--------------------------------------------------------------------------------------------------------------+

+

The stored procedure returns aĀ [GRANT](https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/GRANT/)Ā statement that is used in the next step.

+ + +

Compatibility

+

To configure inbound replication from an external primary server using MariaDB Server to your Replicated Transactions service in SkySQL, the following requirements must be met:

+
    +
  • The external primary server must use a supported version of MariaDB Server, and the external primary server must use a version in the same or older release series as the version used by the SkySQL service.
  • +
  • When the SkySQL service usesĀ ES 10.6, the following versions are supported for the external primary server:
      +
    • MariaDB Server 10.2
    • +
    • MariaDB Server 10.3
    • +
    • MariaDB Server 10.4
    • +
    • MariaDB Server 10.5
    • +
    • MariaDB Server 10.6
    • +
    +
  • +
  • When the SkySQL service usesĀ ES 10.5, the following versions are supported for the external primary server:
      +
    • MariaDB Server 10.2
    • +
    • MariaDB Server 10.3
    • +
    • MariaDB Server 10.4
    • +
    • MariaDB Server 10.5
    • +
    +
  • +
  • When the SkySQL service usesĀ ES 10.4, the following versions are supported for the external primary server:
      +
    • MariaDB Server 10.2
    • +
    • MariaDB Server 10.3
    • +
    • MariaDB Server 10.4
    • +
    +
  • +
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/index.html b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/index.html new file mode 100644 index 00000000..5675884f --- /dev/null +++ b/Data loading, Migration 8d6075f7123a4b59bedfeaad01d8461a/index.html @@ -0,0 +1,1960 @@ + + + + + + + + + + + + + + + + + + + + + + + Data loading, Migration - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + + + + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Data offloading 4e994ab1980845ed8015df2a15a4b05c/Replicating data from SkySQL to external database 65a9d8aa0dc040c09548c042ba6582ae/index.html b/Data offloading 4e994ab1980845ed8015df2a15a4b05c/Replicating data from SkySQL to external database 65a9d8aa0dc040c09548c042ba6582ae/index.html new file mode 100644 index 00000000..167ea2a5 --- /dev/null +++ b/Data offloading 4e994ab1980845ed8015df2a15a4b05c/Replicating data from SkySQL to external database 65a9d8aa0dc040c09548c042ba6582ae/index.html @@ -0,0 +1,2106 @@ + + + + + + + + + + + + + + + + + + + + + + + Replicating data from SkySQL to external database - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Replicating data from SkySQL to external database

+

MariaDB SkySQL customers can configure outbound replication from a Replicated Transactions service to a compatible MariaDB Server running elsewhere - could be your data center, self-managed MariaDB DB on the cloud or even other managed services like AWS RDS.

+

SkySQL uses stored procedures to configure replication to other MariaDB or MySQL database servers.

+

For additional information about the stored procedures used to configure replication with Replicated Transactions services, see "SkySQL Replication Helper Procedures for Replicated Transactions".

+

Requirements

+

To configure outbound replication from your Replicated Transactions service in SkySQL to an external replica server using MariaDB Server, the following requirements must be met:

+
    +
  • The external replica server must use a supported version of MariaDB Server, and the external replica server must use a version in the same or newer release series as the version used by the SkySQL service.
  • +
  • When the SkySQL service usesĀ ES 10.6, the following versions are supported for the external replica server:
      +
    • MariaDB Server 10.6
    • +
    +
  • +
  • When the SkySQL service usesĀ ES 10.5, the following versions are supported for the external replica server:
      +
    • MariaDB Server 10.5
    • +
    • MariaDB Server 10.6
    • +
    +
  • +
  • When the SkySQL service usesĀ ES 10.4, the following versions are supported for the external replica server:
      +
    • MariaDB Server 10.4
    • +
    • MariaDB Server 10.5
    • +
    • MariaDB Server 10.6
    • +
    +
  • +
+

Request User for Outbound Replication

+

On the SkySQL Customer Portal,Ā create a support caseĀ to request a user account with sufficient privileges for outbound replication to the external replica server.

+

SkySQL customers do not have sufficient privileges to create a user account that supports replication, so the user account must be created by SkySQL Support.

+ + +

Check User Account

+

On the SkySQL service, confirm that the new user has sufficient privileges by executingĀ [SHOWĀ GRANTS](https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/SHOW_GRANTS/):

+

**SHOW** GRANTS **FOR** 'external_replication'@'%'**;**

+

+------------------------------------------------------------------------------------------------------------------------------------------------+ +| Grants for external_replication@% | ++------------------------------------------------------------------------------------------------------------------------------------------------+ +| GRANT REPLICATION SLAVE, SLAVE MONITOR ON *.* TOexternal_replication@%IDENTIFIED BY PASSWORD '*CCD3A959D6A004B9C3807B728BC2E55B67E10518' | ++------------------------------------------------------------------------------------------------------------------------------------------------+

+

Add External Replica to Allowlist

+

On the SkySQL Customer Portal, add the IP address of the external replica server to the SkySQL service'sĀ allowlist. Click ā€˜Manageā€™ā†’ ā€˜Manage Allowlistā€™ to add the IP address to the allowed list.

+ + +

Obtain GTID Position

+

On the SkySQL service, obtain the GTID position from which to start replication.

+

When you want to start replication from the most recent transaction, the current GTID position can be obtained by querying the value of theĀ [gtid_current_pos](https://mariadb.com/docs/skysql-previous-release/ref/mdb/system-variables/gtid_current_pos/)Ā system variable with theĀ [SHOWĀ GLOBALĀ VARIABLES](https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/SHOW_VARIABLES/)Ā statement:

+

**SHOW** **GLOBAL** VARIABLES **LIKE** 'gtid_current_pos'**;**

+

+------------------+-------------------+ +| Variable_name | Value | ++------------------+-------------------+ +| gtid_current_pos | 435700-435700-124 | ++------------------+-------------------+

+

Configure GTID Position

+

On the external replica server, configure the GTID position from which to start replication.

+

The GTID position can be configured by setting theĀ [gtid_slave_pos](https://mariadb.com/docs/skysql-previous-release/ref/mdb/system-variables/gtid_slave_pos/)Ā system variable with theĀ [SETĀ GLOBAL](https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/SET/)Ā statement:

+

**SET** **GLOBAL** gtid_slave_pos='435700-435700-124'**;**

+

Download SkySQL CA Chain

+

If you have enabled SSL (default), on the external replica server, download theĀ SkySQL CA chain. This is available in the Connect popup window on the portal dashboard.

+

Configure Replication

+

On the external replica server, configure replication using theĀ connection parametersĀ for your MariaDB SkySQL service.

+

Replication can be configured using theĀ [CHANGEĀ MASTERĀ TO](https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/CHANGE_MASTER_TO/)Ā statement:

+
CHANGE MASTER TO
+   MASTER_HOST='FULLY_QUALIFIED_DOMAIN_NAME',
+   MASTER_PORT=TCP_PORT,
+   MASTER_USER='external_replication',
+   MASTER_PASSWORD='my_password',
+   MASTER_SSL=1,
+   MASTER_SSL_CA='~/PATH_TO_PEM_FILE',
+   MASTER_USE_GTID=slave_pos;
+
+
    +
  • ReplaceĀ FULLY_QUALIFIED_DOMAIN_NAMEĀ with the Fully Qualified Domain Name of your service
  • +
  • ReplaceĀ TCP_PORTĀ with the read-write or read-only port of your service
  • +
  • ReplaceĀ ~/PATH_TO_PEM_FILEĀ with the path to the certificate authority chain (.pem) file
  • +
+

Start Replication

+

On the external replica server, start replication.

+

Replication can be started using theĀ [STARTĀ REPLICA](https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/START_REPLICA/)Ā statement:

+

**START** REPLICA**;**

+

Check Replication Status

+

On the external replica server, check replication status.

+

Replication status can be checked using theĀ [SHOWĀ REPLICAĀ STATUS](https://mariadb.com/docs/skysql-previous-release/ref/mdb/sql-statements/SHOW_REPLICA_STATUS/)Ā statement:

+

**SHOW** REPLICA STATUS**\G**

+
*************************** 1. row ***************************
+                Slave_IO_State: Waiting for master to send event
+                   Master_Host: my-service.mdb0002147.db.skysql.net
+                   Master_User: external_replication
+                   Master_Port: 5003
+                 Connect_Retry: 60
+               Master_Log_File: mariadb-bin.000001
+           Read_Master_Log_Pos: 558
+                Relay_Log_File: mariadb-relay-bin.000002
+                 Relay_Log_Pos: 674
+         Relay_Master_Log_File: mariadb-bin.000001
+              Slave_IO_Running: Yes
+             Slave_SQL_Running: Yes
+               Replicate_Do_DB:
+           Replicate_Ignore_DB:
+            Replicate_Do_Table:
+        Replicate_Ignore_Table:
+       Replicate_Wild_Do_Table:
+   Replicate_Wild_Ignore_Table:
+                    Last_Errno: 0
+                    Last_Error:
+                  Skip_Counter: 0
+           Exec_Master_Log_Pos: 558
+               Relay_Log_Space: 985
+               Until_Condition: None
+                Until_Log_File:
+                 Until_Log_Pos: 0
+            Master_SSL_Allowed: Yes
+            Master_SSL_CA_File: /var/lib/mysql/skysql_chain.pem
+            Master_SSL_CA_Path:
+               Master_SSL_Cert:
+             Master_SSL_Cipher:
+                Master_SSL_Key:
+         Seconds_Behind_Master: 0
+ Master_SSL_Verify_Server_Cert: No
+                 Last_IO_Errno: 0
+                 Last_IO_Error:
+                Last_SQL_Errno: 0
+                Last_SQL_Error:
+   Replicate_Ignore_Server_Ids:
+              Master_Server_Id: 435701
+                Master_SSL_Crl: /var/lib/mysql/skysql_chain.pem
+            Master_SSL_Crlpath:
+                    Using_Gtid: Slave_Pos
+                   Gtid_IO_Pos: 435700-435700-127
+       Replicate_Do_Domain_Ids:
+   Replicate_Ignore_Domain_Ids:
+                 Parallel_Mode: optimistic
+                     SQL_Delay: 0
+           SQL_Remaining_Delay: NULL
+       Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
+              Slave_DDL_Groups: 0
+Slave_Non_Transactional_Groups: 0
+    Slave_Transactional_Groups: 0
+
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Data offloading 4e994ab1980845ed8015df2a15a4b05c/index.html b/Data offloading 4e994ab1980845ed8015df2a15a4b05c/index.html new file mode 100644 index 00000000..032233fd --- /dev/null +++ b/Data offloading 4e994ab1980845ed8015df2a15a4b05c/index.html @@ -0,0 +1,2045 @@ + + + + + + + + + + + + + + + + + + + + + + + Data offloading - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Data offloading

+
+

Note

+

TODO - this section needs detailed review

+
+

Using Mariadb-dump utility

+

The simplest way to offload your database is to use theĀ mariadb-dumpĀ utility:

+
    +
  • TheĀ mariadb-dumpĀ utility provides a command-line interface (CLI)
  • +
  • TheĀ mariadb-dumpĀ utility is available for Linux and Windows
  • +
  • TheĀ mariadb-dumpĀ utility supportsĀ many command-line options
  • +
  • Egress charges may apply for customer-initiated backups
  • +
+

mariadb-dump usage is fully described here.

+

Using MariaDB client

+

UseĀ MariaDB ClientĀ with the connection information to export your schema from your MariaDB SkySQL database service. Here is an example to export all rows from a single table:

+
mariadb --host FULLY_QUALIFIED_DOMAIN_NAME --port TCP_PORT \
+      --user DATABASE_USER --password \
+      --ssl-verify-server-cert \
+      --ssl-ca ~/PATH_TO_PEM_FILE \
+      --default-character-set=utf8 \
+      --batch \
+      --skip-column-names \
+      --execute='SELECT * FROM accounts.contacts;' \
+      > contacts.tsv
+
+
    +
  • ReplaceĀ FULLY_QUALIFIED_DOMAIN_NAMEĀ with the Fully Qualified Domain Name of your service.
  • +
  • ReplaceĀ TCP_PORTĀ with the read-write or read-only port of your service.
  • +
  • ReplaceĀ DATABASE_USERĀ with the default username for your service, or the username you created.
  • +
  • ReplaceĀ ~/PATH_TO_PEM_FILEĀ with the path to the certificate authority chain (.pem) file.
  • +
  • Optionally, for large tables, specify theĀ -quickĀ command-line optionĀ to disable result caching and reduce memory usage.
  • +
+

Select into Outfile

+

you can use the SELECT INTO OUTFILE statement to export query results directly to a file. This is useful for exporting specific data from tables.

+
    +
  • +

    Usage:

    +
    SELECT * INTO OUTFILE '/path/to/file.csv' FIELDS TERMINATED BY ',' FROM your_table;
    +
    +
  • +
+
+

Note

+

Note that this file system export is not directly accessible to SkySQL users. To generate CSV files, you should contact SkySQL support.

+
+

Replicating data from SkySQL to a compatible external DB

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/FAQs ad991ed04d1c4c2c82774115261d3ad0/index.html b/FAQs ad991ed04d1c4c2c82774115261d3ad0/index.html new file mode 100644 index 00000000..1ea1bc1f --- /dev/null +++ b/FAQs ad991ed04d1c4c2c82774115261d3ad0/index.html @@ -0,0 +1,3166 @@ + + + + + + + + + + + + + + + + + + + + + + + FAQs - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

FAQs

+

What is the history of SkySQL?

+

SkySQL is a database-as-a-service (DBaaS) that was originally developed and managed by MariaDB Corporation. The cloud division (SkySQL) was later spun out of MariaDB into a independent company - SkySQL Inc. The team that developed SkySQL transitioned over to the new company.

+

How do I sign up for SkySQL?

+
    +
  1. Go toĀ https://app.skysql.com
  2. +
  3. Log in or register using social login or email.
  4. +
  5. Once registered, you can get started right away byĀ launching a service,Ā connecting, andĀ loading data.
  6. +
+

Why would I choose a DBaaS over an on-premises deployment?

+

Our platform and experts handle the infrastructure needs, allowing you to focus on your core business.

+

When you choose SkySQL, a full-featured DBaaS, you forego the capital expenditure of buying hardware, the delay of waiting for new systems to ship every time you need to scale-up or scale-out, and the overhead and opportunity-cost of tuning, monitoring, and upgrading your database. SkySQL also handles routine tasks such as nightly backups and infrastructure maintenance.

+

And if you need ultimate control, and have the necessary skills and resources to hand-pick instances and tune configurations, we offer SkySQLĀ Power TierĀ to deliver all of the on-premises benefits without the capex (capital expense) and operational overhead.

+

How long do deployments on SkySQL take?

+

In Foundation Tier smaller databases launch in 2-4 mins. Power Tier deployments with isolated, dedicated Kubernetes environments can take up to 25 minutes. Subsequent database deployments will use the same Kubernetes environment and usually launch in 2-4 minutes.

+

The real time benefits come every day after, when you're operating at scale. A failed database node can recover in a matter of seconds using Kubernetes self-healing, or instantly failover to alternate replicated server. Instead of an eight-hour bare metal rebuild as you might see on-premises or on other cloud platforms.

+

What version of MariaDB does SkySQL support?

+

SkySQL provides services backed by:

+
    +
  • MariaDB Enterprise Server 10.4
  • +
  • MariaDB Enterprise Server 10.5
  • +
  • MariaDB Enterprise Server 10.6
  • +
  • MariaDB MaxScale
  • +
  • +
+

Are other databases supported?

+

No, SkySQL is dedicated to being the top choice for MariaDB. Our goal is to provide the best price-performance of any DBaaS, offer significant productivity improvements through automation, and serve as the most comprehensive end-to-end platform for all your database needs.

+

We offer ā€œfractional DBAsā€ - expert-maintained multi-cloud databases. We're glad to help with your move to SkySQL, whether you'reĀ migratingĀ from another database platform or looking toĀ lift-and-shiftĀ a MariaDB implementation to SkySQL.

+

What hardware does SkySQL run on?

+

SkySQL is multi-cloud and as a full-featured DBaaS we handle all of the hardware and infrastructure needs.

+

Services are currently available with a range ofĀ instance sizesĀ running on:

+
    +
  • Amazon AWS (Amazon Web Services) and Amazon EKS (Elastic Kubernetes Service)
  • +
  • Google GCP (Google Cloud Platform) and Google GKE (Google Kubernetes Engine)
  • +
+

Transactional services (such as our Replicated Transactions topology) operate on:

+ +

What software stack does SkySQL run on?

+

SkySQL runs on Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE), and MariaDB database products - Enterprise Server, Maxscale. MariaDB Enterprise Server enables a predictable development and operations experience through optimized builds, predictable release behavior, and vendor support.

+

How long has SkySQL existed?

+

SkySQLĀ officially launchedĀ as a production-ready enterprise-grade DBaaS in 2020, after extensive pre-release testing.

+

Is SkySQL ready for production use?

+

Yes. SkySQL delivers enterprise-grade cloud database services for mission-critical applications. SkySQL is built to make MariaDB Enterprise ready - optimized for security, stability, and reliability in demanding production environments. Multi-node database deployments feature a comprehensiveĀ SLA, High Availability (HA) features, and operations features.Ā Enterprise and Platinum supportĀ options extend support to 24x7, with the additional option ofĀ SkyDBAĀ for reactive and proactive assistance from a team of expert DBAs.Ā Security featuresĀ are designed to meet the GRC and infosec challenges faced by modern applications, andĀ DPA (GDPR) and BAA (HIPAA)Ā are available.

+

SkySQL Features

+

What services are available on SkySQL?

+

SkySQL is primarily designed for online applications and offers two topologies -

+

Replicated Transactions, Single Node Transactions

+

What options are available for scaling and right-sizing SkySQL?

+

You can chooseĀ topologies to match your workload requirements,Ā cloud regions to match your latency and operating requirements,Ā instance sizes, andĀ support plan.

+

Our platform features:

+ +

What reliability features are available on SkySQL?

+
    +
  • SkySQL is operated by a global team of Site Reliability Engineers (SRE), expert DBAs, and MariaDB software engineers. Platform problems are escalated to our team 24x7.
  • +
  • Support from MariaDB Corporation, including Enterprise and Platinum tiers optionally with SkyDBA for reactive and proactive assistance
  • +
  • Service Level Agreement, including an elevated SLA forĀ Power TierĀ customers
  • +
  • Kubernetes self-healing - Databases run in containers in kubernetes clusters and auto-heal.
  • +
  • Load balancing for multi-node configurations using MariaDB MaxScale
  • +
  • High Availability (HA) for multi-node configurations
  • +
  • MaxScale Redundancy option
  • +
  • Inbound and outbound replication - you can replicate to your self managed MariaDB anywhere.
  • +
+

What operations features are available on SkySQL?

+
    +
  • Support from SkySQL Inc, including Enterprise and Platinum tiers optionally with SkyDBA for reactive and proactive assistance
  • +
  • Vendor managed infrastructure and platform
  • +
  • SkySQL Portal and SkySQL DBaaS API for instance management
  • +
  • Compatibility with most programming languages and clients that work with MariaDB or MySQL, for off-the-shelf integration to your stack
  • +
  • Scheduled upgrades to database software
  • +
  • Automated nightly backups
  • +
  • Configuration management
  • +
  • On-demand backups and Snapshots
  • +
  • Monitoring
  • +
  • Ability to deploy additional services to support application migrations and testing on the same configuration used in production
  • +
  • On-demand tear-down of unneeded services
  • +
+

What governance, risk, compliance, and information security features are available on SkySQL?

+
    +
  • Firewall protection, including dedicated IP allowlists to access databases and to access monitoring features
  • +
  • Data-at-rest encryption
  • +
  • Data-in-transit encryption by default
  • +
  • VPC peering, AWS PrivateLink and GCP Private Service Connect options
  • +
  • Standard or enterprise authentication for management portal
  • +
  • Standard, LDAP, or 2FA database authentication
  • +
  • Business Associate Addendum (BAA) for HIPAA
  • +
  • Data Processing Addendum (DPA) for GDPR
  • +
+

Pricing

+

What does SkySQL cost? How is SkySQL priced?

+

Estimated SkySQL pricing is available from theĀ SkySQL portal. Account registration is required.

+

SkySQL pricing varies based on the selections made when youĀ launch a service. Examples of selections include provider, topology, instance and storage size, and region.

+

The pricing shown is not a quote and does not guarantee the cost for your actual use of SkySQL services, as is shown on monthly invoices. The cost estimate can vary from your actual costs forĀ several reasons.

+

Do I need to purchase a MariaDB Server license or subscription to use SkySQL?

+

No. Purchase of SkySQL service includesĀ supportĀ and access toĀ MariaDB database products on SkySQL.

+

I have an existing contract with Google. Can I leverage this for SkySQL?

+

Yes. SkySQL is listed in the Google Cloud Marketplace. Customers have the ability to retire their GCP commitment with a SkySQL subscription via the Marketplace.

+

See the Marketplace listing.

+

Contact usĀ if you have further questions.

+

I have an existing contract with AWS. Can I leverage this for SkySQL?

+

Yes. SkySQL is an AWS partner network. Customers can retire their AWS commitment with a SkySQL subscription via the AWS Marketplace.

+

See the AWS Marketplace listing

+

Contact usĀ if you have further questions.

+

Do you have a pricing calculator?

+

Estimated SkySQL pricing information is shown when youĀ create a serviceĀ based on the selections you make at launch time, such as topology, region, and instance size. PleaseĀ contact usĀ for assistance in cost estimation, includingĀ supportĀ andĀ Power Tier.

+

What is included in SkySQL pricing?

+

SkySQL pricing includes instances for a specific service topology, and monitoring, and also includes management features, e.g., backups, upgrades, patch installs, etc.Ā Some factors, such as object storage and network egress which are variable and usage-dependent, are not included in estimated pricing. We typically pass-thru the cloud provider costs with no additional markup.

+

What is optional in SkySQL pricing?

+

Add-ons are available to optimize your SkySQL experience:

+
    +
  • SkySQL Power TierĀ is a premium service offering for SkySQL customers who have the most critical requirements for uptime, availability, performance, and support.
  • +
  • While all Foundation Tier services include Standard Support, Power Tier customers select fromĀ Enterprise and Platinum support plans.
  • +
  • An option available to customers with Enterprise or Platinum support plans,Ā SkyDBAĀ further extends the premium support experience and the capabilities of your in-house DBAs with the backing from a global team of expert MariaDB DBAs, available 24/7 for the most severe (P1) issues. MariaDB's SkyDBAs manage your SkySQL databases both proactively and reactively so you can focus on your core business.
  • +
+

Is discounted pricing available for a longer-term commitment?

+

Yes. Discounts are typically offered for one-year and three-year commitments. PleaseĀ contact usĀ for more information.

+

Payment

+

What forms of payment does SkySQL accept?

+

SkySQL accepts payment byĀ major credit card and through remittance accounts.

+

Which credit cards does SkySQL accept?

+

SkySQL accepts all major credit cards. Specifically, we accept Visa, Mastercard, American Express, Discover, and Diners Club payments from customers worldwide.

+

How do I set up my account to pay by wire transfer/ACH?

+

Contact usĀ to have your account set up for payment by wire transfer or ACH.

+

Can I pre-fund my account?

+

SkySQL contract customers can pre-fund their account.Ā Contact usĀ for more information.

+

How do I pay my bill?

+

SkySQL charges are paid using the credit card on file, or via wire transfer/ACH upon invoice in the case of remittance accounts.

+

How do I edit my customer account?

+

You can edit your customer information on theĀ Account InformationĀ page.

+

Accounts which are part of aĀ TeamĀ should contact their Team Owner if billing changes are needed.

+

Can I buy SkySQL in the AWS Marketplace?

+

Yes. We offer direct purchase through the AWS Marketplace or we can craft a "private offer" to customize a subscription.

+

See the AWS Marketplace listing

+

Contact usĀ if you have further questions.

+

I have an existing contract with AWS. Can I leverage this for SkySQL?

+

Yes. SkySQL is an AWS partner network. Customers can retire their AWS commitment with a SkySQL subscription via the AWS Marketplace.

+

See the AWS Marketplace listing

+

Contact usĀ if you have further questions.

+

Can I buy SkySQL in the Google Marketplace?

+

Yes. We offer direct purchase through the Google Marketplace or we can craft a "private offer" to customize a subscription.

+

See the Marketplace listing.

+

Contact usĀ if you have further questions.

+

I have an existing contract with Google. Can I leverage this for SkySQL?

+

Yes. SkySQL is listed in the Google Cloud Marketplace. Customers have the ability to retire their GCP commitment with a SkySQL subscription via the Marketplace.

+

See the Marketplace listing.

+

Contact usĀ if you have further questions.

+

Billing and Invoices

+

Am I charged for deleted or stopped databases? What database states are billable?

+

If youĀ stop a SkySQL service, you will continue to be charged for storage, since your data is not deleted. Instance and egress charges will stop until the instance is started again.

+

How can I see my current charges?

+

Current month'sĀ estimated chargesĀ can be viewed on the SkySQL portal dashboard. Detailed information is also available under ā€˜Billingā€™ where you can see the breakdown for all your current charges - you can see resource usage by Service Name (your individual DB clusters) or by resource type. Variable charges such as object storage and network egress are updated the day prior to the last day of the month and are available in the invoice.

+

How can I see detailed billing reports?

+

SkySQL invoices are sent monthly and include a detailed breakdown of usage, pricing, and taxes. For Team accounts, only the Team owner has access to Account Information.

+

When will I be billed?

+

Invoices for SkySQL are sent by email on subscription renewal. Subscription renewal occurs on the last day of the month. Accounts using a credit card are charged at this time.

+

Will I be charged VAT or taxes?

+

MariaDB will bill for VAT and/or taxes in applicable jurisdictions. Customers are responsible for paying all applicable taxes and fees. See theĀ SkySQL Terms of UseĀ for additional information.

+

How can I see discounts and service credits?

+

Current month'sĀ estimated charges, including coupons and service credits, can be viewed on theĀ Account InformationĀ page and are updated six times per day.

+

In the event of service credits issued based onĀ SLA, service credits will be included in coupons and service credits on theĀ Account InformationĀ page.

+

Can I stop or pause my instance to save money?

+

Instances can beĀ stoppedĀ to save money. While stopped, additional instance and egress charges will not accrue, but you will continue to be charged for storage.

+

Who do I contact with billing questions?

+

ContactĀ info@skysql.comĀ with billing questions.

+

Backup and Restore

+

How do I backup my data on SkySQL?

+

SkySQL runs full backups automatically each night. SkySQL also allows on-demand backups (a Preview feature)

+

Can I set the frequency or schedule of automated backups?

+

No. Backup frequency and schedule are not customer configurable. SkySQL Power Tier customers should contact us if alternate backup frequency or schedule is required.

+

Are automated backups sent offsite? Will my data be sent to another country?

+

No. Data is not sent to another country. All data is managed within the same region where your database is running for data sovereignty.

+

Does SkySQL guarantee an RTO and RPO?

+

No.

+

Do backup operations impact application performance?

+

No.

+

MariaDB Enterprise Backup (mariabackup) is used for Replicated Transactions and Single Node Transactions service backups. MariaDB Enterprise Backup breaks up backups into non-blocking stages so writes and schema changes can occur during backups.

+

Are incremental backups available?

+

The backup service provides support for incremental backups. It is in preview state (Dec 2023).

+

How long are backups retained?

+

Backups for running and stopped services are retained for 30 days. If a service is deleted, no further backups for that service are produced and backups on hand are purged after 7 days.

+

Can I set the retention window for automated backups?

+

No. Backup retention is not customer configurable. SkySQL Power Tier customers should contact us if an alternate retention schedule is required.

+

How do I restore my data from a SkySQL backup?

+

Request data restore by creating a support case in theĀ Customer Support Portal. Please state what you need restored, and the desired restore point. Self service Restore functionality is available using the Backup service and API (in Preview as of Dec 2023)

+

Can I request a partial restore of data from backup?

+

Yes, byĀ support case.

+

Does SkySQL support Point-in-Time Recovery (PITR)?

+

By default, full and complete backup restoration is available. To enable point-in-time recovery, services must be configured in advance for additional binary log retention.Ā Point-in-time recovery (PITR)Ā configuration is available toĀ Power TierĀ customers.

+

Can I request restore of my data to a different region?

+

Yes, byĀ support case.

+

Can I request restore of my data to a different topology?

+

Yes, byĀ support case.

+

Can I retrieve my database backup from SkySQL? Is there vendor lock?

+

Yes, you can retrieve your database. No, there is no vendor lock. Your data is your data. Create aĀ support caseĀ for access to a backup.

+

Encryption

+

Does SkySQL support data-at-rest encryption (on-disk encryption)?

+

Yes. All SkySQL data is encrypted on disk.

+ +

Does SkySQL support data-in-transit encryption (over the network encryption)?

+

By default, SkySQL services feature data-in-transit encryption for client connections.

+

By default, server-to-server communications between the nodes of a SkySQL service are protected with data-in-transit encryption.

+

For additional information, see "Data-in-Transit Encryption".

+

Does SkySQL support encrypted client connections?

+

Yes. By default, SkySQL requires client connections via TLS (TLS 1.2, TLS 1.3).

+

Does SkySQL support unencrypted client connections?

+

SkySQL supportsĀ disabling SSL/TLSĀ as an option.

+

What encryption algorithms are used for on-disk encryption?

+

SkySQL on Amazon AWS benefits fromĀ Amazon EBS encryption, which is AES256.

+

SkySQL on Google GCP leverages Google'sĀ default encryption, which is AES256 or AES128.

+

What versions of SSL or TLS are supported?

+

TLS 1.2, and TLS 1.3 are supported.

+

When do TLS certificates expire?

+

TLS certificates expire every two years.

+

How are TLS certificates and encryption keys managed?

+

MariaDB Corporation leverages HashiCorp Vault for certificate and key management. Certificates and keys are not customer-configurable.

+

Are client certificates supported?

+

No. SkySQL supports server-side certificates. Database users are authenticated by standard password authentication, LDAP, and/or Two-Factor Authentication (2FA).

+

Is ed25519 authentication supported?

+

No. While MariaDB Enterprise Server includes ed25519 support, SkySQL leverages a version of MariaDB MaxScale which is not ed25519-compatible.

+

Why do I need to download a certificate authority chain?

+

A certificate authority chain is provided to allow your client to establish a secure and encrypted connection to a SkySQL database service, confirming the authenticity of the server certificate.

+

How frequently are cryptography libraries (like OpenSSL) updated?

+

Cryptography libraries are included in our standard release process, and vulnerability scanning is conducted for each release.

+

Data Deletion

+

Can I delete my running or stopped SkySQL service?

+

Yes. The decision to delete your running service rests with you and your business. Please consider production impacts before deleting a service. SkySQL permits the on-demand deletion of running and stopped services.

+

Can I delete my pending SkySQL service?

+

No. The launch process must complete before deletion is permitted.

+

How long do you keep my data when I delete a service?

+

All data residing on a service's storage is deleted at time of service deletion. Backups for deleted services are purged after 7 days.

+

Can I get my data back if I delete a service by accident?

+

Maybe. If you contact us before the system completes data deletion, yes, we can recover. Backups for deleted services are purged after 7 days.

+

Is it possible for SkySQL to retain my data when I delete a service?

+

No. You should download your data so you have a local copy before you delete the service.

+

Will my data be retained if a hard drive gets swapped-out?

+

No. SkySQL is hosted on public cloud provider systems.

+ +

Can data be purged from backups?

+

Yes. If you would like backups purged, pleaseĀ create a support case.

+

Monitoring

+

How do I access monitoring?

+

You can SkySQL Monitoring after launching a service, then clicking the "Monitoring" link in the SkySQL main menu (left navigation).

+

What is monitored?

+

SkySQL Monitoring covers status and metrics specific to a service and its servers. AĀ complete list of chartsĀ is provided.

+

Who is alerted if a service goes down?

+

SkySQL Incā€™s Support and SRE teams are alerted if a SkySQL service becomes unavailable or when serious issues are detected (e.g. disk is 90% utilized).

+

Additionally, SkySQL automatically turns on several sensible alerting rules so the customer can also be alerted.

+

How do I configure monitoring?

+

SkySQL Monitoring observes a standardized set of details and is not customer configurable. SkySQL Monitoring dashboards are configurable within the interface.

+

SkySQL Monitoring includes alerting features, which allow configurable alerting rules, notification channels, and notification criteria. These settings are managed from the SkySQL Monitoring interface. You can SkySQL Monitoring after launching a service by clicking the "Monitoring" link in the SkySQL main menu (left navigation).

+

Support

+

How do I contact support?

+

SkySQL customers can contact us via theĀ Customer Support Portal.

+

If you are not yet a SkySQL customer, pleaseĀ contact usĀ with questions.

+

What support options are available for SkySQL?

+

Included with Foundation Tier services:

+
    +
  • Standard Support, 24x5
  • +
+

Available to Power Tier customers:

+
    +
  • Enterprise Support, 24x7
  • +
+

SeeĀ full details of our support options.

+

Is 24x7x365 support available for mission-critical applications?

+

Yes.Ā Enterprise support levels are available for customers requiring 24x7x365 support (24 hours per day, 7 days per week, 365 (or 366) days per year).

+

Is SkySQL fully managed?

+

Yes. SkySQL infrastructure is fully managed, including many typical operations features such as automated nightly backups and monitoring.

+

Standard support is included with Foundation Tier services. Activities like performance tuning and assistance with schema change is not included in standard support. Power Tier customers choose between Enterprise and Platinum support options, which include consultative support.

+

Our optionalĀ SkyDBAĀ service is available for Enterprise and Platinum support customers, and SkyDBA customers receive both reactive (break/fix) and proactive (analyze/enhance) assistance.

+

What professional services are available for SkySQL?

+

SkySQL offers a full range of professional services, including:

+ +

Inquiries

+

Who do I contact if I have questions about SkySQL?

+

Contact SkySQL IncĀ or email us at info@skysql.ai

+

How can I keep up-to-date on changes to SkySQL?

+

Release notesĀ are provided to show changes to SkySQL services, features, interfaces, and documentation.

+

How do I contact sales to buy services on SkySQL?

+

SkySQL is available for immediate use.Ā Sign upĀ today andĀ get started. If you would like assistance from sales,Ā contact us.

+

Who do I contact with billing questions?

+

Billing questions can be directed to accounts receivable atĀ billing@mariadb.com

+

How do I provide feedback about SkySQL Documentation?

+

To aid our continuous improvement efforts, we encourage you to provide feedback on our documentation and your experiences using it via the following:

+
    +
  • Email info@skysql.ai
  • +
+

I am a SkySQL customer. How do I get support?

+

SkySQL customers can contact us via theĀ Customer Support Portal.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Portal features a48bd73b584b4a9db9b84ca94f958adc/Launch page 014bc19a417c4d169df7ae3f80b5f684/index.html b/Portal features a48bd73b584b4a9db9b84ca94f958adc/Launch page 014bc19a417c4d169df7ae3f80b5f684/index.html new file mode 100644 index 00000000..5a61eb93 --- /dev/null +++ b/Portal features a48bd73b584b4a9db9b84ca94f958adc/Launch page 014bc19a417c4d169df7ae3f80b5f684/index.html @@ -0,0 +1,2020 @@ + + + + + + + + + + + + + + + + + + + + + + + Launch page - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Launch page

+

https://mariadb.com/docs/_images/screenshots/launch-tx-xpand-gcp-choose-instance.png

+

Launch

+

https://skysql.mariadb.com/launch-service

+

While making launch-time selections, your selections and estimated costs are shown at right.

+

If you require AWS PrivateLink or Google Private Service Connect, pleaseĀ Contact Support.

+

To launch a SkySQL service from theĀ Portal:

+
    +
  1. From the Dashboard, click the "+ Launch New Service" button.
  2. +
  3. Choose the desiredĀ Workload Type.
  4. +
  5. Choose the desiredĀ Topology.
  6. +
  7. Choose the desiredĀ Cloud Provider.
  8. +
  9. Choose the desiredĀ Region.
      +
    • Each region has a scheduled maintenance window.
    • +
    +
  10. +
  11. Choose the desiredĀ Hardware Architecture.
      +
    • Hardware architecture choice is provided on select topologies.
    • +
    +
  12. +
  13. Choose the desiredĀ Instance Size.
      +
    • If your workload requires a larger instance size, contact us regardingĀ Power Tier.
    • +
    • When launching a service in the Serverless Analytics topology, dedicated capacity is not provisioned so there is no instance size selection.
    • +
    +
  14. +
  15. If needed, enableĀ Auto-Scaling of Nodes.
      +
    • This feature is provided on select topologies.
    • +
    +
  16. +
  17. Choose the desiredĀ Storage Configuration.
      +
    • When launching a service in the Serverless Analytics topology, dedicated capacity is not provisioned so there is no storage configuration.
    • +
    +
  18. +
  19. If needed, enableĀ Auto-Scaling of Storage.
      +
    • This feature is provided on select topologies.
    • +
    +
  20. +
  21. Choose number of nodes to deploy.
      +
    • This selection is provided on select topologies.
    • +
    • For Enterprise Server With Replica(s) topology, this isĀ Replica Count.
    • +
    • For Xpand Distributed SQL topology, this isĀ Xpand Node Count.
    • +
    +
  22. +
  23. Choose the desiredĀ Software Version.
      +
    • This selection is provided on select topologies.
    • +
    +
  24. +
  25. Enter the desired Service Name. Service name must align toĀ Service NameĀ rules.
  26. +
  27. Enable topology-specific features, if desired: +
  28. +
+

After initiating service launch, the service will be shown on theĀ PortalĀ Dashboard.

+

AĀ notificationĀ will be sent at time of service launch initiation and when service launch completes.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Portal features a48bd73b584b4a9db9b84ca94f958adc/Manage your Service a647ad5005f74122bc5fa86fa8d7fde6/index.html b/Portal features a48bd73b584b4a9db9b84ca94f958adc/Manage your Service a647ad5005f74122bc5fa86fa8d7fde6/index.html new file mode 100644 index 00000000..d83b44de --- /dev/null +++ b/Portal features a48bd73b584b4a9db9b84ca94f958adc/Manage your Service a647ad5005f74122bc5fa86fa8d7fde6/index.html @@ -0,0 +1,2069 @@ + + + + + + + + + + + + + + + + + + + + + + + Manage your Service - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Manage your Service

+

SkySQL's self-service management features enable authorized accounts to launch cloud databases, start and stop cloud databases, delete cloud databases, apply database configuration changes, and configure the cloud database's IP firewall.

+

Self-serviceĀ user managementĀ features enable you to define role-based access for your team to jointly manage SkySQL resources.

+

Stop a Service

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-stop-dialog.png

+

Service - Stop

+

https://app.skysql.com/dashboard

+

To stop a service:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click the "MANAGE" button (at right) for the desired service.
  4. +
  5. Choose the "Stop Service" menu item.
  6. +
  7. Click the "Yes, Stop this service" button to confirm this operation.
  8. +
+

The service will be stopped. You will only be charged for storage on a stopped service.

+

NotificationsĀ will be generated when this operation is initiated and when the operation is performed.

+

Start a Service

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-start-dialog.png

+

Service - Start

+

https://skysql.mariadb.com/dashboard

+

To start a service:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click the "MANAGE" button (at right) for the desired service.
  4. +
  5. Choose the "Start Service" menu item.
  6. +
  7. Click the "Yes, Start this service" button to confirm this operation.
  8. +
+

The service will be started. Service start may take up to 15 minutes. The normal billing cycle for the service will resume.

+

NotificationsĀ will be generated when this operation is initiated and when the operation is performed.

+

Scale Nodes In/Out

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-scale-nodes-horizontal-dialog.png

+

Service - Horizontal Scaling

+

https://skysql.mariadb.com/dashboard

+

Horizontal scaling is performed by scaling nodes In (reducing node count) or Out (increasing node count).

+

To scale nodes horizontally:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Identify the service you want to scale. Services must be in a "Healthy" state to scale.
  4. +
  5. Click the "MANAGE" button (at right) for the desired service.
  6. +
  7. Choose the "Scale nodes in/out" menu item.
  8. +
  9. Change the node count to the desired value.
  10. +
  11. Optionally, you can check the "Auto-scale nodes horizontally" checkbox to enableĀ AutonomousĀ features for this service.
  12. +
  13. Click the "Apply Changes" button.
  14. +
+

The service immediately goes into scaling status.

+

NotificationsĀ will be generated when this operation is initiated and when the operation is performed.

+

Scale Nodes Up/Down

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-scale-nodes-vertical-dialog.png

+

Service - Vertical Scaling

+

https://skysql.mariadb.com/dashboard

+

Vertical scaling is performed by scaling nodes Up (increasing node size) or Down (decreasing node size).

+

To scale nodes vertically:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Identify the service you want to scale. Services must be in a "Healthy" state to scale.
  4. +
  5. Click the "MANAGE" button (at right) for the desired service.
  6. +
  7. Choose the "Scale nodes up/down" menu item.
  8. +
  9. Change the node count to the desired value.
  10. +
  11. Optionally, you can check the "Auto-scale nodes vertically" checkbox to enableĀ AutonomousĀ features for this service.
  12. +
  13. Click the "Apply Changes" button.
  14. +
+

The service immediately goes into scaling status.

+

NotificationsĀ will be generated when this operation is initiated and when the operation is performed.

+

Scale Storage

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-scale-storage-dialog.png

+

Service - Scale Storage

+

https://skysql.mariadb.com/dashboard

+

To expand block storage capacity:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Identify the service you want to scale. Services must be in a "Healthy" state to scale.
  4. +
  5. Click the "MANAGE" button (at right) for the desired service.
  6. +
  7. Choose the "Scale storage" menu item.
  8. +
  9. Use the slider to select the desired amount of storage.
  10. +
  11. Click the "Apply Changes" button.
  12. +
+

Storage scaling is subject to a 6 hour cooldown period.

+

Storage upgrades are not reversible.

+

Delete a Service

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-stopped-delete-dialog.png

+

Service - Delete

+

https://skysql.mariadb.com/dashboard

+

To delete a service:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Identify the service you want to delete.
  4. +
  5. Click the "MANAGE" button (at right) for that service.
  6. +
  7. Choose the "Delete Service" menu item.
  8. +
  9. Read the warning and follow the provided instructions to confirm your delete operation.
  10. +
  11. Click "Yes, delete".
  12. +
+

Your service and all its data will be deleted. This operation is non-reversible.

+

NotificationsĀ will be generated when this operation is initiated and when the operation is performed.

+

Other Self-Service Operations

+ + + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Portal features a48bd73b584b4a9db9b84ca94f958adc/Notifications 47a5af40b9ee4be4970dfde8a92ef4a2/index.html b/Portal features a48bd73b584b4a9db9b84ca94f958adc/Notifications 47a5af40b9ee4be4970dfde8a92ef4a2/index.html new file mode 100644 index 00000000..66fbf30f --- /dev/null +++ b/Portal features a48bd73b584b4a9db9b84ca94f958adc/Notifications 47a5af40b9ee4be4970dfde8a92ef4a2/index.html @@ -0,0 +1,2043 @@ + + + + + + + + + + + + + + + + + + + + + + + Notifications - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Notifications

+

Actions performed through the Portal will generate a notification.

+

One notification is generated when an action is initiated.

+

Additional notifications are generated to convey status as the action is carried out by the system.

+

Access to Notifications

+

To access current notifications:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click the bell icon in the upper-right corner of the interface.
  4. +
+

A menu of recent notifications will be displayed.

+

The bell icon will include a red dot indicator when a new notification is present. This indicator can be cleared by clicking the "Clear all" link.

+

https://mariadb.com/docs/_images/screenshots/notifications-dialog.png

+

Notifications

+

https://skysql.mariadb.com/dashboard

+

To view historical notifications, click the "View more" link at the bottom of the menu. When viewing historical notifications, notifications can be filtered by category and time frame.

+

https://mariadb.com/docs/_images/screenshots/notifications-all.png

+

Notifications - current and historical

+

https://skysql.mariadb.com/notifications

+

Notification Categories

+
    +
  • Service Alerts, which are based onĀ Alerts
  • +
  • Billing
  • +
  • Service, which are based onĀ PortalĀ actions
  • +
  • Organization
  • +
+

User Preferences

+

You can configure the notifications delivered to your email address from User Preferences.

+

To access User Preferences:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click your name in the upper-right corner of the interface.
  4. +
  5. Choose "User preferences".
  6. +
+

From User Preferences you can specify your notification preferences:

+
    +
  • Whether to send notifications to you by email
  • +
  • Which Notification Categories you want to be sent
  • +
+

https://mariadb.com/docs/_images/screenshots/user-preferences.png

+

User Preferences

+

https://skysql.mariadb.com/user-preferences

+

Notification Channels

+

In addition to display in the Portal, notifications can also be delivered by email.

+

Notification Channels define who receives what type of notifications.

+

To access Notification Channel settings:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click the "Settings" link in the main menu (left navigation in the Portal).
  4. +
  5. Click the "Notification Channel" button.
  6. +
+

https://mariadb.com/docs/_images/screenshots/notifications-channels.png

+

Notification Channels

+

https://skysql.mariadb.com/settings/channel

+

Add a Notification Channel

+

To add a Notification Channel, from the Notification Channel settings interface:

+
    +
  1. Click the "Add" button in the upper-right corner.
  2. +
  3. Enter a channel name.
  4. +
  5. Enter the email address that will receive notifications.
  6. +
  7. Choose the notification categories that should be sent to that address.
  8. +
+

https://mariadb.com/docs/_images/screenshots/notifications-channels-add-dialog.png

+

Notification Channels - Adding a Channel

+

https://skysql.mariadb.com/settings/channel

+

Remove a Notification Channel

+

To remove a Notification Channel, from the Notification Channel settings interface:

+
    +
  1. Check the checkbox to the left of the notification channel to be removed.
  2. +
  3. Click the "Delete" button (which appears when a notification channel is selected by checkbox).
  4. +
  5. Confirm removal of the notification channel by clicking the "Yes, delete" button.
  6. +
+

Edit a Notification Channel

+

To modify a Notification Channel, from the Notification Channel settings interface:

+
    +
  1. Click the name of the channel to modify.
  2. +
  3. Make the desired changes to the channel name, email address recipient list, and notification categories.
  4. +
  5. Click the "Save" button.
  6. +
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Portal features a48bd73b584b4a9db9b84ca94f958adc/Service Details page e98710a1c3444f3388548f782ff856f9/index.html b/Portal features a48bd73b584b4a9db9b84ca94f958adc/Service Details page e98710a1c3444f3388548f782ff856f9/index.html new file mode 100644 index 00000000..dec193c3 --- /dev/null +++ b/Portal features a48bd73b584b4a9db9b84ca94f958adc/Service Details page e98710a1c3444f3388548f782ff856f9/index.html @@ -0,0 +1,1996 @@ + + + + + + + + + + + + + + + + + + + + + + + Service Details page - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Service Details page

+

AfterĀ service launch, a detailed summary of the service can be accessed in the Service Details interface.

+

Access to Service Details

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. From the Dashboard, click the name of the desired service.
  4. +
  5. Click the "Details" tab.
  6. +
+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-details.png

+

Service Details

+

https://skysql.mariadb.com/service/DBID/details

+

Available Information

+

Service details vary based on topology.

+

Service details may include:

+
    +
  • Hardware architecture
  • +
  • Instance size
  • +
  • Software version
  • +
  • Timestamp of service launch
  • +
  • Storage capacity
  • +
  • Count of replicas
  • +
  • Read-only TCP port
  • +
  • Read-write TCP port
  • +
  • NoSQL interface TCP port
  • +
  • IP address used for outbound traffic
  • +
  • Auto-scaling settings for nodes
  • +
  • Auto-scaling settings for storage
  • +
  • Fully Qualified Domain Name (hostname)
  • +
  • Configuration settings applied to the service
  • +
  • Current charges and hourly costs
  • +
  • Scheduled maintenance window
  • +
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Portal features a48bd73b584b4a9db9b84ca94f958adc/index.html b/Portal features a48bd73b584b4a9db9b84ca94f958adc/index.html new file mode 100644 index 00000000..9e6f2e69 --- /dev/null +++ b/Portal features a48bd73b584b4a9db9b84ca94f958adc/index.html @@ -0,0 +1,2252 @@ + + + + + + + + + + + + + + + + + + + + + + + Portal features - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Portal features

+

From the SkySQL Portal, you can launch, query, monitor, and manage your SkySQL services.

+

Access the Portal

+

You can access the Portal here

+

Dashboard

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-healthy.png

+

From the Dashboard, you can see a list of your SkySQL services and status information for each service.

+

From a different view, the Dashboard can be accessed by clicking the "Dashboard" link in the main menu (left navigation in the Portal).

+

Launch

+

To launch a new service, click the "+ Launch New Service" button on the Dashboard.

+

See "Service Launch" for details on the service launch process and launch-time selections.

+

Service-Specific Interfaces

+

Service-specific interfaces are available from the Dashboard by clicking on the service name for the desired service.

+

Service-specific interfaces will vary by topology.

+

Service-specific interfaces are provided to:

+ +

Connect

+

From the Dashboard, the details needed to connect to your SkySQL service can be seen by clicking on the "CONNECT" button for the desired service.

+

See "Client Connections" for details on how to connect to a service.

+

Manage

+

From the Dashboard, the "MANAGE" button for a service provides access to:

+ +

Billing

+

The Dashboard includes a Spending gauge to indicate current charges. More detailed billing information can be accessed by clicking on the Spending gauge.

+

Alternatively, you can access detailed billing and invoice information by clicking on your name in the upper-right corner of the interface, then select "Billing" from the menu.

+

See "Billing" for additional details.

+

Monitoring

+

The Dashboard includes monitoring gauges for Current SQL Commands, CPU Load, and QPS (Queries Per Second). More detailed monitoring can be accessed by clicking on one of these gauges.

+

Alternatively, you can access detailed server and service monitoring by clicking on the service name from the Dashboard, then accessing the Monitoring tab (the default view).

+

See "Monitoring" for additional details.

+

Alerts

+

The Dashboard includes the count of active monitoring alerts for your service. More detailed alert information can be accessed by clicking on the Alerts gauge.

+

Alternatively, you can access monitoring alerts by clicking the "Alerts" link in the main menu (left navigation in the Portal).

+

See "Alerts" for additional details.

+

Logs

+

Server log files can be accessed by clicking the "Logs" link in the main menu (left navigation in the Portal).

+

See "Logs" for additional details.

+

Workspace

+

From the Portal, you can connect to and query your SkySQL databases.

+

These features can be accessed by clicking the "Workspace" link in the main menu (left navigation in the Portal):

+ +

Settings

+

These settings can be accessed by clicking the "Settings" link in the main menu (left navigation in the Portal):

+ +

Notifications

+

Actions performed through the Portal will generate a notification.

+

To view current notifications, click the bell icon in the upper-right corner of the interface.

+

See "Notifications" for additional details.

+

User Preferences

+

To customize your email notification preferences, click your name in the upper-right corner of the interface, then choose "User preferences".

+

See "Notifications" for additional details.

+

Logout

+

To log out from SkySQL, click your name in the upper-right corner of the interface, then choose "Logout" from the menu.

+

Key Features

+
+

Note

+

šŸ’” TODO - most of these features are described elsewhere. To be removed later.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
https://mariadb.com/docs/skysql-previous-release/service-management/options/aws-privatelink/Connects your AWS VPC network to MariaDB SkySQL with connectivity over Amazon's network
https://mariadb.com/docs/skysql-previous-release/service-management/options/cross-region-replicas/For disaster recovery, data is replicated to a different supported region
https://mariadb.com/docs/skysql-previous-release/service-management/options/custom-configuration/Changes the default service design and configuration
https://mariadb.com/docs/skysql-previous-release/service-management/options/custom-instance-sizes/Changes the available instance sizes
https://mariadb.com/docs/skysql-previous-release/service-management/options/database-account-2fa/Enables two-factor authentication (2FA) for database user accounts
https://mariadb.com/docs/skysql-previous-release/service-management/options/database-account-ldap/Enables LDAP authentication for database user accounts
https://mariadb.com/docs/skysql-previous-release/service-management/options/disable-ssltls/Disables default data-in-transit encryption; typically paired with AWS PrivateLink or GCP VPC Peering
https://mariadb.com/docs/skysql-previous-release/service-management/options/maxscale-redundancy/Enables highly available (HA) active-active load balancers and ability to choose load balancer instance size
https://mariadb.com/docs/skysql-previous-release/service-management/options/point-in-time-recovery/Configures additional retention of binary logs to enable point-in-time recovery at a later date
https://mariadb.com/docs/skysql-previous-release/service-management/options/replication/Inbound (to MariaDB SkySQL) and outbound (from MariaDB SkySQL) replication
https://mariadb.com/docs/skysql-previous-release/service-management/options/single-zone-deployment/Reduced latency for Distributed Transactions
https://mariadb.com/docs/skysql-previous-release/service-management/options/skysql-portal-sso/Authenticate to SkySQL Portal using SAML 2.0 IDP
https://mariadb.com/docs/skysql-previous-release/service-management/options/skysql-teams/Multiple SkySQL user accounts jointly maintain services under a single billing profile
https://mariadb.com/docs/skysql-previous-release/service-management/options/vpc-peering/Connects your GCP VPC network to MariaDB SkySQL with connectivity over Google's network
+

Notifications

+

Launch page

+

Service Details page

+

Manage your Service

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Quickstart da3c5848d30348b1815026b2d24219a6/Launch DB using the REST API cf85a5036a454ee987bb392df694dfc3/index.html b/Quickstart da3c5848d30348b1815026b2d24219a6/Launch DB using the REST API cf85a5036a454ee987bb392df694dfc3/index.html new file mode 100644 index 00000000..5bafb706 --- /dev/null +++ b/Quickstart da3c5848d30348b1815026b2d24219a6/Launch DB using the REST API cf85a5036a454ee987bb392df694dfc3/index.html @@ -0,0 +1,2397 @@ + + + + + + + + + + + + + + + + + + + + + + + Launch DB using the REST API - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Launch DB using the REST API

+

This walkthrough explains how to launch database services and manage the lifecycle of database services using the SkySQL DBaaS REST API.

+

Launch a Service

+

Step 1: Generate API Key

+
    +
  1. Go to theĀ Generate API KeyĀ page.
  2. +
  3. Fill out the API key details:
      +
    • In the "Description" field, describe the purpose of the API key.
    • +
    • In the "Expiration" field, specify how long this key will be valid. If you need to revoke the key before it expires, you can revoke it from theĀ API KeysĀ page.
    • +
    • In the "Scopes" field, select the "read" and "write" scopes underĀ SkySQLĀ API:Ā Databases.
    • +
    +
  4. +
  5. Click the "Generate API Key" button.
  6. +
  7. After the page refreshes, click the "Copy to clipboard" button to copy the API key.
  8. +
  9. Paste the API key somewhere safe and do not lose it.
  10. +
  11. +

    Set theĀ SKYSQL_API_KEYĀ environment variable to the new API key value:

    +
    $ export SKYSQL_API_KEY='... key data ...'
    +
    +

    TheĀ SKYSQL_API_KEYĀ environment variable will be used in the subsequent steps.

    +
  12. +
+
+

Note

+

You can use the Swagger docs site we host we try out the API OR +Follow the instructions below to try the API using your command Shell

+
+

Step 2: Use Swagger docs to try out the APIs

+

You can use the API Documentation here and directly try out the APIs in your browser.

+

All you need is to click ā€˜Authorizeā€™ and type in Bearer <supply your API key here>

+
+

Note

+

** Pre-requisites for code below **

+

The examples below useĀ curlĀ as the REST client.Ā curlĀ is available for Linux, macOS, and MS Windows. Of course, you can use any language client that supports invoking REST over HTTP. +Examples below also use jq, a JSON parsing utility.Ā jqĀ is available for Linux, macOS, and MS Windows. Install jq then proceed.

+

The examples also make use ofĀ teeĀ to save the response JSON data to a file while also allowing it to be piped toĀ jqĀ for output. Both Linux and macOS supportĀ teeĀ as described in the examples. On MS Windows, Powershell has aĀ teeĀ command that requires theĀ -filepathĀ option to be inserted prior to the filename.

+

TheĀ chmodĀ command is used to make a file private to the current user. If your environment doesn't supportĀ chmod, you can set the file's permissions using other means.

+

The examples also make use of exported variables andĀ ${VARIABLE_NAME}Ā variable references that are compatible with Bourne-like shells (such asĀ sh,Ā bash, andĀ zsh). On MS Windows, you will need to adapt these instructions if you are not using a Bourne-like shell. For example, you can copy just theĀ jqĀ part of an export command (from inside the backticks), run that on its own, and then copy/paste the resulting string into a variable assignment for your shell.

+

Finally, the examples use a backslash at the end of some of the lines to indicate to the shell that a command spans multiple lines. If your shell doesn't allow this, remove each trailing backslash character and join the following line to the end of the current line.

+
+

Step 2: Determine the Client IP Address

+

When your new service is created, your client can only connect through the service's firewall if the client IP address is in the service's IP allowlist.

+

Before creating the new service, determine the public IP address of your client host and save it to theĀ SKYSQL_CLIENT_IPĀ environment variable.

+

If you are not sure of your public IP address, you can use a lookup service, such asĀ checkip.amazonaws.com:

+
$ export SKYSQL_CLIENT_IP=`curl -sS checkip.amazonaws.com`
+
+

Step 3: Launch a Service

+

To launch a service:

+
    +
  1. Prepare a request body containing the desired service options in a file calledĀ request-service.json:
  2. +
+
cat > request-service.json <<EOF
+{
+  "service_type": "transactional",
+  "topology": "es-single",
+  "provider": "gcp",
+  "region": "us-central1",
+  "architecture": "amd64",
+  "size": "sky-2x8",
+  "storage": 100,
+  "nodes": 1,
+  "name": "skysql-quickstart",
+  "ssl_enabled": true,
+  "allow_list": [
+     {
+        "comment": "Describe the IP address",
+        "ip": "${SKYSQL_CLIENT_IP}/32"
+     }
+  ]
+}
+EOF
+
+

This configuration is suitable for a quick test, but a more customized configuration should be selected for performance testing or for alignment to the needs of production workloads:

+ +
curl -sS --location --request POST \
+   --header "Authorization: Bearer ${SKYSQL_API_KEY}" \
+   --header "Accept: application/json" \
+   --header "Content-type: application/json" \
+   --data '@request-service.json' \
+   https://api.skysql.com/provisioning/v1/services \
+   | tee response-service.json | jq .
+
+

Upon success, the command will return JSON with details about the new service.

+
    +
  1. +

    Read the service ID for the new service and save the value in theĀ SKYSQL_SERVICEĀ environment variable:

    +
    $ export SKYSQL_SERVICE=`jq -r .id response-service.json`
    +
    +
  2. +
+

Step 4: Check Service State

+

Before advancing, check the service state using theĀ [/provisioning/v1/services/${SKYSQL_SERVICE}Ā API endpoint](https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_,GET/):

+
curl -sS --location --request GET \
+   --header "Authorization: Bearer ${SKYSQL_API_KEY}" \
+   --header "Accept: application/json" \
+   https://api.skysql.com/provisioning/v1/services/${SKYSQL_SERVICE} \
+   | tee response-state.json | jq .status
+
+

When the service is still being launched, the JSON payload will containĀ "pending_create"Ā orĀ "pending_modifying"Ā as the service status.

+

When the service has been launched, the JSON payload containsĀ "ready", and you can continue with the next steps. Keep in mind that some of the following values will not be populated in the JSON data until this ready status has been achieved.

+

Step 5: Obtain Connection Details

+

Obtain the connection credentials for the new SkySQL service by executing the following commands:

+
    +
  1. +

    IfĀ ssl_enabledĀ isĀ trueĀ on your service (the default), downloadĀ [skysql_chain_2022.pem](https://supplychain.mariadb.com/skysql/skysql_chain_2022.pem), which contains the Certificate Authority chain that is used to verify the server's certificate for TLS:

    +
    $ curl https://supplychain.mariadb.com/skysql/skysql_chain_2022.pem --output ~/Downloads/skysql_chain_2022.pem
    +
    +
  2. +
  3. +

    Obtain the hostname and port of the service and save them to theĀ SKYSQL_FQDNĀ andĀ SKYSQL_PORTĀ environment variables:

    +
      +
    • +

      The hostname is specified with theĀ "fqdn"Ā key.

      +
      $ export SKYSQL_FQDN=`jq -r .fqdn response-state.json`
      +
      +
    • +
    • +

      Available TCP ports are specified in theĀ "endpoints"Ā array. For this test, connect to theĀ "port"Ā whereĀ "name"Ā isĀ "readwrite".

      +
      $ export SKYSQL_PORT=`jq '.endpoints[0].ports[] | select(.name=="readwrite") | .port' response-state.json`
      +
      +
    • +
    +
  4. +
  5. +

    Obtain the default username and password for the service using theĀ [/provisioning/v1/services/${SKYSQL_SERVICE}/security/credentialsĀ API endpoint](https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_credentials/)Ā and save the response to theĀ response-credentials.jsonĀ file:

    +
  6. +
+
curl -sS --location --request GET \
+   --header "Authorization: Bearer ${SKYSQL_API_KEY}" \
+   --header "Accept: application/json" \
+   --header "Content-type: application/json" \
+   https://api.skysql.com/provisioning/v1/services/${SKYSQL_SERVICE}/security/credentials \
+   | tee response-credentials.json | jq .
+
+

The default username and password will not be available until the service state isĀ "ready".

+
    +
  1. +

    Set the file's mode to only allow the current user to read its contents:

    +
    $ chmod 600 response-credentials.json
    +
    +
  2. +
  3. +

    Read the username and password fromĀ response-credentials.jsonĀ and save them to theĀ SKYSQL_USERNAMEĀ andĀ SKYSQL_PASSWORDĀ environment variables:

    +
    $ export SKYSQL_USERNAME=`jq -r .username response-credentials.json`
    +$ export SKYSQL_PASSWORD=`jq -r .password response-credentials.json`
    +
    +
  4. +
+

Step 6: Connect

+

Connect to the database using the host, port, and default credentials using theĀ [mariadbĀ client](https://mariadb.com/docs/skysql-dbaas/ref/mdb/cli/mariadb/):

+
mariadb --host ${SKYSQL_FQDN} --port ${SKYSQL_PORT} \
+   --user ${SKYSQL_USERNAME} --password="${SKYSQL_PASSWORD}" \
+   --ssl-ca ~/Downloads/skysql_chain_2022.pem
+
+

If you don't want the password to appear on the command-line, specify theĀ [--passwordĀ command-line option](https://mariadb.com/docs/skysql-dbaas/ref/mdb/cli/mariadb/password/)Ā without an argument to be prompted for a password.

+

Step 7: Save Connection Information (Optional)

+

To connect to your SkySQL service easily, it is possible to create aĀ .my.cnfĀ file in your home directory that contains all the details of your connection.

+
    +
  1. Use the following command to create a newĀ .my.cnfĀ file or overwrite an existing one and populates it with the connection information that was collected in the previous steps:
  2. +
+
cat > ~/.my.cnf <<EOF
+[client]
+host=${SKYSQL_FQDN}
+port=${SKYSQL_PORT}
+user=${SKYSQL_USERNAME}
+password="${SKYSQL_PASSWORD}"
+ssl-ca=${HOME}/Downloads/skysql_chain_2022.pem
+EOF
+
+
    +
  1. +

    Set the file system permissions for theĀ .my.cnfĀ file to ensure that other users can't read it:

    +
    $ chmod 600 ~/.my.cnf
    +
    +
  2. +
  3. +

    When all the connection parameters are in yourĀ ~/.my.cnfĀ file, theĀ [mariadbĀ client](https://mariadb.com/docs/skysql-dbaas/ref/mdb/cli/mariadb/)Ā can connect without specifying any command-line options:

    +
    $ mariadb
    +
    +
  4. +
+

Resources

+ + + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Quickstart da3c5848d30348b1815026b2d24219a6/Launch DB using the Terraform Provider ae9f036b2d7c43b3a6e162bcdd4b4c97/index.html b/Quickstart da3c5848d30348b1815026b2d24219a6/Launch DB using the Terraform Provider ae9f036b2d7c43b3a6e162bcdd4b4c97/index.html new file mode 100644 index 00000000..74dff5fe --- /dev/null +++ b/Quickstart da3c5848d30348b1815026b2d24219a6/Launch DB using the Terraform Provider ae9f036b2d7c43b3a6e162bcdd4b4c97/index.html @@ -0,0 +1,2848 @@ + + + + + + + + + + + + + + + + + + + + + + + Launch DB using the Terraform Provider - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Launch DB using the Terraform Provider

+

This walkthrough explains how to launch database services and manage the lifecycle of database services using the Terraform provider.

+

For users who prefer other interfaces, SkySQL offers the following alternatives:

+
    +
  • Use theĀ PortalĀ in a web browser
  • +
  • Use theĀ DBaaS APIĀ with a REST client
  • +
+

This walkthrough demonstrates a service configuration that is suitable for a quick test. A more customized configuration should be selected for performance testing or for alignment to the needs of production workloads.

+
+

Note

+

This procedure uses Terraform. HashiCorp officially supports Terraform on several Linux distributions, but HashiCorp also provides binaries for Microsoft Windows, macOS, and other operating systems.

+

For a list of operating systems that are officially supported for Terraform, see "HashiCorp Terraform Documentation: Supported Operating Systems".

+

For a list of operating systems that have binaries available for Terraform, see "HashiCorp Terraform Documentation: Install Terraform".

+
+

Dependencies

+
    +
  • This procedure requires Terraform to be installed. For information about how to install Terraform, see "HashiCorp Terraform Documentation: Install Terraform".
  • +
  • The examples in this procedure also useĀ jq, a JSON parsing utility.Ā jqĀ is available for Linux, macOS, and MS Windows. InstallĀ jqĀ then proceed.
  • +
  • The examples in this procedure also useĀ curl, a data transfer utility.Ā curlĀ is available for Linux, macOS, and MS Windows. InstallĀ curlĀ then proceed.
  • +
  • The examples in this procedure also useĀ wget, a file download utility.Ā GNU WgetĀ is available for Linux, macOS, and MS Windows. InstallĀ wgetĀ then proceed.
  • +
  • The examples in this procedure also use exported environment variables that are compatible with Bourne-like shells (such asĀ sh,Ā bash, andĀ zsh).
  • +
+

Launch a Service

+

Step 1: Generate API Key

+
    +
  1. Go to theĀ Generate API KeyĀ page.
  2. +
  3. Fill out the API key details:
      +
    • In the "Description" field, describe the purpose of the API key.
    • +
    • In the "Expiration" field, specify how long this key will be valid. If you need to revoke the key before it expires, you can revoke it from theĀ API KeysĀ page.
    • +
    • In the "Scopes" field, select the "read" and "write" scopes underĀ SkySQLĀ API:Ā Databases.
    • +
    +
  4. +
  5. Click the "Generate API Key" button.
  6. +
  7. After the page refreshes, click the "Copy to clipboard" button to copy the API key.
  8. +
  9. Paste the API key somewhere safe and do not lose it.
  10. +
+

Step 2: Create Terraform Project Directory

+

Create a directory for your Terraform project and change to the directory:

+

$ mkdir -p ~/skysql-nr-tf +$ cd ~/skysql-nr-tf

+

Step 3: CreateĀ main.tf

+

In the Terraform project directory, create aĀ main.tfĀ file that contains the following:

+ +
# ---------------------
+# Provider Requirements
+# ---------------------
+# TF Documentation: https://developer.hashicorp.com/terraform/language/providers/requirements
+
+terraform {
+  required_providers {
+    skysql = {
+      source          = "registry.terraform.io/mariadb-corporation/skysql"
+    }
+  }
+}
+
+# ----------------------
+# Provider Configuration
+# ----------------------
+# TF Documentation: https://developer.hashicorp.com/terraform/language/providers/configuration
+
+provider "skysql" {
+   access_token       = var.api_key
+}
+
+# ---------
+# Resources
+# ---------
+# TF Documentation: https://developer.hashicorp.com/terraform/language/resources/syntax
+
+# Create a service
+resource "skysql_service" "default" {
+  service_type        = var.service_type
+  topology            = var.topology
+  cloud_provider      = var.cloud_provider
+  region              = var.region
+  availability_zone   = coalesce(var.availability_zones, data.skysql_availability_zones.default.zones[0].name)
+  architecture        = var.architecture
+  size                = var.size
+  storage             = var.storage
+  nodes               = var.nodes
+  version             = coalesce(var.sw_version, data.skysql_versions.default.versions[0].name)
+  name                = var.name
+  ssl_enabled         = var.ssl_enabled
+  deletion_protection = var.deletion_protection
+  wait_for_creation   = true
+  wait_for_deletion   = true
+  wait_for_update     = true
+  is_active           = true
+  allow_list          = [
+     {
+        "ip"          : var.ip_address,
+        "comment"     : var.ip_address_comment
+     }
+  ]
+}
+
+# ------------
+# Data Sources
+# ------------
+# TF Documentation: https://developer.hashicorp.com/terraform/language/data-sources
+
+# Retrieve the list of projects. Projects are a way to group services.
+data "skysql_projects" "default" {}
+
+# Retrieve the list of available versions for a specific topology
+data "skysql_versions" "default" {
+  topology            = var.topology
+}
+
+# Retrieve the service details
+data "skysql_service" "default" {
+  service_id          = skysql_service.default.id
+}
+
+# Retrieve the service default credentials.
+# When the service is created please change the default credentials
+data "skysql_credentials" "default" {
+  service_id          = skysql_service.default.id
+}
+
+data "skysql_availability_zones" "default" {
+  region              = var.region
+  filter_by_provider  = var.cloud_provider
+}
+
+

Step 4: CreateĀ outputs.tf

+

In the Terraform project directory, create anĀ outputs.tfĀ file that contains theĀ output valuesĀ used to display metadata about the SkySQL service:

+
# -------------
+# Output Values
+# -------------
+# TF Documentation: https://developer.hashicorp.com/terraform/language/values/outputs
+
+output "skysql_projects" {
+  value = data.skysql_projects.default
+}
+
+# Show the service details
+output "skysql_service" {
+  value = data.skysql_service.default
+}
+
+# Show the service credentials
+output "skysql_credentials" {
+  value     = data.skysql_credentials.default
+  sensitive = true
+}
+
+# Example how you can generate a command line for the database connection
+output "skysql_cmd" {
+  value = "mariadb --host ${data.skysql_service.default.fqdn} --port 3306 --user ${data.skysql_service.default.service_id} -p --ssl-ca ~/Downloads/skysql_chain_2022.pem"
+}
+
+output "availability_zones" {
+  value = data.skysql_availability_zones.default
+}
+
+

Step 5: CreateĀ variables.tf

+

In the Terraform project directory, create aĀ variables.tfĀ file that contains theĀ input variablesĀ used to configure the SkySQL service:

+
# ---------------
+# Input Variables
+# ---------------
+# TF Documentation: https://developer.hashicorp.com/terraform/language/values/variables
+
+variable "api_key" {
+   type                 = string
+   sensitive            = true
+   description          = "The SkySQL API Key generated at: https://id.mariadb.com/account/api/generate-key"
+}
+
+variable "service_type" {
+   type                 = string
+   default              = "transactional"
+   description          = "Specify \"transactional\" or \"analytical\". For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/service-types/"
+}
+
+variable "topology" {
+   type                 = string
+   default              = "es-single"
+   description          = "Specify a topology. For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/topologies/"
+}
+
+variable "cloud_provider" {
+    type                 = string
+    default              = "gcp"
+    description          = "Specify the cloud provider. For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/providers/"
+}
+
+variable "region" {
+   type                 = string
+   default              = "us-central1"
+   description          = "Specify the region. For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/regions/"
+}
+
+variable "availability_zone" {
+   type                 = string
+   default              = null
+   description          = "Specify the availability zone for the cloud provider and region. For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/availability-zones/"
+}
+
+variable "architecture" {
+   type                 = string
+   default              = "amd64"
+   description          = "Specify a hardware architecture. For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/architectures/"
+}
+
+variable "size" {
+   type                 = string
+   default              = "sky-2x8"
+   description          = "Specify the database node instance size. For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/instance-sizes/"
+}
+
+variable "storage" {
+   type                 = number
+   default              = 100
+   description          = "Specify a transactional storage size. For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/storage-sizes/"
+}
+
+variable "nodes" {
+   type                 = number
+   default              = 1
+   description          = "Specify a node count. For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/node-count/"
+}
+
+variable "sw_version" {
+   type                 = string
+   default              = null
+   description          = "Specify a software version. For additional information, see: https://mariadb.com/docs/skysql/ref/skynr/selections/versions/"
+}
+
+variable "name" {
+   type                 = string
+   default              = "skysql-nr-quickstart"
+   description          = "Specify a name for the service. For additional information, see: https://mariadb.com/docs/skysql/selections/nr-launch-time-service-name/"
+}
+
+variable "ssl_enabled" {
+   type                 = bool
+   default              = true
+   description          = "Specify whether TLS should be enabled for the service. For additional information, see: https://mariadb.com/docs/skysql/selections/nr-launch-time-disable-ssltls/"
+}
+
+variable "deletion_protection" {
+   type                 = bool
+   default              = true
+   description          = "Specify whether the service can be deleted via Terraform (false) or whether trying to do so raises an error (true)"
+}
+
+variable "ip_address" {
+   type                 = string
+   description          = "Specify an IP address in CIDR format to add to the service's IP allowlist. For additional information, see: https://mariadb.com/docs/skysql/security/nr-firewall/"
+}
+
+variable "ip_address_comment" {
+   type                 = string
+   description          = "Specify a comment describing the IP address. For additional information, see: https://mariadb.com/docs/skysql/security/nr-firewall/"
+}
+
+

The variables are configured in the next step.

+

Step 6: Configure Service in aĀ .tfvarsĀ File

+

AĀ [.tfvarsĀ file](https://developer.hashicorp.com/terraform/tutorials/configuration-language/variables#assign-values-with-a-file)Ā can be used to configure the service using the input variables.

+

For example:

+
api_key             = "... key data ..."
+service_type        = "transactional"
+topology            = "es-single"
+cloud_provider      = "gcp"
+region              = "us-central1"
+availability_zone   = null
+architecture        = "amd64"
+size                = "sky-2x8"
+storage             = 100
+nodes               = 1
+sw_version          = null
+name                = "skysql-nr-quickstart"
+ssl_enabled         = true
+deletion_protection = true
+ip_address          = "192.0.2.10/32"
+ip_address_comment  = "Describe the IP address"
+
+

The input variables should be customized for your own needs:

+ +

The following steps assume that the file is calledĀ skysql-nr-quickstart.tfvars.

+

Step 7: RunĀ terraformĀ init

+

Initialize the Terraform project directory and download the Terraform provider from theĀ Terraform RegistryĀ by executing theĀ [terraformĀ initĀ command](https://developer.hashicorp.com/terraform/cli/commands/init):

+

$ terraform init

+

If you need to download the provider manually, see "Manually Install Provider from Binary Distribution".

+

Step 8: RunĀ terraformĀ plan

+

Create a Terraform execution plan by executing theĀ [terraformĀ planĀ command](https://developer.hashicorp.com/terraform/cli/commands/plan)Ā and specifying the path to theĀ .tfvarsĀ file:

+

$ terraform plan -var-file="skysql-nr-quickstart.tfvars"

+

Step 9: RunĀ terraformĀ apply

+

Execute the Terraform execution plan and create the SkySQL service by executing theĀ [terraformĀ applyĀ command](https://developer.hashicorp.com/terraform/cli/commands/apply)Ā and specifying the path to theĀ .tfvarsĀ file:

+

$ terraform apply -var-file="skysql-nr-quickstart.tfvars"

+

Terraform prints the plan from the previous step again and prompts the user to confirm that the plan should be applied:

+
Do you want to perform these actions?
+  Terraform will perform the actions described above.
+  Only 'yes' will be accepted to approve.
+
+  Enter a value: yes
+
+

Then Terraform creates the objects and prints status messages:

+
skysql_service.default: Creating...
+skysql_service.default: Still creating... [10s elapsed]
+skysql_service.default: Still creating... [20s elapsed]
+skysql_service.default: Still creating... [30s elapsed]
+skysql_service.default: Still creating... [40s elapsed]
+skysql_service.default: Still creating... [50s elapsed]
+skysql_service.default: Still creating... [1m0s elapsed]
+skysql_service.default: Still creating... [1m10s elapsed]
+skysql_service.default: Still creating... [1m20s elapsed]
+skysql_service.default: Still creating... [1m30s elapsed]
+skysql_service.default: Still creating... [1m40s elapsed]
+skysql_service.default: Still creating... [1m50s elapsed]
+skysql_service.default: Still creating... [2m0s elapsed]
+skysql_service.default: Still creating... [2m10s elapsed]
+skysql_service.default: Still creating... [2m20s elapsed]
+skysql_service.default: Still creating... [2m30s elapsed]
+skysql_service.default: Still creating... [2m40s elapsed]
+skysql_service.default: Still creating... [2m50s elapsed]
+skysql_service.default: Still creating... [3m0s elapsed]
+skysql_service.default: Still creating... [3m10s elapsed]
+skysql_service.default: Still creating... [3m20s elapsed]
+skysql_service.default: Still creating... [3m30s elapsed]
+skysql_service.default: Creation complete after 3m40s [id=dbpgf00000001]
+data.skysql_credentials.default: Reading...
+data.skysql_service.default: Reading...
+data.skysql_service.default: Read complete after 0s [name=skysql-nr-quickstart]
+data.skysql_credentials.default: Read complete after 0s
+
+Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
+
+

Then Terraform prints the outputs.

+

Step 10: Obtain Connection Credentials

+

Obtain the connection credentials for the new SkySQL service by executing the following commands:

+
    +
  1. +

    DownloadĀ [skysql_chain_2022.pem](https://supplychain.mariadb.com/skysql/skysql_chain_2022.pem), which contains the Certificate Authority chain that is used to verify the server's certificate for TLS:

    +

    $ curl https://supplychain.mariadb.com/skysql/skysql_chain_2022.pem --output ~/Downloads/skysql_chain_2022.pem

    +
  2. +
  3. +

    Obtain the connection command from theĀ terraform.tfstateĀ file:

    +

    $ jq ".outputs.skysql_cmd" terraform.tfstate

    +

    "mariadb --host dbpgf00000001.sysp0000.db.skysql.net --port 3306 --user dbpgf00000001 -p --ssl-ca ~/Downloads/skysql_chain_2022.pem"

    +
  4. +
  5. +

    Obtain the user password from theĀ terraform.tfstateĀ file:

    +

    $ jq ".outputs.skysql_credentials.value.password" terraform.tfstate

    +

    "..password string.."

    +
  6. +
+

Step 11: Connect

+

Connect to the SkySQL service by executing the connection command from the previous step:

+

$ mariadb --host dbpgf00000001.sysp0000.db.skysql.net --port 3306 --user dbpgf00000001 -p --ssl-ca ~/Downloads/skysql_chain_2022.pem

+

When prompted, type the password and press enter to connect:

+
Enter password:
+Welcome to the MariaDB monitor.  Commands end with ; or \g.
+Your MariaDB connection id is 1059
+Server version: 10.6.11-6-MariaDB-enterprise-log MariaDB Enterprise Server
+
+Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
+
+Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
+
+MariaDB [(none)]>
+
+

Step 12: RunĀ terraformĀ destroy

+

Delete the service by executing theĀ [terraformĀ destroyĀ command](https://developer.hashicorp.com/terraform/cli/commands/destroy)Ā and specifying the path to theĀ .tfvarsĀ file:

+

$ terraform destroy -var-file="skysql-nr-quickstart.tfvars"

+

Terraform prints the plan to delete the service and prompts the user to confirm that the plan should be applied:

+

`Do you really want to destroy all resources? + Terraform will destroy all your managed infrastructure, as shown above. + There is no undo. Only 'yes' will be accepted to confirm.

+

Enter a value: yes`

+

If deletion protection is enabled for the resources, the operation raises an error:

+

ā•· +ā”‚ Error: Can not delete service +ā”‚ +ā”‚ Deletion protection is enabled +ā•µ

+

If deletion protection is not enabled for the resources, Terraform deletes the resources and prints status messages:

+
skysql_service.default: Destroying... [id=dbpgf00000001]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 10s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 20s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 30s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 40s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 50s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 1m0s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 1m10s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 1m20s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 1m30s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 1m40s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 1m50s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 2m0s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 2m10s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 2m20s elapsed]
+skysql_service.default: Still destroying... [id=dbpgf00000001, 2m30s elapsed]
+skysql_service.default: Destruction complete after 2m38s
+
+Destroy complete! Resources: 1 destroyed.
+
+

Manually Install Provider from Binary Distribution

+

The SkySQL New Release Terraform provider can be downloaded from theĀ GitHub releases pageĀ as a binary distribution and manually installed.

+

Manually Install Provider on Linux

+

WithĀ Linux, manually install the provider on the target system by performing the following steps in the same Bash terminal:

+
    +
  1. +

    Set some environment variables to configure your provider version, OS, and architecture:

    +

    $ export TF_PROVIDER_RELEASE=1.1.0 +$ export TF_PROVIDER_OS=linux +$ export TF_PROVIDER_ARCH=amd64

    +

    ForĀ TF_PROVIDER_ARCH, the following architectures are supported on Linux:

    +
      +
    • 386
    • +
    • amd64
    • +
    • arm
    • +
    • arm64
    • +
    • Download the provider from GitHub usingĀ wget:
    • +
    +

    $ wget -q https://github.com/mariadb-corporation/terraform-provider-skysql/releases/download/v1.1.0/terraform-provider-skysql_${TF_PROVIDER_RELEASE}_${TF_PROVIDER_OS}_${TF_PROVIDER_ARCH}.zip

    +
  2. +
  3. +

    Create a Terraform plugin directory:

    +

    $ mkdir -p ~/.terraform.d/plugins/registry.terraform.io/mariadb-corporation/skysql

    +
  4. +
  5. +

    Move the provider's binary distribution to the Terraform plugin directory:

    +

    $ mv terraform-provider-skysql_${TF_PROVIDER_RELEASE}_${TF_PROVIDER_OS}_${TF_PROVIDER_ARCH}.zip ~/.terraform.d/plugins/registry.terraform.io/mariadb-corporation/skysql/

    +
  6. +
  7. +

    Verify that the provider's binary distribution is present in the Terraform plugin directory:

    +

    $ ls -l ~/.terraform.d/plugins/registry.terraform.io/mariadb-corporation/skysql/

    +
  8. +
+

Manually Install Provider on macOS

+

WithĀ macOS, manually install the provider on the target system by performing the following steps in the same macOS Terminal:

+
    +
  1. +

    IfĀ HomebrewĀ is not installed, install it:

    +

    $ /bin/bash -c "**$(**curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh**)**"

    +
  2. +
  3. +

    InstallĀ wgetĀ using Homebrew:

    +

    $ brew install wget

    +
  4. +
  5. +

    Set some environment variables to configure your provider version, OS, and architecture:

    +

    $ export TF_PROVIDER_RELEASE=1.1.0 +$ export TF_PROVIDER_OS=darwin +$ export TF_PROVIDER_ARCH=arm64

    +

    ForĀ TF_PROVIDER_ARCH, the following architectures are supported on macOS:

    +
      +
    • amd64
    • +
    • arm64
    • +
    • Download the provider from GitHub usingĀ wget:
    • +
    +

    $ wget -q https://github.com/mariadb-corporation/terraform-provider-skysql/releases/download/v1.1.0/terraform-provider-skysql_${TF_PROVIDER_RELEASE}_${TF_PROVIDER_OS}_${TF_PROVIDER_ARCH}.zip

    +
  6. +
  7. +

    Create a Terraform plugin directory:

    +

    $ mkdir -p ~/.terraform.d/plugins/registry.terraform.io/mariadb-corporation/skysql

    +
  8. +
  9. +

    Move the provider's binary distribution to the Terraform plugin directory:

    +

    $ mv terraform-provider-skysql_${TF_PROVIDER_RELEASE}_${TF_PROVIDER_OS}_${TF_PROVIDER_ARCH}.zip ~/.terraform.d/plugins/registry.terraform.io/mariadb-corporation/skysql/

    +
  10. +
  11. +

    Verify that the provider's binary distribution is present in the Terraform plugin directory:

    +

    $ ls -l ~/.terraform.d/plugins/registry.terraform.io/mariadb-corporation/skysql/

    +
  12. +
+

Resources

+ + + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Quickstart da3c5848d30348b1815026b2d24219a6/Untitled 1.png b/Quickstart da3c5848d30348b1815026b2d24219a6/Untitled 1.png new file mode 100644 index 0000000000000000000000000000000000000000..b475ad3edf5921c22d30496422c00107bb0a493e GIT binary patch literal 298002 zcmeFYc{rP0*Eg(lOG^hzjcr}6)>u@{v{h9UMI#7ORMnUg^AK&drId6ET1rbz31TLQ zRFSkX4>1!B5n_lbh9G&<`?>GuxsT_2->=v6{q_Cv<~YurJLf*v-q~xfz4ltawf4(9 z=0-<&MR|F6c#as~x?#n`a|p)6vmbeIKlcgr*djj<4=>8Yz~GLtfx+oJ{*VVA-flcR zw_YNW58Sn$IsTXv-Xo@Pruz`~Q1_wJ=boJmgJd3m%k$;g(Sx!s?tc6FpT-^>xMO*v zp@OG$;AnH@!GYPQ@@I)Pwnv2!!A}eZMuW$~X>FR&soHm&?o*tO9q82VtCr(&%`?Tj zc}``D8>hezNT0uw_(W{)U!Qpoemj=p7dq%-bL$q*)%$q1qu$t_&aYS>y$`eGC=NRF zhw%Lsp2ydZnoqi~s2tUMJ}sAS`*shHrxK+f^j123GU%Dd@vqmON!|8ezARwjPZ7*& zxO@ACh?uh|Pl!sgobmq0tyi~SIXJ1jjhRa<&W=?QJR^T|Kuucu9emO6S;8BUCZqJ$ zj@#R&>619>?f2A4|95UW*yM{1;k;$dGb3&sn%_3$=dI-S-b**$r=49oVo-40|A9ca z%8r}7$zk4f=QB~VusG|l^>0*LTOJVFE@jNlD1lNX1ur!kUxy^hTky-cyx2GB^h;I# z=izrGlefios;!9DK17Zoar@%#MENKulN+mtX}noaA82SRj6_{|p|E25)wz_t@2nJj zux6|j>wcf(hP$5V?PG584DHPr8RS;=dAHAr*g+zm(W~VrR7*?-qf79Nu%~$KIJ(6P`VLPg|t(Odd>{y6yYy(?zHA$IjhcsVOc|fU^wj6qKHGKUw7|n3xF;t&_u#*Y+wKV;KRoh8cyUj|>D^6F z4Idw{y1Ku6^Z09lzQ@<^9Ikvk|9SV^uB`^=M~BmR%svY_>;-;1(z$QpDdDs5;m7^= z_D1ZTIJ)=OY2F*p@1F7b!J`sgaOV6ZZ|JpMcSHpF&RzZa`rzB^o1I#DBC=0pKS$nC zSXB+!Uvtngy5>vF9jVKEvC;M4E~Fgpxo0+TH2r|8^T{~@qi=k_?rZS1NAr!FJ<@bI zBK2JCSN!6U4aE^Y+zTU19>eQhmRc8}f+w19?#rUwF}`rf^BnRZ;05v~Da-zjMBZ?o zQ|~3Zs%U&p=BbC!a@8SWiI-Df$~xt`#JYs08>epuXtS==2uGf8w6d5m()^vQd&}KQ+Bl)$)7YOh&oFY*ALiw%LZu%Ne2m6?h4;EoG?#Fq&(69 zq@8NtC;V!H;{WJ*^{48r>XmBA5uSw;>CgJ{pb6}fU&t|-LjB>Wy;1z+XsIUn3BiN= z_sU$q^u)sU=D=-@s}IkNoIQLL|1$1|bS9tj(-ad219_Rg6G|sCj*{Qq`pfaH^u_mo z{Z)7#@hd z-ewW)e)vsp_@gFesiM@d$*~_NCXY7gQ z0u%v!m9@XPU+%#L-@7`QA!bY2$IXA<`DywRefM)Yc;>B@zK|g)t2AGSu0`KPccb$h zF;&g?|df4vVcC2;q zQZCHABTZQ-P$*dFiOCz2Xrd!R33(WxM7m5WM4BNjNS&TJo?kpodxKDpHexop`P!(J z-uPaNJpJy+YPZ$CUrzFx>#xpNM&@VFWL@kV$qzM#+Qt`Aix5ZvGSJ-XRw{BHsnDxP z(nIgWeQCX?+baR~EI^{d1j>Xnj z!al?5VV~I2d!Fv z=-F>Bg@*5%Q$txRlqsK2{mP8m>`!hr)LktE8xtFtjaQ+4!I)jD{YrscA!FcZ1%}*B6)6RnS^4;=1BM z%}Om;P-!sHPwUreZW#vpapf2-c_m?rZ%QhK%*dSm9ymzro+Umqdo(&bG@CPl4@3op zFBH+*gVBCc_dgU{*%{eEbmVpalFZe`517vh&GDsQu#oCF+hMMB4t)#Fi*_HY8T&aF zI3}$Zq}LLuxZx796IsO?qdoKwNwaT{&4?!R;)0?|qpG8xb5?kIc#N-_o)(`Lu2xty zetqrrg}jR*d!bLO_URu{=KaaLc}`GF^tk;g*4b8BdHn+EG|_sE?OPj!gYek4V{qvN z>FhT?mdln)mKBz+UFluty0FSCE;dagv4D6X{1w74N+!jVa#J`&VW9rr=`qFnOYE`h zSp@YwJLi3Bcol3DsaeQ z@42T9e^aMidAineP>%;y1GgP6EVTI(htk!~E+zNgHyGqAONBoCaWBByQ-0^#Q1a|Y(1$G# zaR%hGVO!e3S*11ua?~lyv7mG)9)1`3YqXS(7{ePn$ar!yOg&2fcF6A zSNJj9bXbX-pWRY_LR~_CR4FTeJNKoTajKU3Fk}q7uhy`fI%ZQ<7-K4Ex@^L#+UM&f z@Am#A0ya<|vQ?onT&k-btNm3wtYr@|HJHvADP8e0G-)0+ffHZICLoUhTx&OK!-8rV zMdU0@Zb(Nm_B&Q!ZFA16;7WnwFnlzlmec$sZ;!-*4+p%wdOhR3>Lrd#&~?Rws0~k9)&unh@cfs3g#*F1Z|}q?sOC^ zQlAo0g7fhko-kETUMP>L40c+>MKI&m5vCFai7PNn_I3_~uK&wap`(aE=AUegr}-C^2b@Ji^$3Sp;?-H&tUumeAj@1q(H zeqOsbZ#tV?XfS5rh(1{-8lnKx)pOX0p-2HBugGbvo}G?VX=Uj>kaG~3F`o!Di`{u( zSimRiOjd{9g9vdcIo4O!%%b}gEm5fpyq}O9(HyD3d9Ykat>vuCoH%vjgiFygZ8hG{ zN1wlY%M%iOkcU@A`%dlaP3MMH9o=)CtLonbpKzLbRM+1R?70I^`B@Shx$E&ntZ32x ztNfwq;xEsR?DBS%?)fkn>}j4MD8JlX+7Epz=?khB-8RT^-@vWzSn!=M8+sZw6t(L< zV?PNex%(N{dX00lHGW`b#v{uuALQA)OO$6Hx3r6U>FpBx&+^S(7kKvkXcK zUs1fIc1_V6PQc?;I4pt0SRfPDvD=BMgYARh) zQBqM+;J%>%4fPFh4pH!hO8-YA|7z!k8`Ra`<57SI#P{^?cAZ@yfdRT_&;IV{KR^HR zKixt+{;MZn=s$59%j z2>u^c|JCKck=p(jsmf*5OaD&#Z&m-D6aaPeH-PwXI}OnLuL=7n@xNF8lTb(L_t^i9 z7yrTNe>~-KT8~#p=|5*pkJo$s1dBV7;vP3F?sD&3G5h`51K@sL_>Vicy!$id;%V_j z9-gZ_#y76r4cRp}8k{Bp*wG)iVCAfLo>}GReVX@Ka97E_J@SHy0Y}{(*S>EpW@5y6cTE@2^lfmt+*s@x6vC?Np=FWG_O|_?KK{E!o*I}P}e3)Gj z2NC|=dk-Exef2TVu0Ir}Rd$c=#nrUdE`R=;6c_gH#ciMYTaBN-`Z@m4L0Djk@RZ-7 zzejO;g9`cczy6PrIo`gyh>FKvf}8$LiUy^qJ%4kQ(=NN8f*t3chdTU$f&XIiLD;6) zzsi3Y>Q&(rN4M!NO05&e{~pEF#TN1(XY!v-)ucQg2MUKfOD6wKil<=q{=X+Hr#qXu zb6+#Sw^IE#xp;JYS^aMa;qSlxMDhIT4N|jH3gO(}qj)@?jQf*x|BJl=%DWoSifi9> z6#pg#SHzF}VHW?z-v2A&|C`nKe?|OX;_+|H`Tv`UCpF@pIAOPLFmhmBwGhtqVC}`4 zz}b@}#hdYp4%L^YI#N$S-8)`|LLcO;6inR&{=G#X5XN0==A5{s?Z>*|>xmUthO}-% zO3eyX!m_3ZQ5MP%f0=5|S6p%;(za7~gEzsfA2>r$myDx@_}1N5p%f0~gV91_{yV(j zMC9LFft{NB_Tsc?;U4|gOnQ%CD%Nd%AfR?s8eAo`Kx`AmKG%#_2Nt%&bvRAf`7r)Ze^38~_;5RN0x|e&hjWJKMM3pDJ6*XD+>39(Qxs39 zQIugG%6483;q?n0A-fwqbCx5>9a&gwZ!n$Db)un`on*7C7S)(OeBIst_gL{*@CWw88PC(C{H^gvALwT1WX72`l% zjiiou1bvAr_I#Cc_*A^1l$3;YXRZZfW>B3I9=?sjUxtwTw3gOb1*fE|HXj1LiaO}2AYbJze{$Z$E11*> zs;JCN8*(x^Q#8e6TVIgeldO3Co|~iYDgwx3s@5FwTl#Au8?LV+r`YE5y=sz$pekR# z=`&k|HyN52_8$@NT!?{fydg|{MW-E8&wbqUHW7v1i1e=c`NFWuRIye|FTD4Vsc84i zP*wPfjo;8kaN-el+p5uyq&;@}+dt71pnHZC-%0t0>(%%~5Y}%+OuuuFFj*E>Ni!w-c5=>3XJnmuxg(vR1vY6thN#<80b^Zh|gJec=pYz zgB1ZdTA&A3xV_fu8r&RNX>)DMH=J1&w zcln^WBFSwQMLCAhWh7ZQz^MBA!bmdmtX^=dv0n#PKtA6KwO04B|EEl(p5E${^>Sp? zx#tI@!Y(InE$937kFHmSr;Gz@^8^0+qaEP++eRC=_~P;H^TxL`xi_piPYP{jJTWT3 z6}scaHbj&cDwJAhvs0s!>#xuRNcTcLKNo`p>k8U{=253*ZT89;xTxls#|{_i%RDd- z|6;(rSy%=usO&mfGK2@^tUUO=yr+|3apVXSIk#-RK0$B9j!ftK33~8 zmo-o3EisU)`}B@FzpaSf81Xz;#3~M5nIbSbEQ=A&x5kpw`{rK=h*^2dRd?;5Z65MM z+cEm++XE98cp3f30G*{t)k6C0^CIzW);5hl!8K8@oDD!i$J&?Hv=z;e_*y0qL<~LQEE?^OsvODx5zgJ40nfXw?2aG)9)k zrdRzyL(VIy6C5oLaH-Rb69(ugFW6sI5l0%tVNS!gd&*q9zy9VrxoM81xJt!?grZMWg+)iYDW6KN}K5ug(jZa732 z3T0Me^|r?bqR7};0BN&B7@R)V1w<}W6!+pz%4DVgac$bBJs$6;+}ASRsjQ8>d}VCv z(~O6w9JJz~Gs(aXQ+UujyV7tsSX03U+~B3m)luWX^t!{LBwA4nmZ-O>{L#RDh1T{` z+t;>c5eRp>xLDCs>)N8b7FQqr;&M!#|B#%7VKwR?jI{e+Xazdy3))_`U<@6urs&e@ zDnKB2uq|JOPByp{wJ&y|!Q^V%Le$L+!2pz0E^K0JsimwPB@A90K><4k)+eMAPb6w< zvDSRz4oF7)rMLKNkLy&coloK{vH=ZdQ?yG63)(>P#h7}%8iw;5prKdCQqp{7B07p` zTC#L=mN0@@abdtE%bOI0`yJg2tJzY*RUcuk1Aa@{6BcH2C8NDaHkB7uSmPhD^6H%n zp$b<4sG6|Q(QU_#cNEe^`Tj=|x~f$vAX;e^vAEdd--kRHl>LJX;9{)YuxX0%-+)E= z=xxAZSppSZ{G&3lndn4~z<5DF%N?loR|e*UdaVfkDj6x%i}GRcMua%=kMi->d&QTIs{lqQHz%y*1Y&%QNJYb zEUt!(_s9BWXhC4i-mLXL;u;i$` zfoSww-(i5e%G^8X;q$DbNJ>MDWFc`L^N`*nQ_mSi6G;6|xF#P-=;sAui(+iT6$kW3 zRu>^X79KIzDWdP}0_Y!$m(&ew62L`y)^Q>k$QP~Ysxm?3iL9lK6BdBL1mXWFKXE$- zG0pa3zJO=N{*Pv}#VhS?eH&6J=7rxK3~$RludqkAB5G+#Quqb9Hq=P3&jVJ&#OFXX>6_z*?!Yu z7_N8{;KqrF7Uw}hI4NQvrjO>8iqX~F6$+lO<7cB&{{+-X>Nt2~#F?a;#%_~pQfk+! zk_}!p1RjP_?+oh~?N}SWsS1i9A6P>ZTPT!b1A*8RaE^mo;Mj40f}@^@E5R&}o-{>4 zwkXB6T^Y?24QnY3&LI)_i-`YY)|9I==Y>-tD~Tf2ecCR4tr+F-z7fGv**#z;qI$X1 zK{q_W0wo;?&&e6{*upt=MO`JI{R<(5kt7m#W;s^=sFR1~W<^`_y_6LX)Y0W4s8Bt+ zToeLI73-y42s1jyW_5%r`*;qc?l9@Y>Op$ja>|~cj>LbqNiPduU)a36zb=jk7(Wi= zO6(U_92js^UIyFUrHekCL=c)m+v8X|6>B35)(Y%c6}V6Q0x=NHT%t}S#!2&Q7uU=K zEjEL;S?V}6Q6jQSC>jj%Eirb0{bb0-)wNB;tZU}|W-C8v)PF)q`C;cbPr6dZYQo0o zCYlX77c)?VSr#a?QQDfWkKvk(HP{+p3ts~|NwnyXV9%4ag9l+1Ml)*ko+>bIV8&4@ zu4;ZYy_)uGX=%~bgY+fro2;&Z?lxjJE(%lB9LRtDh?w4m7l&uSI)1}X&@Ok>io~5> zR1+~DY2J2Mba(J&rT#f9-aZpM!6HV!gqOX2pz6`@^CYo(huyK5vqN zeY32iTM8;vsQ7Z7O$I3LF;J0a7tc~z1dwQ$WedIjq1he(M{{Wt{P9Z`b)^b>RtmM~ z8q?NNaCG{1vu8~UdK)Cp{xE^`Hv-H1EXtv+0)H{0PDNW?kd@;09&aJFj7iZ7w08*e zTj6!nXK}5(Ve-zP9Bl55bPPeF%E9_MyJ%;a>A`l53$?Lx%dVc!K_NABEi#TlhJ4q5 zpdKm2PfSY-Bq~WlL)4hvzBoIx&PRUqet7&IfsI>$@L8W=ypxniI7z7i9ryFkws5C8 z*Nq6et}yEh!nx&!Fk(Q#{#(ONDv&K}vtY6d&9X_T@UJLzRk&)CfjS&U+T%P^U$NES=x!Lkq{GzP6jz2U zvW(mk8E^(bj-;o1r9(kM(zNK=&xG%0!`=gdw~F0x^5h9$rD&z|gmCu8wa-M7q3-nMvLNcWeek)$9&5_&`J0eMei zY!vyCspY~Owy#w6`it@~M{5#nY*V=Tkjy7bg!VEe&a?xraD`m`arsBbCy^-ZSIrO` zHF;_?9aVT--66`jf)0eyQhhcPL;QwT4Ic<@+dsSUXZ9EG<+A@A5B6kR?fhm}2%(4p z_cg5aa&G;wW#zEEzSYtRRComViuCMPXas7`0t6xu9Yf*^^wC=PSK?}yS(ll}!2Bx2 znL_d1E&2*vXV25~S25R--OACc*pgRVL}>RKxIx`5;GD5Ar&SZs^t}J1M^`QRaoVu# z9uN}>8@T(S5u}-c7;Zt9799*Gv99zdLj|4DI#<*LIi4$%ux5vutcMDCn%;~IX=iI2 zjF(7ud|!*5GU`azooEN46Pz1g++9!CkAiJ4Jk=+3z}TrGszDI|@-bobQ@0^3H+Uq>?3Jiy<}_>4x&zOzy)fuG zP}Qz+QIFjvP=TzSNgAGr(Psfh0-(dge^t^)+ONBI%0`iySHfE4_)8ULf`r-Z){xnt z;k%{cxZpDHL6}-x9iA!>x&6BQ)2R7O5nszVkk?Lk zZM(O62WOFNVfC!Y^B0P{JaKV<*~sGVuC+9v?61l>3ON^Lo~aNJ)B9_`z{RQsxu>9f zFsX{V?O{tAD^{_!%#bO#?o5pYwOcy~JD0}VmE|W3@N^;HaJE#moRrq)rG#Hti0A0&=#Ep)#x8^0t8q5|Fc2-y^ z8!%F|MN3#p#yOn=f}xJBrt47^1i3@73L%!(HsdNb|1l@!O)nE`9b{x`}!byFl7!5zJpk49^!iWT=&*sb+*3>5UHrM{bOQj zi%%(0pF@rNA(x2#I58SNcif#lH%t<&8iN7nDmtzKFjVf;_< zjt!s)%(Y9;rTvY4f;({)K+jXF!@e=2E?oDqU^lo~!RqMj+7_Y7)xzAHKa}*{4uh2} zHvuXPSs#=Wo(-I-xj?#ZuPJ`z-c_7PNq4blgrxv!Jwsfd zYYT{0^ITbbU$SJ#gX^pFWI=|;y{hd?h7VDi-w=%shCcDEIz`|Duu|w(A*E*876tKb z*%Qy^n$_aKvD`kHiYpy&hPDGdC)90Kxs;WrgW3) z;W{?~Z}LfY5D^$%MQ7HPbB*ksYK_ImaQUE()frVvsa%mlrGDKK9^^{w6&4;|r-}}V zZ4W(cWKueWceM7CzB`1@;-dw&zMuVqW?}37mxU?g7V{vblX5{+MC}lCdu>jtNl_bz zoz`++7zt_YtG&UlPav#8hOhXt3)8o-7qJ4T6R{tbd`=I zC1!Gcflz;paf$g>v~5SgJqf;KpcD===lA^A6?UjXzuid zXKPiH8;sJ$XA5dAHNAN63Jrb@XeS^zq4MV~jOET$9JD8O1Kl{{1H{O9@@kih8`?i^ zq%$bonw%q2L5v*=;LDQSAf8A*Q*8fD4mjx}=GAeh737!S~8VUZ}tIe;*3noMaCfGI&BI^O6w2$WXIX#QKHssknqHjd_ALI9~K-( zWQ1~BQ-nHRrJlT)d=liXaUpE|_OGH5+}b;wFBHR$pvpJ9R}Gom%jdLuSWkRMONpJx z2+I_yyex$(D76w_&4&}}rM4ceGRSC0Ylp3>*$Gr`gm!vl(9bVr=l0=}&aVQZe(<$# z+07O21R44bmCr1_P@g{z^P0gGY;f87y6QU7J%@5y?ht5 zuq-BJ4BBp!XV_K9gL`O_$4Rcb&M@L)MDNo5t^AaAGyU$_?7hnxRQLPRD6^; z+T+dwGQfKqtxT~FY0&U4bf11g%P>QCb^B||6)*E+mB^U-We3eW6-#|$O*N3gudnP7 z#z+Up)izoH!e&{v0}yH1`U@TQnLFV^xVS{pfb0z$@DeKJG*eC{QTbgie&A499D6fo zwxCPt1wS332x_&~vr~>z0~g6nJ)9F(cAsk1ST~I!y!SKZcNTi5IF$wArOdP1t8x{N z24DDoSK6p|ti^>zdrVrANl&-o@p1}86&5K8Z+jk&qy`6bed+K)M7{l(>-uO=9Qf1b zD3YGnks&C|VG@xeA#aW_s+k`})KvEI_xN!!=J?-8D&AKK1e*m_zT~PrFKHIUc^<5BMRA?j$`3_o3Kp$V0X?9xZ+o(Yfri zluQtAs|byoX_=*`Gs6W}a@#Am?m8FuvInYvDu=QPbgWn2&_R-rftiF7R!$Zak2-i4 z5sD7WLoqdji62nnqQspzXuTrcJ}KVLa~@Ma?U2-?9`3o#ryNQjp(qnIYX~ONTTOI1 zHK9O{s2>rz6v@y>6Kik}d}bl>7$?1i!9`gH{4eXCcZ=?achCFiTCv+KO=PE~B%4|cq$$Ra7Tt6Pq&e-tg z;vMd9)}jT5lt$n4(ufby!i*GXN4zoNLl`ukOyic z8e=?9dXRX8sW}PI0ncmpygR8Dx}6ZU;WM&KcT9c@Z&(hnP83;-(Jo$kg zD-DOYDB^L1%utnqM4 z3|YGZsZXoZ#~Xt;9{?8e;?;eyZVubIeRofi<;@iKy}CT)ViTcDj&_fV+SQE^NwvH(VH|+Hu9?UbE^~_#vhCSGh7~3V2~D zLj!0@iDFFc*m6S^VI1%xo8iRgA@rr7w+v>U>~^qVZ0zhfLPnlNRX7d(av=vfQnkHq z#oMT>92C)-@}|*{sp(H!Rbrk>s|n)y49tK*lt^*={hs>9o$_wvLoZ&{GGH?G;70Mf5 zUGy@(E-_M%|2W&^4rke)x-7c_&>TcmMz*RGY0v$*nTiAhi&t_ChvD>+LIl?8FiIrV z!ly!5bxNqg6Pi5Q^4hj#vA^?8V`e^t8*~U2%5w=sH+#?8K5Oj05xV{U6qK@b=v@n~ z^$A)$mPm`Z{C*`(^Ae&18@3j!9(6B9q;9$RtUlmHLARTUKlK(MUB&{?+u!aM7|+TC zb=mIwMl80qpYdv~PSK0x1{O*!>MbMduk8sZgn6x-Qm2G){-CbhYD+tC!7PFf^5xiG zreWyo7C`kh&TRG0+j##T72P1R4`GA!f$S9s56045{m4692e{?AoT9FN7bvkQFx^5pnZ(TtayCLEA?Okaq>NHC?xsRD2>) zUyEOV^@O1#|3|Dx?WpVbXU2uBfcwt9KaTkgf;$q#HBeIeteL^3dB%3RQ$f4HSg`9V zqaQ7c#w~%mSCncL?vuVG#2-<2P;cLwx1fBFSA5BUF@)n+HMR;E&AyD05~Tib2ND1T z0}-=a5IOLW`ybPzK4ZC2x_JcsGi|x-;Aa>VSup5 znZbV1EPy5$d$$!Rb!@2@8%zM3YhMJ)uS}$ow=V>Z`EAkl2pJ*vX;BSer2h_u*wPMf zQ+v5{-2s8~n1O{hP&S|m1_<2gPPRxO zbAC~fBUwi9>a8^#;7J*(2&2fa>D}ccjM^m;P|`6Ljt}OL`;mjb)yh8TYEI^`T>4In zAaN*=fFvsuU5zUeDRmTL?Wmt-^Q?o zBXDJ8)#r_Ye?rVSFe_H&e{ZDx8?sXT*Ka)QP~fAjn_@o4GFSn;xUVF5+$AesC^gTr z-2^dvTjABd{P{FF4(P7UmwfwMC{iUn)WI@iKkZPQH6|0N`-(J@Ufau}GTs~9Z@x&% zmZp7rfxavowtAszp(QevLrr9k_kT}Oc8BSx_*%WMQX~kkx4fGS7aUCmZg`^7w$zvl zLc{ZA&{Z+5&#&&Ddwez%ajhG-V0ci@v2QJ)-~h%xePzTA1Jcp=aJZeGc3sWzlAPI{ zS4xczo2B*N`|~W#N?1rU0H)4;KF6cpe~ZwouYW_Yn|QA+ayeX40c{9s1d#pK5gYA zXJ*B}-FP*jm|sCB4;#V1fWH*d8ka*Ja%gF&sE)Co8j*4HhrZkOucS$VP1l$%&YR8ZQBv-hk%|HokZkTf?@Kr)+uu52tU zwdu*2r91XBaxpzf zX?>&kth6f3*<|P~B$9hN@VMNkl}h;Ve1-L45#{PU&r@{SOj|=2x!{gnMayaKzIN@* ziSuyy%XbfinE4etG`8kfK!V(?5qv?a@x_{~p=O3EAkISWoYcYpFkCbQj0mG&?w9LX#w}qBI0|(q$C>A(aJi0)4sxJ z_13k5FBi8F8S+w0p~mIV_U(OKK>w#Qq~WQK@v&!~^%k>_fGx$qV=UselC(}wSBDP4 zZ=pTu+D*kIBf)if8PR928Wq^VDvoO$OmS1lZW$wv7aznf5K(YAy? zXE{x7g_@JfAE$?fW(*M>D;V}KFv|)=md+I^D(^i*!Ga6@!|{uD>H0g{zb2LN)kc!C zL&EDzJB$cjMb-+{ucxg_si@`nERHj3?Sd9ii%BtO(bXr?pu$IFD@N!`FJ&@}zhqf7 z@hRQ*P>XUpHA|OcA2rx7fTRoP&GGp$)i?!2)0&5#o^jy|HHtpL19t;<8l^a*1j%5N zNx-*d&wI>?Npz$fEWG_Wlj73B7>djtm@@wIm~Eo zrON>6-x9yGHY(SyG5-uH3kk;bXzL4hz)t~53Nw_Z6MDii5)oHP3LVN1<~D4DKUE-W zQX$42izSsAXM&G!Bl8^oP3Qg}*6zF@*ZY^bYZNG^=1<+|R(AiIcZb(JJFEUXP?y^@ zF!xelYxyV2W>jr1uM>4G?Sn~zN9qrM??^**rXm0#=Shtp3Y5Ha*wYetxpE{0x#430?Pk~SBqm+ z0z%zZceLv8L!mdw_gLAdpk_>+BE_~sug4uH(xIcCKle`B)-bY5I?(qRPYZJq!n|(1-%zqEC$dFBlGgf33^EXwyzyN*rukaNNL7kUU%_Ar zsj?Q&1!kRsh;_?-6+lOkJ^NSTWw1zCTGDs0QiX%vf}2rt!lr~H*JWwy1Nm4o+4w4$ zh(4!T6M&%_I*lr>lj#YmKoVSU?MB3;YYcwl&^)+do}jOzt5-~uB#A31am_cO@Va1f zIb!mi0t)2F2dkjm`6K4DcjydPQS*OIoa@$pj%?SU3LBo5i+K@;C|N#Ybp>_sSoTpH zJ1M^!blV628X1W*32G#^D#%pnZ-0k;L~TJd@5f zlp1?@9rDBQBb!SD&wgHnB=H{kg2sOXx?-j?zH2c3n%B*!NN_sZaEk?k2+r2Km1QCi zMr6Cw$8=*#{1Z_}kv6+ibs-OQn75sT3cZ!CgFK4-9d;ZJ7qs>3-Ygu^wgDGLAzP~o z(HjVKy!LzMrf+^)mSfw_vaWrSb+SYIx~V=*0vd8#LN#Zayiqc9UJOt505zxUrtSeH zJHpI<$NKTmjs%~%u?L!5WL1OV?je-l1=wP8>MyQwn%q&`HMh1Ox118KhlNBizbf5r z%!q<{*R42iHI;kxplXt92kz|zQl$FX`E-Bc3^~3-BJkE>QH{@e+KlaZ%CmRvc|*fB z(>=Mt4$H~Vvmg>&{5^}_kCWiAg14^wYaU(av}AO9N*Vzzr#X>TPHHAb%3bF1Cy{^b_;~^1N3K2GK zJz*e%j)5NX640(yh>4<%jIAMTq=Z0`ixSN#X$0bz0=$nDbb5A1@Q&!`*P9W^ zfh~QDhL?XVa|$`vfYzDH)z_0=i(o7;fB8*B`6j>_QB9eQa(Wl*ELwDJ%BMZBW~K+@ zRQXxG^}j>Om7bg^@{Y&$hKzd^(hK!^k9(8`r&UDdYv^#xh*He#@1#u1M=vzQ%hs}L zG_@*mXMGrj0Ap7se_BsCGB&4=S0&DoabTT|DD}RW=4b(3QLyo_t74nq@H{7ByNdef zb)E#_PJ92aoq7ly>ykT9MpTC0R)>^)2Ohg<;+$W%<9bRdu6k`jW}+)s<|~hR%e)9Q z2g%j_3JwSZ8^cc74B?)1F2oipx*N<~qd2r{Z)N)`mw*`lbR8Xi5U(}Kz#)N}>1ysE z)KU77bFPvWo}0ya3|pFl&mE6ssUdb1-A!hs=BBIaKd(=huuhfjM{uRc3FENZ#;jNi z(7gYUVH-Zm&d;yx1}<1{{ai1gd#w{)L4C<`kExq zO`XC4=E?v!tVIVDwrl3Ce4o6i?9n}$qH=EEe0N9j7X#r#Dx?FEn_qjZPtSBPDQ9Uw z(QV?jLauX+BdvT2Tw_q)_taPY81VtjZPt%YHDgGVD^}9 zc=KaK|I6pPAAx?vos)-p1y^WE%MUHWTaMaAI_S~z!`7xHQ|ot*l+Yi{ek}&@+Zncg zRL2fTmQ(|{dGcQh!)~FtZc;yqHMy3cE+t}SMh%L03z1{Cshj$Y_E>~|@bZKTnYEok zyA<`>tmZw(`ICp0YA!8o&r%F*o112`@+~qnRy+4lVhscwTx|37a+Y+sczF5oUQWDR z(RR42HELPz2#nhBJN)7hPL=9L0;5rwM2+Q*>bYev6gO|uf04d0%sFWg!|y@L#!i6v zhkW{jn~cHihyv`|M+MYy4v=vKN{xI8 zJ3U&5YwW|(vmrj@VZ|O-6L&{v= zJd$;}dGY66ec^RfvUT3<=0#NsMNINS)$ZF&g+_2Quan1B%)D#;!&>a&80wVDNX4y( z^5n}EZ6>?Qa`D{YA?ahX7c$F;*XW37NtpbccHTid678p}|7oN~?ii+Ca!R)SVzo_0 zE{x9_0|=iFrK=<36s9DUJs)~+*3Y{-q3xEo%O-j@1o0+NYUr|M8dQ^Sij1t+Y^~__ zG%KOgcRY7e8y(!pF84*N9!5&u@m94YZ0$Rl;!!gCm)A! z(!-mGatYoYuYV`A2tLqKYBzb3Q^)Fko0xqFM%Ane?GdA7>Zbt;Kdb$YCvy(yA6p;g zbiVaH1=d4y5?6(v|cOSvqr8RVELiceVy7cU*qGIFeiuVv=le^Sa#A61a(cM4Lm)Ho4N#zVQi=8zF#Iw4QH-RY zw?imN-=06eXdh0NSNP8eu=Z~R_z!viMSD>Yt=qRi0PSZZ_a}2+BsCwT;C=1E2U?TsYCQP7p39-@$tI2r6Z}$*}@qh?oJ!yj$em8 zdH`@5isvTvG}W$$xW97pVp1@rJ)fWKap9&OxKf&om$p;<{K%04&5prju^y|dMbhxP zgo)IuQQ5KA^}{~|2U_Gl9x-0$MwCbFmoYTL$#v{Pjo8E>4PRcvoJ#c(jH+3ja|x_! z)LY3;cFZp1<|)qTLA=#q9(+}!Y;rd5u)_S#E9w7(SMy(!?IiVk10-OpXGKv3rwEc^ z*FS`qd?~2h4bE5g+4Z3&_fl`006YQ22v-p%lEq&mpMRzQLbHfY%_jFk9fUSKF$(wX zGW1tA>^uOu?gV)J2WWEL+q;t8Rl(M)r!Y45yr{#t_dS=Ue$4Y#0B>ESIghirS-=%}#!o?8ZmA9GF(v9qkYv)OdQWi6hXl!76|MMN;= zz_HPK7|6BPRTmU?Iq!;Q3>f?$n3+LC0hxg}C(G@l|mm@#I4Q+Oz)BvN% z_!lp7xOu7FD<${ZN2Y#y0wcNp5rACnaTpZdmez%QYHxT?4)`@H`o-$23U%>2e36Ji zO*TT*8d^{6-@MS$j3EX3%5Di|gpLiRLO=y4bl7Y5>-wo%*@R8;i*8j z0zaqK@7~`zpq2E7yS=JBjXc*=RMp4wYchhz>S4o$&mhkxu3GWJsK(qB%?xM=(n*p- zY2BDr5Fo_&xZhmi1y|ewD%@aNiGsy34!vs0w07`OR~fU|pQ=tfCIDXaH5&ffr z_|dFnS=8-dKD9E@?J>%s1T~%Zn$Fclz-3~jKd3^~_SlBWj;GuUDl3Y;>b}%eXyYf# z`Egbcx*;>Mp(J6agx8bO*6^*Tw*RfuK36}x{yq%X2hDc}g*FkF-UQE|5G$y-b_^z) zX~dlovk&bUhi6ECJz1q$1Pl`8?LD&ktw&h~9g84tN(*>k=UuyA%efL)Pbr5Ey$|v0 zdo_YFfTv&N>BDh4Z3m)mp%hMwL98OOw=MZXh350qqMYJBD7!E8rlh7rJrZ|G8#Rf7 zAfl-_*MP&P>|WG=qe{^iPCT?8qPC=&O&vsc>Ns`xn)ws?3~O-{Xu?7+eHPw>Pwv>#+3R z^`Xp4a})uKhdU@*-91*Nqji2E(m&#M+S^L+0ut3n%Dv;0SkHsjSdWX-YOZUo%j&qT+r+Vw?yyGJ|Ha;0hE>^Z4Wo*P0)l~{G>9OLN;e7!k_rOS z(jX<>AfO;fr*wnFV$mG}BHi6ccQ*?-^IkstJ@2!>Z^QHB{5jXP|Ex<~Yu;nb(R0MS ze-7)ArAKpJ`_YVBouRMrI{R8(o(02}T#r3k(ZB8jfJ@I_HBfH#JT+4tbvTrJ!XA;` z*br%$g(uCwt@13VevYsKKP~R=p$b1XVyA1veo5`(3{^UVGuH4?o56-QU8U;hL;m(;&<0p}c3KOSY z%%58|P2g`i*x}alb?N*PU$+9}(0+FIU8|q8T;tDDzj1$<9qqv#@uu-@V>ngquetoHINa814!NgwvfFQ>1Bh@+ ze9igD0=9JbpO^+NHPB=+Eg3%K!|4;U^|D?}vA*n$utrm{a>--Z2RUpN^LhI`dcE&k zm1?V;(lUs!`LJ!=C$JDT@cqPh=U&qi{nA#mHfh)56m|S8KEoCZi+5SJiJE-{b7f(? zs{Udl2IF=kg~rcEcPAXCwT?;fm}RebJ-g6!-y+K~0{R*TgAbw8E1+;2oz0a@R>Tz_ zNr65uAB*-A!RV8y2~4NLpw}0l7q8QELykbtP#2{oMxeOBeDoI~?4J9zo8F4~x(yZ` z{=OhkV6d6!x%c2g*L&U48a%80)PslgAE+Rd!5{#`VFUtq|A|}zj&%+}X6l%5%klqp z_vbQFABxE@y}o!R5cw1Vy?fw>g%#7r?c4u=Zs0@^{|pGoWud?eb1{D&7o!S(o?lJg zA@UDc42bQD2B?X4OZdWK>7U2_m-y!q>c7N4M@s)I`R6J8f6dN$M)tpE=l@@3r;I^D zL@?$7(m}udef5{LbME8&td^Y^rk5{rOI&fFzkA-{QS2AUmT-YUQQ?s-I*IE!mIe9> zkB;o1@GSur5KBzRF2t6M`RcWwjxsq8L*=z=f;$Op$D|i>g7&*P5LrGjxj|@VI zz61QxvOTgpcAlz$2xb>VFlDFQJ6O=~-r<9JMusbIWG}eUNx&1j59@x47jlu^9dL4q z9Zy|;qG0uITC z;fvK57f?Lse+vQq86aQF8TTI6`H_BSD5M@+Bik!TIckNjj=+a`oxeyR{tEaV*QKtz z$VCXiX$F_|UiR~O^v<~$0 z;ICX3g7XcaKs*irW#tw=c^mp+{5E9Ss%)l^rtKVX@sP?6)#4%v{T=Z8;sk#uI&@n6 zExsuV?SA73IG)PW^&dFrkR1Bz#}rtGXPSf*3;B0|bGQey$4lo^Z~+DIN_CRbP6*Or z+g0!gH3tiu3l5&HdjO}x2{CDC(OXxrEBW~F)y(q^U_2%mZnUZip9_T4;@uE<1cQT? z4Z!?7HFiw_{#41Hn*zCr6NrV9pL#a@d;{n@3rRbttydKaM0d*yAnpxOkr$nJxugKE zrs>;|y3_*YSIu{xI^iO%+keE8-V-trzr}Y$A-S0BgScfc$b1pA@*r>V6^@6hBAfI#BA|DBVW$QzLh3?m zQoTHG`!ME_WaJ%-xprRwvZ3`ZigKiuz?pMy_xIafy=gX}_Q=vtT&Zi6zl)bUK5WR? zX88-LrRKDNhtXAU)xVx6_P}6!38Y~;k6DhWn$@|i`IN7hGEqs!Dt++3&-c*d2EkpY zW48Jqr&ly5<4@}|RNb#(efiA9V6+`-xjxRDTEPK(d)sI$B;DY1PQ(+7xvXzIyY=68 zYC|+zzX#T7wY0H$6BkcV6^+@qu+6_l8c(_~AWh!8RZhz1^VpKrRSF+*v}@<$=Q935 zTq1&twO`#drm-fw5VU!|O*ib5dy&#t+ApTezNbpNY|x`8q$X^%QiA@(q!x3tm${=p zgof$Y8SjQ@R^hLV&Ann1oNJCNSHxM1pF!-%K|rA;|9Ut3`LV~3E$YriH+5;=ZAZk$ z{QS>vxj35nlI&mnS9izX>cRTL(@&D5d5B$(mRZf_$M%0I8D`@(kT|`{3X#8TfnSI6mL^Rbv~{fgC3O6-n?<& z$j>&S?XE!lB7#@X1Odh^8cuHV5%}{SN`UJxcu5>*a`l(S?k33-bkVr0+kI{J3Z`P( zy4MLVds`SOrt!eSC#tmHRY|U-ldEu8ch?%PIDBH+7=JKr>T-}lQb{pyFL$%M9?fMA zQ{CT_)FIDyi9c?C`aa7CfqTbjB;f)LkbQ|xiGZx({~h^1S~q=_%Xq_Zua8$Is#m8jjHJ=PI{VVDr_F3nKD(kh*jbbNu15Tc z)l$JXE@LHd+x*s4!Gl*UPQO~eu^L*p#&ENLuGIZGEzOHV;eiG2$0#+(Z3c4Z>t&EG zt*5fNyk&SAQS^gnU*`-ZPxAECFsthQO4arVU|jJRaF0;M%D493!9Wd|UvwrjKEtx! zZG=*P?cBN;VX8R0*~5Xm^#6LgdER z!T}|Q@sOfW#4j7?t`v85Sd~8QOlZFKh~4o)=dm>%iiYoM3~cld*7=+aE%N~Du(G)| ztp*-HeveQn8i28O+zp#rXrset{Sp<%+ioHLX!Tau}qyj5VU zu@%xdLW)hu#(}o8OlTJhuW*{QH-zJ6W1nb! zYIVOTU4n6_JWWeO?dRLua~J%6DqKEpHjDF>WLJXgSf!P( zHRi~RwC|n`m1A?CG?y1mU}{bbxLJm!q=(Mr6V?Q_&>w=d!Y zFQq_m5LB)c{TSss*~d%geFP+;);>Nce4*Q_s!wOWyV%|QW}`WTntkTLE4bTm@~tw> zO5t$Fkj5RH*&k{oKb^jdz^3{VbWYyxS6D6v84d3EJC@B59-1HCq`I#gq>-8;8TEpz z*x+F(U6`*`^@q3j!H&s}F|I}ZXKqidwNn>M~Jz{eYrHSA+IajaNoP>g>{f#+dF0-dHM_9y64N^kQ zhJ|sVc{XDtt#yZ^#l^VQi8hWigJuR}>D4Ra3c>Gqk-5ngVgV3KQ_tU{Uig~&5DvIE{csLtOzcBYe$x#Ew ztk-Ve=TGt|yGkmKlOp0N70;{hFF@fm+y}qA!N$NWo8MwDI{9UcQg@0t;k`C6v z^7?Fti6S_xouj;Pp-`(4l#qso$Q<9n2JZ0Qwu5( zh~OYraiNft#E$Qqo^gz!aSHI@lWR9e_$&#r?%~oYyi zqiRq`)muix{u3IP(?UgTBAy4F7TUqft=kFhEgg-L1L0q~JPlnPHVnJJSLJO4r{vkU z*$?F!!u2=kOk<-{<221XREryf6P=@(+4_Z5_5%Q-)d8(F2y^G8;-v#(+6sMF* zcjsibX0&b&$44#mXga(Jm&S9UT<$jw;XTG~3`}ZR)h#vG4S(<%vst`@mt1G9g0)C> z^(hv$bD4H&jPq%FhD_B;%+|W!*j8PKq4w%Jq0V}h`_p(mZkliWa~5xlj~$0Fh7c2n zhL5G!H(5Vp4i1cT!>e#AJ%{HyNGOK#baQ(U0%VjxvBbP=VhmrLuYus(AU}aYv}$Y; z4*CX3YT+wyQ^fGX3B@ALS|5LAkN6mdCg*5C@Gf$zpGUDoKfPg0Y{EW?<-4q)Nkvsj zgYomy2MINBUl-$0JmTX)@lFgC(rWJ4-Kmn(Dl(pHf-}VvXO?qXQD43^KCGP3r+JU7 ztXyGP>T{o+xk&Cwm?XiFh}d1aJ36HfZw+VSv!Ck!e28-}d`E|HK;peDdFClyhq$j^ zMk$`Ko#k#Ql_bH-V5-7s=Fn0eR;-gk)1e=qvNb)rRF0$BpVgFZ^99=Qy?sa^y4}k% z+FvE?bnNJBOvt*{Yw>+?+T18JMrS{iiGr7lE%;5kCU(=|nwzxFaMsP0B3NX9VDwPF z_}Ooq=zy5)Z$`By_3+AHi_-r4H6n2>t)-Yk@cO8|nye>5yo5DOrdfkjb`W`E_d_$E zUrgSw5P2=XH*BYF$(LC!8tG8NB$6fT=#@TGI}~LFQ5xz(CTS>NFZ2zSh(!&mIb+lr z%ffB|j5bu=kC>l^xcp`q!`WKFv0i(~>w+n{@lnp%ApDH=b(hmnxy*rKD}pZs-Ni|x z_OdkGq*DBM2oT+dc4fNET?r=zZILW2V#434jO~@cEo>ALI@yNF`hm}j%tPf}j&$1A zr3Pu#V^yBoSyofmU3u?f*l!%rUg^Q=_rzG)}nc34|@3xq{udE@F>5y(wgRnF1gJTh%S!Wn8 zVoRz!D8|B0zvsgZYk3c>jv3e+?X~Xkiq4TBx~)uiNEoZLPwM(Us~GwzFO_MgMkojmEK&G9Q!aOO|K-Y}04UuTuW6w0Db(_IU6Cbtk)c0I z;vBE(qjA$_ZTyk(#C3*v< zO@3W@Z`K}%$K155PKiA-fhdagJFbqX2r*vn{KwZ)lsVVvLW3EN3CnG?(#DSMXKK7< zs@u1Nxb^&~M;2fCo_I>;)bTH2z_i(VQO^<;hPr7LEhf%>u4M|!vzfkW;VQLBolog& zcV?+$c;9j-P%+hSm2~=Bne*X(^A6q;)e92*xLu-H%Ps0zsqo*$Iltr)IQQ=pYAX(-Ix{@&rccJgAF zoXd*5hRM^z>n^Rp2HodzTSmfj!wpDRMIWGO5Fxw+_*9i&ruyI$H}~kZH@;xrnTV~t zX2hYBiJq~-Z#yU-*BnacnaoNKYf1GUaGG5U^PXMH6Xf=bJ1Ro2Ne(+5Qx=clHnlkN z=1Y)E=GrCFrTu7ZAwT;>uBOaNpQ?EDZMPy`h8N(P<(C@u0h65Y&SPIZncw5(6;;tU z?=b|M$<7b2TG`fn!27@CnY!bt&Q1`QujcLR`h=)(=8Gt3{a8JDXjK5j2HX8Ryt{JZnH#K2ancJl*cq5d}AR}r*Z55;45mv8AI`WB012(^0 z5TG@ODDdtJy4s^@IWMl>(AJsIQQ1AZmoU#|CE=3Bzb`N{nqEf)lX98H{4 z?r1j2Xu12S+>x$y)Nq2h)wjm4y5B^wz8HKi=M((ZR7~fRd+b9v&ipIj+gc4=UUC@< z#&!l>_?bgyx7Ou{cC|crLkPw2wo72yWCys9ZqmtqgKW8VU8%~&w%iN-;mG8`K7V$Y zn)|O|jV;R(9+yauY9-4RJx`a4)K`}yo}7x+)43dpE%2dZIm6VBJuTS;72o%e(@(IG zr!L4PIxFU@;V~S(kcS_twny{MN1K-cv342f$+Os3E2l4-440o+8lIO_%wKDM71Z8t zg7f}BsPEd$rU>1Ln5s$UN-`iGft9isS}MwIM7R5ZZQqWK#IZPKTm|>b?lft=j>W~u zHX*?eiupo~Zk$@Hc?Zsp6$j$@%m#jA5}rSM6P}Dkk<4$W(9L{>R|Ts&?2Y_>sk+SS zW3z^^>v|kn^a-t+1+kE!a&IIjFnhX;1l_sxp{r^$OAC>IjwlIsV&>vfX@rcb9= zuLiL`c+OR1vLN@F(q=M$zJ2JuxOf#p>U5|~)f<xt4{YG9WLZE&BEJ8W`fc+ag}B30^Q5%zhA;@o>XWUMqR;WUWlf0jfP-3c+&Qb*y=c1q-5di+tzb+KwoCs{6-D~Q6O ze<2FhiI2Pn-d7C^2T>UJJcofcDb4GwFU-}pi{{Izm<4%qZTC(e*^HTeooNk}Y>%rZ z^SntKtS*6@Q#`JyzrT4GVa~;Z!<9Uf+NP{?>^GJ-I}wxTT&JFAe9Wj9EQY%lxJDes zxy^Mu1Bl{IceC2Cn5u%ruc+U+sxZa!@uI1y_KrB-e(Z(?rTIm(sT~`g(+2UCCAAo3 z(Ry>6Ap@*mmBY!wE8HI%+ad39IH7g(Tf$>Zad7MJthRRY%4neo$TLtY7p>-uJY+eT zC7FrjwflazF}z`KdC~KDZ(Gm*$pGR0Ms)0v1}93>GmynFFZrr+<-7z2GQAPtc(s=8 zz^Vq-4;Tq{3SyEb=SHh;h%5!&_p7QIx-ApDIn=ST(lse}3^?7w7enWx^ zaCu=RmTcl#mhlDNQPlGO5gjd$od7~O6Nye`yS{#=MvIBHosl4TA0~O&)s`wn8g~(? zTtgO~{Zr+nBqQ96$${oL=g`zMc)(?`mql!D+K^po-g%=woZXaB z`7^cPktH~yuq}?Iq(pPz(-aaEghRoRF}pgGDmP2$D5nML3id*d<2L`13Lc}9ZU?18 z`^r-gT68u1d|!oD&8S|5JhuyqNHd2fOAYn(zLyRb*$@YLU${;i zI+eY4FB3_REn10Mm#oiEx8|3Y>tVS&P&)rOP4n&9nz2x(dug%FJx5w#*x%hNe6J)D zn{^a_yhPn&&nPKbU*^&l5H-9*P?#7Y-}QBz&Gb;AEF#0s9((xy(vz}V+cc68U&^Od zm@XFW0;FhDT724B?WcY5Ww~|8!o2a#B$xTlH)505nQuxxG#x9SG1wh7dAi$Q<5NSV z_(ZTY$V(m_#CQd<8AryGbo7-vY>3lIfW_SMxMEmAP!pqno75!LHQ_XsHif7zx zM6x?YHJDmZi;J%9lSd#+NHRlOdg5L!bKlHSP`!jzzPR<57I@ehSyZt}@$#;x$C^^q zkJo{Q7)=c9VFfMsm{iFrezoP`Ry2=VMJYPRpo`!Jv_>#T#E;S(j(qawJ3$a~ny-|M zozBk3g$%ss*Gp67cYD1le%u~R=gITotkQg05?tJG25f#{HQN~-aJc=bv)ChbhPT8r z?ds+0SHI*McP4%%;=gTB+()Z3Jh4j&XO)}JYY8*v*4{N;)&T;zVt=wZmG3X^&c(#B z&6QA7tPo{s9wt|^&uG_+dfnpNvE4?eMo$CjR^Jxs>`JLcJDW{tmE!yAgOHh)VCAj( z@~7I#Oh9q0+Xe_!8&M_eC!`|f24>$A6#35}Z(DD@b z%?rRsl?i}?G0XhYHy6elWav=B*3h^0TY0Da!=;{-P$400@9^EtdBR~@abS+W$Y{`v z6Q2wUWIFMxW=4$3(#adlX8hD&1Nj-hG~Db0f?;N=>uHzcN``+^G$h-3j+_6uk+PU> z@Pol+e6&5_OIeKk?I>{e9IMAgY!y@=Z<+6plJj!2`rnSkl;3DM8O)V5w1qjfpgqa3 zEj29%0UW+bhCA$R+jPJFNor3Nx#)7ghWw3gMf4cM#s;U$BBo0adh}-Aj2c zrivHl!>^MAS{t6>`p0^%h;M} zrr~UR6<%tgTkM+UNgH0=S00T$718!0ZIvoK|p=k>G&VrXxmXK7~#$&Hl!H z9nY~|D-d7fJfhG!w8@+y+>XO;StL>FHZBCpA#kd&O3uxa5Nor8*El)QvO6O7+wE|6 z_`zq%FYo=cRI9sG1}NtPxInQ^GILLq635S>7rSjCYv*x7UoYR0Q3O;@7)f)mD$G)R zFcTIf_Hx>uX;@5;q%7yF)tSv4Q;^f~P2r&|fhwLYqg|1dvM1fgk2O~$(vB3KyQ|yB zCpAblCgZO+-^}b6ok{O`?Wa05Y?xeB+OYoZU8KBT&#zbhufKeI>576{Ei)-OA9VYI z62v9fhYthj-P9#Vb_xVAu-m7spsTerS!6gmP)&OsU>pjj}kqH>!bwoH$ zJwj0fzaQJI4eNQJ^U{|}h-M4r8m{DooW_2{ZYZ%DVZ=%0qN;~8Ox>tkFm@q$Gg@Wg z4_-g|LmrLpEm@p?3e$e-h|zdi9V4w`#TR1D9w(>gsrxJ3)Mq9W8njEo-#)02H-)i^ zKQGf#M-57W1jPMX+vmC+k$W4cZ>U`k>>ZMPW3o1$9#S|U+Hgr z-Jm}?;f^wE`oYnL^@#%}UvPT!A3)Q&7ZgDDYts@p(w5?m^;m}L_fkO zifdpzP1%H=rh`|G^zXGANx%wO_ta zDK4Wr-nu>ligK(%v0Mx;MhNA-HEyzN*hGOKFlpA=uKv;*F$3<=(4}r%o=ty5QdGV& zSg4TN5y1q7Xdn<=8TXy&0i~WmaEq%H?WjZen~V?AuRH>Gj%NmMLn#e1YCsXUTCubX zgRV;`m+y$)sexZor5pQG?3^sTRKo;MAG~#8ZbX0#6@YpEv7H>bAUnch|LhXtj*^dvi2=d==&2y zQdk#jiNJN|&4+(ff(#E}nj4>U{o++*Mu4iH+hCJINKV$i1OPe4u-dQwgQaC)R|^kX zDUd0Qci=gjEdM|yuj>KiemmN5utS`44M4wzz`*Cdc5xy1*2Z(dxqG5UNDmya1pua0 zIJD#bfsaJuKYYA|b|q7$98CvFwm>2PDaP_1`_sh|FbO;^6MyF*k{o1*P_pcF{~H}r zkj~v}P#z#ovg1C74RV+9&@KrWh%d(VI;sFb_R_6Iq_B`3Lby8bhtU0lN^CFyIb+FQ ziiZUG5dwLik{Btw=XcSdLYb;tuNLn>Oeb4}c6qcPKzHs2|0sSw1k%x_lnnxTxfhd4B_~)s~4}tj5ESgxrkbkQ|rZ3VP z>mL~A=MYHL1)@K@L_j{}jCbnBg)3b{pkf8(gi|)MSn(qXh=e~&*2UDhb^Qv!RpSE= z$5kXpHoz`%o%cU6U(Cx}C7|TDoN-n5&!#zmQ6R#gLel*FkJ?v&mG{T*N}(fpxdT}f zmzx|{ko@^iANSy)1OK`U;E&#ee0ep`NDdnEAy*-Rs9}#2zc@!6^brWe!w<`6cxG4A7CX$1r0CK<6od@ zP-ojD{o)_);6uv&f<0LL*~K6eAdt4Qr4NxHKS9Wrkn^4o4f!pqGyu6_w1|(~B|5aQ zmfc_WVqVHXyuAA%xKs!!HxrO@oBSgABa!C<_Id;qW;2WP4w9F5AYOhl!ArZCm&pQ< za&M$sG$EmE0%W}>zA&6G^2l$WLm(~pi2m%-2U70Mw%@(~U?r#yN&i(H(!3312NUD# zKUh`!0#J2u6hjIXN!Dn{i}s97s{DhciO{YXYk45zTtWfQxhH+TdO{GO>J&h(-Nw@b zDWBIP0CNJmEZ!k`bN&YtK+ewfClwMN4I~cDK1|5_sO79FwEq7=cruH_(gJA%0-UTw8@3BeIDiMd1cSP7eySNG-)LRK!tygsjn zpIT&tdZTFy4r+JR#mirDD_;z=!spGD<;iZvU0UDVM9(EbZuEaX$kHM8cyHsgEexrL z=v^QiUbU^y{zYQf9GruxmUZogZw7l6dAeQ!S1o>djB%PjSGf9sLb_!W=MklzpHa{g zEsspPJCEhSNgL|CT>ZU^Ryecxh*V0zbS3hYt3f`0fX%$i`|{GoqdQOSMfX2hH=WYF z{kVVdf1VV`BB0_>wmB6k^O6dOr8Sx}NxMCyi4R=5DJZ6* zEcD>PQ@dRLs83=5`&UgC|5g-seFsGZVe}_|xM={H&7(cDEhIae-b^+T_zKsN4iogj z$eDOl86wnZ!g0keKfj#N>uXr=$`7U!+uSD|}U&@p%r+u+1p3*zL zq}4j3ZTR|Etu#(6N>f17Qwk`^@|e_lPhxJ6kp7?UFQ5cC^g9Dl zNq9UO7nx%{5bb69sSr>TLL{H(Q5{qCktaI`d0SvWuq3O;Nd`A&Je zphCOmFPVoJku#qe+`NBmcs0kGVM!eHwP|K)J=?fy>wmNAiO9bNQ=%%6t}nNBA$2|I z3(&KN=1ClqNJDs+5=eva*jj)peZt4i&a*t-N^lLo+5_nrYbgOb#>%5DW+-1ToauBp z!V<8(dXvA!0TZu9>*j<=J(CN$V1c>}sD00uYG=5?6pNqn9U=%1PaFDP%g=+NGurNZ zCQ5HyuRI=_)~vUO`9|Y;s;6UB;u-R#(jd>HAj4riPh{tBL;daFQKkYE4r=n9d5Xjt zg$^K@6T9Q_M}o+JCB6DQkZ%fy?C!0&SCa#0pe?RoolTTcrDVZUEq7G4yVQ!J>Dv?c zeEM5BTo1M9B=DzKyc0;Kk&?@LFpIsrJdE|!ddmoE+0Ey8@E~|+x&MVpWqL?HJ&gp< zz8EHVRz|F0`P{C=w>+8uZ_s=<0ChD-7Oqly`Vm=iIUgQAN>PL9QOePtWjb=k96our z(Q>nZY%Pe$O}#m(<`;U;c%c71mqq;)={Tt)OJho#@Tz)6yfqxu>e>@*Gv|Lfj=y5M zzgNIMDgXjjXlnkINV)@6eiO~p2HkHX#442G&%R-gU28ewKeNVGIt!hjO_`7VFeeBw zpu4*i>mQ-w243D34Z3(Eia+EU%0mV~wgEc;G=)a%{N@3_ieAT_|HF*`i6{f^K!)UJ zc{?leSoRZQnc4%kKa3^og0!5=&YOp<2L7{rmB6{{mQUuGdVlpe974lkRc_ct)7zc;kCk(ioq^O$oe~%UacdFp;sS4Ly zn4h#Z=s=^^Q2F{t&~hbb9>ugOn<9p*nbJw3cIAeMA4xb*sf8%0?c$thOTCB<(rS>7 zJPs7j6Vl#WJ~&0KUa=zOq_W$ZxzS|hV3F{zy7MA35KT&8y^wOa$$o^gip$DlDEr0oA5^ujS;>cwvgo0(Y`7tAI^`x^6#xX@Y)vnYks-x#=#$(@_x_}yh#%zJ9xC_KOHH^&ie^nJ8UUSpH+J+Oyy=Iebm4vwei2E749e2%S- z;^aYeBGxa%88^?W1z$1xNd4`k>M8^|r7wd-7?4cX48O~> zDz(j|tg)Pz)?f;yywyd-kJ!fKqqCx7BkFq$yhf(|ai=IA(2Q73S4@9|FdQ;C8n8ZQ z7!U{DJ?4JX9X~Vr4BG-UU4~V+=UW&$cn(D?#*B^}G96D=rLD_-@R>!&B0GK#&QB&# zY_)+}S~;n6AaVKLH;vRy_{GafSavtA;k0XvI5^@IH6m^+w<6a6RT z{IFBi{;U(hJyH((qpNwD2Juv&dMT6hj;|CxsybKwG;!dz`Zm?w9Mdy$#nY3}<^JOt zjK`F}tQu@ivv<$d1{uVwPt~kfMzvza9dtUzue^3NpKUdXgA0GX8#JGxP`KYxXqrRn zg0S&lyw zSI)AlE7r`d6U64*SOb*Q0$g@;4yk7?MQ0guYr#_kYSTn5ab8fbD<~NZtFF^J$+~6a zsaDv&?mx+WS#`Fla0nXEslMo|<Yq?(@$_b^t= z8fdm#uYj5+yEd)vy{zyjusnfgAS!gqSB8_~#2scs&~3_;goLQJxjIZGwwtu(4kufd zSNwgWW=BG+OUlei_zw|uP!%br`q&T5cy-mbmkm;7@XEZ*W?g4CEBuLY^j+pvVaBzE;aTiSD&cjWi7G@HZSV4Y^$Rs9A$KOVdcQ zPE|2q+wZkplha594w|@z?8z_LuMBtN`}9-4b$WZ8jb^fz9(B&U77a?En2lvm|J>(r zUK*Jjr{67!Kr?8M=+iVjZSPD9NY7D(JICc|JA{3uf!1XRF?%8 zuV+}pl-IcTy9t)v@5PddukOSMjK2BIV~2_=JY_cL`ikmm(<>fpYFt@K@-KQd-2Ee$ zVvp>7VRG~~#ZIuJr;a9?V|5Gj$A3Bcu6rYPPG=o~6q!W)Bs5^g?yD8yKrQGVp>ZlN zvTXZxTmqUc7rR`NSB7j-?BDGWW6X7E`Pq$6>y@JkjId<3JPzpk{q67BrBjgjte3s~ zhsSS0C|vJW``}N`;yL{-aKObj+Y?K|ZVxrYjqNTTqaIL`74`mhh7pmWb~KxVmbe$m z#8PZLL9>nLNJZH8*lP_YJUuK^sf4>PY$oNYwPD!&&AGeb6P8M!%MOYPt{qEqVqN|$ zn|cs%)Sg5mN9(v>tBVnYvr6Sr8m+Vuzgr!RG5JoPQw?dXWMc=1Gdr-QZwc6O3yot@ ze&rVATnaFEkj&8^SmV{bUO=qNkqM8vJ1vdr(4^KjEStb35K?a=RWu>>}k=Pz@D$`l{04W zQ3EuuSsy&JvN{V=ul^Xvk^#r^KQK2kE$*AH0zIhtr5;fk-?ne0g#`fWT;sNEEueN~ z#0q}{Gp~L_?T|LAPs^~l;g_AdKQ&Oe+_qt!*>>wors~(#q;X~}-}illrpg>w!Ei<#%9oJOh2|UCkw*Gdf3l{pb(uUeCMa0>vvwkBcK?zh3 zS0t5pm$?@CEuV*IFk5jngvUBOHz`X0QKL7Y2A3oDEOBb{B*`5d{ z&;DKEn0g(5oG9+!%vT6hM4%ki$wsEMe?YY?zTn)y%9qdXUDw$VzoHJWLS&&E-`!v0 zvZ78&NJ?u0FWFn&BiQ-Ik>{@>OI@vS>s@8> zyWCd$eLs3;73D z(_N%ncEwNPoD~f-GkAAxapzksrAL;{Pu$eqiNGL0-;hKdk&+eleaSkW7<+81ve+li z0RwPMy)-iE144v1%)4XEW|VeSxq>SDv6M>MX-nkp)6q}Aup^fgvcuS=rSRD+!UtS~ zKA<}TZ7>*#eVy?zl-3MpX)y6~bR8wTk!9BrTH{I^MPNCPMN%etwoTs=zCW&daR6&WO zZl%ajO`3%H8J|le-9hMJ9DFT-ZoqDNJ__6F_-E41pNA21!>0{#1A`q0(~lmgel<$@ z38whGgrz5dqQrcGe<+*ffg)@2DetM9q!OEOL6##p-gFFR2vq z-a2~#KFqT{Qzvs=pEd>4Evc_KwGuUOQnxI8l)*;^i>g|Roc*_w$0XDz!Grt97k&{2 zXIpw|`akC~vY#jk*PUa0cqpNW7MiV^&pfl;41cQIO{7;1+Uv+bo1Nv{bmVp5Esjf< z!Vy4R^gXN1)ky|+25Bs2lcd8rqb&6m)k&Nd`1JU)y};O{Sg~_bBImVz@kl?23qlb=k?r>gFcerD$IqgW5P?qjdTcwbUQ2 zq=$l5bf?!)7hPQY(a$DPd}cd8{n^I~<*RecI-+rYYFA}y$$^hgC|YOZXx{Makb~3i zF7uG;z3aBB>>^ETI~4$7S-NVpio1GULwi6+xT+nT8cYdDJbk7iEg5I11fy}O8jWS! zEU8!z*i0=O?P#}maZ`51aQ?is&3fd3uu5H0jLU{S1bv%+U)ga8I*C{`gY?Oo`(jTf zlDZ2{Te20w`}>@3TG@&a&%KVqX3h*{V*Rly-SeB^?7$+J2O&_;VZ(2YNM>RF-2n|< zuY%c>M-)fZGw06WM7g~UM6Yb5~l`OW|m*oquB(QpYhV|blGzv*~=`e4ew@VY+}!>bx5bw7Nkkx!0Q zWz`LaA5F%UlU8meclrNrtMDL-Dp)k|1hM??wx%~e$$=7cg-K2%|Ng5?`Z5oxzJ!S5 z$av+Pkw$dW2#v66GwhypD|g#E&Gug=I0XGBT?zh(-43?$9gm=T?UkHZ6XnNV|C97V z)&&JNzRv&kKe^!G?0xmK@Soh&r?+J3SF1yo!F*AE-Lu64?EM4Kx4(L?j*Cwi#VGVQEB!W{Z z1&-t-tJPAkS&Vh`^6131Aj5h%$RD?SF=Hn7>==)m+P>w}-o7cZ@c8G^P_m?_BGF*J zDvyJZDlv8q6EB4ezxvq3v=#LPsHME96d;{v8HM4lslc|JbW)-YD{km+?~<_TclF6L z^;y{O&g!+k`r7AiXP+onv&6c*0_>#VO?J~aBkNiw2ji}cj)=v(U@w2@w z&vuW_jAb?Wez!HQA!489wn+_Kz>zaskYuUTGkfn4ksbsl=?9E_8m1pffw|AsXj%=f z(Xoxwm`aTH`h`}{tFG8rOZL;!ZckVpf5^Bz@um(l8^emrCtO}1-7@MVHr;5aJ+%1+ zG)90JLdR4^Jwg=l19ospq+*YyGT5{eJvCnWXnRG;dfL_*aj~( zu#G-(9TZLmGilcr*hE`k3kgtAqE?U6{WcJ_?W%a`rxE{XRNejb6H^`K!R$H|r<;@U zjqIG3+)PN9s~(TwtF5|+dNf{o1Snku&Vp=4M-6KvU*2Ub^YHNc#j+^#DI!8uV;Bta z>`Z@&!aXu}d*c{Q`-{S5<#K;9_a*<%WStt0w)$JDRlxg>Xnzen!jvflTqEFTF1Xxh zFZI4^LpwyL^-pr{7F6%Bygm0<4zN-{=7zIDVQeJUFqiEWhay&7c@v8{Ude|IlL|W- z)Ji(S)t39c(B#<-eAd2fsVFvIV!q|b=T~`*NpfZZeGlx%E|=fp=OW;<_He9PX(sKs znwb|Q@6@wonq73@o{o-Bn^OidkLhCitP%H1Uvn`wz{Zl~OZtTb*4glcCHG-K4O$D^1&vf*}?a7CArolE$i!xM4{2Lblz8>1h*^HnGjSi4UEW&h>r7c@>=6GPY!J2 z1a3LT;7J{%h@=h7o^GMTE8_0Bsh@aAf(Cn7-u`a;h-nzPliR*?vF;e!;^6est8&sx z<{Ca5UcU51*mZFAO?4dH)!E->vjQ5f12@gIqdAm_075TK^o!4{DR}m^Mes%y*i~kS zFcF@ek(#N-75ginjnVijS=q3y_oV0u_<>vu*CNPtjKDo=SXm_gtwp2c0YvWqhqJei zi?Zv&MjsPI0TmGeDMb)aP(q{;R7ygTj**sV-LAr)+7!jqrM!LHhYK9p& z`yPD1@71HP&pCg{?+4D@_ugyoz4nT0T?^Z2h@VWmfr1@g9;iUI3@hb^y#jO&3g|=o zD&#xlcqV<}{^59Xgq-n#v2WIOZk#WEe;$W*s(k|VYr4U8yDyI*RvsP(k1rzHZ7EBE zYhOBp@BAXlARQ$zxciiVI^;rE1Dz`o-WV8uk`Yaf^%pk z*wbcux)ij{=92xN$iqowu2SeS)jKf6i`_*?ggpec0y?|yl}E86LzDd#dyg@z(;Ul3 zP-oegm220XGD)^SA-0q_-jKT5y>u@a3%EQTzg(f|x4tA~75esD;9=(cQc!crlYzeH z76mwT`bXV8QZG|Y9v(D~Cu$Il5)x&UoGYb!CbKWA9}yhJdJ^VFVCuLt4an7Or^5GhC!ZmRB`7`nai<1|7avBhAMdJ`3a+n`l$vadtF~QP zIVEGX3%{y$76AL9a?e43I&Bp%97bPIKoz%k=^uw(+z}U?pMML5mD2L2t<$Vl6y}k_ zVZk#ajSfWPrMx%oN7_!I-9@ehG})=7a~r*=vxrUCXhs)USK&alsjAz|S7OgQ0NqV9 zSLVDb8W2&4#fb1{*5%Dq$Q(HKmU(Lg^~RtU6j5Z};ZQd<2V@k- zN>%eZhj!Z@ee^s_myg)EX#3UuuIbEOv3I#fjqEPA({Di)=l3OdQqntOL|aNvK6)V| z&h4KKOtF|^x5w^6dMK$*|JRLk3vMZ`h&L3*4P%LF{^-}9oY;tNu^3Lxgluh-yA8#0 z53jR1=-8mouL(2Tt&7@wg4ENUbSbmOC%azl6-GJ;>~9J zx@KBg9abrMb;Ci1$c4hHwC%*`qU9UvyzcRtAdYK@TZwTL)b`v4y^6a(Mnkj~F|O#l z1(T_@>4$OLeU8+Zp`hAkx;G=~Q5Ung48S44Me1eBp_-q4k9x4R(-fOOAfjZ~3GzSd zA?ek1n65WewDU@~f(cQDxlVA11j8*y?aK|!4__?#-L`*~!wp^vsQwp$=0a+)B`d_* zz$gtg4+&!hTS2{od&QWPiO0={IN7FFlsK}sj1eC0cFlR>3@YP_#x?l|$qI{2ZV}Q= zZYfozM`GQX7&tXq+_o6j?Pc$OFgI#p59N?9km7LTyMhpfZwSyWBq32;4?o*=w>@Hr z-TnEBu|6&BScSMxVNxI8iY%<5?no{g%^E1N{f?0g2yRH17p(8Kn_j@}rHL?KrA3}r z*t*!>ddDjV)V*;SRR*5nyga#dtO=%f3F~Jq4keI2gPh>O6S7YGXZEl-QT zTF0>amU8)lh;7byBXB2x_>~j{v^!m?suZy{5-1|UGa=ur5D-z%$rnYiIkzjj^zGa=ig5=Cip~Eg;;3I0+(iuuP^Xw3#x!9r&$3oWv_71?ofl50U9CyN# zl#WM!edAN6c6diek=7##<$4iNV!co{S@V|Lwyk@s{v7`{@`&3e{WZxg`M0EzyQ}#x zP>qt*IFfJE<{yX0b=o*ocQ1GZXj9MeI?O%H-9AL>nP{6Cw0f?=EoF2B)`R1eYntB( z7TY_E$6LG0OIlDaRmkaDsdKb!&FdK?MS3D%BgzgVVz+uO*N2N}J==-<8JEQzlQf2AO5~h5=9&&+Ya2eYN{)*br{CJ!iaja(nfi?fUm)z2%cIOs6{&(rtP7@&Kr@ zI7(xzaL&S?`c;KyE#TxzygR5GH26JEqgD<8vJrj^B&&jO#K!89NJjR4(;8iQkAACbj4*SFu-@Ry%IIV!qQN@&M^V zg^HW#oeP%jMCm$CNs5fht)$-y%!=Pq*TSpCz(JVp!btKks7S|{%scikr*ny2EP!P! zt)2sG{W@A$N))>wn;1KmBr$BLoXU0bssIskJue>A>BonL<@52!MI^^K-&DAfc@4Gs z`oMj5#krMCh~bKV*gD!J+JrAwPGF*AQf`XRbHM#ZG+-ltf^&;>$+Rkry}v{RGDjQ_ z_f@M#3#e0enUCg>Ja5J*<0BKJnX;_6juw2ptBwUov^udVr}=)Th3k8ZZ@rp#^3A1n zw-z_-+|-dR#@lV*z4jJ%T`TY(XcG+P)2nZkZM|!ob$79qNqZRM<8W*-_7}r1fjK1O z8LYW~>jpAqz!(qC*(2G8EjX`f{D-be=he5o7QHHt3w`EAWf0k((3NukGb>z3xv9iB)kqktTuj{&U5Qcrh`vBglxYEbur-WoQ@FFtsVw2DXZFVlS2P zF9H-&Jf*jGbL0EDnc=8H|vUae%F&zV8_sZ z_9(8kpY7-yHk!a7^veR2@8y511k~7@=hy+eR`&E+7$2t>*9b=Ns)e)EmQ`m)mhcmQ zZFE=sQDlT1AX#wh>q?)@6x^^&ldV`^pn%wy=(p_1D-+}*RnIm@PIN0d(F@_M{KS@F zs~fYX9{OY(DJpPHhdB<~y&*G2DJjk{9;2{hmPQ-)u7%vn{rpD-E1P`8CMyQWfwHR3Xm0R{iR|?-3VkO zd>F?lxNIi)b?mvfmGn}S+TC93t0*b_32Lzo%d*P=Z;@-gq>kQkS&oTZ!e9G^L~x`+ zJolLARozmFyRRZgwK2dlssq^}+o?g;p2*WZmQApl63v~n2$^p7tuo_xU7vROmI604 z8&f;g_Erar%sCJN769#$@PwZgFe|=*z;35<1kUXH2f8F+&F4EW4cCEaM{izd+G(K9 zFDQy`euSI2Ipj&jWKB0Y)8bq|ZCNKbs251F%W0v%c}hfxRlN}R5?GR3kwa{BvqVQ( zSEChGLTfg3Wr@8}JO0?x3eo#Tq3VKj-BMIgS>Mrh3lk3a63es86B$mT?*Si< zVbO8$c93dLbeP_45fHh*almwNUByK7Jq1|xfxUBz>1pzGb{i1~ZAjY#MCh)Mkd}Zz zpNJ!V8%-Mh(#k5|l9^nEec49KN)=qx*oDB!wW;lJg(99B^7rN>l-5)D=#^=FxOQCkj|i~^g|zb)>+W(^s*T2 z5T1V7*5Z3^q(y&aV~Z$G{LXAwskgbx`&#Sbfcpw{fz)&#Y)78Ih(}5}@+rnP3JzGK zDlh6p_5unXV&xxB*?;_HP-XNMs9?hhww>d8csVo6&}9ye!9M=i%9+b;$8yJZIK2Eq zf%6>>h(7@K@_LKM7n{T#E?MnqC%~TA_>|sKJI_Yc-)%)sF4n5QQkjfSkiDBe^~`iZ zHdJ>&oB&eX;$|IG`-|&+N_t@g?xtc&s`+^2OYD^5%Kst67^Tm6s8E`3xzHLH?EzBS zhp~+|AP8ZQ+!Puts$-0}mF}v@z~5F9^GLxLTZ%6!oPp(&FZSPG0)>&WWwPL`#zgra zS|8BKbgMOfkorX=t2aahdm5)%;2K>L#2;%o(`_kA zSgWiAfFFlAUs^e9qC9_%yKZwq<<6g2THfA?^|GYQ|BBI~Ad*{h_9wb&znwxFI4gFy z0Lpck4y6=EE69pPXOq!Ca^a^v{PP|!S2KM8LbZjtZN5TF}+t@96nwd@$pHsNrLL@IZvHe^TT|l zd4OuwKPa39JDFeT>)T>MG!^jUaGI}}cOzJo4E#Cm3jhs8LpAwB>*k}2*Sk=Qt$ros zImt*WjqS~w?Qxs#mM`dVefpjO?d3XFtaT8M2~f3`&0I5$vj7K?cigX!MnCu0ZT~qg5sR$UStr7f|EZk9kY+)z#E}h}>u8$+FM{CDcmM9EQH|7;}sVF}R{*TtpQ_O4XraPh7b^?-#FaJQL8yzTJjJf&E}(^K!F z?!=b!%dC3{x!RF$m~GVMRJ%reHcOj{y#BLy!g!L=o0$RE2do>@zCw6)`${*>gYj@P zU~rum@=QFf4nVc>SG=sMOt>9-c3QacjivKV*2FT2CFFr0Razj6=>&tDQL!AKQs6cX zsKE182QT=UQbzpdab}=-K4J{w;IJ}H8J8acecae8D@5?q&fX0u9xV6jY7rFIgf<9Q ziBsa-hCB+MJsPo%C0U1$gJ5}nX`MOCIs}GwOVeC@-1q%JVS}{$bWF%bT;&t577xIU zlnWg0vh<=Y{=#wS7H`$7hYvSoU+;|WY!}1Pw0(*`Q<3yB?@A8qfX`KMd0$c#!&pZp zUjqPyT=7FsigPu~j=Yt7s>rpNW<)^po zE?`}LtbN($0{rOJ(wp6tV>DCOwU_kP-NqJiHONBQz#xyP=HVDYf=%31#-h5rp1ywm zW(^;QgRZNluFEW&NzAdI0uKLpejPZ3;>NFn1=p(~c7)&qpDqCi zdPlNc<2hss0`TfB^tyds@&ahB`jjd)xsHB6J)FTx9b4`~Wa#FJfc05MejTsqu9SXF zh(s9s?Q>b@a6XC-bqOQ@7*%jgzeAwt={h2~rRQOLumV$zQyGwnsOwXfzuK!Y?J93{StyX*k@mdt+OuaskyW5If6u{8l#LmJCIx>f)r%MI%ukB4`oZdqU zYz(_|RrK^7Q=Czf8JAkO#jYA(0O+_GpAflaIMBuCaLZf4$+GOoFsr0 zU4topLoD*0=`{F!u08u*y6MySp5xt?DqG_CNKe3i#r>o~+q8Wf@S0qUomaX}4`^CU ziQ3Z}0J|C4?DsTp!{*bcKJ9IveXJ5aou*?|RF0?`{qae#%K&f< zEd$%4xo2Ont!oum8UQ%N17i@XE%&5pg>BO?7bli2sj&2dAg&ucXbDKj@VH9A{XWP7 z(R)2{=0ZM80VyRxj~dm;&aDH#*n^){yqReU5i(uN4w<0Xo2G~)P->9?j4Cz60+Nl6 zQ~Z#AAE*w1^%XfUBKg!9T*>KKhw&?cIv+!G*Qw|MiAs6tt#b;^TE*%~<$SF%;U9WY zuu4-qa$6VWswR&eqNOsm(n2f!ofnG%yS6ic5ti4hdn?%j)QI4ZB#^~w#H-(DgKd(z z%&oH1d%Z|T&d`h4d|2EB+;DFJJ7>d(g1x0$7+}(lydAKRp*2sP3NV@Y^iAbtgb_6%~j>XLMjkp9bvt z=bT{wmlC6YL~(T)b9`X$Oe$HIy|zp2Mgb<_B;A+#$fP}bYB7f__q}n%{To}8fxDHG zHB!ecf6!q)dcP~&oB^mLPcZPv18%$11{7946y8|d0f&RTM?aDQtoEMCvciZ_+Rn|O zz2Z%elFjHV8k$Nn%(=`G%x|OvFV}NwT-12i_D;6p!TX1@hHSUvA2a2?2cPp8j@etD zc@1wTVlnAMWe0h{)dM6P%Gb1$92dWKk((HzFZICb^n-zYT)K1 za#nBKiaGjbic{Up&zLvkB(U^j99Qa!j4%!Jt#Eq*lTC|`PiSRPHO@|1=}!5LLh4wr zi<+TLG1$$S%UddCow~19RbmJ8U6aaYhH0aD!_ZUNqM|DP9b3B4y(KFF!C@AyKQ zdVC5cwtFz9VOaZt?h-a?hHA$>nz!wydsA6FW%oios+G&l%M0d1iR)-E8Ro)koZZdV zUe^dkC$ydy3Tsov3vLM_HcfZ^mJkhR(f1TsJ$g2#vegp8f@6JXKGJQqoaxoSjpQS zHgXW7^LJP`=aNf%cxs3&uZQ(6!xO&c@FyMtaw2G>X%^D?Z4adD=-dt0FNU?P;k68w z%!-AsH*4IYcLq z4@5hYN_bP$Bs-GPI3uP^!3>q;I8Whhq|FADH)|Mtsp+wFPExR2^P4 zo&n^!t*N(&@cap?iMgzc!Dr>?8>>m@U;6u$%WG!3)~~5>cb~{{+^)OMA)L%4Xr+94 zu&Bs?rk3Yci{$D2!1BbB+TwGwio0*gG+o+ac-Pxg z@#7EjTq%Q5aXYDgswCL$JgW)R@Dul-UdwGP#%OtYIo)n$z6a2nmK_UojmQf7IEFz_ z-{D}3=DEdB`hKY|54LW%Gi+HlQI|8{-8T^2z4b&5eTBoxkZem{^lDkK=f`SiNB1e4 zRDf$ku|LP+l&XC!cEp}Skk8B&C=P6)CdqV&G`G^wG^gp-ZCTNYZ8M|SNg0x_ zb?*!W(8@Q(B3fcsUGajZuz91-skvssCCavAz!w1$Z~64VCw&#GOcej@iD zE`YGMxZUU=%MQj=)w^~v`L1#P3>y_xo!MmoIx?gziurQtW0zjhF;4+=?w>uk=YV@k zjzK~MW%TsZUX16LhvjCD6=R_WlU_W)TeU|i8aIcMi^W*dCGL%M5v|72oWOn)-kuZM zmY>&54<|Z($PM|Zx!-H1$Y3~JxLR|aw>+^Twz8BcS6BttXFFw4`m+IZCCqvy_5 zqvk`6=coF|r7~fcXM8xL0k!jmcP!=fi?mfO)9nF=1hu_&GMfe4aC#uVOvQoye2s!n?lV(wjvHd!`xDt4 zC2UfBPYw>UN}YlKKPlt)17yLR_0(>KKLO<8P5}=|iS?TbH6^ zB+hBNma*oWsN;rX6XBcj8)?Xdid1JkHnUyJP{2VozLuF8W`b?p>2YatnUJQv*hr9XdP zSO{Ddvx`Q^Z;r;d(#gWFunRdY@{hjlpQNX__F`Ek;2h2xYoTH4Il64xF@2-Nb}D3n zMLhhfxhmSIxG8CDi*jC|x?VXs!xNRJ9K%94w}4-j{B-1g)E22>iqwuXX-0)<<@>4g zU-F7(Lo)lQXvpeAn4&4qw@F?!TnEaznmx@uVO+IAvGxn;aoq!N1n8D!U}DJgq}u}H=W%Oj zB}7@W^cxBGK~)8sZp7sE^OGCmT(s*Z&vq@WW4cm1EGIKxnqe&z(i7-z#Bt!u7DT}w zQ|vTxZLv(5j}CnjN-?#pIQ5G94l!tv~D=%}ToZnpWVm zc}TYl%x#EdU4hqoXz#9ZHfrAFbtQ}>ax19PE8j9x*rh3IkAdPNZhrY{&~*Fe^}|Su zW4b@*C20@pfx_>uag|~3z;T5)`;;W>&KQVD_f+$p zNf`a86onP&iVC?7I zPnff@Ix$F>cSIR)2Q*0rV|Wu1hikg6+UFkbRHk*5HRf#^&v#>lH;>|vNN2jGOJ71; z*6JIdtKm?~y1S#Q6U~C+aGmA4n}p==6Xorj4=WP0cel&IzYCT{vuu1?{Ir!jHeJwD zG|*pUu7}rW>{B3+y%4Gxw0=}Ev{6XE8iBLVz|DtZu^Ra>(HiE2&{T#S)oim|t$d%a zkE2VtdkEB(t?0g@4QzLGmtF^DYM(2SlCKrdHe9n75jztOaqy{BeTPF5l=cd1Y!r{!H} zPv5J1e2bjCtTdxzWB{E+Qsnuttbt z1y?K5d&GJEsS#AlcNjzzLFw$K1E+5315s{oxoO$y&BE`x1?*jUiiIoYmzB3}Yy{fC z-1FMpm)z;ET8vgA(78u<1S4dHH$z_8fKybanP~N8r_-oDI6X>{V&2^h9kqO4*(M`2 z)iJ5M3`48^dgHLJBeCj=T(zzr$wa}kx7fs{@{)@cQSE!(eMQwxC&T2_GB)QQk#^_v zP)^K6jPB;Y22MoS$3a+oUy5l=cSXly$>aHGwQW06$sMOvP^z$bdVD&a4%ZP&M02Ch zRN_lZ=xo$7Pm&8B^Dz`heO%7r$I=F0+R_ym&U0X4>q}X9O@@@nhc|@xXDL?lwi~s{CiOWV%PJv$U`B~g& zihWKYHnSTfgj9>0w?Rjm>UFKh6+}bCR2$rTA(_f(`l7QGPWKtk6}n_4Z#=!r@I^lQ zW`lvu0_rYuoLIl&k!J!N%8Fz#am~L(|&5PBt%ZPAx1rhtDA%p zP;o}R!>2j66P=P(J{f!P4bv>mjD3T$-RW76vlC1|m2x7(y3AnXEDG;jjGwzszkCF4 z=5<3s-wEF>(L&GmW%qKl-{WsAncEMhE6Wn^76@gI7A-8wT-r7oZe68Fo@gvNKAEh7 z6xhA`*b2R_S!jRERB21J1XVmkm7pK7p!9T!;t9Bbj7iUAsDu7&VGUDzVS3Z$@-)(2 zW<#2OGn_mNaCE+Dqa(E-*6XyxN;cX|W@ZHLVM}Lbu@NDb`Eq>zhQ+3UZ>nUPYWf2W z8e!{L*e$@wodgjl^zGx4?Vk)icNjP4a1{aUGs$|L0=$EIjS*}Tsm-d8&WohAI9j)

R-K@I;w$EC%bpBcB9RlKuFJVB16-*IN~+yy11 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 literal 0 HcmV?d00001 diff --git a/Quickstart da3c5848d30348b1815026b2d24219a6/Untitled.png b/Quickstart da3c5848d30348b1815026b2d24219a6/Untitled.png new file mode 100644 index 0000000000000000000000000000000000000000..53fbd570672ad50d12cc41b9b955372937afa5b5 GIT binary patch literal 196661 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≠5z{Pij#guVKFwBQJ8Xql#INb)j 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

WV56FDtX8=n2P!+Z3{JA8EJm^lcE_wZU6=6a-6 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¼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 + + + + + + + + + + + + + + + + + + + + + Quickstart - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Quickstart

+

It only takes a few minutes to launch a standalone or clustered database on SkySQL. You can pick from about 30 global regions and launch on AWS or GCP.

+

You have three choices to provision a DB on SkySQL :

+

This Quickstart explains how to launch database services and manage the lifecycle of database services using theĀ PortalĀ in a web browser.

+

For users who prefer other interfaces, SkySQL offers the following alternatives:

+
    +
  • Use the SkySQL web Portal. Make your choices with a few clicks and hit Launch.
  • +
  • Use theĀ DBaaS APIĀ with a REST client
  • +
  • Use theĀ Terraform provider
  • +
+

Step 1: Register for SkySQL

+

Goto app.skysql.com to sign up. You can sign up using your Google, Github or LinkedIn credentials. Or, just use your Email address to sign up.

+

Untitled

+

Step 2: Launch a Service

+
    +
  1. Log in to the SkySQL PortalĀ and from the Dashboard, click the "+ Launch a Service" button.
  2. +
+

Log in to the SkySQL Portal with your MariaDB ID and launch a service.

+

Untitled

+
    +
  1. +

    From the launch interface, select the type of service you want to launch.

    +

    Click the configuration choices detailed below.

    +

    https://app.skysql.com/launch-service

    +

    Select:

    +
      +
    • Transactions and then ā€˜Enterprise Service with Replicasā€™
    • +
    • AWS andĀ us-east-2, or Google Cloud andĀ us-east1, or a region of your choice
    • +
    • Since this Quickstart is a simple test, select:
        +
      • The smallest instance size
      • +
      • 100GB of SSD storage
      • +
      +
    • +
    • Name the service "quickstart-1
    • +
    • +

      Then, click the "LAUNCH SERVICE" button.

      +

      https://mariadb.com/docs/_images/screenshots/launch-tx-xpand-gcp-press-button.png

      +

      For additional information on available selections, see "Service Launch".

      +
    • +
    +
  2. +
  3. +

    You will be returned to the Dashboard where your service will be in a "Creating" state.

    +
  4. +
+

When the service reaches "Healthy" state, go to the next step. It typically takes about 5 mins or less to launch a new DB.

+

Step 3: Try SQL using the built-in SQL Editor

+ + + + +

Query Editor

+

SkySQL services support most MariaDB-compatible database clients and most popular programming languages (such as Python, Node.js, Java, and PHP).

+

However, with SkySQL's Query Editor, we can query databases directly from the web browser. This can be handy for development and day-to-day operations.

+

To access the Query Editor:

+
    +
  1. From the Dashboard, click the "Workspace" link in the main menu (left navigation).
  2. +
  3. Click the "Explore" link on the "Query Editor" card.
  4. +
  5. +

    You may be prompted to add your IP address to the Firewall allowlist. Your service will enter a "Modifying" state while that change is performed.

    +

    https://mariadb.com/docs/_images/screenshots/query-editor-allowlist-dialog.png

    +

    Query Editor - Allowlist

    +
  6. +
  7. +

    Once the Firewall update is completed, you can select your database in Query Editor.

    +

    https://mariadb.com/docs/_images/screenshots/query-editor-show-status.png

    +

    Query Editor

    +
  8. +
+

For additional information on this feature, see "Query Editor".

+

Step 4: Observe, Scale

+

Monitoring

+

You can monitor all the important database and OS metrics from the dashboard. The monitoring UI also allows you to view,download any/all logs - error, info or Audit logs.

+

Basic status is shown on the Dashboard.

+

To see expanded status and metrics information:

+
    +
  1. From the Dashboard, click on the service name. (This is "quickstart-1" if you used the suggested name.)
  2. +
  3. From the Monitoring Dashboard, you can choose to view service ("SERVICE OVERVIEW") or server ("SERVERS") details from the left tabs.
  4. +
  5. +

    Specific views are provided for different sets of metrics. These views can be accessed using the buttons in the upper-right corner. From the service overview, views include "Status", "Queries", and "Connections".

    +

    https://mariadb.com/docs/_images/screenshots/mon-tx-xpand-service-status.png

    +

    Monitoring Dashboard

    +
  6. +
+

Policies (alerting rules) identify "warning" and "critical" events within status and metrics data. Alerts are customer configurable, but pre-configured with sensible defaults in alignment to typical customer requirements. For additional information, see "Alerts".

+

Scaling

+

SkySQL features automatic rule-based scaling (Autonomous) and manual on-demand scaling.

+

With automatic scaling, node count (horizontal) and node count (vertical) changes can be triggered based on load. Additionally, storage capacity expansion can be triggered based on usage. These Autonomous features are opt-in. For additional information, see "Autonomous".

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-autonomous-dialog.png

+

Autonomous

+

https://skysql.mariadb.com/dashboard

+

With manual scaling, you can perform horizontal scaling (In/Out), vertical scaling (Up/Down), and storage expansion on-demand using Self-Service Operations. For additional information, see "Self-Service Operations".

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-scale-nodes-vertical-dialog.png

+

Self-Service Scaling of Nodes

+

Step 5: Tear-down

+

When you are done with your testing session, you can stop the service. When a service is stopped, storage charges continue to accrue, but compute charges pause until the service is started again.

+

When you are done with testing, you can delete the service.

+

Stopping, starting, and deleting a service are examples of Self-Service Operations that you can perform through the Portal.

+

For additional information, see "Self-Service Operations".

+

Launch DB using the REST API

+

Launch DB using the Terraform Provider

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Instance Size Choices 332dbed99cf546be8724dacee2348e5a/index.html b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Instance Size Choices 332dbed99cf546be8724dacee2348e5a/index.html new file mode 100644 index 00000000..2f3ba5a8 --- /dev/null +++ b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Instance Size Choices 332dbed99cf546be8724dacee2348e5a/index.html @@ -0,0 +1,2507 @@ + + + + + + + + + + + + + + + + + + + + + + + Instance Size Choices - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Instance Size Choices

+

Instance size choices are specific to theĀ cloud provider,Ā topology,Ā region, andĀ hardware architecture.

+ + +

MariaDB Server

+

For Foundation tier:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance SizeCloud ProviderCPUMemory
sky-2x4aws2 vCPU4 GB
sky-2x8aws2 vCPU8 GB
sky-2x8gcp2 vCPU8 GB
sky-4x16aws4 vCPU16 GB
sky-4x16gcp4 vCPU16 GB
sky-4x32aws4 vCPU32 GB
sky-4x32gcp4 vCPU32 GB
sky-8x32aws8 vCPU32 GB
sky-8x32gcp8 vCPU32 GB
sky-8x64aws8 vCPU64 GB
sky-8x64gcp8 vCPU64 GB
+

For Power tier:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance SizeCloud ProviderCPUMemory
sky-2x4aws2 vCPU4 GB
sky-2x8aws2 vCPU8 GB
sky-2x8gcp2 vCPU8 GB
sky-4x16aws4 vCPU16 GB
sky-4x16gcp4 vCPU16 GB
sky-4x32aws4 vCPU32 GB
sky-4x32gcp4 vCPU32 GB
sky-8x32aws8 vCPU32 GB
sky-8x32gcp8 vCPU32 GB
sky-8x64aws8 vCPU64 GB
sky-16x64aws16 vCPU64 GB
sky-16x64gcp16 vCPU64 GB
sky-16x128aws16 vCPU128 GB
sky-16x128gcp16 vCPU128 GB
sky-32x128aws32 vCPU128 GB
sky-32x128gcp32 vCPU128 GB
sky-32x256aws32 vCPU256 GB
sky-32x256gcp32 vCPU256 GB
sky-64x256aws64 vCPU256 GB
sky-64x256gcp64 vCPU256 GB
sky-64x512aws64 vCPU512 GB
sky-64x512gcp64 vCPU512 GB
+

MaxScale

+

With Power tier, the following instance sizes can be selected for MaxScale nodes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Instance SizeCloud ProviderCPUMemory
sky-2x4aws2 vCPU4 GB
sky-2x8gcp2 vCPU8 GB
sky-4x16aws4 vCPU16 GB
sky-4x16gcp4 vCPU16 GB
sky-8x32aws8 vCPU32 GB
sky-8x32gcp8 vCPU32 GB
sky-16x64aws16 vCPU64 GB
sky-16x64gcp16 vCPU64 GB
sky-32x128aws32 vCPU128 GB
sky-32x128gcp32 vCPU128 GB
sky-64x256aws64 vCPU256 GB
sky-64x256gcp64 vCPU256 GB
+

REST Client

+

A REST client can use the SkySQL DBaaS API to query instance size selections and choose an instance size for a new service.

+

Query Database Node Options with REST Client

+

A REST client can query the SkySQL DBaaS API for the database node instance size selections for a specific cloud provider, architecture, and topology.

+

To see the available database node instance sizes for a topology, useĀ curlĀ to call theĀ [/provisioning/v1/sizesĀ API endpoint](https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_sizes/)Ā withĀ type=serverĀ set:

+
curl -sS --location \
+   --header "Authorization: Bearer ${SKYSQL_API_KEY}" \
+   'https://api.mariadb.com/provisioning/v1/sizes?architecture=amd64&service_type=transactional&provider=gcp&topology=es-replica&type=server' \
+   | jq .
+
+
[
+  {
+    "id": "37629543-65d2-11ed-8da6-2228d0ae81af",
+    "name": "sky-2x8",
+    "display_name": "Sky-2x8",
+    "service_type": "transactional",
+    "provider": "gcp",
+    "tier": "foundation",
+    "architecture": "amd64",
+    "cpu": "2 vCPU",
+    "ram": "8 GB",
+    "type": "server",
+    "default_maxscale_size_name": "sky-2x8",
+    "updated_on": "2022-11-16T17:15:06Z",
+    "created_on": "2022-11-16T17:15:06Z",
+    "is_active": true,
+    "topology": "es-replica"
+  },
+  {
+    "id": "37629489-65d2-11ed-8da6-2228d0ae81af",
+    "name": "sky-4x16",
+    "display_name": "Sky-4x16",
+    "service_type": "transactional",
+    "provider": "gcp",
+    "tier": "foundation",
+    "architecture": "amd64",
+    "cpu": "4 vCPU",
+    "ram": "16 GB",
+    "type": "server",
+    "default_maxscale_size_name": "sky-2x8",
+    "updated_on": "2022-11-16T17:15:06Z",
+    "created_on": "2022-11-16T17:15:06Z",
+    "is_active": true,
+    "topology": "es-replica"
+  },
+....
+
+]
+
+

Query MaxScale Node Options with REST Client

+

A REST client can query the SkySQL DBaaS API for the MaxScale node instance size selections for a specific cloud provider, architecture, and topology.

+

To see the default MaxScale instance size for a topology, cloud, and architecture, useĀ curlĀ to call theĀ [/provisioning/v1/sizesĀ API endpoint](https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_sizes/):

+
curl -sS --location \
+   --header "Authorization: Bearer ${SKYSQL_API_KEY}" \
+   'https://api.mariadb.com/provisioning/v1/sizes?provider=gcp&architecture=amd64&topology=es-replica' \
+   | jq .
+
+
[
+   {
+     "id": "c0666ab8-4a3b-11ed-8853-b278760e6ab5",
+     "name": "sky-2x8",
+     "display_name": "Sky-2x8",
+     "service_type": "transactional",
+     "provider": "gcp",
+     "tier": "foundation",
+     "architecture": "amd64",
+     "cpu": "2 vCPU",
+     "ram": "8 GB",
+     "type": "server",
+     "default_maxscale_size_name": "sky-2x8",
+     "updated_on": "2022-10-12T14:40:00Z",
+     "created_on": "2022-10-12T14:40:00Z",
+     "is_active": true,
+     "topology": "es-replica"
+   }
+]
+
+

TheĀ default_maxscale_size_nameĀ attribute shows the default MaxScale instance size.

+

To see the available MaxScale node instance sizes for a topology, useĀ curlĀ to call theĀ [/provisioning/v1/sizesĀ API endpoint](https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_sizes/)Ā withĀ type=proxyĀ set:

+
curl -sS --location \
+   --header "Authorization: Bearer ${SKYSQL_API_KEY}" \
+   'https://api.mariadb.com/provisioning/v1/sizes?architecture=amd64&service_type=transactional&provider=gcp&topology=es-replica&type=proxy' \
+   | jq .
+
+

The output can show different instance sizes, depending on whether your SkySQL account is Foundation tier or Power tier.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/MaxScale Reference 6bff30837f1b405cb2679551df3be1d8/index.html b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/MaxScale Reference 6bff30837f1b405cb2679551df3be1d8/index.html new file mode 100644 index 00000000..c2676498 --- /dev/null +++ b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/MaxScale Reference 6bff30837f1b405cb2679551df3be1d8/index.html @@ -0,0 +1,3605 @@ + + + + + + + + + + + + + + + + + + + + + + + MaxScale Reference - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

MaxScale Reference

+

MariaDB MaxScale 22.08 Authenticators

+

The following Authenticators are supported by MariaDB MaxScale 22.08:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodAuthenticatorEnterprise Server PluginXpand PluginDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/authenticator/GSSAPI/GSSAPIAuthhttps://mariadb.com/docs/server/ref/mdb/plugins/gssapi/Authenticates client connections using a GSSAPI authentication service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/authenticator/Native/MariaDBAuthhttps://mariadb.com/docs/skysql-dbaas/ref/mdb/plugins/mysql_native_password/https://mariadb.com/docs/xpand/security/authentication/xpand/mysql_native_password/Authenticates client connections using the native password authentication method
https://mariadb.com/docs/skysql-dbaas/ref/mxs/authenticator/PAM/PAMAuthhttps://mariadb.com/docs/server/ref/mdb/plugins/pam,auth_pam.so/Authenticates client connections using a Pluggable Authentication Modules (PAM) service
+

To see Authenticators supported in other versions, seeĀ "Authenticators by MariaDB MaxScale Version".

+

MariaDB MaxScale 22.08 Filters

+

The following Filters are supported by MariaDB MaxScale 22.08:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FilterTypeDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/binlogfilter/Special RoutingBinary Log Filter can be used with theĀ binlogrouterĀ to selectively replicate Binary Log events to Replica Servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/cache/PerformanceCaches the result-sets ofĀ https://mariadb.com/docs/skysql-dbaas/ref/mdb/sql-statements/SELECT/Ā statements to improve query performance
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/ccrfilter/Server SelectionConsistent Critical Read (CCR) Filter detects when a statement modifies the database, and it attaches routing hints to any subsequent statements, so they get routed to the master
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/hintfilter/Server SelectionHint Filter allows services to interpret routing hints, which can be specified in a comment when a query is executed
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/insertstream/PerformanceInsert Stream Filter translates bulkĀ https://mariadb.com/docs/skysql-dbaas/ref/mdb/sql-statements/INSERT/Ā statements into CSV data that is streamed to the backend server and loaded using theĀ https://mariadb.com/docs/skysql-dbaas/ref/mdb/sql-statements/LOAD_DATA_INFILE/Ā statement
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/luafilter/ProgrammaticLua Filter processes queries with the specified Lua scripts (experimental)
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/masking/SecurityMasking Filter obfuscates the return values of specified columns
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/maxrows/PerformanceMax Rows Filter limits the number of rows thatĀ https://mariadb.com/docs/skysql-dbaas/ref/mdb/sql-statements/SELECT/Ā statements, prepared statements, and stored procedures can return
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/namedserverfilter/Server SelectionNamed Server Filter compares queries to specified Regular Expressions, and when the query matches, the filter applies the specified routing hint to the query
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/qlafilter/SecurityQuery Log All (QLA) Filter logs matching queries to a CSV file
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/regexfilter/ProgrammaticRegex Filter rewrites matching queries using Regular Expressions
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/rewritefilter/Rewrites queries based on a query template
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/tee/Special RoutingTee Filter copies client requests to other services
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/throttlefilter/PerformanceThrottle Filter limits the maximum frequency of queries per second allowed for a database session
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/topfilter/PerformanceTop Filter logs the top queries by execution time
https://mariadb.com/docs/skysql-dbaas/ref/mxs/filter/tpmfilter/PerformanceTransaction Performance Monitoring (TPM) Filter logs information on committed transactions for performance analysis (experimental)
+

To see Filters supported in other versions, seeĀ "Filters by MariaDB MaxScale Version".

+

MariaDB MaxScale 22.08 Global Parameters

+

The following Global Parameters are supported by MariaDB MaxScale 22.08:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Global ParameterDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_auth/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_auth/Enables HTTP Basic Access authentication for REST API
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_enabled/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_enabled/Enables the administrative interface for REST API
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_gui/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_gui/Enable admin GUI
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_host/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_host/Network interface the REST API listens on
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_jwt_algorithm/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_jwt_algorithm/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_jwt_algorithm/JWT signature algorithm
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_jwt_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_jwt_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_jwt_key/Encryption key ID for symmetric signature algorithms. If left empty, MaxScale will generate a random key that is used to sign the JWT.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_log_auth_failures/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_log_auth_failures/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_log_auth_failures/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_log_auth_failures/Enables logging authentication failures to the administrative interface
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_oidc_url/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_oidc_url/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_oidc_url/Extra public certificates used to validate externally signed JWTs
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_pam_readonly_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_pam_readonly_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_pam_readonly_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_pam_readonly_service/Enables PAM-based authentication served for REST API for read-only users
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_pam_readwrite_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_pam_readwrite_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_pam_readwrite_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_pam_readwrite_service/Enables PAM-based authentication service for REST API for users who can perform any REST API operation
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_port/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_port/Port on network interface the REST API listenes on
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_secure_gui/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_secure_gui/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_secure_gui/Only serve GUI over HTTPS
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_ca/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_ca/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_ca/Path to PEM file containing TLS Certificate Authority (CA) to use in HTTPS for REST API. Formerly admin_ssl_ca_cert.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_ca_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_ca_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_ca_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_ca_cert/Alias for 'admin_ssl_ca'
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_cert/Path to PEM file containing TLS certificate to use in HTTPS for REST API
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_key/Path to PEM file containing TLS key to use in HTTPS for REST API
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_version/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_version/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_ssl_version/Minimum required TLS protocol version for the REST API
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_verify_url/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_verify_url/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/admin_verify_url/URL for third-party verification of client tokens
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auth_connect_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auth_connect_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auth_connect_timeout/Amount of time to wait in seconds for authentication to the Server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auth_read_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auth_read_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auth_read_timeout/Amount of time to wait in seconds when retrieving user authentication data from the Server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auth_write_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auth_write_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auth_write_timeout/Amount of time to wait in seconds when retrieving user authentication data from the Server. MaxScale does not write authentication data to the Server.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auto_tune/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/auto_tune/Specifies whether a MaxScale parameter whose value depends on a specific global server variable, should automatically be updated to match the variable's current value
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/cachedir/Path to the directory containing cached data
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_cluster/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_cluster/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_cluster/Cluster used for configuration synchronization. If left empty (i.e., value is ""), synchronization is not done.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_db/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_db/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_db/Database where the 'maxscale_config' table is created
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_interval/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_interval/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_interval/How often to synchronize the configuration
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_password/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_password/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_password/Password for the user used for configuration synchronization
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_timeout/Timeout for the configuration synchronization operations
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/config_sync_user/User account used for configuration synchronization
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/connector_plugindir/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/connector_plugindir/Path to MariaDB Connector C plugin directory
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/datadir/Path to the data directory
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/debug/Debug options
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/dump_last_statements/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/dump_last_statements/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/dump_last_statements/Sets condition on which MariaDB MaxScale dumps the last statement sent by the client
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/execdir/Path to directory containing executable files
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/key_manager/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/key_manager/Key manager type
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/language/Path to directory containing theĀ errmsg.sysĀ file
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/libdir/Path to the directory searched for modules
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/load_persisted_configs/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/load_persisted_configs/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/load_persisted_configs/Enables loading persistent runtime configuration changes on startup. Persistent runtime changes are saved to theĀ /var/lib/maxscale/maxscale.cnf.d/Ā directory.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/local_address/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/local_address/Sets local address or network interface to use when connecting to Servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_augmentation/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_augmentation/Appends logging messages with the name of the function where the message was logged (used primarily for development purposes)
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_debug/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_debug/Enables logging messages at theĀ debugĀ syslog priority
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_info/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_info/Enables logging messages at theĀ infoĀ syslog priority
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_notice/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_notice/Enables logging messages at theĀ noticeĀ syslog priority
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_throttling/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_throttling/Limit the amount of identical log messages than can be logged during a certain time period
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_warn_super_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_warn_super_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_warn_super_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_warn_super_user/Log a warning when a user with super privilege logs in
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_warning/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/log_warning/Enables logging messages at theĀ warningĀ syslog priority
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/logdir/Path to directory used to store log files
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/max_auth_errors_until_block/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/max_auth_errors_until_block/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/max_auth_errors_until_block/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/max_auth_errors_until_block/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/max_auth_errors_until_block/Maximum number of authentication failures allowed before temporarily blocking a host
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/max_read_amount/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/max_read_amount/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/max_read_amount/Maximum amount of data read before return to epoll_wait
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/maxlog/Logs messages to the log file
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/module_configdir/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/module_configdir/Path to directory containing module configurations
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/ms_timestamp/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/ms_timestamp/Enables millisecond precision in log timestamps
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/passive/Puts the MaxScale Instance on stand-by, Passive Instances monitor Servers and accept client connections, but take no action
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/persist_runtime_changes/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/persist_runtime_changes/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/persist_runtime_changes/Persist configurations changes done at runtime
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/persistdir/Path to directory containing persistent configurations
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/piddir/Path to the directory containing the PID file
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_classifier/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_classifier/Sets the Query Classifier module
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_classifier_args/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_classifier_args/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_classifier_args/Specifies arguments passed to the Query Classifier
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_classifier_cache_size/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_classifier_cache_size/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_classifier_cache_size/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_classifier_cache_size/Maximum size for Query Classifier Cache
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_retries/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_retries/Number of times to retry an internal query interruped by network errors
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_retry_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_retry_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/query_retry_timeout/Amount of time in seconds to wait on retried queries
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/rebalance_period/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/rebalance_period/How often should the load of the worker threads be checked and rebalancing be made
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/rebalance_threshold/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/rebalance_threshold/If the difference in load between the thread with the maximum load and the thread with the minimum load is larger than the value of this parameter, then work will be moved from the former to the latter
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/rebalance_window/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/rebalance_window/The load of how many seconds should be taken into account when rebalancing
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/retain_last_statements/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/retain_last_statements/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/retain_last_statements/Number of statements stored for each session. Used in debugging.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/session_trace/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/session_trace/Number of log entries stored in the session trace log. Used in debugging.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/session_trace_match/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/session_trace_match/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/session_trace_match/Regular expression that is matched against the contents of the session trace log and if it matches the contents are logged when the session stops
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/sharedir/
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/skip_name_resolve/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/skip_name_resolve/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/skip_name_resolve/Do not resolve client IP addresses to hostnames during authentication
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/skip_permission_checks/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/skip_permission_checks/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/skip_permission_checks/Disables user permission checks for services and monitors during startup
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/sql_mode/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/sql_mode/Specifies SQL Mode for Query Classifier
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/substitute_variables/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/substitute_variables/Sets environmental variables for cofniguration files
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/syslog/Logs messages to the syslog
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/threads/This parameter specifies how many threads will be used for handling the routing
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/users_refresh_interval/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/users_refresh_interval/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/users_refresh_interval/How often the users will be refreshed
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/users_refresh_time/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/users_refresh_time/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/users_refresh_time/How often the users can be refreshed
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/writeq_high_water/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/writeq_high_water/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/writeq_high_water/Maximum size of client-side write queue to a given Server before MaxScale blocks traffic going to the Server to allow it to catch up
https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/writeq_low_water/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/writeq_low_water/https://mariadb.com/docs/skysql-dbaas/ref/mxs/global-parameters/writeq_low_water/Size the client-side write queue must drop to before MaxScale unblocks a throttled Server
+

To see Global Parameters supported in other versions, seeĀ "Global Parameters by MariaDB MaxScale Version".

+

MariaDB MaxScale 22.08 Module Parameters

+

The Module Parameters supported by MariaDB MaxScale 22.08 are listed below.

+

To see Module Parameters supported in other versions, seeĀ "Module Parameters by MariaDB MaxScale Version".

+

MariaDB Monitor (mariadbmon)

+

The parameters for mariadbmon:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/assume_unique_hostnames/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/assume_unique_hostnames/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/assume_unique_hostnames/Assume that hostnames are unique
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auto_failover/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auto_failover/Enable automatic server failover
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auto_rejoin/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auto_rejoin/Enable automatic server rejoin
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_connect_attempts,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_connect_attempts,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_connect_attempts,Monitor.mariadbmon/Number of connection attempts to make to a server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_connect_timeout,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_connect_timeout,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_connect_timeout,Monitor.mariadbmon/Connection timeout for monitor connections
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_read_timeout,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_read_timeout,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_read_timeout,Monitor.mariadbmon/Read timeout for monitor connections
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_write_timeout,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_write_timeout,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/backend_write_timeout,Monitor.mariadbmon/Write timeout for monitor connections
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cooperative_monitoring_locks/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cooperative_monitoring_locks/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cooperative_monitoring_locks/Cooperative monitoring type
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_api_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_api_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_api_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_api_key/The API key used in communication with the ColumnStore admin daemon
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_base_path/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_base_path/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_base_path/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_base_path/The base path to be used when accessing the ColumnStore administrative daemon. If, for instance, a daemon URL is https://localhost:8640/cmapi/0.4.0/node/start then the admin_base_path is "/cmapi/0.4.0".
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_port/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_port/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/cs_admin_port/Port of the ColumnStore administrative daemon
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/demotion_sql_file/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/demotion_sql_file/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/demotion_sql_file/Path to SQL file that is executed during node demotion
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_check_interval,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_check_interval,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_check_interval,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_check_interval,Monitor.mariadbmon/How often the disk space is checked
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_threshold,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_threshold,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_threshold,Monitor.mariadbmon/Disk space threshold
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_read_only_slaves/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_read_only_slaves/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_read_only_slaves/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_read_only_slaves/Enable read_only on all slave servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_simple_topology/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_simple_topology/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_simple_topology/Enforce a simple topology
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_writable_master/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_writable_master/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enforce_writable_master/Disable read_only on the current master server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/events,Monitor.mariadbmon/Events that cause the script to be called
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/failcount/Number of consecutive times MaxScale can fail to reach the Primary Server before it considers it down
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/failover_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/failover_timeout/Timeout for failover
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/handle_events/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/handle_events/Manage server-side events
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/journal_max_age,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/journal_max_age,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/journal_max_age,Monitor.mariadbmon/The time the on-disk cached server states are valid for
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/maintenance_on_low_disk_space/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/maintenance_on_low_disk_space/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/maintenance_on_low_disk_space/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/maintenance_on_low_disk_space/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/maintenance_on_low_disk_space/Put the server into maintenance mode when it runs out of disk space
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_conditions/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_conditions/Conditions that the master servers must meet
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_failure_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_failure_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_failure_timeout/Master failure timeout
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/monitor_interval,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/monitor_interval,Monitor.mariadbmon/How often the servers are monitored
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/password,Monitor.mariadbmon/Password for the user used to monitor the servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/promotion_sql_file/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/promotion_sql_file/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/promotion_sql_file/Path to SQL file that is executed during node promotion
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rebuild_port/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rebuild_port/Listen port used for transferring server backup
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/replication_master_ssl/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/replication_master_ssl/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/replication_master_ssl/Enable SSL when configuring replication
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/replication_password/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/replication_password/Password for the user that is used for replication
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/replication_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/replication_user/User used for replication
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/script,Monitor.mariadbmon/Script to run whenever an event occurs
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/script_max_replication_lag/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/script_max_replication_lag/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/script_max_replication_lag/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/script_max_replication_lag/Replication lag limit at which the script is run
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/script_timeout,Monitor.mariadbmon/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/script_timeout,Monitor.mariadbmon/Timeout for the script
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/servers,Monitor.mariadbmon/List of servers to use
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/servers_no_promotion/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/servers_no_promotion/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/servers_no_promotion/List of servers that are never promoted
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/slave_conditions/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/slave_conditions/Conditions that the slave servers must meet
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_check_host_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_check_host_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_check_host_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_check_host_key/Is SSH host key check enabled
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_keyfile/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_keyfile/SSH keyfile. Used for running remote commands on servers.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_port/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_port/SSH port. Used for running remote commands on servers.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_timeout/SSH connection and command timeout
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssh_user/SSH username. Used for running remote commands on servers.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/switchover_on_low_disk_space/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/switchover_on_low_disk_space/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/switchover_on_low_disk_space/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/switchover_on_low_disk_space/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/switchover_on_low_disk_space/Perform a switchover when a server runs out of disk space
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/switchover_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/switchover_timeout/Timeout for switchover
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user,Monitor.mariadbmon/Username used to monitor the servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/verify_master_failure/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/verify_master_failure/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/verify_master_failure/Verify master failure
+

Read/Write Split Router (readwritesplit)

+

The parameters for readwritesplit:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_all_servers,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_all_servers,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_all_servers,Router.readwritesplit/Retrieve users from all backend servers instead of only one
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/causal_reads/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/causal_reads/Configures read causality, reads subsequent to writes issued in manner to reduce replication lag
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/causal_reads_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/causal_reads_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/causal_reads_timeout/Timeout for synchronization of the Primary Server with a Replica Server during causal reads
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_keepalive,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_keepalive,Router.readwritesplit/How ofted idle connections are pinged
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_timeout,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_timeout,Router.readwritesplit/Connection idle timeout
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/delayed_retry/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/delayed_retry/Retry queries that fail to route due to connection issues
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/delayed_retry_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/delayed_retry_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/delayed_retry_timeout/Timeout for retrying queries that fail to route due to connection issues
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disable_sescmd_history,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disable_sescmd_history,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disable_sescmd_history,Router.readwritesplit/Disable session command history
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enable_root_user,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enable_root_user,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enable_root_user,Router.readwritesplit/Allow the root user to connect to this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/force_connection_keepalive,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/force_connection_keepalive,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/force_connection_keepalive,Router.readwritesplit/Ping connections unconditionally
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/idle_session_pool_time,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/idle_session_pool_time,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/idle_session_pool_time,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/idle_session_pool_time,Router.readwritesplit/Put connections into pool after session has been idle for this long
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/lazy_connect/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/lazy_connect/Create connections only when needed
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/localhost_match_wildcard_host,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/localhost_match_wildcard_host,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/localhost_match_wildcard_host,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/localhost_match_wildcard_host,Router.readwritesplit/Match localhost to wildcard host
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_auth_warnings,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_auth_warnings,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_auth_warnings,Router.readwritesplit/Log a warning when client authentication fails
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_debug,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_debug,Router.readwritesplit/Log debug messages for this service (debug builds only)
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_info,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_info,Router.readwritesplit/Log info messages for this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_notice,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_notice,Router.readwritesplit/Log notice messages for this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warning,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warning,Router.readwritesplit/Log warning messages for this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_accept_reads,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_accept_reads,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_accept_reads,Router.readwritesplit/Use master for reads
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_failure_mode/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_failure_mode/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_failure_mode/Master failure mode behavior
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_reconnection/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_reconnection/Reconnect to the Primary Server if it changes mid-session
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_connections,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_connections,Router.readwritesplit/Maximum number of connections
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_sescmd_history,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_sescmd_history,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_sescmd_history,Router.readwritesplit/Session command history size
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_slave_connections/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_slave_connections/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_slave_connections/Maximum number of connections the router session can use to connect to Replica Servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_slave_replication_lag/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_slave_replication_lag/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_slave_replication_lag/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_slave_replication_lag/Number of seconds a Replica Server is allowed to fall behind the Primary Server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/multiplex_timeout,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/multiplex_timeout,Router.readwritesplit/How long a session can wait for a connection to become available
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/net_write_timeout,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/net_write_timeout,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/net_write_timeout,Router.readwritesplit/Network write timeout
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/optimistic_trx/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/optimistic_trx/Optimistically offload transactions to slaves
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/password,Router.readwritesplit/Password for the user used to retrieve database users
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/prune_sescmd_history,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/prune_sescmd_history,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/prune_sescmd_history,Router.readwritesplit/Prune old session command history if the limit is exceeded
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rank,Router.readwritesplit/Service rank
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retain_last_statements,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retain_last_statements,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retain_last_statements,Router.readwritesplit/Number of statements kept in memory
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retry_failed_reads/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retry_failed_reads/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retry_failed_reads/Automatically retry failed reads outside of transactions
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/reuse_prepared_statements/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/reuse_prepared_statements/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/reuse_prepared_statements/Reuse identical prepared statements inside the same connection
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_trace,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_trace,Router.readwritesplit/Enable session tracing for this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_track_trx_state,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_track_trx_state,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_track_trx_state,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_track_trx_state,Router.readwritesplit/Track session state using server responses
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/slave_connections/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/slave_connections/Starting number of slave connections
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/slave_selection_criteria/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/slave_selection_criteria/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/slave_selection_criteria/Criteria the router uses to select Replica Servers in load balancing read operations
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strict_multi_stmt/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strict_multi_stmt/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strict_multi_stmt/Routes multi-statement queries to the Primary Server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strict_sp_calls/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strict_sp_calls/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strict_sp_calls/RoutesĀ https://mariadb.com/docs/skysql-dbaas/ref/mdb/sql-statements/CALL/Ā statements to the Primary Server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strip_db_esc,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strip_db_esc,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strip_db_esc,Router.readwritesplit/Strip escape characters from database names
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay/Replays in progress transactions that fail on a different Server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_attempts/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_attempts/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_attempts/Maximum number of times to attempt to replay failed transactions
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_checksum/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_checksum/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_checksum/Type of checksum to calculate for results
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_max_size/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_max_size/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_max_size/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_max_size/Maximum size in bytes permitted for transaction replays
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_deadlock/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_deadlock/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_deadlock/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_deadlock/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_deadlock/Maximum number of times the router attempts to replay transactions in the event that the transaction fails due to deadlocks
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_mismatch/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_mismatch/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_mismatch/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_mismatch/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_retry_on_mismatch/Retry transaction on checksum mismatch
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/transaction_replay_timeout/Timeout for transaction replay
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/use_sql_variables_in/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/use_sql_variables_in/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/use_sql_variables_in/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/use_sql_variables_in/Where the router sends session variable queries
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user,Router.readwritesplit/Username used to retrieve database users
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file,Router.readwritesplit/Load additional users from a file
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file_usage,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file_usage,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file_usage,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file_usage,Router.readwritesplit/When and how the user accounts file is used
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/version_string,Router.readwritesplit/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/version_string,Router.readwritesplit/Custom version string to use
+

MariaDB Protocol

+

The parameters for MariaDBProtocol:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/address,Protocol.MariaDBProtocol/Listener address
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/authenticator,Protocol.MariaDBProtocol/Listener authenticator
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/authenticator_options,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/authenticator_options,Protocol.MariaDBProtocol/Authenticator options
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_init_sql_file,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_init_sql_file,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_init_sql_file,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_init_sql_file,Protocol.MariaDBProtocol/Path to connection initialization SQL
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/port,Protocol.MariaDBProtocol/Listener port
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/protocol,Protocol.MariaDBProtocol/Listener protocol to use
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/service,Protocol.MariaDBProtocol/Service to which the listener connects to
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/socket,Protocol.MariaDBProtocol/Listener UNIX socket
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/sql_mode,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/sql_mode,Protocol.MariaDBProtocol/SQL parsing mode
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl,Protocol.MariaDBProtocol/Enable TLS for server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca,Protocol.MariaDBProtocol/Path to the X.509 certificate authority chain file in PEM format. In MaxScale 6 and earlier, this parameter was namedĀ https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca_cert,Protocol.MariaDBProtocol/. In MaxScale 22.08,Ā ssl_ca_certĀ was renamed toĀ ssl_ca. For backward compatibility,Ā ssl_ca_certĀ can be used as an alias, but MariaDB recommends usingĀ ssl_caĀ becauseĀ ssl_ca_certĀ has been deprecated.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca_cert,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca_cert,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca_cert,Protocol.MariaDBProtocol/Alias forĀ https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca,Protocol.MariaDBProtocol/
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert,Protocol.MariaDBProtocol/TLS public certificate
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert_verify_depth,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert_verify_depth,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert_verify_depth,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert_verify_depth,Protocol.MariaDBProtocol/TLS certificate verification depth
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cipher,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cipher,Protocol.MariaDBProtocol/TLS cipher list
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_crl,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_crl,Protocol.MariaDBProtocol/TLS certificate revocation list
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_key,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_key,Protocol.MariaDBProtocol/TLS private key
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_certificate,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_certificate,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_certificate,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_certificate,Protocol.MariaDBProtocol/Verify TLS peer certificate
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_host,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_host,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_host,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_host,Protocol.MariaDBProtocol/Verify TLS peer host
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_version,Protocol.MariaDBProtocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_version,Protocol.MariaDBProtocol/Minimum TLS protocol version
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_mapping_file/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_mapping_file/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_mapping_file/Path to user and group mapping file
+

Read Connection Router (readconnroute)

+

The parameters for readconnroute:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_all_servers,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_all_servers,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_all_servers,Router.readconnroute/Retrieve users from all backend servers instead of only one
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_keepalive,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_keepalive,Router.readconnroute/How ofted idle connections are pinged
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_timeout,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/connection_timeout,Router.readconnroute/Connection idle timeout
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disable_sescmd_history,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disable_sescmd_history,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disable_sescmd_history,Router.readconnroute/Disable session command history
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enable_root_user,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enable_root_user,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/enable_root_user,Router.readconnroute/Allow the root user to connect to this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/force_connection_keepalive,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/force_connection_keepalive,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/force_connection_keepalive,Router.readconnroute/Ping connections unconditionally
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/idle_session_pool_time,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/idle_session_pool_time,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/idle_session_pool_time,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/idle_session_pool_time,Router.readconnroute/Put connections into pool after session has been idle for this long
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/localhost_match_wildcard_host,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/localhost_match_wildcard_host,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/localhost_match_wildcard_host,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/localhost_match_wildcard_host,Router.readconnroute/Match localhost to wildcard host
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_auth_warnings,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_auth_warnings,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_auth_warnings,Router.readconnroute/Log a warning when client authentication fails
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_debug,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_debug,Router.readconnroute/Log debug messages for this service (debug builds only)
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_info,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_info,Router.readconnroute/Log info messages for this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_notice,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_notice,Router.readconnroute/Log notice messages for this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warning,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warning,Router.readconnroute/Log warning messages for this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_accept_reads,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_accept_reads,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/master_accept_reads,Router.readconnroute/Route read operations to the Primary Server or whether it only accepts write operations
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_connections,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_connections,Router.readconnroute/Maximum number of connections
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_replication_lag,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_replication_lag,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_replication_lag,Router.readconnroute/Maximum acceptable replication lag
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_sescmd_history,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_sescmd_history,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_sescmd_history,Router.readconnroute/Session command history size
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/multiplex_timeout,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/multiplex_timeout,Router.readconnroute/How long a session can wait for a connection to become available
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/net_write_timeout,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/net_write_timeout,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/net_write_timeout,Router.readconnroute/Network write timeout
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/password,Router.readconnroute/Password for the user used to retrieve database users
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/prune_sescmd_history,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/prune_sescmd_history,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/prune_sescmd_history,Router.readconnroute/Prune old session command history if the limit is exceeded
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rank,Router.readconnroute/Service rank
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retain_last_statements,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retain_last_statements,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retain_last_statements,Router.readconnroute/Number of statements kept in memory
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/router_options,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/router_options,Router.readconnroute/A comma separated list of server roles
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_trace,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_trace,Router.readconnroute/Enable session tracing for this service
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_track_trx_state,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_track_trx_state,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_track_trx_state,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_track_trx_state,Router.readconnroute/Track session state using server responses
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strip_db_esc,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strip_db_esc,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/strip_db_esc,Router.readconnroute/Strip escape characters from database names
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user,Router.readconnroute/Username used to retrieve database users
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file,Router.readconnroute/Load additional users from a file
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file_usage,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file_usage,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file_usage,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/user_accounts_file_usage,Router.readconnroute/When and how the user accounts file is used
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/version_string,Router.readconnroute/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/version_string,Router.readconnroute/Custom version string to use
+

MaxScale

+

The parameters for maxscale:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_auth/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_auth/Admin interface authentication
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_enabled/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_enabled/Admin interface is enabled
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_gui/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_gui/Enable admin GUI
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_host/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_host/Admin interface host
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_jwt_algorithm/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_jwt_algorithm/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_jwt_algorithm/JWT signature algorithm
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_jwt_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_jwt_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_jwt_key/Encryption key ID for symmetric signature algorithms. If left empty, MaxScale will generate a random key that is used to sign the JWT.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_log_auth_failures/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_log_auth_failures/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_log_auth_failures/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_log_auth_failures/Log admin interface authentication failures
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_oidc_url/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_oidc_url/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_oidc_url/Extra public certificates used to validate externally signed JWTs
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_pam_readonly_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_pam_readonly_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_pam_readonly_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_pam_readonly_service/PAM service for read-only users
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_pam_readwrite_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_pam_readwrite_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_pam_readwrite_service/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_pam_readwrite_service/PAM service for read-write users
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_port,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_port,maxscale.maxscale/Admin interface port
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_secure_gui/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_secure_gui/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_secure_gui/Only serve GUI over HTTPS
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_ca/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_ca/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_ca/Admin SSL CA cert
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_ca_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_ca_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_ca_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_ca_cert/Alias for 'admin_ssl_ca'
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_cert/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_cert/Admin SSL cert
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_key/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_key/Admin SSL key
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_version/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_version/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_ssl_version/Minimum required TLS protocol version for the REST API
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_verify_url/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_verify_url/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/admin_verify_url/URL for third-party verification of client tokens
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_connect_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_connect_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_connect_timeout/Connection timeout for fetching user accounts
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_read_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_read_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_read_timeout/Read timeout for fetching user accounts (deprecated)
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_write_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_write_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auth_write_timeout/Write timeout for for fetching user accounts (deprecated)
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auto_tune/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/auto_tune/Specifies whether a MaxScale parameter whose value depends on a specific global server variable, should automatically be updated to match the variable's current value
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_cluster/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_cluster/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_cluster/Cluster used for configuration synchronization. If left empty (i.e., value is ""), synchronization is not done.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_db/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_db/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_db/Database where the 'maxscale_config' table is created
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_interval/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_interval/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_interval/How often to synchronize the configuration
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_password/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_password/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_password/Password for the user used for configuration synchronization
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_timeout/Timeout for the configuration synchronization operations
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/config_sync_user/User account used for configuration synchronization
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/debug,maxscale.maxscale/Debug options
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/dump_last_statements/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/dump_last_statements/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/dump_last_statements/In what circumstances should the last statements that a client sent be dumped
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/key_manager/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/key_manager/Key manager type
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/load_persisted_configs/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/load_persisted_configs/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/load_persisted_configs/Specifies whether persisted configuration files should be loaded on startup
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/local_address,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/local_address,maxscale.maxscale/Local address to use when connecting
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_debug,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_debug,maxscale.maxscale/Specifies whether debug messages should be logged (meaningful only with debug builds)
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_info,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_info,maxscale.maxscale/Specifies whether info messages should be logged
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_notice,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_notice,maxscale.maxscale/Specifies whether notice messages should be logged
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_throttling/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_throttling/Limit the amount of identical log messages than can be logged during a certain time period
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warn_super_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warn_super_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warn_super_user/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warn_super_user/Log a warning when a user with super privilege logs in
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warning,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/log_warning,maxscale.maxscale/Specifies whether warning messages should be logged
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_auth_errors_until_block/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_auth_errors_until_block/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_auth_errors_until_block/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_auth_errors_until_block/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_auth_errors_until_block/The maximum number of authentication failures that are tolerated before a host is temporarily blocked
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_read_amount/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_read_amount/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_read_amount/Maximum amount of data read before return to epoll_wait
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/maxlog/Log to MaxScale's own log
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ms_timestamp/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ms_timestamp/Enable or disable high precision timestamps
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/passive/True if MaxScale is in passive mode
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/persist_runtime_changes/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/persist_runtime_changes/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/persist_runtime_changes/Persist configurations changes done at runtime
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_classifier/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_classifier/The name of the query classifier to load
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_classifier_args/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_classifier_args/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_classifier_args/Arguments for the query classifier
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_classifier_cache_size/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_classifier_cache_size/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_classifier_cache_size/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_classifier_cache_size/Type: size, default value is 15% of available memory
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_retries/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_retries/Number of times an interrupted query is retried
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_retry_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_retry_timeout/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/query_retry_timeout/The total timeout in seconds for any retried queries
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rebalance_period/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rebalance_period/How often should the load of the worker threads be checked and rebalancing be made
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rebalance_threshold/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rebalance_threshold/If the difference in load between the thread with the maximum load and the thread with the minimum load is larger than the value of this parameter, then work will be moved from the former to the latter
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rebalance_window/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rebalance_window/The load of how many seconds should be taken into account when rebalancing
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retain_last_statements,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retain_last_statements,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/retain_last_statements,maxscale.maxscale/How many statements should be retained for each session for debugging purposes
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_trace,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_trace,maxscale.maxscale/How many log entries are stored in the session specific trace log
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_trace_match/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_trace_match/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/session_trace_match/Regular expression that is matched against the contents of the session trace log and if it matches the contents are logged when the session stops
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/skip_name_resolve/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/skip_name_resolve/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/skip_name_resolve/Do not resolve client IP addresses to hostnames during authentication
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/skip_permission_checks/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/skip_permission_checks/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/skip_permission_checks/Skip service and monitor permission checks
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/sql_mode,maxscale.maxscale/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/sql_mode,maxscale.maxscale/The query classifier sql mode
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/syslog/Log to syslog
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/threads/Type: count, default value is based on cpu count
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/users_refresh_interval/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/users_refresh_interval/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/users_refresh_interval/How often the users will be refreshed
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/users_refresh_time/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/users_refresh_time/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/users_refresh_time/How often the users can be refreshed
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/writeq_high_water/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/writeq_high_water/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/writeq_high_water/High water mark of dcb write queue
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/writeq_low_water/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/writeq_low_water/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/writeq_low_water/Low water mark of dcb write queue
+

Server Objects

+

The parameters for server objects:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/address,servers.servers/Server address
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/authenticator,servers.servers/Server authenticator (deprecated)
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_threshold,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_threshold,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/disk_space_threshold,servers.servers/Server disk space threshold
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/extra_port/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/extra_port/Server extra port
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_routing_connections/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_routing_connections/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/max_routing_connections/Maximum routing connections
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/monitorpw/Monitor password
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/monitoruser/Monitor user
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/persistmaxtime/Maximum time that a connection can be in the pool
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/persistpoolmax/Maximum size of the persistent connection pool
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/port,servers.servers/Server port
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/priority/Server priority
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/protocol,servers.servers/Server protocol (deprecated)
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/proxy_protocol/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/proxy_protocol/Enable proxy protocol
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/rank,servers.servers/Server rank
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/socket,servers.servers/Server UNIX socket
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl,servers.servers/Enable TLS for server
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca,servers.servers/Path to the X.509 certificate authority chain file in PEM format. In MaxScale 6 and earlier, this parameter was namedĀ https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca_cert,servers.servers/. In MaxScale 22.08,Ā ssl_ca_certĀ was renamed toĀ ssl_ca. For backward compatibility,Ā ssl_ca_certĀ can be used as an alias, but MariaDB recommends usingĀ ssl_caĀ becauseĀ ssl_ca_certĀ has been deprecated.
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca_cert,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca_cert,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca_cert,servers.servers/Alias forĀ https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_ca,servers.servers/
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert,servers.servers/TLS public certificate
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert_verify_depth,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert_verify_depth,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert_verify_depth,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cert_verify_depth,servers.servers/TLS certificate verification depth
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cipher,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_cipher,servers.servers/TLS cipher list
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_key,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_key,servers.servers/TLS private key
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_certificate,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_certificate,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_certificate,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_certificate,servers.servers/Verify TLS peer certificate
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_host,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_host,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_host,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_verify_peer_host,servers.servers/Verify TLS peer host
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_version,servers.servers/https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/ssl_version,servers.servers/Minimum TLS protocol version
https://mariadb.com/docs/skysql-dbaas/ref/mxs/module-parameters/type,servers.servers/Object type
+

MariaDB MaxScale 22.08 Monitors

+

The following Monitors are supported by MariaDB MaxScale 22.08:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MonitorDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/monitor/auroramon/Tracks Servers in an Amazon Aurora deployment
https://mariadb.com/docs/skysql-dbaas/ref/mxs/monitor/csmon/Tracks Servers in a MariaDB ColumnStore deployment
https://mariadb.com/docs/skysql-dbaas/ref/mxs/monitor/galeramon/Tracks Servers in a MariaDB Enterprise Cluster deployment
https://mariadb.com/docs/skysql-dbaas/ref/mxs/monitor/grmon/Tracks Servers in a MySQL Group Replication deployment
https://mariadb.com/docs/skysql-dbaas/ref/mxs/monitor/mariadbmon/Tracks Servers in a MariaDB Replication deployment
https://mariadb.com/docs/skysql-dbaas/ref/mxs/monitor/xpandmon/A Xpand cluster monitor
+

To see Monitors supported in other versions, seeĀ "Monitors by MariaDB MaxScale Version".

+

MariaDB MaxScale 22.08 MaxScale Protocols

+

MariaDB MaxScale uses protocols to specify how it communicates with a given client, server, or back-end.

+

The following MaxScale Protocols are supported by MariaDB MaxScale 22.08:

+ + + + + + + + + + + + + + + + + + + + + +
ProtocolDescription
CDCUsed with connections to a CDC service
MariaDBProtocolThe client to MaxScale MySQL protocol implementation
nosqlprotocolMaxScale NoSQL client protocol implementation
+

To see MaxScale Protocols supported in other versions, seeĀ "MaxScale Protocols by MariaDB MaxScale Version".

+

MariaDB MaxScale 22.08 Routers

+

The following Routers are supported by MariaDB MaxScale 22.08:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RouterTypeDescription
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/avrorouter/ReplicationAvro Router renders Binary Log events to JSON or Avro files and passed through the CDC Protocol to other services, like Kafka or Hadoop
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/binlogrouter/ReplicationBinary Log Router serves binlog events to Replica Servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/cat/QueryCat Router sends queries to all Servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/hintrouter/QueryHint Router uses routing hints to specify where to send queries
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/kafkacdc/Replicate data changes from MariaDB to Kafka
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/kafkaimporter/Stream Kafka messages into MariaDB
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/mirror/Mirrors SQL statements to multiple targets
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/readconnroute/QueryRead Connection Router balances the query load across the available Servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/readwritesplit/QueryRead/Write Splitter sends write operations to the Primary Server and balances the query load of read operations between the Replica Servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/replicator/
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/schemarouter/QuerySchema Router provides simple sharding of data across multiple Servers
https://mariadb.com/docs/skysql-dbaas/ref/mxs/routing/smartrouter/Provides routing for the Smart Query feature
+

To see Routers supported in other versions, seeĀ "Routers by MariaDB MaxScale Version".

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Monitoring Metrics Reference b8ca28a9fda846dbabbf70fda23b0801/index.html b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Monitoring Metrics Reference b8ca28a9fda846dbabbf70fda23b0801/index.html new file mode 100644 index 00000000..eeac8fbc --- /dev/null +++ b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Monitoring Metrics Reference b8ca28a9fda846dbabbf70fda23b0801/index.html @@ -0,0 +1,3756 @@ + + + + + + + + + + + + + + + + + + + + + + + Monitoring Metrics Reference - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Monitoring Metrics Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Panel NameUI TabScopePanel TypeDescription
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Aborted_Connections/statusserversinglestatThis panel shows the number of aborted connections for the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Adaptive_Avg_Select_Time,server,cluster,graph/clusterservergraphThis panel shows the average time taken by the MaxScale node to perform read operations during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Adaptive_Avg_Select_Time,server,cluster,stat/clusterserverstatThis panel shows the average time taken by the MaxScale node to perform read operations
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Adaptive_Avg_Select_Time,server,performance,graph/performanceservergraphThis panel shows the average time taken by the MaxScale node to perform read operations during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Adaptive_Avg_Select_Time,server,performance,stat/performanceserverstatThis panel shows the average time taken by MaxScale to perform read operations
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Average_Network_Latency,server/historicalservergraphThis panel shows the average network latency over the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Average_Network_Latency,service/historicalservicegraphThis panel shows the average network latency over the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Average_Network_Latency_in_the_last_24_hours_(5_minute_intervals)/systemservicegraphThis panel shows the average network latency in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Average_Network_Latency_over_the_last_24_hours_(5_minute_intervals)/systemservergraphThis panel shows the average network latency in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Buffer_Pool_Size_of_Total_RAM/statusservermariadb-pie-chartThis panel shows the current size of the InnoDB buffer pool for the ES node in two units: the absolute size and the percentage of the server's usable memory
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Cluster_Component/clusterserversinglestatThis panel shows the status of Enterprise Cluster on the ES node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Cluster_State_UUID_vs._Local_State_UUID/clusterservicetableThis panel compares the Enterprise Cluster's state UUID to each ES node's local state UUID
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connected/clusterserversinglestatThis panel shows whether the ES node is connected to other ES nodes in the cluster over the network
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connection_Pool_Empty,server,cluster,graph/clusterservergraphThis panel shows the number of times that the MaxScale node's connection pool has been empty when a connection has been requested during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connection_Pool_Empty,server,cluster,stat/clusterserverstatThis panel shows the number of times that the MaxScale node's connection pool has been empty when a connection has been requested
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connection_Pool_Empty,server,performance/performanceservergraphThis panel shows the number of times that the MaxScale node's connection pool has been empty when a connection has been requested during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connection_Pool_Empty,server,status,graph/statusservergraphThis panel shows the number of times that the MaxScale node's connection pool has been empty when a connection has been requested during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connection_Pool_Empty,server,status,stat/statusserverstatThis panel shows the number of times that the MaxScale node's connection pool has been empty when a connection has been requested
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connections,server,cluster/clusterserversinglestatThis panel shows the number of clients connected to the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connections,server,cluster,stat/clusterserverstatThis panel shows the number of clients connected to the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connections,server,status/statusserverstatThis panel shows the number of clients connected to the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connections,service/statusservicetableThis panel shows the number of used and aborted connections for each ES node along with theĀ max_connectionsĀ value
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connections_slash_minute/historicalservicegraphThis panel shows the total number of connection attempts (successful and unsuccessful) to the service during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Connections_slash_minute_in_the_last_24_hours/connectionsservicegraphThis panel shows the total number of connection attempts (successful and unsuccessful) to the service over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Container_Memory_Distribution/historicalservergraphThis panel shows details about an Xpand node's RAM usage during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Container_Memory_Distribution_in_the_last_24_hours_(5_minute_intervals)/systemservergraphThis panel shows details about an Xpand node's RAM usage in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Container_Memory_Hourly/systemservicegraphThis panel shows details about each Xpand node's RAM usage in 1 hour intervals
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Container_Memory_Usage/historicalservicegraphThis panel shows details about each Xpand node's RAM usage during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Container_Memory_Usage_in_the_last_24_hours_(5_minute_intervals)/systemservicegraphThis panel shows details about each Xpand node's RAM usage in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Container_Row_Operations/historicalservergraphThis panel shows the number of row operations executed by the Xpand node for each type of operation during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Core_0_Utilization/historicalservergraphThis panel shows the CPU usage of core 0 for the Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU,server,historical/historicalservergraphThis panel shows the CPU usage for the Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU,server,status,gauge/statusservergaugeThis panel shows the current CPU usage for the ES or Xpand node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU,server,status,graph/statusservergraphThis panel shows the CPU usage for the ES or Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU,service/systemservicegraphThis panel shows the CPU usage for each Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU_Load,service,status/statusservicegraphThis panel shows the CPU usage for each ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU_Load,service,system/systemservicegraphThis panel shows the CPU usage for each ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU_Usage/historicalservicegraphThis panel shows the CPU usage for each Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU_Usage_slash_Load/systemservergraphThis panel shows the CPU usage for the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU_Usage_in_the_last_24_hours_(5_minute_intervals)/systemservergraphThis panel shows the CPU usage for the Xpand node in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/CPU_Usage_over_the_last_24_hours_(5_minute_intervals)/systemservicegraphThis panel shows the CPU usage for each Xpand node in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_Average_Cluster_Latency_-_Read/queriesservicesinglestatThis panel shows the average amount of time the cluster spent executing read queries before returning a result set during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_Average_Cluster_Latency_-_Write/queriesservicesinglestatThis panel shows the average amount of time the cluster spent executing write queries before returning a result set during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_CPU_Usage/systemservergaugeThis panel shows the current CPU usage for the Xpand node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_Execution_Times/queriesservicemariadb-pie-chartThis panel shows the time required to execute queries during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_Memory_Usage/systemserverbargaugeThis panel shows the percentage of working memory currently used by the Xpand node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_QPS/statusserversinglestatThis panel shows the number of queries per second (QPS) processed by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_Rebalancer_Actions/statusservicetableThis panel shows the number of times the Xpand Rebalancer executed certain tasks during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_SQL_Commands,server/statusservermariadb-pie-chartThis panel shows the ratio between the types of SQL statements executed by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_SQL_Commands,service/statusservicemariadb-pie-chartThis panel shows the ratio between the types of SQL statements executed by the service during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Current_Storage/systemserverbargaugeThis panel shows the percentage of storage space that is currently used by the Xpand node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Database_Server_Connections/clusterservergraphThis panel shows the number of database server connections open between the MaxScale node and each ES or Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Disk_size,server/statusservertableThis panel shows the amount of storage space currently used by the ES or Xpand node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Disk_size,service/systemservicetableThis panel shows the amount of storage space currently used by the ES or Xpand node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Disk_Size_by_Partition,service,status/statusservicetableThis panel shows the amount of storage space used (as the usage percentage, actual size, and total size) by each ES node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Disk_Size_by_Partition,server/systemservergraphThis panel shows the amount of storage space used by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Disk_Size_by_Partition,service,system/systemservicegraphThis panel shows the amount of storage space used by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Disk_space_usage/historicalservicegraphThis panel shows the percentage of storage space used by each Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Disk_space_usage_in_the_last_24_hours_(5_minute_intervals)/systemservicegraphThis panel shows the amount of storage space used by each Xpand node in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Errors,server,cluster/clusterservergraphThis panel shows the number of errors encountered by threads on the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Errors,server,performance/performanceservergraphThis panel shows the number of errors encountered by threads on the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Event_Queue_Length,server,cluster/clusterservergraphThis panel shows the total event queue length for all threads on the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Event_Queue_Length,server,performance/performanceservergraphThis panel shows the total event queue length for all threads on the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Exec_Primary_Log_Position/replicasservicegraphThis panel shows the current binary log position of the replica SQL thread for each ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Flow_Control_Commits,server/clusterservergraphThis panel shows the sequence number of the latest writeset applied by Enterprise Cluster on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Flow_Control_Commits,service/clusterservicegraphThis panel shows the sequence number of the latest writeset applied by Enterprise Cluster on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Flow_Control_Pauses,server/clusterservergraphThis panel shows the fraction of time that Enterprise Cluster was paused on the ES node due to flow control during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Flow_Control_Pauses,service/clusterservicegraphThis panel shows the fraction of time that Enterprise Cluster was paused on all ES nodes due to flow control during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/GTID_Replication_Position,service,lags/lagsservicegraphThis panel shows the Global Transaction ID (GTID) for each ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/GTID_Replication_Position,service,replicas/replicasservicegraphThis panel shows the Global Transaction ID (GTID) for each ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/I_slash_O_Activity,server,status/statusservergraphThis panel shows the total number of bytes written to or read from the ES node's file system during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/I_slash_O_Activity,server,system/systemservergraphThis panel shows the total number of bytes written to or read from the ES node's file system during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/I_slash_O_Activity_-_Page_In/systemservicegraphThis panel shows the total number of bytes read from the ES node's file system during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/I_slash_O_Activity_-_Page_Out/systemservicegraphThis panel shows the total number of bytes written to the ES node's file system during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/I_slash_O_Latency,server/historicalservergraphThis panel shows the latency for I/O operations performed by the Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/I_slash_O_Latency,service/historicalservicegraphThis panel shows the latency for I/O operations performed by all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/I_slash_O_Latency_in_the_last_24_hours_(5_minute_intervals)/systemservicegraphThis panel shows the latency for I/O operations performed by all Xpand nodes in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/I_slash_O_Latency_over_the_last_24_hours_(5_minute_intervals)/systemservergraphThis panel shows the latency for I/O operations performed by the Xpand node in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/InnoDB_Data_slash_sec,server,status/statusservergraphThis panel shows the number of bytes per second read and written by InnoDB during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/InnoDB_Data_slash_sec,server,system/systemservergraphThis panel shows the number of bytes per second read and written by InnoDB during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Integrity_of_clusters_(Split_Brain)/clusterservicetableThis panel shows Enterprise Cluster metadata that can help determine the integrity of the cluster
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/IOPS/systemservergraphThis panel shows the number of input/output operations per second performed by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/IOPS_-_Page_In/systemservicegraphThis panel shows the total number of reads performed from the ES node's file system during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/IOPS_-_Page_Out/systemservicegraphThis panel shows the total number of writes performed from the ES node's file system during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Local_Received_Queue,server/clusterservergraphThis panel shows details about the size of the Enterprise Cluster receive queue on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Local_Received_Queue,service/clusterservicegraphThis panel shows details about the size of the Enterprise Cluster receive queue on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Local_Send_Queue,server/clusterservergraphThis panel shows details about the size of the Enterprise Cluster send queue on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Local_Send_Queue,service/clusterservicegraphThis panel shows details about the size of the Enterprise Cluster send queue on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Aborted_Connections,server/databaseservergraphThis panel shows the number of connections aborted by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Aborted_Connections,service/databaseservicegraphThis panel shows the number of connections aborted by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Client_Thread_Activity,server/databaseservergraphThis panel shows the number of client threads connected and running on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Client_Thread_Activity,service/queriesservicegraphThis panel shows the number of client threads running on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Connections/databaseservergraphThis panel shows the number of client connections to the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Handlers_slash_sec/queriesservergraphThis panel shows how many internal query handlers per second have been created by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Memory_Overview/systemservergraphThis panel shows how much memory the ES node used for the InnoDB buffer pool, InnoDB log buffer, MyISAM key buffer, and query cache during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Network_Traffic,server/systemservergraphThis panel shows the amount of data sent and received over the network by the database server on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Network_Traffic,service/systemservicegraphThis panel shows the amount of data sent and received over the network by the database servers on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Network_Usage_Hourly,server/systemservergraphThis panel shows the amount of data sent and received over the network per hour by the database server on the ES node over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Network_Usage_Hourly,service/systemservicegraphThis panel shows the amount of data sent and received over the network per hour by the database servers on all ES nodes over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Open_Files/databaseservergraphThis panel shows the number of files opened by the database server on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Open_Tables,server/databaseservergraphThis panel shows the number of tables opened by the database server on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Open_Tables,service/databaseservicegraphThis panel shows the number of tables opened by the database servers on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Opened_Files_slash_sec/databaseservergraphThis panel shows the number of files opened per second by the database server on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_QPS/queriesservicegraphThis panel shows the number of queries per second (QPS) executed by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_QPS_and_Questions/queriesservergraphThis panel shows the number of queries and questions per second executed by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Questions_slash_sec/queriesservicegraphThis panel shows the number of questions per second executed by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Select_Types/queriesservergraphThis panel shows the number of times the ES node has used certain execution strategies to executeĀ SELECTĀ statements during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Service_Connections/databaseservicegraphThis panel shows the number of clients connected to the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Slow_Queries,server/queriesservergraphThis panel shows the number of slow queries executed by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Slow_Queries,service,queries/queriesservicegraphThis panel shows the number of slow queries executed by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Slow_Queries,service,status/statusservicegraphThis panel shows the number of slow queries executed by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Sorts/queriesservergraphThis panel shows the number of times the ES node has used certain algorithms to sort data during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Table_Definition_Cache/cachesservergraphThis panel shows how many table definitions were cached by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Table_Locks,server/databaseservergraphThis panel shows the number of table locks requested by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Table_Locks,service/databaseservicegraphThis panel shows the number of table locks requested by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Table_Open_Cache_Status/cachesservergraphThis panel shows the activity of the table open cache on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Table_Opened/databaseservicegraphThis panel shows the number of tables that have been opened by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Thread_Cache/cachesservergraphThis panel shows the number of threads created and cached for re-use on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MariaDB_Transaction_Handlers_slash_sec/queriesservergraphThis panel shows the number of transaction-related handlers created by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Connections,server,cluster,graph/clusterservergraphThis panel shows the highest number of clients that were concurrently connected to the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Connections,server,cluster,stat/clusterserverstatThis panel shows the highest number of clients that have ever been concurrently connected to the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Connections,server,status,graph/statusservergraphThis panel shows the highest number of clients that were concurrently connected to the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Connections,server,status,stat/statusserverstatThis panel shows the highest number of clients that have ever been concurrently connected to the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Pool_Size,server,cluster,graph/clusterservergraphThis panel shows the highest number of connections that were in the MaxScale node's connection pool during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Pool_Size,server,cluster,stat/clusterserverstatThis panel shows the highest number of connections that have ever been in the MaxScale node's connection pool
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Pool_Size,server,performance/performanceservergraphThis panel shows the highest number of connections that were in the MaxScale node's connection pool during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Pool_Size,server,status/statusserverstatThis panel shows the highest number of connections that have ever been in the MaxScale node's connection pool
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Time_in_Queue,server,cluster/clusterservergraphThis panel shows the longest time the MaxScale node waited for an I/O event during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Max_Time_in_Queue,server,status/statusservergraphThis panel shows the longest time the MaxScale node waited for an I/O event during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MaxScale_Connections/clusterservergraphThis panel shows the number of clients connected to the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MaxScale_Descriptors,server,cluster/clusterservergraphThis panel shows the number of descriptors used by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MaxScale_Descriptors,server,performance/performanceservergraphThis panel shows the number of descriptors used by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MaxScale_Hangups,server,cluster/clusterservergraphThis panel shows the number of client connections closed by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MaxScale_Hangups,server,performance/performanceservergraphThis panel shows the number of client connections closed by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MaxScale_Modules/modulesservertableThis panel lists the modules installed on the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MaxScale_Server_Connections/databaseservicegraphThis panel shows the number of client connections open between the MaxScale node and each ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/MaxScale_Service_Connections/databaseservicegraphThis panel shows the number of clients connected to all MaxScale nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Memory,server,cluster/clusterservergraphThis panel shows memory usage details for the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Memory,server,performance/performanceservergraphThis panel shows memory usage details for the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Memory_Distribution/systemservergraphThis panel shows memory usage details for the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Memory_Usage/systemservicegraphThis panel shows memory usage details for all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Memory_Utilization,server/historicalservergraphThis panel shows memory usage details for the Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Memory_Utilization,service/historicalservicegraphThis panel shows memory usage details for all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Memory_Utilization_in_the_last_24_hours_(5_minute_intervals),server/systemservergraphThis panel shows memory usage details for the Xpand node in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Memory_Utilization_in_the_last_24_hours_(5_minute_intervals),service/systemservicegraphThis panel shows memory usage details for all Xpand nodes in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Network_Data/historicalservergraphThis panel shows the amount of data sent and received over the network by the database server on the Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Network_Errors,server/systemservergraphThis panel shows the number of network errors encountered by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Network_Errors,service/systemservicegraphThis panel shows the number of network errors encountered by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Network_Packets_Dropped,server/systemservergraphThis panel shows the number of network packets dropped by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Network_Packets_Dropped,service/systemservicegraphThis panel shows the number of network packets dropped by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Network_Traffic,server,status/statusservergraphThis panel shows the amount of data sent and received over the network by the operating system on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Network_Traffic,server,system/systemservergraphThis panel shows the amount of data sent and received over the network by the operating system on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Network_Traffic_-_Inbound/systemservicegraphThis panel shows the amount of data received over the network by the operating systems on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Network_Traffic_-_Outbound/systemservicegraphThis panel shows the amount of data sent over the network by the operating systems on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Node_Queues/clusterservicetableThis panel shows details about the size of the Enterprise Cluster send and receive queues on all ES nodes
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Node_Status/clusterservicetableThis panel shows details about the size of the Enterprise Cluster send and receive queues on all ES nodes
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Nodes_in_Cluster/statusservicestatThis panel shows the number of Xpand nodes that are currently in the cluster
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Nodes_in_quorum/statusservicestatThis panel shows the number of Xpand nodes that are currently in quorum
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Persistent_Connections,server,cluster,graph/clusterservergraphThis panel shows the number of connections in the MaxScale node's connection pool during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Persistent_Connections,server,cluster,stat/clusterserverstatThis panel shows the number of connections currently in the MaxScale node's connection pool
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Persistent_Connections,server,status,graph/statusservergraphThis panel shows the number of connections in the MaxScale node's connection pool during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Persistent_Connections,server,status,stat/statusserverstatThis panel shows the number of connections currently in the MaxScale node's connection pool
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/QPS,service,historical/historicalservicegraphThis panel shows the queries per second (QPS) executed by all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/QPS,service,queries/queriesservicesinglestatThis panel shows the queries per second (QPS) executed by all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/QPS,service,status/statusservicegraphThis panel shows the queries per second (QPS) executed by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/QPS_(at_5_minute_intervals)/queriesservicegraphThis panel shows the average queries per second (QPS) executed by all Xpand nodes in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/QPS_Hourly/queriesservicegraphThis panel shows the average queries per second (QPS) executed by all Xpand nodes in 1 hour intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Queries_per_second_by_Query_Type/historicalservicegraphThis panel shows the queries per second (QPS) of certain query types executed by all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Query_Latency/historicalservicegraphThis panel shows the average amount of time all Xpand nodes spent executing queries before returning a result set during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Query_Latency_over_the_last_24_hours_(5_minute_intervals)/queriesservicegraphThis panel shows the average amount of time all Xpand nodes spent executing queries before returning a result set in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Queue_Received/lagsservicegraphThis panel shows details about the size of the Enterprise Cluster receive queue on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Queue_Send/lagsservicegraphThis panel shows details about the size of the Enterprise Cluster send queue on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/RAM,server,status/statusservergaugeThis panel shows the current memory usage details for the ES or Xpand node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/RAM,server,status,graph/statusservergraphThis panel shows memory usage details for the ES or Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/RAM,service/systemservicegraphThis panel shows memory usage details for all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Read_Primary_Log_Position/replicasservicegraphThis panel shows the current binary log position of the replica I/O thread for each ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Ready/clusterserversinglestatThis panel shows whether Enterprise Cluster is ready for queries on the ES node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Rebalancer_-_Underprotected_Slices/statusservicestatThis panel shows the number of slices in the cluster that are currently unprotected
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Rebalancer_Activity/historicalservicegraphThis panel shows the number of times the Xpand Rebalancer executed certain tasks during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Rebalancer_Activity_in_the_last_24_hours/statusservicegraphThis panel shows the number of times the Xpand Rebalancer executed certain tasks over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Rebalancer_Jobs/statusservicestatThis panel shows the number of tasks currently scheduled in the Xpand Rebalancer's priority queue
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Replicas_lags/statusservicetableThis panel shows average values for certain replication-related metadata to help determine if the replica ES nodes are currently lagging behind the primary ES node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Replicas_status/statusservicetableThis panel shows summarized values for certain replication-related metadata to help determine if any replica ES nodes encountered replication issues during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Replicated_Writeset_Bytes,server/clusterservergraphThis panel shows how many bytes the ES node replicated to other ES nodes in the cluster in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Replicated_Writeset_Bytes,service/clusterservicegraphThis panel shows how many bytes all ES nodes replicated to other ES nodes in the cluster in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Replicated_Writesets,server/clusterservergraphThis panel shows how many writesets the ES node replicated to other ES nodes in the cluster in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Replicated_Writesets,service/clusterservicegraphThis panel shows how many writesets all ES nodes replicated to other ES nodes in the cluster in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Replication_Latency/clusterservergraphThis panel shows details about latency from Enterprise Cluster replication on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Resident,server,cluster/clusterservergaugeThis panel shows the current resident set size (RSS) of the MaxScale process
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Resident,server,status/statusservergaugeThis panel shows the current resident set size (RSS) of the MaxScale process
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Reused_Connections,server,cluster,graph/clusterservergraphThis panel shows the number of times a connection was successfully reused from the MaxScale node's connection pool during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Reused_Connections,server,cluster,stat/clusterserverstatThis panel shows the number of times a connection was successfully reused from the MaxScale node's connection pool
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Reused_Connections,server,status,graph/statusservergraphThis panel shows the number of times a connection was successfully reused from the MaxScale node's connection pool during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Reused_Connections,server,status,stat/statusserverstatThis panel shows the number of times a connection was successfully reused from the MaxScale node's connection pool
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/RO_Service_Connections/statusserversinglestatThis panel shows the number of clients currently connected to the MaxScale node's read-only listener
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Routed_Packets,server,cluster/clusterservergraphThis panel shows the number of MariaDB protocol packets routed by the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Routed_Packets,server,performance/performanceservergraphThis panel shows the number of MariaDB protocol packets routed by the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Rows_slash_sec/statusservergraphThis panel shows the total number of rows written and read per second by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/RW_Service_Connections/statusserversinglestatThis panel shows the number of clients currently connected to the MaxScale node's read-write listener
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/RW_slash_sec,server,cluster/clusterservergraphThis panel shows the number of read and write operations per second that were handled by the threads on the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/RW_slash_sec,server,status/statusservergraphThis panel shows the number of read and write operations per second that were handled by the threads on the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Seconds_Behind_Primary/replicasservicegraphThis panel shows the average number of seconds that the replica ES nodes lagged behind the primary ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Sequentially_in_Parallel,server/clusterservergraphThis panel shows the average distance between the highest and lowest sequence numbers for writesets applied in parallel by Enterprise Cluster on the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Sequentially_in_Parallel,service/clusterservicegraphThis panel shows the average distance between the highest and lowest sequence numbers for writesets applied in parallel by Enterprise Cluster on all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Server_Connections/statusservergraphThis panel shows the number of client connections open between the MaxScale node and each ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Server_Routed_Packets,server,cluster/clusterservergraphThis panel shows the number of MariaDB protocol packets routed by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Server_Routed_Packets,server,performance/performanceservergraphThis panel shows the number of MariaDB protocol packets routed by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Server_Routed_Packets,server,status/statusserverbargaugeThis panel shows the number of MariaDB protocol packets routed by the MaxScale node over the past 5 minutes
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Service_Connections/statusservergraphThis panel shows the number of clients connected to the MaxScale node's listeners during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Session_time_in_state/historicalservicegraphThis panel shows the total length of time for all Xpand nodes that client connections were in each connection state during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Session_time_in_state_in_the_last_24_hours_(5_minute_intervals)/connectionsservicegraphThis panel shows the total length of time for all Xpand nodes that client connections were in each connection state in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Session_transaction_age/historicalservicegraphThis panel shows the session transaction age for all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Session_transaction_age_in_the_last_24_hours_(5_minute_intervals)/connectionsservicegraphThis panel shows the session transaction age for all Xpand nodes in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Sessions/historicalservicegraphThis panel shows how many client connections on all Xpand nodes were in each connection state during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Sessions_in_the_last_24_hours_(5_minute_intervals)/connectionsservicegraphThis panel shows how many client connections on all Xpand nodes were in each connection state in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Stack_size,server,cluster/clusterservergaugeThis panel shows the current stack size of the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Stack_size,server,status/statusservergaugeThis panel shows the current stack size of the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Status/clusterserversinglestatThis panel shows the current local state of the ES node according to Enterprise Cluster
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Storage/historicalservergraphThis panel shows the total amount of storage space used by each Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Storage_allocation/historicalservicegraphThis panel shows the amount of storage space allocated to each Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Storage_allocation_in_the_last_24_hours_(5_minute_intervals)/systemservicegraphThis panel shows the amount of storage space allocated to each Xpand node in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Storage_in_the_last_24_hours_(5_minute_intervals)/systemservergraphThis panel shows the total amount of storage space used by each Xpand node in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Temporary_Objects_Created/databaseservergraphThis panel shows the number of temporary tables created by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Threads/clusterserversinglestatThis panel shows the number of threads currently used by the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Threads_Count/statusserversinglestatThis panel shows the number of threads currently used by the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/TIL_Core_Utilization/historicalservergraphThis panel shows the CPU usage of each CPU core (excluding core-0) for the Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Top_Command_Counters,service,historical/historicalservicegraphThis panel shows how often certain statement types were executed by the Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Top_Command_Counters,server/queriesservergraphThis panel shows the top 30 statement types that were most frequently executed by the ES node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Top_Command_Counters,service,queries/queriesservicegraphThis panel shows the top 30 statement types that were most frequently executed by all ES nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Top_Command_Counters_Hourly,server/queriesservergraphThis panel shows the top 30 statement types that were most frequently executed by the ES node in 1 hour intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Top_Command_Counters_Hourly,service/queriesservicegraphThis panel shows the top 30 statement types that were most frequently executed by all ES and Xpand nodes in 1 hour intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Top_Command_Counters_in_the_last_24_hours_(5_minute_intervals)/queriesservicegraphThis panel shows how often certain statement types were executed by all Xpand nodes in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Total_Active_Operations,server,cluster,graph/clusterservergraphThis panel shows the total number of queries that were actively being executed by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Total_Active_Operations,server,cluster,stat/clusterserverstatThis panel shows the total number of queries that are actively being executed by the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Total_Active_Operations,server,status,graph/statusservergraphThis panel shows the total number of queries that were actively being executed by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Total_Active_Operations,server,status,stat/statusserverstatThis panel shows the total number of queries that are actively being executed by the MaxScale node
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Total_Connections,server,cluster,graph/clusterservergraphThis panel shows the total number of connections created by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Total_Connections,server,cluster,stat/clusterserverstatThis panel shows the total number of connections created by the MaxScale node since the MaxScale node was started
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Total_Connections,server,status,graph/statusservergraphThis panel shows the total number of connections created by the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Total_Connections,server,status,stat/statusserverstatThis panel shows the total number of connections created by the MaxScale node since the MaxScale node was started
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/TPS,service,historical/historicalservicegraphThis panel shows the average transactions per second (TPS) executed by all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/TPS,service,queries/queriesservicesinglestatThis panel shows the average transactions per second (TPS) executed by all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/TPS_(at_5_minute_intervals)/queriesservicegraphThis panel shows the average transactions per second (TPS) executed by all Xpand nodes in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/TPS_Hourly/queriesservicegraphThis panel shows the average transactions per second (TPS) executed by all Xpand nodes in 1 hour intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Uptime/statusservicesinglestatThis panel shows how long all Xpand nodes have been online
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Used_Connections/statusservermariadb-pie-chartThis panel shows the current number of client connections as a percentage of the ES node'sĀ max_connectionsĀ value
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Utilization,server,cluster/clusterserverbargaugeThis panel shows details about the CPU and memory usage for the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Utilization,server,status/statusserverbargaugeThis panel shows details about the CPU and memory usage for the MaxScale node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/WAL_sync_time/historicalservicegraphThis panel shows the average time the Xpand nodes required to sync changes to the Write Ahead Log (WAL) during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/WAL_sync_time_in_the_last_24_hours_(5_minute_intervals)/statusservicegraphThis panel shows the average time the Xpand nodes required to sync changes to the Write Ahead Log (WAL) in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Xpand_Memory_Distribution/historicalservergraphThis panel shows details about memory usage for the Xpand node during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Xpand_Memory_Distribution_in_the_last_24_hours_(5_minute_intervals)/systemservergraphThis panel shows details about memory usage for the Xpand node in 5 minute intervals over the past 24 hours
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Xpand_Total_Memory/historicalservicegraphThis panel shows the total memory usage for all Xpand nodes during the selected time interval
https://mariadb.com/docs/skysql-dbaas/ref/skymon/panels/Xpand_Total_Memory_in_the_last_24_hours_(5_minute_intervals)/systemservicegraphThis panel shows the total memory usage for all Xpand nodes in 5 minute intervals over the past 24 hours
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/REST API Reference 448f4a9dba524bd3a88fa7abd0649110/index.html b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/REST API Reference 448f4a9dba524bd3a88fa7abd0649110/index.html new file mode 100644 index 00000000..d1136ead --- /dev/null +++ b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/REST API Reference 448f4a9dba524bd3a88fa7abd0649110/index.html @@ -0,0 +1,2301 @@ + + + + + + + + + + + + + + + + + + + + + REST API Reference - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

REST API Reference

+

The MariaDB SkySQL DBaaS API is a REST API that can perform operations in MariaDB SkySQL using automation.

+
+

Note

+

The easiest way to get started with the API is to use this swagger Docs. Just generate your API key as described on this page, Click ā€˜Authorizeā€™ and enter ā€˜Bearer and try out any of the APIs.**

+
+

Supported Endpoints

+

The supported endpoints are as follows:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
API PathMethodSummary
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_billing_slash_v1_slash_account/GETReturns account record based on X-SkySQL-Org-Id header value
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_billing_slash_v1_slash_invoices/GETReturns list of invoices
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_billing_slash_v1_slash_invoices_slash_ocb_invoice_uid_ccb/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_billing_slash_v1_slash_invoices_slash_ocb_invoice_uid_ccb/GETReturns invoice for specified Chargify invoice uid
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_billing_slash_v1_slash_usage_slash_preview/GETReturns usage allocation summary
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_billing_slash_v1_slash_usage_slash_service/GETReturns usage allocation summary
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_billing_slash_v1_slash_usage_slash_service_slash_ocb_service_id_ccb/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_billing_slash_v1_slash_usage_slash_service_slash_ocb_service_id_ccb/GETReturns usage allocation summary for specified service ID
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_architectures/GETRead Architectures
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs,GET/GETList Custom Configs
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs,POST/POSTCreate Custom Config
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs_slash_ocb_config_id_ccb_,DELETE/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs_slash_ocb_config_id_ccb_,DELETE/DELETEDelete Custom Config
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs_slash_ocb_config_id_ccb_,GET/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs_slash_ocb_config_id_ccb_,GET/GETRead Custom Config
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs_slash_ocb_config_id_ccb_slash_values,GET/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs_slash_ocb_config_id_ccb_slash_values,GET/GETGet Config Values
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs_slash_ocb_config_id_ccb_slash_values,PUT/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_configs_slash_ocb_config_id_ccb_slash_values,PUT/PUTBatch Update Config Values
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_cpu-architectures/GETRead Architectures
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_maintenance-windows/GETRead Maintenance Windows
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_products/GETList Products
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_providers/GETRead Cloud Providers
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_providers_slash_ocb_provider_name_ccb_slash_iops/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_providers_slash_ocb_provider_name_ccb_slash_iops/GETRead Provider IOPS
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_providers_slash_ocb_provider_name_ccb_slash_volume-types/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_providers_slash_ocb_provider_name_ccb_slash_volume-types/GETRead Storage Volume Types
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_providers_slash_ocb_provider_name_ccb_slash_zones/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_providers_slash_ocb_provider_name_ccb_slash_zones/GETRead Availability Zones for a specific provider
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_regions/GETRead Regions
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_regions_slash_ocb_region_name_ccb_slash_zones/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_regions_slash_ocb_region_name_ccb_slash_zones/GETRead Zones
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_service-types/GETRead Service Types
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services,GET/GETList Services
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services,POST/POSTCreate a Service
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_,DELETE/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_,DELETE/DELETEDelete Service
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_,GET/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_,GET/GETRetrieve Service Info
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_config,DELETE/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_config,DELETE/DELETERemove a Custom Config from a Service
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_config,POST/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_config,POST/POSTUpdate Service Config
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_endpoints/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_endpoints/PATCHModifies Service Endpoints
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_maintenance-window/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_maintenance-window/POSTSet Service Maintenance Window
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_nodes/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_nodes/POSTUpdate Service Nodes
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_power/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_power/POSTSet Service Power State
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_replicas/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_replicas/GETList Replicas for a Service
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_replication,DELETE/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_replication,DELETE/DELETEDelete Replication on a Service
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_replication,POST/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_replication,POST/POSTUpdate Replication on a Service
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_allowlist,DELETE/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_allowlist,DELETE/DELETERemove Allowed Address
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_allowlist,GET/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_allowlist,GET/GETRead Allowed Addresses
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_allowlist,POST/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_allowlist,POST/POSTAdd Allowed Address
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_allowlist,PUT/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_allowlist,PUT/PUTUpdate Allowed Address
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_credentials/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_credentials/GETRetrieve Default Credentials
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_is-ip-allowed/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_security_slash_is-ip-allowed/POSTCheck an IP's Access
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_size/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_size/POSTUpdate Service Size
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_start/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_start/POSTStarts a stopped service
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_stop/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_stop/POSTStops a running service
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_storage/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_storage/PATCHSet Service Storage
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_storage_slash_iops/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_storage_slash_iops/PATCHSet Service Storage
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_storage_slash_size/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_services_slash_ocb_service_id_ccb_slash_storage_slash_size/PATCHSet Service Storage
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_sizes/GETRead Node Sizes
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_tiers/GETRead Tiers
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_topologies/GETRead Topologies
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_topologies_slash_ocb_topology_name_ccb_slash_configs/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_topologies_slash_ocb_topology_name_ccb_slash_configs/GETRead Topology Configuration Manager Parameters
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_topologies_slash_ocb_topology_name_ccb_slash_nodes/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_topologies_slash_ocb_topology_name_ccb_slash_nodes/GETRead Topology Node Options
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_topologies_slash_ocb_topology_name_ccb_slash_options/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_topologies_slash_ocb_topology_name_ccb_slash_options/GETRead Topology Options
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_topologies_slash_ocb_topology_name_ccb_slash_storage-sizes/https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_topologies_slash_ocb_topology_name_ccb_slash_storage-sizes/GETRead Topology Storage Sizes
https://mariadb.com/docs/skysql-dbaas/ref/skynr/api/slash_provisioning_slash_v1_slash_versions/GETRead Software Versions
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Region Choices 3970be558ee146eb99eb116ad2b8f519/index.html b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Region Choices 3970be558ee146eb99eb116ad2b8f519/index.html new file mode 100644 index 00000000..7c338193 --- /dev/null +++ b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/Region Choices 3970be558ee146eb99eb116ad2b8f519/index.html @@ -0,0 +1,2183 @@ + + + + + + + + + + + + + + + + + + + + + + + Region Choices - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Region Choices

+

AWS Regions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RegionLocation
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-ap-northeast-1/Tokyo, Japan
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-ap-northeast-2/Seoul, South Korea
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-ap-southeast-1/Jurong West, Singapore
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-ap-southeast-2/Sydney, Australia
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-ca-central-1/MontrƩal, QuƩbec, Canada
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-eu-central-1/Frankfurt, Germany
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-eu-north-1/Stockholm, Sweden
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-eu-west-1/Dublin, Ireland
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-eu-west-2/London, England, UK
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-eu-west-3/Paris, France
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-us-east-1/Northern Virginia, USA
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-us-east-2/Ohio, USA
https://mariadb.com/docs/skysql-dbaas/ref/regions/aws-us-west-2/Oregon, USA
+

PleaseĀ contact usĀ if any aspect of service does not align to your intended use case.

+

GCP Regions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RegionLocation
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-asia-northeast1/Tokyo, Japan
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-asia-south1/Mumbai, India
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-asia-southeast1/Jurong West, Singapore
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-asia-southeast2/Jakarta, Indonesia
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-australia-southeast1/Sydney, Australia
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-europe-north1/Hamina, Finland
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-europe-west1/St. Ghislain, Belgium
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-europe-west2/London, England, UK
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-europe-west3/Frankfurt, Germany
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-europe-west4/Eemshaven, Netherlands
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-europe-west9/Paris, France
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-northamerica-northeast1/MontrƩal, QuƩbec, Canada
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-us-central1/Council Bluffs, Iowa, USA
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-us-east1/Moncks Corner, South Carolina, USA
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-us-east4/Ashburn (Loudoun County), Virginia, USA
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-us-west1/The Dalles, Oregon, USA
https://mariadb.com/docs/skysql-dbaas/ref/regions/gcp-us-west4/Las Vegas, Nevada, USA
+

PleaseĀ contact usĀ if any aspect of service does not align to your intended use case.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/index.html b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/index.html new file mode 100644 index 00000000..10827d57 --- /dev/null +++ b/Reference Guide 7667b5b9f4954afd938f580f90f36fc2/index.html @@ -0,0 +1,2063 @@ + + + + + + + + + + + + + + + + + + + + + + + Reference Guides - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + + + + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Scaling horizontally, HA 1baaeba999bb4742930280184a67dcc1/index.html b/Scaling horizontally, HA 1baaeba999bb4742930280184a67dcc1/index.html new file mode 100644 index 00000000..1bd0dd7d --- /dev/null +++ b/Scaling horizontally, HA 1baaeba999bb4742930280184a67dcc1/index.html @@ -0,0 +1,1969 @@ + + + + + + + + + + + + + + + + + + + + + + + Scale Horizontally with High Availability - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Scaling horizontally, HA

+
+

Note

+

COMING SOON

+
+

SkySQL, unlike hyperscalers, deploy replicas in a active-active configuration. When primary crashes our smart proxy(maxscale) allows us to failover near instantly to an alternate replica. Or, failback when the original primary recovers. Ensuring data consistency even when replicas have a replication lag through ā€œcausal readsā€, or transaction replay.

+

Our underlying k8s based operator has smarts to rebuild replicas that lag a lot using cloud native snapshots.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Security eb573a6a5bce4b56b9743a64a4ac713c/Configuring Firewall 9bca9f4e09ce4152a2fce4e68b077e2d/index.html b/Security eb573a6a5bce4b56b9743a64a4ac713c/Configuring Firewall 9bca9f4e09ce4152a2fce4e68b077e2d/index.html new file mode 100644 index 00000000..41b81c41 --- /dev/null +++ b/Security eb573a6a5bce4b56b9743a64a4ac713c/Configuring Firewall 9bca9f4e09ce4152a2fce4e68b077e2d/index.html @@ -0,0 +1,2134 @@ + + + + + + + + + + + + + + + + + + + + + + + Configuring Firewall - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Configuring Firewall

+

SkySQL services are firewall-protected.

+

Access to MariaDB SkySQL services is managed on a per-service basis.

+

IPv4 addresses and IPv4 netblocks can be added to the allowlist to enable service access. Access from other addresses will be blocked.

+

Default

+

By default, when a service is launched its allowlist is empty. All external traffic to the service is blocked.

+

Secure Access Configuration

+

To modify Secure Access settings:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click the "Settings" link in the main menu (left navigation in the Portal).
  4. +
  5. Click the "Secure Access" button.
  6. +
+

https://mariadb.com/docs/_images/screenshots/settings-secure-access.png

+

Secure Access settings.

+

https://skysql.mariadb.com/settings/secure-access

+

Alternatively, you can access firewall settings for a specific service by clicking on the "MANAGE" button for the desired service, then choose "Security access" from the menu.

+

https://mariadb.com/docs/_images/screenshots/services-tx-xpand-creating-allowlist-dialog.png

+

Whitelist dialog.

+

https://skysql.mariadb.com/dashboard

+

Add to the Allowlist

+

IP addresses can be added to the allowlist from the Firewall settings interface or a service's Security Access interface:

+
    +
  1. Enter an IPv4 address or IPv4 netblock.
  2. +
  3. Optionally enter an alias for this address. An alias provides a way to remember why an address was added to the allowlist.
  4. +
  5. Click the "Save" button.
  6. +
+

After saving the change, aĀ notificationĀ will be provided when the change has been applied.

+

Remove from the Allowlist

+

IP addresses can be removed from the allowlist from the Firewall settings interface or a service's Security Access interface:

+
    +
  1. Click the "X" button to the right of the entry to remove.
  2. +
  3. Click the "Save" button.
  4. +
+

After saving the change, aĀ notificationĀ will be provided when the change has been applied.

+

Edit an Allowlist Entry

+

An allowlist entry can be edited from the Firewall settings interface or a service's Security Access interface:

+
    +
  1. Modify the IP address or alias of the desired allowlist entry.
  2. +
  3. Click the "Save" button.
  4. +
+

After saving the change, aĀ notificationĀ will be provided when the change has been applied.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Security eb573a6a5bce4b56b9743a64a4ac713c/Managing API keys 0a99815ccb0d4f1dbb7dea5e76d34407/index.html b/Security eb573a6a5bce4b56b9743a64a4ac713c/Managing API keys 0a99815ccb0d4f1dbb7dea5e76d34407/index.html new file mode 100644 index 00000000..ece4d1c3 --- /dev/null +++ b/Security eb573a6a5bce4b56b9743a64a4ac713c/Managing API keys 0a99815ccb0d4f1dbb7dea5e76d34407/index.html @@ -0,0 +1,2360 @@ + + + + + + + + + + + + + + + + + + + + + + + Managing API keys - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Managing API keys

+

Users with MariaDB ID accounts are able to request SkySQL API Keys that are used to securely access automated interfaces in MariaDB SkySQL:

+
    +
  • The SkySQL DBaaS API requires a SkySQL API Key to create, delete, and modify database services
  • +
  • The SkySQL Observability service requires a SkySQL API key to monitor on-premises database services
  • +
+

SkySQL API Key Scopes

+

Each SkySQL API Key is associated with one or more key scopes that determines what the API key can be used for.

+

Multiple scopes are currently available:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ScopeDescription
Observability API: ReadAllowsĀ GETĀ requests to theĀ https://mariadb.com/docs/skysql-dbaas/service-management/nr-monitoring/observability/
Observability API: WriteAllows write requests to theĀ https://mariadb.com/docs/skysql-dbaas/service-management/nr-monitoring/observability/
SkySQL API: Databases: ReadAllowsĀ GETĀ requests to theĀ https://mariadb.com/docs/skysql-dbaas/nr-quickstart/dbaas-api-launch-walkthrough/
SkySQL API: Databases: WriteAllows write requests to theĀ https://mariadb.com/docs/skysql-dbaas/nr-quickstart/dbaas-api-launch-walkthrough/
+

List SkySQL API Keys

+

To list your SkySQL API Keys, go to theĀ API KeysĀ page.

+

Generate a SkySQL API Key

+

To generate a SkySQL API Key:

+
    +
  1. Go to theĀ Generate API KeyĀ page.
  2. +
  3. Fill out the API key details:
      +
    • In the "Description" field, describe the purpose of the API key.
    • +
    • In the "Scopes" field, select one or moreĀ API key scopes.
    • +
    +
  4. +
  5. Click the "Generate API Key" button.
  6. +
  7. After the page refreshes, click the "Copy to clipboard" button to copy the API key.
  8. +
  9. Paste the API key somewhere safe and do not lose it.
  10. +
+

Verify a SkySQL API Key

+

To verify a SkySQL API Key, use theĀ keyinfoĀ endpoint:

+
    +
  • AĀ GETĀ request must be sent to the MariaDB ID URL: https://id.mariadb.com/api/v1/keyinfo/
  • +
  • TheĀ AuthorizationĀ header must be in the formatĀ Authorization:Ā TokenĀ SKYSQL_API_KEY, whereĀ SKYSQL_API_KEYĀ refers to the API key.
  • +
  • TheĀ Content-lengthĀ header must set the content length toĀ 0.
  • +
+

For example, to verify a SkySQL API Key using cURL with the output piped toĀ jqĀ for readability:

+
curl --location \
+   --header 'Authorization: Token SKYSQL_API_KEY' \
+   --header 'Content-length: 0' \
+   https://id.mariadb.com/api/v1/keyinfo/ \
+   | jq .
+
+
{
+  "jti": "JTI",
+  "email": "example_user@example.com",
+  "full_name": "Example User",
+  "key_prefix": "YpnHA",
+  "description": "My new API key",
+  "exp": null,
+  "iat": "2021-11-10T17:45:00.823041Z",
+  "scopes": [
+    "skysql::database::write"
+  ],
+  "iss": "id.mariadb.com",
+  "entitlements": [
+    "enterprise",
+    "xpand",
+    "monitoring",
+    "skysql"
+  ]
+}
+
+

The full set of fields in the output are:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
entitlementsA list of entitlements this user has access to
expTime when this API key will expire
iatTime when this API key was issued
issThe server that issued this API key
subThe email address of the user who generated this API key
jtiA unique GUID for this API key
kidThe key ID used to sign this API key
scopesTheĀ https://mariadb.com/docs/skysql-dbaas/security/nr-api-key/#SkySQL_API_Key_ScopesĀ of the API key
+

Request a Bearer Token

+

Most automated interfaces in SkySQL do not directly use the SkySQL API Key directly. Instead, the SkySQL API Key is exchanged for a short-lived bearer token that expires after 1 hour.

+

To request a short-lived bearer token using a SkySQL API Key, use theĀ tokenĀ endpoint:

+
    +
  • AĀ POSTĀ request must be sent to the MariaDB ID URL: https://id.mariadb.com/api/v1/token/
  • +
  • TheĀ AuthorizationĀ header must be in the formatĀ Authorization:Ā TokenĀ SKYSQL_API_KEY, whereĀ SKYSQL_API_KEYĀ refers to the API key.
  • +
  • TheĀ Content-lengthĀ header must set the content length toĀ 0.
  • +
+

For example, to request a bearer token using cURL with the output piped toĀ jqĀ for readability:

+
curl --location --request POST \
+   --header 'Authorization: Token SKYSQL_API_KEY' \
+   --header 'Content-length: 0' \
+   https://id.mariadb.com/api/v1/token/ \
+   | jq .
+
+
{
+  "jti": "JTI",
+  "email": "example_user@example.com",
+  "full_name": "Example User",
+  "exp": "2021-11-03T23:04:28.834462Z",
+  "iat": "2021-11-03T22:04:28.835032Z",
+  "scopes": [
+    "skysql::database::write"
+  ],
+  "iss": "id.mariadb.com",
+  "parent": "PARENT_ID",
+  "token": "SKYSQL_BEARER_TOKEN",
+  "entitlements": [
+    "enterprise",
+    "xpand",
+    "monitoring",
+    "skysql"
+  ],
+  "tenant_id": "TENANT_ID"
+}
+
+

In the output, the bearer token is returned as the value of theĀ "token"Ā key. This value is used by most automated interfaces in MariaDB SkySQL.

+

The full set of fields in the output are:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
entitlementsA list of entitlements this user has access to
expTime when this bearer token will expire
iatTime when this bearer token was issued
issThe server that issued this bearer token
subThe email address of the user who generated this bearer token
jtiA unique GUID for this bearer token
kidThe key ID used to sign this bearer token
parentThe unique ID of the SkySQL API Key that issued this bearer token
scopesTheĀ https://mariadb.com/docs/skysql-dbaas/security/nr-api-key/#SkySQL_API_Key_ScopesĀ of the SkySQL API Key that issued this bearer token
tenant_idThe SkySQL Billing ID of the user who generated this bearer token
+

Expiration

+

SkySQL API Keys expire.

+

The expiration interval is chosen when the API key is generated. SkySQL API Keys can expire at the following intervals:

+
    +
  • 2 years
  • +
  • 1 year
  • +
  • 9 months
  • +
  • 6 months
  • +
  • 3 months
  • +
+

Revocation

+

SkySQL API Keys can be revoked.

+

To revoke a SkySQL API Key:

+
    +
  1. Go to theĀ API KeysĀ page
  2. +
  3. Click the "Revoke" button for the API key
  4. +
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Security eb573a6a5bce4b56b9743a64a4ac713c/Managing Portal Users c0788729e3ae4bfb80e016631610e188/index.html b/Security eb573a6a5bce4b56b9743a64a4ac713c/Managing Portal Users c0788729e3ae4bfb80e016631610e188/index.html new file mode 100644 index 00000000..bd473f76 --- /dev/null +++ b/Security eb573a6a5bce4b56b9743a64a4ac713c/Managing Portal Users c0788729e3ae4bfb80e016631610e188/index.html @@ -0,0 +1,2148 @@ + + + + + + + + + + + + + + + + + + + + + + + Managing Portal Users - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Managing Portal Users

+

By default, SkySQL services are launched and managed in theĀ PortalĀ from a singleĀ MariaDB ID.

+

For multiple MariaDB ID accounts to jointly manage a set of SkySQL services, these accounts can be added to a Team.

+

The User Management interface in theĀ PortalĀ is a self-service tool to manage your Team.

+

A Team can be managed by the initial user on the Team or by any Administrator added to the Team.

+

An email address can belong to only one SkySQL Team. If an email address is already in a Team, it cannot be added to another Team.

+

Access to User Management

+

To access the User Management interface:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click the "Settings" link in the main menu (left navigation in the Portal).
  4. +
  5. Click the "User Management" button.
  6. +
+

https://mariadb.com/docs/_images/screenshots/user-management.png

+

User Management

+

https://skysql.mariadb.com/settings/user-management

+

Roles

+

Each Team member has one of the following roles:

+
    +
  • Administrator
  • +
  • Member
  • +
  • Viewer
  • +
  • Billing
  • +
+

Add a Team Member

+

https://mariadb.com/docs/_images/screenshots/user-management-invite.png

+

User Management - Invite

+

https://skysql.mariadb.com/settings/user-management

+

From the User Management interface, an Administrator can invite someone to join a team:

+
    +
  1. Click the "Invite" button in the upper right corner of the User Management interface.
  2. +
  3. Enter the email address of the person to invite to the team.
  4. +
  5. Choose the desired role for this user.
  6. +
  7. Click the "Add User" button.
  8. +
+

Once a user has been invited, they will appear in the Team member list in an "Invited" status until the invitation is accepted.

+

An invitation is delivered by email. The user will be prompted to complete account setup when accepting the invitation.

+

You can withdraw the invitation before it is accepted by clicking on the "Cancel Invitation" link in the Team member list.

+

Remove a Team Member

+

From the User Management interface, an Administrator can remove a team member:

+
    +
  1. Identify the team member to remove.
  2. +
  3. Click the ellipsis icon ("...") on the right side of that user's row.
  4. +
  5. Select the "Deactivate" menu item.
  6. +
  7. Read the displayed warning.
  8. +
  9. Click the "Deactivate" button to complete deactivation.
  10. +
+

Edit a Role

+

From the User Management interface, an Administrator can change a team member's role:

+
    +
  1. Identify the team member to modify.
  2. +
  3. Click the ellipsis icon ("...") on the right side of that user's row.
  4. +
  5. Select the "Edit" menu item.
  6. +
  7. Choose the desired Role for the user.
  8. +
  9. Click the "Save" button to complete the change.
  10. +
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Security eb573a6a5bce4b56b9743a64a4ac713c/Portal Single Sign-On e91b27d636614b8c897bebe7d61cb312/index.html b/Security eb573a6a5bce4b56b9743a64a4ac713c/Portal Single Sign-On e91b27d636614b8c897bebe7d61cb312/index.html new file mode 100644 index 00000000..a4256ef7 --- /dev/null +++ b/Security eb573a6a5bce4b56b9743a64a4ac713c/Portal Single Sign-On e91b27d636614b8c897bebe7d61cb312/index.html @@ -0,0 +1,2045 @@ + + + + + + + + + + + + + + + + + + + + + + + Portal Single Sign-On - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Portal Single Sign-On

+

By default, authentication to the SkySQL Portal is performed with MariaDB ID credentials.

+

For Power Tier customers, the SkySQL Portal can be configured to accept authentication with your SAML 2.0 IDP (identity provider). Google G Suite, Auth0, and Azure AD have been tested.

+

Alternatives

+

Users with personal or business Google G Suite accounts can authenticate via social login. This ability does not depend on enterprise authentication configuration.

+

Enable

+

ContactĀ SkySQL SupportĀ for more information on enabling enterprise authentication.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Security eb573a6a5bce4b56b9743a64a4ac713c/Private VPC connections b470fc74435c4e11ae5865458ffb78c6/index.html b/Security eb573a6a5bce4b56b9743a64a4ac713c/Private VPC connections b470fc74435c4e11ae5865458ffb78c6/index.html new file mode 100644 index 00000000..9306b1a0 --- /dev/null +++ b/Security eb573a6a5bce4b56b9743a64a4ac713c/Private VPC connections b470fc74435c4e11ae5865458ffb78c6/index.html @@ -0,0 +1,1968 @@ + + + + + + + + + + + + + + + + + + + + + + + Private VPC connections - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Private VPC connections

+

Some customers may have regulatory requirements or information security policies which prohibit the default database connections over the public internet.

+

SkySQL services can optionally be configured for private connections using cloud provider-specific features - See here for details on how to set this up.

+

By default, client traffic to SkySQL services may transit the public internet and is protected with TLS/SSL and a firewall configured by IP allowlist.

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Security eb573a6a5bce4b56b9743a64a4ac713c/index.html b/Security eb573a6a5bce4b56b9743a64a4ac713c/index.html new file mode 100644 index 00000000..dd586149 --- /dev/null +++ b/Security eb573a6a5bce4b56b9743a64a4ac713c/index.html @@ -0,0 +1,1966 @@ + + + + + + + + + + + + + + + + + + + + + + + Security - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Security

+
+

Note

+

TODO - describe security properly - things like how storage is encrypted, between zones, etc

+
+

SkySQL takes security very seriously and provides security at all levels - encryption on-the-wire, encrypted storage, guarded compute, multiple levels of authentication and Authorization.

+

It complies with several security standards like SOC2, GDPR, ISO ā€¦.

+

Managing Portal Users

+

Configuring Firewall

+

Managing API keys

+

Private VPC connections

+

Portal Single Sign-On

+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/Setting up AWS Private Link 4e93fe75265c415a857e4179e08b44a6/index.html b/Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/Setting up AWS Private Link 4e93fe75265c415a857e4179e08b44a6/index.html new file mode 100644 index 00000000..f03241e9 --- /dev/null +++ b/Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/Setting up AWS Private Link 4e93fe75265c415a857e4179e08b44a6/index.html @@ -0,0 +1,2556 @@ + + + + + + + + + + + + + + + + + + + + + + + Setting up AWS Private Link - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Setting up AWS Private Link

+
+

Note

+

AWS PrivateLink is used for private connections within the same AWS region.

+

Prior to configuring AWS PrivateLink on a SkySQL service, you must have created a VPC with a private subnet that will be used to communicate with private IP addresses.

+

For detailed information about AWS PrivateLink, seeĀ "AWS PrivateLink" (Amazon documentation).

+
+

The default endpoint mechanism is "nlb", which supports accessing the SkySQL service via the public internet. Use of AWS PrivateLink occurs when the endpoint mechanism is changed to "privateconnect".

+

AWS PrivateLink can be enabled using the SkySQL Portal, SkySQL DBaaS API, or SkySQL Terraform Provider.

+

Note the following

+
    +
  • When a SkySQL service has theĀ privateconnectĀ endpoint mechanism, all connections occur through private endpoints. SkySQL does offer users to setup a ā€œsecondaryā€ public IP endpoint also (available in the Portal UI when you provision a new service).
  • +
  • Client connections can originate from private IP addresses in the linked VPC.
  • +
  • +

    AWS PrivateLink supports DNS propagation which can be configured to resolve the Database FQDN to the private IP for an internal DNS request. The private DNS names feature must be enabled on the customer's VPC.

    +
  • +
  • +

    The SkySQL IP Allowlist is not used with theĀ privateconnectĀ endpoint mechanism.

    +
  • +
  • With AWS PrivateLink, connections are restricted to the list of allowed accounts that were specified when configuring the SkySQL endpoint.
  • +
  • Further restrictions are controlled through the customer's AWS account. VPC security group policies apply. For detailed information, seeĀ "Control traffic to resources using security groups"Ā (Amazon documentation).
  • +
  • Some customers using AWS PrivateLink may choose to disable TLS, but MariaDB recommends keeping TLS enabled for extra security.
  • +
  • Endpoint changes can be destructive, resulting in downtime. When you change the connection type from private to public, or public to private, the endpoint must be destroyed and recreated. Changing the SkySQL endpoint betweenĀ nlbĀ andĀ privateconnectĀ will result in a service interruption.
  • +
  • Connections to SkySQL services by features such as SkySQL backups, and monitoring do not depend on AWS PrivateLink.
  • +
  • Query Editor is not supported when AWS PrivateLink is enabled.
  • +
+ +

To enable AWS PrivateLink when launching a new service via the SkySQL Portal:

+
    +
  1. Initiate service launch using the procedure at Service Launch.
  2. +
  3. When you get to the final "Security" section, select "Enable Private Link".
  4. +
+

For the next step, see theĀ AWS Endpoint SetupĀ sections on this page.

+ +

To enable AWS PrivateLink for an existing service via the SkySQL Portal:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click the "MANAGE" button (at right) for the desired service.
  4. +
  5. In the context menu, choose the "Set up Private Link" menu item.
  6. +
  7. In the popup window, add one or more AWS account IDs.
  8. +
  9. Click the "OK" button to confirm this operation.
  10. +
+

For the next step, see theĀ AWS Endpoint SetupĀ sections on this page.

+ +

To disable AWS PrivateLink via the SkySQL Portal:

+
    +
  1. Visit theĀ SkySQL Portal
  2. +
  3. Find the service that you would like to modify.
  4. +
  5. Click "MANAGE" on the far right side of the service listing.
  6. +
  7. In the context menu, select "Manage PrivateLink".
  8. +
  9. In the popup window, click "I want to disconnect my Private Link".
  10. +
  11. In the popup window, select "Disconnect".
  12. +
  13. After the service restarts, PrivateLink is disabled.
  14. +
  15. Since the service's allowlist was cleared when AWS PrivateLink was previously enabled, you will need toĀ update the allowlistĀ to allow clients to connect after disabling PrivateLink.
  16. +
+

AWS Endpoint Setup

+

In addition to switching the SkySQL service to theĀ privateconnectĀ endpoint mechanism, an AWS Endpoint must be created using the customer's AWS account in order for the SkySQL service to become accessible.

+
    +
  1. Log in to the AWS console.
  2. +
  3. Confirm the correct region is selected.
  4. +
  5. Navigate to the "VPC" page, then the "Endpoint" section.
  6. +
  7. Click the "Create Endpoint" button.
  8. +
  9. Fill in the name to help you to identify it. (This is optional.)
  10. +
  11. Set the Service category to "Other endpoint services".
  12. +
  13. The value for the "Service name" field must be set to the value of theĀ endpoint_serviceĀ that was queried from the SkySQL DBaaS API (as detailed earlier).
  14. +
  15. Click "Verify service". AWS should find the service and auto-populate the rest of the form.
  16. +
  17. In the VPC search field, find the VPC that you want to use for the interconnect between the clients and the SkySQL service.
  18. +
  19. In the Subnets section, it is suggested that you select all the Availability Zones in the list, entering the proper subnet ID for each one. If you are unsure, view the details of your running instances to see the Subnet ID that they have configured.
  20. +
  21. Select IPv4 for "IP address type".
  22. +
  23. For the "Security Groups" section, we suggest that you create a new security group that will regulate which instances can make a connection to the database.
      +
    • In a new browser tab, use the AWS console to visit the "Security Groups" settings (under Network & Security).
    • +
    • Click on the "Create security group" button.
    • +
    • Fill in the group's name and (optionally) its description.
    • +
    • Under "Inbound rules" click the "Add rule" button.
    • +
    • Set the value for the "Port range" to be the port number that the API revealed for the "readwrite" endpoint.
    • +
    • Set the Source to either a list of private (internal) IPv4 addresses that you want to authorize (adding a "/32" suffix to each one), or set it to an existing security group name that can be used to authorize all instances that have that security group in their configuration.
    • +
    • Press the "Create security group" button.
    • +
    +
  24. +
  25. Back on the endpoint tab, click the refresh button on the "Security Groups" section and choose the newly created security group.
  26. +
  27. Optionally add a "Name" tag for easy identification.
  28. +
  29. Press the "Create endpoint" button. Endpoint creation may take several minutes. When complete, status will change from "Pending" to "Available".
  30. +
  31. In the details of the new endpoint will be a list of DNS names. Copy the first name in the list and use that as the hostname for your clients to use when they connect.
  32. +
+

The newly created endpoint now authorizes the internal IPs or security groups that you specified in the Source values to access the SkySQL service's connection port. When testing a client connection, ensure that the client host is authorized by the security group's Source settings and that you're using the "readwrite" port plus the appropriate username and password (either the default values or the value for any user you have created).

+ + +

To enable AWS PrivateLink when launching a new service via the SkySQL DBaaS API:

+
    +
  1. Initiate service launch using the procedure at "DBaaS API Launch Walkthrough".
  2. +
  3. +

    When you are creating the request, add theĀ "endpoint_mechanism"Ā andĀ "endpoint_allowed_accounts"Ā attributes to the JSON payload:

    +
      +
    1. +
    +
    "endpoint_mechanism": "privateconnect",
    +"endpoint_allowed_accounts": [
    +    "AWS-ACCOUNT-ID-1",
    +    "AWS-ACCOUNT-ID-2"
    +]
    +
    +
      +
    • SetĀ "endpoint_mechanism"Ā toĀ "privateconnect"
    • +
    • SetĀ "endpoint_allowed_accounts"Ā to a JSON array of one or more customer account IDs in AWS that will be allowed to establish a private connection to the SkySQL service
    • +
    +
  4. +
+

For the next step, see theĀ Connectivity,Ā Controls, &Ā AWS Endpoint SetupĀ sections on this page.

+ +

To enable AWS PrivateLink on an existing service via the SkySQL DBaaS API, create a JSON payload such as:

+
[
+  {
+    "mechanism": "privateconnect",
+    "allowed_accounts": [
+      "AWS-ACCOUNT-ID-1",
+      "AWS-ACCOUNT-ID-2"
+    ]
+  }
+]
+
+
    +
  • SetĀ "mechanism"Ā toĀ "privateconnect"
  • +
  • SetĀ "allowed_accounts"Ā to a JSON array of one or more customer account IDs in AWS that will be allowed to establish a private connection to the SkySQL service.
  • +
+

And then use the API to update theĀ endpointsĀ information of the service. The following example of usingĀ curlĀ expects the above payload to be in a file namedĀ data.jsonĀ and also expects the variablesĀ API_KEYĀ andĀ SERVICE_IDĀ to be set:

+
curl -H "Authorization: Bearer ${API_KEY}" \
+       -X PATCH -d @data.json \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID}/endpoints \
+       | jq .
+
+

We will need the endpoint's service name later on in the setup, so use the API to query the endpoint once the service has finished its modifications and is back to "ready":

+
curl -H "Authorization: Bearer ${API_KEY}" -X GET \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID} \
+       | jq '.status,.endpoints[0].ports,.endpoints[0].endpoint_service'
+
+

Note that theĀ jqĀ command is filtering the returned JSON data to extract three things (which are separated by commas in the command above):

+
    +
  • The status of the service, which must be "ready" for the other values to be available.
      +
    • The "ready" status means that the PrivateLink endpoint setup is complete.
    • +
    • A status of "pending_upgrade" is reflected while PrivateLink endpoint setup is in-progress.
    • +
    +
  • +
  • The "ports" data for the first item in theĀ endpointsĀ array.
      +
    • Some topologies include multiple port options, including ports for read/write and read-only connections, or for connections to the NoSQL listener.
    • +
    • Choose the desired port, such as "readwrite".
    • +
    +
  • +
  • TheĀ endpoint_serviceĀ value for the first item in theĀ endpointsĀ array.
  • +
+

The output will look something like this, though your values will vary:

+
"ready"
+[
+  {
+    "name": "readwrite",
+    "port": 3306,
+    "purpose": "readwrite"
+  }
+]
+"com.amazonaws.vpce.AWS_REGION.vpce-svc-AWS_SERVICE_ID"
+
+

If you are not usingĀ jq, scan (or parse) the full returned JSON data to ensure the service status is "ready" and find the associated values described above.

+

For the next step, see theĀ Connectivity,Ā Controls, &Ā AWS Endpoint SetupĀ sections on this page.

+ +

To disable AWS PrivateLink via the SkySQL DBaaS API, create a JSON payload such as:

+
[
+  {
+    "mechanism": "nlb"
+  }
+]
+
+

SetĀ "mechanism"Ā toĀ "nlb"

+

And then use the API to update theĀ endpointsĀ information of the service. The following example of usingĀ curlĀ expects the above payload to be in a file namedĀ data.jsonĀ and also expects the variablesĀ API_KEYĀ andĀ SERVICE_IDĀ to be set:

+
curl -H "Authorization: Bearer ${API_KEY}" \
+       -X PATCH -d @data.json \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID}/endpoints \
+       | jq .
+
+

We will need the endpoint's service name later on in the setup, so use the API to query the endpoint once the service has finished its modifications and is back to "ready":

+
curl -H "Authorization: Bearer ${API_KEY}" -X GET \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID} \
+       | jq '.status,.endpoints[0].ports,.endpoints[0].endpoint_service'
+
+

Note that theĀ jqĀ command is filtering the returned JSON data to extract three things (which are separated by commas in the command above):

+
    +
  • The status of the service, which must be "ready" for the other values to be available.
      +
    • The "ready" status means that the endpoint modification is complete.
    • +
    • A status of "pending_upgrade" is reflected while PrivateLink is being disabled.
    • +
    +
  • +
  • The "ports" data for the first item in theĀ endpointsĀ array.
      +
    • Some topologies include multiple port options, including ports for read/write and read-only connections, or for connections to the NoSQL listener.
    • +
    • Choose the desired port, such as "readwrite".
    • +
    +
  • +
  • TheĀ endpoint_serviceĀ value for the first item in theĀ endpointsĀ array.
  • +
+

The output will look something like this, though your values will vary:

+
"ready"
+[
+  {
+    "name": "readwrite",
+    "port": 3306,
+    "purpose": "readwrite"
+  }
+]
+"com.amazonaws.vpce.AWS_REGION.vpce-svc-AWS_SERVICE_ID"
+
+

If you are not usingĀ jq, scan (or parse) the full returned JSON data to ensure the service status is "ready" and find the associated values described above.

+

Since the service's allowlist was cleared when AWS PrivateLink was previously enabled, you will need to update the allowlist to allow clients to connect after disabling PrivateLink.

+

To add an address to the allowlist via the SkySQL DBaaS API, create a JSON payload such as:

+
**{**  **"ip_address":** "192.0.2.10/32"**}**
+
+

And then use the API to update theĀ allowlistĀ information of the service. The following example of usingĀ curlĀ expects the above payload to be in a file namedĀ data.jsonĀ and also expects the variablesĀ API_KEYĀ andĀ SERVICE_IDĀ to be set:

+
curl -H "Authorization: Bearer ${API_KEY}" \
+       -X POST -d @data.json \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID}/security/allowlist \
+       | jq .
+
+ +

For general instructions on using the SkySQL Terraform Provider, see "Terraform Launch Walkthrough".

+

For an example Terraform configuration that enables AWS PrivateLink, see "https://github.com/mariadb-corporation/terraform-provider-skysql/tree/main/examples/privateconnect".

+ +

To enable AWS PrivateLink when launching a new service via the SkySQL Terraform provider:

+
    +
  1. Initiate service launch using the procedure at "Terraform Launch Walkthrough".
  2. +
  3. +

    When you are configuring theĀ skysql_serviceĀ resource, add theĀ endpoint_mechanismĀ andĀ endpoint_allowed_accountsĀ attributes.

    +

    For example, the attributes can be placed afterĀ ssl_enabled:

    +
    ssl_enabled = var.ssl_enabled
    +endpoint_mechanism = "privateconnect"
    +endpoint_allowed_accounts = ["AWS-ACCOUNT-ID-1","AWS-ACCOUNT-ID-2"]
    +
    +
      +
    • SetĀ endpoint_mechanismĀ toĀ "privateconnect"
    • +
    • SetĀ endpoint_allowed_accountsĀ to a comma-separated list of one or more customer account IDs in AWS that will be allowed to establish a private connection to the SkySQL service
    • +
    • Continue the rest of the procedure.
    • +
    +
  4. +
+

For the next step, see theĀ AWS Endpoint SetupĀ sections on this page.

+ +

To enable AWS PrivateLink for an existing service via the SkySQL Terraform provider:

+
    +
  1. +

    Alter theĀ skysql_serviceĀ resource configuration by adding theĀ endpoint_mechanismĀ andĀ endpoint_allowed_accountsĀ attributes.

    +

    Follow the same instructions as above.

    +
  2. +
  3. +

    Execute theĀ [terraformĀ applyĀ command](https://developer.hashicorp.com/terraform/cli/commands/apply):

    +
    $ terraform apply -var-file="skysql-nr-quickstart.tfvars"
    +
    +
  4. +
+

For the next step, see theĀ AWS Endpoint SetupĀ sections on this page.

+ +

To disable AWS PrivateLink via the SkySQL Terraform provider:

+
    +
  1. +

    Alter theĀ skysql_serviceĀ resource configuration by doing the following:

    +
      +
    • Changing theĀ endpoint_mechanismĀ attribute toĀ "nlb"
    • +
    • Removing theĀ endpoint_allowed_accountsĀ attribute
    • +
    • Adding theĀ allow_listĀ attribute
    • +
    +

    For example, if you started with the following attributes afterĀ ssl_enabled:

    +
    ssl_enabled = var.ssl_enabled
    +endpoint_mechanism = "privateconnect"
    +endpoint_allowed_accounts = ["AWS-ACCOUNT-ID-1","AWS-ACCOUNT-ID-2"]
    +
    +

    You could disable AWS PrivateLink by changing the attributes to the following:

    +
    ssl_enabled = var.ssl_enabled
    +endpoint_mechanism = "nlb"
    +allow_list          = [
    +  {
    +     "ip"          : var.ip_address,
    +     "comment"     : var.ip_address_comment
    +  }
    +]
    +
    +
  2. +
  3. +

    Execute theĀ [terraformĀ applyĀ command](https://developer.hashicorp.com/terraform/cli/commands/apply):

    +
  4. +
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/Setting up GCP Private Service Connect 36f6d531c5514999bd464a80ac49919a/index.html b/Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/Setting up GCP Private Service Connect 36f6d531c5514999bd464a80ac49919a/index.html new file mode 100644 index 00000000..79bd78d9 --- /dev/null +++ b/Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/Setting up GCP Private Service Connect 36f6d531c5514999bd464a80ac49919a/index.html @@ -0,0 +1,2645 @@ + + + + + + + + + + + + + + + + + + + + + + + Setting up GCP Private Service Connect - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + +

Setting up GCP Private Service Connect

+
+

Note

+

GCP Private Service Connect (PSC) is used for private connections within the same GCP region.

+

Prior to configuring PSC on a SkySQL service, you must have created a VPC with a private subnet that will be used to communicate with private IP addresses.

+

For detailed information about GCP PSC, seeĀ "Private Service Connect" (Google documentation).

+
+

The default endpoint mechanism is "nlb", which supports accessing the SkySQL service via the public internet. Use of GCP PSC occurs when the endpoint mechanism is changed to "privateconnect".

+

GCP PSC can be enabled using the SkySQL Portal, SkySQL DBaaS API, or SkySQL Terraform Provider.

+

Note the following

+
    +
  • When a SkySQL service has theĀ privateconnectĀ endpoint mechanism, all connections occur through private endpoints. SkySQL does offer users to setup a ā€œsecondaryā€ public IP endpoint also (available in the Portal UI when you provision a new service).
  • +
  • With Private Service Connect, projects are allowlisted and auto-accept of connections from any account is disabled.
  • +
  • Access restrictions are controlled through the customer's GCP account. VPC firewall rules apply. For detailed information, seeĀ "Cloud Firewall overview" (Google documentation).
  • +
  • Some customers using Private Service Connect may choose to disable TLS, but MariaDB recommends keeping TLS enabled for extra security.
  • +
  • Database connection limits are independent from PSC connection limits. The limit for PSC connections is 10.
  • +
  • Endpoint changes can be destructive, resulting in downtime. When you change the connection type from private to public, or public to private, the endpoint must be destroyed and recreated. Changing the SkySQL endpoint betweenĀ nlbĀ andĀ privateconnectĀ will result in a service interruption.
  • +
  • Connections to SkySQL services by features such as SkySQL backups, and monitoring do not depend on Private Service Connect.
  • +
  • Query Editor is not supported when Private Service Connect is enabled.
  • +
+

Enable GCP Private Service Connect on Service Launch

+

To enable GCP Private Service Connect when launching a new service via the SkySQL Portal:

+
    +
  • When you get to the final "Security" section, select "Enable Private Service Connect".
  • +
+

For the next step, see theĀ GCP Endpoint SetupĀ sections on this page.

+

Enable GCP Private Service Connect on Existing SkySQL Service

+

To enable GCP Private Service Connect for an existing service via the SkySQL Portal:

+
    +
  1. Log in to theĀ Portal.
  2. +
  3. Click the "MANAGE" button (at right) for the desired service.
  4. +
  5. In the context menu, choose the "Set up Private Service Connect" menu item.
  6. +
  7. In the popup window, add one or more GCP project IDs.
  8. +
  9. Click the "OK" button to confirm this operation.
  10. +
+

For the next step, see theĀ GCP Endpoint SetupĀ sections on this page.

+

Disable GCP Private Service Connect

+

To disable GCP Private Service Connect via the SkySQL Portal:

+
    +
  1. Visit theĀ SkySQL Portal
  2. +
  3. Find the service that you would like to modify.
  4. +
  5. Click "MANAGE" on the far right side of the service listing.
  6. +
  7. In the context menu, select "Manage Private Service Connect".
  8. +
  9. In the popup window, click "I want to disconnect my Private Service Connect".
  10. +
  11. In the popup window, select "Disconnect".
  12. +
  13. After the service restarts, Private Service Connect is disabled.
  14. +
  15. Since the service's allowlist was cleared when GCP Private Service Connect was previously enabled, you will need toĀ update the allowlistĀ to allow clients to connect after disabling Private Service Connect.
  16. +
+

GCP Endpoint Setup

+

Endpoint setup is performed using the customer's GCP account.

+

Create a Subnet (optional)

+

We recommend use of a subnet dedicated to Private Service Connect endpoints in the same VPC where the application is running.

+
    +
  1. In the GCP console, navigate VPC network ā†’ VPC networks ā†’ ā†’ SUBNETS ā†’ ADD SUBNET.
      +
    • Replace with the name of the VPC where the application is running.
    • +
    +
  2. +
  3. Configure the subnet:
      +
    • Name
    • +
    • Region: select the same region as the one where the application runs
    • +
    • Purpose: None
    • +
    • IP address range: Set a CIDR block that doesn't overlap with the CIDR blocks of the existing subnets in the same VPC.
    • +
    • Optionally configure Private Google Access
    • +
    • Optionally configure Flow logs
    • +
    • Click "ADD".
    • +
    +
  4. +
+

Create a Static Internal IP Address

+
    +
  1. In the GCP console, navigate VPC network ā†’ VPC networks ā†’ ā†’ STATIC INTERNAL IP ADDRESSES ā†’ RESERVE STATIC ADDRESS.
      +
    • Replace with the name of the VPC where the application is running.
    • +
    +
  2. +
  3. Configure the static internal IP address:
      +
    • Name: set to the Database ID (dbxxxxxxxx) from SkySQL.
    • +
    • Subnet: select the subnet where to reserve the static IP address.
    • +
    • Static IP address: optionally choose the address.
    • +
    • Purpose: Non-shared
    • +
    • Click "RESERVE".
    • +
    +
  4. +
+

*Connect to the Published Service*

+
    +
  1. +

    In the GCP console, navigate Network services ā†’ Private Service Connect ā†’ CONNECTED ENDPOINTS ā†’ CONNECT ENDPOINT.

    +
  2. +
  3. +

    Configure the endpoint connection: + ā—¦ Target: Published service + ā—¦ Target service: theĀ endpoint_serviceĀ value from the SkySQL DBaaS API + ā—¦ Endpoint name: set to the Database ID from SkySQL (dbxxxxxxxx) + ā—¦ Network: select the VPC network where the application is running + ā—¦ Subnetwork: select the subnet where the static internal IP address is reserved + ā—¦ IP address: select the reserved internal IP address from the prior step + ā—¦ Click "ADD ENDPOINT".

    +
  4. +
+

Setting up GCP PSC using SkySQL REST API

+

Enable GCP PSC on Service Launch

+

To enable GCP Private Service Connect when launching a new service via the SkySQL DBaaS API:

+
    +
  1. Initiate service launch using the procedure at "DBaaS API Launch Walkthrough".
  2. +
  3. +

    When you are creating the request, add theĀ "endpoint_mechanism"Ā andĀ "endpoint_allowed_accounts"Ā attributes to the JSON payload:

    +
    "endpoint_mechanism": "privateconnect",
    +"endpoint_allowed_accounts": [
    +    "GCP-PROJECT-ID-1",
    +    "GCP-PROJECT-ID-2"
    +]
    +
    +
      +
    • SetĀ "endpoint_mechanism"Ā toĀ "privateconnect"
    • +
    • SetĀ "endpoint_allowed_accounts"Ā to a JSON array of one or more customer project IDs in GCP that will be allowed to establish a private connection to the SkySQL service
    • +
    +
  4. +
+

For the next step, see theĀ GCP Endpoint SetupĀ sections on this page.

+

Enable GCP Private Service Connect on Existing SkySQL Service

+

To enable GCP Private Service Connect on an existing service via the SkySQL DBaaS API, create a JSON payload such as:

+
[
+  {
+    "mechanism": "privateconnect",
+    "allowed_accounts": [
+      "GCP-PROJECT-ID-1",
+      "GCP-PROJECT-ID-2"
+    ]
+  }
+]
+
+
    +
  • SetĀ "mechanism"Ā toĀ "privateconnect"
  • +
  • SetĀ "allowed_accounts"Ā to a JSON array of one or more customer project IDs in GCP that will be allowed to establish a private connection to the SkySQL service
  • +
+

And then use the API to update theĀ endpointsĀ information of the service. The following example of usingĀ curlĀ expects the above payload to be in a file namedĀ data.jsonĀ and also expects the variablesĀ API_KEYĀ andĀ SERVICE_IDĀ to be set:

+
curl -H "Authorization: Bearer ${API_KEY}" \
+       -X PATCH -d @data.json \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID}/endpoints \
+       | jq .
+
+

We will need the endpoint's service name later on in the setup, so use the API to query the endpoint once the service has finished its modifications and is back to "ready":

+
curl -H "Authorization: Bearer ${API_KEY}" -X GET \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID} \
+       | jq '.status,.endpoints[0].ports,.endpoints[0].endpoint_service'
+
+

Note that theĀ jqĀ command is filtering the returned JSON data to extract three things (which are separated by commas in the command above):

+
    +
  • The status of the service, which must be "ready" for the other values to be available.
      +
    • The "ready" status means that the Private Service Connect endpoint setup is complete.
    • +
    • A status of "pending_upgrade" is reflected while Private Service Connect endpoint setup is in-progress.
    • +
    +
  • +
  • The "ports" data for the first item in theĀ endpointsĀ array.
      +
    • Some topologies include multiple port options, including ports for read/write and read-only connections, or for connections to the NoSQL listener.
    • +
    • Choose the desired port, such as "readwrite".
    • +
    +
  • +
  • TheĀ endpoint_serviceĀ value for the first item in theĀ endpointsĀ array.
  • +
+

The output will look something like this, though your values will vary:

+
"ready"
+[
+  {
+    "name": "readwrite",
+    "port": 3306,
+    "purpose": "readwrite"
+  }
+]
+"GCP_ENDPOINT_HOSTNAME"
+
+

If you are not usingĀ jq, scan (or parse) the full returned JSON data to ensure the service status is "ready" and find the associated values described above.

+

For the next step, see theĀ GCP Endpoint SetupĀ sections on this page.

+

Disable GCP PSC

+

To disable GCP Private Service Connect via the SkySQL DBaaS API, create a JSON payload such as:

+
[
+  {
+    "mechanism": "nlb"
+  }
+]
+
+
    +
  • SetĀ "mechanism"Ā toĀ "nlb"
  • +
+

And then use the API to update theĀ endpointsĀ information of the service. The following example of usingĀ curlĀ expects the above payload to be in a file namedĀ data.jsonĀ and also expects the variablesĀ API_KEYĀ andĀ SERVICE_IDĀ to be set:

+
curl -H "Authorization: Bearer ${API_KEY}" \
+       -X PATCH -d @data.json \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID}/endpoints \
+       | jq .
+
+

We will need the endpoint's service name later on in the setup, so use the API to query the endpoint once the service has finished its modifications and is back to "ready":

+
curl -H "Authorization: Bearer ${API_KEY}" -X GET \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID} \
+       | jq '.status,.endpoints[0].ports,.endpoints[0].endpoint_service'
+
+

Note that theĀ jqĀ command is filtering the returned JSON data to extract three things (which are separated by commas in the command above):

+
    +
  • The status of the service, which must be "ready" for the other values to be available.
      +
    • The "ready" status means that the endpoint modification is complete.
    • +
    • A status of "pending_upgrade" is reflected while Private Service Connect is being disabled.
    • +
    +
  • +
  • The "ports" data for the first item in theĀ endpointsĀ array.
      +
    • Some topologies include multiple port options, including ports for read/write and read-only connections, or for connections to the NoSQL listener.
    • +
    • Choose the desired port, such as "readwrite".
    • +
    +
  • +
  • TheĀ endpoint_serviceĀ value for the first item in theĀ endpointsĀ array.
  • +
+

The output will look something like this, though your values will vary:

+
"ready"
+[
+  {
+    "name": "readwrite",
+    "port": 3306,
+    "purpose": "readwrite"
+  }
+]
+"GCP_ENDPOINT_HOSTNAME"
+
+

If you are not usingĀ jq, scan (or parse) the full returned JSON data to ensure the service status is "ready" and find the associated values described above.

+

Since the service's allowlist was cleared when GCP Private Service Connect was previously enabled, you will need to update the allowlist to allow clients to connect after disabling Private Service Connect.

+

To add an address to the allowlist via the SkySQL DBaaS API, create a JSON payload such as:

+
**{**  **"ip_address":** "192.0.2.10/32"**}**
+
+

And then use the API to update theĀ allowlistĀ information of the service. The following example of usingĀ curlĀ expects the above payload to be in a file namedĀ data.jsonĀ and also expects the variablesĀ API_KEYĀ andĀ SERVICE_IDĀ to be set:

+
curl -H "Authorization: Bearer ${API_KEY}" \
+       -X POST -d @data.json \
+       https://api.mariadb.com/provisioning/v1/services/${SERVICE_ID}/security/allowlist \
+       | jq .
+
+

Terraform Provider

+

GCP Private Service Connect can be enabled with Terraform using the SkySQL Terraform provider.

+

For general instructions on using the SkySQL Terraform Provider, see "Terraform Launch Walkthrough".

+

For an example Terraform configuration that enables GCP Private Service Connect, see "https://github.com/mariadb-corporation/terraform-provider-skysql/tree/main/examples/private-service-connect".

+

Enable GCP Private Service Connect on Service Launch

+

To enable GCP Private Service Connect when launching a new service via the SkySQL Terraform provider:

+
    +
  1. Initiate service launch using the procedure at "Terraform Launch Walkthrough".
  2. +
  3. +

    When you are configuring theĀ skysql_serviceĀ resource, add theĀ endpoint_mechanismĀ andĀ endpoint_allowed_accountsĀ attributes:

    +

    For example, the attributes can be placed afterĀ ssl_enabled:

    +
    ssl_enabled = var.ssl_enabled
    +endpoint_mechanism = "privateconnect"
    +endpoint_allowed_accounts = ["GCP-PROJECT-ID-1","GCP-PROJECT-ID-2"]
    +
    +
      +
    • SetĀ endpoint_mechanismĀ toĀ "privateconnect"
    • +
    • SetĀ endpoint_allowed_accountsĀ to a comma-separated list of one or more customer project IDs in GCP that will be allowed to establish a private connection to the SkySQL service
    • +
    • Continue the rest of the procedure.
    • +
    +
  4. +
+

For the next step, see theĀ Connectivity,Ā Controls, &Ā GCP Endpoint SetupĀ sections on this page.

+

Enable GCP Private Service Connect on Existing SkySQL Service

+

To enable GCP Private Service Connect for an existing service via the SkySQL Terraform provider:

+
    +
  1. +

    Alter theĀ skysql_serviceĀ resource configuration by adding theĀ endpoint_mechanismĀ andĀ endpoint_allowed_accountsĀ attributes.

    +

    For example, the attributes can be placed afterĀ ssl_enabled:

    +
    ssl_enabled = var.ssl_enabled
    +endpoint_mechanism = "privateconnect"
    +endpoint_allowed_accounts = ["GCP-PROJECT-ID-1","GCP-PROJECT-ID-2"]
    +
    +
      +
    • SetĀ endpoint_mechanismĀ toĀ "privateconnect"
    • +
    • SetĀ endpoint_allowed_accountsĀ to a comma-separated list of one or more customer project IDs in GCP that will be allowed to establish a private connection to the SkySQL service
    • +
    • Execute theĀ [terraformĀ applyĀ command](https://developer.hashicorp.com/terraform/cli/commands/apply):
    • +
    +
    $ terraform apply -var-file="skysql-nr-quickstart.tfvars"
    +
    +
  2. +
+

For the next step, see theĀ GCP Endpoint SetupĀ sections on this page.

+

Disable GCP Private Service Connect

+

To disable GCP Private Service Connect via the SkySQL Terraform provider:

+
    +
  1. +

    Alter theĀ skysql_serviceĀ resource configuration by doing the following:

    +
      +
    • Changing theĀ endpoint_mechanismĀ attribute toĀ "nlb"
    • +
    • Removing theĀ endpoint_allowed_accountsĀ attribute
    • +
    • Adding theĀ allow_listĀ attribute
    • +
    +

    For example, if you started with the following attributes afterĀ ssl_enabled:

    +
    ssl_enabled = var.ssl_enabled
    +endpoint_mechanism = "privateconnect"
    +endpoint_allowed_accounts = ["GCP-PROJECT-ID-1","GCP-PROJECT-ID-2"]
    +
    +

    You could disable GCP Private Service Connect by changing the attributes to the following:

    +
    ssl_enabled = var.ssl_enabled
    +endpoint_mechanism = "nlb"
    +allow_list          = [
    +  {
    +     "ip"          : var.ip_address,
    +     "comment"     : var.ip_address_comment
    +  }
    +]
    +
    +
  2. +
  3. +

    Execute theĀ [terraformĀ applyĀ command](https://developer.hashicorp.com/terraform/cli/commands/apply):

    +
    $ terraform apply -var-file="skysql-nr-quickstart.tfvars"
    +
    +
  4. +
+
+ + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/index.html b/Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/index.html new file mode 100644 index 00000000..8a64c910 --- /dev/null +++ b/Using AWS GCP private VPC connections e42fec2f611d45a5b8f5caaa4d3a53d2/index.html @@ -0,0 +1,1962 @@ + + + + + + + + + + + + + + + + + + + + + + + Using AWS/GCP private VPC connections - SkySQL Public Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Using AWS/GCP private VPC connections

+

By default, connections to SkySQL cloud databases occur with TLS/SSL encryption and can be initiated only from allowlisted IP addresses.

+

Some customers have regulatory requirements or information security policies that prohibit database connections over the public internet, and result in a requirement for private connections.

+

SkySQL cloud databases can optionally be configured for private connections between your VPC (virtual private clouds) and SkySQL cloud databases:

+ + + + + + + + + + + + + + +
+
+ + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/architecture.png b/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..9be4f4920593baae52c111297a5f6e515e895041 GIT binary patch literal 413992 zcmeFYWn3K1(l?9-3&CB21ZQz~cXxMNoZ#*WPH=a3Tin8;L4yYm5IjI|hj%&W+{d0T z?{z<4pZU$~^!Bt(b#-;sziJ{?l%!FS36Y_opipIHB-EgwkfflX;H(heKyvPao<2Z9 zAy)&%#Z_d*#mQ7YI#~hjEuo-fB2&^3G}M=HKTUNXkQY#eQBYk{cf)_d6hq0sq^BoG zLYIpO4l>hzBkjys9$_L`LeE1l`347L5KLxL2g`;?yKU0J2*e^2H84Z7_N8`f}&ox$EAnMOav^yEy3PkJbU&!Tlsvm{pw*&R{DlI%v zVFzSo%{I_2G$bZ}i^_HMCWoIz!&vKn&6>>H{SfJN%jn9k!`d{y?R77|SIUH(z5^G` zt*=LuM8Y-p__pr5E^gUpnMFDDru3$9jHwz1S){a~q+5I7Q+9Fvi0&k&1Y_n-OtQ*L zJ8>!pQ)-yZ!ybyi!0y6T>WLs=oB08!zQmP13G7$myElF{g~zsMYb7D;yL~3uz55Yd za#yH;cA!@{M+OuUo|h(^8bMB(oRBaYX>S*uVOQ9_g`Z$E33mGu)rS9F6zcpJk_dI6 z{nW&i>bx!0ei%<^WSLRfizP{cH42!$5wb5r!(19=FwBz_77cbP$M1Ef0 zB{sYZ;dfs%Y@i}Mcg;TKL4TQr|G6w$E0N8KmDMAUF9P>52w5YT`rOF`Zaj#y9%1q; zi5IjmIwDwvLkGEy45^qr$2xT01a<@#-UQ(XtlU>}XKam-q@Nr%aDbnfZOD!xj?Q=j zZ~RTryI{Y>b;?CF-qJ%;N!3X16h*06mg{M-SHijz z&3`78^p`T9#^xY#_~aq=P}o0haQX34?^4SRsRMH@$WeMj>ZWM;`v$8;4Brs;c9^Mo zAxmVsy#i?|qIz7#utDGI;9D~xlLj5a1@xn!t3fIAq=u?`{RV`3_a9pJXdY1fas8Vb zE~Pwp24r!eV*@*z*PBW|nYMgfLfe$R2)c0B2~T6=`%un^&LnSbAL0F&0}zEpztHSs zWg`Z|k(yGO@^9i7WH?8&$fT3eqoYPL4X~K8xxhB0>&SPB`HA__P*N6AZqs5hQhw28 zR%djT+s#zy9k))T_!c%mF_`$F*r6C%jp2a&fFwhKi>x!rd?e$S!!P=C%X9W~8r`Vs zc1HbFnogw_jTX@s?dxV@Q6=Lzx>gM)=~|hSm{mZ#s&`0Nuz-9nWv^C`#&h+!L|7En4 zS{$X|6q#fttSrImJ({)RqK zBcp7q7OeeEyF$Ia>Rd9V_OK+gutU9B^{RqUZ$bi~1JFOtU&d*k_MY>eylA^P-^2d8$J;H!L^Lqn3lX1KHq9cFy5Pp5aM>j1KC@v(C-n`mZg?lBi{Icw3ip0&6bT9`|9 z^8J1tOfu+Lux8cC)#-Ho?%M1@?*Rir@H5Znr*}658dB)y4BMHML(}~(Ip)#Z)-=9l z3T3lOfqYrKWjxyaXv{1IUyYsZ`+}n5P=?p;{jc3s1Mzx}lC zK=)>TPyU|w>(+Ml?Z4@-)AK?%2zxyO69dZwBVR6{lAv5fF2uYFHo%4`d5km09}MR3 z5n+~sJ7MzP5WE4P-BaNc5n~$=K2i+OTe!2Tj>3CM5ioVB61O#pUOCviGiRx(VrY(VBbv{-nIvx?(L-9zF!0|%KQjDb%( zvwF4hBkeH%-Yxwl{YhoZ{Bjj{^@(x6fvW`o#1-JM!nfw$e)MMXp}KBWWc5qq=3;Cr z5ej$D26lS|uQsKp|H)T0A>p}S-*zJ}PMkc}{r06V<3rwew*0VPYTfY_Vt$bdwiH$E zTdY~F;SOlLuedGy=76-)(X!$s+y>hz-nPB2)S8nLjvUS#4%>-)V*5jJBd7P_Dc91s z7HGeSRa#IXB8v(&yuw|PzM=#9CT9ql=?IC89mdY8Tf7j<8%*6OYduMJUK zi5)rJ`8~LA828)1A1(MEwCo*MdH(QpTsL%U-7~uFMz}FQy%GE=h#!!C|7W78S{f^U zQMgawTOj=lXg}k=sc|DFuCu;)k8Bw9q<le3|CRavV`#-U_6Ten!PBk_(yITD>xJWsk ze~T}Fj*P#{(-77Su<|>(#k{k$p?F|8u{-15cAD6D>J`pV$jZic8OR3G1&I+W$w2*d zfQPb>;8*Fuc&hi3QdTD7xIkr5{3(1EvzyE13uT*NDu>&k2h9`S*5?Cdk+4T6i@p2K zgovnO%60>oBV?)bD|)AX4_k1x*+TI4^MuW9@8#1JhJt1@{0s35ylBCjD*Y1!D~S3U zWvL@;rKku+4@o0J!9f#3!9!BekV^=f=$~mRXj&-PzvaU~L45{7!TqC*66F4Re1TlA zb^d;bP5cCf0QrXrxxDgW{--pOR6gwgq~Tush7wg5mz9Ow)y+RzS~|MgIJqTZ(q%$2 zkep?7U7?_Gsa`K=S+x&;AnpGEYUsG>C@S!oJ2^0!S~!_mGI=>TzqSJ<;Kc_?I#{}y zl6g7UJG%0D2~zy61Ro^*n$1i>_O~K#c7hZ-iYjE{P9H7FxR_X&SSW;$$;ikAK3Z7u zsYyuvqdMfDAcc*an=>CXv!|yglP5cq(?@G&R$g9SW)?PPHZ}mH1i;nX(aqEg;OI*E z_eTDw9SKWU^N&DhH=vUv*=xI|W=`&If)o_59sTq8`#3GVfdA^r(e)p%1$jZ{*C))Z zOf1a*Y#UNl;5C;|1?XjIuPXs`fY1!mhY%|(8<)V}D*PXh{?+BbRn_@dRW^2Rj(@NE zZ;$@Fs-~;uM{y?yNT+T>|C+FWRQ~se|EMUy{QBS1MPcN-t?a#t|ytTBgVSXm7bU7$L4Js9ouxXIG?DnR?|{Ei66 z3#kd;E+2&j^Vf$AS)%@bT`-9Jza{$rizELpm#FANSR>wVvB2IJX`e)GrF*q7MAH&r z1l<2I&CWu>%|!94@y{2H~+gbNakWYNapiQGT1CWqH6v9#>XfQNWtA&Xv2(r=i=`;WbeQt@&Pco4DywI!a zADJTH|FbP;W(XU%FJ2*o7M|~~m<@aHA|{QyEtSIk~x365@U-|kx z?ZS3%vc}bI^vu4WrXYAW8;SsL6UowAwRyT~V4YqN(G=%ln|pSg9t2HgA@EZ=$9=>5H6n}6pAN@7K_DCNU~1HeZ?#YmB59eGl>NZm10aGWw(|?pw}QP;y_LK z2hGt}5q~kP&$1jG?t7!0`OVQ{yxqFDQKeA3+*hTgM45H9P#)a6{FQF=5xYJq?uNKM zrmNJRgF(=(T!q7<9HH4pZIsc-L0Z{#?zmIA!nQl%^3OCw6Fs}Nj2Kbs&9E2(JN*xc zl7kMnsylFY+WT^jKLONhJ>Ve`@JY$N05b!~-@cq!jb)FsNX@p1BK4ovrEY&gfCHgB z@A)2LqZHsWuSiQP8g6irB=l%t+RuOPNFKR6DYIFvi6#uY zKIaO|GJQH{_-ZDu^R~*c2Fm?NCk4PJ*&^eBHXA3iNdhbS~976)?ikXE^+ujrJG1H zg)4*4ATC`tftU(n%WYB^;XIw3yDcu8PM5QlKdnAdusMyBN`|d?aYp|qBt@E=_#*6Y zTe7nN$}4Os%?kFAYmy#&-Ehqqma@vVi+PG~djw`fv+LFZ|+|=meA~XZ<)S zB#&t%%Gn6!zsW9&6SQ8kAQ?S1VIUIw$?l@yN^eY^mXaMuwb5~r%y*M5`*~^p^Ll|u zE{FqYz#x}IA6zRbj$gu{G!Y)zli1|UJ@|<6!{UD8Vz!}BD*+wz@1qI93JyY-$~edF z?dPP&%NO-O!Z%1yFE!;iL3&Hr66WXS5~GGMT#eLht0hIZ#Aw89n(X|UMA#jxsZr6> z>`zF{gSJ(Mlqu2c%dJkD&6&6OthJ?Z=a|VK`+Sl>GMlmAc&9<;#3vXnsoVD@h##pa z?BSb-VcE273wDVoy4YF3nw`p?M+%A2ZI$PW3h969(n0PJX`pM3&G<1Q7(aeNNXgrU z1D>N)f0&VQ^B!k}QNBHp0_|eI@_i7|L9u<0;W_?s!Z;{pI-zXI2sG z5>sle`z59k=eMmMsP`Dp6Ibo_kLlweB@CPh*)66s4aRU!C|-rPuW^~K-CF_*xY+mW zbJU*YeXV;x$5Rm7#soQCPu?9)iJd|OEJIEd)7jDz0Hkx96}%=v`Cr1a4Gp5SuI}ma z)|AAP_7&Bi??reMTdjaSr>POoS9Oo&^;6W&HAy)&Y{cf>`M)$`6!(}wnWF~wE`d@of#>qn3 zzCPDmIfpLb%(dqlO3e$nMTvMVp%2wadT&UL%fg%HXy^g)eL{aDTF?;|BBN(v7kPI0l01u{CQu%BWQ}l4UmO+$(RBIaG<|5_xc`WU;f%>Lv4syGt7Gm>~Y z7Y2xCi-+7!(-~#&V?V{qT;5MeQG?{F%+ymo0 z=X<6YA`X*S5Qf+7KGhE0Oz897`Gj!}*zo!w)F{&s?T9J{6ZK%-lW9V)ZOk}JVxa!{ z>g|brab(0>beL_wg_(Mns$%ymbNOlij>Y6sa!j~v*{>uL#EXuPl2i<+g=l#_<%Q@l z-wl@3RF~(FXcZ5`9y7iaN<@k*ItdgqERqsFUlX@U1P0zpHxoDfv3uy~OJ?w;pZAl2 zgC>C1?k%&&kStNaU1Z74Ngfu!x=6Q99B|nu(ogRgGtV7zacFQjUdPTZl#G<=-40AjIn0F~j?ipQRoQkR;&?P;6e-VJ%cEW3;1deFm5RTPry1_sgI{RALuBum3*6ho8k&)`*ase`x9R8T?rtodYq&_H1 z>U{Kk(P`drS(7#;GbDSfYr%SW%+63a9wc-hoUvktb@;B_7`Ih?}I0 zlPG?AkO2+*f&k0MvsUWKcb@BH`3lK2+3*K3U%4uZ({lZBaVgt!E3I^q0Fm7&Q8t?> zK2CNm*CfvCt3}L(sbWdD{ja&B2lbtetZfVJ&w)D$ntq|N9PgT<=&z6U19-rfl%k}e?tQ?=i?8>hJV+k~! z*GmVO4errm9>2lWKMPG-Fad+JAx%Kg}RR`PhJh`DH>EWdFYTlvTY! z&J_1YlarzCu4)v8RQ=jkd_4Fzv0L)jg|W$Fw$y2FM7ytfzfR$nx}@I#Qe}2mv66|$Y9w(2oax}5*=1v zSNDP?6Vpn~r&(IGaQWPmN+m3&Vi{5h4-OE}!5NQo%obGn-GSL!!?5tra{ z;+KRdnk6fbx%s#Q{NU-eB0BT?54KBRcHv-*d;H3XT1lsq%A9C*XLyqNEMc++rG1c# zV#;V4NjBQ9e*CFU&BYTpftit^b`~a&K{j|UH&ptXB1v30NI6_nJS}weD|SzZ+~oYq z)}cvq`!4!MC9e;qB=sdGWg=@i!S;_B8ytFlcu>{4`c{Ty#M{$)ci$2fGG#qN&SF-} zsZ24tXtT$uyk41@95i!0e`fC(S-M|SIYTCZ_X|oXh~%XIvFHp!ArxA$i5n`03t>jG_wUv44kQyB~ zn@HiwjWE6ZMy)e?Q3UWS6bK?P)8QuMNUA=x#MG~x3KbHVpo*xkI67afBm?(W+0@JEyO`q?7XJybdd`YIw&R75(S+9%yZik1q zhU~&y1EHpr5JG>#TSHY^(v&2I$-(y>$!=x$zkk$}V>9mE3{7ESY<*t3>MO}oeWC$PI?iEmxDh+C>jC8i6dG{%cKMXNcgw4C5b zc)i8XzMS=Es#IB7V$aTFLguolC=ensy7xz~dLMBZ!`$MRU_x%2-daXm7o|k|=u06S z`9l`N)z0v@P$)z=aTsXw7&bGUg`&gObd%MT09$|QFQhReBCptBegWE_CVw@xKM$D(qCE707G9mpj6SWhg`QQGN7cEk3YKK$ohR zp5{J&1y+jv0)YiWMVYhxy++@|DzY9+J|hz(*5+K7c)1ik$fML^KrHS>hWLv&5WKe* z4n_^13cvM0ASJa{s5qk2Kl&rbXj6k3AErUl>mv3x%$}x)KpCPqmV9zwA$-2o1$kH5 zMMt5;T(fOH$#0%wcEC(Pg7xG^!4}RNdZxsz&Dqq$d3t;Kgb|`~q_!9a3XUo1>~?=e9mxC_kb`LO3Jfs4h*Sv%R8mKkb_yQi z7JW0SadTQ3ZT?&#IZPL|W5g$vkVvhCcPN5i5;0{Ql9^JAExSE)S0wZt=fbfyy{(=qm>R=3OW&w02inwQf!C z01>+9qyPjSFpxTgimC2!_|04-@7$t<1 zU_89CH?Mm?CJZzn22-(~tHFI|z(OvYHnq4p;-ls(9(R~B-D`+0bufiZ#i#TY2f~om zxXc^M#~o8&a!q#M%I=TUvd(b$Qe?GcNZ4_aB#|EeKEnoV>=W1>Imt1DR$Bytt;SyRbT#~ zzzgP~H71{UNsYFYKk*Brx%{iC35vkzGOMAiGf+o)U5~8F@(JzDg-77crz7<;kHhK- z`PrVu@^Eg4A0BExB1>CKHairS>Wf36yN%6xO!imOxD?WFmGR;q_7BCT8gsdwgjE(E z4U4x36FfUSiCX+L2hLgM{XMayklsMHRrcz7ls+>SPb3IzQDAlKUov6HR>h!6pEvx4 z%V9z5P|zZQVBwypvZJ=SJm>Q? z6cMbxw;KJDEEbM@@G)(FsAl++2g*%8ghxu8HhR=!_7muQF3XcM0R_KCGAUG6o(`{k ztw!x%d>n1|5L(tT`L#HrCJf+LKowZ$d+(WsuY_*Gv&OaB4so=83I#lZkK^Rde#}?s z5MK9GhLZk7cvcNk-u_iLC5QrgR5f1W#snI<#qTJUu0>cRyG- z1D>QoGS~n;3%Se>TpLYvuvZ=YSxzR1MINX8%JW3@$`lSd3u#d}lZ8hWD0ttu)_cax zp7}lV2v>hgnWcUEbSnJJBs;XAIa?xIY?q^lf_2kUZ{l-2Wc*2pHuqbP-<_0dk<_o# zeA>q~+>AymS;zUA+J*b<1ZG;qB7^q$k=iAMXOb?r9ihm*SnJ1?Kj-tlnErfHm$aWY z!UWpY_;+rI!L%>hu>QlsSiWWwc|FbtxtqGumj{q}C(P|1V6XH-7|9UCk=#C&)OD7` z_-wNm(ZB#4A8>D^PFjy%9P+6v*xc5ZKcY8eWT-J(mCoFaN@y#)Y^N7J&ONu;5kG3l z{sN}!H;=F4h!K=SYr*7wMH*P0dpNX<5jXb_9K16xp->Y}zP}81UO<4+{W|Hox7(b7 zf6te96Nxg7;n-KK$zjBil1Mw3UBEai9dXC5oc@FgPcDhhRhBBy*q z)VKb~(C5pj(l%G0%-ymOGUmjvb3u#-WU$Rnh6&H(c}9RLN1*l8MhUQ~btaX>dVgEk zxH>h9L0^u3*dSbU_!5YvKT*dSir&YhL;aEq!B|>_p?~jGq1jB_7lADI2s$PUX`9ib z5X{D~r{qwV1f4Syd1)2WRcx1@W|$1UMWVgn|BSjzV~4K}jhl*nHgnOCv;De3;BJR| z{Sd%f%D=6SNZoS6GqLDIL?Z03eip#JK*D5?Pp`%To5GwEO`kmR4J&dwR`y-s!WF)} zvTiapO5+jDm^GkQy4Tz7a1{XL%9{qz@}s@uCk%sfynZwUxt{WNc<)urZ;5?ImeggZ zvMlATKoahZg8r3{4FiEqclBiIbGBE4Z8aInQFgKXHg0bn^Zh?F%?dMesi8#P-n1Kh z`|Wr7t8`29630q+fq`0t%br(B{?_w!;6OjKCu_U$w!vf_G}jj3f*WT^Egk;bc8Wey z$GO9z_S)K5FkE$O&1~hQDRt!S1FX+NshYrDg*D>15XCwk1aqJh%%QS3>G~6R8N`K22cY~;)f07;U2#HT%r4F^hP&J5ea^IRqJ)>|I3ZS!z@hqw6aDFUUr%k`5fF4&t{ z%VWK9e!;V>c#$iZgw=Li&t?z$7Hi%dsKwr&d1e}!Qldx^Habh-{wA3ElCu4qXH`88 z>)q&0@^YK$aV0$P8oPZ(PP&3r$Rl=ik+@Q4{P<$l4TA!~>P1_CHz`c{#jnJY0quJ= ze5XuI;N#fKoEV4}qXIqNQ==+7uks>~GJ1I~R~OdRPtoJqcFIHCd-`L7F#8>e$7!Ey zX1_pME#C-Aj_~bZmZQC);K+#!C3#%-@V1><%&`!2ts071b&<)s+b5TNLQRzYnX>sq zal(Ir$#B>Zq!cC!gfdS_3TndLFZ@wRAmmVCR0EDWi2HC!(xu{3->Orfpru{ID~?a4 z)iSsFO^}K_j%UN{v5-QGC>)h&+4+78f3sE|7}RDIE5>1-*vP=6kN=LKA(>iX?Sr6% z!Vd#pUR^$n#8;g3@iO+3#~M*M2FGD3Ad0Xx*JhRT0UHYx?=+dxvY4*g=A)2Xf%9}r zhv#W;%%843Qp|4Uxm>nvA}!IP;d*+`n8hg777EcG3-#P{=`9c6g_fDQ>y>up6vMKy zZCXxzDgy5Hpgd1%>ri#Nn|9QKGe38kDS;Gm)u^N8_u@tnYAo;Ox6G&=%4w6mUc54T z#l!LQv!X_3H=qeAi7{BBHfS4=U8m2VE}yrpV>vUeqx;3e`}_}8Lir@UOA5EEFjK-x zQ*Q?Ob2*4P>>~?-{uf&J8w_9=x(%e795eV|2q?Q;j)Fk+xojRvyv$ptgqQS6Modz^ zdT1(n%;CVoSXSGrT}8=du@N4NfscA!he5HNk7j>VKTPCqo2pmSy3 zA0PBpm8D4bU1Kv2#If%=(l9%&xIWi5aThCL#QQXnwR>C%9|OSk^bil(V&j((fK85Y z<&&AHOT5b_@Za$pqI)|# zt}`Z3e2s{TI0B#hv^?%_$|Y;E(&pV_GO5fI;b|>80(_$SMvKH6S0su~_gyQLng)li z*Q{Q_GJ7T!L`lJidCnMfq=fP+HYbWVYeM%n=QnT00=tLNH!i(`+nlw0J=EK!*Y@0LgT9=)12iFC z9w$S&Sk-{ldTD&BA@$OU<)M)BwWwSS3kU9@Ncbi}KFxyb8v4eaYnCA!zmR{1+yv=k zLQr@BbC!85?n1&=iEW`ygn~$ZI&ToxC9c%d<6X3Xo;SlgrO4T_i3KvQTH<}>57RYM z#F^bTt;s<;NR*FDMBy4U3WSudcn3<{j=~AMC#$6}s6;j>nQ!JJi5F zr8t9cutWf_AaUG*v5Ro?kJBlPy_7Cyg>n&NF{w$6V|rX=S$!cvmR&PF{D?(tI|uoE z?Tyy6ETcJ;DKm6$e7Z858(+}|;}Z@m2MyOw?)fTC{Y*OB)QtoZZIU(@PSfPm%LxvX zTebT^rnpN)-5;?(!c-?n2-C5TRWPNHrhk9Jc|ujh(emTF$=&`w&_YY=F7O4?{&2W({984VKV|O6}<@Df5jajMiNWs zhqwd-9aX~ZLMqr>As`Y1b`9gQT3xygA(%no<=)SPvAOb+_(FXB1D+DE>ETbP zHeVTuvHCizSmX>Y4(wgVk_HhL-sGm>>kXk)g>6f7%uiG%Sl&Umzt;hmgDoFs?&NPu z%9iW&Q4eRkOF1U=ikj&ZZY|F?-L67LzA$lB4vJkhMi%m*rgTiJ@q2VIX?f0Cb zd2)ZASp5-uOSoZG$Dos>GqzN_+I!V30d}D=WQ>;j($>T^X@0`Y26$8E0HsE&W{6jh z7kEi>DWKKmiALHGMm_c8@DIO8f!_ge=`q*7`xiz^wZKSM;mav}>0r4lVe>kjd5whx%s^aRtO==!5Id*vJ_w##u;z~@I zwdjS^fN9Cw4#yXeYjknu)jSg=8f^Mvn39tKQUB(r3+jAjXv4bf(Bnzna)z~z2L(O3 z$F}K%{S($V#y@A?2IE(hvB)XJG@o#2x`Ze2Ok4snr?1^ZOJFsIy)ld2=KG>Jv;g}+ z=Z&ItQE@Q9eR+61Fx!9!i6LX#;n&zI#Gw_e_vhA=Xz>Vc|( z)VSZMa^Ui=E=;$@p@I(s{0=_~!#OX`^p5aOuHycj){|;wgdHt*Fh==&+k)y2t#@vA zGg9uXL92l1@J@5>7oO#K`j^w}3g*!U;KX#q!VOLvuG|)W6V?%xFN1+Twcxy|6RnOj zxVA(b$>>Ul<>TcROz(H)PP43~8EdNeRMf_UP7h)p+B-4dbF_uftUO0gh+*XMQv}rI zeV(q1u-86#Gy_&~mkGoEluLz9yQKjz4hbrg$NH0aNJub08MV2^(>FaBQyn$Mfw-YN znXnd+6Pr?K^u=B|RqvHk^?O0gNShKneEqT$^9_JSgJ1LK0TAbEVC6pl@_k(3$6eMf zl3M>of+(%caaX&Qu~c4yD|1$dW9sb^1h`Tbxn(jM$x6VlmA=#VyF35I6qpmbRrQu@ z>E>|9!fJAR(GLCL$`)KA+B?IV7kx4GQx(`xOw=2?`hX5;rL5b#qoJgS*9IrObDyP}b)mb|LGc$ctn?6&kRAQf%3@;HLRKjxClEq+_?h|q4iF}ST zZo;YBeI#Eh`82h^>!Da3Etedo`U>7SlF+M1zf&hR+H~}0yITS;wKR(pHwt`s6TNb7 zkwjVr3s|vU#Y%4VJ#wn?7o#qMG&VHy}NrwyK{I9xN!U1)An1(^|@7MTH;z> zpDS>#Mu)_^i8}y0pX;9`Q0=GYsP7haT3R*X>7?eX9@3^7D@?OCNGJq31Q1uARekC1 zIA6A|2Lxoutv}jxvoBGn`?1Y+hOZw{x#%X)y}5yJ9hNBB_&o}~`?rsFhu58uW;JKb zdPB5=HT+q2hr=;hmO;}SZqsCjYmDY^?53I~li(bPMMJXIIk7z0U18B+AGITfZyEQ- ze~%l@&VSES=`OXImEcZw!F=#yedGPFjfOr+{1OXq0khls-&_Ho)=-G5XIljkPAWFW zot2-gOdXCO5ojO6t~Qn|yBH%_gESd`(rOyq-6(n(hzz%zy>MIpImoMRJHgG0my!WTsMh0E*hQb zEhN|?H0t639p+yuc^lDd@WOG_!QA=<-l^*5$0rSWJH1{WMdC#@PGu3AL#miY>bKEE z4`?kgTflj};Sm=GAZUt@?v3E;L5kVMDb3_+Vye?b%}A@0Fs(yeOH|dVWC3_$?wtoK zE}a<HGL`44TBuHaju(2+F-##2!1_=qcF3fe|e_ns#8gn6|2HBRmA(yt%18x z2n42}oZC|Zae9AWRvbQHRj$@Yky77TIM*#@fJnswu=aCpN=9OQUoFc=3q?@~@Us1k zmlk%U)qr_8P(qZY%2vJV6Oy3KA@`ZKNsH6XuhV1UvkZFFCgrqyjY%{r&boF9Eml^ z6*2r`)vDQgDnM>J=z7{G?-u_M)Lj2D0PQu3tl6F^gA^ZJe%v`pt9On5r8X}YyrIm> zalz-a#iv=pucnDjAE3=q_e9{k&PVA^TrF|C{A z?;p;~^~cGg(x~5veK?_W-ES)!_tsgdn)PCISaDTi)t?)|u(>HU{p86vs1Tg~v+`*J zTUM||$UzaCs@g5>=jj2aWD{ZT()K{4lGAOsfk2Z{`!!w;pYPZqzlH$m_EP^MJ!`MD zKFZ&=sMh7C9LC;e9ssy}xl3j_Q`5eWA3?Y*@+RN@ksx^ZBa?Ca)HVVd>Zw>-T?Hfp zA_^lMFFSS*{-bIQC&9tLK*67CuipNOF^u}yv%jO5Dm5U9&2bJ(F`_JLN(~e@7F9IU zx!cGioBbatQGm$F&?d7IxqHw8JkNr`8t<0U>EM`WGM_&G;I~C~1R9mY^Xu?*%D{|X;?@G{QREcZjST*Sk=xf|#7J#Yv+rlTIz^9Wsy7s0r4h7_U z`P;xS=Z!C{%F;fUznXg)!8PUe$hh;wy_P<7r)+V(bBTY_0Q-rm+Tucq4ktA{l`nt~PtLS%6?Vq#_HP$cJ|M z734XP3!P-acQm7UKJR-g!hWlXm%DRCtr&8p2%~Gq1e6W^HLJK6B&<;%=O4KD8f=G%>eCDfKM1W#nt({4MMjN#9g1 z4nVZygqQ{m%V~8ReghO$?OK4wiL+yo=1Lrmsu|-4(){xU@^rC#%{Xc{BrruBC1o-GLBsX4d98r==JD?LKrxTBY=@EFi0(?UeT;fw$sP zc{)?i%|jy!t=$6ZfP{K4ISPZqXhk>5mg~} zsc4>1U<%%7!`6dw+kl-;9qnKQsbr>d7i`2{X@;w(PEH#)E;@0TY7M`lCJ6hZ*D&oU z*i23vv90WvHuOz$b~NKPax^z`>R}N*E*^Mm8UkOacAGU)zyKyw9(pmNng_KC#6A_r z)r_hu2jE6x@^+oE1m~onCks$ixb7u;a@=gL9!^YGojSuG(Gn&~wyh6bYTqo)zg|K}cp4?e4QP za|McnBF0ER%ONUfrG!f@k@ma%RbI6W3Y9e`tsdc=O<6Tv=YgDcn3lPj1cU}l(KaT& zHveSCZ;VP^ez=VDS+(n47PwCBlmiH0GnrGzd2cFBim_i%E80!pKfoF6#ofZ`=*Qq7 z&92sMjIPyZuW}n*jIw*8OGUaGwI1N35;Y|PRs^^s&dmlRQK#EvW93_xYXZhKf1ly$KxQ>3dg-s<`?jf#dWozUjCWDUQg~B(q$aNAM z`jcAP=f4yjmOsopnC^B<_qJEoHV%Z{p2YUse+(?v#Mi8oBF`MzBCENHsu$8ofoHL0 zSc^X)beJvfgqr(@BQPPQ9+B5d2W#RO8y@M%3{_u2#a+JHLQA`HVE1S98;E+v%EDuA zre6tx%NEQ~ag+2wH_h~K*Z?YROxR-1H7D%hRs6=dt*H17b0GXChs{*4u}o1bmj#b7 zd`jc9+}EgbpqB5dSd?tP?uCciR4@wm;DQUe#b(?MzuWYF(XM+PG=hY;kTrfR30>kLKT94mEOF?7tc z?V=rm%a80cuBT@F_g8M-52;^2jE|jaLgEFlR?vQv9M1L4j342g^cI_+L0XKk8} zaUKQq;_zlD{uSpN)Cu`Uan!IjIcd2)0U*U`%c<&8I1XBl_-#}swc|GzL8EbT24`jh zCmp703&wU~GCOy_Dm2naUeo%4IX9pc*EXxp?$2)~;(s_&#Selr4X3d{*=(F`; z<<)7lu{!^0XHe_LG?65wg|d)tO48YXZo{scsow^>)ao9_F_Dp=d*P|Yao1%z5B2)N zL+RoCeO{GL44WVZtM|>$5qGPzlWG?jif_UZn=w=eiHgx>@RzJ;GufN?3+yCiIL*xz zy=W^>O@0IQOn%hW^xQ8^VXELmISh}zN{ifw_;L&&1B#q|1K8BQHT@B*syMAq&_3q; zhPPbX;jm9D7zAN?NGRgy^ay#ZhW6UG!fDx!tOGT>n%gDbS8b_e2J|WAJSx++U)@f* zGu_Ipwsrk~OnqfkREztyjev-Xw1A-W&?PaTBHhi*(A`Kk zh=6o=3q!X93^9b#Fobl2bPh;MzX$KV|KIy%zTjFeai8Zrdp~>cq0WfJNyJDHPiW_W zf=tV?G)$*2Jf8q>wROR>qjWzBR+aXtp53EDl{PrV78nDKb6Gr;E7I|aTdXWvKYs@y zq4ht{Eq;_8Yif(OaYzBzfk(@(^0`^Q{?*imiU+XKGVxoFYAi?xHFW{oMFDoC+nAAM z-EqS;DcWv%c=Wva4IdBMVX;v+Y}`mTv(4mD%OXnidvVnh2APhW3t1s(wbsppvu{P5 zIy+cuf=-9tmy!NBq9v2JCib(1%q=HqA?|TvN9bB7FiaR(1u9KBlB#Gv{7*c7d+R2Z z`{^ypo(DQp3PI|Ya2BZY^2M{IqV@V-eF%Dz07*mGma|K1{xF|%Ml5~^uJ~RN)Ym*^ zu+ifBxuq}aquWWW+;q=pFp;VMXsi(_Y-rqe{*sWfO-4gOPMs&+(k;q$qfF6|Bo(C2 zt7hva+q)iJcqbIjlz?tG_y*#I5Pbv5Y&Eg_&Kv&nG z_^RP1%yc_+VKEsMxZ*f`N^T)XaY)%(VhFEphKbwT1%%heMecdR;A<_***AitWxj61 zEi>l7I;v*-pNY$5AcN2FHIP+?q3b`Z8au2xCUx>Q_1dLwf2&ujl^U^_>`q}X5`)KZ z`_2wcl8?0UR8J@my|^kHeAf2$V}}sM^MDF593#C2^er6Hp{x1rbdP@JzK*5msazI{ zcbz5Fl{jX(f26SYC=m-;?9_!}o~&L6oNIZ^c8AQ58-V&%aReuZp+oHFx5S7>RKo%TA*VS1FEJ{HKz6&(CBv>PQo} zlf_4YJ|c0O&g!0Tao{ChSQCr#s*k4D*al?=LlQrV)H$2$qQ3E1?TC@rWF}CSA9+CK zzK^7o!XgZr6OZpLWT*v&$7g83+~V@~UX>%fPn0(^9V+Vzjrt!DJ*C zWq^r zkH>Prnd2&`H}q4W%6^XBW&c11p5<;Xiq~}tylNLMb`;QasG_Cnv-<0vbUJ4fxUYlb ze}w4CuN#-d$K^7}LJFQlq3B8S;YOwNLfD?{Vq1u~TF+Wu(RN6wUelw;adzFi5yqk<8hPI(J z$}(BG!|js7Yxil})nlngjr_fY{9F{J@K_~BwLUWk6tJ8^874FGo7ZSkgdB)qV^?^_4!SHMjC9K z2ya?~DjVuB7SR@9!((2DNp((^nk-8$R6nQfd*$tyicAH`5xifn3~bCbPl&b{ll1S} z{WE7*|41`9e!Wv+9#Jw^!RD&8lU9SwKG-Q;OocKvg0WsVB;74ccTD?i{ z_S??4B}19Xp!rcWJ+@BSEj5^6A)l%^^eHvr@WNg7EBUPFsyBJoW z>fo?hKp3eHPaLl8CI_XOOtAfR0F?;U84EEK;KFCJA~jQmhFit*EAm_q`c;;U`Oec? z=dY{(xO`8zVH)d#*GCV*XAvL8Qh6l=3sd=&WNeY^Q<*F%0Wz|K+Rn35`S$-+u=m&8vL}=i1snpJ!tc{4=z3x5uVA&fi%^nKDvri6=I;!`)Z- zFiGN=f-7PFX(nGnd?PbP+GpQJ#VnhQsc5M5iu}LfM>C3Fcdmx(jW#x^<_pjpz zUdA9sAC-&QnV={jX*GJM!j*59)P9Y(9Av1<(B(BN!badI;y%M=-`#L`Bhg z2qGf@jn=Luda&6lP84!49*%}jOxqy|J|7qx%`zh%D_1nv>vJI zOEoMXk`fit=i z?&***lx4DKK_qwhqGSr~*QYiq7p$BlQc9p!4y1-A*>vPcjEhmC&F@)w_X&3k&EAO{ zRkvryiVb?BtWmOX+TzD&m{c3H%k(Ge{mQ16%$LFhE0c@zy;a_m$3KhDS zbc8vApS49&3yy&Lwf&VOB6Q*QJYQ0(XKM{Z#b}l|5;DcmC-6$*9f&yjabn+wIN?M~ zk>GuRN%=?hCYC~Ef6tmZaeOH)qwv5>QW##tL}gP>m9sjT>x!kA$mBpND(R~81$ahg z39$K|V?}Dmt8c8^2B+|dEO4%Nv2G1;ywfJhb-vWfjVzGMSm}=L`IRyJv^X;Rps>!e zX07qf8=xS<4|#n_`COf=tU^o!+(GQm6Qiv5KxPX&q=iABLZvpb z*=slXFwMiU;Jx3O1$j*r(N~ApJB8Pu7BhzG4DIY%$cB@!EzQCP1jH;qj9Cz>pW&{` z$*3`}!g~n!6@{Gji%mZUUS%!~l!eUGyR%#d*Xem}_cnL(wTFxViQ-Z)__#0mKCRM5JsGzO!bK|C^OQ7(~;Y`?=T(ZY(f8TDB= zsP8v;Bk>vNP%Jm0-fX#R9g&3ML%u87fqvTwvK!y7WP~{TiUw(>J0dEB^>G zX3+3?=h;o4q26xHGU*DXDRbNe4n_k~98q=$iDs1K>pbe7Jke8=pp=p|z zV6=r)lJWS?x>f7d=!|_vJ%m$U9DU|o+X8_p^f%V_!s}ARsu1r#obJw@`j`;75zvPi zkA_5*^nMRh0qnYiAH;NSWzl+GU&T@idA@UTi#hJUzV1gnJY2E7HZVc&@2|;=S|%Kh zS_SWpm;2xmNoG{iGNE6BZV5H;N+h~GtzL_8?n4i)XHh1Mregke>l+c7&TLFq3mjpT z(6yEaYvbkfQnkbh_w~(Ly{6g_uPbZ6g2L<*g|m6xR?Vn5bgXz1BN_$Na&I?okyKio zJ=z5Jr1bgOw~ou;%WCjI+M?yQN!vRODJg%#h=8Xyy~Ccu-2RyJK0|B)A?r2{=nfi4c

%Pp9y5sES?@g<-SJ2mn>i@rW1buU9H)fOj#Vad2bXLLRTNirrQxM6yEcqk> zHpR_s_>rH8>q~tow&jr-p}00`FY$+NovfBo3EX%|d6}mu*=~G6fhY7SvUXU|b(vGm z=v^Yn%qf6caEw#_(N`9&`bawYX`@6B@bJFB`SH}Ya~3&F@ur2qJVtIBu!H+EPnec% zaU>vjgy~l*tovR%W0G}J@}3v2_Lmqh#aws|YHcVM@9l7ZG<4_ee|C@{k zea)>H#<92o|zskwlfT@<{%zanj2 zu?knuO9{G(Jyn?=u-hk~EUKMJhd(0#E#oX`YB^b_rGV4{sWR{mH!N{>dpP4{=__m4 z`}xyZvBPyiM$Q`bs)#y$h%S@5X6DJKU$4V9(L2BLD`2j)C8<$F=KsNh^Z9vc9P@KmT1z1HxM7~g`lxpKtK$c6^svF)-bA2!@b zp11d`G@9z^DTM82gGRR1Tqf@)c!GK+*wFn%bRW- z8oODR6?AO%M*?I{3KS>3^VI%W<0jhqXlGiU?E2}xBO-So+RiS!TrOVQtoZ7XV2c&{ z>SFhSKRc7nJJ8j>iEK_3K((M?NH{Mh#CY~-6YZF7UW^~0?%(qp<+ngz<_ zj-zOUk&$FrLFAgj24l@WgY}=r7`mw^bvHC)(zWC;2q)M6C*l;G3)r;x1k>JVJKXel zaP({sD}_3l1YG(^)GG9AR|SHAT_IF{e4r~pCl9MOlwG>2&Z?T)QC0u_>qjs{San6> zPPVLy`c4%^QVWB}2c^%}Cru7!M6ibV`>+y^o`{+-nK)$fp$=hLUcj^p58oozW8FMy zr{z$p4`5mx(>y}Z*mI(cJFo5;>&KxEqdz4HsSq6S7HRwExz>CuJiqS*^xyRF?));F zS2~ZtCgyzvZsZxzXU^ytn_><-OC`Q9>~-9s877)(@FPiQOgNql;d<(AG4Az6nG9`J&6hp313 z!t?saBCb|^65c)RrL3T(mzZ5AMW?s04xT^OHUP|}FNX3Tvn7;S5Cu~F54a!2ZW1z! zYIcLX>HI!{yjBA8?389=86jnK`{My)x#!PrF;!AJ;?YH8&ZQ*=NO7}_nnrZEi*@3%&%Z30-U7EKvduHf_jH7a z{SzvSfG4p&i_6gXFcr?F!rre9G{NPxFz$JT(&@@6H2sGMd_Tl0UBhW(yXaDi1}+D%AllrFR^ zEy?O*W`VlRzgkcT#2*dU(Y8<=4RLd7-X&zd^!c1(MlCi}>v&ZVSxs{>1aR~&^+ziS zcmIvVUF<`r&Bl!dSah7;rpOhy^SNxi>dz1&ctVjLRMYSTSdasn4$eaar(DKth2Mq4 z(9IH@rjji?a~&6Dy+2qy08L*>FEm2sMagAzYvx>vLNv{n;am`edXXYueaY@{X-xsb zIa;LrsdH99dU%9J@F+>@AQ7X2&SsSBHh2X%Oa6Rr1s|PTX&cG}T>-{@Ir2Z}W&=ND z4l(EWC^EWxdpZp-N2bopj2HfH1Xi;q#Xs#P1RV9SfQ{JUxN>&EaJ;}%uFmPVRdVd$ z4-DK9rDYK+wEc8^YmEK*|JOvvdn1lN(Cj)({oal~F<(j`sIr@8Y!9B8ue-Euk06a- zmECwNhHHGBS@6tIj%2iQUI^N@;~)2#-K)XbTm)6x#1L;8M)k&uLoThUz1H%0vO@i7 z$|k(&&IzCjsa7~rRW5}I{@otAP$VwtSEqlvEvMROYQrz+OF$O}p+v}g9La(uKH3)Z z_1UYf?l+WW(moz^@9>m-TCwi<G2(TMFEPsD6k`<0T@MG_Jl-?>>7wQNExHBcu z{9fPDJHgh~?*g*#a}9OG-_3D?0zdO5A9fgok>t`Tn-5n#3a6NBt8&*y?#_6KPhM{q zX^w>o;+9^~-8jTGU);p$h7KBh-00eac9NK3kRL2l=R-Y55=K%Z@hqxth+L-XTlynD zjw9aZ0Uo7>9?N3|BNG-?DuA>^apUSKd*B87UIl5_`hppMMk7?(#Go3K6QR z->g{uk~%Wtf2lKn+h8K zd%tx$sYw)pp%f(@rjMpQZHEwSkaCHy@oIo#LxF>mRKRub_DI0f4gtS^c7jU!fwpRA zN1C|_-LTBR5H)NVia4RDKDkw@uH{oB?ga!f;QiXQGAoeh7eEaW<3s&HldY5=&X-65 z7)gM~<_WFC;rRpw06)_$cNmqhH}#$tT?g1@r}2A2&hkkt6umXd@L|p{#nL%o`|+iS zjx>IuS}D-{@N-s%YxLti&6Iy;tqo6PC-;&aDa1^%nEhzSBz5#HgukOUe_&1-C=m)n znPkSFUb^k2?U>lz^fCRHQ`LBV3$SVF5b{~ZCOOVEU|yF(ed1UV6%v*Y$?3SQVS-8a z2lwK}zS4zl&NtG9|Av-AM?P<)7eI3_iriiR)v?LAaWS~5Rkg$9eHbdBC8Y{m#>6RC zdgVZJIE{j_1Y$MslrUy3Anx&43nBHI$3*g##WbQJkIwzv=Ial5g3JNV3C&i*QEVPR z7ecbm+i@q`lg8W_-N|SF$Sw$eooT@sx^|; zjtDQth5M6t)fNinblpghHEgnfV^p5KIAnt6ja5l>MUWT3Fr>8JCrNra@ zoH3`!4WkGLsW`Dy2s)`id$+qWg@B*_W@m7DCLYX-%Xb&JIAo#lGsqQwY?_vkC~XXQ zZag9y4uh$%S$lccQ*JqLatCs6pu%rU< zQom>x8BV4)b(c`W{`aQ`Iq-*1Th4N~s-MOI^6`*F8rY5QECf!lmvG4f!0e}sx2~PU zdBl`vAPIWVVP75N_3b6Ba5hgbcZ>q`x8O%wolLfTuHo9tP8RvBBl5>?YbyrvlQqN+ z$&Pa}vKvbH;x7=VU@a*-fMAJ-D;nS=NIRId4PyEhr2X)HRc*iH(be@;tEqHcS@JeF zBLxZzT<6npb5WT!_w1V-aBdQ68jI|lyd(IWG0K;>l#FDe@9pLPSifF85am^WO6>={ z&S(q8teictQ3^jf-#tx~`%O6`{Js)J2w2b)oIAoOC-t(yxABSinU~oHL(83OxZ}b{W{d??YE!6PunH&S(zfi79kITp`vvy_ zYiKZbjMe=W^>0JD^55?!=~(2Ox=byuoEK`JkPa;s$Du_-P0-UuLO`A6wIoQZK2hK> z&A83rcrvE_vkr*NQQU0SoQVbIAPGJEqc2yWR>?WUZJ2|?hJQc>pnnxPNerc*Pqiy` z91v!9KkLj}1dR|iU$%hlCn~b!V*T2XDeTf|K4B!$)&c`S2$UIGIc#|Aa#%!{(R-7Q zx4IjWY;8Bq_l5X<*dY|oFr{W`SX-gb;IqT6nr%i@q{z#cEB#cL1+`lBl_|_VUwCo5 zn`@Bt1@HpiRs`-00ZoS9)f5;(FD$kk#>$#x;&1Jthwi2gLls8PzEP&P#w z1d|BAz|64wBaEc!GlOST#09Rs9t3*yT!hUUDjW_w0bMdPVyKP7 zQ^6Fn*&0iyO|(tc=x4#h>r|_FFfq(DF<@p=WhkSs)mZ8_%ZPGg_-^5ijbRL=6Hw1FAH>h;V$FLCED5w$<2QS84qQT%xn}kPGBF@3{MC|GY3$K zcn{%ZC{pm*HL7jlwor84b~cUy`VdA{CVbYPsjXtmKt8T6HJ9m^#twpJXPir1MWipbick*Ux4sdr*m-uCy^`jGKhwbH^7ETII+^2 zwKN{qp6WG4!_6(I*eZXznc?`S&B?sK^upt}>DA#4nt-`CqV-n5;nu-lTWEsk$1269 z!z$yxm#^M$(EBT0>nl}${aLC_OE#oCOPlq)>`Rx@lExszZuL+a^uyO3hOlS!%G&wMM_ZXVS80(2j89Zd70#B~%3l-N@fTSJpTM zo(yUp1~`z?Ce6?vKoxpF&(XXbah&d~oi}WtqeqLYGSOr93dvif@emL~7mkZP@f7O6 zhdwoa2a<&G)(FNkr>i8C@b@RTFwCf|CQ<_e(5mUSw+B|FRvrhz7*m9PQpVuW|NE33a0D|IndY(OOIEjjL#CP7QmzB;hHRP0P*5u%q;|ws#;ciQE{CG2ENq8zdU9xFV z4)I%D=0fILIE>z7eA*I_MPIWjDEE`jasm+17;U8S+Yf*Y7LIwf@B{t0unLTwg?jr? zzSM`-2kWn1u8&v}f!&VPr`~#KUH`T7No}!&F)1SWw4089R^c>bw8@1SZOga;dB=v^ zVnL34Vx<@aN*(UgvlC4)33C9F7^~L#1>T|99jhr`H*jKtN%VHAKQpEVPUDWQYi0l& z2hKFtS?l1Bx8+h%vyq`29lz$PZ*+$|rF!cDfMB{mN@HUw2g9sM+Q-O8KBIs#pf$(f zSrHE)&=!6%`y1H34Xd;>3EiIA_g2uwy-@<8B3yF)ZemqHZw_E|g$@F|91lTpu+L6DB*C{#h&9i&E%G38^ zR@eO#!GCYqcuV~JONp{K(MV)=EM16PqP*--0%_g79;{(#wUj}{Q8o9=0kdahr!joO^ zQiDEy$KOfUhHbAq`y7V1GuUHzTd<=o5)dDpqG|l$o;Uly*2_W*ibMcq#KWF>Qk^1&pvc1pNzr zX8)B5vMlC%9{x&s7$WsQtE@Ak)6VHxfJDM2hcE|x3Ha$AsUciM!9IpN_*8F6dDn|zOQ=B!Yv=?v+MKp$VR%%n% z4*yB1%*4d4KD%=!0MxDhY*V88Z!mpo1P<_s#1|2j!QbZ_it{6Nl!xN0@(Q(-vOpWiNUqGkDJ_qb zr@uP6%`u{ud}s~dkd82_F@O3;eHwUBUQV4JIw8`-QO>CfkzQIXL9*jfgX}7*UxU^JwGQjqee_P5s9W zNQI#eWJ9kV$DMP6;D?UrgtXeft3v|`W^`C=6t&uFitRu&Hh+E=S zV3?*fL7q(v5q#xDpx_}~_O=j^MR;7n^W_qhBlMlwHnY*yG^NBGbyK?I0yV`U<@C?H zC`;%jZDFvBuwa#20$9abP13)( z0O~Z3SLcNVAdH+uM82XZl-RlKT)L&|5w8M(v<)(Gr8(s-vWD76N3h$e8HAV1FWNJ(>Y=! zgrQU&HD#nm6(DZ2iD&!CO^|Q0-?H6@i+t-9bgf$fk!&Msi%!VB8g+Lb!B z7wl||GoF4idwn>d(W9Ls2sQxz#fnvW;;pa4L473oCQ5k@sW{wLdZLEv`944?N}$O% zO9IFf8;6AcEozyVj&~%q?FK42DM2lHpB=ll!3a{G6NcQn*MD_6MqmPA>SgoWiytQe z6KEFYz_SUYRc|KHqK8!Xv))TI7b8%1QZ!mu&n|7vDQFb*kW%sIAg?odoukoI+mJF{Y!0dXvvNaa+ z24-736?E61;2t^eqTT|{ojHOhnU(^yd;QNMGxmBommaC*!#_)B<)18#2PcNIN7F_?%4Vj$5xZMR_gSl;BRo(Iy!ATRU@&(nmf@a)6-vfz@<*b2i6D)&O^=b? z#>`VH^Arwc>t}*$`>u}16*U~i!y-40SsJ!NF=Jc-^g`r&ZTVw>w4$!O@7e5qDMNbT z_!ThkbaCDLXcbY?ZGJr#onq;9qnO1G!AM5u9iGZ%FzW7U1(yEkGbsM(jtqr6``v`KBh^W&=7Ucjv;hf6D<&LfB>4T3K(b@=;ZnF11 zF+7D?&auM64#@EMtO%Q62-4V>yX8YyEv1csF9k}PWYwjOANfl3?({rzJC|Pg#r4$05%Ti@Y$xO+854`}tZwLr zrC|Ppg;%no)kJwe$gpqUd-C?y&Bw1Vw|tfOK+oDy_VI$~WL;K>%~q{GThCHt!Z#4E zn#tu_U=Kn~5L8@zrl)l3D$j=Iw9Qk|Q=Q^2G#U(S%zi|g#iB#WE^2jQKjw~#m3#)d z&{rrte5r-G%2LaOYdLd?IP+#v1y8WTD4CY>cW$ z)(4zM!6`a#%p+P=D|b)4E*_Dw!!>Luf%)QBio3)x-uJ|6PAyb{&!%Ckq&(|!Sc=h? z0oUpQkEYPtt0vFn&-)wM-s2*Ho8iNCB|q{#kYPutf{*xNLwH>t8o2x(SA1w|2sbKF zwNP^g0TM_KPr*-Y&$Oy6G05Jq%l6%HYhip!a#S8M%uzJXkRRE=#;E+-A^TC0Y&qDQ zNAwh$3x;(_W@tf5Ldw=?k>3lp$Zh7V&d;I_Dc-=wtf#h8DHgn<-`5!(q)mzAO5*hEmsDL%Px1bV$hD@8b?h1wy7p-)2%W}RxngTDDO235VV&6>Bg~Kofo}8^4|Cm^xF)7TC4;* zqOrrG(uEKL06B@vUA;}K;gNkc|6?OYzzGL!9opCX$I*u+uN))Z*eH4SD9x~&s+a3N zI;88vUuXg!&!PZyVw;)PPsUmB=*E@`K8DB(ngt(5Dfh z_BdfsgU{L9pHtJm)D7M@Y2<0Nf`Z?CeM{U)$P+LnBb60n4T9O9Kh8hdFa?r-LSuZl z`Md=*LuS**=d)?zw*2ZBY}q2B)-Dwf28TEupv1eKByO|6SA^XfBD_BOrGBExUpmZP z9X0+avXycBece0xQk$L`mA7M{Evlc355sVRn0wmf!4>hK42At=NAFKmx$hH6&+)JH z1nE&T#3x|A@f_HtDuBFW)UCAb#uNHT8QXZD;re-|DO`;?aP4<4{CceWo-j9%O z+_*f@zy6`wzGKbS>0L2*?NJjEuf=a$T_O_I3y`}go~;wjeuR~dty@LQY=ZH(=)!R~ zCo(*wwup9M02c}^8ZXnhc%`XF~h1t{?_vV z!+~CmG;xfzP}>2F+ziQEyxY-Jcn_w9-?C|JK87?d%QdHNIhH=l3>+H9i)8DRlob(D z30)Ts8W-?Xd5<5qI8pbl2JW%_LU6D0IrDW-IF8p`u1qS_`we>^J-xf_l7rsJIO=h# z&cHc@H%)~QQ|G$TARKeNsyZkd0 z;o=yz$Pwry3i$F2u4*RDF>rRViYM=<3c9_Sq_U}MNtuWU} zH4=Y;?ZhBxal1@q?xI|*Ay1PZzWj9S4)F2z&a;>7Ot&$ze5pf4m#)c;dW|bN);a~O zwvD8fx9JV(LD4#wrVv&U-HZ~%mdqBB{~T%B9r#7{Lm$KMAW{zR;F=rC1o;<5NiX=zlT%$+ERM?y{jQFLL z4!)WXZzfR?=-4i+xz9AMm3!%i$ENXf!pbuF9A?^bhYtFZ=OUl#a2ZQleu0wGk`B$k zpcaXvIus8)_TOvH?1!qKPZbaJ6jNj%L6zv&>^<@wK39-oxYQ4iDb2?Lc@CW;?E26e zVXKnUnOk1uw6iIU>GVb(Jv62l?#J0PI#tHYRs(C?h00xpyQLmVh_oNnTr+p! zS7%$cgS&R93>IW5Icva9*Fr^rFERi9(W4EhMty_wv~BJlHM_;(pZ5I}IrOA}f_juW zL5ZKy{QA4$(}J^WwMc~oVQGIRrDK1*$+&`{WZ1=R(zqES>CtX zM>bBm4j$L@9NyFhcAt|Thn)>R3Wn`pJw}3s)QVNLgj0;?apps^JGXYx(<>NS2JQ3pY=QOK^Z(!XQay;tJoo#*laT^5$O-S*7HQq~*i zw5tyPeV4bMcwqvbhjFUKr}gGqE(;GD22d@lE<^OV^HIGf1rvW#-sIbC^Y<5$6Ztj_ zQwN03n^G7R9=(_sq!r&KzA|(d?o<17f7*jgzSX=laA|&H?zGF7P4XZQ9}9spFq-;z z&>nhkU|eeAe0qJNV|fJz-~Mo{$%)WvGyQKHcsYpkge1Ppxp6ogJwd|OV2)Noe4Heb zIl@`N@vzy~B)Uo@P5;i|_43+(quVT24o$56VVBh@$FkEjO`ZBHCxu0>Mff;qZE)eR zEty*@Vl zrPDf3K&H;oh2Xjw?Hyx&bIN6CZgQ-kbYCYLLMYZXyqg*3wjKCQ=%Vj+9gjo(!-IPV z)Bpe-Q!U1+7&5)SP1_%26nizxQl21;A?(S-Y?st7&uz`mZ_QaN2mu)E*|;4w_vF0i zUOFK+nClBuBfo3JBMMX(LZIe6`g;Mnr#zqR(b@J^_^Zn+OoLMDwM*p4=Bv~iimJ4a zGe3!QrS4vX!}zP|oCO^dS8)CqiSw~rTy>HgpO4RSN$<;jm z?9=2;NXpeKz;N7=;y*5!A2=qD?|x?zCtruZIwMj}PgRZJMy!Blf*Ti{fF#$+ zjM?e(2aw>+??JtCaVZeKNeg&_Vrp0Ir<^# zyI8txI~>x@REME%x6t8pv+j*j7wz^}`12T=NU-u0qL(ig06N+Hjv(uaTIDq>sqLLY^3h^X!!KqH zf`2Zra~#{{6L?Ee5}WrD7SyXZI4rNYBy>@qcfZ z^@$R`D9v-mAJJgjp)w&V2D674u5}DP z2{G&}#InQ8?o5{&zJ`s3@ez?NqgbY!VgoH3ZTMZ@JP_AD!{Bpy>gZ0^ofoVKnD!^B ztEYH4W$i%5?e#g*y7`^%COK?=5&OEk<5QcuJ?AlF&s)j*^n)P&RZv7NUc2HtBHt5iE8lK>n{X(!{TzJY!M)Og8w+3q}82!;an2?u$wfmNo%4le*IB$QlWl-~ledh_$lX@T z7D8#Z`fK69_*c;Vgv!F2(Y|tJ+Wqb|G#0dfiLTNZRb$*QK@OsC&E4mCja( z>d2vUPlh-A3KiCd$*;wvYvK=xOR0kR3J$)?zM#0gMTudNzMi{uJWFHcmEIh$%y2Y= zF-te8iF-Z_8#CNylzcR!3x^Ulv@Vd_xq`Q(5X_w^#V9FUpQI`A_wv zJ3noPZUq~@VwbM58<`Hx8TihROcm7sz-<0U%XoUf>wY*aEKZC$8~J8@qpAiTZo;sk zsKaG5f7%!a%9wZhouDm>t=)Vg*BX^CdpCNWE`Mw>RnG4-YR9q3TMnR#7UaOAQf6o+ zB!t`U=c=t?E4}^?f4ttoD83M!Vpd*IwqBXi9c$i0HE7A49Tu#C8$Nq`?XB4DFSLXw z90bDj;vNiGC_tTke+hi3=AC19Qt(D&f+GPEdA-BaU-&C>4&S6a9;rR|tyJ%LM1KFn z5dyg~$Y^GpAUF$}XWFWBh>D73*!jA70{6{XI1iia` z2X63$PpjD5XN=74bhH~;JYIdNGK89TK(73FzTQVk@wmMV>t*S%9KKW*00LuvyxTb| zqrJZ=a7~;OU$4HicN|`T=PzfR-}PW1n#~|O)Hg^DNw0+j|wlnL*`>eHH5SG^=02`RgF9 z<2a~$ zJ0A(NuTJ3twgNhQ_1Ix&?&JD}hpuc??LoG{7DI^HO_{qi=}MA9)2Ls}=a2PK##3Kr z)_`!wdna(h>OD_G>V$XnCZ)BktFk^nrcUk<(zB1fz-%erpWUoC!*9Tod#N6e71}eh zhtWE!SbZKv5<+>&s?`8G6YMV2C^B57*6w&@PQggvuBTc{^{U>%U}*uuK-qRqDLFi+ z%R=EUd(>BdC7c&1(%kfw#Jly|0o%ud2#Wl#p8%$qv=vyhl2BFnd9L`%T`F>Cx9qD% zuYq{uocW-0S}&}sJ6rXG#~_p)o~r8pwZPcTvu`==%w@n%{=UyWOZa@us_@n~suJ?c zO{e9eb}#MgITsY&)K8@R5;bxh=9F2lo7ZrOFm&2m_;YQ)b=$4#m^@)R3-5XLkM;Dt zXeq}S?~^{B)(jXepD3y`@!ay8opt_~f#mat%)OWQisR_ia3H7#AU)vuYCOMr!Ge#3 z0VRtcxb&qa&eTFJNC-Rg=|5uME#C?vfRdKDDD;-3nLbRz5}0^wo-czrmbTs)t+we> z|E~Kz_&Dvbo!;+)l}*)GNr1BMxVJ(d?LBSWGhVwAYe&`$P@TG2n5&5)U z<_R4#af$~%j*dBsfv?JQcZ!dX&qqS_>~RQd`wm-7L_QR{(B)%E2=wirdVMDAI8Y$C zci>s9gcOCkB~r=isaB_ycaKp7HmH4YovpH{0QiKhzfcX8{MDaOKurj-wzQ*Im4}Jv z^WjT;mZD;vc*%zJnRXu2fQnGtHmx?r8{Rw|csnCrMY5-Q)fl7%eXY31LeZX;$mvh=*Bv+w=Vt3Sk7Ba{dl7NapWRqtkXF-Ig`aD)bC>kX-}29UAY9u? zYD_T1C$~?(^R_5IHVGcW;|fP6iX)%x-JQZTpiaN_8}8~2a6=3{@TJBv=X!F0_T)s%~;bDRO9lx;h; zoO$fXJ8(zv1<#l(X4G_L^s&M@Y-MYudJ8{pplQPE(qWnJuC65mTTR(he!;H;ndS2s zx0lW+)aZuTY#_;fBYF|=tO`@c_I%wy^jN^PN?SgC3566g#bKhKk+d(CR}hu<0Q zKU_2XFg~z>DwpWY&y`3tbwZfsDuRPf%GyjbcVnjTuslS>T}w~R%#-;`Wo~};hbc>2 z+GFEi1x8Y4*~M(O@ErvrD54c91h3qGdpAI(2J8rWD@5i~Gm5D=MAs+rSW3^qfI@Oe z**4*l0HchUidwpqD({M2^_F-qo2HVcG6*i4=L#pAPVNYImMR}iNb-e~uW^_ZtEd_b($lj}?aaRX+>N=fa$FgS}1vw{_grUxNL>)4}3*A}kp`+y$S~KSk5@RebC=F`sgG%$e~K z$pfT0fDgPbROX)teM{pH>g8%qOZAeaw8hR&4+5D?c(ej!i{z)$1qt*RO)e zM4M<6>yC+?V!?f5K9(1O_Z+v|^1m}+c#7Uv+aMb&)a zX-XPBbP{*#c38*dz1e*u)EVI$N;ad5-pcC{FVx!;+}tax4QmRKja#Sv%XIA0`I+Ed zT=UT%!VJs7fim4CE~tAmG6g!<+}8ZcL_UZzW;RrOdYK-blVrB7D`>Vh5jFVZyi-t z_w9`<4T_)$2uOE#NGsCa9ZI*-4M!9dkSHz+B2=#F-)&#z3+R+ z`2F)6 z77PIVX{&Xf4vb z7?Aq}vIb9@<{qy;WqB@kYAwXu=<=nVJEhtc!vd&&PWWS5HGVjhM&ChKJ*)Wl;&>SdCd$<=2aNlSROZ6^yW_T@Ya z`yaj<4-G%of$*&B)D|`rT#9%ka^~zgRCp|r!Z94@lJ}%qvq-E2m0ztwm92rLW6jmj ztNJ^5Fy%e)dX!E3XvqcEN>@zClzYq+|HZ-kT@iUbq24pF7hM`I~sgUjJ1!N)}0?okXZ3-N4gKS zN647SR6>zh+S&;;SVQr*4NU59B==Ujl}!4%=C-$z{zeKuaE1ledPCpA2dDZ4GXR8U)ruyF@r8t2EV^A$@+)eG6&Oe*desyAuVn#O`xxDt36x z#|;AX-l*LUt9d=Piu4M;D>pohq93xdA49(eQ`$}@@_I-~)DOO|6m)>7Vuejv!kG0x zb8?k7G*nD2af@ca8b?EYi_Pl#o9v58&Iq%=vEef(2s06n4RK-NouK+#l702!M3UCz zT-|7yE)3)yv>mbV>9|=t?u!-nf}Bl8=>6fX7cT?NL361uWxI6F`k`l6nh^R`uZ$Nf zQ)telmKarybov1A+wI$m*_63XU46O@Mm3z~2yAKtZ;wjoK}p|;hkwQIRVZ}%i)BKwi>8Fc(Jw8xXf zXPI^?Oxa+2zKx-|3ueiSna>@5#LbCx2wKwV1G8P9VW(Zz0YT#=h_lV76(jE|w~vxJ zg~T+y$^&PGJWjo*dQXNvd!pM(gnveH;4~|a@UibItJ5s(U@=}dWHH?E5PgXSUFl?m zw`<@%8|-laowQWC#WNQNx<6m#@`{HoTNMi;Z<$7ocVVTDZ=1!`EpRKY7p7yCfesqT zF#{#}?LNAlKkOH7P1Kw6aGu!TWki)3Vj`&14u$ue`<~qqiXYrsruno03OETyI*FCM z^An|3Qa^rqw&t!SF9plZQs%zQL5uMzTCYXuVEOC56k@^SkyXRV)+0sIx|Ea6kR-vw z;3T&5ozn$d)OmB9ON*@3yxTrpWwr2Xqe0rXgWGRr_pHn$x_Wep#?t=YmJ@3C-vG~jORvHZlF zQ&hV9U~-s9vWA3$v4$v(_Z^JkxODAtt&<&Vo}2GRs~X!%)uXn!Y}5kw*fOhPJXBZt z9io#euX&z4^C!5;kv>?0XOEaDiG30K9UZbHWWu3(MX&UKSACRH;@26 z;tHN^q*?YbU2SHoc!61%%-eK#`C^)?cIy5&C)fLlKH4{&lM@^6`EnXoNqX`g&973| zio0!9?3yO)?6-lQqnn3fo5hpT@@KhwCspUQq$Xcyx=P(zG#Vi9el*!e2Oeu{JlkXj z=tx@X(o5_3rI-%-$%g@01XmN6$S$PxEU5^&oq&WCf9uW-zU@wSBVMPJ zDm$UGszPFhYI$rMvbH6d{X-y2(G=R{oo!D<1OKX2_buVPO|3he_wVEN7j!oas~mYh z-Z`+;uAE`iE^&*x&Ffp09C^*W&MdEXs4HTnSM-3w)Bq1w@-U(Uno9a^UxD7%gJN*D zP^l?ttM)MTb3NNF$6UTgt04harAkBRm2Aw4UnA&!Q0l&h-DX`Bb(-~o`8$$p}aW8d}NMw?7p7JH`sAv=kzmD zg_Kwv+U`%9W}jeL3;XJ14Z$<~Y%)ZPV1)QXWpC11eg28)7oi8|1-J+2wXQxI>+F|j z9>*LAUz0CMTW|Q_p+J0c=1ar3jH!wFaffiF`~4j%`=Y{y{irDz*Rb}2t6IR0rO>|4 z4xwyu;7*P2{!~UKG(kex&?6BAPhUV7=gv56@sZFOl(FdUK@7=?rAPF6Q=;i%{>y7A zT*CwEU8jVnDMQEH4X0;0x4EEKmrfJ9boV=s9fwAJV3t`PA|CUt-dV4gDyD3Mu=a-^ z&W?2tTMw^OW}{9Hp9)8{S$WJ2dhd-;W_8)`Or$Jwv_;Xzlr6HjuOlb3^|-_`4IiT? z+9IYqReLDTY|o!|K{G?@3z|HCCn`4ZL}gqb$CGg{hyYXv$P#=>mt*NqvqrBH?s(K z?snSRmtKv@juBJqjG|1--RfmYPA#M{yY<` zxLT{fpKQO#D=B#Sic53Ck;001vDmf4D<3w%Z?;3P^RMy>4IivLXcd6Mti7&+5cmX4 zj!^WQq3rDoDd|Gfc+5TU=~cI`8FFaC&_hbi`-}`QUyoGw^J{&uQotnZz4@v6E-{aL z=u&U{nv$tT2QjD5iyacSj(j?aZ3KV{;P$SREXqGx5m^wak`7E6n4&;rAFP?Yb~&y8 z#x3gfW>O)$Czsdyj2HM-i0I$R6N>KWMS-E8Jq_oj{ZteQWQULe?&e4Z_hZw7Wu|SP zhLfBDuRZy3QMQg(a%QimyL1$rPDba0WBgB1Y(3*%#Uo_A-~ArX*{_4x%gY60$2)W` zs`kk}d$javG^OV&;jNapI5lL~pjg{a2+qdj$qMH0&V;`r*C)K=`?Yj_-(3$?qS}&e zvBZ*`RmW&u#4>FBaSUG$U(UV9t83g%mHf94wH*x^D^*wuh?mlk?u=pNAi-V-b+bGB7*P)s=Z;e967-fz zi-Lw{Wgc!ikw_|ra!4SVuAue97_1q$YuNje-pm@q`Nrsp{Mi$R@+o@bagTr}S6m1b zw!JMqq?h}w6XxB%C~PC^X7f^-E38prX`tC!OA?pn<}F=b;oUZ(r->RLI=35!w}i`M z^ey|xzy{}qM;_ELm=RG(f3MTwM3pOIj{3{Dr9b8^hINLDq0t~o#q8jimRoxu9vF&7 zh5gCZr*{9P94jsAwNsnD7&Fthfbgy+F)3n39ns27ueoHJk>PaltxpsC24DsUafQCURxrm|wo^#L-Mc)- zb{3EFWRGPwS@`oXd?I4gOsY>UFA|mC`svaxf9XQm>3lHjzQm`nb<|T5dTpi#+YO)B z0I?S)G@49n9r#w1FndCY!WD&=T_s)hqA}MuYnh9XDYau6ak>~v2Gn(v1y2+_Wg5P~R z5RIju>|uU!&APVODR)aNV1j)pvHJ6P1Y(&UfhwILPoL+79MG=;45pxKhS#-3ttiaf zSQ=*m05h3ZXQSvM%tf^i-s!1)Iq3-p9la~@DQ0N9;@PxIBT{32GhGI|S;^HRxXCv| zTYcx&dQSBP$$_&>Qg~5quc$1$!rsTrjQKwozUk%oDUf|EQbxB2Yk8bcM@Wf}0CZ7#EccfMd;(n^ z@|z8{1BbW;q2krV<5Py-UqSfhH7>=qSRSd^ZKa8SYnAoIPUB#ElX=?0!`^e1;5dbn z$Cu|r|6mzR@a?Wof9$EsWcmGaS%IOjaDlC3*paR-m#{GjLMm5t%rlA#``xE?hdN@4 zk9u`DO`_E?c-Un8Nu1u*+IR8S%0o~jETM$2$I{pMw5#ZynsE6)jMw6fwPg&-RO>r; zEX_C?McaM$%pT4)I5ivDb1|##_2H;MjmyIslU%XKgDCri%fI#ET`6f*oifDjo4VoY z;vrGvS~Tm6tf!C$y~e}U{FHyUeyNn9$AtgGXwrU7duASE<}~)o6e1#K^d^h%X|{cq z@qS)tv#@&(<{Wnv0ms9+FALe`EnASzg%RU{>-`-W*V6D3>3!eER`PzHCOC~8DA+a% zDeO*xw$7aedX5+b#&I>Dc-4D}Hi{92d3Z+bkn)RsF+fS?QSm>Qgbu#HDn{tVnlL8j z=Yy&ce8$TdyNoFPf|;$|8b_g33N*cfUo_HH3{0UXloQUII`0zN z7)4)m79K!K`{)cGMMHgpIrEv2#jyUN4`N6JHDlFuF54&9qt`B*fzUZSoZC7_O`#4O z8+mlx*KgrQP~AqzsI&fXXFdi^m`%o7%4Tr@v%+_J2|B6isffj=#p@uXkSZJVi8f=} zLs{nLl}WbfuTCerwzX$d)@Ob3;V7lTde!ej2*y+#7CzZjNDaGx_3~xrDOy{79SWw6 z2^;uSTwZy8OOxa7-0(CGfYMc&DUh~XR}^bs+AIIAaFnM6Df4ah$4`Um#JK`8O=Yh}Ywp$DnEcKFkUep3RN zxLZyyJxz}?uU#I*U;V&;zvr_uY1@goVS7*Zeu7dKe4-(Fd>Er9OY!we+Fb^FMI8oN z&Gi!Ra6F6T`hIwCtj;`F@*6h3dewr=Cm8*hWKSlBmd)_DjDC}i%duhhL2+*zID zEykPu_xwsMcXbuYS}k6opyRRvtiDGAa&9)#6!LmhiKV@y!}&UQG!exq?z<|!iSXMOFWq@7AKW^ZM>wA$ltc|tUf+LTbsQ?Y zFANiBe54dO=DGE@bW5e9bsnJZ6RZ>S(V9hiQFg`hah9AzNTH*tbxiH~f(E1v5Rn8wG zr#^GF@Q6N%?|xnYoNiI9*{8req_!oKAKHw^+8uiYjdblaUtbnMl%EaL-X22rw((dQ zdQdEh<<9=az#h6S=`(0_u34iHyH~3ZG?~b@OyY`M7%F*wCNg z2?2(zr=8{00Xb+U6`8aj*o$s9EAB-wk7G%UzJa&J(E%*0&)J>lyRYc<1QY7X_clp& zYHimW>axb_ZazlK;XR~-ZiE zpE;7_cY<69Pmot8ajF<|-h>Plj#CH6`BF1#*v2_#OXi8HEJwG^ll0ddkLHks^H(q; zO<0XuX|ogG$`WE2^eAeW^>3}3vS6|`@S3pNJz20ky>o@T>^6#BC4tNOi)GW(q3iAF zJE(oJwy36UTg)k^x4(r^K`(2+Gg9dB9}1vB`?@FCizSL?b{u;9Sei!8fSglUZ}CW? zZhU^OjyY;+s5&aTKF4odn<*z43!)50(!LV7n4QhYU$0DadU3MVJrb8?1R1B8YyE(_ zcK2)O%o|&O4%B$^o%C^acc)>`FQ2P9+y?G-SUH&V&`sMB(?WK*Dm~T|2p%Hf@+La= z%J-!S0f6&UzqKU5^(mMNv{%?mjoRX32k+AYeFVoVphv~Yra~M~_Uf*Kc|ZNwy-3de zjNMYF7R^$ZQxZo(yBYQRc}&v+f=3FM2}dlD1lSb03D zzCFOA9A4USKX;`S_axJ=w+dW&O^I1Qc*z4=FJtd9yGfIi2201eHUGvCv4#7VzJuyh9Sy0C$i2qVDY70-^W`~ z@>mOwT}o4ua*Ft8k-~b#25&O!Oo~W@@S#HBwU`OlBIXMkLc?=N(L#cxZrDMTrz&QX zW|Fo@uJn2fS@>)(3-wShOxf_lAtjd!dW8O#P=DcWFjKlTU_R6_@%2+wxxEn z2IHPZ5#O;>!A%Rxe!h7h&L^TTv@Ds3+=&lDzK=_Tf1axNHRdW=(R``dk?a|sz8wL| z{D@RvVcHxYe#Udoa~}?veGUB!_vbM~C$ekq@#>9NDb@RsR3^0P@bNn%LeagyDR-6Y zg(US&M@rQ5Hh)9rtTURcN#EA?^&%D8D?5QjuaB3RiKKGEe0P!VW-7XtnV)BKVli=R zeM`B4EXYf0uMow-AAEJG?#M_wtSh5cF>&ocI`mayUTbGFbytUjwMUz+oyA;tOp9P+ zr_GsZgnyud43T5=>HDmX(3J=ZcMgJ~b9co8wpMf;sjsdJ55D?1GM!lZ@ZmFsHh8W=&|^qzqUvGaCa5C`lMA|v0zb`b9x5gD)tAOUau{r{CyB6^Fh(y zR&}iKss6N8yp~Ditl4rqIb3^dv4aLaeq>N4E4)pZ4+{_pX{y1jo%chp{7kaG1M9Zj z&YzYh40+XxL_60N)lz4+iv*))znn_LDy=%tghObbonrCQT&>8 z41+t_V4#VPkZZ$4jUtb|(3k3zgWXkXP-gP>RIi*Wbfm&~9Q`ZeO?qP4sX9Uws0nYM zJUcA9b2wX^V*NVRhi961;qsa~4pY`NFF%v^5Yv*7m{~MOQ{SD=3MHo~14HvJd!dju zN_Ck}Cj^rjwP*`f*FTdLIxpPq4l|R|Jxz2t>O^+*I$CC|(r1w9@&-s(!BOmQ4{yq#d}AmrPZsX)HezXHw-fcNge8Sa5&QD!pzx1Qbf zfIJeGxYtmT_C}cq5nx1;j>&EldaNlMdaN|k4pG$#T*E;N{JoxCxziag!?p@ScZ&6g zL^2^`X_Fr84I<6^$J7Jkgi*Uo(5N?t#Nnh}&=*l6XB7M)s^F}w&gmJaNM>skdfl4v z3C*HMw+mlfkTv}X)`6n z6Eu>z_4&B;ZOlvuD2cW<^h4LnnzHY64!wfq<_6dZEl- zXK$tuGw9lS(k%3yK_f5;O9Mu5cqFD9F<9)7wC61ol`qJt2N!6n2IPngu6y649Fp=eKh`9 zXxYS2%$4bltEpz%QZ&DM7C$zd{Jaql=wFOBhQAceMJCDb)vZ4|I;I<}wA;(Qx^(Up z?Zq)8VYEAzy!8a#NWhics>h(-Ium-QPN*)6D_?VzH*x>h-W5MXNKAq2r!x6K9fkew zZ*iFh$*9a7-#2F6s1eO-^=Jp~`9#uD5EwqT#+NEHd$uF4&u08+{GxysDey;=V^cs-x&qqz6ssij*1DhEFld95bzUMQ-tgZg#jS0eth1=smo5Afe6Eg66D_ zx(c?NX>f|g`*IaX0{;KL`d14RmJ6Z@q!+j5|cwAFeRnYL%9l92AQe_^dB7yQ(WwJv8BUl+9 zxX_U3OWyC?P@lfqwt$(x`DP*1Yt(ccpK=b2VIP=n3tvSZvK^u9NlYQm*JPvyV`q_I zA{nE(!X)MwVH3#k8g)4_OAB=6`+b@ zY}Cf;8*+E@xjbRjtp^BZb`i1-r{p3h2f-(gw(zSTEtSr`$CyZwuh-$#i=>ua<|BUg zpEaVZ8g*2{1TU+AJ;+|6;~dnTFHH&nA0d~J&kknucZj)kOD7T(_$xda8mnL3{+rc7 za)H%}bCaW99!3}oRyvz`qpw(u10ToHU|wew$5^~(AxtCjZwLE#B*RVpDaie zV2N#!G%?7WH8L?lEg1vif7hG;Eaum5qThfjVI)&?Q{RJ#B4$jH45<(f7e}IHjhOs} zjel7anG2}bg7ocUV;hksP$b|xET@+D>!Mk8=^*GOcYZzR4;A_CJbryE>IQZ<;ieov zs|cb+Xh?z5J(I175h>QI(3?GRFO!bjQ%={|{9lR6 zza@O}I>-h#$b|&=5UnBqCH4RMg8U}9=4rgzvwwZ_U#{pYIdCR!tEfW=|8F`2U-UgX za19!J9>)LsCGW*R(X}yxRfzo8An;f6o+^QBupg@6{tqq*1abH4TT-nn|91}mA|5Rb zTtogLli`1G$^RP8{~FH!8qWV3&i_W7|BX2R|A{!DUI$xbDB@TRV@1wS`nNsS#<=N~ zUi+;*ymp(9tkxB_7d@P(+Uin6DH-}{Z*APR1BzVjFdw-!-vKsNxSyVE_sn;`;sn(M zUY=T>O0MiK3PtVBnU*Z2w0p7rmJ5=k z-c-Klr&Uzaksn+LnRAsh0y5=Z^*JQWwuW_R8hX#ud(K5j&c*85y-ivl$WtwSJSzca zA3Eh;aRB&F-K&hEZo0;~Ac^nsy}oRD#xUU{i>DmZSOTu=(XfW|Dc+8)Q+?M-YVn|( zZ<+c#TY~X}6Q&-w604-&M;~9(DAXcvI6tekt*-i#7Dy6#m4L$y>=GF?Hkqt(PN_pB z^-?M|>mp2>IR5(n*_BeOK?a!Q_%K*v8;+vj1Kpy!us3es&_>uuq;hEAuY zzP4s85gUOQKCPre9%?@?S9*+dLq>JlSNr-n-NlW}sL-zTHyEp&CxBNYdNj>LOhwU)8&I z_)s&9w?VJkAyUBA4n7I(d$JkGq+8h;wYcZ?LJ87>N=pen8+mISXwFi#7~DcpWWKa3 z*%E|X>>GOW(epGy*xRFFF}NtPVQ%k8tS9baOVFrB&SLP`v8;#C7pK#-=~oFmUe&up zy37Ur#!F>A!eva`T>~p&K+%rP#NCR0uUsSMr=nNMd?aYNqqmvDdY$348QH?pUEckSFD|FRtZN_ zUMvPgSK)j9J%^ZnA8A#B%jdeD+_W?%9OVm;@&v{*50u+1E_;d8L@wFu#@ zPNmI~`#byx3+KY$n&09Zdi8GS-StOFA;TD_Vr8j z%Tv(WZ~mqQnUDv-Zps*f!WUtJ@pl}v7w-bFTYBCfOZYikF${HjyMR=EygJgWItMg1zm?biV+cVC8OO9B%oFpy$NA~L z5b18MLN1GN+IRgww9PQgwpLUOlgqX*^M$zzP^v0}+Tq>| zNlygvH|^X9y`FZpLWYIQn+uj-^7~zTGNq#gFTVg3*h5{4xvhtyk9Jqaab*iM-ptLk z1gBh5;#~~36+g$V11H9$H&JUyBktAtIs&`V*mc|HdiP*?AP+twzSxrrLw`4jP_-x< zE#t+(pq5Jp46jsC;X{>>=iUxdMYWJ2MK|$o6pL(}Wz0^^Y*w7X)=luAfRZj%S?&rM z!X0kY_M3_kz>M-q?5C1lr|7+pb~b%Nww9r1k38$|=aH!djIUsUCuA;Xc-`i)iMM^d zTBKh)_oixUt8*6EQ|YDDt5w6KkR(>&K}q)&U@`ud0nq?53{-oMt;G{rgAWd3WP}Z#MZ|c0Tt6b^VMFX$i{DS}eQ~Ss_Jm z$=xUe3%07WeSWl39Ev3ky+2kPf%0*LdRi0(fC2gbcKh zEtDHN#H97^c8EgY!?geFarob!tx@;w^M#yD(SP;_Ltzzlkf#xA6u#Hgjnr0#-Uta{ zN)(A~nImL$yLk{?6*p1~BN4Lk+}y(Kbm2FgFeqN}N#eHFn45GzE!$JdY8oGt#s6)L zzYFn)2B2b$=QTtBwT9=&p~M0-M`RMJi9ELV1Fx6Kves=p$>GJbwOzM$E^5xP=eHCr?h)BXQkd_EQ&h>6dLTfI z{LdSPmmrrvXjz{;zvi!9Wv4&>a`0=J<{KUAXIJoJDa3=^JYHrkYU#54o~ry+N|)e* zP35rx2tWBCwTi&6_wnrXSm>_Ow9oOI+rnO2XNQZabWGq?^wA*bbIS-5{PVefqHGAj zvqa(0D%_9f1~2(jsdIY_=C(tkS@d zCgf7n4j1TPW#xoI982=N)Av5me;x+GDAcV|D1RKVr{TFiai?SS3N8Z`vrc(92xHo@ zQU6BuDUc){|EE>JgJ9m15>shA?jgfz@`+457!P{Js+ujw;~4Ss5Afxw!WWPq)sawD zfbe;^RyAFuDeS&wQhm6PSnRui`L6}thbPqOlIaKKW?fYdCkL!A9_lu`Q=W5(v7fp) z%Ft`ni}DqlrE68yE%iyAU7ffucT*to<$bcqM&RnH)brKSp(3MMyDP)85Cmi@$dtgpC-0i5*@9979k4AM9QlMEZ6O6}v->@T=nUPq)MUF1}*#c%ItnJ zF=!v&He!jKkfnO>z2dSR;|d*q+VW=-@|F3~=8Smte5~$!Pik#}Kga-2cmmfNsdop0 zL;(IO+lS+z-gkfEdJrYF)hVcMEQ>zFQGT9S;58Lc1SqM=6aPmb;5X4HI3pmxmWyY* z%b;1r1Y+b(VymP-*$VGE!8^3%Yw~g9_l%-tbG70_8gsQoUEZQ0WayExqa!?EDX|`A zdBtfSdRxGS>3sr^&4^Np+sq3zcdy@G`Uj+Yp!r&}*uY`#)AgRfM7tX4_Bd8nMWNm3 zx%QYV6c^Wb<0)Jj9`d48UPqEZUcik~#kqwWRkOZA!`2SPRi(hTLqNqMiPkPNYl9%7 z78UD&yg1WpFn{Y{HcU3)DnZfWHp(w2^@9$w^v18vfuZ5LBdV7NP1No0wIrbD)|JicQUVj zPj&tj9fS|AX4f`nt$M)*wivI0`5U)z2dP*bK-c7obLNs)@=|)H+aNA5VjGD1m3HU^CIu%UC{>eYGyXfE87W04zmBv4O zyzo#eCSdM2hR#f^e_Zk$bbC+t5_eWdRTWZ&nSsNL)Oe%Qa%}q$@t^m+1bIrw2C~CD zk7u3&FQB#s(oJmM2-^!ygXfE&HPW(8{Au}ziwMU?mI%2;4pP9Vou&Sccy?nd;H}Uf zbB@ydp+00&7$+OeSbY`NnmtGO%sK=8jnq?iR~bY9aGhk~Mj&aCDXERc{4pItc7|~R z3V(P}oTpw8n<<~jb7qHT{pVFwN|)ExTtSvx>b`A8z-<+6(v`psv7=AC(22lKg?HF` zJj0wNe`lV5`h^)KxSB+==-2S+A>#cROUeBFpg@{?JkdWHE_xLMuI6^YFW%BaQ2*0q zUQ{dKy&l5PM_`9}R}z1>ZwMduXTMzOD4MpV{v6Xrzsr$K+NFG2S1y<;88#6Dsn0>$ zK(4ZwUH#$0h}P|nKZypZ+7m$7b-sgNagLpSqlzMx_B)tCbY<+8^=dxi|#CII3pd zN%SDv)z=TS$1uwFXUkKYwnqm#IWxmOg{Lxt7#cR`XAMqd1W(0G$i;pFMX32+qVjc!#euwrTl0v^&oJf_qEf`H3v z_~vYD2S8`mM@J^A9c350lc~Yu(S2t}FGPC?A3hLFx9erbAN&)2k2_NDT^mBgt5Dub zClB|{z_GXmC`-N5?TWqNSPn3f1Y8wB1xb0l58F4%k%^H3j+`14_r)-ix{G>7HV1Dk zCPicXjM1XV3*E_#qyVvS4gp1>EYRD3=VhWZ*AEs`eNEue!l((McRzu|eeSyDKyCz; zY%J5JXi3%uWqZp2!bPD&8QTvFyb6!oAMdSYc^z)W_DB91Jb)@Y!40X1Z2PA&`MqfbC|#D#Xek_>8@Hsp zprBHE2YKF&}saN8jKBWt|C z;vXNWsNgoyH)W#x)76SY`g0Uz!5Q;&V-?mMMva%+qUlwcSdzsrXbqLxW!tBmKqQu9 z<#}@*aja=}G~*Y&)fKp>Mc@ejK{FXSMxkD{%9JNes3%*!*gzj78Ijn$QU7w#rV!p~ zFI51b(gJgd1?Y`5h_J@)m|D00T#o3y>p<<(R;4R{%ryaj6whrPdvdxz-3Ra*J}v&> z--lHHSf12#1X8aJNTJr-dqKF2G(sLbQqL1V@myHjhe)^>k-8pUl+kbAPoM)&cRydf zU}1^7ee$;4g@yZxssXm9Cxl<{A-}xa-$b#g2mFRxJ)*YvA5rJOaPvQ<1ve8l9EYED zHcE;HvgYbkQNgj5{@0Q4e&7cxY>#b)FO zv;}r#K6N4J!?*R9nRP{G$;Nr$ji-sB(u0)BrWm2)!jR!}Nw`vFB)8=MFg|Qug!;S6 zVC!uhKzZ6HU8jk4gU$anYodkW1(3UROxGd<=rTR5FDn=hJ3Hw7ffvBpMFvio{KYm3 zGyuZNf%vf0MoGtjfJu5mAKr@^0bG~EZNo_Mks1K-gkHJ>&f%e0e`L6@xTlFgqrO&3 zYLWgB?u?QV@J$?E2akFPzje(6r`4~jc6%M`V!$?HF7e#ABj7N3ezH4knEuk^XlIEM z8RKS2O1$2mY67{>2y`KRa@Xdkq^={wn-ZtT`}-4WV7oeT=58O(vUG)(gJSMwIttr?21N0hCM@$4dHcchOXMV zG}CAsMV&63z9&v~Jago&i)3B=0)$X?qr(CPJ^a$2KaIgOq7Mdw>o2D$B2bCKe>Cos zv9Mh0?(Wtwxh_wB`3BjAA4m?4R;>#&NYtJJ+_|x->Fd%JK7S-BzdwH(Y0#8znc@t~ z(Mn(V=KuP!u@Zi%?!LVJ|NPSb51)Fesi}!htAxy9v0I+-2XFrG|AyP5E8U8*EshP1 z_`zvWD})CR9vpxK99J2{_Y7=o>~N18o)_5#m_kN$UF+>bWDr~sTwV8V=5Y1@&3(4O zOV5-SlxA-K6w4k!Lu1+cTvoM7C?xh*CsN^0{r{3WM_TP zj}4d6SARX??iYg-@7sb72su3l_wSo}Q+;!b zJKy!!uLWK2ofEDjK67(g25m%i^vS^K_L1967R_#NnJf|Coq3OCuV(bNwl+S;vm5O( zEOva+^JAlJaZIS^^eCygu#xBc^`FfuEL5;Erf+9f47Rr#H?-9Iw+_(YbtgSNsTbBs z#D(+t6AKbuNIMI!w8&p1_76=~xqbjJzR!88w3~=FIcmnMKg^~?9^r+w^nvBj!@|)L z;;lI8eqFCRK{lI5q+GeGldD;hib+iasrVEn77x63x~ zLKnF%fX%wrafes#NCL2SrAz2q7p@i=;Mg~)8 zG*RRQ|M6dZ)S`qOHk>{a_bu$>>}sCGB_6L7h3cqB43A&w?yin`{K^2ib(+Q0`{uT)}@jQV1&))yBKGEsQ@*jan{V!EXo57;mM`fGAbqWf^R%*^lySL%V@hl21f#1Rr2nmw z9I}4zb31R$dHi%rCHD}FTSHqwZH?Oj5DG|*^NLPd4A+al(32tpL5euD00ENEZG#MC z?t!2$BIHZyM)946jaSIoW+r7>kDk(qc4M%5)=pb5#6AK?-BP!`>pNH4gQ#&=+EMIeHTN73HkiHf%$rEMDDF zw7f|U^ISYhOTw>6*ctfoQb_E~B(Xh#;k>8Ji1sWg*WV|V@_hIuk~VB(9Q}^N9NV}g zMn4>T=YNWrj5WIqg$8O>|=nFAi(=5=Ce{suHV5(pBU$OJ@4L5!W zXynd-B&8jTpy6QV%1uU%)urH{0hFu*$89m=F`v(J(n4!|Z*y;noikh%%e#pOR$ET* zs%sj%x^OT1Ab)Pql!VSl`NY2r#3H5OVIlF{BOUspIDXip^tLggdzl|9woX)+v67(jH#jv?c z*Olyos>y)8)MAu(TdS0V<^;$b()~oeFtZIH=Vd~;?2m98Su%LNa%3OCu<^BGT zA?kD?91_pGf!HeLfY@~Fy^j>Wi!FQ&?P);3!<}!vQgU)n3knzkP=a7?zG$;ZOH6Sg z?ExPlo!HNVg5C?j>iiE5+(0#e6-6We#NXeP($3_ga1k~93RR>c@%zTGiWRh%LE@PQ zBn!-EYsG%GSC;YUL+V)E<(Q4njS-@9f1`Zpj@!bTYc7Qu&wg4xK%mMOUCeOl+4&xEfJsDrw29TL=SlNVS%pbnwBxqZITlU7%PMpqOD?w^ zMWRI6hd`mwHt4+H&39b}?~u+5r)kdQr^|^061nX4uC46uRmr1MFQ!s*36d<}`VdqO?FwK> z;clw1H&Y2?6+Ey)%*DP)ePTZG_=46wS!cU*>6KYQ`t#SEuQk+>JUj`Ln-z>;kc@-5 z4%m)Txy=-IaYG+YH-&s6wXE4wWumI}_j7rUoi`{6#+X|8IK+*NuKPBVXW7z)Se>dE z%N^2FBSO9+92zhua1)#c)S1UJXWusnI8Lx?oeXXrC-r$Lt67wo@UYx48|U_Mn{KW~ zUQ+L4u?K2-GvZHgt>Tw?MSAv}J-!|J)X!?}+gl2R5upt8TQ1j#28fc!D%n#307)~O zc_aJ4%g)xX^{Z9PIxC^{9Nd%Pysclh2C;<}O-){#y!KZ!S=YI0B6WYEv&E#GHR|(ni<-P%77XRjpR3Mk?+Yl})#b)h4oBa7LSoOV z*ix@s)r{>hOLKPQN!gv$khw<7*hM(lgldn~yP`@|^F9~h&|@;;2WX^=qQ0@Yd7wBa z?G=dp^0x;y@9CWDz4n&J@R$<@{C(3-f-Ec=uu1Rm^WO`~7>G159B^I`%xcVaoW9;Z z>fj?zzD{(0SR3TlHgYun;464z%pyD(1c>;!(t+JOc@={}MQk!_Q3&~MhCY|*)i{}c z27S&|JXfQ@2gQ5$Jjqp}-cwCFupE@$SYse3S6=b)91$(|$%`1$V5C(@)m+H8rT?73 z=faiwrCqHWgbQWTm;E2K9SlGubF=>DrzT4mBJ=DiF+89vzyrGPC@55y3mfASoJwW8_rJW&ZMMV4bra!E^Fz5? zgZbiOb(|-r&3SoaOPkb#GdWJHqrSI{>yPdxa_`MXgr}E$Pcg-1>a@qAHJAy}MNq74 zE5Mc1$l@wmCWRo*W)w@2(!s>4oNUH#H>18%fLhb#E{|4Y8mvvLyI#pUTPt_hDtk~n zB$DgPyYp>A$2u{8Rlw~gX_$8;28U>7&xz@>W?r`Htr!e+0kC|VB#@}`oFRPn{_fu) zt9QSEu{F@C3b;XS_5LY(o{uiIr<*kE@5<#rzcg+kkqCP|2e1p686cWL?NNy5FvZAV z(aXRTv~Na;&keto2I+%hIUU9!TpVQjK*j9k>vglhb1l zV@qzCn~YChXYW4E&3@5aZX00TPf0VzqEaA#B_>NZhq@z`s5 z;zJ#ga_d1g>jGS{2hll!L<{n%euCA>1N1bhOPeioG&Cqax;2E3c+CA0SxT}Pm3<74 zA8#Jm9eIJ572+drAE)O^K{Zt-!XB{Sl#p(UzZsgPPNSIYznkc4rD|eThb*G_v>nzu^kRv>E&pmU^ zHP_5Gy@pUVk=k!vcUaZF>Aj+Q&FaA5uRx0=04GPD_yYsGWBqNmC&_St;wzoEy1JSm z!e&lz<)$_XM0J$W`y_fx%9{vq`kOExcBdnkat6s+SbFK3jVe+h!WSXpil#aAUxGe}XUo*v99Cgmowd!3 zw$r=aXf{GdJtcy@sqw^L#$l@x-~tv{ zhM=@NdF;po=!%c{k{cbnw8Z)cRb>7-j`I1up|?F1@5-O^u6BiVj>gvQkYbCjkGx8O z-^ss_VQ0Ai<0Ai2vQ6>%OiiiR)YMGzJ-iD5M=9D}J?q&Bk5)BSOX)yboV{}K+pgD- zef<2O#Jn!J4c5j+|LOOlj)DS`|$D zlijO_X?2f5+8_BV{8LzMj^y)6>1E;<4t;VW8=cDQ9B#eya)9uY>_A_xdJ{XSQ*3JrY;drx1ik>B_+GUwW=YuOSr}UneHh9Zg)ThAa0aU+m_1}cp|11h5Pm6YYDxu6fUQI)~h*EpZ^$bRI>LCP4rM;)dpvG=QBGsXJEOlv7X z{0p-G3QfPj>2J>F|NhfwRr1qrgCK_6?aS;T`i;$Z*1Xk&M*_2dNiOFKcgyPUlNLbx z8tq)g56)c;nu3H3t*uKYnTQf0SaV3BEf)j4HW%8=#mM`k+oko+XUyA(s`+<*BEu-% zZyx8X(iSjE9VQa!jm)YWzdg@K{lId1nj^Xq{e@^OuQ;=VjuFAz6hxr0ixs;k_bq=t z_Do)+>l9?0GWcK@S8gN;=*Kn;0r1{6|4t0zzE3M;6+phD>z=fl`wm+)@7Wm$mQQ>t z;H)GkX~h38`liK>q9sUS2*;@oJ^6G~PyK3@w$XvKi48%9XkvIXCOj-C*pNL}FX1Y@ zi1&0OD_*Mdd?^CN#_!uJ>Ch;})em%GNyqI8)QUCl>*xoJMcpOrgt6W!QnS1LP=rO5 zhB4&nz>o!;%}aZ!wdIzam z$$~tBx-FW&LbiC>FONL}Z%l~LZD8%B zWZZgA^sz}q^vx;8`kbpu(JRA_lR87!@}M4SsHn(Ofg6F1iTorQL{g7^h7(er?CoLA zOnP?!E{cj&N9ZV{X~yQ=Z|R`j9r;?Bu0Q)X!!tyXVd@Y;WokX-xW2e9!OiN8EYJSF zHtO*ocC86z29utx=QZL~PBPn^7e{m-(9=AgW8S&BuN1BYW0uTbk6ENs5(!BSK{!h{ z@fMWCMVB9W*ypx8V(sV5wHRxJEt;6o?FoO=ukc$dfL`_Y9c|e_nys<92Sf^FzP`S2 z_HlVI#gWmzz$xg#|2S&zILsQC!|Z6>-pR>HNrp@fV5e_!Eqz$V%%=+;iH^Ili2?c1 zFD5S%1-|rgnM@u!%uY(k)hte$z8#F&_tKiHT*VL|5>z>?v-M~F!0uQ9aMn6RbS^vy zJ0q6~;(A$Jr=98kS$M!KPQFo+yC>+Sj}Z0J*2n1`3c88cKN|!q9lpK9&*FYc`vaoz z+$iF=Xri#tIFafP@%HC?g*kc^{E0hFuRL)QsSCotli3wuE!^y5a3UazN8zVpXwp?~5yDo3P&o zlF*OAexBDk-br8}iY^=%Vl>VeBbVqZi)=N<`ZtiWG#e_z%Fzduh~^BT(z3Jr)nd!(UT+zmTWZRW5d5#1gl#~?d4wJ3Z zAMz@^jfeEw-~{*2|A*j~%SdJT$c?1p?#=WrW=ZrU8K?3ooVr{zphtxAcbiu*|`ktS~=*a40HW7I~DT$ICF8*jJy7+R6B zlkix7EXYZ)`x{Eac-Gn3+~jbLCqq$+>dL0|n^&8IjnlDemrf!>gO(Llnq_bFm0!Qc zG^A~Ph>j_;oSBi|OPPjFD&U8GO8neiDEVpUD@E*VtwIU>%H8h@`iD+QE+Cn_I*HUX z->#sI9_Viu7|VXn!}Dq&T0>K-2!xdA@8Bi85flNz+{xwhKb%FpB_Hvb@nZF2Q6Gd5 z)ZnjJ?s9M0w#Y&UjL3XeCEz-V_X@BFsDysr-rlP&>_fkpB>$Fnu}Egu6&~#x2dX*f zMm%-M@Bm?^n~tMysqw9T*!jjoe!Lv_YqDRwud$VI_HfMl(b#KRq0u;VF6OoH$Z=DX zky1_p*HsP>gmyX?#Bv1ME5wCZ{pSz-1qo%6bBYzx6rYS)wj`4`Y8OuX`*`rcUvBFeC`zq!d54`2Ql$hQ9HioKlSZU)C&`7;wIf@9JRK#0fEW}y_fD!I>@Bc zb0W8*&LYFftRsBFzGvdD^3}5Z2py(YX$YD&ny?$K()qAA$26^-IASqe*b7=!qZeb6 zYuoi9%wm?wA<8&3BUFw=%!(-i#6s9j2i2xM+sm29iTPJeSEOHbOO>r_tRqkGzZS&k zrdj;9QXU!y%;4x2n%QNLQ<1nJcZOgjg)=&xP20?<5ndabVA|eAZln>zY_>5JT57ia zW?+6NMN@yzdq;CdnL^W@37_=Pqz_^C>mr@A8XA23}??C*0iCi=`lJ3A3hCiZaxxtTmUk)T7mcvUX zrC^Qa4Be8Zcct}^>5J0^LcgEko2Hfqar~E&-w%-l$!TabtZU2zpER7<$~6jn>j`6~ z(kM7$}mc0Yu|5cs15346e=+xq=Jq{f+xc!o*4wX?LohP;DqScv||%3|1Gq)dPuOs@?p zR%#hoxv!Dn5TUa-gG_&AU_|?FdwW|U&z%O2HqYG~f2^#Nb%;vT&?^4WX>z@%R_ycMSoXHt*HG#g=mbi(fGZ1*4YkG$=Y$RC?F=`MSH8< z`g=&!gT{RbIXSE{5p-Ogv-H$pH~njhY^yguC<(=8hjejF;k|lIC4eGDBoPrH z5u-|u-_^ISs%4AMI_=>D)*Y3M%er7^jUVs!0M)(o^shM~{a8lSiC;~12(w{qYF@R_}2PadBBuS+bw{5`uTy?cb~~kQs^iT)FIDpUHh+kK*x9-AT0$ zdmPHP%DCZZdJOuDFGJD{qlPnd-OL|lii=l^@2d=F-0U5^4Gf#MUwT6wk;aoFQWR}^ z>S}LQ1TB}u-Swx>lEUsBleit76U{Rg#i!t6o=i}Fm^^Hw$xL{>|NI%H03@o{h*drToVY{23jVwbTuFbmw0XP?jM}5Inp@*f0KA;I4zubBVWDTyY1J9(@)-9 zDj0aSU`gi9=kfDyTU%P@V9an<2x8gPiPx#AR5Rfrr%r4CUqy+^<=$sx_Ate>2+YG9T{4P9Itwxx8L-U zodg8Vilz$M^8?qVMy`j!CTdx6Y!Ru?VKQlg26vHvo{mqKM{DRSySfkaPJIao`*1uE zX=ihLbB|5!FOcWHFP#R^(1$aWbAs}_;dmHN=?P3XQ7Ln;NF_7?|H90g%(X6e_H$ja z%Tk^5ZBeV4l8YjKR^U5S_;3G-Ib`>rl31PB2Xyn6z(|D2Xf`TPSsHEs91-~Y9l`hZ zV1xH&^^XjdcrpY2N7@-(%XoWw9v*-qOvN7bMn?>rz`wcl}WveYL;3HgF zRg(CGpSgJOi6A#@n0#xvb2s#i2rcKEfa3vu)3xbiccgCd-~?O()HchbWlx=b4-CDLRS0$5ptBKoqup%@C0R;;`VHvT}ja6N`!Q$ zoqQcvIf7tm(Ws5lqLi9l-@XsnDh?aG+E@|X+$(L-=YlOXYOzWbc=v zs15(gY0m)NkdcwW48&4B+VEk}F3|NW8kN@+`H$4aB?oxk|Aj3PX3rZy`m^2&4W$V( zjSM|YYW8LupnQA0p<*#thXWKO_&{9!ZS#2)LSe8s4E9tqmRetiau^r0l<=UIYoSLJuv5eA9z+!<5m)xagF!W@Ti@pPeX(wA z{g@w3BM)dY>s;uRGrxsG1@uUD$tO@09DiUF$17%;0v6piVTTDl26DeF*^qwEy zuIJy0`kOyBRJ!YRb4~@Ov(ufqz%VN|qxSP;SIO%Cn1?6+-o?zc?39FDOBn+~G55H? zFMmfg?*91J!PeKUI49>bv-uLulJ^z)Be_x0fRiF%0u4;bGBmV0s->V=!qoB}V z`jf<*-zhlfl7wEnBHw1fs1(b-b&I954FS-T1!*kzIvkvfts*%SP z+UQDllQ8_NpW;f^8)YM z4G_58V*ALOa4?u$?fV&++ak(448POMxV$qtXXwAG`BgH!12y25Gx_^#8s05no|4(1 z>rv+jkho%1nvM6}RUL)?5dnzrNFl+L=?s%X2URvQ^i~Q_Z?gd5V$HH7rv(wUge;cS zx>duxbMPo1I7r+NYs*y@FSiV&4LdkJ726f?_*|4`9|rhL0|d`&2bSXC*!N&m(C^B# z^;enl?{8N10^Y!_F}nEM@Dxb7x1Y9mb|OqivyFJ1JmURc!2T7DSwwi#=qne0to>RF zJ!g06;0x+bsloRPIm|caQLBrI8J5q=+WyNL^ zL2tp6UHN4EiChj{T2)PREw>fZHfr^-}nFY9(E6c14 z?H?DaC6ofLLR=Xd{o9mJaD0}R4Z*qwg#G>fT14O`7wKZv-{kkvMHjrE&d-%uC?#BW@Te1zm?lr_p zK$c4_OI*Tzy23Ik>@gx_{CtnM=ItpOqv-6**S45<8xJyS5||{<&&VSU2H7XmQ0v2k z&Yl~|uH5x}Yx~wudfQ1d)1KGn@##M2od33Yf;&=RXX zecCap;|CS{9#zA>sx6E7_EZ$Lxh=$6Zcbb}$n`C0eTgnqT=|(*rzm;kE69@?1ZP*+ zhXiy!k&E^(@pf&Kdv0ZYoVM2MC05@^ZE<>ir5J7GR60C*qo0j1rPjLW4APYNq)YY$Fg&^!JnOk zY;IEF9B0pRJMEqUh1BFd>{5@1WQE-gaE-Q#r?; zFnE7jGT++AVPwapn_7MvfQ~p8y_9Vf-m~<*y@aL8O$K$l% z9w!;X;mVX6U`S>ayS(G#_5pE-w-K6m0Mt7CQ zBG-^p;rZ~Kf`>mH-R^e_S%2S@p_9It%6`qzpjcFl5l2wZ(pZ!>{rEbhYuS!Ry3g+m$wzDS=Q$+54%iQx;x*z5oKCxO!<5zAR*?d{37I7DdR@&C5g4(7O zjESU4a)dV}*P+nw*RI!ne@IcTrAt5Zt+P5;x`nZo_mmCvFb58jXTy8rXe3sPU_|)b=2@VJ~^^oxxRXcNgC>< zEwW5zOjcY+L9VbKPuSV_{rbVnJaSGAA$**K58h1GSMNs266_=Wjs}KX$>N^m=oMwJ zDHfN{YZFkIeaVh{PGqZ5qPO$o8TnO*K*akj-nFHl;c4|pT(nOJn+-@#w7=pVJ?G`7 z>tEW*fzBwN_JO^|q|>LkkQCyvVtfA4r(uMO^+-+ME~?{QhsR!KA>*|AeHzRT7})T7 z(&4&Wq~TjYt{Gz$CG8`YXOW97kGacfl8&cO4{M{Q=_w#5_am71DJC&%wCtS5S8gnx z9&^(?u!GTs1Sf6{^du@HR!^MGOLRJ#cn*U|v&d^?#(n@K{+& z1~>UvqfwPVBIiFxQtEg&9#gcJnp3Ij7KY@NiEmgJ^nIB^(Vqa90BL>b9&e=;jq-+C zE$-DUUmUycq)2}Cu~5(9=`jEF$3d0N^yUu+>Hr*VsCy1II5*qSVILnU)V=oqYBtz< zTe@S;w20u_bDc?K$791g(_} z&VTllBOGZXB>(<(B?oK%FjGAjwIzW>uE7eAiB`UEmtrhifK>8D`0_DzK>G8!5t4-r#^vv64IyHP{#FR%I}n_ij30 zG>b01@r;&y1hLOnAyZr1^MLt=*Gni_Nsrk}4N9*hl^Jw{llI;_MeW`GW|O6))3Ccg zvnJwSMo}38dU$GC#Y8NU>&{nVbI~gb{ms<*xYS_?WE0W5vki?i{!tqj6{#bkwU4>P=Ro zxl2g!O$@o{fTw;h8eu^V?2U*0dp5GcAD{8E(S=2u z{eh&Z4&c0=!rk3gic`6#E%BAnUG4bYY5I+tee3XxMrI zE3(@3^BTu=uOFiXq6*g{l4UFKSe|fjulgxxxf9f7`IWCUc4DIF%I*Z=&9)>Y ztM{hN(krfsCo3U<>t)U4XJ4Qr8|*$%vmfNU=S@{ySll7 zCg{Ypa%1RMa1?)p2y4)3j6L!~Yx6QNN(}m5@pf0$s7LFJbEbvMz&z}Doi&#{!^mU0 zBBjh!b3u$q_50XysARo&0#mlrRzY~Lq^O?)s-#LsuIs?@$*|>`ZOm}teDRF56Mo%p zJcR%kP&B!qkMf*~FuGkI1+(78^;dA6d{yyMKURT$3$#_8;cC(*LL#x~gQ0VjDFtuN!v19^yN5b|Hz~2Fk|msy#6cNXtIXv?mB4^wzE>Ou{~k8&pzw*R&RY% zxsvgLa&Zw?G5921bQ(;pu}zLS{m&bxP{Z>1#T2DbX>_%zb}36j4_!p`_If&86NAG} zUMd(>9>vqPT$}BSPtv-hPTZ$oz0_Tn1y_R1M5OekV>mZ#`bJ06h;;Oo54(pmj?l0{ zUG^v#-&zUZ=p%|7h)Dl$SEdCQR5C`P)v{^716E;l%htEg;Dg#|lnYc*YwZNjUk0iW zO2PgE@81a^%oJhKLOH&=0@HbskMEwwU_ws6r&3x(y^|&H8~%F1AYUL4c^+)C<&&n+9z@mYmCe*Zx}`2kgUB3)PFhOFX>w-D&eB*2R&YmBWgY+4&Mdr8|lr zF|LS#)~iZ~FSM~WC)REbdeMHL|A8rIPv103&fe!Bz*K4bI>ohhDzukS=i|{9Lh}^6 z>G!20naxbvRS{`*yOzu9GM=BOUe6nU=&j9uFzDyM_)aA>?#EG3f&G1Ly^8hVkaJ`+ zF+(VRrQ!GFq&=A#@tlLx#HA07ZmOI#Fa;1)cb3A${c} z=jY;gIpu(7CwtvT{I>!F>_IfBbva$O?UR1jy3>f-&7LGMu}IY~pk~6Gu9V_U38?%g z_s6tTiy}N*@aga~SI^MpMMOnKIqINxee~ePfMDf?)$`UH)QDr9RIJH~S?P2eo8OF` z*!ON{jE{mwL1g<=(_HF+C?|jwU`dr?@4OdHE&abv;WwPD(pwG^N3{*oIY}a9eL;kw z%{4?YO=O?Fv9^vhx;H;I*dt9L3032j)J2%965StW5-e&KaLu~ z2n%{41W2|WcbZ3ZAFKb$M^w=AXf3LVz>sy)b=?4cZjbr8hqS@e2HAaCLCg);YLd&8 zG;0^ai0dO-6FSes33w-H`!h=fD>jWLaNE`BMa7+SS)JZCKB=Hlk=07j)sKCL@rZHz zHlS)=eI@NP6^r?#t5I%jO(fFGluFZ~ML0HN#i_bb74isbw42bK4HbX{Rh03!W1t7ndh zy8sNH#xnBq^14st*XtURI22!8t!^Qa-AsMrWIG}ru0c(D7(X(x0kkcSYYA@%1#88T z>v@K*RkZ}OM*l)^b*0+|XH%uk6G~cj1KTp7pN@6>l!%i!XxY1eZ^~;uEGV9$%^{IG zB7(be%&*H&!8S2Ac7VHv$Xs?y%+^+NnZaOY<#4a{`*gTM<12lG_BY2_V)(~0-8arxZMhl`9e<=5xZ%u%XXUc3#O}C_gF@y}v94Tl5->maaPbJHDE}`9-w0$RZ~Wx8 zapViIu3G9FK>2&{LH1AgcRLGe9^-@)DJTTtT1N7@eBb`46(pacz?z0A|XQ+PZ>8X zUuS^7p}BHeN4D}4qxDjYWl;Vr?EwcTOY$568K`zdb8S%nAVglM!Wl-@=9kmI$1>kr zB0__`GWl(n5y8r^SWEYer~jp$_qulpa726U43Dy^RT+e?uANt=_+(v}vvjPNogCQA z0*YINLqz&;9x?MU6%BG`(Po&v^s)>o_BIl_Y@%LSDhMYi=y=BWqFF@HRCu%=Rmi9N zj=9^lXjLw@HRbI@}}T!j!1_zEtxBX8loQ2FdsxS8FvU?2{8w1tvX6dI91h zCML7vTy(5mc;?8c4xPsWraSIsiC){cWVI-2#ixY01S0vy;Q?y^_566RVQG#fI>6iT zkPdBE)uQByB4UK)&9iHLO|)>`=0~eS#nei5%0+>maptC@dSG-x5uO#sB6W0q(&__$ zrfH@#OHxFg#I)sN3rL`o>L0IvKHCIhcf8@i5!&qb-OtQ^Z4or7-NAv#I-T~uQ z@OslIr9LC;Kb!w6Dtf<-1UknQKh}_a4ePy)b;%+&f@jG+KIjk2AW@1aH=lUUy_Kw+ z0a(ILalKbudbe0yVu%v`(x63rxm->{ES5ljY&`dEm^PKUKLX?LXL*1Kj4 zFeJsy8-k#V1mgs$gtR&fdJw()^GNpEzK}!5!=aaNHe3RN(x6#=e>$%ClZ@wlTdwhb zEih;OptKrw*j>Yr>Y)kC*4pIifu9=W%}h-eb6>X3zu7EaXFhv$;ZTc_M`^yp9ZD_F z=H}@8ZZ4)-kUDH+&#)JW0W=P#P1yhRVM@5@Ou}3H_pr^s7W@71iu-ONj;Mqb0kIi_7MM^OFq8-jPOE;iF>p zxiR~gYtS3wA#x0qsY`Wr4hzTbahi}DB1|EB^6lr%=EA2Y3LkZAyep7)v?OOk?t zrX$vCQZFDDaSdX3%s=a5#*E|BsAc>x^IogwTvSKyA!wB()~>%IfE{YRwWma z62V~t3`{jmH{o8slcN(xg=#h_94DENvH~+FKf1ExBsYM?UhC$K-rer!3uetE$xw2U zVMf7eqt;N~ANY!cVxt5NkIs6xcf6AC5L=fg*z~OuiFfF+QUEIKtxi}?s1X(VkAR>z zE6eY(mV9{p?qI7oi zW#bUD<(L2RZO@dO#X9_Sx~#|yJgOMO>M$X}r?;9YGzSWyVM&vj_DEwiiw~V3ch*Ji z9~Fy&S+11=M5IVR>CrR064|!{aY{O`KM#ekGQOVox{Qjw!r&HxwoDRD2sM)XA3Fm9 zQQ*^l4nQK>s)@e)GZoXrI~OP~mT~_)(|@1i$zCDp$5t3lR=$#+u2E#`10A5z`lHd2 zvAlaqBGAl%$fx8hj(vbWYIwv&M$DpO?=NUO^leVBD+WOrw8|uRSgI_Ul=m23+1G=b z3%}Mq6?c5yfXpP1%#XpWw~*OvC;b*W7JD1JZCH_`SJy;8LiR0hW|QCHDFJs##kF9jDN6J=7A?QTp z=U!~3IaA7Nxr+w+4=>h>6$&2-SdI0)?Ngco_a*v)SCbJ3nw~(;lx_)S? zj(yGWi}HLN0v)rSk=mrQ9BAub?$ij+b!!hz?8f>w*r@jUcTml+Jj^*?P99tcN^@b0 zp4Yhi_>4>PV|6FJC?-xG;;tBhzz^L~pEu&^ zBda&qg=O8`8tq;qysK8bE)KR{ZWumRQbccR_T(N6&{qA4x6cq{J$>Ze7}WGyJ+pMf zYct+txO%xJ%&NluyOyic!p$nWHZrQhMaVLpUob;`cDWeZJhuD%xf{#kZa1Bsp7|7J zQAiFhC-pniEB)}cT!5b+=?UOTNJxaNI7r5}YdIumVQ%+cCSUD}64yA39`1P+)xpf} z2!gcfR;<%@7Vbsk!74c^P3CPk9868|ke(r|{Ae|xje6yR{vfaj1?G9>MCzD|GGV}7 zZ;iK~_==sHpE}V57#qo1wKTSknyv;R>Ca@aHw$k@%|;!*_@9wY34xv_td58@P{04D z>1&ciSyMP_Sx-^hJ*!-m`>~p`Ss_5fXsS^a@?jOl+8B>)B)CnKW%X@h$H+vb@?$pH&TCJ??|%t3xu_D>JF9myyX=>I*$Qx6$tRPa z4bF+dYTKD>@0}r2r#gez*0Me&^<3Ew8^)~Dajd-^q!ZL((bdgM!?XS+Dojm$C)CChO1TI_QMt0+rvj;U9rA`9Rr&n8YWM*it z<8eiMWf;zXrTZpnH47d5TWhPi*0sD*jx3RyvH;C}J_@G(?jpqerSImQ5Qvezo|adg zE^Ba~q7C8#V(OwKcNNwiei~6VY=#8MucSi~t zmdO>Mkc#ZGqU0wSpb*LVAgy(aUyGeZR`Z$Ra;6PK{gY}8b^=@-AiY7bU%bHS=;$Vt z9i3*Z)nOJzECl^PGY_*)%r@%U1nkl;I87AKD08)lJnE35MiO48bfTX&9(6f*j1V!K zh}#SW%FMhvh&Zl!>?lRx@!3?1okmg7`sadigu%&9xT{AtA?y9`eyVdL(zV8BMO)RX z`mxeKDvy@Qu59-7_{kDk^fEsbOO3m(DdlAk$GX{;IN6iitnZZ7EFeBdv1$2?0g4Cu zW4K$KPOz#~JLr#P-0R*yEyHrfcsNnyqnZ`Ed2Eyk!F59y+@20p60$eUcdmVIAV0T} z`%~@f7f;kaE|x|94Y>W2WA6;-i3WbDnricyR&Y_sGePrpL81Ij-S#w||AA zKW=YcWg^!=)C}=SA`02;TiQ6_p9x<$Ln-u!+iIaViE|~!wIlN@1HrZ zBPH46_29o7=#Lj|-oQztmG2J%`$)M7P)I~ zBztA5AB!Cxrui8G&st~nt;;NdPT{$kPu1)MYU5}Gvr9GS>oo8^c&X7TKoU2GQ za94^zhKg!+EhOk-+{{;02%G(U0rk1lVF)gT#GoB^M*af|+D~eo8$EOx;rMj${z;>e zSskgPb(afdPJ$~VhWK-}(~B8oj<5BvQTK&6#~>Wh9q3bPsRAKcVy7l~+six}nI>YQ ziDpm9Eh-sQbc16L`hDiqJuD(wb<^M4gjvq(=55}PDeYdn+A~Gya+k~$jTs>~xsyvO zqn1@UWo^7=C4V7R*#ix%M20Eb8CB%u302_IlUq|zv@ZHNMj+xt*LR$l7t4qa6Bbi!Xcaj@DwZMflX<3yW0R!x@~%e zpqS~M1=}C2xLe#oXMPp;vo{`B-o3}1E9(F`rg1aVaWVxN~cb1Q73T(QGRxvAK~Aw4Azg_f0%gW|4ep6~jPX73DqFx_%Nu<`d` zy0Z@gSdZ%qw(-iBy#gyC5s{HyeJ1vP>DE944Bi7ny9F>`D930pP%fu#S!3=nUEserUQpDl@b>8Z?Y@CGt+Whig`o)5mVf802W2DF}ldz|6 z$@rv$lN6xPzyrHOce4#D)8w!|2>C=n2b7$X3?jncAQD2ww2ax79~O^KwicC9G-IOx zm>%y8a*;GcgAWwJvY2Mu>|a~$B7V2!FaM?0cm3-ZZZ^8XG6#L-iZg+Olk)K(oZ%SzP;48=LhZ*o zV70*JWy;PpSWTnf+X}1Gc{3g!9I`9~Cipax`BRmjm2h=cyU~mP^$dw*pzS+iGmj&o3j z?}ELVrK4-}(N+r1Pq5nr$10ff&q)LIB*0z8Q}$i|P2ILg-`$)n=>}Uhor|@UtSr)CxzXWT-m%WhCP;6tx?%O6;LuXV;I4Aj!(*uSiFQx_3}R1kO(bzpkkhHxlG;od#lfuZQ%71=ojV zjetJHv>GjyUs0;$a_f5&GR7t%pCaQyl=N&**A{Y@M&{yeDN&{AM9}|Qlt?690T=0q!06bFkddZj&ox7mg}rzkhuD{jM8r49sLomzj2yj}p~{3~wt!GnIk z+->fjZ*+^IQ)2{cjKw5`4}7J6l>G;aUvYq@Q+ZOsC$eX+RKO$aE)STW{=sg%t6wPS z()Fw&gZx0TnNVd!dXsVq!=u6#rklh|6LOKM!WKJ_z(b<_F(~u&CjVHd5DS))%$xJH zX?GfJM^-MQ8V=6t=c-jzDj1c7v~pBs5pBk%IFf;QlU^XfvjE)0k!=17a?iIL?C&2!L%8P<#pOhm%p5{+TFo8IpHv6s8>%}Zk`2fS$-}gG z)QY?xlT)PS*l2)7Kh7+lF1=-uIb~KsoJKD9f zlU0o{Ffr){xRHl{(hNf?A1kX!1!UsD)|`giRhC;<9C+&|8CL7r4TrW4tw&ZD0zDi* z5n($W^X)wp1xF`zI?RFs*59C~>Wy{SMX0xS6pNio3=DqE=I=2~z5$-DZ^G*1O?E=d zF;O*Gy1-~LTPFn(O8h)8=Z2g5tIp-#>Q_SaueYXhg$f;;b zR$y^<>Lh#?T;Uo((bA2=AYz{x;B!Yv+KA6TweF_|5-gsCH(c<(*BooroD?;UBH;$E zou7giF?aAvV8lA(JL&U;(HDkUTrb&+#h_&Dw3?fakabk!P;s>?z_68966G}i#He|@ zPTTZh@2S;%oq>HF?CfUu#||<&7gv&)moz@Bz|dpmP>dAdJWaeu0ONzf=)q8+~dM(A}i7=|;0t7;|HPOJwL=s9GS~6@C2BL%nL#^dh+uX0y3Oln?c8%~iUpV7$D1cPd<7 z`dhgYlg`I2wa~}{x;kZ=K+rDA*U3vAk^}_*fr>kmqSAVNE2j_AB-p^noz|ED!ylBKkY?PoH~U2RNqcXQg61MFk%#lKW&0_}qzZV+2jI z<3=KDp^XkZrb3~8D0drmJ9pjYsFKsbwx6D>gXB=O1xrF(u7ypweVY)1kiWWW2#?_y z(VSwvD@6nUl@XXx*>p@UB<1!b#A;6S=hcTy6X$4ivw+n#J)28;$7Kgwz+;ZLrm`zR z;5Qxqfe)1El@Op$pSJQl`JF|k5PZP;DX{+>!otFmt5aVkbN1(w%@*yutoMborO^7K zSqI(|z4y*S6z?>k3{7byA>P_%tCc#@lLa@|$(`!t@w{#mVX)9&S-5ghNmc>k3OVsU zq4B|MQb=Z4isDPFaW^JI;Ua$7U100lC7+ajtZR=c*@dR<8G>xUtaANPDnoxlYd;6w z<}o;2FyAHMfQE8PJjT1bdGeB)a^z|qS9n-SBdTt1^ix-z60Rr{}=;PmEgkKMaaD1I8+Jh?IvIs&=`Ex}W zks`hkcIdFI!RwTDexA0?GWE5<6t~jND+h*nmgI$BL}`*s2su;n*TwT@xP%f`hs`TN}j| zWKGlphQ zKLSWDbx1`C|Nbnt;1@nRMFI}Y_05rsvS})F&ZVoOndwga>=7-SgGZh-Zt6q{ajq00 zuMOW#yLzl!@>zpsfOY$~S6}8U<%Y)QEAumiYZYBRhJ^4dSK5rO8kPhb?FeJ(10cud z8^^r?>CCh*GN+TN6?fL-zt=;~Ojda27?<$`KYg5PqOj%Od-%@vRTw+SEO-5NIK^Hq zv>K3?k5(rw)Y|^+D9qDKe<46x!~~0DSiGF8p<#<#0kdPDlxA>EW>_nkY3cbeKjYC4 zN32hjQGfxhr|M8v?Izc!Cp&@}h|C}T)vGnL4%X&tIV5qIG6p7##3ADs1GkH%7=}8H zj`t>^geo+dQ5mV^H~#X5poZ?1dTI_RpVPeP_3qJpi88uuzJ$8YKFeaf zwos(?fNJBg)cRY6_d~*-buo z>XEhnlcaIrOpKFV38E z{g?yGQ@KPD++TI!>_ly?mfu`Mi9J%B?P~y&c{vFINRLH-84rpD>Ye2SV~+^ zt0auo3&uZq;*k(N}LtCS!nS}7ujFYD~gyJ3L2srKRFmkpaD!j+zWm1$yvdR-CP^5>4B*mhruISwx3sw7QqUx=E@9_ z*{GY;4(9?_jgBaeTl45NP{q(l@sin0eM@_jIbtx>I&QT>Bk1+VUPW=1Z2FOS?>5i1 z(MA%m_q6yZYc-Oj9{u}r;$ho@dB{ROexdjep|(}f+~a$3{;_}86uv4b58l>ILi$70 z^ADW{0&F=mynxwT89uUrZv|botHc%!t}y!rtl8k3t^fL*KmGj1o!KlUY6mw)G7m++Xnp`}mB34}7i7Tvi3V-HRtmlwjcVqqO++{IWRpafU$5v|7>eb*J z@$BuT7d0#ttCCv5FT~Y|xrXole$KU8O5KYYX`yWDg~cNlo6X>Z8tljoIm8B z+<2x`An$3`$@IlS$sZlvB~j0ik;m5eLXA->6<3I=Gl5ysPy6wfsC=s4_oQqbs-fY! z7-Q6Nz42UV)|r2;K&LYPc#IyO>R_UbAWoxEPHy-r(`XWw@tKi>y7NrMRog{(_Hi$_ zj;62|%?D(dV%a@kzgekXCZ1!{XvDv)7RJ>STBUWz;`Ewaxw-K-vcC5-S>ZkY|JZs9 zpg6l_YdAuJ1$UR=?ry<#a0nip!GaS!1PJc#4uk99k|4o-a0>+200RX7pPX~=c~9N{ zt9q({f~sL=_wMesdUdzxyW&Nv3hZvRrX2)Rt#g5g_Q#36!Bw9v9876dJ&T`K)&mn= zqRGEb12BA+x9WyIt@Lk!FTnF_-B97MIBT`;aeYBPBIl&Vh9{2X4~XSq2t?FPdn?vy z9u;SAyC|*kz0l1D%6{(V_h41Ub9)>$Hrt-L$?z1^5S&GXMM;a`=wWZnfAcqjgn?QL zC}uwX7Qn6x&%htelGo$1RExB#F+s~!u7AzDZK-}f%2)_1SUh}*PwROk_TJ9!eT~rN z$+Ql$9544Lm?zDbl0gl1{O77f;(hk~A1O>S+MNW+M0|Vf+q*RS%vOb=1>Vr|y^3EV z-FBz%Q1CEAqy?J8KI`*V$&oDtPW|}8@xD(Bcr|HjcEhP1?B+rfD`iSVAK|KTp0{Sj zY<{6c!4hbP{>q*0O`2_Uw&$&M1>9s6?9Cq+@?)uk6U11F=hf$)W@{DP zeqD(^aIil8+S<_KFk!1=A;S8`s^65NQ?)MpbaqONMT>=hb+{H^uERp6&R<+*G+#5g zt8Rm|O^0Ty5j&wj1I*n3A2m1dOl7w!Oc$#tnSZ@3#)!aG%QzMN1c?ei^3gy@JYSLP zKOTxT67PNjKY!@$)|5$+M*4I4*)eH(>$-mMM?M)sW#F@5^*N{Eg||qbpZ(tlXtG8E z`mJm0W@)6J^+19Jnd}H;J1w4rn(+?zUv;O=(d+u(?2hNl=5!+E(+7Ts->%YM&x%oh zBN}73a?NZ(A#HVy_2+1z4UVbZO)Y%I?VXTXh*R98@NVsh<0l!WJijkFbN(UInNo-G zcCRq?(B2XwXuEwVWcdK*#)oPdQ`4VKo z^x(|!G7d#LmT&A6u5GQ1cE2}%t6mF6C9VteV?IQW32K)em#`UYJc+g!SvY%Wv@__M z;8&o%Zw@)dJ3uesE7^)um*KMBa&@MpUv7klnH-62K@9`o@AnUfsLD#te6jJT^l^gK z74EiFR|Dj`$%JKe7qt5gvGb*;ScuBr3ioVV5Re!BMv!iSbx4VOV`0+?5phCFzne1L zLt1J$@noaPr!#lhjmrdf(%KEk@Eg$gW)WeMs@caTwVc(ebk9(7S=um(XwSmOYX2|}?S}r3oY@(Cl_?-1 z%O^*UUl@-0BOy#>rL^sm#1wNyyGA4D^>s7LYf?`Cw(rP_q~-p%9>H{@k<6wr91qZP z=foaU*@+K(NZasbf;`=i9)|M_99ukIV;1&HS!Pi2BV!zQcKAZXwMx zoYV^7nrxkh@WVVO-}gH!i#HehTCAIMfuw!JM-6R|9>8ERsBy3h*)mT_O7tNUo4&1R zHRXq61j?xTEBa@5h|e*f{hue$LKd(@3y-`7P(9@{Q>`A-LMUpXhjHsWaaV?{y%NX! zo=W2GXWXe>%dT-T&S5EgMM;d0a+;YidR4hQr`}B|LQA$IlNORgrgDNoC8J?~NCooP z4_QJyM=owWuN&H3i2m&0*PApY%>~+D453+5rCFpY*7BE%8`6dWh8>EL7-Tb^(Hdd} z4KdRQ3LSr~OB2U3-2UDSLI#d{`{8@iwbhnTIeq! z5vvyCU8_rWtJ&{ynW-M(`_G=PrLsQ5W2BmnEEw`JE?hsgt@x4$vQ*;vhYD2YmlY<3 zS(O9`Pn)IjKXevk@Vl=kIAfPrQ9oVl2P=3qHQh(86h+>*k1s_Fzu6=~-fsFFB8V+J zX^4F`RaAEIMrBjuYARF)&0S-m!vW(#z&czfmrunO7|+H3dSjLx{bJzv9%pDX-n-lk z8j&mkr7}ifdvj9a6GY*Z(DHV)^yfO7$ossJtIZdp@5Gg%ET;*(Ube(Ej zOC}N$+u;e9x}KY4wIphncHiUI*+M=Fi=mIc%&ti58zz@(p}=D!?0IUp`J?C6x!NnScG4pq#(bjfbn$N+ ze=I0$6Rh3OvOW&Q_uuU#wA2l`=Brj8g)xCly#!Z2@ZtA}?O=XMty#-^85+Z!|LW3@ zmb9c*EeBvLg8&%x8Gu0`5}#N9vU7P{geLn%Ne~E>1Z=Gyj-!$)c#nhs`~~H+|9OVO z0e3yL&r_GWCHXIptN?gqR;!I~a}5LqG^BAjb=#?aV@kNiZTIKH8rWDp`2O)-2`0}n zg>dzV-^OT&GN8=1UrM#EPj0v$$s~vPCTXE)i_2)h%>+U@ykA=IY^S zztq*d!=;@qRfm4E-tQJ+lbYFdS}1tX(kd_$5u(XDzVQSna^K^NlQiy{zTL9gmh=*Ps^!*|~VS`_&;>aVI+9vGQ17UDKdEC&72^*|-Nw<3QC#?9? zsY)@YH~+}kl5syo-If9i(QhrENSi@3Axn_7x~1)S>4HDmY$`>JboI#+6pGtvgK=1ziubJ>vA2guxrHhYxDVZYb@owJlYf=P)&a5%LZkIH%H?8U_# z?DH$L&Abv--RkuM_O6@{KksBFRPo*wcI9pXjK9eN=ZD7cWJ*~z-kuJ2oNqQy?Vj>p zbyx4yzoYoFx|IO|{9kGuH z({+WC(JyWw>hbp$*58fZt(%<33i>W5nA7hs71CQt^$k_96Zk*ZPL$Dczu3*^x#t=) z1nfB}7;|OJ@%i%mZ`-|h{HgVIBkwfv5t7G=cUC?uu>&GkNn3s_6ucq%_ zQadS_U-gWPAZXnyqd(9QgFk;d;z<>{Ci;Och>=96*N&u51FQ%N-%+I~ z-BRfe)0{~gGJTO3&mvp?zNrY@Y?E5}Hj2xA8QU}OW@f<7bdzOuMJtZ(OU|nXx&%~V zjefdtr2U39lLnkA9EXgvw~J%pAEV7X9M$3Ho9yWF8kl}(ru+87l&2pGvFqN5 zc$+Bn@j+j^%p?|F@r*Y#@Q~Yy#b~}Y($BD!1?{GwVo7v`mn~SGt9ymM!0qBn^x&~y zUgh_%Z`~%NPhiq;B(?$zArOKScWD&gA>0x~INL2JSFT$Tv1rh-T|0W*hE8MRF*aQq z792P|p`|ukt{^HySduGsUNUY(J$`H2qt;+IAInQdu;>jpk4FsL0s)?I%fDxV;$Qiz zL;L{kg@E1I=vbN@wHiTKn_)XA%XCFL$_2l(v=sbSDl^VK#d|b%#EYkkfb8V{tKyLxV zsrAGjd1UW&QR9Z+asuM%YJ&WjTL*6vV0ZeZEEDkEqeraY_cBogIU_ScB|PY^BoSxQ zLl${uBkIX0#oz_qRUBW>onUn%p{6|i_^eqX{6~L5`-CQA=SDpqJ1zwV=wJep`BFoi zRJAR!SS_M9+f%$g&CHDfUzt+2FwgwbY*etY-Hg{~{h|^y+o_Cb(=X-8kpVo+gtsT9 zCP|b2TpZd=B>L@cuN4-)EtEh|3Z;W#Ek^7?<`a|b?V7U@>UaF!Gftklure#8Wr9RM z76WKFKC3|mT9sxYHX4u_Gs`7$x=Y|#(>s5vPom*j{)Pn%{2HC1L(?RU_cyMO=yR4= zp(e!9<#c7Uu+0S$UTV~N$eQ(U$f*GC>MJND3`&ioS(aTot}h*Mv`~tVC$>Xcs~n=9 zyx{z?FE3|Fz%~6eKwo0nlVTDGCCwHm%~(P_;qNQ#y0MlBU9XXM*0+V+C?FxLiJ0LR z{-km)bn&##8Q26h!q*+i)teunA9nf}qND8{8-pY?=z;80L;PJO#b56yK{j_1;1KpKhc zDgjvD8|#%<2nkF8?n;;&BKtt!#Mnk~%W3q0F?Og4;-61LSJnANr<^Y3gHAeirFHl# z0y=!GLneQ@E&=ht=A**?k zwFqOgs)_VBkQ>o)ge?I>{z0AXX&45j?$egif2dy&^77sk(Ov$mHL*omH8)X-qe2&^ zj^R`h_IQ$^c1fT?m-!|4h9gXLG(0+3bwu?p@k!Xam#bJTudX-P`bbkNM4f)ZFz?;l z?iojheAM0FkML?e{lfIoVrKrbi9AkyCAOWnzswVFF^E)m*^OpO)It>XWe|v*S%GT2 zXM$6BLdOD`pC-q!YtQD195kq9%Qg@!j@G6e- zJL@W3_3ZRADAS@rC%zFcXR3g?!+Wtv4SlBs*z2y5toBdZ$R?$82Ddr|e*cQjPL|HkJnz?lD z60`R255k(4Oxu@6afr_=Xr7rSX_E`{q5YGe{U_QDrT$ISuI&?V#{pM!K%e$!9>Y{? zQ~YfuCc+v$aJ*~u4}0rAFG5p9ydON^h#65f?>ms(nT%G7=7b`-ci0Qj3_QS@?3(q2 z(PV2Tz|Fv#Qmdj%S^dNk{Sg0(?$yOM7f&XREbu-v?cX}{+;1Kt(@0|QMpJyJnintx zYt2L(c$OIeH~3nEwA$fCsKZR@(9F(Eb!UK`_RdN!{6zz?_DDm^k*jSFNcsEe%Gd!6 zGFmN{YwIfiLrV*8c?!}3>OxYvY4`<9QP|dWSkVv#(zd=bW}!0YW#f#)lrT5G2Qm8L z9wygo@LCoMhhQ{JT?Vhzqk?8~c0#3w}vbd&JuHp1&l$Cim5h;^})|KjF3+OZ` zAQ@&`R5WPW zEgzVo^m%+-irAD6`A-Yd#o1>{%1tt*a6B;3R3O?J7JX3VU}M|iOlINGYm#F8xm%$1Bp8&0zYXO21NwlhIQe?y1Dnoc-v4P!Xl{ke&m#SoMy5jbPcyy_~9+&NL zyd^**Kvdp;s(rJ+3f>nf?45kzpGidDf@zLE$ z)UoT-W1koDlrs9Q?}fcGXO4;(*2f?dRd`FUJfD&#u8PiN#AU{rJa=OxOIn}Pjij!a z(lrk_-^0|gO&f}RfF%h3+A7pe`95WfdQYRVrkiG=mY%h`L^T49NXIkX$a*Y1~dUxc3y_^)( z&km3T(Z@VPX7{;w7*l-|J76DYPuKkI?)$vtx5M{$rvapnqYPJ^^H1lqB)I42$#b}P z0}ucaPQt>apqwdOn>=r0xNVo7Ph!o7roOMKeJsNyF->YQa4;5(?WVJeKlyQ`QY`%gkWZPn)!j3x--aLp8=ENr_lLcs4EROD@fK7h8tuPGqAD@S zTx%tFei2pI=G$cWQXlo3TfYq+Y=ZO_MWb7EdaNi2BU29q#ZqY+^1TyAWmSWHQ0dsf z5ttCvNmljX{&lenOWWg^|BK^VSE)PJ0E2VPG=1k?Vl9?zk7B}_JF}e?`>o{N)HovNrC+OTiA~u~=pXhc18BvP)}Is=GFKTbVK9IgO>wO(o#kJiLxAL`|)+YsSS= z8@Eq~x@d8gYybnGqlQ2E<%%N4#0AqvjlddQNo)ZQ-1Rq|<<;X8za+#Y|;;COb7>VW@IcTIA zeC=<;&%Jv4R65b<;Y!uZ_iKGM)R9WH|Y4g$6m#xv-Ge&XkFsL9VTo^Lf$(9bmmf2R9(uCp!44xC^w^3tOaf3WEqLIbESPW zQP_d`NNBS(yXivi@T?73or_8~6JC2)NUPTVG7$LfsDZ%Go6UEH^8X0@Iua7W>fdXO zr-u+d%^R29$}}|V-lVg{pl!8I+^&=wJo>xw{|rCh-_IH+PZ}8uI&Ukb7bd4rzukQ# z^S(PZP&7}Bi0}#Vm%JJ4ewt3EkKMa3M0A^-4>g=w)O5_L_?$^^>EaS&BP6w~^hk4~ z-96xTJY?Rs@swuV?I$H@B+Afi=RG`du_#;5_h3;RxldjfVW#`lN=;R2>Gq`K&*<3GP zcf84G?uy+b4y|q9-c{PyD9#u0)oERw)@0MYwmE+LS@7QL7s_hDj_M=(7e>?uhNQJf zlyeHfYu)>VjlQ7CfIbiT#F%9+!jvtXKT(cieg&}B-(p+J)QZzj9X0%`JJu>E`$=;t zE^UJiJLA>|SQ|^Z-TpGxf8Nk~EeJCBB>QsAn|y++dCi@0&X0oF?pM4us4&=b#IxPP zc~;SWmzv*`iX-_ds^%ajWL5?Bh*w0C)Qn_LpEWpSP)2dlVvAcM6>f$yTfGYW7jahP zoM-X0o7cR4yp=Nw93owN`3I#Dg|s1XmkSTl6!70e)bq3i0w#8CXR( zKde5K)&^3^Z|?ihbv*8KI6kCd>ocbezbAKm7SKuPEN!EmCA!vsC~2K#uvp7&uJy-*q1v zqQ9$zX%P|q8RMA=yu7?<)7{PU|C7&B#w8(zaU7gz1{~Be-HV^gSyJSTlS<|(ggO~L zJ)DX!`RGKYc=WfMM}P}{I&U088tIN*4meR zGT7)aS;#f$0FPBA*YACdMi;7yX>}|t{HN`0;4$u?B%UiHS){RdO3gdG2AO+|YwEBJ z&rj^D*B6}p(Hiu2Pw>JBEkOhFNWabUjb`qr$zeTDC+`2u0zgdKztyQy1v}X9-K~=B zo8Twz&*TwDLkv@DRo_1iL|07Y=HZFxh~YV~dDRWts3i*}_4fY>H=XICHq5-9FoExG zYr?*br_T}XVLOUS4@4Itj3q_ zXx!Q|UGmzHZt*Mk6UkcHs~C1?iKwV~xJw>oaX}))el1953g*wVAH>zn8t(mg{fFk|^ zNy@mDzrnT<1oxMqyfkPHT>E|6#Hn%xo|(+zQyI*WlA;R17I43!Mk76|dOo1K9#eGh zC``@4$b^0qY`l%H?^W*ox z%ogwq1ZoGMGNt&PK>?IFp93E&2Dh|d3I&}s0l!{%7Z2+8)#mX$}5Dtvh2SmR5O}2?mv0|%B>On#jc9s?ZRyX@w zK}vJ(W%!>c8ip0f=di@^iIt`uupCh`(XM=l&VtRU;%%xm&!r6>&QaO;kr^|T$|$T-J=@o) z&lqWAJwEl&7%9VZOJk=rR1IQZ+)&IN-er}17}hC-F=`%EB;VtCWDq|NoWdhQ1Z@@j zFBaUKsmWRag*MQ+CV{ZHY3#AvuDhLu>sljORG^WZ2 z1dJ*qs-az#5oH_)l~LD0gaiGNo(Wr zd|4OVIXEQ7&uE588+nKr>(00LQ@; z{-+a|P}l9tDU3wp{x?nO#4&Wg6=4;26ZwJqRIYgBd)vxiYvfm~O9 zOi{gP%^Pwa>jT1il~lgDb^uJlrtwH@h9WMPhzm(xJ3XyGO#(Ox{7d_LqE7zE{q3Es zeurX=IJDJ90ZA6QpD^3)ahf-z3=t5jcyj?> z+~ZhOKC$$n(xDC%t;mz7OJ7B*NB8FjwaxR1s#x_@mJJjW?=B~d1WfD)>h?R3I`w~< zc;K}PW$@GH*`jqWpLDT&L9Q7z}<{tAROW@L7dk|y5`xpw}{efc`xxMtYBw>1f<@02Z|9q>lBY_-;8bPLRW;56W~CO}X8 z6BXmS*Uih4rt!*+`kOwi+^)sx)A}Pc=&=j?*4KJx(#J@w-0Ty%W%bR#)l7J%ZW44P zwUxCkuCy~q<12?^FLn(PkmTU8(;)`ZsQ$&bp23^%g=~8H+DdS^q}>U&&$sg4QRqh5 zdR82G{>jzkF}sibDym!cKI5zJ)NFxM&*Y-yhTaDb_e1_H-v`Nn+!RM~5IN{C)fB~n zmXEI;IBtwz9cBGIGDAe~Pp#7&4fckHg~H?blj!2Q`k!uU%&Rzc7n4D6JHvy$a9-Z=yGAO;S!>m-4@$oE*>`t{uxL8R=rTM zrTZB4t46DRRsGE3D3N9~{p-BAxLS<6un!d$XVk!)pM%(j7PmpjX|mAvX`Eogw3|m* zV#EAjNYUndjDPufK;q!FIo#y5L*wEclQ9V1sOKHNE?1`9>|A20JXkHR;-lcA{7?np zwfeclfv$J|uB>H!1EwOCSx=~C&I6OKHGmj}?Tgkz^^aQT{mbWAvYmC9LSt@E0fwCt z7YlmwDxDRu!UMsJG8tgq{Dvs;!+>JdxFH49d1Tv_=jp?OcuH*5dPW4$D6FOf%(qOF z?H{Rs#@O*|;@3|~;@UHQ6kn{{*coaqV&md!A?4NxZjD$dD&ABiu;cE6lb7xN=%gI$ zz2Eg${4b!DA}jvmBBT)5)g4RT0n{o`1MYJ9VZQRp;(m8?GG~*C*QQs)oiMs=J|ZFm zX{hmsz~EkpI#)K5X9=&3oN)|j_-Jz;o+Tsh!SWbSb9e8t>rKnP*?@ehpNYm#|I1&@ zBd#e+umFx%T1$ksOx)9LWd3|sVy)snsG~@AM5k2tRRojQ0|BxhzwP|%wjW>kc>94l zVrl*QhoJi^Wz)>Ll&-SXr1Rf;X>?egDuOMVIPk?fyO|ZMT$i*g9(~553mAn08Ivv)fyD?P4$LjKh z2vVUkxL=j12l8hlLhl`AD<(h=f^&*6A|2@L*QJ`>(dFWgi=1|%c#5nngC`@O!J=+P zY=A!EujC=;yCqaCM}u)|t7;UPtIhK4AGG;sa-u3iPn%`yc9475XS z-AMeJ5=ZrO;nj#&nhJe9DG360HzNK8Jdt)|G2$4u;}z>MMDqQS_;2{(1B*&F+~PF} zG&BZFjb;0FHQgF1?mt2$q}XlaeIgPXzTTWSBO#&EF7g{UbL=95*XmL=e>g1k+sU(eaDt2mPWqR*p zwJlReqF6&oRLPMZcY0=mFS#g{X-&zwrQ+lsl^@Kk#ZDQh2ZonvX0*sY+|T@xC#$zO z`karme-u)S;rJdKzMo6w{A{`2CFe~n$It}EjbK3uAVry>cP}rKX_)^v^^^^5>S(Q> zQT9;hR@tE+Uw9D=FNUg;}|3DZ0n9%q94KhMyHo%w6JtBN~ z`ZtV0mi@WW8_M(H+p}$dV1#xd(C$LN(CPg4A2tPOI|2fKIHASnI5fg8@i(~dL_Qav z9S2=|cQ$hHI-5l8?8wVT3#!_4Ii>q%wJwKkr9EHEt8T%nN#VU%C&%#E_v9VEV+p={ zMk7}+TDuynDE6({_pzyDf77!_F_oq6Y;+S;_jaZ1jt>>MNT^>nGuR{LZ}Z;c9)-adWBh60o?MYmcahe zHx|@AroJSd)>Ns25jk*1H5tCvJ}xV+EOkUU^cFlti0Zu=BH(_w&&cW&uQ z-zj;kWX9BxU8ug;I>CWmV*8h-jQqk5P+$D_#k#ZeL za8B=-o>`$7V2Tkr5aH~MdGbd;emD%{GwkCk>^@NfL?ZgxVA)`hc~|!L08gYluMY|k z+QU@L*ohZGjbI^98xU(Ip}5=I=tBCjyr9rny9aVce!C^^xq+hJY1%F%?fgTZ@5!fOeLh@;kk%B1 z_9$OKxq^{vV^+yy?9m&J8-%GmE-h^#58NAROxX>_|KW235&oyN&H~3FdAPkS1a=S5 zPi8xl{MQX)d!ddc8*XE8q%hZ8U4upzBO@Yx{s* z<-i#!pXGKU1VE-=*xQh|pemaj`1k79s^Fs~DY2M@QJX&H9kMBO*XsS|~Ho-sxy^Y)U(+}66cdbeDr z>pDW-4+Ybtz!-qF{o$eUcz^I?y3AR;_tWeyXu3x3nn6a@+B0LhC}^oD81-J`npAe@ z2>QE^YUvx*C5>O&TZ(9izG|it*YP4JQyf_#%`5|)%AHx8bNZ4od)+UPLs9kZ<2hjX z6b7SjUJU)!;VL}geiS(?^qY5_L0hMHy9*a@7wn?c^%xxbK{f2s)~ex-zPPh(lMCn1 zkPyb?FG42GIO*9w+&E$AR`LhnIv#UY>?@|~VG0s_A<+#EFV*||ec0lNTSBi}IN^6g z>~}*S(8p4_4gO$Y_5pL@u8Da~g&zFiMIHuv6=AIze2}sho-(ve;s%FZ|BU8O#dNj_ ze9nE?&6LPfcXno#k5+kIiX)Nc(MTV(2DG8?5DY6)m3P&q7-!1`+R;hR zSaap}PJeQNbFvm8##KyPgX^e_kEvh!hU9aBLeD#(VPjrbJzb-}OgEM9bu)+awV?AY zsh@auZ#1IF%AUk+N=f_Ur8VFCadn2aQ$<+-SH`9HUxYHt$qc=7JMrWl_cr;tXdc~1bkR0o zQR`ACJN%T-)=%0L1t*h3an7E&P5odv=~lvvjV7u@EL$)j-GArQ73*EO0)nmi*K;38 zLO+bj@ZGm^pmJq7I}ke-^e=ri4NV}kZgt%KTWC?>%SBtDBZD@U{U4g`*$ZbSN-jXl z1i5p$K=H;Wy^UQK6ycs}cF)i#$K7~}H)e0-q*tzQbm{yvq!m~2@$ma*p?)hWki)|z zOB%t`(-BRg&@OD*nu}9c=(z^|8^JxvGB8?OlmHX-{W(s+IlM~4PH0EdgVLKAH!phd zU_*wsVawvXwg^3^? zdlexsV9i4dUaW0u-ad$~GYszDf$!_=z4kI=qsMI$G3@6huZNyl`_MBbvo@dGs<&Tn6<0a}UPXx=K!jmR)P_=)25?#0y@L|d~k%vii>K6QOE`LG$Ttp#ilC0^-{ z%x9}c5ogyc&dP1QG0Y+ZZx>LYskrRCrN5V!i_PVODZTr%HIy9m;^oWz+p+f7Q?ZRB zrz;O_o|MR}gsDKEL=e1pROUWEwN}mV;GyqQZv1k}T)fTa^m#}JPsEwa_MoEX4>V3@ zH*U0RtD%17ZUQV^l?)-(3hb#VPjkdNd5&(KQmflH#7e1dW~5N#YHg+@EB=Ps?)HA* zdS9sIwkPp9JZRQ`1-=ju_e)A6BKn;B|B?4PxdbUqx9$w!?J?u4@4wQzRlo*zy>^{` zjlTK*Q>&zUv41EYSlwAJ@O5?f)cq#?L&oc?8^gtBu;}pr3!W4!rP_?9aSr>1z9Ev7 ziNsg=&HMA~KQ{dV4S^b4HvAVBOxJVM6T(*Q<}(8PYU7 z4~cU-Z6OthP=6wT=v6;Z>1_beGC&e2^mAFD@EcdP?4K%`RHC})CSY21H~djhDJ5Sk zoC*kTQ&7nEYlF1DL7kAuO2gcr8y53`WbsQrC!AUM$l}A=MJI z11S=O<0Sgq+n)oW$716MKU+ll@FteV3mnhp-k19&)&J@7x&}Xn4eu0;*L@#fM4()( zn4F-$kaDet^l?Jvxn0>gPAFy{F)1|(Gb8a=L zNPBYwNfYJwS_lcir;3`!iR=~$RzDlS=MIu^`Kx(%5s*2e>O#sAaSa6IQ+9KrOib6x zi9*m#4Vn|7_>iBGRe*nb3(`jQH3{Z_v?72yP;|(pF_k68F?pSP@<62kYf@< zhb&V{r$hyZd0Ywsq=OqkKG>=wAJUti_uVMvRvUNA0KGN#DfunM3N7z=`*i^0B^CAm zS~6}Z-*vQtpG+eOS(;^5ejzd zrShe)$ar8R=D`G;RWrG$+Q}Js5zy{Pz{KS919HC3+A0=vS!(V~*7U<1MptC1ab$XI;D?rBRrtCJ9z=+g7yVpICg6)p% z(;X8uYysB-MbYh@tf81H4`Qj*;@k~r?4HxP)%_=_zBU1x9D6Qa6lSnU6 zo;#ZYiurfgh`9q@k60R5oLY6%H)UF9)LKvtB9{m=!rm54*)mjNpN$A?Nu`x&mXOQD zNl$lMtrA7j9c6@zDFvS^iV|e;;8s`!hZS1rMGA*e%5?Y)feoPXYuwQ)v$tW5#j?)* zqv-$moX2#SRLJi{qs2h^SFLkOpE5Sc`HH=JN)KIz&h*(Bt+Rc(K?B!pxz1E2b7Cte zXB7_B=mFZYytDxZ`7J{ap{whVe_!%ZFUDxMIc9T>*vo-QXr^c5#*Nhc#hT2GAyRg?My$2|kw$qghE39=CAe+dj4}cm6;Jwo-yqzu6>s{K~ z`%wB(k{m(eGmtEV4E&4s`Kzf8`?lC%4c_bvA6}J>B7FA>=<>c};tSkroL=N!VA4^?o^-2!v)@4REXz2S#tMb{bZ?Xm~N zVraEDm69QHq4XaO26G6dY`Z!x*X220F*Z>{+OgMFJpb{pNw?CIRqAzXf2+Gst=^M^ zu_VL@99F_V3N+ZG{?fH*6@~+w_CT)CUdU|edQrPDuOU^#r9H%(%}N&Fl={QbpxBMu z{ji=#=adT%NDFigbZ2-^CkY4~#L6XEQBrH&NU9#i$9cCWDQ#`~>Mr%wu_mGveSDD$ zVI<<8@Fm(E4GVCtKTbK|yFLsQNX;a%ISAb*gm}_&TWSBRs*C%#s%tjxK0lk;csQ-y zcF`BRcCMtr@82p~k35+lQ|-ZK26kr#44l; ze1?<;XjzlI*dYIILU|S_K=1VH2bzA9eLB}^X|BJbUVU1?bG%*tAHn|>)GZN4fmtWn zVu}?pPsQ@ngm&EsJodeu z!jj#W+D{&gPnFfFqWG1qwATVuWbJ+h{8IC7BGq6oD8lF@1hATM%eC`&Y*?vsa+qUr zLdD|x{`kY zLZTEu!0WGFd7uafk#;)EW&ZR-D$H?V$OYeF)HQ5KIgpj4gH;aWQ#I2_GQmD(%YKIe+u0r_ys3}sH}E*^GeD+| znsyu~LQaNW^)TKZ?-^HlZ_+!IeGa7;r~d=5e@#oy4PaVQM>9-WwAK2^>N}C9mhcYa zeXxCYENc_}kFS8L$oEB%&FQ7Vk?g?J7>lErw3^w9oyPmWt#lhnwX*;90R^_u0kOpp zr{DL#Kg<7of13Q+n2@$w(Y&c@N-{b;auUe{>(&HUm+<};4{9VNbtu{*YtEEO8>+*X z`fpN=9%iX1dBtiq756eS6o#wY!;oIHUBkUki<(T6E~LqrOlLw~e=!qAb~re;7B6x{ z2Kj|(IkY+s+K1jBakl-u_}r0utEub3e9Pd|A|ppw zOi(|BQo{d`R4>#j+d?Q$S#VNxg)_dhv`RXG1&v zn9Zb)LqQ9!?9kFxz0XomslOJJ9ovCcL8S+UYkC(@j>;ZbQ`C%1NQS6PC1A>?zr@3E z|9dtEclfdoUdQ-jmdy-)E}l+#T!QsX1-*8$eq|otMYK3Ww{ypC>%wU%$V`*M@_`~O zNLLUyw#cQmL9<&C>#0M58D`@ggdyWc0a>;%NnOD<)3U>D%4!OpLjm&*51{rB)!0*}~Qe zY7b1Bn)lkQkZ;6%3gGNp=1;YzGnR2rI}U>tQ^F`_@T|Lwc+~_IZVR7&g{@dbzxR z65MKts{W{i8y#EW&tIh6c^WjNO)&EunJ$WifSvj|&Jx$+6{H=-`A#4q<=oluX6^x- z?YakjcK`vfFQ%6>*U(Z5NTe6)2V%pT?eQGMW}^5bSG=qAz7=!_B$wdRGS@#VOPXV4 z1GeL6X3RIfExymS^fIlv9NFv2jjc}^-?r6wxDNpmeh{7i-#e6b3Y?R>QC-f9 zobE}!xUtn_*|}=jD}@yYR-qoq2{S)X3w4ct9;{9rAuu9Ah-b~fiSuJS$lPDb490M+3`dk*1svbqAa5DzPy#l!t;>HgrgaE-lS zuFaLkYb!{avJfx3Vb4)U5;FA-HeiLy#RS|6tvVYCuwsi4r~F46t+lO(<-Olf)M*uk z^}0P)jL3C3crWJCZDS3sSh3IgCDVMdMtTpafpiq~=O3yi-5Ay&H!*Dln_P?9%Y2EML7I^FckHa&*`vyF46W;q^?bA&{QTI?yZ=QA|5F6Z4;S0_zh4IBfrrZ8HeU6; zbNF1^Agn!N5O&^fo%i%7AeH>i=}&G$#zmZ4B>-AbU54$5O-@=ORk=lb^LG%D z!03vB2c7pfSBG|&lxne-s^~+bVshV73 zhY*`)@+)?scVRQS?jAwIW6By0<_lw`sx~vNzqXE_-XG4y^`c~;VtKOvWDKP+RC)|l zg?2fjS10wp6@At1Ez|7Vxi2FR8Hq$n`Xcou*}t`;elkgD49c0H_y5yov4sSZ-l|VD zf7r>=O6i^7-d6Kc6;NI;mJ@4y*hFRxE{M8mv%+D@7HqeG;sPd}4%bEJZ@K+rvUI<= z5Lg9zG)r2XN}pa>nEdrqLg>?-5Lugtv1?s~FwcbMX1r(6Eqf45`A+#csftE91 zSAFM@HVDzl6@S;=z_EoEDiX;Mt_1p<^E=eVj&{Lf>`ap?Eq5=K;3FI2(Aq$(Dpg4o zP~~dU^kNapyb39#YoYNAIb!hF7jNdj7Zo^%yTHzZxagp#CWM!_>&=aOeWtg+j?`~s zUzx-g5BAKxauWDaN2+m_aZMJf$$MA(f?GvJDfYe$&X`3@fSOB8d@CnIh&Oto+z@+G z*!|uHkSUIs;@oMMOIbE-AWHDtb9}exsx=AM1Az7;EpDj^ z;$Si>=^`yT&d8-${q3hHMjA66ZZy}CMGCQR8ikL<|8j%NE?l={7K)D9UMck9xE#(9 zP`N#XQy5)e(gQtngW0dj^!`86-U2Ag?TZ^#LfkVd+@^V_c;kDl{C_q#Lq&N$BV@}je!z1RA!-^#6-K$%xYVz9!?vUOuf$NdOC z6Yu6md^jcEVQugD+1DJmN#+rd^PDUmq0yxcosf9C$#nM#{rXw`L()TT1lSZTns2sZ zMiNPNH}Ht|5yQQar?JAkq?)tzXZN+7bgw>Zvw0c4*SV6OKFn0PDpQsstgMU(Y`%@n z?07FnKUbF#j#L+^b9l=k{-TcP`SP*2%<&@}?<$sCi5FyL`iiyKg$;Ef;ivT&m?2*8 zC~4ssXSUzOdet}evnZY2?%Nt7>j?3Q=#Y%2N?-9OM))=stO^s3r?K{PTku~fZm zFV8Ovj5XYyVi4Cl60$#tYnI%(xF`;k`v&J)p~a6>si&g?s-Q=x1IJmnV#uJ%B|_@e z?tB;Ex$7P=`_=ov*;&rOe)Qt8fZ?yq3}d^<=SKswh^E;xAfJ?T9Wq@j1jnZTodh!{ zHlS7zS?P(&3q-lICr*=`*#hw6U~Y(i%U03U`0LhA65F}{c1vEWblnmyaxlt1vI=I@ zP$%Vv3WySZp<@nc_2C+Oc(?!cWP^b1)Oi1!hp_kKI3f|e>zoTJM970sLq~hOMAo6; ztZ2woTsSv03qdxA{i?rfM#W;N?p_;mLez>?NmT|rZ4keN)%m62C1K6hHRW_a%r%#> zqxNwidb+UCL7Cpm7>Q2}Avt=H|Oh@CRcmcI3Df?PaA`t?+OARwC$pWZT z8EoA0QxL&T)@%k_D1X@ZFA*T>l_@CuS0j_BBZLHSdA64SO`0FS;^%uWXEE!8^)<#e zP)Y8k=$yw%M4=UBC95m1jEe{&#;SNQjj9-YCk5q4^NY(cUSG%X3WEjSbpm_@{>YB8 z^QcqGU}_|G!8n;`oOye*2i2JrNcIB$Cb)HOv|0@wfl-y4LWnse_B8$*2@LBLE}#2T zD>r4_&NI$EmReKpGO=@nGS#-W7^pigAe*t-iN=sIj&hoZoy-PG9!M(rgm^r1&8au~5}XjYQmvJzK}af5_F?CZVEZQIQf zr;=#{ z+mWFgPe1%)=N~hGSq{_;i4Vqpn(vSKAeIxEAA%Ks?-$C83POV#zevBz`0Qxn9n}-# zH|wj0$>bY$>gv;9YsVuqX@cn@2ER_|iqhC!#c;>3xAZ<0FXK0Nepm1=#yhP=< zUAl8O5{MKvtme;ZB)-Q<;Jq;V-!gFj#-chBAY}`V=qENE6<|z!da2W+!TEp+)b`ZW z&jEkc&{3zESo*cR%xD%w$W%yN*$YU!In&BZ8p^)6Y;8B*HJ0T0j9Mq@4oq4T+a(uV zD*gENiy|p}=wVKF`HX3H%J{tMwu}r;ndHF}xajphwA zM+X&yRHnqf9o@#L#Jg@_@Xr2v%k{&qs1>3s-*>Ueae^I6Rj*!FWNVtmNafJze3!W_ zoM=jsO2)Z3%GM0N)K4$R7aoXizJ|?GqUe*$3lqxL4SwU(Fs2N!X;K>h@~=S554k}G zsQ#V(cLpBpG?ZtX+21rEKM5Sq?kx&(R>rP_SvoqE{7`ibEpW(JFSQlnm5cWm)YL6s zXE8E@y2QBQEvB**Xzd0!0q!w6vc@m6I^KcxOtf$I)!=txTzw%eLq>3*^?h}p^K>}2 z_OzLrO@&?C{G!el7EvO0NS6M)T>H*95v&~-)8ou0%6$Ud8YhaGSD_!`1ks--5X3xk zcFtCse10}+id$#J$?cArJ(?kr7~uZq1eQJHxew;``JNakkPjQ9e-4)tW&gS`QZEkW z#egazQ=x@nIMx1lz0IHS2P*-}BHu56s0Bf< zpUhj89&qm2+X-Go#MBZG^VEKErF0}lefL|qfbWm41dt1tN`6{i%KRe6rQU+H+ja~dNMPq5}Tl z`)t|^e`@XQJ;-a`vzNQfuqu zbadY;_2SKhy7NA@Wc6^hBZ`UAG-W1ZB46^+@WK9i z55R-JaDY|_1A^5ct#?0D>`>s;$=(TkLH(^H?|_mhTlK)!h$VmGySU!6n)En^uXjRw z`8bkV$%HzV8>xa$Jpe>($k!&rx_W_k784FmFyb%-^n%Wfn;Q?1EzJxC(^8QI#?oW} zR+m<}og#tMln_0XUYgPrTSp_6HL87d!oY?b`Kl`W>lSW?3^-sh$LecV^T7w0@3>tr zBzZGh>$rXQFEgaj1YG3pgANd3(u>A!Us$l^CmDCG>~zt2oM+4Tz0u!(a-_%tG9{#z zeP6N_BY^+!GmxllW=3NY4bHrc%;wvG@v8Ogm&lmXAIZ2%+-ydk6zjFZRE*-o+ z6o%(J-o3pcZ9GBysFM-M15KHKHzrIPzcJ!$d7?S@$?!m&jo1+GoB_xg{S|k3Mu53( zO()|JCtKvBqX~-m=wCLb=xEpvxh3L7=*Yu)D^e*86%lA)tB0396KApZnJINYJG{eb zQ_r#`LECZ8O8e3;ceyV`S#29!!2b&zMAo?(F32IL2xX74X^;D}6(1{DF8QX$hrs`( zu?6c-R=itp1-(GJ09?RlcJIO(by1jgd=UA*;dOk@+m zlTIAHAXm|esQDTg;%YqFX=8iSP^E5AJw~Vbmc#AHGo>%?(Ldzo=ZYaSCKOStf2z!% zVTj+)e5jD{>)Q7ZGbJH?>(dePnP)__+uy?Eg@5OQ^%T9-BLZ8M zqvS&(@jB@#RZZ!-b&GByyG;z9m+h@lP1^6Is*}b?P`$=U_WnHLw*24#$+_@(WOriX zh0-J5tg$EWdZc(g;yl*av`(GgtdX52&*tC#JdwdPq9Jh?90R-Y7TRxNYx@^a`qAkJ`05KXSa`uhpu6a>~(|K&mL^VY>c;^70g+pey0oMhmw^T%BIg zmV}p6Kw8fYYlJ56z`X3g}-b7hba|+Hd=}g zZhxNB8i4MMEYF{6^UIR`KDM7AC47p?~pYKz0Vu-hu+T zdrrTV|97_J*RP4D0Do}c1217=K^WvweIgHTw7)p94G}&-zMbGx6~>)o|i2wv8y{A)Mmuiol9zqWxB)60D zCyAe1%M~3EdE;d%10{HF-p<3}vg^sA`PtCQCIyw|q%(Oo@rtcy7S^2Cy_=Fz{vmws zSDpK1*v*grGC2xhBon^t$*9_b`R`=g^)37$M(MM}K~w6^ny<3%}_0SHH7 zMHAf9*{YdA5fc-k@)=h|TCQsnmqjnLu*iuEoy_7sq9w;ZCkLc)f273dPeFr8+k^j0 zo%ob>MlkkhBPCCUEc>wKLs+P}JLS`QLQrH}-=jKK6BH8J!(zr2V5z5RF zs?CNyGnvXTE#KSqfNv)F=DlHxX|!zZ@OK_xN>;S{tE=T&uM&=DYk4Aqq3oeJ+3Tzrz^(5CQ6^3c$Jja^^6hrIUH2!YO2w4YAp+NtgSRc`?g$D1WE9UYPFKve=t4B}a;vB! zIY}7Z?`@3br$9n0%xZGsyINha1E z)iqlK5ZoLyjPv(@CceUUx`#r0y{cc0?3g2;NeWwVD)!w~k5eV4|FljImto2?9#YTT@|R3N8ae z7R4Kpv3!0Ud;<7WSvZOvr{ODs+dbSSn@Apn0F2B^B22lO#wBFGS}=^#j7Iqo)-h9B zr`k}@C^wS`J#|Qp32&pI1Tx#;|AH){kD*{PqWM1kS@iuAZHncA_zSu2p}y>oCkWap zmhGT2Q}6036gtUK5aFVHRIngvce>65a!%t1k=Jxjb%}IAx+7oxr_=dtFT zeqoqQZ&HsT`RVSqBmln6VB{P6CuRNj^T*eazVg?>P;hrW1;xPI2|CfJqQj6ngTp1; zLIIdkTxZ1!&=R=RIuUjWO!j|ffd9@`{e1Y?16gSg686+RPgMxDin_yq51kK*QNp_H zf&Y-kVjAIp9k{ z^ca~JvTmZn7!2qzPRMbdyay3I)!Ax1n7423K;u{!M;}h@PZ}f&{WmfzGg>c+c7cK+ zVpWW&KUV(NOZ_o+$Mft7*p4g9)_gD@;Kv(K!2e&~0Q@d78#K+`KUne)SqozTi@WKc zb$TmgXRCA8Qux>}KsUt?!9_PjSdX>s>LltLn#(TP$*gWjecP;F{vfm77C~)xHYGI+ zvJlD?uTj|NExOv`FYju*S^LXoV_m@gSC@V7wsvY)zwIw9jPZSef_^Nlc8A!f*c57a zwmvPZKPf!0Od(efq13qP? z^tXIl7hLgUJ{lAuisd$t2$1{wBxNaL)-#M^Tw9@x!YdfEp|2>w(k43j7g&CtV1DwQ z7RpU+k{;xL@6wxC@Qubx?j8bY)TBEt+3$^lo~p9mjS7g$|CTLPYE@6)G1Z+|I0y5I zmeV~gt-T*6cA1@>Ej z=vx+Zvi__vD!xo9u@dBy)%MNs$=a9i;kJj$kMBdzrcF8Q49#33`7cu{O_%Ctrh2=r z9UhS7*!t_5R835kVHFOnn7MTB<~E`io(W<))^S zyiM9}**{R93X3epq6Zb}ZnkINa6mt~Crc4%Cis};!g65Q|Dpp;wm!w(3#(an(_IgpKjMAVB-P!kLqmw|libcu?4Ude|-MLKy zrZ>gI=Ce}BFR=;tI^zR<5ZA=jw3u)R1BTp>*kanG zW1m9DnaTyP?@-3@vVOQ|pt#;YO%X&%t9&yj!CP=1`?3yxJke*6Lxk_5v~6|dytc?7 zf-Wu5*8ah)3*VwgjEMWV#m3h2m%Z}|N$Siw0(Pb+vy6I=eoU+w}7|UtdU- zyV)Tr=P4#RI~dbuFwI=&5@IoIi0vs{=$y!NxNqd+wk?g37_s0^XOS%LpD<56d!EGe`rore>}R-(h&E${k$74vu;3;c}DG=VqzL22EDRq7jLc%zhKbhVLPw< zmfZL=2aSX9rj~aaw#N5ElJ+7^4JF+JcR1!MOayyzM_4Awj?}Ob2$(+5ouA`z6At$U zEK3X*-z0vp4=lj8lNHR1V==<<4q*Pcf+-#S?IQkSr2HnjMEuZb=WOjE#Ag~4zM~sa zQ2?{@vy}E#6-4W|hZfrY#_hizzEDGUF2LXmDc=_pSnxQR@wElj|7{9(Bx@Cx)~NsE z2y!VCYxD)wtm#EYv#VFs^3Rf4IHPnX?QtlfBc7RQgL2DkotZdA$@KEYa#wuzwXWwL z95y?Q+h@o0^?vfn9?Ee(CrotBdvB*4ZpF&pV`pfnUVZNn-C-}46OM*Qed?<>K9kbtCTv1=cm|aqTo@{vruwY0s&2Jvq2`A5-s_pnMBAOza5C{==)IbY`Z;3??^2c91a%>^yJ+dcG%NrYTwjpL89G5^&8sLlzO7Ly-$+ z6^dTy9j9_Q)fiDkB|4hs)2LPkvs@qSYM!x42%APrVxi>l4Amqz+A0NTnmp{b3U7!1 z1f~||YROfGcnM_ho}wM4hL0Ai`8(U06J!*9)nYI_-rA!TyVxCC8`~-oMx7^5Yu?>*&{9OKW1Yp6@ywQz)CibUO4S6nB zgGv(#$?T4%pW3=&u!6*KpUf{V3N-s7$s`1Rr+y3q*g^hs_}s5=f(D7LWyW3`b%pwJ z91|A8lF=m5#BoP4`cp~|Vl*EfEFFAeR}k6oXK}sJz6=>~3{91Zly40jI{RL)G`z&J zw9aHQ*pU2^IaTVZVK=2j4Mj;z^8$uQxx7JJ%M-;8iVzdw30$hO%#Y&!m(&l?^R zFL{fqD0&lFE$l;5PMC#Vw+tQ+il^uCgKxq&xnVDx%pFLv8V=JHPi1%p~wa6Qu{C> zomQ1&E9J>?Iv=hSBm|fmVyV}^rnXwjUhC@PzFguqa_Hv2n!nW97pn?NV2ej2WY5?( zIkw|AnJ6zDV^Ny$Sc3*#(;}Qbrmd!#;?WIh<>)~P0hTjE>k(hs>p9+7cgua|1?vWgIo8jA7G~U0fVJlB?iBTcDS#NM-!Jrz8TfsOLeQwB6dlVw}0zL zMviH}pw8C&syS+g@=EDFe$x{zb@h5j>V1~XrpQxZ(M+BoI`5=eu~fN6CzS^@YgINn_rdXYUSH_lG7m z&$Y{>TMlIn+I{ZJ@5yhkRdy>|WIo4pc&$Z4D|}sTiE&-JiDc$lXxa63L#az)9ko?g z(k9zs!Q%sc^zFx`0E`xqCs2%jWv19v&$=S|*$W!%UkfmPf9) z6Q9B4a);M=>|NvrIu2~00i#WKiGq=F$J)C3>59~bY`n$B|BvlJPtas!8}wObI=;X* z#pkh)^9c!&bXo~##fqdlFDWS`KQ)`KiGNvlrQ*kMT2tdyB55NcD(kTGpmV!`(_uZ~ zqel`n@8~x9rjIVV2<3vPP;R<|?I+qicg0@pDj(xB_}1)ki`fAK-dpT;If8`5p>UDD zH@Q@4`p3A;QH0#EgD30C5LY3rHBdGdRY%rpycdR*H?w8cSLe*^ zDqGblH*i@xkK}nOAaFs3m>jd>vk1|nkH~;qkwGg3{a*qFe<~Wd${W6w(k2bYZ2ICU zt!Be)>S>AD43~I(n{9gT({b}52;PrwvaVMmzj-IX-`miTg54^Y(Xfq+lhQTCL_r(F z-nO+LoV1sbqG$B_8lg4&VMvnfq5VphRi11iDFP8PmC61WB%=Gn0}R6*w_^m`9BtH8 z3hAG8gLh~HI4bY4`cmJRLm4DdA;)hTT4Gql3L!?em zfia{YA|i6Brk%d`!v>Jv6<`QxjYGM2e4jv%l|^q>2I36p`7YF1d<`00+FmAHz6v+$ zgN#G!JiS_`Y!BM*Na*wi*QIA+v3JP^ad@m#9}{xDZ)qMQK!E8KX!%a!b zw7sf{f26Sf^7Sx%<0G66PqpTK=ZAix+7`2Qk=MYvtJr2#70zJXY%;X922ML~QIejp zjO~x@m?8y$%QB8o_8)_`|8VGvtpO0{yLvw31{8r*=!(yIYigFtuUAOU7IeJCkC#{lh^E;c%?Ii)FKobv=Kb(*7x`n|M0f~oUBYIg?)gzRc zIMy72g1FH%{Z1Zv0f<-q8jv#e+T-!#9HC(jbUZcL z3<(3moeVOb{n3~D%f$aFG4T*@H!}(@925u?+dx@iq*d?r4piZq_3GJr&&DYxhwLlVknL<|tRrz8rqka!O2f6&`99>G` z`@9GlLfU>EN& z6c!nO)Mwuv7OPr**cq)6U^+2Vy5_H*dw3gXpT4JpQi?;wU=oD9c0$CJ>63wj<}3Ro znM)lHN+~)c;!9u^X^sc?CDF)Nt#oHpuy1P=2yg3m zaaY)kw+RW8J+;$xxa=i+(<=T zzhwct?l6R$o?=(Ix`V22D$^**2u7jwptkWh1F3nhaBxQRti2gWsxGS{IDGu1XzJZ2 zvg_@)6?5c=`VinMDsweIJA2g}6BWcM)>}L2uGF+XQ+jn8OxqLHYuo;U01}=Gdj#mB zm_dfsUp3@J316-+PuIVA-m@kIbuOtrvBv^r9(%C5|FKyBsxisHexQk_Z+l zT%6cI65E`GP$oRubE`TN;o5qeQyvHaZ8i@!s>(9atoX?_?sAHT8`6wP7bw*eAFod; zo3<-{U!6|;av34yrwyD`aDO@QMSvnXL6pxO*6Q9*{#VI=$HHf_OI#=EKltD)94JTn zFO2vMkA6tkJBW0F*pWhF5vPLV*;6xIG~uI^uw?YX$w4LQiBBo)31r?0~5jpZP&c~YS_ZUHTuHGAQfC3BYa2&*IS_1c3 zzr1$YkXT-s)78Ca37i{VZyuLIyOMP53WLj+>Lun+y}hsTu5)C@SrqdwRwpY`^NRD^ zhT^C2MUo)$P}0Ae?d%P2?m4l?ZEWGLxFdxa3Wyc<8(H*OO-+-kILrtT0iv zqfbmUci}b$GIPd)3!6?kEIQQ-;CQi4-l(NkD7E4<1f&I8MKCC_Z7-Cvqji#bIfV_E zj>a4JwhP?|K$spY$<3q0d4Hd%1%nQ@_+&xVo0wVM;eN44_ zBHPN*WPjLXJV;2j4HJI&&swv;Z4U5>uC@>7=U+KroiT7bANlRf)QUvYX@wzy%Wi6H zRuS(%cp$$qlGFM1tEZ~Hu5o}6WmIMouLoT#6(L0>nNR?F#1nxBQtk_i{jP~e>%-xJ zfq|~oH8lZ8kJR*WU-R^}kC5oK1<5ywCviEwq5p96gEH!apqn_O#0NZxdAkb*I43dj z%VCF^hVei?#k4M?ku(JfTDN!xXt=0?G^xg|LBxG5BxU-G7n!39oV&9gd$MpXw@$Xvs`8OiZ`X#ka8-QOcFMWLxN$qUSz3J2 z_jGJh^ZU32fuMLD@HES>@n`(gxMHbk$d0kulpER>c&^k}vz)>y^F-O(4NfgCjVBWf zO8ah$Raq=1vtQq5m)2ml@6zP3x~Q{H%6+53DwDaUU^W}~RCop+COx>`$JA!o#>MuH z*lnJYcb+g@puU%g^eEc#8KLTdz>h<8fdmGURIpAT{1>#piiB3R=WxGbOJuX+7k;3rB8twUA-5-U!>g_#g8r$qDw_hLnB!!z|X&=>@R0LlpeZTw%1~f)-6dL zfIdz@K(PE7WdUKILMCY-5Q}~dOee4=vN+#AT34Xb+>hdwlok5Wd$=e9E;00LrLrR^ zJbdoR%X>yB3sJwvIcRUOBS(_&R(k-jH6=zSVhGq>92f+1NSof&YaDdMez>r`jC!=v zUw~DxHhb-RG(4HS9@2=kd2BKEiN$R^H*}WgMx$Y(s@`9rIw!1~DNE9BbvaaEd#F;S zXbxR2!95t2O56_nTONT@p5n{r72Ai!SVv~jU(v6a6{n&HTh)YdsFkbVVt)1`E7o$k z%{=Gd7;@wOBwd=0-KvKxoUt&@du*bTW{6;_@L=_5qtyCx%L&^IGj#%tn|hCoe!l!M zXYqj?xTNOz!g{e~-GbhA3C=y>K!lSM3C7Ck49+Nv{LT$3~!#`R?K+mUXX)$6R<<1Wo3)!2KWi8Vc~$MN?@S?KhtO z_Q>CkqRhXRZM;6gGn;Ej>`UaNXeGsrS9M-c#02-Eg`>oP$4c`!PRv+UzXc@N>FMco z$EBSeI)!C}{v@rP#cLXp49Qse%x1B$>@R&TjdHJX&MlD*`$cz6!9kl$Y_8^15%j0Zdd#5iq)1n?Am!6 z*pe`i7eM_8l4sEG15+S1DIm2ApAq$FS$t^ku9n{OuKfE?je$>|mJkkH)voPjy3{<5 zA#Rkr8z6^p?oevpj;q9*=FXqW7?m1#KkkWM=B9o0H4l~g+ft)$@!*Aursj5;wYJ`= zC6CSEvHrm)1pCz*l|o$%gBcEsBc{#my(8fsj>X{OlaDeD(+7cQi18^!=DhVQp{5f1`*_aso0nfytYkLCyUYHZJOxt&pCIYLO7oM69i@7`-Kw`oV%l**7mADz_n{{YMu zA)_;{7V786$ z6n3URFME+NKVjIpsobBH_^n8bmu(B)+*v%%1vJvm`1Hdd zvp>xTH+uba;3{q;8I~5dZC=f=@;e`7xeHJjyM5?XDM3kde2kgQVsWV?h%%MR{jeM^ zCOaKN+i-m#6V~lm=!gnVDj|3VV)9_Nlg`~=t=sA=sk2)!mWmEXQ^(T2}c(Q+vw)+cp-e$n4iU%#6 zTdLOx5!2#G$cGR<#7iW;CD6*@$1xd9N3`nVws|DMkl?(1m60c0TQ(5JYe8p1qn|O< zNya=lHGF~UV56VkVkC= zozqt@^4blRKS!c7+ZkiVcRW9FlMWFM(zb|jW|lslq)@+ zN1PD2kzpZ|rUWBx#ObcXj{j;OM~&@roU428b&ZDm&B$dg?(^Ks`|KGG1KjU9AZYyU zIV5~vUsuikZ>59qE6*0?I!sg>BaGDg>65qhm!Utic!`6RO2_&{p@D5Mh}N2M!%FFDgRl*qJ|xx26BYofgw^*HbdtQ6*h=X<<3k%i6!9Yd(SJrA<(Or>h66P*se1cGybomxoi653+k{B0^aN1xaW-OsDZp-#$Bd* zg^Ao}>t%gKN{lA~WRIJhh7>F3lAT$8bPZO^#C55Z@D|VYR#7?0Iu>s!2x*|OZ?)BqC{TsQ zGl$vTBrjFNN<&P&t?>Kf2LE0pX^J(PhV9+et(gB|ZZJBJPVb0mF zCGnTV{H3XJ!vi|f<7=dMQ;9x(Jv~2Ime6JCPvQ>OXfVRC>XMCH_{{VaGhMkrooslk zgtTq_!MVhJe4#vt-C1V+4rFU9tMfY!?V5n?(7sLD0Dei@2P?;pW z{eS-hzH(^Qqwgb5;2pxDWDZw)b3{T273&9kW9eXh*8n7P%?Fk7SA4UE6T(Xj(&Sw4TkhW*hP2n*$? z6uo4Oi`ZfRCxriS%Kus~pCm9$t%5M^e?h_*e(+fhhScXbnE=xDR$(6a>md-K^?Hbu znZ)f9mY0_|n-5+gTQ-3@Bu!9AQ1D~G#}?xywnTghUK){ouQb7l+&h4W4Kl~TW+Cf; z_a_lx5HU>CsP2bMJp+cuc4LH!DiqvB)afS=M1Fib;3uj=-@W0+LPmbP+SS+(pY~|7 zMe0@9zZKzCGsK?mE$D3g{H9U})CZUqU>U;wc91e*H0vBg1JJ4X5pbD5wFY9L1xnX= z4}Y1db5eN3SC>qdov&6V?i7&5mm-Kd4^2 zfHq{q(rO-U=znwpyp)cJ#nTkV2VTd5vI z)2Q)xN71HnIUNjWdt3|A(b0(^Anag)3ZORF`T9F}+I*5fFRcBwEWR%*kgAq*vKEA& z2mbBR-8vkTr%%0|{*c8Z=(F7#KnaGMyy4cTEE*%%X93?Atumh>4z^ta$~;kO5RQ_H z{GHM{%14BK`Ej=#K(Wk^ACVs+AY{m;2@l3H8NHrsa8t}zWw5rie8z=f_5+30p+qx` zDkQx8|L(~Axe8Jg0MB6^{EI9<#g2yyC=8K1!n1q7;kp>wv%++Ih;`0Y08&-pdGFy6 z#3?;k?q;-0%FBD|MBSdfK2C8P!$^g&dVzYr0f~B zbeeq-jK93S+j5CTqsoWFWS9h{vSFJvSZtR-%^! z$TuVw-fE~?yK{N6tx@B!OSnB%6{4K4`U04<^y1=Y0e*fTb#X-AZHyJ**{u%=fxwTb zX3s9T17V~@PlUr}1s-DJK`KH3SglB7xF^CB#|jTvf7HkQ@5=v?O!?E6L7w^KpA6JG zSi~`a1|02%1h7b92n>N&7zRuCBf&2j8O~LDYBHRO0JJhJEsewq3?Ve^f9XvXoY1-q zeox-nd4IuMGW@ii$YX%__DY~Vn1Dn&F-sh<1A`F?=@%WTYCuv)pO~3a3ImNA24*H5 z+k0dLmmE@{kRS8qaJ8T6@ngQef$r`=Fqqz`wXAjI-*n>34Wyc{@p&u3zwqWS)Omb2 z*aTF~a8U_cbycBJNPqP5x>o{I?s96*VYd+xM0&h7NCF8oyIrhjDHgwaK_zCD%ZBN! zsj1n~*(oNj2+KAKO?1&4&x($VD-IBlykQR9s@GZW2y8c*wzf77S%46gk}9s=0}vQZ zDK+Sp_j-V!k4{PUA;;YW@?wsT1E3k_u`m_iHvqq?+;?xZ*g#g8y&s%f_nfveud(F+ z6e4f=fd~+%y5#haOvL{jO%vKYr5yf~021NRBJE@d^@kM00U+-#w@hH%0dRSAI_EJA zOtyYHX_69904kASeEFaSX3Nhut5IRd$=!Crbggz#@AIGMj(`%v^gDJpS560~r_rbp z$;sf(y8E5ipb$QEFcn_Kv$X{5y~1d&QU)auMFyuLpKJIjuAQnm_ov=ZrFA;wl>lW% zhl|1ZnKt1Bus+tnA4Bxp2tr=qZ9Rw;8tgs|y8NF)rypj6(zERY9ti%&r(++Fs%WD~ z@Pp(n)Y38FO>AQA&^Dl7jZcJ8~GDZ^2Va;g^ z3ci<2GCXvkt3hMsBxv+88nP)9Raa1vXCI?u>ASiSx2@;TVbFZ zM5SIyL2!H6FwC7a0o z>_vbaU>pIc4Ahz3#iSV6*rK4ZAPw05p_y6-16%S61O$Xgs&!TMfSlqZP}_nl9?wz` z)X^fBp&F(u=AS`TSSH)j{+TE%bb{d-aNfQ+2AMoVlNtaolfiR$sk#+WHr6vOV!$4*{b)IHTbB0o9I_x>pW19@QX)?w|vC|*qcb6X+LpFn6ZBZcn=bp^kO8g+*l zbmeFV{XJ6P4wS#p+cZ*;kP~GH7;Y^|N7rWPvfQDew<^yD*06iTfkt|tgqZl<%LZ4f zRw|x0#&B_OBT0MtMGg**u5#yG5J`e#M@;UQM-z!$;NWFjK$noi_Yc^_zxLm}n&-$` zS#V%&%3A-#LkSSK0F$k?>#oA9s@;Sa(AS@<1YMcvRgyMJ4OA0%Mw-JPtgMSzS9 z;wnMZirKQMumbjXhl1kgVbp0gDkBC<$t7bx31uDZ?}yqk`S5{@l;xoT;s^tRA}W6x z6c18Ue%ziAv;&}{>p|T2+k!(%S@0mGE)TE}6#hp}AX$9 zQRu~>QI!=|xUgg@YkXRUJ(?;6*NLYaaa};a({TU|83E_+?jA*iO#%$VHw@1@r^BIa zxwNf~Bul1$oa(CpU=9@Yi~q&*e=(mRWLe;Y=|-TY0jmWPAL}c!G$Mc~EvxFLr@sKD z()dbd^Pj$oEoNFl+NKQAV%V&pv_8AWJ{FGs08j8|U})47s|k0Y^Z>{N!NEiN%8e<@tm{A}k9rVrr%OErXUoqfys# zu`!|FM1#dnX>s=8L!){D6>j+yWcrt~{#dUn9>f$?62~C@*UP*eMXd(O&d;^A-RCcY z#Lo=mK@r|MxH9x(L`pRx1NHZb#YdH55Eru$&k*6a=;g=q4S2PqAMJ&*2t~v9EhROB z`l(7(l>In5?c;IIg4Zcm&fDLZ-zEDDZF8O;Nq0t11rDW)6;$=V!~>;&gW>bY+b7nm z2akPijVtUmpGIGs%eHL7IB|FkrdoQ|SrK#*uX4MhOP;Um4CYb0# z&GDVF!9mYDZW|Lb#VyF5U217enLr_w;P2Ja+5!*QqBdD>btZnM&0B%a@yYj^s(dY(F^(Gr5XJvusLQjFSi zoyP9<9)~)faeBt{`m8W~#OlErM0s7gF&L%>TaKhrmYA;5Pw#3BwAE`Fs51qLl?utz z{X62Z+^d9fi0`M#pXv@P7pACf`63_WR3@Y}c#2|>MsSD0dAQ~|14-NI4) zU;SZCeP+Y@>2=Fps9p|{DRtZ)Us+t#?;B~G{r5%`j1J-k-EoYvp`oEi5iBM$pbx5v zC@-O9c*@C)-J1I|yoE~~M9gwC>#u$~qX#^^j3-F-Ke#&M!67`TN(hNwR zDjy!^!V0+OuR6!nWa>V@F-mOEqi_xCR9HCQ{Dk?kl`87fk2CNQmnEMtb#vm`p9=*u z$3@?se#JNPHiz;29i{>S-v62qx#}Lu%@a};Ze^)|H-W#N0xROfEvHmwD2~-o%EJ$C z)i!^Uera&VJcME_ro;2=XIJntp#!O5C+Ra=kbKjvV>so2mW9J3%8)JDwjdl+qn_HJLlbq+tDND$f25w*4G~ z397=Z7hg^PSG^0+A=+RM^19wh552ct63$o1LT=4fI|!0iRfK|1*|idf!l{4x-HoNVT#b+dp6i-2;0iZ4FS3$N16d|Jq%E9hn@O-xJ@iUvD6{E3K&pe#gJ zUj%@v#Y7`c$6|%~bV&-_KgmOj!aU@9g-|6hIUdbE76@?|=r7y=gGq;_6W5xsCZZDK zE~W03NWpD`Fq~N2RK6D@R(sva>&o_9Q&T5+Wcs4)tDOSd4C9nGN4y&To7gD&>_VOcG+RTeY#Plzwrr8BM@KBYh4b>cNdz{ zLPs3WJCY{=@0o}H(+*Rvz~|p{_KbsfBv?y@$#X1%1FSW?%Fmh&O=CaBuQ(3!9@n+`>E0eB!~Sfd!(6{#XC_?E7%3(8W;xjEL%mUNQJ-g2V{!+=lq76t|e+4kZh zaMIqPi{tR8iO|T(%3l6)aDRr39lm*f;l?Yv2O5!!W=D_Q%nf~WMsO9UdL)+k1zzie zkNcl`pbAk9j_>&2kj#^*?=q-cH@g#Md=|4(+;%s?P8KKUd>bRfX`gm8HN>fyXh62- z&?snSWh1;~$du!zJ_+}>LQu2uZmtOq+yEofYbwC{EGsLNs?d%igLF1c2@(_GC#ex| z7rqz} zYDzt`tLJsK2ik|9DNF_sSAJ4wN5`0s8gDS~S#|ZGmuct_8UyjGtbn%73$@NA`kaa7 zLhk;de5G3cv30;3ZhdK0{;SR4xY8x*!BZDYpA^gs)GS;}Qqkn4s>N4FvEI1)!sudv zJqyPSrH4F!2DaGdBAXP>dYpi)9o}MaY%;iq12T;Lc?RGFCH+_8l!QpZX^{8%576bx%Zu8pW zI6RJA6+^mLH;<9C0%v0BfVKK!{`|)FvrJl@@T2Pe;oV>E*cgWz-8?#bTvTy!JgcW? z-xHN-0~q0%p{LQL2>yfVZ*r&vg59tCJr93Mz9iurY8Q`{%49ot$N@3!T;odQj8sJ) zV;SEj;p2%9qNeMqo(__|X>C*tHyY)jAUrV&8OR$p$y#k}#f5W1XBe1@gH($~jGDHw zDKoJd5?E^FYKGg|W@!}mv`Fl9E$&KLM}ETOV^c*p%GX(eSrb*HVS0?pdtR%|^KMxA zO8G|XaDYm*aXC_@UN&5mm*d#QU11Ybq;kRb=zGF_$+wg11^bKQOrij z-FvaVyln#lEwyZUdUvywq8=n?U)Ja}3W?88I%PltcYOLkmfeQ}%}gOohJKZ=B>3XI z+2G_FKy}YgGDtoBeU?K+014zN|}7 z+BOYN&+xsOa;*KIv@Rp^+k6^bPx%Do%N2QP3+ac!*kcr@fA+Ynhu(ozKKNfEWuUBp zYA~?Nu#WvuA6aXo3Pm~HE^ZnIKE+L-+BjUFSwg$SMO+o4FZ;H@gJu{wFEd}S0*}+k zRH*VI&&GY!uIz;otw zaZ>ZByZY=UJcm8JbOsU_My}w4o3JJf?0{F?@TxVloh* zfWOip>4{}yIo+Sq3Db6XS2|m2xC)^*vU&Q>Ub0eRHP1P2+*m}J+kFvPI9I|-bY zkB}LpHr6W8M)Z9Z`FK~OU^MxeLCA#$avWC_Gw`NzVKkOvApN$s_2T-=!1_7m#rX(0 z?WGd&YAI=DKs083hiQlt*XqgvPgmd763)GaY(h=^7m_<#>qNq&wEJ84Dmci-j+Rc?6wdtN zC(aDc+7)P{0=qk;RPR6V0?-Pm0i~a+hovpxf4yw@B*-`A0vSzibNJp1&Q`jPxv*{P zkgHy9JOn04Mq50g_-zXU#$%wX)>_AQq{Fa%O9@;lFJrTnw7VqeUfXi> zdSOM4EFMng7iH4Qz;no1ZMpfZj=ze~%x`6HkEF!aI5wi`#u+i3{$ZOfH+g9}SF0?c zSZi>orFOT3AgK+eXa5-&`6A;i@!`#Fe@AERq&^+llbm=OW~fvkKw>xW2Zipxl2S=mHvtB* zL0=%tiu1nD(B<(0lZePS*tiiasye{t3pDw2WuQC=k!86Gy_L%<3aA|}^t2y~o*_8) z8pc9R94!_BQPrVstc7-p58hi$uNCBI7|9tzh(`IQ_1#ekbFeNq7m5u0PQI6AN#$G_ zz-Wm4OGI#@_Sm6a1dH>o8Q$FKtgnA*! ztP4787Y*OUYMhwIdhhf&CpwAO9)lP=q8F;DMh;x%F45S|;90XKOG@D-lZ_>c%TjIg zHa|XNgP7Y5)(*@4yoMY|L>%Pp4I*(mNzYrUP(> z^vHoBbL($RJg<+bq;&jw2%=^Ro7+G8U*d+VMJ{nHU8eUd&ipKj!YsY;C@K%ms**5X zV)fEeRlw0*keeNDxC2w4je!sMnGNpe!{CP)Wzsd0&iyv9b@&15e1!(L)6S6*MX(k< zRz()q_^7=If@C_H~JD$Xq6C9ub6vX6z7ZmVxM`VZ*Jorlb< z>}#hQNF2J`>6E)g^CPj8j#pmE9e=?;P4Dd3ueEMl(4`H#9%jtxA9iQ)lZfCYsAN!u z-Mt%DNEfEivxF*LlYHDX7WmFSRHG;wpd_WEkwlw3U9kSEbebQylQilKYcJ}~7jhM* zeO#0-tWUEo-Q{h>a*5hN=ytl^uIeUfX0jxCIA5^GO1@ET=#MvB?ypiTP=9 zSvym+D|p;i3pJuV!rTSh9Cx0Kx~IkeNh=O2vn^MK0LSNMHz0`=IP=LccABmqtsX{h zws4|mEL6U#P|cjGGk(7hA+J>HsOmfEpRf#0U=BMA8r91`IL_Z%Ulo3u$h?xs6(xmn zrgX#S#JEA0f;-#;hz#2zyNeTAlIy_}lCHV!OS>RenWuR_v{Zw6`6_rMlr8`K84f!2 zfZdwS8*e6)(BI{kaShBgVSAVPsdCV0!nA5qJZb^9{OBB^XGgGHOKRT>XXWfW16Pr1 zrP~`t!qK{~dkhV3Ld@Xv$AljP!Gn`q@sIZsLz7Ce`YFp%*Eapcd6A1(D!+T+Lv$?p zi){5qHrm)+@z%1h+&k~RF|<;8N(HVX!WEnWZ<%!G{ktdJcE432F~~2yvrbnW;uSm4 zhOwS3(?B-oN$=5$lyB`5mO>Tjj}i}VQ_dO$ircQq@@m6Gh;&yoCiV;2N z)Li1t3PRY{H8!Mo-$g_$6mDI5tmE_j2}P^>JTE+AYcJ9@*V)7JLJw7N8rj1-6tIF6 z=$xrdCA9s)G@x3GGvp6&IRs3AQ)QzRUN2iym$SBG{J2PEG3hDmik`FO_56mQ2|m?wMwWlN&55(=sQX-2m~JJn2a|c00cg2_RDBc(fYu z`fzca|1drDf=#xs6`|)$Z9d?oo$RyuEYGEn#Z_5BGY zX+tsLN+z*gYBY*jc5P)Ro@t@^1V-jk!An$f$>d>*rUbZNbBD{n$ArSKBzao%M!j^{ z-c5@MYOLeatij|(eRr4~c2F9IE_Aq{@*0O(=qJs}qsIy#wC{P!B2^7_+cGVUD4VzPyWnp{pt zbf_5eiAwr=^hsk`Ya!eC+BxomVc$NnO31$68Y<1wxoQDjfEik4zG^haHD^kS{^j}s z5+R>y=)6@drn(F(-32?Q|FAEnCo80zWf7fLNQd`6iyph_ zsDJl!|6cL`@9S`?rxwz|$Y^NUpgSD~hCV~#x47;a)mGAU4z{dR92^|fxA?!8IW{?$ zOvS_yef|6-m?T8LDtM|>DI7&j=NsGzKK`I)r+|^Hl+SBb;7M~!a?TRG(`reg8Ys*A zu7z9oqw|NH9Rqb(bvucfOznhXMs#G(#SPFchQLoWOl)qtyOM;s_r){8rN}z3xxOfY z8DJhTttLQ;%k|>Hh*#Acm)=7N#%x!lMmX}1Eh<4h z-w<=HdGkX$%;<{FF|Mo4|9W|AoILGE!We_aGaww%kbMVQVPA5!kZe6Lc;^LULoH;0 zzdw_Lmfh4}O$}-b>_?r4EUZA-u>CGRLbKb8%Lh);?r9RYUT2+lLHlS$ zbKF)**KTQ4qmWu4b`|ej`3T^YWSp#HyS;gLm%D315c2GufkNC?YrUo;(QBQr5Xjx4 z0TNI~us4H?n>LnS8w z6OVAlQ8!4~0N=$1^JWjUCW3*m4P;3OQAnWTk*y&`(Qz!PNAQcLsjipG6LZ}uxEG?% zsrgnvS94{7?a{Y5M>Y*p^xH6ft^EpkzAc@6EjJm6#i&;ML8DQT%Nuv;v^yP>EfeA~ zqU=mJD){FkdWj>GS?_$)=1oeS{2&EhMrIv)+L4iM)+~ALuVYmVY-~bEb(-H`)_sP_ z3GPrvH|63dd6eDL8E003%&DKWk*oQ{&7?(W?XVtY$&2BYp`4>oJD{z@$A{p71 zZt|1f+daC-YSj+hAX~uoGp=&PFNE^eKp<0;;GYEVP-b7aK|kcWx_B%9VL1mhFRDpx2BhnBi8IO z&6SV25FpQ%?*X}W_sH>MsYwBly7>mj{mCy|qcEu{lcQFAwD>oWheXsBT0(9}D@H-= zK#H(>x#93xLO$i_ZY2383U6Y#K!GBb|?#p7WtI$EI0xCIOm(Hjst zG}~`)as4S-A{T0wKb#<4bLK%+00&D zcGoBCo|uRmFVdEbW7LhcoF7;(_h1LEW@^7fer)uM@TV5)!P8`oe2ogiIPd9-WHwC$ z#MC4DrY;cL@V=4^?|V(;iTalLc*wliNgco z&MDv-@!k8mNTb#Zb%%{fQ?9r7Ax*BU7R*uvZJYTIGem8t%X)EgzH$5rlI@yV6Pm*5 z_%3@>K!_*{gMZ|nu7Jj#i6FD7K?CLAh}7mE8A;~$B+lLeh)jfnb&ONJ^zn1@kcs;W zFm7E7knfqekt*P@7-7(-`yJ~vDCRrTM6XjS&jY2Q!F*wR-j>MkPJ(NR%xC%ip5`>k zd90N-R=KJuwP3YYa60FR83Eq z-y>Y7eKPWVsZy~mx;Iiz>arH>p0gZe>-ti`8ci0EilGb_87&8IJewJ{X&JA*6_T_P4 z!BLD6csSj#kLAMf7_&pIX{c8TTfvr=Kx)7m6k~mm zrBN$I7@t0X46r;(4x4VJJBk)y=Z;%m3g4zxBym5zEhrUi(3$@mk8i7;j{$sJkT`{ zTiiPwG=e)W9pPygbF4NO*z|6gIrr0z{LJ+DFYQ*RrMJedquEo##56lGoO|gTo`=9+ z#1)&)0jkNB{*C~R%A{zWi~~-KL)2+gzKr&C+r8uW8Yx#R5K+sh!!ziBvb+Qp44`3F z*tZCkH?p!>_A^fxMo~I-$3Hr;jd<*)$b3W0Wvb-8v@mf<4}=N{53P90&>i#fRmV45 zhe+<;I{6)|@#tFqh(pRTWm){$OdrYNQhB%8Req*wWRL{%tR_-uH2=$r|2=&Fv7|h_ z^Xsh-i%I|ByR@6@<_BL(u5n+YQmw-%D+VQk*taKi`z|gnoz}Wx1S}8HaQpTMY7tKSNoTntB<4e|kEODN6nQ!OlKq2NTmwc$QkQ0?L&=eK99G3AC6BO#sN=#~;T2*F9hx#0E9VDH z&jMa{K1t=xDw)7oxm);oDYB9s-;R^h^ZS^G5MAtCC~fEoMptN1!Npv%dgdb4R;+JX zrgQkU!#$TfM}SVfYhj&a0Uqvpe65p3aoerz!Y#*c7y04hjXhaKUZkuCqE4Nh7ZA*_ zNh#owdsC-p1nluMw>bkFwQ5-R9c0+#ey}tVVL*R zj9nJh$68jmkweT0d#s5{UoZv7RiU;Eo#WX3J`9f_+@>eM#3eXA6Q;7IGQ{ zrx{Z+c)C>oQC8^Uy+`T}ASjw1bbt>S&QW&Yw@-7evO!$F~g$~Teob8zP&XU1n!4GhgxYx zlpgfPF+me$t-ye80OiN?YtuxT?ZYlf?O^e$%=dAKyNL@i;~fdv4XceM_m%k3&yF^v}T=Js5vRi5@+AWGBGL$e1}@ zLZlJ=Ph<+n7J-n@_o>GxC(#q-Don8Tcv@A4eAQx-LamxeHK(QD3wJ9Hu0B3KCtG8* zm+eGByucHyaJCrjdPamHAr!Fs;l>Bu-atoCP%x6TI)=5%YK|M&ym5geY9vD>D3c1W zNAf!lqFVH4dYHU57jf%!8nu*YnLbsYgtyRX-_2Pg7y2dlt5*Lc5T+dDk>^m($L$m? zY^$!4MpE~;p35fiCK{C4ryag=t@}CH>x~wbCZ=!lqhw{Q)M`wcy%1s-g+E1G?Z^ z>tLx(I7e;-gd2kos%}4$XUd7XH0vEY{E^HjfyQ-CE6@H?A-d&KcdARRX`Vc*Z|)De zYo|7%?1$0YFK0S6GPI$onG-^5%qlSVT18Qe1aPBNLDh@{xrpnxtbfiJ)`=uwo-_$v zN|97&KLPA2Q#NR-WYFri^c{b|3CH zK({r*QYr6TnQd#jsK%`Qr#6)rg4OI*!8jv;hmu0KHb18)UoF}Z61X>Q z^m1Ue{G9Bw=NBdT)Ii(Pf#u{e$VkOE9c&UPZjPy28w1U1avSut}KyWd}F-o3sBnU(BcVwat1zF?I7nB_xc5UL+obbtu}i z`Wl~$eglJbJ~pe_`0-+0#)ZGub0K$kcM3a;9Ny}&z^Fya#m$|_$G{yKjMfI70$imm zy0*>dpudwzVzdIc<&>D*JC3Uec$>W!bN&wR-g@lz zCpsIh5WeUIGhHndoAemh&Zh|-0ZKz>g?gKTyviOx@(k2@cATkdPtk!}Pt5xh6YQDq z+V1t1$Ya=kN`E46F!IWA=>GfZOTQs8hc`IdXLW*e2*Kl5R%-lFTEe3ujf^re9ZQIK zu^DQi3R#wMg3L?k)o{sIG57!>E0}!LlYErknme&{IujQ%ZLYYI3)NJ)&8_S!bU=?V zx7rXcS`3gU;*zL7nBJYP3j@g7g7EZU$@$vbn!Vjs8IZ7sO^Dtjceb}u#ontuR$2vf zxLozG)AE4$k7;D)s0fI+g9qMGLr!rVBlxH)+{9@s*REU3>Ry_&P!Db<#suEEuF$0)1S&G zIalil2cm%ZSzfPLkG@g0@8%@Z!*T*m+!dC|iOP3~An8@nPLrwRDOzj#p^|XMR;8=I z`cmZH0ksHrgXvNWPs^wykQDd0)<&;`Sc&{LS2JEktsiQ5aAqR+@CG#&$x?r#%apKa z&Arg-QGkwa+?PA!9>{BHliqoAl6^xL#C(fBTZqlLhfUk2k@*w%e2JkM`4RFnSoG4c z0#(*iXJ_Y^xNk46Q&`?drSw^qCGAiqtt8)VOs4QSr%qY0^9&@HbN!W*_cp9@DEHH& zZt_@`QLA>SQtos89|wmH9g`X{j;mL~!N^bIEno_dy=I&Y5R5(qS+HiJc!a!I4YA-T zHNM}#g`*L1`S`Se14@5?wWcHUo#3zE1x68(g8nBJ#>5(I&*Q?E)yh2haOt$+y(Zo9 zX!hBma%-2~eiUaYEYh|}?6~kzL_mpVlE`|BZ`@nTULG<1B2LEx8m?@&8<}ttE~VgD z&U||rN1=AEDyGgd2hq^m?D8*ir0lMWr zzV%BcSb40a8g8WPyZTbwswxfC8PmRC@8_eaXVC6j%{P!Kd!jRJ_yw;y$KGdECESGN zk!^1V>5ngtB%aXTts_E5VU^wn{a;q6bCX6)uJ;KwVnblg)3u(A?J{T)JR;!P?#J~8 zsub^H2uDYMEF^%4_-F>>&#QNJPM#9gx>XkHE-o8sy(M!IneWJ6KmGRkpa0~J@yE_g z%PsUP3xq2J{}jw6XqK0PN{D>Zyd647VlH9A&XZXVAWbRf%|TdOY!Pw+HZ-Eo_|R!_oC zJmvSZg~+$zEh8VP3!E zVNkkiCOXTkCGR+$8Ly^}(|~XepA|dl=A20AS545CevE0%ELSeCrjrXd&mz(scCCzo zrsopM@bDy$91>^Cr2X!5P#*gqzkE`<{iX3~vMqH(C($;lkuRs+b*SBjt`q5K%!l4s zcAWh6;imILF0Y9B8JpaT^Cjh*GW#?u;vOB{^#R`<2R;SNx@$(A#mQawNxL)NdGCwd zN@?^DB<=DE^$tZ>Wo~P&x%Hd%2NXsXo#F{isZX1lH{D;BEVi0zr_H*8Q(NV^>WZC` zdwjwUKbJ9rlY3q(;TGdkG=4vF53H=>U0&Xjn4qY!N`W(oQS*s5FlTpE?u~NwE;#-= zfzXblVXA7}nGHbm^m@HlY-d>5`aBtLglc!W&#hje*s(Md$4iiis3n+h;r=S1rPnoi}{(MG^8J1Bu zL6*dbNeI!DM@+Ar7DIn@`0p>_8skIJ_&5Ulx^PNALq!@()j4OkVZ}q@H(52FozrTqU>1j!eCIrL1aYYGf$86C%}Nd#h-3#5-S@3IJH$k9Ai;l`7y*&>lh_l4_?bFqMu}Luz^6!< zpM7saiFtna^`U}*fP5yg*R%rp($o0;68)B6iv1|SmrGBlU5gEJyz+oMlgg;ePob#V z8b=S?y5C|O&@UB|Mj)5`-H^%g2$kkT(6_B%f$9CtTvQa5Erx<3SAbib__AQq; z=7{xzSWbl=JMV9Yvc-SEm$$_SIc^6?%%cq`mT>T6w#WyN2sMKvllNHlb zfD7Z2-l%2&to>xy{YBNe_R*`Gv%;#m5Q!%tx3w_xC{x-G16r;pPe0sVhRGNnN$>g$ zvC(WM5(dd@x$W11Q@5hGWg>{!pvx+AcQp+o(Dx0L!3HnHjqROxCkj)~r0Fv$Yv{B6 z0_2&tyXU;lh&~JtB&NUqv`fGlWx*LVFPog_5a0Ul@enoS8K1WgfSsDIcDM*1dy#~o zsND6tm zTv@&iVz)5M`Nrbf08$>-k9{<&gV#BSe}-j=T*Wg^U(M;78}Ne75fQ_{$7DFyt5bBi zB1=CxucxICr|F(BvT$d$KyUQAC`#eE{BG20R;sqwU%JO7zkiOVd_b?)kQ@Sdi?+{(s3G*$Rs-)nm9xnq8YWsu)=S;NE91wsjw z=nNMQkvixIog=e5I63?(KHigAie~QT+h9In{l=0|HuL?}>>AkLff6`aE7>_96!FFN zy|LIpiHvx)W&XXj9)>b11~_+9Usfa-IVsEn=kLw^|6I$Ve|=c(WpX?D1d>UQbUhAz zt=t_LiMSoaqAJyf^8l-b+hOA~jdK1c1yzSIrfecz`lNFJlK}xKbdXzBD*Ht#8H)n) zdcPQ(ZoYtgEnGH@9|Z9EK+6~URy^`GVD5E>lYNxpk|r>rBY)W88(-ZuSNexJsOn4H z5=t1qo$E%Vi;pbwn|Mnd$c&f(J7x`SW+iEP-%n^H5lkoz4J-CfTC|$J>8gAA{>Zu^ zU?lWu#?f2MJSL}Y2BHQpMQx>QjEENSXR~np5fC8HLftcZb{yxh&h^tx1apAbaT^8C z>w_Jpc~}awmaprACp?NbxGmQMJQ?(|m}@=3cQdwaeTsqzliSQGk!0J+pwUbi>Y-?l zX+zW6BOCnRcx>pry^YD(amFNjnxPo1A>CwfvwmBIN|{vr(pZWxgI<$`#bOp^XWCtC zh9X7P?1tMQI5I+9lOT}5AkS#FWM0A=c>m?HZ%Ur^D9A)J4ZUwPpLsziWfPrF=MGLW z5xzCnK3KF@pFDWVfB_f!#Gp}y)-Sb8?t!^lDY9^V$)&I?{Lgd`8PRx2G-dgM3Sw!x%mDK zZB+dMtqBpMC6K$RhW+<`p||Q&F+CJs=erZ1)QW4%b`YW1CiVq~mYN6Ws6<_xf{(mB zUp1xCyb8HHKU}^a%-$BTIb&w~p%34~!pk9tw6zs5tkeCgkoebv6pj~IY7IP$Ez=GL z;u{7WhCLL=3bW~8pJsaf`Y%8Y$g%qi2?t{fEHa7b)C>i2AH2OvM&E$5+`YNFCgOTt z>eM-*@;L4M0^vCufRtK=V8u~d%>HBodvkhp2T1=j`=Jng0n-b(ObWNl-3>VKUBZ`$ z%P#&yfCa{5r~fR@^plEXb($n&{E=54Axi922!?d~@!jl(E?TMkHD}h^;(XTKMSoOt z632Tp@kLhWJo*d?U8FglB;8jD&7_%_t@eD~hpmi_--;99;0~b@wfv!D3<<&(sQHnA zeqSDL{&Q}$o&p+O7;4lz9vLj(Zc&rD$Qt?QH>@X`&FojLbS>qFA?Zcl=j!!fjo!S4 zpdx+@26%sY3w}?T?I_>%w!WsZ7><v-Z4vi{R)^^)Z zY;7~ly7d8~pl_7S5?fB0&+d}^BqM;7-wqv1e%4d^h5tNPKlxTn+uF>G?y{7s+V!+v zPTHH0>)ACL@x-|E_8<|P*dz*Le{xeW>2>HRTX`IQ+v5dUPwuTyBQqbPSmRx{H-q0# z%4~7rxq4Y!QVr0xGgiTA+^TihYxDLM&!4lj6U3+?8Zw2qV6;+^bcoTg)XaU? zvg*k`9m*7xp2s$}ArR}QG{Gl_5DdTnzzCW$_A(Jr9RF*%{_l%)#7yz1=YYwp3b@NC!C}3GATRuH9N)In1KkK zU5Rh>La^58b+?D64+R374it#=0~Cy_$I7c z8*&7CJ{KT~#lc`&!qf8|jTC;q;5W6k$rDh2ASjzYt^XV+2 zbgqTQf})Clq7qCT)x0g&F=xPF^X|>oUiZnmwRy`302Io!QW2x62S6U5i%StmV{V@Q z>c9;nm*r+WDY%JYs7q|)={WKmqJRK$kSeeBgUxa`?EW>JAwDN}{Y(x?;Uh+O9CNJp z-HkgN)+v+8R)E|!eo={1Fmo)k1TO72;OWJ8%1R0g1e=nD7~#xrR@920uBFl%@V8ORG`uvc38%xUh;&NmI+mf$t?${3?{E&6JiCj2 z6y2{kX~(~(7mk+@Az;S~C&Eje9dqs!CQ1)>_0wkrQ}3FDC_i!oH^!D0-$dPySz#vq z+WCcyDsMkPP`0w^kEN8}R|*HiV7B=8C|>eZq>z_;Ma%kD`t7q6YS-&c(`%(IZs|66 zv(wB2HeB_w#MfluZ(Z5iU+#x|x%_>{lO!2ZwKYr1yK0l}Pp?9k3@Pq&=`Mo@$a8Eq zhmUJN|CB|?Wj+cHJMVUh@kzW`(7bZb*bVz?GxPeGngffe`zak(fp9SMBM}v(|NGJx z`bFdeLO#pmg_`(0PILfuux?0+cE!D6J1{ofq9<-Ff!vy#3D~Qp;JwBqmGD!N40~ zFkN8^!yhZr|0t4Z;L4y`6`pkFw`-(>I2k1%g$*B1<_pgp&k)8Tp~w$ z`gPoT+;J$J`TbbW`KGDu-1D!#uF=vPq+czB>P;an+y`Q@N~Sm%O!@RN&90DD!_oJE z(Rll$wu{qD^0PP>tomJ6l9RHXk*GGIHzrF0`F~0cIRP!>z>Gq^_JW;x+uholwjjEM)fQsn4#;@`#ScyI*HO7OS6|Kl+7$b zftWv?_xR-I!<2`V=KMi@@&9YLE;+C}ToRFrfB#6=^Av}uFnS&!wgv&JM#M{_%7Orp zOG3VXf4vGpGGT{e1eCuyRBQox)r+g`VtLTC0dB`L85tQd0gln7jDCR?cLxzwUG+(_?(hBp=L7K{&<`jwg+r(6nfR)YRhe#Ofw?w>G;_0#{^pr?J+t z{e`4BubQ)zceyoD%*&(nNH?PFb{_6v1-JSz3Mh89ySS_mWBRbzqjkoJiv#igl~ccn zRAxHVd@bCf=*kvO&>Xuob&~XGFm0i0hao{GT3l{o8LGcWa*Wv-4kZQwPy?c~@y;X@ zr}tj+5s%qqiT+|$-1AV;Ki%+-Nv}=rqNn`79lJ9ygd@MaGD_$aQ&(fIt4k+u=*V)k zb*lH_84Sqy7`#MBx=?i!!SC!RR`$fLN|fvCjt_=lD@S)y^?t!jrR#F-MbY9!ts{mu zVs_;0Y18)Oel0_Mam;tWw zJV#GW6*46XIz5-0G8?^%?M->w zk7z`cZ1h93NxpW>!_w`3^7&@Hg84QV7N}Od^^V6=rny@P++p$_L?qW?Z!K1PQl8up zuK)QV(mR^guNm{$)zgw@yC(}NtXj*`_F;`vxNYUK}o0>i;0F6Oa0CNy~;*>RQ?o($5>>DZ>Pj$w$d4) zr|w@aL=Th*K;M;TeqGwyrn{!o363WR zm9vQM_jig_0NRY%-{0RI@>~=rTkV_M^%*_qHr5LX*;L+UP_o+sfRB+Ipg~g1;8nAr z#HIsmYy_9RaWsuGG63%>N?=e*oNT_ZZK-NM29u7CWG?&YVEN>%Ajy3|Dx=Owu+>z@ zeSAjw&^MZgrDg0-H#vUd)s8eUyCn=DMdCVUH~O|+Y6dS_aPvLN(Dy0vEg-0SspsF^ zhqtHKe2yA^Vt@7&T%Ikx{SV$g%J2H2=UKG1!}eQFxUbtiwV$!rMFgdlmMO_WEZ7KI30zX&TMv}2#qVT<(+u9y zy+bDk!QXML{`~T#>O3)vW|O{y{vQ+HZU0!Xo4L4Uwk~mD#SH9h)pklD$W>*0jjrr` z^SPsWF;y1AxqrLKRHIxvhB#Iop{1vHzHtO3Mi_>Ne1hD9DDb-9AOrJ@wD`U-4v zIFQGT*5#yxaYwO-yo>oP>CXcKFOv2I_bJPXo7rAvC*~ea*fkp+V1jH#~ zjSK>--NSNciTCh(lJEf6*p+O7tKRJACUHmU!vQnS#B!?C1cRJdiFs-@RxHK?y0~Uo zCLBFmNfCwx*WDLm&u`9+!IQ$Vn9m)gMSBlwaw*6!FSOPe@sK8OIF8zAIUFJhtOulL z{9f)DSFI#8B!ESJ$hpfGnhRnHABR6Ldb!-J5TwQ8(xG2oW%|>4rq zUvF0+eemh|Oz8I}P@cC4OKGX*zC`?l4XrYaJ)S*(n73Nr4-VvBvi>7qY#6b z^cg5~#}S49D03E&&(_=^FDJ7ZX05c^8PQ_wDJlBTH~*to%Zq+~1}Elm(gV#Uuwl?4 zovfqyJ zhUf%KQQCfEzfeei7Pv|VAVfcFYN(A?fA$htuU91-Q3GfidmWMir;6e+fXaOY^eJ+I z(%Clk`n~yvAYdzA1R=qnp4aSvi2vQfM7^8yLfno&2f*CE8dZB-9#KQ%tE;Oc>3e=Q z)U1N?Umu{YHpU9@XjF?(*1A`bS&X_3t?<+tpYA{&N_=ao<&Onf1ysu|2*hztMzC~` z*noQ?+o`;LygQ$;=j4V{MCwC6W#Zp(S~w8?ob1+VL}AN_Gv&w=TXNB~Ql09_QXM}r z37>W)TcLJ!)T~C%lH)aSbCgej2nQ?hl$@!J!{q6#S>Y(Sei~-0T3mzqYJ!f47^yIP zBQ9ZXk=!ttgT5+0^WP4aiM z^{9%s-Xo_A*_YK9RaR_s+%3KzMP-LWygsxj=W4^rxvNd{HBHQ#37NK*R?YR8f>|gC z5PHzdb3zAIIt-a$vP-D9e8<~M%4+5MK{9uPGJ~yB^IB8yKX>oBdi1-QW*~7M<4V5s zQ+JZ8RGc_m2ppq{5%gD)wz*rv@olONDW5&r9fxS6uo(%4OZp!&wIK6Da>k{_#IAA; z%@k&)!PBZ&4Je6UQ=fEfbl>K6u%@!-D&iD2-c$BA;qCT~Dlm1=F9*;t!HNaZ`B>k# zd6PNqaT$7uOEHwcpDg_N0=qkncGO7}3-0n6piOehVqg5)H`RY;LSuga(V&;S%VtjZ z-b}jVp)P;RBJoXH030NE*{SkRJIVg$H8i?UPU7DyH$dfavh)KM7>2K03KbE_4IF<& zK%6W>49>%Nn3}x6rTYa&eh0utk+qX1uV@s}(`%d80AL8qL@^Uc-z^mA#BGuIW5ZCs z8j<%GwPvmU+#$J_jDMf5;1#y|KpZ6p+B3|i^(flkA3-5UCIpa?e$CDC{T{~tQ0Trr zPOsJArW{eN=E3cDlIvvU;l-#^|I1uLaKM1wOJVwe$b;&Y3ZN8Y2j+oJ7q-#%7(Wfc z8_C)dP$val`A+ucG&kcqn%8?eBG4bpOFt~y-cMbNQEJ{=x{dvBT9MfEi9j zwmdZ?41jbdKE`9jB)-eJDJ{n5L7h8%S!`Q&_d^lvdB%=j(>LO)i zH~Obnb(#8D+3*cbTka66jxM3I6i`W_TQO0#Gm!#HK&htLysm0+%+c#fnxyMxwHT6C zg;LiC%hWc1D@PZjc=f7!E8To`p9A|LP+rKQ_23wW!IUAUMN0k>!QKtXm zOi}<*-BSH2i>vG9k@f3%21uTVY--Ktnzw|yjc$q&S)-?Zim`(E%2&unV$au`7U%*k zdCnF6(s6#?A4GJmQEO{Q(V)I^Ju&i@5LLW0upnf7J8kupl-sLm4eIJO)WVUKO^8e8F)?ra@ZTqkyDo6^_ z-3YaK-fy?B6X@cudHB zPaMDl8v{z-taU7Xh0Mi;?W+it7nk{=99*Izo%EarCe?pW4|T9H*ps^xBzGvXA}UvkB7h$L%W}WUwIWDNvX@7_bl->H6>QfdlE$~J zRJZ_X8I=l=@@HMkxapFv?GD&JZUa4#so;o?sV{&_>JyN5qXcAwu!e)na;L^1<+!M* z_sXxxbAel=cGj-H&nCQ}rK)}5+K^>?F={6pr}h@d0+w@5Yc=Qpa=zNsL;7zn0Q1)n z-=qpJwo^huH^DLsw_isxB!y&p?W@~yWc;}^8iKa0FYYK?YgqX^^94Xb=@r}3FaHsB zbGX&W+*h{@t$` zq<@psYPlufp@M~HIP8pt!F|6$3=CpKaM@GN)w+~x!|=+^9KuN3voY-o$|sB#j5vzq zFh1ndZ}!HnmF9Mk-YZIRk-&+b% zfb6lYdx9vX6#}J%|A1u8lfSwUWd!#@yFWmM9}D51ST9nAwehn&D=HEMV(EM^xB&e! zg5ni+p>qu3>kkiO7(#N2gFw&Hs{*mhVYJ-1$8Nb3P6_>w&BSWfle2YBX7+v= zGPu}zrG;HM{4C9`Yg9E;EI6iLUAG}Z_PpRut4T%ttJPFR2H=AG9z_!xwZup{^@W+B z6&Q$86t}WC+(7!xb~hc*z3xVo^6O&W%EF*AOwNqiU*r&pbxHTvewgt}^X$h(e(!{w zpPP9y3zF;^E3vK#%{gtCudy}dsW4mE(H7p1mF-BLXG1l<3)4wZSPepzy`;%nkuTO) zjSmK*ESyQ<+uJs`v?enU%ilZdW$){vv^ldZH`%HoX?zabtR+es;iX3=l9aH1GyJ@b zwO>JDI%t|17HKK(w5vYYq~;jKu!M8PnN(#taZWscr0Ny{hK4d|tjT!i%Q!DnQ)ATQ zH?JR+EEGjsU`KXN7ik%ahlfZ`4)Y>NSzYaa!$B>66P}iY(VRLnBMUX!EP?0cqA+QM zdBxa1%9eI5(pJ;}+0jlZ149k;w}Hw{jP2(M19jPptR1VqOFXvn-VYOz|^7 zdy)O(SL;VW5A@OGm?v87CnA7u{4u&R-~?7Mg_`3;{cmOS@g2=@rJ3US#f2dtSf`tgfr2Z2{sb8G;tDcQ6{= zG8B8!)+R#JhmE2_e4Wi==DwV#Ht^8wz0s6(Y(i?yat+pz14`2B5}#WT2U2uE#&eZ)DZ) z5oL6Fi~ss}ksu%+$hS=U?s1tMzNIgiWDCIL@%1PDX4UqM+s{z-se zV_c}_;seO)b0{ix`|59*uR%(+Qo}3ETDM_a@0QaHbtIDkox?~;5LEJ?26|8^;w45h zB5UY5!%QrXyOV|VREeB0qQUodWJr|tbYY%GNEBz%K(>lI))I&njGhvsumAp!<&lE$ zA=uE-;J>2@2qKxOZ3*ng&kfq{^`{H#M}}#AvX3!9E_ebdzjW!tJvZqM*VT{fu8nE$ z=n*I$=%QC$@9$anVSZIWkTnKLOF|h$=(?xUU+fxxZ}HPUd|482`SesFN!)rXX^Vx^R2sXmI#*sf-g#Rg$$ zQ1sHl)>iQ_LTvUSG-Id;#CHzyIVQ)=Sd6BZ7aOp zf2aC1i+DHWyX!yboR4)<1_1M;W%xPKX{+wl_gKN}z`Zq=H^GocG&MxyUq5OLv;>DD z6$_a?%_@?h75ICS5rhxCDrL9)=^tM8L)OzpEO)R+uL2ua2NPnznl&OMHdx{m&Jn__ zbH?MH#!JYS{!)w*kH-Y2is&`X<7*q>M6X^LL;Fnp>Vxsfz3Ce3Q21OJU_R-UGyN!? zz)U8T)eco47Gy>2HmuF3M|(HC9#?5y$Jz-+Q38*Xp20#pk%fYz0|Xq`()BTj#Q|C; z;H&&#C6YRm52>dPIS&N!$<0`eU}t{)Rk#6IFQ)A=Zi?cR2`f@Y-s^oG-&ZCEtr#zN z)!jDlmwmTm=wFWCWvw46aygT+g2d~=t`^7Y=#^vd-2OpEUzwY6T}gh2L89673cYzF zSKYNDEl4?oHMHn2Jk)=4l;@%beKm9V!pq!$gsQA#zoj)qMbW(k*W-wf;~ z=z|ZCgYa>LsLUz;a!_rwz=c&HOKgh$ZM?u{M-&W3GR5Cb6eUth*w;7Y52AJ^#?LEv zhdqul{54%X!)tf_0^yXnGw~??APKSHu^Gm)*8z$+6qZs-e_3@!n)t&b3y>$sNH@HD zjNkVNcvj}dFYMP&M!xttdY^pN(yV?=$@2P~3C$-mbR~{XA| zKjcg|q{7f*=6bSLT$1V-)hVS&GfIfpAGlL6>pX*sw?iS}m3?+1TD!Mc`eWUGZ_ulw z!~CeEH${n4Q9-SDDO4=Ia?PAbc<8^zyHy@B+YqXMO8PuV07f6_#9R!rC5hdBHv!~p_oGCF7&m$O&$sfF|jY-3GGocoLO+O!G%P z*`O+OKd~4q)z^QT1<3m!DJl-p6QH6f+s?OiC5CEZmhEGnlJR{6OfZYTf0(J&u>R60 z&Hy~@ckvr@rvfHmBxW-y1t=ObV#BFK$hm`+w>BMX@+7?>UI+tx`c*XVgHdxjXkYobt>+URqfIa0puhr2FhQeeZ`K;wD}S3hoV{B0~C(!jzIU)BhOR-x!(G^HG=H- z!L=cavD)eDu92?;F5fp&H8>>vAM#?&XhA{uy>&QGk?a}E8#S3t@lQEBgl-7s%FvLP zIGeA)^@;_JAx7lHzcWPe8^|w_iG`ifE7$KnhQ^m_zew;qHjvt0LsKf%fP_xVW?{mU z%CgUV|5z6s{rJZRKUo7HBoSiLX{46Q@BEokJjCuS*vj`vvn1nc_&2ZHDS}oM2Oe2| zr{1DJ)%n3?j*1N18D7qCmbz;8nG6e%1b7#zJ7hElxOPTL^@X1Sjvc>hmxGg&utTiS z$d_nSf^nE2w#Dg6@u5)|(7}xnxyXs>4`Y5aToOyP z=7h)vKGDaKoEp`qtas#aj+QGX2Q37gvh0FC!s0&>0sdGe`mN|d9FN9W4IqD)mY0q2 z=$SOfBq zumMYS(i7RmvQkQbCPt8bbTiO9rT|_@w|>+i?cZ!%j^+RWKn~7(Rhx3L#!1x<1*D@o z*-zAnEoLbt_{LU0xBt(}{`W(;f(TC5_07#lmANXffWVCBcV=-x_e)e1jiRom9Lt02 z3rB~{Z*iHfm;mZq5Hdc}eBvUtyA%LAX}|&aag$l0><2THa!6V;|D#r0;2B z(qz4|rA%=-!<$qjzkPO^_X{`Ccar}D={(-tuV6GtN8;x}aW4Eh7LCA?O{Zww( z<$lg~`9M+XbHxjQ(~zm&GP?dEB(1aUK%#j`1f$Y`R0S)QfRx-f)6-}<-6$PGFkOo zgS%5Nm-lWSZ&9$MwRm7dd*Z`a9>`-y;;T2$*Cy~E(!uaoA@*dW!yE{P!9eBv*N42k zJP3(26NP~&-0m@RooEn^D8O$sS`v>{{o6y6!|wu8JoueUlu?iVv8{iP=D&Y{;!B7! zXl1nnxr#_2ZT~qeGQpT(YtUEZm`IRd=KX$zk|HpbVp~FE*!Ncl3QSX>l!!6!m$wfu z2Z&yJ<09gjnNcgQWjp1BC<8o2H|W!jz#R>f2C8j-agg%U9F{BbIPfDPY3Q#|KK_I^ z?|yoDt?vBK^^$}4G+y9o|9yYk)(`>GC=d`vFxjLBW_`k8U1^`?^77~AQa+* zJ}(ofCc9_}vb0*i%qlRVE4 z?guKQwHLP5DAAVcd{5?N3OL!wH&E`%2kKkKK(S0mKit}>ATrc43HJ)s zvi8my&$-rEb;1ZxynFiMOUK3y2|>|C zliEclmv|Y6WSanz(g3Cf=+-wVrTUNBr&w?ZJttAKF3(;kjTMY#bY3v%=S|wqFMBUi zSuMCA31ASn1Dx~k^G(hMQ(JnSNgdd;lStl3tL_$pa!so0yvOKwH-Q!OMlmwtx#42q zj!QNWa^O-dy25>8lO-k9|6IBuk$FJx3$`{T-|IaDf{YMEHasKW=noQVfVy0UGH~KoaTATY11^mw$U{b(O1}S;xkG{@*ia$<99sU@gpDqpsq8&*7pDHEaHn~5D zUb_wm)2R)dwz2V#R#ov-zeYLUAA2IS+5D6Zx}%hP`J6@qGLVD=q{(uVdH{wp>+n+w zgT+b>2|j->83vhPcpKjx28h=ivlZ;qT;?A@glF&q>sy?r{UQ;hf(Iv)`b>~#;?R(L zrc+)2R&t$hz|ZZPmSv)&{nL^#AAuY5?E_Wv|3rm9J{ZV>yas5%L;!>cm3pCCw|vYh zkL`kCmwxhy?U+gQ44NjbLJX3dgK1WUTdY#+8yaf)sGoL~T}R+R{E)HRjMRXH63ZSH zHAR;eY z9)?Yk3|IkpRb7mp?jSzS`7Z|dumr!m_q!bc?HH7#esc7Akcs6DPf6gkI*f@1O`Ra* z_t&EbkJ0^-*k!;FflW@E1Om4rjxqZ!5wOnNUbvEHe>9@n^T6$`1LWf{Lsoy( zKkM~Bu3Qi@@cuAe2En+@Jt3sdFUUWB?}rOg|2il(@&d3mj6~^A7H?`FS*X!JI0Hpl z%=3@5GaEWOE!1F%fN2nyYik`4&YRE(c^WXl4i~pOXwV)zTl>lpj8YhW8lLP{f+h)h z@dJUaaQBlf>2CTyc3D{g_)kJtTCt1Y-}E}J_3bIYIOeN-_9p%kE4BinQS(^01^sT< zqpC(I%?4ldYe)?<=ZGS392>2VI1v80L`Wa=>3|a%lmq2Bc*_G0*Mj`GjtV^0AQK9*S<3uwvtH#RozLAAbVH(j!!rtd@m(;co+)DF?g z20;vYH1||&WqMpG&*EYBDH6j#?l$!&6p(c3vgGtQOlL%!4Ogj>H9hgRrWjB}NLC%q zj%okO(NKM>pvgZ}hYci#hK4YNZ_lX+d2FD-jZlaNpe_zwW4$IXgtt`2JB`nN#}Nw! zpY$ju3iftV9}k-A;z>)9uHskOGqKKle6bYHeXkB9ja8{tz|D*R8O}(LUikm|e=oS% z2%S2Z{P(Q{8UK^um>RM?C>7_k+lUNmHWu z+rwaJ7p@)|zwjO^)yvt})i+S;z1)U1XusYEbPw>+1FK$Bki#mBq6Bz$EO)^`#ZC>_ zPjT})=2w!|w~qn;zLU)e{y@tGVQ(~_e`32V$hga8D(Pv!3B@djk3Vj_Vn!02ybi;N z;gSiX4#vv#v!$(5B4`FHU`xA62rQwvN<7BXgEv3rA;)7uic@FTMB|YT?u?j^6GHw@ z^!{)?n5*z-clhNX^4GI}g@694sW+(ePr(snjra{a>zwwGol(GPwVNdeFo-m+NmaP#ijyYYM>$f*qRo;N7BL!}7C9>BA#`|iwwzp_8f@!GAbPFM4 z6$PPEpC*MeMWh)V3*UEDNW9dNE{>whQ%K>cO)rZ0H^l#$kF3Bih<%Aa^shT>#0UQO zMi&p`e*D|gSVp~X%q|lf4#(?BDe88I`Q{bA%u?7z+x)%KLk|d*fvQm!1PWNliK6Hf zZT3Y4#P0g94^NUe1RXfgNd*kY6BxbJv7!Ty1HOhripDJY-wl&PNd#~~)$uA6mnAzU zO?@n(ovx@)JfnV0*5pQ%IHy9%72J*$E)H_A zo(575!XC=D)p!gt0sqSN(#75%WXLmCsYFUXl{^Q@rB7~=e8&7egs#NI zXu?SLfcSd1KXr2{`lr)dAY~lr_=o`i;uTRk>iqNt3>8y~$r0dIaPP&`-@tYeF?e)RL@3c8e;kecxN2)iCd_VaqI7w6b6(`A| zg(mTBny*f%0TV@jDFrW`wlggZHzT9-QwH!r&{B5(uH``tPI)&c7CRL2qpYT_!R@j- zufz3=^GXxfrOimJ*uL1;S(jX&J3ldJEuGNK6w@69`9(^wG+GMa_Q#{F1fEUA4Gicu z+9%7TG=8IT<8YKGHo5_j!{JO(eQV~f7W$y44;n4{I35(eX(g!iew&-Iab#?%#;B>H z6TZm_NX6Q^eQGT8mUtS357%J1EPYV$&L-eBpu1^B;9u|WBNBKd#@9bh{#>5rCBCl? zE!1xn0#j|2+mv;BqcI@Qq+F=RkRs&urVk$nY!M9NIxoSTtF{CYCv9f4C(-a6DwsL4 zkGjVUy_EfI3iH3Ix_T7u$^|O}@aRLwcsRZSSko0Y2BrDNTC`c+2{Te{8sgGwBaf7* z_C?d%XsXc0r9%K(S=tsgp0RAVqdlodJ1RE;KK*vbm} zzUiQlU*e3y1<`y1T+^KOe~Z~2(8&5v!`A=b#sX#zi1Zc_W3+1xvgi+Pqs5mMqVd8&!-#BlP57`F9f1u?|>2| zP%8l$)_AQg2aW!7p7>*Q8#Xb*MnB?ZpH753vrB_vc;mMRyfDk6qx03d{5z^$=#c^d=DLrnaXx6r=*YO z^Q}qe?@&>h#335%vddF#EeL+0=6*c2&GW9&sk-+x7>l|s(-ck4#zThYE9kk02*#Hr z&JHro<-ZtR!DFl5RiKtXDL%$=5K~=av?gbFmFUdJ_xx?L!Tq0R-gApl=AEBjZC0() z8-hK-GMe_~Sx1PV_@psjum2>(s4Fje7>N3|pds`^hn!bC8{RsvE5>D)%0NW{E$ZH8b` z$F2R-Lwf*BhVLpeOV~^E;NiuWDKZAws>^PKrLxD%d}+$7EPts3}6*AVUogL2&F?Xq524R{aOmehg^N_A&Ar<74}7=%kLZwjKC#ni}uUd zq(&!b#h#<7x7Z5zs*@o|WkyzX-``Wo#jnV7z!;y^f-cvvEi`pA!QSEMl{Jl5AICSC z0su{F{T=2?t(D}#j7tN%U+tpI{>a-_##f2iFFPz5X9nQ03Kd_QWF3k5+6xW$u3XP$ zzJwtv3q2N%<^}8jCrkYEem`kqJK#I3pgFpfZXHpp+N_FENWP9aRrW3!9I0XFjim9@nlwwqct zh%K-bP;&TY;%N(O=deQHszi{xM1-N z;c2Nllwi`h#aQ{HLv7jd`^Kj05x1DwKq?hVE|lcmd$K759RxBV&o+7Ag#ma;Z-I@) zPNoi2+bUdQ=8YQhyABtQ)+w|(e`KE`nw3X`bc1{u9xHhTrv5Qdb?`;SllT|^zEDs< zU@3Lw_eRrY0mb2;%^o~a!|}ht=2zg?ua;F2jR55Nv&K3(ik-10RGEw+x(~ug$7OZM zY_;GqY?T;Y#u{Sz1P@9wj0PT}ybelwW+np#UWW(a!2^Kh0azqM5{(+<`;BlTs?n;| zt@~8pcpA8MEE|>fB>U*KDUYV-m$QuIp|q9G)W)BVzZp4{6KmOH>^pgLcV{E!@Jcr{ z@^a78ZBbUm(G@Xrisn~)BFdv+J9C%1dy>|=)T)n;Sv6I_HZ7nd_$3|v#cG22`+DjV zhI}W|_|B7^$>^)i{z zHULpCciL20b-jM!29`rJcYZpM|5-HwHjFy^l}CWVEkMZY(f~9RWxDC<=;%PT@Bkci z?c7JopQ=D(y3Bq>0!WTOEyQ0%S_xU)OqdJf6rZbe#8|mmH(r?_aXlMsh?2AD*=%ku zYqLeHxVp^$$_!tP2he2=jvztW@{gPn!T6A;66PkxpuaGMzL6E*zEQu%_O_k}*K1lC zxj}`R5$r}|kWwgra{c}*PNnvOSz223ZZ=b=hhz8)BV^r z==)Xk3zkDcm2++<{a&T!#puDg?ya=-b>uu-pf!3MpZm}Y=u$N!mB6ks@m0R=*e@TK zEscolh9?#7b(<3eY;ttLR(QQ87WhCrD|{_fW4T!6@L2V$8g<~sctL>Q?-PP6Tw>mU zR_SmKDBz^pW4H_IVq_-1RhAxv==BdQX1-6fMg+GLi@NV?6!k;3A4Az0&M6% znXb0VW`&Kt0tdWGj`yv*1K4%9NR9vn=3{s`c+6UnlKDp>`bRxuAbCU_D=lpbyG`*qNAl&l&a$*k z;ey5Bb0z(v(dRrI{m%;fesP1)jPhpwp|+>fwksURGmtklY9$MNbQubP>Em@7$E_yhA-)KlwbR)k$6ezCB3(HTKiX{idY(yc@8T zexjOfKnf)oRn@664XFGgl(XY&qsBc(`a9fj3{Xf><$OiKq7Jf+5dE1mM9xSP7gIq- zEBDTgn{DM|rz!gujr8n(LD3hK*ctUZZg!!&gr@#gM&D0*NuG1lDp2>s7gC1!=`g$* zjyfy4o2kNM>ppLm-B6#si&+(=I3-px+tS6>f%Hd$0C={S*w0YVj81j)3K3oE^&(ohej*8Dv63U*z{H?{wW_(+yAPL5(aX}L6XneDE2=Vxd;w%H<>M@4r3T%KvbA8Cvp z=fNIJ#^_H&J>Bm}|XR~gu$lqcJmcbckdJ<#Do-;^{mpsvT@v330 zzOiiJo4BsU*~;W7j%CAWVT#hM4aeJ|kw_$TER}&Ah`aAA886~2+|&^7)BDB|KIF(2 zy$i`17f+P<0G!s-544S){0M@NpzXb!cvVN21&VYr49a3UHBM{Y#f|t}Bk9?X%`S^l zi3xt>h*x$yGf&@~B-j2tTwv90a(JLwI@cDvU3+l4D)_XH7J5aW{ZMy1*5+60wGcBKmS*)z|+!+p} z-x>7m`SQxn+(rb%4>F-yD8+Sc#Y{0F2dl8@wS0r>$Gy9O^e_5LsF7-fH9rnF>PZuY zE%ySjNxGjgmyD-2l7iZMjj)!v=|#gu?CS>CoQ9CwTvRDJud{UM_;@%e=# z{@vVabURTjELLQ93nwxNwk06}UAA<-oE6utcgKz|XktT=)0K&ih)k^bWZDf<+TyNIGMpZvH@x?fD z@15GhjNF%x^Uh>3E}>IfSGF;<%&XS7wsbX*cDhzAd1B9q=i7vPv^Sj7Q#(Cw>(|dD zk>R6oN@j`XJbgKz9~j(ur(Uvm^CN6iwZ{>8x|)I@`?Hfy!e`ismqm9!q={}M>c6va zenvbZ9Ddemb66wDEBkuP*qv(aom^`+QIt9BQUc=OtWS{Jv22WR3R;22{oc(7(Om6U z>5XJTlgCSkXkM?{g%xdunD%JI|0W;h@`W-xpY3>oxuanKA^Iav%z^g0BF2WI&Y0>czqp_?El=NGkbU(aYb|3F%(Q5v!f0=n9z7ZYKmXt1uA(jeTEuL4! z`Ogv%V6h@iDF}tsgAOE!#a!}J?HX{mfYys~oOX2cZM9*4BILqU?5wn?^|zUf6r&;! z+l;>>w)b+)9Iw>An+0`ta$0Dz*H_kWF(xngQQ1RWtX}bW`EGVM64F$fN@y~oy(0z? zK7}9h-}TdZvHWg$Y?p2; z@mvXsQC(oVN!%PA+*iS515WMW`nG z`$MbQ21nu9`4BJVdx8RY_a>jk#cvDQog>oTTr-ghyW!g0C3577Hj)v-H_2&dCa!Bp zcr7s`Ef|{{&f|k=X9!AP#A)=$G7+lBZk@js-Je zd7$N@OiiRWH05@y^_)icqN@(Wc?tx~Dt)@^muARdbx7XY)FFwfk?qllC|Me5uJ~r~ z51)s!JQgo3)g+&ej;$W#rqF~{<`l5oXxTo4*?MuyJNq~jo^K#aC?rUK8>MlM?PW+` zD7!Cgw0$a=aI(!&ET2xM6V0m*BKpH4Ql1Dq^qtZJP(^^lV1MyUCLo{b~DTFdW`RqFEtCvzk3%gK3ds)9r!f5 zr_9G@@*VFv*bp;AMEttwZ+%NfW^-^Oek7vKvuzG!8D@A&iAM$cnIkYKaitI$@i_uX z7`aM^nCg|y2c4vsNpXb|9{QfmayyGPZ&-66Yl%?_%QB&#?+Mw%gF}Bs{yT*Bsyhf zT?EB-G4r4ixU{<)2F6jXiAFsc+H+he%GYA&OVN4d&XcbYcLamBYi)ku4W_)JK8#qT z$qEd*)%z9EALHLS4eG{1jp7jHEQyb@%pjSzG?($vfp`A6scn^eYttlX7A#b!259|@ zd|XeA7L8Fe>CVuy3?mWpreoVl|z%j5}jwicEyf3eTdDXl-xAbqFykFf)VWCJq4kL3Vhhw zS!4}N5VCp-{ZMg7T8TG|P15_;Hvw{O4=(#nq_gE$q&YNfuB-V(EJ@Swt34K;u2$n5 z&mIO^o}2k{T5uKV2=)i2cPplbvQSs)5V1&wTTFk6>zyllnq@O*=#A~1I3oAnqAV(+ z*tG4crJ?`*umCBuG+Ht4M!&T1!)l;#3|`wcTyv4hL9arwqim}bV}=6dk8I#?lUpoXnYBmffyYXbIM8y}?92!K zQU)-qtPWvl=Xe%B>?%gHS+g$?Bp;)Fg$QBs!8}JI+xS?aqI?VMz2_AUM*EKXS<{WD!fcAj0H0U7C3=4@tjA)fMF+0vPOqA6!m>*7b z8*W)PDeD*Km%^5gtB=1+7YV$VajCOclNkzZ@%aT<-kwEx9LJIHdLMBQSt!SGysOT< zdT5dO4O>m#ka5ny^A%;RAv6Q3Md^W$Rqn0VNxz-Q_l-2A%Vwl~MN3j!;dRyPBPvtOH6G#n(wP22*+cUQ zW+7P1&?mh`)L2X%si>`+#}uopx>0l;Rlj}Pqo9UjIry=0uzsPuippyxKSJjDmuT)K zF$6FApWvk7cTJu$#-1%N?ntZ)(eW%oa2IEFRS$}=R$TQUX<7>?3E)4A$+p3;wP2PYs9A>!qir0C2)Tz{s!Z{)Zn`Ehe!nii zWJ46ZQwt87IkGg}J06j;T_!a;I`t|T(+M)*OD*vVw@O6CFm{;NVze6lLJJWpw5=%4 zVbcGxe;Jp0sXA3lH_duosTm>j)WNN`s3ozDX6xMfYCYH5l(X0$FmozRSbo;Kb&yR& z2-}+cQsI^uBPWF+4O>ocPW8Z0EqLuE0XV6&DlPb|Jp(vB=PoY4Mvjg@bhc1?Jwkc0 zm^O+dT~ML1nAIcGE5-Wi-L<3j9-%hle_GaL{Ak0!je|?jWBZvBBF;xH1aqVO%nFW| z7w&f2Xnd`*w-Vee6cAtZ<9B@{G3!~D8zfHLyvb*V_`+gFl3_%&xltbL_Q&VuDSSTK zQzf?%m7ek>JW_9C3NVAX5tPC1p;=P0>Tu-6ww$vF&1-mZ{f&~gzc@=j_s9kGo1E2B z3%|>Asj-BC{isQSf)o(FZ+47E*(Ln8C?dMzbhI^+`ikn=QZk1HjKrhKb;R3P*Z#jZ7|n|y>a?=PGCK^*pm88SwY9pD4^1Z z%Vu1Z>Fsx#9o(VBY+YmQ0hTuq@N!dOBpn4%UDNdAjLUitVN6j8#V&Q2UXH|+ioTIS z>FHJ`Hy10HRx)+cpmmbP%)kINVX@RhKA>w4c>R;!ymnlZfi!ZFn5q+eQ8%He3F zIQk(4<~X7iqeT5E+a$3GHeHUs!q6xEl|e9erH(%HO^o^MHtJ@`n>hTN+A-$+9GoGy zGbmA^k7x081v519@!O>S$+V@ha;}$r0A%y(QfWm7_qQxe3P(&>7UTOe&x!xNvkqYw zZxgOYJ{qnaTuO;eyYHX=Z{)H;Bo+3C3g2C;GGweRFMk5lrIpsZ+YSIgg>Q75^u?ip zMwBFIc`R*jqX4aQAUMIH!lU_(KM^oH(-V9>PtaW(nwuk0P{^ zRE#H^bX2wKad>LyBN(;A;q1evTsr+-5>H1+*N!xO6q}15Iv`d|;sLp z!JWayLt;1??cWt%FLJ^!*^!Ft*%DQY{&^rPrz|q8<~P-xR3-QP4|%S=zA{f@GpQ}5 zOsRyoXnFl)dA1AV)7fA4Z`WQFX0h~uxtZdJ9w91&(l~#80R~Ra>zj3IMq?@r?d1C= zT^3;F=))?xe64;}E%U&+eVUnw3#mLrkm7q4?HskQq%=R7b(ZC||U$W$X` zH0vg?l2Hn1bkfUZa>L)vWeKNFG;VAcJq_C$7x`+s@D6U3NxUfcA3?+ePq*d1sV*rE z+?X=AEj*e+)@Dq6QK+B)K7c80Sa4P&_3=9gElPJxpRRA_c9|Zk7Gi<;>cuJq#~WiR zB%gW#ymgAL)CimncZ%lv^J7QE|9RUXeurw@=EaKOJjrA&*V}QP!)_64$f6 z=1~_LMr#2;3kng+yj$7+uH7&uR8O`SeZ`H(%;dby6U9OPc7%(aPQpH}prF$G$F#$O zch+M+rV@gE%{)_aCyV0vo&@Q+eSUM|ZJ)Q|y;8X({hg??QSv%xV>Jm(kaxlOUD^w8 zoOZsN*sBOsiHQ&jxS`jKib@3-0#s48pc%8}%(9L%`&dlrNZV6y{*MD#+!_2)IIr8f z;a3AE&&kS*DQ*HSQq|L;VNqM)H1V0h)-zZjt~koZX>cD3fWM`D^+{9VIpr#|8;?Bt zA&-*e6>5TOD#}SCG4M_oZ{FmDuzTtXqkOHCfVl3u_a*o2M3RcvL^j6iU({H52;r|5 z4_EuN8k`C^62OK86+rxivp*;B|MRMdWFvungGV#9wmooibJ^ZA8G`D?MFT)jiUfEL zdH~K8XC!cyIt~KI)d2~6D$9u?_*yQd>=Z{Orq7zybQQzaSb=Z7<2ohs+;{tDfIldo z=NNNX-d!f0Q#3U<=9Vu1xFZn-4~Gw?5S$^Wx4@jpvAi$N84JBfOXOEMss%OrJuoz+ z*qLuv*K2x(1!CfRPl1xz50b}anS>0fsn3hO<%?&N8|I_T>0o}C=hyWUFIZx26JKXW z)VoS69=ia5R;hWR1h+f6n^^UeEh8vPPF`A@2BYN*vvncok)0~?*mw&`ENvNIq7zf1 zz5qKo;)#_q(4x%Q%x7_KTcU;nesD`=H{WS22;*<9d&F@d!k}t z3|lavI*j7}9QG3?g%Pv4y&FkOd5+w(Pk_TKRHn)vnSJm@SE4Cz-R$f)?G>CQ@!iif zevbwkRS2p-FK9E1C&KEo_OcXwa(CE4Lr)!Vq|uT|ja6SpC)@%I!9TN*U-T#qjy^Je zZVV{v?i9>_W+unEg_iCfK2()AeWDV`Ic>{bGa_imWfdvj8w2Rs^qi|~CPW0GQw8>q zayer7_VR>CM636CoUqV|Vs=PQRC%7UqzJ1CI6sVcG0~O`+auBW;=Wos)`cX0H!C+9 zL)ja=6w@2Uq9*9A&)`ckt$Wth5J%42BX3RbfaX#6Z=sBsI1KpwR0T9f zV^3f<{ATSAyU*83swWnYpuex4l-8(0mk&Q2-Sqff@i^TJ{*p2$i-yauy%Phr_oUnQ zjAGm!N;gB>wU0$HMQpJGo~F-Bner4r#=tHhMw{u1bpz0p!Pqnz?p^Ln5lbn0vp0Wp z0WiK%mRFbEcF|#!DCkMVDx(`4Qr6~3X^dsb;8xE4D^}PcA?Ut=%+}e%v>svPHq7xk z@OIXjVE)k@hi701dvgLQy!NkqF`f741;szfB)ur0lq!GW47y}HbB%Zaeth37etGfu zD1|SiZx(1;qCb4{Oa!D=IQAixGKn(Mwwv^mrTP(I-GS*plzoLJEX%*e%;38PiVR=R z^)9hIX3~5^FrCkCy)hvG`vRtx(+gUhUd1c#+Ad;PpUH4*%C!#dk2aFx2R zxzZKIu%d*OB@@f|5CxC*SxiS!QIVe|!DL;sgODzdJ$YLv{n6VVbGpHAXlmS1l2p3C zW{SRe$MSK!y%2Vzk{jxB>qN=Fq>PBMGF8p&!Ij^XK6UIO&n7rV$g|+6P_99ukk~Kb2q;uZeyLR$lAi;C8>n zlm1m13B{Z{Zyw>fkhR|#{A;Yy(o!u7mQ|S) zl|Nd3k}jfQ-yJYIZ~X%{wP--*Cb&O)76ABqW#-&|4WU)iqQxFwVzDXzTxRwr7080T zHN9?f9$XBHTkOrDEtiKfY8PS35l?CIx0Hy37<7F;n&h;ESzwD{#C6YUkMPAcyxcDI%n?F1hxOqEQ&WIGyB{a&yhz$6ER!`iQM_nz>3Vd$&l7 zOHSC4pm=b79)0O8YHh*q2i*^89=x^lm)8)`>D7Nbb^b^OT~){J*+2@i<{5P)o_UU! zujmpD?7Ww%*0(thl315c>b|f@y%2qmm@1qNY4wnE>8I`i1uKdTr zkzndWWigkDbTTeSW}z}ij4>BiraMd5if0=R7DglkTLc3ATNwwK6Dh{R!?wx~O#CtR?GvqYSJ8ZNL1#XB)5z9`p143x zQrnDWS2<`DRj0WGxi@)Ri1J!9dU*k@!F;5nE!gUM@2McA8QKFwdX4}UnWYqYqAcd_ zezr&A>fs?OBH~B$xPS{t%^*BA`S$JGB5(trcISbN`hkC+i}`SG6ivtY+Ed}|JvFfP zNB^dZ{u!Gdu}lp8eROnmmA9hE6^BeZHAN!OH9!ybe0g9K%_S z{uO|Xeji9)?ngDFJ_%UzKyOz}am4Y(y_o30dmr|DRe?jU&v&f_V+p0>=se2CVYiSl z-R728pU>{>{`p5-FQcC;>zzSctA6zw<=wm&>sxu{mD@DZG@-3uLlKqnhSB6J;0s>-$umM#cp- znOGI+wvyDqW@Sy~@Dco<{EAJoZ96O3=JAle&^Ry27kr|UKxLGSKVIjJwlR@W-=5J! z%^t!$eR<2JOz11nP<<^3sf&rH3r{)6GiA|Y!ATSq59U|J%7T_l#60>KoaWozVN5{b zah5A?P=HCFv2c`2a(TaiQ5mzq?CR33P)5XrXR5{{J4%(tshohlEP0rf|8CrRo&*oa zE4JZht99aY^a2sZ*V4Rds?ced4eEaVnpayn@|BmvHR2B#Z0YSUF0JwT48zrm)ql7T zw?IT06oX4{Bsv^D16d;gclc|6jxI!+{HiA|5YR^KkoZ}5zqT*boOO`U#hSZS%N&^X^^_nv(!HEYrBL1GOh=d-$0@0QApI_DfcT+FS)sf!^@5nthmfniX0OLb3aP#>Qn{lz)Go8Nug&cw7^L1l zRW};b_FUA1V)UmgovLd7dewdQK?c%(ACf-)ZF^8ui>Z+>i(il__Wls4{fy7)s%bxy z_Ud^t#XfQ|i6p`vX^vZF-|#de;bSrN--QZWcC3O{2DWCpgj|`$&LhY9Ych$|%ABBD z{LLc37i$+59JNVrxfvkFFKP&A#4fi#{6D_lGOEh|djb`tyHmQmyStI@@&HPAcf$b= zB_-V+knV1fP`U)^29XZQ`|$n$?z->pYu9oqJo__y&z?PV(I)jFd6AY+J=TZWiQo&7 zHInbzBv7izWT7>8XTyC+gS@a;{XFn%Z{2|UeM8d={8<_089E!$qb53-^$HNvhA3*6 zV5Jcd5*Zp96*J9oTT6DgeU5{loX>t9CaSq^m3C|*CTMpc=$ueNt~ z-~fx9KHUzc2nuTb)h>TRz^k7fDqm&ZW5(E0%Q-1c6(~5>ddPsck7d?#9=-jEqnE2O z&F5-IC=;YsbV{_htPiVe{!IQr*lIO~wab1e9y*c1>9pS6B?&Ta_h5>Mh~NaIeo(i8 z1L|Jj6oDH0D`+*%*hPb@MwRc6MqS^$IGI&rbJR}j-Oc>>#C~bRX+LL;rVEXCgnMI_ zPxC7-8#iLU*d_gPd2;n1qy9j5F38x7$^RktdiufCXrdOFmKU8VL|=MsUHvIxlDM)xwF#sr^#fbohV2MFuao(J+Jq~T3rr>;ew{{bPC*6 z!eC*yqpm}>hMJIV#58{GfmMG+u}*7cxj3uCWnA9nsmBM2ElZO%p5YGQMbgwk>QS~Hg0N@KBUZNe<18WCM<@HZM4$;oezGPYrbmfu{XDRh_zPf9qG%eFtR#U z@QL%v7z-NlYVi5s&8S!MW@mKQu93Tu3N&ZG!{Kp2th6+~w-wJHiklX__(dP*4TMfU znObl6qSWJtnwTyx^D9jZ*y!7_hxUL!HS zBba7eubjKIl3}l*>^DeP)!f!T?wsIO0@4kxK z6`8o+a%Zt1ABK7k>}J!|PoOBl*Z^kH4SyqfnE-<|&rh??03#Lo5Nsfpeo7RkT=C!C-5bL{frEtm zR!j=~zOo6__zcwC$?d7HS8{&W%1b!qu|d$B5v}_@Qm7bq^`8^X&E*MoO0#6@*>df# z1;8PRq@JH_9`%-vDk9nKMO6nB!xJGPPYClFy7vy7*BvW3%*@EceirZE!v?v$xUfX- z7Wrkfb7~@2q!3tmsK&=iWZbooBjXnT@c(C9?KP4&ut8CI7-Dh2_-mTL38g}QGyHa^9%{pOPqn57i z??!l+zaU!Vj~AIRfK>)oT6NR%AU{`ZW%G#JxW*tam)*)=nOf<+-!p~t`BOM-OuL1R znmkr=49@n9RkZR=j%#n0d25`ZUmAn4yJfDHgH6UTNvH5Dbf)MVMExG$`C)#coM(xz z$ef*?P$w=SkgL$dySaM~oQ?ejORQlynfl1G-ZE9EPh0mLA1pSmN_k__?uRO`mc>G* z1tH=ixiug3+e4uiV#^cL`zAvD9U|j~m)vy)U+$HhrBixASHOrfZeu2?4|Fcc6{`iw zvn6|Tr-R8)C7p$`Snd9NjueLL1|YohugUkH3oQUA@Cct^6G|+GK`0n{<*qiIP=DVadRfPi{B)?t1yGhY0M{#2qNd7S27cA6C1IS`fK zH}db8_*^lAjV0DJE;@HD3F0m$;b=4q0*#K5v_M`|lf#z_?J|rqFO9Tb>;@T|wqvb5#V%yNYDEq?G&WCaK0Ch|6B`c~ZKvq+ z#~godqs0H*zqH(}=4m7vi?2o}{|_!wa=pq7~!9PIQ~b5(^L=sb)2Y+pb0cqHJx z=Q5kW^Hv8ww&2AGg~9)NPHEYY5sghK_v7=Ezm!xgUSy2y)%CIdhljViT#D0RhsBr! zSt}^uwT*;?2kK4$te^qC{kvlN+ z2j}O5U}0F>1BZ1UREcveZZf4b%510#PVb>nit)k$cbq`rvvD|)+?a*$#m)zoE@;^J zNm2Y8+~Oj%+=(b&^N#anM?tTbWV51*&bRfW*=9ZM>6dS=n@Dse)FlE~YpS!#{@G;B zIv8(K!nBSp%OsN(zn3`VHrN)c{<{C!ie(MKjI3OV7CEC43Lh2RVk11@GW zGXh%;dok~UGDrVXQMyz+W(tjnLc{2163?P+Chhv#0(H6@9*aA?);PUt5LR1+BK=+r z01{Q163F!*r*%wpL=rRU<)=OEr)}S`hsF3voTLcRRGM%aS~BLX+`j$Q2IlhoL)oYv zmlvC|l#xPYT_Lxgo{MNPA4LZ8p6ar6ziTi_34R+cD6mIj>532E23)T(qSMkGZY0w~$uOmDM33d)3D0Z=;CO9?i2fnNWwXt;5 zneP(<0sA_Vz^N$bQP4CoyvcCl0jgmR57ZM8NNbXfqSY!P($(bsX!F7jTG&V@xSO-V zE0_Mr%4OFV&y^&i&maE8!!<@JYeI#A6@v?8(xEPHykTY?Ehh7GOhL~hTAy<65?Isd z)UF&p@8uZG8juc2cw!T?i;TgfIrFv^I+5_exrSy$a4Gcbr0 zd^*)P8KRL#whF~iK(_LICzn<>WRuT;Sr6R8+G+T@(j~H0gM8zj&lk^8ch6Q4Nyslo zH9)@V+kQ#E7L3+@(+)wm*WQ2FRQkDXyb(LQ;G?bcMnYq@DE~k^)llrQ*LXa78G{Zv zqbRY$B**|ll=f~Hd`xXWPxF~(OqwB506KDo0v1v@6`QL+QAu$7KAt4{F?yd3)7@O< z$e4mFwp#aERHzq)A#K#?lwN%#p~4WjmE=uy?A>a}*gW8{RV6`X(yfwASyeD;n}#9Y zxk&3Yo%+<$46|3sGzg{e!Q}_7W1q>-6o?vSu%ke%^JW?o0pyAJ|3{t?q^V14HA$Ru z@LZwvGM;CksR$+%YE=li7>V6N zCGzn?6)s+>Vj(kq*znf=3q~2c339Y+!VYQzUAF>6dDr6kt}scSEBM1v>ovenEVs3_ zA*cJ5-Hcxo11Wy5EnmUco)gQQPuH?xbH@dVSQm#4cGiUcBG8z)V5KUFFXZ?kEHwci zFuMgWhX`x(yMtyA#&PyJd5TG7;-ukw)rOiCDswczn!G_-4Qrw9_n2#)k&``0T04!B z`|1)*u6>83I@}r{8ON1WR#;E8A1zv97@lyMM5PHT0c=mCr&aNusMFpUKd06pCaQvO z#1W#UvAXpiV@}B>f}deaRb-u|o??*QH)2)cPca)=X>sC+HaGJNrM~5X2(&i4#0>4^ z7~BdEV1Av0x%@5yT77n-GT|-pO-m5`a5U-U9ThaAccDJ?!$9VAXbj<4rl2JkuzQtb zPT&}1BuUb8j7beseeikT&XKgu!8*6n?&$Dn1qn*I-PNnO! zr7l(&NAF2iSb-R;Nc1_fP`>a8fjf#j1EUuDR__y&mp}jf{YYF~+F2M;-$lX|8>1~- zfD^8hR#aS)1DjtSeRIm{^|d`P`d09(X234@8qb;xbtikAn4M}qqU=ZN`eJT0>|$~; zUzje$#EdL_*@U4V;9w%xYQw`wmw!U04jUKj^E08sYEK2AITt z*lDQz(OM$;MueY$8NVuU8l~|rn&@guu+GU7om9$o-OeiEZsN1Jlp`z+o}NRPMS2{rNW z*J`7d?zDy@3LT6E00iea4Pw4O1Voy8iuv&VHi*S9!++L5fc;BpvewDA~F&=bAKW? z8<=Cl(~afc0!^sgTT$GssLf9em?>G}lu~0P5*d!#UkCH&NH7qFy$EACewr64Tg<$u zQ2#ic1}&~L*@!>xzdVP}F~hBiv7Da>I3RLGo5+&4YD(~2VQ zbZndNhQE>U^PpF`Q_GBwC!L~%3URD8I*yt&47|3B`jl4KdLA6@-s3o31V&|`c8_a< zCGct4AQ4wBsgY+IUc>bA7+CY>4#V#9NJ##=1!LXZNw!0Z3x}HPXdPAmL;sbcCuLh? zVM;299iI-HgO01hmqy3d&c0K5w!~0ngW{L}Uu$=U5c`E6pj#5-dL8?<E9@iojpo7z6_0aBAK zoFMg9WKo5J(5)11lEi4AF0bH!2zkjDCl*3!b(GJorvl>$JBNVu54TSq5wywWmZ|n;cx;QFL@>~h&jq|cumGF@?y-x5|{qeSXE+! zu49n$B8%zWC3O{=YL~YIr+94jNuEq>UEdL3{^oUTh}^Itl*>Dw{#O1Wt!k>m2hu@! zoH1Ey%p;gqBZ()*VVHLIeg+5g`DG>i2xu{1yRj?jF;p}f3;j0a5eYm#ie3vofk9ic zzMNaCaDrL9`lzN6QuOlWg+tarEhJ^Welno;tn*uwgUC-PCRIQBUK_zz@?ww{_Nr5% z+4oAOgoIjl)bVD-D^XFqk*)~O5zI=*AcHLxJ9ZE~<9WOg2^?+o0$$LRf%jL^Z9N%?zCHgX<-7n@a8Yg;R2E>@Z3hx1}ak1E^;{0UrEO(eUrr- zInUytl^Yw@Rsm1d#)2Rw;Xs437~*RU?eDmY*Z$}vm}_^{8u16q`C`5|IDTmF7`zbe zDg>0jiPT%s*z>y&b;~e(c&?z0hQY!iq0foN?MD1v8&H;H*5%6JuvTX- zEa6_x2qt3&Yc@?y+gQ|K09dlp9jq3CxHehh_t4BLM+aK17FM3Gdu11BD)h```XC>+ zKdL-k9ZwS+%|U5*i$7Cl_ZvY(R3cc9jyG=bZD5>#yD#U3Gr%1SyQ0|*LYuO^`pQlo z2AQY68rwqwJBif96F5TxKQcj#2h98#!A26MQ7o=l;iS*($O8S7OM-znII4L~Iu+IY z2+Kn5&&+~;7nM4RRadl(g2`{NUz@$+%EPg9xEH^Z z0vyx#23?fx->PIU5;jz0S-Yc8Ug1@L>ynqKdYqz8~9d>XTtB-to6FeRlDQE z>|i>ePr_G`y!=oU+1s=j#CdrjVG)^tL8gKqs-@_qgnYlB6Rf7j~$P~~5H7`8|4t352#Dlf;F%@)U`hU2+<=&s*;KD%G)PK)}@ zb>LpnR~r{F8j7ydrWuviWl1NftlN3|VN^?!FhcPAzmc6WM}Ox!&Gsea7K{8D8O(fB zaiphw5z8JHUT;2zd-&CLrMsU;o;zUDpwk70NTR4lr%Cg84eS0mml@kW#==q+jY5L7 zdM(DIPAO)PQFwBQMeM`v^N9Cw(S=q_^WwMoMMx6Q~q)kV%+tf zmynNS_bQ7&`K$OGj78o%YnNUaPEN2DQnholnRH{vgvd$_W}n#a7q9v=cLjc_Z&;sF za(S87E+0)1+NO$5&evDbbB;3gPgHgUK7;S?^TUDvyRxS$U1sFA$ogWpb03TnsF{C3 zOX30!yYq3nD)!HAoR3Y1+30cXq1wt#ztQ9>h`_BFvH=?jDc~A}0*7(Mrt7%n6xw)o zsRZD5ae+)Cy1sF+Y=~qIR`JIT^j=?`wPc0UG3!F+=S^)NvyQhbRza;gd!gL*Y zNS=7fPRWhK*{}U^I3%haUMG|)1bL}36OkVPulcF%=3#(aX0%M+^7|h*&J`J=7*@oF zogc$0Ct=mZ@E%tw7D4Ozx=L*$ANp)lHyU-H%&_}8~KhEl)0 zBF(SEQuyyYgCcALKSfm{LZ01)Aes-}l(hb91Aap%-z$~)1<61Zs(xDhyzFkUof}>^ zz?{oN`lwr)Q#T(R=coL@CVbfQ6%EnbWP?17NWc*Wt6Ub1uc_?hZo=l@vLgt;Z_IvT z4qJZx^Vle6x~-PXx|1VsBdHDo^wJ|X zVe|;eFNzV1^o``alJSN6DF{`5n+?i?fr6d{8H0?axyxBY+I>RBpFI-pao(ThIwitb zmNGjU^M+L5E6c3>4OX(=)6v8c(Zwl-{x&GB6N4%?x(w0Ru`otiwJ=#CDEc-HVm|(L zT&t6Si;h6<5Yrg3S|}-;s<@=|i7ukR!yiu%Ne=HowRL}LSv}@_c63N<|E5z77f)n$ zN0fi=+v=G?m6Ap1Ss)*;Wkf!6`Zr5%He>`eJV@fva`C&{9IDKp$)`D3>YbsuNULQc z?0rbWEc}9Xl$1thxJ(=?@EkhTyn)41KtPM-*DIQv~8 zh(J*U58R@-W4CUZSv#ftduWgm8+ncX<7>0W2Pbhr-V^vW^tc4UMrI%H`~%m?9dYa3 zPUP@2^rM%DO7a97|3LP9_vXA7;MOB81mF`@eeN2LbY zDVbDGyw{{*y#8i{!Mr;{|BfEOt7TVo!-dgF5#~c(ANLMSYnt7{kNK^D?s>^YJS9Nk zdOj#|Fen~i?U_^gs*9L6k6_u7u;?n>z)y@Vs_|OX{l4;)f3aIVj|o)s$u}=WKmH)< zGotyckmjO5iBr55j1jHhCq=>lvP{OQ|FvwNN}LV&$zYlX1!Pnh8<)W9uXt#Q7t)yp z1Yqi$KlFB-X&^mcC}nymWpneDsC-61`7{Fi>!c`3JD_*d(FUm#J+W3oJ%btDs+sF$ zM-aDoYanfp>whgGQQVv4uOlB5sR0SG2H=Nc&=VwPHJP`%#D29<{12x-b*Xb7OZ7|7 zI~#b%N_g@WnE9ggNg`C!XA(r19{Pj%gwyl^eC4fx@rm&7aQ4#vA|gafRb;$1#<*Gs zn#+2}D&}7RcF<)b#KKfDR#P>8CYtCp4*eAlNf|G>ieh^|<$R`SzeT#E5n^W6#7uiJ z+7uO6n0ws_&(+0^r#~y=jFw7-f~MktssCIw*6Z*Ts)h5xriWaMtuL&bcf=o zs}L0HSe5H}oRTdWJMoJc6;P_yxx7wbO5%I-EP$6wDx%~owo4mR+*e>$E*UQAB)`As z`IrxM@d+wB6oKdH>!B?tH-w#-_l&y6g6?RoR7x`%BlwvkTCPV+eIz~p+TSrEiXwkJ zkg3Au@|)5iOJ4;vfu3o@^*+n$QO~4^&H>tp;4|o<%kf{Ca^~`;WV`Ibf}TZwQ^dDy zC^(kOtx_5#7C~I7%DZ3H9Z6&^CG1rmJn0m7!AOZ9JhoJdb8^~`kyWqrccbTl5E_yK zSIm_BAb((?&O~wh|NVMYSYKC4%xDs+B92Q`BYAO@^lB+^{N8pjOeyk=(oFM7gMMXB zRZ|m=ZK+tJt1s${bpcLc?KP2_zCnR-gz z?(S+Td9$129F1fi3}Y3~9T5#Y_C&JKeIK)ex9vPRM<@&RA4Ig$iP3C%di;PU{$s3I z?Xc+VQ)s8OrmE>Uz}P-Xw$)%LLQ&HKVP;Oh8(rDyEiYmBRUZ$NxheMI>$W}1d$Koa z(8y1p%8gl#YFPgXPFmyU6D*=O^lLoPerB(@W=QAaQkD&CiI;qodQ}~D5dfobZ*fQM zmPv^NJK2zM6Mm)rn%ptZ@)VMEcTng}c7~l#_P(cAB-1=8ksZnD4Mp$`l4wny0_q2~ znM}6=ep`pB*k+=+pC=efXPZ1!Ls`d!7Lz|w`;*3Z+@h(hzkLb3Q;p{qDfvzH-#$5B zl9ftw{X--wVU+GSy->iT+b}`-ThC;X=h|IQM%b;k8l6kSyIx6#RU?7O*wQ$uXqaMJ zI!5cyw1UyIm1b-@G4;`<$1P!&_g7POzHe=ez9N(i`%?E0nMegrqtXH6B@m_4`|~Hd zgM-5lPr<*@*qkT;!V$yc>c`T+*;HTt;GtLwbw7ilDx`;mDQVL8l{RqW7JEqJo_bG- z#Ih}(_WnI?nKI*cbM0~4U^?rPHV#mr2|g{UyaYm|H~MeDJOsAAlDA3dQ)v-Ma#5-2 zBSucB?d?g+=&Pu)niNB*e%_93ANiUel9%|Ml}hSS$t)jZf|4ZOt3&)Q(2^|?D1E6F z<>{-m8*r|U*YwQP6hFhNeKi}1lta^zyzR0A>raU#>Y3I_Dp^qD(`jj^e82x`R{Pl1gCh9W97|*RS|ZHpX`ysaMa@Sb}f==#NbHI zD6&~$7l~YC{m_TG4e~AahS%0{&i6AyQ-Qtz$?aNWqM~L4L3NZi_dcbilH}YoaXXXe zu|!mg^vL8axoI4KRgR+`KImL9n8OG)I^l`tBbEM5C1;S8M1f_+&?;i$hq)3V8;m&ch1xlFhl-+^CfQAE-FxcdmLCOnSYz~%9|Bu#5GYjtqALe>8 zQagZ&AQFj?Rvr$NOVo6JUbY>zUM!QW@eqwGUeF8(cSfP!3 zEh<7L@n;9GlY#sO`gp+O8PaDZk!D6sqAV&EZQ{wb;E>RslFPwBb;gbi3@}TX{JxeP zRkrHAKIE!|KcV@!MJC3<`Xl)xb)Hd6``SRh>_h)QZVJl^Q8bA=l`ROG98j@#ff)U| zNV`FS2jAzK;vIp2$MXon(z~QW0`uUiskGDVIDt7s-R=?K=O3q0!TTAK*4Z{{3v^y+ z!~zy@pm(oL7$IQk$S6EBxcswkm8)0@arNbly;8JBsb1M;5PJIZ6v6fVrvI(^teKwh zib(&?5u}&in)x$l-1r#4I;dRzTl!yHdQJx8_mNI|E*77q061tN87Lh!Fp_(GOrwY> zrlY9xP>(}(`!n6oSk;72`~8!t-Fpd;Mz%;|UT>yh+{SWM2Z=i~i0p)|i!t`kTgd=d zT8>$#Qax!)V-as|llCA|dLS=aPmWOq5>Y}oD?gx}vveDDgF~_z@O~QhAEn&Ij_``C zC*r0|>+4ph4)Dq_v9Pxfk{gF6WUM@q1D)#8ZR-T`6Kn9+Cx)La{)ITo7Eq@!oeL`^ zzzcw~>hmJHiNhBgyM*J3K}PoiqL#p^hw|XO&WKN;r<-&}In(~sA^`%sAZNttJN3#6 zW3Q1A(3^Mn*cv!NgUd>qy?r!2*%lIeF{kV&4znm;3*tWOkNw{<&AKn(ojp3K!a_ye zwnXZFX-7#hcOvSGN4y&2}Gl}Rk)sTgkU@0aL1f{27Vv>uqHhvgy0oXM8p z`A(gWs;j9pQ(0I2%{8)1YJZ%fi$Rk0#~}aS{(_rY)gACe?}?u=2!$Bm_P77+D6L!C zSV!EBr)#P4CKKiiyq|`QFkiw8x1Yxo_i2C5R&T?{-1Wr=q zae_gYA@R{SDIWj)kK$lWxWY?lseQAJK`+>H2KdXLRP-F9Ol`JVUPV_$Y-aXVJzrOD z$@|7US2jX#dCG+$A7F8aRq(Ep#s&wc>KZnHT&$sj^&0-4M*|dm%qWxdAR))mqul44 z=d?DApYfzOj*&a1^auV-!*-3VD=ZDH#fhEhWX74g7w$93 zvo6;eS5#yfbEP|Wk_0}uwJ3C_tkXO?#Op4RRyGke!Vl}BDIpmxJOPt~*?xEv@}akEJesxiC5J%e_>8?44FeOaWX zYIF#Zf4?T;vrU={O_+%kOBSm}10*-to1!#HK0xc1>RVGq1=30Dj4XUV8cR>+F|tW^ zwlt|wtR_t(uO{mGrdlkRHaA=j1(oqIi|?h=~{YeIaV*9Xd>?7lq1 zZU&n;vUswpY!sebD=G&hTfNmwPftQKcL*M6E3gRorCbyu&r?fv);)G7b zQ-Fv@B=9!j$z8pP9J_`&gAHA!ECDXd0@!8{FKrglXuXL67q~KkHGzA*NWeY^RWAy7 zsgUQ|-pc^bz!;Wvr$jduR_r=vjVAigttHZ3WJIW3JuNiH85sjw^gd2?es6z!MToZK z92jq@Oxd=Fl~2FP3J`1?xv*h}!jJR!ugNeBI;6G`=gbr<|6r_@gMkl}@^UC<_!%il z+sG7t?=t#_bx9I;G;&1nf^uf?&*%W9$Xf9+O8p~=@W&_wp{S!7F_!X|BK=(-L9 zJ@A~hi2;{e|2tPkqm}u%GL$=;lO+83{BEQPvsPvn7{%xkp-Ek?;-V5-d3>3Rd0ic2 zJg@^V*7vK!Ub;9QQ6SYr91h+-9zxK5b@~gVLZAJcrW0cW;(8?e;O+XDL6ZxLmFq+S zE5C7G<=R-1n>htLu%eUSn@!SGGd{5Rx=QPDc=QRYI#^Sn99&T?Gbhw}6gR@Uz z#VMIa%>@$-lAra4F;Cyh&S<>~DeV;E@(?icD?VS9{K=kcttjH7VOj@kQs7_udE3%` zEUlV}bpuxKK5F$!uMM|h4M3XB`~~(LNINR!A-M69?>Z(N*r^|iPRWFKcN>8b2-0;Rsj$*SEJ&vlQ59W}&RMy8I zLmIXSr%Y%9WIV~QzcX5U}OOFyu z%WZtL4@1om6fQfW@Q~^K+0G@@kk?<`~Tt z7yQSf@c>*7qh7Rz!{GLjmst%}&@7rE0aSGG!~W)}0ID*0a0nxiY2X`l&IQ>=72-7zJc{ z`Jv*tKA8`2|7o~lypg6*vFhE7>#dN1yK+q;isWRByn90VNfRU(D0e~mUWp*QAJTAi zz)|#8@CyyMj;s-5(vyNGTqNycr3O0Pg9;%VQd@mn2pvw94MkJYUmNOt`pCE9aD6N} z9%UKg90BVg91|>^=ty{a$hd`vq!paFp>biUc^7TF5y^qVs4O=uyiSSD$oUb0V=sy) zcDEJ2ibrmme`AwHbF)*3njBa7k;hmVP zUYp9NJS5Hm1g}{Qn;G3Ne+$K?&p&QAcgeHKQeMbE=s}rvzh+glN5UflZRHHLNjV?o zP^DC$a6!Gg6m+FBTZfJvtm)AsZn>r`m~g5)5BgoZrcqYX{E*c7myUKLURo<#6r?4m zq!fQNTg4~tU9bcX_IlL%my#%#N1w8KKqaQh#Q3dq3Cha`vQ0QLaN9EZYf@cnF>F)3 ztnhV4n-&8n6rv~|6;_Fr&0mRJ;zAcC4#JzKqH6#SvInx%I$R2C>A5ui$h4KNf2wDv zMO6tr$BE>N@!6#)P^*}kpFl}_zQ49X#UF!C4rEKm7g;9l?rq`cx!nJuGmXX@TfN*1 zn-0DX>%i;;;PrWsl63m!&amwN&?P`xo>DJHGxSbQ;@^mpPj!ENr9P*G2dkmM+X04F zkn35(6NxpkOWNjdiQ|n}>{YiY67={HG)X0;CN8=@a1|XJX()}~<58^Zfr9_#u03Q` zEZG$BHdijj1@v77&*% zonz7-5T;F~dk^aNXJ1uFTqCEKm&25Bdfkw`t_xeSDQDE19ex4%!SH9_DX=G>dBM*p zyANWw@4|kXA#QYSeVNyhJs>)q+N$=LmOlGbHKtLd0n-N?G6q2>!F`(Ax!UJ2-^5)` zNh-qYnxo=QgJ&;ksH=xnF+pm!StZD<^TAKIyLAqYOTPDTfDaUDjOU7E+!dPkomtw| z^8@IwqQQSl@<3tKK?Erhu@wzosoM{x9ORCFC?#(T8J>j_k9b-(?|=Fm@%xTxmbA1) z*3-om^=k>a{LC_JTY)}W2kbXa%%YkV@KG2>l*1eDH945*YdlfG>uGOc8&$BGb`d*H zo1xq;j5T{u7+1LwAN(!@OO>+NsVIw;RC{iW*h;y^{texg((@?so2?4up#)+4Iv64Z z;XyvY@n1nHGdZN) z*%RSM#=BEPanEMu6FY{<1lOkL&Mkl@1|%?({(lk_IHb%pqBK%#B4hl^5S`X6j&}@o zoyo-ih>(SD1JCQoy){n9yLh+W|exMKpE z9v`h4A>UwG_C_jxS7k{+#CzQn^QV{faaJ&Asfd~M==&$JQZqjX|NDHetI((nsG^ot zMsO4J`|1$iTPUyERXmhC1KfppDnm}Ch5f9`kF}AzAezq#CEJ+2q;*=cq;-pc4voA= z5muV_X_;Z62Iem@wU`YsPHsy-qIv9@CZH zvzAf^f)ie5uD|iKs4J8-F8j`3LVeRP8`m256LYr#u=b%IHB7qMgWaE!IEy>`bWRv=ZQ!7xe zFNyYDgKt+!iJF2NB4*?79VzwOue8Lw=>fviyap{X4%^}tjz29XRb^^p$wm4kyUn;@#Lg+@EMIeIg{W+nIag)OuzlT zkdoGafGO^MIOO?V1BlmA!JdtLqQtNJLJe4ch4tYZDOBq`(M#-VT}g{17YMht zM+EG@-$hRXR1`9l?09~m)QlX-1(|q+$hhhK>lDxEGnY;}Vb6POg~FF2JBm~9-&`O= zIqH{xq;kF88T$)ro=k+szjtsyJCKmvVd3&9ZwEj4jw8_`!2M8;=Y~(ZQgq5PXb~1X zv@k-TR%uuy;JB+uYEX&&YzjZ6#eu8dS~@fz_Uxm5fv~$t{?LPaB)o|@zV-3i6DM)U z@-dV`-BgrMiK8)?z-Vh%(pFif?$2-C09!xvZzPaDbY~;(Eux-HwNz&p&Q94$i{!z% z7G)u54o|k82s35B_Vz9*A3a@_#+aK-N14&}JYKeqT`i+u;hu*gre3Sj3~5gZ$5zJn zr$?M*1=q(7GR>;6P9%UK*6Aa2PO0Di2@`nUgNz)ieyG5o}LvJO~{Z z@8*P8vc4Ee>x217sj{SjW!^myMRumyCulZR31ig^xyt$o$f#+3C4i9*P?!KCT`4YRG6u)Mo@%ttP3G8Zf4W5_I4^yO>jltf~73}&3fX9OEAK0)y zLp($7&)=X#x_^gIUWd7oYD?LpEzg+3g=#>nR_3|EA<;eXQy>{7m0xje?6Y`EW99rC z)av_xy@}=v+_qWIb-GE=U<_~QteChG5XFRPNtD{S zJQuqInS1mk4^z{%E|r9XCJZU#Ah{DafT+8>=;zipCd}DR;2Tj?l#o-2;E->oej^|D zL$k`zYt)1znmVEQpM)V@O}|jl7nQ|cLX-1~_)aIG4`a36 z8iM9d4eF^ZiN!x=g=V`@S>&0LHv>#w?|WKh^Amp}4FA#qdArIs zOvQky$(pqBodf4?zE`}>s(qRwZTIL;$4BT}qK@4k?yC-BuOi!q+!C|MkJE#jKJ z)W7ji0L>0oT$i**;S?&yDyOlwRiu3FWSckkIOjD9y20xD6+Gsxbm)*UF;#9LG;*3G z#r&BesNk`2|AfWmY>h8-i9nHgrL?@{$PMJlw3WBVD; zf3<*Y730i*kHr87gm|5PX)MSI!gD=?+rUxBFaj4d5*?q2^Ad)HrlBfYy`l-^$kgr* z?76eD55?oRcn}8;>ZJZGZe?h@J(`vRk0^p@&IdRgK3E{iF|y&)B+9-)9Z0UWrRDwH zKItsO*F=ENU$9dD=@4L9cXNK-M!8`; zMLd@>+XJ~9KUHdv?}f@MbBtkZjB9C2-WRXbm{d5(ZqZc;LnPV>#UtQt=jgSjy*o4R zsYLcmphPPa~e` z(>^+M`k_`Ae6o9E)HVuc28pQ9W~UC%$Eu<3B0lhDDJz1=Ojm|JaSTj%V1^>8s7yt1 zFuM|pg$S6oA=e}!;ohi#G}bV?e8zJo2uL>X#;Dqq)~_~6X+t5)-gs-#@=1L$@!B;> zB8?no8f&HU_qrNLmE9ibdBx`CGwqOS1^SLg4OHEPiVo{V8-__>nIW2V<*|NRMQ|94 zSHw+ic8$6d9xGHo)-j#Uzt|Ly4(!6!;?-3%Obfa{|Ahd7>UaKBiO;&@Dy_iEH39AG ze`-8Vau{IALydjC+-7v}BPn-{rLp_C!5yN}lJ4(%pjXLS$tf96ecYC?q9^6z6EnrG za*sAut!T&?L*Q0KO^cnEAlio6;cS|sll-UZ#6oWS#^@GCwmvJ!p~d4uEiOGe9iDm~ z9{ii8G zSn}=12a2`GwEaZoKwd@zl%v+RaMOwy;dRZ(F%ix;3+sY4Qh7((br?FXKTElEEMqiF zRGUtYdbBz~zb+-S!{~Z{E$h{q1wndPJaTVV+ZpF=bz0GI#*~qK>E)GbUBdqN%!j@{ z^Ai&joX%^aHcPdI3kOPI+wtxJPRC7UpTy5kb|1i(Eby26kw-R#ulZObIeo|}^bmuc zV!id>)?sR^qdc4+_oRIY@1%~__^Z$#HQPiz?AEZ{X0|#EsBM+r-lbuIH35I0Xdnhn zstz<{@pON^ae6vA$Vg|9lgI}r3(~11OTv7;F+;`)%@K0%2l5JWcb0so{;S_X0$7T$ zunz}IU(Wi!>kIExL~2u_3e(V)-GNaJzy36Y`8p}zE_i)9jbXP4&CFEina+)qaDz4S zCT7hg6zk#01i&UaqmU(!YB9`#YM@_2N!QQA4hC|hm+`-P(F95qpHd>J?uhUmia3RY zv@-3ZppjA7TV{Mi+Bk!GiZs_i$rWKOp0U`S!gn{CG|r=mr167{`2~q**!a;iUzKR$ zC;2^@t1=2M_{VsEU5Q;`;>BJHmI)j__IC%q)nZ2Zo|ekqY}+@wJOj1-hF!eS>>MS? z5J@PgbWbip%ZBBC#M9Lu^r@@g33uAUPnuS?fS{+%=bfYj`6h}V!<>1v*d{x2D+!Sfm z%30Xox~zM9)P)CE;n~t;)I2|j>a3c<8bk)3C!MmtsY;7~DaN`feRFEre-eK)ym9Vf zIQPr&m$Z1})#XSMF-p;HuGrc)B3x1ph}}L1A2Z1Stxouu<0*8Wmk9Yo;H?j}Evv!O zVv!HLO?pp^P7Nte%cF$+@9jnwLwJ(C>!ced+_#uc(Vv{nk%yeV)c0SJKzJ*FlS}xh zXqiM)d)hR%!0#e2N5nsb>j+O^UU271(jR|GX)J>PWZMCdjVRP7syBnf{EX+X2=mPo zRx{|HR2+9~e9&!qEI7VgCO^(xQ%SLkELjf-++$CY+9Ku^eJ2~zJ@Efc!cBysT|-K9 zdt%WA0nexvRiTElc%y}~RG2neUrF#L@)5ZOg^?EO>(nIu&c_Jb(X-)h$$e3`Rbpck zhEVpR)6wl^3>&W+zW+l`c}o07DSANHANm#%E?y;_6&Xm>gV&0+9)h;EGY6Q|Pj8$w-+L}H9&YyrQ`3@c(Qzv|A|Td&{)I}HT|2=UGm$F=d4xsMJW_B zqMMiU`qhR3s{s$5%h4;!!i}UFg7!sw^}bSsrh!(Zg|N?yUgIc8|L~Zt9`q{E(;C{q z9VI9F0p+XX_PEQ43XI&=3R^ROjMO%odnn??TJaBddE^%B`8EO2*B1>zM4AdTx!n5+Z$0Y6`Hmd+zhB!qLMYug zfr08SZ1?0bDeOKgz@Wz>+DRB$jNPOg#| znptIOs_2_ED$K@Vv?S3^lbK*XLZq^k|6?KW6QO1iJ6aduCAtt6l*-y+ituWGCJo{D znS2V2TwNVoj4%?qsL%_(cX>(@03NcSQHX%^kx-CawN?(UH8 zZlpt`Lun96r5mJELK>t?K$`Dad+%So=X=k&uH%1jfvmOe=bm%SG3OjZav3MxbnWpF z8;{7;`SmOhUwp+)l%0N~WM`5I|K$ytfecRxANgvzR`Q6$w2o9J1i#QBg9P$E%R7`G z<0%4{fv3uD9)J3yGR?{SQe?nA>bKLi@KM|2E(EPwVBk^7L(-Kz;V|e%O~qBQB08or zP?UZD46~5Fx)eadO9~ytz;<1>gHALm9jNlFtmZRrtk5@`25l>O$HQ6?;_yvP@4yfG z*8sr8p&kbSrg)pgI^a`YXQdL3@8EznGCqze8&3%PipwhgSnBt=vUnFZunqNn!DJ$N zCX|Ov<>Z@{D`KLsQxZO%Txzi%cOwu;ByS8)>DC`F5q^B?^@|xDPlDC{M%#Oz)IySp zgY{4Ey9>FD(&ccTB}+8mYn}aQ7O;ow<jRF2L64}#R`%yI$@>YHS2M<`5_EL?*sZuQ~z&Hz2e zKHSdE;2)dPKSZ8Czrq*h_lDaUj?4xxIeo>?=l%H=eYrMw?qGVJlZDyg#}WmKQsqW% zXaQUPdPObPig;-y69317I^_EF`oK@qa|KRLUI}KkNX@3l5nGb)v)xi#O>qynF?2Y4JV~DC+by~FOG|{Ym9^Y8juA{ z?aUpMA$6EIhi8A)w;?y7U4Vf~!CULGiT)pi`Wei+@TK&SwsmOr8KVL0E#c47l`|`( zQ1^7j_+R37-bX)CXY|ueYdpyEnYjZipuje}DPZ=#es~zis9jD0jN)_!F`;ZIUJ$+t z$&vw@5FBxAf5!iHK3QlX`d;KcM+lYc2|)#uG>e{@j7G>yjW)=O203FMS^TGT!Vg^N zBpe7v9f4FjVKc#QmJ_Is*$ZL7j7b0OjW>*j)cOvS*pCwrLNbv+MCUaGxN?OUiKggR zxg-Vt`)2Bm5L-%?lPwk?y+C(%*LD<%UGsppDjao9&)=^C+ZmfZlCbe{)#Hczegpe% zY%7|?^K`bSFKJWl%h@c>MS-3o#Oji_ToHs<jWg>8Qv0S zkAq(2Y8s7cwgk=XBJ<(v|wJV>I~IIwD<> zniU?C?6NpOPc#PgEIE43=>^CGZ+r(R20fr8H!HSIn>R;}NTtfhg!0eZKmmq`PDp_* zYIZ=lQhSR{G5szs4vkr-PF$T11r03>{S{|$adGi2=Ea9Uz@z{$9Ep*^YRLG*;G=3T z(aOq7*V57*pInSuK7fg{2>Ux<{PV=ei}y$dM@w}V7ABFg49KhSeIEF8Di%B&IlZ_D zQ*P!;%?d9m*-ODsjqXrY-L=H1vMDGaN(@y_0k{p+0-AYR<#@#^?Tm@P$oY`Im|$Qx zB>0Sduim2-1_oq4&vy!^5V+VQjC>ZganFl#pG{B+Gxjr1Ui_6*{N3GeB$A5`EWcBu zFswoeh`wd0QC2c)??gU`Q5tCJ%s#!Wph*yE(K=wPl#SOf&_6)jkzhetw!zF2Sh0`j=YP7ddu=(XMj zTLw60VsqF5-(KI^dI98#Z_G?gOutFv{mcNY2Ok67&E2-#lK7{H|7WBe+W7`cLOb7k zX0m@Y0fy2LzE$L}ymtp$A69?7$@;ngtN~mJU~7ft75ZZLw}@p+N_;|I+>*(B3Nil! z_HWMQJBGu|NM@@BB7H~k+|n7Crs~L+4gtZ{Dt?cjwqDA zx+jf|!^ToMZLD>4_w_DEFiug*mP!k?`M)yUj^boAT&{+}8%~Re(U2|dPlw)u8f-#- z7mBuk`!`!>(!QM1?$b6V6jI@d0MqfRtpD2d5R=?Pwt*=z zeaeU$z!imqgE8`K*XdPAcr?re0(D>IfVtJ*gA#wWl7gWXVn|;&^ekrP;&)qDu75`b z<#){PmA)?TN#X>3m$u7cw*HHzjy8q&=A3PVAy$fCO0bhZWX;3IWL?@%4wPMHVWPNv zP2U36IB=#`9tLc|>@LKj)<3e^tNvHFqt4rnmb!^K2CmIH=?ZJb&GRT2!j2%chZ{?dELuyV zvfNH&ywP>^MaScAN!JP2r#Y@H*HI<@a1T2siF2hu;nx0q$grYQX{Mm1-I>Fp;p*%j zce|z)lSuK#W-Jgd0GqR;wN7$iInR81= z9YAo1T+hHQ2JErX0l(Z3AQ5r?|2c~7xBr@FSwK$8?p^!>3McUGwsCeQuN@>_L$YS( zIOzSQHfj5vQ=%~X=#sZ#54G9yjmNQ)Rs^CCs!dLfsF~)_0^6kLj9K|pe#CbuTTs%b zSM=DVb;bddaiwav`x@&))R;bsfWh{T=h3-{_x8P{&7s37wax*Jlnk9^yjUx_Q`_0g z*crX0uBDH;X#&oDkC8up!98*yQ)(Ckf|`I z&3%ZvKcl1QV~z_XwU-PvgFsSqjS#o7p}#y@d|mH=KL|3MqlXX@v75l)G3%%wr8J|U z!`@*s8FvT+!oetj@8Wwxe5nOB)p$F=#Z@_9l(enAy?c5ZQa7!XN~?lS`u-bK7a$zk z*u)u0-*o+}ScB@c{W}|&LGyad)yRd;D|Dmvvt|{w9t1linfhw zKBtHdE$)hp`O&}jPqH*dh!v~aU18hKqC$^gnww5&cnUe(*E%306ZW&12Gbu?FGl(X z+42k9f8i8n8I9D~FTSXn8n203K=cj+gq5z)GD0yU8YiTF+#ZUxw&!Obqyj@Y9#alm z;G4VS%1Qmdf!WVD;hHhyZ!f2QCXG)MO&8;v3Xz!m`j-#KYQTj*kOKj^?=^gM8b{!R zxA(<%%m8w+R6H0wc(&2oJvXOStTs-~43M%ddX08<9*1wdZ!by#%}M)gpwSTS0Y3L{ za5K{c)?G~it>?3|4XL{NdYovD^4D_MV_UbjXJ^pR_m8mScfsKNQod%CHsO9nj6ds5fw(`EdyMYL!QB{?kL(yq06BR}4L-J)Y zQ{dBS5c~cttio{2K_i0(%G0Q}eC6;88r=qzLJ_$7R%R+xr-XkF9z&}>nt!UVFV4)t zeX{u|<9io>?M~WM6Upr&)>KR<-FSB&Nd`@!OZ^aW0xTP*x&L~4qxY&O~ z+4}ngLs?vM`HyjvA49TEW2u%}Vf9Tupz{W&StfX{R2a){cx{aoQb5zB?X)A!ETp8b zGuQBfTB7YeVX1WNZ)m(C#|G5PNlAn}p?>KvC@Cr778gjiz%t*HspLWdv?TC#OLP+( z7V=mDDMfWyj$GTA$V2I)=i}pZadV69)u8E+!sW1As4<+Z(&gHl`Ggh!iVN{%wVesO z81RaCQ4X=iIm0D~^Optwma7xot@TCzIdS^bN}{d&A1ItacawC$0_HxZ5)8ZeE4-pv4#Rz$g zvTM?LclHyAh4DkW#~Qa49X+8*o{;v9=n3e2@K=$Mg-{}a3*`MmIZuVAU|mwqo};C) zNvG52@PLcwA&AT9#&OCL?y*wnb;!4+KbhJur25L(HRBGxnkPsPjJ%&hh@>i1qRtr> zTK;QYAxM+a&ae%Kd)!!_f{2|%F*E`fdXQMy6g?4{nFK4HL2F0FuCCn^3YxL?P4f?! z?Drupy*d&F;vsNn=UZ~!ODxvoIoR(QGl1g7T*#WMSnW?Hpwu1$D6dOBKRufMs56BF zTssF4qX{idO-*;H+`NE4kTi+yeRs*=?dyx$>$Ffq3LFJZVJ=)^=HCqRUoZi>4G%>N z@Cnf9dAYOI{qK|RWP|&NU5s36D(BfNwe}0g1aR;SyJGn!MTF2A%?QN!04c5D6QPCP zs5**5w)$NAbq%-?t6@xAjg4Vq1(9YA-TlZ@w7&>Z}3L;#p-hp z8|_8HgHQ-YP%Va0a4Y81uj5bvu3#@N!xvm$sX6Y?-e7>?+T4)q_k@=d=q)u87elR( zA{p6mokWu>0w45*9!S2{J6LDp+FVD|GqYZCRiM0kM6_dOwYzBUGJgLq3!(m=Ddt!1 zPgW850L-XE8*OiN{Ommh$_R)qu-)ZXx48l;7XhW~QFzug?NdA)YPa0Z6P(<1h7yaa zAwckw8v+aZ3kZoPS0_-uU=%HE0^oz?TuW5N$YAO z@xcUbzQzy@Fr0XKv;vsvAxft)YL;Q+u8sQ3goTC{xNP(Q;TMUJ+XnmcU``1vyEFEI z08%nZUH{?sY=!hM3=N$1f2X^Dz6yo~Y9dP*iocW){`rw}Tv(t|LrQ+AH;_#_cNs?5 zs+`pj5dhjRc4zF9-Mw)D@|e9IO7KVm1O*UNvPf$Y!m12VfpOeium>rJOFLHz``8{2b8) zAsc-?z-DmRnS1MUxvFKTRpO@oX_URuSE^3jEme3R?*~$|k!S`%`A5>^KAtu=$E=77 z{n{66s2+D(H80ZZcT*0C0qyFM!93A$Edn(~-Y^IfBMPKGTkp4;e8h+u9xz1+8xsdj zF{&VB3=9NtYZe#qLBas`gP_^l(M7gD_|3@vcb5t`hLm8^@?Z=yVI7K-5>-;uIpXGG zr5icA3r`mp_IP4G%$F>B@KC>Kz#L5?SI`6AEG;*e6q|z)kZVPGwzx(A3poD=Y5#MD z{?e5Ij)8*_)>xQK@Lwl#CPZbz$iax`IJe}(nmnZZ$g~ghy5g`lPr_sfX~&5npDaeN^vh1@#}gUN zxi2NL^?g@-wWj_3ug|W{DUu{(griO7zUl~+y}R~VqV)kp*Hr8#!u0F5=4Ec;?Q}0F za8lYENoQqcJ_$PAA{=(6Yftn(EfYl8o#?uCNozLX^a2`-b6C>%1v2uC-%kHPdW+PK zm`KT*Um4Xh+L+Qe|1k${0ruawfD+oPYH{CB8AuwcKjdPB>+n98EM7@U(FAZ@foX3f zkt2VqH}=`@-(f(kL18qPuAr)H2Gp=$EYhZMQUS`(lWQPQ;a-#rbzDzyFbsd-1OI3? z4_ZgSJ?#T&%!q-7k3t_kFk>uag86q``>(V4&w+)sKxJoLqeRHx|0fa_g#^pT$I22| z*(!z;uT3VdM>V-Oy)2)6IZj5xTs=D7+$wmEh0%Q;A%3Vcfe@$9%x?I)dX%g}>ii1>| z$d3#USweo)t)U@O`DUxYd<9qo*{|$=1mdr_CU#4}J+JZyUJO8kzW{J7SFhINadB}8 z223}5)`FfLH8U@7=ZodA=mGI>jjL8jk4&&;!tO*q7Idp*Fp*pea7in){GOrSXs0#w zo{J9G%iTZ^EEVwlWJp1ha`$pWzJwl30l5VnIZUn&=73tB>VfoXe+DThCkI}+y}cc3 z+X=^^DEG%;^uK`g|1-{DD?y+4jNskge}nC2r=OvKS_GOn6jcD@?_&khFG6l4<6{RH zTxQ^dp;@L&W|I<_K4gFc^a_ilQ4+q;#Vwrt{3fNNlO@~AnF^Lc?S_o~{At)4_d5m; z7JP8D+>FI))P@XDbs)S%VPW9{z=TKrij&CSCO~#v-`PPZ8PfXdZo6?hzPPAM@qTf68O;vz?%lif-Ce7t?pEG^UDp3C ziY`L8mli2^F#nBm{*k!TR08S}t?iav2H-;&!E0z?1^yetFmZlHj66XPR0BgpO6S$K z0d9_R%yPKn#V>N!#E|zyqW=6AW7%5Pq^rp{*cA0EfI2LKB%ba!kif{y%xj7Z9sOr9 zKW$j!#tZjfy-G?U5WSqu6X2f{me;S1i=?P;-@b{i#C_9ubu64k>)&`DD{;u)-qo{J z(zm)Xtmpi;D5CK8?H4-hBbuH-pkWnoFeVL=ZGy|}!DCnqOo;3fkVMmv;o19(uU z&IA?!AI7LMKMEvXFoYWwNq3{>xUW$#t7LNrQD>MvK^52j*E_Wg?;5ZGpA`0(d~MFl=J2Lt)ujtV8KBXfS}fuQ@yy_lK!GrM`TAAFLF3QE#Sw zt|R=slz{9EX9Cyj8RjPPtw&t~TR_T>B}t7;&7`TR?ux+Ys8uhc&WP9i+FqS7XT5y> zC{lhOT1?2<$Sf2x@K8%tV}2_+xORr?cMYo5cVa{qR%8i;<@|!DGC=_$`?9)=X=yb13U_4An&UKd?>e|nlH){u>p?A0|He=ZV$zu>tlTYcqclk0p|5l z-C;;l(;3XX1fx3#cQ0PB1S!K=R554n6v_@82OV^bc6g(Plx|4crJCK(SBhazz@(KL^P=o zuf8_!GGou7nsbLCjh+yj%seN=?O2pkU-P3Bn_15NE z0lxA)U#9R!-r-C%P8|hR&gQVL31gF;h)S1-RjF6z=8kS9ikM@lyCFHlIq|JSI}1P8 zx*k%0Z8(Y-7+5hU6aBi>{tTDIX6a_m>el+QIb0soAmY~xVk#31=*c0n{O$ls&P0&k zgCOwrodY-_Lk{V%L3PuN_^oBWS`0&AWM>pNQnQp z*e2db3EbW2UO~lE+wG2Gm){ZJxTD-v6-;CwiL8G87CaMiH|#XLKGZIcmtIXq1N)eb z0U8d+BN%h^`UGt7S8uIfr$=}U5SgX9tqtSSg@@oPDKM&yxH;-6olVUXe{W{eB|O+3 zwX0gHaLdOcFJ!}MfOEAk=b=wR(!(DypAOh>Wr9jVq>B2c@6=m{l9k3uD&zKXvN!>H z6H+PPM}e0|{}x$S8yGe@JTp6;gudL#je%+)7>OsqFpRsOtmuL*=GO*Z!m0Zx)*0$asM*zv5eHZ;hYDCsO59f1Kw77Py zQF@a!7)O?xQ6e7frn%H$Tbh(ql9vXUm&UNmJU%*6?J%Ln$^E9RPm#w3CSX;$gTSJ< zcXx`Wzvj`(Q~`oJj?GW-mWD`n+2)g08%;9BZ#X9?5$9F zR%K0o@mHYF6|J5!wM7w?CFQ{{k>x3}l8Kv5=T^~LBqz)^**lS1k2HN*{kc`;P_jaL zpcgwl1CM4Pi9GQTS-4|>ySV{6sYNlUZ;!nmRXAT@xta+mWN?@z8bcS^I^R+Lfxh%^ zWFR_8qV|{eg=t!TRLienMor}giAP7vgeO5t6&3agIn2Tp)>af|WrNd_>BC8KiKP+0 z`u$;5&yr)L+ayWOr*|hy4yA7+i&!f@ODyq}JWi9{*or2k7RAd;l>FY>(jrd|R-K}g ziN#A1Os{v;DP_1MEf<@LLRP(`48<868yu7y!L^MUS!?s50%h8eNlGX>lqNbaEx?*I9eXpE#iD^lRQDT3*!TAvr%av*F6AminQ^)6zRXjxg43pULexn$ zB0I!iCG4e6T5&ydk0UFW(HeM)!fYxSiyhtMGsFRk(G<>v_gd$QugQV zQABxfOq!M67hxljpA5vldI2XI7)e0*be6R&6&66<6o#y&;eR}zXJM<1iO6p_Z&)CP6w!P$|mEG^@i?D)@`o9XUsse`p z(}O?zl|jWN%S^VQ^iV+j5;j=7QgQ;+9#x*_#Y9Zk6>pB#g%DUA$C ziEXd}F(gW!q7>nQ;9~ftslj0FQpI#duy*n^PI8revO@S*DhO^wOK~Eys~n>`85tSQ zZOnm)hzLy(BcC<*OE7PLEWXkc_TupHFiO4k1S{wpDjq$>4p3^KUQRJqPZ`9>%a~K+ zykt5L}3a68k;N5%lVT(fQqPq(q?paYunJu+yUJ4GT=RBz<~1d1VTOe9DUCVCU=@ensA;u;2a|{H zt@VTrvh-aOYcw>_A-{K9qZNbGl4p)Jd>VjX6=P&w?uegqp8+ybV`?&0i7=!r3WlX^ zz#<}}%xm4dFJ7Db0GS_PqK=Mg?JptBjVf2YGpnzx!8EPtse$izV z7CChfF7S;TDp6^4a1nWO=pI$Hf^-JXfy!*gg>*Km8ZN4816J}!mINRIcNK9vDxiFy zpMMEFLBKR;^dvh;M3AUGT(5$B&S`@H%jZpliLEfFSG*99?4 z3*LSC6sjG6sEQdyI!k; zI>ywgSg#^LCsiPZx^iE>38FWy$zWp9=$3+-QE%`*@Xsw;{HhlonV&C1T%qN8=p?(B zr`9XWs_wA@4gz*K==^-zM)}#*As@9YgKa~ks6h|1v=+P>h(j^TfmrKT?-sPNmxN~@ zt=T<*EUgV64I^ElaY@NT3$U~!>c*Xc>Am|P-Pj>n;Dg4e1xun>(kQ?&By@1ox{+t5c+2)TeqD9%u26#O}Slj_j-r-Q5C{fH_{JXo&1G1y*x9K7H@ zQZJ(lSkiRM!v%!_B_$Z~7kzss$S<+0I+M~^-HbE$J6@RGB47dht=#ayc{w1a9d>C)=?z6|ZfQByWI zuZ}ozDC=|9NzGL(l;Lb&&!gpe--b*?QPd?`zbMC9mMXurrKH4Zuh~*LNAjO6x5hgd z!z3>{cvVhp*v)p4=`D3kaESsZ7632gKbcLEo|i&X_ktj*Z~EqHiSc_CjjYCUF;;$8 zPVuMopYo{qar(UM>IwCc>&2g5&Nn)^mR+Fn>8fNn22Y^+&un2#T;9!TnKyI)CLPB6 z$$Jc^7If8nbvt$_f$G=TlVOzam5j&ZJ{YK__0ZyK;u?oI-C9&thsb9s1Ps+H0^zGv znu>p{k6uc-h5GI7~l7Rp-b~Aw(Zv8ArarPo83RfT+ zS*?UZCI|_5#4H)Wf*RSPq0BODYM}0DWT^(43s8D;%;eiN+8_}sV=&KD2H8;#!Vs@2x!eJd{vX_z=@gm@;)9DZNFL7UP?TG%*s|-dAQQ*q# z0WEM9uD<$NyZb#Cqe7D&g(eoyq)4_bc{{RDreM)HpnI7wOA}{}mh5P$j-tWvF~f6E zEiVdXhG6*KDbC)Pg&p)_8UBpnl=In%(FDp==RW2Yi`1RFq z?Vb)P$|8apI`j~OMXnDycI!f#&I4EL4dt)1F5}|UMdjh_muhN-8~o`fId1bq{^ui? zL5OoI66rXj$J%xlU#+2`k4~=fSUfk9aCZF7)TYF)wO;BM4g$uKIxMK@N#qEXOssR% zBe#xS0Z!lMbpu7(c+z|pTF$^(&}*!(6$f;DWv~SK-+G&v_)3tzR49(l0%gw<{xFhZ zvd!-$wP#1z1FA2W_CB|_l`iW|#Qxn#eFO1iD48QEuuCt8u`p?MY6~f4ljjwU(f$66 zewS;!e+K|-j4^^39{7BoOecA72BBP?T0sjB-hi#b%Y~0fM=Mx~tKntb{asOWGa4Kt z{oQwbrxR5A{+mzc6^0gS?@4H9D@qu-()Sbl=&S8!gBdLgsq0hItuUNMJaeG2X$DGu zaElrMW`_VSm=z5az7r#c1qT|md24{Bf407rLl^*juS(SQDU8YbD%V7x@vSc+9zE+!-- z#85)+SnkaGKN#GQy)bbdoML!Jyb*_op};9YytFJP=O8iQWkSfq5^sveM{g@Pehj~b z$Ozyi0Ow0oJe2VzjZmggjc&q#xjcA^o=-b3R#-H2V$)UVW&WI&ACDt#z$bzGsR}ZxIGyYY&s#`m)EFm^tY=>X>UnuoM z59g*GShlhK#*^JF12-RPb=5`I+hohq&{y_JG;q@EyOWleG{0UbPMYEjjz7J-LG1+% zhp?$KgF~U(BvMP%;5s@^WXD#ogDLNg%Z)L0V}$IY!llIW2SPs2?I5Id8A$fs>6@l3 zyy?k;Y58vSg)c5W$H^7*)9k)QQ&i5zgmoT?LyF56W%YAt&N*ox`&lR}0;_wP#i0Oc zeF1pXXKObGtEu>)2f8vCB{ztS3{USc57a~5_)h#y#DO0Gm^tq5z14NCj}SDUej08YI4}JK6f( zf_c1NQKMbDqEzR}aYH|VNqeB`Z{?H$*FB_y*F>xYoE(ag;AvWB8rfrDQ)!pgh-m__ z{^G>TK}G=H7%GBI5F{0!pr*UVzByjCm0|>hIap`j(?Oa15kGSEzD)fUj)$2L?p7ZW z)q=w}AA%M3Q9V%RY|_dqCJxo@_V?z~v+DqClJ;jpR#BfC)G+HP_~LYV)tCq@@pP+L zLM`erG|ll05KcjfSj7Cdr;!(tK(!rH$5#KkCGk&wXYhwlnXvlr>+RjET`CSfcoC4#He z1Ra+%uC9EJkiLN6XAj+&XAL!Zk2A8!Rcy0&SkYL5Y+Qi`3@RBAdJCZn8-E;Nn|h>ic;QZnjWcEFXNmeSoo`s!hVA+9QZ&u zUu(?fvG7raSRSanbUel$|7jJ3!@;s}RA{9NPJY!jtn~dFYA=fWku|)_>s0I5N`(k> z@r#9ex@#l|*&ep4Vqw>DJ8L6XIO~c07%&z+X#U8XItqwQ*D4!MlwR&%i{f|^<)KK>ls?H z`!l3gj>LnC4|XOn98rI1-4cB#@i~LvB@?Qy;05%N1@rGo3rx%bDsJmqT%O!D}LX@txFba13Y>9mtYMjjkoTU#p~3HG38W83;uq(=|zJ{AHa z0_rse0!E{=p}ju;xw`BzT?xc|CICyFGBK1)MG5%3(>}JQ{M|jH@CPBI0YL9;_)F%b zd6(GPm34~^qxl@YWC%+eDEgp}Ug;cYg_p|97;!WaY1EWjR4TO0F&eX11C`CD zTm6+6Mw>v)3s(*8LS~D6FSZsYn-Wk zzTOI|JGsEPIlXhlXHeKD#!c_aemNX9$QRWus*qb%C@Gq}M5APZh4w-3j}=m*eY0m} zY{N^gf#>cf)sMjS!=oG=Kn4ir-Dr)-cL1*KQ*ul5nd&dZY z`J!D>Z28@+PQvnp3y9NnuHljl(?!|FImTp{Z-dBNwsuhRPT|%a)eGD)-qx!i4<8*- z=7v#iyC_=CiMEBVhTRJVm8*;ra!_WbW*^yWS?@h`4WfzqW89wb&gWg@BZ;AasO0p8 zUR=qTAGeUK3#}$9iv$o(d}f=Z*M=Rk-Ol3Rh@E&TOW{T#?rdq;;s5F#xfmwU(1Wz^ znL33-r@ZPdze@t%<)umbyAQ2-|LL9*!m6yj(@KZ1*R_;hwXh??|eqgubowoj|bq&Z>4oEnZ{qYir!*-ZwwL>B#4=Ki++OlbOFWaD%QVQta??bwzydl2vBkZ zk_+WTjGTouvLaXKVfXyjM9mBLf7ZjKX^5#MK<^I`2U@k3rr#vEa4gB{!UI1B(kKJr zL`Yt?!8mXTuYYY)(R{Rz(I}~(MM$)Fpr)LXtQBKay)BI2$z5>n8j~XZ_)f4Q2X|P* z+n{&E2&p3~9iV?A1}EY@b-}NF33UofBmz<`iPyOzjj^o~3kkH%ZDj1L_b)Kc6hKeO z^7bE+8a{GEnQ=%_FW@kJiJS$NHFOKY+`@9|joAB9S0EuIAG=K|LS;5J{ryvNiywLK z=WuMV#tuAA8tnu0$kzK!xOEluX*db zKY#dg>{ZiyfHp|o>@5#j`cd?um6rCzbL9~Zjsmmh1NJ#nRRUf!eM!cPSmN-;+dBkte*?a0v?=_T_ZPph`pg}fBAzkh zo|un&am?^Uys)~|6EW%O#V7iUi)3i}>3ta{+IJ*O{-p)5z=nNv8XjX!!VV_dI&MLNY-)N(V=l`g!rHPzYStRNCGn>{1KFEly8V-$P+3V1>n zIC%Hw?VGgn<7}7SX!2n7fuhVs<&U`{S0_9Fb z9bA~LxGNC$Q>fou-B-Q>7?HZ|Q5x@~a`NdCxmz4{jxU0|UWqK3%pmObR9ds|{BXL7e9F*6*Hp06ZV;Xw$^KqM>%7((7UV)++a_fu zu0PFASs{;6sYA?3r(icN!iim+_Ch(O3-;r@9eT{x`E7Zh%!iM4b-7K|Y2#Bwt#K3^ zHR1CJ(5WaCfPL%42;ndv=mJ(e6Hf92j|dnwkw=OIHERr7dyYfiO~JY#{HJ#&tq;Xa zj#w;e@j!elqK7`H7uQ!v;BtD$sjAOOqK=G~Am#jKxIF>-_wDVZ?vF~3W=$iy$*ta3 zv?O9a60GHVpYgW4GZz|Vw_%%+)Jit-hI0zEW(05G_Mc4#^Q2sG77R~JN!yX$Gs@}0Jb z!1Zi0L<;yn4xmN1NMxWR5Kot=qS(47u-osttJm9vs3%9L=Cz}Ht&sJkeq!6;h~;nd zBZvQN-Vc|_&EUFXOYwG~K^-B2dUNxut#>wu*=&G8qKM~#@QM@(nMmQD*cvsu?P_Tp zL1?ztcU|d{A72j(xWzc4SiL)F`+m>o_;g%_q#rhacM_<#4A0gY8TLtTi8CYm_6Mnx zUfB}(y>PRL-!XPR_U{OJEU!8DSNs!y&E6_4YMQM>ahn^i zC%H?+A>U~iodE$Il^Ncn&H)+GUl(|Yo zL+dF-Bbf}0k1Sb-`hJFGafgSx>eLZO*X>a*>q87E&e>wGK;4`l)xz={)LX=z=(E^9 zX*wNr0t=+wSNcx%N^t{?C5O29ZIV;(JU%?99vHQDBJxG(C^e1lQ_>g>hVw|R!fjZM z_T2g6F4?n?CiDd{!Rc@p5eqShqpGpqpuM2)^GW3| z6tNgxhkMUi5^_-*r?9{urmBKB*|>UjDf7c`5`WK^`5l9y-^`4_>#y{)6>n6Ddi9-+ zbw2Y-t4Gz)xmUka1Rx`oTwII>3=^wCnBjucFtUcu7ZuWMB}SZMb_;zNPQ(b%{vIt( z7(H`#U7Pm{uCIDNEmuppvg?^;(;qh?7{iLg>XGGbZTD(koM{xU6uYsf3`ZF6nY%tK z&QQsM%9)C-@<(`=8hHB3_6H}r6e1Win%K;5W3DQs-dM|Nc>v)^dX%XBKB=Pih#|EX z{$W!qn+F(A^g?t#`M8dtVOx40*Jdoxi(pc!W-}9hkJILQ|L|KbbT3LX$I6^u+S+0b z?fzGnYfCI&i=zH)QOJm#?x)Pa5cCtH51thjoU}@)uMgh<5iagS1&1|ZNIvpeuX^w6 zZbA;bYXNP3&r`-9i$8j%WrHMyNq0)`SDj6Nbf_>wGzEX9B?Y|22SkziO6QjV0oyo;#kuzAS-zZ;VtY5s(Ig=BN{PjJn z59MgH46$Bysfh3!!@y>@N0}}YyHyOGW?sGGu@yt)uk`<7t-|s%oL|qKE*n z6tnR+{D&8-uLNxrFE;q^{yd-|v%THjIY!$0G%hziP4%`0A_D5WbGI*6;+#1QPW$w6 zTo*Glsmy9Tx`d;|*gA&VY@Dy*%D1oVg}g=a(sZ?$~lVuc?}I4ONCw zkFTu4zDjCPRmqVP4C@4_|Kj-kI!#Uu83KQ-!bOeazH42Tw-cV(tr4%^lzFXE z^4pC)PwHJ+pT)S5pKoswKJhxhW9=Hya9U(~s?fNVFjyaZnD!L_)a^*vLJs^jU=r#M<3RQ?sC87{ zH{uC%pk^=>+n;rS0v;`ScLxV=%;N3_t#D#iu0yxw-`QXSMvowRw^CxFfr2 z0Scv@m(7kG+aK8K1J`bly8h%JxnGRM^0DLEYro-%lQ)~)J@hhpyk)9*d`*kV8Yu)0 z69g&ZKi#Zhc_;j!AGX-$YEs1?if}M2wf$WB)dz4>8VN^9b3)wLBB<@f98=M4e`qaK z*=S=l1{&-o(Nh-tzBlBo1!zj|_|(wOWWjAm9INv2tA6mS8!DmGdSLrD%0OM@nO-~T zu~>BqEz}J&Prq01XA}{*?bKnM9c0(_aTUM3eHkE-$<6<2})%-GT%w^vs7c4IV#c z*^uY;m7y;FmYOKC?5~M;a&B{#bHFS^hU~DDn4FsJBs6WH!rWOMH8|pXBix9iBGF}O zH`6@i!w~`t>Rs#9RA(OmDFNpg&y#qpBC#Mu;x;ihqqY|5=#ixEv$6IyVa?UQ*EIja z=h9q2v=HYODi9`>UFQRfv&q$V`je8i1y%~7>LHIMu%$FJq>vl$DODZzMg)f!mdXGT;8&`5uT>W}iA;fAg%hrW_?o-w08{YE*`+KXhqSs3{UnuZg zDRBCMPGbDso|d{!_vhYw@epBw%ZeRNa8A-@CLo=ooh6UW>X>vi1K$r~rlil>Q*2fQ zL^2!m?9!Ebub*doP`+Y(PU<-TxfW^stQar=N>mA1rFfzrpQzBu1Q4W@BdcQUv&-tG z?!7`bWiB>+?%0I=AC$GMnP0)Cn(@SL)CApqR?Jgg%)XX%!jhq_*cBHluC@NW`aaPYha|O?$u<$^Nz!#Ma zLVg>J@gKf+ZN81F$vjrivN#`6aRbbvQVOHnVov2xe!TtFu?TA=@xHz4<~FtZHa6jG z<5M{KhB}!gl3$?((IT#<*Flu&XgCOE53NEKx%kYt5|E(c=P;L-$>lu?Zbn7q2bKF$ z2`FaeU8qgPvrgj0h_DjL9#LqfLsoB|RRKddZ$yehrf^PplcmW(B`*?*$mdf4=wStdy9zJS z)ewLxW>QKBD!xZ}FG5yjw}i4e5N|no*4l}6x!R$~O0L@o+Ez=}8z)x67O?9nbmUz8 zA_FLi(??OB$JQK%VLC)ak+GH3$lsPL4Ku291iUmitQ=9WwcDI}R-fk1T7N&pN;z7) zfC})m#TUiO78J5m{Hs*34tw3lXFW_=c%c2yTSd+3g0zWQ_)I|h%#yk=N?c0zJs|G=k*0pQWaUw*r z`?xQ2w=ouC9(5I26fp~iDXIl+S@i&BG}3QSpJxl+SPq3!Hp^2o3_SOX%iuW|)P?JN zZN?Rf^#*CY=&`$Pi;xgtrF_t85B%`v7&g3C@)Nqc`FtbaZFnZJRMZ&OqYI09kL4PK&H@1|up z+~eIwzlj%AJq+^>xa{FMq^abMGnLWz}NL&2t0TLtt(SHyqT zxlvt`;Bu!w#*@PPytRD&a@ZDZiK8ILU?(Bn!t?vt`jEgD0rP{_TSq?5A2pPJCa23^;7Uab*}^^hWl1*cUho<@Dd?d~AC zD?Xw(6L=i4PqMW}oh%8voUy6MjjW6XZ+Y|KQrn`%B2sZ*t}YPMaExTzI|A5P@rWUZ zh5->0Ed*|yx=N|*^xS%f_e$DCeBnHS$qL4>_v#2X<+m^9gB<3gyr}d6O}zzgJYo9F z-glxw`>cjS@{Q^~W1824fQT2MDiNAh*y>}n~L>ZCTHfLSb7k8MjFh=3bc>gK<7d+8q4RQU+z8u zgGY%2LNQL!?j<6%rX;f*->~9r<(GkA;n>BNqe39H`3v%^Nq$mqs-iG9M`mXp$A3>w z+dST{LUSK%h8LkVDIdwaj@3viIgvf@hd5S+YN%Mp~IOb8Pk>dHG& zADFiWf8=#ho12?-tu-t?@A*=KPQHnyKDd1xN8Vz5HFA0Kf0+8}sHpnwZ$-L01S!d( zyBmh??(Xge=^DC2knV1zI~0%>kw#j&>peWrz4!Mn{&C?fUFXa<_THaz{)!?yMV$0d zk>11IG)5?gnuhe9VzS2%5ew}kp=;dYJDh)Xdh!K1hIXVfd#>!?DdWe!gp-$cl;>bI zu;^LT*~|VfG{YWYpbG~aBg2Ya6=2wG*we^>0XQ-YHGUAYNblkz9>5juFJk%|`u`13 zgCbx35ir8oPa-fPyWzj_xnrQNIXC(QS0@sw3$;EMbj*L2D1-&Zs=V=LAsAbh#U`Lf#5VTxJ`;>k$2!6o#@AXtezv z5vh~{TY0IB__K}_Suyf^qt{5|BBdbg;TXs$EFGR4`vDVA*rpHwhv#tDvosm|=E!1% z5DVqQ!-jps+`t_R>NlFEBynAg9{BP3FDh*k z&zSl6V1Qm}UZYkuqdBC_@~A@?r1a$5l3qhS-c2h%SZ)yVtV}zBk(nqJ>jOZ5#g}W% zCp6!NoRJQHRWqoKM5+(d^Vf1UDN?e?@W8q*E>B|?4hlx1gT?2e@y%szb#_E6sIPhe z-xe9$OM&T!6Xy!0@=Uh2-qAh*w}CX3jF~{HDHvc7)TA$M%*vCJ`<7l09S4Iu%Gs#2 z5IS$BWD`XVOu>%uE0{~*FyU>r*B zECnJ*nH#G6FG@65w`4Kw?pgJBl+B5O14syCHn4!gF zEvO%R9EoVQowIBGkWgc%%|XlBnWAg}w_c`wZ=oY|#7r;+nf;s`B4N@2>SKG~SGT24 zf&lJ2w>=xNeiX9a`Zipx1`S9s+T&btzJaac4OFXet&>HbAZ(qznx$LuIz+VVbQ4WN zQP|2rwpg&USzqwq<)wImeSs%yE|ox8-UDe8u+L#b1iJBRmHT8;>y;U7>>C-;H7^GE zSuqMDw`cvn>v`kq%V>sF5Qq_fY4`RGei=bi@du{XWViwGYXJ}MC;0;b{b&d&0H3Ih zWqiOiwh|NYUEhL<_v=~@%R}>mfe~$hjw0<6QyC3Co}oZ&ADM3PkF@s-7VUm;6-=XgCLTM!8nRAdf`Q|6tySBPk+4H+YetZM?}6QeJ6=0!zk8(Y-v zrjma3zCSwygVc1JuK9qV$OMH7;S#y{HzLs4>PXb@zK>)io~zMOSlr&jj4}?ud4#c2 zB2IYApc8y?-xWzxNiEx3EBrh*?X@jgR3sQOQi*#K<#nn#0b4+5?fX2#K~efWZDJVp zFl=1qZoAW9GxAUyxwK8Zh8!jh=>EsO6PH}qxd9YN$BYuEU>_^|0CY5}kTKm-soO~I zb}}uxe?DOiRCpO=0xWvE0m=S1g!i@4P795$vSs=V;@Z;e0O?qm+^bR&0s{J6rAQuA z&VU0^CjoyEb@}aL?^!URKm_rYjwO&Xz0E1kog?5Knu8Ywq#*TP|BevHjT~(=yY`|G zIKYAm+k#QkAdEw_?Uz!vx_b;%kCs&{_0<1zxEy_lMLER&!{93=>&MTg{gJnA{>OUy zI|Zkt;INyk@IS?pkcMrY2f9HTl{eY;pTa#MIXRa?iX~ zdJ7Nz`LRqs8nT#ZJrIj+ToE$0f1uQ2k%57;EMSG2V7B=CH;>hw9gUndQ52ow6XHc* zTi1sLyVT63f)$M7l{C&;riPj8b6GU}i1T!rY_%RE*SG zUitQ2E{!1ZLe3Q8JL>^n6$1aC*TYUe=E{gO85kZDXBjk8l;`%^Riy0V`x4dKA=xbq zy8u&j^NdgS=^c|s)lyxPGaL@jxIixn zt{y)^t08Q1#5O8Ul%6%KXdWgGDFWz|^>NK2A%2Txh~Ia{3_&_%CSCnQsvV)N8_Ao` zwtalln&YJ|Zs2oWHqr*Qc>9SR&a@o1SCH3`5LfzvGIKrEOW^>c0ad^wBv_+i=Pj4 z?QgePaa7$pzYsmm0;{+9u@xU>bQ`Vls#fb%8D+A0Vd!%?CTUp2JqANL zA^KHXEXG&;v{?Goz*M z=|K(mD2YQ>E8@Z|mf{EGR|R;r2C_9p3C%+mgn1v7wtI(b$1ChR%zQU4d zdJ5?r_yxvH8+4fjfE*;QA}R}X_|?T_Mi$X>E`wLdn5StKyamkJ*bcKP99HwHsM3=8 zvn@5bg)Y=8CS7U2)y>4ntuT})Fbk&>E?X(9G@8$+D_!XlQ(Jr%VN4OlE5b9#pkldi z${hgAr^6U|AOs%=sLr$E)9}srn>m4IUgsp2&78uFrG8a@>l_I_bl6^Wu3btyTFP37 zkkf-I{IQb^kMN`9II0lVh(c~iU@4OZ4%>gv1~HcHU;4;TRC4it;_d^lV>O|kl`uzt zi2kn*rBQNFDpr0u!?-!9TEL))cKFH`g0t-I4LFDjcgJ^?-I2%L?g7oS83>eR>qHy7n*g4!}=lq(-K~G#~_dd zbG@N#t3YD=Jtj;3)(U>=XVwjQ=<*1J3wS@ci-hJ1f!52@0?sYej(+o48|*HWSp;)= z*)5dn*kH=zSVvd80q^6*gsCzT-l@`s$~bYzOJUV`Q`--3Akj`u*T(s@M4vEsYNq9A z1YR6aDgbSZ$fz2=K>yZOYwfhhmI=iBMLU=}zgpl?y$Lx*A$vc4z^|s$1Jz?Q0us>X z&__6);dP8u-TbS8=yCN<_WQ;9?Xa2>mR0IS93B_3o!t+HrmsoMSIb>*4ZL6iBQ!^I zNqle_Y=Ojxbju#a|&77R!z)8-qZ@j7{w0>hvMY&GuzBxHAV-LKPvtm zcua<)=+8dQuSNke`9Br~)JdBEmQf2AvYIi`+c0or)m5fMzg%;4dybK zv|fHHm?men17?P3KSw)4NWngV6sRNwn%W>3bwoi?Sk(RBv$@n!&i{Nz3V}sYdF4<2 zPxmg0?)7xf0q}A$x&zedVj{epqJh7Bc7vvYXe5$LkOB&|Kwj*`fag-?h7opov-oLb zAD_ak1i>gVt1R#YCqUiPl4~&exq0fD7YF_tZDoR;*d-+}mSc^8F8)U6s~2e6q=)AL zQZf1c*G=-681{R+U&}ld({?&xbC}6VV&AV| z&1@{s)@Gy$tC2b?WN>%%4C&j<>puUTeG5usFn0EJje8Ze#SU9VT@kTs;NaTs=bQ>KmOSy#pPFY6dHvp5Ygv~O^DIrd13OUrN8N^ zMABrfpTP9nHQn-80WU-WmhI1V$ZctI$EhV&d|~7boox(ry7NUCAvSeMp&Imw#xW07yVNX601%jcbk7^#ZT&On>ok%cY)La z$>Y*EPFI_>6}BxELF8i4#^ipWDS2S#`exH?4*cbHRwsgy-Q;)uZ5qk6!A4$D-8$gH zrvo~nrHpYWz6jg6xY6uW0RFGrK&@%FpFX#b7iftGQGUs6>Mk^qTuih|v|}IF1&CaI z;ip)hYjf>I3C7!`_%VR3PSfQS9Cf@YMwZT=fHv}S_sg^GWFIBsq@%C(L}>7I+rFBg zC*Pmtitxl|kfuEdCJKz-*ensW0v2e7Ceb-)l{7E+x*d|)|AdwYD2eb2k9Bb+C5l(V zqh-K^R-nIRnYN>GPZcxxUY)dZ2Eks=eI#p5UNIXu&3{67`z~QQ`V^esk^1Etf7^e) zwfL0g1-_c|NrlqNu@B;(`gR%@tc)RN}Ea3=~odmm7L`)OkKnk$F z{}X0fo)GGZG7AKfl4-GM|1mjpuv>blZf#Zm^wItlZ2+3ngPBB(2!xX}+3AO@ih6=6 z|3&iW``5W6PtQr;2Q9z*FDb19*Ol2GDc#g&aPkF&AVu%n?o=81Fb|3d5xCaAcQ?Br zL%{0Y=`;``T!z6N_{{$;SK!wdfzK{&}5oS<-7?N0? zpugO`)6R*cQ9l5RpE;j4h8q&dfA(wtqMzv3Gb7PtLzo7{#o%`pn$IpzH+4TxxIwi= zQh_IR}q(L;a_;o zk4Q(e>9R!{>i~x6;8i#kFr5E)-;cjnvB+i&3>nE@Z$^H92&BoXkI4DzgQER{>jy;D zO3Gqsvzv`Lj(EKEJpP^c0QJ5PqQXC7BwmOD`E!#fWf>EGOZc}G`ol7R$&FzoPlEU6 zOYQQD4g=vxnmfF ziWCq?u+o6VNs{|ni|z-V`CaYh&%vcy%eUsJ7{iX_Gaz&l;%@V8@{0*}mw?!~$-?`@ zexH1hrn8v_VWVMR?7f*u3X56$qoSlRdf}d9E5Mz?{1MJvPw_2t+w&eh$KOd84~)2< z*2hD+EsCj-yIoF37_P>Ko2B?uB>rV#fbN7#ML8{nk-1#P-@JL=nlgwE_nCQZxg)(I zeiVpnnE656s{87(|i&v?2?NKY`h&+KB^FFjx1p!3bw?=O;UoLeH;G0UQVw_ zGg?->Qf%fDlMhmn6-qi6Pq%NuMj3*hhKl7N+i^GM`sj@TsQBJDdtJ6D-Sg;j>kPR( z)W{%hZJVtR*w6x=)oJQwmue$Y)>T*cVW&8)W&;)MpG0ZJ{*n~+=e-DAU4(b@X~^=B z8&|W66=cQ9s8a`m)YZRh!*^ga4n-@=2=jc055)`u0Q0_wn?6TAWjsJL9#JBn4Ol#; zc)76s%Z3fwi|^h0QMdt^Hv9-I;1>ga3$*a8=AsgZET#eFXbwcr@Rx(>L5Az`6xBP=<*4{D2Z*m_wRHLZUi=*iRXDzKAL_8L z3z#5Q&m2XU2H}BgX!S_b-8v(4Orn${g%NRRs^rG{*OPdQN3(u+1MHn&o)Jyda`1%4 zXv9JxQ;5!p$~CRUyJLWW!y4$m8dWi+cVx94LGoKVb#@^~qDAk?7inUF$um1LPGQry zxy{M?iYf)zT?M@mvGB{#Er$PH!B<;-{(KiOQEi$pA_5<7{$dq!suPeCyPy1RA(O z5ZXyweheeKUHIHnp~6v6XW^Py|M`^Kma_mD^|n;v%Q*2Tbzja!rzym_IU|A)3M+6PuYwUAKcYKqA$f@8-mRK9#0P7O-4I?8Xx={BW$@d>07(^g5;ZCz4oXq}>X;UsO_YG)he?$!; z)<3ew%ZMg4U*BuHh-gqq6EtcN;tqU`?~6G#Z`=tJ92zHdZ7%bB8TeW!h2i3W60WUU zK@>*K0?L!6DofUXi4|7yI!E+j@>dXYez)csaPDXFvE0t#sb$?RU6`>jGzlN)-F%zH zf<25iCQq54_@AZO2j+)cgT%0McU>_soFq@J{L007DB0J=v7vVf;_8_5JxwiWXKLZ6 zg#V&;?_odIkAHtE-~MZr2mNQk9`($LSSQ=#v1x%I%;iWp5=M+k-ZAsH|~iYS%xHIQRn2 zHF|}3xN$&V%&#I^iEl0kBmGmx_iq}bGCmmjsKV`seD+7M^?+;~$q%@wKySAPRt;{8 z8GdemMsZ^e!f0h*{m}^JP^uTUX)Vu+^EC-bblG9-|N35)tirG^uJVwIN<)kW74Bv5+rCy)*U`NrB zBOydjbT(FU4wOm*;&UU2lJRh)vN+;LqCHbb(|4I?BXX12lL>^s4#Lv0o~&E{zzfzZ z?|ej9wc`1xJo;1c?Y0DL7cC{F{Y%=mqgQ9p@#0At_F&U7k@HLJ*+eH4>xSv(3IOAu z>G+?$&+)%h6BL3p$3_WR!EWkerJ;9!+pw@BDFAGpp`wI*eYb{DGT3P|w1r%@rM|$; z2X-Ks%>AH7Gm1MTMnF~ZS&lwSsIGSu3h3R(i{F68^!w}6nIP6ma2PTd+JOx!t~8i) zx+1#0R#h%jST&hu3}i9=t)&)lwEvC*9%d@`{Wr%YVzJ3^`lASHmhpnOHaUA=D@~)u zl>{0$vWWmce3yu#x;IhE!*RlO zNRaIN3q(l(@uDQ_Pq|oYzJdRyk9l5Dh&eHVPirxnVcp;xRRCjjxlZh|nk2sdmDFk) zRD@E#oX`=Q`+2}U-`uvP|012(XCBsE0%<3t&!0EAI&NL~tAp4&PK{|;YGTDwocqQ0 z-~J?gbyR78u?P3G2hQ}in8UiR7h>wK7^tQZ>f0CMg?K7^^iCY#A5*!)Nttll9_){ zrKSzBA(ok6Ss%g5S}KT&psK)lk1`)E9kcHawE*w?oupja6A)MX&*pl=0Q)?hP?4Iy z+T{B2#S|?sSfGLfhtsw2N`96FL-mq|NsvS^SW=i2y5L;VM@@T1^&;O%Kzv*#RPIS` z^t>gUzwon|)(&mc`eCov}eckbQ&fNsi6QM-1*Ikv`DjNQ{T zOVM;}XeRaQIu&@Q7F#M(CT)5Z)R4Z~8A%}mU8VVa(u+1#iiSUx6*u&eiR7JmLqEZc zXoLyCP-N^j&;)WYLJ0uj2x}-%O|<-ON3~@nN+ycjYp62T6|+Q=-SgcCMyzeo(B-<0 z2K}?G#8Phe7Sqc-i67<4MM77-Dmq%S(}P|f-jr8ql@OhJ(oSe!RKx{XEaWFmr{&3r zs$nNaEBkD*sDty*mT~D}V3dNSr&0#X{1`Kh)$X!<98`Y(OD-{z81onciGHA9%51dv ztl98((sP+eA!m>)Ulwka?gdP_{U2<+UQ~a|?$4E2!IY){zSLzs=468Fxp`J;BsRAd z9=g;{(eI_a*=2rS=PZXXXR3Z}uP|ULq|j4-N^9xrgN@Pz$mY|oyR2Z+<&Ws-=x=Ij zYMkybt?{`Whz5szP5(c=EBrqpp3nFf#DEJ21n@T~Soo10M>ehi!tE8~yQd1f5NUjD z7yZS*+#Dk_SjK=KWXb}HKwtywAsz!`%r`$!Brp%=t0+7yJu1~9DlLJ*7=pYv1hhB6 zMTEiOxBm?Ld_Y|ADU(e9y%x7AWTn&~xPR_5zbgWxeisZotZEt}kS>n44`Z!bs?_ej z&xc4{xD--XK(mZa9oJ10ddkuqi^a$J_`5XZ2oq=}3t%pKmp1&jyT4O18nh#b`(c*g zDbNAK(Ee`UmxL|VZZ{Uv^U#I3JbpAFWhW^nwtQ2IH_no2CEv7m!zFMbX=pnfj0p_q zIea#WxI>gvL*)sD@Lf#Xq--H-fl^PB8Jz52t~=0i06Ty8E`;M|PJrm&aipi5(ro-eO`MeSvykh1;`>uC2`ik8k8 zN?Kx=ng+gewJXA5v~B87j@sd*H@MdZAo-iaXOe=e+k8+x^o6K-GROzyp4aVl!OFU&S7a=|MEPc@;caOES}{l4JMGvy~oM+Iw$?h#qFkx ztfslLs_`Vo!H-jTv_<`Bk)uQ3{fR&PMu2YKQZ|+Nxmr(ihi_vrKrN_~I#pY=iF{-+=Y#Y$d*P_X=x|2>S?J%L2* zvNeBbuNR2$_N$~c@!{4=vh}cqu!`GXS=Y`z!0HOo!qBF*W0q!R-4m;j=mTb7_zu}1 zwyILia^1TH2f(NsZ*`Ccu~K{^mA-kbF|FU2;uL|9^9x-HgSOUqK>r?bbCw&fdIECc z7r?kdVp2D0x}q0*G#iWND82a4A>JF!nzb}3l_p9UP&MW2$e%tFsvd_N&a{+X*hPJG zjX3P2kU7BETvo##_T`f&uDfMOFq8mqi_#rPY~OsKj1C~`D9vY&AMrR5Sup4^e5Dz) zD^QY^(rGusERrK8dXl`|vu}=O1%$;sjK(-J@sppw^92{;PP5?8eSN0}vV0`yT6LbO zP_UjlDFa+X%MRt$sKB4QoN&NTe3F8c73!dOm!D0_?Uy>>(rQrxGIN#z_W+gcrTEur zY|vWdr?nA9=F6Ut)Ax?i4E2FFntcgjlWA=YXdjI*0bwdZ|HnvWwn^eJEC()%h&m-} z))iH!sNJu^_`ZHzo#)pn`c(4{2--wq0ZXv}3SPtC#Werx=aO+5$3Uyj_AoAm&%dHA z+1#jO%)aR1z;Yd+tgjHgew=Q!(w=_~pe&>SXQ~8|OY{y`T8w?o((hp?lHMlWjin@h z@DY3YOeXZLl{`u=bZp+1&FDqL>ymf-xH>;rlnt#L2gceBes>vrUJ5Sb16CEY*(Ng{hI>pOMs6VISHS@J9oA< zQXHS2p5CX%W;Xf;SalpUyHNjKWB`B1_f>Cmo#7G>5q5iJ#wZ_Jb$oO#xcQ@hdhB~D zOPx>9^#OdZwbc2{Bxwczz5AnW_L>N!V!jE3&sJc=Nw^V+k2t^hLSZ=ao zgeKpxHKInD`%4t@q1qcPakZ5&z4my1bu+{S84xwkU4P(x%l4-><##NGy%`)<6bb&1 zKf}kqbc}vN@0=`0l*8ZQG-Q~2=2V}@=*%?%kHe*;cmD2-NNIi+8&Fs+$V8h{~ zq(3ZAz1p^}r5M+`oXG|U4%_OUA{2Wsz3C)y0cJT8cK^(Kz=(t?Avlql;fw)dG%0)g2Yi*29Hk}EU!GTfa_ZT6pK$?*G^fmR<5 zky-MAIxpmZ1$RtPhR$z&pLViO*RFI=^|3aUzgkj(tuZ$ItX{2&$XtT)Ic^>ixLt0d zw~gZPaW1cr+6sB&*G5Rc{K_aOmmj%U_&ZOxC*Zb%O@61%W$0{`U0Zh4vh^25%l)}5 z$M9DJpCCWt-5HstR)$rB2eIEX=Hq&yS(+a6mrxx*770Kq*tN(Ujeq7OHu#9s!BP-R z8y0cQ@f?csn%aibv{E?8(pP2BjOwDwy@A&i^0PpbzBV+fN0hO_Q<@PLT}y=?6B|5W zW6+!6ZB`wf5(3L}F1`O0|F^#&8Lr6f*)7x9jAv^Din28C#TuYSz{*ma zoT~Wn9>3AE7ygUJpPJf{!9Sv!s6C|#0A@x;&E(`f=s)`~30W=PC)gy_ol=3dF)I`x zJAB>vKRd+&N!6(u+REg5?2n18>HJ`k^FqxixDvzusb8~FTvqi=CJUNR*Pau0n|$)~ z_U_K<;<--mE;L88em=UI_!vk>OUdYE&()%S(BVpoa0QUfX>al>o#L6Ysu=~KE({U$ z3)RGjogSk_pir=KTv*eAqkJ2hoA02*f`w^Jfh{Xn3ES+q+LOR*&Z@3T&V?~1z0_%4 zNa_lU2izc({Wuu4p@5p?2&ZuGBme&kn7%pJVdL z#d1p})q$~%o?`(kOLR>t$9vDDg}FUwDZpsVHeD|4woJxyGE!@~ev#Sh45anu(_<#S zIVwlZKkt|{i40J}kf5&kLhlj_g}v$2o@WDW=koi_^IskJ!pneO2pIkwU+g3&iN&cA z82OoRIr8LqJ)>I?p#+#xgCQAp747EHg5zCu13Nh1Gv2|b*N|(%`Q5`Gb2293-P!Ka z!Up2dP%Y{vb3bij$O&MQd;Ug}=G;lND{R`6f)v~}uXSMhLHQS#U)L%T$`o@jartkL z`DYxye;ihUQajW!6|atoQ@;6NyZ$tCqw?ZL9El#~v&}XpeUay4X#H8Gw<=4XGQI~0 z$$a=b6+D}IAi{za<++L<&^%Bgac&T)ls-x&_|GMap^tugbCW)w59F6Hl5j<4S7jgS9cS5 zdoz~UUY%!yyTLE-MgY&VfrkBt+VVj_gJ^V+v(q4ZHE#aJv9-nJ`MJ;%Z~(yPQ5>-u z>WoU@PBf<|#W`&016YGa*W&!;(Ssm+ZvOTQB?s<`@B?ettcOL+NA!&RZl|+8G;I_QfVQeJ720PcjIDYmhr_Mi?^1qFtWVd^ zx_sqHmdv8u5b%FSyv>@@O?6q zcXN1Hh43){R_X<$P?zs6YD)3i9^isKr{PZf6p@i@&G5Jw)g<>dslTqH%PKqB@NWZN zpIC*+XyK&b4}NZFxH-siv7f1|T{845GxIN|k}RJEr!5~q?cJ{X6-o@I9z2fHCg19R zJ01TN8*7$Z;Gb@7(?Rs!%m3_jGmlj+Xz@*pnPfgN2W#);wD?R;$Q>R;+E*bOPT$Zm z$EOx`&|#k{w_4v=A7&oAET$*X>9Z{2MhQmYYeM?l=|gY4)aj&cl{5Pozx(g>tWStl zm7BZov4f%bdie!R#_|^yb9*!gi$`>~U}rt=ovvByTO3=lG4_%ut-PMVkOe~AF&hKf zY`1W)dQ*|ZDbNvn&z8j?am{85rKe5V+bM+NO%}h@|>$Nj%K&HMn zfqqtdJ$X6eJ9od5W_;SP&GmiI;Sb6wSLrp<<8M(d`=qtPoyGSI9Kf|ArW>mv>z1+5 zC#OOB`EpVHREew4Yh+pgQDvN(JW~12#WLbm26e2NO*UWb@jIN9cE4JWqs@`JObPtt zvJY@ZrOmg0wVpJr6=c2$`=rmgtZIo?;-*rmyJ&HG29NtskJ36F|Iu%^TPWH{5RirC zaikY1q9kWRuwCmQW3M(8Gb^sv@DKk3c4fB=y1iMhn0<45dX{{|>+BXtlfYG)^D-Zr zhA#oqYotbl%l0ZsH3Tc>gvcmq?)>(&`33!cz8bVEAxh{_`ycj+a`jjL(_4Z|qT6_J z6)aQ?3CIkl_obANiCq3qFckod8}j7>VT1i;J>M(A-rf%)*^D9UhpmpR$N+*6)<8MG zNY0QOcD@^q@bO{XUXHS9Lx?(#;0?_AHnWu|87r+?3A1Ua9C^_XzcBZcX{dvRDw>80 z`&Y!g(|9x>^ zUaw3LcM*j2)u-U?78>lt5if-l!0>Elb9>enC7W2b(}NPp3*ISZE0se^u4HFEsI9(* za6L05Jf0uxp8f(eM5ly-dFF~f6FROK&vnbY%m(i__MbM)?{u=(ZyxY0xeMH)WO3JT z2~Px@fAMJ10|I|UxNlD5jw+BBsqjq5J1`4VHZW9qs6yJCv*}9h6R3i1(vK@Q>_5e; zX;NB>?CG>M1+8_%c^aMVhp61WkXc)sR2K>Q_r7^Uw<#?yqK2C=^aH^n&o#{SCOB~E z*I;8%`<0FuCIwe!gSBN`Z}|fkWjZi2ASd7?{^pDlkX>mrDLP&3M63E;-CfhLCphrh zF>M@^S_+!({nOAO4UT9|R5Uy^G_=%#(n#EgceZo+fSbz4#C#bbg_x7GWbIRIblYjh z{|3~fuWdj1#g7fZlDmflxDlS7P0^Pz{KO=3Vl^H6;wrh;`ATB7iTt!HIl?t6qL>~U z_CKBi49`lgqfm})kFj?$>6|#X#7w{#JJ?Y$T(_{!L1#9}Zf0vmG9OAg+Dt)5lP7R}R63*Gh-11tbpQM3 zVP>SK&|;YlWY^L-s9(3kc@ogwzG%N6;sGL>m|C5sBJtawtfhFrrG5b|KBYS)c@V-! z7xctX2tm0P3V{HM!*74muSN2oq0%M^n05!q0en?Cuie!w2%+%4T$BKGBLNaA!lj^Z zZ~RC9%@6V9bL(Ac(myY7K0Kb2Klw*yYP4Px*}GXv}ij zurTW=sUB69=s#N#P-w>;D6oh>X{t=KhcU-ubJGtAXyu>StQl9FeJM0c<^Dp)Sj2L0 zTLSmN!C+<#v%@%)_cxBpl#o?@-3f1d@>hO0;70@8306~<9k>wj<{k*Iv1iod{Zx_n z>Fqv}4WK9f?_K>LTO*p+x*0Qey@?d;4Gk;YTHW_8@cwOAzB*cDjEwxS-3Jho{arb| zxZrE29|t4*>DfL|ib=de$LWlMsEbhUOFp_?jM5Nod9{Az?9^O;OzC>>v8;=CBJ$6C z&9if(m~HCf>h6HI&tJXYMrn{a>J+&-!2%%ZPX?X}lJ9^?9CsOMQS+V*#Ao{u<(+4B zqN&EsfRj(LeCRCS;}XiB&r8$;Z220lqq%Ay)^aD4SC@7dYYi!c%rgcQrQAN6q`pqm z7jVyqE2?N`r9naId2P~n1X5Kp=}XGBnGQcEeYuQx+CQr3 zmtb2P$;^iXE-(_&NQH<{02whEyMX?KRd69qzr^Pv#buP@9l;aJ zvUpwXtKHAj1!94zP_Ai!ey!Nwbu^P9nV&}|bhUjK{%F}#T;(znj|KZn(&$Nis*e4OWI!L8BeHsdZjG`z3 z6#@D-PkYJS^Q3D`o<`bX@(jzv0{HpE$F;c9-ovwNnw&r6U}3&NdCo|QKS~uU>lp9z z_IoyGX!UqyCVbw_h2sQ=@q{>`^2sdPYC<-h=Ei4fFCh$3jGv*W2gUhM(?!bq?NaTC zCn~N1+QCQ_Om~M1h{J);C;r88y!mK+RDU___2T z@&a#Le$-pN-(@qE!>8=963+D&x2m$aTuzb@DYquLWr~#zMN|7Va?%y2K~cbN{&6)2 z9-}~k69eqDeHw(mfo}d*&j(D!`Fw|m%VdaDkJ~T4CrpNpb=?%I-2YK~DyWb>H$gnI z4HtV=88SaHJ3y~!GV>+&u@El_yM`A3Fidr9o!)|F;%MEv4_fPLSe)B5DwsT-k> zJXaeh($@F6qFw}*xN1L)hVO5}`Y-V*#lua79%Tp$y?QVVCMz_n<%~HSmA_grcM6a^ zGYXE~5VAxDcP~cYv;+;1`21$w$y7WcvmHcwV)+t(_U-{O1uiNPyW@;J%qhiw>pYJp zD{SLNS#x4=t1emia5taJd^19A(f5{QtyMK2PXkwD&>RDr{pqYxs=AF0u z-=MDQG^5v#A;=i+5b2+yhW(w5XJFt%vYjLv$x42iwip@^qLC28NIE9Oyz}DYrF|;H zN&`VKU2|GI`C1}K5=#z^c0Zljf6Wi@9!QqxH(i?he7F~X_E4&4W}KKc`{A61!{Ilk z`0(0`Fr(<+_b*Dm3l+&$5w&1j(E}9Q_u;D?$Xp_GPjOnDXi?US#b{%k3!Exe0zzoK z`U|dg9Xh%DV|-le!s2aejz(Jx_*!4dkP6R>hH;`_(@BP&ucUPiwf4z@d_iY`=Wtybad>rtC#_?&g^~C=*3-J*%sZ=^&Ty zq({D;%z{ORI3oWTjjAHZ-vl~n@8BLt=ihAWND~7gh;D9Tk%~r@fB!xo#_#D5y}>e+ zfgsX5I8|!Xc{F+@{vwk4j^eGZoE=eUhPdNN_Z=&5c=I%#kc$BW1hGa3p?(pQz4n7- zL<4-e0Zctb(^pX_xUQWYcgZ=!Mq|S6moqMZRcT=RbBU@YW~3AlMdRQ^pnBoLp?(d}hwG8;c{IrN6+%tzx_vR_X< zv~h|NWoQo8=tMSrvSr*nat)Lsn&;6{mtnbJ)bq<+Qa?8?HJy8W6*o%8$T)Pye>Q>^ z>f2^!o8jlrOD+cq?Ck+4x<*p^_I9>URZOJ@BM%fQi9_rM4+__D@J=`3SVQVPNlBr$ zm#z;Yd;IMNl#W7j`zu_F-wWL^jpSFmi8ol%w=HJo<3wxj67kB$FHI#)vXG<~oiYPh z9ae=13Tx>3G32dgVHoFzGs?r1H@p2dhqd%g%?owiMIOfIQ*|AywL>Qm>Qw}*!0$SL zHpRM}C}Ux9Rx4>itQIhShuH2c7q8zOG~}gnU}jTRS1gKrAPKzv+9q1HQNLtGne%y1 zF0}9A`DZ??L1%zKNBqjrNn$SbeWKXjKHTYXZuOG)pA0oS`I;}K*F?deTpaFgWCAwM z0_!gG^kobv46J5Q{cRRzQ+86lo%i)5%5KEgHfA2H_QfprXEeMyb{^!uNMT0C#tyYP zZ$aX!flv@2qb#+52L=X)pn4$epL6APe+X}&8yTx@IPI3Q25pLd3R503FZRk&OcFLm zC}d@IRLW?6kuu;u&&m@xwvO|4<@SDG5kdS844Tgawu4vr{*QK)?krwO%x)Sq&Ls5Q zAS%cQ>D8R~`0ch@6ynnTzvl7_sZkuWX!d_nA{QFGhu`>4!G&eG5Xkm~7cvc$$_S@) z@lhvn;it^0*}sdYQztYX2bo?T288|0D?V%WXd3#V{^qlVAuKuAZPjCd*vwb4++Q9= zMj6U+pf~S7;EdSBqV>BA<&2GTUGKRsCujSkJA8+L#A>wR)RAT85EBcu6p# z&Pe3@VzZaUCQPbKVkJh~f_0R!!DFsJ>&)>iUOGqjI(K*vDoZ2iq6WcY@cMGv%9!9N zmYTIrthLD;OSd-Bl)HQQfp?RN2T#K)p~^s1;a7#vENGja)LgzTm0l#op+9@*hb!Cx zl2_03qdxqU=FpfHzIu*E%>UMKZ$Erlm~w<^?fM0ZY%xI=7OcD)graY@spn;|*p}sv z{6bC%ew9K|S)s-J+|Dyy5PDLe367AaDwns!&j4j;49VF=ECc-k*?I}_b49onKT(vg zk8ujkM0~8nZ=4Sy!KqXd()g6H?vxxbYe%bQ3-9mRd`wKf{!J>A%0#E^$Ew*7L-eLT zyz`y2k4`7#RMk|T;iCDrYKyJH#BtGWYlN}jq%$P~yRri-O<_S;?-e)G3SZ0ZI4#AU zjovVJJhvG74Y{+yEKY6v?@@UBlR?T1Jw!!y)6JRU^lXGg%!@BY{u*_@!CZFf2Nen7 zfA23UrAzoa=8C;)g!o7VY)UA42uP-~&yIun%DJ)%!SQD6rD2k{ZsC-92tD9ZyW0ZV~@Fy@!ZHsEZA?;{ZW`W_xi>4 z+qyfYDC+_#*|$S%C?)v*bJKzziHU_xBJZG%&xKdxl=tN#8+?Xd-CXZg@P&+DA8`uT zz^R)uKVnrj%}c&o`|;xkDMreQonO%n%rbI+bVM;NzUxO~u?O-Lz_wr;i#(Q)Md5ceMNX+Eu0j3qh3z9G4Jh^0g*geEy7rVkkLJmwMa z*}@|eeb!EGC{PMZMOR^fcejNT3nj$iv|sS6`rV{26BB6RcMR5(K}n**3=qux8Ca$q%CLgQ`uZV1%+jS~E-KffsTj-pkDK(9!(alh@T6b5s)ih6 zzN%9R9aejXOnBM;I8a#}mI_9PKe42G5*?a8pHj?|mr?m7P*d{R>dHO&B25m9gWUCr z^q3p8b=fa!t5UQ(fM-{WoCpwd$3Il~AhP_fFA3@srh`I_m0=g>eNuV}YjHDmZ^P*9 z;vNoC3Uds3=<20Gh_M(Hm8u6b6{4YoPR+_+jZy>y>p8u#Lo6(=+WvC7n<0`bI*lRf zW1qds?JT_7n0DV5DRTlYFaCNGzTPsd zK!GquaSPlzpICrp$_fsfcs(J}bL~S*<1R3ilSZ7G(75I*ls_;|#wpqhdn1rCg7y3E zkkS*}1aNA0a+HHa4`9?0KZ*TZ3B&m#Cwzn?sox$goA?7ei6OI}y}f^8_FXF7y;x{4 zU0GDX)+QE49%(?$7H=30_EXfEW;qeOAxUkpM|G2IXKt{R2^O%aXPP8w#q9)FbFq`A zR1rB!)#yV*jcB1+5!`StP-`>@aNdEo`DB6u_C)7AX+c??BKrNYgxXC84%jse3H|i< zdzH98&!8}LxdIN%h_o*L-^EI)-rgVRE=7b&-ohKl+qfo2Jw9j#x zL9A@`JMsz}Y6u%K)>@YMu#=`K`)hWLcI`3sRe-7$GvY>Ha_MvA@z-lw#au31M37S3 z%%&NzuN5kXOwIqTTB(eTq33|r+sp&!Y5ElPZie2_dKKY!#hQ?{$=@c&wXTrJ!zihC z?{~C6wMRSr32QDze#eR)s=Ho@6WlYOmU+bUMovjd>Ve;z>`O)l_z~r-Z|xy7Nm9R? z60hu!H$6-2Np*4|@i>aHe1sx##~*6xg0J;VT%e(1fY~`Z-Z|A*Nyp@ zxLd^1xtO00ZnK!|HDl5zA6&Z>98m5n&Y6RRDgT+?;+4o0_V8$N8&BvG!`V^atY`VB zetd&9jcH_@k_NX6ERg^GQCONfA)UFR=wjoJ?e$~yQJ>Ja)0&yIus^Yo_(iE&GD>j| z-jLEgb8Xc}n&nX$;(`U_mmlf>yUyf<#e|t4GGiT47_u+24#lqMdpj}Kzu{~S@D?Gb zK23j*q>0*G5MB=E;9y*rb@eO_n?^o^p*ryJo}?U1PkPI%umV0X2d@le^@!pnCo_8t z)y`04L(lhyE__Z!Xk?ZV>5D3rBNY(%@YUluDPR~v5OThAu}k$tiskj7o6#8NIt=v&R+rNxMB z923^ePB)YQ?;K2pMjIuGZ$(NzL*Ie>Zbbt!GV!1Pp*I+QFHG6QX7=WIFs~F%y794Q zs!sHV%1orq8w7@@7x2bMLOV+Mds#&oo&G-jeYtsu)qVGeOCJGx_1o^L7V^+ZEYh~ZUGImd z8}5~E$H)f%rx^Ngtwf*jiN#n=)B+aFkWDxA#t}yk&onzsd;OcYj6_iHekiwJi#1OJ zZD(Gpy7lAIi@6ssca}gCvJKbfP5UT$tttvgeW0l2H;278esN!4W~s0d0La{4Ej|!` z+aBTJ9Ewe5FIbVE7@b3SrUTpo>`?AA!;G-#&L=f;)(fy!P{0!kAWI$h2(1^>A z`TAJB$y9ab4{NtR%ZlTs6^Xm0j#P@D^a*r}l;8}`!BiB8yppF1i(M=EBegq z-|q6u5@uvf%mCnCU3}JRJqrtD8Vz|c#@ntBhbkAGz>J_8{mlPOp;6!8v^ubUvU%S| zJoc1g1SQSIb~d!Yaq8yM*W84yC*1)iyZkF7z8pR`@GJlLT*7j)@3&Uq<{LXZyECy` zy!EZ^D(k6!8Whw?ei$e&hm~Hy(wWk@{NCBI=ZQ0m-MWBrll_0if>A!O60a`tuCG6T z(AQU1hmT?R~6%HGq%2qvTA!5O=RNm+X1+`{zE zl8;aA=1kl)dP4i>??D%r^adK2iu!-}=e6Q}qZ8@k=S zV1llQ|3}qTM^*VXT{@(@J1^bc-Q67$0!m7EcXuk?pwitbAdN_Ocjx!;d*k!wx2#{ZQ#zlFn8Szw8GYHX2-5*P5$LP`(o?9($t`=SwfQbFR6p*Ifn zhhUvfka(`3m=fli}i&`$B>bhl(c{8l6wp zu#b%++b6TV+#KUxoa;c4(q067YwO{9LPidCoUfPhU>DqD!a|!c-|crvvmPc|eDn_< zksYyw$6asEoLs&Hfh<&q>j~TTdE;z!d3o>5rjeJ5CR~E>XGDpNPo4g*Gis$L813Nwasp8C#fOD^wWrOR_*N*NTWstO`Y$WwNiu%fH8om zWFAWZpdD#;u{B&v(cN)|P9>pAMn(%zKGpjq^A|F)@spqy=IIbMeCgBRi85uEeu6Kp)KR<1qmrGLl z>8J`Zd%4X@8O#w~am-3x&BX(vY*VsVPlVL7w~gCNl23JBof-zrT__lfjWgQo-o(JG zr@)eSj6uoa0vIf%7J7I8pXd|b#X1Ej1&yL-$Axo5g~il!N+BM`2?_FLYIc@tnVD*+ z8fK8QFx3N9zFiMBa3SrQVqFS)1yhZwm@Idz-+G0Uvj&HMYMDa0s0z`OT%4X!ZBQHbBZJL~Z8bGfauB2EzU36l-c4!{~=dPrj zA!24pJ#N@3RZ?{N<*Pkdw%zEK7gW#X%)!~_6lhxutDgHrQ zN-73F;n4g>=pjAciTgj1BoYaD$L)3v1eCnK@&cNR>bozYNIBuTkKV>n*ivPtckv~a ztRFMKChDK8oLy2xtKAAG-=w$BmliXz@jrKGjx{C6Q_kXSRN+ks(tF&owL(_IVN0Dy zy%h^N1CnQ46tV=3LFIC}=#uG_T>lD?wcZe6vAKOCpY=g@E1G=>%uQR+S`FWCTuU+c z!fNNfT2Ft6&mO|CbL0kUWVcw}ft&LP1%1O`m0R3I+TRIz2-VjD#nzaMuq*KUpR=|e zv8slq4_!uyUUr`|_zYE4lb57}B46&Bob}WBZ2Nm?Gcb(-qoe%*b&}}iW2o^XG1Pz8 zwi~LlQcm>gxo-gKLVOKyJPxj|QuhE;C$sQU6VrbWqC?)B+4@ltw&I7?aD6HfaoW+x zct~_-fDgH{lqD{>a>g*Lo!|Rnbr}i%pfA_)rH7Wx`oW(ZW9E9yD^Aw~mx>&;wf;!Y zT^jW(t!F>OD_(oL7Rm}hCxJM5CFB3aKP=!FP$$5R%)?>OP=2Wa@uzKCe9;$_Mf2^;P$z2EOF zoUt&~kk$Q=OY`5I1)z$5Ca}3P96VKICO|WQPUGUDYrdVYH&kdX^EJY~Sxt&I{H=4FQJNkRpzgsO&-qp zaW1R#nJv3bl9T3Z+*cZ%cA(*kZ1uudn77pSt48=#I8d=<+Uy+^k8M8{PsPmPFEtXerMAv^PV%MPs^radpAnfa8a%# zZ)W?zh0jOk)#X`B!a!aH$6V%z)Sh-pXtBb3AWZoOBmC!Q0K8z50JX8X`R(H$uA{|z z1P};Bz02dWrviu<_iy=hbpK^==5H}BdgS>#5n4iey>m@*PkJpj9MaW%az@rSOw(k6 z)y;47XOQQz(;hQ6IBG}~;shhJ$ra5#w38;w`ebL=c zmV5W8DjXQ86sPTWF5A}+j|xHTsl1B$r6}6gn=5II=25&sk39)W@nta~sy6u9mj6zQ z-weP4tx2+E>-Kb&*(2;73JSNa)5^-q-OV5SvGUQBzgCqL1BgosJ!dV6Z8VJJ%yKqf zo#q4_XY}cfU!UL#l=`VipHsQs=VY}DmV2~pl6&OEP5jhAL5SHiDTb3y%Zg|p4Vq-l zq|4oMmUU3=tZA>Hp`O*^BJn|ON|cp&q{x=&+>V$2JD_jkeWmYkiP4t(1nz3 zv6koS^EMA1ReZajCvE(h?aHuY8iDukr5JRrf#n!~bJbg)VY92?+@q zvr<4&YHepM%W`ZOQ1n#H;*!+S!7bOSve6=_?)&QqWB_jGJ$mST0juMk&9v)S%s`zq zcP_FYcHd9n7WHS)yXi*TcA|*hq&zoUlvgJv7S~rr{3PF372$ziZ8KJjOJv1wdUhJ9 zrZa*E$Ir7_s44D-)2C;aF_XMak;M$cJ*ARi$|l>BNtri!Zl~b~MkkqU<{1@bAKb0( z`LEwHcJc2sqW@jgH%C5d_(wW7gVi*?L*0!= z+Izl+KYOpYZSjI4y2XPZ_J`}~VD%5Q115#yr!B1;vYkPy)M@*s~cAt^1L6+=c!3I?>@ z#DU(ssqzZs!e6IX1@*0hrpU-iPf)}3)cZv&59Tw=mt5DH@h^!95Y7OYD0oUEXe8Sm zH!Om6T)65T|ESvgN1bl8*$by&$kyj!jG-u&hw$M;NrT*qj@e>$`+_r>TC;`i#~9uq z&)$^*Jv#bu7C8>gFm1num&U0Y8C(Qyt7;ZG3E1=|SA_4M1g|bmrNeYO_brST_KX28 zx(AGslyeQTPuI^r=a0gJ$!yA2Rtl%{io?!59Dt|Hu-mAIP8x7z7~DRRcvu4Y z@CM{fRW_mGYW;ptDbG5k(&11lU_Pz%+#BB6j@m;`egoA55^{qzM!l4LvxVGVd>+Cr zinMxKT*fn3$FYJyKPRx5-nn;gIELxhe);+6+=%Y}Vzm@!+iZDRF;IiTC(Jg5z?NTI z_-3BYW)aEJDVs!1#>2BW@2rD&>M z(NOF2pW{r5vB@_q)pM#>zGN{#1!=GrXgV zjs$9xx5Mvy#6M3W9Me=dCBE=gK)w;uq-m2Nbg-l>0iuWkAf_*pGF2 zpAp2r*sc)2IG?OgOfJa9Slc;F!&oaAJr9<)$wYL}xPA!Z+iu?;Je!4j+X}GW{=Z_c z2?X|=p6o2sG&My0XrK*Z)5g8tZH7}=Efx&W2<;%n z7b9^vynFbP-A+UD(IE^Y$|C*7(?RdJ<>i~}3S}X7kUHOX!h@L08KBzT|{z(?>_;@>j?W*XV z{xG=%pbOsi@^C04>v6Xoo$1f$lYxnkA6Z+=qEV(M=@T{m*V%Ko1As#c_edv2NU3#= zWv9~eNQwma^WnVcA37{kN#b0E43KH^Le^8TfVyGfM8D0UQ3-V@*VKu5`Ke#a2mT(Q zsYRal{U)7rO*ff~EtI+OsONkSx2QTRiNf;c^y~Sav5IN(o=fnj39aM^AJuD}cjVFU zii2t=)c1N0j66v6uqK|or;)QGBd}zL={#FZ<>HjoJkJx7bR4((g82PEf1v+~zd$fv z7dC472CWr-tn>f%{6I=857YeSp>yLwNli9L$KpJtpty%V;%WJ<_B;@_5ha&k;! zS#0(v)peRqL$I6_T)UY^aL=W_>Th;eFB>CqF*{Z_BTWw|!)#7J;e+ zE!CoSz=>+8Q2Dvo%|kGX6Uc2NmTsZmZN>@L+Wlr53l4FkB@4Bg%!fWYKIXgyEc3sf zJYew6ckH0Grzb~~xE@ct6HYZEUODvgSBa~x^y~V`j}Tx;jS)@`;E*+-KfKI{_;%o#5A25qN<2bymt^* zhwH=MM~=ppz@>_7G<48xTdYjz&aLz|HVAR6Y4kOY3Ht%{@5o zzGB1~G`sAeCk;F%A8Gb~+9yD~{U`U6%Vs&4%V`Br#G(LBqx0Coo~SU@Zzl{X_}ERY zN@1LPDqW zS`!9^6^MiRNr|k5I>euU{BR#ZsqG+Jqk6U#BwJGludXG@p$;E?kXy03-lg$g&DNMA z;*&?hfM6pWR@0URBLd){<&zFs12z=9&_h(qu7p}$H(e_Y8lky=ILGH)|C%;BH)13f z#GvH?CqS2h2X{UFWV$E0?!5dH5kvKi#%VNPjFgvG_X59ve#LVa}4b3qc1M?1X%BJsxx&F;{o^#dlA0x=JTqhI)QE;?-7 z7_frI`YrE1(4pMaKYO364$fs-5{w&kwF$y34x2N5i+B~h*_!tWDjf#3Hi|r=YF?7nJ zh*_$P-R^#UHTb=v*MU5*Hoe8r*FE>arv>Dpg!|SjBEw)Z{o8v2m6ul(FtFFx@P`NF z|0sVQ8A2Oi{=pFn{6fox4P)Zw_Sks%d->t$=C@Gm+rP*C9|Zhe*sZ9DsLy%q?qM0f zbzO0=i5+8wvk7)r_%Fwfj>dCNeQ5@mIl`rOa8SXJu&Y=-`aT1kgZ6B zgU%mg%aI+ukIUn!nv*ncdj7zA+OI$xKR;;-^|KcTHGMl;UyI>)^04#b*I6z8mR%w- z!RWO%ndRn`;S2~GHg=OZ88Lr*oDgC0^);SKK2^p?WF^nXbhE*y z_VyS2+4*@0AVV*8u(_UN1yva#5{=7B>S_l|tDa9u_!_1>`FcCXvQ-LV%)7^&Ibx&ud_S2VCc)vKY)^Y#J4#r3HI zqTcBS6>JNC7R$@AbDE*T>{r!O_ATTrlu!&Kai%KRX!U*0`Hos##hFTWBYz{Ed60kl zWj`wFg_iXcZIk6(XGNDd!s*y z_qw8D=_mpAhEjheq@R)JPy{=?84d&uD`)B)^+J_ z{(Z|cPs+ggpeX8B^x-_e<*VkX_zk9P%BO5CQWoDQo+htdA9d$ctRiMK8jAa z(2-c=7(EQb+V6FkwwBXD3Z*O03G}_uPoe=zNVHKR8st*XPxlCO>k|8mimlzNt0c0j zlaW?L7B#9uEVdM=kVi*mVllw951?DNhRWYi54-kK8QnEmAl<#PLM)d|Yr37=%>SPY zzHds9J+Q#t^$^0{Mj>O9mwg0>=ZrK_n(ZH!fv%F56(eK7)$an)lu@xyyO`xSo*CMC zK3`zb1Cx~(>MwVKr2q|s6OC1(!<4zN8mf23FxnOg$;cqqgUoq)+#km6I$Q`Rk8lDo zMY>|q`L0&L{Mf#<5?w2pp2?r~_okY77EJ5B>F#Gu?!*H;e|JLHB|!OYdqdgg=n@oT*)&=US~YlX4tCtQ$ZR4^H_=w z5>7=*YovuskngtK0cYCiQoB)4Z4N9jOr^ITS)s=}rfqoc{YV_TIZ{4h+*$VUL8}sM zW;8{SX_|r_sSIEoDRE8pQJ`WHx(=M=Nu9cAEeat^83EScoGO|%bBid2piRTH2j z32bqE6pGH}KoRo3vMeg4b^LrG8jJ-|*TXMVU463h4KJBai={Gj-B&!ItJUpvZLK@V z;Rv_dHFHNx^OL-*HAj61r0yn9lgxo0}Yoo!bsIc$T64fupfGUsuoq zO-C$Rj&K64xB%U+GTmktq#4%9UJ#G!A}%^EcZ930_L~OjQSqeFIU52d%$iR?T&Xg4&q_J%#h%H>O9OU~sH=y6#ahjcjYw^e;#JBwa06hIu@j#aLv zt6t>q$VrD^r-==SJfm6?-)rkaL8{QTgv;A#W|aLL25JQt0e%{v>cq;J%a!5(gv<{o z`b|Vs)&b?eB0E5e5OjB2UGg0cA7>mE$*<-D9ZMk^UFIwmEqoD90t--aPX129>dR%& zc?>QL=__%ZGyn)~>wtq35apO4nrb<$zZqQ z`k%>X6DV>%VDRbPGak7Uz{Z)|{#trqC)IusPwp$w42ZkZVTF1}1<@7W8kg_NU2BwV zjblbQE9Z94^d8(#ykL!rbj*Oh4$cXlq2tiP(BK&Tn0IxQ40Z_tMqGQL`x8q30^Una87H+%e-3G>vn( zD4-Flq#qlf!%p4k^=#9*88KVF8nj>i%9z**;rpU7JMmGCAR8-*Rs)~~#F79cCi58} zn2kGvlV~6Ikhrck( zwbjD%;KI5+;4t8>PL>JwUMlOAY|Folhg6NUtB>|DyV%D~z=St+R$VXd z6)ViF`olIkAYfF?&{sR45>BNoCT3q>kkIeZ8+BpmPTn)_qPan{1tg@4y_8ujx zCw3EI@VCa0AsZ@s2aphoJL6FcxQyE2^_h&528$$?7QUJI_GX&IUFOTZN!SlcUVa;C zRwI|H>TA~Oky=Q#{YS`{oFKo-IX{@C$~6VGKIR|>n2?*DU?Cy-AEWUne$(X@4;iI| zVgR)2A>TQ3d(V@l5PtVpi^Ju7&YM0%QDTGpQ6B*wrIN_!NC*qq&2i@@*pkn=98(Dw z!HXRXtD|k%_0o4(;&u-jZu!`$F$DbC#LHydkaD#&6+^iXNC?{@1Gv*G$yF_D$oiO5 zb6a_QvgGN8ouQ)YfEyL*fqn~cqG)g;`;Y6Jmfg_V3`kv?8Fs+8Cd3d84XkAPsaGr? z-W%7>wyChxz}~#0hjKjyu9WbERqLt$O7n?0^KzJ-LB30=e`sPMu z!(uD=4%LczlI5(jaV?^v$Sh|nz-5UxWsVzG+aM3e4OOp2`^rG|bOiCy8cON9UiW-Q zUC{YG*2r}Zd^kME=Q5b0Y6kAS1e%r68AW}iS)~q~`)BZ!pYJPLDii2oIp|GzaBM)V zk=S2vq`#+6u@%d_E2v1-#ul9)Yh91IwbIm;VWX(f4*ofu7+m-v`BQISDXov^{TcwG z-s0fDKce5x4@H*)tA7zdk7C!0rQyO?qUDnB1d!nSQc8|VJ0(xq?2bY+B5bQ-5AXBW ztoHa#fCiDhe@BbvFU4na9joX|TXMNpE>;v3yFlJQQXP6yf(Ci8Xu*Q?U*AUBdP z+;pZOMgV90Dlm|xP3qRvt&~&8?I@y|Ac*hF#9{=ycCu2xR|}0$g^70n2TqHG3Y52F zzs+t3MfWIucp<*18z;oE7GhUTtcfD}Gs*+A&gzhXY%uA=MLu88lxaU{YpI5=r=j^25~exX2j3=&Ov*lFh{dXa+n4J zds($yY~`|PQn2~&x1{?@)tl; z`buO8%i^oC_Z{V9qPJ7c1=ZJ5Tl{9=>Zy=tFPyjgTs1bn<`48Og$#r3KS&V@$_c-c z2dOwYL@Y|8Wt04gsu$3ALg-_6vUw1=^V(4*ry3ZAXy=D=bpffDN!XWwDEwJky`tF; z4OQBd6)eJ|Kx)+$a#NG2N5%!W<5W@M>L!vTM{-f+WjVmeOKo^%LYY;@>Nz6N{TVyk z*m0O{%mEq_RPwWfYkolGkkY&Fku8f1B2Yq9Utb>(JElSIiz0v}Bs3FeKoa^; zMjb5%hbp^AptRxJU0b&z)N%IQO7f(F>gKn8YoWnHE>WbIgPxtx9_0SA^KRKW$nkgt++3NR+DazP@YhixIGKrmRfv8lm14uT+W$ zrF`?DQ`11mzdsL)V?o6_OYxb!+$hDzA}dfg)AU>XnJ!MVhR*~x%btHa@ks?E+qXh} z|9%gxfN#y)l8zF;zi)T8P(hOHvkUb1{J1h#t8tw3e zzzu1DlrU5S6c(i)B!-~G?~6a~DWruo->kq&8)Ku}jmH@H?0l@HxhIxsW%R2lwa%Zb zsbR7TVBVWNjs|);P~d*ABo2?cCFP(oD_&EH__Kz_yXsK{EMTfqHU%Bs^a|r&6XumM zU4zPb>%;8K&40FNl@bY8KZeZ_lUuE^cOamqa;kgQs<-LmY)^W4Vf4T6%Qy7m_ZmtZ zX5{Ndvm6}nD`g4dx^N=|bgzl(K3w5#596 z;Y2Y3?+9-clArqlcl0+Ebz=L5CMqFQBjimn6|pd%)aBX!tci1l3`d1w;F6pdUD~#N zvt`r`bZ4pm^x2^=#ZZqTW4BYKN0&E%%)8WHtt!8R#7w6{d7(4+cYj^T2il^X#UT_e zL9=8d;qH_w>seIvHQ!p+x6MXPg%jv`bZr!(SpRc-YRaonc*qZvn6vjtPZlcqrSrWk zhInEhJei~ujZ7*fE6+d_LagJa7{gPpYN+aCKvG{oVJWi=*CS%hN(W@-nS0DC$o~8> z49;32_2K#wCo$YtiqD`Ac`)1*66E;3)ij3=7}=Iuh^#0^A>v1R$vkykC(&$Vbu{x` zTnM-`Nn$D|&L7_7b65kb)cGcMQDNB1HB)1}`kugj!d~GI6E?CsH+jJ^Z?GbgEvB)cP@QtdxOM5I+b+(xoAU>!i#=2=V zY_7IBj7A`&nXQaQpbf$vFC}ETJnbE1A;`qmr6rcYNYOMn%AZQeAvJo|KvIlo-ad!~Ty&y?qof5F z{zG?}R|Img+513e85?!I3NvV6=ooP%-#X9IOrx$73KxtWmB(`f5#T*g+14#IF~a3+ zYAt6FVAFRc_6O*lN5!uX&uKJh^$o_QXM=C8NbdYE^O-*MSf1mfp`I-Hg(9QQ3_o)}>fhHvhrZLH7{ z3d0-~`GBwye94J$Z6Uq4P8>YOp#~&Qc07w^i3*^Z*S#r%zL1JfCxH``TJHZQ^aW8ylg8<7t3C)I2!u!XIS$+5O3oHTO2Z$32-n)!>`3Qz<3~gpuUo71hpZDWJ z!4W7Mm=lv|2QRANHX1J^p$Sn461Dm*HtYs{X^?gAm|JkG!gG1PGj9!NaJCSBKj4|K z)P?lAIZ7Bsr&fUbVKt#uRyv$wN!j81{EkLBH@HALuBSvfj}nWnCq3r>kpynQ-rI7|OAc@$g}$er zdC`cejF0%#N1I8q92OY?5OM`Jj2(*4Miy21=eHo-61bVn1!~44cbdaopM0s_BBVeC z-qCEv&+Q@u7fWb?ot4hpAvU=nI22bBwhflV5{IlcnSsX)bM~~w14k>jxipc#*hz3S z41IoCRgCwm6j6i`+U;@&i2&yJe9z+)3y?~8nfWkz{9trER|$z=NORN05Nt0|hHWAB zY>hWa25*&hff_JgY~t$oKum-S?lPqO?s^RHu^dnOeWRBN7rT%IQI~i%sZ7N|rl*X?w!yF;=2heTI;ddK1c?CGv5Iin- zIB8L;yQZfxkV%9PttN8&e?LjEeSZ3U{HU+okJ`P=7UlEk&#@<+A&Er4dhf zbZkl%8vbL@VY?fEzqIcJwPE5KEyo$w3gMWo?GUQ~vT$Jw4;xB4P6;+0GH>5Gy_%0+ zNJHk`As5pPC|zm$M056G6P?pqb(aBW@vk&Jv- zv&%)r*R~=R#Rs+JEwNe*(Mo-#B@@OyeftPhR5XFL+Phj>R8l_AH%P@3hVX@O!1X5$ zG=L3X=8X-X6!5bTr`1qENeSf!*fo-DifvkeKVVW60h$IVn_c)kbQ7fJwo--^KJGn+ zM7}S8z0}~5RiW~-EKTQaH>gf?7{nRUuUUb*rJ1-cFJhwsUT7$fU}Qa#Ssx)8x=nS; zWBZ=oVR4hpyW7PeYmt=_Z1(DNbXyjH{tuA^XBT&pJ)?=7Wtgo~574w12Sm-ePyk*MXDd&Pt{=t`tPgdVb`A82}YWET@gpuySobK^(a z`md_i@{Osc^fG71Y4Q8?L9;yCl2YZn!%0*rJDaq5xCOD5 zx*X7E`QMG)bzR7%ju*V3ESU`$#ce;D%}{t-EmS|QI=#LL=B`0ekiPN8zMhBylmmAr z0H8nX=2eRotI>t@EjMl$=!*cCkEYCf?XQ(*{b=_^0Y>{r*2CR>w|KJIjie-Engl!< zG`;hon{A?31Pub9rPCIewiUp16~N(F9!b%1|sE5AZIizwgRSMe~hR0du0Wk+d! zGfXAIKZ^@u=-FVP5RCGWcUytc`vzTTv++ICw8<;{h@EQzP-W`7)m;(OI4Z1zD5V1V zcxXeBn_EP( z+|sw*9YNN_|2z$IP6x%eC857&pGh{c<|p2_>knSyGlk>*cr7jekuXayw(~v|LHVB- z|8E9N;ScxJcWVl0#RSaTugbe8ce9l5FHf21G>)+ei9dV}RkMs&--h|Bz`|PYLW_oI z13+3*2A+PnJzytk1vPp~06M|-Aa;y`9#|`4s!UQ5iP{(bn_dcl=QBpjluF!8%gNwF zDro~`+vRl#H_!bP-ZtM4YUT3Jy8>@WK=jQRc$ICUak)%_`qm5z_3k=1;%T(GWP-oy zd`!4{H2#f(_gll~dh0gj<2f{1;En+T-48v7Xhz0xsvO`FaRK|B0Bz%!7z54guYGHhi8&HIN zE^uvaZCg(25tOotA``iSWIhjTvyzI}y?^l_0ncjr_N*Bbx$7NyeW+VMVsjGd6E_1V zGMes!W6To`Sgv(0Rp6+89y^M+^a+2qS;lHC2YB)Li}Q`l{#te3N8R6kh`NBN26pUvgKn)c4MC)#Le zP)kd~n#}+#q^7{Alv=5@vk<)tGo>G}Xr5Q4x(6!xtLdc+x}_>)wE7JU??+P=wKEj% zE>izKrF;GWILaT_^*!HbkLLG=F!H%bMJX2z5K!UP*5aLjm+Ddj*3<%Ic0`hciYw?r zOepMOB(#MzS}ebQ$#;VflPjZv)!;JDBa=iIG8DR>8leg-&@@6czZDeb+q!{E@zA_M z6#su9%8qJ29>h!O;%R$hv`DfvV94vvk^4AR^?5qPes^#H1z*?%uG7-xF~9rS zLzT_Cyg=9j3(;&oA;mAVocMeq?7I*b<9vO7KpCZxeSFZC34()pw)C^|nRJTlcf?O0 zOjqjA)I2X^A!|*3dx8{SCk;$XxMH@wtua=gpB#iHv@^Y;@ze#=EEUa?xtSEME-zsR zn;c19k958+e+;?_ULK6gBlCS~BGc26yUhH712YD?K3IBJt`*$`K*%JY*K-WYfgy4J1)Dapo%H7i(bt1A3QIIdGX*Q!w83NR^2>}dfcTu;WP;fO;M}!6*8Lm=@oI