From e6ee210cc5a632c070c2cf7658f5479fd4e893dd Mon Sep 17 00:00:00 2001 From: wahidw Date: Mon, 29 Mar 2021 04:22:36 +0000 Subject: [PATCH] RIC-769: Committing individual files rather than tar archive Signed-off-by: wahidw Change-Id: Id8c3838d37b5f82a47d90228d0e6619dc823d935 --- xapp_orchestrater/dev/INFO.yaml | 54 +++ xapp_orchestrater/dev/LICENSES.txt | 31 ++ xapp_orchestrater/dev/README.md | 1 + xapp_orchestrater/dev/bldr-imgs/README.md | 8 + .../dev/bldr-imgs/bldr-alpine3-go/Dockerfile | 32 ++ .../bldr-imgs/bldr-alpine3-go/container-tag.yaml | 2 + .../dev/bldr-imgs/bldr-alpine3-mdclog/Dockerfile | 56 +++ .../bldr-alpine3-mdclog/container-tag.yaml | 3 + .../dev/bldr-imgs/bldr-alpine3-rmr/Dockerfile | 54 +++ .../bldr-imgs/bldr-alpine3-rmr/container-tag.yaml | 2 + .../dev/bldr-imgs/bldr-alpine3/Dockerfile | 42 ++ .../dev/bldr-imgs/bldr-alpine3/container-tag.yaml | 3 + .../dev/bldr-imgs/bldr-ubuntu18-c-go/Dockerfile | 110 +++++ .../bldr-ubuntu18-c-go/container-tag.yaml | 4 + xapp_orchestrater/dev/ci/xapp_onboarder/Dockerfile | 27 ++ .../dev/ci/xapp_onboarder/container-tag.yaml | 1 + .../dev/docs/_static/css/s4defs-roles.css | 316 ++++++++++++++ xapp_orchestrater/dev/docs/_static/logo.png | Bin 0 -> 43935 bytes xapp_orchestrater/dev/docs/conf.py | 32 ++ xapp_orchestrater/dev/docs/conf.yaml | 20 + xapp_orchestrater/dev/docs/favicon.ico | Bin 0 -> 15086 bytes xapp_orchestrater/dev/docs/index.rst | 25 ++ xapp_orchestrater/dev/docs/release-notes.rst | 119 +++++ xapp_orchestrater/dev/docs/requirements-docs.txt | 5 + .../dev/docs/xapp_onboarder/guide/config-file.json | 100 +++++ .../dev/docs/xapp_onboarder/guide/descriptor.rst | 200 +++++++++ .../docs/xapp_onboarder/guide/embedded-schema.json | 430 ++++++++++++++++++ .../dev/docs/xapp_onboarder/guide/example.rst | 37 ++ .../dev/docs/xapp_onboarder/guide/schema.rst | 50 +++ .../dev/docs/xapp_onboarder/guide_index.rst | 18 + .../dev/docs/xapp_onboarder/images/onboard.png | Bin 0 -> 127678 bytes .../dev/docs/xapp_onboarder/images/xapp-flow.png | Bin 0 -> 155507 bytes .../dev/docs/xapp_onboarder/index.rst | 16 + .../dev/docs/xapp_onboarder/overview.rst | 66 +++ .../dev/releases/alpine3-mdclog-container.yaml | 11 + .../dev/releases/alpine3-rmr-container.yaml | 11 + .../container-release-ric-plt-xapponboarder.yaml | 10 + xapp_orchestrater/dev/tox.ini | 34 ++ xapp_orchestrater/dev/xapp_onboarder/MANIFEST.in | 10 + xapp_orchestrater/dev/xapp_onboarder/README.md | 36 ++ .../dev/xapp_onboarder/charts/index-cache.yaml | 23 + .../dev/xapp_onboarder/requirements.txt | 23 + xapp_orchestrater/dev/xapp_onboarder/setup.cfg | 19 + xapp_orchestrater/dev/xapp_onboarder/setup.py | 50 +++ .../dev/xapp_onboarder/tests/__init__.py | 0 .../dev/xapp_onboarder/tests/conftest.py | 29 ++ .../dev/xapp_onboarder/tests/constants.py | 161 +++++++ .../tests/mock_helm_repo/__init__.py | 0 .../tests/mock_helm_repo/mock_helm_repo.py | 102 +++++ .../dev/xapp_onboarder/tests/test_api.py | 80 ++++ .../xapp_onboarder/tests/test_helm_controller.py | 32 ++ .../dev/xapp_onboarder/tests/test_trim_thread.py | 41 ++ xapp_orchestrater/dev/xapp_onboarder/tox.ini | 44 ++ .../dev/xapp_onboarder/xapp_onboarder/__init__.py | 0 .../xapp_onboarder/xapp_onboarder/api/__init__.py | 0 .../xapp_onboarder/api/api_reference.py | 34 ++ .../xapp_onboarder/xapp_onboarder/api/charts.py | 81 ++++ .../xapp_onboarder/api/endpoints/__init__.py | 0 .../xapp_onboarder/api/endpoints/charts_ep.py | 96 ++++ .../api/endpoints/health_check_ep.py | 43 ++ .../xapp_onboarder/api/endpoints/onboard_ep.py | 70 +++ .../xapp_onboarder/api/models/__init__.py | 0 .../xapp_onboarder/api/models/request_models.py | 35 ++ .../xapp_onboarder/api/models/response_models.py | 41 ++ .../xapp_onboarder/xapp_onboarder/api/onboard.py | 128 ++++++ .../xapp_onboarder/helm_controller/__init__.py | 0 .../helm_controller/artifacts_manager.py | 100 +++++ .../xapp_onboarder/helm_controller/xApp_builder.py | 300 +++++++++++++ .../xapp_onboarder/helm_controller/xapp_schema.py | 483 +++++++++++++++++++++ .../dev/xapp_onboarder/xapp_onboarder/logging.conf | 28 ++ .../xapp_onboarder/repo_manager/__init__.py | 0 .../xapp_onboarder/repo_manager/repo_manager.py | 157 +++++++ .../xapp_onboarder/resources/xapp-std/Chart.yaml | 20 + .../resources/xapp-std/templates/_helpers.tpl | 82 ++++ .../resources/xapp-std/templates/appconfig.yaml | 21 + .../resources/xapp-std/templates/appenv.yaml | 32 ++ .../resources/xapp-std/templates/deployment.yaml | 117 +++++ .../resources/xapp-std/templates/service-http.yaml | 43 ++ .../resources/xapp-std/templates/service-rmr.yaml | 50 +++ .../xapp_onboarder/resources/xapp-std/values.yaml | 60 +++ .../xapp_onboarder/server/__init__.py | 0 .../xapp_onboarder/xapp_onboarder/server/cli.py | 171 ++++++++ .../xapp_onboarder/xapp_onboarder/server/server.py | 61 +++ .../xapp_onboarder/server/settings.py | 40 ++ .../xapp_onboarder/xapp-onboarder-api.yaml | 329 ++++++++++++++ xapp_orchestrater/xapp_orchestrater.tgz | Bin 359021 -> 0 bytes 86 files changed, 5202 insertions(+) create mode 100644 xapp_orchestrater/dev/INFO.yaml create mode 100644 xapp_orchestrater/dev/LICENSES.txt create mode 100644 xapp_orchestrater/dev/README.md create mode 100644 xapp_orchestrater/dev/bldr-imgs/README.md create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-go/Dockerfile create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-go/container-tag.yaml create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-mdclog/Dockerfile create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-mdclog/container-tag.yaml create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-rmr/Dockerfile create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-rmr/container-tag.yaml create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-alpine3/Dockerfile create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-alpine3/container-tag.yaml create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-ubuntu18-c-go/Dockerfile create mode 100644 xapp_orchestrater/dev/bldr-imgs/bldr-ubuntu18-c-go/container-tag.yaml create mode 100644 xapp_orchestrater/dev/ci/xapp_onboarder/Dockerfile create mode 100644 xapp_orchestrater/dev/ci/xapp_onboarder/container-tag.yaml create mode 100644 xapp_orchestrater/dev/docs/_static/css/s4defs-roles.css create mode 100644 xapp_orchestrater/dev/docs/_static/logo.png create mode 100644 xapp_orchestrater/dev/docs/conf.py create mode 100644 xapp_orchestrater/dev/docs/conf.yaml create mode 100644 xapp_orchestrater/dev/docs/favicon.ico create mode 100644 xapp_orchestrater/dev/docs/index.rst create mode 100644 xapp_orchestrater/dev/docs/release-notes.rst create mode 100644 xapp_orchestrater/dev/docs/requirements-docs.txt create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/guide/config-file.json create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/guide/descriptor.rst create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/guide/embedded-schema.json create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/guide/example.rst create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/guide/schema.rst create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/guide_index.rst create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/images/onboard.png create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/images/xapp-flow.png create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/index.rst create mode 100644 xapp_orchestrater/dev/docs/xapp_onboarder/overview.rst create mode 100644 xapp_orchestrater/dev/releases/alpine3-mdclog-container.yaml create mode 100644 xapp_orchestrater/dev/releases/alpine3-rmr-container.yaml create mode 100644 xapp_orchestrater/dev/releases/container-release-ric-plt-xapponboarder.yaml create mode 100644 xapp_orchestrater/dev/tox.ini create mode 100644 xapp_orchestrater/dev/xapp_onboarder/MANIFEST.in create mode 100644 xapp_orchestrater/dev/xapp_onboarder/README.md create mode 100644 xapp_orchestrater/dev/xapp_onboarder/charts/index-cache.yaml create mode 100644 xapp_orchestrater/dev/xapp_onboarder/requirements.txt create mode 100644 xapp_orchestrater/dev/xapp_onboarder/setup.cfg create mode 100644 xapp_orchestrater/dev/xapp_onboarder/setup.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/tests/__init__.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/tests/conftest.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/tests/constants.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/tests/mock_helm_repo/__init__.py create mode 100755 xapp_orchestrater/dev/xapp_onboarder/tests/mock_helm_repo/mock_helm_repo.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/tests/test_api.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/tests/test_helm_controller.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/tests/test_trim_thread.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/tox.ini create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/__init__.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/__init__.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/api_reference.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/charts.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/__init__.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/charts_ep.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/health_check_ep.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/onboard_ep.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/__init__.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/request_models.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/response_models.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/onboard.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/__init__.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/artifacts_manager.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/xApp_builder.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/xapp_schema.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/logging.conf create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/repo_manager/__init__.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/repo_manager/repo_manager.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/Chart.yaml create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/_helpers.tpl create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/appconfig.yaml create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/appenv.yaml create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/deployment.yaml create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/service-http.yaml create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/service-rmr.yaml create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/values.yaml create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/__init__.py create mode 100755 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/cli.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/server.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/settings.py create mode 100644 xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/xapp-onboarder-api.yaml delete mode 100644 xapp_orchestrater/xapp_orchestrater.tgz diff --git a/xapp_orchestrater/dev/INFO.yaml b/xapp_orchestrater/dev/INFO.yaml new file mode 100644 index 0000000..7f57254 --- /dev/null +++ b/xapp_orchestrater/dev/INFO.yaml @@ -0,0 +1,54 @@ +--- +project: 'Integration and Testing' +project_creation_date: '2019-05-21' +project_category: '' +lifecycle_state: 'Incubation' +project_lead: &it-dev_ptl + name: 'Lusheng Ji' + email: 'lji@research.att.com' + id: 'wrider' + company: 'AT&T Labs-Research' + timezone: 'America/New_York' +primary_contact: *it-dev_ptl +issue_tracking: + type: 'jira' + url: 'https://jira.o-ran-sc.org/projects/INT' + key: 'INT' +mailing_list: + type: 'groups.io' + url: 'https://lists.o-ran-sc.org/g/main' + tag: '<[it/dev]>' +realtime_discussion: + type: 'irc' + server: 'freenode.net' + channel: '#o-ran-sc' +meetings: + - type: 'zoom' + agenda: '' + url: '' + server: 'n/a' + channel: 'n/a' + repeats: 'weekly' + time: '' +repositories: + - 'it/dev' +committers: + - <<: *it-dev_ptl + - name: 'Zhe Huang' + email: 'zhehuang@research.att.com' + company: 'AT&T Labs-Research' + id: 'eefelixwong' + timezone: 'America/New_York' + - name: 'Dave Korman' + email: 'davek@research.att.com' + company: 'AT&T Labs-Research' + id: 'multics' + timezone: 'America/New_York' + - name: 'Chris Lott' + email: 'clott@research.att.com' + company: 'AT&T Labs-Research' + id: 'cl778h' + timezone: 'America/New_York' +tsc: + # yamllint disable rule:line-length + approval: 'https://wiki.o-ran-sc.org/display/TOC#O-RANSCTechnicalOversightCommittee(TOC)-20190821' diff --git a/xapp_orchestrater/dev/LICENSES.txt b/xapp_orchestrater/dev/LICENSES.txt new file mode 100644 index 0000000..a9db3d0 --- /dev/null +++ b/xapp_orchestrater/dev/LICENSES.txt @@ -0,0 +1,31 @@ +LICENSES.txt + + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the "Software License"); +you may not use this software except in compliance with the Software +License. You may obtain a copy of the Software License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the Software License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the Software License for the specific language governing permissions +and limitations under the Software License. + + + +Unless otherwise specified, all documentation contained herein is licensed +under the Creative Commons License, Attribution 4.0 Intl. (the +"Documentation License"); you may not use this documentation except in +compliance with the Documentation License. You may obtain a copy of the +Documentation License at + +https://creativecommons.org/licenses/by/4.0/ + +Unless required by applicable law or agreed to in writing, documentation +distributed under the Documentation License is distributed on an "AS IS" +BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied. See the Documentation License for the specific language governing +permissions and limitations under the Documentation License. diff --git a/xapp_orchestrater/dev/README.md b/xapp_orchestrater/dev/README.md new file mode 100644 index 0000000..dcc8ab0 --- /dev/null +++ b/xapp_orchestrater/dev/README.md @@ -0,0 +1 @@ +This repo holds various integration and testing development codes. diff --git a/xapp_orchestrater/dev/bldr-imgs/README.md b/xapp_orchestrater/dev/bldr-imgs/README.md new file mode 100644 index 0000000..0d37ad4 --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/README.md @@ -0,0 +1,8 @@ +# Base builder images for O-RAN-SC + +This area contains Dockerfiles for images suitable for use as the +first stage in a multi-stage Docker build. These images have large +build and compile tools like C, C++, Golang, cmake, ninja, etc. Using +these base images reduces the time needed to build Docker images with +project features. The images are published to the O-RAN-SC staging +registry at the Linux Foundation: nexus3.o-ran-sc.org:10004 diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-go/Dockerfile b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-go/Dockerfile new file mode 100644 index 0000000..80db68f --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-go/Dockerfile @@ -0,0 +1,32 @@ +# ================================================================================== +# Copyright (c) 2020 Nokia +# Copyright (c) 2020 AT&T Intellectual Property. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================================================================== + +# Has: +# golang 1.13.8 +# alpine 3.11 +# rmr 3.x + +# install a well known working rmr +FROM golang:1.13.8-alpine3.11 +RUN apk update && apk add autoconf automake build-base cmake libtool ninja pkgconfig git sudo +RUN git clone --branch 3.7.1 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \ + && cd rmr \ + && mkdir .build; cd .build \ + && echo "<<>>" \ + && cmake .. -DDEV_PKG=1; make install \ + && echo "<<< installing rmr .so>>>" \ + && cmake .. -DDEV_PKG=0; make install diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-go/container-tag.yaml b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-go/container-tag.yaml new file mode 100644 index 0000000..7fa1a65 --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-go/container-tag.yaml @@ -0,0 +1,2 @@ +--- +tag: 6-a3.11-rmr3 diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-mdclog/Dockerfile b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-mdclog/Dockerfile new file mode 100644 index 0000000..f56882f --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-mdclog/Dockerfile @@ -0,0 +1,56 @@ +# O-RAN-SC +# +# Copyright (C) 2019-2020 AT&T Intellectual Property and Nokia +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Provides MDCLOG for Alpine including header files and shared-object libraries, +# basically a workaround for missing APK support at PackageCloud.io. +# Unlike other bldr- images, this only has library files, no build tools. +# See list of available files below. Use the following command to copy a file +# in a Docker build, after replacing "TAG" with the desired version string: +# +# COPY --from=nexus3.o-ran-sc.org:10002/bldr-alpine3-mdclog:TAG /usr/local/lib/libmdclog.so /usr/local/lib/libmdclog.so +# +# /usr/local/include/mdclog: +# mdclog.h +# +# /usr/local/lib: +# libmdclog.a +# libmdclog.la +# libmdclog.so +# libmdclog.so.0 (subject to version change) +# libmdclog.so.0.0.4 (ditto) + +FROM alpine:3.11 as bldr +RUN apk update && apk add autoconf automake build-base cmake libtool pkgconfig git sudo + +# the autoconf-archive in alpine's edge repos is too new +# for our purposes, so we'll use one from the source. +RUN cd /tmp \ + && git clone --branch v2015.09.25 git://git.sv.gnu.org/autoconf-archive.git \ + && cp /tmp/autoconf-archive/m4/* /usr/share/aclocal \ + && rm -rf /tmp/autoconf-archive + +# MCDLOG, version is pinned +RUN cd /tmp \ + && git clone --branch v0.0.4 https://gerrit.o-ran-sc.org/r/com/log \ + && cd log \ + && ./autogen.sh \ + && ./configure \ + && make \ + && make install + +FROM scratch +COPY --from=bldr /usr/local/include/mdclog /usr/local/include/mdclog +COPY --from=bldr /usr/local/lib/libmdclog.* /usr/local/lib/ diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-mdclog/container-tag.yaml b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-mdclog/container-tag.yaml new file mode 100644 index 0000000..6f59723 --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-mdclog/container-tag.yaml @@ -0,0 +1,3 @@ +# Version of the com/log aka MDCLog library +--- +tag: 0.0.4 diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-rmr/Dockerfile b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-rmr/Dockerfile new file mode 100644 index 0000000..5c65815 --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-rmr/Dockerfile @@ -0,0 +1,54 @@ +# ================================================================================== +# Copyright (c) 2020 Nokia +# Copyright (c) 2020 AT&T Intellectual Property. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================================================================== + +# Provides RMR for Alpine including header files and shared-object libraries, +# basically a workaround for missing APK support at PackageCloud.io. +# Unlike other bldr- images, this only has library files, no build tools. +# See list of available files below. Use the following command to copy a file +# in a Docker build, after replacing "TAG" with the desired version string: +# +# COPY --from=nexus3.o-ran-sc.org:10002/o-ran-sc/bldr-alpine3-rmr:TAG /usr/local/lib64/librmr* /usr/local/lib64/ +# +# /usr/local/bin: +# rmr_probe +# +# /usr/local/include/rmr: +# RIC_message_types.h +# rmr.h +# rmr_logging.h +# rmr_symtab.h +# +# /usr/local/lib64: +# librmr_si.a +# librmr_si.so +# librmr_si.so.4 (subject to version change) +# librmr_si.so.4.0.2 (subject to version change) + +FROM alpine:3.11 as bldr +RUN apk update && apk add autoconf automake build-base cmake libtool pkgconfig git sudo +RUN git clone --branch 4.1.2 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \ + && cd rmr \ + && mkdir .build; cd .build \ + && echo "<<>>" \ + && cmake .. -DDEV_PKG=1; make install \ + && echo "<<< installing rmr .so>>>" \ + && cmake .. -DDEV_PKG=0; make install + +FROM scratch +COPY --from=bldr /usr/local/bin/rmr* /usr/local/bin/ +COPY --from=bldr /usr/local/include/rmr /usr/local/include/rmr +COPY --from=bldr /usr/local/lib64/librmr* /usr/local/lib64/ diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-rmr/container-tag.yaml b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-rmr/container-tag.yaml new file mode 100644 index 0000000..fe126a9 --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3-rmr/container-tag.yaml @@ -0,0 +1,2 @@ +--- +tag: 4.1.2 diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3/Dockerfile b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3/Dockerfile new file mode 100644 index 0000000..8c2ad17 --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3/Dockerfile @@ -0,0 +1,42 @@ +# O-RAN-SC +# +# Copyright (C) 2019-2020 AT&T Intellectual Property and Nokia +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This is an all-things-to-all-ORAN-people Alpine 3.11 build image with: +# gcc/g++ v 8 +# golang v 1.13.x +# python 3.7 +# ORAN libraries are not provided here to reduce version churn + +FROM python:3.7-alpine +RUN apk update && apk add \ + autoconf \ + automake \ + build-base \ + cmake \ + libtool \ + ninja \ + pkgconfig \ + python-dev \ + sudo \ + git \ + go + +# the autoconf-archive in alpine's edge repos is too new +# for our purposes, so we'll use one from the source. +RUN cd /tmp \ + && git clone --branch v2015.09.25 git://git.sv.gnu.org/autoconf-archive.git \ + && cp /tmp/autoconf-archive/m4/* /usr/share/aclocal \ + && rm -rf /tmp/autoconf-archive diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3/container-tag.yaml b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3/container-tag.yaml new file mode 100644 index 0000000..a8e11aa --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-alpine3/container-tag.yaml @@ -0,0 +1,3 @@ +# Not feasible to show all the software versions +--- +tag: 12-a3.11 diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-ubuntu18-c-go/Dockerfile b/xapp_orchestrater/dev/bldr-imgs/bldr-ubuntu18-c-go/Dockerfile new file mode 100644 index 0000000..c7be3e4 --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-ubuntu18-c-go/Dockerfile @@ -0,0 +1,110 @@ +# O-RAN-SC +# +# Copyright (C) 2019-2020 AT&T Intellectual Property and Nokia +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Builder image with superset of CI tools for RIC components + +FROM nexus3.o-ran-sc.org:10001/ubuntu:18.04 + +RUN apt-get update && apt-get install -y \ + alien \ + autoconf \ + autoconf-archive \ + automake \ + autotools-dev \ + build-essential \ + cmake \ + g++ \ + gcc \ + git \ + ksh \ + libbz2-dev \ + libicu-dev \ + libsctp-dev \ + libtool \ + lksctp-tools \ + make \ + python-dev \ + pkg-config \ + software-properties-common \ + sudo \ + wget \ + zlib1g \ + zlib1g-dev \ + zlibc \ + zip + +WORKDIR /tmp + +# Install go versions in /opt +RUN mkdir -p /opt/go + +ARG g12="1.12.17" +RUN wget -nv https://dl.google.com/go/go${g12}.linux-amd64.tar.gz \ + && tar -xf go${g12}.linux-amd64.tar.gz \ + && mv go /opt/go/1.12 \ + && rm -f go*.gz + +ARG g13="1.13.12" +RUN wget -nv https://dl.google.com/go/go${g13}.linux-amd64.tar.gz \ + && tar -xf go${g13}.linux-amd64.tar.gz \ + && mv go /opt/go/1.13 \ + && rm -f go*.gz + +ARG g14="1.14.4" +RUN wget -nv https://dl.google.com/go/go${g14}.linux-amd64.tar.gz \ + && tar -xf go${g14}.linux-amd64.tar.gz \ + && mv go /opt/go/1.14 \ + && rm -f go*.gz + +ENV GOPATH=/root/go +# Default path has go version 1.12.x +# Use /opt/go/1.13/bin for version 1.13.x +# Use /opt/go/1.14/bin for version 1.14.x +ENV PATH=$PATH:/opt/go/1.12/bin:$GOPATH/bin + +# This installs go-acc to GOPATH +RUN go version \ + && go get -v github.com/ory/go-acc \ + && go-acc --help + +# install a recent version of cmake, ubuntu repo version is old +ARG cv="3.14.5" +RUN wget -nv https://github.com/Kitware/CMake/releases/download/v${cv}/cmake-${cv}-Linux-x86_64.sh \ + && chmod +x cmake-${cv}-Linux-x86_64.sh \ + && ./cmake-${cv}-Linux-x86_64.sh --prefix=/usr/local --skip-license \ + && rm -f cmake*.sh + +# sonar-scanner is not available in ubuntu repo +ARG sv="4.2.0.1873" +RUN wget -nv https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${sv}-linux.zip \ + && unzip sonar-scanner-cli-${sv}-linux.zip \ + && mv sonar-scanner-${sv}-linux /usr/local/sonar-scanner \ + && rm -f sonar*.zip + +# golangci-lint is not available in ubuntu repo +RUN wget -O- -nv https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $GOPATH/bin v1.23.6 \ + && rm -f install.sh + +# install a recent version of boost, ubuntu repo version is old +ARG bv="1_69_0" +RUN wget -nv https://dl.bintray.com/boostorg/release/1.69.0/source/boost_${bv}.zip \ + && unzip -q boost_${bv}.zip \ + && cd boost_${bv} \ + && ./bootstrap.sh --prefix=/usr/ \ + && ./b2 \ + && ./b2 install \ + && cd ../ \ + && rm -rf boost*.zip boost_${bv} diff --git a/xapp_orchestrater/dev/bldr-imgs/bldr-ubuntu18-c-go/container-tag.yaml b/xapp_orchestrater/dev/bldr-imgs/bldr-ubuntu18-c-go/container-tag.yaml new file mode 100644 index 0000000..54cbd00 --- /dev/null +++ b/xapp_orchestrater/dev/bldr-imgs/bldr-ubuntu18-c-go/container-tag.yaml @@ -0,0 +1,4 @@ +# Not feasible to show all the software versions +# here so just use a counter plus the base image +--- +tag: 9-u18.04 diff --git a/xapp_orchestrater/dev/ci/xapp_onboarder/Dockerfile b/xapp_orchestrater/dev/ci/xapp_onboarder/Dockerfile new file mode 100644 index 0000000..28a72b1 --- /dev/null +++ b/xapp_orchestrater/dev/ci/xapp_onboarder/Dockerfile @@ -0,0 +1,27 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +FROM python:3.7-alpine + +ADD ./xapp_onboarder /opt/xapp_onboarder + +RUN cd /opt/xapp_onboarder && pip3 install . && rm -r /opt/xapp_onboarder + +ARG HELM_VERSION="2.12.3" + +RUN wget https://storage.googleapis.com/kubernetes-helm/helm-v${HELM_VERSION}-linux-amd64.tar.gz && tar -xvf helm-v${HELM_VERSION}-linux-amd64.tar.gz && mv linux-amd64/helm /usr/local/bin/helm && rm -r linux-amd64 && rm helm-v${HELM_VERSION}-linux-amd64.tar.gz + +ENTRYPOINT ["xapp_onboarder"] diff --git a/xapp_orchestrater/dev/ci/xapp_onboarder/container-tag.yaml b/xapp_orchestrater/dev/ci/xapp_onboarder/container-tag.yaml new file mode 100644 index 0000000..ab18407 --- /dev/null +++ b/xapp_orchestrater/dev/ci/xapp_onboarder/container-tag.yaml @@ -0,0 +1 @@ +tag: 1.0.8 diff --git a/xapp_orchestrater/dev/docs/_static/css/s4defs-roles.css b/xapp_orchestrater/dev/docs/_static/css/s4defs-roles.css new file mode 100644 index 0000000..f47492d --- /dev/null +++ b/xapp_orchestrater/dev/docs/_static/css/s4defs-roles.css @@ -0,0 +1,316 @@ +.black { + color: black; +} + +.gray { + color: gray; +} + +.grey { + color: gray; +} + +.silver { + color: silver; +} + +.white { + color: white; +} + +.maroon { + color: maroon; +} + +.red { + color: red; +} + +.magenta { + color: magenta; +} + +.fuchsia { + color: fuchsia; +} + +.pink { + color: pink; +} + +.orange { + color: orange; +} + +.yellow { + color: yellow; +} + +.lime { + color: lime; +} + +.green { + color: green; +} + +.olive { + color: olive; +} + +.teal { + color: teal; +} + +.cyan { + color: cyan; +} + +.aqua { + color: aqua; +} + +.blue { + color: blue; +} + +.navy { + color: navy; +} + +.purple { + color: purple; +} + +.under { + text-decoration: underline; +} + +.over { + text-decoration: overline; +} + +.blink { + text-decoration: blink; +} + +.line { + text-decoration: line-through; +} + +.strike { + text-decoration: line-through; +} + +.it { + font-style: italic; +} + +.ob { + font-style: oblique; +} + +.small { + font-size: small; +} + +.large { + font-size: large; +} + +.smallpar { + font-size: small; +} + + +/* Style pour les badges en bas de la page. */ + +div.supportBadges { + margin: 1em; + text-align: right; +} + +div.supportBadges ul { + padding: 0; + display: inline; +} + +div.supportBadges li { + display: inline; +} + +div.supportBadges a { + margin-right: 1px; + opacity: 0.6; +} + +div.supportBadges a:hover { + opacity: 1; +} + + +/* Details elements in the sidebar */ + +a.reference { + border-bottom: none; + text-decoration: none; +} + +ul.details { + font-size: 80%; +} + +ul.details li p { + font-size: 85%; +} + +ul.externallinks { + font-size: 85%; +} + + +/* Pour le drapeau de langue */ + +img.languageswitch { + width: 50px; + height: 32px; + margin-left: 5px; + vertical-align: bottom; +} + +div.sphinxsidebar { + overflow: hidden !important; + font-size: 120%; + word-wrap: break-word; + width: 300px; + max-width: 300px; +} + +div.sphinxsidebar h3 { + font-size: 125%; +} + +div.sphinxsidebar h4 { + font-size: 110%; +} + +div.sphinxsidebar a { + font-size: 85%; +} + + +/* Image style for scrollUp jQuery plugin */ + +#scrollUpLeft { + bottom: 50px; + left: 260px; + height: 38px; + width: 38px; + background: url('//perso.crans.org/besson/_images/.top.svg'); + background: url('../_images/.top.svg'); +} + +@media screen and (max-width: 875px) { + #scrollUpLeft { + right: 50px; + left: auto; + } +} + + +/* responsive for font-size. */ + +@media (max-width: 875px) { + body { + font-size: 105%; + /* Increase font size for responsive theme */ + } +} + +@media (max-width: 1480px) and (min-width: 876px) { + body { + font-size: 110%; + /* Increase font size for not-so-big screens */ + } +} + +@media (min-width: 1481px) { + body { + font-size: 115%; + /* Increase even more font size for big screens */ + } +} + + +/* Social Icons in the sidebar (available: twitter, facebook, linkedin, google+, bitbucket, github) */ + +.social-icons { + display: inline-block; + margin: 0; + text-align: center; +} + +.social-icons a { + background: none no-repeat scroll center top #444444; + border: 1px solid #F6F6F6; + border-radius: 50% 50% 50% 50%; + display: inline-block; + height: 35px; + width: 35px; + margin: 0; + text-indent: -9000px; + transition: all 0.2s ease 0s; + text-align: center; + border-bottom: none; +} + +.social-icons li { + display: inline-block; + list-style-type: none; + border-bottom: none; +} +.social-icons li a { + border-bottom: none; +} + +.social-icons a:hover { + background-color: #666666; + transition: all 0.2s ease 0s; + text-decoration: none; +} + +.social-icons a.facebook { + background-image: url('../_images/.facebook.png'); + background-image: url('//perso.crans.org/besson/_images/.facebook.png'); + display: block; + margin-left: auto; + margin-right: auto; + background-size: 35px 35px; +} + +.social-icons a.bitbucket { + background-image: url('../_images/.bitbucket.png'); + background-image: url('//perso.crans.org/besson/_images/.bitbucket.png'); + display: block; + margin-left: auto; + margin-right: auto; + background-size: 35px 35px; +} + +.social-icons li a.github { + background-image: url('../_images/.github.png'); + background-image: url('//perso.crans.org/besson/_images/.github.png'); + display: block; + margin-left: auto; + margin-right: auto; + background-size: 35px 35px; +} + +.social-icons li a.wikipedia { + background-image: url('../_images/.wikipedia.png'); + background-image: url('//perso.crans.org/besson/_images/.wikipedia.png'); + display: block; + margin-left: auto; + margin-right: auto; + background-size: 35px 35px; +} diff --git a/xapp_orchestrater/dev/docs/_static/logo.png b/xapp_orchestrater/dev/docs/_static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c3b6ce56468d87a3d9463ee75297b3895fc9a414 GIT binary patch literal 43935 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

r@f1gRWk|A*%4`3la7*fhEBO++ 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 literal 0 HcmV?d00001 diff --git a/xapp_orchestrater/dev/docs/conf.py b/xapp_orchestrater/dev/docs/conf.py new file mode 100644 index 0000000..443da2a --- /dev/null +++ b/xapp_orchestrater/dev/docs/conf.py @@ -0,0 +1,32 @@ +# ================================================================================== +# Copyright (c) 2019 AT&T Intellectual Property. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================================================================== + +from docs_conf.conf import * +linkcheck_ignore = [ + 'http://localhost.*', + 'http://127.0.0.1.*', + 'https://gerrit.o-ran-sc.org.*' +] + +rst_prolog = """ +.. include:: +.. default-role:: + +""" + +html_css_files = ['css/s4defs-roles.css'] + +extensions = ['sphinxcontrib.contentui'] diff --git a/xapp_orchestrater/dev/docs/conf.yaml b/xapp_orchestrater/dev/docs/conf.yaml new file mode 100644 index 0000000..2f2ff27 --- /dev/null +++ b/xapp_orchestrater/dev/docs/conf.yaml @@ -0,0 +1,20 @@ +--- +# ================================================================================== +# Copyright (c) 2019 AT&T Intellectual Property. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================================================================== +project_cfg: oran +project: it/dev + + diff --git a/xapp_orchestrater/dev/docs/favicon.ico b/xapp_orchestrater/dev/docs/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..00b0fd0ef0b4e78fbb8cdb413ce84561dfeb404f GIT binary patch literal 15086 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

4K$ruCE1 z6v%X$l;$A+WKj>+22)V)8Q__tsz1{oD`fctaftb@q**pw5vOB*{loVVn;33xnDNGS zD^e)*U)Ql12r)&^)(c&_BB& zheV@4UKKl!7p|eHf()`XVR72M#mKh^H8)CW(JrFw9b6XpxZfT-19>egCsE+4vB(QS zTsh*?M*TjaV&t+|kjLbY$$k8Xadb*KUL?!%?IE)$_UT1S7p!zP+-y`Aj3uoxYSwQtKqu7Ffq`$0^Fvphe+~M#Kz{`E&vzSXun0K}N!`ET9P#gMbbq$XM8y4H z)gOLuibl+q<%RGToS}3`VY)8{KC=@(XnIPbJB!FUfz$a`L+NTcP{iQaSs5YhH-G zyC8O*t+ z(h>5>sU*)F+U)kYZ83Gkp65fqlGUH-pTs|aoC_9jh8-Yx%A(8eXO@DiuDvg$jF6w% zR4GS{M5TY*_Y{=Q;^OevAjXNaP#N|ivewjF`!{jIL@UIN5qDMV|I+F(eC(H?{{;E~ z0|9@x8{AEa8-N69oMS#qyLBS z5FbX;!4f=;e ze{Bq6o`Kw}(8*#|h}W`sbC*NVe>+=#IlV-!eL@Q>FZJMy*D_+P|U`TP=frpSI}K{%yR&`mS*f$#;iX zW*O`c%8_>@1QC-{4!vh1QD`{uOGo@2aEe z6WAMz_pn$Ai}fJx&%J^;$&-4tf3Z9h`Y&v!fTBuWzeXuNL2N;wU8lCZ58(c0+N0aU zU)8=zP0SB5OT_!E__v5Jd{zeg`<3N*NUt5%jSaK7#&cC%X^vI&OP%?yH4M<%5t3k` z6F163{U4(3nQp`@go=9@e_NUUpqr-~#~j*S)eq3m;wpuRsf-h)Rkiy31HJ!*EQd7l zC$ly{%+2Zn@w+45AX4n=eKB=B^j9_04+flp$oUxJ3frrT5EGdr+Vb*^XLjf`hcKUT z4Fvj{NVh!rP@%i0qJ}S4d?UZGl@A~LUFr2B`f@s`$61wr_!O(E5YI@1KV9UISlMho zfS&guGRP%}{@8`a-;aYe^gl$bNF=|uqn-TZ+IZ6L;3L} zXW7XOPn!9Mq2KGVlEgSC3sW2QlS5KP9sC%#>|@HJ1VP0s;Fo@&sHHuPHB!T;+E zpDFWK2O(DAt;mP3*GFT=eKOazlO6hDk>u889X|@QL*|R;pfvA6@e&$EETgrUMC2Id`XoK%&3j8(`)P7g%q0m1-Q~%t{ zh?iJs>aJbNc1L#)yz}2*o8}fV7WZG^%S(a&bxrickEHg&H0Ynz;QO5l-Cs7*ADsIT z{zhMIolW0M&TRJy$a#LNvHq+LAZ#qUUV$yb_oIqsFh3Ua!?mQJ)t~7f1)smV{*MHG zbNe;br|)y%{W~uHCADXuSE=D(`FYGA<-&ZL+rY3A3j>QoX!L*Ir2ZQHWAc@Pk@;Eh z`2`646wSu1KK<+(`oIjj6Co;JG4n}cA4KjCVUNFHOdN$D4EA8Z95xtHO15Dd{qTXo zel28q)M_#sHicIuXtd#ydtUF%1Sqrt+hIK{yKdveTVVzKJ*Kqe=PKGbh%46oNiKq z!)2yCzrL8>O~RFO_s+4h(|7Aq>6;Z{|*bPXbOB zPKQkVgIK0nRr_%7I)iX;r9pU@(tx=)IAJPBgT~>|P^zC0?pfeapQ73RQkv)4kCt>Fi}Q1+>VF8LaCV*~ zNP8jbdSr7qqrFzZYJ5eC#l|zfko+_(^mFPR-j4$3`B1=D_S9z>k0$yDP=wPQoOxm( ziP-P%#6ENHC2qt2N31q7e}6*A$Q7R^exv%IhXCYy`z`P-_nv8U!+qjMhuwy?KQTD4 z$L*z#;T7??KioEz9J}r(u2K4Ks?W51RB@xKmSquu4^#%Y849ACRpb^tkiI9mi>IYB;( zial=6shMviMi}!R&Mj+MuAq#29A`%C)lCoXK`cL8c5nqrZeX8MTCemgZFyfDFI*>& zwoiTOWp)W?4ea~PGIMZ$jr3f)IuE0qiZQm>zZ>d({U}Q0g;*bWY~K}mek?c6{AwM$ zUveu;y*8B6Gt7s4y*K0H2&=QE9%lFNtM|OWV6S(V-JdOa_`B+U-vaf%P7wRD+1SK7 z%Hr|S5ae#;W1spE`?SYTu}9z1ct6`09jPr7Zmo*KdSs;GKn$6S`!+zTRq#4|)A6qSv+`X=j8I@uVyMQ%yOI5vaZAF&D^0JA1kD{-5W`#F#uae~@sAA17*f03z z6k)9n?wb(&e$e&f@&0U&%=QHj5#vioTxJc{!sTUkcHh3JvmR4Sf&rNO`eEH2fOWTD z9@gZXB)-ctmCr?bWUXPqvz$F>dnJ6_&F5 z=62Q8kCg%0*+%I9)p$mU&vVoRF?SX#wZmG#=3o{-6ihEH5{xfcjdfq=Ud?lG?}v~+ z@KJAd`;#7suPCc+_Se>0ZK`@|v7#c~JgQuVScQ(Cs0uT9Hm+o1CmxPfB=Qj^m26BZ XY+}&}KC=mD;X?Iq*l*cA?B4$ePY*3q literal 0 HcmV?d00001 diff --git a/xapp_orchestrater/dev/docs/index.rst b/xapp_orchestrater/dev/docs/index.rst new file mode 100644 index 0000000..d7e3537 --- /dev/null +++ b/xapp_orchestrater/dev/docs/index.rst @@ -0,0 +1,25 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +Welcome to O-RAN SC Integratoin for xApp Development Documentation +================================================================== + +The it/dev repo is used by the O-RAN SC Integration and Testing project for hosting miscellaneous development codes. +This repo contains integration artifacts for developing Near Realtime RAN Intelligent Controller applications (xApps). + +Because the life cycles of Near Realtime RIC xApps are managed by Near Realtime RIC +Platform, the xApps are expect to conform with certain behavioral patterns and provide +well-described interfaces. The artifacts here help the xApp developers to generate (Near Realtime) RIC Platform deployment ready Helm charts for their xApps. + + +The following is a list of projects hosted by this repo. + +.. toctree:: + :maxdepth: 1 + + xapp_onboarder/index.rst + release-notes.rst + diff --git a/xapp_orchestrater/dev/docs/release-notes.rst b/xapp_orchestrater/dev/docs/release-notes.rst new file mode 100644 index 0000000..0953210 --- /dev/null +++ b/xapp_orchestrater/dev/docs/release-notes.rst @@ -0,0 +1,119 @@ +.. +.. Copyright (c) 2019 AT&T Intellectual Property. +.. +.. Copyright (c) 2019 Nokia. +.. +.. +.. Licensed under the Creative Commons Attribution 4.0 International +.. +.. Public License (the "License"); you may not use this file except +.. +.. in compliance with the License. You may obtain a copy of the License at +.. +.. +.. https://creativecommons.org/licenses/by/4.0/ +.. +.. +.. Unless required by applicable law or agreed to in writing, documentation +.. +.. distributed under the License is distributed on an "AS IS" BASIS, +.. +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. +.. See the License for the specific language governing permissions and +.. +.. limitations under the License. +.. + + +Release-Notes +============= + + +This document provides the release notes for version 1.0.7 of xapp-onboarder. + +.. contents:: + :depth: 3 + :local: + + +Version history +--------------- + ++--------------------+--------------------+--------------------+--------------------+ +| **Date** | **Ver.** | **Author** | **Comment** | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ +| 2020-06-15 | 1.0.7 | Zhe Huang | First version | +| | | | | ++--------------------+--------------------+--------------------+--------------------+ + + +Summary +------- + +This is the first release version of the xapp onboarder. + + + + +Release Data +------------ + +This is the first version of this component. + + + + +Feature Additions +^^^^^^^^^^^^^^^^^ +add RMR source name environment variable. +add lable for VESPAMGR to report xapp name. +add option to inject annotation. +add option to inject command parameters. + + +Bug Corrections +^^^^^^^^^^^^^^^ +fix the xApp service name for appmgr backward compatibility. + +Deliverables +^^^^^^^^^^^^ + +Software Deliverables ++++++++++++++++++++++ + +The deliverable is a container that provides APIs for xapp onboarding. + + + + +Documentation Deliverables +++++++++++++++++++++++++++ + + + + + +Known Limitations, Issues and Workarounds +----------------------------------------- + +System Limitations +^^^^^^^^^^^^^^^^^^ + + + +Known Issues +^^^^^^^^^^^^ + +Workarounds +^^^^^^^^^^^ + + + + + +References +---------- + + diff --git a/xapp_orchestrater/dev/docs/requirements-docs.txt b/xapp_orchestrater/dev/docs/requirements-docs.txt new file mode 100644 index 0000000..09a0c1c --- /dev/null +++ b/xapp_orchestrater/dev/docs/requirements-docs.txt @@ -0,0 +1,5 @@ +sphinx +sphinx-rtd-theme +sphinxcontrib-httpdomain +recommonmark +lfdocs-conf diff --git a/xapp_orchestrater/dev/docs/xapp_onboarder/guide/config-file.json b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/config-file.json new file mode 100644 index 0000000..fcec5db --- /dev/null +++ b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/config-file.json @@ -0,0 +1,100 @@ +{ + "xapp_name": "mcxapp", + "version": "1.0.2", + "containers": [ + { + "name": "mcxapp", + "image": { + "registry": "nexus3.o-ran-sc.org:10002", + "name": "o-ran-sc/ric-app-mc", + "tag": "1.0.2" + }, + "command": "/playpen/bin/container_start.sh" + } + ], + "livenessProbe": { + "exec": { + "command": ["/usr/local/bin/health_ck"] + }, + "initialDelaySeconds": 5, + "periodSeconds": 15 + }, + "readinessProbe": { + "httpGet": { + "path": "ric/v1/health/alive", + "port": 8080 + }, + "initialDelaySeconds": 5, + "periodSeconds": 15 + }, + "messaging": { + "ports": [ + { + "name": "http", + "container": "mcxapp", + "port": 8080, + "description": "http service" + }, + { + "name": "rmr-data", + "container": "mcxapp", + "port": 4560, + "txMessages": + [ + "RIC_SUB_REQ", + "RIC_SUB_DEL_REQ" + ], + "rxMessages": + [ + "RIC_SUB_RESP", + "RIC_SUB_FAILURE", + "RIC_SUB_DEL_RESP", + "RIC_INDICATION" + ], + "policies": [1,2], + "description": "rmr data port for mcxapp" + }, + { + "name": "rmr-route", + "container": "mcxapp", + "port": 4561, + "description": "rmr route port for mcxapp" + } + ] + }, + "controls": { + "active": true, + "interfaceId": { + "globalENBId": { + "plmnId": 123456, + "eNBId": 5678 + } + }, + "ves_collector_address": "xapp-sandbox2.research.att.com:8888", + "measurement_interval": 10000, + "simulator_mode": "true", + "debug_mode": "true", + "local": { + "host": ":8080" + }, + "logger": { + "level": 3 + } + }, + "metrics": [ + { + "objectName": "UEEventStreamingCounters", + "objectInstance": "SgNBAdditionRequest", + "name": "SgNBAdditionRequest", + "type": "counter", + "description": "The total number of SG addition request events processed" + }, + { + "objectName": "UEEventStreamingCounters", + "objectInstance": "SgNBAdditionRequestAcknowledge", + "name": "SgNBAdditionRequestAcknowledge", + "type": "counter", + "description": "The total number of SG addition request acknowledge events processed" + } + ] +} \ No newline at end of file diff --git a/xapp_orchestrater/dev/docs/xapp_onboarder/guide/descriptor.rst b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/descriptor.rst new file mode 100644 index 0000000..89f579c --- /dev/null +++ b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/descriptor.rst @@ -0,0 +1,200 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +xApp descriptor +=============== + + +Introduction +------------ + +The xApp descriptor is provided by the xApp developer. xApp descriptor includes all the basic and essential information for the RIC platform to manage the life cycle of the xApp. Information and configuration included in the xApp descriptor will be used to generate the xApp helm charts and define the data flows to the north and south bound traffics. xApp developer can also include self-defined internal parameters that will be consumed by the xApp in the xApp descriptor. + +The xApp descriptor comes with a config-file.json file that defines the behavior of the xApp, and optionally a schema.json JSON schema file that validates the self-defined parameters. + +Config File Structure +--------------------- +The xApp descriptor config-file.json file follows a JSON structure. The following are the key sections that defines an xApp. + + +* **xapp_name:** :red:`(REQUIRED)` this is the unique identifier to address an xApp. A valid xApp descriptor must includes the xapp_name attribute. The following is an example. + + .. code-block:: + + "xapp_name": "example_xapp" + +* **version:** :red:`(REQUIRED)` this is the semantic version number of the xApp descriptor. It defines the version numbers of the xApp artifacts (e.g., xApp helm charts) that will be generated from the xApp descriptor. Together with the xapp\_name, they defines the unique identifier of an xApp artifact that can be on-boarded, distributed and deployed. The following is an example. + + .. code-block:: + + "version": "1.0.0" + +* **containers:** :red:`(REQUIRED)` this section defines a list of containers that the xApp will run. For each container, a structure that defines the container name, image registry, image name, image tag, and the command that it runs is defined. :red:`The name and images are REQUIRED.` The command field is optional. The following is an example that defines two containers. + + .. code-block:: + + "containers": [ + { + "name": "example_container_1", + "image": { + "registry": "example_image_registry_1", + "name": "example_image_name_1", + "tag": "example_image_tag_1" + }, + "command": "example_command_1" + }, + { + "name": "example_container_2", + "image": { + "registry": "example_image_registry_2", + "name": "example_image_name_2", + "tag": "example_image_tag_2" + } + } + ] + + +* **controls:** :green:`(OPTIONAL)` The control section holds the internal configuration of the xApp. Therefore, this section is xApp specific. This section can include arbitrary number of xApp defined parameters. The xApp consumes the parameters by reading the xApp descriptor file that will be injected into the container as a JSON file. An environment variable XAPP_DESCRIPTOR_PATH will point to the directory where the JSON file is mounted inside the container. :red:`If the controls section is not empty, the xApp developer must provide the additional schema file for this controls section.` Please refer to Schema for xApp Descriptor for creating such schema file. The following is an example for the controls section. + + .. code-block:: + + "controls": { + "active": True, + "requestorId": 66, + "ranFunctionId": 1, + "ricActionId": 0, + "interfaceId": { + "globalENBId": { + "plmnId": "310150", + "eNBId": 202251 + } + } + } + + +* **metrics:** :green:`(OPTIONAL)` The metrics section of the xApp descriptor holds information about metrics provided by the xApp. :red:`Each metrics item requires the objectName, objectInstance, name, type and description of each counter.` The metrics section is required by VESPA manager (RIC platform component) and the actual metrics data are exposed to external servers via Prometheus VESPA interface. The following is an example. + + .. code-block:: + + "metrics": [ + { + "objectName": "UEEventStreamingCounters", + "objectInstance": "SgNBAdditionRequest", + "name": "SgNBAdditionRequest", + "type": "counter", + "description": "The total number of SG addition request events processed" + }, + { + "objectName": "UEEventStreamingCounters", + "objectInstance": "SgNBAdditionRequestAcknowledge", + "name": "SgNBAdditionRequestAcknowledge", + "type": "counter", + "description": "The total number of SG addition request acknowledge events processed" + } + ] + +* **messaging:** :green:`(OPTIONAL)` This section defines the communication ports for each containers. It may define list of RX and TX message types, and the A1 policies for RMR communications implemented by this xApp. Each defined port will creates a K8S service port that are mapped to the container at the same port number. :red:`This section requires ports that contains the port name, port number, which container it is for. For RMR port, it also requires tx and rx message types, and A1 policy list.` + + .. note:: **Stop gap solution for bronze release:** The messaging section replaces the previously RMR section in the xApp descriptor. It requires appmgr to modify its codes to parse the new messaging section. Before the new version of appmgr is released, as a stop gap solution, we will also include a compatible RMR section with the same information in the xApp descriptor. Please refer to the stop-gap-MCxApp descriptor for example. + + + .. warning:: **Choosing port numbers:** In the bronze release appmgr is not consuming the port name defined in the messaging section yet. Please chose to use the default 4560 port for rmr-data and 4561 for rmr-route. + + .. warning:: **Port naming convention:** Kubernetes requires the port name to be DNS compatible. Therefore, please choose a port name that contains only alphabetical characters (A-Z), numeric characters (0-9), the minus sign (-), and the period (.). Period characters are allowed only when they are used to delimit the components of domain style names. + + The following is an example + + .. code-block:: + + "messaging": { + "ports": [ + { + "name": "http", + "container": "mcxapp", + "port": 8080, + "description": "http service" + }, + { + "name": "rmr-data", + "container": "mcxapp", + "port": 4560, + "txMessages": + [ + "RIC_SUB_REQ", + "RIC_SUB_DEL_REQ" + ], + "rxMessages": + [ + "RIC_SUB_RESP", + "RIC_SUB_FAILURE", + "RIC_SUB_DEL_RESP", + "RIC_INDICATION" + ], + "policies": [1,2], + "description": "rmr data port for mcxapp" + }, + { + "name": "rmr-route", + "container": "mcxapp", + "port": 4561, + "description": "rmr route port for mcxapp" + } + ] + }, + +* **liveness probes:** :green:`(OPTIONAL)` The liveness probe section defines how liveness probe is defined in the xApp helm charts. You can provide ether a command or a http helm liveness probe definition in JSON format. :red:`This section requires initialDelaySeconds, periodSeconds, and either httpGet or exec.` + The following is an example for http-based liveness probes. + + .. code-block:: + + "livenessProbe": { + "exec": { + "command": ["/usr/local/bin/rmr_probe"] + }, + "initialDelaySeconds": "5", + "periodSeconds": "15" + }, + + + The following is an example for rmr-based liveness probes. + + .. code-block:: + + "livenessProbe": { + "exec": { + "command": ["/usr/local/bin/rmr_probe"] + }, + "initialDelaySeconds": "5", + "periodSeconds": "15" + }, + +* **readiness probes:** :green:`(OPTIONAL)` The readiness probe section defines how readiness probe is defined in the xApp helm charts. You can provide ether a command or a http helm readiness probe definition in JSON format. :red:`This section requires initialDelaySeconds, periodSeconds, and either httpGet or exec.` + The following is an example for http-based readiness probes. + + .. code-block:: + + "readinessProbe": { + "httpGet": { + "path": "ric/v1/health/alive", + "port": "8080" + }, + "initialDelaySeconds": "5", + "periodSeconds": "15" + }, + + The following is an example for rmr-based readiness probes. + + .. code-block:: + + "readinessProbe": { + "exec": { + "command": ["/usr/local/bin/rmr_probe"] + }, + "initialDelaySeconds": "5", + "periodSeconds": "15" + }, + + diff --git a/xapp_orchestrater/dev/docs/xapp_onboarder/guide/embedded-schema.json b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/embedded-schema.json new file mode 100644 index 0000000..89dd7e1 --- /dev/null +++ b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/embedded-schema.json @@ -0,0 +1,430 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://o-ran-sc.org/xapp_root.json", + "type": "object", + "title": "The xApp Root Schema", + "properties": { + "xapp_name": { + "$id": "#/properties/xapp_name", + "type": "string", + "title": "The xApp Name", + "default": "xapp", + "examples": [ + "example_xapp" + ] + }, + "version": { + "$id": "#/properties/version", + "type": "string", + "title": "The xApp version", + "default": "1.0.0", + "examples": [ + "1.0.0" + ], + "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$" + }, + "containers": { + "$id": "#/properties/containers", + "type": "array", + "title": "The Container Schema", + "items": { + "$id": "#/properties/containers/items", + "type": "object", + "title": "The Container Items Schema", + "required": [ + "name", + "image" + ], + "properties": { + "name": { + "$id": "#/properties/containers/items/properties/name", + "type": "string", + "title": "The xApp Container Name", + "default": "xapp", + "examples": [ + "xapp" + ] + }, + "image": { + "$id": "#/properties/containers/items/properties/image", + "type": "object", + "title": "The Container Image", + "required": [ + "registry", + "name", + "tag" + ], + "properties": { + "registry": { + "$id": "#/properties/containers/items/properties/image/properties/registry", + "type": "string", + "title": "The xApp Image Registry", + "default": "nexus3.o-ran-sc.org:10002", + "examples": [ + "nexus3.o-ran-sc.org:10002" + ], + "pattern": "^[A-Za-z0-9\\.-]{1,}\\.[A-Za-z]{1,}(?:\\:\\d+)?$" + }, + "name": { + "$id": "#/properties/containers/items/properties/image/properties/name", + "type": "string", + "title": "The xApp Image Name", + "default": "xapp", + "examples": [ + "xapp" + ] + }, + "tag": { + "$id": "#/properties/containers/items/properties/image/properties/tag", + "type": "string", + "title": "The xApp Image Tag", + "default": "latest", + "examples": [ + "latest" + ] + } + } + }, + "command": { + "$id": "#/properties/containers/items/properties/command", + "type": "string", + "title": "Command To Run The xApp Container", + "default": "command", + "examples": [ + "command" + ] + } + } + } + }, + "livenessProbe": { + "$id": "#/properties/livenessprobe", + "type": "object", + "title": "The Liveness Probe Definition", + "properties": { + "exec": { + "$id": "#/properties/livenessprobe/exec", + "type": "object", + "title": "Script of Liveness Probe", + "properties": { + "command": { + "$id": "#/properties/livenessprobe/exec/command", + "type": "array", + "items": [ + { + "$id": "#/properties/livenessprobe/exec/command/item", + "type": "string", + "title": "The Command Item", + "default": "/bin/sh", + "examples": [ + "/bin/sh" + ] + } + ] + } + }, + "required": [ + "command" + ] + }, + "httpGet": { + "$id": "#/properties/livenessprobe/httpget", + "type": "object", + "title": "Http of Liveness Probe", + "properties": { + "path": { + "$id": "#/properties/livenessprobe/httpget/path", + "type": "string", + "title": "The Path of Http Liveness Probe", + "default": "/health", + "examples": [ + "/health" + ] + }, + "port": { + "$id": "#/properties/livenessprobe/httpget/port", + "type": "integer", + "title": "The Port of Http Liveness Probe", + "default": 80, + "examples": [ + 80 + ] + } + }, + "required": [ + "path", + "port" + ] + }, + "initialDelaySeconds": { + "$id": "#/properties/livenessprobe/initialdelayseconds", + "type": "integer", + "title": "Initial Delay of Liveness Probe", + "default": 5, + "examples": [ + 5 + ] + }, + "periodSeconds": { + "$id": "#/properties/livenessprobe/periodseconds", + "type": "integer", + "title": "Period of Liveness Probe", + "default": 15, + "examples": [ + 15 + ] + } + }, + "oneOf": [ + { + "$id": "#/properties/livenessprobe/oneof/exec", + "required": ["exec", "initialDelaySeconds", "periodSeconds"] + }, + { + "$id": "#/properties/livenessprobe/oneof/httpget", + "required": ["httpGet", "initialDelaySeconds", "periodSeconds"] + } + ] + }, + "readinessProbe": { + "$id": "#/properties/readinessprobe", + "type": "object", + "title": "The Readiness Probe Definition", + "properties": { + "exec": { + "$id": "#/properties/readinessprobe/exec", + "type": "object", + "title": "Script of Readiness Probe", + "properties": { + "command": { + "$id": "#/properties/readinessprobe/exec/command", + "type": "array", + "items": [ + { + "type": "string" + } + ] + } + }, + "required": [ + "command" + ] + }, + "httpGet": { + "$id": "#/properties/readinessprobe/httpget", + "type": "object", + "title": "Http of Readiness Probe", + "properties": { + "path": { + "$id": "#/properties/readinessprobe/httpget/path", + "type": "string", + "title": "The Path of Http Readiness Probe", + "default": "/health", + "examples": [ + "/health" + ] + }, + "port": { + "$id": "#/properties/readinessprobe/httpget/port", + "type": "integer", + "title": "The Port of Http Readiness Probe", + "default": 80, + "examples": [ + 80 + ] + } + }, + "required": [ + "path", + "port" + ] + }, + "initialDelaySeconds": { + "$id": "#/properties/readinessprobe/initialdelayseconds", + "type": "integer", + "title": "Initial Delay of Readiness Probe", + "default": 5, + "examples": [ + 5 + ] + }, + "periodSeconds": { + "$id": "#/properties/readinessprobe/periodseconds", + "type": "integer", + "title": "Period of Readiness Probe", + "default": 15, + "examples": [ + 15 + ] + } + }, + "oneOf": [ + { + "$id": "#/properties/readinessprobe/oneof/exec", + "required": ["exec", "initialDelaySeconds", "periodSeconds"] + }, + { + "$id": "#/properties/readinessprobe/oneof/httpget", + "required": ["httpGet", "initialDelaySeconds", "periodSeconds"] + } + ] + }, + "messaging": { + "type": "object", + "$id": "#/properties/messaging", + "title": "The Messaging Schema", + "properties": { + "ports": { + "$id": "#/properties/messaging/ports", + "type": "array", + "title": "The Ports for Messaging", + "items":{ + "$id": "#/properties/messaging/ports/items", + "type": "object", + "title": "The Item of Port", + "required": ["name", "container", "port"], + "dependencies": { + "txMessages": ["rxMessages", "policies"], + "rxMessages": ["txMessages", "policies"], + "policies": ["rxMessages", "txMessages"] + }, + "properties": { + "name": { + "$id": "#/properties/messaging/ports/items/name", + "type": "string", + "title": "The Name of the Port", + "default": "App", + "examples": [ + "App" + ] + }, + "container": { + "$id": "#/properties/messaging/ports/items/container", + "type": "string", + "title": "The Container of the Port", + "default": "xapp", + "examples": [ + "xapp" + ] + }, + "port": { + "$id": "#/properties/messaging/ports/items/port", + "type": "integer", + "title": "The Port Number", + "default": 8080, + "examples": [ + 8080 + ] + }, + "description": { + "$id": "#/properties/messaging/ports/items/description", + "type": "string", + "title": "The description for the port", + "default": "port description", + "examples": [ + "port description" + ] + }, + "txMessages": { + "$id": "#/properties/messaging/ports/items/txmessages", + "type": "array", + "title": "The txMessage Types", + "items":{ + "$id": "#/properties/messaging/ports/items//txmessages/item", + "type": "string", + "title": "The txMessage Types Item", + "default": "RIC_SUB", + "examples": [ + "RIC_SUB" + ] + } + }, + "rxMessages": { + "$id": "#/properties/messaging/ports/items/rxmessages", + "type": "array", + "title": "The rxMessage Types", + "items":{ + "$id": "#/properties/messaging/ports/items/rxmessages/item", + "type": "string", + "title": "The rxMessage Types Item", + "default": "RIC_SUB", + "examples": [ + "RIC_SUB" + ] + } + }, + "policies": { + "$id": "#/properties/messaging/ports/items/policies", + "type": "array", + "title": "The Policies Types", + "items":{ + "$id": "#/properties/messaging/ports/items/policies/item", + "type": "integer", + "title": "The Policy Types Item", + "default": 1, + "examples": [ + 1 + ] + } + } + } + } + } + }, + "required": [ + "ports" + ] + + }, + "metrics": { + "type": "array", + "$id": "#/properties/metrics", + "title": "The Metrics Schema", + "items": { + "$id": "#/properties/metrics/items", + "type": "object", + "title": "The Metrics Items Schema", + "required": [ + "objectName", + "objectInstance", + "name", + "type", + "description" + ], + "properties": { + "objectName": { + "$id": "#/properties/metrics/items/objectname", + "type": "string", + "title": "The Object Name" + }, + "objectInstance": { + "$id": "#/properties/metrics/items/objectinstance", + "type": "string", + "title": "The Object Instance" + }, + "name": { + "$id": "#/properties/metrics/items/name", + "type": "string", + "title": "The Object Name" + }, + "type": { + "$id": "#/properties/metrics/items/type", + "type": "string", + "title": "The Object Type" + }, + "description": { + "$id": "#/properties/metrics/items/description", + "type": "string", + "title": "The Object Description" + } + } + } + }, + "controls": { + "required": [ + "__empty_control_section__" + ] + } + + } +} diff --git a/xapp_orchestrater/dev/docs/xapp_onboarder/guide/example.rst b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/example.rst new file mode 100644 index 0000000..094e7e4 --- /dev/null +++ b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/example.rst @@ -0,0 +1,37 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +Step-by-step xApp Descriptor Design Example +=========================================== + +Step 1: Gather Information +-------------------------- +Collect the information about the following items + +* xApp name +* Version of the xApp descriptor +* Details of the xApp containers +* (Optional) xApp-specific configuration parameters +* (Optional) Metrics produced +* (Optional) Ports for messaging +* (Optional) Liveness and readiness probes methods + +Step 2: Download config-file.json skeleton +------------------------------------------ +Download the config-file.json file :download:`here ` + +Step 3: Change xapp_name and version +------------------------------------ +In the config-file.json file, change the values for "xapp_name" and "version" + +.. note:: If xapp-onboarder is configured with ALLOW_REDEPLOY=False, you cannot reuse the same version number between onboarding. + +Step 4: Fill in the container information +----------------------------------------- +The container section in the config-file.json is a list of container properties structure. For each container, give it a unique name. Specify the docker image registry, docker image name, and docker iamge tag. Optionally. Please make sure that the docker registry is accessible from the RIC platform instance to which the xApp will be deployed. If you want to specify the contianer entry point, you can specify the command used to start the container. + + + diff --git a/xapp_orchestrater/dev/docs/xapp_onboarder/guide/schema.rst b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/schema.rst new file mode 100644 index 0000000..301721b --- /dev/null +++ b/xapp_orchestrater/dev/docs/xapp_onboarder/guide/schema.rst @@ -0,0 +1,50 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +xApp Descriptor JSON Schema +=========================== + +Introduction +------------ + +JSON schema is used to describe the attributes and values in the xApp descriptor config-file.json file. The xApp onboarding process verifies the types and values of the xApp parameters in the descriptor. If mismatches are found, xApp onboarding will return failure. The schema file consists of two parts: sections that are static and cannot be changed for different xApp, and xApp specific controls section. When an operator is onboarding an xApp that defines a control section, he/she will provide the controls section schema with together with the xApp descriptor. + +The xapp_onboarder will combine the schema files into one. + +Control Section Schema +---------------------- +.. note:: No control section schema is needed if your xApp doesn't need a controll section in the config-file.json. + +You can submit arbitrary schema for the controls section. However, if the xApp descriptor contains a controls section, you have to provide the correct schema that describes it. If the xApp does not require a control section, you can ignore the control section schema. It is highly recommended to use draft-07 schema. The following is a skeleton schema that you can use + +.. code-block:: + + { + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "#/controls", + "type": "object", + "title": "Controls Section Schema", + "required": [ + "REQUIRED_ITEM_1", + "REQUIRED_ITEM_2" + ], + "properties": { + "REQUIRED_ITEM_1": {REQUIRED_ITEM_1_SUB_SCHEMA}, + "REQUIRED_ITEM_2": {REQUIRED_ITEM_2_SUB_SCHEMA} + } + } + + +Embedded JOSN Schema +-------------------- +The following JSON schema is provided by the xApp-onboarder. It defines the JSON file structure of the config-file.json file except the control section. +Expand the following link to read more details. + +.. toggle-header:: + :header: **embedded JSON schema** + + .. literalinclude:: embedded-schema.json + :language: JSON diff --git a/xapp_orchestrater/dev/docs/xapp_onboarder/guide_index.rst b/xapp_orchestrater/dev/docs/xapp_onboarder/guide_index.rst new file mode 100644 index 0000000..c01cb87 --- /dev/null +++ b/xapp_orchestrater/dev/docs/xapp_onboarder/guide_index.rst @@ -0,0 +1,18 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +xApp Descriptor Guide +===================== + + +.. toctree:: + :maxdepth: 2 + :caption: Index: + + guide/descriptor.rst + guide/schema.rst + guide/example.rst + diff --git a/xapp_orchestrater/dev/docs/xapp_onboarder/images/onboard.png b/xapp_orchestrater/dev/docs/xapp_onboarder/images/onboard.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac835db50f1bb120b9e2687066c3525e2b8a21a GIT binary patch literal 127678 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

n(|G^+ zr}aHe2)xsjuNJZl(p`vw z%#A~{GVctp_@Iao8@q>h8O2Qj2MDmdI4-rVeQcGcG^Va?YnBbD)jWkk#?mbV7 zCYwi-Api<~9d(&X2T*58aCn2neiFyS|9^0B;u zpgN^r0DxT%fEHio8|B?-#v1-Oos<=5bTMI!&v15l2tAgWta`2R^4(hByJMZ+#If?V zDXY|+x6l-8tN_8IntEbv9V8z*f3YuEo``mh3O~w+t|5{d2DN^~Tj%lD>6RM0?UM70$6Ml{8&4_vTtJ@V^7E^3MW~ycuRU#_o%kHhzcj zx9}UC4Ak43Ls21k!)Gur3M&)4ZUURp%VW`<*T?60*SCK%h6j!}M8Sl3quK9yTjs}@ zv-AD6=E2HL2#WUpvn);O_roBw1#yaR3$?ZcFL`JoKa@=aL3D!)-V07=_I1Hsnw=lt{a z9);&e{LnOuO2a`H=7?gysB4qe3rgHY$l1^V*?SPkM8^EAy?WyPHj{v!RRYT1z!Kky zO07O1^ugbRfoQfAc5zJrYzYevZ@l6A$*8{BN^wfB&_aRUW?qiNf6qS?HEDhGX7Z=O zY6KTT)Mtr0O~-wqftg&?yyYS{RL-JzT3Oy!g1vgH^QmsR0%m_kb|{?^8~6OcQ_0rG zf6rCilrmydpey*x;DR{<~a)lH=dKj<1ZG^Cs@& zXE-PL3a8iga$vD^jvNYQSrnWg(I2Rb&ZhK+}4d|lK15@aIUBr+74zuY%+A$SIB-G?KB!TaV8jE7$2>7nzuwX z36v0+$D`N8HjF!3 zb+7eTdkngBQ9>r=sUo!moqi`HSIJYXQoN##uaM`@YHIo<5m>1$p_^J8ca64$IH2U29|A z`}EYCI;7_{n)DSk(`LPXuBPZ z%0<<_!HXQWH;<$8mKbuSB&s0(iQR_S$ZtZ{|pvvR38tqJDc%(<#PZHo@(^nc@HrIUKp_{C0kpaeS1wrI zmRZ&Nul`FN-BF_-$%=TYc*?7gsf*SkTI;pe2hyPut$0zThXdT~g*eK-J#oKB^p#cQ z>MK$u7uF87I=o=@gvckR3%ElQ_Z~9H+UVpLeb;9k5~>J?CPc6Z$z*u`##9eREyKq7 z@rDygnY}^6c@;sAtamJ!U4RA2+{0RjT_P^H{I?yQT=|&JC3X?}2o{ zO|Cx|tSyk3lKO?n>Y?MuPF@OuWtZO(#Xae67AmsJf|mAF;ucO(G&@qumRJ7me+Ov|&Ea?+l*|Pv{`iwmZ!+ z7;&&uQ77-3Q&F8AgzB-$@7DSe3A7INN!%h1o+2T0#;?{$jX^TMUPN)Cexb`ZE3dA` zr!G2Whb6QQf08U&|A`lP{Zo=EYrKt&B6e+*ZUV~Wt^3_}VOfVo(q}r1NT|)QcqkrY za;+blQ&1q6plQfr@T*nO>^IuL&YiGsj|t?g)av#M58Gq*Wa}vXdOuOc1QIxAM>Lzf zy#H2Ga`*tF4P*FQd`59&m_UQua&YZ^YaLlOG#vE*H@Ps5h`bCRKF|U zK--6rWN&+Dh;>S)@WdsLdLe|S(V`_kq*XpeGk2@(>5Y2iGn& zlgaSJ(yL5wSYeYH#-wgN@Tt6zco}~5AB>vlK38h>f-iF@FeaVw@YJ<22qv8j?gtXn zp|r8eY@Bd$;9-O_biE!CbNyyNIk5sKbrG_tu&XE{ zn60N?hI+&&S;(ur$lyH85a*lYQGDrHQ2*94LB*gpJhSvxoS@5lc}>#w%_VxdqgjEW z-yyf>mi3$_9#iV#I(AP-;I61fpZQV(4qD8^@b=B6$;$p_A|l#gCHl*kg}v|11{`Ubo6;r zu10lDkGf;is?(*D%meFGc;fk0CXU>AIGgn@=EA`&7ayvFA|6xJYwVzO9BRq%l0hcC z7iFI-qA+n;Gqm4|cVdw>P?wzAft~G8%6eX_^!^G6`FQ^3d`!(sK zJ~zROg@_7>uwS`M2Er@VaqhVO$KoWt&J*n&b*jiyx(=r*OComc6P18h6Bm{QHzpBy zDj|q;p&l}W^pSAa)>A?f`#4I!n8;IOEObX{J_PpbtV98bqpN$RkJtADqOZm%&$T%3 zEgfK5d>hG>*6}r&Pqo>nDd51mnL2ubTjXy+N!`b-a2M`b8DFED!(4ASNV%%v8l)&y zjNRgR#>s}gCp2S-BNfC;G~d7*5R~|h33Rw%81lLz<&3{3%bSLN&Dlj18C1z{?~p$> zJK`h<^7gSmNlTLXzh z4V~U_=(=kMHKT^CG#fSQ1N|7N5#Wv8X;}5V5Q0*MGx20ZqZDcibB74I;g|lnJm8oq zt06zsPqn&Qy{BFWlPamN)MZc#;+Tn1Yk3~6N-MBxPa>o{v67K#ElFru!C(B%;=Re{ zDw(c^7t)tcks@!0qmO=fdvY^=U&VhfzVYDGKlzGOm)R_q>d*xG$TdEC8vE{8oEd-l z4WF6}bbNQbJ+F_si_oj3@UcSC%~?8~vQ3K_+@cwxGVeuI+T%m}(qq$N1A0)?B*Y&_ zGg0Vn)ZIqDKt8mP!TZ7y`$R$|=G!kPJPst5?hB**6ejf*B4wn6lat@kP~L*VPxy5o zFqtf1Az5;fZF4R(u_{ZifyQk+4YEWjwa0}22Gmgh9_qa}uH0hS`g2`{Dkf{yhFM$|PaT4&qmk05D3)!S`~K&ktRgjWwuH(3zKI$?1=%VSLH6+TP0f_ZOn9jG{X*itm*F!yCOH!XY=q`bYc4QX3Y`yMwk`q z{bgPeDZQ?-Df;0BG6Z;4Qio|Loz6l`I+#e*rPfeltn;i)tWvB7RxkoG?W6 z!9q^rGdB6;Al`4yjgY`rh*R@S>HakJ+=1mqzx>?^DL;?CCs*0>KQ)aNsA)=Bo~l7U zOyCyXs&&pv^P<;!tuc_ug|p+jdAQ3d85KJghXzy)(75to(xGgMd|NTqK0P*EpCu;z z#0W%yXMR2zp3x&E=x(LQ<{o}YTffeKNgJLmHNV6zowWA))5)9cyX<9e zdpj2OGy08%9dWrO5t%U2Fd;G_%d0h^RqWB=#Ro*>wm7bXI5OO?WuHP+b&`XZg%U!` z;>|C+n~WjD@#>muN#BaIvD{bj^Z!%w#obJK6H-ziEM+JGGl*66;Q6O44j_yHOsDxj zoACa-v-u%md!^#HBUX1UMO<4f;saHtnLy{%-ftU^gl4zDbFli(S zj@A1EwT$mkzB#>-;f9Zg-$x=cnA6Y2=Fp`)-;eG4B=5CdkZ&m@q$^Me`zq$`?G5v6 ze;r_yN+J3qoa}RvySw|<`;MQ%d%e#x;{a5msk>O}V##9l^}fiZa@4NKYu(Sqi2WKF ztHbVa%b9HTy3N21ymNz^Yc6bDZ1nk%?nkbbs`Lk7xTAeslafX!a1C{)}9 zk?4oz8X{W|r|njIjLBVy1sBX(qhtF?8j7#wv}ihc9p=j3c=EiBrCe6q+Ck_SK-W#7hFNv6CEP& zeTOlmx-hLm`M7Pr3dn@{o+%*N^h5PMMOv36p9J+L*o7yM>tx<^B*twCs z4D_Vr9#JAq$844a9Pw&PX>YfYuj6D`;DS)~-hT=iN_n`0uY2>+l5==#N=&#m2e1r` zOq3h(#2tv*j8$#+|CGR=DQ*)*H)9a*3}mz8UIWYcM5Rr>MTB*I8y&i_wHp*rRjq6R z8)VG{?b6O^G}9DK6u#9)Z*H{$E_N~U;*iNzozMl_Qv5fWrI=I~xJkL=miiv{iUf66 zsL)sjBl_mM`8T0I&Ss&mhn+O>1}?XhdeyrWcJ}l6wRHk-mln|;hVoSw2J?sw4Kf~u z$*d+AIDY}D=zCd0F>*f1wNSdl&wQpmh31RX)N)^!irwp14euQXE%oYc^9;|H3)EXY z1rj1qyrcqx{n|CCc!e^$FHs}H56QB#KX7O&qETbH_VzXt%6}65&CZP!ODTX6qEBJl zn08XxKY+h7$^zO2m;KD^qO_lXm3YFKGChE@mI+^Paorq2_R}QmAxG<_TEspn z*+6U;7f6hwN~Q)nUpy)n!&i~#xC(sQYmnzwcD_GwIphU9Yx}n9!I?=9s%20gaA7kS zUgnh`I>RoVcOb()63XQo_c(96PiXR=Y^1`cykBP?HG9GG{`WAk^8G2ExJ%NU!JMCg zA#(k!mU=TNTYkQfj2Oj8=5onk^+}e&Z&*~sQP3pAr{bqIx$H|Xe>2UmFbMig!t z4=U@YEuSnb=VD}Hz+++_c>M~%%*o5^3d9;BJ_<N0*|j8$(HX8SL!&gzr|S zfx>`*Hm-#@abVc97-HxrE+X=$2Z34f%u@%uBh=6eBc{}=DDpff+-lU8#O{T}Hyqg2RJZ09C{#M9E;Mo3?>O$&sj z^e9$%?jX96nHlWlq$m~skmV!~aXDp~vjh2~`jdm? zG3~Ou4m+v?iFi?p2@#fpp^Z%bcu8S=h_@#!A(0Mahc_7$6}m(4ZN9?cC*SGGNzdI? z7eHjbhBXBUM}FDj%4;9?*X88qHvM!gCEh!f6`<9QdEu8rHhvtwv|#>F0K=hZ$A+1A zuq*!Um$ob}ig2WM9QGs&Z?l=#&0$$zOzVA!M2jKFqWd2aRn^tMRM|GH`cca%ws&%~ zv)kwn&Np8yCyag8SKu?_r?U|(8Hfc|1DR z7aBt}i3CwLL+sek36)RrI7V82d~{a1Tv^4l!W7-J`8~nmJAlaI=|tFSUWN*M%;Le7 zQofXtWEN*I?*OUcc5!r3^Z@-b;3oD7+@VavSI+dVCut#66@v^1D_Vph86cDp9Jd6D ze4kF1ssk^?NpG5M#+C>ID#-<&53~rn!i#s6RpL?Re~8uE9a(j879WQi#wWJ7%p#%g z2<^9SOPi0OK73pi`23O2b<(`s%IBj%8X-EG9|wU)?KHQlB8MLpI37oYf4ThlCYBBJ zI0yP$zF!LIe%@)|l6xo8%!8?wa#^2ivjY7l36K4my{u0}Bt(6J9VW#EC12XgECP7n zT|CV3Qukc@Wl)Y9GP!ZT;`E6XI3%+I<{zFZ5swrc0_eZB9OQ_x!$^kOLNF1h7i0y> z`uy-HJR|$<-WXBA1Wx&4@t`&}M|V}#z2>31M#0OFtpB8faJ5~2Oq~N+)=L#(`IbzN z&5nb(ArBqtfcM!g#60KAZwMdzhuY6x?ZfS~MDM~_^UV~PG|iRXxNzu>sW0Fb*?H?a z1*x~VT%P`kRf^C@njU8oS}iOo!KXvnw({_*^M(zkbIDwvJkv?vVxuO*E9tJU&&ean zD8)N?pZ;^Y*ud&fnitx~c&@;YTy+_oR{CQsC4BX+v@$m2?!x}efu;Ceo&*|SHeZE4 zeBh&RU|@Cm>BUTQ6vwoo`Skz}TihMPTCEm|dmG6R0~z9}9>uv|{_vU4>LtV_P{$#h z%JEMel#OXJu&mGK3}UOhc)x|(R!Z#`HceoauF9#q=zb6;ZRsfG0=cp3VyYsNlF&DWiwugTK}nHA7j1vIGx+Fs4@m?O>MHIFPc zo9m`th-6vs(|84K5nb#@M}gu?TZZ$Wv1Hx1mNtra->o_DCn~|H05rYQiST|JH?Om{ zjAy&5KXv>5Z+cQ&8EO>fLsTR1kV^3t!Q@VElUaCNt7<(Sb&(vdHe%e_@q|u@La;$F zM_btBenZs&rEZ0g36~TlS@U9ibFwkkV|Za=`c*p(<(r9&emUQKZ&fUUVOQBgZPvst zUnSRx-1`&ys#{PQx3 zuod%Fjq6s5(^l0bUj&RDd_qjTZB6aQ6}6KneHY}-aW|i{fIGax)jnGK^BI!=!=Cg% zxswT--?#mdtJQy|m7iH}b?}NVWR{#l4RfVH?V+&>>yynzO5m;{4Z6-}X-T(Ml0?SK z4Qt&NRp$Z zHq}`&WA6uxw)C6++KuK6Lsj&KX=`aMo0dp-7#TfI<-Ikz95C^d=5?7V0*u>~rv#-& z(4mfD`Nt)f$d73V z>eQoR?pH6H4P1kphI*FULr+T^8y}fP&8`8xaze>QPKz#F0Nk%vOyyPTA0Q`f{^~Dk ztjh_ixIqkblF7yV9Z`!Wu9+*BtEerAvCWy@ul}4*5>1;+ESTp^2!k;HgVNpqo&V+_ zp(T4~PmT*n+IiJEw&%l1m!p}Iune=uE#!G3zC;cx7eEWN+U?2L?ZS`-EL=Z~8daHn z?MISS|5?OtwLHa95a3K!S|YHpgSQ1DiJlk`b*;5LoDF5nJQN6XLh*m<6iy7B*Nc}DENm0XB<{KhoKEnzaO z`ydcY8sdWpiAL!2Fw7oAwaN!>13Kwy_mBwF5d5OM-1pi;!287Zv7ChXTA21`BF@$- z8P`Mr9JxP1GE2sei?wNXBM#&|&2`Y4c9_+j(1i39m@meN1yBCUozE38b1w&L_eL zPzD~Pu#w4|?VU&EIA!{ocJ^P&lQ()t(L0YsMYNx;405ogj-0Wk6>liv*MUV9_I)aY!>6!=#gNnv3enxA-*dI4zzEG)sW5b{4leQjYjtBCo z#(=y?4{kLbrSZR#fRWrynqkksa_DB+5GAr8$!;RwWbQON<9;W-sAtNaJ0TcrRz&oZ z-j=S>g7uCOjhV^7chkP*PTV4arzHW@-q^2i^N!NxZF2&&B+)kW;T2Xp)!tq{#>9A_%tw-j z8fv+*NaD4|2Z`>aVTBq2 zTC$>SjwPqt{1$WUqxlJSoiT_Q{upFb!PwJe@cr$(eSQB#?_)!&=p|9GVYDeDM7GmU z4d78CfPS{b_Vju%S#_ai`@9$m{c?3x%n2=0^l+R@z`x(pYSyIeM$7|yEal&2%96ja z!|T~JC>K(%=4YNnb9906I4SGpYA;MvQd6Acs-E@(k@HN{tI5$2vZA|X$VU!cCQB~d zqK6DEE!#Hk9v;0L%?DmyCtuvJaDj+-g8L42{Mvz~67`E<JtTZ{DCo1a%M2$L*HMxgT&mohpX7bNk;=B(vr-VP}X3b5kAMLhu0 z^ZlZ?W1>Jx?nZuJp))AK^B&Kte$eZCO1(*{EqR7(y5Aep4BY#w0!D#)-73&VS1;8L zpAsaDFIsqh0Du1a)lc7gIBEP7AZh|OCooU$BP1kjB{?Z^%_R6#=$9isgz(91cpt)t z_trOagZd|)wdtduh%2wNUCq)0YpBPcii5C-TzLX*YIQB+NZmrbn{h}aB_&31-FN6` zWcemAnIZOpnS*O}Dq5I=-n9=Q`)*j)SZ*UjI2qk8g*1uFnqkGDcFs z*ky``G07e(y|Po%puCd)<^>-W<)lmWP9Z{~D^ge{tC8kLaD;VV9(nXMv9yVC?wq%O z(S#}i41YgqJ`QTR5zSx?zR(1nnkhT@eW$*osFG-4w48H8W6Ys#4rEJzq1_Xgq*a6^ zl}eHk(4slMdgyM`<=}3u$M^J?>SZ{xg|}%-=Z!yWD+$Fvhc5a9)e`H7-1R86G?Nig zb?XhLIE$Zc-nAc(Wx_R^E;`w^NqIc^&pij?5qg`cK*#DkrtYB_G&?(cHR{RS?CePk zQ&);ja;O>5N@vCc%dF;Bclg@znt?+TeK;wb@=#d{=*$nA7+b*Ngx)GKp!+`&ym=%C zQO{;AHCWwr*o3Yd$pES_nIImRq+$S!4|(=`(zu}DOG~YV7hq-n64il9frp$Jn;eUK zpro*KSr_k=A}}69pEQtXku2D&XRPykLO?-aIjdYLNsK=Ci%JfgZ5jwAFZGmmYhcy= zP(v-&FF#d8@xZIBBwF9G#7l;GpW5qzdwO}}2Gbaqj4LpVo1jR7!jnI-oKSzg3*7al zAmaDVAp1M0d#mutjqJWOyS!k&Gn1=bP#ZIg&OFE#5Xqc>sJ%VJY9ycutPh|iR z5dY2Y1fH$K1VNI$SPCcO<58sWNBHvPe`iT>r?5sI{%2Z-b0eA2LPJh3ANUjE6w!(e zpF8fD;ea)P`^;T|>_`83)46aMlE^{JM^Pjba5>3UCmune`TV%XDQE6G<`r-iYn1}R z7~GEG@)|v$oj^+O`@QSDRA+E4aHCG1a(c>ygBFPBzuXuJ&6|!fjSLWt*j9Iy$Tum( zqd|@(6`cgUbx$rBJ_8TlBzuJ z#43R(&7$Mgjs*jl$%I1F>X-2IW;USDFDzNayYQU7o)PwaJ(aeF zjP!V65|WF)<}$6C0$;gk2Mydf#K6R1{GA_v&{J2J*@N1Y0C&%um(xb8{wQYsDho{& zP)U1-ZEh(sy<|SvVDb(#ftl%~Ff2J_MxQ3o9kg`g?Ja_(L(95)4}E$3-9vE3VfA8D zLphd6DZkH(F7@#&u9Gyme(BoV*@4>v3N2}HixghmfBb9fC#Nw%-8K#4aHacxg?ruZ zbd?4&aa+U6$mvcl7~o)cNB*3jWc;nN^m#%#5hcQD=AyqnY-;ue0&e2c(-x(in2V#Z z`mG{AXDNLQ-El>R7@dTJVK#}HF(4p5MD2Y=>6PCL-oonk>B8(*4t~7vHzT2pok!m_ zJj(d6pq9*`70KkT()F~szw-|#4+3eWA-*!Zw@)fA;w0e?;9uO-oPV4{txnsxSw5p& zx(J!Sj4zetBQ5U;5 z^_B3uB^HE#AWVJVntSkWh2GMjLEG`3Ern<4|MoVe-Y^L%u)$(^2F6%g@4ul#?zmi3_@z2 zRNQpR>**_0w8<(}>kpAmE7yWfXsj=j>L*9Qx8e``oY>raqilVi7-8nDu zN*3fv?AAbZ?vnPNvl&3&ys*8Uv}w|M=0x(z^e zd>iuvrc+Mow4ctt_eY>&T{i^>*5TR&;ub)$^&p21fC$D3YsIwWt3j6Y$|`52o#L}AXn|iG zD)^qYD3>Vg%n=&`o)O$AZqPY8EFptp6Sx!D%0~1S+Es?P)U|@>kXi@&4)I0?==7-r zeJk)E1~>5jVkf+amM;7~_)@}E#z*NH4Foa-ku4aYg)yc3tyJ~VJB)3qPdvi1)lz{S zL6oLCSeS*EAG>fEoLo-Wes^?BU;O%c2`CZ90FcJ)tq8))U)$O&WXz{Uw~a4ULB>1x znMO9Ju}n4k?A^vwugBHfI9{XvBHH|~nDNR#EiUx%47+mdiIV)Pm(2p-=DKRoK$XZc zYbwqEYvULG$M;_datF5(nq0MqXzH*f?GcyR1QhX@N+shq7iogvt9V_JKf+wlDAM7v zhtu&ZuALJUEUXIGIQz;;y=K|GHXj39Lr=X52c6EWmB@H>L~#1>#II9=50uTn07)q0 zZN(jc6c)PseE;&;%ct|r+8^jc$b?5v3$+b6VC$Xt7GzD5{NGv{-`PzsNfbIQ90(#g ze*M3fTnx3XBuJeN{?_^65K>G;ot-UHmxt!`&%U-(KEIY4Dj^HG3SMLDkDQO38f&Br z%#}sqD@YMHI{Iy;xmb_!{QdZp%uLzo6EI^`T=_2vuyR$XZPVeJ%_yF@$6Jf#Ov7 zqpjbR$nD;GN)$?}JBjC1flHI9ouBVy-tX)vZxjrfxbOi8;^Ynr?)OjrrAn%*sld$Z zkG6~LH`Qj1Dp}lW09s{d_tA&`$aN)y4R~8pfjxZ1=N;?UpB@s)1$D>{5Hh3;4iJ>u z%yhY4*%!`u-#eVD^9C;|1Kd@n_T$F!a=<>>nozS{$0Tw&Niwhe&WP{)tZSRou)#B$ zU%au}BxudYbBxvWe>fWNf6Agmn1XegWF8q(jm02A8Xu4upGHBzg9EE(2?_-U3QdpD zi~=>Fg%S@;oC{)Dg9_N0P9QU@1I&AZEB;aCRsU`9YhLR( zBG!TXg0KMq!vDX6t+F6=Y?||@IA{cpO(S7a*Yj}rG`j_3rUPAy0N}WgFIeV|jNkg- ztiokp(1O7~;1;TsNH+n5|uh=--0lTAvc@!Vo@1FWVD}D_6q38_Nh=m zJFtOIY9fA>l`+1Sv_L{B$4N;vx~uorpm1-Q5D@U8Kxra^C1vjHSkFa*TctI)a|tS( z`gidqL~s6yx{VK!nlV29qO+H3+j@}x?*vnvv6R~$@N;Pkb(C?QiUBAZO2GQ~YOM~` zK+};bRCqY|qadQ8^wm%-1vMGXLd(1^c;JFmI-wCyb%QzR-)VZpdAIG zMrNDww5A(+g?&U^1~?h$--&W&VW#Vscs{-H<9muS-Bh+;r~?ZbIP6=y3lhg+P(QlO zFeK!M0pz}T#aa&W=J(p2!2zuAm;cs=m1`MnyN00Evp64=?eS3)n>hSpZr#b;6jxM0 zH+T3ZN5n<z5uB?grEzL<#zjh%`I5$T=p|L5E7Jndl5N;~`W zpEq+gv~U(x*SO5BrOO1y1f$bHB_B%>(+jC_^{vKd^1 z#L0%2-x$8$sI2Ci%3``QpGL0BO*-KI1KfvhKzJQJGSl{#Sb40^ho<`lhr_dq*L$?L z^lr``OfLP^WerhU`U@pPq(D3;dlU^vAnpatWN(*Y80#EMztRLd&H{j}Q>@XewFc%O zA(5zOBqFD-T^I5JhphIoBoOZZAR6S%-cP5w1^{T(8ZbR+0WvKl?vJofbf6bQ?B#mXbJE@#^17ns>A9d-_{Q6hbk$Xk zS0v`z+>a4^DlKYTKW`jKEf8AIRwQZ_i}4$u+@&wDGx}ooJCtR2#%%z2$qxXl-v)RD z_^^LpKGSq@?T)>VOs4|{H+{}JJ{N+6!8S@?RdQZ3RkFL)4jD5(bDlW<@Zk8WSp7=w zN}YMIUT#F`8`Y+-j;9~_*`pvQOenWVCAam-hMyG@DIQ=HUf}txy+Vb76f|f zz`}r-1Zn}Jk0cyqLD=f|c|Hq<4~Syq3jdMA0nUWTMz(O=shvNKyD^o;d9u=a zb%gqO5Pm^Vux;LG&2!x5tB<4S*qBrTauO-+Kg2TN8^A-rD!oTX?z}xtrLlMi{*^#v z2(xUWTPqQ442pluKDJfqvvePHj zxT&$NGw5iQxwUj=6V$^D)E($}?QQ33s0Q#ZlCv%N%Xx$b?(IkvsOx$KdW{JYOFcJa z`}ly;wa~h|ObWMsmtm9bC4lZ#zQ5e%+u7Ym$uWEfc#d|znTHL%O~jsa?WP+xU{H?s zqXXf(U}q8X9cYPHC(eLzZs93#4`uotIHow?*3j`*m#`MiYSpl!l=PAiYov+Lb(`D?;>KJG--lq zpV6?VJ+&*Y9{WU5fo95>eVk$cAt+Z|3uFpj|om zKydW_6f)cXzmp5ECONp-v(xqsiS3IY)g4Y9yi1tJi~GR9br2I3+MYNA>kb1U$7I+< zxy)*R>(5||O7=EO$upr5G$@Y8q<}sofia4^67`QBUPVNW_>tFot~6QxISwK=FyL5&VZcM@4-80Js@_cp$Io4tS~He&>cD{ zboFg2o&EFazQ8YNsLjE$pyo1vEt{Oohym&j>+o5{{?1oweuH$qb9+IOo^lQ|RV4*N z=YnzT*B`VGAPS0dG4DRaNryGF)>}}_bU43>qWL447v>rtFwU5~u#qF?>FEPFT7Lj- zgj1glxfnbeP5@@w(#ess2oQ6B0E=ubXN+#E4DGgn)Q>&@@TFt!WZ|Z(xh*#<9xm2% zQ3$!t(G_}4iX7(MXuO6?imP2oFBW8B_%f}+IqHcnCF$VW{`Z9f57I*3p2UnH39(2E z_6bq9(IDg(KxJ-|D`+qx-ItT5BF%~lO{CxbwEiQVeOi<`%jc%5e;GZ(P@kUG>DsX~ zE)qD4eCNUCkQSF*tDV`YV8oi%ZE`Q-nTPf6N9%zojQ5Cc9QNwx=oFFcho%G#jkx#V zGy<5`TV9((B72zc`-B0U3|p`muf1p;PcAV(!89Qg(o)^o&RFxGuhxPuA3kiEh7R>5 zcR@i!Kjh$e;?%d zwS*7#glcj;lg`^HyT6!!4?;e`Tk)|pLK~dv#g}Lp!Y>;J)ziI%6Bp6vh1ud{2b9!| z%TI`no<5YS^4ImgZuhr#yZAHYx${}IKlhj?qzS8Ad6AQsfH}fGSL7SgNiUaahfWpG z_;j0xRiA_wn;taFn3lI$1}6`2c2}>>gKdEj(&okOY69&ZERXxA*}T*5%xp`5++6M> z(Pzt{kGn;>+BVD*JG~EwHJ203Zq{c#-RC0H<`4Z{y3)9=Dgd*3P%o`+J6?ckGIhD- zAmu07@!?W+DNKzF7Z+63Kla=U$~W0k!X!C`Px@0f^y8nxU0wfTW86=@9}Jt7MOcI< zOpm75dEXLZ8c;C}IQ0)pZRUS>KKuMrB02QtTdU5zA+ZW-70Ahb&YpqFEy$LF|Fw70 ze7&2b07r^WeSu0A%1SK`)C)@c6KwJui{?cw3;pkFZh|6m=zJ~6iSq8h$WiRP54q9l zma`hs3kg6r7vup1wEl0f9~MY2RWsZK({ShJEY6MK$3$8nz^vT7H*|3m;&%|*`% zgd0tVGrhk<{G}RfxJo9wY+m;HCFTxqem|>r9gM{pS0eNn?*beOp7Xl;{n-7j=#(IK4ah3xd9p-DG+=svZ`A5s zZChRv-O&Gz^FQ|Pq8g=Lwno5|igZ#oo^ZgQFe(OT)2;c@(c->C{^sZY zDvvFtib%owAJ#fIbA7U*?o!P(-=tQ@!czW_kP&GxzraVDT9DCU`tUFMM9;p9iP?^y zpeVgG%vrR;Gz)#HhbrOB;c{2se2izL4|G&H4X#B*tjXYW&+{Vtm&+>m7Fp4P%e=LK z@|}(=x!96aNfE=xe(PbDn*Oner@#$>EssV2RSb(vf`9KW5l0WxK)(;fu7c9n>hxN; zy^%!@t#p~;oSTRZ`*@Jy#bIWH_ab(l*Y9G3n@R%}_}G=MK6-?8u(%v}R+*17_k=7tr?L#vpmXnO}XDBQX<3jz;Wzk5-CFsBYa zm)=s?HSP4hZ^lr4_rkpNj;_%Em*VBij{wl_xbWBz4?jU6N9br;t=2l-bftra83E;q#2*9V=RSbRo z!Ana^s|=uBGSOv*9dxCWe?u$r>Fnk7P|@Lc54ZXci5#=<%5UJbV#qr7NP+@ft1$nI zKaN5Ri4C-7`HJ+8Ft#J`zIz*d+X0Dg>xJeNj^+jTi#i9_O704A&wE`(x=NQt&V=Bi zLTAV@&ajw3tI8pH>ouwDl-az32DL?Lf(G6A_I+|5s%t$s=D7oz zJ9krE(qaKkai-C`cKX4Q(iZ^d=>Y=Gz*csY@TV8bGfgo&&Fh^8cgNH9w+;Y`bIH#p zj&wwclkflDwPY^9|CT0~`JJsVn=FJrAy(lmoWlAs5uK6?*0#jhOXCq*U-P^`5iyjB zrLdh9*EqCo>pze3X*2qaP#^qa((I60GOE?8MiS1EDIMR79uaQG?5bD5E?{4eQ#2g- zn{~KP>1ktxAt{$qXOdHWsExrC`9i1uNujFh9d|{u;O-ZsMf}h>xciF-%`WEX+Krtv zY_A}-252%Hws0Yj>yM>#Rr)Ri2^zV|q;KBSbhceV^$ooP>gf-I&l=y+?FzkGpU%4B zLq9}dWx!OfvZrUGb0kAOZSbGXkL-0nJhr>RQ=xC~J}8^CQ1O|C&4niXez{XlXM6KM zW4-sRst0P$6TZaeF(P#j3lZ@0^y)$?`#cZq-sNTIqafb;X7#XPHi2YfCEhFojs?yZ z>fZ@T7(Ik0n^||kO7Feik>x?=kB#rm``!U6Mv<-Wgf?hIlCM4z4Jmvq4u~0~Ex2T( zUI96^!M$)4>Kx!0QBUeW;6x-ZcD0VM7$m(gpIieLaN_U>fAc;bu%M647_!!s%fjfq z{}kxR-vI!-tUUSKz*@S6U5b9~0r0S4#Zg7r8YUs4biXq!LLaNvp<|ShZ@y-+8jQWz zuOe+8@I3LY47)3@9Q57b*KsIYVE@|UbXhO zx{7Zuvud_KpAbDndDHkj340?xwX?JH_IP9DnMh}K2H$%gAW}f*5(ESdBHtL2)5(7s zMGwPb0AvtwwKZo?;jx7(W=Nqk%B4xmM7c#N&^_V9vskvCMD35< zCN6(>yoCOELjh$ja7Q}sP`|l*!}+{AZDu3tog#OIOfDt+%0l8G0*fNn?2u^yWuQKVB;7Bg z@-H{_VbvH2zd*}2<=ox?A@*`RS#k_`N4S94APJ(bwbG%>9)e56FOTN<+8hvy^M<_y zi*tqnNXBu1-$`zI3_1JHx*)Qhz}HOmXZL}^HKnpJ^Z~MxI1dr3*a+1&NAWfzc2XgN zEmWJX47!905%dL6=s=1f55OxOA02`8c^I!F4{JWvXq&Xb9gcTjm;x8IzB3P<-hF`6 zk*dBTMj!ZAs1^ed=4e@davG4ipFN%)1{Pv=>OVicR-Jnoz46!ygT8C$z3>0UiR*!s z6?FpZU(Reb-dg<#gpGq2MENE>cW*)(B9&LLm_fN)zr7dh^6|C)rL}wQTMnwGAD}zC9v_@j=^oU*B7J;&eIZq7KSj~I%!$vNsN)pV*VG2E9DFRlE!3nc*mx< zgtC6oy5gFuUnFp}c~!-O9Nh~Tyse>*Xm1h+`uTzi9Ujv;7x5nUqazDIHA7NB8Og)a z`B1uFK@9>_7aEE#k#W6varH;C(W|K4J>}jJoWf0-zDKpk{O`b!e~DGABlC>hn2y05 zRc8TnFyir2#;p7(;kHQC)}EyWpIGJTz8M5Lr7?Zgryv+3$M!-XL`3X&<^{YI;tb#x zfe7MmBYHT{tF@tQwgDX8l?v5Me>4>Y(iKyglr1gg(e(RmBhJ@`o&VX@6MsrPk-0xn;_ksTxy>*fUb+M)KA?lq%On@erHw@*un{bTR>> zv5fH48iV&1^_E2q+<_k~z-z-)?jO_X&EGe*@aI|NuU5q5`K#bmYqZ|cMaMqz8&Ll) zJ#Px^7W5tUS~D(YD|KBv9mI()`=B)jK|jDltx>u5Y=&^`Vm5+ucZioU1IchT=NEM7 zZ7F6ipD?y4OkS_D4ahtpzgd6F=Y^~N2FMwb{If>)9{9+i2h%L=s5n#x{y?8^2e2+* zQ}kbn6fEbNt6$9G(#mtl`q@xrWCrszLL1R*&})tez#`1BZta(!_}iE zZr$M{DA@NjYm3jB4wF|YaCYd^Mov1P&vPs}^s})Ca8G*b)4f zfNT7mCur~iN9(l_xpm!ya`{I_XH_%a0X%C*ewlcdyP(?&0Lr32%3j}9vKx=}FMi!g z0h^}yIwb5o6Ga8(I%{Ox1GzV+ zrjbw`Qex$gbl<<=-NM%nk3BN5pM+($o=(uPKkJ-25qbG7@z0X4{8CW z4gY7KpBAM7@o{3et5^R~hIs=u2LGclpLJa&p*8WVaFq8a*_cHE^%FBdw^^o|yT&ff z*>Oj|G#tjEu=zvzf|2NeQAQ61`t}!!vj! z>qv)2ZpPC4oowke`nuh>-shPZmE1VaRnY;Rh<|G0azX@iJ&b0JY~XSkX3Wu13Vo=- zjFa!p;r#o~x?=^vkx(uZi>rmm++adWql)N7aLfl-Av{J27JFYFlqcwgK|;&22o~o= zuUi^YQ&Y+mDes+h-QZty$f^?Oa|U8$(v*#OBE+y)Li`vP>?-jDm9^ma z5mRU2*niJOnu!6X-DWHQ-6Aw9y}&(^cDK>8Db)5-xj%rm7OC2K`O1t1JfVCX<3i(& zP1fkTv_R;c5VU(PwKDR&e6k#C(6{ znjSSD!*&NS&3d9V^f7j{(T2UK+#?IMYE)vC?A$b{wd@s-`oPwkhtGT761 z=lqHqc(yoyqbxW3!eOR97?|?db2{GcCqAQJhJb{0Z3%pWL5S$?sf){m#DBiqr)Z#} zbVp%Hiwyd;iS4wk?qu^Ss`g0eBrVlK0+Q6=sLPRG?3|VINQVBd{nB_J>6XzX2b%V3 zH04tuCWu;kz)1f$i+xN+DU4{~H@yK|MPI9^7G?@!fXoD|{z+b#GnsWop-rXu?-JqR zIPSvOH&0qLAM>RCJ)Tcm08C!9(3E~6PL5#@MEr?-JXOcdgP>>PzUg zMHz!O=D))MP#F17qtAl32eS(D$@IBGdyZJ{EE>96|o0wJL3P<>Key6XC-UNZkq5TPDsu}q{7g#=NLl|$}>xp zMU*u$nb_qav`sQ|os-zveCyIeTu@KDn z{hJHJdt-$E)|V4)cob^UGH>ZF9lq)hQLi&HZ zUF|#bnUm6ZqQ~69u-%ny%HR?I`ld;~*!p!u76hQ%`-X;X{-~eL#$#|n= z&gp;0fM^K3*psI`cG<$Lf|3GftYw^dI&PZUnbTIE&m%if#S63|6@=eo zf}7+hwoa(2`0$6C`rSD`wRHaF@aXn%p^NBF?`qyq!aDLQ&K5OOf8qi!w+;uGvlb4H zr1+}}yo8aWsyBTpd3o3_zirGknW=foFUHj)`|?WC`q!$?)367ZB`q2|l8i2{wkIUk4&dxR#= zZ9d@fc8nd$&CqZtlNYbj8e6bdEZ@*@O;u5mJw%lJm#}R;@d5gTR#|*uLVBv^k|>c`HLm5?Q8yBsHHgGQ~$NFc4s${ zQ*M<18&%P+l3#TfDLEcUpAJrad-WYtKmsiBSdJe$Ql!a#zc$L#=EF2l2<6tAq;_v5 zh-%>7vjnmcog&5P2%GWDAl!-bX`97K)62Q(V$TsOKcfdXI<{vak3TVwNc%#_>T0zH z4ez&~FdVZkdw`-&BW|mAi`ZgBjnj$=rX<46kpiZH;a985Bp#O<5GvGJk_@R9EtO$7 z4Dh>*$>50-eO55~qY5{MSzcnV%9m_a0Ske;kUIZ*W&Y**&+OhHms(;-qL^j|RH%dr2@#F(Mj^ z)IJ044d@AII_s!Oo?vtEo_^xmEc#kmYxUsZ_Joyc)o0#F#)RZ9<}5;XVg{oS)Ix>g zqdUP$6C%!rU9qAw@sYDF!P^U_mp4!WUWW(sM!X}a@uSfpS&e7(hqIY%!B@7!LsDo? zkpi0C4>?opb+F>#yZKrgtnBL%#uD^dMMBk9>f70mZ|#gX0|Xa1A|!`=lNHr4fK51vA(+w<`VT01di{m1R-!ungo#AgEd8& zm#57KQzR6RLI{@_$M{K?@UdL+UNwc}fuKuW2g5_n%XgmpWnm^f1jZq%ZQ(#ioWwB^ z_b=sE180EGrh+_g(u_qF=f6z!5^#Nu0x!l*vTdDx=tr@OYZ}`hrO9H>e)3f%_}x{NKato#XQL` zrEhce_H}uphK(j2e{@{rF33$Vtp@Dpzqb$>|C|{{o>M03OEznI%;0jb<^H<4=^e1p zb$)b$_&ebMDuEA6T2F?w__>ADbr6@V6+zOMM}Un8J<7=}9&PH-CDOl_48tL}>qq^T zh2;G9w1A1jMrY6`vM!a>%)dYArF`0M8DlR9$79IuYF1scI)BrA?^z|mp$HblEJoYKsP{^cJf>W4o!g0XuM;H=CnNwf1^v8ZR0J(A}o!LWL zk^IiRGAEBA`b`u$G6m)|b#FtUSj-nDzC-;9wso90duQD2GRDD?L{U9vkM%O5s16e?P_$QlpyqHMXX zcge90mYzyHmDV<)!giG^RAm^^>%(VCB_P~)&favU6>8aR{MR&^L+fP>8x*DbE8yf_ z<;=G&f(Dt2Q)b)*z}5w;cHMF47FrHwDIKUWAv~J>+YecEqu%^)YDp?ziv|{2Rcn+Q zN<5eXGmIs?u`Yj5FZv5OrqNbq4U<3oiJpX}{3Yqm!1zTo;r(8RIHyFwCa#62zRSbS z#*vL-Vwlx`C~P3MMTCQ5fLZP5>(T#?-SMNFZy-T~_Loqykkq=~yqD>PZGlCT$U}*S zHlQ=I6OKmx!y#3q&JT#x}x9fqA+SCpb+!?wmkXZbJTr7p`b1tqb^Ut->Hr5GL;WoH0*gFApCQ= z_QtrynRs!MnTkb|{Yz41M8DVccMcTyy56lo^tXk$B%}DrBx#4OkcS-?pz6WKKZMVo z6-btvA2u^tV?vctgKS*OHrKGdpK$W4_ESP|7~>PQj;Gws!+*-O$;aL+`a3wCOiYy` zqCU4)qyQp0)Xr8qk{C%Z3!VGD`)3-vXEN;-Ll1vjw>4%Aw=lIjK(_i;fofibYQIq| zdJ7PF=2udU^ON57NGn)e?G3cnt%Vf^or(yTcTN(I-qdUfC8XB4!}lMy6L9{kx(&)o zu^d0uV;b-rgrVn~$W1S3^pS@romUiDLaY<8)3MS}$=nt`$eAQR3|^!yYpJSzX($Y% z!%4EI9a18iO`M+ds?FkZb>>PZhw>9ZN=+62n;=24hy6L~!l-aT@)dB23C;65_jBH$ zt1OU5Jj(o4p-RCGE>y(fO{*eeJ@&3G8=PF!3s#MV5F6gIe>BXLXO_}C@o;fh8t1sMcgov|1Jq;FMLaOTj*xD>;Z1H2MRS_>t z2HTnjS=8?=^^Dd!Uu>JpF#8J=bE{e!Fu?OcYoaLNVgq{4qXugUx>_q(tC7X13w4Y>M(F_vq(0bTvBhj7p*Qi+GZ3<3_Dm+J2h7(?Lhx9uS= zi*8k?@aFqTpzliuC%g>Hn7tu0YdY*QmgVh&lWM#O+3Y%-!i(b(t`gSVSinA6==IU0 z$h6jTvL}n*dI{1Zic6cmGSITT*{BHDNv5NxlWy&2(hZ~hTzc~MU3(5V-=v|6E^ROK z_TqgrBz+R+Zb+iUmgs4Mn_Z(_%f^Ru1|}_I*t}%-M44xQS4s=s^`MJ!0KXqiaEwE+ z{&Gk0nG)jW4D*eQhY)k~P0PsFq}DWs%29lZDJ+)C!ndT2CHwFjCc`wS#|~#pXQwmW zB0IX%i`Q!PZlG-Sx7XFKBqa01={i5R8R?RXXfu2m#=G@j67Hw<2paWBj=(XB7q z`-7H1o6LAQE_Nc%j-5$b^frocfVl^vh+a!Y{a?F}i)(R%yd~auQ_!HgT8UYzBgrR( z`NtqkH-On$j~XhasuY@4faZ2 z3H#-nLrNwd*qj%zm%S{n7i$0K5IaNvp*L)ccI6tSoCM+G{xs<9WDzm7X8(Kxqq4C= z4kOX3MV;<)N|Wzr@Ih%p#O0Ld z3jntK0zx+^4Bg8He~$BK$imp>2@`^AFF-X#TM43(gn}pegJ4+X7X< z9p2&OFw)NrFu(Uj9J_(QA@Npt-EHBIu$UnJ)iA zY)g5UE99n^s}p3wknwYV02PaGATC0k5b@c89)U`W5OKsW>8~=rf|(fT>CLB1pe4;J zA4%+MA}Q4gjM`2Rg_@wqU(E?=)MK?6>?|dYOJ`7kn5Rvv&Xb68~ID*}#;ffixe;wC($y<68Khu&}Q|h7e$HGq{ z_rt^fF70gkqMpX`dK3Eg9qB-Fau{Z9s$&M~+7JfTcfZqR_HppCM91IUG_&&(4b7eHgMCi5=tyI7kC(gJw) z7XBEzG~UIPl~yjCe4Co=y#)k2k&qi5zs?P(=DuY0T&7o!QcFKKv(Ys$r756PyA*lW zA90!eL=1Z(+SwGASgp%z4IOviS-5!TZ$6I{21A$gqNY-8aP;gLh<)sp{U(n^j3k?Y zY{JLp-Jr+foWG!f1$|#4YXK|bB5pm=>g*mH)uvI}R@oALa&M)rTaY7cIYoe3e;8C# zL#W>Oa4|w7Qx!t;5%H5jq(?b0fnSy&FO7<7{r*P--Zdb6VdElAc)^*!mG`y)4Dtt z8*BrMd$06eGgb<6Lw=lx#Xj7%`zoe-?=H9X7ECxN?ZLJ6elZd_!>BjovndG*gH2e8 zV0+uKguWb)WbW6rB}}ha!Me=)u<-Oe9rIyzGAwyaq=h)J6IxV~Q8JPqdlr?XD0qIyniXcDD%idtRA*7ysiJ?!5x1_ktRXUq|1i?ks?WhR5Yg9>V`ILWAP z+9GorcKn^winfRBI5z6y_`z~lD*&-h>YD?<(%pcSDvE5f{F|?PgJ0B1-WH=zOV-L8 zZDGpQhNapZ@~B-D!rRAMNO34{>4NE{tJ`F1OMBBCZ;x^qN&kJN32(a}zbLutBFGbY zp!rj1fVE$ktL*wb!$i*GRm3GG785KgUWh!DguQbe7yR9N@()h_9d<{k21@Xy2e1V5 z(-I3!@2$|tnG=j$#dc8^;T{H5LS(VyXwH-~-c~!v56;^+@zNEfTvUokZv71sMJK!6 z%+8q~yd>(GNt^GhK^p+USyev1j#$p59DPap*7W&w2;~yG;sVj=RAH=LH*V`V9 zlRqT}641+Y!NoEVc(rzSLYKR7P`+^Fy-gZINn(fWf#Y2*_^#PVKPwj#N-zDAupiS<(1N%Z7MoY3* z!WuYw8>8uiz7eZlQ)_5Lqr@%Z>XO^ozdP-ck?a1w1%_)VSd9fsN9pS|IOT(x_3LI( zUJD)%<%zT(&T9|%8?qrUdituOOk>Q}ep?4EE4`x+e9C9eH;E&%99{(5-1Bf_xwAT_ z(NnNDtlPt26n!vPe%1@MNY0t zXz2)%x_#cf=S&ex9FRw!r8p16he!)$s*5T~upF`ZwxAMrh;CN=T(qxGiLoSAltK(HHX&YZL+tpDy zqC!86w+7SO#2% zyOLgBPa@&Xf7`_`T~EbhYv&|4AN(tk8=e?mU7I80u5s0 zucM=*UkR4+BecH7XGOGfy8b}dl9vMRVUScG=CCj;hM)mmRynA~{1>vttmPoH^Kyq$ zA4p#MZ@RvjBFi0LZkEGPuitq$Jtw>GRio{R(G8_z5^lWnGE5P-MmA;uuP*+Mwc`6L z;r7FY+E}PTgG!)xEX3!UMS!5lG!c2jjV~dZOxT}nsfpCcs27@vF$+(7Q`4$gSz4p0 zZ{I2iCEWP8+<&wtiB>IBSlo!GLhb_VC{kYhOtFp|;_?@i!LqV@XsLQ* zD^{7&K!wM=0$8eP1cpUy6C_}y1w2;6A2vcm7)V5tQ?<`?GQ%TSfpSB1t;QRA11?}X z?8{j%+zj}yax;qF; zq?9-NX#S)L@d)VCQp~TUrX1*Lmq9h`<43?B;{>$KMO`<0x!lr?>{-#m_QJ~+F96<* z__G4e#D8_@S4891gR%(8=PNkH49A0^gf=vSNO9eo{SJN2QeqQx=qILqe^+^&kWAhc z<%s&#q2&y012Ki^nK&Z*V?wyCVdPDdIx+maniygY55eY2_ry<-Q?pd=nh3Onz^K{~ zK>{uKqO2Ots&zyx?8;mAZAHdxane9bEN!j=b+`;{|@_Q(Lb1%fj_x zblNX;aO9rodP!n61-@0L89WzWafbCxDssNW_Dyq0Jp~eCO}Aa3-hD4KAX-il^>8a7XKO^au7jKkF zx8n@_40|lwugh>2KEwKrl3afCI89VtC^VC-N0ABNks0(l#0HBy)v83c*`p`)i}Ydg|Nae*DmX=aMjUhJyf;=8DhK=gWyJyB}kF(TrrCj${`|87BFj5Z?e5 z^&>Z+17`WGO5+1Y(!-2P5&;c_ezG(v12z?TJ^skbUok#`_H~)_+#>))%(|GqRJBpd z*Z)>!asXF3GxxT@a;>otu_b6k(rMwX!y0)+nKNiZ7E+x>g?MBXEG79T4%FyEfifw$ z8Yb!7KY*BxMI`?)vO@@_hx}8j>^N@I&nXVvP872K9!KEr+_B14dBiGB)p?oSiO+F9 ze(c{_ld6rQtv|IT31s6KmhC>DiN3P~Wt6&}E0$?og!_Za_UUz(;@<@jV!x=3qq$jH zBKVwcV!#Pbtm#t9F>NRF1Ag~pPK7DxcH@Fq-{;UEEmMiC?MnR0L9nOr`8M9k zSQ@6<<@Jw=tZNEs-B29ga;sM@u~EM7>+Y{NJ|hw$w{@(odJCKTQShG=7yBqZgx;b= z6mzei0w_wxSMgr(NS;<3@2Rt1MbrPcJ~w2AjYbe3PRqlaCN|*+ONxf@S5xzAZb_$+ zL-%$!7UTsK>M1pqRo8G=YM-s&^5cC0cltyyg9Usj%bxq~UOLZu*h$U2>5{rm=Klz7 z8ce5D#waz=52@Uco%0>bR+Qa#qLNd`qKcIZ+E3%#;!BX4tySz1w-SWz3M%;LpAXt( zU2vIVGV7ae?KtjwQmP)JQa~BDsYgGFzu3oZg~WwN#v)>3gqgM~GEJFq@P)3?PEhDX zSwVAtbtu}f2F3{wUpm7UB60Lmq-0Ph9x7U~7A2$WH28I0C?u#DOyu5eXkBEaX`oyq z=0KGcG?LznGgRFamiNAxCZt>wkIyxs2t>KL%X?eLz%98wF7}?O%7a;tG1R6{N{y}j zx`Y+>h1@6?o(=w+<2)f;mfg-1)}Vl{fUye9_HQqgIhnbZ%Tn{xh#bRqLk(J;vzKwp z1({II%0z(GztquGX62PuvDQF$8B0qX!_Eavl7PjGL;4i z=~tchFV5;KNex*^F3VA==2>UhM9!`D9{iSl%#ACQvwF6ZdBp)2p(Uy)KePE1CX8e= zDQXXman4uBzn_alTtGOsdatTjz%i1T3CVK+E*_pLtoj9K9b;S3 z5jLrWm<7ZVK2GGSMhjLS)_U|OyG1V}KbOYD?0HZ=iE_X20f#OMCTP$W!)_Q(07v}{ zHv^_+hMvQ77~eBQvjOe#_cy|W{U|(}aa^cq)eb9V<{K|P@d%DEEp)}PeM}JhiZ$_1 zBMRtEYHB}iawN`z{l0-F@ky=I0y?LAY@+k_aBq5eIaR}y#Is3`peV2QT@v?Wh`=mWvybAU^)rTCUjHH=gZ&0=r3T<_A=4Rt4~s4RI+mZw&)h*=?nU~{ zvAbDRDt&@Ua&o{6)Q>I)(6HhyhMFYm@Zli4t*6jdVvT}wrg55*(vYdvS4^Tpnu&Fb_P zo5__5e_NyaDJ@~p76E-p(fA{jLdgRmy<6$hjsw|l+qht9;2bjXq-zvg%m!uG(e5eN zXuZq6Ox+qC;IIAdytgrln91sOOp~rW^66K1`$qsPgm=^XirVKBnwF7NwZ7j$&-5{i$Kg%}P$4N)YCh)7F4d??YxGx(ch&noI#>fr z&x!YAI@z>c+j^W~%N+02qAi!f04J>?1i1GZE{|ylAo@rEL~DbmV`7S)JeyU^0Y!I|VI}S)1Mx+miSWcKMTLa?J(_PIJCfxd4i+OuE8Vs3 zuy8Nq5X1fYM3n|V=fTaTX8p#C%bZ@tx9hZE4V%fzD}2jitM!2*6gPJ`s0Ws1T5uoPTR^k42oqeDe*flY;;xZsMbjeKO75a z)al@=_Dx?H;OLUMntSD)uzhPaX{sKQMzXlPd|s|rkr_*2_#m(y`8LhHZoVmubkzW9 zl#V@3eO%M;@h)T5>edE}cN)}R$xHLWOkwMtgR}6TUK)p^UWr8zRaXx3c2IYBieh-d z8-CmEdvmh;_sa&<>~O;534o$bq4xKKPVC{(G_cX$2f$@%&$owJ$B|O9sf-MHesAAP zDb8JCJ-T>uL11rUE-S3?vk$tgfZEo3azL^xvtb^naFu^prs1P&tZDszi()dP5$w$} zx`F`uJ!Jb1gb);J>$+s>20iPl9K3Dz z1?M%AkyIb4(Hrf@JiuDz{cV41W+yPo?=|kFTMoZsg6^kJ-h>%c(X9mBv^-y3KHJyN zeeK0&PB_+LFe3kNLhR&Haz7+?i?2|7){5mn+xn}paC;a5=gj>Khn8DuDthhP9*yP} z8?e7X(JJU0OAA(J$5tw3j-%)J6Xf`LU=s`WnGzO2EhK$G zTC5xEwtqsT6TC6K&EoS6Y($H`-j(;fyZyNz7lql6Q~6NIM&xHKrHwvDK(uybjlxbn z^}_p64|ae(f+uVr75i;$Uv}h_umAD`%&zb8z~Iel8whHhcvx}!#Fe*A9hzx&_^KCl zFdBagk(!_|Z+c>bZGv(Xo>7j{&06!N!uyRCypUK=_qOR9KR_)Z77eJ7p0vAj+WvLM zhe1fL`d>f)zRDb?pYHAvrByU!InSr@ovo1GqBpX>>$7MyMaok3?0X(2dA=N$O&+z> zxx1}XZfWlFqqA?$01NWE1g!}C(wSd));3{KfXL*3;iYU*in9a|WKJ zlXu&FP+4HXlhjSm{|5c6_UAwOEZ4p%FM}NTa{foDyx`DIi6UW*%gqZzuASpH_x&^K z10(tX?Gur*Tu$)K$h`=@7s(IPPYRJ12y2Y7Lt&$<5XWf)p?itn3>m;7(z&czmkm~r z6rD8B)@2r?qhbi78oDp4+puwWd<=_mr!rcs2$|3V9wWuP+Tg!TRLwPreb&{YA53P3 z&c62!q#63}A7d%SO&o~*P zRJ1x<)5JMO*&V$ZT*Ud z=5Hzd(7yQNdOPbdFX_F^E%GA(OZ5I;sje}W!pO=%+KL*#P-l=w>-#jxfw;>Sh1t;3 z5J9_0Pp4jh^fR+ncgbOcp=U>8U%@Zm90W_+^AGV6a$_DXq1zU$#$TOGrcs(6fVdin znbRYo^zwS5=9g|hyz=ery^Tk~6CD)@2#dVdLqyj=Cz}q~LIj%W+OVW5Kr`P~@C6MF zyr~cr_@9zoW`GijN#7rN=qnVrRufW>%;22M*BTdbRah>z`nS58r*#CfgMUxBOlgTX z=27Dgenwzwc*-dbuect*T;ph|lxs3s+3ynx?pYpVluy0C?=Wp81W+Jc`b&+*<`wF{ zo2!S&)}lw7h|Jqc&ikAu=O>ZDuAd=fV3xurI1zZ@vI0v$SD8$|BEwfxF!q1j?hRap z?(&BUF%h)at-Pbe!mB4iUpkuep)8k!X38-I9M~@YHr;WLTw12POdXP)LU3znOVO+~ zkF(~^b!7~8gGXmZz7Cuysk2_}AC&q&y=KI)=%NAsGO3WoFYSz~aU|8WPbIMEVY67U z@K~@}tt3HnfVb5A@t@oATxqzQwWcbg<_}1t7FPIb?R3)EfJ#UT+s2qxJA5@PI}GuF zNfzHSH-vsyW&abel5d^hhuv?y^4DpeJYn8YU!`P?Ka+yOkOQ#MtocGyxeJI-VB%}_ zZ&%!&eL3TW7ZCm(}tJ|Adrd zw+|x>mqxLyp3lO6rmc2BR)+Pnc-COpjOzTFkw~ic_wepE@90(v%@F|- zoxYqgd6G|rQz9Xb`Te2vZ@Ow9*#J>^P!dz^@`l%T0d6s%)ZHG$Zc6FJK5ForEtGWX z`V+r^NZ|G7O{A`CCv!=eTi}HL%VDLkjW}TMf=>X(?4@eKx3u&d>Pl*o$hH9@|eM#&gWj5TGsJ7cp4o%RRi#iPwZc zH^g-}IYvmxE`&|hOYpm|ad}oP1BOiOR^hzaqT4h>k9IwuRr7jmpJqDtV#i>Bd5kiN z^Xu6Cc9M7e=Z6`k<{%I6@iex00Rf297t7vN7dA2nd?pRK7I8pcKCeS}^v4bqb zf^@k9SC$FIcgIH|= z9QD?7@ibQby>Yf4x3*ujqD3zs+X26~y4I=PutR7DtPLV4oCo{}hM1i$*^5Kl1Hyo< zNa7o!#YEjA&1XkQJi#5hKO#wW)3Oe>>BAEx&Jwi#No6}jE|zllh%XS1fxNOwMfK`m zg+}^YNkhCo10P%^-j3tqz9}_VV6D!e6T{h$z%}~r$@Vl~F$4Cqd~?apTn&=r-Oabw z?<#*dOvd1*d3LImPa3a!7;%$rwclj9jM4vK+M`?IM_fVbY3py%YNwB+HOl)782T>v zAymaB`OorC+;7`vdn>)*uX)wxE zK6?#n${u%nW64ix2E3-=3dzsE-Nz&xotEVp^aE>?i{!nJd+xxtqSt{s)TBVaRi3LL zrwK8hKN2%>LwlU|Er>aM8kpZ*qj$1*F9AC!>zR9~+R!LH%lOyNnMkNkl}8P{0SV~3 z9{Wg;ud{tyJ=V85(@zl`yjgJ(JyAh`utp)YKLlF#YsyEa>-z``z+95xT>m>0%~E}L z+paeQiM>S6+>^Uvoj$!J5-J^!9dNRR7z56pf317Pc>v36$5YhwdM@J_fD5a|c5zy> z($#ITX*Z$`-*kwDxQDr2&gx6;M*m(jLJyV(arVZKU^6%*D=dVx*`5o7dfTrH;JAnx7P-8xkC z7)yjUY@6crpBNtwah}~y@_tSJfDD5dbut&rB#=~dgGU&=3U>Z7oZF7Iz*Z08UU*7e zxz4_CiVYZR>b+I5a4bTJ!J}V$;y!l0Go|n6efZ=5Zn;kSFeV7$kG#6@wO#*lZTq3l zn{5Y5x)(xmF8uN$SnO=}X4(k|#U}6DJZS9dO$-z$?OX27a7T{Aq?60~sD<*XQA0kM zk?^~fcTQfXWG43vw9*)EeP`Xs{?VP8fdjW&cC|2xeUGWPa;kH^Z3qj=J>X(=NgM5y=(oE#9k4FSS(}4Za9v(<*VbbYXt9y zjKhgv%x{S_vPkxRU;rh9HKaT+c8@IGU8NafT9zR$P~B&g{pH&0cMf(diz=snrFs>@ zq0s>nB?if*lHS)BG~Y@^Vj1wWdWut0nspGjr!){_Vk$O|ql(uvo?pRKvOq2xwq zRKr*MT}fw?tpQ9CJQRf@*sv6L_6IejuOT&(&7-928XQR5k7r>^#24-09qanWF=ESX z4EvpFY)-zI0Ptd!dK$M|y#*|H^m>~kTl2k*c)m120Pza5!g}sOpQrtN-vzi?pFBHT zZ}Ag$xH2^{u;|Hhdq;+V^Tb z9g2?9lusJW=2b4j&-TB3`T`~+wl3lbEeFt$#w9O$TKd}1n*3mOb&zY8#S}?!p)K$m zB_lXusByuU*S5OwTw3!$xshw}z`qbr)?*v1Nv&UuV5{v7{q98lJp?F}E<7k>^w22- z$XDWi?+07V(3ZA#RE3oj`gP5y&AsAkjzDOu|L~jZ3PTbWua|2v1pguoM|-?c)72*H z%m`jAG%`{RMdU>tdOp^#-U!I0{&jNTJl<#|8SCtBuR7+sEcbuAOgj{Z^(K{R_t1}j zzix^IMFEp3msAX6A9^Eh%qcKnZbfnn<%P$G6>G$caa~NJFR4IZ>Sm;uS5VLpvn>io z7u+d#fhy6jZEY_t?f;@70=O_`0fDt#`nN-^?p@djHqGeAzF#4iBPM3FGCDhCnBCT! zY=nP(3;z8_Ogwcpd)RJpH^@MS;p(Plo!NW-r)qwY|` z$FpAL78g17^&EGVy7Y5II{f4x@-=+q2lUxx0 z2gGf~_I7w-+DAod=ZujHy5wziC5(gnn9QWF_phr5m+Oz0WxW8*8i%3ZBOxwxoczT0 z<_eDOVIL;JMzejI-`(Qn=l5mw$}eIC*V=Ro$jy!~&Xc?I=8J0!KMoDcNa8O34i)(Z zI8B2%*T`c%EF1N$g4%5KzWd~9Epz&A@$+MygTp)qo+B(HcZ1r0gO_T1Q8C3GfPHHY zFc8v?FFjq@9gw2etj*5EuGC3kOa6lCp6~t32494qJ>OZu5mh27Sj73pYU;(F!_ z&eT+T`@~$&f8IJKpsNZR*+H00nI9OO785^r;{-5t+{1+>4^^`gEim*(WH$9yx41(z z90Z}6CaB@K%_<6H4y}M01T<|3ua2v&Dr0`$Wjq`5jK8#Uz*5cb`l1`3L`8+-G1%w-A zdv3%_D}wdut=u!1cc1DAVi`w6G+WdPerfjNyRq*JV`o}fVd)1JCJd0_5C*l z(rlIVvuA=8jP4iQyYj^gHII-Nva`Kult6>M@fLmirrPUxMSMumQ^1be_n$Wz4wHjS z91npR8@cqR90V+4?|*>)n=`yfzsp~5)fvtM$_qrerro=dgb#XRQvG$n7LH1?X!ftm zqu2=RWF2Y7PLi$2L0U`02%~|ATVp4$CL~Rvc4XnUWDrS9+LxqSSWV;r8j1P?0tzt# z(49foEa9!#>a*Y*tyiMjwd4Z+;`_7Qya)i3F=I4{ib+gadvSz6&h=S)hL?MSpf;S? zEDklC^~sZ2%)&m8#a7o-^ylua5$&uwKJ63!IDQhL<0aIPK22^E1%F*(=`aOf-ie1D zOFO~vyZ#CyLckTL$XKI@e}Oy}#L}~d>F`kyhL79syg6@a>}OlRV2&(y`{~@lT&*_# z)~1mgIEuw({nk~EIKpg68vkaXWs$U=4auE_MXw#6q*&0Sm2>AgZ=tkQ4|I{R#-BNR zb-W;=cDnTUmUyWllN6f`gT8myF+TsVybWUzw_KS*_-ZWaOl`k3C?Oa^>Ju7uk>$X@ET+HRJSWm)vhR$hN`2ZC3II$o&)uc9nB$|}kp5=s3exRf*BTXalTg)NxLv6669 zKCVvBmcpnJEHotp7{U)`M9<4xtx0(wj=x#dR|LtZVsv`+A5)kun2caspL0L@Agj`xS5ex%UFMk1{Xr1AmwjRq;` zq&(%%!8u2yuq~32@$c|)krtR9XDbDgiURLk&v!|RoNA`+ncTL(<&0J4)*;EVzI`+R zm?y}vwz4Ym8P$GbkjI7bT+Yw!jZkwo6XsmqPK#6#M`_nr$h`iLNrV0og_tAYnW*dd zTRjh-T>U;MM`Ndv{tOB7uwFM;t}GRXwhX>I7NN%=?4zw35Lqup#>o7wMA}tb|NCOK zNtyzHtat<6jq#Xq`&j`lD{q3*kR&O$4H{`r*;t8_%5t@KQ@MuAW2=zDgcDSxn@bqe zBjqygavsP9ayUFiD_H3eAum5x=d30q@HQ=!*7B1_o~a0(^W%kj&sO>~;bv_x&#}g8 zP<%n`iN;S4zMW0-R}lMIKjJ)-G06{$P`#Ni!KJw!4Y3O%+0Elh0j*Q-*PY&{ce@t% zG9|_4yJIc~$nM)(jphA$Xb|Y>t{$b`!(0``sq@_G$(sR&^J+zSNN>^A9j_=|?J!SW zY24@0fsT4)k6E@3M;!!k9qU=(3oXoCL0={UX*Fkarg!-3CTQcfEO2qPd*3Th1zn>k zW%706>QZ4W-TM<({Y8rFMP@LEWhm&;d@DB4bNxH{BgokdQl-r>bM&uh6x}$@gZ&B1 zCgU>}7z4?k&G*T-#r5NV5|@*>lsFJ1oUYayzaI4 z!y*O{5;558353lfU*UYxPhIzp#&U9x{dBp}*s&438@WdNQ|1M$5oX_EcPK&oB8|K1Jum#rg}v z94ryuX_!qd@E}?gi+&xUDG)&M_jIGOaw}*xEym*ggK@d?X5dZE9{)4K<|Ag!zeXJK5eEWwa(#GP$moHyxn@Y6o-vJTq z4bb0Pkph#3G>RrP!B;IQ38VD$Kx`GM|9)3GuVd~6098DKssdb%#M#pSE!>XuDqZ%+ zD)-6%N>%#~ZrAmUq)zHK|5L6PBSVdtb!Skb?NK1D|AR{&H!BDmb`wKc4UpQXP$KW+ z8~#A^e!@uwpMIXp1BFApOnze5^N(@g+4HprKj#?DTp-{CzfLQUrtB$`dA4QY$dru3 zWjm2@_&|qxdz9PtUi6fC2Wwa4p3(lb@#x-;SA$TeCwhSG(Ohxc-++I-wMgO62CCxZb{Kl(wZwCa0c zrcCMHo~>@jPz-wFjVJWYz$CVBTf0T`wPFCE>FgR5j~VRR;KS}~Hu^L7pYebgcplm# zXG?vY4yoER-!OdsTL}AIwm=!9LdK94fEA@Ong3tMO&2lJ#JgJdCz*Hu`#zP~*XqdwjAoA|Dc+XG_{i(mQZUe7o zi7`dFI3WdHPwR)?un&GU823Pq6PGQ@J1-8k*~`3+&u$j~2R6|Tzvf&Hq1=MVebl+T z8eh7#c&|WU+6twGxjX)U3&$s-`r;L8dhm}qr-dF&xN2OdJq8Bk;5lTzlT9pI7_#rT z^vTrDrK}lBrXP&}E;2x0g02CMsbhacWPCW{azDd_z%IYYc`M5RF5qu%+02UE#lU|g zS1zqiUBHj?`2;o{DKLo%J)e z-`;&U0Xt)T5Km9FWlw;hSEX{WoK5o2J{J>`{T{Ma@q}ij%i|;3 zJ}2kWjFr0x3xnTlVR*tEcl1QBrT2faf4Qyb$)@eksMt^J{@_tUeOaR`9rx&Z`qK}= zb{`v`UzWg9ScEl-WyA5iRz_5<#nzKere}2A1d(w~#4It(_V5N|bRi0uAS{Ey5^uLi zS(h=4`aJgQ)XV4@tXXaRv2?;jugP4Qtmg&CE{B5;G!y;Zdz+h;N$~!KUf`DPnJ8%_ zdB^$d;8w&nd@I5=&KJhOn4?3G-EF0dz?!;MY2nj3%+D|Y;A8Rw$)tXIXe0fV`9Jck zY6w1?V3CVrkr@Zv7x{wowg?>fx_GBK=tBWqI)w#75qKSdjT~L4+vf1u`^F3e=LI(y zg_rV-N>DC3IgMoc0YMy%@Biax^T#a#0ntpc-C0~^NSE+4YuBnoCx;Itx(y;2><^|t zyHz-O5{UDHppt}L|Lge$(T~7oE^GG8tUktii_{B@kGeyvD<;1?@aA(a-2F~dwgRyP zw~A5tr96xho6JKh>)T%*OUYsKG&A}iZPs1hZkf02V4BX!c+_{Z!=dOdXcw@FVeAK|p!Q$Y-SztE2J_-1Rd zX74EcE#1iI3idJDwEVBFgwb2IccPH;E`KB0ZYKqdS*E24WfOnE?ir_5Favp9(^mS$ zex4a&XxHo&BE*o>y&Inl!Y0c*{=2@e!;&{w0T1Gz#N-%py&rG8m*MGL$zbzFVQ~I5 zD#ib1yI6jmbiO>b{}JN&e;K|0Gc5zGGige_I{B1_E6?B1_{M_NVl#cgDoSgVv@lk( zEdee#+30dgmg@hpc3TnUNl`3bA2lZz=SpNoXKQq1jz61k9TVwRIq>`nPOLnXkgflw zg^qo@-K6g@^tPXpMc&hWUAfOaoP6W{_MKmOC;;B|A3nO^-X8W_^ZATjIwzqH*?I|` zU40xGIxe*Nn2pG)1g54K%w!BZAkX{5E~+boTVT&_Kcz!9%1W)Dzqr;Q$<2UltfkTK zIL4dq$k~9%DClRKi}YeUMDTga zuceO!@;+`P|B5DmsvJ*#xr$A<=nFl3OQ!(A4G~91<68o+*Bf{fM`4zw$}k!@_>ouy zYuIyKg35Vs8gPq0DX=x5U3*;0y6%?^g0fgt=3P7?orgC?CFcn#EL$()fRqGF#{&joNUA@SY`mL{ZmiLj+!k41wZLObP+z`Sdp2%%b-S;wlDhO3*oyDoWuP0W4)+ z0WI);C{)eRuhO#zvn7b*tc>4@vu&sEXrE*qk7j zu1FX*hF?SZFNyhH1Be_}K(||edg8<)_3%r3C9rG6!4)D2t)iBw{oK9?M?q>roHdI2 z%bK6cq*B&GO``ffo_{TwX}5OmlWqe$Gg6v8Bfj0!;p4Z|rcPR7JRexj1V<__5KJ8T zPHf%-ieb;CR)tn>uzN`M>s2DR<#l-algPmcqYLF(Y=)(c&Bo0cvo;*G6&H9B8CDLH z59W99zrgFly^EFzj$Fv;BSl$U-9}O2@1;v15fmZRuv-hQvnHe>&hY*-uu3dT)Etw7 znTFiI@_*mIq3IHj-_hE5yye;IHWC4~Nj>lekpGgX98g7jJLTf*y>FvU%h7AUnA66N z*OV3rWYlb}mK)|cE0xdcD1<*5qXyJ6t&5n~XTNrP#`+FUVD@G)tcb+XLWzFFLjNDy zG6C`oB;-4!i&g7Mamx#oWM-wJ^KzQaVjc#`M_1#|cMGzxN7&#{_vmX*lAgkjl!O>| z?`l;jwPRqk7qK0VK&+E{6bJyw;&Wf1hg=T{uEvea>z9i=bi{n zjw+(((e3K#KO8<8z0t_xr4^AX*{^wY_BHIh-10}g`_E~|y9+FlQUw}x>H_U2tGMVh5@`FE9H=+sE z+YwnhLi`J$i^VD-q$pbcdZ7*C;n26|(F@G_#FlGD@b!(`QL}R=k234+FJif0$x}1;{iEWu zn4)bb`(60s{YPy{PI?S?24!)NU1fbg8}#`E@8v1IIV?sUpH3Vk5wSbO6!lgd+xD$y zyK5)FDuvIj>0dM@QKy59W)R4qhu~T=AKJ&hXDG^WkaJE1a-rxAPZ3sheQBL(W8F<( zGJ5Z&Y@+%S3PrVaOX=(@kY2@pmkUqf4-2#8ecBRVtxL#8#Rj|)`pO6%@126N(M4XK zF?-InzL5266Rxn5dmsG^8(PUl_NWIqRg_q;6I#i96GthdqWn#fom60J+}NkQ1VrhF zT<-(ob|6d-U1|M;@Bnod4?tdgG8m%_q^7@p!@OWSkM}s55j)qCk^tx`Ws3rSZazR% z0@a_ucxapYMDRj>5|iF{g2H1F34oso}E2U_lQCcmS)sCI6?AMDUuzJ5;Ocs>*G+RG`$_ z_dnHu%0g3!U;h@(*&Hupl?b$tLgN%%*})aMS|AgV(u+8msDf-wV?B-=^Yz+xR{i29gY- z7Wxw4WFK2$8?snv6>V`-5|9X&(>)=p`X9KrAIAl%wG*6u+sFJaoG&UYDujO-+7q^; z$#^;BskLtle|&gSo7(6!MD6)O@o$d^tE=&c6R!&$b4Hr^$;xq+rWP|lt!|YBfj)&i~aT?$@>R?QL114XgwHq^~iEhZn@$9O9mf~E#Y-Mc>^L^$@o>K`Zyq|0$j1Y8h{Voja^4z1K%wo@TtoWAd$gaFhlS#Bz^&5CrMwO0*?NH zk{zD!^322~0u6qB`hD=>9mL%KHBfYBSjb);&MR?4>s2w{6f?q=fv;)LYsNE|p#Awv zx>28h=_P2S2eC|kt-tek4T|sa_;s83smG;~EEry(hV`w(j`Qq#dTbV~+3n^`?B-!= zyf>)(`kynpI8>jWL7N#FuNS_buwGPqfwZsCaj5V$XDYx^_pCWo5G|Dyg$dM|Ou(2Z-)njCQ^q zWk>TSkYrN&+at||^{}6a60%OGoYvO*ZII$Tp_h4H)4E{3M5i$Wd6!>EVStT-Q5Yc7 z+DwfCazCxa?0{H3&^?kD+|5@iT#wxDh}M5;^~)Uy9-NAZrce8KYOAS1_TRl4+yuJ) z*`90j;*vIA4OdxDS|*#e{9qQpLXA~r{gJ3;@7Q{`Y#&P=1Y|!mh^F~8RV4~f1G|{J zE;R-I@_SgRG51uo1&0N z!8~%K!#n>xdh>3^A&9P7cQ}T4w?jIi`{8oaFxTq_d7f@^y(qR^zp8a2S4fwH+eWSU z^pfcin;r#;FX`)o(PF`R93l|9Kp8oIHfby?ih4V31*D@|)529}qnRG`tUMnomT@I# zfj2&49#0s|KvjWrdO z@A7RCKN`+YX24xfhOo}86CC!T$KlV=hH5hpSp)U`Bozns%q+a|;7uah-XXEw#e2f0 zeUMN0xg!EJ)A?)X1D$Fwiu}6MtNiPgtj|LtrT;DK#|jUWPfJVzKY7{S>1C(t}{5+t+5L z1~#BZY<*|}`OFDRUhh{?6%`z~n!Mv}txQ7Xa{J=q`(ZPY`b{P1sngm5m;tc`7Y4K! zSptdPsDT=d>Tlt+0PueXfr(pd`=*4lvgpwVP7vmqS`_w;4b-SdtXuR`;bO$kRAcw! zm~qtG@t)L8TC_3U3skoDRk}nib6uM>gJ0UClwtdt*MjU9&Lp9ecf_*NH3KTF^n|EF z6O}Zx7sBifEr)|0CNw!bgu?YLX(Iu@Y60@H)rX#b77THCzPirv&*35cyCQARv42{J z>(_U=^g3xKON_M}rhBAPK8vGk$T9aBfd+n3n!Q_?9t3&=k^!Ezi8tI?BX^q4stT6q zLhl$tNI+xs4Ac1EKo@NpgZIrxku8_N%e;m@pCin66p>!Go);A`66v{ir!ylDC3ns_ zF92gr5eq@csQ>sPa5iiF*=r`G6_SBa|5758rV(&i-898m$o;r@gM`NdchlNOLJawP zg;mQvU~-tp4soR)24x~4!BywWqAxiX^yy%|{LRPbKYEGNabNQOTT1RSKSQbf+y7Q1 z{+PgfC7{J&LpOSl)6c9-puv>fd#eM3hgMUC_aeCm<5et7--3)~)k4*Jnn)`LyeX=LFwPjori=W*cO!%Yc|^V2 zi-gs@&O_4u0E)d2wC&z1X&zzy(8rz2=r1r9N~lsoyr)!NmP@P|+`Dw%W=HJL0b_Ut z=PW2%_89h_)rOeuh1SqOcv}*VF>qy93zChuJ0YNRLIa`H<2!?>W~ia<+yyM_rS7Er zgw=c+syF#RxNVnu5q1?S3~DkLYV~!;G|RVa$kf>^R+_Dgs`Wb+TwGkZ>~r|t3oW~_ z-dVERcB=H_k{NUr81v-_EQaJ&dunu@6KTeb^;TW>3$0j7fI%BxeJz&Ie>M`S-VSNg z+x)teD-jCl_+A4nujk$Uo29hTgK_@31mwbb&*VDd_osQ-}d+-stWFEVgh`406#{?O38GV|Hp@CLoXfE z_G9rf^^hHB`agq@0nuOymC{n|_1bcb;MPLDHH!667kv_sy{p@vdTHwR2D+9&IpS62 zeVf?T389ysOAt!5w*i3wt_cV|+XpuQGN&=2@>WI=41{LCTjqL8Idqmzp%4s3kUv!~W(OJQgw~^<&5vUj zl5ikG5rP#Lq1XN_4PVWv`j`$;I!}Mr{DezKV>#-B9GO39(t6y}rk=noI@`eyMu zaBCJVuw^i|>Dx9_A=CZSHP zbnj!0g$gHdXNOM5DQkXYg2=(125}O#9Sh4F#R33!syieSDphfqpQoWTOz$_n(QgU( zAl5&{+{9P5oYITf@Xlb$ZMcb%vBv+hRod$NDy?s~MAD^JY4J#ze#&ho&}gD%;(TQF zu{uC4z-+TS9DI~dv>Qnpc#E(Fi9Kxww~9PqDN{VGdMZX`h&VG^cK?`rTAaSZ#D9-Nf^=LTf_QcyT~8+DSN_&YSvjtoFTnGkn@i$ zvFMgK{9XI(N_*CzE&bANgr#uq9Q6hO8g6DJLiT~2c5(U$=?*>ZMl%Mu>OWk=%R;gPTiot+~+_L!T{=;zDIEJ4WHF&Xr;YH9cF%y;!P0Aum1S9D) z=GQ|?VMy22R#)HxnZT zvQ*fd>z_&K6t|SZO7EGdrv#VHdmNL%iv6`(N6!Md(A#ubQLUI{BBc8lZh*;sKe@k8 zPp~>@ze7+~!yyG)(U?>~g4ur~-B%apu;*=UT29&*vab8;J%Vp6M5g;tUhx7%ww%mI zgCmnf-nP-a0kmJS@xVK2PvQ6%H%}ldCDFF7U8DQurRrP31Gf>>y7;;7r6BMp45r?a zgIho+cNttBoA`PGFW_{jp~i!KCvf9K3P(DM*=NtJIGDU>T zNe?$kouD*}zaDZf2c)&kxL1}5Z{ zFr(e7Xz-H?#VuYagxTtq^h6=I7JA7TT~&H(wo25`LTehnFoTDgSg=9am71K8*7;flFp zYig)H7h_qA`xC5shuJ>JWZS|=F%0;WY_Q!GT+OEvCqF+KiXc8A z^7P<=R5()Pf#hU_*esgUdLrC)2$8HSeAz&$_SFd1!_#>E>;q>jmW@V|h)GclCTV2z zo8I^JdQ}AB5SI^fJYnpg4K6wgW3!=MkqZ7;*zT}tZ4u-{4wnPaMPyzL1I>lcc}c3< zfpiGOUxeMK>uq&0qykHVjKUs#9;iO;A(nsw>E%Nj38!?wvz!kQ^0MFkdXXfb#S4FB zEwZSylbVua#g zT-sb87r*DKg*Ox>6l;HoUpy?XxXD?HG|XAZ<|I^E?3=gbv{<143ox89~XroIkO z4Y7QNpNPTXv_5i2p9%>OTUS(t*|kL(+};hFSbx?Gx~>Xni0i!UErFd_8Sje={nT zO;|5gf7M+?0nK|N75Gh2F(R-j%?|0-~J;N(Lh41Dbq3*Bhl~XHow=& zWtTp9jozqV=ve8wE;kH~R@dUsJymrH*aH!=0L^qkuMbls0JHCa5_X5I{J+o_@5|qh zK%@!lXRj*>7vQL6wUI0UcsVUKB}ng|v|iT3x%mmEh$xgUcfKO@DFJYMq@mz5?(~Lh zW1;Q-k=eNXmxIoUIC+o7L?Pu&h*82m)eQPR@)e+-80D}Vi|6uaabq@yu2ZW0^ZoA* z7R1gMnxZ_YhM&fJ{#l6JXO)3l{Wu|2GZNt-C>3W9AO0IE4wWL+P^1EP2+rl}gJj7p z(`WOs1^n#p56I|HG2a!W`e#2_O2@)ku$&4_6mSP-E%j5VYMU(|riwSswxd|)@*Ut? z5IwsdSTw1vI>njpHOOWLT?X#5L^(aOn_|Puub%R9GgvO=bt)n>xy$vxEAY3bk}cyr zY#%ZEuTgcMH&i6Xz9Mn|xh#R$g3}+Geib!9@b}(jWy6;^t}+ACThAKel|;V;ym3B= zt{Q%pyZPJ?NQA8h=QxMB+ z{|1VA(Eud3Q*Ifw>y@f80L4@K>;4s2n8cw1?ftUuvwzkEn(CfC&3blACK4XyCyzp zhJ*iI#dBl-Y@pU3 z=UFPY;M+S%QY--ywV#)WS950mhXpVyPfBY1aZ6>zA$HN|{q2^m1Yi*|-en7Vf96ur z{dzPs10u~VTh{YrIU6-I-TwT~Zr_s=$%ftj#jU;EQgOvxp9x6hN_o8mL2(~8GAeKb zMrC)0-au%rjhH|7*=7Tx=-kFYSjs*!lGbGxE{w*w*Hwqvs7X2!pCSMbsAsaN*JzE< zJGL2(y{dKk-!nXv(B7px=JtzihG0#d8~~htIiAc!!_AbIlDRl06I=Nda#d@w=<SD33pJu3&s6vQ6e4%+EjWg*q_dz>a^++vdl! zW{^`H-iMRJVmAn}`$CJ;(-r^GY)sP0xe#=?Z@)iLI}}Hp)yl*~3Nv8c=<&bEddt5k zn5FbD!OF$Dq zLvVz|EJ%tHQ&|(La^)yj=?Zg_)JIKUaN|5mc_KF*QLQ24f@g7>RN}WXr=+AT=N_(h z{x+v_xFAnIJIOjqj_CHOq^Q*S07GpipjY~O9#Fyih>AtV`|=ND1A)V^K`3m>r$(WZ z;T;|lDB4{h;#f=k^KRWit7Na(8z3oiNUV=dw}Q*CsBE0}@NsAL9HyN=4nonV-Ebg# za3}Q|l#ekyeLsG(8tjIf%n!X!Yuo&+&{|$Xm5b+@N31bsB2zV_clzo=Dw#bg#Tqr6 zg~(OwyS_*Dh|_ zo+eRGtNXTiIG2tp4eEj@*UO79C0om80!O{3**ITLR|F6R?VZ9XBqK2S zFq2C`v9AoH*WXcI_w?#gY4Eub6 zIEP2N=6gwJ8rCupB8PN2h9ZKkoq_gR`Ax!jSLMZLb}lALIqK|X(;u!+kt*BGkt^w^ zOH@)ZeT`|wJ{%k5Y8u0%Wa8R^eF!Iz8JKUFk z<9=RNGQgj-*yK!urj+~c0)eB~wze^Z$LnzG=Txm4Lz>X7=2DYmji3pr3!6_~S*KE}2w{H%22Va9>=U)DZ<>#aw!={g$G-u!iW_gjG5Jbh|%-tDBTyPu1H-eG|b zTC>V!w3H#Z_}+o*80FWv$F6L2|BaNay4Q)xFMRRY8<3frR8iBRuddPjS#aFs0Z)ux z{N8`V2Rz&#yqY)R{_9SsS#78{O?`xmi<1qK&tNxDAoTHJP(SNAg=X)h^F&@?+wE3# ztv6(@E8*%+0#QK#@m_}HgkJ?IWM8V|MiiKEN7{!_yA>JC24kf6TRIgyy&6Mlk2j(Q z9!*)F?GGvTGY)*3uW#C(Uz>*%d+dK9k0;aAZd;hh?xKVHCePWUp1W+4uLzPm)! z2hGr;(;? z26p&eu<+_KwG3Txb9JN)VxJVB*%!b2ZM$3LUqOxQpKLzxt9LHn6vb-(ME!YY$MwrL zre~_}td<{HO*6QG#zmkBCQx=oA~i}r`7&VIbToOlVrqBn#Y$*k(yJK2I8(Nc@ZG)7 zzEgdVSa<+Qttcbxs#Jlt&E|t?;r8bWW8Eiy_lMR~9Oz7lw1p0f&-6>2l47v(xuS9S z%ez2*M+xo&))W6zF1OyYs@b|RSg>;XxkUZz%NDFFfmSYF?aonQYPszf{#%A<8k zjWaZqk79q3lJK3EY*#@UN%&rk32`j^??NgpGT;>Pb;%Qh+*&EkS0{gWQgNh+s+}1V zgqYN@;ctT7Bg;`HHqXM4tJr=a%>NFts{B!`)iJ*FUc}IA!Wh3vk5mXQK_QKlX$U(P1Yg^pwE8CwYGNG`NpbdtX((8vvUV2(ly8E@^{| zvP_P7003>8R?oXHxDSH)uW)VzJ@9AZ$A8G)MY(N7uDa6B(d>-yjcdBUE_#zLr}WkR z$Xh}3klEo8_*GG}lUW1(ass)frm3-|XV{`QPeeDTX+=RbnlzND(*F{V{e^OEAO95X z2p4gcn=E#x_HIm0AbJA^oO1RLxK8ZMh=f8b3o;8FD_^+4ite zQ~42Ggd?CgoBr&0lv-xRAHMS&({j6!N?$h3KMiO(oe6W}REAFw&g5`q^p$%a*4{|! zG#H5JftGqwwHn2ZcBS+mg`2P3VXNQx6eP3GTMd1z67wEG_!`G^yPBv65C}rgJKap% zaUIZj*{5c}a)x=v)U`tB16Qpb72czHh494~sZ;JIO z7^zjn?ZvkwkIcF)dn|NiO^A4WVSU+oCN&JR%)D-WWQ)*3sHKx9Kv?O{H36KTfxf;6 z%sp|{o3qNJl<>yATJ~tFH*BT?v9H4d8rDfO?09aL`aW%p7jm@M-T@7RGh@Z0AGu9E z$K$~c61!mYQGo`LGH>88JevwCylG`+@tWJ=3fM_}Yf4Y6)|A=c0BSgA^fB&mXS0Wb z+E$g}D8DU1DX9HW66xBzz+zV^Y;yjj83Fru%GF#PIiR0|?NnhTzDr(!k)GHtsM(qD zF)!Bj$hE%=TPty1U2UrQdA6#|vq zs=4x)$s5jpr#ps7>5mSJ3`&`KCHLglbF<;jJlk0AF-@u4x#%ykdgz|iO}0=e^6_SK z20kS*ukY^(wt( z-2-p$4Q*nkd)RbkDSx#PFi#c_7nH6$*)-MnnUQ$fB~71~>5aC~m^``X_Wxm+(^kP3 z#lQQDwMRF=_F;J@CDNosnteI#yKdO4E;gH{DID@`u|Sl=lMz{C!Ot^bSUp&q$=p*A zQ+EJlUO1PJ2G)+X)T{{Xz8tF{v^>-I5JOfwX=Uu^`%Q=`z3=ceaN&G+STVcBvrzR| zG~x4STF>8ev+N4^8FE{jIlsMsu7k=`&-wVKleVIIXOoDil)ITdL}haP&J{&=lLi{~ zb&&rx{Ww^G)v0N60t7ClObSucS=8#FA@I)*}G>>jY{x{BNLYoTzcuqKtUlYb=?NjpJ3=i)! z6HYVpEBRBBQ951raNN2{#C5|vN5?R~`yRGC2RpkN*jspXF^W&_tR~#!jXA5)655f? z_dG&LCd)qq3Eu3do0pHzH`rYk);s^mPZJzNZWm2lcuE9R3cY&GC_d@k&FB45$GG4{ z&T&t548(gz9#tLq&;?+(Z>Xxa~5)0`tCtoa+O!KGwW;f2Kw|iGmb|f!@a4D}ea} zOEUe_$N>}ACrf$OE?)D-OOV1_Xa9+!<3(EnobmjO-d15@aE8QrJ2-zgvO@}_JwZ`8N%0;0zkZ8FG^%%?@?KWG?W%sq-5&~( zvIj*wL{nwmU@iCVuagKAK$hn{!x=u&Zg{_JBG<(7TKgTiuec7G_Sy z9c*%Q4kHr-Pj?}2WEvX$kE0SIICpo4&U`Sl@|6khZG=af2n(4O)s^Rih-rwE^V#+9>ouTJ2EAVv4ss6pLGU=nI4 z;94~tKWs^RxtjB(s(bBmQ)>9@qZWIL*1bW~@l>#^r>R1b-ulAz#b>p7U`Uq70IG^? z8-Y7YG}PBaIPJ8E;jUa^8lMaYsVmY;CiowWSXcHCiVf=hy@Y)?A;YQBJ>E=~wbA@K zg3kT@-mM0a0>rKn0cB0~W zU5q=)r8gxM7!c)~hT?QZdnakoRZ76l8L5+BTK)YqeqCGoPRGF=+K`4UX7EE`| zv`x&H$(#0|00L6w+#(05h5JsE7Ig3>CH)m1&Zj()pjKK7s^BVnJyNwY@B4Acqta5N zZGoWfO&Y$mmo$LDyBGPw&9FrE{P|JOT)B}!8E7YJ)abPOmAn!c$LF1Y`bD&%OBb>o z$uYW(OANV)I&L$$gcZL-tths(MqLqz{y0#&C4&l27kOQF%1G~mXHB=4zF7A#eEHWh zQPLr`7&{2Od6sW`fI?}Ix+?mUfUr4g5Lb~KisIAaj= zP>ZhBi;^<=sUL>bj7(fkmk(7C9aSnJL*mM{d|6ElJzv?nOB6I6Ye`=DE$dI*$0pu- zdo{AKi;0(^#a3_G#UE|a94y8yU`n8_I^NWu&aX#bsZ}(E@1{S$P`8`Io!ZS8{=cRtN9P_xSbK{$ZkPO2}Q290uK-WKoYCKH|X;M~Yeot*v}R&RX9 z|M94|2_JEvT=?_xyLwnq+VH{q)Tz zJ;6hA-u-7`BypI1(G+nsKgpJqS-V+uiCgTbIs%-YpJ6IzBiK?7Bh!-Td1NmEba9$wBt>-C%lzsrU_ShWenWd$;4e@*6M1dm`>R_lra3mT87J@JJGHv^Fqm29Df`&qu#PKUq)1MaX~Fe)l%sqrdE|Fal) z2U^A#ZW5LXI?pMCMu^taKf6$VvosS3>h>I)eD^{}s@S)?+m}uB?CwRkYou+A-Mm&H z!kg*-w@P6Mly(^)643SB`DRXtN{yZGf=J^~iyR{>VHb-$hNDVJpy`rNotbNPyIn$! z@g^oLJsR^p{}(cD2dm=n`N)Max?c zu8>m|jl*0Mv}-s+D!G-KhloNm$_V59=MEgw4eHu2vxQXWW}GoqW_9pQjEiwU$!6G! zUwo8?c_~`9*+tPyg;Yf1jrp(LI;4lgKJ9&lAx=00g1k69iQ@Flf0<12E>rY%HCv(gn-h0Ji`z)$004vM&H8=50 zh-jv2CZ`jAoh!}myP3`%$%=^`$>2UqwlVl^zPsaWW?HU`VKST64oG3^?my()sh?I& z#Gw*BI(s3?)C&Cz8sN|&f(p~Y9|5T-6Jsc7!E9XeATcT(Z(2>~kdO3?cp zdydftRBB&RcdT_Qf8n&@CRJkE4rL@+O~ zHS5yAE@PT|Lt5qqv{!gN-=l#+ypaLCRQ?-tZ$nz*iTExs1t`9=BP z8bxc99dNH%ZUM%Ry4kPS4~|yCMVqI^LJCbd01ZKE;UAwNyZ?Hq-*Le0c&$)?|| z(bu$_^_S^>mzmp?D+?P#d_@Y6#OC+Mpq~?7y^O)2WN`)KCm78gW%smD=FQyo$Ax<7 zdl|HrVi}6X)o+>nb!X1BIdOLnqZHA%AJp#FZTwl^Zx=rHd9xv@yn;C;tsfC2t)Fsu z%Z0`_XFzE$h4^imN8uig7UB}>Y=)lgl~5Q?mfOR$%(RqB%5cMUPSW>&&lFyxw@DsJ z5SHb)WgVFiBA#{N`r)xah2M(J36mPbP{?tKvEFR_Y1P3#su^5OqeD=c_N)d}_!CCL z)Pa4OKU)T_RL-Qp=`|?eTNj(%#i|QYrTkzPFgn$LDr{vZ+5(mu|7%A8Muo947b0dA z5g~*xtw}$Ismq}2wLTdau#1X?wI`2U`5)t)1eZsUreYvGhtOB$zB3N#crAH%K+wDu z#a`&SEco5MA17VdmHw!BOs5aB*5*A$9lkLf+A+gFhF z+0kDGZ=6??r_TU%iPh_=W}I|x#g|pL`JOU32=?h5-W7MdYR4zF-hp;4DYLhAbdvizmeRh>N_lSZuuk7B_VKm$c*V}#s5Rx(H9KhskUqcvWDVL-8!4|d zBcQAD^zq+nCJX<-f6#^s_|4SyvQv!*pgD%cJ40?ApG$r6ID>v0hZvnZd;&_^-9M71 z6|9{gS1NoWIeqdHZv$fW9-Mxcp{Pe748V+kLT?ryHn$X<*ta*b2EJlE9X` zO@?H?tTB@{c5_#ged?Io$)}sa=fWY;V>5#=?J`Z|5<#c_!Db$+fT#8JXY|0sIxr)t zhr(~6Ad@F%+W92*<8zKKIvr5)QWB?2A18JxBJzonF1u;zf&+XDgy{%bky=c|$*-l| zK@H`Kw2nF}FTNTdo+!GoZjR*B^vTeYFXa;2R$Kl&*0n@8D?~4StK>QCqrbnLv15GJ zyDJ?KeNHJNpUQtvB{-Vcm`OaeJj&HrwLf9=-y%)~xZltz3FbJhH4 zvi`93uo$P$V338zpL_?9ed+c37D9WnzO)Orb(xZr++IPc)Bj4ItV{qC;=!-yAJkDc zZPI}F5Agn`+;R*BZh*ocZq*+Xu`lF7iuHdzpcRtvyI)H>5?$FxAbCs~soud>gCQG( z$p!PI@p#!{s%d?wZ#1*WAhmj`C3aF@;JLyOxr1KR?4C-o%l#58?UdYIOm#R@{e1M~~jfNu3|J zzvMPu6_b=~3}L`)nCnuZ<(`Q!RD3($+Xz$A^yPo?jSQ#R4N?24vL^fqJISwVnGhcq z!y<_nb(K-N99!fZDING0^82{!yK)GMSso$tHcj03N~v3)E9zVaw1zOy^vA=o=b9J< zbqk{3Cnu{b*Z!-zakPkm*mK3TT~TzMv51r=w}GMCxapEC`sIxh6?P#NXeCVS+KR4c zrg8a$L#|QC6Kw%zgbdixZNQkq8#+%VvAh>aW7DW8)R1)m+^n83m z@l_JCQs%^C%6L{&k&;3vV;u3tGF^QKVjr7mhs45mDHL zs!4BJ>06;c>!iVH`q^yLj_rgPuaXS>ELt(Sucz{b-|Y_%C9}_>{9bl$uR`@o7j03$ zDEV#v4J~ ztFNVt?e*}EAa;L-mrA(qL}3}>TbckbSVR0Ryg&74i>x1@PG`FNAoQtQA}#~^_jG|e z5RvZmynlGNsz#kLU*7xhleUIPo&Be*M?CV@_itPU*MAF2bd3W!0D{=T9kd`4(8AV^ zK?g@}2_BHm&QA^h!}3!470PY?=Ro?f+ToFrB>U=id0e0OUMddFHF_0|cHU(hPfYB+ zO|cqeSpz2o2&P0hpA(0tD&vMmT8m?DB4I68xw`HR*M`YdL|$&=_mS^x7+*}|2rw|;JaYvAW@3qw*l4ql(g69@ZYz=shM)|qK2La zXiz{f<^)OsNt5YE+2aci#(9zB|I+68^zzpJt(x#mIE@hS{o&wJ0XO^DUhN_t`{I%N zA0 zZ|nn4#Kr+Hcz@;MvG41S;*hiTGIkK^x# zY=(zXSb{F+2=t=zC?D~0)1wC{EH!r1g$dEPi3U9Iio>}swZqgigkgI`eFJieP*DB& z9AsJ!yprI4+4Uh4@As=M`J`utq+8j4nFsuM8z~ZT%vX78^ewYe=bNwWODkwwlhdO22;{U*lop4+Fp9t&3*WT`hXJ3&z1hNfS)_B$W@fCJ40IA zVsyw$Louh>qh*Kniiw9kPT$p~i+vfLoegDezxdm43n7kws?}V}yv$6%9tTvOv4I`3 zvZ`otTpUTYu~C<^OBiT(k#&w*^`0Okm{L3PJKRnRy4eXcv(JuEUohf?Kq@mGzG%T_X5w2{4& zBorjsjG_}Oiw-`CB~p|Fn%{1?I>S!zv#qJ0mq=}1nn7lVva+B16GPcJ4 z_O%qfay^BBLqu_%WmnDNm)_}{+XpyF8~=3!+sX|$QMlpR<95(~!+3%xsxpr8%Z}*9 zdg7oOS{PnJEQO&*Kh{aJdzkCu>w(L*d8uC876*cUetqIUWMgi^Y)5^n6r4RNKi$%} zP!H?HDaLT;S!6#XN>;a70rLyVgvlRr7fbM-&Y zTWc{=_2P&SH6oNYtC!D5V5(jYNW;p*ZA>dksP}|#>XNlfM_?H_mwGfrga$JF-EZg^ zE)uE2pN)R> zW+UH*wMwb2dOsAek24IXCTP0rO^DhZ@jIvs;WP0{b@$0T;@}n6m*H-7<2?9I`i1!RhU6G5nFze{IBZQcX7mZ(U1|wFl)65V_U=U&*sTMwC-q7 zlQk;tng1a@5HrGNA)kgn*C#hHB93?Tb&VtV1WEueubrRb4YFpqESAoij!Z#N{9?W|Z?V{nT7#+PcKSZOE$KR4RPBl5@CK1LYlN8yn}wATnbl$DxdVAp z*|E9L6yvA%4Bt`n&{>YR+Z$>vjZTHTOFt{{%Nf2$G((`RFD0|SV?3IjTtGmvw_RY& zo~a4T4~I&n(D<1{$HSe;!?ShwPjrhf>J{$pOw1;NH3CD|@F=f&$05Yla4}BH;tpWC zEg+fOcjG@u9$3y0z^n;oI2b+}C`kJO@%J0;lnR5}kyvA!Q9Tj_-Gj1G8^O%nd~6cR zmhR!7h~8#>(=^+LT+et~Sh)~R(r2f2PC4JTdBHvb?3Fjpj=aR;F8;$g-5U^$h$qP3 zRc|w}138Q02?Z$-1mt;;)B>UbZRy`gYuag*caCYC(cLB~U3${PLELzz8l@FyRynj( zoVniVlf{-F*2-!ZY~@i+pPTG6NyI+OR7j{hRxa4x3XzABtZ_o8od zriGWPJByY|4=-LEtz@pTQN=c`1&Mq)f^RqT-ulD}U69)r&-{(Kt82z^ARckfRMNX1 z5wq&)IqiIbuPmp#Sq@0c+7D!Rx+n#j(MuRVv@|Fz)t)X-y6h%k2-G(SulT)i6wug; zZ`eilU)$pYPL`UDri7|e$glM2!|~tQORjuFk^+3;3J(c~SWC>}K+g+QZY}f;s0NsL zy-s0aWLGOS|F|Ht|9w>Ah|ixOFqnp-up?Dk_zldvl@YXGA~=Wh*u7${i>^>KBhiWq z-i_d7D#qd>{_)Pjw$VcY>BSd;G;|NO|GeA|?7p*6w#pmsWb)@;LeZ@#6`?~W;GZQ% z!1!>;a_OnRgr#A|U;V48+aT<$y}0&c6Gmw4=d@QgJ}TBBeS~Z3=8L^*Y38B5ZC@!F zXT6LM)7Bg4v6>ajBjZ5lv|sQw4EG^^9~d#vOt@Q@ z1|7sA+oEYVkSp;y+Q$Fi2m48lK<)N3Sqri8=nz9`{xxh95qr$GFingg#6-oa=Laoj zBdnDaDT9aEP5^XvWzn5&AgN(24`flR!MeDVfOi0ADlA7g+}Po&r|p^7V-j!10Iz?Y zR}ekVpX1Q;!+85^5unLQ{S}v(n4%L6tZfWH9|ae$`@Zmlwv&BG@Y5G(u=st*8z!KD zymH9d3xR#zW54ZR3;N%H2eEGiG!M|Wt|jDU-A2As`K0F076lT?2>xf9D*dkl#Jp!J zV@OAkWfok&A)(+m9;fvY62Q5fA0zV8t7wIWufc!x0C~w>xnG9atiQJXWqUDD>r6&+ znK#f55=MN$t2TWC1Oix4{|D-S*bhcT=RyC zTs@<5nfDcL@`cyDynysEs&Rc7xy5a%UcUH+TxrJNw*J4bnKICc1l(vQ zPa$!5(QmQc|4>{;HyBNR&q2^5zpZ+6J3TH|n2(2r?(!j$ZLMsP1$G)hgfTE8u~pfr zJUor4QU)tB*MrUSp8alA@V%#oO!FyopFQH*ETqb>CqMN9)ODmgqizfVfkk zqa9noa*FJG)#5<@WRzR77Hew830^rhw5hLYl1E9#gM}tV>b7OtWtCjTbB;@NVy*#^ zTb@bvxuY}v_7b6IF!p5bs&J^q(MpvdDv>_>fE49rv_0_lBHYkc2Lz=4(}M0$VD41p zs(VUqlX}T6>+>LgW~s{59p_j09T}Wl>EnJwmW}A=QWWu5$=`{tDbtr64%O;HM?*&+?!tYH5cC*lg<7I!GhIw1Yz{ zI7te0)+nB98%2n`;3PqgX+n8=M8)+y!atjQcXtuBwctx9A+~Yt`{)(14=GzN{Plo~ zIN)1j%UwdLq42QogjRFn^FEBRq?o-gJXq4#!SxuZkL)jb(JaI$Y@bZW@H3fJ6A_ic;4p zOx=QwQ=$KTsx`DyY;6~r`mQ15cmjXBiWLl&#>m&X(TDmSt+?V`#gRwC|Y-tQK_ zuZ_O@$Q5(wHDj01@VRbIaKC<_c&?drcH_b4D07vli9*wjH+qT?IV%G+>p> z+d%WXnkKiMEREu?f`05OXMgcNp>$Yg9Po!1oH0^e%C$YaV-2A~fe&w=oUO0JQyW(@ z8QsjyZvX#J4?zI`iGQ2ZGu-B(P+G#Ja&296m0+?iZ0Dqp;Y>{4KKEy+ebV^vl*&%S z1q{hj?QvVCUJBAYzUf}wwzK(@>3_#twEJ~BV}P}P_DkOtTRx@Sy5_)~Vq|2Y+`|2I zckKBb$>90J64o*ffp^~JEM-vDN13JdT4PHxh_j9X=x#bM-6{I3pu!7S#vp$0zHLK1{XDAQH4@&IFRZ?%Z~eIcMq4}1L1}yn_m|V!ZfSu&G>@pRk$H?cK?6SFF9Ig zipo%MYNbS|k7Gjhf&)`&+KG>GV2_MCHs@)#5Ru_-rY?jJ};H z7_XAr1`x#txbj@o$lM(q0`^+Lvmku!oO#danRR$2#vsdnJ4n(^c0F+`@JTZQ9T)XgQQ%DSCH6&@)T6OA(~tmA zqZc9>h5hT7#V;mCIyP z74E?WT>4aM;+h8MKEC^?tn4owQ%BT38cVA2S74(38RHH^nxsW2^tOOW2 z7&wsa|5ppPVx@IjHxykksfW?kpV&A!h$L&cL=2IghmX0&$S2OGtIu-Uw%m*}?$<=U zrHh?Ce#PX@(xgPf8c%0-Z|zad{n2Pr@a6QxdcA;BM|Oj}73T`0LEa}dqU9}p{%W== za-A=YinDo#`r2ioO8&>wMCVM(C?P${(O>1dFIBMdAy1B-HJcJ*K-eZ&H%b5>Pi3^8 zIgel(P78Z-z<1KMWioRpg@HYXGddcS@B=3Z<@btoaKlbh?#XOm2Sj`)YIVqYaXP>I zUm6aL2;jqiC*(1pWi|#?=z)=l!Q+qI+v*i#jt&+Q=h57qtv-B=hvlAdB*a5asD46- zuI{87ANf^YS>Gq;0@2Tae!1!caZvppN$NkWjsK-(IGW3_F=a?DXv)<{$-1b{u30qi zx-ar0|1+V?(2wq?&2fui^3do>B*A2*0ZNVp9h>1YV~)0R&SBY7j0&Ahrk7BDMg@R; z!RVJJ_xNjtSN=vVdSQ}M3LlPoa{%!J9TpRP6ytfdI7h`UipX>&AFGrVafkB4lLaH% zd#+qc(+92Kt2GG$-G(=YXh#K)s7g{cw+LG%ln2u&_N`Wi?=tqqPsu8}qLvHtAN}M} z@8M+FbA~ltL)HHQRZ7u3S}h8})~)u=`12i9cti@74^G?%19YLaDE8HUqMi*L`rnAg z1yoJDjoGwV7!-vmFMDwsij>pU_q+|@ECjHbDu&{rzN%Ia(W_f_hYb_#Tst%M#x0jq z=yPnKo-juWZ(l&yTwagcG!~(E{U3bycizbpX6Qu5ZQ7rI`>T+=7=H}EN?nBgl~A9i z^n@zf%h_T(JiOn5DCHSMJewA8wq0`xXyOxCuw~PmPc>?zd{b!NZgPrf$Mz@7L#2VY zC4xzrzzPN{{hz<*B?mghuZbJ)_m8n2d5gAprh5~U`utkz?-pK=|Ttw(GEOb-cigS()@6YJA2JIC=lowrmKJfF8e7AJ462SFjW zgM1)h|EK9F6yehU?}xy{JD9U4WMcH6ICj(BGZEahp#W%3e1qy$E6Gol3yib56RnH? zbV0Ow;&OefZJGP)OU-V1Gq+crwTCWfIN6`UOk6jluKiRnB!TZA|HJ~Ew#O!z{=p{z zzjFdh`LY*+Js~B$?|;dQBJh+>=S#{#0#Xwjc&L=DMMvs3`Hp9rE(}pa#T5AqVG6yy zIHMt!LcQf`dJfL!ZOIwA#qf(Sx4WO(lGrJjK|9zi>ES58v67JG8H zcF!;MIy=2G{jwM<6R2ZqWv`48G=C*q@4C0PT^wj>V0*obQ50y)b?$&#jPjc}mR(8A zR6pOrcCqbK>WEQ?o_5vq91mpzTS%x|QQ`9uNq%SDS0BD+Auqsl6Ee6&jx21V?P|9^ zvooWVp!}{;5+o@FW~;TS!F~3r1G`*>h>~`mBW$@j+H>I}@U~P>rd*SQQ*TK!n(rPG zEw5EX)o81pm~otm8vA>FzNkRCC1}$G53~t{Jote9yUTEn$?1XlziwALpZ>2(Mx9Nt zr^yAdNeXmdKngb}FK~Na4F9gLZ@Nn@<6ouQg5cCY#$WwrbnMdk!5u?b>o3GU${%nn z%}E7lbvUqk-)$xqRZd&HIvS4_8j=Gtp00Q7OTDt4sY#4Ebi^wWLUNl zV|5ruL#0)&v=0^ZG1whHTp5t1WAeIcH_lyL_PK3`a=xDF+XtT-$v~lA8Jb!4slk(b zk}Df}A>$c(*{64X9qq3>(ohV{KVW}(SJ8&yj$iaA6yQw!$Xu1A5m&)J5Bt_U6M8zU z?xAR5FP{{;xml&&tK)Vn+aaUgCNfEnhf#XGK$_m3u)>h1!t*1pevI=M z;iw-w(g*Dk=A=Q3u25YZc=z#o&Nl<&M~7xVL|;ddyiIC$4bl6nfI}$tL7eCd?HzB^ z`!ihVZ~*(V;!T_<|H$L%ixok?@=9aW&F`P!jtS*MRjKtU#dy+n5j>BVREy{6Lq5CP zM7&3h+l8ONQL0*;=Z|$dY9J?jvJSwm!Dd{2r@?n8x9@`&C+mW>zw}nhG3Bv?Ne+Gi ze|Cpl!a*_Qdks0}!_6x7NQ?ip$1qa{Bp>hg#x;-?-nKp!h2I}&GKe?zo_CwDzh8z3 zuR%2-DEap=Xq!d_i7@nx`vY8TW!u?o0#Z4SZWo;MHt_-=Jy))qKHr6g zt@vb7PABMB_EoKa*KqQ>MO~bSX;k=#*skS8@pmb##*D0f_al;2tzKjj`>@!|n|n8} z(s`7rPn!FA+3ydp-F|)03&vesY*l;mI}*0!?}M`qGawxYYc1*!|c6g zI(g`6&xIt<+j(~$5X+~)YkaRAAWfey= zVDJ!0&alTos_b@m{s8tQ&keCUF-YtlTfe*Q?#8DMqpm*|dsHsD21p^-%Q;DCmnPem z2b)MTJfzi=!a|mzc;rnt@tIY!a|_o(L47A)OSxL9?9Pw|^|+rOdbL&ZjpVGCD~6TjgowUR~p(ze#R?P z*mUDBSf?#h1|UrNH#AEk0|a^SrLz{<3cBnh-%#Mt`@j!T`QBJ>KIKfHSEzRAAIo8< z$p~7O*r!=?*+t#wJ9Sn6*kJQ?C4N)GzlZYX~CZl%$s^TZmD&Z0jC<@~bmRjSsrT9v6@=G`GI&yZ#`6TZZ8tal2Zig`WE@3Hc> zzwPX{hYkTjN})kxWrJi05kCXV%qYvZ?JcuyVn|PP8lKdN>b*)1fY;b{=?@&>wq27R zS~XxOnmubAaoyZJpfJ-T>3w;SST3q$qUB^rT7zXRFwqBpJM!6bVq-#D2We^jhZ8cH z0!8KP(w}J@x1NiRboqE!OSywmHOXJNNBPR+ZiT{JoO_S^m53ZxaWTbJ%0?X6^M6v1 z$H7Bt62X|%w)tfEkRF^-tCPE)wZ_t~kk;(pq#4qvn8f!}mhVHppQLB3BMl;_EfLpx zaHD~Mxq?&xYABhe@<6tEu^c9ok>eiDk8-1sBrA(%u9DdI!a?tsrCeYR0wQ?J0QqbM zi}{};jum1>>+c2QU3LD$TxA%?DQ-M^c)yJwJdly9*s(ro2a?JBz|T4M!q`=lez{Te zg?wBy46SEtC+>w*SxWp8HJ3CXR9GKaoHubHge`S@wq@*2t>W^`cK7DChqtW3vC#9L3#Hpr z7<7>RMQW>VBG-z4(YTG3W;d!7kkSh$LGXGD&!zDg1e7yfaAhvX=s|?HgZ;k|2R5Ea zbfB6GtlTJ^{JG1}slJ?f+bIvbWm-}hKemwZ_naNUGX->_&{8&jS(cMSQtW=QRVE8P zL!;N=AfT|fK6M>Nb(*nTs;ZNW?wzJJ5 zj<{TZ%wj8WIZfF^Ygo7K)9*(3)abL_n0-E`105VerYN+E{q824sXs+vnfi5zhw_kM z+JGiAtmLB-N>l_)6pdkvI5h|Iq5^xrWLJd3>%uj!aj~ zL^fz0htw)}WT!JN^VWGh&X70${?pb*H55i%^9fE?zbJO3uy8brF=S3wzg&Lp*&wV@ zd{JyZyn~tuN#vYp`Lpo7g}+<_{rEvouz;JW9-xT>F?m7VJ6MS-WuD{3UkDWphFUxx zSeVF;-TyU}G|QEIXy}OyBHgg@z$r-E_!(a9R!@C4aQT^iWE_hf_sr) zIR3=gD`2Se<6}_C33w-{oEz>b>AH`8`$TUj<-HffcToz#lcb^Ad1GoC=2e(A`k;Mo z)#v$dn2afa2113u*IZJgvVo<>s3}~4l^z;X{Mqvs(|uDeRu0A-+8KY=!>0l)Tr0SV z=FUy69wgHdbiC=pq4DqJUKeU-_F@s9wm~fi zJ+xAls~s>{REaO<$TdaiBn#wzP8;168lt{cR<8lgW~NMd!2EXOGU1 zL~Ed_SG_yXV6=SjbeR>8IW7!NGCe=QM?icmlZ*Ta3UInzl>av18o@SId zfD92-8F1lJZO{ud-?XgA4|l@$u@ZD>a9S(?)IP)F;YN%yO~hZZEHZ>yUm3&J-3(|E zC*mpOI>m^|D~ol6^_#ytO{+GWEI0L_EQMXDcf!YGs;e(U&gMyz+*#J7z-x8#=l)&W z)Or87JfR`d^Tq|9@RHGwEemH-;%U@ze=)82G&CMuSAI#DTR+Y>>~X0TQOG=zW0gqY z0OkM3)mz3j`M=@c5)uMZBF#wY?vQ~;mU56|Fk1--NA;s9zi(U=Fp!S%#3dmLAX7MjzFY|^Nvd`?-&Jdmq zw$`vW4QebO{>ch&1&ZkE_0gay9S4k!|0bL;z3Fc(n7DCw?b%VRBh&c1Li_M>1q<6w zfB+~J1xE5L#y=f@1N2g#X$iETf*1O-LH##O!JN<`ZVoN2gVK_*>3h)8?+$gQr`rD= zoyn~OS6MNIHa{cxHHQ62xlu&P?ThLmJ(mKRb_|Z=3(4d8kc2# zc;X3N2#%QhYWWy1iu4{~pIy&=_!1Hqs6Xv!%LZ2@sT+08b zcC53Syj8Aoh{LyRu$yFIKykTdD^s%)&r^UG%yqinmjJ8WI931~-v3qKCb%E`M5vyE zRwui>{R>mBpNK@5ScX9Fuf^j!-(q@kpw7PZlWSURl+2Ru;*|FjlF;`5GYp zx1OVhNdu8hdG8yCbb`M%*)|W_2Dz3vqZalN&j8pARk?V^yB@PL#TL!D50!LcJ&ii_ zO+pFQBwkywLB1hj@|K?$I@|Ffr#^otqT|;SvEK@+?rk%EG(phvT6f?2LzBn12aBuoEAaj6euusF zmwc?kGYA^ppp~Xn*a{za zC0u)P!O6oY1iv4^C|r80_&M{lA`;aj4LfEuy*Nt8{rjC0OCvq^YuylAaGy+}qy3d5 zS{Uefd&b5et0jJa1_2_J()2M1lbD3S4zn7>d>v%Mbie!zUFMO6wHBQxFKeF7d%O@y z3Pm;(EWO}9DzZKvdYViuwx*0l(SOeCi$UaL*uRIDCr{!&yZ3nX<^1soMe9rZbk%;> z`qfBX;XaJW)V|(EQ+A_az2#Kad?t}E*HGpJ3ddgeiOp8#D}S%hDW)Hk+4vz^f(kW> zT(A#x+G2#__o*)nzB^QhnbW$x`0&VGsBZahyH4!!WKdWs!yCzIDnS=|#`DJ{IN}2B zOUb*QkvG5YAQDYcI_1IKu`N#^TIs*JD!JGQHSL$XA1GXnf`N{ccXUGH6-Y@mf#XAx zcz^$-|HN1SS7=X9r^vInql8F4b;p)tHd%kQG!xi$Au5Was>=L=?dSidLfPJ9&SG(5 zjfTG;i>46@yHru+FE&Yp4l@7dZJ-_dKZS3ChyfG2p6&S02VQyS1aNJT5tB7P==9Iv z!UbILB>lsKm?42Xt9%yY-uBLx#dypB5VacfUax8i3$`uzZbE__{(9^eK z_TGEkMLG;`0_1HzV+JhArU=O@SaqA*U>`A09-w$RgM-otvE2hyzO>);_a^&q17Rjh zM&pNc(2Fq)F2gsY@x>r9=sF()dI>)17^p^;mRwkif316@6|A8?Mp-xifBTanj)cdj zDmr*^kFE3*g~RAIW5n)BPpm|VaU*-FBi_dXswe!W82X$9hNiYJDz;Ue2|?Tcfx9&B z6!X-)2s-hiFrQ;9^IHKAz<6&Sz4&Ivr~VuWgJ5fGOQ$DI_>7l0wRj)mVBrz=kV_D)fHHlPrL_b@`u-8F=0Ry24DkEUw{yf6t0uR>{DnAucm@tNo9q~HC^=q zLjLT|AS8L5D~(vrpp8|-kRM#H)vzBc$YQx~#;gA&7POcf{_R|v=r3KPT4U0}nl^pT zz3fQ27>WboTzXK0DT6SD{Om<~#pf)F|GX63EL9npzB)?OHf=Ik&vSD|A- zq4OJ&eOF1O>%xdF1|%jMNo93E_>dTQ$GtK5C?&l*UK>wR!vOE_blD4AxgJS7j)b#O zTb@PR<*fa|p4#XaJh~%XJVCnoRlH7LhcCYnSx{WH9MfGqG<=k!=)AdiEFocdOgbYj z0M%XBGHi_qdTT;hVx_&uE)0E0(KIzES51Hz@39~M8(#f?2JTqV|635D{`HhuTCPPe zw|(=mM%2>btRh-5L*?f&9^;E|P5Vdg9_blGjGHc)&-!Bf-p>BQx; z_(y|A`jJ^of)-)AzT;0tpyw~0+pkvMCt7vMzm{`%?@3v_ay+c$BPv}&4dK5E*Xn6+ zy;~=Y`<@bC?l|)M+`6t@;&~J=#iyl-u*}){%#uDYgfQiFh7sAu80*jq9Zv)s_Atu({50v0bhP^q?r`26!MG5P@2^sjs0wPAiVupr7RYk=Qb) zjf$C4lRf^UTP$(Z+df-mWHw@T`5vyiX{2&&@j@Hz_+&_Vpvr=jhDKzbj^>XJyF=aI zpxM{}FldJ|Q=oNwqr8$Xw_ySy3fIFisE?bv1zIy&s7@k3Q#;Ml=4mo%*K}Ym7(DwL zu1?E*Eb13oWzfZa0D4sy-;t4RuxB|LAP>kS<~!SXL~i;a=lkAJ4J{Q+vSNEcXT zGGTuW$*9w3IQQa{EJ7a2hY(}5cy$}VR&12~ zQOxpf274_)H`_c8`mf(2GZ|vET9i!#e1cv}es3~k3k&#kj{WA)68x(<9)6M!--pNn z^0O{3GkOP~I$!>kaDzLWo$d$G%qzRDYakY$C3?fS#d=wQaKh(Lp2Ll|PhgaYiT3t< zvttLQ)ys7MR0ws;9FtY( zw778&yW?m!I5b#F{bw(5H3vltd@;&~<9W$mz8oQ9E?i$+D_U^3P5=X!_903~K5HIW zTZ}=lt!v_X-}Y1Yz3+LDaltdrCla`mZ-ae73YOuWrc!3aVAStz?yNMsA)*O(=gq2# zz7lP3g~s4lZ%JQ(h?XBaS}JXgQz}bg-Iw+%uMkp!t>?CmMGi0{1A0oT5|@2%oGkyU zq~^Q?2&Utr_@o8FThJ04frF1kfw1aOb#F1 z!7YT?g>Cy2(lg%7kFnKJg`gi#z_PC&nP!<1?f_%3Rxc=5AY$gJfV6;a<9{?sOL`en zG>=;nOHNXZowYrX`cOeD(I6yQ3F(@N^BE&WCN~OaT@}F7AEHTpG1cBA6k%~~LxVp| z*er`)w2aGeoVUo(^u@G9HpiX9gfqZ`))V_Qd+8a0@HIo16M_)PD2fz+98-qvj$Wco zx4roSp@FA!e-B8yGUg%$Nt6okJDV_?nEM>qlp9ua^{EB=d_2$zn3Zm^C7?u4(c(G8 zqWR&A@pX$l92u}9666!V7zjEn+!ff&c}21ohA7Afsahf3CxE<&!IMnlOL*j=+1Ub~ z0WAsQ=>PHdNrHn>`NtMK1@^2LB`Zzjmihf=3p)3@;MitTA@RtOB5!D#pdBN;w>Fev z+m=X9_w}I7EBv2529MSSn?3y$xj8tFqvS5xQq3y&83=7LGHF~pY?GWf0TJ4pKr^T8 zXOB|ELAfss)Sq+<(X&g8H1*N+NRc#8{xy-ow-4d;^NS1-iJF30ccN}BrjD=_{eGUs zgG1O?kPU<7cL0GUp9VT&hMi!S7Ze$+Tbacf!(dT-s^8UWY55oexWQfzC-qu>x1GMx zul}2HYXHejcu{N6jeoL6$H`q+HZno!K}0PdV+0_odlx2rK&oURq{ZH(U^PjIM}O^y zSe2Yl3t4DZ^waL0BdS~bi9WC7*!Li5)bAX1D*VD=ZnuKAwQbabQN}bkw-;la$C+HF zcgxM^YTt}2q`+psnCJHybn>8(E{35(rCgmTL@CQ6fCP*5I;2u`{tt}z(Evv*=N$f{qZW#Ei3L4YivSRX zzotP|=eVflJ9nSl*dWh*wd~p71Xe4 zCnDk@06>0krTAn2BtL__5LpQt$Xx&oY()uK>Y873$aR&u?TCn|Fj!J z)2|xDmJvn!5tVHG=9N0b1b@B4uV@#yCBVYmvE$r&Hh0R(s}A# z{0eu`q( z#EUu%V2*OXevy^WKD^Hf-j!qaYv`A?PiGV$AL+AbAw0&w|SzaMY|jb`3!WT4Y*3D{}5Meu-f% zBvxPk=us{%y#@X_Sx({Mb*?4KoTxJ#_J zHXv7DKY@>3rzBakKwm46yfx7E1xb~<@A!U)tWXk3ua(6u#h*fl{!7wsN*!-6q~ULq z94_j;j4aAhcF*U%2-_MyS%+`rj<=CbMvp_u2cMe4p#V$f^dQ7wDk!&G3D~1>U0W^b z-|0tN_MtCof0W zTa(UX%5l9vvEY`$Yi@S87)IOJ7Dp{Q@^~9EAX_C>C=uvmR-wa=VNcCiXZM#1wSAKr z@N~QI-9Le@bYz$n+(h7BSA-v8iXHNDHagPKO`WJJH}f!-(tYwXaL=ysVA%zj0L-L! zMgOZTng?z;!VPrI>Bd(ikKAQ(z78&&nR;%%qj4p|kBpJoqMa$%BfAyi6#`Wp_rSyX&^O61IbCy-bQdiOKb)&lWmPR}!xfmmv^mf0W;#}-Q|F9!G4 zt*u^7KW|FyCFbzK**CUc3D+PKsIJDR@L#v>e_n8cSia7Hpk5TVZWs1wZL4w1Ye%Ps zW^`@sZ|O$bZjY~bZgRT&UIV#aKhV2G@9sBho!zw=6HX394*vPSg?>@-8k#`nPqO_65Cigk=H^Mx;;&du7Y z@H;56Iz!=xG)GRxExCB@@CVqV_kA%;S@6iBSgwfr2cty;N!81qFOz`Lh%9flR(}Yu zEz|2n#1m^JNIIb5igd<^BX1?d@Tf97hC6X(?_l)&>`L@AX8;Y>9@^mVE7o}sd2$GG zec}}i9=Mc~0usT|n@74j-{CbjlFIcE@nLF(1TR4IHEY%D50EV-$ouVy`5Q?2khv~q z8D=FllI|HUwD^ptmpU#Mn0A5Yy{Mj7q(*r*>}oyTs_mu=s01U0dk2SM7VoE@6B%|| z#RcW!4>r*&|7BO|VB02~0}Pbg{2ce!t=-<^mj+dbC0(BHN=nMj$$nK2JT2U|J<2Vf zCdND@pjT-Q@X1^m0F6SuCBjlR8^16J5B$2k?;gF^&TFPg5g$i&OZOUsSN-lAj8NwZ zXzhe_+BS&e$lUVWoW($skIA6FwUSk#?$36;s%h8N2&da#)+a03J`_wg&vV}J3VuBS z8#TRp;BaZX_!(m}@SUs%zSM|W7#pv|s9T|vzV|mr6_qD}3M+U$-C(O~zx;Yy2j9V| zk@#UFjBsbsI$_S|eVx(mQF2ZW9%u5(zV$fj!xO4>tkmMkg$79r)8(Q}9i)ba0Wtu)?=z5ZQTS^oxSfvMGIe#Ze*|UDs^Oh20L@S>nY!dl!fzCMq5=`aIG|b zktaC2ELoW98*$PuN{v;i`%{iHw8xlq1Q6Qi1KAC;F0VXJeB!`C{+tJ;L+ap;z5U+* z`yN`b(P`V|Ldo*9uyingb&C&q;ys#sC6woaz9t~N9sYnrM?esgNZn9PC7T}= z5GF2tW^N`K61}QDA6UkOf2n@k29BCHTe15h(#MZ#3#oz-18q27#AK-;%|Ad$BkK^w zQP{<$=d;*P_7%ORc0a<%HR{s;L`{?b2%Aelb}k&>IoqJ+3p*sd$lPzn8_8uo7X6kR zwEdZ)ZRz8|!(b}7ixQCUiP-q#c)#fzoes=~@Iod)4kNYp_E3WtV!6&|aBIaep#Mu| zgQ<%+3(wkBBvtQG(&F<3RMbn-}Yfcd2vUIjg)0+JKZ!&16bwUy$ z@PUsD)C9Q^O<9#Z_!0JBVnce@-FHX(i_KF5G4$3ox0n?#7%fel5IuSJzkjG0C1NIt z7aEq!4>e|8M#U+rsXvJ6+#`G9qo1{&)B|gAqe-T!5nnZ3YJ3lEhMbFkV&~+kEHPBI z4`F7K9=n99o%1o|VlME6kM?uNhf3aPi~*+dyDy&&ml-XwmKY|h(Om6$aMci%C&C-= zs_0uy7vEL5UD517=s0nXFhTVrU0YRPuBMhc0w(ZP5nU}``ZI_q0SNBH*O48l%!;gs~WzN+01|2^&^z0BV zYKU`&15&&z);Gcx67P~iP!E~Z_)(DRTWAs?m@ABf-xJWu1@)(cNV)>}{)m5<7_-0` zlXN0I(V(?!e-Y0MvQO;vHeFI7uz0xO=>1;pHwE`3_9Q5FyxbVdj44~g7~HDZxCc_$ zh!ME@h}!=lu^4bXfnJuPHFfaVv&6m2tFQ4`kjv{!HS9%?rer!}n(WQdt$gRgay667 zviK5eEe$tpO-k`MmwLkvsYP-`kWTedX(Ne#6Oy{^e(LL8o|h6aM2aQ>yYMQJ^`WnF zL1&%kmumKQ9`Aaa0I1_yi3R+Lm^B`hGlM*Ge=UF@FGem?UPI2W=BJtY z+y;n0ZKwiA^(WUqNRbSJmxM=#CyyoCcVEE|&7d~%op-|~Z%gSXj~{**V_8>ww@QiQ zN(_^?k8=M8exXlhy161dE}FpDmN}`3>k`=`q6BG(mBr^`ch#>s%B-=vvc4c;GcLi5 z{b{w35c4;*op53s;c=g-oP5>VAGM$JgGxCgMHULR^xd?&-xSXVZaXhPdGV;&k>iOV z5gp9BC+gmj3~G1OQC+uKJZ|?ln)4u@QUq`V0&g^> z*f1GiB%_nAe4`mj<>qV+<~muZ1yd;N-z;7Kp>|e6MI^k_8PzYN$0O%Soi0}HD_TR9 zD<9guPB}oxr`A-=HVKzW`orZ`=Oe)u8vKw~^po8%nY@0@&@}hmgZDGGijOSZlX|=3 z|B%-SG@RZV5j?-<#Th0xH#@`PC)TH2WR1iYE^v~$kYScKn2Gvd3FwAoq zD;JXBc)2CV(+)2S6&LcBO*m4w^Y1fZ_&X;|{iP9FMA@uY^SHnv0doX}p`HsA*8d=v zG0z{G#(}O>r!WduT6tv6x`ny5U1try!=3&NNmO-B`Sm#VaB^}d+v|5V@uj>~~8amxcs@3y*G6OOvtt+e0`eFv||JSeW zA-}%CM?9bR3Q>tFqO1+MQ=i=#@PpDU21MSks*~@4HB<(U!E^Vi@F&0mr7cXK=?$d> zRi4l8jJVHt`j-JHPC1k4){{th(CXy#b1(@Tvw>ld^b3&b+b=)$&sa4g6LL#ql&yM# zhmXv$zMTZt89Z4oF&Z{gX$?LMZopLoT6Ktj`0X%0z~H9%VB(r*`6Us?Q}=*@S>UHv z$j^x7pHH^^LuA*j&lBX9g9uP{wI`0tAU^CD)vYmk3}PYyUP{nCH~EjBam^I4>@|J1iw6w0t9`;-9TYr?U4#xwAsE5 z>p`&LGR?vwtAU|+uH^l$?%!2Sd-lPgZurfNhE|7{qxkKtcCmh~Sx(Aty@)_m=F84+ zQVkp|3%2j)%ZhY<2L;tCGmO;e$XDpJ8g$><@e4_B(cc;`35GPyzWn}0RLSD1@7|zS z?-MQF!32MZw)2Pgc`=ZmgrbT}wDAl)l!+4f&sQs@uDWZ4D8Oi2*APnM<-B^%#}2s9 z?=xNsMFR#wS-s>sla8Q5)Y6Q?t?Q}og7MU?0JU!&4FpY#WPKPOQF*;=@=?$~o#|>Bwq76=`awOGEjEJofrtw&UpHwv|YvF z3PpxLpY}|=irq3V4^Z~Sjcm?!r$AmEyHQ^KnGnFnViTxHPkEx!Pt$%`%}S{|!k7sn zI_mj<-E#ynI`T0c%QAs3N!Akb?T2X?2DHb@zGddGt$O z9euPnb!l-hk~2EdH3Z*oE|d&|ATT^l>syGI-E%Gy_JZT&q9D_w%-h|BJ&5q_dUNz5 zOkWqn=v%cjsO|bk7}=@wiLrj$V6*xEsp`XnE12IQjT@ysy2)MP8n#INROn!QI`XN@ zSk?OAgC|d-#S_1z6M~o))X`ECov?Tb0GtOoeUHuRBvSsG8n)bryeYBt`)&O&Bz|>N zdddXOM8P`yb zc<_)Q7IZ@=O4gC+@r#@8dY!f!0lh!BxD|XOik!&8en(U5Qbk;qWE3TeAJb6vZ_kS# z^KQ-GIZNC+(#yfX{ue@>U&ga%_r`uE!qQ9Ldsb6%cn|=hc^!y~xhe>nys&d=u)%F% zzB}jDkiOOVnPK8Nrz_yH(Gzfgs&FY6jCqX9n)?mg{TAX3?pCOK4Oy_!(0Pyfj<(9M zI;`A5X33?AupQ>{z=r#R9lg0~v`J30gZ>9KgH?*bqx-v@jeyTB0L4z|vrfBo=rymo z2<`ND?&5!Di48LJFXfgHD_jQFm+@=YDF^hz-sU!xEk9P_JD6FwgD>LJGJ&mE!0**? zM6~jX7FE)O&PQmiw7Yp3&W|r7+`nY;rc75{rBj%+F&&w2DFqyA2sg>#^nn*@sN?i?0R414kcbeoHrK-MB25ZV7 zW~mi%$pL46Ds|(AC;894yBwB&G)&T`FI-ZwGlnutY2>ovn|EHu1fU=8e}1}`uzL!t zm~Eswl5tzELy+qrO}Y`XzTwyBkZ;ia@qtk6ab^QDEEqo~>ZZ&%nNL!s1k~QAzT8eY z9==LImY*P341S{z{sH7)L*l)~PCi2`zXw0UdrnkD*%r~lsJjjP_6CvD#nZdK6g?}| zU(4wuhkQ;Jf06l(;9`sd>zpM6a;qpr5lGB!t#i*sqPv%a(Mt7<#3Iy#JoI`=DxrKJkR zf)JMra9y{{r$iwF9JBN)W}wvlIh(L|0`eIgPg)EVmM0I9nIqX3AaKyvT7||nUR(+# z1LJH>?+-BVQzb883-8EW;R)&MWa7=IywukOd-m6Hbz6tg#8sC*CnWmTgYjwcwD*dJ z|88a5JnzpM0{#h5LjQgGwUsB;2HnfqZCQ5eht}-JWA#32hFb(8pYC@vt>f8WeG^>| z&}QLdk3J-N#ctS;3V+!4v7fIpEO7mM4OR?he!Lt6Bw)KbpMU49NyG*OT!2A*{^)WR zctkFkoXiIG8<$U-=yTy_Yw8UQ&PT7Q#oCAY0z2{Sih7Gx!%~{#WEbf@!MFid?lRsp z{w$*qwQ?cx{l%`G1B^SJFt5ut{+S2KdZDYG4lwz!_W4+_$M5y-e**7J5aSk_YE+l{ zM$HjIjI`Q&j7;_Lr-{#@(e3)giLCc;k)%49V(cHxgA`Y^Lg(5t3f8N{Teh1Q@s_8z z0OB~CPPL{TXvyS2x$ibXA<))v4_k93FR{R?%V_!0b8;Ti65eF&`bEReuhn~L-$3#P zWI+!VURtyy6$oF-$jV^(g0PnNZ9-XXIm_Ne#*n{><6C6!S792jfy210pOLJ+629|RCcCvD z^}359Dy-x}%U&V9lfnJ{^I%9?4!y1*Ze*iJeKoXHR{q)Tu@_G0?ywZq<%?r{)jS|5 z@O|Jz-zY%iEpsgh?S&aaVDEX z=dv~HR-nW7oyEmny0BH-hD&eb8<3wUXJr^9wj3detwnW?j&An!)#itl2)XamAM%cN|$6j-xe6yy6Tm3 zwOc>L_WSm5MzQSEoN~<`?ydPF_mZ?x7}l-reAPch!z2>{27eHAbwoAdJK0v>^v5X_ zCUG|bh)DFiJyKq7aTJ9Hs0Fw4p%hA<-I27>*1!4oAF>4G5%6mb^+wYUFQcSgBKOqIQjNwWe{xxVaZ!!xqdd{H*?6*=h+kmYhJ42qQ=!mBT{K-2UFRUS(u$ zkuuFO6`0+yYiM{pX;}MB)a}ne*c}y*vH;Xc9Cx0y5B5R6r+@QyFBcBoHy5y@Z(7b*BNZ&?zUeQ-?pehM%XO3lc;4e&n58;Y<#Z?RRA@HViVg z*Kb5Mk>qB4bJst69aMO2#j4wL_?msF2U~PiL`c*$j#&HKv0W7p(5?c?m_K3et-?G3 z(TiK%c?kQWdK_4xYA3A1K~J?cwSk67(Ff0{Ho;?$9Z1Z5(0J7QUkA)t`Z?yV zXHQcd+%S+WZbW>9;q*R{Npe=}Z6!;As>so|DOJFDWPP0cbj{(J+l=pDG^Ta?Y}8zd zgAlXc$0trajJ#4BJ&pFJu|)h?26dxj8aJHA;hEF#>&T{$3hy56#sQ=KC&FwE6=;l) z%Bj4xWTE#;M{8mpp*d_rrMc&jK(3G72V4>O@>K5DDI8cK#vI zpa1I&66cfX#T@KjO;FAe#Qe{gu*E6Epmfs{b2!JGVd{e9@Cwdb@(X%dqi9+P)$(djZ8!@MrH>0 zX4I#y3Gk^P;_>R7;}#|AUUI0(2iJC;ea3WNhPKqPq@GIM%Jebtd65=JYAt=+wR^;l-W#r#+TN*- zsX|57{c$r;4vH7Y9NmP9@qVGq&`t=1fBZF&k9pv^V2Z6gnPAiJXP_Gi=;+f*Jo?&f z&MAJs;=Y@#%43-t@L{GZLP(!U{XP5wBV*47#j?0vs6?x{Jzj{qR7vM5m(ajd6~s3Q zPZ1+S8v_0Ie_n~oDmz1E1B_bBMIAh@!n$DN9g9J9Oy}^YgGQZ{kIp^0uX0f4?Yp2vw|pm&gb_x$1SDgW`j13YWG=6B7Fg|~`g z8Ebmqr_NQ8D@8;O#Y{vDcKtBIp2rJRfv3LrEyughbstYx|^|jM^%sEr+xV-XvZSvT)k^9`_LK%Y$NfLl*G9fRW@&J3o2CKLeGhEUy zsOF)NYQ%byR>Jkot;?T%aJ2IM-+j>x*0n75l%yabkWq0h;Wl1|9LG&`D<~-%f?E70 zU{9jw#tn5O`=)l}!&2aP4XxfOZ!N9-&2-I+P11z!5i?D%FTS&Rjl{jY|MN2f5ADna zjPcI%@6xSXzc07$mY4P}Sc-I_bezGU#iP9`xHmFJ;|muP+LvvxiE-xbAD*d(6P_%5d*+mMM6yX% z)eM6mY3=6+D!Xv&%PY?criBb3F-o3E6}#JIomwvYVEYf_b;7^rV7JevzBh4)B;3Ga zXDDI>Z9nLfNK8LK^92`3S<0L{wcbm?_qT?AGGa&WXjJh0Z}81UXwmICsx480^a8(R zeeU{Y)uyHLj#nN!E?&dn(Vw2KXa-{!s@c5$WVH{j%jkUAlh6PKR+BWM#GIjPU3apj0x|k4DeDLN9#EO4Nn%QtH5Em2C!O z%rVg^sU0*R6+Ur*&Ua2voL`}eQb0Y#VPXM3e*)MVsrCpcz6Q1lbbUTcp?k;=EShv)V~g0P=ElB4DCJ0j zU)&kDd_b9$b=%&=TU(S^-b0zO4b<~$S^s<68>HGVi@wT(QZJwTRvvs^lT8| zo$Doa(v1lGLwU6o!}}%i4EdPRd3^>l;7k;*dSxDvBz3oFJ#_#bXO}ms^s44VlAHS} zyU|BwsM`uU_$=cx!27?B=$ksW`$40DUjxLEZ=dtIzpJym4JnbheggWbz!>L?Zq6 zXACb7k)jG6*n7?Q3XFW_?b*%ulI6*>lq2vF6^k`uUz+ziJPvqswrU)SPnqoe%?d>2 zIj5=kntt5|_1-|Kf)f&?x2LQ=9ao%&Wnrm$cyZ~GIRy7#*ieyk;;~wDxG7s5m3Zj$ z`@@cRsMp@r8S8yu`jIAZoKob#@ve(rHrJfsnHAJ(T0x+mIYS59G6aDmTRz!~8KbIsfatJ4HVjoE`ym;R2SvZk(K_7W%y5 zv{cJLL_b*olc^reGPwA?^n5~$GQkn=s=;+UDk<>E8`s`|^$(FzhV7i%r>B`=x_G}h z4r;YU1Nl|v@#3RvU}vCu+lIOSXkOy?T(KEtumC7I%-gI1Y@@@&;viZyOgo{5IlSlP z!iQYtPwGBS)=Ng4cIOu8uwJyuLI;6C1WKH1VGkYpT)0S&A|Np{-Bu$lQy@v+3RZ?D zE`pE47D|m6J_5v9#67xpO9{X~C05nUH}Kp`)F;tk53dU)4x9HNH#cW=h$3%!3Gn@D zNvVc$FMzvCnhkb=e0E>v+;1m}e`g=m_F`ADA zR$}O$dBC|YaYBcD8P@0LUT9<@2pKb60PCpS&*t0}8&fRWbI@K*vhC2qZd5?Z z81l;kK8_ykWSQBg;v2e$JiWJz;8549k;nRsLS_{7BvMG6%W3#Q@m5QyLKhF9xzHL+zC;L~KqxUT8Eypqb8fh=1{v)km8N#8nKh2KH^nGWn<5R6nJ` zXK_W_!8VwhFNcc%#8F2bVH$*f%J)?$mc!#97;f9_H;)qS5K1DHexPUeHv>I+Hm{At za%c3bjnrE`Qw%tU#07*D>gLKcnNs6DT|=<|UIpEpp3wWKkTO)o!^`8FtmY{rV9y$T z_ERBlm2^55FaP|fIV8vpr2_1Cn9owDT0HHfB=o~$Dj0i8LHsznBbC*-4lQ}`dxco!9<;6~o-e6#ACfQo?Q zfVO;@TNn5={#D7_DLA7a#LcYCPD|@KQ>u~in%n4Iwr^ZFC;?=Jm=Y6R^+;Jk$=sXV zEI4Uwo~;7(WPjZf@ozlEy3N2H8*d))pncd;4w`ms$vE(+3(jnNPFE-RDz;! zLvPQP9BSn(^vSoaT;{7wYOLHGFodhN5QZk)F+wIb~l8#piL$N#3tOqKNdLa3v7Zcn7_ox1Zjn)VLI>)u6)=A zcOjpJoa!LmZ^CLQ+g==-x>#X4FftD8JT{E-q!h?SMQX?ieBJsTtuhbIS&@LF0x3R2 zlnbK5+UcrDBG!PHN~>x9Cz{$yzouLr_-`fre#W&6mgfhzYjpYV=Xw8UJKSVI<1b07 z;$ycOa$^$S*5|>N9BOpYGyJrH&>iis?sPciz<}nTau)){qd3Y&PNetaDQbvp#f*kB z3H0Q@sn3{uZ&5QvLp`z>yUs1ocXh*_0xk?|Z+SgMxNtsQl-?a9lT$mR}lKLX^AiHBPJT z6~@9U0j+=Z9su=k^HQ-d&q3;-w%v5&ceF(-eu!yR-Y}nTatXDJO1c^PwhI>;<{b9T z6WU_;$NOX6P7TKYaviSLkqCXPmo#i`ZEcTQHJw{3tLlPX7yh6)PLwOCLJU)S3sC&Rmbw%kUo=W&jDfhWCtJSDzbGR#!!@49Rds(XxFX4qAdk zYz`xk=_4TCRL?bJnbXyx@eDDfyNGuvy_oza_5sLs8!urH*@s-`D@( z;?*3v5{0MCLpaJn?%5t`Ui6xf+&Y;#CYl9%4HkXs_&{<1(X@@%Ojz;i%mw(@vkIp9 zVg9@?qu%u9s3#S9js$d$Kgr&LtAE4n@surLg&%}kAg(R8gm06?|BtPnin{lhrzq68 zsEHs@d2ka~sD^Th?qMNB=y1|u$w7Dfp^yU|9V2O(2{iw<60{6?(v*L;j1&`eEB0JR zQlJJk*z6Rk8W_sc@={KX@Y>_T2+ydFjEZai_7ehEJl`B>DsdzSulk>N;c*Q&PDpch z`Q5(o|AEKzOXkRJY!`#$}busx!Jj3V$$EN6cXr{(&=itw;w>@m9A6~@)G+B8}|DpEX zmz^OInw5Hfv`+PHrN;rG<9G@=(#InE|wn&zx=%9;s07$?}Yt=oeM32%t=1@Y%d zn5o9EZle#c+f-Az3Lb$Pz^5C&8lYjlRm26xv)eG~$Adz@v!{2_d-Sv#4MIyDNlsAK z5b#*Uxzx9Xa(C8(mm6iH<_k15rX93g&YcJan(o-acCV4)GKa;pVUS0(r@HeNE6V=Z zSub@4Y~H~`X;>6xJeFA;3vzjw+xEGB=*e$nCLUvr;$Tk7Y~9FMi>+;Q3xz{~?Q zn5}t!c)H>H1Y4ty9Oy>RG9n6!hW@*)iId6IHJ8~O){ti@13`)2(UwSW-Sl|q1Q@($ z{5RtKzJ~oUX{TZy^f#D}Pm=6w-rZ&@w!uc>nhLR+>of$%meOg zI_G~x#a0C>72JYPWoR`5s9!i8qTRRX!bYFSwt>^s4tV)&eO^vD6zJ?S^d-qk|sZ0sb;5hhI_VQpshFc@zU z4yr2J_=Or%_Z+Jq3=boXUWPOvIX;#;q<-AC7FZ2y_tFiMYYNRDoBB0J%6GJ*Do>ls zT-Av;EV4o`K78dZpUupp{Qix5kg@djr}k+3H!<3iZ&hRkcqR6bYv1lgR72B}BbWzi zscKTAjoT)I&z3*(veRWJ|BS96xj_pBP)WeZJ$9z+V@)sDIxPh&D9Vg$YhLFDIW9MA zN2^70S4i#<&BjeYWL%_pNe+GeCKj*B5^>f^334^xEp!}oT<_KzHCK>y8yXr)8*~@O zDC&~(Ajk70_L&RRa#2G&LNP1>%XF#o((CLHQg$76gRN6wuC&R29aUE*MgR80T}x=d_C+#?}cs=?fc_X!WOwmP2AdIKZ-f6KUk zlspt$@R!ZM8O6glJ*=jun;=g67jf7jWev?RgeW|IpyMKtz1q$FXFdW!WF}YMH=nTL zjhyh=gz>F-P)6@d5^RMkO< zz}tfFtMJT#Fc2T(1b*lOhqIzp(ew2W7uF#jzB=m_?pZw#~Mzf$RVx$dF9tRQ}oi3*oj~2^u5VPIe;s zBnYK{j-vF#oKnUf(hzCKmuD+x=GcG0oy*uH(JPGSbfN@DFB>AxTj&QJPq<=Qc{GI4 z)KcPuR_ru}wccdDyxOjAUE|Pcma~!$*w-Q7%vaROZb7+=(Y+$R)f`NW?K+ep?`>ow z+X6xnc`&%7_qaygn-X;`-|63d$Iq1y68_`XJ87E6s7uXBXvf{$Z zgv=frxzO4D0Z*v-EnWS)p`j z$S4Y0QF!}{RB7I9W-~$L+9*tWcSeHV-1Hi^zb$3wb{+etbHx&PruU0NjnurC5X!Wk zWk@u^J_arz+mekCP9MmC$g5_0vTco1wKAN8a~(`R07+FKL+?l@i7Cfb!bJZX^3D(0 z#?ku)(;?sq;418INHcb|JB;R;EVO zs+SU^M?qM!70)2W!VJwV)a=k=*L;5%Bm3H)i%&)wn_*Kv(!j;)_Krgt@yM!XKeotdl;Y;u=Q%SuklObOz8Be0rcub(f|*FpAM8igt7=|;T*k)pqZbuQr$ zh(;0^yY4@J7?d*b+WLyCo8Lc?+h?ousRtf;KmnKf)mU-d&qtetpq1&4`8FpLN!tBj zdI?=2whAV_?*4cAfemPpIvz3!an%!S9+fT?p6r@v9d*t!zMlD&2eM%IfEiAVLv9~n zL2-xMavXQKPUJx_l1*`_$*Py=Rx774G~0Kn4G9Jr-kkYm*qJunlx^2( zRoX?*($9K7rsy|eZPW6fT8W)j~E@?b#}t9<-5sJaQJRef-3Dx2v#S%cgQ zrJOlOmQcXHVK#@edK+QnC6*`rT%5;7x~vhm5LQjg1r4~`E}_bvygPy@^)<1Dno*;8IYAku0QMDOs{i1odgGE54hI5c=#Q9melMjiHL`?gBr-ra22_ zFfvpOvO3D16Gf8H+|~+84Smp-3s=KH$zZhnSQ7<}$6-^AvaTOh!VK$s8OA(;pSY_+ zn@`!SZqW)xKmJwo(8i|@U0Pe&0Jhn=WKwXhKw;P(&-wO~Q{tECLtmSfR(1(KYvyHG zTpu?&&>lsrN&+PziTrh-P%fGpBfgBx4_6kxilIpcsSYIMSyKOB{DQGewo8Q-UUjjX zR*U&1GMU`$nzIk5E@!K{t3HSb$^o7iFSXMkTs^#C>BPyCW#rax6T~COv7=Q7B>a`T$nqXNzidE{wm~DZ+jQ$i~ zUDy+teqLyBDO4#@(Bd%a{Nl5!l**A3pi)VEe7qA=bz<#!;pRGfIW>rrIl}oa_^V;-|!D zQLPn0bjmCFPb0-J*uFn@IVD)vVZJ|_NG97>@>~v*?@Y-HAP++!PwD2{mfe0Zmi5C) zGAa!{@s!fP269Ffb~oG+NoY9UvXVZibTY(%@HF{WX3n~v85%w=U99;Y*>IhK^=eIq zlu$9G7rt6f|J=QI(U6X7it*z%sY(!SVV_ z&5Ykh2%4?Z7x?+Eyfu`<#G6{DrJ=IYXT`5uHPcC!%z^u+C>w0*t|Bb!65+`7nH!%V zso2zr!uzv@Brc_mhptMA2GG9jvmYapO*nWr!-cGdQLg<1jS?%{^N%DB_Nna(THF}_ z6Ww2aMXh*ZHWSg5=#*|oP#6vDmroa&=g%pAo_^TS8Qm;j?yhYXRJ|3T@^=XoOiHG$ zH;?2*mU-4eKsVuAIN0NM!Tg0t-FOnXZQgPo_Qo?{l@rEd3ss(W+dEXW85kn9WeJ#> ziI~5AFfokhv((XjO-e3U_}IGJd&I+a@tq0!3uzW;)XI(W-RVUAxpRb*0LKXK;{ML` z8RfeCbu|_ubk=&r5a!z)x-pP=6|QsF3wP3o@d{Sw+};a9e4}mLvvnA6EVof|<$X&b z71nfeoZ3OCC@L zJ_)qd;k1IY`tafR)#kLaeA1jgh;N(MrR76;>XEtW&^v2+hQS|GK%sc187qu%FCa9I zHtUhy-k#@RqwTC~s$xQMOmwoW`1_)s*GU0Zi#I`QSOS&wmD$L(xAc^CD4V&+pSgta z#ATb+_LjmHE&)Xxn8+qBQTm~Cv8dYs-vu1Quq_AZ4E#AD=fT7yn}@F6i^h1GAaKW^wRtEw6VOcEC-& z2<QFBLfN zhn*Bh`=&sV_G0x0YEQG&dk500yvd&45cCvcKF{wDpJtzP;|C34U5$`l`4`8P;gMP= zlJyoeEkLVR0&!8{>2!Vvqa!P$Vqnxz1PMkfo^hVlMU^$3eX;*-(eP;Xv=@WYW3AKb zfX}5rymlT__Fkx?=CSGbOM{{5cp*T%jp!d>nD|d`_^2dsrXS=R`e~U1TJx}0$qaQ7 zW1o`wDk#hdoDwYQ@00lL)eFo`@$49z_dZR;=Tm2gzQW{cLmw!q&;^c}P7Zb9`b0i( zzJf!hjKEvonoNr@Yo)DfS0Z*__wODc`at$h8FReE2^XL5v8^ zCw1@I0j=GWFe-@js_&D{NI)r-gs`W$u@2jx21?rq;5DynFzo)*W&&qLy@Ic@#GrtD zF|+?`MzLB?A*i2VI^vb>@3bG{y16P2hCoU>W@>8MvVBfBQ>vEmaJ7em8e{XP;oB-K ziRh=06M#?e#64`kVbHqsV8ln`FDF9v55PEA^XUNAbD6!yqD2*7gYqP(%TRt(`Epn* z2r_b8aQKc@g_MSfazxYg$LagdkIj#*fCG|Yk?7CVfJhk;LMlhA12mrVEKyrEUN62s zVO%PIq$#~M2C5Pz;(`MExm&s6uSVgm!HByr$CzD)!1D~|bR*{9&wY;Zc{-eS7*`D5wohvglv0=)y<_6srm>u%CHuJyD&!UCj{rU4ZUmVT}CxVmB`>O(+f zv($*vi+f`tjr@yAFBZgN#QYYU_pRgxGWMr;KlQHP9)SRO?x!VrA^Kbj0DuO9OLqMc zisQKsMa`b|+R)Ax*vmd1JnhseEza=BiKZ~UOTnN>LlTp>iy$R4(RD)(j z8_j8*r*GaCVNrg|Hgo=UXZA0rQXw0^peV;?=E;GxB6YRf>Kctf3XFmRRoS%*{iO%j za!`xYfYlQxQTYWQK!RVmzbh+S?eH2NClg_^Zb_bO|LTMf?RBR-Z_f0+UFPaBNG`&P ze_5uxIVdkBHCx^iQm)bY_d-y@Y&s=xyZbddof4NtYA0&`kvGKqt&}UV2i#jW_)`Ei z{Jw2S?}o#+ABe^+5v9iUS(b#wl^09QpZ~#`!q&cp%yE$Hf?Fy{qL;(TvyEaZ-)at! z;ByhOAogbyAbKc~#)?Ce9QP{4$GH$!g^M*nz1+LK5Y5aClT=jtfe=Z(G8j@wK%9K~ zd?yfV9PQBGmg|7VT}&J4AN9uW=6FF_&-Y>H+*3O{mX}_)HPL#0ox<#Jx+26plh8~A z%WL#_!QG6P*VhX|ICiD9F~*8j3QsU?M+)@7@d~%rG8sX8A0^mWS;BrVGR^N?71h*F zAoovtFSdU9DslNm*Ppy;8CQofIx&t(qu;G37e|GW9}0HjdUrFv2ZFt>=>!0!$fW58 zzr(O0<)T+KA#=z~u{Wn}@FC_O&9i+P+s}WY7-pW1|Ljm`BCZ3*1Gf5iJdPnZHYAdik0U- z9ON4)p0zX;IWO(F>c#uUXiGcHha2|188no6wuY2Q9KXHN_Z=@d397M6Q;?YQb2l5gRu&l`TFfLmbRM(oubeU`(2d_^#(urT#ofBSFWbOp;NUa6~a$Hbks z>=6TtKaX@%b>gGz`B_L_FOah+E4reRU*|>);XDgPv#|%Bk{SlE}!aT*vzp(|2 z4a_O!ngG+T4}0@k8XRBxJaH7>oz_@&Vx=#vfiicslzc>y1!fCTPUOm!yRT zPZVp-C@>24`y!Dmhuv(Rww)#u+D77E84dA6?(_0*j2^EKXng)UYeHz|Z?h8;=!uO- z7%zL>TxJ){e>VsmE);aGn4I{9{bM#LC)jbr0Yv=NmazI`&fE=Yl4_$X}-c z@e;4Aq9|OmX-qseJGCNg5wJ}8TM{Bc-Q~?V)j{jWSza{-um={7;Z3DnXeRC!Q+p}$ zIBN=Gl+Ndi(v`OqoF9GlCW?VJtM;?B&C{?ynp)!)vz_km!hfv6TmM9|^X3ZA+s|_a21X)O9+}OyX)0rYQXpFNrbCVG3ipZ>FHV2i^%27RM)ORU z_efQHTg0(SPRonsX!#bD`$_pV`C74X`FYcnl5%Hn>LO2jDTqtL*Ma@tM(95S5h&s7 z>gq&TXel~k1!$D3Gh9oKJMLDczMKF^urO>y{-$vZ-}}Pf3Kd!nSn(i5+`^%Biolj? z^h>+x;K24o26e0G&w{3>>?#Ou@}J~e4Ttx=vcUP^%yhF?c;J5CDhaH@F4BK+$5E)8$- z1b<(TDlWDN^&*hsI2nz-X2iPv8?toqIa6A4?4{wF?a$2EvWg(8CGg3i__c1mpP;U}w*vn2jQZ+Qbg*C?#Dvr}v17yAER54w=1YK6H*D9rZI-F!O#uo2St~|5eZ4np_jL z2xRyrqG9yz^6eTnBXAFS2Qy-bC02-Xiwv?`Iue z7RVvkWwuV47*2Un$7RdW80GZjZf%kIiLvv%J;Px)H7ycLn6%#;Vz?;uU88+mT;9D) zv?RV2l}C}AE!qGz_xI$6<6BV%b?9K?oeL_-yIK>;{IH6}FbjmCcL(bf8m|M`LlvjN z_!;>WltSD#r)hO_NoVKcIS$T7Zu(%M|Fc^rr#u;$TT zgE*>Cr5zZkGMx;((z)m|l!)bxZelSAeys;W}Qv5&%34Ym(?2k$Yn}E2OU% zUsAc8K1C9-hs<2fz#M#HaX(*&4XaZ4#pVrWV;>j2ObYf~7EGbKsWq7XHoD9-y_=yx z!&FLp*}N5vLTQeTOhzDPIiAzmjwUI+=NvlXrd42xu0%a^6sFY%Vt*gs9(8N-4<^E#p zCH-za5nz_9<;4q*FJZIXtr+WiQ_EhcMG7qVASg1GN>OA-0fvI?ja)sSfmBs;tyA4^ zTDM{7k~5H4=};gFs{yj|&=*k}$gaqpMDwYWfQYdLUpBqKa;mXnHbO(!xH9hYP$XYc zb(%eRL8T+7H0ZU$94DOEDweX88EM4Hri{0>L7NN1zdr{6itW5te_54)J~*j2m@NFY z@u!6Cs2D@_U_oCvVRH3EgBf^qU&WuW5Ck`g93viqYoFbMzeCg1K2y34=GmQLixVRWi?eAxnxN-ci;K%-J4&br-K&2PJ2H<=3{wMANLI!0Qt>86kmXT3*5@?a^H&L z+?Ltr(#=cWpQ_$z$+JyjP|Ovb4AHJLi;@y@EMp0&y;Q)qpNit7LEdw*WZ4ABN%}cm zH{D4#4wtJ1^K4bD*aPJ;O5`!9QP~&Wj|VRE8zF(~&!UnPhxrtS?_69Cr&W73Un8K6 z+w3U{fQakzPZ7)+e~TL(LY__&T9`)b%~0u@dznR(N>%-*U|w>RH>yb16?uz6PNQ7n z?->glJpLjr8{Y>WCRK#n#w2LKGbsnnoUt>HWq(#G>dr9 zXWow9*hBKV0iD7m)owa&-y6>ow)4B5s#M=6?oyf@%u1`Oj`xo?D{A0ACWzc`AArSQNggl+^c`n;orc}ji6unDU+_Phi1+7NM$D9{mvI(I zwu}fI=DI}PbtKXr{RXVrM?k=WXH9MY-j}*YR;PF~huZddzQ!^#oQ6IZey{Hw*1Ot$ zGmPqzvd(DdO$(&;D5<%yk8=i5R5$5QQUSaQM~3g?L1`)3VTwC(j6OlWWz2Ahh|z~O z4xr+1k433-4o3rv^?F~5sugVbs*$+fG4z9iaOR0_rrmve&X)ksFZz2sn->|}O-9T< zo@r9xm>qPW&Z7?Uo;knyeYiH;C~zoh?9~V#Q>FdCq-5Q>I{eVP>0)gp%IK1lQvC2FhY3&8i8WiY=;KKzrr0YHmJ5 zfJcl)+&jvJZQbg~iZv=FC8WT6`Ki{6olW z|K3lP_2m|)hPM=ECAJ324+$n^N)5H;nkNz}^7#*ly0s?E*XhwJAIoIZIi#|F8`hV+ z^%nkpK6v-_xpJyd7CS!O+irPM-lvhmg>&aVy4ch2#{6KipccTUiWAM%)YN`H8YC19 zdw%t)qc}^om7T8mG>)pxGk%dyhjylzO&caGwa5}Z2d}N*4$8iG$)LeMV(GHTHI8x^ z3}K?(j>FvgsY)arr{@|PV{KJu-X~Ts!QKH739<_*wn*pe_&?r-vRtJ{If`F81xnp= zR@IG2)CD->kZL~ps<`#s>Z^b`;>tbFgpvB}7M$SSPQ-Am1!0pAisxnP>fTyI4nHqO z#1}W`3?l1pCo)e?KsZ>e_b+2%Ck1(<0*q@PZ6E5^Sit@PGhOeRx^(tM^H`B*s}pKp z6pkb?fhl)_{4J1}Pcc&U#oDfbvssTUQ8EHDF|--aI@O}w%3 z7WHg;G%b)(-dIM90%=L&XY$vnhrJ?2$xW6)`4d$+_ho9o&}a8Hva>yf5pxc3u>{DV zz#y13CAvjySny9R_C;yez`oVl?XkV5^(iQziRGp)IY=GXIJ2XF)s&y~S^e*7E1#Sq z#yM7bc~fG-(Q=D2zlg?H$$?*Zusl4lL~ZEtQKZ5^sfx!jccWb$S*ati?Mv{}9k7*s z_%*!rXB32uCblZ3cXKj=Tvwwp_Zwi2;^ zB7#QlxI?@5++2dUThO(aE>yC*{7dT3$i@AmM@9@ zaGw`rx`uFLa(gf!{ha({qY619dr-gVB)h~fFPi$MJ{Q>fXCT}A?WNn%a2I%SxL`7G zOibElj|T}h%itzv37~F)@a`MPLL4}5Bn$jx$Fn`BKfwf z2n!X?Llu8ODvTP|F%IIuxadq;S|XrH<`E#&!m`Ir18c0l2}Q$`helYKTEx|*cL zfm}QWGaIU{ottQhwDeT3JOJEQt za*#f=6qDouuV6(#Kl_hX0s|JdMbBUACuy= z_A83%<;6<=Y%9Ctoh?4gb*EPo4KzcOmGbP?YJ1NSr{HQJ&y>&EsZ!jdN%cXRW35V~ z-P|j5M1)kVy478A1~WY+K8OR()fSFhfl6yptOPkAsgL^h_{dv8jWU=#(LOL^J2ZYL+XLLH7isVS?!tu(9m(KdC@#mw62`>eGZ~Sl+-Hq0e)Gh z%B&De!=JpdP%6Z^=QC+d&zl0JR&uaVab@;RgbFN|R%sA9IzC9VYdAvyY2k)co|cd0 zEo40IbrD3O%Q-}jR43(+SYOqb`_wPc-0key!b}-L9=ThcCN0muf0JvU8dN)eXeS7S z)jQp-h-caS_&oJTEzvSIwBmI~{ZcLX_wLuFz<2mC;?=Vb8$w7fr*Jqhd9q&x<6!Fj z+TOzY_9P(ZVdHJP{33j>hdhC&SZaPxHYA0w>NypvTFjV)f}n@ET^fvj8mC#%Ls$CK z5bmsq>MzCyfNrcM+-f0e_GswW7uF!uM6Z9lK@YV~zcoi8uCVx5Azp&wt<5A+X-@r=Zumvcd^s(U z{}?D*P&rH8a`-Iyi{UjgEmOFv#kmvN!{IX#vghYW{v^dAb@^4XXUW?4$pTaQ(e%%J zW?(YlZjd7qyXQm_uuCP(Pl8M48s5{*kf?cZ#+I{FGIo47K_kq%en_$V`ryNL(riq+ zegvPLY^<`!pu0`GfAH_LFMuto#8fWqWQreKXVx$|nKu*YsptR1C{s35PlQ(=euTrb zn6eKjw#E~IquTH%%iWHR=yj$C8NgVFHE+mctUKe_-pGsBzN_zA_E@t@XV1f~Y+a}# zGeF8m^S}LJXa8N9s2uNV#)$W9{$DBsI=#N?vMxq4c;XCT?|i9w{KKEH*igmF+P5t> zUr%O>RbdS&lGrLkRKyi>r8X{5hO;jOpr<^kwONOH(!I4_=73tBClt1c@FmWl+EkMn1C77q^5tJ(eKD3{H>_UB=e5G?``A z^{&lw6If*2UfBHJN!a!#M%HAhsmmI##mK7xKE}!hz~O+FfruZE*_Zyg;x&S2e7E`> z{koU;2nYcvcf0;m={YG=o*O#$`%Ku=`nr?N%LMQv0DJ)>l0yo|oyCiR&4ZU&jF`lv zv%inNPnWef(QZS^w{PpWiQM?Og%pQ^@Jm1A*z#9WjK6cDkBegQ7EWPZb@S%O;jzk% zq6ZBKnr-jep}ysk{weRi!Ph6kr&(2N?-w1>e`Efo@kq+SX*WM#OyocRo010I{re=8 z^41uzibpSB0(%+${qzeFLPY4VfM}(5{z-{eWPq(eZzeXJM~v0hn_cS@Q0^^ZIWH*VXjJAo&5e>3AIJO8^d5xyHHuX0N2L z@8MLOcPyui2}yL#$e+%87;-$FR<;bdLKMRMQ&yp7Jj5egPsU+^I8P3+B#ZX*((MUj zI#Bo@`_yyz#LPngSh-S+eLo`B3=@;dL7eDQ!ty96-0xihEq1@}BcM$IzGL32E`@*_ zdSy(Elb2_bYq4Yepxyqv zJpM!^FiF%x%+!j%;G>Hqlc3iqS>ssnuqxI{bsbTQ)k(HaNi}$EarcRUM1j7&2&(lqcOTI%Hx3!nLn+Y~-TINHS; zdUqY3+81FWpgczOGZ4`2`~=K5zL=jo%$1S5fRf13Cm@n?8U^hcclO-c@t6U$@rxL3 zHSPcVVMD}7*&J2TvC3&E|5RvdJT`OLm0O#LPr(YD4KW!wee(;6pak(mzQZVS&h+sH@G(!3uZ#jH9~#6}@`N2=qCiq7m~gdtF?Q zLUWNiU)%Vz2z$~(Lv;!NyX!zu&IC)L(PG&3G9)4L=T~38>J9Oy&Ob@J+frvk z)9cB16XXvpe+juj{UCv$X{X15M8xy((Mu{hG*mDF(D2egJ;#MQ0GEUv-WFx)B~W^f zs-yQp6Mtd{Uh70ML1Z;033iL^H{!Pj91yQOInlt;U4c&9Z>Tj7V{)v}pW&|>p$=x- zQrfLh=71S;!= z-`t4brWqnjf!QKu(3q=t_G~uz+0^E|thl~scYt|!+0CK(?_o)7O(-`~WxT6--hprf zG@6F?d7lfjt0C~%mWcg-Naeb6K$gG*yP&ptFsFHA35C>b89`6lTb#Ck(aJyLkb_hl z{_30={|5MX;@>5{C!GrOO8kNHTgLt8GHO0;z!QzEIE#2-925LX5L2XFh~(=^a+w(U z7~lJ;V$Xo9_27S{d*dyGrwh~|@l}KLg+>6qAb!s)u~_~HYy6MAP=afh`Y2Vsc#mFe z1IgQp8G$O`j+46HK2(izDyRTMP-`OuJp?f!x&V6h@}YoJWP`Qs*^1PGcY5~TAsgHJ zrUYQ9m25PkwFC4R_A&!LnUrn&S%jN71+r7?MLk=hCb}A#hU8?!Yh)XW7ve8Q{Qm$@ zZ|%Al69M?tZElSf>z;lPAyg9^D{}1nei$p_=vb-apyKz3a&9S@}bT^bQvR znHgkBmRAQvDUfoOiwYM`0l%M;}U~X9U#68|$9|!4+PK#B1X%*8dB;_w6TN5kXo1xn_a0 z3-MpkLL<8ZXo$iah~DYY<9Aot|6{b&rcXjy1K44MGf&--Vz)Dxjf4MYa49DP>NM<@ z)3L#*gi=?#BSK8oRPvcmS7QPNt`%DA7|Wp(Ez0Kje4fsSEcJ>1j)5BX|3fTc|NWN4 z_0?oYQ*z~tDvY5csie#^Z!lTh9n>!-e)UTWdgl*sE}$MkW{ci zM}B(;UO{UB5WX_~rTc}}Hm```ez)Sbvzu<0Jd{AS=Vfx4samFzKwNYi+v)QpwbdVW z6}0f46LPO!jm_^X$I1qAy-^#EK)*d|M?$?sGw-fb}p8>;pZ z`*SkGQW)5ektUyi<>v+N__(*-|B&Iqwf4{JT75H#?2Y-_+yP$`(uYuu2kGuP)GrsZ zHGLY+>ZSK;TsOR8c{!z$uYM%X3m%GyWuxc-4noWUy!pDjk=-6OO^HLM+^<4(CKvE+-LoIpk!SyUYMigH^$UvAJc&%KnYaKat#||Txxzq z9~rK&GsMYZ2|Tao<6A(j|9|-nBP%bZ2s_|N(uH%jBm*(vxYsOHruspM>ec)W4>5pY zynT>AUA|a^$Rb*K%L5e^USe0(NK8By=TKnIe~DhMd3xa0Y@@7p%SAt70U*PzRI4JH z%41&X4Zaw-{L4Bf;p*C$91Hum0jmDhFU_}mam;J+h2AWWjW!?L2gU{1^L<@0ZtiBx z*EaUx)|wT+)r7}qs^2*iVg^@0Y!Yrc1;$@+{c-b!o|o!Ru;5cdhT@0}-c0@fl8A=g zE^v$%*XlK+$G zw*0v$!%@m8wxaV>k5-W@Q32Ku4S=uNF01NXJanf2&t)_s0Jbh~TNG6)vHSB0KK0|a ze}DO)>4Bw$$h~qGCJ(8gWG;BIk8vnAHb85l6DY?n|oZ4@G{V zfOTdBa5zM6jRi=5yGs%<>;)+90b#!?Qu6}>g@)nwpMFsE&3`}~P*@1SN%D=vZwWs# z`Y-heXN6^VUDJI}r-R22%mQPpIoeb z2Ip3A!6TB;w)cho^Zr1J5F=KplH2#5w{xlHpSMNwzokN-yvXKWJNQR?0HkH+gWYZW z%cc4%=#2;ULT0zl+RJU`x; zX8YVqrXgmRaJW>*n+xivQTMbO_9Ea5__oVr^Xt9{OHu|7C)201Rpc(~G}&f?0Tp=` zmp|`Hlq%AW=Sq{N%Qfq$6-{prXMWWtG3aUy<3zF9EV9YoopnKzxm^w=0P|QN7Dezf z%1J=%z=C1s7Q0HPt>R{^vkuD;Is%BA1u1m{yB5@k^BUsrI-gFpzpcVkm^T5=fHc65 zAhX*AXlu@M`mBfl6o2A4e?QvZJ4c zc=40(8b4s80pZHptrdu?6nn(EI#@S8^M9qJE7Veo&0`>98TJ0~h6755!2w-J-4g&V zu{llH{|NIpJfBCA%5_?lXw=HT|K_%U;k567_8>Z5Pl(&y7+2}lY1y{jaCqFzsG9=Q z&xW2-XzStmTL79u4ak@MW>tCnoQXEOxY0nRVGhVUtLwTXc|(5V0y>6{_fEgaluDgH zTP)-j@B&U_vM}mtvWz(W-tgYAH~8~K8?aFV^(32~oLpqF$&L}7_uLPVJEOLcig-^S zuhn1`X!5L0vIG33Sk^IKWwEG7smHrBs;y4KJrc#O6go{QIldc}mb+E2e2z^I@q=Zn z$^*tVU!ML8dYB=l7DrQd{{B6>NWo8JSAatLp9Fcn&%hl>rPC%b*h0ZJnXb1`rXRx; z|FBW_F9ozlfc+UqD^-o~9CKM#N&AZ^K5xD(8mQ_hW`eHzsjUr z$9+Z@m^@?$dDv`acf!2{a4oDOU3Ghkl$g%di_!QtYmfmXwV3Zj5qz*uf=ZVu_^iM7 zfQDIK3M-6}Du2P={3F(~l2uAsqx9DwB!dX)~vKw9==L zUDzCFx#2ED2rRWwpg(qIF{Y+ohF z^D_WH;`x{Li!?<5iRU?)X1htvvcq0xJffr$6b!tq<2f)A^NLcns{mx|IG5=*6dXmk zIeGVRW!C0;Vgd-S#;2y@;|AkK;4&s}#R%wiLLRMj9yH{{Ds#YN0ME^?mdwc9_L5)( zeO#xIYF-EAe<^}zljNKqdS6+GeM={mYZ39QP|38bY*$c9q8gp^XmRH)8lBOQ$tLcl z`Z7%7hXYN&)0>r^Cc}ZF&;M&*lq&h|$^!E(1+X@rAN)Yf-f3m43@9sptnJ~@{-n0;yMM(#P~ z`_}@dEx=EA8;o@c1xVuULGqZlQ#CJ*uz5Dv3+-DS_c>c#fu!i*Q$UFw7sv`ipcR%~E25u3sd?IP1=0&R4Qhuawn~#(#?JL~*X#!+m9y4EY{!Wc#{u+t@v3G#KDKWL>0X9cv`iY?kaz+h@c8Gg z#DmgYsT=ciL-W?avmdD;*IDxx8la?_S}5{Xau7kLOgg~f%uLhV5m&j%~JLvK+0~{eXx~QYXr0dS+%6K4cME=n$h(lr+Kc{;RiPD(_YKy0C%iZk5jGIAY4Q;$XTK573m-udA+=D8bf3p== z%}mr9&gBfn^PBk9N0G*2teK0;-)lgKF#XRHw|y>ju!P#j{)D<-(iYE z+{pGXYvzV4{^(a}re^hjX`(gc$n|gNyf^uOwO{l$nq8!~AD9Fm{eQ^p7NcChD1p2H z?oo`CC|hTW4c!|dB&Uo8DkVxUx>AC7-yi^Bm%^CxA`L)I1WX2x4SU|ry6ds9$-qUJ zS7M@voQ}T?J&eA>MOL)+Feg}5to@w@w_)A6Z+u7b~}SkaSw<(lj7=oJA8oofO-e;2NFP%vP_?! zl9kNB)`>$InYVGW41{-=0LLXl>(R#Bghw}*9U#WWf%8c#y6l!EpPb;xJ?Bc1fb z&ko?p5i$d@0{J7`fd1iD?2oSjKnh&d*H-1Mm94<}ar7`7n2=Qa|27Zv`DDHFU%kSs zmlPFJNn0oZPCfq>Ox0B;iL(tDy-?v_?8U$WWzRet;!!2nNZ2xRi(rNYAY{0=a?cVKYu6%`g;eoKJThpFrRt?b*&u*0QUNyo z|GHj`CtMi1G20yo=_WC5Td6QNRy>?@HP3KJL$y8HJ2ES<&DL>vt0)pMuQfvn> zG}b^Dp=-nFmEX;sTUu6FX7j=$I0D{azPJz;P+!@om0Hu5P&+-9G*^9(UW50dcy9tI zQy9sjZBwE6F=$kiu5?w{&lR_sEKHgB!@UNP z%1tQ_5JvT~kX3W*slH*$Mo%;)Wv!`YGFx&4w7)zXZJ=WneUOX2t2yvqc0-ui9=%O< z>o6K466ts(tjMSKVr|BAo6f7}GrDCT>^p&FXeQ!amueeF%NVaL){dSDa`mn!lS?v^ z^=iB3v4i8BMf`JN)7qWnWdi(Uk-VJ;uqnW*;$fl1$-Jbrd~&ATH))W&g3L10jGgj1 zh68hagu7kpcCF4_zQ*irt(E((UDbZ;(RNppwL=}fPEAMh`cFO%C@>UXP_{^Z^$@dM zgyPa?IiN*9ZM^6lP(ZvW(_OjJw$j|OJy(CSP?w^j0&Wm9;4C+QF|ztZM&YGDi#%Vj z_)f&e0$@Tb%`7!;-LR?tbZI*wng94Co3?HFCwQi!@nSHJyq7`*4&$4kL1;smn!Ogc zh2IQp-s9ioHnCs7UI8g^g zFQL7Ed7!jX1aG&{6|jEBPwovlHjz|f%>pG67&HKK;j0jzc|zdt2qb|f$R4hHK#LZUR* zYwGJ&0D3N~lhx{sl}BS<$g88u@x-@KlYkuyHsv;9=vGTdhYk?cEpc0!&;n$U(50vR z`VMExOy{c&54Zuv-$d#9zf{iOhG5IouGlG13R@S=2~LonmRhmB;wgEgQ z=$N_23{9A3#@L&RNEaS07>SJkdUfTzkhTRSS+~ZzPd{8Zc1F0IV~)F~ z)~{5WyS}?b&%v3+Lw0vzan>+SH_#eBrFXUtQ<{4ea)B=Nbe?KYLj7d_%`qF_r-oD@ zy9=6r6+^;%n)e$876~kX^cKI0UE}7dE06zM$U;bFImVLb zN1}dn(@|TUEh+hORYWPPU(L~1JjAbE`=k7r#Wq-JaVi4z_U3E`Z}oM`VU|5FwPlw8 zJ2~G#Yei(Qs-`Nn)0E`6KW^yrdZyNHji0L;DyYSTlB+$1LIK><3_reF^NmtDtvu1? zJP5yi0okPH$%P>a?m_hE2N&zMV}1JR*}e-- zIN4M6FWCZa(d@ksO?G#m+(su4zC)WY!e7CTP}%3L+RbxjSOuzfT~(x#xrukbT+(Gw z*3}&-X;IWK6AGu{R8<3f;rqco3}5b4Qleb+$N#mY->C1*VG8&~7O2jA%=OF`sDZL5 zk{HXsAHq9nA0l?Lvy^(BG88OTziZ~>|8>dt+uC%$O#_apDOaYAX7^1c&)IcXuLul% zT>$-39ODb#sU#Mef3-kq+3RtH}1p zLn}}3+oFdGnFUk%fdtGlfA6BSSm0H2faQ#a=0zB4qN=I4O#AN7KO}x4!MGt~5U|yZ zUlY+vXByczYb{DmxMHp=F$va|9&iyV4%)x9h_GoKb@NwCm&1N)B2)sOkpBYq&Z4;L zEr6Z~2i80xs+Lsh?|XL<B)hYI)STVlc7$I`70$5`xq(Esp0a_!k!~OK ztYJcV3LPzY60o{jiN1Jr+gD*d5~=)jy3l#78A)#Mief!qEo9qqqsHZaZtg?wYKn_$ zw8~&=O1s=VL)ws*e;QELWzrvs?;{2?%Z6d0J;NBY`4g2BlgVXKMYDNb-v$0@7W1=q zjnc4d8Es0({jJQv!%nB)WTP$*=Sf%o@$T2IjOCSxil5q2g*F-*^TIss1VuuB)t`lZ zZu|{wXgLn1iH4l;9O`*xP5I zD?-i7QyvC=>If+1K}=i+WgD|JnhZBZx8)}aI08odsXl?jmi$b)>+!TlSEW{5)V&tv zR)wO3#X#TStev4eh-*~!>A=c(0KY5wvGS>khDej~1h8L=XkW5i*ZkqM~UA zWR}YB2D~Qd$G!(E?Z+Mx80Pd9P&3I+#MQ6QqW7^}>+JBlUM>X2)v)I*l(4X432mEu zZnUyZY_3TwdeX`#6lCRxXBALq!^7XS>@Hd@{{~RB4`0SzGEBG3)4aRu(<^OzuuJNK zOSFp_WqtI4n7P4~dX}pEbTP4^(X?*rZz}6flDghd7NrR2*(&w&yw`C?RXxmwd$v@S zwrSb2g+Zs8X$1Ia1qN{bV#xV6)wgtx<~~A5X^WJCjNTm7)9P;6wi#DSgErc?F4)2d>5aOdgqA4sQ0E08-jHh@%it@!HHNiqOm>Z4mrycT zB({|9D78RU&ee$(yZi9>zWUx!Cur~UT8l4KyX21072?zt=N0syMdbQ;4tYAW8kw$n zwDm@%vjW|8#|X5#?Jd2Xag|FjogGr$!FO{^(q*mRASh3LRi+zVs#~E|rb{>p2<&YG z;WbLaq*h?G0OVSk+vgLxEb5Qly{e-)s6w&~s+s_mK-Wz9^Y5LMVaT|3pqUqt@okqB zWxYus#0N%hwpiRwmz{}isteyml8#fukQm&|;X$>u_oooK8ahkRT@S|*#ZRb&BqT-I zQm;3Z^|_3>qbq zX!ehZDwdRci29p5_OWO5I{|)(edjV1(_p0I7nZ@ujltmuObtMiUM7o|%ZD=%0W}`T zOaIDde{m3I=-mIvWg1iUXg;Zns#Z3%m}ufZc)HRW^c0R@6};H!gAF5jBI6TjRM6OC zIf8FORW_1}eE(kJ>u-J2^Yxwu%`~!c3=(wOk*QKd&y4EPp_)OFkQqwJrExuoXsnviB-OeGNomngmoNvF zMnuleTIbBFWB!7(njgNk^24{jZ}0u?=iU4H_Vc{fnNcO1Emcls8i(o-yD02uMP3Xg z%<_cA1D7C=6?oeQAm#8YQoX!vw9o7rFrf9m5A5L&sq+3oXvk#`pAA zO#C6JWS1@;#FfpOj+>{m%Z24jTKStdK86pTQqev`&4@d7d;QU;{{C3ID^}Rtq_{LX zwJ{UVLOE)V8Q7Tg%f}kuZr1j^NZCqEnH8_cn;79hR~>tarmujR;&CU5YeLy#MFxHS22+MD^ z?B9|$%UYPackBm}@>>{HBTVTM)7$)b7;58eTIcdOIcVdHYe|L;lWxn2g25U@u|#vG zhEeZDO?qe#D*7H!Xh}+J&NU~9w;ml0*_g-LQQPsrfE&4&Cq-+yU~Y6iYP4$iUaK6yFxjNBDIv^ylCjg3rCbS z3_)|>xqM|zg6z>z?$-oV)BvmmnVjzX#?2tzKlZ9OU{Gbivpd-QnQY`OK@Tmhuw96g zQj*e)P=HeoB z+PM6(E7syR*pmi2$dZW)Me*E*?i2jPMsQldumdsnUyc>uJh@w&_|Lopf-M@75i?vD zuu|jLTljZ%t@ho(R@K`M!>OIC_0)U8E`;rSDFz!~jxIuVG|%7SDRwSrD#+!w4*XQ_N_7=E{ zu>#gO?+m;m4leD|j`(S{)u--Di1@Lb!8VachUD1K_rWOTswPw|Pt4&yzXcm=%xZP- z08kRq1L4;s&oYbLGQ^DJ_Ra!2xx^}#1BipghUzSCwA{H_)DOdO76i8d`;Jh_)x35D z`5?iiL_x5@cwqCFyE*?mip~Debi9EsU%XWuo_bT?A$jz-h{hN4GClzZt#Ib3UT5Co zo$a+gt$i|PkCjCBWJ)K|kJPbc6D*CR!>woSDbaT+7ARt~O942m=QNQL<;yGB*LGIW zr6?L3vs})+{5GdEAMO|b2|{(~^rM9Bu>e9N#|fu|QB}_}wl=3@7Xl9hwdEq8Y39F` zY}Uq#@>)Al($~cztGDy3dDZdAImLN6g&r_iwc&~PMt)pNw= zJ{0;{TWL8+6b;;LbT%IjPVD2MnlRS<^h3X(J%L;d?2^G&&yARcA}YM_Dk>7mot`J;C)#`{mMdLfFa>sxO&|+|go13qKHn4U;_{>B>qLH&dj?RL5|l{8 z68%kX*9BOR!BAd<1<(&Co2{p0%svIheS5~?QLgy~LT+&l7o%5y*D}?az=CKXNVxBG$BH$GD-F|=65xOFR>i;0Q?C3f*c}?S-anVGKRDNuyvfzT~T)6 zQwwDK;}fd`EE>!pqE}<6uoFe&xm$Gn295oFHQBCTou?P#rS zLyOFd2xo)c`e)-!MQ9{@CB(_kj(sQZBRh}C$Vg4U5^}q0$?mh6an0>uoDqg7$*t{yeRvVKWqN^z-_?% z>p?@7uFU9H++RIf!%&;71mOke?-rifcGrJflJy#@L3ho}Id1ruul~O2??-)S)V>e+ j_j7$GR{dYYT$UUL7d|?4mvo0ngCHr5w6t_eGZF&Q-QA#oq<~0wN_QyTB`KkFqtw~M`~KeZ zopYVP&s>k_H6zcgz4u!8y4Std6QQasi-k^x4uL?hc2UP?m4J!9{Oo45X@&(oVx-MJ_digjG+g!fDe$?Pf~`t>ccGUH%pfdU8tJ2%+r7ubg^sP!0pOw<5-n^1sPEKiI*H5;X&qaRn@^fQlxX7sc9R%$W z9dqI%W(V)(3Yw0?)zwuDY>b|5Z$B|O;(?hdTTXW3|9$}N{kw9{3-3?q_dhp~l46Aq5~KT{S1zG{CpF&xyvETxR^$F3H$pN# zlKtO%)WUOKJ^r6t(CNXE-2BfS@bJnYn0Nnsi*PLn^8d>W$p0^9ysN{Yfmy1@)PxNU zg(wk^G$Lb4`oDz;BJPAjx*=!Bc2?0b@{8Xu&Ah#neMW@)c;dLCUzM3@n{7-SvmTIp zDVx~_Ird!~-!h1`y%X#3=lu1YAxoVABF{;Kjx2?Ti)3cX21yk7Rc|a#pwQ4;h!ms_|AJCWI_SsePLo$A+B^e^T-Or+ z-gu|2Pa!G%S=Etd`qW1Os_Ng!eHTR(C29UG47r~o2W;q0ig{cO zn+SOD(m3eyq6P@IFIu@3@@dB2zUqhX9Bj~>Bfz3-M*VjUBasiDIR5C%uDBYp+7u!| z?S#u4wp`UV_D_WoOux-$H!hVH_^8I%U1c-;CwSr$q2hR0a=F;jg52Th1OrOVK6{?F z*~fO=hfyawI!h@HrUPasd4avV)vU20K^`ve#06Z(>CL0)ULleG3Ji9ZkTFV%AAK2a zsl-h&?ypITgQ$@6X|c4+j=jr_xvO|5>O${dFHXkz=iH*irx6MIx|#-4e!XbQeTLnbI9m>TZm^v__SGmKAQ zk=x|tG>reYW?auitN%WM{Tph20TpnTBb`VG{m3Jo{&IE}3QIyd1e1p-(_44`A>Ib1 z(VkM6MWRHSPHiMmn3bOPFD6&5tBQ(^SWJUcLWl%E`1@vZP%!hHn}z#+UcVfDoz`jT z-A7_FQOfI2qZs`}&7Te}o?bjTI3h~m4I8?uIUIwozdUI(RkMyF-B2VX>QxibAC$#F zvxji!!BRp&U+Ad~`BN2}AIPGNcKY&%VwX;V;Ttit0C*v|J{|vDNj#U-K6?dZ0<|zY zr3HrA6@JJ2E1!)u3ZZo<^CQHL;+;wsq^teO!#r~FFHE$VDe)ZN@_3 z3}m27<$IjUr!A~ZfZ50{-Ns7h z&C{#F!@|qi@+zAK zrNBjwvcC@T4}r!`j-)BB{2^Yw_vG9?JViZUzCpnzd{Yze?{n8>v_QC19b>Cx1>&U7 zDfLR|r;27KMw@)f9`epP9|Vz4p$?m@^~Ag;bf`nj;T8&=#&k~~Ycd%s_u6jWW-<`^ zdQtg$Gkn*B@8^fR+!kk?e=Q317@^%hGOhai96R)Rm zLH@9(ZGBVZ>(Z}vjK z?gf1bjc$Ab+rSPbWwz6l|MybmUzk7r9zTGDR;Y%SBvTF@fi|8zG@Lh-yWf!B=bq&zJx3MJoLt|o3rml2fT9~M2YoQr{HBc72(SC*39=i2iPBVm;(hJ+YZ2`s_3*7Ws&N4xip|Nl%$1xabgI5$T5M&h&M)9Mjl)UtdWFwVbH@q|0@p zK^KqFlm-{d1mvZOFf%X<-%7*H8wSM+1B& zN2Wu=dR#>(W6C09DjmGe@{SwX8=k%wQ@%<(aX8*w;SF0l?YA#gMLfS=JVJy^v<;+B zhn${WlY|cvf(gonhT3Q`XFPgeS}2*du}Cw{IhXZ;xg9|k;j7Bxsq zJsr3NZ}3f4p<2u?h_Oh4<9kvh?sR(S2ug{eo>o-nvBJMIpI_Nx!aw+BG4sc1PF!YF z&R0ESP`vIu>B7k&Y-UtC`Xs_?(~!?Pw9G^Uk>Ct1`|N5qO%2f-dckU*z`C=8LpV;IhKfjtR#>7orkZCQqau-~65vGYjQk8nne=)i)BF|H zUVKqSKbk;7`wbgo1mGXV>kCYrpbmXa%To&k}c^F|V6TOWscTD=(-Psk?4g&h=o z+W7lO^-lP|-O?G@#PI`)hG8o272}8b2EJ59nFf6x8WWUZjio`w&sik}M`F!|P{-*y zXr(%ZEz|04Pd0*4(ps8##o^8pFPdoL3>D01 zv!l;+=Cr4_lUtZgnQLoeklgZjix!8fN3ey7{^+iH(0RY4#Uef0;4Y?_zx!>&x0 zCH43(@41(9b52NQ<~%hz_UT#)Q)ERDOJ!lj*a!@C91=k!OyO zP)j;YX`DvE>h)M!IJC|wjaOj!*9k$+uRslSxFjOXf}!wj0!)Td62>$xh6bcgMxBsW6qcgVU3Q#PmlH`Izd#8GnWwXDdlPTZRz&}skU#y z1<5aZQD=(X>;0(L;8)@Rk>imDHj2t74Fr0|x}#$zvrWb=toa++90q5#h=fzGDpObn zdq7sv76;XetiB=-Vfh8NSm#jCAg1-hnFeVEZ^<<8hO`;6e3>F zq~(klYx$w73h5dJE~*rmE1e`1CZipD@52Dwd9tJd=+41Y7agPxYma7{a86wVPF+LQ zQjUShb2eF8LBBv6aXwwz^wLT}8#stHSClDVzze0Ekh zSvjJQ4)0VPp75Cz0S!aBzf6wM{7i~sCqjUxL%c&xyhbRB!OhjyN8-U#rX{B_DJTcl z#O;ZEaw0Cf^RY|GQthaih!_!b{!X$?{AOU)8i*v+(x$|el;uj162+IK<&HFN3196b z$P!9@p&;Hl%|@WN67{IS60y;dir!O}g*Pkr7wam|n|V2dW_av#Hns`E-;e*h-=e zzlU!Ud_Fme&h*MP?y%tKvM9p5Ffd!o8klDSyH6HruJ{`nF_#pnU_7|uApjw?!*LMR2 zG$N9hSr7!}B=nSgf}^j)fSKl3b$>oa(4nIfv^Ubn0~awry{c-+Ns~XY^E1Y?WlG1j zA9%#Jk&!OEq_s2Vs=LOhaD_c@ld7CZSK`^3L_A(TX{`6U{F4A~3TAtbLU?8I6 zWG5pU@=`J#xP)iutV{D3Icm@&GQFgvoC8wL5q4X2K_~&*!({j3un>z;)-E5HbEm6W zg18iBpDxV4?E!8?dT_+KPe2R_e-#S|VswH)qPQW=1!%cFje%M?67P*KO9Q5Lqn!76 zo(rA1!EK>7`DeYL1y}J9=;l(oV%>{hQD(8IUf>l;m2PwMH2&o&(k%=b1 zx{$-jeJ)`yC!lOp7*|86R*K=~1klM~Z$9aeS-s#{E%BH-o|v@7SHS}~QW4=$Qgi`y zQ~~tHYGBAha8e#$M)U#zsvT^>aZ2YdmXsGATK352m~b$bumjIhDCm1~!vrV~K@@(u zxKQ&=cprcnYch@(bW=e&&_`k(z69;ANyH2ucYd|U4Uu56yqd(g%ITbm&mO13F4_vE zOpN6>uhwdaR~t6h8i-eG2u+gDSu_*@C|m)T23I*WlGY##dn(f0NWyI(;vgPBxeB+k zJ4L2LtJ?p_^5v?q#ayk&cpEl^0Zj*=h`E*d3tdNnRa3p#)PaT zpH-|n3`BI(G6D}1^k%NTepdOh);a}P3N$3e*OmSUcNBsI2oU z4fgqVrAsCud)*fg$_M8)RPBGvCzl&AleU*}G3!E;%4f#(rq8%5(0IWB?+lG|wT=jQ zV%|)GZ02K}u#eO_kMQu6`eBSGYUAXK039h(|6^B*xH-I0W_Pns$k)iiQ0L9D0~NC} zMudp$ei+dihj%}9M}`1jT|3K?s=<9i>N-mHIoAig8w!gbcEeD(7T%vS0LX19L%-)L zH@`L_bP#+i{dy>J(vdYXX=WSWn8tY2EQS>jD5|;(VS>R%)u#afjCz?u{J9L43A%qZ zBK3D+pY@jsWHK2lCdTsFr>O@3Q}M<bq#R};`RjZd(%=26k(LK(NMa3z&e$kH0hJT-&moN**a z7Rz2}{X5a$c_t{HdG#k6S?41Zg15{(%}$)(_ZWccR{Vv`22Yz$g`03^u9yCo&Y?mc zYkY9O;O*HD*o~!@vN4Q6*4fh(4aEIrJn! z0eSS#G3?gR@$=r&@T~ED{*T2NM~fK5m9X?CNSrLM9w5Vw-Xw_)oQx~A)|m56z>m+S zW;7wne&|{uKdxb>@@NXrA*kFU4>0K0DbVV@n|gtKY&;4)ob?$l-gvH;&6vx~HNFSZ z)2uV2Pu2h~ptSCG(gw}01nr*3kaBCPknaXkO*CdJ{wVi`mvreQ5~3pL%?+fM`dEko7&4Q;O-PVWKB|4ry9Ko` z0F}vhY|HfRme}twIz}{X+!bxyRK2J|)L81{_p`C-}INUoe|Au4PXRaF?`K1LcSx$t8vkvlX&!! z{RzDD#!eLhgIgvLIo3225+-xgfgY3`qGu3D%@35Y2Bci)yDCahG~^Pl4sVd|EoYay zlBx?J*x`l8=HqI;}($fbB;{dB^jD86O)dbBD4n zN6e_ny$s2=NX0mlA0Z)oABJ0HEV=aEgiy(G%_!$u>Rxa32vr>VdCZa$Y|Aj5+yT@e zEo?*W1QqFcrD$>WQwXGY&;Q3FX78R(<@TCA7T)-?1`SCuh+L?$Ml&Mpbm`z@;omw- zIaoLn$aZ6cq>4M7R#`9`=Yzn)H_JHoOGT0>#yaIC%%O?nO>DQ5#2n8AppBsl4LuM zVKuSPLY&6e+pO^k+Ef1Xtw1FpBPR1J57imc_39>cpT4s zA~&pqd21)z?li{-aDw3+G)dD);Hrz405r&3Fw&bP+M5Ma?OCU7MZmlk!u%efQVQUB zR8N_Ia_0>c$mZCDOi%`*)^y{fmta>9)fBx4yn*7a^usH4ocb18Ms^k5f zFe&`QQyqb4j{g|<2@*pIIYS8wLkUJ8lV-Cy9Z6Ft*t-{e;3u{rYw}^zu&d7AUDYoe z;`{9nAnA-h>lw56v`OGk$-snBP=k$dO(Z~xl+^jdP~^Ag1L5x^DKSYIVW55 zrS^kGX<^9PR9NM>Akm_P8N!l3z9Tp=Sx{z0?cx_Y5fvLgs6K|qiKd}HYLG!{g#tWN z#QbB63H%0lEx1TAA%QyR@a)QP3ONJb0woiy8lRoCyH50lk5 zM6XYT3V_%ZAaJHheYR1QrFUiP0c?{^N{54q)8p1p!s!(G_`wAcpVc5Zl_zk@A7OK0 zt9;H~n?S&7o>WJGoMszOpr9#KTjZ|5ZK@QQxSmf7tB&jO0-{S}o@e&91(2)o+=;vRdBNB28A*MX< z9?Ky-%|C2S3lhBJRvqX{6*k&g5_)R>+)3Qw-G?7KndY67qRvk zDUPb@)A)zpdR|9F3hsMH6<92lq|m&~FCt@)joeSu^Vb?ub`BzR0(n!lETt{i~}b9wYq0#@_#9BQ%4KbZ#MDT-)x^A!hT@K{!4F z8Y}W6EuLoXxfznMQLR$fk1!)^G3DMdH*)L#AY8;Uq~4|a{^3iM#_8B}*PIJgXpSTh zhNt1DYLrB2QE{b_a_Li=5T!}MU**zhf%K9D=BT+mu6PQwff{wOT`O%Bgoo`_co2to z0zoQw!*@=Cu_h#(m{_5pRd8NqgVj{tHKw`Kq}4Rj*QbZq^yS5Dl)vMJxP1mqxLIbZ zWq5VbRAy1Cf_nWoOVss~)Gto7u;NNDkmRpYTn?;Vtkh3W3asx3!~^8ob=9$myGE>A zN7fn7YVfvf%!h|4!5hw|iOhdPqcp>OX$N)vv|JL6q-7>CGq-Qc5r=gbK_=Hek%9jzTJH9o%I>GA*+EI1iADAVfv0*FL z{Sk`3)sLs?v#?!t^V+y-U{t2b8i;nODf(dew#ie5(cl-K|Ett5zx-WIR4mn<_BR(p zb7(~t{EYg^ah^)6iEdo{Jm{}lOnlX*blP1(0zA3vKQ9pl`I0r=Y|bF1Bfx||Hkd*H zuP%?@S~5&5#?HpH@?&wOI2zb^yfPA_*`=A#nzSd*WiGikW%xo*E4mw~gafQD!nSXO z34b_kz7_O&wVlajMofkIX{y;On)j5{OnYO}iVVM@Ul6|E9s@$(`>I?LmtM!vh1-=F zJ&^NPz0SeQjHP@zV&sR=5Bxu&KmN7)qqD6&X>amhL~P6^M;_Du@k#{7Ts|0;Q80W| z&C|du2?8-Z-11b}9v))Mt>7?kab@r&^8C*dHd6Ne5%SVIUG}?^*Eo;0Q*X_ABnW85 z5$P?)e`iIQIw}`S26ivL>$Lgw=OH;Eg5*Rc37b#QL&Z)Cwb9Rm0pM`$5?^Wzjgv&Wos)s~$s}HCIJMH*MGH)meL+PBAg> z6L@X;5;!l`i16a*|5osi!TS-Uy6g&?`U z;QrVtP{wrvatiY#g?~JWK9Om)X2k>L_3cmTM%y412#o@r@1c*~)n3Dj$gbJ0^$=9w ztp6{sD-SYTctNDV^Nh~HHB8U2X9L9B^{#cj^tm;I0WLOs(6R;z0)J?3xSJ=wdkG`9 zl2`-tkq94cBSe>TbhBfWP&NGllVrVjMIUW7kpPpGZ@NUB7bQt4nYy_IqLq$b-fc%-b*h zV}O*0b0A7U7JOhj*YQXtzCBL!7;z2A*1ccEAElJacd(7_OA^4gFn68=`KVP^#Z-TL z=A_9lrPgcgm6i00oa?tcxHz=zdsW8z+OJl^mI7J*_m@djdqQMFyH2kc*81*mK44GH zD2jdWmE#HX^R6VWXd%zM#(-aSOFz17cXRA@yaztD@dqK{r19%aq}Z(k;{rM5B$ebO zruX4^($z1gpvmQX1^)6*L+x1v2$hcui9J=+Mx59jT#_(X&ZePuQ0EGL#_y!?LiGPo z%@A4*T}|XgyO~IqaQ>^#iMjgY6NZ>bBl2OiKo0jcZ0IEy>D`_)*;A@$4O<&*#mobz zYiXmKNoqsSnK2y5&0Frazv<~mgI+TujiVJSGtu|A`ozN|f8oS4X9LCVcVu{GM|^&( z6=?R&`qrE@N+wWTP-mu2IQQrKdhc@UTVdWp#1j#3wpw?Oh^ZF^_HVmB_clJ=KUzJd z{#}ZC3uS@Tf`-Qb9YgWpmz~CP-bkf7`Mv#$PUDHd)>~cy3g^|xFC;TFiXs^4u+W6I z83~j0o)cex-{9`%%l;nx^v08MC{kmYNQvM`ONAn6jbi4Cz0tiD!`F@30Ur^Ly74Po z1r=FuCw@evSy@TLnxs%VYgf&34$rb^7MMHO(cA6$Ql|{@XF`V_>5Wlm-1=1L;vIij z+38yF)c06ar4PIRQx+s=IeoHwHH5NY!ll#_JBuxStar&Y@f?dX#&yZh5aE3l?qS-n z=#qC4_2>c4=v51rsKOstiD^eu&KQ|?LS^#2^1-WV8oDO`{|<TU&yE@}vE*F@wUunlq6u|o{a`TO|?N7}{YD>n-&o|=uALmzg zBk7Lrea#X0>Y7-LChu=%BoNI)PU`QsW0NDt4uzUMk84EmCp|<@Em6TjHtxNxojls( zmX-rWP`YYHnz(RB)-hH@f&)~s6PajMxrX&Ft-ApG-GTo|@t0S?Om1uVs<)X~`)hIj z+WDjn*L!mq5tUMqtzit4xx@vjz};yqX6-!^4pnjgRuetPn{dg5=y{wMu%$YOatDc3 zIMLM>U#2-;e{ccPk6Op}-7iCe>2H@=Ujt*G`X1u8-G8;)T~B4xS|eD_>fP`#?lI9Sd3xZ+@gMT>OI*vlg%WtTX2xHx9{!M z(O?+`!(8|b!9V9SN^_IQG^-_Av05l8j9QK-(xC%pgl@OYbAjdVAn>yTREo+{c8yIQ z?_5oRS*dt#%#Pw`rA+%b zia5-&lv#VMKoMUsQ)Rh^Na$%c>e&~JTmM%(Ov;{=Vt&5XJN$1)1LU4xA-tUQ$YQ^` z?i*F++(}1zFmvxBxxd7)D{%tfzW>-=XaUSnoPn^K-e|ecBzXI##razl0QZ78 zl(D@LW3TT_6qaQRPaaHtrlxIH4r&DaoOv=o3!Te}&H>%H^KU}qk*oG6WbQG(3cYRD zalKpm)*=4=26$s38-LzNwof=|x5e%gdyLQTrCv1hD(9OD|KZJGPGmA3)#t8&lY0WI zP&g`u^s@_H(GPh47YWnq}Zm{e4+x0FZ<@FFQ*CVm(sx2FujP$CuKJiVb zmDX0@k^Z_gD_`}p-Hf+>99LEkyaSvS1sZ&15l6_SJ(W~CKb8`4m3>Fhz33D;R*wsW z2PL*x>#z*-68Qzb&7G3bp~@_l`KeX5E?uTJYv0$d9-ds$*`BJ%;@Di*yBuAKOo6+Z z^S3uAN->iM+f~_Kqw_^3$_0LHbI1RV8}g{|N%w=A5J0i}pZCOIU537Cs$v)jC{vQPj?6XVG?(5e3tc6)2hH|4lA# zLt|LuE{%ACfr>yu@-B~YUHtV>=y!6nIb1mj++sso7(HVrjzDVZfkujo$Y$!Qy z(0do-%Nl!DU@5%((dHLcFe8uYWunLy~uYC~FVc$9q@9AIEh??YNR(CLRqgPkHxZdq1=EY3rjlX++j`{g$?0YxiHKj;qpowB>uiLH#9M50Y zSwxBk-xx~%x0$G?bP@2_nTpB%jL57)dk6DII0bfp?LV;Xob^4W^Zu1buC|fk{uD}r z+;&`pKNj=N>SXT>U+K8$ho##Cl&5cS-v? zLtwGgiYCTK)^xM#d--a5yC0We8p9VdJ9M4n0_uaF6w!qccDuLkhE87X3&ca~hrSEy zRr?71{A+2$`6F!(E&j4bnW(&(e55OXhn~#Mt*5?YD^TjA)Sg-QyPuK1I=f!jI=gXp zHQ0a=FxXN8m=gm^^h|-8v>K8m3dYdf3!AY)Thc*ZlH!p{_k-lCCVIZi=l#3221UDb zT)6Fg70o&OrLxyO4%J~dmj12k&k1rFK%8ISUs(Q(A`8s(n3~oxe#Nq)m_;$NdffV0 zJ@&l2UuCTtE9<0j+`hL#)Cuj`bHcP(W=emp)1~HqN z8d2=4eCT&Ai5B~#$_SxJ&^pfddmg<8-SqVHZ6Hl?b$77P#+u=s`<_D$q38bHl9m0X zKlcB)m^6J9a=CSE&NTPe>k2CU{-%4WtV9K1Eo*!+Le6_q&~fuG`T_lJcv(arO7}I= z<+|@pT7ZU@^s|y&vDDt?RvQzj`t#%YQgW+~Iz?(l+_Fh1_|)jFw-yx3tm35K&aWYGLyMds1>4jOi`<944Xx zCt0gSYoZ;x>#$(a9y?BGUub~#t5|B>oX5q%F)0ns>)8i=XV`FNin=p)UBGVtc!v4; z_B{!C<_KN4Ul3F9}q-2?Xbxx`|=e|Zp1w%)d^L8+*3zR#}Jv*L2Pv;zQW zpxWyNe?o@Ya`H#e+ZUq^BqZs|OldNt1^Jym@u!d#KKc&;FrK9j6hV( zxrG0KO`q4^{M5jEJorj>#bF{4DiaX!f&5HU{aN0K7um=!Xj8y4tjywe@>OKxy+*Tc z!j5LJT6vl@>(KZViH3K#?X)a_;lIK6rjFm49xZN@oXaE*8)G_`uR$+ycm5WZxW0?i zF>Z89o~xeEkLo=N{!IwODtqk4oZad2 zSXfkBazsUv&qzatsD9UZZY>+iNNvXfMd{(CMi}FEZ&$3;#p&M=y5xQ(NBPJ@c|sC= ztAe(T5>X0opVg1U+@_yMg`wenT(FTd*sHku)#VD)!2)jZkI!@&d>h1vGaK$bTKf~Q zxU;OSqYZFf8QQJ;W9tF>^03Ajtk`>a)k=ZUKljluw6KAJDe1jm=No^Fo<^pr{`0$E z28g74oW4b0)-1;DbUieSV82!yoN9p}G!y2yzko`wCacmD@S37nRzT!5%o_GFu^vy} zYR-WtP~zv5STY#u)_tQ&O$@PSFCRCJ!N%CfBduI!AAd|KHbjPHofe?qJNnIXw#>kT z9sJHLG1i3wTd?w4 z2O@3Q)0D<@u*3;plG|;j>3I5=6OjZL5rG^bV=JkU>?#Ewh%!)^BCd$(q13g}Z|z8D zUE(SaTPnzJ9T&-JOAA!Nx-*>dmFw**b{*nNuO7A!N;r3cEyrJ@KGm>ZFF%W3cGd1&Hfe6po;=$n4C$Z zf_?adCmPub`?+Qpen0%&;$gtZ=oHMK5(s(VRH!gM3H=OaB55pQkN%#%K6%hw#TT;A zo=4pHf{yHA%2F%DW;S;H?+mI`X9t)Q$r2_Km%uMJBzoAVIYqLA9nAIWJ`zO8VRYls z*qR{yyLWX8uoEC;`IvI#;3k5Mucc#-nFHC~JkA zT*X{X^}Ae_ZWLz_W|{{cqOpx6yqi5mK=)_RTihTH`#nxxr`5~@yjIUdCXqpS$}mnx zIiUYlN2_6Xp$h@bpiCH5r_<8}5xBI-iy4;>20l8=C0$5frj`6_@3bH~%xgyw>G*_QYr#gnNMeohYLZ#yv6<$G3b*WpwHvi4K|8V4@G;cY zN^Oi@*teFb|8c!_3T)<)#~yTAhj$-?$rW@sWNhr_qn>fSpOH6C*BB;efdx2nIXK_GxV~=}k!BFV6lRTT_q5GlKow{FU28 zaIl0MtU1H^zIK)P$2n?&63ifQuB4j8M|)^u7dW0Y9l(*8%5{a%!5oN%6wgE30y_N& zaW$pH6OQ__sD^b#utlEIYd1r{?^^F36|7Yg96PH(fLKi>Xb_jVPus`_L@XGj zq!FjfcLUk%NY4)oJ1oQf_%lvUEt)oe+>7<1cGyM*$;ou8_ruE(TL>t!yxm3ZGTYpy zW9=1L+&#|PC0nij?tW?h$nQ9)dzvGH2yf*Agd1F;6M+MWUh7gMFfifjGHb$QQtqk? z?k0805P@GqCKnj+n3j=B&}*m zsS7WNyT*H&e!QCFxu-)d)5`t&pJ0t}ck2n5{c8h3)j3q!XqrK_LemLQ{MN%i&56nO zla9Z=DG!g`g>R=R;D>#%!>YSCT%7WDV0#xZG>IuOK!34&2jI59|F+kydwvCSliL0_ zaKhnRqxMf%@5)U|9k=4up9s5tCOV82_$TZ%KfZ;4iGuYy-=`2DM{_OBfxbun!lH;? zn~ybplxj<*asSm0cuWYp-fb*gP_s9|2krHM! zlhr3-_=pDUU$H+WlJ2+5l-MIbg0(^`&b`2z9e*q^nMWMj0kgEyTUge?&%oy06wFfr#@UVg+M5dg24Knz@}GeIQM?KbX;H2iTc_tSj@ z6ZS=7xe$YKg6?5E+JW3yd^I7e=imebs4+n8R>lyK5gpdF3*5e=7}{uK7N4`if=4mT zeWw59>emx+TV2?oScMHqvll$cKbaDwmCC-}I!9n5^pEcLaF-cnpSlQ~)UyYu$fN{= z7rkJh0qlB|Ef_SK6!9hCK{K*}6B2q+nGOb+>TG#t^{Ol~F(3}BQWOX|K>1>8+$a{D z@>B$xDaC=pS_B}y$hbg6t(FEY%Q0Je ztnhE~-yu;30qu`6V(rS93^KM_^Qo*884{l#L5M)^ZE4UvuTNEy7BI`8#4VUzv9{nz z&c`D}6A2%h_q@g9Y|jP-S(w3g_XtRZh_a{d8*;YE6!`8Yvm;Y_(5+deyMzD;GNZj z)j3jL8)v(0HfaHeBA$=LeBL_rZ6DaaTU9@_>HbnT@_hDs_kI@(Q&xeo{Qg^P-@E-B z9jf+=6nn+_*9l18dn0x3qb^vgKZ|N!c%NiV=mosKI-mvr(lQVm_Vm?u@o>}xk995D z140YRXUNc@&6Q09AFP7f=EOvxzWtp}5!nA6N2}MZ^uriI>|(AOA$vbU7;H z02FwxN{`S`iesj3_XruW#bF{$TX|aXc@PY4q0cJ^1VNt59Zr`~Bd!9uKP+g{j|7JO z-&0H=_8G1ly-A{AZ~a+qXP0qt2l(#&wtD(D;oo0P0l9+5B3TC4ioUzxa}dS_ShszK^O^`1 z>P0&z=`jLtR{nScO|2l1W;OXcJhy1rB+JH0OxDTORmX2p-Ry_wI-TfIJEqz5Q0Goz z&5IwjjO)*l_$zQa*-o*zAEG=Fb!mzy;Cm^I$QvD;(j}xgN~>c!UD<-=h9@`XGQ78X z`UnwWwpOZ&wz3H!A!K5;=Dj_!1|=i%B=k&wt#+`I=@F!3``H>dH8iZ3{==ouzA8b5 zOB`M1dg^Lzdo=~LKMaZXL$ZuPE;&z{2Xz$(k zEaRDBu?{s<#t~4C7ztu8kC+ExT z5ZHd`rlB4h`7*w0%LESvP-ggI4bHcPsvKgh<+;_q@9v^ZK|Zoqxlr*c-Q~E@oH{y7 z&w1W{@d4I^#TyqcyR=y4DRD1m^zZzf-@+HWm^*T33{qI`6H9$F3gw!}6lIU&k#LN` zmT2->X_^{*@N_M7{v|Q}o+yzxk4>QbgyZ+WxMT)@0CKEj2G?A5x#5`5ybq#BM|D@+ z{Kb2pEu_Z+-+Z|DyLa?LQE~gvP&%z}vsm=~Y0>cJt>`;1j0*}>$ytT#D+2~wTSqP7 zt&)4+TH$3Unn0D-hVV;8^nKrYt4iUzEd!U#aiyz*`%Bect}Jhn@MJ;OCcO+2C8Fac zeG}nJE#^-*^C=a<-;L0JP2nUqyzlDgaml0+TV^d^Kp$Qy( zQDEp&QQ|&Yx|^oFaV%B=D|S-dWm;`h>ORuLko!ppBUYWkUl%NZo8V<8fqA6{H^7^n zGa~1Y1`_nlBX0&^Tk#ydKndt4VbB@Gl&|4l%|Nwf50v^6F7~IujSH8hOsL?O%=1cg zcg4or$c2+Od#V`CVBd|{EM=2f1<6fE^^VA7J$;X*W%G(TzoyuRd+#mh-m9Vhp^#aN zVjz@;Fkb`cJnq@;^q{`B9l78|^k+1pE}FYfwo@;-J`;HVP5>2RPeCay+}flvvfbJ)85meWssj;V^kA#-4n`Uwt;#6Nj3u!rWMVxQZqFQl|pk60cpLp$8 zg){LvMy0i?sreS7d=82MXCpuWW6w?Y_Ag;wrKcHZwD0-WekYGJ+eC|KWg z%f&F-eb)_3Hao&-@D7>^n7&?cfMcwId0{}r!4gv~TK|y>hNGm%9s5J^TE=!I!Pp|G zLX58$)NC;o4OK$Gnu}E?13>(Z<2yn)9dykw^~oPibJ$2vp4U`_ERhsq-W@C(iEW$d z597btAI$ky_xC}|I?l$S{mAa(=t+U@yM5y1 zhXtQ#Z4D{t)vb!TUT*Y^-OOMMrvvcV0P&@ReFuTz>gMX`_A?WO^b+rtD3m;=!W*{O z2jqa)J^bGBMhnJ(CFLuUCi3>}#+eR`M&F>qgWdlJ3_Tr<2Vw$Q)_*6fp=L~EfB~c5rn;nne#vbS0?8M! zsH6GF8nJjH!=KSEmv`$ZKh$T|)0KtG)}5hrS2d|pJlW$SJC00qRqULbRWQZzZZgZM zwDD)%fm+Mmv`?dB3ALMjMgPqC!HG{I{VM;VVOU!No6#(GoUqdnr#h+ zw!;e-K$k|xoN|=vGEeBIlmx!xZ4>G&H+aCQI5!{|3HJ7<2-tA!JXPRu4>NX3WR8Qy z?B)QJs$Y5Z-YEyB38%^LA|cD37M5{o?K?O=Q#B*$mPjB#7QZ9|!k+Dm74mYlr@Ff;_ zi9H-ApZI=uVp$d@>)#DCBZ*{F+_BEAX$gBlD$AS%KgcIqe^CJ}K_JRTdlaU>k$3PkDUiyE^ z*cAU(|7K7Sg0+w+>mAJ{=z-=&p!C+1DXe@bDnxU?2&M*4_k;%q*v!g|cRrC$E`5;c zDf@h8`5=&tf28`W5^BoMwKk33Hs$na8-6dx(|kD0;OeWsQI+?HUJd+eMpmO1+DCtI z?3q>ytOWu0|CkZF2F1SZWXqZp3OwMB6(jb$7URoXw(9f~bt1!Qe-^FbN;lM8+a04I zB)oY%xc1GTonkbv(+UnUHIwS-n2uqeE!Sc4VQl{7Ti3wJmA5id-VwXg#Ed7Xl-Cl+y`!^|^A*%2^m33wu!C!khLL)jZQ`t-*y;=A! zePupcl?^9*5fL0bx!)~=a*Rf~hdakJ53Hwcl%4D;(^|H(E(oJ7gRAz>MtDIn=o~Po zM0T(&5IB>D8JQN&7>DFQZ(i}Qys*V%1Na1|a5B82y)JT5aN4HImxYTKSOG7dG_@kN{({Ii%@|SPh zc>Hk=ZL_q?9*;+4GbhoRDx{P1zdct$yM;}sjPBuR+g?|QATSl<*NBDZf(=8ertbnn z*i#|tkr#vff$H^?0#vf}YGD3b2kojHfb$M~qBKlsg$>-h$r!l*dXKYKOS(8KL;Eg* z0>+1AY#Aus>@n8|&ESCAD*Uby+szqS&5Zp)Vap|4lbQ-8_VgLUgtIZw-GgFu(>sZ@ zTMus4y|K?826@H%#QtJq!>tT9I|2r83iixMkpBkiw%jNa;Iwh-IId*-7UC=GGxsqU z3bviyzHM=&*J@iS4WDZn2`S;9UKN?GV76}ukbi$+exG4;zal0Y3AUgwCgsYcK`|yq zIjkC>>g}ZKOo%Dc&9U2ZFSTD~p77>&BWM6rP4#$nJN+S3uD{oz$Qy*W&cL^!7Oji> z;cNAf(ln5?`TAEIh>u=W5X*L9_nba^t4kgFad!hYeg4ce*=1>*v9_C`lM26&PP;t!tjm^}(!E55#X>Uq3TpdyL;#dRxFsr=K1KF-BD_|s*X z36Qj1r3FN!K}x#2;jNAL|HpXmInZ&h965XM z@B7x8Yp%KG`O6z8dK9d`w#~W@os+;S>YH)s8rbN>!I$iwUsdIsnXmLDXt^wB-rh|; zx4$&7-Y^nXEMZ3R@9tTw|KRIAqo{^LUP%Xf2!yvsq}R3P&YA;}6sQAW)0*y%s9Qs1 z&3l4Ky1b^YT_|G`0wB?t)$r3Hc_uU zh&M(B=6bMkD*+bD{}J-(*<(rEw4R_lU!T$%D6 z6!abGHLW*e%AJz$@wj^Q*$wnLQA}t2(W>lqPwHO7Jx>GKKc4-v+iON(s4T!xfIx*F zE9?T88vXHZ$SE0;L93`K!2nI#2kpyleBFFJa^ChKzoQ>lVynXtXbpEj`2+3*hxw@3E! zUjQcLqt4Uo)Uo=_KugYSn0@gUjEK-EN^MHBOv~D`o;}!GJ8#(Npqum{EVErgzn$Hn zf2{IL5~X-M#rx#UM_bUqHv2$~F)>`KGLQL_jKkln`~{{;$E`D1@@Kyp$|owPJ;|L& zfb%Oa3w)x!J;YEE#(zXXd%5+~>tImK$Dg3RQqyQ0KPkcT+UBI2u@;ZTd10XM)!*W= zbct_)D>3qRa@{w>-HJ<~>`|7;C z1#GDYO63>}>d3sy^U5b%CFvIi8DUOACb;Ljo@k9=(8FBsJ-q>M&MJ%a#6>a`|5zO! zRs$mH6LNKZ+QnGrwcVch|JttJ0b2XfRM#mc^Z4_SBA7kR>(he|gg`PJMZG z1Dq1-r2`l3E#--CX*lg-L0~80M)O6D7V@AsqFm+SBF(sw?oP7x%mZyCSBN`aa49Xo z43t(v)%6Dm@mPj|G^?rik);&OwU3<$UzHMrc}po`jVBG2*iai8j`vW3*dotK0Ftwz zh77b4pKwJ+nbBYQ^fGg}{jtPGVC3FpskBOFoDcNB#V#yZ#FntbJUa953(}fJSwp@t zI=x>b&)W}XIGZDQ6}6UB$~zduUGF!buVSOaAXj`_^FNYWhTNNGg!yMA9!O#*H?EXc zI7kye4nRgd+bPu0x)auoc@6!qQdM~BV_5%rP}-s6_(E@1hCj>bYK)BgUv@noXXn#S zXr1P_a){0?{0`{kOH1d6wf z*>fj=n&0Iqj1`3uehW3?K}LFGUbWSd5j?(J>ncs~U~^lwy6aqT(nHD`dfsfQsNo-L z>F{_AhgZKR^b#yzPdjr6Qc3ey7Pn@R(%*g*sug3pM@G`Kcr$^2I%QP^8VJxvKwytf z%c9PO0VC24OF`G7v_5owZbkujs+$&Ih@+n#Hx&RE_uigPpB9@$>>S4k?KdSF|^*!p-6ydOTCK(n3s z;KB8MXbGv~D6Vp?4hf+LYUem>t25n4U#%Jq-?Mqq_>3~@egH9@3k_^{d=Dp2MYA0~ zM*{et)C;y(V)5&rQEvQMu^Dx$r1|1#lju3U9}J?RJT0v00gdWc7fZY1o5pD5o~WvY zedYo*+nx0V4!+sYYnh4uU0&)0VUy6bu3DL-Nua*+tYGL>c%pgho9BFhcfKSkM1+rb z9nQ6bCJ9mQP{8hhS>LR{*ALX4GE0m+x*|0GZT4CGEd%PPhNRGN+DEx`Tiya#2bl3C?#s=U9^|C$CJU$2+6X}9zfad*K7 zQ&~PvW}BM9;PI;7$os>&a0x^E#HkrXjP#-b?yQ)NPww99h&QBaH8l#tiez#leDEx3KllcXAx(y7>~A9ItPNr8 z5r~Sm=R;RVYdZZctCwNan9??}l`%dz<#q5K;-^});_s~=w?4a#;nT*!?Ga!o3C1Md zGEw(spUkH@apkc>sXtU`{f&ZfX(|ErumAe?9sOZ=wCqHB88$5|1xTvb?Ci^v~s2Klb?G^rOq%z;$N8V^n=R$)7biMDnU7 zTcbMnX}#e)yT)f&`3qmB=OqcTT#M)ND54a@7~`pY*g1HIES{9TgmFJ&jGC7p(;9gl zk%7OPeB?Ji{VX*)sEP6R&0ETyw<<~4qxLL5_fq0)w!k@It^UeE2*N|LZ{oC}La$pp z28+b;a~f{WBKgVuW(TIt8vf+ustB@69U3C(mKrA%j^P>;kbd3jE23cc-2RB7;c%@)?iLw4=qu+5RgXE z1A75BMy6i8@GMm*h7_r7mhh*d8h4OT`mTmruh_ZdoDWTmej%3t9dtCtk03TIO?YQ| zr^1Rf|Id?_KAPqK%hLsShzh-b{P=v zQ7ZO|Euw$Qt`!HIT>1lKN;@C|#og4$0zMzoFIrt)nx#>NBf%NBEV(t5nn%Nu;u@;&Pm?AiMT5~4Nn=zh)in^GUMmQ3Ijmp+3!tm#)EEfYV2`TT8<7?jwfTlCQlje2 z?lomSK|7gbRtm(sYr;=nj6+^b#+1wcfid3twW9H*CQJoB%_Wwfq^T5J4?{0!`WM|7 zzo5_gV5s{kSZO7juJtyqq)Iqj6+2?t^;WAmq zB_;&P6qK@tLL6{O>khr7>}sga&tEC*h6YDXA8b^{poRUHLW_dp_DJLUNCxIbN5kJj zCh(>AOM{xNm>QE=7GExeikjQVr371@^W$rdkFSH@F|hsr-chq^DV$-jDf&cz8xg`l zecpebQJnp=G;H@JJ;Hqhs4rT&<5GLzCiLT#YmEP6?K()MYm2LM`3P(Cki!NxIB-3q zU&JvuFOehC0hZhx0e{Ck4I_;s8)zS z@o}sd$|DsJP?(939OETcFrx~l;3HM#Bjsc!SB>Iae7I$vd2rK|hM1A#+1-$fZ@{!n z_nz?(z6uzXxdiMyGNBSdEXq2iIblezvS>uutVt9FR*>4{XlRjPB9XpTMV86;eJk)A z4bH76mSLDDzVw#%s5Lzz1^^!yM2LwHFxE{&3<&;LV~G`PisHBj-afz@p^%IjE1P#- zl|Pl2a{f9x=WmE@wqas7U4>0J$NrA}3# zi2592RZoQ%nx5S4= znp;0hi@jE#-ojZIe(I8V!<{E<`{v}ENiEDocZc(?Y79ky=hk#Fh5dNCA#8YXRcUSv zT(VQu#o(sT7nDSB(tuN*ib*Ib%=L-#QJ&h*q66C~(1_Y4sMy#oq(RxK=%Z^2G}T#| zzI4!H5y~a)@6*iRiS1kpN>}^-h+3|Nr>G>rMMqksAoAiv+026vk=#MgIT*PNnwwMc z?>u4*A;nPO3737@chNt4ww%;I?2iWO2( zXPjFRznZ3BPdK#}#%X$Hu%3%%1gH)ZX>$G@V32J9%_!P8-J;(4sUnj{{U5|kXTe3# z6_j6;QDKk?@g`OY?zAqaGr|x*hXo>CfmxqB#Q1vE0wGFgA5^7(-7~rsYQ`V`b3WcR z`TsFHl#{-ZbLB(d>-L4#OZQV^(sO=>INV0lC6>WXRja~&bWr9pD{zNh@z%AVv=(e; zMqIM;i}qYHOJTkL_iLdWx zXvXW9M?N2J5Y|>c=VcVDO)^m!WT(R-lm|*T93EZsbUY?t}Zno34e{ zStk=b%r6(|hI}LR>Lu^c;r-;Nd;hem{oVJgc!lpVv=pZXWxe~j8f-`mZ^rUChhkUD z`ZhA>A3n6@IhTIDY58e834_0lrkqcdZL^N9Lm$`DElAZAiEwXB)E$wF&0lrhju@V# zyJlo5or*-42xqG4Aw#6vY`k$q%GffX37C4Pb^ zB?hS0+25cPu6>i!CS?po|9i7Jgsbi<9xsRSfbpeJg;&}nPgL#=q_#5JrXVG5Dhp(h z23_6gCb3zPWqRE`Tg?|@&SilUrFluk=en>1J6*NW5}q)?T+1|epPF?fL)kQ;RtPeq zm=D+4a4#T=V@j?6(0JZ!N)oysDouV-tFs|n%P)fRl9w;MuFYt^+y#69K@=pHCl={= z=lsB0{MJE!N>EUG-*VgJmu4Xpnw!!-Nynxr_|EC**%AqFfZB>*S|&rnf8@3=j2N3~ zpF`gJ5Qv*h;W1YlV*Fz(dRtDwRs|_wkRMkH8cL^I=1_Y>-S%2jn427;u&5#yQXz-? zP^0Q*!au>B7H(AXXR@9f^=Ep>vNir(YlxDW2yjvX?+Q%R;D~{r7@PY~7t$*T*1I!M zE;m^UxtkLpQ|(t)0{ACVtrW6|Bu$J23z|!LD~5WbuXB-IxrNLVfw@wEXP^B-9EOcG z^bMS7BZoKUqeM(X-Q&+gR452fOT{oiYsqNXL~|j@A{MFEWwzfemIeHwrfTvHe~WB_Pz>QF+2r&7 z>C-Z$zTJ$>i3hv_eMRPk*)}k(aI_%|q=gZ9l&qqRr6T4FYy5_EyAwQSotl3qgjXjQ ztL~>QN8vS*)n!_cbzM}ywDH4U;?HGgjdQ1iR9yX14j3i*iBAG(OGr@|?lIH`1%$-J z3@BcR?d&~h1n#SqY-f+a9xN(>h_~R{OYeKmG5TOYkg*nH!!o$>%S5~|(`7!QD&Z5i7> z#Q~{aNnzAjcev4I-;R#(qQ2I2J4~rUp$Zp+aZ!~ONpMQga zGE#ZxTI9+ib+w2*A-Ki`5)DlL%`80!cO+;iaIfOA4MRgcp5I~8f1RxhJS?{`xIclY z4N;|1Yf|o6(LRIOHqL)q?KrZ~)ai&WMzEJMs|qrWID!fO{|*!i6~FYx?D^BEfvcc7 zuIJ6xM~(yq2rQxJ7x)YtG_X@;5yTH}oTV_Pz6(B=M|Xa>iat;fYBUl@g__vuy>(t` zJRYk;4k!j1LWpR{HiGiIJU|a*htPd~(C1?sc~t22^8y-XzD>l`FchHv7MgN0B`(O8 z0^za#7giqtEdMPFB0co6<%A!XSp`p!X22hf3jB(~CqGvXvp_}h4xFWtwfm!Tn_Q&@ zqOCw*8gfi}Qm5G*VTU*>#fb@n3lw^wf~=5rGlc6`z4y-1e5$$)j24041~1r9;V^7o zlQ?8#*0BZ;JeWrYVcsNfRz-#-hT^Io^71Oi{Z*vz)};+bC9*B| z-vQF7v<|obJ-h`63nWguE676F<2h$f=D!9rBM3=TARHa_hbptaxW(h4Q~rA;coKb+yp|9S(a&Sv-2l}$WF&cN zRcK!wvoQ;HW2?SiHxHVIGWe?Jp`uI<@mVjTM#p>R;6Vx%+(Q|Z??$(sk^N>3cSdLfSm>sT{12HEv~PH^Bf!y z-UL<(fH}4E`O-qx*~ng(DY>WLN9)(}NK!OoqOT?nESccl*`uO2))7jJ`yZv{D`1M99+4M`~y5!zci^ z_vGixL{0-tNvaQxxhKx!Any6~EuP1-kc|es>l3}nr~KkOS;~{u<0m$y9ojowUm|Xc z_<;gd`lbvb0ly%f|KAcl3|DV@s+eXz{#ay2)<@Nol!V)|rNJ3V7cUj1z|IAvuXTp~ z=Ns}3BO>!nwYZ!1Xnt)iFgu$!zSGRw+P|%2GlTiZ%<~`_X4Nu0UsQZ2W?&d@ezMi4dyV{Mq{SaCGvRFZHp4k{cv0 z#+<(59oS{_Du@7Gas#GJEP`>0jkS%YpoB>I$6UE!mJtNq*mUXr)9_DJ5I#f1>rA zR&Z{B$q69ljxb02c%VD4o2I#(=8@P1jJ7qKqRYG7GOkp{{Of*t7HgTU&o~leE-D~d}d@f+EPcxiR^_ZD=MjI6cB_ID~!^S`#tnqNWbuW#g znQN)y)6F0#r9spKLTk^fTYP$Y$rDxh$b*=NJ`03l7#f@g!w{!G_=~ju=exI8=$1uO z(qjfSeVN27fsmRCTV0Vzr}GQWLQnSdi8{2a(F!PUE?}CBv69?36;O3iSLBKDF;#SR zbvsFO+9&NMhAj)4`tx)*l+U)62g_{@4r&-q=H)B4f894M(#qCi$|DE9x{wDqInNu0 zpUeZbYA(Is< zIv%)lHhR5}yVV|0h0&Th5ef~^V7@-hj8{%@&@A#v8rzReK z;&nTJYX8kSl%p}`8JBD_4#5UzLa1~m`&j=o*ALPx&bUy1DACEje^)!paEEotS zpb@BBa7^l5LPs_7!Y^+t0lb{Pko5F)^Sxev0zW^$`IQw}kwiIFRkHqkeZ1HXr~c_n zxEB+|J*Wc=KUP*=W{t+l&NezbJ)ydM*=NYAIe>uX=dWMSy9x|hDl>U5M#?tbWIGlT z20zK`)BU@|%jq*`Ej&mrw~poiZg25BKuf9q^o}5pZHOiW2%R*INAu;xj&#t;zSP1@ zh{A;Ci{XFO3^xtr6|**KDylkDxY^D9cFuzD49E2h4~CQnoQ`JBly{{2-z&(* zqIa1#)b}^xpGw7u_8+b~!s5m#`j4 zPB-5#I6J&9y7OE0Zbq-_>Lm;`-Ex~IHi-j;-@kt+?7W=b5UM#EThnl)RTA%_(A4uG z^4f1)KRVfR70b?^vOU|i-RRe~eOG>h1V546w>ze#QoND9J6LSm{dNuQp$^SPxz|xS zC;iQ#eEsV7@!q{}YaYmjZ3ud82~yG1=MSz)oK8#3svq6!pYNK4WP%Jb!H_zr7b=`Q zu+fw%k*;d!T~ePVoh#?KkFffuPPEUs_|6F!DjCJm9_HCMt+xn@<7B)%$Tf)l5x+6u zW&>LOV#bz^9A+SsTI_zILn8#J7%(uydu|1zSH7J+G9@N?+Qpc3baXQtf4;dDd7Yhd z9IgEMR!w_|_TE0R=9}AIj2~_BP?+^d8JeW*YXN@#SJN$#$)!B{$?xxrljBa}8SJCe zdu;cZOQ)LL2=+Q|@yeaQrk88X9U#f*O?TV*ZA(?Yv7Mb=yJ!6qVy}%$UOooLQIEaq+9 zYG-a8UEPl9-VEhwj|CHodi5+s_j9KzVN}}L~ zgC~`SEYi0@ytEQ80M;ro!SVGT-wz-6zN#=|Epa?aq{9Bd5iL9-V#)`Lo;|YMYUqZs z{3sG7tVb}5hwxDlUys6$I%kVo=o{t{ER|G+@^+4RU#!yP}K7332U z5t*sH@d3Z)WX1N%yL<1-OG`^9yKb+27uy^4%g@i>+?8SWiHeF6u8lzUrOQHEZ2R== z>@)Y%t>o*<64~a|r@OXiWyfMD@AJI9K~w9a>~+{%advvtA#t-Re_CGRkVGk2+@pWa z{q$gtBr-NVj5>L0%RQY#f8ocMh>_cV^Xq9JFC**{I0WKh#vUW1WwMS#aY6~R%yPx7 zU&Y*a&Bua+DBJJhova#c3H_q735e8Uq9@zEGaIX8FpRG3KIKbq$@IIw zUn8u0dEagJgXuN&3fSzEFTD0%aHd~SSEo4Jk30(+c$$}jebPpK{7^0 ze@^$l&WX*e?NlTs(Yw#x9HpTgXznA9NVVF-LhDQn^g{V66vw?FSZ%ds$j?p3X;}Vv8peRpnoy z4hO4&zPse!O9Qf##T3Zo)*sq!#y5PE%}yk(q-2r^hIRR3GEr5kf(*xjiLBXP+9a<- zA~&;+C@0@`u|n1mgODF0LR{T~`NP~Dll?si9WRYqAnCnaa~nUp){qfM?}{xgEj?K4 zC9%6Yru*mgbg!1d$;qjg-uQV&Z0EB^NYI?C$+Q@(q&Qzsc1IlYZI}A<_Io8xdP6=E zqQnn-B2%-nvP3;Mnl43k%@0i#+RlYr^b&eXAgLX* z;a0onW(GHF>$W>&%2{;^+nC<#cw^J0BZgZQ+RkRSwk-oSySI?1ls|tpq0OONED(V$ zGaHU621Q!myFGV{H}@g3=V70)*47-Y)z*r7!s&Y5X3}+d4397QXmoC3>i~sHW$$vc zZs;=u$6SztJozVKBHCrK^ z`QBWb0-^>^ed-jG{d%B^cm1}1GJbYqUVVW@A^W`?e{y%SlSR9~Xus5(t64^4Rc%U% zBI-RUF9!5qsJqj#k;&S(yZS_D^wCmN`(|g)Y*?3%2^cGW;rjILn@9if-pWYen&)0M z@;De!VPRp6AHa{{#h;gRVJ)H#i@i^HUHYj#kIKE=?!CV6&b+S4m-IwsgP^V|>?b7ljAV7qEiQuxS9 z(yuXrp})rHLQCY4crSDP-zsHrHa{*XcR%{EzVYMX@`G4?XYD4J&1tq5r08|Co$+(( zb045|*$B6F|3s_PMSh5;I>1eP`EvbIL9O`8%>Kso&6#|ls zB!5U(T^%QqE~{}PDDRx<=)pA+G_RJrs9Gq_pSKxge`~9k8Yl&+*IAW(iy4U zZx5GuJ$Vz+?udQ!yt>J!_v`h<&_@KKe}qp4u;*Wf(U*pvLOL4sW5&3kE(W+g81Pi4 z!(+_3XZInrBJT=DtSqS7Vbs$US;Zl{>M^Jvn;_!q7M)n7BFILr=l2>zN7~Fr0W~YBl6hHyxew#G-t?g~v2<=D~Y;+kF5K%{G z5GT5GRgZag?L-t0S@Gh38m&B7ZzM8?crm}Y824rEZz<+nPHE{*0>ga=HrzVszkoOJ z*I`Y+6F+*Ho9E@I|B?hE21JjNy#VIs2sr>ILxnI`9sOgETE=k|e5Jtgbltt+(*N+u zOz#iIwSb#LTJkaBCr5jr&O}W}oNY-!TGf1TTX7cdF;t67qiE%CTeO2~&5Lo5OP@Y{ z%FN0Vj(v{yAdz*;9X$`uqWjm=!zCCZq4SEqJ>S)TAfVJ+0wxWt1s;OJLJ430{He^& z$!T=^vqkTIvSfhu5chH|Y|aVD*Nbmg+itda?V5UF8WQH2&_`lH0G-q4?9>OJB%Avr z-Lym#YCi(x2|FrEuV4f!MuSIU_oDp*GL`OF|&TM=H)efl-k1%_}9mLEnc*9&i!(LPb^e{2@FK2 z`X_}(%X>$$--~9m3knLREGKqcIs5l>^76RHdB}0^UL`dZd(2Pm&u3orwk>7o??80N z3=%tYoIjS#PUycFQ>SkMDJks3+u&Llv*an?4 z>FeK`?_wcV37tJK*oMLf8)K60jRbS%IEesHmN>#?;mJm5E2F^SOhs>`9n9#=_@Jqf z`g9V3PRbWKu+eLdXRaHs442LvCA&=FBna83PVpVM(*q>rjk<^KhbK#R|BXTUi4<0Xl`%aTE6PDb;ZZ@5ETmd)tEzx%Z;9f)=c(@u{~ z_nDYeixEZl{m076L`g1F!JGRrx;A&*+-{5S7Dc`*hxI~&I7OnK?bi*=&4XaUeuN$2 z>M;EV#iO3{(9@X~s0mXF3T&H)jf$vhHs2LI7+DYy5z!%eb?eqG^#|dV?^{F+0Arsm zd7Tu5tXpr*c2*oN=5X#>nw$G@DJP%-mbW3t^*4|F&@pqZCNexc+|0t_T4a2DJZJiV z`*x2!r&P<$CCC&<<-&?M*Az&_PZpFL7aU{C#g5k-DOBJ04-7O~3BhY0zX@@GanyfjbE-hul@t z4>!Jz+>3d@YQOlK1Hm6IOL^s82hZ0h>eY9gKBdX3s~>MkoH+=io{J>z*I|jHPzdc3 zF8D|5&mNq2iuzxFZN#85?2H%eUJx$$wmTfMVWsbNa&m%jL63Uu-``7HFD>vO7_ut+ zx>9qr8oyI{X;W)Ug`NE8z(61Z0*OS|QBbjTPyS4io;hMsXaH#3!x8CFJyx+&Hqt)r z=b~L>xQiV3UUw6+n-Wt$TrB4>JNB270^D-d$lbs#H zmh4W7Aj^$G<48j&36u)Dmv*MkA*gQ?f-0aqM?-1lX^aB;nK@EQ5)H0Bs;-5J?*j1Ok03_TUv5noU-fZWbJFc#ATGAL? z+1=zb@I08|VCwq-RY*9JlQQ%2{9C5$H>O)s%ykYtYsVv3M#{Sv4q&-VxB3b^DOgp_ z^-J_@W{X!BmzFj*BE4uW`*T0+o&rE*=oUY+5`HfVg#w^)PprJWyv%}vmY+X~0eW3j zSMP{iSX|7W&!yc%@NdD_&3gwXesFxIChGmP%5CUmRK91aW?ZW}o^^QC5W}sz4)hNZ zLg1iKLspaqXNLnDGuOQka%FGSfhfsiS6k*&&!z*!7r<v2!IL1FmZMI>Rt62Y(0|xiefT(xbFARh3h0u@TWg_I$o#N`#hp$2t4O|mxafOR2 zBUFEr^!#WB4|%EwF6&rC9v|B&663cZ;XTZVSw{%vVLgNrNxxK*C8NXgOAEj%-HVw>oEt>SAg12R0yd5+jeQ32O<& zMY!DU_Q74xTwJKm0Ke+fzi@O^bKFPs?wDyPIBqYPI2u0__x@GoDY0KqRQR+bCL|iw zm5{n=Wun~-3ma^j>_Lel4wtjvUpKTGE-`PfajvFQ${=fOY((8teTeB-AL4zG6KtfWG!%&6Kq|2P-SXOSILoLsvTM6*Rtj0qL%$K} zW`5Ep1G9_im|fyU+FoS|#6*gpMg;>tGoooVN$0EB-v&%C+>q}tn}W?;r&GqCzYqtM z{;ydHZa++RHz>he(PjwKOX74Ra^t5oQR1F`!z8cgej~%woWz;1=Tf;R-bk6XuJar^9MUfs>_gpTbZaXj6-M{|r)fM>&6bfnpI(~ls zw`&DCIntV%17DMlnrUpmL!{6oBx;;oFFES#@1H_wlv7wxIykuQO=}@zHZ4t;48kJ4 zj;9@PgD5w(dd)2?8i2Znpqs_9r|<@&dW^7oEFwLf)oQR1O;gYQBDzmqLd4k6P;i0A ziX~Lb`$S(4X5(k_EA5{ZU+(PeteB3teJy<}p$kHvpVLzRBvhO9$R12{6DG!f0yGE` zJJS;i`CcZ9hdx~t;YwwnQcXT2KV9xV&82;`ySp2+W@~BLXmHYJFp0DkknRd2Y48K# z07h&xbMtz2O?`i$W1ZShiu)u(JD#c_PC`k-lP%z80j7hKptyJ3?>>oy&v#(f8G}9^ zG}o}xJK?i}?Cl$W->M7_Vm+#+5m#Ly?P_BXJ##_{6@VYCjozhZSA%Cv(2q)Wu&eK? z96YQkph2xy8f4#IGZx$aDZLMI#r;o)VN4#Y(-x(Rw_Az~O4g zOgf63dF`&=7R@hyuz$AqV2%2nN_p!9{M)#se&wwxSkvKc(MyaW(t*_X6(cA^ozr$^FAfNCkxjq&a+KtY= zZ!ddBmfS7x;Bb>CHuTLKQe0fzuB8{mp-oW5e=04d@T-^f^c25%(bS8k5@LPDAe<`q8^8M!u1t;-n;uvL+I zRa=G}YU^?pEBX^lVcUD^91iY@{}RW^AM#^nmEtqipl|@GRLW zcq_x`SQDG+dnJuKLwiM7t>)vGPj!4fU$13~2{kFKpshKZY;NbtBE51`8Wtv>}vb~jtM*ruekte(fs?9M?MjyV^zRR-W zq=Opnehk+K$J^K5g}@`YckdpndzZ{#b(8*~h$U`INo!7~L*9)=rt0p^w5+N|UJaLpeOZ06 zxVBc}>Fw*+BX3#uKd2f5dLzj+=_M=6YXKdBF)QQp5eUZjY;MyMs%3|T%-}{vmD!Bl zGc;uCF?0NNxlDB^hS=erG?FVsYBLOG*1%?iqR4s*?d0o6y38UW?IITEGsep@1zh>M3O?7naJ zygDZ*^zKz(xoDMI4W=7P&dvgm0-ACy?_=}X-=}*FkM{b&-=5#Le}@*)%Xn5BvLn;0 zEs+QLekR1~4lXy^uoz~9la{tBm*oi#^2mdRu6+8{xVgFcsBFw;?`MO=JW?&9ga`|wE!&}dv(T}^VV7Eg}s@9%%>AuKE$ZS$gvTemFCAMaB7 zvfE--#tkD6DP*e)6fRsDE%}=GC_Y(Irn4;iAYnP_B-#sErl`lV{fz$osFcim|NAEQ zR7=+}(4HZ)FQvsMD5`%6|&!7>^`2>eAI5?Z#sxoe|fhsQPL0 z`?m$MFxY&WPt_*6C+!NKby5@33cVgJ_c(G!LXki0^2gTD3|c?l>dsic8Q%#|!0?8C zA|C|>g*zboztHKpzq+)vG)*(Uj|qL4Sa}l#T;$PSmGx1?b8F-CclpK_D7~UBbRv?U zy)2g#kx}h7MJsDe9Gn&OoxDNi>HN`qDU(6xsg21s!x7cqxR(S}%ib=cT|nlyULX>cw71_7E}d}{IjAS{Obz!- zU-IwKyezBoh7eG=_-SEv_$zV5HH<6Qd{xw^EM;VQQFD zW>PC9<>gxdo+JPK`SbP!=AZup!~Oo3c=s!})ylw_7)qeUqK^PDob4E#-C|i82ZAlv zpw{!=Fmgnn6-!yZ){QAIK6&d`LlUP z{Q1n({twCBCpV4+tAvJq>QXf5qze>||8(OM5{~z08PD@?_(&Sz=e-rCFnXNTy1VgA zl{~{hzFPPC9^UyTVP3hxvyNrA)2G?n(^FsEEgnBQ=UjaN6+x%G_$JAh;^J=Cn(?(c zIJE>kv6kPB;{~jd9y-}#V4p>z-A8*7e<>zurI3)YgssE=dd;ZK9TI9*J(SQN zKg=HBb5`3{Fg!WJ7dD*vmYkB=FH61f$K)g+kQR|V(*1uS(mYnhr?#t0iQaXdDYd7k z!}_9M{o4n1TN@x=+D?e@g4SDGXJ_JX2PGh2CJ}zDy(+MGM-(2_clT8FmZ7T5&~J)E zYAB~}*%d;{A?R^F54vUQPq#R`X(Dglv$JF86*4j~F}qEorN(k0axxQF z+02NcTdq$F;h)be=qWg#iZi zEcJd#%cdFQ`tcJ-{vDs6OWRtbg%p{dgCbKBK7YdH&otbe$^}Zxv8be0wGea>McPEx zb`#&gluRk!Y*u0=lO{}NzwsRTv54<#`wek2!H>=`4i((l88hjyNi70QsR+fM{gV4> z`D}dWUQp%t&!H+&E1$Z|)2n(L4u73GzEC(%&p(V2Fz7F}u-bsV@Z*(3rQTQ2#Z1$i z@>92Ub;;$4cWWR0FMLIU&=ZBEOY!38L8v-RR8zmT6oSx#>8v;-Kh;mXM3SGkuUKBE zjo13Fn06K2HQn$mY?z&OtZ)qr9s7;?)$f%ma%JrKhA)Bd{XE zqa++5l*QW1VdC{XvS10&7TgxJ=_fc{kq_`-kY%~!#?&aqZ^}a(9dDCH?P!H-C+>Fr}-d+-l|S7#Z?x zzhfZTQrv=D;i@7i8?D#DMvvvC<$wEgJ=yOG9CJG?vhivxbk`^x%13t3(oGTtE*GHUX^*a=^}azLFVarjRyw$C*}Bp+}ytbG&WCw z$;~toInD&+Ai>hX#~|Vu1O(=%-i2SIoJ{F4|6qYo2Kzs4;r%# z(Zrl?w9XM)tOxMROq(j_^ky1exv`Du=hAq={ZW^4(7~Owdv7WE7g#A@;mK2cy>Pkl z&udl|-ND;jmM*-ZKNlE|PIU9W%RM7pOnqOf@}LTP)@Lc|?J>nxPl!8FHT5>_QsKRc ze+A2DMFeWyySLxu_j9bWz5DOwl4UtX}RRHl_a6gTCC*)I|R!99*Uw zff{rzHepW$<-B`}-(nR1X6V?XyazL^k) zRA$|1>Co+TPVl5#u@Uo+&c$U!AQ98|gVxNtStnHf21G=IDY`zq!uCPWh#V!ocxnijSz$-B_$|mO1q37{SnOTE;nq% z)X~uiYMIW}Dw1l)4;5x1SATQaHTYu^wenp*ZJK%-4Tsc`=HS($`{+x*i&CB>iQgdp z3)Wq_jwCqCI848kR4|LNrT>0t5$B;*?`ox_#lMc#^w98 zwBHJ+M(zYz@;-*FtSmX0h``lww4r zVwi5s@@)w1U%BSaM3D4aMA*FHCa-w|*)QUV?0LNTd75wSA{Hz$KYYs;8ZQ_G=I2l! z3|@JbHA6@gIBdng9k=f9#-~86`|lX?;v7FMY-o@oq!W2Ny1KZ?Od9;Lr?o&mXybVG zMeTi@Lw)GZBh>n*(-SVJ2Y|dRda?ExP-|`BlX~9|%NBBcA0E7aknZ?GI*3o!Xo8T{ z*YyN#Me^hIja$SjkuM=*H;Oz=w_(?{%{0*$$}arYe5b%b-Z(j`sq%4%)r}4VY(5DN z-1jAX4~C11vHVD$GD7|$$Ipr$ulBQ$Qn_`4Msb41{X}$nS%}q||1x&T;*~-C;HBa| z;(ErXGP2Yk997zvJ(c!8WIDuEeykHaRXC5TQV*DdiJunU=c#;Ed%9E5wj#+`S7tp@ zv5+4BYmk%aS*>wP1WWNA>KZ5K0YXo$zKqp-jsw5jDq427w|@=}-UaD}wzl@$n3zX; zdZMdU-YE}*Kp8Z(Aq0%iU3!LaxvadrG$8t`$CREvWx06qqH$Tz$OxV!FX+fYe5|Z} zNiCx{Dlt*af(F_spqTqPGIF1hn30Vw5VlZAXlOU}Z@j=penCO9a5)Zk_BxAFrGq7! z`~1{trKRr<4_&`Lz78>wORs`B-g^00sPPU5X>g&}nJ0*velG2B=~ul4hQ?tr@~(uz zT}4~T`^jFsZp!z)c#CW(*gqwGQfY!(4Y&-G%glrLlYc*My0FY`Q&*U4V-@_K`Ssh@ zXe7&>M}OW#A?XG6V<10F#J{mdJSJluAgABiuv4q2`#nL;UMza-2IuU0!v4T2z$}f# zilmY4;H8%_OkthGO!pb&GNSOU_)e}ld=0KMh*UuLI)C~`%?cCO{g49k%aoTiJb`Ac};Tvz8uZ1EM*Ui zAKoK3yG0wLmBn%DK;6-d{5FmhYX)Km8{^T^lbN|WhjEX+aO}G$lSEzJL>>^R* zZ7_OB>N@D$NQ;H}2qfquL2*bA8$eE9e=PH)cWGzzc?b8XW3QrF=`cy81duXqr`L5# zf^0pv;#E%%yPzHD0*$|y0CjN!Z%!J^kQO1te-v z5wsN;5gs-)ej&}HlpGO`=c*D;Z%GbV3lold1jmCecAxsex*Z7;{NIEZF)sucOlF4A zCr8kaw<>62D)N(H|CWCfE&2sNm@!4CJurmhOWmq`PDsy6Z!g2ogi`)|Br3lmR<-WB zc*-1w4b3W{M5P2Jwvbd}!oaqUj>bv5*RVY^`s5>FsBG}6zj ztgJL&O(ZVvUFgk-9=~+yQnBaBp+f1v&`=wwi*5oGX%=Ork8}VX^J?vx=jrO&X#_~B z&A#*bd9|Qy%H!9(&W>os-Ccgn9Ul(VcGVtt)PBY&J@!0%bx0f8g5xjMRyU4NbFiRY zu1dUAe}mbQJ{A>4b$gv|nXY*8i`?+OK~Z2^0VmJ%us8YFuU|KwC6A1Z9Lx&Vwm}QN z37Q{C#k*P6)$z#EZSUMO+1p{=YD9OZc0CE^s<~^mz32E%BxH=L*@m`t zmkN7TdppXUpn(Hd@9W1%TI2U(84g1I=CEp$i|saTH%O#{I8q76chf;R?9XSs^Tp8`UXKR8j;`9yR9^V zEkuNmh}`S1ct&p<)Zlf9RO9|^GO_8pi>QmJ^c68kIg%<}61c>{GW!s$;~&Z06cmi5 z;M91irF9qj=Pi*8896ze2ggL>`;15vrRB%*1<+f%ZMw;-XcZY-y--z8DdR#S7Q$L#Id+S$?BqZ?a1z))%A>G-#qOo0U4YNRau z3GZDlN(2%-?aNj-{l;1Yg5S0^fD8ZzOUlZooU7S(ykrvMCAIu}3z`-NpwgJyX7lyv z*`G%f|HK+c`=0Lf)|g*O=+@Uke8b1t_CFVIY%Xs|mGLY#u--iNCpH?s%+H4(LwpeP zu>I79*4@zQ2JxT-7w^1M{;kZEoiHlJ=Qo0x-fTWLPBKZact4W;oYbdwn7$a}^dFE3 zYoD(h2bm(k6Zv-U9T$)ljE#)}K68M(1dRfY4RD-59cSAQjK}5KeB03g)_Dk8QO^y4 z3mM;U7OXg0t(MO%cFG6t{F0tseM0+N@~wdnEVOilEuV+oKtiPI>j{D%@Xk721E#;t zBkJxeKznB<0C6Q#MQ0%5wXunB1lx}od@+HK6Fi=az9UsW(g}5$J~cHp3XyVxmj3PA zx2Qtb9Se%Ds30Xur=UnEDILq*;K0f=T#{8k=IXXRsnbLI6A0o6mSJGZtd<$DS_U7{7F&ZdP8Hp($mGGPM z{H1ML$~f4*s!sD^;gZl(OyT!o2jr{~P>R0G^$TV_PGH&n8>W3*yI=I>yO+UFKfc0g zzCSduH5{yu8R+)k7Q>Qxpnc8l$G?jmN03ZDnUa8~0c^%iN#2vkAX;^6t+w6BNU~?v z{??`X7@Lr_vw!7aPaW_WnSB*R%i0Da|BSS!6a$8|*W4O3o>%dbJnr~B4M5GKPkKaw zpL?Nax3RUQ9POQ`vVKxAWjCQz@;8D(wd3MwCJ|epR5^draV6dvB%`9+#802w75x1R z&o?g!_Hz*cg}|2H{o17w7jWR>GG`IR2O^U8E#M?sC|B9DDl4OarVB?165!pj9FoVSt0MzasPB@aUjKS>3v5vDVlfD3k!;w z;mVo+?_sZ_GrKdUpBNvKG-ClZA7P7~|CA&yg@`gl50qz$0w19?S{@?;n}~UzhhMCM z`I{jgrm&+*&!|1!Q1jHtyt=EzxOIrY1B%Rr3c>euJsh>4}j>5`A&1L|V!k|nU z_+Jz_##SzfdIY7Uq?mR`2M3w6%c%}dp(g?st$nM1WSh8Dv+=Xe>|JbQw1~*aAjfl% zSw!pfNyd?zzY!0T6s}MZ4w4iNlJtJYGrlE663Z+0g@%zJh8b(NWHqI$tRqL+HqJPw z+A(*mCm56XgT%`G?~O`_S39Kz?9>3$8b#T_xVP#Pu=P@aHH>goGEZ>h_u5T?AseSd zn}mB! z9Os~>NQ@{??WaZ*L|Iu`Nl8f>$_d)EcM2eVK0(xH%|@?$bQfiyib!o9hk%{#Pl`Xo ze6ly02m7z8yp0g%AKkACvg3xWMR z(VF*sDNT9*buNPxsaM^A5EUkK)ah#N)?seN&JhC;#(Si*Z5Isl z7JH{mIsSG`JRt`UKAu12*b%eG`%ugCV@td3$+xz)taWvD+Nj52h6x4E<)ij`RU>HR z&K5tnoOlu#$wO_$dV6qW2bYEiS?SyG{l1(>uMPKyHFWaG+|1>D$UKQg-*KopDEv!m zA!%3_SRXi{wuz{pK7m!l@Z3n7psXS6cEfQ!(I*MF_0#f#q|bo-!bdri)3H_#pQ4oo z>n4eVB&(tRPIbAKNjN7ja8^7T z1LA#Pc4VT<+x+#NKyqhhW@l<@XD)omSwnlXd@*&O+`fK7f7-6=(SrsLx`N(ZUpVku zrh041u$PMJFl&lu90JX~ma5nD(O?#!?)~%RNLUNK&h_aFHPRP<1$;Nv67lTccyOo9 z+048vLx&!qE2)>*;a^$D*>;{n_`;ILd%Qb!RBYj#>7}{5>|5A zZT@nsV0Ct>FVPLT<0q6#<9<3;9HGKOv;?96O_9D{vkGev^@m1AdUxx+PM1dJW6+nx zv;48iGH-;#Rz3FJgCVmDeF4IiXgq)SK|X?6(d#Ft*N7e*>gS9KSVr-4&^Ne0P$vkL zKqc;t6eM42(Iu@_P88Kn^!*XnrGLQxM3i*e#$FsCmfHha^Bi3iB+Kut)afxVu9#Zo zPm(2KW=eYVrDTlhrj4=61~w=8hUjC?Jx6P2rW|K{qc@wU#V*vw_}Svr7IvT#2mLPH ze{GHp;59P_N@T#@?r@@Ae69h#nXgbPVgaN1kGvJ9XxdEgH?V*g@7md2?Hd|u`g?Jv z1lAMI3RWIE4lp@cRY`wx*9TD{O|(@B($?@tH0MRPi+JivVTaHVLxfbZPLV~LVIK??Pt|tIBZ#v zy}q2U$1TidvdI|_6}y#Ew=OGV@*1d#w{#kEhBi7vdOo@(o|iu{X)dP3 z-k0M4_^SK0ow=$EEakF1!YB#3Dz&(7E{UVJ|JyraKVa`b`N%X`Sz3a_Ip%G}2k@R8 zbTRkN9^7%s0=-qNO${)xhEQ{8qQAp9lK6!5*h3&=*LGBueR&V`>`onanwoQ*d@Cnb zHB;KWY&?UKxx@R2?xm}^y`&-f${-lRkhPJS&0g}J2h-)sQ&O`RqzO%YlB-=6e>s#s zTZnvp)=I!1!4pU5ca<3bcd#*fQ4K}pf~vgAm8S}FwyC3UT0XS3Q6xL0NoC}o8hk1(;%s#2xugEID`Fo2D{1Z>!H2Av|&VIMNEkyAzsq` z|AzAF|6d}TO1fO~W^i;t%{CVT?K~bm;REx%o^FNV&Sf zJOyqdVrn|N*Qx!FJMGP8zQ-fOex>{?tvhufvUt|Mg@`{yMKkAy?=VJx9`VdBEF?du zoZBF2S+L|!#v&45pLk7;OH?*##f6K9momB$YW$rSrf}?IVk}=8n-8|_57aY-C8=YG z8U}N;+F$)}7QN|B<0J7%31v+_e4{ZZXjeMWL%zaYKNsUyb)`RjdnpXgmUzAzNkM*b zO^-(!-tu|4*E1B7WvYv+zZ3@KJ3FDNdWg$5z}b4h^~68*SW@xgPYyFJ8RKaQ=Jyc;u)Yc;wkIdOZV8hWu-(DS zR0Tq=th~I(+}y+{k)6%lJGG7e&%VC_Ef9*U8$|ZX%j1D-h4fkN?o|}%+ntYUW|sWb z&$T*O(_nN(gw{0CP2f#=l4B^5-O=9u)^(<@@1>iYTk+$J(GBrGmJTRPfc}8gJFKf2 zl&y#iPWt`(*h%(Uoi#B)P!KHRd`;5rDt6%(P*JxKBT$hd{i84D|DBF-mx}?tBi!El zjV^@C#e+IN>H9#vLQ?oVpg3Mn)$^14t2$@VuO!-vddI!eP^H-m4fI=S&?G>2l8aH5 zlM{>m{=ud0B$y&hQm02EcEjKeaM9YM4Z<~R-foiy*cLfAethzJ1SF97(Q+m(eaYhmZzC>Vjsa)(((fy|s@_3J@C2J{ci@9EU z3wvAt8h0O7yz<--C)C?7?-hFfl}({`{=|TgJb)FdX4-OoX2&+s|5w?g5l(MRH*&8D zNAhunb`e4Eiz5>9vtO-L!`lbFe3Be-TnlE0>%*Z&GB+7(vSn#`L84m>bEGTikM7+} z(;EtikjkS*hb5~jqVzU*7@2T-0h6%?&62yoh>E!Q9njW48n2x9qoZ=^j>*b@U$GCh z^RY(=^yi4ivAs3iy|i#(KpG~|qrJsYNh)%vDY7D;S?gn1jlmW4vZHDZ_I=gP_cQ2u zU0;ccVthT0-_Xs}p;FItcmVBI(6#RkhKh7T^=2k2?q)`(niZVuE zcC6g}iP4+e{rNL$g4^GdFc-a&XfT?KW#k${b_1fPU$epXZ>AcKkk3V+jYlKr*jfxo zL#9~kz}U-ka63~nF(W(Mut@;LyRiY`=s+?8$~B_?mJmwOOT7zt9k{_8Kc#~={-92+ z_tOmw@Jtc^s&zbwa_QeVY~N{BHn#ZMZ$NUS7~0;X@Z(et6yNG_GKcLe0$MFX3{xpF z42?YS=xHe5QWTNR&7617AQ%BmLA@YG6msd=JLMZLEG#Y#K?L-Oy?b-K%s(L^;a)4X zAHR|kA=nBSLD9dJcFKbDus=EAJ6lBp*-qO_^}jEZ3j2s2%wP*J*WK3^jDc~0dh1au zffgW`tu=YS(MqA63shsSITCtRg#xXKMs+vO}h_Ps z2_QiPMF#yTx5@^mr+bk3{obn|fyC^3Dt(3d`GLq&AbH_rGoG-}b(@M}nKoQR@a^07 zDEA^?5L?nK6))C;#rvyhy0m7+#FI%gAlE=CiDOiel=Sh_r+)K+JE)CH*9;d9-Ky2d zAD_xADZSOzUE+*q@8=c2ul`2RpYGnOu`MBt-Hl{{3(ueE_24U|+ho46P~@L1u8k*U z#dLD!O2}te%;_)_c`Sp})!Q9R0&PqJitD>qXVDD|j#fh(UYb)&;n{p+$r2}*K)vFh zcg2RNDicJN9DNaj{+%~}#~+-`S#VU`fXOm{^Gk^b7oU{q^GHuV6|9=EAMAj}@%u4wqx6p_(MF9wf)4JV< z$yMg*)Q00N3V{s2rldyGq~`GB(T&k`fRqKP2?=oN%5S6vq!NTH;V-qMlh%%W6$OpR zj|3|VsCS(QFV?nWpiOk_xSXF9L)dX|nvhn`7+Mos+$gK8E+yG1PQhx`#JqF;>IDaV zvSXE*>32%VL`mgKYQ~Y)?ic5wgYIG%{MZz_`}-gnZ_b2p9?RZ~k&5r(D)?szvpK3_ z-Cbp`cF7y+1VHy}YiG9)E83S9)6!Z@e|v-v%`D$L#F((!HF7pbU%p zlSKYp?@thX!(g6Qtl}3!L}vk|HFpHO!*_ry65 zXOI*(9~EzQn83))8ZXY%i_bcL76kxT{*t9wYP})>SadTb5Pc)okAmB>W)Sre%$_uW zG=P(8xh?q7+P07%6vNURe|gC6N`+|RIu zjrH}L-ie2<;$uWqw#>) z;#EZA4LiQ7jNQsD{o;^@`ovBL3HKik&cCIzLASG0xtikNXH+ILEO>d41<%1jhL7$w zfGA8j-)}eh;yBbj;-gk^nDd&nY$XLw{_)X^f9D5?#zNc-GCata!8I<dejT%w3t1=cY3C zgiFIHKF6K-WFTv8Y+4^e&xexFaBa^)OS)GFK==~V2{yCuC(AUKifvdF7;t&)#QNU| z16xX89L=UoH=2$Wdm&44Wq3MAF8BC+g|8QhCRzNhT4PsawIosieapdiCd`rd6TZd_ z*7@drx2tgf^$j~gUKRd(a*WL@e)LylLx!JZL^qPmM=Wh^W?A+v4DJET0GiAU7P_z7 z1&BmfU$hi0=6KEN@OAG8{)$en=$cv4LZGP%%9pm-sT;mHbm` zJ=N>xZ(h5-w4M&N3lMtb>h{p*7=dMUJMlpNFKZ|F-}cIa?e$dsdmJ>!jHAb~hM?t! zl2iJ^O;}jCqr6#b4*W;EY2zy3xI$V}=??a2heWg)0}T6vYIKy4_#pYR^sxMlWG zhL(NjyHMY+|D=^TqRe?-T79S8t&m+$#^8>0_(J-_iO73PFF|pKQth&$E+?EXZ+*5^ zaZr+Yar>hIO9zmzAHG9X7Zb$y!kUjeNnN(Fe+4HY3aCDw*Qq5I=l2I(Y;*w>I0lMj zZsQ4fMl=)P7+V?Pr0{G*0d(W) zx#kCPvMsV}z4G|qY^5T@QUGiS-n%_c0E+hru3Av_B30ryk)b8!h?mlFrhk=UPk0HAtxs*57JP5D0xG)8HU5j=REJw*XAozGsi>-~>yVBMXZNhke zb#Dzc%3q(#P0_cZ|8G}>^%-l?_Z$>+^onxi^z|91WVDLKzUO<_(BP>?n*Ol0HAUqa zkdDF*4(=m+&C3&t>t0;sze%Q-*7n*itX@Xx`TJNAxqxCr7 z2O5Ryt$Pe~(CsT80{G^n6tmKt=Kp18^>!Px7jnJFHlZC|>LBgg7%g1cs+d7V^ldPH z2LT@9kW)?TN#M<%rgugo+;O^l&}{IEuS7E<<2?pN6Ax42H8;RUkYQw0-OWXyTt!=Z zA@A`BXrmI?}@?JA~B`_ zEw$GRe14xbeE-+}oi9y;qFZ<$1uM=sdZ#ogX^37w1Idt5iDZ`&kz8DEj#HbFuSHUK z%X9__Xxd^s<4VeZM*~*DNT{b8Cg)`)f4|!Dv~=iqRJL`D1zOprd6{(*t3T`o5Q6B`CB;J0y9ZHxeeT3rZ5h(r_fUoKB5fS3osWvP8vc>8M zLy*boa}Wpg-3|c}Ab*$I!8XIU!oncXh|W0HcL62|a{c`XQC=`8vHga;kMmLR{rE^HdU<)tOn!hRM7Et26FP+_ zVFw0Iw3+4k#rL0NmmIR&_B8vN2F8Uc^aiR!T!G+IGj3bbsqp&y@iWk0j0Q_PNY^|W zu8m&OKh*kpfLB=+Rl?>y6v{;aEe2hv@~Ur&l9J)AI6lvqd%@TnN6k0B74Q7{ouwrs zG>dnjbfP7trh0&^$D;8LyI8d;Mbj@Lr$7YSX30qDBbtrLF>|$gI8_%zi2WM}ngdg{ z>wmAhqX0F{2G4OBx{szO-^RD2l`Kl6z&Y34+zf3T)e*v1|3A{5R&zM&5pe@e;Xm+v zA~x8?#YK=rSX8N`@+yF>ZRiII+=GYx1aaHUmcBi?+)hQm9q~?WU zt-T9gXwBKt5DxUf3_>8qDmzR3u@;N}Z2&q!_mDgkN~J4MJf74%jax0A#WZxNY3`}X zSE4UHQ%u-N?jwpTa$SnScIV5K6z1tkE4h1lo&SP^wVFV%7Wn0rT%- z11sJaqj*s|COFE;y++JejAz|r_3AJWKnn_4ZLx?%L}Pc-Y?fJ9yavqv5lEm_yD6wa z{%lPku|(YSzcx2bKvdNTpu8~8vJF?O^OvR0$e=a`T)3G@y@hk|G-Jq^-QQ^a{H*LN zm9V9qt*wV#Nuewnx!xXXIE#L?Fxe&yM z`LT6ju4*M=0UYbXZ}r7xD3+rPZvTnvNzQ1!+N7jD(CH<(ZDViT@}>_ovP_L}80V}k zEC6qsskvR)o}QleoH(cUw}IWZ3*qFyTMy2Hn_@OQGvVhJS#|p_P;zCt^L^yruJnkB zi3wY1JplQa!@vbxcs6$6E0;oF9929np3jSaNwj?^G4IN8s{JNXs*v>QkFsH$uF3OI zJ**l!iWyT|n4Q1jl1CrK=Wz*=r@S^%J*BW5^V;Ez1wiUh%=0S{bG4({`i1oO@82l9^Zw7QfJTt4R;3W&e~>bt9>W7r zD~LJ4)ks}(HaL|}_~;dk2yGOQbT*;{e`E|jX-9m8reT^kKn;N(H^ z?=64DKwjw#(wr4Y22`?A{cho~S*!{iFJcs2;+{F_sdSghm+yqA1*x2zoQ&d50KwH@ znYPx@gYO`8%tcu)pd(JeZf2H?hTo@TFl#m^hpbrnA&EgrQ6UX+rex=`m&DM1l`3p? z9_( zix{#YPvvW7f)o0%b2cA!6U+L6@h`Q7deR}S0U-pTR~bB~iG6l?@$`hm#|J0Q2uz3+ zdpPT@dDW$GBc7@Eq(`cCv;-0}#&!?(bw*nPc_IU&Kd70&PkI9bFYfRdAjR*0$_n=m z692`)vzH2@0YwT-CZrW$Q;aeL2dOZ3-VkSZ)4VT}AZH6!=fRZh@^PQU0=)^va8xd5E zvN>2uP(n6%up=^t`3i72>^?xs8`2>g>rISJ0-=OF^Ucjonr+QfNHrnBZ1oI!Mo+&O zJ9AD2O9LQnBFN@Y&d?@{Z%2_LAp;WA-Hus-h^vFu1CM>UZmIyoVs+d^Is-ZS7TpPn7arYD=KkZ$moJOeE`a1imLGz=!Z{;_>xC5Z!M@ip z$H-8U$bl@}Doxwqf;X183;Z0QL6h#0@iEjJXmRKrz_epulwM&eNo{Fp8Q^80jyw0H zgTME1kh6=zOmX~eu4pg!Q@iR~r$21V7HLy0EjQ}I^v`;8Ra4pgM0|04vV5DuXu2Ps z!pz;(;DP4bye!GdPmv)4y6F;zpk>!bw3I#R81c}8X4JfA7P(wiV|sG4y<2t%aF@S< z#uaipYm=7F?B3NVu6PH=Hd883og_w*{4T7m7m zm?eFg=!3Xi8EW(>+k2C*o=$(|s#>0r1>AHF2B#G$;XDhROQ`RCO7^Y~n-p61ZHy+5 z3V@M0_NQazP}6SGjCVm-Lt5nB>##-M>WR;qj~1w&0}IKsGJe1o8z>&jRs@%V_e_mP zysnc6GC}}s?eFh@B`k~v>A}~pUV%Xx={Eqiwydt9_Ka%1dhb5$3X+Xd>@QTjFL4#G z=FwP5g-|Zt@OqP3*31B`v083#dPeIfx~!#`9EJepb^?T&LcxQ!wB(GlUw3W`kGuOq zD1k@1DMkxF7hNT*N7H#S#eW{tXzx0!{+;u+LnmB83bLToeuF-P7V@5|gC1^3Mwv(Y z-Fm==Ky2V^FX7{uF_@|iO~p$A@d%2pk!ICjzh&^h_CEe^udo?kb%O|%4o?qPq10f& zPK)6>vbytCoNXGnfwl``csn7_4%xBF`F5Y3A_#$_JBGs3 z3DL|gFW9hs`v7PL+D(WDGBCR!GB0Gp8V< z;!=Dk5x#f)08*1Lpy_%_H$DbJ96*_>7H*hiZzgxSx^564AdYpg6tT9b?p@J+o?2Hf zZ&2W@NaB7guS{eWEU*+EegE6T{l}iSKG?0C>i))^arEDQMX{WFk7T z@rdWPN324Y)9dj<(`H2rm{e3IxXRZ|=(isA(qG}D(Bp=F>_ep8w_J)yuFPmsR!3l6 zwB_c;o|qtC|3JLxY1^56dC?D6|JPf-5BR+&>chjQ^q)qW_EWa-^E4#Q{2lqGAoJqpBmfBn>|&P$Tij{ZL}I)y}huM`Vf6Oe37o(C~1#MIloolEozX zw(oAe4pR{b>%v^j>kjdXqVhH#fl-!}j1(FCOM2Y7vzpCrT5qLDOxKixwv}H8s|>wd z_RqJ1%DW#yhTxdb>zy@8grGq*L$r$O&z3a~g$ux@B*Xrdd) zdL+OQ{}5*6o~)p7aBfIRy@J8v?9WzeRh1*ZDIC=4Pzs6LO$$dwft!a$N@hSGhMeU) z*<%w?-D}?kBFd$3bWPv#!D2Y5R`J7%HWM%MH_?s)0cG}D5fBGedQziGB?QP#!fm>}*phy(IHKR+j2U)zL?Z6w22X!99V zR%omBK?p~E4Fi2>bX1aKw?eBKeaOhRV<#meLkL_LJ|%vw$zYX);|2_RL~;Qb=#zQ0 zHpy~{|58@rW@>AeClW(B09bQv_(05-;yu1?uy%+$Has9Lj!?E1cs!haG0pC5#Ah*9 zK25TD3|8qR`u##5Ilh05Q6!0`e$vEZyw1KWVoEj_h3?JSR>l;JD3nN8psIo3OmnK* zc5|vG5@uP5GUwjr1n(5j-{S@32mI1LP}VI$XN(vSuDy`>0ck_nn3z2!Q|f6g1l8t&2ql~(lYe!hhN^7HxYR;qb;0GckA^^ET?Qok)QsNkrq%W{DSr! z&Y^{b_cAiCffoTRHt}e;UF^cu@M87^G3e&#~iDZJ#(e@NPF8m;U9r5!yFgd|QvjF;c9tgN=myWcS zGB-Ex_~Un^83g_4X9bSw!BgHGHwZzeM9stEiV)6z*G5# zg8Uy1_Ro%)l>SfvK<1?)KkcEcCxI|7G{6yLg>!Ik>~oA8f|%!GsKJsFrqQOZTpHmT-pJ@(DlElhL>i|UPz|dbE-qouc;b)>+|D1Yoiq;o(rN< zbO$rURp5;XAng{H3CdJ>fc0i9p+iFtF%*?6=O+}GdtpV>Vae|)yD)S!Ji^kKOZNBo zJA3!mE(q&DIeMyByp!t}@3-w4W)M-oXV3AFVQ6-Zkz0d0K{zJ;z}P~Hg*a{Oq%HhdOOMhaMjIm>dA z6lL)uj`8^|3aSm+ifAzAK$eF{$vL7l7L`UOH3cTNUG})fxmokS%jURh(GkiS9SabS_s>BpUQ$pIrHT{^(hj#BBOlPE`=JL>80! zHy^i4y7H^5&p1{%f;S9#^T)k2g#s1F>C5l>81>ocGJtWPl^DN_B?YqkqiNI=bYwLeVF35RhO96Ybl49SC{7nc7LTvoGBs|g!%czAf|dM?((lIxGq-8iEqf&7Z+>i7_0Bdr%{ zTMhA48C}~e8M>s3HuqqnOL!swCP*@N+YD*RO2DPdA3Y@*Cr~dra*Q)Sd3apPBclp` zAV`jUIYW0V?3d0{C!|u(`NN-0kZfm=WP+D{sL|SbCEk9Y z90Zv(XMlMe11;YSDk?;M1tLs{o=hjf@o$Fc2KYPD3JR@=#tTT0tX|7OarR{S+{`Uj z=z{Up-*l@>aIPM1JU4!%@*@qWh7l4UZc#AFexd2=?woL}VhaMi0NI*?f_In3n4$py z_M|RG1?R{W>2(<&YuoD4w%o%i0WDf|`YQ!WLxHbwi2n&78{tc=J!r;3@p;nc&D#X< zHzJ+~p)ivE;lM-I(a|w5Rd=guF+>!}Pv*2*Z1ZVF3ODrjLN9h83a7<$ytlhs7u2?) ztI1doLp>j&Pe^cqq4^u}PvpCnFvMJb*ElKSh0m1nAP9af9^@4X1uiQsaage6QXlR4 zCYQePT^Yr#^IMFT-V^z?!zO6BKvGoNB+HD1;z2P-?b@iHdGMeA4GeTB5S5qIuhSE> zjD-Cmjz?%yWX22B3Rgg#`OvA(Rb=8mf0slNL9Gfm!EX%9g<^@{Oz)*{G74VqE8i)s zWtbIrN`I{#8dv4jq6OX_Kq{2?c``xZ7Q=%gPhn$oT(?)ZQzfPeya+_;Q486ZEs7_u zHdSS%NkR-J+&lfYxK%vgkCXkW!r3`FKcTofov4skv~pch%bJg?48Ms*nC_RMlg z%V=8yMY-FVy%8p?i3H>@#TQ}Mz>WNtcy3%!buqeeArTxo{5nY%EIq!djRxX6=O`(|J_C{xB?tTQ#4v6dS!wQ}cO+0@L?KsB{8{}<)9^^U%8ax75&C!Rt>9FXnpLl57`A7?1Hv?C*H5Mf0~O^&6oJL+ z?y5t@FlJL#PO&gA&n*f)fpW$!2Q0RSmb-9g^d0XZMo?1b-wyGtcv7c@{9(=QC zI=mp62|OLQ{KV5Q$!~3m;%}w0lGjn<3lh4J@|BHzq|Cf+ZAbG;@~*4>lZLNB?2=S} z<#1OO-|MF3ya_V$qkV9TF*bgc>A*=Fi35wCY7M{t!eDrBPZH51EEj>gA`tJFKUf_= zagGcrNTer-ca0|PKtPB%24Th>iE3RvJbim;TmCLvHY_|`N?tx7DOr1s>HlwzHmU-35Wh&*A{ zw@IJotb`1O#{#EK3%l|q@sCK^P#CB!ijqt3`r0E8bD-7_68hDU8a>>Ls6kT+-jzF1MqOn4^i4iJ6^$00+Q!&;2n}vs#wUlkM z=nswZuXr@OH^g|0uvR7G2Tps6tG}YxzjDQ%{fZ=h!po1U!gZUx%eqRw31xCrcpN?X z=pk4oavV9kBB~7H7gV_ap_}cUU6hWnuYGKyiX548&Ce`JX8+#B70ZbS7dR5e1Z@!K zG9#Y97jm+Lb(*OPvi9Bo!CQus%gg`dZQ=NGdpIIJ6H{%*|_1JH}8BV#w=Hsmdy276R3%_aTlOcPG-Pfx(LI?GFX==Zrlj{Hw8lv9iE5!kD8Aq zs(6L7!1Y=#Xe{w~Vy~tqxuWIh+aE!pbY!+#a#L452Sj^cIx!NBB zA<`>QoP4<&(9ql33i-&0C6LoludXLh*^@+#j=cN@kq#jKa2QHc$?U;&jikB)VeJN$cLe zMUMQ2n6_eLM`gM-MRSC*3ZM1jg;Q&>b&*65~z$P zj8mdeH`oTcDuD%Bzq~621?xhE!67@y!Fkfw2HgkHr2kI%{&^#&|I0;NS9cND)7uLs z2=WVRc=26)2AN*Q{=OB!1gqQI65Gb0<qI8hxZeri5S;Kqkh}sx(R(H*>Nj1l&?Zbkl6ixg zzWv}^RhO?w&M*>LxMC_Xxs|U{6@sKZ@PKy;si!c4lb4Pdl_7E2h_i0hrug{K03xbH zX5l3Z&s^f~fubarm*4w|ZK5Fl+zU}|m_bq#A@9`C>J=0k#;%@mp7jsim7j>f(BG04 zx)BbgAR9lZ6->%SKYD~sC;Es=jNJ63S2sfVF^lrGkx4JbVtlM!y9IlD?3*WJ zAAYt@Ln})=<+!;4_=(pRKGJw0?M6BokX3u9msIQ z(cwZ;SraY#JZ6U9_N}CqKNT>2e>3)N^EfR|E*=phv7Y^NnXVV^-~1wtaE!T(Wf=ii zeW!PnS@RxQQ*qDrueyQ$2SI8e&fz$(6%^VDj?0AGl?#}VFns%v!CD|y$`#%cG=G#i zZ32-gnc2c{NA(CJD76Q@9d`yK+T-r=cRATB6U?vP#EBokA!a2WRcGd!@ z#%s5VU{l!2eEjv2(lA^osDHg)!!k*_H&7ENfBMsiCI#NpN3&}`ceZ~nVeGGK-mUrK zp!mJMew_9ZWtH^(w_-nde|+A`+_&^*i7LBSpgIWzDbHVDxCGCruK_-|EIr5QFEIMTTqL{+3y8eP9I67G%+^MH;6JphS=-!P1lpx#i%dyA zIV)>5ZXB1t{^;MY;BAHgk=zQ6XC0K-`!b^racGiaGcm4C`TP-Y#b1?w_PhGR-|x_1 zSX$x@WGI7qnVo)nF%W8k&3lJ*hM>PM$&LL~-lQ|ZI>)*1*TgYGFgr!Wr&^HwK{K8a z0}5U|qj66}y=*pXRI%Ular9d!XSXW3;djn)f>{G?6mRjyYC$3SFv31Vy(2~6HnFD{ zsA>hBk4WT#_0g@i<{8A4vzd^3Dwa-I6RPSm5ww7EzoL8fot4|-1WF1%@+kCWm zyqA!i#X^vW86b~l)LkW>5>J;B{J_;7|BAiB{(-xE>Nlfgch+z!5+y=DeU&ck;ds11 zYP(wc!^y_B%)dY{A(w#RaamC01|V)j*lxNIJ{I)c5d#1 zvHBSiQt|C4Ez$5gH*+S){hJ5Ke&^=p>3|f%aLWTLdNZe{JiP{kX5P|A@J<%1yP;dc zn>YS5rYVJVu?2%(l}?+rmXn>ysC+xB=BdRNu9(oIQSE%X%5L{MD&E!+)U6N%gY+yV zVGJ+=GK#U_t;iaGwKsNQvAq+HJ+%6iApc~wdyKl{JmG7`$ZC;Jq*ggT&hJ0-P)abJ z94bb7Ysy^lI7;(!nTjeEgOpj>nJJoo`!&yXXP5w&dPPxnsJD9FHTxHmgC-UV-DUHF zB`8!{ppd+J@chrmvJ`5Qsp@c0t6T$73*_=4%(CNZvNyb1h_q}9-bdq$M5w@wZ#68Z z&>d4uR;1|ENeZOccHNO0!1~H(ut~W5enKK6YNBxN-PGYD?aqx%6US?HTbx7N>V6Z^ z%{Vn@mFxT%#F0^%bcuD<)gOiP8!cwvX^i>4(zPd14V17ydy}Vtc4PkgF(TsAKDO zFZONA&88+$rvt)hU`HrLW640bqbXI8*N-R+#4-bD4;>-l8eAbe@rO|WzU%`YWHmH^ z5KQp8w;1Hdz-Du7)*t`bav~gpjIsKy8ov=4%g?!J^~Fkf^#^z;L&2Kfb8L;lh<`gn zzPCK!hmC)0^7gD2Q4m$ZAoe*9znJ`U5ZR3Lj8CBsiNtl%Ic0UV*Ir2KSau6{Dgzn41f-VoxQ67q4l%BMBuI?vScl&V0Z>jTEGrCEx- zP_ULxs+E{6mAiOBIk%Nb^81Dj0gDv4kyGkvaZ2F=ebz#P(|LQ#BN72906#q6j?2ym zscfNVgUQ22C-8cedJtm&{CDQ|F9^gCfliY!VL8C#MF5+Ow3$#_cnh1=e3S3Jvnexn zcntu}8Kj7CEpPAdDY5YS_E`!dkMpx?i;qn{u46&t|D2J!&QMVl0Q-9&qfkit*Xae)mn zK|LDc#{Zb2VTvrhuTgp*3%wF4TTUN1hlv(tjj?K!x~pj);nTBd4fXDXWIvS46mA8X zn7a=Vv=}4J@rsAiAs`m=jJgFjPJe-isoU!C5?17G9+=+R{96#0wtraY77wDoU3g_n zpfcOgmYrlyq0AakR^+z-5MwOp6;s1pkm%$74c%Q8P`=%lE1R{BHQ-Th#xSor9y+XA zEn`xA;K{*9dxJssmp_0ku+=b2b^BqW(iOZ*Wb1s6s&`NL5->9*SU)J3$llcH%~R{t z)aZ8ubwoazx+6I8%voVVTT9_JLs2EaZ+EYp+|(-5rmGlSZJQ2aTD6YnteNTo-A*@R zAn7p$<0N94MuvQ(&qjQEVXcF8E5mrBO41|L1%Cf>Oc+xs_d}T&VW&JA=`8F`2PP9$fD40up%#!y)&QFjO@)_c2nHkT6pB!NP@TZG^hO@D>~i zyO&x*Fq|cePUhx$5dDvR>>#tzWHS^iw144?#kZbbDDMsKA8-WI8#LM*4Z4N%!+UpE z9y#Xk3i`xr^GBpmuZoYsN1*Z5|HVRTkIVfd?^eU`+_oNX3)Ovpeq5t&HD z1o<&RpwRi>rmGW>pCXVO9zw+L(-oq++7vP2o!cq_rDh4^_S*J9?c5z`9Trz~M8A$C z>{fcbaDNx~lKM+0e(Erx#I^#>ySQB4x4sGYF#@9QNEgecsRK~o-O23$P%K-8J7C}z zKtak?Ax&5pQ({$m+>yG{)t9epf+R0A{skoPk?LtDdUB8#DaOT=KR7eKV6njzpYB`j zA~1y`jg#7M(mt;6M@?1SU6Z#ebn6qf&ZpjJJvC3unuPkq31JdBC02oSSg~W-& zMp)3kGpTWI06pzMYRKM;-1)$u3Tuhm zbSt)758f@1U})@?1FZW#61xZCGirsc8ebc%z%FDJR<^KSBr`+d{v*0?=)Ts>+h?|0 z6!X^_c*C*vmCOQIZ%Eq8FdG;|UI8`|=`_C~Ft*}FoHOE1}{>(A+YjhJq`JZ2&u(&w~t>Pf^b zDU#%m!>HivNOnR7Jcp~-Xmb6~Jvh-)%TNMct-{@IbKO@cXm2zcn#B-sJe)nR{Tm(l zdKBH?(&)1{uAmnjFAX8Wk5?Oawja#e4)hVGBr|(9CuxbN2V>9$CNF>Qi^Q_KVUEUs0B3N z^juY7gB9Sq!O!@G4b`Ed#e0z1L0rBsdJ|~|1IkPPNQxzhq_^nMHR;ejUbLTsUU2`= zGKI6vcliM)9xGCFmGtV9LI?7r=MB8WUBvBPCPOan($b5prBOsv(}jMSBOYu=r26pM zQ-Xw@Cp_oItaM!Z78|ZBG$Kz#)0U7CD+lj3^oB>z8TeRWXPU9>iclr%_pigb6U(nv^1H%JLccS|YKEl5arcXy|BcX!`?eCOWp zk8kFnjx)eH`?ps;>sinGCsqjQv6Bb=`0pwFtg6n@1?h4&jLp@|Ep+W?(E#rSyx*g2 z>}_g4ali*i*r%s_xRDoZNahe|s!8weN1rJy%T(`U*7+^{pC<#yE?qF+iuC4HZDV6_ z{wDw;fuRxyT`GcY2?rl%tH(;d;AyA{g2K=PAr-D~3wXmwmJz5GO)pi{S;_U70l>TJ zlMJA5)am=T!(-*e{k`KKUe^b97?zEseA5*bX<&10ru?k?U>W~xl4n`|HiFO8P z7Lu!BL0qcl`=cbt-@KiKA*aEMO^#QRy`0@QtDMkr8{HsE*=XaezK{-QZZ^&+qaQrh zJ>0w+C}$<4x_L7$p540jpB)3jhmt!EP@4Iu4(wQVZq-5Udr@xrtejd|B4)6!mtsQD zS5lNip}l#JmmOFQsQ8X_aWPtXv|K8>=3?1C6WCktn!;c>A0>>ko^61W!&Nses~i+7 zmJe1gp+WyPKD)auk(Eq&dGyDl4(o%avEgMV15Uiwj#Dtt+{UlF%H-kZP?YF=)zZ?| z&b1FnVKRdn;RFgb_j%TrA12naN3cj*epG0Dw>4IiG(4>IcY3UJgjIU2p=!95N&U4S zN&cd~gTwL0#l-tMWO+6E15&(B0`MzYBg9)SKZCO_ndlUZR_;f){X)DE* z17`DA#@ba6^U`r&45oV1-}7Lu3qPq2RCDu>{O$Jhpwzpar)Hol3%_&WAlUZSHD3w+ zs5R1%PFh=@aIO0Rp%uw}{`T;Srui}yTNNi+n&|!y;lS-(#}tvZoe`(SO%Iy7{cWHt zWh7Fd(Zh0&!s(vx(fLt)uLlI|Lh-tqxwE^4_tX96w-n<)78j*1eD}OB$38LB0-v65 zv|P5dA(X7y(PKJyX`4?=hYhmytSM2RownmWsvU<9GbEYCf&oK$hSss6YMWAt5?nA~ z4-r_R5UlaZ0L(r!#xAnGmw{xpn}D(a@wL!n8Yyq|j%DEL zFX75_TuQo}T?*N>2=E(CKUf{SI=xtWVkM2rUlA!YgL99mE6%H7*X|DgW-V%?3sfpq zP{9}&P^tWKn8|dO?J=ckt(DjjfAlGQ%JC}dwX3FE^ZhQiz^M$<^Ksoo7RmXKeVh~U zmBQ(tMb^{GEmR$@_@pl^pBj28+j4ulSx8$GF+YPcP=0%@$h55@%)??jJ*a9od-<@| z%(?N`F-xd;D(@zjA16z>z~w07N;#^|&6?!d<(>k$z6}0s$}&)K`BNJ#Hdpi0$?5st z{z>}fS)jVtRp6Adw)C-coaBJBa8oq%^BL{6w>fKfKH8!pmPxExc%e(mf(O&vG;P4$xO>`=9Km*A46xR z$x8v9mkTi}?BO2lY;s zxHr7Q#}MGED!;FLTPTe;~C zESrt>>de43Gie#V8OVgiY}w~8W{PcH7QjI6`G-DgkuDbhlCwx1O9LH=*{x6SrRtut zgJp`^V$=f0)Zg)}v;*_mI9}IK@c}jP*=NgXwL}eN)80Hw%nCKC{1Z!0CNQH&+c{TR z8gGJ{xBwaMG=BA;Yr{VRsmY_0S7knra3c*%LBD%s_Gt9Zey$!%dCRb(W^<%Tb_I`? zD_nzK2W+ZCmg=0GdsSonECVsjwAI?Dn%XeHnFJF@fae<}nWaXhr)-wd^7unNy}34=zdau^P$6=NXBBHy+-}F@uSeS6hGS2pSab~ zw;cm3bsplIj{EZ-wT&20Co)LD>T{h>w69#s>A1-&JDA5Ey<*wSAHAz z&U$*?1@H~hjaTRPnPWpUq(TZ&^gj;WHupX~9UhrbMxNhLdOUsvE9MalUvCoJoGzEh zzzN1PSAK}I{cTSsLcWz&{KRq(XcWA}WCBV@TFO=|T10q-w|Sfn-1joY-n-efulS5` zz-#PXh))AnOKzCW$AFe2=Zf>vU?dy@4Q-3gAKCKG&g{|5zfHlSHz4Pi%GW)mrURxe z{-ZpS5BtjbLzV=wCG?P*%+H7V&VXdb`2ErA@Q2~=)OD;+2I7Y32J`bw0$!Rb^1st% zeC17=J~KIFqHlv_0K)o=jjyi1LY-s}`VRl9GYdZ&?PYMcKB+uE7P|F+e7G$7 z;lBiBOMJX8@zY&nIoI1yRHq=G`DyJP+YbEbBI(*#3s*MLM@K0=qOZg=w!MlrE$-#a zK<{?PxFXo>3K?Z7o-aIRGnr=bSY?Rh==nISFN3tT0N$NPD?RDg28zVZnK!9C+#}Rq zw-;|cU(ogsr1TLP8fKR9Ovyug-GBS3XYE`LpgkT;X#n**sYYwp6F7X`O+mfuyR`kP zY~`3xA=}5O6EUS6s%}e86k5?TJyKH5e|t!;ke~blUvrH^$IU}4?GF>cNIUY;9L~?a zLM9V{WWl?CQuY#X?zi8A^{IwUkSG?a8Q7i>D+a9xC_Yt_iLqdAZ;F2qdN)V{^hg#; ze`BTc$pFR1?MU1eL>bqQKG{eNZ}I6Ak1b?PA5z|8MpPUQMaFm{5sB}2F!n0y&>wxC zqxDt#ERon4YEBU66vy8E*IlJ+Kk6j=na^*4|IF>7du(z%-mDl#1Egl02itcWR+Ro; z{P~W^<}`WI&HA+%K5)-5IqnEYeinz z3t97rpWCHtjgxJAg2C?HJZ!5GlnO_#BkdbkCuC}U_?iayikI^Fwm4ZyM9Gn#l2HrZ z`@b+w43=s7lf!F2fg2u4Z~=1ym-(_|%s5menfEeFqYqzrMxNe5qg?+Yx_xeX^33Tc z7&!17!@!sIufJD$ZgJ+3_HMDSZ+|;4^|*lcV#ovxTHi&Y11M#(66JAtN{bTo^5JBe zzF9uW2lZC&>#debrsv+@aci49N)^^2fo=ij$;FDZ^BU5f>w0ZGcciTfga*dO0s zET(9Ce_=zd(sXU;LZxLGzASb9g;n*b8&c?oQv(VyD5}K|`I35TZ*~HIg=@^%G6cr) zIP2l9Js-|g?B@kHoH;Az@^q1j7-aYF7Yr*At6Xm2ZWNO6x0*4}3@2 zVWb0j#S`_-P&2PD(%qG&3})>2vn4;3@!5_;m+o#|NsgLP`%#;r^2GCe@W$b`p-ZuA zn7}takBEllNfLR-X0i3co245dZNQy%lxMxZ*!mnk?NJH0uQ`&wZ#sWDVl!6m zB_NiP6@s%Op>r~Qh>+*5dorOZYWp^=PaTIvvvSmZy!(5Za4oij6GV7fK*FzN^B0WU zlE7|kYkGo{>MJ126}E`C718|}wPtBVp7hzVLJ%f$vdv7y*V$mX05 z_s?G5A{}~)yg(@-p%V0YCneK(&);A{_yQE7|2fs5Q#ixPs$eC0dmC*&XQ7PcYL3AU zcqi~*Cvb)dD7*9xlcTJ61nN4Ep}u3^`64G+oV~6lBw=S^9LU%N2ibyyfrK=mewy!b zLm+fW4V|AZY=SzU;u~`qEkOAuNx+E2d+VP5PL6vyP%?gRR)3MoniLTi(;% z50a-xZXi!P#K2rr=CvD;Bv(*_nGR1I~oEzf4!jLAG1RTd=Q^pQ2ipzFWH}-iE zYT;l@MLv$;ZW97S2yD2x*t1S zh4)2pk^@sLcXH*`Z#ZZs%^#G$!mK8SWjwiB{-DTqsCS^XlF#Bc0-Qtc?F`y;=hTYO z=>6q|tm(b74Tjbf9kJ2<&f_Dh*B56B5mA5!#V|NiRz2RkW++Ifwq*vL2B>&N;f!M?aok+DlP2j=wyfMqr$aR3TV4(ACs?L2dh%r>PI z1rJ~R95M!^JOk_ytxr$k= zX*Fcaz0~xk-ieAncU+`EYq5&&)WLIkvkUy}%R-Zvfp}5#q>%2Zzmu1MZ|B{YZxAY9 zm-&En7JGJGaH3?fw?jOLrW$A96%ycaqm%lwNigLI*}ncC2<(*oV+vcUP|B&k!F_nm z-lYNzB}Yn(x~ToKS}In9G*AcO*^(gC0ORj=R0>v#cmO3AA6p#0P6&}99fvJ))IEUr+*d6Zb6TxY(l; z?unk~WYk^a9qW;lJ%pMa)FOF!2=uu3R-~#}lp&TnYW9NuSmXrt-DpC2W^4TdpZZkD zMGaBdH8W0$YV7H6m!`+%k%@+U;^~jv2I0f>rATxQrcc1Ki2TQ*S)X`ze`9NxV?G`0 z#3~VfBO%pH%dI2;f`;gOQYw5hatT`+uoTH!(~NX=ORmamHAd>`uuM>`r3(G=Bk90O zI9Zhzpk-X3j)2ZxxUFVwzK zTHe7q1gK=1y&JRv-AShX4jW_$&lHGM1NloZS1QFXwOja3PBbgY)1*r1Ylj&4Y6oaT z&wAtW^3^Je#O-CZRIx^Cu=-D06!RMM+m`e?AAKGfGu!WepJDi{E$3PRL^r>5fH!tT zIj`^rzL~s?W_sk=9;I0%z&soSW=6`BLf<}*i?g;7MC16P{%iodtqH&c@+N*ny8Y3@ z@nwh)-qdJ~6L*uq<>b5oU`gYXyKjg>*Gu;`H1uWSQYy5!rumZA9w6X%$`#0oqbAsS zcxlVx5+VIzTC1jr&EW#sy7RqpR?_(W<%i!N{;>Xi1voAUw*V1Hed*~5%=1e*^}9&P zAb=vhCkE+Ej8j?BCxmiVvlx)AxSv94|1lrpT908LY&+=WRrJ#6!z(i3hLiQ zGc?DlYwCWUqTzJ+IWPa|*HpUmD^}PPSPV`sbq4R>xH-k-cu|7s(iPOm!MxBe18I4Z z#ia}BBcoFXB%vV6Q{yeA2KL?=FE#ln`j{`_x&@}9%@&;**J&Ms3)dALol>s-ds1j< zLcB45*m{je!|^U`_7UxBhhbZP@!^g%jisH{DwmipV!HQdI9t`E%dMVC-Q0EbSO`;| z(=yAB{O$V6#Wa$W*_%>6JZWwM-SsfOM7Y&eqw}zRuG8o^>OTRxk<$j{@!vtsq5VXG zc$W&&=(SI~;as0@!+Jr{(WmPtQ`E5=dNwYK_I&Gs%iMgJ+2s5+cJ=sd$K^_c98f=j zh(K)Dn;i>}_$=wD@iA65bit%|RPB8~-+&Pb1Scn_&XH4FX~^O2lH)^mYe^*iiRpyj z0a5^9J{?T&1C17-D*Rv}1CEmH7j_VR}<<~EM{g_dBF1-r!7FOQ=(ro*p zhotZjfMc^GJ2bc$`nXNVgzPku080DtVMDg677f+w>O-S4mBcKT4M0BZC2Zu?l z2eg+Nk9LrzG#sl`h=Ps+z%T%$n{A7wHd<1QM^z&Z{GHgl@|ARmV-8f)7=x?ehSUkscrO# z0&tqO_4#4Jq;4?~+Ax%)@(n~U(be@ z>HWV^3HHkvP$8)=KN}h1Y^ph1%Q`5sbqp^rK@E;vhl*RPFWK~wlnD=@n}S)td?MyO zU)GFg&$;&n?1SD*D@O8dgUI>1ckc{`N(4zS!yPszc}9P&Rm{u1-ZsDOo#JIbOEHsq zdYq1UXbL$+DL%~&rTgUdH|=b;V6&-H)lRaB*h%10-O=x!nGKGPh zT0sLYlXQXQ9+cFmFrddDxg?P|P@()MgSJP+J`FlH)2?w$zQvgq&yXu`%u21+6Qh0X zM{2otC9MpFI}=;~`g-EdEkTvv&~I{_V4;ytHgP#OP7_$Ev+|3VV#=SE5EvJ|8htC! z#ua}nVjb3W%xC?MlMM=$QFo1b}KTP*nU)f&6R|4Yc=3*QJ;OtjSuC}qWjB4wr zHNdd@mkhBFXH=tC#3~S*?Pr4errM#hqx*Se$+M?VZDt?FdpJ?ox%$}Dz0c;asmePs zOfj<8qTi!kD7lI`x{f4&6d2a6U^lv9mwdzSDi*~UC1q57?-LL}-E?T`p1hbim#RB* z`^efimwM<~EpR-8lC9c4XMADp zR65pRhlY}-FYovytGPpX%aaPx{17#>il1lWyjlNqXU6A3@&)7TsBU8(!FB$4;ny8~ zG|WDyp0|b!oDo$vwq$U&`WIGTXer2FBSzH|M?_H#*>^7&(QQP&r6IJTQ|w8 ziCt2j1~L)yBoQr_xU=6V2m50E1p~Ez83oC z1VX|aJq3znfKke8!YeFHO33v&VLT}`B*grV<%W_XQ&T#63^(D@yYS`b9o*(iZ&c4; zT4Jr!xTBYX!Q@v_>CCLXVZv!B6s(}*^3c89@NAd{l$c1*9C8pcU#;T#;M+WejnvKZ zR=mk}-3?eo4%UOoqJgt@Iq5l4k_+Su#)wU9rc#xbs8DnGh{x&Vm12qVwnH+1l5dAm zb2OQqEdOT2C38+8i(NE}-Zw_eC!>Z?G>SM)1fhiZ+~C-rl27sN)S5bnq>KX(kGOe*1(CAQnO5E3(W|0TJ|U z`~_}-1HyBch=fFil+-H0!<`R;>sC$%F}pI)GXB?MBRP>}Bjre8<}_{Q3#Y_OYyX=s z?GC3-i(ZThvy7A}I#TcRNv+P@PS2(Ee_g=wCZVpd&uo&>AckBanP+{_qb(31sTJs~ zhKXXIJiCpQ&-{ZP8OpPcw`)cSmJFJlNJ}6{QW06b%FG##vTCRrTjQsA-w-N_ ziP!C$n>sA!QfcrHKp?P$Z6=*z;0El}^qseD(Qy?5MCnAcH08LtLum;Kj_ZFda=A7ERT=SS zIS5~vaY$TVFi5#(7twO`Z-KOK|EL2y#@N9sT0v>aT##DW!aGj6p+@toGz80GIJ-jD zkarAEQzXjSzDp_4P1Hzqmm3YfA+)zIMSZ5fzbGPyEi=ah7emyRyM7Vlp!jqpwnLYJ zdECh9540xNP(q~Zf=zdGj%qKuQuJO&9A-~KP>~)`mH}H=fwCeLlnYRIg^WV|&d!F0 z0@KNoE&`qoFh{dx{(1sr6ckBDcn`os6pk%ka2+kBA=>*sHn0g*8fQ8h;Xw{yBnb}= z%#*E*kYaylQ*?iR7`xGfD&phy#>n}S))FtPqvBlpmZsN-i>96E1NlU*X!S=V`#8sW zAx}D_J@PF>qVq2;JuvZRdv{;*2LfzbY~rrti zHGyhfRTiDo3A&Q!?rLU-kwv3CgEQw0pbi2#AFK>yhJwf9f=ibJ!Bu%T>hC<@P_cxkQ?@b z7hAKPVq%)*!NW6+ut5ctt)!AX4CdQQU%4L((Mb#qcJH|0M`b=63i>#$oV2 z9YeWOdL_(3&ck>1c|txSJWu?e&{anhCk#rBMT>|Z-9#nMgUJv^6UQ^yv&jii$yUlJ zH=HuMFhs*B{cx8~fv@yY%a;0`u$CUy!3xbhW0Emt?L*r;`{6)Dv)+4QTNm695XhDE z^w7wbHk|=Q7ig)#DdeimMLOJLU|vA3YBYV0PBEIh$LSIJ9h zzK2~#=e`x(mVy{@Wb*XVJKpPL&N!YWgbESi_R`Mjch;sVhKC>yQU7IT`Fx0E zTA5S6e0%{t9|o}jQ@3*b{m49zzGje52o)JyftLp$kR-jx;G7FYA47n9cEcH+HIgt= z6oC3vm4~|v^Fl;3&c2#5JgLG90B5n6bVbl`vN#txjtFZHx1Q1xSYSR>|2?xGFDI#J zIt+9av9BGJZQ9xTkcwB#re#^>=r@%n*BwO5Umtq_#}K!CXmt!tDEx4~hF%BkT!SiU zzN1@mSx4D){rd02>mWaY`w-1Agx=j!WbUuU=?1TtMEz9IQ0AQUhD0tiXX(6+R5(ZO zjdF|u3%ow9t*DJA5#s!<$P_KI!8f;$qS;476uh z2kVefgdj_)hV+3u;vriC?U(1r(3Nvog*9f3a_wHv48Z zl~08L5+^UV66umcw$MdY0W;LEEjsYsDB5hU%FwhX`}VRbCaj2R-)K0wd3qtP6+3t=L|3k&-<9LG#ML6<{{$g4d&d1D9W#Es z9i@QUrsNat+k<=R9N2!!wQc%dyNG_@m!-?~lH(F@Y|==gxDQ3A5(aVoE7Iw&$F0@u z*pM9YXR9FO0GOtbi?pujM%qCwVxK;53_D0D2YX)m%>^4C!K2vXT2iJ2wkdwbUWpF7 zQmGQajhs-`S8Q(S+HpEV14bTY*b8d&adhP8PA;`ZEl??Ek{8H@x9eByA2~7u`sJA8 z%-r?I*$ya^WS)8tZr&7wPIA8(J(JF_j>Kwo%e@!orNI~%UnzGEgS4yy+LBOGSyB9W zyc=#p%{`3Yi}fB$v@V94*V-O6uQ4!ki%(!a**M2C@e;aMZ#+ch zUOi*rwZRGZd)Bw7$ECpH&KS_*jNQ7Yc4Z}uuA5^|>)5dFu7k|WvF^C`u2WJ@7Fs?1 zlrf@+`v^}TT&JO?8TKS|*pB0Tz6l7@on7plO4*k(`D8^vzwGdGso!74PR`&qgJf4) zS)?Pf)S0eS1c($nyJDmB*~s@rGp{t1ja&b+!F)F5M6KDk&rlO7>Ie{DQ% z@sip#HvN%`AeCT``j=1=sr<+lmvw$Qk~%fmuyR~iaq7BBcZSD9Eo&JG1GO?WRMMi| zXD4(cJ0`6ZyDp`fght18g)U#Pdyp9+(*b`KHVo^fDYL?zFjUxWGKKS5$DsRki_8+- zcRNW8J7=<$BOfVS(7b~!YU@@Y%!Cz*GYNnZM5sLsdAZnsm!it49*83n;p81O9012 zf0y_Mods)5{`{T1Y)VXr~>CC(rw6^-RKfgLlW#0!gVTlKi<; z6O?91x{I;27AhHDbd2gDr?Ed^=+A_@eC!B%r4n60o;fFi4&@ptA85{%NA~SSqc1HL z*U&Kk3m+m`bSs=oiXP0Qaie_>ifOfk(&F}jyJ3hW=2@eWZ#YnFIEZDBbwCQI6jbF6 z;dKiDvoU(VrVKZg#iDwz9MFjRQs8SR#i=s(OK94WDFcuKP|vLsE;Wzh_{e-WxVBtH zD#&qiF`@u(wc&;t4sxJ*WGZ0~jwo707zcd6+FD9d=5@Rq6wFsp5qlM9GRS^*Bw;W* zwmhC`ZRG4@{4{giugVd7PG-Z#?NM83?HBKHpqw|;l-Jre9P1A>4 zJ*J1PQk-MD2#Ov7?v|XzRqT`bj?+@xfiDjK9ugTPwU@k7sNb1OHT&NElZDB+;z1CT zvbU-KEA6=CGS@`JTy1fe1|S?#jNq5X^iohqX@BsPNkoP2rGXdnk0v+!S0Chl5_Yfj zYH|}D^`W%!%`*;j8(bO^ju&ao4iX@|82yZv(YzQ1&hBqLjM3f_JN{j4_20G3`c_`4p_S1CsLRbQdcn4~NHh(<5pS1-h{af; zWsxpu2a^c7Z$J@f`i&MrBf6v~+CwlUjTUwK&c5(%h*B?-VlPsO3M@#&;T+&p2|UXO zQdvZynw@&s^3;AJu|A)DK=QhMCdkdppEHq{d?nQ4z*_!6nuLT6FLHHegk$y8yGq_l zFnvjx%Thm2Ev$BPkD`!Hu?^ST?X%YY`#24%5TAc#UioWMHRoA`p3GT>544u5YGP=il(8~mTUt+vj_H=7rqoha;He={}POqFyH-MxAG)AGPt zSv(h~)SCKVpp=R>RbKx#rT(cLMdSW0;Mbg6|c(QDE->(b`Nj}=%=nTZLX%$NHuYu%>VAbO_W&LbF| zi4OyEKTYsgMVS3a_}hJ(iyI1GL)>?1V=q*MrJEO=By?Wy$(o(?D{zgCwNoa(ko+@R zNLhk0WB_jAM;-mHpSD+P&r9P5k~sn29N*5FMD$q%hdjH}KSf*?FqJB}6k~zY3Y5yi zEX|(`0l6Vnw!v1R z!%kJq>Z5+|dL@4}|BLo}rXl~!1-tCFQjXmf#axWjMa9C_Xt9BeZK5L<1x{D8fz~yT z^9+U7s#vav2c!b~`RB$6-Q`Jd-h;lT!|zo1-rhyTf=iutr%}w6E9*1yD|caEVx4N5 z8_b8{y+1JcfodPRhWG=+l0`12Z~udf^Kxco;;k$F`}1{h6a;R_v$Q=Ot$i$b$RQGI z-a%57+i2iIB<=rqEcUWzm*#XRSzDi>^jwsq(p&gh_P6i%PhQ=$hq*~mK^MrPXhaJ; z2h#x4kjas>AYjl+_Z#@AX$Q&)aWj~m)4)}Ss@84Gz~LCs?L{JZJUA|VK4XqVtJ4La zbp)Q9ZeZkSzY~pAm|w+&dI|-16ZO@j?w{Ru<|jSMgJPw2w`5KKC_OztYb&-`r?;jk zHh<%y(jT)7`mNlJ1IX2kqQNATS`;{(4Ko5LDEzm4vx7;Zbp}-IdaMqa|(#ezLP6HF3b~jFWP6;%`4}YdCXFpf}c^eKXH6s66 zxj=?G;%swYkZ|*!n1kYLQt$4N;Nk?&RBvKk==6DOkqT{zIQfXf=i}GRTUG#z7~()q2^1`IktPNMOppo-4gv$EKbnyYBRQ-0+}b=tGiK=N7g_{}&D# zqh-XI1icRTnyog=146#D%dAKP@s=mAt0=e_CN=~4KoqEqsSuZEliQoI<(_3~3wEp0 z>UOv$bqN-R)uDBT8$Y9T>9T@1W%TxqGdIQ|L5~P7_2_3`#pBjz46+nD`wazwyE5P$ zj$CP^;`H$xV$)i53&?!oxHtE_gbDKeLH&QZrQ!|;#aG>!Z#wR4tIN{qTq_Onux3Lk z-nqmS%_o^8ks<;Y^RCKtj!B8cIH4iY$N86GJD}+&LMCWC%%8_r* zg6WjfxGzeL%M!w+(`;IeN-9xqA0mswPL7ZqprE{6|Gj{`^G!a&JK0ohr z^Pl*)Op7LMG);krpm(Pan=hjhw3ySt9dP_qhXb#8O}j7jMU9-R=p8&%Z+Uo>zzNr1 zsf3XO_W1$3)iakJ^hlZ7tu$_$k32)X>RGR}3m9t6>+o~6{9GECeAK01LLjIpVuB`E zP0f9oYb~W>p`K14HJby9lRjS?El3p55&8Kii`U!aJnsNqM z`TKX!gU|!JfpO15DsF;eFG!k|2!roO;ZTkXZf!6lIx5=^nOu7)~#mKfu)}BIsP~adVPp^ zc9#tfp~_%U@dpNm{1}3h!C%bS4FY43r>OA=j@)U4y5k&zgU_+`=C*`*NZsVqn7VT0RV` z-Y+QnM`i~MsZLOju0mhF1_iS4AFV^#o>bo+@K^_R~giQ8yWI(IR z$0X3L@GUz9yUEvOE_%i5RHUcDe<;d3)&}7=bYLX4yBrixhncF4j=la#70?gILV{OS zlBcBm;_N~fX2Bm@udjAXYp9=oKyc0YqVmCdTRE(;3+)f)B(Lx0bjXQ{oGF=AqWb+@ z;uqg>?~lmVSi&#PE;}!TdcOH|0&Ap^V%C27$may^cTaW!`^gvi>(U+uZQ~Cl(wUgL z{0AaD6b4gkuQz^Q$|u#En7~yRI=hO9XbHrj~$vYlPsCW#d#%drJwj(e^k3a?)57EB+J0$t)s@ zmxD%_lAMnM<4QhKA;`5!J?aKkyc@+iO>Au z3LgNv&jF%E0vno=~=Gglm+LViQsX$ zCBr~pO}9TB?3Fd-P~SM~=f?o^tvo_Q$3XT*Oj0hoheLSPG1^f1Wz!;p%fa`|Q>#W= zs90CNLMHZ1GL_`XI~uW~XaLmp{IOvNBSmFQEpO(iA+Qt!3wLun$fP8&%Bl3C=9gn5 zvtiu=3}1NZW_4V(B%bVx6I`GQGfoCv!ujfvj_da<%iXv}p#Dnm$%Z{8z`Mg>{G`dn z$d$U!2ffDqhRTCad1?IeN0^mo3&P>l}=pw!_{tD0O9?1s?F)zpC-?9 zgH1C6r34eAN*(VWLcyCTQsVark5DUZ!YNYDw#)VT>y z-OiN-jG~1&zg)cUwXeKRZm_lZ0Xy(*-JsLK)`{k`_gs=3vN5|=j2$`@YRcDNGd)b` z1iGR*U<0{%$D5L&&bUn)jR=b0<_JO`*@+mBTNibr-kEiFp%)WY>!6RRWL zcNHIs!wK$WLHp_tt-D4YOwg8N?Hlw5l-V~^d~T(ef!B=PK_;Oy`(*)M;IlVB|Dp4E z@(ep&l05@g&0MZsF|APX@Ar-$-_eea+<3H>d`G5`-xByu(HahX!4h({rYUY1<$5FD za^63&uJ@GZ9QnW>2@*dX)c=y%l(~#{C&CYQ6J37*6wykIc{1Sa=rY2D^>j`xsB5Fz z#{cC0{*^7BOPy%ov&Z|W>jSpc_~V`bkc*W^+}yQ#l(#H|Ql#}!AzLMxM3kLg;t$Ps zqe2^YwoHmI^=|scFt$hNN$d)Ho;h#2pIl2wzECls9c1i|;D&=(O(IRpR!hx76kB>7 z!fv3`hR26>U%csX@?yqf3Vx0!k?|2 zM9#7~TE-b*3pN;+SVbuq+e({vaD*golL>_DPLSaA8{5P}IVLtJr1IvKbQ=Z%*ZvH;PbQu$GGX8v&Fe(WV|B9`^EAj5j zgH#k5lnKcAOIUu{p?W(ch2*HmF`i0oB=-cT7v%R4`cn0E48tbH|G=xY{*(rEna;n@ z=V)QtrbNAdxb-g+U37jV7Fhhra{N)M|EAbJ3~sW?S>%Lelu$Yqf+U#SdK|Xdc|5hz zk2rBhx}`b2QqV14OJ-3PBv^@vI(PNWv{m@B$&=@q~w9 z#fekgcGw4G3RR{a7KmWDM9P`)b$w9`i_p+e#az54)IMw1$^Qv$V zOLfK?TbCz_p0Ff(K1@D8M@`#CLG_LpsN5|*A8#g4Y;YGhLVfhP`QH90c%i|VHa8QB z(cHtznE3+=f)+I`%7|ExzRIKH0&O}Bu8D_xwj?qr>_pwk$~mQd7K0z09Cr|=0!PU| z07pyz6?+x!;AA^)IG7+u2gsATgM?kCb|BVb$1<|(wO&xOE6pnruOK*VS3Usdw*F4P zUrwRP{1clRhga)#Dff_LtZTY9^k~Jk74E9nLB+=phni?s5pG*PDTyC?+-A-_0YAJQ zJ7GK9vb|hR-$n}cshUd#@d;p6sPIkjTA{BvD%t}@hsJL-yuTG4tXK9++714Y({suF;%yzd5+3MP&Omu^EZS-W z6cyB`w{!lK)lY^1|D31Rci+H^CG+7i&!Xa2Sx-p9M!+}H9sp$FaQyQjNHOnA+UvV$ z3bj9rQPE{(^M^;K(E?;EB@M5!4X<4pe>DWTi4#7g_Lmg8Y11nU9PDuh%Z=H|-jPwU zth8lrl@RkUALK%x4|asX#=JQ>tmij!M$-Bh5kagcIrio$9Y@)kcQ&oE(Lk_n1qmhX z{^_p{2Pb)6h*r-qISUqR(m`ys=~2=aiv|J+G+8h{C_C9OT%;&*3kct zlAAT}d$Y|1{e^ZI5qva#L)2v8;pT49j*F|B=~Fa?Uu!PON8(x!9o5A4V3+xmljUZh zGQu07=P9-O*E?hdMdN^?^$r57sngE9dIs3%ukT4n+_RnJw!d{_mW2MmziAg`AdniJ zkI3jjeT(C5O@LimDH6rGDP=t0O&T|>#wGrGZi|es$!)SBoK`V?Nk0krWK-^c=lL>1 zOXPhdDm8B?cPyZQ01l4QG23bqHE}Q3$l!@Oz`9N&8YJe@dU#ywR6#sbb0sHs$7_DLQ$@Q!PhkwztpS+3DUg9 zM4nDv-5}`Pq^1rVVY}w?>7&j^XVTLDjFkrK4WXchma+15)5TZZ4g55{FdUpzsZQ81 z`C9!l#E2`FrQ-9fYQ})?%YomQVPmy`VkZ({8c9rDECHc8D}O4`5O-YPOtN7Z=3bqc zAHekLE}lzZw{A=CAeN%V^jE+l4HBf340e+J(BskUE1sJ6`69f2oR@8-VbW5{jY8 zmvgW!I&2yYEcQYiSgTMHvi90dI!LX63_k$_Bas`E3e@a$$xl?MgY}f$(vBaskJz}z zC>16PQ-tMMaqwTMs(Af){+1w_En*TD&!@O#JqP;htmpqQX9Gxit$h{>skbv67c+aC zAv#7F+^Q2-+t?R`v?DkPu?gI9#hI$rMs`LakJZ&I^L<xs2-MX4j7TnlOEedw8X8ce$k*`6*82NH(wNA>ncXUAq3<4mX4me4+m5p5nRvoIL+ ze7s)&HgeoGY}?3b(xykX;h)<89T_Kn!k3I524}z;GTS&95Y@sD!);T^dciMU@jJL-4z!e%gThp|cbw(kwetp0gdzor^MK*2gQ7@}*f=tkl z36(EXRC~SEAHcf@2bwOF)3)#G2x}Pp<}#8TBeWty;DxJ+2ErKq)3nvn{5GjQ_dzf- zua2^v9i3p*?S1@v%%qnb+KBx4eLjwn&A`ejsQkb#*uK%gu4dT5_A>B=Wo$@l{1*Md z<)P4IjYA%Hk}EKATt@cwVP~_IAS9KwU*QboJBMQb@}DS3dznGrntNPThY*=>s?-5D zI14lBKJY|br@*7F*}!$+Jm{INP2=G>TgL4Izv%})*v&VDNi8U%`+y2^4S>z|w}0jE9I;xM2BHH1 z*j#+IzGERAnNfrEo%*$jg?&fh+uHL*;9(P8Wr`oqN_4twe!lDfz!aVm^j3*Pe|HcYzxnImLcuflLw=Sj6uo4#%k z)-5&}JhX80$C!jEM+83`VaFkl6`8T-+fUswc-$KeoF*P-XH8p77M!+9$FJWF@s=iX zqD!v$$q+W%gEvd~;O$<;NZv~nX6g>b+_X63YsQv$I-2{@@N(^S_D?D5SF`18#LLgB z*s729B;NO*|A(=+fU0uq+J-mXtq4fB2&jnC9SV|4D zNVhadgEZ3o^WGfK_k8dBd}I83aGvK3250YkuQk_<>$=vQ-BC`2M~hKd$=^CQuzyQd z+e#_(Ym#fc`P`%mnej8X52iL>DMTauEWY8XyGbBbz@oJxuRxKsmEbKGo1IZEoqPR4 zeN$;R9)STLdY|0N^~_V%x1FP*|K#>(+vU&w4-2{Zf|BjYgGu4X<&jfUFYDrW;!yWS zUTAq8-_kDeaUzYOj!V`gx?X6J>!CpR8xq!Ir&&k6r{2j%>^u{0WpA5&ZlYATQH-A1 zSB*yiQ@Xa)SLy7+`Mb)7R?@}v-0xj!97zYc?Yt8m zzuk33ZA*nugUl(6%}c~Ax#bIPvbK`_PT}0PQ&zfs!Ij{CPJ-eOM#hLM22eddE;HQYzfHvh&i9QMN~$ zgPeEn#6w45EvvmmFN4%`cDWk52Dcrc-I8=bC-{S>4SI|@W z?=iqtt!q-vZH>kMp+tKiog)-hhEKkZTTOs7iek{xEPbBV;hC(Wd{@RGlvM zq}CTaHFa$LtA@1)KB(13&88%}wt^iE?YIPhcEF}Ch^){mhe-DI81W22wb?t3uQ1NzMRd|3%WHsWKI$6Bl!3BT(c z%5VxvsRUFczVkzJ7WTpqPK~@g(Vf5+zjU=vghhAQraZ(H?%{nub3t73cqiS=6H#6fvM4E5U~3ajDOoh6&%Qtz2^{-UdYm9}T6olJ-L>vA>!TxZDMOB0Hn zM?WX5MTmVlSg=*KWM`9g|5#wn#yWIL_0Sm*eZb~mShZgF7W4Vgwr86WB zb_#8d+OrHLm);#-i>Djj`^{>t|K{1#QzJ<>X8MZJ5`O)WqHFaJZP@zydZ}u;Dt+-2 zOOmnA=sw^s#PGX7(~$i0uJ~rZXo~pWeUqEj>e}KBAQ(alFq{}d z*eDmoyxd(Ay;b6auRQRaSPyz`H80jiga`W6FGjX;xc%=xjOSYsk@n&NH;0N9A~sSd z@ zqu8Yl31abY&$3yYeC1ZUHjtG=V?(FlTlMgjZ`h&^JLlBVSVBFSWW~*|I<#AIc%GqF zBVqC!A5wSYe~z*gKf#s&^a+3W4r($}>!W_~0woq07F(Oqb<=2L!n%|v)l^+cA9N!z zhkA(9Z@`{8;i0t&I4bEetDnO8g%9ZHZHpVLXvOQ{EW>tMSe1Kz^VcO4N$L;J;LVjz zr*J6mB(Y0cN!tK6^2wOQ7_ok1n9%n?V*)ZM&B)Nij8M&VSwPr;V}vGHCEl9QBt?-J zA9rC*aW!Wwv9V6QC)N2mgmya>W(?&7IVpM5%ZT^2CSP z!cF*Dnh`OdP;txt4kS6eEo*1DGiT$T%RZ;MD<Ad0UoHr7LjBlC9S2|v1Sw2nzb%%@a@R7qnV5;R;3pL1Csnu~nlz#4 zilDe-FykjS@PsRJmRUd^@7_}+2?!1_R{H8M5yfk&BGkXX5o!Vrv2ey2T!uO~-Pzpt zH#-U=ipJbM4m9aS78(Ee%;xZ@%iIl-(f2vbaH@YMmolgfl;F&qMqDaTf^}jiqL~Y) z{Q3v+6SHV5W{7Ec-)KCHFqQl*|C!_kaZmBS=Gbqh+4J+=y;O?2?VH49XCuBxeD!1M8AImbcN%|K#qLLpkHoS{a@z)mHQ#!WwZUFACgO`-dM&vvW$PPQFe= zJO}|;V~XYWI@2d*R|0v{KB^vO*2fpEQn=OsOqj*uOz4SY)2rhVf)e4Wo6+m|+=E&S z(hVi2#NLeBhVws=RJA*YrQC4#8i?WkVaVcXJs(m#H)`QyhK9UTHPZ+AplpZDHTIq} zMKcd9a?^f;jJRRchaLMQAaAA-@jUI%_6TA^+6ifxF>#_-H&MJ)G#6I%z5j3cge2 zfgtLGJe7?>2UVTV+n(eht;HIZ63Lm$3%knJ0@8COUb6t5mwHq&P(X5JQl`8~)h0s1 z_JRPLK`C;A$DtGOgfv;LKVz7cVL4I9I|9vy+l<{Z;R+O+jb-})9ZMg4F)>eI%xWP9 zu!QrgEG8<)K+)kNlZzUan%mo4&(8YUXhf{@H8?Q6|N|B85h0xH4KCWy2y0 zCu#@JB{+D^dtLN=Iod%U+k6uu84KW!$jEs&Bz?4j}qGU*7_aHZfIItKQgj+fO6 zvDaJ;Q8sP(mpNc%F7Pzz~f<6>>{+5Z>#?p`cKW<$a5*o6|eq_3A#o4Kdu|Aw$DYXAdN7I_Pel zWGFxO`9YsgLEwq3#CF-st$FIxh&(stI$6A;ib=5Gt7b&^QYhSQV}b}J3Q%YTsX_(;_<78UiqMS>OS9(Pffd@*n1+c zxgL5G5Cd6AzBNj`2glUnhnnkKitvw7a2=zGQrT4mZJ(bm-gr{W%LkAtX*|iehBqof znq2b1Wv@>U)sV;ztXWg zyB#U-CErgfV1o1R)&0Y&VAMRI% zh2e%L=y@K#p#{lRe5E64jurv%z}UmC@&VqdBEQ~$%q#tY;NERHW!08i0?OS7!Xq|~ z^ZZo&-&Ryzm0DvtRh4};O2ft}5J^`3bi#&R1z$jXH~ z>E+qy6xruOGP-2#9=lltl3sU$ea0g>Iz~oUt}SN|7v+|K*y%$c?b$Fbd9fvOsrT2SEZAP z-r@l@xW!hCWeywtCNq?cznn0lFi@HI;e60(Xj}W;Z6Wj67%4vfDN-ZxwgYE;C_Ozt z?s4}+ocFhTxSP97JdznLsYgE|&V%>pD#REAX;E=eXV0yUkL+4z?$L&%t+&>9kI$GD z=mp|unFVQ6f)jh3`V=-o9P(#9UE^AuClPSDK@&_1Catg}Qo#>T1S3$_&OlwKSSh!i zQ@RA486@#x3IQk-hV(8g17ck7KB(?RrOHp8CT_8Ck?&Xt8;_up)H)3k&tTg7hdl?w zU{QSXC#w<#eic={ZY?Cp zowF>6AetRx!jJTB>}j~{F=zdwVIqWiL9}+DvNJ?sp8jJDY(6Vu7kuP*Kc9hd17V7( z9rMoI{QMz0S*ou3f`NB1NDMsD!PzW-C^D^m_qzTmKOiZ1aVa<}@GEqJ3{EkJuk9j0 z;|x`nW-wn%>i~=u>9#> zk z^W`+j*{kC)%+s3ke99Zwj1fXwXZy==Ez|kaQmonV{N1{dI8I??jw9SvIl!u<%H$7q@Dy zuX1Jb#3_yD5^nLcVSm$0SXMf5pG0tPGvd6??YzR~fGO4grawmc0fS(lq&p~d9uhor zT;B77(pmT2nD~eT@U=ckg(vl+bRUS`6lcUW3$Z@-2^ZQ3vv2P*nIf^-cqVoT(g z)1yDX%~y+2*r}{-&Tmnu^XQ8{@-MYK<_&&*c<7*Ch!c7i(>=Y745g=i9|VI~Pes*& zZkXj_M;Q)3d$uPIxi|;`o@vR!lIk1?D#;7BGl)9lGpdU(X=e47tT&&3H4C#8amq## zvb!uo=vNAuc^-3LUt?>f`DbOZt23w&2`f{XC>HY18J###Vr)h04-lX%3PPjr5Wtxq zu6+iUq@M=&!F{Tj=pt};cXu_iLMydGWmyV}iez7~o87<9%3(g|LAFP>p>Jpy(Q=`R zzFq3LJl__EA|PYcu4SJ)MVS2I15N;QQf{tB=J(l+3AjNCv$;YBtrZm%a2y>S?=R^I zmRhJ(6FfQ?%F`BELc~F=aW>fg8-FNB8s077qJ+ge*>z>%%N8S{K2E{l_H754S$)0* z?&CDgO8)sOGoH}*!1FB$hA(Q*TS`!8ehM!%AsWTxkaore3B!$USihbjyCbF&Ey>C5Q?(s8HAysV9 zT#-9Xwn!w5{s#BpG_T%;Cs6fBC8`%;KS!@H_=`wwj%g z3GXqy`T@1IwX`DCBs#MfYtHD@rA0DJalBq~q<(*+Jq>Zn1exrcbE(3wCay(FVpb_) zD$)e2aA11o;72I?De?gzArtl)d3fZN@}>@X@R)Pl+|^h5?*yhNcoL%S6%Vb|Q>ovB ziCCyfnS0FSD3paD-LU6kjvOP5FdyGpn`&N9Q+@lgiI$c&BRjhurp%yF$P8@B&15o} z4>u#ewtct}J9#;ASEY710GVrvTy-}00P84OE*iSOsdtL2rTY0ZrxBm872`dZ1nE9s z4dK5<<9dt6C+FqrJ8l%hi04?D>GfRy^3k~S$;J46^>pKEq`pL6f@jf|99(2K_6)3# z%C(F^+UssP-|eEL)KskfKP$RLLwTln`Cq<-iZ_l{JbKlnm`VY|UkTdneikSZ91YtF zkuph&TU_s)(9+eNf)Tv6NlB}0OuP8V4AqzzYSfxqEt$`1V8`OtWk=qH?jBQVbq%6u z&hRcRUno`dc`{yf*pei7pHfUR8c5e9Lar=bg!@dyB#zyJ8jn>X5wsb3-52wbcngNn zWmQ-*9drBTv>tCr;?ZXM4$P{_$rc-<6@GVA=k@7!F{zcyq?^Q5>j9MJsnB5`c1ugk zouvm-VrFhh${%VQBhJ2>*5D3mYiom@=Me3(gmXGw!m?g0vBf4AQb%4hVSQngdr3jg ziX0;cJ5Wd3@xbcWMS(o08$A4XOk{mR;BqLqWaQOJUvt|Z@+B?k^dr0KGV_Dh z+06|rtR2U_iNTFnOz?r6TwvEZJa*CzkAz+;1#RtD`Cc#?+#J92`TO_ppANY6AHPP8 zJBvQ}rPq@_k{URY6{vH%Zj#stSsdAbr&n*_?-LFSzgrBhJLS)f30Hke<|nnh79`%3 zSmm7N7!(a7-aAqhnvJF5eQn?A`(EomRqhnC;3()DguTN@(q!ai(Kbboe7v5rG9g^jcUT(83)*4} z_IbfRvDI&+8v}EaU=|i&t0cIA1TDyP?1nQ&;*Z0p>RxVhshPa{o+;iZJ3(mCG1(`_ zp{y4-uj(rDQl8SRKwr)x7l%T#32XevsVlJlwOw8e*tp&&1`P3x6v;F6vtb;(#vC5X z7pCOp+K!a6gnk!yU83>y^rY;&A}IKD-V1Ku2DVJgT3Ic~H{+moydKNlAngSyx+&kO z(4RRdY~Jsy(lF-Hkd(upnAY_c_JeLr{Dgh6sJCg2X&m?A#x?EE$({phW@;VJ%o_J0 zpoZCJE6a#v_g(jV{U^h+5U)?i7Zax->)-x8A~pdUPTOKG-Unu8Kf+D8mhzlny%W1H&jHJ|VN1OxNLbUlzUJKBb=$A#MX%l1#yfD^=ANCC8$Be)8 z`FQUFGU&&`+8P@r4s)AI=2D($7#Mt9q9P2=^*#16-<^DNp%EtPNltpe6H4xWS7)Vs zj0(dGg|0`-xkF`l_+g;89&Zdw;)<`&yjH!Nz7YK?d;j%f0vyIA0a93C&Mf_D&}3%0=2#DmE*ReroJDAbdNfOs)COcW0fPp-?Nj`>hXNJx-hF6RR$Xq!+gZ0-%x1bYx=q#(cq;roJ&gb zP&8(ST!+JI$tk0lbtOoM=uxLNkqoupX$8+=2W?!C4a%jOjQ{nw1>_DH>R_!fG3|g0 z1|q(ihRLvp7vHuLwBV7_`?b$vkuy;`!*E-TtX^TSo!tBp7?_%TGqcgTZDGOcwF>9- zYosd*45a1^n_L|u1Lsx)hw4doHt&G-RS3^4)Qe~D3b3(ZofWdB@7_h8RFj=^JV@fm zEocOSDB7~OEHSVJ*KEhY%kpOxF>`50|62IR;KH~E2i9Qeo;W)@kHb*Vvix%QwaFk- zDO9dOj{DgDXgV)sUE+IlsRPA!iCrA{s53Ce_H}!fPF9}Jp{M!ayz}I*@6mF$4+Y*t zMMtOd4lTRBlk^s4$!Pihy(YGD^Mht!6LQjB^IM+Us{~s+k&DE1%!zfp{vLI0%mTL_ ztLoxt^TxP)5gA5Akk%JMp*ybw$nL&q{C97|&^Sw+HYtN>&~C&huRk@sD6EJ;CgPZ~0Mve*S8!oevev?3+)z*k&eR zJk=Oca(uM^{Owz@1rcP$Ua?~|iSeQQUWo+GD!>0ec)RCG_q-3J0!joJsR2)^ACm8{ zj|j&s2dbY5Y+#=JSV%qWV=l_Gv32<_;I}8Q*1HHHYC-MMUp5*Hrq4?Kq{d7@Caah9 zYdm-O&d>fzTo|yV$BX-AkQheBJ^b_)SK7;`>UqdKy)xvZj2^!zz~VA`t>By*7hj=^ zD4BXDwtDoZiV6B7t?nOkb8}yx8$FwatfkhXAk0~+OCw`L=Pxr6d@ZWNeW!xDspK9i z5d19Yd8&G&b#CeLxcn{hbOX7$wFU_FsUvhD%vgOiz-7Dnm0r78TB0)B#eyhnm@-q2<9T{dw@AZ0y{`kMq;V52MZnT$q8EYASC*9Dp{ z-|t2nww1rM>1G~EtKm4$H@6TmsdAhAfmp4DlVV3!WQs16c2Tc_{A*TL730&+niQq4 z@l{p)lqs2;G0kK`cu^FZih3L@88PGijpMzIW044Y85QUM5m1KKXEH)w5L^O*_NTyOLR`_l9t)d3&Xa6)b214 zSjhoufs%e{z%e%?Ckw8iMlQ|3F^w29i9cXnsgbn}mpy;L>D} zL0Z^UcF1$Nq9f}AyDrp)|Gd5gzh1(GrL$NPXE{xGM-e~Z>GWWNS?quO1^&sS{<!asMH2>2K$49E0fvJ14Qh^Ps0;ny3!X)@Q*l^ou5T!wJ^pqH@3{>rR~h}^ePWFZ zKKTI07pItJs8BjHfU^8Gi?EPJGz1+ZHg&OvNt3OYT+v7Q;z`+#e)vw_69E!+wE4J2 z`e{_|3v@f0lP}hZfAY>I5fZqYxK}P(rgAH7{9hm4(DR+&FO2&Q#BzGlrlhR^=4uN; zKr7^OWn)+-ndYKT{RX7S;8cYyHj#i+Gu|MtkPCW^Sa}|`ztS)wPt&jf=_S4 zo+fek$Aj@L&uhbN_rDm=cYV++bLE55318;kUe_30of1MSC6xWns8+(cXz7zGkMl1c1weHWK6iAprCY)&Qt&qzqF_4UO~cz zH>B~4kdjXO8=R!1c3x9wEgn9+6(eLl;MeZ6{Y5GJ-+j1$7TM(4U%!4;TSegUC2Qa_ zM&j|u66Ft{DS0RCfC*Ddj~~Na%kk31Pd9WjzciP+EOz|-NvI!_XFVtY6NxP)#!@3C z!~6PlP<~@8P4K|NIkPvYLyZEj7GpqLwyx|>EUUP&ws#`YHLu_f6UKgi(IwxWnzG!OIqgywr7o+dKwvL!98>&+D{i z=PX0PEv6sVS4}r&THRM`@bX-je+JF^9Pf{@(GYWH<_|Vl2nuYzl}(5uBmrbgrg7a` z9a0wdCyJ@=8?8d2UIL>VH5;6}Sa5;-I z@SH!dsi&8*MDa4G( zrleqsh=|BlhS&=e$F_W+Unw6Qz3c4i%F|+yL!FtKSyy?6G!#o!RTa!h4vLobjg35u z&J@kDrpM(Mq8&==2x&2?(>;v48q7J z-X^vp4})TJXCE!*6t9L#9bmYYd3QMB24V<}y0d+%*#61#2at<~3%jPDiL@(9@^H=7+b`C4!rneCbiS&=d{OBHFRtHn)z>&gZ$ub!1Z6&N~vjzoMHZ zr>Cb&Rx0-?iw*&;Nf!5o?Kd4NvKc6Rc*b>QRASCMPmi|*hIi+AY|I30mANk0cB@NC z%(;jkA8aV29FJTM4`!u8znk6cYcRQV0JV1m(S>qUV!P0sSW$yAFT| z>n#`5cOF%_t&D2Umc9!|`G`JK_!~#ijUPLO0q-+Gp1R_Z5QIneg2KY&f&xL~G5{RF zGNq&+K3vRgT9})whIy``2>ej8w~&P=QT3pm5gD>xhnV4Ny3`>-{~ae1Y?xk{`zUmg%aTb5~R9o8F&4!^>7GZ|mQ!@{s^+ zv7O|n+6(q!-{V8!N87xpBse&LE%xKt%>LP5gVDU_Ti#x^k@fMBBqSp0?CHT~_Q|2) z+j;w6*DvRGu^PbS5)xYd7^(m%h(?JA zzqkmJjVvwC!TE(6MnhLOl!{9Yg#yq>R7_0s&K>bNmm>g3Z!#{T14t@36UN8~8Xdwq z?cy6MwU;jZci1k4IQ}ct8XOj4UON|4I^CIL;QXyt>hn^6nBu34nDobEyiP+XC?Ubn z62m8_rba3%Dr&#}OUc>A1p@`uoX<`j)8zix@ljY^uv*i;<6R^t(DlmDa@}uLeL~Gw zJK6BW0gxP2_0i$J=B-;xDJ+ z5Rt=R+8VG|yy77e2uM)y4@0%td==a)K5ifi^-4MT(MrXc`T6#pjUQqxFiW-hYc3x1$)iBvzn)H z%fHBCN67y|7E$$~LfM}_;i87&k(9qd#oT8s77r!UhoBBSnCrgNlP>w{BJV@s5+Z#M zOkqAenY5RCA9$cUA}iO^ro2Urh1lq+o|_V|w$LZ^UN8|oahRu@N+S+xl^;=9cPVoM~ZlV03Y?@T}-Mdxm%7){6s4D1}_}lbv zjOzULIMoiY_`?tB>0CiJhjNwI*#oK$m+hL@XIkG<$yRMp^BDv!ey+N!FKIuHI`FB= zANEy~%Fz)s!!vMoy$b2h>)f`LKT}9^*_f=4A8~_yq`mkn@tC~G0n=v^xP1AVR}LT> zk(8q0DX%YbjmsklC!iYZNxMHJ*PlnSJFhGcez`^<)pY(8;W;@9%(XxJFie_G@Jy;f zP9rS-e9*JjSR)@={@920Q|e9ol+k`u+wR3<%3x=f5ay7W|I)l{wEVvHT5kWD-G$7eN5g)vDwD zs*ExN;Vs;Qg2wD#7Dq&Rl zv;#AFb+o#qNZQYzLqo5OFJe3uE=VxQQH1W;VNGQlZDM#h&e6|fVnUFlOCwV&FyU6F z7JuMI?ypikBMt`|WIAR*0DM{+|LYs{;FY|^b)m6n#u3?=B^xkLPA zFq>Cud%zT_@*Nn}He6LT?`~v9E8Jxau<>mEkewvtD*pwKK081wtZ{5C*`IS8 zuTaz>XdB2+cI=;r#Z2F|a91y%p81OtbPm`fjRo4XKQQ%|WyGWy$ z{g4;qz%)`KjaMvQ4Hi*#Kku){vsg#tNNQMtRl~z~rq?W->LT8kln5JpAZg2jZdEw& zP$Z(qD?We35FZ24)~wcvG*r&RTHp=mog4WUg+GI)ABR{Uj)fk@N7qqcLz|sCl4()H zXU>gfhaVk>$%APnuBd*2l-T22Vgurq>yusg-B$E-`i#p|0L#l3Ck?H0hr`6FX)~;a zvwF)Lc-NB`9Rq@1Hd>BHY#lN9V%a(REL~53^l>>0)red!1$MSj~h$~oY>U1 z4!qecofbQmyJbES;SY;1Ca7ifrUSN_yl2&yd{T>g$= z)PH;>raF(?S?EdYmR-4m{INvh+k(DQg%TR4w@f%W?en#7OY@OR`LeaDUb%855V~>i zfGZ4uus|ZBG6Rjdp^}Tv{gj++tTHPGxI6S#zj^Bx*G+yukRqn<>HSUM1Vw$8QI7}8?Na)P zA62UdYLbgLlKOzeE!%$uDTqWS9roOGF&-Pf>;68`pVVsOXYewY-D$H;KJNDa6QFmj zjiur=`G~obDM|gWJ3;ytb4|FiJo{gUmUl*0e1uZv0=73d$KQ?}a1Pu4Nt(UGuPZAZ zo0uqN7JK)Yv~h25kEQ*Vo*sT->E}#upz`oT>*Q?D663B7JGGx{fu843OfelcsQAk* zui18RytzBqb6M;&vuYK>dTyu^2Kep&E+bP=P-xz0m-s{9mLTyqR~`H?e)WaQ9g_o? zX~3{ng)DD}gaI2p<0lm3=~*K=X*hZg3iaePu=WONYzA&h@Gz3%Af}c9=K4>)KyV*Cw=`&J9aQ5 zM1@HPcmfiA{iUV#-2iDP`RaR|tbLY_u48B@i#L%;=OPCO4t(y1{7O&)kcqEWCmG|F zm6feQ6(V7**YMW1)KYPV#VNGM!kLztP$1?(d&Mq|rCDKNA%Xw@gPu6E$0%&iJTdD6 z7%)KYY)22SzJ==9z&tT6EiFiG+&_)gFY(!bBpnWjw{}7t0PxAEHU8WQKpV#UZre4a zC_D-AI{NwWGvbPf)4K_nN7o!D>j_@Q#dcI6iiK z3S|+Jt5xp*mIGA)B!jqbTXEC7A6Gp3!-=hTXt#q^4c-F5Pq>Y1As=-BPXs8e^eF|w zt5-Rl=Qhb0?knH8K?K~|T{Cm@n)_dpAqUOVQ}K}ehXrsPo18R3Curqj3pb4RD1iY1 z)B`~|4uBX9Y%r+-f-Vv=6@3CKb)an_p_>9}ks@TykP37T41`$-ex!c{I8oqe`@G}( z5p-ev2nu7+rOiCG5DYg0mPNTZ2i~bIUJL_u`t<36QkU~cg^OBS-TOM5P}i$#M8ceR zyWJ!Y9dkuz(Mej7#G~zT=v`f%JCsN^zEZxS_94(+95QEyf1MsD(khTo?=Z9;dlF;d zx_=_T{Uk!eet*hmB?#)SlfLhsx9>M}o8Xe#B>*J?M*VC`761pTs;yD`uT|25rlC59 z1;(WL`e-)ftgSR;nYE>m?|4m8C01YXStI)3#7&OR?#!E@tD)gHIXP);)S`9yjY_T_ z@7&xRik!*Td7SePx1E2)h_UC4M|>m8WM9M{#^2lu4%z zTC{53zMWNGd}!#k)*$EVpcV>Ur*rDCr5nSSYT|DS79YY9l6P|Yl7D~z`uD$x81Dj@ zr0iD(SwFPyW&~piC1cVlx?SaSm@9>crLC)5XC`p2$?I^d|Jw51comdX{QpSsh;*Rz z3l9(P7#I+q6M3bK6a5`K`g_p9ffvY7Od#e0;zZw_cjLy5wH!NdB3}T9*1%ZLZFp^Q z;bTJ0m><4Y{ zWY{T{+$E8G4=ohZwFg0-6+SATUBvgnAkh+$BY-roKk*ZX-Awogg61hanZOkhnCudbHXcnuy?J=5{dwerL5A>}jokAD&o z6597_>v9l37k$$&Onpr(C+s_BxV6s!aVL_?q=H}p`Btx{8=jmoMd+R(y&RqL74Mb0 z&pun{QEP3z*Of`0B(3;RQjuMn*^~?veq)I6ORTEXNN20%3`k3BGkFpo?&r z?_CT7d;(S@!ZINn(xG9f;N8#Hbabc@jm7Zn-s0z`53zR%m0mQ8pXqo1 zbLqbkKhkPyZLiz#>O=PtUrz#zDJ0PHtQ2NuX3Q5Z*mV?nRxlQidY-qf*g`Ouf`WqT zWmm)rL9K2Y*KP;!j6GcbPcNMuF+w=iw{}3Ly~kb#X;m@sw@JTEPzb~Y9QKo2>1r6L zXN(fzND{ZZv}Da|Sn7Odb`&|@9@D2e#Fu{mW^^q3FDn*y-w(c+rDdkTajzahfFD>Q zAV2Cm!ztXX@Q~j$thuQOia7HlPgta;3L{?t<*uu$GHh&v$OL={m1w^iR@DZ~Yrt=k zhyK6c1VYmRiF;JOXt;t1IVheqfHhHyTJ1x*VYL6Ve|*iI9DaB8ZL&_5L+h1(R2W>- zCHSzPm61`+7AYPe&5SBEAc4eqspu9(wR+S4NmdR!KsH7RbSqa^xI z&MWev@X!D8Jugk|^N2wDpgKSsO6wm+Xc=;G{bs;_@(wd6yu)Sb82?lTV2vEn104Q| z!?z;kyrE%Bs~>JG1?1(_=)C+dDY8-B;#+j7uJdG0Q$wT;K6ba*+rh? zyIcFCFVTjz8M2xfzM?P5lyGeg260ob#-Ihz)Yxd=qbw@8bo|FdnRXjq- zP#UurIlofE9|Z@3f2Zga6dit!iPC#94etli6LglI@+SHLfo%G-WUdT_SoOE)H~9NJ z^$c36HRjO#UoWA-7P$igB4Ryg52+sMcGxSbqVy>Q$R^{H4u-0vZh9Dqw84S((aB#% zL9O+!Mpkd^s`c@Ih$gi+rtmgJZ<1fg5Fk((UXqb zB+pz7Sit?R98$9j)XNyC2c;szT=1QoPyV!_7A^#o{XoG5?vqbnRqi@K znH6l(kv}6idDFZ9{3V!rSUuX*1%v;6)0=NVd#@h|&aO>#U<;H4g7GI0oD9~wQh@po zG729Bnt7DpWi(Zm_DXaR2dt-+>p^KNzP$GJ%R$c{kZ^*wgXMF@HXY-mrAuH)*>@}G zKxy{~x^P1S`zuIY+F5`4C#J?@%2F=_cUc}iXBdzRb|Q$jD%LpGd}4Z${$<@(+p2T@ z0|WSxO<1X&VJ}`#;@8eO1(w|52Q*gZlmb+PfFr8iumL9rR6H)Kr@vplMdbe5;2mUG zO_;@`AP+4^rcaOP54b_m7*~FBrQqLB0ST@+3kh#2e)!G9@B9z$TH4w+f_#9(d^gMJ zkSB)UP;|j(?C`hSD~*M&8y6a&O1@-s1r8HD{x|CMeYo;BmEHXf&CA6hG$lMZT%AGr zfylkS^DT^oWCv)%gLgl|g~>nV1EXiItE;P@2q-snpm}j1C!yQ*K+;H3 zkr<8q8?c3OZYS&S-*;Dn-iL2Pd__LWn3#p0s&l|p1bhPr5Tkc-VzTI^MKlkiwGk&1(~P-82(o)%>SC`m2#prwBfU4eJ z9&!K}bsV591_*JlWM;EJeym0E6G$hZ!{}_nBhpBTZ5mAf>ZH=&mHW0pZ>g2=Gc&p$ zuE$o@12}>w0U1?a&h1b#?>V_|-@ego(|`!>v+v<~WIjt!-9*qVe0wBoP0r1=|K@G3 zk4P)mkU1_(gJ0xqQz4~=`ey>tGid!xyLnLk#|@ahoi?}1z-P~%1uZlB>=++F3R#cl zW@td^EDm(kZczUb{F0tC+H#;D>6b1)r3*6zU~o)9=@!1C{M;4#jcBl$kM!2dOyMo&IFGP@AX$b>rPiE`+5v3^$<(eEKDHayPqGF^k3>JlB+-(YqQ4D2P(??D5LUulls12&<8)D$^pGo;QykecvJd} zF_}#jNXrgqQov9lCwxSJ(HTN=Rzq7G2fSBfqoVl!(ii+-S;)$&fb-GR)($>6I8ciJ z6MW{b24j{M58@|zUJ>GvG0F?l;h+SCgr>R^j|9CW6Z366JVZcdiGX99o0}*UoUfzZ zcHc=;ru~7EMbPT(z|=0x&;421=lS>)%*{EpcuoV}XAi|8YAqM?KB|U>hQMdtBO?*; z^`NNyYTgpV0@d5KXY~Hv^VsBMzmH&bCehgQVf#CgRB^Q%H|jtc29hNr;055YmTz|5 zXx`5Ux{+SWhaPy3v)e9*|BG9}1J)44Wx!$Kpa4%W_jbNWnCIKr9zZRXBA7}71|t^)L-VOTDZeS!1x{T^}|wd@_vbY^-&Er5rY7F-W! zAD(Ug|4nO9U8qd__>sqJ;a1|!nGP|}O>V>-K0I3XntSkNaJAurk0!wgQeBDuyz6`D z;suNiqXTJqGGZ|HW&5&=XKhO`#N2+X45SqmQ6q})&c42@3sJF@@tRGKifsU)j zA_Ejt#={%%ux~9bHwG?15*)xhj%3-u{WFI@4!mhSn2&=bkIXG=B7$V}!WT_e-R}NR zx}^607o@TVxDnp0W>PfrQNaPftAdxM#mq_ zT208c;YQ#`dLJ>DGzJkzv#zEvdDb16W0S^fH(D;jvMFZQnW9hvSm0XO*deL3xbyn{ z;S}j0u0fGCEkfMLA&yxmThAYq?&DA^Hj8HUhJW^&K2Ko$ruBZ^qtOjUMCqt;_sNJY zQ~p^yVYn#)1YUOj9c}F^+?!aFh9P8k*V`bRL-fswQcU?jum8${O>B@@usQgjL{aE$9c@Um!p^=|0Gxgy&U(KL_k1kZ)cAp6g7 z@nJh?8U*9USRXdz?6${T#YbGQ0A*&86JTac*%G=F`?Fdj>sZ{|w9_~27W1f$uqImt zqYQb}ix(+BFx-7?EAm!7D^}gbLEZ5Dy1YKqlLp1%&k$N$VlOalcpyv2Eh3<5{JK!n zz0RuO>(;j$1n4f$DIzChX@ukFud>l-vy9L*vOYv^eOw0uu=905JisT!XAek-D-lZb z+3vv<$zY>gdUu4S7}Pn12Jsz*LX3w-Rgmp$cyNJY=zPssHF;rGG?)4$Xu}&HQ*nW! zBZOoJTZU%M3u_i1eg2`dxnBeAKaC7eWKo#tgtAfQg@3AY@z{V^ti?9%O2_L%)wChI zqPejV3xPLjTX#}%Tx#x-gM6siVWB7U5`+4Tum%!_HegT=(-oVmFfWNbfj{6rWREmdCQ5)jz|O;gR3yo0TZxU2mr&Jir3VT}obl6nM@~pt zz5bMqL1!83t1$X-zz^^p2+UzAVaWXjaL+0R@yLe?N@VYG=eNqht-=g9+C1U9lQsl1 zCv63%>`O)nnI((IXarc}8Xy`|#yB}S;kCXMO592mgXsh(@OYa$1JJL+J_jZFUf(%l z$BTw+1C>8054719!&2&D8lWSO7?Oo-E@=MKWg?DU%?~Ln6k)m__yd}rOE1$mm{Ofa zsy|i0%5!GE_(enGRSArmQf8`eIs#|`VI|7F`S#rRB`;(P48B2KL5@Sqz{qf5Jo*XA z=7^6t;hrR2Y8`S>^R$R<#?D#iHjvc%!*sKlM6dPl>^he>2nh)(MQ0(&m^Yqn`wK?% z)#$mo6|d{Xm_z0vGZa*33{ohQ=5`Y1}Qu-9G;I4)>~64&5l z{?G{SJ`YSY2oi3_v?oYBLG(fpT$@V)D@5iv8trw(uEOOU5FmIrF9O=FE!s@<>OQJ81Crs1MQCa;H>F`3rL2qA|my%S%3BinG|5!f{6%) z#+q_TSgLreONFf9V35px67wi~eRYz>so+Z71kDbB|a)?XGEh`7Ew=%(00+_jt zM-iPEV6-U!3mY4xDgfRzvBo4%WoQ=( z8QlEsbU|tif#;JHiq)SGcaJ}3hTmE^Bho8YIt4q82oSl-%QWU&gVRg|i5(&bfFO3O z&qJKCr>AEek&q|2PZAs;VIGpGi*HoEbGsNIcr;bwj(lxYIt+mWM8Bys^&0TuFz*UL z19cA)xIKqliKFU^7jeRklsXcIj5j^VCrc;iX2Ob;{Ja^W0EHva?5M6zhG;ta`ufgE zok9F3iTWx3^#b>Pqa4#CuNh9TOG~t8P^4JdrpgtrBTBu$AeLa^EE-RmLUTO8iZ3gx zarwp3M)8*KFd_u0+{&?=Ku}oF_C*ch2l%C=ur3XMr2?>OF={J5y?-&(nWgc}oLyT)I@FuC( zDs%*7E45Q=P<^Q>aiy>;S=iZKyM6oYrl$nBrl@#{g9pWVm5fR+#^Ei(C&PS6U$7@< zWf8^4$3sW~y$M_(Xx;$d3mXn%x^L3X*;~X-(~ij%6%5a>W5eAtg7_rlkPBWuauqyN zAw$A{VMR8XFY2UXdTMukMbhLnT7OHiWLGo+8dZ)=NobLC{jb`0KsnJCfv9i118^iGPU<2 zf^uAErPjy#c2VK4#J98jL0@C;H#&J0YKK0N-H9dmdulp#DJK`ETn+8VP#UfO04OQ6 zw-SD1p?XA5BFGu^gR{K*8zW^uU4c8r@C5Lpe#&|q#iJQ8k`>JL{-ha#6CwKVG1zH^ zfBwVbpD1}PIFTFqHxE(R@K$I6?#UfpicS<@MdHR+vH^^+_Wz5|6^y@Q`n{3e{rZSTn@vKR$%nZWF{7#vS!9 z?OvZ$|D8W5vG1*Y^^NWo6-Hx7dguVWFnj$``H-DL(OI6O7$ic#_?x&cK`B(ysJXO? zGFs&8gl%UDZxV0%$EtIpS1$DhfNm!rhpa<^pegoze5&aQs_ zdKh!xGfDIN-<=CXx_LKeyP*GojtKp%C{Ii)h~G(+W-x++{jV@u)~iGvL%?7d7dy55 z6>?1Ij*yUnY5%^CP`Y}O_yRGV8Y4Qqz)eFMK}txHqs%c}mi7=Ahc-BaRWIYyFe?r} zDlY)tJOZrri?T;4AcTt-xzGsVAUX-+bH66W2Qvm6GJW*6I{$8h{Nbqq%#JWhfMGlX z7tp^I%tE7|IDDs0JA6EUl+*d@>+gT1=vbKzJ9m6h_N8wPK`AWHhFlYpC;I77MyshL zpK!&`*_8dSZo88lP#u)t7d19Bk?#!%j%I@RI*XccWlXSO_!*AjK<=DlL>I>l~cGgNTJuiu(|Bc`Q!k1mMzIg8cnSLV*PQLRxOw@XB zrpruCQa9*GgYs2CJS2QHPC$mNXAKVu^BrF(a|4L$;e=Y~{C|ACcRZE<|37}Tl?Ww7 z$S!isqKuMp>~ZXoJwsWEj24N|$(~sU$11bPD5dP|tc1vxz4d!shhFc`_n+T&d%bQq zopYV*dXC5Q@qDc3{cehw&%BrY!wpeV)dM6%rau^1mjIs6KxiU$;=s7l#NL1m{j`EE zzA|*~PCV9GeWrkC^?+Bx6E9!43eFzk-Iug}H(KfG&O3$uC~2W5u{FF}isdW^_dccP zF@iT(^eXcKABi8?*3)EoD_pJp?bMfd;(2OVj(n_lNZRatD|KZ5>9PctG**4Ty`&OG~f*R_+9|RG9B_t?Hnq zs=GM!1}-6f4YI0(D7}-8AFF0G*moQCkoc1$QTI1S?@K{QSCocS@o(I;Crl_@Hp9j{ zRlJ8S=`s!+5smsiY8XNM#)`P0ikLIC2rb9<388it@|hfR|Mw!%0_MN;DCVDIY*C06 zX;19RJ*N@ht8pC1KF**{Q2&vv%iE3rJ>^ghCiTTxeiit%dTVW|y=%Ao#6!I)_gapO zWE{ALZYWr4Y#8iw=K8PuzbgJb3W_~&%?ESB1Z~?mr%3E&Aqk=wW4pV2mY8IZe9Rz` ziu`r>r4a>j$S9Sw2KV_f2QjI*v%qltyI12mcPZ%!0p_|*Hb{K2 zdI51Q-%~7>b$f|ANpgApqx5OX-El-lSbvKK#e9TG$(ixS(%+u)xwWs8o_|N?1chH# zPL$WJ7=PS%RFSVO?dH6(6gG$J*|U_Vey=oK*B@}D$g4lNaNE`__4H|)+awQWZaMWV zB`V=!l&(}s7Q{4JaCqY|9QnT=g~baDE{evy?6Hvey||5%zf9$e@=LRfj$~5M;5u2R zjEnhs8--k{KRXu)S^`byrE4Fm-v9mFoQjbGg$leeOo0juS9!P4fi6z0ooeIGUqzHzY9r=`x}-!C|JN~d0qwtey^K}ijVt?fs#MQB!5 zcm`U;o5wD!ZIxX?o&Z;^>}$b4kCgs+N0a^ zP35YYimsQD`~BX`Z-{g1DAoqy81Ss4g2?;)ZZOXuM#nWSrL@_ML+1Pi9%%uS_RLMT+Q zIC02LE+-5|1`EY_?i3Hkzh>F%EL9EmPYaGM=;8|tHW46vtECB)L{&dteUrZ}*eUef z34_b3uHS36d_2IEwi)2FD*S~OsRzABej#5}>mu!s{!`Fiz$ZvH8jJ6Gzmom(hmz}6 zq&0ut}Hw9G?@P zP(VgD_!QD^(kAz}GgNf7WSV1g*|TEvNqf^7=8?ZWyEcPw^lebHBItSSjSMocN*4aM zlL0uk_BG$h*ye-C(^1@42Qo(6ZXDhR?PWpQ`&weY;!+DgnR%AQtP>m*)kQ`Yu3#oc zt4&SZeVmHuL|pbWqL7*Oh9VZdN;@}7ZffZ;hzqGX; zymCNpS4sl(#SLzvm4#{j-)yDL<%tO)bB69E{viHkWuaXRcLKX6wv5Y>X1&mDv;f1fxmw?wmG{w_g3hd<$?Xak!(SYLCcb=`ozbi z1|q$^F1lP_YV{S(Ct`U>DQT|xpXd%6mrterjmDSMq47Q`9=#Jpac@P`06O_`&c*|l z8ms7yD&OtdaPNOBkA&7!7e`iOQKpKL(qKh;jaJ#{C0q^4%8$l3N}>P!B@Q#F05kNJ zD@=mQF}OQBZ*J~*$r8oAh&ZXVT|%3smRwr?>-|$zqW3iSCP0bINU%0Kn@l<{Jg5KI zZU>$aJ8=2eB40XPTPa)J5&BZ%w17tXWEMM?#E$Wgo~1^G6%mK>@%yc!1`94Z{Q64v zUB*@Ie-GwK$W`{`SH5R4xu%(a-+s3(LP%SJy_hz8z1@Qvv)Ss%Y%Tx&;HuN#iTkBw z;^wph7W`QouteDr3BJR3#bJUS$3Gy{)RaHqw&n6~SomYC{`j)jh0njc@df1422mNb zb7XX56zp|EO?_-JqoN>Qx#6)hqbfH3?L@G%`bZdOTfB7@X~RRDP9@GxMGj;CO2?PKgmnKPI_S zyg4064*JUjS=6+p5_d+=aMJpRh$ssSl?wm;r!_b#yM0_f9*WVormb&MFmP5OHYkzU zAl{(Qp3m80@b^{^uO{`q*wbTm=a#B)7PLyMq$v4|h(M0CWes{&VEvnMjqWvr>wW)p z%vn(Kf9r%E`3DzAjlSwR)URBxdYy zg=hC2%f0CdyDx^_zN_hc#{bSQZk_k^rRqN!5S~A)p zhr*-D_jJfI3kiz)6MmAcLdQ|lv`puw#3f}7{S@ha$S>L6QJjCTe{-~hQc=-$Yq}PB zdG+i571!r%=aJdC!Nul4m?$e>2utbO(?8KXW1}UCxD}D~^C##Fo8>__9wo}NskM2m z*p`T8#u^qks=T)eV$NM)f3;PlvMxR?7{_XL@gl&am2A0XaM9TqPt8t4(xn<#Nc(M_88`LQpY3E~t^A)Y`+3dWpl%eYty*RnB`*&)j zEj5UsgrSc!x@#4cSrk4lN_)lII<$K?f3{4l*Q>cL6#}AWPlDo?`grT=w>~FRpSbuE zwTG$1ZAHm_XhPyl`$;nmdQ|lRqS16>Rwa8y2w#s@;^lSaLl~RKEBX;qqS;^hC*GA+97BrcNs^8+{?xzSLVf%zHgK5jjgn;7Zl}5GLalt3m9y zG;x98x2{PW*a@-)?(WppZ;6X1@EM|Il^k*vqxfvpLEa8dRPGJ3RJfj|n1%3lg8P-u zE?c66kj3)0lAx+B{`|afoZw)ppomduxKkftYPXpu;LzKF8^2988~gX7lIsy<6#R@C zv^51YJc`Qsm9Ly>a~&75f|RNf85YraSTFM!`U@gof3r*wO+nf!n9}~vugHoHeDq8b zMJvt3*P`Yh8ujDi%T0<5Etgm-M&crP#ndiP;oS4kZoXHmdrVDY<~#?Z)$Qvyqd$<2 z(4F!{-VE2bpwD4rXEQhYdeHBjj6vua!V`ACK}nIhxbzigacGvG(JVIee9058uB6cT z^RXlRAL!>x*t?C{zaLxWY$)M&D7SZTm}tz9A(rg!we(;@0#+(1NXqUtUeh1%PA5=Y z^*Oy6<&?1xReNbCo!DR)35hhZ>#>m&T3>}=Focn*`o;&+y?cENy@zPjXl6u~iI0@m7EHiaZA*|HRAWL>aZO7rmxiN3d)U*S@&dFt=3jOi^SN z5ih@MUlmBX_;NLuXH+7DGwf7U1+FZ4>MQj^sluj>4_=s;i;#8LBpKd;c5i~PB#Hl0;&3{Fa=O>K(;Pv5{Y@!8zqOZT- z-CH*%-Mi`H`Xm48Mw*vsST(vZKQAf&HyZwA)@n~C5(u`6tv~SCrWSiuSNWG`1utKN zsaA6Q-@rt}-jt2!l>zM_zx8~75TqbI5No+4{vY+Sw~lx_>FK_G!- z=9awHy&y$A8E;ZAZu}1l_43I7nobh;Ih;k4*SK7Jra9<)4 zWR)xN<&BZ!dtahVQX1S3x~`OjBQ()r-SDb$$NH968m(p$ zht;dm)QpViEOijd-K*y3%7NmlANd=RezCp#?Cg%!x6|SHbUAfq?~DI+tS~tXp~i3gYTD#ljE$jM?`$5cf@eGMwc^XLi0)gWGeK1KH)ZkSjHh|De%Di%!&_y!ya5MTRzk0rvw zAB&^Z$ZNn720CIwGZgVlA3r-x{yAg!hxYtk1MCmG)=1AFkuLqtHp;d#@w2&oBkHm3 zDQ$Y(8{gk!(=|z-lG-S!r%J5U3HMg`RMv~Mbmkd`vc1^a|9`~dX>z)FW~qc-yPT!* z6Y?V73w1{(!h1*(gjiqQ6J^mm#MRc|st}{1DKmkO9Ai?V_gAvDPL;`z>RIYN8&^Nj zcBM~j>BkB=Z_JC7k;t?Q7oHzr=Afy8O}0!ri;l5(LnX_7)FXVXP+*1=?f>6ekfNxR zlD98$AD8UwJ4J?}sp+T_d{pL+VTUxUU_`y|Z z*DjG?GQB$a^q{Snr#gW_MA0yWG&my5MOL(6$2(+pG=2yG7I4~oev-haX0Eh(8w6$ot> zJ*U{d$e8MRpZUia&tNj1aP{4pLfBk8<2iJ|^5!_`cxrEBMo+}xvo490Eq_0wY&Ubn zR^3sJB7U@0Rb`xEIqjxuyMWU6ug5Clwa?+AkC&o+FHI#lFc#3_D_x%gi}PqJ?y~ZfD1+jHblDtF zDDokUA2JVcXTxcEL#1jpWo|pHm1E&Unk<%1h|T$7kSNElykW8j&a|;+#};MRXYgcX zmACvE&kk4@I@>$h!_%e%oRzbJSL>Z)d$mT};jWHZ_Vs{3R$tj-wyY1JEohI8{7mB8 zeH4n;E3r8&QFkD%EYi=)!hfl{hf%EP_7;05IWO77PNA3(t03|f+`*>$do76iDSP=V z46b90jN>wui8HeK5HFLq`GeOzx0*OQiw_B1xRB=6JgqiQyRvYGfK$?3jqgd;(_?|J zmOjNPD{Tgneu!vg!7TK?HU57_YO&u}U#pMd+frkgkBh&YCM>hoYJ8e}m1s@sL<~!( z(BUPx156P#b6l$Zvlc(gEsm}S7G|*Prsig4VF0$$pOBs1+0l^(@E&kVux@0Y%u6Y* z2@e%w>TsAO#5`@U+qEBKb7y*uTeDotv-(u$xw?h#P*J_h%ZsksxJ4+@akXpea%ZgI z;%zl0@fHZ4<)flMgtldK7x&99yOw`~UG3UR5P(lkg`Bc1n zr|hq^y>uWSZ>ZT)9I`up*sGUTVM`luOcP$mrW^;r_7PJ?-H%;byb z=1l2G;?mUE;<~J*;a)paSx*Wqf85L!P@bqdz3Jv!H~#+aWtxzSq?7PZ%h>toM~l3I`_e7ebXvJJo?vLYiR)g`-@Cfen;X?LH18m?gyDz;KAXPdYp z=UN|eV0F2C+UWN=jD1N_15?^01&X6QZF0WUvVjJUq;rmmln>-VCR{}^l1JUtG+9GK z!{4YF3hTlF;tZ#@x8{PAi_672e$ch0^uJPx=D(A%Ha+v0?iz3XaXWkIZqc*vn0Z^l zX{O@JqVk0bG+(nk$>k1BH#iM@UR>Nen03zv53|ABPSzwa;?nXN#O9HQTnN~3UADjI z{k9>Mbu6PE9eg7I?2E9p*vZ1Yyo+`NP$Zqp=RKjww!PasKaAbYTvc91mQ(3ZT(Nf+ zu$yjI2$wTcio*1JANA_Q-49eoRsUqy8s^h>s^YspbgX}9@7+pfaVz)OF~1vEfnd$) zlzwoY%S-aa3n&w31>$f%(`|-=2`ekBhbeoVMp|p9s+_?#L0!0yG{kDjHK`AFsTh3B zPaBBW z81SfXGgQ<$uIJ18lBeO?ea{5z;4e%4`7QRoC%SE0X0|_H{j*3tvf2H6(VTqvx3Daa zw^7E>Um2gljq*ybB-kXXADf-svcwm3rq^pnJrficyQLp=w9R|SAvZD4;(O83FV!u# zB=c2KPS%^>Qi>ybdJSJ@r9a8l*Z&z=6ZyX442el5?&7?ThDJ)z#WH!o6}It6=$q+M zzBG^qkbbgI(5z|#UI~N6o8FGzm~k!?^Bo?4?u_N?IE}-&$o-sCUXEujtBd!ap*|F6 z^ZcHm3{&Wt=I5jp=0RVYP8#+3dze3@On5rSH@1^lp708$r-tJqW8eGC z7+QiUU6Mir8C}+c6A+cC&+{GRvHsk^_-{h1c4TU3`8 z2R84#=nIx;&gdR#{JI#lOdHS{&S&%0QF!#2zFEj=pIe_+t$)tB`SP#+-J^E8zb8C*Q&56LiMA_thhLel62e`F0 zd~7apkg>OleedD+_cFge_ub#c{CdayF#3wjU`uGv?^Wh5e)#C)E3>mdYaf4o8{i8! znL|TYJwvPJfU?uT=)99#7F$EA-%w;na$%DEoXg)<*XbH_UqhV_ES~qbKg_9iXmx)X zln`Iu5x+Wi`OQiwzm0Fz;@Oj%bDzGU)_Z3Um^3d*|FX?h|JKEA&%92ZB+n2hXvCsf zaJ!wNHVf29L{!uiEKv>S6Jb4@Ms%37p>j}m?_?OVTruaZD#vi=hGFeKl#* zT>jiX6qz=f&22@#UzT0J=I_)ShMlrGwklUN<_gHACsS2^nsZ|u_l8IRZAYc2!47Me zIBqaHWnSX=bTz5ce0J{L6_5Be5W<`NkIG}t$?`mU&!4pL1{N29Ezu%YXT>j99N|EDp168kV zC;lefMX_r97}i+nNT0mrgtgzE9Y3AKW?3xSF{J8x(!5D6#p#yxf?`VoyN+z7yReXr zkFgg-|I8582PZkP>gxO)UkLg6OfN?ewO3bf_d+{_=BFPt z7iQspbbOptS+`CJ{_BnNTv7ITXJg+!KDA-_Va3rKr=uDBM7DZk8<5U9Z|0>RRWT z%|7`wmr?sP9361(z3wR-&hR^EKDV&q+J|XdJFRE#m+*GRjt~smm%^qs42V{tJ#P#z zc1JS;(KB*YSA$1Q!zjP@ZrVujm_-?noh=2SpeY5{_)CRctHez?HF09H{O`~W>(a+X zZ>w|LQt}=%p}TtHE=0sg%1xawgy=0R;V*ZX4JKmEpv*PP3JOOjJ3U0=lmY67vD19_ zHK=j9(Cg?p_O#Cj9nSOK(t0K?Ko=fo+rHyjwIX8R`m5-d%GQj-tisx;B}ZppC9W)S zg#Dl+?*-=zPaZQ-WkPr8*xNgMZM$b{u}$fd6eCI++sDvulh^?`kQ_+9=TcU43A(-B z$gZ+byGwP;T601BgInL7pA0T9x#q1)W5v=k;bFBA(itU_O%?C-bt2M5vD>Ecm_*+_ zD+8rOA9So28$ZE#yX*_@ecp=HoX+Rj!_i6-mv=Y+NSZQg#(gI&9UaTNw5+l|E5d9h z{iW zT$-Dfoa3AwougL6?Wzctm>)z?yiUx7S;we_Ek_ViKAL2}D41eK?4=N}MtLKJ-Ay(-FHZ$I@#8jA+-(QPj3Sq`Y*m6vM0AVG8e#Z`t=wX?49?^zxahlnH{1v& zF?aBR0cIc(_G0W+%$E$_kBM9JS|5#C-k$Tl=~TInZ=_VpD+iSB0iVqo#Bl0tYoq#d z65rm)zQp}F#jy(l37j*Kla)(`(_N-*;R#O+l^Nl50gr=0uE|o1~kJVha zO!&vgTXE!ZBM^bFP7{_aRkmI6i@i!d<1lPZ85rRjSOv$51_1GH|EzUsUqn(;evF_s z;q6;pz(Ux+vH)IJ5+JoCdOSJ0H#TH?JpRpF9(XcoPtPDD`+CmV@Fe^CT;w1AED7uL zN_srlO_D&f=b0M~DU%eWmf$$fuS8XC$@utAi*0}Wcpd5SRFPi#igYjqXbv5A(w~`54D_X;~8LM!r>AMOi7&vx%`OX<)SG;k?ii z9ND~)TdJSCF?+Wv`^wyVO(<6PX-rFE18lidCr^%70mhaaod1~uqJxKItQ#sZ0C;xw ze@!_f$E(!&&@7{O%RkSjDg98(r>sc(Kdztq$1WAU`ks|~I-OmN4K=B?tb^%fq5|GN zUxZo%O&hFhP3w;oM^AiZ4GoU@G!;}c^o`CsJ{iHjc=zk#i? zYrjvxEM|#SK%^UytLn7huk~D8=QYEVY}L++7=G{P)bA9pu43 zq|v-KQf(b{Qa~vNr(}Lxc{7J*A}mF_q7e2#LV^62X(O~VAACr&dw?u>hpyY~jSc+K zTjpl(!3dFPDV~64_le-pR&%1p;GhaOEcncErHyVP7lF8=mIvhXQwZ(o^=$X}fJ zjk#2@AfNR-P0&!dv{V}W zYVOBI^1ro9dO>hK<7tvB%{TW3BM=^A*D5M!Ve46Gt`tI{q&*-1q0ar)(Q&e1MFXp+t zaJJldz`i|D@F6kkDVw$Lwq}A%sFVBnbAjyZc$RD#F|%v2A;#hL9f{RkXP(o=(~Onc zO1pKzMs~94>k9c6Gc!5v{CreI#Hlya^Bw?jnGR0;bDREx0)h4WFDxseZl0BXFV|7M z_6x*)xWJWBtS@~p*qhsH-A?cpiLiL=T0iZl5=-~(JvWPDu$7H6z=XeBgXjwOZnm^@Z362;37Q zqn15boV||K`3P^R0t4(f{PE5hg410)U&Uv5>la%!8c0Wq{|MnXtE! z`OWhQb`sdLv~4|8SV_>vJv?}FQMKh#qJYR6f%grFmT7SANZ-CIC$N`>>`<}ivR$rm zg+3IJ>W0IsYS0~RZ7EXB=$~rx!XRTO=cPNQ5rdi=!hq@&4ua*Qf=b~Ghq>@O68D#Nl{4z~>59-qw4?*cHK!xey_ zbcaq*T-@m9dc6)7KmejZrl}Pj%5D}F5abH)rB=Bbdf-qRhhte76Gtdv5>=aL)2n_Y@qj z%7D{Pe5HK@bLM0{3n2OzXqP0iHUSbC6zhNo<3$x$}Bo+%1g}_AMwShA4g-JWPk`jRnA6l8|{!7}yGguXm z_B-o88X`zC6HC?hXjNxyO#z5-`20ft40BacY z)D3K?u3$PrAy^iF;8b_l1fU@^y^OA0t(cp5${IrZ()@D}#N>eEY#9u^OgvuJr%KY% zT=mo3VZXXB;aPs4!v}kpMNOiQ>X%7e_dh8>?jyn;>X4{cL{X7G(xNd;WY<*8RFJil2j=ifkZjgq0e7}Tbbqi~0| zfHr)$D#ve4cX^zXn(^b~S~3+}jr;3KCz$AFq|ZXoXJF>}R@fqO0aT`OR7^}37zIza zfx9h5)Me~b@m(XH{{jS`q=9P-pfQF>R^jYxeSJNyN#uRQ2fJdGr!dihEGE%*&g(US zl_J)z>`4u#Tzn1qEv2}H!ZL{k0S6eDK+?T@&3?Pv>oFg={nHPEIwSOR6YgBWMpJsx z+%Q3NeA1G1=oQ)qa-dc~_!tEw-4`#C*B5`o!W1?`&R8PgX{67bx9$PXw?%BL7C*EP zW++WXV%?%CQT)o}<`I;6?!Z~BG~wp)EF;pY#Hv4ZxTA#*=j&WD*;?|34a)@#yB>eu zUEH@9X1N2&O%12)4`m$J>`Pg(Je09t%lDvTZgzcJZ~ZNA96>U;`my{LMnhjeR$}E% zD7#oNsU^UZsZSYRjBUlz*etGT5?kYC9YJMnV%~=+^Z8`Ds*d!Gr z6$clUFD557mDNm?on0n?!C4;iGibeHvHb+hY8FQmXVna3@i_+wPuRI*FLh>RiHgu+ zBrJFL$?6**C#g=h$p&%u0@$8O4Tm`CgU~=)`7QQ008j?V+>-C(laly?o}4y7rRKNO zYq z9sUY%_obgadBRG6w}=t8Mo%yvKQi~lK!)5@RKOlRMxyR$yH7zT5!ujo=d=IsQ zgq&hE(*=!Ujednaxw&t5>!}sCx=qiNxltpJWZO<2mEm1AzQho8nlD6`{LmxMxr)_V z?|lw{R1qucf(K{qwDBsK4_bg@&XFN$W$8{3NY$*|-{~z9ROI3LEVAX!d=N8nB&!cp z!;9kDY1)SOm5N}kZ5^~CRgzRYnGS`18f3P#vVt-!04}0F-FTugQQY9~qU7IH#Fc-a z_wJn@0w=PZ%Cs%d&dyF6OkRD%q#m1k;Z=R3N@vDK&0U{SD_ys7hN#FUSM`BiQv%)0 z|ET>_LC)9QP&+{^M6A8brSI8-P~Mi`Iu3wG;9F>YD)Ufc5z~gu^;HO+O(B4o`S!PN zbszxeMu4kc4?sb!YrEPk;`2wzqf!DBMgCZ*vLTQqyqXAIS|np&*C2I_O(<^{ncrjfW2(9*_~bik!KJhf$d;5%xw(xUwu@7TeNJ#xKwHWICK5^ygfhJm_aH=p z3@~+41svbQBHRY>oGvg7WVbI%6|Ae?$u6i6vGlrCztU?#!QNt|hF2;UdqhxN%n}*M zSLypO5p=BJmY79}q9Q)y>!?zq3$eHyB`*u_?~goHVh0B6N@*IQav<-$kS|n6UcNL$ z<(sT#^9@tgDq!8r!00)iO#0mPHR6t_t8QR$4WsnS<|uPZ&qSk$=RU=vkL+9yX(e`Y z$7sY3rtst|$0UeYdO9d98(7#3V?P`u(`>p}MX#|IuZZU27%tgdiBeT{u~5`TK8DfO)gGRK~27QOzS zHEejL>IgCN=tmk#7a#qBn=XQ;*iO+1;+E0@M(?t)+sRJU7w4fI!J@QpbTxGQiTK@F zLj)?7+A6jM;lLeRt+Okh1k>#scSd~5JD1<*VI`8Zl8nSP+1bceN((M9ifL=0EeM3x z{CZj6H5Yq1`KCO-Sfj%kWx`5zqorH}))5U(@ZXCICNJO*R-0gjC$G3QjSb|_ddWM4 zm~;mSzH;}H7pJhM)wmO4RCtUr_EJ;U$6Mz&iGwTUY;uV6$8U_)MKAdvFYI=LSSUeq z$>HN(0<;Tw=2E)K2OJ^OCYNLI_I5H)Wb)vUNwGdSe7Oji{;yv)J6r3qfY0*UT;(y? zBAIRwYAOSKAK|;R{ReIwP%_jGO2%CcP*@-rk#b!1$99hEC>P#z<0a`VMtoCj0Bah# zoVkE3yZeU{eUZ;$>KfvRUz5E%EGlbVn$LjqIYj0+}N$eo=I{Fbc&d63>C%>w|>a>>c zc=uzaEhB*b;_vna2BD2nK3}>wvp`z%B3|XU?qlIuaIbFUZUWq>avR0dmqjOo#*|&` zeiS{*=ihmi<=^EuX|UhU@faaXJaeq%Rczn>$#J1hTZ*jqiaC_aei%Z{FL&WY#W6oK2vzLyOaFPkDm`(SlnFwe^Ep)Fs}VMto($$`8%^T?(;d( zTmB3pK@1|&+~m@>+%)MKx)F(H>Q=E@?o{`8mk}kD*w*18;9y|iUYy^PUQ1r?4BieI z+Yat~IJahz@86w2&eyJec#Ri7c!J42J9%0tyP!QMkbE~)W1@kS-dbcq<3~$vT^w}s zCBbG^glG=9|D(?De$9KZVFaz4!v`epDJBIydsbvx3jKG^ z>3}6gMSE)RwJ6#UtepI@g+4YqeVv$?@!RNTwoYu)wk=R~IXL9fpE+~t=o48XV1d=K zwVil89&riQ{C3OVtx$k43EZtD0Nk#23g0#9i12VWwAjA~qp=M^`o*~yjo{dYTV{rg zrs0Dd0gvyPZCU5Zn#}YTZy+dIKs+3H;sN26A z*>i!DBMVp)H2!a?f((}CU$^~QUrZjcgM%q09ac6*mXRun4LrW%xbVO#fGPu$oC_7n&$ci1H>ZSU`1CzD7WUV}8gQEtR8g_%j$WLw8JGAx4kP{i5)0le9 zS^gUsw^M-7IRVIRlP;jbbQ~S?0AvKBKAC{-_@^X1{A5$SsG!;3f%3ZzbE|SW?%3`ZxR{;+d$3f1@h$`SzFv=`eT zTv0OxB_pEZKpZ+Ws(A6;4FJ%#`!oV9ESX@tvYuOC1r*PTGq7uM-C**CAV4SlMy`Us z#j4O2OzTunvVU(pF%y=R+iRSZH}E_Qsn#jbh)#AAP=tD~90_;M1Xo<;N^$;i`}Y7+ zX#@eIGN^<5IQ8THqB5^h8J08t_Q%&F3>N^_xD(+&9!I0tssV5)ACUFytO_SURJ0*< zmLg4$3p~4P^q|n%ZH(8T*1o+2>1ShGAa+~X4q}o3Gajg`qN>`>9%U$y!VkXw?F5%* zQKUYxW(t95WOVCLcfQQPN`I#M4}hK#-oG~l>TD>HJf=E&#dqia=-3#C*!#zQuT3Ap z`e4UEwv+ne9TDRZCs;IkdcgPhih(=;^59K?JV3nU-;T;0&fXzUpLEhddOY{63V6D> zfj@VwvSKiE2FO!f`oW-V*Dtoy@}O4_{gMjJQj>$09AQ0##)A0;sB45BKph9O>`TA( z(8nhmz~qxIO)hE?oGM+g2~th~4e@6Iazn1*MR1_c?Y>${;qIYg=2D}+$@Z*`xL*)g zVoof}mM%L*L$mVE$=%)kle4C#X40luf(oNcBR}O7U~{3DP$a?fXxa`0XI&g9i@iCv z)AD?hN(bEIU}2_|H~@(_pwPtw=Hx+Pp+BKahnxUvoD$ZA=ilws&aSS=e+6rPk0Mna zUYJJr4nz~QoisYVO^@IvWA2J2P&SAd3}#%itPg(*<2mN@<>JMQA-WujF*h7d94)|CA1&;?BU^_@Kz!7L6cm*C}8&CO>`O?B-<#F$g^CgzERG$x!np{W7 z*iyODq1YO}xe z?q{f0-P~ZjLQ5vg^M$~+5A6v$AE8kC;|vi$#5V^vHks*CU?mfWhwE4QcqeIY?~^`t zA6F|n_C|xI^H2^`QBwcH{KPIRSLk(6+34$M2 zKeyTdWgV7J<;?&VokEq*zOZL0Q1$+GzN)Q)w7e`!dwYAN%J1uLycgpyv54|#t)c7K zx=PsLD1=&+rWip^vv)Z;O2>~MuWxF4-rH?em<8nkpwfoikeWteka_^ld+H5HeJOa4 zI59Un239672L}hJA{3 z#7cO3t~I}hASJAITZD0{xw$J|)MaBvu~$b4viut0(<>+_2tgZx(Ujaa*dxh+`2@oI zqot|I3WNUS*lD}kV7gR#Umlpa1&^ypL%F#p7MJU$mI=Vl1Q9<#9rTv?EB^PmZsq-V zDlo0LhgByD8)s~Kzt7G^K~V<3x$I>;z_lZ8Jz&czfc|)R@ECy53R&%H?b@WBjYiEd zlnHZyl7qPJ@}*p@7&tx2@iMKxgGaA`&8$aA8G`<0EtkwyFAp6+Bxh(830OlWJ-rg* zuK^jyp^hONNz`O!NpKFI$+GXx>qKDr{+t<}U;5t;dBAhhD7_rGu$z)3ebqv}A?vif zwb&w;3s|zhS-Z~oCnM-u@zVmznod>QCC2yXWoCXA^ zMIf{x^q(;0_c}sazkfY;ShhPyukc*tUqB2-90hNcmcDiq>H)lM{qMym)V`p>la>Ht zZ+SBs5bBUA2E5K7(E-_(XZodmxqXi1%0Sx`EUFEr6@Z*2jl;d2AVy}hi$I$&4iufa zAok|9RaQ;(Gf=5fom2 zZVg#q0}2&Ho+*DD06i%p4#!SkB+H)?KPAsIFHs7#fdMal1~l(mSy()75&kj1`UOpf zyy$s!$vQBFM7I1s#&=0rcml+dj4vuOaz&4_d+}lefE^pc62qks;>`!1_e251I!k<} zi&%mfpx?Un+GfZovu*?KqRetMW78Yrh7{Oc-g3Vs?sEBNKze~pw z&YA}&rxDg(mf`0Rq(J(eFX}jCDJQsf>G7{tfqhow^1J!z_F-p0xD3AB{AK}GuI#ex znd8zk%7*|(F6w3;)AqRB(By@xK_H)B&i8~;DOX@Loh)is3F={W1m-k-&~|JS@I!J= zOtaWjj!%X)&&7*SghnjZ0$cd2S>St};kA*_ZUD`t&9m`>{r#|;W;F;cVrKYn*1a2W z+y(^OZvchOjzN$kWn`W_3kqUAy9$J$a%}k!K>zjBmLD)DT|xOE8~FZOwEk}q`z{`D z*jf-f7IXs`QZ;oQ9<`ET6YUvOP^{b~xie3JG3pHW-Rv85g~JO9lL`mibsqN4xO=ZR z+zb&_fwaMmw#8`k5K`ZSsHhA?%Yy-nO9Q0cahIe`Lu}Ib9UkNNx(K1_$96@T5J`FmF!)7h@oEE({PuSvqGi%y^vnfng*%gwcq zr#BMn9j<~$6*O-8J?{VCbeHqyb9y&Qlb)XbVyz}RTFi}r6zv15xDll!l$Yds4hM2B z!SGBXLj(>WU0ywXpp*BM!M0=4mAiT5;!A3|M&;VLb3XnX1-FN;8@V(IQ$_?pNkrM& za8NM-^8P9N5s2)_^NKrQs;5$2hOG|?a3J43eOCEKtQ06ike>}n8uHKt0Zy+h`_2c1 zMg}o%9?w07ZR2m&NT{SSC=VpG{BhG8)ZXl(@HFs9k^3e7jfue{^noyLr5; zl2}9nOWtE7!C6Fbg$eze5$PjVtp)Z1@?}{P?6$xJSO!)eQU*8)nylNQbf9Z)2jWg; zfR!l>Ak7l1F~atdu=mh-19i~TyKhsi{vSUFIG{RV<>nw|W5j)FL&6A_)CORGQ_asm zV%lOR=nO-Bz>PKvb34TDh9fn3P)NaV_pAqWB|^`O zjey^Y)u+;P@TnRkkV{HR{wxG?Cemu9bGor-Al$&WlRmznt$&9xIu+wRkQ@DUjgdT{ zaw(nfNfeOjAjDAO0PQ^FHW2Z^d*WWyD5V?&rCawHSor6f&0n{BkNx^J4*EV=j}bVn zSn-tLMqq(IDLRLD#(ql z(#mwiCqyXA+<@X}3c|+Sz&!1uoFw5*b}lqYchNfuY6CZbh&rtY=<)9T^X@2#o*kG& zp5OWR)x3b{8-T}8ZTSA3`#bTNTIH#N2Uu3)ko9H2M)ckWzZdpm1z?M%tlDzdp<87a z6fA5}xKM*WhqD^kUMK^XTaL$f+MH=>@$$te`|qbhYs5>zlC%RC)Z39Md(F$B^8URW z!}j2%4CzA6sb!Q=*YA#auhrS(I`x0{ZDYaC zgfROVjjD9ur^>9LZvKKE0z+1a4)4s3O09)NQN*HhV~^%u_%nk+Gj<;oy<5ug+` z1uJ^>qw?(Tc0d0mL-*r=T!05Sxr6^7TVDZI)z-BOf}jW@V$g_$3Zirhh#;Y)G>Aw` zgY+f^C8S##=|;LirMsnDq)WQ*SbENPzkC0m$48&zLH6Ej%{Av3Zw=sCtzk@c8(YUl z1u~kfVktB0Dv`p>cJ4kf|8c#2ecEfIyat0X+-SZG>a4V4!-33==moGnP&)5_{-ZGz z!Nrw+^(w9g@S)`|b(i~KqVds&(O1MIprn)rN&lLD%R4C8x}KR#*6_tm?`G`vr||8> z9QG|*UHTr#^?*^;e$M=mm;w5lA>&yYk{<1vqE|wAY~IJ$<_k zn}HwK=HL;#Jm~yIi>iX)YovFRG79^*W-wlH-%p zoh3rV;r5=QHg|F_7#JEZS!$&95wp*Y!{zp%xOGJzCW6LvKH6&cvW8_x{zDnK9@{Ys zQDLq7yu51qF%};DN5fr90Ht{3md)VgDCcX@P~oe>ecd;L>DGyvb;2=fk7g+|i;V_F zXisPsVK4D|Hex+mWp61T-vF7$jmPP^x&A0)m%PvJJ(WBbG<^88+<&ULTO5b&efktc zd7v;snHs&LS5;>&-BbVQ>W#?wj`r3AR0lOEGjs+kMHOAdyC?eAcAV=fODFn1bFi`D zGIG5RC41XUMbHK-yN*O35&88Q#lVAI0m`5qh<+E;k9R6TR3k`Hj*3sMmVQ{3ouD+S}LF5;Da7Jp&F! z{yu5qPmRFtrkZfG^k!zNU+ZWKO-Ac9N{L3@ul9=qsfC5CS|s6wQe1)>Cre64eEvWR z!hk2L+R29*3>J3qP;ZyJKu-%)8Vd`Hmg%~^W5(Gs*FPUj1lsRS(o0{P?M`m6TXA7c z5J2Zoe~OZ#9W*H$;BQIT6DX=qOIkLY{P+>aWW1ud>!hu<^>+Bt68VMtHp?!)G$>CQ zuHo#I!{o@1Z*DW*yZxE^X^j+|L28@Q3r9|d~*K3QiXiIX!KH37qfjm1kUgX@%UD!Jf91C6wE8W`;3EoC# zuAm3`;#U(=z-u{4wHOo*C!)|!L5m-7(C7$VO#j2{fCZ9k7Ck-#F%j`N3}&l?IX)fG=U(3Pz}Hw+~zb*6&Dgdh0+uAcH-xge~*1;bboHGeT2 zmQWe-iOk+Z6d_Ro0HZELPv$G83`^xXvPZzH4y-GCbCp7sN(8+kj8u8dwFWWv2>lYA zeE!mn1?W<6*DGz;C%iBZBAv zN)f2?;zxQ55Y}AHH;zgLZ9@(+27-A{VER4bcE6nThls&EjXb1OJp?+HB96lf6bKdI zD@(fS2Br)Pe+sXDzU#VBv?IeY5wsjR@}Xb)X;Z17qC#w;o|=-f_>m#ki$os;%_vaO z!wIoyhuAK@xt&MKW%##<>jKdEH&7q3;8MqM0h8*v4JcSvQIR}ID@MvJl0Zk-IMt5N zvs%=*4TYMgHoTqF6!0l1flfiu!Qm)@Vf(7J>E=flrZ}hFVXvCJ_=9%++w>s4ATrafCED9riPzO5LrT1Z1ePG6YwPjCsc=oUH=^DoS*o&0A?`gFR|N>T+bV?f4snoPs17A&~H&l zq7XVgP`d{#>$6N0Q+*(~g#o`?gzl*iz=*5)r|_xajaN!>&xK+>4JQIsU=)W*6tw(x z%dZ?(*%4G3N&wj-qy|DAE~Zh_JHVlsX686c+S<}0d+Ul9cUTM!qAohUgSKtnD}HAY zDF+^6y9_Nw~l-AH;_}hPwN{j`NfS?VrA9(ke{x3K~lcP4N zR~k}|BJvX$xk44ucHJ_5d)o?uwh+=L2dK!Vu{+SYagLe0r%K0D6q_7wFA`{Lz&BLD z2=+wO>u2h6moy+p{}7a7#8Mx3Rx}55<||-ut8-WWeE!kM9`u_%paIDNc3XtT0vaUP zUh;s}dx_{YZm0Gx@YOoQSpuMeK1}SH7H|ehB~sHjNW650{-gW*hf8&BFaX1A!9^Ls z2LMR$7l%N0tW}?n@*k8F6nuxYDzPvbLbjz0{4$6v2-%>p+5O%=`s)_N#drF($cit4 zIh^a-srE9-zT8Rr#M|4fJ=ILz`CFcZc*U>UOV}gU^*}^WIBm;TL+2+u3XL4nM*F{U zHu!7ymGt^mL{3hAII&lA2V6R@AbLLyS!~RE4;dKxkXh{cXOB&54)i(zc(2bt=YAa* z3--Viz+{R`OA!S(45VG!GA*oOV`EGI3!}p0#eDSsnYv`j^3oCjyVQMb2yyOZK+Q)H z01!PKh&qK&Z@z#PLVpeC9yN8+*YUhS9&6VlxnQeNlTriZo;HocG3~w+-dh(S?g|*vunn`s9%W{joBabmh#hLSg9Z-BS)iqLglA#w8AzCIzn;L_1+H5` zndqqTd_>!T{`JIU!8^Ixibm}?RW)2>mq9g`-nBYj&3(kGIDg~$qnY)#*R!y@FL6Z-2CT1t)T8JNoybkb1lm)xo)6-|$@q^zWXCtFqudgsRqe{jZ=|>&~H#KY(^s=(cVd2yqbA_>+aNYg~d0vl-FGE zC-Qw?8LPKE7JA_M^g-Iw2bEM2eTg8ycoC~k`H!L@Tq~&KS)%zZ;3Svxdd+TAGEl&L zKXB{`ES!Miz^YG@GXszi5ctah#RAeF1Ym-$R%ERBPu?WNOo|9CvYx>?YxD>C0;%@X zZ7oXE_ybtbd@+w!^16<}hmr^7n>_gO{L|ZEjBp>7Cs`u0YTXU}u65$v@gg;Y8nnVR^IMrNJMwR6E|wb;1#1TN%nEr>)%DIA z)g|VR@XbE%k|A9|oc1o;8BQX!K)7UGlX8Foivwobdt2PWoxR77QUa+pM8-(@p-P{POk+)M zEOCt*bu;AI=oy1c;~=vd>;C)&@r~&FiVgt*7;QJAakEYy2Y1o=4A9kS`Pk2X9b)-j z{x#n#nL&_9<}T5~AsKws!|OQbui?P&HZE(2OhV|^hmzKZ?uO>rM`WBG28fAv*g#QI zeEqOls+9iDI9-J0o4jH|SrDOs$SV^7lK>QZT!&tg=RbB?SE`-J_3Cx8qxQ7qPgYJZL-Vq1u1o{2E6Al*q&T}2-aA1P?g@e9WnBQqS zGl+yi1~jKL6dGZm@G4vqJc22e!TP8f;14Cikq4t-j1b%3tyWMdWP&O5!xJhHBv_99 zMWfJ|h~G=d;pGSpupKG%k;(kkOxYhvY!DZW#1@Rm=@fJ87N=M-j>Z%WkzuFy)+@8% z3Mob-zuq=ZG_eV(i$m^#+o{xfj0p@4hwIz6t+T8O6H`j|LOL&)8Z_?;w55JGuEZ&< z$riV0;F3?SqKtX)$j6x3lVKqsM8p;1}Oh4u_BTIqqC{APm%0 zt_UvPy_TWW#L>rg9mk4(YL7w;6LoFF;o7$S&z%oNwVin<*4Tt@Hd&zR%FU2li3> zvdC2@CQM)nte>PQbUL!(1Bw6)7|-L6jK?bwGlc?7(d#b({W8M8zpWfE7&b=0dIUh| z!To3Tqq#b>7oRW6`;m6C;~X}4)IUNn?%4%5`l`{%rA9!8$&Lc7wFA|!M+B$wPy$F944`D(#J&0Vp@eu(dnc;ZoE-yO zg|yv)!~P|2iEZK=S;n1g!?BA6yuG@Xsh2Av$mrs84b)>H=l){erSm817awaxBSFAc zC0WJP=>e@(hw1GM;;mLHhzX2aE;dSGO6DW=rrg)y{b)>(Rw3sx;@POz1|C!c9_V+E zZ&jIsANAkxGgpflD4D_B9t4FDz%=Zpjpsx%%NY|^!(vBdhciB+YEd@xh03c1X*yO; zT&z09X-o=tMC#$O35uc>H4F#x{E54B-f^tyLA5$%4n-};+Lqxge;%%QgS|~h{I7mD z11a4*=_E{xS6!gXfnF#Om|_8!8kh|!x~dGd_A?lZz4wp;nkJ2x!Op>6a1>7&;*IV6dV!`K}1CHYq4<6=PIbE<9o{a6 zNatH6$SWsY;j9^jeI>W{^l;;?g+;z;?a6K##VjzReSrOePwz6!6TJ&f@uPt`0GQH& z#wepOOGbnqPM|MjE`>Vc4fvYD{?v`|ZBSJT`q{7KH-RvFWONi5`&?jg>uL4=Sqfi& zUcV4E@@jhEkdGp4;Gk}~lKx9-b7T~w!!r+DcdctQ;T>zi@Qa~PCY3mNa#>Mdw9t`U zGSg%;%SJo;)#Okr@qrCv{A#b;%(da{BsGa}=)xKs8~=z#%KTRMj;tr0_Wpo*^@jk* z=V;Wv0u{s{BK}`@-m3()oa~rC?^Sr}LBMR+e+Xl~kbeCT#Ksi4ieq5PN+5KByse-C zL#Qlq^MGQ!^Pl9%uV0EGqR>1-blJuhw$!NRzArwrucC4f zbUx4|!8R!e7>$gc-miqlG6Yfs9DT1++Q=vinFQ~&>7&sPg4(MA-J&{Bf5L=Gf@OF# zk@}!zj>LJ`^4YVGzdB>HfHC$Q1dtrh;n9Dt{s62XB(v>HQ&RW4MkoJ%NyP|K0LM*M5hbOAvkpjXm+_mcR0!3df6Wqhwo zbxc1cI>K4m)xNn(Q`qKIt*PdWuJ(BFQ8+m|XZowe(53P5%MH?v*7O+VVC<`X1GyXEG$%gz~2dm(#XE=K1};FH6;{YJR(&b1o&eA|IgMfYEe1=brR9Db;FgS6OGpp0Z;6@nteM&8W=FjOGzBjC32 zX6Emu*0$+b=mUvAUh*{>_A2z zep_e<&+($kf%wuiqN+eL-9RF|0UAP{^X}igPNYDa0vT@_I1eAH6bQqz>;`g-EPpcE ztR}L%K7NoilDrcnLZd^#{t>h(E-$csu3tb51+XI{+Z#gj7}l%+9H^kE*vfG<4U#SNP=4bS~sn)el>S>Ed3qh(ae z*{LkH$Wz+ML07jMyOzS`!D%p`EOrc83J3-PB3*e%Oaj9Xs9q?;s^F|d0m;2x-sSY5 z3M7&&hE>o%aT<;zxeS1v8o{NXw&rt~qJ1JF^7E1&w6tT54<0@YKs12?qeDcz$O8(5 z>&;g+&`uTEZO))m+5&k0K5qxm;Yh=Ogmq{qzahKP(K^I13IpErT~-$g1?R8myP>#} zkrnbe*1QS>3qNMFqODrQx!(?XygG=G7f^tWRdzX5GCI}Fc`G`KRbQ(95Fi#YM5%QO zjizX}3(#oPS6yHRH^C??3kxWs$hP)jbagI#|K$6KJutQc&RjXp|I^aj6H&m;L37@y z`w|*vSleFKG^cc_GI#sef4`>S9BO*~d#K1D1PniSd>RtrVzE3JXiQ?J6Y-z_D@?@w z;X_$gCtjQV{XC2Bv;r%7ORHA#y)5&0s)mq5Je(83|7M_^p#aPI^+V*~C^gflFKE!} zK_>bk_tj7XkOZVRmXwtIE1v{0Em)baN=1QgQshx?LPA2<>|Smt4wk#&n>RADvOO}= zv=89(-^j1BU4I3fjrye<_lbJSq#td*m+13V24EH>ndmeDpbJulBQ>}pmFyIRj_ePb z>YF#KkZ1H$Hi$wyye5_q^quhEN8(=AjzODq9GycoO*(dza?GPHk+CV|>J4Sn5hUgNF@~Szi z9AR)e?oxF&BI!NmpM;Ge8=4~Hel1KUyQAfkU>Z?F8!ZfUx(lL)CH=}bPKSvyqTQNcq zwZAe0v7sUOsMf|Scg8Hc;M(y2Vg~Yr41|WVyx0mSL7=da9DJ(!9hDZZhSuKTU zLA8pAa)a5N4!6yEEB;u%+nQQhhcRmJ%r_Jg}3V_5Pv>ET;C)=I{6y7H%g(^4__Ep$85&=^ca(3B{y$GBEf^B(@+x|wJ_6YeR-h2M$ z%Y?JTyt7{TEB$H^lgKu~$aI7i``q3x0VZ;Q*u{ZxmhZQ!LVm#EQWiTn%QPGM5e+Cp zHEjdeB5cBnD+Doj?-3#tvR-N@EkGFrV{r}mAUf*zfg`~vVEI-93Q7imbum*KMWs$S zADJNVCc>w*JHf3$Yl@jqPQ`&Kc5QRu95lJ06D?fVORtuti%PE@Z8E*(~5toM6D%BvFW<@r^n z;}z+gtqyQvnhAe!OZIy9@w3Fv;@%M`ns4Nreo^pDTCAKrF>U`C8uXSY_V63NGw6ni z_wt!Hk$6Bv;gXeCL$cN3Bn~(hl2>`H(Cp{y?J7&CsuXJX8y;%WiPIof){31UYI8d% zILK@l5eb3z?o>AX3uN~B0x7nZO09EsE==35Zs1a-gYU2@yguFTU$pWdbb)wS zK=23x7MJ~=iH{T+$n{@4CluRh#+D3FX~lBxpH&P>Ro(~Mu#GPnX&gntRzV!G8Tb+k z*R`sxPA|+Jkk$aUoY~(m54E&3nB)^djtK^sZQz{Jfyx5Bu#W#1asy6B!085xgpdKl z0c=XgD{=njVCXmmpH&Ww9p9+g`qd!^?bQ$9-XK&NQZQ~Hi7QSuHrr_cK_kIs)TZY? zvFiK7-f>A7iEhNH$MS)NZ073ve{&1(q)%MVG?m%((;V8PX0JXEUF$l`ULcNX`y1FSq zOe0E5X!OK_k#lfEk`N9)WGCFW08k9{)oWWse0cipJ!QzIwIhMz26Mn)Qv_Vu5IBdv zk0N}~AA~rwtH$@|2+^8ltk>Y*s)DJ;ZoK%Jcv}!3?dEzk#%$Q+a`>R+jP#4a=w+Kq zzT4b;fUF~g0Zc;=x^Z9mR&)m))Gr|26hox{qzdJ4Tkoa4&)P^a3tQA`??|BFr@u~3F zHhA-9!S)D_yBnK@JAP)4Lf{*Av^zjtS({CidGSE_L+J>bX=(n0ES1H<0cydVl$UDkx!xNc)pnf;`yf3Zsw^#=dfo z6{1Y|e=>`1jXbX}F1Fj$Lb@?oMMXusanLu2f)34SdhTCQBot~MboTzAL)2k6ZVy$BkextmLEZOb zeX=vZruKiFo`4w$Z)dF!k7T5z=!%^z5l}J~^MLujt zgl&gZ(0>DsKnBQrE)UI`0l$vO9B!xLbv8G5L$E+L80YNBvP$V$U2@5Cv)@r-N?hfa_EBB7X~8{TC%{k_B=0RC&I3mek__`c zt!WuX%Q=TQ2P04~(0#>|Fv>dt@dhD4fNF_xBvgmRz=)@x_(P5R`MiJ!k_m(~);J%Y z&_8^r1a%lxnFA9OxnMMb{T~Q6dN}f7$0U(u!3uc}WqW0CBKj7EG{Hf zv;&ccS(L|9*vv=fup@pZxcD9tlRRa`S;TpM1`6E{2Y$ihnl#k@b|_(SL~(R92Id+A z08vl;2V-@7!n*GUN7<(jinxgU9{cmaRw0!F5Qs~K*p*ga&i3^Mj)tAj zJQk(1PdCR`1yIXtlxJ{*B|rp{2j_k@|16@F-2rVD+po!Z_k8CQ6dcX9K5yiDLkyx2 ziEj~@O`zMV1xNhHk)~A}qq){F#L5Yhnt~UZeUt*);VtWN@auLKCxqKOD-~`@I>kvyiY$#K@ghh_3AkvcWkFc?EbP| zzA~G3qpyWZtXF=iR>Md15ZM=lp$Sg3QK&Ns064ZI*%rnL3u~QiFVnP7x50PbLONAz7!0fyR9HCsBcf>)UU?F~tw>Lu6EEY$K+z+ob;T=k8;j?{Z z*c!HvCeQe1)_WlZ2NBB@sOG?vs>H=T41L`EWE<2_(|a@^Pz|Pi4lbHBBs4QWU-pI4 z%o;csejupC&OSM>&HGvk!}SAYko%CIjx1Ukf-)yFJ3ACqrNVqjq zzB-;qkwnet5M}HyU%tH8+^3qK7* z6PYmPmMauxGllFjK-7j!D_1#?L{V_Mowy!R!c#L+>*CT*|IIWqG7=19195x~Sl8>o zV#1qjFzC8D1-c`0d98WqJC|5D2YC;W>`nZ`eIdyryzst7vVLbk>!AfoG&H-5igN(1 zWI_P%ALZ&`PE9Z^z-H^UXEhVB#cwzs)Je{4uVHXb(9DdGW*KFbPPn|cI+JC;wpqo2 z#S%RK2RBd7H6RCP4(pUN-%)V`%h2g8=eSjfs+!vDgv%p>lUav9X5$|}er)`9IT>_$ zT6}M~+%gSOSOZ9PS^1#k-{ZK(?!S-Yg9bxsmf(r46GTB?12r21WPicCgL@1`k|MOB z?an)hcBA%Wi5V4>FWh$v4rNwVDPfI6yh*D(oYY4r9adPhGe+0Hp z{o2I%bbZBx4kJCE>2#Y8M~GT1|D=4p7?l4+%^rF>i+HyYBo5tYt0QQ<0=SN87g0H5J?Y zH=ft>;RM;;$O3G~@@Ln58HZWt1K!bo)lxadXt~_>C)|COy7@FFI2a*d-H_2&bAOb> z4)Y{w#bE|z@7vV2HHm;xi{R5VJunNX=4(B*E6>T1gy&V(>{A+a2Ow_iMmj#I`4NFQ z7z9gOEhs^1B z5X+3rV<7O3g^~r7zfV9%)7st+M|KZ@ntAZ(alQ*`?9!>&MM)jq#$)V>@iNk;>H0Hh zqP|V$Fn|(tA=CBo{VxAp^aW16KC-y%OC0Q zaEtej!6`&BV2DBJJ|3C7lHoJARg{^O^1?Y!&BRaF(1<>Ql~MGbK{;TYGUvT6wy;Sa zRGZq5lJ*Zz+>KPfKCv6>n~S5Qq&F52x$Rv$fvRDqd=5eyB-3gUswd_4)f+xf5qY;Y zlKTi^N<@DFN_GeyDuTxj;0j-np}Jm&rCPXo5fkG7omylCNyYwl#uARzE?B9M`)c64 zxMY7ba&XzNZQQl47!0^bp5XKxV&Ot8JvzlA9M5uda^MuDJA5b|vN)2JljEmM(Ms;? zUB*Gz_h+%bwu*u10{5lDJy4}5bwyihG^-wEx(}iev4HiA+AU^WAr%#s z>0O%f>K&{k{dFk(KeL&y9{>!+LalPuyo_beTo;~Z8BrrYo>9_)Va2@85|m2zW$r#; zxOkp&=pVj!p}f@6!6td0XS9E~CmA;04{kNNcpgtXw;!eG-Dv$qRK4eS2i!!j!2N0k zALR~@@B2@%*#NC}8+AK8ER2@vw(p&4hBQdtA(6F?Zb#kWL?ndT{@ip_`NpFqjK{^} zrh{N1olCFpR3`FkZK`RMNHxj>^wG4GcWmo(DV*{Twe0VD*Y;F!96IENEJ7?K=vs&X z(H={<%4-G;Q@l$&O(I+aUj=wv=i{TIcot?aivj_?UtM>KLjbRx3A_&?CqCJYqrBU~ z+JA$HXc7(--CrGwclAAZMoE5}l5xu~#*Mp&4*#TBcjW>%#8UvFxtfqgO|M zPH;rH$qpczuHjHr*?;>bA@@vm;@zT==oxD6Ize4|1HAeScMZrc8p6up~mzr+;oE<}{( zyh3n)jS|HU1-1T(m-lK*B~!V76R*2|W9kSzp5Q3vRLU$j^jT{Aky&h-R%Nn-bN-}& z`$br|dUni=5S#AO)pC|gjWmmQBojZ@0(F64#t?f5H6D`HKDZp#HrESG;FGy;S1{eb zrDqV#Fn_ok><)hm0yIL?@M_pp|D+}sBW*8K#uzEz0 zzotRJYJd_dx1k@Vj@iC|dG3!W7mlI%Nt--7S|Y`E!bYt%ou0bxpln>v=sD1oli74qbaOL3E1i2XN~|DIGTi zzt7a~Ye8Qa&L;^q;Wb>V*1?`^De1!FSEV2v_-$K~A#@$&N#l`pz%H+JS`Ei6YKI#O zzPh4ZJavGs3fRY7Zi1pG6?VZzwd5^ekjxk@Tmz{|_wa zC0_Gd8Lw0VI9qmETe5N&79^hiscC!{$X9blMpUceo-nUp04!`Nuu=Fe7;h2F5mIr# z`a>nH(WpU#|07qObc;EOuc2NU1gyQBwFi=X8(%S&R#rl3AdALJ<4q-EU+YiBf#j#2 zH2$4?d|U0T)7HE;E8YI&ytj9Gx4VVv@A6gyZ4go$$kT%oS0sEhQ;$jw>XWa z=*cB-LR>5Qg)JM}Lq~F){lvV82Oj@uZqkz5*4hIbc=+XvXIV1|;7#>`QSwGl)0?tC z_6RmxSiZCLo3>C?;-mb3Ba0^Ks*r`nX1cFW&zuzxHN6WQQCK@=aklQ|FLOT~wI7_V zj@vqt4ODY%=<8Ru8s>8?9O)t=*dum}zJfI21#6Ty! zK#LVUBO}So@qlRd0jEmtQgu#p4(rxw{tr9RN`{~|=ArBiRnKkev?b4}I{IId&Y0|^~ zqn;6P>oe&zU&&T2#yL1RFs~fX93;GY)g027W`mzUcn2I%^^GO=;_c!br#yI!>Khs~ zf!K83GEYrS)q=dlPfVKU5Di9i0olfLbn-=MA1|*9$6)uYhxA5QP`M2lfh9&TKGM8+ zn6T?r!r=DvL_T8_ut4}>=htYUWUwO_} zQ{6_sma@YSn$&92D}f!bq~8ZEvy#*0ZRq&4pxZ>RT~U#heFsqy+VGAv;}dDR$F_3L z&aBccyKF_$w+7_SXx>;eiQu|1Yh6KGe`HJ%QTn!R)!40R0JCRR=KEuPIls5rBGiwK zm>h%zt1qg?wvb*}^2@%mGOwfJwqS#rbO^wR3)laui_h~gS<%d`^U7k*jaB`yL=2XF zhsBhL?^h4eCtNN-0rnAO(Ne>^pa__Pl7sd=zf8$J@fQ(vbeBD0dy$CY%2zsi92*i7 z;|uoP>+nc0MR!nP^FnQW3mTAH7tTQ~-+i);;sgB=>Lqa9=3HcV@7)trP`EBZN0^wD z6cilX`-?lT{1?ef(Bucw+?#UIDcM8$fPW9*4+e9dSTA4S?MtJMNQo_~txdg+a{4;$ zA_QpxZYj?ro&?iC+5me|q1A}Q8G#w7{s?zb)=PG%;^3XxY- zOsuLRE4Z({(ET~n$N}8!Q|4S1Rsm`NFMdaeEHFeQ!H){2q2lMSd9HDFK`eUwWaVHt zqcScBmH~u%U;-^hEfvr22N-{HS{gMsclo&X=&}n}oZk&{r@YF;i7N!im-UZw{xdt^ ze*nJzkfT<54oxbC>m6uQZ@|`G`TK)(K$ANjDaRDxi0{Ttn_&D~9mVkn%e8~f3)VF# z5+XK|Z)%@)eV?=qhUkjFZ_?eva$94){^|j*j>`7s)dgd>LIqy8A80uf7jim}s26;@ zmvFCGiCj?S^GsUREx0dqbv*Eqlo!Qdq(IkkS!|%NQnxlc31g85>-B^~FII&Fy*G!O zV}TeC_JO15a+5lY3J>?767smk%uF!pat2qJ86y(XX6W~g3=N;i$`T-3Tkm}CLhix0 zCn0N)7esYoK!Gp^d78bGm z{A4CJgN1{MmGL?0>34m}c}wb=KJ=dD@{`u^Y`wDG{m-*x>2$gYMa^XphQNv-2yTVq{N#lXy&II`5MOc)SaXcBy37EH6b;xJ_qudl1w=>55=3uKF22mt~jS;m$3n`SuN#bXTOdJv{Qk;r&+%v z9f!-kPs*x?3n6cY=^(-L-|?Q3PU{oQ8$80J9U}C&O#TrpzwhcCuOinEzGQ37bGroM z;4ymRYwn>x_heg}a2?JQyUaw{I;Z5LjKoBxh44#}st1QSXjBAgFRN zEIRpJ?#p6Cb%BJ9!{OF579ExM_q_vY7u(}+)3jiy{C*rP+?+VSQnBDcgSsVddaM4U zhMx$RoVUUI1XjB&)*X@cz#JZGHmBE^O>ry^I5_{hrKLr=#8@TmSE!*TOC*!k zf(#iSN`6>TMy7jl_xmaku=0{0N5AV89(;(V7WH50zmmcj_B1~~-^pKFpjoiR&q5>?!D~Ip}VkQ#sk!u;j-EXfc+g$R63r6zBFWZbVNW)7^JbX=-Z9 za;x?5@OV&4`~dO6d|ido{yP{3Zw{1zM|zK(;z!WGS2q0)?VUTbV1IflCr8+>XW9I% z6S2!jcVPL6^!>VaVLFDCf5`sHF!sh}zH+#ZTx9+>^8vud&1)78zh)w;koW%dzwgw7 zY3>(xP-s&?={^<`!oU=~P-Z6jE3R~O72R`UMa)IjC^E06qy!1ZfK%M0Q%Tw>y5-jE z(|SAMXzMpNUPDEBIFgt1$7ksRyaW|rVA2pb^9{SsHh?s}_SV8JBCE%w)FO>{Vx3Cv z_sD*s!QIL*HOfE%((!)l0mj4^$s4qfR}O;Cc&K~rO7`#a{9f@hxcJbCf%HT8lIZF% zy_jH@yGWK&c!oAsKRI9u3OND9taQe63pw*WzsZ-Q{=Gn6-`id@6%o6gzkT7HmX_AY zWRIwACmyBYt?Nr<%RI5Ua$8N<)ECaZkdqU-T=k@yLh#BlzcgNnhMHwpv_vWg#*jaj za}FK}+uiKF5LDC9{Yz^Ho94RJ!}qjiCo*jUD)&65y#h9Gv^ct?V?9?QUn}81?0v(= zB;s*8))H)G^GQO5r|`jn{6vdj*2XQ2i4nd73FgVjXZ*VR?S*ZDV+KFyd_B>?Ee<@a%mrqvRBR8tZ zLy$WtVDZ^FIKIDOvq62=_~*U;`D5t_`FyD3HP~oBq^L)j(lvhyzK;adB32pW(2_RsQl$nI6%{=w7XR;m;C>4&Qk;M& z?#2hrj36(TW%G(`;-=?O=GkQzt^L-dN@Js5f8SprdV{vYD;qHL44aMQwXz{iC#mLB z#kZJ-CZ;j;W{r(}3g#8G1Dn*niA?&AWLLAX`iIB3UJQA;-yxMzSYMh^aEQb`CzAYB zvw2EPhgS4)HyS&hDH+$WYjx8S)w8!perU~7-e2EqG9&LpHTsh1B~pw1BE0L?t9yMq zSD5&Dv8Y)Sujn&>)wv=wKJ~<)nDEZ?X!DKGoQ_$H@!4+{bT2vhE_y3s#F$1Knc}fj)K7O6Y}likn&44#LEfl(~3|6%HeCjp(G~d;w~bR*9gw2rh423YTLG z<(wZ<#pQrWI0E$NJPO$A=&2?WKxX~Ym9f2W!8PW0Thr^H$Od>`0JpYsfy z?#!pnd?ao`bCoWQn9g~4DgXGUb|4>Duh}H6lHT;R3q|8MISygbg^kfOijU>9vnRWj z<+R6>OOD1PY6BVk#h=(7VeK8;ab3kG#;AGqYWC|SKi9i;{PXzVu%0gGZ|hStJExy5 zyf+PaKR?0i-(@S0`RK>hjJlcUtY2O~yWK8g(rtNco_xc_nNxu6{NQX2 zsb^gRVW?B?Cv@Wp4L^9{V}D8kw#K}(n`fp*-KX1hpHI{e1O66Ivc);Mxt9S(`8r+a z$=e@(_an$L2@x%Q?cn_zm%t@Z*{}3pYjbJzLCm#)u-e!wY}*)UIg0LQ<%Sn1s&(bl zIzRWk37zYS?Abp$le$23i2hh2l!D<@|9+#+)7f=fKYaKrSHXu<-{Spc6f&&)yB>%) z#ha0n!q0I{RwfJ|XCYbi{^go?N7>JAdd(YMNC2&S8S{9psV?7K@9o#Yh%-mF+^E=I zy#;JEIZ?dt@y^^Ns)B?Y){_p849c#%?6+J{SQvbghUe($!jeFLiZ%sep|7B;O&d{E zR`vqXf%Z(j_a{y>3MdV4i7&lS77vzDSN8+kO$?XCxp>Fl7c(=@-I)eh< z8j^i_^!=k?50-8`>BDDrX_FD36|CGtxk3tF8d+*?of=+~AEFXx@kkMw=`|2q;D?BJTduV#-<*u(=VE~DJ(mq*%tZ?XGtp@H0sCiJ<@#z=);&CQ9tTuG;wYu93&oh`syh zcpj~Lw?6FHbHWJ9?sKSI(j+^n~kOH1*}rtr~D_gv0yf?((_I9TgO za(mv?L;4^_60@BO!=DQI?{7Q)%0B4%RPRx%;$KM27yAq4d{+5Y({N5y$rugmD;QJC zrW4uF9;>=Re@+0)W^B=N{wDj(X~gBk7ApEtj@7Kj04a{wD_499a$2Upt!wajRecxH zRWm5YI2%^|sP>>sz9gkSn&;ZFF0JV6-xsn9oU4*AcIEP|l}^STqmF0JY_#oEulZkN zgTc8o!s3K$PMc^XQIA?nGEp}tjuWr!oz)WP9}ye<=G}!CEg2r9^zWz2>-Gp*oLH*+ ziDrV?+r82VFPn}Tlt{zSb~5f7HJkTTSQrz@YJdRRFxkgCbMm}VG_U2*nkcF^1Ug=CuQf7Bv1Afl#bFW2Z zX1V2q!;#Dc%QBjuac?dhqW*sC{#pX+La$6F6UHXF7F&P!UiqFB?x%#jVsw>FY&2$O z<}wKWumC0BEChfxLKDI>Af=;2lZ$lmkeb@Pyra2B`|taLKR>jUU<{aG$ufrDZ+~&# zA*UEua9Hctkg~5>08W`%s0w+p745!}&Brh7N1i&arO!H*>;tDVQw8}}Qiq4~Nxt;k zS)c9w9JF4r)98?5ehpie(hErwyb_tT1t-n)t=Uhr8(g`3(0d4Y-k{Oo^Ndb% zOuTq%?S3hG*T$KmvBvZ(mJ1{7zxj}B1!fj(undVhJM*vX?mkzAI9vjdLy7oMR%W)IUY!Jqcb{Ypl+;rH^TA|^91GK)MJDAio>@B^Mqk&< zxVSX6-Wu6Lwf8wmP%S+QLmnM##{5Hx29vwmhq!^9b4}(2><+JeH=S*gdoZO|vt>~) zAJGy-NJ|T&w1gwN?j1>2}k|#SVOidr7zYm4P&69dn@Le6#+B>iNmRC}rE^;%1_w5zJ z1_ELs>rPA;MohuSA|hC@icfLw{b>~)ZG9K6bYg-@h{^_n# zKe-Ric#@`24SeV&!G^j@EZ8?oKMfw{=K*_pc|7xO0*RKA06alr#^>yZ%3l(0I#~XI znLDB7oB?FqZeYtuSHeiH`4L~U6eLO^DBd#c?VBbY?_arAk#*BSn2$DeG6-^JvLS7+ zxWlmc`|M^yem;TQt@mR${<)a4X7o8PJZmELjjw0)oI!gd!(L|=op)73Hc6%PZ$B_Yqtt8*0g>})ZyuLoCc z>Si~$m$1*Aas-@YA*h8O4tQ{YBYgcyd5KTxHK1(^(kuY!cKWpZJ}4bW}uO zX=CA$Tzjkb?*USsk*rGY+(AU>aQVE8)WG3E$c)ABLN|)_rZPp%35^N9A31gYCA2*w zF8q~Cal~{E-feT=K``kH9U?hQ!=S(9=H90%pk> zK_#_mT0;9!`FqKHLW}{;3~jHpvT-(_^LJ=wQxPVsX$2ekO^M&mJ-k1(zIyj=T*gLK z3~VHxISJCosaTRd2*5-`s$rKZ1Nm;5f~?G?STS!_bTp`pnfXWEPVSIg(fy$X=hW`c zLEAR_O2fzJU4m&2K)myVI7u`>F~=v-3nWKVh>Y*;sPK4;t!eGgpE@*jbh}z+$KZ^<+@EJ|^02YU;}V z|NE3UI60v|h>CF)E98784#kI=t>j~cYQhiKZOZsqp!dIB@+rsknb!+qFDw zeQ5YZ%Eq_g^yliVjLN+5OJ8)J99JKg(qgr)NfiwG{pANh_Im{ch(ellK~6%#d{ZIq zQaYqSF|@&b$FGR*TNDQ56YUlspL(QG+uU0!*x?}Y$IIJWP*0BzOdKcvwp?UGwJrjn zHDrF%eG7n31Q711DS!C@5_^TNJ%vm5UF+hbgUqH`L2>bm5Lzvxpl}{wQV8$IrR1;b z;Qq#gdg*X-(I!AxwjLM*i{pK0q7)GbHJzlayqp-!6M&b$gZBbkKA;GiEE#7#EYTf; z>#|1h|Gtc_!f7k^{JFc-&HX%-XWctUvx`2|2 z^=wtufstRWso z?mpY0DR4F-*-&Pv$g-`Ut8s-*jAx6i`R#f;I}r|+3sr&g{miMn+}zwf9-(V)fZ&6y z{O&S*<_i_;keKlvqR%MN%pvCrA%Z}-!}$e>+Ol!eff}H^k&;IUBgOa zxpS*ei)utcLCFa4upb2d<6QPcB~I4Y3y%Sr+uYoI!EV)c@5CN*n-FcLS0a&B?G4qO z8<4(a$hv}A^%;Qf@w9B|XbwC?KfhcWPb0n$YR>nBcdF_x`;u{AMP?jy*Bp8@1IGCT zbj5IFhdvZE9xg~3pX%D9m;ftr8K{*up^%(`qk7w+6Sx=)@E2=>)q8wG@h;DngtaK8 z`h%OuKnCNHqLw_ouSX95r@i+M=W>t#$KN7SMzm}tA`OZnBZNq0WMt2bBQrC*2&pKd ziHr`Bk)1s%MMU-{$zDZd^?Tgs)H&z#`CixW@9!U9SLZsXadf}$`*puw&*x)3-Qd8_ z{jp3(f^5+p{7L4;wu5DD!Ys4|RTR7OnYZS#m-I~E9Te&tpvj)UXbCE}z4&r=mQTg{ z9mY^d+vaUcFa3oGG`>ve*n1+%+)B7Nq{u>HIX0I}I-@v*nE}7E49jIZ7-j)MHPd zjv2K&(Ckubj)q+6sjmIS(gS_NFXQ6KexU&5Q;)z!RC9RJ5Zw!r=iK5DUrJ1FfNFby zC^TSCd^Ak6)yuXcYdr?S({x%E^@PH=YKD5WMrzD}ST2jDcG(>>pc9!<){%Ws13gFt zsS`%3b(DfApa>5#|9#sq?o%`F5|fm^@Fg%E_Yy_C44He7XAeBO#F5-NjfbsqLW*Qt z-W&m@DdH_Jv{DLna8KzsR80r&Hj8E!2fcSeSj2M&k74-Pw2Il$Q1@L5Lf zX-S>n=xZ0=7fa(@SYG^<~A)=8jX>O){TTSH}OQoY1)~XB-N+@3wgaiPLg7kCXZ7#ddBwop^9$86anGpMD5^ zeiRo^Ye2>9o((Ltp^>|+!%OKqi3J1~g49aN1JQfi=3T%HX+#}iIonWE)C%RmK69Pa7SoT3ry8tt z+jB4Okl>g$3dX*>h-kB0cn;=$7*Vtf+!7HO#BU1a`3#ILgHTCKs`gE~iW_>*Ynn>} zX9Wl&2OSiqo@PQpH_`rrJU)5tsETFScrv)8b2_b7!c3r}J`E1ufmn#<@`$t83)e|q z38*A|s*xAbmC|4j1KxdP-Cc^s&-FByp*X$v+EfNRdXaaNmGC0QP+f-Z|v8=oZ90OaHF6RelAZT^=J>vWOtJx9{HJ3MdFZ7B)XN zyawUi0~p;b2lc#Be_wa^O;~Ycwk4WdTAF=+dk42s)MurDaY;m2_z9R`od34H38y0V z#O35{&Dy_PKtSb(XN8rpDeh2>4|Y!L?C93Qgp6OumayP4eMYw9>bC<n@jM{ewGfjqH|@=_cKrJJ)YA|}tTbdN2j94% zZWt?MNe2s>)*d1ye#4)V99BIcdI{ zReP`s_Qb^JD$!!wKpbdiThNm1-M`{s+KLTp*TOzYNp@mtz#0O}NHbbH5&R!i0PiT7 zyMK9d-8(Wux1IvZm$z* zpY(XlUTBLsPuxFbHUrP6@{#AC3mgXpFMqu-flStxDNt+4OWv8fX$6om&A=c-PU^N3 z!9y3*xIQQz_7Liot4EA*YZaB0Hr6^uAG-8evD^3Os^EkA&`CCS_FG_$$p~kCR+}DTO3F+^BfV`ZD7y&fFIygCQr(NVNbSv(H0Adk5yR z|IZNa5SNUik6H>>%N&lYN0%7pcikeGf(~CCG6ee6U*YdK-*SEs9mhHnKKd32N0df- z@xJ0U*6)zw<*gP_Brk3$!e^ntvD$L++n4#I-(>>>!#t0Hz~xbsaPDhtOD^~R6{0kA z^qGi?AD-5P@B%{O7(b_Xxjs|Vh^_J4wYWGts5#EQ8hut-St|;=BUH6*Y1J+e(mysD zY2(5;5KV)Q!xMjO>N8>AjjmMdD>LE`SyAb*PbE|smmkRQj(?8Mh*%FqMqs4vfygVi zv+Q4-#+sisj5hb}cyQdiFy&*N+t0jLZ{B=@A7`UBdvc5QA*U~A%zH+iAwH3?v2~Fn zwlaNtnCnu$O0;)-`{jTAaL?XB2ak)UZPSywA9OBa?8rLZJ~uzr8v9StEZ2N*uC_lz zWOUx68&T}+EH$CYB8yrpxte=h9=2=V%i{i=qXr|CSF)sZN z8t2p7MD|k_%k-lR-8?glW8Y^vZ-$+J>x|aycg@vjzjstQIqy?ttYhkbNgq-JYsU8i z`*=+&(p_$H{F%`VZK#-7nUP>z{k>;RqfeSfHMWVfLoSesNCbpp2`Lp^TAVRqJMP6q zO-)^ZxD*J8b}X*n8!dUT8+ziqerfafwt>l`k=cBA5@~o^buV~NF%pr&`^H&r{dwAV zxEp0Kv6@rXZ6%>cYOssEYd;_J+Oz^!Og<&z`Q2usE1%wP;pH-hfCyr=fbs(K3?1`$ zYFd9r0-mIbq`Iwv{rKhy!fW_;aw%}CbP|V!v-?_CO!NPIbVdF2GxfeLhm-CKAl@NG znXLGm!w)*y9sFrpn^Ids+S|3UW=t1n2AB?CP)u4r)7<10wBRhtR?;3(|3J)ze+^~A zr^xe$Xd|y@m1Jcx+857K9$%eP?}o6J>4>$4cIYPFTPL^79m(#viDcq_07@j17v3^d zZ*Oqy?mESYoXxbQ<;luT0yLr%*2#Esw<9C30m4bi%in?NrvY#T?j6S)u3hN-N4dA2 zlo6!yqnBpdmL7_KTX4_J6HDQZd6t)+zpqMfIq(hgU}`SG#gWuCLH)m;Da{&@H|5ub z)a`48XEVi?FhJ|`O4gG2agMY3AL4E9M=WFswNAPFQpsTu|d929BvKz$5*m#We|rD0`9>u5&%%^HSbl|^RNOX?_}+mp zkL>BX9D5Fki0pvrm!dyyjaAs{c1j4%44uGbgcl58_nkPG`><-DoN$uQPMYT!R*#7Av%19$Rw?EI>tsvtizg>RIHdkgcc!~xK?MOE}2y7^?^Qz zeZ?gw&0z$HLge^-S|_<5Bt6C`-`J;|#z~GKzF>gR3hEmDU#n=C_w1NIf>1QRJw(3v ziHx=d)39I<6%UWXtnT*qV94_gC(bTn5{9PgHf!nDj=@T3i1l@Pk>`aY^ESj%094FY z7H0`i@pK0uxWw$BZHnQEVy=i2fZniX>HPztxTew0mFpoP zmH1RiZ0gV@S!~uie?EwqIBjKRHRG8EX$siIb< zLcBsPbBoZ45k?T?N``=}9YjWBB}M`X*tBQHsecplkl-jri>9Q?$j+Yj{+5{Os}1jw zsn@a4{7gN?Z?h`>H)fO*j)QNmIrk#qiOQDuHnguR2n(;gzJ>R$Eevt6)bMIlHKEC9 znT!#CZ2M#5uux0K@rQL5n)9EZsVB`~(ii~pLnD_7kc03w=0ODVEal5DC8XB2ueb^V zGDH)*=J(irA?zId&vm_ERkOn2t=*9t<4OX4>hHjF6K{& z7mK&-IU{}HLgL3MfZq;?)XDj={w5fk{RV|wAx6cepx+RcQ`0aE3k$2pvXT|^745QS zn6gaC_SP?O*j4)D3oGQ1B)_jTP=nH-X>S;H#^uWx8pfQ{e29V`Ew@oiJ%IfnLW%qA zYd2cxOHNJ@z-@+<5_ck%e^~dt|M$eTe}x6{rKaWUedRuzAANKuD(X*-CD;HqArf3( zV1Zv41+}Q_1e0H0&`tduD+c7g7kcTdd~=tm$*>gYFawTM@y^~U&G%Y;AJ2d zO^16`g)AU)67f{9Zc%wMm3gDU0$_LxdLWW&ol`s4v180wt@cF~X1G5Gh!SGiN|?nF zF494~64H*2he+iX*(ONxYR|S*X>iJm`i~a!oFvj>9Y-2=m3cP-mE{leJoi5~#zX!7 zn9QpS6pI=j<>a(9d5~0uOus6{<*ss4l`Oqv0Q4IHFOuX2L}2dcSrotYdBfQFIJwrV zrFu?_!w;_J4KF{$?NQ#blCe3v`nC(?P>xCa|IHg)SG%2WX%PbU@*3f`h_@ zz-$7(77FyeJgGOmjF9zBP@~uQ5O|Fs#%&I{pd?;d@tWu>UzvRYD%Q zcOcF%qZ-vFqr=ooh|V{|oFZ>%$U!p3+JhJi7NMHs=m7{~vS@gYnAB*~U7$uy@7?t+ z^8Wo`BAf&sukEEopWdPeUiM8GXBgOyVX~^!DVx;XbP4r=DKl5sql99|3mK09=!B4( zwEDf#N?1`vr8?)2CI^fdqp%_J|51-@!0dr*xZ1MJW4m^dq5eH|@a1PlCK^g}Prfqp z(k^dbdfiR)3(vCueQm|g|L|q$KD$SMIfsU{@bmn+u*cKTVG=Ld3xuDxP(2^Ggi$er zm`+3MStK{0p{nXfXb)?aKE1x-A4rBG1Ru4rvC&pb9w81@qt0B14`9B=3jX-UBJD{!kDEPi@_*d1b8G<|1(ZOxI~iG8QS8QV|F%exeu zpqtS$$1(Tx;fvSkCvFgxEs0<>iBt$u@we{iv|6P!H#zohGmN*mXvojuFQ!@1+);wq*)rqAdZO#VLK=h=M?$D^^ zGg)Gu+^@kYH>xiiq`ceQh#IDC73-}l+kWs~YFFo;jrY*6a`W))b@K5Bj4b0{_WgJw zA;-P~fX#KGX?&ijj~*@OxGCeTM}$h^)2G*(^V2!n41G_OC;)8MN^P%I(VrJYyS}z`Sn}U?m~Xsr zc$c_1D@Of9+sSUGKqe0to>Jm!muDWNo{JN1f2K*>x+VVG2@G?^<%@5&Ls99D!3jl2 z=E#fVDAjx&z}4-mRS0F1F)%R5m><$_D`X_HuVoev@bQ)77{5CYsg;{v**|*0U@K!L z)omcO28f{|c#Dfx38#6F4_&;2cBU~IP6n!=Dl(lYoCl##G<};(0FE0UegH23i3Cpw z3mW1eeB#|eJ;9RTg5K8FR$+s`D}cCAN`2Q3$TMAjxBIYiP(fbkhEC)$aMb>bkh)`P zOa)r}+js9$M7(PrO_7XN4k{=pNOz7*u14hiCluhXP!wz=wU>H}`peCg0Ta;AX`3(G`(_!i}b}E%L=9p z2fEAF=k<+t!c`nP8P6i|;T)vP_M_gdgikvZyfGzvls2FqxNQnxuc$hl!S;*0#=mI2 zK#Qe5e?HfB6fJ8ve0&X7!X*v6<4bqpUJyWKzq6Q$Fbna0i?NlP0#mbsKfuIf7u?6V zf9TO}Lqff{=nh|vOcJZAue=#Xh5)U&%6;lBQW%76UGA+lDE#wDShOjdlWMMf`Cf#~ zeC8#F3OyOHgpFN2J2~&%xkI!y_HGH)L}vuB#XCK1>LcgUznUoWTF4N&Pn}DHq`AuU z#oRgje-}Y;@Ve7y1x>tMX@p7NqmvaJpOX6zo++^LU}Q|A6zySzM8|YB^paxMlC})# za0Hj2#DR@f=XQf-9&pwX3cV*hpzXK?vMrepkD`pU7d1=~Gu@umFQ9YME_%Ua_n{+B*z#{NVVA^oL&Y7Xk>T%( z?U_Z4vA#y3Su8=;W#E<$xp_VAn|0hy&au(~-Q)SD{z}N{+`rv8VbgAKJ;fvG>%)@? z74th1ckw=I%5k|zra5~rCMFc`02e^xjy#ZbFsIR01<_Bxj``1RW5`V_s0pPqIu-!k zZ_ZUpJb@bP;);&{AMGCFmmcRoD4|5V+Fal4@k9QW`&{ns8ZTecOha9QhDl#bcEk%u z`^d3^M+eUasrlxqyyP95oskOTi{l~Pr&-6LBf&C!D~G=eQmab)m@dvr_P9_M?1!Y8 z8%8VZ#Ckd;ng(b4(GHvdaU<|O*Lsmfzu@Onf8tND9i)ba{lp*h9sHG$wlYOLjZwc{X@+7I*$j*5f1Y=O79xuI ztr%8*F5^Gf7JSuns$`2&Lz^x{(-g5ke)j%sm72Tw;#j_JZp^1Gt+}nAXN*Vp1@${G z-=ip$V9fi{nw$q6NaWC+QMHs~)NQs0u5}GcQSBtT%Q44J^PSI+G^Q&MaH;cS8OweR zVC6az12Kbzw{k(WcMEZSIbPFYUg00o@yfO{q#+$ zY}NxavqM~x{QaeB7A|v5S~G1En^*bgye7qTgD!qa$#o zx-VU}P+X0#XGQ-9p#f$f>9|X9yv_1WvB~e6B?2^t^vf^@?+}6$GjkvU{O4=<;Hi!J zd)v5jHC?(Rg(76_x@;!A7}U@DpU$j{c4ouAZxpJynnz(^w5XG%q$MsfuPaU36eo>eA z@bQ|{Pqjtb1Y8i{6yk>Y8^|WwUVb;fsw{^c-t=kyBiPQYW9> z7PG`Pdz6%}MpwSF`H~nRH$eEh2yz+B1M2u|jaG7yVr&;MyoqGo-l^VWlW6K*L({c0 zgbRFU0FcW$*L%r9F4aQ)u0=@PSCJ;@W)=zH)}T5z$=YB4wZ`mPE1GpENWvYsl06psuYyv>}Vv7}Z+QW}?rqjhsFt=%VW?*1$D_Y?mquyLb7^$%EN)(>Jw3By%hT$S zn|y2sH?XxEi0+liHB@suy0|aZHN~*VUCH!OMc+_UgvPkRGr7cm6f5`O$N?e!98axT z0Je0>AUgJSB(`IhC@#fl6VL?e`jWo)W`}r*=0^QfRn0>r`rQbzmn+OglD zGCUsOpJbELwukOUMfAGdHS$r-h zkH?y{#}dcp=u|?M2%ME94IqY&^LTfyAVDWs%U7&Rr8man7*UXm7J<@p z>$YuVB#=wDupI3qjX(}$J-&123a~eF666&pZ!$He4b%OZG)>m{QfV^<+826^%-lsX zM(!u5+cVRyzc=#au>Yv5I)ACFRQYGSIhb+!pwij7q4#zj%TxMiw%KYoj10uLy6vwC zRJd!>kUIXxrjEmF#o$4oV}`e(-{mcz;@YTdeymOBIYM`@(JXdH`0eMm)@NB3UZn}$ z83#7fQ~JtLkP46`=7@e#I<=+JI@fji2Lugwhv1X3lQQD_>(1E zn|`kytR18H&pCB5(L8P(yu3;q6eJjp3;l-&wZ=8yR=zR@$< z{^^Ctw@#aktorL+KMU#mCZ1`~4pKvjOrHluC%ekDtdE*{!%^2SEhg_GJZFaLH#Q3w ztQfkzn2hc#kpAE?U&VvUXLk%qh4o}c$gChq}qo%fI7LrfEDBx)! zg@h6=t|@m_=`d+t_~4vjwd@Z=ZC9 zdmA3^SJl<|tQ+%-IXS|p2+cL%^S-8SJ7dWADVg&bQd@~|(pfZxuFN&!XSjW_Cmt?PzoTIb~i~H zS_UHinKW=&N>|GF#`Xi1KxnT3JYMQaLh>y^GGuD+zirM;5E3}&jq_7~njQEXJrn?q z(OI&i!gNNn(WT(P+ZeY9V_xFZl^(5S!8Pwk@`-fdFx7K2PUF5RWU){NS zl61>tw00_C-oUQ9bwXz9I=rz?2P1~+d7rM1H6783T7FO8D82iXWwqt@*X4bbvpv-o z*#mgELdVw@&B_`!kw7@iAUS?;q%ol;PkMR%$L{WlwpIk4gdpf-JM4r)>QG5{6)gHBOkiK+g#@jvcHm^11aBI3t=EXF)md2!n)#Z7cfGm z0$FL|%?d`P3$F(MSk^mLx**&xgap|D0`tS7&@4xh4QUxsK@$!dG-Jv1L@EY1cAmq76|h!rbAZ@IP`EP<9`a?miwGBO|c^JYs-5Rw-~B&CW*%&B~gXbg-@i2jZn-)Z6?YGPU>-n)AB%A!9lM+P7iM1xL0`S)`kwPC`R{Q|1H=9U(+8On#imJcD#r1j{u{KbKSw$f>K5>Tp-_N>3E$a&w< zS&z@##0RX?{X0Is+I72z{MjOtAeNfv0xDM=E@nSNXQO?kgK0P6jQ#iGW`u!pE# z^NHY9d4nNH`|h9FV~zpm6<|0rXqZPXy(D6e2X~Y$$`=T<=roxW?_v%zJN@W`Cm*dRzsw>a*V_?4P)zEUGO&=n$*V- zV1-D|L6qUUX!k-beH~aDUt}cIcK&r1vd+#qeWj%>_bjrR@sYGzi^f->N2?${+Eb~2 z1Xxsg0X|x(+i(uWex23=?*N6&pWV}7+6R!*%8UxMQ_}K=L-#n&u?m}``&xpd(eipd$PPzzsR zX?$q`P;L<#hm4fxH$p?-KuqzZGb5Yxi+HrMxv~(6Ny1%ls&v^-6Z|>Y8NAsUs4dcL zmO)~RxzvY_q>nG8b)!d7+AsoynrDQfIPz-gKtJ)ZB-R!O;VX>WhMB49-63Py zAHRBWwVzRUtjb56w_JGVA6R2{+x*$8e{$ENa&6^P}^+r?dK$PV5f{T3O^NP|<<;S6x0n=zKBcVfs7+E_y@MiYG%=GYOW(ktXJD`jvC3>n57Q|F z#p*vLZuW+zrO=)f`S|hk{aur;@S3F8de^>tcLfuu@GWOA65Lfwc4yDD!r#Ir4$Xr0 zN)c%aKP*cD~tvoXSPmQ4}j{(Q)b{zu)4s_o8>);!dTr3!u zlL*uO)>Eh0g6`MbZok1}JhI+>xcCOl4zNs-o|KlBst?bwf7&A5@N!D`G2HNk{#(o? zJ#?&oT!e|{KBN~%(T9<6jtQXF)T|O*qWks-$ayF3yr)P+W8Tvw!e;wGJu@FAUrK9j zZLNQxQJQQIOh8W`9)Rr$5S%9oza4aTa$>o$_1my`_Z||;NUH7+`5)7t3a~Szdrq>hy!aIM>*()4 zJVMbeXur9)=iH5tEUeb2=_?syX-nSuDs3AxG(Vzzx5e3Jj(5xu_mEbTcjsk&#p^8t zOUL|;8(dbh&phE=?~9zuH;_DN@FbVWXSA6C5-RDTjX!>XpI?c(R7}r%n01AjCeZI& z$`2R~aLSc%n35Tkts(fAuOb#39rmNhUA%hq`|vC8{UUFNbDKbMKyUzrG=UiF;%L8a zHo6ODS4&fr3O3FJ=2<^S5@w)elhsH)2!8A*gW&| zOZBH4lC*CnholWU81Bb!+5E@Z!D3%$<*)U_=P82f#OGC%qp0tl$&yZ*)E}XmOXwHa zvxhQb&)Km_yUl9BV(L0A5A9!{huuMOcq>JmN`M{;9I!0t3i+!p+aYd`dW~qjr!vFo zg2)MNAL11{pZd(*4W$zrO`R8vLLT;OBBGv%enQWnmUmuD>k|f8l;a2wLEP<@gp;>6 z{$K-I__n_O4U`BZ5(Fn|SIfw$=#nd|ugv%a@Uty+y3s*I`>Wt5k5x{s*rskOxc_zV ze37kHo@Ql-26;9QGeZ=&6@{(6+nwaDcj3Wb0xz|**6cjZ#dUMt!DzNy4A0p2X>UmE zqwtk;o_e8OA8Nu@BN!0R=UV9TEQ5i9jL44pi^D<1A`h$t1eivZ5*>#GlWZW38vDKw zE@GCK=38X&9`ast#>xakfjA;U=&5zlJFHr~GM!g)Ep*zzx~$6?AsDmqn2@$g_y4sBZudpg()&A@z4(lrEN@ z-y0V5vBlFiA7^CWfXy#-%gUJbj`azPc(N`!5fe)vp@-ukCiZ;(d&L;OjL2EJ1olpG zskL9{*fEi}QPgJJZ61cJl=sEB)@7ems7$8+aPJfI3WHkg5bM?g{e#5h=gRU{wD?P} z9Lfg{C{qrK!!Y!hfS0fXV$^{TS(?_W?K2FQyZt&twXw_lH)evKhIIvi4V*X9Oj@U?eIZzb9mSE<8Hqq`|$PVIb|&(0yIG zX3JbUe*&)ivIgRDynbq~0O@2j91_|(KT$*y_9+Om&AVVLUJb>*rXDr#A?X8=^YXPb z1D{x5^M_Tm}q6O_&-SCa$Mdv zTi~3@Ve1+OYR{hS$Egc(wtAQdfr)(roO; zE1}O)QqD!0>(IG>0IET}<3no*wNcc`>##|w$=i+uN22C`tZdofiV__hV&ps;BbS%< zX*eR_cH1|8rF5^Brsg$7G7lo)iR`CrmU)bPxt>WOl-=guko%-84|G}FnDUWY3Q?Up zLPB2qv%p|m$us=FPQhrs`1iW+S$A9$Pd`(x*|h(yVuNgyM5f5yg!BnP>yYmiTHY)N zJtZ%^{MJ;z*@a3csz0l(3cq$lep&UrE7SMDOK-!en5jMVkJMcyzD2R4TJT{vBNLLp z6xUcb#FB(2f^Qt%kM;}GYeqxbI2Vb511PokcG(pS1jdY6Yi7;nIr>EIUPP>nq zgq^A;3wuARK8=hv=!c-itx>&sz}D^L_>c8Q=tQ1=Rf#fZ6La1GU6%s1NslJ)*IDe> zFHqGX@@Ft@>A{n#pzYhYo6e85v==xgSTCOzC<%b1i|RSk^M4dz%M|YWlzcHUt{<}J zs;@(}n!7IEpx&}4Ifadth2`#0>5R`@VtV)Zc91?P^8lPPzyHp7TH=k?@;}6E(Jd;q zJ>Q5S?8h-R#hZ;Xj6DwR{HjJiTU*w9sv5=6d&(Y@u=8BL#ppsF)N)KUzSwK=t>a(uqTbQeKa8_5*qmi8Zpcz5IRYS zwW;tNh^^Pj$w_-j1Ud|OMU<$0!FoGlwzo0rQ$otFS(IxDP30nr+q-d`m>Y5h6rCB` zIYsmh%1N?k&(gwKplWDHMpb;54YG`E8VG>3OIPs8`Z)TjUtER5*kH0wO#9-@( zx9Bu9#-Swg@ou)xO?kOP53&Hze+T+q=07htMigGk&|9PX6w5 zZi|~YWE8rMkP(ypKgzlgxJ4w1>EKWq;)Awd$!`Ru!thXzbqRfNssJfL| zyXmIGxCEA!;MGDS7KgA!c&N%Grm))F`va7E}RHG zI)2{=c?_p(csaEFfNlU9;FhB@syix{>10NUal$?oeVCL6C~)0WU(>XL%4kiA-3wR= z%`fB8tbQu|b!;UsXeT(|KYAkQkKJ4Y4yQyl2P&_h<5fOi&|vIVg+tsjV&U`+UQ@ zT0v$H-zR7PLg`X|v|L@!6gSaSX>&CHWybW;K5ug7L#7ll?w_cOVSZ{a@ytKR@TDsQ z5u}9rgHWqJvdw*3GQMee-i>fAWdg1<*FFUy4G|(xXGUOqzmi2$cBzt0uLKcDRsi)D zhw-$07#>@4bCG?9axN4h)+QLOA?o-k!1{g-w%z>*-6B{RLMiHJyNsy=ZwAApLJ_D* z!t^*gQMu%k2{IlYV#G*EmW|s<1os7T#Zy>mAZ2 z^pGH>j#x?k=E-!0m?>^537Kd-ToAg^d6FJaLsfg|q*~-A+B&Z8@010TmPytOIh1%5 z4b1f`BfFopP^~=|qg1zL&Dp`O(ZM zE!JVO=`gALr_m`%7bUK-Czyu~J2O_fRqhqu9kk}0B;ewIOS-nPGtisVF@y#fMt=&(dkG)@qb9+bcFsiA^~VdVVFW-PGqs}KpMJbWrjt!HO^as92YV)QlR-O0}v$_K*z+2XEf z*#{tJR?9L#%kpdb_|47Elu#B)CGP$a@mCsU<6yvu>xnth`u*ZN3!_Qv%KG;BQ&Jxi zYA9iG3T z{^4~pgS4)Urp`?FF1var7|5CXQ$@~mXov(SzqqVw`>lK`{6m0zX!+zH^T>V;wTSCuw`NKK+H(sXGa-EgUyl$6*+jh8+$BRE&M4R8^vCo9N%o& z=n+eOgHFx6AUq@CuUmIbF`SzaW$JJOZV9Ae{^-d*mV^>AeZO8>tLw1hZ{5$>K{bm5 zC|hVwol{9Ob5lzGW9~`1n%v}r*up&w^JlppKK}TCR6`pkudd^TE5X=%QsOI#=m&Lrp_o(QP_loxqUx+m) zS)MEpFY&Em{46AO`*U_}jVp5&_lYR^x8WnSbGkkk`pkb`p6@hkzPQ<(akFhJSLgnn zVkb784ses)bK=H*#RJZrPWz;7Z^h0Yw}H(is3>KR43=L?b5h}xkOmtVRSJK{Bj zJ7(_EFIXTrSnOm{%g*|E*~dKYuRbxD3yX0JACnV4#w{#fB6XII+BJ!y=yYHYPsLPt zzr#C+%k>mi@f0~i`a{yD4SyIPwlY4t!O}-qkafM>Lkc;j5~(|T$nNYp5Pzof80Xlv ztMHI8s0AM^Te$=`mP}I9E;t~8a+mZx^{F-%>?a~fP%ndNqcG{G&ydE-CccI_qP57! z9}Mh~Mb_A3J7&84eBFkD@cyrFEq%LtrFuA+IZg#C*!;L+ZLpOrpHKGgg|~-yzO(%D z=G*p(XRYR>to$eR4~69YuD)5m<~DG~Q}`24`aazCJm*;}kOF z*=kP8?`0HvZm9endHkykZzK^d#DBi5NX9cT5&runOcEr%`@df-q`zL8U*7=#q9xI+ z{pULb2UC*%>F59cKIBAI{-3XSGC$&8|NHg-F5};O0Y&BiEf3|%_~@3k%eI$QV#ELY nfUU~SK#Bk7tC2MGlZ=hM_2l*1j~tj@LOLa{ESG-5`0D=$IYjZD literal 0 HcmV?d00001 diff --git a/xapp_orchestrater/dev/docs/xapp_onboarder/index.rst b/xapp_orchestrater/dev/docs/xapp_onboarder/index.rst new file mode 100644 index 0000000..cad4bf2 --- /dev/null +++ b/xapp_orchestrater/dev/docs/xapp_onboarder/index.rst @@ -0,0 +1,16 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +xApp Onboarder +============== + + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + overview.rst + guide_index.rst diff --git a/xapp_orchestrater/dev/docs/xapp_onboarder/overview.rst b/xapp_orchestrater/dev/docs/xapp_onboarder/overview.rst new file mode 100644 index 0000000..2c653a3 --- /dev/null +++ b/xapp_orchestrater/dev/docs/xapp_onboarder/overview.rst @@ -0,0 +1,66 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + +Project Overview +================ + +Introduction +------------ + +xApp onboarder provides the xapp onboarding service to operators. It consumes the xApp descriptor and optionally additional schema file, and produces xApp helm charts. +xApp onboarder also provides CLI tools for local testing and debuging. + + +.. image:: images/onboard.png + :scale: 50 % + :align: center + + + +Change logs +----------- ++------------+--------------+-------------------------------------------------------------------------------------------------+ +| Version | Date | Description | ++============+==============+=================================================================================================+ +|1.0.0 | Mar 23 2020 | First release | ++------------+--------------+-------------------------------------------------------------------------------------------------+ +|1.0.1 | May 13 2020 | **Bug fix:** add a work-around for backward compatibility. Now xapp onboarder writes the xApp | +| | | descriptor and schema json files into xApp helm charts. | ++------------+--------------+-------------------------------------------------------------------------------------------------+ +|1.0.7 | Jun 15 2020 | **Bug fix:** | +| | | fix the xApp service name for appmgr backward compatibility. | +| | | **Feture add:** | +| | | add RMR source name environment variable. | +| | | add lable for VESPAMGR to report xapp name. | +| | | add option to inject annotation. | +| | | add option to inject command parameters. | ++------------+--------------+-------------------------------------------------------------------------------------------------+ + +Configurations +-------------- + +xApp onboarder uses the following environment parameters to configurate its instance. + ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ +| Enviroment Variable | Default Value | Description | ++======================+======================+=================================================================================================+ +| CHART_WORKSPACE_PATH | /tmp/xapp_onboarder | Temporary directory for xApp helm chart generation | ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ +| CHART_REPO_URL | \http://0.0.0.0:8080 | URL for local helm repo that stores the onboarded xApp helm chart | ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ +| HTTP_TIME_OUT | 10 | Timeout value for outgoing REST API calls | ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ +| HELM_VERSION | 2.12.3 | Version of the helm client | ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ +| HTTP_RETRY | 3 | Number of http retries for outgoing REST API calls | ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ +| ALLOW_REDEPLOY | True | Whether to allow reusing version number when onboard xApps | ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ +| CHART_WORKSPACE_SIZE | 500 MB | Size limit of the CHART_WORKSPACE_PATH temporary directory | ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ +| FLASK_PORT | 8888 | Port the xApp onboarder will listen to | ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ +| FLASK_DEBUG | True | Enable HTTP server debug messages | ++----------------------+----------------------+-------------------------------------------------------------------------------------------------+ diff --git a/xapp_orchestrater/dev/releases/alpine3-mdclog-container.yaml b/xapp_orchestrater/dev/releases/alpine3-mdclog-container.yaml new file mode 100644 index 0000000..d794fe3 --- /dev/null +++ b/xapp_orchestrater/dev/releases/alpine3-mdclog-container.yaml @@ -0,0 +1,11 @@ +--- +distribution_type: container +container_release_tag: 0.0.4 +container_pull_registry: nexus3.o-ran-sc.org:10004 +container_push_registry: nexus3.o-ran-sc.org:10002 +project: it/dev +ref: fbe8feb865f614062dfc1e6fbc082033b0f1f4ec +tag_release: false +containers: + - name: bldr-alpine3-mdclog + version: 0.0.4 diff --git a/xapp_orchestrater/dev/releases/alpine3-rmr-container.yaml b/xapp_orchestrater/dev/releases/alpine3-rmr-container.yaml new file mode 100644 index 0000000..71180a8 --- /dev/null +++ b/xapp_orchestrater/dev/releases/alpine3-rmr-container.yaml @@ -0,0 +1,11 @@ +--- +distribution_type: container +container_release_tag: 4.1.2 +container_pull_registry: nexus3.o-ran-sc.org:10004 +container_push_registry: nexus3.o-ran-sc.org:10002 +project: it/dev +ref: 477fb192e0957517bc2386cfa9f8c8c0de9f1d1b +tag_release: false +containers: + - name: bldr-alpine3-rmr + version: 4.1.2 diff --git a/xapp_orchestrater/dev/releases/container-release-ric-plt-xapponboarder.yaml b/xapp_orchestrater/dev/releases/container-release-ric-plt-xapponboarder.yaml new file mode 100644 index 0000000..8b04aae --- /dev/null +++ b/xapp_orchestrater/dev/releases/container-release-ric-plt-xapponboarder.yaml @@ -0,0 +1,10 @@ +--- +distribution_type: container +container_release_tag: 1.0.7 +container_pull_registry: nexus3.o-ran-sc.org:10004 +container_push_registry: nexus3.o-ran-sc.org:10002 +project: it/dev +ref: a77ec6df0a387fd5a5fc9f219a60604f9147b7cd +containers: + - name: xapp-onboarder + version: 1.0.7 diff --git a/xapp_orchestrater/dev/tox.ini b/xapp_orchestrater/dev/tox.ini new file mode 100644 index 0000000..4d1d9fe --- /dev/null +++ b/xapp_orchestrater/dev/tox.ini @@ -0,0 +1,34 @@ +[tox] +minversion = 2.0 +envlist = + docs, + docs-linkcheck, + +skipsdist = true + +[testenv:docs] +basepython = python3 +deps = + sphinx + sphinx-rtd-theme + sphinxcontrib-contentui + sphinxcontrib-httpdomain + recommonmark + lfdocs-conf + +commands = + sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html + + echo "Generated docs available in {toxinidir}/docs/_build/html" + +whitelist_externals = echo + +[testenv:docs-linkcheck] +basepython = python3 +deps = sphinx + sphinx-rtd-theme + sphinxcontrib-contentui + sphinxcontrib-httpdomain + recommonmark + lfdocs-conf +commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck diff --git a/xapp_orchestrater/dev/xapp_onboarder/MANIFEST.in b/xapp_orchestrater/dev/xapp_onboarder/MANIFEST.in new file mode 100644 index 0000000..0547a50 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/MANIFEST.in @@ -0,0 +1,10 @@ +recursive-include * *.py +recursive-include * *.yaml +recursive-include * *.tpl +recursive-include * *.conf +recursive-include * *.pickle +include xapp_onboarder/cli +include xapp_onboarder/xapp_onboarder +include README.md +include LICENSES.txt +include requirements.txt diff --git a/xapp_orchestrater/dev/xapp_onboarder/README.md b/xapp_orchestrater/dev/xapp_onboarder/README.md new file mode 100644 index 0000000..8ce97f7 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/README.md @@ -0,0 +1,36 @@ +xApp Onboarder +============== + +xApp onboarder onboards xApp to the near-rt RIC platform. The operators provides the xApp descriptors and their schemas, the xApp onboarder generates the xApp helm charts dynamically. + +## Install xapp_onboarder + +Run [pip](https://pip.pypa.io/en/stable/) to install xapp_onboarder. + +```bash +pip install xapp_onboarder +``` + +## Prerequisite Requirements +A helm chart repo is needed to store the xApp helm charts. You can use [chartmuseum](https://github.com/helm/chartmuseum) for this purpose. + +Environment variables: +* **FLASK_SERVER_NAME**: Address that the xapp_onboarder is listening on. Default http://0.0.0.0:8888 +* **CHART_REPO_URL**: helm chart repo URL. Default http://0.0.0.0:8080 + +## Configurations +Environment variables: +* **CHART_WORKSPACE_PATH**: Temporary directory that will store the xApp helm chart artifacts. Default /tmp/xapp_onboarder +* **CHART_WORKSPACE_SIZE**: Size limit of the temporary directory. Default 500MB +* **ALLOW_REDEPLOY**: Enable or disable redeploying of xApp helm charts. Default True +* **HTTP_TIME_OUT**: Timeout of all http requests. Default 10 +* **HTTP_RETRY**: Number of retry xapp_onboarder will use for the http requests. Default 3 + +## Run the API server +```bash +xapp_onboarder +``` +## Run the CLI tool +```bash +cli +``` diff --git a/xapp_orchestrater/dev/xapp_onboarder/charts/index-cache.yaml b/xapp_orchestrater/dev/xapp_onboarder/charts/index-cache.yaml new file mode 100644 index 0000000..881a79b --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/charts/index-cache.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +entries: + ueec: + - apiVersion: v1 + appVersion: "1.0" + created: "2020-11-18T05:42:18.708541492Z" + description: Standard xApp Helm Chart + digest: cea7ed0a26dea4e24f44e8f281c5e4ad22029ba6ff891eededc8bba1d4cd2ee6 + name: ueec + urls: + - charts/ueec-2.0.0.tgz + version: 2.0.0 + - apiVersion: v1 + appVersion: "1.0" + created: "2020-11-18T05:31:16.586130707Z" + description: Standard xApp Helm Chart + digest: f7be73dfcd8962eaeda5a042f484fae7d9ddf164d6fa129679c18006105888df + name: ueec + urls: + - charts/ueec-1.0.0.tgz + version: 1.0.0 +generated: "2020-11-18T05:42:19Z" +serverInfo: {} diff --git a/xapp_orchestrater/dev/xapp_onboarder/requirements.txt b/xapp_orchestrater/dev/xapp_onboarder/requirements.txt new file mode 100644 index 0000000..bd8c85a --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/requirements.txt @@ -0,0 +1,23 @@ +aniso8601==8.0.0 +attrs==19.3.0 +certifi==2019.11.28 +chardet==3.0.4 +Click==7.0 +fire==0.2.1 +Flask==1.1.1 +flask-restplus==0.13.0 +idna==2.9 +importlib-metadata==1.5.0 +itsdangerous==1.1.0 +Jinja2==2.11.1 +jsonschema==3.2.0 +MarkupSafe==1.1.1 +pyrsistent==0.15.7 +pytz==2019.3 +PyYAML==5.3 +requests==2.23.0 +six==1.14.0 +termcolor==1.1.0 +urllib3==1.25.8 +Werkzeug==0.16.1 +zipp==3.0.0 diff --git a/xapp_orchestrater/dev/xapp_onboarder/setup.cfg b/xapp_orchestrater/dev/xapp_onboarder/setup.cfg new file mode 100644 index 0000000..e1053b8 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/setup.cfg @@ -0,0 +1,19 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +[flake8] +max-line-length = 160 +max-complexity = 10 diff --git a/xapp_orchestrater/dev/xapp_onboarder/setup.py b/xapp_orchestrater/dev/xapp_onboarder/setup.py new file mode 100644 index 0000000..258d65c --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/setup.py @@ -0,0 +1,50 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +from setuptools import setup, find_packages + +with open("README.md", "r") as fh: + long_description = fh.read() + +with open('requirements.txt') as f: + requirements = f.read().splitlines() + + +setup( + name='xapp_onboarder', + version='1.0.0', + description='RIC xApp onboarder', + long_description=long_description, + long_description_content_type="text/markdown", + url='https://gerrit.o-ran-sc.org/r/admin/repos/it/dev', + author='Zhe Huang', + author_email='zhehuang@research.att.com', + include_package_data=True, + packages=find_packages(), + package_data={'': ['*.yaml', '*.tpl', '*.conf', 'xapp_onboarder', 'cli']}, + classifiers=[ + "Programming Language :: Python :: 3", + "Operating System :: OS Independent", + ], + python_requires='>=3.6', + install_requires=requirements, + entry_points={ + 'console_scripts': [ + 'xapp_onboarder = xapp_onboarder.server.server:main', + 'dms_cli = xapp_onboarder.server.cli:run' + ] + }, +) diff --git a/xapp_orchestrater/dev/xapp_onboarder/tests/__init__.py b/xapp_orchestrater/dev/xapp_onboarder/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/xapp_orchestrater/dev/xapp_onboarder/tests/conftest.py b/xapp_orchestrater/dev/xapp_onboarder/tests/conftest.py new file mode 100644 index 0000000..96b9877 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/tests/conftest.py @@ -0,0 +1,29 @@ +# tests/conftest.py +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import pytest +from flask import Flask +from xapp_onboarder.server.server import server + +@pytest.fixture +def app() -> Flask: + """ Provides an instance of xapp onboarder """ + server_instance = server() + assert isinstance(server_instance.app, Flask) + return server_instance.app + + diff --git a/xapp_orchestrater/dev/xapp_onboarder/tests/constants.py b/xapp_orchestrater/dev/xapp_onboarder/tests/constants.py new file mode 100644 index 0000000..82bb011 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/tests/constants.py @@ -0,0 +1,161 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +controls_schema_file = { + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "#/controls", + "type": "object", + "title": "Controls Section Schema", + "required": [ + "test" + ], + "properties": { + "test": { + "$id": "#/controls/test", + "type": "string", + "title": "test", + "default": "test", + "examples": [ + "test" + ] + } + } +} + +config_file = { + "name": "test_xapp", + "version": "1.0.0", + "annotations": { + "prometheus.io/path": "/ric/v1/metrics", + "prometheus.io/port": "8080", + "prometheus.io/scrape": "true" + }, + "containers": [ + { + "name": "mcxapp", + "image": { + "registry": "nexus3.o-ran-sc.org:10002", + "name": "o-ran-sc/ric-app-mc", + "tag": "1.0.2" + }, + "command": ["/bin/sh"], + "args": ["-c", "/playpen/bin/container_start.sh"] + } + ], + "livenessProbe": { + "exec": { + "command": ["/usr/local/bin/health_ck"] + }, + "initialDelaySeconds": 5, + "periodSeconds": 15 + }, + "readinessProbe": { + "httpGet": { + "path": "ric/v1/health/alive", + "port": 8080 + }, + "initialDelaySeconds": 5, + "periodSeconds": 15 + }, + "messaging": { + "ports": [ + { + "name": "http", + "container": "mcxapp", + "port": 8080, + "description": "http service" + }, + { + "name": "rmr_data", + "container": "mcxapp", + "port": 4560, + "description": "rmr data port for mcxapp" + }, + { + "name": "rmr_route", + "container": "mcxapp", + "port": 4561, + "description": "rmr route port for mcxapp" + } + ], + "maxSize": 2072, + "numWorkers": 1, + "txMessages": [ + "RIC_SUB_REQ", + "RIC_SUB_DEL_REQ" + ], + "rxMessages": [ + "RIC_SUB_RESP", + "RIC_SUB_FAILURE", + "RIC_SUB_DEL_RESP", + "RIC_INDICATION" + ], + "policies": [1, 2] + }, + "controls": { + "test": "test" + }, + "metrics": [ + { + "objectName": "UEEventStreamingCounters", + "objectInstance": "SgNBAdditionRequest", + "name": "SgNBAdditionRequest", + "type": "counter", + "description": "The total number of SG addition request events processed" + }, + { + "objectName": "UEEventStreamingCounters", + "objectInstance": "SgNBAdditionRequestAcknowledge", + "name": "SgNBAdditionRequestAcknowledge", + "type": "counter", + "description": "The total number of SG addition request acknowledge events processed" + } + ] +} + +mock_json_body_url = { + 'config-file.json_url': 'http://0.0.0.0:8080/config-file.json', + 'controls-schema.json_url': 'http://0.0.0.0:8080/schema.json' +} + +mock_json_body_url_without_controls = { + 'config-file.json_url': 'http://0.0.0.0:8080/config-file.json' +} + +mock_json_body = { + "config-file.json": config_file, + "controls-schema.json": controls_schema_file +} + +mock_json_body_without_controls = { + "config-file.json": config_file +} +helm_repo_index_response = {'apiVersion': 'v1', + 'entries': { + 'test_xapp': [{ + 'apiVersion': 'v1', + 'appVersion': '1.0', + 'created': '2020-03-12T19:10:17.178396719Z', + 'description': 'test xApp Helm Chart', + 'digest': 'd77dfb3f008e5174e90d79bfe982ef85b5dc5930141f6a1bd9995b2fa35', + 'name': 'test_xapp', + 'urls': ['charts/test-1.0.0.tgz'], + 'version': '1.0.0' + }] + }, + 'generated': '2020-03-16T16:54:44Z', + 'serverInfo': {} + } diff --git a/xapp_orchestrater/dev/xapp_onboarder/tests/mock_helm_repo/__init__.py b/xapp_orchestrater/dev/xapp_onboarder/tests/mock_helm_repo/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/xapp_orchestrater/dev/xapp_onboarder/tests/mock_helm_repo/mock_helm_repo.py b/xapp_orchestrater/dev/xapp_onboarder/tests/mock_helm_repo/mock_helm_repo.py new file mode 100755 index 0000000..999a6b7 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/tests/mock_helm_repo/mock_helm_repo.py @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import pkg_resources +import logging.config +import yaml +import json +import os +import tarfile +from flask import Flask, jsonify, send_file +from tests.constants import config_file, controls_schema_file, helm_repo_index_response +from xapp_onboarder.server import settings + + +logger_config = pkg_resources.resource_filename("xapp_onboarder", 'logging.conf') +logging.config.fileConfig(logger_config) +log = logging.getLogger(__name__) + +listen_address = '0.0.0.0:8080' +app = Flask(__name__) +app.config['SERVER_NAME'] = listen_address + + + + +@app.route('/') +def root_dir(): + return {'health': 'OK'} + +@app.route('/index.yaml') +def get_index(): + return yaml.dump(helm_repo_index_response) + +@app.route('/api/charts', methods=['POST']) +def upload_chart(): + return {"saved": True}, 201 + +@app.route('/api/charts/test_xapp/1.0.0', methods=['DELETE']) +def delete_chart(): + return {"deleted":True}, 200 + +@app.route('/api/charts/test_xapp', methods=['GET']) +def get_all_xapp_version(): + test_xapp = helm_repo_index_response['entries']['test_xapp'] + return jsonify(test_xapp), 200 + +@app.route('/api/charts', methods=['GET']) +def get_all_xapp(): + return jsonify(helm_repo_index_response['entries']), 200 + +@app.route('/charts/test_xapp-1.0.0.tgz', methods=['GET']) +def download_xapp_helm_package(): + if not os.path.exists(settings.MOCK_TEST_HELM_REPO_TEMP_DIR): + os.makedirs(settings.MOCK_TEST_HELM_REPO_TEMP_DIR) + with open(settings.MOCK_TEST_HELM_REPO_TEMP_DIR + '/values.yaml', 'w') as file: + file.write(json.dumps(helm_repo_index_response)) + + with tarfile.open(settings.MOCK_TEST_HELM_REPO_TEMP_DIR + '/test_xapp-1.0.0.tgz', "w:gz") as tar: + tar.addfile(tarfile.TarInfo("test_xapp/values.yaml"), open(settings.MOCK_TEST_HELM_REPO_TEMP_DIR + '/values.yaml')) + + return send_file(settings.MOCK_TEST_HELM_REPO_TEMP_DIR + '/test_xapp-1.0.0.tgz', mimetype='application/zip') + + + +@app.route('/schema.json', methods=['GET']) +def get_schema(): + + + return controls_schema_file, 200 + +@app.route('/config-file.json', methods=['GET']) +def get_config_file(): + + + return config_file, 200 + +def run(): + log.info('>>>>> Starting mock helm_repo at http://{}<<<<<'.format(listen_address)) + app.run(debug=True) + +if __name__ == '__main__': + run() + + + + + + diff --git a/xapp_orchestrater/dev/xapp_onboarder/tests/test_api.py b/xapp_orchestrater/dev/xapp_onboarder/tests/test_api.py new file mode 100644 index 0000000..23a50d6 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/tests/test_api.py @@ -0,0 +1,80 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +from http import HTTPStatus +from tests.constants import mock_json_body, mock_json_body_url_without_controls, mock_json_body_url, mock_json_body_without_controls, helm_repo_index_response + + +def test_health(client): + response = client.get('/api/v1/health') + assert response.status_code == HTTPStatus.OK, 'Wrong status code' + assert response.json == {'status': 'OK'}, 'Improper response' + +def test_get_charts(client): + response = client.get('/api/v1/charts') + assert response.status_code == HTTPStatus.OK, 'Wrong status code' + assert response.content_type == 'application/json', 'Content type error' + assert sorted([repr(x) for x in response.json]) == sorted([repr(x) for x in helm_repo_index_response['entries']]) + +def test_get_test_xapp_charts(client): + response = client.get('/api/v1/charts/xapp/test_xapp') + assert response.status_code == HTTPStatus.OK, 'Wrong status code' + assert response.content_type == 'application/json', 'Content type error' + assert sorted([repr(x) for x in response.json]) == sorted([repr(x) for x in helm_repo_index_response['entries']['test_xapp']]) + +def test_get_test_xapp_charts_package(client): + response = client.get('/api/v1/charts/xapp/test_xapp/ver/1.0.0') + assert response.status_code == HTTPStatus.OK, 'Wrong status code' + assert response.content_type == 'application/gzip', 'Content type error' + +def test_get_test_xapp_charts_values_yaml(client): + response = client.get('/api/v1/charts/xapp/test_xapp/ver/1.0.0/values.yaml') + assert response.status_code == HTTPStatus.OK, 'Wrong status code' + assert response.content_type == 'text/x-yaml', 'Content type error' + +def test_onboard_post(client): + url = '/api/v1/onboard' + response = client.post(url, json=mock_json_body) + assert response.status_code == HTTPStatus.CREATED, 'Wrong status code' + assert response.content_type == 'application/json', 'Content type error' + assert response.json == {'status': 'Created'}, 'Onboard failed' + +def test_onboard_without_controls_post(client): + url = '/api/v1/onboard' + response = client.post(url, json=mock_json_body_without_controls) + assert response.status_code == HTTPStatus.BAD_REQUEST, 'Wrong status code' + assert response.content_type == 'application/json', 'Content type error' + assert response.json == {'error_message': "'__empty_control_section__' is a required property", + 'error_source': 'config-file.json', + 'status': 'Input payload validation failed'}, 'Onboard failed' + + +def test_onboard_download_post(client): + url = '/api/v1/onboard/download' + response = client.post(url, json=mock_json_body_url) + assert response.status_code == HTTPStatus.CREATED, 'Wrong status code' + assert response.content_type == 'application/json', 'Content type error' + assert response.json == {'status': 'Created'}, 'Onboard failed' + + +def test_onboard_download_without_controls_post(client): + url = '/api/v1/onboard/download' + response = client.post(url, json=mock_json_body_url_without_controls) + assert response.status_code == HTTPStatus.BAD_REQUEST, 'Wrong status code' + assert response.content_type == 'application/json', 'Content type error' + assert response.json == {'error_message': "'__empty_control_section__' is a required property", + 'error_source': 'config-file.json', + 'status': 'Input payload validation failed'}, 'Onboard failed' diff --git a/xapp_orchestrater/dev/xapp_onboarder/tests/test_helm_controller.py b/xapp_orchestrater/dev/xapp_onboarder/tests/test_helm_controller.py new file mode 100644 index 0000000..1298d1e --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/tests/test_helm_controller.py @@ -0,0 +1,32 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +import os +import shutil +from xapp_onboarder.helm_controller.xApp_builder import xApp, xAppError +from tests.constants import config_file, controls_schema_file +from xapp_onboarder.server import settings + + +def test_packaging_xapp(client): + chart_workspace_path = settings.CHART_WORKSPACE_PATH + '/test_xapp-1.0.0' + if os.path.exists(chart_workspace_path): + shutil.rmtree(chart_workspace_path) + + xapp = xApp(config_file, controls_schema_file) + xapp.package_chart() + assert os.path.isfile(chart_workspace_path + '/test_xapp-1.0.0.tgz'), 'xApp packaging error' + + diff --git a/xapp_orchestrater/dev/xapp_onboarder/tests/test_trim_thread.py b/xapp_orchestrater/dev/xapp_onboarder/tests/test_trim_thread.py new file mode 100644 index 0000000..f4ca4e7 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/tests/test_trim_thread.py @@ -0,0 +1,41 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +import time +import os +import shutil +from xapp_onboarder.server import settings +from xapp_onboarder.helm_controller.artifacts_manager import format_artifact_dir_size, get_dir_size, trim_artifact_dir +def test_trim_thread(): + path = settings.CHART_WORKSPACE_PATH + if os.path.exists(path): + shutil.rmtree(path) + os.makedirs(path) + + size_limit = format_artifact_dir_size() + f = open(path+'/mock_size_file',"wb") + f.seek(int(size_limit)+100000000) + f.write(b"\0") + f.close() + + artifact_dir_size = get_dir_size(start_path=path) + assert size_limit < artifact_dir_size, 'Fail to write large files' + + trim_artifact_dir() + artifact_dir_size = get_dir_size(start_path=path) + + assert size_limit > artifact_dir_size, 'Fail to trim' + + diff --git a/xapp_orchestrater/dev/xapp_onboarder/tox.ini b/xapp_orchestrater/dev/xapp_onboarder/tox.ini new file mode 100644 index 0000000..a66cd76 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/tox.ini @@ -0,0 +1,44 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +[tox] +envlist = py36-{local,lf} + + +[testenv] +deps= + pytest + pytest-flask + coverage + pytest-cov +setenv = + PYTHONUNBUFFERED = 1 + CHART_REPO_URL = http://0.0.0.0:8080 + MOCK_TEST_MODE = True + lf: CHART_WORKSPACE_PATH = {toxworkdir}/.tmp/xapp_onboarder + lf: MOCK_TEST_HELM_REPO_TEMP_DIR = {toxworkdir}/.tmp/helm_repo + +commands_pre= + bash -c 'nohup python -m tests.mock_helm_repo.mock_helm_repo >/dev/null 2>&1 &' + +commands= + pytest --verbose --cov xapp_onboarder --cov-report xml --cov-report term-missing --cov-report html + coverage xml -i + +commands_post= + local: bash -c 'kill -9 $(ps -x | grep "tests.mock_helm_repo.mock_helm_repo" | grep -v grep | cut -d" " -f1)' + +whitelist_externals = bash diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/__init__.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/__init__.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/api_reference.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/api_reference.py new file mode 100644 index 0000000..1f288e0 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/api_reference.py @@ -0,0 +1,34 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import logging + +from flask_restplus import Api +from xapp_onboarder.server import settings + +log = logging.getLogger(__name__) + +api = Api(version='1.0', title='RIC xApp onboarder API', + description='APIs to manage the xApp helm charts') + + +@api.errorhandler +def default_error_handler(e): + message = 'An unhandled exception occurred.' + log.exception(message) + + if not settings.FLASK_DEBUG: + return {'message': message}, 500 diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/charts.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/charts.py new file mode 100644 index 0000000..223a5be --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/charts.py @@ -0,0 +1,81 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import logging +import io +import tarfile +from xapp_onboarder.repo_manager.repo_manager import repo_manager, RepoManagerError +from xapp_onboarder.api.models.response_models import error_message_model, response + +log = logging.getLogger(__name__) + + +def get_charts_list(xapp_chart_name=None): + + if not repo_manager.is_repo_ready(): + response_message = response(model=error_message_model, status_code=500, + error_source="xapp_onboarder", + error_message="Cannot connect to local helm repo.", + status="Service not ready.") + return response_message.get_return() + + try: + content = repo_manager.get_xapp_list(xapp_chart_name=xapp_chart_name) + except RepoManagerError as err: + log.error(str(err)) + response_message = response(model=error_message_model, status_code=err.status_code, + error_source="charts_fetcher", + error_message=str(err), + status="Fetching helm chart list failed") + return response_message.get_return() + return content, 200 + + +def download_chart_package(xapp_chart_name, version): + + if not repo_manager.is_repo_ready(): + response_message = response(model=error_message_model, status_code=500, + error_source="xapp_onboarder", + error_message="Cannot connect to local helm repo.", + status="Service not ready.") + return response_message.get_return() + try: + content = repo_manager.download_xapp_chart(xapp_chart_name=xapp_chart_name, version=version) + except RepoManagerError as err: + log.error(str(err)) + response_message = response(model=error_message_model, status_code=err.status_code, + error_source="charts_fetcher", + error_message=str(err), + status="Downloading helm chart package failed") + return response_message.get_return() + return content, 200 + + +def download_values_yaml(xapp_chart_name, version): + + content, status = download_chart_package(xapp_chart_name=xapp_chart_name, version=version) + + if status != 200: + return content, status + + file_stream = io.BytesIO(content) + + with tarfile.open(fileobj=file_stream) as tar: + values_yaml_file = tar.extractfile(xapp_chart_name + '/values.yaml') + return_response = values_yaml_file.read() + + return return_response, 200 + diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/__init__.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/charts_ep.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/charts_ep.py new file mode 100644 index 0000000..16fbec7 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/charts_ep.py @@ -0,0 +1,96 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import logging +from flask import make_response +from flask_restplus import Resource +from xapp_onboarder.api.api_reference import api +from xapp_onboarder.api.charts import get_charts_list, download_chart_package, download_values_yaml +from xapp_onboarder.api.models.response_models import error_message_model + +log = logging.getLogger(__name__) +ns = api.namespace('charts', description='Managing helm charts') + + +@ns.route('') +class ChartsList(Resource): + + @api.response(200, 'Get helm chart list OK') + @api.response(500, 'Get helm chart list failed', error_message_model) + def get(self): + """ + Returns the list of xApp helm charts that have been onboarded. + """ + + return get_charts_list() + + +@ns.route('/xapp/') +class VersionList(Resource): + + @api.response(200, 'Get helm chart OK') + @api.response(500, 'Get helm chart failed', error_message_model) + def get(self, xapp_chart_name): + """ + Returns the helm chart for the specified xApp. + """ + return get_charts_list(xapp_chart_name=xapp_chart_name) + + +@ns.route('/xapp//ver/') +class ChartsFetcher(Resource): + + @api.response(200, 'Get helm chart package OK') + @api.response(500, 'Get helm chart package failed', error_message_model) + @api.produces(['application/gzip']) + def get(self, xapp_chart_name, version): + """ + Returns the helm chart for the specified xApp and version. + """ + + content, status = download_chart_package(xapp_chart_name=xapp_chart_name, version=version) + + if status != 200: + return content, status + + response = make_response(content) + response.headers.set("Content-Type", "application/gzip") + response.headers.set("Content-Disposition", + "attachment; filename=\"" + xapp_chart_name + "-" + version + ".tgz\"") + return response + + +@ns.route('/xapp//ver//values.yaml') +class ValuesYamlFetcher(Resource): + + @api.response(200, 'Get helm chart values.yaml OK') + @api.response(500, 'Get helm chart values.yaml failed', error_message_model) + @api.produces(['text/x-yaml']) + def get(self, xapp_chart_name, version): + """ + Returns the helm values.yaml file of the specified xApp and version. + """ + + content, status = download_values_yaml(xapp_chart_name=xapp_chart_name, version=version) + + if status != 200: + return content, status + + response = make_response(content) + response.headers.set("Content-Type", "text/x-yaml") + response.headers.set("Content-Disposition", "attachment; filename=\"values.yaml\"") + + return response diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/health_check_ep.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/health_check_ep.py new file mode 100644 index 0000000..23e8b5c --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/health_check_ep.py @@ -0,0 +1,43 @@ +############################################################################### +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import logging + +from flask_restplus import Resource +from xapp_onboarder.api.api_reference import api +from xapp_onboarder.api.models.response_models import status_message_model, error_message_model, response +from xapp_onboarder.repo_manager.repo_manager import repo_manager + +log = logging.getLogger(__name__) +ns = api.namespace('health', description='health check') + + +@ns.route('') +class HealthCheck(Resource): + + @api.response(200, 'Health check OK', status_message_model) + @api.response(500, 'xApp onboarder is not ready', error_message_model) + def get(self): + """ + Returns the health condition of the xApp onboarder + """ + if not repo_manager.is_repo_ready(): + response_message = response( model= error_message_model, status_code = 500, + error_source = "xapp_onboarder", + error_message = "Cannot connect to local helm repo.", + status = "Service not ready.") + return response_message.get_return() + return response(model = status_message_model, status_code = 200, status= "OK").get_return() diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/onboard_ep.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/onboard_ep.py new file mode 100644 index 0000000..6806bbf --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/endpoints/onboard_ep.py @@ -0,0 +1,70 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import logging +from flask import request +from flask_restplus import Resource +from xapp_onboarder.api.models import request_models +from xapp_onboarder.api.api_reference import api +from xapp_onboarder.api.models.response_models import status_message_model, error_message_model +from xapp_onboarder.api.onboard import onboard, download_config_and_schema_and_onboard + +log = logging.getLogger(__name__) +ns = api.namespace('onboard', description='onboard xApps') + + +@ns.route('') +class OnboardxApps(Resource): + + # @api.response(200, 'Everything is fine') + # @api.response(500, 'temp is not ready') + # def get(self): + # """ + # Return a list of xApp that have been onboarded and their versions. + # """ + # if not repo_manager.is_repo_ready(): + # return {'status': 'not ready'}, 500 + # return {'status': 'OK'}, 200 + + @api.response(201, 'xApp onboard successfully.', status_message_model) + @api.response(400, 'xApp descriptor format error', error_message_model) + @api.response(500, 'xApp onboarder is not ready', error_message_model) + @api.expect(request_models.xapp_descriptor_post, validate=True) + def post(self): + """ + Onboard xApp using the xApp descriptor and schema in the request body. + """ + config_file = request.json.get('config-file.json') + controls_schema_file = request.json.get('controls-schema.json') + + return onboard(config_file, controls_schema_file) + + +@ns.route('/download') +class OnboardxAppsDownload(Resource): + + @api.response(201, 'xApp onboard successfully.', status_message_model) + @api.response(400, 'xApp descriptor format error', error_message_model) + @api.response(500, 'xApp onboarder is not ready', error_message_model) + @api.expect(request_models.xapp_descriptor_download_post, validate=True) + def post(self): + """ + Onboard xApp after downloading the xApp descriptor and schema from the URLs. + """ + config_file_url = request.json.get('config-file.json_url') + controls_schema_url = request.json.get('controls-schema.json_url') + + return download_config_and_schema_and_onboard(config_file_url, controls_schema_url) diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/__init__.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/request_models.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/request_models.py new file mode 100644 index 0000000..a7865a8 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/request_models.py @@ -0,0 +1,35 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +from flask_restplus import fields +from xapp_onboarder.api.api_reference import api + +xapp_descriptor_post = api.model('descriptor', { + 'config-file.json': fields.Nested( + api.model('config', { + 'name': fields.String(description='Name of the xApp chart', required=True), + 'version': fields.String(description='Version of the xApp chart', required=True, + pattern='^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$'), + }), required=True), + 'controls-schema.json': fields.Raw(description='Controls schema file body', required=False), +}) + + +xapp_descriptor_download_post = api.model('descriptor_remote', { + 'config-file.json_url': fields.Url(description='URL to download the config-file.json file', absolute=True, required=True), + 'controls-schema.json_url': fields.Url(description='URL to download the controls schema.json file', absolute=True, required=False), +}) + diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/response_models.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/response_models.py new file mode 100644 index 0000000..156b120 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/models/response_models.py @@ -0,0 +1,41 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +from flask_restplus import fields, marshal +from xapp_onboarder.api.api_reference import api + +error_message_model = api.model('error_message', { + 'error_source': fields.String(description='source of the error', required=True), + 'error_message': fields.String(description='source of the error', required=True), + 'status': fields.String(description='http response message', required=True), +}) + +status_message_model = api.model('status', { + 'status': fields.String(description='status of the service', required=True) +}) + + +class response(): + + def __init__(self, model, status_code, status = "" , error_source = "", error_message = ""): + self.model = model + self.status = status + self.status_code = status_code + self.error_source = error_source + self.error_message = error_message + + def get_return(self): + return marshal(self, self.model), self.status_code \ No newline at end of file diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/onboard.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/onboard.py new file mode 100644 index 0000000..71b8f62 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/api/onboard.py @@ -0,0 +1,128 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import logging +import json +import copy +from jsonschema import ValidationError, SchemaError +from jsonschema import validate, Draft7Validator +from xapp_onboarder.helm_controller.xApp_builder import xApp, xAppError +from xapp_onboarder.server import settings +from xapp_onboarder.repo_manager.repo_manager import requests_retry_session, repo_manager +from xapp_onboarder.api.models.response_models import error_message_model, response, status_message_model +from xapp_onboarder.helm_controller.xapp_schema import schema as xapp_schema + +log = logging.getLogger(__name__) + + +def onboard(config_file, controls_schema_file): + if not repo_manager.is_repo_ready(): + response_message = response(model=error_message_model, status_code=500, + error_source="xapp_onboarder", + error_message="Cannot connect to local helm repo.", + status="Service not ready.") + return response_message.get_return() + + schema_file = copy.deepcopy(xapp_schema) + + if controls_schema_file: + schema_file["properties"]["controls"] = controls_schema_file + + try: + Draft7Validator.check_schema(schema_file) + validate(config_file, schema_file) + except ValidationError as err: + log.debug(err.message) + response_message = response(model=error_message_model, status_code=400, + error_source="config-file.json", + error_message=err.message, + status="Input payload validation failed") + return response_message.get_return() + except SchemaError as err: + log.debug(err.message) + response_message = response(model=error_message_model, status_code=400, + error_source="schema.json", + error_message=err.message, + status="Input payload validation failed") + return response_message.get_return() + + try: + xapp = xApp(config_file, schema_file) + xapp.package_chart() + xapp.distribute_chart() + except xAppError as err: + log.error(str(err)) + response_message = response(model=error_message_model, status_code=err.status_code, + error_source="xApp_builder", + error_message=str(err), + status="xApp onboarding failed") + return response_message.get_return() + return response(model=status_message_model, status_code=201, status="Created").get_return() + + +def download_config_and_schema_and_onboard(config_file_url, controls_schema_url): + if not repo_manager.is_repo_ready(): + response_message = response(model=error_message_model, status_code=500, + error_source="xapp_onboarder", + error_message="Cannot connect to local helm repo.", + status="Service not ready.") + return response_message.get_return() + + session = requests_retry_session() + try: + response_content = session.get(config_file_url, timeout=settings.HTTP_TIME_OUT) + except Exception as err: + log.error(err.message) + response_message = response(model=error_message_model, status_code=500, + error_source="config-file.json", + error_message=err.message, + status="Downloading config-file.json failed") + return response_message.get_return() + else: + if response_content.status_code != 200: + error_message = "Wrong response code: {}, {}".format(response_content.status_code, response_content.content.decode("utf-8")) + log.error(error_message) + response_message = response(model=error_message_model, status_code=500, + error_source="config-file.json", + error_message=error_message, + status="Downloading config-file.json failed") + return response_message.get_return() + config_file = json.loads(response_content.content) + + controls_schema_file = None + if controls_schema_url: + try: + response_content = session.get(controls_schema_url, timeout=settings.HTTP_TIME_OUT) + except Exception as err: + log.error(err.message) + response_message = response(model=error_message_model, status_code=500, + error_source="schema.json", + error_message=err.message, + status="Downloading schema.json failed") + return response_message.get_return() + else: + if response_content.status_code != 200: + error_message = "Wrong response code. {}, {}".format(response_content.status_code, response_content.content.decode("utf-8")) + log.error(error_message) + response_message = response(model=error_message_model, status_code=500, + error_source="schema.json", + error_message=error_message, + status="Downloading schema.json failed") + return response_message.get_return() + controls_schema_file = json.loads(response_content.content) + + + return onboard(config_file, controls_schema_file) diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/__init__.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/artifacts_manager.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/artifacts_manager.py new file mode 100644 index 0000000..4369884 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/artifacts_manager.py @@ -0,0 +1,100 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import os +import logging +import re +import glob +import threading +import shutil +from xapp_onboarder.server import settings + +log = logging.getLogger(__name__) + + +def get_dir_size(start_path='.'): + total_size = 0 + + if os.path.isfile(start_path): + total_size += os.path.getsize(start_path) + + if os.path.isdir(start_path): + for dirpath, dirnames, filenames in os.walk(start_path): + for f in filenames: + fp = os.path.join(dirpath, f) + # skip if it is symbolic link + if not os.path.islink(fp): + total_size += os.path.getsize(fp) + + return total_size + + +def format_artifact_dir_size(): + """ Converts integers to common size units used in computing """ + artifact_dir_size_string = settings.CHART_WORKSPACE_SIZE + size_unit = re.sub('[0-9\s\.]', '', artifact_dir_size_string) + size_limit = re.sub('[A-Za-z\s\.]', '', artifact_dir_size_string) + + bit_shift = {"B": 0, + "kb": 7, + "KB": 10, + "mb": 17, + "MB": 20, + "gb": 27, + "GB": 30, + "TB": 40, } + return float(size_limit) * float(1 << bit_shift[size_unit]) + +def trim_artifact_dir(): + artifact_dir_size = get_dir_size(start_path=settings.CHART_WORKSPACE_PATH) + dir_limit = format_artifact_dir_size() + + if artifact_dir_size > dir_limit: + dirs = sorted(glob.glob(settings.CHART_WORKSPACE_PATH + '/*'), key=os.path.getctime) + trim_dir = list() + remain_size = artifact_dir_size + for dir in dirs: + remain_size = remain_size - get_dir_size(start_path=dir) + trim_dir.append(dir) + if remain_size < dir_limit: + break + log.info("Trimming artifact directories: " + str(trim_dir)) + for dir in trim_dir: + if os.path.isfile(dir): + os.remove(dir) + else: + shutil.rmtree(dir) + + +class artifacts_manager(): + + def __init__(self): + self.timer_thread = threading.Timer(60.0, trim_artifact_dir) + + def start_trim_thread(self): + if not settings.MOCK_TEST_MODE: + log.info("Artifact directory trimming thread started.") + self.timer_thread.start() + + + def cancel_trim_thread(self): + log.info("Artifact directory trimming thread stopped.") + self.timer_thread.cancel() + + def start(self): + self.start_trim_thread() + + diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/xApp_builder.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/xApp_builder.py new file mode 100644 index 0000000..a9ecf41 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/xApp_builder.py @@ -0,0 +1,300 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import logging +import yaml +import json +import os +import io +import subprocess +import shutil +import re +import copy +import platform +import tarfile +import stat +import sys +from xapp_onboarder.server import settings +from xapp_onboarder.repo_manager.repo_manager import repo_manager, RepoManagerError +from pkg_resources import resource_filename +from subprocess import PIPE, check_output, STDOUT +from xapp_onboarder.repo_manager.repo_manager import requests_retry_session +log = logging.getLogger(__name__) + + +def indent(text, amount, ch=' '): + padding = amount * ch + return ''.join(padding + line for line in text.splitlines(True)) + + +class xAppError(Exception): + def __init__(self, message, status_code): + # Call the base class constructor with the parameters it needs + super().__init__(message) + self.status_code = status_code + + +class xApp(): + def __init__(self, config_file, schema_file): + self.config_file = config_file + self.schema_file = schema_file + + if 'name' not in self.config_file: + raise xAppError( + "xApp chart name not found. (Caused by: config-file.json does not contain xapp_name attribute.)", 500) + + if 'version' not in self.config_file: + raise xAppError( + "xApp chart version not found. (Caused by: config-file.json does not contain version attribute.)", 500) + + self.chart_name = self.config_file['name'] + self.chart_version = self.config_file['version'] + self.configmap_config_json_file = copy.deepcopy(self.config_file) + self.chart_workspace_path = settings.CHART_WORKSPACE_PATH + '/' + self.chart_name + '-' + self.chart_version + if os.path.exists(self.chart_workspace_path): + shutil.rmtree(self.chart_workspace_path) + os.makedirs(self.chart_workspace_path) + shutil.copytree(resource_filename( 'xapp_onboarder', 'resources/xapp-std'), self.chart_workspace_path + '/' + self.chart_name) + self.setup_helm() + + def setup_helm(self): + self.helm_client_path = 'helm' + try: + process = subprocess.run([self.helm_client_path], stdout=PIPE, stderr=PIPE, check=True) + + except Exception as err: + print(err) + self.download_helm() + self.helm_client_path = settings.CHART_WORKSPACE_PATH + '/helm' + + def download_helm(self): + if not os.path.isfile(settings.CHART_WORKSPACE_PATH + '/helm'): + log.info("Helm client missing. Trying to download it.") + helm_file_name = "helm-v{}-{}-amd64.tar.gz".format(settings.HELM_VERSION, platform.system().lower()) + helm_download_link = "https://get.helm.sh/" + helm_file_name + + + try: + response = requests_retry_session().get(helm_download_link, timeout=settings.HTTP_TIME_OUT) + except Exception as err: + error_message = "Download helm client failed. (Caused by: " + str(err)+")" + log.error(error_message) + raise xAppError(error_message, 500) + else: + if response.status_code != 200: + error_message = "Download helm chart failed. Helm repo return status code: "+ str(response.status_code) +" "+ response.content.decode("utf-8") + log.error(error_message) + raise xAppError(error_message, 500) + + file_stream = io.BytesIO(response.content) + + with tarfile.open(fileobj=file_stream) as tar: + helm_client = tar.extractfile(platform.system().lower() + "-amd64/helm") + with open(settings.CHART_WORKSPACE_PATH+'/helm', 'wb') as file: + file.write(helm_client.read()) + st = os.stat(settings.CHART_WORKSPACE_PATH+'/helm') + os.chmod(settings.CHART_WORKSPACE_PATH+'/helm', st.st_mode | stat.S_IEXEC) + + + + + def recursive_convert_config_file(self, node_list=list()): + current_node = self.configmap_config_json_file + helm_value_path = '.Values' + for node in node_list: + current_node = current_node.get(node) + helm_value_path = helm_value_path + ' ' + "\"" + node + "\"" + + if type(current_node) is not dict: + raise TypeError("Recursive write was called on a leaf node.") + + for item in current_node.keys(): + if type(current_node.get(item)) is not dict: + current_node[item] = '{{ index '+ helm_value_path +' "'+ item + '" | toJson }}' + else: + new_node_list = node_list.copy() + new_node_list.append(item) + self.recursive_convert_config_file(new_node_list) + + + def append_config_to_config_map(self): + with open(self.chart_workspace_path + '/' + self.chart_name + '/templates/appconfig.yaml', 'a') as outputfile: + self.recursive_convert_config_file() + config_file_json_text = json.dumps(self.configmap_config_json_file, indent=4) + indented_config_text = indent(config_file_json_text, 4) + indented_config_text = re.sub(r"\"{{", '{{', indented_config_text) + indented_config_text = re.sub(r"}}\"", '}}', indented_config_text) + indented_config_text = re.sub(r"\\", '', indented_config_text) + outputfile.write(" config-file.json: |\n") + outputfile.write(indented_config_text) + outputfile.write("\n schema.json: |\n") + schema_json = json.dumps(self.schema_file, indent=4) + indented_schema_text = indent(schema_json, 4) + outputfile.write(indented_schema_text) + + +# This is a work around for the bronze release to be backward compatible to the previous xapp standard helm template + def write_config_and_schema(self): + os.makedirs(self.chart_workspace_path + '/' + self.chart_name + '/descriptors') + os.makedirs(self.chart_workspace_path + '/' + self.chart_name + '/config') + with open(self.chart_workspace_path + '/' + self.chart_name + '/descriptors/schema.json', 'w') as outfile: + json.dump(self.schema_file, outfile) + with open(self.chart_workspace_path + '/' + self.chart_name + '/config/config-file.json', 'w') as outfile: + json.dump(self.config_file, outfile) + + + + def add_probes_to_deployment(self): + with open(self.chart_workspace_path + '/' + self.chart_name + '/templates/deployment.yaml', 'a') as outputfile: + + for probes in ['readinessProbe', 'livenessProbe']: + if self.configmap_config_json_file.get(probes): + probe_definition = self.configmap_config_json_file.get(probes) + probe_definition_yaml = yaml.dump(probe_definition, width=1000) + + print(probe_definition_yaml) + + indented_probe_definition_yaml = indent(probe_definition_yaml, 12) + indented_probe_definition_yaml = re.sub(r" \| toJson", '', indented_probe_definition_yaml) + indented_probe_definition_yaml = re.sub(r"'", '', indented_probe_definition_yaml) + outputfile.write(" "+probes+":\n") + outputfile.write(indented_probe_definition_yaml) + + + def append_config_to_values_yaml(self): + with open(self.chart_workspace_path + '/' + self.chart_name + '/values.yaml', 'a') as outputfile: + yaml.dump(self.config_file, outputfile, default_flow_style=False) + + + def change_chart_name_version(self): + with open(self.chart_workspace_path + '/' + self.chart_name + '/Chart.yaml', 'r') as inputfile: + self.chart_yaml = yaml.load(inputfile, Loader=yaml.FullLoader) + self.chart_yaml['version'] = self.chart_version + self.chart_yaml['name'] = self.chart_name + + with open(self.chart_workspace_path + '/' + self.chart_name + '/Chart.yaml', 'w') as outputfile: + yaml.dump(self.chart_yaml, outputfile, default_flow_style=False) + + + def helm_lint(self): + try: + process = subprocess.run([self.helm_client_path, "lint", self.chart_workspace_path + "/" + self.chart_name], stdout=PIPE, stderr=PIPE, check=True) + + except OSError as err: + raise xAppError( + "xApp " + self.chart_name + '-' + self.chart_version + " helm lint failed. (Caused by: " + str( + err) + ")", 500) + except subprocess.CalledProcessError as err: + raise xAppError( + "xApp " + self.chart_name + '-' + self.chart_version + " helm lint failed. (Caused by: " + + err.stderr.decode("utf-8") + "\n" + err.stdout.decode("utf-8") + ")", 400) + + def package_chart(self): + self.write_config_and_schema() + self.append_config_to_config_map() + self.append_config_to_values_yaml() + self.add_probes_to_deployment() + self.change_chart_name_version() + self.helm_lint() + try: + process = subprocess.run([self.helm_client_path, "package", self.chart_workspace_path + "/" + self.chart_name, "-d" + ,self.chart_workspace_path], stdout=PIPE, stderr=PIPE, check=True) + + except OSError as err: + raise xAppError("xApp "+ self.chart_name+'-'+self.chart_version +" packaging failed. (Caused by: "+str(err) +")", 500) + except subprocess.CalledProcessError as err: + raise xAppError( + "xApp " + self.chart_name + '-' + self.chart_version + " packaging failed. (Caused by: " + + err.stderr.decode("utf-8") + ")", 500) + + + + def distribute_chart(self): + try: + repo_manager.upload_chart(self) + except RepoManagerError as err: + raise xAppError( "xApp " + self.chart_name + '-' + self.chart_version + " distribution failed. (Caused by: " + str(err) + ")" , err.status_code) + + def install_chart_package(xapp_chart_name, version, namespace, overridefile): + try: + tar = tarfile.open(xapp_chart_name + "-" + version + ".tgz") + tar.extractall() + tar.close() + if overridefile != "": + process = subprocess.run(["helm", "install", xapp_chart_name, "./" + xapp_chart_name, "-f", overridefile, "--namespace=" + namespace], stdout=PIPE, stderr=PIPE, check=True) + else: + process = subprocess.run(["helm", "install", xapp_chart_name, "./" + xapp_chart_name, "--namespace=" + namespace], stdout=PIPE, stderr=PIPE, check=True) + status = 1 + except subprocess.CalledProcessError as err: + print(err.stderr.decode()) + status=0 + except Exception as err: + print(err) + status = 0 + subprocess.run(["rm", "-rf", xapp_chart_name ]) + subprocess.run(["rm", "-rf", xapp_chart_name + "-" + version + ".tgz" ]) + return status + + def uninstall_chart_package(xapp_chart_name, namespace): + + try: + process = subprocess.run(["helm", "delete", xapp_chart_name, "--namespace=" + namespace], stdout=PIPE, stderr=PIPE, check=True) + status = 1 + + except Exception as err: + print(err.stderr.decode()) + status = 0 + + return status + def health_check_xapp(xapp_chart_name, namespace): + + try: + getpodname=subprocess.check_output("kubectl get po -n " + namespace + " | grep -w " + xapp_chart_name + " | awk '{print $1}'", shell=True).decode().strip("\n") + if getpodname=="": + print("No " + xapp_chart_name + " xapp found under " + namespace + " namespace.") + sys.exit() + process = subprocess.check_output("kubectl describe po " + getpodname + " --namespace=" + namespace + "| grep -B 0 -A 5 'Conditions:'", shell=True).decode() + + final= re.search("Initialized.*", process) + temp=final.group().split(' ',1)[1] + initialized=" ".join(temp.split()) + + final= re.search("Ready.*", process) + temp=final.group().split(' ',1)[1] + ready=" ".join(temp.split()) + + final= re.search("ContainersReady.*", process) + temp=final.group().split(' ',1)[1] + containersready=" ".join(temp.split()) + + final= re.search("PodScheduled.*", process) + temp=final.group().split(' ',1)[1] + podscheduled=" ".join(temp.split()) + + if "True"==initialized and "True"==podscheduled and "True"==containersready and "True"==ready: + print("Xapp health status : Healthy") + else: + print("Xapp health status : Unhealthy") + if "True"!=containersready: + print("ContainersReady=False, All the containers in the pod are not ready\n") + elif "True"!=initialized: + print("Initialized=False, Init containers have not yet started\n") + elif "True"!=podscheduled: + print("PodScheduled=False, Pod has not yet scheduled to node\n") + elif "True"!=ready: + print("Ready=False, Pod is not ready to serve any request\n") + except Exception as err: + print(err.output.decode()) diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/xapp_schema.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/xapp_schema.py new file mode 100644 index 0000000..f3f15b0 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/helm_controller/xapp_schema.py @@ -0,0 +1,483 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +schema = { + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://o-ran-sc.org/xapp_root.json", + "type": "object", + "title": "The xApp Root Schema", + "properties": { + "name": { + "$id": "#/properties/name", + "type": "string", + "title": "The xApp Name", + "default": "xapp", + "examples": [ + "example_xapp" + ] + }, + "version": { + "$id": "#/properties/version", + "type": "string", + "title": "The xApp version", + "default": "1.0.0", + "examples": [ + "1.0.0" + ], + "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$" + }, + "annotations": { + "$id": "#/properties/annotation", + "type": "object", + "title": "The k8s pod annotation", + "additionalProperties": { + "anyOf": [ + { "type": "string" }, + { + "type": "array", + "items": { + "type": "object" + } + } + ] + } + }, + "containers": { + "$id": "#/properties/containers", + "type": "array", + "title": "The Container Schema", + "items": { + "$id": "#/properties/containers/items", + "type": "object", + "title": "The Container Items Schema", + "required": [ + "name", + "image" + ], + "properties": { + "name": { + "$id": "#/properties/containers/items/properties/name", + "type": "string", + "title": "The xApp Container Name", + "default": "xapp", + "examples": [ + "xapp" + ] + }, + "image": { + "$id": "#/properties/containers/items/properties/image", + "type": "object", + "title": "The Container Image", + "required": [ + "registry", + "name", + "tag" + ], + "properties": { + "registry": { + "$id": "#/properties/containers/items/properties/image/properties/registry", + "type": "string", + "title": "The xApp Image Registry", + "default": "nexus3.o-ran-sc.org:10002", + "examples": [ + "nexus3.o-ran-sc.org:10002" + ], + "pattern": "^[A-Za-z0-9\\.-]{1,}\\.[A-Za-z]{1,}(?:\\:\\d+)?$" + }, + "name": { + "$id": "#/properties/containers/items/properties/image/properties/name", + "type": "string", + "title": "The xApp Image Name", + "default": "xapp", + "examples": [ + "xapp" + ] + }, + "tag": { + "$id": "#/properties/containers/items/properties/image/properties/tag", + "type": "string", + "title": "The xApp Image Tag", + "default": "latest", + "examples": [ + "latest" + ] + } + } + }, + "command": { + "$id": "#/properties/containers/items/properties/command", + "type": "array", + "items": [ + { + "$id": "#/properties/containers/items/properties/command/item", + "type": "string", + "title": "The Command Item", + "default": "/bin/sh", + "examples": [ + "/bin/sh" + ] + } + ] + }, + "args": { + "$id": "#/properties/containers/items/properties/args", + "type": "array", + "items": [ + { + "$id": "#/properties/containers/items/properties/args/item", + "type": "string", + "title": "The Command Arguement Item", + "default": "-c", + "examples": [ + "-c" + ] + } + ] + } + } + } + }, + "livenessProbe": { + "$id": "#/properties/livenessprobe", + "type": "object", + "title": "The Liveness Probe Definition", + "properties": { + "exec": { + "$id": "#/properties/livenessprobe/exec", + "type": "object", + "title": "Script of Liveness Probe", + "properties": { + "command": { + "$id": "#/properties/livenessprobe/exec/command", + "type": "array", + "items": [ + { + "$id": "#/properties/livenessprobe/exec/command/item", + "type": "string", + "title": "The Command Item", + "default": "/bin/sh", + "examples": [ + "/bin/sh" + ] + } + ] + } + }, + "required": [ + "command" + ] + }, + "httpGet": { + "$id": "#/properties/livenessprobe/httpget", + "type": "object", + "title": "Http of Liveness Probe", + "properties": { + "path": { + "$id": "#/properties/livenessprobe/httpget/path", + "type": "string", + "title": "The Path of Http Liveness Probe", + "default": "/health", + "examples": [ + "/health" + ] + }, + "port": { + "$id": "#/properties/livenessprobe/httpget/port", + "type": "integer", + "title": "The Port of Http Liveness Probe", + "default": 80, + "examples": [ + 80 + ] + } + }, + "required": [ + "path", + "port" + ] + }, + "initialDelaySeconds": { + "$id": "#/properties/livenessprobe/initialdelayseconds", + "type": "integer", + "title": "Initial Delay of Liveness Probe", + "default": 5, + "examples": [ + 5 + ] + }, + "periodSeconds": { + "$id": "#/properties/livenessprobe/periodseconds", + "type": "integer", + "title": "Period of Liveness Probe", + "default": 15, + "examples": [ + 15 + ] + } + }, + "oneOf": [ + { + "$id": "#/properties/livenessprobe/oneof/exec", + "required": ["exec", "initialDelaySeconds", "periodSeconds"] + }, + { + "$id": "#/properties/livenessprobe/oneof/httpget", + "required": ["httpGet", "initialDelaySeconds", "periodSeconds"] + } + ] + }, + "readinessProbe": { + "$id": "#/properties/readinessprobe", + "type": "object", + "title": "The Readiness Probe Definition", + "properties": { + "exec": { + "$id": "#/properties/readinessprobe/exec", + "type": "object", + "title": "Script of Readiness Probe", + "properties": { + "command": { + "$id": "#/properties/readinessprobe/exec/command", + "type": "array", + "items": [ + { + "type": "string" + } + ] + } + }, + "required": [ + "command" + ] + }, + "httpGet": { + "$id": "#/properties/readinessprobe/httpget", + "type": "object", + "title": "Http of Readiness Probe", + "properties": { + "path": { + "$id": "#/properties/readinessprobe/httpget/path", + "type": "string", + "title": "The Path of Http Readiness Probe", + "default": "/health", + "examples": [ + "/health" + ] + }, + "port": { + "$id": "#/properties/readinessprobe/httpget/port", + "type": "integer", + "title": "The Port of Http Readiness Probe", + "default": 80, + "examples": [ + 80 + ] + } + }, + "required": [ + "path", + "port" + ] + }, + "initialDelaySeconds": { + "$id": "#/properties/readinessprobe/initialdelayseconds", + "type": "integer", + "title": "Initial Delay of Readiness Probe", + "default": 5, + "examples": [ + 5 + ] + }, + "periodSeconds": { + "$id": "#/properties/readinessprobe/periodseconds", + "type": "integer", + "title": "Period of Readiness Probe", + "default": 15, + "examples": [ + 15 + ] + } + }, + "oneOf": [ + { + "$id": "#/properties/readinessprobe/oneof/exec", + "required": ["exec", "initialDelaySeconds", "periodSeconds"] + }, + { + "$id": "#/properties/readinessprobe/oneof/httpget", + "required": ["httpGet", "initialDelaySeconds", "periodSeconds"] + } + ] + }, + "messaging": { + "type": "object", + "$id": "#/properties/messaging", + "title": "The Messaging Schema", + "properties": { + "ports": { + "$id": "#/properties/messaging/ports", + "type": "array", + "title": "The Ports for Messaging", + "items": { + "$id": "#/properties/messaging/ports/items", + "type": "object", + "title": "The Item of Port", + "required": ["name", "container", "port"], + "dependencies": { + "txMessages": ["rxMessages", "policies"], + "rxMessages": ["txMessages", "policies"], + "policies": ["rxMessages", "txMessages"] + }, + "properties": { + "name": { + "$id": "#/properties/messaging/ports/items/name", + "type": "string", + "title": "The Name of the Port", + "default": "App", + "examples": [ + "App" + ] + }, + "container": { + "$id": "#/properties/messaging/ports/items/container", + "type": "string", + "title": "The Container of the Port", + "default": "xapp", + "examples": [ + "xapp" + ] + }, + "port": { + "$id": "#/properties/messaging/ports/items/port", + "type": "integer", + "title": "The Port Number", + "default": 8080, + "examples": [ + 8080 + ] + }, + "description": { + "$id": "#/properties/messaging/ports/items/description", + "type": "string", + "title": "The description for the port", + "default": "port description", + "examples": [ + "port description" + ] + }, + "txMessages": { + "$id": "#/properties/messaging/ports/items/txmessages", + "type": "array", + "title": "The txMessage Types", + "items": { + "$id": "#/properties/messaging/ports/items//txmessages/item", + "type": "string", + "title": "The txMessage Types Item", + "default": "RIC_SUB", + "examples": [ + "RIC_SUB" + ] + } + }, + "rxMessages": { + "$id": "#/properties/messaging/ports/items/rxmessages", + "type": "array", + "title": "The rxMessage Types", + "items": { + "$id": "#/properties/messaging/ports/items/rxmessages/item", + "type": "string", + "title": "The rxMessage Types Item", + "default": "RIC_SUB", + "examples": [ + "RIC_SUB" + ] + } + }, + "policies": { + "$id": "#/properties/messaging/ports/items/policies", + "type": "array", + "title": "The Policies Types", + "items": { + "$id": "#/properties/messaging/ports/items/policies/item", + "type": "integer", + "title": "The Policy Types Item", + "default": 1, + "examples": [ + 1 + ] + } + } + } + } + } + }, + "required": [ + "ports" + ] + + }, + "metrics": { + "type": "object", + "$id": "#/properties/metrics", + "title": "The Metrics Schema", + "items": { + "$id": "#/properties/metrics/items", + "type": "object", + "title": "The Metrics Items Schema", + "required": [ + "objectName", + "objectInstance", + "name", + "type", + "description" + ], + "properties": { + "objectName": { + "$id": "#/properties/metrics/items/objectname", + "type": "string", + "title": "The Object Name" + }, + "objectInstance": { + "$id": "#/properties/metrics/items/objectinstance", + "type": "string", + "title": "The Object Instance" + }, + "name": { + "$id": "#/properties/metrics/items/name", + "type": "string", + "title": "The Object Name" + }, + "type": { + "$id": "#/properties/metrics/items/type", + "type": "string", + "title": "The Object Type" + }, + "description": { + "$id": "#/properties/metrics/items/description", + "type": "string", + "title": "The Object Description" + } + } + } + }, + "controls": { + "required": [ + "__empty_control_section__" + ] + } + + } +} diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/logging.conf b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/logging.conf new file mode 100644 index 0000000..76ed704 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/logging.conf @@ -0,0 +1,28 @@ +[loggers] +keys=root, xapp_onboarder + +[handlers] +keys=console + +[formatters] +keys=simple + +[logger_root] +level=DEBUG +handlers=console + +[logger_xapp_onboarder] +level=DEBUG +handlers=console +qualname=xapp_onboarder +propagate=0 + +[handler_console] +class=StreamHandler +level=DEBUG +formatter=simple +args=(sys.stdout,) + +[formatter_simple] +format=%(asctime)s - %(levelname)s - %(message)s - %(name)s +datefmt= \ No newline at end of file diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/repo_manager/__init__.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/repo_manager/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/repo_manager/repo_manager.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/repo_manager/repo_manager.py new file mode 100644 index 0000000..1596b55 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/repo_manager/repo_manager.py @@ -0,0 +1,157 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import yaml +import json +from xapp_onboarder.server import settings +import logging +import requests +import time +from requests.adapters import HTTPAdapter +from requests.packages.urllib3.util.retry import Retry + +log = logging.getLogger(__name__) + +def requests_retry_session(retries=3, backoff_factor=0.3, status_forcelist=(500, 502, 504, 400, 401, 409), session=None,): + session = session or requests.Session() + retry = Retry( + total=retries, + read=retries, + connect=retries, + backoff_factor=backoff_factor, + status_forcelist=status_forcelist, + ) + adapter = HTTPAdapter(max_retries=retry) + session.mount('http://', adapter) + session.mount('https://', adapter) + return session + + + +class RepoManagerError(Exception): + def __init__(self, message, status_code): + # Call the base class constructor with the parameters it needs + super().__init__(message) + self.status_code = status_code + + +class repoManager(): + def __init__(self, repo_url): + self.repo_url = repo_url + self.__is_repo_ready__ = False + log.debug("Initialize connection to helm chart repo at "+self.repo_url) + t0 = time.time() + self.retry_session = requests_retry_session() + try: + response = self.retry_session.get(self.repo_url, timeout=settings.HTTP_TIME_OUT) + except Exception as err: + t1 = time.time() + log.error('Failed to connect to helm chart repo ' + self.repo_url + ' after ' + str( + settings.HTTP_RETRY) + ' retries and ' + str(t1 - t0) + ' seconds. (Caused by: ' + err.__class__.__name__ + ')') + else: + self.__is_repo_ready__ = True + + + + def is_repo_ready(self): + return self.__is_repo_ready__ + + def get_index(self): + try: + response = self.retry_session.get(self.repo_url +'/index.yaml', timeout=settings.HTTP_TIME_OUT) + except Exception as err: + raise RepoManagerError("Get helm repo index failed. (Caused by: " + str(err)+")", 500) + else: + if response.status_code != 200: + raise RepoManagerError("Get helm repo index failed. Helm repo return status code: {}, {}".format(response.status_code, response.content.decode("utf-8"))) + return yaml.load(response.content, Loader=yaml.FullLoader) + + def upload_chart(self, xapp): + + xapp_chart_index = self.get_index() + found_xapp = False + for chart in xapp_chart_index.get('entries', {}).get(xapp.chart_name, []): + if chart['version'] == xapp.chart_version: + found_xapp = True + + if found_xapp: + if settings.ALLOW_REDEPLOY: + self.delete_chart(xapp) + else: + raise RepoManagerError("Upload helm chart failed. Redeploy xApp helm chart is not allowed.", 400) + + headers = {'Content-Type': 'application/json'} + chart_package_path = xapp.chart_workspace_path + '/' + xapp.chart_name + '-' + xapp.chart_version + '.tgz' + with open(chart_package_path, mode='rb') as filereader: + fileContent = filereader.read() + + try: + response = self.retry_session.post(self.repo_url +'/api/charts', headers=headers, data=fileContent, timeout=settings.HTTP_TIME_OUT) + except Exception as err: + raise RepoManagerError("Upload helm chart failed. (Caused by: " + str(err) + ")", 500) + else: + if response.status_code != 201: + raise RepoManagerError("Upload helm chart failed. Helm repo return status code: "+ str(response.status_code) +" "+ response.content.decode("utf-8"), response.status_code) + + + def delete_chart(self, xapp): + + headers = {'Content-Type': 'application/json'} + + try: + response = self.retry_session.delete(self.repo_url +'/api/charts/' + xapp.chart_name + + '/' + xapp.chart_version, headers=headers, timeout=settings.HTTP_TIME_OUT) + except Exception as err: + raise RepoManagerError("Delete helm chart failed." + str(err), 500) + else: + if response.status_code != 200: + response_dict = json.loads(response.content) + if xapp.chart_name+'-'+xapp.chart_version+'.tgz' not in response_dict["error"]: + raise RepoManagerError("Delete helm chart failed. Helm repo return status code:" + str(response.status_code) +" "+ response.content.decode("utf-8"),response.status_code) + + + def get_xapp_list(self, xapp_chart_name=None): + + request_path = self.repo_url+'/api/charts' + if xapp_chart_name: + request_path = request_path +'/' + xapp_chart_name + + try: + response = self.retry_session.get(request_path, timeout=settings.HTTP_TIME_OUT) + except Exception as err: + raise RepoManagerError("Get xApp charts list failed. (Caused by: " + str(err)+")", 500) + else: + if response.status_code != 200: + raise RepoManagerError("Get xApp charts list failed. Helm repo return status code: "+ str(response.status_code) +" "+ response.content.decode("utf-8"), response.status_code) + return json.loads(response.content) + + + def download_xapp_chart(self, xapp_chart_name, version): + + request_path = self.repo_url+'/charts/'+xapp_chart_name+'-'+version+'.tgz' + try: + response = self.retry_session.get(request_path, timeout=settings.HTTP_TIME_OUT) + except Exception as err: + raise RepoManagerError("Download helm chart failed. (Caused by: " + str(err)+")", 500) + else: + if response.status_code != 200: + raise RepoManagerError( "Download helm chart failed. Helm repo return status code: "+ str(response.status_code) +" "+ response.content.decode("utf-8"), response.status_code) + return response.content + + + + +repo_manager = repoManager(settings.CHART_REPO_URL) diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/Chart.yaml b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/Chart.yaml new file mode 100644 index 0000000..2fb8da8 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/Chart.yaml @@ -0,0 +1,20 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +apiVersion: v1 +appVersion: "1.0" +description: Standard xApp Helm Chart +name: xapp-std +version: 0.0.1 diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/_helpers.tpl b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/_helpers.tpl new file mode 100644 index 0000000..d492ff8 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/_helpers.tpl @@ -0,0 +1,82 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "ricxapp.name" -}} + {{- default .Chart.Name .Values.name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "ricxapp.fullname" -}} + {{- $name := ( include "ricxapp.name" . ) -}} + {{- $fullname := ( printf "%s-%s" .Release.Namespace $name ) -}} + {{- default $fullname .Values.fullname | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "ricxapp.chart" -}} + {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "ricxapp.namespace" -}} + {{- default .Release.Namespace .Values.nsPrefix -}} +{{- end -}} + +{{- define "ricxapp.servicename.rmr" -}} + {{- $name := ( include "ricxapp.fullname" . ) -}} + {{- printf "service-%s-rmr" $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "ricxapp.servicename.http" -}} + {{- $name := ( include "ricxapp.fullname" . ) -}} + {{- printf "service-%s-http" $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "ricxapp.configmapname" -}} + {{- $name := ( include "ricxapp.fullname" . ) -}} + {{- printf "configmap-%s" $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "ricxapp.servicename" -}} + {{- $name := ( include "ricxapp.fullname" . ) -}} + {{- printf "service-%s" $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "ricxapp.deploymentname" -}} + {{- $name := ( include "ricxapp.fullname" . ) -}} + {{- printf "deployment-%s" $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + + +{{- define "ricxapp.containername" -}} + {{- $name := ( include "ricxapp.fullname" . ) -}} + {{- printf "container-%s" $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} + + +{{- define "ricxapp.imagepullsecret" -}} + {{- $reponame := .repo -}} + {{- $postfix := $reponame | replace "." "-" | replace ":" "-" | replace "/" "-" | trunc 63 | trimSuffix "-" -}} + {{- printf "secret-%s" $postfix -}} +{{- end -}} diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/appconfig.yaml b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/appconfig.yaml new file mode 100644 index 0000000..03bc7e8 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/appconfig.yaml @@ -0,0 +1,21 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################' + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "ricxapp.configmapname" . }}-appconfig +data: diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/appenv.yaml b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/appenv.yaml new file mode 100644 index 0000000..3ab0003 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/appenv.yaml @@ -0,0 +1,32 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "ricxapp.configmapname" . }}-appenv +data: + {{- if .Values.appenv }} + {{- toYaml .Values.appenv | nindent 2 }} + {{- end }} + RMR_RTG_SVC: "4561" + RMR_SRC_ID: {{ include "ricxapp.servicename.rmr" . }}.{{ include "ricxapp.namespace" . }} + XAPP_DESCRIPTOR_PATH: {{ .Values.appconfig.path }} + DBAAS_SERVICE_HOST: "{{ .Values.ricplt.dbaasService }}" + DBAAS_SERVICE_PORT: "6379" + DBAAS_PORT_6379_TCP_ADDR: "{{ .Values.ricplt.dbaasService }}" + DBAAS_PORT_6379_TCP_PORT: "6379" + SERVICE_METRICSDB_HOST: "{{ .Values.ricplt.metricsdbService }}" + SERVICE_METRICSDB_PORT: "8086" diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/deployment.yaml b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/deployment.yaml new file mode 100644 index 0000000..3c4c052 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/deployment.yaml @@ -0,0 +1,117 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################' +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "ricxapp.fullname" . }} + labels: + app: {{ include "ricxapp.namespace" . }}-{{ include "ricxapp.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app: {{ include "ricxapp.namespace" . }}-{{ include "ricxapp.name" . }} + release: {{ .Release.Name }} + template: + metadata: + {{- if .Values.annotations }} + annotations: + {{- range $key, $value := .Values.annotations }} + {{- if kindIs "string" $value }} + {{ $key }}: {{ $value | toPrettyJson }} + {{- else }} + {{ $key }}: | +{{- $value | toPrettyJson | nindent 10 }} + {{- end }} + {{- end -}} + {{ end }} + labels: + app: {{ include "ricxapp.namespace" . }}-{{ include "ricxapp.name" . }} + kubernetes_name: {{ include "ricxapp.namespace" . }}_{{ include "ricxapp.name" . }} + release: {{ .Release.Name }} + spec: + hostname: {{ include "ricxapp.name" . }} + imagePullSecrets: +{{- range .Values.containers }} + - name: {{ .image.registry | replace "." "-" | replace ":" "-" | replace "/" "-" | trunc 63 | trimSuffix "-" }} +{{- end }} + volumes: + - name: config-volume + configMap: + name: {{ include "ricxapp.configmapname" . }}-appconfig + {{- if .Values.controls.fileStorage }} + - name: diskwriter + hostPath: + path: {{ .Values.storage.mountPath }} + type: DirectoryOrCreate + {{- end }} + containers: +{{- $containers := .Values.containers }} +{{- $ports := .Values.messaging.ports }} +{{- range $container := $containers }} + {{- $portlist := list }} + {{- range $port := $ports }} + {{- if eq $port.container $container.name }} + {{- $portlist = append $portlist $port }} + {{- end }} + {{- end }} + - name: {{ $container.name }} + image: "{{ $container.image.registry }}/{{ $container.image.name }}:{{ $container.image.tag }}" + {{- if $container.command }} + command: [ + {{- range $command := $container.command -}} + {{- $command | quote -}} + {{- if ne $command (last $container.command) }} + {{- print ", " -}} + {{- end -}} + {{- end -}} + {{- print "]" -}} + {{- end}} + {{- if $container.args }} + args: [ + {{- range $arg := $container.args -}} + {{- $arg | quote -}} + {{- if ne $arg (last $container.args) }} + {{- print ", " -}} + {{- end -}} + {{- end -}} + {{- print "]" -}} + {{- end}} + imagePullPolicy: {{ $.Values.image_pull_policy }} + {{- if $portlist }} + ports: + {{- range $port := $portlist }} + - name: {{ $port.name }} + containerPort: {{ $port.port }} + protocol: TCP + {{- end }} + {{- end }} +{{- end }} + volumeMounts: + - name: config-volume + mountPath: {{ .Values.appconfig.path }} + {{- if .Values.controls.fileStorage }} + - name: diskwriter + mountPath: {{ .Values.storage.mountPath }} + {{- end }} + envFrom: + - configMapRef: + name: {{ include "ricxapp.configmapname" . }}-appenv + - configMapRef: + name: dbaas-appconfig diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/service-http.yaml b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/service-http.yaml new file mode 100644 index 0000000..32b7e58 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/service-http.yaml @@ -0,0 +1,43 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# Copyright (c) 2019 Nokia. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +{{- $topCtx := . }} +{{- range .Values.messaging.ports }} +{{- if contains "rmr" .name }} +{{ else }} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ include "ricxapp.servicename" $topCtx }}-{{ .name }} + namespace: {{ include "ricxapp.namespace" $topCtx }} + labels: + app: {{ include "ricxapp.namespace" $topCtx }}-{{ include "ricxapp.name" $topCtx }} + chart: {{ $topCtx.Chart.Name }}-{{ $topCtx.Chart.Version | replace "+" "_" }} + release: {{ $topCtx.Release.Name }} + heritage: {{ $topCtx.Release.Service }} +spec: + type: ClusterIP + ports: + - port: {{ .port }} + targetPort: {{ .name }} + protocol: TCP + name: {{ .name }} + selector: + app: {{ include "ricxapp.namespace" $topCtx }}-{{ include "ricxapp.name" $topCtx }} + release: {{ $topCtx.Release.Name }} +{{- end }} +{{- end }} diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/service-rmr.yaml b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/service-rmr.yaml new file mode 100644 index 0000000..8c7b656 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/templates/service-rmr.yaml @@ -0,0 +1,50 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# Copyright (c) 2019 Nokia. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +apiVersion: v1 +kind: Service +metadata: + name: {{ include "ricxapp.servicename.rmr" . }} + namespace: {{ include "ricxapp.namespace" . }} + labels: + app: {{ include "ricxapp.namespace" . }}-{{ include "ricxapp.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: ClusterIP + ports: + {{- range .Values.messaging.ports }} + {{- if eq .name "rmrdata" }} + - port: {{ .port }} + targetPort: {{ .name }} + protocol: TCP + name: {{ .name }} + {{- end }} + {{- end }} + {{- range .Values.messaging.ports }} + {{- if contains "rmr" .name }} {{- if ne .name "rmrdata" }} + - port: {{ .port }} + targetPort: {{ .name }} + protocol: TCP + name: {{ .name }} + {{- end }} + {{- end }} + {{- end }} + selector: + app: {{ include "ricxapp.namespace" . }}-{{ include "ricxapp.name" . }} + release: {{ .Release.Name }} diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/values.yaml b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/values.yaml new file mode 100644 index 0000000..12845d0 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/resources/xapp-std/values.yaml @@ -0,0 +1,60 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################' +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +ricplt: +# This section is reserved for values imported from RIC Platform charts + dbaasService: "service-ricplt-dbaas-tcp.ricplt.svc.cluster.local" + metricsdbService: "service-metricsdb.ricplt.svc.cluster.local" + pltIngressUrl: "ricplt-entry" + xappIngressUrl: "ricxapp-entry" + + appmgrRMRService: "service-ricplt-appmgr-rmr.ricplt.svc.cluster.local" + e2mgrRMRService: "service-ricplt-e2mgr-rmr.ricplt.svc.cluster.local" + e2termRMRService: "service-ricplt-e2term-rmr.ricplt.svc.cluster.local" + rtmgrRMRService: "service-ricplt-rtmgr-rmr.ricplt.svc.cluster.local" + a1mediatorRMRService: "service-ricplt-a1mediator-rmr.ricplt.svc.cluster.local" + +# Location of the xApp config files injected from the xApp descriptor +appconfig: + path: /opt/ric/config + +# Location of volume based on HostPath of type Directory +storage: + mountPath: /home/kpm/storage + +# Number of replica +replicaCount: 1 + +# Image pulling policy +image_pull_policy: IfNotPresent + +# Environment variables that will be injected +appenv: {} + +# Liveness probe definition. If empty, liveness probe will be disabled +livenessProbe: {} + +# Readiness probe definition. If empty, readiness probe will be disabled +readinessProbe: {} + +# Instance name. If empty, chart name will be used +name: {} + +# Full instance name. If empty, full name will be constructed from name +fullname: {} + +############### The following are from the xApp descriptor ############### diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/__init__.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/cli.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/cli.py new file mode 100755 index 0000000..03d0827 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/cli.py @@ -0,0 +1,171 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + + +import fire +import json +import os +import pkg_resources +import logging.config +import operator + +from xapp_onboarder.api.charts import get_charts_list, download_chart_package, download_values_yaml +from xapp_onboarder.repo_manager.repo_manager import repo_manager +from xapp_onboarder.api.onboard import onboard, download_config_and_schema_and_onboard +from xapp_onboarder.helm_controller.xApp_builder import xApp, xAppError + +log = logging.getLogger(__name__) + + +class cli(): + """This is the cli tool for xapp_onboarder.""" + + def get_charts_list(self, xapp_chart_name=''): + """Get the list of all onboarded xApps. To show all version of an xApp, use --xapp_chart_name to + specify the name.""" + message, status = get_charts_list(xapp_chart_name=xapp_chart_name) + + return json.dumps(message, indent=4, sort_keys=True) + + def download_helm_chart(self, xapp_chart_name, version, output_path="."): + """Download the helm chart package of an xApp. Specify xApp name with --xapp_chart_name, version with + --version. Optionally use --output_path to specify the path to save the file.""" + content, status = download_chart_package(xapp_chart_name=xapp_chart_name, version=version) + + if status != 200: + return json.dumps(content, indent=4, sort_keys=True) + + try: + if os.path.isabs(output_path): + path = output_path + '/' + xapp_chart_name + '-' + version + '.tgz' + else: + path = os.getcwd() + '/' + output_path + '/' + xapp_chart_name + '-' + version + '.tgz' + + if not os.path.exists(os.path.dirname(path)): + os.makedirs(os.path.dirname(path)) + + with open(path, 'wb') as outputfile: + outputfile.write(content) + except Exception as err: + return err + return {"status": "OK"} + + def download_values_yaml(self, xapp_chart_name, version, output_path="."): + """Download the values.yaml file that can be used to override parameters at runtime. Specify xApp name with + --xapp_chart_name, version with --version. Optionally use --output_path to specify the path to save the file. + """ + content, status = download_values_yaml(xapp_chart_name=xapp_chart_name, version=version) + + if status != 200: + return json.dumps(content, indent=4, sort_keys=True) + + try: + if os.path.isabs(output_path): + path = output_path + '/values.yaml' + else: + path = os.getcwd() + '/' + output_path + '/values.yaml' + + if not os.path.exists(os.path.dirname(path)): + os.makedirs(os.path.dirname(path)) + + with open(path, 'wb') as outputfile: + outputfile.write(content) + except Exception as err: + return err + return {"status": "OK"} + + def health(self): + """Health check. If xapp onboarder is not ready, it return false.""" + return repo_manager.is_repo_ready() + + def install(self, xapp_chart_name, version, namespace,overridefile="" ): + """Installing the xapp using the charts name and version,optionally can provide the yaml file to override""" + resp = self.download_helm_chart(xapp_chart_name, version) + + status = xApp.install_chart_package(xapp_chart_name=xapp_chart_name, version=version, namespace=namespace,overridefile=overridefile) + if status == 1: + return {"status": "OK"} + else: + return {"status": "NOT_OK"} + + def uninstall(self, xapp_chart_name ,namespace): + """Uninstalling the xapp using the charts name""" + status = xApp.uninstall_chart_package(xapp_chart_name=xapp_chart_name, namespace=namespace) + if status == 1: + return {"status": "OK"} + else: + print("No Xapp to uninstall") + return {"status": "NOT_OK"} + + def upgrade(self, xapp_chart_name, old_version , new_version, namespace): + """Upgrading the xapp to the new version specified""" + resp = self.uninstall(xapp_chart_name, namespace) + if resp["status"] == "OK": + status = self.install(xapp_chart_name, new_version, namespace) + if status["status"] == "OK": + return {"status": "OK"} + else: + self.uninstall(xapp_chart_name, namespace) + self.install(xapp_chart_name, old_version, namespace) + return {"status": "NOT_OK"} + else: + return {"status": "NOT_OK"} + + def rollback(self, xapp_chart_name, new_version , old_version, namespace): + """Rollback the xapp to the version specified""" + + resp = self.upgrade(xapp_chart_name, new_version, old_version, namespace) + + if resp["status"] == "OK": + return {"status": "OK"} + else: + return {"status": "NOT_OK"} + + def onboard(self, config_file_path, shcema_file_path="../../../docs/xapp_onboarder/guide/embedded-schema.json"): + """Onboard an xApp with local descriptor files. Use --config_file_path to specify the path to + config-file.json file, --shcema_file_path to specify the path to schema.json file. """ + try: + with open(config_file_path, 'r') as inputfile: + config_file = json.load(inputfile) + + with open(shcema_file_path, 'r') as inputfile: + schema_file = json.load(inputfile) + + except Exception as err: + return err + + message, status = onboard(config_file, schema_file) + return json.dumps(message, indent=4, sort_keys=True) + + def download_and_onboard(self, config_file_url, schema_file_url): + """Onboard an xApp with URLs pointing to the xApp descriptor files. Use --config_file_url to specify the + config-file.json URL, --schema_file_url to specify the schema.json URL. """ + message, status = download_config_and_schema_and_onboard(config_file_url, schema_file_url) + return json.dumps(message, indent=4, sort_keys=True) + + def health_check(self, xapp_chart_name ,namespace): + """status check of the xapp using the charts name""" + xApp.health_check_xapp(xapp_chart_name=xapp_chart_name, namespace=namespace) + + +def run(): + logger_config = pkg_resources.resource_filename("xapp_onboarder", 'logging.conf') + logging.config.fileConfig(logger_config) + fire.Fire(cli(), name='xapp_onboarder') + +if __name__ == "__main__": + + run() diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/server.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/server.py new file mode 100644 index 0000000..838aba7 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/server.py @@ -0,0 +1,61 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ +import pkg_resources +import logging.config +from xapp_onboarder.server import settings +import logging +from flask import Flask, Blueprint +from xapp_onboarder.api.api_reference import api +from xapp_onboarder.api.endpoints.onboard_ep import ns as onboard_ns +from xapp_onboarder.api.endpoints.health_check_ep import ns as health_check_ns +from xapp_onboarder.api.endpoints.charts_ep import ns as charts_ns +from xapp_onboarder.helm_controller.artifacts_manager import artifacts_manager + +log = logging.getLogger(__name__) + +class server(object): + def __init__(self): + self.app = Flask(__name__) + self.app.config['SWAGGER_UI_DOC_EXPANSION'] = settings.RESTPLUS_SWAGGER_UI_DOC_EXPANSION + self.app.config['RESTPLUS_VALIDATE'] = settings.RESTPLUS_VALIDATE + self.app.config['RESTPLUS_MASK_SWAGGER'] = settings.RESTPLUS_MASK_SWAGGER + self.app.config['ERROR_404_HELP'] = settings.RESTPLUS_ERROR_404_HELP + self.api = api + self.api_bp = Blueprint('api', __name__, url_prefix='/api/v1') + self.api.init_app(self.api_bp) + self.api.add_namespace(onboard_ns) + self.api.add_namespace(health_check_ns) + self.api.add_namespace(charts_ns) + self.app.register_blueprint(self.api_bp) + self.artifacts_manager = artifacts_manager() + self.artifacts_manager.start() + + def run(self): + log.info('>>>>> Starting development xapp_onboarder at http://{}/api/v1/ <<<<<'.format(self.app.config['SERVER_NAME'])) + self.app.run(debug=settings.FLASK_DEBUG, host='0.0.0.0', port=settings.FLASK_PORT) + + + + + +def main(): + logger_config = pkg_resources.resource_filename("xapp_onboarder", 'logging.conf') + logging.config.fileConfig(logger_config) + server().run() + +if __name__ == "__main__": + main() + diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/settings.py b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/settings.py new file mode 100644 index 0000000..04100a5 --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/server/settings.py @@ -0,0 +1,40 @@ +################################################################################ +# Copyright (c) 2020 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +################################################################################ + +import os + +# Flask settings +FLASK_PORT = os.environ.get('FLASK_PORT') or '8888' +FLASK_DEBUG = os.environ.get('FLASK_DEBUG') or True # Do not use debug mode in production + +# Flask-Restplus settings +RESTPLUS_SWAGGER_UI_DOC_EXPANSION = os.environ.get('RESTPLUS_SWAGGER_UI_DOC_EXPANSION') or 'list' +RESTPLUS_VALIDATE = os.environ.get('RESTPLUS_VALIDATE') or True +RESTPLUS_MASK_SWAGGER = os.environ.get('RESTPLUS_MASK_SWAGGER') or False +RESTPLUS_ERROR_404_HELP = os.environ.get('RESTPLUS_ERROR_404_HELP') or False + +# xapp_onboarder settings +CHART_WORKSPACE_PATH = os.environ.get('CHART_WORKSPACE_PATH') or '/tmp/xapp_onboarder' +CHART_REPO_URL = os.environ.get('CHART_REPO_URL') or 'http://0.0.0.0:8080' +HTTP_TIME_OUT = int(os.environ.get('HTTP_TIME_OUT') or 10) +HELM_VERSION = os.environ.get('HELM_VERSION') or '2.12.3' +HTTP_RETRY = os.environ.get('HTTP_RETRY') or 3 +ALLOW_REDEPLOY = os.environ.get('ALLOW_REDEPLOY') or True +CHART_WORKSPACE_SIZE = os.environ.get('CHART_WORKSPACE_SIZE') or '500 MB' +MOCK_TEST_MODE = os.environ.get('MOCK_TEST_MODE') or False +MOCK_TEST_HELM_REPO_TEMP_DIR = os.environ.get('MOCK_TEST_HELM_REPO_TEMP_DIR') or '/tmp/mock_helm_repo' + + diff --git a/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/xapp-onboarder-api.yaml b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/xapp-onboarder-api.yaml new file mode 100644 index 0000000..71d599d --- /dev/null +++ b/xapp_orchestrater/dev/xapp_onboarder/xapp_onboarder/xapp-onboarder-api.yaml @@ -0,0 +1,329 @@ +# ================================================================================== +# Copyright (c) 2020 AT&T Intellectual Property. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ================================================================================== +openapi: 3.0.1 +info: + title: RIC xApp onboarder API + description: APIs to manage the xApp helm charts + version: "1.0" +servers: +- url: /api/v1 +tags: +- name: onboard + description: onboard xApps +- name: health + description: health check +- name: charts + description: Managing helm charts +paths: + /charts: + get: + tags: + - charts + summary: Returns the list of xApp helm charts that have been onboarded + operationId: get_charts_list + responses: + 200: + description: Get helm chart list OK + content: + application/json: + schema: + type: object + 500: + description: Get helm chart list failed + content: + application/json: + schema: + $ref: '#/components/schemas/error_message' + + /charts/xapp/{xapp_chart_name}: + get: + tags: + - charts + summary: Returns the helm chart for the specified xApp + operationId: get_version_list + parameters: + - name: xapp_chart_name + in: path + required: true + schema: + type: string + responses: + 200: + description: Get helm chart OK + content: + application/json: + schema: + type: object + 500: + description: Get helm chart failed + content: + application/json: + schema: + $ref: '#/components/schemas/error_message' + + /charts/xapp/{xapp_chart_name}/ver/{version}: + get: + tags: + - charts + summary: Returns the helm chart for the specified xApp and version + operationId: get_charts_fetcher + parameters: + - name: xapp_chart_name + in: path + required: true + schema: + type: string + - name: version + in: path + required: true + schema: + type: string + responses: + 200: + description: Get helm chart package OK + content: + application/json: + schema: + type: object + 500: + description: Get helm chart package failed + content: + application/gzip: + schema: + $ref: '#/components/schemas/error_message' + + /charts/xapp/{xapp_chart_name}/ver/{version}/values.yaml: + get: + tags: + - charts + summary: Returns the helm values + description: yaml file of the specified xApp and version. + operationId: get_values_yaml_fetcher + parameters: + - name: xapp_chart_name + in: path + required: true + schema: + type: string + - name: version + in: path + required: true + schema: + type: string + responses: + 200: + description: Get helm chart values.yaml OK + content: + application/json: + schema: + type: object + 500: + description: Get helm chart values.yaml failed + content: + text/x-yaml: + schema: + $ref: '#/components/schemas/error_message' + + /health: + get: + tags: + - health + summary: Returns the health condition of the xApp onboarder + operationId: get_health_check + responses: + 200: + description: Health check OK + content: + application/json: + schema: + $ref: '#/components/schemas/status' + 500: + description: xApp onboarder is not ready + content: + application/json: + schema: + $ref: '#/components/schemas/error_message' + + /onboard: + post: + tags: + - onboard + summary: Onboard xApp using the xApp descriptor and schema in the request body + operationId: post_onboardx_apps + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/descriptor' + required: true + responses: + 201: + description: xApp onboard successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/status' + 400: + description: xApp descriptor format error + content: + application/json: + schema: + $ref: '#/components/schemas/error_message' + 500: + description: xApp onboarder is not ready + content: + application/json: + schema: + $ref: '#/components/schemas/error_message' + x-codegen-request-body-name: payload + + /onboard/download: + post: + tags: + - onboard + summary: Onboard xApp after downloading the xApp descriptor and schema from + the URLs + operationId: post_onboardx_apps_download + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/descriptor_remote' + required: true + responses: + 201: + description: xApp onboard successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/status' + 400: + description: xApp descriptor format error + content: + application/json: + schema: + $ref: '#/components/schemas/error_message' + 500: + description: xApp onboarder is not ready + content: + application/json: + schema: + $ref: '#/components/schemas/error_message' + x-codegen-request-body-name: payload + +components: + schemas: + descriptor: + required: + - config-file.json + type: object + properties: + config-file.json: + $ref: '#/components/schemas/config' + controls-schema.json: + type: object + properties: {} + description: Controls schema file body + config: + required: + - version + - name + - containers + type: object + properties: + name: + type: string + description: Name of the xApp chart + version: + pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ + type: string + description: Version of the xApp chart + containers: + type: object + properties: {} + description: list of containers that the xApp will run + controls: + type: object + properties: {} + description: internal configuration of the xApp + metrics: + type: object + properties: {} + description: metrics provided by the xApp + messaging: + type: object + properties: {} + description: communication ports for each containers + livenessProbe: + type: object + properties: {} + description: liveness probe + readinessProbe: + type: object + properties: {} + description: readiness probe + rmr: + type: object + properties: {} + description: rmr info + error_message: + required: + - error_message + - error_source + - status + type: object + properties: + error_source: + type: string + description: source of the error + error_message: + type: string + description: source of the error + status: + type: string + description: http response message + status: + required: + - status + type: object + properties: + status: + type: string + description: status of the service + descriptor_remote: + required: + - config-file.json_url + type: object + properties: + config-file.json_url: + type: string + description: URL to download the config-file.json file + controls-schema.json_url: + type: string + description: URL to download the controls schema.json file + responses: + MaskError: + description: When any error occurs on mask + content: + application/json: + schema: + type: object + ParseError: + description: When a mask can't be parsed + content: + application/json: + schema: + type: object diff --git a/xapp_orchestrater/xapp_orchestrater.tgz b/xapp_orchestrater/xapp_orchestrater.tgz deleted file mode 100644 index 40d2c9a2476e7104dc48427d1fef9d7f47fe48ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359021 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%0Dx~G0Pyms%J=Ax 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 ?_hzxTf|9Qq@G3;P?N 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 S_1$^^g5HA2#)H&CgZw`gtEe~t -- 2.16.6