From 9116eb166b79492063251f649e1b3ce9441113d4 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 21 May 2016 14:19:06 -0700 Subject: [PATCH 001/114] Version bump to 0.21.0.dev0 --- homeassistant/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/const.py b/homeassistant/const.py index d9396188487..abb7bc3aeb2 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -1,7 +1,7 @@ # coding: utf-8 """Constants used by Home Assistant components.""" -__version__ = "0.20.0.dev0" +__version__ = "0.21.0.dev0" REQUIRED_PYTHON_VER = (3, 4) PLATFORM_FORMAT = '{}.{}' From d0320a9099b68895deca7c31c56e03dcc6ce662a Mon Sep 17 00:00:00 2001 From: Josh Wright Date: Mon, 9 May 2016 21:09:38 -0400 Subject: [PATCH 002/114] WIP: Add WSGI stack This is a fair chunk of the way towards adding a WSGI compatible stack for Home Assistant. The majot missing piece is auth/sessions. I was undecided on implementing the current auth mechanism, or adding a new mechanism (likely based on Werkzeug's signed cookies). Plenty of TODOs... --- homeassistant/components/api.py | 249 +++++++++++++++++- homeassistant/components/frontend/__init__.py | 62 +++++ .../components/frontend/templates/index.html | 51 ++++ homeassistant/components/wsgi.py | 201 ++++++++++++++ requirements_all.txt | 9 + 5 files changed, 571 insertions(+), 1 deletion(-) create mode 100644 homeassistant/components/frontend/templates/index.html create mode 100644 homeassistant/components/wsgi.py diff --git a/homeassistant/components/api.py b/homeassistant/components/api.py index 3b2972a702c..fbfcce7d50d 100644 --- a/homeassistant/components/api.py +++ b/homeassistant/components/api.py @@ -9,6 +9,8 @@ import logging import re import threading +from werkzeug.exceptions import NotFound, BadRequest + import homeassistant.core as ha import homeassistant.remote as rem from homeassistant.bootstrap import ERROR_LOG_FILENAME @@ -23,9 +25,10 @@ from homeassistant.const import ( from homeassistant.exceptions import TemplateError from homeassistant.helpers.state import TrackStates from homeassistant.helpers import template +from homeassistant.components.wsgi import HomeAssistantView DOMAIN = 'api' -DEPENDENCIES = ['http'] +DEPENDENCIES = ['http', 'wsgi'] STREAM_PING_PAYLOAD = "ping" STREAM_PING_INTERVAL = 50 # seconds @@ -99,14 +102,38 @@ def setup(hass, config): hass.http.register_path('POST', URL_API_TEMPLATE, _handle_post_api_template) + hass.wsgi.register_view(APIStatusView) + hass.wsgi.register_view(APIConfigView) + hass.wsgi.register_view(APIDiscoveryView) + hass.wsgi.register_view(APIEntityStateView) + hass.wsgi.register_view(APIStatesView) + hass.wsgi.register_view(APIEventListenersView) + hass.wsgi.register_view(APIServicesView) + hass.wsgi.register_view(APIDomainServicesView) + return True +class APIStatusView(HomeAssistantView): + url = URL_API + name = "api:status" + + def get(self, request): + return {'message': 'API running.'} + + def _handle_get_api(handler, path_match, data): """Render the debug interface.""" handler.write_json_message("API running.") +class APIEventStream(HomeAssistantView): + url = "" + name = "" + + # TODO Implement this... + + def _handle_get_api_stream(handler, path_match, data): """Provide a streaming interface for the event bus.""" gracefully_closed = False @@ -177,11 +204,28 @@ def _handle_get_api_stream(handler, path_match, data): hass.bus.remove_listener(MATCH_ALL, forward_events) +class APIConfigView(HomeAssistantView): + url = URL_API_CONFIG + name = "api:config" + + def get(self, request): + return self.hass.config.as_dict() + + def _handle_get_api_config(handler, path_match, data): """Return the Home Assistant configuration.""" handler.write_json(handler.server.hass.config.as_dict()) +class APIDiscoveryView(HomeAssistantView): + url = URL_API_DISCOVERY_INFO + name = "api:discovery" + + def get(self, request): + # TODO + return {} + + def _handle_get_api_discovery_info(handler, path_match, data): needs_auth = (handler.server.hass.config.api.api_password is not None) params = { @@ -193,11 +237,69 @@ def _handle_get_api_discovery_info(handler, path_match, data): handler.write_json(params) +class APIStatesView(HomeAssistantView): + url = URL_API_STATES + name = "api:states" + + def get(self, request): + return self.hass.states.all() + + def _handle_get_api_states(handler, path_match, data): """Return a dict containing all entity ids and their state.""" handler.write_json(handler.server.hass.states.all()) +class APIEntityStateView(HomeAssistantView): + url = "/api/states/" + name = "api:entity-state" + + def get(self, request, entity_id): + state = self.hass.states.get(entity_id) + if state: + return state + else: + raise NotFound("State does not exist.") + + def post(self, request, entity_id): + try: + new_state = request.values['state'] + except KeyError: + raise BadRequest("state not specified") + + attributes = request.values.get('attributes') + + is_new_state = self.hass.states.get(entity_id) is None + + # Write state + self.hass.states.set(entity_id, new_state, attributes) + + # Read the state back for our response + msg = json.dumps( + self.hass.states.get(entity_id).as_dict(), + sort_keys=True, + cls=rem.JSONEncoder + ).encode('UTF-8') + + resp = Response(msg, mimetype="application/json") + + if is_new_state: + resp.status_code = HTTP_CREATED + + resp.headers.add('Location', URL_API_STATES_ENTITY.format(entity_id)) + + return resp + + def delete(self, request, entity_id): + if self.hass.states.remove(entity_id): + return {"message:" "Entity removed"} + else: + return { + "message": "Entity not found", + "status_code": HTTP_NOT_FOUND, + } + + def _handle_get_api_states_entity(handler, path_match, data): """Return the state of a specific entity.""" entity_id = path_match.group('entity_id') @@ -257,11 +359,40 @@ def _handle_delete_state_entity(handler, path_match, data): "Entity removed", HTTP_OK) +class APIEventListenersView(HomeAssistantView): + url = URL_API_EVENTS + name = "api:event-listeners" + + def get(self, request): + return events_json(self.hass) + + def _handle_get_api_events(handler, path_match, data): """Handle getting overview of event listeners.""" handler.write_json(events_json(handler.server.hass)) +class APIEventView(HomeAssistantView): + url = '/api/events/' + name = "api:event" + + def post(self, request, event_type): + event_data = request.values + + # Special case handling for event STATE_CHANGED + # We will try to convert state dicts back to State objects + if event_type == ha.EVENT_STATE_CHANGED and event_data: + for key in ('old_state', 'new_state'): + state = ha.State.from_dict(event_data.get(key)) + + if state: + event_data[key] = state + + self.hass.bus.fire(event_type, request.values, ha.EventOrigin.remote) + + return {"message": "Event {} fired.".format(event_type)} + + def _handle_api_post_events_event(handler, path_match, event_data): """Handle firing of an event. @@ -292,11 +423,30 @@ def _handle_api_post_events_event(handler, path_match, event_data): handler.write_json_message("Event {} fired.".format(event_type)) +class APIServicesView(HomeAssistantView): + url = URL_API_SERVICES + name = "api:services" + + def get(self, request): + return services_json(self.hass) + + def _handle_get_api_services(handler, path_match, data): """Handle getting overview of services.""" handler.write_json(services_json(handler.server.hass)) +class APIDomainServicesView(HomeAssistantView): + url = "/api/services//" + name = "api:domain-services" + + def post(self, request): + with TrackStates(self.hass) as changed_states: + self.hass.services.call(domain, service, request.values, True) + + return changed_states + + # pylint: disable=invalid-name def _handle_post_api_services_domain_service(handler, path_match, data): """Handle calling a service. @@ -312,6 +462,68 @@ def _handle_post_api_services_domain_service(handler, path_match, data): handler.write_json(changed_states) +class APIEventForwardingView(HomeAssistantView): + url = URL_API_EVENT_FORWARD + name = "api:event-forward" + + def post(self, request): + try: + host = request.values['host'] + api_password = request.values['api_password'] + except KeyError: + return { + "message": "No host or api_password received.", + "status_code": HTTP_BAD_REQUEST, + } + + try: + port = int(data['port']) if 'port' in data else None + except ValueError: + return { + "message": "Invalid value received for port.", + "status_code": HTTP_UNPROCESSABLE_ENTITY, + } + + api = rem.API(host, api_password, port) + + if not api.validate_api(): + return { + "message": "Unable to validate API.", + "status_code": HTTP_UNPROCESSABLE_ENTITY, + } + + if self.hass.event_forwarder is None: + self.hass.event_forwarder = rem.EventForwarder(self.hass) + + self.hass.event_forwarder.connect(api) + + return {"message": "Event forwarding setup."} + + def delete(self, request): + try: + host = request.values['host'] + except KeyError: + return { + "message": "No host received.", + "status_code": HTTP_BAD_REQUEST, + } + + try: + port = int(data['port']) if 'port' in data else None + except ValueError: + return { + "message": "Invalid value received for port", + "status_code": HTTP_UNPROCESSABLE_ENTITY, + } + + if self.hass.event_forwarder is not None: + api = rem.API(host, None, port) + + self.hass.event_forwarder.disconnect(api) + + return {"message": "Event forwarding cancelled."} + + # pylint: disable=invalid-name def _handle_post_api_event_forward(handler, path_match, data): """Handle adding an event forwarding target.""" @@ -369,17 +581,43 @@ def _handle_delete_api_event_forward(handler, path_match, data): handler.write_json_message("Event forwarding cancelled.") +class APIComponentsView(HomeAssistantView): + url = URL_API_COMPONENTS + name = "api:components" + + def get(self, request): + return self.hass.config.components + + def _handle_get_api_components(handler, path_match, data): """Return all the loaded components.""" handler.write_json(handler.server.hass.config.components) +class APIErrorLogView(HomeAssistantView): + url = URL_API_ERROR_LOG + name = "api:error-log" + + def get(self, request): + # TODO + return {} + + def _handle_get_api_error_log(handler, path_match, data): """Return the logged errors for this session.""" handler.write_file(handler.server.hass.config.path(ERROR_LOG_FILENAME), False) +class APILogOutView(HomeAssistantView): + url = URL_API_LOG_OUT + name = "api:log-out" + + def post(self, request): + # TODO + return {} + + def _handle_post_api_log_out(handler, path_match, data): """Log user out.""" handler.send_response(HTTP_OK) @@ -387,6 +625,15 @@ def _handle_post_api_log_out(handler, path_match, data): handler.end_headers() +class APITemplateView(HomeAssistantView): + url = URL_API_TEMPLATE + name = "api:template" + + def post(self, request): + # TODO + return {} + + def _handle_post_api_template(handler, path_match, data): """Log user out.""" template_string = data.get('template', '') diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py index c1025fd1657..f591fdd14be 100644 --- a/homeassistant/components/frontend/__init__.py +++ b/homeassistant/components/frontend/__init__.py @@ -3,16 +3,26 @@ import re import os import logging +from jinja2 import FileSystemLoader, Environment +from werkzeug.wrappers import Response + from . import version, mdi_version import homeassistant.util as util from homeassistant.const import URL_ROOT, HTTP_OK from homeassistant.components import api +from homeassistant.components.wsgi import HomeAssistantView DOMAIN = 'frontend' DEPENDENCIES = ['api'] INDEX_PATH = os.path.join(os.path.dirname(__file__), 'index.html.template') +TEMPLATES = Environment( + loader=FileSystemLoader( + os.path.join(os.path.dirname(__file__), 'templates/') + ) +) + _LOGGER = logging.getLogger(__name__) FRONTEND_URLS = [ @@ -49,9 +59,61 @@ def setup(hass, config): 'GET', re.compile(r'/local/(?P[a-zA-Z\._\-0-9/]+)'), _handle_get_local, False) + hass.wsgi.register_view(IndexView) + hass.wsgi.register_view(BootstrapView) + + www_static_path = os.path.join(os.path.dirname(__file__), 'www_static') + if hass.wsgi.development: + sw_path = "home-assistant-polymer/build/service_worker.js" + else: + sw_path = "service_worker.js" + + hass.wsgi.register_static_path( + "/service_worker.js", + os.path.join(www_static_path, sw_path) + ) + hass.wsgi.register_static_path("/static", www_static_path) + hass.wsgi.register_static_path("/local", hass.config.path('www')) + return True +class BootstrapView(HomeAssistantView): + url = URL_API_BOOTSTRAP + name = "api:bootstrap" + + def get(self, request): + """Return all data needed to bootstrap Home Assistant.""" + + return { + 'config': self.hass.config.as_dict(), + 'states': self.hass.states.all(), + 'events': api.events_json(self.hass), + 'services': api.services_json(self.hass), + } + + +class IndexView(HomeAssistantView): + url = URL_ROOT + name = "frontend:index" + extra_urls = ['/logbook', '/history', '/map', '/devService', '/devState', + '/devEvent', '/devInfo', '/devTemplate', '/states/'] + + def get(self, request): + app_url = "frontend-{}.html".format(version.VERSION) + + # auto login if no password was set, else check api_password param + auth = ('no_password_set' if request.api_password is None + else request.values.get('api_password', '')) + + template = TEMPLATES.get_template('index.html') + + resp = template.render(app_url=app_url, auth=auth, + icons=mdi_version.VERSION) + + return Response(resp, mimetype="text/html") + + def _handle_get_api_bootstrap(handler, path_match, data): """Return all data needed to bootstrap Home Assistant.""" hass = handler.server.hass diff --git a/homeassistant/components/frontend/templates/index.html b/homeassistant/components/frontend/templates/index.html new file mode 100644 index 00000000000..e21d00e86bc --- /dev/null +++ b/homeassistant/components/frontend/templates/index.html @@ -0,0 +1,51 @@ + + + + + Home Assistant + + + + + + + + + + + + +
+ + + + diff --git a/homeassistant/components/wsgi.py b/homeassistant/components/wsgi.py new file mode 100644 index 00000000000..f2b1e319887 --- /dev/null +++ b/homeassistant/components/wsgi.py @@ -0,0 +1,201 @@ +""" +This module provides WSGI application to serve the Home Assistant API. + +""" +import json +import logging +import threading +import re + +from eventlet import wsgi +import eventlet + +import homeassistant.core as ha +import homeassistant.remote as rem +from homeassistant import util +from homeassistant.const import ( + SERVER_PORT, HTTP_OK, HTTP_NOT_FOUND, HTTP_BAD_REQUEST +) + +from static import Cling + +from werkzeug.wsgi import DispatcherMiddleware +from werkzeug.wrappers import Response, BaseRequest, AcceptMixin +from werkzeug.routing import Map, Rule +from werkzeug.exceptions import ( + MethodNotAllowed, NotFound, BadRequest, Unauthorized +) + + +class Request(BaseRequest, AcceptMixin): + pass + + +class StaticFileServer(object): + def __call__(self, environ, start_response): + app = DispatcherMiddleware(self.base_app, self.extra_apps) + # Strip out any cachebusting MD% fingerprints + fingerprinted = _FINGERPRINT.match(environ['PATH_INFO']) + if fingerprinted: + environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) + return app(environ, start_response) + +DOMAIN = "wsgi" +REQUIREMENTS = ("eventlet==0.18.4", "static3==0.6.1", "Werkzeug==0.11.5",) + +CONF_API_PASSWORD = "api_password" +CONF_SERVER_HOST = "server_host" +CONF_SERVER_PORT = "server_port" +CONF_DEVELOPMENT = "development" +CONF_SSL_CERTIFICATE = 'ssl_certificate' +CONF_SSL_KEY = 'ssl_key' + +DATA_API_PASSWORD = 'api_password' + +_FINGERPRINT = re.compile(r'^(.+)-[a-z0-9]{32}\.(\w+)$', re.IGNORECASE) + +_LOGGER = logging.getLogger(__name__) + + +def setup(hass, config): + """Set up the HTTP API and debug interface.""" + conf = config.get(DOMAIN, {}) + + server = HomeAssistantWSGI( + hass, + development=str(conf.get(CONF_DEVELOPMENT, "")) == "1", + server_host=conf.get(CONF_SERVER_HOST, '0.0.0.0'), + server_port=conf.get(CONF_SERVER_PORT, SERVER_PORT), + api_password=util.convert(conf.get(CONF_API_PASSWORD), str), + ssl_certificate=conf.get(CONF_SSL_CERTIFICATE), + ssl_key=conf.get(CONF_SSL_KEY), + ) + + hass.bus.listen_once( + ha.EVENT_HOMEASSISTANT_START, + lambda event: + threading.Thread(target=server.start, daemon=True, + name='WSGI-server').start()) + + hass.wsgi = server + + return True + + +class HomeAssistantWSGI(object): + def __init__(self, hass, development, api_password, ssl_certificate, + ssl_key, server_host, server_port): + self.url_map = Map() + self.views = {} + self.hass = hass + self.extra_apps = {} + self.development = development + self.api_password = api_password + self.ssl_certificate = ssl_certificate + self.ssl_key = ssl_key + + def register_view(self, view): + """ Register a view with the WSGI server. + + The view argument must inherit from the HomeAssistantView class, and + it must have (globally unique) 'url' and 'name' attributes. + """ + if view.name in self.views: + _LOGGER.warning("View '{}' is being overwritten".format(view.name)) + self.views[view.name] = view(self.hass) + # TODO Warn if we're overriding an existing view + rule = Rule(view.url, endpoint=view.name) + self.url_map.add(rule) + for url in view.extra_urls: + rule = Rule(url, endpoint=view.name) + self.url_map.add(rule) + + def register_static_path(self, url_root, path): + # TODO Warn if we're overwriting an existing path + self.extra_apps[url_root] = Cling(path) + + def start(self): + sock = eventlet.listen(('', 8090)) + if self.ssl_certificate: + eventlet.wrap_ssl(sock, certfile=self.ssl_certificate, + keyfile=self.ssl_key, server_side=True) + wsgi.server(sock, self) + + def dispatch_request(self, request): + adapter = self.url_map.bind_to_environ(request.environ) + try: + endpoint, values = adapter.match() + return self.views[endpoint].handle_request(request, **values) + except BadRequest as e: + return self.handle_error(request, str(e), HTTP_BAD_REQUEST) + except NotFound as e: + return self.handle_error(request, str(e), HTTP_NOT_FOUND) + except MethodNotAllowed as e: + return self.handle_error(request, str(e), 405) + except Unauthorized as e: + return self.handle_error(request, str(e), 401) + # TODO This long chain of except blocks is silly. _handle_error should + # just take the exception as an argument and parse the status code + # itself + + def base_app(self, environ, start_response): + request = Request(environ) + request.api_password = self.api_password + request.development = self.development + response = self.dispatch_request(request) + return response(environ, start_response) + + def __call__(self, environ, start_response): + app = DispatcherMiddleware(self.base_app, self.extra_apps) + # Strip out any cachebusting MD5 fingerprints + fingerprinted = _FINGERPRINT.match(environ.get('PATH_INFO', '')) + if fingerprinted: + environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) + return app(environ, start_response) + + def _handle_error(self, request, message, status): + if request.accept_mimetypes.accept_json: + message = json.dumps({ + "result": "error", + "message": message, + }) + mimetype = "application/json" + else: + mimetype = "text/plain" + return Response(message, status=status, mimetype=mimetype) + + +class HomeAssistantView(object): + extra_urls = [] + requires_auth = True # Views inheriting from this class can override this + + def __init__(self, hass): + self.hass = hass + + def handle_request(self, request, **values): + try: + handler = getattr(self, request.method.lower()) + except AttributeError: + raise MethodNotAllowed + # TODO This would be a good place to check the auth if + # self.requires_auth is true, and raise Unauthorized on a failure + result = handler(request, **values) + if isinstance(result, Response): + # The method handler returned a ready-made Response, how nice of it + return result + elif (isinstance(result, dict) or + isinstance(result, list) or + isinstance(result, ha.State)): + # There are a few result types we know we always want to jsonify + if isinstance(result, dict) and 'status_code' in result: + status_code = result['status_code'] + del result['status_code'] + else: + status_code = HTTP_OK + msg = json.dumps( + result, + sort_keys=True, + cls=rem.JSONEncoder + ).encode('UTF-8') + return Response(msg, mimetype="application/json", + status_code=status_code) diff --git a/requirements_all.txt b/requirements_all.txt index 1c441790028..7c89f68364d 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -23,6 +23,9 @@ SoCo==0.11.1 # homeassistant.components.notify.twitter TwitterAPI==2.4.1 +# homeassistant.components.wsgi +Werkzeug==0.11.5 + # homeassistant.components.apcupsd apcaccess==0.0.4 @@ -53,6 +56,9 @@ dweepy==0.2.0 # homeassistant.components.sensor.eliqonline eliqonline==1.0.12 +# homeassistant.components.wsgi +eventlet==0.18.4 + # homeassistant.components.thermostat.honeywell evohomeclient==0.2.5 @@ -331,6 +337,9 @@ somecomfort==0.2.1 # homeassistant.components.sensor.speedtest speedtest-cli==0.3.4 +# homeassistant.components.wsgi +static3==0.6.1 + # homeassistant.components.sensor.steam_online steamodd==4.21 From 6490378de340119d3179e2627036558e7f64d113 Mon Sep 17 00:00:00 2001 From: Josh Wright Date: Mon, 9 May 2016 21:26:52 -0400 Subject: [PATCH 003/114] Add some missing view registrations --- homeassistant/components/api.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/api.py b/homeassistant/components/api.py index fbfcce7d50d..7753fbe58fc 100644 --- a/homeassistant/components/api.py +++ b/homeassistant/components/api.py @@ -103,13 +103,20 @@ def setup(hass, config): _handle_post_api_template) hass.wsgi.register_view(APIStatusView) + hass.wsgi.register_view(APIEventStream) hass.wsgi.register_view(APIConfigView) hass.wsgi.register_view(APIDiscoveryView) - hass.wsgi.register_view(APIEntityStateView) hass.wsgi.register_view(APIStatesView) + hass.wsgi.register_view(APIEntityStateView) hass.wsgi.register_view(APIEventListenersView) + hass.wsgi.register_view(APIEventView) hass.wsgi.register_view(APIServicesView) hass.wsgi.register_view(APIDomainServicesView) + hass.wsgi.register_view(APIEventForwardingView) + hass.wsgi.register_view(APIComponentsView) + hass.wsgi.register_view(APIErrorLogView) + hass.wsgi.register_view(APILogOutView) + hass.wsgi.register_view(APITemplateView) return True From 768c98d359d75c059f9065e548bcdcc428f08a7a Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 11 May 2016 22:55:24 -0700 Subject: [PATCH 004/114] Fix import issues --- homeassistant/components/api.py | 6 +- homeassistant/components/frontend/__init__.py | 25 +++--- homeassistant/components/wsgi.py | 77 +++++++++++-------- 3 files changed, 63 insertions(+), 45 deletions(-) diff --git a/homeassistant/components/api.py b/homeassistant/components/api.py index 7753fbe58fc..8305f78fa1c 100644 --- a/homeassistant/components/api.py +++ b/homeassistant/components/api.py @@ -9,8 +9,6 @@ import logging import re import threading -from werkzeug.exceptions import NotFound, BadRequest - import homeassistant.core as ha import homeassistant.remote as rem from homeassistant.bootstrap import ERROR_LOG_FILENAME @@ -266,13 +264,13 @@ class APIEntityStateView(HomeAssistantView): if state: return state else: - raise NotFound("State does not exist.") + raise self.NotFound("State does not exist.") def post(self, request, entity_id): try: new_state = request.values['state'] except KeyError: - raise BadRequest("state not specified") + raise self.BadRequest("state not specified") attributes = request.values.get('attributes') diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py index f591fdd14be..ca8e65e27a5 100644 --- a/homeassistant/components/frontend/__init__.py +++ b/homeassistant/components/frontend/__init__.py @@ -3,9 +3,6 @@ import re import os import logging -from jinja2 import FileSystemLoader, Environment -from werkzeug.wrappers import Response - from . import version, mdi_version import homeassistant.util as util from homeassistant.const import URL_ROOT, HTTP_OK @@ -17,12 +14,6 @@ DEPENDENCIES = ['api'] INDEX_PATH = os.path.join(os.path.dirname(__file__), 'index.html.template') -TEMPLATES = Environment( - loader=FileSystemLoader( - os.path.join(os.path.dirname(__file__), 'templates/') - ) -) - _LOGGER = logging.getLogger(__name__) FRONTEND_URLS = [ @@ -99,19 +90,31 @@ class IndexView(HomeAssistantView): extra_urls = ['/logbook', '/history', '/map', '/devService', '/devState', '/devEvent', '/devInfo', '/devTemplate', '/states/'] + def __init__(self, hass): + super().__init__(hass) + + from jinja2 import FileSystemLoader, Environment + + self.TEMPLATES = Environment( + loader=FileSystemLoader( + os.path.join(os.path.dirname(__file__), 'templates/') + ) + ) + def get(self, request): + """Serve the index view.""" app_url = "frontend-{}.html".format(version.VERSION) # auto login if no password was set, else check api_password param auth = ('no_password_set' if request.api_password is None else request.values.get('api_password', '')) - template = TEMPLATES.get_template('index.html') + template = self.TEMPLATES.get_template('index.html') resp = template.render(app_url=app_url, auth=auth, icons=mdi_version.VERSION) - return Response(resp, mimetype="text/html") + return self.Response(resp, mimetype="text/html") def _handle_get_api_bootstrap(handler, path_match, data): diff --git a/homeassistant/components/wsgi.py b/homeassistant/components/wsgi.py index f2b1e319887..912c4d087a0 100644 --- a/homeassistant/components/wsgi.py +++ b/homeassistant/components/wsgi.py @@ -7,9 +7,6 @@ import logging import threading import re -from eventlet import wsgi -import eventlet - import homeassistant.core as ha import homeassistant.remote as rem from homeassistant import util @@ -17,29 +14,6 @@ from homeassistant.const import ( SERVER_PORT, HTTP_OK, HTTP_NOT_FOUND, HTTP_BAD_REQUEST ) -from static import Cling - -from werkzeug.wsgi import DispatcherMiddleware -from werkzeug.wrappers import Response, BaseRequest, AcceptMixin -from werkzeug.routing import Map, Rule -from werkzeug.exceptions import ( - MethodNotAllowed, NotFound, BadRequest, Unauthorized -) - - -class Request(BaseRequest, AcceptMixin): - pass - - -class StaticFileServer(object): - def __call__(self, environ, start_response): - app = DispatcherMiddleware(self.base_app, self.extra_apps) - # Strip out any cachebusting MD% fingerprints - fingerprinted = _FINGERPRINT.match(environ['PATH_INFO']) - if fingerprinted: - environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) - return app(environ, start_response) - DOMAIN = "wsgi" REQUIREMENTS = ("eventlet==0.18.4", "static3==0.6.1", "Werkzeug==0.11.5",) @@ -82,9 +56,27 @@ def setup(hass, config): return True +class StaticFileServer(object): + def __call__(self, environ, start_response): + from werkzeug.wsgi import DispatcherMiddleware + app = DispatcherMiddleware(self.base_app, self.extra_apps) + # Strip out any cachebusting MD% fingerprints + fingerprinted = _FINGERPRINT.match(environ['PATH_INFO']) + if fingerprinted: + environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) + return app(environ, start_response) + + class HomeAssistantWSGI(object): def __init__(self, hass, development, api_password, ssl_certificate, ssl_key, server_host, server_port): + from werkzeug.wrappers import BaseRequest, AcceptMixin + from werkzeug.routing import Map + + class Request(BaseRequest, AcceptMixin): + pass + + self.Request = Request self.url_map = Map() self.views = {} self.hass = hass @@ -100,6 +92,8 @@ class HomeAssistantWSGI(object): The view argument must inherit from the HomeAssistantView class, and it must have (globally unique) 'url' and 'name' attributes. """ + from werkzeug.routing import Rule + if view.name in self.views: _LOGGER.warning("View '{}' is being overwritten".format(view.name)) self.views[view.name] = view(self.hass) @@ -111,10 +105,17 @@ class HomeAssistantWSGI(object): self.url_map.add(rule) def register_static_path(self, url_root, path): + """Register a folder to serve as a static path.""" + from static import Cling + # TODO Warn if we're overwriting an existing path self.extra_apps[url_root] = Cling(path) def start(self): + """Start the wsgi server.""" + from eventlet import wsgi + import eventlet + sock = eventlet.listen(('', 8090)) if self.ssl_certificate: eventlet.wrap_ssl(sock, certfile=self.ssl_certificate, @@ -122,6 +123,10 @@ class HomeAssistantWSGI(object): wsgi.server(sock, self) def dispatch_request(self, request): + """Handle incoming request.""" + from werkzeug.exceptions import ( + MethodNotAllowed, NotFound, BadRequest, Unauthorized + ) adapter = self.url_map.bind_to_environ(request.environ) try: endpoint, values = adapter.match() @@ -139,13 +144,15 @@ class HomeAssistantWSGI(object): # itself def base_app(self, environ, start_response): - request = Request(environ) + request = self.Request(environ) request.api_password = self.api_password request.development = self.development response = self.dispatch_request(request) return response(environ, start_response) def __call__(self, environ, start_response): + from werkzeug.wsgi import DispatcherMiddleware + app = DispatcherMiddleware(self.base_app, self.extra_apps) # Strip out any cachebusting MD5 fingerprints fingerprinted = _FINGERPRINT.match(environ.get('PATH_INFO', '')) @@ -154,6 +161,7 @@ class HomeAssistantWSGI(object): return app(environ, start_response) def _handle_error(self, request, message, status): + from werkzeug.wrappers import Response if request.accept_mimetypes.accept_json: message = json.dumps({ "result": "error", @@ -170,9 +178,18 @@ class HomeAssistantView(object): requires_auth = True # Views inheriting from this class can override this def __init__(self, hass): + from werkzeug.wrappers import Response + from werkzeug.exceptions import NotFound, BadRequest + self.hass = hass + self.Response = Response + self.NotFound = NotFound + self.BadRequest = BadRequest def handle_request(self, request, **values): + """Handle request to url.""" + from werkzeug.exceptions import MethodNotAllowed + try: handler = getattr(self, request.method.lower()) except AttributeError: @@ -180,7 +197,7 @@ class HomeAssistantView(object): # TODO This would be a good place to check the auth if # self.requires_auth is true, and raise Unauthorized on a failure result = handler(request, **values) - if isinstance(result, Response): + if isinstance(result, self.Response): # The method handler returned a ready-made Response, how nice of it return result elif (isinstance(result, dict) or @@ -197,5 +214,5 @@ class HomeAssistantView(object): sort_keys=True, cls=rem.JSONEncoder ).encode('UTF-8') - return Response(msg, mimetype="application/json", - status_code=status_code) + return self.Response(msg, mimetype="application/json", + status_code=status_code) From 15e329a5882db608e49f26eded5014645efbac66 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 14 May 2016 00:58:36 -0700 Subject: [PATCH 005/114] Tons of fixes - WIP --- homeassistant/components/alexa.py | 124 ++-- homeassistant/components/api.py | 599 +++++----------- homeassistant/components/camera/__init__.py | 152 ++-- homeassistant/components/camera/mjpeg.py | 18 +- .../components/device_tracker/locative.py | 141 ++-- homeassistant/components/frontend/__init__.py | 112 +-- homeassistant/components/history.py | 63 +- homeassistant/components/http.py | 667 +++++++----------- homeassistant/components/logbook.py | 41 +- homeassistant/components/sensor/fitbit.py | 132 ++-- homeassistant/components/sensor/torque.py | 46 +- homeassistant/components/wsgi.py | 218 ------ homeassistant/helpers/event.py | 4 +- homeassistant/remote.py | 15 +- requirements_all.txt | 6 +- tests/common.py | 10 +- .../device_tracker/test_locative.py | 2 + tests/components/test_alexa.py | 8 +- tests/components/test_api.py | 161 +++-- tests/components/test_frontend.py | 5 + tests/components/test_logbook.py | 2 +- tests/test_remote.py | 16 + 22 files changed, 938 insertions(+), 1604 deletions(-) delete mode 100644 homeassistant/components/wsgi.py diff --git a/homeassistant/components/alexa.py b/homeassistant/components/alexa.py index 080d7bd1097..2bb155dd322 100644 --- a/homeassistant/components/alexa.py +++ b/homeassistant/components/alexa.py @@ -7,14 +7,14 @@ https://home-assistant.io/components/alexa/ import enum import logging -from homeassistant.const import HTTP_OK, HTTP_UNPROCESSABLE_ENTITY +from homeassistant.const import HTTP_BAD_REQUEST from homeassistant.helpers import template, script +from homeassistant.components.http import HomeAssistantView DOMAIN = 'alexa' DEPENDENCIES = ['http'] _LOGGER = logging.getLogger(__name__) -_CONFIG = {} API_ENDPOINT = '/api/alexa' @@ -26,80 +26,88 @@ CONF_ACTION = 'action' def setup(hass, config): """Activate Alexa component.""" - intents = config[DOMAIN].get(CONF_INTENTS, {}) - - for name, intent in intents.items(): - if CONF_ACTION in intent: - intent[CONF_ACTION] = script.Script(hass, intent[CONF_ACTION], - "Alexa intent {}".format(name)) - - _CONFIG.update(intents) - - hass.http.register_path('POST', API_ENDPOINT, _handle_alexa, True) + hass.wsgi.register_view(AlexaView(hass, + config[DOMAIN].get(CONF_INTENTS, {}))) return True -def _handle_alexa(handler, path_match, data): - """Handle Alexa.""" - _LOGGER.debug('Received Alexa request: %s', data) +class AlexaView(HomeAssistantView): + """Handle Alexa requests.""" - req = data.get('request') + url = API_ENDPOINT + name = 'api:alexa' - if req is None: - _LOGGER.error('Received invalid data from Alexa: %s', data) - handler.write_json_message( - "Invalid value received for port", HTTP_UNPROCESSABLE_ENTITY) - return + def __init__(self, hass, intents): + """Initialize Alexa view.""" + super().__init__(hass) - req_type = req['type'] + for name, intent in intents.items(): + if CONF_ACTION in intent: + intent[CONF_ACTION] = script.Script( + hass, intent[CONF_ACTION], "Alexa intent {}".format(name)) - if req_type == 'SessionEndedRequest': - handler.send_response(HTTP_OK) - handler.end_headers() - return + self.intents = intents - intent = req.get('intent') - response = AlexaResponse(handler.server.hass, intent) + def post(self, request): + """Handle Alexa.""" + data = request.json - if req_type == 'LaunchRequest': - response.add_speech( - SpeechType.plaintext, - "Hello, and welcome to the future. How may I help?") - handler.write_json(response.as_dict()) - return + _LOGGER.debug('Received Alexa request: %s', data) - if req_type != 'IntentRequest': - _LOGGER.warning('Received unsupported request: %s', req_type) - return + req = data.get('request') - intent_name = intent['name'] - config = _CONFIG.get(intent_name) + if req is None: + _LOGGER.error('Received invalid data from Alexa: %s', data) + return self.json_message('Expected request value not received', + HTTP_BAD_REQUEST) - if config is None: - _LOGGER.warning('Received unknown intent %s', intent_name) - response.add_speech( - SpeechType.plaintext, - "This intent is not yet configured within Home Assistant.") - handler.write_json(response.as_dict()) - return + req_type = req['type'] - speech = config.get(CONF_SPEECH) - card = config.get(CONF_CARD) - action = config.get(CONF_ACTION) + if req_type == 'SessionEndedRequest': + return None - # pylint: disable=unsubscriptable-object - if speech is not None: - response.add_speech(SpeechType[speech['type']], speech['text']) + intent = req.get('intent') + response = AlexaResponse(self.hass, intent) - if card is not None: - response.add_card(CardType[card['type']], card['title'], - card['content']) + if req_type == 'LaunchRequest': + response.add_speech( + SpeechType.plaintext, + "Hello, and welcome to the future. How may I help?") + return self.json(response) - if action is not None: - action.run(response.variables) + if req_type != 'IntentRequest': + _LOGGER.warning('Received unsupported request: %s', req_type) + return self.json_message( + 'Received unsupported request: {}'.format(req_type), + HTTP_BAD_REQUEST) - handler.write_json(response.as_dict()) + intent_name = intent['name'] + config = self.intents.get(intent_name) + + if config is None: + _LOGGER.warning('Received unknown intent %s', intent_name) + response.add_speech( + SpeechType.plaintext, + "This intent is not yet configured within Home Assistant.") + return self.json(response) + + speech = config.get(CONF_SPEECH) + card = config.get(CONF_CARD) + action = config.get(CONF_ACTION) + + # pylint: disable=unsubscriptable-object + if speech is not None: + response.add_speech(SpeechType[speech['type']], speech['text']) + + if card is not None: + response.add_card(CardType[card['type']], card['title'], + card['content']) + + if action is not None: + action.run(response.variables) + + return self.json(response) class SpeechType(enum.Enum): diff --git a/homeassistant/components/api.py b/homeassistant/components/api.py index 8305f78fa1c..339cd5f29f6 100644 --- a/homeassistant/components/api.py +++ b/homeassistant/components/api.py @@ -6,16 +6,14 @@ https://home-assistant.io/developers/api/ """ import json import logging -import re -import threading import homeassistant.core as ha import homeassistant.remote as rem from homeassistant.bootstrap import ERROR_LOG_FILENAME from homeassistant.const import ( - CONTENT_TYPE_TEXT_PLAIN, EVENT_HOMEASSISTANT_STOP, EVENT_TIME_CHANGED, - HTTP_BAD_REQUEST, HTTP_CREATED, HTTP_HEADER_CONTENT_TYPE, HTTP_NOT_FOUND, - HTTP_OK, HTTP_UNPROCESSABLE_ENTITY, MATCH_ALL, URL_API, URL_API_COMPONENTS, + EVENT_HOMEASSISTANT_STOP, EVENT_TIME_CHANGED, + HTTP_BAD_REQUEST, HTTP_CREATED, HTTP_NOT_FOUND, + HTTP_UNPROCESSABLE_ENTITY, MATCH_ALL, URL_API, URL_API_COMPONENTS, URL_API_CONFIG, URL_API_DISCOVERY_INFO, URL_API_ERROR_LOG, URL_API_EVENT_FORWARD, URL_API_EVENTS, URL_API_LOG_OUT, URL_API_SERVICES, URL_API_STATES, URL_API_STATES_ENTITY, URL_API_STREAM, URL_API_TEMPLATE, @@ -23,10 +21,11 @@ from homeassistant.const import ( from homeassistant.exceptions import TemplateError from homeassistant.helpers.state import TrackStates from homeassistant.helpers import template -from homeassistant.components.wsgi import HomeAssistantView +from homeassistant.helpers.event import track_utc_time_change +from homeassistant.components.http import HomeAssistantView DOMAIN = 'api' -DEPENDENCIES = ['http', 'wsgi'] +DEPENDENCIES = ['http'] STREAM_PING_PAYLOAD = "ping" STREAM_PING_INTERVAL = 50 # seconds @@ -36,70 +35,6 @@ _LOGGER = logging.getLogger(__name__) def setup(hass, config): """Register the API with the HTTP interface.""" - # /api - for validation purposes - hass.http.register_path('GET', URL_API, _handle_get_api) - - # /api/config - hass.http.register_path('GET', URL_API_CONFIG, _handle_get_api_config) - - # /api/discovery_info - hass.http.register_path('GET', URL_API_DISCOVERY_INFO, - _handle_get_api_discovery_info, - require_auth=False) - - # /api/stream - hass.http.register_path('GET', URL_API_STREAM, _handle_get_api_stream) - - # /api/states - hass.http.register_path('GET', URL_API_STATES, _handle_get_api_states) - hass.http.register_path( - 'GET', re.compile(r'/api/states/(?P[a-zA-Z\._0-9]+)'), - _handle_get_api_states_entity) - hass.http.register_path( - 'POST', re.compile(r'/api/states/(?P[a-zA-Z\._0-9]+)'), - _handle_post_state_entity) - hass.http.register_path( - 'PUT', re.compile(r'/api/states/(?P[a-zA-Z\._0-9]+)'), - _handle_post_state_entity) - hass.http.register_path( - 'DELETE', re.compile(r'/api/states/(?P[a-zA-Z\._0-9]+)'), - _handle_delete_state_entity) - - # /api/events - hass.http.register_path('GET', URL_API_EVENTS, _handle_get_api_events) - hass.http.register_path( - 'POST', re.compile(r'/api/events/(?P[a-zA-Z\._0-9]+)'), - _handle_api_post_events_event) - - # /api/services - hass.http.register_path('GET', URL_API_SERVICES, _handle_get_api_services) - hass.http.register_path( - 'POST', - re.compile((r'/api/services/' - r'(?P[a-zA-Z\._0-9]+)/' - r'(?P[a-zA-Z\._0-9]+)')), - _handle_post_api_services_domain_service) - - # /api/event_forwarding - hass.http.register_path( - 'POST', URL_API_EVENT_FORWARD, _handle_post_api_event_forward) - hass.http.register_path( - 'DELETE', URL_API_EVENT_FORWARD, _handle_delete_api_event_forward) - - # /api/components - hass.http.register_path( - 'GET', URL_API_COMPONENTS, _handle_get_api_components) - - # /api/error_log - hass.http.register_path('GET', URL_API_ERROR_LOG, - _handle_get_api_error_log) - - hass.http.register_path('POST', URL_API_LOG_OUT, _handle_post_api_log_out) - - # /api/template - hass.http.register_path('POST', URL_API_TEMPLATE, - _handle_post_api_template) - hass.wsgi.register_view(APIStatusView) hass.wsgi.register_view(APIEventStream) hass.wsgi.register_view(APIConfigView) @@ -120,159 +55,143 @@ def setup(hass, config): class APIStatusView(HomeAssistantView): + """View to handle Status requests.""" + url = URL_API name = "api:status" def get(self, request): - return {'message': 'API running.'} - - -def _handle_get_api(handler, path_match, data): - """Render the debug interface.""" - handler.write_json_message("API running.") + """Retrieve if API is running.""" + return self.json_message('API running.') class APIEventStream(HomeAssistantView): - url = "" - name = "" + """View to handle EventSt requests.""" - # TODO Implement this... + url = URL_API_STREAM + name = "api:stream" + def get(self, request): + """Provide a streaming interface for the event bus.""" + from eventlet import Queue -def _handle_get_api_stream(handler, path_match, data): - """Provide a streaming interface for the event bus.""" - gracefully_closed = False - hass = handler.server.hass - wfile = handler.wfile - write_lock = threading.Lock() - block = threading.Event() - session_id = None + queue = Queue() + stop_obj = object() + hass = self.hass - restrict = data.get('restrict') - if restrict: - restrict = restrict.split(',') + restrict = request.args.get('restrict') + if restrict: + restrict = restrict.split(',') - def write_message(payload): - """Write a message to the output.""" - with write_lock: - msg = "data: {}\n\n".format(payload) + def ping(now): + """Add a ping message to queue.""" + queue.put(STREAM_PING_PAYLOAD) + + def forward_events(event): + """Forward events to the open request.""" + if event.event_type == EVENT_TIME_CHANGED: + pass + elif event.event_type == EVENT_HOMEASSISTANT_STOP: + queue.put(stop_obj) + else: + queue.put(json.dumps(event, cls=rem.JSONEncoder)) + + def stream(): + """Stream events to response.""" + if restrict: + for event in restrict: + hass.bus.listen(event, forward_events) + else: + hass.bus.listen(MATCH_ALL, forward_events) + + attached_ping = track_utc_time_change(hass, ping, second=(0, 30)) try: - wfile.write(msg.encode("UTF-8")) - wfile.flush() - except (IOError, ValueError): - # IOError: socket errors - # ValueError: raised when 'I/O operation on closed file' - block.set() + while True: + payload = queue.get() - def forward_events(event): - """Forward events to the open request.""" - nonlocal gracefully_closed + if payload is stop_obj: + break - if block.is_set() or event.event_type == EVENT_TIME_CHANGED: - return - elif event.event_type == EVENT_HOMEASSISTANT_STOP: - gracefully_closed = True - block.set() - return + msg = "data: {}\n\n".format(payload) - handler.server.sessions.extend_validation(session_id) - write_message(json.dumps(event, cls=rem.JSONEncoder)) + yield msg.encode("UTF-8") + except GeneratorExit: + pass - handler.send_response(HTTP_OK) - handler.send_header('Content-type', 'text/event-stream') - session_id = handler.set_session_cookie_header() - handler.end_headers() + hass.bus.remove_listener(EVENT_TIME_CHANGED, attached_ping) - if restrict: - for event in restrict: - hass.bus.listen(event, forward_events) - else: - hass.bus.listen(MATCH_ALL, forward_events) + if restrict: + for event in restrict: + hass.bus.remove_listener(event, forward_events) + else: + hass.bus.remove_listener(MATCH_ALL, forward_events) - while True: - write_message(STREAM_PING_PAYLOAD) - - block.wait(STREAM_PING_INTERVAL) - - if block.is_set(): - break - - if not gracefully_closed: - _LOGGER.info("Found broken event stream to %s, cleaning up", - handler.client_address[0]) - - if restrict: - for event in restrict: - hass.bus.remove_listener(event, forward_events) - else: - hass.bus.remove_listener(MATCH_ALL, forward_events) + return self.Response(stream(), mimetype='text/event-stream') class APIConfigView(HomeAssistantView): + """View to handle Config requests.""" + url = URL_API_CONFIG name = "api:config" def get(self, request): - return self.hass.config.as_dict() - - -def _handle_get_api_config(handler, path_match, data): - """Return the Home Assistant configuration.""" - handler.write_json(handler.server.hass.config.as_dict()) + """Get current configuration.""" + return self.json(self.hass.config.as_dict()) class APIDiscoveryView(HomeAssistantView): + """View to provide discovery info.""" + + requires_auth = False url = URL_API_DISCOVERY_INFO name = "api:discovery" def get(self, request): - # TODO - return {} - - -def _handle_get_api_discovery_info(handler, path_match, data): - needs_auth = (handler.server.hass.config.api.api_password is not None) - params = { - 'base_url': handler.server.hass.config.api.base_url, - 'location_name': handler.server.hass.config.location_name, - 'requires_api_password': needs_auth, - 'version': __version__ - } - handler.write_json(params) + """Get discovery info.""" + needs_auth = self.hass.config.api.api_password is not None + return self.json({ + 'base_url': self.hass.config.api.base_url, + 'location_name': self.hass.config.location_name, + 'requires_api_password': needs_auth, + 'version': __version__ + }) class APIStatesView(HomeAssistantView): + """View to handle States requests.""" + url = URL_API_STATES name = "api:states" def get(self, request): - return self.hass.states.all() - - -def _handle_get_api_states(handler, path_match, data): - """Return a dict containing all entity ids and their state.""" - handler.write_json(handler.server.hass.states.all()) + """Get current states.""" + return self.json(self.hass.states.all()) class APIEntityStateView(HomeAssistantView): + """View to handle EntityState requests.""" + url = "/api/states/" name = "api:entity-state" def get(self, request, entity_id): + """Retrieve state of entity.""" state = self.hass.states.get(entity_id) if state: - return state + return self.json(state) else: - raise self.NotFound("State does not exist.") + return self.json_message('Entity not found', HTTP_NOT_FOUND) def post(self, request, entity_id): + """Update state of entity.""" try: - new_state = request.values['state'] + new_state = request.json['state'] except KeyError: - raise self.BadRequest("state not specified") + return self.json_message('No state specified', HTTP_BAD_REQUEST) - attributes = request.values.get('attributes') + attributes = request.json.get('attributes') is_new_state = self.hass.states.get(entity_id) is None @@ -280,13 +199,7 @@ class APIEntityStateView(HomeAssistantView): self.hass.states.set(entity_id, new_state, attributes) # Read the state back for our response - msg = json.dumps( - self.hass.states.get(entity_id).as_dict(), - sort_keys=True, - cls=rem.JSONEncoder - ).encode('UTF-8') - - resp = Response(msg, mimetype="application/json") + resp = self.json(self.hass.states.get(entity_id)) if is_new_state: resp.status_code = HTTP_CREATED @@ -296,93 +209,37 @@ class APIEntityStateView(HomeAssistantView): return resp def delete(self, request, entity_id): + """Remove entity.""" if self.hass.states.remove(entity_id): - return {"message:" "Entity removed"} + return self.json_message('Entity removed') else: - return { - "message": "Entity not found", - "status_code": HTTP_NOT_FOUND, - } - - -def _handle_get_api_states_entity(handler, path_match, data): - """Return the state of a specific entity.""" - entity_id = path_match.group('entity_id') - - state = handler.server.hass.states.get(entity_id) - - if state: - handler.write_json(state) - else: - handler.write_json_message("State does not exist.", HTTP_NOT_FOUND) - - -def _handle_post_state_entity(handler, path_match, data): - """Handle updating the state of an entity. - - This handles the following paths: - /api/states/ - """ - entity_id = path_match.group('entity_id') - - try: - new_state = data['state'] - except KeyError: - handler.write_json_message("state not specified", HTTP_BAD_REQUEST) - return - - attributes = data['attributes'] if 'attributes' in data else None - - is_new_state = handler.server.hass.states.get(entity_id) is None - - # Write state - handler.server.hass.states.set(entity_id, new_state, attributes) - - state = handler.server.hass.states.get(entity_id) - - status_code = HTTP_CREATED if is_new_state else HTTP_OK - - handler.write_json( - state.as_dict(), - status_code=status_code, - location=URL_API_STATES_ENTITY.format(entity_id)) - - -def _handle_delete_state_entity(handler, path_match, data): - """Handle request to delete an entity from state machine. - - This handles the following paths: - /api/states/ - """ - entity_id = path_match.group('entity_id') - - if handler.server.hass.states.remove(entity_id): - handler.write_json_message( - "Entity not found", HTTP_NOT_FOUND) - else: - handler.write_json_message( - "Entity removed", HTTP_OK) + return self.json_message('Entity not found', HTTP_NOT_FOUND) class APIEventListenersView(HomeAssistantView): + """View to handle EventListeners requests.""" + url = URL_API_EVENTS name = "api:event-listeners" def get(self, request): - return events_json(self.hass) - - -def _handle_get_api_events(handler, path_match, data): - """Handle getting overview of event listeners.""" - handler.write_json(events_json(handler.server.hass)) + """Get event listeners.""" + return self.json(events_json(self.hass)) class APIEventView(HomeAssistantView): + """View to handle Event requests.""" + url = '/api/events/' name = "api:event" def post(self, request, event_type): - event_data = request.values + """Fire events.""" + event_data = request.json + + if event_data is not None and not isinstance(event_data, dict): + return self.json_message('Event data should be a JSON object', + HTTP_BAD_REQUEST) # Special case handling for event STATE_CHANGED # We will try to convert state dicts back to State objects @@ -393,266 +250,150 @@ class APIEventView(HomeAssistantView): if state: event_data[key] = state - self.hass.bus.fire(event_type, request.values, ha.EventOrigin.remote) + self.hass.bus.fire(event_type, event_data, ha.EventOrigin.remote) - return {"message": "Event {} fired.".format(event_type)} - - -def _handle_api_post_events_event(handler, path_match, event_data): - """Handle firing of an event. - - This handles the following paths: /api/events/ - - Events from /api are threated as remote events. - """ - event_type = path_match.group('event_type') - - if event_data is not None and not isinstance(event_data, dict): - handler.write_json_message( - "event_data should be an object", HTTP_UNPROCESSABLE_ENTITY) - return - - event_origin = ha.EventOrigin.remote - - # Special case handling for event STATE_CHANGED - # We will try to convert state dicts back to State objects - if event_type == ha.EVENT_STATE_CHANGED and event_data: - for key in ('old_state', 'new_state'): - state = ha.State.from_dict(event_data.get(key)) - - if state: - event_data[key] = state - - handler.server.hass.bus.fire(event_type, event_data, event_origin) - - handler.write_json_message("Event {} fired.".format(event_type)) + return self.json_message("Event {} fired.".format(event_type)) class APIServicesView(HomeAssistantView): + """View to handle Services requests.""" + url = URL_API_SERVICES name = "api:services" def get(self, request): - return services_json(self.hass) - - -def _handle_get_api_services(handler, path_match, data): - """Handle getting overview of services.""" - handler.write_json(services_json(handler.server.hass)) + """Get registered services.""" + return self.json(services_json(self.hass)) class APIDomainServicesView(HomeAssistantView): + """View to handle DomainServices requests.""" + url = "/api/services//" name = "api:domain-services" - def post(self, request): + def post(self, request, domain, service): + """Call a service. + + Returns a list of changed states. + """ with TrackStates(self.hass) as changed_states: - self.hass.services.call(domain, service, request.values, True) + self.hass.services.call(domain, service, request.json, True) - return changed_states - - -# pylint: disable=invalid-name -def _handle_post_api_services_domain_service(handler, path_match, data): - """Handle calling a service. - - This handles the following paths: /api/services// - """ - domain = path_match.group('domain') - service = path_match.group('service') - - with TrackStates(handler.server.hass) as changed_states: - handler.server.hass.services.call(domain, service, data, True) - - handler.write_json(changed_states) + return self.json(changed_states) class APIEventForwardingView(HomeAssistantView): + """View to handle EventForwarding requests.""" + url = URL_API_EVENT_FORWARD name = "api:event-forward" + event_forwarder = None def post(self, request): + """Setup an event forwarder.""" + data = request.json + if data is None: + return self.json_message("No data received.", HTTP_BAD_REQUEST) try: - host = request.values['host'] - api_password = request.values['api_password'] + host = data['host'] + api_password = data['api_password'] except KeyError: - return { - "message": "No host or api_password received.", - "status_code": HTTP_BAD_REQUEST, - } + return self.json_message("No host or api_password received.", + HTTP_BAD_REQUEST) try: port = int(data['port']) if 'port' in data else None except ValueError: - return { - "message": "Invalid value received for port.", - "status_code": HTTP_UNPROCESSABLE_ENTITY, - } + return self.json_message("Invalid value received for port.", + HTTP_UNPROCESSABLE_ENTITY) api = rem.API(host, api_password, port) if not api.validate_api(): - return { - "message": "Unable to validate API.", - "status_code": HTTP_UNPROCESSABLE_ENTITY, - } + return self.json_message("Unable to validate API.", + HTTP_UNPROCESSABLE_ENTITY) - if self.hass.event_forwarder is None: - self.hass.event_forwarder = rem.EventForwarder(self.hass) + if self.event_forwarder is None: + self.event_forwarder = rem.EventForwarder(self.hass) - self.hass.event_forwarder.connect(api) + self.event_forwarder.connect(api) - return {"message": "Event forwarding setup."} + return self.json_message("Event forwarding setup.") def delete(self, request): + """Remove event forwarer.""" + data = request.json + if data is None: + return self.json_message("No data received.", HTTP_BAD_REQUEST) + try: - host = request.values['host'] + host = data['host'] except KeyError: - return { - "message": "No host received.", - "status_code": HTTP_BAD_REQUEST, - } + return self.json_message("No host received.", HTTP_BAD_REQUEST) try: port = int(data['port']) if 'port' in data else None except ValueError: - return { - "message": "Invalid value received for port", - "status_code": HTTP_UNPROCESSABLE_ENTITY, - } + return self.json_message("Invalid value received for port.", + HTTP_UNPROCESSABLE_ENTITY) - if self.hass.event_forwarder is not None: + if self.event_forwarder is not None: api = rem.API(host, None, port) - self.hass.event_forwarder.disconnect(api) + self.event_forwarder.disconnect(api) - return {"message": "Event forwarding cancelled."} - - -# pylint: disable=invalid-name -def _handle_post_api_event_forward(handler, path_match, data): - """Handle adding an event forwarding target.""" - try: - host = data['host'] - api_password = data['api_password'] - except KeyError: - handler.write_json_message( - "No host or api_password received.", HTTP_BAD_REQUEST) - return - - try: - port = int(data['port']) if 'port' in data else None - except ValueError: - handler.write_json_message( - "Invalid value received for port", HTTP_UNPROCESSABLE_ENTITY) - return - - api = rem.API(host, api_password, port) - - if not api.validate_api(): - handler.write_json_message( - "Unable to validate API", HTTP_UNPROCESSABLE_ENTITY) - return - - if handler.server.event_forwarder is None: - handler.server.event_forwarder = \ - rem.EventForwarder(handler.server.hass) - - handler.server.event_forwarder.connect(api) - - handler.write_json_message("Event forwarding setup.") - - -def _handle_delete_api_event_forward(handler, path_match, data): - """Handle deleting an event forwarding target.""" - try: - host = data['host'] - except KeyError: - handler.write_json_message("No host received.", HTTP_BAD_REQUEST) - return - - try: - port = int(data['port']) if 'port' in data else None - except ValueError: - handler.write_json_message( - "Invalid value received for port", HTTP_UNPROCESSABLE_ENTITY) - return - - if handler.server.event_forwarder is not None: - api = rem.API(host, None, port) - - handler.server.event_forwarder.disconnect(api) - - handler.write_json_message("Event forwarding cancelled.") + return self.json_message("Event forwarding cancelled.") class APIComponentsView(HomeAssistantView): + """View to handle Components requests.""" + url = URL_API_COMPONENTS name = "api:components" def get(self, request): - return self.hass.config.components - - -def _handle_get_api_components(handler, path_match, data): - """Return all the loaded components.""" - handler.write_json(handler.server.hass.config.components) + """Get current loaded components.""" + return self.json(self.hass.config.components) class APIErrorLogView(HomeAssistantView): + """View to handle ErrorLog requests.""" + url = URL_API_ERROR_LOG name = "api:error-log" def get(self, request): - # TODO - return {} - - -def _handle_get_api_error_log(handler, path_match, data): - """Return the logged errors for this session.""" - handler.write_file(handler.server.hass.config.path(ERROR_LOG_FILENAME), - False) + """Serve error log.""" + return self.file(request, self.hass.config.path(ERROR_LOG_FILENAME)) class APILogOutView(HomeAssistantView): + """View to handle Log Out requests.""" + url = URL_API_LOG_OUT name = "api:log-out" def post(self, request): - # TODO + """Handle log out.""" + # TODO kill session return {} -def _handle_post_api_log_out(handler, path_match, data): - """Log user out.""" - handler.send_response(HTTP_OK) - handler.destroy_session() - handler.end_headers() - - class APITemplateView(HomeAssistantView): + """View to handle requests.""" + url = URL_API_TEMPLATE name = "api:template" def post(self, request): - # TODO - return {} - - -def _handle_post_api_template(handler, path_match, data): - """Log user out.""" - template_string = data.get('template', '') - - try: - rendered = template.render(handler.server.hass, template_string) - - handler.send_response(HTTP_OK) - handler.send_header(HTTP_HEADER_CONTENT_TYPE, CONTENT_TYPE_TEXT_PLAIN) - handler.end_headers() - handler.wfile.write(rendered.encode('utf-8')) - except TemplateError as e: - handler.write_json_message(str(e), HTTP_UNPROCESSABLE_ENTITY) - return + """Render a template.""" + try: + return template.render(self.hass, request.json['template'], + request.json.get('variables')) + except TemplateError as ex: + return self.json_message('Error rendering template: {}'.format(ex), + HTTP_BAD_REQUEST) def services_json(hass): diff --git a/homeassistant/components/camera/__init__.py b/homeassistant/components/camera/__init__.py index c473f159f65..e5c1bb6f77f 100644 --- a/homeassistant/components/camera/__init__.py +++ b/homeassistant/components/camera/__init__.py @@ -6,17 +6,12 @@ For more details about this component, please refer to the documentation at https://home-assistant.io/components/camera/ """ import logging -import re -import time - -import requests from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity_component import EntityComponent from homeassistant.components import bloomsky -from homeassistant.const import HTTP_OK, HTTP_NOT_FOUND, ATTR_ENTITY_ID from homeassistant.helpers.config_validation import PLATFORM_SCHEMA # noqa - +from homeassistant.components.http import HomeAssistantView DOMAIN = 'camera' DEPENDENCIES = ['http'] @@ -45,57 +40,11 @@ def setup(hass, config): logging.getLogger(__name__), DOMAIN, hass, SCAN_INTERVAL, DISCOVERY_PLATFORMS) + hass.wsgi.register_view(CameraImageView(hass, component.entities)) + hass.wsgi.register_view(CameraMjpegStream(hass, component.entities)) + component.setup(config) - def _proxy_camera_image(handler, path_match, data): - """Serve the camera image via the HA server.""" - entity_id = path_match.group(ATTR_ENTITY_ID) - camera = component.entities.get(entity_id) - - if camera is None: - handler.send_response(HTTP_NOT_FOUND) - handler.end_headers() - return - - response = camera.camera_image() - - if response is None: - handler.send_response(HTTP_NOT_FOUND) - handler.end_headers() - return - - handler.send_response(HTTP_OK) - handler.write_content(response) - - hass.http.register_path( - 'GET', - re.compile(r'/api/camera_proxy/(?P[a-zA-Z\._0-9]+)'), - _proxy_camera_image) - - def _proxy_camera_mjpeg_stream(handler, path_match, data): - """Proxy the camera image as an mjpeg stream via the HA server.""" - entity_id = path_match.group(ATTR_ENTITY_ID) - camera = component.entities.get(entity_id) - - if camera is None: - handler.send_response(HTTP_NOT_FOUND) - handler.end_headers() - return - - try: - camera.is_streaming = True - camera.update_ha_state() - camera.mjpeg_stream(handler) - - except (requests.RequestException, IOError): - camera.is_streaming = False - camera.update_ha_state() - - hass.http.register_path( - 'GET', - re.compile(r'/api/camera_proxy_stream/(?P[a-zA-Z\._0-9]+)'), - _proxy_camera_mjpeg_stream) - return True @@ -135,32 +84,39 @@ class Camera(Entity): """Return bytes of camera image.""" raise NotImplementedError() - def mjpeg_stream(self, handler): + def mjpeg_stream(self, response): """Generate an HTTP MJPEG stream from camera images.""" - def write_string(text): - """Helper method to write a string to the stream.""" - handler.request.sendall(bytes(text + '\r\n', 'utf-8')) + import eventlet + response.mimetype = ('multipart/x-mixed-replace; ' + 'boundary={}'.format(MULTIPART_BOUNDARY)) - write_string('HTTP/1.1 200 OK') - write_string('Content-type: multipart/x-mixed-replace; ' - 'boundary={}'.format(MULTIPART_BOUNDARY)) - write_string('') - write_string(MULTIPART_BOUNDARY) + boundary = bytes('\r\n{}\r\n'.format(MULTIPART_BOUNDARY), 'utf-8') - while True: - img_bytes = self.camera_image() + def stream(): + """Stream images as mjpeg stream.""" + try: + last_image = None + while True: + img_bytes = self.camera_image() - if img_bytes is None: - continue + if img_bytes is None: + continue + elif img_bytes == last_image: + eventlet.sleep(0.5) - write_string('Content-length: {}'.format(len(img_bytes))) - write_string('Content-type: image/jpeg') - write_string('') - handler.request.sendall(img_bytes) - write_string('') - write_string(MULTIPART_BOUNDARY) + yield bytes('Content-length: {}'.format(len(img_bytes)) + + '\r\nContent-type: image/jpeg\r\n\r\n', + 'utf-8') + yield img_bytes + yield boundary - time.sleep(0.5) + eventlet.sleep(0.5) + except GeneratorExit: + pass + + response.response = stream() + + return response @property def state(self): @@ -184,3 +140,49 @@ class Camera(Entity): attr['brand'] = self.brand return attr + + +class CameraView(HomeAssistantView): + """Base CameraView.""" + + def __init__(self, hass, entities): + """Initialize a basic camera view.""" + super().__init__(hass) + self.entities = entities + + +class CameraImageView(CameraView): + """Camera view to serve an image.""" + + url = "/api/camera_proxy/" + name = "api:camera:image" + + def get(self, request, entity_id): + """Serve camera image.""" + camera = self.entities.get(entity_id) + + if camera is None: + return self.Response(status=404) + + response = camera.camera_image() + + if response is None: + return self.Response(status=500) + + return self.Response(response) + + +class CameraMjpegStream(CameraView): + """Camera View to serve an MJPEG stream.""" + + url = "/api/camera_proxy_stream/" + name = "api:camera:stream" + + def get(self, request, entity_id): + """Serve camera image.""" + camera = self.entities.get(entity_id) + + if camera is None: + return self.Response(status=404) + + return camera.mjpeg_stream(self.Response()) diff --git a/homeassistant/components/camera/mjpeg.py b/homeassistant/components/camera/mjpeg.py index 9d5c9d96b92..79c88eb8d28 100644 --- a/homeassistant/components/camera/mjpeg.py +++ b/homeassistant/components/camera/mjpeg.py @@ -11,7 +11,6 @@ import requests from requests.auth import HTTPBasicAuth from homeassistant.components.camera import DOMAIN, Camera -from homeassistant.const import HTTP_OK from homeassistant.helpers import validate_config CONTENT_TYPE_HEADER = 'Content-Type' @@ -68,19 +67,12 @@ class MjpegCamera(Camera): with closing(self.camera_stream()) as response: return process_response(response) - def mjpeg_stream(self, handler): + def mjpeg_stream(self, response): """Generate an HTTP MJPEG stream from the camera.""" - response = self.camera_stream() - content_type = response.headers[CONTENT_TYPE_HEADER] - - handler.send_response(HTTP_OK) - handler.send_header(CONTENT_TYPE_HEADER, content_type) - handler.end_headers() - - for chunk in response.iter_content(chunk_size=1024): - if not chunk: - break - handler.wfile.write(chunk) + stream = self.camera_stream() + response.mimetype = stream.headers[CONTENT_TYPE_HEADER] + response.response = stream.iter_content(chunk_size=1024) + return response @property def name(self): diff --git a/homeassistant/components/device_tracker/locative.py b/homeassistant/components/device_tracker/locative.py index 0bb5b5ed318..1b29e7083a2 100644 --- a/homeassistant/components/device_tracker/locative.py +++ b/homeassistant/components/device_tracker/locative.py @@ -5,95 +5,92 @@ For more details about this platform, please refer to the documentation at https://home-assistant.io/components/device_tracker.locative/ """ import logging -from functools import partial from homeassistant.components.device_tracker import DOMAIN from homeassistant.const import HTTP_UNPROCESSABLE_ENTITY, STATE_NOT_HOME +from homeassistant.components.http import HomeAssistantView _LOGGER = logging.getLogger(__name__) DEPENDENCIES = ['http'] -URL_API_LOCATIVE_ENDPOINT = "/api/locative" - def setup_scanner(hass, config, see): """Setup an endpoint for the Locative application.""" - # POST would be semantically better, but that currently does not work - # since Locative sends the data as key1=value1&key2=value2 - # in the request body, while Home Assistant expects json there. - hass.http.register_path( - 'GET', URL_API_LOCATIVE_ENDPOINT, - partial(_handle_get_api_locative, hass, see)) + hass.wsgi.register_view(LocativeView(hass, see)) return True -def _handle_get_api_locative(hass, see, handler, path_match, data): - """Locative message received.""" - if not _check_data(handler, data): - return +class LocativeView(HomeAssistantView): + """View to handle locative requests.""" - device = data['device'].replace('-', '') - location_name = data['id'].lower() - direction = data['trigger'] + url = "/api/locative" + name = "api:bootstrap" - if direction == 'enter': - see(dev_id=device, location_name=location_name) - handler.write_text("Setting location to {}".format(location_name)) + def __init__(self, hass, see): + """Initialize Locative url endpoints.""" + super().__init__(hass) + self.see = see - elif direction == 'exit': - current_state = hass.states.get("{}.{}".format(DOMAIN, device)) + def get(self, request): + """Locative message received as GET.""" + return self.post(request) + + def post(self, request): + """Locative message received.""" + # pylint: disable=too-many-return-statements + data = request.values + + if 'latitude' not in data or 'longitude' not in data: + return ("Latitude and longitude not specified.", + HTTP_UNPROCESSABLE_ENTITY) + + if 'device' not in data: + _LOGGER.error("Device id not specified.") + return ("Device id not specified.", + HTTP_UNPROCESSABLE_ENTITY) + + if 'id' not in data: + _LOGGER.error("Location id not specified.") + return ("Location id not specified.", + HTTP_UNPROCESSABLE_ENTITY) + + if 'trigger' not in data: + _LOGGER.error("Trigger is not specified.") + return ("Trigger is not specified.", + HTTP_UNPROCESSABLE_ENTITY) + + device = data['device'].replace('-', '') + location_name = data['id'].lower() + direction = data['trigger'] + + if direction == 'enter': + self.see(dev_id=device, location_name=location_name) + return "Setting location to {}".format(location_name) + + elif direction == 'exit': + current_state = self.hass.states.get( + "{}.{}".format(DOMAIN, device)) + + if current_state is None or current_state.state == location_name: + self.see(dev_id=device, location_name=STATE_NOT_HOME) + return "Setting location to not home" + else: + # Ignore the message if it is telling us to exit a zone that we + # aren't currently in. This occurs when a zone is entered + # before the previous zone was exited. The enter message will + # be sent first, then the exit message will be sent second. + return 'Ignoring exit from {} (already in {})'.format( + location_name, current_state) + + elif direction == 'test': + # In the app, a test message can be sent. Just return something to + # the user to let them know that it works. + return "Received test message." - if current_state is None or current_state.state == location_name: - see(dev_id=device, location_name=STATE_NOT_HOME) - handler.write_text("Setting location to not home") else: - # Ignore the message if it is telling us to exit a zone that we - # aren't currently in. This occurs when a zone is entered before - # the previous zone was exited. The enter message will be sent - # first, then the exit message will be sent second. - handler.write_text( - 'Ignoring exit from {} (already in {})'.format( - location_name, current_state)) - - elif direction == 'test': - # In the app, a test message can be sent. Just return something to - # the user to let them know that it works. - handler.write_text("Received test message.") - - else: - handler.write_text( - "Received unidentified message: {}".format(direction), - HTTP_UNPROCESSABLE_ENTITY) - _LOGGER.error("Received unidentified message from Locative: %s", - direction) - - -def _check_data(handler, data): - """Check the data.""" - if 'latitude' not in data or 'longitude' not in data: - handler.write_text("Latitude and longitude not specified.", - HTTP_UNPROCESSABLE_ENTITY) - _LOGGER.error("Latitude and longitude not specified.") - return False - - if 'device' not in data: - handler.write_text("Device id not specified.", - HTTP_UNPROCESSABLE_ENTITY) - _LOGGER.error("Device id not specified.") - return False - - if 'id' not in data: - handler.write_text("Location id not specified.", - HTTP_UNPROCESSABLE_ENTITY) - _LOGGER.error("Location id not specified.") - return False - - if 'trigger' not in data: - handler.write_text("Trigger is not specified.", - HTTP_UNPROCESSABLE_ENTITY) - _LOGGER.error("Trigger is not specified.") - return False - - return True + _LOGGER.error("Received unidentified message from Locative: %s", + direction) + return ("Received unidentified message: {}".format(direction), + HTTP_UNPROCESSABLE_ENTITY) diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py index ca8e65e27a5..b7bca3cfd45 100644 --- a/homeassistant/components/frontend/__init__.py +++ b/homeassistant/components/frontend/__init__.py @@ -4,10 +4,9 @@ import os import logging from . import version, mdi_version -import homeassistant.util as util -from homeassistant.const import URL_ROOT, HTTP_OK +from homeassistant.const import URL_ROOT from homeassistant.components import api -from homeassistant.components.wsgi import HomeAssistantView +from homeassistant.components.http import HomeAssistantView DOMAIN = 'frontend' DEPENDENCIES = ['api'] @@ -29,27 +28,6 @@ _FINGERPRINT = re.compile(r'^(\w+)-[a-z0-9]{32}\.(\w+)$', re.IGNORECASE) def setup(hass, config): """Setup serving the frontend.""" - for url in FRONTEND_URLS: - hass.http.register_path('GET', url, _handle_get_root, False) - - hass.http.register_path('GET', '/service_worker.js', - _handle_get_service_worker, False) - - # Bootstrap API - hass.http.register_path( - 'GET', URL_API_BOOTSTRAP, _handle_get_api_bootstrap) - - # Static files - hass.http.register_path( - 'GET', re.compile(r'/static/(?P[a-zA-Z\._\-0-9/]+)'), - _handle_get_static, False) - hass.http.register_path( - 'HEAD', re.compile(r'/static/(?P[a-zA-Z\._\-0-9/]+)'), - _handle_get_static, False) - hass.http.register_path( - 'GET', re.compile(r'/local/(?P[a-zA-Z\._\-0-9/]+)'), - _handle_get_local, False) - hass.wsgi.register_view(IndexView) hass.wsgi.register_view(BootstrapView) @@ -70,32 +48,37 @@ def setup(hass, config): class BootstrapView(HomeAssistantView): + """View to bootstrap frontend with all needed data.""" + url = URL_API_BOOTSTRAP name = "api:bootstrap" def get(self, request): """Return all data needed to bootstrap Home Assistant.""" - - return { + return self.json({ 'config': self.hass.config.as_dict(), 'states': self.hass.states.all(), 'events': api.events_json(self.hass), 'services': api.services_json(self.hass), - } + }) class IndexView(HomeAssistantView): + """Serve the frontend.""" + url = URL_ROOT name = "frontend:index" + requires_auth = False extra_urls = ['/logbook', '/history', '/map', '/devService', '/devState', '/devEvent', '/devInfo', '/devTemplate', '/states/'] def __init__(self, hass): + """Initialize the frontend view.""" super().__init__(hass) from jinja2 import FileSystemLoader, Environment - self.TEMPLATES = Environment( + self.templates = Environment( loader=FileSystemLoader( os.path.join(os.path.dirname(__file__), 'templates/') ) @@ -106,81 +89,12 @@ class IndexView(HomeAssistantView): app_url = "frontend-{}.html".format(version.VERSION) # auto login if no password was set, else check api_password param - auth = ('no_password_set' if request.api_password is None + auth = ('no_password_set' if self.hass.config.api.api_password is None else request.values.get('api_password', '')) - template = self.TEMPLATES.get_template('index.html') + template = self.templates.get_template('index.html') resp = template.render(app_url=app_url, auth=auth, icons=mdi_version.VERSION) return self.Response(resp, mimetype="text/html") - - -def _handle_get_api_bootstrap(handler, path_match, data): - """Return all data needed to bootstrap Home Assistant.""" - hass = handler.server.hass - - handler.write_json({ - 'config': hass.config.as_dict(), - 'states': hass.states.all(), - 'events': api.events_json(hass), - 'services': api.services_json(hass), - }) - - -def _handle_get_root(handler, path_match, data): - """Render the frontend.""" - if handler.server.development: - app_url = "home-assistant-polymer/src/home-assistant.html" - else: - app_url = "frontend-{}.html".format(version.VERSION) - - # auto login if no password was set, else check api_password param - auth = ('no_password_set' if handler.server.api_password is None - else data.get('api_password', '')) - - with open(INDEX_PATH) as template_file: - template_html = template_file.read() - - template_html = template_html.replace('{{ app_url }}', app_url) - template_html = template_html.replace('{{ auth }}', auth) - template_html = template_html.replace('{{ icons }}', mdi_version.VERSION) - - handler.send_response(HTTP_OK) - handler.write_content(template_html.encode("UTF-8"), - 'text/html; charset=utf-8') - - -def _handle_get_service_worker(handler, path_match, data): - """Return service worker for the frontend.""" - if handler.server.development: - sw_path = "home-assistant-polymer/build/service_worker.js" - else: - sw_path = "service_worker.js" - - handler.write_file(os.path.join(os.path.dirname(__file__), 'www_static', - sw_path)) - - -def _handle_get_static(handler, path_match, data): - """Return a static file for the frontend.""" - req_file = util.sanitize_path(path_match.group('file')) - - # Strip md5 hash out - fingerprinted = _FINGERPRINT.match(req_file) - if fingerprinted: - req_file = "{}.{}".format(*fingerprinted.groups()) - - path = os.path.join(os.path.dirname(__file__), 'www_static', req_file) - - handler.write_file(path) - - -def _handle_get_local(handler, path_match, data): - """Return a static file from the hass.config.path/www for the frontend.""" - req_file = util.sanitize_path(path_match.group('file')) - - path = handler.server.hass.config.path('www', req_file) - - handler.write_file(path) diff --git a/homeassistant/components/history.py b/homeassistant/components/history.py index b3ddbe21415..4e1348e1fa9 100644 --- a/homeassistant/components/history.py +++ b/homeassistant/components/history.py @@ -12,6 +12,7 @@ from itertools import groupby from homeassistant.components import recorder, script import homeassistant.util.dt as dt_util from homeassistant.const import HTTP_BAD_REQUEST +from homeassistant.components.http import HomeAssistantView DOMAIN = 'history' DEPENDENCIES = ['recorder', 'http'] @@ -155,49 +156,51 @@ def get_state(utc_point_in_time, entity_id, run=None): # pylint: disable=unused-argument def setup(hass, config): """Setup the history hooks.""" - hass.http.register_path( - 'GET', - re.compile( - r'/api/history/entity/(?P[a-zA-Z\._0-9]+)/' - r'recent_states'), - _api_last_5_states) - - hass.http.register_path('GET', URL_HISTORY_PERIOD, _api_history_period) + hass.wsgi.register_view(Last5StatesView) + hass.wsgi.register_view(HistoryPeriodView) return True -# pylint: disable=unused-argument -# pylint: disable=invalid-name -def _api_last_5_states(handler, path_match, data): - """Return the last 5 states for an entity id as JSON.""" - entity_id = path_match.group('entity_id') +class Last5StatesView(HomeAssistantView): + """Handle last 5 state view requests.""" - handler.write_json(last_5_states(entity_id)) + url = '/api/history/entity//recent_states' + name = 'api:history:entity-recent-states' + + def get(self, request, entity_id): + """Retrieve last 5 states of entity.""" + return self.json(last_5_states(entity_id)) -def _api_history_period(handler, path_match, data): - """Return history over a period of time.""" - date_str = path_match.group('date') - one_day = timedelta(seconds=86400) +class HistoryPeriodView(HomeAssistantView): + """Handle history period requests.""" - if date_str: - start_date = dt_util.parse_date(date_str) + url = '/api/history/period' + name = 'api:history:entity-recent-states' + extra_urls = ['/api/history/period/'] - if start_date is None: - handler.write_json_message("Error parsing JSON", HTTP_BAD_REQUEST) - return + def get(self, request, date=None): + """Return history over a period of time.""" + one_day = timedelta(seconds=86400) - start_time = dt_util.as_utc(dt_util.start_of_local_day(start_date)) - else: - start_time = dt_util.utcnow() - one_day + if date: + start_date = dt_util.parse_date(date) - end_time = start_time + one_day + if start_date is None: + return self.json_message('Error parsing JSON', + HTTP_BAD_REQUEST) - entity_id = data.get('filter_entity_id') + start_time = dt_util.as_utc(dt_util.start_of_local_day(start_date)) + else: + start_time = dt_util.utcnow() - one_day - handler.write_json( - get_significant_states(start_time, end_time, entity_id).values()) + end_time = start_time + one_day + + entity_id = request.args.get('filter_entity_id') + + return self.json( + get_significant_states(start_time, end_time, entity_id).values()) def _is_significant(state): diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index 3f488b0f9ff..df1b043ce0b 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -1,41 +1,17 @@ -""" -This module provides an API and a HTTP interface for debug purposes. - -For more details about the RESTful API, please refer to the documentation at -https://home-assistant.io/developers/api/ -""" -import gzip +"""This module provides WSGI application to serve the Home Assistant API.""" import hmac import json import logging -import ssl import threading -import time -from datetime import timedelta -from http import cookies -from http.server import HTTPServer, SimpleHTTPRequestHandler -from socketserver import ThreadingMixIn -from urllib.parse import parse_qs, urlparse -import voluptuous as vol +import re -import homeassistant.bootstrap as bootstrap import homeassistant.core as ha import homeassistant.remote as rem -import homeassistant.util as util -import homeassistant.util.dt as date_util -import homeassistant.helpers.config_validation as cv -from homeassistant.const import ( - CONTENT_TYPE_JSON, CONTENT_TYPE_TEXT_PLAIN, HTTP_HEADER_ACCEPT_ENCODING, - HTTP_HEADER_CACHE_CONTROL, HTTP_HEADER_CONTENT_ENCODING, - HTTP_HEADER_CONTENT_LENGTH, HTTP_HEADER_CONTENT_TYPE, HTTP_HEADER_EXPIRES, - HTTP_HEADER_HA_AUTH, HTTP_HEADER_VARY, - HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, - HTTP_HEADER_ACCESS_CONTROL_ALLOW_HEADERS, HTTP_METHOD_NOT_ALLOWED, - HTTP_NOT_FOUND, HTTP_OK, HTTP_UNAUTHORIZED, HTTP_UNPROCESSABLE_ENTITY, - ALLOWED_CORS_HEADERS, - SERVER_PORT, URL_ROOT, URL_API_EVENT_FORWARD) +from homeassistant import util +from homeassistant.const import SERVER_PORT, HTTP_HEADER_HA_AUTH DOMAIN = "http" +REQUIREMENTS = ("eventlet==0.18.4", "static3==0.6.1", "Werkzeug==0.11.5",) CONF_API_PASSWORD = "api_password" CONF_SERVER_HOST = "server_host" @@ -43,61 +19,42 @@ CONF_SERVER_PORT = "server_port" CONF_DEVELOPMENT = "development" CONF_SSL_CERTIFICATE = 'ssl_certificate' CONF_SSL_KEY = 'ssl_key' -CONF_CORS_ORIGINS = 'cors_allowed_origins' DATA_API_PASSWORD = 'api_password' -# Throttling time in seconds for expired sessions check -SESSION_CLEAR_INTERVAL = timedelta(seconds=20) -SESSION_TIMEOUT_SECONDS = 1800 -SESSION_KEY = 'sessionId' +_FINGERPRINT = re.compile(r'^(.+)-[a-z0-9]{32}\.(\w+)$', re.IGNORECASE) _LOGGER = logging.getLogger(__name__) -CONFIG_SCHEMA = vol.Schema({ - DOMAIN: vol.Schema({ - vol.Optional(CONF_API_PASSWORD): cv.string, - vol.Optional(CONF_SERVER_HOST): cv.string, - vol.Optional(CONF_SERVER_PORT, default=SERVER_PORT): - vol.All(vol.Coerce(int), vol.Range(min=1, max=65535)), - vol.Optional(CONF_DEVELOPMENT): cv.string, - vol.Optional(CONF_SSL_CERTIFICATE): cv.isfile, - vol.Optional(CONF_SSL_KEY): cv.isfile, - vol.Optional(CONF_CORS_ORIGINS): cv.ensure_list - }), -}, extra=vol.ALLOW_EXTRA) - def setup(hass, config): """Set up the HTTP API and debug interface.""" conf = config.get(DOMAIN, {}) api_password = util.convert(conf.get(CONF_API_PASSWORD), str) - - # If no server host is given, accept all incoming requests server_host = conf.get(CONF_SERVER_HOST, '0.0.0.0') server_port = conf.get(CONF_SERVER_PORT, SERVER_PORT) development = str(conf.get(CONF_DEVELOPMENT, "")) == "1" ssl_certificate = conf.get(CONF_SSL_CERTIFICATE) ssl_key = conf.get(CONF_SSL_KEY) - cors_origins = conf.get(CONF_CORS_ORIGINS, []) - try: - server = HomeAssistantHTTPServer( - (server_host, server_port), RequestHandler, hass, api_password, - development, ssl_certificate, ssl_key, cors_origins) - except OSError: - # If address already in use - _LOGGER.exception("Error setting up HTTP server") - return False + server = HomeAssistantWSGI( + hass, + development=development, + server_host=server_host, + server_port=server_port, + api_password=api_password, + ssl_certificate=ssl_certificate, + ssl_key=ssl_key, + ) hass.bus.listen_once( ha.EVENT_HOMEASSISTANT_START, lambda event: threading.Thread(target=server.start, daemon=True, - name='HTTP-server').start()) + name='WSGI-server').start()) - hass.http = server + hass.wsgi = server hass.config.api = rem.API(server_host if server_host != '0.0.0.0' else util.get_local_ip(), api_password, server_port, @@ -106,413 +63,277 @@ def setup(hass, config): return True -# pylint: disable=too-many-instance-attributes -class HomeAssistantHTTPServer(ThreadingMixIn, HTTPServer): - """Handle HTTP requests in a threaded fashion.""" +# class StaticFileServer(object): +# """Static file serving middleware.""" - # pylint: disable=too-few-public-methods - allow_reuse_address = True - daemon_threads = True +# def __call__(self, environ, start_response): +# from werkzeug.wsgi import DispatcherMiddleware +# app = DispatcherMiddleware(self.base_app, self.extra_apps) +# # Strip out any cachebusting MD% fingerprints +# fingerprinted = _FINGERPRINT.match(environ['PATH_INFO']) +# if fingerprinted: +# environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) +# return app(environ, start_response) + +class HomeAssistantWSGI(object): + """WSGI server for Home Assistant.""" + + # pylint: disable=too-many-instance-attributes, too-many-locals # pylint: disable=too-many-arguments - def __init__(self, server_address, request_handler_class, - hass, api_password, development, ssl_certificate, ssl_key, - cors_origins): - """Initialize the server.""" - super().__init__(server_address, request_handler_class) - self.server_address = server_address + def __init__(self, hass, development, api_password, ssl_certificate, + ssl_key, server_host, server_port): + """Initilalize the WSGI Home Assistant server.""" + from werkzeug.exceptions import BadRequest + from werkzeug.wrappers import BaseRequest, AcceptMixin + from werkzeug.contrib.wrappers import JSONRequestMixin + from werkzeug.routing import Map + from werkzeug.utils import cached_property + from werkzeug.wrappers import Response + + class Request(BaseRequest, AcceptMixin, JSONRequestMixin): + """Base class for incoming requests.""" + + @cached_property + def json(self): + """Get the result of json.loads if possible.""" + if not self.data: + return None + elif 'json' not in self.environ.get('CONTENT_TYPE', ''): + raise BadRequest('Not a JSON request') + try: + return json.loads(self.data.decode( + self.charset, self.encoding_errors)) + except (TypeError, ValueError): + raise BadRequest('Unable to read JSON request') + + Response.mimetype = 'text/html' + + # pylint: disable=invalid-name + self.Request = Request + self.url_map = Map() + self.views = {} self.hass = hass - self.api_password = api_password + self.extra_apps = {} self.development = development - self.paths = [] - self.sessions = SessionStore() - self.use_ssl = ssl_certificate is not None - self.cors_origins = cors_origins - - # We will lazy init this one if needed + self.api_password = api_password + self.ssl_certificate = ssl_certificate + self.ssl_key = ssl_key + self.server_host = server_host + self.server_port = server_port self.event_forwarder = None - if development: - _LOGGER.info("running http in development mode") + def register_view(self, view): + """Register a view with the WSGI server. - if ssl_certificate is not None: - context = ssl.create_default_context( - purpose=ssl.Purpose.CLIENT_AUTH) - context.load_cert_chain(ssl_certificate, keyfile=ssl_key) - self.socket = context.wrap_socket(self.socket, server_side=True) + The view argument must inherit from the HomeAssistantView class, and + it must have (globally unique) 'url' and 'name' attributes. + """ + from werkzeug.routing import Rule + + if view.name in self.views: + _LOGGER.warning("View '%s' is being overwritten", view.name) + if isinstance(view, type): + view = view(self.hass) + + self.views[view.name] = view + + rule = Rule(view.url, endpoint=view.name) + self.url_map.add(rule) + for url in view.extra_urls: + rule = Rule(url, endpoint=view.name) + self.url_map.add(rule) + + def register_redirect(self, url, redirect_to): + """Register a redirect with the server. + + If given this must be either a string or callable. In case of a + callable it’s called with the url adapter that triggered the match and + the values of the URL as keyword arguments and has to return the target + for the redirect, otherwise it has to be a string with placeholders in + rule syntax. + """ + from werkzeug.routing import Rule + + self.url_map.add(Rule(url, redirect_to=redirect_to)) + + def register_static_path(self, url_root, path): + """Register a folder to serve as a static path.""" + from static import Cling + + if url_root in self.extra_apps: + _LOGGER.warning("Static path '%s' is being overwritten", path) + self.extra_apps[url_root] = Cling(path) def start(self): - """Start the HTTP server.""" - def stop_http(event): - """Stop the HTTP server.""" - self.shutdown() + """Start the wsgi server.""" + from eventlet import wsgi + import eventlet - self.hass.bus.listen_once(ha.EVENT_HOMEASSISTANT_STOP, stop_http) + sock = eventlet.listen((self.server_host, self.server_port)) + if self.ssl_certificate: + eventlet.wrap_ssl(sock, certfile=self.ssl_certificate, + keyfile=self.ssl_key, server_side=True) + wsgi.server(sock, self) - protocol = 'https' if self.use_ssl else 'http' + def dispatch_request(self, request): + """Handle incoming request.""" + from werkzeug.exceptions import ( + MethodNotAllowed, NotFound, BadRequest, Unauthorized, + ) + from werkzeug.routing import RequestRedirect - _LOGGER.info( - "Starting web interface at %s://%s:%d", - protocol, self.server_address[0], self.server_address[1]) - - # 31-1-2015: Refactored frontend/api components out of this component - # To prevent stuff from breaking, load the two extracted components - bootstrap.setup_component(self.hass, 'api') - bootstrap.setup_component(self.hass, 'frontend') - - self.serve_forever() - - def register_path(self, method, url, callback, require_auth=True): - """Register a path with the server.""" - self.paths.append((method, url, callback, require_auth)) - - def log_message(self, fmt, *args): - """Redirect built-in log to HA logging.""" - # pylint: disable=no-self-use - _LOGGER.info(fmt, *args) - - -# pylint: disable=too-many-public-methods,too-many-locals -class RequestHandler(SimpleHTTPRequestHandler): - """Handle incoming HTTP requests. - - We extend from SimpleHTTPRequestHandler instead of Base so we - can use the guess content type methods. - """ - - server_version = "HomeAssistant/1.0" - - def __init__(self, req, client_addr, server): - """Constructor, call the base constructor and set up session.""" - # Track if this was an authenticated request - self.authenticated = False - SimpleHTTPRequestHandler.__init__(self, req, client_addr, server) - self.protocol_version = 'HTTP/1.1' - - def log_message(self, fmt, *arguments): - """Redirect built-in log to HA logging.""" - if self.server.api_password is None: - _LOGGER.info(fmt, *arguments) - else: - _LOGGER.info( - fmt, *(arg.replace(self.server.api_password, '*******') - if isinstance(arg, str) else arg for arg in arguments)) - - def _handle_request(self, method): # pylint: disable=too-many-branches - """Perform some common checks and call appropriate method.""" - url = urlparse(self.path) - - # Read query input. parse_qs gives a list for each value, we want last - data = {key: data[-1] for key, data in parse_qs(url.query).items()} - - # Did we get post input ? - content_length = int(self.headers.get(HTTP_HEADER_CONTENT_LENGTH, 0)) - - if content_length: - body_content = self.rfile.read(content_length).decode("UTF-8") - - try: - data.update(json.loads(body_content)) - except (TypeError, ValueError): - # TypeError if JSON object is not a dict - # ValueError if we could not parse JSON - _LOGGER.exception( - "Exception parsing JSON: %s", body_content) - self.write_json_message( - "Error parsing JSON", HTTP_UNPROCESSABLE_ENTITY) - return - - if self.verify_session(): - # The user has a valid session already - self.authenticated = True - elif self.server.api_password is None: - # No password is set, so everyone is authenticated - self.authenticated = True - elif hmac.compare_digest(self.headers.get(HTTP_HEADER_HA_AUTH, ''), - self.server.api_password): - # A valid auth header has been set - self.authenticated = True - elif hmac.compare_digest(data.get(DATA_API_PASSWORD, ''), - self.server.api_password): - # A valid password has been specified - self.authenticated = True - else: - self.authenticated = False - - # we really shouldn't need to forward the password from here - if url.path not in [URL_ROOT, URL_API_EVENT_FORWARD]: - data.pop(DATA_API_PASSWORD, None) - - if '_METHOD' in data: - method = data.pop('_METHOD') - - # Var to keep track if we found a path that matched a handler but - # the method was different - path_matched_but_not_method = False - - # Var to hold the handler for this path and method if found - handle_request_method = False - require_auth = True - - # Check every handler to find matching result - for t_method, t_path, t_handler, t_auth in self.server.paths: - # we either do string-comparison or regular expression matching - # pylint: disable=maybe-no-member - if isinstance(t_path, str): - path_match = url.path == t_path - else: - path_match = t_path.match(url.path) - - if path_match and method == t_method: - # Call the method - handle_request_method = t_handler - require_auth = t_auth - break - - elif path_match: - path_matched_but_not_method = True - - # Did we find a handler for the incoming request? - if handle_request_method: - # For some calls we need a valid password - msg = "API password missing or incorrect." - if require_auth and not self.authenticated: - self.write_json_message(msg, HTTP_UNAUTHORIZED) - _LOGGER.warning('%s Source IP: %s', - msg, - self.client_address[0]) - return - - handle_request_method(self, path_match, data) - - elif path_matched_but_not_method: - self.send_response(HTTP_METHOD_NOT_ALLOWED) - self.end_headers() - - else: - self.send_response(HTTP_NOT_FOUND) - self.end_headers() - - def do_HEAD(self): # pylint: disable=invalid-name - """HEAD request handler.""" - self._handle_request('HEAD') - - def do_GET(self): # pylint: disable=invalid-name - """GET request handler.""" - self._handle_request('GET') - - def do_POST(self): # pylint: disable=invalid-name - """POST request handler.""" - self._handle_request('POST') - - def do_PUT(self): # pylint: disable=invalid-name - """PUT request handler.""" - self._handle_request('PUT') - - def do_DELETE(self): # pylint: disable=invalid-name - """DELETE request handler.""" - self._handle_request('DELETE') - - def write_json_message(self, message, status_code=HTTP_OK): - """Helper method to return a message to the caller.""" - self.write_json({'message': message}, status_code=status_code) - - def write_json(self, data=None, status_code=HTTP_OK, location=None): - """Helper method to return JSON to the caller.""" - json_data = json.dumps(data, indent=4, sort_keys=True, - cls=rem.JSONEncoder).encode('UTF-8') - self.send_response(status_code) - - if location: - self.send_header('Location', location) - - self.set_session_cookie_header() - - self.write_content(json_data, CONTENT_TYPE_JSON) - - def write_text(self, message, status_code=HTTP_OK): - """Helper method to return a text message to the caller.""" - msg_data = message.encode('UTF-8') - self.send_response(status_code) - self.set_session_cookie_header() - - self.write_content(msg_data, CONTENT_TYPE_TEXT_PLAIN) - - def write_file(self, path, cache_headers=True): - """Return a file to the user.""" + adapter = self.url_map.bind_to_environ(request.environ) try: - with open(path, 'rb') as inp: - self.write_file_pointer(self.guess_type(path), inp, - cache_headers) + endpoint, values = adapter.match() + return self.views[endpoint].handle_request(request, **values) + except RequestRedirect as ex: + return ex + except BadRequest as ex: + return self._handle_error(request, str(ex), 400) + except NotFound as ex: + return self._handle_error(request, str(ex), 404) + except MethodNotAllowed as ex: + return self._handle_error(request, str(ex), 405) + except Unauthorized as ex: + return self._handle_error(request, str(ex), 401) + # TODO This long chain of except blocks is silly. _handle_error should + # just take the exception as an argument and parse the status code + # itself - except IOError: - self.send_response(HTTP_NOT_FOUND) - self.end_headers() - _LOGGER.exception("Unable to serve %s", path) + def base_app(self, environ, start_response): + """WSGI Handler of requests to base app.""" + request = self.Request(environ) + response = self.dispatch_request(request) + return response(environ, start_response) - def write_file_pointer(self, content_type, inp, cache_headers=True): - """Helper function to write a file pointer to the user.""" - self.send_response(HTTP_OK) + def __call__(self, environ, start_response): + """Handle a request for base app + extra apps.""" + from werkzeug.wsgi import DispatcherMiddleware - if cache_headers: - self.set_cache_header() - self.set_session_cookie_header() + app = DispatcherMiddleware(self.base_app, self.extra_apps) + # Strip out any cachebusting MD5 fingerprints + fingerprinted = _FINGERPRINT.match(environ.get('PATH_INFO', '')) + if fingerprinted: + environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) + return app(environ, start_response) - self.write_content(inp.read(), content_type) + def _handle_error(self, request, message, status): + """Handle a WSGI request error.""" + from werkzeug.wrappers import Response + if request.accept_mimetypes.accept_json: + message = json.dumps({ + "result": "error", + "message": message, + }) + mimetype = "application/json" + else: + mimetype = "text/plain" + return Response(message, status=status, mimetype=mimetype) - def write_content(self, content, content_type=None): - """Helper method to write content bytes to output stream.""" - if content_type is not None: - self.send_header(HTTP_HEADER_CONTENT_TYPE, content_type) - if 'gzip' in self.headers.get(HTTP_HEADER_ACCEPT_ENCODING, ''): - content = gzip.compress(content) +class HomeAssistantView(object): + """Base view for all views.""" - self.send_header(HTTP_HEADER_CONTENT_ENCODING, "gzip") - self.send_header(HTTP_HEADER_VARY, HTTP_HEADER_ACCEPT_ENCODING) + extra_urls = [] + requires_auth = True # Views inheriting from this class can override this - self.send_header(HTTP_HEADER_CONTENT_LENGTH, str(len(content))) + def __init__(self, hass): + """Initilalize the base view.""" + from werkzeug.wrappers import Response - cors_check = (self.headers.get("Origin") in self.server.cors_origins) + self.hass = hass + # pylint: disable=invalid-name + self.Response = Response - cors_headers = ", ".join(ALLOWED_CORS_HEADERS) - - if self.server.cors_origins and cors_check: - self.send_header(HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, - self.headers.get("Origin")) - self.send_header(HTTP_HEADER_ACCESS_CONTROL_ALLOW_HEADERS, - cors_headers) - self.end_headers() - - if self.command == 'HEAD': - return - - self.wfile.write(content) - - def set_cache_header(self): - """Add cache headers if not in development.""" - if self.server.development: - return - - # 1 year in seconds - cache_time = 365 * 86400 - - self.send_header( - HTTP_HEADER_CACHE_CONTROL, - "public, max-age={}".format(cache_time)) - self.send_header( - HTTP_HEADER_EXPIRES, - self.date_time_string(time.time()+cache_time)) - - def set_session_cookie_header(self): - """Add the header for the session cookie and return session ID.""" - if not self.authenticated: - return None - - session_id = self.get_cookie_session_id() - - if session_id is not None: - self.server.sessions.extend_validation(session_id) - return session_id - - self.send_header( - 'Set-Cookie', - '{}={}'.format(SESSION_KEY, self.server.sessions.create()) + def handle_request(self, request, **values): + """Handle request to url.""" + from werkzeug.exceptions import ( + MethodNotAllowed, Unauthorized, BadRequest, ) - return session_id - - def verify_session(self): - """Verify that we are in a valid session.""" - return self.get_cookie_session_id() is not None - - def get_cookie_session_id(self): - """Extract the current session ID from the cookie. - - Return None if not set or invalid. - """ - if 'Cookie' not in self.headers: - return None - - cookie = cookies.SimpleCookie() try: - cookie.load(self.headers["Cookie"]) - except cookies.CookieError: - return None + handler = getattr(self, request.method.lower()) + except AttributeError: + raise MethodNotAllowed - morsel = cookie.get(SESSION_KEY) + # TODO: session support + uncomment session test - if morsel is None: - return None + # Auth code verbose on purpose + authenticated = False - session_id = cookie[SESSION_KEY].value + if not self.requires_auth: + authenticated = True - if self.server.sessions.is_valid(session_id): - return session_id + elif self.hass.wsgi.api_password is None: + authenticated = True - return None + elif hmac.compare_digest(request.headers.get(HTTP_HEADER_HA_AUTH, ''), + self.hass.wsgi.api_password): + # A valid auth header has been set + authenticated = True - def destroy_session(self): - """Destroy the session.""" - session_id = self.get_cookie_session_id() + elif hmac.compare_digest(request.args.get(DATA_API_PASSWORD, ''), + self.hass.wsgi.api_password): + authenticated = True - if session_id is None: - return + else: + # Do we still want to support passing it in as post data? + try: + json_data = request.json + if (json_data is not None and + hmac.compare_digest( + json_data.get(DATA_API_PASSWORD, ''), + self.hass.wsgi.api_password)): + authenticated = True + except BadRequest: + pass - self.send_header('Set-Cookie', '') - self.server.sessions.destroy(session_id) + if not authenticated: + raise Unauthorized() + result = handler(request, **values) -def session_valid_time(): - """Time till when a session will be valid.""" - return date_util.utcnow() + timedelta(seconds=SESSION_TIMEOUT_SECONDS) + if isinstance(result, self.Response): + # The method handler returned a ready-made Response, how nice of it + return result + status_code = 200 -class SessionStore(object): - """Responsible for storing and retrieving HTTP sessions.""" + if isinstance(result, tuple): + result, status_code = result - def __init__(self): - """Setup the session store.""" - self._sessions = {} - self._lock = threading.RLock() + return self.Response(result, status=status_code) - @util.Throttle(SESSION_CLEAR_INTERVAL) - def _remove_expired(self): - """Remove any expired sessions.""" - now = date_util.utcnow() - for key in [key for key, valid_time in self._sessions.items() - if valid_time < now]: - self._sessions.pop(key) + def json(self, result, status_code=200): + """Return a JSON response.""" + msg = json.dumps( + result, + sort_keys=True, + cls=rem.JSONEncoder + ).encode('UTF-8') + return self.Response(msg, mimetype="application/json", + status=status_code) - def is_valid(self, key): - """Return True if a valid session is given.""" - with self._lock: - self._remove_expired() + def json_message(self, error, status_code=200): + """Return a JSON message response.""" + return self.json({'message': error}, status_code) - return (key in self._sessions and - self._sessions[key] > date_util.utcnow()) + def file(self, request, fil, content_type=None): + """Return a file.""" + from werkzeug.wsgi import wrap_file + from werkzeug.exceptions import NotFound - def extend_validation(self, key): - """Extend a session validation time.""" - with self._lock: - if key not in self._sessions: - return - self._sessions[key] = session_valid_time() + if isinstance(fil, str): + try: + fil = open(fil) + except IOError: + raise NotFound() - def destroy(self, key): - """Destroy a session by key.""" - with self._lock: - self._sessions.pop(key, None) + # TODO mimetypes, etc - def create(self): - """Create a new session.""" - with self._lock: - session_id = util.get_random_string(20) - - while session_id in self._sessions: - session_id = util.get_random_string(20) - - self._sessions[session_id] = session_valid_time() - - return session_id + resp = self.Response(wrap_file(request.environ, fil)) + if content_type is not None: + resp.mimetype = content_type + return resp diff --git a/homeassistant/components/logbook.py b/homeassistant/components/logbook.py index 052f30bf83b..629fb236b3c 100644 --- a/homeassistant/components/logbook.py +++ b/homeassistant/components/logbook.py @@ -21,6 +21,7 @@ from homeassistant.core import State from homeassistant.helpers.entity import split_entity_id from homeassistant.helpers import template import homeassistant.helpers.config_validation as cv +from homeassistant.components.http import HomeAssistantView DOMAIN = "logbook" DEPENDENCIES = ['recorder', 'http'] @@ -76,34 +77,40 @@ def setup(hass, config): message = template.render(hass, message) log_entry(hass, name, message, domain, entity_id) - hass.http.register_path('GET', URL_LOGBOOK, _handle_get_logbook) + hass.wsgi.register_view(LogbookView) + hass.services.register(DOMAIN, 'log', log_message, schema=LOG_MESSAGE_SCHEMA) return True -def _handle_get_logbook(handler, path_match, data): - """Return logbook entries.""" - date_str = path_match.group('date') +class LogbookView(HomeAssistantView): + """Handle logbook view requests.""" - if date_str: - start_date = dt_util.parse_date(date_str) + url = '/api/logbook' + name = 'api:logbook' + extra_urls = ['/api/logbook/'] - if start_date is None: - handler.write_json_message("Error parsing JSON", HTTP_BAD_REQUEST) - return + def get(self, request, date=None): + """Retrieve logbook entries.""" + if date: + start_date = dt_util.parse_date(date) - start_day = dt_util.start_of_local_day(start_date) - else: - start_day = dt_util.start_of_local_day() + if start_date is None: + return self.json_message('Error parsing JSON', + HTTP_BAD_REQUEST) - end_day = start_day + timedelta(days=1) + start_day = dt_util.start_of_local_day(start_date) + else: + start_day = dt_util.start_of_local_day() - events = recorder.query_events( - QUERY_EVENTS_BETWEEN, - (dt_util.as_utc(start_day), dt_util.as_utc(end_day))) + end_day = start_day + timedelta(days=1) - handler.write_json(humanify(events)) + events = recorder.query_events( + QUERY_EVENTS_BETWEEN, + (dt_util.as_utc(start_day), dt_util.as_utc(end_day))) + + return self.json(humanify(events)) class Entry(object): diff --git a/homeassistant/components/sensor/fitbit.py b/homeassistant/components/sensor/fitbit.py index eb9e6fdc00d..b83c11c9e26 100644 --- a/homeassistant/components/sensor/fitbit.py +++ b/homeassistant/components/sensor/fitbit.py @@ -14,6 +14,7 @@ from homeassistant.const import HTTP_OK, TEMP_CELSIUS from homeassistant.util import Throttle from homeassistant.helpers.entity import Entity from homeassistant.loader import get_component +from homeassistant.components.http import HomeAssistantView _LOGGER = logging.getLogger(__name__) REQUIREMENTS = ["fitbit==0.2.2"] @@ -248,70 +249,83 @@ def setup_platform(hass, config, add_devices, discovery_info=None): redirect_uri = "{}{}".format(hass.config.api.base_url, FITBIT_AUTH_CALLBACK_PATH) - def _start_fitbit_auth(handler, path_match, data): - """Start Fitbit OAuth2 flow.""" - url, _ = oauth.authorize_token_url(redirect_uri=redirect_uri, - scope=["activity", "heartrate", - "nutrition", "profile", - "settings", "sleep", - "weight"]) - handler.send_response(301) - handler.send_header("Location", url) - handler.end_headers() + fitbit_auth_start_url, _ = oauth.authorize_token_url( + redirect_uri=redirect_uri, + scope=["activity", "heartrate", "nutrition", "profile", + "settings", "sleep", "weight"]) - def _finish_fitbit_auth(handler, path_match, data): - """Finish Fitbit OAuth2 flow.""" - response_message = """Fitbit has been successfully authorized! - You can close this window now!""" - from oauthlib.oauth2.rfc6749.errors import MismatchingStateError - from oauthlib.oauth2.rfc6749.errors import MissingTokenError - if data.get("code") is not None: - try: - oauth.fetch_access_token(data.get("code"), redirect_uri) - except MissingTokenError as error: - _LOGGER.error("Missing token: %s", error) - response_message = """Something went wrong when - attempting authenticating with Fitbit. The error - encountered was {}. Please try again!""".format(error) - except MismatchingStateError as error: - _LOGGER.error("Mismatched state, CSRF error: %s", error) - response_message = """Something went wrong when - attempting authenticating with Fitbit. The error - encountered was {}. Please try again!""".format(error) - else: - _LOGGER.error("Unknown error when authing") - response_message = """Something went wrong when - attempting authenticating with Fitbit. - An unknown error occurred. Please try again! - """ - - html_response = """Fitbit Auth -

{}

""".format(response_message) - - html_response = html_response.encode("utf-8") - - handler.send_response(HTTP_OK) - handler.write_content(html_response, content_type="text/html") - - config_contents = { - "access_token": oauth.token["access_token"], - "refresh_token": oauth.token["refresh_token"], - "client_id": oauth.client_id, - "client_secret": oauth.client_secret - } - if not config_from_file(config_path, config_contents): - _LOGGER.error("failed to save config file") - - setup_platform(hass, config, add_devices, discovery_info=None) - - hass.http.register_path("GET", FITBIT_AUTH_START, _start_fitbit_auth, - require_auth=False) - hass.http.register_path("GET", FITBIT_AUTH_CALLBACK_PATH, - _finish_fitbit_auth, require_auth=False) + hass.wsgi.register_redirect(FITBIT_AUTH_START, fitbit_auth_start_url) + hass.wsgi.register_view(FitbitAuthCallbackView(hass, config, + add_devices, oauth)) request_oauth_completion(hass) +class FitbitAuthCallbackView(HomeAssistantView): + """Handle OAuth finish callback requests.""" + + requires_auth = False + url = '/auth/fitbit/callback' + name = 'auth:fitbit:callback' + + def __init__(self, hass, config, add_devices, oauth): + """Initialize the OAuth callback view.""" + super().__init__(hass) + self.config = config + self.add_devices = add_devices + self.oauth = oauth + + def get(self, request): + """Finish OAuth callback request.""" + from oauthlib.oauth2.rfc6749.errors import MismatchingStateError + from oauthlib.oauth2.rfc6749.errors import MissingTokenError + + data = request.args + + response_message = """Fitbit has been successfully authorized! + You can close this window now!""" + + if data.get("code") is not None: + redirect_uri = "{}{}".format(self.hass.config.api.base_url, + FITBIT_AUTH_CALLBACK_PATH) + + try: + self.oauth.fetch_access_token(data.get("code"), redirect_uri) + except MissingTokenError as error: + _LOGGER.error("Missing token: %s", error) + response_message = """Something went wrong when + attempting authenticating with Fitbit. The error + encountered was {}. Please try again!""".format(error) + except MismatchingStateError as error: + _LOGGER.error("Mismatched state, CSRF error: %s", error) + response_message = """Something went wrong when + attempting authenticating with Fitbit. The error + encountered was {}. Please try again!""".format(error) + else: + _LOGGER.error("Unknown error when authing") + response_message = """Something went wrong when + attempting authenticating with Fitbit. + An unknown error occurred. Please try again! + """ + + html_response = """Fitbit Auth +

{}

""".format(response_message) + + config_contents = { + "access_token": self.oauth.token["access_token"], + "refresh_token": self.oauth.token["refresh_token"], + "client_id": self.oauth.client_id, + "client_secret": self.oauth.client_secret + } + if not config_from_file(self.hass.config.path(FITBIT_CONFIG_FILE), + config_contents): + _LOGGER.error("failed to save config file") + + setup_platform(self.hass, self.config, self.add_devices) + + return html_response + + # pylint: disable=too-few-public-methods class FitbitSensor(Entity): """Implementation of a Fitbit sensor.""" diff --git a/homeassistant/components/sensor/torque.py b/homeassistant/components/sensor/torque.py index db8f030128e..55c6aef31d0 100644 --- a/homeassistant/components/sensor/torque.py +++ b/homeassistant/components/sensor/torque.py @@ -7,8 +7,8 @@ https://home-assistant.io/components/sensor.torque/ import re -from homeassistant.const import HTTP_OK from homeassistant.helpers.entity import Entity +from homeassistant.components.http import HomeAssistantView DOMAIN = 'torque' DEPENDENCIES = ['http'] @@ -43,12 +43,31 @@ def setup_platform(hass, config, add_devices, discovery_info=None): email = config.get('email', None) sensors = {} - def _receive_data(handler, path_match, data): - """Received data from Torque.""" - handler.send_response(HTTP_OK) - handler.end_headers() + hass.wsgi.register_view(TorqueReceiveDataView(hass, email, vehicle, + sensors, add_devices)) + return True - if email is not None and email != data[SENSOR_EMAIL_FIELD]: + +class TorqueReceiveDataView(HomeAssistantView): + """Handle data from Torque requests.""" + + url = API_PATH + name = 'api:torque' + + # pylint: disable=too-many-arguments + def __init__(self, hass, email, vehicle, sensors, add_devices): + """Initialize a Torque view.""" + super().__init__(hass) + self.email = email + self.vehicle = vehicle + self.sensors = sensors + self.add_devices = add_devices + + def get(self, request): + """Handle Torque data request.""" + data = request.args + + if self.email is not None and self.email != data[SENSOR_EMAIL_FIELD]: return names = {} @@ -66,18 +85,17 @@ def setup_platform(hass, config, add_devices, discovery_info=None): units[pid] = decode(data[key]) elif is_value: pid = convert_pid(is_value.group(1)) - if pid in sensors: - sensors[pid].on_update(data[key]) + if pid in self.sensors: + self.sensors[pid].on_update(data[key]) for pid in names: - if pid not in sensors: - sensors[pid] = TorqueSensor( - ENTITY_NAME_FORMAT.format(vehicle, names[pid]), + if pid not in self.sensors: + self.sensors[pid] = TorqueSensor( + ENTITY_NAME_FORMAT.format(self.vehicle, names[pid]), units.get(pid, None)) - add_devices([sensors[pid]]) + self.add_devices([self.sensors[pid]]) - hass.http.register_path('GET', API_PATH, _receive_data) - return True + return None class TorqueSensor(Entity): diff --git a/homeassistant/components/wsgi.py b/homeassistant/components/wsgi.py deleted file mode 100644 index 912c4d087a0..00000000000 --- a/homeassistant/components/wsgi.py +++ /dev/null @@ -1,218 +0,0 @@ -""" -This module provides WSGI application to serve the Home Assistant API. - -""" -import json -import logging -import threading -import re - -import homeassistant.core as ha -import homeassistant.remote as rem -from homeassistant import util -from homeassistant.const import ( - SERVER_PORT, HTTP_OK, HTTP_NOT_FOUND, HTTP_BAD_REQUEST -) - -DOMAIN = "wsgi" -REQUIREMENTS = ("eventlet==0.18.4", "static3==0.6.1", "Werkzeug==0.11.5",) - -CONF_API_PASSWORD = "api_password" -CONF_SERVER_HOST = "server_host" -CONF_SERVER_PORT = "server_port" -CONF_DEVELOPMENT = "development" -CONF_SSL_CERTIFICATE = 'ssl_certificate' -CONF_SSL_KEY = 'ssl_key' - -DATA_API_PASSWORD = 'api_password' - -_FINGERPRINT = re.compile(r'^(.+)-[a-z0-9]{32}\.(\w+)$', re.IGNORECASE) - -_LOGGER = logging.getLogger(__name__) - - -def setup(hass, config): - """Set up the HTTP API and debug interface.""" - conf = config.get(DOMAIN, {}) - - server = HomeAssistantWSGI( - hass, - development=str(conf.get(CONF_DEVELOPMENT, "")) == "1", - server_host=conf.get(CONF_SERVER_HOST, '0.0.0.0'), - server_port=conf.get(CONF_SERVER_PORT, SERVER_PORT), - api_password=util.convert(conf.get(CONF_API_PASSWORD), str), - ssl_certificate=conf.get(CONF_SSL_CERTIFICATE), - ssl_key=conf.get(CONF_SSL_KEY), - ) - - hass.bus.listen_once( - ha.EVENT_HOMEASSISTANT_START, - lambda event: - threading.Thread(target=server.start, daemon=True, - name='WSGI-server').start()) - - hass.wsgi = server - - return True - - -class StaticFileServer(object): - def __call__(self, environ, start_response): - from werkzeug.wsgi import DispatcherMiddleware - app = DispatcherMiddleware(self.base_app, self.extra_apps) - # Strip out any cachebusting MD% fingerprints - fingerprinted = _FINGERPRINT.match(environ['PATH_INFO']) - if fingerprinted: - environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) - return app(environ, start_response) - - -class HomeAssistantWSGI(object): - def __init__(self, hass, development, api_password, ssl_certificate, - ssl_key, server_host, server_port): - from werkzeug.wrappers import BaseRequest, AcceptMixin - from werkzeug.routing import Map - - class Request(BaseRequest, AcceptMixin): - pass - - self.Request = Request - self.url_map = Map() - self.views = {} - self.hass = hass - self.extra_apps = {} - self.development = development - self.api_password = api_password - self.ssl_certificate = ssl_certificate - self.ssl_key = ssl_key - - def register_view(self, view): - """ Register a view with the WSGI server. - - The view argument must inherit from the HomeAssistantView class, and - it must have (globally unique) 'url' and 'name' attributes. - """ - from werkzeug.routing import Rule - - if view.name in self.views: - _LOGGER.warning("View '{}' is being overwritten".format(view.name)) - self.views[view.name] = view(self.hass) - # TODO Warn if we're overriding an existing view - rule = Rule(view.url, endpoint=view.name) - self.url_map.add(rule) - for url in view.extra_urls: - rule = Rule(url, endpoint=view.name) - self.url_map.add(rule) - - def register_static_path(self, url_root, path): - """Register a folder to serve as a static path.""" - from static import Cling - - # TODO Warn if we're overwriting an existing path - self.extra_apps[url_root] = Cling(path) - - def start(self): - """Start the wsgi server.""" - from eventlet import wsgi - import eventlet - - sock = eventlet.listen(('', 8090)) - if self.ssl_certificate: - eventlet.wrap_ssl(sock, certfile=self.ssl_certificate, - keyfile=self.ssl_key, server_side=True) - wsgi.server(sock, self) - - def dispatch_request(self, request): - """Handle incoming request.""" - from werkzeug.exceptions import ( - MethodNotAllowed, NotFound, BadRequest, Unauthorized - ) - adapter = self.url_map.bind_to_environ(request.environ) - try: - endpoint, values = adapter.match() - return self.views[endpoint].handle_request(request, **values) - except BadRequest as e: - return self.handle_error(request, str(e), HTTP_BAD_REQUEST) - except NotFound as e: - return self.handle_error(request, str(e), HTTP_NOT_FOUND) - except MethodNotAllowed as e: - return self.handle_error(request, str(e), 405) - except Unauthorized as e: - return self.handle_error(request, str(e), 401) - # TODO This long chain of except blocks is silly. _handle_error should - # just take the exception as an argument and parse the status code - # itself - - def base_app(self, environ, start_response): - request = self.Request(environ) - request.api_password = self.api_password - request.development = self.development - response = self.dispatch_request(request) - return response(environ, start_response) - - def __call__(self, environ, start_response): - from werkzeug.wsgi import DispatcherMiddleware - - app = DispatcherMiddleware(self.base_app, self.extra_apps) - # Strip out any cachebusting MD5 fingerprints - fingerprinted = _FINGERPRINT.match(environ.get('PATH_INFO', '')) - if fingerprinted: - environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) - return app(environ, start_response) - - def _handle_error(self, request, message, status): - from werkzeug.wrappers import Response - if request.accept_mimetypes.accept_json: - message = json.dumps({ - "result": "error", - "message": message, - }) - mimetype = "application/json" - else: - mimetype = "text/plain" - return Response(message, status=status, mimetype=mimetype) - - -class HomeAssistantView(object): - extra_urls = [] - requires_auth = True # Views inheriting from this class can override this - - def __init__(self, hass): - from werkzeug.wrappers import Response - from werkzeug.exceptions import NotFound, BadRequest - - self.hass = hass - self.Response = Response - self.NotFound = NotFound - self.BadRequest = BadRequest - - def handle_request(self, request, **values): - """Handle request to url.""" - from werkzeug.exceptions import MethodNotAllowed - - try: - handler = getattr(self, request.method.lower()) - except AttributeError: - raise MethodNotAllowed - # TODO This would be a good place to check the auth if - # self.requires_auth is true, and raise Unauthorized on a failure - result = handler(request, **values) - if isinstance(result, self.Response): - # The method handler returned a ready-made Response, how nice of it - return result - elif (isinstance(result, dict) or - isinstance(result, list) or - isinstance(result, ha.State)): - # There are a few result types we know we always want to jsonify - if isinstance(result, dict) and 'status_code' in result: - status_code = result['status_code'] - del result['status_code'] - else: - status_code = HTTP_OK - msg = json.dumps( - result, - sort_keys=True, - cls=rem.JSONEncoder - ).encode('UTF-8') - return self.Response(msg, mimetype="application/json", - status_code=status_code) diff --git a/homeassistant/helpers/event.py b/homeassistant/helpers/event.py index 50a7b290cc8..aab1178d634 100644 --- a/homeassistant/helpers/event.py +++ b/homeassistant/helpers/event.py @@ -186,8 +186,8 @@ def track_utc_time_change(hass, action, year=None, month=None, day=None, def track_time_change(hass, action, year=None, month=None, day=None, hour=None, minute=None, second=None): """Add a listener that will fire if UTC time matches a pattern.""" - track_utc_time_change(hass, action, year, month, day, hour, minute, second, - local=True) + return track_utc_time_change(hass, action, year, month, day, hour, minute, + second, local=True) def _process_match_param(parameter): diff --git a/homeassistant/remote.py b/homeassistant/remote.py index 74d9a958355..4bfb01890cf 100644 --- a/homeassistant/remote.py +++ b/homeassistant/remote.py @@ -21,7 +21,8 @@ import homeassistant.core as ha from homeassistant.const import ( HTTP_HEADER_HA_AUTH, SERVER_PORT, URL_API, URL_API_EVENT_FORWARD, URL_API_EVENTS, URL_API_EVENTS_EVENT, URL_API_SERVICES, - URL_API_SERVICES_SERVICE, URL_API_STATES, URL_API_STATES_ENTITY) + URL_API_SERVICES_SERVICE, URL_API_STATES, URL_API_STATES_ENTITY, + HTTP_HEADER_CONTENT_TYPE, CONTENT_TYPE_JSON) from homeassistant.exceptions import HomeAssistantError METHOD_GET = "get" @@ -59,7 +60,9 @@ class API(object): else: self.base_url = "http://{}:{}".format(host, self.port) self.status = None - self._headers = {} + self._headers = { + HTTP_HEADER_CONTENT_TYPE: CONTENT_TYPE_JSON, + } if api_password is not None: self._headers[HTTP_HEADER_HA_AUTH] = api_password @@ -126,7 +129,7 @@ class HomeAssistant(ha.HomeAssistant): def start(self): """Start the instance.""" # Ensure a local API exists to connect with remote - if self.config.api is None: + if 'api' not in self.config.components: if not bootstrap.setup_component(self, 'api'): raise HomeAssistantError( 'Unable to setup local API to receive events') @@ -136,6 +139,10 @@ class HomeAssistant(ha.HomeAssistant): self.bus.fire(ha.EVENT_HOMEASSISTANT_START, origin=ha.EventOrigin.remote) + # Give eventlet time to startup + import eventlet + eventlet.sleep(0.1) + # Setup that events from remote_api get forwarded to local_api # Do this after we fire START, otherwise HTTP is not started if not connect_remote_events(self.remote_api, self.config.api): @@ -383,7 +390,7 @@ def fire_event(api, event_type, data=None): req = api(METHOD_POST, URL_API_EVENTS_EVENT.format(event_type), data) if req.status_code != 200: - _LOGGER.error("Error firing event: %d - %d", + _LOGGER.error("Error firing event: %d - %s", req.status_code, req.text) except HomeAssistantError: diff --git a/requirements_all.txt b/requirements_all.txt index 7c89f68364d..842fd4df466 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -23,7 +23,7 @@ SoCo==0.11.1 # homeassistant.components.notify.twitter TwitterAPI==2.4.1 -# homeassistant.components.wsgi +# homeassistant.components.http Werkzeug==0.11.5 # homeassistant.components.apcupsd @@ -56,7 +56,7 @@ dweepy==0.2.0 # homeassistant.components.sensor.eliqonline eliqonline==1.0.12 -# homeassistant.components.wsgi +# homeassistant.components.http eventlet==0.18.4 # homeassistant.components.thermostat.honeywell @@ -337,7 +337,7 @@ somecomfort==0.2.1 # homeassistant.components.sensor.speedtest speedtest-cli==0.3.4 -# homeassistant.components.wsgi +# homeassistant.components.http static3==0.6.1 # homeassistant.components.sensor.steam_online diff --git a/tests/common.py b/tests/common.py index 169b099a12b..98c61dfc16e 100644 --- a/tests/common.py +++ b/tests/common.py @@ -120,7 +120,7 @@ def mock_state_change_event(hass, new_state, old_state=None): def mock_http_component(hass): """Mock the HTTP component.""" - hass.http = MockHTTP() + hass.wsgi = mock.MagicMock() hass.config.components.append('http') @@ -135,14 +135,6 @@ def mock_mqtt_component(hass, mock_mqtt): return mock_mqtt -class MockHTTP(object): - """Mock the HTTP module.""" - - def register_path(self, method, url, callback, require_auth=True): - """Register a path.""" - pass - - class MockModule(object): """Representation of a fake module.""" diff --git a/tests/components/device_tracker/test_locative.py b/tests/components/device_tracker/test_locative.py index 811e9df4314..7445b5daf8c 100644 --- a/tests/components/device_tracker/test_locative.py +++ b/tests/components/device_tracker/test_locative.py @@ -2,6 +2,7 @@ import unittest from unittest.mock import patch +import eventlet import requests from homeassistant import bootstrap, const @@ -45,6 +46,7 @@ def setUpModule(): # pylint: disable=invalid-name }) hass.start() + eventlet.sleep(0.05) def tearDownModule(): # pylint: disable=invalid-name diff --git a/tests/components/test_alexa.py b/tests/components/test_alexa.py index 03fa5c2d33c..e1eb257577c 100644 --- a/tests/components/test_alexa.py +++ b/tests/components/test_alexa.py @@ -3,6 +3,7 @@ import unittest import json +import eventlet import requests from homeassistant import bootstrap, const @@ -13,7 +14,10 @@ from tests.common import get_test_instance_port, get_test_home_assistant API_PASSWORD = "test1234" SERVER_PORT = get_test_instance_port() API_URL = "http://127.0.0.1:{}{}".format(SERVER_PORT, alexa.API_ENDPOINT) -HA_HEADERS = {const.HTTP_HEADER_HA_AUTH: API_PASSWORD} +HA_HEADERS = { + const.HTTP_HEADER_HA_AUTH: API_PASSWORD, + const.HTTP_HEADER_CONTENT_TYPE: const.CONTENT_TYPE_JSON, +} SESSION_ID = 'amzn1.echo-api.session.0000000-0000-0000-0000-00000000000' APPLICATION_ID = 'amzn1.echo-sdk-ams.app.000000-d0ed-0000-ad00-000000d00ebe' @@ -83,6 +87,8 @@ def setUpModule(): # pylint: disable=invalid-name hass.start() + eventlet.sleep(0.1) + def tearDownModule(): # pylint: disable=invalid-name """Stop the Home Assistant server.""" diff --git a/tests/components/test_api.py b/tests/components/test_api.py index fb571fe5811..e42ae7ce323 100644 --- a/tests/components/test_api.py +++ b/tests/components/test_api.py @@ -1,11 +1,12 @@ """The tests for the Home Assistant HTTP component.""" # pylint: disable=protected-access,too-many-public-methods -from contextlib import closing +# from contextlib import closing import json import tempfile import unittest from unittest.mock import patch +import eventlet import requests from homeassistant import bootstrap, const @@ -17,7 +18,10 @@ from tests.common import get_test_instance_port, get_test_home_assistant API_PASSWORD = "test1234" SERVER_PORT = get_test_instance_port() HTTP_BASE_URL = "http://127.0.0.1:{}".format(SERVER_PORT) -HA_HEADERS = {const.HTTP_HEADER_HA_AUTH: API_PASSWORD} +HA_HEADERS = { + const.HTTP_HEADER_HA_AUTH: API_PASSWORD, + const.HTTP_HEADER_CONTENT_TYPE: const.CONTENT_TYPE_JSON, +} hass = None @@ -45,6 +49,10 @@ def setUpModule(): # pylint: disable=invalid-name hass.start() + # To start HTTP + # TODO fix this + eventlet.sleep(0.05) + def tearDownModule(): # pylint: disable=invalid-name """Stop the Home Assistant server.""" @@ -80,14 +88,14 @@ class TestAPI(unittest.TestCase): self.assertEqual(200, req.status_code) - def test_access_via_session(self): - """Test access wia session.""" - session = requests.Session() - req = session.get(_url(const.URL_API), headers=HA_HEADERS) - self.assertEqual(200, req.status_code) + # def test_access_via_session(self): + # """Test access wia session.""" + # session = requests.Session() + # req = session.get(_url(const.URL_API), headers=HA_HEADERS) + # self.assertEqual(200, req.status_code) - req = session.get(_url(const.URL_API)) - self.assertEqual(200, req.status_code) + # req = session.get(_url(const.URL_API)) + # self.assertEqual(200, req.status_code) def test_api_list_state_entities(self): """Test if the debug interface allows us to list state entities.""" @@ -220,7 +228,7 @@ class TestAPI(unittest.TestCase): hass.pool.block_till_done() - self.assertEqual(422, req.status_code) + self.assertEqual(400, req.status_code) self.assertEqual(0, len(test_value)) # Try now with valid but unusable JSON @@ -231,7 +239,7 @@ class TestAPI(unittest.TestCase): hass.pool.block_till_done() - self.assertEqual(422, req.status_code) + self.assertEqual(400, req.status_code) self.assertEqual(0, len(test_value)) def test_api_get_config(self): @@ -333,8 +341,7 @@ class TestAPI(unittest.TestCase): req = requests.post( _url(const.URL_API_TEMPLATE), - data=json.dumps({"template": - '{{ states.sensor.temperature.state }}'}), + json={"template": '{{ states.sensor.temperature.state }}'}, headers=HA_HEADERS) self.assertEqual('10', req.text) @@ -349,7 +356,7 @@ class TestAPI(unittest.TestCase): '{{ states.sensor.temperature.state'}), headers=HA_HEADERS) - self.assertEqual(422, req.status_code) + self.assertEqual(400, req.status_code) def test_api_event_forward(self): """Test setting up event forwarding.""" @@ -390,23 +397,25 @@ class TestAPI(unittest.TestCase): headers=HA_HEADERS) self.assertEqual(422, req.status_code) - # Setup a real one - req = requests.post( - _url(const.URL_API_EVENT_FORWARD), - data=json.dumps({ - 'api_password': API_PASSWORD, - 'host': '127.0.0.1', - 'port': SERVER_PORT - }), - headers=HA_HEADERS) - self.assertEqual(200, req.status_code) + # TODO disabled because eventlet cannot validate + # a connection to itself, need a second instance + # # Setup a real one + # req = requests.post( + # _url(const.URL_API_EVENT_FORWARD), + # data=json.dumps({ + # 'api_password': API_PASSWORD, + # 'host': '127.0.0.1', + # 'port': SERVER_PORT + # }), + # headers=HA_HEADERS) + # self.assertEqual(200, req.status_code) - # Delete it again.. - req = requests.delete( - _url(const.URL_API_EVENT_FORWARD), - data=json.dumps({}), - headers=HA_HEADERS) - self.assertEqual(400, req.status_code) + # # Delete it again.. + # req = requests.delete( + # _url(const.URL_API_EVENT_FORWARD), + # data=json.dumps({}), + # headers=HA_HEADERS) + # self.assertEqual(400, req.status_code) req = requests.delete( _url(const.URL_API_EVENT_FORWARD), @@ -426,63 +435,61 @@ class TestAPI(unittest.TestCase): headers=HA_HEADERS) self.assertEqual(200, req.status_code) - def test_stream(self): - """Test the stream.""" - listen_count = self._listen_count() - with closing(requests.get(_url(const.URL_API_STREAM), - stream=True, headers=HA_HEADERS)) as req: + # def test_stream(self): + # """Test the stream.""" + # listen_count = self._listen_count() + # with closing(requests.get(_url(const.URL_API_STREAM), + # stream=True, headers=HA_HEADERS)) as req: - data = self._stream_next_event(req) - self.assertEqual('ping', data) + # self.assertEqual(listen_count + 1, self._listen_count()) - self.assertEqual(listen_count + 1, self._listen_count()) + # hass.bus.fire('test_event') + # hass.pool.block_till_done() - hass.bus.fire('test_event') - hass.pool.block_till_done() + # data = self._stream_next_event(req) - data = self._stream_next_event(req) + # self.assertEqual('test_event', data['event_type']) - self.assertEqual('test_event', data['event_type']) + # def test_stream_with_restricted(self): + # """Test the stream with restrictions.""" + # listen_count = self._listen_count() + # with closing(requests.get(_url(const.URL_API_STREAM), + # data=json.dumps({ + # 'restrict': + # 'test_event1,test_event3'}), + # stream=True, headers=HA_HEADERS)) as req: - def test_stream_with_restricted(self): - """Test the stream with restrictions.""" - listen_count = self._listen_count() - with closing(requests.get(_url(const.URL_API_STREAM), - data=json.dumps({ - 'restrict': 'test_event1,test_event3'}), - stream=True, headers=HA_HEADERS)) as req: + # data = self._stream_next_event(req) + # self.assertEqual('ping', data) - data = self._stream_next_event(req) - self.assertEqual('ping', data) + # self.assertEqual(listen_count + 2, self._listen_count()) - self.assertEqual(listen_count + 2, self._listen_count()) + # hass.bus.fire('test_event1') + # hass.pool.block_till_done() + # hass.bus.fire('test_event2') + # hass.pool.block_till_done() + # hass.bus.fire('test_event3') + # hass.pool.block_till_done() - hass.bus.fire('test_event1') - hass.pool.block_till_done() - hass.bus.fire('test_event2') - hass.pool.block_till_done() - hass.bus.fire('test_event3') - hass.pool.block_till_done() + # data = self._stream_next_event(req) + # self.assertEqual('test_event1', data['event_type']) + # data = self._stream_next_event(req) + # self.assertEqual('test_event3', data['event_type']) - data = self._stream_next_event(req) - self.assertEqual('test_event1', data['event_type']) - data = self._stream_next_event(req) - self.assertEqual('test_event3', data['event_type']) + # def _stream_next_event(self, stream): + # """Test the stream for next event.""" + # data = b'' + # last_new_line = False + # for dat in stream.iter_content(1): + # if dat == b'\n' and last_new_line: + # break + # data += dat + # last_new_line = dat == b'\n' - def _stream_next_event(self, stream): - """Test the stream for next event.""" - data = b'' - last_new_line = False - for dat in stream.iter_content(1): - if dat == b'\n' and last_new_line: - break - data += dat - last_new_line = dat == b'\n' + # conv = data.decode('utf-8').strip()[6:] - conv = data.decode('utf-8').strip()[6:] + # return conv if conv == 'ping' else json.loads(conv) - return conv if conv == 'ping' else json.loads(conv) - - def _listen_count(self): - """Return number of event listeners.""" - return sum(hass.bus.listeners.values()) + # def _listen_count(self): + # """Return number of event listeners.""" + # return sum(hass.bus.listeners.values()) diff --git a/tests/components/test_frontend.py b/tests/components/test_frontend.py index 24ee426645e..54ca023c88e 100644 --- a/tests/components/test_frontend.py +++ b/tests/components/test_frontend.py @@ -3,6 +3,7 @@ import re import unittest +import eventlet import requests import homeassistant.bootstrap as bootstrap @@ -42,6 +43,10 @@ def setUpModule(): # pylint: disable=invalid-name hass.start() + # Give eventlet time to start + # TODO fix this + eventlet.sleep(0.05) + def tearDownModule(): # pylint: disable=invalid-name """Stop everything that was started.""" diff --git a/tests/components/test_logbook.py b/tests/components/test_logbook.py index 625d73858d1..2f7fd705d20 100644 --- a/tests/components/test_logbook.py +++ b/tests/components/test_logbook.py @@ -12,7 +12,7 @@ from homeassistant.components import logbook from tests.common import mock_http_component, get_test_home_assistant -class TestComponentHistory(unittest.TestCase): +class TestComponentLogbook(unittest.TestCase): """Test the History component.""" def setUp(self): diff --git a/tests/test_remote.py b/tests/test_remote.py index 45224b09c90..58b2f9b359d 100644 --- a/tests/test_remote.py +++ b/tests/test_remote.py @@ -2,6 +2,8 @@ # pylint: disable=protected-access,too-many-public-methods import unittest +import eventlet + import homeassistant.core as ha import homeassistant.bootstrap as bootstrap import homeassistant.remote as remote @@ -46,6 +48,10 @@ def setUpModule(): # pylint: disable=invalid-name hass.start() + # Give eventlet time to start + # TODO fix this + eventlet.sleep(0.05) + master_api = remote.API("127.0.0.1", API_PASSWORD, MASTER_PORT) # Start slave @@ -57,6 +63,10 @@ def setUpModule(): # pylint: disable=invalid-name slave.start() + # Give eventlet time to start + # TODO fix this + eventlet.sleep(0.05) + def tearDownModule(): # pylint: disable=invalid-name """Stop the Home Assistant server and slave.""" @@ -232,6 +242,7 @@ class TestRemoteClasses(unittest.TestCase): slave.pool.block_till_done() # Wait till master gives updated state hass.pool.block_till_done() + eventlet.sleep(0.01) self.assertEqual("remote.statemachine test", slave.states.get("remote.test").state) @@ -240,11 +251,13 @@ class TestRemoteClasses(unittest.TestCase): """Remove statemachine from master.""" hass.states.set("remote.master_remove", "remove me!") hass.pool.block_till_done() + eventlet.sleep(0.01) self.assertIn('remote.master_remove', slave.states.entity_ids()) hass.states.remove("remote.master_remove") hass.pool.block_till_done() + eventlet.sleep(0.01) self.assertNotIn('remote.master_remove', slave.states.entity_ids()) @@ -252,12 +265,14 @@ class TestRemoteClasses(unittest.TestCase): """Remove statemachine from slave.""" hass.states.set("remote.slave_remove", "remove me!") hass.pool.block_till_done() + eventlet.sleep(0.01) self.assertIn('remote.slave_remove', slave.states.entity_ids()) self.assertTrue(slave.states.remove("remote.slave_remove")) slave.pool.block_till_done() hass.pool.block_till_done() + eventlet.sleep(0.01) self.assertNotIn('remote.slave_remove', slave.states.entity_ids()) @@ -276,5 +291,6 @@ class TestRemoteClasses(unittest.TestCase): slave.pool.block_till_done() # Wait till master gives updated event hass.pool.block_till_done() + eventlet.sleep(0.01) self.assertEqual(1, len(test_value)) From 54ecab7590f857a07ec88039a9a68d98506b5529 Mon Sep 17 00:00:00 2001 From: Josh Wright Date: Sat, 14 May 2016 18:02:43 -0400 Subject: [PATCH 006/114] Improve view registration comments Clarify that HomeAssistantWSGI.register_view() can handle either instantiated or uninstantiated view classes. --- homeassistant/components/http.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index df1b043ce0b..f7d778dd057 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -127,14 +127,16 @@ class HomeAssistantWSGI(object): def register_view(self, view): """Register a view with the WSGI server. - The view argument must inherit from the HomeAssistantView class, and - it must have (globally unique) 'url' and 'name' attributes. + The view argument must be a class that inherits from HomeAssistantView. + It is optional to instantiate it before registering; this method will + handle it either way. """ from werkzeug.routing import Rule if view.name in self.views: _LOGGER.warning("View '%s' is being overwritten", view.name) if isinstance(view, type): + # Instantiate the view, if needed view = view(self.hass) self.views[view.name] = view From 1096232e17b1ac31e76689e7101a9121a52634eb Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 14 May 2016 15:07:20 -0700 Subject: [PATCH 007/114] More WIP --- homeassistant/components/api.py | 71 +++++++++++++++---- homeassistant/components/frontend/__init__.py | 16 +++-- homeassistant/components/http.py | 7 +- tests/components/test_api.py | 33 +++++---- 4 files changed, 88 insertions(+), 39 deletions(-) diff --git a/homeassistant/components/api.py b/homeassistant/components/api.py index 339cd5f29f6..6e1f3c0fe18 100644 --- a/homeassistant/components/api.py +++ b/homeassistant/components/api.py @@ -73,51 +73,70 @@ class APIEventStream(HomeAssistantView): def get(self, request): """Provide a streaming interface for the event bus.""" - from eventlet import Queue + import eventlet + from eventlet import queue as eventlet_queue + import queue as thread_queue + from threading import Event + from time import time - queue = Queue() + to_write = thread_queue.Queue() + # to_write = eventlet.Queue() stop_obj = object() hass = self.hass + connection_closed = Event() restrict = request.args.get('restrict') if restrict: restrict = restrict.split(',') + restrict = False + def ping(now): """Add a ping message to queue.""" - queue.put(STREAM_PING_PAYLOAD) + print(id(stop_obj), 'ping') + to_write.put(STREAM_PING_PAYLOAD) def forward_events(event): """Forward events to the open request.""" + print(id(stop_obj), 'forwarding', event) if event.event_type == EVENT_TIME_CHANGED: pass elif event.event_type == EVENT_HOMEASSISTANT_STOP: - queue.put(stop_obj) + to_write.put(stop_obj) else: - queue.put(json.dumps(event, cls=rem.JSONEncoder)) + to_write.put(json.dumps(event, cls=rem.JSONEncoder)) def stream(): """Stream events to response.""" if restrict: - for event in restrict: - hass.bus.listen(event, forward_events) + for event_type in restrict: + hass.bus.listen(event_type, forward_events) else: hass.bus.listen(MATCH_ALL, forward_events) - attached_ping = track_utc_time_change(hass, ping, second=(0, 30)) + attached_ping = track_utc_time_change( + hass, ping, second=(0, 30)) - try: - while True: - payload = queue.get() + print(id(stop_obj), 'attached goodness') + + while not connection_closed.is_set(): + try: + print(id(stop_obj), "Try getting obj") + payload = to_write.get(False) if payload is stop_obj: break msg = "data: {}\n\n".format(payload) - + print(id(stop_obj), msg) yield msg.encode("UTF-8") - except GeneratorExit: - pass + except eventlet_queue.Empty: + print(id(stop_obj), "queue empty, sleep 0.5") + eventlet.sleep(.5) + except GeneratorExit: + pass + + print(id(stop_obj), "cleaning up") hass.bus.remove_listener(EVENT_TIME_CHANGED, attached_ping) @@ -127,7 +146,29 @@ class APIEventStream(HomeAssistantView): else: hass.bus.remove_listener(MATCH_ALL, forward_events) - return self.Response(stream(), mimetype='text/event-stream') + resp = self.Response(stream(), mimetype='text/event-stream') + + def closing(): + print() + print() + print() + print() + print() + print() + print() + print() + print(id(stop_obj), "CLOSING RESPONSE") + print() + print() + print() + print() + print() + print() + print() + connection_closed.set() + + resp.call_on_close(closing) + return resp class APIConfigView(HomeAssistantView): diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py index b7bca3cfd45..7bbb4798508 100644 --- a/homeassistant/components/frontend/__init__.py +++ b/homeassistant/components/frontend/__init__.py @@ -70,7 +70,8 @@ class IndexView(HomeAssistantView): name = "frontend:index" requires_auth = False extra_urls = ['/logbook', '/history', '/map', '/devService', '/devState', - '/devEvent', '/devInfo', '/devTemplate', '/states/'] + '/devEvent', '/devInfo', '/devTemplate', + '/states', '/states/'] def __init__(self, hass): """Initialize the frontend view.""" @@ -84,13 +85,18 @@ class IndexView(HomeAssistantView): ) ) - def get(self, request): + def get(self, request, entity_id=None): """Serve the index view.""" - app_url = "frontend-{}.html".format(version.VERSION) + if self.hass.wsgi.development: + app_url = 'home-assistant-polymer/src/home-assistant.html' + else: + app_url = "frontend-{}.html".format(version.VERSION) # auto login if no password was set, else check api_password param - auth = ('no_password_set' if self.hass.config.api.api_password is None - else request.values.get('api_password', '')) + if self.hass.config.api.api_password is None: + auth = 'no_password_set' + else: + request.values.get('api_password', '') template = self.templates.get_template('index.html') diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index f7d778dd057..90cd6f2236b 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -87,12 +87,11 @@ class HomeAssistantWSGI(object): """Initilalize the WSGI Home Assistant server.""" from werkzeug.exceptions import BadRequest from werkzeug.wrappers import BaseRequest, AcceptMixin - from werkzeug.contrib.wrappers import JSONRequestMixin from werkzeug.routing import Map from werkzeug.utils import cached_property from werkzeug.wrappers import Response - class Request(BaseRequest, AcceptMixin, JSONRequestMixin): + class Request(BaseRequest, AcceptMixin): """Base class for incoming requests.""" @cached_property @@ -100,8 +99,8 @@ class HomeAssistantWSGI(object): """Get the result of json.loads if possible.""" if not self.data: return None - elif 'json' not in self.environ.get('CONTENT_TYPE', ''): - raise BadRequest('Not a JSON request') + # elif 'json' not in self.environ.get('CONTENT_TYPE', ''): + # raise BadRequest('Not a JSON request') try: return json.loads(self.data.decode( self.charset, self.encoding_errors)) diff --git a/tests/components/test_api.py b/tests/components/test_api.py index e42ae7ce323..bea333aa36b 100644 --- a/tests/components/test_api.py +++ b/tests/components/test_api.py @@ -1,6 +1,6 @@ """The tests for the Home Assistant HTTP component.""" # pylint: disable=protected-access,too-many-public-methods -# from contextlib import closing +from contextlib import closing import json import tempfile import unittest @@ -443,6 +443,9 @@ class TestAPI(unittest.TestCase): # self.assertEqual(listen_count + 1, self._listen_count()) + # # eventlet.sleep(1) + # print('firing event') + # hass.bus.fire('test_event') # hass.pool.block_till_done() @@ -476,20 +479,20 @@ class TestAPI(unittest.TestCase): # data = self._stream_next_event(req) # self.assertEqual('test_event3', data['event_type']) - # def _stream_next_event(self, stream): - # """Test the stream for next event.""" - # data = b'' - # last_new_line = False - # for dat in stream.iter_content(1): - # if dat == b'\n' and last_new_line: - # break - # data += dat - # last_new_line = dat == b'\n' + def _stream_next_event(self, stream): + """Test the stream for next event.""" + data = b'' + last_new_line = False + for dat in stream.iter_content(1): + if dat == b'\n' and last_new_line: + break + data += dat + last_new_line = dat == b'\n' - # conv = data.decode('utf-8').strip()[6:] + conv = data.decode('utf-8').strip()[6:] - # return conv if conv == 'ping' else json.loads(conv) + return conv if conv == 'ping' else json.loads(conv) - # def _listen_count(self): - # """Return number of event listeners.""" - # return sum(hass.bus.listeners.values()) + def _listen_count(self): + """Return number of event listeners.""" + return sum(hass.bus.listeners.values()) From aa34fe15b2addfc32fe6ba757e3eeb772cc384bd Mon Sep 17 00:00:00 2001 From: Josh Wright Date: Sat, 14 May 2016 20:46:49 -0400 Subject: [PATCH 008/114] Friendlier exceptions for misconfigured views If a view is missing a url or name attribute, this will result in a more actionable exception being raised. --- homeassistant/components/http.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index 90cd6f2236b..81280352121 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -244,6 +244,18 @@ class HomeAssistantView(object): """Initilalize the base view.""" from werkzeug.wrappers import Response + if not hasattr(self, 'url'): + class_name = self.__class__.__name__ + raise AttributeError( + '{0} missing required attribute "url"'.format(class_name) + ) + + if not hasattr(self, 'name'): + class_name = self.__class__.__name__ + raise AttributeError( + '{0} missing required attribute "name"'.format(class_name) + ) + self.hass = hass # pylint: disable=invalid-name self.Response = Response From 4d7555957c632ceab4a3473c6e4fee35c19c46ac Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 14 May 2016 20:35:58 -0700 Subject: [PATCH 009/114] Fix camera --- homeassistant/components/camera/__init__.py | 25 ++++++++------------- homeassistant/components/http.py | 12 +++++----- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/homeassistant/components/camera/__init__.py b/homeassistant/components/camera/__init__.py index e5c1bb6f77f..1806b5e66c6 100644 --- a/homeassistant/components/camera/__init__.py +++ b/homeassistant/components/camera/__init__.py @@ -29,9 +29,6 @@ STATE_IDLE = 'idle' ENTITY_IMAGE_URL = '/api/camera_proxy/{0}' -MULTIPART_BOUNDARY = '--jpgboundary' -MJPEG_START_HEADER = 'Content-type: {0}\r\n\r\n' - # pylint: disable=too-many-branches def setup(hass, config): @@ -87,10 +84,8 @@ class Camera(Entity): def mjpeg_stream(self, response): """Generate an HTTP MJPEG stream from camera images.""" import eventlet - response.mimetype = ('multipart/x-mixed-replace; ' - 'boundary={}'.format(MULTIPART_BOUNDARY)) - - boundary = bytes('\r\n{}\r\n'.format(MULTIPART_BOUNDARY), 'utf-8') + response.content_type = ('multipart/x-mixed-replace; ' + 'boundary=--jpegboundary') def stream(): """Stream images as mjpeg stream.""" @@ -99,16 +94,14 @@ class Camera(Entity): while True: img_bytes = self.camera_image() - if img_bytes is None: - continue - elif img_bytes == last_image: - eventlet.sleep(0.5) + if img_bytes is not None and img_bytes != last_image: + yield bytes( + '--jpegboundary\r\n' + 'Content-Type: image/jpeg\r\n' + 'Content-Length: {}\r\n\r\n'.format( + len(img_bytes)), 'utf-8') + img_bytes + b'\r\n' - yield bytes('Content-length: {}'.format(len(img_bytes)) + - '\r\nContent-type: image/jpeg\r\n\r\n', - 'utf-8') - yield img_bytes - yield boundary + last_image = img_bytes eventlet.sleep(0.5) except GeneratorExit: diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index 81280352121..eab6d4a33eb 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -2,6 +2,7 @@ import hmac import json import logging +import mimetypes import threading import re @@ -333,7 +334,7 @@ class HomeAssistantView(object): """Return a JSON message response.""" return self.json({'message': error}, status_code) - def file(self, request, fil, content_type=None): + def file(self, request, fil, mimetype=None): """Return a file.""" from werkzeug.wsgi import wrap_file from werkzeug.exceptions import NotFound @@ -344,9 +345,8 @@ class HomeAssistantView(object): except IOError: raise NotFound() - # TODO mimetypes, etc + if mimetype is None: + mimetype = mimetypes.guess_type(fil)[0] - resp = self.Response(wrap_file(request.environ, fil)) - if content_type is not None: - resp.mimetype = content_type - return resp + return self.Response(wrap_file(request.environ, fil), + mimetype=mimetype, direct_passthrough=True) From 5aa0158761408bc0dd941eab7d688189f4f009af Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 14 May 2016 21:18:46 -0700 Subject: [PATCH 010/114] Add url validators --- homeassistant/components/api.py | 2 +- homeassistant/components/camera/__init__.py | 4 +- homeassistant/components/history.py | 4 +- homeassistant/components/http.py | 111 +++++++++++++++----- homeassistant/components/logbook.py | 2 +- 5 files changed, 92 insertions(+), 31 deletions(-) diff --git a/homeassistant/components/api.py b/homeassistant/components/api.py index 6e1f3c0fe18..351bdf5dcd2 100644 --- a/homeassistant/components/api.py +++ b/homeassistant/components/api.py @@ -214,7 +214,7 @@ class APIStatesView(HomeAssistantView): class APIEntityStateView(HomeAssistantView): """View to handle EntityState requests.""" - url = "/api/states/" + url = "/api/states/" name = "api:entity-state" def get(self, request, entity_id): diff --git a/homeassistant/components/camera/__init__.py b/homeassistant/components/camera/__init__.py index 1806b5e66c6..1a6fa2cb956 100644 --- a/homeassistant/components/camera/__init__.py +++ b/homeassistant/components/camera/__init__.py @@ -147,7 +147,7 @@ class CameraView(HomeAssistantView): class CameraImageView(CameraView): """Camera view to serve an image.""" - url = "/api/camera_proxy/" + url = "/api/camera_proxy/" name = "api:camera:image" def get(self, request, entity_id): @@ -168,7 +168,7 @@ class CameraImageView(CameraView): class CameraMjpegStream(CameraView): """Camera View to serve an MJPEG stream.""" - url = "/api/camera_proxy_stream/" + url = "/api/camera_proxy_stream/" name = "api:camera:stream" def get(self, request, entity_id): diff --git a/homeassistant/components/history.py b/homeassistant/components/history.py index 4e1348e1fa9..7ede33f9e15 100644 --- a/homeassistant/components/history.py +++ b/homeassistant/components/history.py @@ -165,7 +165,7 @@ def setup(hass, config): class Last5StatesView(HomeAssistantView): """Handle last 5 state view requests.""" - url = '/api/history/entity//recent_states' + url = '/api/history/entity//recent_states' name = 'api:history:entity-recent-states' def get(self, request, entity_id): @@ -178,7 +178,7 @@ class HistoryPeriodView(HomeAssistantView): url = '/api/history/period' name = 'api:history:entity-recent-states' - extra_urls = ['/api/history/period/'] + extra_urls = ['/api/history/period/'] def get(self, request, date=None): """Return history over a period of time.""" diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index eab6d4a33eb..c6cf5839e7a 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -10,6 +10,8 @@ import homeassistant.core as ha import homeassistant.remote as rem from homeassistant import util from homeassistant.const import SERVER_PORT, HTTP_HEADER_HA_AUTH +from homeassistant.helpers.entity import valid_entity_id, split_entity_id +import homeassistant.util.dt as dt_util DOMAIN = "http" REQUIREMENTS = ("eventlet==0.18.4", "static3==0.6.1", "Werkzeug==0.11.5",) @@ -77,6 +79,85 @@ def setup(hass, config): # return app(environ, start_response) +def request_class(): + """Generate request class. + + Done in method because of imports.""" + from werkzeug.exceptions import BadRequest + from werkzeug.wrappers import BaseRequest, AcceptMixin + from werkzeug.utils import cached_property + + class Request(BaseRequest, AcceptMixin): + """Base class for incoming requests.""" + + @cached_property + def json(self): + """Get the result of json.loads if possible.""" + if not self.data: + return None + # elif 'json' not in self.environ.get('CONTENT_TYPE', ''): + # raise BadRequest('Not a JSON request') + try: + return json.loads(self.data.decode( + self.charset, self.encoding_errors)) + except (TypeError, ValueError): + raise BadRequest('Unable to read JSON request') + + return Request + + +def routing_map(hass): + """Generate empty routing map with HA validators.""" + from werkzeug.routing import Map, BaseConverter, ValidationError + + class EntityValidator(BaseConverter): + """Validate entity_id in urls.""" + regex = r"(\w+)\.(\w+)" + + def __init__(self, url_map, exist=True, domain=None): + """Initilalize entity validator.""" + super().__init__(url_map) + self._exist = exist + self._domain = domain + + def to_python(self, value): + """Validate entity id.""" + if self._exist and hass.states.get(value) is None: + raise ValidationError() + if self._domain is not None and \ + split_entity_id(value)[0] != self._domain: + raise ValidationError() + + return value + + def to_url(self, value): + """Convert entity_id for a url.""" + return value + + class DateValidator(BaseConverter): + """Validate dates in urls.""" + + regex = r'\d{4}-(0[1-9])|(1[012])-((0[1-9])|([12]\d)|(3[01]))' + + def to_python(self, value): + """Validate and convert date.""" + parsed = dt_util.parse_date(value) + + if value is None: + raise ValidationError() + + return parsed + + def to_url(self, value): + """Convert date to url value.""" + return value.isoformat() + + return Map(converters={ + 'entity': EntityValidator, + 'date': DateValidator, + }) + + class HomeAssistantWSGI(object): """WSGI server for Home Assistant.""" @@ -86,33 +167,13 @@ class HomeAssistantWSGI(object): def __init__(self, hass, development, api_password, ssl_certificate, ssl_key, server_host, server_port): """Initilalize the WSGI Home Assistant server.""" - from werkzeug.exceptions import BadRequest - from werkzeug.wrappers import BaseRequest, AcceptMixin - from werkzeug.routing import Map - from werkzeug.utils import cached_property from werkzeug.wrappers import Response - class Request(BaseRequest, AcceptMixin): - """Base class for incoming requests.""" - - @cached_property - def json(self): - """Get the result of json.loads if possible.""" - if not self.data: - return None - # elif 'json' not in self.environ.get('CONTENT_TYPE', ''): - # raise BadRequest('Not a JSON request') - try: - return json.loads(self.data.decode( - self.charset, self.encoding_errors)) - except (TypeError, ValueError): - raise BadRequest('Unable to read JSON request') - Response.mimetype = 'text/html' # pylint: disable=invalid-name - self.Request = Request - self.url_map = Map() + self.Request = request_class() + self.url_map = routing_map(hass) self.views = {} self.hass = hass self.extra_apps = {} @@ -340,13 +401,13 @@ class HomeAssistantView(object): from werkzeug.exceptions import NotFound if isinstance(fil, str): + if mimetype is None: + mimetype = mimetypes.guess_type(fil)[0] + try: fil = open(fil) except IOError: raise NotFound() - if mimetype is None: - mimetype = mimetypes.guess_type(fil)[0] - return self.Response(wrap_file(request.environ, fil), mimetype=mimetype, direct_passthrough=True) diff --git a/homeassistant/components/logbook.py b/homeassistant/components/logbook.py index 629fb236b3c..6bf5c8207fe 100644 --- a/homeassistant/components/logbook.py +++ b/homeassistant/components/logbook.py @@ -89,7 +89,7 @@ class LogbookView(HomeAssistantView): url = '/api/logbook' name = 'api:logbook' - extra_urls = ['/api/logbook/'] + extra_urls = ['/api/logbook/'] def get(self, request, date=None): """Retrieve logbook entries.""" From de5533e3c223d4a923d3cf79e6b84f46dbf72ec1 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 May 2016 02:23:21 -0700 Subject: [PATCH 011/114] Fix auth frontend --- homeassistant/components/frontend/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py index 7bbb4798508..5fe255f8ae0 100644 --- a/homeassistant/components/frontend/__init__.py +++ b/homeassistant/components/frontend/__init__.py @@ -96,7 +96,7 @@ class IndexView(HomeAssistantView): if self.hass.config.api.api_password is None: auth = 'no_password_set' else: - request.values.get('api_password', '') + auth = request.values.get('api_password', '') template = self.templates.get_template('index.html') From e4b697b1ed183dd72b8cd9345b0369441194faec Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 May 2016 16:38:05 -0700 Subject: [PATCH 012/114] Generate gzip for frontend/mdi --- .../components/frontend/mdi_version.py | 2 +- .../frontend/www_static/frontend.html.gz | Bin 0 -> 228708 bytes .../components/frontend/www_static/mdi.html | 2 +- .../components/frontend/www_static/mdi.html.gz | Bin 0 -> 167984 bytes script/build_frontend | 1 + script/update_mdi.py | 6 ++++++ 6 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 homeassistant/components/frontend/www_static/frontend.html.gz create mode 100644 homeassistant/components/frontend/www_static/mdi.html.gz diff --git a/homeassistant/components/frontend/mdi_version.py b/homeassistant/components/frontend/mdi_version.py index 7137aafcdbc..9bc0c85f94d 100644 --- a/homeassistant/components/frontend/mdi_version.py +++ b/homeassistant/components/frontend/mdi_version.py @@ -1,2 +1,2 @@ """DO NOT MODIFY. Auto-generated by update_mdi script.""" -VERSION = "1baebe8155deb447230866d7ae854bd9" +VERSION = "9ee3d4466a65bef35c2c8974e91b37c0" diff --git a/homeassistant/components/frontend/www_static/frontend.html.gz b/homeassistant/components/frontend/www_static/frontend.html.gz new file mode 100644 index 0000000000000000000000000000000000000000..d1a5ad70a3b96a3456fd62da37ea82ad6506f3b6 GIT binary patch literal 228708 zcmV(zK<2+6iwFprs4!Oo17>n>ZggdCWG-lQZEOI%z3Y11Mv@@f2vCILhk}Qmi00%%xVzX+VWuN6d*@;WuktkAb@A~^J7J$4) zMn*GNm&@v2_jpFUrdANQ8! zVj-$LiuSJVk3Ozf^P(#MCgAz>c{^{)yY6)VdR@)CvaaIfLH*nl@UW=o>swKEBW!Kd zh}-(3c+quDdA06D9IdNHwDszvSVYP8Q&}zQPow`SuFmS)ySjpE?W9;N&OgGhAIr8A zm1yF~`Th=udLN}C$)d9AL{mW5A4Qbsx$e2aBJaDR6Prymhng$V4V9R{n6rMDFWn%9^57sAc{43%$+$c`OhhhJ z*&ND>>G2FobW{8>%f<9$w%P0-C*wwR>!#Z4MxTnRd%rATD0$SKL%n zl%Wr0{-9rEVykdaOe66b_S2$`5LZj`6FBFtxgT9N;s$nR18WR@rq(XT z*P>AiFGgjXmPy)dX(XL9Nq(am|GsF&z|h=6qstr7ozrKr_(@GHc7_bFaq9qqEh}E9 z7|;Q}>#?2{tJPI8|24*!^SXj*t>;}0LoTmjn2L4)9ARLIY<1cokeb<8^>VfWXE!{fB3jf7wg-*cg_GU%nh^(5IHaA%h+xx*=|$04Hn|MtOP8~ zooKrIn6W&K=If>bl;Axcr4OP4lxd2qmB{vwQ<(d8d9&8fu*CK#7%yUtXP2_I_jL4a zHiqul?~_se3C@m}^5b@EAn^{dr@`}P-R2LMboylbC+X!}Vgs$xr=_Uqbn63}tI%1+ z&$^<5I;_-f@vHFaJJs|3rw?t3U`sBQp~qY&f&x8u0NAY&b6V|E|Sa5MF;ON<4ne zCxoh3+Ja`rA^h%hh>ud%FmhG4BRu!>`w;_?!S=_PQ}KL9_rZUQF;ADTqWk)uxi zW3f-V7NT9>6wUWyS$r((rqvsDQLA@xbR_@_#5>toq>8B4<#1X$bXUdS?p4XnhDTMk zYg7G)vMSr9SRhx$oaJJ8c$dIW`W0oXmjlhpijsW`F+8ON=vlq4y2C@BO#@svZOFj< z`iz9&nqIu~R_@?n@DnYn z0}Y#lfngV22Mk1b5iK$o+@HZsk3)SS8wJwscdz=3= zAo)tx4!E+npDNYP8#u_?79+GBiFdwi>RVXl zXV)bZtUo_1fwZ<=Tmi1%6aaq|uA3J((1k&Y$u#=M`Sc&#Ec?fHmPKiFU02=FCsE!k zyKL{OUM;a&0Kqlc& z?2Gs$c{>ftb5s^&@{gNCBt#8W#T;L`5FD0N?GGt(K0Pgv)_=K5iHQxJno{d#21@XJ%8jit%s+eOXKCiv%4VA!a4nK6dox$GDP1nob~HZDK3?zEEHU zezikwkRvvl!axX{5peU({d*W4>Ih!I=7<*c?a^($Sg%Bcv{2E(qmyxcnje$eMv}v$ zBPOpf`}N&TgB&4Dn!z*nl~-JV%4XmDQ@uNb}MyxZ64g#2M7B@D$ens4$fZGv`%`I(2@?~2Ov}8?o}HUpJD!z ztbe&8=B~h}H}yiGR?Qw#j(jNU-&e>_D6OEN6%_-^DFSObmSfDj?N1-@y%hxO53q_?% zaY@{n=1xmeVf_!!s-E3Gz2sR_JB(Jq#+Jv0wR}US$0et29=eQj`c*PQqm!(6>E+N5HVO8 zcn!4_du6*pMN<1!=5AvE)X1W4Jt==u+<`P;nZ0d zPA=N2;mS5j(N4RWBzqv**{pY`$f3`Z0}Grgu@b4kFs9Sz9~f|AF^I&noqoXqY&cF0 zf&zMW<4$Wm?eW9{=B6~C&IdJmBSsC06NGfZUCTNuDYAd8e-%#ara0=bu+8ycS^5m4 zaX$^nCpagRKT4$&qf^LJh@nEcX_v(+xHJJpa&K}*kL1P(r#oF6pXw`+3OwkOfIpRNkH3{*F5f#MGIvI5{^RYg z6EJkUl!Z7h0*_Ui4`S;^3RkRhU$z-Aa62jm2t4=Ww*xCQrjwbAHMwGO`lA@jHi8mL z<1VDqLZ0W$Q*7R+@f~!sq3jeskF3tpKu2h$1p?yFcXvua+@c`n!Q!_Mu{R#8Lf~f^69SQ5FY;I za#;Nvfa2x`I4tCqOffyW&_^^ULbV8$ASq@?;Z#^m>Cjkq4Mka_&^cjV$JV78?WeLs1GD4-3FzLN_3af%iz4SA*!2}G<*#GH5Tl<|sD^HEJe ziZZ;Ku=Q;?62-QnKAeXUCu|srK$0H`QZ0QgukQ`C^o>yzZGrnN)~ikpLar4Y)I1W0 zyFi&Arj$n~qd$y}qg{ufZ%`6eR=qMtDvoN)d25N5&U=T4^tEH5GuJof4Z6?nAw}wbRiv-cwFe(TFZJEgN_-TnJvpd7)#~2u zy6yI=y4$-Fd&M5^nj@0U5%c z?8b0#V41h60ZSqL;2`jFgk+?lCU<@H)&g-2cJysIO%{`sg!L`abUO-&pg(>pOI`iH$KMRFIY9BpFzw)T-O><%SX z*KwjoFUy4{0T}QS4fL5lCSzkmr@M8X89KDt0v=jlx0I(fT`&n_x1|?C>S5T{&+bQ! z496KT6LswW&_&FioC6xQk$(bgV=*B3UL%da@ngC$?JuUc#e3lPzHyn5 z3c{$-b|$O0TV1ikS+Nj=h;Wit`L}7Ce`h?@j3yb_$kqIOQFgfaNb6l`I|b1wt&V%Yj{W`xSUppEBKL6-`E!Xh36@L9g9^f z=&V`m*E5*GJmG5XMoF0#Hg2(%LC;v)0ZIv#uJPy3U*{=1|3?{)X;XGF~_$5tX znJrJ}lX>i+pWrR0$S@ zck^V6fZcP-j_p@mRAFBMLL>?SXgX7%3T`#$P0%`aH|ZiRQkZcfSL_(3c${A5uZwOu zx-F}Canz*CqZLUkz_&IB2k`F-=*wD)v&*8vYd*AIga(WBGQmmaoxXGjSQO?4er{KL zzrNPhj@D4IIn3AT3jbLg<#Xs5{(%wXXaokMfWK0jn$q1Jd{`J9xXw|c2j&D=pe3Mm zaxDev1p^3h?(lG?*rVz7Yzs}`dZ{*Lb?7kRo2*+o*vC+kw@Gi0I{;3`*HTBJcjXkhqlaH zX4k-yAXGjwRG|FG5HqNNm3lzBnI(Qp)l*usE3}~s;eOQChl!ba-2ol25X&Q$X35dO zqdqOkoNnhwKml{RP4QH494Z&}?W?K+ z79FIYq0>++L6r96KJ zMn^~RNtQ%9f>g@tp8w^Lu%dr&Zwpk8MB?@eT~neZek^Zq z@ZaigjV5%ziu)T;!4Go&Pa_O;0e|j_rnrT_ZM|;hq@Zblorb@kpo1AQhuC%7-J`i` z#JVc@@%i=++rCEcN%&FKs^_YvcP%!(Dlh=W=Z;>>s`|)$xDlNuA6dKg49NrjcKw(O zu$H3fz9-f`?E(dgyE|az&v21oulB$5DMH`1w&Fu0#EZK!e<+XzKCAEU&-5Y>8%`<# z?ixK6xj{Hd@^VxG0N$5Z0QDQ74L~7gd1)v^>UPqI>WN**x%fTF*H7v25!M&FGjc%3 z=8v5`9cwrUb378w8ECFXCHzJ|);A@Pfc#-uv_ENk<7}5F!srsj)LZsPfFG8bGMrJ+ z%)mknHN)%-dDd}zX169}w6eQBbsuL+!N-ZVHgR5O!fKq2M+O>4&LS|LhyFVhFYI;U z?-qh}Xi6qu+i2ErN~)Q(O>Dme8}aO1reV06b(-{F0cgwvb@PLs!k2YpratMv%Iv*I z-TYYmre0Qs--&*c3G;0nR@yy)-Ft+>$w(#(2GwJ*#z}A!jUD4kM5W&j0E1C_{(gfz z{Z$c~{m#z&lh?g{+1$N_cjy16ceMO=bk{KGH_A}xpJNP%M+VV{guR@<4<4vZ`1ioV z-;0*{VyJP3$zAZ9vQm6>P<`0=%l$jyN?S;FDtzz-k5qm3slibcu>M|lxT~~>?zu&r z)5lNK-Z|MNS)V{df=ezeC!!&Lk46BdXzdo4Lns^^2S}@Zzeo|KLiPo;{qSQ<_JU-i)fHvc290BJ?4(J< z5_rx_TY+Qy98PhcIS&5BilB);|Itk$17d6695?38rX!;+&5Gn!&237~-R7=*p&Ygc zTtQ21iOMbrrOnj9!dIw{X~{#fG#--V;GCD!c9x7=y0Z5VU7MdeIH*UrXqG2h<#n!b z7>#`^#Yd<)W^+N*lx z5B06A#uxt?7t&A-6p>aEsyn=?(ot{$rLi;xr&{dUShCcC041X;pXS^}QNK z&$MBvC9XzxAcXG@%|lvQ=e0D=q5XtwikR#;ka1PDKj6@mYP^xF@xo(^ZZgtJbr;xE zsU*@0gDSacgu7{~T$_*Xr$Z~EhmE7_AKG2Wm&P~Z&=$91SJWNh`W6Le;mahpt9 zUf?f*4bo%?Fr49?6>pyh^B*Z(b;X2pP6%uRnS2!y$nIEc8Rp=u0ND zDzFWI!Du09rFmE8k84VyRDwqUwgb$nMP#24Z-(MRs{l76dO}V?d1u0rRhtJqI%Ra+ zo-$tRl6|t6H|ou1)A%3hRsFZufwyhoWgU3;NnHI}cHW1ye*8jW$C1t~0TN&}c_6+1 zd0*wBtJINwF_L0LW{EswRvqg=$;z7~5Q}MXruj``Sd?eU3vRVmdoS%q2zx zG(^;6)i6}{JsRPm&R#!^E*Gi-lsrRJBWY(>0W>DF*$g1FFU3_2y&+K?E#&VwGF3%H zf#vk0ko9v_`!-)mbhjLkt}EhcDhvl;?RdlR##Lf7Dhc0I%1g-)OR?98>r4Ey z*VSm;%>9VP9vh`mP>Z_T!?^P>-aQQBw4`?n5wUfDPct(hzDtZ48Yj{^I8G&HAcw0O z{vEjoj%D?TN0Y3nY~=XmTjbc@tMx?a84n^@Iw|;9N%Bw;fv=pyxt%B*Mik|wI3gjL zRV;rktb_fsY;|7~^BNhx%$#S{#K<=8;(~M!W67+~7Jl$0zl|6@a0vE5?I|yOza@eS z+oa;MNq?^@SAGEZSK`G&DsiBRpX##el%q0X4p40jP*JQ(uN2w?4}Jq4Ept~ zsDKc{*%^dzm2akJ8@c# z?4Q12C^*_MbWnt<2O-owY15ct_Wcmx_;b+G>3x{i0(Ye_uXc#g4|Ss#R*Fm{kRglL z!%}V#M(JbyI|r>`W3|Q(9=}-fgu1bhTawt~c5r`c%WC&9g&MdbN#YXR9&Po}6h)Q-#JCqoKlMmzX%K&fI`tkxIxge8hP1<(dyxVsj?&7eHDA0)Kv>jej zvyWg%!6N>)v?7;z6>t+7$0-#6(AqB;65CLade>pvv4+{+Y<0G4A~hUusFaKC*lg;D z;^SJp*hapB-0b>~xq9t+OUtSEM2`h{? z{>$epJBILTx&#>=P5Bptd!iw8?Hs*y78qK!*vZ*duFLh^qUeN2L+fH+DmTb8;Xi1S*9@Z{_5&w7p1#3$myjD<$)# zrj{Kblh#!hu=0x`T_rlatez`B0`gXQs8ouHCApTQ>tWt#nT*$ie9<~xCflur%=5mA zT+M#mjagd`JH{x-yL=dhwi>=JlMvLu2M%vMQf#NQa#)2`<;SF>l0a%tB{wxii}XrI z6$-K}7`35yYAHo&U+Npu!owKqVU07Z5-VT-UfHU|GDo{^YCxdZB)MF8gaw(vsfiLi z%gt(_e%c`!y|Y!yeykZZA@J=hrl69)rdTb872l<#OSZ}McxHvL7bfHXBTj6Ik3w8uUtYGnaIy=--8mz55S^EJ>f=bqfN(6AbIng~M=I zw{vbN4Z}xbA$fEoOdC1cy}pF8E_jYrs%K}XZzy(AU1Z5L`=w7PWV#xhXkz>97r>Aq+|!ja z*Cw%ig~$+Dl3HVJ-$#kcUXf#p{1^&`SR(UdtA{zcq`GB!@bZMQnp_JyPGQz&CszCs znUijRKdi?X+xN=*CRe4jEOT0NuAosaK%&0c?7J@mm(x^zYpkHu`QvEz;P7`ZrZGw! zN#WrNJ`J-HZBEJw_LzyRv~R2@g5|_sOv%)2iUDX3Ay;4O;S3XH%O?J?)nO1p3lIAw z2oDIkyN6(sxV^_!j}t%D#dW#rgiRzvIO?tCJoz2cUS;p&+&dOuab~S4m zt3Rb#V{O(3=WAvvqYgxiS0$a}#?@0i5>pTIX*Zexr>L^&gKn7&Q4-51*Mu$hkCiODuG`VU}q<0xWQawsgWJJ&8S z(JnO6NpOa_$aLTsV2EQAJ<_@Ia$^mDfcok#A+%_v<{X~9WR~;rla`H-L6vVrc}?yg7pz0qW*h@2tz^a7+q=iC8D^$HFs8&G~)4sv6T_bUM-Pi zPmtzAWAcjoBk3uAcJ;qQY^lFgY>_s%)*S#|q_{GSu|C#X$Yj#}2Hw4o|GyXi-F+$Z zyX%DBb+-2D^{&#n_@Z;B*OV^$gl;Y39U`|fEBinelyPU`J75NsiW8myf9BM%&q^WN)W1| z&5g_Y-m5+rZnfrpz~ej)r(Ls5+tLS4+5E5TqFH3e>E#bU{`~$=m#<&^B|ABW#|m|F zA1J{$8YHyYzJENMG-Gc1F-%e=P3AaB7Mwg?IsXBBqqI->PR5N>1&LOrJ&XTqm4n6_ zYkq7+VTCpLfjt4nDvy@xT3;Ia4ajurdcI>@N!xEgYH95coZ$*{WMY^P3a;lw!&4=7 z-|lOxUT`X@KjOo~t^evY_hxZ$5R5%+oF(>(s~XMyMtjuF-feNO!knt{j3O1tRt=^f z(9Xw;g99)5TxY(;NidPUhY$T65ncgGYQM#pb??oGP-0uJU1>zERNX_B?bINC6DolK zT3Jxq#&9u?rWJST36Im@b$^r=9w{sDAeItf zMl8B`K30!O18C=}WKAcOnwj6x3C&P;#J)y&lWe}vI3D2>9K5!&6?SQpJJ^~spml#~ z>5KHnu$=7dh+mhNLT*0k`>Gzv$3kKhDj9$T77CGT~#a#Vrh@Iwd>iN73g^H_+w{6 zT^fq`OtkrGvC}G(``|U~V;ym+zqhZhzPVXF+83Ald;99Wbh=fsnHl$nFO&ObD*?gE z3|$p}(%`qh+a_TxRM>s*NtkE@gN@r|@B*3L5D(~ds0R;cl@DKl^(fo-7_M4xItpH` z`Azwi%=Bbv!Rsm$Y%PYI{ML2R)1x!7Cb(6!^;xfAkn9M^7QwcA;UN2En(Q%Nv0uXC zxzGWplF>EPD3(R5x`XqVroI)%4aQ5R%&$SM-Y!F!lyii^n+Ag~yY!Eq<>$hc*1nYd-94<<-&- zsr?DKORafy4-LueG2DQR5f03o)sBut@4Ph;#qIZjg(l-sf0Yw$R_cBE9dIsOVZf-( zjTq_&d6zpwHU&Fd#;veji!skz;N50}=lA~<#jo&?1`6Pv0-x!~OZ7j)7PJ$6xwDGd ztNkIh!* z;B^Kv#CXUpI24~!=%7oh{DCD!%aMwrSHF>mwF>sHp0`%i zSSx?P$PeR8X}CPIXD@=Rj>I6tEz~*;wl2QN^-GGofPomQkv$|Cm4P)x7__$D-C>c} z%oI?E^y{#;0(Q$T3=AY!LfxBaXv`*bsZ)|W1=8h?kY7(KZBgjp%s`mx(RJn97UF%G zs8CK}Ny_BH!yva_5|yo^4^bC+kMn+#nl^U6Od{((+t(s|RpL2V`b*u^F4CP9V*f?L62#7S@ZCS!~bR{CU5rKbQ5 z%%*e)cO6#$dQm_8u48WkjxzX5wt@B@FxaH*j(=4Ltv+sESoFOIs9ivOY|TtETuLzC zuCKaAu(rWYr(+HSThm6$IKIKhU_##cYydg%VYCxgvCJ{L8yG|9Fy5hs1qQlN6aGOx z?PjTWj*_!X>vfKKYJNANS`0?bap=Y%xzgy&1bDDDOMZ5(?P(-zN)w%r?%`GV35; zSEIQ3oA)mZ_olH&OjN8~hb@(l3}b^(A}5;o*>pOZ9X=a4U;a*_vff$`yL{JZ^J)2IE(3mrn$c$qV*3b+XRI;Kb;IRq_nJ!gmovu%w`~Vqd z00j;}R~1R`CULmxN;-Vbfp#Q2Om#d{f%V-@Qy@Z<{SLdmdZDYLt$e=Pztd*-ui0-)ri&-a;U}rbu|!AuK{)KQ?GCfQURb< zTq6Z>zZ^N!xsdL8;X#2AYA*6C|d`=@X!y zD5#N-FCNtZ?M06$k$Fv^TbDdLVv1^0`!ypxQa}tDK%J~jTnsPFw~h0*BaA=R z-DBKrih<4JA2r874P<;08QgOqBvvl1A^_fl5t%9QhKJW-ualjJZ|F>r5)B><<8l|v z&SB(t$XP0XXBC%t+XDY;S7x8?rcK`VgRZcHePcV=H`B$eFQzf#TYEJO3o<%;3P6TL zyfIE?!Zu&hwnU_5e>{{Ug|p&rO;mG_;0y$yDJh6h4;I1rBBd2y#HVTAMlCTEM2&wW zn>SR_iD~Z+3)rRBkJ#OEa1#)H+8Kr^R@zxYTuEZ2js%B*Bu+VY4B8*hG@ zt`#HMpG{~gi3OG67&jcGeNgVTI~U5Uu(rJlWt2-?T3pR4ZW3!foBl=#EhJ~E&T%!z zW!$7IBp$q-R+6gA$Ht00m-Zkru)py7bnOIF@*@pB{d$ylgY8^NH5ld6mpB8N?IKPl({D!qFfES$_TuP&U2bO2bn?^@NOWCX%bbkvQBOgPvi%d7 zo{4nk>F%B2W$sllYe45Ji-xN{0inUyrznRU+yAF;$?GZhJsnC|pRk)#-zlb1<;TA7 zVqTx1DB$lrJzE{o>NkB}548y@#EbU6n&%IfXl?)JVukKf=%gioB6oIG z%ztHXr|wg^SgiCkkM)~u$lX1PlC)V@18m{x@#MdN8@a%tj;iTux&$bFV=7?k(vKnSu(}MHsk@^6b%)!vHDi@>937EP zJ5onFvD56nIBa&;+&|QDvYpe#N{Oh3;gdt)l(g*F#NCpBILy_#`~{0uZnuLSh+YRm zW<{4oqGu8j@c$uv9`yi;S7G`}+$$>wiTC40Q_MTjyeztc4exz>(0uT^$Ig`m{50E_ zW`Z+FNLE~oZfZVe#g>uF8A>QWk+LXN${KS&NEQxf(!VWtZ2pWF-gaw@{cLZY+RN8O zM*_FY^vY|Hb`J9XB;Ui9j{9RsYq@}GZP5b?;n1UL+=bF-@ROozvU{0fO3mbvCTwe7 z)w>HW%9 zkLm^8h7a1BJGJHd?*pyE_*@cj&>oq=gx&du8zWOD3%w*w{Y}mAqS=Sh%lh_pjrZ5X z;X>-$qgyHx?OeqMPV^RbvV0R*M!ZpZ)jEEv--~7Ov8)^SEf6m_y4Mt%*?zAQ+dD5w z)9$=c?nGp|shm(%PXSK`mxLYgsYW2Yn$J9GP03{~cDdm6;km&idcHWeC z-RX1rS7Aq0G$;jXN?QTbOUDT8-#chiSZ@O83sp&bF;^li$D*);Q%GoHQ^@pK%~9GU z$|Yy>^ziHM=+m+U(A*VsKxFbG2{zyom1;*sHXW5`Vhu;}VWvf9vaBLBm!oHz8@XVCe!1if0=!AaWUdw zhxlHc&&;>OWCArRs_`{`{pITm_;0qse@DqTU&GfX$1l|8FOl;#O1=hZ55Gi*)nT-W z4x7UWYLxPwpm!bp+a5yQ7ROi1ujL{BP4O)~B>1tQj~5p)zNTXJVKhlDE)rRL1qG;O zu2x^EZYwi3=qvl1ExoZ1Zk?`Bds9Y+sQp09xD z6!~0Ri9}fjXn%T4a`}AJuCH)c03|67zr_aZSI23A<_Q>wQw@>SKEQdr!sariO-+I0 zUW;s=-l95a1)Spz(5q~jk~3*mr*oDm>8aeJuA`!4rPK`O*8wQBT6N5LzQ*w9dMqtP zruHGV-fFFl8q1_Hrq!|-M*aS&XokEe@(8y8ER@k*S4RINrqygD8v+JDZ#J7KvQ@Fmsw^kn*+4lM%U&e2jy+r{ES*053O}<5n}Demw}OA4sRV6z z1dJ+0i!@%(>;zC$>1?)^SDsRirOj5&wNJQu#IiS{8KZ*j@i*Z1!EQn3E}PKLf}2sW zxsY67pm_3Fw#kVTO5lj>*d4SC_m%}7m4+xR!^jBURt7e>=a&`Wm= z--BP;NH-2E@sGLea8iY%@lZQfLTBrw?S&>H#d<`rysZK9X486S;~icBfrxgbEd!KN zSmL+jL0XJmj^JvC4??rIio6~d2M5J)*>Td^sD79i_9Gk?g_BoYI2y_VmG?C!JKA?z zkra?JjM(Kt5G;?5D4~}V;#q2mcd!#Jt;!gw=}OiFA$-MTH3#Xe&Fi#0Jlq!DW~zd5)ui((F-^%4Cmb16nMZ+KKing(gbD)XF%q zS(DNXvu>L>j8b494dy^-b_TYv_A8zXjR~w! zgcPKfXXbJGT{4OLF~-SPP3}^L4beqa?Yl&tVZ}B{vbfA2CmfV-vq+LjX9$A4r^}*p z5pj+wAZFzvFOuye;2R*Jp#!5ztV}ZKcLe;_os@N=ar71R+)X=U_DIfvorcfR2_EW^ z279DTVh2u{hAcy^@_AlT1`k_bj)F1<@VZ;~>3KwujX2edSFcS`QQ2RvmIqa6f&C05 zP4rJ(6z%dueFhD$@Ri9TY(S9H0AbER9{40I`4H?cz zPoG_TWwp1mqTwSqJI_~m+q=$>fhC_S2JHHDO;^(M>3Rm7AIvBEhR!f@=u)_aFED!` zK;2LgG@C7QGG->kOX&b=MbXTc@iKW%tS^7cK_t9i5o(qboO_dG75%Xdk1fYaK<0lS z{Kg~-dZBpbTRWrmXxWJCT%`O1L|4Z)*n&Kob(ZEZC{e$IzX)OE*?{r=)cL?idX!Lx z6Hi5R1sfv5Td*aF?#|Ir1LIQjn1HyTok8MRHydxp%XPDQC)#?&8L7QDu(iEj3y>$a zdOh=JF_gZDlX&_|0`h2lktBd2tNZ~LFq=j=1`OZV%<*4>ei}iIXqEzA+(Lx@?(i|)7>qwuM|Q!Xqrz$ZW$ zQ~1(c<;X7-Hyba5l{CoT3;T?IExKjBP~;^U7ZYGG%A1PtEH8lFKnYoKn)LgJy7>vi zT&X(SE#(RKI5ML^#Bc|&L8mi)OwF0P zFC}}$d}Adq_gNs-N3;}5Z zCA&ZEn9893=3y%_#|xmKoW;!%Mn*Y!;Hcg$-wjNZX<6rJAqcZ_0jwk*jaSc?rb3Y~ zrz@ziVz-aNpo^|Q&#kwkqPc1Dv>dOW>(g?rkoB4lOh&TtHKr$?Ue8d1=8aeI7kV#$ z&y=-P*GD;Q5d(7U!XMXl;VXloDOYo(WJ&%-9x_smu3 ziJZ`k+Mb~th*EH>WU{?>WVn7i&L74$QTopJT@8Y{xV)4h^m^}sgdk5Q_c#iu;uA-C zG%*BacD~xq&W9QKfM%?Wj*(rKS`u`}<#ajA3lQ|>S71ObIj0>VUDXf-ApIGM<-~oA zm!^J_b=abL-fqnW&#Qh^b6WkcU~*%})my8)+4V#lD0XahZa$$|2D^WQ7_7F>S5thN z<=TYblZlL94n@NcZ>u1WMtv&o$sU`%Ys|_7$~lhg&g^IwXfyKouzLV7JCiIchDpJo zbN!b?oHU56@j$WL(NJ1ByV@r$gFNbDdmt8IoAR5TI+{kHK8vn6?6?(p4GBfZC`zfKQh>6Ha)Wr!A}0>COZ(}`@nD(8 zEkZ|o${{xtsQyjd4}_69jI!vkBXfU@o?#E5r=|p|u8jAA+&LY<>XXpg|Bzd8x|CLl zyundtRg z$Dm~OX+0x)*K5~0EGj6U=(*bvb|dp zH1__TE?)ngVs3K`)dfo9I!m5|DknM>yTAHz!)S`Jswy16i@k@#&9EFk9{AXc z!Wb@>Vn*Vv=S!~wA9ONr(a}ks=eL?F+jh`+HAO8VU?R>|&zzgiUk@zYy6b>@pPXd+ zxAx_<&8(G;BDP0BJ~-I_h%!!o4~)jAWjSBYHk;!lRhQ)_2Ni3qntpeaW8ItT3_mxX zZ$D08zAERxvbLMzwvb6HJ<46JO~V;7XC#NbZOWUn(jmCXNq~&czemyod*WsItt}|qA&$$+n;u*rhNd?0Ds3MY{tvG^?NCD%cfIAkh_h>#1qsR&(z$WPBpb zzk{|cY~6r2Hh@8Z%eq%m;gWt7)^a^xzM$Elq08mv9k=zbq9rRdGIi;_Wum+w%a`8A z52i`9g!%TL(!2bh(#!nYbO8^?$LVc8@ZOL1MSSGc*^RvFbO#SLF6q9lEuKT!Ql1!E+Pa_O&3!$g>o zJ$%lN(|h>8Tx3TlX*+M~)#{~~mkY5#H<4|6hFJo5<&n2W07*c$zXsr@D*q;PsVs!J zV`}sRYUze#YK@xGw}fs8$sLd~LpOPahkj#uJB$;&rLx>525J(mHf&bKcWo}A%!1ib zaWN)BrE188&UC~M#r)D_fxNF(~7;6+#j z=tB#E=+o$H)_+P8W5+b7NSq7Wc9emejWh5OjbiDqhONl`2t7{~4HvIdKes(dclm-~Cm;bEpEa-P!Uk#> z@jF;a;nYBj$I=W<#xw$Hqt0K$z8n=-t#0u1ksd9Y?)1Lj>+gR}#zHzjV8k;3a8vP2x{^P79Qmq0+RPYV#K%SoT~W@qXZ%paqtMM!y_Zk#$fp(y@g+GKi2(50i90EoXU*{~}*}c#^6n z;HCV}Yzvl{Bd!C7(qn5hOy$WKf?R9q3f zj%@37Gv~z~qdBujboy_I+mo+`ymx|YM+q!|P+UvLSz2j6EY4mW#XX^DATl$9h$ zOQ*1{1ZM|6nj>r*JqX{G6#pu~4awO-bzH^Cw;IL-9AQfO?mBL`Q%t_rtATv(PzB6# zsmGkQXhScT63a6rDC~;l-xFF za5)V6Lo!*4VQ3**tPcP*O%P(cB$kckJ(-H>vm4-Y94d`t#jjSUY zZmx#wyl?Cfcl44vrZ71A)n}DQlb-IKCrzM$F?9CyvS<+ki}R{p-z@vt40=sCYQ)|k zU9DSXcuZ@UM??(*Ux5EKV(4jpx7jrC@Baz9qb@4ct||5JzmA)c3llWDM`QNJUZuvF z^+cnm)?rK{L{YVCG!jNe;Ix`MIIub50u2o1XNjOO;B*T(jov$&X4*)Domo^fZ8Uk% zO=&bb?h#eD1e}%eQ%I^rIs-);`7}I-3GJZlHMX1Yg3W6|MYeuh2mOMFmA)a74^4el zXRZGI*RfmRM@b7(AI45DT2h<;PN0l?tDPdpw!=UCV# z0`9Xp;y{2YLWlYj3D&@Q!<;9J+R!|m_cYz1QXrIlDw+iq+{J5hYhTJts>Z`CBYzE$ z1AXjjDA=0<$wIHhU+qnTUP1#TWgM3+EJ@tK@x;H-Me_PIM-AU;UcqsW=e0vo3<1m`vEBr$Jo8maUHX11 zW}6KI&#@!YP&nIdSor!= z0CsLf`0xbNe%1&dOk0yy=jmPbM;qv=KWU0X9Z1m@I5303sRy#V^}aNs>IZ*#dW$AQ z*>$<vb~AJ1Q(zhURxtv9L<#>IALjN+jY0d1eMj|PS&Zf0bSYlg5dhj8}x zwI0I3f%Ikdu9O^~dF^%eA9Y#9v_iClcYsqLM}2rwRV&=C&XXy0Pw1gTx#6koi`8m( zPlL#?qbq{EoMA8y<-y1fr*x!SMK?M{M zHSNV*UyYTsWW`C$Hrm#wn>=i@Zptv*JkQDf<0ziPc_#Er8d{`ND^Cp zUICkghJ_T8Z!j>%*xM!?Bn~5AX@zkJHTudxdR2PDjy8^=q-0I0jb^9~X2ZD|G{ih1^>9;E zEqO%_F-o1h1^Fbdel5EXsyyZaSN9|4ooo>A?Y~emS49W-K6c9?!im}4}85B1BUT~bT}ksL-xQYelb&C>%rGs5a= zin)K{Tr{4f`cUEgp5z@%4nG)lcZbot%KZZ%yS%iCIiG&5^q$|Rr`RtI=TcNtrb1(k zsQr*BNGo}%+U~$KCHher>qU5Wh_U$52^5||% zf3iiqm-F8tDB6kjp5e$tL!q^y>0{7jdvHOI2rG0!eoRqFRIG7IxPc+`Rl<$ZN!puI zoYE2ZKyArfdIZ++Wjt+tdzlhqUW_5rA$qbH)Ca6771h{{|1v0d8hqN21gOgy}!7}FvA63er&6@PO%4{k!jV|e! z;%d>%a*mMETGCQc>R_BVozKskk4va4Ce-TWN0W$V)WSg~R|kK3Gtj=3)c1=yI(FCO z^@;#MKa)VEzCcJZ*-+>Qgf!t~PSk^-D6ukrZ}x2pXDS6j|1M?vm;E7C$rZDIl2Knj zt2n>eKc|uEFv|YBhMkqx!3vEy?Z_W-b|j`1|01JZe}Y5N!fsr>s}tkVAoq6b-K4pM zM{aKRLfO)_+KnM9ugGSi_X;C-P*O!0=;Cd)x}TII3DpG|az#j)fak%k)^N;22gxjN z(QgMn@#rekHU!& zV8ZgCjR2CvCY3dRsIpoH5iIB|w1*Qm3AUX8PmiezaS-3vH|usNzdH7ccp(jm@r;C; zA<%@5C2vo#;P+6QC>^lP==4;cmY?}4rNGT4#hapV!)&&=4=}DKKHl%=r7^RkP}X$g zgH*MYhD691y^?-04se8S$je47V?C3?`FneT2F=6#l|*e0hjWyMUZ>>wMb6cU@wO&! zL2`hd$^%S!p96Yx&Rnf7F7dErM^n62QkXy#u~#~<9s#X(l?GXVxi-33Lu~za8_d9L zA1auPcv-Jkix-Q~p0qU^90JQk&)Nq_u-7)nXEe|I!g551&kuZ;&%sBIIjRGKKoj}k z*$MOCSJBZp@|TuEB&S=-HD4xd08kbZ?`It>BX#$Nl zxy*#fh_{sAh{wx5>2$=QQzxB912d6^hEzlm)ep6;jjc@JC(hQxD>}ecAPZ+_P1Ni^ zwInf)!b-@BJKFJ?JIT|jv-Amk4M2ChH~Z}>xdr!z0qJ;!?eTB+1tUywrFlzmmNhPYJlmOSaZ&D#nvz~BuO<|+yl;( z^B*d;F#S0Phx{9-4w&+PY09?Cu{U=~`)qk9mZ1%in12~$^o;N-ou8iykPwgfD0D`b zD9yjrNm-?JQ{zHSPyNfGR+`9547CQJGFC*1A{Xzgj0YjgQU^iUcd;Ix{g*@1npa@c zo6u9!8Rc=HC_d;MFAe-o0E}j^Xa|z6^w;s~v@qGMmgzh%DH&2emq9|V<0Xd9zgiGNwqnE#)FBYM%rqXwMAbRK$|WJM)6OV!l<)KXhPd1 zEllau$JoG`EMYaEDkazgpUPH`{z|107m3mb77QMfL^@j%K^?E+C@fCGN0Z^U#u0^^ zZGa)03=!o%?17%BH+!Ty-Zax`MG*VTKPo7ux)`d`EMd4Z7%px3>!C9+fO zaegDR<$*P~>d?;H`xzsB?XBuhqM5^>_b7Jg-iid{Jy>%Psl}cWxyX?owbx%KisuLd zU5*l*l_+C$!@Zb;h9F z!OmIvO}w!P!$O%+SmL-)t)GP$uw4|z3qU5r=~b`@mAweTb}2IE;Mc)CH#T<=y0?8Ncxos6K*b z*4!-cJ4n#^=w_B4cHg+!K`0$O`wd+ozB#=)x+rsM?eruYKmaHFl!?`*B5_)gr2;$G z9|5q3)xhAqec-a9Jqg~q72`4?<(rOk!wkD6p>w=p>jjIH)(d7~E%cI5a$=9#(fVXn zRwt_$Uu^D4lizQ_X%do z>$6NJg4=Z*HEI(XRY)Wwee;}D(0WNPd7Yft-{=x-9wj#_!<5-Uz-^UG>L)*Oo~4>n zrh;%Xo;0@RL?uUQBrcEzX}WtYhlDYM5hSNh(HEdA=g~}VmParoy1e8HmzNQXUnwaB zIR~Q?@-%R?w*JxD8ccgq_pMw;?zu(IThkkDpR&6NePUXpM`(T#I9Z>wtwTZV?NWV219r(};UV6#UD)ID} zi*|N6NiO1edeL6IpM8^DB+sO=f)pI|u`)fGr3w}C5?lLe`PVK=qE7aWX+Tw9Q8WdO z%jhv?3G$o|X8Ns4b7ZdE;FS(ce{qpwT>1lm`E4LOLQtfME`)EV#xyv z8o)PY`1kAR>rCpDb=rv&N;{$FiQytBOw^bv{zIfIyjkB~(e;{BcpCszH5^NuY8&N; zb!X1ELe5u`Rh6P6k4E310fZd((YM%=`bZ@aSavpzZ<8dURnk#ZXkf+A~N>IgIZyv;`!S-P!nl8MYj2v_YadaIr*+~ z3SXnMlT^XvBn??oXse%Y5=EK35Glu%xnSliWHj|~-{F0ieTA$KL0iX*aTbxB(IJJ& z;9#onX}1Tk#l6_p7B0cpBXg98O>Nw>9(nu6+VLYMy5{G025@|LU9MI?VS=AW9b3*+ zG-qFYv?EPpR3(1qpc;+wG`=jZFrgC{<7jKXCW{vl?cS!{OdH5>%XndmuWhBR&K(j6 z{ayTO90b}AwbA6M25IA|64LJJ6-Zozf+{-_wU}SC6boXvGrPgD&e^Fu{!nWaqR;`U z9p8CZra2oy#cW)mIlaM97cg`KNIBU7oZ`%k^1cri9g;hC0(9>v7>a7HL!;YE%3kec zz^9QwLfQnOCj2mwny*v>(_T;%GXM#}Qb;|kt^>%RqyhMtie&sqO{Z{bjaT%i;|5UA zRSAg$#=x$09CCD029w_&YWL7CFv83=&GGC=)$OB_WibZxE9Wd+)5ikbuh1T{l<}4 zm$`GO>Ov$>V8)34()Hg>S2VZ62^Wvikv5zCr4C^g&leW!pE!XfY$>PHKO4&hEkP zCsJ3*4|2I0^8#i&$Uhm{fR_j<>7dvw>t{hxBLFd}D_kQwdl} zFYiYh6XABq94-t?G<1{p4yCcH((|O4C3!h5P1J|+e?xl)eamlWMm-)E&rL~lzrUi} zeL8bwy15lID#_p+Lb8sggrqEZRdql;PmU8#1&vMb zZU}?kwM9m?g#E8*F(@6RB|`7|{@pueBcaJfYK6iReIp z)+priHx%bGJ(HSef&$nQ=2>H8zqJ}QRHW(6{rX!hiHYy}NDFJjf-2>NNR$ZzI|ST_ zZa~jtZ&!)!J&bYgI3C5C<8iIAf&2%E((5H)l)(f9V}%vPQ?a6uSW(Q-55q=`g27o3 zV$@GXjA3+8S{hQ6AkoMz@Un}CO-gnME{-}!$547QKN{rONQZ5!uQk7BC3-{4k1-{W zbj|w|i<4}vL=iZ;)}_$j>-P#b3?pdlM|#LY_7CA9N~VVtYC!wtaKN9WXLy z(QDL7i&ksstKPj`&|hnk~Y z1MN`bmIU#u&?N$AILWK3btD~pKdx$2+p+L9KoR?*x45N;e4BKc^g$`2WU$=yQ&V<2 zaBiv`V}#mT!4`evu&s}ZOzEcnYF-@gS6jy;M;NU>#hKPo~jI{=&guE z6+><}GKBRaYg6`?1w2HRMJ9m}ZBem|LPr4C01K)<7IcQAxV|!+OxwO5=Jjf&nDYKzswTGUEh7#uuW(TwJz4fIPkW=zK?Ic9Cx__!4U-=yI$2m$d7=uT8}VO@|ezL@})1CVk2=| z8?v{Fii>|+e2z^l!Sq;7Kdv_$B?%-!NEiZ<)+zh1Qb^eUyK6^Xe);MhTg$ete#5xG zWUI&ye)ASNcDG3D#vgbSQoX3~z4AiffkM~xVvbueT6&iGY$oIcb#cpBUs6l`;}kOQ zSvu|Y;-6=30q2{eWOB>d-8g)~P_duyJQ>g}Xnz_IojgrjpvW$v!mT}6?om!XIEsP7 zAt|Fj4(Geax45P4Pa#ge4^roQfSC=gmig>y^LnVHKT+V%-C_6|o$7foXc?FjedfjF< zCK=^Ar2mD}-dG#)FwTB_`~F;y116PYQx)iL1xaNU61*<#xXB@*$g|J(Ure|Y!e_4#{h0tTY%;LWQwC3$Hu z0J{Xa+c+U9-JigpU%cBf{8xW@^@fMv|M>pHUw=HOk6YzePl(QblWM=#0S`j*n?wb9 zLU#=wfvK$vAwkATeWckI1y-Qc&HRk(ZvNkpft}Yh*3*|!2p5S^Y-BrLhm!oT}DtcarZUQ_JRKFYkzi( zv5uS@Vn>VWZa7{hx}8iqq@xIUMkd`T4!5QwL5Z=a?#U{OO7aF#Rxa(h+6kU3q22`JsGmZ&|Drz3gw7YI5mB`h-I-fTQ@q831I?h z`S4OzZ;t_#S9zc;2<|u%{jx7wv}KmT($a7d;`T+LBUAaQC#S9&K0ArcSDyp@;Ygm? z6*WZ_!d(H%=&xH+I<(n?AqUw>>JqN(zo!-<{6lJyl@syZHnk4o=pjn&12Ni0DRh}V zD8?ascJb`uo9Qp#%)Yt!<`AvHpM5h^kI6R|&tRk9rpQQS&;H0P+w_<5?3*#YH$cpu z#gpt8_;hh}(Qapl$>it=o*uTdZzkFFmxnFXnP3*r@kKS;e3ejj4dW-(ewhA(&s(dN ziD`xx&bFaelN0u?S2dhAtGV9%aGR~h$&{lI&y3O_HBUM1(0$)5f4N3x&) zM!$ZRx@QHzw>^AzvrY9b$)cm9D76l{Ec)ZESd>MSsxuPaL|dENevc6!f9}dvfb)F) z_9d+RCE?5a%lGF$o}Ybq`wp{$K%I0Cb>veFzsQR>n<9SwR}N%tmhN=|q@)5p6<@tM z`|;jq`c*6OT=2Z4t(|yn9^V$AbC+I7!FBhbF*Iu zw);K`?Ep&}BE}iAtdog^o3A0DIKhsQGcv_72IIdetWsRpP_EQQa0)xgKz1B(S5NFi zfcqiHDj0-;Dmhk6DLK%jAyN}0+F3;)ctY$gm4yzF$&#e8)=5WH>aS3Temk&RG3PPsGzPB@jSG)7M#5_*AybsfZmT}l_rMTv|AE+wB!1|I6c8Hhro3N47xjql)KURQ06 zL5k6%G&)14TXF-%6dt^kdl&)+Z%%J%02Iey5#co@8LVGwHa?2)n`iY6HDEFE=z~n7ES&n9~sUH`<`;4r$*DMSvK^;ThzCK!$ta` zs19FZ=;W04LMnr(+24Zk@NDuexhtUpPRmkb6Qalq(mdBu{6k0|7#(eaP7Y4=wkgN_ zWs|1_)mwfRjs}l>=fpurcD+NoghhLm00i2wA63?nhLTzOZ_%32DUI1fyrTH3OH7Bt z*>xtKp|cl10^2w#k+E?`{t*?CQj%+2xelLtGyRyx<)p+DErZX8Qii8Uz6?m8y>-J& z(Z$>)ACJK60Ez_lK&_<*V(U#H3NCNkB0H4B**Vh8eZ16h>43DvcoB;?sndu9B(~8E zefFeN9@P1BS>VJHsYg&si&~y?M9FQu&|ysN@T5Qi=NM*;m>IsotE^9wfT^!#GBz$1 znuD>XAW}CjX4z6zjPhC#1ZW&JB82)x4#zE}B&1JdRpR$O5Lk55O%}kQ+-8@DBE!SW zozH-E=_Hz#ZBCrcEXoAS7X!9odgm!Q$$cwBsHk&IS${dTdTXFopr`39WmuI_KGT7*isl<$qOuva?KW{r85n0ngeDs z`zOEyz&|SoJy4^oHswuPz>XuoX!~_-VGRd&CF{}}2BV7Hk*a*Gvp*F1%3B66C7=f#d7nGj&jsGzT$NRU%U8oAnLVk^R36q_!p_(p?>cn= zKufBSOVX6;ustl9y1?(|u*DP|!iT9n=0Uj!m#k>!%lHo2B9a4@=5L;y=EoCwd7PP- z1-*0zyi5ly(3-<)>#jwC(c-gXj%E*ys7Seb-0w@o1%sB9my9;F?Ef13Cud)kGNRTo z!TF2bA1^FG9?5`=-!D?LCRvx_;$?Mety@-ZZBV*H3Uc8>Zn1mA*i4UShiJ9V2!9U< zuY?nK*P`8|*)^Sa1;Z4ff>Ds$6{cFyu)&1s$|l|=BwgA&*tu&}7e*6o(~CQ-hsEv( z){6+)yU1f-+&;p348G90OD4NX9cJKBA!G(|L#gV~d;a~|+n>%a-@JHzF12DuEaz@1 zE35em+ce5Reu<}~*PkWyFrtSff*la05unSn_?OM}qCGwQui0S|$CK=0Iy#(O%r>YB zgtz&{be0@q9EJkgL)?jgFhv>0){KC5K8xuk>J~3zs*j4w7}bp%{*hojjs#nn%NCC2 zjDAtNhWev#u(I>v@z$``v-BDo%v8Rp^e%sNFl182|JR zzrC%x`X`dNIP1E+{nY~OxXT+et`WL4TDMGNee;ahXOsv7g=wC5jp43^jJSKryqRPU zFzBwnd)B`UgKB!DO9mX6VV$ZpytO4Hsq*^|?_T}Hx2mcex~*WJu-@Ez0p#>8xEpd@ zDlDNsMYK1Mn3E!H`iu$&JPG=P<>(3qJZmR+{wz0E?Q9Tjz&I4+MJZA{Yas3u<*HO> z*VeiSEoCQk#j2L3mym-Cp(mc{P1=Xlm3UEM)H1C2K_O9Ra3~cPN1odco6U6Qd}Zqh zRIS_RhlZtd1*KLOF~cq&ch)sxXI(y~cz1YcmIlRl-81O}%sAw(iJdb|8ZTJ*i(pf+ zP6i<1gVGClZ*4X>T7@&Bco1;X4ji>7wpj_?Fn-P+c*|tZ{wOP8kR-fQ0(yGUely`q zFaloo>>sDUq_c0ndbZtq-lQ&Blcrl3VV0!~TW2t&R;U7Mg(e@;TUh!qo7C=#-(ig> z3oKPNFYekk>bRPq(a1#&mPb z^0wckjy$52cCZ$<-*#wXari^Nudb=246Y5R10=RgnnpS(~>?;Gl9%m_?YlQ&wuy%!&+S0Ibw`_QWtLq&u&EW*Usx!g^R~ z#Q?>mHqv#^Q};5Be=pORdznL&79C|bNTY$bYSG8+OY6>4!AQ^B=sa1nb-r#kz_YGK zkRWJC~(%pMqY8hMkF>j~uPY&eFG}t3e`6 zOKl-SraasW5Xyi9Q~kpNoI|?%Od&kpRXA{@rYjlTEXA&6l5WK)qc#$b|C6aO0FLk3m{DA$ky*88E_Y;3h4oiB6+i z>@pLyzy-p9M8_;KzfKJg6YU)2O%K_K;nUKpjkr%Ue!~(b%apXY?%0o^)SE&Oa%KYt z@ht3)8PN<`&;w($qYKEW0$f4|^Pv~7UcLOczhv8)V|F|(X9Zm(IXct&s^oV^PQ~R_ zpHp!OK~I!61i~|_1Pm(lqMrU`E0ApyG*!9^#sQg-Af;yNTM5}A6=b#Trn7`grX_rHGsoo{Go;}Gwzal(&1yY{2d z#)qyZn+FV?T3lZSYrunKIw|yiJ^?Q~Sl+3r>or&H#}~hT`zOQJmZ8xSZV<9V@Fx>b zV1OsSP)$senDu}->rqq0XKIrISvw(AX}XE5l-Si4PPc}aelkh$38&pVp3Sy0{+Maq z&v`>W%OxksBje4jZE>BCx-x2zKf}2I>yvxH>Lg?v#wye zdi2MBu_X|G!^Ug!dm{vr0+9H* zx7itb&vK_i!9xx!xVX83Q=O^oRa`=#r)a(xt{@y=R~v=MwD_iR3elBjFR1ihLM*(dTWu!RQ@)sK!*@mEZ$kndA+h881{IG3_>nB79L=CVd-Vz5Hf#XqBqdiJUUMJr|V?0<-5~(Uy>XWSLf$nzW?Fn z-%j!q>+7rEe&Aoz>_#g3=$`EJa1cXMojBUo+ZhW0W=$RExN1SPfy_u7uda4MGm45I ztjCr1Txy9913*<7ggld5Lv@g?v#r`OhROsKGKNZ~`J~!tPeiFv)Hk*al7W-LjLWQA zjYn}&`DtK;+M2?blaoT`q(G?Dv|C$1PIa}lo$Q1p`r7iNFmArajSzy0#j1t4fXSiN zla3Ss9bdm+K4g{=%DMG!PJ>bdzw zxZosvKf95%djEWZZjv`wi|cf{;4BgTnr)>lo?dE;pG~$-Cu=mJ*_vicH$rsHl;~<2 zitVwcDflEDjiWgquonz!0MQ(jOZu0E0bdQ7r44IB+*5xuu>S2zxlsmKP%$xOpJIH(=6e||`y3mF#3jh{bz2J9#2&_n#?yn~^i zAWToYof*Hr0h6BG(Dd8CEL&%gkf2jc2CwVD-4d>UCKzCJYW}t~_gi!>GK5u z9KJy*AZu+z+&6sV2bIJ|yn$-133=&#yqf;Kdc6L7^>x~6x3B*GzJ2}mB|L{t`2X_? z;5zqs{dM~Bv4swM{Ahx&mosR$yH3gZFEehvqTj#&uaner-&1d`r$weN?h`P-fvV)D zhn{^`|B*pO{E=PKH}Ks1kE{jXKjPn0_!}Mj;9tH5Snu-h2#ul5nViaQ!3Qz>dj(za z9y0G^3J#5bPd{eZg>zryaOU!k2FT%1sNZdHgTRlc87YD$r~lDzpJqyb#epDq$G`7R z-(-fMGf8L-{-g8N)#N%&GDFqVL!$zhBq;EY7re?>cjcuuQW@AvRC0uCv$1 zbsHJI!IUSDAUCO&6A%$=h&kswlUncl;w{Ba<5H-=cU($1qN=8ifQ_g-`x0zFBel%Y zY^#RI{oc=Se8Zk(vgS)<^Z}jqAHed%rX;)`v2_zjLXE1WA zvV6fP$3Y9;iA~$g*!yX~cqy9N$=xuohrh}jk=KziUCSEfbAuWpK;X7aNj(Vy{@b9*L(BQq%>D1l+K^>c|Kc8nJLGR}!afnD5dY z>o_nu6>PB4fXiSYX0fnN#qXdmYf6MMWtJCTor?EBR)Vd53*I34`7Wyzl}bX#(EB9S zFX!-c3RW=i$4>hdhoSUrz?56I1v&>{V-gBR0J8{(AA(}+4<98`~#&$FuC!> z#WJw!wU7_XG;$J^dTIPU7Gtt#J)~u=relJ#4b2)Vq9mrSrGc}18a)qdsdT0I)ZHw& zX`?h|ZN_QnIA)iu6WYf`MH*;|dx7`#*RMMUEGH+5TYI`eGm%>r-ZmDOK-&wfsMY>J zd{OPHHGtLCCT4(M!t-22WVMp&fwBQDG)j@wMd(36Ed~kRlpPly(=x!0t=AuUMaTVpaRQoB0sF{ZZyTwZ2+8*{$ka1c58H0|qCm zmh`ESJq9!#9IHRud6~2+l_B5qYTt&k^+0W5_FbBlfp6-JyyC{9KLB7H({&udc(wgE zR$;N4nw^{2{_G3hM&Wl1GP*2S>3kP>5}zbhkuaCJZYffI#RYNkhNLRZdCLtn!$ft8 z`{cJim9Wjytte9*2ea=wm7L7wZXZ7JhyrIt+@bxFx_rRgoh>5?bC8f&XRWiKix}AW zLFYaHO>u35e)XgwCyBq0{nCJ&!X*|7*8^CVM5KrDW`fq(adMoTjBRoa{HPw_}nD2v4bTYlX|GHi1EoueEVx{< z*+7!5RO>;(@EUGl5jT__r83LCXs@QM9i5;#2Mnxc`GC1$yv*8QV}D}RcS7>PvzQgc z(s5wlq>hJ%8DRoFHKv9KRbj;ymAQ0Pa96<`H>u2LddKkicwyT^L4IN2GHYd=`UBXI zw3^ze^Cws;d@y97zeuH$aY>0YDtpu-ofNH9t)4p@y_%)YXx?z)uEKXXaMAFBhfYgp zrM0hpk-5PK%9-I};y8BLHl&_SskU)0G2(kPo^omWv9ORSG(?g~y(|yn9O4(Ja%NhV zKE8f^Q!JT0rqINKbBNckCy(-ApCqrVo9+8Q@oKU-+2ILJM-fGbmIH0Ja}34LfrWyf zOSURL@Gj`n>m;icB(7(Wb>Q;y<&2?qgk&Tw{X<6$OpPl153sSd+*QbQ$*z&1iKHQ1 zDR9jc@@QkFUbi!$+N>RQjVYz7tn^~#Y{9S2m?hD9gJOADFw{NDl3LZZ&it^n=!=SW zzL%MwDEK8`1*qm-KuxuT`CT-ilYV9j0;(&AieyjDXIb6M!2MHMyqWolx!r1kD$v{1 zv6;V?8*1;O=yQ1R2KHxxD0|W^8k~zO; z$!5D@IH3JK)EOk%jbdZQfI+%s7_f+;T&?f1)DXI{QYA#z9(& zi;x`5q7*}G0rH%>G_{164*hH;UM~;^RwaR#AFW%R*)`Te5!d5t!Q_v|X;Mw?B%Ub? zTwzrl7Awz{*%y~t32r&;qq;y1hr1JC-(o+XlssPP1QIOJX>US(U{eeXDRMN zUZu#SS!Gy$o9qGn6V-`i4Ae2Af;a-AQNrb;|8IwHFgV66*bzuI)~TjtjM#v-(FwoR zR%QokN;@V8mY*_v@!`AiQ)oBbbF?Adso9r9S4#ZgnZ?@9224+6ja( zyn1}g$C?;)PN}sgCb|D0P-Rj(mrqxliJkRWc0!eQndqCOjl{1{1tJle826D`iTGma zX^ZqkCw<-RuBT4!XN3F30%#BfrV1lP?si5%(q^oyM|cvyJYsQVi9Aq+Vk9Yb5b7F~ zmI%DsP+T)|?9C!^7jwHBoG_vWCGC!_QM1Q|4qF<69HZ<?7mr1gw4tkpwukQE~V^8leJeU$Xy!zxodtWPzGfWVE@D@BariL z=G8L1z?|UnbW2oeFl4Y}F#g_#Vfl_#i?X=GS2ysIilqxKA*?P11R#@r56%{Ni0lG# zr-grz1suGFQdkG7mD{^eHTPx`XYz7o(P`Jr8x2T&URo)mOMI~pKuT8tdWXbIK!z5# z_W6Th?+r3F@_Dv40lvya&@5-qhB9`9Hee15Z>MPwZ?9Af2iosDT-8V`8%PMw(NpOY z&6;@xKzs|`#nXlAtCfX0o$}tfoCQwYBSH=@&Qj~bi6;N?yG~dc0BYUPi-guJG+6m7vNlO3D`rZ9!8E>q z$~Vh3D@Ak8LhaWL+!Fj!Ux2Q4s+1a7eH(nDZ)Q-Az%DFzFE_EER4PCVz9)Inbl?$M z*>xIw)INfZ&E{O8yml(E9z=^m7oyGetiFl}i<@f|eFLrHrRGEUU32_MmeQCEWXh(L zn}hkZL>y5uc6!KAO1>$lHLVZ9Ab4zM2948REA-d{k0Lr-mhsr5KRWL{bE#mPTm{sr z*O50LjdC*LHDBXpR6Yz70eJggEPu=8S)HF&mCr&qbhAA;{7GyR8QfQ_M3;@3FtJ1P zxS2fnL@juL zUnM8COf2~C%zj>yIn*ePCohE{{OU28+Thz!F5KY}INouZiCd%nl`|Zxk^L6iJcFx* zy2PwO6SI3U899j<;`mWZGqAE=sfpuhiheCF7HE^pMzejG#(eTNo|RZyUn0I0TcpuK zHsnIeealM?)TR*qH(-kcyQaCV%ws_= z@N^@OLYp==n03#?TJ6v$JR%r)tFJ8{fb_aUoH+7Dl_JNYZ&d|C zJ!K_e5&q{APJ;>O7to>X3`at1O60$Enh`< zO!`7f2pDm;8V0ik4f zTs}NZJh03`a6df4=A7Wt^K(f4CKC~gNj6EKX0pqWE?z{cKpC%7LC#jH@Pn9oWmW5Qb>98!&X zzZSPnJz*ZON`;gRzF&T>rUA> z4xEy4GL>75`qdsv5i2L9*)T>60?;!6Fl}iqhbeMeP;x$S((bg50b46z2{Nt8MJMB! z;g+SxpFO^YI5w|eBM}EG&@CyiuJuJeP%ieot|VfG1#bRG2d`W{OhR82m?TyO0zl%B z0PKt(Wndx+B-`0+-;*6Ys$LW;@!>M@gYbN#zbhHdc||sOQ=&9;X#QmkMb{notG%=# zld&*&q~3zv5U=qjpD6{3eV&}QSUZ3{WdNkHjw@XPAT77-YY5QUGnxF!%&ik#Bbh>O zFDcq*cff6$%0YE2RAu6eSS|5O#VblWUvrtLlbGpmfpm={&s9*NpaY&app&U@Qah%E zCKGYV(Bj)HENGfdCi-t-SIEjzcouP-ZQtWb<=C%A@L_M#k=ajd7L0j#uj1=9Sf%XlaL4G^9qd2cr7{Y?u}~L~TZy zsiRBM&|LgaZU<)B6DFaIJOFHQn?6%aUOde3IpX62gi^!NlvUgfTf7xE!b>D#ybxu9 zg0QWjN&o23W4xHyuSX|6BZkAwZymCx;=?%aHE`jz%o9Vz0oOrka>FI<%OKy>EE9fZ zy1I0WYDPXuJR2*!w`2-YdTs7fRI+V=TAJnV9q6)U7>66*ThZgWCnswVwoZ3o2tb#n zvouxwjj!D+Uf6PbkbO!K<1z--#P1ZD+E1lQY-4R1<;rmY>zFz!RA}?-7G&0!%Ma*R zJqydZ?cTJ8s6}1)2olbaL$X z@qA`zy`WbRlH0n~%fJ)E|?i5keWY7s1 zc9k8bRChzwtWGlh18n7F0DR^>0Vo>>m!iw->Gra2NZj7$a-D(h~1+vd+_GvKIg+eQ*<akcK3fCn2hM*m zp3m4+Wy?OPo2g_417y_a0`IAYn5+g&x=wtGAIG~RuVQ9@@G7bCM6qbR`6sBpHemMA8lkml*p4J7XD&(hK0`BYic zK`YEh&FoP42;uePPfPT00)azRL(Cn8_UNWAE~*C73q=tdF}=Alh)FLbhAXR+kb8qJ z1xE)l< zYN62)tp%3h4BQy_(+1}8 zxJ78D>7`ZD8RnY{_8GP5o~FXFNmBD;aX@2TL>kpyL11B~}GX|yy^fRc4$FB8H4UDpqs~g9o1;G9D9a=RS%cs2VV2&TPcC6$Gdq9Rr45`%*(|Ue;#+7X%+aH@a7oOXsmGQ<6I`sGZVQ(1M*F!g z#D=?Pq*qShQHIR?pV)4{jgnd4e~Q`nk{mT0GUE-k+z3N59KbO}1NiQzZ-2ww-9P;D z;@?yfZzJiJj1GR2R}>fA3u<&EWt8pe=#>hVmr4=3=0^!!Ow?7QA>7gxtk1O=!HE2v zR}Y&-OM2l{_uA<*jlY>4{OU!cUbgnx{bV5kv}==lACYg>f_$Wi?&Bjn4%L%bje6nG zzy$p9Oxq;9T*+mRzM4?AnQo8y&8&G%q5;8z7g)?;>u^kpw5Z=!3gtW!QpxB`Grp%_ z8dRZcC6*T$zhr!S-B-f>38P-|Q*d*olcio;c|^!OSltc4e?cXQw{P1b056?Fj*?|& z=rUwbYiBMPebVW2E4u{a9ft^l7I`+lSR=kL)T^N%4@JGS*5#^uZCmQuFFZnNDZ^TB ztaMMcv<6TZL4l?5x^GV+;&Jxzj(^B4bRTqqi)H8( zn-^f=a>zLrFjh5ePvzp$Y4WPh>-(zn{)TPHKhMlSvEJqob10e3WZ1F}T3SLQcB#JQ z%O(2aNw>sS^4(8A3TMeb^Df{xw@q7b^YZOWOo~xSuRzFt7W}Rl&M#pjPk^XkOL>YA zfNZ^zu@9{d12&>Ysp-L~Mil44AyGxGAf-xm87J|Btz)Om<`BxuQ|X+IUFQs?xP;^a zp{tjtaaVUQ^d&Vl>UMqM)f5W|dUz0I%m4e*@$-*3SJonmi1HKmQT({mmOqBeq#ZUj zRk_*0zQT&%ZMh*&Lmy{Wcta!n6lg`_;UZ1C6Fh;0j#iVz=B#t8L8`GxII~wx-eHZ9 zH9DU6?-TRZkMtT1cpwW8v6I~taJgkxC-f=Wmr<TP$bw{v`JxB2~nl@VUZFO1jnOoi;DY8Ljal=McRpLdv=rp1mc;CQI zt;SMoWBWs^ts5TGFAjhH3}V8~4Wi8NN>2PbQPwV}!H+>kgO#W_{Q1A0vvEPj?T>$o zLl1?akE%n?Zx|kSPOtKNuxnKq`na>O9c8yR+FiD4pgvyof0N(q^@t8&E=+I|P$5>J zM##~(COXJcWn77lRq=|fP5n%p3e}jg!9?RdBh6X;p0Ulev2+J&?p0gwNFpWpXfD1@ zeQs&+tLWL-d`7k4<}*vYFQPlS@!TQ(-Dj5tzNxA6Yu)0;?NxjZbt;SePohg}GaI!c zo7pZ4eA`Wr?9GgIOtL@;*WAx);J{9{M-Nnp6S0)Busmnj%06rql$Js1h&w3@KxkgC45- zePj$M&q(I(eTkbuUw7KKyX#YTeNl0sD-P_61FAR>6^FXw(5^V7ibGLxq$`f>iX*Bx z5*5#M#WTC&8C5(J70-3WbGza>RXi6J$GYO!t~jQOV^Q%!SG=$*UQopgQL)!GR;TMM zOjoQ-S5`KcvgcHm%h;2ZjV0}IX|DA8^dV9{0x6TdW@@zij6a z@VP1%llyYr;(hToTbx3b>a@hdQ>xSc^`_W#>UxzPp+9-uO6u~S!JB>pru4ke_iAnE zHzj1)z6u;$|M zK@ePgDMSDSPr$^*Q!tUxAV)uLH`}BUoLgQ)fCQDl&?)kH@O-I5<GB6$5uJbDUk!{x74Df?`pidqUq9tuAek*OiWhLCKCy$Vis!ir1 z@Oyh#7q`Vf*`L`PaoY{|wAte0*W>$}qGoM`YC_-iZIiCaQyf8kWc*@!R~41ht+;;= zCy)P1;oM>il1>{c5CnoODo9A!>-9mshXu8gU0WTo$-g`*!aCCjXxM3HoiN&Km8k)FQLkl zhVLIZeBT*=(D%l#i+as|Z}RAO9r)lpFahcN>rma#0T)lgLoY~%<~T!d98gp}jo5m_ zeX|LV()+woyt(+qv&ipI%k_J+p#FaH>T>dO$vXhyE!*7x?%)kRVLk5a`U@Z`NEtq& zTsDOJ7f+d5<^!MH-|_Jl90u?BTC!$(U7&4k161b+P!jK>_j#j?f}h9C2aH>@ zn!@~m-M6yrepzleKe9TXSvKUTIKSne6U)&FU6n!ste2FCJu%&upqh>){gypM15fiZ zU6FbW`}FflFKY2#$LCDa3OcybE7^mW zcop4LEX!e*R_}{?0g*T!f!Y$3ODFgzpRM={r;tp9E%6Kti@{Ac7Csu*1LEUWDl8~` z!5LIDFmKj)45w3K7$Oaf)5~0>v*xW#L|W5|wu0|`ER6P{5$oospnBN*Oj@2BG@+{( za;W=_G@Zxb^>UaD!caj{X#NkU;54(*fl;cmn(Dwmv#V?61_+6xu-Hln#k>D2z@^5> zG^`xV`9mZpggvnI&XB(`t%i@U08Z_RdikpMfM+*v?7qbuWNEyZo(gin2-)bq4(iR0 zFi~VVl0)(Anf54#7)g{;Mdv55Cg$`(dyFIe*)v9&B_2hPH3+#Q^P52O5YImt#^0GK zc_hcf&>E8a`5~l%OU^JgUaOdyISgbQ4B_N{{Ga!%e2DPU_CKKTzZplhqV+d2#@~_q zeOZntTl0NrY@?=ayPq{V%qGBGI4H7b4VB3&KZC36(p}4NDiHtrR8~L+C&opGcW-Pm z+vK9r|u3ER(56n1rt_fUSc1r9n0)P zJ;HoWk_jaFkuFata6z|jBIX%+Ret;^2#j22pk_;W#j9-cYd$9|pum9}8EVdPOcju9 zoj6O`wzE*)CEz9rDUbO&L65V|&R{w+HIoA_`of6@M$TFq)pDfN_3S|)EChs<)XQzI zNr=U@hz=4#R|)bQg=0Y&@LL|rcY6pHcTD710*2;Sq9_r+$peZM0oK8p@~ zN3B2-v{s~L3zxu$f0AcPdC3lk}BwHKyHfJhE; ze|gnPZtD7Oa(epy{rk@QL1$aOIqi45-BV;53H&dFyTo`DN)B!%?+W(*kJ}GP`tf7Z zJ?b7MC-q4J|EmeU3O3+}cjlJefsn+x&x;D8wEqHP5+C}*kHzwT^Z!4(Wt`Tq6>^nD zRsG6uakJ!ZTcG73W{9pPN9eI}Bu#XV&~#^d^uAcuHz%FMgO>-iaHz zZw$~12<)-7_M_>~wNG38X1jf}X6=$K+kD8$SF7RTd@-0>1p_ExXXlG^r(gsH%lU9P zIJXPVp%0JZV`^vosYXi0}Bsq4TegDx&<50`(7E2 zwmM(ThfA+)L@1wwCdDno@mAf7fmy~uc@U$G;6JB?R;mmCIVCvK1%v;b5*+8O2mh(d zKP@gFWX0x;S)Xa})nd8qTi^RQ^y(tN$gS@L(&&7E#G}6tss3m%>N>+BN``z@t?y^l z&){M(vc4nu%RztDUs>PBL}>kSe{6lfAiC%+dJF4&E+#h4$2LHDp9)6(kv-#lNCmy~ z;m|H1nD|V(x~scl^OkVBU_-XBzth;``F!a#ps|PJ)x2jH5LI>0`WJn>fbhB)cF%Kn zY$&+sv9p0)fS6s5d-F4AaN5QF-gq>(3lO*YvNs%^+XaZ+@wm%|E4x5px0^eCN%Ri8 zV`qv2zZ`CNm|XCeUhmA9{e5}2W`yDaqrG93APB6-3HsbELKqh8Vz3;$MTqEmel}is zMF?L$AD+(_J`}Ls7X9;i*DXSHk6C}1=WfwCvB2Ic_ojs?Kg)ab3$GO-eVF%#V-E~M zJL4q1^2=z)c8A^7+$$SO3SM1!We8=S^D@22OUCZZ6<|wtzB&sQBS_2MV#qFn@i>BCTDbGYa2czBC^#GSRx(ZwnsFTMWgSicybE#__!f;n28%@dH#!>J9H zqdZV1pd7A@G9l-1)DQSUwzR(!LClxT*r-@QXzwm^W0z`K>TEb48LNl|LlUKOlRat~ ztKYjgTMg_2M0byk$INMg)978CpBaJx79gs7qqC8*tXP1E?kfP?V8!0E~yIeleh+RD78(OaJ>U`yVr-kaX`KoUh^aZ5M z?THp=x$Lr@T|mon2Gvsad|32=1?X_IH8c<;pmSu|ObrF<&@62?Wp2 z@`YU>5S*VG(u)|I&~-K*+XVu__wAfC<69CF7geDUk?X<$8O{TP2*StC4YV8kf|?n4K-$5(FS0Ezb-(GH$Qq z-r{^bbV}&hKbv#>djP<~@N>erY*7i~c{s?sLw6iHra0dpESwTLOW8TUbvY$;l+H)2 z?~Ws+nv2!h!Uaws`(oA2nOh{u`Rx46EfVNnj7I~9p=hM9daJR4bhDVm&;?r>a=lqj zSAr4i<)dIZE6dKy!l|*50;Y%H@;X6!tmoF zjYi{ne-$jh5ULZ-aD(NvV2j0Sb%o$@B3%g(-mihdAWEap4XUKXZZ)}+Na=92>*af&E3odO9 zoWbcrw3-k5bGu+HlrGEu&@P~RGCzymiHmzOXFL{J-Ky&v7et3{$&geX9M4^+gdpPw zp;4k#PjKsAEe#Y~$}GO_274Dp;;znDeCZYqL{ZP!siH{eNf;ZAeJF&MX)t$-5Z$Zg za%?DkEY%plHuOC(5ap|jeBAe1U64BAeAV-&EY%Yn?Ou;kL1Cd+mdU9F5KPGD7(O$~ za(JMUxE~vG2o(r07~l3zi2#Ci$9<F;ewmosMW|1K{IgNlQF@pwFlQI+JXkE1$_qo2W|k|kE_%W8fz;g^ zhpkyIKtCtleF!{K@t*hl!E#!k;izXEmS*`mp?jG3E`sG_Qn3yPy)b;FlwJ+ay5afD zHM?NrFn;C2ov~r0ftsRSV$FV9Q`wFCflNTbov9S0ZYY&l#Qha#1bnvTo-gL9{Z6m*OWR?I0O znTYkz`vX(jd?518;XnJk{Sspoh{GEG&n~cEXp91!{d@`kxnr9zH%0+Th$HyVE(pEo zU;)j%5C7Q(7o`1x|7=}~nmt=^$s<%qV&ZB!UM>QqL(7HJ3@TCg;5R-F!8%pJy#;~9*^%*Rm`KfUspmLgnt=T^Ul$Npn*%Q6HlwjD29DoTarS81AHJgs z90=105t40T$>h;ANL_)c)~{P-lmlPGIi=8eojL}^+V zc+Xx_6w4%5rg2tY7I|BgCmDLxCMxNOV=ZOX<-^|Ol|s%WY*Q_hiYR#1LK*gLxou-7 zMwn4blh<$1u(w$90~K=h9-DRe)Q#e3k0zk4^wI&TBO&6=&@kFx`oQcCSixt{4ye>Y zOJU_cAqZ@@ix~i8Uq5WiTVdlD-h!S9urdtSd(SE@*+1@!QYD28Y(7dl03+Kwufa~( zFa-sFtTrQ%+j37NjREcTfGVA+`V#G0I~63^W1W|rJcP~a9+ZB2!xnGZ(!na&zuTBy zP`y|tr!Yec`ZS52v@td%(5k{+M|h=e@NYA`?Iwx)P&o`tuD|49@;9)ssKq|tS8>$M za4QA3r(;wrk4urdr6b1{rnT~?%;`ju1l7?_~{+$IYyOJkAT%sNlqK2dPql2+HkyPAQy9 z63okYw|?LQ7njM`$)r#=#5*;ITBoz(GZ5wADu+%@+sk^ky<*ps8ybwIkbsqQxQe}m z45NDB-%j|b-498c_0H0)p3x@ntjg^zrObyvtEAy6_ZtR(qe7?35$l~XU|6Gx(8k~9AnAF z8E?}aSw$CT>0}8WIwq(^tH?^lFj%WVAGs2e!_nU_mz>}rZZmw_&^G{(|AN|Zz!YoM zC`okJrAcK)tIimR3O{a_*juIZS#$bgl-6KAtyUM_!e;^JkC zx?HOw@q+HP7JhlpsVkV>Th^P9bHG)Xi?RHl-nB$X0Tlee3HIvYs<^&}>_|3R_?L9j zLY&PCUWTyDN{)UB4tiWjh>ZaWdzjuy%{Vt^%&D5+X;?R4(UXlT+ao$D* z$J^h}POtLzKfCRVudh$Do7w4ae?K|R7PHg;Kwfy7z2ko(kga)MrkAJLihtm9K3Hz1gHS0$9&URI`BnN)XRrU6ccRb(bC8ZjJltK9$^2LqH zvXB*X$(#Kt-z?W40hw-)krA)Jc@dH`u@Ymt^5!yU(LoSD?smS=Rbj$aD@R(@veA(p zdEkOj_SPJJ7rAC?CnN*frtF!W*J}jB2dYt2hqSoSX8CgY)BBAEAe;m*gjaGJj!Ysm zJl2Ebk{D+VT?Mmk`2%D8gijpytx1hP<~7Gy1*9L#KtIb{b?PLRoSvLu+TXGT*(EcU zrbI)>UBQ8oiWihlI5IsWSE5QH8{?G7sAVTRdG598bdkyErFW~WmqNZs^5=F-(3{Rd zosasrA%y#rY6YD4m`0#*LZ;T7)^tla(64In_eI}8mF|t{bZ^1c5B4Q}l4FFLhO)`M z^*S}aaL_u{wyc9^FeKNsPE<}IwfoJKPm0U#WOLc>O?s#ivVeC;5029yN_`N;$$dSG z7k&Jw(wv8ii9)XUz-l36+yrm?Jc+SnA}96>!OEnPpn(&`%FJ^IUjm;2&J_3)A3^CBs2D}I~mA2oJCsCd9}TbF%PnX zAUn_jscC1V)4EjQJbs{wNgz=c0mKR|U8VBG3q4^`VT9iA_yvStrgBdEPS}L?mXkQK zNts$6^>Nf~_E>H2%LQ?y30zJwQUPv=`TcwjnpxHnf0>(z-|E#5JbN9&3dy?xWu$DC zWbBgEk&|SVuPc>uo&4j4TRcKpfx-o&Z%h(sCRmX{uf&;a@hkIid)yP9%PO;Wk3PWK zf*#4%L7II_)>m6&nKejL>XEE}%rA^mfi-!Y2Z~zzboqb8$aL7mSKvc90-x`gOlFTV z-(Vr4uLD*1y%>ifb@3sbFxXs>#CO~Gn*(MA7o!E^cr$?1RK&(qA9w6~80^$8ZrtCu(%I3+h0|X|{GvkQC zn`NB4xyL`B%`s5Bv`o-)0Nf^m50Dse&th32nZnxrmVhC`nJdFh;6PFyBTpN*rpuJTQB z%bCgM&2_5sk?Cl>_!q$3>SkSj?eq%=CZu1W<-L=_8YCarC;6Y=^8HJ#Oz-QkIqrX>xEI6dF zf`FZ)B@$h&m2gza%Nf-BRxZS$4aAjBugbRwnFi9Rx>$1#0atIhhqrLKf@6m&Y7$9w zWKpFQ)xb$Hdw@MqGZ_+{zjI}S3`*iAt` z+SXgR#LON!9UPgI=cs7}2?4qMQPko>2Fm78cbBd1%ld{@oR~_E#_t3sK%lg+p+opd zWFd}#>4AFD{%VjoM)~s^nS`I^4b9Dp7VcpuZL%ucV&L4Y==}KNZ?AuO@!iYcUd;yG zF8|=*2riF6096D*svHA?9?_3TU6Jk=E8_JA!!kNGwXGFU(*&UHZ9G^>J!c^&25yPjQGyx zwcDNk*R9Q|RmL~9Mzz0MrxoATo3C5FHV$yd$!*-t+S}CL#9Yp4@$G9OxQTAn#up64 zUZ-|^?Fl8JbrGU^aK-u2T53X}CF=~njt>J*oyI^Ozv^ZR@4!*T#EVJ{^27alP0)GU zSM>Nzr`wZPEhMGqGu(TdIEBs4s|+e$Xfn{wNP>l!t>xc~GM~n4>%xqZHMTl8?st zt2lp-y=4M*Y(S{;uCj_UX5B2%we?kWEx&!Rem&S_e0HkD_`6ycOD3fl`O#fod~B>+ zCf5ctp)!B(8ls>aICTYIu}!Sqo(X;~$f^~mtJ8ieIRy|?yMfi8_9e4_h}R^}&Z`E5 zYJ!)pw7<%W>nzb%+T^4-N$x&mN686;Khh-LO&#cfUwz#!vZJoqOALl;k*{I=8q9>@ ze*=wbr#gG1JtQn)zrprT+nuTa3$PUFs@wz35xv+?N z6Czqu8rCh%c6tlw4Unc2Yaq@?rE2p-gmA12D=Hb9(PctzbpLQj_n^sWMz*@D2{~Nq z)p4g6#!mlTk(N13Dhy-%k`x;)ZP-TJyIHFV7wtIjNKgB)#Tqs#tYfTuT*%Mr-B5`H zd)U+5RF}lt@3Q;5z>XG&zdEucfmla}*nrB6GUU7%)*y7qOACV2+nEXi$_A})rMwoF zN;Feui<3s}>$R2q!WOndxh*>V(Jl)KvBAn?dN0MT6g4QO@@O$l=x{4zrAKXe&JDj! z>oIS(>t*0YSiLG6FSD|$e#YKxi_P1(`E&$6X%9nEDtnR{40XvI;};Z0@v%tD5i>vO z126ySJ*Ouy25G6QQ9bMRgxP{7$qpEGfQ#^D(E(-Z#3|qHd+ptBzTZ$1B{IABUwrw= zCLYY(8uZw!%lYpHQ*7I?Pg-)I`JYNj!!|ARJ9-Bs_r-5w-zRCjssQf3_)Z=CjsBR@ za`2!5!<8dL!YWrc+xzwM-x<4mA&JW{MC9V?wEl+9HQGzsP`U;~>0`4DjM)NrrH~DE zRovc#__h26oBGdF3Q$Ts(v_vPJ(@Wbt1vPn?K>XN|kjocd3A$%i3rWDNP9^Fk zY9IMDBGRG@nC3c^RYl;R3uu{@8o)4q5XqA*xhN^BERfS`2eKT?(@Q3J#fWZK=L)P zfDmWC6y9y(l-Y7@c<|+3tZd-sh?e!hE8Z@s zMd7#kBB(^MUh&1=D}<4EfX{vWsLbo^X~?Gy@I2;&C}RJi%x`5XA@jf$nu)-+XpvR5 zd2;#u-C$QOi_wW<$q2|$!an8p^k&t+zYEm<&0wCcK;k~2NQ*?s)+f|l23r$Y(A+p} z&ZyS;8H7$+rbsY_fHY)gRD)tIJH4hwRQuSCmJqN!@B=51shS`pwyEw*Nk~m5Pz`1X z9kY>P>MdXPY*QO+M6lvAKe+h-kEJDxgiz&@#NSr3H(4b!YtTV5(`U-m;6N@qWl#Vv z>VXx0p@VDycP#?%m!gL>Q~9$zejFYITo>HTYkXK?y|n2-5Gv86(#AV-Qq~S&Qk?Zq z4eRN{T4@VO7;YunT9BnZVU=1f+AQ`?ZQa8#jhsQ_zEPC1_R1f^T3Xg*v5Wif<>u`J zS&v(hH!P!0u`6_liiqVN*laqL-E_54Y&T3ra-~@#X6Y%sfw#C@K}81WfEfnIR+2Ht zK71iui4*Xeb|3i37zF*PwfRyQr?wT7!6CAk%SP5Pk!=40UNomYSH4-T6bqHs0sywun`f9xbGpMS-xizpQ#yYK z;@ARmMXZZAo5?Mo<(f?!V*sii_(mh5^I`^Oc(o(_PrCbxv){+C`5=JT>fU`gY9F=w zowKu}ua6Fbo7X?6UV3`ePsv2_zh)@HJ&yI1LDVXLLd%0z2tr!Y(u887rc-H^**S}w zqN2eYZ_~P37Uit0*VpM0u5GD7|F2og{J!2ISzU?wT|YKpp$P{fgrnNYkN#d20Dxjv z*pBiqrje^K0G@EV=69(6-3MtAe9+1?t%_}{3O$D`b1kD_0^Z$_N4;V9w#rPn=+pF5 z8fkRN6Yz+>@Cm$CHp;oYFHclin|-+BmnG`uh(Xj)&SH;N+wwh^Fstd)o9zBo4)>Nl ztl$b?9l32EyMG86PSXo7mJAmugyarI^-ckd5C{J zj8(^o&8D+Y?qFvuzt8B2Cl1b(W%#+;GZe0wc8>f6=K|8T_>DW>{DADHZF1Vv-so_C zsWvf~-hXyC`*4QDKv;v&x9QZQtoD{qsMt&{&i`;U=17Vb7>o!xF_&ccrv~2a?@6!k zQTGpgYXt@s1)AdioX^=hz#fAVPgtzD<5w#VJ*{XEWosA&B|>n1L;=ng63g3sZHa8+ zQ^PV)pABqw9|ra01^lHUknNva0=^m%3lLQj3a4o|vI{IcW-6$k$^ zORlbDfZK0nJ1A+%NR>x2eDU?Q+YfBfXh%?J^+X*Aj}qg5UCyl(3PodOmq{{7XrCwhwTD5~=}bJXcqDm% zy2w_I8A^`b&QRam4oQ2mDo~UNQ{a3wt>xk zJa>bL5?f&x4s@Mg28~?w1RKA(#T8M-e(Zubrw`pg^p zEYiImyJ^~^CyYJz#vaSD-5zLkT+yK*2Y>vL9Di`w_&uN2deC$4ED8Y*-WSX3LjVoW z0fOOy5cufF!TZ5U4&@Mou9&G0fx=*W6ac|E0z-;Icn#$ob`8*!{DjB4)q!e5+4#wB zwo=fPl7d3dEa@fJ>7!Ecg?L38Xw`3SH4L{JG`Bhnw;DFL8i!krnp^d7Ftt`OuhPaf z{QOnp^2}m=zhrx;CXk}ectZA--_Q^1}w ztnj0|G#U_EM{elxhMte&f%2aOtQl&?jd>-nx8KVS{g7ALkqqG?-m$ZzhS$L?ks^`& zMpA3zgJM`lq^Frg%Y#Wb(Fn)rVLtr+b76042SZ@9t{J06yy}R#@zUW$*?0#5h9Kj! zfnofkaYv7rf$96tx)e}?aFfWm9&Hgaj2#l!q|qQD&^Tb2V7=1e7xjwXN*#llZ+cB{ z@cToV90aavdJwQ062rp9d3UpS(wBUs_4lm#LW}$>c+Ed9IJYh9d{ZBu&y2U--q#b= zPy4oN^R52@RMP63Q1-xg^$~u6kU<@^Nn2z0BQ!X%?u=qr>Em>Mvn`8%!VP6T(cGQN z(y4^Fy)5`nqa%L%erf{k6#1WmW3?eHPg${p$CM2k##UA0MFuQV>vb3ei|zXUb`u+1 zlm@>BhJ4!OshfTCcWO138X&3R7bhT->%!=H_TumZd( z=}{)VquvpGvO3patzT|ebe&aQS&uaOi~7rH?f}81bq5A9xIOK8UU5MOD%(F@*!o8I zeY@j6b=-HG42&iNyUBo>4BRF|qsh>2GNdL$x5>z8GP0YDsL9A}a%MC+vzwezlQXx; zxzXg@ZgNgd&fO+sqsiEAGNvYDx5lb zTil0CgvX0Kq{l~du7nRfvyaE=Le(s1PeK2FdANB03IuU(y{TIvfh3qN8b3 zp)qW9Jkfs7U~^W#XKXWVEcI7R?iS~u7vBwwr^rI5CdIM!%G}ySpzzhCC!40-(%@Hj z40DSc4T4+TEb+d$9jjgLg5hsF*-RDsfWV(Wmd>*~9rDj+WS zBmPmW;YpY-)y6eiH;`K6iEpuB%0fjwd5i@%^kOuM2Yh3jEz0eh-}WRDWTZe*0EQa% z_MUSC6++OxE!?lyd{VFqw|NO>7hS`!?A?t8>IcXS&LPtPxru>NOSx zZtMLBqUQKHJhazz&l7~u3?8PurpgD}DaX{=Ns|Hdp~iyRDtFZB4cYBfuJ%!}WVT_(fja zP5B=8KMJDu3cL@F&GtXr;t^k3zDzpj?DnWL;{WTKW786;H;^(fDz?1t*lJPmSl-ke z9$`Gz4foQf)@`S;H0cIQ5jjBmi6gA|Do6S^ELaRvnaNiyhyR3q(pUKy{*xF(O+v_` zGd#LVMX@tIi2|0dqQ0_s6)--ZNV~D4uOA&E614R@Ke$Lme#~^l)|}cQCupgj^t@u_ z0rnmU$Reci-9W@hf`KphsCYYpt~#`AXk0M~yb^S6lZzmSD>ircwGmqMFjj}H4t`n{ z+Y%q@U0QR-7o>AVZ0|bA1_L`FMAXWVYcSX|s6pu+er%!XyeW94Jevm?Kw zhrF%xwBkAv7?w(tvJd1h62wsvn2j50(wsO6i1Ab zF~Boe3s0j3d+@E0C3%`gU#FYl|ldUjbq-(M%#ZpephZ0lZXgqQOwv4f% z_oHQA-LPfcw)JUXJCfDG`@rBp#Ch_~(yi`eTfQUsN*Kv|QZrEcZT_LHf9^WEf4<+n z-t|jYOvjT3tY+*^kF*HTF;ReX%%XMIw(WQ1qU1+{x5U=ZUCM)ZRE7}j*<5C&D0hY# z9q~y{<0TFLh2+v0c0sJ}=Qk{0?&Zvg`ScJ@V6B}X+5&F&Ta1VCl$CF6O|;OEh~R&> z+UKJ`q(|h%(m5Xmvl0Yq3Bnl+{%{ah6mSg&{GW%F-=kYXm$4_J#D?1_Ol_(ty3FPg z{Yfhw?tq}*zjGVqpu-kZ2p%?g#zFp+Sp}ONI+v!yzXAWCiuzR4J8cP4PtkQCFUS9l z^YVSgC1)ydhP?qB2O#{sWO=;4tP$`GQr^>3$Ff`9K)UhM&^@_@k0mJ_4p>9_9d|)d zip#q@mY0}cfy6kidyxm%=kRa*%^8%!*VP@r!xkT|AD`YUwe$~vWpiMSQ{AsVaU5#d zI8HNlJ!*YdcekH%N`|idXbJ(*H`-gJE)HGZ>>A;{{`F_?bAOaDhy408xue#&C?zFW ze}QhGSS3fr3LJutH(T`P`2o%s-YIXg@5DMOd5;|L}ssX-hav~(FZvyNkoyxkdG%eKmcAqp}#^(5B!msY9?c9 zQPGhWI6ROPcs@Qr-ka-9XhaUVoFf3PP%bw$xou z`-YTweb16$c@qRLmdl?u*2)HfP@9R`55z}9=_tOb+{cloDoL{$dUj8m zQp!HR-B|H%cix_hhnK~QuW%i=We^7>8R#S56DkrJi}t4tC9`}|O6Dy!vVzg7{veO> zQ@evU;oguTJheM)6zUJDMur!9Vy9+XCk(HVoHfCvZOfpw6wmere3KD}k}N^Vj8@~F zAWo_Xmdgmdq}ha`zrKEF3{H8=o$$cMt~g2B3l(h-TZ`TJAZzHxQZ@ciLt#R9gO>mJg&*cG4CdSN8_I_jqfw|9#>TXEkRLWTzKTCO3_A#J0^CUzY^26jDaN~06ZvLiMU_AI zX=ujYiI4h-YwAkij5@Gb=O_1LRP#dWZeqkW-F*Dm<;%wZNjB&u1-=2p??>Fike4EY5j@bUc}z>B0-ap}eYV^WLbVWWfvk+}$e?3}4N7;vLh)21^j zi1|-}PUV4cssC(6@WMBcJN3*2Yj(WZ1xQs8gnQHkav+Fq0-Q%qJaYu47=IOe#>H?L zm1ZpqDjDv4ld)NMy0P~06}z6Ylaq8K2BCSz?n7qCT;5w&WH~Lu{VcI=xd{YOt<#+I zhWnFQa^$Fbl61<}6~m??RhfO_(anZek zTw;Iv-keNW08n+=P11C-m0a%N(d2zSNq6EvzSo$wZ$uVarSo2*-eOc}hRr2&0f*#+ z@}mWE#`I|3?I%2-edGVsQTI7`BHEBjby#HA3sQi>rMsp~1{6fyksQ@Vu(p61C$_=r z05u@Luf>5K70A_SPCrjeGi@>f220`uiHom}?NV znDNQSP1GW8rTep*SV=~FvSEfW@sfING0AWn4OvKq-0MBG^Ua1!kBbA$SORTM4+$aa zSQReT#oYuv)I?Z=Za}|AN)n6}v*rv66(t;c1}c!NtJiSNCtSiplfngO z7j8107jhmmYpp}bu~ra330}|dww(IlZigTStAL3U1$&8x_O(Fc%Sp+ixD33%(u_jm zs_@qH?eZaX4ZsMf-a<9+{F z95JnE{Gb4n)9Q;POE_ZrP*pOKm&Qm|Dj{ZqDMpyz0U-&ko}q_RUu{hsZ5D_vg?4Fz ztC`9om2)XyuQ`ia{>%?nR&MOgW(;IkGtw2n5XJVs`l~yFyJ2}%YW!l2x&{$VE2hV@ z)JBLqQUMVb-?9e`XMo@SUHnKui}40pl_61kk#D}^oHef(H@K01f}d#n(n{6U7~Y|+ zS~D41L4V5pPeRtVzWu<(meuyd%kR@C@~XfV!sr9>3HTu)qWc5!2dN2;dsC)DMnFCk z7SiVM#`h(oSYvHDJ+gL8G84tThaK2IJUlWRH7&?!Lw_}Q$2sHzenRpdDM~~9u`p8o zDO)ix?1&iZ4(qS4Val5EdpIJ^4U0ZwQd3A2{0n>Y{f9d_@KoJdtv!-5%;h8MhAQCQ z=%{*Mz@#Z;2Hy(lBbd0$oBV{$POrM{i%!Pc*QXLKQGK1_2ZRlw+w<6j*A6SnG%~8T zybHb4J*qO&Ik?{(AZ8r#m-e?wB9nZPSg+qBlv*}>Brae#L@h#)4SBN(u)W#wabO8T zx*x5B2y`P;@P>JrMTwL@Kn$c+5L2eraAL>5R5}7kZ3^2?d_j?G^X6!~I$FrW>S(jA zkI)K^EjtpI#tH>Ea=MEWM;2=ns1usZW(@ogzU2bn$B!4* zuin7=**`aaX2q;$*Y0<%pTm*;^UUsgICOs7)zzQR2mNQy)UR)bJ+rLW>zReU{!r$B zYt^_1SO?Yy3ZFeING_8HlAG!#Mpd@rPBQ`{KfTR*kmYb%xxV{bX0d%<@WYlF_)H}mPkEiE;64FY8Lq=zUJ&2v;=Zq-?3GGzph(4 zJKR1ZSEPM}DU2QZ#uudEUW%LmKBkV1+aN&u`9mv?3|UZxP6vnRzK~@*!FByJ^4yzChN%%Fj*CH_AYeA8Bz0H@Xy|fyyYeRT`z2L+1 zIt`gtcT|l+uu5eSD)*Qb;k8yNVBr|PObANQtY!Qcj3W|^CfA+++!mWwa)haw?CCf? z(uTrxdu5UT2~}CJoy6WY!RJK8ub0@NnxdUHNs>30q<$7JlP@=`Z7bmol2lN=IHYS; z)kug#nha7Hb0#MeZM)#%K9V3-u?{kZFHm;dz}ZD@gf@FB;In$Iv!pKXnM~*7rtv{N zJJF&4fQhKr!l{kV-d<&9Mcd?Q@hL^4Cu%ffnO*whJCz~={@#5h`q!Ca3{yulmxK(pSZ@O+;Uam#;H>K> zN(giiZ`hGb$`^p6E|y}zL#A{&>xNPdMLkU9U{dA$X1jf}h85?+_z09t9R#D@d)(WF zsJOSQ{-Is<-L4?irrFcr(4GcvPY(<(0aj9N=EjQ$Wm^m_wJ zS=4W;)IX;KesJE{*RV@{jk*n$MnmfBtQoGebL#87snWPdeT|#px)5oZnuMQTckD|) zQFJzYOD4n=p@8=0fH5RIHcMm@8(KjAMpRBU#GrXh!2vlDlSa|eX;v*y`- z!J%Ta8#WDjW+BuaqLE@k)BA#Bb>8H6ZF~?4+_%DEj*LiD!_gnqrOdgL$yivz1jxE! z$S^c|@S_f;V%GO%-UklR9*)3io{HOG`EmEu1gxV^g3TV$0kGfIKs_FsI?_tn>MAkH z?OPGjDH}jOv3TY@3r;7`9hDh*S#{VnCr;GJa8lM%2|7nQKSR+bT=aC%Q(hy)$l%um zQv5vaU%>e>jTLy~lkcfI)6mZlV3`tZ_veh$E&*h7#D%efOjY>-g9`=!eE0TSN87w{Yy8pm!JvtcZM-Wr8_Cf+`1 z=KCk!4$a(!qIvZAs12j}N>QoD|8%uzhUX|;l{&*H?M=T-x4{dSXy;3y95-Q!;Ls+Y zmN-b@{Ij*`Zk$C&S^wP2!ssrxNR-&#@JXYOYwQ`QC9~I94+x&St)(H5mjJtpbKt|~ z4poS`;?5E!%{;A{GcIne1A6fK2~Dy8|NayQ|L;$6`2WBZpOB1HGNGt>yz@eS9nEm* z@VNE%4ZlOdabqz!l54BeB$}8N0QX=isIc6ORp5l2|W`yH!tio_{PQ3^iq^U@B+Y2=*pQQk`WBY3Wq zCJsiIaJz#M{qVFqWmv(_p(=mFtR|3zBw~cG!aM+)k7O>JBP;5mh;4SnFBcq<#qFD; zs$9&HQ*viIUGarpKvKMm{s;d5ojZ>2Bbv)B;UALcN8jW}HzixmlCLOi1i##=BwfM_ z7nUfuV3K$-a`hsS5RK6N5M2kVo9+8QlT8C2EkQRHagaKTo5-BN&`(hb`w{E~pW~nZ zELwbXO25CsZjlNNbLu0okkH*H)?j2AY=eb9Ceg94uCV+^T1s$*@Y+7Nzo}`4R#k_s z6AP+u=ez$lK^jX#14l zryqf@vnp=kqaB8fs1w*UX8(?b+HeQLna2ZApd)M8QF43Fs_@D~Sm>7?Fd+N3e_6WVnKc=J_&Ee)|vU*?s#DuoQQ^>g`EG zFVx|lj;K;|Uzx0pz9(X(q8_z!9#g{#4_i!?(H$(`$B#)1ErqVS*B?K&IEA;86LylM zi80=Lz8>56om(KNAA#mt%Jzw4K-xH(OW2Za!Mw;U2>YA;PlH~;n3Mi$G>`+6Kk}ai z_fxOeN)=sQXU3Or^Yt1cje#wDu&WN=NA(st?Bg5TSjnW<+xvB0T-rl*s&%p8D4*D$ zIc9em7l!h{L+)af@}nHdqB^*Gxg@HuVQ*)hLhX0&;- zqLKxnMCA?yvU`?3pK(Uu^z4|#6{{9d;qeU2-K5359*%cHroO2&2u4d_hCg&Mi-IvN zI3Q}C3Q>26sRAz2frYi|%Z~{24(5bW?7d|$R+G|owwPE&P6Dlz&rfX{58@SY z*AaM+(5&0`GL1 zB0+uj%nzD$zY(Q>*)CbtvKz>;LxP1nyx_ReBLZpL;LCA7Drp8zSNi*B;ZYOu3!tva z=^(3TElO`~MkxAq`w|9jS^cMJyLZCUKd`Aitc*dz8~nP}flR3UFJN}>fpPedC%yC! z9?<&%(D=e$V@PWSo2C#vu3WHJ51Yje-vAtwK##xOxxN+wiWSa!L5kJV44vZEETp4} z-0y*SL!myUIP2~LlB6XG`tv8J29W|f)4X3ujENSa<9*z34(TOyssv5_-CYyf$(Xv^ zK)6p@kvM1HsbpJA;g4FGqz0!Om&(6}pfNK%O0-DYA+|~GEYcy(=C4M&a-stRPUjRj zcwJljcNzK72>H~kjWDGehK9kh#1^d7?t`r3R(bFup=3mJOUXUW0dcpq@b__#GeODb zK7aP?-L_aBDQ8b(Fckj6Nb(O#J`a8L1vswotMny-E7n=dAN)RH&ML&XVOw*l^%DM_ z=-FHa*c?mE{yZK9ZeV7dIVCfQkp%zb;<|Dw%L;HSGdTQJaXl@_rOW_;cSehnf~Sh; zuE1zfnzWt-3!56gf;2L_mdRrSFgC%o#!EVUm=ZNtv%*j( zfOlxc@7ivJJ%hnlsYS-32JifZ0IRiuD>mPH9Wtl^Ov0VUtP>(&(?wELOR`6G2W5D( zn$)}O(L_pjmv)xqV*4{W+_I&R!UgYV`|is>!kyp0G()a0`{InsftVIm-&wJmdsSuR zX>Q*PBUkAIu8-l%op)uUF@>h2g3H+fiVwT7;FZJ)3@yYYPu)+ zmUz0j`tf7nBSB^)R!5jRfNK>!VRuD z>%*8TVT|lKXU!M_&IG1`Rkw~~Scgd~QpCB0aXGP0aq>d8nN2_f3vFh-M>4*?&+F-$ zKtn}yVpj%tXThjQiR_ivpjFOn+S)5#v*vwmt}s)&dHeYxav067ns;$_;DL4>I|+@) z#7YDsjmGAR^nbnQk>(f3_7PW0zb0`()v`67hDz9}XM_)+;}Pt=ShZlAWgZWUZ%1Lr zd5bVpZOTg0#?FcbTK!cz-uf?83y0@YqFHAbSAC*U0dK~Z3hqihNYVQq_Vqyh5`k}w zFXmI|zQ~~aXOm&jy2lMf97IKl5;?n>BVDOrHx|-Aer$=iKtDznjhMvdCVDg{hk|-s z_vws%8T{I*>g`=%Relh00L9HOzPK5W?-4$`-(T4pPjAdOJ(j%L5~|nu*ac`S;I`NcfEG687;;m zUuG-#SSAUbmJT+k#)D!w3_|8)0VIZWE?o>)6zV0a6Av++OS~EpNkV9k{0*f6CKZDU zvG|JB5YCy;sba4%NtS#+a2Cz@-Mr-q6Vc7x+vzx&aXuDUP1XUkxJ&xys(U?=x65fE zo_zT#8nN;l*S$!ammCl5LM*pf?Bejn&WcWu$gLM0Z`<(k0_&Axl*Z6;V~28i_W!f@ z?$2!-$-emS_phL^8y&y`DbkL!32BJs_;EIO6We8LcTXLf>w-u~LQD}n0BBng`M-br zF>ee=%E{ik->SP0ix|ud=F!vB)6@Ow zf>HUc>-XvMr#cYS=77itBhq$HhxJr#-WlvPODpB!-FqZMn!2ePxf&n+5mCRUrY(6f ziGHXC@9MIV-|9E}j5rn1tYEwY6<>B&)n*lD-3}$(K=R%=w!*r0_Xn}2*2$yK7z0i2 zUhZg$Ac$_dI~-IOlc@b_=NH*y>(Eb9@iP_F?reh3(>r5DY{j&gnK;GChD_w<@F5m! zuZaw=p?i#8iA1OU-&>UFzH6@K^6DZL_~5-q(au?>-oWH8(-OmBvPr8V(a-3=&njEJ zmRd6REW49CBO>O*)t3(b|6BOK*|fo9XKCEG;_l9xy_NZf3B`zneA#zY?WAL*~h&FtWF>H z4XeljAMr&waL1Qfs0`q`doB##r6MaBO((9y93%D>^)*rC_q0^84AYIexthBo8)|lZ zA3b{@yceL&7{}BU3+%4kTOP1?BkrBmf~aE#iZwgHy0EE|mMB=N@~UvHze#Sp`JbQz z$&}C)CbaT`DM88Ew6c}zlMZD!V@HyKFJ%qM^yC#aIPQQr3*ugtf6D%e!UFr%ow_X% zZIgZO;H4(|*{BIkf_xtMf{`i(S5b;!q~gOL^o9_3Br(P8bo87?EA9wd$3}JJH4@`# zqoaZT_GBV|E4M%zI-mo{hJ$N0>K90VhpDPD)>nD1jNxd64yApy5$%-R9FaC@!s>LD z1hYj^Wn6FIcU<6)`C7@vxSg#{(p5BrdCFA=5jVR^U#iN*SMba(ESG z2I*bBldXK0(W?4{ER+kdDTgTV zs4r~Km;tml7v}F=ZIr%D4SUr-TA54A#;**xEMR-z9Bm+-9iEWO8m>c=+SbH20%GmM15=UBPAl zBb}fR-jt&)*XaeRfs&v*2&Pet@n(0u=RgcAb{D$DI7bV6C_DSekN7Ky5kvu= z@sBi=jMrFTy;9HmgA6rIg+yWt2#r|K}`uF zVmC*}AXRurcCpd8WAC{mb?lnRX7F4nZ7;(*QF_~eyv5PAr6(igqHW>valr1}jW!hWO>VE(lnKNlta6 zK$lXYrDYTq=R7dzA1lS4@+6^FK^-B3n)icY9$|GcMkd7fd_utt<3PTQ;?nq>lIp!^ z=^ZK;gg5CIflbv3PHJ=m)K!qs@EVpm3||8%Tvvs@YPBR)(|BCkZ!#SrMMNU#OC|$w zp^vwW`~tsAoFlo?XCL2T3f>=G06+LRqFnUC%JpAP4q#f=dssGP9EL{aa&vaAAWYvx z=3Aj_Gb!$B=_NA;S74<380p{jZdMkH#d8VvEo~%lNS|^n7T_SlFRqcpuh{ z6=%92z7yh&(Gqdf<2mVhI_LIZ&%-AX#M{HneV(RHHQaVxQZSA`_ip~DXL=@+A&M~q zZN8S=HEC62%Fq;Z#bnYR@sL=j%YX38NKGiRzkx;F=oKx3M6_EdJBrIom`M`kq;G8T zNiu$8MN`G;+4Z&-$aJ#%p2xHA|^E6UbS{ZFf4UOkArV-VBj!NxRCyik?vy$mTXtToagkH36x|YY_(QygYer5jTbEoy}t z-KR1v=CZ_dul*5CW<|rjLNcC6;e6tlMSHW-=4F^tlYl{nSH_6=Ow8p1{4z4#0o?PY z9A2A!s8}insnusp!v^W@qP{0dI{~ujDY&qYRW=%v=zuFoc+UmVAl=5h>Bh`$(y_cK zx9LiTDN{rl-eU=yGUOnNq=0R&;Wk^eMh8YF-!dlxSl)FHcGnQ()Uj^fNjA))A-~L* z^fK$}*TYN=`+s?(D9JuI2x$IAnJh}(7#5;0r56?Yknfml?#0N*Gq(5Pd=c%la@#$i z2f5jUv;N3KJc?~O(to1&+XhFAn+pRHCi&RXyA1;^x(8Ds-D4&rd1#fGhO&b!0z=o& z)i|`<4JIUQ$)HAB;V}-3iw2SyS6?Fdq)L4>m&tLb5C0?aOn0`qDpkwOS!%RY2{&?` zAk|%EVyuL|(6c+c4sNQvC=#LBsNwF$-W3r6B6wu}HY-%OCC)PQXe7oCm$##>x0Rx3 zI%50qoJg(FH4Zj1T2C`-Bq0s8o=efL*bJ6)|I!o{l9O9Gl>cajULRt?IYWg;9&wq3 zIm}YrHvUn(Ou7R&A!;v@l7iQV9&4JomZvycEO{j=!*w)oJwnIpDWfkV?G8zBn3xU*7C=n^zM$5ffE zOEf(aAQywdH2vWX|J5?%D&@rbpb4Og<~x zkyc_iYExg zP+5YWQ^iWzZHcy+Z>03&w7^CynBkJcV}TkBt1;fZz!|Ea_NET(>Y?tk zO>kp~6%-SYgEmv-_lbVhySV*Zb{jT|JCioHbFfp5`h09RogZllxVElrT^Q>X29NoCq<{0vL4M1Q&aRjP{Zt+!kMj>>E2 z3xAq}IK>_UcOIk2-s4Jg14L;x3;}aw-JO2t@#;$lUUj;U9D~4bqn%5MtBLj*XG=oT zrkksRO#9jLredQdqZfGE6_wxVkb6qvG)+~wJq=S8Zfso?i;J|3J3X`UUNaj-zmBz! z3oqU<`?1l*L!9QOL5-}*YU2Zs9gQ~Pkz*0;gF|jLtYLX_5NFB5xJvGTd1fVFFAVRP zr?6`|edZTDSKrB%Hq2s0Zg~4;(_VmX_V|MfHQu8CxzF0h+83=ezztR8u`Q4dvOwQ3 zw-n(00f=RON4;u?WRW--|ogy|^RR zR_moU&!A9uOE+9fJIoi*!YGn*(#I@Yy_4I`I|{FG00^qChJEvSo_DH$tYy1P{e$&! zx6B%qzTusC^|C0D7`b{{gIrYX#XQVTc~n9vjzfzZJJJ)3wF(2xg#zmu*Pb>#Dn-1& zD`mcyg&9%{YqFRM{4YuxH_%tiPsP$i!E9eNEVTydz9msLve^{-3J-jRzv6@T-L=gh zhbCMp>+bHhD$08gg}Wpmp@I}TF}wHnK4!P*GTuNnFz%%%^>iCqp}M_bV%F-xu*nT= z9KRAL3Tu@yWNItMm|L}1Ti0HDL@L^O(}N7*b7-uJq>2~3)Or2HY4WfS+bok2wWik^2|y;C^$e`-7aUL(Irp8fTNvcILIj+49zS86;)-4t#(Aa z`HUyoRrN~Welf;zW)6qG1$c^_G$ar%kr$q$Sm74QULPMtP zhn}?s4b`#(k`vZCly~*!8o!SMRshALVv#NA4m>IwCCrmDi9M?>1y7*Z2}uxqRiJk1 z!hn(5q2HJnP5Px9NV@7?!+b6Lk;+s)5X7V{JI6#Lp8!v4)l6(8%+_TE-w{&t=(jE@ z(^0_2j>wa~Q0#u&*CFQVx7X#sh-2nR_{R8(!%OE+`SRmkGt{?{6I%39h5BBVu=vZ{ zF2#co>S+~r=sS5J(x#Gos+Jk4KB(S$mi2p16mr<;oZa3@Ri8Yn!M_NMdbgtp=h!N} z*^MbU@(=G+d2%=GWe4HI6r2+wK$w)ZhZJf-95|%C3?a*MCe5=Ml z*hbfkbmKsyj}r#O35oKhKpi~K>xF$_LYsK+T;4##+?n)XgAr(p1{Mtoya!JohKVq> zmJEA2HcAX)nJ^44mVe{lLF|LAQ}8GRl%p?Spn@NvU5Iipyj!yY^50ibm9jW4mKdCi zQnG4B2`{P{JqOiwep#PDdxxSS{GE50e4bul!C==3sLWvc&uL^3|18`ASo}d4?NP^{ zqL3uD|BQ!1NnuM?DfKj7kSRhmYM@mq5Fi5NvyF)Y$*zJ(Y1W||FEu404DEqc3{;g4dEdgsUrg$%NN+7b{486XCQ30lIX+KcL#xv zXy7Mn8!Jd3`OT3Nf&~7m+cpTrAXTI;u`iECXnl z1#C6}Zh}&^6cUet@P;5Q6E^si1}ASFoTv$C>GUa&RA*f9@c$znIjR1@ZtTXA9cR7;qrxVr zm6EkA6O}WH_W=(&p#5GRC5PSGL)|vh;j4vz5ZAziVVJe&>0=gcoDzFBv!-25T*cZ- zjocY=g;!5An;IV9P!wS5WNic5TKzSN@Jgqg@gVf>?6Z zut4EpHrKv04&4~0bGwJxuVUC)(A~@SH*&CLY(62SH2ezgRb7iUFy0mmXBp)x1H5<* zZN7vf**t(Gkj;wAPThmP5LmX5IP>afGB4EFLUp7OkD4Naf6V^)&DTGv+1UG1!XxIQ zQfUpKSRlw!Y{ezyIgdnT@qRMw76zRk&CRl5?adHeEEBfX$}PB8jVx3)D>S%E?_#ko zMRpieh^EiEz{i?&XD^eE$stZ`*{hnx`z{Xtb&>U8Gg|5L%32w z(p&t6X}jp%B&69QpMCtJNd9+KOi;>s_4fQ{?FduW3pAV(kY$kL8EfnUzz#dhdJ-H%{6?F3x)*vDZqwcl?$-fL9 z_r4u;{sRB}JovWr-J<(lhyOc(r0#&y`@QcUbp{WA<1m@^HT=19>y;6Mb;bS8cRzpM zd;9}c-WfdV4gLa^EV|$J9)I6~e|~_9JA>~R-*vxpYCh$LpHe4I-Hx~Dr(p;V)Jx-F z9d5d{+g7;MhWOWYg;0zjn0O7Nx~S`nb||%BXda?o+s4In70iBnWJe!*35U)ujKU47 z6XC?yFcpCTQ7Tm;@#s$J)1?v^o<2?^6E+A+b;WIl2_WVJS^94{qVB?HqW3<7m_gN< ztuOLf_agf(hx1qO+qfSOKx}Lbst!`S*Q|TTd^86}c2NzG2hk`xvj#(H(7)eNUw6IK zDCySNcf6GiMl_9|d7%H&?~Aa|z#LYK%%hmcN?^`n`Fxw9Cs#LxIf|^wGZ4elyB%ZW zRf`)Ta*ZmrQH=+H<`C64F6K6r7u2DE1VDFd7XReX!FD?7z2DLp`IX*C*Xej5?L zJc4bufEt8il=WM$V8wn!^{xhQ*ro9_3aQ;++E-JW=eWcBy|%)Z9*5|o3IFt#SW+q6 zsGi1$DNk~Aq#rgL@nn9#>5f@z2QVB`>)=DqIxj9SGYYv(M!Qf`7^DHKyJV;!@?sHy zw26)&G|Hs7w7sW&FK>%~{HD;p8_4TCypyB_OIW{yZ{?#{zmNO<25Y~^y<_X$Woynu zZ$tOxYcjM-urFTwU+BKDOh7c9MtAK@x{ESf3477@PgsXGtlVuMO_#=9x;2LWeJ;~g zV;I{xnEsTzWzo=6M%W*L3(-X+j=Y=ZJXBnq1iENz__`WHi{e~ zcyxsU)t$E86taTQRBRiUig)4~`g`LV8h^_@o&*qyq=yic+drxB5kICrG+t55L%Peh z@j;c1vWw;E>{(S;eFFx%)K}GwP0S-uR3HjvN|vyb8o9eLtk^XY_Idq|_P=aF^7Vr9 z`c{kGy~rNY9*J>X9=kg>%@qU5oWW-&H z2U|cUA#i`Nv=5X|8w?O3v|4p9i+78B-j0~4$9y01BEkr?BN@8W)tb{F*ga5vMx%V_ zdVC5%ZY{*H)-S3o&okV~J%EjU0)xp`zIOwBd0i~#t)<}`24ib&he_=1nN~tC2du-2 z=d+RRl_L*~d&tzExo<)%)i%#ZeqHBo`#D zSFHQv-(2u10v7#^o_9nC!uj~$#f1r6fo_UWzX+I^^Ic@Zkwe?EoaZ+g2!3`hKNXW4@G>7q+r?&)WmRJx^7mLtXqtPf+1}wF{JEPOBKJJ^&6ZR{Px#s5IWeT%o z4M1RozusB8aV^gk7*_j@oy)SbL*zM)zL1XtJ~{-$dK?%B2B2>P63!J3d{)L7^;Pj_ zD6Y>ZCbpa_8aOt9x-QwQY#f;4uV`0u-8YD4o*|e927mK%i6+1lHD0;W05wQh%VwPG zZ9M2}JA!wP(U}S_Zq^|$DUgN96|T8w)J#e|MR*-N7d|z&)@+g<6tiS= zFpQR)T+3*%xTSBs&fL3n_gqc7cb#qKBNcLt^&-<%J0!J>;nw?jt#Nz5pWm_zKpVSl zafR@=Z1l%%6YOEY9T8(nTwcVHY7Y&EtJXhxR#!x{>tuIx+RZK7N<@FyR>=!P@72v^ zp`|W`Ox7T)hGAFi6eY6YZy7tK!@iXob4TZ78+Pn^r1`}~Dz{H&`tJyv1&rRMn?Zm zD_+UZj21SVr-bUCbZ1d|B3)iVzeAR7)fCMvp z?{T{|Nw_PqDYI2%l%zKADQcJ0`)zZ19n~JwPpM@EISTb?Y=oY>#D^+mU==^2Vikp- zMNYBqW;g-MBxisYv^s9hRV4*Sw8`m@0vp5zBtlgzxz%F!CM!`Z8Wy7FWfar#shOjK zcUu`MlurE|-do@AwDne{h;Qg;{1gvFnq;j#T9}r+MpWUMFCBKFGI=}_!)oh6mD3=c zo5FzAt^t4lI+>j<;(212vy3pX-*s|y9mUty43VT*Y<1e3fN$kQ3#cSLRA^b9r2TV58{nOPLGAKH5_v0+d@DC59fGss9 zQ|NzIwq;R}yRbKUy(8pn>Jc?yn zobh6icLWL(>K+RiZO`@BbWO*{`g=O{;H%$j;ThJwNat6Xb^UAH`YM;x9%a)gEq?D) z@?c~m8*v-tnBLUIO5Bx+^XqW%-RjG>XEeogw`qsYRCjH3*T^jQVec^>5*nYES8ep# z^e*KT<+OmUkMp|9j|@mm*s(Qom~YXi6*! z!N$saU<^L^y~luohF0ISu2(DIo-kPl&Ve=EPG_1E@2t{JuST~j5$LUpSEbJQ{s50W zglavAwm!NQ`SiFrD$CGJqKqK0QOl3z<5|GtiAb>PXw*cLj-Q-oycOiw={DS@J-fsl_Lu`V3AO_Audd;r=IQK*{@h0o zc78EeH}iZ5pRU=7oZctFb4Up~Mz;tR;nc3+KE0#J8;9(K@K0Xfx_z|`O}BPC+D4+h zx(FXWd=z*7@?G3{gm#7($f4WDt^eqUi|p~XcU5NDvOU-Hr~OBq>$WYEX+(ngx{uMy zasPz0E;Wu@g6oNh+sMJIK);vkPX@EWg=W0PWn#X@XXCw?ef9old^X-&1fg<0*Qq-1 z@1hneP<3aB;APPXBpBscpX&KB#rGN?yPoH9=r!R{F6N|4hVPv6-|(HP3H+BOg{(co&^ z6K%YNlha)@Ksrf-jY_c;QNY~}b8i;He7JwES(Y@{Qotkl%<;aBj@WNG)ROsnPoQRH zS%&b2j`#q*$!idCe=`S@GP-hyB~)PsEyehje13B!kve#sU&1iIW6Tb*tr+8PZ&S2< ze=gEFg%?G0js-j-uP=V>G5dYa^aXoa zV?E`Uu$C@8%{dES;1@gCB#a5pTe7`0?zba07fEw3yx&S`t_4HtOBV|*=z)~yKP+qo zXq1=E@s;DB(Od;^Xw5j#(#Nb^VrU8{((pVjKPu5!ywcQ)FzOv7w9an2-5$an^=xvl zl)aT85s7@M-#2H`XIp>R980uKgv+`gn3GlJ4}f#JzyC(G*RRC`SmeVmZS!>L$v*C~ zZDliL&7*AsC-Yekz>#tZ`F7{22OE;Y*{1IcdT$xZnzPYeFK5@;>|-`JEN1`IM-y4s z0JXhXq`S|?!G5S%1fG?9hg3Kqbd^w6^z|NLsTvfJZND>sb%ZdseG9+#yJ)9*tvNFB z&SCS};T~T4GX-tn*m2s7_v@yD6KwlsA)6jPF#_Goo*NZn=gt}^?lsYy^DGyJsCMdx zKt-P;P5X*iAK$0vO%m+7+J>E-wrH`jkgWzbw~2mVgBJG&58eJ6#hJKw_@af#aW=r$_bTP;Ojx?sTEP()XEv$jOT!=UD&(f4$l@a@> z#p}SJIxj@r!3%E>z+F3S__6c+L+ks9s9#pMN2A<4L-4>n`c4lF4WrNslMsSpzo_2P zMmAK+*2nyQqC&tSDSt?zUr?zXIj1m9+u8r0=Te13{F`7vREP&o{H zZrFC)aivu#X%4|k7fQ7q@m1d)kwu|$I>s$fL{Wnl8!an$i>5H%f`I4xh zfJS3u*L25f*x1NPfdwPu-cVc?irO)RTtKpvr~UGB4&4KVc~K?{o*CabeHeM8`x#a- z{!x+Fb$VbL7o35&VR-LK*3|5y>w*5Gbaii=cq$p$uCN}L-=6gmBidY#z&yz@*Rj?u zGd^`xWU&jc9TJ%3<%|L6)aHTN?sH4YCx5{Z?x&sgcoR0=`z(g+L3%ZWL~-fzxN26z znu;!26lPPaQvapW*2Cu00SmQpGHLFv9DbZ2p1X(ZRdT ze+X6dmoVYiUEm$;zLc(DBLJd#jS1$M2u)G-dda#=j|0!%&p4l0dcLsp1E&X#$q8}$`eE(gkT26(i*egF0^kA8UJIe44k(oGWr|0TSsUB!Z1Yn<)Ir2rnNB(NPv~s5x(6J9f z!L+j=1+RC%Bv{^`o@ltv_POU)MGOFL13msE@j#; zK=$q2jWtT&oa6|Ro-T^3>78W}L^*JRy6IJMNXyLcR~eASy!EJN**@T)tD$P8Te?M5 z*{qWmO{tZF9fSQ#_Kdf}<#X=lbmvV9AIf&@hh{ytl>rYGr25FbBY(Jk>p^h|dH%F| zu2z_@67S{Ay{#B{9A_fr+GT!)?)gP&tqRTqn>><{agBrbQR@ot@hBnC7dy1)A=E`j z{o? zihtlBVbrg-OrJPIQM%z{pfHN*i>&seXrR7@vvCj;XAW|lm_`uFZ46R8L$O;(7?7TR z@u%nRBtT9l#em+BNhpoFQ@VhY0y>surME)?Lnag$D5e!z1drc#18JZXtMb;2w=RJk z(z4WGBW)vErJu3}=~W=2Rqn@Uvux$kF2R?tTtpW1q%8B4EfO!X`H#14qd@tHv=%$E z*?1u-GLo)@Nfb~VnD$gAxgZ{gg_?11QOpYx^tdH5lQGZTV3hPyc;*t3A`kLsHtWH` zzQVqhKHv)+jOzS4t^W#>bPhZ;nFMnR%onKRwf@;%0C6lJ0Zwi8HEN;x{pT!0h>6P_ zw&3Z0e95QQj7VQiv(d-L-GOrXZnV)3g<+QKVP1un@A8&}kVHOk5O<~kL{)xAhi*G2 zgp3-QWaI24=maM<#!HLl=06Chp9z<2Mw!g#k?_^DsaJH>+qBSIBBshl z*`mts*d_8`X zABw&36SSe_H=D2xt+m&v&IYzO{qC(m1;zrigM0k0m>S;ZtJoR;jsO`gUzC9`u4z!7 zn)|C;xw-j@Au{KSmo=HFKV8o80|?LcEQQIoXRf?8hsc_LaggfSg;-O*L(HC%3nS!dex|G-`z0JYBq8QXs)4Q z)`w$Ontw2)ePI9l_2xT*OE$-CN8CurOFNVwBG74;SF-D)XveFy0UB+w3&c)grXc=q zHbEc}H-x7qi}by^;BSP{$gaZ)t)&hD=vy3SCrNM$a)e#N-X)9@axL0@M2=-%^|#aJ zA4`rzhg-@#RA#a~m&QTF7pIlyTiQ`5J1oC?pFcpb$bWpb|E_uwu=$T43Kx3TF5Fob zg2mIaMKz9j+U7X0xS#R+uJZS4+wDSERyGfqWzd?A!|qQwR)iD0_Wt`!VgRk^-$VM*C16!lrA46bw~w^ zA`Y1#Gms3e-qI73hfuDFOAhgbuatg;Ua2Q~C3z*kl24+P%rA1vJot$E6>%$_tuO(# zE0lmgsPmfic>we?4+85|#31kkc~!zOn-cK{eJcM=T!6z507*c$zcoxsy`l$7CF!vw z&5ALU^z7KUD6vfA`SL7^2U#0xU{qE3z}+AnjOYdZru?LY;oS6-hEOPBcpSxpe-T&f z%f=$!aS3JW7){$K;&=4&%+2)Vw3+8XQzT(#>COn3j=fCJ6-ZM8RB}Oj!j*>tn9$-xRzifUkhzeJBTq2 z&Sl{O7_%ZTX9Ho0*{DoJ6LFTJaaGaQ#%3x=l0a<#)DT%Ry#<+y;c)ba|C%vW+Sh)W z%OCb>zTMK_W}vvkzT7|T6LfS@A2=^oe{lVEu@cn_3xhWn;oc`UPKQFy;#v3{NCH}d z?|RQ)Kl}SHFJ7I0c=`6}f6|Xvub;m_WoCkbIx0M$ix!X`Hv6l+HbM=S$dF+4954dC z#QJmAlh8L12z7ue2>!JvH&?keb$L$CT}ohTTOz^;9vDTCPeV4VNIYpWWS)15G@z!j zZee`+O5=c#hIAMjW3XMu|7 zLK^hGp{Y&0mF?~9&#KnSNj+$+-s(?RZnA%*{2zSV-US}3EnRMB^-G)6n}FP+m7C4o zmcqUhNF|(tJ9W=xa8V22ndH-?nHy5w3iC!?x_EAvv{^Z`4^+rBcP!aKxfk)Sr}?+N z2l>PUu}xdzySz`Z_|_BL>Ju^JWt`)cY2_4T4iYveH7>Y7nN;Ike70K*b8K3?NUkA~;e3`u2LM=|7b9`K zy*Lqg!Vkjhad$8rMDb-(LL!gAgRl~*SH|c+gVXIQn?EhHG^DNPlDCD0*z}gM*cgi~ zHuGjz(UOa%-lC(cv*c#HNYY`MTy7U9N$Z5hWy?#%^2DyLpsRu`;yLtC&hcoGD7Vc; z+*&^lw#rw=ZJ**>#9Qqinu(d%L2s+5yNG9I5iz5?h-{89z-y<=LN3w5#E13_EJ%#P z_1W!avp!qlZOS6){s8}pZ!*p z20gq!&2yuBa&8l6yoDW)YDFE_LRJ^67L%XD(QH}a;O24b$iyUo$5Pym1D<8-zO4H* z9~%y<+8m~sMe|rl;&DKvMxudTjS1omToRaTA6rp?5p#lZK8?{FH1B^obbY(}y6}3E6R}k}BS{ z(~Bxp+jl?C1SGl?85*xyB*-I$T~M4|<4Uk3wBzIItQ6Wn(s(r0NR*N$ zMgK5qsgv6JhmuZv_k{Rz@BZ21q18cY{AGNHq=4weNKvA2$P$7S@gh7DSS4wG?4mp; zp%6TTq^NtKdYVNK~O1@;0*TW)_HaIy|-ENiGsQy@!<-T1c5wc|Ro~oqEM8gDoSvv%wwx z%@cVDdCvJHp;YbuWLJF3=OA?sZH)D_RG#3S<7`n>S!;#?o-u@zi$9ML zXLSRQjO`O!wb?X`R(0k`0Pa{#cBjO$5X~^Ch82=bjIwMeZHCr}Tjg_%oWrf)kq-@v z_dORGqo7|2jk{{!a}h`U__%)rFT`pTqhhp)t%)mX=dV zPr%#c?Jwyvy~;T3X3}VjU?Ej9nTl?~ewN>?Z~i+O^anE9tl%#~f}>UoBg_D}TCtv8 zGw@fw>Z6=%vD}1ZqD6*~f{h6dw z5U{KZv@sE*`4mo8^X$uc@e;aOxA}vp1psGdQgZU!(s?V4jJpF=?%L%_Dp#mLS=YsS zG5-nTR;LWqT}PT+l`OH>?|oGdA?IBLFRSq61lo4_1`L9o?Md=T_kWC%*KC1 zbDtzj`DqeTR9TGlH7d`tQPk*Yqw6PwX`G?Ek=wPT##0|GlGo*1+GIra_I4sz)L4d- zmc7ozJ$q>u4Kob~H~aXbATr!>bjiK5WkhhJSvyPmp7?R?3@UMQ;?OaPZOYN?1i>+&hL9-eI+o(*g6%Ziwz4CL3JG z139~PyIwD!p`!g`sBpr(ehmCBJvHi(b9zqlT!GjK?;NN`Z?^l16 zwR8zKlSo;;8RTpADrzTkYH2H1kVH75gNWF$*(5Z~tm)ir+72UdY~n01f^Y~b$)K-{ zl=U3m3fOHxf5Xfn7WP}#eALMKnlF5gMttOgjsGMj!1t!LgzzK)Rd<771#2>W0>XB$J5o!qko)Df9&BzAMJHoE5uh9P#(2=}Qn+~p40 zgTu&0k(PW$`2~GtvkEf+IR#lY3!<^vq!-l;Wv;KTu}&}0DbB3&JiQR3=9OC z3UAAfIx*PW-)3o5ENvtE*dvqeL82jYX<&^APUQ1%XeS(rW00|q&$a(I0Y~V742{iy z%NRHWYkSMj+e1$1qJcf{QJR~9JlZX0wy&xBYq+W#ep^Ar!jB6`f?uhW_%sR9$#t1s zP6;DE(+~M2YOLUg_Eo|Mp}KxC&ugqKsmpaX4N$0=2p7IMU{50iAIZMdSSjA)GY~x< zoU-1pMZOIGgM(wp+7rZ2m`3q`L?>-;PHL;94qLIWrad|TBhHgOBl~o*2$zv1ibEx| z^TT=b_&Apb4hgg##gJ5#h5@>TTB1rPr2Z5SM(pkg+Lbo2p zdR_^|J#i)QX$)H6e!5xFdg-f5e7MmN-BCmR&$`{_ zl!0LQOl%3^(IB$R84oQt5WCB_-b?H*HjsN)n-D`l61MJ8?rTAu#dii?1hfIof~406 z%Vz`%<7r6WZ3qe-2C)p=bl3D&)oCVb_!bh{MR2c#P3p}z!iPk>*>U+{(dO7tZW(X^ zeVPT?!(Z(OylOk%G_HdOEMMOp{*-w>a#?n ze5Yb*xb-A0+Q#WF)16mY zu~akT2Lwsw>+}2ucZfqULGI?l$O^+O#IPx1!C6di{NXv{?03_aiq1R7Q8Hrn`abqLVq|X#+LUuMK66!0QD|x+V)?0|A;TE<3flg%fM7;r<%2V=6kM zs=G#2uYs44;db9wTAulHD*`Isb;cCQV4;0Cxk{v#N|LV1gOUa6RNrE#C6!B} zQs8IMLqUFsi9HE8wzHl3QgkHwtou|N`dBy!KhHpNoS`*q7zlu`4pS#%WMNRihyB5K z-TtF){~&8B~r!(5&X z#-BAGD-G^ba9LII(S!OyIOyh)_%}a!^dOVJ;VH*|(TAy@B;{rUlUhnPRVwb30y_X6 zF&gn|Stnt7Qbnf^<5^OWPs^HYg_M&;*_}mC23hx8SrzthiMh(N**Hzs!zx+BHm6!W zV;(AUyBphCGLRJwMr_PCI91k&`AL#JSjKrb|7K}aNd|_$ZZ_estyY=y{8JF|9udXA zx;viYS8%Rse<^u+YYtis0WkvLb`de94ssjCyTbY;=;T!g`OKi##y->mUWNaCJ0yP&;7T1t?T3gH2p!#dm zt4*!a2f!@UHl;J)IAo4HGK}%~-7tHS_h^G0zaD01iFi1v$Ipf@b@{nmVz>iv{6QFu zyIBg1<@HeT0c_;ww47HseZXmHE5NVx*@%sDzZ^JElPDwm4_7Dawq8^m#;>lMbN z-#i4i0Ai+;K;THJ(Xuuh;~`1HavY=!#PGz}K6p7&R(Q{>(gHLjEynpU>*m1e(o+Rg z2CT&uV8Y61*e6Mdyt*V^#$|#emXi=cPRW80dD#)QYEDb!z&u#_0zzd;@)`ziAXZ!M zjNOA=EfQ!v(o2b86NpXmAvE4yqj_q|uhz+x`Kp5STwS|fgzMOPnMbGkdCO=CdQog7 zd2f)gHzaS;H7#(~4Gicx2CJlz-l%cjG-tsq@;UK&xNb*F)3hJ&vVO^sS(zp=ISa>= z;6red!Kp@yo+MGIgE~Le}v-T{>%=!0TS59NkQ&dfj}o~ec}DTpC12|5RCcFEna-8s((+bFBCV>7vbkm-Ibnlg z#2IT%iKAO6Wj&O)(3-Vv=ML=Rott%4*w{vcm#p+`-`H@H`)4JQbF5 z9i}>JbjHr0yX7?8>7e~q%%-9@>x6-;#g7F9d-Shu5__M^+Rj<0j#nn5s^B;H{U*t z`|&_0V|YGDM-!gjHlqZ_2SDav=nvk--p4;+Y>l(y8pg^ zAHjz8F*(JLSMNjo4AodYi19bId&4c=K-=)e`{*=&2c!2IhVohRFn*al8r67vwlwz_ z+>JnR|0vRuB5pZ4VzeUf4wY1K>t>TI%y$Um`Laxz$Um8H-dw}fBsb)`?;Lq9x8W?l zjN*3vmvNTEm|mUPcs8l0u+wff+0asH)eMKgGF=LpPz*wmTx+8sdTE9d7g_Ghql*8A^x7IVh(g&!O{q( z%B_sFbx+GOy+un7{0j#OICd_R$#NR0>OnRmObYUOg7fsKI7>(A$w@@PALS>o3FETI zPw1b^NX!Gop;5_$q57GghDBE_By4L=$hsi73q@Qlene*5RVI~$vWff+qATi4mXmZE z3s(qjtDiYWch*dcMs+jsV;jYpsc)+dBFPjaU@k4+St!mYb$2ioHQ>%4DtDz0kYcn~P#`e9V7^6i}4M$4p5|-0fYK z#SMsj6DQ-8R8pK7vxJD8VN)UQDd=c{uQZh>H7Ny5IlE06El*lV;3zK$8bvkZof@Q) z5XXe_pp4?9yn2~0p_%Z|vXgzxZprwy!xb9)8P!ttf{0cx2`QRv@w-$X-@!b8{mTof z^X{r3FD^A9iHzU7FK!KBeH%eq7rr%>94M`R8Wr`Z;<}d@=FVJ!;6=!TXl=Vl|6GiNmq`fuJ zUe%<%H4SlkwiaEU;jOFH<)2>toJ^%2_>*qhc{OQ@#^PgV7GI}o5=f4#5{4$@h zcGVexzlnLMI%%0v-{Ih0WsBQRMFY^exD`{>>%4;$6z{54Hp?$%I!x7elqPFtwgs9r zDm4QgeG#GAccc^jCEH&4@FW@FsKFM2fRkHZc6S=iWH<@*!%rAn8||J|inQaf65pZy zxS8-aTV-i&C9(A#MMXA~)eV$RdbY?{b^-#d1k;$|+pvN3 z*InHWSudujYIP5G_tLK7Z931_mDx7T!>Q&pQX8FQZe;r#qbBt^Li?Gt&vP3!*sVs_ zjY%7g`KZt?&QRBrokZ%J>E`fClEJX!P$B;LPvB!1BNcwWyDszPNAd6@NGLcE7|9K@ z!k?GvO}@Cr_wXRrF#QzG$KU@z+g@6;`1H?AKn>!}qrftpO2}=*&=c6t7`j#C7^|lr zB@Cj5K8E7LiW$m_Uy|;`qil|Nlzm>o&VpC|lR*69?}`WcVezQGES~w(a9V7+wRrU| z46f^XH9S52{P}b5^P^r-UY!np_~D1sFW2=A#-^ofjd-2lQFb{D1_;b~lL5Ki41-4k zrE~Ui7(8YmLEy3OR1Vj%GnFbu(|}5nbOH%-zJ_0uar|HC)Bb%=Hq#0!MWfrp2p7(GL=!DCL)DGxFKHr51y5zFyBGz`A&_YuB+F^A8= z&uwf@60{V3XWmidMl7?$NO`L-9r=GUPGHYYD2hOxtyvq{w|J&2mIyF-UXUn;!D~P$ zG!AQO>jgQ{Jxmz_nSD{3STJ%+eRqx8?GncW))7b?C~iH+@Q;=H8EP#rSuy{D;fq58 zQ{?a&eCy62exdpK?IcoZ4c9O83zB%F7$SY1q&hjcNwZz8_+QN(&^Fe}G8^WTv^vfhf^S*rHWEz7oc#$yDUkZ}r1)AB? zb@@g(t>U44vr5-hwvh^SQ#HF`BexBkuWm@uz(vrV0pos}I`yV~0TP%HVClroZRkf^ zI6)j;h?C0JvTi}`x_M|fJ=5XznuBbcKdGf`n}cj?*&yKwA~H@8M`-;gkF5Nl#e8^{ zCyzUE{KfL}@FvWuD2aayGb~Jj6ZdvR_CELzx>?8gL!DwRMS_~NY*Nqxr+)bWMZNMg8{Go@CH!yj5y6Ajt$l}I1WZN_bDnoVUWauzTviMSi&*xgwHl$Aqjd+pD z!w0aRi8{!_jsZ_6s-Jkdk8f#s<4gIH9~bH z9aeaYOuyD@9vkYVa4`n5C$RXYw#{WG+l z>7yO8Uh5k)ia0(VV5%5YN;C2tALmc>+pUKasD+kym%1D&szfO(9q0)4Q2pUj%zId# z7SSk^wg>T2O$q$8W(&puri75|Iu>h4qeGbj;ttFfKokVGv_&o*&s{ZSlToReE;EW^ z7@l^+UUYgDdkF&JQvbe!E<8&sgu%15hFpJz>amJ!s(`=X4<_^pyq{VIX0kzQIrc|| zRsj@p6{fIEfdlaec&JRfB-A|=D(C35d)lkBst(cE>&P{w`s?lLI$P3SEa!s4JDQer z4<8B(su{dkU{7ruIatX^y*ca$0jhF8|bhI4p>cDjmeY#szVItVmA#Rrrv zfvTAKf`pf$tKl1EaQs(_L|-Pwh;>7Ej;>)Cn4)If)P8_$`b`JLFsEs#mP5QiB5 zfpo}mLR!wTp0_Md^SQz~OZ&g5j}&GheU|l?GL9W)v3H1HiPqH*b(%cY`YW;y@>YNB z!@T>-{x)eq_yRSaE%Mbcz}v(Sio_l3p9tP_V=jREz>!y-ki=ofIJ@wfMaHS($_W@) z{l+k~s>{;yR-bs~naMoUihk&Gt(CxP2QvjV2=ZCR3KO=(D%6;KR&lRH0U0ZcA0--a zFz7+I%o8+7?Xcm_l_xuwi*912^H zgE1mD%L6?v8_%VYC$hIW0NePTaHbYt?)2LJky&&kqK>2NZ3fS~!iBI;! zJ?PRzb)7-Al^%u5-iP%HBZ2#Dn5txr76dHrCDk^D+$7An71H$qy@tNMgRY23kDfZw zfUl;kdR*7W1HQ56W$h$T*?E%2m)kh&y@F4>1E-V`rgsruJ)y@N-*u<~$eIISnP=iR zoCYBRy^ktnIfO{aT8F~Q<(CJcwY2x0al2%7|+W1a`@zX#n01n|Wp3Pq_QUjJ_$;svyI7JBa2H-c_Y|5F0 zZwP*CTXZrP4JAqo48_7|gwf468AVn}m`xh~Fov-#!@7V>@~P<}YTJ{Ojv;Z$ZhS~n zy94R$ygQ#;dDIwe8G1xjq}+#%u~!H*_9SHnb5vHbl}7UH8WqU-k zR(l1QM7xN*`HqcO3q#GvWLZ-kmgv#{+5Qj2Fb1?deB(7 zZGHS2dv7Z@8>p%kVSUqsJB-a6c^GQ#XT<>zSsSWe#1WrE{C@@bH)%JmXaRWK^JgIewG!=YP` zxssy8xoUstnJF**McyraVC}dAA3OH1Hs~UDrrF14mv*oUAJ!L~tEajk<>JMEbj%ULSCwWN?f zo>-65;ba<(VCTcCigj%Qv*g~Jb5c_+LK)Ku)nG8%eLp+t3oCRls}ZuOD}Xj6I>|3W zFM}Veeau*%-NrDTHpPZv8-r?!Cx=KOQS6m|8`7I53$#lX8{;y|=G8gEhT9vQ+W6oQ zeN!$>va$~=l@cl&q=CThc;8e5J;W(& z6N`i|rJM^yL$~T2Y`dA8VqPUG%sF+gQKw3itqFzGDl1VdjokG3*m%HG`Pg|5qha5? zZjA2ce#*z|(0DF2HhmN6fUdJ|V3J2Fl&TPBM@xItK{c>(HlwR~y4*XGZmw2_(bDPi zh_6BM;uW8Yq-flnQoX2S+rHY(UG2U7);sQqM_;@d-l(=AA?*yTWiR$t8byqH*D){7N zq%TF~t?lvgI$TEaOx%S7W1gZJe7pmg%c^_UvZne|4nlydE3x~C;Q}pPhb?BJg~dKs zUWJY%CK$IGLz7~d%`LT5xYTF0#MqTwl>?f#8RuuO`~U>P-gS~)&`OADDXGF9efl-* z2S}Ll0knX%0n@tK`kG+YU4@1Q#oS{NT{J~)9$%pY*{o=!ijgjmtUOHDa`++cC$FL; z28Gmgk3&q&uV9ukv`83}!%kiNj4@W(7-NV@@g#?CRO^eXE<^5i%P~klN6pKn^vMmK(_DDE4$J zoq>v21TszegbI9-!!jr71yduDif&fjZrmq8A1D%|aZ(grlv(;w zM)?ZW{Pa!DytFwi1vb)fQtFvpMpMUd#_ULqsP-fL;wZ|`mgD@JWI0@ZljLghlKMe* z8s=!d=|lACxB!XH+zan9u?Erm#NOTf&@{sT&twwgUsPHO1TWjc3-HThCb(vuSy12IKwUhVP$yIsf!>^3gFBa@Sga>$EI{Zo`_ z?hrW!35vF1CHp;r8MaxoGT{vZp9ybvk|1(cNY=X=k8ZlvG+KPj5Jt--TJm5PN$hY1 zX-l2P0hz9|Do5o78pbo@Cx_;OjA_#aJ27(sJi;bxbc@d5)b$FOS2kA_&kXJ>R6CsS zpCtwup1axQYpV3pxgxc8Ec?3DG^8;451T~3gd^l>9y_2+Xak8Zfv`>IBd6%kG|sQf zH(5DDEUHFPo(Qola$e7FC1gxv@1h`XV`9R4nc5bar0=Lb7(PeTKE%aM7CC%DUnY%t zgY*39zfMg{3=lwZZ{{k-NLE0-Q_lvhS!AQq3@VLJ4eS{-_e2OEsA{}~>OI@7TA!m# zjSl~Pq9W(HZ{plZh(=LnkL}&+%MgPnP|f-8syX-9OaaB16!026mn$2dN;>$#pmCO~(Oe5Tkk{Qxv%D*Vg=L~AyD!C^0a;Q8J<2MfIPbU}# zoj@1|l%{b&enPMSA;K)f-w3@u3=#tg0Zo6fSGdXB(v#i=EthqH>B>u|7RzOVAQpX` z5VewcwqxHP{Ela5?T^+^|Lmx?P}%+=i5cgBx^0N6m!yF3JOECoz7~J(-Tf_wxtud(jxtK&l6S z7J_gcjfDey-8@JXrc^PZW=t(1(~vpvc4dqRC+PA`ZyMEAjp{t6UDPMC>kXIT0Beg; zSvGYbB0ZKVXelo0Mw2&>$x0qBmC4Gq4T6yxrdvUK{sL_~a2NN|L>bF|$I^eao1>F< z_p@*g#ZzMUTDWFLd+NbjgaIi=yt+Q?QrEj{Db0gIRf+KBa#rH!y9Q1&K7 z;S_PU$V)Z}{zR+VOp?%TPchPosiu{F>zuE#%Sk^x@;jQglXX3L!>eyt+uk z;6y}?1EPmbGXnb9@^SvFy^v?=@>5#DCQ|l@1HcBui$9T?-jYMbE^+S&gNO578_qH| z(I2`q3jmgVduy)F zCoCu>OP2u-1lf ze}&Trf8P8Ht*yoOcM(N*Shv!8;k)v>f5#uFGV>o5okL_^zH@O6e@R zoLo(X1`UIO7#c==69<3BU{Fvf8eW~8kcI4XWYJoly(Ua7d7R8XrHk;w+fx|DYtd8x zSjcgB&<`S3uPFGPT;X5OCf8HgX5=K9xXW|Cx{*wS9Lp_~^vr@crBew_D*N?HW87t= z6EjGZ7sks7O=5H=DfYqAxAZo~wHSef^$|MC&18gk1UlnP4FO8nB{|g_M!e)PDfOYK z_{((M^(^iKM@(I=nMEfhdKL>!QqVa;*;t9NT-n)R9N@Y^R*K|3%mfR)Oki1VvYSoz zWiz|pl<@1*=gp_<%_m^^@J|ZKH=CQA4Lq&t&1x0^?N~YuJ>8cy-Q)|`lHnxSAVvb^ z%B@_d^XzI% zJ)$NVahYHDS9XP%d#S5W;0)phPtp;y+MG%ranv>34;VUxBH za#ZcIthK*C8TJ@)!O+zn>?sKOW^rLZgU@4cw ziPS-db}c3Y{TKRpo<>o8NM4YiqNu3`Hw8gvK!?>9L2Xk*3%fi%{ub4xS`q8jnwI9V zgxv`li(dT9#}h(ciJK02OE@m(BZU*J(aQOGB=4(SZDSdis+9$tl=w0V&YK>^q!snT z(6+HREjj4GQAFII?ojF*V^zeZQeM%f^JDRav=&qv9lanci4zbRXCiuBImvjt3fzy)z<#C(ca#7M$Xp>5V3Omv%LDYUe zi9ooW{41J1An`URoJv?4*vk;O6{^6T(t_m4T58foLD~3AY~dVQIM)~fbEzU-#UGOOWR6n$4E|t+ ztK`G@?&+{8UD7!z6T>yW9@d6fLROQnhL-*&K9|o9yNQ3cUu-8=HgLo={16TA(&2Ty z99~k0wBcflhXaMYvr@fe>3BtlejzH~)x$KN4=)jjq=#YEL@e{n9-&UT^)4Snulk*% zS8b|RQ)UsQ*T?g%0K_boC|4X2*r(@3l8+=CMW|vBq09Wsb2AqXC=rpbQlw;0rJ1xL zXstBYxGrQ4iCj;5qu{mFcrrNxIs~pZ_2VxP;m(H{{Q<5NF4b*EAE9sM18N|x8&l)@ z?|;^5P30z!rc?y~W|PM#Zzw2T(fp7i(^GpY*Z!R0m(A_wx6Pw@H2yP`cr-W5%uLtQ)^R^RMq4AaO2Va`sY{C^ zWrB036T_0cu|UwzlgZSyhr#=rtbui4aal(F$dW_s6bvoW;WBtB#)!=-WmgS zskfQ^7Fm%nvx0v<;F+72ClB0Fq6ZykV`(zltAy9{2+Cgpe}u zw-}-X^MvP&OhoPc4BrI0enEfMko_oGhpnBs&rpxZN@_bx*0K=;)rbK$LR}Jm!D)Yr z|GdF}euY{2^~tTAm0#toyiFQ(emnVfI=1f|nsOIxm2X4L8K1*H(dY~On_v&(r~C_e z)f+hjc;_qT=8Kw`r+QXq@f*moWz=?T)vIIo~0{#1IOAW}LVk~J5J zxaPf1?&jGQ{<=x-xUS(Oct!sK0=SGX>AG0{<=Y1NjMv}@Rmv?;<@A37d|wu52M=$b z2J+#H^>k}J{boJMYB9y&QjqvFq!6pc3~)5dLuxIqyQO$TT@h~v^oD;`D-KIgyOCQbZJ}E!yQNEz zS>G6mjcjhcZyK-o`qe<@@S&zGNq1Zeu!b!hn~rR#PbH!6jvA-|J)<7Z1DdyskOsK* z9pH!&ar}d(>0ZM@W6K*`TYeL7!9i>JgODY-d;eDNd7QqE7cXt`)P7F5T7FB@i0OtCgDY8ebjMh-mKKLcCzt8)NDFlBHa*5DAfXT3xs5FYS@Z6PXRW%t70Nie zD8E^)VcC$;0|pMh!g$=w?EZn6tf4ZP!Ak|wb(G^^5Dekx2upLJM@xx8`v(4 z`?08^FZaEUeYxS-_s{G?_w7~orDiW?;G&HY!?e_jS>Be<1kC-R;M9(IIgB} zBrGh~L2vU+Qb!!$qTP`YLF9yN;|$fg=03^=Fr^(!gu4fE57Oi&5jsmX4rHkyzMG*x z{uOLOAVUtJEwE-hD<$2+O!CH3!N!80YFqzFYGg#e#LVXm-nv2%Hr|U{CKTm|gO@45 zuZ&_u>G>yG$7orN2nB)qFzjIUHR-uKvSZC4RWi_{>Uw@p*fcbywIDHEc(lCw&$3vr zbb{`LftfM8&KCwF(3oeq;i36~nHfI$MlR2Um#lcRD}=54c_mK7CaW=6R4XW&oztW> zK4Udo8D|b2kZ-|+FRadCwz8>gIk+lbiGo*wT0v4IxtQNF=xK%t`S9Nh?4nd4`G%(Qa zY=kuhEW8{$P%z7(cvFrW0&FSY+53PGQ_ao+5{g7)L-Gxyb_Ohxp5f*IwGC}mn>9Rs z*f)zK+Y!*E`k7s9*TmW#IdDE%#&y0DS`(#v?wf2@X15;@Novlc7V?n*9!qDX zH5j>#uD6sc!jkpv&Z^|tPmjw#k{&&T=zPz?pAu>en~jX?CO0raDn0O0Ln9E)kz3!1 zrvUb%=RnNuEFiF>^{5ba{Pwty|Tj=~Z&AKJoA2{XaiDB=2w`KnQlPwP_M|&pQKH&H|{_mP*2@crG zDinMmgXXIIwfF9$9=8=wY{)WsKS#F*rk>d1;ltM2YT0~wGH7o;=a9`8`44Ztd$;xb znlEareK^;<&m_v*s*c9>kQ|As{0fDo2drl4{qpp` zKK$e9&wqcRDEJDmr%HW-X5oeQq z?Cbk3plf?m-wk=agW_88uKo2Z5xb?2*h4%2Hu^(gvD% zK{Pj2=+36MBd2HEQ`7@{<>xf7-)Z_ag(B~O8{UD|6v}qnLT^y_Y4(4YRG4%}=!4gG%oDpo<{qAz#thaTju*^Q$Cx)~ z$ZZmtZyth3-5kkA3Cu`0F5>%}4W0x2lWtBafjjw+`qHbrMG;V}!bsaK#MX2UeU3l2 z`a>xxlnsgZ^Sd-Us$`4qMN!&b9av2wg<+zS-&@m=pCEWAw==b($VIJ!zE7jK^l5-R zYVVQMUs8b4wt#f)q3r-UK*qn8QCuPlWh~&cfnqpzM;S%>#NlNb+pR*ceQKzO)$i7O zMcdm@Z~>0??u{0lS*S%CCIHdxM{7l(V)t72s_Xo+4l(eqqh6(;Y)5?s`y`N^TrH!i zni3Ai2dUNfDAOGkrB^XogqA{*0z~of|FT}xHapVwO{PA4LPQ=8_G%tbdd^>Mmse9y~z!Q;KK#>>%S(fK(*S0{62#jN3RCP?l zRIN;>R4#Oc;tXLK3t`vF zqoR2cFZIEIjzhG9(6O2MUdNeFj?4VG+y73-WwvwlG~x)i6_EPY4FP;*RmoHE3>f}c$aa4e$8xWr=(<Yz&<&$HN6?SW_*aP*V~hpa-K8x2;{xZ~ZmTE&5wmQf?- z6QzRujqAj@wfU+6cm@^W09c)_yxr8%JbahJ!U7rXMw+X*vD7uqMF#f1kK|j40mayl zPPUKwrIc80n>u5&3d#6-Dh;pFq}_n^0L#_-umGT$dxgbjS-v2kwFm+#Ou4@r$cy|P zMh9Qe_#?uPoaq(~+yruo@xnd=iDL zSgsnJI3$~nwrpQ#F&x+1tt#mdi@WsVR$Fz;5ZL3z(`=Ge0#2dr_PJ7dpzquzX$slu z|6}iMx7#+7MbZEFDJW#3047LLvSmA@A#HsnQO2?zTgfC_(b0lPNJLBl900PUNL=eY z%~|Wd#(k9gB)2}g8{I&Ir0mSzbM88Ob}XX5ySlo%s=B(0$Xn$qcnR@^c7W2cP!uBL z8Tit;-+8ya@-?Z9 zVMoCRHJO(0s|`@BqY6<=nRx;>0vAJ=52OgI`vs8d@zeA7_|pO_pmx4@u(RRtRMs0y@rHvJI1GFzMP-e$8Y)NM|GnRs0@>z z4TgqInm??d8YWZ>eA9LtIT~edJMoi%0TP$MB#_O*jO1V-p{W4`~5>oDA z-O#69RUoy?0=5{e%L5NvEv#9%y>xwGhR-> zB)^KyGA3p(lre=PraB}-x7-Ul+5oSmYNrV!Tc7JlE-2%f3u>@(cBKhI);Qh|~y&rx%dw=lL z&j%lLi;^E=;3l)-`0hQQmuy_(!>N*omr*}1ow-|6y_j# zc-2ukKnEA0b@@V?Z^f38@B~6O#u6zn|pPuJY_9@Ex&Y79D zH%5E?5x@wmvrlrUej67Jwe=ipWnd4jUDOzp$_xTq;==s3Q%0&7QVx zO>mju#kltryJi~N)S9*`q z;@qNGtb`o&`ILAuMPk4ZfKU%PA%TMR7c#K#_lQqh>CH^5S+hSkL2Ho&+SApN-0b@Z zD0&|2Oc6eb)E+feCf=CQC0(&y+um5*(<6-X*vTNAe@@cN3)evkzf&TV^KKG_dDMdA zu=P!)(QlAVj7L!m{pqFGS&RH&CdieyzA5+jH?5R*vb>eW;^}oEYsN(vLo$#CkD}UO z7#_d`}ejA`blrKtr5rUX$qMW?$Vi(T?=3F(rje{|=q9ESb{I6pk_ z!YNOR5#BmUkI*OhbvnqlfuR#dvoI*MS znvrl)8M6(EVSnK@3U@JYnqqp&;U#Yu(P4t%RhwWoTY~yS7w@l=B+BFwa0us%c?=MD z0hHMw|NNGY4@}jPh{@cqI^&Lo2T&>aZ1pq@CfGvNeD!e|%vm%b6>yzTTIpGSbcszGqY zfCMX!a_JkRGUPg$3y;Rz5_KD@OLBPsiIC<)-)0-A(M}NW*bVkcbV}AraaU6xi#FU? zfJfL(TOM;J@+w!@_tx_m z1mpUu|M=?C=y=ZiemM*4B%pyM_J43PpGEYSq#>s@;-mX1bgp5ifglkN3uho(Jj~K$ z9|#Y~(aDElmQE%|VG>>f#P7A2HLug*M_>XaMX2bNCPr?4VofbIJ-~-@+F{N;V(U@e zFg7&|JIx^sbf=5b)%*$v2}?|tWE|#uAX7#o?nY5HZ+oTJuN3(?nbZoc_uV8|SxHw{ zQ+_6~Qet+RN2B8`!n3Og;Y@c^yswk*LXEbl1Ld$zm}V!h^&P& z^Rd`V&;>}r(=5t!OE80$zU_C`*YBWgE-6U&V{~_(h8bJpAE7U#D8~YBginkvqw8r4 z{~)Pojnk{Bh01+M#6U1DO6B-2I9>a$vkj?nuV}d3S=XDa?9%2&t^2FmtZg4_O`_o` zYwQYt;%5U9%UJGrue@ENXl8+g@QA$rbwMc2?mhs)!#ATllZoqKT?}-C(WZKXiHhbs zXtyWCq7_CP$;srDTqo|wNW0I`gys#%c(^$;)Lxbs7wvXd-l15@Q*n}=`udo)Td=%} zxWZ?pWnWh2n5C(3+ltUxc(Qb@2}x7G2ql$sS8^( zO0PK}r{F?w^~Y&m+{?f*{R<33H2X@NlpMV)YxVmgVe84gM2tRKWmHQ_2|T&9*I_z^ zni}f-RS|*g6c+Gn6n~;gneD+aMS`B`pdka^JUCrBp^nVjdbK9|eYFOS!oOuFONwTE zyJCXZcC~_MA|CLtfb7U_9*<{az6F4QxcV3=^VHY1RAbn(e2Rj<7ox z>-SE^xsv;bXXCdF==!b7YL)qKDb%B0fKxo@l-+AE`&f#_HE{wNK_Vo7>k7PYU|COk zr))cNrop|UPtbCNU%u)9;LyXhk48;5ESxI@vr(L*GG(-_MILayzN>xK9ERrcpJ>-t zK5edzK@3eV=v%!P3+_WpTBtye-~k&mjn?QtFzJZZMH2 zgETaMcuR%#_27x>dr2%y=6*+ z$u~mCO89C!d(NPRi|hKh8H2YM4wH%Sd;4-OF-^UGZL$^@?A5C&?Pe-gH&d2Fj-Kmc zdh_k~?9`0?QEvn-P}kjM*ZUz=+~?TdD*@i{M3d&_Lcbqvq;m zd7|K0IsR&>66e4!kitmph9oWGi@Wy`#*1b*9v5+8^Fql8BlSM9pW4Sso_doY?K1a# zoK67(^6NG5JtlSiE-sX+jk>mP1@hafwHYM7-ewT9M@Fpr9iEhR{8{o89Z0id^GpI- z1Uxl0y`69~?h?pf4ya*=&pbnnSS#fSyIoP;I^@d?i`4yEY#0_TG9rp}Bck52MnrMd zh-kLJii&2NUKjsrJE||Rnd&{lW@^!Nry!3_tAQFaO>v~@%0Q?k z4}5WghAf?PQ~?i^0xgT6M*JxnOo5Y!8T4OHZwGL?VA+0e@E?3acRIBWy%{y{o=Bnj z)VoJBs5B!@+hCYZ;3uF1RF*|LMRZ$qD94-Av?}k-45ilnyeguMH>>H`%4+#Igp5u! zi9WG1Wn(n;EU-9FGhoa+SvZP;YuW&apm>Bf(#fc!Ppo+yow9}xl) z{fGp#RKj#ZRLTUfXHLCVeYVgM?2XQO3XNR#5laUm32O8^>zIJQ@JB<_T-VyVXm(v| zRwQ-SD_vpNrRr2FObgh$mr>@lV1`9Fg@p9-auR8p)4H-$)~PE?4g8??O9eACtATTW z&%b6fM^jvhsX8Yo6>Zn)sne>!0}2@$GAyFCl#&k2Y>M?_Mq6buQ=Nu|aDOhR&xK~BR=It1~Q`T7p)#1P15 zAeCzz|DMQjc;QL(F4soWet)^T+(3axsn40oZ#p6cC2mrr&()XfT6R+r&ZyX+`Sn@u zM6VW_#l4|cg9GZnS(jeLanS(36BiBi%9)hiEm?diWjYKz%_6pzXe_iy>tA;rA|i?l zU5Q1mMdIXv1qK79M;Z13mY z!@aZJga14{c;DPnouivK%^M)_&GECOb|A*#kH}* zYReuRwDku(aTr!rx>>c%#uHcVD8O)_6EFyRfCUU~n8jgd9Olz>3g3Nxcx7G)5y4{; z$=5(gad<0;FcN}9{zaECd_XtcoNSjmK35nkvTB{TU#*s8?S!W3Z;HgLYSflRo2v?n z&PWklPQ7mOsM83k*ea{qZ-pX!?V_SBR93Ro?P(EpHA`VeBz0!VYXSB%AXRAAqC!E= zF)s-|^^tk^O(#sZTB|`_7*(`*6_D6Z@S1doZyQHZ5ylgc?_9$GO*in8HwS`uLlg5# zS(I)DY3Z>Wt?bB+X3hQzJJLKrdR`H~{0(ZUxCnI!)aPu)ijWgrB`X&R$F$)Ix+oqvoA zlnXjzAi)zN!z^%-=q-F=EL~1WRWUwH?nte+`0iKDJO(%8xQIGXc^LJR6rbMmfK|C@ zGKr^ooP(5e%f}I(I$wjlc-!IY-M$bVA*C|8Syj|CAZwGR=att)WKl7JZa#v@#)ScW zr;|u6O9E?J7VJ#I^Jvn6DTPI~1`2L3L2j!huA>-?i`MTAgv5uc0nn z#$Brc3WO0lhy~3_1%$S^^MOT0gfam)&HZDQ6P4zM*t?Q!HHpKZ7mIh~U$h5XaWb4- zkD_IE{gxq+BkvJ7Leh~ERc)1M_*aTXK2|(lO3*HaW12tkAV`#dF+>M9Nna!8eus$b zVRgB7SWoSoWrSTR$Vy4mG}E z=2OBEe`A4gaueR=OhcHSU@1QE5^*azI?7hEtXi0|Q>BlYqlM9t zxJjMUph2nbl12r_QmT+;)It2(W?9XTX@Ce!7D<`MA>{ZUqr2UhZgWr+y`Iu*9;eSX zP=1sT`@-6%NzeuAex3q*BxPN^ERat>p&jH@n#Ewlv{6Siu`aHjhDM2@uQO-w?vdqRhCC5wWJW$!&miomE z=ao3O1-Hw8Ea$DfFC)=r{keW+Wm@|SzOE#ft4;Hg$f#@t#I?LpMx}`f_8qa&8{YK?02y4N(BS5{AggLQby3q8qBi z0T5HN=86-B;#&Y8_;Y%ycsNWn1g>)M>caq;rsV2jSrd7$y3m zr*_4+t<@r!hFKmFFQ&*oPI23%=IO59b&Ga6cvYmFk(RdRu4`X?e1PzY`RwSI>J^FM zokIhaqUwfwNlp@Ud@`c40ei>80GWDnUua*c271a;maz2~tH$VD?ck%ebpiFBlwjpF zZGfKc#>T4ffbDaMPi&Xeb;#n2RgJ7NVlCW84{Z}ss^SXCe>T1Kut75acqcObukr{e>qt+s_n_2Je86-r;=)^g ze5JLCeT=0-l(b%cr*oO6my@Ui*>|0%y`EGqc1fukqousps?Ek$rZ&NQrLz^q;5-tP z^{#K^p{3QpR;tXkw52ZQtTVL~^t-*6xi|O=ny`$9uM0bJvn_0~QXX#>BV%lTO@lVL z(cS678DlBGSAo~#sxGq)tO!4-p+|=w0Mi{pYZ%ep!Q9MR3;i6(S@f&h^9HuGn|Lzm z42hL4(XKXug&U0h%35|;lyo+6ds!f`s7+PF-t2n0Yqh(C)}x26wBn6(xZ^2U`g;7N zRB!WUXON^mFfMwp^(mS(@xBp>NH@}mMMkb{qx4i}^wBwo1AQZJ;T0H~!IG=1A{sod z_-9T~5`Dq4gH+qRZ+JS5b2hUVO&VS26j=TdGoMpu_8+oC6~L)g1KWM?>-)w%z3#P? zo$jwL?uf6w+2-;!0LNZzKB9CTLN#)2UQ%zo^t;bD{O;2ie)rpTZ-yhhpF^T5gIf$C z3EsJ2>b}^l0BU0s0QL0obsi0XXB&PGK;U;@db4jI(;p9UKD_L8X8*AOot8(V<bja=>8T3{E>+gKg4wJZB(1kE<2}nZgwGSfyiN zmn+y4wB$CWx(K3C9g1roHifgO0^At3kFnqHqq+(t@?@}XJvH-0xG9@bBEo0Nwv0>$ zTOnn>j@53cf-5ymsg53t>r}xYLpasik}-)bN_N7*B)xI`%$r~63g1EHiwcGKj%ks7 zVN(;b4q#~I>VW+B*{GuJb_2a5MvI?8_{SU9?X-WXnaSTx1WRE08KO zre^FTgifW`uV*n&>=|k&Vdphsdqu?zUFSGHz9z$4%>hjHPg`nUPpp@Eq{W+61T|zY zhMXzhwUoGZ4oK5^(L?5TfdFc2v?|3_+I?zm*D7(^TDOa)Em?{r#b@)oSYi&1B5A!N zDY4ND8t-1co&)io+M1(m9B5XALY;_|%Y6!n)oQma;}VL+jp?oD4fMM!s<*zmM7_1v zhN_yCeJ)+MHZPv}oQZd%QA~y=_uBg~vM4m)kYUoS3+HL6n=D}#p6BTVs1m(iQ$~nA zX_P1}5vw}iE}A!NRT?cJwlu&>offN>y6Z3V7V6cwhc4fXc1Kxwd1>iUt4`LKdL@$e zyVE%Fn#cL_k&CknVvV$?q?PUIxHk7aqiC2%f+(+17|X7zsF97P=4?ib_S~FN3#T;e zibOz^kHEtSTRxVg60jGPTsT5*`@y?sWJpshtSgnr_wBw?PZ$u6H+UHye~Fj>EZ) zF1_v)G2V7YEWPgBf>3JaJc4OOOAQoY*oa*-gz#KgsID{$+r*F%twRho ziSE;q>OR-V?sFU6ZOQ+7mMg0)MZ+1l^K5ezU3x8EQ(f(6-exUR+yYuYXBy!!mrf~` zsJ1W4EISEXrY5b{V)T79cIa4KM?UJ5H|28OF1c{JI@n!*F}?LW`0v6MY^t{mE}P5( znqRrX&g79e{aoSn(~SyFYfrqy1yUpMFJK@7?q6M8TwvTJNWiCad|)*Zw`QETBl+@6 z$N*|2sz$r@^_o*kv2*-diD9>ildL{MTkvMB2Hx7cGQFd^sHV(I?=4*GOyz$00ion) z<9x4511%eB<7XirCYGvMQY>$SBqGRw*TZ+Ju+&-Ff!S*u@_R8YrZ^H9DExr_=@ zV!y%rC09buZ%t8aPJFK4im$Ff?w7V@LZi<6&~Hi3*Kd`KIOGaF0biqNX19h|tc*mZ zFsa@^{jK^4s+Lf70^x#Se1#R!bZArqoPVp zBnQP$uPTaB@%RkwQv>G=W+i;pB%N#M=?scQ1)>=n>}G&w^!Dr+e>uv;RdylokZMM^ z@dZr%f<}OAQH7={MJ{EvE6UDo$+6yPRT50>Qgam$K@@!qNJN_8D57K}+BjBe2g%5> z^-3FAEa~5@Yg)OdTLfu|ySfoGJ?A6m_xQ^ZFZ&X@N2{aPJXAE{Et+dY`#Fe;-hxQ^ z50K&?ltmfB*FWS?2Y-+5_Gv9@cIUNMb=rd0-oja~Folx;vz+V9d)G$K`45wi>|fMc zect6L?v;hUd1n4pnR3r7wcJ&!-RDoOZu#&`qFJ+V9An8JV*-x$=SM=bwES4hO4=Y< zifz2b)h>?ZL9kTe@~l{@_?0mkigjvCook((+Ku0lN>~iw`EX-9c;7jr0`fYU*=bBR zS3%~Rsm)i*a(}=|lYb1nk~g2;m7%nZNL%O;W)uxG+8(flU?^|@u-on3+ok0^;6?P=?R4~Zw83gG0Q|_0 zeZ0-RUwpe7EpxjXdrMsAmH{n=yj6lwx38yX3p!raK)_yPc(P2y=`Plabafv*V#jT3 zO{tn4v(bJP;$|2063@b^Fmd zaPC74Zc{evXipzxYwKjdpe>d0ghUlTG(h53U!kZ^Y(a(Kz{e@o#}?Ly78R1AT=HvL zWH#qOicnfWkkYa3d@UX~$~9LJ5RpkD(c(5J%M0TP5splWu^=b)eEeUnYxTfJpIhUD zAmhc)lk!mwKMzHI&ZwH-#Kmyz7TwC5HGHKa-=)%HGVgvE=8;3war(+UWBBm{rno3= z0eSm4pi-1!l=`(&f(WFR4;&;%fh*gzAcBaFC7}c2Mwgvh`~!u3vDD4LKGPTD?AEuh zk|-r|0d%)P$CeS^$_h7@d;@tZu^c3#==)(`q>25-K&yj5RuwN*D@(x7P|astG|N|cgZ!u+zi}~xR!ksFbDW8Bfl6=3=Ov#Fx5t)2V&Buy%Hc83OvUN%- zOk2C^0L(AL6wupmAvHgG4-T}K(0Y+37u9j#Dm1+9FoE?X0{OYNl}lVYRtzd`7Takr z8HJHJg^WYUuL8t>4z1)et}Jz?IVI40lS^r5*(%Gi447+Tvx=wuA#qd4?TsGOn}b1acB`th_qT! zZhI`sZcH%vEruoskWLEVA#CsXPomSA*Zm^}I_IlAUC5Cb{;%i1+s3uuh zP6_4Tz@?KG5lHSb0PS{_`rw;ro{wzS^=u@DtQ(_cdnQ?FVb>DUs@>+UHC0NzXVIqE zGW^*{mLhsjir+@GV!g0ZSZqph z)Pfd7Nq(J)$`Xjk&*gZ%h<~oR$V6(%`SCX&pm8Hmtm@yyIoSbmefx2jqMQ6Tm0;=p#ivI+C3mK*Gi< z?OX0Q9>1Y5+!%0E<7<3U_V2T!s$0P3-BlRGZoK&Sp{y3%5f?46a>^ek`9!=L#li>T z^|bWwlO{(X_x(IYcWs7iNP$R)`FGco$sI=>toZI(t93QMcVtNPoV+Q;jxw_Hbt5RRVJEw!y93<$A-91OY5Ac zFaF*52Z050z3Djzl=(oA-rCtaKKy0p_&}~@Wf?zX0g(axKP&jxtl&J01B-vJVVIn; z@|~I*haG@dT)@dh?;#t91HD$u8f!mi7%NMR!-|I}l6_!gX-2|11`bQ&V=<1hs}vLd z8xGAm%w)rPx&)8O((U~M?s3)~UT0_nb^rephK{GL@oMb5@)(93Wg)t@)DNdRn3Vuv}Ds>s8nqXOVf-(GP4x#!ovtpM(fpflCN1Hbx|v>${MbbDx2Wn=V{> zH6=2{QBG@WtR*JokK0zYEyVN6xQOu@G2&ay9U8ZF1m7DEY)dDZSMPu~OKe`@rpvL*z zbRl~-3r#^H%sy5~=j?hSpZ#Hg7P)mxw4KD27@-*NMS6c$`?)7}6>ar60T@jt72lf` zPBFUDqkq1vKklBtXIi{Z0_Pvm1Q0)J{Q&>0m`G5@V_1Ojhdf~XlQHCRsgKi^m@IAx4qxP84>wrt$Qts)|=fp{$8@#_-kZP`t0sb&R1RM#gUV zA<2SX%^+_bvBIhR*|;QZ#>xxM5FGj>&a)%>(wMKPo;5DO!NNQ8V<9g#@UV2 zHRuel?mD7FKswPJT_@4}M5B2N&<;a{6i7z-NWwlouOC4F>+?wj<4-Xi`aL#NT0jmn z311pa*`>D6KCgEfr<&SbtDVqWdmLKmQ%gtR^FUjetu5se2>wGnit4+Tjale6vxT&RAByPX2kdFl-rX|h)4dC? zCSpgn!ek`1h|p9d%IoA=mQ+jB{cDZ@{nBYMr)EZTx`GZeU`1PVr5{d{h9+q5V|ABY zcR*6Ux$9ZtUe}yyoQH|sk%{&qN@bdkB()N7UR_50>uloE;TsRvC?#J*P@L(|Iy=AY zPLoUHF*SyT7jH9p@POOU_E>_q6GT6dJ(Jv2&j7`D!B^s;H7(o`=G^Rb#12b(9#A zSBe}jrKHm=qiPRXK`yH4b%jffi;D{#Q1zG3n|U2h0vxq@pz~Cq5;efJx&?|4%Sh_l zsJk1Ao1^*mTF)etn5C0^p8ik+(?EG)Kv?e>VPVy)gp_`pu4h-T+s`vojardx2&;u|z@~g$a2Gs97kQ&Wr3nUfh#Nr!+&hF^69LN! z(R`M!_PAM@&3(?TJ+49`gG^PvBROit!p#LpYzC@u1i3|3cd8L#_~fJZt^ zF4E7!(?@B{1-Ea;FVQ8v&%C#|2!}tN4GQNvtX})S-1{4-V%)h>>r(m1ezr zo})RdUQ^q>nXRF3zr}{?1AmS^%og12pb6G|9TF|M0B7A50j4ffe*|KyRITD~d4aH2 z{Wg?g+&=5XSQly?(VAJ*g4Xjc$LCE@;g-|ze7}A{W@xlK`iZqz-^)Ycl_dWNA)SZ# zSv}J+twq~seYvKohH4W9Z=*$pagI_$c823L%~8I=4~&m0$EcvL7hA^T!Drl@PQwhj zc?;=bNPiaHF|-3qkexaMez1xEv-_-loZnl)b{66JeMO9dlPAjX9iD9yb1l{s1NWUo zlNLY?rh0=~k_%GSib6%2PB6lT-19&}uCErbP#l!I#&jO3NSf@pJ0Wv5zl91b%=7f) zk8eXTx#9Skw=KtE{!1L))V8GJJz-%;v4!tQN(0WN_Iy*@;^t2+NNz^^V*>-MN&BcM zP~4MiiDht)h^wG_VC_#(PeuxKTKN#IMML6{$oq=cZA)thJxtW+s){bN^*^bpT6_4L zyaEy&|KZ3Uy|4ry71m59a80eTs^=6n!cs3ssGHg{Mz7r-*J2|QysXK&g(%J29a(gd zMfupWLEdwYzDMHxyQmnB**3Y#!o8O*Y2g*({6mpNA^Jr8EMwHG7?5i^#+M*^vvATS zuPK^weHfg+H;HxMIwq@V&=Pao#6@{(ajO73``AG?#{JHCd-N zImh0rmcjq((N5C-V*wFR(eL zve3K6Fgp=o3o7KoyjjTb3cYa}(Yjr&Czv1^s>~%D6$IDXWvJvV${WMUV5#mmF2a&l4PD z*Hc%YxZkqQ(Qgr)$+MHSfOPO=&7^8$OX($gHoDBK-Q?&(YC>!b`MF||FGIvcS5U&7 zS8uP;)zcX-*bl@R$>=+r)nJ9800C3Ky5Cs{2$DlYKI(L9gCfMiE8xR(A*E{K*a(jZ# z%xzGk$cvhjaH%}NF54g)%Vh;Z9EG?0(WD3~RV*7)V1L0WhVh%CPfR(F@s#x~t5bDYB3{pPM}uf}H4@f3H|6Y|MbGhbjDaO)8Lb7G-^rguPu!@p;k98ZneZ3^cnIt2`C+ip>-ll84>YHn zq&JY11SV$Za?buZh&qYz@F5uY9U0;7a0GqHk+f3fu|;cm6cn9!Fxm>Y-G&}y94O(b zjG;~R5FJzW8+#6dOv2LAXzq^u#2;h8sx12Fb(EKNzr(12ZmMl-42YmT>5nEkTiZN# zwB-?DM1aC|(=jbyU0o6G4}hx54|&#k((zM?B_B#RPp$R7HnOJacU*I~@Fwfjw~*&Y zy7Q-2uTOuT);lq(VQ@2vq{k_4jd~<4uG`}{XcqEsR7rr3UJ<@j=AUfJh1c9tx{s9g zC(+tdLAtG*eVJ~_+r*rs&zMalUBJw3awUkCoD4!oA3&p%ISW=cV2E@GBb(&@T-g(` z1`U+0Y>eD60d_}Sahrh~q{QrP>9;~(eRcyCbqlkoypYEhL>j zmjP|&rM6V90oxujcFV?66=|Q%^eBdc6>SJEh@Ad!_4Ax#-FKo2Cg&2@Dk~WozFG`T zh#H6E-{18kUkHk|CD0k(vV{G-)X~#2Jw6w3MKBEBU`0cul1COZ;UO3w-M>{n5q)-5 zjT+o4#r$F$yY4IZYm$f?OC$hRiX{&Z<|^!73ePJ-%nb^}aLa1LBCXkI?fgXsF<*=` zTHBa2n3`m28&zZ(Kx6-PeSGqAfGyk67!;&v25XZdIWvbSp1(k)DRg*#V^FVp? z>-om1zAaouo!zwyZ;)@mG<63Pj5azXB&^IclhS` z;QhO|ui^K8@O0)b3M(pfO-m}TMQJ^-=;Kt^4GQIE4YVaBofw3STlV~!8I;Rfw#@b$ zOa^VWWK0OM;w#3{Rb)K2tLSj03R1+q>~g$sq+O+{p{y6Q7UBiTAuEW60&Bdo^;7;KDM+c0=> zPn}K@~7Y#d@u5X*Jl9@VE5%Ef*M-SpNEqZt@uxlkBRc;k~xqCb1 zHtIylXifzq7fOeGf!SQ4S^(-a7uHJEqD3*SER919khe}w&Xfgzc5n-nO4{&qn|Ex% zFE@{I@hMP7TzT?R%)9JV)bsI!;i^B*8`RCq}Hb>r(d~ieH z5t%(Rt}=~biJP?#1wNS-H){@5_+x&y0osN_b1sO^NvNSEc?mw@i z?2fJU(rjlkQMv=i^Ru8gD1!JTI~`>0wkMm+{nTu&;cCnep?)5uC*kQJg!=J?o0ned zS68)I~YsJd02y;C8+cAe5XS}BS&i)oMc z!IBP(rI|2tPG4pvyx2DQuQ2*;wCJ^%U6^)u6+68Db|c=pZElTFpGajh=AT;VbyEfI zBd=7cK%mU17O}u`X`?^*MEA5f)j1Dd%C_pZuhKOqK6B#Mgf*i#&jNPtm{`?<@v@_3 z2BrDUxr*G8=6P+o{wC?=d76GiLt%Uc_7^<+dAt+8W=AU<(bY_ch$u_T{w5l^;1%n&%EW%Jc9tTKM2Lyl;N$y1bh<<(y3i5L$gJr$4l& z_-gHD93?WuV_BAPK|-X(zl~~~q`i-%ox=De>zPlD7yu5vTA{#+^NhV!KZa2{df_u1 ziEU{kN`!H|aMibzQMtVv>Fwhy_QsA@(bCTnnMk7n|DsWtzRRrc2UQ&bng&0EOTW$& z+jY@Ko%gV=(KXQ=7$)ffOa!=NH{!oU-`=DxF`kx4Ze5^!)t$RCwZ{vhF8lV;$q}`B zS9f7$6lw~`IiKi-!o%C`zlP*>$<4b2f1D6avyeA@N+@4`idTvtSq>_%4HwXa+9PVk zLFCgIACR}m*>L#^WzEPnk9U5^T0d|9-~ai)mO|N@kt(p`6+2brW)rj{a8imf1Dqks zN9hHIOU8G&s9V3gPXe^$q07Cilzd)#vtfw$`muLEgBXUOR@ESV;QA4C)+##UmfC3<;RAN5Dpp)&QZn%hf zD=Q(+fn`w2h6PESHsqm2T0>LpoT#xi7CvjOWoBy$gF76=U5>Lt6}H_lFcMtnhvTEy z^fL$HEbOA&56+2v5D_s7R2b~Lp`TEYJlJlyR9qtTyuQ&I2Q*q;t@gs{uF(|UDI1dr zQTQ1LHZi9QD|@xge_VtC5V%P=jNG;V@q6BWfdBrscIi79?`9I1+k%_utgi$C3Rvxe z~2#kg>WdjQRM3D+T=7P0~?B z=y&1bx3`_3nFstLP0~J@QDV7rp}hXET9iuUz?7j)0c##Y&Fp4KG{R+=>R}}Ns*3m$RKiYxzv9-RgT4)EF zCT4CE9d2Ugp9l9BaWonA5rqCZ-*XcHeWj)s3f2}f1C9@yPi6oCLKvn9J8y?Y%D>*g(JB)6qapu1^=|<1z-3^^9{@wB*`rkaIKGZ@{`HS& zl*r%5W1tcI^SdnOA0N^hPt>DGLi#qVH*sjQU;KFr{fdiTBSJH`c z9vM3xt+BgtesDD{?mTYqn^(n1iL`kq!YpKqi_z9MfDcBdX z3;}@Nha>mud;^C({AhopMBZ=On%WoAw_a7e1_9$Mb&>QNXWGJ3A#ga^;r1yLcQf}w zbn+WLkM@FW5pS?*S)nD@<7oshX#mu>~0tKKk?l0gQ3<3^kw!n*5aE3uE<1N67 zDCiAdY(;~p-S$L2%y-<%hbgY>ko+%&=jU0Al)ShwH#9|F8Tt)uIgJa8$%Y4N3aF(; zARvwcrQc38P$U&laM_u^S6NsVMR0;CK7{ed{sdp0bk9=YW)omMMqP0>0WT@O`Gf)% z@Ecv$r3DoF>~DbAg9CL6{}9A7yh2I=AnO}j=^zD&WD+7Ndm0qM{=R9u*h#pZcHpGk zXu}_b2PCJE9B(_yzXV#hdu{i6bv1oOW295%;o$-jwrG%)u&vwD2m{^k`A$|x?9wBNir(c$em2_k`mo@l;lXU0l#S)mtz z6W1Me74P6}0~oaLlin#vmU_baDQvJllu9~UG89^GCvCkYAD3j1Z>0#oa#3k*(yemU zS63TXDlHc#sVxk`IW++*PJqcg*vdgNx3V;3vC1O>d)bCb)>)zLNqgKMwI@l!3?Kswd7V>a zxGG-*xt~C04~mBep$j7WE*be-geU^(w3}zcg9!z?q4zs@)jV+{-(+Jzf}%w2aCcCe zmL-`_f-Rk)7|O?{lH%~Z)UJ`u!ynhVu>cd9c_oOA@;rasB@qdPJ>BLY>yG0QhS>$# z3x%oGRq>;HKDo|N-UTroJth>kFijPR0B!qv0MTcC$@M4=1_rhZv~Hzo`T7GQ`c z23^tvOjoLL#y!PE@(+sg3LDK|Ss&D6lFw!{pH`gTdl}39$W_KYTph54G)(+5EmEFX z#PON+`RgQ#z<{NZ)TqLq80R6z4XzGWvR;FP)M%sKyA^)B8Ew09P`Gk+I4(4Nkr0ak z=;PJZ7&rp}Qap0K?YLW{gj^m84_;s6=IF`kG(^_HXb;xu!i{Ov5=UbX2m9&aAtUPP znxm)C&w+tXT*{atT@NiNv-@NMHl;AnOlC5Htv#L@um0 z&JHS|WeL%NA#6|ha~@ccf97ujj{A&|>k^I3VLuv+U`hDBpLdTcmih+3MeU{u$1;ZT zMHOQbnFZpbm>%r&6q}Lh8oI*{SI~(o(0O=>;hY$wj`i{~%1mGZ;#7h42_&BttpXsH z`KjQBpo%7?Mwn*~)F=Lg_CS!QYgP3@wE^>(jioavD<*=&gKkhr-bMwf_>CDbacs_a zu8^Kn^iSWU@5nr>Qsi?7L&nc5WCLSK2Vo>i|FNz8?qVRBWVDCoR@9K!7o-*T910ZH z0=&ygKx3SgC@Xf!g*%T&7DBrDA;ySXmpE3DTp6xLJaEjK-U>0Pq~f%%w~YeLRHP&s zW`$)4$GB^%%7C&1O5z3?1x9Ow3wPvgSBr0#Bxi(+)MvuU3C5Qkj5^W8V|j6onMeoh z38EL3a|oCMi2=_EINQ0m@;d*)OO>n~wi zDBmxhrL3zx_Z2iFND+B{fysl2H&U>&B7OlgKx-335|<;1T2iAd5`-F&w;2XN!n*)X zL(LgjpEsrWE2|M$pqeKWM4>k1m1SEU8oO1Ox;92$V?@96)!qRg3NNuE?IG+ zE0!a=1J{jmxv)$-6@{mZG4I3TOgE&JfNI}#pE5tJ6I3~ zu=4C8Zkcika}&cb_rSUC`wor<62zb_yZ_dF)cp z!PBmOp;v2L0kIvdcVrFoB$N9p9HGUzY$+$MzmisaETQ)ke5&`&YFC!=K$d@HAHkq# zx4r60VS5rT4O1!vkgV7=^9CBZVC1FSr`jay94D9NyG=uz#1<2tWZUXvDo?cnkE903 zLI>sL={%T>2i{)oaw^hqdw&Y5T4uD9ObWn0Ng`R?A3M!jG z&!?#e#=bEYy<~LebSxOFLQk3BvCs+6@3_2%v~m93@{T_!sJy(6w3e0@09Y3L=vOaq zsoWSRFS3#oArn>;dYDS7wG8|`D zuToXuDo8!$VqzQXT1NQQ(PZQJ6X~8l04c_|!)qS3Od%@*aLCZD^|MI=WyC zeeGs(KunyDY9luaVnUu6~GYS?BYO)u=f8d)2Jf4kI;gczq zW}XCKDvIZ>Gy@g-s_t+S!yj%bH>z+u&2>aSnXEJoFQeby(h#r`se_cu9a}S{??Bs< zAsyL8YyduQk2-u0%$PR{8gfvNAB?(az0=l4^ed0ZpFkcPM78VVW#?af9V%TczJ`XN zmi&ZawoUJggGgn*Bi+`(1D3+9-q!066suYqW38@^+sRg1a-A}xwBTg!#@oW1t#K!5 z7y9aN^-z~O4r&>mZ|!Z;4!81lHm|=Tor>Njov>3FbLQ?QK|MzhIfd1@4#Ak6xS2WV z&}~8)s6!<}QW2jFaYW;D0oA8e0+74pePQdZd&=qpkoe@3uYB)NgP$n#Abhvzrk$Wn z@q2hF?56GDg+Xe=b_y#$9!$1g47>@N6T!m1=uA|RQPA_Rks@!61|uNBG~!`pOl^16 zLE?WEXcFa_JM@)2yRz=@2bcom{1l{Hqlbsl7WIA(qs%p%oikVe_J^K-10^D5t%LdU z3v+KP_4TrP&a2_->hP6T_YG83>J!Wn9}f>nsW2ICsSixAsG(L@FWsT1Wsq_S`_;dp zh`$%yBl9UB#a43tNN})zY5UZ_@`agHf8Q^Ss`_tyVV>3htqPGe9j;IeKhifC%A9 zL;qtp@pCvk;`|qm9A?oo2>xV7R*LmE*TA^A*Yc>KYgBP2N_OHC+MQ?|mg2?48S18Z z8zNM_A}#kb}S70uk^QB*q_#XkNtDBv((S=YpRG0uF! zFf9iqN5ge&B*#H-6E>0~GDZtPy6%_O%fN@s0|=Qa>JXs>6C|T3FS4{QUuZ)uWq!m=os=AiENsl5c8n-T0R4Z#&?-YsqTc@pzyzebqUHR2{9Wgz zGgy1F@_)6Sw8U#3{JED-@94m8{XhSAYooXR3=V`(fKR(XG@{9*_0Zb=u-{s39UUIG z&@ep#zT=^Vk;D6IYol{61?=M08nm|7)vgWi|Lo8aP3F>rMUK@(B&w%RpX#pAv^c2! z_33R3*i9JQSHt135@l9YKR-X`*RmJkRXn-tJ3mB|PZ2&kYrTok+*f`3=w4ys=V5}@ zsabq6)5qQq(dfuGl0*b&6&kwbs7aBri=~14;RKHc7~|N;?W&!uUe3`w`f3@%R*N4S zay2&&Ve|EStxb$ujQ@1-A1#7wcheIsvS4$6F-gOsk5orEy4iTvQxX0+(qL&RXmN99 zi7;52h}qu&)*CUfqUr%kK2}yQIB`l(jVI6)dD(bcSak~ZqStE*GF(ni*u>orud^Jo zh1)1g#A$83FU#=>e?b%p9J`MvP`e*arsL3+?n-;!Knr}W3~mHgq1LAwb-ZCLW#F9a z0%xw`erte|zKaMN0y0l~GMY6`ArYWj!Vy;udh`mMsnO$NhcArD@?!Jr7W}6m)!o!U z)gR-?G=Oo!y%ukr?Gajb@M;KejZ%+>SAF_inMq_+vA}A3uMb9Q^dl`)3>1Pk%Z3Dcw2T-P!-?;^n)` zKiY5iza4+Su~)o(^W*Nu-PKPY{~q;zIKSC>*SozQ?#DmNdGyoE z4=>w0|J*&CJpcIj%OB!j|M}BDccLGo>2A9A=hK%zuKnD*-uYn??ta{ze0%up`y1?i z_s91?ZysbHf4scB3<9qL5d?!@0!KiE2>!nmB)t+OZ*S6_qn*ox-st9HCwcS7&l}Ir zfBU$*_ucn57xC+FfBEGf>D%`1kI%lpczRjn2Y>&2`rYoEAHFGGY^S{MsQ3|}GD)rjdvm6&c?h-nku zmr>VEvQ-H-`B;ak78<9ht_D)=fRMby^XJd!O%2aTeJa&W07t|o{!dH}-#grE&8?Rm z0SsxI(X*G92@Ao-gcnsPQVnT{ZLNg7PV+g&jcO-98YLCz(Swi3)>rEPAO=JUPXr|bLr(8yJgeH`*_&QdK`W;~}^xqHoK zZO$Mo+gsZfYNtOn@LQZY4MV)Rc-g~sT0BZ^JK~#>dxL>B#s)0)REu@o;2g^4AfxIZ zYO5qidJcQRf1L;f>F*1YOh^FG{C70EQ_FN5vLnC82Ax@r}+ZO z9QJ7hmEWOH75Emm5ho|IX;eQ6XH+CTa`7n@C(%(GD)xpxLX`IoBlcySzvdi-sQ6iR zP=d}wRBh?YqV%gGi*sj zsaMIQ-Ym}FW8f|!^_MlIq6U{yfP{P&Y7p21As>m6)+!nnW!o4?4CI%ndlP1f>xk+t zY^rq;#;A)#BS_(@NAr6Bx(*_@Ea%CX5Dg{Cc)ivbua&#fQ=uOawB&R`%#i{cRP$ga zG~IIghEB38eWp~vCc3vksTS^RC^FE7(QAyKCe}wOFBh%QY`~9P?!#$(6i)m1GhYl< zUnX^LAa29Z)6#cYdIik_YVg%9H*gZ3%G-ODK$`p54gJiIlkRt9OOQCw5zg1HuW9|_ zD5Fb_70y_3V|7_$!2Kv3W~sLYg0eI{Lsh0wZy{dMGzr68r-?kY!q(Sc%ND=>x&=fD zCX3Q&oVNtvN9gFGTsOx900$Y&XF{my;EN0eg8C3)g0mXJ1clG{awoN{QxQ(+dN_oQ zQA0a8c|Q zpv($hIy4E`+K30N5?75HE=9{mA0AW*yha@qjn?ysEh^X`)D2?X9;n-_&ZrEx1<7^w zXf3_2BIP1xcWeczO}0*vYp5s5CsWQ=krE+w40498qwuQThzh!ix$rs70?9%G)w48;+o; zApsuz*&krD*%?@MuGHd9Z3Yjbi8ab@dg^kI!+i2xwEy0FS5N(j@v z`ij7;(to-d0ehRBp?jRpDEb6soF%Fcl(bJNELP3yY#Eo5wsD9t*k?ksxK84NBtP_QJuH5PPZygc zXUTGkA``^cu+03DdGVZ#?e_?upirvFV&ThM@nU2)_v`#!ToHIc2NUCmLCaOn0K&74M=T zbS&dmRQ`5T&rgBzf)%|0EGPnt)lm0!zyTU(KK@Rj!p}uK3GRWuM9HZB5CtU41PxP{ z;)nfpHiV0Vo}UErImjT{iU%*GYV~7VAcU8i z_ETP`1Q($2A~DCqvFiO7ZTj_~qz-RuG_$n?AZlmGu-61keu;CjA zTA6(-ccrRD4X5L$FQt&{2#3Ts(=rHISdtA8Y>$9kv3) z8W;aavynBz1#ekyr|`N|*jz27@>q4uP7O&qv+@NhkKGacjN7}TckfvVWaPbeYzo|RhixItk!o>C9`vw)+J9$Oz9xNXlZmVRA4StMEovC+K8E z9HbbA-cM&__DOrV&pTOsJv>;vvz;&nXiyE{AkYdd>n->}2qJ9|6(z=F(tJr0iC;E@bpOD9Kg;&Av92aOc} z#KRGP<<6-*DF*SYR8Z~J)s=)!3OHU*Qgj&>DTj#3O!W|}9)h;A?oRcfxa-e5Zrn-A zfImqPw^P5+yjBB6PrVsqFwmKxkeb>ZinIy+e22Qrhlj{@-rI7>JqSH-PV3+U(n4_xUt0#O17MJgq&IRvs*9&aZyD_9ID^ zD64rTin$4@t`lut@E9tuaLPbmXJlGX@F<8uC%ExDv50XxcOK)+qPl|V3PTNmkLWsDk@H0C@!oSgcNxy;bu z6%p-6jl*Yi76(Z3QG6RG0TCto+2s%d!F@FjLXD3?&Vu(>$@#m5x}Y*+GVmnvLRNbU z!bAm0KD{5j_J`=5ly|@Ui*lDgC3j~l{MvnWRS;sB8GCG1bXRep__7yINId8SE{0pl zAi=kzFg2P-KO&FUXe1i*B>_e)KuN-%Zo3nF$pwa(g+bsZH;`qa0bTT=me`sLC zlPO-U;vc-O9GzUB1}^^l@X#aw0GJ~$6F@u|os6;e_>>k7f2hoX1{l0v$_)VK7HXQA)f-|kbZSFLj01!>tJ?bE-I71X;PDnl5|^C5FMZM2S&w2J082|}TfUC-FBj>y4*`s(+!_Ir40Vx@gqEf2lq zIV#qJYpXyZHrFwNMW`T5QD67iS1WI_Y!v0d=bIzIDDu%KJfXnS$;|?tUBlk+n2*Pw zB3yz*fVhSL$Sg3xncl~Od%#8VC$Mp`8G#urAdGPrW{5g*kl`j5T~M!|-HpByKw#e{ z6vyt1h_tPZd3#PWT?T&B>WU# zhQOG2G05i5C0;ia>Fe}HDlhyjAe}^5>Li4)i_gicS;KLbqI3tlt(r9*hY7|T#_d(j z3zJa>VjAQPWnLa(&C|QZ{7x;yq+a8Mhq=Nc~FDeaE)B z(hRJ7^g&O7L!e%y1dcH5JxIvt_u=8pzX%+@ka`#2f{=^d5wNjdHDhc2;la7W07^&r zR8EyElU&EW!Z_{`Jpw{@WBu8)(KPlPZ|QorupgTJ@_ReByzqW)C;_y>1CU0uzL6etU6cOvaAHiHRbSUy3cf8$@}0)hKyzChUi z6|ibWoP_-gp}wFZL6z_mHN6euZC%^z^#$p_GczKuPf{2)WmuC<(!}oU#P~dAgG#7U$OICVa*uZT^ z>$;ROg0MdsPUdbexR3DKSWHS@2oCq)d>;xhe}Wx2;C>fSz4eLhir z^818_SNy6s#vtrxZu#3lM?^~TBraBS?mWpcVtlBDBj6}fID)z5Z}pf{wh?GKY6PR0 zY0hzKI%En;G*WJ%Z#!Zu#E2&Rac5k*y)hYzgg(?U(lZIqA$5yzHq>(aRzNd$D_r``YBL8j^%*rKZ>qi^o@el z7Y>5l?BqdBL@88+`#6ZUPayfUUy#g@mdt!An0dA`WU&PKc&%lfyjt$Btq6dv0h1t1 z8Lz@y;RG4dBwE8yR}m^om-WJ1RVKXE%3ylgw%i2V&YhO7wR5MpbEl;%yMCxap%iIr zssd$_+*cr*?UC7?I>42jaKH%HG29ks|)WIYxdJVf;ST-neDR9^`nxSq-HP@B4jW|;0^-#=||n$t)K)JMj*I-6_j&Fx5al_i90NDr(5GAKGpHP!gBiF`Q{Du0CM zK_q?+gSd1%TW?FJFJGLNEvOx#&T5@br|5}z)e}A` z%o{?U*s0|CcIICv%XMMW17MJ%j_hJh^y?!*Qt2a^KIE0#Pp{Zu2vtIsE9sgC;cW`A zB1Em-yF=!kc|W7PqYqazt|D3JBql8rMu7l;UT65afGVNOrNB(W_?tcy1sRBZ^48K-Kgt)JrReu$F^`IY6%r0_;zZL1nD;3LbJDKF+tV%Hm3FynhCapHe2iv zu10HOpYNDSE9z(D?0t0SkL$ANV3gtsnY2NQSFYb49-wlWf@Bzzppfzxsurdz;p&FI z!>?MQ1#;@7{n6Sy4 z;J|h85iwrIP5>k2?`yPdgLw?u(_ko^A=0pLJ%{LQs_o8!f+uDf1}2zi9F!#V27qD$ zi$a9GfOXPAy^#UVGDTt(Hd?;nDVww$(>d{Y5_=Ex*M&`5C}DU8MXA(YI2@yv$ZgC+ zyDv*-;7kfUp=}EzHk31pvxqMY>8`le2Ji#)5X&Gsnwd}Kot84&fr*siSfBzPhI+6P zw7jI7Cc6KuE9FHrYt${`T|^n5NhM1spSc@(NZ()(jb7Fp)$H6Bwrp!x7!k7ng&LYT z!ZQOY7x|d>#NV!TwiKxaci0(|URYRe;mh#A+5eR+(G=g+J&J)M<>^Jy-9i6N&Y;Nd z?qiD6iw)&neEfizJVb>qY&;wj1{aLPrkX{%5@fyCdjiNBZ@Y01mfsG_*MvF=^Htr}i!7%`@$+dNdwWQqzMqrS#RSaND_bwtsL8Sp-UJ` zOB+l=2w8WYEY-7JWs3n!2(0T$jQ7+M7^F_#mJDS%zT@{hZ$5nY_WjZ6f3ry4S%SjV{v!d=#B2O7UsaE}a;o;^O1CCMoidSzcN>^oFLR3d@)z@+> zaT{lTlq}uw#l>Sg*U*+28DIVI7hZ|n=%ZC&V z6jV6UFUJ}bAfoyBPr!WkY#|h5id|%F9-FE5;A=J*dO8AiHfNf2wC!i%hf1zU|HgAwMYP~wz{%B&;}4Ths32-_ zFD*7%@3)xH`z>*z3NIT#c%`0Z0z-mvtORA;gK%ODDDg-Eq~Omz`1kt<-=7`7J$t{i z-zQe!-Qn8$%bpM4m<+jn_*@fN{?X2_XGc5lzdwA_UynN9&Ps?F`sMlsgKn#ZfmLBs zO{iX}cT+lE^9}%tbqf4fzf2Hw#*E~$G-8Wh1!_FyP;GYzr4ojVH{K#Z$9^&QCILo3 zC4keJcW+aj?(?TFUamiVK}rHK;L-za$MVi4Yw7{my-;Ax9~F;Tc-fg6%D1DgbAiS2pGX>L)ClM!yFtZJ}yimFp3ql|3 zoohrebjoSvb>xUkH8Kd%9mF(Nw!K7ci5r7x^0gav0Gw{I6>~_@Xd5_hPiW)BYN@3W zwm6geu57x&;TEh{I1QTZx}FY_x6Sd$3m^DrY{FN4IdJce$ zGil+0^PZ#$>cvqsVV#;$NvL`G^IvzRq_@A|VyR}NIglK9xgiuz;EYyy#by3()1`r2 zNA}s2UKitk!09Z*EhK4Hj1R)R*mf%=h-_+iPPD=6MZ9__ZTZ#BqKQsz+mZwQW&u-{Y>auJ+M@DrWGjv3RX=6kJFLhlM|{f}Fo-dr@9; zNqNa7E`8e)Z_S30&uIoGVt#`Iv3%F{B6gS{jVWUE$mH4Wc)R!9L=`3-Xt)I#( zm9}-ZZTC?Z+y-tIeG6%qTo6d=f3Q5u4~@$2?uY3(%Hm--If}9&8s-M~C@;L;IX*o8 zdHQ%eG}-m1Z>?1-k1uhM)~v zfru`w=76htwlkl`Vym>V`TU9U=b#LnOw%HhgX3xGcY$mG6w$k9UYzcS_-Z|4;tH-RMfzG;WzuKPW|1OIr<(=w+-N(>y&wI7Igt#*AZ+pFO*PqsBu7F~IfJ-|@ z3(uZzJYN7gEYb|Q$E@+%)8{>cl>Ftc08(#TRdJ`}e~P^NhJ( zgri9L8R*+IHm+nckOQ5ND_v>Kfgjk&N_evQlxAp888r!V<$77_3hYBvb!3+IuO|w zF`+;%0NPR{{r9)4s_)$ZsZ3_iOe~_&-RMhoRdrpT%fNP;_(Sn4j5MZ`msK=O=~`u% zrmhb*EgG0;0TGkeK$-UawJeH_*HD*Y1On&xJ6{A6Ps&DM2NWw#R@Q}9P&eg=70iS7 zNB43Z6uXNe^osb!#SJ{)-iv2wh#!CDyx_~tsO-(=Dj%hxumqxNF&C}zRtP^RQVa~Y z(_D;H#e!>t{f;?5EIPz_*ppQogTaBYK2!JOhI;6;oud$=Q)?yV*Xdpg(@Ae(Ju-H$ zLo4kO=2R?F-JQUc&!l_SxqJ7kI^sB z^{`gEwE&+{+@2D`*nBF*2u-mxnBJ{?z#Y$%95K6MZ~|4t2G%fsgk?9 z(@{D)117|)O=isRDKo9#La#Y}m-aQ?AEzbRvhazE#Ln<)s@Pstlr~A$h%gkDUh2}` zzS^R3v45je`(RZuZ+Hzzzp;wumTDa2!ul2#6;MC8Wy=)fCBR<&x~iAmZbND_1`5N*>K5eoRdiIK4x(w*R) zjRFa@Hed?!cgoJF%h)O9>%6bx!APxRYwiaeLw@h~-jo%-kBe1yVK zXu_8sjYg8BI5g23T8;N6el}OjIqo|H!5seL9G(PNj^zJFx0paM66OaT$wka2RMZLF zVWS**DUv~#ti#J&f}EYqVPbi~AT;9ViwU5eO=TvGFmHkpKd)ejQs3NKh(>Y4%5+ay zpSJQdevQ1mx8{VK$@ib>TNxGslU}cu?^g2a=@#47#Y#7EkN2N*v6?N|?6;SnMB<+$ zbY{SfA4_2od7WvXj=WpkxR(N|tH$w4)sTuU`{w724p6ahF|?T!D*-szR6@iE#XvEa z`4#sE>81!MzYNxqZisP`^r%u9236tJUlZTZHGYS^(068mN?#l0qb%?y3w1+ZCSGRi zm#LcnWutt2=zLpr9qP!~4DZU0=C&Q$tID`OiMhqeAZF8XHcF&LkDgYnu0a|@K8VJT%ledc9K~}wLvYB%DYuW2Qdp7yhrPv#@s+oA z35i7i5ZW>aAfgm=%-Y%48r~AFl#A5;U0Flnt`DBf-C$7U>6z6=%t@&+I8;9su1mBT zy>q+*i19#a%6MP+`_-GHkV>RWa(7PBveX^w&{8E?LOj-?q8s zk!>tcGN31RL{S>o(?@8Mnj~#eH<$~d<8c_VL~T6cjYU~P7;_7L+R-GnE`~ZsM7aj2 zMi#(XFYFPJ;CeIi~ju2j>Mcv=I}JIOzIwc0ck z6>PWFQ#RAEX3$o;bSUYSS`4T6{vF@8j^rlaIams{V}H)uu`TQGeZu@aI;vS3mrlDj zH4EE+2KWKu{5?x>4t#s6)n2t~MZTX1TQJ2tZ);gLd&LqHMDA&o5_Y5e$l-ozD2ckL znd;SWGL$}&U`a2!Gg2!Z#9Fb1(WR!*o~(t>JD?#uD~CVs362(sIbVB5o{%&@hID_(l7Qj=WG1t3Bj32GBh6j<6xb5xwc3o!vnd zt3NRU40Me~(an|~M6Iq)D2MfyKBy9PfnWa2YJTdseVJZkQ!i7UA8FaESflX5l_i%d5r55Y787y#=$Cj9XqS2nSe7g2SYuRFbkwRp_*|t zFF!|+NLI4-2&X0-V7E#N;EO6W|L*0^R6s$&-AK;p*c5_n&^7*Vv(xr0GxBq=e1w)! z!XUmpVG|||;$_E}c?W}#v5<;b`^!tqOQ8m5lS&HLePvB!iD00Gcw>rtRa_QZpx1Wu z{`yMthJCSaC15Qw?QBO;^TJ$_Va;H;o!T2=8L08wXOeV?f%AaOSm*~Wsp-UgP?Akr ztpjK@4Sh(M}^EHD2W9qx&TSqs87F=Y91=b<{h0xkm3oTl(2sY#(guB{6z=65M=-|D3S%Pi8 z^*9vLdBI^^tngrpO5#b@;gyU_?0NHBxn8q5dg_`~V_h=>t|Yjr0t4HHuJ+GXwCsmJ ztFDeiOo0Q}z1)Oc^ogVbU`_e`#eih<<))3Ku*r{c4}oMXNYC-g(&+-N4U4wlyQN&Y z=ki`E6QaPiyAp>37oLH>y9MvZ#t`gel_QYJ%5;UYrGoMVfO`C%&W5E&_L<3$I@;$% zl-|d!ZXs`YNm!ql49UkzU6lECJCTi}&T~@P*l!_yfbg3KlKo}D`1$8o{9SAYg%X<% zhM`S24Jf2RDIdM$hind-SAHg#LW}3Y+MHc9Z4`(t(OgS!=&Q>v{s$up!+GrywVRxg zlB{9aZDD*v$`2Zl$>R3#N|w-ayW}yzUiaD(34_IRL!}-v^~a`$NVT*gAWM-R|8P*E z<{40iE&(Ncp_|j+WmJ_|09U!$8A^GJY%jb%)<*(C1Z|O?C+rN$kAv!1)2=I+ltzaj zniz{~F3vX7R7(wH8BnAZZU$UIYQ1SxlO`P(DePH?OurK5rxa5YXX34uZ+PI?g4lZG z${ucs!Bz`0n<_ETDm~~S+3;iyz7oO%r@RkpmAb-Je3s^xVl3OV2{bVkqfV3JTB%(* z7laX4V~EQ;z-ZmI_vQxP+ysOD6_^xI*6qN^2kc~Ig~%VUCoAmwp>z8ldzR$jSa{SG=$4A2_QXSJHDZ48UHt~c+g0ES%QTa zB1PB$N4>{Qx&T+bbeR{2O}fd=U>M8CO9*+nd8~qNERxAg=f>q#X31eZKA0ux@c8kD zSgU!iocwqp{3pDC28$#)oXLG!G?3p+A%nS4q zEDtO2isk<tl0?87?uyCFUzQ*rc0-{5pX1ZyaWLU#a08HgQRc(rL+SeYm^qloagQp|HL66nsF*yX6bt-t z|0p3>$-te7Oku{~rNHN+*~Sq+z8sUzS6ArN9u*g}C}kilfKOu9+$b&Dwk|Iy%?y7; zM-f8zqf|r-%*H7ho4u?)mrV%~sd#%BmDKo9(vpv1(DGToxdHD5oWI@@D=9T?)~4$cKsMcyIttQ?!WCfqIbl3`Ynx7(n|A8EHfQ zbWMq5xe}*t>Sb;baM`cko{1OAMum&=E9a$1mksJM4*ivP3y}P|k~#|u&p8L&b8R=w z=0WeYgp9UtmB=$Hyc24duiTrGXx819e;kr4gjQV)7DjVoRC4mKJ2o z`vb!jzf)OQYgP zp4IISjMEY3$uc3PY~8dt=Ke8q?%S}peP&?(EykG!k$AZISuhH3_&YK@ZL7Ch>eva6 zL`Sjdkco5L+V$^P&Gn6;^)Y$_s@Nl`K}4>Uqcxk?#TUbP8y-8C1Sb=lI7Dclv>UBN zCQ8I(4zowqDi+C}s~K_7z$j$(AeX~$CPF-G@CgY?(kfkHV2l|+9Y;}|1syQZIi;j| zA|(?AE^FMtWzA`IrnD_4q?bCLKh&|t3X%JT`ltl)Z;?YF`!Y!!X}vkKu4%_*^Ak`! zhzdU~vQcut$DR(xTF2%=tX8mTQDZ~NYc0E%L@C!;V(AVg=t3UeGz9e`ym+vYcjiOw zyG@?9BOk3^()dnG#X~kymcf8BlR(j8lysjmO>5-s&^AQT21-Jgd~x~1=F_L{PqRKN znCIID?zg5yxS=jwORHU|g|kQBk2~<$y);w^-wL&|7U3>&#M;6aB)x@)%&2(E&hDkp z5f<2f_foq*vIkqUO+!4s!XKLobaq&lpPmJmm{TeK@83SYew9a&&sP9z0r<}H5BWiC zZXAx1AmzdGM$-+@sfdI{Vv_^UO^*2e)M39l)qaB}U&z>0_DgwbP=2EPesEG^$`(^R zZA0Ra5AklP&5i&55Rl)L5<(<<#Df%ahO*=I*ZiKIE&BNVUJp zx`dY@EflSEUOkF55qu?q4VYm77S5Yp332cSWvBL)CUmb9#MK8z6$Xnq;kWIA;Z3%Q z8&W3)KN`wnlQx`Qot~k@$nY8#`s9{URZYt8DWw$r_{7lk)Io_cT@E4yJX?>RHX^9^rBv1CK z3#Fn1z7Qd6S%&B4DX(V!qS!y#nr1aISk|wZ( z8W_ZFH17X0#ixCqWssw$|Qnntcip_jDrfnTZp2mnN>#~J{P7Qo;rVYCIWUyae04h4Ya{C=C$1G%2 z8Af_Pt!nEcXpv^IXUAEYD`;Ntg;FGYHtK_1c@{_oAbb+n`^(!kSw7aPNMOY%=R%fMb49#J|Wv%fr6 zKH*~i&rKuNzQ+;ECoHyKnTxHhw+eAXB1QP;KOk2N|1W_b4&rIAkV%KMijZNL{|8=? z!{2RNMgnNbPpjn*4ByNO3BC(3>V~UvRFzrLM;; zE2A}i8xA>d_#{fh5;~a3<{^gMwuiJLL+G!DLUCBva4RN<|E4QAhh0@j@Q)!lhg>Dv zt}eWdTTK{}FYSIFWJLJzJ65fev2ym(l#kF(iZ9-Sz;$SBXRODKu(W01#&-}Hdp@L6 z!^<;e>SHHN%3A0Wy$c@*B^58SrTZGO!n8S=3P-2S50=y zPx$9@#|vVq5KK?z-hkJ{~@q;!Lur;r}|r#}H(4TthI)u%J)nBq2jp zvUw#m-_2$^jIArjllw}^z)dEWU$4m!?zBux<9dyr{mKH(u+0PB$uR8es@I5mi}3O& zAt&D%Kxbwo-sx#Qyh#hr?H2rRJ-jwz$Y-ZeUQ;=|H{PYoyqnGL;;!!%1G1Dkk}%8! z-zbq7(B8asneLA`^YQ41AKv~~9vv(wX(8c*4i`e1QN->DA|wR$WHu6m7CRv_KwAN1 z_PnS*7fleKDKnX(xv6H|mj%+6bKYJRvmn6lUEB&itr$k1d9 z6BcCSWx3-ET zu$H5vH-%>XCurJvYo&$ix~*mpYKLJIk`55FnGMnYR?A2-l#y8ECUa#Xn)djwfbwKc z*nM1a9p*IU8=C12MWLWRhP!aBV%Ts`u{6ab5mr|20xi296@~ZKbe^blh#eDhIwF=8 zF@=ifzv!-Ac(o00BD5#3Df+;I&rNgOU>r{|*g5Z0{^4xZOGra66KPkNNZU7%un#*e zsww>rc^GvstQL;%*w$Efb8T3cUV~isEHPl|=HM25R4LMMql=`1Kkw9=!k#|Mr5=+a zf#QPZM99*VCP(735*ABi@-CtRvNW?*<*_n4!v_?XaQsa4CSy+GQ@+6+NR>9TDi}Sv6a%Y6xNp>q1XJOJpsh zG~F*BJ!;T^urb{D;3^A8P61i&h5*8>&3hch=sIa>NU?df%d!Gb%zWS-R(knywT5?e zU@<~WY#;KbgU?n80m9`ur&o|L_aPLD7BP~hKB7iQeq;tI|?101v z5sAZi^N8Zscf8BocUUU$1swOzYY(2LR^f%AaA42HqlX@#H?;gZJvvUGj?YrP>DlS{ z2#YZ0kt$0EPoAEo1VPmD=@_bYua2P7G>eI&mx35V0mh6MPyFT7XB&XvAddz|*OAWo zVa}NF>brt0emHLMkim1Xh^fAA_lixsB5CE`tByWWLKhJKquOw0=*GYeiL>fc>%uk9Jtd}Uh%^Qk*aHHnz9FS zJ+ddM6EGl&n`y&mN@3GE_e=zg}IQ&Ci zDU5PK599PVc5|^J(NIdJ#{u7}x@_3n>ThsEfj0O^wT_NQJ;L#xTvHU3!A#`5_0}G| zXm5O%47`KDDNf8Pv86nNCr;v0im}D--?r1I z%JRx=eHFXxW$$EHNOLTok+>gN<)R|#kdbHjo$nny$HqH365n#y79z}6DnA0T{P7M~ z30gaqr$IS=$WiZZf5cHJ>pE?$@3e7Ft(3OixP@43-h+XYt++ecJf|C1ygbXv{ny_{EtU5J&ji+ALp^CwJES zma%mHwCtUKEhDvto!fKn$S-j?Xk^2GR(!h4^T~`nB6wd%{5u1hwuHHx#2r!ID280ZFZPLrz?yco2BVSU zvJhWOm8W~xx6WzQbCt~C}%znE>8Ynq{d?0F(kaI6OPz6#V8j>ZKDapzb z5L<@D@p=b)W1E%=RA2w~f!p9Zej!#GFw`a22J4)c2ogSyhXX$T@ ztzT9cuzY`PLJmde(do+fA0{2rEZu5T&zQ2AQITPMgNe>$lai}#-f|v32iV=kC`36& zn}#7W`MGBqYh{O+uwKNXJ>y4)iHVAazr|5|s5n`WZpw7(2GgMA61$FKYzaSeD-6Z^}SuZ;uiu;M10te?S(-J9!(HtPJ6umW1?6&-|tC4O3$)+`ZTobU5%B zNwHbyzJ%fA0Z?Lz)l!Q`;V0JJFDm>)8y0H%eh6|U9un^$*twaF5tyVN z3!WLh$I*Fp+i>L$F`qA7^T+N6^7!mKlvpMsVn|MyCW&j(-UaFVRuot?QZ2c0)#c^R zi^*hv_1-o|GMqK&@(Be-D1HU#Nh$zUP_n4Bxx%S)<YNI-=#QkCx*2c>i!{WS51^)VNcN&_7gQOZX-z)FJ)tQC=5b5XNTdGwXQC#}h? zJ^Jcsd^|BD_Dkgj?x%B~+;;bWt_NsH0Ek3O>m+a^U-tx7fho`-9Ehqgi^&cHw8DQ$ z@8|8GiBelgA-exCt5?gVwE%AC?t(P-9Wm{`$7xTj_4ZIRe5kyh5#c5^+iz(W1-_&O zW&vz%1@FPU4q$!a1{t)gcq?OonDq`r6=8UqiQk6bp^^N<1BCkybQ@+8(&uh3kbF%jKvPdWJh8T0iK0LNfgOo*J2=)J2h>*s5jz8;ULdJ zgNKEqz6rnfRVU3f*5)eo@t}aQu+j~gQ4ipqOICj+r-5$XPwkZ?k~@dY*{W<)S~H2{ zQ=Nj>7E6#k!Mk@jqHiN4mp4yJKPMn7_53Rn6 zt{zNb4C|B**dVy*Djbqx>ngIE?Mthm?@Nl}_N5L*t!og5ZSeva=j>2TWFEM?D?pF9 zLj#&ACL_m2OC#z61eqSCvwSoG0a1Cd7+#+&hu54J+Mr!rIp9xFnxy=3uo=`4aYw#} zCwOslz<8Y--tq>Vn9*{M@s>AGiWLSkUiSuD;%j)~9P;MwZUzEwX_vys&9AE>WgBE= z`r#%%-K4WKA?$bgo{+C4REZOpCr~axh)4TGiGsBil0=YE2{9AM55>hhl+u9GGHB*F zN%t|%AccM6q+E2JsPIFRHa9;B5k2HhGG_Q7Z%I|6q9bUb&d4;9kXJV?OaMDtHJaen zk1xE^S7Rrj#W0_(55O&)<28BXBO)Tdl^Ww3n|_2OnC)FcH;J}k^FenHLp#D*7c=7= z*?_1^C_WmCXj2yRT4f4QWH<7<8(Ou#G16BR;87>->hf~ATQAn&#VSrcXp%Oaa^yOi zt+a~?8aoH^18QmIgJGVjQrv5^)*&H7{DA2iY*S&7yD{;AR=(6u79~K|wP&~xv6lDR zAPxs16a74!W6r8rrPeWTKgPmpOAcwvl{(92)Gz}Y!*An#=NQmRBXou#hLkD3btZ!L zdQyyQqzRHI$vE`Fc+WiStzlk;m9~m+0^k_xZ&L+eWjjn7@;7vH+p-%_Wy^NB0j77~ zkFg;E+hHOi@sW=LJMhI&;0nTBh-v=HxxSF*A?OHUrY?ls!6ND!8ZBdd!iOYAmCrr7 zN$~wkNE|b9#EqB>5*+>0pb*C(6Dl~e!snq6YVT<3dn%-5J%cblsm5cD!J;5`H7BT< zDi>pwR3LaFrrubEHp3dKQ-#!f5GBP;dTWD~lk(J@Smt)#o1D7`Z zJTdZ9F6v7R1KFfwvd&=cT#_<(*Q7jc`MSctaP?l^#E?1H_D)E6*i3dD7z;)Sbb(rp zWS6+;1VVA7YDO~th5+KQ2MMQCSDM*fY7Ew?lhs&GsAYd*1%J&X;?wW9>RtKA+j7=q zw?F>!$zu0^!Ah59bYMht(KLIQAP1GjkS4Vx zUKiK^dv-$_r=&MRY-rjwSyaF{vvMR>bQF_r3E~T%RYcc%i2cfDd%;?4%@CM$WA3hn zi9G~qh`tr{Cuzj#v|hVUpZ>JPGX}iF`k9Bp;9w$uX(ZQStWMU?Bl{e~b6XQ;ZHCmy z%hBkuq~f|5xE}_CgbO@z>tG1;VvRF>}lqYqB@f>l{K>>gBuh zch6qDc=_h9?jp0?4FWhFAAL8zu6Z4IJf z`}5V(H$pJe5fM0=B>*u}oE3Eadg$`l_3bc4eJH!f2F!y2`Yd+!2NK%s0DQL8&X9T< zwZM*Gy{g+_8a}`YCPqq`lfV^KIoq=pgU^#0B#t8?Gkk;js@1uCbtE~f#`xgqu~|#V z``5-~oJ_K5BhWcc=)*66J%95dj}~pa&JGX1eEBl`@?^NGFAtAKqtRjW`7$zqkw519 z7}Vah`F!)??#?fZtuLezbd^XCqhJ2|o^My8X~R284k;ovO9H^_W!Bdplyi&DqOWsN zVV8mN<1~p>z5AHs+(titAlOgWM^P-I70bpLO8I3g0uYla97q<#`=!t%!2rQx(L-l& z+rG5Yz(wNtpn(iw{C8q@78$TmI~0gBEV_l)J(;6&Gx&qDA=Wt`U_rxm;7#OM11T$; zo(Q+luA`N&*7Ru+G?#O85TD~9Mu=I<8Zk$yj=sdu7=qUr0BZnI7Na!6V{A>nyU7ef zpvo4`LI4R+0#m;ics-~$z&}S|`M;Xa-K9jaI;)Au_jD!d4bXu=y5a;o@%BnEGER(C ztBo|&-QmMgwW{2}O&S!9=PesH-L_xO9FYm!zGH&Xi+Wucx|^d3hSQjsNY}4O@}Sdg zT|&(QYDOJBD5*Xg2Oy`?*NZa{!Tt7tjtk47=7COui{7nQI#j_95^HkdZMGoFJXt*; z0duEkdCRG?$ znOR0DLNZb%6W=dS_~A9FZje=}-G5f5j{9DZtKJT-cnApl!6v>h-hJp=VsczQ2PHX8 zbx)TCl9|@>NSAX$PF$Vl?O`uv&kiQs609-qJ-f&xccvHke^NExkp~zi7|sPO-`poX zVIMmNU`BqFDs|qaZP@?e^QF94C0#GbCf^xrkDAjD!DvKr6N%)|rXV(gA(}TxmXKAK zfBD0tyAylbe>f^)X+}k47!}bV3NQ=sg2rTB##V%3SJfVC?o6+sLqGPtcD6sId3P6{ zT*}bLc!d_Vyfxm%u8M2CiC+)c@H&N*<~RJ;jf!unfTYelj>;sQhUC#BI{{W&ZU7`@7WLw2xeW$wNL`OXik>nJ^ixxg&=HD88q-;0v2j43cw^Sl=l6Cnms zsA!vdA!I>fnTuqx+Cs9!Vu@>m;oFQ@`V!mV{^YFyBSiNkukR#YP zIM96GVo)DFGErH5BUtCK3-rYFkNNuh&l$fbt=V2N|7RYJqr;Q0mC?R06;l4rY*BnJ zS9Kn3>Sg?u$TjlSFRx!E5yXj%Ru>@l)b12um-f&58OExsHZ( zOCZO;42lm+F*6(;bqk_sos=x9Dy~=qegkL@6h}+`P0lX!msvAgu&bgOT$QtW)vP{o zuAb8lc%P)(g)PySv7fhh(kF<|BJBV zK>?WS?a?C!Lx_ozEkRZICkIsXAP&p5rrqvn5U#LGFcZFhg>PN36svmPl)p0$-h1O{ zXZc;1j4j=&8|oLs?J5E?_k(W!N_Y$RXD8K*?}|66gy3kNm*Q7i;SC*2s1Ge$GHj5A z<|e%LB!htU;S-(}>s(0sc;EISK$R~tY%~3k;a*X~z)SJ34zk5d#4kQDLtccxaeZV` zjIzO3u~99V8V{Po$js83t(W|a$A|IW<8<$Fa(J0y9rFtjM_^h;6su{fLe)zIK8PGi zeBx*vfVDKFK)f9c0kLIXTGAazlx^$b5?^Bmy^%x*Lfn}99^Mv|s3guFFtGnsi*1N| z$2&1d+j8qfgs9&`3!Hyoo=+-?sw)@B1yY18TU4`;O1LVw0GZ|kVtBi z45gR*b!(Alsht7GfZ?n2ckh4v>Bsly&!4^d<=F>o(W#?tB%2xn)dp=ET(|yZwW>(O z_Olhu@(-(m{SX1B7P#|k9Xj}6k`qVa?U-o?VIU2}>@p~$5nnUF!kb>psZ-Ms6Iw#Z z*SyHS_&5{a!EOMf4;hU*oZa^YtcdBprzV)-Fi?6#A4K3PWzszoMj^wb!PKmQKy{_If9lKn5^sU3DJs70HcoCKZ%de^S&Z zV%I8RztGGXoj`%CWvU8v6N5@xpMDN@JBFgfqKj5dD9rVHSWQ3yL4uM}8ucbEC_uLA z=z?9AmDKiC@d z)jD42Lj$tY%S!b?RS?(mW8bu3kbp}T*6{3tB&%I8UurjS%&V=K2;JI|UBdQBeyI@} z2Sb$*3P{){TI2FM=quoP@(J-TXRSbD>6&nbzB@I}8X+km1(24nz2Hmu4UAI@X?6p=;zRkEUj9)e0&uv+NeOvOx3Z9u z<4UDmWi6w}Ma4z4T5ehZNqI^oec;Tx=FsBkh^!4I;+5Aija7Bg4t!|YuS{_i6(Q!= z)|qIowj*%8l*T7^O@sF_ME1!xE}4=BhWTXs9qB?sZ~kv&{6ix#l0l3F{DcMb6$s`l zog<0=)`^k$g9{eJRw_zjR3?BPL0%AEap-^#L^sq5v)l;5u3Mw)13PpJV56rIaQ>~7pJBR^^3R`nKi{DcVm~hr zqG+lMGW-{;C_&W#isI&Ube1=#)nI&A8{_G zm=wUpaApLQDdZQ$ACxmxZA}9@b=CxOo6v+f%azvYf_F>ZR|n(CYA`;@=^Ii=*tu%_ zvuS%;!9T0B6eF;oEFcDbUhrP)WU@Gc+(MA@xqH5X`%C)XH+;kt=~TmCmm^z#+VW*S z<414Iw`qg{`~?fxoK%xadWZ690aV6n0?7%($e&_KtFr|1u&8xy_`<9nJyP%a^BG0+ zT$bxF^ra#o2d0wY`zXB7&(Q>QHD@}5@ed^y(3x7~UO9lL!5zyE^2KCA2Rg3r7BW@L zDgXExxX9Lz)Y;CBq2b4by{O!3YX}1ds`puScHOoNdS(KAR%R zIK$oW;TFiM1$yjQ4=|;;9<-3~ng6=sziwc45Q{D__06?h_3s{)Q!5t9@cN*6951L< za>xOV|H+<)tJS(1#K*{voN5a`1PIz*K#w@0K=T$l18_~?gG6h2h zjCA_o>+c!Na(F#0@A5H3wmD%)G$29e2O`FJTmvpE?d8i-*d z21UZ(@?X4a@_3mXZqnvtJmvVN#2!o7nFd=F2fQZ^TL<~_aYM<*#fPwUT1~}=GIM+Q z<^llH4Gfqg*SxzYW~^hmqH7wCbWWC`MoU0BuO*azBA>Bx*}3Axe(@9M0#)D=77JHkmWNcK6DBUfp)U9pclU5n=&0CZ03I5Pd12*DP!y@* zlm{A*K!5LeP2Oj0U%+*A3?oKpvn5DqV?+sUwuK4p+_BWk)-L>EcL_Y&5EU@Ok9vJU zuC5si%trb<52=RmF}He8mEXD(0>GVt)kvBN80qH~m!$VQ>`IA_^y9-(YKceqsYd}> z&9@u!`U!AboYa$=@2_mV z;WUw8ML2CUajHuaS7`}ViK!xhpga1o798&%J&LN$)djz0@2hBryqt48g33?8Ki`On z3ytIoG@Zf}-+WKk(^yaheKn487a&RO`^)QBe0C-S2I2Q2#f5SF0jyUEk#3|rQOYSm zTuq}_Q5L<9k^=@&*7qX*SCOy+1FM#6mkYF{iFpVUqC=Au8#*?^grVhC2q?RWrE=f~ zCsqN0abca7+V#v)cf^GOv?>iCSm^>+DUfBp7#gf(%-J~3#GbYX{NP{+2w z+})j?rSO9gQ3*hh@;~FV{XC~ucXusk*P6jmA{xr7z_)@V)V%QctEo}FIYnknB<+A- zfIH47$gU9%ZQ+AS9=p|zfuP80-(&Z_po)EP*1a3xtfH3*mZ3L*8P!oS%%Fg-*yhua zMu$S+yyNuKg)3dAn{<}W^V4zqG(AecJ4@FtfWXOF>a|_Us|$xjAOoEDU)whaI7=*1 z7saRIqKNyr$>(ra<9DO8)b5y{iREC7-Sg8ympuEksj`-3=xUM*k@ zxs(8nA-tH@x8O@R!ct|v#K1`142rCiaC|m88?yi16w8JqIEjtnCJlii*Q+)7fY>~4 zDna!mKYH}2H9BZdTdRYXI_TrEk+KH1&u(F$31fW}M{cf}MRkk>ufdfgM6b6;_X=C13ZRMXI3U<>t4CyvY3P$pQ_19yu0+{rZ`Y@4aK%14j zh@jSd898Lmiq>2CB;5}&0){-vQ7L-d8c8(5bilgmsDxi0e~?UMx4;Y`{%S;UXE6hI z-_L)^2o-^~b(&cVth|B`Y+IXY^gHLkAXT@bl0H@Qh~%YsbDx@gg!sAFTGkm>yv38g&v)-oBCjfkyOCo&Kxg^!u<^t3g5XQzDQ&xD@Kj@v0h7$9^w zQRrZuTG7^?KoW|n)p>8+DY6T~5OeM*a3Q=;?pMRt;L4$-C9Q!IQL853!j{XImk|4X zMUepB?Z7lypHQ6BmD%+!trbX-#S%F27uDrbg8HSAjA{$PhN|1>HKohMJDzm#LKMab zoZKs-)Ww>B*U<%L`?5=eSXbTNsfoX#%kA|m-TG9t5gk?F1yLq%I@sl5>dV{=H&*kU+Obx|3a1+LrTM1`bKvr zauBWCwwui`$rBvG>XQ116GwulIE46Osx5uOLw~wEEquC#t6rfy-(C-f zPeoe^0iA8l55x(@#G0*|SZ@6A#gBhI|M>R&{j(R3&Ao$NPkKzGw7woJ{ghHG z7!SqN%o}^GjX3}SwCBt9fSr)${u(T(Z`9)rJYFAwBQ@%5@U42hA(T2J+}NRZCYUGu zskF?pfa0v>^3lJG(zvtnNQUn^>b;hVZnj=ZQKakQ2Rpx{fR}B`iXHHf6*9cr0x~dq zv#NI^Q+PWL3_RIF90DIx^*aM7I{sl4R@{pb{mLRVyU-VV=()WqF3H(`*2UHtu=#px zvQHBnEg=`)Bpd@PvZtEf+LmS6R)JR@2qkiOguJ)LuI*|w0}F!9K|UTOC}1o?m#;!x zzM%CocP?2V;i{D$B5m?|FrL&(!o^VuIA4rFPzs_^Q#Lyco2~FkEkPW%M5}*#Y z^b69wVET*wjk*PG)KZFb+O?9MHpLdE@31IVrA0jhIt`k43ny|ae)JeA*t?hM{#fXE z`nJyEFl;|A>5vsX1({(YAeB@fSDY32-ogh5rL!##@ABiX}xp6JCcvu9U5lBaxmi-JAoGMa#(;4)dDjiTN5)@JC@!$ zAkb}+Llh#9#D3_2G1FGTQPy$_vNRz$oq-Uk`BH+1a+#OH@7{r`CB@RYofQp>5Zy(Y zR3+zSyy3T&DXe>wWLC!TCYfLpA;H0Ra1zOcVB?w)U|*bcfOdyuRvo=2lkT9uGx1HJ z;&k^@V-*L{o?H`eIBqYK)Y0!15a(Y^7)f}P@soSRmvy7Wv-_LVv6RUt?Sk_yIHDix znolx%S$*b+aK0z@a*y2Qhmjh6=Xl2UcrGzqM`bSNLuP06W((q+KGi(8b$Ar$&>rJo z1;9Ore0p>&jE!F!nAU}XnGxOJMStorWM&V*YXEp=3iRQsvSxM5UuF;^Nj}_*BeMm3 z1dhpe-%yU`>{ZHo5&{Twj4>FRj^LjokZU-r>`Bqk<~T*;QE3O}8MLk@E2L+Fv2ZsI z4RhH5z#)snCq2PRfbDS?w83j}pUV5(b8Hbn=AePY{C2#i7EBL|B_zTsl`;cMIL44Y zHo-2H4GE~iI&2G=G`y1Z%^o7zylAxs-k8K@cf^vBn0l(?mEWhTRAb|e-GlPVr>k&X zQcnRW2%+cfwi|qJVbBtJgHgY*G`Ve8;^TqKpUFV9iarC&CB8(cI5p@%*1d?9c@t_5 z?(ZjF?y(}kp%y%!IDq z(j{xdpn&>V8CB+6KCAS+$`*pGgDUZ$PR9-~L)5`q+lm%!n}*Mep1)mj#TzSpp%y<* z6iu+$aPwl)G5*#XH-m9I*q$g>F@1PHh4XooE`_6nI_Ywsk`HB&wM4kU{DNeC{` zxv84|XO$rTfw6NeZ6jCXT`Dhi9Ew2`iaJH!?cbYzb)=k+l#R*Aiuo;Ed_?@oem*^y zsf0>M7#f`muex)P=r7bVpDxcto*g5!gC0#uJ6Lf-p0c|;Bg7+GPGKa?1V<3M~IPKzXkoC;PDPt1=qC1=ks3&xiCktyZSvTDZBi?^@QL6#DpN4!T2MCR9I^eV}y zUkqr7{odVC3Ezy*Onj+8=N7l-)bMf53}4jXHktc^3Jn}4LeI3|^_1sGV63$otGUKz ztjl@LThln3JSg4PUnfBW28Y1R)c3v1)BP@sinis)A782*Mn)Otg*ss9$Hjp-Z$fwG?|F2a3`fuf6tx{@nCi6MI1KXR}kySYT z3`)#iKVYH&)3K|*`CC4C_3|TMbR7Gy0BtYWG9*+t9TdN)dV-nL1&8A!a4^F2TQ2eS zKt3Hl!P`9^B;jEK$wK7DJGr9lgGcpG>1upN(R{^$?9{OM?Q9E%CAhsl&wMj{7RN6@bxtZ5R4XI96a~24NDS0=jF5F~4Ge4IMEH(n- zgkVVgwXx9|U*w!hUg|zJB}5 zkNyWlOda;~=TP2lz0ZQs8d*(P9;*sS8>S(Yv|n z*3?4`TOfw5PYgpJ4-m*!+4oj3S78!t4Fu4fBJH8%6@SKvKYjXhhdegYi^C(Og~06$ z=V}o3QhsckMfs`yPX;dRV-$pbS(LNI-5otZ#LX3*e1ttvv&Ov{4AOmb66azi=du|p z6Gh?6tKyPD-PjC_E?$1*C-nmp0)kk21HjNBAWUMQKpNOo{o>d*lg0&j3J|<=lW3QU z_?L?Kr&bGT@WWfdLti>KaR}UmBh1=OIIoiA89}dPyeq!}M<8DPpVxNU4=4T83Ldcu@*S7$p;DIUhYD0I>UT7MW9)t*Z*YohtHj~4+?#&Gn4t^?PZ6u&)DZ?x?1M9MVPKbS*RyL(FjjGr+3;dD zztO>xW#W}cn_M&!UrGWC2d=4SB5qaMnZH6ewfi4XH!7mD1Y>)87kpt zVrfzzc(#6C+lD!^R}rE2p&M&qKeLY=x6y|b3<#`4P(a3I7u~odCxnn}T$BXrAs#YO zkQs%XC{P%W(>oW98|O`BBSOH_rY5_>o!&I$m2RbhR%ULnX|`oUe{!F=pg$&!lSrZv z;2DECc8%P*AzsI#)hbDkW;c|f&fiw6-za23fc>yqDZgu%10c}S9f|jWn3gvCrK9#; zF%DkRH0)M_Gz1NX(8_%J*}f<9JbEHuzF>UkSWR+}Cr?MJ)$8K=!YlC z&Bagb9o_Rs29~K-#h=)*n zA|TsH@Y+tz~mS!;t>;ZomKC`_X4^cf5$r=UgO}! z$?6)q?#lKmY7dWek}rQ?%Ej5+MLx(?9#;c)P$vJ;9Rb4o3o{ zlF2!k?w=2Drtvx7obzRQRkk8;+A0FUpqv4 zkya~UBnj>AkM4oV%DkO2vK(>}{gOjH(1sY4&VqzTX{6X`gT{AoDX8H?St6#HgYU{l z_NyIv1UvY&){1CJjOtYyB=?dy74mwsLZDg4^6KTWNnI3U5w$a~ssSp_;_q+z9O^Onl%Zl60qD9ykF6U*jwNidjnm z#%oNB=^x1O5r~+jj?W;({fT3Z%N`(gb@5Uqnp8>QmvY5^IvT_-Aye&=bd*eH{F+|F z(`qBB3Q&vM^Q5>WTwn~0 zt+2<0ZtfQ-^v?}mq2x6n4m0HSK`%CPFWMh-Zu97P#JNkuGK=$) z0tG2B;;f`m#6f^_kEdso_H=eIKd8_qjQ?E2&jL~5Rqk&yzn-sVsLqzD9b3b%z%@^s z3!}d)|J7R9Nd=6>0<{gq_wMb>Hy9uqClE50@|LkZ ztq$D6gYpc=5%08O$+i!{<~X0>Me-woCG$QK{6hCCc7F_4_Pzt@$zEQ({q@aGSkJ<7 zsceo~?EdDjDe;eJP8w_3{O5N&phW`-ruO8wG=7e9Xx#zHr8!O(&rNoErXF61T~MIM zPp5Cb8!$x{{(jP<&p`f}Df9CC!aJ7gXY&7ab3pQ28vh6sQ#REtDa%rSQ`ivQ)^gB_ zey)Dwc$_zd&i0Ur*#m3_rUV@`a0pK-BKH**POD7^ZocyTGH&vf#Og+1$Rkh2NB&ic zJg6S=HQ!wU10VnU-H#jqfBx{JNN?J~drh&_$tn0r8Mxnfm{d7Qv3^Pc+t4)UpVVu^sYZfC2qySYiKL_ zp{)dHyC**s^AHx!A=J(h&4GbFfQ?vfg-O8t>B=DCK^)bUx5FA&<06Nm2Y?%A0h`_h zYytqR*Rk1Q9rYru4m5T~Rx8~B@QW_ji4dUs98o{{32;P^K<5;N$jTEvM45URCJX7{ z2GhEERAz@hG>~|GAdTCh3%-V{9<%(=GGcuT9du|%aUgi*_6%2oN>Ye3IAhQ7*7^#r z%8e<_`Y3z*6XjUuRZ@z8@H?b^?3Z2cBp%xB3s#{g5;9`#O>7&cqks((U)<75swe2$ z?=oK)0d{H0h|J(u#(fe@ly;~H!Py}*3fKuhM{$KwEiui_=q1^01i|m|@)5wkkPvw$&1R0km>RsBB2!wR?7L z3`~Ij9vGA>!I+Om?(X(uLlJ=TeejDYD=Lr+gnfNKzPk%mF0KQWK}w_3cM4Owpplz0 zh)@5AhHw=Wp&&fV`m@}x=iUvQqi4xZs#FIr2iNac)?li}|9o75wj8Vh$H$t*D%SsI=1SY>|M_f{*>{(D zzcSM&Vf9w)Xh6c`gagagX)*3q9;fKz6HtSJC5I^SjLN|e3b-;dYn}8N+;6ojuXrz) zkO-Gwr3=s;sRI7BSF0}|ziSwfvjDlOG=ky4T!J}L>J2}jzVkHuWy4|W7l=d@YdUGI zlQx_+Q{$kclyJ4RvROlJEWtpH*^}KEv>kXe+jHROwF@{~HgY$NYL24|qsoD}@W;6h z5ZBq)Xzk=-mpgC-erkUJ8cfpD4G{JYhc{5DX(%zes^4k8xYaWG``kAIG;vzk{X;q{ z>cckaJW@;@DW;ATWu4L!)14cF7nM?*rmj<~HxU?yYbQWJC{>5QAUPR;wVQ4qLq0iV z!_qNt*znJ=>c7;l|K`8skmaxcMlMGFe}wUq6a7)XzH4y$r0!RO;B;Tql}=?VRVvnz zrYK=bbg{a2%~gJ&q5uWjZdjgLN#ptL(lk3Z@{H$gAm6y_9hUA&@mymPQr_s}&Wrvi z!P~Lx#2b6RWw5sXRbBKX5D2)z-QD5Ui@e|-JsKOr*y;W_i?{lz^?JD(=UiViJ4{;4 zduWonF13W{O{Y(D={$;{-A~PG5*dq1zp)#88~A$Y{Y~_;dZ;JhYIV*}fZ;zySR;-& zs~Dwr>Uv%=GC;WBiHBDXuVUgJ5sG0toNel6Rp-&HUNz04DC;P7?U8w(#x<0<7M2IU zqD*yR9Mw)cXF0$zxCEGpSXt6k!)uO0*tbV;wuCX@}3JbGfikCMJF%H>>d-nMOuw!08*bw9HB zl)fX9Sd{|DLsjTH8pfe;m@3KNz;eYlOi9blPMDeK>$d}cGR0b%NEv4!dj|_$Mmr7- z3twE535aY&>XEq85*%?>$m2>7Igy|Q1JI>tVc(#BF_0&QEt~eb3-yb~5j_yzVAF3*~Y` z{p&zAx)*}pKWrty2)%bHpu(252s2lv%n+=dQ;#6Pwnp2=v~Am*wr$(CZQHhO+qP}n z#+lrkoL_M2wcaX~)XuJNt=$VifLMf&i(||`cSC-+h|)V8|9m{Uj7iv03BEKjha|Kx zf4gUnsIf!fgW6o*klH4$3PiEL@Zm`olA-yaE8yHD!>q6NnloaUTk6Mx>_5SB0y#3R znvMftZ*caFf+B9jG>`D8if%Xto#`uaTzYjy&5IL-*Lr?7Wf9Cyxdfvt_qP^-Pq_>> zNfD{X%q4M}b4jl;Wm(_Kw22bz;#w1xFR8N%nqXsY^&B=P?>WN`duutQcR&O<46f;W zqAA(`r2EQ6aHF`CJ~^2XpkAQ7P~BKB)q)=@X9Esp-(9`CQZ<#u64M+-6ABN%5?%^l z^Fv2?4x{#=!Ge!nDoZF&!y(p3(~o-!aKc;msWth#b^p;obp)ouXD?rS4O$$6C=`+& zdq6nr7|!&NrU=XNyQy&4OI z_YfE1kUlwp1i51Y03zu~#8~3WkYSH$et!`BDb}gaa#oz?E9-hP zc`(xaLdq0Cib%8=pcHvwyJO22+)Rie0zBs^<(Xo9!_SrjC;GFg3c}Vn-kuFhK7ygZ zNG{g{D<_jZxxT>qdjG2mwJXe~fp}2_6Y8?YJhm+{x}If3oLgbRo+out7;o!L9o(k0 zk47#t(yJy=rYkskvLpR=R{}L#61!&Onmk$stJ(_E{qDlw2Yf_jaEo0c)sYk_4T$b8 zk?~71=H~d>ptw3dfEIO8lyHl**K8DLw`#3%9dzbt^>ub9@+G2&dc5QV@?bAep&)gq zJlsi_@dk*FLl|S?U>YUMyxeGuKb+}<_h7gKz zf?^$E zBMm5Gj~$uapxqs-Gg?lwD>x6(=Uh&-Sttk`dwhgwJ_$cB_s>*tiqCfa^{%+yDEGNE zR#G!@ezdsQ@SQ3Ig=pb!tVYrmQk@hPguDw)hr~9kf#w?|3QtAjf66#5jIGFAt9Q3# zLKTpf3&rtFZE%N@o*nO300)l3l|mfkHXj-uFB+TSt>e}=Lm5tJ1)a-C&kOS7Sm_37 zG1+F@%qW}xipbl<-{(7+xnc-5N++as0rsp<;KPh-#5gcV7MNOVrlMgPiMkeG2u+10 z@Y_Ag9y`B0zYgPOrwMP?G!6;^GW`ZwX{pZR;^d#L@9gqk(M(2ml-a(px3-3+02xs< zjOJH|%jn1t-oi&F*5VEAO7d6bz}bNkXdE^4Z8lXVs9|VtHoV0^yx`)MYwyYN5H$vo zUZAnh+r_c82%VxcKpp0Q)z83*2mw+(ynOsbdr0tCftcvB-@RuiQAE;gedhv$L&3yo8Flf;}dbws}7md@(YRH3+b{ z-MeS)JuAvdo=|_|8%O`nEtdDNdsHti9mPO;BD_!{CBnN2nbeGlnk|5I87fEKv8IKx zicU+56)QqfvYMffJX6V1$zklj>xAl~U3YPurEAp3SrKWLmVg|~lh^ICYfT!zs*ujM z-Z6a#I>ZrxQXDr{-RCikyQ37o&@d*HtW?P~Q}o=Cd)(T0xQ|Ch0zW}bZ42OjHJ6h*D{+%yp>wmt74`%qj}ROZEO1Xw*39m27v^Q#>;7=IQ0OO z6uKGH1xorIWOq=ZcU|i|Oc?|&4P?bdTplYA=^fvMDqFrjfJ5)ULE4oNMSE6%DZB!R4}5wy68q z5Eo{mSAX3k`S=0l+`UC=Oyxg^(qV+_SNM>u%JZK|{gD-Bgn*#tQENu@*fKJXmOdRr zw#(&IH!caoK}hfyIte8o@T6JX3a2Pzot&e?c_*%kx7fpThA;O4+t07r`6qI$(kpxO zagop?*|y}KILlaR^*A>+?;_(C4chnXpnL))K7@GGOqXX~vohePR;q1qJ-*)yg^Ri) zHi4w_Ks)(T%Cl9Vq~auL$ZbMoPZa{s6mkgxck0c>3z#4*IcQ7zR{dP4 zb+Z-JB3o>5cvRs=uxaz8gw_h2p{+)^`(c9^Y`6qmo9@g;qqSrZ*p}SoUWbbYQCXa(&GhbBN)ax=UyIY41-*WcW#zQrRNTbL-?x&+m#V zA81K#{k?xQBcj?rWs-y>7Zt&MlukI#&2B=4r6l5KHE;RUGQzd6fZ1Kgi-(n4Y zeC364^G=h9-P*r)?4Z@7h-KN!L4o^p4hJJj&7QzPI2e$DQvk27T^WXX)NY-#Jlb`| zjb$Mv25hkE#LDfs$6Atl#*%{F1y8`^VhZJt6n@+Vb? zga9Btx57v@Ts*LNc+Fn-&EB5mERx91@|8BjS{^x6Rl&1Q!9rf3v;hgEb)_-BfWv6j zUXDZYe;&X+&5ohFYin%|85};u44hZZ+h*6lP+6A9SBr8rWz>)HVuj3! zMwI9^-Z%=mc;^JC3By0_7OS`%2lg;uX~sZ8^22n7F8Ht{`Sej>UbT81pcPaKG>rln zl=IlrDY{Pzc}QwT_Umw$*7%ukzFv^7ukHZCZed(3i&E^13I6_Vfo33>Ho;r@1~9}- zVJ-YdU~OS7!=;{coNsq%I`TSK>`?5PWluV|yOW#1oj&{h{MgwRM!F#EOy(h-^%5UA zJit)we!xk$OzY%9fInm~Msq5XbU#g4cXpFS<-x)&@G2P)u%HG}7IFuSKNG!f8Cx6F zCTip=YW_t|hfJ06h zcs4u~2;9Ln5ML(%K!J%a3%J;JUdsAnG+5H~?P#WZBNCq#27u~)q%P9L zIU}wS*2%XG-i3)dJX5J)s+Bvk1FAWGDoBjk5E6+`FD>3I(S(~%rsOvvwCQj=_K?WJC~apwnk=*AGf3xeE)#p|wiSG9 z?ElQ)7laG`6f}{nPAfhD1Lhg&?IlhFXhkli9)&zTzAq<(ld*KWJsgvT2JJ_qEGJJ6 zZcbU)Leo1|j`A~LXjiWZgX82l#a}F?HG*!LF^S}`#I7$MJiqtT&^YNuw3Hn)e-To> zdc_q?4Btxw9s_v&yL^IEUda*WZOW~_5;X@W$ABOa{^W4($VyBt!tDwNZ{lZNGM|u1800yUZjjdr{yXC^!m;L1 zVJ!@@y^0XT_mGGcEMQ)T$dS}Xo>W|etxOu-j}?&can7u9QW)*{{xcgdq$)VY{&FVY zoGVyWt2r|y7e`3n0xFXNBdEeD0pC5NH2j%#0RTM2+fq$gOQ_X}HP{HDU@uE@w)>}E z-!Xy$ox0?>7~WJT+7+~l*BfRg-zf_cbi#aMH@*J+HAM*E%sB00y2Nz^3Rfbe-CA$^>Ah@719k@>8;` z9?38vY6X0P=+jvhTw=)+1vK5A_{AjWj%s2v&d_9(VD_d8916MezrEwJ+EvD5EX9uJ zTmFiurAvU{b}=69TeH#Z1_0%!MRM_qG2{7u9)V>+pG1JLoQIiuGX3A$an=r^fs$;0 zVx&y&oX|z_G-amLaxy>F`H$E4_ik z!~hh!=b`Rn-vf;kF*Nj}kw+%*mL!8Wq9?L*E*6F?-x&d}=ErFQ47+7fSq4wcC8*>h zi}v=&1#$0@`yz$ka>}*J@dT^Auq-*R{sxWgg&Xy3k*HNcJ5G>ISQfs3@1NkSb2y(y zopAyC^7Lzeb{obg?1F8ANB_fdpVD9CIZU>=lNZFtAzJ<^n3Q!yG%i>@hq=*9sa%O_ z;OV2q{Wu>mrg$YmLfyaMNKp`W9VYP443%84L#phOLQN1ahaJzN*w1_&>t`r{!2Y1L z1GclBoZtd@jwxB*^mmZGy;CvYnOH`^-)3T0|?K1w<`9pw|L=7XD974!ldek3#* zbqdT-Lviguxxjlm3ghL^X)^Il=jay;aMFMe^H)hEu4SGYN)R`TC1^IuLPlUTs}sws z{1DPkvbmDnQOw<;gwU(aw!>FMGH13B-Uf|o2SHkW^e3VXrX|E-|9(*`atwg?l0jHj>jNdUqkk*yVh^0xO~B`7$(;J+OEXn?V*& z7$i%p!KyG*t!(}_^fit!o|MaGU%eKF%y5IIP!k@9$LL~V?FkORWpxUCLx!`~YM#C! zuhvi9`xE5U`<0vmTEQ0Mj#2~8lb^6#nno9q4N;Kc*W3!p)bb}~mq1gXnLFZL2`s0$ih8i`zQ7qFh ze+Ox#?hMRpLFNCzHMWuq|L+5HnB?nmJP zJ^Q$YIHvomQkF~IJZAd$EceCL{f;h#x+12a22didS{snS8*=JDKRXM5l+gH9k&+TyAG)!1Xk8ytNDnA-c0 z)ItWe;*c@@-h(KnF*L`|u2Q*~3ruU}EHr8E#NaE7?VUX(pPE$ie#NsPC&QWm#x=)$ z4WH%=eo6py?{`piOEC~KbPSdk_TA1^tCdUT>GVVWeuI|VYUN%Wa==ZcXr}rIy__5Dl=V{BSo}g2b;Hcht)>EA)4TOjV{wCf zgTnSy1-TEWgd>-ut(Q?HOwQ%{^lB7^oU4rK^OmH95-}sTPflSMi)Dy>AiF3t!C142 zW)gHe8i?*is%CaVW^2e((bq^LL6$@(n5mehiicA%f%{=vduuL^xmt#B9G=|9`~|_< zjP%=vI59+Q!T_iREAavA3<*@S8Udfh)@_C|#u}8J#e-dxWS|rmj}C7|VwH~tu&@3b zS2vGm3!R`4Y{BVyyRSXP+s*0qeK}wVB(76nBI@FnSHQJ2#Em;#X-u9*-67-`xQbE0OaY>J5i4=F7j* zbH3xc2PRt8TWo0RKcr~i?SHw%8hh&Ad$b}ep?$Uf7(NJhIDC(CT_$eJ)Y*Li$b=;evHyQ;k+nasvJeuYK=f5`5fiktJ6PXWqo&7bXha%J71lVezwD=rj9xU$ zjpX$&O=+hC{nKVYn#;ZBIvgwP5}zg02SjMo?zcj3#yW0*B)1zM9Kc6q!{~dtrcWF= zNYLD`k2`2ld)Y?J2SFM02RhzA!@{$38J1S^KdnR%vT?JX^STUkAPwtC4G%uCucZG{9$*ydffI(_-oTZ$9rTU&T<5p9AJEj**xA)VZkMoOuP@?Hn#b=Gj}!6I<>BWX zq;hRLH2^-CDpSa@N}a0pEMSJs-!MD0JvZ$_8m^P-s46vQBFpZ6%Gjlb&3?B1&sLYdA_u;uR$o<#r02wdKd|Y)J zXiV%gM8T&TB>YoDlimCOf;R|DccW${l|#uRea=opGKgA^Vo8){D;--C3a_T#`fI=g|q z)ZJ@!?=KfzXM3PkFg7T%Y>Y!iFE6=e4DtOXU}vxZYYqZ->DUK>SWdCW8{T(RWqUrE z8A8-_b&&7p@9imnv2e-q)x8gT8yIfS?6|mgB7a6wa@93wBD&eE1`D1r*lkNIn626C z>|cs#c`=mo$_SbR_6Qp0aZ4{eN56Qnfw3uls(LtNNSQAH+oG*9uF8eQ`q~NZyc4{|5erkUD%Y(@Yv@FG%|w8Gi9YpE)vC@w8ZuxbjNR3Zi<%1(I5Mlp zwgTX?HrC`%?{GXF9e$a}3fjUC=Y6m4f1|RomaL|s^nQkF#lZ)=jH7b~ez!Kxu$a>P zt>pUt$T<^tjYqn~d@>)xU=wf#4&mZlhb{!O1!XAZa zYiVt5nt9It1n9};MlrAL*&t*Z*l%vQ?egw+LR~{~?Z*g;>i!N@bis6D)>KXk?M0G-_4w_A!B52N zDqnqnhBC2tlptVu&l^16U*UK+4$7<>7Nm1~SD3yunQn4=0?%H`Jdtjjw?qpcFnrqa zHZh?`&L*YS3VuD?+QOi+`9U4_ zJEM#OqGI>@`J@)0G=+E?0UDx8c_NkV+=(Nj`SelpKUt z&jQ7bwf`okS4V~?kn0}5hRw;Btl}JBUNSC40x^G-iWH5rq`6tIbrqq=cwS)=q1t}a z3dwp?gEJ^mr|F93?Kzv-0e7Rrl3vK9tzm}omyq0lGCq$!>*?R1WP?houow5uVqyZ~ zL6SNE@m{eq4daITbcYC2sp|O*HFKicXezxlB$95C(xRM3B^G%NtCPs$eTBt6;!tNf zSJVP2(L{ZD>ZU8<_GXiF!3@jKjBZrl%Ql4U$C3a5c8*Pq3=NS=_TkB*>>K8`1scAU zsUj{q+G$GhU54oz<2m7Sr9>lh!oQ&ME}b599V25T&T!Kfg>p^sxe$SM0t_y}z8QWi z1s;?qrg_t{qIc`@tAfe6mpu=r_XDoF;FaZg=a^kvl4RCjvo%+Uvp%!Yfgc5pizSO( zPFn`PDBp0QgI`~E_{>ex5*Ne;w8}5?EfmQfO^dPb%u|`-(2_Z{WgdSijVFPYbCDdc z39cgwizXaUbb}Y?4}D7|IctgCS#yHX*I9a`ux7pVI`JxIxoo$ro-(~_*Dv9QEs~MukNLSzIHz7yFKI8W**u`K!rAx)%f^>kT!CCw8M4S<^V*$VWh>Tv zn4uWQ95Hnk^G~X^&6h8qJ-V;vxL{EwyV^gV-@Y#I-&YSGYe!FYV`qDDbA7paem%T? z{udj+IC!~&+#a7XwmY)Dz|prKPk+acIdI@t5+VjAhT0xt)ufXAbl2}c?O!r}p8nns z^fbr-k@cU2n;##Yy7@Fhs4Q>NV_?``YwvT?!z9dCI~CD)48Q&s=8j?cd0x-1_Lp6@ zSMDM1yP;IBX`Ue<8pYo|fcXxi^>Nn3_wDM0_It+AGF9i*BJW4_uh>1_TrX5KF{}T= zs0IHs8x>(4GmIqswHn|=htu4a>0J!+Wt-bH)b~L>?u|9<^CqUuLrW+3A<-7KrWouW z{;@^{dBh>X8@0qJwGth_J%s-&(e;p8++N=61!_*^q-7x(vRaI)QirbtLcEgN{DkWr z#ubsu=Bq=OqM7F&q&Ym>Mw}~({bsbewgRv!_<-|*%w0~V3H2*!=ZNrGX>K0xTF^J^ zGqi(c4UEg&7_esTE`ISO9%MN~cg=M4HQG z$dMZRqtEc-sJ@T5T8sLJ6YG^RsQEPtLrpyL19K_TFo;r5nsAD}%E;G4F|3zQM_Gnh zG(y8a5AZ7P5OtN+P485vI*{0X!YbCKFV~w}kD}d%(__O8sH^!tO?o6+E+vt+$$-sS zaMiW2-pN$qfDszx-4*2t-qGu)H|F;-dc+2+(TU-AvHqc?cz7o~n627L>ZXT22KV!g zAXcz4152T7rzxKLR38fRbehcuW9+cvx35>1qb7d-=|Kc^MJCzd{{bH57bR_jk|0XiflVi8k!+9Nzv7vzM&Q16PQXz-w z;PHuXy6*&v$34z8GHmTxbp(<`)JBkQf2heauNYK_)$!nC$A&ha7=-0n1}|ZbkV*Q` zBAY+rL_fllg3xmqXEkoXP=cZSKS917eD1@Xr3w>F=)U3%N+4=Sek5FqjBx@hid9(` zy2AIAZq-FX$M7o6Y;aTPw__7eH;?Z<5wdb-8re!>Xq0aJn%RjRKehRS?x z7KeUe3)-0uKPZ!ZHWZ(7B$@}5a+-)E9*e-DV_%O?)8cCo9Eh9Uo)@OgAu=B01h!tc zJBuQe-FGTfjm+Alg@=cmMuOw8S^9D^0rgynNAY}rD47GdLt?w8iGW-mF++~o$CTL>VP4RsPI}Moh2qu+T#kwrneil44S+0 zr{WE(tHwj(=GcecXr_6Esktl)T6@gnJ`&aS?zy$iAco-jyg@KA-ZNH}YN{B;)Czd= z_};On=;A$JuLN=loyGxkD(b{F+4-dpL9k$nh*>n|OW;*#iT@nS0DWQ-#?Pp69Zf2G zlqbtUzeaYTONB8GnMw9(3?w;?mPuH|`G>jxgrK_1X$>Jy$>)O!_K*+h{RukeOjn+5 z1gc5-1sl}6Lzm55m@M978o)82j_bs~t-^l}MMqA-St>kBANj=|^7VQDBBPQ3v{S*N zRcM!>Qf8JmT=Bv|Ym;DnkvfCG?d(Ff>bl72ZAt#-YqJE?dPbSE z`KT_@>vex%DeYQ2wBeetm^Sj!WDe8CjR>HH;<+lVwGB<%~6 zfzwjhiU}Ju=3`i+sB$FE{X6!2-dOj=l{2WlBifC0qIr+E>Tkq)m!lw8U!VFPiC+TV zwKCC?MRG^1%BbV>rh$#iWrMwUc;ATz+a!kRRJDheoz&e~R)y$BVHXpbhZy0GPQm0f zdQ9rVcXQ`WvVUr#ST9|u3Q_j+TP~3qT=|tw$1o1qzkozx@FmfqNr9DT#D5*^*hXvIEOTxL%OHgHH4P z53~=Bvt}S+3I_xyhZC=I_`hqd@UETY4=(nb={KHgjjga!{O5QTI>rYS>L7ap6dX^>z{vnL{t4a_oe!P14GK`q$1?Bwz6STBmGl^iF?r z+gt36dcPMwzLt%sXR0M7p?=pn=L|PbR_Db*YpZny+Rcx}z&;_w5Rx+Y(|CEkD<0sX zlFZa={Uo$%`gf-nw!U2Hqlxodp{@$ve@VkyII3b;%g4N2w?Z<>Bog%{#y)zH6jEJT=;>P!b~Jr!ux z$&oR-bJU+fDVJ|5*e)6aL~O0m5@{*ZIjR*G8#~;lmH4P zX^FfPfse@Rg`N5?{! zWP^X_TzX(8t{o^G30$Fl8IEV1#|^qCgJHHMS~E<8K0mD!1+s#7mih59&vijmdA-zB zsD9^udpvTy+TPzvUf{n+QCb7~m8n{NA6U^jy{dM_Ag3-#G-I%D6;nU{wtd%fX258e z7>i?Ao@53eNScmeU&?xCTBR{QBOBCitq}h66$UHN$U7+7%LVp2!&TIXhFSV>-YU5h z_WMwipcjn5O393#N@+yQ91cCBywe!NYfzB8#|hA%uC;pM#h@a7?Ri=}MEcw*w|CPe znoCtnmCdjCM|-4;dea`~q-~*?q|b=H%poHymiOus`(jtWy>l8G1xK*M%0 zqvgYkf9Va2ZN8)QzsPcbVB8ny#xSm@V zi20a@wZN-kHSBsD!7KLkX`UBff-&*RDt>sh+xAX+gXeHZTw0gY`CKpwtJXH(a&MOV z%p8o%DElG)W(^U-aJ6*J&O_Nq(%I7}+5W!J{jvG^oaMde{>8ht3f5y(gD?4N5bl<5 zg=De`P*!8?5)_^+pSqDSMSW@NTp2WDj8y&gX|?d>D8l?}$MFYC>s%)6r~T)E=>i2_fIPc=Ctt97hyVM!Euy=dHE~+AWk$Cjj+ddfMw~xhVtGh1p87aQ_I61^ ziKC1s!&2I~oH+VPZ9gFw^kJc)aif^6SoT2=u^tjEoko1C{tT(vh;s(Mu*pKj!O^*h zzJ^A=TARVWLjQ-BmB!*E^CQwqTa&QBIs2pBU4~qsM%fvfW%@<>4c1|`qb|C?OxH>w zT2L3V04sZ}9F3;`N~l)L?1t_`s4F<)&6Z^ui9cjK(Nmx9c;jDI*6rH{Q|A|fO&n51 zKlcl--SxY*vB%C!b0kE|$)$c8)eRsQ%9n}<#RoMvArd|eE?yPZcl3F5C;!K6QkJjz z&_VlMGl*t2I$R3=?vl86>gqi7;xTh{oLc#cfr+YPR*?B2v7vbgcP0`b`!VmSV}y%l z(qQu;#S(cq6Gn?2>oB`ku4;hT4L5sVy63_3j~pp&aLuyy&a;|^PCN2W=+Y)(x}9nz zAzhUAtcXo3clIPifU@O#`|u*PY%e>Ue=hT}7YLK=wD?L4^3ZwEvRIxhTqb8D$jnm4 zWDlE*Vnq*i#izS8Mem;a!9kFXmrwp=?&ppo&A;(7Bbs;S&IPt@LQ=^=E5^puw`UgX zRc>lp^4`9WMitG0)e)~WER-RCQLeoD)x7ty-t^$AxV5*pz!cJkR_~*WdnJIXn>S1Z z;K~Ouk%b0(&I2qO%k7#NpvSgKzkmV?Cdc5FCd8oXHB13_cw3$f3p(F4LPdfbQ%o0+ zZT)yY%j1KgZ+16*&5|pFi`6#0%PX6X6C$;H6Wy)x#7`*0isAEkpGZJ)WCShTV{8i*>)-Z`8g$+hGZoZaCUhl` zH$*cQpmgJ8|_SZf$zw0V8Jud!hC@2p#NUe5a){BR%bZeDK3dE)T$ z;oZke?$@z{k7D&nSS75!-v>wA%Hx@BfSt{U!zk#-spK9XF60|XU zHng=F`m!S&|9!~`dR#hz7L>4a8M;gdZCDO?V6wMb@RMRj!BL6u%EAf>vNGImZkZ#32EsSs+Ofnzz-L>VKYh3yUi zNwq+)j>gY^BpJLgj#`O2Xhfo-!VkrXzWu7W3Q`r(w+*nB)HnnYavs>8uGI>h0N{?* z6((hMv+vAYxSGi;%JfxYQT{=hFQ zI0?YH{nZkw{#Yhu+W7gde0Xy6zyV9u*+P!*9ffc?2RWLJUHGa&Y{gP=2?mOR2U77m z`EEk8>xy>yGbxeNVtqud-O{ zCn7Pdqy2%l3@$pyo1gvPwp7iw_i2UfLxp<13W8Nx190qV!EmUG~~H#YxT|G&DqF*?Vn_d!u3S);3*~Y%I0G9Hs2>l2BA51$u_?u zpD9t=`SecR<-}Dl^9ZL}TTH~r$JGBxQQX$U?B76l%@ij+`jyE%QE6f34W1_>OP3#v zH7xU@qFnKUMPDcEh20Ba<}OLM@2Wg)VbUb+lLb>|f}xY9lO%*k2&NuoVNgkyaE*FJ z*JnSIkHNFp1I1IBr;MLcIE0zG7i$XdZP(rGUFn|kP~M-!iRxu@tF+*mSh581(%T9= zbEIKKM?ZoWZRO45vY1Rtc% zID1`FZsI^`PfHFN$7Gz=&iYtsh>emiE{cm!$qPkN(w05+xWY$a`D{->g+*8~X~&k z1_sh68faRyD(7KQQ_PGQx3G<|@>?i`BY(tp+s%5>finduSi1BG3@GZs;Mfll>P{|K zE(wnuz1x9~jhzS2Sukd+nEHQZs_X~Z(kC1>{rXJgMZ9B|7%?iv8_njb_CP{Y>G4v_ zTKChz&ULroy*S=dU_h-UD~YiTwVxelBbeo2alf40oblVWi2x(!wL{E7Sxg!; zOeV+GR~;{k&23CO6jL?Ek@;@^um8d`L!~!!R8QEZd=eXS@!)hoP865 zFR6;GUIa{W9U(rdVGi45>OeTG4`j%F3<;Xmq-tZqo56vbXb>5}v4jLS27dci{#yK! zgWz^Ze3R2q*cM7u!@^WAY5CN#2&y6UzZ5-Rb4m?F+Qoo1cwtLt_@-#tG#eD0l!zh2 z@F_AXM8iBVds=1(NXI|f@GAUyhc8T7LC>ZmHu2fqNuO91NVbp^Fm`2YL8)l)#F`{j zY}a_&xE#jb)Sc)%&OzNs0D=(k*L1%PJE-&}dI_-A;q}bG@P(~((62`!yx&26?^+Nd&&_O=%4W}Qssqobq; zo5n0_T=^!~Iua1**p&E#Cud^Mv}HXLwWDD2M15xM9`7dVU)`<=PU5;M7)tS;%4sxK zPtzD80Tiz1Vc9Q9z)0V>E1fm|L725f7Z9soSK-igT64J!#m)o_ep_aVuNaHn)t#ea z-iwK8`A7r}<#=Cv|K5nBf5W8ncN2)1W z86Gi`AmY$jLVo8OFwvOn$fS|ijeQMQ5kt7sa*wB=pIXDCOW=ElP}$6WxwOwHu>4Wl z)2wsA_D+)nSh03((rIZES*C}0^|gT{bJAeeIa$967cSB z`rR7UAhSi=TBGS~v#UQvb{*nrN-L0y#MnAw%d4^dotXpUxk%VrCJs>Q_yD!xKpX?^ zDCpmZrIl36bs9Isebe^TScuQ1(IP7`EVmnrSYQn|aO|OZ`g3L-D;QtJE|0eCK>00K z1X13`p607M_Iu)*_KalRLZIDxz7q*Z`9M%}SU8nANh%0{b3O=k=&E$RFA zS6<<+4}D4#^LA3Jjk;XXYy3^!@k2hY&~sX*0Ju3zKivjqZ{KbPjD+lK)-GLZEQND{z1Gm=lU3@W=VBZGY6l>#7+QwU0@(zJ2dK{!&EkwpqxXiZvoKjjG6Ft|M@-MIQ7Q0OAe1Dma#Rr&bbF-6-6XY3Ue9FSt%9$CJeDitt4Ix z$(c$9DsxMhc>Mkd>)22BELCy~fZ zWl2RipXFm?v+&+Y%e1E`PJQNyWx?z<%76oT%a-@Vq8v-lh5O%SV|h{4j84z9V-uG8 zWsUc$5FhC!WRT_CS7!yHe6d}k?hsc(vT71DSZkh>Ke9Ws1I%TMF5uQ(y6=;T1>DF+ z4jU40C2@A7vEpRLfA@aB{`U+C~-TjEax~%1ZX-*W)#1sk4;yVjAsq4xmQE5E9FodN#lt2&YM8Vvurn@M ztMf)`$j~&N@;24#A8{ueJtnooyPP&cr(Nav05UT!AtfpElrr}bPNjcgYn-6tSePhg zBPAOp7F?woEis(rDVK@WGsa~2leTMiB5Us3HE>eYp*qWg1?G9Y2w?`GhSyMj%z-o_ zFUr$${aJZ&`b|Z3;FUe9J|}XAp?AG;s!Du{EbkoXvYYOCI~ydqG~Wn-o`p?IrAyt< z+J=89KXBke-`~YasiIK-PRophl}RRhCs|7r<6b`*^1wctEDR+4it%T=Dovz-R`9m} zQ>tj&Cn>4d98}tIdVJkFO&=x`&yFzvOz< zIB}iCTAc>z=Bsuf?BFUJ)e3$8ao9HQz7~=7XSxS7gJ5azIFZ@Ap$tJf#$|53xe-U% zj1}PrbC(&k@J*M* zmy4I>U6Vo`8EX3XMxLHJrYq)PZ#r=CHsvQF#e@r7oX>|47gX@iD>>?-T@aoB^W?+9 z#TJv;PtL@`_K3w%t;)UUs<_F$=Tsrp%bd;y-6)C*GXn;=^4T;%T8^@!k*oVH0eF>4 z%3a7B@3+ifF9uq5t%DG>$Up_Ls=2B8sC^FRg{!uM=VsKTOQX>39w;hcm1PSU${7z9 zJgVMX29?JPal`x7apr-ur_r3~fL=n|>IfO#;7!eW z*pz(Y8hP!k$a5%U5sicRYD}0{Fcx5(;6GbfPu~Pn{(E&IdX*y_YM}xS{OSq*BgwWt zU-s-~tj>2BTi1!&dA9EYk2B1)<{gVH;kZ4ry_33jPD85f--*@2e%!i;w&6|GMNWN$ zy&9yp$Aij-s6PNkX@S*zQPV4WcWaycQLHY2U7Ff>TOQ$aFF(k}rhm$JR^@^3RsDN+ zHJ1dM8GC_VJOw2XQZOAAvjvP7vTQ~Tx>1hB@r*9T=@Y&wgI7~jildJqWmB1`Yc zZUF%jG(^$lKDBXr*6z0HDFC@lR0zIfD3>YF{iAOV%%*-J!xve5P!@eTFkp)VP>RJ%U1$)9>WvC z7hI{nwY&aKx3yFbWPZ-wol3O;N12|*)(B^o6`+zY>kzC$sJd@*oq~6gxfMnme-Ntj z)b309HfaG=fiePfPN{bHQV`sP{K-@8rw7t{>eFKvl>JwE8_KyU(R$C5`mX_s45BQf znV6g9NnK+#-cRdePur5q`q+)=uI^K&MZo;@!MNi~V>|>}4BcWdfB8e=uRdPlODOAh zor+0ab%koboV1RKI@{Vj5DX!ae;9UYh?NQ!1XZ5)jvODCvj4H{fjD_Zq_Hl+WA}1? z%fR)%pc7KAxbD9n5q`RQVjbzp#Erkjf@66vDAI70WXTSyf)6{Kl$4J$E9X)wCZ;G% zesCSeb_O&rkDE#|dJzIPx}Xnf``2@TtP_NC6XeSyYdM4bsW{qMTM(iwQiXK$Qi1+R zHz;X;_4l8NU8Xo^ zX<@`6d#WP&>eyoAjRmgI;qpwtjM#T{+_CYFqEtt|!ma+Z zw?M*rNQ`VjK2d2IUqoQe6@Kz@22q0Add6rh7>wy+Vx^DumU}?2y>^B8Dqn29Q~T}i z7>R_$!kNV#j#;*&L7}u2gt}|^iTYDi3LnGzXQx-Z4FGM0JD;mai;`NqD-H6)M3k8H`#n>D=WuZ2PK0c8l z-~RYTW$Fgi&6nuC72nj?-oH(2>X_kuk{=wRz1fJ@CV$=%{5esTdB zqDf8xz2{pg^KLAfau)oo&7Fg5@Q#*Kz>LaadAo1^S3?0GDvMUNy=y8D1 zUsxN^@(xrrwrdm{(RTsBqKNRP2F-#lcBYyalFZc=G;?uNA;)_qu-~omscc8Kj23aA zg0g++z=^_jG=tVQ+uP4LuehGT&(yW%WP$9#x=bLm7C%?t(aVUYVXL*yHWI3}=RmlN zk$;))_BuD3tXCNNk-|eMr*J&-slR$hwtBo=A>GfOh+anDertR3xD)s~fwglk2$wJw z##khHjaIKbeq4#2IRoeOh%`G-FI@!r({zhirL4+yyGx&s0@39kH2~R3{|Nak=_;Yn zM!up(uC@uQnLYu9JX4%77^$4F?~b!yB`)fYG-21W?a<>?s6&JGTwSG86V%+y!&|J)vs=9D+6opM-{2UuZcHB*He>60zR$6q5R)Hs z)Z3~UkoaVIn5)8f<$wlX3e4nMbRBL=wJfqxN)Aue;r}-*dEuFpDnj1wVY>xvF8v5( zC2k3&BuY4z>7u;Kznkb8_2i2 z@sOdDyQ;lh1$02QAt$=}9;1zy4p^;pFQ*8d>^OXxhjkJBg=B{pdx#xivb^O(LNbzz z!=2W}32x<7QnI8b#j^BEL@1cj^`SssAj{uO4HQvv{k8qyhK0;GzEBTOD`oQtJ(s>(&|b%HCu2V`>F3xkO0?V zU;h5QR%{oG>1}6P6n~2gT=MD_E;j|^$`4`3$LS$#igekMyo^;iG15p7b#LtxxrKJR zoUh14Q8|5h?T2&RqvZ4@qJps#I3!3?f|3yxAA2bhXnpIoa_8GR9q-MbSXBDk-HsT3 zxjE3+wyl8*WC*>zrGy6kz1i@EFj}=$xq9huSxz2wkfMy`wK9%61*xfhB)^B;apORX zF$=X{w~gJ~#+Ta!Zg2S)+Qbgr1b!g8{9;?ck3azqbVEb{^b9I;AU-bE$zeMHf#$rr zSq8aXKpM=99f3N*!h3UdZhsd~r*;qI=(rAk;AN2Ub3zTJ+PV3@{8`QzmDJcG_D-J~ zXU?&a?~b+dUxX|3MYX?OuAJTZW4=t|*~*xyM21q)#*KEJ&MubUk)3~c;f(=D9|ptSdCJ;tco|veFq2x#nSg-ItwG`EM5f8!z6*_|}lIv$|m$*KE zYHUBpq`o`WYJ3U4uX89_W3(!r zGop{y1`x@?3ouX!b= z4%t?NPWi-`;rsVs#jm6Q@B<((UVSc4R#QNXSvHKmLYJaD7`COq+!!-ts4;5d z5)RbP#a}5VqnNd9%Fd+=77}flsNGB~id+$qT5;I97$4DN4n`|_lXWJ_L1Qrg1$ufR z2tv{nk$;V^Ml4tHB!E;B7NPc+X31f68Gjx--irzUw~K=Q1;uMByzb6x5DmQ6iPl*g zKSQR06>4b6r5AP9V#)dfOV&iM`>=1C^7=f!f(c1ivEdA~XZQ-!9>H>Zb8_;P^XD!7 zHpm7xg=dB!ezkWk?h7m%w>u7)Y+=QC*jH3LA)T7yf_)jn`#uR4?C z$qIKI8y9~p3Qe7h8_)wT*3o1}D#81Jc9vxjFXt%DBPT>iPJdosfbciN4GQ@ZZBWmi zymIi~W0V9qgqQJp1yk-6fV_eoYkfhFOE3KSJdQ7Na2EmOt0iQo{6GKu|Gq<$z=7x# zv)J_Iis)flUx%O5{;$cFrYG?#(2)22I-I9sXD@Vx4|$h2=?vrhu7F$qOuwBr)^|&a z^Vnd0$LM>S>J@+y$G8q`7yL^jE^EuE(JaD`!ThEnh7aTvt!Zh)a4lr?6KDSUC3GSR z8l50jU|8V<$;>*Et2n*_LPI=Hg9KRcF|Ht6U;j)cX~sZTDz^3vcnW&Vd`!(yuh^{Z zRkXDry}PFQ;$2iNz8n_@sSrs2G6te}kMl{{i8J%B1Lqg+K z=l3uS(9CDqTY8Z|5sjY4S0xYXbDFjSvm$THLDk&h&0Qq}ew^>;jCAE!IH>HN7hSVw zftTTjU|QVw^-C4haPelwH|-YwXS;^MHAJyX5B~!dFO;utM;%mM@LRYR84PkNpTp8f z=JHB;MEPJksFD7*nx^}tUf%gCzGoEC38b@e>C6Nj8tJ~eu;-ks&HcPUw-Z-+v~DLQ zPMC9rN<46rXCL~76Zw~_hp#ntuRp~+yR@)aAn^j>$ylF_iN8#M$ZEOBA>`ds6hYq( zjHTMG_9il$ux1Xs&CKncXhNq03}Ii(yl-zGX|rUMP0b8Qf(QlXMm+-$+EALzPRwlA zbhcj55wWn=^ZAMGiYP6@vdcQpInsdr0_b!toC{elS+;}r#znxb@3JZzH;NzO+uHf_ z=sBnX;gs*3*k5QhvG~Jv8vj`SimPcprpo9OHqTMz?b|qdrILP#@bwtpq@*{y^B}uF zIbkQRjraa4s#g9>2uP zo0PkyDbYvII`o92@t8u6gRq6Y6(s+5uK-R#sT~_+OJ(~ zhaLeyODAd;aIEMcy%>0#rvp$-+F9<+n0RWGK8ey81`2yJu;ZE*T8-JqSW7|f3kt(Y zFi!&gA&qFI0krTv?k<32pmXT-1qfMH0jkyn|3i`3++v3eiFlzxn@wHjaqzZ{TOf2Z zCL})F5z-64-nw_MB6t@D(hC|Axfpg(23KQ(=GR?sFG1B!W^77$P8rqOsF+3M30d?| zhKgC<$>{O@GNM+&(1|}hOl~3(urDhj1Iw8U!B~F}syNsqIm$rJxyv(CcuMDsMN@H^ z>eV}_jqFTc$|~+$1_4JU%%G+ITw`I^YPC_I5MPy0Z(+DkfUh@91U7gpq(Q(;lC3P^ z_?g+9SSTLEtf#;q8z6{OEBPI)k~P3Hx1|A&#aYru9N{Qluw#PaEzvDw)GFGCsL!s% zKQ9j{@4*VhIB$DjDWw>@A^TdXFZ{^A%7uFqY1)yoHfZJR%d?vzR6%|k&%!QJ6q^ch zPiJ=@MCWw?A?BS>9_)e!6d2|`YGdDbApE}LG05iem5%E1EebK&k<#cEv5`H}^iz+uRCVl#J zyK#%jXeQ?-$06}*ZN(X#NO3QF;|_cVGU$D@n~s|&>34yW|0pi?NqYZ2>l!f$ZuoRK z#y9hdoPli3gsR{<`1WQICP}6C=~GDw0eA&=P{9YbA*{Ny6;~Gn-4OPXc=cq?JsbF+yM>>Qw<$~R4o3WD$D1qx^j%(MiKHvf6g zS=6NL{h&oZQ&(9c*j+FWu6ZN(dedd0Dt9LA1lsGQe>ASgH#JL5)5)v``qMSou|<*0 znSG&@5t}7<0l!#S3%g>vbGH?DW-ZH;Gj)%x{HBo|CGr|lzLy3Y1#QpU^aoG!kKsVK ze6qRG!kp))TRd>fE*li{&?f%tIza&r1d2PpArmssA&Y8{cVyOun;lthH{jSLx*gB0 zq~uoi#@A#$iY@&V#L+{FYz8gASff&z*?BbatP%xrBx0c9`eHS&LL!^d#*dt_Qx##o zPS%pXJuG|Wh4>V&T!l{W%3#_zSsQr2XmzuP7IWvmr27r(st8N8QS={dqVqahbBk>JvKWbBc>=8hSPO1R9YuiC@BX z6@9!SvsdAzd{(_wA`qG#14eFS zSi(jIBS<*kF}uoUpV}2|)k!0wh5-2yFHf5SDx-F`P;8as%S+%RYHNRGiYpFO#1XmSAS>{Km)?-uRq08Y1`8)NJGA!)==B>_FSb- z?NA$Pr{kv3{>_&7Fp-B^#Eb>cMUx)hXQ_$p$2PE%>O}2Scblh)1@L;h2UZs+kEW?j z=HBUsF8<;RR||f|mb)K@uG#7&BRK4dNxQPz!Xw7R9O57HI$O9R&J1okbdea zN%6(6sx`La7K_?&cqlrPb@Y3zq(d+$NdGw=qgPiUnrI$F1sBiyQt?r^%Y0{Ym(B>V z`$ztgjacYhC38z4MbrAsucO^44HtnUf5@4_ItZDpjDxpTJl(RSuqrPl1%Z9-e2Ibo zAZ;F70FososQkqYbqH{Lo z`!Lg;IfpCMZ*R%ze#lS6*lVCjLw|dCDMz{zq^DvCROXnq;-J=or+ri-<(I(Jm)@}M z_>TIO&d&Do1g9p1NxG7I4W?dwsjGloPI`FJ=Px5t@vH!l$%XxlzKjQB^VpYR`wT)T zw4{9k%CcHKsh=-Wq_bePh;izFBR0g(E9R)RYq!QW4gbA=gCGUAxVR^|>-G3jG^t}1 zJTMHL^4d9vofZb9KkOjw3U6$fvSs#&@03M$2j8p&z^&JKmzeLQY6Ei?A;sdr-kzbi zAM(|xQv45egFX#_h?M@ zHczp!+8(q%gqECV(2{`>ZdI-#(Dre)kb_Go{)%;4PRzNk6#8y{AVzz+$2E5&dFGJ6 zujIFN`}-0S%~QNC@o;hnnFf`BxBkQ?)f|G~na@VK`V#r$YNrcWxT`4?|?T>K7%K@W9)8#dUuAnRrnB#GM~JiSHeNFY;z ztMhSxwX4EeIj7N0oWM^Iu1yZ<_ESkCBxf$Zca`NNTitjc)?91roD$xeCoeiFTuS!}s17!WJZkGj?tX1v3W0t5f z{G3FSFC#f)&a1#Key>f%j!}{OOM2D0Yp3(N9kIi8n@t{O){QpINm@QUnRm#ra^&F1 z1JUfYJbnHwB{UhJ4uO=>>$*)5m`iWz&U?usn1=q_B?aL7jW`E&!G1$n?aD5~Xa1s# z&j-(EFnHof{yJC@!)w!AW0;wd6(5MqXe67l@< zQV-+FekfRE`dQXcs)7Lc4Auu_a&*utwcHlG}b@ccfChGDE@P@=u@I+a6v3@joSULZ`K z0r*k@S;Xj=8A_Qja6N=BUQcETh1jtaC_st)dcC*_-1gC^p&70IrG_yKr+LF#$6Tnt`m4b%2fopk0g?x@#zv6^*U zEg-LDKejigg-JoXhIH#hWfY<4)m59)+qRR*dbhXS_!B(-B|GEYY@FQ6Tf7>flPgpa z#}ZnM3rw^`oIsG(hk=LBv{g(%6j}K@kNo(OQD)umu`tqPljc*od2<^&}`m|aV zX>6AA5#>F>tY231!tRI$N)To-`zicnJISUQ0}`a^z$OQc+g~5aC;J`YHKz;#f+2Hn4=AFf6R(gMtlC0}9OY znxCKQfso7sKSVOXP~P=ifg6{P#=4t5hW=IyZ8xKirOO!V;v8ckRx%dqr(#BxSTB`#?skX zoe~USDQ)b|4wUc$x4`cx!M1!B>}50qH#Ei_kQL9279|T zg5+3Y(j02NvSMYwLqI13%VzRA=&01j*C2~5$lCd-wV3}w71It?#aXG+(`;3>A?HsY z?{uze)!a;C|B|RZ6K&oBuM(U+aH|(({CfLgSFcz=t%Ut^@oFx_idAo}*i}-y_W4{k zcn1Yk0rR;!s5z?NS`D=#R`S1tkoTh>(G`F@;12rxT&ziue>;3xF_rQ8gK+hde3ac0 zTh!-gTRIfrzca>^`0z!z;TOJmqUY~_`NTd>AxV9iVXi+oXVBQ5qg;R3I>;>hH@{$` z2zW26Rmsh*{kpQeL*=A`mdDArrbo9;@nX5kRl< zyt;WLFBh>lTIyxSSrjQaO&lXpfhp<}s7YPkt;8ExQfH+UQ4GVz=#LT1E{s)DSP7*# zf@+1r8G9{a#K<}1YSwj(VZPAuA5iRGt0u3()HR>-a;Y#yx0_Ajw^5MvplPldszXh& zOJgM84Y`Oi4(i$cquv?4;%`uV)o?-1x#;SiG~fC|{O|8|ITpPtn~8{Ut-mZNA zuP4@wFy94?sQBJoz`cm))50@%qh!s1T}Aws(5r-+B?dS(v{wvpD+scn0RqRj7Txnl z?U3N$)Ut@LZE09|OEBA)E))(54X(K}*e6Q(9-+Z?(CZA+U0t$ZQ=hj~^X^zItiWy_ zKg9hED?@e#|ea?QfDtZqkOa3(-ER}zvO>9{tJn6&^09xvb=Z~ zXqe9y7!CD7d2Y97ac8Xx<)XFojbwreF9lU{f>K?`MoK&<#t4#%YL6chm`{!GOm>Po zK9ly897cfzudf_@N@qIbtT-rgk1MSXicZ%c!%Txq&`wy$^rshO_DN?Bd_C*JmN{uU z?Z%)Fe|c@EkN+k8I)Bvr*Y(a>_qy}(nb&K0EvM6H_vfvKSI0k%K@0x0;dk4CKi(s+ z)9`xGPHW(JZ7kk)@UH|*_aGHoZ4Mj#?$chQ=Xi}yXO3+^6Hwj5KaZf3j?-=Q;4i1& z=ndc>uX*jwyv}vqn>4YjR^5X_b%3M?pMyaiinl*L8#=>Dz0vJD%{oBV>B8S$LjO7* z{&C>9gTLutO!>IzIn6`su-KZ;;GZjn({M!x#!2AA?lJdM9mB1b<9XMuv*GLhY&dB( zTAtH%IxzbF5dHzgLVoAEHS58j!F3&f)LUn*kBcsj(rXMSFx(!FdFar<0f&Qnqlp-3 zbtt_~B`95>rq#g$nC!>`9R~|QvV+-uYL2zh0z^SOLzvkf zb}$$|9X1dJjlKtj)1>L@IfF)*dPa;u7XJ1In9u_<=y*T^UKePt0j)uS&eH+5+8Mm| zhKM8&X8dWZ+2}&U!#Q+R$BydWu+ePQdyPR)b&hC6tPDGV#?G+b=(mv0T0l8n4@uCg zcOLZ{LzoKy&;cTaAAk?|fv9cw`jQZUx+Vgk$?7RD@0q6TS7_rM$o{3s)={W-AO zFb#C{^f(P) zwSB}F%x<$z-~+AJ5x4=a@Gg{v#nv9+96)XhCS%wK@S1Iyt@a#}fH%OKMG%o|?U`!GESP-9qc;eWGw7h3GeA$7GWp7pQ$vreNs zK~!RH7ckSOf8kGpA9eA8fA$|32o~#!xr$*K4WVgRwi8&CjbV>iq(|$hgMALpkR7+@ zuy)RdG{~+TWEThdx(x{E&AQ0B0N9q(fOX=u=Jl4-pCQ|a>EKbchq#6SU?k_($L&b% zlp=NKXjj36J_E{*LZ(A$9&nu6Jg@_XmSHuNK&d0sCE8c|)-uL&L;X5z(#J06WiI z8}@BnbFk7{eW*sfwABTs4I4rqx&y>O>p%#Ej|Tkg_jnn@P7F&HMho9CN@x+jfeir@ z#->})FOI!QbWHdFm>WHB?lIDbE#SO}5?t*tq&DDq03!wp_Xaay<6T(B0}>(xWp{BI zclIG~IpM{1+i!G-(0Rv$f%OOK55bAkF=&e<2b07PT6FM}|L<^NO0VPG_J>rT|HZN& zpW(286?e+n!_dwia2sy+pTc%Ggn@U@VCU?@Vgo*iI~Woau!IIS2dL}v?t|^Y-`pVX zflvU&Gn!ChbseM&B(!c9#tjky?h1`gn`aUx9T^I;WDi+xi{~6yeyfcW+I|F*gGZZ? z_yN?|eeHEE%(n~R!^9z!UD%`@*r%I)>x^B@*FhS`>8$Rrrxe32<3TK>0OTk&v~kU~ zfgQDI_dsfeksv2Qfe`S`q9}<;-64$&<A1R>L|~!uvBjF^wo#OmVKS*-uIB~=X`z{MM)m5VrQvmV)<+ zx_$<;3y{HdwE#2}X}bgXXOQ3zNBmdkk2?RT(|^zo;IMQ|Y8MsbcS<0Rf#s!WV@ua7 zL({{33)Cyvbg(V)!)qldRzt_?|8_n%w~^VVH!>9@q(R zucye@k;G6j>{8B+&-hsTQuo>W1JOo|?>Q;vqXA{{SG6Fy<_v|oE z36V%61C)f?n1*{q4;RC557gBCd1^sVS74_rk<-oLrmLYwVumE+31JRdbDgFZK|?vd z0YgHVP~&?F%a*n~*wTS*AouPNK4^#^7f=xi08!c|39rtA1Z)R@Mj&axBuEm-CkTPf zMvD;%s|7kojzeAB*YI?OzPN(a5P(p?YXRDu(DVScBf>H=h8_ZiqXfyq!`+hhDq@!% zl#s9(RD0S+{T4-5m;s?LJD{*nNUzRxXVBVaUhCT1qu>A;H))DPU}-oR9`0JWvDSs; zD+S$`T@r(N%3#90Mpwwi_~&IG`9Dw)w*l~q4UCOK;a)K33j9|=@-p8NwTPa59&f$ zCz-s7TP>Dr(mvUTt#F7N?-0#X04<`>Bc^;dc*O)l z%_9zZVDGH^dVmHg&)YKCi*<6Nj}us*hak6DXz6rN!t-bpI3^lhU1d6jV$FG$@st~D z&NG}iW-Yx~|Br_p;KL>n;H;nZuc4bJDKxEm|M!P?f$NQ+=pzs|@Gs*zhZGMcp`Vuu z&;m0z#hz@Lwsr|LuLlMA$VTBHYeDWsS{$eJ=cuEA?1^%2cS!8QA;Sp>fmnJlXMvo} zejT#5U`bL!P=mp`))CHek4UeLp?Nqo6i7j=Zy~F|PI{=&gR(+qC14})f3YxoXKii# zgE9mRN)V8nq0U(wXJ`N|pph2{WH9fS*s&IiBsV8{5meC(fY6!)=oUih6xb!&G*P9Y z{l7)34QzZKehuawvgg?OKHluf$;oZBlA)Z^WF5IpTgnhcb==A4T~-8O#|6~_cq8Z= zNY$j-4Tfi})=s)cECH}zXrEhjzu1=f1)H)VI||bG@#^xi(IitQGe zEpSzUHVDco$e5_24R9OkQMn%J!mS>u(eTf(N3y0zYg61-`?QSkPSKm zv=a2O-4@`*0p${DeGaovHh>QQMKUpIv0da6@Y#p)cH5-cP6)%OSPKJON0_!?o^V}r zV~s(b?0%%k;zr!-k%BuXn;_H$g}4JurH^(K+>}Y1?$eTK)6f8RGTvgZ-Cmu~JFO{@3`xJ29o>}V5X>mW$SWH@U(vY$H$p+jg4 zElQ{ib&6tbi3E*PgPKc+jkQBGl?-wHbexzvJMU&pV-gi2$?WVM4uu9^{pa1uRYK3kV(|cNJ z?gRPBe`i{dJUV}a)%z3{56lS&f8MOo1^OEh59^`|jFJeRK4Xf9C6U(8y#93?xXM#* z0%m)zZMvlUV;cP^FbWiRavTTd5m_A`r+dVi=>G+t(`LS6aGmnGyo^`x z{na$bd~pYz^P=mbirBgC%sSU?L>-=8eZ^da_q^+=KYy3ED0ct8@PjI;*P5}_Y>4L+ zFsvc|cio!MZIq^y-AEycq)DZ7%>5b#3^YvffjFH(Y(aieVEB8)J&d^n(oXjg3XLSM z49NJ;=05MGC$2QmNmKWA=Pp9b>#jwHLCfY0PaCm!%m?<`Cz;S;5wj0cOdk)+MAGZd zmdV7hm*!;l2#c^W;Dr;=68qG1&p|sXiE(G1N0$bAGZc}!DA#$&+)?uP`hX8Q%fb^t zG}Cs;@XY`3H#$8!nn5C?5_s?eg?gyYp}iDmcSuKSExa+3ptjI$^T%8Wm7T$a%R)KM z!M|H1t9J1O3()|CLZ`_64%^Z_K8#|?yNgOcDkxn%mZ!gmIL&z6i`o&f!AoU?cj;7_XvkEMCqu{|9~(&yoM!>7q$SD0c_xS@Jx0O_ydr! z7K;$I$c#dNS%Fzy*JpA3ZoSO2+CE=O(#7_({%cT6+kASA(kDm^XYePdShR{q%?Tfz z<0UDUTgA~|`{0X!eY`$}cUnkXL3%^Gp#6{4NTD$G@ zouc8dhZZ-;nZdLny*JCgtYC!;eq-m)gH`$)K!?`I+)*k*G=ML=WhVKJ>~g@ZJRqMT zgVABc*uF}Ds$cryydV#J5!e=WJeIOxsaHO4H_;?_BnevX(}B~SgSrZ;E#B3EPH8j1 z70Z?UwB-IyI2?4Ae|HlCA8t7C6eB&BeIL$}phbhZv}U zQ3F?h-N9QMAV%<=Mi4-{9kSgthP`ai69lw@TST3#-MAsNaYE>F%dmqNN)U%_yjewz z9It;8c>hZ95i1y;i->)Z z78~^FViOB^vwH6utF#D1okt+&v{8c{AaBRPq8u~e(JBg}`<4ztYSIuLK%mK!X{e`Y zh_06crttm=UbpGh2~!9``4lf#G0gBnpW*g4yti$5?`C-K3cPnEOt`_KeXN7VX58d^ zOgoS09s<>Aqc-2C8|rxQ-qmh&pv|O+zd?q-p~T-%Lfu1p?9rX!cAajpcX=|~B%BO} zB!dD1dv#ngPC4SBYqa)(tRSwGT=z;4nczzW_LP`EOvB>|_@{UbHOTY(W}cI^Gfu{4 zAKvAu*CE}qeO1S4*mcsK(vcFzXLq@1!F#;L!oqa_WW!WrxqMCfa@fA^7@b=4&~ z()Gv^j5=T)MfpD2X7H4mAS7{^Z_VMoxn>=9>Iv$SC}xp`8U7hkJ3TZkLlz9h~+N8+o;1d+Y`Efj?0)XHg;jB073A~>+gwDE1oc> z)9nV7zK6I=AhW@T4)6nS1a+_J`XpQOCHVMfHniXJhM5tj|H5@|d9xS@bbyP~IyQd) zKg&H&`C{@8s>$;@o;tN&d!4f$NIJ0NH(F0&m+4*G4|1-T5xZ$L&q#%Jf}d*O1yZ(7 z4B0x-7uJdXAHX_+XY?(+w$*5M=(K4-H*g1}?a|_B;9)yGbimtfZ8}zjMCz1Jph&|9 z`tiicl%YoUNq#KA4^&p*GAR1MM;8@rkN)lSfH~q8-X*&L0M)01 zM`Y2!JEC3WoxmdLULMFbuyldAkoPbb?TL$pXc%et$+84Z!IB4DAk(F59AX~$_9|Ut zO-LG!L$1#Zq_~8e4=oOcn;!A)Q9jTLAnC#EnO~kMQ~-p2ZIFK4Ejf zzvu`V$aqeAb-m4xI(V1uAT7`@zzAAm>m6}sO_tbxkB-pz7f^@j1z)c@^oU@91||B1 zVp?t_$NV<&nBFNK=U+D#-r6SVD)1K+31yw^j4x%n8qmGE%21W$UBu!8=~lXW7O(vm z;dD9=vN$ETmbc&1DX4t=ZFRA2@x;Mey5TEh<|jX3;K&l+8>Ry&5*s*Uc?bEPClMJGMKA+S}nw5>A5)e`gr5J4adLH0dM&ooU;jM%N`I-l0W4UwT4^VeW$(_L?D`V|mLDP7=?0J^uAP;OiVtid%=XmXpmcR}w^7HEaz#=0Zx34Q;G}MV7`$L ztoOYhWQbYsGgwMxp;~g_X)Yzv=OZ4|*E1KA6j@S)0LW6$&*g8?wMK9NF|@@YL(C{H zM9dOSETn?sX1$2`?}_PxN-ibzY^Cjj%Vm<=>&jg}>Yj z!pQ`dNs9W4R1x=p_L;vd2X%{gJJ^Y>&g~8!op4gO&j^>W3^1_pej^j$m5=UtOVoQ~ zpikqgi#UGwnFF13EBg$T9p~543o0z7`8+`1N$5j=zmW@g_Zs%{&ad-r|2}O1GuaaU%$Tq)JH!FV{#()xvNSN#Bhih{D`ei!03_R z%j0}QnbU3my%Oj6k)uyU39||Ca1&a1gdZ{aCrYhyrt6?1*_SMdQV^?Ekib5a;6oS@ zF}A6q)}Z6>WgwJjAvVDluf?^g2h*!9#R!c;?sXVgWaAm2N(yAWilSS$(5w%Zjl}-B zN?{i0CP3mK&6M;*<0mFBz3K{NNF#vO&c2&^29ek+4Uoi6{RMy$EgcS4=J+=QOGrvz z04&kc;b2J`kqv=p`USv&Rt^W{vD%vqh;S>M_#h`HocRU7%Qtx^SZUWOKzbPh6QehW zUkJ{u!MkA;*JlArvUXz57XnhXcPAL-&RPIdHSlGi)b_r^fyAx203hyGUkEsC$`<@U z-*2`!2e#WaPe-dbMth`TSd(U#)?o11J1H?L$v}lC_0n_-JDkt`zWqb@$48J$*27%p zCH?Qj3 z_(G32;uiGYE=gy93;x0iUo!^XJ#20ZIyFcMy2@C_b ztMJk|DQM%e5%BYzFYvt+8ZV)3;4Pt_1XFe+y$T{AZ_Gk>;0qv*r@>Wt5zfQ(#%8|U z!Woa|6lj&W7{};E6bliUc%F!CkQan8c)JL3P(@vb1Gc)P7A5>4f+%Or?#r$#kt)ynb}Kjwn28HLcys-%e0n)o#PfYIMGOQ(Fb;dKEeNyAgb#=*K75Aa;ji zOd8*U9_!9WN1iJ(N4J~JiKvufC6r34p{(nMZuUEzYn8n{JtUl#BSWJ z6|nc!II8wrHL4s1@10e{FV@O1N1v&LAL;^BK(0wvrFJXE^7+`#knDz2#5@rQp#MOe zQ?)xFzPS_SYFsNEr3C8Uy|nT6ZIC=8`g@R$ZYyGou8h*n=K001Ae1y93AoMAD>Nge zH-OnnR;S|LQqZ)~QFBvsqpDYvh^e+}ZaiL9!V7?yN2ZOET)8vps_Xx_ko;CI#>CaEu|spn{4?qn6f z8Ygg{g&)FbwAA3(xEXZ@M!G(cxoJ#SH@9NtARmk8!M%Ip2cC?5`cxHP<6HO~X|%p^ zK^$D?l28;hQ{MZl$V>_F(A-Gc)HV||WmF^laQCJ=91X0fqiPEK7;?r*5MMe$t(ML} zh;?vLzq(llbV^^XJo2L`PMrw_K4EL6SBvTA@dj`75S6vq0;r%%9_R}JzzceUnx zSo0Nvp#mHI>fXKTs_}jmrXsKA+DDN>Ga%x)E08ks%narN(j`(NSn9x^mmr(Ocp3l` z<*q0V3c0~%Q$@~-wue5Djc!Sc!#{f9C06vC+p5MYiN0ltQ;_{psl<9J* zs~~;C1=%!QEXplsaMe^@2D(s15I4_nZhQ^s4-g<&bVU*9c#Nn9DqKBSG4p2x!OR3T zWUxk;F9J|*i~VMFjh*I3rooL-SBfyh9+;bpJnYaZ6;utO>}SVts^M)-Y!N0et2hnz zud0|Nx9|pLpGZ(=^h6|S{3CJun_6{J``iuR&YHxsMzTz^6*3k}j+wZ=c4`1@_C<`C z;@QVQ7#mH1(59}zkwszMYb6LPDfKF{n;J`7Awla5j$j-E_rNPVk^?=1y$i#d0i0oa!_@34uke&ciq3^gO&Dypb}+D(ffKpuUd7snZ+-6*o}9 zBS6XjJ_-$>gsc!R31I`1vqpTy>np;a=8;?p0WYCwd_OqB{L204Xgm(2g!PmE(@8Ln zz9BET9 z;c-aLN*(A^G`HjjTK=U8l7`R+(WrTvKG0?_xS!TW8C)QXab}2=oobCvwHbN~zoF!> zRlUGWD{#XFo*4y}T7d-@cxM#2&UJC`-q978``IY>HY;~jJpyDOrRUet8?D5RrNmpK z#KKbI#wc->8_%at3j>M^OA8C5g_pF@kncsX=je;{J;xlE%+fjJX6ppl zIImPtuf{@V2;FHM1t{yg+B$l!XjByAsTF0Lo2=v$4g90W#>ifovbtqsNohn`jUTWE zjwBdkQ%Y$7(iR(#*8JnFFmj>yC?lM|kKTOxl%78a1eWh-!2>y6N-E|z+S%Rv+wIhFewpU4pLF+;>_q=e6fgScQ)+TAZ^cb`5LQFHH}#LX81W`AV7 z)>yzJofOQuHz&KmA-~UWHXuh$kd$#eVWwBc<4}rnp6i3?7N3s&6JM&A$v8ZZ9>jHj z`24DzZzfvVtoBsNwFzQiYW+*K!t%OupaROMTVo2JQ8eedo_{W^GoYa z9>`qLqbgkmg?SukUk5_7k!&&R^e6)<`0LuAC$QX#nSshYlI1|j)lm5-L;MXM{0B;^ zZl&VhR?vJ{8~wYn+5JaGQlg5hsdw-VqVY1LBfTcJ1>Y!b*J`7G&DDK& zKwWK>|GT!z3(Oy-0BZB!am#%gCTSHrhMZ?c&NKLdy1i=kUro6PbSPb69E%-S-}UtZ z8vfE$Z|U^()Vt?3`|WHL=PfF)@Vh4ThTD{li8zqinZiVnCmb#$edac zTiJ`~JXPE-Q|@3S!I=7Se~KXCDM;Q`_|=Y=lg8 zBV;gcd;bXfWCMeDBajbq^q-mcw*ebCz;X%ABsPy;$*5#I5Z2v{_5uhj<#I!E!tCVUoO&l3&(Q_}6vtS{IvKg~{4(!$8~#hnn)SRN?FJ8ru2Tm{BXC+Ro=6zLqT zAz?am{3yF+fT~$Tm!8(CZd68@OetsUB>0!SVwhL%CaJ02<#a-`@cfX%mxmOdYApI; zssKAc#J}4~ROLXg3164tK}_YeH;qGD{_(%OvZK?w;h(^%b0e3E2~8z+bVP^w8+nHtEJ_H1xiVAYX2tzRFKD)Ay25AjD4JSk^3HcOO@&8 zxt*sN3@FMomMEj2FTqeqZG(P}7_y99a*bQptEi6-1>bGkHQUJ5!$kdapB!E;geLAWEPncG5J9? z0Tl#K9aqqIf(D+NvS>j^ZnDv!u`O*KoZQmJ>RZf3sNS5MNF@2%GLMaA9@8>k10&#N zJ{hlJnY(lN$79Qw9MjyLxS2xw9$;HNn2d0Qa{vY}w78*mtd-;6FQE5^pFHCO>uPN) zR%zI)20!tuYQzvDi)p&HgZ=v+Ku`l#>1UURbaVbq4j?p0xZ${pCtnYqqYjE7nlM^{ zi;;7O1>hhVfwO^zI{i6rjmvd1tF9iL`)>SZ6ytGyP2H9GSzkDzX?e-G#jiMum`q6e z`CnSJG$JQG(N!GQn46yhP4z>~4lM*x&0W)FmrzY`D&U$xdWf_}Gr$xCHRDg868I;P z#SsK~7^Jf>w7d~u)ZC>z9VhkpWQtoX^nE#Qo=zV$M^nz8ne1c6y8`Mcmk%yS@&x@- zT1ea@U@$M}Z1wVV+=TXKCY#VXSupn1C7FOqU!I~7f*AY#7)p*Jpr6@Za$Lx47jQwq z8CII8W+-zyDl~E;F^pGs6OenNhag=Fv2cC9V59VISC#7zkheBRf}2DJ@dWy=H#4UNwwUnx^?UBHONQ+0%Sl& zbxtQ&4|dFIH-Ik7Eb8%cF6Jf-1ChsTtvXihvnlFYn?DW4rS0!<8)M%k1d8jJGuOeJ z|N6|v4Tb{CZjGgeO_}2W$5)xQU<}j#BxOB&F0mnSQ2};&taf>JP&c;^Z}J%*b|w6nIL&r8DE{3>3aZ;P*=F?eN-$ZFTl0%ODj6 z4a*=tZassumLu9SZHJ}fSXLvXl>pdR1XhfoStml6fuLZ4junt1HYb4KrvYhK`Z}y~i^|j238zW{PX{3hQ~A z6^)ve;hj;Cz<)ma{%wvr3H*n6l4d(FnIQMMlq?;Jk=zL3=Au{q7@`LUinN1QumOmC z4nE?qH}Ie3uBfL0rFAtEmV)T&8GzbyU-d!97~rrJXtfb5(FSz!+Q|10CpKZy3Su!7KnFX3mX@ughb#?}7}(F|kf~+Z677HlD3^qB^OW)U78Jq;JLp{07sKH%fFFpY zGZPajW%j|v4Vp*8QwG(`r2m(~aj-#c!9esJ>#bw!d!-GOtIDke`LX40a>EzF%Dd4@ zF`rEZ`@dP9ueQetS`rC`V3J)Y)}riie#RSq*860+q}rw2&U-_r|wEEi5P1 zqGW3(EV3E_29%9N(>@ z{TDTe*iP=K@R%n+_P(FvE@wPQ^Z`+Su8_Ay!m@_#id)op>;C9?>wd89%<1PuWV=t5 zNmshEhPJb+rjK9_4g>7q78N1(7N$RE@AP&&oF z;;i&QP(VNT-bQeAG=si-!tz)6wW6hPDZmHIkRrD!3j7Eij0Z)3H8Tl4q4!mo(a#8l zNDP|p+S2R`i&*@I?%uy8Apo&qyD$D!NQ;u<4Ou4OIg!c);hiO@6cXMnVMAm1ou0U$ zFn|RcN{mO>!YIg5^kK?wB-T`N&}|SS=o9IBCJ9mwpdBm}e3i1tB(W>P=;(z1K)vf; zhePOYG;(az^4mZ~Yo&pNH;f5lnmna*uxF4|5b*%!DFu#|NP^|;$xE1#6anM2Oh*MA z!^))K6zD}fyrSnN80(#QFfBNWC&)m>!4L{M-uHiZTpUY|l1~bZ7I5FavwR)@rjZN< zMp{d?fq?JwEr#G7g}nwt8BY*J3{SXMR5ETwgJFS&6qtcx)z)`3jd*3d>nR@lpM9z;Xn zs7B#b10&~(oenIAS79T8nHU$WDZ|w#Z3}^tz(N8n5daZ(*OGyt{!|c#Viz&lLrfS< zheq1&I-Ms%(PPzdhUy7qm*Yo?8hxy$AC_wvj{q=K67-MYKUmZ#jG8#b?~v{Ck##4< zLZs&+=6-Ew;mi&{ZHNh{sIYU9orpke%0wCpD|4t8!Sv;e zsDRCKNlt_SY0!!jIAs8VKXQ(XmR~WL$AbwpNQT5Yx*-J95a1dsyQk~{S;#T;FqPzd z9TUEOLj7{ji?jkUFDvXu>H!rK5s z4hJcV&@h~d0O><(w=jNV2|1u`aDb^KvRYxq^%l~b8;PvtSt@Fzm1mB$G7*-v;sjhO zw$=6yl!fgy01g4=`0tFVZY)18oJ1-bClca0=4)$n?zcyqpME04xRnkzdTA$togQ_x z)?>UiMZNYo#ADDkZ=%s;tQPIpL>f57pwk)mfW|r6vSPGw^Al)AJ+LjI1qhHC2}r!P zl>v$IBKqaGwVGziAWh34DOVr>Emtc1Tx##(Q25p2kwLBkB*8F%F$`i_8bnHinD)jn z2uu!vQ#MRTLDm86irZfL=url%zF25OLz=~>G451~eB;X(U`KxzoWls-7EwIateY(q zOfl)UlPO?ku_a`pll+$}20b@okczDB0JT@Jg!Eg%0)kO4y8?oeOBO%FUkDiRDY+## zr9rM(|A>BCa#LVuAF$Qumd#ZPF*@ZrXz1_L$T&&FT;TqoZyU1u}|7N)UBG_ z6Wn?z?~TKArgOnq*9=dBvF2IlcAE$SONkL?7*bUYd@u&2OwK4e-GO>RM_1f=UL#nL1#hMvl>FSOKp)5;%zWQRHkyYcr#hN2a>d=9FE1a9j8Bax&c}8#@>+!?speE%61+=ZaebV=* zp2vbcY&zD`|}(++uFJS4Cx<*M-pkyM_AuHp$SqwVexT- z7!}U&yo|Qci{w-I2`GYO?H`|@{1yWlocpM+2+#by6Q03n;J-0W@RW|*z^U~_0IY(l zI+ zma8#59W78(u$40NP=;e1n5TbMtM>^2R(IbvV{)x2Zk?K3(q!$jR*sCfCkk)2Le@vwCV|(NyUdqA)=gCkL(@C^T~vTQQli zbE&~Uf-i8&=kVfsN{8Gi9kxtbsL*iQF_f**M|`$LL169+;0KFNmoO0)*HUWliL2}v zJ4lsx1sg8#;a_FA*tJ2E29#qrV~<#_=-#u_h?P~|1D?Bje8WU|4>Pkg|Xv{)o4dW^Sv*lVpJf$&9_lfMKg)^ zgj%IQr1UZvwp4MDwVO07(&J?yJ$8B#AxSPzS6_Pcz;w(dPmFbN@^T-QsCtH=@c`$6 zYg2wHSr@y-w<3rno~m;EEDQIS&?aTnWcioNn(y-^6SnYo=&=%ckg{*K$@?@9PdxJIEjS5Coe zoPx)~v7WxZ4iWlv4I*TbplCAj$^__f-K_r2nbj{YuUm&C!a)*2PD8{D<1^}EQ31g_ zmeK>C&x#AmWpxAvJ_^U@;H9vg#@q$`Yf^C_GbAoiBrdTQQrJFHudU@OGPHMO;Y+4w z_KNLaxnh_~wD+S#+TZ>~OZB4-mP8l#toX2G>O}TUQ}>%SbqP*gl7-OSPU#GIYeNuN zVRR{xu+&bZo0+I9&f$x36!j_>$1Ixh)k)TUG^CP9~V$YCA!;n!PqVlc8Eu2K> zf_FJ(8;kIl%nbUDk~f9Lg6-Nk75fFcl>xcT8uNE%nMF-(BVuN|+`KF4TuY}nKLJsH zqk7ppK`p1{f6H4cbEuQm!4o$vD2=mZ)?DXzt$i_0vq{S`_bWAHcJWncjC?NEkK<(G zX}a!YXEvsNS-B}4g$TaFxOxqF9heDN1i4*ACKg~9F{K<)`2{fN0-69|x>ZQqN=74E zZz+EqI_nCGzcaoC!cDv6rZzhA(C^kteZd^4k$U9|{-9qtRrsWEDydiMqxJIg61|h) z#RYYJ&JXAGaLfQNZZQaZ%!!q_exU z6iK&bh2U#zKY1}n51`0@d5Mqc$ALa(Yiqg|`K@tF40$Q#t8c%Oqo~b{WBE+sEIQ6t zGHZvT0>EbWk)ah~D&4|Y(NZGn9D*%JPcIp$nD|~i_z4lmM9=!YpFHak$EhPq&>JvV z?fS;oGgA10%5%#}MOe6#n-~r|Y-7Y=hMm*ao0UeVp}U_5rmB$qQj;axYEN3wM%aSyI;%gq%Iq&dp(^ zyoIUg*%@)`fJ@Cel=agJa6dU`svY5OWo#Z|h8Orx->G09OTu_PCpzsqVAkH}L{ZCw zi}T}jny;-b`&w$q(%61i(nebDFU}X>_6sY;<=<*8`kEUo8WQSQ?juVZ=v>`EVR1bs ziI&b>`P0GP>vet|pCHk+)zrc|QDV<(-k8B$Q4k#}yFGNSblobmL^-*tEsQ%z2eGn| z5-Dn+qnOY?6J%;9ZFMpbC7<>Tvu0)O2&fL_n4%NUzuYLhw*$veSIBNoH%5irCb$9h z!I-2mYQt8Tlq6#jZX-FobN9~X!|sDS_wHa;Kz#M+QTN^@s)#$?d%@lN-3NE?J>2-g z`g%uxy%XHSx1MOum-7tA6i>)0lL7wqC6qP=QJ?LXy)q;-J z4@41uB2@eYWBBj?K04Zc_3G{6<0mh7j&=`s_UXsbfB$zYII4VqvGZZ)DSy1ER(}0- z=WpusdFAuo{?na(_4yR@$sNO#1qVsE8GMG))svfv)!G{WT~~hj!5+1(9$Ud~5`G3Y zVlU|*SnE`z2ejR*=}B6{U0HY3S_B8{Fsg&_G=X359>09Ma}XZm@156&`@8UPfDfiw zI8V?CIxKaS&a-i2;xPpZCPcC74R?Xo*H>8pI{bp@@XLC7Qd8y^n@R=0xUh&{8(aP5 zS`#E)*pD>aEogJ)Yb$6iTBYvnq$)LZpW2}^z}DE|8af~gHMFKwXncuTpQgPjDqiwb zURfl9>hPK(NaPTosOv67fPrSURqf<0cHL*Cx`p>D_{9%iIg_iDf=gETBi8y@zrr7# z75?ZnZIX63HvaJ&7J3K^J!+MDy}@*L8>(JsI=eKTZ*XGX)KAPCXJX!zP`_A?{dkw< zui-xYV&VwvMg$Q$)I{Ko-_jMl7I4b~*c?zbOzo{$FL4wg@U*ZNcz7=c@1>WxmtNLQY+X#A zba%K`atIRm?9r-7CK&IIx{L-|JM=Q&*UppuRWGfHCrq!7Cwy5u``iF7 zI19C>v&k%7Kw%OUYAp|rc_4U$QuH84kMQ1njqCOL4_mMD_R)-B7S>$7AibXz!uFZ! z;l)B`pv zaHcXlSBU7-@FfN;tY|Ed5r>Lm6LdQX$T-hgxOpEu$3MUFpBMP&xjcm7lRkXmI~~X` zsDY#Ce3BQxScv7$g`Sm{h+CX73_(fYu;(SMEVh&yJ9NL9Hps&(-uyx?Q)jJyZLdlk+4lp*^m-yb61F{)sq>EJQc1w2wpZ`2_l9ku#P zgf9=O@Nf9#b5mbHaJwJ81j+5*y}+afhsB;3cudcWYx6-I?0TxMd2_2SJ(8&+AMK@T zgqY2IpscD&dFAR28FLFx6CuJGn-!4t?>o)PB*T~~U?~g|0F^z!B-F)h>Mks3uxUD~ z0aecm%{n*2k}ZQJDZzs73$ze^kd;7bVs7kc{C;(sEn02^HmLV=mq9#>o|lAT@R5h- z_pHo>u~j$@&~G~FVM6+hrq6Exy29~jrLTm?Z-%^y-d0l&WDd+%WQa{lXDsLI7{qkO z;<&P2R>{&~56WVB z>T)T2+BEZ5u{6mtmL@YSO`w>XX%W2fgXzuaku#suo6YBK=2GaHoc=yD`7N`kXRtJr zCv+&B*Z?XG&vFtisnWu&`#a7gaa>^Tr4b zZ2z_3`9JxC=ikmdyPQ3fF@_eqN<+*P^M7Pz6C<{5kf}jomKptw$+K|Kc>C(2yjN|# z-@NI=wCTf1(}ynw;LCmyy!V6s;+85b;CPI#a{mUb2>Qbg%uk*aod6G0Cy7#nc~gTw zSqF2q&Tg^<3=Rd|#V>X+sAZBXx5(arb(G0~F-gj`*m~iB(g;Wuib+xdgUg5IOK{b# zI_Pq!6n8pYR-Tn^f5T!V30qD3rMbf%5=xYVMtkY*D7Qe$JV)@FtzlMvewo=oTH&)& zM-%{1gK3Vzmk_1r`j^NYFPvOAFqp*N==yGB%g>Qt**?}ZAC%p|1&V^6>o_<$NZF#T z8?DyIfN5vFnVRGY=aSKtgRVu08ZnugEFsX<4VH0>9Du7hSnJ6_Jr3kwWfG>1ITTt! zHCogHiUH$G<}VY{nZ&6~L`PdWQp`tu~ zU8N@%^#stWC~B%Yo{=@v#38OVxzN#58mdS6W8P^VrV%(g0wH~#i9OuBB~LLXNu};} z%gv{dj@Yt@gWU_~#Hh5Z6RS73Y`0RG7d^1%`jWd5vGLDN>Y68T9>lBJ=dN6naRatLg_f^4hGWMu$%xa zlW?kFnQWb`t*!p#rNMM~LSXby05qA(9=;-1dp4ktU5w9+dShFFrw|a#>En$rFIUef zH7Djg8gsUesn&I(n*0p98e<5ZylXFft0RFarwwNG~s9-eE!^sk?E( ztK|xc#^*y(I-ZKAR0o$j5o z{!B33FPKpSP;?c_qTX7SUt9Zo;Z26!f1H>t$B(iCl<$_y&vell`}5SI=MfBTHW>HD z|Csm2m-FC)o^#<%f|Fnd2-O?&Z}>GgZ}r8H5+h}vx+6Q++=Ydmlz_8~L>_K(Cr#w>+_j6KtEjQOE3yb6|fT7!0gP1Aa8Ir@5h+Mk{xW5@* z2y?V?ia2dQ{I{HHV@XMDQ!iy%vquD75^eea;23*Xfep^I;K|kKq;wiyVr87fX&hLO z-4RlNCs(70Oa!QMtEXyP|K!D`=H+yF<3XzCO!qbSHHyGe%vqy=i6VM{JJm_HrUk2G z{tZ1Z)ioOej3Zwrp0F_w&^Y$xXB3hgR!ni^@9JJI^-EEB3oJY4=dm(6ZG~AsvmJSyDvlWf&C0%e9yD%L?lK4GS9%Ak!4QEE%2Et98lT_b$M2}MLmh;0DW zyS_6y;d{*N2@>WwO^P^~i-r5y`n}FcTNM+@ZTC9n+8A^Uy2hYfTVV=^2>s@xgI~`m zi%k)9mA=L4_jl35+OwxUhh;(xrGS+=F%ny4D>pGF#<;2W_7h!>>kI`C$ErhtQRfLW zAV*u$5DT36Uytz)+l>HkQkT+f-{jud=x65Eb)=Ylx439$K{3qO^Uj4Yt<#MjOPtsU zI^A*&8Ct(&P}doVpn-^>QyoR!-SH~*#W1NELj|7FC@Mo}QmG#_tJJIYZ=ni4Xx?he zG}Q;oHP!X)d;@q!Q(dMYm`kOO92k5lDz$K@HycB3#GgyM4)1K$=9rVXP03%R-1-&v z)(v!(5$cx0t9&0V>vo7){IuI@LieXEnmS*0RRwY~76f>&gXjB{B#>^VAP*+*!cH$h*!SIBw(a$O>(3iUhhpYpA4kxrV!2a_D z^H(A4$W zgY$@AUAx4G(hDqMOa~vV2mWG|{~w%3YT0P^KiE&fqJYan^RUk$q}KVB-PH_bOGSjyg$b@w-SK)D0FjYW8NtPT^Q31!ZlM& zdAXWq*i%#NUtV5&nkmcFbtYO@ik*o~>n4^&Av=?pJFoCLtAnr8b!MB_?YzQjMk)m% zb8i_2YU2b(&ICrxlfO@bU!`y8o(T5gK-s%43%++-7F@OS3>66ecWKaB24g?5}Oi376z1y#RN;FmiqLI^o>aZVs*W>g}CGsS3 zYF)$ph=Z`ruQD=+hhl#yHGNZGFKTb8*BnJ|lr4%4y*61zt-emO^nAyJE0%mlEA2KN z-ZG&`$p~HE`ohA{lJy!R%AF~2zv@{U9MToZ*R^k2SJQB=u0$R3d%{E;qqTEaIAc}L zsm?n*&TH_E#`XeZ1-3~@-@Yz|*uE`=I6yUmkU8ci%y5rqM};J z+|?bTSj-V z)9oi)D4KOTzEIKZx)2Cv0nPvnxL@xXVTZs?y0Iv+yOlV` zo)dF(n7zfw9l%+0>+U`2u3wvWOQ3VJnwEm+B3UdH>8_gwVNXMH!)ahYx$UcEdG3!+ z>~6V6jVy21!g+1Tzfs#xc@4^K$#i^f-Q^IZvugqHyB@r>9_|WUXHh=VQM`SX@QcPm zVjzvOuR`yWaO_#>Xwc0af==668RHWqX{o$W^y=Ll z+tZfb5RK_(b$8OfLDGFCDo#B_&2I11vwa<=q!PbpNQD&z<7l{aydKjSfP9HJ)wyjZhr)JYU!~SCiVN8YCwa!S&{yj$7*NdlQ-qJ1&-hzSS|4eN z_-hi{!|MMv!R*z@W&D*b5r5T|h`(AUfKWX+Zwckq3w*$@SFkF7ZDdvcx|CJO-rZi0y zOv$qVTt7Y0EPRj|9&i@k3XCj#drLT$->GAu?FS~4iC4D+YUpW!>n z$jMadE@=6c(_$_z=S$1~Y^8jjCm$0S0bV(|()x3|X#cr|X`uhyRx9fU`Ip9(%On-` zqA)NMn$oFx?y0dP<#E)o!VT+NM{qmwGig>o*@n ziAwZca~{3D-4XjcfFSB2_}xxKd##%fN4=ugJs8>kn1wdj{Vbz%F3Z$82fws^UB4~a z*Wo?$ipnmo-_RNO!9D}k7uUY7-qLAmTi2a0PHXCgQ=)2{hp#1%0eDmK2GH+H-T?6a ziW3`3G@RJgW4%{&tmgdhO)J_Zhg>9u zagpS^@+i;K$utFmfSd8xtF*6+GiU5KkaLF5VWCo8>r7;Y#sC+x}NyDnkkl1CL)aUykd zoo)$;X_ObcHGtSSAOR)*tsx^)XEV@KHNR|9WMxOCAdTF+*>7XsMO z@dY~cQ=KQ6nxEdn5A{ysP$4(&d+qwc$3=`R^a~F=c?@80ei(72Q7h+JFKiw+sF}b}!ESjvV%;e!g@Dm1Oew7KZ?YnPs zD`wr75|+75-O@Fe64aTDcl8=2yoiFXpFnfD@3LbCVemOTUU{H3j$O>e<%@ zQgO}*dDTLHEjw0RXCaNBP7OeNq6r|aeW@FU@EF%5DKN;@(0tXBV?Yn+nyS<544=-^UenD5AVT1QXjD_Z z+M}@K_0Sf*!W^$o#z$At1!yu8nZN!^8Yf;WSRvt{)rJ#voF?PQ8PwIrvtQ(h$e3F_x|s!%D2hmvW)5o1@rzje0w+A~+z`I2wgY^HkkmbRFCk`-@^nEwc)ZT!xgI zo1GGUvr_5IFo!&WDa(DjQ(hwqC;Z>3gr{ zO#HTC!uW=9kd1JNGHHSuX)<{UyhL5Ubu`*?r*cLEEwOp4z71#Tg3=f;MHF2-2L~*2 zZ-~earj=@&+hdDC3-(8^6||%trqv3rg%keQWPnTF6YUV={3&Q`mEz8ItMw(V#V>iz%AEX z>h&js_~LvA)$BE8%_h)ihI4}SR%a2NdVEaxq+vnT`S~Ft+dTn~?pZMBz71$}bsokX49Joh7#v!GU?5|?nUft~g zcxix1w~9ocQmD#Aswu`y^d{Jxos~%E&Igisnx*qu6Xstyn12>Eb4{#ygf3RGBPzR_ zEGsS3jH>c+elR~SU!$s>plXFC#mNnd9y%8V7VWFcS?oHYaE~*@&Kvb9!PI@~Hwr`8 zDt#UK@Vm-pUIf!6#I%lYfqmrB;ryj;5Icn-NKm9{m3J(+6DSxbOWPXIg^9f+;j&jY zisc2Cr`9uZ)oFo8MgB3KH8bc`%(@Yi&MmA`B2Ja9-!P3>6&(un8`<3Zvv_*N*?e3* zo1x;{q==_W=!9;(bVxVNW%;0%{y|0bQCu-g@`6)qp0Ls_=LxHp=Lz3kW1dc3GL5ya znk3z_HAzZhZQdg8c0zCK?Q|lV*%`je*t31c@hVL+$uFdHT$F_q%T^g>!%yt^0l)Af zy-0c?qcfUR+Tc5>KT|Jl2{$Yfe64Quqr%s}$PbE-&!QM3WY*;&N$=96fVX)VnQZVu z=?akgyFa2VXfem#s$6%C&HrR$J=^J$ zdS6*>T1TI=XvWaAw8sJZX{1xJwkCh9e}?YdC$FV09Fj7^3ar`6u@K41M9eY)y^Be( zGRI6ZsvxqED`{q45Vr>iy>f{6^nT_st$dEBQ)p=nT;@u&k^|-?#frc&t;8UktengN zNU?&rkIsRp&amzVq)g@d+7!Aj{12El!3US842q0rr@C5DXUwSXxD2gn4^rXRV@tD zARejfA^cKkB}4JTk(C>~I%>N|1SmrRLT|l-gZrl%n*QWjcxKU`JR2S{{mC``Q3sH8uZ{37` zDS{0SB1kSTH#sfkswlaVqp@&fON!HyiuTI-oY3Jvii$e6OV_z)Jvy;~VtUra*TJSD zshppwEqvdSJg>kBXH9JqW21<5r97-{a)mU?*Hhe7u%yLkmKCkUTQHk4GQ(WkeR)|` zh^(y@TShw~dRNGs#F9V z##BU~L{)1-+1^Gq7~|7*+}g55Yfm@Z1{9et*5%51)}>iOPN|p3I9U4g7aczlDDaXi zL^8yVPWP7L0wKw7E^~0@V9T3nTZse-&mpvj-f1;d&u&If1Q1I;L(A1DK*ytL8^z=$Aj0yx>E>2rFsR5{;N)FLB9}ED#3anFzk2+)Bf0{8!J)y=WP{dq)dV|5J2Dhy_G%WxH!mtPlF zP;$2~wi0s6F$o2o1P`&g=@KnhUWSR|RW|1!0x2Nfiu#dC)0&6zFdFrXVLl2o_)jT4 z3GDGSO=<%|%>*H_(nvy-OL8TCPYoMy%`DJa11BOHpM`ZsCCc}U2`VL|Jz(5JOe%Zg zVe0Rc?hkTv1RL9hvSaaUv|@P?-w)hxxARBQ+8S_4Ft`BEP?f=r5~*StcfR02w6b4Y z)njM?CKsD2%4y(eY_ljU;%Hj4%Di_<9%^*%HU`+$*(R(=yF{IP&<)>0~|yo~-w^C8GygfPsbv$5y5BP?s64tMdqO zTK#m0cWPC{Mu6}D13%Rp!goqXrP8*;lrEH43iTY2_?*Ia>orp%Xqh3m0-4zM^z8tc{v{<28l4t`AcvAs-RZ*a|;oZzUBC^#Zz_qa^EgAC!!8oX27Az{) zA_3MDHViX5zzM>(IEhc^`uTGf7xFg-e-Fh7GtD??q=KnD$8}NI5mkpUJsefll2KJS zIV;i17})cCCCW)ZCr_)JBa=+!XHyRaUs2~lD(nDw={bNa)JIK>nvKwYz(YJBiC51K z^35%Rp#@V-*95Gq*@AC=&@}fMl5;!_7G;X+=BuX!pB53qEPRyc1CJ7_bUDpCn1p96KhNRtQJ;&FUP1^ekx|gna&b)6z5Ole1;#89|k5- zc_`r_^%ZcW*Aj?d&|8a5CpBW>*}5v@RR*I(=!~w&q}1{D=f0cT#hQdHNZ^cfK{y0L zTnC1{<6t8=B3kXs1o#>#I`z3JIjPlFO4``E8z1Smmm&b+dZhGJXPA~kEs9rNHWGpX zbF$LwRA#%sa3;WA@z}P!B&CmMGKNj{{p5l*nMt`Ly#G{=eV!~GeNz&)a!_jP)jXHP zQ@6N+p=CfopNj(6f)?j7#rsF$MCEsQ@&m{3q3j>$FT};02->a-dc9WrHS<-TlBVU* z^D&XAzjQh(n}@!fq26Y1#-%Gb-=ZPyC2DW&>R&Big{!z*PfkL^t_-ZnQD0Whql*kL~5) zn+}eS0A@4{02>%50JnZ$Aw_zfj_Vi6=bH5O0HcF2Y+L0SrMEi?#`vmcGI1K`1!6*) zHEaRbO!!n<1M&Eg7QWufKb>a&$tJ%fT>)Y6RAjgs`Fu7@vjP?bCcnGhWmBSCFaIa; zDI%J*e02iYpS_giLe`+w!JjwIM`;O5?bZ_L^2(SVXVYjbZrY($skT4eKI}{o3FF_Y ztDzZ?vvpml+Lmc)nnn|PbzLZRg`3VuE{YmxS?P*{SAIM$p#3TgGRU&R5fs-v{WVMq z%to;EHE&*pm~CzNj!DagkW|w^B!Od;7{F#1D}`wZSzWA(T=t5El2ox@bNY@y z`_7`pxraB7U0%jgS%jB{%(eA6Q<(kKAVVXPR{+jxSlnz;BJV`NYcRNivF)~75oml( zHIwwi)a-PsobV%zIc_)=`*nwwcF$OT;uVYLQ*DHCO`hL(q;KGhE{s~r_fF94}A3(pFje?NSZ~!-1FS{LvZJM}Maf5IM)CAQ)n*ywE1D=rjww%U<&xr= zUEJoE>MLO)%f#&gO4DfTtL%}*fG&;lF)gjX@GHvCZ$;x9&d$PtA-66Qu`kE1#ns1D z2eq+vSo%*Ta{d!mF)7KnqytD+{yA4|{c|Of+CkKPx3u>VGh)1Q$e9&2ye#Qp8fFWQ zrKdK3q<~^ElLs5f8NT+D$pV{XyQIj)7-i?L!aYJuRH zDuVI)IY{-HzTsEyJ;}M=mL&AA0rZJ)DKk#|1?4#MB49Rye3d}= z;xMK?65&Y})VD^FK?6lXSd92>PALoDUdFiUA zoNkv&rAM5e3KV;r&x)8*9xoy6=@Q}A7L4H#q?jsL^2^JDbBX~yuV93av`r-vb42Uq zKoW-KVb0r6PH_;oyT0tJEK|oL#L=&g_}$An@Ua(JJl@pN&l?GyEi5dY+Y~UV9xS^F z&@uSTbw#ElZQ^D`$!ZZrR-CZ&zO&;d*Jdtc-YyculkPD_d89QH}$7`ynNezTllH~w#u5z(iD_ zy=;V5GeZNfcT|yQ)lrE#pH=9VK^vHw>c022{vnZ64pTg6bJ{PKIZf0|k5Z!OS(!z7 z4xDp@S!1yejA62Ebf*NM>Ggn~m4Q6dhod?d-4GN*8hD^mx45v6)$R0rHZR1pgsQUx z6sZ?8y>nvVl#hw-!jhZG`($>Ul{e@rrrX*rHXkKdmUoU}onni1O36ni8-=v`mNU#z zMF?^^o|*&HRKBn)o7d+yW}q9HGe82Gg7}#Z>1wBTHEx4&BhgpI_Z{uDjk&rDiwLiF zfv%PVp6z&imlaie0ANB1&qnoQ_uwSYI7{%7hS23K*Nr%7QOo$aCwDF6ePPM%_Q9FE z6AyHt$^$ATsnuvN3e5O=@xosHgX=G|a^$g>`?JeLYj#`DX6-rG?%E5pckMG=EH#p# zJ3S^Dm05(_-CmbzCtu@*|8C)c=b9(U-Oe!}lHZ*ga0tAivD}68K-lgV;W!Y+EFVq- zQE~_fPb#mZ+eA2_FPNbF4E=B=84YKFFvKGKqzYMPkno5$+%Ee-9fp~=>jyjV^bkZ> zc-rxUZT52dMLIpbl1@+`+3V?zD`>D^zE)r|rL=XJ_-1jHkD;Ui-UCE-M|n|kFNQsr znOXDku%4!;%4mUP!>BVU(F0IP=NTgsq8Xer#y6q2@+aiN{J<&bwPw);u3pQ0Anz&I zv~EeV+molcqdq7F9DWPr+^=z_pcq{i3a$jjaaF(lBsSHtR8*!Ce38sgzQSZ+(gT{Y z&WYMI`{)Pttv;U3*g9@CS)KyS2oex8L8m25hIDy+T^aWihjeZMhYc*hb8;dMTL+kYv`)z$-E-MwVygRE zR)Sb%D*6fQTh*D9^=`uP5)WhPh|oNs4R=5rl>u!m9ni)#2DGtcKpV>jv_S)M+~74v z(1@5ng+W;&&qlx;gBh~V@=@-*B0;BGND5K*drP|J_i&2Rd-Ao1B~i}yF@fuN8%5IR z$%QsbE}WJs;C)4j2!@%yru>f+;4?tOL;*Tda0O-LX z&|@`BCr(b%Rxo2AF)Pd0i729Y3M}ncwBz=kq`+!Mi9EYtlQDk57-az-?P767JhEiR z%JB+8B4esb(Lypp?efwI=B;HqK8lN1G5uU$U-x?}kEPGNt&QYJS2RkaOAWhU`4vWk zRQ(BhQQ78*zB%2J>xz008MPjE*|NP1C&tojax2V8bxtdwb&Y*6pLp9oq8njfGs4NB z)6Q{}3m4^*2$t`2Gs2yvpI-r_O$FGG3fLGd^kiNXX|j!BWDO}**Ve?K6(^tKJVvE6 zX3q_Z^z?K}^(+34z%>f51;8d9z^Zx6zj``c&Za24eWO01csz@@i3X3?BU?jc@ioI? z%P!eMHY+LO;-b!?f}HE9R@k~xGZ@32+iE{W5ixG6K~k%#pqqLO#AvbLBLV0x@-q3_ zT5j`uRrIqttVIoa=8FczpEJQlq@K%NGA35}J_p8iyF~ZZ;)EH7k(1=|W0a#CAT!Fu zkn#H+8U&m}@=L0}Jh|AN$d`QPorKe6yPj*o1U>$y?SFFpt$CkLCrl^0bhfiAW;<(| z?bytAOdPFqo_^hVeYku0;poTRgTuZ34@XZQAL4zPFL$;Ncb>9htyJRK&f)ftcy;&w z;gat=`}=$Q%j&<~-rhMl;1c^g+feA}s*aWwv-(@wn%(WoJz(G79^On@_-|e=fceSZ z-ix|*QlDVp`@1^_)%mM0V9i`Z3)Y-npM~rG@GqSx!+8wvdl8-UYzzfy;XYYEy&njV;O_$z@Zs-WmhgWlolWxi z%Ks>I8!xnqY5qr{+w^9f)9;@~pzNkj8EmZP_Qi>S#T%yTQJs? zOx!37iMTl9ut=>{=OkyVC@2u4#34=&D+)9JdptzqP04*4wf zqA+*T$dd%iex?zpQ}Y8v!bEC631#}&rQeqh&U3&r1R)LQCJYz=SOs#QBPUO}qejky z6)_AL8cQThbq0&1E|mpgvn$UF>-K5*SQ;gY=`wedDaa=7el6N7!$`zL8J&zKf>9Gw z{U&MBQAvX}O+kSU)mi@+vxS_6Ef&mLm<|NyGFmr+pR#^)iQNewpp*1GiWC0LgiU?P zwMjhSDyYevMix3j0#^SCBh)l!C@<41$6#>tDRAFvmE7#XiNf9+t~9Rr!7%x z>G5>hoTO$+Q!T3<%4xRux+&)l`eX5=9mNy8=ta&NI@}?G9*r4;gH*kcP9qd7W9G|V ze?eDW#eCHj1}Te$Hv>u{J0i!ZDExFoZd&_Zize4m){I*~4O+n6c3@uVk}-LaA8bv0 zL=dw78S>-7&i=cd{iE%@*UxsJAHCdr{8Xtkw)bAW*?Wze9Q*C>DkidlYFownlBlTO zAwz(&q9qzW=(1?|U{i{Q4_P#Puu&rt&ci=U12JD{t!e&8iG<_pYakxpl{S@o|F>)^ z|K^?Z`tiHn=Z_C}cwZd+xcC0(VE5_HlgImiz)qpe4l!r>$#I`p+oFr<=u-Nz!5gF7 z?bhswrTVgO!;E~P<-O>S!i@R<7|eM5X17k=ZM`-+Ve|6Y#>wR z)MGV%GDvjr;q~^>!S;_kPv5>&%!BjpX#4T&?VXqE<2NH(oIewszy?i}#7o5a!9_AY z7@rB8$VrKv=x*Lu==Xy{zkAG4-21=DQPevgqHO&3aQhi7(gzV`p5JZ(-|MOOuhOJA zgO^=?uU4Z7g=@P-X8$SY#k>(ey}`_oWED3z?n`qNMo4^$$3ohbm$+k`MI9C< zI_&)5x@6Ql`A9#B?K3g{xWq#!&i9hiN9mz4>9ypqT`1$JUi_B!_X0T=zDS|J1wz;q zkuw2=fEFVV;?v|Xnza@I{dH5zf#8+S5S60Sh_M3i>4_#6Ri}iBoicopt{!kTRh~2B zcn3@w^vc-W8tN(+>ffs=uv&fR2X$SmW?-fObN7-;$ECr`awjLt3wC|&zk@hYdxOZ@ z8r?Ssgw5PZ!%{X@Hmx;W4izL)V*%2+)Udav>G)$yUrH?TP-<@QPI4}Q;{1SrV#-$f z0kZFDltriFXp*Mc(l+dJ+!Xo|K~v*tnhR(N3!SB?u*+jqM;Edf4*Mv@lKkuBq@|K3 zM9%b~n&7L}KJ;8jv`R>3gVP_3e7_Do15uqE(KpOFSDcBYdMopasM|CC@8lW=v}hU~ z3-k?}oR%mNlNF{WeEWr@G_2E&;gD$lO0713o``&$#hiq|E(Fbn zsm*umv;u%B7wGyGjX$E!G@0yTEkw+DHud22YqxxIocn#2ALGzqhC9dUm(~qhl-|2P z@ELgLF1fxwWY^b+_ckj(2XW)%X&g<{)0;Zd8rSFEuoWk;vU0gR)nc$>4$e_v7b&egoIa_g;zUx|0)F>! zr?dTd|0%FB7F$fW7r({31h*r+?Jh7pfC%(hiiLkm1}imL1(Ad$hjhBIMTR1gG{ef? z*qQXTiH$3^%i^%VU4BCyX#P2tNh8PThZ;?z?EDDVFH5IKvnUbMR!@<GHtV`6TWEMVWTec`*gP6*hr-)#`JD^8)BUnd@acR01so$jNl@hb#&cA7vLuxkz$2 zAM9R{-kT0H*c~bCjn45jN;AP%YetoZ7} z^hJ*74 zy_Mz2T;r5TQ@|NH)*QCo`8gWBV7tjG?pbPA#V@MRr)cbg7iYMICov9GsP1WB9Ub$w zb;?h&=rdkSWtYnZUIpe9g98&Vp+n1l49A85{@1NDg++1aAd4+hI+FKL&$7B>!73x+Dy5EV#S=iSRoxoYD{#UR7%_Cy(=TO{ zG6k{?G%giT$WAnc!O3DkEWgC(XpnUlV>W{&&ZCnki)FzK?^(<8vpGdDIxymp%rIe9 zCh2E;pz;mzTWa$2vA~^M#Ve2-G$t`);I3y3WhUu(&I#7In6r7Qn7B}gmdEEXmLsAu zP7#Y<58Wkwm~+S>L!YTcBLH zVUFgL&U{8u;au#qI0h>B(J4lr@Nv?Cv#`~dM`O>u@L8tXe4CJ?MUk%H#g;3`sZpX$ zW{_8ijaUJ0LLfH*r}=uc(1*bN4S5ROIK?jW2Y60EKN!HLy=t;`wkOBa3F@Bo1ITr! zuYqC`9-(PLf9ZLpI-Ib89_>%qi9!tJD?TLyJUXrf_N84(eQjQI=Cf^M!D$7!2W=Yv9mX&AKBFgsaBTmp{7wGCF1zI-`NPw6^|b@CG;y-V=banlq5^m;(rT)bi+UAG?> zR|eWEFgO1lZppwd<}aC-X1?mj7-Q=$TBBxdTSJX+Hk}PyWA=n~+C^2@GH7HSD)!BO z(?jXpbd6bX3R1?gZ`HF8qaY7z{TDcI7{<0`je$1Tg!EaOZGZEOSz6gfpz&@dhI$!n zXB;>4yFg_*B%|BmxQt25R^FP$BJU_bZ=57?{r!5#Lhz4M^PWN{LX|0t8i ziCXSP zHC#C7H7=ag%#B?*u@bp&ssSC5(yHQ?sU0#;{Qg8aWKPM;VDdl38xjLLW$5Z3;0$vP ze|D3TbVoUqmmFd?lt%(8*vTVdqZE$F^=`1nb@0a)a^ z#+V45)TLtbn)`;@Z%Fq(TE61k&Nrk{(UP(?3ClXQi``x({$>Z_+R0)^Vgq2=@kd$4 zx*HF8o87&`%=KLvWZK<$SQ}*;{R^T@^FK1mR7wR)B3b9z6rHC2*XLb$y?40#Y>3<#enWmzWR zTFLKkC8A0g3Io75iKpD$b>!1J@l?eZN>FYno^szDUMO2AOQunsIU)1^7s#uJz_`4! zJ@xgQy*JJalV#}I4B8LUllr0Zl1J8Km}w40@&Z9zd6QP&)H~{-%OBG3#ZogIHh_9| zI7@y9%aE7!d``Hk>|GJes zCVB&VD)_`lLUtIR3(xNqTldA?+k~RrxwFj0myfRw`T&*E&GHdl<7tg~IXSC9{YMiv zQ1+2F8XsFZEPh9Cb@cjm$8jcrbY~?maxoR3BFnq{^&I_7x=d3xknIL+3FZ`;F)!jNx-8`aaSG9?I){;(!%R#gROfYIGSMzvK=Be{ z$hYq58_#?7T|3_g>P^|Dx~39*F!c!Li2}M5@uUDftbigB5rrs_RR|wRSejJgUD(@h zU$zw1ykjiod>@!X1JkB9wX>T5$%M{Bx*~~xdo^ta*cN7UF1IzFiYTkAsowc!E*m2S z+(`?I0bUfr6siUm&v%yR+O0OV<-Vy*l)Y$SO~ZrO^@=Zj_UXdX*Xd`^ziE&I&_RkT z=-$7}f9_lzLU6_o5}ol`lofeR9G>#5a4}Q6Wl$h!Q;OU2VEv4eX_(2yZk2NnXhOWnVFD0Oa5Rw}Sk=klE3{0=Wr?qrPamKL%jH%kdZn z6PJkYwKbQSv}zJUwMzM2=o(@%5OzpdO*KH2emsaVJ4`Z2hVh6~%oQMUaw0b$_CCB0 zht{i6FRK#uPc76E$6j`S@pJfE?d&I}fn{kb1&)VJsZ z_Eiu~=(BJ5Iv1v^%)Hj8IG^JMV;u7kw7M-cqm4hJXLxVeQoX>JF)-n@V_PE%LBwDw zhY+pnZ4r{n%LIpUw9v8`v4M(-;`HR@4Oq|Z5Sm$qcg|!Btm+h@3C`=%?vNjIC+iF4)POFXZrj9u;2e zYQC!H{Tv(V$FAV01KUvW@ zsy6e^okSF$)9j-KfcrtgADswnLq>Y#@>hPIeiZWeEd6YU@o+EDQhXBYXd*jK=sc|( z)aPibV&SrRqGHhE)3}JHtzIcGJ^a_>s80TV_ zI!|HybpXH^gXR`^`P>Q?cHy-I!0d!j`yWD>W*|okfENjR21b( zip1=#m;x4N1y7}#7|&|lkM+h}$_uQHv{JzZNn=ka>h1Rgk7Ljxr0-saD1Yvrc)!rgEqz{;vo`!;6{f%aGYJUHmhytH(2 zvo+cv32~r^(C5axF*xO14|`!DQw^II6~a!vJ*u|jHx9eJ*cnt=R6tx?^D0IC;D8YQ zJU9)GgM;8RfP$#D5gcN2=NF3ruWnjF3_i9ET-Wn z_<1q~7Ct-*E;Q$I=bp?u)0OUfn_WsM)Y|znBR?hE1|Q7BS5a|>Py}Q7Gfu2Km9piV zTX6tLg9meI+(WV4%uARO8H`E*wuWqmUs1OJj#>b%e)}95JjLQ3xC;NIduO3@~O_>*g$sp2WL1K~gY{D)Tqq z7$2YwybF|!tlz-)AGO-t6{%XbL5|u^Cjt-~NImou5WR9_$}haH>y>~YXAp{Hl@FCVApNjm#A%Zrvu+uUln)fEFb3*fKoYnvG( zxz?F~57Sipz6MO@V^6h?zN_M4%UD^uxD1fJQbGz#7a#^|ONx!Zo_D*Cu z`2@w}FFz=ptDyted+2qcUInWgKJfBm&$lmlRt3KbQcVFvG*1BACWjy#Cg>d`pLa1m z20o@B7M@Jg&%MrOfXcS~r8p_}(3G=5Ve(uM+KKt*2g=gNRtWj#8R=fAE09;^1rcPW z!CHBWe~kA34Qk-AW1yJvBo^mvsjrs~_)ss_k7g${Tktm=;|1;Xvm_m8CICLh`8$L{ zQ4?$v4#;`N>n+wx@YG$?$IgIwS+!{|T#fVB(QAZcVl28oy6&lYe6+E)wkpZOe@ za__CJX`Tx0Xs17>^Gvhsrr8>)ON4U|Cd_2s=Sdyp-W0Rp17*j*<3;u(V9VXT+9u;o@*xEUXRg-m&P zGzoP^PKgchZs6{y9^y}lp4W9J6z+XeCCssT>&6X(xRpDW}oxFKE66C|dA zQzyd;OtTW^Jaq~N%EuKs9{L&`=lW~Me2t)YT)GVY##>oG11`-&*Hc(5ga-axUarE6 zb6P(i-kp2+7O7d(ZtJtHof`O#ae!hypU=n#`l*0FoJ#zCl%e)FmkZW1a+8+6W#*c- zH9Lik`{cE(CRaXln>}=(wr2T&omN?bS=Do#*JM=WWftob)9Q~=GMOT=t9#4rRzd!_ z9t^hK`Z-Z|9p?xKU#(=AiF_K51)nK~Nt4n>u+s9efmYko7nJy@t{ZQkb=hiv|MTQ)H`rW!FJD@K?zjwXj&f+>8;~t_a+erN__ga1 zQ#tUE#G*i-)31O&s|PB=P9Uqqgbp&rj`k*KB@!!{&6-+#@l%{UO#wMusc`ie+m3-0 znb?bSRJ_TJ2L<(2W*PDVKxNeBY+Fc&PrVo* zgna-{ovweJiRfcrbUKT)-CkIv!wm10QFs#wsOb5W4aKOQ)ZzT1p-u{cKI(>&@GM(D zijI$gajzK5%?(C>mN7S!&+D8lmMg9G@A+hI{aM}0R;-WHi3nS-_9z4T>%GIHXM1m7 zKW%~Z;Q7Hv*zQu-0iuIet|G){P#-NM?Hju_9871pk-p$b_lC*@nArF%3lroYm>~dIZt3+QTc^J@i`sF@|@=q9*-T>Qo#!E zUmr7`@tr?-^}P5J=a^J+g-fohR_uOiTglJT`E;_9CesU403zQ@>C?!|3>%C{cPJ+x z(R9b7VJJd^I%%~TrCFA{!)a8bcE5}UvX#vbNhzZy9f~}v7<|smirFVW{%#>$D zVOEh5l=j0{_)}lGScKTKeEh|swlA&xG(b2r>(gud4zUs)?jI4!$N$@{yhXpn$d-rp ztphh_r9`Mn)8L3%0{r7PJnEHgM?YHUEgWNC7xtkW5r;u&u#emY;ygn_XH?Az^uY-? z(nK&T(T;53y_GTpMMPD(e&lS3`|tgxgbPc7@SE$hvo57m&nF>ch#v8D>i`Q=gBJXU zK0tn3j9Bt8O}$kNxz!4x$OPl-o13xuw|6#~MXk9`)~C%<)~xDtIpKr9uWZFdh|3B* z4zV?W+rAYy1<#%^5*WNO{XcQjHnv)ABR7z1T1QEHczxQImRh`YkPKRF98(X^RIWBl zKYQJcKpC9i+(rGmV%dO8$mhp^b6(ePTPy#}=&@L7oAoQ0iCZlW>*KZG!mT8uhORm1Av#<~FgnQ#Ha1=OcJ_$p z&g~cHbRK{I^Kkfc{`0};d&Eb5A>%)O9$x-D`VOyUM9#{5`1xmkXIg#l?n>40g;ddt za06&?reh(uL|=gL2V=zDi3}s`QT5cLr{}bBHU8MyCTO`(yWZ+E_qG8o#{C$T{_QXu z#-kdcVSw+Ystt8K_}Dke8uUnhZQQ9aiWgYdnSDPvC2;Bg%ggt8#L#b~xIMS5QliP* zLv)uf>QZa!w1Lx<9Bu`x-YA1$vEY4kkH&w_DM@$niUiy#uw6ie&ejW&WAVO^hlN_Z zb98$M+$urV3A;6_lAqKr{gKd{L>VW`d}jL=0$bb@)6ruFmBEyP0`GrgaO{w4ky!JnZw{KwCupNFHr_&<;E?Ya+` z>sn1vEHKl3c?sfWc6k{uYyke|Y#QC$u=6wY_>b@Y(jKgP{^juJ(bvTYx5m#uf463D zkH5OIm!Ng4o`ZC-BOMJ|3B`<fI zi~!k<$w^p0`W)hamzN;x2?`)S`b^(!5+VwP7?KrRTZ_C8xV&p?A9#I%%{q#pS(~>= z3YRHY8aMoJ9Zo9z+U^D$zVF_$V~j~|1DTYC&ryq=vy`o#fR8xmt9wR0=lxG|UjQn% z*g>;JZl}p4f{i9xBdexmXj<0u!5IitZuj)62?qXnJ3!K+q>jV8LM1nbyU6Cr$aT%? zmy`u`u2>|z`htqQ?&en3Z?`i)4d>o)Q``x%k>5}Um9q53nh11Q zZTWQrsE4T3Msszo-XFAHy?Vvz!r`o#WhPX-3SkiWL8l9{Vmye6hX<*oT&Dz3O_ker zc=N7q2;MEmZ|%RRihLxil(A{&OEfk>$0(*pspz!#Iy{Ff?{nAah{Q0D)MS(P_ZOsO<1d3wPvPj>#nNXwMsBo3R`?h zUX+BNRg1~f0t`t-lbuG9ceVKkoQ_Nc`Z7LUF&^OH75_eywC=*I?)zWj5xBbY~Hr=7nX^G zt0`~|t~t(~QyY?c8Zz)A*`NFbXehq4fCHXbR0Vpd9=->}UQ+q$;Y+Xm-m*%7SGQ@@ zGXMW!!)pMdZct0cv#b@%XkOH0xG|y$Tlf^$xiA9Y5Dl{E$)Ox)1XE;|`w~Ts1=4C6 zEmo#T3DOt5AENwOeMxWd#cq;qkn1_VL2ZNnmFiy(v?SmCjm6O*=7*RbQhrEDP_4|O zOWVCxJC(+OOWdHob2OCkD6F&=G^}2wm-t$}ENdaFX~FV*C@fhY)sRu&WD)9Y0vSgG znf5&)Wn40Rn~ffAfN+IBwz}QH+pL!i-@(f+zJwoJKsA!#Z`mlIGXCHlmUyD7!H=!Y zyO)=nccBA%goe?EoeZDhamPQOo1gEojVIW~Gt~zC*t+*{@C;u*S1+IQ%jfv=y?O~h zwjMrwIC!7+I^BTAbEF3JG`iS3!Mj2MfZwt$;9JDjyNs2N@V8VNJ!*1!k)fb6zt)x^ zuN$k>3sp)L3WY<*XN9A2VL>3s$$uc2hef?`pi3a@DZlCN{3+?q3`<9E0?f0|VWnhMPMhp+b z5ZA#FmteSqFr*>;+Jx0^p-DTI@Ra*cm-N3N9l7$mNUwzS?ues-l2`$9*C;&eYDHn| z@2v&7<-~0-1yBJ}FQUJ}FNHQWIMpmimBNIHq_R&eTJl>8lY#2o@?vQxv{XHh@FXaM zCtX;iUBZ08yo!{~;8~WQlk?Xz8RJSpB(_V7@%bavV@PuYf%{d#+}+sNLfZ!EsI>1% zjsm~Af*1A@>6`T%7=ficzA&gCR+I?!KB`yrFDkbHllxrmzQl9Ea;&k>_fvcr+_`_h zcjx{+%Xh}%0se%f3%V`-1W>@j0i}U=8|XM@**A_YM(WgIq-=i^R}u?&N>#JeJ*T07{zQ6C4sh*P6qXWoKS!GJs5}G_78vY z&_>hGc3G{UJ ziPKUKoZaUElI5}n=y2)>tvw`xurkLBp6`_!=-H5Er5x)Pm9)AbIJVeg`OtIwX1;>b!x(P zjOH#1E=~J%l7&c09LJS2;l`#@Y!&8rx)YDflnWTSMOIA$q3}bX)TiDf z(R0NBn*?eD#2bw8dkk;OyaVl~j(nUj%!4RKihs>KxKks%#T#yWva=Zb*SJqQMoFrN z+V;ycBs=MwQ^g48qvxT~`S4`3)e0T)?Gti|NGIW|n@_}rXe1k@du#OM)b%=^tdFoI z3J}87k)anx=%o?*$d4fH(>VMB>vfG7f~>;t@TB>6u~V*d?-XWCgS(02Dq+U_&k-{x z1vK4{V$_0F(#l$tvyuy0)1qk%M#vWXP<>6I%*AYQ(dLY86sWAV9* zKnX$8I;`puTEBex(p4J-z|K1W#BSGJcj!>#nWkJHUGhan-@Ev2cb`YMx6$(_xOpbH zO&Gcr{CR`}?Ll%yFSX^^YuWt8MYVanI?d*W7cw^xJ6LUvK_q*sf>Vg@_&uX4M%`_-^~zR8Tk198Pc z(qy-CY5N4xClvACJ3Kgjy3y(C7#Cx~C<`ATu}M85A$OF)RHD}cGq$XjK#rvdIb3EP z!9o0)8gkY0I0Xaq_79^De^o28jXD2S)ZCJn|2x#MQa zk9i6(AkeI#P}emr2qs_y)UV8hG?`wwl`5gye#wIYPI*hX#^ z1QAt~bR`IKNvS)LMXDcQn*1&R*?wM#nX6b=%j&pvHMy6jIO4u}cW)X>A#qO%{^Y88 z?0e4)(xaTp7-etw5y9Xun=S9+;{(!xEgvnD!olpWJs?ktNGRb8pl(9?Qxz2A1u7u= zx!fH}8#;GPbq<8^H8cduyE}@*9{r%z#k_VONyjnEkroi2uLbP9{4Qegc@fSt)^r@5 zAQ1#q?K#VyCoR$jFn5*-I-fw+{Ap-~Sugb6;3;92&G?i z@wQwyu6!D876a&+n_pta9;)4!(qgF>hv}8U0XO%2Vn^?BE}_@ zJTV6#d0l{dVWI08IU&jrX;OC&FaiZ0V%&9DE-FNpG~(;GT!~d5pVVq-xE)mv#$rX; zk0Ep=vejh2z16d9fH1?0m(0s+KY@jLJZ zC34{)eRp#?6)?;^@kJs&K_=b;Qvxr zE4YSSLF>uG#CX>BTT$!L!?e|1dl;*%d4O6Ak{?L`?TeBuIGdcE4GjsC4|$XB$$RbX z^+&PUUeHTR$E~$9hib5bhlVq3wXEW;gav(8P#=p_4dT|1_W%5!cD{<1a@L$yNa6f@ z81tGTdGkWw=Dr=$TcW@|bH-HRbRJ91f|c$G#YMiIwu+oXRFOM|ma+H9qiNYN!4bX~ zwnlb@LWmLov=FFAa2k4vx1woXz05U@CqOskmY1AJ1QP8&3bG&-9ub{{`np(mph?QR*WvwuRL z<+`nQA8R%I(-?CkSTwBKh?`mG^%YWsipN?b_MH2$psx}A_B8p|AG#Z~KVVIA6zisD zXj+$-8UB70iiUC{3q?z*LB#O(K}XO-&JbsVL+vc8Dr0IBmH=>?Y-7e$bB z*E*GYapWVZLc>BqO_nw^G@1lK{$iM*oMR#A=EA?Wr6_Kjt!)5p*YRTKp+-^%MtwJW z?_tTg=U!)8;7S5-4W)3@ijw$6B-Rckhf1=Q5NJr4g_pUk!L{}+WabmDPmd`pD=IBE zcWEnJY0aob*Zj}II%P~9^n|8%#LJvrD`6fcUxktL8?H!@(!B z#yQpG+rpBOgq7|?4by{=M79L#r^~Q~2I8R5`a(xY!*ux#1T_U{KeX_n*uFwzI;`ml zvugn&Z`tE8jgo=8#PGyHwMeNM9}e0}Z-KzhNY8VrRFDg}OI!iOlKnlD)PU`u5K&Qm zduYWTGJ+%aS?nq-PU021QJb)k{1>J=OQ13EC-~Yy&=H@aIV2Wj)7T1dq=m>w??K0d zi7L20gumw{{QV(xE?8bhWi|_6EG+j=_35+%OwN{9P zKlPlOr~CGn7%C}lQYH_{?m?PEcPtp6DusOPu9Bks&Tv)QJ=|I>)m^R7CILU%-(lVBFZk zs&pWb8bj0+KjQ&_3Z{$^tj31a#z4Dp`E`w*PZYvk#;lzZy~Y$(J$Zv#>;?>YXOp6~ zrR^ijL$Oyqf*uN~BDEu)YmaK4_Wgr_smT=!b)wP02F8Ea0DjO1V00Rmq}1gf;->C@ z4l7SyDFPYGb}ZMnY-~A2a$JmpK|YeD-UAUOATP$@xwITE(^X|8Xx0mfs{_kuGCn3| zwa{#)<=MnH3VrJ4&m?wNn@c;^gYMk@@B==Xckqsc&=H}q_zmA8crF9t z?N4a01pb-0Kmh8RX~C-h$SdkWR_7`*tC;x>MOIQYb*L|Mvf2%y48IS`DCo9l;q#%4 zc(f5d_6Q_%ACi^GS$(>(jlk{}9R%DK`l@*<}gayhHebrdtI=5E#Ij#m&bUV&spF*HfB z!!q?GE8{!Cw!+vdybufqgQflb{iU6qrQhIxORrveqmh?oOUEzwk4}F7T^I4a3eBfX zSut7mQ)B)?P8?qK{PlzX48>*-SR79`pR;#(AS@2@Y0ncDh0&AXu%q^^h5cLE-(T6; zIX*g({cIl|9v=UGVrhA1<0(w!^~QM#YL> zPv;k~c@57-#(`pUhnkug8>$oUg_;CQ`E-h`nkWJFLAtUaQwqXw1wmC$)0^oy?C3y3 zU{82RK)}uUNKL3KvJsf%JW-Z>EJ6rXI0Jli5x&AuTf`lhxm5*@}DJ<+0g4=5VOWRr{`PXU(}Cy|j|;il z;FwQ)b;!-lt;=h?oAaD$UUjB5uUA^x^DL>D_ zp`k6TpoB#HCBzUx<3cFpESuA=b!O_khQ%?KjcMSB1w%DSFd z#(#}Zxg;}%QXqwFr-3@rpn|H_g{~_an6lI&jgE3qlBPC6{7+%kTC-*=)wm&AUA!bb z<1(>xRBq67eXm2#@AT>qBso^zeZ_{OJ*)BODu7oO)R<{ad9F2gsTqsQEHKtIc zii6{o+8Y6|7jw0R&0svsLV7}oFu1;fg#T5pytW}x{DHlna zi|j{nO@Sc3k7*ENx;5hpuqr$QG1>3kmjP*5iVk`q&&F|ZQi}VckSOjdgk0?KK`q@ z!K-iFx4V`43#V3eNaNkbGfcG@?Ha~ff_Rp(7NeY!_qkde8q9|w=P;0RlB1wV#hQx- zNeZJbl{$2@E_I2uMp)E&ud%?=?ll;9xl_%J243o_uLF^@Do2Ppuj(d%XBv+&CqgqH zQ!|d5RMn9t=(?bJ83m%G#h1F3Y&0-aE?m1>GfEqUYt~|pb(*Vr*>w(ftn?BL8qz82 zc?!X|O$`SWVnp%JieFx9zi_7wVdIfK519#rhJ~1E&0fs7)7kAxH}o%kpdRxy}?OI3CZTz zfb|AZ7KFdh0D;n79IDizN*yXKMeJ#y4Ekj1tFOL>hPfX(qKs|&WMtr{&w)M#h8!4b z)_#l~QL&>lY_`Nx-Ijh$jc)z&E|7JWd7u7*-I`TLHop#Yr&ekRW*Qm#tUW?#(pq*c z_n#l*SL)M|lLzPTTe4rsC8Z6QT1>#1b7vQff|`xxvjsj9L6Q< z6FC}n0?KzhvOMeUzU9GpfZtpDmd02XJquBc)gRfY-D6vwHhR<1S+?aFDcQHv_^VAh zw-Yvtjecq0$I<67&4S?)ilUhn9O-w!yPSGt@I18!-sSbyWmp^eciMOwBhn^>BBvLrB3@KX$oGTQ$Y^paHpC38)#lGTJ?ngePR(KG zje{(=w1#59No}-!tu>KB6FP(BOQrW;NU3UqV2(7O3N!m?l7OrbXly#Q57DG$Y7((MT{YN4=Rll-$(kHSa|Q_2H4@Zk~%+n~Tu3<5q&!kyunz)DaNE z#K;FB6~SgeNJT)?0i}XcDdmHo@^UDBMpqKbiQko={O;ba~5ETC{va7Lenxuv#sd)KE`z}45imXPj_gjF*(&9DNM@w)m?zh z4z=)T2~k^Vw1`;QUI`h23+Qk59L=$Hp8Lu2GW-qbFX}WVEuS#QhtTz(VmotM0XZ^+ z1^|9c%>9#m59k8`pKF^$9Wh;L2ca@=2q~=OJ5k#w#02uYC=z)8#NV&2yFm-$TS!0XFB^Mx-1==h;#uPHAc-KfFQuPcSYAe}F8Fg1^ zj@Y|D$0W#FRMd;T80KJ82viw$Xe7i>u?YiEF6>5=nvz{ueF81BeCcK(J0(+PuXLFy zk+!z}5R*}i)fAgj^S9oi92?=fDLN%GK*b%-0eeVRp$Vf`C4G2@hE6Np6!ME6yJRbT zxLNPxPjPaE&x=vc-YYepbOj|dzzSEdO{YGAKnguvd;DxI+-N=OK88_mJRBJ_jQdh! zZR=a9f&K|H(+ zTtm0nH6eP<%kme5FSE!S#^f^}vWKOe$Phuz4cfFtAB-_Z%(zl3czb)^vyNm$uivs>iNLToEXtkt z&RfEwxnPNsi)o~{#7(7K{XXbUXPy05;Esb=`hugwQUPy{h^i~>b25YGP%hVmG?q}?( zdrE(=Q-9U|;`sncX z_0jF?*FF4qJA~5fQ_O!s<2|Flhfwy9!K!;jzxZ`PUpJ4YtL`3uuEXaMd>*$}PI?gD zfbg!!-&=Ke#HR>uYe5n953Z-{Vx{{sfYpA|s_nX1@mor6t-4!95`?}$==WO;W1U`) z`g#$$uZ?)S=W&wL!^AgQ74{!((FI6z-(gB;<=M%@1=gY;OFs+7x4E< z2Ln4#F!16T1zzlIV_@e61zzmFIBDG;L)HyS?QB5S)e~qXd)PChPg)LpD~{Y(H08h1 z-#_6by6;oJ>wZZ6HTTEVf8@SM{dMOXcrrv8Te&(we7{+#+xH^)_=AnYXe8se)* zM6oqORyR}@pUB|{p&H?dfuKrT%H65^0@1@Mm~^x;43&Wcle~IL7^+_67#)C5u8H1dy+4XrfGT~&QvQPa12;vQQ@CK^sD1KfBoSB^iPeEhhw ztFp+6FXb@PSKS9))x?g`0Nz_#>qgUhvEP2%-`Bg}?G)ui3dBC0s(w&6R6jo!EvZC3 z4ZywDnCjvaD01RPG>y78-ytQ#y{7))ZPlXsWj?nypIgpW$x)>0Ng{SMGCQFDY0YCE zwC*yuHLg(Y7 z;2#OluOS(&P{u3L@H|Yh?#nzMXWl9x82RPotPO=$xkK_N%CbqAt#;QtPspqJC`l13 zJx|(}aeJB8EYUtvOEWocElEdL;tKrDnqi2KH7F#KiwdgGQ7y}A<(}1ozf?ts_9NZk zjeJ?I2)#FGMX=C1780ChEdf#5z)2GE~+>KnnUc9Ckwixcu}@x6=Li(8nB@27x+ zsxU-+N&yosB8nKiC`F7+IsqID6GUBQx1wmPdyT9IGbYpvnZMDu3XzW@0^A}`W0)3`Hf|Rh>zTrEA^;wb)~P&M-~6^ql%{~ zy29G7s0J4k=gx6g%`qMP)5yOe5e|2dTzeZ+I5E}^jsa;79K#NdffW0x%k%}Y+}|D5 zubmyezdK38Yeo)el9W-RHwLd1ejUaUfClk)v4c(Rz@R?x0#)k`$#u{OWd_J@Gjs>- zk`q=$1H2}zhRvrTM)LwWLbx*qJg{qCx53~J&qKP{uJOz?xK}kb?^T2Q)nrx@at%_h zga^7SA`4Azxvg@~y*33^knYC-id! zI3@mm3_;VP*@Nu>Dx2y}U2y4MAus9aPGFZUKdq#O7E98WXkPos! zE+f-ngwJAE^!EV&67<*+@B@DzAq3eGFhr=itNkW|ltaK1Eb|WuQ7~{IuuckaTrK8V zI7=F-8{m~C-V5jwX9)yKxWokH)KbD}Op%{3^3x{~dCifR_yAEWh77dvX)MrpVwJUi zv`Z4lYoZ^Q{JwGjYGhntZbMf6YF7VrY3SzOy_(&-d6hKuZ4}#9z@{PbbIT&r^RVu; z3NCW#agia*MND5?>g$z)A(!gw)hqpaxx6$&I0rlG8way3N@*#tiWJ;WP#;!$;{GTi zpeN9W+PxKJZ$}ywAQwbrpY^oxpCm3UWDr2_s?~(#QE5av6$l!n$0qdtf;SrtqFhJ_ zMN1u&wM|t^ai61?tPqVM>(Ln5)C|tToQBrPZR6crg{8;nmu7U-)R|Y`dd#ZYzhjI7 zTJHg|c^r&SfDRq?;LmF09uW$HL(dcrGD2vB<7e0;Wc5nCAG(3K2v@IdUZ?T8r8+lYo>+UB-&Eck=}3<52Px166KgZnmhio6XOf5D7b zG1vVMaZCz1BDI146xcC(IN3To6ZpcPdi0xM6bec9{mB2Uz2WRfs3PTGMlO6wB^LiY zq#){C`2+e!>&gBFeUi;p{}X+)6qJ9!fixNUd+PH|a^)XUC{O%d@qv*$^nDTL{s;UJ z80S{*|49kL7^{CNLTp~uAFE&vIBo2I7Gbo<>Yr+XgOtl(8*!qRk%(k}*{>*suQ&c@ zngL<WaIxRrc6E8_%A3%JWBY*XXgLJ^F)mG2~~r% z$6m~=_P(mv7r&YRi(b25d}e+g%iK@_wfj-eD{>16Jjzo*TXxN{qIxw~$YvnOw z7>fb|5C2SIME890oB2m_!Qq1P)mP^4M!eQ|7=87X`8y)NI;p-H%=~{)4rRaB|7R}3 z{!h8ucm8*|++L)D=KoIN%OKktMi+57z`I#g@N3TF+BrP(e<{9|XAv=NWZA|KMd-b1 zKQ3bYRDK_Ai*E^5{DW8q5uEsYv7Gk|-(l%vDd_jZEKAbzGb}!!Vh+WIu-xm&QF|rh zmt6dsSp{X0by)5scjPXn8t7wY1(>5KA8;3NNXAn#Ml`ciY|Wv}J=iKwo;3mMbjGQ~W4NQTkg?!kx@^ewL19yf9b~MScsR zcd1^Tv~3TGui^7#$t)_()_c}#YwB)6zg{05de)_|DGUV9>mv@*w`c9|ukP%uGQ06L zh0zwVyCh>uQA?^QC1K<4QeB3r`vtDXJ-!;2_yzAZ#Gq>6n@EV$p~%5I=p(D)dFY1Z zd$<=-YS**Ahn;W%M11C1!P0qnwWRLN5ynW26$S>CiXbFjLSnqc6yN0~rCl->Jiub~ znlu<8wMfU364m||MIZn=!Vdum(wu4&q3_ZniC)qCNKfae-?dEK#GbiqmUqdsJ?zZ1USpi*5ajYt#@F>!gfgth| zGY3YU8JT$ashN!wjzxP`mRsH$f1*~-BmPX`6LTpxcPpNf3hhpq{msS6gi>m^;3ruJ zVP$4L7&W&p&ZO%5!uQH=kuNx#yq?m*#F?rWfg3!vBr`E?_(6o}{lx!Kgm&||#2L72-%*HB+u!M%pwF-L$tZc4QUUJL zFO2n9q6Fr!$SPZ-Pif{z~02SN(Mk3!1NE}{KX zx8N=Lzr|9Ti%6B-SXD=h`-K~l6@AEEL$2I^6}tw9&3_-WG)NSOY>v}^t9*@$h%MDb z=D&7Jyf**On5F>mlOgQX_i>cNcp*y1NRBSkFuP2K13yAv?+P}+j1mk@5??tHNRlb6 zgtFyfZ#;8oaY`J#yd8cSL;IOuYfs}UJR1l7Pj8dq^*NkZa%ir$v>`;~0;~#fki)ZNZ05&1NPS-1nl@Gj3;n$1^^|z2OU>QvQW6|0?6=cWJB6R zyv`ackM3V_gcVoD?sp+_I<1@l3(qsNCt1oT^<(rS5W!EE9HrThP<0ZPV9nWtI8=(m zpJ(**WP^Vm^Uo9h;Ve(O{PT!^*7;|Rf1YwJTwr5^Z&7qs7_{Tyb96yFcZ<4;TIXi` z%P_~+54TV8^y>3I9UflCeN@t($8a;8xMQV$=H0{r(u3X&?pp6hHnQOo%t9YXF5F|V)!znjD6%k! zbkCxA@Mh8#kom?N=YYS*ka%C=M$ z=%F{Dt6#6=6$~>;ukTRHC6_R(*$>8dsA3e1&El_KTY4m5OL~?^Y2NsZ?|nj>f|~*Ck6;`vrRg?$bN=j0;sN+l$YWyVZmxuo?i_SBKFc zJcDerD$w!)oB`x04`Vo_-i-wZC|-d}Yyv1fe(&R_YxRdo7Rq=EP{P!ed35kbOawlE zEYtU0dyocKVcN#rJM?KgUZ!`$M#W@T)m*7gRY6%~9l{w&QO)vlsn)KepLKCy8#*g2 zm)180)#Q25zcfn+0Kjl+Z3jBj$6WnnG@j6_LqB}OFsNQ~>h|_QICTeMwNmuqK6SnZ z{y%zxD)V#?2!I?+@=F1VXFypvzfrt`Zx^$HYl!w0_QNa-E@s0|XmB*nceU)e*TvJ- zoISoLc^^~%a5E;U%#oMVCwVlKiCMKc z;qtHRTSaVMYnkzWjO4LmXL3hWA&`HW{j@#dh;kuPs^LWAgJa+U(NC!Cr7KWfZ|tHzAE9iY-Gc1#PF;LrIgi+& zg?H_Kj>0Q%yg*M5EmO?f9Q1&aT&sEaPsls2kpxw%UjlJFpgHO zmh#`uC=T>|6lI}ps_cmggB-u^zkZeH<9FddCot=qjI7$Bn~~6Cip&_1_9_epaA8}& zuDse>VUDWhGKzJSdktH#?Eyl3{Ix+@o zI+RVp7KNKXUqN)ja(eh^$Ztw^3SgS^9)(|W$1}szK1tC>4zyNEN%4H;lk9o-*)!ZG z9Qxr=r_;;HJSY5_(nx6c*Jz@}_6^c&~C-8gF}y_>10hh13PHZ*WZXAQBL$X5l^p0=ejwWWX-n~d?L3NAYj9s0)VCftH0 zhKr2ZLrwr-t?D2yr+4f^e<32Zu+DOrIu`+#+vudK0e?UY;Jj zKXUO1DBvf^uXRR45IvYMdH|bWVs3s)ud^2ilicUW)V^=MkHarxqW_oRkODMbLMgGO zt+#vDLJj9$m7mp<8fx{Pok?V80_co>+GaIxl2aM>w6%pTsS3FW++@nHglR@ywO~%E=ze-k)RdGq?X$J^6}hJij}M z%Xmsy;D9a~#lwY{NN9iz+|g)~W83nc(Y8s<+axugxuB25a~XDDzr-xdyu*rpfVhmj zjq{ST@Wkw~USnZn`6|jU_o1(J%iHw^@Wb3L-5(FSj*OOoACYH{GoUa`sJJ)rzFZ^h zeR(;UO{)ZRXqBLeR>=xlB~x&Puj@YH{y`f_*wDTy&0Ad~wd-guTGuVs6#}%dM2XH> zOE==Sqd&vSyAFI!8WBk8RZ`ESr$=Ub4SJLyjZ7$d|C?|9WWlZ9u$w0}yIEpfYlv_q z%gf2^os-PjIZ4yb35uN)sH>HC&V+VOviQ!KI}Nx)XeJif3|ZYeYx^M6aMVaG?&O|} ztK%kx=}h?)hgMeoXn8rBy$aEsRfw8aAt_cNQHT|zNjHZUhX0#!Z(>!rT`6>za^(QNo^Ol z5BA?4yxDzoB%8m%7keP{W5iMls4S?M?h_n1xBi;sD2RfQG%1P4s0u`e5x6(*gSx>MY5TgTx=Y>nV8t$jrBbFR#?yR$wDYg1>Tgfm0FNk!dT=@_Vs9r zJi~;gs8fsv>D$I>LKF0DB%NS8qDcNJIuSrS^zA$vg{P>h2uIz2qvdPh&Bn|%DFnA$3=NR$jL z(;=@<&Z=6z)jN-dd6=Fu8}2k3_*N@Khn5wrD6T<={!793#ryewdwcir(7hpHJjwS9 zOHbH$uXp#|yMuT1L|nzn>T8=djdDrrCZaU6t2kk$sfq8_rkoOP)iq`&UT9_(pOQcm z(I{9l{kC`(LosY+M3JX&Dq+jI;PiKx)BorxVXGtovR#xeP}X;0A4Rky8K%@khLjW@ z#s>GiVsOTkkF#Q_;>90p{$_Z+wqZ=_f^eJV8Ki{%rv6YQEZR!n+&IRSuDOpFLM3K` zytE!=h`t(S!1W|_K|cd>e8fnUHe>l!EOzVft|-D zk2@!A1shN5TSIk+F--(=l8`m)pu)uTKV}o+=A%vc_%54pCi1Y@Wj+%e&b`$8i%Mwx zP4XEXVo{Pr#KLbT-FefN%)YtmUSW!POy?Ek~EZwt#7*_U4p(iYh*aDUnoHE?i&$a9?Y*KDE` zH3J1gEWKTI(cCuXolx?B*3PlEUcbgglxt`GU$~3p#rRApG(0B1Z^G}x);JOhX0q#1 zJK%bge*6Cm%A6w&L za7~O~YaGCoqiHbtZgQeaff}>IoP257R%r0BP^?&D1RX|%$b>r^hUUkz`}kCQjH(cx zH3|n&@D}>>7JFg|b&T?U#-$WmS2hx_hB`sF4umhvJB7~AZLKzrS!lGF_cVdbrQ-1&O2=AZ z9wO`2EKq@%5md~nRI*PNb*ht$;E1<33!P>kRCcH0&=z9RBMsNMgup42qNI`jAv`dSm)%RAw*!n&R z2t2n}Zzarbs753&FuE-2H`Owt#7Z67FnR5SSo-?i?Kn=OQIKAvLd=~ZHP;E3 z6(Z?15Mn3F5SnVZ7TO$YYE3v@Z41ciEY^CE=0N6d7KIsf8ouC~OT*+DVz$?_fM8esFJY4wSo_o?xB! zV$WnVN!C|r)G7~H>E57P8>M3|xyaWG=*T|o5-znLjPKHmP!{@nB?Q@z9|51cOBc={ z|2NPa2x`5pw3)kHBh~yM*SE!GG#G@)>6{_Y^f}5R=+5p}PTAycB29&CSPdhX#EMUc z$%UpXy^i~t7@WI8lhscb-P_Elm?3P>sQFh&w=LL{bv|X!SnC^gvPnvjbiSj;ccK6{ zT88!}LozAj*U=>RS1^=dGp$n|BVFMPdGS?21?MJFT6Em^H=4dMRzlrfg2F8e$UIUr zJ)aDha3q5V7QSJ+iwLBafE3Qx{|8e420-fm!ao7Oul{&&@bf}aKQoHsoATc7VS}7W zQUhLu-uuD=CNo+qNtnQrB092wa7lBWx^#(rxnCF7A-Z!UL)h5gJ;3mT{Pwnvxv`Qz z5B^>m`HgTLfa9@LFB1m6$a&g)Wi|o@^Bk8l*%|M!42~DT1a7dwIx6&sq@xpTM~GV*-iWXz}QO8#KgI%$V&bpz=w+Q`EEt*rXsyjL4b zbK~W3l~FHFPyO(3*K1fKy@vk>Ik7{b%u(D!@4`Ns8N0c~7a{K6L*hvvu|%sE5f82>ioRMd`0p0k z?EY0Eo3p6E`7)2Qsk((E6&oqIzgf;vNqh^M)DUKGlJ8Dyr4;{D}?fQwZ()j4Akt?h5p89Tk!Y3#Yi*SOoOoYBhHJkbsBukJ4ocVV&QKLnVs-v^j8-L{CbvJL_NGLtdmAP)cI zCVs7R_lcJtJQkVzH(MX}UIKOU*G)Uh#>vO82me>k`+ORQcKfS?kEe%wJG(z_z5BMa zt_FL3oTKmAY;SPVU`FHy4}+IaH_aV`B8;f=-bUNdC>V=J*m2_qU2(Hm*t1rx7MeS@ zTA@eZwF=eD#&%vU)*ImGCXZF_f?eniCx8nx1s7E*5cjeSl%W zJPxx^Jg7A_fxhHmN^P_kHy%bg_6RrL*iPLwsKF1|;%ji+MITRRguQ7Cd?_6ag#~{S zd$+uNUYMpOL=C${mY(4fks3j1I35Q5khgwB3JLD1o6v`bJ!Uo9Oo+u1WJ5fTmTgm; zkfEB8DvIRvY}_;L=pu&gjUs|OCN2pV;81nm#53{I^&;{tP`@s4Ud`0{rMbOba4sXq z<=ui(u#J z`hoQJk++2#3u876v^Iwk$aSZ-X!VwtWgMFSksBd*&78QryfbQ3P{~a64JV|gSGB7! zr+Zj+efO%vz}dm>)uw3O+ZS|3O&4cvS+l3TYM+dDp(l+H#S0tveJ`AGB)VS4gm^N^ zYdm$x_EEzI-E(xv&bS7S{ZRHP7z{|BMs70OlAF&$|8}(-5pD&wyZgoN=8cVqc@xiRJP-^2MIwnxEjemSHO-*92fa{vEbYg_iYoKbT);Z`w6TOb|Ha_ z{2blf4zF*p0}s$K6k1}YYxKkjplwu<71lQr{JcbQX5u;)4ef=kG!3rN85jQAp(AB> zL%d^4qg;yOCB}%fjI0c|S<69`?!ARQ<)u7Xf=hw8e3KM)f8rIY`%JjZMfNNzS?;xeGrj*q42mDVIXK#TvA4Z-w0H34bo<@z7Rez={!OT{ z-`6)t0H-4BwxB5Dv86lIm?_+#XS~0Nm~PlSt(PQ4kMZ_QdKh!)gZ(A_L738;$3i4q-3I?^LPEX_cDwX6n6`r%k|qC= z-6DiNEZvU~a<%z3k}&ILD*P5{cfHK*hQ4)rdI}^8)Qn))FkJ&+3$gG%+9(H_m!>{9;0*t-jWkvvz>dxSd4cZl~FEb0$zJxG~9XAKiKuyV)OLG z75kSoy994scPOHoE}q#8eT7;fa_cH#MrrAjK~^p2-0TEHGRYr*Hun7Q|8PDBcyep{Frg}Lq5+HV z<}6Z6=rMiy)kVF75kjNG-IHSe6)FM*V0-KBo+-#YN(QK!?!ul8Mj45fO#R@; zziI{!w?6F336KM)VPYq=AqLe&%xV`gNBm?MqC7MXrU?D3Mzpj0diSVyOhsR`flaCd z>(}qj(o3WvRhBpIEh&=EyDKbq7kec_8~tutdY)XY>K9vkuWRc?{XnW$IA{YHLu68F z+J~Iq4sVV-jv!mO=C2ySWRYg%Uby2B`gf@NK7)|22OAssdN5pG9?r)3hjVcLVH3`O zUf}%a0_Vq9inTRHsnh#XJ~&#E=HdAxThBandc|cfA=2y*Qbm~ywsa(~U18cW0XWiV z+7Zw*&2WF}^Z*}CPf$KnNd(>A8s#??r8U>#N`D4=1kfGDg@u90#Esi%7Ba4wNNboD zo{NGq6zDnHniP}crdXp!{jp5i-@qqAygx%P-!q%d<}{l%H9IMqohY_HZ9ySso83i< z@ovI3h06A(q%Hfk&{-os`*pCdCcOk&A~Q#$EZtIG^8}!1+~I;WE&`6fLvT_kem!Fq zk0-(z9}A?~>rdDv@cL7PYC)s^=n!=P&!rujcS0c~9Mt+aO*J0OQS#Fv%~nOnM&hQvXH>Ifv3aY~~%uCosDveSvc0NYInmG#h^Si?mtK4MRIQx;h)d z6``IDm8m2*DkG0dS{mQ}%-)`#|GnKs;}r|`SJc(8$aipLYxMZhN#Q1-MqOAg{wnGG zq6b@8?~;yX1ZPZ6K6<~zL#2k$o6J!u#$^ZxOK=%jEv;P3YFmz1%+mcUK0mLkd0uHT z+e>QPElVi!KxwydOeN^|A{#2judky4*5lZFIuOABuPuD z^8RFDs6y0Yc{wi5_GOUi_QdXkz9?sR)gODp^B3*X~hwqZWlnR zGK3DkAr;=!pWYp-k}n{a1%pYjz_R{jh*14i7!32vZFCh6=P2%nL*jL1$t3NE?fx*y z;0AFoOAM;7bWu>Ew#ZX#o%347lp?pW4?14FnMzJIGM|D%@7rKN50Iszy&p{s@6*EN z^C_VR#H~A|(c0{Xn!SAY;PZ40L%vE<^k(q6Wi6v~Z=7QYj?vG2vZ>F@4bPc(>ekFH z;6(0e4NntYR$KZt9@tKu{Dejz3{ghr=-uwtJ`O9&W7vO%8z883S5-EHI#F%oXl3 zp+!9<{|LDJuq&AkLsjxiAMVUCx_`oXJ!M_`0r@5qPLfWC&HeGAXV)vhSZi?h3;vV9BpUuGwCM#HRL82P@1 z_b;;>0J4Z_ZOxV$FD(ie`O92@N#f&)u+8*TsD6vb1QQX>fc(Z+;5J!oA%lU=O+U!O z(oXjn9<>3~pHd3o^G(P}IV&LgDsSLz9O3lwX*1?8;5* zU!MZ?uylUEbE3({!mxn=I24%kpt8&14;mX3*fw&@FK%z`3l0As78q$@k^>{hakZR= zj$l#{Fc&6~6e@bCB&A(_vp+Xp{m}Hk@}uTn)|g~EOOhO>CK%T_hpoX_$J#xlc*+Fs zS->2~o#q^Z!X;$9ArG591F}K8sS5A0l!YS@pPn^p$p|4Kf{1)X)w+O~QHNl76yj)9 zPnpYMy3NhL9Toa18p~r0`_WAe0<;SRXsPpuzrEQ$J=}h^yYv3_?vCT8J?yTB8>J*^ zJ*(j9_ST#2-PcqD?#QWxI7o5~{r>WDe>SA+&w+IPCP+6dAl*p z0WyMcv(Jo^A^B`~pCK7cxZ0-1T@PGIlw^`9nNZCm{}B)+7xP6J|7HdLwe@=_@OKtb z;ID%c^A-2&PuYBx`z?I;-sESQzM{$L!eQmJ{*v9Xp%J^74bEYA~1ZDq$wWaf`?6M9`7T%Ml!4 z8cl*IJnp@}*GeK?M48WBmGX*ag}d?G_dY+ zfK-igr6&Er_p^ECj>D^OVX?4oa1*zVIViM9q$IbGf*82}$ov?70G=85$Z|)diFiYW zP7^hWV9RDnsVUa-4b4GoTYyxU{$++07nFBF))ta6xF>FJg%MqRhnIpLx3>?J$V(v$ zBlUL@zq6VAAibS#CasnO6{g3D=6p?KmO)8fHT`cs8#I#*CAR3?*7`@fP)BJHXZEF zwg)>0Z+1=F!L`{0k4IPUOGCl|QpNzA-3pq`pomqg1GZJ8Lvnodj_?+Bad z{*Y%KH{(@!_9@B_$6-i5s%5*IdV@DwhrHOWtczz^Zh77<>%XQb5XO1m5k$yPM=oyT zYbcUcGi@yw)5h$W7Za7tO5KdBr@%)+yV7*G{K&1HgLk`! z?_VFeH`O&uDoa+WmHc$Yf``b+(nQeBNYy_U>YK=|bLj*}*(H(9Lt>NqnYecsB$Uyh z@P`DB=7KD)Qr>UCY?JpWR=mwlTZrezY~Q);zarZ=;JG#Rg_dU&<@wz17&*TI`>mlz z<()ONQX?RF^Bk+473eY7F$Uq5;z>|Z}xud#PM@q@pL(AG$u?60zS-M^<-6~$}P z;0Q97nk1-7)A8)~WvmHK6ceoGNXH_na<0-c56*4I0Kc~5-KLIrnmcY; zO+AmB_O8~qGIkWzr5R*JQkMhKemAH~VSZy~Cdr4;iK49r|JKjXcY1cV8t4d324Q+< zzu8hZfr;jKVSo}8_RSzXn_Lj*xPTE%s`!9|yZPTl@snb2DzK%_eIK-IPEB6_aEexc zYk;A$`RL4eVS13G(D~mvPj`NQ)|Iy78l~-2K2gWV>B*)gQ3~9EG&C83s{iVO=fp;9 z`7P_E!UWi&yHe&iF##BrLQJ^M2PF-gSW}^gDh{q<+0dI{1jv;Vud3IqPjo3^krQ>{ zn>rt(RLQO)*Xc3xX(9aBVvQRp0l7{aAvS#FBX2EWDoK18R3AcEtO|}5= z0ba`Jo_OUf7+i$eNZpKqnn!>md@~QPy)>(qeIihW1r^GdtD~aGN!C40ea;8t)S~k=Dkn2^pE)rs6NcaB!IRt*P7B!=mUR8F2udVia72 zEH5HbeoT^K7{tP%1G2}%VfdMFQIX@#1Z{eV3|%)3&ymY^lx#_$O}Cdm;5n*%AN{G-ubngVl`L&XxO7ShWED8-&&7`Y_B? zRb8~`;Ec(x&gx%)x({}pv2W9+VAbV1G|`3sYPw$Wpb`3Y*3zX5daa~icWaI#vSQV; zdN?%SYK7X8AF{8*3Noqf37^CxWcWo84QJ=>-uav$J&bSz015tV@Xr(ec{=9=<2tSM zFOwug$MpJ1!4#B}YC0)0eOm||PkGU`C}SmZ1nULs9UZAyueMgKR^Fz)0&M^y^B#6g zx*eeEP0L!@-g>uVxw&&c&;c{EhBNb+W(2wM5Yv@!Q#F8PHb@BtmuxX;=MqO#*pJj_ z5T_{_jVB1G^P%qV#jxokEkX;=%wCRE&%bGbe z`cPVWR9L#62>}8V0)%|t*(4ENf=ATj+UY|lhwM!Y{a{H=v*l${Ju4zmstwqT3YLU{A++ey4*fw&BbT26Su+C=XRvx5;4Sd&mYE4)=s?cyXbWuADAU)T?L# zeK~^05YElpxx>x8)_L~#h&6S@BOs|EEpl=bZDQFGHy$I{vj zZv=!gdKKe4{yTsKFg7?v*GO?fzYy5PgFU>*{Jhq2xp|xRtVuew5%$l|+p-+Xvk=IM z$@npd0Vmox)r+O^ciKwhgU1gRuBMqm2sgJ#uXZp&UD#wW-Do|xw9zUT2fu=; z?McQ~k5XYfm#aA#hq1IsTZ8j4lG#*q)3uY8uAN52llxGb{kx8e029_h^IQz=Z5n=# zl1X;g`o^MMX{Pw9q+NQ~8uOy4eRni$14-G&D{sK4%?jexCPW_80b~tt8ilocyr(0W z4(`x}JKW_C3#Y4Oz!BYv@S=+co$62`ITX&fg7li@o`shIECWz&$8Zas7$cKNq>d}P z*yT49BBs3KV4e^i!SuuMpSIJ^;1K_KUC-W-`xOOJ5;ptmOi!i~RXn6^UV-?ygHSJ! zhbi|1`f<1AATv?Y(mWDL1dk)Mw(o(t1FE$4Oy2ysqA5S(x{R|MO9I%y{qXqfl~Is> zDw8~FJjQLzmngzJwpcJ59bg8Gf)?m%qqyIj3eknms+X3a7Uz|~JVg=i<7^~?%v`D> z)z<}j%mESts*|60hO2Vi%gc8IvnA-N&t-%5WK!r*!J&tu}>`2n+L0-7E@G$ZzduRKG= zidT+OU_O)xX9?x5Q{q-|M=*4MNgz&k=F3iaFO*fhM$mb;4Ixsk&6&r#Zn9*~&Dx04sotI~l?un@Yxxin`;5?a6zq?tx0Z zJc=D*zt9Fsf`xaDHo~WXBWgv+j=$h&vH*wC_6XHmfE{e)EBBzlF~uOjF#=g<1qF^Vvf29zm7Mb9T%=#uj`r@inr$0ToK+Qmv4XXv1?!h-iAvzm-oaK zVunwrvsn?yeaPzgItA;ek)s0#YBGwmx)=U60rj&I4}+R3Q*sjS!nsi54v@_j^}9=4 z75tWZ=2$1LR={g8E33HsgYXPMA(|J|N*VU=QsVt)aKt4gKt195$Vr;3CsbN&u+7sf z#AX){W4OuBOCq{?p~n;Y=!i1hjDNV4+B$KoMX1i@aeVT_W9KIHV>VhfrI^d(kSz22 z&~@qc4We3puA8{;-_xG#gKo(Y#<|@gtAs)+K+OK}3BXVIgZhtQy~7o8U~&ADo}IFB zUsMKbq5Bn)dIA?)q$Rab)C+P%qP^!`c`)t7*;KKe<>f(JY^3Atge$m_41V!YN~)$} zzeWb595wIK+FsA9RUz&Q&&a2&Gbh$^h??NoOcR*q@>4WzbTf4a{>>m9B`90W0!|)G zs62hgCsX$lXLt-VoIf9Lj$v+8@3?EnCuseKK08X_G}fmkupc|s+0i+`RxJlNBrjMv z%_KlLMA^o9w@@l1J8NbY@%BJB8oNZe$e@kmCvSC{o?HCfhjzQ2=W%b)=82&Zw1e?@ zcx}r#H(^hW_#P*F6=^r1<7t;iPiEC})^(J-k+n4`I66n0ac%bVK2%`m6s%QZwXR-b+R2zmGpYO5MNRDwYJGxAhJRgPwG>FlZhORQ1JIE@}M3*rV z3rCBWIy>&1G;vtNhFUvQx7+DB#j^ctdw&1!R%>hMHJVfV9ApSweni?ZiZ8Z@5iIFD z>;byN=u`05AMiFm&yn9QVxIdP)e75mj*FzJ@phIx?qRIZ3h+-w5%08b*nI(6H#PwvJ->m(g&L zhBP95KFTY;&C#~CHn2n+gEY8$nFa%#cI49Q;i|N(bWV#UX%7hAnp|W%_o*4?_R-4@ z4@gPhsgk$1Bqa_wy`6Im>}B$lu2-n#;V8@W zTN#uwL4XzvX)*k?nm`AiXDgPf}Fm%3F}-$N1P2C%Ym? zt!NaZi1&XWqmDn8QqA~Q#!n!HgapRL%Hg++pHMt{1t>VFX3j=tYNRt$*#YS6*ES$p zCnzLVdfS+~lpx>1Otp$QNYmu1Tp+8+aL~604jUM4yL!Iq3P25ie5Ho zN7;7CQne)G7#7GCBn%q?*?osexb!Ju}B#ISJVl@%-}ZdM!+&i>Gz zRS$YYA>p!p=wIcw7I!^5;aI@|SdLtKs<{b01bQ}qAi3URt4QA|7s({Akh;voW-&Qf z+Jgz=V|{rDLP6TH85}9Tu?n4c@3=H!-O@<;JZ@N@gGqZRI&%-efU@R~`T6u2{ycsn zrK!?IWTn*U7F!hsreOOExv{#PRP$(ER^Sn`LFu(AO8GTV@38^&gaF8V7J;-1ya1Cx zWM!vV&CCLgSD-QNM4@@igGMt@h$%ayd zLU>M3xWQIh%WF^m9*b^uPdb6gHx>8HO8+uQ^A+X{mV{y(b+HDz9+rzd<+74ub_l=2 zaEI6(jVy*J+mc#^^;sI*q+ajF7trmB}H%~Y(ULIiTo*Bx)>*Dp7srF>kQQza?~Pwt1=Q- z+Woxs1-DEGmV%Vba2YPQzQAU~Ykw5vp7qKbjpVv*!3udd_#EI_8y!nL8CuUCe~+pq zU&es+!;0Ssop28}avEG5CBG-h$O1Y5X+(k^N6EVoC~Ju03~*OlC+?>(9Ph>S@@px-4qL>@7U#KJ8tu|wB@V_7Q7p`X}Dws4M$5nXNXlp zqlXTEy<@~NY3o~0JKtMI0@@~f?4p%P6lEdpR>CL&!lM~IL9I!RQhPthFWaLi)=`D9 z5v*e;he4K$jk}d$9aG1VMw_Y1$l1gTE#G0`)(i3Fw9u33bD0gMq$nfVq}7%c01f$u z=r1or(TQMGV24hSV(0@f?F&Ow-SV}BP+1}}$MH!oXQ+zZo+uts-)Actv7aAHvSy`= z?5J4Y1BDA)!4XC&&p8JQpOuct0c|EI(8(ya8N?tA3R!(18h92e23UnbtrO^ycsxN2 zFux4bQG&1*vA~EA+tANvi%FnSNsX_~i1I0_)}LO&2BOp3kUm5wD!60xj$1Lkwp(t3 zjsw{^){>^FZ%G?EqUXb&ZWW@jCT>@+XbHQ=E(sSd0zI}Q#5x9G4~O+Z=VVj!g{h1> zr?z36S&ZaVs|_#OQm*psk#t9M7U&L|o;;4}$h;>6S{xZSauXNOHIy~B9q*oVR2uBJ z9I2K%V+e8pKwKy`mNN~9SvY@0k~b%%J7FsVUUQ7Y$QyZRI2r^d(8!I1KW1C8 zE+J!310@{tbVt2=mt1A`1OjL}Rqox1--VMVdD}gN&_JFm7&GhK&4LKz+KHr(5Mi{= z0Tfy8@o~omQ08hfl3kb3U}kR}obv<%?d6!6!um{z7#G|O4Fw?N!k*B})i>hl)ggcg z*1iS_yf-TMufo98#grFL;dzUORSoyeMC>xyvT$%9^NBO9!{Lfo4WtU;-Vu-cv4(bq z?HI@qvGb$hVAByX%x$AMyPS#bye=1Bk|^OeW+ zwKb(ZJu4%r(lq27kmm!DE6wNTA}+3?Z6wwb&pgl)O~S}pBnXY}N@T_ncmX3oc!5f6 zC^NC4Ovi?@5;ipPJ9Xj#>`b=~@1~BK_=)s_gIEk=b_xB|N!CEMn8Z+6s5@YwXQPG1 zDwIX119*w04jDbC{CJNzp0Iij)!2GUST|>mst5Mfq}7_D*C2*aiF+g1{Er{E*4G|R zTnSQG<_r!K336v%tYmr`sD$aAKwX0fCwpQvpQSl&{!tU+**xpY zAPR=b#q3$;Jg9=b!0n>)7PnK`JmZY#{IY@R8hej3O4r-NotDi=Hm^9YoSqen76vJ2 zms9!J90v!fGv`6&6{f05S}kI0b-GJt#|*0zHO=XEdKw$>8mS<-#mnnxJQbp9rP%1I zi|8+ycY5sv%&ewptyc;I74GFy-b0V>eBFccqb|LcvjFnbwRtQxz9gdTNhW(u zKEKNX!@5U#_Z&@Blaw=gEG|Tv(OWU;%ACwN(OBC`1l28cl#Ep&0su?(~FCUJ{`AjL5HT0Nk zbmhW!%^V5QbYb)6Yww`SCTMyVFLdYX_Ft0)s?dP5mAR=0w9JjH44mHVR*;%LZ%61% z;^5qt%DxEkO6yVc)Xvi;MThEI;Ea{+f^UUX|GTh{%VN~0>+_ai!92C+-V7aL;ZadP zv1qN+fb}Sb$BM|+ivZc)vu`V1q_Ef2iOL31&8l0fm{@zJI`j}KGdQ9SRV3NSm3F%K z*P$0G^iS|gdqP**la72IMpgM?(npibNg7dXHd4b-biW6;$;OD#S6Q&H*ifHdKM?f$~{Q3EiO`^O) ze?n1xDzDG0mFIz4W}pvT-m~);j1?^oDY|}EKRZS#6}lSMls}w&<}d#!TpzhhSOE9f zP!KQf#y>OT{P58##u?L!N#ruG-pDeehU_YMWK(}I;dctb1mo(BZ2YVt882a)&jF(W z0+t?n%g~F>G|jj~C;GWuJVdl2i!FlnlonH)(qa^)ELJV4c!Z3dnQtYqGL=ShGe2lY zIL9Q0SI$Z+v8c5-!`;b8gfya_F}iuXOwSZdmSfJ7Y{*tJfvj<5b^x!wRR+ZN-j3!S zt(;Xrxw&!O#j(~8tC3%2qj`a$nJ^J$yQlG-puf12mvPHJU6s;8LM^VnB zA^EP=tJE02u{tu3dpQhxh8S~ZjgKl>R z{{1l(A)jZzO&j;*m1l!c%Fhrx?xT0H=X!A3cG)7rad+Y!_x#d#l~*4s$}88L(ikP+ z!$nKv?D}+ZP*$CCWk1M3)z%aCqrb5C#oeq33&4}dUF^yr*}~_Ib@i?|3JcQhZTtJq>2#i}K!!iZlRPfYjP|PJ>#7(p5?Q3^ zMbAWzIn9a=2g_kQDFjiAEC&d02*~OpDH05BqKCc|BeJ)l=`hGt`aDS+aWf6i?>gm` z5r@!f6+Me@ZqO|_B_B{N1gSjT%Uuvxo7)0~ODk(zL;=x%{)Hx@r^|YXN7LhZNL8(|E$h#}OUq@{2u!jfQr# zV17r|EYivVDWx3Wr4OvHbRDi6xnhCXAO7j^?VAqYfhLnHueG=^m1P6lfS`5H@4Ig@ zM_UL-1vgq8E2CL^5DyaSX*tw6k+G%NG@UA|kJ2DE(2~uzdxGUx*JY?Tgqz9JCDT~1 z{>|@SFBZh{Yb1qQi>3gSo=aC)4pxT6azc4<2AfK#9}nDw~&%W)gU(^DQmIGZi{!ef}ShE~3L-s`q6Nt_s)Ea`M>Ly8UP_ z4IM)^_Ob^BTh%MPb<5e8cpccP#?pYS>dWonD(h5Z@yvn$d%%(|)vme+!a2UqK5hnL zcs+9`DRU*TVS2LdN32*nzQ=g;VWDrUHgKGf*;}cOA#YK;Z)!zAOc_gKeLG8Curaw z7qM1(_p8O^{BZ0Nf`)xSb6HtgOc|?HLrKT5NIaBRM3b^}C%%keVdFj*awhPeTEsYB+;oR6 z!FdvnBi0%#BezwQ&?3wT-osqw2ec`K_cY*AeuOE1wFs(b8jWmJ%%hV=v)H*omw`CP z8N)QMueC_i@ap<{R}@|z@DwL5raj@|cfQutsS=>H1UejfB_6lZgD-sWmAVI^KOQeh zJ_C&~Baw@;E-Hk@Pjx!l%mk^fyiKMDybP|p8*_siLJ)iszI`WN1`oSkUmjTba+waY zI@%cTBodDztDmS|XM$pO5f!_E~oj?GD)&tMj8bw5g$1ZDq_pG_$A`mQYcvC6x3X ze$hfPh*2?{8fhaim&uyNN`ygb*DVsCf2fVaGjjY06>meG+)@$QLJrN=(0xk}g!mv~ zvN8V0yeOsbCRT10fmAKsci08-y zPf;K8IEJH_U1=)x=Zr&_VA;tuzH}t2Wi-o2!o@4OaqNDPYi9~|@Sv-ocM-tAJn7=) z`e(cf`to}+UG2x99ro4fTl?hYbUPxm`pSDh%N zqX1F6x>T@NcPlpsvP=W8#_^}q8+Y_=upt4<`F~M~fwjv2Ul75aA{RaEt!HK}uU^D_ zUw6=arXy53oIv*=D$l~of{0!f_W=R{{giI7`kc?A^W|q;njQRbaA;m^+pQCz*lkT3 zoWmmIG%()jK}bg?fpM*fyD z>T|Rsyl4#Zb}ZP+9NS(6j^9J`fFV1x>@=Cizr?4X5@0+UpFh(FzYQnJtJQmGoq*A& z%@`Sj*qVa?_-2dos#!8+WY+ro!@9Z?hBE|bi>h0xFUnG{;r-STOjW;gVxES;BFl=%eiB@dvT8l}`O zOB&rInMuiF@O9>dMfo=Xr7wjx%o&o?9&G3p=~-<@dltpwRF0X^WEdesrGP=h2+NU@ost*ueX~a2;r@8HcIp)1dBuOeTZVsE8kZ6a3tr z{_yt2^z7MRo_+re|9k#9bnoT}YG@Ixe(Rc*`TVwo*7WP#*hLd?`>1TYbQgS|yRK=u z)gK;Bw#5*e#K7Wcsh9S2Pd(MpvWuf)emYCa=g~TbXNP)Oqc4(x31!+M@?I}=Z$4vs z_WJ?)t|K^Qy=e@0l{m$dI~j3tKzxUB=_m*w-jK(>gy4wiNCR;K`S=S6#>JmBuX)0u)cX34a%lU@z9HYZDfnV+(dLWUuLzyLE~z7<8jR{F>_)9(RbO!5S{h3VA^UNgco=P7nAmxne_c+2|90-NMI7C~S% z^Ajs66M;ZK#aD%=pZO(v407d7Dpy`gL4%2fbUW&La#=0?g4W4Vd@LDR(sy7mB+`4N z{xFp}`q0QFy=!cQ#zmS*5^I4C)}nx%2k17W&+tpJYMacE1@?S?y5qypmJc!+lb;BM z2xHKXecGwxTgSucJ@VU3&5vAUnolrBF2H&;zdSjMBaEi0hpY?Sv-vC;qiubFnieJ= zCmhY#okZ2o;xiyVepoM9#MwnOx+8uGssa6kpl$R2+0{L=SXh56E8)zw7%|aCt-OkA z^=Sb%Y2gqnm~G&Oyc2PKVj`zC9U|<~vhVB5ktCDUdkd=!pc-seKq3U0`6YtM8ubJ~ z1;$$mG3*5|*F3bAQ3$L46^G;Z%_eqxW=|%ta(^bggiFfX`&MPN5!4#3k3$^{9)p6D zu%(>6Z~m_Jt2MOSyNi^mWktse0qd=*d2St(ItK-Y*C%H2ox&Z5(_{<;dnJF#d?b11 zv@(AhN)jqdjnDfro}Q!YaSd+L*BjeGo2ptLVJLWw4q4^JV}Yx$E0rk};O z;mA|gHUxE2Q#JGvA5p{csbz2)Ik>KV_sOYH!#lSgox}&X99%`8uH{c2nhhN{vW3%q z62>&azechw+fXF}Ix3HsZ@R=q%ZDyY!O-PT+H^T~8$r6`3`}IUavmmLTRt1JEX>J# zVa%*f;_f&rg(6qZNMXz6vr*+>Ch9@VqEV?eKiME&t%Wnan_OmqN}DKJIiJkK}ckJKl z;a_T8=N!1sQ;Oi8#zo;$RwwR+#B=yd7~IA}W=$4SjQ?&tq#6#B0~UlVEL<1hp&Z`XMGn_Z`EptQNb@EGyQG`@(ZYpPmi7+T~6m5cQZ&YOc?QUKCj zVnu!cy)3(SNs9e>x#SAJ$maQya02wTRm;+CDp{z48a}VyYD!;lKo_#(;X7e5ZeUq)e z#1swZIp0vX8_cbVNicH1Jk>|;IYTHA+;iOAF)8{#rI>L1SYA}Y#6h5)Od9w86@Z6T zJM|*9(T615q?%Gk$6O6~413+~9}NypKk#x8bcReuFDXt$$r*kWRF)RHrf8yf;=2y! zAx5e9dfT;|L=nR4gt3SS+bt6qH%P&Gf5B6@= z3ZFMIkiEyZZv$YG8rggJ=nl&(PO2DBckgyvrJrLls_r*y&y9V2w?Z3Wl6)^ozlQHy z%c_&5Y5-67I}1Av{bzN}k4V#^K{c_7GK|H$H`*AqF>kS6nT?Y^AMRajrmw%C#7inV z6Ce^3BU>$Pfww7*z)*#4v`t_$jPP zw8=<@~^o{mR}}Kb0$_&fGRq?3f~j zlghyqL{{jNMDAHbql77@;-}qVd>{D5es|Ei;glfrTIV78+T@E#zfl`zKw0y5F)HOK zX=~Zm+%l^9BTRis`s;a_OgYvFx~riYYP})O({;udo|a_tvJhyqJh4pgA_NH|_r>(0&8O{c6pBH>rj zClv92XM>*g6hm5)(mSe!P!+vjMTul>ig+7c*5BGK1)A!Z)dn#uEDR}_#FE}jnL@J` z2ySm6BUZvJGfPs^)@wzgnnW{;E~&_E<&O>QFKQ@ThXRWc#mdVF-O9qGQe<+m!fv2x z41gD7LRea9>M+y;L!L-01`ls8(BA{LYipfmMAU|6J3SSAvwGX6W?HqZcKeDlShc{5 z)(hgeaX}n!c0s%$<>fGBH61ebvUWGA_mD!RJXvOl%o$2CHh#@*!AQNAatf1no#UN( z0v_#J<7}EU{_f+`JS;R)VwAFEjk86zvxcIl z28xEBwLTCVCX#k2Wdm7=oB7%mkGWV9PdS za%+j`QmRd1sMaF*K?70ZO4@>T(HH?jWjjqk_1hp-?3;vCY6-qNu1`sA9NjtI{w&4TAeGHP(dQr%BJL?^gD zwqal(l%njr#$wiN+90?@#-3asCwB17xa=BM~PDab_7i+4iTIdpeg>+iTP ztzShGz$N&7Q!F??CwHQu^)17R@ z$--^sEr)%@maG940=H6YQ3*g3WAmw`aa;{u-!vCUOHl(5+0i`mu`leb(H z5N`G!-+gJCD$ZN44PJE~a_Z{;?SKC?=y|P7b%v9@>gGXkXIOZ=nAZ$Mc$A;84vb+noBMy&`~`I0xPQODvX+(Xv$no z&VnhoE6J3p>y!xLHjCDfcp6JmVWfqcCW@ERie7kmyL1ItpS-D)m7}lCRtBwcD|M$m zVvex%143VNbK|C@IG`uL| zjPMt?Cx;(lfcV^JM#9U3$lu=1kD_Brje^ZZa3U+J%Mk-GF9bvD^#aW&-+oRH7-L-x z;1mf|p^3#ySTQ*hyrYn-sAeZ)bSfY;S0d2U?^%{}D;Ltd)#7sj#f4(>fI2jxzgitjMqW0ecPTBnhG*!>cVqLZ1L&5^|xG6Hn9}W)>@O zyjpA?w^AP+x|mfH8K_8pF$`Pw@&fuTG2d#{*+&?kdOFn*4^+iOV}h~5)F2}O%B*x? z_Sy6z28;>p*(`zSd``+UCncGY9!Gr{v^@ruU=ilhzTeF zgTI9pj?ILOH#Z*TZ6Igy;R{Tvu^6hOT3RMFMHc)D-_KpunEY1TRg&__kmLTo-wU6_1xNm;^1ZyM?xIXL` z)UG)dp20%v{iR&HxCXTb6ax)GvJAkjz3d2(gD+V*sYpbke&aTY^$HF=efj?( z`cf+#k-fMqPkBMax1tQ#%>1O7pCZ2p{Ey_Owzq%v4gxgAshZwzZJM9w7|ld=^Q-sV ztp7DMjQAlB4VxnuI?)1>pabe$C-m9^gJ?v^L^4lED>cezM$#FYwfcA|R$jwJn0l9yh%)V-N=%dnQymk%t}T3!0iBo!qY%Ls zr#>RtISDUGj)sYZ;j|ojb3Ej@E7U5g@nBQ{xP)hjuhsL1?ZdeRWGskJ5@JfcEnw8e z5^o{60O}cSZ%2TiU^D&xe2A4`kxGds=yfS*<~}`YTlq$sX?!a0cnJ$_xYu=p$(YMBVi|n!k^H~NdEi`a8 zFG>f)r#lhw$S83*W#$0mhXe}tr^>UAkjcPAfSH&_GkY2VfbRI8yb8H_B|xflF(GVa z;SK&~@&-YZ#P2sq{67hPrJ|&LK9aEKjuHY2%5KGJu_TLw6UMia`fG?j?L8Cx!5=B;1MEwN1 z1~xv>+_4XCR%^r$DhCFBf%H}znbCyw#uxo-zi)2jqQ)TP;~ry_#HwjEw(ad@?E{J4 zw|y3&t}#ah!JfX)<7PX72xqB>WTD_ma}UK)x^ zOei}^rc-Car{gppp|OGUahjb*Qwi_@Mw)UCH5LR~ae9FcVHD?)@f*@laij(*2oFc1 z0rBn_bss{D3oBM;IH69Nu{8j*!)b+>d>@3Q6yBmYidQupUI=9R!{CR|fWM*fWV2M3 z&ItZR@iPwYf!G@CLHqaMg#I@C z4P^WNpAim%zlOFgWrh2Y{|I(6_)GX#^ePC-GW<(te_j$qy%mN)H#dLj{1Tu3IVtO3 zg18J@)Iik&h+J>91lNnkq=VGn#QP*IA3vW)v-5aNYY0tRiX}7D4DcOVVJ~889AM?N z^WKX=GXHZJm&2(Cw7(pV;ZIr)&peIO{_79~`aX!^EIF6qRgjh8EQl(sS(ITf04%fz zj5@a-NVF16%JAo4T!udeXJz=e;2iZZ7iIWi@Sy`M5KhYALkFpAIHq4h4#@ZcS1>%o z-)Q4{h+6phG|t1hc=N1?&chKtMEL7h_*KCdh3}PUwf`YN0kWTzs6~Y{>RK<`$OalM zT8Z-okYt!VDZ}pv-)o>-$2&H?o;v!p*02xdSvD@1AfFO-y-3DL$3)0dbT>0PsW4_( zyLr%@kpw;$j$lj;fN2nZHwH^mK1~NHup|N9l-(YgE{wndh*(l1iS zh+UNWn5>ji2a5FrVs}{tEOiD|46Go5c>Juaq?;gC!i}cnZBpaJuMw5qU4x7q#eh4i z22j4d5JSrdT2o}RUV2%8vbCuBIYC1P91@HuL#~zyLGvTGptHd-MYLU32QL_idp6d- zT7t0MJxmh9L0*>$n@b>N{TwCa`hujb-Yy0G<)v> z1z_#87O&(~s5B1`v&?LN!x2!72MQbw%jn>P>;%au9O^us`#KT-qg`|0~ z#MQ0fUT+U|t`)gFq}s0Z4%Whifag=7 zkKR1Mi-|w*lR5%QkpPMFGNp9^KfepH@yMsYF?68=4lE(aT* z9c{|2GLn9~a5M#2D&b{&I}^nKucTovm@yzHA*wgwPfSWr3_hf3O`&Lvx45WZjl9%H z0ZrD00{Jj~8V`H@-CjTPa{8KZH^dI9WBaYh39#1_fP=PWty`>U7uJ1*dM;p$n0aya zddc!FRQAK6goV5x2U}ZcD%(7|fO;g@W3suYyFK{-SG_RoZg0m=OR;%Ry4`PkPoC^O z{N~$lx=)^JMbn;?3!S!&k;7&MV=4*g~ACfzlJ<+x)E@^*8>e$fCLR_3h4|hHd-(e}-1> zJ^aG7(ma-r`B*MFj{g@a=9eaz0`Wa~B%$@uznow;lugfBR|-7n*qLQ0Gdo|qJLQi1 zHR?%IGVE)z#h7`c65hfz(BK)~C*yE$@5z#Z_}3%6B8{ZJa2`g|)NbzgG2B=%uWq;i z%oZ9XF}@s0O9{<#A@v6%yvvYeI}YcS(b0gZc@)kue(&*MXJ`5yyo>N8ukWh(;^EceUR*Td&ipTLV7%y3)?Al!r)8j04>|* zmA-a#bE7SP9$?^-L=*gARl`OWw7Fr6rIrdk$U5Wz6S}9I{M8LGOfdb#%Pb7Sd4cPN zH9lV8q7@xXfep=vuB#pjE(C8gEIS^*76!TWoMAjx`Z1Z%Uyx+8i`Xc`ubxe(@@+w{ z<5^PD542}QExGA~SJ&gRK2H`#jV&IvDx{c8QyzUDH_w-Q-=%M7<0N0N6Dr!$#e5bO zpDeO1MtU~Sr~*r4-)eob$f{klpevk%v&@ms`3tL \ No newline at end of file + \ No newline at end of file diff --git a/homeassistant/components/frontend/www_static/mdi.html.gz b/homeassistant/components/frontend/www_static/mdi.html.gz new file mode 100644 index 0000000000000000000000000000000000000000..963dd1fa60e87efe99ef419c20d3744f4c5fd2af GIT binary patch literal 167984 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 z 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 YX&ZPCF0%lf}3YMu4o<(4pwGS2qlS>^{GB5~L z7I#&*#3VE_bx0yO)EH1Eu2eSqv!^8` zJ_pU_Z3C+Zj3J0bVxk7HA#}AHS3j8;P@rIR!V2WW*u(&E*&EXc0KG;mG8qCuZF9Nd zn2$QMGca^3?V%i8+^PGwEx#j5g>#s)>01QIvg@wzRN9gngvihj5QDBs9D6UpHvo40 zMhqjOvOHxb1d5?Ymx10yz8Pd_lkpZPh#d%+1OyjJ0Uu0v(9>jMoMdAm zg~!b!um%Dz9_Kt-xS}~R{FB&01LZid1qmLwaigw>AnO52HW$oNAUeJ&TKPnX_h;J| zHv1uJ-iFCL)Aq6^DLq6g29oOH~&ct$sL`ckj z5qY;wA`AAmjf%1pMY|pfQ<*CgJ{|SVG6sp~@Y|#SkJS$)g&F&#;Ko5r5xy|A$K{DA zOKH~SnqOCee1frLFdQ%dF*L2OHl|cee2I`kk+^}}Rr0f8XbNZf1N-RaOm-9yq1vN$ zscR*XiZtXtkft7IlKzG3m>B8(7wbQzqs}mdUBc zUjtt@X|ro3xiPJtp?B~Qk-PEg{B{pNoSEE%2{sH6BOH6e}wK3{~ zaU#Kzm*Co1S%+q(Aq6jS%?1`@JX9e2YP>1cp`d#L9FbR54f;s;VVMJaR81lVUJ)(a zfNcT+-yaz!DgmQyrS(Ft^8GLu2EmNA?YlJt-vS+rkPi!YsX=@Jinvtf#N5SedU7KaR;3pJuz9RTn6?kL0vRj-53i-*z9Cb(8Rd10(AuH zC9{xF&n7^-Scal9WWLau76`@OVjudpHzC1BqBV~#1g44}hTx{O_9C%^>>WZ6fl#xS zokPWnZ^)*S%d?LIB3IJ-jHCyY4Y__D5c_~^qYM+NuQLdlo66?$%rGrw^hGoC+~dZX zxXkH^lQRbi__)gC1{8aaF-hgBPY z3xixB&XDXSz>MI649n^1s_14Sh9p-qfe(+CMw};Ocojh$&Iu9Xpa7M}NFWiqs=zh( zCB>HmD5LxZ7D=@zWmbj%b;kb0ym@>TgbEozs^JoE-)!d1cTj^wVCyFgZ8~k3KYul;{E^O?II@EqogVp3)(h1^Iw1XX9pprV9Gv#UPTF(;Y<7a9GNBkNh zu>1&0Vx;sh<+ktiH81qzQURb)fQ$e%q9?riN4VYN-7hoM1K0;+b#b17bs|*?!Bjx& z!TeKJI^mtG;siR6u@xcjRoUx}_ljK2f&Nr$_lEAD;_hQpVKt(+Jy?S0QuA0hLNkp0 zRn`i}^GI}M+xH$JjU6e5!ZEYZ0y1u4S2gZLq;uSLei)8N4t#;62W$_RwPdaS_Z~Km zEj+Y8_v=TofJmWTNFRkQV_Y;q1r{r4XdO{b7LaiX6j1>>aZ{Fg2^&YU{Y=V{?j*?^ zLQdwbmyUUR_HwSE>d;y;9(Y8-#NVPIL*_Ev zhkXyE7viLF#>oDH-La#ZLqL~;Y^kz{u5VtOBP2zUx_5vgVV)ez-t0G0dQ%XdE2-%S(`W7grSz_n#1dI2J z2C5WFVWiaNKr(Tv%-|EN5?01rHR7+2AAem0;-jU`LF=VLxkv#NSJEWW@1!^=0u5

$x_gPgP5b2Za-vVDeNcVrYSR8kFUon)~qb{cUMH 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 z zQU39R5<8u^hc#+5K5v1~d9b&PC#G2dq6eW~Vm;AMj$x`pR?Gn8RNPay_FWVz%M_EP z)Gu3!n=|=C;8&`sO0TopktRnXlAJ&ijE-uXK?_Eds4V+65hWi;9D~-j&ZM*|W6!iZ zGy@sCCc{MqyR|GNf1(npBLP=6(co-BCU4=U6GJp-rs9O2Z1w4)YP!(Ae2z4x!rM?o zV5SW=C#DmQHb(*#$1EFVBqGVEDl>t12sYxVU28)Q#$&QE=WKLxv#)W^Q6~c;+n56( zq0AnPIDFycWV^kMtZ7S%HZ>?G$RL`~()@_(MWvZv)T^amf*=U>k>^?=%3JfTed-;O5~w!an4DYw_!I)IVQ- zT(NF2=pycpLZ4}x@jT-3SJFmre%6KXmik6Oz!f&ITvOv_L0M@3vE|#lkdhj)ozZY9 zY4bZ*@dTd=HUKo3`4Q?(b})}MadeU30>^kkwIBKL#y*zqI~eyz`ABP&?n+)?ZFe56 zZ1u8LIa*vwF&~w4BlE+ntM+BF{1;9voVeRs=qVXz~*(e&KLJ zq*G*!jCrz3R9|L^=}1=c6E7Ym9Za5JpaUx^LK1_{vl4aQW6=G0o;|~!`wJh0v(L6{ZKc6-i~G`>i)SVVYk*i4BtmsuKMM@uek2nk%P{LMs&7+7bh( zGH>4g`26(Y;jd3mKdsSHpj0DEz2nVHgdiG1HXxq2e1w1H5g+c~Zioj~DNyBWDN@a* zByi6Z@MsFW0-wmAL?R4ABF7I{HzKDGwlxPy3~^=hjQ=3bi~P?zmFiLus-Z?M{AXli z18}4sv+)~MTSNQUurz&kz*I*Vi6U8DHRUKk(SD_`%Vm;EZ5sV;cFDu8Q>~7_8k*lKP0-R;P`J>ov;Nl*X zogCRM;y0n;tHO3vfBE?K#}%(6Rpa0QJ!cc8B&gJq(Ia4-cm>2nx@%)+CuO6*{tJSG z67O_7k+Oe2Y-v~6scShO>fV9r43lb^C~8?5g6Niiv)B1SwuPB zo#k%I;jBtr_WPv@%jk6z<+=CsKE!pHyZS|U^yVvK`k|<2<@j|w$*u1n?%yGh{PuAP zZW4bs$OkwySv<(K=}A)GE1walVTBE;Dp8E=oi5Za^Xq~O8sCprBoffqc+l^OI2<@Y z0=-cr4deYY*%s`nR+o!*<>?&F_Hyv=Mfum@L@jbPowfOptGHu0uc?HId@fv~`L4Qn zmLxRZ1~-)zds6v_$BzkE^CZucJ4=d=S5KK$5M%VDIP~0!IBiIRW$_)UL3dMYZpCqj z!A*ny*^Y>9&H&`U7CH@`GyoALN7!Bgb7XZXHdb!hfHNrs64<2O=Y3ppJ9g3xWpWIL zF+Nh7m_FJ_1MM?rbVqJ>Y=roJb>>Aqj1z&y)UO#OUICJiJ9CHGdB1NPrQYtSl1RxW z{$=@TyB)BD-uqoEL@x2A3Gznk`RjJ1+QhkoJWZwRrm zYI#|+aN#C-{0i|x@+_A^m^lg!n4A#5QR$R>vMI3DoF7~E$}OKo&7dFg;tHPwD7AB-F@%B*OPIte)-n3Y3AnTJKwGgkAHo>fBxrM;eN?q*e~e| z{et{(^`oR(5Q-QWzk(EqvY|(F138C+v%suQ0vnqUFRl<)!wzPhCkvzu3Kbr7O0~=Q zpjX=T2D`q`8~xpC1lA0DN{*|yG_k5IvENKBz9A^r2KZ}i;;+^H!uAc48N&ZPO?-f}n1*kFayxOW)<}g1O%5L)7&ZHx5HB8$Uik79E>Wcft8aV5o z)?>S}+^RYisOGoUyXqD+GZJHtGZ7=Pe~2rw9KBih{5Ar~Bc<6+8c3PKc0!&A7VqYw zNVxsB2S5I_g6lIwbhL&EUoQy%3Nr?pX|PRFjf(0^S{tV-k1XH`upbCP|j-+K( z7MbmIq9`8dC3A!99J&o4xXKFi70$0}y-&0OeGhyy`Wq{56acxMF4?FJmBQg?#tMt9v9z05CDw< zxr04I`$$W2%d}%#)E0s5LT;V z3HE!k_Bm3d$y;yXDjCS}YOWutHlRNgZD%iGk;zt!hJG1O@aBIi0GN8dvXl-D7LuLz zOSmOuZ?ZAR^^L_1!6c221SCPy9vwW$Q6qsAlu1MXpcBxUgCG)B7~kBAgr4$*#*v{R z7Ol%ty5(7B#o(Pt4F@rPP_Y=p@NnzeuZ{R$Jq>XV$(B0(zoDDGLCUFJr$kgIo;-zk zrHY{%|H==)B|PM8S%#1cF&NBk0{!3gnW2M_!iC(|)^LTjo_;E!RVnl&TLX}7ZBhH1D3v$u-Dl@O3w&S6l zY&n-#Kbh-Jr!sAU(MrAzAC==tK5KHc`N++mBPpDvmyfr(;7dCJstxA=V5JM9vL$t5 zUJy2}Xcb@Ugg0x^Bm>OC5ZtJ3NOSz?H-a0iu(-Ld;a zM86o0q9~%4VQ+;)l<;1!f_TLW1=QS(2OB?v!j=VP=8Jrp0h9e}sJB=YHz1=8_f!^F zB!!sbit*dTH5H+r!j%4%9pA?<|5!<&IL=CB8I~j7r2qaJ1gbMekz^F>*4E#RF+VHTq z)4W|b9dLGCXV>*~E9+ z2yv<~TgKAHdtq6qdI0}Vj2n`w=134(BXsbd*kRV!`>7RPNg51zgx1!sCCP?CJhq}l zP(N{HOS!4iNF@gvqr9&2ruLFAT%`dji9`pAl#)>(TflJ^%n<25iX1>;+e}79Raxa^ z=P=4`*K*;gc1xA<9G!t3MJZGs5g|bATMVKfHzMPdGmxl2D9*xGcKn|VCGC*oIpcp! zV8)gDwHJ*W|G!vxgYe4sQ_#s&ya>8UxIHP_lj7}3y-w6*9phFFcdL$ZtB!MD>zG}CAM8|O zE09RgwM068FkSm#x_MUcFFpJB@95iiRQ|{hY2&Ug#zVLC54wf>5f50wv$~~WB}V0y z(&utOK}hAUT*ghv9b_8_CQw2SgpQe%J^nWcUCskN9gE&dsKj{LRs3wJQOd&UcM_3x z%OXb^P`qsi{P4Ku&tME1SBPAzyC$w&0^L#|m1kV2Y?ha#<8k%AVWOPM;tLWwPI=t< z3TZ4*kIfm5%Z{OmdhR;DHhQLpk1_ZR&@Yy5{*4-^0|i2iLjy#n6@j|W@LqkBh$rYn z9fH4^PTUovO!TxGu-S2B)=BMW-eIS4<2Sp)Crod_b|G1>!Ta_a>=ejMEtucOO~aLr zS7-rw?Ozi8?29)8i}JLfkf+tZT-{DP?qF7S_f^E!!rJnUz`svFCVL>>I;dxtF%8mr z{ps2nyu&_oK5s(=uJQVd2_FD2gV={+W1u zqs`8zFa+}hWvX*9raA~1q-`*NG&p5g-oOw5;}lp3H0i`nosL*C7a6Ygb>y+sh7m@q%Xf;MZOUaXNI31-@JZW9Q zAMF$#Ip1!w?$;0ZKYV;xWuD@-`~?&ybLrLF-}DAi2Mgyd2X$GhH;$)a8tj?MI$ki| zyoclH6n3kzf`|MuHKE!rQh$w1Dl!-QPD64l@`ai{{%wKTKyFl6s{&YhS!#~K-og<| zsWF;74mWr)qEgQ_m)0{8X{ZN*(*4zx(t~N#Ag@eRfepJ%sSl;}rBzKh@K?uJW7Zou zHIU;m)Q>5`o8Y$(>A<@H=!J@x=t%tTG^K}`oPKZ~_=i(DjMrOR{^SNr;^uZYvp>)qw;bDVe=su*oZK+x*%n(Skwl79ORa@=;ux2ctruc}=lSrAsFg=M=)qlOfk7zfL@R z5)F={chy)Y9TBq06p%d}%9)aJMLha|()J>Up*kBS!@LoIDzL~*zGTE!QqGEW4JwH> z^g7N&c5zDPrcAC-i5TTDM{ZZQLy}?6uw^N zL0R8C+$6Sy)(+%gl5T6T5i*UN?Z{u|sdKs|dbo_XBq#nOxx*=g;F-J;ER`adXc{uR zK(8`h2XJ{HvF~V{!fHnbR}f7u{tMV5jngk~*G=JxKrr-pMc>n$rI<7Sr(J+(7U^To ze3fTQn?)LgrOFDJH%a+G%Jv#Ik5MCbdf?56`{$ol62pS?tpI72staq78lxAhgK_^% z-18L}mT`eLr#bUBQJ$z)w{WW0oAT!E{Yfm+?N6G(%b$N| zU3w*?tQASQ;Jfuv&oz5>FuZaqZcAnDBl1Hj8VEQQ!lL}2iJ@A>MO@PUAEv*1CO_H# zoc{|iXG#V?O5Xk}{lBx=Z^lz6hMu}QSU2OT$$hNP<7gTeJW}6La0r277jBDil)D^3 zaSW+?*RqC*-CwVpBE0mWiE-qwHSo*(m&Z@5Ar^NVxmS4?cUrmI9d=XPoZ5nHD0a>y zSax@H&?Z?fb}w>IMDkJ2_Df!Z^&)MZD*C0qDe+Z;J0xffekIkv)3fOtquk_y<)1GW04J&WD7=t z-e|#%(>eXpgaWZh?t^4zC=%2+fC;8oB1ZU$zBaQB`p-DhmHr*7-J3dw+G8qcS_~+V zG@XgCVmqC&v+;>yaV=iFUVytQ7WL`?-zX5Fzt$5Y+E4{t7S^rbMMv3>43D>^N zh3eKXe5KF#?;gLb9X*}~EqQQZgpnkj185M-Pqe&W{X3|f>=zBSA?ZRg_xWi?Ps^Z3 zS;aiMWz1ytb7F3BwaBv6kR!xYczb~OMnlpE`PV%cuqquu5TZA^RV11kPjNtEB7>ep z@G9o1rZlq&sbb8AD#hBOrOvf3qI+MzyQ1@N)>vi^ChuvyM0gbQPpWEwu`exji_5aI zZ0Gi^J+Ix?Q3hN_)*r|+S)xig3F=1soUomiB4&BRPmCzcW2ER@|BLW)Baqz$7H;OaAvY@sdPqxFDogTO z{@C->o_Eh0LYZH{SOqyW0UoI3JrSH;X?r84}woU8Uhp#VXRzT>%;;o-uj}!Cp{V4^+jNE`6un)R7t3 zqKBu|!zCyhMl+Z3H@T?)WfqD+`>XJsBSyTA`Oc!B(Eo z!m%!FDH+t9sIUqABKR?z3{WrJYc)G~XPtg|e*DLBeuk=(MJ6eO>aYGn?il1}Aq96z z)j~LOG!pyflXRA$f_$fRrUKHH#G7|L4L~Kal%|kP@)sC=kzYbQa@f*O%!DDT zQJeNZjN6M3OPDq$RV*=$z&F`Gwnr5reT5VXlNMZ{N4Y1^IA&vcha>QOyVK>C!{99+ zmsR!*F^F6R-eA(;8ik3|+zR>;TzRSDSQr#Y0^XL>bxz{wW^~DO5TM0_0123)yu7g7 zT$J%Ehj{=xqeOYAKzy`EE*JQ$VSb~^iOUU)G(7Yous%(uvp$33##Nxu=i7eS_U(tK zRW3B6;+X+HiDxp;^olGlNpW&Zz%PkesKN44p%9Nu<2>{d`|Nf4IE#;WxakX0{;ppt z?{N4{IpB4c171%{5L~^JTAo+dS0zI^^Wz#~2cIQw=9DA5ZSlu1%XnwP&B|D>1Q7*i zw?>8WH-Cks!VU%q_jzb+WuO8@wedM?KyAm-#sy(0`3yga#GbIuO0GXhemQ38CFS`}1#wLkDs(dEge+*j@f=P?+VkR;EbRBdtRcnE z`y*rdN@wd9<@4>vmm4I8u4UTdOpUhUK{D4~?A|1BL<@RDexNc;`z-P%Tj6}WEyG}p zMUb~nIs%#Rp_REAkuXO&7}l0#hmB*~iN1iao35Xi&$qi@viS%VZj(2J4418ZP^ukX zjPmce#bAEZL<;2KcK4!azm?C^y*Fd}@$K`|ryrkocuN|jpF3TM{>+cywaxyJN8mN?flan8+fxpMw2G6uB3)z=%giEB=^BICK# zcwvBPufiN+22AL}?&xDCxQ>*-S?SZ#YtV8kvLraw;UfWm_qr#xeR*z|-~(g~)s#8U z+N67dw*_jVcCx^vo`5fDMqr!DZp{AHjoA;%C8u+>Z$ztH?~Vu<7;?}X)d&0YNFkZwTFfRE%3D)m#g?;ns@2tG0xtY&@ft?Z=Fs7D8j)6xZ&messf+*%?D zk5fOirp{U~2b1+qu--A6eVtJ4B94g*mA3&DvVtcqIp9P`qA3ITV2RiY0^WH$Nu}B_ zg6>Gakee78cn$D!1_mL2t`r}_r1zcER3s12tb^qgntx$?L}T+$R3A$GO8Pw${_?;z;EPVXSx-a%^bAn_eoip1<4r1lO%dj}mpCEx%v z{gXW`Voxg=f2v!;s#}mvv26CDTfjxX`aK{;KAz}>9Ut_yUfRjOs54$V`u*~$pB-Qt z3&_X;HuT&Si9Ne6W6R#H()H?S$jonyd{jD#D~TaGZ6)UyX;)e27a`O#`@8VAs;aVU^0z-I&6;d9Wjyo@I-@wJhTEuO`j2){GOEqWZ3QIbz_0R5? zyZcuYkVu+9cuUH1hu%miTCDyTJEc$(4SmrE3Ay(oIZlm~W9P-g&O0X&zI!7Uf%`3E zp$^-zAk~>OxvIalzkk&T%A|pG2GvbA{x07robyNU8OmT znKH=;Q0_%lz>!ZWDDsCCW%Uup&&V`G*-C*g%)g(Qu(PQK5}`|NIW0?-;$TP5z z+=-$YW04%p?WX&^{Pee#ZbUHOnFmF-W8#pd0eKHEZ{QXajM?6i1%-b($)WAM%8w6k zpYQ*+(o$YzBiSxKI}%;gayevzAdnv+GMPFyCK!~^hxUA_`wk?qkFdDR7$0jXdL3Gi;DDTT;$YW@V zk-a2mO;Sn&Aad_n`zEaxO=&cdg1OJP<2r@eWKmRfR5K5a*H!8%fgT%?AR$Yg=hQ}h z7|l2m+nLIN#BabIke!E&N?95w8Oh54{h@!M7+tb(e-bJIiciUI%#oIEU{3&9FD%|c zMWhtj2^h=J!s1s(UcKt3VhVObYIJefIq2IdiEJ!V`wF*%o=`lp%z0Co8b<_6QK~Q| zuN)53TLvp9Tq(!YhAkBw8yUjBMq?zbC+z3FasJ~M`>vhp#Aae1 zg2S(>KD5D!VrNbTA(Vj#ExmwVNTQ-cvL!Ro-&5T;^Xk*b$Cs7w7#rgg=mX4%I*qjv zhnSNq+O2~O!8QUONrawYNf@A#Uz%?QFpBBa4(8PMa%#Js#alJoO`gDKgxG!}(wm@% z`4Zwuqn;`IiS%UvD2d}CID)k!+>Xl^%bqAa(UOekwd)kZUa(j6d>#RYr|!C7D7d4( z_-JfyoAUgyvEH^xI>N)Qk8%*N&oyW6&bdM9AA9%ryVu0M``etfb8aATf9LkQwcoA0 z>s~n(_lAnb3GToEtI|YF0<_~J4bF0g*>&z^Y#~*#w_J6qn+Lkf`F(n~RmY;?8qIJG zQs3I4h57I_j=aA<{`9a;JE4GHCWv#~R8cT9QR#7<3UJhWOJD5FCp&J&nbk91N$Au# z0g`%fv>Uo6{D-6%$Jl@ao+q&TogQ_#J@q1K^$IB!;<&KC%9BGO(QP1Ru{3)wGOEMq_l#R-}F&7MiRrs)tDyOw81gmer1q zD}@%Xmd_rKmWw{F+r-)lr^EtudrgwMP@px+tq|=e6|(@3(Qcul2zZi_W_C0|TDM<> zqsEL4=EbPu!C4+FXzUDP4BzrX~Py>x5On z>f!<4G<_mUDMtvcc6JjH*|`JHfWc^YU~!<_vyRfIrE^u}<;8dfGIEfzJ!5+A#WJ1Q z9Zpmd)t1EST8AWy8+4>nt=sMB;X5Y%$6dt9K9yw3@Xnmr)sH;5qUF^7zcCv4;+DE&sPSew-I&3GP zFP|S)k~_{`IVVkIV9?Zzq@K8tpsS^zcIH{U{Y_9dwt`WV6&=tOUZoU%@ltY8t}IVY=%@yQG~;L44a z*tIs1Toji=Q>Z5Om#5?nQX_)={^PlX(*P+y2(VtIP8@_?Y+rO{vU#Ip$F^R*Gt4@y z^&ueZBK~--_jWmx06XZgmcVqAqAX#!kzus)=keX%9G4cw?Y% zdyBh7W)QKSsP$DaZU5Eo`VE853%Z&HON;X@+8%yW9WfH8q4o_gOz#Hx+B4GliP0UJ zG#i*u$+XO~^!Bcd#h=BDYkhKg{pAg!llIP%Qa!1nnSfo*ugYa5KK&htr_Yc7^RUV#y?POgRQNo-Ah&YUUXXx6>nR^hk8a#R zj`sPGIdQ}z@s=oh6-8w&=o=QlnL7L40uA2Z*!*%F9Y#<0J*t|qCG8>lxLi=DAd=aT|BUeaB)seOrzyL-KlcBck7XTZvF zmIN?tUofMM;}3&!>=+7CgDTAtoa|XkAFeBRZH5OC4VxWi4>}|FM*OljHu=bG9`V$d zLI{zOiKEK{H(UgY_jTKx$2AcrzfWXj09Jr-DgH-%2`JxqD$3ByXZ*NCMIn=8$x_{I z@ln7*ZuQ!1$N2d6{^fBaTt}R@Nk>)*&Lz}RsS?L5&;OM%#RsG5oR28xIoiP!jr{w$xa;p-LOAv50);{A(McU(A)K#dTO-biEu z^8*T-iz>5E?1-rNdugmB3BI8}ucBsS*A{t*5;FyJyM|qo%}0`2@J&xsifz~fenU}f z(;3MY+qliTmqT}TRGi$qrxK~uDJ56VQ{ivqt3$JrMN1Ygk8h2XEOGzg)#mL+DE`=H zUh6lHvIRZ=qM5D@E&_^}b#3r7(WwPv6p$8z3Kg6M|lx z8^=w4ne~M1R?fPe?gp1qzUwlfr(ZDp)Kr1BgslC zVVF+!fw~FjV#wE=TXp_dzM%)?8U6UHKR!kH5Nt5nbD_dWAzT2YK*&Mv7Hlm0xcDv^ zO&|lr(b+lN`O`<<61u+SOa1Zw{onqKbtku2V(l+_F6Z4DJGhZ2EZEKEbDJM4ubmc; z{a3nWN8#2!w*L09sdF!V``DsBHX2^`wdLE_rhUv;=2~x`TbzAvarU{@+vkQ*^z^y) z?Q`??xwQ&?rG5YJ%l-4qhG8u<{Y-8!_)>=XTbkaSRk^*|+soEKD9T*C4FnF7Hf(N| zLNgQEDDxuzxQ4IP{PW{KULGDk{yD!mfNN-3eA~zO^N&v}!(^&!npYJyP4k+jR#UR% ztm`?iCZno3&T1)v(5Ps+7a72F0_$#Ho@)K()5Fs$S{S$FcbzC{ zR>zngxH=YIIS)jSeyYEUy)=HNHupPiF4HyT)@I@xtkLn-XnGXLPke(kV(^{j2gu$5 z{_$B4rK`QIdV5={qTbf6=G#vE`{NJWee*bI&QZQxin3E-jI$cKl>j)Tk@D6*=FEWBp2d)qvao5Jb1#Xrw#F`9d%%OiD&$i>BR zKYPANz(L-SaE^9d zsSs1E+YbHwf_%-Fhqo_lhR?awEV<9XnIP5L-c)NnRV>DpFhRQmKc%H6E${PP92o@u zF5u>6{%6|!?9vi=?RWd)<;RET4^N+8?q61s;L6#wGN-tNCb1|~PZTQ#pgVf9QF(hx z5$1a1dj{C2lf*1}YDwEvE#@DUg5ZtVze-q^qbN~wtkr=k^288lNmtjF`~NsKp3y>M2Y$ng0JqC4;O?&nYUpO%&=qh==vjCgM9 zP0>BHKjp2;mNO2NlK|QmCOv{ZAY;x-$SiZ&{$@S{C)Lyr`8$Hg+a-2|{c7jmPN#`k zm+oS>br+9D-}zRLO?&_LcB`li7}{_vl5mO4Npwf`3{%jtRta-pN>v4tqDCuXOG2K@ z>MfbiG+b#_^Mk@yH1NC@sc{ChRMe)VJEIow43t^`h#^~iZ(^ck1s8fQBLH7|!zT15 z>xxenD;cE$d!zpsW^gR#As&r8o)QxXcpnU5F*L$%Bn{*w5C=oJC=Gm8F*C;Ji6&Oa z#K>CL+;XXuO{+YZPQ0k#;mXW4O^10`PsIye@E~a9rwxz#Br%$jv{eQvtO&WQgfN+< zTml2lQY#XK%CZ2aB<-Z?Y9=66w2cBFmSdb1hxyTZG>L@R`usGf~tO^knan>)r^-HjemFhSZhxt)HHQmHkv6Udv z=$-Z+Q#Z_tJ74shmlbLIf?8FOHosCfiz`*O_3tDR80WO5ni5GH!1EHXqHqumPP!9~ zz%pF~Coa-O#7Bb7&HS#8!D&sgiYhAT-Z!e8f{3QuB&_iKRmMuU*E@S*N2=5>B>5br zE{K2XOrsdc;;tDri$1ahPv)7rrvE`xXu>J9-1gM&qzDp(z_@jxBp5Sc%9&X-)OfSC zn$#z+@F?u)+L|!{_FyluxjlK?*O(PPKD~SRziUol#}9{!){fteqpieG%aH>U@VkIH zZ5+TbW68~hB%3U9fA~%*|6avVSupEbknz9^#WPI^4E9$fRAqSI2hvPo0+f0#WtWQ~ z%{=gKNg}1yia=Cdkq$9bf$@SDv0RY=xQs#%D`lWW1&h)?i`7V|XYN+c-R8yuG9Pa}sCUfjJr^oH*M^ zb0n`L{TzU0#k5vD-I~q{4X9!V=|0oRP+r$f7y|dE6O6XlXcP;oiACIA8ej!SjD~;QdqCiA({5Awk;uoWj=pvdyb{`F$kSt@p zG6_pMS3=IJoJpJ5E9O_4JX++ADvEd=fc&RhzChM)`_nQQjc zLV_(Spv1oY+7XQyILca?vb(~0l6=`@Voaq)MG`{y?J##+LFv~)=`dVcwH5Sj@sE}k z5&G65M}(?3p`B81Wu4Q3a9QHmC$E${^)uO0C~X42bV0SQ3ZzHOePR zMPxBX^2cm%R-E9e*9~YDu}+!1*x4S!GK;(mterx%V&I4whtGD#e%a_OjI%vHWkxnT z=+6JvtVc#Z!Zw(#xWrEQK9aVeN{);BF+TsKAXfdC+#a*|y0TvTS1PvAH~p@)s&@vG z>WO1h$}T8d#iaz`mn*NPt%eX-lu%+#_u+g8vQsulkNR z8E@2^QUFQ$#$Jr@CXt>oq0&mBlzFp=}JD%J!bVyqUq^&Xr z<$t*&`4At$VR5r=nMOlEUEWx>_4>`(FkaiKQ`Ydc~Z0IWfzQJUtY8icUWWugUuAGi^SbkAQ2ba zBtSlUsWHO+wajW}{A3}I%MI0Pn-vymUbqp(MmZ#jjS64ylf7xH-U<4oN&5GG_osEU z>MEgIpYOc)>+}~>;+IF@DNh^_?vxkL z4?CQ_n;gaY08|wk_qF3I0*9RB7(=U*Lkni54tyrf0TIX_9VQG^&VS z$=bSDhUEWu{r4KnuQf01joj`PDLi6lg1{A)`p$yvg+X{q8}77JG@G`0a>mm=4edea zO7MZbbsOLVx2xK3yuRHSq(nkKc{5sneGmNdP-kdrg=kP@s9PU}->3hEPvAPSrM4Mi z`5C$JOT+eieJ)?`tJgk;>n6XsYXfJ~aU5jd@R3|?lHmqu&oKL=KbW}p!8A4Xdd;^X z-ah9)qC)?kwOun{zV_3I?pyQw-#+8UKYW>&%_oD^hMiXC@$XkE+3yU4I=%aqlMVjdf+jVW$qvYaV@^rw)&ulGnvnf2Pt6vV6Z zR~!KOo5n12Mr=mK=f%vvKjFyAUmIC_J@ZGu{qnuv{{H9kyV$+kFRI(#x7)jKo%Ue+ zU*O`izq)YqT)MA%F3WG2aHs9f*Jj_}Wh=FrqRaNSe)qP-K=uDgQ+oOKDgE|h|AR;D zA3JN*?>TGCMS4uJY_I3sP|aIdC5t$Jv#*$$`>*Azt^E4ed^3WmaJcu8)j_HF(>F7j z24CF|6z7MUw`k^hvmcIK-{Nq0X29npn@ZUc0SD%k`I!+96imu2Eeqp-vOwq3c z6Z@>%Nj;maXO%m0D7R3eI7GS?n2sImtz(@!wj<9BLoZZCt-stIzvNn}mLNB4*sU=q z<@bIE-wVP|ROzlphC}7i#Kt1ps>G7@5G~x!>FZra8^9cZ5gJcRR3h&EuY65YH@@P~ z`Gz6!J$ycP*KIRk2s-*}V8lh2nthJJhyFh=m+rf=J^< zOg`ZH89Ry4j_$_1j^_$2k?^cdgDpK8f{l8)re#DPxe`B-G$bqb2sM!Z01FgnY4B zDD#SIvynNEcTB|7@j z^L_X;vmE*zpxo2r`}I7FFQxH{i)Aup7SbvyV3iSo#GbC5-mcgG(5_fA`x9-np!6?T zV^p8%C5C>wOl<3DFG)-#O=>}(bMoq?GuNX{a(m+bkT-z-vwSQ`h{ z_@=sD(wW5XKv;8@<2bG4=ZwTB_e!eoxd9_UWo6(Y6J-fD>c*9BTsmg0>lbYu`@(>B zm`f=L&Ur3U?~iC+6rJc`PyMCS@CIoKfU{IS?woW?=QAMRArb ziUcxH0gP4R_lW;Pv0pkSPlU0qW49cphwqG>H!lw#K0Q2dv-{b-o82x5lgKGz>-%GT| z8rfW|0=${TeyqWH*5Z6?veGS`1WW4RoweHgTeH2twcD#wyr*v!C66uHQq_YLl*rX; z>D{f#zPq*AxA#JzCsXivH&<`%MtVzYI4jdyo~`L@H8?f9At^!P&`aV7r?Ip7e04Uf zrOx&gef8?>@sA+df~m806_WqC_=2Qaw~b`FAGa3i>OFJv@Ev;!H`r1P*-}2)PXmno zrUB-WEbOBOn2#D@`kezzS7jc>TM&;wvTjh{VwD%K0)MZ!XGw)oVj3MXfX1>?5KyYj zQb_4e5`l$}$3n-1EY$|fd8-a4%T^!P-zub>To9)svBUS}R%j^7&J#9&wR?ZEzNFHK|5-eq?i0vdZ>d0pPd zp7%EPbdJWJuGQGnpwig$c!hwL?vBq-W}6;$j<^ zV3KU%ElfP=nG3?h4rv#%5d*vss8Iy5NaB}*#1?MSVdgU1mkbaUsl_~loeb$ln#Z6$ zLF$^5?oGCY!UCNSDV2zih*eB26$mxwM(|jAwPW0XMNHBiSC!x`=Q&_0R1sMtmYl3~ z=_K8d;$TjKszN!py)v|dwdst>HWy~T|dLf>~%}dcerFEmnSdVv*C9!g_ zZ$(MhV)s{iSpi?{kyNsqSNZYb-Sgw$SMt}!9FjzFz^zY_Z3mm@;EiI$fcDw+g}6&& zrWVVl7fddwDxwslfW|AJUeX~=3a?fKNvDKdV4|9irbo6;Jt`3?`?D$RWl)a_+FcgQ-P5&^nu z2HC8)E`>|ENd!!Z;*`0=Cv7FRQAG?Z+h``FA*H4W1agP)7aF(t=jM{Y;25xlg^5SI zwO}0f66FO;tb}JejLC@YNg!)KXgH9lcvnOS1lFjGVA1#%s`9&;OlbBa?9RKyJU&S1 z-ARCn?DRSc&25;IrU*P<36CE0Cld+PIsYW)aCY1-vJ#Y!V1_ofVV<|Img?VhATi`Q zsq(0tZ^)u(eY+XMpYGp2zWj6LJQ&xeLVh4*3NnSPVCCk95Ulo0tUEMSBk@=xAyi4R z<0x0!+1P(rK{*>22oP1++*pHGr<=I(L3Lfu-8=Pdpl{u@s_-S+VD&Ev;6_n)?z>t|j9 zGH3B%MdPN8Eomqoz!LzB>54#^DsJSC>#wD;$Wa(_<76z?v~)7Y*Q)sO;pbIGfUI^Y zx#wiGG1WdK4|*c333OO`2NlO#Yyh&23q8VLk(lSa{HuEveSEj7qn7|B_v1AV^pB8n zGgD>&nM#_+dVTjDmjG?E{1rlFSXP*eSPqSZ0%q&rCN&NTXpqBf%F&ers<4d`4HF1nW%KFlxVwy6yVPsoTD$O!Dd6rICZ=3D2$&u}D88PC}1 zvgiA?_%&WfpPP!U2=DoE$%%rQU~C*ngYa|AQs4M=?}l-XnS*iDx{f4u+j@Nq+_wNzh^*M+(wh!3Paf?R&Q zGEGr%U$PKq!Wkk_S_o-y?&Qh6@~X${u`+b|nii6c{WUIC;Tc6(XeC4Ni@3H0n~+yx z30Wb$=gO7fx6UL62zR0-iX1ki70687&c&FgE}F^HiSvatU7$EaN*r5#K_gra?T&PGWAF#&SnYj*d1v^y(X8benGSh%?^8$An%6&>&4&&`iya~Lk=lX!yZ zg{ld@Gw}s+G8ivnL0iJWj<6rtH%%7wwUMz)#PQz|@;mgnJjC<$teZ2ubjAg@j1#VZ z_tdG5gGN)JIbUe?CXJ#jmN&DCF)byIHChRDU>xk%zGc4W=DO6adNLxB!yKM&6eb%Z zDgq)_qreX$*wtA)skkZrCkZ+!+z$H1YjVZ;e$Xvg>0}K_I}yF7FE2Z(ezAp`VccYD ze>g_bqQqt|QgWRLS63sZ%>IVk=+y5h5ZB)x2VJ+}=lAPxDGjbkrWOSu+# z1XrDJHN+%XjCdjK1jMZUZ{9uq{Bhd}=U%O6FPzyUBBjJveU{10c};4ip6mYEexLQz z`Bt}KUgN0|W24|ZU<+?ep1R>Yb^5xUYh4i2E z=6`VzEyji`#g3(6#Hs3_u|R`ALjdw~p@;u(knSQ@H;Q zoJr^=0;O3Zd9UMs=IBUogsF$$x#9%2XOcggB;U?{_uTftCr6Se+!PA)uu>DX11S(j znmstb;Z^O*S#pQp(XoxOLQa8W$Yoh3TyE4fguDsv5T?}$p`JMy0nH{B8gAtMys?!B}+{83}JNp*~=bN|hpFTgl+o&`D>E0a! z*^;E@NsR3AN(|xO`*X-u4-g5N*Z&L)^lgZoi44R%0@nyUmTqT+FnZ8te2pTyJuAqz z3p}YwUP_(z>qeA>Q?%7As}Zw(@8e7V+vD@+6%}JcHE=6RKkHcsGdH*SPRd!*Whv*` z1%z-EY7$)2?&IFyFP|oDIondxLn*mAJzw_^RPY*~I-LyTKS>D^s`I+wENkg^px)=Pt>Cb#hccN1bvF8KvE(U)0(HPOet5>1TN)P-swgv zz>gzklHiniLqCTbRN7inBLsK`}_UJx2uWK6Jkmcdhf4PX~+NYdV>j+Tlhl9 zvo}Ujnr)s0Hsu;FB>fI2QE2%K836k<7vJQ11S)k424Eg?)&3joucY6S&YfLuH{3Sr zv>+GE zruvwSPT31fdK)FqM#=4Ox)Oq&OggNNm?d9yODDEyFdxE=!%@Gi7Ct7ZT_q2zkpH16 zq$p0c0*=$6x~+Z@$n{vrm>b`RI? zpBb_A+)ZabR~BOy-z9wzv~N;r2i;M6+@2#V+f6nPsC#v+yH)JksjFt{?)zQftpCoF z01w|>Zaqz?U))FAW3qT!#b*E{0Ie;@bjf1#6f}Bl6a&Q^Ajm8kU;1@4ZK){${4Y-n z79lOUNk`ZXFUDhvv##`*wCf1v5T(0?m@uX!?1q}K)BqCzMO!sIMH29#4E*p>I#3dn zmB{)6JUFfqVBz1Cl+io^gmWQ2k|j#sjGcDnUy>jsBPy${>t;>Z>CCY&Kin_z_r#f7 z-ZE($srEzDEuZ=e7O-W6bo^A~X^{-I4!#De*RGRc%4_u*Ey2$}KKyg78tJ=%gv-8@ zE?}e=-w(7+tH_u+YzW|qRKV!;8=?W8@oZkEpXV-eypGYr_6JklkOYT0KlRf*I2Vji zTfc7wJHji99a9T`e0qNTpQn#6_e(f4_X!O$M%=Hr|7o%V#tme|U2k}#4p1D%-FkY> zs^i~1Y~`N(#IR6!p$DuY0-u-o-?+5^NvQ6BM})g4#Xd~+akIm?Uxr_jXnI`%K5@f> z@qYZj6!AC@d@S4*l$)oKB&NtBI^C|?A+`Z0_D!vT*Q>d>r!$n7Iz%kynHcBTU3J-j{d3?JZ0|XgysLMYOo^y##dX+p-N-{8b&R8XZ zl<4M*bm0PlcI2E!PGeuJs3?uEc0ZlThwxH<40sh}iuZK&L7xp^9K5+E+rc7#=5kI) zU_p{XA-)jT1JDNKAzu~#Pf7pxS;swXHjE*vJ7n87 zKH8^9m656|>8U7|LIk-k7qma(2khG8rz*9Hvl^0>KuMbwm;=&o2pyuco)awzOrN}@ z4uehn7iw@3jCRN2pYeSN^eU-yzCSobBHti`rL*M$k=BDw!RlA+O3IrLuA$>OePC5B zn%)Kx=Hr9Z$rxukH30ACqunjq6Kvhm)A>6q6jk4`mRa>Rr2?gZZb#6khvzqMzr5_u zBl0-~I`7AxF@G5TzJ{aV&_tn8a*s5Cejc(ckkrCL6KKNJXemfU52Ot*ak(y!0CT*` zTJ+tuEV35U2^fcg`6Rq~(&NVe7Qs>&_IFf)B-*h*Oihbu3X&fSfn08m4&ZiZ_P1=1 z4&bj|DS+iHY4$4I1B1orrZ_g|MB(kT#4g9f?L_3sl~X-Octh^y!TxeL*OVGx-W&+f zt$vI^I4z(8ad8F&X6JvV^{-JO-DLw^UUfiOW-x7jr$>1vuc*7k)mi=OF6-Zesmd(x zvVIwUb(i(;-R|&y`~LCM%GihYE`2L=Jv&*%^JB%3zt@c#Jlw0BgRrTQt$bXxb`lqz z*WI=+kWuY)#VX&2SC#cqyQ-fF&Y>S>e`eGGE$fdGv76n`hxO5-=E0e?7v*{W>G9(a zOWFfO`JIs!&m-#G^pBJ9f<2ihgB=01_1-nE?=Y7$9Bqq1XmA=B0UV#WVq2RppEtq) z^g1D>3?WV?@-xC&cQ1bP_Hi5w86BASIocN$-BU>fYv@uT|zXZi&PiF?*cp z>HHg-E2p}yncFDu{iXW9zJD_ zGef#g+2k#4TuaH$_xJO1R~_K;tK1n9$b~=nOanY%sK{(w2_NCp{Ns}lTw%D1b z&EQ(S_msaCr0}AgD(u|2iqU5!D_RcD zB0=puRFl@ug4%nc^OIfOn@UpT&XIo9NQo>2CB}}FzEdFBSk4{7g|b|5L?h5ig>)bW zRV4pYl+qlV5}uArL^05k{k8HJee2A`S99x!oeyQLXivL-{6Mk8#y70BovGs5 zk-;lfEXkkU-?0Oe8LD2;g+EQd%7vZ*oG!F7Qig35^1iTy~ zp#oJ%mF}7Dm>NL+DmE)2$*@i>+IX}tO8S&&bNvVt?IY7Obt9MZLB{E zolxMxFS*qjwlnGn_(kFS2(TGCgxOs=+gbZn{x&kZ!RYciM9822D>&^EeTjiyLkjo0 zXo6~`jd6tB%2^C4S)N=k=oOhn(o{^C3Z!GqkR2^939X%{2VKOZ5UH6lc7yfaBs||K zvFL24z1}guU32Dl>99rPZY^%TFwDDV)?uv|&r{D1%kG}Ngk^`#J7?Z!mESO^$-dTM z@1NfOv_iX#JCWrUHBg{yA&rf_b~igf>b$b>Wk9HO=?8(_-0IeR93L81n24;0LfCYJ zm(Y?SnaVJb`b5db`0(V2X1212D@Ptf7tCYGe)3*k`3{^bMUw5^yyD_Aso!l~e7b|-Q)?m7$JDr}mLOD!6Kcjt~ z?MrAM1cLb}=C~FZM;Yb-+UEuMN+cRU@t|KLXEOM%c_#v|%UuKCSEom!1{a!K@yz5+ zIKL#P-JdP84JTV>V?CFGUWOR;HXDx*p?+L4#_75;3fz(P2X}_`L1*9Cfl3Ih1gI&y zb(~cxj$Y`&e$KzaL!S^S|Tf zcgJ88@~6(dqKjvSPJmrw!WJY(`TM3dKi)roxPQA$6i&=Ik(P`z9yos^A4Pr_IUNBH z4o%$AaG+SS(R&Ho*l^7lte{jA$sdq<+QM>!oVT2RpMHE=PODRjZyl6!86<$rjNYDz z$%c&#r6rN|ggdepn3x*KB$|R{oP~3= z$ECSpfRS7K=B=K0#=MheeRu29^Q^0f`74;cnOh~#Q_Y8|G4uAdHc#C!>zJj78U`+8 zyyt5{ob`Oy-ow3LMnfPh=2e!ZxFt zWajl^={yoQANqD5LU8R+u#aNwZ15>XsuYX$MWU3_PG+i0I#Zy1I%5w$&$s**%z#VL zN21n{=z?4>nB|z%4xK`B2^3Avf?F`&9seEQApT3Bt#TH=>||MYqirm%D@IJY+a^Ru zj#)5y1kKMS4S~ao2cw-98Dd8eV*qcJh)rxO)k(0rM8dQMGO5zDjv}N$VH`Q(O2$PC z?g}*&>K)-l0!Z?YUc1wYPzC${Ya#I3h*Uf=7v;tw0DfY^leDqwlm%h6!~*AA%R6fj z_TXw{Z;%`6kZZ%{ENIxNml|?{2*mTa-1A*_1x5fl#_E9{wAAbWFg_;=Z{~w7t{~t! zX1zOXu6n&tsrwotuR=|tBM&RN)egkQ0Bz~OCPFSJ5pU~X@p@I0rLok^Sr`NUl0{ep ztIjN>vH4jLS8{+a?JX_`X%m>>g0!J0d+prt+VKC|)AP^w&+q;_#r@J0=Nt$L64S7+ z5y?4460iIH`s4k_AHJ+vFUWs1ewV^A((R(}G=u3EUl~y?0UvcXR-8WR`-b-dNC*jj zGb5{VJ5hioumtlgmJ!Y^dUtJd={31{JLZkU2j3UxrXHUcCoKAWG{?b?!}w&LE&t~< zhcK$9Ieo3Vj5Gp4UJN>~$N5v38qOV~rDmQD{;V%q7wJ>BFJHl1`yb$?XwSE^P$j!K zFl9*71L{B6w4r8kHc?}{sRwN8vBTC^Hc7Gn94SuKt(eiG^)@EDWG?~pU$A%Ml6VtE zD8>+T@z-jk46dIjXwn_gNw3%%k00N>+`s>69U4Iv-wa-k&b-!TCOzg2CiZ(t*)LG% z*WQRO&`7LRL15zle&d^O{I&P;_UXea`WhE}0sqP~e~<3Zv+mEc?hm`&U#9NQzf<>% zFnk>G$do@)3Y^=ca5kFUUTg}m?p_)EaA+(uAmE?`2yPs^Ad}@FHnNt)#P?&dB$=bK zFryBU0+*+u6qxvW2WZJ=rR2rixIQ4gYcR*PE&&@={tS_`SmZL{JJk7?tcM*f&k<&_F#IY_dc(4TZ3UFZObu5pF})p^xN8G zGSf7)U|46^&bH5lu|eZ2bEl~u;Qz46r0EMQjh7W#M1phEAR?Ds2YU#%A8aDogDh#Y zse@4wQf)SIakkB7MZ`~LXBF$KaKzbbw<(%1+O0))tHP=NN?@{fob(~umb2x9Ffo~b zDNQNbt}_YIeC16B9VljBm0-^^bF8$DXSCXx`Bsg}vUqDtqb9e#r`k-rP(49w(T<9` zw7cy+*_XEWWEVG!HEZ{&ccFq=taw>=QfeDe8xPEp>@8E5$r$vP5Zj5kFLtMt1Pdo< zc46v!b@F`r^76yef6bGxnkUe6VUHHF(t~;s!^O$b3LGEjMnH!4JDDJ+ck9?xXBXA~ zuJk+mWkIk=Mv|}Lm41Ey-zDeuB`1x;wjtvZSMFj<5L0}2d-U_e%gZ<$eBSE$ct#uk zJ689{>P;jHOZ`ow_xj3)NGRQm-^b;Q3(;U8wNK?L!l4C80L;JH-%PqZEmINl zDir~KZ``U}Hye$|H3kOgwcm#_?~?9jYHx9wZ{ZdR7n#x6g%d5UBEXmeuhm$X3T&`V zQx+Ci-B4L{dsG(Y%J)0Mr~9W?5rEVUuf^U4^8Igao?bndK?^1mCFYfqsDT6q%ET&k zrAPrw9M{~Z*1I-MFoj2nnn)MGH|dGmBGh-pF7#jSNp&<;x zP9~28uje;yL_SduA_x%w5e!+#PUclXfjLoYD`8C>sxp}w z`XB}*Kofy#1&8UG7qN@;@$~iKR}dIQT>z9_)m@m%$vX=+n3_0PQXPQhVYPrUa;oXA zILwa{ILn6K9>1M1-!I^X@hB-LPuPpc^>}C?TNxQ+GHoapt7Ut7LV8fGo=_zLzCyAy zfI(%tS|%A&mNk{AlLiy2Z^hUWH9<{Ml(wrOFIq)bVP~uWlHC{48PO3{i#$a_i1|GpX zaj>xn#Oq_}Bg*OAIiVSAU1f!$3DJ1&h@vK*qLe2h$LAqy$9 z@{jP{kZ*$>p;OpLyew;v3>vD5ojM4e0L2>{&2s2K3;Sqn*Edrx8=Q8?#zuwJJ<}yF zN69#@hDP930Gj3#l{jOyKnW>Hl4XsmdOXr@ie3j`U-2B4tkEn&;ffpZY$Hx%5PqR? z#vhO^L*^W1<1813jv92Q#SyQS0mKiw1c?_S)YyIp|MNd{7o^qgs!h&5GeR+8I=IztCGOc-|dooHg$30$i6Ej674tOLh z&24Y<{&_qArmN0WWSB3Z=%qLQ*@7J z$0Z3vWsui19!f@}o~*N#s{t`bM_MVgKt(*5=spfsglC)Cm}VFWT0+C9WD~UF@hhx5 zlaGVwuT;4cmGg}39YJ=ITT}2eGtn(iMUlu+2eFsod1a2Xv@%fx?w^ws*ZU?z*K>WW z%fw-l%Zun`UHaW@HHW)yLp#Y7VGZ>M6bVm*@TB_ZdE#&SgR za+NwTksr{3l7Eu1w_vhRibf#Ia8^W^Eb+r7BUrDebY4S}fq_njgt`R*CN#L(fAm z+}43JB$?^^MQS*4EBmcqB~ogyB=bgsVg+rFCyMU?t3h*=y2{{QsAgH`ag!8m;gnI3SGci zDfi-dj@gP+^|u}Q)5Bly->>!4eoxvi@sJ~$(&L48y(mqQS`QB-Tu7K^>DWa^;z1&U zfvT%S(**lnkOiz;6j{XvNjDS{=f;YO;2sZQdZ;GmR(oS8b>zO1IJ&?*2-yTJ{|8f# zV_h7@$+Mkev?!-2UFW{tmF-(d5OymGLcfw2j4KJk_3zuwz|;Ht=clE(trV7)L5a1b zQ^7Ky7Ey^6(?cROpjU(fq;xxve!tvTLl^hN_z(Rdn0gpw@%)}a7fVau@krjg-=1NU z8(1R?EY$3VOEtcS?o|H}MS>^SRR>5?v-m40a+R zTb?=yH}5FD41lZ-?8q#CdU|@l+FzofDI4y$C#w{65@@WCvt+;I0N^ANnyijDA|m{Y z+II^Y3o#AA@dT&NE zw^r2Cr?*efAD4s=2sdK)7#V&eWi&wXh2gw$Q$!tO{C#Ft&)`KOjV&`z27B~aN;*uD zk)i#;bH=HH0V>b2BwjwAb^G&p6L1p0KWz*yFjVkRB9hTplPVC9^gALB#JpiY72SCH zlV`#sJ~Z!mt3De8hXd({&^qYQtIdS0i+in~7Z_m$gdD{{3Xjfyf%g@C30a~71Aa;^ ziQqJ&f~KdBctzA-cxBrl(IRbNOhL57B2XaT&86Q!u$jW;6MI_8jB`j9BQ0O!F$c3xUd!t+CKZs z$9GExAZntWrHY$Ro|N6Pv>+{=&otsH6f446*wGVNXJ})gm2hl{jE3d|S!(o?cu(^G zXYXs)G)Oi_QtB&#oH$RePtaGew2W6Kuzf|BvhbcQwuZ!qqnrtXG^a$ z3U|`#>)*EL=e?XNilE|^@m7SIW8`!8l!>DMDoXI+NBD3tT}mCHnm?oNu64IBTc1?e zdgpEI{5-7+iR777$MWK}Ez-3uvb9CuuQ<1Ai!!!_+h^U&w#b*ZNSC&Vm$pc1i)wA* z#jbKYSkz70~B$ocDW;fxR|N82k z2;Mh1zmr^Zm&MG=Lv(@-uf(7vu8Mf>%@sH<_WC`UR~0d!24=;M^-|MH{?ULfW~FzH zGi;**i5;eWKdO{f5}l>=x(ukp*|5LEZF3V`Gg7dT=Dbi9udT@H>x!(tjb!)ydREsx zeOyhx9r&`^JQ=4YD*jH+B~hz$IAf3KmO%Qp5lL6o@54H?ERQ)V19*MZDR6atmDO8{ zKX?XoSuX~DLDQPl-Mq6C%o<5ulC_b4RPX1h zlcV?MgSey-b62_TL!C}iPRxK}Azn?SIJSsn56}Gs?l=*koAW|r6?n2Ex0J;(Xhe&Y z2TYfh$|~;aDyw$&tUGkX5dD;gPZF?_yQ!ED94Fz z_ckhwASO&72TUn`0`u}Rj5DNWz>it5?s)JgLD%vUBv<^@Z@lNr>+`q2-G6xg^~0^~ zfcIS}yYb9CgXrT!zGsBao9(XWlggB5=z}}Ro=7koTEuFBbspG;yK*EGW<6ByBDv;@ zlz;x48~Cg(cA}N*nLdL{45KmZk;zNUU%dH7A76f7y%6ip*GUSX+uL}1n@MkD0e6LY z7|U^dAqH3VM)MTQ>cOo5gahmkycOG8ujNQE7R54#_kw7P-ij}kuI~g9B4+9NZ9v59 z%P&t~zs@V(ymHJ7WMP@PXb0PVh~jMml?hY81j%5Z;_G$4kd9l_#-JD^i8< zN>$qsVR1JSEVMk4#7D9W5Bz8ppj3G(i4tW|fJ%A%2{>TfNIczg#v2|xjSuSo zJiYt&vf7AA4ht#~?0`Z=Z<8x69lTlitrEP6p5AjZ0zI<%0pp#_?IrQA?3hZ@Tqa z!OYfY{Tuf}{(PS94pdN%z)|J9wu)H{Lpv`4r;}Nc!}WHG4EbPfL+t&;I7|-*hBrI- z{_DHfr;$89-uWT3IShP6SR`cMyR+2HbJs?I=Y-QFNib=0L`5lROhod?a^mC-EMiX zD#J?(@H^2d1wqNiOk zG)QEG!ehQ5b6XtfNxLGOlpQe!5GD?=!!wRjCS~;Aj$C632X~6hIIR%CWKc9(>ZZG_ zyvdf~Dkkm9soPim1|Cb>agrH~W%onR2|YK}!c;L?H$$kg%FN}lH$mEJv=>CytGYCG z^#!~V1sXWL0>vtgLDK$6*vs@D5QS-`#-No+!e7+f1e{GuCqY>ntS0wJ0=+QE*JTWq z=EOjaruLJI8 zaK65KdB2`{xC^19-N7137qZrLA|Hk&&C?8Oyh&3;xx%Eb4tV)vz@Nb_zU_i|?D{g9 z`fn3UYqn#uo7;uAiy7(x=0`H%E@Hy)PPX}4Fb57o!f@XNIntzu0ZUQk75dD!8)9Bk z9#;!WH27>hNAck)(m3z8#2An|JWQ}L9TUfc=|jhf$D};<0s>P7j9QKKRYgWJ0qC&X zSS*&a$pA9*y%2~4y0^}|F$H79q6&c8iPQl?(cmgqRMv$n>Kol=;T_tVM0{hTH$Q7g zUYy{ZIdHo<dG z_wQc5tlU)ucgBJV`$28#MaM{$ixLJEn0U1g)LaDN}|p} zzSAUgM~+ZXQ-NzD@Q(Svs)T&IWg@WH^8~VbCBid*w9v3{Ob(d{%M}_L7cL2ewextX zglI)ZJ~ndI$x;m0lRYCcKIlFlsP7aQd9}=Vy@ONkqtf@XR9mw&aE}H6Mz|z0^;6=s z`)0!Rl_(WUsk9O&CV%2lNzV;@ET3w(pr(koTV^39L%bb8wf2(b!BQuWN=ZWqUxAs% zrh)>JT2H@~cE;Skfo%)?kNSvc4{2mLQ`T6^d8ADpj(TICY~L3&&hkyM8zjsH0(Tim>Nu6nQ~$ERbWJ8$kftXqWa zCF_4^Iu2jXa>Rd$QfD zhv4YuA%sToA>wVA?U`esg+LvT>zkZ-7Io5{bLmI^I6d5!ngsNPp_R*>CDK;fRJhm> zGHOn*5cM)a_vu~dCH~0Qf2(j@+_M$4-jBj$eCY`@)znn=te3EwBh=QMo(N!iWHre2 zS5!Cb%7ZG*&Wu|fBg_Oddzxx1DS@Kqfmzn{Wcr_3oxSY9Y(`_&y?RLA>KL}a9#Yia z)Q!oi-SPS+C!N)x(62Z&Zwjn^r0t#Ic+L5rIs63& zvUgOzj9z_;8mjgR8o`Tq*jV5`Zo6vbl}VJhr5ls$m-32MWJ0{j%QJRhW;a*-xE3}( zk1EBHXoOX$XQCqt@}F|7J+Q1i+gUt>lem%oPZnG3Ab?2uBx3Jikc`;7=@xr8+b>w( z;stvbcUu^^fB*jc?l0e-Kdn*YOa2=MIrb(qcx5i<4nX3BrHT0g7`a~oD1Nrk!Ht_EId?#UUH9PJ3dm8177BtY(jXMBqFPVd-Nz|Vv{5;S%^iW z&unK0j!E>oVItVh8HoWCx-SRBqD>~pBqmi6gNpXVi`mA5|HR$a@&;%0`uP5F1%Sl1 zhd?F9T1Y9w?HOnc2+eQy{{n~LRyc$O)W0Fwej<-21swtGIdg8Q3igAl4E$k?bor$W z^8lKVtI6*T9UUoI2i?FL&5u}!79nK|@|@7u2~L$}#81s4KBLk^9)&27Dxs)r(;gb6 zNR**u%)wVNu>p%n1C?r(KZg9J>89IB_BzoB6H{D;)%~B#YJfkH2`FNrf_UTZ+KU?< z{`|P|rh?(%E+`C{q_;_~jd%bo1?#k_T@lSVe@7y)ncKhV6n~Tnb;J~@@=i*xgRhmr z43>S=Nt4rSECdcZdqgCD&r1o%*+cAHl8QYZa=aGJWPLuO3g3b?0KYn`S-MGZpWucUJ0se3AQ!h^!_Rb)tuR74VPba&2BdH_8iW#C}<51^0|RV z&p|{@?LJ<9<8`5n^8Ulq#{u-v2A6le3(VchWv3L+fQ{O;uk=8XlU>ojNw}CjLk&Dr z>=tUgodI!H*ge0BOM%nCfczGxCmBVX`g@OveWVRC= z*D-A~()?2AFzSkta7hQEc&2Qv*l&sY8JobVEc)H6J;K%_3(EJ5(n2nI?#Gx?gt&OA zM`!BBA@8|!Y2wEWmBaKPj1_D;JL|YRWNd?iL4gAb-#xkSnmxeV1KFGN6t>y=AX54H z)%GI zTCP-{paL#WM9Zv<6Z+GeJpW<`Y(nFWOQ^U~{3P5E{KgPN#o@TJB2{y+hZ6nz$x?L` zB=DCY0bx>14#P@9Y;B@{JD>9bnAq<4F7tv%zxOo%(dfdaf(J8byVeBxF9fy9maRYl z6(%1()i6`H&G)zar_XCWx7LGR%;@QeZRs}v63EOnZXk*gD>!DZWaclCDSL@{%8MU^$+7wSS3kIwpV!$GDDa5Ge!~;`P|fWwIy((^aFc2mc1YnMP`Eusgzwm zW<)tKyqcM?Cn8JAuH>p?#nW}#+ntw{J2Z)kLIK@=ghOJzy`AL_BT(Nw;9i ztQgQ$w4jK013Ar($vhOLXEvCFvpf-BTk_&?Kb(~uA((@UsTBkxm`RNL2yW1p$4Go9 z1s;>xT2TBUNS_Zo-f9eZq6{U6J+dqqx#!-v?XQP2EP}RRdy+-)&T9D`ENfwadIZOkPyR8N=1DhDB4yItD>kDU23MtP1N$@mxz_-^Zdaa+g(^X zdjg>Pfk^xv^ZGH02_~uXZ%{TDE2Rfrsk4x4W}vnm22|9NK#y6r@T6|N-s8{D@B^=` zmS}p2^kP+KLCOxrNap0aP6ZQtu^1;m0ZV}!3d8~E=5nDs2R*+$Q5VqA^}$Y75sbkg zuKF>2KJ+~nn_7^^x?2EL=l!5|TCYax#{Dh=EWc`x|H+kx`#>G{jIb?!ZL z&r!w^oYz!C;$MyQ%v1kUe2gw!{!aWmU;eKAyY;_`i#ywyU^nRgU_V!B!3x*2f}YH3 z1l5TZ#BsPIFElv?-~6E2ccLN;Fi<@H8W$a9k^Dw@=(Xqew^5?8yfT}o`L zM6!3)2yUpEF{ph;Ww2~N{C@s#{6-6*bQ`p6uH=kae6r5;Uo%Pe3_c9~wmX-x6 zX#4KeP<#XGuI)iSltyOqU?Cirj>^JFhtl;gOy924u!Muz-%*MfE9QROJ%Ew9ht7BA z_i~-y&Y&wR%Kr7Q@jGOAFpmy=Edffr*mv2hnaWlJDN zQbjP%#j3%&WE=YRup10l?SU!Cr=eG(C^IX$o=Kj|+JI|;=uWWFvEpE5XmkfP$Z^~;H-_(f z$yot4vzO>KL4JhqAGxX`Kf{Tew}&kE{3Hz2q5r`z%I3olX~U^3-wW5XPGXZ5d9@Ru zwlhQXh-4cyFfh`@OR{UCYepmSZ(?%ib=eMt(e-q71r@8ukWz^;`Mp3)!JtQU!s-Gk zH;P#Oid?kFl3_`iH)g?wt3(OnUN9!2qx63gaX3w@XoSvad;VTt*DNMUr>D41RietB zOm`7G7<)swtb&-;` zVDoS5&ITSd6@gl#7g%`}^a3aFO9Z|*QkRnPXqO(&vwV|Ddy3dkCR4>S5pOT)apB^b zlXbk*Xshb?zdgP_KaNDYv>(b(nW&L;b!x+u8&8^5!&Qp}0BKJwFjKU$;m5Ias^V2= zDqS{Z#i@yk{CELbAfi|GrzfQ?yxGB+cM%XdD37d?!r(&UT5n(Mm)EDSBaj2!Urg0d z=TZ+2%Y|9TEBF06WuK!ZkV{Ii>tX^yG@=hIy=$wBct29Kpl)&rtO68!xr%8x5dxVR z_TfgZs4EF)rBC19;`Wt)9X$k29EHl@5x=I0exg1jLLjsW6_)IDU|h8>^k<{Q$33{ zq*`&XYx9F8Xb}ca7Act#qB|k(9{(15D``aK%md+8*$Q?KTZX@)@4s|z-=?L**&JSa zRv7>9;x}jhYu0wUiY^y}MkR*V6%S*gO;dyv2i%_xl!0z!mS0`g3pv($c)y;p63;J-T+5yj1rl4)+GJHDD|JX2cw>h-I5l`vOjSgWil9Y^v4T- zXt$KF(c+D_czL|t(;R4Xa{pdBb1o^oSkBy+du575k@_()S8E&bEzI6V(oUpaqz=2TtR|-WKuf3z=^8nA{co9=%lx{W}jZZtwV*Af@YH?!6RT9 zWfjk>T@unT!x-@(M&+j0@?@fp0g$;1Cf5`p$K)u`H5U+i#yd(?*p1WmbfR4h>SFkz z(Ap6?HpEUQvbJVqPWQPt)H}*_5x|)^4X4N-5k9DrIFDAz8!9=av!OEc1jat~*C>u? zPv4e_Sj9sBzCHvc(AxkrKuUrikpST^!ZtEdG1CYX+3;n2e*APJv?LdRn`~w$w6Ov$ zQ_h<1gRo0k{M@E`imA3;4pX}mjE)1^qL(M?p-Ai2poi8Q*L%k~5QVHq#l8O)P`IjDMI;wqNo zth`&Y)ueM>YI=#}8DT@hD2?~u)Uux~ZU{FP6G4G<&!M$1e&+nervOff!k_inn zuVbEc=j{J;n{TZkKt7PU+$@@kb6Fuf!iu)2jb;~gcSp0%t=Naccs*^^>2E6{-Fdhj zgXv)4RU9PBgdTw; zc&yFMUgw{~Q-!euA`jKK+-=y+UtV9{e}A{;CNhvkFn*lerNIP@q@EUYBV)AmcKGiY zSR-JbtO=x?N{O=cggsJNkUX(k)+^V-C|=8~ZOmRUK|H5P{`7&5C_>k8uTYberYy;x zRQN)GBML+*~1lFy9b1Pikcy%M5^!52a zu=afW_VVfe_4(HiYe&-suSphdx}NI6@`91ZcA~TVx)t>Px;Zq3MRJl-bEw;3ZpUaWCn~zyg`NFc`E>j zQup+>6PY>)*b2I$7v;eKl?V zCT*6V-@bPu|J%guRW(BBd>u_G2F$>xdSohHjdV7fPckU+SQ1<(@hm0WC5wkwV5%~+1Lknb23ltb8p?xp z{A|PW&jMaz{gZ<=$x+j3&4R8sEAzNsL#2>cm45$Y-SS%Dz#t%5gwT9rHw zSWyVSqt`g*H=8#DtJ=D0-F_aY}D&0a3i@+Z|AC8#(nk@$VyGRmXg1< zEB`QWUWPj74RY)Xm(eAEb=dWL1aH8yDoUb6%^^wtR_T;h%|poXRsLbl`(kQF^D;af zPDam;)|KZMpwHDIMSQO>Vv@kzffrjd19AfcSK%of5OV`pNOs5Ty(W2#uV6kKZTUaS zH&35PiO1_bCn-*1Io8IJ?QrDgluWM`=ldpDyL^25Wu?BW)FpQ$j3N;(LVivqN+uDXrXmv9DJ-zz(OjkG=M9oIpY5wN zqm+9&1t_1plj;c=(>jxDu{~|;NmQ!Isc6;+)HUVM^4=`HMm13$G>G&_aoqLnT_JKX zr|zVD1g)v#rM#2LXF>j;?4^=T5^IrMU_-e}mT_L2en(VwHe6RB+Y4>T3jPdkLEU%U{R4S}R#hpex%4(jYI`Z?4|;BE#)jDQ=$u?hJ(nL+dKMOQ zOav-hsVUBhDS|YFOB}MNt>C&q1oU*8FpbdGPl?TwWyRRT%)Rm=ac zogGD;$MIo(syMmer!e>n#j_-xR=Q{g$DfsYvcY@S{zE<**9^>4q6D9JTBoZ>5==a- zGD0Ao;Kdzs=H@YLA3DzWi zvJP#DaSfhUeNdLB*t0D7^%VslXrg z;&$i^6eSn}R6uX%yci^?@x0nhMB5MRTyBFx5?OERMyr6n^!Ml2r;krxzm9Vjeluh?3%pZTOufMCU(W>M%$8?Rkn~mH zWFu^!;5zb?B0*0mxZD$ek!M0-E@1ANHpZYc9R>3T3h#G;%e(MDq6WcrgkK%S%ZG)H zNJDVC?+A;D_UpJ8V~Nb=raSEECq-tPCG!?>XmR40xWY%KlkwP!14)axsHR=(ZlA;e z34aT6cow*)TyZst3#9j230*`{$u|9#OGP$2?CW~FF&*Hzt4FY>&I2GAc8;udl!T#^ z5{${l(WB&bLEObUKCQk#e`up)03X?Htm$Rmkp4OdEF13dh}rmhQ`T2G_&u|1p(>grasuHEPQ2jK+!rCTB8G}=R*Bw|`+&AfR-%(&*7W*G z^1P6@ok4pHr$Y3F&x)Ofhh#j7L1A1UOxY82E**##geepjh$5%FBap0cgFBaXrdN@h zgJkGv`WsDV%8&)x#v7%L6ufE?qM44pV!>F9DeY#pfv4Z75^s6yL>RyG%*00QGkyYL zDp^x|Qo3c`RYGqFg9Mu^wtf7SpZ3W__S#M=mj0%YYxyUU>Hp+NHOGG!e3IFuPD=O* z`!S*B7T!4o3dox;qPU+L!B`in1fWg0;hr1iCrGDCKlQp=aT%R|xX~QzkkOB;RV>bg zwdfTR(TSU0ZH!=bSIOV`2$MS5XJWkb5$Y-F7ndm&g z|MfY5g}}p`pzC~7{(Zc*(`}P}USWAy<)h%8VhvG(jbq&iZG)=vShG=fAY45Kg;%nSLzKvhT}OBi~H2>23kLLt4`p4|7w5MAy>XA{>Z zCY)5Fu>yBdmJ!I8p~@tjQ`AxtIL5)`a1+}5x&n$IlY;aR zBL3m9a~LEA<1X2j9qK^LUkxd+uyg)gl)&YsHaB}r zE)ySdwRwVo@G53vv4r8QQ&4njMuj4-JtDj5ou}EP%$teUwm62A3#WOla2A(pWERzWrkFwGh&4`B{ zl?&sdopZ)@vPd6`+*9Qh7dBEP6#iRoyCXAfro~ph=PKWhhrhmj`LL4Hy`jAxNU!5! z#Lffy3=7)6rM(!-kS%y;=qs`!SS*hl#RtnbB@ft0Z9T|cQ2*s{!yV&StT5p`N)f|v zyGkrc=TTQtGVef*$vcyBlZddQYm7H6gYVy z5ub=AT-zjMgT9oeghR+G(!=ZoW1mM8P%{9{oF!N!xTq&xRL2|ecHfJjCS+I0X;+b3 z#WYg1Y%^7gE?NH2z+-v=i^TE0jFT=<`XvdWUda#|x%u+Z;ssOgbm=%o%0jg3RfzRU zwl3ul)Z?}3PC^|Iz%sv5Z;~1XvTLbE5g5T~#L*HPgP8&wh&zaI@EpPiZm)ZROQeKS zt{0T^X5Zfb{P^*44I}c>RWE^1z}k`J128_aSz z0&90yF8R=aln9+nAt$Y+m9a%Hep|(k&y{3sfq;DF=l0)nlodKzEo+JJ64u2M5yW)J zI15w*tUjDuXaFZl4xZB@(OPC%K%<5WQQhiuTz!pYOaxn9P2xtK$Zm-lD;_T=jDU0! zx1vz$$LqPbI_ukq*O!-1;~MU7c6KX&q@$qMxU*Y%Ba?|v4>Ugr=wdooQZG^&XmnF( za3tA@FcSy`aip-=sQ-tRPA?jGUbC8l?MGpqw)78IBJYUvjiaicoWQa&9!c z@%D+(Ke(q$cmM`$BMlRQ1{e5P&ga0ARWOXBQ++B{z|mF88AB@ zG-l3oM=-H>DBi)WyuIXCy{BI#iFVzNtE3vz(en40KESIqQ+9S3nakf({0g^OR^O8n zVhs(S7(&CX6R`K5$$*ix=V%|$F-vx^MhkKZ2+UNzcn1pmqf)qKQ&`!5r$_HUzP$U( zI##1Pku93hJwi30o4`+NdLYG5j6CI;mBmax9Knkg;I64>|3JcVxX_ntI9Su-xX1_G zyF~#!-7*XF0VCiyo>w9$?L^24Wg57#gfImpRumjZ(xFss_D)%wj%Jyttvz{@I1Dno zyJ6&!amuCRrQnm71Ri#9N7E9RsG3NEeVC|6;T8j-1f5TqMj?hFM*;^l0mvTYh?!0a z5<5`hXdWmNy@V4+Hu*M@ve}R3kxi*VFB)=0#FeWFYJLv!4AQwm3WQ)=IDiwAQ856L z$c(VyuE&&F<-pb(Mh@)INAu1O0|)lC5w-@}@9$rqf4kBDb6hLvt`Z}RFz^&{ie#!N zG=a%JMG8!(bW~6H4d@S!FjtPSX^&OFvtx$~Dh3YVCKs|wSRh>MJ25gK&c~cvCD$PP z0e+lN?7EoSn>3>$Q)9fXgk3w7(~e=AGanbY@1xs!!~A<)Wzvt9iVc}sZ%xXu| zy$Z3557tXUVBmKdg58Pm4o@H%C7T-|a%YI3R?wFazmDcag|vO}B)3Fw}(z z2tP$fS$Gr{XVXE3eNZB$kQ92-n=f?#`1#k5Bk7tguMxg7-_g!9pMIukZxwhT~e z6rF+S0RRsO7Ko6Xj^XK=^zdgVI z{`m3!>-Uw{3Zr(#5IPM|<}$L2ju!z+ZP+|G?B1}Sab|PQ`|5>J+inTuShJ5$zrqB+ zfBNgU*T+?K*`I^tDF@!VV&WoYpptR`IvWPnM?>3NHi9{id@%%K=JMLiCn~sxL3v1l znJvzTOp`8g#|XS4{EPRm(hz6XF{6!Mga!@TI9?zV7#x9?UfnIK_=m0W`Q`P~IN>EV zM;Mz!nM-8R7=49kj>)2Y@Q9D0QslIp#euST8AW>KRG4lYrk*4iH)r*bKYW?jr}y9A zt;i8Y88v^FfQdS@_DyxkyDkx-RBLTX56cA&UW+qXMA`}%(zy5*MXw;t?GzOvG_XoX zV|RW0AGWLCYS+zIeSLcO@%i)9?I@-n9bq5jKcakOG2D?dK4Myg?|jc)EHVw5{%3$= zI@U?U3C|(s3d{+84wezFq(Ep>3zx`l|BxWv7#=bRDE*VEm zQYkWWQ^h)3?np?XJu3+>qSr;NR{8;tqKMsbnI$)q;n-D^%Gh0=Dv_oF&gi@t*v*J) zTw8xn`K0_jf%#kSX38%FuiRerD#4<3=yhey%Pq>m72F`OMTLm*uxc8e>L3flwnQGW zNd6(^yc@`Zxx_vo`zW!q#Wz$$d0!Zao7c;N908^aK!PHz)~|X{z5zaV?sIPY?%ns- zTk13H1j*_Wi|Jw-J91+pER#VRS&U{|`+*>u@Bla%0wavYxV3`~!LZzJw zWk5#uq_j$@AMCh|1jIr%Cu(Mc~;Y=MtWdS2PjPSI0CSWfR`kLq#cTjM1)WYST z0e?CMdto1g#fk}yw+bGF-2oOjojSeujN3d#{4%e+{Vxm#=JX&@~$@#Y(VKm-twFHp|RPKBFxyGhrnn9Zox=iTT@W>c6s^p zRa;fA+gmw9j*kT<^a}p$xX%Uh^a4rk@Ke6j8?UiS-li7PyuZP`8w3<%@-}H;;6$SP z%iDNY-H@}Lh=$g{J4mUTCH-k%MZ=^m8{x%U+J z;D#7rZ$EcvJbC>J?hz;+LQ(6W#Av7*>TbPkF2uNYoRxJn;FRnlk%@EF

7=L1z#`QeHGL3FG5z|ULMJZjkcPtTvfe_gApu3u&DmsP7ws}})KbNL$a z)b2VF{J9!md?8yAz%F=iB-)2fr*2$^8U7nhsL9HsUB^Bh0k zT~|*n=P*3egHvCA;&#p_`5Y#r=0w~R6iV~drT*qrP-t-fal76uUT?Ln)+m{#AQllo zra{TuamNS1MWev%#)`*-|Dvt|&>4ulu+gTd`*C}L{?TqiGQtt@j`_Qe$oBNYGIW-JR`3$mAoIAa1R`md^~f7#nJ?9Mo^ARMt3lO00doQ zzgtbI9`Pg7KLUHCO$Ph4v6T&qjGF5S^T7_9lHlsf^*oLyxpw2$Wd4s&;9oxex6I$N z@WS~rmtS?m|8QOh57?SG<6m51!@CznBgi>Vgro5+NNyT;1ZETS7UORyJkzfC00qLZ zcrRu?QTrYCoHyQl%ZDqs0UkSE`r-Lchh13t!2`$ljA%y(h5H# zH#u(IyKtTycq`t{rNL4ya)Kfyxe^t!-<3SZ%oG5jNK z8SwoxCxt_dyyN_npF*aZ%}FtEf0S?^fL7h<1dkk0YXsI8linr*-_C{ZoeDjJTxD6A zf$CUENI8V8iYH@Jqt+uawwU6qY{#4Mo7+zR_U-xeuV2?5vo-e7iSNg+PLfx8eW&>K zH*QrbZ?otshzFZFl5=N?^d{esOiv>j(WKoeC!|Uc`~u;<00bK*Wu~L!5RT`@7!l>G zFl#sRX3jGji-oIw5+x-?D;cDi63-G^lZ`Ns*%_i?!fV0tOk^GDHcRJujZ8|$SVR7k zWYQ@G4+}y<=*UN$AIlq>{Rp0M@_I_YfQ1(Xs*+eHVpK?zRJy3zo`wVK%g6C0B1u5C zc2MQ3fQy^y%V+~eyVx-J1w-YL@p0f#Q?N#jm!=l3eIGB~p}W{g(E{rY&x)LdG9MF!ap6VPM>mr&784NKKIfAF^3kJU!@@MNUm5yUe=}I)4;#J-qCBZ|p&t zF{8-W%4}NEKaht_BHYD5L8yh;K?}7PNEy=(qN1L}KxTQgcI#v!+Y;JCse6OflDU^b zLRLWUih3QHCCKXTvjG|#0%OHq!h{Z)!IO-N!b5|}^%l}gvf+}+qEtqp)XH=@8knjT1OyswhW}$>MJgpbJ3`CQ7$sfrR*km@5hdMW|QnL0eG}fgx)J zV{8+`XUv9VK2#-&0}O2x;6zPf0D3uq+WzK;tD+v>T?G(F7Oe5chP5 zZ`XTWVSgt-8&e--<&cWTlRAP#auRHi5V-5wM0?3vfpCb>b5hGA&7UhUi#ahd8hJLP z-I5GX>`{$Q@F|BVj>S|;S0DZLZ@j?E$G`ph^7*#q8C@&gwakghldmaaV~&@^_7#*g zQECff%c>9A2v5t2u)jZO(ygo>R_gWX-8bT=ZmWeY`~0$o96?!K<Ndjo^dYt~TS9TXHe7ezcapZB^Fbh#5%dOX)XFg=*6nUF2; z1y#&MNzJ^W2kJWUSDR&Tldg%Lh4V<6~DYMT?ty4yN6y|MGvUjueK_@bgM07sDE=F^K zX}t7fa#&5ZOYdZ3LThB7hxht~>w}IWBXB2EVo5Y~C3l{b!6gli1%`pl zAP`rzC8zkK-aVC$d? zJGO-0U`#cto2f?TlJz@d+zqN=e=DvP_64Dr^ z%5WmX>2YupQUieSl*XxsP7Y4X@uKNFf(*$qBUO`WbPJ8DUG;911uM7LC%_W2g}}1{ z!$yuPKOXs#bO%-|^uX<#e*fi{Rf4`YBcZ#^s3lM(LYM9=Nlxl_QudWPMiXgAJT88( z?Dc4BTbTZjT)z_%?BQ&i?3bk9Ck8|{KiwZ7Q#ZeH0BN|hZv!OPnHm`aDAnM83o8< z6n#6T{c@-ENXEsFpuka4*F^3L!deN=WO_7%=qrO}_$YqKc2I~|^!-I_3qqgyACs|`6DLy1|nNmABZa(M!mxx_nGtm(8s2krBN`pvU~F(8kKFNE)U8n*%*1s9kX5*nx6V|@Jq(3o_ROBmf^@ac z5vQbjCDxjPlM~Z;E3GD&-d>hzuy8PLYL;P{6MqBz~vJK?i-mk z5|GiC(Pq1ln@m|=rMaE5~ zx3|ED+sp^;DbqMf6>%c=AFdE(l}+UHBK@(GfML3(-WNIzqwA^g*Ef2*A@6@#Aqn1m zqd@vHDXVC zR=TT+7JO1jy-|vW3OXY6B`%a_g89hET7NPFC7C~G!w!D_bpQDA>2*yjt#T?CFbkmS zIsbwb&$$X~6i>S$dBh`&B6LWSq{);Kilt=+PUj;B8Jyrp44hI%_pGFPp=GALXOiR7 zvp^3@Q#_QTty11SlMh+LJ*4C1Ik)xy_VnrT%Lt*S8;u=dn>a`Jsnb@}_9)i+A}{PfpvYjsDY zbJ4Uti6GrbwK7HZ{_U+&%;~+_nES!*AuaLp1nFYNTQ={Rtv%^gBK4eH6?YdcmiTvS zwB`2s6Kf`|HZCkQ7qtp>(sm~?gsd&7X?`jrsqZn|Vvo_3RU`#CyfjpmG(_;q2AQc_ zZ~W!;>9^;X(cjAycS|kKr)K16%yO@m-T!ZYRMx+|Pl;g4(pA*Ex;F;us!Bi5sqW^v z?xt>Tw|R>?)w;qu=1L15-LChbX}I?8y>$43v_G|7A06z};Z1?euFC$t?bN@0S+N<; zn@MJkf$>ceAIV};SfnM3n{Z2!v~bxe@b3gP%S#tkHh(1pPDDp&HddsUS)w6Zu#8WV zJDJbNCKegfNP67ujjR|vA zY{c2Zgkt$>1eHvpv6;w@&HW$E&b`zds|2Hq*Q?7#)tH7y4^y*B&~yaxJ`byeqZuWR z!3xL^bT(94#d|K2I8`W{;7Pg-Hx@=J?P)5*i*~QN9)|Z!AN5ihAd{#9{AzBo1_tVR z=$M<|epouK6zZNj@gI(r5UJA=0)akuHL5>&J&ZmK`L!61{r}m1-|H|DI?}uD+NJ-t z^(EZ@{Qc|vy?!BXrQLPV^Wq;A2^*Rh6`%AfdNmG*C?BhiT1nsSZRQB_{Exvg=;@DC0OGkhmf zJxruetIWw|4<@ZW0xk-HaK}Y&=vwZ>mN*cnEhs+i2XD5BYQ@$K# zp%6rz;U!Tfv1GA#=i2?ajs%iDO_iT;UF-wow#~eyhVJYVl!<+~=-U6C`K~ix9RiF} z&;s2BATOl6FqVo5?3dc=LM0~$dDeknqZz*!vtT8z(HYE#dvL+KOefb>N!1fp!A#LM z1{g2_OZkUP0{Xyrk^)0n*nTU#Ng zj@ZZx{P?)y(wYoff;E;z%hWYBhB17IB=^+pRKjs_KgHa2o`4of*Q8)fM4q2nwWWkm zEl1CSpjSztA;GX%BKXgev8THZYNL`=*A&3!2#}_`CMtSyL3xq8I71Qz@z7HwJn_r- zq=uF*6L-y|z7M8ekW5G=aW3+bDT1Odnc@-&mAKf+15Wql+*KsR!f2wuowcLv7Hb17 z=f=ty6Frbj#4q{1L4znJS40s&9xUJnN#tJF~07_TWJIe z9xOFnqdjPNC`iR>LN1H#T@A2F{h9fJRU@6s&x(h0p+TKQVg)VKkmtuEBvujUHwiAA0lb~4_$pMe9ogk@doj0+lUeBTl@x@k zoap~ncXukq6m-hVI&;03W*zXfZ*=2u80>vGB#D+Z+S*)}eu#G4-$*d;~aXu)W4?xM52%1R+4(E|7BLQMjTrtUVvx@()EVI-Vta2J|K?*(;U;c+)lcFb= zw+bfFSn!45!hinFKE3>9g+3^jJm;9Rf5((xr1VOtC=JxaOIaK*x#Z>Lk)azPDU+@uc_2X zB>Pe1vPz#~R23^o@66u4XoPTvf;&9H81;;G?Wh=sj}jdM%_?zha~^l(u8`;ma*@MU z8+?BJ^6tY*T%6#WNV>x6bS$e;?4Zq5hSQ!-W(OlPb);_X=pSHJTM#;WM^->*Rz(vG z8`H8d;ybNq{Jq$d5tE;&!S~wq(y^Xfw<2;R1dxW=^L5Ss2B0Hz&P)LQXb~F!ZFJ zl1*OurQjo^UY>oL_C~e46TE%MFb^)E{bb*~aZI-dalmxu;9vq4G41+1ay#d|{Ql|j z^BPRMLO*#wihY;8i0DPGCDnjxb_Pg=$nQ_-SAJ}>MT-CT93Qha&Hqc#|3vUmj-?g> z2`Xhg@Xa-&&N@bM8qF5IS6B-1D;USjxi!g+hEl*_3;Uegz(~mfZm!AsO{hG@ z3b;PBeUsFrOU95ysdt3lu!r&7r9jmX(6e2;OCx&DkLWsDa#w4$ZG-zPCz3qNN7ku;!VF~s#zMy$@=*GPIWERZWxGIba1$XbLd zD!K-%5hv%0#o2y}s82pf%qWw)l6@UT%Sqf-6^L1!yBL=U)6Ty-WhqTc{9!uEy-6D~ zP=5v~hEUAlSt;pyxQ6imUR;b&n#N!Yuz3;%`0x%^F6j+3^VRkj*UMyjz}Q((GJ?^u zAn96LmkZr9T;>l9LOlrhmb0b);h*CGT|lD0wRGfoLNyGwtCFC+sL~-vRh9iyFPyR& z$RRhK#HG%uj_OfCM%bQ}p$7+iVxkk+8BUk3Q4;QD-kxmXg;TTZ(4Y-iwk0KK_Ozro zjbn4Mk;z$1vYEBmOyzy~<#Dv2^IFxfitelqTD18@NbZ_?k@q6-I7$W1cLR2}(quXh z`7NY)yvdpYcvM{W%e-9Xtq+;HQ8-qHM9J&Z4%3(c>^7KjSHv&)Mk#qkM*M>#V~tR( z07W%BQ_ekI0m5kxDH@10Q*w!rIWXkRS9vx(Xy;yl5Gz|XxPSck<-_C8Pv4&3jkq#y zOOq-5b+-*>1Zq*~57%^E{PPmE630b4aRSEVeaJvQlG4)i8v>2q(TS-PjCz@r`?`7l za)Um`iWfr;oZ&=pn2V+XEDV_Z$+t+AW$sCix!;U0qL%|$2{IvpJ78qJP+7TwIIa<* zm&kH7e+}oV0ZZQmHgEF`fh+YaR)r~TH{sWJPoLkfvFKChZK~{4c3!&VmZ*1`$AjIO zb!YF*V4Z1fNBO+nckiFxdh(w&kmB0|=kxbZPp>2Dyl~at)2hWXtc<-xk5J-jn)gJn zB5H&cBg)37!5(DK(kB;<;88wFt`LG$Vl#-SkG4WcNs+*PF}D@SH^sc$;6M}eE>d`# z2|Dg+PB4Xa*IA!qvO{k~&=YnE^ant=9WG^1xk{Sr0m&Chuc!CLYbOpzxX~PswBv%Q zni-Jd)+bV!HCxtXEp~`ROPL1_Wk)6lWm<;7w(g~D11B(xcjSmKU4{xNJh|D~_8`gy zWbr%*C)-S^6~<-}6aS^YM6U+>Gz6L|$^j+@DcsrVWFbUp?q$igdx<>RCdu}}6s6wswxkE@+!jmW#*!``fw|(`s3@Y)Ox+JZ?ewmJy(r2xK(SGv5N+4G#M<8kYlH~tct)fKq8cJ zW@xIIkfqYTL?@cv{^}Z~(ML0aoB~RG=NuO(GfYfdR(Er(NOpvnc4kE}tj2byDoSMP zY$gIO+M!d>s2_93RTWiW5kV2>y=-|)c2!))S-Q6LHXB`|QRii(_7FqnCJz=oGoWHu zaw8qNvz+p%&2%-b2WN!&NeuFfW95!(2k-K(Yo}Xs8#!d@CMb8>N@kgenIqkr?4MmY zH|N?7$fdw>7rIFBv&`m4K9PBfV6CtPO@hk!yN@s5-><~=lJ+tp>zg}TEFhMaKEEr8 zm&qNgxWc@-R|uC30YZ&t?*4-v?}Zc3q^vLp5=k+Fg1jAr*ev1M`O7YkdIH7upe|0* zMXjyhrLreRS25(8#UGmOLODDW=0on>gkGHc{oI)CH(^F?;{N6E6?8#G&6W%Kf&+g= zhTjJNP*bS^s}5sUqv;zJPDm`*c5cJ z00cYx`NklAefM<#^Xud1cOTY>(P-*RL^MbODH-G;V}tBZkATf0iY4F^TQRs}2#EIQ%{hH{{{h<24W$4L1PN zz5Ek#mc^fSef6!8wN7xzL+`aa1P(HFfkY7zs(k20Y06FBL#A$M&J zqE%qTJM=TD-;?zluG}g`9$gkKKQEu>l7h}y>yxTQb^1kj*P;H%&sBD5@PzHgi?!0E z$w$vG7P(N&-k?{wNiV6dpn~&MrmRPL(8Xn!cvUD6E*U0)ooVVsi^v+@z0f_KR)Rr( z`~u;e-8Z|r89|EBI4$;q<%LPMSIDkcWU|^dt8TA<*85O@3K1L^^ukGzg-XP9R?`GE zRv4N!gRx;4ylEJqc^I2zbuCi4X&jGf9IeC9ZtJVjgeMm#-S~OYf4x!{U0vU_5bz1i zd%Is(IxS(G!GH&nMgo0&&@d1xs0yu>MBn4s{oFFhzLQ{HqurNXzlVqqCt0g74px`P zu`JdB?0JY3OvRMbETNxR1hM4+v}VbjZ6{wJauy_AY0lTW6CqC)=}8?YZ8xq1RcP1C zI*@D~K#@?mv~{3r9Vl7{@=zo=zyD~Ilu>(Y96@A4A7|S-&Znbv*ZOK<=5rcHoy+6E z8lJ$9b#*pa!Si2YF0JH)*lv_S3b!EqW&hc0JvUf>p)cY9S}aXFZB;M#-0_ z$G_Y}GzQiVtR5@AhC1>!++6nx_m8o*v?3yyMka#wbw5cib>7@ z#h1i*lfl^w7}WQY=G-Nbqo+~Fm8Owj_6=JRiAq%ZW1*FN>L~7ww){KLnp+BChEqx7 z2Ai&t(1Fs252Bu9rFzv_cjSg85;SY zL4$rM=GBj6 z&c~1MK0J-sUx|srY0`*)V{H+ao`3noF73T@oR& z?V)45b7vi#r=cW|T%uH=!vVbA$b}%g^-kKvg?Pe0y9}xrM0=&-pEOE zUOq%^kXg+WV@hz<(tpVC{v_rk&WRmGMEPW16O6a1P`;Ox=@BI$sv0me`M-C`a6Fi= zM9A2$I*i9`6$*4I&|AB2Hp!tbTm{^~0!UdPk~GY=Kf@2jW{5j?G=jO#*gGY}UxoIzxhl9@9&3?mvIFd8VYG8qMYP|YsV@re76Su-3H8J!42nU$m=pxA-c zgSoF{>tG#uN3*%!@jbu=osBgFvqVx*%@Npx`**5HUvT%Tq~WUUj?`mu6eRYf1Y4@T z(yO)n+pk$Y)|aaoE0^o)k1$oPu1|0F>;2D9kDtaIY9~G)HD?lU9M_*}2?xXn9d+YL zv_aER`Hhg9C9|%a=A`p?n*EJnXgWcp_Ksx#Bxe9B7P$ePtN~yxPbJ$uRbrFr+eeC@ z?RXWb-A9ph;Xe5Xg*%0R1V@*roRm>SP6Ec|D=Jfs582nFk>#Z#)>dXMF*^hjf0=g)@ zYV<5mfn2Sa#7_}P*b)jN7Wa|htkMVrVj9W5nvCeCU=Akg9xp8U!3C7^G;5%0+WaCN{*Hyc@q8Rjf z;{u-Yb|c-td;I!gGDk*J0W@P0CZow_yiqb@wBzK0%2qqm^*y#$-QZ)-S zy(j9R&XZa^lT|+Ie9{h*RD0M&&c8;Hi3M`IBM5Zmz^-aLK7(@Jn2sgq(m)``R7LEF zcF}%BdkitjwE3PdzdgPF^6};Ol^IRqHuM2<3IW#xC5K07m?!3ctkZDoDO;{+0BxQ0 z&l8#OTIfO^sjHe}dFXeaI!cSXg-lE6NSJ}LEss)qfc<;C-iq)oC@3EsHG2Zad=ZFO zpViUG+Z{o+mz%MINvpPqnr$LWkV0XOZ0%%Pm}-Nfng5Rf8@13dt&06L5*hQDpv}!SaB+InuY@m=ZZDa1E|W zB7;FEfWPTpqNIJJZQ+E%Vej(+G|cxBcHWUE`%kpY@opa;KmKy75K=L9X!onki_Dr% z(&|=(oybkz;o9|=v9K5(HeiypMp{@n^Zat0U54IbIJ*9^H#7hV`3w7hyCb%lNVt?9 ztL2R54B(40lQpQ=%j2IsSC{#pt5wP0x~k%o zjZh3;ZjV0E{s@DmiC-~NptMhAbH_b%z^|Y=Q8F}Ab*K(4@H4h5>##hK?K@v9i^HE7 zHpM?z3$L*n>+^cQfTUsrZ>6!i_H;>}c%jT2GqvRcPOTp&-qMfj;(SeuVWw|tiaX-sFk7{_S5okiEd%k9FVF>>`D+-3o`%c-#(MeOTK()Kj~7u(;k}&zC^6pPqOGSg6V!B z^wZ?W%jVIePZq!2Xu)k7IY1={bI)LVGa|UK!J)M*;NGv&`BDeVmoq(z^J+t;Fv@i% zDqnO7cE6z=g0eSg>5{4j#z1Fmciz2GHT(HkvmzBlax_}KBsqMk7?s0Ot<73}`|$Gh z-OGwatKAWd30Ni7If08_={YigbuWfYH);Jz^e8qhLXmLf`D$e<4s=qG4`-YwyAJz- z>r=W)4NxiWA-U5$@D~h#ApW-oE_DS$6co#Ab{O7-WDuF;Tpdo6~wN;kTxKk{fK;n9vwx^ zD$(rRO=6QAx$XC|XV{S0X1_7Y=@sP+2wy1iSn??>p&FT|3%gF5B+gaja_?oZhn=_V zX=V$;p1RfiX`EM^@)+#r3 z{z@_(wRP+Ee=R{{yAvC3I<&W+{r@h#X2W11Rqw{@z20o-&=p9Wq+B&!AV;aibG^kS z=C9#OG=Tzo+(=h^fT$AyFaNgnsCyspKfHW@T{E$YmX;zL^!2klAcH{tjY)E-jwCJ= zP?*jT&@GhX0QM;!nC>@tZcr^LKy6fIl-ETh?NG^7i8RJ6E_xKY%m~eQD@kr}mtla1 z;Wi0x)^VA|eM68!F}*fMGQ2Y(FbW#ahx1#w)-AlUteE-zyJ93%eR##9rJUd7f%QLU@E+_Z%9rG2?x8UQ4xjW#R#L| zu>HVeU)O+^n6UbB^t<`e)-+NvPOdGcXV0RvOs|pU_26L8N%V_N~(PM)orQlmoyV2cE zv- zd42wmm(Sluss+#WX5QJKMgC0@N(W4UqaJ5EN`Eq&AqDY;&EkK1dcEawxC;;>0O2_d zY*;yghE(B$q#=sH9#Wf-M>dA{Bpa8s*U31SLC4sP?95w^xjvXc zIIB&Cq9OJqHX^K-Qxg;Kq@9BQmF=Q^ClmGp(??01=Oh#Y?=}vZrXLZd_sSiY%7}L0 z+`rQ0hw5!Mt;$)l5l`Jer`$4OyNcx)k&logXO5tj;HFe5nH) z4-hF4jtAl)lq}(9MB9Q}+wAw3(M!jy@&qllDF3&}gHBGY-i;A!=1KC*-a>H`#{@z9 zlR+z`P1DF$q)33Mb{o%kp|Hvrm$SG*E=Rhj=f*h{CXi>209+rUUrpKU&GlG&q_rqi zDM(pa4F)uKm%~D4f&LmdP4TzS?`}4E7wxSpnh_2GvGPs9C@#D-$PpOaQ^6h%ke%qC z1DB$O^Mt$7Gh!ZM2f{bNeeKyn`wS>cXEFz}wV55@NYN#axIuL3SnVoPX`9UWMX#K;(?B38|pm3%Kw zk3_Vz!Ja4ppG3!>m5}d9<^~K36c6D6O4PX_p|@9jXR|%m@od5Z<5?)lOZ$~;`_1%6dqAd;EF5=>=0RJ>>Adn$G>gp8DrB?l+!)|NZmVr;qbyd?in+ zawV=#p&%~>t7hIKM5rWd#ab>LE>;6vK!m1Y>h8krlB}}#nwKE*gl$&!lxV-SLs-4+ ziBws1JHjlK=4_iE5g6?W5_dxMI*3|7i67)b57OxM3g@=b8l$h2(xYvZ1s?V(k_Da? zJ#>MzUQf)WK%AGDC@Qm`h|YBsRHvR-qQ9`3T%~lxbfR&o4x2T-fA{k7`zMLn-#`Ac zPLgt?FFcGncR~$&IRDV0Vr`REFbM!C`CeKobn8hz3+TYE`3Zd2MC2f4vE&RgqOG)H zm*3X<=cixRp44zRY#-b@RglO)+F)oo;h5P*a-{LhLU~wcSa~@UPfaeEdLZbL05*ta zO6#=!y=uQceOh@z>9=%0(A05oNe(h>*rxh_uoLL2hVezWg)@|WJ!-{G#M)ygd!*Jx zWC|744UcjmT<(B(uyvJXDIh9kHX6+&pYw;U^854qZzIGRJmae`=LT>tMeX6!S>xED zhMZ`zCbL-eb?8JB$>Av}*nTj{Yw6?hgqYp}zXoyw;Z!t#pF6+tR!{Grzpe7d1g%QU zT2S^Nxj2=KM7l~P9%0=T;A2Ak*vN}@EZq~4s0!Z;cTgiH1V)XHft}c0pD44F2+m5k z3#DQ(QF7I9Tq38;>Dixo=gC~@!~SRnBkZ+#_%>rN-FEan2?WqT(H#ZOceV52oH z&RV8Glpo%Ho$V#a556N)JzEd6=^U8iQb}olW|IfvRnUe~re=3p*Pe~T@zS^Ft?tEM zK#PK@r{maj0Vd?cvv)-6Y(boaipRxjEc^xGT84qlOl+WqG{;4 zs2;fvG{pz)PsTg!?RwM?4TX0*5Hq3Z-uc$$c73ti6|9-mtYE3B^$ogqq|x$WNqVb2 z>h&H2iBi*q#UOvG-!ZY2a;#Q}J%^Cg)v$1@VQ~|$+Xw@;x#`fthy^tcbTk_$pa!pA z>k{m5Sb8_{CMZH+fzYlt0NBT1u;r<*UDVt@j&`qXKhVMPCm@YOSlZof543OhkDuSa zzC5oWTSkEw<@Rvm$}2oE!SuZI5|W2f-l*8~m&fL)^( zoc+xeJ>~ZOe_iKltz&e|(psIved`EadE-9toEQ;fl4F$23zbShs3E~X)EcAd$Z#3? zGrY(!=o=!Q40r7qq~dRPUdCFN7~&>35^dBB(qf8FM3>!p(qJe3$y{u^C+b_K*{HhW z49t~MEnpz-@MH&jRUyiBk%x}Q{XI9@`Tm#3cTelI5_ra)bVC&43=DPpeG_g~7c=?2 z7Ctfhhn7Avltg^y$aTG>zDE3O2&1pBa;k#kF^4^wAK>2$AbAgdNBp)sPSU=GL57U= zK$?V13=lS_$Uh5o1uwTX0R3`{9&O(nxbMZ&XuP^*Dq~!7ZgT^)Cazi&TRABj?TvFb z_e}k0GHcbC2>jkM)^s5VjmWmkWDRkvB+F?`v1}vX-1_p?R_fRLPv1X&d;YT8Xai|G zd?}=VT75kezn;807vH##Oay)O?OnN!N>^>D(wnxon3{al^~zV!N4)QU!f?DkeyiIzU|_d%>$EXvP8)OUv@r)yw{z=$n2RnG)E~d^rPr@>;C`4JFB7Kb z&&zbWoMW$Z@3r6EoBck|?>4b(nwLvqe^~<-%fe-`SoW*nOt0~HCuE9g}+F~AC9-a+;u9(ViU=B(TA!AR0}fr5VYb_i4CGQbFXLU}Va1aR&qsGH>P$#dx~2S54qdBM%YkInO{G9KV&riRvJnro-j2=&fYW6IQ`HTo|cxMk>g$&x@&q{aNXMsy> z{wA(`ihl7YL+;DJ+s$>7WFn{FPEg=^qs*zrGn$_yiE$RF=GI&F^zrG}*A)c}r(`%j zkD?YQjDv^{+F|HN3SJ1jlDiH-Q6w>7YAO<4I~tw#-W&NpGC_^h$;DjL_Bd~X= z(EYF9pWi>NAXX^mKCD=g37qc%JPFE2DPTd zPfdtOFimBXZi~?dX%#}Zf>J{yPDZFnB@7~v1f~>@cW){QWQ4X=jcjR>#GUA$52a`8 zHjc?=u!lx;mJ)BKpNbazE2bBIit(gg?v_Dz%w-;va{oM1*FWlsUmicaK7Ic1^n7Db zOmg2=Ix=04V=4i{{ZD+AzdU{X?fLUob|LYAi2`MT9ElSl1dRK_JwXDRLO27XDZ)44 zP0M-Xk)J<5e_iLo2-(o7@w`MGVJkAVB|v7)6DCuc;6*%&KuVb0rCT3 zjc^X=+n(Cxu~2eZEtcs;7%b*lTD77go_frZaWif^ct%;bK}hw3!Ar3J;h9T#3W(Ls z8h?Aa2OaN-ksVREGBe|l=;)Sl9Q4mR5%NS_>E807xkIm9Eu*E6&YLt(5po>vnNFdr z-hM%C_P7{Io^;fj3yP|FF zzlXN`hv{tsEz@ioUWqVCfv=nNd)q(LXnV`#X68p0%~|gda2RoQn=4m-pqCd6+5c18 z{pXjzuCj$o7aT-OjlOQBXELu)0@6*3Xl6Jm>0p2TlTsN9qa=pvlvX*YS|siB2H!qe zA^kyguPTIPbH&Ucp}zdVDi}XGlSL0B(LAyy=GML=2o}LQv!;>a$#g@30E+MlTP^hc zbrl$9&hvo@@giq<05WktEzF;xOv&GD#7jj`7fH>#JgcZWE z93c)tLhrk945Ic1Pn%rZ#o=mWYT9gUixLJbDB|!2qH`CFI@@Kb*Qz?)Rbo>>(||YB zpy(l#W{wi^j*{~(jLs0nGarZ;TaUbHyAMx~EARvP?(+DR5KY-upbj9M=WbfzJc_Y) zjQ3WN=#AfkDQC*{Cbo;=SMg2&PKn@7%-6-HYx}zr2a@?PDKqFrE@0?!vXDBUEWzLt zEaIpem7BE24Q({mr>A>S%)Wmd)rB~=!R-t{s7ve_&`s_{zLH47f>~!aD@E^E-3~?LZ|YZs|J!Y((Kd5DiVw)=M?;{o_+``9h9X_jB;WSL5z_}G^X~N zrFsN6AO(4VuWq!HA#WQ%Ogm8znbs~H8-$gI+$q0i)9vyQA$f1Ty7bFw>n z)uxcx@Osb5?(y_Q0RV?xK(yPN!R7iLr$z>1Js&2Xss;QvYf_Ha8#YGn>!%Gpf*%&V z57#Er4A4PB7k8%m}o#wH8?XlQ?~U~{ucB7 z)qQGUCj^2Z5C}x<*n9n02CKvwTC+?Gc+=l#hIc9*ecd$%$Z#d76~8jcww`y2i^{;t z$j%p6I+j`G(PWa=_Jq@Hg`5t7P~Q$KLKLHwUi!bi&7}}cj!xitApxfc!MzGZNc;$o z=1X)B_!|rUuH@P>HA^lvT5O0$w3Fctz0_|%fB*EuyJacz`HFn68O2#>Wuq}v6aa!j zw!?&RiA;Jtal>p>Qf;JMmE~`%$t6h2j_TGHI*0H3q@3^=+N^^FS2|D7#g>tpd@h@# zRCgglBDO^agCh$vIa6;h2e?!QGE*eXL5pdIc$PzKJc?cGWGVt-Bw4z*8|kK)3I5m} zAo!uS*A~Yqvci1%<@M!UF7tfpm%EwQw|Kej+7_#JJ5C53<%(L3n|7@z_!K9?*S#kZ0vt)C9IX>2oH{E(LUax|RK+A-``_Y!b_B2&WY> zhXs>Thcf5D(RaC$-Uht7s19OJ)`LswyxF!PJt&_DDt(FE(V(oX3bn_0*<2l!I>H=f ziD|%mtJgo%mR{rdcSQQQbM*#QV<}y?Q!G`N21qc51ms4SlF*xkg>o^3~zAVcsz8O^?%D@8)uQam&-W5zg(B=h|4cS)&1?RaZ}d zNqPz)gCuV5c;LxR++V}}O%`FBFSovGj!P>YSFJa%8};1Kh{Z!#ReD3(+sT7TqXkJK zmO?057A{)XCYRIo@$^9UglC`l0dkxR_GC;zdSOj5n?4U~&+uIaY(nwM^eb@n8 zCAG=1kwUx{uBrW}(!L6B6>)? zmMfVaoUc6?P>S1DCI;YG`QG}@YEOIqXwPK*&80JW>Tl4z$RT}97C9hJ-s7O6IhvKI zFP<)v3Qe%tCM4H@xo0IT`g7e5wW=E;7|m?bdtH|5?*Anmw9dzZy3HOSH2BN7~}!n>Es{0^M%tJT-fueF*ee7Q^~G zC&E0Mu&o8{u z^6$TV{_*AY)6=(In9qy~wS8qLy!^=JV5AQ9OUhEi?|LCIwnzpM?q z)t@e1;>bwyu#m!TfeW@VQzt~DEP->runQ50MU_HR2+3M!-fW|HZL`xBrJ0Q?Gt@&ShqtCy#{92Y#G_^N+q%lr=1&<Hv%d9rNN#Z=;|#OB%~b5u z56YZInLp(2E4j#|WV`+##ad|D>A9Ott75vLzR!_B_% z=jVP>Xg-D_S~8Zc*Qrv+eXG&{ufr-LtO`d;UwtALCpt^!Al11yq-9!wZm_LkFO3v0+Z-pULLBM6t9=KbZ z;pE*1{E$cB(^$MDMulRVQP$nkwFfe#@_C7}#%}rX@ z+Hfu#g7ygd*ayS=r&zlw*6}GonRj+MacPj>E^K>!S7`F?&TbQiaQslv!v`K6cGQ<1i`tjHf3IATs`zD=%im80c2QCl@W5coZ{6zXXJU zesh%XEEEpEYBj2Ofc<2qX7pXxW zQ@E}eNt;61N8KPZh9xh!tZz8d4@^AeA)CfBt`B(MQU;>e&g0K5lipj#G?eHp>#P=_DF z5YtMM^pwT|i+~{=mzp)jrH!ewsg|BGhftR)KNT@)!;)IWDacfHlgmnsWr*duVR(_@ z8zE3`tGYwHn9IB&yqV=hacwtLZv(K*cAWuE62vPijZ0Q)xy8p|6Dy!P`or7tX1BA-aVn(q_}0}qr3ojJp1$A5 zloH})UGxNJOj2KwsGXbM&SR5VfMZN4YPT__lt8mGrNqPZlu}|oal$%PdteANUXC18161ny=#N0B3GH;KebWAUHF0^g^ z6!S}O%M9k19sq&om;OH0ryZM__$)EG^pt%Q)j*%YlS|LT_UzKzxw%Cu)BbvzUD+R=5lu6>&M^Z~lqZ>iVaSsV_F^%~ zbRgtCs4~g)b%t@B!ZS=CVu5z^&UJ?A!!L^7Xt$EiwVzyPm|Ulq921A_b*dRSZ*wd| zMr$bJi|#j+xh05e%q?y8+&IVHo?9H2dTwcAzAuEOW3>@K&-acm-CSk7Y-{3ccs8h5-9Yk4>(?X*no4In=TVUHngEV&)P zIu+5x*vrp2Amk_gB6B6fd9-XD?qthI_2Tdso-SJXgH8%HwG00s&WULHxBOg#c`( zN3^FoLO&cCl3*7m1Q4Yq-l*_`RCR9wf`a5A&EPe=KFo3t(k`LeogC2GJW?hQ>k7FZ zw0gZ**VZI}cPYlFPZm`#t+ys!Y-|ns#)vww5=yuqO|kf*v7-ZY&S0SXGEd=LTEY>S ziSgi}N_?%zBd825+bnPDmb~(6Wc|7XRJhqZEY~`Z5twADD-Ueyd?Q_+q?RE*c*}Hc z#5|J&C(#&qF9oeVOkwax{>jd7u)dnUDycR`!l%n-j;!q9w3;K~4ELcJDsTC0(jp~B ztMd>%m&or?jPRHs0dYs{ohs3er=>9ANWayyC)GFSP;edTD+YH^lCw#v4oHljN&4hW z67jEctPk>=nr%8Id~L?Ea-;wuTJn~%{NG_o|^5CJoysHLmaSj%k|U8u*)vBcG@ zYYt$$mVWDyUz;%k@7?bh;izS;< zWo=!pwdd_VbncsKv1WTg#wmx;rHi46ei5hc>R1%x?(GnM2jae!TAzvB3i7kA!rCrq zvh}?2hJ7fUPLcjf!;hAAbn2kBrkHiUU;tZFETeOqB)s3iHi1EO>jtkBQb`;>*p5yv+8{z*q%ypd zCH>HuZ@i3`k0=G+k|$KJn9b^ieh>mfjcx6Q^`jr6Pd8KOJ9NPClkMeimZfiKZ4U5k zWJg+Uc$eQYFsoomhc4h~Rl23qi)}Mnn|FK&aUlU1G&MPTV(Lj=i>8=48sO3=o0!Pv z&Mx-jxkBtX(&M0out|w`DS+&))roI>)5^sx494M-eao)O_?z0edXis$`sw5IyBm`C zOB=5+lrCqkFqYSt%l+pCIlFD+r!5veWT9^;M6NGuKd5f6Z2!x<3%mN%?1xa=z6Q{z zUER7rm5qNQ_2bK*np@V8&SwAd^}F-si$st1vavVN_jz|IBj!z1!pA=%()q?OUrCz& zi+&zIrQn~PCH*!2g;|)VyAC5&mghq?nvG4b6+1$D5MJ_Qqq5f-X5ZI3TOUQdapZs_ zYnGwACF&S$@bc;Dr|18cMgS6OzC~+0s&Z#==&~Bw=vlAH|K)CrJluXZymebQAcFs@ z8|yhsHT=RhpA>8s`o?pO#?S(x=OZ%f&8X zAi`&N{4zhxtfq?8of#*^xF*~U#xOTnl{B4#H4UY)u>z6PM9!+QuWf&*A-L_!({$dA z4aFD^6N0ynnABg+G1ZMH<_OEcYg-S#*ixY1hc@N6a)tFF7B|1ZMW#-MR)J(CEQ>~dvm zUjij`ki5J-FPp+d-nh3ysePDTFoZ)6?>^7vys`=V6XE8u6;m?iXiwZizMlHoK$bCS z71J3~SDDG-(PkJOeW#b2OKQT&n-heukY^+BjrrN-^*Qu`@EzgP2@) ziY;=|E9=dWAG3Hta^{809D33#$2P3pw6u%O0k(JpV7WgS!fcn_-qnvT{EKS&A@gcA z7Q;eRvciQ@BsG>DtlJtBK4!wcse}%p6Lt-jc)*RRBaD&iixyvPUUjI~ryqZOd2hnr zu4_$O_P4Czgp-|Ey`SG&@P(vy{aL?djiHvedK&TsZ}YY?T&ij6xKTn>z;Nek+dIJ&YS| z63GJfdYAQ`!CAo`pU-6n`v0@R7x5_zIo=>X_m|ttx7+wS4#r!BD}eNE-cp72&aG~t zt@qH@o2b*u>X@z`)7E2}8@**GF#*LJm1?V`m1>HHrZ`f z>vSiVr~e#d%K_NQ+1S!Q5r8O7kT_`$tkQ4X`KLWAkcuRQYp1xf|D9tUfAFU!mN7ep zT5Ehda_ku2biu;qi&J){T}0_+PMejSMxy0T*-^~E2CKkmwrKsat=f*ZiE8dW9WvxF zrcoj|*i3$UP)bsjwnKct@xUsmexGnA~ZYu7{GnPjo3}OO(6-_3u=jDO z?O}1cOM48_9>c0V#!GXQOLLSp3wg=$e=A7u`)Y~b4w`E^<_g^MGhCS{mT^`nOOzC-U5n5@E8 z(ZB?II!7S=v`BRe@i2xi2ffYknnpn|O75R&5rk z!KN$Oxu`qF(c<+eabJ!VZ*nI%*>w!Dle&TMk3>(*X|F^!cY<^#SEp(mUym!*4RSlXyn{ zE@a5ihD2zsFIQ*!^2^Wv*rD{2;s9nqnZFTpIzho&v`2B&5|@ngh*N+RqqFQAmgAQ9 zTDmNlHl%aDr4uM%22!UYm~kWS;*xHXBr(c1-GL=wPbhz1PZGO>s{s) zT-I($c+!sVo_>9L-8l{3rx1FjA&4i0Dm-$@XqoVW9D6_x9aXBMA7X#UNZ)&ZJriZA zr3pL(*LqiLcV+EfbJuJHDK2gsjoR+~te3C6aWgkM*YeeW|Hu4CdMz1LbpkT$5B(#q zGx2b7{nGH!pT@iFArFW zT3(C#auFo@<;s4!`s2&ZUZ9Dnoeik7?8F|ES*e@tVA4&)U6!f7kn66pe> zRBU9iwN|~BracySSzJtV?Xu-ohx`8iulsbxcrAo(^x%H4i}+Vk>TewjiPt=h0hfSG z&`}X|>PJIJAJd4dTl^=s4q$hIvXWRIX zKey9=q1XH~z45B~zyAF4`t9BO*XLh%p_|maHx~40-fML^1XV{$Y+dWreh;p|Tgi%V zQvNaWUZ8ffj;2Fw2$N&y^Km>v3F_o!BYWioj@GO6aL!TJxd+@KAyf%OnkATeyzTeH=gO= z{*4}}0a^uNhTisE|ISZS52-g$7v^$eKH=}_uKbyg>ief3KECePfKg}`3An4`W@q;; z>OhXECL$_0sT0DMZ3qG=Xbjx<6bW=l(WJ49tJmZ4mYeY0K>G5s|N_+;PcGF;P zBk+Lx;9l}Ui+ojd(^+F8kqo%q2Jc>ExL?q&TaLa(GYip z<;IWkWg^4j&d!wjV7V>nDadDs+~(uB(Wa$g6InQa@%n1FaZ|U_?ZiKvYCPg>*!x&= z)7ZK$e2Vc(KNZ*NSzMFemES=@<_^ua78$$*l+yZm7vVfQ*sV)@x6Gp7Ufyq4^UGT% z%njfLsvT13eZcq?5x(|LPkTZ-DXxy~!EQRp^cnf!hfp|%Y-YlfeA({y7jp$40{|gW zFkVSnJ7~TQ9pWYORE9pCs*0$9hrCP2kfbj5Njhs>+qD)|YyW}6>viv1uH(vhRs$7$ zOWYsKj2g3rHz?GZI5m!bCqyfhgNPODK@@d>5vlHu_HNOr-@@K$IhL|m2Z9yaT)ra$ zrqr7ODZnir$g8$?oY1%$o4E^=u|@q+Ste~bTDG#8q`lUf`yfr)vRtx&hWOr~DdB7P zmJqJNBj^t3;2JPMp1469H>aRT19?^`Z`$M%hWp>c?q4Wq!5I`v1ULfaa8r1CW5auE zVe~fR(WWrwdGhAm2l@|9O0`tLCBFfrKR#mV11e+tZ2IW`nW`s_d!(gf^RlzYXr@ajsH$(6h0#Ti z0h}Hk?~N|{?n;2#d9My8bvF6H>SL30w1qDncA%w}C@-KTSl z;yz5V_^!m}0=7g{fI~q>fEl*%Fu_5L_eR~ekSs<6aAz~dlIRYmA_!h#2PagOGvo&8 z5FRRPytFoqfQU3_%OfdKu2hA1sNy*Q0~8aa)mwmiNI`IG0s%|-f#yfiYXG9vk{P+u z)zAb%G_3?DkEbGF|Ad zp87Ja-ml9mcYX_3@84`Z?Oni7YlLqp}LYL}@Bg|D{DUi(7dd@U;w0j0~1#_Mq ziVqOrd(p07ttu!N-%xD`*n-8N`GHj9;+I3y-hAGcn*LxVC!qY%e@yYBRAR1E9u>(a zs*kOeTT7LV8ofRHeT)5xH^uK^7yYq;Xlq}G0q9xo1Ao(-**2Pi02pT$=xpo6$=~7bM@VOaIl>ka605BE5hP#haR6ds?xnulB z%X4s1+87!$EaM`_SgCY`#*9eH=$+eSFZ`96@UyqD_W zCYhtd%G(@w64?&;ImI$olPl?w!F|Ws4X61~;WgPv@@jlPzEwYcyV^+s?n4c#&hOJ>7 z^-A{J^Jae&qf3MMT%4saCU(Y5(<=2}&6F2rV|9GL{7q25`n$XOxV!Zzo4=1od`5&qvJkdVS9YG)+QLU9GfOj< z&MCCViaZC5ZB+iL|9*CDgos-ne}B!Hd6RQH(SgShW-xs)lcq{M}E zzK(Lf`YAM?uLp_GKfQk0Y1S_*zN{Qw_elMYoFX1M^qXe^k znecDO%Z90Q_QMYI>Y7rlo^Y76ks%#P&Ltq#OOzsWdvW4zP{~mPrv-KMQVUUvo50agf-!c4BgcPwVavex;YY8md=z_#QZVZVNsL} zXHy{E`a_uQe4B2Va=_hUE4p6A#6hD-flO?s$gd$|GKUem-|(pERWa4#se3lT#A*?i zl9DFG0eK_Ls%9(U>x9aowJv=-l(zW#eP^uw!J>`QFF1o5^>HHfnYtRMO_**@q~+#f znB@R7NaG)(ePRjCh;xh)#ZMXI;|t{x-g8TWl9GY)lSEYPYYFj@eQtpLVKCIdZ&~L0 z-eRSlfq-E+8KYFkA_J&whloO_AMXeV{Jc+&V|%0kxM?Xwu!zhgAcgEAGb%BTPW3XR zGSX#BZy2^IsIs)k#i|DpIkyu-Rjd?%QV9cN)pM5P&mT0oZo!8XtQfxb2_jc)UX^xY18ktU1+)9ME76JrU z76NY5eX;PRI@1)QVt86tx&MZ2R<2gnDPXkL9F73h#+A%*eOIaC)>E}w*#x}SQ{zw% zZlVv3i0$G+RgikJP));IM&@Y9A(lF_*c;H4CG6|mWm%BAA0x!%&TSh$!)90QaW$^| z^6|^lW>}dby)bxORz znz=fJO*ISpDR?)N@n0=MI|{^-5Qg_@E#h&X_Iss|rXJH966UpjY2%!zS}i|BNoqr{ z7;F7$QbFaaP5<`%{@a(=cTcacPoIB!e)sglm%r@`Vqr2Pa~Z=(R6LrUwNUom4m6#$ zYY?kE1Y$jdsAD|=z$oOx9R8s2$Fd$wn$sxZf!IbeK;PmV)Z#pa^|neKu}PAgMxz;U zd{9Yv#!H74@d#CJayE9h@D_reafGw7(~N0KWM!8SL9w0K7{Aj_KRkcjI=U*GoBqk4 zA^Btof!a+@%u?4GDN6hBC6<{zjg^CS**Z%7Z{6t0Mh#PKnv>Icw3%8@z2ot%CjR3O z`r)m9be*`KghUg+m4&8O?FW|b`ttyz5)Z@Sp*IQELrEe*OiypB%jrOTH9Q7&x5V_U z(R&KXQC#RCLJo?@;1Gnk@#tUl*SHL()8&;(Dwz@_DfT*{Dn_kTMkDr~Xq_Bq4WUF* zD4tTu&E{k?Ko*zv@14LfnXB!CQS6$xD$5QE#uOjt5RO9xDsl0mqx0i@#t+64P|0ep z5OCoGV;^8mtwEpbS;jA}61(ox-<#GU#ehBG-;AvsIFC z0?ELQ^o7CWB{;-PMVMO9*wzR4M$>%x^ux>N|AlcdBn)|FD+k(Jqu=B|ZKw)fyz|-o zZ?0Q?jI6&iq6)&}Lwf^d%ENR$3h7o0J}<7I>OT8r9G>o`7?qbXM{pNVEQCADWhoZA zV=@nRe8z4b1ZU>AZ_fFOY6pvF&IZ0Bfr z*NCW~qk%kbn~w+vS!Ate1l0W<_!mR^8_+`M zEB0;o){(8s>nOt=x)5V-!dTZXoh5|!dJS&Y+|RL|Mjs! z3->=Z9iMK71B&G)i4P9xt(tZDjR$~4?e90TiWpi&G#GBSx-qSiJP<~P+?Mq%p{-On z;(v498vo?+JVs&u$B24)kiR`$JGU?{cH^*kSic7Me&61H6YgW> zMfL=RTZUc5pjYq1n=6vmE0IljQ`I`_+4A+(8d8>L<2Q%vu%-2iXj0cdk7BgfZwyDf zAS6s^^)r;5vtg_iu5%1IwTK%qlaF)G2b26UH`XV5+I~aCDZ8jc%u_s z6@!HNEcOJ4T(w-h{4$YqOh@Zi089nlImBweoX{2kk@-fb`^%S?&)=>DO^G{5rL@Pk zZZFqA-f`(Ht}G|nNQ81(z-h^nM7}^Uw1;~B|GxE;AOG>wwsVU|Cx&?%kAwS=L@+^t zDnXmYohMUEE4K`Urkggp?WFFVWuJ#@=_qnOxqjvNm2D4ln-@w_VR*FSg2I&LIf|G* zRSiw!VjDbkEr$PKBTvfEe5ec>Zdii~wZBA?Zkx7*|DfoEC-=MCM` zg!ywD{_)De73u(50qRQaZbWH;x`QsPQI58O90h2B=P9N9T3Eo9TbO!WdtAXd)Bc3c zUY@r!M3J;K$wSrztee?ERy)OS;ad^e*8(l%^dEXF31u8@f<;U7|L>Crt z6sbpvqQ{YJo{Jvbqf;C0=-5YmF!12)jd@V*$3$tdM5T;;r@zc~VACa*q50&&0Q5&O{EE&Fz+S-hwPMrcaAzwG#c&<5rlZMxL-eseuK)4<>2*)g zwfseX1g<`wql(KY?4g^Eq0jXWEK9(p-;9sZVO)gEL0K5x*HmZA))gH21C>GdwR1f- z`r7KTz1i1pao(ppsTEEVX&%sGKfmGUN9jjTb>V264frbX03d!8^qUhBWJg13LJjwk z&GoD7i#>;Pw=eYj=j#{ZpIHC=sY{XHSUp9)cojVpy&uTX&)eFk7&c-;N8y+v zqv?d`O6KY*E^wpu%#NapwC!B|oN!V~HeZ)w&g==qds16npLFg=7cH(X?B$2oy(o-o zMGwdlXS?GnO)%{ImZ>5tOS=C6>**G`mAyr?3!RVs^(XuaBBu~mq)mD9h_%e4T68EQ z@F1E@cXDEHY4YZVrq179K0JTfYi3EWt8BH?^21t8t+V3NWk+vO&8@zfwabQM3cU~n zWqkUZm$4Td?)2WIqu>5_}oLj1(se(kdUS7c#5|WUmJ5gmiU*7fI z%M~wfM7;aA?%;-?vt3mx0qI_>DTIeq2OL81bUdq~G1cp#@7i*SEmu46s~tBjq3B_A z)ua7@)&9;NNkHZ3vtM8Q^RMroetQ1=VZXxccE791fBU=b!$#>2A@_~)p3V|8;`Ur^ zzZJ>r&;!|>j7VgAwi^LD*Z=zZv>`V$YPJf=5DsT}6}!u0Ye7={#=x(0y?=WB@_mUj zcD!^WM$%(Gp=+d|Mk1-S{W8rcq`!T-FCV{u+RM=Fu1Dgs5T#p+9D@-{H&6HB>Fduw zeA$b5bWBTLZMZ4Jr~1TSI8-wN+rqko75B#Zw_+=I;A3=R7~R{as4-{TBl2~R7#^qX zGaMBJv=yYYESqj#$WN~?A9izE8`plhsqSHY!(9Ycoq=&zoH@?>^Yhb(Yr*Cr*nh6! zBn3o-)RkMvA4B{~e{(Qh&i(P_>$h#RF!-?yr>UN6Si(3Zi}_=j1(y?h28rJrA4B@y zF*O4A{mozd^yS0%kI&aVtMxCcJGHetS^J3Jbo!_EHJE+17cPJFZh^^f$n8h-Kfb?w z{I;8(SHHXcrCS}`biy}!_}6c*&s#0Wes%W#a`HFd;9sAg|GIlU)CQ|wIPC|~wlQUL zy^FAMGZruBIfcOJZj#uYjd9`XP1v4IClVFp4~*`4qg}c?Prkd+89!}jc4D=jj3J&v z9qw2ID3%8Ji?Q3i6_}~-$#6T_Td(zoL8IO`l2DS7%wY^hgsKc?RP- zyif%MxgyM4TiqF(dx8@1Xg0xXLo0C5?G-q9oTA|6CVph>?acdP3q63=Qp$a3ir`Ds zfsmpIFPSf*c$I5)W;OAP!nbsb^sJ&X|igJ0t_G#E%=Gp*@vTJ zWq{ZRuD8#C%h!$4K_wjN29#{T92QHacAYg-g{Lp>9RkOz&1@K$ExtKlHbK(c@3@QV zpdNY-*VbyoI0{SOO|e-Z6SLXhn}v9X(!}zr7}1ySD!0zb%b?i_pVfvFR|j5f3jM=_ zeW#7bw4`wl=&zw(I8hC!{wlfAzR3Cbm9`Z47>865*{h#0rEmWmffam|7jV#+G5}3< zx*xmktV0$PH#a(gaOUFiVYN$kh(FJtUq7C&-=98y{r3IC%YMDb>Lc_};Z2cY5-+MZ zI;6LNV0m2n$q~lYaWc+MLh+;4Xo=;m(B{SEax9}II#SP}tapFRp{Jiv^Jp+Fy1LZA z?na)$=c?w6FfJq&WW_b;-+eez3j1kGG_0fwh?Oa?wS(ST2RmlzPex~!j2W2B z)YW%&sMerhk@YfLI47*&T9f-V_pG<)oBK_4Gha1>CpJHDq{oLLbHCnxz>}7tW{gkm zFib69Na@*wZD)3V7i{D6*1X=AC>v=@lS>v>n$a0yg0k6oknx<|=P;kU3k$m9FEY~< zb$-uZ@y~qz3+Kr*8%`PyrcP-FI(U3Zwl{S5>%-(v1DFWF0A5#H^JX7mg3g0iBWnCm z3MP=t++}OWL*`H&?5iCuzYOp*=^LrHp<=bbqw1AW5faEZ@PL?KR)c~PVDAY!HU+jE zf;OGGG+l`<(gqlOz)hFw8=fXpgN>bw(fHa;sT5N_rZqJn&^9RIEy+jnbnr`@CK9?oH{#LfNS|mn6%SsN{?}4+KDhmTdFlW{BXTEbiK}Dq-B8) zmpAwN4c`kfAX2o>J1-AK>9Q?>d0FEP+syv75w9jGX8Y_OvaJn95>ipQlF-jY@V447 zGn7HSr@PuCz4SOPgXOX$g+^@i4gBxX{<;V%T{bn^BQG-A?;?figXVxK#H%V-Ha6$& zUN>yh2P?zA+Qt z#oiRiA_r3zMuc(rK@e_C@71fzt~`SOAF(JUs%`QiG-w+!4$w&#a5M2f8eUf$swL&psrjz3Mo;XlL2e}<3$ z3?Kg&4<8@j?}@F|KOJ}TrTK`|RWdDuL>I(M7{{<`AMUFQI}#eoSny7iR7FSxbHBIS zE)=>EqgdA7iABBz4=>g>C%V@NgP7;shTlW=zD_w>HJy`9Uaj-8PhCASzKwni4!R^B z=td)J4|;z!aPoSnG5v2c!!NGmG|=G%SNc_OTK})L>UV z?aRyi9c*A&L#>yAYxSozHCKNQyAP=y3>EKc&6n(OTQRUIAxKrmUXK|_GbaLw9XsxJTK4+p zp-USMx6Xd^8^eurPj4Nlr-M|}#ycdy@4V_zPwh;?kkBx?CfpQ3?5z3A9uEt1|Uu59fX*ao``Sl;IM=~d;We=uf^DX`0DGKaPFk9n{plXDWj1rM_ zFG4SUU_8mzd?@))%k!N<7Ir^q9{Z!9J>47kzM~@+e^>C$>@SPea07JjZ-09J@bdlB zc9qNtCP``Y{YgNVG45-;+*di@SH9d=x!l)yxi5eFjZ4@eGE_8J=EOd|?(Zb~QMDh>9@``7ygiu1 z;uu18T>6q@_|dxeI>8vCKDj?asxtyhvrlH8oh)zD-4DOrt$w>7|G`ezNNG&dpGyZ_ z9By`bY^JI@e*LU|`MjHFf^t2Ia(xO1XfzjO;m}r*V*k70C8w=_TM&g^yD+yIZNAC* zOTs{5u=)_O3bz6JmVNB{_&2YoK2VgGzj4^~d5J<;W=#srEdr%5tU+`-^=L?|FeJ^7 zdmC?z)lbZt(Q5hiOq;edEl#w08SHOJwwDZ~&y24pE>=^h8|u)(@ju;Wfa<@aFQqNH zNxF}-4<;O)lwD2qTW8v)5^gsk_aO=t5>Uw}cs+dXYK&jQY@| z;g+N>7B`Aj2}Y&skfYtSl1O=0>sDygx`B%Y*`n#W14~{Wk&{q}JRHwAv+t(AK7IV_ zPRoQBRY2?|uz28IKUT$zk<@8}%ti@A*FN+_Ce$^M87Y^&!x)+yRB%-?Ln#q=rRB;W zWjtI5uPh*;WRdSj-G-fi$B9_orZ2s|IE0cz$9&o#wb=9?^mzXfGRH7X>hzue@j}Pp z2Swgq|7bFA>`m*?U(x}rmvJ5o+cEufqv1Yo#Ul+QxRo895%oCm+hu^W>e7z#Xa4V%Yl4l^c6-ZP$KLSua$CIn>E*|7?{@$w zEU!Tei&%avVd+KAUwHbKT!kf-`lEf}@>wV`pnoG=1%u!xK(NizZ)MvyB1NpqW!0|F2dMDUu2<)r6J4;i(`Ld+ zy(`%Oe%bc{p{4rz^gu9mRfFNC%D!fO zX8*X-CFtxi{d}wpo1>|7^n$qh7Q%6S3lq()l<-?x!g2NAUZ4K9MHgOrFGR1&QU~F4 ze6ueih43)dj`1k<1z&)D7SK{il@f=cyQyM=#s4=yvd>r9+VO6@fOeZX(lrMJD*F^3 zgOYEV_NXm*C}Kivu?0!M^7XFa&Om$>$A=xJYl0Y5(8BUhb|6c+20GE|0-YB|`7a^p zXW^wp(O2B_hbV)gXyp%5RsNf-ThwDvkNVbuXhx~916ktoApK%+Q?c`WTzvIpkmF_uXj5? z?4vo)^?f) zf(u*&3hk0E@%MUEOIX*)Orf1ZU7W9=+HhO~ydK|~9EuK!P~Z9Vv5j$L`8rp0^VZ)z z|NWOQuitiQ5%i$U0|1f(AQP@(O5`t7?9(r&APfNNpYE!X;OSP|>{=GM;$05u*z7zq zV77$7Gd3GzIsOw3m)8w9{PBj1pHr%z)T8sQWhLA0l_nq^-P!HteEGC*PR1yaM%RY5QMeJ$O}5;AbGdsOan(s{ zzdiS2ccFE^+B92MTgC(NE`HJtS+n3s8CtNJf?NKrX59L>c#Xd4M*WSiW zq&w#jjLs$1(YwX^+imm9^XvQPD+>6gy?Ge*u^{S=HCKw;-u2z><)5D(f}&VN6zWEu zMLUl+<3;Rd4B_6XoUDu^Z5qw2I?Y)&2KeFC2mV63zy4&jy7rsjX->A_Zu=Wwu9Hx? z@sYn(u0QC0`y2hOwI+|^`=_nr@)Tt_{~OuoWy)t!zFU#6$-=PCXIE|%A;kCNU%?~C z4fD3U+d4ojON=cw_+hjDmnrygwX`pf6M4~g?G|q2!`e@rseZdW-5g@?)9I{&yCnl# zJs~}AZWofq?Kb`N^!nFbIz!yBwGrh8`&Fr7n}pjgvq1_D9-o4Hi$=6J_*lO_FTW}? zmych*fB45P2ATe{H1mozz4|kwutAAR*w^ZuXe&YrkA_l4LY=qBNy1GgvK@A*$Vqwx zp1)D_Nwd*#%&*Hx36u`=GLR` zPKm%Cwd@GPu)zZ};}GIVw$8ncQ?UL)^HezTG>$eQ0{CmwkNs z>E~~sUq1h|>uUe$OmB3ihq8TthwVF=A29kLtwBM=t#N^05-pTTkV)p32@U z4Q`f;0qrZkXE>B9k>MyAbKRHl_AvcB)stU?e z$TBK(%F8x#L~jeOFrK#S4w|^OO$-AErRIdLg6mi<67zxS++13|@y9;gzI#h(!g9Y?EBQwqERhFP9>_yOnJV7__Atx^z#UoivAvRS*N7Yn(!ol_ha80QdoKI%mj^d?$d#3CZFwR31 z{>Q+YOy~3-t{K=rI+h4-B_KxXbVrYXeD)=nB&E z0%>XA9cmn#B^n#&V$~4>O6Tt7=a*K0BVd*{R+<}#NQQj4Q+L?>&F{SV9)9`$x|_Pe z?0A4cq!7Znqu}aEzDz@7c-S{O*Z@bHd;lmqO7WjHDO(;$1xpq#4k~_p0DyQ1;7fh{(u%$b5 zfQZR_i$p)5r!M9{U!0K-zPdJDE{`iixQEj4<@(C%`pWA1@}=!Gc-O{@`h{Ar9WKom zECSjuOx?yv^w$;)cDt`~SY2gaU1h0P+5E}jjn_-KBLf;}M$3;ceB_bC9BbS#1}hfLfmq1zZ663{V8e|{Mr=81nHcLPw`h*KlZQi6+8t3 zqMt6MpSXy(I^x&QUw-{hNBna-B62AV?#I@U{eql*PZ?tzgP1ZnTrAZBs?sB= zbZXU?taY`l>IV)Z!A(7~-qHbbRYp2G37F=u6}xYF)ylv+6)A+o}`kLRv3u)fT9 zCQo~*GO|?3blt#|ceT)nhc=9%!`b4ZOyN5WMC53Wx64J?qG} zh%Jui_pxvF5RpRnCaqQ1|{Px}w<$|#K za}oywLe9efumCNP{1i`W5si1c-mYvbs=;~$GOp8dk@Xl5l!G-emnSzJeV&tDpv!T% zcX}*o(GC#fFvQx}XLMzHc7|U>IW5Ip5)SM~kp*0wPc$5PX)9AP+OvI{O-7|S>tbK( zVwEx4gBCw|ubZoLyiGK7e~c4yV!`49c3{1n5)`X(s1h1A7l4%pzM3&Q6q90cDbdC8 z?hCXZ=jBmJIAkF19H_2$Huz&2S+ll+N=Mk8&&PNwo*+ zdtIaGb~TEAU+n0%3HOBY)5FH~Rk7Ko^2VxcJwNo@1Dt8yW#J{l(r)J%p_{kmfp(Y0 zmlXM}w`TXwJ=n?f-}62CSM~Sb?mO>3eEIeB|CSE)pXc?)_{8Fq{2vTh+jv)BEHkIij>iK*>pr9ZcYjV-6;a#cEqF5M_T(VHpu|$^AeQNLG{}*#YK!^ zKt?c>oUv>pP0-xiMzzP9E8*0YG%KV~!txQ9JN=zry0y&xPapmF=%ZTJ)h;?gFmk_~ z?#Jk&q<*4{ia>o{f>=IKUG%)!w>~7g=o0GDMg28(Q6EVct()x_pVKe>Ywn`D2KP{+ zMt4zN@LWUpHhSm^MoQe0L#r)h1mZs5>Y%^AeBS2W`@42qot`!`;0AL7gnP$J0e#(T zE#y2~UyaI@ogJ(XaThtZ!7E?(!-AH7FB_e$NO7^kBzI{YkXntlcqP|syJfk!rM0!F zwNGp8jPs%GE+5*^q0*&8wSek_zurJ8grU}ioKq@wJ4dHXfyP2k^Lhh7%ql{`BnqV^3~ZHEK3h zqkK{VV3WshHhFv=?eF#52V@b;j?L~@aJOspjmfUz|HmC>YmS_qoJH-muNjXZ`1<8u zv4z{XM61taav1u$>Mih1rWhfd;cb-~x!{ML_UDie$ro$JkZz1LojriGx2t(I zG1(p;_UImNeCt zb{Rs&atPB_wVvkYhRQ>8-ru^Onn2v?`=BF4stnB*x>~j$r+Ogm=H6tM6P>Jz`B?0k zX-p>}a-1nGCHQN@UdyYwlKX0|B*A>ljTiR)R(PB-TVAf`k#<`D2~_d&_ptxe%&}G4 zb_pK0N!)h*X?yiC&tQ!hkW%&f&$N!V1)jsugl3DhR~r8Gjw!qT53zs z(hOf|OCYm@K`;ky+9n%q9AXMS-$a+8^$BCB;%6ui>z6UbUSrfokPkPW$j@KCY?g{SphOt3_*|V)EG&`RH_VE>90Yyfh!sfS-5yVjfVL)s<=6L?H%n42A2^#CNOUbZG*6U8m$Mcxaix*eL|-ECo2Xiby50m3Kig@X@@1^R2a|Dek^3>K~O7)^GyO1Om*(tdql0hY@jh+m{FI9st&g*OA1$QA^H zK)yhr=Mc(Su7*gmI~WLG^5OgtugBx}KR<09PE>;w<}feI4b8`SV)-!xZyJSFYQ}ge z`cROOFgSKzLA{$xv>9%{iTgSAz&++Pf)77!#)%nV;W7->>uIDRU@-psh zlR9?2jagyTcxbDNKI1wXGb)3<>D)}L)(9FT|>Zk@2U-|OSHZ|4hMmJoaW+N>`l6I3}+kN^*Q@;D_ z%f~N2yd2Flr936#FC%A^vQKpD{-a z8=#bcWiewX?xd^2TMXYls$+?%%@>wJNUiIM^yk=-0}Ye?L}*+iQXJ6PFd_%Y8MV{u zI5e^xH;%yjolqDfcmj@(a#|Y;kG5FUhPU$4U9MjFW#<3-^vf^1oK|teX2`8QKWIHw zi$D;@p;|ddCfk}`C5X498-0j{|9EHR2uJ<{EpFo*8u_9i+y{zhBBtw%^yzF+r7)p) zCPt58w0(=-6NP35Q5U5-oLC>a3VZL&NErDJo(L@3imslFrYZ%+QR#>|(*p|yQduF< z!Q+~2;?#qh!_-?Z@$5(WXQYMpr@qcc>d zlmbOf)xcFTuxMMadN1nDO&pTB;6 z`Qhc`%eQ~*#B41uPk9u&$q^%v@qY9hGMbhWkuLpIAFvu^;Ie|7oVeuHL;b3|k9DFH z3nq4SM8L}hn@}!kTN=>XMH8)v&cBXgc zgYzkTQ5(yddNUY8dC_sR2EAj9##Nj&*nmzObM;!=+J(*RC-V_!CmL+aLLAGu8Gt<{ zxCA}LTxGgA zF(}qfMkJE00X=9b3vIdCwIQJm?@{6qIMU2ZqhwoWiBF_8=*bAEPK6f7plHV0%1Y;q`0u^6mNE4^JPTKEHo{_w@bSmtBHTGsBTaR$$c2 zsask2B?>tfjoC-*FlKBKRiPi9pJ6p5EiHLnMP=Um2kjM=3U(9O0%M++kZ{}#F}q=4 zr2n@C=vNOCyS`S6QredeKk0k~$;+-44r3gWOE)`|Wmm z`TYLr^M~iJSK1;L%$JRi?!TdDPcSBX-j)H%WOmA{x7L#EgE|b=BuFO(!(|wKTzcNa z^r+3b*jY)6fv}MdW+!b0TA&kewMtOF9`DY%xXCApUjQngm+g^D=&_kglucFD@V0^R z>y1ahp(0Za^_F@T72K&6&}jh3licU=a_sN4>+8#nR{bYV@2dhM&F4$M%l?uA9$%;e z-P0RSha26ayhPQ&7E`gR>+mo< z-jr6^G~X3?_}no4&1aNXjrh+#etR~odfY$PDM`XP=Y4U2xcNSuA4q=VmFjn|RBh7Z z?=}AkC0QE#(QSYAPTc4^$KUK?R}bjr$CrH-tgXQMd-AFIq6)1j+XfX3=b1mJ`>Gqw z+?DT**5VN;%AVw~De|!-ewQKtp48#7yPIa`)>p?T}B)2j)mx? zp`wqHdNYLH2QYFmg|)WViifg3Fh9jr*<2`9XWQ`Yv>dp_^0-s2ol-0&QwaZ=f1qb& zK5)>1jTum^0akgs)vkNxE4d-wEw8iX(;@aL&^a=!w*+1_H+MDP%o=20$VwCh}N zf4XJyZq0lQLF(EnW*j2bg7p3T1k3Ic?r~a~=ZoP_~oPI$8zMw%l_K)m8G1kbx55K+1 z)uf5!wPH|h{l!YOYJ;;bR+-{!L(uqhcnrH(XJlj_W&qwd#$otJWlAHDUS0`o`~^PAR&o$bSA&8 zHauhK+9v}#n(EfW_IxHaHCjFwS7I(($1yxAvpB)7fU7VOTN*u5e0vBMU86EgA3L4O z8eo^kmTjw-5&7sMvg$HEw=)egmXw;lmExUKh^_guZ*rY)iff(jp$a+K0(mc*~wWl$O87q?~%Cik7*rSn9g$i|V z8}pKb0h3LfWEjOQii$5{#a8dHTTPj(1Zcz9V5OBDPy#)QxPk2EuR@_YZ0fp>cQkZZ zq)$+_d6D}Vf;edVAm=gDk@arD8g=q~hJ0EVKQQ{L^$$LJYFz)b4ANGO8D&4 zzyPVe?oeDwSdH7M9B1i1GK`6AV(qe*&BN-gSZ`myQJ+72`Bma^U$+K?cJocla-zhe zTWxN6V=r(j(t@M#qHmq$<@429s&0DQEGN7DwJ*Osf8Mr>AZzkGklcE- z%1EO$YM+5dX-<~57^S$bruvsR((CirZ(m+_Z8ScNsM$X%Gmza{qpHEnb@jTstb37; z2O`R};nEuEtw#L1r-VFajP8UK=_n+%$1e1g`MY4*t`B5&Bf{PiO`$h3xmKg4)pRsy za!_Zo+&~)8&u{RlpCmoNclqS%(!RWY_+`2MuRAH8m_)&1C<#J}7;fzpZhaT_d$I=| z8S5N}2t>pe;dHc^H_zmHR;J)nNHaO{o;+%#T0wICTslW+#OlMr`Mt3^0Ju`VjN+8Y zg$!~)#F&2h;S=?yVp zOkm(cM=R5y?Nk};P>*AX??R7g0Qr(bd3W-|Q5V;D=>u(S|M zqUU3C#_&oZFKSR%gHdDZE34b_L5Zqd-S#Xp;eJ%N5CE``YHW^y*JaZ%FEwEB@)3iu!BW3mz$7G>C#pVYoHPEhVp0?&JaU1$=+)d%!C4k(hJMNO!}S=35Cj6k&UJEb9Q#Hj2?*U}?`f0w z$y*vi`BaN>=kaHKprkkd>Pv^Xi>urH{`tf6>&KU`yS%g|DCn_A|M5spaZ*?`Aii3t zWRRzzV3u4xDn}Cv5iL7<5JPthG#`>D8KLjie}mHF0C2J-_S9_z8E)L{~l!WK{cMc6Ls6h?%)#M1F0H3g17 zH3m2wK{XFY@t9JCr}|~@UrrXsU0wPQU;e%cv5?r+gq>YrR7G(>TIG-p^~A(N@sbDC z^HkNr`3vLrJC>IXLdBwAGz;L>M`!(ltX;G?9cC8(Z))N#yIc~sagaHRkRou`i z0NshxyKph5yIOISV&dTK9qT*4&vBq=r{Rzr{rXZEm$Dh(3xv z`}Om?Y#u^iwA@?6tx9QF+RdaG>w&ocUmoPG*Ye%_FQ31?e);%u8#-9sQ>gbjpEnOU zMD&50n-1i9^TG4X@E|_H5x$OqrSo}9c4tZzsU5IkvXa$ZwPCT|{dtq@sn3Y=Q|kOP z;Q7oC!L4Ad5TPN6LUmgfIfE5uR{XmqfL{NZ?l$baZvScdoyNM#(%XijQ*_=NIg85! zG>TL`E6$hqyRGVsVXtsHPe-5q^uN-G3hfe$2SwXecy_c236T2Ho=)h;jp0zzULM?^ z-=ZHjna6h~P-Ii>!?>yS%9lz-QRZ#nwmM}#qH`LBTmD-=ylzl!H9JW*o6_*foA|Ec{BtQ z+6_rY)|$B1Lfc@9?#Oq*9GdOiZTTOI4NM?dGE49=1?6364jhQRJ*bP4|_sf1Y=-^DjEs%%p9{cdkP&)1hYDVc}Mx7c)BT!c&62= zG;kQB%+L?>Ws@X_3wh*@xd`P$$RaBzPi0U*$1(0~G;wkoZuF6NyC_Y8zBFa!TxtVS zmi$WS$b>+NR3#`d0_2|uK0!x2*&9HISiB-VF2~H)m?j5%*Eu}Gd0UQ=>L)FfsuZ3X z9UMkx)L=4Kc zQlzZ-dxDjz+E7oyan*UD`ZRq7E4TNiA=r+F>zr1b=d_7oJ_u!HhL|TC z<`$gZqACU*$zTqv`nncSX-B2?6W2wj)#eN~)#9HcQB@y=n&iy~NqOMf=}&Ul%$01_ z?H~?C0GUJgw0^WSxy3b3{_~5S1q#)7>{A$7yzygyl(as zGgyp+B&bWY-maAXF_tHNt)W>{-2E^0(E&RE&P@qrGiwfx?FBNH`&#(xNW8UV+d3C! zAf2037@HJ02A9?Vncd~cxaE@_;s>FZyJ?R8#sUd;MnO7U$t(1X4M=RMWuX;%U*$u4 zA6hr(x=@+YxiHt#8M8MZl!Kg2OyZ*)^1BU7M15fnyTR!Y8)JN;V%2dBm#S97^0FwM zj5E^6jtHhZLd7=(e%^io?4#{(n?Xc zA#r6mBaaYu6O};kMV#j`2)uFhsWr>t2p)5ZD%8I$JEeUb{Ag95IC6i@|9F1drA#nj zTj_x8$nLcbDk%Nk&W zm1X`*5aljfKSEn=_5n-Y?Q2QT%wA09F?=)mor9Ub{C?H6Fk%DhKxg=1z=%1*Z}4P& z4J(zdDAbL!COvNnhG#pIlJ?4^#AM&y&iv+)4Xnvw*0f-scio%H=90n;(F_b{MQQEt zte)fY;^lgh01Th{m{ zyqJ`1B1|b&pAohvj8blV475~$ zp(0Ya5#Lx~&#ootS4y_EU{+?bC`X58%9D zaVydcaj$TjsG3~~_xg!6d}pb6-iA!f-1s67tLr^^r7{PvB6+0^S4as4!@`$9lUZLV za7yms^QFb8@eT<#k0njIkV$Lt_Xr71O&_x{(VAoe;HL2YY{XHzqf0RgT4%$O!3y;8 z8c({oY~znXSL~5l2)^EQeP4W!yF@{|uB}?sbR5gma#70KO9!SD3*xh?)k?z=F%kS+ zLTR@TePi&GDlb?6Rc0XitL7-g%w`qao!RcWBjgz5ZGtG{?LkEo3=yOG zs3Up!uokgNt5ll$;1bzC@$C7FPl$n5sk0RaJ*7mS5no6$&E{As2N|U?RzwOkn}air zg!?3goZhl{LuE6ecuK;q_W2IV(B(ZZ8vFu%eK)>o-t{g~0f;v=w(65xr3-;I~E?sGZ511ZA zN^Gi5x_l*Bze8t9=M&fLCO^pmV3&OP``iDYFTdjXFYmt~@2Fk>AB9kA?C~N904p&w+5i9m literal 0 HcmV?d00001 diff --git a/script/build_frontend b/script/build_frontend index f7d9a9fe3eb..b5e41da21df 100755 --- a/script/build_frontend +++ b/script/build_frontend @@ -8,6 +8,7 @@ npm run frontend_prod cp bower_components/webcomponentsjs/webcomponents-lite.min.js .. cp build/frontend.html .. cp build/service_worker.js .. +gzip build/frontend.html -c -k -9 > ../frontend.html.gz # Generate the MD5 hash of the new frontend cd ../.. diff --git a/script/update_mdi.py b/script/update_mdi.py index 7169f1b31eb..96682a26bfa 100755 --- a/script/update_mdi.py +++ b/script/update_mdi.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 """Download the latest Polymer v1 iconset for materialdesignicons.com.""" import hashlib +import gzip import os import re import requests @@ -16,6 +17,7 @@ CUR_VERSION = re.compile(r'VERSION = "([A-Za-z0-9]{32})"') OUTPUT_BASE = os.path.join('homeassistant', 'components', 'frontend') VERSION_OUTPUT = os.path.join(OUTPUT_BASE, 'mdi_version.py') ICONSET_OUTPUT = os.path.join(OUTPUT_BASE, 'www_static', 'mdi.html') +ICONSET_OUTPUT_GZ = os.path.join(OUTPUT_BASE, 'www_static', 'mdi.html.gz') def get_local_version(): @@ -58,6 +60,10 @@ def write_component(version, source): print('Writing icons to', ICONSET_OUTPUT) outp.write(source) + with gzip.open(ICONSET_OUTPUT_GZ, 'wb') as outp: + print('Writing icons gz to', ICONSET_OUTPUT_GZ) + outp.write(source.encode('utf-8')) + with open(VERSION_OUTPUT, 'w') as outp: print('Generating version file', VERSION_OUTPUT) outp.write( From 585fbb1c02a8d9260a9424d1fa50684ba5de0161 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 May 2016 16:38:19 -0700 Subject: [PATCH 013/114] Cache files in static folder for a year --- homeassistant/components/frontend/__init__.py | 2 +- homeassistant/components/http.py | 35 ++++++++++--------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py index 5fe255f8ae0..dab45b6a4b1 100644 --- a/homeassistant/components/frontend/__init__.py +++ b/homeassistant/components/frontend/__init__.py @@ -71,7 +71,7 @@ class IndexView(HomeAssistantView): requires_auth = False extra_urls = ['/logbook', '/history', '/map', '/devService', '/devState', '/devEvent', '/devInfo', '/devTemplate', - '/states', '/states/'] + '/states', '/states/'] def __init__(self, hass): """Initialize the frontend view.""" diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index c6cf5839e7a..6d9a6522617 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -9,12 +9,13 @@ import re import homeassistant.core as ha import homeassistant.remote as rem from homeassistant import util -from homeassistant.const import SERVER_PORT, HTTP_HEADER_HA_AUTH -from homeassistant.helpers.entity import valid_entity_id, split_entity_id +from homeassistant.const import ( + SERVER_PORT, HTTP_HEADER_HA_AUTH, HTTP_HEADER_CACHE_CONTROL) +from homeassistant.helpers.entity import split_entity_id import homeassistant.util.dt as dt_util DOMAIN = "http" -REQUIREMENTS = ("eventlet==0.18.4", "static3==0.6.1", "Werkzeug==0.11.5",) +REQUIREMENTS = ("eventlet==0.18.4", "static3==0.7.0", "Werkzeug==0.11.5",) CONF_API_PASSWORD = "api_password" CONF_SERVER_HOST = "server_host" @@ -66,19 +67,6 @@ def setup(hass, config): return True -# class StaticFileServer(object): -# """Static file serving middleware.""" - -# def __call__(self, environ, start_response): -# from werkzeug.wsgi import DispatcherMiddleware -# app = DispatcherMiddleware(self.base_app, self.extra_apps) -# # Strip out any cachebusting MD% fingerprints -# fingerprinted = _FINGERPRINT.match(environ['PATH_INFO']) -# if fingerprinted: -# environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) -# return app(environ, start_response) - - def request_class(): """Generate request class. @@ -227,7 +215,20 @@ class HomeAssistantWSGI(object): if url_root in self.extra_apps: _LOGGER.warning("Static path '%s' is being overwritten", path) - self.extra_apps[url_root] = Cling(path) + + headers = [] + + if not self.development: + # 1 year in seconds + cache_time = 365 * 86400 + + headers.append({ + 'prefix': '', + HTTP_HEADER_CACHE_CONTROL: + "public, max-age={}".format(cache_time) + }) + + self.extra_apps[url_root] = Cling(path, headers=headers) def start(self): """Start the wsgi server.""" From fe794d7fd8beecbb222a86966da6f3a04731c5da Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 May 2016 16:59:27 -0700 Subject: [PATCH 014/114] Access camera images using access token --- homeassistant/components/camera/__init__.py | 44 +++++++++++++++------ homeassistant/components/http.py | 9 ++--- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/homeassistant/components/camera/__init__.py b/homeassistant/components/camera/__init__.py index 1a6fa2cb956..05be02a9491 100644 --- a/homeassistant/components/camera/__init__.py +++ b/homeassistant/components/camera/__init__.py @@ -52,6 +52,11 @@ class Camera(Entity): """Initialize a camera.""" self.is_streaming = False + @property + def access_token(self): + """Access token for this camera.""" + return str(id(self)) + @property def should_poll(self): """No need to poll cameras.""" @@ -124,7 +129,9 @@ class Camera(Entity): @property def state_attributes(self): """Camera state attributes.""" - attr = {} + attr = { + 'access_token': self.access_token, + } if self.model: attr['model_name'] = self.model @@ -138,11 +145,32 @@ class Camera(Entity): class CameraView(HomeAssistantView): """Base CameraView.""" + requires_auth = False + def __init__(self, hass, entities): """Initialize a basic camera view.""" super().__init__(hass) self.entities = entities + def get(self, request, entity_id): + """Start a get request.""" + camera = self.entities.get(entity_id) + + if camera is None: + return self.Response(status=404) + + authenticated = (request.authenticated or + request.args.get('token') == camera.access_token) + + if not authenticated: + return self.Response(status=401) + + return self.handle(camera) + + def handle(self, camera): + """Hanlde the camera request.""" + raise NotImplementedError() + class CameraImageView(CameraView): """Camera view to serve an image.""" @@ -150,13 +178,8 @@ class CameraImageView(CameraView): url = "/api/camera_proxy/" name = "api:camera:image" - def get(self, request, entity_id): + def handle(self, camera): """Serve camera image.""" - camera = self.entities.get(entity_id) - - if camera is None: - return self.Response(status=404) - response = camera.camera_image() if response is None: @@ -171,11 +194,6 @@ class CameraMjpegStream(CameraView): url = "/api/camera_proxy_stream/" name = "api:camera:stream" - def get(self, request, entity_id): + def handle(self, camera): """Serve camera image.""" - camera = self.entities.get(entity_id) - - if camera is None: - return self.Response(status=404) - return camera.mjpeg_stream(self.Response()) diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index 6d9a6522617..d4965eb05c4 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -339,10 +339,7 @@ class HomeAssistantView(object): # Auth code verbose on purpose authenticated = False - if not self.requires_auth: - authenticated = True - - elif self.hass.wsgi.api_password is None: + if self.hass.wsgi.api_password is None: authenticated = True elif hmac.compare_digest(request.headers.get(HTTP_HEADER_HA_AUTH, ''), @@ -366,9 +363,11 @@ class HomeAssistantView(object): except BadRequest: pass - if not authenticated: + if self.requires_auth and not authenticated: raise Unauthorized() + request.authenticated = authenticated + result = handler(request, **values) if isinstance(result, self.Response): From 794ff2098716841f372ada4c57bf7e23ca18d82c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 May 2016 23:54:14 -0700 Subject: [PATCH 015/114] Get EventStream working --- homeassistant/components/api.py | 120 +++++++++++++++---------------- homeassistant/components/http.py | 41 ++++++----- homeassistant/util/eventlet.py | 9 +++ tests/components/test_api.py | 86 +++++++++++----------- 4 files changed, 130 insertions(+), 126 deletions(-) create mode 100644 homeassistant/util/eventlet.py diff --git a/homeassistant/components/api.py b/homeassistant/components/api.py index 351bdf5dcd2..f2a94d7633c 100644 --- a/homeassistant/components/api.py +++ b/homeassistant/components/api.py @@ -73,102 +73,94 @@ class APIEventStream(HomeAssistantView): def get(self, request): """Provide a streaming interface for the event bus.""" + from eventlet.queue import Empty import eventlet - from eventlet import queue as eventlet_queue - import queue as thread_queue - from threading import Event - from time import time + import homeassistant.util.eventlet as eventlet_util - to_write = thread_queue.Queue() - # to_write = eventlet.Queue() + cur_hub = eventlet.hubs.get_hub() + request.environ['eventlet.minimum_write_chunk_size'] = 0 + + to_write = eventlet.Queue() stop_obj = object() - hass = self.hass - connection_closed = Event() + attached_ping = None restrict = request.args.get('restrict') if restrict: restrict = restrict.split(',') - restrict = False + def thread_ping(now): + """Called from time thread to add ping to queue.""" + _LOGGER.debug('STREAM %s PING', id(stop_obj)) + eventlet_util.spawn(cur_hub, to_write.put, STREAM_PING_PAYLOAD) - def ping(now): - """Add a ping message to queue.""" - print(id(stop_obj), 'ping') - to_write.put(STREAM_PING_PAYLOAD) - - def forward_events(event): + def thread_forward_events(event): """Forward events to the open request.""" - print(id(stop_obj), 'forwarding', event) if event.event_type == EVENT_TIME_CHANGED: - pass - elif event.event_type == EVENT_HOMEASSISTANT_STOP: - to_write.put(stop_obj) + return + + _LOGGER.debug('STREAM %s FORWARDING %s', id(stop_obj), event) + + if event.event_type == EVENT_HOMEASSISTANT_STOP: + data = stop_obj else: - to_write.put(json.dumps(event, cls=rem.JSONEncoder)) + data = json.dumps(event, cls=rem.JSONEncoder) + + eventlet_util.spawn(cur_hub, to_write.put, data) + + def cleanup(): + """Clean up HA listeners.""" + _LOGGER.debug("STREAM %s CLEANING UP", id(stop_obj)) + self.hass.bus.remove_listener(EVENT_TIME_CHANGED, attached_ping) + + if restrict: + for event in restrict: + self.hass.bus.remove_listener(event, thread_forward_events) + else: + self.hass.bus.remove_listener(MATCH_ALL, thread_forward_events) def stream(): """Stream events to response.""" + nonlocal attached_ping + if restrict: for event_type in restrict: - hass.bus.listen(event_type, forward_events) + self.hass.bus.listen(event_type, thread_forward_events) else: - hass.bus.listen(MATCH_ALL, forward_events) + self.hass.bus.listen(MATCH_ALL, thread_forward_events) attached_ping = track_utc_time_change( - hass, ping, second=(0, 30)) + self.hass, thread_ping, second=range(0, 60, 3)) #(0, 30)) - print(id(stop_obj), 'attached goodness') + _LOGGER.debug('STREAM %s ATTACHED', id(stop_obj)) - while not connection_closed.is_set(): + while True: try: - print(id(stop_obj), "Try getting obj") - payload = to_write.get(False) + # Somehow our queue.get takes too long to + # be notified of arrival of object. Probably + # because of our spawning on hub in other thread + # hack. Because current goal is to get this out, + # We just timeout every second because it will + # return right away if qsize() > 0. + # So yes, we're basically polling :( + # socket.io anyone? + payload = to_write.get(timeout=1) if payload is stop_obj: break msg = "data: {}\n\n".format(payload) - print(id(stop_obj), msg) + _LOGGER.debug('STREAM %s WRITING %s', id(stop_obj), + msg.strip()) yield msg.encode("UTF-8") - except eventlet_queue.Empty: - print(id(stop_obj), "queue empty, sleep 0.5") - eventlet.sleep(.5) - except GeneratorExit: + except Empty: pass + except GeneratorExit: + _LOGGER.debug('STREAM %s RESPONSE CLOSED', id(stop_obj)) + break - print(id(stop_obj), "cleaning up") + cleanup() - hass.bus.remove_listener(EVENT_TIME_CHANGED, attached_ping) - - if restrict: - for event in restrict: - hass.bus.remove_listener(event, forward_events) - else: - hass.bus.remove_listener(MATCH_ALL, forward_events) - - resp = self.Response(stream(), mimetype='text/event-stream') - - def closing(): - print() - print() - print() - print() - print() - print() - print() - print() - print(id(stop_obj), "CLOSING RESPONSE") - print() - print() - print() - print() - print() - print() - print() - connection_closed.set() - - resp.call_on_close(closing) - return resp + return self.Response(stream(), mimetype='text/event-stream') class APIConfigView(HomeAssistantView): diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index d4965eb05c4..59d76a3c8a8 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -213,9 +213,6 @@ class HomeAssistantWSGI(object): """Register a folder to serve as a static path.""" from static import Cling - if url_root in self.extra_apps: - _LOGGER.warning("Static path '%s' is being overwritten", path) - headers = [] if not self.development: @@ -228,7 +225,14 @@ class HomeAssistantWSGI(object): "public, max-age={}".format(cache_time) }) - self.extra_apps[url_root] = Cling(path, headers=headers) + self.register_wsgi_app(url_root, Cling(path, headers=headers)) + + def register_wsgi_app(self, url_root, app): + """Register a path to serve a WSGI app.""" + if url_root in self.extra_apps: + _LOGGER.warning("Url root '%s' is being overwritten", url_root) + + self.extra_apps[url_root] = app def start(self): """Start the wsgi server.""" @@ -248,20 +252,21 @@ class HomeAssistantWSGI(object): ) from werkzeug.routing import RequestRedirect - adapter = self.url_map.bind_to_environ(request.environ) - try: - endpoint, values = adapter.match() - return self.views[endpoint].handle_request(request, **values) - except RequestRedirect as ex: - return ex - except BadRequest as ex: - return self._handle_error(request, str(ex), 400) - except NotFound as ex: - return self._handle_error(request, str(ex), 404) - except MethodNotAllowed as ex: - return self._handle_error(request, str(ex), 405) - except Unauthorized as ex: - return self._handle_error(request, str(ex), 401) + with request: + adapter = self.url_map.bind_to_environ(request.environ) + try: + endpoint, values = adapter.match() + return self.views[endpoint].handle_request(request, **values) + except RequestRedirect as ex: + return ex + except BadRequest as ex: + return self._handle_error(request, str(ex), 400) + except NotFound as ex: + return self._handle_error(request, str(ex), 404) + except MethodNotAllowed as ex: + return self._handle_error(request, str(ex), 405) + except Unauthorized as ex: + return self._handle_error(request, str(ex), 401) # TODO This long chain of except blocks is silly. _handle_error should # just take the exception as an argument and parse the status code # itself diff --git a/homeassistant/util/eventlet.py b/homeassistant/util/eventlet.py new file mode 100644 index 00000000000..54cb8cfdbe7 --- /dev/null +++ b/homeassistant/util/eventlet.py @@ -0,0 +1,9 @@ +"""Eventlet util methods.""" + + +def spawn(hub, func, *args, **kwargs): + """Spawns a function on specified hub.""" + import eventlet + g = eventlet.greenthread.GreenThread(hub.greenlet) + hub.schedule_call_global(0, g.switch, func, args, kwargs) + return g diff --git a/tests/components/test_api.py b/tests/components/test_api.py index bea333aa36b..13a2f8746b4 100644 --- a/tests/components/test_api.py +++ b/tests/components/test_api.py @@ -435,63 +435,61 @@ class TestAPI(unittest.TestCase): headers=HA_HEADERS) self.assertEqual(200, req.status_code) - # def test_stream(self): - # """Test the stream.""" - # listen_count = self._listen_count() - # with closing(requests.get(_url(const.URL_API_STREAM), - # stream=True, headers=HA_HEADERS)) as req: + def test_stream(self): + """Test the stream.""" + listen_count = self._listen_count() + with closing(requests.get(_url(const.URL_API_STREAM), + stream=True, headers=HA_HEADERS)) as req: - # self.assertEqual(listen_count + 1, self._listen_count()) + self.assertEqual(listen_count + 2, self._listen_count()) - # # eventlet.sleep(1) - # print('firing event') + hass.bus.fire('test_event') + hass.pool.block_till_done() - # hass.bus.fire('test_event') - # hass.pool.block_till_done() + data = self._stream_next_event(req) - # data = self._stream_next_event(req) + self.assertEqual('test_event', data['event_type']) - # self.assertEqual('test_event', data['event_type']) + def test_stream_with_restricted(self): + """Test the stream with restrictions.""" + listen_count = self._listen_count() + url = _url('{}?restrict=test_event1,test_event3'.format( + const.URL_API_STREAM)) - # def test_stream_with_restricted(self): - # """Test the stream with restrictions.""" - # listen_count = self._listen_count() - # with closing(requests.get(_url(const.URL_API_STREAM), - # data=json.dumps({ - # 'restrict': - # 'test_event1,test_event3'}), - # stream=True, headers=HA_HEADERS)) as req: + with closing(requests.get(url, stream=True, + headers=HA_HEADERS)) as req: - # data = self._stream_next_event(req) - # self.assertEqual('ping', data) + self.assertEqual(listen_count + 3, self._listen_count()) - # self.assertEqual(listen_count + 2, self._listen_count()) + hass.bus.fire('test_event1') + hass.pool.block_till_done() + hass.bus.fire('test_event2') + hass.pool.block_till_done() + hass.bus.fire('test_event3') + hass.pool.block_till_done() - # hass.bus.fire('test_event1') - # hass.pool.block_till_done() - # hass.bus.fire('test_event2') - # hass.pool.block_till_done() - # hass.bus.fire('test_event3') - # hass.pool.block_till_done() - - # data = self._stream_next_event(req) - # self.assertEqual('test_event1', data['event_type']) - # data = self._stream_next_event(req) - # self.assertEqual('test_event3', data['event_type']) + data = self._stream_next_event(req) + self.assertEqual('test_event1', data['event_type']) + data = self._stream_next_event(req) + self.assertEqual('test_event3', data['event_type']) def _stream_next_event(self, stream): - """Test the stream for next event.""" - data = b'' - last_new_line = False - for dat in stream.iter_content(1): - if dat == b'\n' and last_new_line: + """Read the stream for next event while ignoring ping.""" + while True: + data = b'' + last_new_line = False + for dat in stream.iter_content(1): + if dat == b'\n' and last_new_line: + break + data += dat + last_new_line = dat == b'\n' + + conv = data.decode('utf-8').strip()[6:] + + if conv != 'ping': break - data += dat - last_new_line = dat == b'\n' - conv = data.decode('utf-8').strip()[6:] - - return conv if conv == 'ping' else json.loads(conv) + return json.loads(conv) def _listen_count(self): """Return number of event listeners.""" From 8fe2654862d7e2debb81ccc9269cc182a19b164b Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 16 May 2016 00:01:27 -0700 Subject: [PATCH 016/114] Update requirements with new static update --- requirements_all.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/requirements_all.txt b/requirements_all.txt index 842fd4df466..93c5bd36ee4 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -274,6 +274,9 @@ python-nmap==0.6.0 # homeassistant.components.notify.pushover python-pushover==0.2 +# homeassistant.components.socket_io +python-socketio==1.3 + # homeassistant.components.statsd python-statsd==1.7.2 @@ -338,7 +341,7 @@ somecomfort==0.2.1 speedtest-cli==0.3.4 # homeassistant.components.http -static3==0.6.1 +static3==0.7.0 # homeassistant.components.sensor.steam_online steamodd==4.21 From 9aa9e5789082e850e7a82b97a961ed4a72e9e788 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 16 May 2016 00:25:47 -0700 Subject: [PATCH 017/114] Cleanup --- homeassistant/components/api.py | 17 +------- homeassistant/components/frontend/__init__.py | 2 + homeassistant/components/http.py | 40 ++++++------------- homeassistant/util/eventlet.py | 8 ++-- requirements_all.txt | 3 -- tests/components/test_api.py | 9 ----- 6 files changed, 21 insertions(+), 58 deletions(-) diff --git a/homeassistant/components/api.py b/homeassistant/components/api.py index f2a94d7633c..3819536f666 100644 --- a/homeassistant/components/api.py +++ b/homeassistant/components/api.py @@ -15,7 +15,7 @@ from homeassistant.const import ( HTTP_BAD_REQUEST, HTTP_CREATED, HTTP_NOT_FOUND, HTTP_UNPROCESSABLE_ENTITY, MATCH_ALL, URL_API, URL_API_COMPONENTS, URL_API_CONFIG, URL_API_DISCOVERY_INFO, URL_API_ERROR_LOG, - URL_API_EVENT_FORWARD, URL_API_EVENTS, URL_API_LOG_OUT, URL_API_SERVICES, + URL_API_EVENT_FORWARD, URL_API_EVENTS, URL_API_SERVICES, URL_API_STATES, URL_API_STATES_ENTITY, URL_API_STREAM, URL_API_TEMPLATE, __version__) from homeassistant.exceptions import TemplateError @@ -48,7 +48,6 @@ def setup(hass, config): hass.wsgi.register_view(APIEventForwardingView) hass.wsgi.register_view(APIComponentsView) hass.wsgi.register_view(APIErrorLogView) - hass.wsgi.register_view(APILogOutView) hass.wsgi.register_view(APITemplateView) return True @@ -129,7 +128,7 @@ class APIEventStream(HomeAssistantView): self.hass.bus.listen(MATCH_ALL, thread_forward_events) attached_ping = track_utc_time_change( - self.hass, thread_ping, second=range(0, 60, 3)) #(0, 30)) + self.hass, thread_ping, second=(0, 30)) _LOGGER.debug('STREAM %s ATTACHED', id(stop_obj)) @@ -401,18 +400,6 @@ class APIErrorLogView(HomeAssistantView): return self.file(request, self.hass.config.path(ERROR_LOG_FILENAME)) -class APILogOutView(HomeAssistantView): - """View to handle Log Out requests.""" - - url = URL_API_LOG_OUT - name = "api:log-out" - - def post(self, request): - """Handle log out.""" - # TODO kill session - return {} - - class APITemplateView(HomeAssistantView): """View to handle requests.""" diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py index dab45b6a4b1..ac2fe252b47 100644 --- a/homeassistant/components/frontend/__init__.py +++ b/homeassistant/components/frontend/__init__.py @@ -100,6 +100,8 @@ class IndexView(HomeAssistantView): template = self.templates.get_template('index.html') + # pylint is wrong + # pylint: disable=no-member resp = template.render(app_url=app_url, auth=auth, icons=mdi_version.VERSION) diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py index 59d76a3c8a8..864e517699b 100644 --- a/homeassistant/components/http.py +++ b/homeassistant/components/http.py @@ -70,7 +70,8 @@ def setup(hass, config): def request_class(): """Generate request class. - Done in method because of imports.""" + Done in method because of imports. + """ from werkzeug.exceptions import BadRequest from werkzeug.wrappers import BaseRequest, AcceptMixin from werkzeug.utils import cached_property @@ -100,6 +101,7 @@ def routing_map(hass): class EntityValidator(BaseConverter): """Validate entity_id in urls.""" + regex = r"(\w+)\.(\w+)" def __init__(self, url_map, exist=True, domain=None): @@ -259,17 +261,16 @@ class HomeAssistantWSGI(object): return self.views[endpoint].handle_request(request, **values) except RequestRedirect as ex: return ex - except BadRequest as ex: - return self._handle_error(request, str(ex), 400) - except NotFound as ex: - return self._handle_error(request, str(ex), 404) - except MethodNotAllowed as ex: - return self._handle_error(request, str(ex), 405) - except Unauthorized as ex: - return self._handle_error(request, str(ex), 401) - # TODO This long chain of except blocks is silly. _handle_error should - # just take the exception as an argument and parse the status code - # itself + except (BadRequest, NotFound, MethodNotAllowed, + Unauthorized) as ex: + resp = ex.get_response(request.environ) + if request.accept_mimetypes.accept_json: + resp.data = json.dumps({ + "result": "error", + "message": str(ex), + }) + resp.mimetype = "application/json" + return resp def base_app(self, environ, start_response): """WSGI Handler of requests to base app.""" @@ -288,19 +289,6 @@ class HomeAssistantWSGI(object): environ['PATH_INFO'] = "{}.{}".format(*fingerprinted.groups()) return app(environ, start_response) - def _handle_error(self, request, message, status): - """Handle a WSGI request error.""" - from werkzeug.wrappers import Response - if request.accept_mimetypes.accept_json: - message = json.dumps({ - "result": "error", - "message": message, - }) - mimetype = "application/json" - else: - mimetype = "text/plain" - return Response(message, status=status, mimetype=mimetype) - class HomeAssistantView(object): """Base view for all views.""" @@ -339,8 +327,6 @@ class HomeAssistantView(object): except AttributeError: raise MethodNotAllowed - # TODO: session support + uncomment session test - # Auth code verbose on purpose authenticated = False diff --git a/homeassistant/util/eventlet.py b/homeassistant/util/eventlet.py index 54cb8cfdbe7..6338935b0c9 100644 --- a/homeassistant/util/eventlet.py +++ b/homeassistant/util/eventlet.py @@ -2,8 +2,8 @@ def spawn(hub, func, *args, **kwargs): - """Spawns a function on specified hub.""" + """Spawn a function on specified hub.""" import eventlet - g = eventlet.greenthread.GreenThread(hub.greenlet) - hub.schedule_call_global(0, g.switch, func, args, kwargs) - return g + gthread = eventlet.greenthread.GreenThread(hub.greenlet) + hub.schedule_call_global(0, gthread.switch, func, args, kwargs) + return gthread diff --git a/requirements_all.txt b/requirements_all.txt index 93c5bd36ee4..92c9b735b2c 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -274,9 +274,6 @@ python-nmap==0.6.0 # homeassistant.components.notify.pushover python-pushover==0.2 -# homeassistant.components.socket_io -python-socketio==1.3 - # homeassistant.components.statsd python-statsd==1.7.2 diff --git a/tests/components/test_api.py b/tests/components/test_api.py index 13a2f8746b4..356ee7db4ea 100644 --- a/tests/components/test_api.py +++ b/tests/components/test_api.py @@ -88,15 +88,6 @@ class TestAPI(unittest.TestCase): self.assertEqual(200, req.status_code) - # def test_access_via_session(self): - # """Test access wia session.""" - # session = requests.Session() - # req = session.get(_url(const.URL_API), headers=HA_HEADERS) - # self.assertEqual(200, req.status_code) - - # req = session.get(_url(const.URL_API)) - # self.assertEqual(200, req.status_code) - def test_api_list_state_entities(self): """Test if the debug interface allows us to list state entities.""" req = requests.get(_url(const.URL_API_STATES), From 18be276b085369ffa7c4b5ca668c1f43100d99a4 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 16 May 2016 00:39:19 -0700 Subject: [PATCH 018/114] Make event stream tests work on Travis ? --- tests/components/test_api.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/tests/components/test_api.py b/tests/components/test_api.py index 356ee7db4ea..0c02420678a 100644 --- a/tests/components/test_api.py +++ b/tests/components/test_api.py @@ -435,7 +435,6 @@ class TestAPI(unittest.TestCase): self.assertEqual(listen_count + 2, self._listen_count()) hass.bus.fire('test_event') - hass.pool.block_till_done() data = self._stream_next_event(req) @@ -453,14 +452,12 @@ class TestAPI(unittest.TestCase): self.assertEqual(listen_count + 3, self._listen_count()) hass.bus.fire('test_event1') - hass.pool.block_till_done() - hass.bus.fire('test_event2') - hass.pool.block_till_done() - hass.bus.fire('test_event3') - hass.pool.block_till_done() - data = self._stream_next_event(req) self.assertEqual('test_event1', data['event_type']) + + hass.bus.fire('test_event2') + hass.bus.fire('test_event3') + data = self._stream_next_event(req) self.assertEqual('test_event3', data['event_type']) From 548d415f94c8a180a43ef93b2c07bfba47c3903a Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 16 May 2016 19:47:15 -0700 Subject: [PATCH 019/114] Clean up EventStream --- homeassistant/components/api.py | 46 +++++++++++---------------------- homeassistant/util/eventlet.py | 9 ------- 2 files changed, 15 insertions(+), 40 deletions(-) delete mode 100644 homeassistant/util/eventlet.py diff --git a/homeassistant/components/api.py b/homeassistant/components/api.py index 3819536f666..0296d02ad83 100644 --- a/homeassistant/components/api.py +++ b/homeassistant/components/api.py @@ -6,6 +6,7 @@ https://home-assistant.io/developers/api/ """ import json import logging +from time import time import homeassistant.core as ha import homeassistant.remote as rem @@ -21,7 +22,6 @@ from homeassistant.const import ( from homeassistant.exceptions import TemplateError from homeassistant.helpers.state import TrackStates from homeassistant.helpers import template -from homeassistant.helpers.event import track_utc_time_change from homeassistant.components.http import HomeAssistantView DOMAIN = 'api' @@ -65,33 +65,25 @@ class APIStatusView(HomeAssistantView): class APIEventStream(HomeAssistantView): - """View to handle EventSt requests.""" + """View to handle EventStream requests.""" url = URL_API_STREAM name = "api:stream" def get(self, request): """Provide a streaming interface for the event bus.""" - from eventlet.queue import Empty + from eventlet.queue import LightQueue, Empty import eventlet - import homeassistant.util.eventlet as eventlet_util cur_hub = eventlet.hubs.get_hub() request.environ['eventlet.minimum_write_chunk_size'] = 0 - - to_write = eventlet.Queue() + to_write = LightQueue() stop_obj = object() - attached_ping = None restrict = request.args.get('restrict') if restrict: restrict = restrict.split(',') - def thread_ping(now): - """Called from time thread to add ping to queue.""" - _LOGGER.debug('STREAM %s PING', id(stop_obj)) - eventlet_util.spawn(cur_hub, to_write.put, STREAM_PING_PAYLOAD) - def thread_forward_events(event): """Forward events to the open request.""" if event.event_type == EVENT_TIME_CHANGED: @@ -104,34 +96,20 @@ class APIEventStream(HomeAssistantView): else: data = json.dumps(event, cls=rem.JSONEncoder) - eventlet_util.spawn(cur_hub, to_write.put, data) - - def cleanup(): - """Clean up HA listeners.""" - _LOGGER.debug("STREAM %s CLEANING UP", id(stop_obj)) - self.hass.bus.remove_listener(EVENT_TIME_CHANGED, attached_ping) - - if restrict: - for event in restrict: - self.hass.bus.remove_listener(event, thread_forward_events) - else: - self.hass.bus.remove_listener(MATCH_ALL, thread_forward_events) + cur_hub.schedule_call_global(0, lambda: to_write.put(data)) def stream(): """Stream events to response.""" - nonlocal attached_ping - if restrict: for event_type in restrict: self.hass.bus.listen(event_type, thread_forward_events) else: self.hass.bus.listen(MATCH_ALL, thread_forward_events) - attached_ping = track_utc_time_change( - self.hass, thread_ping, second=(0, 30)) - _LOGGER.debug('STREAM %s ATTACHED', id(stop_obj)) + last_msg = time() + while True: try: # Somehow our queue.get takes too long to @@ -151,13 +129,19 @@ class APIEventStream(HomeAssistantView): _LOGGER.debug('STREAM %s WRITING %s', id(stop_obj), msg.strip()) yield msg.encode("UTF-8") + last_msg = time() except Empty: - pass + if time() - last_msg > 50: + to_write.put(STREAM_PING_PAYLOAD) except GeneratorExit: _LOGGER.debug('STREAM %s RESPONSE CLOSED', id(stop_obj)) break - cleanup() + if restrict: + for event in restrict: + self.hass.bus.remove_listener(event, thread_forward_events) + else: + self.hass.bus.remove_listener(MATCH_ALL, thread_forward_events) return self.Response(stream(), mimetype='text/event-stream') diff --git a/homeassistant/util/eventlet.py b/homeassistant/util/eventlet.py deleted file mode 100644 index 6338935b0c9..00000000000 --- a/homeassistant/util/eventlet.py +++ /dev/null @@ -1,9 +0,0 @@ -"""Eventlet util methods.""" - - -def spawn(hub, func, *args, **kwargs): - """Spawn a function on specified hub.""" - import eventlet - gthread = eventlet.greenthread.GreenThread(hub.greenlet) - hub.schedule_call_global(0, gthread.switch, func, args, kwargs) - return gthread From 9b03848a2e5aa7119eae5385d6429c84ad5e258c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 16 May 2016 20:05:03 -0700 Subject: [PATCH 020/114] Comment out eventstream tests --- tests/components/test_api.py | 86 ++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 44 deletions(-) diff --git a/tests/components/test_api.py b/tests/components/test_api.py index 0c02420678a..6230f7ac475 100644 --- a/tests/components/test_api.py +++ b/tests/components/test_api.py @@ -1,6 +1,6 @@ """The tests for the Home Assistant HTTP component.""" # pylint: disable=protected-access,too-many-public-methods -from contextlib import closing +# from contextlib import closing import json import tempfile import unittest @@ -426,59 +426,57 @@ class TestAPI(unittest.TestCase): headers=HA_HEADERS) self.assertEqual(200, req.status_code) - def test_stream(self): - """Test the stream.""" - listen_count = self._listen_count() - with closing(requests.get(_url(const.URL_API_STREAM), - stream=True, headers=HA_HEADERS)) as req: + # def test_stream(self): + # """Test the stream.""" + # listen_count = self._listen_count() + # with closing(requests.get(_url(const.URL_API_STREAM), timeout=3, + # stream=True, headers=HA_HEADERS)) as req: - self.assertEqual(listen_count + 2, self._listen_count()) + # self.assertEqual(listen_count + 2, self._listen_count()) - hass.bus.fire('test_event') + # hass.bus.fire('test_event') - data = self._stream_next_event(req) + # data = self._stream_next_event(req) - self.assertEqual('test_event', data['event_type']) + # self.assertEqual('test_event', data['event_type']) - def test_stream_with_restricted(self): - """Test the stream with restrictions.""" - listen_count = self._listen_count() - url = _url('{}?restrict=test_event1,test_event3'.format( - const.URL_API_STREAM)) + # def test_stream_with_restricted(self): + # """Test the stream with restrictions.""" + # listen_count = self._listen_count() + # url = _url('{}?restrict=test_event1,test_event3'.format( + # const.URL_API_STREAM)) + # with closing(requests.get(url, stream=True, timeout=3, + # headers=HA_HEADERS)) as req: + # self.assertEqual(listen_count + 3, self._listen_count()) - with closing(requests.get(url, stream=True, - headers=HA_HEADERS)) as req: + # hass.bus.fire('test_event1') + # data = self._stream_next_event(req) + # self.assertEqual('test_event1', data['event_type']) - self.assertEqual(listen_count + 3, self._listen_count()) + # hass.bus.fire('test_event2') + # hass.bus.fire('test_event3') - hass.bus.fire('test_event1') - data = self._stream_next_event(req) - self.assertEqual('test_event1', data['event_type']) + # data = self._stream_next_event(req) + # self.assertEqual('test_event3', data['event_type']) - hass.bus.fire('test_event2') - hass.bus.fire('test_event3') + # def _stream_next_event(self, stream): + # """Read the stream for next event while ignoring ping.""" + # while True: + # data = b'' + # last_new_line = False + # for dat in stream.iter_content(1): + # if dat == b'\n' and last_new_line: + # break + # data += dat + # last_new_line = dat == b'\n' - data = self._stream_next_event(req) - self.assertEqual('test_event3', data['event_type']) + # conv = data.decode('utf-8').strip()[6:] - def _stream_next_event(self, stream): - """Read the stream for next event while ignoring ping.""" - while True: - data = b'' - last_new_line = False - for dat in stream.iter_content(1): - if dat == b'\n' and last_new_line: - break - data += dat - last_new_line = dat == b'\n' + # if conv != 'ping': + # break - conv = data.decode('utf-8').strip()[6:] + # return json.loads(conv) - if conv != 'ping': - break - - return json.loads(conv) - - def _listen_count(self): - """Return number of event listeners.""" - return sum(hass.bus.listeners.values()) + # def _listen_count(self): + # """Return number of event listeners.""" + # return sum(hass.bus.listeners.values()) From 9c5e7a958460d14d6e9a036691c516d50e26015c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 16 May 2016 22:04:40 -0700 Subject: [PATCH 021/114] Add gzip for static resources --- .../www_static/fonts/roboto/Roboto-Black.ttf.gz | Bin 0 -> 87230 bytes .../fonts/roboto/Roboto-BlackItalic.ttf.gz | Bin 0 -> 92244 bytes .../www_static/fonts/roboto/Roboto-Bold.ttf.gz | Bin 0 -> 86806 bytes .../fonts/roboto/Roboto-BoldItalic.ttf.gz | Bin 0 -> 90648 bytes .../fonts/roboto/Roboto-Italic.ttf.gz | Bin 0 -> 90273 bytes .../www_static/fonts/roboto/Roboto-Light.ttf.gz | Bin 0 -> 86196 bytes .../fonts/roboto/Roboto-LightItalic.ttf.gz | Bin 0 -> 92887 bytes .../fonts/roboto/Roboto-Medium.ttf.gz | Bin 0 -> 86888 bytes .../fonts/roboto/Roboto-MediumItalic.ttf.gz | Bin 0 -> 90895 bytes .../fonts/roboto/Roboto-Regular.ttf.gz | Bin 0 -> 86533 bytes .../www_static/fonts/roboto/Roboto-Thin.ttf.gz | Bin 0 -> 84656 bytes .../fonts/roboto/Roboto-ThinItalic.ttf.gz | Bin 0 -> 91295 bytes .../fonts/robotomono/RobotoMono-Bold.ttf.gz | Bin 0 -> 66777 bytes .../robotomono/RobotoMono-BoldItalic.ttf.gz | Bin 0 -> 73549 bytes .../fonts/robotomono/RobotoMono-Italic.ttf.gz | Bin 0 -> 72947 bytes .../fonts/robotomono/RobotoMono-Light.ttf.gz | Bin 0 -> 68922 bytes .../robotomono/RobotoMono-LightItalic.ttf.gz | Bin 0 -> 74276 bytes .../fonts/robotomono/RobotoMono-Medium.ttf.gz | Bin 0 -> 66757 bytes .../robotomono/RobotoMono-MediumItalic.ttf.gz | Bin 0 -> 73677 bytes .../fonts/robotomono/RobotoMono-Regular.ttf.gz | Bin 0 -> 66726 bytes .../fonts/robotomono/RobotoMono-Thin.ttf.gz | Bin 0 -> 69482 bytes .../robotomono/RobotoMono-ThinItalic.ttf.gz | Bin 0 -> 72522 bytes 22 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Black.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-BlackItalic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Bold.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-BoldItalic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Italic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Light.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-LightItalic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Medium.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-MediumItalic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Regular.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Thin.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/roboto/Roboto-ThinItalic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-Bold.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-BoldItalic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-Italic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-Light.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-LightItalic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-Medium.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-MediumItalic.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-Regular.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-Thin.ttf.gz create mode 100644 homeassistant/components/frontend/www_static/fonts/robotomono/RobotoMono-ThinItalic.ttf.gz diff --git a/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Black.ttf.gz b/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Black.ttf.gz new file mode 100644 index 0000000000000000000000000000000000000000..ffbf4a965e32c08d81c7a930ac313bb7375e3b39 GIT binary patch literal 87230 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 of)!koG@t0KZ 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

Qo%-dZJ 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 N`48yOs?(r;0s!*}CA0tl literal 0 HcmV?d00001 diff --git a/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-BlackItalic.ttf.gz b/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-BlackItalic.ttf.gz new file mode 100644 index 0000000000000000000000000000000000000000..38c32845ad9a45a55850fa96081d59e34f7a2b6b GIT binary patch literal 92244 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 literal 0 HcmV?d00001 diff --git a/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Bold.ttf.gz b/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Bold.ttf.gz new file mode 100644 index 0000000000000000000000000000000000000000..9d9d303b98d0eb5a5c37181dd4ad2d45b1f5a597 GIT binary patch literal 86806 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 X;aFCVGRrgPXzjlM-icVBpn3uTdtl9B literal 0 HcmV?d00001 diff --git a/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-BoldItalic.ttf.gz b/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-BoldItalic.ttf.gz new file mode 100644 index 0000000000000000000000000000000000000000..681577fb32b4062ac7ba34582c4c30a305a7ede5 GIT binary patch literal 90648 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 literal 0 HcmV?d00001 diff --git a/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Italic.ttf.gz b/homeassistant/components/frontend/www_static/fonts/roboto/Roboto-Italic.ttf.gz new file mode 100644 index 0000000000000000000000000000000000000000..5b29473a7d2c33ecf19081cfacad30a2d558100f GIT binary patch literal 90273 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�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