From 62989c4e57ca7b8c4bf58434333c0f4825e3dba9 Mon Sep 17 00:00:00 2001 From: Joao Fernandes Date: Mon, 23 Apr 2018 13:14:16 -0700 Subject: [PATCH] Remove IBM from cloud editions --- _data/toc.yaml | 38 -- docker-for-ibm-cloud/administering-swarms.md | 358 ------------------ docker-for-ibm-cloud/binding-services.md | 180 --------- docker-for-ibm-cloud/cli-ref.md | 159 -------- docker-for-ibm-cloud/deploy.md | 99 ----- docker-for-ibm-cloud/dtr-ibm-cos.md | 249 ------------ docker-for-ibm-cloud/faqs.md | 176 --------- docker-for-ibm-cloud/ibm-registry.md | 108 ------ docker-for-ibm-cloud/img/quickstart.png | Bin 293886 -> 0 bytes docker-for-ibm-cloud/index.md | 118 ------ docker-for-ibm-cloud/load-balancer.md | 214 ----------- docker-for-ibm-cloud/logging.md | 76 ---- docker-for-ibm-cloud/opensource.md | 7 - .../persistent-data-volumes.md | 216 ----------- docker-for-ibm-cloud/quickstart.md | 161 -------- docker-for-ibm-cloud/registry.md | 28 -- docker-for-ibm-cloud/release-notes.md | 52 --- docker-for-ibm-cloud/scaling.md | 51 --- docker-for-ibm-cloud/scripts/Dockerfile | 30 -- .../scripts/docker-stack.yaml | 28 -- docker-for-ibm-cloud/why.md | 38 -- 21 files changed, 2386 deletions(-) delete mode 100644 docker-for-ibm-cloud/administering-swarms.md delete mode 100644 docker-for-ibm-cloud/binding-services.md delete mode 100644 docker-for-ibm-cloud/cli-ref.md delete mode 100644 docker-for-ibm-cloud/deploy.md delete mode 100644 docker-for-ibm-cloud/dtr-ibm-cos.md delete mode 100644 docker-for-ibm-cloud/faqs.md delete mode 100644 docker-for-ibm-cloud/ibm-registry.md delete mode 100644 docker-for-ibm-cloud/img/quickstart.png delete mode 100644 docker-for-ibm-cloud/index.md delete mode 100644 docker-for-ibm-cloud/load-balancer.md delete mode 100644 docker-for-ibm-cloud/logging.md delete mode 100644 docker-for-ibm-cloud/opensource.md delete mode 100644 docker-for-ibm-cloud/persistent-data-volumes.md delete mode 100644 docker-for-ibm-cloud/quickstart.md delete mode 100644 docker-for-ibm-cloud/registry.md delete mode 100644 docker-for-ibm-cloud/release-notes.md delete mode 100644 docker-for-ibm-cloud/scaling.md delete mode 100644 docker-for-ibm-cloud/scripts/Dockerfile delete mode 100644 docker-for-ibm-cloud/scripts/docker-stack.yaml delete mode 100644 docker-for-ibm-cloud/why.md diff --git a/_data/toc.yaml b/_data/toc.yaml index 695611964e..65d8031822 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -65,44 +65,6 @@ guides: - path: /edge/engine/reference/commandline/docker/ title: Docker Edge CLI reference nosync: true - - sectiontitle: Docker for IBM Cloud (Beta) - section: - - path: /docker-for-ibm-cloud/why/ - title: Why Docker for IBM Cloud? - - path: /docker-for-ibm-cloud/quickstart/ - title: Quick start - - path: /docker-for-ibm-cloud/ - title: "Setup & prerequisites" - - path: /docker-for-ibm-cloud/administering-swarms/ - title: Administer clusters - - path: /docker-for-ibm-cloud/scaling/ - title: Scale clusters - - path: /docker-for-ibm-cloud/deploy/ - title: Deploy apps - - path: /docker-for-ibm-cloud/binding-services/ - title: Bind IBM Cloud services - - sectiontitle: Use registry images in clusters - section: - - path: /docker-for-ibm-cloud/registry/ - title: Registry overview - - path: /docker-for-ibm-cloud/dtr-ibm-cos/ - title: Set up DTR to use IBM Cloud Object Storage - - path: /docker-for-ibm-cloud/ibm-registry/ - title: Use images in IBM Cloud Container Registry - - path: /docker-for-ibm-cloud/persistent-data-volumes/ - title: Save persistent data in storage volumes - - path: /docker-for-ibm-cloud/load-balancer/ - title: Use a load balancer - - path: /docker-for-ibm-cloud/logging/ - title: Send logging and metric data to IBM Cloud - - path: /docker-for-ibm-cloud/cli-ref/ - title: CLI reference for bx d4ic commands - - path: /docker-for-ibm-cloud/faqs/ - title: FAQs - - path: /docker-for-ibm-cloud/opensource/ - title: Open source licensing - - path: /docker-for-ibm-cloud/release-notes/ - title: Release notes - sectiontitle: Docker for AWS section: - path: /docker-for-aws/why/ diff --git a/docker-for-ibm-cloud/administering-swarms.md b/docker-for-ibm-cloud/administering-swarms.md deleted file mode 100644 index 7b1c96fe16..0000000000 --- a/docker-for-ibm-cloud/administering-swarms.md +++ /dev/null @@ -1,358 +0,0 @@ ---- -description: Administer swarm clusters with Docker EE for IBM Cloud -keywords: ibm, ibm cloud, logging, iaas, tutorial -title: Administer swarm clusters with Docker EE for IBM Cloud ---- - -Docker Enterprise Edition for IBM Cloud (Beta) comes with a variety of integrations that simplify the swarm administration process. - -Use the Docker EE for IBM Cloud CLI plug-in (`bx d4ic`) to provision swarm mode clusters and resources. Manage your cluster with the `bx d4ic` plug-in and the Docker EE Universal Control Plane (UCP) web UI. - -## Create swarms - -Create a Docker EE swarm cluster in IBM Cloud. - -> Your beta license allows you to provision up to 20 nodes -> -> During the beta, your cluster can have a maximum of 20 nodes, up to 14 of which can be worker nodes. If you need more nodes than this, work with your Docker representative to acquire an additional Docker EE license. - -Before you begin: - -* [Complete the setup requirements](/docker-for-ibm-cloud/index.md#prerequisites). -* Make sure that you have the appropriate [IBM Cloud infrastructure permissions](faqs.md#what-ibm-cloud-infrastructure-permissions-do-i-need). -* Log in to [IBM Cloud infrastructure](https://control.softlayer.com/), select your user profile, and under the **API Access Information** section retrieve your **API Username** and **Authentication Key**. -* [Add your SSH key to IBM Cloud infrastructure](https://knowledgelayer.softlayer.com/procedure/add-ssh-key), note its label, and locate the file path of the private SSH key on your machine. -* Retrieve the Docker EE installation URL that you received in your beta welcome email. - -To create a Docker EE for IBM Cloud cluster from the CLI: - -1. Log in to the IBM Cloud CLI. If you have a federated ID, use the `--sso` option. - - ```bash - $ bx login [--sso] - ``` - -2. Target the IBM Cloud org and space. - - ```bash - $ bx target --cf - ``` - -3. Review the `bx d4ic create` command parameters. You must provide parameters that are marked `Required`. Optional parameters are set to the default. - - | Parameter | Description | Default Value | Required? | - | ---- | ----------- | ------------- | --- | - | `--sl-user`, `-u` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **API Username** under the API Access Information section. | | Required | - | `--sl-api-key`, `-k` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **Authentication Key** under the API Access Information section. | | Required | - | `--ssh-label`, `--label` | Your IBM Cloud infrastructure SSH key label for the manager node. To create a key, [log in to IBM Cloud infrastructure](https://control.softlayer.com/) and select **Devices > Manage > SSH Keys > Add**. Copy the key label and insert it here. | | Required | - | `--ssh-key` | The path to the SSH key on your local client that matches the SSH key label in your IBM Cloud infrastructure account. | | Required | - | `--swarm-name`, `--name` | The name for your swarm and prefix for the names of each node. | | Required | - | `--docker-ee-url` | The Docker EE installation URL associated with your subscription. [Email IBM](mailto:sealbou@us.ibm.com) to get a trial subscription during the beta. | | Required | - | `--manager` | Deploy 1, 3, or 5 manager nodes. | 3 | Optional | - | `--workers`, `-w` | Deploy a minimum of 1 and maximum of 10 worker nodes. | 3 | Optional | - | `--datacenter`, `-d` | The location (data center) that you deploy the cluster to. Availabe locations are dal12, dal13, fra02, hkg02, lon04, par01, syd01, syd04, tor01, wdc06, wdc07. | wdc07 | Optional | - | `--verbose`, `-v` | Enable verbose mode | | Optional | - | `--hardware` | If "dedicated" then the nodes are created on hosts with compute instances in the same account. | Shared | Optional | - | `--manager-machine-type` | The machine type of the manager nodes: u1c.1x2, u1c.2x4, b1c.4x16, b1c.16x64, b1c.32x128, or b1c.56x242. More powerful machine types cost more, but deliver better performance. For example, u1c.2x4 is 2 cores and 4 GB memory, and b1c.56x242 is 56 cores and 242 GB memory. | b1c.4x16 | Optional | - | `--worker-machine-type` | The machine type of the worker nodes: u1c.1x2, u1c.2x4, b1c.4x16, b1c.16x64, b1c.32x128, or b1c.56x242. More powerful machine types cost more, but deliver better performance. For example, u1c.2x4 is 2 cores and 4 GB memory, and b1c.56x242 is 56 cores and 242 GB memory. | u1c.1x2 | Optional | - | `--disable-dtr-storage` | By default, the `bx d4ic create` command orders an IBM Cloud Swift API Object Storage account and creates a container named `dtr-container`. If you want to prevent this, include the `--disable-dtr-storage`. Then, [set up IBM Cloud Object Storage](dtr-ibm-cos.md) yourself so that DTR works with your cluster. | Enabled by default. | Optional | - -4. Create the cluster. Use the `--swarm-name` flag to name your cluster, and fill in the credentials, SSH, and Docker EE installation URL variables with the information that you retrieved before you began. - - ```bash - $ bx d4ic create --swarm-name my_swarm \ - --sl-user user.name.1234567 \ - --sl-api-key api-key\ - --ssh-label my_ssh_label \ - --ssh-key filepath_to_my_ssh_key \ - --docker-ee-url my_docker-ee-url - ``` - - > Set environment variables - > - > You can set your infrastructure API credentials and Docker EE installation URL as environment variables so that you do not need to include them as options when using `bx d4ic` commands. For example: - > - > export SOFTLAYER_USERNAME=user.name.1234567 - > - > export SOFTLAYER_API_KEY=api-key - > - > export D4IC_DOCKER_EE_URL=my_docker-ee-url - - -5. Note the cluster **Name**, **ID**, and **UCP Password**. - - > Swarm provisioning - > - > Your cluster is provisioned in two stages, and takes a few minutes to provision. Don't try to modify your cluster just yet! - > First, the manager node is deployed. Then, the additional infrastructure resources are deployed, including the worker nodes, DTR nodes, load balancers, subnet, and NFS volume. - - * **Provisioning Stage 1**: Check the status of the manager node: - - {% raw %} - ```bash - $ docker logs cluster-name_ID - - Apply complete! Resources: 3 added, 0 changed, 0 destroyed. - - The state of your infrastructure has been saved to the path - below. This state is required to modify and destroy your - infrastructure, so keep it safe. To inspect the complete state - use the `terraform show` command. - - State path: - - Outputs: - - manager_public_ip = 169.##.###.## - swarm_d4ic_id = ID - swarm_name = cluster-name - ucp_password = UCP-password - ``` - {% endraw %} - - * **Provisioning Stage 2**: Check the status of the cluster infrastructure: - - {% raw %} - ```bash - $ bx d4ic show --swarm-name cluster-name --sl-user user.name.1234567 --sl-api-key api_key - Getting swarm information... - Infrastructure Details - - Swarm - ID ID - Name cluster-name - Created By user.name.1234567 - - Nodes - ID Name Public IP Private IP CPU Memory Datacenter Infrakit Group - 46506407 cluster-name-mgr1 169.##.###.## 10.###.###.## 2 4096 wdc07 managers - ... - - Load Balancers - ID Name Address Type - ID-string cluster-name-mgr cluster-name-mgr-1234567-wdc07.lb.bluemix.net mgr - ... - - Subnets - ID Gateway Datacenter - ID-number 10.###.###.## wdc07 - - NFS Volumes - ID ID-number - Mount Address fsf-wdc0701b-fz.adn.networklayer.com:/ID_number/data01 - Datacenter wdc07 - Capacity 20 - Type ENDURANCE_FILE_STORAGE - Tier Level 10_IOPS_PER_GB - - OK - ``` - {% endraw %} - -After creating the cluster, [log in to Docker UCP and download the Docker UCP client certificate bundle](#use-the-universal-control-plane). - -## Use the Universal Control Plane - -Docker EE for IBM Cloud uses [Docker Universal Control Plane (UCP)](/datacenter/ucp/2.2/guides/) to provide integrated container management and security, from development to production. - -### Access UCP - -Before you begin, [create a cluster](#create-swarms). If you have the clsuter **Name**, **ID**, and **UCP Password**, proceed to Step 2. - -1. Retrieve your UCP password by using the cluster **Name** and **ID** that you made when you [created the cluster](#create-swarms). - - ```bash - $ docker logs cluster-name_ID - - ... - ucp_password = UCP-password - ... - ``` - - If you need to get the **Name** and **ID** of your cluster, run `bx d4ic list --sl-user SOFTLAYER_USERNAME --sl-api-key SOFTLAYER_API_KEY`. - {:.tip} - -2. Retrieve the **UCP URL** address. - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - ``` - -3. Copy the **UCP URL** for your cluster from the `bx d4ic list` command, and in your browser navigate to it. - -4. Log in to UCP. Your credentials are `admin` and the UCP password from the `docker logs` command, or the credentials that your admin created for you. - -### Download client certificates - -[Download the client certificate bundle](/datacenter/ucp/2.2/guides/user/access-ucp/cli-based-access/#download-client-certificates) to create objects and deploy services from a local Docker client. - -1. [Access UCP](#access-ucp). -2. Under your user name (for example, **admin**), click **My Profile**. -3. Click **Client Bundles** > **New Client Bundle**. A zip file is generated. -4. In the GUI, you are now shown a label and public key. You can edit the label by clicking the pencil icon and giving it a name, such as _d4ic-ucp_. -5. In a terminal, navigate and unzip the client bundle. - - ```bash - $ cd Downloads && unzip ucp-bundle-admin.zip - ``` - - > Keep your client bundle handy - > - > Move the certificate environment variable directory to a safe and accessible location on your machine. It contains secret information. You'll use it a lot! - -6. From the client bundle directory, update your `DOCKER_HOST` and `DOCKER_CERT_PATH` environment variables by loading the `env.sh` script contents into your environment. - - ```bash - $ source env.sh - ``` - - > Set your environment to use Docker EE for IBM Cloud - > - > Repeat this to set your environment variables each time you enter a new terminal session, or after you unset your variables, to connect to the Docker EE for IBM Cloud swarm. - -7. Verify that your certificates are being sent to Docker Engine. The command returns information on your swarm. - - ```bash - $ docker info - ``` - -## View swarm resources - -### Cluster-level resources - -To review resources used within a particular Docker EE cluster, use the CLI or UCP. - -**CLI**: The `bx d4ic` CLI lists, modifies, and automates cluster infrastructure, as well as the URLs to access UCP, DTR, or exposed Docker services. - - * To review a list of your clusters and their UCP URLs: `bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key`. - * To review details about the cluster, such as the IP address of manager nodes or the status of the cluster load balancers: `bx d4ic show --swarm-name my_swarm --sl-user user.name.1234567 --sl-api-key api_key`. - -**UCP**: The Docker EE Universal Control Plane provides a web UI to manage swarm users and deployed applications. You can view swarm-related stacks, services, containers, images, nodes, networks, volumes, and secrets. - -### Account-level resources - -For an account-level view of services and infrastructure that can be used in your swarm, log in to your [IBM Cloud](https://console.bluemix.net/) account. - -* The IBM Cloud dashboard provides information on connected IBM Cloud services in the account, such as Watson and Internet of Things. -* The IBM Cloud infrastructure portal shows account infrastructure resources such as virtual devices, storage, and networking. - -### Other resources - -To gather logging and metric data from your swarm, first [enable logging for the cluster](logging.md), and then access the data in your IBM Cloud organization and space. - -## UCP and CLIs - -Docker EE for IBM Cloud employs a flexible architecture and integration with IBM Cloud that you can use to leverage IBM Cloud resources and customize your swarm environment. Docker EE UCP exposes the standard Docker API, and as such, includes certain functions that instead should be done by using Docker EE for IBM Cloud capabilities. - -> Self-healing capabilities so you don't need to modify cluster infrastructure. -> -> Docker EE for IBM Cloud uses the InfraKit toolkit to support self-healing infrastructure. After you create the swarm, the cluster maintains that specified number of nodes. If a manager node fails, you do not need to promote a worker node to manager; the swarm self-recovers the manager node. -> -> Do not use UCP to modify a cluster's underlying infrastructure, such as adding or promoting worker nodes to managers. - -The table outlines when to use UCP and when to use the `bx d4ic` CLI for various types of tasks. - -| Task type | UCP or `bx d4ic` CLI | Description | -| --- | --- | --- | -| Swarm nodes | CLI | [Create](#create-swarms), update, modify, and [delete](#delete-swarms) swarm nodes. | -| Certificates | UCP and CLI | From UCP, [download client bundles](#download-client-certificates) after swarm is created in CLI, and every time certificates are changed. From the CLI, run the script from the client bundle downloaded from UCP. | -| Labels | UCP | [Add and modify labels](/engine/userguide/labels-custom-metadata/). If the swarm nodes are removed or modified (such as during a rolling update), the labels must be re-created. | -| Access | UCP | Control access and grant permissions by users, roles, and teams. | -| Secrets | UCP and CLI | In UCP, [manage](/datacenter/ucp/2.2/guides/user/secrets/) and [grant access](/datacenter/ucp/2.2/guides/user/secrets/grant-revoke-access/) to secrets for general usage. For IBM Cloud services, use the CLI `bx d4ic key-create` [command](cli-ref.md#bx-d4ic-key-create) to create secrets. | -| Docker services | UCP and CLI | In UCP, view and manage connected services. From the CLI, [bind IBM Cloud services](binding-services.md). | -| Apps | UCP and CLI | In UCP, view and manage connected apps. From the CLI, [deploy apps](deploy.md) and run containers. | -| Registry | UCP and CLI | For UCP, use [Docker Trusted Registry](/datacenter/dtr/2.4/guides/) installed on the manager node. From the CLI, [run Docker and IBM Cloud Container Registry commands](registry.md). | -| Networking | UCP and CLI | Each cluster has three load balancers that you can use to access and expose various services. You cannot configure these load balancer. In UCP, view networks and related resources. Do not deploy services on the same port that the HTTP Routing Mesh uses. From the CLI, [retrieve load balancer URLs and expose services](load-balancer.md). | -| Data Storage Volumes | CLI | From the CLI, [create and connect file storage volumes](persistent-data-volumes.md) to your swarm. Do NOT use UCP to create IBM Cloud infrastructure data storage volumes. | -| Logging | UCP and CLI | From UCP, can send logs to a remote syslog server. From the CLI, [enable logging and monitoring](logging.md) to IBM Cloud and access by using Grafana and Kibana GUIs. | - -## Grant user access - -For IBM Cloud account access management, consult the [IBM Cloud Identity and Access Management documentation](https://console.bluemix.net/docs/iam/quickstart.html#getstarted). - -For Docker EE cluster access management, use the [UCP Access Control documentation](/datacenter/ucp/2.2/guides/access-control/). - -## Control public network access to swarms - -By default, Docker EE for IBM Cloud uses [IBM Cloud Security Groups](https://console.bluemix.net/docs/infrastructure/security-groups/sg_index.html#getting-started-with-security-groups) to control access to your clusters by setting rules for incoming and outgoing traffic. You need to have [permissions in your IBM Cloud infrastructure account](faqs.md#what-ibm-cloud-infrastructure-permissions-do-i-need) to manage security groups so that you can provision clusters with security groups. There are two security groups: one for the DTR and worker nodes, and one for the manager nodes. - -The security group for DTR and worker nodes blocks all traffic on the public network. DTR and service load balancers communicate with these nodes through the cluster's private network. For public access to services that are running on worker nodes, [use the service load balancer](load-balancer.md#service-load-balancer). - -The security group for the manager nodes allows public network traffic to the manager nodes only through port 56422. To access the cluster's manager nodes: - -1. Log in to the IBM Cloud CLI. If you have a federated ID, use the `--sso` option. - - ```bash - $ bx login [--sso] - ``` - -2. Target the IBM Cloud org and space: - - ```bash - $ bx target --cf - ``` - -3. Retrieve your swarm name: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - ``` - -4. Get the **Public IP** of the manager you want to access, such as `my_swarm-mgr1`: - - ```bash - $ bx d4ic show --swarm-name my_swarm --sl-user user.name.1234567 --sl-api-key api_key - ``` - -5. Access the manager: - - ```bash - $ ssh -A docker@managerIP -p 56422 - ``` - -The first time that you access a manager node, you might be asked to confirm the connection and add the public IP and port to the list of known hosts. - -## Delete swarms - -Before you begin: - -* Log in to [IBM Cloud infrastructure](https://control.softlayer.com/), select your user profile, and under the **API Access Information** section retrieve your **API Username** and **Authentication Key**. -* Retrieve the label of your IBM Cloud infrastructure SSH key, and locate the file path of the private SSH key on your machine. - -To delete a swarm: - -1. Log in to the IBM Cloud CLI. If you have a federated ID, use the `--sso` option. - - ```bash - $ bx login [--sso] - ``` - -2. Target the IBM Cloud org and space: - - ```bash - $ bx target --cf - ``` - -3. Delete the swarm: - - ```bash - $ bx d4ic delete (--swarm-name my_swarm | --id swarm_ID )\ - --sl-user user.name.1234567 \ - --sl-api-key api_key \ - --ssh-key filepath_to_my_ssh_key \ - [--force] - ``` - -4. Restore the default Docker client settings by running the commands shown in the CLI: - - ```none - unset DOCKER_HOST - unset DOCKER_TLS_VERIFY - unset DOCKER_CERT_PATH - ``` - -> Cloud Object Storage is not deleted by default -> -> When you create a swarm, by default you create an IBM Cloud Swift API Object Storage account and a container named `dtr-container` so that DTR can securely store images outside the swarm. When you delete the swarm, the Cloud Object Storage account is not deleted and remains in your IBM Cloud infrastructure account. -> -> If you want to delete it, see [Delete IBM Cloud Object Storage](dtr-ibm-cos.md#delete-ibm-cloud-object-storage). If you keep the account, you can link it to future swarms by using the `--disable-dtr-storage` parameter when you [create the new swarm](#create-swarms) and then by [configuring IBM Cloud Object Storage Regional Swift API for DTR](dtr-ibm-cos.md#configure-ibm-cloud-object-storage-regional-swift-api-for-dtr). diff --git a/docker-for-ibm-cloud/binding-services.md b/docker-for-ibm-cloud/binding-services.md deleted file mode 100644 index 41c393df4f..0000000000 --- a/docker-for-ibm-cloud/binding-services.md +++ /dev/null @@ -1,180 +0,0 @@ ---- -description: Bind IBM Cloud services to swarms -keywords: ibm, ibm cloud, services, watson, AI, IoT, iaas, tutorial -title: Bind IBM Cloud services to swarms ---- - -With Docker EE for IBM Cloud, you can easily bind services to your cluster to enhance your apps with Watson, AI, Internet of Things, and other services available in the IBM Cloud catalog. - -## Bind IBM Cloud services -Before you begin: - -* Ensure that you have [set up your IBM Cloud account](/docker-for-ibm-cloud/index.md). -* [Install the IBM Cloud CLI and plug-ins](/docker-for-ibm-cloud/index.md#install-the-clis). -* [Create a cluster](administering-swarms.md). -* Get the name of the cluster to which you want to bind the service by running `bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key`. -* Identify an existing or create a new IBM Cloud service. To list existing services, run `bx service list`. -* Identify an existing registry namespace or create a registry namespace. [IBM Cloud Container Registry example](https://console.bluemix.net/docs/services/Registry/registry_setup_cli_namespace.html#registry_namespace_add). -* Review example files that are customized for an IBM Watson Conversation service, to give you an idea of how you might develop your own service files. **Note**: The steps include examples for another type of service to give you ideas for other ways you might build your files. - * Example [Dockerfile](https://github.com/docker/docker.github.io/tree/master/docker-for-ibm-cloud/scripts/Dockerfile) - * Example [docker-service.yaml file](https://github.com/docker/docker.github.io/tree/master/docker-for-ibm-cloud/scripts/docker-stack.yaml) - -There are three main steps in binding IBM Cloud services to your Docker EE for IBM Cloud cluster: - -1. Create a Docker secret. -2. Build a Docker image that uses the IBM Cloud service. -3. Create a Docker service. - -### Step 1: Create a Docker secret - -1. Log in to IBM Cloud. If you have a federated account, use the `--sso` option. - - ```bash - $ bx login [--sso] - ``` - -2. Target the org and space that has the service: - - ```bash - $ bx target --cf - ``` - -3. Create the Docker secret for the service. The `--swarm-name` is the cluster that you're binding the service to. The `--service-name` flag must match the name of your IBM Cloud service. The `--service-key` flag is used to create the Docker service YAML file. The `--cert-path` is the filepath to your cluster's UCP client bundle certificates. Include your IBM Cloud infrastructure credentials if you have not set the environment variables. - - ```bash - $ bx d4ic key-create --swarm-name my_swarm \ - --service-name my_ibm_service \ - --service-key my_secret \ - --cert-path filepath/to/certificate/repo \ - --sl-user user.name.1234567 \ - --sl-api-key api_key - ``` - -4. Verify the secret is created: - - ```bash - $ docker secret ls - ``` - -5. Update your service code to use the secret that you created. For example: - - {% raw %} - ```none - ... - // WatsonSecret holds Watson VR service keys - type WatsonSecret struct { - URL string `json:"url"` - Note string `json:"note"` - APIKey string `json:"api_key"` - } - ... - var watsonSecretName = "watson-secret" - var watsonSecrets WatsonSecret - ... - watsonSecretFile, err := ioutil.ReadFile("/run/secrets/" + watsonSecretName) - if err != nil { - fmt.Println(err.Error()) - os.Exit(1) - } - - json.Unmarshal(watsonSecretFile, &watsonSecrets) - fmt.Println("Watson URL: ", watsonSecrets.URL) - ... - msgQ.Add("api_key", watsonSecrets.APIKey) - ... - ``` - {% endraw %} - -### Step 2: Build a Docker image -1. Log in to the registry that you are using to store the image. - -2. Create a Dockerfile following [Dockerfile best practices](/engine/userguide/eng-image/dockerfile_best-practices/). - - > Docker images - > - > If you are unfamiliar with Docker images, try the [Getting Started](/get-started/). - - **Example** snippet for a Dockerfile that uses _mmssearch_ service. - - {% raw %} - ```none - FROM golang:latest - WORKDIR /go/src/mmssearch - COPY . /go/src/mmssearch - RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main . - - FROM alpine:latest - RUN apk --no-cache add ca-certificates - WORKDIR /root/ - COPY --from=0 go/src/mmssearch/main . - CMD ["./main"] - LABEL version=demo-3 - ``` - {% endraw %} - -3. Navigate to the directory of the Dockerfile, and build the image. Don't forget the period in the `docker build` command. - - ```bash - $ cd directory/path && docker build -t my_image_name . - ``` - -4. Test the image locally before pushing to your registry. - -5. Tag the image: - - ```bash - $ docker tag my_image_name registry-path/namespace/image:tag - ``` - -6. Push the image to your registry: - - ```bash - $ docker push registry-path/namespace/image:tag - ``` - -### Step 3: Create a Docker service - -1. Develop a `docker-service.yaml` file using the [compose file reference](/compose/compose-file/). - - * Save the file in an easily accessible directory, such as the one that has the Dockerfile that you used in the previous step. - * For the `image` field, use the same `registry/namespace/image:tag` path that you made in the previous step for the for the service `image` field. - * For the service `environment` field, use a service environment, such as a workspace ID, from the IBM Cloud service that you made before you began. - * **Example** snippet for a `docker-service.yaml` that uses _mmssearch_ with a Watson secret. - - {% raw %} - ```none - mmssearch: - image: mmssearch:latest - build: . - ports: - - "8080:8080" - secrets: - - source: watson-secret - target: watson-secret - secrets: - watson-secret: - external: true - ``` - {% endraw %} - -2. Connect to your cluster by setting the environment variables from the [client certificate bundle that you downloaded](administering-swarms.md#download-client-certificates). - - ```bash - $ cd filepath/to/certificate/repo && source env.sh - ``` - -3. Navigate to the directory of the `docker-service.yaml` file. - -4. Deploy the service: - - ```bash - $ docker stack deploy my_service_name \ - --with-registry-auth \ - --compose-file docker-stack.yaml - ``` - -5. Verify that the service has been deployed to your cluster: - - ```bash - $ docker service ls - ``` diff --git a/docker-for-ibm-cloud/cli-ref.md b/docker-for-ibm-cloud/cli-ref.md deleted file mode 100644 index f0dff78458..0000000000 --- a/docker-for-ibm-cloud/cli-ref.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -description: CLI reference for Docker for IBM Cloud -keywords: ibm, ibm cloud, cli, iaas, reference -title: CLI reference for Docker EE for IBM Cloud ---- - -With the Docker EE for IBM Cloud (beta) plug-in for the IBM Cloud CLI, you can manage your Docker swarms alongside other IBM Cloud operations. - -## Docker for IBM Cloud plug-in commands - -Refer to these commands to manage your Docker EE for IBM Cloud clusters. - -* To view a list of commands, run the `bx d4ic help` command. -* For help with a specific command, run `bx d4ic help [command_name]`. -* To view the version of your Docker for IBM Cloud plug-in, run the `bx d4ic version` command. - - -| Commands | | | -|---|---|---| -| [bx d4ic create](#bx-d4ic-create) | [bx d4ic delete](#bx-d4ic-delete) | [bx d4ic key-create](#bx-d4ic-key-create) | -| [bx d4ic list](#bx-d4ic-list) | [bx d4ic logmet](#bx-d4ic-logmet) | [bx d4ic show](#bx-d4ic-show) | - -## bx d4ic create - -Create a Docker EE swarm cluster. - -### Usage - -```bash -$ bx d4ic create --sl-user SOFTLAYER_USERNAME --sl-api-key SOFTLAYER_API_KEY --ssh-label SSH_KEY_LABEL --ssh-key SSH_KEY_PATH --docker-ee-url DOCKER_EE_URL --swarm-name SWARM_NAME [--datacenter DATACENTER] [--workers NUMBER] [--managers NUMBER] [--hardware SHARED|DEDICATED] [--manager-machine-type MANAGER_MACHINE_TYPE] [--worker-machine-type WORKER_MACHINE_TYPE] [--disable-dtr-storage] [-v] [--version VERSION] -``` - -### Options - -| Name, shorthand | Description | Default | Required? | -|---|---|---|---| -| `--sl-user`, `-u` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **API Username** under the API Access Information section. | | Required | -| `--sl-api-key`, `-k` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **Authentication Key** under the API Access Information section. | | Required | -| `--ssh-label`, `--label` | Your IBM Cloud infrastructure SSH key label for the manager node. To create a key, [log in to IBM Cloud infrastructure](https://control.softlayer.com/) and select **Devices > Manage > SSH Keys > Add**. Copy the key label and insert it here. | | Required | -| `--ssh-key` | The path to the SSH key on your local client that matches the SSH key label in your IBM Cloud infrastructure account. | | Required | -| `--swarm-name`, `--name` | The name for your swarm and prefix for the names of each node. | | Required | -| `--docker-ee-url` | The Docker EE installation URL associated with your subscription. [Email IBM](mailto:sealbou@us.ibm.com) to get a trial subscription during the beta. | | Required | -| `--manager` | Deploy 1, 3, or 5 manager nodes. | 3 | Optional | -| `--workers`, `-w` | Deploy a minimum of 1 and maximum of 10 worker nodes. | 3 | Optional | -| `--datacenter`, `-d` | The location (data center) that you deploy the cluster to. Availabe locations are dal12, dal13, fra02, hkg02, lon04, par01, syd01, syd04, tor01, wdc06, wdc07. | wdc07 | Optional | -| `--verbose`, `-v` | Enable verbose mode | | Optional | -| `--hardware` | If "dedicated" then the nodes are created on hosts with compute instances in the same account. | Shared | Optional | -| `--manager-machine-type` | The machine type of the manager nodes: u1c.1x2, u1c.2x4, b1c.4x16, b1c.16x64, b1c.32x128, or b1c.56x242. Higher machine types cost more, but deliver better performance: for example, u1c.2x4 is 2 cores and 4 GB memory, and b1c.56x242 is 56 cores and 242 GB memory. | b1c.4x16 | Optional | -| `--worker-machine-type` | The machine type of the worker nodes: u1c.1x2, u1c.2x4, b1c.4x16, b1c.16x64, b1c.32x128, or b1c.56x242. Higher machine types cost more, but deliver better performance: for example, u1c.2x4 is 2 cores and 4 GB memory, and b1c.56x242 is 56 cores and 242 GB memory. | u1c.1x2 | Optional | -| `--disable-dtr-storage` | By default, the `bx d4ic create` command orders an IBM Cloud Swift API Object Storage account and creates a container named `dtr-container`. If you want to prevent this, include the `--disable-dtr-storage`. Then, [set up IBM Cloud Object Storage](dtr-ibm-cos.md) yourself so that DTR works with your cluster. | Enabled by default. | Optional | -| `--version` | The Docker EE version of the created cluster. For the beta, only the default version is available. | Default version | Optional | - - -## bx d4ic delete - -Delete a Docker EE swarm cluster. - -### Usage - -```bash -$ bx d4ic delete (--swarm-name SWARM_NAME | --id ID) --sl-user SOFTLAYER_USERNAME --sl-api-key SOFTLAYER_API_KEY --ssh-label SSH_KEY_LABEL --ssh-key SSH_KEY_PATH [--insecure] [--force] -``` - -### Options - -| Name, shorthand | Description | Default | Required? | -|---|---|---|---| -| `--sl-user`, `-u` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **API Username** under the API Access Information section. | | Required | -| `--sl-api-key`, `-k` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **Authentication Key** under the API Access Information section. | | Required | -| `--ssh-label`, `--label` | Your IBM Cloud infrastructure SSH key label for the manager node. To create a key, [log in to IBM Cloud infrastructure](https://control.softlayer.com/) and select **Devices > Manage > SSH Keys > Add**. Copy the key label and insert it here. | | Required | -| `--ssh-key` | The path to the SSH key on your local client that matches the SSH key label in your IBM Cloud infrastructure account. | | Required | -| `--swarm-name`, `--name` | The name of your cluster. If the name is not provided, you must provide the ID. | | Required | -| `--id` | The ID of your cluster. If the ID is not provided, you must provide the name. | | Required | -| `--verbose`, `-v`| Enable verbose mode | | Optional | -| `--insecure` | Do not verify the identity of the remote host and accept any host key. This is not recommended. | | Optional | -| `--force`, `-f` | Force deletion without confirmation. | | Optional | - -## bx d4ic key-create - -Create a key for a service instance. Before you can create a key, create an IBM Cloud service. - -### Usage - -```bash -$ bx d4ic key-create (--swarm-name SWARM_NAME | --id ID) --cert-path CERT_PATH --service-name SERVICE_NAME --service-key SERVICE_KEY --sl-user SOFTLAYER_USERNAME --sl-api-key SOFTLAYER_API_KEY -``` - -### Options - -| Name, shorthand | Description | Default | Required? | -|---|---|---|---| -| `--cert-path`, `--cp` | The directory containing the [Docker UCP client certificate bundle](administering-swarms.md#download-client-certificates). | | Required | -| `--swarm-name`, `--name` | The name of your cluster. If the name is not provided, you must provide the ID. | | Required | -| `--id` | The ID of your cluster. If the ID is not provided, you must provide the name. | | Required | -| `--service-name`, `--name` | Name of an IBM Cloud service. | | Required | -| `--service-key`, `--key` | Key of an IBM Cloud service. | | Required | -| `--sl-user`, `-u` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **API Username** under the API Access Information section. | | Required | -| `--sl-api-key`, `-k` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **Authentication Key** under the API Access Information section. | | Required | - -## bx d4ic list - -List the clusters in your Docker EE for IBM Cloud account. - -### Usage - -```bash -$ bx d4ic list --sl-user SOFTLAYER_USERNAME --sl-api-key SOFTLAYER_API_KEY [--json] -``` - -### Options - -| Name, shorthand | Description | Default | Required? | -|---|---|---|---| -| `--sl-user`, `-u` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **API Username** under the API Access Information section. | | Required | -| `--sl-api-key`, `-k` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **Authentication Key** under the API Access Information section. | | Required | -| `--json` | Prints the output as JSON. | | Optional | - - -## bx d4ic logmet - -Enable or disable transmission of container log and metric data to IBM Cloud [Log Analysis](https://console.bluemix.net/docs/services/CloudLogAnalysis/log_analysis_ov.html#log_analysis_ov) and [Monitoring](https://console.bluemix.net/docs/services/cloud-monitoring/monitoring_ov.html#monitoring_ov) services. - -### Usage - -```bash -$ bx d4ic logmet (--swarm-name SWARM_NAME | --id ID) --cert-path CERT_PATH --sl-user SOFTLAYER_USERNAME --sl-api-key SOFTLAYER_API_KEY [--enable | --disable] -``` - -### Options - -| Name, shorthand | Description | Default | Required? | -|---|---|---|---| -| `--swarm-name`, `--name` | The name of your cluster. If the name is not provided, you must provide the ID. | | Required | -| `--id` | The ID of your cluster. If the ID is not provided, you must provide the name. | | Required | -| `--cert-path`, `--cp` | The directory containing the [Docker UCP client certificate bundle](administering-swarms.md#download-client-certificates). | | Required | -| `--sl-user`, `-u` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **API Username** under the API Access Information section. | | Required | -| `--sl-api-key`, `-k` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **Authentication Key** under the API Access Information section. | | Required | -| `--enable` | Send log activity to IBM Cloud [Log Analysis](https://console.bluemix.net/docs/services/CloudLogAnalysis/log_analysis_ov.html#log_analysis_ov) and [Monitoring](https://console.bluemix.net/docs/services/cloud-monitoring/monitoring_ov.html#monitoring_ov) services to the ORG and SPACE that you're currently logged in to. You must include either `--enable` or `--disable` in the command. | | Optional | -| `--disable` | Disable sending log activity to IBM Cloud Log Analysis and Monitoring services. You must include either `--enable` or `--disable` in the command. | | Optional | - -## bx d4ic show - -Show information about the IBM Cloud infrastructure components, such as load balancer URLs, of a specific cluster. - -### Usage - -```bash -$ bx d4ic show (--swarm-name SWARM_NAME | --id ID) --sl-user SOFTLAYER_USERNAME --sl-api-key SOFTLAYER_API_KEY [--json] -``` - -### Options - -| Name, shorthand | Description | Default | Required? | -|---|---|---|---| -| `--sl-user`, `-u` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **API Username** under the API Access Information section. | | Required | -| `--sl-api-key`, `-k` | [Log in to IBM Cloud infrastructure](https://control.softlayer.com/), select your profile, and locate your **Authentication Key** under the API Access Information section. | | Required | -| `--id` | The ID of the cluster. You must provide either the ID or the swarm name. | | Required | -| `--swarm-name`, `--name` | The name of your cluster. You must provide either the name or the ID.| | Required | -| `--json` | Prints the output as JSON. | | Optional | diff --git a/docker-for-ibm-cloud/deploy.md b/docker-for-ibm-cloud/deploy.md deleted file mode 100644 index bf630f8ce4..0000000000 --- a/docker-for-ibm-cloud/deploy.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -description: Deploy Apps on Docker EE for IBM Cloud -keywords: ibm cloud, ibm, iaas, deploy -title: Deploy your app on Docker EE for IBM Cloud ---- - -## Deploy apps -Before you begin: - -* Ensure that you [completed the account prerequisites](/docker-for-ibm-cloud/index.md). -* [Create a swarm](administering-swarms.md#create-swarms). -* [Set the environment variables to your swarm](administering-swarms.md#download-client-certificates). -* Review [best practices for creating a Dockerfile](/engine/userguide/eng-image/dockerfile_best-practices/) for your app's image. -* Review [Docker Compose file reference](/compose/compose-file/) for creating a YAML to define services, networks, or volumes that your app uses. - -Steps: - -* To deploy services and applications, see the [UCP documentation](/datacenter/ucp/2.2/guides/user/services/deploy-a-service/). -* To deploy IBM Cloud services such as Watson, see [Binding IBM Cloud services to swarms](binding-services.md). - -## Run apps -After deploying an app to the cluster, you can create containers and services by using Docker commands such as `docker run`. - -You can run websites too. Ports exposed with `-p` are automatically exposed -through the platform load balancer. For example: - - ```bash - $ docker service create nginx \ - --name nginx \ - -p 80:80 - ``` - -Learn more about [load balancing in Docker EE for IBM Cloud](load-balancer.md). - -### Execute Docker commands in all swarm nodes - -You might need to execute a Docker command in all the nodes across the swarm, such as when installing a volume plug-in. Use the `swarm-exec` tool: - - ```bash - $ swarm-exec {Docker command} - ``` - -The following example installs a test plug-in in all the nodes in the swarm: - - ```bash - $ swarm-exec docker plugin install --grant-all-permissions mavenugo/test-docker-netplugin - ``` - -The `swarm-exec` tool internally uses the Docker global-mode service that runs a task on -each node in the cluster. The task in turn executes the `docker` -command. The global-mode service also guarantees that when a new node is added -to the cluster or during upgrades, a new task is executed on that node and hence -the `docker` command is automatically executed. - -### Distributed Application Bundles - -To deploy complex multi-container apps, you can use [distributed application -bundles](/compose/bundles.md). You can either run `docker deploy` to deploy a -bundle on your machine over an SSH tunnel, or copy the bundle (for example using -`scp`) to a manager node, SSH into the manager, and then run `docker deploy` (if -you have multiple managers, ensure that your session is on one that -has the bundle file). - -> SSH into manager -> -> Remember, the port to access your manager is 56422. For example: `ssh -A docker@managerIP -p 56422`. - -A good sample app to test application bundles is the [Docker voting -app](https://github.com/docker/example-voting-app). - -By default, apps deployed with bundles do not have ports publicly exposed. -When you change port mappings for services, Docker automatically updates the -underlying platform load balancer: - - ```bash - $ docker service update --publish-add 80:80 my_service - ``` - -> Publishing services on ports -> -> Your cluster's service load balancer can expose up to 10 ports. [Learn more](load-balancer.md#service-load-balancer). - -### Images in private repos - -To create swarm services using images in private repos, first make sure that you're -authenticated and have access to the private repo, and then create the service with -the `--with-registry-auth` flag. The following example assumes you're using Docker -Hub: - - ```bash - $ docker login - ... - $ docker service create --with-registry-auth user/private-repo - ... - ``` - -The swarm caches and uses the cached registry credentials when creating containers for the service. - -See [Using images with Docker for IBM Cloud](registry.md) for more information about using IBM Cloud Container Registry and Docker Trusted Registry. diff --git a/docker-for-ibm-cloud/dtr-ibm-cos.md b/docker-for-ibm-cloud/dtr-ibm-cos.md deleted file mode 100644 index d47851a321..0000000000 --- a/docker-for-ibm-cloud/dtr-ibm-cos.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -description: Set up IBM Cloud Object Storage for Docker Trusted Registry -keywords: ibm, ibm cloud, registry, dtr, iaas, tutorial -title: Set up IBM Cloud Object Storage for Docker Trusted Registry ---- - -# Use DTR with Docker EE for IBM Cloud - -To use [Docker Trusted Registry (DTR)](/datacenter/dtr/2.4/guides/) with Docker EE for IBM Cloud, DTR stores images on [IBM Cloud Object Storage (COS)](https://ibm-public-cos.github.io/crs-docs/). - -> COS for DTR enabled by default -> -> When you [create a cluster](administering-swarms.md#create-swarms), Docker EE for IBM Cloud orders an IBM Cloud Swift API Object Storage account and creates a container named `dtr-container`. -> -> If you used the `--disable-dtr-storage` parameter to prevent the `dtr-container` from being created, then follow the steps on this page to configure DTR to store images using IBM COS. You can order a new COS account, or use an existing one. -> -> Whether you use the default Swift or set up S3, the COS persists after you delete your cluster. To permanently remove the COS, see [Delete IBM Cloud Object Storage](#delete-ibm-cloud-object-storage). - -With IBM Cloud Object Storage S3, your DTR files are stored in "buckets", and users have permissions to read, write, and delete files from those buckets. When you integrate DTR with IBM Cloud Object Storage, DTR sends all read and write operations to the COS bucket so that the images are persisted there. - -## Configure DTR to use IBM Cloud Object Storage - -To use IBM Cloud Object Storage, make sure that you have [an IBM Cloud Pay As You Go or Subscription account](https://console.bluemix.net/docs/pricing/index.html#accounts) that can provision infrastructure resources. You might need to [upgrade or link your account](https://console.bluemix.net/docs/pricing/index.html#accounts). - -If you already have an IBM Cloud Object Storage account that you want to use for your swarm, you can skip the create instructions and configure your [S3](#configure-the-s3-bucket-access-and-permissions-in-dtr) or [Swift](#configure-the-regional-swift-api-container-access-in-dtr) Cloud Object Storage accounts for DTR. - -## Create an IBM Cloud Object Storage account instance - -1. Log in to your [IBM Cloud infrastructure](https://control.softlayer.com/) account. - -2. Click **Storage** > **Object Storage** > **Order Object Storage**. - -3. Select the storage type, **Cloud Object Storage - S3 API** or **Cloud Object Storage - Standard Regional Swift API**, then click **Continue**. - -4. Select the **Master Service Agreement** acknowledge check box, then click **Place Order**. - -5. The new object storage account instance is provisioned shortly, and appears in the table. Click the **Short Description** field to identify what the instance is for, such as **my-d4ic-dtr-cos**. - -The next steps depend on which type of COS you created: - -* [Configure S3 API](#configure-ibm-cloud-object-storage-s3-for-dtr) -* [Configure Regional Swift API](#configure-ibm-cloud-object-storage-regional-swift-api-for-dtr) - -## Configure IBM Cloud Object Storage S3 for DTR - -Create and configure your COS S3 bucket to use with DTR. - -### Create an IBM Cloud Object Storage bucket - -Before you begin, [create an IBM Cloud Object Storage account instance](#create-an-ibm-cloud-object-storage-account-instance). - -1. From your [IBM Cloud infrastructure](https://control.softlayer.com/) **Storage** > **Object Storage** page, select the storage account instance that you made previously. - -2. From **Manage Buckets**, click the **Add Bucket** icon. - -3. Configure your bucket. - * For **Resiliency/Location**, select the region that you want to use, such as **Region - us south**. For higher resiliency, you can select a **Cross Region** option. - * For **Storage Class**, keep the default of **Standard**. - * For the **Bucket Name**, give your bucket a name, such as **dtr**. The name must be unique within your IBM Cloud infrastructure COS account; [learn more about naming requirements](https://ibm-public-cos.github.io/crs-docs/storing-and-retrieving-objects#using-buckets). - -4. Click **Add**. - -Next, [configure the S3 bucket access and permissions in DTR](#configure-the-s3-bucket-access-and-permissions-in-dtr). - -### Configure the S3 bucket access and permissions in DTR - -Once you’ve created a bucket, you can configure DTR to use it. You use the information from your IBM Cloud Object Storage instance to configure DTR external storage. - -Before you begin: - -* Retrieve your [IBM Cloud infrastructure user name and API key](https://knowledgelayer.softlayer.com/procedure/retrieve-your-api-key). -* [Create a cluster](administering-swarms.md#create-swarms) and [set up UCP](administering-swarms.md#use-the-universal-control-plane). -* Get your UCP password by running `$ docker logs mycluster_ID`. - -Steps: - -1. From your [IBM Cloud infrastructure](https://control.softlayer.com/) **Storage** > **Object Storage** page, select the storage account instance that you made previously. - -2. Select **Access & Permissions**. Keep this page handy, as you use its information to fill in the DTR external storage required fields later in these steps. - -3. Retrieve your cluster's DTR URL. If you don't remember your cluster's name, you can use the `bx d4ic list` command: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - $ bx d4ic show --swarm-name mycluster --sl-user user.name.1234567 --sl-api-key api_key - ... - Load Balancers - ID Name Address Type - ... - ID mycluster-dtr mycluster-dtr-1234567-wdc07.lb.bluemix.net dtr - ``` - -4. Log in to DTR with your credentials of `admin` and the UCP password that you previously retrieved, or the credentials that your admin assigned you. - - ```none - https://mycluster-dtr-1234567-wdc07.lb.bluemix.net - ``` - -5. From the DTR GUI, navigate to **Settings** > **Storage**. - -6. Choose **Cloud** storage type, and then select the **Amazon S3** cloud storage provider. - -7. Fill in the **S3 Settings** form with the information from your IBM Cloud Object Storage **dtr** bucket. The following table describes the required fields and what information to include: - - | Field | Description of what to include | - | --- | --- | - | Root directory | The path in the bucket where images are stored. You can leave this blank. | - | AWS Region name | The AWS region does not affect IBM COS, so you can fill it in with any region, such as us-east-2. | - | S3 bucket name | The name of the IBM COS bucket that you previously made, **dtr**. | - | AWS access key | From **Access & Permissions** in your IBM COS bucket, expand **Access Keys** and include your **Access Key ID**. | - | AWS secret key | From **Access & Permissions** in your IBM COS bucket, expand **Access Keys** and include your **Secret Access Key**. | - | Region endpoint | From **Access & Permissions** in your IBM COS bucket, expand **Region Endpoints** and include the **Public** endpoint for the region that you created your COS bucket in, such as **us-south**: `s3.us-south.objectstorage.softlayer.net`. | - -8. From the DTR GUI, click **Save**. - - -## Configure IBM Cloud Object Storage Regional Swift API for DTR - -Create and configure your COS Regional Swift API container to use with DTR. - -### Create an IBM Cloud Object Storage Regional Swift API container - -Before you begin, [create an IBM Cloud Object Storage account instance](#create-an-ibm-cloud-object-storage-account-instance). You also can reuse a COS Regional Swift API account that you made with a previously deleted swarm. When you [create a new swarm](administering-swarms.md#create-swarms), include the `--disable-dtr-storage` parameter and then follow these steps to reuse the COS account. - -1. From your [IBM Cloud infrastructure](https://control.softlayer.com/) **Storage** > **Object Storage** page, select the storage account instance that you made previously. - -2. Select a data center location within the region that you created your swarm in. For example, by default swarms are created in `wdc07`, so select **Washington 1, wdc - wdc01**. - - | Docker for IBM Cloud location | Cloud Object Storage location | - | --- | --- | - | Dallas `dal12`, `dal13` | Dallas 5 `dal - dal05` | - | Frankfurt `fra02` | Frankfurt 2 `fra - fra02` | - | Hong Kong `hgk02` | Hong Kong 2 `hkg - hkg02` | - | London `lon04` | London 2 `lon - lon02` | - | Paris `par01` | Paris 1 `par - par01` | - | Sydney `syd01`, `syd04` | Sydney 1 `syd - syd01` | - | Toronto `tor01` | Toronto 1 `tor - tor01` | - | Washington DC `wdc06`, `wdc07`| Washington 1 `wdc - wdc01` | - -3. Click **Add Container**. - -4. Name the container `dtr-container`. - -5. Click the **View Credentials** link. - -6. Copy the following information: - - * **Authentication Endpoint**: Public URL. For example, `https://wdc.objectstorage.softlayer.net/auth/v1.0/`. - * **Username**: The user name for the COS account. For example, `IBMOS1234567-01:user.name.1234567`. - * **API Key (Password)**: An alphanumeric password for the COS account. - -Next, [configure the Regional Swift API container access and permissions in DTR](#configure-the-regional-swift-api-container-access-in-dtr). - -### Configure the Regional Swift API container access in DTR - -Once you’ve created a COS Swift API container, you can configure DTR to use it. You use the information from your IBM Cloud Object Storage instance to configure DTR external storage. - -Before you begin: - -* Retrieve your [IBM Cloud infrastructure user name and API key](https://knowledgelayer.softlayer.com/procedure/retrieve-your-api-key). -* [Create a cluster](administering-swarms.md#create-swarms) and [set up UCP](administering-swarms.md#use-the-universal-control-plane). -* Get your UCP password by running `$ docker logs mycluster_ID`. - -Steps: - -1. Retrieve the container name, public authentication endpoint, user name, and API key that you copied from the previous step. - -2. Retrieve your cluster's DTR URL. If you don't remember your cluster's name, you can use the `bx d4ic list` command: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - $ bx d4ic show --swarm-name mycluster --sl-user user.name.1234567 --sl-api-key api_key - ... - Load Balancers - ID Name Address Type - ... - ID mycluster-dtr mycluster-dtr-1234567-wdc07.lb.bluemix.net dtr - ``` - -3. Log in to DTR with your credentials of `admin` and the UCP password that you previously retrieved, or the credentials that your admin assigned you. - - ```none - https://mycluster-dtr-1234567-wdc07.lb.bluemix.net - ``` - -4. From the DTR GUI, navigate to **Settings** > **Storage**. - -5. Choose **Cloud** storage type, and then select the **OpenStack Swift** cloud storage provider. - -6. Fill in the **Swift Settings** form with the information from your IBM Cloud Object Storage **dtr-container** container: - - * **Authorization URL**: Fill in the public authentical endpoint that you previously retrieved. For example, `https://wdc.objectstorage.softlayer.net/auth/v1.0/`. - * **Username**: Fill in the COS account user name that you previously retrieved. For example, `IBMOS1234567-01:user.name.1234567`. - * **Password**: Fill in the COS account API Key (Password) that you previously retrieved. - * **Container**: Fill in the container's name that you previously made, such as `dtr-container`. - -7. From the DTR GUI, click **Save**. - -## Configure your client - -Docker EE for IBM Cloud uses a TLS certificate in its storage backend, so you must configure your Docker Engine to trust DTR. - -Before you begin: - -* Retrieve your [IBM Cloud infrastructure user name and API key](https://knowledgelayer.softlayer.com/procedure/retrieve-your-api-key). -* [Create a cluster](administering-swarms.md#create-swarms) and [set up UCP](administering-swarms.md#use-the-universal-control-plane). -* Get your UCP password by running `$ docker logs mycluster_ID`. -* [Configure DTR to use IBM Cloud Object Storage](#configure-dtr-to-use-ibm-cloud-object-storage). - -1. List your swarm cluster's name and then retrieve its DTR URL: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - $ bx d4ic show --swarm-name mycluster --sl-user user.name.1234567 --sl-api-key api_key - ... - Load Balancers - ID Name Address Type - ... - ID mycluster-dtr mycluster-dtr-1234567-wdc07.lb.bluemix.net dtr - ``` - -2. Navigate to the DTR page for certificate authority by appending to the DTR URL: `/ca`. Log in with your credentials of `admin` and the UCP password that you previously retrieved, or the credentials that your admin assigned you. - - ```none - https://mycluster-dtr-1234567-wdc07.lb.bluemix.net/ca - ``` - -3. Follow the OS-specific instructions to [configure your host](/datacenter/dtr/2.4/guides/user/access-dtr/) to use the DTR CA. - -## Verify that DTR is running - -Verify that DTR is set up properly by [pulling and pushing an image](/datacenter/dtr/2.4/guides/user/manage-images/pull-and-push-images/). - -## Delete IBM Cloud Object Storage - -1. Log in to your [IBM Cloud infrastructure account](https://control.softlayer.com/). - -2. Select **Storage** > **Object**. - -3. For the object storage **Account Name** that you want to delete, click the cancel icon. - - > Find your object storage account name - > - > You can see the name of the swarm associated with the object storage account in the description field. - > Alternatively, you can find the object storage account name for your swarm by running `bx d4ic show --swarm-name my_swarm --sl-user user.name.1234567 --sl-api-key api_key`. - -4. Choose when you want to cancel the object storage account and click **Continue**. - -5. Check the acknowledgement and click **Cancel Object Storage Account**. diff --git a/docker-for-ibm-cloud/faqs.md b/docker-for-ibm-cloud/faqs.md deleted file mode 100644 index a0cae1e152..0000000000 --- a/docker-for-ibm-cloud/faqs.md +++ /dev/null @@ -1,176 +0,0 @@ ---- -description: Frequently asked questions -keywords: ibm faqs -title: Docker for IBM Cloud frequently asked questions (FAQs) ---- - -## How do I sign up? -Docker EE for IBM Cloud is an unmanaged, native Docker environment within IBM Cloud that runs Docker Enterprise Edition software. Docker EE for IBM Cloud is available on **December 20th 2017 as a closed Beta**. - -[Request access to the beta](mailto:sealbou@us.ibm.com). Once you do, we'll be in touch shortly! - -## What IBM Cloud infrastructure permissions do I need? - - To provision the resources that make up a Docker swarm, the account administrator needs to enable certain permissions for users in the [IBM Cloud infrastructure customer portal](https://control.softlayer.com/). - - You can navigate to user permissions by going to **Account > Users > User name > Permissions**. - - Make sure that you enable the permissions in the following table. - - * The **View Only** user role does not have any of these enabled by default. - * The **Basic User** role has some of these enabled by default. - * The **Super User** role has most of these enabled by default. - - > Save your setting changes! - > - > Don't forget to click **Set Permissions** as you go through the tabs of each permission set so that you don't lose your settings. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 1. The minimum user permissions that are required to provision and manage a Docker EE swarm mode cluster for IBM Cloud. -
Permissions setDescriptionRequired permissions
DevicesConnect to and configure your VSI, load balancers, and firewalls. -
    -
  • View hardware detail
  • -
  • View virtual server details
  • -
  • Hardware firewall
  • -
  • Software firewall manage
  • -
  • Manage load balancers
  • -
  • Manage device monitoring
  • -
  • Reboot server and view IPMI system information
  • -
  • Issue OS Reloads and initial rescue kernel1
  • -
  • Manage port control
  • -
-
NetworkProvision, connect, and expose IP addresses. -
    -
  • Add compute with public network port2
  • -
  • View bandwidth statistics
  • -
  • Add IP addresses
  • -
  • Manage email delivery service
  • -
  • Manage network VLAN spanning1
  • -
  • Manage security groups2
  • -
ServicesProvision and manage services such as CDN, DNS records, SSH keys, NFS storage volumes. -
    -
  • View CDN bandwidth statistics
  • -
  • Vulnerability scanning
  • -
  • Manage CDN account1
  • -
  • Manage CDN file transfers1
  • -
  • View licenses
  • -
  • Manage DNS, reverse DNS, and WHOIS
  • -
  • Antivirus/spyware
  • -
  • Host IDS
  • -
  • Manage SSH keys1
  • -
  • Manage storage1
  • -
  • View Certificates (SSL)1
  • -
  • Manage Certificates (SSL)1
  • -
-
AccountGeneral settings to provision or remove services and instances. -
    -
  • View account summary
  • -
  • Manage notification subscribers
  • -
  • Add/upgrade cloud instances1
  • -
  • Cancel server1
  • -
  • Cancel services1
  • -
  • Add server1
  • -
  • Add/upgrade services1
  • -
-
- -`1`: A **Basic User** needs these permissions added to the account. -{: id="edge-footnote1" } - -`2`: Both **Basic** and **Super** users need these permissions added to the account. -{: id="edge-footnote2" } - -## Which IBM Cloud region and locations (data centers) will this work with? - -Docker EE for IBM Cloud is available in the following IBM Cloud regions and locations (data centers). - -| Region | Region Prefix | Cities | Available locations | -| --- | --- | --- | --- | -| Frankfurt region | `eu-de`| Frankfurt, Paris | `fra02`, `par01` | -| United Kingdom | `eu-gb` | London | `lon04` | -| Sydney | `au-syd` | Hong Kong, Sydney | `hkg02`, `syd01`, `syd04` | -| US South | `ng` | Dallas, Toronto, Washington DC | `dal12`, `dal13`, `tor01`, `wdc06`, `wdc07`| - -> Default location -> -> By default, clusters are created in US South, `wdc07`. - -## Where are my container logs and metrics? - -You must enable logging. See [Enabling logging and metric data for your swarm](logging.html) for more information. - -## Why don't `bx d4ic` commands work? - -The Docker EE for IBM Cloud CLI plug-in simplifies your interaction with IBM Cloud infrastructure resources. As such, many `bx d4ic` commands require you to provide your infrastructure account user name and API key credentials as options during the command (`--sl-user --sl-api-key `). - -Instead of including these in each command, you can [set your environment variables](/docker-for-ibm-cloud/index.md#set-infrastructure-environment-variables). - -## Why can't I target an organization or space in IBM Cloud? - -Before you can target an organization or space in IBM Cloud, the account owner or administrator must set up the organization or space. See [Creating organizations and spaces](https://console.bluemix.net/docs/admin/orgs_spaces.html#orgsspacesusers) for more information. - -## Can I manually change the load balancer configuration? - -No. If you make any manual changes to the load balancer, they are removed the next time that the load balancer is updated or swarm changes are made. This is because the swarm service configuration is the source of record for service ports. If you add listeners to the load balancer manually, they could conflict with what is in cluster, and cause issues. - -## How do I run administrative commands? - -SSH into a manager node. Manager nodes are accessed on port 56422. - -**Tip**: Because this port differs from the default (-p 22), you can add an alias to your `.profile` to make the SSH process simpler: - -```none -alias ssh-docker='function __t() { ssh-keygen -R [$1]:56422 > /dev/null 2>&1; ssh -A -p 56422 -o StrictHostKeyChecking=no docker@$1; unset -f __t; }; __t' -``` - -## Can I run my containers in Kubernetes clusters? - -Docker EE for IBM Cloud supports swarm clusters. If you are looking for the IBM Cloud Container Service for Kubernetes clusters, see the [IBM Cloud documentation](https://console.bluemix.net/docs/containers/container_index.html). - -## Are there any known issues? - -Yes. News, updates, and known issues are recorded by version on the [Release notes](release-notes.md) page. - -## Where do I report problems or bugs? - -Contact us through email at docker-for-ibmcloud-beta@docker.com. - -If your stack is misbehaving, run the following diagnostic tool from one of the managers to collect your docker logs and send them to Docker: - -```bash -$ docker-diagnose -OK hostname=manager1 -OK hostname=worker1 -OK hostname=worker2 -Done requesting diagnostics. -Your diagnostics session ID is 1234567890-xxxxxxxxxxxxxx -Please provide this session ID to the maintainer debugging your issue. -``` - -> **Note**: Your output may be slightly different from the above, depending on your swarm configuration. diff --git a/docker-for-ibm-cloud/ibm-registry.md b/docker-for-ibm-cloud/ibm-registry.md deleted file mode 100644 index eb17f3a9a1..0000000000 --- a/docker-for-ibm-cloud/ibm-registry.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -description: Use Docker images stored in IBM Cloud Container Registry -keywords: ibm, ibm cloud, registry, iaas, tutorial -title: Use images stored in IBM Cloud Container Registry ---- - -# Use IBM Cloud Container Registry to securely store your Docker images -[IBM Cloud Container Registry](https://www.ibm.com/cloud/container-registry) works with Docker EE for IBM Cloud to provide a secure image registry to use when creating swarm services and containers. - -## Install the CLI and set up a namespace -Follow the [Getting Started with IBM Cloud Container Registry](https://console.bluemix.net/docs/services/Registry/index.html) instructions to install the registry CLI and set up a namespace. - -## Log in to Docker with private registry credentials - -### Log in with IBM Cloud Container Registry -You can place the credentials of your IBM Cloud account into Docker by running the registry login command: - -```bash -$ bx cr login -``` - -The `bx cr login` command periodically expires, so you might need to run the command again when working with Docker or use a token. - -### Log in with IBM Cloud Container Registry tokens -To prevent repeatedly logging in with `bx cr login`, you can create a non-expiring registry token with read-write permissions to use with Docker. Each token that you create is unique to the registry region. Repeat the steps for each registry region that you want to use with Docker. - -1. [Create a registry token](https://console.bluemix.net/docs/services/Registry/registry_tokens.html#registry_tokens_create). -2. Instead of using the `bx cr login` command, log in to Docker with the registry token. Target the region for which you are using the registry, such as `ng` for US South: - ```bash - $ docker login -u token -p my_registry_token registry.ng.bluemix.net - ``` - -### Log in with other private registries -You can also log in to Docker with other private registries. View that registry's documentation for the appropriate authentication methods. To use Docker Trusted Registry, [configure external IBM Cloud Object Storage](dtr-ibm-cos.md). - -### Log in before running certain Docker commands -Log in to Docker (whether by the registry log-in, token, or other method) before running the following Docker commands: - -- `docker pull` to download an image from IBM Cloud Container Registry. -- `docker push` to upload an image to IBM Cloud Container Registry. -- `docker service create` to create a service that uses an image that is stored in IBM Cloud Container Registry. -- Any Docker command that has the `--with-registry-auth` parameter. - -## Create a container using an IBM Cloud Container Registry image -You can create a container using a registry image. You might want to run the image locally to test it before [creating a swarm service](#create-a-swarm-service-using-an-ibm-cloud-container-registry-image) based on the image. - -Before you begin: - -- [Install the registry CLI and set up a namespace](#install-the-cli-and-set-up-a-namespace). -- [Add an image in your registry namespace](https://console.bluemix.net/docs/services/Registry/registry_images_.html#registry_images_) to use to create the swarm service. -- [Log in to Docker](#log-in-to-docker-with-private-registry-credentials) with the appropriate registry credentials. - -To create a local container that uses an IBM Cloud Container Registry image: - -1. Get the name and tag of the image you want to use to create the service: - - ```bash - $ bx cr images - ``` - -2. Run the image locally: - - ```bash - $ docker run --name my_container my_image:tag - ``` - -**Tip**: If you no longer need the container, use the `docker kill` [command](/engine/reference/commandline/kill/) to remove it. - -## Create a swarm service using an IBM Cloud Container Registry image -You can create a service that schedules tasks to spawn containers that are based on an image in your IBM Cloud Container Registry. - -Before you begin: - -- Install the Docker for IBM Cloud CLI. -- [Install the registry CLI and set up a namespace](#install-the-cli-and-set-up-a-namespace). -- [Add an image in your registry namespace](https://console.bluemix.net/docs/services/Registry/registry_images_.html#registry_images_) to use to create the service. -- [Log in to Docker](#log-in-to-docker-with-private-registry-credentials) with the appropriate registry credentials. -- [Create a Docker swarm](/engine/swarm/swarm-mode/#create-a-swarm). - -To create a Docker swarm service that uses an IBM Cloud Container Registry image: - -1. Get the name and tag of the image you want to use to create the service: - - ```bash - $ bx cr images - ``` - -2. Connect to your Docker for IBM Cloud swarm. Navigate to the directory where you [downloaded the UCP credentials](administering-swarms.md#download-client-certificates) and run the script. For example: - - ```bash - $ cd filepath/to/certificate/repo && source env.sh - ``` - -3. Send the registry authentication details when creating the Docker service for the image ``: - - ```bash - $ docker service create --name my_service --with-registry-auth my_image:tag - ``` - -4. Verify that your service was created: - - ```bash - $ docker service ls --filter name=my_service - ``` - -> More about creating Docker services -> -> You can also use the `docker service create` [command options](/engine/reference/commandline/service_create/) to set additional features such as replicas, global mode, or secrets. Visit the [Docker swarm services](/engine/swarm/services/) documentation to learn more. diff --git a/docker-for-ibm-cloud/img/quickstart.png b/docker-for-ibm-cloud/img/quickstart.png deleted file mode 100644 index 53364c168ac630ca3b408d77c78a4ce28cf25908..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293886 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

Un$kjznXJUacL%= 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�b`t)_nwW2$;Y`&K}K#zHzWBP(CPs+efb% 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

XCzQ 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

  • 2 zukXqauFA>p%dzNFJ=Di7v`h3(ZZd6Bfa2%N*Y|LJ-m+AY2Nwo8WM22{_K^FkKeH>b z1>_L(j#lGRVdv_D%c#;bnf4V`pZl%$7pQ;<>KSaLrGhY641Lm|AvSBA0Uu>He;i$+Y5)6p~m*Mo-L zvLcOworVC6U9YXt?3=^Zhc0~MlET8*IRIy!luc-C9Ebi}o!eD-I z%`UA6PM3Z*N=jc+@@*Q-WPLX953h+(kbH=aDRR*MI$WYU#V3`pm^s)=>QGLEkkWbbV#jn$h(TC)z+mX-l1m1fm}|<){HnDr zjRJs^B7t>G^8|D%L@1gXO3>HIVdUX#D!lly)j!sp@j@pJcjW-(lq&_Ag#~(Eszhw0 zf>91w!l$~AmXJDRlhq)2=oyIp0|N;mIZ%HR60kC`d{bV|!#k(V@LnC2=%|Q7QgBpJGSsZn#X-b_OmI4;L$rlF7Ry1Gvc4G7WL~ap!J=qw*}X^}S#V56%lR5uZ~4 z*k)_`BVl5)@@J*PvH5Jey}g}~%d*aZ)g$FSEly7*P?%NteAWzr6z8if6oko=)Nx{R z=o2(~BxzaFArlv_!AfzT=&^{APyshz?ER4zR&T`5s5O5Q& zm`CT|e2U5NwCzf_HNfBHvRfsJbe1U;$h~c`N|zgqP`yD-i}CsvN1tzA`Mz zF6tUZ1nHCpX@-<;kY-3}kdp514r!4Vlm_XPhM}Z}?rve|?vC%q=Y6m1`|}RJP`G9| z_u1#{z4lsbvt)=|t=#~fzW9Lybc8RiQyU^}cY9Zlmr6+?RbZjv->com+@-#AbV(X2w=~u5Z)d;tPZ-$X)=^9GSK#>e&{GJGH%WQaZl_La zu`HnI0e~U|;*wxIJTV#IFpSK>j2qaHMOR8^TiH7sYCDevQYpm@VVxPZ1zJ!ar+3A1 zi>0unGV=g+j`-0NEI#JxhcijlFc}q;{;d_m-0@7y9+@qFV+=v{U_-uT7X{g>ks>m7DK6%%w=2t^0Pn9>pX zoVUa6ZrdGsx{{-;V%pnY{X*kiubAfKxCP3i1_6fQ z+BgM6w}bd?6x3z@58av>ch)uS=_0y>wpDxtzY0N z^>7*ctz6Bj?Q;^;ZAsY3lB^Rhfo!vz&_i~L68SYWhDpTlNB9oAmbZ)d<91_Vf_bzf z`>%FDaYMRvX?2rP+aAgeXb*zFr>Cpx>Fo^=b9nF22{+zGzoBB6iKUJ|B{2sQy`cNm zGr2hm@NB8YnsjKCPR-dx*k!rzY!P>l*ifZIbw1$3psA+jFl^v=V;a)~ySmFujM!Sl z_WX(iw3Mx_t@T(mmtzeH7q?`{xdHo{Q>md$q+!1sj2H}7`dN+KRE2S*8S+ayJpJaUc%Q{oL zwF8P1ZnC+8KQb+r z5|eQd$pq6{r!Yw5RA^N(ePshC*^`D+1S26l6a%k(dO=Jit$d-}-@QBFR8H6F!A2C9 zFgDBi!5qV14IRNtUS~NYC4n=^Za0y8WWIm(C6(_LzSZ`)p%U`oyQ>T%RsRaSRd@mn zyaoK(I)RIZ3)TFS7X;I3yAV{Jv?A;$af!#M;k8&kjs9xb*)EDR1iH~zCFS-wN8PaY zqw%!-Yx%X(@b_N}kFI~y+tOwqZgY!JF70)W&OC{UQ?auT>TJJ}a%_IIv=k)U(pBc_ ze4Eoqv);!e;=^jWnwe+Os`On*3X-flVhV?`czL66Mdbq=o)l`~YCC2lXEy4@ zuU8^+cf;y`Qf*gHN0fITL_y>2*7~q1hr-f?Jr}(o*SDeb+vFw=ULZB~L9xJjLco4n zL*2v--)|c+k9vSo(v=BvPXyi0*J<-8G?A8b9>{l})=cBITDS~#t>_xka#PgL%HtzJ zCl#q#cpnvd%da;Rf=Nj>$wjlMMtGvhmXkDZ9C5#=(Lh1;O$Owu7ZZ{iAv3`l)3dO+ zSi0v$jjf6s;#^)_+yhhRYALF0KRD@zvDNnoRW9@NjBtoPHWS$Ly}p33b{W*-B*%Srl-}+P0gPU@t^FW z-6-jbLZ9M@rgF)4TKV$-pfYNzB&_L z5}VQr7NOtnJ)7UqJGC`cl~vU}3r#dnwomXjdWd(6Lu}=Yk}SQN^%oR_J>@7~8OzUH zVEyVL<Bmx6V%@crhK@5xfZVMf(?b+v|X_pupessNT_2mo&0 z;&?NnH@CSjrQDvj6mRzS_n&*T5DlP*1=am6c{(FDrX7YDZKzZKq^|PLUnKZt=g%UA zOt}W(NDoh2PP-q&mjnMYGw2Mbej}AeKyzyU222fhH&e0ZdF}8zRX%%YTM1}fME?lZVaP@$?VEy=6U}W?b$U0@wSFXXhHv!)v z+1}ZZmw&?*rfK-Qf|6W zb5jc>(^1`P$eQwu#l>D<+fGbwltB`LZ>s_6GMaS?)!VN(ft#$kyj3ZTpHRq_qeRUC)EMh;){3er2a|bkiIQ@G^cl%GZnDY04&Jv*Yx;WH4 zT)EpM?_s{~YPgxfkIod~_3qiwO{ugPsw_j~zHf1vs9xRtL}8<@p01c|t21W7Nyf9K z>vZ#d#@}i8T$}JGpG0XvlWF)*Ap7;ZqFy;cr7PE zYtogZTPm8a7G^ai07V-{bwbOcdrDB=FD>Kcm!@TR+eK8N%})&Q01AZy60bd&o>&d} znSc~TZueSBbB%TwdGyJG=s%<`tDfTB>#Qawts0Y^D!hv3^X7pKn^rC#NlYxa?m7le+lERvj9a$YNNH zr<=Pcwg%g5ZZ0e>mnG`_<^*2+jT$YT%Pjwe>-EqsP#i-ZE(H*TwK$1ldVu6mPL7Sq>udE>EyQmJsja; z|A5IotzfI&GpRb0Su18D)9dZIgc>e!BvQCa?o4ckO`U>g#tL~V6DWXwE`I&Y?*Ii* zB2@Reo0(^LZVIeyeW@pmS0{cWDoyGi-;-eU^X-<;z$RME$`d}9sJ5qyTX`?JM{n1` zLLGJ-j2A`3uOjPrPo|mh$=ZSeiT^2|sQ*Lph`z@`d0%w}>G`Ah){LgD+2GFS1!m(e zJj>T5n#?{sC7MsChYwrL9%r*WPj094k`-YOQ;>3ijv+b4t4XUMd^5jbKI8|RXj^=m z1Q#e>c&XY7`00G59>-Nvu~(`qyRBN=QhIm{MK*^RnwW0MfLPQ0zL)QXW5CUyJ+C5M z8@+G@Wkeh6be=WEM8~b7VmlFK&WAhz#7nd&&=MzgmttZsumoMn7$n*FNMdS+hevVl z$_Pb8@l3Coe#23?JPSnkJDR-c53*w{mP2taGW z5{4H3sCs8N;^FWg5bG>fo3~vY9UbHEHE3vP#&&>CyfN1cI2Z1e$X8c&*$yUb@Ee<( z>3-9V6>Yai4!nbn>JZ<(K@t6g|yhpxxo z(5Y0IaUI56dQY-&DDv6i9RYQD6oGT^3s{WcVJ;{oUpDS{^JP9$m_uW|?`JiL-PkVc z6En@!olg{yFv582Og}9(T>-kt4@jddji_9hoLK*8T;aqDdz^0$S@guM|5fj6Z?3fJ zEWOE!B%ebH)4uTUvc?)mJQH=B-IAAl(|Nz#*O4hs1=*rvtCdIit+pqP%s_Fl5fuex zKkM#vt#syr&h*{xuFZn}`Hc^UjgzFbiIFTazhgh2eH-_}d)>f*r|OtZjijUAUIq)M zx5JPt5{I3sdOe3eE@yp)xjMs*j+m7SrWIw)){}`j9t+52-s<=S1U=nB>gh{C0|&(F zkP`~#Pn=yl)TMyZ;~pav*CSdnGSrurGOzr$JJIFP+N)Tm4FPC!oCguLxsrhp) zN57k!7sn9EoaP&o*VkRfIJ*In5VoRIDQylX{u}VNy_{b=WZY9pex$#@n4T3S%vMr) z&_RnQibc}1C)0s_4gO@^6-I#kyeOmkmR4z167g9<0{o*1-|@0O=TTFZb55t&ekv7G zDHZ(mrOuOW-lEKX?)q)HEL9o&r45LvvUjGJ0!nG>sq?+joH|vW$Nw7v9VK=UC7uL9 zE5IE-K-)@;gH&iH`7A@V4W z0r2R8g-?G(tu@L_qUP%K)U`EEuS@kGUXyvR5x#_v#WpqF$`rbYY_bDR3zv!8S`n5f zv)Mv%te;u~jN8MFYbcZ0SX=uEo=1v&S1O=BER#ZNnm3}wn=RY%D>!|&I@3Z|vk#1# zOgEkzPVu;fSB>9J@y^J!?=K%hdA?YJ2oWBd&@x8-?{T3XvTmC3T?CSmS@mpEX$iPp zydn3l9q3{A-)jYU5Ut#79(J7lZ2=)2O4-NsL~7!J0mjH2D*&vP=u)dcR2&!?A?3au zg((U;u5X{DWV5ZsvHtpQa%ThTbNXFW2Ol*SdbEO~W>;D(4;+r2?-eFC+?=721$u{0 zO<0rxZv8O!kE+3nPO;G&A2JbiU6E*Rd&YYe7rqg-tv!`G6uXqP5X|ReKv`OKzNKYY>u(6Zm zqfMhG^xUC*f?xb1bd=J+^DD&VqyP5yNqLjOU0RKGc#iF?t*uetl*!7<=1jn7<)KzD z;kIkmxF0Re`9#FJ^?)%ndNY9h>EJ@sfCZ2jAl&;cjkbO|ZmUF88XWAG^vTVwL?q8h zPtZ}<9_CXTk!jmY+Nl_PkeU%fQj|9}**GT`JY8TFF^js{wVElt7gg@91FuSa!#CiK z(M>Q4(YqUNIC?W|xq%^fe-RjFzSOu`uz|dlowZ_MAT9A-$AA8^6ESn-hAM85fn?VB zdQ8+n(yju_vqf4!qfjm;&TO`zI5aMPh(ME59iSP9$Kl31N(F^uu^Hj^l_jV3Is7ST zR2lkQhF4qxTKHSR;96jQ!%%0dU6}>^vW|vNv+odolp}5F?d_+S1>+P$N_Ny_P~N}> z`m6i6I2_!ejbZxjjLZSA7K#mkq=i z;ICIg2?J89^YbWv1HDh5ZbQ10)4XoA!!f#k_Sn8d0>aaw1wM-^mDkb8#p`l^uJSrO zB_(D1e3;ofr8RM;%pWlvXkj`$;aeM|l#lY>2P*Jr0%O=+$|k5A7)eOUo_7nTW^bRJ zPMULIkl(*=SsjU=YO2%7cZe8-#k!OeVuTK&s#osYo*c?2r>3_dC+z|i`Q{so4qHrt zr-KrbOJ2Bcd+K`XpkSoyha^+qn;pb3C1Ld(c~K@%B>%>uTo4tr#xXZHcQLMdIFZs*s7hWL4y9zBF^iR(Iw0FlfbhLiQ0~KlmC*5K zav$lMVQG0VC4En~XwEDvlx?%3%%O29`*SRyw|#JIKZBHW40mQ@ViiSF2LG~zSf=PI zJ2^S+DG^U)>H2VZ zA-M9=teSYsfs&Fc&lnoXh^FkcZ-H=Sk!WJvf=o+nevlu80Gy5JZ&Jg z)cBCmu4qh`u1Y!#|HptSk%z23uk;GL$2)sHx1qnjefMr8PK_$)LiY`w(fq@xIwBRi zt=D@Y3*7cvjcWpu${I{MHlgA_wdc%u_pfH;Kr?`YXbue zWc&D5By#tps3kL;yB%%Fw^H)8Thq;Wsq@s-xk!)!ZK|xBHn8)U3W(tC9+p76#5tyQBo{J5X(U<>F-5TSRw*`aFi~Vn!3~wXC?*(YAD+7Cz ziVm0&C2V}Oxu-2-(Jjd+b0&kL2^pc`prI$PX$DzpZO)q(^-@aEkr*}$K=`aN_*Ngx zX4Ev|5_7n&onTD!b(xSRm0ZnHB3x+Ecn)gLS}Ys<%KbUg!V?<4`Okwt2Qyj}|1R7^ z<5_zABXWp_@I^&dQduTapgfiP?gByY6hbKsWTOXD?xUf#jEwyQd|RnA71}qQ@s+R` zu`53tcU6{{5lwRBkkiw%l46FE5{AyztYXO3$$?6|aYBv-d{{Igr;R-In~$=Uz6<$i zA{7jb%y;{+MgXN=XclH{8i+Jq0U>L0{i=hcIZLWf$pD%=DKlH!Z^gx{4)io!Tm(oB zx@1u8mWpA=U|U2&SY(Io!r_>A08C5Y{*#~b)jkWtLs-=CK|B>9BYp3bi~Ex(Rd8&S zBQ%^kLZ;&L9cyNK4po~_5u4(I->p1SHhrY+f=d73AX8hLFaff@^TQBJG73cyuWD@U zxBqz<=IMn&0$84l{0zd+h2saGtTgbQkoSv#AAntvz6+$Gffwvo5+5JGectdUp%MVl z;SNT)!?4P;LO4eFo_=9GU2WiJ0_|P;Xqe4H^JAd5-NT+p=0wG6x1CF7vDv(Z`ZAqrzzAsa4qn}K!RhQP17km0 za>;M&D|N;sMc!SB5J$;u2qfiD=q@q&Kwe47(OYGLqskct!Ul%4m+XRureeF7KW6ED zG?`pMcT)}4p$p-8%!@T?5L;=zxvD~20fPXU5vLI5@yyheSMxGBj9gD`5{)A0n!|PZp@)JlFNJAiofbrc?h(q*7h^*FYZv}=SKvG zsq~rww+;lHOU&<~EN!PL00BrA$#5YW6CKO@OFaB|C-o1{r1&ISt1U*j@USu zaH`0RW7@~}4VyiA27b4X*AYF&0}+<9h-k#Bqh(i{7bUKpy@UO?mN#o0BbjE}ww3KT zl77)S4b31Hd)e1md3jryV_Dh8F}$JSGT4raDxBzjj55kZ*c&uh=G3pytS+1t5>(D* zq`Z3yN|;$m#ZG5`uRn}z4ZbrhNiowl6Ez&$RPa-uP)v22-q6$^Ah^w?c!7&>Lt!gF z5&NG7oMXrL>vS2~?w|07qY4ZvA7`Zv$%}~MY#zf|CMYQ?9A6OnVuHhR0h9)GlNi5} z-By{#O9zdpG>b8#nCCKJr;X^N9gv~yBXDhw1Slfug%{8W=YAPH6?TyJ-Y+^TLeKpH zB~@G!3?meG%{o4{(SNrK=gz{7HnSM=P!yrS;hJ2ba}&iEl)B_2>U zf<>bh#A0E_xRH0;? z!a`K=6hXlbJG>5cY-qMv&ksBtKZel{K{Y;y4jYgBIeC9)=iqL-5QdA#`R_Y@K|4}W z3ul5YV2sP>T^e{q^h=MHD6FkCwztR#WItWa=Z2Zn1=&@`vka+JC)gu;H8t_k!$cmA z(`O7kqgRFFw6KGsg>GyVcx)ClaPyWmt3NLbkZ9s3gq9mw^qX|?`krJq)ju7#+LZp@ zxbzsGU=N0oIBj=z(vn4Eiso1l5oOwvs!V1*f0zJ|h^=sWu;XUHw3|xh{rUHVTZ8a3KWw*yE(fz$CJ!;(AGQ1KJ9Tew%Kp8HO zCP#S+=_W%*U`Eewb7(B6)9)Lq!kU_Oq#$k@N)=CY9!8K&dQrpk_3g0rZ4Gdi5&k>N z@|AiNegHBDI5=jaOeC??3AOLN5+qqgQBi~Vj}K6V8NHjipcn#}7%u?IL5kPvRt(Mu zOU`olCp|5fyw2189>~cXw#<4QgB^k$grC+QR7YB6u=%fyEw;le!{qr76EK$7fj56T zTWeDkvHzr@NI{u^dQS`D6{aJET0E@Pw`Sg9CMV_4Cz)>G;{qkDngS_@+ah!Q6IeOc z5cQ3X&sz8#wArpDhsY3a`$y1l`Q1HWok*Cz+~8=;By0zypbDA8KiG`x+rW2KF_n?Z zGO)q2AKu#8m7^}zHf_Xj;O-etNa8>se&UZOY(=vaRrlkka?l8qvq`tPYfOcFnm8MR zNM-Jyodj%Bvq3XJwav2*er`#*G)k$Pjq9z@Izglv?opsfLHc7o?NJu3s|OACR^@~#}IG!9-?8}kaC83xe-AUmzE{9tfqIgALhNw1n-d&-j-DFZRDcQ@nX|ct zZ@1KZ6Z;0o`*QaSrszuwzE=mH&tYsav!=~Vqpe8hkZE`NJ18F1g&Ut^s&}b}Fdva? z(HdZ(F|8LF3fU||AQdqJtZ=ax29m*2){RHyf4q%BR~7)mo3#{y+GDsK4>oE$6;rHM zIRuI;*t?ucL5E*g%@3KK&u;_wDI=gzY>~vjqfb-c7k*23f|K%7o1d+rGGLN$wy64a zpE@1EQDpPg?slS-#q&nrJ~Dp?ur@Ny19*rJ8wO10C+x zvs?dL#Aym{yuk zxuUM_N!tgzVy1U>S}ulj@7rVT5aC9Li>x|d#PYQK0A20CiAqG7tOpQrJIaKcS}**$ zNF_jcn@j^YA0~;iC0X$G>(_+!dIk_ELNO-wJz)tzFu8n5#hxvM;g}R3@3oB3ty5=n zdk(wl`r(jvTBXwIFy#5D?B8;9D_|bKpZh>iWT{<{!EsO&b_h_eI5@sK3Ky(bf)kYb zcT~cMXr)NPpd>D{#7}-n;kc4>t)`t%E$5SLbQy7i7tQ?4V6|99r!!XfKrxb8jRz%i z!9(5-N0N#eISIg;a|v?w+xD)oujle`0)rx`t0P>VEyps_^p_v@2SoRNP=Q1Nxz~0! zug{vE`x0Jy>&9?f-7hUX6Yu%m0|5s3gKZ3ZNdH=!_R9}+mTu59SbSa&VtvBD?2e@2 zBiZZ!*=hCv);|`r$kI}p%vC;jjTN?7b>P6OrlWVU#(~j#a;lo{*!fK$Ai7tZ?1sEj!pOkU+c$z_=yajIm76-D(20Fhf%sir8 zm`ptCH=6IQ9veyk#bSc9Ga6=MViqEn{RscsZmG(1w>$aaWaNrcBEZaCdc$#5@$>WU z3~%I(=}lysfp4}W-4kBj$DE@;R+r1iR85JYrcV{3j!UFA?L>WBv_s}e8U6}5z~ndk z_a%HIqi~G72-vJnKQognEPufL*-3=_>Ahl90`51**Kh%sQX5Utsc}?P*1qo_LOLU; zX*&s~Xp=b6@D`0<{_pWMq*$|M>|P!$Pc@rL70tg1-1hWLyF^IWqzluodI0lg;9*9f z+%IqajkH!e2b0hpDv7{j_+qmUG~Bt>_^yssB(?s!1Y!2GQ5f4nFbH2OY2#`}QzOxS z0r03ZCsTEBkm39uM+N>nuaV;z;-`Cj4t29H|~HYA~G?>EsFvhgW#j=0-b1w31E zhNzs<(^TL{Dvc4bPo|nSNY~1kn>Xp($Gte3r6$295JCmY+%?$}Yu>6UHbZijv)~R3 z{O+pSGFXcFzR_2be|6J`)an+oZs}`D{I>>Pk0JQ@Z{LE7iO|C$daJug9k*;cDu(m6=Y=Q%SA@TjR%ZWjuzltkoz{@*O275(frs{OB2F~XOND3RXh z+hBR=TZ^1b}K8`037>bfmu4{jsR|{xInpC8_iV2`&E%fii>!_;VOcjvll&bD~ zG#72@`_v`|In(^TLcDin6}dwa5A_z4f1B~ieA8LF6Mjp#jrLVc=&In`jke{ncbivAqn>PjNcm2*W z_ccD1#l>c`_m($2d;a?K)gwr+=mMMh^BN=8$?gOxLJ7W?Kiq!Z$|nvbI=*8rSq*Bk zBZxL8=h|r~nqZNReFy$LnKi4-yOo9#s0J{-_W`E(H${>2QE|uXE`VTobUE>Da*;Y_ zYCKPFVfVmu>6Y$>ocQwlf!p_P|7ukJ>y(!+4kzS>0NYUJuia9Y6BDw!YGDci9mqZJ zw`xL0VefrDt0eaPud_UAz-M&41q~-1QS;e7JDlk0QUhb!BxmD`8}l?}?=$eeKM+_k zM;Y(t{d1zy5s%)i%ocv`JsTP;!+*LAn`{QdeUC*M?jT>FKEB;JZ%{8T1Cx{_tXK z>U-~4?$;P~)$Ob?+V2AB1ZD>iL3J}_HIi>$a5e^6TeHpH{ApFX ztE+2DJ{S~1&n%>ex}FU5eD2W0NJ0hihj;=pg#X|m$1gYsH(Hr&6e~!VQvsr1p7{6L z--MB7Bqae<30HM>Gqa>sr-RwngD>?4>5eed?9a9Z$l!H z?CFQHejU7yT-5nK$NKh4I!m7XNbkFxthU1u9;Gc3O%3e6vINA=z^-K6&6$dk`SXXS z$PPl|_*_gN_*9iAA@iRW>Nu*a`0Q!}O@fra82LbhS-hTCWBVi8Fg1iaz~|Si1ZpNq zN}BnBb~l=ZKC`E|Tw3k}{|CJDSM#JH77gbN2{DLv4erk3 zIM$G7*{NqfQ}e0WjLUfOr~>2qAq5Cv;iDx@Mn>5q&*R4CAhN27b>c1j3;wlP)s^cj z4zX|tUJ~?>m+gO0p1h8Cbq-ayc({LP@p|vl(8P?KPfg|J=HKq^Su?o%@m^j0iWbqM z9Pky9X)KAIsPN}-9f+NJ0Uc{0#E+VYzarDSU-9nD{_N!?^`78kLr%kDU_hpf({Q!3 zlUvdnH?a&Q{Yo?v{2xDL{wCQT#S~5uf6M3gAYLD@2^6%7`xV{N=yj|o>kkS%ZTYD* za9Qnhn;zzmu;<{&Qf2$t_6qA+%OBt-C+&MeAP!u3wWlb^=8HmmrOqs|D%U=)V!a>f zwN&*Kx-@*AhG@(c^si5vWD6Q6bdezs8PZ-?q!JRL1L~TZ0|ee@D@v@7x5jEp(Q#=k zOT!I+0fm%Jj~l1niZ%o`*8_kY1aWiZHvUc%gr<4#f={YpTNQ2IcP|)8-sOCz*P5(t zg3U_mHEnKga6k!Q!kP91n?p#rS+#SXSs#R-cZSPvT3;vEVgOGqpffBDFe$BEk>&QU z=?KrI27!^|bHJwV;HYpcQ2Oa4cnUlf0m6-VNfjB)d7A}AwB{03z)z5f|7i3IF3Z=7 z*GEz==nY1ENm$|Mm?iQxXgM-SH;7=_4W_<^$t$D>LE!Z z(Gj59tW>RT?wE@>J}pVmx<((`sZUh2!H!bwwDLiDxX}O!_^9<@9%$(qt45&tE!ULT zEJO(Ij8(gL4+X23-SD2^CqX!J~?!_*8taNQh(lo3HY%W$8w*GxPVIrin*n}?`yCQkb;;DC0HYit)<*my4oUs zXZgp)GBsNh+ngRY7BHbo?@se?_R<=I<9Drdo$kwfi&Lx4r&80S|H#JK9f00L+(t~#E8ee0U;z$vg2A^N_E zB%X_wNv0{Q$J5M!U_dj|->7q5JzPEqD4B?YkrgYuEnwqUvgO2|>I}i6hRRk}03|2i zQbQy0h-pb#LxbPsbmIn|4j6QO;spTI+@%I#KVE!FMPh$`Xn*|1CtsmX{?IiRw@QgT zc>X6iqjs1WxBMXCwh*FB;r~_l_z_P^MND`m=wQ53=z8H-R=xyjJ3g8r_d9OATJdER zqN-ljtT(&pKaYxXpvOfZU9)xU{LOX%Cd%$^Jb6AkE>w~9tfuLh zd2C>;wA}CGBEGYo9JOS`uQ4xGwp4YqR z0W6{0hlcjo@%iAGW!Nl-%g`1E1v*@MdlVr@&IHO^rtnTW7Ci_j|HGB{VYuRo)0RQP zd*M66gnWCEy`V?%H6phjf`X>PJ&y?72XEp0__81Y>_wapv(z^1zFh>BGD4R!G;`37 z{dnqwB6MafEVjAhca-kjjnzdQS2}D`Q8+MW#wyhbqQg?Q`I@F~UN*&!Wp(`LEG=YH z;2^1I*tcSM*zu+SzP3()IK+9FZ|&ccu|>a9fl7<@AAdmn!*?`ad$*yfE95d8o>Q*J zJOCu6nwrF@uf?)sVY~}zl{1@jBRsk)uV-f{vXH*16- z+Uu9?pMU?hu1`!%^!pM@`hKIlvp_g&w}_g?*yo}+)2Efcr+tYmmZ=Oup*!&X=KJ1% z!w9-$#HyMS81G(v8Kjklj|A)VFF|fczoRMR0bro8h^>Otaz>T{Ug1G#-+?^7kZn@*hoQAw4x&YKX!3tVDOLY;|7P3e`{AGq(&Kq zfm(%pSCsX;uu$i!KQb~@g-;@i4Hzl&?4{X1gR+(GyEuz@^zg;#taPbH{XdaAcNd>7m%-SBg?*$ z9{uBkE#qjf8a0-0dZzzyHm3Od6B0$98m^>rVo*m8U|w3Lb5|YzY0`RfUB(v=)F;!2 z*+EMQxIWo01;L3q)o{ciVq>Hfe~wjuej?$L0;*sM0gfH75;Sp?pKrOtJ>t=^;z-|> zV@aY6a#xo8_CBwLzUlkKQVtRD7F16M{LQEl4&-R=ELz^q5gb5g5A95WE)zD6(@~S% zoKH_%k15`{5HtXB?)^znWDK0+|3z^7^T;te95qpdW2Y6eQeIwn*}awNd0EsW4)m2R zA%Oj$zOw#XPc9m+sST&+_N%Q30Lz|jwVqsmJv!g!_){rh#tCsd@*l`NN_B&d0pM&S z42dF*t0YO}X0&By#gBFCy1bT#VmlbL_0+uEbM8D z$?rQDVQw_lHH>)F3|UaeBv;_6&QB!=DqM0^l0Z0+Ol1Cuj&M#w)6Q3`%G_98Ynenu zqozZ&S+1B`A5QINM?smnKvHanUQ{)8;^;0{J9}2&N+>(=doMc*(NVd!xA>i1FWo!eNWdB*u{Cq}Rs#n5qds#A|=bu0K_yypPShAKYeN?FCc z-~fPrV&SAfz_Hx~i0HbCX0;ao@@qRo@m{(+{>s-F0zk8I3kM*keTdCiP?-5p>^PKr zqE1DHqd>7u7#CS86#Z`+28p20>ODq>p$JP=7a?8$sY(S&L~lJ_&!zwUIiBkVu~>VS ztxlaSPF!)Jkk{q7YfDcdjLzW1Wn$lrQg-AZReRKcC#t6A{3Crhff)Py(cUP0AhMn} zDrvq@rq7#0f|tNhD&Qz?j*BSW^JvEeY;B&?2cM=;qnl&vpZVISg9*uRGn@RDK9v`K zq0@JGTxt91a44iLDUKnyxBLP&!bHE%5X>9e0Rc*se_Q~741amEJLte0p8}TP({lnU zZTCkoj&S-@9p-8@0Wr7P;&m&0==%Dm<8V;>pUVRsMuz^aLBI9xf~TU@lIdx$OG1bJ zzAfHpDqw)2hUWJX-?NZ8CE>!g4r3oMB}F0qmsi+}3!hoV0wHDgj|Y=^LNyB^- zoI*4--<`=&Uw;KQ^0@1V3gsR?#gf{0l6o6&71Z(6Ynh|c(JjWQCZGRExV!GXX`ItW zaI#kr#YdRZtjcV>#mI(P>acxlR3bH1?E(!L9K`{RaJ`Mnm%$`BDDGZ{=zAyR=?D>R zp@@oMzIJ>CXTfTd>L``QB@%ilH9%$emH)6fNY8&k-1CQr6JdkPKL&)wNd3yCU=CVa z2c*`zyk$53&TN@Ek8`moEM4TxeMUG_omUGW__&j@Tdu$1LFe7X&|V6)oonXf;`#;z zVSGl0sKmyGsb5=LYx(Z*9!u-N?pI)XVV{=t9(JWI;wivOj&D6j`ZbA@*`B@y=#{xFFG+b(xvYYm zG&RMl;G6zXQGjy=ys{Liiy36u^D`P;m`&CI_M4-8&ZehpTbl9^QBuS?_W-oOOZF@I zBpAdGoQTVM)N`yu7PSGm4d%e_`u^Tex^tR4FNCCun^eybVHB*h$NnYz@|G6j0_%mb zzZAuBgbR-YQZz2#PrABksBP+CFnFTinc0={5-xyyT~bV5a3lk`f%mIvR(u6~=MgS0 zgrQoWk~6~eT>LA>+He$5-pKW{5T&W}X7%(^wR)`PGncfEa{^90DJfQzD(cLDX@aJv zw8V(jc-+Ata z)}xd9cOcZo1S#Hp`mvoEliB;OL<}kTW!9O;aXVtFFe#UnnxKg9T$SnAjN&u05pJnJ9qO)Td5gSYeGUoUsGZq%4$1&99m z3O4D+7_e(L^YU#`nz=Y%T<+1o^Qlm7Td>WbF_yJbJbI%_PQrZ?8MSyA?ckzEmjjf6 z`WpF`DW*SxVIAtR?srM|y%|#85PHzzeg;a{g4Em~Q3XZKblHS7;xU_fB0^JUgqnNYBX` zOGSqFoS;YOZ-e>2V~=0VJA;bkZ*bom9IQB-8;ipD@q5b&J}h}|!Slq>I79)ya!kz> z++9-zvTq!23cr__M$f->WJjx&zlO^akK8X*s5Tua-hcynFaG559VOFE^a#bH{~Wu2Zcx#ovL4NU3mQkm>0 z7i^(IxE-_0v6G-EjlG5Qof5L{^6mGIz^a);f;-qf9bOX)4{Ijiwa8#xYF@ECHKi_6 zp=}HLnZWAbaqKcTpwIJnL0hv@L0#RyrA;nbPy!Ddz5XLq;BN!%^M-=6?HP^xyZkEj z!?$X^H-|%Dt3hk~@9}h|C5Um<bUjFP8RqXQ4u^<%R_-(?fFWIz5^uNNQcr`6Jx?tN!{Pa;f&9mTKF(6vljY zO?8Ma3l-Nj{9dJ|JAHJD8kS6K3Cw@iRaO!Xb|jXLEY>ZCjTAaOGNEK&!;= z@C&}JUejXLAg~4IQ;2{eXbh16za6NYcUeMO(0R`?4m;_N9=6nM^y3l|x_OVLnv_Hh zv0kD?bo0%q?W3&qfBkPqxrA?;vggOc9`&9V!9rZdL8+H8dW2kz1a7`RC*&+=qPx2r ze5wQ3C`%MPxA3QckhU11+8hNp-y8MCAGL0zaX|0LIP>mC`%X2ZBzv5^WB4xW8cm7u zpPIK1Xq?HXIlC)up}kd1l(Gs6XLozd15S-yquHJK{%2FAB6?S2-uCF^&c|bI0;Yfd zu1Z)5kREYzH2v)YZJC*vE&1-b4CAS*lk~9c&f9k0y81Vr?GEmj#vzhO6|ybA4bB=U zZ@l<*wOm+MHZ1NSDVIvt8AHJoL{kcWErFnh5M%P-UH9g@ z(aE6!5tAs%P_JW;mhX5QfKWwRW%L)6)BB-dzH{8NhEr z<~}Kk7I2PKUYX2wWKrt zd1~y8w~fYXKqQ`hg~5rWo}TSY`4T|5+uOCmlUz;1F*fjTe9tTdVAW11Gnsz%+Y>zc zp2aI!t8HyJhpWK)iXN~H2{8+~|M@!x?Bm;kkxhh`FM1sP^sD=;O7DX@1j?C(&pLKg z3s#tDSP*Ig7w->whJYGdM3;p`AU;(`Q>S|SEQajnE=uRfO9n}TelzDG_rb|hFQoL; zxO17f{G;vMZA?a^-`Ob!ki+#SCQjaZWfm8Q8a6E2aoC`z`=}c}eSx6;tYN*vMcA{V zq$03c{B3987uX+p3IxT*KvJl9_6R z(k*;nww)@{MXV1>IEG%hbV2Hj_n@kflfBQ^-U22Pu)a{)<70O^?2B7Rhl|Y(7MD=d zDfn$Lugv4yvJo;1ol$9S=$+0-lS^a(zpBuwD3l_24n{bI+e;!KU;FTyz6KjTtfF~8 z$15|2Eh%GWt9KxCeeogHpGZ@;Ga8axI%2Wo=hW$bv`^2B7yUgc<8W5dw}q7eNd{EH zz(}c`5t)->X0Z`TmiDzG?xp6-%VbQKMUc5q%W)?wezSq5jVwR6Xxv~K_L%4M+0Orj5U@wJ`@t~Fw@?j9JlO`i|8DW<$og>3@?0YL@<>5`C8LQpytQ91>r zK|s2@Q>9}Fkr1T2yO9=wZ`;c8`EcRAb_gQ*cs?-9kkwh^}6B_ddhFo$(4d z;n3?kL_%Fqv#RE9U+=$kaD|t9k7O!C_Mds)k7ra#{bBD2lC!dL32V*(qEZnDCtz(u zlYiHlpTFq>A6<812PpPq30$5wlV1gF3@@gR(dL%F=i6*KfoN~5I6*2?N&B4_kOVjm zYnmTqiFo99vHf|QQb(3fA{XAl_(VxafaOKE%IaRmZvt=ZsxP3(M~d$yn(^$rfGw;^X5v&?JT-YD zS6)ggu5Xvtxg$`P)>jYMG$O@Wv%(~f3#5KeGLbQ3n zV5w%h!AAJ!#&d4hcDIAYg8IbwA7KFc*VthSnR{=TWjy80x1_QRU&;Dxa@BP7oachA4nOr|kGbs3k|ZRjPRov>BlN z%8hv1DsC*y82s!ZHzD@$b_WOQwS2@XCG|7EuDuy+YH- zhZA#jn-z<#U0=TByi$-+!2rd_eTk%5+w;A^OD|e zKaZPE!>vLvQZM>SydU{ry)b>s$7j9w4W0M#G}hMJyDbMxsVOeqX>D^O^Xct@Z_VwH z16v7om@ObGT@O=NS0AQOR+PVgev{@5t5cs)3&yycpBk#S(L-$n-BEIl_G9(Nh^$ut zsnOY6{VSVg!eZzTzu-4CqDNaYhQMCUE-tL{u})TMQD~5>ee2}{K!&#vzm#^fQ`KFR z`D5uiuuIXO@NUW;L`TA5`5ltX+96y$S+nJt1>kJ z7c#Y3U6BP?8i3!9>g~GeT^hPmkG&9>PtTk>2twn&na#yFya)D9l}3qM-_SnG-5d8! zK`ODB0Brbgq)}51k8j|>ts|JUM3Sz|ip=w}4$ptilv zCNPSTbGPwFlnPv)(hDMg9OY-a8pLF@s!Y)Cdw!vwgko>~9%)*x+B(s-ZzW4NXmZ)U zy`BY>)86FUH=@el(S<}&3$PyUJ67at@&F{wn~O>&+31D+Fl?Xn=Znu#-9NS40TNJuIp$G z&K9*084mrwWzFdw4w+%SxDAF61kb;S+@1ZpK`%U}sV=LltIB?yFONJvXuCuyYAswH zq6k7mSA%%v9LE|moK}P<9iBY42I#HrJ{LsNv(Zc(97A8(C-)7w4TPBzfUEigs-`DrtC<8u%OTYVv0_1c)Ejfw%D&q_P z;)~lzSYvh{zv05+<_V3To>V(lbyL)Ai_Ow>rg$M2EHxv8iU3E9jvF=OJVLWV0VG|f zkYNgxM@#e?uvN;=4Wm4~3bh58q-Ox$Ps9IlGM3o%2@S7MdxiI?I2HvH>|GKaMPC-N z>4VmtJW4~qv$1+ZAGYzd@Ng$~9DoJVQsS~(s+BIW(K7URguw2oxm<6mAau6Q2kdJ= zMaB6zIbn4r=_2l*QZF|w==DVQYy3rzs_b$e%Q-Tzoc?CjjLR%BPd^hTU(>imkw@I3 zl8>Y0gD^7JX2Y|$n&>Etx^@-uaDu~&qJ+-hW-g%$EYZ4~_7`8Gh8`6ZjsLVLM~ZnF zeDFagXZk0lPxLr65_E&Z_PBg|BgK*ERwBW7V=nApncrD?JwpkU%=bG`rXojv?>a+x zcZ4oyzqW-J?HAu@icCNAa@|$V#M!k5ME8$#;pB!6=4iTBYwT}sAQ=3IEdf|4?0omF!{;we z^Ya#&UTI$_Op!GUe)rOeGp)A5M4I897N znEfBH;)GECuW8vC{x$dfbS)hnKuhLqI5`u{sG$i68;p-n)Y~qaguPN0_n1ji+_h`n zy{$R1VXWZ2-4tx@Q%<`+vmVvbgj%K26`@1Bjfbkp{rJ(H?Temk>3o_~QEWXQ)~QU; z3RE-lT=Rc~oEL_<4R2sYMD(TQCzcOTCF;b70Gu&vd?yTwf~FN0PsL{X20y zx5A(N@s5O_+#jvl%?Pa-zbm(!Xfrq4;k>9_?&fn*eF3f%;Zl!z7sXd+&a%BieS(>I z>#n><67H>KvNpYo!FCUT?@cI6D8|Ec{x2nt3Yck8 zbI$|bWWa@m@S+#*E`0#Gm|j4dqBgt9jOJh%5uO1@bg;YoZ^*s7s#$-(sjpgXT5Ecb z5C9Gqr!*7OIFro6fDw?8sREdIAZ>r?r``$av}T`USd93m z!$T||*V+VDdjIovb$-Q!_=oXQNI{pSo|!bC-V60;s$2*2)Dh+gdnzIyYx??!<7xz91jC1Q7HM{T^Sb#Ae`>4DH8l-kKF68d=QmG;|C{iQVG zJ_Dh>ElXE3>X~Pr@Oo$8Pp}yYF5T-t66R%Bp2HxvOLrh{j%M84PPiKeWZE2)O5Ie=&Y>@a4&jejthEQ z#8jBmjKBn)_X=7l@raAom<-JPPH5zqRi=7S~YQFSN?cjqIGCi8DA%vXul=m!awGGmKP zw>@xQKlJ8CQ`VD&ud6?yYP}S>lPFO*3Kjh+)oJtOzI~KH+F8tX1u`jFpYvJn+kACs zRVAui93AYw8yE}K$Y>&at_EWCs&N~qJoxrH#b?FcFiZEPN;qn8HuLq9M?WY3Xtc1C z{H0eyyy|Z*)Fp5==kbtX(Rj$*&5C!PTZiDlpGDGA(I*c;3@oG;4|1@BOvQoV`8QV%nLMl^4z+YSQKQE*Gf{_>P=shbf46uI*C%;U7q@#GqcMmUbs0`D&kZk30s zl`!~O72>Otg$bBRmzVi^x?4v;FhS;qKGa!*?22*BW2u$EkD3!z2{@z}FE_>?z4Phy z2OQ2v#rLkx$MmkEMs(iyBRDvU$3L8Quc+Bd~_Xt=I{C&dCm?yo5dQ25`0 z=(_ds#82@Owl<~-Yb4yAe#BQ=EIXR&g>r)t%b=dZ5n; zJKvhIS~O<}7_a7Rri-xULLbh!=0ZatBSN6_HX=zdqqM^tSC9%IrZ>_EW-Ezxr|mP2 z%vHaE3AB$l`eznmQI>{C!76$ ziZ_NyKf#)=v+VU*#D>tm>}JeV!{&TNdBhBb zqPX|>S}~q*VOIu;7#u<|pC8skC8LiAw6)H(Un#JGI;daW9ayE=RRo2SN>YT8F^0&6 zLShI12+*J3v-fn$VG^kcyyp{=K9J=&oG=Un-ghZKv7R;+YP$C@KWfR0jN#*<2>i z&KUBRowl#iy9rN-#{%=u-;?1y;t5+?OwEh>L{)3M%i7I<dNGI4NI(l_?2!z=IJAOi|X3iQ*ng1u6tM)@dS^Tw|7yoHOW`;MV=R$ zimW7&m7hu;kHKZx6V(99myb9)>5iR}?SV3AJ-Ge+cABt!;R0}v$$TLTrg3dQhZPch4tKpFko&g#cmdf z$9U;2%=axan`abVJ*V(8{g?)ZZZ+cBYKkTmHPA^M$q9ip+Ten~jH!7~NNzwKLKX^? zzfsT3m&ohIMmgXA;GWKa*C2a{+Rf|I?l%@@nytU)zL~z_Zrr)qoe^($+`qrA z5w9i(e#dZ-1Id&udiqPJpVsN2r{nw81KvSexg;&QB*_kpU4i36vSa3rGtt zsOt7TE5C2Nd2h0TriUG?(?|>92RQO|1|U2uwL^)i8&AYC>BXFNYTQ;O{9F>HkzS{j zjaq)@^Q%Oflge?q!oSn@78)(q68`Ga(|vu-mU}KmF@EE@_b$ULQtg$x?M$}{!{1nv zWoq(?gELURPObgZuOYhs!i!x~T*_xv4&cJe|4R(geUWNbP)SdU5YEqIMTjJF0T;f9 zWmKBD?UmRdm73*o>UQtV7l!H1J?T*vzWktAs3w<6G8~CuQM+dQ-z1>?#I2= zn5a=<)A&t`SRj|4cVna=Amc3LdxOUqy;e|^y&Gmr9v*`}aVae75<;YD{o=$51c5Yu zaSD;A=H;rrV-GbW1IKD`yaPMZ=*|!had?#NdKwto#~_+2!v%ApyrF6z*tB~FkMbyg zK(#M?cqlMI7n?1vf9WtOn{))BtV(Iulki)Y;ZWzKyBlI@9`dW%U&U0&%V}jUz#U|A zT7aV{RgSf&s93Rkq1_+8`+a87uRBpJ-B#Oli<#jg!%trYGCd)6rGhw);OF`kQUy;x ziqKzfnsMJC4Vj)|fx@#r{EiO0__k~EcC#EpAb{U?i{s$r{adr?Q2Ll@1yON%cCaU$ zoIc%s1HrkI4?RX2++6vOp4NXeXLwYq?RG13PE0W$q%G3IZ$#|=?^$THE%vJ^JM;}@ zB#eRie^3R89^MNGU}pFVwHG~4lDG#EIq|Db#07!v*Gr^krugA}>Qm(t)w{2?#I z12UnepJ%*jV2B&jP)Js>b~xU@y3E+W&1YqG#n?`32)If`MT+^)2wxWsZV8angn%?- zhFcD&QQ|1HjDU}SXOu+qAqkNc$&&j8f*$p|*W)Gy&zUP;gIdhIq^PLVNJW4^abjnO zI^1m1b@2x@OnT+h(@nwXUEvT2V@Te1+vr~@Ffvf~SV49HD0Xy%G?WZADTDwR%wQ!j z9(IuQ7dDs9v$*kF}Jqt251w3^=?u2}A~JkfsFCA8Q)gQ(K! zt9z9d3+bw~WekDFLslEhOkr`UmFlDIzDKt0-y4=w*K{rP&wqT2Q;Syf@7vV3rY|ii z!4H!r*LRxx^-jHF&Q##xN;FUc{mq|IqL?_{A>rN5pJ`Y*%-7y|ATU}?qD7XlQMB2w zrH)OE?)3{Cg#Pqn`fVo*&WcwNJvwEXRZZt4@_$eE5XA8CA%6Foh#S-AA3qAsP%nEi zviyHp99;IUw4DO^nx;I{>Hp^Iu)nqU8A7#EB6H*e#pjiQs$*cngB{S+6gFRJ0o^`t zC;d?%r4pQ~Lmc@6B!mTeWZ*BL&OaP^FZEH#<0Is?a)H&k0i&Fnm@gh5q~=%$n5XFr zUW0tbSOHC@?n?ZwHK!#0192w(C3f9*ltLVbl%>^Q6c4gHIRye z?TqUp+82(-=s+!mtLSOI7_Aj3)4w?)(yKB$>Y0Hbb60Pssk;qy=7(E`wO<;xpLdu0 z-@*+2w7!^R*)G8*6v6wS>~Bs=XY~Am;;!kYI?c2|30F>1PK8XHAA@yj&^G-~2D4g{ zn-m03BUC~8YPt`(biO`{$M_mwM$@~g`96;PjO!>0%&0cFN=Qk?Izlv+S+{&+7#BoX z|4m$E2DPUwf!j6w@j0LQaNEf-`gxf9SIYStPrZupD@;ZWC#&zQ5A5hgX%BD@|6Z#T&k1}-!7`cI$3UQ4-dqS<5(mRU&omJU`8C`jYY&k*;o?Rwa1tO|^kALlPEYGO^7vrK)1=SrhH!QbcV16S9yoj>{J{lWdB z4Gy2t(t<-GG;`G6!O`6-pTsjsq)Dws?_o+ctMCA_0l{IGITP%?lSMmLnp2`w1k^U& z^W>laHI9%&QSNl5#5Zhz6ax24*^%h*iO_8BPW{;$YMp))$hT$2z&IX2={N|V43Lv~Ry zBHz^>FG~BG=2%{O&SgwX*4Q04&YbSg?aAIPOf}xOx2NZkF_6Rc;%W`l15BxQl(Phw43Dn_= z8$HH%ie1ze-c@IXnE7XXW)N^h?{rRG#ypggU$1E zin`6Wh*94fEDAcGl-!?xDIxnM&2gn~{$+XWLd**#n>5k(*lmmOl|~^x4Mhr!ckDma zf=K`H-?XS!k6L?P#MKRtGJi0%w4MX2K^_NZ#X`rcjsXJ~>8iOBh>!hH(&*xCMfNB9 zrqhWT-}O2b!S$wH={q3cxstJB9Q0#Dy*r@Np z_%{9BOu64ylJc@uU_zmGt(dv=WC$@?N9e)?k%;%(I#3e2mqf`c_~`7wV>|cmDs`&1 zXCw!M8PP?M5@z|lx6Wq1pvX#4&zP)4yCgeh4JjNA2)7Zio&kf!>tMblUl(m(3hxgy z621q|QoCsSSfO(4_D!dmm7YXLMBH53&suMN9;f#S{#R4~)DUJDc%9UZa}vF%p8|1S zb!mSJ`tgSo-ajC6?eWK$WPt@Fx$k50-gxIUjL6CVI;nnr1`Ga^DIY`iMgSC2ZLQo zP6-Ujev21^i2+%SLJJMjb6_i@Ys$RWGwOzwJ>Eah93_7;#;?eSg~6G5FJONDQjcp0 z$DLMyDkAfx_wB~rNmdWSP!8P9kM15Y_iA(K8{YmnnnY;Lo*M!Iaz6tF0fwZYnj>IQ z*>V>a(^I^|8%T7vSDhGDaIN|5(0 znE|3~ahK_GjqPH?t=hNx9x02rO8r?_-d_+jx0d%L^wKms_<@ij%;MyU-!mtR2a@ck z=8Ka}*j8Hd=_O1NRQ2(pNDZIcXPM3H``_3D#mtMAVq<44DU^8HSO%MGqz4HiP7_AD zT$Wx@5ex;6WnsBrkT77Rn1BN4O0YqLE#2l98*~*6*3; zM|Fwq;X+^AmJGUi@Nqa3l+*_`G`Dx=xpO1mnBolW9PApL{x%dS^IaLO-h_L=(yI|% zAMw}3ksbB;vewAkBYOiMtFd({xkQT4;^)e(}4|BIQTV0sC`yC-K5Kp_i z^zvUjg5G0p;YWsdPkL=TzlFut{CI|e7a>U3;A1qN5bJ;9*Dnp6u!p3$Wi!^>I zQ8cG~#M0n&g>+#39xR1BF*gv1LcpG|5+xsVv9Kv%1{AI89UbimTTz5O+yiisf56C} zF%_~r4uUlmHHzG@ym_uAXB&^XiKgOWX9*zn;=dcfxc5vhhV)}^PrZPGSiaftt2xbf z)M5}K_lZK+pDHBk>~`adcT+74jZBfPFJ_1OXddV_ZF3>5VeAsC0=Gr#a04avE)%ypRoBlJCQC+q4 zPrgZGfWQHRKO~64@S)N&AZg*qQcOT$HcJExKePmkk{X}uZGb}HI*khDtT-5tR1)(L z3*`dE>=(eb$HRETU=vW*KM(duo0Ltu`X7+q9ko9j$;w77!2nm*2 zYEHmlp3c-y^K{3ac3Z#Id%BsosxQAs^>D-wgscgs=504+3~hiUC-{d3fogcv*-fB* zsmU2OXmKlScRguYjkrVQw|`8L>cnuaz4y}#p$`v#|BL<-ekD2B+Wb8t<}=`?$d)!_ zj>pLT)c?B3jC%o9eJAF;@|@8@f1166O#>I+FQ-NM79=gH{-e<3#~%?!24)^i$&Yy; zMp_$sHVioi1c;o0`7NF?*0QAQLq@4AtWj0cijsxnCv>+ML@DVb%6;R$<8q~Y|$o)*shx{F!>j?FEhl9HwpxeGW~+0b9Cbd%d9W10fU zVZNk05f+GX=|g&YizB|+miEoG^HxU~M8$9yE5LH~>8j(7t!d?9Jm~|fuP$_J0e>9P zbIomz{eAQv%Ym=N{~sh97eFL{&Y1WNF~<1fU|~e)Nl3_QRF($`ZVnU=Bm7aC^AsX7 zytiz#)>lLeSng&IJ-C{)N#d1}lL8wnIMVc?L_t5Gc?n+$%gc~REAO+fpWj4%a~SZx zgO5j)5e?;j;i zgvIdHj{l;7`86|R1xtp_-Z0AK&59b4Ed$k zT{|R>Lq|iW^2-!=CL4g8jW$> zEb)Vt9_LR-{2$bZt&19qjDoHl12*V@IQ;Jl4z|Dxj3E^gF>+Fm$B01CapDB>Pv+QI zYM0pg>g2v2bI&C7oM6F6dE4eWb$Nc+xul>FNNSnxdjnN6V6#TwB2vbbjO@sRHBpYm z>x{qsY}e4|?l_c0!f(;r@22{|wPydfS%R9=^T;Qxf}bUM+<>ci(ecbZ`nzD_^G5_> zpbp196Sp5wkec0x`pqPC=ADGZ6?b!N*BfoM@X}<`{PhO}V;nZi@^9|F1P62l(9N1F zxYXF+bv+UHxyZJ>^F@=x+zzlo$gAizaHrU4wXOH-iMN2^ZTF$CM7mrwg^<;+FM0G! z-tf%ZnyMY{t+m>For94RU zNdfbEl@4%{A3FV_?#PaREQPNI?3ro0i`{k}loY48b-=GjkT@SMm3eau!mp&wD(^L?*a6_=XBitFQP3n&#QMoQY1jT4i((! zMT~c*=o>EbVC^2raryYKx2r)I(w{2h0Vf@~v5DFPS@^}E?Tlfi*9J-3ff3(R*^q$j z`1JDft9iujMUh!`rq2nmZ~bVuikvbG7y^SR!p0V-EK^w#LC)f)n|r(B9^FKK$3sAe z&f6P(tq!1&erW#~rA(m+UY3VZwjL+CVx{E|D&IPBw|jS+a{9Y5jk@=(CAJ*^QCUXw z_O#m2<`YfeGuv~QZC>zfrtH5j(5z_ky$pv3W5^@~0|Yp*+S6u;{wi=i%Ic0Z_0svu zv?v?V@*@7@VI~vqg+q8K3U37TIONa3_+qKUQJp%g(75W|GsJYKXQv9}z|U!68DjhO zAl+uE_kVhWZZw4=f%E`=itriYbK+74aurt{DvVgiaskL0>*^>s;d|8u+<=A~QIq`QF>JgzEF*h4AM3Gc{ zZAE#Gw?gvy!)bhg3dY+SX;o52TswKe5LH~a&NIF5YW?O3b1w0aoyH6ZrX)zRGFrqm z()oc}iT}n$sX(im{>=G4{hj$vq$iZOWzn(Gh`>OB(q@&=gu@wizSDN(sk`e{@9qE<-Vx)w(~|20b4zK zg0S~Do6cJP7rX(CY8BnJB>t_4Cgk+#=~QB~t}cEOS%fB-z3rI(&U4J0t2^nXjaOuY zQ7tg&qQL$S0r{BqP`;7aqHh46-VcrBFXtwXXs z(Oq+KuryBr&{?Uu?rAkBg974%M-mU9+qZeBJP=5Q>>YcCcnp!IaZwk~1D5+FCjV6f zA}17tB~EHhT~a@rxuYB@#A*64K#U=eN;;ZenuR~NU5`Y)88tA+UK4Ac!4qM@1|v_= zXbeWs^F)QW>|!%4Atz`w-y0!>G(XDJ&^8bU=oh zK2Z?0*zOtol$*B;dJXkw6#%ME75qkA=VVIWq)vq<8yZ4%j8qc>IUxGX`WWj`? zU5$EfhoNcCAhziLpc)@Cg+)GuY^ zg`9BWAJ^DM4xhswvOfvmmjeA z_NCnK24;BMm0xc+XY&z&SkId++73{!jD$iCOZ)sCx`BZnM#qv*Jj4VS6G$3IOU32- zzz}10DNNm;PQ5@rxrpcgJ!*ROoWFMRQ3;0`X`92JU;o>@oFgA6*>j)LhT!pn(^WEC zcd0-7_>5)C1jA6|1_6OU@X|=t2&HTacVye3&Efcss*FZEta#GpLY)o9c!+oBp}crq zPbQN5K2rHGC(qWqqmH9u7D=oNEKACFEn!qqnl`{b#d~64a69I@=$hV{N*MQ+|Gny1 zoqIVn2=X|WR5~TFql~t^7U`3&_T0RS6jl|q((hf?f~+c*porFB<1m9dVuS=d-G6wX zfB`68InX>wR&?99w}v;@TlinyMxV7yT;7AbljfbF(a(Dcx^tkU5)Y)oit5J~dPj=k z#+2Y{D3H9v54=H#v)%2!dn@qU+uKZ^oih6oG3#&H9GEfbEK?u~7q>m%9ebksm+e4+ zB`mksF9(Fef1|FOF2jKSnN2=lJt>|jv@7nD%X$H?H@e1c52mHB{?l@P5q(`@xnAJE zP7Y+0ljOF`;ZdKRvyac?wrvyCl3d9+rHv7(5(4F(pU{_m6sF-tml^p*sg}50&Bwm- zN$LIyGDy|NZpO=pdzZBDn{j&|F2ae11*M5%pC2b=_ zI7iVveTB_m+-INKra*%Kx7MESl46P*F{KH^>uiJs@jeO{FbVQ*p^P2mGr3QR1G9n3i6$_6xsm*Qw& ze|OX_u>Wy!R!WV$LADD-Q3;q#Hq2k(B$NXWylz4%F*z%cU5MVtTOD2JbpLg>AK#b>a#vv0ajVa?~^*7i5+LfmKpY7TnFl$yw~u-EYPR zGk}dx@*j5#__@qokh4eja2DUj88Uqzn610HE<&s-@>wA=c+tnoayq>v-qN$ych~8) zF-zTxK1b>uLIMN{kmHNyHbB;ueBvSJ?Pn!6U~qBc`7gX`AQyYot`Y~?I~V_GDtr+l z1_K&lTiDp34n|qkrP~zI^_hp)zzRN9R|B2?;XvRrowY0OZxdi*rJi4^j{$!~vn z35&LGgM7c>En~s+KQ5akI*w4_y7r&djls~w4}LKH`=q_ml077G%Lk$(aeOMb&C#|ILe(d6pX}>3(8G(*Q|Bdo*-A zA6Wk}>)l3mkIhEU)TN2r2O95~Gw_>CVzY-*f}i861wkYSI^L){u9s?0%gX(*F=7n` zfq@7B>7W4f#`Y+I0VPvmCDz4*tF{C0XCig`ww4)!wwJ&WF=*cu;)BRBUp_Bv)2_*` zFYl|g1uCsKk5%Dl3eyl3kb^!jta0B{*Gy!WW2PA}2V8^At0_mF*;&?}C@eHvpaHF> z=~CS%xlnsL3<7LSY4A`L$Y^J>kW;Jdx*dM)vLC_uL?Od(WkV~o(c!Cc2+pHs!A1%! zIQs4cW+;Z9G!$sP%*JNSb)Zd#0FbsRV0!R(z#7RO-t}9OA$jwD7KZLO zg!zh@owLo~w8^D&;=i7q)jj+EvZdzoqEuG^@HGn$MBYP(_Y z)_U#Vc0ja%=mb_7nlow59+c+wMBQzVakEa)W6RP{|2^W62XEM)b>bAudE)RI z?QEBXM*TN^ZpAV0hRXZX{co~0z6|%k8hzfd*ATJ7tgwSH6 zDA5>|)X@z=1hne5jY~##Pug!WHSr4eA;aUuznBA1CAi(q^xN<>$Zl7j`R$>3DkRS( z$CBX2DB-p`d9&{=y|Q(}Hqua&i!b zY1;vb^z(0#d6u9yY#q@--d;d_itGESuS8E{-gX9}sOWvgQ^sFqN#>y0x%oDuv5SGU zPjhEQZ^UL!0qq=s(qs$!yY8$oq1Wc)$^39&!wEQsH80!GRtNhyi+3fw`jSW6Pvk-i zX*j*ox89FP%4uJ%hWFhaU)3!R1Bu0c!?~zPZ4js<&uOIlJLO3Q(L(45cfNvRYoKEk z@I9&9<};_Y&IZ&hzrQR4Qs*{uXQ9#bYRLM%#keJmtH8@>C!0u7{A!+fVk9vLYUw7D z6}xS_Sa~^Ge0RvAsHz7PLD<2a0C-bz|MZj)!DVn(sO(RtyL`CEX#$Zm{4-hQNxc^E zFZd5;OO!+PA-tV84L>1ks`IHSZ00jYYp~JMR^cUab?H3s>o6(EJ7r7 znGP7=k>phuYj>v8SQ)&c^XX@`_jdVXBp#4uN?5aoHPpQ-8EI8Us5WHodD9p)b>-lXY_f9FQv zqv`Xy=5DVpY00AI%m7+p3Uj0G`NVFd7RWtL3c;Le*qcZJR+LH90v;{zq%# z`H@Z0Od*GQ%Bs*${L^swlLi&d+PX6Fu_i2fIy6Gc(BpAK7xhzJ3e=HvpVGvNU(sy;g*^`;z~` z;{D_ni`y=i{86#*g{d71=(TW&kpgnQalgL(a-f)7tll3^r!Vk)TZ8xAqN_f8ZZ?~% zE8*2yEm<{;NXeOd=?4h((pFDPQy+C;cv;V`o`)f6tM3ccn82@%8TZtjI=ffC99-pD zzC2i{EH<;?r`p}#UYc2Y&!(N4SMG6E2moTkz&htxcxusDwQQ!}_PJ-WR&)vn4%B+Z z4O2<{Vz3*&RJTgrBv)KqsLpR@M9dDzA30KWDV zk`^m094s&=8lF!#rS4FM0Zee&W?0Ic`HR1-clIF#MpBNWqQWWe1sFl(;l{F#v-|8c zlK&M{_JQ}`1Hgt{6eSoU?Xvg>%Q3PyRu=3qI>Iuad9guDTP|@hHy3REfkYbgR#7p^ zI5jEpV1N5-uSv%4oEsy}SC2A;;7i63Kyr10ztki19#FUU;mJOB10+vAWEr*AnUR2i z+DAt9DW@_}26<%cdK*li=0L-Y14vsJ^`mXQGcpxUM53`kO~xvi(Q79z?o*S~r!MYu z@997fZ+t-vxh^#MDimxnJrvdVap33(`%mQfP&HT`MhA~#UnP64+8{ukOqVm~qXh8` z2V%QuY9?j4XPIrdzYuVDcMoG4d+pyoBsKOsZsJidm9o5ReedY)Nsqq$fKx4 zR$33*jZbFr+WcMAWwv;1Q+V05FY3gG%gc0b(6V<8o;Scy$1}s4A}_BH#1QfWinoFV zLbT-Pb3TlcV-$sxr+H@xoZF@52}Q2~WWdZ_Ae4Qwe}esVh@&iyhoBoRHdGbfa~leg z{<6CBK!3*CYS+qo*S)qTl2T$Usq;K#urR{Dz$R5s%nJAIV-~3W)R|9}DGb#PzZ$nc zdueYTiKlpQuxqA}74lcCdnYIq;kTD5p`)w&nb2wW?4e_)l@54C0slYt26SAnq6n%_ z;|Tf>k8TakDl7^@EA;&@OtWSHWYMR8!_*4E2p_MzA8LbnznH){BuKa4M)zVl?1^6* z((+WlS$iWDki4)FwtZLQRJa!pB@`L3%Tqq+}rJEEVxgw5UMlC~q&YAmwYIuV3vxnjy)<&~WHG>Z%W` z!|DVDFyF&xp9_^fDrL*P5;Xc5%jqwM>iClzNOpstp=#Z3KUKm9G5(uIrq5^r}u+`qj8IfUtfM=pJ8n!llieMur zUT$vi=w#9M&krrPdcP1eU0r%zU3p=3{y=yFT04*9Y+jNSe|d6w1uPF3y_M4;E|)WZ z`dG-qxORKt>jc#f>&Vv`<#8;so_M3G$cVIl1vqju`R;gr0!=k3&q{Ji7=<$=mmA-6 zARPVEYG>PdbJ1ycKV?xoZ6#>Rsgvym|CE~;0nWc8M5R%6|2;6yAS6xHl)e|!OIx?F zM-0cx!4|j=V!(OtAaT~p5JR!>b3W>xZU0YS#=jiT@%bX*2Z31i%N|dT_hnIm}g=;Y3AsurUZYF#5%gy*-`UV(5KBYb{0LE8+ZDjMK(gsd~Gm zPpN?p%qD+}j?*)j-6lJLkhj$z_tOy8)TmOyW>#lwo!XnSdL@oXgQ)#B(Rwk3_5m3w z;Dx$!+5-oVpGrPA9>|5x5d%9)l@GiGA0CMr&JZ$&LaVf+(;+6QtY!*e3`x)?s_l%p3AqNuTYYk10brG3BcX|7|B9%Gxegj@Z)m|{0kwR$-@P- zpPF2X-_o<~jLl0t6eS<%hqlLedR|!_dba`V$n1aO;99=d9? zPc?rWx16S>smYS?PDa%SUS3w_Mw1WVG5&D)hq_j;JLOyFg&a!Mqo*GlPO^(qi9-UQ zf)maK3B*{O`coWv~=`eyY*gk}ElY?B!YfZ}#Fj#6-zH5U{X0)%yd zx4fp;P)1D9a8`PNMXP#u`Y-gY46O=~CQ^OQqTA^_J9RUl&2 zR`z^Pe&5$9Dj`TK-HmjEfFj)ulG2?+NGk#Y z4&5yc0}Lfy3J6kzG($=bHFOX0KKS|m{&-z3mpr-{o_o(d_ndvs*}DhlS8qr^l8jSr+3+GvYrtDMQm^9Pt6$U9MW;DHG;oMuhB^cr)zEw`er0FcLYFd|J1 zZ>#45i-_pvrq#$NOd7a90ks<~r8wvgj+!NFRIQJ?BP;O~Zb4OJD*pQ{f`_4TR(wB6 zpMGIjFv*^r6zsR6r;LO|CG=ZS_St|VL-3_F214^)^R)*|T$=PGA&fMC@o<7MjL1N>fAOBKz@U&E>}HwL{GT;^8Dw-xyv3Tm zm`qx2qdEhA>IB&HpxK63ZzF22JLbmQ{U4tTs+O0#Zq7_Y9sGFPlE%V&i*?vV1AB+m z7cZM56HET)d8Gk`#dW6lc0f%3CoV~;XkgQsK)SRr$!S3Ka-G&v`hR_sX#nu3&-={! z(f{R`Kiz&hz>!rhyCZn$c^a5NSO2BwKE>%fjdX@bl;y$0x%-O;J+Xn)?2-y>(XnaX zXZ2=K3MpYNekDL`B!uQLnlT>Drl}WadIFpw)_;t)x%uvemERotD5O64DmMNBQ)}?o zf~m}UzFfOHP}%l&e3u#!C6y^J9ZQU?8|zH#fR@ymiIM>5)rzz@d4xczE?woNUi=7x zZ%Y8pAjJ#TtZZsfPmhl?>z!x6#wz_AXsqQZha6vKS%Luk0ACu2&pP%wqWJvgdv2(x zBz?di`4APqQmP(t$T!1H#U)*j@(J`HHx=i>{KQr2UV+!T4U2WRloct)sg>M ztH69k)N6G^Pe27;f5yEauJ5xCrxd`=1@#)_X#m);0s4K9r#rDMFHZMyo59Pe#l<~e z7qQXfuDW3Vy)yZ((V5+5#E^vJa@wJGF)Xco2b)Hye=q9c>yN0h2GEEU>SF2cOyhXR z2r1ps3Zk)`zQz z;V8f&*wMLr6B4mv{W`3xRAx_Z&1|__Zq|v~1wAJ#j+ECAeX2M3HLo1f z^(xnr^`Gm)PdW>ktbJJIeH8_iE}ORYY|!4%tsyb~T5_y0K0t%4ydng8xB4&uP-B&=`+vSm=laZXa>2&v_4~`j~>;KDMxr#>AnGK%=4QTD@ zlX0Wfd5k89PI8)v_IG!uQ$AvdNh}S*VfYdM!|CY0po$o(9zmVPw^fm%PwfDSJ%`KH zTKXG!4ME)Fb$p>kCV2d6JH3anQHuI&TT{RJujWiJ_ADZ8iSXK{Y_9* zFF%_XrTqB!RI?zUn;hmF94tl0h>y96{qFRHVK6r!0u=xdRK-VKwAH1mWx8J_ZPi(l z2!bEHp#3ty%0LH{M4oi?&7BL}T_Kj18hw1&;kmC zJ?BLTzh6AqbULcQe1a2ux)o3yTl$#>0J2B)I{Ymi9=q>A+;^#NldNp4KmJ6{@ygzF zabZ2!LwPrptgm<4BxZXzxZc5138||3^5Z?(w|q@){p)sGNDh^zy#!S6^KI?wm$I4^ znQ}q94eCSUpf{|B_#yXdYw=B@uVApEngZ{J^3q*(uJcfeF(krRA?)@nBP^OV$; zqJcW#Zyb7HD9(iF@A|>_3^Bf)6js#&n4%{>cql&L>SLMd2xLcV;>tUjfyKHC9VA`( znN3$;!w(5~yl|v_fBw(L1TgE&2Ry3)8;jE?hy{RWoTe|QbAwcL0jO;$Xy8fCp2<#> z*)%vu!v3e!aLa)ngAUz=`<**6n)G2jx|y4A1?P){AmuR6rvdm5@w z!JLDIW|VU?33N-%UV^D{_+{01{o9?#`BUfJZq8l=RXIWkOP}>P3~96l4%XGLZg}q+ zgJ#DlY|Nf!i%$!viOzv_O2it=qJb zVIa!KW$AibdBhziADb=W)tjXvCVF1+OW(xDQb6y)>-EU~2`S!TLRNI?*VtPvrauR~ zkgjucvsYJBxE#4bI!dE+^-`It6ya<|0(cXc=dY>^E~$Yl0T80qM0>6DPFovsX(}t* z=B0lOAaJlim~2zN!+h4c4IzrVWzUfWH!(dQTXN!f7E8nX+o3WoaUp(^CYv?gc$0P{@P_YX$273t7Z>Hg&VTFq-u`%}~Z3z2>$C zng8CW6%a&j*ue9qv3ID0^rOOq6~+n)md{eaJg2tGbG`?!N2M8xUvdRmPK7lpVtulE zdpH=b_>`jLWzs`f+ZA+$;a4HDm+fij$I%iq9TkljomehtM=2$5`Go-8lc1<1T4kqq z64v2=-Fl0BX5hD;Bh*X7`xkS;B4N7~&0iaw4H=4nk-SkmfpirmKq?Kb+Idb$sVqqg z0OmOKd}C$kJN9ks;INqXY$|_=5r6YvM0ktmH$dG6e*8QpSERC~SWNF7d}&(TcXmia z8MKnj5hesZJh2*0aG~)z@Hu_EQxB2DF3g*nZWWx z^ax^Y>+F}#1C|<*57F#^Nx6*sd4Q#JGRvPDziXU@{e2K+Yh#JHsj%34^3kh) zt#VR{KzJbtN(X+vujVFA(U#=#*A!kN%~jJFx8;Qmw~`<1Kyrh#It=*fTgY~24v%1h z!BN60#Yr|-vvf;2oBIGX4e-rD_WeWgdy}Mpu4I)%wnbvh)4-a&r7on+PC}&EBkAIu z^whcH`xQ)sFyUb|YA2v+=?mIh{hBAZ(srAG`ja|YJ0~#Z6+vhQzzOyS==THPeJ}Wb zl+vMTY!du<2JXa(0TKBA{p3TQ5s!A4+b$j(TV8RFaT}OZ2a`;%P|Yk>o%39R4?MFr zBPKu*$vz+=K&+94KOYGLaSsj#ORh(YIq7A<;sCRM zqcdw|dSn`oHCPi;^bhb-jgUwRBq;b5O&wv4=ageH8vIBxu)1K z^&rx}ep~tZG)H$j%%^D%^-_nWv(t?L#!35_?9*6OO_9vn)4QyQGPw^%eIcIema;`; z&mQ{&qB^nE*(%Jat1BSeaM=T>N1;HjN*^DmMIH`Ji&($QDE?(pBSSw5Uz~+6wpbsF zsS4M^!Nh>*ldLWx+uMbnVA{*_HjD;RS*}l9^u1!fHfvi`5X|2xRS3!A-FVKIa&$AX z9<=@U-1sA}mJT5ovUCr&?g5VAa1bL|8f(e{6_po&l)L?_I-A_OCg39yhb2xzmZXM! z=|c#QFo)aGddn8ESrJ6>2oUo-&3T*1W13$D0LUMK<&e9RtY&lm#SK%LmGn4nHxJ*I zr@j3(=;~`K9{}6?konp-rlkcPQguWf5uG3$F&6kY4 zdo#~1oyI$9IN8c~om`pN0wjY$2%EuySW4ZxBI|O1hev6e1e%$sg-u6VM{0SmWTiTe zXi*a(RAeT!UMHCj*!JtIQ5QuHy{ki5s6Ry!Vl6j($zMAsJG6T8k5PnlBm6_ZYR&Ve z0$Q8Dykl>{cELo){Zx0vLGKZ+$c*iTkliFkdI|8=PPYLG>e-3ui^pgme@@So0&``X zH#-8TCGGtN{-t-iMQ>$lNVn0#f7wx-J$}rK2K@SX7*JCsUbxv_*_L0+s5d*+!U=-qodW8tK{11Kpn9x44_M>6IX;4l)V#c3mLacFzJ^~7e& zFvT?X^up{!X{q69siuq;CU)4{@)T}IcrBa;N11J`zb7ReH?Vyni$i+Gs8L`xMORaE zad8pIH7NK0@E3M)33GZx+EHCqW>*WG zU9d7?2MMqL>jlV28MJvis;$epd45`^B)QK6(UYQVw5

    Sr>etPPf{BD5>DYNwzCTY+EPB?%#FR(1e6liy<@BI4qsu<-}8aK zk65ZUta!Y~8u5=E6efyo5%mJw;@%d}R(-(;^WR#!^%WIu1?{SnCplBmU?S{-FXX)n zO18-I*q4DD2&&9f@^DQl`;AHAMejY?)V9;BuRaUz+Mv}Zz`%78Fn4n8>R6n^Wn9ri z$8IQCQ|M>meU(nc4eOc9^c-KRxq>@8nwCPLF?~cC#mtHQuW4yRt6vT_IMa^_sA4X+ zxJc&um^A+JH_}WhE-sc9^;jO<*sz)Q3d2Vtkr2q#s~qz&9scw*1qS_c_+AXyYxy&Fkj42Yvml{ zpb?97#6M`k9TxWE@BN0pzZlc81~we>+|@1qHH}-8;`i8`zaEXu^$8IqSIu?VG{wkD zhoZMz&pq9w0P*;U{`S)wS&;{5F)dCh1e)})r}A%MKB8;RQZM&xV>@=bWNOlA>1E&8 zVc5Kmpe5#3`A1#GGqfB&nZI#P#u{a#~(1l6e(A!=;lK?J8As;kx7s zuWqtA+4QwF{?T-GdeRZVJgzmt*@!kRI;CI$Y+hp z7l}z!Vipq@50o_HN(CGbuoXMg(3LEV&p(}n9OuqTGcsT>H2|>hvv+l6p*NXsZ2=~E z!@B$iYdxB?lE(JWmD%{yRq_~G%}F5;hm4ITsCkA=(g*^`v60A>WNx6vtZZC<66`Y5 z#+$CfJU8bcH{H-!-<%NeNuep=`*YURno$rU+v$nrYD{YcD7(R|hth>Y)bjgwks0^p zoUkavT&>Suon(VcfV{usWJG+KPOY!= z($|N!ndmLH7qKhW)$aC=;Acucax#om>2Nt29X>L53FC@8=8)`sU;w@EwRVA=Od0W# zGZ!E$J&pIh&qgNf>+NziYxHu|3Jc2XQt6rBK3J_SFo%yzwF)hEXo_4y2pE(G*}2+w2k-(eR%1A5Zf>~uT2T~PASi1A zb8gURW$<4m(sLH#M1Z<9V2??dDBkU88GVl3J##$W5Q>umjb;m*pD!rkl@~=I4h*xrwJvx8K}F>pHtPp#&S&K`%AA`u z1o#gi?Ddx0d@+1}8@>g_LygD%M3N^=bW99h{;7WCy>ks8&Wn~_qIMb`W!zQqaC9VKeGD(Kv?73! zfYb1zZ$Ietsf>=EX_>s^ivUo3Qrg>U14T`Pt==X$VtQDt4`y5F3F=?8nhSsG+8)?H zex9o9O6s#xB=MCRQkAP=_XkGGkHdhE`Mse50@*&kd^rdx`BYRm9d8UncRXO6gX|OE zTA@apM^M%%bJD2%lhacYr6Ey7x=QgMx*Xo;(Q^L&{&jGte_JhkUv^TK2{#9hf9QKK zZ|}h1An?yOL7l52fXL`zD)+QkHpo<0cXDdVX3iU+VX&-dZJndR#H6z*vQ~}8ZGk!h z*R%EKpK;djBCUY1=3Pz8w%ufCWS>c#QVHPac~>3im~W0%@b>+Mnxv~FuTLjO?p{$w zwzYbMCEe7ODX>YMrjG>PZp>kuEq)m11oN`3#{?hRJ|-RM&T+&~dfJ%1A_Ct`$39 zR1w;F+B?yaoZVhF7PYNXtFM_OoF^nTGlR0S``5}Ez5KU1XN+oOZ)1~iNKeEfq^lrh2!?X1j97vE-OyA zLdkfT_uuvPb;oHaK;g^_?54JM;!caq#Qc1~N+gS3QmU|^aEbQTlrtybZUq)P!X0np zPm`D9$5AbYCE0;q)(eNmx?cRWvcbK&D;meQdmn|aQLg*1E*a$Lv(*R)EWy0g*cgZ* z(cAIdcK4E-Cv!-%k3UIq=`pDdBLAnMvU*8Z-t=@{6QBPFDM387wMT5jg$g0kaJ=Jb zGl(pgk-k^KKt^WEhAbOg*iTSNfQBX#PA=pa_RyyRv0&^!=R9Z<^JSl#;}IJ+fu$d3=yQGpWqw7uOSdDRd|1AviER$n(`u>@)S-9?tJW_fHu8>#P> zYi;*Il|aOBXktS3Q{#kVsr~$crKX){ng4!FCm@Zs=KN#`@o=w zZ@Gpea0qwAWOVFW7vXTSXJ5Qbfb9Vo+9As~LBZ_F>@TI9XTP7FodF5q*qD}~p`n&m z!r=Ps+}z;60AZwzWG**xA8^1%5F}x!o7=H519^E{5y}{u{Luu1tN~j!N|KS{ z2oT#c@?EH?9pxA1_Vruor|D-Fe_K?aRY%pRYW}58KfNO*HQ0wkahfCqVE&HEFU{~i zWJF^Wr%V5Y)k``w@S-4KS-!3yoquk zjNjvrup6p4R@8!TlJ!R(Gg@Zja!9((u>~S2_#^kAlOv_!RraeHc8r9MCa{zDYEN)m z1v7`$GC>~9i=!0kMOwfiARWzc($@|QY+n`0UI>)7>dw=!?A|zriSO5RN=o{UG3rM& zoWV2&>m}L&HE4>TeEh7$@yCw~44tHXjt2(H5Ulj8d}c^iuZi!MfzFxqx~sOTqMTH& zRYISO3YgV9Ps*dHH3Vr0R3&!E6NuSy@d=n8!#h>l*5k$1qJ0FmTVSF-lqG*MZbF`N zUmj5{{qdrrdk97>^Gq@PXSSr_0=m4o&YPX;^)u-A&aF>SYe>2dj>L6nY%H@zxvq3@ zOcTl^E%p{966gTjosw`IhWs4r+uIs7Lgd&$Aa~$AJO`r}nX9WK0`PlBQXD^V!jGW+ zfc}5q->n;B`wb(yu?%8pYC76d$&@Q4V^p;g1|lO!3-q5$T(0g1g+(;wPi24jbx3oeuG5HT7WRl) zzkA(FhM0{)S*AlnG@erY_?3mzGY04ZXSwOK)L1MT2!*~RV(r+{CVQ@FC4JkI-B@U> z9y!VnoB4iWAHSvYy;912adQ89OIepl{aI|O9A(DELzOPkIZ}j%o~JnK)heK`E=fL zlos3KNy>BcJTW<$!&7Nq(owFmqV@?S5`7gM5y}ZNNr)KY3!iz2_L{)nX(EC({jbwB zL)v_qXCSKaOn-}uks!XSOdx#crrZ5HE=Fj`Kiv;7B5!7zS?h#aPrTUW*HIDRqlruw zh8^Wq(!QkOutPO$#|MOIP(j^eB}n50P#ABq-7M2n$-rOoQlgeHtOix++g6+MHPGEf z`8|}xJ1KnJHo_Yd_;NSWy{Hq-5F3)t*LiSxvC3r$E-X|m31~aOB8V^SFERT?iZyMn z(tHu~g49+k&W2PvF3DmZE*!_mRvK`E)2o1aBrivtqajjg_kdnYuro>LcY;zBq?=KJU#lSx&%=dNPkUT{mw> z9{(W^;Nek|QJd>!s*((lKi<|abR)YTNnXGH3T?XGs8Y+~8~5s83}REkT$!6|tTL_n zFxu5u2+#woyjl*4YDw>UBeRUZ%j&RHgk$pDu&P|9u#}mAfMuDGfOlmq@Xl7VEl9wd z0Gy%E<#!W%XN};SW8hXDuOO4ynC?Vb`pQ0*ek4zGbZokEPPX~xp5L0Mf_N0S9D>nB zg@po{xI1~Hhm~9DxzTS2>a&LNkGC_Gc<%r&U=Dz=Of{*3^@pb3OYs!BsW8{oX zd(TQ7d+rXK6Xte5dMDeB%Z?uDu5{{Ra#z(yzI6LFbL6{|sjL=H@Aap@cc``Cq0WOb zG7v&kNVL`48FBNDL#f2CGhj7YPqI(6ic)lAekV9`+Z%1a#^W$ds#T20H5CX>k`h3B z=NNle`>mP_&-#>VzWaxM4y6`A(`YknUCRAzG2EL{aOnYbT8z*23b}aq%Fz%uzOc!&E{Q!_<|0W8FusfFH%-)b`H5Q-OFKP|A z+u&+8if&E18PU+&@QB%bmS*s%ZqE<#+AQ{qX`L#8`&+J%_Sz& z&hL(ugx~na+5O;WoeSeGaZQE|Tf01Jugq$<-my%@z1FZdmA-8qC6Ci6fNuAHe zo+@Ir*hl1$7W{JUSX`XFAJG9zT#_?rggi%~QFrV5-F&JlLd}Zk7kWlU0Lo?C@=~|` zK&DP7>83)g*(xt`@qh48c&r`i<30IvoPqsu{&!D}?$rxFBIx}06w{KhfWN;djlTJ_ zHwwx(CvNgj$uA|^X5sSNv+qsI9`O>alK+GvScw{9Zly@!G(6t!R^@n(HLa(sI~{FT zF+_uz4I2GY)p5JwR@meIdqI-B3w85?wC3EFn2~NbcmC9Ru7T9D2GRn5vG{TOY&nKN z|93wk(#mYkUrX%L^Hu8hpsm*OQG5p3QJ7M|GW+lW5w8>HuUfU~&cm7QV9CG7mz*4C zA5@e?{r3)YJ1>PoF=CPp1c0jn=YOj%XDMYeu2W>NSh*ejP5x~Vu(`Aap#+-MDNKt* zGKCj2k}noU>%7k~8l<2+EUGd|GpzZEqb<*YRH$XqB`iWroVWo|6OBCToIfsQMbX$) z1hcWR5faD?tsmqo3mbK7n42y({>aEmE%`eZSFd4Hk5!hz{++v-#!>#y~ zBH?lQ=Y_!15laAD{=*F)>xDKtc`R`ghC89)w=^Z0!qjT%oU6FK>6uFMICl?FLIhtW zs~ZN|$2?dAd_$F-pqa~E?Rz`R6jxsZQoc2CVP3XXuSH)^RHkr;aG8qL4sTU40}}es zhA;aqEASC$ZIw;62sZ`C=YXG_jAY3+*3(-YA0H+i^r{$U^79PFF&F*NHQd;7K9%BQ zHhTh-(#p;x;Y#z=nbgqv)sQ{-+}QsXgDW?%YfCFGiLpVybTC^>-Jhul)wi^$&-y|4 z)Xu zYYl{lhp!K&Hhy<9zCBUb>%9I3aj-;~itTh!3^){7KTdJ)7^= z_)rGK8rVB0p0}Zc5n`M5E-_P-%2FG!j|r#_@HDrrNo@ z#cwU_MKIdWPnN9DacMDg3d^FFN^EPN1JoF3Xn)P~K9(I=Y-?5ev7NBG(HO{qx0t{Y z^I2=#)bI)PA|?1)QB!ZkZ#6B5BEDwz^FRQ*ejnlBtm)@3Lg3!8#E?C|rP0`^w+B8I zp2rUBDb-AC^ry{RDERUi-DbJ#)qfwNoA)si$a0mIDbFkXE@Op>^@xFBFs$q9>)m;? zJ;GFY{k!_+EziKbPd6#ATqLx(;|v#9+05W*B39X=C~zSg?B31e)W=mt>2+(ZAGo`{ z6Cl}{pCRMV<}5`DQHs4jlayUfS-+6BPELgv2UK{Z@=dQ0|hfoKar$;~s0o##@l zB~ZI{PhW5it$UoFo&xsOz7oa3)qbMY8O)vjT``e45b0>fkl)eK(Rp{X-?-pCcVrtp z+OQn0XlpEv3fUo>#>yOzo5^juyExSKmV67yefJuO5R&ocUybM9;PsNOp!aFu19cXC zfi?M0_gXO@8%a#i$<;~j3r6p^G@nxrN0! z@coEO?B@Zn(Ldh)S;*DRhUsqlxw46Nw?4~L1^sDvSvy*iX)8rH1?>wNg2kJk$E852ygi@uibrxSdTm0JDvUMuoAqi9!V_Hw1cDNOho^j@qvGiK`ch?q^ za66kEJFG^@cJ=f3%1y_N3YaJ)NP|grQ8Z>(Q$QDs(x6-u7nQlMgIKa*qhGr9J1_@7 z?8d3o>HF)?Vdgbu@ySTPy%)j)mBvXUJ&~-rBZ%Y6E@7fbndQWKAk{Z%Jv;29sVXfs z01Ve_+C&)0H`^u61jySrG8~~zD^a;OySA}Xw;zr(JCQRdXG6!X6*(e!ja8J#?E{W@ z!R-a^@EG~~mgG%v-G+LW0NLRuOYudH`*W<|c7C6Be{6JzG33$jux*u%$FgGQ0FThx z$~T#nfh_0VvfpC>B^BmZ!2`YS0~?w&ZPyH7URllK<}60hTJN^x$SU9E7oDxXv&WrH z4bH1ZQ4NlXAD3&57{r&R+r54n#Rl)=nMs^3b5q?7?00_m?Uxd1W@6%19k2Ce!H)^N zRbILsJXXGKI;hl!HB~bL#HC_K8-o;6(3#oqkwBtCefNp`TT7tG`>YIoPQMF|5|@i} z%dqXU8zSlN_4UBpOJzz0-}-bMQ}w|SdW1Mn?#UEozdoOwOmYoERRv#8i7LOiO)AH{ zteF_CKFKZ#Qqdv=zzzU?Rbo!;*xpuW5OEvo^T!PN!X|5Q@K3p9k$S|RU5Wtf(tpL? zDFR*LDG>p0QJl1>TZrKv>J3!8L!MBx<=rC(w`?H349D-w!*vv-AFw$W?&O%;KZG9O z_C`j8etZ2IUsDyAi|5(Fd%QOXLY*UjbbfgohyH^){N1{@-SBZQ@2{op_yU;3UB2+r z2f@UCk%quiTi0x#S$n*j?H9qpC!c)oE>XQjPdQk!MVEU99g1_FvsWH^zdi2)*K0*J zMDIKKA+~(XE`XG^8-Z7-jn$h5aaeZism)$hYkxm`^6o|O#lQf>fleXf_UlV@Y0WLy z*xQca$%zsEx9fHdNMC4T&`s~@GO$nbxUqrELW)N@~<>=!BIrX%(j(UjH zum565UEH2`-kq84?K&<6Ow~&fIYr8~by%jzlHk1ZRfZY#YLAYdD_~n~|{O|4>MWGe;=!p1nKq`2i-^PD^Ab zZW?@zD-8hhZxwt>#zuj&ZF%&bJfx6z28RmEuqdW zKWX%*!Cz3`<;^KO78CG}=$P=UffKU_8!LjnR_E>%yxLOL&b*vV*^M)K0qj<_d%!V) zjftc_)#MWXm8-+f6G^JdA4+SBZ%DIN3)daI9VWF^0cvEtz41XuLLAe_7bY}L@6NB{ zU-i@69$<_MblxCcfr`zpBiXpXe%mqZ=;){_V4VZ7(w9X0Ef*UY65edhtllEPgM4eG zV-`qPw>dvlIuEGBulH3+0@RlTG$IXgxirjJTn08*5^nyL|x_Tcb?g;&%m|SPzI$QPRNrwFSE1;pGU0pVfo(X;u4iR zdJ4u&y8#$gUZN7r_tDhg_?hq10zCk6= zH8>-YTizyLK$556SS+1yz8P-X!M7WiCeed22fmbj&3CsbQ3OCZ6ARrz%^#7q9`;g{ zLm`0mo;M<5$Rovpo?dI{v)yDzH?^|I=Lpt0=JDZ> zh=+n{2|(5#Q)8S$FzUY}(13cd`ySP_@7=>OM7VqYHDmNy*Vj=Y$|v{BDv?-^kA1)9 z07O8VhY_tG4KTS8lrs2BH5sit{#k+EcZPlaA#H7w*3dtg+~w;fz( zjb|h)Cm!a!=UKx`PSR2D>D@Aq$^LK@47FQ2fxVVk-VZu&1qwv2LC2XWv)!XX?z_eF z4j&YD2gnHsGh1Q#FaEJZ|;d&emSV4k094bvEQ5!*D#a+EJaF#v++w~Bi-Kv2;6SZiVE|L zaA3e24v8<==~btevfi_|9nKBBw$D(Kj>EU2O4go{K2p-%ntbuXFva?vUa6nMH>)1H z?@S^2^s;+ptx}6EdxEfL(r;uBYT>)>=ZmOiyxt#Is&J&a( z3%7=j)YR|yt63?MAhYfqm2VihfVqA= z2a=Zfl=%4J^)r7;CC?lF{uh?U`-Zu8f8P*3Gxm`28U6j_a~Mns?17OUg@r$q|a?pmNta z@nFNlYwj>hN1Ja}YlXc0u(E8?r5Ef^lP9-}V@a`6u}O~QUF5mZdm{lMrrm(z66^Z> ztCo!E9`THX?C8pUPN3t0KX5J-9~fj~LS#jF-uIF3<26Bz_`NL{$+LNUH!4;~(t;N+ zmlYzD)>?WZD8ED~D6F8IV`t{cCx=$4FH^AGgi)@WvdmM!K^XrW^qop;`Y5FqM$ z0Oj7@+w0hYw%(qUNKv`G$N_U8?F9`QM;5B=H^Tot?vstqz ze^?KbeF{x~X)-3lD+gw^P0V`^>4!&XdI`@T3DP$jJ!&0MklVgiz&@CGGc{*A1&$>(Jyq)T{R-&zxHTiQxu< z#Rp$@FL{Wu{?B{i%4P%J>oefJNS?_{o<%zDHKQ;l?|IgJZjiB^hHjHy85@>h<2T^= zvUrZ)UW&R3N&|B;g`xD;b!sAkdu`(;bH1qI)JB1}^J^(;qeEDy@ibdfa-T(wj{5P` zVkO+kW@lDEP_onF(a>wgg}PyHr#^2_GnoV(oxqbd?M%H+izmuWkSpo+E-(H_H9{Am zNzO3FEivzyv@S9N{axc(9&mu9x=d8QP}Ob82qHCsugp|dQ_y5ufHSjS!6Hv10_42g zq<9PyN#*DTzpE=A78^ZDhtjes5MsRnyR$`-@~VB;4!4u{IqT~5cV3sQo|c+zaJJ5h zSN^2n`)ekhvBuml&JA>Tb=+veA+9je>36#Qg(m2tWd|z$H-U&*rD?BaXRmd?11L#* z&bz+|SL(As;ymfyik9z8+_tBq?e>QV8 zCvffB-u+D28X$-J-d{dymy6 z4jX&Jhl`4eDmjf7FV8uS)jB^$y!?U_4T#WdiMY#YCA5sUZ+9{EP7H_DYiuRq1QP8d9_LKP~P_t9T_xal6$PURAHS0u)`xXFETfGJ#4YW->3}1gr zH3uv4k1*h_6jlY=cz|j!;uryXM?dDZfH-DK#EMSTAReq00XW++=^PyTfTjXIn82?; zI>QJ&l?);OG4Q=V%qiZQEa(kYW)F?SW}x>lu63eU1QQh?nYNv{i?+jB&Zw;SK1cI9 z%(sm;yzC{N9!ek}s($Aen?LG^7gS#7e))Hy?QhE-M^&2#&*MEAPaqz++fom9a9M1! zT5h*B0SRX`?aL|k#~keEYK})CfKt@E#v?B@^Q;){9eNX0zKxW zF^K=&(72;KKv!m(w9z*!u`iXNA8N*fqy(3ccL9}*^xjq!F%~@Z16~6qjRVfe!%ghY(bye=C&Pj&xxD3 z)#$R#g*59BU}_R=tY|CV$w;y(H9nH;*AdUvD}*(%7t$B{uZYsrtQa}&FmH#uP92u? z3=9PRGFLTN9F(xNrc^?(h#()fs( z02si28rtOWKJ$cJZpRcgD6YQ9Isc{&k;~iQvd|JB=}L;R7@9x287;i{0g>$^#1&*5 zu;LFkFZa)NbM8%Mn18&MfE>BmKNX*9a@izFPA;~GNu7rfA+kegyEX8?=06yA`~ToA zjS1-o+B@oAButa#96*(*;71@WFMa+G)*R<#nYBWuaqr>j-*1D2pqc^g$})afkLBEZ zfY|v-<|+@pVWZNZ4Jp#I%!?bNMnVY==lY7gbPE<<+?kP;KeQDrT6J3n zO;SK6^r;bPBQ(%Vo&so4Z<(zb?PEnnxJs`VKnVkCR$Vo>EYTkKoU0X^ZO{dm zZtrZJVuS#>Ldr(3Vx2lLjhC^ke&X$rT=#v=kVzxEVQuJ8_dzbe!6jCBd~4_(cFN-G zRNg7xS{&!?CeE%O7gxw;)!IYGHplI_i_)ijpTJ7JZw*#ti*`$fIClNi+hXhLZ$CQF z$Ea_~1}gUeqyxxCU}*nUlL5A7H8u#Cej4BkIx1la+8nf7>5u?RW9sY1l=5O&?j4^m zrENL^Jr!w7G?#K>p#Qy*6SrFAnorg}-V1YN zX;`(OcznN-TEBDfY_Soead>s#?r{g=dW(^q?)ZrC09Lp2!f}|$&L^`wZh~g0V_I*^ zBtR>a!Db!o2x?d|+(#cOWa)>SPC2IC_{YBfgZW5#fJ6R8P=Gx8X_vO5A`6elw;zId5J=Y6AZdzFkgH`A%DZExu!8QnW>WXagF(iqv!_3@=hCy`nS zafNOPA36A4c9^&H!f`vMc&p)7w3l6k^t_e~c>b0()?+=PIU0Q%rf2vgA zNY+=$DhH9KbM1PD0V6)S^4rV5#lO^_?-?#<%{5q)%IWJPnqL?bV?H7k^Nr4t&X;UX_4cBwmZFEv>!#%%(EK=%nPF z;u2#lFb`n=KN*<>owYKB%1o$Q%|fl_q|QJyvpW_*^jQSy@7G55Ydb#<#KIs4!ZFI; zV_dM4>TLu#ipm%KM5YY`wT8*wDo@=LE!HFjqm2?j|hHx`g>-f zrX;P&6D$^E=07X_M!Uw>VP*>fo~GsBzw7AYm~r3f2eSxfPJ6!n*Vwq^>b{PzFCn`80$O517NAfM zNMy#&8TvvH$HIAy!6YV&-gd8&yQceJI)BL_d&tW9)_*QJUK-{7L!#XD^e3Ll&wFnP z-7z9x@;|OeTuM50#J=IYSZ4FIwJmg8sgT0zX%voJ8m%(RWkqN(|A}VD zj6YG$ijR$6sn`E)QSuCNd#JnLPSqXNvoFa7eDYSlzL$Bozvr7lRDFt`PF(|H9>#gX zcSj3*#p}>HDQj=ZTx}g$&7|1iBSW1=^xk70&;Js)*N51TRq#}*w+`3%idD$nY{>Wr z)2gBXrSv~tN(%v>l`!VOTWpp0Ih^2 z?wcUdj>R`|7`DKurOh{m-}|2uxq$cnxGWl{tpR_v%a--!A@j;#i9ELtKtJZE*MGcZ zxl)}!xSmdNQp8@iCU^ud&0c1DlmtJ;4%?MZsO!5903-L)WBKL=T4MlgpQDBBXYnRe zwyLtBFc-A4(rclBS9wid>T2}uO*{xDDvud&XXI+FZD1xJ;%?Zy`N=2es%EDp>sUbm zXpfAv8%k>djda>c-!O(^hGWLqguIrKslfz#e((2c>ox2tP$;-2|GZ?ICPp6otW7~e zSSd}jE0iIuZfR}rjaAS)^8t0m!}=~oWfo3?`-NcLV)XZkJli82_VRXZt?#rPKZ|Xr znSZ4CCTldwek#d61-klM@IXNK%^BsDe9jEvy%j{^i^abFBn&P1;X-OT9k|Cl*AVI! z`MdULMDjAt$wvH!mLb7|+nxqy7qMiH6nloq0;pAJ^xX~z#hauD zb8qS)2LQ-YaNq%fz;Yx|8o_`FbQG`F$wy1;>VX)UX`mt)bf7ogP?!Wv39cME3275@ z0Cnq&6}8lX!qoZMC5_8zDvbrH}#MB(6F(=WQ_e@?Ia_k%uj$T0t6M@sQ8@`>m5 z8m54QNIypZ{Btcy<$jQ(DOgaVk`0BhBeFoZv3)_E8wGf0X~iF=h8^=xz+g3 zfwDq6UBFl(pnJtnhmUWUiBCx3GecP^Hy$@Knb z)NmTGq;mycf!i%M^qMkp`I&&=kATT}{b8WU64^uG8bQ8FKIr|sLonYpn%1)m7zJWT z8LTx=j`u$}iNRo%sAfaJU+M_VS;FP@PbIGJ);$76$fTK68A(*q4fOHR3Lsz_%lVY)$%G&jvIobU^xO)US{D@ zW)0m$&!93rom4HNdhj>V@$$cG9uFq!qVXte1s7v_=>tfFQj_=>;v9AJN%rYoi+guV z-Wl^3r^Vv9tb~M~yuvb^?mkk6d`_c`P)AFK6L9p`+~381yWOD0?u%i6``bz=*R} z?!!6aWV_!bABtEms#)FSF*JZDA6Lko88EB)J4blDaNU6iXspQ8}=(D9MXqWJB2& zOAhJnB`7372e;}ff!}#N`wc9YfnvbUHG+5;|J*ND6naZETJLdpUvR+k6fo+C)BQKg zvE_EnjK<#Co>I*9|1tFyKvA~e+bAd@9TJjDcMFmNi*yJA(jbybcQ-5{C7sgJQcIU~ zcP`zz2nb8_J^23qGoQ0Fjyulm?s@L}#C5K7ooMdUxh~IpqZkP0Bq5Yu&uRPuZKTNi z3||XUT+E_Bi`7YzE{@vsrtMntas{}ZL2fBn?D8CBM(a?Bwg83S|AKykcCN(V$>X+ci@c?{Z6wS;s?E>J{?TL8Z7YmNdo7<~* z+%<)7Fuu9>`-^H9MAmHls@T|w6GYRNq}=)V5nNvbjiuMfMJ+@C3ER{c9E~4Lf-Ud*uk_~LoVB6esg~f z^oB?WpgrE3x7?U8k!h>X^>k!+V#u!XkMCjHC%d6uAj2Lh5A9>2Vzj?FEuQUbyb$w9 zFiw?3%NorZE->_f+s=O_Gp6zI1$8{hd&NMzo{p#~B~Yf6xOm>fL~*RD!H|>xpl|!oq?lyrHnM@%mTRS}?JJQDj2&&uL7>0eg!>ua!yhJFwW2?xh+a+#MXx z*XS}dJ!@co&E*o1-EA_>#pNe5gF*QCeZK!YuAF!8_Wx+RkH?6AulRG<+;IE}Eglen{7goUCq)xQ zL!bOB7HOrAMS=OxT$yO?>gy#vAV*`@C2M=AO?&Jr2`|fM$>vD4oOaB$w_#~$+^B>* zGOsPn-HKE>%V8vab0P2DIm3I;_Oj_}JI%KB$_z&NO9NodTbglLp# z+K+53S>MYt&n$FoVBDS6)d5eK%}ZOGAM{=MThXhe!R^+orH2%LPYy{GDJ8y0LeWEY zcea|cTpW8pQ5ta^;IuhC|7svyMk&UMGr56H$=?n-7f~Axla*)2sbvpa9Hb2&A^fuTK|b$b6(<8dZM_i@1$__xo`hRmJ~usn=h8=C{KCK zhb16JKP4od9U5{OIgI=RkNvX49N{gQah+fOl14nQqO;BN0Vd*7PV-W#w}(F%;gZk_aa~rIUC|NPq**E6PpH>6axbjS+7xVN~%@38%J5ssrj$&qfFhZlWi17}-QxlAq9?M62 zv@YayQ`OonpM;i%3eH49x8^}vzSC-@>_A1Kd|?$GOy7Tx!<-)<-XE6+cKE()5dO#( z{zW{GIcPSwpRZ#maD1@5^4>>0=|$e$T}(}GSX2Baj;!z7kz^BlWfB=omd~SWen37* z@W_${I($!H=$OnvJ%0Owv-0!`7$d_Db(}wh**5>$YtfLtJ|I`@C~8?bAo_Ik)jw2d z{^-eGh?>Eh0EptGQyDo_)HWtSzW5-_;$WsMYJ-q6UBvyA)Ave2U;I|hp_8liyv()* zc-GZs!$QAZEwnYIq>%Aa3M#B-Or^}^1G7ge*L`n}S=GF)=f8$P9@qWo&w7hJ%r)8< zgrN{)zVXS5^2A&7%Q0S@ejKakBD4oiBVj%9o5lA+bDwzM%#zF|izIiIEnZFDH(rRo zj17+_q&hDn5@lV?Bw}&|>Rv?t_pj&p*5~-_`y8 zS&Q8teZ>qtI0|!^Z&v6pe0f%vQmoU2U^+lDUHUcWm1$3R0C(Jkl}>|dc#GaguK@&)$tBeV6&%XfZNO%G1TESlQ1Phw}gt>2_hZ^<_kN)a_jbK$wY@p=9Rd zte_ONSzJ^=)1C;VmiAdwso0xuOohz30K0BeUT-WLiv7tlY(%CBp!wO10(@bK$N(-! zV!&SQF@zY&;lyXhr3ozbj^)j%8$?W)iBw^zugtaDKBLH4>*gO*f4^~g0*Tqk(i zgX`dKxVN>=d8=A@!9SQbR<g5~dJ8xD%JAjZJHOFVlBqf!LNQ!(B&6MgZSN(oX;V46*~jw@cFX_;UE1f?{OB2nr~KL)I?h|3sC(u*!!AfLC(TlWx%?>s2 zxiTGbH#eV+=M`hH{|2Xadd;B^{lnOyS`YM0weU~eIMR*|?j8=8+`Y)1@5KKgZg_b; zZC$DxzC$e+kl6E4gVhLe-)ySl5nVZ45xsx^7UjuFNsf32CySxTTj^(n&o*Cfwr;gn z5-vChh)OQ-xdMIOH@sP+$I(g(7LJEDulsFIJ;XlIr=?sCHSYj7ASRk z_Bw7Y24h^j^HK^$ZcL8f8n{S)q{X=!d@ZK9?|C{py;}ds+>3WcXHXCv|IFlX>R348 zRJ`0HrS!qj_7Oce3`>3q7kRt|O!1Sv@wTBumXauU@Ju_x>}0ca?(pp$+m^X-M1u(Z88Kg`cfT{$pVQcZ3t_$1VARap zQ~d|e^Jy*Lv$Pd9PR@ruWA(|G>^e>`>pFllXSvkqJZ@1_R3s;_{r>%XU0q#m?FNUf z0q%pQ9W!9`QvBg+G(io!bMD~R-vP(qgnyP%yMrA0x;VN&kb?aOU zjiJb*x9z(MGbj^V`*gb2QIyh8d-K8SxT<^?@Ib zXi(s|KPjQAx7aksq%SJAw>5(wA3vOBJ=}iJy8S%YPxkK*gSDet(Ui7%My>ruk1Erq z3$UqOT*rdraEtrePc_=mdj?vd#WwiKEI+=$GGq<%Hx!{=dHSU=E2Ve+8c8rKlzG!$ zSky*_EmQIz;~8UhacIqfY|{C_%)&Io(rZxCpGm*;jnpA#Wt`OWkJBU0PDIQJ?$WLj zbP)c1?JtPZTF;d(M_|Q{S$ZOt&fxQ-7XEiU68$JxhFSXFn*^bC51&8vc4^eQY&p{*IKp6BB588_E7?#q{KknoySPNh02d*)T(f956^39J2N&0fnj_VWZ0;uVuX> zH(;~EZIm}i#b3G$=qSbT8ixD!mTUJ=ncJez~)OS!C zU_N7uAF6ihpXM5_{Dlp2o(t+PA)7e0_Yh^3z|K~|pp)6Q``WrX*8u^>1bOcr;T8AI zSQ*Gq&czkCOV@)W%HS4}9&Xh!T^0S6zxzuQJd+iI8Or(b*1AO>_7~6Y3#+Oy-UmpE zc%iSItzQuJ=`gKI;XeK#3<>EyC*_8eY$?M%Vfpa}#;EPQsx6&)hi}i0<1Ol?T%?*{ z#J|ZZsb5YtjVPNp(k>t&O=gIp8HwdX^yF6VVur|+%KN+Lf;(xARjli4xn{aVkB7Q7lPAD+*|KU2#_-z~vtn92k6 zPoawrgY4=}(qZ6rzymk#6{N+h0i9L<@P-JSJ2GCNsXJD=cg|QLoCM@gbRe@tHJ1FZ zFrZ@hsj@i14?@FGXIh;`fhPr&UbS#6?*GeqwnS_~dymq4UI{w3l_(y+dJODH;T!Ro zZ?IxYRL5BD_8!|KM)K~9*qeNBZS3mK_*^dD5R*I1;VBnRuGyi{Kn|&V5eK@dvxN^V zTYrl7B_lN#^;rh?X*~DB_$9!B5yLFz-a}z$8c7)`@dF$(87a5^YJlJe`%JBb&d(=& z349sX3(Kt=>z%;7f0*@w;Y1Jv(Q)+y~_niiDP{`vj{9gB-H6*n8Hy!Fw*iu6;s{wM8Mw>3-Erdy#@_BEEN zdt^P}nokeNw%4#}NiN>`H(Mb%!pXT%t+!P4h$YRyNyyi7)!keJA$1mCQh2=nx=*8X zmiSw6YJv340%&P?*FilXSpHoT{C36U-hOQWXGXL^x07wK>LvRULST0JzNu}g!D2kl z>0MKKZ1#9Tc_c@yTm<&rbpo~u^~(r-x3yqk);i<%NS+Q~OV7T0f4U??*_G^OA-!{^hXfUe?WD2FCt2hx)O3)$G9*loRgkSoOP6BZ|83)hWz_+% zBf)hnB(AcWS_^CTg+{GNi=f=tHBMwKImZ?H@80#%(SKK5`=blv)U?%D5DUFdf(e~P zxVQay7}vNcB!m_}n0b$=d@u-xxA;^8%^HPHe~z*lR1HC`ne%}q4Fb)sJL313 zi|RN8u^d&(dj)t^?Qa4P|174$G=wZQnAO6Q&#H$OW#u9g4;8?PrdUD3CM~eB6^4`o zbwr{-R@-@@?|o0{w-PGc&sVqpGtlyCj{407U8<|D>@1>GVbT2TSo;2&B1b>oLtay7 zPfGWmtb{ngxT3dzI@3~985}25Q&U@SmW~Y^`sqi-ADS%-7AaR~44Xb(7|1Y1CPex8 z;s3puoUQOYwUsZjaPoujDd{$Tb*G!4ijZz|Tt-~zG!woL_#Je5#O1@Z{s=z#eXk6= zTj2Tb$^~b7ys^nuld3dNeFWB#HvB4sQw4l9PcW6=(ykc!EX9a*kU|Lx5 zZ+nJ7ZLJMQ__-GBp!GOrL^*R|>Vo0`SPYnGz^t|(SeI$Ch!E8ddRKNV=D1?3+;HMK zXxMO|29v*Trp#`N5?y=cD$=?gdFHe3ko1#gls7T_vvhO? zV9@?5)GU@C5TLm9Whm-P)UMqUIfc!FJ#>Tw%B$E89=YcL@7#C6vXC@{TSAvOy4Uxj zI!oVin7{Jl5I}<=K(}@8vF3K z)paE3cOrFU-KQlZIq;Y+BaQ4Z_9?2c{HDnN?&tg|BOoHE@SU4g5D#xMW7=QImtAC) z?}{j=@6(s=(<$buEm5#<+XOMW63Y}D)vugx1<{zM#=r}?zvP0 z#UFvr&2^%J&Z3wlv7((HZkNoP=;8lbR*L9^%g_JPlT2!xXAz^J0QwK{E-VQ(if4@_ z_s7%3S!|o(8{tg){+>hfN9m?6O=>1>r?Fenw}lJZSgbfAfNTamy?&Zu^o5PIc^b83 zj9QUW$#K((=gpG+$=ZS8Rg#(-+S-eF3h&#!2ao-X2+n(Zjq|UA3?O{Pp}?(&$-7>t z9KjSZBkLfaeJ82Nnz_pH-TVt^EwJvOCf)mD9?<+)ygolTYxP$f=%w^L^h3t3Kdc%A z#mZV*TK+8kbP-1@?zuedm;`F_{>rvH>}x16c2T}?@3S1c$`N!4MA4~H>$mYgjA)de zo_6mzqZ9Hz!l=o5ym?;2*#W|9QEI?H{p3P{q<9n_1cFbF!<1ylf%lm7m{zdekCcHx zWj#HddM8e-f15Vwy9}HBK5{?BcXC&)+;E<)RbsU-Eg=?~U|BPDN)a}=QTVQGTug|j z%V6-r^E{Xl6@)kZ%LCecfIgGGu9E5bwB)02?<<@K=J6}d$y9S%Z~eVl^I@3d12VSg z+SH`0?yqDzxips}9$_C-2}MGMtqJQOJFoS@Haqvg5_ltc@*L2tbq8kW4Da@}RK)N8 z<|`zf)(d}PN$}V&Dg>sUCU&xXm$@PVMMlQ&MgGYRx9U5b!lzE1MBwOwO}FvpixYkv z1DjMikUZ7a^OBo`>z%esLqkD$8!jEwXW$oK#g$7;PQQ|1Dj7d30-}#xuQC1<&`rcQ{Lx8NPh0?e0#EyL))Z zM-C@Y7T)PnA7x|5TA($2UqjCwi%Ul&Cl|iEhp^Q3jiQi|a~u>NUG%)NpNP~=+(O&{ zLKhK-jT+YqSWAJ^P}sc3lzuC1+2v}P@06LnjZMxcIikue-l zucQhQCmg&;QV9=Xt%-l6363QRZq%R<0_!hH)ucn;_Bky1YMIxufl6QZDcF1Uhm%aWH!pW+*T;Lz2B{s&5+Y ztrcdSlLqtmdU8yugpXy!D@rquF5L3-6dS(?8Gc~-#9$T|t~MhmOn)`7AN}T-N_WNE zz4HrBY2%KTPn)Ze(U1ImU<%xtv+b4#PvgS}ru>(j1|qi0&2e$~AS+8t0(4+H%*|Y-Ye5VFI|F_iSa4q?frGpZl~t6=Cvi>`0+5dDP5s^F=s zDr;#XJaic`tGYsOr#Hfsc_caoSFgH^bOE$@IzH!fK$yj(u8w&LH7H^Fy!9l(0Y{^+ zn^h5nPx3nh1MpY`DANCw7a5)m)OB`A;2|ta#mVniB7AH1#Ved#omr$M0Wse#BL3OC zv#@zb*Q|OMA|)7V6UH|Vp`EFlmOuf&wkHi$1-ugB5JwSH1>nL2c6C&)Ia2IO3(+8st*WZzimrA#%P zo7j(cu`6!ZABJ??V%At_{-z&#;P6*?|1}hUD2=-?qVX~VsR4V5X4&+iw*w{R(lI~U zv%Q2BaS84J-CY#kVlQEu4)31@+b+NvR6MaR-Y`vr90uXP6H63yFob^JEHVLMu#czH zFr>C3!vHLZ9nS=`Z$*^0G7S+^Lon@-yAB8rw>0bEkLP$R^%S-f;z{z&Xjwf~84f}B zf8qojbiXi7L)~qAVLa4iv_}t3B)wS3ohQZ*%aEHq#9F(+(kc}?dY^T9w{pMb zf*QWg1I+fQZjgR4@Z6r_B>z3ck<{dKwIg=6Ku z-{Kgm1#k75{DK%wY5Qq;RLxPxI6?IicC*_Y(m+-7RgMl{u~e9x&dKbhVl^>U!{N{B z?Zb09Gc~%Hh0MW1jfWW+$2HjSrr>X^^=_7!^JXEia9*cpjF%AVx1z2~3MMxSpx*j7 zX)a0HIP=kvKle3hu0B;U+SU86$1xS7^`NH)pX)kNT)0G@5k0;E0_u6-4X_JWVeb)e z-uJ>&eBG~zR>U9DXEj?uLEFH90Y}nok?(Qjci)SqG|7&M-z!1fy}T35BT~NfneFnz zsXeJSXa#N}Gc5oVY}@8`tl|rMRT?YH@~Yq=7MEoK_Ij*(>k8&G(_ooEbSyATh)3F3 zZkfvX@h&jyKBv_<+P#TWai`WiVM&><{s8N!(>F{Ok6w}IOjJHQZ_LS6uDh9bv{@+O zvNnMSaR6IrzOb~l%ufgha1-&$W%lLM5SE>V{Uvb@>*}u;nP-SMsSs<}-%zUrx_q?h zQ3oua^;W~IDHt?XobD@Z!dV~9e#Uh~#zmO$);y(sL&I2-=0B6=sMMJ)Fysc@$b7Zh zQ_NHBGM?zt`Ikk&?4`lKD_cOe&=#J+JyaQIqToa;@MekmQiL%BkeJ0q^5UH%PD7l@ z@bcqC_9aA<)Zn>Zgukdk#VIDot#iLylO+Ks@Ez%YP5>Kl0$?e?2^=q!JlJ(Q&%Vn= zhO(zvD&H-#vs00KY!dr;AC+l_Lr}ll6xs*;{6KeFm1r?naVt) z|BY1)QMtj1G0hH66~?Qiwxs`^kyh7yzAikv)V!5po)Qe(`uX$cA2$&Sila4IuPeqV z(arCuR1aIWzj99U7)oeH(-c?ssfl7i>Ju3y+Qt2IAL%EHZehpexOrbe43a{gtpTOu zjsk{%2lU(QnndO0@(FogWOsjhp9J$>!|`#LU@ip7tF8_x+{xO7hK2lBU=n=0=lX6I0!hpOUGo_#F$TzC7NSQ6u#+(J&K7d-7H`Yn zfsu_z_G@S(6kRD#Oe6#>M!X^*+lL`fYMC{4Nii=)A;^kMx&sB<*#CKyKH+HCdqdqQ z!FKSMf7yWL5Z~~thx;V)`?Wgy`#1|e7Cr#Ft^*hh8*N@a!AZB_@!UrQi`8+I8)VER zjS}LQ7XZui#_VxCVC{l&om(>zc2Kc&0C`3w?o*eLrEbMwaBCzn!E+Y?!6=!b1h!UTJ~j5%VBP`Wq;wc zXE|1p{JPm?WpXy%MjJi47dF1U?bHw#2EG=$ktArg#XMR_IZYDMH=#Ml)w{yoP!0$X(d?2A_0+(dIf z^yn@1<$;R|K{m`#FG|NELSNm6^{WY)0jzx=~+Gxf>m^inluX3ja+-~kC z-F~GD5qhE?SZUw%X%y1udN-Cc5`=YlmjRla*{budoR?3kVA+3y|9L7pv`f(pQM~^> zZO)|5

    IspR29BK={B9QjpgX0KuS@_x{L|1nUJ{ok=_o8>PN z3KDGJv^d&*A@d2+$#*d@$Z22)PkF?ShT>D?^8tCnlWATKk((QF_2T5``-RX=ull+T z^_yWOdO+5A9(s3ka4fnSW76m;WP5)=1#dY|m93Xyp1|ro6vbIQuFv`)051_ZI`9ok*x!|9%(R42JWy&W4 z^Dm3!_FfH5k!GW=e8xi0m*$vgx!R^W%p%`)5llaEQ)H$O0zeZ-4d>wsAJ6GiZ-i9* zf6;iK8RNggdQ;ciIt2iI{a;0)AdFX;f2z}u7d0AIhcS(p1xbLra(xF!cxt^r^6<~e z8~Oj4LI*i$(M(bxQ4^2*Fy#1)EkoTs4Q{v!Dd#EsLY33!Pg24l^75t|pCTZ)Ptx}l zMWtqegcTPxneV^cy|1F@ngtkkL`^0yFwKSB)F8$HiuYZGmaT=y3e=h=sB!8iRV|(1fsohZRbbh1NV|=tiG37IXa}9LSqtg)Hx`(K= z=-P8gDbUcVmbr`TLt^AK!wW4a*YShboInH zuZA0MsyJ=Dj-HrtU?n)aI`dTHrgpB4IUmJWcpasmwMH{Ztg&*QYX$uQGbD?o=?D=p zi=;lLKh)wPHZp+P&(NX^MU$@9^e`i31Bhl^O8Cbop$|=(l^b4+jo6tq#}EXf?`X!@*C8f4;YhD`_|@ zY_pqC7!`v9d41*FnTq(t0$w@hGuik0ONTFfZ>y_ET2{wzjxTrEePNf&jrSLb6^~Dy zO`}Wgsb8Xzm4BvJ*XI~pUM=RQ77#mWBmM@`Xm{TTo7_>n(iELqt|_i|#~O4~xp_$w z)O)~>DaEXz2|$F}lQU53lhZq`!-xLdXwh=Ik0~{M+1~X($+i5e(*&11Dae>}+^hyL zZlw&+zEL(^A7YijRUQ^*VV!}VA2c*IC_FA>&9iPq!RX=Zn=FKXLD*a=#RCedy0H$A z5ONGq!Sf<)G(Ol-QDz1RX$(O?Iq+$o1yGnQNf)iY*kI|7*;EHTUTlr*E*R|p?6(Gh zEt!XMpUS1J9d?X-3MfOAP%%{ zsZ~`ktylw}h-XGU{a)5k%lcA<<{!OrgRfKF2I#|zh&*$)nnwp3lLYS{Zg?`BMx>}- z$Jl2LLtR-t|ExG^diQ&+6@Lbu&b*kK1E|+533-{XCBVquiw)AavDWq%y?b6}jW51I zEH1n};ZI)(|NJpEo9Mo%-1UTkDl_0w8-UAaEB`(`hRWWre|DZ=Z~q%L_9U$R?dC*; z@9h*pbk8Sl7*rqN*2BcI+KLNoPQ<9%{uH)32zn8;U~6x3sDOR0>xoCdX8EkgmKb>G z$nTvcO>v5zMk)YOn<&RHN3ui*g=aOt zVszWEI<-n3sgtv_{FaR%l^-CkaP|$8QlYKSG|h7=G`5w%H%o5 zzorH{!kkw}!WuuQ8iy8Nj+B;(td2c2UlQ`lpn}3OmGa*WWqU#&&O2SK(*pd*-mKj8 zYwxI^6`T)e%(ToJLbnqbt&7z9^CGQd)k1_{*R~)I4{!|WkK!3sd3{$#W8%x>POs^+ z`;T@V@??mZQP=cPg26Eu*{bgA5}pM$95jpu*h?3-tXg3tcs-g zS^ACGVOtS6)=Usgz{dTc=%a68?<+J!%^Q7XUQ_&7*ioXIM+=}q;+F!f`yf}&691^9 zS^3}}dh9#aafbMakC}+kS%x0>8c+R+X3jJ1iJE%knJZ9R;+)iT!%3Y8OmazQ$K?)?Z^32!cE1f{TvSx=U@9oSm z>@SP=#Fk$4e!}mH69E}0KIzc^Xm;6>$F=ppM|tuV@KrjZYZjhbB=*S{fSB&cn}dT_ zX{n05rrL?K2O8md@usF*o^0Co{T26{=Lxj(xpPy0M^X&M8ohNNSIpK|9N#`5U>hn| zJxoc^3Aqc!ygkBbMgjg7?_-LGIjAY1N||+Va5TfG&%Afy)?#35Xvp~j*lDQ8Q5S!4 zYZ}U5=H9c#qXuONVk)xW`d*ppuAnrD>H76FVa7w@%k@HPbAE0AN5SP4?y>6OSEc*b z-lJ<+I{kvIyrj_>ngy0D`Fu+1z?7KRqf(QGJUWe&z5u2SpU|p{XFz_on~0cibPL(` zF&<0B^1}})gkJN|(Fu38HSx7Fw>1x+8d!DuowQ4vKWghRf9Kx(Q(c9C^GdEfw}3rE?LD1`rc}8z79oC<6rHmjQk6 z?vgJ8Ew@NO@=W9ZOjKUD=1xSTLWb0PLunS*Zgc8vTP%3sgatHVYGB|41;K?PIk- zS_E7~O?Ag6%XuJ!pKWv=3`DG)C6!cwa@<5(cMLqse2;;>!umFd-`%V}&chTPZ}%=M zOpiW@dOJj_Rf!q~y(2cXyMCb}o|kvHw|76+A#=ZWjKB{YO8T+)xuA3z9_1_UrQ&Ni z>TBR(_CtJec6NH9YX0b=UNqCrFw0u^QPsR>=y6UD_jeUr;bek*etg_sy0h6!$vib? z8a@y`peMbHDCZ6CUp1XLUZ8PaPXWLk9*pF7KtY zZf=tRjQ{0%t*P5@7R9oQayu2l@c+z&^vnVxDh&d>BkX_wb;v!wG;u#CjJNJNX*I$x>=0KrvifnCN?FWrn^HvlXh~{rq_yU27 zXhh10$U`r*?E0qhb-8b$H4Hjy=-ry{F2yE9o&VML?gy|*TUB#%`obR|0vYG2$>o3e zS=wAzsEY>Z!L{XeL9ILOPy+Igtjkgh=+&7!RVC42(7=3C{%W#M<9#+SF4V#=9=huRkbP_4`a>eCJMXY+2kWV}Sq7gA(dQg3e^r0M7_1NH|k^jVkJyMvy!oK_5m zngPPojXLSGJHpqzy_AlJ_7Hr+7j3h_hc3wuTQt6gbR6`QZI7If7z!G|_e+zjc6ej1 z$(BBHt&$y1UQgdODuMfL66D7J-hQxK3FZ^OwROcJh+Q)^Cnbn=g^uaXy+=}A9HPT} zzw;80$_OOi&Adnt>4S!dhV|_OV{&S6sU80G$I7az#LQT=^zE8~8dE%NnyKyAy)Gmn z;FI5K>S5;^yF6P*3jXoG#Dce@;M*&Xhb{V1(X;r$EoHiOa2H#ATxx;)9sSDP8fTR7 zl~Ysl0iJ25Wkzdztou8k`ig^yP&g6AE+8=O|JJViNvPpT5{#Xdigh^eOILuJ++@{Z z=7@C{VZ=KMWi5rX5X6d)u0W)}zbuH%UNEERgZzS~#?hg*?rYAuFUJGL3-@*vHURHP zMvj^Ueo*=|(-d|Ae~~C(M6RsFtmg2m@6PFZCesJWOsGRNF3)q>=-o2}s3TxTV z;ruJTX`_{=$4>skMzTqC)8T9zP;Nm0Xp*!sM6f*`U;sLuzr%ej1N=&X^C|g+uAa6- z6!~9yKmgd?tPPaY>T3FM69)-0=~`P_6n5_6Ws$SGkrny^2AA{9h$w;^lbW3aAn8OT zwJ3f8iQxd~>2Ydb(F;nD9}Roq9D>iV zN4BTfV*d!0=&`UoADa4`)kIZ)O2|sOvZo@J<$Kl2>T?bgzgCdPWny}n?N__d|818>Jfr*^5 zj&~J7jm-;O&>P>|b^_)5W1!_-^Z{5vWac7BevWmcoSWVpc4^Sa)%*b=-LVj+-tcBgILAIqj?56^kc*vTU67cj_wZ zxVW!rU(@30V4!^HL*&?}#-Rp~{5+vj>}rSByI6xC?2n{QxrpnHPEN1lD%kWzMmc)b zS2eH=?I?n%y$jv-tJ|SUVPQ2aG>VqnQOSDA)(2t!xlRfXPcnYvq*ztqKiDMwPT977LWz)yLT$jsuK6av_%yPm!uc$bg03t`jGjs9*me>*Ni|D zOPl3pAcv5Th#WOkBt`$vk)Mnia_()SWKtk`N<}Dm??1hb{EN1l9#L9?SvXjQ9;!PG z8)V2)&7X2Qoc_J#K!R1xii^s`^gkE!&+cFo?}Thx3LFfG<@`TXYRDLNk+O0*kSbvC zA~9qET8lw*OYd)ISOF{$EFd^j;b_|CH53_#78or}%u=6b0$Tz$lmerAK@ZNGr_dQ3 zwm}C$@(9G6KaDUd4f(^ydtprj7JP6x^G?}&a2_Pgg8WHrT-@shXP(d!Zcd_ZwM}Q$ z0fxeN;gFO(vai34sB%gmiV>LKJ~1qvJy*~RV|NSlhw5@%fA;nKZVdx>iMTyk+Bj*{ zD9iq$Ng-W&u z=xrUcm}>?9%8^Gnuqb{?w~VsVtL7r$tt7dnVGx$!k)A;=kcWB#(VZ*Peg9)=0s*r~EX^jN3=Qa|4zt0ZR9w}_C0sU7iMoEueME(Q-BnF0t7H5~ZUGIN~EWHFCqLdFQyt_1~ z(mMj2sGw?PhsLc${CQz>jM*}_Cs1li*x@8Yh#AE0O%x)&_(HE;s!1LTK4}r2Dny#! zgOP51zH*(ba`DyMys+4ANKaqi@!a|0W9ujefFMA!zc_2;Ly!r{Ld%0`?f;u7QmihP z62ch!8j4b>*oL~!Vg7h+xB(7iG%QT;?UQ1b-oU)a+`Wf7h^e=FBbz!Ha2q#E=5dYM z)eol#-PW_E7l9pWN|P?1GZ+ZMfJowbu#I}$cyc?b;&#;_6Ly#b6Uq3FmYWQrMCBAxgV+{jBTC~{p?k@9cx_4`(PF!cQW>R#KIrge6)K{Ce;!A8s@j0Fcl3;%=(usu7yHo4-LY_1;i><`#F*T} z-L&XSHgNop`bQ6d!u0lkzU}cQ<^l*3N1?yqVLOI1GLMPE{L~^1eYn_5T-I_3QeXxS5{k_qb^Vql4eNu*VwA!|R^H!E>jXObN4JwG2acZ( zO<0cvmG;!-e%MYE*=+NckOrT1k8g%d=H_cC!n&<}h$NMC^QiW3+9TScBhj zGSE|=$jSJ)CiZztZ_~#rPN3@wP|AY=z8&H@3#Ip!Xx*TI+$;XY_D>ADEL$V)7t)mk zyfj29uSL(qYGwX(EkEu4y5!sK+lKgUy@xy)6|s#SnoEa!+aoY~Jz!Z#E3c~e5Bz%r zq&)pKhu_%$uS^WX&8civlX96FvxUprjq0fgE-VwhBgcr!0oQ?YmTO%~HSl8XKDPvs zlMTb8t-9nAhO|iDx#vcoG^PFw2^mTFk}4c+-gY9G*2g0z(xaC?DkdnnA(OOMwrXLX zsmolW=*l0Z%fMp;ikNp8bQD1YR+V}kv57yj(Pkya`U0rE6xz*abfoFl!2@Y|`H z@3R3>$tS$*O+^h9|6(gi;-E3#Q2AT(A2IxOF5T_{bhyGp$y56_FXibFlCQEBL zA9ZA1FGl;Ec)}#bQ^}C!PK9>+5f)#lc-0nP#NKVLjCkIyi68#8(sq~LuxUDO`n09J z@`lP2I~*Hh?5+R*pHmrUBMq0w9A*WpwjVhBxPMgDZnrB;03Z&*>5u@kT^)C3c*o;~ zATiKzM-M=HR{nJ7jQ5Xcy74VStIht(w!)!N&!(<-%cV)r1_l)pS|C?u!HJcV^lw~tbd3LV-LZVr<$45O z@X#9y4?%nxa*P+>;l@jynL61wbLx!v8S>iTy~2-CZ?5By`f>)&2CC=oJ4tWH<|fBt z9)4ti+J*1(k}k)?davijCLy|f6N9jwfdb0QpAk#WH#~-P<_)LX$Fs4TwuhIWm++5w zWfjZu<=?s1i2v?-!{1?o5>RaoD!Ih0BTAR{s#+|fJ;om47u(oxY2c5Qnq41SW^Hhu z<;JFv8q%hIl{CliX!=9ZQpi$BY$yDkl63o#12wkls-AMLFEs}}2gf5^>lL(ez#_HJ zMJUoarZlKrpcwS2hay*A9$WMfEwpodX?l8cNyFehX>_;Zq?$ZWwK0j~t8HuRc`w+x z?`hKIOEw)AutYS|3CeR8lCYrJ=8L!jOM3qwy$1lz2ktv&yep|*otpw=l@{KpFFwl? z<7baA_!{2)wiaL7b5@#k(qD1yz87!UBu)*vRbYZfv3HfG#nCJR?|0Hkm z@i-iQb#dC^n790|+apC&O)zy+pahO(xLQ*^ku}_5r0&q)nh6>Jw!rn{ ztsrt+@~X6_#~HS{lR6r}!H(ECDqaL8Y_g^R8!>u20Me(WbZ0HRy>t7TTaehia++la z@zPw382C@~PKA0h*cz`zS?V;W>MwYrT`NV_BPDV1G^Pg|0nkA?>63_20h;?_)b)Zx z*OPEbLHsXAyHfwudUrdIO+PIkVh~OQ<{15R<@sPHvmZFA0(Et^O?x42qKKjIL%*vO zne%%$!n)T1Vm_2T305YXr7n(Gq`LQ7Ti?2mt0HxKR=U?x%joOk%bTG1prb8%Fw$#y zmSi+$HsA!_U8{>(HBc=S{kvH9a6IjMC&~QgFH1xD0d{D00TjLsJ7z{l0n%`x+Jp|j zl|aF_?=5VO!n@V~iPW@X1AERjozd*)h*;{)0oL_3$bOMTwJ%;e3|kspM9J?GaKjhX zDeK$E;LPuu9?Hy=^<{uy1^oKOfNS3*5h=NtJoZ?Zi$`YspOY>GdS>!@TDugMiaaZU zOZ+OgM+N6kdC72yQ--Q>9?5Vq_Fi9z|N5J(X!^JUQ`*PzZX`=niL8|aN%9{|XlD5z z*!+W%QXyQmRr4zviDND z2aVZ`o3y)zhKhM_!TB*zyC=b{cS9`asf2gG*Ry_>XOgxFTwd;}FZjqr1tM#)yP@a2 zJ2My7-*FboNG+ha43jEvg}=+98m;kP->?@h9HR z$msC-P(?J%AH;&$-+NPO{HjuDAByL!H5EZu#BJM(q^d#hIz9XsVn11OIYNL zK;Y%(V(lfZzPDs5i7BgFdc=|?ccX-4?x|3NUB14sO5&`1r$nRw;YAK1hFc*0Pb}o_ zt}U+X>l0OmN27v3QnO~WKVD-J5>&uQqq_3It-F}OcHD-CUL4Hl3bWx3CUZ~oe z?9JSCavyhR@HE8b{;pP&{atC%)DY?87(iqAJGC-e7;RR^TWt-?&mKFzzf77?C4Ks= z`zMsgf<$N?saujjQl3;L^&b%%2`?e(`n{i7m%0pH{SFfHZg6x;vYcaOg~8=EhU+)3 zPI<&H#n>uT-lZ2Dp>c&jV}!7>I#U%mz9t^Tx?4GDy7%j~r@-Iv#dhaRqQjBF;8Gqd zGm#9APDKQ{O-f&xhoJf5iY2+y=Y+k?Gj$A}#YOwq-1I5%p-sEE0`;Fd9D0_se0|~C zY63B{28%(s)mD;En{dO!%fI}GSIMU7Q%C}4q)3`XlUav!M$!k(IgYOz{i?}rY01s~ zmJ%k*3~=An2DTg;^lZ$4P9O4}XtelcMQue}!GVsFby?>TrEgfOliA@fWSSJhx%c60 zatq*@O^k$KkH*I3kLMsf(vVoiF4kfzgbwtn3Pa{+#XJZ;gY&y0@evY{wDqNqn)4;| zMj;}+U=Qnz%(n3^vv{8j1ta`@`!V`6Km?GGxNdM9Mx`z&3}nQ9q@!cC z3&qrGHtzyZ5ah;4Ef!25kg)Q}YiY1cz|;k*{rayz*_ditXTX>79obN97#bp=3bq%h zR1dg88%)2=82mordpb@|ylz9$^q!+C7lqeS2rqUpHy|M#!bc&qk)x%KXV*jyd@cp% zkH`3d8wk$6%2OTyJg>ZnzQT}b7;MKD>EgH0>#-^1B@QmW} zGhmxA8Ey={I}7%0wM#_*@^+6>^QD5LC$lT}Qeccb`cbSxgSn{dYXTxOW<;r`SQ_x@ zjrLJZwzDXRSk_WUxajA{In`!h2C4 zxxs2qU)7ld`cv*&bZ!9$12yM;F*mT&Vh>UQksTQ`lw5JHXxzz~0!K zbMdO)^^5(R{OoB;O!CT38nM}>4|}4~%G8B}@vpm%7FzA5)nb1>@tWwP?hs!#aHVv2 z6@K;A^oD>&5kp(F8Al_!nUO4aB}YjJQ=a)X;C5^^qvV!aY}-yx?#rPJc~7R~mD)dw z68F8DQwCIsZhxCp+i0&ck}$c(nMx8i9lc_yP%56P`X&FVl@%p)Qfg+#ICogJF#pQw zw>xvei!!{@e&^W~<3b;6t*PUq`)|;S+oiRqKx}mxJd7~MFVBPi@Z`=}XB3$lpRVrY zo_$s_cJ8~0=Cez$^Q8CVyi8nFf8&0M07svU*X`$HSKHtbxR{bpFN8bJHm~UBm}m86 z^Q_oq8taOncoB1Bd{v~OFPOqFL!PX)I$8e%-#Z5ZpEDl3I2JXJytHd>CC@%u5~WzA znE8^oNTq3b_hFC2D=TDeo@>KbGMPIXJ^RR!5w`0a%)H63EE?kN`6Z+2Y|9UQp|gsT zhYHc8S>HWw0p;g?e^S`U;6Ougwe{02V!$NAi}rdx3($buaz6|N7Va&y{~(E|_pS{y zx@!#`y{MU=b;caj8>lQHe|1SpLAB%za8tL}T)lVzqQ(d@LNF!H_A)f?j2>?U_|Kr4 z%?2~!Z|}&)jbwdqRG1kf&Y}yfiP=tmswSsAdNSi3{3mB>vcXY^mPpM;I=3ots=g~; z{PED5x2kxngtj$u{h{WHl)Rjr?C*8E#7D)%eqv_79K}~!o{dZmPy3ux6f1Imgy(t~ zRh5@E?|zu$(yylteevspe`70#HF5-bz?Owj<6pHAII>H){Clykq);&N^II)amA%s0 zhI^zLr~R>POi9c8su(jo+{Zz^?;Y+JP2bl!G@PX(i%se({h)U{Ri5k-@|UY4JCc%Y zD4%g?z!)5G5fe$=sB5>2ak%5pLXNEK%RrM3c_s_aAz+6#RHnQMso?N_W> z&ss?Fs5ofoe9k6{&s~#rnnqR&{%nZ`%9Knh)r{VlI z8ENNPr{dh5mznyW_3{>0p=ApKqdVF~MoaHvt_n(ReKnG4n@1I-K*p=E#H$URI!2F>-L&yG>eMd#X z-e|)$vZwO$OT58*EeUikBp@o_B;U*jZCqFCQvk5O1=9x1e`EWvI^GjTu(7!0C3bXV z5%q|)18;gQi#fnO%)8z+&WPd#E_?T9Q;CPl&}K^&asM|(y7~8=&#C>J7lM!u27Mo* z^H4oa&iKgYK4#U=6XgN>{uW_Ezhi~P-Vtm_R4{^{WBG5JTsz4R)7C}O&XK~V?!@$x z=ECM`CC~1EFk;YnK&`%gP3v0#b-7lY|J0IaX{)-JOYTCQ&NKa0HyY5`c!j5URE8w| zmdJ1L*_}6UZTibTWcY;x4>9`#?f1DQWHbK=fC@knkirn3wzGE+d;aSMXy2$*hl3tw zxfJF5snELrr!;(gYRuj0rIB$erciQa|I5RMU`h3+58%3&uzpI(8Zf z+ag-d1cxK*S+>5GY#u7V%z=*_e7C@O*EiT@>gelJV9~yP`mGF$LRez-k4GCyigUTu z?=t;C8RRsEX{>u*dQ5<4jnD7FRZWOeh1p~9N@j7hK}Qk2m0~ZIHVjbQR9vSsxo6FD z{RyC1;Y;y@W*uE44i~-9U#xG8)R}3cFG6>|cY~Eg)DiKbvDdF}EEb|@u8kDqJ%9Q^ zfi#gqTR>j!UW3eySHAu)jt9S3oJe0%`&}ZIlOpE(;?e7g?OJ6Q2B$tr_H66R2EUb7 z$Rzn|x4z&7LVJV>Z<8h#B~NL{{pOTU`m>9~G;_!Xfm$oxg&XXQl{hCgS9ipp;Nx>_ zG>V@+qsq~~A(0_vz0rS4EIR*I!)dmzrntCwaZ9lz1>7Y*R8juCAkCx=y;bcv;39gn zi}dETeu-I-(7G3(?Nzb&s_v%O2f}iV7GfpGcE0i|MWDOL;~%;ozpj*`>etXvkTC z#@?7-Az&Ns?{06Ca$l0Ae~E=@JFT>|DJklvqIJXTS?|#XQC{AN@IV-h5g)<-ES;psSow1ojUqQ%5isf=-%dC%t-# zS3L#b(ox2YlLjb<{NUzh7t}VAum*$m(*Dy*D*MLz#@e<;QI9Lv)E{xYAXZ^dib=^I zRnQq5V32C@+l?5zwY6z$A|7ye`lF}Ht0G&cgyL4aA8Hs$VPeb4CU6SHdO{wdv z2}HaRrZyp z=;!XE1x%KoCFW$-R?JI#%!n4N(d&{iI|(GzGP~;3y7N@HIHB*;n*{WX`@1_aoianV z!&BgoSeCSOiZ4@?2Jz~TzwNg!NpdS(DOjix6I23M&4*v!p)qaV@`JG*VRuCdhJv~W z2k~7ZzHg#*eq4!igfvuXT??CjZ7S*OwHWE+p{%)|;}a8ea||4uf|~5<1E3zBGFE>s zeKaWeaOy$~9ziTx+4z@7PZ41bT+06lS#@yWO zmDLq~RZTb%8`_5>Dd_jhtFffk$CIB{HWeso+UDb`=o!UMVR-jF;512))xdEa&pShCr{&o*Lp>tmf=n#EqO9FHOChVt2kNy(0Z_m&Oo(io* z`Q)%JwM%FDReao0#YX+%~8GtyzYXjq-!eD3Xo33g8wM`?gpu1iP zgQnvJX}YuAUI>(QY#L`3 z!fc>2x_WyW@}NXGJA5#Nc!s9>ZBZ7pgY*JR#lK zj~Xa}(NAGK0o%b#2B{2D*OC9C27N*D4@3cXoHr2r>&zKnQ;ko zs+&1C^?*)IdO7b^C^{tiust0aSah!_VYK_xPNgYIm^q#aYI zW=&3TDAnTqZBR90Ee4`~zS9P7^tm%sXe(uH1Sd_Z zuVClP44@j;cOr1g76PRq;xENIX;~&Gqu$rnqDmP~Avub%@v$debElpfMcx4p-}$~p zZ`JJe=2lxAgG;sSg-~UH+9LwylA+61wQ`pF!pKbY@s=DD&8yqnP0CGr?6*0)C-63! zQlnsgM#|44neS*w*(3M4Gunl$oq|TeasZ^S@kgkE_h%)Yy11wxmDKZwwVx^3f5F1; zg7ITW98IyQNYY#!ek1hDVf*Bn|E`m3tKYOg&Njw~|DIA3r{M%Xab* z)6_YJ>GmC$`=Y40jT^qp{Cu~tU>0`;c28NJ67#HciF@v7o)Nwt%MXWCo%MN2Wfh4$L`bn{+TN?6T0{MAf8QhT zHAa#bJ_T;Jlq=RrjpyWMk3zW92juf>6d^&gSJU+te7x-HS{ibrt_F?BG*&h^yI9#7 z!s}!iz59!5>m7X^y84P|+z|jf4F&T zdu8?LF^{1zkJ)fzaw-&c2D9}qR9y5JNQPu8gdgW8=KCFk)03Z2?YnEdu0w=f2k?f| zLzAFCXg)TZOM3Cwb%=ZST!%QYc8;E_7b1h-$Sb|}Ao3-f(nERDMBOJ3+gwN6d6jZo z^O=|^Ub|3`Mjy2Ye=X9`rdzS@T}a-rTksBw@((U37TF}j> z61qWZ1YqMVbbX~SdP@;vM`cxLm;@zYRE6Js@s`v(9h#Z<8tt1|)K~ncnI~-CFc}Kj zFoD-;YDk>cC@@&Xt~8V4wnLSbCz4mPzYYELYSbya7J4_IOc(~^{XGy4v(225%E-%` z$xuZP4yw-kFDPpD_0-zsezRg8WwR(Z3dj?bhE*cD4pt`?^C60tGx2LNq8aRH|(h6K=CaUkg*oZhZ~W%)8UT zccN|#QxkfBx@KZ5xVuR>d3(V&qp9aJ4zvO!4suX?CRtQ`|CeaO~vl(Il2sSa4k=j z7@v>tb*L7@7cDG0PP#QFr{HmE-U!!Qj*ejMw1Y&sZ6>lwHp)lxX-P^ri51(uaK4*x z*VW7-{+<_i`BXI*4M+}T@qwx2ASdWvj5c(tC%q){?KRq87N5xucd4b>|AQdh5MDs? zkc6!ey9isb=VfPtTz(9Q>)O#GPTf>D^wUtHaTdXuMX2UwUwTsgv~^KWCh^VcyB6ie z-t(DR^h653RHT$jqNK`3j5yo^2(k*I!tVA&)lz6q1ifxb`NqjK^e2KFqHTUtXyZnw zs90)WnT+qm?nWe$Z@3L)|3^c|juiTwbCAH`${1huBtCoOW2=(~rWZl(Wf0=N*vA3h zo&2A}xCZ`4eBlD9u_45&2`j9Y;1v)43km0r^~|zhm;Gh;fu*tRhPnM0w~Y_}bah|? z(Rp|bdJ;a7_><+>N8{DQd; z(e>&}G&-3F3}Q};o#f>#r@Sh3KCZibG%$;0FXWm^lf`Egio3y>0`1fCFEk{05fYUG z1xJ?O&=L7pmZcEr>wJVJLZR=h&oZdJXZVZ*Rv69(D0KOYc>CYRzupP*>h)c`B`+64 z#at5A;IY=i56k14X-{?qBJqmfZ#T_Z%54!*97!+!+stX8zGG|sJm_o!X|6LubJOUV z%t*Lcr=4b5OV?uUUm3&U>aBa5jRTAX=^A$JMF?dGyDxbkRtF+pZ)qs56hoNKDSY+TvD*}~6mj8B#EvXMwq ziPlFbJLL_SJxq}Ox#+DDgdJ4b2q886Echha;vKVc-(zxP1R-M>(l@%k-aN09s@r@k zKw3c#=H3Gi!;RXM8}f9UyAJQH?$KDNvX6Ok=P0Jc$Qy~Q?oIY2YXqLuD41_GYF1hM z9TycBt?n5teuQjqFmj&kV@|%c$ZQh7a_@YS$lEuP)BfOVj|E-+r@&yE_N900grWE1 zNG)~;6xdB3MIX2FogeX@^~L)KbI5g4*~6M#-{z>ICFV|NWrDi0AZma`LT^K^=~R?B z@avYFW5bo|d^544@QrIAjao6q!?qfi+hBF^Z!Bk8_=x73jv$b*0cL!VBeWS$fta}+ zIp;S}B_S@s;QQy3EF=23J;lvu_zB0j(;KTM!$G9mmfSOv1E?axQ&sT0O#lKC2SlUZ zk@Z$zbTogV7MtbOPz^btmCw&JL$_*16(I&yxirnvGV-j3w|6?*qx+hCHs-6LRrS>8@M4aYFA2tQM+0Mcs^qsUi+kMtYs9gzZ2G{N@|@=7DczecS)g@cf3;2rQecJyEE1MIhKgM{^Du3_pob)UJ(9yS zf^`zv8z&PQl{}O;nEfMF3e7pj&wkfeq`LKeSig(Uk@~@LqTBqT^2%|LWFme>9<;<} zYT@oCS+u2e?jjAwFx_1Z4k=7QHpSK;vjd0X*Qdae>XZTdYd@43S?~9#3X&6q(_kp$ zdcsIzQm~$)g3eHvi;{EcgVUel9KUAhY8aWwwA)VHJ7#~vu1!e|_UDmZZT9iUCy3xW zuNkEqu#o&>`^h^sp5q62>jNJd1m=U@{)lh7p%j}4^+58_qtbVz))~))tV4wCoHXN&?>2&HTCPZ4`XiXZH7(Ml%{gLAa5T)VST!7eZF4gO=k2 z8M8-iI?pvPZ<BSDKhY1g{ne-tX!C zwe@8J2|J!g(;rNA_?b8ft7wF8iy>K^#gF?LW=tdUcl>MOY>q<@_fE~c<>exIolLa% z8B!~ncXt#rzC4^1GljwIHu6yI0mI|x?^7fX%7A|kI=f-A`{IW2ZjVR@1uNkL&WAMD zLZXU3bQ{*hhyliQ#w4rvh(q}Y&GL?MNnA|qx)vu4X1cHqDyCP#-(sSYnbO$g-FK%3-29($8>cB^Nr_7`|mUnpPxOPsu#>? z_hHIQNrJi!5mO(wt#-7ZW;+MA8FGxHKK4-D?D9GGKii*SIB6t*1(TR#uryhfYk|te z{uF%mJ4@|uwBW565H1G#Qz_6Nf1T4@Ior5>-o6*lKwji^=oEOq6nEq`@PTV!V|C-~ z<$&>F<-lBm>q9JG{zofOnuP%uu-0NSBrOV71u0b6Y5j8YD;fLMbf0N)X#VLPCD1z} zY+OL3#EzvW@Zb@H3tgo9#&IZgjHvf)FAD+lKkJTFR2*B@3EYI)ZeJ;zPKON53^wgw zxj*-(nYHjw8mn!7)X*05X7I_1uBt;^uY}{grC=j z8mKodKC&DH?VT|%FK2eY&>3Q}{zDVb3XDT1L6UmUYbQL>Cng#(77wvWxE>=HymMAD zstZYzp=nR_kbDegeT*xe6mWX+6|@ zAK)RTj~l9>d^=sJ_p`#a-`H?{6HO%_T?&sgTgZoLKV}A(`slv2pRO zr`hQpsBH}M3=wxxaV_B^9G|0v>DP(szY+|wU&G%#cD-Qg_6?fp^uA4>dL0ZOc7npj z?N7ud(E`I7@l@^$vp;e&LU?70E-le~Atc<6{M_2+bYWOovRsP+mdG~35u*qE8 z{&y`OX$+`bj-KgkH;H_b2_(jwKKV-gg>o?{z9L)D1H+Tj$WYE#vwj@x-M-CPiK6!r zv*4n6b(oW``Z0H}wU##+jfaPzi*$YXYDJk98jZh<<3dvYSKMX)LKd(|s*9$rNo{P`OECg_4k`OV{nY94L+ z&q9Q1yn{;Y9}h>R+N*fEtW6AWyj8EFNTe~Dd-&4!dm`O|WAb6NW5>~07SP|f9xX*H zF!x6yQ8j00LRG#qS+AWUe~{Iy6--?sx{ks={ezuFn6-HFn=bQ>d!0PV&owK>-zAG( zz)P8w&1N|94-}i+eP{|30CPv`054rE-z7J>jenxWAz~^F`19%b{1=^bH0!Ny*-!QB zer=Umk3X~_W!eM3O)d)aObPl9J>J(@y1LuRx1OoLF0~P>DJJ2889#^31fkZxzeh@0 zJYTaESQ3pV`Lr`Et;=!v4IN+thd6YMn2RD&M-n&b(2gOGx&T+e|Nr+owS)4N@43bjXZ4pIX-C=-t3ButE ziePB1rBahST>;~8-bdU~wla|3WW1|z>zixLk-KnQhPae-$mUK-(%cSQ!>AdR!=R&5 zi&r>BZPBNt46lnHsvO$bNC;ZfRBU*p((h5vI78%uTOx-W&5sp71Mqpn9IuE7HwKgy z#UKKUc$eRSpNABE7Bi62%NNr*!Y;SO!1F`F3rF563;!6R5ql&+y1?>GKSK zbQ8P;5go-(`JvpeqJHBbx#MWA!vXzAN=HML-GH!d84A6-@`Kg3xs}F$TIeNx%aXrH zz|!#8%I@H<$D(Wx6*3blKpP*%#fg8CES$3)A=0*Va>JOM=v~1TgC|_(d!EI7cp=RH zSPHvobY~6y;J4KlhAQ9}S#BqJ8lg3pLnJ{V%|(!)R@lI48-8=}(!AJ2ntti`!Y{s` z!H18?-KudBr|zc3$X!j$)aIJaYF8P02y z@{Oy|RaO?U`f1#SVCwT$oQJpd>`7XK$0H_^{5$=2nT^z3~Xh%}y8yZm>TPj;P$*D|j7o z=?(LgK$(yT30okpsGha1H&Y^?>P})L!!JWYu*zT+WdaV)E)viBBUsYg`XOEJ9Sw)w z{kef|LkN{a=5^pM>XhQ*(#D$sX(iw!-scN+&fC;X7XCg+6>%MrmyY)a*_ z;5zVOY-LEfa2nCEoQ)1bAIlu%saeCq*U1eifNxaTVyy=0H5OxRDoC!W_n~svBY6Ks z=9)OPraI0G8@$;Nq}di|@`HC_tIvErnyPMkfyvzi8lrbdZn^;(@)w^1@BBy{b(p0w z?E+O$U`;I5F5B~~z{>wK?xnNU8Ruz(I?lLrN<1L&^0qq}Swo zEI=`qX~f0eK^}9r`p_cY8&I{cG9#yVKYHITj_hCBeyICrb@hkmJ3Wrw{k`0_!&aGq zbrhT~`=@N4c42bOg@aqJk4JC0~UFGJwLx2oWeBria$ z4KP5;IO|$?-+m?N|ND_M`{}u8-A|vWN6Rw_n}v_&C`LmOdzS_FUh+E7$1Sly)F%i| zmz8udC3~gQ@=uyjk-5`*Ex7|n4ozAPt?;P#qXxrN7O~!5o)p`MK9Xl!8m9wSdHwi% zn*v6fKi7-BRszVU!hq}P!j`_A6ZW%z{(@DZ(0m?*@AR1P8yN(bN(IF;E+U?Js?~pf zfR9+VKf4S5GZgzmy(Hj$Z}5v}aO%>5$D4rpowm%K^#liEvc{F=;dQT{M?c`}`J7no z6n3_LM>p5)Xj%Ty{s5ody(DTh$+9I?TsUz{Ou7;@N4Y+hO@eyN(bM#QNb74f8<03jXK7N{iyW{tZ+eWP`yMi@J zvNu5bW6Bt_G2`l`F8c`2@Cj!J6+NFCSAK41CxHLL zhl&1GcX82uqu!<+5fNJN&+J!TqA1(q28 z+Z0(2@~|C!oP+e0lF9%`SWB?~%gRXM?2o=d)ZQggL=*=(7Jp8@>PlEXJ*ur5&OzPp zea-YMc3WG(^B3%vaD|HIT{aU7*@~}kBovlxA$8(b!JmVl$`UsMg>br?9@3l%)qAzTTX_J1@ z=v21cZ>v6U_P05|f4Uh4`vmAHTVnSQn(7l;PIh_WyW{9J<|R`1KI*}u_G$lBm_ov{ z`ci8T1wd4z7{7S(s~8cmH7EV7LMMt1|1#K+WyDSq|7ECcvoQClf%DtQ(*nUe6CR## zLXO?1z1k<73ZtkhzFZlSP3lo3WtUHSzdTw=Jt_VvKq(-+mA*&m;G;t2@ff=D^o1t3 zGN_F}`+Gu1pRifJDN5?cwCPE1wIZF&Qz=q_chgggA@-H(cK%!UOh_yA%kzzQs zW3vlVx&bRYWMqpi-Ww!Pt^Vg=U*SqKPvNx7Hg)d7iHOFu&r$w~TC2=KrH+-xA@oTM zmDD?z_TM9l@$~f1AG-HWQ!|&GC^#KVS~LWSu*He(0Z6VLjh5kaq>8YOxR&rtCM#R1 zaI$ORtAfm#1}Z`3Qulf_jmr>X&zq__;wcVS%>RY0)eZvLj?sF+?q9=i6bav2k*zWO zn@CZIIlA9X?xDq@eA=`ctG;{@_Uc^&!915ZQAEy%H4emctG1|Oac^gdRomuV8h zzYK>6wgoP^iREUkuWpoRapWGa5`*U=w&9N#;V>vI-FuMKZvGM;6O}`7Dq^hIUC3H& z1JMWUbZv3R>UDvG z8g%rWi9xU>l+=IKF7$0ryc9s~At{9ly?T9OUm)>>_X(0)f`U)ey=V8Xu$&rH+z%Up zIGV0Eo7X(~icC!!)dPF9E{~?E-WpXnJ4?Q8;>KPtpeF^5R@4;_6~p1;VO$#d8q0ux zVPMh#)?)8BMcSk$u7c zSgpJc+-SY1j`UT%fQUS@ix?*4(Fd+FR`?yLX;^M<|G=2QkN>G^49TKvr& z%FBvd%2;d36`BJc(y%g_$NtphMn`@PukE7j6uJECm~0a-VkV)YNs`d3vv%o(y20+% zNDuvLyynk>%wAXsIbBwIkJz`hz=M5s;P26_s_C7Pj|C~f-$K+>>R5J~^udtJ==?|wgd<_cwXq)(!g=E zX4EtnE2L2*(QTYMd(i9xnv?riNyOnIy%1scMC?+~5Ejz7x9%yTp{ipa3A2|wCL8p-N8?HdCjDB`&N8Q^h>mcxSy*D{|wl>Twv(dN*@S5(Q<)+#T|9O5KJ*I!7I(tO2e1H=H{B*vwSVqb6z`5eIU-Lhb*g z$6#sYr+52CqM}+u?yEo`DuT~-cJ{}cdAm_ohVjlV=z8?2XPDc#GPo|^c*=@-xMhVil#{%|r)eKl0Wzqfrr6}|K$&<4`%s2y zwm0{^O^F7GFJY`sI@{cR43wiUBshN_Mr=8m7;#BY_`f6=ym*aAAsI*jftb?&=W%E= zP|b5^%eozyT;1mQE~*=m%sEIUcBx_Q7#enz>RczD%+Z7jkG~oTm-^M?{GYk!#^vS* z_YpoBrKBiUjuwb^zHFQ_(YKTgUbffA%Y41xB^G~cx%)FT9iHW$KXcl>t{#d$E}~9? zx>Wk+Oo4lcOID8|1P{vE}uIC6z7(P0~fj( zjt)8sT8^Fzo~BOQxR|6c?NBh16l@inI4p)Azp$ep59IhB<(^sbgPotMz-OACq&8eF`+DH4BDD%5;`uaz2y7)sw{FD1B$}}gKE`D(%MH$$i z>p(&?^6p)5Cj7!yW1rbdw!h7y7DzZbjshj_CvK6M>ZL7(;4}ESCvCAo$)9GYOvc_4 z&ce?N)n*aO-D99@!+1Z^*>7=*hgd(6nISDDDeYJK?AecfYsoYwXq|FU??!Hj)|cGO z@Y^KT_sDHwREa&&g4CCXtBRod=+;_u=gRPE} zpP^e%>nk^MqPO_L{iVo9d9Q6VKN@@^nhFn)&QT1)YV8WAF$0l8mf2LPFS)RiqWRj& zAVxXwyKDF0sk^5AWVzC0Bc$zIAxPWg7 z-pU~^r!(|ExqheG2<P@BxH1&zS1lUK&{ z8g)v(V7VS+7YfhleGY+dLp5{j<3dGJ*ZtVovro+8NA5U~IIE&wbn6~M!zs|g!3R0h z(e@P7Qwd(Ym74iPnk1Ln>#!-0M%vIO*u zgrtyIo~;21ZjFy2fqt1bVb@(I#scUEPy+#J&~_2B6)w*KDptH3K4H%}!Lx%1q*Wb%J2V+dM*c#p7r!y<@vDy7cDGVnh%w*iZpvq+E}q3pVl#Ln72B$dF9GkcEZX+UaOf1|38WVOePIHF!k-zxlY~$vH2sj?kT=?g##rbd| z;S7~CIBi~MYuEK7JU;($>g^WPA4IDyk!8qWyy62(5YEf>CEz-{Jw0D3`$(=`e zB(oeI+{-cA7ZC9>{y>>9G48bPwUjS_x=z~gf5}NE!QUs1$I?!=eWk|V z@*2pUX)D$ScXiuO&?4tY*M{9a)rjThkK56Q%6%8LQBh=?W4a295kd?Br85FMQ>SLn zg3mc_#SQTwhtuDdyGe{IrrMkB~) z&PXJI5Y0nwB~KE@oak2ay)nMXR++u$O-hox)6{}rTaOrPzQ}3cR8D{!D(ifAn8#&Ke%|l!SFnLP%{1FhifDI*N!$(f#k%I{Ox53 zUGHAxV`~7py<2Jq0P$v8?Ik#p(IV2ZZzYQSRBW8p5d7{+KMnOsjwCF^;ivNy?aK zTboq&H>*N&IZLVtq%SrrBkWp3p%c2v7>+h&VD&3EZ&J=r{FjSB?p&Z%raXX}T0jj; z;QXwZWLy#zcr#I252?$LrqMpbrqv4!(M8l~MUI0M0Q{L`0EK%ag7EZqnA^|h?AYH# zGwe!M8FC!84~ron-#)A>Hw`vfQHk@Xf%ehx7pP`KxVqTlv}dog&taKy!{NzorH5rF z2X9^%(5-GZi@!}d#fQYDB>7|3d`=edoSQdTF*Clk=q5l#5j6qDwpbxK(vY2{&@vWu zTxBx$=rzB4r^ogkC3KO#Rvo=Vv@IvhQN=x`w(zmIB6$a^c~&Q&24`TlsWt4y-&1GHP>QqX9tBt7{LNp<&qw=UylviwmKrr z6xkgm)|!dHmMFII*)xTzz$>Ii0eu5M7=oE*`*0#(Rw{%n>;7MwKsyGye+gK!2rqAN z-uz3&>ybVDYNiVe^)I3^fA?S9iu29cNAg*jKM2uUDF_ZtPIfb$19!?&l_%=gpd|$< zma*ZoIu$x*W-@uB1y*4LBAvvk0 zvfI#|b0US$5oY3h&5PgfL<)Esp*My^ouqPyz4vx=JytW)TTjM^Wiaw9l}eS0w66Cv5OWCj{!Qr#+a9CttBJsf%8V;#$K%keOvl3%;M|eRe??v$-0}fjKnk7`u(d0=%Ohd`NvGZf z_8EV@y$C$_A0e1KV-_3FKp+k@Pp^?~s$s_ElsD1~-HhCjkVMpSl^Ik38=?j`0#z%Jn;GI@UsX;o{kkdXb<%)c=W~wqti3>VUxh}PY@VT0 zn)`-tju}-B5)7>Q<~*OMM7a&UxNAc@9or53{byHNgl9PZk8-Km59`V5(mPjgw|SgK zBnt-i+KMyF=WB0o#FAPRtlVSCqMC7E{D_zioKhQCE-~bZCq&fwDvMD)F3MM6Z^0}mp89v?I!GRBb#?lB<0xDL zexm$q0z=d^mJ(7@{i2$p2D-$oA^;x~oOMe5ukfe$5leQynbCdlcMrhx_J@0B;7}%# z$SV7u2YSy1_BuPaE;M&yxTk(VxN`@zIhI`RK{+Ue)R@iX3R1L`_x7qtWmRJnT!-#p zNM7{@&S9hyqB8PE4sW+jW7^I_7tanfX4|b?UKY8sE0K;aB)lr^xdOS=6Xk9mn*x=6 zZ}3r4_=CTlxw%`wuJ!rOdMCzhVr6ZR94UD#&d!iCH72&^F8)FLqwQEl_ChKP?8!e6 z0acR+SC;hl0AY!pNkrR9{wv;52%WQh$h&Z0r&4dA1h5q; zWWebI*0J?(H!pby%!52CB$dD@0f&?3!d&SzX)%pm6sb57s+F*B=^(k3C&&Gi*2}OI zdw$e|a%wzFM}iKA;h^mfqnVjSi+3ej{&}yR!|DrD;#ylsE&<0tK@c9rb}Me&{-Z%f zDGG#U?I5S_O0+qj+$+xZ-I(-5Ni++zot{o)tek~@imz<1*OFkqCCmPi_jrhkF8NAv zEa_rDCO{2-zjq%bAVvvNCpZ=Xz4Zzz;S(j%{D_j4oHAE>+=rsHHC<*1&()8a&{Eg8 ze3tsqC~(pjFBI*oTvA_eS)+#^&ea70oyw@AAQGafJL=*rIf{He!k`Vu{_G$w&2cdf zk52}x4=We?&}kPT+edNf5+=1m$2+pu8jA;oXyXI!aN}I?uG}D6PZT}@98tLkRwJT+ zTh#&}8Wa$CgI9JMW&B-!+ZD^!~@y+USFJ>!}4X>#qI<5|?H5b;pni+r$NWWd^Nk_x$4c zAIpL7i$|rXuypbH9V3?AYftTeSk~4SnJKaanphrPYxeUS7RTfpdc~xOpZX#l=IU88 zlpV$G-Ai7lL$x@^uYpjyOjSc&tDgn2H<=WzC;7DE$B#;hjnEeKpt{DjQ0GYI z!-=&&vvf=5eLJ))-40$wQ1HRiCxf5jkP~SxSa**QjAY|HjM)eI7P-yvX&yd|N>@#5( ziLCIid6+#k=JBZiqIjH(BvNubNBAbQgdknK9LLfJGpb6|{p1owuAJVO2jBUIa)4X!dr4;bYgF)!^iofffT0owwH%j&*IkO6$wzL303v~ zNd)i*?kj(_mm_Mr{4Rdu;uY+v(eiu$g<;&+{{H$FRwR}F&XO734_V4fX+Ex;YLMJl z6rVXPLj{>l?C)0a6KC{DAs!P*in)kXe#e0T> zhmos$nU$!QsQ4++2`iUhVO#~;_hwA7L5g|JgV^T+f#b@D-_@)gK%?AL&d=@9gus42 zH8uEV4~`ym#j>240#x-3i2vF*LeLxG`oGAK`U1wcaiFD}IZh-#?RdrOJF)Nhj5AfaNeh^<2wS;#HJz9{rzq%GSHaf+ z$GwZAB==Cuugyx|%h}`{bm3B2!0claFH{7V6sr>G^>v1c76kzId~ke*uU`c`L{yP| zs$0|3>vN6mMJr$eEA6!`!h@Z~V$c=#xYi#+xhG{JvTIj3HZe|z8zh}x+qLlIt6R1o z34V{BN$~mC*|r!hNlIe<9|u3#NMH3XR-!mSLytQx>uB0^z>u$O6ef7nd7}fpq1(PH z1pKEIz^XyuG&1?Wnh5ZiX<;76%3&cA(k=iB>m&#P+|a&E4K5vp=!APnblQc0$SN}w z*$kjIZ;j=JIhj9A8)_oPG9SEs7W;~gz1N2wB-Xy8g62gsC!@h&2x(&F3b2{@r15ev zzqZi_U$jp3d6t8%Bn82 z$koM1Wsz>^HxWU2hs@D2j+Gc^fSs}i__sG#9@uv^s{%t(5#!!o+0ivpvoS&N@_$tS zzxKX79?JEN`yMlv{4#MOWv^^Gl?qv7Bne?;Y0*K8WGDMR>XZ{nNrVhV5edn@O^Za? zcSempJIR*fy&f&+y#KzR&--8gshQ`#uKT*a*LvUg^E|VV8V0(K?3Ueg3Dkw>>JI;S z29(kwa`dsjRVXmHb>j$&I(b|4n6p<~t>ASd`I`FM7Uf&`!a94VT6csG%@pq6T!)=W z@U?|hlni;p?dGanxhYK*`{9|tL$XrPRrpf>y!^N&?VRKRc)H&3kugh~AaB@fp};Y& zm%A>CygB_~kK637_rX4RSDrAT=%HPaX=V#7VtX+=Ym3R-x5Iswxw&F? zvz;_rr|(3WtK~Rj#k)e7>ecwV7&ep_e;e%5vgl+);-Hc_io!{FpFlRK5S) zzgRrGmX9UmRB?GZ#Zz|%Cnw71`;GMfjMhC; zJsB`MY7HG(cqY8YJxt<*?|eMou1#_FOMU&5^Rh}=9?ouOlaK6NR2R9t>+nlijk2NK z6y-VM^p$z>w1=L#F5uCLpk zC_BPQsF_gUXP!)-8ftejw9vfZQ^#{p3=dcJyB10$(7(|9=l!NK)jm~)`(r@>KL9y6 zQ&_evr%~)_6T4St-)xH0(oE?~-#pdqfu~1Hs-KQk3j2!wakY$bnfD8|Qepli+;z9- z^~N(BRY|w{u;cjyAWrVKD7(HUW^4;Eky+$I&i&1d>+7(kP<_eIlibJqp#j4#CxYeV z_=W0PM}!7ZeOhG1H5d3Lfs0V6`M9<{xN)5Iyx85Dpu@`0=b1{Z?gX4bP$QPZ_gqUf zxhDv>>@ikyJe|7r&e$+r>DK9Apk(b9U$d=fWM$>?@ICyR*X@Rj+!bks^^7W#`rK6l^Y74vfhA{~+Ll=n@fsn^)hafz?W z`$jxcOOqtOe9O=0^F)%50;%PO`5HBkdQoCYa!v~);g~=Hj=~wNo?@W)K zE23PudjI3grJy3g`T{&j`>(rm%H!)@(N6uP2!13fSfyvRaC8G~T#0PYI5(Ec0neJD zNMmlzz>_6m;o;Yq&dc&?8Gc@VHVF$#Nv@R=;@7G2HQM=BL`2@O>|LtkXFMD2j6_5- z&V5~Sa;m{i!6(V2`;JcW?X7F+OL5EEUn?uj!jw_u#lT~%0dqe%UDhui7H&;{#oNO7 z&4doEHPg}NajoSV{)MX$ZZA?CS(p1h%*#z6GK=*~YLVbVhava3(PTVD!zlkKRju=jPyxW>%y7L^Bfeo6;zPo`bdwF$ne27 zrSZYwnV|lMgM^8%7l9E~y_-nb4~DEubYx|^2SGDrn2+ClY-llMR9nf6j~S_GOAnvC zJ6D4XQZ9e!!iw3i1e|F~6rL#pRz-qr2R!nZ7i{b&w;~mYRkje&gL>e?%PX{atwKJ% z%BC1aL`m99J~*e!MBC~ex`wS@scvOiN@fipDRw)mIqDZ~_4( zL*I^8$;QXw5xvd!^`yblh=+(DCW%=D|8f*9ULt3n3r&RH|LC{S33UI%WFvJGBSQhu z2|KyI4}rd;JH!*WKfX<%ER|He!V@M`g5erC!KV}dB72v^_mX*=0Odk9uw#$+n0dLl z$_4OakKh*)cOHrv^Cw_{H)H?SQJFCHkkfA5K<-H^VYTp_;#~Os6Eg^so^K+ms(aX% z*9R%rrMR#r4r)2TaI1N%yVuJe3?dST<}bIae*0bvjoAP2pUCKb7K+j>`qV}yPxETH zV*4g1g=7V;MB)G>QrCiRv;Ck9U#s`>uunv7)Il66<8wr9$5d|r6^lO#a+r@M4SOlc zu%Z#y=DD$LWU*m;Z|{8#uMl}Xbsw|TYmBE@$bG0r?#g7bRvjktpP-xpqt*kPL~rc} z(McA_+dOB$f8=^Pj1nVYrs)~4vI04FlvZPQm}C-`l9S%hEPzr~oOVx(GI{1>N_mQ)ao<8mXAaa{f#FP0$XuCu_CN7Z&^=Br+c|7mX0<&2rHO|zo$ zJHnVKBhwq!lUc#f$R?}M(_p4t2-;LBm_!98c?XlENvNuRaaMJ1X0d&NeXN8*{)d|u zhZ@4fStwE%3*omWbHhGc3UP@#VCtMT^o}xjszsQi>~3T{nEDOM;*Kjg+X}N(WPGJ! z7m1?-w7&h*^j{#*D(m_dds`(@DkZtgC$KY`J_WOT4A{yF8d!tr9vxqcZ#GpjGdDK? zmXWc*!@=8@hr<5P{g1uR65PxV;+k)ynBr1V6^FE_vvn{AMe}x;)3LBxH9*MP(=G`m zUR(VlekkFI#IU^$H;TNOe+Rv8>S#G{OGJ^)6*lG3ZtsGkISX>k-tT8#9WII4N1MZ^ zJLgoL08+_iCvD1&ot`W&bvNUo8Kt90LvGC#mB1#OgpJJD#6wSuXDbcP=&eOoT*AWs z3c|*nc6n{Y1^e%O!O`zq8yWcWLqd zfJ)2i*oE);s$v&XyYq17?I<`3XMrSECr9(7XzMVcj{m?CO_=?QCELkHhf=k1UB~tf zLCQ-rKf@pkQ1GJpWq+Bh`v71P(p#-|k<_F)VO}SHC04I%KmCX> zVBgOFxo8kgZESK2@ZJZzXfJNMnL%Q5OlMMgec`tMSC!g{R)|ayx~Y{XVM2hWRHycr zL1RawBx37XbwZ3`#I&1-Tx={JvGQs*sMURN>y$W%oAQFGEut;P{Rtw3m-1D`>QIWq z^J{0q6DnsaG7OQkvt#;GBPLJc;9CVjf881!1<&`n2>LQbr1J6?mI61r(okJq?F_uN zA|2dOK_uSITTHY`rLOAl{krsde2Mhc1MjfD#1ad?_8 zWMYL#Q<>$d08U}yO>p@;&=>Hu>DR=*apPBX+xV6i` z#ChjqYt_QB7#uT_9=^+A;TyV!F#xSa)9e9YrV7%$XQQuq@uSvL_8lt9m{0LfsKw`2fQJE-=l**z`??=B2$`i|pXjE{ z?OdRuF9Y0j;@XeA)h?KC(xDcljDxJ0)%4T8?Se2+c>o4J!Ni6!I1h(^L)LPXZaN@B znD|>01lsw%q=9^Mma(l(9|HiRYonsu)&mL#ryI7CM8H}qm%xjH zvaYaDtg}9Hi3s!!kG)m6O-EB+hTQS%EaoGw8#+5PdFqH1!wUjrTS3x|s_}Tj$DeK{ z4VZ9>7|4KEUo!VpI0W`!3zm~bD(2~%0=?A!fi=xVPB!|sFzG(G&pYH;kr1Ovk(7mr zyh^&=?)-my5_IqQ(Bk>KCp7T1mn@|d9a+}Izcm>8G4FWO-;Qc~aoKI5?BO6HYrI!sPNgiKcK6;_ zg(WDmJm_PLWv2ikGYvdh<3E0OWNDAS)`uf7)#fUW2O`cXpFyuwe$XN9Z2VA?i|uV? zlK%n2&yF|N`uvrIQm;(A%~{<&F+d~>Yv<1{KXU@~3Pj?Cq^`OeEQ@AIW|=#vbc#S}O_Xl z#FG1xKJtfHN}m{_<`@_>(4wnk{jx2u4mEdx3VhvwT=kn?k2H0L{_NrvB3a4tCR0|A zqA{g0yFicn>G@V@nv9F}_BN=ZkqbQdAMVzTK1d<02VRj|1yRsm@*2SZy1W<`t5_?bxx_a&ja zK}!lbGwWZa31Y)}?-S-667KmBCYoZmA|Bo^$ zLI7~5jG-Nti`8*N`@t$L;?5~$W!Er~XSdRD&|CG0xP)?3teqWr7!2rjDu(&DtwnV= zx-+CR%WHV^58|99F)sF?slmA?8B79EfD)A!e`1D1kU<8DjxO_2QOHBo8W2GPHhcUQ zilW`FF;SwkzHl+fSDYf$%k7rdBI)dtR!1#TBKRraa{RBvau!?y9el+u<1C9$nlZP_ ztlN#t(u4`dV!*ogZL;x!Lf!q?BHWj;S=?5WK@7VB1WQ|hKno+lgPh8}ol-QRc2zv> z`r{ctS$$aQ8KSYs;5(`OLCRl+!Gs=K?0DLf!aVjYWq@XmmTN-kzWD-H`aiAS4qHLq zE?>m4)eAO@TCB7w)C3^S6H`?Mk4@f%#0%lPz~ux=(#6BxcP0EX@u!zy4n9`ef& zwuczRz)8U0z}lM%{ebSFQ%HfW%@minAIQ`(G9Dl!-Y>`lkMp`G83KL?4G(v76irY_ z$ral6hr_Ufr*0n3gRMAFkyVyjTXxL|DVq`@GDN7hCiO|ro%5QP<*l}Q#@rEg?L z>X2ol+dlYdur564i91_AsRPqhE7eur>iB48%Z=8JK8v$<^3Ax_4vk?o78N=>1p?pihP#Y>$2l z23WubVPV)?bnqsK9IMD}nRXK|#4Q}ZNe3hj;$WfOqiF4zei}`Tip6_gI>3%6Z9B$; zpTe)BGLg5;RE)gMZyr62_=QZF6A!G0tP8|LnR=$OfM}lfi#m`=z_bE!e-98FWi)Ww zWG(6Wr4(4XtfpTuZ1Y_}OY+gb5i4gMC#rIoL9EMPwE@u2o_)I&Sq-_1C)VDVgnhrf z0WQjs8Kw1P>pT@EvWK}f)5zfq`0&lntk#Z{lx(;vH4Rtgv8%f+UO#G!p`7^l+eQyB zl^|sWSGGTn}(Ooji`3YrK@8be7fKi(4 z$R0^b$0(DxGOrT^J~^sir~kVTw~$y1leMMjgYu2E0cr+Y{~#M zH0>@N1E)Etsy7tDFLD@af3bR_ECh8pQ4?^LnIjrA~mL~520*eUv9Fd2oZRLsa zRWj>bX8T*C6ILb?g}D7&9fG?-p69jnzAAg~xJ}HAyBz32&Pl7j;dgUdjI5Fuuw7zg zA1Gj8y~mT072#-CKdJ+BKLP~VMCG&Wm^>9kyM%)@Y~=dX%SVA&+R#2QvJk(7i5d-( zu=ewaBd z(G_UP@bTZ?Ee@cnrI~#oVNN{cen6wpXN&J&L=on+FW{FzUvm30+t>-|;m^17T=$}} z{n_7KVr#8-)2@46UV}WU=d>(SFg28+@bwLYUyi|#NL#KDCO9{Q-)Azj7F&zPZjFc2 zTE)6s6WiQPcp$r8N~g8*WbP_VV@JMFLMm^mNeu75fVbCmG09yi+FBU&ZGC~pKhUcV z*>4NQnL`O25fl9L6tY}V31Kfe$*l?da2Q{UX@;$mS@mg3H1u_o??s=aG0~_QGk&o< zU*A#_lc(u&A2qRXhs`hr?jU8tj`$swO==*yk$Y!NKx6hFu>GyO0k0CCo`yIt_C9a1 zQ36;Dpx?mwJlAVl6phz~02_H0cjVK^tlS@JmNJ!VI}qpgb+Wj1AI0L;GrN?o zhB2WRqMjuv)6vELRmXSvbjuSSba3bSQT~Rc< zE|D|faE^~`pq&pIm&L)MOUD7c9Ivo2EQ2zOb{sXqC0-MiC%YPQ&)%9#T+z9J-wak6 zF8qt#y~+0VrGPe1=zy;*o|e<*#dIaFuc)3|9=$#Z-8631#}Xd8{;&IDMa|?;~$B) zK^~4TnLgTGBb!hvbrsoR`)!3mX-}UDRznpvG4j)x-z1p!s@emku1jdR=kwT}mGUL4 zUN9}?7`#M988xeC*ZW7*4uzUEQL3|mN|!-w>6cM5rYt4Frle|;h8*`&X9iI5K}`>1 z+II>ezO~rB0Jq$B>kS>m4Oq>tg@ojhFJ!QM*jl%WBQm;0hKytKOfBe@DPq1s-l?5$ zlDrEZ^p_iwQHs1tWI>YL@<*YRLD}Vy3|&}|9L{@8#UZ}1gGy%5n#QG*cbe9btk~%H zHf*Q-edN4c-}_O0X`4|?L=i41WbbKuj?l{0xOC1k$&e7XgRFS;l~!XS2`xy6ff7*O z21@g%#qLUA#lSDuh&}Z{5N_;uP}<}59TviVAW)$Kd1CLb%u6^F04oRs$H6AIorOWp zP=qfngEvReNwdJ_VN|+(Z0(L~L3k;pJFEVvheuu!?o@-OiqGd9PpuUoH$49g%UOgB zZr4UtNcbdCG`3NVTVTdIvZ(wmx1K>M0iA4}r_pZUEvKMrjMctwin+WyOMXt737Hv} zG$gwP`#=4_h1xeb$v$81m}EothF`v^NJE@UM#Kd)PCPR>jF$puQ1E!UOzbG~K$co1 z4TNITG0!nEhrg6jmb;E;yWEl>juIb1r|D}uCQ=C#lr!=QXYr`zo?GxZgs67DL-|(N z^MH{%F%oM?@LQ@ln(xvC7b>!S%Z_b3L)#2TiSc8O@wHJ+af_I7ywZAit)z85%@l<8 z>w$8~0oW-R$%}B*Z6hLqkVZkO-UU2#8nny~+?sIX?U#n183;VZQJlFSK&F4koBt5E z?w|XqU5+E2I7%Y-gC%>H^lL#DwwOJy&qpIlBD7!k-J0B5z2(SsH(eG{*pEGV3K+!i7=*w`{IplNrrU@arQJJrP{xc7PHH9F zte(<+xX9rxz+Rno?aB$*QZm@$%$j%3wX*qyXPUL^iw)oeCb_jUi@kXZcP4a|cpx#v zPySVG17BNZD4XOSZ+&kgzr&M&(jXBzo%U=>)Cnn-0ZldmsQLg-N3TcO$>Vr!@2lYZ zot=K#p5C`VNo~2~SUh~$2qik6G=IRfm+P9FjPb509Uv`%0EnU3k7KQIo_b+bETWqy5W zbS&G|ewKE@AZ6!`r#H5knqd46(iJD{0aJs13yK&CaRXevu zWkW6=**Bak@Bg&-7ClS3Lae1#dwU^n?jVCmNNE>|6cmD#Ic0^L zydxw-PDoU0;`%m=A`0iio!VQ^VyCOL?e&xqNd!`adt708^;RC{ciJ*LqjLG#5bYG~ zzzj&ify|-#Tl~7#6xgl81v^z|G&$zQx=c5m#NiR=Q+H~nX@|XwndlxLPreVKbFJF; ztZNZzA!I52tx4VqEBJP${JfgtRi0f4Z3bp|UC|)g8hVhFK-ui>S=gShn7-L3he*ua zrNycbO+)GiDmYpe77jJQ!M<%=_{`g`!@@@E=bciezyLbq0h3fKyDB|Fd&g8AN6Hb- z0{rbGW8qa#l|MA4pSo54YC5}a0HNDQPnyl{E7b}43QM<3?`KWb{!4 zf1(ayf;0|s;J$n`n}1JnvFqq(k&r0=rZNG|m8lE?M5$~S-Q!JNN)8~!d*n2ncRL}W zrFGK@lu$Wx^Nqb@_LG^DvjLoOb8vFySiDK|=IA51bfsUM0L;Y+6DaIp5-g~_sdXFj z!w#M)J1NJ{rWBNjNeJFGTwWK`<8;;$Cv6tLP}H3p(18aYrY|ZJMr}R_W4R0(XCp_ zRvxFe^MBy2;pR2kVa19V3{m-TQCO$JX*R`L>O@S<@sjCpGd@WdD&7tDdG#%2)Yo`- zKH)`3$F`~3{?mNT(5&CLwoiN08&`5FDyLu1zke{j?^JXNLS*xb;>Tf=i@wyMxHEng zAu+wGwtc>njpt=U{w{4eUvQfpk+i?vrE~M!^0nwW?)~!|9K?o;I54wnwU4NePt;I$6(_hVj{It~Vge|g*TZRPE^ldj##BlF8~E1r&%@0Tb}7F!XL zn@{dPx32Bvq*L(ruQ%x2aaJKK5cpn-LCT~m{qgetNO)-SUZHTc+TlCE68qmu#4fl| z^dg+^Np1@Q%l-OOcm9CAWa`HsMFisX=Ldw?F4C~~+5GtXeG!284Z?2_zQ@CFPx$Q# zzdhkQ0{`DVfwE%Lb{%^MFk)FWGdQE=f;||D{r&Iaf2-N=Pv24bjmu9Qek1W42@HYX xnc=4&{6^w862If&rw{x_;x`f)0{_oh5htEml(hMH_92Xmwx<4pC;Kfg{vY&jRNVjo diff --git a/docker-for-ibm-cloud/index.md b/docker-for-ibm-cloud/index.md deleted file mode 100644 index cb5a4bb5ea..0000000000 --- a/docker-for-ibm-cloud/index.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -description: Setup & Prerequisites -keywords: ibm cloud, ibm, iaas, tutorial -title: Docker EE for IBM Cloud setup & prerequisites -redirect_from: ---- - -## Docker Enterprise Edition (EE) for IBM Cloud - -Docker EE for IBM Cloud is an unmanaged, native Docker environment within IBM Cloud that runs Docker Enterprise Edition software. Docker EE for IBM Cloud is available on **December 20th 2017 as a closed Beta**. - -[Email IBM to request access to the closed beta](mailto:sealbou@us.ibm.com). In the welcome email you receive, you are given the Docker EE installation URL that you use for the beta. - -Looking for the IBM Cloud Container Service? See the [IBM Cloud documentation](https://console.bluemix.net/docs/containers/container_index.html). - -## Prerequisites - -To create a swarm cluster in IBM Cloud, you must have certain accounts, credentials, and environments set up. - -### Accounts - -If you do not have an IBM Cloud account, [register for a Pay As You Go IBM Cloud account](https://console.bluemix.net/registration/). - -If you already have an IBM Cloud account, make sure that you can provision infrastructure resources. You might need to [upgrade or link your account](https://console.bluemix.net/docs/account/index.html#accounts). - -For a full list of infrastructure permissions, see [What IBM Cloud infrastructure permissions do I need?](faqs.md). In general you need the ability -to provision the following types of resources: - - * File and block storage. - * Load balancers. - * SSH keys. - * Subnet IPs. - * Virtual server devices. - * VLANs. - -### Credentials - -[Add your SSH key to IBM Cloud infrastructure](https://knowledgelayer.softlayer.com/procedure/add-ssh-key), label it, and note the label for use when [administering swarms](administering-swarms.md). - -Log in to [IBM Cloud infrastructure](https://control.softlayer.com/), select your user profile, and under the **API Access Information** section retrieve your **API Username** and **Authentication Key**. - -### Environment - -If you have not already, [create an organization and space](https://console.bluemix.net/docs/admin/orgs_spaces.html#orgsspacesusers) in IBM Cloud. You must be the account owner or administrator to complete this step. - -## Install the CLIs - -To use Docker EE for IBM Cloud, you need the following CLIs: - -* IBM Cloud CLI version. -* Docker for IBM Cloud plug-in. -* Optional: IBM Cloud Container Registry plug-in. - -Steps: - -1. Install the [IBM Cloud CLI](https://console.bluemix.net/docs/cli/reference/bluemix_cli/get_started.html#getting-started). - -2. Log in to the IBM Cloud CLI. Enter your credentials when prompted. If you have a federated ID, use the `--sso` option. - - ```bash - $ bx login [--sso] - ``` - -3. Install the Docker EE for IBM Cloud plug-in. The prefix for running commands is `bx d4ic`. - - ```bash - $ bx plugin install docker-for-ibm-cloud -r Bluemix - ``` - -4. Optional: To manage a private IBM Cloud Container Registry, install the plug-in. The prefix for running commands is `bx cr`. - - ```bash - $ bx plugin install container-registry -r Bluemix - ``` - -5. Verify that the plug-ins have been installed properly: - - ```bash - $ bx plugin list - ``` - -## Set infrastructure environment variables - -The Docker EE for IBM Cloud CLI plug-in simplifies your interaction with IBM Cloud infrastructure resources. As such, many `bx d4ic` commands require you to provide your infrastructure account user name and API key credentials. - -Instead of including these in each command, you can set your environment variables. - -Steps: - -1. [Log in to IBM Cloud infrastructure user profile](https://control.bluemix.net/account/user/profile). - -2. Under the **API Access Information** section, locate your **API Username** and **Authentication Key**. - -3. Retrieve your Docker EE installation URL. For beta, you received this in your welcome email. - -4. From the CLI, set the environment variables with your infrastructure credentials and your Docker EE installation URL: - - ```none - export SOFTLAYER_USERNAME=user.name.1234567 - export SOFTLAYER_API_KEY=my_authentication_key - export D4IC_DOCKER_EE_URL=my_docker-ee-url - ``` - -5. Verify that your environment variables were set. - - ```bash - $ env | grep SOFTLAYER && env | grep D4IC_DOCKER_EE_URL - SOFTLAYER_API_KEY=my_authentication_key - SOFTLAYER_USERNAME=user.name.1234567 - D4IC_DOCKER_EE_URL=my_docker-ee-url - ``` - -## What's next? - -* [Create a swarm](administering-swarms.md#create-swarms). -* [Access UCP](administering-swarms.md#access-ucp) and the [download client certificate bundle](administering-swarms.md#download-client-certificates). -* [Learn when to use UCP and the CLIs](administering-swarms.md#ucp-and-clis). -* [Configure DTR to use IBM Cloud Object Storage](dtr-ibm-cos.md). diff --git a/docker-for-ibm-cloud/load-balancer.md b/docker-for-ibm-cloud/load-balancer.md deleted file mode 100644 index 6e24a5b5c3..0000000000 --- a/docker-for-ibm-cloud/load-balancer.md +++ /dev/null @@ -1,214 +0,0 @@ ---- -description: Load Balancer -keywords: IBM Cloud load balancer -title: Load balance Docker EE for IBM Cloud clusters ---- - -Docker Enterprise Edition (EE) for IBM Cloud deploys three load balancers to each cluster so that you can: - -* [Access Docker EE Universal Control Plan (UCP) and cluster manager node](#manager-load-balancer). -* [Access Docker Trusted Registry (DTR)](#dtr-load-balancer). -* [Expose services created in the cluster](#service-load-balancer). - -The load balancers are preconfigured for you. Do not change the configurations. - -## Manager load balancer - -The manager load balancer is preconfigured to connect your local Docker client, your cluster, `bx d4ic` commands, and Docker EE UCP. - -Ports: - -* UCP is listening on load balancer port 443. -* Agent traffic on the manager nodes is on port 56443. - -Use the manager load balancer URL to access Docker EE [UCP](/datacenter/ucp/2.2/guides/). - -1. Get your cluster's load balancer URL for UCP: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - ``` - -2. In your browser, navigate to the URL and log in. - - **Tip**: Your user name is `admin` or the user name that your admin created for you. You got the password when you [created the cluster](administering-swarms.md#create-swarms) or when your admin created your credentials. - - -## DTR load balancer - -The DTR load balancer is used to access DTR and run registry commands such as `docker push` or `docker pull`. - -The DTR load balancer exposes the following ports: - -* 443 for HTTPS -* 80 for HTTP - -Use the load balancer to access [DTR](/datacenter/dtr/2.4/guides/). - -1. Get the name of the cluster for which you want to access DTR: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - ``` - -2. Get the DTR URL for the cluster: - - ```bash - $ bx d4ic show --swarm-name my_swarm --sl-user user.name.1234567 --sl-api-key api_key - ``` - -3. In your browser, navigate to the URL and log in. UCP and DTR share the same login. - - **Tip**: Your user name is `admin` or the user name that your admin created for you. You got the password when you [created the cluster](administering-swarms.md#create-swarms) or when your admin created your credentials. - -## Service load balancer - -When you create a service, any ports that are opened with `--publish` or `-p` are automatically published through the load balancer. - -> Reserved ports -> -> Several ports are reserved and cannot be used to expose services: -> * 56501 for the service load balancer management. -> * 443 for the UCP web UI. -> * 56443 for the Agent. - -For example: - -```bash -$ docker service create --name nginx -p 80:80 nginx -``` - -This opens up port 80 on the load balancer, and directs any traffic -on that port to your service. - -> Note: 10 ports on the service load balancer -> -> Each cluster's service load balancer can have 10 ports opened. If you create new services or update a service to publish it on a port but already used 10 ports, new ports are not added and the service cannot be accessed through the load balancer. -> If you need more than 10 ports, you can explore alternative solutions such as [UCP domain names](/datacenter/ucp/2.2/guides/admin/configure/use-domain-names-to-access-services/) or [Træfik](https://github.com/containous/traefik). You can also [create another cluster](administering-swarms.md#create-swarms). - -To learn more about general swarm networking, see the [Docker container networking](/engine/userguide/networking/) and [Manage swarm service networks](/engine/swarm/networking/) guides. - -### Access a service with the service load balancer - -Get a publicly accessible HTTP URL for your app by publishing a Docker service on an unused port. For secure HTTPS URLs, see [Services with SSL certificates](#services-with-ssl-certificates). - -1. Connect to your Docker EE for IBM Cloud swarm. Navigate to the directory where you [downloaded the UCP credentials](administering-swarms.md#download-client-certificates) and run the script. For example: - - ```bash - $ cd filepath/to/certificate/repo && source env.sh - ``` - -2. Create the service that you want to expose by using the `docker service create` [command](/engine/reference/commandline/service_create/). For example: - - ```bash - $ docker service create --name nginx-test \ - --publish 8080:80 \ - --replicas 3 \ - nginx - ``` - -3. List the name of the cluster such as `mycluster`, and then use it to show the service (**svc**) load balancer URL: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - $ bx d4ic show --swarm-name mycluster --sl-user user.name.1234567 --sl-api-key api_key - ``` - -4. To access the service that you exposed on a port, use the service (**svc**) load balancer URL that you retrieved. The load balancer might need a few minutes to update. For example: - - ```bash - $ curl mycluster-svc-1234567-wdc07.lb.bluemix.net:8080/ - ... - Welcome to nginx! - ... - ``` - -### Services with SSL certificates - -You can publicly expose your app securely with an HTTPS URL. Use [IBM Cloud infrastructure SSL Certificates](https://knowledgelayer.softlayer.com/topic/ssl-certificates) to authenticate and encrypt online transactions that are transmitted through your cluster's load balancer. - -When you create a certificate for your domain, specify the **Common Name**. When you create the Docker service, include the certificate common name to use the certificate for SSL termination for your service. - -Learn more about the [labels for SSL termination and health check paths](#labels-for-ssl-termination-and-health-check-paths), then follow along with an [example command to expose a service on HTTPS](#example-command-for-https). - -#### Labels for SSL termination and health check paths - -When you create the Docker service to expose your app with an HTTPS URL, you need to specify two labels that: - -* Specify your SSL certificate's **Common Name**. -* Set the health check path. - -**Start a service that uses SSL termination**: -Start a service that listens on ports that you specify. The service load balancer provides SSL termination on ports that use your SSL certificate's common name, `com.ibm.d4ic.lb.cert=certificate-common-name`, when you create the service. - -In the label, you must append `@HTTPS:port` to list the ports that you want to publish. - -For example: - -```bash -$ docker service create --name name \ -... ---label com.ibm.d4ic.lb.cert=certificate-common-name@HTTPS:444 -... -``` - -To specify other or multiple ports, append them as follows: - -* Links HTTPS to port 444: `--label com.ibm.d4ic.lb.cert=certificate-common-name@HTTPS:444` -* Links HTTPS to ports 444 and 8080: `--label com.ibm.d4ic.lb.cert=certificate-common-name@HTTPS:444,HTTPS:8080` - -**Set a health check path when using SSL termination**: -By default, the service load balancer sets a health check path to `/`. If the service cannot respond with a 200 message to a `GET` request on the `/` path, then you must include a health monitor path label when you create the service. For example: - -```bash ---label com.ibm.d4ic.healthcheck.path=/demo/hello@444 -``` - -When the route is published, the health check is set to the path that you specify in the label. Choose a path that can respond with a 200 message to a `GET` request. - -#### Example command for HTTPS - -The following `docker service create` command expands on the example from the [previous section](#access-a-service-with-the-service-load-balancer) to create a demo service that is published on a different port than the default and includes a health check path. - -Before you begin: - -1. Log in to [IBM Cloud infrastructure](https://control.softlayer.com/). - -2. [Add or an import an SSL certificate](https://knowledgelayer.softlayer.com/topic/ssl-certificates) to use. In your infrastructure account, you can access the page from **Security** > **SSL** > **Certificates**. - -3. Note the certificate **Common Name**. - -Steps: - -1. Connect to your Docker EE for IBM Cloud swarm. Navigate to the directory where you [downloaded the UCP credentials](administering-swarms.md#download_client_certificates) and run the script. For example: - - ```bash - $ cd filepath/to/certificate/repo && source env. - ``` - -2. Create the service that you want to expose by using the `docker service create` [command](/engine/reference/commandline/service_create/). For example: - - ```bash - $ docker service create --name nginx-test \ - --publish 444:80 \ - --replicas 3 \ - --label com.ibm.d4ic.lb.cert=certificate-common-name@HTTPS:444 \ - --label com.ibm.d4ic.healthcheck.path=/@444 \ - nginx - ``` - -3. List the name of the cluster such as `mycluster`, and then use it to show the service (**svc**) load balancer URL: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - $ bx d4ic show --swarm-name mycluster --sl-user user.name.1234567 --sl-api-key api_key - ``` - -4. To access the service that you exposed on a port, use the service (**svc**) load balancer URL that you retrieved. The load balancer might need a few minutes to update. For example: - - ```bash - $ curl --cacert https://mycluster-svc-1234567-wdc07.lb.bluemix.net:444 - ... - Welcome to nginx! - ... - ``` diff --git a/docker-for-ibm-cloud/logging.md b/docker-for-ibm-cloud/logging.md deleted file mode 100644 index 73b3730920..0000000000 --- a/docker-for-ibm-cloud/logging.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -description: Logging for Docker for IBM Cloud -keywords: ibm, ibm cloud, logging, iaas, tutorial -title: Send logging and metric cluster data to IBM Cloud ---- - -You can enable Docker Enterprise Edition for IBM Cloud to send logging and metric data about the nodes and containers in your Docker EE cluster to the IBM Cloud [Log Analysis](https://console.bluemix.net/docs/services/CloudLogAnalysis/log_analysis_ov.html#log_analysis_ov) and [Monitoring](https://console.bluemix.net/docs/services/cloud-monitoring/monitoring_ov.html#monitoring_ov) services. - -> Logging on services other than IBM Cloud -> -> If you want to configure logging and metrics for Docker EE to a remote logging service that is not IBM Cloud, see [Configure UCP logging](/datacenter/ucp/2.0/guides/configuration/configure-logs/). - -## Enable logging and metrics - -By default, logging and metrics are disabled. After you enable logging and metrics, containers are deployed to your cluster and begin to transmit data to IBM Cloud [Log Analysis](https://console.bluemix.net/docs/services/CloudLogAnalysis/log_analysis_ov.html#log_analysis_ov) and [Monitoring](https://console.bluemix.net/docs/services/cloud-monitoring/monitoring_ov.html#monitoring_ov) services. - -Before you begin, make sure that you [installed the IBM Cloud CLI and Docker for IBM Cloud plug-in](/docker-for-ibm-cloud/index.md). - -To enable logging and metrics: - -1. Log in to IBM Cloud. If you have a federated ID, use the `--sso` option. - - ```bash - $ bx login [--sso] - ``` - -2. After logging in to IBM Cloud, target the organization and space to which you want to send the logging and metric data: - - ```bash - $ bx target --cf - ``` - -3. Connect to your swarm by setting the environment variables from the [client certificate bundle that you downloaded](administering-swarms.md#download-client-certificates). For example: - - ```bash - $ cd filepath/to/certificate/repo && source env.sh - ``` - -4. Get the name of your cluster. If you did not [set your environment variables](/docker-for-ibm-cloud/index.md#set-infrastructure-environment-variables), include your IBM Cloud infrastructure credentials. - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - ``` - -5. Enable logging and metrics. Replace the _my_swarm_ variable with the name of your cluster and include the path to the Docker EE client certificate bundle. Include your IBM Cloud infrastructure credentials if you have not set the environment variables. - - ```bash - $ bx d4ic logmet --swarm-name my_swarm \ - --cert-path filepath/to/certificate/repo \ - --sl-user user.name.1234567 \ - --sl-api-key api_key \ - --enable - ``` - -## Disable logging and metrics -You might want to disable logging and metrics for reasons such as sending data to a different server [specified in Docker Enterprise Edition UCP](/datacenter/ucp/2.0/guides/configuration/configure-logs/). After disabling, data is no longer transmitted to IBM Cloud Log Analysis and Monitoring services. - -To disable logging and metrics, get the name of the swarm and run the disable command: - - ```bash - $ bx d4ic logmet --swarm-name my_swarm \ - --cert-path filepath/to/certificate/repo \ - --sl-user user.name.1234567 \ - --sl-api-key api_key \ - --disable - ``` - -## Review logging and metrics -Use the following links to access Kibana and Grafana for data transmitted to IBM Cloud. Select the IBM Cloud organization and space that your cluster is in to view its information. - -View the [IBM Cloud Log Analysis](https://console.bluemix.net/docs/services/CloudLogAnalysis/log_analysis_ov.html#log_analysis_ov) and [IBM Cloud Monitoring](https://console.bluemix.net/docs/services/cloud-monitoring/monitoring_ov.html#monitoring_ov) documentation to learn more. - -| Region | Logging | Metrics| -| --- | --- | --- | -| US South | [https://logging.ng.bluemix.net/](https://logging.ng.bluemix.net/) | [https://metrics.ng.bluemix.net/](https://metrics.ng.bluemix.net/) | -| United Kingdom | [https://logmet.eu-gb.bluemix.net/](https://logmet.eu-gb.bluemix.net/)| [https://metrics.eu-gb.bluemix.net/](https://metrics.eu-gb.bluemix.net/) | diff --git a/docker-for-ibm-cloud/opensource.md b/docker-for-ibm-cloud/opensource.md deleted file mode 100644 index fab9f6f1d7..0000000000 --- a/docker-for-ibm-cloud/opensource.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -description: Docker's use of Open Source -keywords: docker, opensource -title: Open source components and licensing ---- - -Docker EE for IBM Cloud is built using open source software. diff --git a/docker-for-ibm-cloud/persistent-data-volumes.md b/docker-for-ibm-cloud/persistent-data-volumes.md deleted file mode 100644 index f42f3d7580..0000000000 --- a/docker-for-ibm-cloud/persistent-data-volumes.md +++ /dev/null @@ -1,216 +0,0 @@ ---- -description: Persistent data volumes -keywords: ibm persistent data volumes -title: Save persistent data in file storage volumes ---- - -Docker EE for IBM Cloud comes with the `d4ic-volume` plug-in preinstalled. With this plug-in, you can set up your cluster to save persistent data in your IBM Cloud infrastructure account's file storage volumes. Learn how to set up data volumes, create swarm services that use volumes, and clean up volumes. - -## Set up file storage for persistent data volumes - -With Docker EE for IBM Cloud, you can create new or use existing IBM Cloud infrastructure file storage to save persistent data in your cluster. - -> Volumes -> -> Volumes are tied at the cluster level, not the IBM Cloud account level. Follow the steps in this document to set up storage volumes for your cluster. Do not use other methods such as UCP. - -### Create file storage - -Create an IBM Cloud infrastructure file storage volume from Docker EE for IBM Cloud. The volume might take a few minutes to provision. It has default settings of `Endurance` storage type, `2` IOPS, and `20` capacity (measured in GB). - -If you want to change the default settings for storage type, IOPS, or capacity, [review file storage provisioning](https://console.bluemix.net/docs/infrastructure/FileStorage/index.html#provisioning) information. For Docker EE for IBM Cloud, the minimum IOPS per GB is 2. - -1. Connect to your cluster manager node: - - 1. Get your cluster name by running `bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key`. - 2. Get your manager public IP by running `bx d4ic show --swarm-name my_swarm --sl-user user.name.1234567 --sl-api-key api_key`. - 3. Connect to the manager by running `ssh -A docker@managerIP -p 56422`. - -2. Create the volume: - - ```bash - $ docker volume create my_volume \ - --opt request=provision \ - --driver d4ic-volume - ``` - -3. **Optional**: If you want to change the default settings of the volume, specify the options: - - ```bash - $ docker volume create my_volume \ - --opt request=provision \ - --opt type=Performance \ - --opt iops=100 \ - --opt capacity=40 \ - --opt billingType=monthly \ - --driver d4ic-volume - ``` - - > File storage options - > - > If the options specified cannot be provisioned in IBM Cloud infrastructure file storage, the volume is not created. Change the values to ones within [the provisioning scope](https://console.bluemix.net/docs/infrastructure/FileStorage/index.html#provisioning) and try again. - -4. Verify that the volume is created by inspecting it: - - ```bash - $ docker volume ls - - DRIVER VOLUME NAME - d4ic-volume: latest my_volume - - $ docker volume inspect my_volume - ``` - - Example output: - - {% raw %} - ```bash - [ - { - "Driver": "d4ic-volume:latest", - "Labels": {}, - "Mountpoint": "my_file_storage_volume_mount_point", - "Name": "my_volume", - "Options": { - "request": "provision" - }, - "Scope": "global", - "Status": { - "Settings": { - "Capacity": 20, - "Datacenter": "wdc07", - "ID": 12345678, - "Iops": "", - "Mountpoint": "my_file_storage_volume_mount_point", - "Notes": "docker_volume_name:my_volume;docker_swarm_id:my_swarmID", - "Status": "PROVISION_COMPLETED", - "StorageType": "ENDURANCE_FILE_STORAGE" - } - } - } - ] - ``` - {% endraw %} - -> File storage provisioning -> -> The `docker volume create` request might take some time to provision the file storage volume in IBM Cloud infrastructure. If the request fails but a new file storage was created in your infrastructure account, a connection error might have disrupted provisioning. Follow the instructions for [using existing IBM Cloud file storage](#use-existing-ibm-cloud-file-storage) in your swarm volume. - -Now [create a swarm service](#create-swarm-services-with-persistent-data) to use your persistent data volume. - -### Use existing IBM Cloud file storage - -Use an existing IBM Cloud infrastructure file storage volume with Docker EE for IBM Cloud. After you configure the volume to be used with Docker EE for IBM Cloud, you can [create swarm services](#create-swarm-services-with-persistent-data) that use the volume and [clean up](#clean-up-volumes-in-your-swarm) the volume. - -1. Connect to your Docker EE for IBM Cloud cluster that you want to mount the volume to. Navigate to the directory where you [downloaded the UCP credentials](administering-swarms.md#download-client-certificates) and run the script. For example: - - ```bash - $ cd filepath/to/certificate/repo && source env.sh - ``` - -2. Retrieve the cluster ID: - - {% raw %} - ```bash - $ docker info --format={{.Swarm.Cluster.ID}} - ``` - {% endraw %} - -3. From your browser, log in to your [IBM Cloud infrastructure account](https://control.softlayer.com/) and access the file storage volume that you want to use. - -4. Under notes, add the `docker_volume_name` field to the first line. Add a unique volume name and swarm ID. - - ```bash - docker_volume_name:my_volume;docker_swarm_id:my_swarmID - ``` - - > Volume names - > - > Don't use the same Docker volume name for multiple file storage volumes within the same cluster! - -5. **Optional**: If you have other notes in the file storage volume, add a semicolon after the Docker volume name. Make sure that the Docker volume name is on the first line. Example: - - ```bash - docker_volume_name:my_volume;docker_swarm_id:my_swarmID; - other_field:other_notes - ``` - -Now [create a swarm service](#create-swarm-services-with-persistent-data) to use your persistent data volume. - -## Create swarm services with persistent data - -Before you begin creating services or running tasks for Docker EE for IBM Cloud swarms with persistent data, [set up file storage volumes](#set-up-file-storage-for-persistent-data-volumes). Volumes are shared across all instances of the service. - -### Create a service with persistent data - -You can create a service to schedule tasks across the worker nodes in your swarm. - -Before you begin: - -- Connect to the cluster manager node. - - 1. Get your cluster name by running `bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key`. - 2. Get your manager public IP by running `bx d4ic show --swarm-name my_swarm --sl-user user.name.1234567 --sl-api-key api_key`. - 3. Connect to the manager by running `ssh -A docker@managerIP -p 56422`. - -- [Set up file storage for persistent data](#set-up-file-storage-for-persistent-data-volumes). - -Create a service that specifies the volume you want to use. The example creates _my_service_ that schedules a task to spawn swarm containers based on the Alpine image, creates 3 repliacs, mounts to _my_volume_, and sets the volume destination (dst) path within each container to the _/dst/directory_. - - ```bash - $ docker service create --name my_service \ - --mount type=volume,source=my_volume,dst=/dst/directory,volume-driver=d4ic-volume \ - --replicas=3 \ - alpine ping 8.8.8.8 - ``` - -> Do not provision a volume when you create a Docker service -> -> When you use the `docker service create` command, do not specify the `volume-opt=request=provision` option. Instead, use the `docker volume create` [command](#create-file-storage) to provision new file storage volumes. You run this command only on one manager node for the swarm, and only once per shared file storage volume. - -### Run a task with persistent data - -You can run a task on a single Docker node that connects to your IBM Cloud infrastructure file storage volume. If you want to connect the volume to multiple containers in your Docker swarm, [create a service](#create-a-service-with-persistent-data) instead. - -Before you begin: - -- Connect to a node. -- [Set up file storage for persistent data](#set-up-file-storage-for-persistent-data-volumes). - -Create a task that specifies the volume you want to use. The example creates a task that spawns an image based on the Busybox image, mounts it to _my_volume_, and creates the volume path within the container to the _/dst/directory_. - - ```bash - $ docker run -it --volume my_volume:/dst/directory busybox sh - ``` - -## Clean up volumes in your swarm - -You can remove services with persistent data, delete volumes, or disconnect a IBM Cloud infrastructure file storage volume. - -### Remove services with persistent data - -You can remove the persistent data volume service from the Docker swarm. Your IBM Cloud infrastructure file storage volume still exists, and can be mounted to other swarms. If you want to use the service without persistent data, remove the service and create it again without mounting the volume. - -Example command: - -```bash -$ docker service rm my_service -``` - -### Delete volumes - -You can permanently delete your IBM Cloud infrastructure file storage volume. Any data that is stored on the volume is lost when you delete it. Before deleting a volume, ensure that no service is using the volume for persistent data. You can check your services by using the `docker service inspect` [command](/engine/reference/commandline/service_inspect/). - -Example command: - -```bash -$ docker volume rm my_volume -``` - -### Disconnect volumes - -You can disconnect a particular IBM Cloud infrastructure file storage volume. - -1. Log in to your IBM Cloud infrastructure account and access the file storage volume that you want to disconnect. - -2. Under notes, delete the entry `docker_volume_name:my_volume;docker_swarm_id:my_swarmID`. diff --git a/docker-for-ibm-cloud/quickstart.md b/docker-for-ibm-cloud/quickstart.md deleted file mode 100644 index 15270d8d73..0000000000 --- a/docker-for-ibm-cloud/quickstart.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -description: Docker EE for IBM Cloud (Beta) Quick Start -keywords: ibm, ibm cloud, quickstart, iaas, tutorial -title: Docker EE for IBM Cloud (Beta) Quick Start ---- - -# Docker Enterprise Edition for IBM Cloud (Beta) Quick Start - -Are you ready to orchestrate Docker Enterprise Edition swarm clusters that are enhanced with the full suite of secure IBM Cloud platform, infrastructure, and Watson services? Great! Let's get you started. - -To request access to the closed beta, [contact IBM](mailto:sealbou@us.ibm.com). - -![Getting started with Docker for IBM Cloud in 4 easy steps](img/quickstart.png) - -## Step 1: Get all your accounts in order - -1. Set up your IBM Cloud account: - - * [Register for a Pay As You Go IBM Cloud account](https://console.bluemix.net/registration/). - * If you already have an IBM Cloud account, make sure that you can provision infrastructure resources. You might need to [upgrade or link your account](https://console.bluemix.net/docs/account/index.html#accounts). - -2. Get your IBM Cloud infrastructure credentials: - - * [Add your SSH key to IBM Cloud infrastructure](https://knowledgelayer.softlayer.com/procedure/add-ssh-key), label it, and note the label. - * Get your [account API credentials](https://knowledgelayer.softlayer.com/procedure/retrieve-your-api-key). - -3. If you have not already, [create an organization and space](https://console.bluemix.net/docs/admin/orgs_spaces.html#orgsspacesusers) to use when using IBM Cloud services. You must be the account owner or administrator to complete this step. - -4. Get the Docker EE URL associated with your subscription. [Email IBM](mailto:sealbou@us.ibm.com) to get a trial subscription during the beta. - -5. Set your environment variables to use your IBM Cloud infrastructure credentials and your Docker EE installation URL. For example: - - ```none - export SOFTLAYER_USERNAME=user.name.1234567 - export SOFTLAYER_API_KEY=api-key - export D4IC_DOCKER_EE_URL=my_docker-ee-url - ``` - -Now let's download some Docker for IBM Cloud tools. - -## Step 2: Install the CLIs - -1. Install the [IBM Cloud CLI](https://console.bluemix.net/docs/cli/reference/bluemix_cli/get_started.html#getting-started). - -2. Install the Docker for IBM Cloud plug-in. The prefix for running commands is `bx d4ic`. - - ```bash - $ bx plugin install docker-for-ibm-cloud -r Bluemix - ``` - -3. Optional: To manage a private IBM Cloud Container Registry, install the plug-in. The prefix for running commands is `bx cr`. - - ```bash - $ bx plugin install container-registry -r Bluemix - ``` - -4. Verify that the plug-ins have been installed properly: - - ```bash - $ bx plugin list - ``` - -Now we're ready to get to the fun stuff: making a cluster! - -## Step 3: Create clusters - -Create a Docker EE swarm cluster in IBM Cloud. For beta, your cluster can have a maximum of 20 nodes, up to 14 of which can be worker nodes. If you need more nodes than this, work with your Docker representative to acquire an additional Docker EE license. - -1. Log in to the IBM Cloud CLI. If you have a federated ID, use the `--sso` option. - - ```bash - $ bx login [--sso] - ``` - -2. Target the IBM Cloud org and space: - - ```bash - $ bx target --cf - ``` - -3. Create the cluster. Use the `--swarm-name` flag to name your cluster, and fill in the credentials, SSH, and Docker EE installation URL variables with the information that you previously retrieved. - - ```bash - $ bx d4ic create --swarm-name my_swarm \ - --sl-user user.name.1234567 \ - --sl-api-key api_key \ - --ssh-label my_ssh_label \ - --ssh-key filepath_to_my_ssh_key \ - --docker-ee-url my_docker-ee-url - ``` - - > Customize your cluster - > - > You can customize your cluster by - > [using other flags and options](cli-ref.md#bx-d4ic-create) with - > `bx d4ic help create`, but this example uses a basic swarm. - -5. Note the cluster **Name**, **ID**, and **UCP Password**. - -Congrats! Your Docker EE for IBM Cloud cluster is provisioning. First, the manager node is deployed. Then, the rest of the infrastructure resources are deployed, including the worker nodes, DTR nodes, load balancers, subnet, and NFS volume. - -* To check manager node status: `docker logs cluster-name_ID`. -* To check infrastructure resources: `bx d4ic show --swarm-name cluster-name --sl-user user.name.1234567 --sl-api-key api_key`. - -## Step 4: Use UCP - -Check it out: Docker for IBM Cloud uses [Docker Universal Control Plane (UCP)](/datacenter/ucp/2.2/guides/) to help you manage your cluster through a simple web UI! - -### Step 4a: Access UCP - -Before you begin, get your cluster **Name**, **ID**, and **UCP Password** that you previously noted. - -1. Retrieve your cluster's **UCP URL**: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - ``` - -2. In your browser, navigate to the **UCP URL**. - -3. Log in to UCP. Your credentials are `admin` and the UCP password from the `bx d4ic create` command output, or the credentials that your admin created for you. - -We're almost done! We just need to download the UCP certificate bundle so that you can create and deploy services from your local Docker client to the cluster. - -### Step 4b: Download client certificates - -1. From the UCP GUI under your user name (for example, **admin**), click **My Profile**. - -2. Click **Client Bundles** > **New Client Bundle**. A zip file is generated. - -3. In the GUI, you see a label and public key. To edit the label, click the pencil icon and give it a name, such as _d4ic-ucp_. - -4. In a terminal, navigate and unzip the client bundle: - - ```bash - $ cd Downloads && unzip ucp-bundle-admin.zip - ``` - - > Keep your client bundle handy - > - > Move the certificate environment variable directory to a safe and - > accessible location on your machine. It gets used a lot. - -5. From the client bundle directory, update your `DOCKER_HOST` and `DOCKER_CERT_PATH` environment variables by loading the `env.sh` script contents into your environment: - - ```bash - $ source env.sh - ``` - - > Set your environment to use Docker EE for IBM Cloud - > - > Repeat this to set your environment variables each time you enter a new terminal session, or after you unset your variables, to connect to the Docker EE for IBM Cloud swarm. - -That's it! Your Docker EE for IBM Cloud cluster is provisioned, connected to UCP, and ready to go. - -What's next, you ask? Why not try to: - -* [Learn when to use UCP and the CLIs](administering-swarms.md#ucp-and-clis). -* [Deploy an app](deploy.md). -* [Scale your swarm cluster](scaling.md). -* [Set up DTR to use IBM Cloud Object Storage](dtr-ibm-cos.md). diff --git a/docker-for-ibm-cloud/registry.md b/docker-for-ibm-cloud/registry.md deleted file mode 100644 index 8d684bc890..0000000000 --- a/docker-for-ibm-cloud/registry.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -description: Set up a registry to use images in your clusters -keywords: ibm, ibm cloud, registry, dtr, iaas, tutorial -title: Registry overview ---- -Learn about image registries, installing the registry CLI and setting up a namespace, logging in with private registry credentials, and creating a swarm service with a registry image. - -## Image registries - -Images are typically stored in a registry that can either be accessible by the public (public registry) or set up with limited access for a small group of users (private registry). Public registries, such as Docker Hub, can be used to get started with Docker and to create your first containerized app in a swarm. - -When it comes to enterprise applications, use a private registry, like Docker Trusted Registry or IBM Cloud Container Registry, to protect your images from being used and changed by unauthorized users. Private registries must be set up by the registry admin to ensure that the credentials to access the private registry are available to the swarm users. - -To deploy a container image in Docker swarm mode, you create a service that uses the image. - -## Docker Trusted Registry - -[Docker Trusted Registry (DTR)](/datacenter/dtr/2.4/guides/) is a private registry that runs on a Docker EE cluster. Once deployed, you can use the DTR GUI or Docker CLI to manage your Docker images. Set up DTR to save images on external storage. Use DTR when you need a secure image registry that’s integrated with Docker EE UCP. - -DTR uses IBM Cloud Object Storage to securely store your images externally. By default, an IBM Cloud Object Storage Swift account and `dtr-container` is created during [cluster provisioning](#administering-swarms.md#create-swarms). If you prevented the `dtr-container` from creating with the `--disable-dtr-storage` parameter, then [configure DTR to use IBM Cloud Object Storage S3](dtr-ibm-cos.md). - -## IBM Cloud Container Registry - -[IBM Cloud Container Registry](https://console.bluemix.net/docs/services/Registry/registry_overview.html#registry_overview) is a global, multi-tenant private image registry that you can use to safely store and share Docker images with other users in your IBM Cloud account. - -Images in the registry are automatically scanned by Vulnerability Adviser so that you build and scale your containers using secure images. Take control of your image usage and billing by setting quota limits to manage storage and pull traffic. Use IBM Cloud Container Registry when you need to share images across clusters and with users who do not have access to your swarm. - -Learn how to [use IBM Cloud Container Registry with Docker EE for IBM Cloud](ibm-registry.md). diff --git a/docker-for-ibm-cloud/release-notes.md b/docker-for-ibm-cloud/release-notes.md deleted file mode 100644 index 450bc41195..0000000000 --- a/docker-for-ibm-cloud/release-notes.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -description: Release notes for Docker EE for IBM Cloud. Learn more about the changes introduced in the latest versions. -keywords: ibm cloud, ibm, iaas, release notes -title: Docker EE for IBM Cloud (beta) release notes ---- - -Here you can learn about new features, bug fixes, breaking changes, and known issues for the latest Docker Enterprise Edition (EE) for IBM Cloud (beta) version. - -## Version 1.0.2 (closed beta) - -(26 January 2017) - -Start using version 1.0.2 of Docker EE for IBM Cloud today! - -1. Update the CLI plug-in: - - ```bash - $ bx plugin update docker-for-ibm-cloud -r Bluemix - ``` - -2. [Deploy a new cluster](administer-swarmd.md#create-swarms). - -The second release of the closed beta includes the following enhancements: - -* [IBM Cloud Security Groups](https://console.bluemix.net/docs/infrastructure/security-groups/sg_overview.html#about-security-groups) securely control access to cluster traffic. -* Users get their UCP password in the output of the [cluster create process](administer-swarmd.md#create-swarms). -* By default, IBM Cloud Swift API Object Storage is used for the DTR container instead of local storage volume to improve high availability. -* The [previous known issue](#service-load-balancer-has-the-configuration-of-an-older-service) about the service load balancer having the configuration of an older service is resolved. - -## Version 1.0.1 (closed beta) - -(20 December 2017) - -Docker Enterprise Edition for IBM Cloud is a Container-as-a-Service platform that helps you modernize and extend your applications. It provides an unmanaged, native Docker environment running within IBM Cloud, giving you the ability to enhance your apps with services from the IBM Cloud catalog such as Watson, Internet of Things, Data, Logging, Monitoring, and many more. - -The beta is based on the latest Docker EE version 17.06. You receive a 90-day Docker EE license for 20 Linux x86-64 nodes that you use when creating a cluster with the IBM Cloud `bx d4ic` CLI plug-in. - -[Sign up for the closed beta](mailto:sealbou@us.ibm.com). Then use the [quick start](quickstart.md) to spin up your first Docker EE for IBM Cloud swarm. - -### Known issues - -#### Service load balancer has the configuration of an older service - -**What it is**: You update (`docker service update`) or a create a new service after removing an old one (`docker service rm` then immediately `docker service create`) with a change to [the certificate or health check path](load-balancer.md#labels-for-ssl-termination-and-health-check-paths) values. The service load balancer still has the configuration of the older service. - -**Why it's happening**: The InfraKit ingress controller does not check if the certificate or health check path has changed between the service load balancer configuration and the Docker swarm listener configuration. This results in the old configuration not getting updated to the new values. - -**What to do about it**: Avoid updating a service with the `docker service update` command. - -First remove the old service with `docker service rm`, and then wait for a time so that the service load balancer configuration updates. Then, create the new service with `docker service create`. - -If you must use `docker service update`, remove the configuration for the port of the service load balancer in the [IBM Cloud infrastructure web UI](https://control.softlayer.com/). The InfraKit ingress controller then recreates the configuration with the new values. diff --git a/docker-for-ibm-cloud/scaling.md b/docker-for-ibm-cloud/scaling.md deleted file mode 100644 index 2943cba897..0000000000 --- a/docker-for-ibm-cloud/scaling.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -description: Scale your swarm stack -keywords: ibm cloud, ibm, iaas, tutorial -title: Modify your Docker EE for IBM Cloud swarm infrastructure ---- - -## Scale workers - -Before you begin: - -* [Create a cluster](administering-swarms.md#create-swarms). -* Retrieve your IBM Cloud infrastructure [API username and key](https://knowledgelayer.softlayer.com/procedure/retrieve-your-api-key). - -Steps: - -1. Connect to your Docker EE for IBM Cloud swarm. Navigate to the directory where you [downloaded the UCP credentials](administering-swarms.md#download-client-certificates) and run the script. For example: - - ```bash - $ cd filepath/to/certificate/repo && source env.sh - ``` - -2. Note the name of the cluster that you want to scale: - - ```bash - $ bx d4ic list --sl-user user.name.1234567 --sl-api-key api_key - ``` - -3. Note the manager leader node: - - ```bash - $ docker node ls - ``` - -4. Get the public IP address of the leader node, replacing _my_swarm_ with the swarm you want to scale: - - ```bash - $ bx d4ic show --swarm-name my_swarm --sl-user user.name.1234567 --sl-api-key api_key - ``` - -5. Connect to the leader node using the _leaderIP_ you previously retrieved: - - ```bash - $ ssh docker@leaderIP -p 56422 - ``` - -6. Use InfraKit to modify the number of swarm mode cluster resources. For example, the following commands set the target number of worker nodes in the cluster to 8. You can use the same commands to reduce the number of worker node instances. - - ```bash - $ /var/ibm/d4ic/infrakit.sh local stack/vars change -c cluster_swarm_worker_size=8 - $ /var/ibm/d4ic/infrakit.sh local stack/groups commit-group file:////infrakit_files/defn-wkr-group.json - ``` diff --git a/docker-for-ibm-cloud/scripts/Dockerfile b/docker-for-ibm-cloud/scripts/Dockerfile deleted file mode 100644 index 74f26fc765..0000000000 --- a/docker-for-ibm-cloud/scripts/Dockerfile +++ /dev/null @@ -1,30 +0,0 @@ -################################################# -# Watson Conversation Demo (Containerized) -################################################# -# Example Dockerfile for an IBM Watson Conversation service deployed to a Docker for IBM Cloud swarm. - -# Standard Ubuntu Container -FROM ubuntu:16.04 - -# Updates and Package Installs -RUN apt-get update -RUN apt-get install --no-install-recommends -y git vim net-tools ca-certificates curl bzip2 jq - -# Install Node -RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - -RUN apt-get install --no-install-recommends -y nodejs - -# Install and configure -RUN git clone https://github.com/watson-developer-cloud/conversation-simple.git -RUN cd conversation-simple && npm install - -RUN echo "export CONVERSATION_USERNAME=\$(cat /run/secrets/watson_conversation | jq \".username\" | sed 's/\"//g')" > /conversation-simple/run.sh && \ - echo "export CONVERSATION_PASSWORD=\$(cat /run/secrets/watson_conversation | jq \".password\" | sed 's/\"//g')" >> /conversation-simple/run.sh && \ - echo "npm start" >> /conversation-simple/run.sh && \ - chmod +x /conversation-simple/run.sh - -# Runtime -EXPOSE 3000 -WORKDIR /conversation-simple - -CMD /conversation-simple/run.sh diff --git a/docker-for-ibm-cloud/scripts/docker-stack.yaml b/docker-for-ibm-cloud/scripts/docker-stack.yaml deleted file mode 100644 index 7129c2b20e..0000000000 --- a/docker-for-ibm-cloud/scripts/docker-stack.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Example YAML file for an IBM Watson Conversation service deployed to a Docker for IBM Cloud swarm. -version: "3.4" -services: - # The name of your service, in this case "chat" - chat: - # This example uses IBM Cloud Container Registry, with the namespace and image:tag matching the ones used when building the Docker image. - image: registry.ng.bluemix.net/mynamespace/watson_conversation:latest - ports: - - 3000:3000 - deploy: - replicas: 2 - update_configs: - parallelism: 1 - restart_policy: - condition: on-failure - # Not all IBM Cloud services use workspace IDs. - # To retrieve the Watson Conversation service workpace ID, take the following steps: - # Log in to IBM Cloud, select the Watson Conversation service, click "Launch tool" - # Click the "Actions" expand button in the corner of your service tile, click "View Details", click the "Workspace ID" copy icon - environment: - - WORKSPACE_ID-11aa1111-a1aa-1111-aa11-11aa1a1a11aa - # secret name matches the `--service-key ` flag of the `bx d4ic key-create` command. - secrets: - - watson_conversation -secrets: - # secret name matches the `--service-key ` flag of the `bx d4ic key-create` command. - watson_conversation: - external: true diff --git a/docker-for-ibm-cloud/why.md b/docker-for-ibm-cloud/why.md deleted file mode 100644 index c8cbb277ef..0000000000 --- a/docker-for-ibm-cloud/why.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -description: Why Docker EE for IBM Cloud? -keywords: ibm cloud, ibm, iaas, why -title: Why Docker EE for IBM Cloud? ---- - -Docker Enterprise Edition for IBM Cloud (Beta) was created and is being actively developed to ensure that Docker users can enjoy a fantastic out-of-the-box experience on Docker for enterprise-grade workloads. It is now available as a beta. - -As an informed user, you might be curious to know what this project offers you for running your development, staging, or production workloads. - -## Native to Docker -Docker EE for IBM Cloud provides a Docker-native solution that you can use to avoid operational complexity and using unneeded additional APIs to the Docker stack. - -Docker EE for IBM Cloud allows you to interact with Docker directly (including native Docker orchestration), instead of distracting you with the need to navigate extra layers on top of Docker. You can focus instead on the thing that matters most: running your workloads. This helps you and your team to deliver more value to the business faster, to speak one common "language", and to have fewer details to keep in your head at once. - -The skills that you and your team have already learned, and continue to learn, using Docker on the desktop or elsewhere automatically carry over to using Docker EE for IBM Cloud. The added consistency across clouds also helps to ensure that a migration or multi-cloud strategy is easier to accomplish in the future, if desired. - -## Skip the boilerplate and maintenance work -Docker EE for IBM Cloud bootstraps all of the recommended infrastructure to start using Docker on IBM Cloud automatically. You don't need to worry about rolling your own instances, security groups, or load balancers when using Docker EE for IBM Cloud. - -Likewise, setting up and using Docker swarm mode functionality for container orchestration is managed across the cluster's lifecycle when you use Docker EE for IBM Cloud. Docker has already coordinated the various bits of automation you would otherwise need to glue together on your own to bootstrap Docker swarm mode on the platforms. When the cluster is finished booting, you can jump right in and start running `docker service` commands to schedule tasks for your worker nodes. - -## Self-cleaning and self-healing -Even the most conscientious admin can be caught off guard by issues such as exhaustive logging or the Linux kernel unexpectedly ending memory-hungry processes. In Docker EE for IBM Cloud, your cluster is resilient to a variety of such issues by default. - -You can enable or disable logging for swarms, so chatty logs don't use up all of your disk space. Likewise, the "system prune" option allows you to ensure unused Docker resources such as old images are cleaned up automatically. - -The lifecycle of nodes is managed using InfraKit, so that if a node enters an unhealthy state for unforeseen reasons, the node is removed from service and replaced automatically. Container tasks that were running on the unhealthy node are rescheduled. - -You can breathe easier as these self-cleaning and self-healing properties reduce the risk of downtime. - -## Logging native to the platforms -Centralized logging is a critical component of many modern infrastructure stacks. To have these logs indexed and searchable proves invaluable for debugging application and system issues as they come up. With Docker EE for IBM Cloud, you can enable seamless logging to you IBM Cloud account. - -# Try it today -Ready to get started? [Try Docker for IBM Cloud today](https://www.ibm.com/us-en/marketplace/docker-for-ibm-cloud). - -We'd be happy to hear your feedback via e-mail at docker-for-ibmcloud-beta@docker.com.