From 829d18cfb12932de3a698ccd189b13d1ea3033ea Mon Sep 17 00:00:00 2001 From: Matthew Pearlson <45362680+matthewpearlson@users.noreply.github.com> Date: Fri, 18 Dec 2020 10:18:18 -0600 Subject: [PATCH 01/27] WSU files uploaded to #18 created a branch for the WSU files uploaded to #18. Going to send a push request for these to the WSU forks. --- program/ftot.py | 203 +- program/ftot_facilities.py | 268 +- program/ftot_maps.py | 338 +- program/ftot_networkx.py | 31 +- program/ftot_postprocess.py | 208 +- program/ftot_processor.py | 790 +---- program/ftot_pulp.py | 647 +++- program/ftot_pulp_candidate_generation.py | 1103 +++++- program/ftot_pulp_daily.py | 3803 +++++++++++++++++++++ program/ftot_pulp_sourcing.py | 1174 ++++++- program/ftot_pulp_yearly.py | 3733 ++++++++++++++++++++ program/ftot_report.py | 99 +- program/ftot_routing.py | 405 +-- program/ftot_scenario.py | 7 +- program/ftot_setup.py | 3 + program/ftot_supporting.py | 70 +- program/ftot_supporting_gis.py | 80 + program/test_aftot_pulp.py | 7 + program/xtot_objects.py | 107 +- 19 files changed, 11038 insertions(+), 2038 deletions(-) create mode 100644 program/ftot_pulp_daily.py create mode 100644 program/ftot_pulp_yearly.py diff --git a/program/ftot.py b/program/ftot.py index 4c46a83..cc72ec4 100644 --- a/program/ftot.py +++ b/program/ftot.py @@ -4,6 +4,8 @@ # Purpose: This module initiates an FTOT run, parses the scenario xml into a scenario object # and calls the appropriate tasks based on user supplied arguments. # +# Modified in optimization procedure +# # --------------------------------------------------------------------------------------------------- import sys @@ -12,23 +14,46 @@ import ftot_supporting import traceback import datetime +import numpy as np -import pint from pint import UnitRegistry ureg = UnitRegistry() Q_ = ureg.Quantity ureg.define('usd = [currency]') # add the US Dollar, "USD" to the unit registry -# solves issue in pint 0.9 -if float(pint.__version__) < 1: - ureg.define('short_hundredweight = short_hunderdweight') - ureg.define('long_hundredweight = long_hunderdweight') - ureg.define('us_ton = US_ton') - -VERSION_NUMBER = "5.0.6" -VERSION_DATE = "09/30/2020" -# =================================================================================================== +VERSION_NUMBER = "5.0.3" +VERSION_DATE = "10/21/2019" + +#=============================Load parameters from newly developed Python files=================================== +# Load earthquake scenario matrix +os.chdir(r'C:\FTOT\scenarios\quick_start\qs2_rmp_proc_dest\Default') +earthquake_scenario = np.load("earthquake_scenario.npy") +total_repair_time = np.load("total_repair_time.npy") + +# planning horizon in this example: 20 years +plan_horizon = 20 # unit: year +# total scenario amount: "N", here we consider 10 scenarios +N = 10 +# resilience array +Resilience = np.zeros((N)) +R1 = np.zeros((N)) +R2 = np.zeros((N)) +R3 = np.zeros((N)) +# initial costs (daily & yearly) +initial_cost_daily = 29712 # run optimization without considering any risk factors +initial_cost_yearly = 18777270 +# initial unmet demand (daily & yearly) +initial_unmet_demand_daily = 4.5359237 +initial_unmet_demand_yearly = 3311.2243 + +# Cost array to save total costs following each optimization +costs_yearly_final = np.zeros((N,plan_horizon)) +costs_daily_final= np.zeros((365,plan_horizon,N)) +# Unmet demand array to save UDR following each optimization +UDR_yearly_final = np.zeros((N,plan_horizon)) +UDR_daily_final= np.zeros((365,plan_horizon,N)) +# ================================================================================================================ if __name__ == '__main__': @@ -82,14 +107,10 @@ # reporting and mapping # --------------------- - p = post-processing of optimal solution and reporting preparation + p = post-processing of optimizal solution and reporting preparation d = create data reports - m = create map documents with simple basemap - mb = optionally create map documents with a light gray basemap - mc = optionally create map documents with a topographic basemap - m2 = time and commodity mapping with simple basemap - m2b = optionally create time and commodity mapping with a light gray basemap - m2c = optionally create time and commodity mapping with a topographic basemap + m = create map documents + m2 = time and commodity mapping # utilities, tools, and advanced options # --------------------------------------- @@ -104,7 +125,7 @@ parser.add_argument("task", choices=("s", "f", "f2", "c", "c2", "g", "g2", "o", "oc", "o1", "o2", "o2b", "oc1", "oc2", "oc2b", "oc3", "os", "p", - "d", "m", "mb", "mc", "m2", "m2b", "m2c", + "d", "m", "m2", "test" ), type=str) parser.add_argument('-skip_arcpy_check', action='store_true', @@ -166,14 +187,19 @@ try: import arcpy arcmap_version = arcpy.GetInstallInfo()['Version'] - if not arcmap_version in ['10.1', '10.2', '10.2.1', '10.2.2', '10.3', '10.3.1', '10.4', '10.4.1', - '10.5', '10.5.1', '10.6', '10.6.1', '10.7', '10.7.1', '10.8', '10.8.1']: + if not arcmap_version in ['10.1', '10.2', '10.2.1', '10.2.2', '10.3.0', '10.3.1', '10.4.1', '10.5.1', '10.6.1']: logger.error("Version {} of ArcGIS is not currently supported. Exiting.".format(arcmap_version)) sys.exit() except RuntimeError: - logger.error("You will need ArcGIS 10.1 or later to run this script. If you do have ArcGIS installed, " - "confirm that it is properly licensed and/or that the license manager is accessible. Exiting.") + logger.error("You will need ArcGIS 10.1 or later to run this script. Exiting.") + sys.exit() + + # Check for version of ArcGIS and Network Analyst + try: + arcpy.CheckOutExtension("Network") + except: + logger.error("This script requires the ArcGIS Network Analyst Toolbox. Exiting.") sys.exit() # check that pulp is available @@ -212,10 +238,10 @@ graph(the_scenario, logger) # optimization - elif args.task in ['o']: - from ftot_pulp import o1, o2 - o1(the_scenario, logger) - o2(the_scenario, logger) + #elif args.task in ['o']: + # from ftot_pulp import o1, o2 + # o1(the_scenario, logger) + # o2(the_scenario, logger) # candidate optimization elif args.task in ['oc']: @@ -225,14 +251,102 @@ oc3(the_scenario, logger) # optimization setup - elif args.task in ['o1']: - from ftot_pulp import o1 - o1(the_scenario, logger) + elif args.task in ['o', 'o1','o2']: + #=================================================Modification================================================================ + # Purpose of following part: (a)iterate optimization per day/year; (b)divide yearly and daily simulation, based on earthquake occurrence; + # (c)incorporate resilience calculation for each scenario; (d)save related outputs. - # optimization solve - elif args.task in ['o2']: - from ftot_pulp import o2 - o2(the_scenario, logger) + + # for each scenario and time: + for i in range(N): + time1 = 0 + time2 = 0 + time3 = 0 + + scenario_num = i + np.save("scenario_num.npy", scenario_num) + for t in range(plan_horizon): + time_horizon = t + np.save("time_horizon.npy", time_horizon) + # for earthquake occurrence scenario: daily basis interval + if earthquake_scenario[i][t] != 0: + for j in range(365): + earthquake_day = j + np.save("earthquake_day.npy", earthquake_day) + from ftot_pulp_daily import o1, o2 + o1(the_scenario, logger) + o2(the_scenario, logger) + unmet_demand_amount = np.load("unmet_demand_amount.npy") + unit_costs = np.load("unit_costs.npy") + + # Calculate initial daily costs/UDR for each scenario + costs_daily_final[j][t][i] = unit_costs + UDR_daily_final[j][t][i] = unmet_demand_amount + + if j <= total_repair_time[i][t]: + R2[i] = R2[i] + (unit_costs - initial_cost_daily) + time2 = time2 + 1 + else: + if unmet_demand_amount > initial_unmet_demand_daily: + R1[i] = R1[i] + (unit_costs-initial_cost_daily) + time1 = time1 + 1 + else: + R3[i] = R3[i] + (unit_costs-initial_cost_daily) + time3 = time3 + 1 + + + + # for non earthquake occurrence scenario: yearly basis interval + else: + from ftot_pulp_yearly import o1, o2 + o1(the_scenario, logger) + o2(the_scenario, logger) + + unmet_demand_yearly = np.load("unmet_demand_yearly.npy") + costs_yearly = np.load("costs_yearly.npy") + + # Calculate initial yearly costs/UDR for each scenario + costs_yearly_final[i][t] = costs_yearly + UDR_daily_final[i][t] = unmet_demand_yearly + + logger.info("cost yearly for scenario {} and time {}: {}".format(i,t,costs_yearly_final[i][t])) + + if unmet_demand_yearly > initial_unmet_demand_yearly: + R1[i] = R1[i] + (costs_yearly - initial_cost_yearly) + time1 = time1 + 365 + else: + R3[i] = R3[i] + (costs_yearly - initial_cost_yearly) + time3 = time3 + 365 + + # Calculate initial daily costs for each scenario + #if earthquake_scenario[i][0] != 0: + # initial_cost = costs_daily_final[j][0][i] + + #else: + # initial_cost = costs_yearly_final[i][0]/365 + + # Weight factors for each resilience components, values based on decision-makers, + w1 = 1 + w2 = 1 + w3 = 1 + + logger.info("Hazard-induced CLF resilience for scenario {}: {}".format(i,R2[i])) + logger.info("Non-hazard-induced CLF resilience for scenario {}: {}".format(i,R1[i])) + logger.info("Opportunity-induced CGF resilience for scenario {}: {}".format(i,R3[i])) + Resilience[i] = -w1*R1[i] - w2*R2[i] - w3*R3[i] + logger.info("Resilience for scenario {} : {}".format(i,Resilience[i])) + + + #Save resilience output array + np.save("R1.npy",R1) + np.save("R2.npy",R2) + np.save("R3.npy",R3) + np.save("Resilience.npy",Resilience) + np.save("costs_yearly_final.npy",costs_yearly_final) + np.save("costs_daily_final.npy",costs_yearly_final) + np.save("UDR_yearly_final.npy",costs_yearly_final) + np.save("UDR_daily_final.npy",costs_yearly_final) + #==========================================================End================================================================================== # optional step to solve and save pulp problem from pickle elif args.task == 'o2b': @@ -273,15 +387,15 @@ from ftot_report import generate_reports generate_reports(the_scenario, logger) - # currently m step has three basemap alternatives-- see key above - elif args.task in ["m", "mb", "mc"]: + # maps + elif args.task == "m": from ftot_maps import new_map_creation - new_map_creation(the_scenario, logger, args.task) + new_map_creation(the_scenario, logger) - # currently m2 step has three basemap alternatives-- see key above - elif args.task in ["m2", "m2b", "m2c"]: + # Time and Commodity Mapping + elif args.task == "m2": from ftot_maps import prepare_time_commodity_subsets_for_mapping - prepare_time_commodity_subsets_for_mapping(the_scenario, logger, args.task) + prepare_time_commodity_subsets_for_mapping(the_scenario, logger) elif args.task == "test": logger.info("in the test case") @@ -289,13 +403,10 @@ except: stack_trace = traceback.format_exc() - split_stack_trace = stack_trace.split('\n') - logger.error("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EXCEPTION RAISED !!!!!!!!!!!!!!!!!!!!!!!!!!!!!") - for i in range(0, len(split_stack_trace)): - trace_line = split_stack_trace[i].rstrip() - if trace_line != "": # issue #182 - check if the line is blank. if it isn't, record it in the log. - logger.error(trace_line) - logger.error("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EXCEPTION RAISED !!!!!!!!!!!!!!!!!!!!!!!!!!!!!") + + logger.error("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") + logger.error("\n\n" + stack_trace) + logger.error("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") sys.exit(1) diff --git a/program/ftot_facilities.py b/program/ftot_facilities.py index cd68a7b..d1559e7 100644 --- a/program/ftot_facilities.py +++ b/program/ftot_facilities.py @@ -78,7 +78,7 @@ def db_cleanup_tables(the_scenario, logger): main_db_con.execute("drop table if exists facilities;") logger.debug("create the facilities table") main_db_con.executescript( - "create table facilities(facility_ID INTEGER PRIMARY KEY, location_id integer, facility_name text, facility_type_id integer, ignore_facility text, candidate binary, schedule_id integer);") + "create table facilities(facility_ID INTEGER PRIMARY KEY, location_id integer, facility_name text, facility_type_id integer, ignore_facility text, candidate binary);") # facility_type_id table logger.debug("drop the facility_type_id table") @@ -111,31 +111,14 @@ def db_cleanup_tables(the_scenario, logger): share_max_transport_distance text, CONSTRAINT unique_name UNIQUE(commodity_name) );""") # proportion_of_supertype specifies how much demand is satisfied by this subtype relative to the "pure" fuel/commodity # this will depend on the process - - # schedule_names table - logger.debug("drop the schedule names table") - main_db_con.execute("drop table if exists schedule_names;") - logger.debug("create the schedule names table") - main_db_con.executescript( - """create table schedule_names(schedule_id INTEGER PRIMARY KEY, schedule_name text);""") - - # schedules table - logger.debug("drop the schedules table") - main_db_con.execute("drop table if exists schedules;") - logger.debug("create the schedules table") - main_db_con.executescript( - """create table schedules(schedule_id integer, day integer, availability numeric);""") - +# logger.debug("finished: main.db cleanup") # =============================================================================== def db_populate_tables(the_scenario, logger): - logger.info("start: db_populate_tables") - - # populate schedules table - populate_schedules_table(the_scenario, logger) + logger.debug("start: db_populate_tables") # populate locations table populate_locations_table(the_scenario, logger) @@ -249,154 +232,9 @@ def db_report_commodity_potentials(the_scenario, logger): row[4])) logger.result("-------------------------------------------------------------------") - -# =================================================================================================== - -def load_schedules_input_data(schedule_input_file, logger): - - logger.debug("start: load_schedules_input_data") - - import os - if not os.path.exists(schedule_input_file): - logger.warning("warning: cannot find schedule file: {}".format(schedule_input_file)) - return {'default': {0: 1}} # return dict with global value of default schedule - - # create temp dict to store schedule input - schedules = {} - - # read through facility_commodities input CSV - import csv - with open(schedule_input_file, 'rb') as f: - - reader = csv.DictReader(f) - # adding row index for issue #220 to alert user on which row their error is in - for index, row in enumerate(reader): - - schedule_name = str(row['schedule']).lower() # convert schedule to lowercase - day = int(row['day']) # cast day to an int - availability = float(row['availability']) # cast availability to float - - if schedule_name in schedules.keys(): - schedules[schedule_name][day] = availability - else: - schedules[schedule_name] = {day: availability} # initialize sub-dict - - # Enforce default schedule req. and default availaility req. for all schedules. - # if user has not defined 'default' schedule - if 'default' not in schedules: - logger.debug("Default schedule not found. Adding 'default' with default availability of 1.") - schedules['default'] = {0: 1} - # if schedule does not have a default value (value assigned to day 0), then add as 1. - for schedule_name in schedules.keys(): - if 0 not in schedules[schedule_name].keys(): - logger.debug("Schedule {} missing default value. Adding default availaility of 1.".format(schedule_name)) - schedules[schedule_name][0] = 1 - - return schedules - # =================================================================================================== -def populate_schedules_table(the_scenario, logger): - - logger.info("start: populate_schedules_table") - - schedules_dict = load_schedules_input_data(the_scenario.schedule, logger) - - # connect to db - with sqlite3.connect(the_scenario.main_db) as db_con: - id_num = 0 - - for schedule_name, schedule_data in schedules_dict.iteritems(): - id_num += 1 # 1-index - - # add schedule name into schedule_names table - sql = "insert into schedule_names " \ - "(schedule_id, schedule_name) " \ - "values ({},'{}');".format(id_num, schedule_name) - db_con.execute(sql) - - # add each day into schedules table - for day, availability in schedule_data.iteritems(): - sql = "insert into schedules " \ - "(schedule_id, day, availability) " \ - "values ({},{},{});".format(id_num, day, availability) - db_con.execute(sql) - - logger.debug("finished: populate_locations_table") -# ============================================================================== - -def check_for_input_error(input_type, input_val, filename, index, units=None): - """ - :param input_type: a string with the type of input (e.g. 'io', 'facility_name', etc. - :param input_val: a string from the csv with the actual input - :param index: the row index - :param filename: the name of the file containing the row - :param units: string, units used -- only if type == commodity_phase - :return: None if data is valid, or proper error message otherwise - """ - error_message = None - index = index+2 # account for header and 0-indexing (python) conversion to 1-indexing (excel) - if input_type == 'io': - if not (input_val in ['i', 'o']): - error_message = "There is an error in the io entry in row {} of {}. " \ - "Entries should be 'i' or 'o'.".format(index, filename) - elif input_type == 'facility_type': - if not (input_val in ['raw_material_producer', 'processor', 'ultimate_destination']): - error_message = "There is an error in the facility_type entry in row {} of {}. " \ - "The entry is not one of 'raw_material_producer', 'processor', or " \ - "'ultimate_destination'." \ - .format(index, filename) - elif input_type == 'commodity_phase': - # make sure units specified - if units is None: - error_message = "The units in row {} of {} are not specified. Note that solids must have units of mass " \ - "and liquids must have units of volume." \ - .format(index, filename) - elif input_val == 'solid': - # check if units are valid units for solid (dimension of units must be mass) - try: - if not str(ureg(units).dimensionality) == '[mass]': - error_message = "The phase_of_matter entry in row {} of {} is solid, but the units are {}" \ - " which is not a valid unit for this phase of matter. Solids must be measured in " \ - "units of mass." \ - .format(index, filename, units) - except: - error_message = "The phase_of_matter entry in row {} of {} is solid, but the units are {}" \ - " which is not a valid unit for this phase of matter. Solids must be measured in " \ - "units of mass." \ - .format(index, filename, units) - elif input_val == 'liquid': - # check if units are valid units for liquid (dimension of units must be volume, aka length^3) - try: - if not str(ureg(units).dimensionality) == '[length] ** 3': - error_message = "The phase_of_matter entry in row {} of {} is liquid, but the units are {}" \ - " which is not a valid unit for this phase of matter. Liquids must be measured" \ - " in units of volume." \ - .format(index, filename, units) - except: - error_message = "The phase_of_matter entry in row {} of {} is liquid, but the units are {}" \ - " which is not a valid unit for this phase of matter. Liquids must be measured" \ - " in units of volume." \ - .format(index, filename, units) - else: - # throw error that phase is neither solid nor liquid - error_message = "There is an error in the phase_of_matter entry in row {} of {}. " \ - "The entry is not one of 'solid' or 'liquid'." \ - .format(index, filename) - - elif input_type == 'commodity_quantity': - try: - float(input_val) - except ValueError: - error_message = "There is an error in the value entry in row {} of {}. " \ - "The entry is empty or non-numeric (check for extraneous characters)." \ - .format(index, filename) - - return error_message - - - def load_facility_commodities_input_data(the_scenario, commodity_input_file, logger): logger.debug("start: load_facility_commodities_input_data") if not os.path.exists(commodity_input_file): @@ -406,21 +244,18 @@ def load_facility_commodities_input_data(the_scenario, commodity_input_file, log # create a temp dict to store values from CSV temp_facility_commodities_dict = {} - # create empty dictionary to manage schedule input - facility_schedule_dict = {} - # read through facility_commodities input CSV import csv with open(commodity_input_file, 'rb') as f: reader = csv.DictReader(f) - # adding row index for issue #220 to alert user on which row their error is in - for index, row in enumerate(reader): + for row in reader: # re: issue #149 -- if the line is empty, just skip it if row.values()[0] == '': logger.debug('the CSV file has a blank in the first column. Skipping this line: {}'.format( row.values())) continue + # {'units': 'kgal', 'facility_name': 'd:01053', 'phase_of_matter': 'liquid', 'value': '9181.521484', 'commodity': 'diesel', 'io': 'o', # 'share_max_transport_distance'; 'Y'} io = row["io"] @@ -431,64 +266,20 @@ def load_facility_commodities_input_data(the_scenario, commodity_input_file, log commodity_unit = str(row["units"]).replace(' ', '_').lower() # remove spaces and make units lower case commodity_phase = row["phase_of_matter"] - # check for proc_cand-specific "non-commodities" to ignore validation (issue #254) - non_commodities = ['minsize', 'maxsize', 'cost_formula', 'min_aggregation'] - - # input data validation - if commodity_name not in non_commodities: # re: issue #254 only test actual commodities - # test io - io = io.lower() # convert 'I' and 'O' to 'i' and 'o' - error_message = check_for_input_error("io", io, commodity_input_file, index) - if error_message: - raise Exception(error_message) - # test facility type - error_message = check_for_input_error("facility_type", facility_type, commodity_input_file, index) - if error_message: - raise Exception(error_message) - # test commodity quantity - error_message = check_for_input_error("commodity_quantity", commodity_quantity, commodity_input_file, index) - if error_message: - raise Exception(error_message) - # test commodity phase - error_message = check_for_input_error("commodity_phase", commodity_phase, commodity_input_file, index, - units=commodity_unit) - if error_message: - raise Exception(error_message) - else: - logger.debug("Skipping input validation on special candidate processor commodity: {}" - .format(commodity_name)) - if "max_transport_distance" in row.keys(): - commodity_max_transport_distance = row["max_transport_distance"] + commodity_max_transport_distance = row["max_transport_distance"] # leave out and sqlite will else: commodity_max_transport_distance = "Null" - if "share_max_transport_distance" in row.keys(): share_max_transport_distance = row["share_max_transport_distance"] else: share_max_transport_distance = 'N' - # add schedule_id, if available - if "schedule" in row.keys(): - schedule_name = str(row["schedule"]).lower() - - # blank schedule name should be cast to default - if schedule_name == "none": - schedule_name = "default" - else: - schedule_name = "default" - - # manage facility_schedule_dict - if facility_name not in facility_schedule_dict: - facility_schedule_dict[facility_name] = schedule_name - elif facility_schedule_dict[facility_name] != schedule_name: - logger.info("Schedule name '{}' does not match previously entered schedule '{}' for facility '{}'". - format(schedule_name, facility_schedule_dict[facility_name], facility_name)) - schedule_name = facility_schedule_dict[facility_name] - # use pint to set the commodity quantity and units commodity_quantity_and_units = Q_(float(commodity_quantity), commodity_unit) + # 7/9/18 - convert the input commodities into FTOT units + # 10/12/18 - mnp - adding user default units by phase of matter. if commodity_phase.lower() == 'liquid': commodity_unit = the_scenario.default_units_liquid_phase if commodity_phase.lower() == 'solid': @@ -506,13 +297,14 @@ def load_facility_commodities_input_data(the_scenario, commodity_input_file, log temp_facility_commodities_dict[facility_name].append([facility_type, commodity_name, commodity_quantity, commodity_unit, commodity_phase, commodity_max_transport_distance, io, - share_max_transport_distance, schedule_name]) + share_max_transport_distance]) logger.debug("finished: load_facility_commodities_input_data") return temp_facility_commodities_dict # ============================================================================== + def populate_facility_commodities_table(the_scenario, commodity_input_file, logger): logger.debug("start: populate_facility_commodities_table {}".format(commodity_input_file)) @@ -538,13 +330,8 @@ def populate_facility_commodities_table(the_scenario, commodity_input_file, logg location_id = get_facility_location_id(the_scenario, db_con, facility_name, logger) - # get schedule id from the db - schedule_name = facility_data[0][-1] - schedule_id = get_schedule_id(the_scenario, db_con, schedule_name, logger) - # get the facility_id from the db (add the facility if it doesn't exists) - # and set up entry in facility_id table - facility_id = get_facility_id(the_scenario, db_con, location_id, facility_name, facility_type_id, candidate, schedule_id, logger) + facility_id = get_facility_id(the_scenario, db_con, location_id, facility_name, facility_type_id, candidate, logger) # iterate through each commodity for commodity_data in facility_data: @@ -552,7 +339,7 @@ def populate_facility_commodities_table(the_scenario, commodity_input_file, logg # get commodity_id. (adds commodity if it doesn't exist) commodity_id = get_commodity_id(the_scenario, db_con, commodity_data, logger) - [facility_type, commodity_name, commodity_quantity, commodity_units, commodity_phase, commodity_max_transport_distance, io, share_max_transport_distance, schedule_id] = commodity_data + [facility_type, commodity_name, commodity_quantity, commodity_units, commodity_phase, commodity_max_transport_distance, io, share_max_transport_distance] = commodity_data if not commodity_quantity == "0.0": # skip anything with no material sql = "insert into facility_commodities " \ @@ -688,12 +475,12 @@ def get_facility_location_id(the_scenario, db_con, facility_name, logger): # ============================================================================= -def get_facility_id(the_scenario, db_con, location_id, facility_name, facility_type_id, candidate, schedule_id, logger): +def get_facility_id(the_scenario, db_con, location_id, facility_name, facility_type_id, candidate, logger): # if it doesn't exist, add to facilities table and generate a facility id. db_con.execute("insert or ignore into facilities " - "(location_id, facility_name, facility_type_id, candidate, schedule_id) " - "values ('{}', '{}', {}, {}, {});".format(location_id, facility_name, facility_type_id, candidate, schedule_id)) + "(location_id, facility_name, facility_type_id, candidate) " + "values ('{}', '{}', {}, {});".format(location_id, facility_name, facility_type_id, candidate)) # get facility_id db_cur = db_con.execute("select facility_id " @@ -740,7 +527,7 @@ def get_facility_id_type(the_scenario, db_con, facility_type, logger): def get_commodity_id(the_scenario, db_con, commodity_data, logger): [facility_type, commodity_name, commodity_quantity, commodity_unit, commodity_phase, - commodity_max_transport_distance, io, share_max_transport_distance, schedule_id] = commodity_data + commodity_max_transport_distance, io, share_max_transport_distance] = commodity_data # get the commodiy_id. db_cur = db_con.execute("select commodity_id " @@ -781,24 +568,6 @@ def get_commodity_id(the_scenario, db_con, commodity_data, logger): # =================================================================================================== -def get_schedule_id(the_scenario, db_con, schedule_name, logger): - # get location_id - db_cur = db_con.execute( - "select schedule_id from schedule_names s where s.schedule_name = '{}';".format(str(schedule_name))) - schedule_id = db_cur.fetchone() - if not schedule_id: - # if schedule id is not found, replace with the default schedule - warning = 'schedule_id for schedule_name: {} is not found. Replace with default'.format(schedule_name) - logger.info(warning) - db_cur = db_con.execute( - "select schedule_id from schedule_names s where s.schedule_name = 'default';") - schedule_id = db_cur.fetchone() - - return schedule_id[0] - - -# =================================================================================================== - def gis_clean_fc(the_scenario, logger): logger.info("start: gis_clean_fc") @@ -1012,6 +781,11 @@ def gis_processors_setup_fc(the_scenario, logger): arcpy.AddField_management(processors_fc, "Facility_Name", "TEXT", "#", "#", "25", "#", "NULLABLE", "NON_REQUIRED", "#") arcpy.AddField_management(processors_fc, "Candidate", "SHORT") + # logger.info("note: processors layer specified in the XML: {}".format(the_scenario.base_processors_layer)) + # empty_processors_fc = str("{}\\facilities\\test_facilities.gdb\\test_processors_empty" + # .format(the_scenario.common_data_folder)) + # processors_fc = the_scenario.processors_fc + # arcpy.Project_management(empty_processors_fc, processors_fc, ftot_supporting_gis.LCC_PROJ) else: # copy the processors from the baseline data to the working gdb diff --git a/program/ftot_maps.py b/program/ftot_maps.py index af7cbb6..18fd578 100644 --- a/program/ftot_maps.py +++ b/program/ftot_maps.py @@ -1,33 +1,29 @@ # --------------------------------------------------------------------------------------------------- # Name: ftot_maps +# +# Purpose: +# # --------------------------------------------------------------------------------------------------- import os import arcpy -from shutil import copy +from shutil import rmtree, copy import imageio import sqlite3 import datetime # =================================================================================================== -def new_map_creation(the_scenario, logger, task): +def new_map_creation(the_scenario, logger): logger.info("start: maps") # create map directory timestamp_folder_name = 'maps_' + datetime.datetime.now().strftime("%Y_%m_%d_%H-%M-%S") + the_scenario.mapping_directory = os.path.join(the_scenario.scenario_run_directory, "Maps", timestamp_folder_name) + scenario_mxd_location = os.path.join(the_scenario.scenario_run_directory, "Maps", "ftot_maps.mxd") - if task == "m": - basemap = "default_basemap" - if task == "mb": - basemap = "gray_basemap" - if task == "mc": - basemap = "topo_basemap" - the_scenario.mapping_directory = os.path.join(the_scenario.scenario_run_directory, "Maps", - basemap + "_" + timestamp_folder_name) - scenario_mxd_location = os.path.join(the_scenario.scenario_run_directory, "Maps", "ftot_maps.mxd") if not os.path.exists(the_scenario.mapping_directory): logger.debug("creating maps directory.") os.makedirs(the_scenario.mapping_directory) @@ -50,9 +46,9 @@ def new_map_creation(the_scenario, logger, task): list_broken_data_sources(mxd, base_layers_location, logger) - reset_map_base_layers(mxd, logger, basemap) + reset_map_base_layers(mxd, logger) - export_map_steps(mxd, the_scenario, logger, basemap) + export_map_steps(mxd, the_scenario, logger) logger.info("maps located here: {}".format(the_scenario.mapping_directory)) @@ -70,7 +66,7 @@ def list_broken_data_sources(mxd, base_layers_location, logger): # =================================================================================================== -def reset_map_base_layers(mxd, logger, basemap): +def reset_map_base_layers(mxd, logger): logger.debug("start: reset_map_base_layers") # turn on base layers, turn off everything else. @@ -79,26 +75,25 @@ def reset_map_base_layers(mxd, logger, basemap): if lyr.longName.find("Base") == 0: lyr.visible = True - # This group layer should be off unless mb step is being run - if basemap not in ["gray_basemap"] and "World Light Gray" in lyr.longName and \ - not lyr.longName.endswith("Light Gray Canvas Base"): - lyr.visible = False + elif lyr.isGroupLayer is True and not lyr.longName.startswith("World Light Gray"): + lyr.visible = True - # This group layer should be off unless mc step is being run - if basemap not in ["topo_basemap"] and "USGSTopo" in lyr.longName and not lyr.longName.endswith("Layers"): - lyr.visible = False + # This group layer should be off unless it is moved into basemaps group layer. + elif lyr.longName.startswith("World Light Gray") and not lyr.longName.endswith("Light Gray Canvas Base"): + lyr.visible = False - # These layers can't be turned off. So leave them on. + # This layer can't be turned off. So leave it on. elif lyr.longName.endswith("Light Gray Canvas Base"): lyr.visible = True - elif lyr.longName == "Layers": - lyr.visible = True else: + # Debug + # print lyr.longName lyr.visible = False elm = arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT")[0] elm.text = " " + # logger.debug("layer: {}, visible: {}".format(lyr, lyr.visible)) return @@ -137,31 +132,17 @@ def export_to_png(map_name, mxd, the_scenario, logger): # =================================================================================================== -def export_map_steps(mxd, the_scenario, logger, basemap): +def export_map_steps(mxd, the_scenario, logger): # ------------------------------------------------------------------------------------ + # COMPLETE MNP / AO - 12/4/18 -- found a bug where FCs with one point are ignored in the extent. + # going to use the locations FC instead. THIS WORKS. + # ------------------------------------------------------------------------------------ # Project and zoom to extent of features - # Get extent of the locations and optimized_route_segments FCs and zoom to buffered extent - - # A list of extents - extent_list = [] - - for fc in [os.path.join(the_scenario.main_gdb, "locations"), - os.path.join(the_scenario.main_gdb, "optimized_route_segments")]: - # Cycle through layers grabbing extents, converting them into - # polygons and adding them to extentList - desc = arcpy.Describe(fc) - ext = desc.extent - array = arcpy.Array([ext.upperLeft, ext.upperRight, ext.lowerRight, ext.lowerLeft]) - extent_list.append(arcpy.Polygon(array)) - sr = desc.spatialReference - - # Create a temporary FeatureClass from the polygons - arcpy.CopyFeatures_management(extent_list, r"in_memory\temp") - - # Get extent of this temporary layer and zoom to its extent - desc = arcpy.Describe(r"in_memory\temp") + # Get extent of the locations FC layer and zoom to its extent + desc = arcpy.Describe(os.path.join(the_scenario.main_gdb, "locations")) + sr = desc.spatialReference extent = desc.extent ll_geom = arcpy.PointGeometry(extent.lowerLeft, sr).projectAs(arcpy.SpatialReference(4326)) @@ -174,15 +155,11 @@ def export_map_steps(mxd, the_scenario, logger, basemap): set_extent(mxd, extent, sr, new_sr) - # Clean up - arcpy.Delete_management(r"in_memory\temp") - del ext, desc, array, extent_list - # Save mxd so that after step is run user can open the mxd at the right zoom/ extent to continue examining the data. mxd.save() # reset the map so we are working from a clean and known starting point. - reset_map_base_layers(mxd, logger, basemap) + reset_map_base_layers(mxd, logger) # get a dictionary of all the layers in the mxd # might want to get a list of groups @@ -204,28 +181,18 @@ def export_map_steps(mxd, the_scenario, logger, basemap): o_step_opt_flow_lyr = layer_dictionary["O_STEP_FINAL_OPTIMAL_ROUTES_WITH_COMMODITY_FLOW"] o_step_opt_flow_no_labels_lyr = layer_dictionary["O_STEP_FINAL_OPTIMAL_ROUTES_WITH_COMMODITY_FLOW_NO_LABELS"] o_step_opt_flow_just_flow_lyr = layer_dictionary["O_STEP_FINAL_OPTIMAL_ROUTES_WITH_COMMODITY_FLOW_JUST_FLOW"] + o_step_opt_flow_agg_solid_lyr = layer_dictionary["O_STEP_FINAL_OPTIMAL_ROUTE_SEGMENTS_AGGREGATED_SOLID"] + o_step_opt_flow_agg_liquid_lyr = layer_dictionary["O_STEP_FINAL_OPTIMAL_ROUTE_SEGMENTS_AGGREGATED_LIQUID"] o_step_rmp_opt_vs_non_opt_lyr = layer_dictionary["O_STEP_RMP_OPTIMAL_VS_NON_OPTIMAL"] o_step_proc_opt_vs_non_opt_lyr = layer_dictionary["O_STEP_PROC_OPTIMAL_VS_NON_OPTIMAL"] o_step_dest_opt_vs_non_opt_lyr = layer_dictionary["O_STEP_DEST_OPTIMAL_VS_NON_OPTIMAL"] - # Following if/then statements for ftot_maps.mxd backward compatibility - if "O_STEP_RMP_TO_PROC" in layer_dictionary: - o_step_raw_producer_to_processor_lyr = layer_dictionary["O_STEP_RMP_TO_PROC"] - else: - o_step_raw_producer_to_processor_lyr = layer_dictionary["O_STEP_RAW_MATERIAL_PRODUCER_TO_PROCESSOR"] - if "O_STEP_PROC_TO_DEST" in layer_dictionary: - o_step_processor_to_destination_lyr = layer_dictionary["O_STEP_PROC_TO_DEST"] - else: - o_step_processor_to_destination_lyr = layer_dictionary["O_STEP_PROCESSOR_TO_ULTIMATE_DESTINATION"] + o_step_raw_producer_to_processor_lyr = layer_dictionary["O_STEP_RAW_MATERIAL_PRODUCER_TO_PROCESSOR"] + o_step_processor_to_destination_lyr = layer_dictionary["O_STEP_PROCESSOR_TO_ULTIMATE_DESTINATION"] f2_step_candidates_lyr = layer_dictionary["F2_STEP_CANDIDATES"] f2_step_merged_lyr = layer_dictionary["F2_STEP_MERGE"] f2_step_candidates_labels_lyr = layer_dictionary["F2_STEP_CANDIDATES_W_LABELS"] f2_step_merged_labels_lyr = layer_dictionary["F2_STEP_MERGE_W_LABELS"] - # Custom user-created maps-- user can create group layers within this parent group layer containing different - # features they would like to map. Code will look for this group layer name, which should not change. - if "CUSTOM_USER_CREATED_MAPS" in layer_dictionary: - custom_maps_parent_lyr = layer_dictionary["CUSTOM_USER_CREATED_MAPS"] - # START MAKING THE MAPS! # turn off all the groups @@ -236,128 +203,144 @@ def export_map_steps(mxd, the_scenario, logger, basemap): # map_name = "" # caption = "" # call generate_map() -# generate_map(caption, map_name, mxd, the_scenario, logger, basemap) +# generate_map(caption, map_name, mxd, the_scenario, logger) # S_STEP s_step_lyr.visible = True for subLayer in s_step_lyr: subLayer.visible = True - map_name = "01_S_Step_" + basemap + map_name = "01_S_Step" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F_STEP_RMP f_step_rmp_lyr.visible = True for subLayer in f_step_rmp_lyr: subLayer.visible = True - map_name = "02a_F_Step_RMP_" + basemap + map_name = "02a_F_Step_RMP" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F_STEP_PROC f_step_proc_lyr.visible = True for subLayer in f_step_proc_lyr: subLayer.visible = True - map_name = "02b_F_Step_User_Defined_PROC_" + basemap + map_name = "02b_F_Step_User_Defined_PROC" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F_STEP_DEST f_step_dest_lyr.visible = True for subLayer in f_step_dest_lyr: subLayer.visible = True - map_name = "02c_F_Step_DEST_" + basemap + map_name = "02c_F_Step_DEST" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F_STEP f_step_lyr.visible = True for subLayer in f_step_lyr: subLayer.visible = True - map_name = "02d_F_Step_" + basemap + map_name = "02d_F_Step" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F_STEP_RMP_LABELS f_step_rmp_labels_lyr.visible = True for subLayer in f_step_rmp_labels_lyr: subLayer.visible = True - map_name = "02a_F_Step_RMP_With_Labels_" + basemap + map_name = "02a_F_Step_RMP_With_Labels" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F_STEP_PROC_LABELS f_step_proc_labels_lyr.visible = True for subLayer in f_step_proc_labels_lyr: subLayer.visible = True - map_name = "02b_F_Step_User_Defined_PROC_With_Labels_" + basemap + map_name = "02b_F_Step_User_Defined_PROC_With_Labels" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F_STEP_DEST_LABELS f_step_dest_labels_lyr.visible = True for subLayer in f_step_dest_labels_lyr: subLayer.visible = True - map_name = "02c_F_Step_DEST_With_Labels_" + basemap + map_name = "02c_F_Step_DEST_With_Labels" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F_STEP_LABELS f_step_labels_lyr.visible = True for subLayer in f_step_labels_lyr: subLayer.visible = True - map_name = "02d_F_Step_With_Labels_" + basemap + map_name = "02d_F_Step_With_Labels" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # O_STEP_FINAL_OPTIMAL_ROUTES_WITH_COMMODITY_FLOW # O_STEP - A - o_step_opt_flow_lyr.visible = True for subLayer in o_step_opt_flow_lyr: subLayer.visible = True - map_name = "04a_O_Step_Final_Optimal_Routes_With_Commodity_Flow_" + basemap + map_name = "04a_O_Step_Final_Optimal_Routes_With_Commodity_Flow" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # O_STEP - B - same as above but with no labels to make it easier to see routes. o_step_opt_flow_no_labels_lyr.visible = True for subLayer in o_step_opt_flow_no_labels_lyr: subLayer.visible = True - map_name = "04b_O_Step_Final_Optimal_Routes_With_Commodity_Flow_NO_LABELS_" + basemap + map_name = "04b_O_Step_Final_Optimal_Routes_With_Commodity_Flow_NO_LABELS" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # O_STEP - C - just flows. no Origins or Destinations o_step_opt_flow_just_flow_lyr.visible = True for subLayer in o_step_opt_flow_just_flow_lyr: subLayer.visible = True - map_name = "04c_O_Step_Final_Optimal_Routes_With_Commodity_Flow_JUST_FLOW_" + basemap + map_name = "04c_O_Step_Final_Optimal_Routes_With_Commodity_Flow_JUST_FLOW" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) + + # O_STEP_FINAL_OPTIMAL_ROUTES_WITH_COMMODITY_FLOW_SOLID_Aggregated + o_step_opt_flow_agg_solid_lyr.visible = True + for subLayer in o_step_opt_flow_agg_solid_lyr: + subLayer.visible = True + map_name = "04d_O_Step_Final_Optimal_Routes_With_Commodity_Flow_Aggregated_Solids" + caption = "" + generate_map(caption, map_name, mxd, the_scenario, logger) + + # O_STEP_FINAL_OPTIMAL_ROUTES_WITH_COMMODITY_FLOW_LIQUID_Aggregated + o_step_opt_flow_agg_liquid_lyr.visible = True + for subLayer in o_step_opt_flow_agg_liquid_lyr: + subLayer.visible = True + map_name = "04e_O_Step_Final_Optimal_Routes_With_Commodity_Flow_Aggregated_Liquids" + caption = "" + generate_map(caption, map_name, mxd, the_scenario, logger) # O_STEP_OPTIMAL_AND_NON_OPTIMAL_RMP o_step_rmp_opt_vs_non_opt_lyr.visible = True for subLayer in o_step_rmp_opt_vs_non_opt_lyr: subLayer.visible = True - map_name = "04d_O_Step_Optimal_and_Non_Optimal_RMP_" + basemap + map_name = "04f_O_Step_Optimal_and_Non_Optimal_RMP" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # O_STEP_OPTIMAL_AND_NON_OPTIMAL_DEST o_step_proc_opt_vs_non_opt_lyr.visible = True for subLayer in o_step_proc_opt_vs_non_opt_lyr: subLayer.visible = True - map_name = "04e_O_Step_Optimal_and_Non_Optimal_PROC_" + basemap + map_name = "04g_O_Step_Optimal_and_Non_Optimal_PROC" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # O_STEP_OPTIMAL_AND_NON_OPTIMAL_DEST o_step_dest_opt_vs_non_opt_lyr.visible = True for subLayer in o_step_dest_opt_vs_non_opt_lyr: subLayer.visible = True - map_name = "04f_O_Step_Optimal_and_Non_Optimal_DEST_" + basemap + map_name = "04h_O_Step_Optimal_and_Non_Optimal_DEST" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # check if processor fc exists. if it doesn't stop here since there won't be any more relevant maps to make @@ -370,78 +353,57 @@ def export_map_steps(mxd, the_scenario, logger, basemap): f2_step_candidates_lyr.visible = True for subLayer in f2_step_candidates_lyr: subLayer.visible = True - map_name = "03a_F2_Step_Processor_Candidates_" + basemap + map_name = "03a_F2_Step_Processor_Candidates" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F2_STEP_MERGE f2_step_merged_lyr.visible = True for subLayer in f2_step_merged_lyr: subLayer.visible = True - map_name = "03b_F2_Step_Processors_All_" + basemap + map_name = "03b_F2_Step_Processors_All" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F2_STEP_CANDIDATES_W_LABELS f2_step_candidates_labels_lyr.visible = True for subLayer in f2_step_candidates_labels_lyr: subLayer.visible = True - map_name = "03a_F2_Step_Processor_Candidates_With_Labels_" + basemap + map_name = "03a_F2_Step_Processor_Candidates_With_Labels" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # F2_STEP_MERGE_W_LABELS f2_step_merged_labels_lyr.visible = True for subLayer in f2_step_merged_labels_lyr: subLayer.visible = True - map_name = "03b_F2_Step_Processors_All_With_Labels_" + basemap + map_name = "03b_F2_Step_Processors_All_With_Labels" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # O_STEP_RAW_MATERIAL_PRODUCER_TO_PROCESSOR o_step_raw_producer_to_processor_lyr.visible = True for subLayer in o_step_raw_producer_to_processor_lyr: subLayer.visible = True - map_name = "05a_O_Step_Raw_Material_Producer_To_Processor_" + basemap + map_name = "05a_O_Step_Raw_Material_Producer_To_Processor" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) # O_STEP_PROCESSOR_TO_ULTIMATE_DESTINATION o_step_processor_to_destination_lyr.visible = True for subLayer in o_step_processor_to_destination_lyr: subLayer.visible = True - map_name = "05b_O_Step_Processor_To_Ultimate_Destination_" + basemap + map_name = "05b_O_Step_Processor_To_Ultimate_Destination" caption = "" - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) + generate_map(caption, map_name, mxd, the_scenario, logger) else: logger.info("processor layer has {} features. skipping the rest of the mapping".format (processor_fc_feature_count)) - # CUSTOM_MAPS - if "CUSTOM_USER_CREATED_MAPS" in layer_dictionary: - custom_map_layer_dictionary = get_layer_dictionary(custom_maps_parent_lyr, logger) - for layer in custom_map_layer_dictionary: - custom_lyr = custom_map_layer_dictionary[layer] - # Need to limit maps to just the group layers which are NOT the parent group layer. - if custom_lyr.isGroupLayer and custom_lyr != custom_maps_parent_lyr: - # First ensure that the group layer is on as this as all layers are turned off at beginning by default - custom_maps_parent_lyr.visible = True - # Then turn on the individual custom map - custom_lyr.visible = True - count = 0 - for subLayer in custom_lyr: - subLayer.visible = True - count +=1 - map_name = layer + "_" + basemap - caption = "" - # Only generate map if there are actual features inside the group layer - if count > 0: - generate_map(caption, map_name, mxd, the_scenario, logger, basemap) - # =================================================================================================== -def generate_map(caption, map_name, mxd, the_scenario, logger, basemap): +def generate_map(caption, map_name, mxd, the_scenario, logger): import datetime # create a text element on the mxd for the caption @@ -455,33 +417,28 @@ def generate_map(caption, map_name, mxd, the_scenario, logger, basemap): # programmatically set the caption height if len(caption) < 180: - elm.elementHeight = 0.5 + elm.elementHeight = 0.5 # created this by regressing the captions we already had. else: - elm.elementHeight = 0.0017*len(caption) + 0.0 + elm.elementHeight = 0.0017*len(caption) + 0.0 # created this by regressing the captions we already had. + + # this was to investigate the height vs caption len + # logger.result("len: {}, height: {}".format(len(elm.text), elm.elementHeight)) # export that map to png export_to_png(map_name, mxd, the_scenario, logger) # reset the map layers - reset_map_base_layers(mxd, logger, basemap) + reset_map_base_layers(mxd, logger) # =================================================================================================== -def prepare_time_commodity_subsets_for_mapping(the_scenario, logger, task): +def prepare_time_commodity_subsets_for_mapping(the_scenario, logger): logger.info("start: time and commodity maps") - if task == "m2": - basemap = "default_basemap" - if task == "m2b": - basemap = "gray_basemap" - if task == "m2c": - basemap = "topo_basemap" - timestamp_folder_name = 'maps_' + datetime.datetime.now().strftime("%Y_%m_%d_%H-%M-%S") - the_scenario.mapping_directory = os.path.join(the_scenario.scenario_run_directory, "Maps_Time_Commodity", - basemap + "_" + timestamp_folder_name) + the_scenario.mapping_directory = os.path.join(the_scenario.scenario_run_directory, "Maps_Time_Commodity", timestamp_folder_name) scenario_mxd_location = os.path.join(the_scenario.scenario_run_directory, "Maps_Time_Commodity", "ftot_maps.mxd") scenario_gdb = the_scenario.main_gdb arcpy.env.workspace = scenario_gdb @@ -507,26 +464,9 @@ def prepare_time_commodity_subsets_for_mapping(the_scenario, logger, task): list_broken_data_sources(mxd, base_layers_location, logger) # Project and zoom to extent of features - # Get extent of the locations and optimized_route_segments FCs and zoom to buffered extent - - # A list of extents - extent_list = [] - - for fc in [os.path.join(the_scenario.main_gdb, "locations"), - os.path.join(the_scenario.main_gdb, "optimized_route_segments")]: - # Cycle through layers grabbing extents, converting them into - # polygons and adding them to extentList - desc = arcpy.Describe(fc) - ext = desc.extent - array = arcpy.Array([ext.upperLeft, ext.upperRight, ext.lowerRight, ext.lowerLeft]) - extent_list.append(arcpy.Polygon(array)) - sr = desc.spatialReference - - # Create a temporary FeatureClass from the polygons - arcpy.CopyFeatures_management(extent_list, r"in_memory\temp") - - # Get extent of this temporary layer and zoom to its extent - desc = arcpy.Describe(r"in_memory\temp") + # Get extent of the locations FC layer and zoom to its extent + desc = arcpy.Describe(os.path.join(the_scenario.main_gdb, "locations")) + sr = desc.spatialReference extent = desc.extent ll_geom = arcpy.PointGeometry(extent.lowerLeft, sr).projectAs(arcpy.SpatialReference(4326)) @@ -539,13 +479,12 @@ def prepare_time_commodity_subsets_for_mapping(the_scenario, logger, task): set_extent(mxd, extent, sr, new_sr) - # Clean up - arcpy.Delete_management(r"in_memory\temp") - del ext, desc, array, extent_list - # Save mxd so that after step is run user can open the mxd at the right zoom/ extent to continue examining data. mxd.save() + # Clean up + del desc + logger.info("start: building dictionaries of time steps and commodities occurring within the scenario") commodity_dict = {} time_dict = {} @@ -579,7 +518,7 @@ def prepare_time_commodity_subsets_for_mapping(the_scenario, logger, task): for commodity in commodity_dict: layer_name = "commodity_" + commodity logger.info("Processing " + layer_name) - image_name = "optimal_flows_commodity_" + commodity + "_" + basemap + img_name = "optimal_flows_commodity_" + commodity sql_where_clause = "COMMODITY = '" + commodity + "'" # ID route segments and facilities associated with the subset @@ -590,7 +529,7 @@ def prepare_time_commodity_subsets_for_mapping(the_scenario, logger, task): the_scenario, logger) # Make map - make_time_commodity_maps(mxd, image_name, the_scenario, logger, basemap) + make_time_commodity_maps(mxd, img_name, the_scenario, logger) # Clear flag fields clear_flag_fields(the_scenario) @@ -599,7 +538,7 @@ def prepare_time_commodity_subsets_for_mapping(the_scenario, logger, task): for time in time_dict: layer_name = "time_period_" + str(time) logger.info("Processing " + layer_name) - image_name = "optimal_flows_time_" + str(time) + "_" + basemap + img_name = "optimal_flows_time_" + str(time) sql_where_clause = "TIME_PERIOD = '" + str(time) + "'" # ID route segments and facilities associated with the subset @@ -610,7 +549,7 @@ def prepare_time_commodity_subsets_for_mapping(the_scenario, logger, task): the_scenario, logger) # Make map - make_time_commodity_maps(mxd, image_name, the_scenario, logger, basemap) + make_time_commodity_maps(mxd, img_name, the_scenario, logger) # Clear flag fields clear_flag_fields(the_scenario) @@ -620,7 +559,7 @@ def prepare_time_commodity_subsets_for_mapping(the_scenario, logger, task): for time in time_dict: layer_name = "commodity_" + commodity + "_time_period_" + str(time) logger.info("Processing " + layer_name) - image_name = "optimal_flows_commodity_" + commodity + "_time_" + str(time) + "_" + basemap + img_name = "optimal_flows_commodity_" + commodity + "_time_" + str(time) sql_where_clause = "COMMODITY = '" + commodity + "' AND TIME_PERIOD = '" + str(time) + "'" # ID route segments and facilities associated with the subset @@ -631,7 +570,7 @@ def prepare_time_commodity_subsets_for_mapping(the_scenario, logger, task): the_scenario, logger) # Make map - make_time_commodity_maps(mxd, image_name, the_scenario, logger, basemap) + make_time_commodity_maps(mxd, img_name, the_scenario, logger) # Clear flag fields clear_flag_fields(the_scenario) @@ -694,7 +633,7 @@ def link_subset_to_route_segments_and_facilities(sql_where_clause, the_scenario) # =================================================================================================== -def make_time_commodity_maps(mxd, image_name, the_scenario, logger, basemap): +def make_time_commodity_maps(mxd, image_name, the_scenario, logger): scenario_gdb = the_scenario.main_gdb @@ -710,7 +649,7 @@ def make_time_commodity_maps(mxd, image_name, the_scenario, logger, basemap): if count > 0: # reset the map so we are working from a clean and known starting point. - reset_map_base_layers(mxd, logger, basemap) + reset_map_base_layers(mxd, logger) # get a dictionary of all the layers in the mxd # might want to get a list of groups @@ -719,12 +658,15 @@ def make_time_commodity_maps(mxd, image_name, the_scenario, logger, basemap): # create a variable for for each layer of interest for the time and commodity mapping # so we can access each layer easily time_commodity_segments_lyr = layer_dictionary["TIME_COMMODITY"] + time_commodity_aggregated_lyr = layer_dictionary["TIME_COMMODITY_AGGREGATED"] + time_commodity_aggregated_w_facilities_lyr = layer_dictionary["TIME_COMMODITY_AGGREGATED_W_FACILITIES"] # START MAKING THE MAPS! # Establish definition queries to define the subset for each layer, # turn off if there are no features for that particular subset. - for groupLayer in [time_commodity_segments_lyr]: + for groupLayer in [time_commodity_segments_lyr, time_commodity_aggregated_lyr, + time_commodity_aggregated_w_facilities_lyr]: for subLayer in groupLayer: if subLayer.supports("DATASOURCE"): if subLayer.dataSource == os.path.join(scenario_gdb, 'optimized_route_segments'): @@ -747,7 +689,21 @@ def make_time_commodity_maps(mxd, image_name, the_scenario, logger, basemap): for subLayer in time_commodity_segments_lyr: subLayer.visible = True caption = "" - generate_map(caption, image_name, mxd, the_scenario, logger, basemap) + generate_map(caption, image_name, mxd, the_scenario, logger) + + time_commodity_aggregated_lyr.visible = True + for subLayer in time_commodity_aggregated_lyr: + subLayer.visible = True + caption = "" + image_name = image_name + "_aggregate" + generate_map(caption, image_name, mxd, the_scenario, logger) + + time_commodity_aggregated_w_facilities_lyr.visible = True + for subLayer in time_commodity_aggregated_w_facilities_lyr: + subLayer.visible = True + caption = "" + image_name = image_name + "_aggregate_w_facilities" + generate_map(caption, image_name, mxd, the_scenario, logger) # Clean up mxd del mxd @@ -775,6 +731,13 @@ def clear_flag_fields(the_scenario): # =================================================================================================== def map_animation(the_scenario, logger): + # must install imageio python module (run below in command line-- replace python path if applicable) + # C:\Python27\ArcGISx6410.6\python.exe -m pip install imageio + + # Below animation is currently only set up to animate scenario time steps + # NOT commodities or a combination of commodity and time steps. + + # Clean Up-- delete existing gif if it exists already try: os.remove(os.path.join(the_scenario.mapping_directory, 'optimal_flows_time.gif')) logger.debug("deleted existing time animation gif") @@ -785,16 +748,13 @@ def map_animation(the_scenario, logger): logger.info("start: creating time step animation gif") for a_file in os.listdir(the_scenario.mapping_directory): - if a_file.startswith("optimal_flows_time"): + if a_file.startswith("optimal_flows_time") and a_file.endswith("aggregate.png"): images.append(imageio.imread(os.path.join(the_scenario.mapping_directory, a_file))) if len(images) > 0: imageio.mimsave(os.path.join(the_scenario.mapping_directory, 'optimal_flows_time.gif'), images, duration=2) - # Below animation is currently only set up to animate scenario time steps - # NOT commodities or a combination of commodity and time steps. - # Clean Up-- delete existing gif if it exists already # =================================================================================================== def get_feature_count(fc, logger): result = arcpy.GetCount_management(fc) @@ -860,8 +820,8 @@ def set_extent(mxd, extent, sr, new_sr): ur = ur_geom.centroid ul = ul_geom.centroid - ext_buff_dist_x = ((int(abs(ll.X - lr.X))) * .15) - ext_buff_dist_y = ((int(abs(ll.Y - ul.Y))) * .15) + ext_buff_dist_x = ((int(abs(ll.X - lr.X))) * .1) + ext_buff_dist_y = ((int(abs(ll.Y - ul.Y))) * .1) ext_buff_dist = max([ext_buff_dist_x, ext_buff_dist_y]) orig_extent_pts = arcpy.Array() # Array to hold points for the bounding box for initial extent @@ -889,18 +849,16 @@ def dissolve_optimal_route_segments_feature_class_for_commodity_mapping(layer_na arcpy.env.workspace = scenario_gdb - # Delete previous fcs if they exist - for fc in ["optimized_route_segments_dissolved_tmp", "optimized_route_segments_split_tmp", - "optimized_route_segments_dissolved_tmp2", "optimized_route_segments_dissolved_tmp2", - "dissolved_segments_lyr", "optimized_route_segments_dissolved_commodity", - "optimized_route_segments_dissolved_" + layer_name]: - if arcpy.Exists(fc): - arcpy.Delete_management(fc) - arcpy.MakeFeatureLayer_management("optimized_route_segments", "optimized_route_segments_lyr") arcpy.SelectLayerByAttribute_management(in_layer_or_view="optimized_route_segments_lyr", selection_type="NEW_SELECTION", where_clause=sql_where_clause) + if arcpy.Exists("optimized_route_segments_dissolved_commodity"): + arcpy.Delete_management("optimized_route_segments_dissolved_commodity") + + if arcpy.Exists("optimized_route_segments_dissolved_" + layer_name): + arcpy.Delete_management("optimized_route_segments_dissolved_" + layer_name) + # Dissolve arcpy.Dissolve_management("optimized_route_segments_lyr", "optimized_route_segments_dissolved_tmp", ["NET_SOURCE_NAME", "NET_SOURCE_OID", "ARTIFICIAL"], diff --git a/program/ftot_networkx.py b/program/ftot_networkx.py index a19fba5..56c2b7c 100644 --- a/program/ftot_networkx.py +++ b/program/ftot_networkx.py @@ -18,10 +18,6 @@ def graph(the_scenario, logger): - - # export the assets from GIS export_fcs_from_main_gdb - export_fcs_from_main_gdb(the_scenario, logger) - # create the networkx multidigraph G = make_networkx_graph(the_scenario, logger) @@ -44,7 +40,6 @@ def make_networkx_graph(the_scenario, logger): # create the multidigraph # convert the node labels to integers # reverse the graph and compose with self - # delete temporary files logger.info("start: make_networkx_graph") start_time = datetime.datetime.now() @@ -53,8 +48,7 @@ def make_networkx_graph(the_scenario, logger): input_path = the_scenario.lyr_files_dir logger.debug("start: read_shp") - G = read_shp(input_path, logger, simplify=True, - geom_attrs=False, strict=True) # note this custom and not nx.read_shp() + G = read_shp(input_path, logger) # note this custom and not nx.read_shp() # cleanup the node labels logger.debug("start: convert node labels") @@ -73,10 +67,6 @@ def make_networkx_graph(the_scenario, logger): logger.debug("start: compose G and H") G = nx.compose(G, H) - # delete temporary files - logger.debug("start: delete the temp_networkx_shp_files dir") - rmtree(input_path) - # print out some stats on the Graph logger.info("Number of nodes in the raw graph: {}".format(G.order())) logger.info("Number of edges in the raw graph: {}".format(G.size())) @@ -100,14 +90,14 @@ def export_fcs_from_main_gdb(the_scenario, logger): output_path = the_scenario.lyr_files_dir input_features = "\"" - logger.debug("start: create temp_networkx_shp_files dir") + logger.debug("delete the temp_networkx_shp_files dir") if os.path.exists(output_path): - logger.debug("deleting pre-existing temp_networkx_shp_files dir") + logger.debug("deleting temp_networkx_shp_files directory.") rmtree(output_path) if not os.path.exists(output_path): - logger.debug("creating new temp_networkx_shp_files dir") os.makedirs(output_path) + logger.debug("finished: create_temp_gdbs_dir") # get the locations and network feature layers for fc in ['\\locations;', '\\network\\intermodal;', '\\network\\locks;', '\\network\\pipeline_prod_trf_rts;', @@ -124,12 +114,13 @@ def export_fcs_from_main_gdb(the_scenario, logger): def clean_networkx_graph(the_scenario, G, logger): - # ------------------------------------------------------------------------- + # VERSION 3: # renamed clean_networkx_graph () # remove reversed links for pipeline # selectivity remove links for location _IN and _OUT nodes # preserve the route_cost_scaling factor in an attribute by phase of matter - + # ------------------------------------------------------------------------- + logger.info("start: clean_networkx_graph") start_time = datetime.datetime.now() @@ -141,6 +132,9 @@ def clean_networkx_graph(the_scenario, G, logger): edge_attrs = {} # for storing the edge attributes which are set all at once deleted_edge_count = 0 + # note: For digraphs, edges=out_edges + # for some reason it shows up as out_edges in the debugger, but + # when caching to the database both in_edges and out_edges are stored. for u, v, keys, artificial in G.edges(data='Artificial', keys=True): # initialize the route_cost_scaling variable to something @@ -227,6 +221,9 @@ def clean_networkx_graph(the_scenario, G, logger): # link_cost later for transloading route_cost_scaling = 1 + # nothing else to do with intermodal edges. + # they need to be unscaled in both directions + # Artificial Edge - artificial == 1 # ---------------------------------- # need to check if its an IN location or an OUT location and delete selectively. @@ -279,6 +276,7 @@ def get_network_link_cost(the_scenario, phase_of_matter, mode, artificial, logge # three types of artificial links: # (0 = network edge, 2 = intermodal, 1 = artificial link btw facility location and network edge) # add the appropriate cost to the network edges based on phase of matter + # note: this gets called for every link. ends up being 300k+ for the national network and creates a 40MB log file. if phase_of_matter == "solid": # set the mode costs @@ -609,6 +607,7 @@ def digraph_to_db(the_scenario, G, logger): # ---------------------------------------------------------------------------- + def read_shp(path, logger, simplify=True, geom_attrs=True, strict=True): # the modified read_shp() multidigraph code diff --git a/program/ftot_postprocess.py b/program/ftot_postprocess.py index 4c4abe9..6292631 100644 --- a/program/ftot_postprocess.py +++ b/program/ftot_postprocess.py @@ -11,7 +11,7 @@ import arcpy import sqlite3 import os -from collections import defaultdict + # ========================================================================= @@ -36,6 +36,8 @@ def route_post_optimization_db(the_scenario, logger): make_optimal_route_segments_featureclass_from_db(the_scenario, logger) # add functional class and urban code to the road segments + # mnp - 8/30/18 added fclass nad urban code to the the database + # so we can do the co2 calculations there. add_fclass_and_urban_code(the_scenario,logger) dissolve_optimal_route_segments_feature_class_for_mapping(the_scenario,logger) @@ -116,6 +118,7 @@ def make_optimal_intermodal_db(the_scenario, logger): logger.info("starting make_optimal_intermodal_db") # use the optimal solution and edges tables in the db to reconstruct what facilities are used + # with sqlite3.connect(the_scenario.main_db) as db_con: # drop the table @@ -140,6 +143,8 @@ def make_optimal_intermodal_db(the_scenario, logger): group by nx_n.source_OID ;""" + + db_con.execute(sql) @@ -191,6 +196,7 @@ def make_optimal_intermodal_featureclass(the_scenario, logger): def make_optimal_raw_material_producer_featureclass(the_scenario, logger): logger.info("starting make_optimal_raw_material_producer_featureclass") + # mnp - 3/12/18 -- this is the new DB work. # add rmp flows to rmp fc # ---------------------------------------------------- @@ -317,7 +323,21 @@ def make_optimal_destinations_featureclass(the_scenario, logger): scenario_gdb = the_scenario.main_gdb # ===================================================================================================================== + + +# the pulp optimization gives us back the optimal flows on a edge, but there is no +# concept of a "route". That is, its difficult to know which edges are connected to which. + +# some options: +# (1) we can create a new digraph based on the optimal solution results +# (2) we can pickle the original digraph, and use the nx.set_edge_attributes() +# to set the optimal flows +# in either case, we'd then export out the graph to a shapefile +# and import the shp files in the main gdb. + + def make_optimal_route_segments_db(the_scenario, logger): + # start with option 1- create a new digraph using the optimal solution # iterate through the db to create a dictionary of dictionaries (DOD) # then generate the graph using the method # >>> dod = {0: {1: {'weight': 1}}} # single edge (0,1) @@ -382,6 +402,7 @@ def make_optimal_route_segments_db(the_scenario, logger): join networkx_edge_costs as nx_e_cost on nx_e_cost.edge_id = ov.nx_edge_id and nx_e_cost.phase_of_matter_id = c.phase_of_matter ;""" + db_cur = db_con.execute(sql) logger.info("done with the execute...") @@ -444,6 +465,10 @@ def make_optimal_route_segments_db(the_scenario, logger): db_con.commit() logger.info("finish optimal_segments_list db_con.commit") + # NEXT STEPS + # NOTE: the flow on the links is ALREADY cummulative. + # maybe thats okay. + return @@ -459,6 +484,7 @@ def make_optimal_scenario_results_db(the_scenario, logger): db_con.execute(sql) # create the table + #logger.result('{}{}{}{}: \t {:,.1f}'.format(table_name_key.upper(), metric_key.upper(), commodity_key.upper(), mode_key.upper(), mode_sum)) sql = """create table optimal_scenario_results( table_name text, commodity text, @@ -472,6 +498,10 @@ def make_optimal_scenario_results_db(the_scenario, logger): db_con.execute(sql) + + + # commodity flow + # proposed implementation # sum all the flows on artificial = 1, and divide by 2 for each commodity. # this assumes we have flows leaving and entering a facility on 1 artificial link at the beginning and the end. sql_total_flow = """ -- total flow query @@ -510,7 +540,6 @@ def make_optimal_scenario_results_db(the_scenario, logger): group by commodity_name, network_source_id ;""" db_con.execute(sql_total_miles) - # liquid unit-miles sql_liquid_unit_miles = """-- total liquid unit-miles by mode insert into optimal_scenario_results @@ -551,6 +580,8 @@ def make_optimal_scenario_results_db(the_scenario, logger): # dollar cost and routing cost by mode # multiply the mileage by the flow + # These two are easier. we know how much flow in on that link and we already have the routing costs and dollar costs for each link + # just calculate for each link and sum. sql_dollar_costs = """-- total dollar_cost insert into optimal_scenario_results select @@ -589,6 +620,10 @@ def make_optimal_scenario_results_db(the_scenario, logger): # loads by mode # use artificial links =1 and = 2 to calculate loads per loading event # (e.g. leaving a facility or switching modes at intermodal facility) + # todos: + # 1) do this for each mode, and for each phase of matter using the appropriate constant + # 2) probably do this in a for loop where we construct the mode, phase of matter, and loads dict by phase of matter and mode. + # 3) add in artificial = 2. sql_modes = "select network_source_id, phase_of_matter from optimal_route_segments group by network_source_id, phase_of_matter;" db_cur = db_con.execute(sql_modes) @@ -692,6 +727,7 @@ def make_optimal_scenario_results_db(the_scenario, logger): if 'pipeline_prod' in mode: mode = 'pipeline_prod' if 'road' == mode: + # going to brute force this for now. loads_per_vehicle = loads_per_vehicle_dict[phase_of_matter][mode] for road_co2_measure_name in fclass_and_urban_code: @@ -937,8 +973,10 @@ def make_optimal_scenario_results_db(the_scenario, logger): ov.o_facility, "processor_output", mode, - (sum(ov.variable_value) ), - ov.units, + --sum(ov.variable_value) as optimal_flow, + --fc.quantity as available_supply, + (sum(ov.variable_value) /fc.quantity ), + "fraction", '' from optimal_variables ov join facilities f on f.facility_name = ov.o_facility @@ -957,8 +995,8 @@ def make_optimal_scenario_results_db(the_scenario, logger): ov.d_facility, "processor_input", mode, - (sum(ov.variable_value) ), - ov.units, + (sum(ov.variable_value) / fc.quantity), + "fraction", '' from optimal_variables ov join facilities f on f.facility_name = ov.d_facility @@ -971,6 +1009,7 @@ def make_optimal_scenario_results_db(the_scenario, logger): # measure totals + # since barge_loads is not appropriate for the total summary. sql_total = """insert into optimal_scenario_results select table_name, commodity, facility_name, measure, "_total" as mode, sum(value), units, notes from optimal_scenario_results @@ -1337,133 +1376,62 @@ def dissolve_optimal_route_segments_feature_class_for_mapping(the_scenario, logg if arcpy.Exists("optimized_route_segments_dissolved"): arcpy.Delete_management("optimized_route_segments_dissolved") - arcpy.MakeFeatureLayer_management(optimized_route_segments_fc, "segments_lyr") + arcpy.MakeFeatureLayer_management (optimized_route_segments_fc, "segments_lyr") result = arcpy.GetCount_management("segments_lyr") count = str(result.getOutput(0)) - if arcpy.Exists("optimized_route_segments_dissolved_tmp"): - arcpy.Delete_management("optimized_route_segments_dissolved_tmp") - - if arcpy.Exists("optimized_route_segments_split_tmp"): - arcpy.Delete_management("optimized_route_segments_split_tmp") - - if arcpy.Exists("optimized_route_segments_dissolved_tmp2"): - arcpy.Delete_management("optimized_route_segments_dissolved_tmp2") - if int(count) > 0: # Dissolve arcpy.Dissolve_management(optimized_route_segments_fc, "optimized_route_segments_dissolved_tmp", - ["NET_SOURCE_NAME", "NET_SOURCE_OID", "ARTIFICIAL", "PHASE_OF_MATTER", "UNITS"], - [['COMMODITY_FLOW', 'SUM']], "SINGLE_PART", "DISSOLVE_LINES") - - if arcpy.CheckProduct("ArcInfo") == "Available": - # Second dissolve needed to accurately show aggregate pipeline flows - arcpy.FeatureToLine_management("optimized_route_segments_dissolved_tmp", - "optimized_route_segments_split_tmp") - - arcpy.AddGeometryAttributes_management("optimized_route_segments_split_tmp", "LINE_START_MID_END") - - arcpy.Dissolve_management("optimized_route_segments_split_tmp", "optimized_route_segments_dissolved_tmp2", - ["NET_SOURCE_NAME", "Shape_Length", "MID_X", "MID_Y", "ARTIFICIAL", - "PHASE_OF_MATTER", "UNITS"], - [["SUM_COMMODITY_FLOW", "SUM"]], "SINGLE_PART", "DISSOLVE_LINES") - - arcpy.AddField_management("optimized_route_segments_dissolved_tmp2", "SUM_COMMODITY_FLOW", "DOUBLE") - arcpy.CalculateField_management("optimized_route_segments_dissolved_tmp2", "SUM_COMMODITY_FLOW", - "!SUM_SUM_COMMODITY_FLOW!", "PYTHON_9.3") - arcpy.DeleteField_management("optimized_route_segments_dissolved_tmp2", "SUM_SUM_COMMODITY_FLOW") - arcpy.DeleteField_management("optimized_route_segments_dissolved_tmp2", "MID_X") - arcpy.DeleteField_management("optimized_route_segments_dissolved_tmp2", "MID_Y") - - else: - # Doing it differently because feature to line isn't available without an advanced license - logger.warning("The Advanced/ArcInfo license level of ArcGIS is not available. A modification to the " - "dissolve_optimal_route_segments_feature_class_for_mapping method is necessary") - - # Create the fc - arcpy.CreateFeatureclass_management(the_scenario.main_gdb, "optimized_route_segments_split_tmp", - "POLYLINE", "#", "DISABLED", "DISABLED", ftot_supporting_gis.LCC_PROJ) - - arcpy.AddField_management("optimized_route_segments_split_tmp", "NET_SOURCE_NAME", "TEXT") - arcpy.AddField_management("optimized_route_segments_split_tmp", "NET_SOURCE_OID", "LONG") - arcpy.AddField_management("optimized_route_segments_split_tmp", "ARTIFICIAL", "SHORT") - arcpy.AddField_management("optimized_route_segments_split_tmp", "UNITS", "TEXT") - arcpy.AddField_management("optimized_route_segments_split_tmp", "PHASE_OF_MATTER", "TEXT") - arcpy.AddField_management("optimized_route_segments_split_tmp", "SUM_COMMODITY_FLOW", "DOUBLE") - - # Go through the pipeline segments separately - tariff_segment_dict = defaultdict(float) - with arcpy.da.SearchCursor("optimized_route_segments_dissolved_tmp", - ["NET_SOURCE_NAME", "NET_SOURCE_OID", "ARTIFICIAL", "PHASE_OF_MATTER", "UNITS", - "SUM_COMMODITY_FLOW", "SHAPE@"]) as search_cursor: - for row1 in search_cursor: - if 'pipeline' in row1[0]: - # Must not be artificial, otherwise pass the link through - if row1[2] == 0: - # Capture the tariff ID so that we can link to the segments - mode = row1[0] - with arcpy.da.SearchCursor(mode, ["OBJECTID", "Tariff_ID", "SHAPE@"]) \ - as search_cursor_2: - for row2 in search_cursor_2: - if row1[1] == row2[0]: - tariff_id = row2[1] - mode = row1[0].strip("rts") - with arcpy.da.SearchCursor(mode + "sgmts", ["MASTER_OID", "Tariff_ID", "SHAPE@"]) \ - as search_cursor_3: - for row3 in search_cursor_3: - if tariff_id == row3[1]: - # keying off master_oid, net_source_name, phase of matter, units + shape - tariff_segment_dict[(row3[0], row1[0], row1[3], row1[4], row3[2])] += row1[5] - else: - with arcpy.da.InsertCursor("optimized_route_segments_split_tmp", - ["NET_SOURCE_NAME", "NET_SOURCE_OID", "ARTIFICIAL", - "PHASE_OF_MATTER", "UNITS", "SUM_COMMODITY_FLOW", "SHAPE@"]) \ - as insert_cursor: - insert_cursor.insertRow([row1[0], row1[1], row1[2], row1[3], row1[4], row1[5], row1[6]]) - # If it isn't pipeline just pass the data through. - else: - with arcpy.da.InsertCursor("optimized_route_segments_split_tmp", - ["NET_SOURCE_NAME", "NET_SOURCE_OID", "ARTIFICIAL", - "PHASE_OF_MATTER", "UNITS", "SUM_COMMODITY_FLOW", "SHAPE@"])\ - as insert_cursor: - insert_cursor.insertRow([row1[0], row1[1], row1[2], row1[3], row1[4], row1[5], row1[6]]) - - # Now that pipeline segment dictionary is built, get the pipeline segments in there as well - for master_oid, net_source_name, phase_of_matter, units, shape in tariff_segment_dict: - commodity_flow = tariff_segment_dict[master_oid, net_source_name, phase_of_matter, units, shape] - with arcpy.da.InsertCursor("optimized_route_segments_split_tmp", - ["NET_SOURCE_NAME", "NET_SOURCE_OID", "ARTIFICIAL", - "PHASE_OF_MATTER", "UNITS", "SUM_COMMODITY_FLOW", "SHAPE@"]) \ - as insert_cursor: - insert_cursor.insertRow([net_source_name, master_oid, 0, phase_of_matter, units, commodity_flow, - shape]) - # No need for dissolve because dictionaries have already summed flows - arcpy.Copy_management("optimized_route_segments_split_tmp", "optimized_route_segments_dissolved_tmp2") + ["NET_SOURCE_NAME", "NET_SOURCE_OID", "ARTIFICIAL", "PHASE_OF_MATTER", "UNITS"], \ + [['COMMODITY_FLOW','SUM']], "SINGLE_PART", "DISSOLVE_LINES") + + # Second dissolve needed to accurately show aggregate pipeline flows + arcpy.FeatureToLine_management("optimized_route_segments_dissolved_tmp", "optimized_route_segments_split_tmp") + + arcpy.AddGeometryAttributes_management("optimized_route_segments_split_tmp", "LINE_START_MID_END") + + arcpy.Dissolve_management("optimized_route_segments_split_tmp", "optimized_route_segments_dissolved_tmp2", \ + ["NET_SOURCE_NAME", "Shape_Length", "MID_X", "MID_Y", "ARTIFICIAL", "PHASE_OF_MATTER", "UNITS"], \ + [["SUM_COMMODITY_FLOW", "SUM"]], "SINGLE_PART", "DISSOLVE_LINES") + + arcpy.AddField_management(in_table="optimized_route_segments_dissolved_tmp2", field_name="SUM_COMMODITY_FLOW", \ + field_type="DOUBLE", field_precision="", field_scale="", field_length="", field_alias="", \ + field_is_nullable="NULLABLE", field_is_required="NON_REQUIRED", field_domain="") + arcpy.CalculateField_management(in_table="optimized_route_segments_dissolved_tmp2", field="SUM_COMMODITY_FLOW",\ + expression="!SUM_SUM_COMMODITY_FLOW!", expression_type="PYTHON_9.3", code_block="") + arcpy.DeleteField_management(in_table="optimized_route_segments_dissolved_tmp2", drop_field="SUM_SUM_COMMODITY_FLOW") + arcpy.DeleteField_management(in_table="optimized_route_segments_dissolved_tmp2", drop_field="MID_X") + arcpy.DeleteField_management(in_table="optimized_route_segments_dissolved_tmp2", drop_field="MID_Y") # Sort for mapping order - arcpy.AddField_management("optimized_route_segments_dissolved_tmp2", "SORT_FIELD", "SHORT") - arcpy.MakeFeatureLayer_management("optimized_route_segments_dissolved_tmp2", "dissolved_segments_lyr") - arcpy.SelectLayerByAttribute_management("dissolved_segments_lyr", "NEW_SELECTION", "NET_SOURCE_NAME = 'road'") - arcpy.CalculateField_management("dissolved_segments_lyr", "SORT_FIELD", 1, "PYTHON_9.3") - arcpy.SelectLayerByAttribute_management("dissolved_segments_lyr", "NEW_SELECTION", "NET_SOURCE_NAME = 'rail'") - arcpy.CalculateField_management("dissolved_segments_lyr", "SORT_FIELD", 2, "PYTHON_9.3") - arcpy.SelectLayerByAttribute_management("dissolved_segments_lyr", "NEW_SELECTION", "NET_SOURCE_NAME = 'water'") - arcpy.CalculateField_management("dissolved_segments_lyr", "SORT_FIELD", 3, "PYTHON_9.3") - arcpy.SelectLayerByAttribute_management("dissolved_segments_lyr", "NEW_SELECTION", - "NET_SOURCE_NAME LIKE 'pipeline%'") - arcpy.CalculateField_management("dissolved_segments_lyr", "SORT_FIELD", 4, "PYTHON_9.3") - - arcpy.Sort_management("optimized_route_segments_dissolved_tmp2", "optimized_route_segments_dissolved", - [["SORT_FIELD", "ASCENDING"]]) - - # Delete temp fc's + arcpy.AddField_management(in_table="optimized_route_segments_dissolved_tmp2", field_name="SORT_FIELD", \ + field_type="SHORT") + arcpy.MakeFeatureLayer_management ("optimized_route_segments_dissolved_tmp2", "dissolved_segments_lyr") + arcpy.SelectLayerByAttribute_management(in_layer_or_view="dissolved_segments_lyr", selection_type="NEW_SELECTION", where_clause="NET_SOURCE_NAME = 'road'") + arcpy.CalculateField_management(in_table="dissolved_segments_lyr", field="SORT_FIELD",\ + expression=1, expression_type="PYTHON_9.3") + arcpy.SelectLayerByAttribute_management(in_layer_or_view="dissolved_segments_lyr", selection_type="NEW_SELECTION", where_clause="NET_SOURCE_NAME = 'rail'") + arcpy.CalculateField_management(in_table="dissolved_segments_lyr", field="SORT_FIELD",\ + expression=2, expression_type="PYTHON_9.3") + arcpy.SelectLayerByAttribute_management(in_layer_or_view="dissolved_segments_lyr", selection_type="NEW_SELECTION", where_clause="NET_SOURCE_NAME = 'water'") + arcpy.CalculateField_management(in_table="dissolved_segments_lyr", field="SORT_FIELD",\ + expression=3, expression_type="PYTHON_9.3") + arcpy.SelectLayerByAttribute_management(in_layer_or_view="dissolved_segments_lyr", selection_type="NEW_SELECTION", where_clause="NET_SOURCE_NAME LIKE 'pipeline%'") + arcpy.CalculateField_management(in_table="dissolved_segments_lyr", field="SORT_FIELD",\ + expression=4, expression_type="PYTHON_9.3") + + + arcpy.Sort_management("optimized_route_segments_dissolved_tmp2", "optimized_route_segments_dissolved", [["SORT_FIELD", "ASCENDING"]]) + + #Delete temp fc's arcpy.Delete_management("optimized_route_segments_dissolved_tmp") arcpy.Delete_management("optimized_route_segments_split_tmp") arcpy.Delete_management("optimized_route_segments_dissolved_tmp2") else: - arcpy.CreateFeatureclass_management(the_scenario.main_gdb, "optimized_route_segments_dissolved", + arcpy.CreateFeatureclass_management(the_scenario.main_gdb, "optimized_route_segments_dissolved", \ "POLYLINE", "#", "DISABLED", "DISABLED", ftot_supporting_gis.LCC_PROJ, "#", "0", "0", "0") @@ -1473,4 +1441,6 @@ def dissolve_optimal_route_segments_feature_class_for_mapping(the_scenario, logg arcpy.AddField_management("optimized_route_segments_dissolved", "PHASE_OF_MATTER", "TEXT") arcpy.AddField_management("optimized_route_segments_dissolved", "SUM_COMMODITY_FLOW", "DOUBLE") + arcpy.Delete_management("segments_lyr") + diff --git a/program/ftot_processor.py b/program/ftot_processor.py index 76f034d..0c25efd 100644 --- a/program/ftot_processor.py +++ b/program/ftot_processor.py @@ -15,7 +15,6 @@ import ftot_supporting_gis import pdb from ftot_facilities import get_commodity_id -from ftot_facilities import get_schedule_id from ftot_pulp import parse_optimal_solution_db from ftot import Q_ @@ -41,8 +40,7 @@ def clean_candidate_processor_tables(the_scenario, logger): min_max_size_units text, cost_formula numeric, cost_formula_units text, - min_aggregation numeric, - schedule_id integer + min_aggregation numeric ); @@ -127,8 +125,7 @@ def populate_candidate_process_commodities(the_scenario, candidate_process_commo commodity_max_transport_dist = 'Null' io = commodity[6] shared_max_transport_distance = 'N' - # empty string for facility type and schedule id because fields are not used - commodity_data = ['', commodity_name, commodity_quantity, commodity_unit, commodity_phase, commodity_max_transport_dist, io, shared_max_transport_distance, ''] + commodity_data = ['', commodity_name, commodity_quantity, commodity_unit, commodity_phase, commodity_max_transport_dist, io, shared_max_transport_distance] # get commodity_id. (adds commodity if it doesn't exist) commodity_id = get_commodity_id(the_scenario, db_con, commodity_data, logger) @@ -142,21 +139,6 @@ def populate_candidate_process_commodities(the_scenario, candidate_process_commo db_con.commit() -# ------------------------------------------------------------------------------ - - -def create_commodity_id_name_dict(the_scenario, logger): - logger.debug("start: create_commodity_id_name_dict") - commodity_id_name_dict = {} - with sqlite3.connect(the_scenario.main_db) as db_con: - sql = "select commodity_name, commodity_id from commodities;" - db_cur = db_con.execute(sql) - data = db_cur.fetchall() - for row in data: - commodity_id_name_dict[row[0]] = row[1] - logger.debug("returning {} commodity id/name records".format(len(commodity_id_name_dict))) - return commodity_id_name_dict - # ------------------------------------------------------------------------------ @@ -166,63 +148,58 @@ def populate_candidate_process_list_table(the_scenario, candidate_process_list, candidate_process_list_data = [] + for process in candidate_process_list: + min_size = '' + min_size_units = '' + max_size = '' + max_size_units = '' + cost_formula = '' + cost_formula_units = '' + min_aggregation = '' + min_aggregation_units = '' + process_name = process + + for process_property in candidate_process_list[process]: + if 'minsize' == process_property[0]: + min_size = process_property[1] + min_size_units = str(process_property[2]) + if 'maxsize' == process_property[0]: + max_size = process_property[1] + max_size_units = str(process_property[2]) + if 'cost_formula' == process_property[0]: + cost_formula = process_property[1] + cost_formula_units = str(process_property[2]) + if 'min_aggregation' == process_property[0]: + min_aggregation = process_property[1] + min_aggregation_units = str(process_property[2]) + + # do some checks to make sure things aren't weird. + # ------------------------------------------------- + if max_size_units != min_size_units: + logger.warning("the units for the max_size and min_size candidate process do not match!") + if max_size_units != min_aggregation_units: + logger.warning("the units for the max_size and min_aggregation candidate process do not match!") + if min_size == '': + logger.warning("the min_size is set to Null") + if max_size == '': + logger.warning("the max_size is set to Null") + if min_aggregation == '': + logger.warning("the min_aggregation was not specified by csv and has been set to 1/4 min_size") + min_aggregation = float(min_size)/4 + if cost_formula == '': + logger.warning("the cost_formula is set to Null") + if cost_formula_units == '': + logger.warning("the cost_formula_units is set to Null") + + # otherwise, build up a list to add to the sql database. + candidate_process_list_data.append( + [process_name, min_size, max_size, max_size_units, cost_formula, cost_formula_units, min_aggregation]) + + # now do an execute many on the lists for the segments and route_segments table with sqlite3.connect(the_scenario.main_db) as db_con: - for process in candidate_process_list: - min_size = '' - min_size_units = '' - max_size = '' - max_size_units = '' - cost_formula = '' - cost_formula_units = '' - min_aggregation = '' - min_aggregation_units = '' - schedule_name = '' - process_name = process - - for process_property in candidate_process_list[process]: - if 'schedule_name' == process_property[0]: - schedule_name = process_property[1] - schedule_id = get_schedule_id(the_scenario, db_con, schedule_name, logger) - if 'minsize' == process_property[0]: - min_size = process_property[1] - min_size_units = str(process_property[2]) - if 'maxsize' == process_property[0]: - max_size = process_property[1] - max_size_units = str(process_property[2]) - if 'cost_formula' == process_property[0]: - cost_formula = process_property[1] - cost_formula_units = str(process_property[2]) - if 'min_aggregation' == process_property[0]: - min_aggregation = process_property[1] - min_aggregation_units = str(process_property[2]) - - # do some checks to make sure things aren't weird. - # ------------------------------------------------- - if max_size_units != min_size_units: - logger.warning("the units for the max_size and min_size candidate process do not match!") - if max_size_units != min_aggregation_units: - logger.warning("the units for the max_size and min_aggregation candidate process do not match!") - if min_size == '': - logger.warning("the min_size is set to Null") - if max_size == '': - logger.warning("the max_size is set to Null") - if min_aggregation == '': - logger.warning("the min_aggregation was not specified by csv and has been set to 1/4 min_size") - min_aggregation = float(min_size)/4 - if cost_formula == '': - logger.warning("the cost_formula is set to Null") - if cost_formula_units == '': - logger.warning("the cost_formula_units is set to Null") - - # otherwise, build up a list to add to the sql database. - candidate_process_list_data.append( - [process_name, min_size, max_size, max_size_units, cost_formula, cost_formula_units, min_aggregation, schedule_id]) - - # now do an execute many on the lists for the segments and route_segments table - sql = "insert into candidate_process_list " \ "(process_name, minsize, maxsize, min_max_size_units, cost_formula, cost_formula_units, " \ - "min_aggregation, schedule_id) values (?, ?, ?, ?, ?, ?, ?, ?);" + "min_aggregation) values (?, ?, ?, ?, ?, ?, ?);" db_con.executemany(sql, candidate_process_list_data) db_con.commit() @@ -263,7 +240,6 @@ def get_candidate_process_data(the_scenario, logger): units = str(row[3]) phase_of_matter = row[4] io = row[6] - schedule_name = row[-1] # store the input and output commodities # in the candidate_process_commodities (CPC) list . @@ -276,8 +252,6 @@ def get_candidate_process_data(the_scenario, logger): else: if facility_name not in candidate_process_list.keys(): candidate_process_list[facility_name] = [] - # add schedule name to the candidate_process_list array for the facility - candidate_process_list[facility_name].append(["schedule_name", schedule_name]) if commodity_name == 'maxsize': candidate_process_list[facility_name].append(["maxsize", quantity, units]) @@ -389,6 +363,8 @@ def get_candidate_processor_slate_output_ratios(the_scenario, logger): def processor_candidates(the_scenario, logger): + # 12/22/18 - new processor candidates code based on the FTOTv5 + # candidate generation tables generated at the end of the first optimization step # ----------------------------------------------------------------------------- logger.info("start: generate_processor_candidates") @@ -417,12 +393,10 @@ def processor_candidates(the_scenario, logger): xy.shape_y shape_y, cpl.process_name || '_' || cn.node_id facility_name, cpl.process_id process_id, - cpl.schedule_id schedule_id, - sn.schedule_name schedule_name, cpc.commodity_name commodity_name, cpc.commodity_id commodity_id, - cpl.maxsize quantity, - cpl.min_max_size_units units, + cn.'agg_value:1' as quantity, + cpc.units units, cpc.io io, c.phase_of_matter phase_of_matter from candidate_nodes cn @@ -430,13 +404,10 @@ def processor_candidates(the_scenario, logger): join candidate_process_list cpl on cpl.process_id = cn.process_id join networkx_nodes xy on cn.node_id = xy.node_id join commodities c on c.commodity_id = cpc.commodity_id - join schedule_names sn on sn.schedule_id = cpl.schedule_id group by xy.shape_x, xy.shape_y, facility_name, cpl.process_id, - cpl.schedule_id, - sn.schedule_name, cpc.commodity_name, cpc.commodity_id, quantity, @@ -448,6 +419,8 @@ def processor_candidates(the_scenario, logger): # generate the product slates for the candidate locations # first get a dictionary of output commodity scalars per unit of input + # output_dict[process_name]['i'].append([commodity_name, Q_(quantity, units)]) + # output_dict[process_name]['o'].append([commodity_name, Q_(quantity, units), phase_of_matter]) output_dict = get_candidate_processor_slate_output_ratios(the_scenario, logger) @@ -455,14 +428,14 @@ def processor_candidates(the_scenario, logger): with open(the_scenario.processor_candidates_commodity_data, 'w') as wf: # write the header line - header_line = "facility_name,facility_type,commodity,value,units,phase_of_matter,io,schedule" + header_line = "facility_name,facility_type,commodity,value,units,phase_of_matter,io" wf.write(str(header_line + "\n")) ## WRITE THE CSV FILE OF THE PROCESSOR CANDIDATES PRODUCT SLATE sql = """ select - facility_name, 'processor', commodity_name, quantity, units, phase_of_matter, io, schedule_name, cpl.process_name + facility_name, 'processor', commodity_name, quantity, units, phase_of_matter, io, cpl.process_name from candidate_processors cp join candidate_process_list cpl on cpl.process_id = cp.process_id ;""" @@ -477,10 +450,10 @@ def processor_candidates(the_scenario, logger): input_units = row[4] phase_of_matter = row[5] io = row[6] - schedule_name = row[7] - process_name = row[8] + process_name = row[7] - wf.write("{},{},{},{},{},{},{},{}\n".format(row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7])) + # logger.info("writing input commodity: {} and demand: {} \t {}".format(row[2], row[3], row[4])) + wf.write("{},{},{},{},{},{},{}\n".format(row[0], row[1], row[2], row[3], row[4], row[5], row[6])) # write the scaled output commodities too # first get the input for the denomenator @@ -519,6 +492,8 @@ def processor_candidates(the_scenario, logger): main_scenario_gdb = the_scenario.main_gdb + ### THIS IS WERE WE CHANGE THE CODE ### + ### DO A NEW SQL QUERY TO GROUP BY FACILITY_NAME AND GET THE SHAPE_X, SHAPE_Y, PROCESS, ETC. with sqlite3.connect(the_scenario.main_db) as main_db_con: sql = """ select shape_x, shape_y, facility_name @@ -544,640 +519,3 @@ def processor_candidates(the_scenario, logger): return - -def generate_bulk_processor_candidates(the_scenario, logger): - logger.info("starting generate_bulk_processor_candidates") - - candidate_location_oids_dict = {} - commodities_max_transport_dist_dict = {} - - # the first routing will flow finished fuels. - # we can back track to the original commodity (or optionally assign a generic feedstock) - # so that we can aggregate feedstocks for candiate facilities locations. - - logger.debug( - "dropping then adding the optimal_feedstock_flows table with the feedstock_as_fuel flows on the route segments") - logger.debug( - "note: this table selects the flow from the first link in the route. this is because pulp sums all flows on " - "the link") - logger.warning( - "this can take a few minutes on the capacitated seattle network... might want to look into optimizing the sql " - "statement for larger runs") - sql1 = "DROP TABLE if exists optimal_feedstock_flows;" - - sql2 = """CREATE INDEX if not exists 'ors_index' ON 'optimal_route_segments' ( - 'scenario_rt_id', - 'rt_variant_id', - 'from_position' - );""" - - sql3 = """ - CREATE TABLE optimal_feedstock_flows as - select - ors.network_source_id as network_source_id, - ors.network_source_oid as network_source_oid, - odp.from_location_id as location_id, - ors.scenario_rt_id as scenario_rt_Id, - ors.rt_variant_id as rt_variant_id, - ors.from_position as from_position, - (select sum(cumm.miles) from optimal_route_segments cumm where (cumm.scenario_rt_id = - ors.scenario_rt_id and cumm.rt_variant_id = ors.rt_variant_id and ors.from_position >= - cumm.from_position )) as cumm_dist, - ors.commodity_name as feedstock_as_fuel_name, - (select orig_flow.commodity_flow from optimal_route_segments orig_flow where ( - orig_flow.scenario_rt_id = ors.scenario_rt_id)) as feedstock_as_fuel_flow , - null as commodity_name, - null as commodity_flow, - cast(null as real) as max_transport_distance, - null as ignore_link - from optimal_route_segments ors - join optimal_route_segments cumm on ( cumm.scenario_rt_id = ors.scenario_rt_id and ors.from_position - >= cumm.from_position ) - - join od_pairs odp on odp.scenario_rt_id = ors.scenario_rt_id - group by ors.scenario_rt_id, ors.rt_variant_id, ors.from_position - order by ors.scenario_rt_id, ors.rt_variant_id, ors.from_position - ;""" - - with sqlite3.connect(the_scenario.main_db) as db_con: - logger.debug("drop the optimal_feedstock_flows table") - db_con.execute(sql1) # drop the table - logger.debug("create the index on optimal_route_segments") - db_con.execute(sql2) # create the index on optimal_route_segments - logger.debug("create the optimal_feedstock_flows table and add the records") - db_con.execute(sql3) # create the table and add the records - - # now set the appropriate feedstock and quantities. - # then sum the flows by commodity - # then query the table for flows greater than the facility size but within - # the raw material transport distance - - logger.debug("creating a list of fuel ratios by location_id to scale the feedstock_as_fuel flows") - sql = """ - -- this is the code for selecting the rmps and rmps_as_proc facilities - -- along with the commodity quanities to get the ratio of feedstock - -- to feedstock as fuel - - select f.facility_name, fti.facility_type, c.commodity_name, c.max_transport_distance, fc.location_id, - fc.quantity, fc.units - from facility_commodities fc - join facilities f on f.facility_id = fc.facility_id - join commodities c on c.commodity_id = fc.commodity_id - join facility_type_id fti on fti.facility_type_id = f.facility_type_id - where fti.facility_type like 'raw_material_producer' - order by fc.location_id - ;""" - - with sqlite3.connect(the_scenario.main_db) as db_con: - db_cur = db_con.cursor() - db_cur.execute(sql) - - # iterate through the db and build the ratios - fuel_ratios = {} - for row in db_cur: - facility_name = row[0] - facility_type = row[1] - commodity_name = row[2] - max_transport_distance = row[3] - location_id = row[4] - quantity = row[5] - units = row[6] - if not location_id in fuel_ratios.keys(): - fuel_ratios[location_id] = [] - fuel_ratios[location_id].append(0) # one feedstock - fuel_ratios[location_id].append([]) # many feedstocks-as-fuel - - if not "_as_proc" in facility_name: - fuel_ratios[location_id][0] = ([commodity_name, Q_(quantity, units), max_transport_distance]) - else: - # this is the feedstock-as-fuel value - fuel_ratios[location_id][1].append([commodity_name, Q_(quantity, units)]) - - # now iterate through the table we just created to make a list of - # updated fields for a bulk update execute many - logger.debug("interating through the list of feedstock_as_fuel to generate the update_list for the execute many") - update_list = [] - sql = """ - select scenario_rt_id, rt_variant_id, location_id, feedstock_as_fuel_name, feedstock_as_fuel_flow - from optimal_feedstock_flows - """ - with sqlite3.connect(the_scenario.main_db) as db_con: - db_cur = db_con.cursor() - db_cur.execute(sql) - - # iterate through the db and build the ratios - for row in db_cur: - scenario_rt_id = row[0] - rt_variant_id = row[1] - location_id = row[2] - feedstock_as_fuel_name = row[3] - feedstock_as_fuel_flow = row[4] - - # now look up what feedstock came from that rmp_as_proc - feedstock_name = fuel_ratios[location_id][0][0] - feedstock_quant_and_units = fuel_ratios[location_id][0][1] - max_transport_distance = fuel_ratios[location_id][0][2] - - # iterate through the feedstock_as_fuels to scale the right records - for feedstock_as_fuel in fuel_ratios[location_id][1]: - ratio_feedstock_as_fuel_name = feedstock_as_fuel[0] - feedstock_as_fuel_quant_and_units = feedstock_as_fuel[1] - - if feedstock_as_fuel_name == ratio_feedstock_as_fuel_name: - # this is the commodity we want to scale: - feedstock_fuel_quant = float(feedstock_as_fuel_flow) * ( - feedstock_quant_and_units / feedstock_as_fuel_quant_and_units).magnitude - update_list.append( - [str(feedstock_name), str(feedstock_fuel_quant), float(max_transport_distance), scenario_rt_id, - rt_variant_id, location_id, float(max_transport_distance)]) - - logger.debug("starting the execute many to update the list of feedstocks and scaled quantities from the RMPs") - with sqlite3.connect(the_scenario.main_db) as db_con: - update_sql = """ - UPDATE optimal_feedstock_flows - set commodity_name = ?, commodity_flow = ?, max_transport_distance = ? - where scenario_rt_id = ? and rt_variant_id = ? and location_id = ? and cumm_dist <= ? - ;""" - db_con.executemany(update_sql, update_list) - db_con.commit() - - - sql = """drop table if exists candidates_aggregated_feedstock_flows;""" - db_con.execute(sql) - - sql = """create table candidates_aggregated_feedstock_flows as - select - ors.network_source_id as network_source_id, - ors.network_source_oid as network_source_oid, - commodity_name, - sum(commodity_flow) as cumm_comm_flow - from optimal_feedstock_flows ors - where ors.commodity_flow > 0 - group by ors.network_source_id, ors.network_source_oid, commodity_name; """ - db_con.execute(sql) - - # get the commodity name and quantity at each link that has flow - # >= minsize, and <= maxsize for that commodity - # store them in a dictionary keyed off the source_id - # need to match that to a product slate and scale the facility size - logger.info("opening a csv file") - with open(the_scenario.processor_candidates_commodity_data, 'w') as wf: - - # write the header line - header_line = "facility_name,facility_type,commodity,value,units,phase_of_matter,io" - wf.write(str(header_line + "\n")) - - candidate_location_oids_dict = {} - with sqlite3.connect(the_scenario.main_db) as db_con: - sql = """ - -- this query pulls the aggregated flows by commodity within - -- it joins in candidate processor information for that commodity - -- as specified in the facility_commodities table such as: - -- min_size, max_size, and process_type - -- note: that by convention the facility_name specified by the user - -- in the processor_candidate_slate.csv file is used to define the - -- process type. e.g. "candidate_hefa" - - select - caff.network_source_id, - caff.network_source_oid, - c.commodity_id, - caff.commodity_name, - caff.cumm_comm_flow, - c.units, - c.phase_of_matter, - f.facility_name process_type, - maxsize.quantity as max_size, - minsize.quantity as min_size - from candidates_aggregated_feedstock_flows caff - join commodities c on c.commodity_name = caff.commodity_name - join facility_commodities maxsize on maxsize.commodity_id = (select c2.commodity_id from commodities - c2 where c2.commodity_name = "maxsize") - join facility_commodities minsize on minsize.commodity_id = (select c3.commodity_id from commodities - c3 where c3.commodity_name = "minsize") - join facilities f on f.facility_id = minsize.facility_id - where caff.cumm_comm_flow < max_size and caff.cumm_comm_flow > min_size - ;""" - - db_cur = db_con.execute(sql) - - # key the candidate_location_oids_dict off the source_name, and the source_oid - # and append a list of feedstocks and flows for that link - i = 0 # counter to give the facilities unique names in the csv file - for row in db_cur: - i += 1 # increment the candidate generation index - network_source = row[0] - net_source_oid = row[1] - commodity_name = row[3] - commodity_flow = row[4] - commodity_units = row[5] - phase_of_matter = row[6] - processor_type = row[7] - - commodity_quantity_with_units = Q_(commodity_flow, commodity_units) - - ## WRITE THE CSV FILE OF THE PROCESSOR CANDIDATES PRODUCT SLATE - - # write the inputs from the crop object - facility_name = "{}_{}_{}".format(processor_type, commodity_name, i) - facility_type = "processor" - # phase of matter - io = "i" - logger.info("writing input commodity: {} and demand: {} \t {}".format(facility_name, commodity_flow, - commodity_units)) - wf.write("{},{},{},{},{},{},{}\n".format(facility_name, facility_type, commodity_name, commodity_flow, - commodity_units, phase_of_matter, io)) - - # write the outputs from the fuel_dict - # first get a dictionary of output commodities based on the amount of feedstock available. - # if the user specifies a processor_candidate_slate_data file - # use that to convert feedstock flows to scaled processor outputs - if the_scenario.processors_candidate_slate_data != 'None': - output_dict = ftot_supporting.make_rmp_as_proc_slate(the_scenario, commodity_name, - commodity_quantity_with_units, logger) - # otherwise try AFPAT - else: - # estimate max fuel from that commodity - max_conversion_process = "" - # values and gets the lowest kg/bbl of total fuel conversion rate (== max biomass -> fuel - # efficiency) - max_conversion_process = \ - ftot_supporting.get_max_fuel_conversion_process_for_commodity(commodity_name, the_scenario, - logger)[ - 0] - - output_dict = get_processor_slate(commodity_name, commodity_quantity_with_units, - max_conversion_process, the_scenario, logger) - - # write the outputs from the fuel_dict. - for ouput_commodity, values in output_dict.iteritems(): - logger.info("processing commodity: {} quantity: {}".format(ouput_commodity, values[0])) - commodity = ouput_commodity - quantity = values[0] - value = quantity.magnitude - units = quantity.units - phase_of_matter = values[1] - io = "o" - - logger.info("writing outputs for: {} and commodity: {} \t {}".format(facility_name, value, units)) - wf.write("{},{},{},{},{},{},{}\n".format(facility_name, facility_type, commodity, value, units, - phase_of_matter, io)) - - # add the mode to the dictionary and initialize as empty dict - if network_source not in candidate_location_oids_dict.keys(): - candidate_location_oids_dict[network_source] = {} - - # add the network link to the dict and initialize as empty list - if not net_source_oid in candidate_location_oids_dict[network_source].keys(): - candidate_location_oids_dict[network_source][net_source_oid] = [] - - # prepare the candidate_location_oids_dict with all the information - # to "set" the candidate processors in the GIS. - candidate_location_oids_dict[network_source][net_source_oid].append([ \ - facility_name, # need this to match the CSV we just wrote - 0, - commodity_flow, - facility_name.replace("candidate_", ""), - "", # no secondary processing for now - "", # no tertiary processing for now - "", # feedstock_type - "", # source_category - commodity_name # feedstock_source; input commodity - ]) - # --------------------------------------------------------------------------------------------- - - logger.info( - "create a feature class with all the candidate processor locations: all_candidate_processors_at_segments") - scenario_gdb = the_scenario.main_gdb - all_candidate_processors_fc = os.path.join(scenario_gdb, "all_candidate_processors") - - if arcpy.Exists(all_candidate_processors_fc): - arcpy.Delete_management(all_candidate_processors_fc) - logger.debug("deleted existing {} layer".format(all_candidate_processors_fc)) - - arcpy.CreateFeatureclass_management(scenario_gdb, "all_candidate_processors", "POINT", "#", "DISABLED", "DISABLED", - ftot_supporting_gis.LCC_PROJ) - - # add fields and set capacity and prefunded fields. - # --------------------------------------------------------------------- - arcpy.AddField_management(all_candidate_processors_fc, "facility_name", "TEXT") - arcpy.AddField_management(all_candidate_processors_fc, "Prefunded", "SHORT") - arcpy.AddField_management(all_candidate_processors_fc, "Capacity", "DOUBLE") - arcpy.AddField_management(all_candidate_processors_fc, "Primary_Processing_Type", "TEXT") - arcpy.AddField_management(all_candidate_processors_fc, "Secondary_Processing_Type", "TEXT") - arcpy.AddField_management(all_candidate_processors_fc, "Tertiary_Processing_Type", "TEXT") - arcpy.AddField_management(all_candidate_processors_fc, "Feedstock_Type", "TEXT") - arcpy.AddField_management(all_candidate_processors_fc, "Source_Category", "TEXT") - arcpy.AddField_management(all_candidate_processors_fc, "Feedstock_Source", "TEXT") - fields = ("SHAPE@X", "SHAPE@Y", "facility_name", "Prefunded", "Capacity", "Primary_Processing_Type", - "Secondary_Processing_Type", "Tertiary_Processing_Type", "Feedstock_Type", "Source_Category", - "Feedstock_Source") - icursor = arcpy.da.InsertCursor(all_candidate_processors_fc, fields) - - main_scenario_gdb = the_scenario.main_gdb - - for source_name in candidate_location_oids_dict: - with arcpy.da.SearchCursor(os.path.join(main_scenario_gdb, source_name), ["OBJECTID", "SHAPE@"]) as cursor: - - for row in cursor: - - if row[0] in candidate_location_oids_dict[source_name]: - # might need to giggle the locations here? - for candidate in candidate_location_oids_dict[source_name][row[0]]: - facility_name = candidate[0] - prefunded = candidate[1] - commodity_flow = candidate[2] - facility_type = candidate[3] - sec_proc_type = candidate[4] - tert_proc_type = candidate[5] - feedstock_type = candidate[6] - source_category = candidate[7] - commodity_name = candidate[8] - # off-set the candidates from each other - point = row[1].firstPoint - shape_x = point.X - shape_y = point.Y - offset_x = random.randrange(100, 250, 25) - offset_y = random.randrange(100, 250, 25) - shape_x += offset_x - shape_y += offset_y - - icursor.insertRow([ \ - shape_x, - shape_y, - facility_name, - prefunded, - commodity_flow, - facility_type, - sec_proc_type, - tert_proc_type, - feedstock_type, - source_category, - commodity_name \ - ]) - - del icursor - - # - - return -# ============================================================================== -def make_flat_locationxy_flow_dict(the_scenario, logger): - # gets the optimal flow for all time periods for each xy by commodity - - logger.info("starting make_processor_candidates_db") - - # Parse the Problem for the Optimal Solution - # returns the following structure: - # [optimal_processors, optimal_route_flows, optimal_unmet_demand, optimal_storage_flows, optimal_excess_material] - optimal_route_flows = parse_optimal_solution_db(the_scenario, logger)[1] - optimal_location_id_flow = {} - optimal_commodity_max_transport_dist_list = {} - - # get location_XYs from location_ids in main.db so we can save in a format thats useful to the route_cache - # xy_location_id_dict[location_id] = (x,y) - from ftot_routing import get_xy_location_id_dict - xy_location_id_dict = get_xy_location_id_dict(the_scenario, logger) - - # flatten the optimal_route_flows by time period - # ------------------------------------------------- - for route_id, optimal_data_list in optimal_route_flows.iteritems(): - for data in optimal_data_list: - # break out the data: - # e.g optimal_route_flows[5633] : ['275, 189', 1, u'2', 63.791322], ['275, 189', 2, u'2', 63.791322]] - location_id_pair = data[0] - commodity_id = data[2] - optimal_flow = data[3] - - # keep track of which commodities are optimal - if not commodity_id in optimal_commodity_max_transport_dist_list: - optimal_commodity_max_transport_dist_list[commodity_id] = 0 - - # convert the location_id to a location_xy - from_location_xy = xy_location_id_dict[location_id_pair.split(',')[0]] - to_location_xy = xy_location_id_dict[location_id_pair.split(', ')[1]] # note the extraspace - location_xy_pair = "[{},{}]".format(from_location_xy, to_location_xy) - - if not location_xy_pair in optimal_location_id_flow: - optimal_location_id_flow[location_xy_pair] = {} - if not commodity_id in location_xy_pair[location_id_pair]: - optimal_location_id_flow[location_xy_pair][commodity_id] = optimal_flow - - optimal_location_id_flow[location_xy_pair][commodity_id] += optimal_flow - - -# =============================================================================== -def get_commodity_max_transport_dist_list(the_scenario, logger): - # need commodities maximum transport distance from the main.db - # ------------------------------------------------------------- - - optimal_commodity_max_transport_dist_list = [] - scenario_db = the_scenario.main_db - with sqlite3.connect(scenario_db) as db_con: - logger.info("connected to the db") - sql = "select commodity_id, commodity_name, max_transportation_distance from commodities" - db_cur = db_con.execute(sql) - - for row in db_cur: - commodity_id = row[0] - commodity_name = row[1] - max_trans_dist = row[2] - - print "found optimal commodity: {} (id: {}) has max raw trans distance: {}".format(commodity_name, - commodity_id, - max_trans_dist) - optimal_commodity_max_transport_dist_list[commodity_id] = max_trans_dist - - return optimal_commodity_max_transport_dist_list - - -# =============================================================================== - - -# ============================================================================== -def assign_state_names_and_offset_processors(the_scenario, processor_canidates_fc, logger): - # Assign state names to the processors, e.g., "ND1" - # --------------------------------------------------------------- - logger.info("Starting - Assign state names to the processors") - - scenario_gdb = the_scenario.main_gdb - temp_join_output = os.path.join(scenario_gdb, "temp_state_name_and_candidates_join") - - stateFC = os.path.join(the_scenario.common_data_folder, "base_layers\state.shp") - - if arcpy.Exists(temp_join_output): - logger.debug("Deleting existing temp_join_output {}".format(temp_join_output)) - arcpy.Delete_management(temp_join_output) - - arcpy.CalculateField_management(processor_canidates_fc, "facility_name", "!OBJECTID!", "PYTHON_9.3") - arcpy.SpatialJoin_analysis(processor_canidates_fc, stateFC, temp_join_output, "JOIN_ONE_TO_ONE", "KEEP_ALL", "", - "WITHIN") - logger.info("spatial join of all candidates with state FIPS.") - - initial_counter = 1 - processor_state_dict = {} - state_processor_counter_dict = {} - logger.info("iterating through the processors in each state and incrementing the name...e.g B:FL1, B:FL2, etc") - - with arcpy.da.SearchCursor(temp_join_output, ["facility_name", "STFIPS"]) as cursor: - - for row in cursor: - - state_fips = row[1] - state_abb = ftot_supporting_gis.get_state_abb_from_state_fips(state_fips) - - if state_abb not in state_processor_counter_dict: - state_processor_counter_dict[state_abb] = initial_counter - else: - state_processor_counter_dict[state_abb] += 1 - - processor_state_dict[row[0]] = str(state_abb).replace(" ", "") + str( - state_processor_counter_dict[state_abb]) - - # the processor_state_dict is all we needed from that temp join FC - # so now we can delete it. - arcpy.Delete_management(temp_join_output) - logger.debug("deleted temp_join_output {} layer".format(temp_join_output)) - - # Offset processor candidate locations from the network - # --------------------------------------------------------------- - - logger.info("Offset processor candidates from the network") - - logger.debug("Iterating through the processor_candidates_fc and updating the names and offsetting the locations.") - with arcpy.da.UpdateCursor(processor_canidates_fc, ["facility_name", "SHAPE@X", "SHAPE@Y"]) as cursor: - - for row in cursor: - - if row[0] in processor_state_dict: - row[0] = row[0] + str(processor_state_dict[row[0]]) - row[1] += 100 - row[2] += 100 - cursor.updateRow(row) - - return - -# ======================================================================== - -def get_processor_fc_summary_statistics(the_scenario, candidates_fc, logger): - logger.info("starting: get_processor_fc_summary_statistics") - # set gdb - scenario_gdb = the_scenario.main_gdb - - processor_fc = candidates_fc - # --------------------------------------------------------------------------------- - - # clean up the table if it exists in the db - logger.debug("clean up the processor_candidates table if it exists") - main_db = the_scenario.main_db - - with sqlite3.connect(main_db) as db_con: - sql = "DROP TABLE IF EXISTS processor_candidates;" - db_con.execute(sql) - - # create an empty table with the processor candidate information - sql = """CREATE TABLE processor_candidates(facility_name TEXT, SHAPE_X TEXT, SHAPE_Y TEXT, - CAPACITY TEXT, PREFUNDED TEXT, IDW_Weighting TEXT, - Feedstock_Type TEXT, Source_Category TEXT, Feedstock_Source TEXT, - Primary_Processing_Type TEXT, Secondary_Processing_Type TEXT, Tertiary_Processing_Type TEXT);""" - db_con.execute(sql) - - query = "ignore IS NULL" # not interested in facilities that get ignored - fields = ["facility_name", "SHAPE@X", "SHAPE@Y", - "CAPACITY", "PREFUNDED", "IDW_Weighting", - "Feedstock_Type", "Source_Category", "Feedstock_Source", - "Primary_Processing_Type", "Secondary_Processing_Type", "Tertiary_Processing_Type"] - with sqlite3.connect(main_db) as db_con: - with arcpy.da.SearchCursor(processor_fc, fields, where_clause=query) as scursor: - for row in scursor: - sql = """insert into processor_candidates - (facility_name, SHAPE_X, SHAPE_Y, - CAPACITY, PREFUNDED, IDW_Weighting, - Feedstock_Type, Source_Category, Feedstock_Source, - Primary_Processing_Type, Secondary_Processing_Type, Tertiary_Processing_Type) - VALUES ('{}', '{}', '{}', - '{}', '{}', '{}', - '{}', '{}', '{}', - '{}', '{}', '{}') - ;""".format(row[0], row[1], row[2], - row[3], row[4], row[5], - row[6], row[7], row[8], - row[9], row[10], row[11]) - db_con.execute(sql) - - ###### OLD PROCESSOR FC SUMMARY STATISTICS ************ ########### - - # Create output table - candidate_processor_summary_by_processing_type_table = os.path.join(scenario_gdb, - "candidate_processor_summary_by_processing_type") - candidate_processor_summary_by_feedstock_type_table = os.path.join(scenario_gdb, - "candidate_processor_summary_by_feedstock_type") - - if arcpy.Exists(candidate_processor_summary_by_processing_type_table): - arcpy.Delete_management(candidate_processor_summary_by_processing_type_table) - logger.debug("deleted existing {} layer".format(candidate_processor_summary_by_processing_type_table)) - - if arcpy.Exists(candidate_processor_summary_by_feedstock_type_table): - arcpy.Delete_management(candidate_processor_summary_by_feedstock_type_table) - logger.debug("deleted existing {} layer".format(candidate_processor_summary_by_feedstock_type_table)) - - # Summary Statistics on those fields - logger.info("starting: Statistics_analysis for candidate_processor_summary_by_processing_type_table") - arcpy.Statistics_analysis(in_table=processor_fc, out_table=candidate_processor_summary_by_processing_type_table, - statistics_fields="ignore SUM; CAPACITY SUM; IDW_Weighting MEAN; Prefunded SUM", - case_field="Primary_Processing_Type") - - logger.info("starting: Statistics_analysis for candidate_processor_summary_by_feedstock_type_table") - arcpy.Statistics_analysis(in_table=processor_fc, out_table=candidate_processor_summary_by_feedstock_type_table, - statistics_fields="ignore SUM; CAPACITY SUM; IDW_Weighting MEAN; Prefunded SUM", - case_field="Feedstock_Type") - - summary_dict = {} - - for table in ["candidate_processor_summary_by_processing_type", "candidate_processor_summary_by_feedstock_type"]: - - full_path_to_table = os.path.join(scenario_gdb, table) - - with arcpy.da.SearchCursor(full_path_to_table, "*") as search_cursor: # * accesses all fields in searchCursor - - for row in search_cursor: - - if row[1] is not None: - - table_short_name = table.replace("candidate_processor_summary_by_", "") - - if table_short_name not in summary_dict.keys(): - summary_dict[table_short_name] = {} - - summary_field = row[1].upper() - - summary_dict[table_short_name][summary_field] = {} - summary_dict[table_short_name][summary_field]["frequency"] = row[2] - summary_dict[table_short_name][summary_field]["ignore"] = row[3] - - summary_dict[table_short_name][summary_field]["Sum_Capacity"] = row[4] - summary_dict[table_short_name][summary_field]["Avg_IDW_Weighting"] = row[5] - - summary_dict[table_short_name][summary_field]["Prefunded"] = row[6] - - for table_key in sorted(summary_dict.keys()): - - table_dict = summary_dict[table_key] - - for summary_field_key in sorted(table_dict.keys()): - - summary_field_dict = table_dict[summary_field_key] - - for metric_key in sorted(summary_field_dict.keys()): - - metric_sum = summary_field_dict[metric_key] - - if metric_sum is None: - - metric_sum = 0 # sometimes summary statistics hands back null values which can't be cast as a - # float. - - logger.result('{}_{}_{}: \t{:,.1f}'.format(table_key.upper(), summary_field_key.upper(), metric_key, - float(metric_sum))) - - logger.info("finished: get_processor_fc_summary_statistics") \ No newline at end of file diff --git a/program/ftot_pulp.py b/program/ftot_pulp.py index 969cdd1..b391344 100644 --- a/program/ftot_pulp.py +++ b/program/ftot_pulp.py @@ -13,6 +13,7 @@ import pdb import re import sqlite3 +import numpy as np from collections import defaultdict from pulp import * @@ -40,6 +41,32 @@ default_min_capacity = 0 +#=============load parameters from newly developed Python files====================== +# Load earthquake scenario matrix +#earthquake_scenario = np.load("earthquake_scenario.npy") + +# Load edge capacity index +edge_cap = np.load("edge_cap.npy") +# load bridge damage state index +bridge_DS = np.load("bridge_DS.npy") +# load facility capacity index +facility_cap = np.load("facility_cap.npy") +# load facility damage state index +facility_DS = np.load("facility_DS.npy") +# load repair cost array: +repair_costs = np.load("repair_costs.npy") +# load reair time array: +repair_time_facility = np.load("repair_time_facility.npy") +repair_time_edge = np.load("repair_time_edge.npy") +# =================================================================================================== + +operation_parameter = 50 # unit:$/ton +year = 365 +t = 12 +i = 1 +j = 25 +#============================================ + def o1(the_scenario, logger): # create vertices, then edges for permitted modes, then set volume & capacity on edges pre_setup_pulp(logger, the_scenario) @@ -48,67 +75,91 @@ def o1(the_scenario, logger): def o2(the_scenario, logger): # create variables, problem to optimize, and constraints prob = setup_pulp_problem(the_scenario, logger) - prob = solve_pulp_problem(prob, the_scenario, logger) - save_pulp_solution(the_scenario, prob, logger) - record_pulp_solution(the_scenario, logger) - from ftot_supporting import post_optimization - post_optimization(the_scenario, 'o2', logger) + pickle_prob(prob, "constrained_prob.p", the_scenario, logger) + loaded_prob = load_pickled_prob("constrained_prob.p", the_scenario, logger) + loaded_prob = solve_pulp_problem(loaded_prob, the_scenario, logger) + save_pulp_solution(the_scenario, loaded_prob, logger) + from ftot_supporting import post_optimization_64_bit + post_optimization_64_bit(the_scenario, 'o2', logger) + + +def o2b(the_scenario,logger): + loaded_prob = load_pickled_prob("constrained_prob.p", the_scenario, logger) + loaded_prob = solve_pulp_problem(loaded_prob, the_scenario, logger) + save_pulp_solution(the_scenario, loaded_prob, logger) +def oc2b(the_scenario, logger): + import ftot_pulp_candidate_generation + loaded_prob = load_pickled_prob("constrained_candidate_prob.p", the_scenario, logger) + loaded_prob = reload_objective_function(the_scenario, logger) + loaded_prob = ftot_pulp_candidate_generation.solve_pulp_problem(loaded_prob, the_scenario, logger) + ftot_pulp_candidate_generation.save_pulp_solution(the_scenario, loaded_prob, logger) + # helper function that reads in schedule data and returns dict of Schedule objects -def generate_schedules(the_scenario, logger): - logger.debug("start: generate_schedules") - default_availabilities = {} - day_availabilities = {} - last_day = 1 +def create_schedules_from_input(schedule_data, logger): + logger.debug("start: create_schedules_from_input") - with sqlite3.connect(the_scenario.main_db) as main_db_con: - db_cur = main_db_con.cursor() + from xtot_objects import Schedule + import os # amy added this + if not os.path.exists(schedule_data): + logger.warning("warning: cannot find schedule file: {}".format(schedule_data)) + return {'default': default_sched} # return dict with global value of default schedule - schedule_data = db_cur.execute(""" - select schedule_id, - day, - availability + # create temp dict to store non-default days of a schedule + day_availabilities = {} - from schedules""") + # create temp dict to store default values for a schedule + default_values = {} - schedule_data = schedule_data.fetchall() - for row_a in schedule_data: - schedule_id = row_a[0] - day = row_a[1] - availability = float(row_a[2]) + # read through schedule CSV + with open(schedule_data, 'r') as rf: + line_num = 1 - if day == 0: # denotes the default value - default_availabilities[schedule_id] = availability - elif schedule_id in day_availabilities.keys(): - day_availabilities[schedule_id][day] = availability - else: - day_availabilities[schedule_id] = {day: availability} # initialize sub-dic - # last_day is the greatest day specified across ALL schedules to avoid mismatch of length - if day > last_day: - last_day = day + for line in rf: + + if line_num > 1: + flds = line.rstrip('\n').split(',') + schedule_name = flds[0] + day = int(flds[1]) # cast day to an int to determine max day/schedule length + availability = flds[2] + if day == 0: # denotes the default value + default_values[schedule_name] = availability + elif schedule_name in day_availabilities.keys(): + day_availabilities[schedule_name][day] = availability + else: + day_availabilities[schedule_name] = {day: availability} # initialize sub-dict + line_num += 1 # make dictionary to store schedule objects schedule_dict = {} # after reading in csv, parse data into dictionary object - for schedule_id in default_availabilities.keys(): - # initialize list of length - schedule_dict[schedule_id] = [default_availabilities[schedule_id] for i in range(last_day)] - # change different days to actual availability instead of the default values - # schedule_id may not be in day_availabilities if schedule has default value on all days - if schedule_id in day_availabilities.keys(): - for day in day_availabilities[schedule_id].keys(): - # schedule_dict[schedule - schedule_dict[schedule_id][day-1] = day_availabilities[schedule_id][day] - + for schedule_name in day_availabilities.keys(): + first_day = 1 + last_day = max(day_availabilities[schedule_name].keys()) # max value of days in schedule + if schedule_name in default_values: + default_availability = default_values[schedule_name] + else: + default_availability = '1' + logger.info("No default value for schedule: " + schedule_name) + logger.info("Setting default value to 1.") + schedule_availabilities = ['0'] + schedule_availabilities.extend([default_availability for i in range(last_day)]) + # now change different days to actual availability instead of the default values + for day in day_availabilities[schedule_name].keys(): + schedule_availabilities[day] = day_availabilities[schedule_name][day] + # lastly, create Schedule object and add to dictionary + schedule_dict[schedule_name] = Schedule(first_day, last_day, schedule_availabilities) + + # amy debugging for key in schedule_dict.keys(): - logger.debug("schedule name: " + str(key)) + logger.debug("schedule name: " + key) logger.debug("availability: ") logger.debug(schedule_dict[key]) - logger.debug("finished: generate_schedules") + logger.debug("finished: create_schedules_from_input") - return schedule_dict, last_day + return schedule_dict def commodity_mode_setup(the_scenario, logger): @@ -128,6 +179,11 @@ def make_commodity_mode_dict(the_scenario, logger): for line in rf: if line_num == 1: modes = line.rstrip('\n').split(',') + # # make a dict mapping col index to mode name + # mode_index = {} + # for i in range(len(modes)): + # # mode name will point to index of that mode in the csv + # mode_index[modes[i]] = i else: flds = line.rstrip('\n').split(',') commodity_name = flds[0] @@ -325,6 +381,9 @@ def source_tracking_setup(the_scenario, logger): ; """ ) + # source_commodity_ref only has commodities that can flow out of a facility + # for example, commodities that only exist in a candidate process, not processor, are excluded + # does include entries even if there's no max transport distance, has a flag for that return @@ -332,9 +391,24 @@ def source_tracking_setup(the_scenario, logger): # =============================================================================== -def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): +def generate_all_vertices(the_scenario, logger): + + + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== + + logger.info("START: generate_all_vertices table") + total_potential_production = {} multi_commodity_name = "multicommodity" @@ -342,7 +416,6 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): with sqlite3.connect(the_scenario.main_db) as main_db_con: - logger.debug("create the vertices table") # create the vertices table main_db_con.executescript(""" drop table if exists vertices @@ -359,7 +432,6 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): ;""") # create indexes for the networkx nodes and links tables - logger.info("create an index for the networkx nodes and links tables") main_db_con.executescript(""" CREATE INDEX IF NOT EXISTS node_index ON networkx_nodes (node_id, location_id) ; @@ -371,6 +443,31 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): ; """) + # create the schedules table + main_db_con.execute(""" + create table if not exists schedules ( + schedule_id INTEGER PRIMARY KEY, + schedule_name text, + default_value integer, + full_schedule text, + total_days integer) + ; + """) + + # create default schedules + main_db_con.execute(""" + -- noinspection SqlResolve + + INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}') + ;""".format('default_schedule', 1, 2, 'default_schedule')) + + main_db_con.execute("""INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}') + ;""".format('default_1_day_schedule', 1, 1, 'default_1_day_schedule')) + # -------------------------------- db_cur = main_db_con.cursor() @@ -392,8 +489,7 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): facility_type, facility_name, location_id, - f.facility_type_id, - schedule_id + f.facility_type_id from facilities f, facility_type_id ft where ignore_facility = '{}' @@ -408,7 +504,6 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): facility_name = row_a[2] facility_location_id = row_a[3] facility_type_id = row_a[4] - schedule_id = row_a[5] if counter % 10000 == 1: logger.info("vertices created for {} facilities of {}".format(counter, total_facilities)) for row_d in db_cur4.execute("select count(distinct vertex_id) from vertices;"): @@ -418,6 +513,12 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): if facility_type == "processor": # actual processors - will deal with endcaps in edges section + # each processor facility should have 1 input commodity with 1 storage vertex, 1 or more output + # commodities each with 1 storage vertex, and 1 primary processing vertex replicate by time, + # create primary vertex, replicate by commodity to create storage vertices; can also create primary + # vertex for input commodity do this for each subcommodity now instead of each commodity aggregate + # subcommodities at primary processor vertex + # create processor vertices for any commodities that do not inherit max transport distance proc_data = db_cur2.execute("""select fc.commodity_id, ifnull(fc.quantity, 0), @@ -440,7 +541,15 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): for row_b in proc_data: commodity_id = row_b[0] - quantity = row_b[1] + if float(facility_id) in facility_cap[:,1,1]: + if j < repair_time_facility[float(facility_id)][t+1][i]: + quantity = facility_cap[float(facility_id)][t+1][i]*row_b[1] + else: + quantity = (1+0.015*max(t-4,0))*row_b[1] + else: + quantity = (1+0.015*max(t-4,0))*row_b[1] + # units = row_b[2] + # commodity_supertype = row_b[3] io = row_b[4] id_for_mult_commodities = row_b[5] commodity_name = row_b[6] @@ -451,13 +560,13 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): stop_day = default_sched.last_day availability = default_sched.availability # vertices for generic demand type, or any subtype specified by the destination - for day_before, availability in enumerate(schedule_dict[schedule_id]): + while day <= stop_day: if io == 'i': main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, - '{}' );""".format(facility_location_id, facility_id, facility_type_id, facility_name, day_before+1, - id_for_mult_commodities, availability, primary, + '{}' );""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + id_for_mult_commodities, availability[day], primary, new_source_facility_id, 'b')) main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, @@ -465,7 +574,7 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): storage_vertex, demand, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, - day_before+1, commodity_id, storage_availability, storage, quantity, + day, commodity_id, storage_availability, storage, quantity, source_facility_id, io)) else: @@ -474,10 +583,12 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, supply, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, {}, '{}');""".format( - facility_location_id, facility_id, facility_type_id, facility_name, day_before+1, + facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, storage_availability, storage, quantity, source_facility_id, io)) + day = day + 1 - + # for RMPSs specifically, source_facility_id must match facility_id; could do that conditionally within sql + # if we bring storage facilities back (12-2018), we would want them split by source_facility elif facility_type == "raw_material_producer": rmp_data = db_cur.execute("""select fc.commodity_id, fc.quantity, fc.units, ifnull(s.source_facility_id, 0), io @@ -492,7 +603,14 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): for row_b in rmp_data: commodity_id = row_b[0] - quantity = row_b[1] + if float(facility_id) in facility_cap[:,1,1]: + if j < repair_time_facility[float(facility_id)][t+1][i]: + quantity = facility_cap[float(facility_id)][t+1][i]*row_b[1] + else: + quantity = (1-0.01*t)*row_b[1] + else: + quantity = (1-0.01*t)*row_b[1] + # units = row_b[2] source_facility_id = row_b[3] iob = row_b[4] @@ -501,26 +619,33 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): total_potential_production[commodity_id] = total_potential_production[commodity_id] + quantity else: total_potential_production[commodity_id] = quantity + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability - for day_before, availability in enumerate(schedule_dict[schedule_id]): + while day <= stop_day: main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, supply, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, - {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day_before+1, - commodity_id, availability, primary, quantity, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, availability[day], primary, quantity, source_facility_id, iob)) main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, supply, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, - {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day_before+1, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, storage_availability, storage, quantity, source_facility_id, iob)) + day = day + 1 elif facility_type == "storage": # storage facility + # handle as such, exploding by time and commodity + # print type(f.commodity_slate) + # print type(f.commodity_slate.AllAllowedCommodities()) storage_fac_data = db_cur.execute("""select fc.commodity_id, fc.quantity, @@ -536,18 +661,24 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): for row_b in storage_fac_data: commodity_id = row_b[0] + # quantity = row_b[1] + # units = row_b[2] source_facility_id = row_b[3] # 0 if not source-tracked iob = row_b[4] - for day_before in range(schedule_length): + day = default_sched.first_day + stop_day = default_sched.last_day + # availability = default_sched.availability + while day <= stop_day: main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, storage_vertex, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, - {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day_before+1, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, storage, source_facility_id, iob)) + day = day + 1 elif facility_type == "ultimate_destination": @@ -569,22 +700,34 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): for row_b in dest_data: commodity_id = row_b[0] - quantity = row_b[1] + if float(facility_id) in facility_cap[:,1,1]: + if j < repair_time_facility[float(facility_id)][t+1][i]: + quantity = facility_cap[float(facility_id)][t+1][i]*row_b[1] + else: + quantity = row_b[1] + else: + quantity = row_b[1] + # units = row_b[2] + # commodity_id = row_b[3] commodity_supertype = row_b[4] source_facility_id = row_b[5] iob = row_b[6] zero_source_facility_id = 0 # material merges at primary vertex + # this is where the alternate schedule for destination demand can be set + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability # vertices for generic demand type, or any subtype specified by the destination - for day_before, availability in enumerate(schedule_dict[schedule_id]): + while day <= stop_day and quantity > 0: main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, demand, udp, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, {}, - {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day_before+1, - commodity_id, availability, primary, quantity, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, availability[day], primary, quantity, the_scenario.unMetDemandPenalty, zero_source_facility_id, iob)) main_db_con.execute("""insert or ignore into vertices ( @@ -592,9 +735,10 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): activity_level, storage_vertex, demand, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, - {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day_before+1, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, storage_availability, storage, quantity, source_facility_id, iob)) + day = day + 1 # vertices for other fuel subtypes that match the destination's supertype # if the subtype is in the commodity table, it is produced by some facility in the scenario db_cur3 = main_db_con.cursor() @@ -602,7 +746,7 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): where supertype = '{}';""".format(commodity_supertype)): new_commodity_id = row_c[0] # new_units = row_c[1] - for day_before, availability in schedule_dict[schedule_id]: + while day <= stop_day: main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, demand, udp, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, @@ -618,8 +762,10 @@ def generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger): source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, - day_before+1, new_commodity_id, storage_availability, storage, quantity, + day, new_commodity_id, storage_availability, storage, quantity, source_facility_id, iob)) + day = day + 1 + else: logger.warning( @@ -809,7 +955,17 @@ def generate_connector_and_storage_edges(the_scenario, logger): # =============================================================================== -def generate_first_edges_from_source_facilities(the_scenario, schedule_length, logger): +def generate_first_edges_from_source_facilities(the_scenario, logger): + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== logger.info("START: generate_first_edges_from_source_facilities") # create edges table @@ -825,8 +981,32 @@ def generate_first_edges_from_source_facilities(the_scenario, schedule_length, l edges_requiring_children = 0 counter = 0 + # for row in ("select commodity_id from commodities where commodity_name = '{}'; + # """.format(multi_commodity_name)): + # id_for_mult_commodities = row[0] + # for row in db_cur.execute("select count(*) from networkx_edges;"): + # total_transport_routes = row[0] # create transport edges, only between storage vertices and nodes, based on networkx graph + # never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + # iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + # should also be per day, subject to nx edge schedule + # before creating an edge, check: commodity allowed by nx and max transport distance if not null + # will need nodes per day and commodity? or can I just check that with constraints? + # select data for transport edges + # ****1**** Only edges coming from RMP/source storage vertices + # ** ONLY FOR COMMODITIES WITH A MAX TRANSPORT DISTANCE + # set distance travelled to miles of edges; set indicator for newly created edges to 'N' + # edge_count_from_source = 1 + # ****2**** only nx_edges coming from entries in edges (check connector nodes) + # set distance travelling to miles of new endge plus existing input edge; set indicator for processed edges in + # edges to 'Y' + # only create new edge if distance travelled is less than allowed + # repeat 2 while there are 'N' edges, for transport edges only + # count loops + # this is now per-vertex - rework it to not all be done in loop, but in sql block + # connector and storage edges can be done exactly as before, in fact need to be done first, + # now in separate method commodity_mode_data = main_db_con.execute("select * from commodity_mode;") commodity_mode_data = commodity_mode_data.fetchall() @@ -918,6 +1098,7 @@ def generate_first_edges_from_source_facilities(the_scenario, schedule_length, l miles_travelled = previous_miles_travelled + miles if counter % 10000 == 0: + # logger.info("edges created for {} transport links of {}".format(counter, total_transport_routes)) for row_d in db_cur.execute("select count(distinct edge_id) from edges;"): logger.info('{} edges created'.format(row_d[0])) counter = counter + 1 @@ -943,9 +1124,8 @@ def generate_first_edges_from_source_facilities(the_scenario, schedule_length, l # for all days (restrict by link schedule if called for) # for all allowed commodities, as currently defined by link phase of matter - # days range from 1 to schedule_length - if origin_day in range(1, schedule_length+1): - if origin_day + fixed_route_duration <= schedule_length: + if origin_day in range(default_sched.first_day, default_sched.last_day + 1): + if origin_day + fixed_route_duration <= default_sched.last_day: # if link is traversable in the timeframe if simple_mode != 'pipeline' or tariff_id >= 0: # for allowed commodities @@ -1023,6 +1203,7 @@ def generate_first_edges_from_source_facilities(the_scenario, schedule_length, l group by children_created;"""): if row[1] == 'N': edges_requiring_children = row[0] + # logger.info('{} transport edges that need children'.format(row[0])) elif row[1] == 'Y': logger.info('{} transport edges that have already been checked for children'.format(row[0])) @@ -1036,13 +1217,24 @@ def generate_first_edges_from_source_facilities(the_scenario, schedule_length, l # =============================================================================== -def generate_all_edges_from_source_facilities(the_scenario, schedule_length, logger): +def generate_all_edges_from_source_facilities(the_scenario, logger): # method only runs for commodities with a max commodity constraint + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== logger.info("START: generate_all_edges_from_source_facilities") multi_commodity_name = "multicommodity" # initializations - all of these get updated if >0 edges exist + # transport_edges_created = 0 edges_requiring_children = 0 endcap_edges = 0 edges_resolved = 0 @@ -1098,6 +1290,11 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log logger.info( '{} transport edges created; {} require children'.format(transport_edges_created, edges_requiring_children)) + # for row in ("select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): + # id_for_mult_commodities = row[0] + # for row in db_cur.execute("select count(*) from networkx_edges;"): + # total_transport_routes = row[0] + # set up a table to keep track of endcap nodes sql = """ drop table if exists endcap_nodes; @@ -1122,6 +1319,20 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log db_cur.executescript(sql) # create transport edges, only between storage vertices and nodes, based on networkx graph + # never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + # iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + # should also be per day, subject to nx edge schedule + # before creating an edge, check: commodity allowed by nx and max transport distance if not null + # will need nodes per day and commodity? or can I just check that with constraints? + # select data for transport edges + # ****1**** Only edges coming from RMP/source storage vertices + # set distance travelled to miles of edges; set indicator for newly created edges to 'N' + # edge_count_from_source = 1 + # ****2**** only nx_edges coming from entries in edges (check connector nodes) + # set distance travelling to miles of new endge plus existing input edge; + # set indicator for processed edges in edges to 'Y' + # only create new edge if distance travelled is less than allowed + # repeat 2 while there are 'N' edges, for transport edges only edge_into_facility_counter = 0 while_count = 0 @@ -1208,8 +1419,13 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log # if we're trying to add an edge that has an entry in route_data, new miles travelled must be less potential_edge_data = potential_edge_data.fetchall() + # logger.info("potential_edge_data.fetchall() completed") + # pdb.set_trace() main_db_con.execute("update edges set children_created = 'Y' where children_created = 'N';") + # this deliberately includes updating "parent" edges that did not get chosen because they weren't the + # current shortest path those edges are still "resolved" by this batch logger.info( + # "edges.children_created updated to 'Y' for set about to be addressed") for row_a in potential_edge_data: nx_edge_id = row_a[0] @@ -1222,6 +1438,8 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log to_node = row_a[7] dollar_cost = row_a[8] miles = row_a[9] + # max_daily_capacity = row_a[10] + # artificial = row_a[11] mode_oid = row_a[12] commodity_id = row_a[13] origin_day = row_a[14] @@ -1259,6 +1477,10 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log VALUES ({}, '{}', {}, {}); """.format(from_node, mode, source_facility_id, commodity_id)) + # designate leadin edge as endcap + # this does, deliberately, allow endcap status to be + # overwritten if we've found a shorter path to a previous endcap + # create new edge elif new_miles_travelled <= max_commodity_travel_distance: @@ -1282,11 +1504,11 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log # we'd be creating an edge for (otherwise wait for the shortest option) # at this step, some leadin edge should always exist - if origin_day in range(1, schedule_length+1): - if origin_day + fixed_route_duration <= schedule_length: + if origin_day in range(default_sched.first_day, default_sched.last_day + 1): + if origin_day + fixed_route_duration <= default_sched.last_day: # if link is traversable in the timeframe if simple_mode != 'pipeline' or tariff_id >= 0: - # for allowed commodities + if from_location == 'NULL' and to_location == 'NULL': # for each day and commodity, @@ -1345,9 +1567,6 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log source_facility_id, new_miles_travelled, 'N', new_edge_count, total_route_cost)) - # designate leadin edge as endcap - # this does, deliberately, allow endcap status to be - # overwritten if we've found a shorter path to a previous endcap elif from_location != 'NULL' and to_location == 'NULL': # for each day and commodity, get the corresponding origin vertex id # to include with the edge info @@ -1471,8 +1690,17 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log # =============================================================================== -def generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_length, logger): - +def generate_all_edges_without_max_commodity_constraint(the_scenario, logger): + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== global total_transport_routes logger.info("START: generate_all_edges_without_max_commodity_constraint") @@ -1549,6 +1777,10 @@ def generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_l mode_oid = row_a[12] simple_mode = row_a[3].partition('_')[0] + # if counter % 10000 == 1: + # logger.info("edges created for {} transport links of {}".format(counter, total_transport_routes)) + # for row_d in db_cur.execute("select count(distinct edge_id) from edges;"): + # logger.info('{} edges created'.format(row_d[0])) counter = counter + 1 tariff_id = 0 @@ -1570,8 +1802,8 @@ def generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_l # for all days (restrict by link schedule if called for) # for all allowed commodities, as currently defined by link phase of matter - for day in range(1, schedule_length+1): - if day + fixed_route_duration <= schedule_length: + for day in range(default_sched.first_day, default_sched.last_day + 1): + if day + fixed_route_duration <= default_sched.last_day: # if link is traversable in the timeframe if simple_mode != 'pipeline' or tariff_id >= 0: # for allowed commodities that can be output by some facility in the scenario @@ -1667,7 +1899,7 @@ def generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_l for row_d in db_cur4.execute("""select vertex_id from vertices v, facility_commodities fc where v.location_id = {} and v.schedule_day = {} - and v.commodity_id = {} and v.source_facility_id = {} + nd v.commodity_id = {} and v.source_facility_id = {} and v.storage_vertex = 1 and v.facility_id = fc.facility_id and v.commodity_id = fc.commodity_id @@ -1807,7 +2039,7 @@ def set_edges_volume_capacity(the_scenario, logger): logger.debug("units and conversion multiplier recorded for all edges; starting capacity minus volume") main_db_con.execute("""update edges set capac_minus_volume_zero_floor = - max((select (max_edge_capacity - ifnull(volume,0)) where max_edge_capacity is not null),0) + 365*max((select (max_edge_capacity - ifnull(volume,0)) where max_edge_capacity is not null),0) where max_edge_capacity is not null ;""") logger.debug("capacity minus volume (minimum set to zero) recorded for all edges") @@ -1825,21 +2057,23 @@ def pre_setup_pulp(logger, the_scenario): # create table to track source facility of commodities with a max transport distance set source_tracking_setup(the_scenario, logger) - schedule_dict, schedule_length = generate_schedules(the_scenario, logger) - - generate_all_vertices(the_scenario, schedule_dict, schedule_length, logger) + generate_all_vertices(the_scenario, logger) add_storage_routes(the_scenario, logger) generate_connector_and_storage_edges(the_scenario, logger) + generate_first_edges_from_source_facilities(the_scenario, logger) + + # replicate all_routes by commodity and time into all_edges dictionary + generate_all_edges_from_source_facilities(the_scenario, logger) # commented out 4-16 # start edges for commodities that inherit max transport distance - generate_first_edges_from_source_facilities(the_scenario, schedule_length, logger) + generate_first_edges_from_source_facilities(the_scenario, logger) # replicate all_routes by commodity and time into all_edges dictionary - generate_all_edges_from_source_facilities(the_scenario, schedule_length, logger) + generate_all_edges_from_source_facilities(the_scenario, logger) # replicate all_routes by commodity and time into all_edges dictionary - generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_length, logger) + generate_all_edges_without_max_commodity_constraint(the_scenario, logger) # commented out 4-16 logger.info("Edges generated for modes: {}".format(the_scenario.permittedModes)) set_edges_volume_capacity(the_scenario, logger) @@ -1875,8 +2109,10 @@ def create_flow_vars(the_scenario, logger): # running just with nodes for now, will add proper facility info and storage back soon edge_list.append((row[0])) + logger.debug("MNP DEBUG: start assign flow_var with edge_list") flow_var = LpVariable.dicts("Edge", edge_list, 0, None) + logger.debug("MNP DEBUG: Size of flow_var: {:,.0f}".format(sys.getsizeof(flow_var))) return flow_var @@ -1904,7 +2140,7 @@ def create_unmet_demand_vars(the_scenario, logger): # facility_id, day, and simplified commodity name demand_var_list.append((row[0], row[1], row[2], row[3])) - unmet_demand_var = LpVariable.dicts("UnmetDemand", demand_var_list, 0, None) + unmet_demand_var = LpVariable.dicts("UnmetDemand", demand_var_list, None, None) return unmet_demand_var @@ -1980,26 +2216,77 @@ def create_processor_excess_output_vars(the_scenario, logger): # =============================================================================== - def create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, processor_build_vars): logger.debug("START: create_opt_problem") prob = LpProblem("Flow assignment", LpMinimize) + logger.debug("MNP: DEBUG: length of unmet_demand_vars: {}".format(len(unmet_demand_vars))) + logger.debug("MNP: DEBUG: length of flow_vars: {}".format(len(flow_vars))) + logger.debug("MNP: DEBUG: length of processor_build_vars: {}".format(len(processor_build_vars))) + unmet_demand_costs = [] flow_costs = {} processor_build_costs = [] + operation_cost = [] + non_operation_cost = [] + + logger.debug("MNP: DEBUG: start loop through sql to append unmet_demand_costs") for u in unmet_demand_vars: # facility_id = u[0] # schedule_day = u[1] # demand_commodity_name = u[2] udp = u[3] unmet_demand_costs.append(udp * unmet_demand_vars[u]) + non_operation_cost.append(operation_parameter * unmet_demand_vars[u]) + logger.debug("MNP: DEBUG: finished loop through sql to append unmet_demand_costs. total records: {}".format( + len(unmet_demand_costs))) + #===================newly added part for operation cost calculation=========================== + with sqlite3.connect(the_scenario.main_db) as main_db_con: db_cur = main_db_con.cursor() + sql = """select fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + from facility_commodities fc, facility_type_id ft, facilities f, vertices v + where ft.facility_type = 'processor' + and ft.facility_type_id = f.facility_type_id + and f.facility_id = fc.facility_id + and fc.io = 'i' + and v.facility_id = f.facility_id + and v.storage_vertex = 0 + group by fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + ; + """ + # iterate through processor facilities, one constraint per facility per day + # different copies by subcommodity, summed for constraint as long as same day + + processor_facilities = db_cur.execute(sql) + + processor_facilities = processor_facilities.fetchall() + + for row_a in processor_facilities: + + # input_commodity_id = row_a[0] + facility_id = row_a[1] + is_candidate = row_a[2] + quantity = (1+0.015*max((t-4),0))*year*row_a[3] + day = row_a[4] + activity_level = row_a[5] + + operation_cost.append(operation_parameter * quantity * activity_level) + + +#=======================end=============================================================== + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + logger.debug("MNP: DEBUG: start sql execute to get flow cost data") # Flow cost memory improvements: only get needed data; dict instead of list; narrow in lpsum flow_cost_var = db_cur.execute("select edge_id, edge_flow_cost from edges e group by edge_id;") + logger.debug("MNP DEBUG: start the fetchall") flow_cost_data = flow_cost_var.fetchall() + logger.debug("MNP DEBUG: start iterating through {:,.0f} flow_cost_data records".format(len(flow_cost_data))) counter = 0 for row in flow_cost_data: edge_id = row[0] @@ -2009,6 +2296,8 @@ def create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, proce # flow costs cover transportation and storage flow_costs[edge_id] = edge_flow_cost # flow_costs.append(edge_flow_cost * flow_vars[(edge_id)]) + logger.debug("MNP: DEBUG: finished loop through sql to append flow costs: total records: {:,.0f}".format( + len(flow_costs))) logger.info("check if candidate tables exist") sql = "SELECT name FROM sqlite_master WHERE type='table' " \ @@ -2017,6 +2306,7 @@ def create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, proce if count == 2: + logger.debug("MNP: DEBUG: start execute sql for processor build costs") processor_build_cost = db_cur.execute(""" select f.facility_id, (p.cost_formula*c.quantity) build_cost from facilities f, facility_type_id ft, candidate_processors c, candidate_process_list p @@ -2027,15 +2317,22 @@ def create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, proce and f.facility_name = c.facility_name and c.process_id = p.process_id group by f.facility_id, build_cost;""") + logger.debug("MNP: DEBUG: start the fetchall ") processor_build_cost_data = processor_build_cost.fetchall() + logger.debug("MNP DEBUG: start iterating through the {} processor_build_cost records".format( + len(processor_build_cost_data))) for row in processor_build_cost_data: candidate_proc_facility_id = row[0] proc_facility_build_cost = row[1] processor_build_costs.append( proc_facility_build_cost * processor_build_vars[candidate_proc_facility_id]) + logger.debug("MNP: DEBUG: start loop through sql to append processor build costs. Total Records: {}".format( + len(processor_build_costs))) + logger.debug("MNP: debug: start prob+= unmet_demand_costs + flow cost + processor_build_costs + operation_cost") prob += (lpSum(unmet_demand_costs) + lpSum(flow_costs[k] * flow_vars[k] for k in flow_costs) + lpSum( - processor_build_costs)), "Total Cost of Transport, storage, facility building, and penalties" + processor_build_costs)+ lpSum(operation_cost) - lpSum(non_operation_cost)), "Total Cost of Transport, storage, facility building, operation and penalties" + logger.debug("MNP debug: done prob+= unmet_demand_costs + flow cost + processor_build_costs + operation_cost") logger.debug("FINISHED: create_opt_problem") return prob @@ -2052,6 +2349,7 @@ def create_constraint_unmet_demand(logger, the_scenario, prob, flow_var, unmet_d with sqlite3.connect(the_scenario.main_db) as main_db_con: # var has form(facility_name, day, simple_fuel) # unmet demand commodity should be simple_fuel = supertype + logger.debug("MNP: DEBUG: length of unmet_demand_vars: {}".format(len(unmet_demand_var))) demand_met_dict = defaultdict(list) actual_demand_dict = {} @@ -2345,7 +2643,14 @@ def create_primary_processor_vertex_constraints(logger, the_scenario, prob, flow # mode = row_a[4] edge_id = row_a[5] # nx_edge_id = row_a[6] - quantity = float(row_a[7]) + if float(vertex_id) in facility_cap[:,1,1]: + if j < repair_time_facility[float(facility_id)][t+1][i]: + quantity = facility_cap[float(facility_id)][t+1][i]*row_a[7] + else: + quantity = (1+0.015*max((t-4),0))*year*row_a[7] + else: + quantity = (1+0.015*max((t-4),0))*year*row_a[7] + # facility_id = row_a[8] # commodity_name = row_a[9] # fc_io_commodity = row_a[10] @@ -2609,6 +2914,7 @@ def create_constraint_conservation_of_flow(logger, the_scenario, prob, flow_var, "total conservation of flow constraints created on nodes: {}".format(storage_vertex_constraint_counter)) logger.info("conservation of flow, nx_nodes:") + # for each day, get all edges in and out of the node. # Sort edges by commodity and whether they're going in or out of the node sql = """select nn.node_id, @@ -2857,7 +3163,16 @@ def create_constraint_max_route_capacity(logger, the_scenario, prob, flow_var): elif phase_of_matter == 'solid': multiplier = the_scenario.railcar_load_solid.magnitude - converted_capacity = use_capacity * multiplier + if float(edge_id) in edge_cap[:,1,1]: + if j < repair_time_edge[float(edge_id)][t+1][i]: + capacity_reduction_index = edge_cap[float(edge_id)][t+1][i] + else: + capacity_reduction_index = 1 + else: + capacity_reduction_index = 1 + + + converted_capacity = use_capacity * multiplier * capacity_reduction_index flow_lists.setdefault((nx_edge_id, converted_capacity, start_day), []).append(flow_var[edge_id]) @@ -2979,8 +3294,10 @@ def setup_pulp_problem(the_scenario, logger): # ================================================== prob = create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, processor_build_vars) + logger.debug("MNP DEBUG: size of prob: {}".format(sys.getsizeof(prob))) prob = create_constraint_unmet_demand(logger, the_scenario, prob, flow_vars, unmet_demand_vars) + logger.debug("MNP DEBUG: size of prob: {}".format(sys.getsizeof(prob))) prob = create_constraint_max_flow_out_of_supply_vertex(logger, the_scenario, prob, flow_vars) @@ -2994,9 +3311,9 @@ def setup_pulp_problem(the_scenario, logger): prob = create_constraint_conservation_of_flow(logger, the_scenario, prob, flow_vars, processor_excess_vars) if the_scenario.capacityOn: - prob = create_constraint_max_route_capacity(logger, the_scenario, prob, flow_vars) + prob = create_constraint_max_route_capacity(logger, the_scenario, prob, flow_vars) - prob = create_constraint_pipeline_capacity(logger, the_scenario, prob, flow_vars) + prob = create_constraint_pipeline_capacity(logger, the_scenario, prob, flow_vars) del unmet_demand_vars @@ -3057,9 +3374,35 @@ def solve_pulp_problem(prob_final, the_scenario, logger): # =============================================================================== -def save_pulp_solution(the_scenario, prob, logger, zero_threshold=0.00001): + +def pickle_prob(input_prob, save_file_name,the_scenario, logger): + logger.info("START: pickle_prob") + # save_file_name should be .p type, ex. "constrained_prob.p" + import cPickle as pickle + + pickle.dump(input_prob, open(os.path.join(the_scenario.scenario_run_directory, "debug", save_file_name), "wb"), protocol=2) + + return + + +# =============================================================================== + + +def load_pickled_prob(save_file_name,the_scenario, logger): + logger.info("START: load_pickled_prob") + # save_file_name should be .p type, ex. "constrained_prob.p" + import cPickle as pickle + + prob = pickle.load(open(os.path.join(the_scenario.scenario_run_directory, "debug", save_file_name), "rb")) + + return prob + + +# =============================================================================== + +def save_pulp_solution(the_scenario, prob, logger): import datetime - start_time = datetime.datetime.now() + logger.info("START: save_pulp_solution") non_zero_variable_count = 0 @@ -3083,55 +3426,12 @@ def save_pulp_solution(the_scenario, prob, logger, zero_threshold=0.00001): # insert the optimal data into the DB # ------------------------------------- for v in prob.variables(): - if v.varValue > zero_threshold: # eliminates values too close to zero + if v.varValue > 0.00001: sql = """insert into optimal_solution (variable_name, variable_value) values ("{}", {});""".format( v.name, float(v.varValue)) db_con.execute(sql) non_zero_variable_count = non_zero_variable_count + 1 - # query the optimal_solution table in the DB for each variable we care about - # ---------------------------------------------------------------------------- - sql = "select count(variable_name) from optimal_solution where variable_name like 'BuildProcessor%';" - data = db_con.execute(sql) - optimal_processors_count = data.fetchone()[0] - logger.info("number of optimal_processors: {}".format(optimal_processors_count)) - - sql = "select count(variable_name) from optimal_solution where variable_name like 'UnmetDemand%';" - data = db_con.execute(sql) - optimal_unmet_demand_count = data.fetchone()[0] - logger.info("number facilities with optimal_unmet_demand : {}".format(optimal_unmet_demand_count)) - sql = "select ifnull(sum(variable_value),0) from optimal_solution where variable_name like 'UnmetDemand%';" - data = db_con.execute(sql) - optimal_unmet_demand_sum = data.fetchone()[0] - logger.info("Total Unmet Demand : {}".format(optimal_unmet_demand_sum)) - logger.info("Penalty per unit of Unmet Demand : ${0:,.0f}".format(the_scenario.unMetDemandPenalty)) - logger.info("Total Cost of Unmet Demand : \t ${0:,.0f}".format( - optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty)) - - - sql = "select count(variable_name) from optimal_solution where variable_name like 'Edge%';" - data = db_con.execute(sql) - optimal_edges_count = data.fetchone()[0] - logger.info("number of optimal edges: {}".format(optimal_edges_count)) - - logger.info("Total Cost of building and transporting : \t ${0:,.0f}".format( - float(value(prob.objective)) - optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty)) - logger.info( - "Total Scenario Cost = (transportation + unmet demand penalty + " - "processor construction): \t ${0:,.0f}".format( - float(value(prob.objective)))) - - logger.info( - "FINISH: save_pulp_solution: Runtime (HMS): \t{}".format(ftot_supporting.get_total_runtime_string(start_time))) - -# =============================================================================== - -def record_pulp_solution(the_scenario, logger): - logger.info("START: record_pulp_solution") - non_zero_variable_count = 0 - - with sqlite3.connect(the_scenario.main_db) as db_con: - logger.info("number of solution variables greater than zero: {}".format(non_zero_variable_count)) sql = """ create table optimal_variables as @@ -3239,7 +3539,40 @@ def record_pulp_solution(the_scenario, logger): db_con.execute("drop table if exists optimal_variables;") db_con.execute(sql) - logger.info("FINISH: record_pulp_solution") + # query the optimal_solution table in the DB for each variable we care about + # ---------------------------------------------------------------------------- + sql = "select count(variable_name) from optimal_solution where variable_name like 'BuildProcessor%';" + data = db_con.execute(sql) + optimal_processors_count = data.fetchone()[0] + logger.info("number of optimal_processors: {}".format(optimal_processors_count)) + + sql = "select count(variable_name) from optimal_solution where variable_name like 'UnmetDemand%';" + data = db_con.execute(sql) + optimal_unmet_demand_count = data.fetchone()[0] + logger.info("number facilities with optimal_unmet_demand : {}".format(optimal_unmet_demand_count)) + sql = "select ifnull(sum(variable_value),0) from optimal_solution where variable_name like 'UnmetDemand%';" + data = db_con.execute(sql) + optimal_unmet_demand_sum = data.fetchone()[0] + logger.info("Total Unmet Demand : {}".format(optimal_unmet_demand_sum)) + logger.info("Penalty per unit of Unmet Demand : ${0:,.0f}".format(the_scenario.unMetDemandPenalty)) + logger.info("Repair costs : ${0:,.0f}".format(repair_costs[j][t][i])) + logger.info("Total Cost of Unmet Demand : \t ${0:,.0f}".format( + optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty)) + logger.info("Total Cost of building and transporting and operation : \t ${0:,.0f}".format( + float(value(prob.objective)) - optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty)) + logger.result( + "Total Scenario Cost = (transportation + unmet demand penalty + processor construction + operation + restoration): \t ${0:,.0f}" + "".format(float(value(prob.objective))+ repair_costs[j][t][i])) + + sql = "select count(variable_name) from optimal_solution where variable_name like 'Edge%';" + data = db_con.execute(sql) + optimal_edges_count = data.fetchone()[0] + logger.info("number of optimal edges: {}".format(optimal_edges_count)) + + start_time = datetime.datetime.now() + logger.info( + "FINISH: save_pulp_solution: Runtime (HMS): \t{}".format(ftot_supporting.get_total_runtime_string(start_time))) + # =============================================================================== @@ -3351,3 +3684,21 @@ def parse_optimal_solution_db(the_scenario, logger): return optimal_processors, optimal_route_flows, optimal_unmet_demand, optimal_storage_flows, optimal_excess_material +# =============================================================================== + +# +# def load_lp_problem(the_scenario, logger): +# logger.info("START: load_lp_problem") +# pickle_file = os.path.join(the_scenario.scenario_run_directory, "debug", "final_lp_problem.p") +# reconstituted_lp_file = pickle.load(open(pickle_file, "rb")).copy() +# +# return reconstituted_lp_file +# +# +# # =============================================================================== +# +# +# def persist_lp_problem(the_scenario, prob, logger): +# logger.info("START: persist_lp_problem") +# # pickle the final lp problem object so it can be read back in later +# pickle.dump(prob, open(os.path.join(the_scenario.scenario_run_directory, "debug", "final_lp_problem.p"), "wb")) diff --git a/program/ftot_pulp_candidate_generation.py b/program/ftot_pulp_candidate_generation.py index e8e2ec5..4bfdbba 100644 --- a/program/ftot_pulp_candidate_generation.py +++ b/program/ftot_pulp_candidate_generation.py @@ -49,20 +49,24 @@ def oc2(the_scenario, logger): import ftot_pulp # create variables, problem to optimize, and constraints prob = setup_pulp_problem_candidate_generation(the_scenario, logger) - prob = ftot_pulp.solve_pulp_problem(prob, the_scenario, logger) # imported from ftot_pulp as of 11/19/19 - ftot_pulp.save_pulp_solution(the_scenario, prob, logger, zero_threshold=0.0) # imported from ftot pulp as of 12/03/19 + ftot_pulp.pickle_prob(prob, "constrained_candidate_prob.p", the_scenario, logger) + loaded_prob = ftot_pulp.load_pickled_prob("constrained_candidate_prob.p", the_scenario, logger) + loaded_prob = solve_pulp_problem(loaded_prob, the_scenario, logger) + save_pulp_solution(the_scenario, loaded_prob, logger) def oc3(the_scenario, logger): record_pulp_candidate_gen_solution(the_scenario, logger) - from ftot_supporting import post_optimization - post_optimization(the_scenario, 'oc3', logger) + from ftot_supporting import post_optimization_64_bit + post_optimization_64_bit(the_scenario, 'oc3', logger) # finalize candidate creation and report out from ftot_processor import processor_candidates processor_candidates(the_scenario, logger) def check_max_transport_distance_for_OC_step(the_scenario, logger): + # RE: Issue #74 on Github - check for max transport distance in the OC step + # before building the optimization problem. # -------------------------------------------------------------------------- with sqlite3.connect(the_scenario.main_db) as main_db_con: sql = "SELECT COUNT(*) FROM commodities WHERE max_transport_distance IS NOT NULL;" @@ -183,21 +187,755 @@ def source_as_subcommodity_setup(the_scenario, logger): # =============================================================================== -def schedule_avg_availabilities(the_scenario, schedule_dict, schedule_length, logger): - avg_availabilities = {} +def generate_all_vertices_candidate_gen(the_scenario, logger): + logger.info("START: generate_all_vertices_table for candidate generation step") - for sched_id, sched_array in schedule_dict.items(): - # find average availability over all schedule days - # populate dictionary of one day schedules w/ availability = avg_availability - avg_availability = sum(sched_array)/schedule_length - avg_availabilities[sched_id] = [avg_availability] + total_potential_production = {} + multi_commodity_name = "multicommodity" + + storage_availability = 1 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + main_db_con.execute("drop table if exists vertices;") + logger.debug("create the vertices table") + main_db_con.execute("""create table if not exists vertices ( + vertex_id INTEGER PRIMARY KEY, location_id, + facility_id integer, facility_name text, facility_type_id integer, schedule_day integer, + commodity_id integer, activity_level numeric, storage_vertex binary, + udp numeric, supply numeric, demand numeric, + source_facility_id integer, + iob text, --allows input, output, or both + CONSTRAINT unique_vertex UNIQUE(facility_id, schedule_day, commodity_id, source_facility_id, + storage_vertex));""") + + logger.info("create an index for the networkx nodes and links tables") + main_db_con.execute("CREATE INDEX IF NOT EXISTS node_index ON networkx_nodes (node_id, location_id);") + main_db_con.execute("""create index if not exists nx_edge_index on + networkx_edges(from_node_id, to_node_id, + artificial, mode_source, mode_source_OID, + miles, route_cost_scaling, capacity);""") + + logger.debug("create the schedules table") + main_db_con.execute( + "create table if not exists schedules (schedule_id INTEGER PRIMARY KEY, schedule_name text, default_value " + "integer, full_schedule text, total_days integer);") + + logger.debug("create default full schedule") + main_db_con.execute("""INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}');""".format('default_schedule', + 1, 2, + 'default_schedule')) + main_db_con.execute("""INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}');""".format( + 'default_1_day_schedule', 1, 1, 'default_1_day_schedule')) + + # -------------------------------- + + db_cur = main_db_con.cursor() + db_cur4 = main_db_con.cursor() + counter = 0 + for row in db_cur.execute("select count(distinct facility_id) from facilities;"): + total_facilities = row[0] + + # create vertices for each non-ignored facility facility + # facility_type can be "raw_material_producer", "ultimate_destination","processor"; + # get id from facility_type_id table + # any other facility types are not currently handled + + facility_data = db_cur.execute(""" + select facility_id, + facility_type, + facility_name, + location_id, + f.facility_type_id + + from facilities f, facility_type_id ft + where ignore_facility = '{}' + and f.facility_type_id = ft.facility_type_id; + """.format('false')) + facility_data = facility_data.fetchall() + for row_a in facility_data: + + db_cur2 = main_db_con.cursor() + facility_id = row_a[0] + facility_type = row_a[1] + facility_name = row_a[2] + facility_location_id = row_a[3] + facility_type_id = row_a[4] + if counter % 10000 == 1: + logger.info("vertices created for {} facilities of {}".format(counter, total_facilities)) + for row_d in db_cur4.execute("select count(distinct vertex_id) from vertices;"): + logger.info('{} vertices created'.format(row_d[0])) + counter = counter + 1 + + if facility_type == "processor": + # actual processors - deal with endcaps in edges section + + # each processor facility should have 1 input commodity with 1 storage vertex, 1 or more output + # commodities each with 1 storage vertex, and 1 primary processing vertex + # replicate by time, create primary vertex, replicate by commodity to create storage vertices; can also + # create primary vertex for input commodity + proc_data = db_cur2.execute("""select fc.commodity_id, + ifnull(fc.quantity, 0), + fc.units, + ifnull(c.supertype, c.commodity_name), + fc.io, + mc.commodity_id, + c.commodity_name, + ifnull(s.source_facility_id, 0) + from facility_commodities fc, commodities c, commodities mc + left outer join source_commodity_ref s on (fc.commodity_id = s.commodity_id and + s.max_transport_distance_flag = 'Y') + where fc.facility_id = {} + and fc.commodity_id = c.commodity_id + and mc.commodity_name = '{}';""".format(facility_id, multi_commodity_name)) + + proc_data = proc_data.fetchall() + # entry for each incoming commodity and its potential sources + # each outgoing commodity with this processor as their source IF there is a max commodity distance + for row_b in proc_data: + + commodity_id = row_b[0] + quantity = row_b[1] + io = row_b[4] + id_for_mult_commodities = row_b[5] + commodity_name = row_b[6] + source_facility_id = row_b[7] + + new_source_facility_id = facility_id + + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + # vertices for generic demand type, or any subtype specified by the destination + while day <= stop_day: + if io == 'i': + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, + {}, '{}' + );""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + id_for_mult_commodities, availability[day], primary, + new_source_facility_id, io)) + + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, + day, commodity_id, storage_availability, storage, quantity, + source_facility_id, io)) + + else: + if commodity_name != 'total_fuel': + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, + commodity_id, activity_level, storage_vertex, supply, source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, {}, '{}');""".format( + facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage_availability, storage, quantity, source_facility_id, io)) + day = day + 1 + + # for RMPSs specifically, source_facility_id must match facility_id; could do that conditionally within sql + # if we bring storage facilities back (12-2018), we would want them split by source_facility + elif facility_type == "raw_material_producer": + rmp_data = db_cur.execute("""select fc.commodity_id, fc.quantity, fc.units, + ifnull(s.source_facility_id, 0), io + from facility_commodities fc + left outer join source_commodity_ref s on (fc.commodity_id = s.commodity_id and + s.max_transport_distance_flag = 'Y' and s.source_facility_id = {}) + where fc.facility_id = {};""".format(facility_id, facility_id)) + + rmp_data = rmp_data.fetchall() + + for row_b in rmp_data: + commodity_id = row_b[0] + quantity = row_b[1] + source_facility_id = row_b[3] + iob = row_b[4] + + if commodity_id in total_potential_production: + total_potential_production[commodity_id] = total_potential_production[commodity_id] + quantity + else: + total_potential_production[commodity_id] = quantity + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, supply, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, availability[day], primary, quantity, + source_facility_id, iob)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, supply, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage_availability, storage, quantity, + source_facility_id, iob)) + day = day + 1 + # independent storage facility, not onsite storage that all facilities have by default + elif facility_type == "storage": + storage_fac_data = db_cur.execute("""select + fc.commodity_id, + fc.quantity, + fc.units, + ifnull(s.source_facility_id, 0), + io + from facility_commodities fc + left outer join source_commodity_ref s on (fc.commodity_id = s.commodity_id and + s.max_transport_distance_flag = 'Y') + where fc.facility_id = {} ;""".format(facility_id)) + + storage_fac_data = storage_fac_data.fetchall() + + for row_b in storage_fac_data: + commodity_id = row_b[0] + # source_facility_id = 0 if commodity is not source-tracked + source_facility_id = row_b[3] + iob = row_b[4] + + day = default_sched.first_day + stop_day = default_sched.last_day + # availability = default_sched.availability + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + storage_vertex, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage, + source_facility_id, iob)) + day = day + 1 + + elif facility_type == "ultimate_destination": + + dest_data = db_cur2.execute("""select + fc.commodity_id, + ifnull(fc.quantity, 0), + fc.units, + fc.commodity_id, + ifnull(c.supertype, c.commodity_name), + ifnull(s.source_facility_id, 0), + io + from facility_commodities fc, commodities c + left outer join source_commodity_ref s on (fc.commodity_id = s.commodity_id and + s.max_transport_distance_flag = 'Y') + where fc.facility_id = {} + and fc.commodity_id = c.commodity_id;""".format(facility_id)) + + dest_data = dest_data.fetchall() + + for row_b in dest_data: + commodity_id = row_b[0] + quantity = row_b[1] + commodity_supertype = row_b[4] + source_facility_id = row_b[5] + iob = row_b[6] + # material merges at primary vertex so set all sources to 0 + # this is a piece that would change if we track max commodity distance through the processor + zero_source_facility_id = 0 + + # this is where the alternate schedule for destination demand can be set + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + + # vertices for generic demand type, or any subtype specified by the destination + while day <= stop_day and quantity > 0: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, udp, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, + {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, availability[day], primary, quantity, + the_scenario.unMetDemandPenalty, + zero_source_facility_id, iob)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage_availability, storage, quantity, + source_facility_id, iob)) + day = day + 1 + # vertices for other fuel subtypes that match the destination's supertype + # if the subtype is in the commodity table, it is produced by some facility (not ignored) in the + # scenario + db_cur3 = main_db_con.cursor() + for row_c in db_cur3.execute("""select commodity_id, units from commodities + where supertype = '{}';""".format(commodity_supertype)): + new_commodity_id = row_c[0] + # new_units = row_c[1] + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, udp, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, + day, new_commodity_id, availability[day], primary, quantity, + the_scenario.unMetDemandPenalty, + zero_source_facility_id, iob)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, + day, new_commodity_id, storage_availability, storage, quantity, + source_facility_id, iob)) + day = day + 1 + + + else: + logger.warning( + "error, unexpected facility_type: {}, facility_type_id: {}".format(facility_type, facility_type_id)) + + # if it's an origin/supply facility, replicate by commodity and time + # if it's a destination/demand facility, replicate by commodity and time + # if it's an independent storage facility, replicate by commodity and time + # if it's a processing/refining facility, only replicate by time - all commodities on the product slate must + # enter and exit the vertex + + # add destination storage vertices for all demand subtypes after all facilities have been iterated, so that we + # know what fuel subtypes are in this scenario + for row_d in db_cur4.execute("select count(distinct vertex_id) from vertices;"): + logger.info('{} vertices created'.format(row_d[0])) + + logger.debug("total possible production in scenario: {}".format(total_potential_production)) + + +# =============================================================================== + + +def add_storage_routes(the_scenario, logger): + logger.info("START: add_storage_routes") + # these are loops to and from the same facility; when replicated to edges, they will connect primary to storage + # vertices, and storage vertices day to day + # is one enough? how many edges will be created per route here? + # will always create edge for this route from storage to storage vertex + # will always create edges for extra routes connecting here + # IF a primary vertex exists, will also create an edge connecting the storage vertex to the primary + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + logger.debug("create the storage_routes table") + + main_db_con.execute("drop table if exists storage_routes;") + main_db_con.execute("""create table if not exists storage_routes as + select facility_name || '_storage' as route_name, + location_id, + facility_id, + facility_name as o_name, + facility_name as d_name, + {} as cost_1, + {} as cost_2, + 1 as travel_time, + {} as storage_max, + 0 as storage_min + from facilities + where ignore_facility = 'false' + ;""".format(storage_cost_1, storage_cost_2, facility_onsite_storage_max)) + main_db_con.execute("""create table if not exists route_reference( + route_id INTEGER PRIMARY KEY, route_type text, route_name text, scenario_rt_id integer, + CONSTRAINT unique_routes UNIQUE(route_type, route_name, scenario_rt_id));""") + main_db_con.execute( + "insert or ignore into route_reference select null,'storage', route_name, 0 from storage_routes;") + + logger.debug("storage_routes table created") + + return + + +# =============================================================================== + + +def generate_connector_and_storage_edges(the_scenario, logger): + logger.info("START: generate_connector_and_storage_edges") + + multi_commodity_name = "multicommodity" + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + db_cur = main_db_con.cursor() + if ('pipeline_crude_trf_rts' in the_scenario.permittedModes) or ( + 'pipeline_prod_trf_rts' in the_scenario.permittedModes): + logger.info("create indices for the capacity_nodes and pipeline_mapping tables") + main_db_con.executescript( + """ + CREATE INDEX IF NOT EXISTS pm_index ON pipeline_mapping (id, id_field_name, mapping_id_field_name, + mapping_id); + CREATE INDEX IF NOT EXISTS cn_index ON capacity_nodes (source, id_field_name, source_OID); + """) + + for row in db_cur.execute( + "select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): + id_for_mult_commodities = row[0] + + # create storage & connector edges + main_db_con.execute("drop table if exists edges;") + main_db_con.executescript(""" + create table edges (edge_id INTEGER PRIMARY KEY, + route_id integer, + from_node_id integer, + to_node_id integer, + start_day integer, + end_day integer, + commodity_id integer, + o_vertex_id integer, + d_vertex_id integer, + max_edge_capacity numeric, + volume numeric, + capac_minus_volume_zero_floor numeric, + min_edge_capacity numeric, + capacity_units text, + units_conversion_multiplier numeric, + edge_flow_cost numeric, + edge_flow_cost2 numeric, + edge_type text, + nx_edge_id integer, + mode text, + mode_oid integer, + miles numeric, + simple_mode text, + tariff_id numeric, + phase_of_matter text, + source_facility_id integer, + miles_travelled numeric, + children_created text, + edge_count_from_source integer, + total_route_cost numeric, + CONSTRAINT unique_nx_subc_day UNIQUE(nx_edge_id, commodity_id, source_facility_id, start_day)) + ; + + insert or ignore into edges (route_id, + start_day, end_day, + commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, + edge_flow_cost, edge_flow_cost2,edge_type, + source_facility_id) + select o.route_id, o.schedule_day, d.schedule_day, + o.commodity_id, o.vertex_id, d.vertex_id, + o.storage_max, o.storage_min, + o.cost_1, o.cost_2, 'storage', + o.source_facility_id + from vertices d, + (select v.vertex_id, v.schedule_day, + v.commodity_id, v.storage_vertex, v.source_facility_id, + t.* + from vertices v, + (select sr.route_name, o_name, d_name, cost_1,cost_2, travel_time, + storage_max, storage_min, rr.route_id, location_id, facility_id + from storage_routes sr, route_reference rr where sr.route_name = rr.route_name) t + where v.facility_id = t.facility_id + and v.storage_vertex = 1) o + where d.facility_id = o.facility_id + and d.schedule_day = o.schedule_day+o.travel_time + and d.commodity_id = o.commodity_id + and o.vertex_id != d.vertex_id + and d.storage_vertex = 1 + and d.source_facility_id = o.source_facility_id + ; + + insert or ignore into edges (route_id, start_day, end_day, + commodity_id, o_vertex_id, d_vertex_id, + edge_flow_cost, edge_type, + source_facility_id) + select s.route_id, s.schedule_day, p.schedule_day, + (case when s.commodity_id = {} then p.commodity_id else s.commodity_id end) commodity_id, + --inbound commodies start at storage and go into primary + --outbound starts at primary and goes into storage + --anything else is an error for a connector edge + (case when fc.io = 'i' then s.vertex_id + when fc.io = 'o' then p.vertex_id + else 0 end) as o_vertex, + (case when fc.io = 'i' then p.vertex_id + when fc.io = 'o' then s.vertex_id + else 0 end) as d_vertex, + 0, 'connector', + s.source_facility_id + from vertices p, facility_commodities fc, + --s for storage vertex info, p for primary vertex info + (select v.vertex_id, v.schedule_day, + v.commodity_id, v.storage_vertex, v.source_facility_id, + t.* + from vertices v, + (select sr.route_name, o_name, d_name, cost_1,cost_2, travel_time, + storage_max, storage_min, rr.route_id, location_id, facility_id + from storage_routes sr, route_reference rr where sr.route_name = rr.route_name) t --t is route data + where v.facility_id = t.facility_id + and v.storage_vertex = 1) s + --from storage into primary, same day = inbound connectors + where p.facility_id = s.facility_id + and p.schedule_day = s.schedule_day + and (p.commodity_id = s.commodity_id or p.commodity_id = {} ) + and p.facility_id = fc.facility_id + and fc.commodity_id = s.commodity_id + and p.storage_vertex = 0 + --either edge is inbound and aggregating, or inbound & kept separate by source if primary is (storage facility) + --outbound, and source must match if tracked (non-zero) at the storage vertex + and ((fc.io = 'i' and + (p.source_facility_id = p.facility_id or p.source_facility_id = s.source_facility_id)) + OR + (fc.io = 'o' and + (s.source_facility_id = 0 or p.source_facility_id = s.source_facility_id))) + ;""".format(id_for_mult_commodities, id_for_mult_commodities)) + + for row_d in db_cur.execute("select count(distinct edge_id) from edges where edge_type = 'connector';"): + logger.info('{} connector edges created'.format(row_d[0])) + + return + + +# =============================================================================== + + +def generate_first_edges_from_source_facilities(the_scenario, logger): + logger.info("START: generate_first_edges_from_source_facilities") + + multi_commodity_name = "multicommodity" + transport_edges_created = 0 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + if ('pipeline_crude_trf_rts' in the_scenario.permittedModes) or ( + 'pipeline_prod_trf_rts' in the_scenario.permittedModes): + logger.info("create indices for the capacity_nodes and pipeline_mapping tables") + main_db_con.executescript( + """ + CREATE INDEX IF NOT EXISTS pm_index ON pipeline_mapping (id, id_field_name, mapping_id_field_name, + mapping_id); + CREATE INDEX IF NOT EXISTS cn_index ON capacity_nodes (source, id_field_name, source_OID); + """) + + db_cur = main_db_con.cursor() + edges_requiring_children = 0 + + # clear any transport edges from table + db_cur.execute("delete from edges where edge_type = 'transport';") + + counter = 0 + + # create transport edges, only between storage vertices and nodes, based on networkx graph + # never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + # iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + # should also be per day, subject to nx edge schedule + # before creating an edge, check: commodity allowed by nx and max transport distance if not null + # will need nodes per day and commodity? or can I just check that with constraints? + # select data for transport edges + # ****1**** Only edges coming from RMP/source storage vertices + # ** ONLY FOR COMMODITIES WITH A MAX TRANSPORT DISTANCE + # set distance travelled to miles of edges; set indicator for newly created edges to 'N' + # edge_count_from_source = 1 + # ****2**** only nx_edges coming from entries in edges (check connector nodes) + # set distance travelling to miles of new endge plus existing input edge; set indicator for processed edges + # in edges to 'Y' + # only create new edge if distance travelled is less than allowed + # repeat 2 while there are 'N' edges, for transport edges only + # count loops + # this is now per-vertex - rework it to not all be done in loop, but in sql block + # connector and storage edges can be done exactly as before, in fact need to be done first, now in separate + # method + + commodity_mode_data = main_db_con.execute("select * from commodity_mode;") + commodity_mode_data = commodity_mode_data.fetchall() + commodity_mode_dict = {} + for row in commodity_mode_data: + mode = row[0] + commodity_id =int(row[1]) + commodity_phase = row[2] + allowed_yn = row[3] + commodity_mode_dict[mode, commodity_id] = allowed_yn + + source_edge_data = main_db_con.execute("""select + ne.edge_id, + ifnull(CAST(fn.location_id as integer), 'NULL'), + ifnull(CAST(tn.location_id as integer), 'NULL'), + ne.mode_source, + ifnull(nec.phase_of_matter_id, 'NULL'), + nec.route_cost, + ne.from_node_id, + ne.to_node_id, + nec.dollar_cost, + ne.miles, + ne.capacity, + ne.artificial, + ne.mode_source_oid, + v.commodity_id, + v.schedule_day, + v.vertex_id, + v.source_facility_id, + tv.vertex_id + from networkx_edges ne, networkx_nodes fn, networkx_nodes tn, networkx_edge_costs nec, + vertices v, facility_type_id ft + left outer join vertices tv + on (CAST(tn.location_id as integer) = tv.location_id and v.source_facility_id = tv.source_facility_id) + + where v.facility_type_id = ft.facility_type_id + and ft.facility_type = 'raw_material_producer' + and v.location_id = CAST(fn.location_id as integer) + and ne.from_node_id = fn.node_id + and ne.to_node_id = tn.node_id + and ne.edge_id = nec.edge_id + and ifnull(ne.capacity, 1) > 0 + and v.storage_vertex = 1 + and v.source_facility_id != 0 --max commodity distance applies + ;""") + source_edge_data = source_edge_data.fetchall() + for row_a in source_edge_data: + + nx_edge_id = row_a[0] + from_location = row_a[1] + to_location = row_a[2] + mode = row_a[3] + phase_of_matter = row_a[4] + route_cost = row_a[5] + from_node = row_a[6] + to_node = row_a[7] + dollar_cost = row_a[8] + miles = row_a[9] + # max_daily_capacity = row_a[10] + # artificial = row_a[11] + mode_oid = row_a[12] + commodity_id = row_a[13] + origin_day = row_a[14] + vertex_id = row_a[15] + source_facility_id = row_a[16] + to_vertex = row_a[17] + + simple_mode = row_a[3].partition('_')[0] + edge_count_from_source = 1 + total_route_cost = route_cost + + counter = counter + 1 + + tariff_id = 0 + if simple_mode == 'pipeline': + + # find tariff_ids + + sql = "select mapping_id from pipeline_mapping where id = {} and id_field_name = 'source_OID' and " \ + "source = '{}' and mapping_id is not null;".format(mode_oid, mode) + for tariff_row in db_cur.execute(sql): + tariff_id = tariff_row[0] + + if mode in the_scenario.permittedModes and (mode, commodity_id) in commodity_mode_dict.keys()\ + and commodity_mode_dict[mode, commodity_id] == 'Y': + + # Edges are placeholders for flow variables + # If both ends have no location, iterate through viable commodities and days, create edge + # for all days (restrict by link schedule if called for) + # for all allowed commodities, as currently defined by link phase of matter + + if origin_day in range(default_sched.first_day, default_sched.last_day + 1): + if ( + origin_day + fixed_route_duration <= default_sched.last_day): + # if link is traversable in the timeframe + if simple_mode != 'pipeline' or tariff_id >= 0: + # for allowed commodities + # step 1 from source is from non-Null location to (probably) null location + + if from_location != 'NULL' and to_location == 'NULL': + # for each day and commodity, get the corresponding origin vertex id to include with + # the edge info + # origin vertex must not be "ultimate_destination + # transport link outgoing from facility - checking fc.io is more thorough than + # checking if facility type is 'ultimate destination' + # new for bsc, only connect to vertices with matching source_facility_id (only + # limited for RMP vertices) + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + miles, 'N', edge_count_from_source, total_route_cost)) + + elif from_location != 'NULL' and to_location != 'NULL': + # for each day and commodity, get the corresponding origin and destination vertex ids + # to include with the edge info + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, {}, + {}, {}, {}, + '{}',{},'{}', {}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, to_vertex, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + miles, 'N', edge_count_from_source, total_route_cost)) + + for row in db_cur.execute("select count(distinct edge_id) from edges where edge_type = 'transport';"): + transport_edges_created = row[0] + logger.info('{} transport edges created'.format(transport_edges_created)) + for row in db_cur.execute("""select count(distinct edge_id), children_created from edges + where edge_type = 'transport' + group by children_created;"""): + if row[1] == 'N': + edges_requiring_children = row[0] + + elif row[1] == 'Y': + logger.info('{} transport edges that have already been checked for children'.format(row[0])) + edges_requiring_children = transport_edges_created - row[0] + # edges_requiring_children is updated under either condition here, since one may not be triggered + logger.info('{} transport edges that need children'.format(edges_requiring_children)) + + return - return avg_availabilities # =============================================================================== -def generate_all_edges_from_source_facilities(the_scenario, schedule_length, logger): +def generate_all_edges_from_source_facilities(the_scenario, logger): logger.info("START: generate_all_edges_from_source_facilities") # plan to generate start and end days based on nx edge time to traverse and schedule @@ -411,6 +1149,7 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log # if i'm trying to add an edge that has an entry in route_data, new miles travelled must be less potential_edge_data = potential_edge_data.fetchall() + # logger.info("potential_edge_data.fetchall() completed") main_db_con.execute("update edges set children_created = 'Y' where children_created = 'N';") @@ -430,6 +1169,8 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log to_node = row_a[7] dollar_cost = row_a[8] miles = row_a[9] + # max_daily_capacity = row_a[10] + # artificial = row_a[11] mode_oid = row_a[12] commodity_id = row_a[13] origin_day = row_a[14] @@ -439,6 +1180,7 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log new_edge_count = row_a[18] total_route_cost = row_a[19] leadin_edge_id = row_a[20] + # leadin_nx_edge_id = row_a[21] to_vertex = row_a[22] max_commodity_travel_distance = row_a[23] input_commodity_process_id = row_a[24] @@ -452,6 +1194,8 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log logger.debug('edge {} goes in to location {} at ' 'node {} with vertex {}'.format(leadin_edge_id, to_location, to_node, to_vertex)) + #pdb.set_trace() + if ((new_miles_travelled > max_commodity_travel_distance and input_commodity_process_id != 0) or to_vertex_type == destination_fac_type): #False ): @@ -502,8 +1246,9 @@ def generate_all_edges_from_source_facilities(the_scenario, schedule_length, log # we'd be creating an edge for (otherwise wait for the shortest option) # at this step, some leadin edge should always exist - if origin_day in range(1, schedule_length + 1): - if (origin_day + fixed_route_duration <= schedule_length): # if link is + if origin_day in range(default_sched.first_day, default_sched.last_day + 1): + if ( + origin_day + fixed_route_duration <= default_sched.last_day): # if link is # traversable in the timeframe if simple_mode != 'pipeline' or tariff_id >= 0: # for allowed commodities @@ -694,6 +1439,7 @@ def clean_up_endcaps(the_scenario, logger): with sqlite3.connect(the_scenario.main_db) as main_db_con: db_cur = main_db_con.cursor() logger.info("clean up endcap node flagging") + #pdb.set_trace() sql = (""" drop table if exists e2; @@ -793,7 +1539,7 @@ def clean_up_endcaps(the_scenario, logger): # =============================================================================== -def generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_length, logger): +def generate_all_edges_without_max_commodity_constraint(the_scenario, logger): logger.info("START: generate_all_edges_without_max_commodity_constraint") # make sure this covers edges from an RMP if the commodity has no max transport distance @@ -862,6 +1608,7 @@ def generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_l to_node = row_a[7] dollar_cost = row_a[8] miles = row_a[9] + # max_daily_capacity = row_a[10] mode_oid = row_a[12] simple_mode = row_a[3].partition('_')[0] @@ -883,11 +1630,13 @@ def generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_l # if both ends have no location, iterate through viable commodities and days, create edge # for all days (restrict by link schedule if called for) # for all allowed commodities, as currently defined by link phase of matter - for day in range(1, schedule_length + 1): - if (day + fixed_route_duration <= schedule_length): # if link is traversable in the + for day in range(default_sched.first_day, default_sched.last_day + 1): + if ( + day + fixed_route_duration <= default_sched.last_day): # if link is traversable in the # timeframe if simple_mode != 'pipeline' or tariff_id >= 0: # for allowed commodities that can be output by some facility or process in the scenario + for row_c in db_cur.execute("""select commodity_id from source_commodity_ref where phase_of_matter = '{}' @@ -1037,6 +1786,99 @@ def generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_l # =============================================================================== +def set_edges_volume_capacity(the_scenario, logger): + logger.info("starting set_edges_volume_capacity") + with sqlite3.connect(the_scenario.main_db) as main_db_con: + logger.debug("starting to record volume and capacity for non-pipeline edges") + + main_db_con.execute( + "update edges set volume = (select ifnull(ne.volume,0) from networkx_edges ne where ne.edge_id = " + "edges.nx_edge_id ) where simple_mode in ('rail','road','water');") + main_db_con.execute( + "update edges set max_edge_capacity = (select ne.capacity from networkx_edges ne where ne.edge_id = " + "edges.nx_edge_id) where simple_mode in ('rail','road','water');") + logger.debug("volume and capacity recorded for non-pipeline edges") + + logger.debug("starting to record volume and capacity for pipeline edges") + ## + main_db_con.executescript("""update edges set volume = + (select l.background_flow + from pipeline_mapping pm, + (select id_field_name, cn.source_OID as link_id, min(cn.capacity) capac, + max(cn.volume) background_flow, source + from capacity_nodes cn + where cn.id_field_name = 'MASTER_OID' + and ifnull(cn.capacity,0)>0 + group by link_id) l + + where edges.tariff_id = pm.id + and pm.id_field_name = 'tariff_ID' + and pm.mapping_id_field_name = 'MASTER_OID' + and l.id_field_name = 'MASTER_OID' + and pm.mapping_id = l.link_id + and instr(edges.mode, l.source)>0) + where simple_mode = 'pipeline' + ; + + update edges set max_edge_capacity = + (select l.capac + from pipeline_mapping pm, + (select id_field_name, cn.source_OID as link_id, min(cn.capacity) capac, + max(cn.volume) background_flow, source + from capacity_nodes cn + where cn.id_field_name = 'MASTER_OID' + and ifnull(cn.capacity,0)>0 + group by link_id) l + + where edges.tariff_id = pm.id + and pm.id_field_name = 'tariff_ID' + and pm.mapping_id_field_name = 'MASTER_OID' + and l.id_field_name = 'MASTER_OID' + and pm.mapping_id = l.link_id + and instr(edges.mode, l.source)>0) + where simple_mode = 'pipeline' + ;""") + logger.debug("volume and capacity recorded for pipeline edges") + logger.debug("starting to record units and conversion multiplier") + main_db_con.execute("""update edges + set capacity_units = + (case when simple_mode = 'pipeline' then 'kbarrels' + when simple_mode = 'road' then 'truckload' + when simple_mode = 'rail' then 'railcar' + when simple_mode = 'water' then 'barge' + else 'unexpected mode' end) + ;""") + main_db_con.execute("""update edges + set units_conversion_multiplier = + (case when simple_mode = 'pipeline' and phase_of_matter = 'liquid' then {} + when simple_mode = 'road' and phase_of_matter = 'liquid' then {} + when simple_mode = 'road' and phase_of_matter = 'solid' then {} + when simple_mode = 'rail' and phase_of_matter = 'liquid' then {} + when simple_mode = 'rail' and phase_of_matter = 'solid' then {} + when simple_mode = 'water' and phase_of_matter = 'liquid' then {} + when simple_mode = 'water' and phase_of_matter = 'solid' then {} + else 1 end) + ;""".format(THOUSAND_GALLONS_PER_THOUSAND_BARRELS, + the_scenario.truck_load_liquid.magnitude, + the_scenario.truck_load_solid.magnitude, + the_scenario.railcar_load_liquid.magnitude, + the_scenario.railcar_load_solid.magnitude, + the_scenario.barge_load_liquid.magnitude, + the_scenario.barge_load_solid.magnitude, + )) + logger.debug("units and conversion multiplier recorded for all edges; starting capacity minus volume") + main_db_con.execute("""update edges + set capac_minus_volume_zero_floor = + max((select (max_edge_capacity - ifnull(volume,0)) where max_edge_capacity is not null),0) + where max_edge_capacity is not null + ;""") + logger.debug("capacity minus volume (minimum set to zero) recorded for all edges") + return + + +# =============================================================================== + + def pre_setup_pulp(logger, the_scenario): logger.info("START: pre_setup_pulp for candidate generation step") from ftot_pulp import commodity_mode_setup @@ -1047,40 +1889,22 @@ def pre_setup_pulp(logger, the_scenario): source_as_subcommodity_setup(the_scenario, logger) - from ftot_pulp import generate_schedules - logger.debug("----- Using generate_all_vertices method imported from ftot_pulp ------") - schedule_dict, schedule_length = generate_schedules(the_scenario, logger) - - # Re-create schedule dictionary with one-day schedules with availability = average availability - schedule_avg = schedule_avg_availabilities(the_scenario, schedule_dict, schedule_length, logger) - schedule_avg_length = 1 + generate_all_vertices_candidate_gen(the_scenario, logger) - from ftot_pulp import generate_all_vertices - logger.debug("----- Using generate_all_vertices method imported from ftot_pulp ------") - generate_all_vertices(the_scenario, schedule_avg, schedule_avg_length, logger) - - from ftot_pulp import add_storage_routes - logger.debug("----- Using add_storage_routes method imported from ftot_pulp ------") add_storage_routes(the_scenario, logger) - from ftot_pulp import generate_connector_and_storage_edges - logger.debug("----- Using generate_connector_and_storage_edges method imported from ftot_pulp ------") generate_connector_and_storage_edges(the_scenario, logger) - from ftot_pulp import generate_first_edges_from_source_facilities - logger.debug("----- Using generate_first_edges_from_source_facilities method imported from ftot_pulp ------") - generate_first_edges_from_source_facilities(the_scenario, schedule_avg_length, logger) + generate_first_edges_from_source_facilities(the_scenario, logger) - generate_all_edges_from_source_facilities(the_scenario, schedule_avg_length, logger) + generate_all_edges_from_source_facilities(the_scenario, logger) clean_up_endcaps(the_scenario, logger) - generate_all_edges_without_max_commodity_constraint(the_scenario, schedule_avg_length, logger) + generate_all_edges_without_max_commodity_constraint(the_scenario, logger) logger.info("Edges generated for modes: {}".format(the_scenario.permittedModes)) - from ftot_pulp import set_edges_volume_capacity - logger.debug("----- Using set_edges_volume_capacity method imported from ftot_pulp ------") set_edges_volume_capacity(the_scenario, logger) return @@ -1109,6 +1933,8 @@ def create_flow_vars(the_scenario, logger): counter += 1 # create an edge for each commodity allowed on this link - this construction may change as specific # commodity restrictions are added + # TODO4-18 add days, but have no schedule for links currently + # running just with nodes for now, will add proper facility info and storage back soon edge_list.append((row[0])) # flow_var is the flow on each arc, being determined; this can be defined any time after all_arcs is defined @@ -1231,6 +2057,9 @@ def create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, proce flow_costs = {} logger.detailed_debug("DEBUG: start loop through sql to append unmet_demand_costs") for u in unmet_demand_vars: + # facility_id = u[0] + # schedule_day = u[1] + # demand_commodity_name = u[2] udp = u[3] unmet_demand_costs.append(udp * unmet_demand_vars[u]) logger.detailed_debug("DEBUG: finished loop through sql to append unmet_demand_costs. total records: {}".format( @@ -1247,6 +2076,11 @@ def create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, proce "DEBUG: start iterating through {:,.0f} flow_cost_data records".format(len(flow_cost_data))) counter = 0 for row in flow_cost_data: + # if counter % 250000 == 0: # should be about 10 seconds between log msgs + # logger.detailed_debug( + # "DEBUG: processed {:,.0f} flow_cost records. Size of flow_cost {:,.0f}".format(counter, + # sys.getsizeof( + # flow_costs))) edge_id = row[0] edge_flow_cost = row[1] counter += 1 @@ -1283,6 +2117,7 @@ def create_constraint_unmet_demand(logger, the_scenario, prob, flow_var, unmet_d demand_met_dict = defaultdict(list) actual_demand_dict = {} + # demand_met = [] # want to specify that all edges leading into this vertex + unmet demand = total demand # demand primary (non-storage) vertices @@ -1308,9 +2143,12 @@ def create_constraint_unmet_demand(logger, the_scenario, prob, flow_var, unmet_d unmet_data = unmet_data.fetchall() for row_a in unmet_data: + # primary_vertex_id = row_a[0] + # commodity_id = row_a[1] var_full_demand = row_a[2] proportion_of_supertype = row_a[3] var_activity_level = row_a[4] + # source_facility_id = row_a[5] facility_id = row_a[6] day = row_a[7] top_level_commodity = row_a[8] @@ -1555,9 +2393,20 @@ def create_primary_processor_vertex_constraints(logger, the_scenario, prob, flow vertex_id = row_a[0] in_or_out_edge = row_a[1] + # constraint_day = row_a[2] commodity_id = row_a[3] + # mode = row_a[4] edge_id = row_a[5] + # nx_edge_id = row_a[6] quantity = float(row_a[7]) + # facility_id = row_a[8] + # commodity_name = row_a[9] + # fc_io_commodity = row_a[10] + # activity_level = row_a[11] + # is_candidate = row_a[12] + # edge_source_facility_id = row_a[13] + # vertex_source_facility_id = row_a[14] + # v_commodity_id = row_a[14] if in_or_out_edge == 'in': flow_in_lists.setdefault(vertex_id, {}) # if the vertex isn't in the main dict yet, add it @@ -1720,6 +2569,10 @@ def create_constraint_conservation_of_flow_storage_vertices(logger, the_scenario constraint_day = row_v[2] commodity_id = row_v[3] edge_id = row_v[4] + # nx_edge_id = row_v[5] + # facility_id = row_v[6] + # commodity_name = row_v[7] + # activity_level = row_v[8] facility_type = row_v[9] if in_or_out_edge == 'in': @@ -1732,6 +2585,8 @@ def create_constraint_conservation_of_flow_storage_vertices(logger, the_scenario logger.info("adding processor excess variables to conservation of flow") for key, value in flow_out_lists.iteritems(): vertex_id = key[0] + # commodity_id = key[1] + # day = key[2] facility_type = key[3] if facility_type == 'processor': flow_out_lists.setdefault(key, []).append(processor_excess_vars[vertex_id]) @@ -1769,6 +2624,7 @@ def create_constraint_conservation_of_flow_endcap_nodes(logger, the_scenario, pr processor_excess_vars): # This creates constraints for all non-vertex nodes, with variant rules for endcaps nodes logger.debug("STARTING: create_constraint_conservation_of_flow_endcap_nodes") + # node_counter = 0 node_constraint_counter = 0 passthrough_constraint_counter = 0 other_endcap_constraint_counter = 0 @@ -1974,6 +2830,7 @@ def create_constraint_conservation_of_flow_endcap_nodes(logger, the_scenario, pr # for this node, on this day, with this source facility - intermodal and mode and encapflag # unchanged, commodity may not # for endcap nodes, can't check for flow in exactly the same way because commodity may change + # process_id = process_dict[commodity_id][0] input_quantity = process_dict[commodity_id][1] # since we're working with input to an endcap, need all matching inputs, which may include other # source facilities as specified in endcap_ref[node_id][2] @@ -2092,9 +2949,11 @@ def create_constraint_conservation_of_flow_endcap_nodes(logger, the_scenario, pr for key, value in flow_out_lists.iteritems(): node_id = key[0] + # intermodal_flag = key[1] source_facility_id = key[2] day = key[3] commodity_id = key[4] + # endcap_input_process = key[5] if len(key) == 7: node_mode = key[6] else: @@ -2119,6 +2978,144 @@ def create_constraint_conservation_of_flow_endcap_nodes(logger, the_scenario, pr return prob +# =============================================================================== + + +def create_constraint_max_route_capacity(logger, the_scenario, prob, flow_var): + logger.debug("STARTING: create_constraint_max_route_capacity") + # set route capacity by phase of matter - may connect multiple facilities, definitely multiple edges + # do storage capacity separately, even though it is also routes + + logger.debug("Length of flow_var: {}".format(len(flow_var.items()))) + logger.info("modes with background flow turned on: {}".format(the_scenario.backgroundFlowModes)) + # min_capacity_level must be a number from 0 to 1, inclusive + # min_capacity_level is only relevant when background flows are turned on + # it sets a floor to how much capacity can be reduced by volume. + # min_capacity_level = .25 means route capacity will never be less than 25% of full capacity, even if "volume" + # would otherwise restrict it further + # min_capacity_level = 0 allows a route to be made unavailable for FTOT flow if base volume is too high + # this currently applies to all modes; could be made mode specific + logger.info("minimum available capacity floor set at: {}".format(the_scenario.minCapacityLevel)) + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + # capacity for storage routes + sql = """select + rr.route_id, sr.storage_max, sr.route_name, e.edge_id, e.start_day + from route_reference rr + join storage_routes sr on sr.route_name = rr.route_name + join edges e on rr.route_id = e.route_id + ;""" + # get the data from sql and see how long it takes. + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + storage_edge_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for storage edges:") + logger.info("execute for edges for storage - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + storage_edge_data = storage_edge_data.fetchall() + logger.info("fetchall edges for storage - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_lists = {} + + for row_a in storage_edge_data: + route_id = row_a[0] + aggregate_storage_capac = row_a[1] + storage_route_name = row_a[2] + edge_id = row_a[3] + start_day = row_a[4] + + flow_lists.setdefault((route_id, aggregate_storage_capac, storage_route_name, start_day), []).append( + flow_var[edge_id]) + + for key, flow in flow_lists.iteritems(): + prob += lpSum(flow) <= key[1], "constraint max flow on storage route {} named {} for day {}".format(key[0], + key[2], + key[3]) + + logger.debug("route_capacity constraints created for all storage routes") + + # capacity for transport routes + # Assumption - all flowing material is in kgal, all flow is summed on a single non-pipeline nx edge + sql = """select e.edge_id, e.nx_edge_id, e.max_edge_capacity, e.start_day, e.simple_mode, e.phase_of_matter, + e.capac_minus_volume_zero_floor + from edges e + where e.max_edge_capacity is not null + and e.simple_mode != 'pipeline' + ;""" + # get the data from sql and see how long it takes. + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + route_capac_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for transport edges:") + logger.info("execute for non-pipeline edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + route_capac_data = route_capac_data.fetchall() + logger.info("fetchall non-pipeline edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_lists = {} + + for row_a in route_capac_data: + edge_id = row_a[0] + nx_edge_id = row_a[1] + nx_edge_capacity = row_a[2] + start_day = row_a[3] + simple_mode = row_a[4] + phase_of_matter = row_a[5] + capac_minus_background_flow = max(row_a[6], 0) + min_restricted_capacity = max(capac_minus_background_flow, nx_edge_capacity * the_scenario.minCapacityLevel) + + if simple_mode in the_scenario.backgroundFlowModes: + use_capacity = min_restricted_capacity + else: + use_capacity = nx_edge_capacity + + # flow is in thousand gallons (kgal), for liquid, or metric tons, for solid + # capacity is in truckload, rail car, barge, or pipeline movement per day + # if mode is road and phase is liquid, capacity is in truckloads per day, we want it in kgal + # ftot_supporting_gis tells us that there are 8 kgal per truckload, so capacity * 8 gives us correct + # units or kgal per day + # use capacity * ftot_supporting_gis multiplier to get capacity in correct flow units + + multiplier = 1 # unless otherwise specified + if simple_mode == 'road': + if phase_of_matter == 'liquid': + multiplier = the_scenario.truck_load_liquid.magnitude + elif phase_of_matter == 'solid': + multiplier = the_scenario.truck_load_solid.magnitude + elif simple_mode == 'water': + if phase_of_matter == 'liquid': + multiplier = the_scenario.barge_load_liquid.magnitude + elif phase_of_matter == 'solid': + multiplier = the_scenario.barge_load_solid.magnitude + elif simple_mode == 'rail': + if phase_of_matter == 'liquid': + multiplier = the_scenario.railcar_load_liquid.magnitude + elif phase_of_matter == 'solid': + multiplier = the_scenario.railcar_load_solid.magnitude + + converted_capacity = use_capacity * multiplier + + flow_lists.setdefault((nx_edge_id, converted_capacity, start_day), []).append(flow_var[edge_id]) + + for key, flow in flow_lists.iteritems(): + prob += lpSum(flow) <= key[1], "constraint max flow on nx edge {} for day {}".format(key[0], key[2]) + + logger.debug("route_capacity constraints created for all non-pipeline transport routes") + + logger.debug("FINISHED: create_constraint_max_route_capacity") + return prob + # =============================================================================== @@ -2250,8 +3247,6 @@ def setup_pulp_problem_candidate_generation(the_scenario, logger): if the_scenario.capacityOn: logger.info("calling create_constraint_max_route_capacity") - logger.debug('using create_constraint_max_route_capacity method from ftot_pulp') - from ftot_pulp import create_constraint_max_route_capacity prob = create_constraint_max_route_capacity(logger, the_scenario, prob, flow_vars) logger.info("calling create_constraint_pipeline_capacity") @@ -2273,6 +3268,7 @@ def setup_pulp_problem_candidate_generation(the_scenario, logger): # =============================================================================== + def solve_pulp_problem(prob_final, the_scenario, logger): import datetime @@ -2283,6 +3279,7 @@ def solve_pulp_problem(prob_final, the_scenario, logger): orig_std_out = dup(1) dup2(f.fileno(), 1) + # status = prob_final.solve (PULP_CBC_CMD(maxSeconds = i_max_sec, fracGap = d_opt_gap, msg=1)) # CBC time limit # and relative optimality gap tolerance status = prob_final.solve(PULP_CBC_CMD(msg=1)) # CBC time limit and relative optimality gap tolerance print('Completion code: %d; Solution status: %s; Best obj value found: %s' % ( @@ -2308,6 +3305,11 @@ def solve_pulp_problem(prob_final, the_scenario, logger): # LpStatusUndefined ?Undefined? -3 logger.result("prob.Status: \t {}".format(LpStatus[prob_final.status])) + # logger.info("prob type: \t{}".format(str(type(prob_final)))) + # logger.info("prob objective type: \t{}".format(str(type(prob_final.objective)))) + # logger.info("prob objective value type: \t {}".format(str(type(value(prob_final.objective))))) + # logger.info("prob_final variables type: \t{}".format(str(type(prob_final.variables())))) + logger.result( "Total Scenario Cost = (transportation + unmet demand penalty + processor construction): \t ${0:,.0f}".format( float(value(prob_final.objective)))) @@ -2376,7 +3378,7 @@ def save_pulp_solution(the_scenario, prob, logger): logger.info("number of optimal edges: {}".format(optimal_edges_count)) logger.info("Total Cost of building and transporting : \t ${0:,.0f}".format( float(value(prob.objective)) - optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty)) - logger.info( + logger.result( "Total Scenario Cost = (transportation + unmet demand penalty + " "processor construction): \t ${0:,.0f}".format( float(value(prob.objective)))) @@ -2491,11 +3493,13 @@ def record_pulp_candidate_gen_solution(the_scenario, logger): null as miles_travelled from optimal_solution where variable_name like 'Build%'; + """ db_con.execute("drop table if exists optimal_variables;") db_con.executescript(sql) + sql = """ create table optimal_variables_c as select * from optimal_variables @@ -2572,6 +3576,7 @@ def parse_optimal_solution_db(the_scenario, logger): optimal_unmet_demand = {} optimal_storage_flows = {} optimal_excess_material = {} + # vertex_id_to_facility_id_dict = {} with sqlite3.connect(the_scenario.main_db) as db_con: @@ -2582,6 +3587,14 @@ def parse_optimal_solution_db(the_scenario, logger): for edge in optimal_storage_edges: optimal_storage_flows[edge] = optimal_storage_edges[edge] + # # get the vertex_id to facility_id dict. + # sql = """select vertex_id, facility_id from vertices;""" + # data = db_con.execute(sql) + # vertex_id_to_facility_id_dict = data.fetchall() + # for vertex_id in vertex_id_to_facility_id_dict: + # facility_id = vertex_id_to_facility_id_dict[vertex_id] + # vertex_id_to_facility_id_dict[vertex_id] = facility_id + # do the Route Edges sql = """select variable_name, variable_value, @@ -2600,8 +3613,12 @@ def parse_optimal_solution_db(the_scenario, logger): optimal_route_edges = data.fetchall() for edge in optimal_route_edges: + # variable_name = edge[0] + variable_value = edge[1] + # edge_id = edge[2] + route_id = edge[3] time_period = edge[4] diff --git a/program/ftot_pulp_daily.py b/program/ftot_pulp_daily.py new file mode 100644 index 0000000..46497ec --- /dev/null +++ b/program/ftot_pulp_daily.py @@ -0,0 +1,3803 @@ +# --------------------------------------------------------------------------------------------------- +# Name: ftot_pulp +# +# Purpose: PulP optimization - create and run a modified facility location problem. +# Take NetworkX and GIS scenario data as recorded in main.db and convert to a structure of edges, nodes, vertices. +# Create variables for flow over edges, unmet demand, processor use, and candidate processors to build if present +# Solve cost minimization for unmet demand, transportation, and facility build costs +# Constraints ensure compliance with scenario requirements (e.g. max_route_capacity) +# as well as general problem structure (e.g. conservation_of_flow) +# --------------------------------------------------------------------------------------------------- + +import datetime +import pdb +import re +import sqlite3 +import numpy as np +from collections import defaultdict + +from pulp import * + +import ftot_supporting +import test_aftot_pulp +from ftot_supporting import get_total_runtime_string + +# =================== constants============= +storage = 1 +primary = 0 +fixed_schedule_id = 2 +fixed_route_duration = 0 + +THOUSAND_GALLONS_PER_THOUSAND_BARRELS = 42 + +default_sched = test_aftot_pulp.schedule_full_availability() +last_day_sched = test_aftot_pulp.schedule_last_day_only() +storage_cost_1 = 0.01 +storage_cost_2 = 0.05 +facility_onsite_storage_max = 10000000000 +facility_onsite_storage_min = 0 + +default_max_capacity = 10000000000 +default_min_capacity = 0 + + +#=============load parameters from newly developed Python files====================== +# Load earthquake scenario matrix +#earthquake_scenario = np.load("earthquake_scenario.npy") + +# Load edge capacity index +edge_cap = np.load("edge_cap.npy") +# load bridge damage state index +bridge_DS = np.load("bridge_DS.npy") +# load facility capacity index +facility_cap = np.load("facility_cap.npy") +facility_cap_noEarthquake = np.load("facility_cap_noEarthquake.npy") +# load facility damage state index +facility_DS = np.load("facility_DS.npy") +# load repair cost array: +repair_costs = np.load("repair_costs.npy") +repair_costs = repair_costs +# load reair time array: +repair_time_facility = np.load("repair_time_facility.npy") +repair_time_edge = np.load("repair_time_edge.npy") +# ---------------------------------------------------------------------------------------------- +# planning horizon in this example: 20 years +plan_horizon = 20 # unit: year +# total scenario amount: "N", here we consider 10 scenarios +N = 10 +operation_parameter = 50 # unit:$/ton + +# initial costs (daily ) +initial_cost_daily = 29712 # run optimization without considering any risk factors + + +#========================================================================================= + +def o1(the_scenario, logger): + # create vertices, then edges for permitted modes, then set volume & capacity on edges + #i = np.load("scenario_num.npy") + #t = np.load("time_horizon.npy") + #j = np.load("earthquake_day.npy") + #logger.info("scenario {}".format(i)) + #logger.info("time horizon {}".format(t)) + #logger.info("earthquake day {}".format(j)) + pre_setup_pulp(logger, the_scenario) + + +def o2(the_scenario, logger): + # create variables, problem to optimize, and constraints + prob = setup_pulp_problem(the_scenario, logger) + pickle_prob(prob, "constrained_prob.p", the_scenario, logger) + loaded_prob = load_pickled_prob("constrained_prob.p", the_scenario, logger) + loaded_prob = solve_pulp_problem(loaded_prob, the_scenario, logger) + save_pulp_solution(the_scenario, loaded_prob, logger) + from ftot_supporting import post_optimization_64_bit + post_optimization_64_bit(the_scenario, 'o2', logger) + + +def o2b(the_scenario,logger): + loaded_prob = load_pickled_prob("constrained_prob.p", the_scenario, logger) + loaded_prob = solve_pulp_problem(loaded_prob, the_scenario, logger) + save_pulp_solution(the_scenario, loaded_prob, logger) + + +def oc2b(the_scenario, logger): + import ftot_pulp_candidate_generation + loaded_prob = load_pickled_prob("constrained_candidate_prob.p", the_scenario, logger) + loaded_prob = reload_objective_function(the_scenario, logger) + loaded_prob = ftot_pulp_candidate_generation.solve_pulp_problem(loaded_prob, the_scenario, logger) + ftot_pulp_candidate_generation.save_pulp_solution(the_scenario, loaded_prob, logger) + +# helper function that reads in schedule data and returns dict of Schedule objects +def create_schedules_from_input(schedule_data, logger): + logger.debug("start: create_schedules_from_input") + + from xtot_objects import Schedule + import os # amy added this + if not os.path.exists(schedule_data): + logger.warning("warning: cannot find schedule file: {}".format(schedule_data)) + return {'default': default_sched} # return dict with global value of default schedule + + # create temp dict to store non-default days of a schedule + day_availabilities = {} + + # create temp dict to store default values for a schedule + default_values = {} + + # read through schedule CSV + with open(schedule_data, 'r') as rf: + line_num = 1 + + for line in rf: + + if line_num > 1: + flds = line.rstrip('\n').split(',') + schedule_name = flds[0] + day = int(flds[1]) # cast day to an int to determine max day/schedule length + availability = flds[2] + if day == 0: # denotes the default value + default_values[schedule_name] = availability + elif schedule_name in day_availabilities.keys(): + day_availabilities[schedule_name][day] = availability + else: + day_availabilities[schedule_name] = {day: availability} # initialize sub-dict + line_num += 1 + + # make dictionary to store schedule objects + schedule_dict = {} + + # after reading in csv, parse data into dictionary object + for schedule_name in day_availabilities.keys(): + first_day = 1 + last_day = max(day_availabilities[schedule_name].keys()) # max value of days in schedule + if schedule_name in default_values: + default_availability = default_values[schedule_name] + else: + default_availability = '1' + logger.info("No default value for schedule: " + schedule_name) + logger.info("Setting default value to 1.") + schedule_availabilities = ['0'] + schedule_availabilities.extend([default_availability for i in range(last_day)]) + # now change different days to actual availability instead of the default values + for day in day_availabilities[schedule_name].keys(): + schedule_availabilities[day] = day_availabilities[schedule_name][day] + # lastly, create Schedule object and add to dictionary + schedule_dict[schedule_name] = Schedule(first_day, last_day, schedule_availabilities) + + # amy debugging + for key in schedule_dict.keys(): + logger.debug("schedule name: " + key) + logger.debug("availability: ") + logger.debug(schedule_dict[key]) + logger.debug("finished: create_schedules_from_input") + + return schedule_dict + + +def commodity_mode_setup(the_scenario, logger): + + # helper method to read in the csv and make a dict + def make_commodity_mode_dict(the_scenario, logger): + logger.info("START: make_commodity_mode_dict") + # check if path to table exists + if not os.path.exists(the_scenario.commodity_mode_data): + logger.warning("warning: cannot find commodity_mode_data file: {}".format(the_scenario.commodity_mode_data)) + return {} # return empty dict + # otherwise, initialize dict and read through commodity_mode CSV + commodity_mode_dict = {} + with open(the_scenario.commodity_mode_data, 'r') as rf: + line_num = 1 + modes = None # will assign within for loop + for line in rf: + if line_num == 1: + modes = line.rstrip('\n').split(',') + # # make a dict mapping col index to mode name + # mode_index = {} + # for i in range(len(modes)): + # # mode name will point to index of that mode in the csv + # mode_index[modes[i]] = i + else: + flds = line.rstrip('\n').split(',') + commodity_name = flds[0] + allowed = flds[1:] + commodity_mode_dict[commodity_name] = dict(zip(modes[1:], allowed)) + # now do a check + for mode in modes[1:]: + if commodity_mode_dict[commodity_name][mode] in ['Y', 'N']: + logger.info("Commodity: {}, Mode: {}, Allowed: {}".format(commodity_name, mode, + commodity_mode_dict[commodity_name][mode])) + else: + # if val isn't Y or N, remove the key from the dict + del commodity_mode_dict[commodity_name][mode] + logger.info( + "improper or no value in Commodity_Mode_Data csv for commodity: {} and mode: {}".\ + format(commodity_name, mode)) + logger.info("default value will be used for commodity: {} and mode: {}".\ + format(commodity_name, mode)) + + line_num += 1 + logger.info("FINISHED: make_commodity_mode_dict") + return commodity_mode_dict + + logger.info("START: commodity_mode_setup") + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + main_db_con.executescript(""" + drop table if exists commodity_mode; + + create table commodity_mode( + mode text, + commodity_id text, + commodity_phase text, + allowed_yn text, + CONSTRAINT unique_commodity_and_mode UNIQUE(commodity_id, mode)) + ;""") + + commod = main_db_con.execute("select commodity_name, commodity_id, phase_of_matter from commodities;") + commod = commod.fetchall() + commodities = {} + for row in commod: + commodity_name = row[0] + commodity_id = row[1] + phase_of_matter = row[2] + commodities[commodity_name] = (commodity_id, phase_of_matter) + + # read in from csv file and insert those entries first, using commodity id + # then, fill in for all other unspecified commodities and modes, pipeline liquid only + commodity_mode_dict = make_commodity_mode_dict(the_scenario, logger) + for mode in the_scenario.permittedModes: + for k, v in commodities.iteritems(): + + commodity_name = k + commodity_id = v[0] + phase_of_matter = v[1] + # check commodity mode permissions for all modes. Apply resiction is specified, otherwise default to + # allowed if not specified. + if commodity_name in commodity_mode_dict and mode in commodity_mode_dict[commodity_name]: + allowed = commodity_mode_dict[commodity_name][mode] + else: + allowed = 'Y' + # pipeline is a special case. so double check if it is explicitly allowed, otherwise override to 'N'. + # restrict solids on pipeline no matter what. + if mode.partition('_')[0] == 'pipeline': + # 8/26/19 -- MNP -- note: that mode is the long name, and the dict is the short name + if mode == 'pipeline_crude_trf_rts': + short_name_mode = 'pipeline_crude' + elif mode == 'pipeline_prod_trf_rts': + short_name_mode = 'pipeline_prod' + else: logger.warning("a pipeline was specified that is not supported") + # restrict pipeline if its not explicitly allowed or if solid + if commodity_name in commodity_mode_dict and short_name_mode in commodity_mode_dict[commodity_name]: + allowed = commodity_mode_dict[commodity_name][short_name_mode] + else: + allowed = 'N' + if phase_of_matter != 'liquid': + allowed = 'N' + + main_db_con.execute(""" + insert or ignore into commodity_mode + (mode, commodity_id, commodity_phase, allowed_yn) + VALUES + ('{}',{},'{}','{}') + ; + """.format(mode, commodity_id, phase_of_matter, allowed)) + + return +# =============================================================================== + + +def source_tracking_setup(the_scenario, logger): + logger.info("START: source_tracking_setup") + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + max_inputs = main_db_con.execute("""select max(inputs) from + (select count(fc.commodity_id) inputs + from facility_commodities fc, facility_type_id ft + where ft.facility_type = 'processor' + and fc.io = 'i' + group by fc.facility_id) + ;""") + + for row in max_inputs: + if row[0] == None: + max_inputs_to_a_processor = 0 + else: + max_inputs_to_a_processor = int(row[0]) + if max_inputs_to_a_processor > 1: + logger.warning("error, this version of the optimization step only functions correctly with a single input" + " commodity type per processor") + + main_db_con.executescript(""" + + insert or ignore into commodities(commodity_name) values ('multicommodity'); + + drop table if exists source_commodity_ref + ; + + create table source_commodity_ref(id INTEGER PRIMARY KEY, + source_facility_id integer, + source_facility_name text, + source_facility_type_id integer, --lets us differentiate spiderweb from processor + commodity_id integer, + commodity_name text, + units text, + phase_of_matter text, + max_transport_distance numeric, + max_transport_distance_flag text, + share_max_transport_distance text, + CONSTRAINT unique_source_and_name UNIQUE(commodity_id, source_facility_id)) + ; + + insert or ignore into source_commodity_ref ( + source_facility_id, + source_facility_name, + source_facility_type_id, + commodity_id, + commodity_name, + units, + phase_of_matter, + max_transport_distance, + max_transport_distance_flag, + share_max_transport_distance) + select + f.facility_id, + f.facility_name, + f.facility_type_id, + c.commodity_id, + c.commodity_name, + c.units, + c.phase_of_matter, + (case when c.max_transport_distance is not null then + c.max_transport_distance else Null end) max_transport_distance, + (case when c.max_transport_distance is not null then 'Y' else 'N' end) max_transport_distance_flag, + (case when ifnull(c.share_max_transport_distance, 'N') = 'Y' then 'Y' else 'N' end) share_max_transport_distance + + from commodities c, facilities f, facility_commodities fc + where f.facility_id = fc.facility_id + and f.ignore_facility = 'false' + and fc.commodity_id = c.commodity_id + and fc.io = 'o' + and ifnull(c.share_max_transport_distance, 'N') != 'Y' + ; + + insert or ignore into source_commodity_ref ( + source_facility_id, + source_facility_name, + source_facility_type_id, + commodity_id, + commodity_name, + units, + phase_of_matter, + max_transport_distance, + max_transport_distance_flag, + share_max_transport_distance) + select + sc.source_facility_id, + sc.source_facility_name, + sc.source_facility_type_id, + o.commodity_id, + c.commodity_name, + c.units, + c.phase_of_matter, + sc.max_transport_distance, + sc.max_transport_distance_flag, + o.share_max_transport_distance + from source_commodity_ref sc, facility_commodities i, facility_commodities o, commodities c + where o.share_max_transport_distance = 'Y' + and sc.commodity_id = i.commodity_id + and o.facility_id = i.facility_id + and o.io = 'o' + and i.io = 'i' + and o.commodity_id = c.commodity_id + ; + """ + ) + # source_commodity_ref only has commodities that can flow out of a facility + # for example, commodities that only exist in a candidate process, not processor, are excluded + # does include entries even if there's no max transport distance, has a flag for that + + return + + +# =============================================================================== + + +def generate_all_vertices(the_scenario, logger): + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + j = np.load("earthquake_day.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + logger.info("earthquake day {}".format(j)) + + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== + + + logger.info("START: generate_all_vertices table") + + + total_potential_production = {} + multi_commodity_name = "multicommodity" + + storage_availability = 1 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + # create the vertices table + main_db_con.executescript(""" + drop table if exists vertices + ; + + create table if not exists vertices ( + vertex_id INTEGER PRIMARY KEY, location_id, + facility_id integer, facility_name text, facility_type_id integer, schedule_day integer, + commodity_id integer, activity_level numeric, storage_vertex binary, + udp numeric, supply numeric, demand numeric, + source_facility_id integer, + iob text, --allows input, output, or both + CONSTRAINT unique_vertex UNIQUE(facility_id, schedule_day, commodity_id, source_facility_id, storage_vertex)) + ;""") + + # create indexes for the networkx nodes and links tables + main_db_con.executescript(""" + CREATE INDEX IF NOT EXISTS node_index ON networkx_nodes (node_id, location_id) + ; + + create index if not exists nx_edge_index on + networkx_edges(from_node_id, to_node_id, + artificial, mode_source, mode_source_OID, + miles, route_cost_scaling, capacity) + ; + """) + + # create the schedules table + main_db_con.execute(""" + create table if not exists schedules ( + schedule_id INTEGER PRIMARY KEY, + schedule_name text, + default_value integer, + full_schedule text, + total_days integer) + ; + """) + + # create default schedules + main_db_con.execute(""" + -- noinspection SqlResolve + + INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}') + ;""".format('default_schedule', 1, 2, 'default_schedule')) + + main_db_con.execute("""INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}') + ;""".format('default_1_day_schedule', 1, 1, 'default_1_day_schedule')) + + # -------------------------------- + + db_cur = main_db_con.cursor() + # nested cursor + db_cur4 = main_db_con.cursor() + counter = 0 + total_facilities = 0 + + for row in db_cur.execute("select count(distinct facility_id) from facilities;"): + total_facilities = row[0] + + # create vertices for each non-ignored facility facility + # facility_type can be "raw_material_producer", "ultimate_destination","processor"; + # get id from facility_type_id table + # any other facility types are not currently handled + + facility_data = db_cur.execute(""" + select facility_id, + facility_type, + facility_name, + location_id, + f.facility_type_id + + from facilities f, facility_type_id ft + where ignore_facility = '{}' + and f.facility_type_id = ft.facility_type_id; + """.format('false')) + facility_data = facility_data.fetchall() + for row_a in facility_data: + + db_cur2 = main_db_con.cursor() + facility_id = row_a[0] + facility_type = row_a[1] + facility_name = row_a[2] + facility_location_id = row_a[3] + facility_type_id = row_a[4] + if counter % 10000 == 1: + logger.info("vertices created for {} facilities of {}".format(counter, total_facilities)) + for row_d in db_cur4.execute("select count(distinct vertex_id) from vertices;"): + logger.info('{} vertices created'.format(row_d[0])) + counter = counter + 1 + + if facility_type == "processor": + # actual processors - will deal with endcaps in edges section + + # each processor facility should have 1 input commodity with 1 storage vertex, 1 or more output + # commodities each with 1 storage vertex, and 1 primary processing vertex replicate by time, + # create primary vertex, replicate by commodity to create storage vertices; can also create primary + # vertex for input commodity do this for each subcommodity now instead of each commodity aggregate + # subcommodities at primary processor vertex + + # create processor vertices for any commodities that do not inherit max transport distance + proc_data = db_cur2.execute("""select fc.commodity_id, + ifnull(fc.quantity, 0), + fc.units, + ifnull(c.supertype, c.commodity_name), + fc.io, + mc.commodity_id, + c.commodity_name, + ifnull(s.source_facility_id, 0) + from facility_commodities fc, commodities c, commodities mc + left outer join source_commodity_ref s + on (fc.commodity_id = s.commodity_id and s.max_transport_distance_flag = 'Y') + where fc.facility_id = {} + and fc.commodity_id = c.commodity_id + and mc.commodity_name = '{}';""".format(facility_id, multi_commodity_name)) + + proc_data = proc_data.fetchall() + # entry for each incoming commodity and its potential sources + # each outgoing commodity with this processor as their source IF there is a max commod distance + for row_b in proc_data: + + #=========================================Modification==================================================================== + # Following part is modified to include time-varying facility capacity in the aftermath of earthquake + commodity_id = row_b[0] + # if day < repair time for this facility, + if j < repair_time_facility[float(facility_id)-2][t+1][i]: + quantity = facility_cap[float(facility_id)-2][t+1][i]*row_b[1] + else: + quantity = facility_cap_noEarthquake[float(facility_id)-2][t+1][i]*row_b[1] + #========================================End================================================================================= + + # units = row_b[2] + # commodity_supertype = row_b[3] + io = row_b[4] + id_for_mult_commodities = row_b[5] + commodity_name = row_b[6] + source_facility_id = row_b[7] + new_source_facility_id = facility_id + + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + # vertices for generic demand type, or any subtype specified by the destination + while day <= stop_day: + if io == 'i': + main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, + facility_type_id, facility_name, schedule_day, commodity_id, activity_level, + storage_vertex, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + '{}' );""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + id_for_mult_commodities, availability[day], primary, + new_source_facility_id, 'b')) + + main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, + facility_type_id, facility_name, schedule_day, commodity_id, activity_level, + storage_vertex, demand, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, + {}, {}, {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, + facility_name, + day, commodity_id, storage_availability, storage, quantity, + source_facility_id, io)) + + else: + if commodity_name != 'total_fuel': + main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, + facility_type_id, facility_name, schedule_day, commodity_id, activity_level, + storage_vertex, supply, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, + {}, {}, {}, {}, '{}');""".format( + facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage_availability, storage, quantity, source_facility_id, io)) + day = day + 1 + + # for RMPSs specifically, source_facility_id must match facility_id; could do that conditionally within sql + # if we bring storage facilities back (12-2018), we would want them split by source_facility + elif facility_type == "raw_material_producer": + rmp_data = db_cur.execute("""select fc.commodity_id, fc.quantity, fc.units, + ifnull(s.source_facility_id, 0), io + from facility_commodities fc + left outer join source_commodity_ref s + on (fc.commodity_id = s.commodity_id + and s.max_transport_distance_flag = 'Y' + and s.source_facility_id = {}) + where fc.facility_id = {};""".format(facility_id, facility_id)) + + rmp_data = rmp_data.fetchall() + + for row_b in rmp_data: + commodity_id = row_b[0] + #=========================================Modification==================================================================== + # Following part is modified to include time-varying facility capacity in FTOT + if j < repair_time_facility[float(facility_id)-1][t+1][i]: + quantity = facility_cap[float(facility_id)-1][t+1][i]*row_b[1] + else: + quantity = facility_cap_noEarthquake[float(facility_id)-1][t+1][i]*row_b[1] + + #=========================================End================================================================================= + + # units = row_b[2] + source_facility_id = row_b[3] + iob = row_b[4] + + if commodity_id in total_potential_production: + total_potential_production[commodity_id] = total_potential_production[commodity_id] + quantity + else: + total_potential_production[commodity_id] = quantity + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, supply, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, availability[day], primary, quantity, + source_facility_id, iob)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, supply, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage_availability, storage, quantity, + source_facility_id, iob)) + day = day + 1 + + elif facility_type == "storage": # storage facility + # handle as such, exploding by time and commodity + # print type(f.commodity_slate) + # print type(f.commodity_slate.AllAllowedCommodities()) + storage_fac_data = db_cur.execute("""select + fc.commodity_id, + fc.quantity, + fc.units, + ifnull(s.source_facility_id, 0), + io + from facility_commodities fc + left outer join source_commodity_ref s + on (fc.commodity_id = s.commodity_id and s.max_transport_distance_flag = 'Y') + where fc.facility_id = {} ;""".format(facility_id)) + + storage_fac_data = storage_fac_data.fetchall() + + for row_b in storage_fac_data: + commodity_id = row_b[0] + # quantity = row_b[1] + # units = row_b[2] + source_facility_id = row_b[3] # 0 if not source-tracked + iob = row_b[4] + + day = default_sched.first_day + stop_day = default_sched.last_day + # availability = default_sched.availability + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + storage_vertex, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage, + source_facility_id, iob)) + day = day + 1 + + elif facility_type == "ultimate_destination": + + dest_data = db_cur2.execute("""select + fc.commodity_id, + ifnull(fc.quantity, 0), + fc.units, + fc.commodity_id, + ifnull(c.supertype, c.commodity_name), + ifnull(s.source_facility_id, 0), + io + from facility_commodities fc, commodities c + left outer join source_commodity_ref s + on (fc.commodity_id = s.commodity_id and s.max_transport_distance_flag = 'Y') + where fc.facility_id = {} + and fc.commodity_id = c.commodity_id;""".format(facility_id)) + + dest_data = dest_data.fetchall() + + for row_b in dest_data: + commodity_id = row_b[0] + #=========================================Modification==================================================================== + # Following part is modified to include time-varying facility capacity in FTOT + if j < repair_time_facility[float(facility_id)][t+1][i]: + quantity = facility_cap[float(facility_id)][t+1][i]*row_b[1] + else: + quantity = row_b[1] + #=====================================End===================================================================================== + # units = row_b[2] + # commodity_id = row_b[3] + commodity_supertype = row_b[4] + source_facility_id = row_b[5] + iob = row_b[6] + zero_source_facility_id = 0 # material merges at primary vertex + + # this is where the alternate schedule for destination demand can be set + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + # vertices for generic demand type, or any subtype specified by the destination + while day <= stop_day and quantity > 0: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, udp, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, + {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, availability[day], primary, quantity, + the_scenario.unMetDemandPenalty, + zero_source_facility_id, iob)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage_availability, storage, quantity, + source_facility_id, iob)) + day = day + 1 + # vertices for other fuel subtypes that match the destination's supertype + # if the subtype is in the commodity table, it is produced by some facility in the scenario + db_cur3 = main_db_con.cursor() + for row_c in db_cur3.execute("""select commodity_id, units from commodities + where supertype = '{}';""".format(commodity_supertype)): + new_commodity_id = row_c[0] + # new_units = row_c[1] + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, + facility_type_id, facility_name, schedule_day, commodity_id, activity_level, + storage_vertex, demand, udp, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, + {}, {}, {}, {}, {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, + facility_name, + day, new_commodity_id, availability[day], primary, + quantity, + the_scenario.unMetDemandPenalty, + zero_source_facility_id, iob)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, + day, new_commodity_id, storage_availability, storage, quantity, + source_facility_id, iob)) + day = day + 1 + + + else: + logger.warning( + "error, unexpected facility_type: {}, facility_type_id: {}".format(facility_type, facility_type_id)) + + for row_d in db_cur4.execute("select count(distinct vertex_id) from vertices;"): + logger.info('{} vertices created'.format(row_d[0])) + + logger.debug("total possible production in scenario: {}".format(total_potential_production)) + + +# =============================================================================== + + +def add_storage_routes(the_scenario, logger): + logger.info("start: add_storage_routes") + # these are loops to and from the same facility; when multiplied to edges, + # they will connect primary to storage vertices, and storage vertices day to day + # will always create edge for this route from storage to storage vertex + # IF a primary vertex exists, will also create an edge connecting the storage vertex to the primary + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + logger.debug("create the storage_routes table") + + main_db_con.execute("drop table if exists storage_routes;") + main_db_con.execute("""create table if not exists storage_routes as + select facility_name || '_storage' as route_name, + location_id, + facility_id, + facility_name as o_name, + facility_name as d_name, + {} as cost_1, + {} as cost_2, + 1 as travel_time, + {} as storage_max, + 0 as storage_min + from facilities + where ignore_facility = 'false' + ;""".format(storage_cost_1, storage_cost_2, facility_onsite_storage_max)) + main_db_con.execute("""create table if not exists route_reference( + route_id INTEGER PRIMARY KEY, route_type text, route_name text, scenario_rt_id integer, + CONSTRAINT unique_routes UNIQUE(route_type, route_name, scenario_rt_id));""") + main_db_con.execute( + "insert or ignore into route_reference select null,'storage', route_name, 0 from storage_routes;") + + return + + +# =============================================================================== + + +def generate_connector_and_storage_edges(the_scenario, logger): + logger.info("START: generate_connector_and_storage_edges") + + multi_commodity_name = "multicommodity" + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + db_cur = main_db_con.cursor() + if ('pipeline_crude_trf_rts' in the_scenario.permittedModes) or ( + 'pipeline_prod_trf_rts' in the_scenario.permittedModes): + logger.info("create indices for the capacity_nodes and pipeline_mapping tables") + main_db_con.executescript( + """ + CREATE INDEX IF NOT EXISTS pm_index + ON pipeline_mapping (id, id_field_name, mapping_id_field_name, mapping_id); + CREATE INDEX IF NOT EXISTS cn_index ON capacity_nodes (source, id_field_name, source_OID); + """) + + for row in db_cur.execute( + "select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): + id_for_mult_commodities = row[0] + + # create storage & connector edges + main_db_con.execute("drop table if exists edges;") + main_db_con.executescript(""" + create table edges (edge_id INTEGER PRIMARY KEY, + route_id integer, + from_node_id integer, + to_node_id integer, + start_day integer, + end_day integer, + commodity_id integer, + o_vertex_id integer, + d_vertex_id integer, + max_edge_capacity numeric, + volume numeric, + capac_minus_volume_zero_floor numeric, + min_edge_capacity numeric, + capacity_units text, + units_conversion_multiplier numeric, + edge_flow_cost numeric, + edge_flow_cost2 numeric, + edge_type text, + nx_edge_id integer, + mode text, + mode_oid integer, + miles numeric, + simple_mode text, + tariff_id numeric, + phase_of_matter text, + source_facility_id integer, + miles_travelled numeric, + children_created text, + edge_count_from_source integer, + total_route_cost numeric, + CONSTRAINT unique_nx_subc_day UNIQUE(nx_edge_id, commodity_id, source_facility_id, start_day)) + ; + + insert or ignore into edges (route_id, + start_day, end_day, + commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, + edge_flow_cost, edge_flow_cost2,edge_type, + source_facility_id) + select o.route_id, o.schedule_day, d.schedule_day, + o.commodity_id, o.vertex_id, d.vertex_id, + o.storage_max, o.storage_min, + o.cost_1, o.cost_2, 'storage', + o.source_facility_id + from vertices d, + (select v.vertex_id, v.schedule_day, + v.commodity_id, v.storage_vertex, v.source_facility_id, + t.* + from vertices v, + (select sr.route_name, o_name, d_name, cost_1,cost_2, travel_time, + storage_max, storage_min, rr.route_id, location_id, facility_id + from storage_routes sr, route_reference rr where sr.route_name = rr.route_name) t + where v.facility_id = t.facility_id + and v.storage_vertex = 1) o + where d.facility_id = o.facility_id + and d.schedule_day = o.schedule_day+o.travel_time + and d.commodity_id = o.commodity_id + and o.vertex_id != d.vertex_id + and d.storage_vertex = 1 + and d.source_facility_id = o.source_facility_id + ; + + insert or ignore into edges (route_id, start_day, end_day, + commodity_id, o_vertex_id, d_vertex_id, + edge_flow_cost, edge_type, + source_facility_id) + select s.route_id, s.schedule_day, p.schedule_day, + (case when s.commodity_id = {} then p.commodity_id else s.commodity_id end) commodity_id, + --inbound commodies start at storage and go into primary + --outbound starts at primary and goes into storage + --anything else is an error for a connector edge + (case when fc.io = 'i' then s.vertex_id + when fc.io = 'o' then p.vertex_id + else 0 end) as o_vertex, + (case when fc.io = 'i' then p.vertex_id + when fc.io = 'o' then s.vertex_id + else 0 end) as d_vertex, + 0, 'connector', + s.source_facility_id + from vertices p, facility_commodities fc, + --s for storage vertex info, p for primary vertex info + (select v.vertex_id, v.schedule_day, + v.commodity_id, v.storage_vertex, v.source_facility_id, + t.* + from vertices v, + (select sr.route_name, o_name, d_name, cost_1,cost_2, travel_time, + storage_max, storage_min, rr.route_id, location_id, facility_id + from storage_routes sr, route_reference rr where sr.route_name = rr.route_name) t --t is route data + where v.facility_id = t.facility_id + and v.storage_vertex = 1) s + --from storage into primary, same day = inbound connectors + where p.facility_id = s.facility_id + and p.schedule_day = s.schedule_day + and (p.commodity_id = s.commodity_id or p.commodity_id = {} ) + and p.facility_id = fc.facility_id + and fc.commodity_id = s.commodity_id + and p.storage_vertex = 0 + --either edge is inbound and aggregating, or kept separate by source, or primary vertex is not source tracked + and + (p.source_facility_id = 0 or p.source_facility_id = p.facility_id or p.source_facility_id = s.source_facility_id) + ;""".format(id_for_mult_commodities, id_for_mult_commodities)) + + for row_d in db_cur.execute("select count(distinct edge_id) from edges where edge_type = 'connector';"): + logger.info('{} connector edges created'.format(row_d[0])) + # clear any transport edges from table + db_cur.execute("delete from edges where edge_type = 'transport';") + + return + + +# =============================================================================== + + +def generate_first_edges_from_source_facilities(the_scenario, logger): + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== + + logger.info("START: generate_first_edges_from_source_facilities") + # create edges table + # plan to generate start and end days based on nx edge time to traverse and schedule + # can still have route_id, but only for storage routes now; nullable + + # multi_commodity_name = "multicommodity" + transport_edges_created = 0 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + db_cur = main_db_con.cursor() + edges_requiring_children = 0 + + counter = 0 + # for row in ("select commodity_id from commodities where commodity_name = '{}'; + # """.format(multi_commodity_name)): + # id_for_mult_commodities = row[0] + # for row in db_cur.execute("select count(*) from networkx_edges;"): + # total_transport_routes = row[0] + + # create transport edges, only between storage vertices and nodes, based on networkx graph + # never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + # iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + # should also be per day, subject to nx edge schedule + # before creating an edge, check: commodity allowed by nx and max transport distance if not null + # will need nodes per day and commodity? or can I just check that with constraints? + # select data for transport edges + # ****1**** Only edges coming from RMP/source storage vertices + # ** ONLY FOR COMMODITIES WITH A MAX TRANSPORT DISTANCE + # set distance travelled to miles of edges; set indicator for newly created edges to 'N' + # edge_count_from_source = 1 + # ****2**** only nx_edges coming from entries in edges (check connector nodes) + # set distance travelling to miles of new endge plus existing input edge; set indicator for processed edges in + # edges to 'Y' + # only create new edge if distance travelled is less than allowed + # repeat 2 while there are 'N' edges, for transport edges only + # count loops + # this is now per-vertex - rework it to not all be done in loop, but in sql block + # connector and storage edges can be done exactly as before, in fact need to be done first, + # now in separate method + + commodity_mode_data = main_db_con.execute("select * from commodity_mode;") + commodity_mode_data = commodity_mode_data.fetchall() + commodity_mode_dict = {} + for row in commodity_mode_data: + mode = row[0] + commodity_id = int(row[1]) + commodity_phase = row[2] + allowed_yn = row[3] + commodity_mode_dict[mode, commodity_id] = allowed_yn + + + source_edge_data = main_db_con.execute("""select + ne.edge_id, + ifnull(CAST(fn.location_id as integer), 'NULL'), + ifnull(CAST(tn.location_id as integer), 'NULL'), + ne.mode_source, + ifnull(nec.phase_of_matter_id, 'NULL'), + nec.route_cost, + ne.from_node_id, + ne.to_node_id, + nec.dollar_cost, + ne.miles, + ne.capacity, + ne.artificial, + ne.mode_source_oid, + v.commodity_id, + v.schedule_day, + v.vertex_id, + v.source_facility_id, + tv.vertex_id, + ifnull(t.miles_travelled, 0), + ifnull(t.edge_count_from_source, 0), + t.mode + from networkx_edges ne, networkx_nodes fn, networkx_nodes tn, networkx_edge_costs nec, vertices v, + facility_type_id ft, facility_commodities fc + left outer join (--get facilities with incoming transport edges with tracked mileage + select vi.facility_id, min(ei.miles_travelled) miles_travelled, ei.source_facility_id, + ei.edge_count_from_source, ei.mode + from edges ei, vertices vi + where vi.vertex_id = ei.d_vertex_id + and edge_type = 'transport' + and ifnull(miles_travelled, 0) > 0 + group by vi.facility_id, ei.source_facility_id, ei.mode) t + on t.facility_id = v.facility_id and t.source_facility_id = v.source_facility_id and ne.mode_source = t.mode + left outer join vertices tv + on (CAST(tn.location_id as integer) = tv.location_id and v.source_facility_id = tv.source_facility_id) + where v.location_id = CAST(fn.location_id as integer) + and fc.facility_id = v.facility_id + and fc.commodity_id = v.commodity_id + and fc.io = 'o' + and ft.facility_type_id = v.facility_type_id + and (ft.facility_type = 'raw_material_producer' or t.facility_id = v.facility_id) + and ne.from_node_id = fn.node_id + and ne.to_node_id = tn.node_id + and ne.edge_id = nec.edge_id + and ifnull(ne.capacity, 1) > 0 + and v.storage_vertex = 1 + and v.source_facility_id != 0 --max commodity distance applies + ;""") + source_edge_data = source_edge_data.fetchall() + for row_a in source_edge_data: + + nx_edge_id = row_a[0] + from_location = row_a[1] + to_location = row_a[2] + mode = row_a[3] + phase_of_matter = row_a[4] + route_cost = row_a[5] + from_node = row_a[6] + to_node = row_a[7] + dollar_cost = row_a[8] + miles = row_a[9] + # max_daily_capacity = row_a[10] + # artificial = row_a[11] + mode_oid = row_a[12] + commodity_id = row_a[13] + origin_day = row_a[14] + vertex_id = row_a[15] + source_facility_id = row_a[16] + to_vertex = row_a[17] + previous_miles_travelled = row_a[18] + previous_edge_count = row_a[19] + previous_mode = row_a[20] + + simple_mode = row_a[3].partition('_')[0] + edge_count_from_source = 1 + previous_edge_count + total_route_cost = route_cost + miles_travelled = previous_miles_travelled + miles + + if counter % 10000 == 0: + # logger.info("edges created for {} transport links of {}".format(counter, total_transport_routes)) + for row_d in db_cur.execute("select count(distinct edge_id) from edges;"): + logger.info('{} edges created'.format(row_d[0])) + counter = counter + 1 + + tariff_id = 0 + if simple_mode == 'pipeline': + + # find tariff_ids + + sql = "select mapping_id from pipeline_mapping " \ + "where id = {} and id_field_name = 'source_OID' " \ + "and source = '{}' and mapping_id is not null;".format( + mode_oid, mode) + for tariff_row in db_cur.execute(sql): + tariff_id = tariff_row[0] + + + if mode in the_scenario.permittedModes and (mode, commodity_id) in commodity_mode_dict.keys() \ + and commodity_mode_dict[mode, commodity_id] == 'Y': + + # Edges are placeholders for flow variables + # 4-17: if both ends have no location, iterate through viable commodities and days, create edge + # for all days (restrict by link schedule if called for) + # for all allowed commodities, as currently defined by link phase of matter + + if origin_day in range(default_sched.first_day, default_sched.last_day + 1): + if origin_day + fixed_route_duration <= default_sched.last_day: + # if link is traversable in the timeframe + if simple_mode != 'pipeline' or tariff_id >= 0: + # for allowed commodities + # step 1 from source is from non-Null location to (probably) null location + + if from_location != 'NULL' and to_location == 'NULL': + # for each day and commodity, + # get the corresponding origin vertex id to include with the edge info + # origin vertex must not be "ultimate_destination + # transport link outgoing from facility - checking fc.io is more thorough + # than checking if facility type is 'ultimate destination' + # only connect to vertices with matching source_facility_id + # source_facility_id is zero for commodities without source tracking + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id,phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + miles_travelled, 'N', edge_count_from_source, total_route_cost)) + + + elif from_location != 'NULL' and to_location != 'NULL': + # for each day and commodity, get the corresponding origin and destination vertex ids + # to include with the edge info + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, {}, + {}, {}, {}, + '{}',{},'{}', {}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, to_vertex, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + miles_travelled, 'N', edge_count_from_source, total_route_cost)) + + for row in db_cur.execute("select count(distinct edge_id) from edges where edge_type = 'transport';"): + transport_edges_created = row[0] + logger.info('{} transport edges created'.format(transport_edges_created)) + for row in db_cur.execute("""select count(distinct edge_id), children_created from edges + where edge_type = 'transport' + group by children_created;"""): + if row[1] == 'N': + edges_requiring_children = row[0] + # logger.info('{} transport edges that need children'.format(row[0])) + + elif row[1] == 'Y': + logger.info('{} transport edges that have already been checked for children'.format(row[0])) + edges_requiring_children = transport_edges_created - row[0] + # edges_requiring_children is updated under either condition here, since one may not be triggered + logger.info('{} transport edges that need children'.format(edges_requiring_children)) + + return + + +# =============================================================================== + + +def generate_all_edges_from_source_facilities(the_scenario, logger): + # method only runs for commodities with a max commodity constraint + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== + + logger.info("START: generate_all_edges_from_source_facilities") + + multi_commodity_name = "multicommodity" + # initializations - all of these get updated if >0 edges exist + # transport_edges_created = 0 + edges_requiring_children = 0 + endcap_edges = 0 + edges_resolved = 0 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + db_cur = main_db_con.cursor() + transport_edges_created = 0 + nx_edge_count = 0 + source_based_edges_created = 0 + + for row_d in db_cur.execute("""select count(distinct e.edge_id), count(distinct e.nx_edge_id) + from edges e where e.edge_type = 'transport' + and children_created in ('N', 'Y', 'E');"""): + source_based_edges_created = row_d[0] + + for row_d in db_cur.execute("""select count(distinct e.edge_id), count(distinct e.nx_edge_id) + from edges e where e.edge_type = 'transport';"""): + transport_edges_created = row_d[0] + nx_edge_count = row_d[1] + + + commodity_mode_data = main_db_con.execute("select * from commodity_mode;") + commodity_mode_data = commodity_mode_data.fetchall() + commodity_mode_dict = {} + for row in commodity_mode_data: + mode = row[0] + commodity_id = int(row[1]) + commodity_phase = row[2] + allowed_yn = row[3] + commodity_mode_dict[mode, commodity_id] = allowed_yn + + current_edge_data = db_cur.execute("""select count(distinct edge_id), children_created + from edges + where edge_type = 'transport' + group by children_created + order by children_created asc;""") + current_edge_data = current_edge_data.fetchall() + for row in current_edge_data: + if row[1] == 'N': + edges_requiring_children = row[0] + elif row[1] == 'Y': + edges_resolved = row[0] + elif row[1] == 'E': + endcap_edges = row[0] + if source_based_edges_created == edges_resolved + endcap_edges: + edges_requiring_children = 0 + if source_based_edges_created == edges_requiring_children + endcap_edges: + edges_resolved = 0 + if source_based_edges_created == edges_requiring_children + edges_resolved: + endcap_edges = 0 + + logger.info( + '{} transport edges created; {} require children'.format(transport_edges_created, edges_requiring_children)) + + # for row in ("select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): + # id_for_mult_commodities = row[0] + # for row in db_cur.execute("select count(*) from networkx_edges;"): + # total_transport_routes = row[0] + + # set up a table to keep track of endcap nodes + sql = """ + drop table if exists endcap_nodes; + create table if not exists endcap_nodes( + node_id integer NOT NULL, + + location_id integer, + + --mode of edges that it's an endcap for + mode_source text NOT NULL, + + --facility it's an endcap for + source_facility_id integer NOT NULL, + + --commodities it's an endcap for + commodity_id integer NOT NULL, + + CONSTRAINT endcap_key PRIMARY KEY (node_id, mode_source, source_facility_id, commodity_id)) + --the combination of these four (excluding location_id) should be unique, + --and all fields except location_id should be filled + ;""" + db_cur.executescript(sql) + + # create transport edges, only between storage vertices and nodes, based on networkx graph + # never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + # iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + # should also be per day, subject to nx edge schedule + # before creating an edge, check: commodity allowed by nx and max transport distance if not null + # will need nodes per day and commodity? or can I just check that with constraints? + # select data for transport edges + # ****1**** Only edges coming from RMP/source storage vertices + # set distance travelled to miles of edges; set indicator for newly created edges to 'N' + # edge_count_from_source = 1 + # ****2**** only nx_edges coming from entries in edges (check connector nodes) + # set distance travelling to miles of new endge plus existing input edge; + # set indicator for processed edges in edges to 'Y' + # only create new edge if distance travelled is less than allowed + # repeat 2 while there are 'N' edges, for transport edges only + + edge_into_facility_counter = 0 + while_count = 0 + + while edges_requiring_children > 0: + while_count = while_count+1 + + # --get nx edges that align with the existing "in edges" - data from nx to create new edges --for each of + # those nx_edges, if they connect to more than one "in edge" in this batch, only consider connecting to + # the shortest -- if there is a valid nx_edge to build, the crossing node is not an endcap if total miles + # of the new route is over max transport distance, then endcap what if one child goes over max transport + # and another doesn't then the node will get flagged as an endcap, and another path may continue off it, + # allow both for now --check that day and commodity are permitted by nx + + potential_edge_data = main_db_con.execute(""" + select + ch.edge_id as ch_nx_edge_id, + ifnull(CAST(chfn.location_id as integer), 'NULL') fn_location_id, + ifnull(CAST(chtn.location_id as integer), 'NULL') tn_location_id, + ch.mode_source, + p.phase_of_matter, + nec.route_cost, + ch.from_node_id, + ch.to_node_id, + nec.dollar_cost, + ch.miles, + ch.capacity, + ch.artificial, + ch.mode_source_oid, + --parent edge into + p.commodity_id, + p.end_day, + --parent's dest. vertex if exists + ifnull(p.d_vertex_id,0) o_vertex, + p.source_facility_id, + p.leadin_miles_travelled, + + (p.edge_count_from_source +1) as new_edge_count, + (p.total_route_cost + nec.route_cost) new_total_route_cost, + p.edge_id leadin_edge, + p.nx_edge_id leadin_nx_edge, + + --new destination vertex if exists + ifnull(chtv.vertex_id,0) d_vertex, + + sc.max_transport_distance + + from + (select count(edge_id) parents, + min(miles_travelled) leadin_miles_travelled, + * + from edges + where children_created = 'N' + -----------------do not mess with this "group by" + group by to_node_id, source_facility_id, commodity_id, end_day + ------------------it affects which columns we're checking over for min miles travelled + --------------so that we only get the parent edges we want + order by parents desc + ) p, --parent edges to use in this batch + networkx_edges ch, + networkx_edge_costs nec, + source_commodity_ref sc, + networkx_nodes chfn, + networkx_nodes chtn + left outer join vertices chtv + on (CAST(chtn.location_id as integer) = chtv.location_id + and p.source_facility_id = chtv.source_facility_id + and chtv.commodity_id = p.commodity_id + and p.end_day = chtv.schedule_day + and chtv.iob = 'i') + + where p.to_node_id = ch.from_node_id + --and p.mode = ch.mode_source --build across modes, control at conservation of flow + and ch.to_node_id = chtn.node_id + and ch.from_node_id = chfn.node_id + and p.phase_of_matter = nec.phase_of_matter_id + and ch.edge_id = nec.edge_id + and ifnull(ch.capacity, 1) > 0 + and p.commodity_id = sc.commodity_id + ;""") + + # --should only get a single leadin edge per networkx/source/commodity/day combination + # leadin edge should be in route_data, current set of min. identifiers + # if we're trying to add an edge that has an entry in route_data, new miles travelled must be less + + potential_edge_data = potential_edge_data.fetchall() + # logger.info("potential_edge_data.fetchall() completed") + # pdb.set_trace() + + main_db_con.execute("update edges set children_created = 'Y' where children_created = 'N';") + # this deliberately includes updating "parent" edges that did not get chosen because they weren't the + # current shortest path those edges are still "resolved" by this batch logger.info( + # "edges.children_created updated to 'Y' for set about to be addressed") + + for row_a in potential_edge_data: + nx_edge_id = row_a[0] + from_location = row_a[1] + to_location = row_a[2] + mode = row_a[3] + phase_of_matter = row_a[4] + route_cost = row_a[5] + from_node = row_a[6] + to_node = row_a[7] + dollar_cost = row_a[8] + miles = row_a[9] + # max_daily_capacity = row_a[10] + # artificial = row_a[11] + mode_oid = row_a[12] + commodity_id = row_a[13] + origin_day = row_a[14] + vertex_id = row_a[15] + source_facility_id = row_a[16] + leadin_edge_miles_travelled = row_a[17] + new_edge_count = row_a[18] + total_route_cost = row_a[19] + leadin_edge_id = row_a[20] + # leadin_nx_edge_id = row_a[21] + to_vertex = row_a[22] + max_commodity_travel_distance = row_a[23] + + # end_day = origin_day + fixed_route_duration + new_miles_travelled = miles + leadin_edge_miles_travelled + + if mode in the_scenario.permittedModes and (mode, commodity_id) in commodity_mode_dict.keys() \ + and commodity_mode_dict[mode, commodity_id] == 'Y': + + if new_miles_travelled > max_commodity_travel_distance: + # designate leadin edge as endcap + children_created = 'E' + # update the incoming edge to indicate it's an endcap + db_cur.execute( + "update edges set children_created = '{}' where edge_id = {}".format(children_created, + leadin_edge_id)) + if from_location != 'NULL': + db_cur.execute("""insert or ignore into endcap_nodes( + node_id, location_id, mode_source, source_facility_id, commodity_id) + VALUES ({}, {}, '{}', {}, {}); + """.format(from_node, from_location, mode, source_facility_id, commodity_id)) + else: + db_cur.execute("""insert or ignore into endcap_nodes( + node_id, mode_source, source_facility_id, commodity_id) + VALUES ({}, '{}', {}, {}); + """.format(from_node, mode, source_facility_id, commodity_id)) + + # designate leadin edge as endcap + # this does, deliberately, allow endcap status to be + # overwritten if we've found a shorter path to a previous endcap + + # create new edge + elif new_miles_travelled <= max_commodity_travel_distance: + + simple_mode = row_a[3].partition('_')[0] + tariff_id = 0 + if simple_mode == 'pipeline': + + # find tariff_ids + + sql = """select mapping_id + from pipeline_mapping + where id = {} + and id_field_name = 'source_OID' + and source = '{}' + and mapping_id is not null;""".format(mode_oid, mode) + for tariff_row in db_cur.execute(sql): + tariff_id = tariff_row[0] + + # if there are no edges yet for this day, nx, subc combination, + # AND this is the shortest existing leadin option for this day, nx, subc combination + # we'd be creating an edge for (otherwise wait for the shortest option) + # at this step, some leadin edge should always exist + + if origin_day in range(default_sched.first_day, default_sched.last_day + 1): + if origin_day + fixed_route_duration <= default_sched.last_day: + # if link is traversable in the timeframe + if simple_mode != 'pipeline' or tariff_id >= 0: + + + if from_location == 'NULL' and to_location == 'NULL': + # for each day and commodity, + # get the corresponding origin vertex id to include with the edge info + # origin vertex must not be "ultimate_destination + # transport link outgoing from facility - checking fc.io is more thorough than + # checking if facility type is 'ultimate destination' + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id,phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, {}, {}, + '{}',{},'{}',{}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + new_miles_travelled, 'N', new_edge_count, total_route_cost)) + # only create edge going into a location if an appropriate vertex exists + elif from_location == 'NULL' and to_location != 'NULL' and to_vertex > 0: + edge_into_facility_counter = edge_into_facility_counter + 1 + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}', {}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + to_vertex, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + new_miles_travelled, 'N', new_edge_count, total_route_cost)) + + elif from_location != 'NULL' and to_location == 'NULL': + # for each day and commodity, get the corresponding origin vertex id + # to include with the edge info + # origin vertex must not be "ultimate_destination + # transport link outgoing from facility - checking fc.io is more thorough than + # checking if facility type is 'ultimate destination' + # new for bsc, only connect to vertices with matching source facility id + # (only limited for RMP vertices) + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + new_miles_travelled, 'N', new_edge_count, total_route_cost)) + + + elif from_location != 'NULL' and to_location != 'NULL': + # for each day and commodity, get the corresponding origin and + # destination vertex ids to include with the edge info + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, + total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, {}, + {}, {}, {}, + '{}',{},'{}', {}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, to_vertex, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + new_miles_travelled, 'N', new_edge_count, total_route_cost)) + + for row_d in db_cur.execute("""select count(distinct e.edge_id), count(distinct e.nx_edge_id) + from edges e where e.edge_type = 'transport' + and children_created in ('N', 'Y', 'E');"""): + source_based_edges_created = row_d[0] + + for row_d in db_cur.execute("""select count(distinct e.edge_id), count(distinct e.nx_edge_id) + from edges e where e.edge_type = 'transport';"""): + transport_edges_created = row_d[0] + nx_edge_count = row_d[1] + + current_edge_data = db_cur.execute("""select count(distinct edge_id), children_created + from edges + where edge_type = 'transport' + group by children_created + order by children_created asc;""") + current_edge_data = current_edge_data.fetchall() + for row in current_edge_data: + if row[1] == 'N': + edges_requiring_children = row[0] + elif row[1] == 'Y': + edges_resolved = row[0] + elif row[1] == 'E': + endcap_edges = row[0] + logger.debug('{} endcap edges designated for candidate generation step'.format(endcap_edges)) + if source_based_edges_created == edges_resolved + endcap_edges: + edges_requiring_children = 0 + if source_based_edges_created == edges_requiring_children + endcap_edges: + edges_resolved = 0 + if source_based_edges_created == edges_requiring_children + edges_resolved: + endcap_edges = 0 + + if while_count % 1000 == 0 or edges_requiring_children == 0: + logger.info( + '{} transport edges on {} nx edges, created in {} loops, {} edges_requiring_children'.format( + transport_edges_created, nx_edge_count, while_count, edges_requiring_children)) + + # edges going in to the facility by re-running "generate first edges + # then re-run this method + + logger.info('{} transport edges on {} nx edges, created in {} loops, {} edges_requiring_children'.format( + transport_edges_created, nx_edge_count, while_count, edges_requiring_children)) + logger.info("all source-based transport edges created") + + logger.info("create an index for the edges table by nodes") + + sql = ("""CREATE INDEX IF NOT EXISTS edge_index ON edges ( + edge_id, route_id, from_node_id, to_node_id, commodity_id, + start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, source_facility_id);""") + db_cur.execute(sql) + + return + + +# =============================================================================== + + +def generate_all_edges_without_max_commodity_constraint(the_scenario, logger): + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== + global total_transport_routes + logger.info("START: generate_all_edges_without_max_commodity_constraint") + + multi_commodity_name = "multicommodity" + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + db_cur = main_db_con.cursor() + + commodity_mode_data = main_db_con.execute("select * from commodity_mode;") + commodity_mode_data = commodity_mode_data.fetchall() + commodity_mode_dict = {} + for row in commodity_mode_data: + mode = row[0] + commodity_id = int(row[1]) + commodity_phase = row[2] + allowed_yn = row[3] + commodity_mode_dict[mode, commodity_id] = allowed_yn + + counter = 0 + # for row in db_cur.execute( + # "select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): + # id_for_mult_commodities = row[0] + for row in db_cur.execute("select count(*) from networkx_edges;"): + total_transport_routes = row[0] + + # for all commodities with no max transport distance + source_facility_id = 0 + + # create transport edges, only between storage vertices and nodes, based on networkx graph + # never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + # iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + # should also be per day, subject to nx edge schedule + # before creating an edge, check: commodity allowed by nx and max transport distance if not null + # will need nodes per day and commodity? or can I just check that with constraints? + # select data for transport edges + + sql = """select + ne.edge_id, + ifnull(fn.location_id, 'NULL'), + ifnull(tn.location_id, 'NULL'), + ne.mode_source, + ifnull(nec.phase_of_matter_id, 'NULL'), + nec.route_cost, + ne.from_node_id, + ne.to_node_id, + nec.dollar_cost, + ne.miles, + ne.capacity, + ne.artificial, + ne.mode_source_oid + from networkx_edges ne, networkx_nodes fn, networkx_nodes tn, networkx_edge_costs nec + + where ne.from_node_id = fn.node_id + and ne.to_node_id = tn.node_id + and ne.edge_id = nec.edge_id + and ifnull(ne.capacity, 1) > 0 + ;""" + nx_edge_data = main_db_con.execute(sql) + nx_edge_data = nx_edge_data.fetchall() + for row_a in nx_edge_data: + + nx_edge_id = row_a[0] + from_location = row_a[1] + to_location = row_a[2] + mode = row_a[3] + phase_of_matter = row_a[4] + route_cost = row_a[5] + from_node = row_a[6] + to_node = row_a[7] + dollar_cost = row_a[8] + miles = row_a[9] + # max_daily_capacity = row_a[10] + mode_oid = row_a[12] + simple_mode = row_a[3].partition('_')[0] + + # if counter % 10000 == 1: + # logger.info("edges created for {} transport links of {}".format(counter, total_transport_routes)) + # for row_d in db_cur.execute("select count(distinct edge_id) from edges;"): + # logger.info('{} edges created'.format(row_d[0])) + counter = counter + 1 + + tariff_id = 0 + if simple_mode == 'pipeline': + + # find tariff_ids + + sql = "select mapping_id from pipeline_mapping " \ + "where id = {} and id_field_name = 'source_OID' and source = '{}' " \ + "and mapping_id is not null;".format( + mode_oid, mode) + for tariff_row in db_cur.execute(sql): + tariff_id = tariff_row[0] + + + if mode in the_scenario.permittedModes: + + # Edges are placeholders for flow variables + # for all days (restrict by link schedule if called for) + # for all allowed commodities, as currently defined by link phase of matter + + for day in range(default_sched.first_day, default_sched.last_day + 1): + if day + fixed_route_duration <= default_sched.last_day: + # if link is traversable in the timeframe + if simple_mode != 'pipeline' or tariff_id >= 0: + # for allowed commodities that can be output by some facility in the scenario + for row_c in db_cur.execute("""select commodity_id + from source_commodity_ref s + where phase_of_matter = '{}' + and max_transport_distance_flag = 'N' + and share_max_transport_distance = 'N' + group by commodity_id, source_facility_id""".format(phase_of_matter)): + db_cur4 = main_db_con.cursor() + commodity_id = row_c[0] + # source_facility_id = row_c[1] # fixed to 0 for all edges created by this method + if (mode, commodity_id) in commodity_mode_dict.keys() \ + and commodity_mode_dict[mode, commodity_id] == 'Y': + if from_location == 'NULL' and to_location == 'NULL': + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, {}, {}, + '{}',{},'{}',{},{},'{}',{},'{}',{}); + """.format(from_node, to_node, + day, day + fixed_route_duration, commodity_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id, phase_of_matter, source_facility_id)) + + elif from_location != 'NULL' and to_location == 'NULL': + # for each day and commodity, get the corresponding origin vertex id + # to include with the edge info + # origin vertex must not be "ultimate_destination + # transport link outgoing from facility - checking fc.io is more thorough + # than checking if facility type is 'ultimate destination' + # new for bsc, only connect to vertices with matching source_facility_id + for row_d in db_cur4.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} + and v.commodity_id = {} and v.source_facility_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'o'""".format(from_location, day, commodity_id, source_facility_id)): + from_vertex_id = row_d[0] + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{},{},'{}',{},'{}',{}); + """.format(from_node, to_node, + day, day + fixed_route_duration, commodity_id, + from_vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id, phase_of_matter, source_facility_id)) + elif from_location == 'NULL' and to_location != 'NULL': + # for each day and commodity, get the corresponding destination vertex id + # to include with the edge info + for row_d in db_cur4.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} + and v.commodity_id = {} and v.source_facility_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'i'""".format(to_location, day, commodity_id, source_facility_id)): + to_vertex_id = row_d[0] + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{},{},'{}',{},'{}',{}); + """.format(from_node, to_node, + day, day + fixed_route_duration, commodity_id, + to_vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id, phase_of_matter, source_facility_id)) + elif from_location != 'NULL' and to_location != 'NULL': + # for each day and commodity, get the corresponding origin and destination vertex + # ids to include with the edge info + for row_d in db_cur4.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} + nd v.commodity_id = {} and v.source_facility_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'o'""".format(from_location, day, commodity_id, source_facility_id)): + from_vertex_id = row_d[0] + db_cur5 = main_db_con.cursor() + for row_e in db_cur5.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} + and v.commodity_id = {} and v.source_facility_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'i'""".format(to_location, day, commodity_id, source_facility_id)): + to_vertex_id = row_e[0] + main_db_con.execute("""insert or ignore into edges (from_node_id, + to_node_id, start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, edge_type, + nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, source_facility_id) VALUES ({}, {}, {}, {}, {}, {}, {}, + {}, {}, {}, '{}',{},'{}', {},{},'{}',{},'{}',{} + )""".format(from_node, + to_node, day, + day + fixed_route_duration, + commodity_id, + from_vertex_id, + to_vertex_id, + default_min_capacity, + route_cost, + dollar_cost, + 'transport', + nx_edge_id, mode, + mode_oid, miles, + simple_mode, + tariff_id, + phase_of_matter, + source_facility_id)) + + logger.debug("all transport edges created") + + logger.info("all edges created") + logger.info("create an index for the edges table by nodes") + index_start_time = datetime.datetime.now() + sql = ("""CREATE INDEX IF NOT EXISTS edge_index ON edges ( + edge_id, route_id, from_node_id, to_node_id, commodity_id, + start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, source_facility_id);""") + db_cur.execute(sql) + logger.info("edge_index Total Runtime (HMS): \t{} \t ".format(get_total_runtime_string(index_start_time))) + return + + +# =============================================================================== + + +def set_edges_volume_capacity(the_scenario, logger): + logger.info("starting set_edges_volume_capacity") + with sqlite3.connect(the_scenario.main_db) as main_db_con: + logger.debug("starting to record volume and capacity for non-pipeline edges") + + main_db_con.execute( + "update edges set volume = (select ifnull(ne.volume,0) from networkx_edges ne " + "where ne.edge_id = edges.nx_edge_id ) where simple_mode in ('rail','road','water');") + main_db_con.execute( + "update edges set max_edge_capacity = (select ne.capacity from networkx_edges ne " + "where ne.edge_id = edges.nx_edge_id) where simple_mode in ('rail','road','water');") + logger.debug("volume and capacity recorded for non-pipeline edges") + + logger.debug("starting to record volume and capacity for pipeline edges") + ## + main_db_con.executescript("""update edges set volume = + (select l.background_flow + from pipeline_mapping pm, + (select id_field_name, cn.source_OID as link_id, min(cn.capacity) capac, + max(cn.volume) background_flow, source + from capacity_nodes cn + where cn.id_field_name = 'MASTER_OID' + and ifnull(cn.capacity,0)>0 + group by link_id) l + + where edges.tariff_id = pm.id + and pm.id_field_name = 'tariff_ID' + and pm.mapping_id_field_name = 'MASTER_OID' + and l.id_field_name = 'MASTER_OID' + and pm.mapping_id = l.link_id + and instr(edges.mode, l.source)>0) + where simple_mode = 'pipeline' + ; + + update edges set max_edge_capacity = + (select l.capac + from pipeline_mapping pm, + (select id_field_name, cn.source_OID as link_id, min(cn.capacity) capac, + max(cn.volume) background_flow, source + from capacity_nodes cn + where cn.id_field_name = 'MASTER_OID' + and ifnull(cn.capacity,0)>0 + group by link_id) l + + where edges.tariff_id = pm.id + and pm.id_field_name = 'tariff_ID' + and pm.mapping_id_field_name = 'MASTER_OID' + and l.id_field_name = 'MASTER_OID' + and pm.mapping_id = l.link_id + and instr(edges.mode, l.source)>0) + where simple_mode = 'pipeline' + ;""") + logger.debug("volume and capacity recorded for pipeline edges") + logger.debug("starting to record units and conversion multiplier") + main_db_con.execute("""update edges + set capacity_units = + (case when simple_mode = 'pipeline' then 'kbarrels' + when simple_mode = 'road' then 'truckload' + when simple_mode = 'rail' then 'railcar' + when simple_mode = 'water' then 'barge' + else 'unexpected mode' end) + ;""") + main_db_con.execute("""update edges + set units_conversion_multiplier = + (case when simple_mode = 'pipeline' and phase_of_matter = 'liquid' then {} + when simple_mode = 'road' and phase_of_matter = 'liquid' then {} + when simple_mode = 'road' and phase_of_matter = 'solid' then {} + when simple_mode = 'rail' and phase_of_matter = 'liquid' then {} + when simple_mode = 'rail' and phase_of_matter = 'solid' then {} + when simple_mode = 'water' and phase_of_matter = 'liquid' then {} + when simple_mode = 'water' and phase_of_matter = 'solid' then {} + else 1 end) + ;""".format(THOUSAND_GALLONS_PER_THOUSAND_BARRELS, + the_scenario.truck_load_liquid.magnitude, + the_scenario.truck_load_solid.magnitude, + the_scenario.railcar_load_liquid.magnitude, + the_scenario.railcar_load_solid.magnitude, + the_scenario.barge_load_liquid.magnitude, + the_scenario.barge_load_solid.magnitude, + )) + logger.debug("units and conversion multiplier recorded for all edges; starting capacity minus volume") + main_db_con.execute("""update edges + set capac_minus_volume_zero_floor = + max((select (max_edge_capacity - ifnull(volume,0)) where max_edge_capacity is not null),0) + where max_edge_capacity is not null + ;""") + logger.debug("capacity minus volume (minimum set to zero) recorded for all edges") + return + + +# =============================================================================== + + +def pre_setup_pulp(logger, the_scenario): + logger.info("START: pre_setup_pulp") + + commodity_mode_setup(the_scenario, logger) + + # create table to track source facility of commodities with a max transport distance set + source_tracking_setup(the_scenario, logger) + + generate_all_vertices(the_scenario, logger) + + add_storage_routes(the_scenario, logger) + generate_connector_and_storage_edges(the_scenario, logger) + generate_first_edges_from_source_facilities(the_scenario, logger) + + # replicate all_routes by commodity and time into all_edges dictionary + generate_all_edges_from_source_facilities(the_scenario, logger) # commented out 4-16 + + # start edges for commodities that inherit max transport distance + generate_first_edges_from_source_facilities(the_scenario, logger) + + # replicate all_routes by commodity and time into all_edges dictionary + generate_all_edges_from_source_facilities(the_scenario, logger) + + # replicate all_routes by commodity and time into all_edges dictionary + generate_all_edges_without_max_commodity_constraint(the_scenario, logger) # commented out 4-16 + logger.info("Edges generated for modes: {}".format(the_scenario.permittedModes)) + + set_edges_volume_capacity(the_scenario, logger) + + return + + +# =============================================================================== + + +def create_flow_vars(the_scenario, logger): + logger.info("START: create_flow_vars") + + # we have a table called edges. + # call helper method to get list of unique IDs from the Edges table. + # use the rowid as a simple unique integer index + edge_list = [] + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + edge_list_cur = db_cur.execute("""select edge_id--, commodity_id, start_day, source_facility_id + from edges;""") + edge_list_data = edge_list_cur.fetchall() + counter = 0 + for row in edge_list_data: + if counter % 500000 == 0: + logger.info( + "processed {:,.0f} records. size of edge_list {:,.0f}".format(counter, sys.getsizeof(edge_list))) + counter += 1 + # create an edge for each commodity allowed on this link - this construction may change + # as specific commodity restrictions are added + # TODO4-18 add days, but have no scheduel for links currently + # running just with nodes for now, will add proper facility info and storage back soon + edge_list.append((row[0])) + + logger.debug("MNP DEBUG: start assign flow_var with edge_list") + + flow_var = LpVariable.dicts("Edge", edge_list, 0, None) + logger.debug("MNP DEBUG: Size of flow_var: {:,.0f}".format(sys.getsizeof(flow_var))) + return flow_var + + +# =============================================================================== + + +def create_unmet_demand_vars(the_scenario, logger): + logger.info("START: create_unmet_demand_vars") + demand_var_list = [] + # may create vertices with zero demand, but only for commodities that the facility has demand for at some point + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + for row in db_cur.execute("""select v.facility_id, v.schedule_day, + ifnull(c.supertype, c.commodity_name) top_level_commodity_name, v.udp + from vertices v, commodities c, facility_type_id ft, facilities f + where v.commodity_id = c.commodity_id + and ft.facility_type = "ultimate_destination" + and v.storage_vertex = 0 + and v.facility_type_id = ft.facility_type_id + and v.facility_id = f.facility_id + and f.ignore_facility = 'false' + group by v.facility_id, v.schedule_day, ifnull(c.supertype, c.commodity_name) + ;""".format('')): + # facility_id, day, and simplified commodity name + demand_var_list.append((row[0], row[1], row[2], row[3])) + + unmet_demand_var = LpVariable.dicts("UnmetDemand", demand_var_list, None, None) + + return unmet_demand_var + + +# =============================================================================== + + +def create_candidate_processor_build_vars(the_scenario, logger): + logger.info("START: create_candidate_processor_build_vars") + processors_build_list = [] + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + for row in db_cur.execute( + """select f.facility_id from facilities f, facility_type_id ft + where f.facility_type_id = ft.facility_type_id and facility_type = 'processor' + and candidate = 1 and ignore_facility = 'false' group by facility_id;"""): + # grab all candidate processor facility IDs + processors_build_list.append(row[0]) + + processor_build_var = LpVariable.dicts("BuildProcessor", processors_build_list, 0, None, 'Binary') + + return processor_build_var + + +# =============================================================================== + + +def create_binary_processor_vertex_flow_vars(the_scenario, logger): + logger.info("START: create_binary_processor_vertex_flow_vars") + processors_flow_var_list = [] + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + for row in db_cur.execute("""select v.facility_id, v.schedule_day + from vertices v, facility_type_id ft + where v.facility_type_id = ft.facility_type_id + and facility_type = 'processor' + and storage_vertex = 0 + group by v.facility_id, v.schedule_day;"""): + # facility_id, day + processors_flow_var_list.append((row[0], row[1])) + + processor_flow_var = LpVariable.dicts("ProcessorDailyFlow", processors_flow_var_list, 0, None, 'Binary') + + return processor_flow_var + + +# =============================================================================== + + +def create_processor_excess_output_vars(the_scenario, logger): + logger.info("START: create_processor_excess_output_vars") + + excess_var_list = [] + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + xs_cur = db_cur.execute(""" + select vertex_id, commodity_id + from vertices v, facility_type_id ft + where v.facility_type_id = ft.facility_type_id + and facility_type = 'processor' + and storage_vertex = 1;""") + # facility_id, day, and simplified commodity name + xs_data = xs_cur.fetchall() + for row in xs_data: + excess_var_list.append(row[0]) + + excess_var = LpVariable.dicts("XS", excess_var_list, 0, None) + + return excess_var + + +# =============================================================================== + +def create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, processor_build_vars): + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + j = np.load("earthquake_day.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + logger.info("earthquake day {}".format(j)) + + logger.debug("START: create_opt_problem") + prob = LpProblem("Flow assignment", LpMinimize) + + logger.debug("MNP: DEBUG: length of unmet_demand_vars: {}".format(len(unmet_demand_vars))) + logger.debug("MNP: DEBUG: length of flow_vars: {}".format(len(flow_vars))) + logger.debug("MNP: DEBUG: length of processor_build_vars: {}".format(len(processor_build_vars))) + + unmet_demand_costs = [] + flow_costs = {} + processor_build_costs = [] + operation_cost = [] + non_operation_cost = [] + + logger.debug("MNP: DEBUG: start loop through sql to append unmet_demand_costs") + for u in unmet_demand_vars: + # facility_id = u[0] + # schedule_day = u[1] + # demand_commodity_name = u[2] + udp = u[3] + unmet_demand_costs.append(udp * unmet_demand_vars[u]) + non_operation_cost.append(operation_parameter * unmet_demand_vars[u]) + logger.debug("MNP: DEBUG: finished loop through sql to append unmet_demand_costs. total records: {}".format( + len(unmet_demand_costs))) + + #===============================================Modification========================================================== + # Operation cost calculation + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + sql = """select fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + from facility_commodities fc, facility_type_id ft, facilities f, vertices v + where ft.facility_type = 'processor' + and ft.facility_type_id = f.facility_type_id + and f.facility_id = fc.facility_id + and fc.io = 'i' + and v.facility_id = f.facility_id + and v.storage_vertex = 0 + group by fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + ; + """ + # iterate through processor facilities, one constraint per facility per day + # different copies by subcommodity, summed for constraint as long as same day + + processor_facilities = db_cur.execute(sql) + + processor_facilities = processor_facilities.fetchall() + + for row_a in processor_facilities: + + # input_commodity_id = row_a[0] + facility_id = row_a[1] + is_candidate = row_a[2] + #===================================================================================== + + quantity = facility_cap_noEarthquake[float(facility_id)-2][t+1][i]*row_a[3] + + #===================================================================================== + day = row_a[4] + activity_level = row_a[5] + + operation_cost.append(operation_parameter * quantity * activity_level) + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + logger.debug("MNP: DEBUG: start sql execute to get flow cost data") + # Flow cost memory improvements: only get needed data; dict instead of list; narrow in lpsum + flow_cost_var = db_cur.execute("select edge_id, edge_flow_cost from edges e group by edge_id;") + logger.debug("MNP DEBUG: start the fetchall") + flow_cost_data = flow_cost_var.fetchall() + logger.debug("MNP DEBUG: start iterating through {:,.0f} flow_cost_data records".format(len(flow_cost_data))) + counter = 0 + for row in flow_cost_data: + edge_id = row[0] + edge_flow_cost = row[1] + counter += 1 + + # flow costs cover transportation and storage + flow_costs[edge_id] = edge_flow_cost + # flow_costs.append(edge_flow_cost * flow_vars[(edge_id)]) + logger.debug("MNP: DEBUG: finished loop through sql to append flow costs: total records: {:,.0f}".format( + len(flow_costs))) + + logger.info("check if candidate tables exist") + sql = "SELECT name FROM sqlite_master WHERE type='table' " \ + "AND name in ('candidate_processors', 'candidate_process_list');" + count = len(db_cur.execute(sql).fetchall()) + + if count == 2: + + logger.debug("MNP: DEBUG: start execute sql for processor build costs") + processor_build_cost = db_cur.execute(""" + select f.facility_id, (p.cost_formula*c.quantity) build_cost + from facilities f, facility_type_id ft, candidate_processors c, candidate_process_list p + where f.facility_type_id = ft.facility_type_id + and facility_type = 'processor' + and candidate = 1 + and ignore_facility = 'false' + and f.facility_name = c.facility_name + and c.process_id = p.process_id + group by f.facility_id, build_cost;""") + logger.debug("MNP: DEBUG: start the fetchall ") + processor_build_cost_data = processor_build_cost.fetchall() + logger.debug("MNP DEBUG: start iterating through the {} processor_build_cost records".format( + len(processor_build_cost_data))) + for row in processor_build_cost_data: + candidate_proc_facility_id = row[0] + proc_facility_build_cost = row[1] + processor_build_costs.append( + proc_facility_build_cost * processor_build_vars[candidate_proc_facility_id]) + logger.debug("MNP: DEBUG: start loop through sql to append processor build costs. Total Records: {}".format( + len(processor_build_costs))) + # Resilience cost = -w1*R1-w2*R2-w3*R3 + # Weight factors for each resilience components, values based on decision-makers, + w1 = 1 + w2 = 1 + w3 = 1 + weight = 1 + + logger.debug("MNP: debug: start prob+= initial_cost + weight*(unmet_demand_costs + flow cost + processor_build_costs + operation_cost-initial cost)") + prob +=(initial_cost_daily + weight*w2*(lpSum(unmet_demand_costs) + lpSum(flow_costs[k] * flow_vars[k] for k in flow_costs) + lpSum( + processor_build_costs)+ lpSum(operation_cost) - lpSum(non_operation_cost) - initial_cost_daily)), "Total Cost of Transport, storage, facility building, operation and penalties" + logger.debug("MNP debug: done prob+= initial_cost + weight*(unmet_demand_costs + flow cost + processor_build_costs + operation_cost-initial cost)") + + logger.debug("FINISHED: create_opt_problem") + return prob + #=========================================End=============================================================== + +# =============================================================================== + + +def create_constraint_unmet_demand(logger, the_scenario, prob, flow_var, unmet_demand_var): + logger.debug("START: create_constraint_unmet_demand") + + # apply activity_level to get corresponding actual demand for var + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + # var has form(facility_name, day, simple_fuel) + # unmet demand commodity should be simple_fuel = supertype + logger.debug("MNP: DEBUG: length of unmet_demand_vars: {}".format(len(unmet_demand_var))) + + demand_met_dict = defaultdict(list) + actual_demand_dict = {} + + # demand_met = [] + # want to specify that all edges leading into this vertex + unmet demand = total demand + # demand primary (non-storage) vertices + + db_cur = main_db_con.cursor() + # each row_a is a primary vertex whose edges in contributes to the met demand of var + # will have one row for each fuel subtype in the scenario + unmet_data = db_cur.execute("""select v.vertex_id, v.commodity_id, + v.demand, ifnull(c.proportion_of_supertype, 1), ifnull(v.activity_level, 1), v.source_facility_id, + v.facility_id, v.schedule_day, ifnull(c.supertype, c.commodity_name), v.udp, e.edge_id + from vertices v, commodities c, facility_type_id ft, facilities f, edges e + where v.facility_id = f.facility_id + and ft.facility_type = 'ultimate_destination' + and f.facility_type_id = ft.facility_type_id + and f.ignore_facility = 'false' + and v.facility_type_id = ft.facility_type_id + and v.storage_vertex = 0 + and c.commodity_id = v.commodity_id + and e.d_vertex_id = v.vertex_id + group by v.vertex_id, v.commodity_id, + v.demand, ifnull(c.proportion_of_supertype, 1), ifnull(v.activity_level, 1), v.source_facility_id, + v.facility_id, v.schedule_day, ifnull(c.supertype, c.commodity_name), v.udp, e.edge_id + ;""") + + unmet_data = unmet_data.fetchall() + for row_a in unmet_data: + # primary_vertex_id = row_a[0] + # commodity_id = row_a[1] + var_full_demand = row_a[2] + proportion_of_supertype = row_a[3] + var_activity_level = row_a[4] + # source_facility_id = row_a[5] + facility_id = row_a[6] + day = row_a[7] + top_level_commodity = row_a[8] + udp = row_a[9] + edge_id = row_a[10] + var_actual_demand = var_full_demand * var_activity_level + + # next get inbound edges, apply appropriate modifier proportion to get how much of var's demand they satisfy + demand_met_dict[(facility_id, day, top_level_commodity, udp)].append( + flow_var[edge_id] * proportion_of_supertype) + actual_demand_dict[(facility_id, day, top_level_commodity, udp)] = var_actual_demand + + for key in unmet_demand_var: + if key in demand_met_dict: + # then there are some edges in + prob += lpSum(demand_met_dict[key]) == actual_demand_dict[key] - unmet_demand_var[ + key], "constraint set unmet demand variable for facility {}, day {}, commodity {}".format(key[0], + key[1], + key[2]) + else: + if key not in actual_demand_dict: + pdb.set_trace() + # no edges in, so unmet demand equals full demand + prob += actual_demand_dict[key] == unmet_demand_var[ + key], "constraint set unmet demand variable for facility {}, day {}, " \ + "commodity {} - no edges able to meet demand".format( + key[0], key[1], key[2]) + + logger.debug("FINISHED: create_constraint_unmet_demand and return the prob ") + return prob + + +# =============================================================================== + + +def create_constraint_max_flow_out_of_supply_vertex(logger, the_scenario, prob, flow_var): + logger.debug("STARTING: create_constraint_max_flow_out_of_supply_vertex") + logger.debug("Length of flow_var: {}".format(len(flow_var.items()))) + + # create_constraint_max_flow_out_of_supply_vertex + # primary vertices only + # flow out of a vertex <= supply of the vertex, true for every day and commodity + + # for each primary (non-storage) supply vertex + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + for row_a in db_cur.execute("""select vertex_id, activity_level, supply + from vertices v, facility_type_id ft + where v.facility_type_id = ft.facility_type_id + and ft.facility_type = 'raw_material_producer' + and storage_vertex = 0;"""): + supply_vertex_id = row_a[0] + activity_level = row_a[1] + max_daily_supply = row_a[2] + actual_vertex_supply = activity_level * max_daily_supply + + flow_out = [] + db_cur2 = main_db_con.cursor() + # select all edges leaving that vertex and sum their flows + # should be a single connector edge + for row_b in db_cur2.execute("select edge_id from edges where o_vertex_id = {};".format(supply_vertex_id)): + edge_id = row_b[0] + flow_out.append(flow_var[edge_id]) + + prob += lpSum(flow_out) <= actual_vertex_supply, "constraint max flow of {} out of origin vertex {}".format( + actual_vertex_supply, supply_vertex_id) + # could easily add human-readable vertex info to this if desirable + + logger.debug("FINISHED: create_constraint_max_flow_out_of_supply_vertex") + return prob + + +# =============================================================================== + + +def create_constraint_daily_processor_capacity(logger, the_scenario, prob, flow_var, processor_build_vars, + processor_daily_flow_vars): + logger.debug("STARTING: create_constraint_daily_processor_capacity") + # primary vertices only + # flow out of a vertex <= nameplate capcity / 365, true for every day and totaled output commodities + + ### get primary processor vertex and its output quantity + total_scenario_min_capacity = 0 + + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + j = np.load("earthquake_day.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + logger.info("earthquake day {}".format(j)) + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + sql = """select fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + from facility_commodities fc, facility_type_id ft, facilities f, vertices v + where ft.facility_type = 'processor' + and ft.facility_type_id = f.facility_type_id + and f.facility_id = fc.facility_id + and fc.io = 'i' + and v.facility_id = f.facility_id + and v.storage_vertex = 0 + group by fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + ; + """ + # iterate through processor facilities, one constraint per facility per day + # different copies by subcommodity, summed for constraint as long as same day + + processor_facilities = db_cur.execute(sql) + + processor_facilities = processor_facilities.fetchall() + + for row_a in processor_facilities: + + # input_commodity_id = row_a[0] + facility_id = row_a[1] + is_candidate = row_a[2] + #========================================Modification========================================================================== + # In order to incorporate time-varying facility capacity into FTOT + + if j < repair_time_facility[float(facility_id)-2][t+1][i]: + max_capacity = facility_cap[float(facility_id)-2][t+1][i]*row_a[3] + else: + max_capacity = facility_cap_noEarthquake[float(facility_id)-2][t+1][i]*row_a[3] + + #==================================================End======================================================================== + + max_capacity = row_a[3] + day = row_a[4] + daily_activity_level = row_a[5] + + daily_inflow_max_capacity = float(max_capacity) * float(daily_activity_level) + daily_inflow_min_capacity = daily_inflow_max_capacity / 2 + logger.debug( + "processor {}, day {}, capacity min: {} max: {}".format(facility_id, day, daily_inflow_min_capacity, + daily_inflow_max_capacity)) + total_scenario_min_capacity = total_scenario_min_capacity + daily_inflow_min_capacity + flow_in = [] + + # all edges that start in that processor facility, any primary vertex, on that day - so all subcommodities + db_cur2 = main_db_con.cursor() + for row_b in db_cur2.execute("""select edge_id from edges e, vertices v + where e.start_day = {} + and e.d_vertex_id = v.vertex_id + and v.facility_id = {} + and v.storage_vertex = 0 + group by edge_id""".format(day, facility_id)): + input_edge_id = row_b[0] + flow_in.append(flow_var[input_edge_id]) + + logger.debug( + "flow in for capacity constraint on processor facility {} day {}: {}".format(facility_id, day, flow_in)) + prob += lpSum(flow_in) <= daily_inflow_max_capacity * processor_daily_flow_vars[(facility_id, day)], \ + "constraint max flow out of processor facility {}, day {}, flow var {}".format( + facility_id, day, processor_daily_flow_vars[facility_id, day]) + + if is_candidate == 1: + # forces processor build var to be correct + # if there is flow through a candidate processor then it has to be built + prob += processor_build_vars[facility_id] >= processor_daily_flow_vars[ + (facility_id, day)], "constraint forces processor build var to be correct {}, {}".format( + facility_id, processor_build_vars[facility_id]) + + prob += lpSum(flow_in) >= daily_inflow_min_capacity * processor_daily_flow_vars[ + (facility_id, day)], "constraint min flow into processor {}, day {}".format(facility_id, day) + + logger.debug("FINISHED: create_constraint_daily_processor_capacity") + return prob + + +# =============================================================================== + + +def create_primary_processor_vertex_constraints(logger, the_scenario, prob, flow_var): + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + j = np.load("earthquake_day.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + logger.info("earthquake day {}".format(j)) + logger.debug("STARTING: create_primary_processor_vertex_constraints - conservation of flow") + # for all of these vertices, flow in always == flow out + # node_counter = 0 + # node_constraint_counter = 0 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + + # total flow in == total flow out, subject to conversion; + # dividing by "required quantity" functionally converts all commodities to the same "processor-specific units" + + # processor primary vertices with input commodity and quantity needed to produce specified output quantities + # 2 sets of contraints; one for the primary processor vertex to cover total flow in and out + # one for each input and output commodity (sum over sources) to ensure its ratio matches facility_commodities + + # the current construction of this method is dependent on having only one input commodity type per processor + # this limitation makes sharing max transport distance from the input to an output commodity feasible + + logger.debug("conservation of flow and commodity ratios, primary processor vertices:") + sql = """select v.vertex_id, + (case when e.o_vertex_id = v.vertex_id then 'out' + when e.d_vertex_id = v.vertex_id then 'in' else 'error' end) in_or_out_edge, + (case when e.o_vertex_id = v.vertex_id then start_day + when e.d_vertex_id = v.vertex_id then end_day else 0 end) constraint_day, + e.commodity_id, + e.mode, + e.edge_id, + nx_edge_id, fc.quantity, v.facility_id, c.commodity_name, + fc.io, + v.activity_level, + ifnull(f.candidate, 0) candidate_check, + e.source_facility_id, + v.source_facility_id, + v.commodity_id, + c.share_max_transport_distance + from vertices v, facility_commodities fc, facility_type_id ft, commodities c, facilities f + join edges e on (v.vertex_id = e.o_vertex_id or v.vertex_id = e.d_vertex_id) + where ft.facility_type = 'processor' + and v.facility_id = f.facility_id + and ft.facility_type_id = v.facility_type_id + and storage_vertex = 0 + and v.facility_id = fc.facility_id + and fc.commodity_id = c.commodity_id + and fc.commodity_id = e.commodity_id + group by v.vertex_id, + in_or_out_edge, + constraint_day, + e.commodity_id, + e.mode, + e.edge_id, + nx_edge_id, fc.quantity, v.facility_id, c.commodity_name, + fc.io, + v.activity_level, + candidate_check, + e.source_facility_id, + v.commodity_id, + v.source_facility_id, + ifnull(c.share_max_transport_distance, 'N') + order by v.facility_id, e.source_facility_id, v.vertex_id, fc.io, e.edge_id + ;""" + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + sql_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for :") + logger.info( + "execute for processor primary vertices, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + sql_data = sql_data.fetchall() + logger.info( + "fetchall processor primary vertices, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + # Nested dictionaries + # flow_in_lists[primary_processor_vertex_id] = dict of commodities handled by that processor vertex + + # flow_in_lists[primary_processor_vertex_id][commodity1] = + # list of edge ids that flow that commodity into that vertex + + # flow_in_lists[vertex_id].values() to get all flow_in edges for all commodities, a list of lists + # if edge out commodity inherits transport distance, then source_facility id must match. if not, aggregate + + flow_in_lists = {} + flow_out_lists = {} + inherit_max_transport = {} + # inherit_max_transport[commodity_id] = 'Y' or 'N' + + for row_a in sql_data: + + vertex_id = row_a[0] + in_or_out_edge = row_a[1] + # constraint_day = row_a[2] + commodity_id = row_a[3] + # mode = row_a[4] + edge_id = row_a[5] + # nx_edge_id = row_a[6] + facility_id = row_a[8] + #=========================================Modification==================================================================== + # Following part is modified to include time-varying facility capacity in FTOT + if j < repair_time_facility[float(facility_id)-2][t+1][i]: + quantity = facility_cap[float(facility_id)-2][t+1][i]*row_a[7] + else: + quantity = facility_cap_noEarthquake[float(facility_id)-2][t+1][i]*row_a[7] + + #===================================================End====================================================================== + + # facility_id = row_a[8] + # commodity_name = row_a[9] + # fc_io_commodity = row_a[10] + # activity_level = row_a[11] + # is_candidate = row_a[12] + edge_source_facility_id = row_a[13] + vertex_source_facility_id = row_a[14] + # v_commodity_id = row_a[15] + inherit_max_transport_distance = row_a[16] + if commodity_id not in inherit_max_transport.keys(): + if inherit_max_transport_distance == 'Y': + inherit_max_transport[commodity_id] = 'Y' + else: + inherit_max_transport[commodity_id] = 'N' + + if in_or_out_edge == 'in': + # if the vertex isn't in the main dict yet, add it + # could have multiple source facilities + # could also have more than one input commodity now + flow_in_lists.setdefault(vertex_id, {}) + flow_in_lists[vertex_id].setdefault((commodity_id, quantity, edge_source_facility_id), []).append(flow_var[edge_id]) + # flow_in_lists[vertex_id] is itself a dict keyed on commodity, quantity (ratio) and edge_source_facility; + # value is a list of edge ids into that vertex of that commodity and edge source + + elif in_or_out_edge == 'out': + # for out-lists, could have multiple commodities as well as multiple sources + # some may have a max transport distance, inherited or independent, some may not + flow_out_lists.setdefault(vertex_id, {}) # if the vertex isn't in the main dict yet, add it + flow_out_lists[vertex_id].setdefault((commodity_id, quantity, edge_source_facility_id), []).append(flow_var[edge_id]) + + # Because we keyed on commodity, source facility tracking is merged as we pass through the processor vertex + + # 1) for each output commodity, check against an input to ensure correct ratio - only need one input + # 2) for each input commodity, check against an output to ensure correct ratio - only need one output; + # 2a) first sum sub-flows over input commodity + + # 1---------------------------------------------------------------------- + constrained_input_flow_vars = set([]) + # pdb.set_trace() + + for key, value in flow_out_lists.iteritems(): + #value is a dictionary with commodity & source as keys + # set up a dictionary that will be filled with input lists to check ratio against + compare_input_dict = {} + compare_input_dict_commod = {} + vertex_id = key + zero_in = False + #value is a dictionary keyed on output commodity, quantity required, edge source + if vertex_id in flow_in_lists: + in_quantity = 0 + in_commodity_id = 0 + in_source_facility_id = -1 + for ikey, ivalue in flow_in_lists[vertex_id].iteritems(): + in_commodity_id = ikey[0] + in_quantity = ikey[1] + in_source = ikey[2] + # list of edges + compare_input_dict[in_source] = ivalue + # to accommodate and track multiple input commodities; does not keep sources separate + # aggregate lists over sources, by commodity + if in_commodity_id not in compare_input_dict_commod.keys(): + compare_input_dict_commod[in_commodity_id] = set([]) + for edge in ivalue: + compare_input_dict_commod[in_commodity_id].add(edge) + else: + zero_in = True + + + # value is a dict - we loop once here for each output commodity and source at the vertex + for key2, value2 in value.iteritems(): + out_commodity_id = key2[0] + out_quantity = key2[1] + out_source = key2[2] + # edge_list = value2 + flow_var_list = value2 + # if we need to match source facility, there is only one set of input lists + # otherwise, use all input lists - this aggregates sources + # need to keep commodities separate, units may be different + # known issue - we could have double-counting problems if only some outputs have to inherit max + # transport distance through this facility + match_source = inherit_max_transport[out_commodity_id] + compare_input_list = [] + if match_source == 'Y': + if len(compare_input_dict_commod.keys()) >1: + error = "Multiple input commodities for processors and shared max transport distance are" \ + " not supported within the same scenario." + logger.error(error) + raise Exception(error) + + if out_source in compare_input_dict.keys(): + compare_input_list = compare_input_dict[out_source] + # if no valid input edges - none for vertex, or if output needs to match source and there are no + # matching source + if zero_in or (match_source == 'Y' and len(compare_input_list) == 0): + prob += lpSum( + flow_var_list) == 0, "processor flow, vertex {} has zero in so zero out of commodity {} " \ + "with source {} if applicable".format( + vertex_id, out_commodity_id, out_source) + else: + if match_source == 'Y': + # ratio constraint for this output commodity relative to total input of each commodity + required_flow_out = lpSum(flow_var_list) / out_quantity + # check against an input dict + prob += required_flow_out == lpSum( + compare_input_list) / in_quantity, "processor flow, vertex {}, source_facility {}," \ + " commodity {} output quantity" \ + " checked against single input commodity quantity".format( + vertex_id, out_source, out_commodity_id, in_commodity_id) + for flow_var in compare_input_list: + constrained_input_flow_vars.add(flow_var) + else: + for k, v in compare_input_dict_commod.iteritems(): + # pdb.set_trace() + # as long as the input source doesn't match an output that needs to inherit + compare_input_list = list(v) + in_commodity_id = k + # ratio constraint for this output commodity relative to total input of each commodity + required_flow_out = lpSum(flow_var_list) / out_quantity + # check against an input dict + prob += required_flow_out == lpSum( + compare_input_list) / in_quantity, "processor flow, vertex {}, source_facility {}," \ + " commodity {} output quantity" \ + " checked against commodity {} input quantity".format( + vertex_id, out_source, out_commodity_id, in_commodity_id) + for flow_var in compare_input_list: + constrained_input_flow_vars.add(flow_var) + + for key, value in flow_in_lists.iteritems(): + vertex_id = key + for key2, value2 in value.iteritems(): + commodity_id = key2[0] + # out_quantity = key2[1] + source = key2[2] + # edge_list = value2 + flow_var_list = value2 + for flow_var in flow_var_list: + if flow_var not in constrained_input_flow_vars: + prob += flow_var == 0, "processor flow, vertex {} has no matching out edges so zero in of " \ + "commodity {} with source {}".format( + vertex_id, commodity_id, source) + + logger.debug("FINISHED: create_primary_processor_conservation_of_flow_constraints") + return prob + + +# =============================================================================== + + +def create_constraint_conservation_of_flow(logger, the_scenario, prob, flow_var, processor_excess_vars): + logger.debug("STARTING: create_constraint_conservation_of_flow") + # node_counter = 0 + node_constraint_counter = 0 + storage_vertex_constraint_counter = 0 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + + logger.info("conservation of flow, storage vertices:") + # storage vertices, any facility type + # these have at most one direction of transport edges, so no need to track mode + sql = """select v.vertex_id, + (case when e.o_vertex_id = v.vertex_id then 'out' + when e.d_vertex_id = v.vertex_id then 'in' else 'error' end) in_or_out_edge, + (case when e.o_vertex_id = v.vertex_id then start_day + when e.d_vertex_id = v.vertex_id then end_day else 0 end) constraint_day, + v.commodity_id, + e.edge_id, + nx_edge_id, v.facility_id, c.commodity_name, + v.activity_level, + ft.facility_type + + from vertices v, facility_type_id ft, commodities c, facilities f + join edges e on ((v.vertex_id = e.o_vertex_id or v.vertex_id = e.d_vertex_id) + and (e.o_vertex_id = v.vertex_id or e.d_vertex_id = v.vertex_id) and v.commodity_id = e.commodity_id) + + where v.facility_id = f.facility_id + and ft.facility_type_id = v.facility_type_id + and storage_vertex = 1 + and v.commodity_id = c.commodity_id + + group by v.vertex_id, + in_or_out_edge, + constraint_day, + v.commodity_id, + e.edge_id, + nx_edge_id,v.facility_id, c.commodity_name, + v.activity_level + + order by v.facility_id, v.vertex_id, e.edge_id + ;""" + + # get the data from sql and see how long it takes. + logger.info("Starting the long step:") + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + vertexid_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for :") + logger.info("execute for storage vertices, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + vertexid_data = vertexid_data.fetchall() + logger.info( + "fetchall nodes with no location id, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_in_lists = {} + flow_out_lists = {} + for row_v in vertexid_data: + vertex_id = row_v[0] + in_or_out_edge = row_v[1] + constraint_day = row_v[2] + commodity_id = row_v[3] + edge_id = row_v[4] + # nx_edge_id = row_v[5] + # facility_id = row_v[6] + # commodity_name = row_v[7] + # activity_level = row_v[8] + facility_type = row_v[9] + + if in_or_out_edge == 'in': + flow_in_lists.setdefault((vertex_id, commodity_id, constraint_day, facility_type), []).append( + flow_var[edge_id]) + elif in_or_out_edge == 'out': + flow_out_lists.setdefault((vertex_id, commodity_id, constraint_day, facility_type), []).append( + flow_var[edge_id]) + + logger.info("adding processor excess variabless to conservation of flow") + for key, value in flow_out_lists.iteritems(): + vertex_id = key[0] + # commodity_id = key[1] + # day = key[2] + facility_type = key[3] + if facility_type == 'processor': + flow_out_lists.setdefault(key, []).append(processor_excess_vars[vertex_id]) + + for key, value in flow_out_lists.iteritems(): + + if key in flow_in_lists: + prob += lpSum(flow_out_lists[key]) == lpSum( + flow_in_lists[key]), "conservation of flow, vertex {}, commodity {}, day {}".format(key[0], key[1], + key[2]) + storage_vertex_constraint_counter = storage_vertex_constraint_counter + 1 + else: + prob += lpSum(flow_out_lists[key]) == lpSum( + 0), "conservation of flow (zero out), vertex {}, commodity {}, day {}".format(key[0], key[1], + key[2]) + storage_vertex_constraint_counter = storage_vertex_constraint_counter + 1 + + for key, value in flow_in_lists.iteritems(): + + if key not in flow_out_lists: + prob += lpSum(flow_in_lists[key]) == lpSum( + 0), "conservation of flow (zero in), vertex {}, commodity {}, day {}".format(key[0], key[1], + key[2]) + storage_vertex_constraint_counter = storage_vertex_constraint_counter + 1 + + logger.info( + "total conservation of flow constraints created on nodes: {}".format(storage_vertex_constraint_counter)) + + logger.info("conservation of flow, nx_nodes:") + + # for each day, get all edges in and out of the node. + # Sort edges by commodity and whether they're going in or out of the node + sql = """select nn.node_id, + (case when e.from_node_id = nn.node_id then 'out' + when e.to_node_id = nn.node_id then 'in' else 'error' end) in_or_out_edge, + (case when e.from_node_id = nn.node_id then start_day + when e.to_node_id = nn.node_id then end_day else 0 end) constraint_day, + e.commodity_id, + ifnull(mode, 'NULL'), + e.edge_id, nx_edge_id, + miles, + (case when ifnull(nn.source, 'N') == 'intermodal' then 'Y' else 'N' end) intermodal_flag, + e.source_facility_id, + e.commodity_id + from networkx_nodes nn + join edges e on (nn.node_id = e.from_node_id or nn.node_id = e.to_node_id) + where nn.location_id is null + order by nn.node_id, e.commodity_id, + (case when e.from_node_id = nn.node_id then start_day + when e.to_node_id = nn.node_id then end_day else 0 end), + in_or_out_edge, e.source_facility_id, e.commodity_id + ;""" + + logger.info("Starting the long step:") + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + nodeid_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for :") + logger.info( + "execute for nodes with no location id, with their in and out edges - Total Runtime (HMS): \t{} \t " + "".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + nodeid_data = nodeid_data.fetchall() + logger.info( + "fetchall nodes with no location id, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_in_lists = {} + flow_out_lists = {} + + for row_a in nodeid_data: + node_id = row_a[0] + in_or_out_edge = row_a[1] + constraint_day = row_a[2] + # commodity_id = row_a[3] + mode = row_a[4] + edge_id = row_a[5] + # nx_edge_id = row_a[6] + # miles = row_a[7] + intermodal = row_a[8] + source_facility_id = row_a[9] + commodity_id = row_a[10] + + # node_counter = node_counter +1 + # if node is not intermodal, conservation of flow holds per mode; + # if intermodal, then across modes + if intermodal == 'N': + if in_or_out_edge == 'in': + flow_in_lists.setdefault( + (node_id, intermodal, source_facility_id, constraint_day, commodity_id, mode), []).append( + flow_var[edge_id]) + elif in_or_out_edge == 'out': + flow_out_lists.setdefault( + (node_id, intermodal, source_facility_id, constraint_day, commodity_id, mode), []).append( + flow_var[edge_id]) + else: + if in_or_out_edge == 'in': + flow_in_lists.setdefault((node_id, intermodal, source_facility_id, constraint_day, commodity_id), + []).append(flow_var[edge_id]) + elif in_or_out_edge == 'out': + flow_out_lists.setdefault((node_id, intermodal, source_facility_id, constraint_day, commodity_id), + []).append(flow_var[edge_id]) + + for key, value in flow_out_lists.iteritems(): + node_id = key[0] + # intermodal_flag = key[1] + source_facility_id = key[2] + day = key[3] + commodity_id = key[4] + if len(key) == 6: + node_mode = key[5] + else: + node_mode = 'intermodal' + if key in flow_in_lists: + prob += lpSum(flow_out_lists[key]) == lpSum(flow_in_lists[ + key]), "conservation of flow, nx node {}, " \ + "source facility {}, commodity {}, " \ + "day {}, mode {}".format( + node_id, source_facility_id, commodity_id, day, node_mode) + node_constraint_counter = node_constraint_counter + 1 + else: + prob += lpSum(flow_out_lists[key]) == lpSum( + 0), "conservation of flow (zero out), nx node {}, source facility {}, commodity {}, day {}," \ + " mode {}".format(node_id, source_facility_id, commodity_id, day, node_mode) + node_constraint_counter = node_constraint_counter + 1 + + for key, value in flow_in_lists.iteritems(): + node_id = key[0] + # intermodal_flag = key[1] + source_facility_id = key[2] + day = key[3] + commodity_id = key[4] + if len(key) == 6: + node_mode = key[5] + else: + node_mode = 'intermodal' + + if key not in flow_out_lists: + prob += lpSum(flow_in_lists[key]) == lpSum( + 0), "conservation of flow (zero in), nx node {}, source facility {}, commodity {}, day {}," \ + " mode {}".format(node_id, source_facility_id, commodity_id, day, node_mode) + node_constraint_counter = node_constraint_counter + 1 + + logger.info("total conservation of flow constraints created on nodes: {}".format(node_constraint_counter)) + + # Note: no consesrvation of flow for primary vertices for supply & demand - they have unique constraints + + logger.debug("FINISHED: create_constraint_conservation_of_flow") + + return prob + + +# =============================================================================== + + +def create_constraint_max_route_capacity(logger, the_scenario, prob, flow_var): + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + j = np.load("earthquake_day.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + logger.info("earthquake day {}".format(j)) + + logger.info("STARTING: create_constraint_max_route_capacity") + logger.info("modes with background flow turned on: {}".format(the_scenario.backgroundFlowModes)) + # min_capacity_level must be a number from 0 to 1, inclusive + # min_capacity_level is only relevant when background flows are turned on + # it sets a floor to how much capacity can be reduced by volume. + # min_capacity_level = .25 means route capacity will never be less than 25% of full capacity, + # even if "volume" would otherwise restrict it further + # min_capacity_level = 0 allows a route to be made unavailable for FTOT flow if base volume is too high + # this currently applies to all modes + logger.info("minimum available capacity floor set at: {}".format(the_scenario.minCapacityLevel)) + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + # capacity for storage routes + sql = """select + rr.route_id, sr.storage_max, sr.route_name, e.edge_id, e.start_day + from route_reference rr + join storage_routes sr on sr.route_name = rr.route_name + join edges e on rr.route_id = e.route_id + ;""" + # get the data from sql and see how long it takes. + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + storage_edge_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for storage edges:") + logger.info("execute for edges for storage - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + storage_edge_data = storage_edge_data.fetchall() + logger.info("fetchall edges for storage - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_lists = {} + + for row_a in storage_edge_data: + route_id = row_a[0] + aggregate_storage_capac = row_a[1] + storage_route_name = row_a[2] + edge_id = row_a[3] + start_day = row_a[4] + + flow_lists.setdefault((route_id, aggregate_storage_capac, storage_route_name, start_day), []).append( + flow_var[edge_id]) + + for key, flow in flow_lists.iteritems(): + prob += lpSum(flow) <= key[1], "constraint max flow on storage route {} named {} for day {}".format(key[0], + key[2], + key[3]) + + logger.debug("route_capacity constraints created for all storage routes") + + # capacity for transport routes + # Assumption - all flowing material is in kgal, all flow is summed on a single non-pipeline nx edge + sql = """select e.edge_id, e.nx_edge_id, e.max_edge_capacity, e.start_day, e.simple_mode, e.phase_of_matter, + e.capac_minus_volume_zero_floor + from edges e + where e.max_edge_capacity is not null + and e.simple_mode != 'pipeline' + ;""" + # get the data from sql and see how long it takes. + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + route_capac_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for transport edges:") + logger.info("execute for non-pipeline edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + route_capac_data = route_capac_data.fetchall() + logger.info("fetchall non-pipeline edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_lists = {} + + for row_a in route_capac_data: + edge_id = row_a[0] + nx_edge_id = row_a[1] + nx_edge_capacity = row_a[2] + start_day = row_a[3] + simple_mode = row_a[4] + phase_of_matter = row_a[5] + capac_minus_background_flow = max(row_a[6], 0) + min_restricted_capacity = max(capac_minus_background_flow, nx_edge_capacity * the_scenario.minCapacityLevel) + + if simple_mode in the_scenario.backgroundFlowModes: + use_capacity = min_restricted_capacity + else: + use_capacity = nx_edge_capacity + + # flow is in thousand gallons (kgal), for liquid, or metric tons, for solid + # capacity is in truckload, rail car, barge, or pipeline movement per day + # if mode is road and phase is liquid, capacity is in truckloads per day, we want it in kgal + # ftot_supporting_gis tells us that there are 8 kgal per truckload, + # so capacity * 8 gives us correct units or kgal per day + # => use capacity * ftot_supporting_gis multiplier to get capacity in correct flow units + + multiplier = 1 # if units match, otherwise specified here + if simple_mode == 'road': + if phase_of_matter == 'liquid': + multiplier = the_scenario.truck_load_liquid.magnitude + elif phase_of_matter == 'solid': + multiplier = the_scenario.truck_load_solid.magnitude + elif simple_mode == 'water': + if phase_of_matter == 'liquid': + multiplier = the_scenario.barge_load_liquid.magnitude + elif phase_of_matter == 'solid': + multiplier = the_scenario.barge_load_solid.magnitude + elif simple_mode == 'rail': + if phase_of_matter == 'liquid': + multiplier = the_scenario.railcar_load_liquid.magnitude + elif phase_of_matter == 'solid': + multiplier = the_scenario.railcar_load_solid.magnitude + #=========================================Modification==================================================================== + # Following part is modified to include time-varying edge capacity in FTOT + if float(edge_id) in edge_cap[:,1,1]: + if j < repair_time_edge[float(edge_id)][t+1][i]: + capacity_reduction_index = edge_cap[float(edge_id)][t+1][i]*0 + else: + capacity_reduction_index = 1 + else: + capacity_reduction_index = 1 + #if j < max(repair_time_edge[:,t+1,i]): + # capacity_reduction_index = 0.0001 + #else: + # capacity_reduction_index = 1 + + converted_capacity = use_capacity * multiplier * capacity_reduction_index + #===================================================End=================================================================== + + flow_lists.setdefault((nx_edge_id, converted_capacity, start_day), []).append(flow_var[edge_id]) + + for key, flow in flow_lists.iteritems(): + prob += lpSum(flow) <= key[1], "constraint max flow on nx edge {} for day {}".format(key[0], key[2]) + + logger.debug("route_capacity constraints created for all non-pipeline transport routes") + + logger.debug("FINISHED: create_constraint_max_route_capacity") + return prob + + +# =============================================================================== + + +def create_constraint_pipeline_capacity(logger, the_scenario, prob, flow_var): + logger.debug("STARTING: create_constraint_pipeline_capacity") + logger.debug("Length of flow_var: {}".format(len(flow_var.items()))) + logger.info("modes with background flow turned on: {}".format(the_scenario.backgroundFlowModes)) + logger.info("minimum available capacity floor set at: {}".format(the_scenario.minCapacityLevel)) + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + + # capacity for pipeline tariff routes + # with sasc, may have multiple flows per segment, slightly diff commodities + sql = """select e.edge_id, e.tariff_id, l.link_id, l.capac, e.start_day, l.capac-l.background_flow allowed_flow, + l.source, e.mode, instr(e.mode, l.source) + from edges e, pipeline_mapping pm, + (select id_field_name, cn.source_OID as link_id, min(cn.capacity) capac, + max(cn.volume) background_flow, source + from capacity_nodes cn + where cn.id_field_name = 'MASTER_OID' + and ifnull(cn.capacity,0)>0 + group by link_id) l + + where e.tariff_id = pm.id + and pm.id_field_name = 'tariff_ID' + and pm.mapping_id_field_name = 'MASTER_OID' + and l.id_field_name = 'MASTER_OID' + and pm.mapping_id = l.link_id + and instr(e.mode, l.source)>0 + group by e.edge_id, e.tariff_id, l.link_id, l.capac, e.start_day, allowed_flow, l.source + ;""" + # capacity needs to be shared over link_id for any edge_id associated with that link + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + pipeline_capac_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for transport edges:") + logger.info("execute for edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + pipeline_capac_data = pipeline_capac_data.fetchall() + logger.info("fetchall edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_lists = {} + + for row_a in pipeline_capac_data: + edge_id = row_a[0] + # tariff_id = row_a[1] + link_id = row_a[2] + # Link capacity is recorded in "thousand barrels per day"; 1 barrel = 42 gall + # Link capacity * 42 is now in kgal per day, to match flow in kgal + link_capacity_kgal_per_day = THOUSAND_GALLONS_PER_THOUSAND_BARRELS * row_a[3] + start_day = row_a[4] + capac_minus_background_flow_kgal = max(THOUSAND_GALLONS_PER_THOUSAND_BARRELS * row_a[5], 0) + min_restricted_capacity = max(capac_minus_background_flow_kgal, + link_capacity_kgal_per_day * the_scenario.minCapacityLevel) + + # capacity_nodes_mode_source = row_a[6] + edge_mode = row_a[7] + # mode_match_check = row_a[8] + if 'pipeline' in the_scenario.backgroundFlowModes: + link_use_capacity = min_restricted_capacity + else: + link_use_capacity = link_capacity_kgal_per_day + + # add flow from all relevant edges, for one start; may be multiple tariffs + flow_lists.setdefault((link_id, link_use_capacity, start_day, edge_mode), []).append(flow_var[edge_id]) + + for key, flow in flow_lists.iteritems(): + prob += lpSum(flow) <= key[1], "constraint max flow on pipeline link {} for mode {} for day {}".format( + key[0], key[3], key[2]) + + logger.debug("pipeline capacity constraints created for all transport routes") + + logger.debug("FINISHED: create_constraint_pipeline_capacity") + return prob + + +# =============================================================================== + + +def setup_pulp_problem(the_scenario, logger): + logger.info("START: setup PuLP problem") + + # flow_var is the flow on each edge by commodity and day. + # the optimal value of flow_var will be solved by PuLP + flow_vars = create_flow_vars(the_scenario, logger) + + # unmet_demand_var is the unmet demand at each destination, being determined + unmet_demand_vars = create_unmet_demand_vars(the_scenario, logger) + + # processor_build_vars is the binary variable indicating whether a candidate processor is used + # and thus whether its build cost is charged + processor_build_vars = create_candidate_processor_build_vars(the_scenario, logger) + + # binary tracker variables + processor_vertex_flow_vars = create_binary_processor_vertex_flow_vars(the_scenario, logger) + + # tracking unused production + processor_excess_vars = create_processor_excess_output_vars(the_scenario, logger) + + # THIS IS THE OBJECTIVE FUCTION FOR THE OPTIMIZATION + # ================================================== + + prob = create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, processor_build_vars) + logger.debug("MNP DEBUG: size of prob: {}".format(sys.getsizeof(prob))) + + prob = create_constraint_unmet_demand(logger, the_scenario, prob, flow_vars, unmet_demand_vars) + logger.debug("MNP DEBUG: size of prob: {}".format(sys.getsizeof(prob))) + + prob = create_constraint_max_flow_out_of_supply_vertex(logger, the_scenario, prob, flow_vars) + + # This constraint is being excluded because 1) it is not used in current scenarios and 2) it is not supported by + # this version - it conflicts with the change permitting multiple inputs + prob = create_constraint_daily_processor_capacity(logger, the_scenario, prob, flow_vars, processor_build_vars, + processor_vertex_flow_vars) + + prob = create_primary_processor_vertex_constraints(logger, the_scenario, prob, flow_vars) + + prob = create_constraint_conservation_of_flow(logger, the_scenario, prob, flow_vars, processor_excess_vars) + + if the_scenario.capacityOn: + prob = create_constraint_max_route_capacity(logger, the_scenario, prob, flow_vars) + + prob = create_constraint_pipeline_capacity(logger, the_scenario, prob, flow_vars) + + del unmet_demand_vars + + del flow_vars + + # The problem data is written to an .lp file + prob.writeLP(os.path.join(the_scenario.scenario_run_directory, "debug", "LP_output_c2.lp")) + + logger.info("FINISHED: setup PuLP problem") + return prob + + +# =============================================================================== + + +def solve_pulp_problem(prob_final, the_scenario, logger): + import datetime + + logger.info("START: solve_pulp_problem") + start_time = datetime.datetime.now() + from os import dup, dup2, close + f = open(os.path.join(the_scenario.scenario_run_directory, "debug", 'probsolve_capture.txt'), 'w') + orig_std_out = dup(1) + dup2(f.fileno(), 1) + + # status = prob_final.solve (PULP_CBC_CMD(maxSeconds = i_max_sec, fracGap = d_opt_gap, msg=1)) + # CBC time limit and relative optimality gap tolerance + status = prob_final.solve(PULP_CBC_CMD(msg=1)) # CBC time limit and relative optimality gap tolerance + print('Completion code: %d; Solution status: %s; Best obj value found: %s' % ( + status, LpStatus[prob_final.status], value(prob_final.objective))) + + dup2(orig_std_out, 1) + close(orig_std_out) + f.close() + # The problem is solved using PuLP's choice of Solver + + logger.info("completed calling prob.solve()") + logger.info( + "FINISH: prob.solve(): Runtime (HMS): \t{}".format(ftot_supporting.get_total_runtime_string(start_time))) + + # THIS IS THE SOLUTION + + # The status of the solution is printed to the screen + ##LpStatus key string value numerical value + ##LpStatusOptimal ?Optimal? 1 + ##LpStatusNotSolved ?Not Solved? 0 + ##LpStatusInfeasible ?Infeasible? -1 + ##LpStatusUnbounded ?Unbounded? -2 + ##LpStatusUndefined ?Undefined? -3 + logger.result("prob.Status: \t {}".format(LpStatus[prob_final.status])) + + logger.result( + "Total Scenario Cost = (transportation + unmet demand penalty + processor construction): \t ${0:,.0f}".format( + float(value(prob_final.objective)))) + + return prob_final + + +# =============================================================================== + + +def pickle_prob(input_prob, save_file_name,the_scenario, logger): + logger.info("START: pickle_prob") + # save_file_name should be .p type, ex. "constrained_prob.p" + import cPickle as pickle + + pickle.dump(input_prob, open(os.path.join(the_scenario.scenario_run_directory, "debug", save_file_name), "wb"), protocol=2) + + return + + +# =============================================================================== + + +def load_pickled_prob(save_file_name,the_scenario, logger): + logger.info("START: load_pickled_prob") + # save_file_name should be .p type, ex. "constrained_prob.p" + import cPickle as pickle + + prob = pickle.load(open(os.path.join(the_scenario.scenario_run_directory, "debug", save_file_name), "rb")) + + return prob + + +# =============================================================================== + +def save_pulp_solution(the_scenario, prob, logger): + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + j = np.load("earthquake_day.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + logger.info("earthquake day {}".format(j)) + + + import datetime + + logger.info("START: save_pulp_solution") + non_zero_variable_count = 0 + + with sqlite3.connect(the_scenario.main_db) as db_con: + + db_cur = db_con.cursor() + # drop the optimal_solution table + # ----------------------------- + db_cur.executescript("drop table if exists optimal_solution;") + + # create the optimal_solution table + # ----------------------------- + db_cur.executescript(""" + create table optimal_solution + ( + variable_name string, + variable_value real + ); + """) + + # insert the optimal data into the DB + # ------------------------------------- + for v in prob.variables(): + sql = """insert into optimal_solution (variable_name, variable_value) values ("{}", {});""".format( + v.name, float(v.varValue)) + db_con.execute(sql) + non_zero_variable_count = non_zero_variable_count + 1 + + logger.info("number of solution variables non zero: {}".format(non_zero_variable_count)) + sql = """ + create table optimal_variables as + select + 'UnmetDemand' as variable_type, + cast(substr(variable_name, 13) as int) var_id, + variable_value, + null as converted_capacity, + null as converted_volume, + null as converted_capac_minus_volume, + null as edge_type, + null as commodity_name, + null as o_facility, + 'placeholder' as d_facility, + null as o_vertex_id, + null as d_vertex_id, + null as from_node_id, + null as to_node_id, + null as time_period, + null as commodity_id, + null as source_facility_id, + null as source_facility_name, + null as units, + variable_name, + null as nx_edge_id, + null as mode, + null as mode_oid, + null as miles, + null as original_facility, + null as final_facility, + null as prior_edge, + null as miles_travelled + from optimal_solution + where variable_name like 'UnmetDemand%' + union + select + 'Edge' as variable_type, + cast(substr(variable_name, 6) as int) var_id, + variable_value, + edges.max_edge_capacity*edges.units_conversion_multiplier as converted_capacity, + edges.volume*edges.units_conversion_multiplier as converted_volume, + edges.capac_minus_volume_zero_floor*edges.units_conversion_multiplier as converted_capac_minus_volume, + edges.edge_type, + commodities.commodity_name, + ov.facility_name as o_facility, + dv.facility_name as d_facility, + o_vertex_id, + d_vertex_id, + from_node_id, + to_node_id, + start_day time_period, + edges.commodity_id, + edges.source_facility_id, + s.source_facility_name, + commodities.units, + variable_name, + edges.nx_edge_id, + edges.mode, + edges.mode_oid, + edges.miles, + null as original_facility, + null as final_facility, + null as prior_edge, + edges.miles_travelled as miles_travelled + from optimal_solution + join edges on edges.edge_id = cast(substr(variable_name, 6) as int) + join commodities on edges.commodity_id = commodities.commodity_ID + left outer join vertices as ov on edges.o_vertex_id = ov.vertex_id + left outer join vertices as dv on edges.d_vertex_id = dv.vertex_id + left outer join source_commodity_ref as s on edges.source_facility_id = s.source_facility_id + where variable_name like 'Edge%' + union + select + 'BuildProcessor' as variable_type, + cast(substr(variable_name, 16) as int) var_id, + variable_value, + null as converted_capacity, + null as converted_volume, + null as converted_capac_minus_volume, + null as edge_type, + null as commodity_name, + 'placeholder' as o_facility, + 'placeholder' as d_facility, + null as o_vertex_id, + null as d_vertex_id, + null as from_node_id, + null as to_node_id, + null as time_period, + null as commodity_id, + null as source_facility_id, + null as source_facility_name, + null as units, + variable_name, + null as nx_edge_id, + null as mode, + null as mode_oid, + null as miles, + null as original_facility, + null as final_facility, + null as prior_edge, + null as miles_travelled + from optimal_solution + where variable_name like 'Build%'; + """ + db_con.execute("drop table if exists optimal_variables;") + db_con.execute(sql) + + # query the optimal_solution table in the DB for each variable we care about + # ---------------------------------------------------------------------------- + sql = "select count(variable_name) from optimal_solution where variable_name like 'BuildProcessor%';" + data = db_con.execute(sql) + optimal_processors_count = data.fetchone()[0] + logger.info("number of optimal_processors: {}".format(optimal_processors_count)) + + sql = "select count(variable_name) from optimal_solution where variable_name like 'UnmetDemand%';" + data = db_con.execute(sql) + optimal_unmet_demand_count = data.fetchone()[0] + logger.info("number facilities with optimal_unmet_demand : {}".format(optimal_unmet_demand_count)) + sql = "select ifnull(sum(variable_value),0) from optimal_solution where variable_name like 'UnmetDemand%';" + data = db_con.execute(sql) + optimal_unmet_demand_sum = data.fetchone()[0] + + unmet_demand_amount = optimal_unmet_demand_sum + #===========================================Save parameter======================================================== + np.save("unmet_demand_amount.npy", unmet_demand_amount) + logger.info("Total Unmet Demand : {}".format(optimal_unmet_demand_sum)) + + + logger.info("Penalty per unit of Unmet Demand : ${0:,.0f}".format(the_scenario.unMetDemandPenalty)) + logger.info("Repair costs : ${0:,.0f}".format(repair_costs[j][t][i])) + logger.info("Total Cost of Unmet Demand : \t ${0:,.0f}".format( + optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty)) + logger.info("Total Cost of resilience : \t ${0:,.0f}".format( + float(value(prob.objective)) - initial_cost_daily +repair_costs[j][t][i])) + + #=============================================Modification================================================================= + # The UDP will not be considered when UDR < 0 + if optimal_unmet_demand_sum < 0: + unit_costs = float(value(prob.objective))+ repair_costs[j][t][i]- optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty + logger.result( + "Total Scenario Cost = initial_cost + weight * resilience cost: \t ${0:,.0f}" + "".format(float(value(prob.objective))- optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty + repair_costs[j][t][i])) + else: + unit_costs = float(value(prob.objective))+ repair_costs[j][t][i] + logger.result( + "Total Scenario Cost = initial_cost + weight * resilience cost: \t ${0:,.0f}" + "".format(float(value(prob.objective))+ repair_costs[j][t][i])) + #===========================================Save parameter======================================================== + np.save("unit_costs.npy", unit_costs) + #=================================================End======================================================================= + + + sql = "select count(variable_name) from optimal_solution where variable_name like 'Edge%';" + data = db_con.execute(sql) + optimal_edges_count = data.fetchone()[0] + logger.info("number of optimal edges: {}".format(optimal_edges_count)) + + start_time = datetime.datetime.now() + logger.info( + "FINISH: save_pulp_solution: Runtime (HMS): \t{}".format(ftot_supporting.get_total_runtime_string(start_time))) + + +# =============================================================================== + + +def parse_optimal_solution_db(the_scenario, logger): + logger.info("starting parse_optimal_solution") + + optimal_processors = [] + optimal_processor_flows = [] + optimal_route_flows = {} + optimal_unmet_demand = {} + optimal_storage_flows = {} + optimal_excess_material = {} + + with sqlite3.connect(the_scenario.main_db) as db_con: + + # do the Storage Edges + sql = "select variable_name, variable_value from optimal_solution where variable_name like 'Edge%_storage';" + data = db_con.execute(sql) + optimal_storage_edges = data.fetchall() + for edge in optimal_storage_edges: + optimal_storage_flows[edge] = optimal_storage_edges[edge] + + # do the Route Edges + sql = """select + variable_name, variable_value, + cast(substr(variable_name, 6) as int) edge_id, + route_id, start_day time_period, edges.commodity_id, + o_vertex_id, d_vertex_id, + v1.facility_id o_facility_id, + v2.facility_id d_facility_id + from optimal_solution + join edges on edges.edge_id = cast(substr(variable_name, 6) as int) + join vertices v1 on edges.o_vertex_id = v1.vertex_id + join vertices v2 on edges.d_vertex_id = v2.vertex_id + where variable_name like 'Edge%_' and variable_name not like 'Edge%_storage'; + """ + data = db_con.execute(sql) + optimal_route_edges = data.fetchall() + for edge in optimal_route_edges: + + variable_name = edge[0] + + variable_value = edge[1] + + edge_id = edge[2] + + route_id = edge[3] + + time_period = edge[4] + + commodity_flowed = edge[5] + + od_pair_name = "{}, {}".format(edge[8], edge[9]) + + # first time route_id is used on a day or commodity + if route_id not in optimal_route_flows: + optimal_route_flows[route_id] = [[od_pair_name, time_period, commodity_flowed, variable_value]] + + else: # subsequent times route is used on different day or for other commodity + optimal_route_flows[route_id].append([od_pair_name, time_period, commodity_flowed, variable_value]) + + # do the processors + sql = "select variable_name, variable_value from optimal_solution where variable_name like 'BuildProcessor%';" + data = db_con.execute(sql) + optimal_candidates_processors = data.fetchall() + for proc in optimal_candidates_processors: + optimal_processors.append(proc) + + # do the processor vertex flows + sql = "select variable_name, variable_value from optimal_solution where variable_name like 'ProcessorVertexFlow%';" + data = db_con.execute(sql) + optimal_processor_flows_sql = data.fetchall() + for proc in optimal_processor_flows_sql: + optimal_processor_flows.append(proc) + + # do the UnmetDemand + sql = "select variable_name, variable_value from optimal_solution where variable_name like 'UnmetDemand%';" + data = db_con.execute(sql) + optimal_unmetdemand = data.fetchall() + for ultimate_destination in optimal_unmetdemand: + v_name = ultimate_destination[0] + v_value = ultimate_destination[1] + + search = re.search('\(.*\)', v_name.replace("'", "")) + + if search: + parts = search.group(0).replace("(", "").replace(")", "").split(",_") + + dest_name = parts[0] + commodity_flowed = parts[2] + if not dest_name in optimal_unmet_demand: + optimal_unmet_demand[dest_name] = {} + + if not commodity_flowed in optimal_unmet_demand[dest_name]: + optimal_unmet_demand[dest_name][commodity_flowed] = int(v_value) + else: + optimal_unmet_demand[dest_name][commodity_flowed] += int(v_value) + + + logger.info("length of optimal_processors list: {}".format(len(optimal_processors))) # a list of optimal processors + logger.info("length of optimal_processor_flows list: {}".format( + len(optimal_processor_flows))) # a list of optimal processor flows + logger.info("length of optimal_route_flows dict: {}".format( + len(optimal_route_flows))) # a dictionary of routes keys and commodity flow values + logger.info("length of optimal_unmet_demand dict: {}".format( + len(optimal_unmet_demand))) # a dictionary of route keys and unmet demand values + + return optimal_processors, optimal_route_flows, optimal_unmet_demand, optimal_storage_flows, optimal_excess_material + + +# =============================================================================== + +# +# def load_lp_problem(the_scenario, logger): +# logger.info("START: load_lp_problem") +# pickle_file = os.path.join(the_scenario.scenario_run_directory, "debug", "final_lp_problem.p") +# reconstituted_lp_file = pickle.load(open(pickle_file, "rb")).copy() +# +# return reconstituted_lp_file +# +# +# # =============================================================================== +# +# +# def persist_lp_problem(the_scenario, prob, logger): +# logger.info("START: persist_lp_problem") +# # pickle the final lp problem object so it can be read back in later +# pickle.dump(prob, open(os.path.join(the_scenario.scenario_run_directory, "debug", "final_lp_problem.p"), "wb")) diff --git a/program/ftot_pulp_sourcing.py b/program/ftot_pulp_sourcing.py index 4b3e6f9..c0d7070 100644 --- a/program/ftot_pulp_sourcing.py +++ b/program/ftot_pulp_sourcing.py @@ -7,12 +7,14 @@ #--------------------------------------------------------------------------------------------------- import os +import pickle import sys +#from sys import getsizeof import ftot_supporting import test_aftot_pulp -import ftot_pulp import xtot_objects +#import arcpy import sqlite3 import re import pdb @@ -22,12 +24,16 @@ from ftot import ureg, Q_ +from memory_profiler import profile +fp=open('./memory_logs/{}_memory_profiler.log'.format(datetime.datetime.now().strftime("%Y_%m_%d_%H-%M-%S")),'w+') + from collections import defaultdict from pulp import * from ftot_supporting import get_total_runtime_string #import ftot_supporting_gis +# currently missing before first day/after last day storage... #=================== constants============= storage = 1 primary = 0 @@ -54,6 +60,7 @@ default_min_capacity = 0 #at this level, duplicate edges (i.e. same nx_edge_id, same subcommodity) are only created if they are lower cost. +#this may need to be raised or replaced to address realistic capacity flow duplicate_edge_cap = 1 #while loop cap - only used for dev to keep runtime reasonable in testing @@ -66,11 +73,12 @@ def o_sourcing(the_scenario, logger): import ftot_pulp pre_setup_pulp_from_optimal(logger, the_scenario) prob = setup_pulp_problem(the_scenario, logger) + ftot_pulp.pickle_prob(prob, "constrained_sourcing_prob.p", the_scenario, logger) prob = solve_pulp_problem(prob, the_scenario, logger) save_pulp_solution(the_scenario, prob, logger) - from ftot_supporting import post_optimization - post_optimization(the_scenario, 'os', logger) + from ftot_supporting import post_optimization_64_bit + post_optimization_64_bit(the_scenario, 'os', logger) #=============================================================================== @@ -81,6 +89,7 @@ def delete_all_global_dictionaries(): global processor_storage_vertices global supply_storage_vertices global demand_storage_vertices + # storage_facility_storage_vertices = {} global processor_vertices global supply_vertices global demand_vertices @@ -105,27 +114,7 @@ def delete_all_global_dictionaries(): fuel_subtypes = {} -def save_existing_solution(logger, the_scenario): - logger.info("START: save_existing_solution") - with sqlite3.connect(the_scenario.main_db) as main_db_con: - - logger.debug("save the current optimal_variables table as optimal_variables_prior") - main_db_con.executescript(""" - drop table if exists optimal_variables_prior; - - create table if not exists optimal_variables_prior as select * from optimal_variables; - - drop table if exists optimal_variables; - """) - - logger.debug("save the current vertices table as vertices_prior and create the new vertices table") - - main_db_con.executescript( - """ - drop table if exists vertices_prior; - create table if not exists vertices_prior as select * from vertices; - """) #=============================================================================== @@ -181,9 +170,8 @@ def source_as_subcommodity_setup(the_scenario, logger): return #=============================================================================== -def generate_all_vertices_from_optimal_for_sasc(the_scenario, logger): - logger.info("START: generate_all_vertices_from_optimal_for_sasc") - #this should be run instead of generate_all_vertices_table, not in addition +def generate_all_vertices_table(the_scenario, logger): + logger.info("START: generate_all_vertices_dictionary") total_potential_production = {} multi_commodity_name = "multicommodity" @@ -193,34 +181,54 @@ def generate_all_vertices_from_optimal_for_sasc(the_scenario, logger): logger.debug("TODO - facilities do not yet have schedule strings, but we need this for vertex creation - dummy data from test_aftot_pulp.py currently") with sqlite3.connect(the_scenario.main_db) as main_db_con: - main_db_con.executescript( - """ - drop table if exists vertices; - - create table if not exists vertices ( + + main_db_con.execute("drop table if exists vertices;") + logger.debug("create the vertices table") + main_db_con.execute("""create table if not exists vertices ( vertex_id INTEGER PRIMARY KEY, location_id, facility_id integer, facility_name text, facility_type_id integer, schedule_day integer, commodity_id integer, activity_level numeric, storage_vertex binary, udp numeric, supply numeric, demand numeric, subcommodity_id integer, source_facility_id integer, - CONSTRAINT unique_vertex UNIQUE(facility_id, schedule_day, subcommodity_id, storage_vertex)); + CONSTRAINT unique_vertex UNIQUE(facility_id, schedule_day, subcommodity_id, storage_vertex));""") - insert or ignore into commodities(commodity_name) values ('{}');""".format(multi_commodity_name)) + logger.info("create an index for the networkx nodes and links tables") + main_db_con.execute("CREATE INDEX IF NOT EXISTS node_index ON networkx_nodes (node_id, location_id);") + main_db_con.execute("""create index if not exists nx_edge_index on + networkx_edges(from_node_id, to_node_id, + artificial, mode_source, mode_source_OID, + miles, route_cost_scaling, capacity);""") + + + logger.debug("create the schedules table") + main_db_con.execute("create table if not exists schedules (schedule_id INTEGER PRIMARY KEY, schedule_name text, default_value integer, full_schedule text, total_days integer);") + logger.debug("create default full schedule") + main_db_con.execute("""INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}');""".format('default_schedule',1, 2,'default_schedule')) + main_db_con.execute("""INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}');""".format('default_1_day_schedule',1, 1,'default_1_day_schedule')) + #main_db_con.execute("insert or ignore into schedules (schedule_name, default_value, total_days) values ('{}', '{}', '{}');".format('default_schedule',1, 2)) + #create artificial commodity for processor primary vertices so that they can be non-null and have a commodity id + + + + main_db_con.execute("""insert or ignore into commodities(commodity_name) values ('{}');""".format(multi_commodity_name)) main_db_con.execute("""insert or ignore into subcommodity(source_facility_id, source_facility_name, commodity_name, commodity_id) select sc.source_facility_id, sc.source_facility_name, c.commodity_name, c.commodity_id from subcommodity sc, commodities c where c.commodity_name = '{}' """.format(multi_commodity_name)) - #for all facilities that are used in the optimal solution, retrieve facility and facility_commodity information + #for all facilities that aren't ignored, retrieve facility and facility_commodity information #each row is a facility_commodity entry then, will get at least 1 vertex; more for days and storage, less for processors? #for raw_material_suppliers #-------------------------------- - db_cur = main_db_con.cursor() db_cur4 = main_db_con.cursor() counter = 0 @@ -228,28 +236,19 @@ def generate_all_vertices_from_optimal_for_sasc(the_scenario, logger): total_facilities = row[0] #create vertices for each facility - # facility_type can be "raw_material_producer", "ultimate_destination","processor"; get id from original vertices table for sasc - # use UNION (? check for sqlite) to get a non-repeat list of facilities + # facility_type can be "raw_material_producer", "ultimate_destination","processor"; get id from facility_type_id table - for row_a in db_cur.execute("""select f.facility_id, facility_type, facility_name, location_id, f.facility_type_id - from facilities f, facility_type_id ft, optimal_variables_prior ov - where ignore_facility = '{}' - and f.facility_type_id = ft.facility_type_id - and f.facility_name = ov.o_facility - union - select f.facility_id, facility_type, facility_name, location_id, f.facility_type_id - from facilities f, facility_type_id ft, optimal_variables_prior ov + for row_a in db_cur.execute("""select facility_id, facility_type, facility_name, location_id, f.facility_type_id + from facilities f, facility_type_id ft where ignore_facility = '{}' - and f.facility_type_id = ft.facility_type_id - and f.facility_name = ov.d_facility - ;""".format('false', 'false')): + and f.facility_type_id = ft.facility_type_id;""".format('false')): db_cur2 = main_db_con.cursor() facility_id = row_a[0] facility_type = row_a[1] facility_name = row_a[2] facility_location_id = row_a[3] facility_type_id = row_a[4] - if counter % 10000 == 0: + if counter % 10000 == 0 and counter > 0: logger.info("vertices created for {} facilities of {}".format(counter, total_facilities)) for row_d in db_cur4.execute("select count(distinct vertex_id) from vertices;"): logger.info('{} vertices created'.format(row_d[0])) @@ -334,6 +333,8 @@ def generate_all_vertices_from_optimal_for_sasc(the_scenario, logger): day = default_sched.first_day stop_day = default_sched.last_day availability = default_sched.availability + # logger.info("start_day: {}".format(day)) + # logger.info("stop_day: {}".format(stop_day)) while day <= stop_day: main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, supply, @@ -351,6 +352,8 @@ def generate_all_vertices_from_optimal_for_sasc(the_scenario, logger): elif facility_type == "storage": #storage facility # handle as such, exploding by time and commodity + # print type(f.commodity_slate) + #print type(f.commodity_slate.AllAllowedCommodities()) for row_b in db_cur2.execute("""select commodity_id, quantity, units, s.sub_id, s.source_facility_id from facility_commodities fc, subcommodity s where fc.facility_id = {} @@ -363,6 +366,8 @@ def generate_all_vertices_from_optimal_for_sasc(the_scenario, logger): day = default_sched.first_day stop_day = default_sched.last_day availability = default_sched.availability + # logger.info("start_day: {}".format(day)) + # logger.info("stop_day: {}".format(stop_day)) while day <= stop_day: main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, storage_vertex, @@ -372,6 +377,9 @@ def generate_all_vertices_from_optimal_for_sasc(the_scenario, logger): subcommodity_id, source_facility_id)) day = day + 1 + # storage_facility_vertices[f.name, day, commodity_name, primary] = \ + # xtot_objects.Vertex(logger, f, day, commodity_name) + elif facility_type == "ultimate_destination": #ultimate_destination # handle as such, exploding by time and commodity for row_b in db_cur2.execute("""select fc.commodity_id, ifnull(fc.quantity, 0), fc.units, @@ -432,63 +440,787 @@ def generate_all_vertices_from_optimal_for_sasc(the_scenario, logger): day = day + 1 - else: - logger.warning("error, unexpected facility_type: {}, facility_type_id: {}".format(facility_type, facility_type_id)) + else: + logger.warning("error, unexpected facility_type: {}, facility_type_id: {}".format(facility_type, facility_type_id)) + + # if it's an origin/supply facility, explode by commodity and time + # if it's a destination/demand facility, explode by commodity and time + # if it's an independent storage facility, explode by commodity and time + # if it's a processing/refining facility, only explode by time - all commodities on the product slate must + # enter and exit the vertex + + #add destination storage vertices for all demand subtypes after all facilities have been iterated, so that we know what fuel subtypes are in this scenario + + + logger.debug("total possible production in scenario: {}".format(total_potential_production)) + +def generate_all_vertices_from_optimal_for_sasc(the_scenario, logger): + logger.info("START: generate_all_vertices_from_optimal_for_sasc") + #this should be run instead of generate_all_vertices_table, not in addition + + total_potential_production = {} + multi_commodity_name = "multicommodity" + #dictionary items should have the form (vertex, edge_names_in, edge_names_out) + + storage_availability = 1 + + logger.debug("TODO - facilities do not yet have schedule strings, but we need this for vertex creation - dummy data from test_aftot_pulp.py currently") + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + logger.debug("save the current optimal_variables table as optimal_variables_prior") + main_db_con.executescript(""" + drop table if exists optimal_variables_prior; + + create table optimal_variables_prior as select * from optimal_variables; + + drop table optimal_variables; + """) + + logger.debug("save the current vertices table as vertices_prior and create the new vertices table") + + main_db_con.executescript( + """ + drop table if exists vertices_prior; + + create table vertices_prior as select * from vertices; + + drop table vertices; + + create table if not exists vertices ( + vertex_id INTEGER PRIMARY KEY, location_id, + facility_id integer, facility_name text, facility_type_id integer, schedule_day integer, + commodity_id integer, activity_level numeric, storage_vertex binary, + udp numeric, supply numeric, demand numeric, + subcommodity_id integer, + source_facility_id integer, + CONSTRAINT unique_vertex UNIQUE(facility_id, schedule_day, subcommodity_id, storage_vertex)); + + insert or ignore into commodities(commodity_name) values ('{}');""".format(multi_commodity_name)) + + main_db_con.execute("""insert or ignore into subcommodity(source_facility_id, source_facility_name, commodity_name, commodity_id) + select sc.source_facility_id, sc.source_facility_name, c.commodity_name, c.commodity_id + from subcommodity sc, commodities c + where c.commodity_name = '{}' + """.format(multi_commodity_name)) + + #for all facilities that are used in the optimal solution, retrieve facility and facility_commodity information + #each row is a facility_commodity entry then, will get at least 1 vertex; more for days and storage, less for processors? + + #for raw_material_suppliers + #-------------------------------- + + + db_cur = main_db_con.cursor() + db_cur4 = main_db_con.cursor() + counter = 0 + for row in db_cur.execute("select count(distinct facility_id) from facilities;"): + total_facilities = row[0] + + #create vertices for each facility + # facility_type can be "raw_material_producer", "ultimate_destination","processor"; get id from original vertices table for sasc + # use UNION (? check for sqlite) to get a non-repeat list of facilities + + for row_a in db_cur.execute("""select f.facility_id, facility_type, facility_name, location_id, f.facility_type_id + from facilities f, facility_type_id ft, optimal_variables_prior ov + where ignore_facility = '{}' + and f.facility_type_id = ft.facility_type_id + and f.facility_id = ov.o_facility_id + union + select f.facility_id, facility_type, facility_name, location_id, f.facility_type_id + from facilities f, facility_type_id ft, optimal_variables_prior ov + where ignore_facility = '{}' + and f.facility_type_id = ft.facility_type_id + and f.facility_id = ov.d_facility_id + ;""".format('false', 'false')): + db_cur2 = main_db_con.cursor() + facility_id = row_a[0] + facility_type = row_a[1] + facility_name = row_a[2] + facility_location_id = row_a[3] + facility_type_id = row_a[4] + if counter % 10000 == 0: + logger.info("vertices created for {} facilities of {}".format(counter, total_facilities)) + for row_d in db_cur4.execute("select count(distinct vertex_id) from vertices;"): + logger.info('{} vertices created'.format(row_d[0])) + counter = counter + 1 + + + if facility_type == "processor": + + #each processor facility should have 1 input commodity with 1 storage vertex, 1 or more output commodities each with 1 storage vertex, and 1 primary processing vertex + #explode by time, create primary vertex, explode by commodity to create storage vertices; can also create primary vertex for input commodity + #do this for each subcommodity now instead of each commodity + for row_b in db_cur2.execute("""select fc.commodity_id, + ifnull(fc.quantity, 0), + fc.units, + ifnull(c.supertype, c.commodity_name), + fc.io, + mc.commodity_id, + c.commodity_name, + s.sub_id, + s.source_facility_id + from facility_commodities fc, commodities c, commodities mc, subcommodity s + where fc.facility_id = {} + and fc.commodity_id = c.commodity_id + and mc.commodity_name = '{}' + and s.commodity_id = c.commodity_id;""".format(facility_id, multi_commodity_name)): + + commodity_id = row_b[0] + quantity = row_b[1] + units = row_b[2] + commodity_supertype = row_b[3] + io = row_b[4] + id_for_mult_commodities = row_b[5] + commodity_name = row_b[6] + subcommodity_id = row_b[7] + source_facility_id = row_b[8] + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + #vertices for generic demand type, or any subtype specified by the destination + while day <= stop_day: + if io == 'i': + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, + subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, {}, {}, {}, + {},{} + );""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, id_for_mult_commodities, availability[day], primary, + subcommodity_id, source_facility_id)) + + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, demand, + subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, {});""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, storage_availability, storage, quantity, + subcommodity_id, source_facility_id)) + + else: + if commodity_name != 'total_fuel': + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, supply, subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, {}, {});""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, storage_availability, storage, quantity, subcommodity_id, source_facility_id)) + day = day + 1 + + elif facility_type == "raw_material_producer": #raw material producer + + # handle as such, exploding by time and commodity + for row_b in db_cur2.execute("""select fc.commodity_id, fc.quantity, fc.units, s.sub_id, s.source_facility_id + from facility_commodities fc, subcommodity s + where fc.facility_id = {} + and s.source_facility_id = {} + and fc.commodity_id = s.commodity_id;""".format(facility_id, facility_id)): + commodity_id = row_b[0] + quantity = row_b[1] + units = row_b[2] + subcommodity_id = row_b[3] + source_facility_id = row_b[4] + + if commodity_id in total_potential_production: + total_potential_production[commodity_id] = total_potential_production[commodity_id] + quantity + else: + total_potential_production[commodity_id] = quantity + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + # logger.info("start_day: {}".format(day)) + # logger.info("stop_day: {}".format(stop_day)) + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, supply, + subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {},{});""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, availability[day], primary, quantity, + subcommodity_id, source_facility_id)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, supply, + subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {},{});""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, storage_availability, storage, quantity, + subcommodity_id, source_facility_id)) + day = day + 1 + + elif facility_type == "storage": #storage facility + # handle as such, exploding by time and commodity + # print type(f.commodity_slate) + #print type(f.commodity_slate.AllAllowedCommodities()) + for row_b in db_cur2.execute("""select commodity_id, quantity, units, s.sub_id, s.source_facility_id + from facility_commodities fc, subcommodity s + where fc.facility_id = {} + and fc.commodity_id = s.commodity_id;""".format(facility_id)): + commodity_id = row_b[0] + quantity = row_b[1] + units = row_b[2] + subcommodity_id = row_b[3] + source_facility_id = row_b[4] + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + # logger.info("start_day: {}".format(day)) + # logger.info("stop_day: {}".format(stop_day)) + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, storage_vertex, + subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, {}, {}, + {},{});""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, storage, + subcommodity_id, source_facility_id)) + day = day + 1 + + # storage_facility_vertices[f.name, day, commodity_name, primary] = \ + # xtot_objects.Vertex(logger, f, day, commodity_name) + + elif facility_type == "ultimate_destination": #ultimate_destination + # handle as such, exploding by time and commodity + for row_b in db_cur2.execute("""select fc.commodity_id, ifnull(fc.quantity, 0), fc.units, + fc.commodity_id, ifnull(c.supertype, c.commodity_name), s.sub_id, s.source_facility_id + from facility_commodities fc, commodities c, subcommodity s + where fc.facility_id = {} + and fc.commodity_id = c.commodity_id + and fc.commodity_id = s.commodity_id;""".format(facility_id)): + commodity_id = row_b[0] + quantity = row_b[1] + units = row_b[2] + commodity_id = row_b[3] + commodity_supertype = row_b[4] + subcommodity_id = row_b[5] + source_facility_id = row_b[6] + + #this is where the alternate schedule for destination demand can be set + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + #vertices for generic demand type, or any subtype specified by the destination + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, demand, udp, + subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, + {}, {}, {}, {}, {}, + {},{});""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, availability[day], primary, quantity, the_scenario.unMetDemandPenalty, + subcommodity_id, source_facility_id)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, demand, + subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {},{});""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, commodity_id, storage_availability, storage, quantity, + subcommodity_id, source_facility_id)) + day = day + 1 + #vertices for other fuel subtypes that match the destination's supertype + #if the subtype is in the commodity table, it is produced by some facility (not ignored) in the scenario + db_cur3 = main_db_con.cursor() + for row_c in db_cur3.execute("""select commodity_id, units from commodities + where supertype = '{}';""".format(commodity_supertype)): + new_commodity_id = row_c[0] + new_units= row_c[1] + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, demand, udp, + subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, {}, + {},{});""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, new_commodity_id, availability[day], primary, quantity, the_scenario.unMetDemandPenalty, + subcommodity_id, source_facility_id)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, activity_level, storage_vertex, demand, + subcommodity_id, source_facility_id) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {},{});""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, new_commodity_id, storage_availability, storage, quantity, + subcommodity_id, source_facility_id)) + day = day + 1 + + + else: + logger.warning("error, unexpected facility_type: {}, facility_type_id: {}".format(facility_type, facility_type_id)) + + # if it's an origin/supply facility, explode by commodity and time + # if it's a destination/demand facility, explode by commodity and time + # if it's an independent storage facility, explode by commodity and time + # if it's a processing/refining facility, only explode by time - all commodities on the product slate must + # enter and exit the vertex + + #add destination storage vertices for all demand subtypes after all facilities have been iterated, so that we know what fuel subtypes are in this scenario + + + logger.debug("total possible production in scenario: {}".format(total_potential_production)) + +#=============================================================================== + +def add_storage_routes(the_scenario, logger): + # these are loops to and from the same facility; when exploded to edges, they will connect primary to storage vertices, and storage vertices day to day + # is one enough? how many edges will be created per route here? + # will always create edge for this route from storage to storage vertex + # will always create edges for extra routes connecting here + # IF a primary vertex exists, will also create an edge connecting the storage vertex to the primary + + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + logger.debug("create the storage_routes table") + + main_db_con.execute("drop table if exists storage_routes;") + main_db_con.execute("""create table if not exists storage_routes as + select facility_name || '_storage' as route_name, + location_id, + facility_id, + facility_name as o_name, + facility_name as d_name, + {} as cost_1, + {} as cost_2, + 1 as travel_time, + {} as storage_max, + 0 as storage_min + from facilities + where ignore_facility = 'false' + ;""".format(storage_cost_1, storage_cost_2, facility_onsite_storage_max)) + main_db_con.execute("""create table if not exists route_reference( + route_id INTEGER PRIMARY KEY, route_type text, route_name text, scenario_rt_id integer, + CONSTRAINT unique_routes UNIQUE(route_type, route_name, scenario_rt_id));""") + #main_db_con.execute("insert or ignore into route_reference select scenario_rt_id, 'transport', 'see scenario_rt_id', scenario_rt_id from routes;") + main_db_con.execute("insert or ignore into route_reference select null,'storage', route_name, 0 from storage_routes;") + + + logger.debug("storage_routes table created") + + return + +#=============================================================================== +#@profile(stream=fp) +def generate_all_edges_from_optimal_for_sasc(the_scenario, logger): + logger.info("START: generate_all_edges_from_optimal_for_sasc") + #create edges table + #plan to generate start and end days based on nx edge time to traverse and schedule + #can still have route_id, but only for storage routes now; nullable + + multi_commodity_name = "multicommodity" + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + if ('pipeline_crude_trf_rts' in the_scenario.permittedModes) or ('pipeline_prod_trf_rts' in the_scenario.permittedModes) : + logger.info("create indices for the capacity_nodes and pipeline_mapping tables") + main_db_con.executescript( + """ + CREATE INDEX IF NOT EXISTS pm_index ON pipeline_mapping (id, id_field_name, mapping_id_field_name, mapping_id); + CREATE INDEX IF NOT EXISTS cn_index ON capacity_nodes (source, id_field_name, source_OID); + """) + main_db_con.executescript( + """ + drop table if exists edges_prior; + + create table edges_prior as select * from edges; + + drop table if exists edges; + + create table edges (edge_id INTEGER PRIMARY KEY, + route_id integer, + from_node_id integer, + to_node_id integer, + start_day integer, + end_day integer, + commodity_id integer, + o_vertex_id integer, + d_vertex_id integer, + max_edge_capacity numeric, + volume numeric, + capac_minus_volume_zero_floor numeric, + min_edge_capacity numeric, + capacity_units text, + units_conversion_multiplier numeric, + edge_flow_cost numeric, + edge_flow_cost2 numeric, + edge_type text, + nx_edge_id integer, + mode text, + mode_oid integer, + miles numeric, + simple_mode text, + tariff_id numeric, + phase_of_matter text, + subcommodity_id integer, + source_facility_id integer + );""") + + + + db_cur = main_db_con.cursor() + counter = 0 + for row in db_cur.execute("select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): + id_for_mult_commodities = row[0] + for row in db_cur.execute("select count(*) from networkx_edges;"): + total_transport_routes = row[0] + + + + #create transport edges, only between storage vertices and nodes, based on networkx graph and optimal variables + #never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + #iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + #should also be per day, subject to nx edge schedule + #before creating an edge, check: commodity allowed by nx and max transport distance if not null + #will need nodes per day and commodity? or can I just check that with constraints? + #select data for transport edges + for row_a in db_cur.execute("""select + ne.edge_id, + ifnull(fn.location_id, 'NULL'), + ifnull(tn.location_id, 'NULL'), + ne.mode_source, + ifnull(nec.phase_of_matter_id, 'NULL'), + nec.route_cost, + ne.from_node_id, + ne.to_node_id, + nec.dollar_cost, + ne.miles, + ne.capacity, + ne.artificial, + ne.mode_source_oid + from networkx_edges ne, networkx_nodes fn, networkx_nodes tn, networkx_edge_costs nec, optimal_variables_prior ov + + where ne.from_node_id = fn.node_id + and ne.to_node_id = tn.node_id + and ne.edge_id = nec.edge_id + and ifnull(ne.capacity, 1) > 0 + and ne.edge_id = ov.nx_edge_id + ;"""): + + nx_edge_id = row_a[0] + from_location = row_a[1] + to_location = row_a[2] + mode = row_a[3] + phase_of_matter = row_a[4] + route_cost = row_a[5] + from_node = row_a[6] + to_node = row_a[7] + dollar_cost = row_a[8] + miles = row_a[9] + max_daily_capacity = row_a[10] + mode_oid = row_a[12] + simple_mode = row_a[3].partition('_')[0] + + + db_cur3 = main_db_con.cursor() + + if counter % 10000 == 0: + logger.info("edges created for {} transport links of {}".format(counter, total_transport_routes)) + for row_d in db_cur3.execute("select count(distinct edge_id) from edges;"): + logger.info('{} edges created'.format(row_d[0])) + counter = counter +1 + + tariff_id = 0 + if simple_mode == 'pipeline': + + #find tariff_ids + + sql="select mapping_id from pipeline_mapping where id = {} and id_field_name = 'source_OID' and source = '{}' and mapping_id is not null;".format(mode_oid, mode) + for tariff_row in db_cur3.execute(sql): + tariff_id = tariff_row[0] + + if mode in the_scenario.permittedModes: + + # Edges are placeholders for flow variables + # 4-17: if both ends have no location, iterate through viable commodities and days, create edge + # for all days (restrict by link schedule if called for) + # for all allowed commodities, as currently defined by link phase of matter + + + for day in range(default_sched.first_day, default_sched.last_day+1): + if (day+fixed_route_duration <= default_sched.last_day): #if link is traversable in the timeframe + if (simple_mode != 'pipeline' or tariff_id >= 0): + #for allowed commodities + for row_c in db_cur3.execute("select commodity_id, sub_id, source_facility_id from subcommodity where phase_of_matter = '{}' group by commodity_id, sub_id, source_facility_id".format(phase_of_matter)): + db_cur4 = main_db_con.cursor() + commodity_id = row_c[0] + subcommodity_id = row_c[1] + source_facility_id = row_c[2] + #if from_location != 'NULL': + # logger.info("non-null from location nxedge {}, {}, checking for commodity {}".format(from_location,nx_edge_id, commodity_id)) + if(from_location == 'NULL' and to_location == 'NULL'): + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, phase_of_matter, subcommodity_id, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, {}, {}, + '{}',{},'{}',{},{},'{}',{},'{}',{},{}); + """.format(from_node, to_node, + day, day+fixed_route_duration, commodity_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id,phase_of_matter, subcommodity_id, source_facility_id)) + + elif(from_location != 'NULL' and to_location == 'NULL'): + #for each day and commodity, get the corresponding origin vertex id to include with the edge info + #origin vertex must not be "ultimate_destination + #transport link outgoing from facility - checking fc.io is more thorough than checking if facility type is 'ultimate destination' + #new for bsc, only connect to vertices with matching subcommodity_id (only limited for RMP vertices) + for row_d in db_cur4.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} and v.commodity_id = {} and v.subcommodity_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'o'""".format(from_location, day, commodity_id, subcommodity_id)): + from_vertex_id = row_d[0] + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id,phase_of_matter, subcommodity_id, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{},{},'{}',{},'{}',{},{}); + """.format(from_node, to_node, + day, day+fixed_route_duration, commodity_id, + from_vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, phase_of_matter, subcommodity_id, source_facility_id)) + elif(from_location == 'NULL' and to_location != 'NULL'): + #for each day and commodity, get the corresponding destination vertex id to include with the edge info + for row_d in db_cur4.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} and v.commodity_id = {} and v.subcommodity_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'i'""".format(to_location, day, commodity_id, subcommodity_id)): + to_vertex_id = row_d[0] + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, phase_of_matter, subcommodity_id, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{},{},'{}',{},'{}',{},{}); + """.format(from_node, to_node, + day, day+fixed_route_duration, commodity_id, + to_vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, phase_of_matter, subcommodity_id, source_facility_id)) + elif(from_location != 'NULL' and to_location != 'NULL'): + #for each day and commodity, get the corresponding origin and destination vertex ids to include with the edge info + for row_d in db_cur4.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} and v.commodity_id = {} and v.subcommodity_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'o'""".format(from_location, day, commodity_id, subcommodity_id)): + from_vertex_id = row_d[0] + db_cur5 = main_db_con.cursor() + for row_e in db_cur5.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} and v.commodity_id = {} and v.subcommodity_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'i'""".format(to_location, day, commodity_id, subcommodity_id)): + to_vertex_id = row_d[0] + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, phase_of_matter, subcommodity_id, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, {}, + {}, {}, {}, + '{}',{},'{}', {},{},'{}',{},'{}',{},{}); + """.format(from_node, to_node, + day, day+fixed_route_duration, commodity_id, + from_vertex_id, to_vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, phase_of_matter, subcommodity_id, source_facility_id)) + + + - # if it's an origin/supply facility, explode by commodity and time - # if it's a destination/demand facility, explode by commodity and time - # if it's an independent storage facility, explode by commodity and time - # if it's a processing/refining facility, only explode by time - all commodities on the product slate must - # enter and exit the vertex + for row_d in db_cur.execute("select count(distinct edge_id) from edges;"): + logger.info('{} edges created'.format(row_d[0])) - #add destination storage vertices for all demand subtypes after all facilities have been iterated, so that we know what fuel subtypes are in this scenario + logger.debug("all transport edges created") - logger.debug("total possible production in scenario: {}".format(total_potential_production)) -#=============================================================================== -def add_storage_routes(the_scenario, logger): - # these are loops to and from the same facility; when exploded to edges, they will connect primary to storage vertices, and storage vertices day to day - # is one enough? how many edges will be created per route here? - # will always create edge for this route from storage to storage vertex - # will always create edges for extra routes connecting here - # IF a primary vertex exists, will also create an edge connecting the storage vertex to the primary + # if an end has a location: + # + #if there exists a route connecting two vertices that 1) share a commodity + # 2) have the appropriate time difference, + # 3)are not the same vertex + # 4) match the specified origin & dest facilities in od_pairs + # 5) max transport distance of the commodity is >= route miles + # are both storage vertices, for transport edges + #create an edge with that commodity + #select vertices at the route origin id with commodity that matches the route phase of matter +## db_cur2 = main_db_con.cursor() +## for row_b in db_cur2.execute("""select v.vertex_id, v.schedule_day, +## v.commodity_id, v.storage_vertex, ifnull(c.max_transport_distance, 'NULL') +## from vertices v, commodities c +## where v.facility_id = {} +## and v.storage_vertex = 1 +## and v.commodity_id = c.commodity_id +## and c.phase_of_matter = '{}';""".format(origin_facility_id, route_phase_of_matter)): +## o_vertex_id = row_b[0] +## o_schedule_day = row_b[1] +## o_commodity_id = row_b[2] +## storage_vertex = row_b[3] +## commodity_max_distance = row_b[4] +## #when we do create edges, check fo rRMP or UD +## +## +## if (commodity_max_distance == 'NULL' or commodity_max_distance == 'Null' or commodity_max_distance == 'None'): +## commodity_max_distance = 9999.9 # mnp - hack to prevent crash casting Null to a float. +## if float(commodity_max_distance) >= route_len_miles: +## db_cur3 = main_db_con.cursor() +## for row_c in db_cur3.execute("""select vertex_id, schedule_day from vertices v +## where v.facility_id = {} +## and v.schedule_day = {} +## and v.commodity_id = {} +## and v.storage_vertex = 1 +## and v.vertex_id != {};""".format(dest_facility_id, o_schedule_day+fixed_route_duration, o_commodity_id, o_vertex_id)): + +## d_vertex_id = row_c[0] +## d_schedule_day = row_c[1] +## main_db_con.execute("""insert or ignore into edges (route_id, +## start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, +## max_edge_capacity, min_edge_capacity, edge_flow_cost, +## edge_type) VALUES ({}, {}, {}, {}, {}, {}, {}, {}, {},'{}'); +## """.format(route_id, o_schedule_day, d_schedule_day, +## o_commodity_id, o_vertex_id, d_vertex_id, max_daily_capacity, +## min_daily_capacity, route_cost_per_unit, 'transport')) +## +## logger.info("all transport edges created") + #create storage & connector edges + #for each storage route, get origin storage vertices; if storage vertex exists on day of origin + duration, create a storage edge + for row_a in db_cur.execute("select sr.route_name, o_name, d_name, cost_1,cost_2, travel_time, storage_max, storage_min, rr.route_id, location_id, facility_id from storage_routes sr, route_reference rr where sr.route_name = rr.route_name;"): + route_name = row_a[0] + origin_facility_name = row_a[1] + dest_facility_name = row_a[2] + storage_route_cost_1 = row_a[3] + storage_route_cost_2 = row_a[4] + storage_route_travel_time = row_a[5] + max_daily_storage_capacity = row_a[6] + min_daily_storage_capacity = row_a[7] + route_id = row_a[8] + facility_location_id = row_a[9] + facility_id = row_a[10] - with sqlite3.connect(the_scenario.main_db) as main_db_con: - logger.debug("create the storage_routes table") + db_cur2 = main_db_con.cursor() + #storage vertices as origin for this route + #storage routes have no commodity phase restriction so we don't need to check for it here + for row_b in db_cur2.execute("""select v.vertex_id, v.schedule_day, + v.commodity_id, v.storage_vertex, v.subcommodity_id, v.source_facility_id + from vertices v + where v.facility_id = {} + and v.storage_vertex = 1;""".format(facility_id)): + o_vertex_id = row_b[0] + o_schedule_day = row_b[1] + o_commodity_id = row_b[2] + o_storage_vertex = row_b[3] + o_subcommodity_id = row_b[4] + o_source_facility_id = row_b[5] - main_db_con.execute("drop table if exists storage_routes;") - main_db_con.execute("""create table if not exists storage_routes as - select facility_name || '_storage' as route_name, - location_id, - facility_id, - facility_name as o_name, - facility_name as d_name, - {} as cost_1, - {} as cost_2, - 1 as travel_time, - {} as storage_max, - 0 as storage_min - from facilities - where ignore_facility = 'false' - ;""".format(storage_cost_1, storage_cost_2, facility_onsite_storage_max)) - main_db_con.execute("""create table if not exists route_reference( - route_id INTEGER PRIMARY KEY, route_type text, route_name text, scenario_rt_id integer, - CONSTRAINT unique_routes UNIQUE(route_type, route_name, scenario_rt_id));""") - #main_db_con.execute("insert or ignore into route_reference select scenario_rt_id, 'transport', 'see scenario_rt_id', scenario_rt_id from routes;") - main_db_con.execute("insert or ignore into route_reference select null,'storage', route_name, 0 from storage_routes;") + #matching dest vertex for storage - same commodity and facility name, iterate day + db_cur3 = main_db_con.cursor() + for row_c in db_cur3.execute("""select v.vertex_id, v.schedule_day, v.storage_vertex + from vertices v + where v.facility_id = {} + and v.schedule_day = {} + and v.commodity_id = {} + and v.storage_vertex = 1 + and v.vertex_id != {} + and v.subcommodity_id = {};""".format(facility_id, o_schedule_day+storage_route_travel_time, o_commodity_id, o_vertex_id, o_subcommodity_id)): + d_vertex_id = row_c[0] + d_schedule_day = row_c[1] + o_storage_vertex = row_b[2] + main_db_con.execute("""insert or ignore into edges (route_id, + start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, edge_flow_cost, edge_type, subcommodity_id, source_facility_id) + VALUES ({}, {}, {}, {}, {}, {}, {}, {}, {}, '{}',{},{});""".format( + route_id, o_schedule_day, d_schedule_day, o_commodity_id, o_vertex_id, + d_vertex_id, max_daily_storage_capacity, min_daily_storage_capacity, storage_route_cost_1, 'storage', o_subcommodity_id, o_source_facility_id)) - logger.debug("storage_routes table created") + #connector edges from storage into primary vertex - processors and destinations + #check commodity direction = i instead of and v.facility_type_id != 'raw_material_producer' + #12-8 upates to account for multi-commodity processor vertices + #subcommodity has to match even if multi commodity - keep track of different processor vertex copies + db_cur3 = main_db_con.cursor() + for row_c in db_cur3.execute("""select d.vertex_id, d.schedule_day + from vertices d, facility_commodities fc + where d.facility_id = {} + and d.schedule_day = {} + and (d.commodity_id = {} or d.commodity_id = {}) + and d.storage_vertex = 0 + and d.facility_id = fc.facility_id + and fc.commodity_id = {} + and fc.io = 'i' + and d.source_facility_id = {} + ; + """.format(facility_id, o_schedule_day, o_commodity_id, id_for_mult_commodities, o_commodity_id,o_source_facility_id)): + d_vertex_id = row_c[0] + d_schedule_day = row_c[1] + connector_cost = 0 + main_db_con.execute("""insert or ignore into edges (route_id, start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, edge_flow_cost, edge_type, subcommodity_id, source_facility_id) + VALUES ({}, {}, {}, {}, {}, {}, {}, {}, {}, '{}',{},{});""".format( + route_id, o_schedule_day, d_schedule_day, o_commodity_id, o_vertex_id, + d_vertex_id, default_max_capacity, default_min_capacity, connector_cost, 'connector', o_subcommodity_id, o_source_facility_id)) - return + #create remaining connector edges + #primary to storage vertex - supplier, destination, processor; not needed for storage facilities + #same day, same commodity (unless processor), no cost; purpose is to separate control of flows + #into and out of the system from flows within the system (transport & storage) + #and v.facility_type_id != 'ultimate_destination' + #create connectors ending at storage + + + d_vertex_id = row_b[0] + d_schedule_day = row_b[1] + d_commodity_id = row_b[2] + d_storage_vertex = row_b[3] + d_subcommodity_id = row_b[4] + d_source_facility_id = row_b[5] + + + db_cur3 = main_db_con.cursor() + for row_c in db_cur3.execute("""select vertex_id, schedule_day from vertices v, facility_commodities fc + where v.facility_id = {} + and v.schedule_day = {} + and (v.commodity_id = {} or v.commodity_id = {}) + and v.storage_vertex = 0 + and v.facility_id = fc.facility_id + and fc.commodity_id = {} + and fc.io = 'o' + and v.source_facility_id = {} + ; + """.format(facility_id, d_schedule_day, d_commodity_id, id_for_mult_commodities, d_commodity_id,d_source_facility_id)): + o_vertex_id = row_c[0] + o_schedule_day = row_c[1] + connector_cost = 0 + main_db_con.execute("""insert or ignore into edges (route_id, start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, edge_flow_cost, edge_type, subcommodity_id, source_facility_id) + VALUES ({}, {}, {}, {}, {}, {}, {}, {}, {}, '{}',{},{});""".format( + route_id, o_schedule_day, d_schedule_day, d_commodity_id, + o_vertex_id, d_vertex_id, default_max_capacity, default_min_capacity, + connector_cost, 'connector', d_subcommodity_id, d_source_facility_id)) + + logger.info("all edges created") + logger.info("create an index for the edges table by nodes") + + sql = ("""CREATE INDEX IF NOT EXISTS edge_index ON edges ( + edge_id, route_id, from_node_id, to_node_id, commodity_id, + start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, subcommodity_id, source_facility_id);""") + db_cur.execute(sql) + + return #=============================================================================== -def generate_all_edges_from_optimal_for_sasc(the_scenario, logger): - logger.info("START: generate_all_edges_from_optimal_for_sasc") + +def generate_all_edges_db(the_scenario, logger): + logger.info("START: generate_all_edges_db") #create edges table #plan to generate start and end days based on nx edge time to traverse and schedule #can still have route_id, but only for storage routes now; nullable @@ -496,6 +1228,7 @@ def generate_all_edges_from_optimal_for_sasc(the_scenario, logger): multi_commodity_name = "multicommodity" with sqlite3.connect(the_scenario.main_db) as main_db_con: + if ('pipeline_crude_trf_rts' in the_scenario.permittedModes) or ('pipeline_prod_trf_rts' in the_scenario.permittedModes) : logger.info("create indices for the capacity_nodes and pipeline_mapping tables") main_db_con.executescript( @@ -503,21 +1236,14 @@ def generate_all_edges_from_optimal_for_sasc(the_scenario, logger): CREATE INDEX IF NOT EXISTS pm_index ON pipeline_mapping (id, id_field_name, mapping_id_field_name, mapping_id); CREATE INDEX IF NOT EXISTS cn_index ON capacity_nodes (source, id_field_name, source_OID); """) - main_db_con.executescript( - """ - drop table if exists edges_prior; - - create table edges_prior as select * from edges; - - drop table if exists edges; - - create table edges (edge_id INTEGER PRIMARY KEY, + main_db_con.execute("drop table if exists edges;") + main_db_con.execute("""create table edges (edge_id INTEGER PRIMARY KEY, route_id integer, from_node_id integer, to_node_id integer, start_day integer, end_day integer, - commodity_id integer, + commodity_id text, o_vertex_id integer, d_vertex_id integer, max_edge_capacity numeric, @@ -541,7 +1267,6 @@ def generate_all_edges_from_optimal_for_sasc(the_scenario, logger): );""") - db_cur = main_db_con.cursor() counter = 0 for row in db_cur.execute("select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): @@ -550,14 +1275,16 @@ def generate_all_edges_from_optimal_for_sasc(the_scenario, logger): total_transport_routes = row[0] - - #create transport edges, only between storage vertices and nodes, based on networkx graph and optimal variables + #create transport edges, only between storage vertices and nodes, based on networkx graph #never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link #iterate through nx edges: if neither node has a location, create 1 edge per viable commodity #should also be per day, subject to nx edge schedule #before creating an edge, check: commodity allowed by nx and max transport distance if not null #will need nodes per day and commodity? or can I just check that with constraints? #select data for transport edges + + + for row_a in db_cur.execute("""select ne.edge_id, ifnull(fn.location_id, 'NULL'), @@ -572,13 +1299,12 @@ def generate_all_edges_from_optimal_for_sasc(the_scenario, logger): ne.capacity, ne.artificial, ne.mode_source_oid - from networkx_edges ne, networkx_nodes fn, networkx_nodes tn, networkx_edge_costs nec, optimal_variables_prior ov + from networkx_edges ne, networkx_nodes fn, networkx_nodes tn, networkx_edge_costs nec where ne.from_node_id = fn.node_id and ne.to_node_id = tn.node_id and ne.edge_id = nec.edge_id and ifnull(ne.capacity, 1) > 0 - and ne.edge_id = ov.nx_edge_id ;"""): nx_edge_id = row_a[0] @@ -733,11 +1459,29 @@ def generate_all_edges_from_optimal_for_sasc(the_scenario, logger): - for row_d in db_cur.execute("select count(distinct edge_id) from edges;"): - logger.info('{} edges created'.format(row_d[0])) + + + + + logger.debug("all transport edges created") + + + + # if an end has a location: + # + #if there exists a route connecting two vertices that 1) share a commodity + # 2) have the appropriate time difference, + # 3)are not the same vertex + # 4) match the specified origin & dest facilities in od_pairs + # 5) max transport distance of the commodity is >= route miles + # are both storage vertices, for transport edges + #create an edge with that commodity + #select vertices at the route origin id with commodity that matches the route phase of matter + + #create storage & connector edges #for each storage route, get origin storage vertices; if storage vertex exists on day of origin + duration, create a storage edge for row_a in db_cur.execute("select sr.route_name, o_name, d_name, cost_1,cost_2, travel_time, storage_max, storage_min, rr.route_id, location_id, facility_id from storage_routes sr, route_reference rr where sr.route_name = rr.route_name;"): @@ -865,8 +1609,10 @@ def generate_all_edges_from_optimal_for_sasc(the_scenario, logger): edge_type, nx_edge_id, mode, mode_oid, miles, subcommodity_id, source_facility_id);""") db_cur.execute(sql) + return + #=============================================================================== def set_edge_capacity_and_volume(the_scenario, logger): @@ -971,6 +1717,7 @@ def set_edge_capacity_and_volume(the_scenario, logger): #=============================================================================== +#@profile(stream=fp) def pre_setup_pulp_from_optimal(logger, the_scenario): logger.info("START: pre_setup_pulp") @@ -988,8 +1735,30 @@ def pre_setup_pulp_from_optimal(logger, the_scenario): return + #=============================================================================== +#@profile(stream=fp) +def pre_setup_pulp(logger, the_scenario): + + logger.info("START: pre_setup_pulp") + + source_as_subcommodity_setup(the_scenario, logger) + + generate_all_vertices_table(the_scenario, logger) + + #edge setup + add_storage_routes(the_scenario, logger) + generate_all_edges_db(the_scenario, logger) + set_edge_capacity_and_volume(the_scenario, logger) + + logger.info("Edges generated for modes: {}".format(the_scenario.permittedModes)) + + + return + +#=============================================================================== +#@profile(stream=fp) def create_flow_vars(the_scenario, logger): # all_edges is a list of strings to be the keys for LPVariable.dict @@ -1017,12 +1786,15 @@ def create_flow_vars(the_scenario, logger): flow_var = LpVariable.dicts("Edge",edge_list,0,None) logger.debug("MNP DEBUG: Size of flow_var: {:,.0f}".format(sys.getsizeof(flow_var))) + # print type(flow_var) + # print flow_var #delete edge_list_data edge_list_data = [] return flow_var # flow_var is the flow on each arc, being determined; this can be defined any time after all_arcs is defined #=============================================================================== +##@profile(stream=fp) def create_unmet_demand_vars(the_scenario, logger): demand_var_list = [] @@ -1106,7 +1878,71 @@ def create_processor_excess_output_vars(the_scenario): return excess_var #=============================================================================== +#@profile(stream=fp) +def create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, processor_build_vars): + logger.debug("START: create_opt_problem") + prob = LpProblem("Flow assignment",LpMinimize) + + logger.debug("MNP: DEBUG: length of unmet_demand_vars: {}".format(len(unmet_demand_vars))) + logger.debug("MNP: DEBUG: length of flow_vars: {}".format(len(flow_vars))) + logger.debug("MNP: DEBUG: length of processor_build_vars: {}".format(len(processor_build_vars))) + + unmet_demand_costs = [] + flow_costs = {} + processor_build_costs = [] + logger.debug("MNP: DEBUG: start loop through sql to append unmet_demand_costs") + for u in unmet_demand_vars: + facility_id = u[0] + schedule_day = u[1] + demand_commodity_name = u[2] + udp = u[3] + unmet_demand_costs.append(udp*unmet_demand_vars[u]) + logger.debug("MNP: DEBUG: finished loop through sql to append unmet_demand_costs. total records: {}".format(len(unmet_demand_costs))) + + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + logger.debug("MNP: DEBUG: start sql execute to get flow cost data") + # Flow cost memory improvements: only get needed data; dict instead of list; narrow in lpsum + flow_cost_var = db_cur.execute("select edge_id, edge_flow_cost from edges e group by edge_id;") + logger.debug("MNP DEBUG: start the fetchall") + flow_cost_data = flow_cost_var.fetchall() + logger.debug("MNP DEBUG: start iterating through {:,.0f} flow_cost_data records".format(len(flow_cost_data))) + counter = 0 + for row in flow_cost_data: + if counter % 250000 == 0: # should be about 10 seconds between log msgs + logger.debug("MNP DEBUG: processed {:,.0f} flow_cost records. Size of flow_cost {:,.0f}".format(counter, sys.getsizeof(flow_costs))) + edge_id = row[0] + edge_flow_cost = row[1] + counter += 1 + + #flow costs cover transportation and storage + flow_costs[edge_id] = edge_flow_cost + #flow_costs.append(edge_flow_cost * flow_vars[(edge_id)]) + logger.debug("MNP: DEBUG: finished loop through sql to append flow costs: total records: {:,.0f}".format(len(flow_costs))) + + logger.debug("MNP: DEBUG: start execute sql for processor build costs") + processor_build_cost = db_cur.execute("select facility_id from facilities f, facility_type_id ft where f.facility_type_id = ft.facility_type_id and facility_type = 'processor' and candidate = 1 and ignore_facility = 'false' group by facility_id;") + logger.debug("MNP: DEBUG: start the fetchall ") + processor_build_cost_data = processor_build_cost.fetchall() + logger.debug("MNP DEBUG: start iterating through the {} processor_build_cost records".format(len(processor_build_cost_data))) + for row in processor_build_cost_data: + processor_build_costs.append(the_scenario.biorefineryFixedCost * processor_build_vars[row[0]]) + logger.debug("MNP: DEBUG: start loop through sql to append processor build costs. Total Records: {}".format(len(processor_build_costs))) + + logger.debug("MNP: debug: start prob+= unmet_demand_costs + flow cost + processor_build_costs") + prob += (lpSum(unmet_demand_costs) + lpSum(flow_costs[k]*flow_vars[k] for k in flow_costs) + lpSum(processor_build_costs)), "Total Cost of Transport, storage, facility building, and penalties" + logger.debug("MNP debug: done prob+= unmet_demand_costs + flow cost + processor_build_costs") + # prob += lpSum(cost_to_build_facilities()) + + logger.debug("FINISHED: create_opt_problem") + return prob + +#=============================================================================== +# create_constraint_unmet_demand +# unmet demand = total demand - flow to destination +##@profile(stream=fp) def create_constraint_unmet_demand(logger, the_scenario, prob, flow_var, unmet_demand_var): logger.debug("START: create_constraint_unmet_demand") @@ -1185,6 +2021,7 @@ def create_constraint_unmet_demand(logger, the_scenario, prob, flow_var, unmet_d # create_constraint_max_flow_out_of_supply_vertex # primary vertices only # flow out of a vertex <= supply of the vertex, true for every day and commodity +##@profile(stream=fp) def create_constraint_max_flow_out_of_supply_vertex(logger, the_scenario, prob, flow_var): logger.debug("STARTING: create_constraint_max_flow_out_of_supply_vertex") logger.debug("Length of flow_var: {}".format(len(flow_var.items()))) @@ -1286,6 +2123,7 @@ def create_constraint_daily_processor_capacity(logger, the_scenario, prob, flow_ output_edge_id = row_b[0] flow_out.append(flow_var[output_edge_id]) + #logger.debug("processor {} flow on day {} required to be between: {} and {}".format(processor_vertices[v].parent_facility.name, processor_vertices[v].day, daily_outflow_min_capacity, daily_outflow_max_capacity)) logger.debug("flow out for capacity constraint on processor facility {} day {}: {}".format(facility_id, day, flow_out)) prob += lpSum(flow_out) <= daily_outflow_max_capacity*processor_daily_flow_vars[(facility_id, day)], "constraint max flow out of processor facility {}, day {}, flow var {}".format(facility_id, day, processor_daily_flow_vars[facility_id, day]) @@ -1396,6 +2234,7 @@ def create_processor_constraints(logger, the_scenario, prob, flow_var, processor flow_out_lists[(vertex_id, commodity_id)] = (flow_var[edge_id], quantity, commodity_name, facility_id, vertex_source_facility_id) + #logger.detailed_debug("vertex_id = {}, input_commodity_name = {}, quantity_in_for_processing_ratio = {}, facility_id = {}, required_flow_in = 0, required_flow_out = 0".format(vertex_id, input_commodity, quantity, facility_id)) #require ratio to match for each output commodityalso do processor capacity constraint here for key, value in flow_out_lists.iteritems(): @@ -1408,18 +2247,41 @@ def create_processor_constraints(logger, the_scenario, prob, flow_var, processor flow_in_commodity = flow_in[vertex_id][2] required_flow_out = flow_out/out_quantity required_flow_in = flow_in_var/flow_in_quant - - - # Sort edges by commodity and whether they're going in or out of the node + #logger.debug("constraint: {} / {} = {} / {}".format(flow_out, out_quantity, flow_in_var, flow_in_quant)) prob += required_flow_out == required_flow_in, "conservation of flow, processor vertex {}, processor facility {}, commodity {} to {}, source facility {}".format(vertex_id, facility_id, flow_in_commodity, out_commodity, vertex_source_facility_id) logger.debug("FINISHED: processor conservation of flow and ratio constraint") - +## logger.debug("STARTING: processor capacity constraint and processor build constraint") +### +## +## for key, value in flow_in.iteritems(): +## vertex_id = key +## flow_in_var = value[0] +## flow_in_capacity = value[1] +## flow_in_commodity = value[2] +## activity_level = value[3] +## is_candidate = value[4] +## facility_id = value[5] +## +## daily_inflow_max_capacity = flow_in_capacity*activity_level +## daily_inflow_min_capacity = daily_inflow_max_capacity/(2) +## logger.debug("processor intake capacity min: {} max: {}".format(daily_inflow_min_capacity, daily_inflow_max_capacity)) +## +## #processor capacity constraint +## prob += lpSum(flow_in_var) <= daily_inflow_max_capacity*processor_daily_flow_vars[(facility_id, day)], "processor capacity max for {}".format(facility_id, day) +## prob += lpSum(flow_in_var) >= daily_inflow_min_capacity*processor_daily_flow_vars[(facility_id, day)], "processor capacity min for {}".format(facility_id, day) +## if is_candidate == 1: +## #forces processor build var to be correct - if there is flow througha candidate processor then is has to be built +## prob += processor_build_vars[facility_id] >= processor_daily_flow_vars[(facility_id, day)], "constraint forces processor build var to be correct for facility {} checking vertex {}".format(facility_id, vertex_id) +## +## +## logger.debug("FINISHED: processor capacity constraint and processor build constraint") logger.debug("FINISHED: create_processor_constraints") return prob +#@profile(stream=fp) def create_constraint_conservation_of_flow(logger, the_scenario, prob, flow_var, processor_excess_vars): logger.debug("STARTING: create_constraint_conservation_of_flow") node_counter = 0 @@ -1574,6 +2436,18 @@ def create_constraint_conservation_of_flow(logger, the_scenario, prob, flow_var, intermodal = row_a[8] subcommodity_id = row_a[9] + +## if node_id < 50000: +## if node_id % 5000 == 0: +## logger.info("flow constraint created for {} nodes of {}".format(node_id, 'about 300K')) +## #logger.info('{} edges constrained'.format(edge_counter) +## +## if node_id % 50000 == 0: +## if node_id == 50000: +## logger.info("5000 nodes constrained, switching to log every 50000 instead of 5000") +## logger.info("flow constraint created for {} nodes of {}".format(node_id, 'about 300K')) + #logger.info('{} edges constrained'.format(edge_counter)) + #node_counter = node_counter +1 #if node is not intermodal, conservation of flow holds per mode; #if intermodal, then across modes if intermodal == 'N': @@ -1828,9 +2702,49 @@ def create_constraint_pipeline_capacity(logger, the_scenario, prob, flow_var): #=============================================================================== ## +## # this is an optional constraint used primarily for debugging, forcing flow when the scenario is producing a zero flow solution +##def create_constraint_nonzero_flow(logger, the_scenario, prob, unmet_demand_var): +## logger.debug("START: create_constraint_nonzero_flow") +## total_demand = 0 +## total_unmet_demand = [] +## with sqlite3.connect(the_scenario.main_db) as main_db_con: +## # var has form(facility_id, v.schedule_day, ifnull(c.supertype, c.commodity_name), v.udp) +## #unmet demand commodity should be simple_fuel = supertype +## for var in unmet_demand_var: +## var_facility_id = var[0] +## var_day = var[1] +## var_demand_type = var[2] +## var_activity_level = 1 #will be overwritten by vertices if necessary, default to full demand +## #access database to get actual demand +## var_full_demand = 0 +## +## # want to specify that all edges leading into this vertex + unmet demand = total demand +## #demand primary (non-storage) vertices +## +## db_cur = main_db_con.cursor() +## for row_a in db_cur.execute("""select v.vertex_id, v.commodity_id, +## ifnull(v.demand, 0), ifnull(c.proportion_of_supertype, 1), ifnull(v.activity_level, 1) from vertices v, commodities c +## where v.facility_id = {} +## and v.schedule_day = {} +## and v.storage_vertex = 0 +## and c.commodity_id = v.commodity_id +## and ifnull(c.supertype, c.commodity_name) = '{}';""".format(var_facility_id, var_day, var_demand_type)): +## primary_vertex_id = row_a[0] +## commodity_id = row_a[1] +## var_full_demand = row_a[2] +## proportion_of_supertype = row_a[3]#amount of demand met by the commodity +## var_activity_level = row_a[4] +## total_demand = total_demand+(var_full_demand*var_activity_level) +## +## total_unmet_demand.append(unmet_demand_var[var]) +## prob += total_demand > lpSum(total_unmet_demand), "Force flow to be greater than zero" +## logger.debug("FINISHED: create_constraint_nonzero_flow and return the prob ") +## return prob + -def setup_pulp_problem(the_scenario, logger): +#@profile(stream=fp) +def setup_pulp_problem(the_scenario, logger): logger.info("START: setup PuLP problem") @@ -1861,8 +2775,8 @@ def setup_pulp_problem(the_scenario, logger): # ================================================== logger.info("calling create_opt_problem") - prob = ftot_pulp.create_opt_problem(logger,the_scenario, unmet_demand_vars, flow_vars, processor_build_vars) - logger.info("MNP DEBUG: size of prob: {}".format(sys.getsizeof(prob))) + prob = create_opt_problem(logger,the_scenario, unmet_demand_vars, flow_vars, processor_build_vars) + logger.debug("MNP DEBUG: size of prob: {}".format(sys.getsizeof(prob))) logger.info("calling create_constraint_unmet_demand") prob = create_constraint_unmet_demand(logger,the_scenario, prob, flow_vars, unmet_demand_vars) @@ -1900,9 +2814,14 @@ def setup_pulp_problem(the_scenario, logger): prob.writeLP(os.path.join(the_scenario.scenario_run_directory, "debug", "LP_output_sasc.lp")) logger.info("FINISHED: setup PuLP problem") + logger.info("calling delete_all_global_dictionaries") + return prob -###=============================================================================== +# =============================================================================== +#@profile(stream=fp) + + def solve_pulp_problem(prob_final, the_scenario, logger): import datetime @@ -1923,6 +2842,8 @@ def solve_pulp_problem(prob_final, the_scenario, logger): close(orig_std_out) f.close() #end new prob.solve logging, 9-04-2018 + # The problem is solved using PuLP's choice of Solver + #prob_final.solve() logger.info("completed calling prob.solve()") logger.info("FINISH: prob.solve(): Runtime (HMS): \t{}".format(ftot_supporting.get_total_runtime_string(start_time))) @@ -1937,10 +2858,18 @@ def solve_pulp_problem(prob_final, the_scenario, logger): ##LpStatusUndefined ?Undefined? -3 logger.result("prob.Status: \t {}".format(LpStatus[prob_final.status])) + #logger.info("prob type: \t{}".format(str(type(prob_final)))) + #logger.info("prob objective type: \t{}".format(str(type(prob_final.objective)))) + #logger.info("prob objective value type: \t {}".format(str(type(value(prob_final.objective))))) + #logger.info("prob_final variables type: \t{}".format(str(type(prob_final.variables())))) + + logger.result("Total Scenario Cost = (transportation + unmet demand penalty + processor construction): \t ${0:,.0f}".format(float(value(prob_final.objective)))) return prob_final #------------------------------------------------------------------------------ + + def save_pulp_solution(the_scenario, prob, logger): import datetime @@ -2103,8 +3032,7 @@ def save_pulp_solution(the_scenario, prob, logger): logger.info("Penalty per unit of Unmet Demand : ${0:,.0f}".format(the_scenario.unMetDemandPenalty)) logger.info("Total Cost of Unmet Demand : \t ${0:,.0f}".format(optimal_unmet_demand_sum*the_scenario.unMetDemandPenalty)) logger.info("Total Cost of building and transporting : \t ${0:,.0f}".format(float(value(prob.objective)) - optimal_unmet_demand_sum*the_scenario.unMetDemandPenalty)) - logger.info("Total Scenario Cost = (transportation + unmet demand penalty + processor construction): \t ${0:," - ".0f}".format(float(value(prob.objective)))) + logger.result("Total Scenario Cost = (transportation + unmet demand penalty + processor construction): \t ${0:,.0f}".format(float(value(prob.objective)))) sql = "select count(variable_name) from optimal_solution where variable_name like 'Edge%';" data = db_con.execute(sql) @@ -2138,6 +3066,16 @@ def parse_optimal_solution_db(the_scenario, logger): for edge in optimal_storage_edges: optimal_storage_flows[edge] = optimal_storage_edges[edge] + + +# # get the vertex_id to facility_id dict. +# sql = """select vertex_id, facility_id from vertices;""" +# data = db_con.execute(sql) +# vertex_id_to_facility_id_dict = data.fetchall() +# for vertex_id in vertex_id_to_facility_id_dict: +# facility_id = vertex_id_to_facility_id_dict[vertex_id] +# vertex_id_to_facility_id_dict[vertex_id] = facility_id + # do the Route Edges sql = """select variable_name, variable_value, diff --git a/program/ftot_pulp_yearly.py b/program/ftot_pulp_yearly.py new file mode 100644 index 0000000..e458d57 --- /dev/null +++ b/program/ftot_pulp_yearly.py @@ -0,0 +1,3733 @@ +# --------------------------------------------------------------------------------------------------- +# Name: ftot_pulp +# +# Purpose: PulP optimization - create and run a modified facility location problem. +# Take NetworkX and GIS scenario data as recorded in main.db and convert to a structure of edges, nodes, vertices. +# Create variables for flow over edges, unmet demand, processor use, and candidate processors to build if present +# Solve cost minimization for unmet demand, transportation, and facility build costs +# Constraints ensure compliance with scenario requirements (e.g. max_route_capacity) +# as well as general problem structure (e.g. conservation_of_flow) +# --------------------------------------------------------------------------------------------------- + +import datetime +import pdb +import re +import sqlite3 +import numpy as np +from collections import defaultdict + +from pulp import * +from ftot import * +import ftot_supporting +import test_aftot_pulp +from ftot_supporting import get_total_runtime_string + +# =================== constants============= +storage = 1 +primary = 0 +fixed_schedule_id = 2 +fixed_route_duration = 0 + +THOUSAND_GALLONS_PER_THOUSAND_BARRELS = 42 + +default_sched = test_aftot_pulp.schedule_full_availability() +last_day_sched = test_aftot_pulp.schedule_last_day_only() +storage_cost_1 = 0.01 +storage_cost_2 = 0.05 +facility_onsite_storage_max = 10000000000 +facility_onsite_storage_min = 0 + +default_max_capacity = 10000000000 +default_min_capacity = 0 + +#==================Load output from newly developed Python files========================== +operation_parameter = 50 # unit:$/ton +year = 365 +# planning horizon in this example: 20 years +plan_horizon = 20 # unit: year +# total scenario amount: "N", here we consider 10 scenarios +N = 10 +# load facility capacity index +facility_cap_noEarthquake = np.load("facility_cap_noEarthquake.npy") + +# initial costs (yearly) +# run optimization without considering any risk factors +initial_cost_yearly = 18777270 +#========================================================================================== + +def o1(the_scenario, logger): + + # create vertices, then edges for permitted modes, then set volume & capacity on edges + pre_setup_pulp(logger, the_scenario) + + +def o2(the_scenario, logger): + # create variables, problem to optimize, and constraints + prob = setup_pulp_problem(the_scenario, logger) + pickle_prob(prob, "constrained_prob.p", the_scenario, logger) + loaded_prob = load_pickled_prob("constrained_prob.p", the_scenario, logger) + loaded_prob = solve_pulp_problem(loaded_prob, the_scenario, logger) + save_pulp_solution(the_scenario, loaded_prob, logger) + from ftot_supporting import post_optimization_64_bit + post_optimization_64_bit(the_scenario, 'o2', logger) + + +def o2b(the_scenario,logger): + loaded_prob = load_pickled_prob("constrained_prob.p", the_scenario, logger) + loaded_prob = solve_pulp_problem(loaded_prob, the_scenario, logger) + save_pulp_solution(the_scenario, loaded_prob, logger) + + +def oc2b(the_scenario, logger): + import ftot_pulp_candidate_generation + loaded_prob = load_pickled_prob("constrained_candidate_prob.p", the_scenario, logger) + loaded_prob = reload_objective_function(the_scenario, logger) + loaded_prob = ftot_pulp_candidate_generation.solve_pulp_problem(loaded_prob, the_scenario, logger) + ftot_pulp_candidate_generation.save_pulp_solution(the_scenario, loaded_prob, logger) + +# helper function that reads in schedule data and returns dict of Schedule objects +def create_schedules_from_input(schedule_data, logger): + logger.debug("start: create_schedules_from_input") + + from xtot_objects import Schedule + import os # amy added this + if not os.path.exists(schedule_data): + logger.warning("warning: cannot find schedule file: {}".format(schedule_data)) + return {'default': default_sched} # return dict with global value of default schedule + + # create temp dict to store non-default days of a schedule + day_availabilities = {} + + # create temp dict to store default values for a schedule + default_values = {} + + # read through schedule CSV + with open(schedule_data, 'r') as rf: + line_num = 1 + + for line in rf: + + if line_num > 1: + flds = line.rstrip('\n').split(',') + schedule_name = flds[0] + day = int(flds[1]) # cast day to an int to determine max day/schedule length + availability = flds[2] + if day == 0: # denotes the default value + default_values[schedule_name] = availability + elif schedule_name in day_availabilities.keys(): + day_availabilities[schedule_name][day] = availability + else: + day_availabilities[schedule_name] = {day: availability} # initialize sub-dict + line_num += 1 + + # make dictionary to store schedule objects + schedule_dict = {} + + # after reading in csv, parse data into dictionary object + for schedule_name in day_availabilities.keys(): + first_day = 1 + last_day = max(day_availabilities[schedule_name].keys()) # max value of days in schedule + if schedule_name in default_values: + default_availability = default_values[schedule_name] + else: + default_availability = '1' + logger.info("No default value for schedule: " + schedule_name) + logger.info("Setting default value to 1.") + schedule_availabilities = ['0'] + schedule_availabilities.extend([default_availability for i in range(last_day)]) + # now change different days to actual availability instead of the default values + for day in day_availabilities[schedule_name].keys(): + schedule_availabilities[day] = day_availabilities[schedule_name][day] + # lastly, create Schedule object and add to dictionary + schedule_dict[schedule_name] = Schedule(first_day, last_day, schedule_availabilities) + + # amy debugging + for key in schedule_dict.keys(): + logger.debug("schedule name: " + key) + logger.debug("availability: ") + logger.debug(schedule_dict[key]) + logger.debug("finished: create_schedules_from_input") + + return schedule_dict + + +def commodity_mode_setup(the_scenario, logger): + + # helper method to read in the csv and make a dict + def make_commodity_mode_dict(the_scenario, logger): + + #logger.info("earthquake day {}".format(j)) + logger.info("START: make_commodity_mode_dict") + # check if path to table exists + if not os.path.exists(the_scenario.commodity_mode_data): + logger.warning("warning: cannot find commodity_mode_data file: {}".format(the_scenario.commodity_mode_data)) + return {} # return empty dict + # otherwise, initialize dict and read through commodity_mode CSV + commodity_mode_dict = {} + with open(the_scenario.commodity_mode_data, 'r') as rf: + line_num = 1 + modes = None # will assign within for loop + for line in rf: + if line_num == 1: + modes = line.rstrip('\n').split(',') + # # make a dict mapping col index to mode name + # mode_index = {} + # for i in range(len(modes)): + # # mode name will point to index of that mode in the csv + # mode_index[modes[i]] = i + else: + flds = line.rstrip('\n').split(',') + commodity_name = flds[0] + allowed = flds[1:] + commodity_mode_dict[commodity_name] = dict(zip(modes[1:], allowed)) + # now do a check + for mode in modes[1:]: + if commodity_mode_dict[commodity_name][mode] in ['Y', 'N']: + logger.info("Commodity: {}, Mode: {}, Allowed: {}".format(commodity_name, mode, + commodity_mode_dict[commodity_name][mode])) + else: + # if val isn't Y or N, remove the key from the dict + del commodity_mode_dict[commodity_name][mode] + logger.info( + "improper or no value in Commodity_Mode_Data csv for commodity: {} and mode: {}".\ + format(commodity_name, mode)) + logger.info("default value will be used for commodity: {} and mode: {}".\ + format(commodity_name, mode)) + + line_num += 1 + logger.info("FINISHED: make_commodity_mode_dict") + return commodity_mode_dict + + logger.info("START: commodity_mode_setup") + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + main_db_con.executescript(""" + drop table if exists commodity_mode; + + create table commodity_mode( + mode text, + commodity_id text, + commodity_phase text, + allowed_yn text, + CONSTRAINT unique_commodity_and_mode UNIQUE(commodity_id, mode)) + ;""") + + commod = main_db_con.execute("select commodity_name, commodity_id, phase_of_matter from commodities;") + commod = commod.fetchall() + commodities = {} + for row in commod: + commodity_name = row[0] + commodity_id = row[1] + phase_of_matter = row[2] + commodities[commodity_name] = (commodity_id, phase_of_matter) + + # read in from csv file and insert those entries first, using commodity id + # then, fill in for all other unspecified commodities and modes, pipeline liquid only + commodity_mode_dict = make_commodity_mode_dict(the_scenario, logger) + for mode in the_scenario.permittedModes: + for k, v in commodities.iteritems(): + + commodity_name = k + commodity_id = v[0] + phase_of_matter = v[1] + # check commodity mode permissions for all modes. Apply resiction is specified, otherwise default to + # allowed if not specified. + if commodity_name in commodity_mode_dict and mode in commodity_mode_dict[commodity_name]: + allowed = commodity_mode_dict[commodity_name][mode] + else: + allowed = 'Y' + # pipeline is a special case. so double check if it is explicitly allowed, otherwise override to 'N'. + # restrict solids on pipeline no matter what. + if mode.partition('_')[0] == 'pipeline': + # 8/26/19 -- MNP -- note: that mode is the long name, and the dict is the short name + if mode == 'pipeline_crude_trf_rts': + short_name_mode = 'pipeline_crude' + elif mode == 'pipeline_prod_trf_rts': + short_name_mode = 'pipeline_prod' + else: logger.warning("a pipeline was specified that is not supported") + # restrict pipeline if its not explicitly allowed or if solid + if commodity_name in commodity_mode_dict and short_name_mode in commodity_mode_dict[commodity_name]: + allowed = commodity_mode_dict[commodity_name][short_name_mode] + else: + allowed = 'N' + if phase_of_matter != 'liquid': + allowed = 'N' + + main_db_con.execute(""" + insert or ignore into commodity_mode + (mode, commodity_id, commodity_phase, allowed_yn) + VALUES + ('{}',{},'{}','{}') + ; + """.format(mode, commodity_id, phase_of_matter, allowed)) + + return +# =============================================================================== + + +def source_tracking_setup(the_scenario, logger): + logger.info("START: source_tracking_setup") + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + max_inputs = main_db_con.execute("""select max(inputs) from + (select count(fc.commodity_id) inputs + from facility_commodities fc, facility_type_id ft + where ft.facility_type = 'processor' + and fc.io = 'i' + group by fc.facility_id) + ;""") + + for row in max_inputs: + if row[0] == None: + max_inputs_to_a_processor = 0 + else: + max_inputs_to_a_processor = int(row[0]) + if max_inputs_to_a_processor > 1: + logger.warning("error, this version of the optimization step only functions correctly with a single input" + " commodity type per processor") + + main_db_con.executescript(""" + + insert or ignore into commodities(commodity_name) values ('multicommodity'); + + drop table if exists source_commodity_ref + ; + + create table source_commodity_ref(id INTEGER PRIMARY KEY, + source_facility_id integer, + source_facility_name text, + source_facility_type_id integer, --lets us differentiate spiderweb from processor + commodity_id integer, + commodity_name text, + units text, + phase_of_matter text, + max_transport_distance numeric, + max_transport_distance_flag text, + share_max_transport_distance text, + CONSTRAINT unique_source_and_name UNIQUE(commodity_id, source_facility_id)) + ; + + insert or ignore into source_commodity_ref ( + source_facility_id, + source_facility_name, + source_facility_type_id, + commodity_id, + commodity_name, + units, + phase_of_matter, + max_transport_distance, + max_transport_distance_flag, + share_max_transport_distance) + select + f.facility_id, + f.facility_name, + f.facility_type_id, + c.commodity_id, + c.commodity_name, + c.units, + c.phase_of_matter, + (case when c.max_transport_distance is not null then + c.max_transport_distance else Null end) max_transport_distance, + (case when c.max_transport_distance is not null then 'Y' else 'N' end) max_transport_distance_flag, + (case when ifnull(c.share_max_transport_distance, 'N') = 'Y' then 'Y' else 'N' end) share_max_transport_distance + + from commodities c, facilities f, facility_commodities fc + where f.facility_id = fc.facility_id + and f.ignore_facility = 'false' + and fc.commodity_id = c.commodity_id + and fc.io = 'o' + and ifnull(c.share_max_transport_distance, 'N') != 'Y' + ; + + insert or ignore into source_commodity_ref ( + source_facility_id, + source_facility_name, + source_facility_type_id, + commodity_id, + commodity_name, + units, + phase_of_matter, + max_transport_distance, + max_transport_distance_flag, + share_max_transport_distance) + select + sc.source_facility_id, + sc.source_facility_name, + sc.source_facility_type_id, + o.commodity_id, + c.commodity_name, + c.units, + c.phase_of_matter, + sc.max_transport_distance, + sc.max_transport_distance_flag, + o.share_max_transport_distance + from source_commodity_ref sc, facility_commodities i, facility_commodities o, commodities c + where o.share_max_transport_distance = 'Y' + and sc.commodity_id = i.commodity_id + and o.facility_id = i.facility_id + and o.io = 'o' + and i.io = 'i' + and o.commodity_id = c.commodity_id + ; + """ + ) + # source_commodity_ref only has commodities that can flow out of a facility + # for example, commodities that only exist in a candidate process, not processor, are excluded + # does include entries even if there's no max transport distance, has a flag for that + + return + + +# =============================================================================== + + +def generate_all_vertices(the_scenario, logger): + + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + logger.info("facility capacity index {} for scenario {}".format(facility_cap_noEarthquake[:,t+1,i],i)) + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== + + + logger.info("START: generate_all_vertices table") + + + total_potential_production = {} + multi_commodity_name = "multicommodity" + + storage_availability = 1 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + # create the vertices table + main_db_con.executescript(""" + drop table if exists vertices + ; + + create table if not exists vertices ( + vertex_id INTEGER PRIMARY KEY, location_id, + facility_id integer, facility_name text, facility_type_id integer, schedule_day integer, + commodity_id integer, activity_level numeric, storage_vertex binary, + udp numeric, supply numeric, demand numeric, + source_facility_id integer, + iob text, --allows input, output, or both + CONSTRAINT unique_vertex UNIQUE(facility_id, schedule_day, commodity_id, source_facility_id, storage_vertex)) + ;""") + + # create indexes for the networkx nodes and links tables + main_db_con.executescript(""" + CREATE INDEX IF NOT EXISTS node_index ON networkx_nodes (node_id, location_id) + ; + + create index if not exists nx_edge_index on + networkx_edges(from_node_id, to_node_id, + artificial, mode_source, mode_source_OID, + miles, route_cost_scaling, capacity) + ; + """) + + # create the schedules table + main_db_con.execute(""" + create table if not exists schedules ( + schedule_id INTEGER PRIMARY KEY, + schedule_name text, + default_value integer, + full_schedule text, + total_days integer) + ; + """) + + # create default schedules + main_db_con.execute(""" + -- noinspection SqlResolve + + INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}') + ;""".format('default_schedule', 1, 2, 'default_schedule')) + + main_db_con.execute("""INSERT INTO schedules(schedule_name, default_value, total_days) + select '{}', {}, {} + WHERE NOT EXISTS(SELECT schedule_name from schedules WHERE schedule_name = '{}') + ;""".format('default_1_day_schedule', 1, 1, 'default_1_day_schedule')) + + # -------------------------------- + + db_cur = main_db_con.cursor() + # nested cursor + db_cur4 = main_db_con.cursor() + counter = 0 + total_facilities = 0 + + for row in db_cur.execute("select count(distinct facility_id) from facilities;"): + total_facilities = row[0] + + # create vertices for each non-ignored facility facility + # facility_type can be "raw_material_producer", "ultimate_destination","processor"; + # get id from facility_type_id table + # any other facility types are not currently handled + + facility_data = db_cur.execute(""" + select facility_id, + facility_type, + facility_name, + location_id, + f.facility_type_id + + from facilities f, facility_type_id ft + where ignore_facility = '{}' + and f.facility_type_id = ft.facility_type_id; + """.format('false')) + facility_data = facility_data.fetchall() + for row_a in facility_data: + + db_cur2 = main_db_con.cursor() + facility_id = row_a[0] + + facility_type = row_a[1] + facility_name = row_a[2] + facility_location_id = row_a[3] + facility_type_id = row_a[4] + if counter % 10000 == 1: + logger.info("vertices created for {} facilities of {}".format(counter, total_facilities)) + for row_d in db_cur4.execute("select count(distinct vertex_id) from vertices;"): + logger.info('{} vertices created'.format(row_d[0])) + counter = counter + 1 + + if facility_type == "processor": + logger.info("facilities id {}".format(facility_id)) + # actual processors - will deal with endcaps in edges section + + # each processor facility should have 1 input commodity with 1 storage vertex, 1 or more output + # commodities each with 1 storage vertex, and 1 primary processing vertex replicate by time, + # create primary vertex, replicate by commodity to create storage vertices; can also create primary + # vertex for input commodity do this for each subcommodity now instead of each commodity aggregate + # subcommodities at primary processor vertex + + # create processor vertices for any commodities that do not inherit max transport distance + proc_data = db_cur2.execute("""select fc.commodity_id, + ifnull(fc.quantity, 0), + fc.units, + ifnull(c.supertype, c.commodity_name), + fc.io, + mc.commodity_id, + c.commodity_name, + ifnull(s.source_facility_id, 0) + from facility_commodities fc, commodities c, commodities mc + left outer join source_commodity_ref s + on (fc.commodity_id = s.commodity_id and s.max_transport_distance_flag = 'Y') + where fc.facility_id = {} + and fc.commodity_id = c.commodity_id + and mc.commodity_name = '{}';""".format(facility_id, multi_commodity_name)) + + proc_data = proc_data.fetchall() + # entry for each incoming commodity and its potential sources + # each outgoing commodity with this processor as their source IF there is a max commod distance + for row_b in proc_data: + + commodity_id = row_b[0] + #====================================Modification========================================================== + # Following part is modified to include time-varying facility capacity due to technology development scenario + # Quantity * year for yearly simulation + quantity = facility_cap_noEarthquake[facility_id-2][t+1][i]*year*row_b[1] + #======================================End================================================================== + # units = row_b[2] + # commodity_supertype = row_b[3] + io = row_b[4] + id_for_mult_commodities = row_b[5] + commodity_name = row_b[6] + source_facility_id = row_b[7] + new_source_facility_id = facility_id + + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + # vertices for generic demand type, or any subtype specified by the destination + while day <= stop_day: + if io == 'i': + main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, + facility_type_id, facility_name, schedule_day, commodity_id, activity_level, + storage_vertex, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + '{}' );""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + id_for_mult_commodities, availability[day], primary, + new_source_facility_id, 'b')) + + main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, + facility_type_id, facility_name, schedule_day, commodity_id, activity_level, + storage_vertex, demand, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, {}, + {}, {}, {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, + facility_name, + day, commodity_id, storage_availability, storage, quantity, + source_facility_id, io)) + + else: + if commodity_name != 'total_fuel': + main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, + facility_type_id, facility_name, schedule_day, commodity_id, activity_level, + storage_vertex, supply, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, + {}, {}, {}, {}, '{}');""".format( + facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage_availability, storage, quantity, source_facility_id, io)) + day = day + 1 + + # for RMPSs specifically, source_facility_id must match facility_id; could do that conditionally within sql + # if we bring storage facilities back (12-2018), we would want them split by source_facility + elif facility_type == "raw_material_producer": + rmp_data = db_cur.execute("""select fc.commodity_id, fc.quantity, fc.units, + ifnull(s.source_facility_id, 0), io + from facility_commodities fc + left outer join source_commodity_ref s + on (fc.commodity_id = s.commodity_id + and s.max_transport_distance_flag = 'Y' + and s.source_facility_id = {}) + where fc.facility_id = {};""".format(facility_id, facility_id)) + + rmp_data = rmp_data.fetchall() + + for row_b in rmp_data: + commodity_id = row_b[0] + #====================================Modification========================================================== + # Following part is modified to include time-varying facility capacity due to climate scenario + # Quantity * year for yearly simulation + quantity = facility_cap_noEarthquake[facility_id-1][t+1][i]*year*row_b[1] + logger.info("rmp facilities quantity {}".format(quantity)) + #====================================End================================================================== + # units = row_b[2] + source_facility_id = row_b[3] + iob = row_b[4] + + if commodity_id in total_potential_production: + total_potential_production[commodity_id] = total_potential_production[commodity_id] + quantity + else: + total_potential_production[commodity_id] = quantity + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, supply, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, availability[day], primary, quantity, + source_facility_id, iob)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, supply, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage_availability, storage, quantity, + source_facility_id, iob)) + day = day + 1 + + elif facility_type == "storage": # storage facility + # handle as such, exploding by time and commodity + # print type(f.commodity_slate) + # print type(f.commodity_slate.AllAllowedCommodities()) + storage_fac_data = db_cur.execute("""select + fc.commodity_id, + fc.quantity, + fc.units, + ifnull(s.source_facility_id, 0), + io + from facility_commodities fc + left outer join source_commodity_ref s + on (fc.commodity_id = s.commodity_id and s.max_transport_distance_flag = 'Y') + where fc.facility_id = {} ;""".format(facility_id)) + + storage_fac_data = storage_fac_data.fetchall() + + for row_b in storage_fac_data: + commodity_id = row_b[0] + # quantity = row_b[1] + # units = row_b[2] + source_facility_id = row_b[3] # 0 if not source-tracked + iob = row_b[4] + + day = default_sched.first_day + stop_day = default_sched.last_day + # availability = default_sched.availability + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + storage_vertex, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage, + source_facility_id, iob)) + day = day + 1 + + elif facility_type == "ultimate_destination": + + dest_data = db_cur2.execute("""select + fc.commodity_id, + ifnull(fc.quantity, 0), + fc.units, + fc.commodity_id, + ifnull(c.supertype, c.commodity_name), + ifnull(s.source_facility_id, 0), + io + from facility_commodities fc, commodities c + left outer join source_commodity_ref s + on (fc.commodity_id = s.commodity_id and s.max_transport_distance_flag = 'Y') + where fc.facility_id = {} + and fc.commodity_id = c.commodity_id;""".format(facility_id)) + + dest_data = dest_data.fetchall() + + for row_b in dest_data: + commodity_id = row_b[0] + #====================================Modification========================================================== + # Quantity * year for yearly simulation + quantity = year*row_b[1] + #============================================End========================================================== + # units = row_b[2] + # commodity_id = row_b[3] + commodity_supertype = row_b[4] + source_facility_id = row_b[5] + iob = row_b[6] + zero_source_facility_id = 0 # material merges at primary vertex + + # this is where the alternate schedule for destination demand can be set + day = default_sched.first_day + stop_day = default_sched.last_day + availability = default_sched.availability + # vertices for generic demand type, or any subtype specified by the destination + while day <= stop_day and quantity > 0: + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, udp, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, + {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, availability[day], primary, quantity, + the_scenario.unMetDemandPenalty, + zero_source_facility_id, iob)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, day, + commodity_id, storage_availability, storage, quantity, + source_facility_id, iob)) + day = day + 1 + # vertices for other fuel subtypes that match the destination's supertype + # if the subtype is in the commodity table, it is produced by some facility in the scenario + db_cur3 = main_db_con.cursor() + for row_c in db_cur3.execute("""select commodity_id, units from commodities + where supertype = '{}';""".format(commodity_supertype)): + new_commodity_id = row_c[0] + # new_units = row_c[1] + while day <= stop_day: + main_db_con.execute("""insert or ignore into vertices ( location_id, facility_id, + facility_type_id, facility_name, schedule_day, commodity_id, activity_level, + storage_vertex, demand, udp, source_facility_id, iob) values ({}, {}, {}, '{}', {}, {}, + {}, {}, {}, {}, {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, + facility_name, + day, new_commodity_id, availability[day], primary, + quantity, + the_scenario.unMetDemandPenalty, + zero_source_facility_id, iob)) + main_db_con.execute("""insert or ignore into vertices ( + location_id, facility_id, facility_type_id, facility_name, schedule_day, commodity_id, + activity_level, storage_vertex, demand, + source_facility_id, iob) + values ({}, {}, {}, '{}', {}, {}, {}, {}, {}, + {}, '{}');""".format(facility_location_id, facility_id, facility_type_id, facility_name, + day, new_commodity_id, storage_availability, storage, quantity, + source_facility_id, iob)) + day = day + 1 + + + else: + logger.warning( + "error, unexpected facility_type: {}, facility_type_id: {}".format(facility_type, facility_type_id)) + + for row_d in db_cur4.execute("select count(distinct vertex_id) from vertices;"): + logger.info('{} vertices created'.format(row_d[0])) + + logger.debug("total possible production in scenario: {}".format(total_potential_production)) + + +# =============================================================================== + + +def add_storage_routes(the_scenario, logger): + logger.info("start: add_storage_routes") + # these are loops to and from the same facility; when multiplied to edges, + # they will connect primary to storage vertices, and storage vertices day to day + # will always create edge for this route from storage to storage vertex + # IF a primary vertex exists, will also create an edge connecting the storage vertex to the primary + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + logger.debug("create the storage_routes table") + + main_db_con.execute("drop table if exists storage_routes;") + main_db_con.execute("""create table if not exists storage_routes as + select facility_name || '_storage' as route_name, + location_id, + facility_id, + facility_name as o_name, + facility_name as d_name, + {} as cost_1, + {} as cost_2, + 1 as travel_time, + {} as storage_max, + 0 as storage_min + from facilities + where ignore_facility = 'false' + ;""".format(storage_cost_1, storage_cost_2, facility_onsite_storage_max)) + main_db_con.execute("""create table if not exists route_reference( + route_id INTEGER PRIMARY KEY, route_type text, route_name text, scenario_rt_id integer, + CONSTRAINT unique_routes UNIQUE(route_type, route_name, scenario_rt_id));""") + main_db_con.execute( + "insert or ignore into route_reference select null,'storage', route_name, 0 from storage_routes;") + + return + + +# =============================================================================== + + +def generate_connector_and_storage_edges(the_scenario, logger): + logger.info("START: generate_connector_and_storage_edges") + + multi_commodity_name = "multicommodity" + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + db_cur = main_db_con.cursor() + if ('pipeline_crude_trf_rts' in the_scenario.permittedModes) or ( + 'pipeline_prod_trf_rts' in the_scenario.permittedModes): + logger.info("create indices for the capacity_nodes and pipeline_mapping tables") + main_db_con.executescript( + """ + CREATE INDEX IF NOT EXISTS pm_index + ON pipeline_mapping (id, id_field_name, mapping_id_field_name, mapping_id); + CREATE INDEX IF NOT EXISTS cn_index ON capacity_nodes (source, id_field_name, source_OID); + """) + + for row in db_cur.execute( + "select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): + id_for_mult_commodities = row[0] + + # create storage & connector edges + main_db_con.execute("drop table if exists edges;") + main_db_con.executescript(""" + create table edges (edge_id INTEGER PRIMARY KEY, + route_id integer, + from_node_id integer, + to_node_id integer, + start_day integer, + end_day integer, + commodity_id integer, + o_vertex_id integer, + d_vertex_id integer, + max_edge_capacity numeric, + volume numeric, + capac_minus_volume_zero_floor numeric, + min_edge_capacity numeric, + capacity_units text, + units_conversion_multiplier numeric, + edge_flow_cost numeric, + edge_flow_cost2 numeric, + edge_type text, + nx_edge_id integer, + mode text, + mode_oid integer, + miles numeric, + simple_mode text, + tariff_id numeric, + phase_of_matter text, + source_facility_id integer, + miles_travelled numeric, + children_created text, + edge_count_from_source integer, + total_route_cost numeric, + CONSTRAINT unique_nx_subc_day UNIQUE(nx_edge_id, commodity_id, source_facility_id, start_day)) + ; + + insert or ignore into edges (route_id, + start_day, end_day, + commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, + edge_flow_cost, edge_flow_cost2,edge_type, + source_facility_id) + select o.route_id, o.schedule_day, d.schedule_day, + o.commodity_id, o.vertex_id, d.vertex_id, + o.storage_max, o.storage_min, + o.cost_1, o.cost_2, 'storage', + o.source_facility_id + from vertices d, + (select v.vertex_id, v.schedule_day, + v.commodity_id, v.storage_vertex, v.source_facility_id, + t.* + from vertices v, + (select sr.route_name, o_name, d_name, cost_1,cost_2, travel_time, + storage_max, storage_min, rr.route_id, location_id, facility_id + from storage_routes sr, route_reference rr where sr.route_name = rr.route_name) t + where v.facility_id = t.facility_id + and v.storage_vertex = 1) o + where d.facility_id = o.facility_id + and d.schedule_day = o.schedule_day+o.travel_time + and d.commodity_id = o.commodity_id + and o.vertex_id != d.vertex_id + and d.storage_vertex = 1 + and d.source_facility_id = o.source_facility_id + ; + + insert or ignore into edges (route_id, start_day, end_day, + commodity_id, o_vertex_id, d_vertex_id, + edge_flow_cost, edge_type, + source_facility_id) + select s.route_id, s.schedule_day, p.schedule_day, + (case when s.commodity_id = {} then p.commodity_id else s.commodity_id end) commodity_id, + --inbound commodies start at storage and go into primary + --outbound starts at primary and goes into storage + --anything else is an error for a connector edge + (case when fc.io = 'i' then s.vertex_id + when fc.io = 'o' then p.vertex_id + else 0 end) as o_vertex, + (case when fc.io = 'i' then p.vertex_id + when fc.io = 'o' then s.vertex_id + else 0 end) as d_vertex, + 0, 'connector', + s.source_facility_id + from vertices p, facility_commodities fc, + --s for storage vertex info, p for primary vertex info + (select v.vertex_id, v.schedule_day, + v.commodity_id, v.storage_vertex, v.source_facility_id, + t.* + from vertices v, + (select sr.route_name, o_name, d_name, cost_1,cost_2, travel_time, + storage_max, storage_min, rr.route_id, location_id, facility_id + from storage_routes sr, route_reference rr where sr.route_name = rr.route_name) t --t is route data + where v.facility_id = t.facility_id + and v.storage_vertex = 1) s + --from storage into primary, same day = inbound connectors + where p.facility_id = s.facility_id + and p.schedule_day = s.schedule_day + and (p.commodity_id = s.commodity_id or p.commodity_id = {} ) + and p.facility_id = fc.facility_id + and fc.commodity_id = s.commodity_id + and p.storage_vertex = 0 + --either edge is inbound and aggregating, or kept separate by source, or primary vertex is not source tracked + and + (p.source_facility_id = 0 or p.source_facility_id = p.facility_id or p.source_facility_id = s.source_facility_id) + ;""".format(id_for_mult_commodities, id_for_mult_commodities)) + + for row_d in db_cur.execute("select count(distinct edge_id) from edges where edge_type = 'connector';"): + logger.info('{} connector edges created'.format(row_d[0])) + # clear any transport edges from table + db_cur.execute("delete from edges where edge_type = 'transport';") + + return + + +# =============================================================================== + + +def generate_first_edges_from_source_facilities(the_scenario, logger): + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== + + logger.info("START: generate_first_edges_from_source_facilities") + # create edges table + # plan to generate start and end days based on nx edge time to traverse and schedule + # can still have route_id, but only for storage routes now; nullable + + # multi_commodity_name = "multicommodity" + transport_edges_created = 0 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + db_cur = main_db_con.cursor() + edges_requiring_children = 0 + + counter = 0 + # for row in ("select commodity_id from commodities where commodity_name = '{}'; + # """.format(multi_commodity_name)): + # id_for_mult_commodities = row[0] + # for row in db_cur.execute("select count(*) from networkx_edges;"): + # total_transport_routes = row[0] + + # create transport edges, only between storage vertices and nodes, based on networkx graph + # never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + # iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + # should also be per day, subject to nx edge schedule + # before creating an edge, check: commodity allowed by nx and max transport distance if not null + # will need nodes per day and commodity? or can I just check that with constraints? + # select data for transport edges + # ****1**** Only edges coming from RMP/source storage vertices + # ** ONLY FOR COMMODITIES WITH A MAX TRANSPORT DISTANCE + # set distance travelled to miles of edges; set indicator for newly created edges to 'N' + # edge_count_from_source = 1 + # ****2**** only nx_edges coming from entries in edges (check connector nodes) + # set distance travelling to miles of new endge plus existing input edge; set indicator for processed edges in + # edges to 'Y' + # only create new edge if distance travelled is less than allowed + # repeat 2 while there are 'N' edges, for transport edges only + # count loops + # this is now per-vertex - rework it to not all be done in loop, but in sql block + # connector and storage edges can be done exactly as before, in fact need to be done first, + # now in separate method + + commodity_mode_data = main_db_con.execute("select * from commodity_mode;") + commodity_mode_data = commodity_mode_data.fetchall() + commodity_mode_dict = {} + for row in commodity_mode_data: + mode = row[0] + commodity_id = int(row[1]) + commodity_phase = row[2] + allowed_yn = row[3] + commodity_mode_dict[mode, commodity_id] = allowed_yn + + + source_edge_data = main_db_con.execute("""select + ne.edge_id, + ifnull(CAST(fn.location_id as integer), 'NULL'), + ifnull(CAST(tn.location_id as integer), 'NULL'), + ne.mode_source, + ifnull(nec.phase_of_matter_id, 'NULL'), + nec.route_cost, + ne.from_node_id, + ne.to_node_id, + nec.dollar_cost, + ne.miles, + ne.capacity, + ne.artificial, + ne.mode_source_oid, + v.commodity_id, + v.schedule_day, + v.vertex_id, + v.source_facility_id, + tv.vertex_id, + ifnull(t.miles_travelled, 0), + ifnull(t.edge_count_from_source, 0), + t.mode + from networkx_edges ne, networkx_nodes fn, networkx_nodes tn, networkx_edge_costs nec, vertices v, + facility_type_id ft, facility_commodities fc + left outer join (--get facilities with incoming transport edges with tracked mileage + select vi.facility_id, min(ei.miles_travelled) miles_travelled, ei.source_facility_id, + ei.edge_count_from_source, ei.mode + from edges ei, vertices vi + where vi.vertex_id = ei.d_vertex_id + and edge_type = 'transport' + and ifnull(miles_travelled, 0) > 0 + group by vi.facility_id, ei.source_facility_id, ei.mode) t + on t.facility_id = v.facility_id and t.source_facility_id = v.source_facility_id and ne.mode_source = t.mode + left outer join vertices tv + on (CAST(tn.location_id as integer) = tv.location_id and v.source_facility_id = tv.source_facility_id) + where v.location_id = CAST(fn.location_id as integer) + and fc.facility_id = v.facility_id + and fc.commodity_id = v.commodity_id + and fc.io = 'o' + and ft.facility_type_id = v.facility_type_id + and (ft.facility_type = 'raw_material_producer' or t.facility_id = v.facility_id) + and ne.from_node_id = fn.node_id + and ne.to_node_id = tn.node_id + and ne.edge_id = nec.edge_id + and ifnull(ne.capacity, 1) > 0 + and v.storage_vertex = 1 + and v.source_facility_id != 0 --max commodity distance applies + ;""") + source_edge_data = source_edge_data.fetchall() + for row_a in source_edge_data: + + nx_edge_id = row_a[0] + from_location = row_a[1] + to_location = row_a[2] + mode = row_a[3] + phase_of_matter = row_a[4] + route_cost = row_a[5] + from_node = row_a[6] + to_node = row_a[7] + dollar_cost = row_a[8] + miles = row_a[9] + # max_daily_capacity = row_a[10] + # artificial = row_a[11] + mode_oid = row_a[12] + commodity_id = row_a[13] + origin_day = row_a[14] + vertex_id = row_a[15] + source_facility_id = row_a[16] + to_vertex = row_a[17] + previous_miles_travelled = row_a[18] + previous_edge_count = row_a[19] + previous_mode = row_a[20] + + simple_mode = row_a[3].partition('_')[0] + edge_count_from_source = 1 + previous_edge_count + total_route_cost = route_cost + miles_travelled = previous_miles_travelled + miles + + if counter % 10000 == 0: + # logger.info("edges created for {} transport links of {}".format(counter, total_transport_routes)) + for row_d in db_cur.execute("select count(distinct edge_id) from edges;"): + logger.info('{} edges created'.format(row_d[0])) + counter = counter + 1 + + tariff_id = 0 + if simple_mode == 'pipeline': + + # find tariff_ids + + sql = "select mapping_id from pipeline_mapping " \ + "where id = {} and id_field_name = 'source_OID' " \ + "and source = '{}' and mapping_id is not null;".format( + mode_oid, mode) + for tariff_row in db_cur.execute(sql): + tariff_id = tariff_row[0] + + + if mode in the_scenario.permittedModes and (mode, commodity_id) in commodity_mode_dict.keys() \ + and commodity_mode_dict[mode, commodity_id] == 'Y': + + # Edges are placeholders for flow variables + # 4-17: if both ends have no location, iterate through viable commodities and days, create edge + # for all days (restrict by link schedule if called for) + # for all allowed commodities, as currently defined by link phase of matter + + if origin_day in range(default_sched.first_day, default_sched.last_day + 1): + if origin_day + fixed_route_duration <= default_sched.last_day: + # if link is traversable in the timeframe + if simple_mode != 'pipeline' or tariff_id >= 0: + # for allowed commodities + # step 1 from source is from non-Null location to (probably) null location + + if from_location != 'NULL' and to_location == 'NULL': + # for each day and commodity, + # get the corresponding origin vertex id to include with the edge info + # origin vertex must not be "ultimate_destination + # transport link outgoing from facility - checking fc.io is more thorough + # than checking if facility type is 'ultimate destination' + # only connect to vertices with matching source_facility_id + # source_facility_id is zero for commodities without source tracking + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id,phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + miles_travelled, 'N', edge_count_from_source, total_route_cost)) + + + elif from_location != 'NULL' and to_location != 'NULL': + # for each day and commodity, get the corresponding origin and destination vertex ids + # to include with the edge info + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, {}, + {}, {}, {}, + '{}',{},'{}', {}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, to_vertex, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + miles_travelled, 'N', edge_count_from_source, total_route_cost)) + + for row in db_cur.execute("select count(distinct edge_id) from edges where edge_type = 'transport';"): + transport_edges_created = row[0] + logger.info('{} transport edges created'.format(transport_edges_created)) + for row in db_cur.execute("""select count(distinct edge_id), children_created from edges + where edge_type = 'transport' + group by children_created;"""): + if row[1] == 'N': + edges_requiring_children = row[0] + # logger.info('{} transport edges that need children'.format(row[0])) + + elif row[1] == 'Y': + logger.info('{} transport edges that have already been checked for children'.format(row[0])) + edges_requiring_children = transport_edges_created - row[0] + # edges_requiring_children is updated under either condition here, since one may not be triggered + logger.info('{} transport edges that need children'.format(edges_requiring_children)) + + return + + +# =============================================================================== + + +def generate_all_edges_from_source_facilities(the_scenario, logger): + # method only runs for commodities with a max commodity constraint + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== + + logger.info("START: generate_all_edges_from_source_facilities") + + multi_commodity_name = "multicommodity" + # initializations - all of these get updated if >0 edges exist + # transport_edges_created = 0 + edges_requiring_children = 0 + endcap_edges = 0 + edges_resolved = 0 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + db_cur = main_db_con.cursor() + transport_edges_created = 0 + nx_edge_count = 0 + source_based_edges_created = 0 + + for row_d in db_cur.execute("""select count(distinct e.edge_id), count(distinct e.nx_edge_id) + from edges e where e.edge_type = 'transport' + and children_created in ('N', 'Y', 'E');"""): + source_based_edges_created = row_d[0] + + for row_d in db_cur.execute("""select count(distinct e.edge_id), count(distinct e.nx_edge_id) + from edges e where e.edge_type = 'transport';"""): + transport_edges_created = row_d[0] + nx_edge_count = row_d[1] + + + commodity_mode_data = main_db_con.execute("select * from commodity_mode;") + commodity_mode_data = commodity_mode_data.fetchall() + commodity_mode_dict = {} + for row in commodity_mode_data: + mode = row[0] + commodity_id = int(row[1]) + commodity_phase = row[2] + allowed_yn = row[3] + commodity_mode_dict[mode, commodity_id] = allowed_yn + + current_edge_data = db_cur.execute("""select count(distinct edge_id), children_created + from edges + where edge_type = 'transport' + group by children_created + order by children_created asc;""") + current_edge_data = current_edge_data.fetchall() + for row in current_edge_data: + if row[1] == 'N': + edges_requiring_children = row[0] + elif row[1] == 'Y': + edges_resolved = row[0] + elif row[1] == 'E': + endcap_edges = row[0] + if source_based_edges_created == edges_resolved + endcap_edges: + edges_requiring_children = 0 + if source_based_edges_created == edges_requiring_children + endcap_edges: + edges_resolved = 0 + if source_based_edges_created == edges_requiring_children + edges_resolved: + endcap_edges = 0 + + logger.info( + '{} transport edges created; {} require children'.format(transport_edges_created, edges_requiring_children)) + + # for row in ("select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): + # id_for_mult_commodities = row[0] + # for row in db_cur.execute("select count(*) from networkx_edges;"): + # total_transport_routes = row[0] + + # set up a table to keep track of endcap nodes + sql = """ + drop table if exists endcap_nodes; + create table if not exists endcap_nodes( + node_id integer NOT NULL, + + location_id integer, + + --mode of edges that it's an endcap for + mode_source text NOT NULL, + + --facility it's an endcap for + source_facility_id integer NOT NULL, + + --commodities it's an endcap for + commodity_id integer NOT NULL, + + CONSTRAINT endcap_key PRIMARY KEY (node_id, mode_source, source_facility_id, commodity_id)) + --the combination of these four (excluding location_id) should be unique, + --and all fields except location_id should be filled + ;""" + db_cur.executescript(sql) + + # create transport edges, only between storage vertices and nodes, based on networkx graph + # never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + # iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + # should also be per day, subject to nx edge schedule + # before creating an edge, check: commodity allowed by nx and max transport distance if not null + # will need nodes per day and commodity? or can I just check that with constraints? + # select data for transport edges + # ****1**** Only edges coming from RMP/source storage vertices + # set distance travelled to miles of edges; set indicator for newly created edges to 'N' + # edge_count_from_source = 1 + # ****2**** only nx_edges coming from entries in edges (check connector nodes) + # set distance travelling to miles of new endge plus existing input edge; + # set indicator for processed edges in edges to 'Y' + # only create new edge if distance travelled is less than allowed + # repeat 2 while there are 'N' edges, for transport edges only + + edge_into_facility_counter = 0 + while_count = 0 + + while edges_requiring_children > 0: + while_count = while_count+1 + + # --get nx edges that align with the existing "in edges" - data from nx to create new edges --for each of + # those nx_edges, if they connect to more than one "in edge" in this batch, only consider connecting to + # the shortest -- if there is a valid nx_edge to build, the crossing node is not an endcap if total miles + # of the new route is over max transport distance, then endcap what if one child goes over max transport + # and another doesn't then the node will get flagged as an endcap, and another path may continue off it, + # allow both for now --check that day and commodity are permitted by nx + + potential_edge_data = main_db_con.execute(""" + select + ch.edge_id as ch_nx_edge_id, + ifnull(CAST(chfn.location_id as integer), 'NULL') fn_location_id, + ifnull(CAST(chtn.location_id as integer), 'NULL') tn_location_id, + ch.mode_source, + p.phase_of_matter, + nec.route_cost, + ch.from_node_id, + ch.to_node_id, + nec.dollar_cost, + ch.miles, + ch.capacity, + ch.artificial, + ch.mode_source_oid, + --parent edge into + p.commodity_id, + p.end_day, + --parent's dest. vertex if exists + ifnull(p.d_vertex_id,0) o_vertex, + p.source_facility_id, + p.leadin_miles_travelled, + + (p.edge_count_from_source +1) as new_edge_count, + (p.total_route_cost + nec.route_cost) new_total_route_cost, + p.edge_id leadin_edge, + p.nx_edge_id leadin_nx_edge, + + --new destination vertex if exists + ifnull(chtv.vertex_id,0) d_vertex, + + sc.max_transport_distance + + from + (select count(edge_id) parents, + min(miles_travelled) leadin_miles_travelled, + * + from edges + where children_created = 'N' + -----------------do not mess with this "group by" + group by to_node_id, source_facility_id, commodity_id, end_day + ------------------it affects which columns we're checking over for min miles travelled + --------------so that we only get the parent edges we want + order by parents desc + ) p, --parent edges to use in this batch + networkx_edges ch, + networkx_edge_costs nec, + source_commodity_ref sc, + networkx_nodes chfn, + networkx_nodes chtn + left outer join vertices chtv + on (CAST(chtn.location_id as integer) = chtv.location_id + and p.source_facility_id = chtv.source_facility_id + and chtv.commodity_id = p.commodity_id + and p.end_day = chtv.schedule_day + and chtv.iob = 'i') + + where p.to_node_id = ch.from_node_id + --and p.mode = ch.mode_source --build across modes, control at conservation of flow + and ch.to_node_id = chtn.node_id + and ch.from_node_id = chfn.node_id + and p.phase_of_matter = nec.phase_of_matter_id + and ch.edge_id = nec.edge_id + and ifnull(ch.capacity, 1) > 0 + and p.commodity_id = sc.commodity_id + ;""") + + # --should only get a single leadin edge per networkx/source/commodity/day combination + # leadin edge should be in route_data, current set of min. identifiers + # if we're trying to add an edge that has an entry in route_data, new miles travelled must be less + + potential_edge_data = potential_edge_data.fetchall() + # logger.info("potential_edge_data.fetchall() completed") + # pdb.set_trace() + + main_db_con.execute("update edges set children_created = 'Y' where children_created = 'N';") + # this deliberately includes updating "parent" edges that did not get chosen because they weren't the + # current shortest path those edges are still "resolved" by this batch logger.info( + # "edges.children_created updated to 'Y' for set about to be addressed") + + for row_a in potential_edge_data: + nx_edge_id = row_a[0] + from_location = row_a[1] + to_location = row_a[2] + mode = row_a[3] + phase_of_matter = row_a[4] + route_cost = row_a[5] + from_node = row_a[6] + to_node = row_a[7] + dollar_cost = row_a[8] + miles = row_a[9] + # max_daily_capacity = row_a[10] + # artificial = row_a[11] + mode_oid = row_a[12] + commodity_id = row_a[13] + origin_day = row_a[14] + vertex_id = row_a[15] + source_facility_id = row_a[16] + leadin_edge_miles_travelled = row_a[17] + new_edge_count = row_a[18] + total_route_cost = row_a[19] + leadin_edge_id = row_a[20] + # leadin_nx_edge_id = row_a[21] + to_vertex = row_a[22] + max_commodity_travel_distance = row_a[23] + + # end_day = origin_day + fixed_route_duration + new_miles_travelled = miles + leadin_edge_miles_travelled + + if mode in the_scenario.permittedModes and (mode, commodity_id) in commodity_mode_dict.keys() \ + and commodity_mode_dict[mode, commodity_id] == 'Y': + + if new_miles_travelled > max_commodity_travel_distance: + # designate leadin edge as endcap + children_created = 'E' + # update the incoming edge to indicate it's an endcap + db_cur.execute( + "update edges set children_created = '{}' where edge_id = {}".format(children_created, + leadin_edge_id)) + if from_location != 'NULL': + db_cur.execute("""insert or ignore into endcap_nodes( + node_id, location_id, mode_source, source_facility_id, commodity_id) + VALUES ({}, {}, '{}', {}, {}); + """.format(from_node, from_location, mode, source_facility_id, commodity_id)) + else: + db_cur.execute("""insert or ignore into endcap_nodes( + node_id, mode_source, source_facility_id, commodity_id) + VALUES ({}, '{}', {}, {}); + """.format(from_node, mode, source_facility_id, commodity_id)) + + # designate leadin edge as endcap + # this does, deliberately, allow endcap status to be + # overwritten if we've found a shorter path to a previous endcap + + # create new edge + elif new_miles_travelled <= max_commodity_travel_distance: + + simple_mode = row_a[3].partition('_')[0] + tariff_id = 0 + if simple_mode == 'pipeline': + + # find tariff_ids + + sql = """select mapping_id + from pipeline_mapping + where id = {} + and id_field_name = 'source_OID' + and source = '{}' + and mapping_id is not null;""".format(mode_oid, mode) + for tariff_row in db_cur.execute(sql): + tariff_id = tariff_row[0] + + # if there are no edges yet for this day, nx, subc combination, + # AND this is the shortest existing leadin option for this day, nx, subc combination + # we'd be creating an edge for (otherwise wait for the shortest option) + # at this step, some leadin edge should always exist + + if origin_day in range(default_sched.first_day, default_sched.last_day + 1): + if origin_day + fixed_route_duration <= default_sched.last_day: + # if link is traversable in the timeframe + if simple_mode != 'pipeline' or tariff_id >= 0: + + + if from_location == 'NULL' and to_location == 'NULL': + # for each day and commodity, + # get the corresponding origin vertex id to include with the edge info + # origin vertex must not be "ultimate_destination + # transport link outgoing from facility - checking fc.io is more thorough than + # checking if facility type is 'ultimate destination' + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id,phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, {}, {}, + '{}',{},'{}',{}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + new_miles_travelled, 'N', new_edge_count, total_route_cost)) + # only create edge going into a location if an appropriate vertex exists + elif from_location == 'NULL' and to_location != 'NULL' and to_vertex > 0: + edge_into_facility_counter = edge_into_facility_counter + 1 + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}', {}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + to_vertex, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + new_miles_travelled, 'N', new_edge_count, total_route_cost)) + + elif from_location != 'NULL' and to_location == 'NULL': + # for each day and commodity, get the corresponding origin vertex id + # to include with the edge info + # origin vertex must not be "ultimate_destination + # transport link outgoing from facility - checking fc.io is more thorough than + # checking if facility type is 'ultimate destination' + # new for bsc, only connect to vertices with matching source facility id + # (only limited for RMP vertices) + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + new_miles_travelled, 'N', new_edge_count, total_route_cost)) + + + elif from_location != 'NULL' and to_location != 'NULL': + # for each day and commodity, get the corresponding origin and + # destination vertex ids to include with the edge info + + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, + source_facility_id, + miles_travelled, children_created, edge_count_from_source, + total_route_cost) + VALUES ({}, {}, + {}, {}, {}, + {}, {}, + {}, {}, {}, + '{}',{},'{}', {}, + {},'{}',{},'{}', + {}, + {},'{}',{},{}); + """.format(from_node, to_node, + origin_day, origin_day + fixed_route_duration, commodity_id, + vertex_id, to_vertex, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, + miles, simple_mode, tariff_id, phase_of_matter, + source_facility_id, + new_miles_travelled, 'N', new_edge_count, total_route_cost)) + + for row_d in db_cur.execute("""select count(distinct e.edge_id), count(distinct e.nx_edge_id) + from edges e where e.edge_type = 'transport' + and children_created in ('N', 'Y', 'E');"""): + source_based_edges_created = row_d[0] + + for row_d in db_cur.execute("""select count(distinct e.edge_id), count(distinct e.nx_edge_id) + from edges e where e.edge_type = 'transport';"""): + transport_edges_created = row_d[0] + nx_edge_count = row_d[1] + + current_edge_data = db_cur.execute("""select count(distinct edge_id), children_created + from edges + where edge_type = 'transport' + group by children_created + order by children_created asc;""") + current_edge_data = current_edge_data.fetchall() + for row in current_edge_data: + if row[1] == 'N': + edges_requiring_children = row[0] + elif row[1] == 'Y': + edges_resolved = row[0] + elif row[1] == 'E': + endcap_edges = row[0] + logger.debug('{} endcap edges designated for candidate generation step'.format(endcap_edges)) + if source_based_edges_created == edges_resolved + endcap_edges: + edges_requiring_children = 0 + if source_based_edges_created == edges_requiring_children + endcap_edges: + edges_resolved = 0 + if source_based_edges_created == edges_requiring_children + edges_resolved: + endcap_edges = 0 + + if while_count % 1000 == 0 or edges_requiring_children == 0: + logger.info( + '{} transport edges on {} nx edges, created in {} loops, {} edges_requiring_children'.format( + transport_edges_created, nx_edge_count, while_count, edges_requiring_children)) + + # edges going in to the facility by re-running "generate first edges + # then re-run this method + + logger.info('{} transport edges on {} nx edges, created in {} loops, {} edges_requiring_children'.format( + transport_edges_created, nx_edge_count, while_count, edges_requiring_children)) + logger.info("all source-based transport edges created") + + logger.info("create an index for the edges table by nodes") + + sql = ("""CREATE INDEX IF NOT EXISTS edge_index ON edges ( + edge_id, route_id, from_node_id, to_node_id, commodity_id, + start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, source_facility_id);""") + db_cur.execute(sql) + + return + + +# =============================================================================== + + +def generate_all_edges_without_max_commodity_constraint(the_scenario, logger): + # =============================================================================== + # reassign default schedule to test user input schedules + schedule_path = the_scenario.schedule + schedule_dict = create_schedules_from_input(schedule_path, logger) + default_sched = schedule_dict['default'] # should be same as previous default schedule + # default_sched = schedule_dict['365b'] # only available on day 365 + # default_sched = schedule_dict['365c'] # available half-time, except full-time on days 10, 20, 100 + # default_sched = schedule_dict['2day'] # 2-day schedule with half availabilities on both days + # default_sched = schedule_dict['harvest'] # 52-week schedule with 6 weeks of harvest availability + # =============================================================================== + global total_transport_routes + logger.info("START: generate_all_edges_without_max_commodity_constraint") + + multi_commodity_name = "multicommodity" + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + + db_cur = main_db_con.cursor() + + commodity_mode_data = main_db_con.execute("select * from commodity_mode;") + commodity_mode_data = commodity_mode_data.fetchall() + commodity_mode_dict = {} + for row in commodity_mode_data: + mode = row[0] + commodity_id = int(row[1]) + commodity_phase = row[2] + allowed_yn = row[3] + commodity_mode_dict[mode, commodity_id] = allowed_yn + + counter = 0 + # for row in db_cur.execute( + # "select commodity_id from commodities where commodity_name = '{}';""".format(multi_commodity_name)): + # id_for_mult_commodities = row[0] + for row in db_cur.execute("select count(*) from networkx_edges;"): + total_transport_routes = row[0] + + # for all commodities with no max transport distance + source_facility_id = 0 + + # create transport edges, only between storage vertices and nodes, based on networkx graph + # never touch primary vertices; either or both vertices can be null (or node-type) if it's a mid-route link + # iterate through nx edges: if neither node has a location, create 1 edge per viable commodity + # should also be per day, subject to nx edge schedule + # before creating an edge, check: commodity allowed by nx and max transport distance if not null + # will need nodes per day and commodity? or can I just check that with constraints? + # select data for transport edges + + sql = """select + ne.edge_id, + ifnull(fn.location_id, 'NULL'), + ifnull(tn.location_id, 'NULL'), + ne.mode_source, + ifnull(nec.phase_of_matter_id, 'NULL'), + nec.route_cost, + ne.from_node_id, + ne.to_node_id, + nec.dollar_cost, + ne.miles, + ne.capacity, + ne.artificial, + ne.mode_source_oid + from networkx_edges ne, networkx_nodes fn, networkx_nodes tn, networkx_edge_costs nec + + where ne.from_node_id = fn.node_id + and ne.to_node_id = tn.node_id + and ne.edge_id = nec.edge_id + and ifnull(ne.capacity, 1) > 0 + ;""" + nx_edge_data = main_db_con.execute(sql) + nx_edge_data = nx_edge_data.fetchall() + for row_a in nx_edge_data: + + nx_edge_id = row_a[0] + from_location = row_a[1] + to_location = row_a[2] + mode = row_a[3] + phase_of_matter = row_a[4] + route_cost = row_a[5] + from_node = row_a[6] + to_node = row_a[7] + dollar_cost = row_a[8] + miles = row_a[9] + # max_daily_capacity = row_a[10] + mode_oid = row_a[12] + simple_mode = row_a[3].partition('_')[0] + + # if counter % 10000 == 1: + # logger.info("edges created for {} transport links of {}".format(counter, total_transport_routes)) + # for row_d in db_cur.execute("select count(distinct edge_id) from edges;"): + # logger.info('{} edges created'.format(row_d[0])) + counter = counter + 1 + + tariff_id = 0 + if simple_mode == 'pipeline': + + # find tariff_ids + + sql = "select mapping_id from pipeline_mapping " \ + "where id = {} and id_field_name = 'source_OID' and source = '{}' " \ + "and mapping_id is not null;".format( + mode_oid, mode) + for tariff_row in db_cur.execute(sql): + tariff_id = tariff_row[0] + + + if mode in the_scenario.permittedModes: + + # Edges are placeholders for flow variables + # for all days (restrict by link schedule if called for) + # for all allowed commodities, as currently defined by link phase of matter + + for day in range(default_sched.first_day, default_sched.last_day + 1): + if day + fixed_route_duration <= default_sched.last_day: + # if link is traversable in the timeframe + if simple_mode != 'pipeline' or tariff_id >= 0: + # for allowed commodities that can be output by some facility in the scenario + for row_c in db_cur.execute("""select commodity_id + from source_commodity_ref s + where phase_of_matter = '{}' + and max_transport_distance_flag = 'N' + and share_max_transport_distance = 'N' + group by commodity_id, source_facility_id""".format(phase_of_matter)): + db_cur4 = main_db_con.cursor() + commodity_id = row_c[0] + # source_facility_id = row_c[1] # fixed to 0 for all edges created by this method + if (mode, commodity_id) in commodity_mode_dict.keys() \ + and commodity_mode_dict[mode, commodity_id] == 'Y': + if from_location == 'NULL' and to_location == 'NULL': + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, {}, {}, + '{}',{},'{}',{},{},'{}',{},'{}',{}); + """.format(from_node, to_node, + day, day + fixed_route_duration, commodity_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id, phase_of_matter, source_facility_id)) + + elif from_location != 'NULL' and to_location == 'NULL': + # for each day and commodity, get the corresponding origin vertex id + # to include with the edge info + # origin vertex must not be "ultimate_destination + # transport link outgoing from facility - checking fc.io is more thorough + # than checking if facility type is 'ultimate destination' + # new for bsc, only connect to vertices with matching source_facility_id + for row_d in db_cur4.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} + and v.commodity_id = {} and v.source_facility_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'o'""".format(from_location, day, commodity_id, source_facility_id)): + from_vertex_id = row_d[0] + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + o_vertex_id, + min_edge_capacity,edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{},{},'{}',{},'{}',{}); + """.format(from_node, to_node, + day, day + fixed_route_duration, commodity_id, + from_vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id, phase_of_matter, source_facility_id)) + elif from_location == 'NULL' and to_location != 'NULL': + # for each day and commodity, get the corresponding destination vertex id + # to include with the edge info + for row_d in db_cur4.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} + and v.commodity_id = {} and v.source_facility_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'i'""".format(to_location, day, commodity_id, source_facility_id)): + to_vertex_id = row_d[0] + main_db_con.execute("""insert or ignore into edges (from_node_id, to_node_id, + start_day, end_day, commodity_id, + d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, source_facility_id) VALUES ({}, {}, + {}, {}, {}, + {}, + {}, {}, {}, + '{}',{},'{}',{},{},'{}',{},'{}',{}); + """.format(from_node, to_node, + day, day + fixed_route_duration, commodity_id, + to_vertex_id, + default_min_capacity, route_cost, dollar_cost, + 'transport', nx_edge_id, mode, mode_oid, miles, simple_mode, + tariff_id, phase_of_matter, source_facility_id)) + elif from_location != 'NULL' and to_location != 'NULL': + # for each day and commodity, get the corresponding origin and destination vertex + # ids to include with the edge info + for row_d in db_cur4.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} + nd v.commodity_id = {} and v.source_facility_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'o'""".format(from_location, day, commodity_id, source_facility_id)): + from_vertex_id = row_d[0] + db_cur5 = main_db_con.cursor() + for row_e in db_cur5.execute("""select vertex_id + from vertices v, facility_commodities fc + where v.location_id = {} and v.schedule_day = {} + and v.commodity_id = {} and v.source_facility_id = {} + and v.storage_vertex = 1 + and v.facility_id = fc.facility_id + and v.commodity_id = fc.commodity_id + and fc.io = 'i'""".format(to_location, day, commodity_id, source_facility_id)): + to_vertex_id = row_e[0] + main_db_con.execute("""insert or ignore into edges (from_node_id, + to_node_id, start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + min_edge_capacity, edge_flow_cost, edge_flow_cost2, edge_type, + nx_edge_id, mode, mode_oid, miles, simple_mode, tariff_id, + phase_of_matter, source_facility_id) VALUES ({}, {}, {}, {}, {}, {}, {}, + {}, {}, {}, '{}',{},'{}', {},{},'{}',{},'{}',{} + )""".format(from_node, + to_node, day, + day + fixed_route_duration, + commodity_id, + from_vertex_id, + to_vertex_id, + default_min_capacity, + route_cost, + dollar_cost, + 'transport', + nx_edge_id, mode, + mode_oid, miles, + simple_mode, + tariff_id, + phase_of_matter, + source_facility_id)) + + logger.debug("all transport edges created") + + logger.info("all edges created") + logger.info("create an index for the edges table by nodes") + index_start_time = datetime.datetime.now() + sql = ("""CREATE INDEX IF NOT EXISTS edge_index ON edges ( + edge_id, route_id, from_node_id, to_node_id, commodity_id, + start_day, end_day, commodity_id, o_vertex_id, d_vertex_id, + max_edge_capacity, min_edge_capacity, edge_flow_cost, edge_flow_cost2, + edge_type, nx_edge_id, mode, mode_oid, miles, source_facility_id);""") + db_cur.execute(sql) + logger.info("edge_index Total Runtime (HMS): \t{} \t ".format(get_total_runtime_string(index_start_time))) + return + + +# =============================================================================== + + +def set_edges_volume_capacity(the_scenario, logger): + logger.info("starting set_edges_volume_capacity") + with sqlite3.connect(the_scenario.main_db) as main_db_con: + logger.debug("starting to record volume and capacity for non-pipeline edges") + + main_db_con.execute( + "update edges set volume = (select ifnull(ne.volume,0) from networkx_edges ne " + "where ne.edge_id = edges.nx_edge_id ) where simple_mode in ('rail','road','water');") + main_db_con.execute( + "update edges set max_edge_capacity = (select ne.capacity from networkx_edges ne " + "where ne.edge_id = edges.nx_edge_id) where simple_mode in ('rail','road','water');") + logger.debug("volume and capacity recorded for non-pipeline edges") + + logger.debug("starting to record volume and capacity for pipeline edges") + ## + main_db_con.executescript("""update edges set volume = + (select l.background_flow + from pipeline_mapping pm, + (select id_field_name, cn.source_OID as link_id, min(cn.capacity) capac, + max(cn.volume) background_flow, source + from capacity_nodes cn + where cn.id_field_name = 'MASTER_OID' + and ifnull(cn.capacity,0)>0 + group by link_id) l + + where edges.tariff_id = pm.id + and pm.id_field_name = 'tariff_ID' + and pm.mapping_id_field_name = 'MASTER_OID' + and l.id_field_name = 'MASTER_OID' + and pm.mapping_id = l.link_id + and instr(edges.mode, l.source)>0) + where simple_mode = 'pipeline' + ; + + update edges set max_edge_capacity = + (select l.capac + from pipeline_mapping pm, + (select id_field_name, cn.source_OID as link_id, min(cn.capacity) capac, + max(cn.volume) background_flow, source + from capacity_nodes cn + where cn.id_field_name = 'MASTER_OID' + and ifnull(cn.capacity,0)>0 + group by link_id) l + + where edges.tariff_id = pm.id + and pm.id_field_name = 'tariff_ID' + and pm.mapping_id_field_name = 'MASTER_OID' + and l.id_field_name = 'MASTER_OID' + and pm.mapping_id = l.link_id + and instr(edges.mode, l.source)>0) + where simple_mode = 'pipeline' + ;""") + logger.debug("volume and capacity recorded for pipeline edges") + logger.debug("starting to record units and conversion multiplier") + main_db_con.execute("""update edges + set capacity_units = + (case when simple_mode = 'pipeline' then 'kbarrels' + when simple_mode = 'road' then 'truckload' + when simple_mode = 'rail' then 'railcar' + when simple_mode = 'water' then 'barge' + else 'unexpected mode' end) + ;""") + main_db_con.execute("""update edges + set units_conversion_multiplier = + (case when simple_mode = 'pipeline' and phase_of_matter = 'liquid' then {} + when simple_mode = 'road' and phase_of_matter = 'liquid' then {} + when simple_mode = 'road' and phase_of_matter = 'solid' then {} + when simple_mode = 'rail' and phase_of_matter = 'liquid' then {} + when simple_mode = 'rail' and phase_of_matter = 'solid' then {} + when simple_mode = 'water' and phase_of_matter = 'liquid' then {} + when simple_mode = 'water' and phase_of_matter = 'solid' then {} + else 1 end) + ;""".format(THOUSAND_GALLONS_PER_THOUSAND_BARRELS, + the_scenario.truck_load_liquid.magnitude, + the_scenario.truck_load_solid.magnitude, + the_scenario.railcar_load_liquid.magnitude, + the_scenario.railcar_load_solid.magnitude, + the_scenario.barge_load_liquid.magnitude, + the_scenario.barge_load_solid.magnitude, + )) + logger.debug("units and conversion multiplier recorded for all edges; starting capacity minus volume") + main_db_con.execute("""update edges + set capac_minus_volume_zero_floor = + 365*max((select (max_edge_capacity - ifnull(volume,0)) where max_edge_capacity is not null),0) + where max_edge_capacity is not null + ;""") + logger.debug("capacity minus volume (minimum set to zero) recorded for all edges") + return + + +# =============================================================================== + + +def pre_setup_pulp(logger, the_scenario): + logger.info("START: pre_setup_pulp") + + commodity_mode_setup(the_scenario, logger) + + # create table to track source facility of commodities with a max transport distance set + source_tracking_setup(the_scenario, logger) + + generate_all_vertices(the_scenario, logger) + + add_storage_routes(the_scenario, logger) + generate_connector_and_storage_edges(the_scenario, logger) + generate_first_edges_from_source_facilities(the_scenario, logger) + + # replicate all_routes by commodity and time into all_edges dictionary + generate_all_edges_from_source_facilities(the_scenario, logger) # commented out 4-16 + + # start edges for commodities that inherit max transport distance + generate_first_edges_from_source_facilities(the_scenario, logger) + + # replicate all_routes by commodity and time into all_edges dictionary + generate_all_edges_from_source_facilities(the_scenario, logger) + + # replicate all_routes by commodity and time into all_edges dictionary + generate_all_edges_without_max_commodity_constraint(the_scenario, logger) # commented out 4-16 + logger.info("Edges generated for modes: {}".format(the_scenario.permittedModes)) + + set_edges_volume_capacity(the_scenario, logger) + + return + + +# =============================================================================== + + +def create_flow_vars(the_scenario, logger): + logger.info("START: create_flow_vars") + + # we have a table called edges. + # call helper method to get list of unique IDs from the Edges table. + # use the rowid as a simple unique integer index + edge_list = [] + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + edge_list_cur = db_cur.execute("""select edge_id--, commodity_id, start_day, source_facility_id + from edges;""") + edge_list_data = edge_list_cur.fetchall() + counter = 0 + for row in edge_list_data: + if counter % 500000 == 0: + logger.info( + "processed {:,.0f} records. size of edge_list {:,.0f}".format(counter, sys.getsizeof(edge_list))) + counter += 1 + # create an edge for each commodity allowed on this link - this construction may change + # as specific commodity restrictions are added + # TODO4-18 add days, but have no scheduel for links currently + # running just with nodes for now, will add proper facility info and storage back soon + edge_list.append((row[0])) + + logger.debug("MNP DEBUG: start assign flow_var with edge_list") + + flow_var = LpVariable.dicts("Edge", edge_list, 0, None) + logger.debug("MNP DEBUG: Size of flow_var: {:,.0f}".format(sys.getsizeof(flow_var))) + return flow_var + + +# =============================================================================== + + +def create_unmet_demand_vars(the_scenario, logger): + logger.info("START: create_unmet_demand_vars") + demand_var_list = [] + # may create vertices with zero demand, but only for commodities that the facility has demand for at some point + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + for row in db_cur.execute("""select v.facility_id, v.schedule_day, + ifnull(c.supertype, c.commodity_name) top_level_commodity_name, v.udp + from vertices v, commodities c, facility_type_id ft, facilities f + where v.commodity_id = c.commodity_id + and ft.facility_type = "ultimate_destination" + and v.storage_vertex = 0 + and v.facility_type_id = ft.facility_type_id + and v.facility_id = f.facility_id + and f.ignore_facility = 'false' + group by v.facility_id, v.schedule_day, ifnull(c.supertype, c.commodity_name) + ;""".format('')): + # facility_id, day, and simplified commodity name + demand_var_list.append((row[0], row[1], row[2], row[3])) + + unmet_demand_var = LpVariable.dicts("UnmetDemand", demand_var_list, None, None) + + return unmet_demand_var + + +# =============================================================================== + + +def create_candidate_processor_build_vars(the_scenario, logger): + logger.info("START: create_candidate_processor_build_vars") + processors_build_list = [] + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + for row in db_cur.execute( + """select f.facility_id from facilities f, facility_type_id ft + where f.facility_type_id = ft.facility_type_id and facility_type = 'processor' + and candidate = 1 and ignore_facility = 'false' group by facility_id;"""): + # grab all candidate processor facility IDs + processors_build_list.append(row[0]) + + processor_build_var = LpVariable.dicts("BuildProcessor", processors_build_list, 0, None, 'Binary') + + return processor_build_var + + +# =============================================================================== + + +def create_binary_processor_vertex_flow_vars(the_scenario, logger): + logger.info("START: create_binary_processor_vertex_flow_vars") + processors_flow_var_list = [] + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + for row in db_cur.execute("""select v.facility_id, v.schedule_day + from vertices v, facility_type_id ft + where v.facility_type_id = ft.facility_type_id + and facility_type = 'processor' + and storage_vertex = 0 + group by v.facility_id, v.schedule_day;"""): + # facility_id, day + processors_flow_var_list.append((row[0], row[1])) + + processor_flow_var = LpVariable.dicts("ProcessorDailyFlow", processors_flow_var_list, 0, None, 'Binary') + + return processor_flow_var + + +# =============================================================================== + + +def create_processor_excess_output_vars(the_scenario, logger): + logger.info("START: create_processor_excess_output_vars") + + excess_var_list = [] + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + xs_cur = db_cur.execute(""" + select vertex_id, commodity_id + from vertices v, facility_type_id ft + where v.facility_type_id = ft.facility_type_id + and facility_type = 'processor' + and storage_vertex = 1;""") + # facility_id, day, and simplified commodity name + xs_data = xs_cur.fetchall() + for row in xs_data: + excess_var_list.append(row[0]) + + excess_var = LpVariable.dicts("XS", excess_var_list, 0, None) + + return excess_var + + +# =============================================================================== + + +def create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, processor_build_vars): + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + + logger.debug("START: create_opt_problem") + prob = LpProblem("Flow assignment", LpMinimize) + + logger.debug("MNP: DEBUG: length of unmet_demand_vars: {}".format(len(unmet_demand_vars))) + logger.debug("MNP: DEBUG: length of flow_vars: {}".format(len(flow_vars))) + logger.debug("MNP: DEBUG: length of processor_build_vars: {}".format(len(processor_build_vars))) + + unmet_demand_costs = [] + flow_costs = {} + processor_build_costs = [] + operation_cost = [] + non_operation_cost = [] + + logger.debug("MNP: DEBUG: start loop through sql to append unmet_demand_costs") + for u in unmet_demand_vars: + # facility_id = u[0] + # schedule_day = u[1] + # demand_commodity_name = u[2] + udp = u[3] + unmet_demand_costs.append(udp * unmet_demand_vars[u]) + non_operation_cost.append(operation_parameter * unmet_demand_vars[u]) + logger.debug("MNP: DEBUG: finished loop through sql to append unmet_demand_costs. total records: {}".format( + len(unmet_demand_costs))) + + + #===============================================Modification========================================================== + # Add operation cost calculation into objective + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + sql = """select fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + from facility_commodities fc, facility_type_id ft, facilities f, vertices v + where ft.facility_type = 'processor' + and ft.facility_type_id = f.facility_type_id + and f.facility_id = fc.facility_id + and fc.io = 'i' + and v.facility_id = f.facility_id + and v.storage_vertex = 0 + group by fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + ; + """ + # iterate through processor facilities, one constraint per facility per day + # different copies by subcommodity, summed for constraint as long as same day + + processor_facilities = db_cur.execute(sql) + + processor_facilities = processor_facilities.fetchall() + + for row_a in processor_facilities: + + # input_commodity_id = row_a[0] + facility_id = row_a[1] + is_candidate = row_a[2] + quantity = facility_cap_noEarthquake[facility_id-2][t+1][i]*year*row_a[3] + #quantity = row_a[3] + day = row_a[4] + activity_level = row_a[5] + + operation_cost.append(operation_parameter * quantity * activity_level) + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + logger.debug("MNP: DEBUG: start sql execute to get flow cost data") + # Flow cost memory improvements: only get needed data; dict instead of list; narrow in lpsum + flow_cost_var = db_cur.execute("select edge_id, edge_flow_cost from edges e group by edge_id;") + logger.debug("MNP DEBUG: start the fetchall") + flow_cost_data = flow_cost_var.fetchall() + logger.debug("MNP DEBUG: start iterating through {:,.0f} flow_cost_data records".format(len(flow_cost_data))) + counter = 0 + for row in flow_cost_data: + edge_id = row[0] + edge_flow_cost = row[1] + counter += 1 + + # flow costs cover transportation and storage + flow_costs[edge_id] = edge_flow_cost + # flow_costs.append(edge_flow_cost * flow_vars[(edge_id)]) + logger.debug("MNP: DEBUG: finished loop through sql to append flow costs: total records: {:,.0f}".format( + len(flow_costs))) + + logger.info("check if candidate tables exist") + sql = "SELECT name FROM sqlite_master WHERE type='table' " \ + "AND name in ('candidate_processors', 'candidate_process_list');" + count = len(db_cur.execute(sql).fetchall()) + + if count == 2: + + logger.debug("MNP: DEBUG: start execute sql for processor build costs") + processor_build_cost = db_cur.execute(""" + select f.facility_id, (p.cost_formula*c.quantity) build_cost + from facilities f, facility_type_id ft, candidate_processors c, candidate_process_list p + where f.facility_type_id = ft.facility_type_id + and facility_type = 'processor' + and candidate = 1 + and ignore_facility = 'false' + and f.facility_name = c.facility_name + and c.process_id = p.process_id + group by f.facility_id, build_cost;""") + logger.debug("MNP: DEBUG: start the fetchall ") + processor_build_cost_data = processor_build_cost.fetchall() + logger.debug("MNP DEBUG: start iterating through the {} processor_build_cost records".format( + len(processor_build_cost_data))) + for row in processor_build_cost_data: + candidate_proc_facility_id = row[0] + proc_facility_build_cost = row[1] + processor_build_costs.append( + proc_facility_build_cost * processor_build_vars[candidate_proc_facility_id]) + logger.debug("MNP: DEBUG: start loop through sql to append processor build costs. Total Records: {}".format( + len(processor_build_costs))) + # Resilience cost = -w1*R1-w2*R2-w3*R3 + # Weight factors for each resilience components, values based on decision-makers + w1 = 1 + w2 = 1 + w3 = 1 + weight = 1 + + logger.debug("MNP: debug: start prob+= initial_cost + weight*(unmet_demand_costs + flow cost + processor_build_costs + operation_cost-initial cost)") + prob +=(initial_cost_yearly + weight*(lpSum(unmet_demand_costs) + lpSum(flow_costs[k] * flow_vars[k] for k in flow_costs) + lpSum( + processor_build_costs)+ lpSum(operation_cost) - lpSum(non_operation_cost) - initial_cost_yearly)), "Total Cost of Transport, storage, facility building, operation and penalties" + logger.debug("MNP debug: done prob+= initial_cost + weight*(unmet_demand_costs + flow cost + processor_build_costs + operation_cost-initial cost)") + + logger.debug("FINISHED: create_opt_problem") + return prob + #=========================================End=============================================================== + + +# =============================================================================== + + +def create_constraint_unmet_demand(logger, the_scenario, prob, flow_var, unmet_demand_var): + logger.debug("START: create_constraint_unmet_demand") + + # apply activity_level to get corresponding actual demand for var + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + # var has form(facility_name, day, simple_fuel) + # unmet demand commodity should be simple_fuel = supertype + logger.debug("MNP: DEBUG: length of unmet_demand_vars: {}".format(len(unmet_demand_var))) + + demand_met_dict = defaultdict(list) + actual_demand_dict = {} + + # demand_met = [] + # want to specify that all edges leading into this vertex + unmet demand = total demand + # demand primary (non-storage) vertices + + db_cur = main_db_con.cursor() + # each row_a is a primary vertex whose edges in contributes to the met demand of var + # will have one row for each fuel subtype in the scenario + unmet_data = db_cur.execute("""select v.vertex_id, v.commodity_id, + v.demand, ifnull(c.proportion_of_supertype, 1), ifnull(v.activity_level, 1), v.source_facility_id, + v.facility_id, v.schedule_day, ifnull(c.supertype, c.commodity_name), v.udp, e.edge_id + from vertices v, commodities c, facility_type_id ft, facilities f, edges e + where v.facility_id = f.facility_id + and ft.facility_type = 'ultimate_destination' + and f.facility_type_id = ft.facility_type_id + and f.ignore_facility = 'false' + and v.facility_type_id = ft.facility_type_id + and v.storage_vertex = 0 + and c.commodity_id = v.commodity_id + and e.d_vertex_id = v.vertex_id + group by v.vertex_id, v.commodity_id, + v.demand, ifnull(c.proportion_of_supertype, 1), ifnull(v.activity_level, 1), v.source_facility_id, + v.facility_id, v.schedule_day, ifnull(c.supertype, c.commodity_name), v.udp, e.edge_id + ;""") + + unmet_data = unmet_data.fetchall() + for row_a in unmet_data: + # primary_vertex_id = row_a[0] + # commodity_id = row_a[1] + var_full_demand = row_a[2] + proportion_of_supertype = row_a[3] + var_activity_level = row_a[4] + # source_facility_id = row_a[5] + facility_id = row_a[6] + day = row_a[7] + top_level_commodity = row_a[8] + udp = row_a[9] + edge_id = row_a[10] + var_actual_demand = var_full_demand * var_activity_level + + # next get inbound edges, apply appropriate modifier proportion to get how much of var's demand they satisfy + demand_met_dict[(facility_id, day, top_level_commodity, udp)].append( + flow_var[edge_id] * proportion_of_supertype) + actual_demand_dict[(facility_id, day, top_level_commodity, udp)] = var_actual_demand + + for key in unmet_demand_var: + if key in demand_met_dict: + # then there are some edges in + prob += lpSum(demand_met_dict[key]) == actual_demand_dict[key] - unmet_demand_var[ + key], "constraint set unmet demand variable for facility {}, day {}, commodity {}".format(key[0], + key[1], + key[2]) + else: + if key not in actual_demand_dict: + pdb.set_trace() + # no edges in, so unmet demand equals full demand + prob += actual_demand_dict[key] == unmet_demand_var[ + key], "constraint set unmet demand variable for facility {}, day {}, " \ + "commodity {} - no edges able to meet demand".format( + key[0], key[1], key[2]) + + logger.debug("FINISHED: create_constraint_unmet_demand and return the prob ") + return prob + + +# =============================================================================== + + +def create_constraint_max_flow_out_of_supply_vertex(logger, the_scenario, prob, flow_var): + logger.debug("STARTING: create_constraint_max_flow_out_of_supply_vertex") + logger.debug("Length of flow_var: {}".format(len(flow_var.items()))) + + # create_constraint_max_flow_out_of_supply_vertex + # primary vertices only + # flow out of a vertex <= supply of the vertex, true for every day and commodity + + # for each primary (non-storage) supply vertex + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + for row_a in db_cur.execute("""select vertex_id, activity_level, supply + from vertices v, facility_type_id ft + where v.facility_type_id = ft.facility_type_id + and ft.facility_type = 'raw_material_producer' + and storage_vertex = 0;"""): + supply_vertex_id = row_a[0] + activity_level = row_a[1] + max_daily_supply = row_a[2] + actual_vertex_supply = activity_level * max_daily_supply + + flow_out = [] + db_cur2 = main_db_con.cursor() + # select all edges leaving that vertex and sum their flows + # should be a single connector edge + for row_b in db_cur2.execute("select edge_id from edges where o_vertex_id = {};".format(supply_vertex_id)): + edge_id = row_b[0] + flow_out.append(flow_var[edge_id]) + + prob += lpSum(flow_out) <= actual_vertex_supply, "constraint max flow of {} out of origin vertex {}".format( + actual_vertex_supply, supply_vertex_id) + # could easily add human-readable vertex info to this if desirable + + logger.debug("FINISHED: create_constraint_max_flow_out_of_supply_vertex") + return prob + + +# =============================================================================== + + +def create_constraint_daily_processor_capacity(logger, the_scenario, prob, flow_var, processor_build_vars, + processor_daily_flow_vars): + logger.debug("STARTING: create_constraint_daily_processor_capacity") + # primary vertices only + # flow out of a vertex <= nameplate capcity / 365, true for every day and totaled output commodities + + ### get primary processor vertex and its output quantity + total_scenario_min_capacity = 0 + + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + sql = """select fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + from facility_commodities fc, facility_type_id ft, facilities f, vertices v + where ft.facility_type = 'processor' + and ft.facility_type_id = f.facility_type_id + and f.facility_id = fc.facility_id + and fc.io = 'i' + and v.facility_id = f.facility_id + and v.storage_vertex = 0 + group by fc.commodity_id, f.facility_id, + ifnull(f.candidate, 0), fc.quantity, v.schedule_day, v.activity_level + ; + """ + # iterate through processor facilities, one constraint per facility per day + # different copies by subcommodity, summed for constraint as long as same day + + processor_facilities = db_cur.execute(sql) + + processor_facilities = processor_facilities.fetchall() + + for row_a in processor_facilities: + + # input_commodity_id = row_a[0] + facility_id = row_a[1] + is_candidate = row_a[2] + #====================================Modification========================================================== + # Following part is modified to include time-varying facility capacity due to technology development scenario + # Quantity/capacity * year for yearly simulation + max_capacity = facility_cap_noEarthquake[facility_id-2][t+1][i]*year*row_a[3] + #==================================End===================================================================== + + day = row_a[4] + daily_activity_level = row_a[5] + + daily_inflow_max_capacity = float(max_capacity) * float(daily_activity_level) + daily_inflow_min_capacity = daily_inflow_max_capacity / 2 + logger.debug( + "processor {}, day {}, capacity min: {} max: {}".format(facility_id, day, daily_inflow_min_capacity, + daily_inflow_max_capacity)) + total_scenario_min_capacity = total_scenario_min_capacity + daily_inflow_min_capacity + flow_in = [] + + # all edges that start in that processor facility, any primary vertex, on that day - so all subcommodities + db_cur2 = main_db_con.cursor() + for row_b in db_cur2.execute("""select edge_id from edges e, vertices v + where e.start_day = {} + and e.d_vertex_id = v.vertex_id + and v.facility_id = {} + and v.storage_vertex = 0 + group by edge_id""".format(day, facility_id)): + input_edge_id = row_b[0] + flow_in.append(flow_var[input_edge_id]) + + logger.debug( + "flow in for capacity constraint on processor facility {} day {}: {}".format(facility_id, day, flow_in)) + prob += lpSum(flow_in) <= daily_inflow_max_capacity * processor_daily_flow_vars[(facility_id, day)], \ + "constraint max flow out of processor facility {}, day {}, flow var {}".format( + facility_id, day, processor_daily_flow_vars[facility_id, day]) + + if is_candidate == 1: + # forces processor build var to be correct + # if there is flow through a candidate processor then it has to be built + prob += processor_build_vars[facility_id] >= processor_daily_flow_vars[ + (facility_id, day)], "constraint forces processor build var to be correct {}, {}".format( + facility_id, processor_build_vars[facility_id]) + + prob += lpSum(flow_in) >= daily_inflow_min_capacity * processor_daily_flow_vars[ + (facility_id, day)], "constraint min flow into processor {}, day {}".format(facility_id, day) + + logger.debug("FINISHED: create_constraint_daily_processor_capacity") + return prob + + +# =============================================================================== + + +def create_primary_processor_vertex_constraints(logger, the_scenario, prob, flow_var): + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + + logger.debug("STARTING: create_primary_processor_vertex_constraints - conservation of flow") + # for all of these vertices, flow in always == flow out + # node_counter = 0 + # node_constraint_counter = 0 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + + # total flow in == total flow out, subject to conversion; + # dividing by "required quantity" functionally converts all commodities to the same "processor-specific units" + + # processor primary vertices with input commodity and quantity needed to produce specified output quantities + # 2 sets of contraints; one for the primary processor vertex to cover total flow in and out + # one for each input and output commodity (sum over sources) to ensure its ratio matches facility_commodities + + # the current construction of this method is dependent on having only one input commodity type per processor + # this limitation makes sharing max transport distance from the input to an output commodity feasible + + logger.debug("conservation of flow and commodity ratios, primary processor vertices:") + sql = """select v.vertex_id, + (case when e.o_vertex_id = v.vertex_id then 'out' + when e.d_vertex_id = v.vertex_id then 'in' else 'error' end) in_or_out_edge, + (case when e.o_vertex_id = v.vertex_id then start_day + when e.d_vertex_id = v.vertex_id then end_day else 0 end) constraint_day, + e.commodity_id, + e.mode, + e.edge_id, + nx_edge_id, fc.quantity, v.facility_id, c.commodity_name, + fc.io, + v.activity_level, + ifnull(f.candidate, 0) candidate_check, + e.source_facility_id, + v.source_facility_id, + v.commodity_id, + c.share_max_transport_distance + from vertices v, facility_commodities fc, facility_type_id ft, commodities c, facilities f + join edges e on (v.vertex_id = e.o_vertex_id or v.vertex_id = e.d_vertex_id) + where ft.facility_type = 'processor' + and v.facility_id = f.facility_id + and ft.facility_type_id = v.facility_type_id + and storage_vertex = 0 + and v.facility_id = fc.facility_id + and fc.commodity_id = c.commodity_id + and fc.commodity_id = e.commodity_id + group by v.vertex_id, + in_or_out_edge, + constraint_day, + e.commodity_id, + e.mode, + e.edge_id, + nx_edge_id, fc.quantity, v.facility_id, c.commodity_name, + fc.io, + v.activity_level, + candidate_check, + e.source_facility_id, + v.commodity_id, + v.source_facility_id, + ifnull(c.share_max_transport_distance, 'N') + order by v.facility_id, e.source_facility_id, v.vertex_id, fc.io, e.edge_id + ;""" + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + sql_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for :") + logger.info( + "execute for processor primary vertices, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + sql_data = sql_data.fetchall() + logger.info( + "fetchall processor primary vertices, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + # Nested dictionaries + # flow_in_lists[primary_processor_vertex_id] = dict of commodities handled by that processor vertex + + # flow_in_lists[primary_processor_vertex_id][commodity1] = + # list of edge ids that flow that commodity into that vertex + + # flow_in_lists[vertex_id].values() to get all flow_in edges for all commodities, a list of lists + # if edge out commodity inherits transport distance, then source_facility id must match. if not, aggregate + + flow_in_lists = {} + flow_out_lists = {} + inherit_max_transport = {} + # inherit_max_transport[commodity_id] = 'Y' or 'N' + + for row_a in sql_data: + + vertex_id = row_a[0] + in_or_out_edge = row_a[1] + # constraint_day = row_a[2] + commodity_id = row_a[3] + # mode = row_a[4] + edge_id = row_a[5] + # nx_edge_id = row_a[6] + facility_id = row_a[8] + #====================================Modification========================================================== + # Quantity/capacity * year for yearly simulation + quantity = facility_cap_noEarthquake[facility_id-2][t+1][i]*year*float(row_a[7]) + #==================================End===================================================================== + + # commodity_name = row_a[9] + # fc_io_commodity = row_a[10] + # activity_level = row_a[11] + # is_candidate = row_a[12] + edge_source_facility_id = row_a[13] + vertex_source_facility_id = row_a[14] + # v_commodity_id = row_a[15] + inherit_max_transport_distance = row_a[16] + if commodity_id not in inherit_max_transport.keys(): + if inherit_max_transport_distance == 'Y': + inherit_max_transport[commodity_id] = 'Y' + else: + inherit_max_transport[commodity_id] = 'N' + + if in_or_out_edge == 'in': + # if the vertex isn't in the main dict yet, add it + # could have multiple source facilities + # could also have more than one input commodity now + flow_in_lists.setdefault(vertex_id, {}) + flow_in_lists[vertex_id].setdefault((commodity_id, quantity, edge_source_facility_id), []).append(flow_var[edge_id]) + # flow_in_lists[vertex_id] is itself a dict keyed on commodity, quantity (ratio) and edge_source_facility; + # value is a list of edge ids into that vertex of that commodity and edge source + + elif in_or_out_edge == 'out': + # for out-lists, could have multiple commodities as well as multiple sources + # some may have a max transport distance, inherited or independent, some may not + flow_out_lists.setdefault(vertex_id, {}) # if the vertex isn't in the main dict yet, add it + flow_out_lists[vertex_id].setdefault((commodity_id, quantity, edge_source_facility_id), []).append(flow_var[edge_id]) + + # Because we keyed on commodity, source facility tracking is merged as we pass through the processor vertex + + # 1) for each output commodity, check against an input to ensure correct ratio - only need one input + # 2) for each input commodity, check against an output to ensure correct ratio - only need one output; + # 2a) first sum sub-flows over input commodity + + # 1---------------------------------------------------------------------- + constrained_input_flow_vars = set([]) + # pdb.set_trace() + + for key, value in flow_out_lists.iteritems(): + #value is a dictionary with commodity & source as keys + # set up a dictionary that will be filled with input lists to check ratio against + compare_input_dict = {} + compare_input_dict_commod = {} + vertex_id = key + zero_in = False + #value is a dictionary keyed on output commodity, quantity required, edge source + if vertex_id in flow_in_lists: + in_quantity = 0 + in_commodity_id = 0 + in_source_facility_id = -1 + for ikey, ivalue in flow_in_lists[vertex_id].iteritems(): + in_commodity_id = ikey[0] + in_quantity = ikey[1] + in_source = ikey[2] + # list of edges + compare_input_dict[in_source] = ivalue + # to accommodate and track multiple input commodities; does not keep sources separate + # aggregate lists over sources, by commodity + if in_commodity_id not in compare_input_dict_commod.keys(): + compare_input_dict_commod[in_commodity_id] = set([]) + for edge in ivalue: + compare_input_dict_commod[in_commodity_id].add(edge) + else: + zero_in = True + + + # value is a dict - we loop once here for each output commodity and source at the vertex + for key2, value2 in value.iteritems(): + out_commodity_id = key2[0] + out_quantity = key2[1] + out_source = key2[2] + # edge_list = value2 + flow_var_list = value2 + # if we need to match source facility, there is only one set of input lists + # otherwise, use all input lists - this aggregates sources + # need to keep commodities separate, units may be different + # known issue - we could have double-counting problems if only some outputs have to inherit max + # transport distance through this facility + match_source = inherit_max_transport[out_commodity_id] + compare_input_list = [] + if match_source == 'Y': + if len(compare_input_dict_commod.keys()) >1: + error = "Multiple input commodities for processors and shared max transport distance are" \ + " not supported within the same scenario." + logger.error(error) + raise Exception(error) + + if out_source in compare_input_dict.keys(): + compare_input_list = compare_input_dict[out_source] + # if no valid input edges - none for vertex, or if output needs to match source and there are no + # matching source + if zero_in or (match_source == 'Y' and len(compare_input_list) == 0): + prob += lpSum( + flow_var_list) == 0, "processor flow, vertex {} has zero in so zero out of commodity {} " \ + "with source {} if applicable".format( + vertex_id, out_commodity_id, out_source) + else: + if match_source == 'Y': + # ratio constraint for this output commodity relative to total input of each commodity + required_flow_out = lpSum(flow_var_list) / out_quantity + # check against an input dict + prob += required_flow_out == lpSum( + compare_input_list) / in_quantity, "processor flow, vertex {}, source_facility {}," \ + " commodity {} output quantity" \ + " checked against single input commodity quantity".format( + vertex_id, out_source, out_commodity_id, in_commodity_id) + for flow_var in compare_input_list: + constrained_input_flow_vars.add(flow_var) + else: + for k, v in compare_input_dict_commod.iteritems(): + # pdb.set_trace() + # as long as the input source doesn't match an output that needs to inherit + compare_input_list = list(v) + in_commodity_id = k + # ratio constraint for this output commodity relative to total input of each commodity + required_flow_out = lpSum(flow_var_list) / out_quantity + # check against an input dict + prob += required_flow_out == lpSum( + compare_input_list) / in_quantity, "processor flow, vertex {}, source_facility {}," \ + " commodity {} output quantity" \ + " checked against commodity {} input quantity".format( + vertex_id, out_source, out_commodity_id, in_commodity_id) + for flow_var in compare_input_list: + constrained_input_flow_vars.add(flow_var) + + for key, value in flow_in_lists.iteritems(): + vertex_id = key + for key2, value2 in value.iteritems(): + commodity_id = key2[0] + # out_quantity = key2[1] + source = key2[2] + # edge_list = value2 + flow_var_list = value2 + for flow_var in flow_var_list: + if flow_var not in constrained_input_flow_vars: + prob += flow_var == 0, "processor flow, vertex {} has no matching out edges so zero in of " \ + "commodity {} with source {}".format( + vertex_id, commodity_id, source) + + logger.debug("FINISHED: create_primary_processor_conservation_of_flow_constraints") + return prob + + +# =============================================================================== + + +def create_constraint_conservation_of_flow(logger, the_scenario, prob, flow_var, processor_excess_vars): + logger.debug("STARTING: create_constraint_conservation_of_flow") + # node_counter = 0 + node_constraint_counter = 0 + storage_vertex_constraint_counter = 0 + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + + logger.info("conservation of flow, storage vertices:") + # storage vertices, any facility type + # these have at most one direction of transport edges, so no need to track mode + sql = """select v.vertex_id, + (case when e.o_vertex_id = v.vertex_id then 'out' + when e.d_vertex_id = v.vertex_id then 'in' else 'error' end) in_or_out_edge, + (case when e.o_vertex_id = v.vertex_id then start_day + when e.d_vertex_id = v.vertex_id then end_day else 0 end) constraint_day, + v.commodity_id, + e.edge_id, + nx_edge_id, v.facility_id, c.commodity_name, + v.activity_level, + ft.facility_type + + from vertices v, facility_type_id ft, commodities c, facilities f + join edges e on ((v.vertex_id = e.o_vertex_id or v.vertex_id = e.d_vertex_id) + and (e.o_vertex_id = v.vertex_id or e.d_vertex_id = v.vertex_id) and v.commodity_id = e.commodity_id) + + where v.facility_id = f.facility_id + and ft.facility_type_id = v.facility_type_id + and storage_vertex = 1 + and v.commodity_id = c.commodity_id + + group by v.vertex_id, + in_or_out_edge, + constraint_day, + v.commodity_id, + e.edge_id, + nx_edge_id,v.facility_id, c.commodity_name, + v.activity_level + + order by v.facility_id, v.vertex_id, e.edge_id + ;""" + + # get the data from sql and see how long it takes. + logger.info("Starting the long step:") + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + vertexid_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for :") + logger.info("execute for storage vertices, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + vertexid_data = vertexid_data.fetchall() + logger.info( + "fetchall nodes with no location id, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_in_lists = {} + flow_out_lists = {} + for row_v in vertexid_data: + vertex_id = row_v[0] + in_or_out_edge = row_v[1] + constraint_day = row_v[2] + commodity_id = row_v[3] + edge_id = row_v[4] + # nx_edge_id = row_v[5] + # facility_id = row_v[6] + # commodity_name = row_v[7] + # activity_level = row_v[8] + facility_type = row_v[9] + + if in_or_out_edge == 'in': + flow_in_lists.setdefault((vertex_id, commodity_id, constraint_day, facility_type), []).append( + flow_var[edge_id]) + elif in_or_out_edge == 'out': + flow_out_lists.setdefault((vertex_id, commodity_id, constraint_day, facility_type), []).append( + flow_var[edge_id]) + + logger.info("adding processor excess variabless to conservation of flow") + for key, value in flow_out_lists.iteritems(): + vertex_id = key[0] + # commodity_id = key[1] + # day = key[2] + facility_type = key[3] + if facility_type == 'processor': + flow_out_lists.setdefault(key, []).append(processor_excess_vars[vertex_id]) + + for key, value in flow_out_lists.iteritems(): + + if key in flow_in_lists: + prob += lpSum(flow_out_lists[key]) == lpSum( + flow_in_lists[key]), "conservation of flow, vertex {}, commodity {}, day {}".format(key[0], key[1], + key[2]) + storage_vertex_constraint_counter = storage_vertex_constraint_counter + 1 + else: + prob += lpSum(flow_out_lists[key]) == lpSum( + 0), "conservation of flow (zero out), vertex {}, commodity {}, day {}".format(key[0], key[1], + key[2]) + storage_vertex_constraint_counter = storage_vertex_constraint_counter + 1 + + for key, value in flow_in_lists.iteritems(): + + if key not in flow_out_lists: + prob += lpSum(flow_in_lists[key]) == lpSum( + 0), "conservation of flow (zero in), vertex {}, commodity {}, day {}".format(key[0], key[1], + key[2]) + storage_vertex_constraint_counter = storage_vertex_constraint_counter + 1 + + logger.info( + "total conservation of flow constraints created on nodes: {}".format(storage_vertex_constraint_counter)) + + logger.info("conservation of flow, nx_nodes:") + + # for each day, get all edges in and out of the node. + # Sort edges by commodity and whether they're going in or out of the node + sql = """select nn.node_id, + (case when e.from_node_id = nn.node_id then 'out' + when e.to_node_id = nn.node_id then 'in' else 'error' end) in_or_out_edge, + (case when e.from_node_id = nn.node_id then start_day + when e.to_node_id = nn.node_id then end_day else 0 end) constraint_day, + e.commodity_id, + ifnull(mode, 'NULL'), + e.edge_id, nx_edge_id, + miles, + (case when ifnull(nn.source, 'N') == 'intermodal' then 'Y' else 'N' end) intermodal_flag, + e.source_facility_id, + e.commodity_id + from networkx_nodes nn + join edges e on (nn.node_id = e.from_node_id or nn.node_id = e.to_node_id) + where nn.location_id is null + order by nn.node_id, e.commodity_id, + (case when e.from_node_id = nn.node_id then start_day + when e.to_node_id = nn.node_id then end_day else 0 end), + in_or_out_edge, e.source_facility_id, e.commodity_id + ;""" + + logger.info("Starting the long step:") + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + nodeid_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for :") + logger.info( + "execute for nodes with no location id, with their in and out edges - Total Runtime (HMS): \t{} \t " + "".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + nodeid_data = nodeid_data.fetchall() + logger.info( + "fetchall nodes with no location id, with their in and out edges - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_in_lists = {} + flow_out_lists = {} + + for row_a in nodeid_data: + node_id = row_a[0] + in_or_out_edge = row_a[1] + constraint_day = row_a[2] + # commodity_id = row_a[3] + mode = row_a[4] + edge_id = row_a[5] + # nx_edge_id = row_a[6] + # miles = row_a[7] + intermodal = row_a[8] + source_facility_id = row_a[9] + commodity_id = row_a[10] + + # node_counter = node_counter +1 + # if node is not intermodal, conservation of flow holds per mode; + # if intermodal, then across modes + if intermodal == 'N': + if in_or_out_edge == 'in': + flow_in_lists.setdefault( + (node_id, intermodal, source_facility_id, constraint_day, commodity_id, mode), []).append( + flow_var[edge_id]) + elif in_or_out_edge == 'out': + flow_out_lists.setdefault( + (node_id, intermodal, source_facility_id, constraint_day, commodity_id, mode), []).append( + flow_var[edge_id]) + else: + if in_or_out_edge == 'in': + flow_in_lists.setdefault((node_id, intermodal, source_facility_id, constraint_day, commodity_id), + []).append(flow_var[edge_id]) + elif in_or_out_edge == 'out': + flow_out_lists.setdefault((node_id, intermodal, source_facility_id, constraint_day, commodity_id), + []).append(flow_var[edge_id]) + + for key, value in flow_out_lists.iteritems(): + node_id = key[0] + # intermodal_flag = key[1] + source_facility_id = key[2] + day = key[3] + commodity_id = key[4] + if len(key) == 6: + node_mode = key[5] + else: + node_mode = 'intermodal' + if key in flow_in_lists: + prob += lpSum(flow_out_lists[key]) == lpSum(flow_in_lists[ + key]), "conservation of flow, nx node {}, " \ + "source facility {}, commodity {}, " \ + "day {}, mode {}".format( + node_id, source_facility_id, commodity_id, day, node_mode) + node_constraint_counter = node_constraint_counter + 1 + else: + prob += lpSum(flow_out_lists[key]) == lpSum( + 0), "conservation of flow (zero out), nx node {}, source facility {}, commodity {}, day {}," \ + " mode {}".format(node_id, source_facility_id, commodity_id, day, node_mode) + node_constraint_counter = node_constraint_counter + 1 + + for key, value in flow_in_lists.iteritems(): + node_id = key[0] + # intermodal_flag = key[1] + source_facility_id = key[2] + day = key[3] + commodity_id = key[4] + if len(key) == 6: + node_mode = key[5] + else: + node_mode = 'intermodal' + + if key not in flow_out_lists: + prob += lpSum(flow_in_lists[key]) == lpSum( + 0), "conservation of flow (zero in), nx node {}, source facility {}, commodity {}, day {}," \ + " mode {}".format(node_id, source_facility_id, commodity_id, day, node_mode) + node_constraint_counter = node_constraint_counter + 1 + + logger.info("total conservation of flow constraints created on nodes: {}".format(node_constraint_counter)) + + # Note: no consesrvation of flow for primary vertices for supply & demand - they have unique constraints + + logger.debug("FINISHED: create_constraint_conservation_of_flow") + + return prob + + +# =============================================================================== + + +def create_constraint_max_route_capacity(logger, the_scenario, prob, flow_var): + logger.info("STARTING: create_constraint_max_route_capacity") + logger.info("modes with background flow turned on: {}".format(the_scenario.backgroundFlowModes)) + # min_capacity_level must be a number from 0 to 1, inclusive + # min_capacity_level is only relevant when background flows are turned on + # it sets a floor to how much capacity can be reduced by volume. + # min_capacity_level = .25 means route capacity will never be less than 25% of full capacity, + # even if "volume" would otherwise restrict it further + # min_capacity_level = 0 allows a route to be made unavailable for FTOT flow if base volume is too high + # this currently applies to all modes + logger.info("minimum available capacity floor set at: {}".format(the_scenario.minCapacityLevel)) + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + # capacity for storage routes + sql = """select + rr.route_id, sr.storage_max, sr.route_name, e.edge_id, e.start_day + from route_reference rr + join storage_routes sr on sr.route_name = rr.route_name + join edges e on rr.route_id = e.route_id + ;""" + # get the data from sql and see how long it takes. + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + storage_edge_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for storage edges:") + logger.info("execute for edges for storage - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + storage_edge_data = storage_edge_data.fetchall() + logger.info("fetchall edges for storage - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_lists = {} + + for row_a in storage_edge_data: + route_id = row_a[0] + aggregate_storage_capac = 0.2*row_a[1] + storage_route_name = row_a[2] + edge_id = row_a[3] + start_day = row_a[4] + + flow_lists.setdefault((route_id, aggregate_storage_capac, storage_route_name, start_day), []).append( + flow_var[edge_id]) + + for key, flow in flow_lists.iteritems(): + prob += lpSum(flow) <= key[1], "constraint max flow on storage route {} named {} for day {}".format(key[0], + key[2], + key[3]) + + logger.debug("route_capacity constraints created for all storage routes") + + # capacity for transport routes + # Assumption - all flowing material is in kgal, all flow is summed on a single non-pipeline nx edge + sql = """select e.edge_id, e.nx_edge_id, e.max_edge_capacity, e.start_day, e.simple_mode, e.phase_of_matter, + e.capac_minus_volume_zero_floor + from edges e + where e.max_edge_capacity is not null + and e.simple_mode != 'pipeline' + ;""" + # get the data from sql and see how long it takes. + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + route_capac_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for transport edges:") + logger.info("execute for non-pipeline edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + route_capac_data = route_capac_data.fetchall() + logger.info("fetchall non-pipeline edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_lists = {} + + for row_a in route_capac_data: + edge_id = row_a[0] + nx_edge_id = row_a[1] + nx_edge_capacity = row_a[2] + start_day = row_a[3] + simple_mode = row_a[4] + phase_of_matter = row_a[5] + capac_minus_background_flow = max(row_a[6], 0) + min_restricted_capacity = max(capac_minus_background_flow, nx_edge_capacity * the_scenario.minCapacityLevel) + + if simple_mode in the_scenario.backgroundFlowModes: + use_capacity = min_restricted_capacity + else: + use_capacity = nx_edge_capacity + + # flow is in thousand gallons (kgal), for liquid, or metric tons, for solid + # capacity is in truckload, rail car, barge, or pipeline movement per day + # if mode is road and phase is liquid, capacity is in truckloads per day, we want it in kgal + # ftot_supporting_gis tells us that there are 8 kgal per truckload, + # so capacity * 8 gives us correct units or kgal per day + # => use capacity * ftot_supporting_gis multiplier to get capacity in correct flow units + + multiplier = 1 # if units match, otherwise specified here + if simple_mode == 'road': + if phase_of_matter == 'liquid': + multiplier = the_scenario.truck_load_liquid.magnitude + elif phase_of_matter == 'solid': + multiplier = the_scenario.truck_load_solid.magnitude + elif simple_mode == 'water': + if phase_of_matter == 'liquid': + multiplier = the_scenario.barge_load_liquid.magnitude + elif phase_of_matter == 'solid': + multiplier = the_scenario.barge_load_solid.magnitude + elif simple_mode == 'rail': + if phase_of_matter == 'liquid': + multiplier = the_scenario.railcar_load_liquid.magnitude + elif phase_of_matter == 'solid': + multiplier = the_scenario.railcar_load_solid.magnitude + + converted_capacity = use_capacity * multiplier + + flow_lists.setdefault((nx_edge_id, converted_capacity, start_day), []).append(flow_var[edge_id]) + + for key, flow in flow_lists.iteritems(): + prob += lpSum(flow) <= key[1], "constraint max flow on nx edge {} for day {}".format(key[0], key[2]) + + logger.debug("route_capacity constraints created for all non-pipeline transport routes") + + logger.debug("FINISHED: create_constraint_max_route_capacity") + return prob + + +# =============================================================================== + + +def create_constraint_pipeline_capacity(logger, the_scenario, prob, flow_var): + logger.debug("STARTING: create_constraint_pipeline_capacity") + logger.debug("Length of flow_var: {}".format(len(flow_var.items()))) + logger.info("modes with background flow turned on: {}".format(the_scenario.backgroundFlowModes)) + logger.info("minimum available capacity floor set at: {}".format(the_scenario.minCapacityLevel)) + + with sqlite3.connect(the_scenario.main_db) as main_db_con: + db_cur = main_db_con.cursor() + + # capacity for pipeline tariff routes + # with sasc, may have multiple flows per segment, slightly diff commodities + sql = """select e.edge_id, e.tariff_id, l.link_id, l.capac, e.start_day, l.capac-l.background_flow allowed_flow, + l.source, e.mode, instr(e.mode, l.source) + from edges e, pipeline_mapping pm, + (select id_field_name, cn.source_OID as link_id, min(cn.capacity) capac, + max(cn.volume) background_flow, source + from capacity_nodes cn + where cn.id_field_name = 'MASTER_OID' + and ifnull(cn.capacity,0)>0 + group by link_id) l + + where e.tariff_id = pm.id + and pm.id_field_name = 'tariff_ID' + and pm.mapping_id_field_name = 'MASTER_OID' + and l.id_field_name = 'MASTER_OID' + and pm.mapping_id = l.link_id + and instr(e.mode, l.source)>0 + group by e.edge_id, e.tariff_id, l.link_id, l.capac, e.start_day, allowed_flow, l.source + ;""" + # capacity needs to be shared over link_id for any edge_id associated with that link + + logger.info("Starting the execute") + execute_start_time = datetime.datetime.now() + pipeline_capac_data = db_cur.execute(sql) + logger.info("Done with the execute fetch all for transport edges:") + logger.info("execute for edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(execute_start_time))) + + logger.info("Starting the fetchall") + fetchall_start_time = datetime.datetime.now() + pipeline_capac_data = pipeline_capac_data.fetchall() + logger.info("fetchall edges for transport edge capacity - Total Runtime (HMS): \t{} \t ".format( + get_total_runtime_string(fetchall_start_time))) + + flow_lists = {} + + for row_a in pipeline_capac_data: + edge_id = row_a[0] + # tariff_id = row_a[1] + link_id = row_a[2] + # Link capacity is recorded in "thousand barrels per day"; 1 barrel = 42 gall + # Link capacity * 42 is now in kgal per day, to match flow in kgal + link_capacity_kgal_per_day = THOUSAND_GALLONS_PER_THOUSAND_BARRELS * row_a[3] + start_day = row_a[4] + capac_minus_background_flow_kgal = max(THOUSAND_GALLONS_PER_THOUSAND_BARRELS * row_a[5], 0) + min_restricted_capacity = max(capac_minus_background_flow_kgal, + link_capacity_kgal_per_day * the_scenario.minCapacityLevel) + + # capacity_nodes_mode_source = row_a[6] + edge_mode = row_a[7] + # mode_match_check = row_a[8] + if 'pipeline' in the_scenario.backgroundFlowModes: + link_use_capacity = min_restricted_capacity + else: + link_use_capacity = link_capacity_kgal_per_day + + # add flow from all relevant edges, for one start; may be multiple tariffs + flow_lists.setdefault((link_id, link_use_capacity, start_day, edge_mode), []).append(flow_var[edge_id]) + + for key, flow in flow_lists.iteritems(): + prob += lpSum(flow) <= key[1], "constraint max flow on pipeline link {} for mode {} for day {}".format( + key[0], key[3], key[2]) + + logger.debug("pipeline capacity constraints created for all transport routes") + + logger.debug("FINISHED: create_constraint_pipeline_capacity") + return prob + + +# =============================================================================== + + +def setup_pulp_problem(the_scenario, logger): + logger.info("START: setup PuLP problem") + + # flow_var is the flow on each edge by commodity and day. + # the optimal value of flow_var will be solved by PuLP + flow_vars = create_flow_vars(the_scenario, logger) + + # unmet_demand_var is the unmet demand at each destination, being determined + unmet_demand_vars = create_unmet_demand_vars(the_scenario, logger) + + # processor_build_vars is the binary variable indicating whether a candidate processor is used + # and thus whether its build cost is charged + processor_build_vars = create_candidate_processor_build_vars(the_scenario, logger) + + # binary tracker variables + processor_vertex_flow_vars = create_binary_processor_vertex_flow_vars(the_scenario, logger) + + # tracking unused production + processor_excess_vars = create_processor_excess_output_vars(the_scenario, logger) + + # THIS IS THE OBJECTIVE FUCTION FOR THE OPTIMIZATION + # ================================================== + + prob = create_opt_problem(logger, the_scenario, unmet_demand_vars, flow_vars, processor_build_vars) + logger.debug("MNP DEBUG: size of prob: {}".format(sys.getsizeof(prob))) + + prob = create_constraint_unmet_demand(logger, the_scenario, prob, flow_vars, unmet_demand_vars) + logger.debug("MNP DEBUG: size of prob: {}".format(sys.getsizeof(prob))) + + prob = create_constraint_max_flow_out_of_supply_vertex(logger, the_scenario, prob, flow_vars) + + # This constraint is being excluded because 1) it is not used in current scenarios and 2) it is not supported by + # this version - it conflicts with the change permitting multiple inputs + prob = create_constraint_daily_processor_capacity(logger, the_scenario, prob, flow_vars, processor_build_vars, + processor_vertex_flow_vars) + + prob = create_primary_processor_vertex_constraints(logger, the_scenario, prob, flow_vars) + + prob = create_constraint_conservation_of_flow(logger, the_scenario, prob, flow_vars, processor_excess_vars) + + if the_scenario.capacityOn: + prob = create_constraint_max_route_capacity(logger, the_scenario, prob, flow_vars) + + prob = create_constraint_pipeline_capacity(logger, the_scenario, prob, flow_vars) + + del unmet_demand_vars + + del flow_vars + + # The problem data is written to an .lp file + prob.writeLP(os.path.join(the_scenario.scenario_run_directory, "debug", "LP_output_c2.lp")) + + logger.info("FINISHED: setup PuLP problem") + return prob + + +# =============================================================================== + + +def solve_pulp_problem(prob_final, the_scenario, logger): + import datetime + + logger.info("START: solve_pulp_problem") + start_time = datetime.datetime.now() + from os import dup, dup2, close + f = open(os.path.join(the_scenario.scenario_run_directory, "debug", 'probsolve_capture.txt'), 'w') + orig_std_out = dup(1) + dup2(f.fileno(), 1) + + # status = prob_final.solve (PULP_CBC_CMD(maxSeconds = i_max_sec, fracGap = d_opt_gap, msg=1)) + # CBC time limit and relative optimality gap tolerance + status = prob_final.solve(PULP_CBC_CMD(msg=1)) # CBC time limit and relative optimality gap tolerance + print('Completion code: %d; Solution status: %s; Best obj value found: %s' % ( + status, LpStatus[prob_final.status], value(prob_final.objective))) + + dup2(orig_std_out, 1) + close(orig_std_out) + f.close() + # The problem is solved using PuLP's choice of Solver + + logger.info("completed calling prob.solve()") + logger.info( + "FINISH: prob.solve(): Runtime (HMS): \t{}".format(ftot_supporting.get_total_runtime_string(start_time))) + + # THIS IS THE SOLUTION + + # The status of the solution is printed to the screen + ##LpStatus key string value numerical value + ##LpStatusOptimal ?Optimal? 1 + ##LpStatusNotSolved ?Not Solved? 0 + ##LpStatusInfeasible ?Infeasible? -1 + ##LpStatusUnbounded ?Unbounded? -2 + ##LpStatusUndefined ?Undefined? -3 + logger.result("prob.Status: \t {}".format(LpStatus[prob_final.status])) + + logger.result( + "Total Scenario Cost = (transportation + unmet demand penalty + processor construction + operation): \t ${0:,.0f}".format( + float(value(prob_final.objective)))) + + return prob_final + + +# =============================================================================== + + +def pickle_prob(input_prob, save_file_name,the_scenario, logger): + logger.info("START: pickle_prob") + # save_file_name should be .p type, ex. "constrained_prob.p" + import cPickle as pickle + + pickle.dump(input_prob, open(os.path.join(the_scenario.scenario_run_directory, "debug", save_file_name), "wb"), protocol=2) + + return + + +# =============================================================================== + + +def load_pickled_prob(save_file_name,the_scenario, logger): + logger.info("START: load_pickled_prob") + # save_file_name should be .p type, ex. "constrained_prob.p" + import cPickle as pickle + + prob = pickle.load(open(os.path.join(the_scenario.scenario_run_directory, "debug", save_file_name), "rb")) + + return prob + + +# =============================================================================== + +def save_pulp_solution(the_scenario, prob, logger): + import datetime + i = np.load("scenario_num.npy") + t = np.load("time_horizon.npy") + #unmet_demand_yearly = np.load("unmet_demand_yearly.npy") + #costs_yearly = np.load("costs_yearly.npy") + logger.info("scenario {}".format(i)) + logger.info("time horizon {}".format(t)) + #logger.info("unmet_demand_yearly: {}".format(unmet_demand_yearly)) + #logger.info("costs_yearly: {}".format(costs_yearly)) + + logger.info("START: save_pulp_solution") + non_zero_variable_count = 0 + + with sqlite3.connect(the_scenario.main_db) as db_con: + + db_cur = db_con.cursor() + # drop the optimal_solution table + # ----------------------------- + db_cur.executescript("drop table if exists optimal_solution;") + + # create the optimal_solution table + # ----------------------------- + db_cur.executescript(""" + create table optimal_solution + ( + variable_name string, + variable_value real + ); + """) + + # insert the optimal data into the DB + # ------------------------------------- + for v in prob.variables(): + sql = """insert into optimal_solution (variable_name, variable_value) values ("{}", {});""".format( + v.name, float(v.varValue)) + db_con.execute(sql) + non_zero_variable_count = non_zero_variable_count + 1 + + logger.info("number of solution variables greater non zero: {}".format(non_zero_variable_count)) + sql = """ + create table optimal_variables as + select + 'UnmetDemand' as variable_type, + cast(substr(variable_name, 13) as int) var_id, + variable_value, + null as converted_capacity, + null as converted_volume, + null as converted_capac_minus_volume, + null as edge_type, + null as commodity_name, + null as o_facility, + 'placeholder' as d_facility, + null as o_vertex_id, + null as d_vertex_id, + null as from_node_id, + null as to_node_id, + null as time_period, + null as commodity_id, + null as source_facility_id, + null as source_facility_name, + null as units, + variable_name, + null as nx_edge_id, + null as mode, + null as mode_oid, + null as miles, + null as original_facility, + null as final_facility, + null as prior_edge, + null as miles_travelled + from optimal_solution + where variable_name like 'UnmetDemand%' + union + select + 'Edge' as variable_type, + cast(substr(variable_name, 6) as int) var_id, + variable_value, + edges.max_edge_capacity*edges.units_conversion_multiplier as converted_capacity, + edges.volume*edges.units_conversion_multiplier as converted_volume, + edges.capac_minus_volume_zero_floor*edges.units_conversion_multiplier as converted_capac_minus_volume, + edges.edge_type, + commodities.commodity_name, + ov.facility_name as o_facility, + dv.facility_name as d_facility, + o_vertex_id, + d_vertex_id, + from_node_id, + to_node_id, + start_day time_period, + edges.commodity_id, + edges.source_facility_id, + s.source_facility_name, + commodities.units, + variable_name, + edges.nx_edge_id, + edges.mode, + edges.mode_oid, + edges.miles, + null as original_facility, + null as final_facility, + null as prior_edge, + edges.miles_travelled as miles_travelled + from optimal_solution + join edges on edges.edge_id = cast(substr(variable_name, 6) as int) + join commodities on edges.commodity_id = commodities.commodity_ID + left outer join vertices as ov on edges.o_vertex_id = ov.vertex_id + left outer join vertices as dv on edges.d_vertex_id = dv.vertex_id + left outer join source_commodity_ref as s on edges.source_facility_id = s.source_facility_id + where variable_name like 'Edge%' + union + select + 'BuildProcessor' as variable_type, + cast(substr(variable_name, 16) as int) var_id, + variable_value, + null as converted_capacity, + null as converted_volume, + null as converted_capac_minus_volume, + null as edge_type, + null as commodity_name, + 'placeholder' as o_facility, + 'placeholder' as d_facility, + null as o_vertex_id, + null as d_vertex_id, + null as from_node_id, + null as to_node_id, + null as time_period, + null as commodity_id, + null as source_facility_id, + null as source_facility_name, + null as units, + variable_name, + null as nx_edge_id, + null as mode, + null as mode_oid, + null as miles, + null as original_facility, + null as final_facility, + null as prior_edge, + null as miles_travelled + from optimal_solution + where variable_name like 'Build%'; + """ + db_con.execute("drop table if exists optimal_variables;") + db_con.execute(sql) + + # query the optimal_solution table in the DB for each variable we care about + # ---------------------------------------------------------------------------- + sql = "select count(variable_name) from optimal_solution where variable_name like 'BuildProcessor%';" + data = db_con.execute(sql) + optimal_processors_count = data.fetchone()[0] + logger.info("number of optimal_processors: {}".format(optimal_processors_count)) + + sql = "select count(variable_name) from optimal_solution where variable_name like 'UnmetDemand%';" + data = db_con.execute(sql) + optimal_unmet_demand_count = data.fetchone()[0] + logger.info("number facilities with optimal_unmet_demand : {}".format(optimal_unmet_demand_count)) + + sql = "select ifnull(sum(variable_value),0) from optimal_solution where variable_name like 'UnmetDemand%';" + data = db_con.execute(sql) + optimal_unmet_demand_sum = data.fetchone()[0] + unmet_demand_yearly = optimal_unmet_demand_sum + np.save("unmet_demand_yearly.npy", unmet_demand_yearly) + + logger.info("Total Unmet Demand : {}".format(optimal_unmet_demand_sum)) + + logger.info("Penalty per unit of Unmet Demand : ${0:,.0f}".format(the_scenario.unMetDemandPenalty)) + logger.info("Total Cost of Unmet Demand : \t ${0:,.0f}".format( + optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty)) + + logger.info("Total Cost of resilience : \t ${0:,.0f}".format( + float(value(prob.objective)) - initial_cost_yearly)) + #=================================non consider the UDP when UD < 0============================ + if optimal_unmet_demand_sum < 0: + costs_yearly = float(value(prob.objective))- optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty + logger.result( + "Total Scenario Cost = initial cost + weight * resilience cost: \t ${0:,.0f}" + "".format(float(value(prob.objective))- optimal_unmet_demand_sum * the_scenario.unMetDemandPenalty)) + else: + costs_yearly = float(value(prob.objective)) + logger.result( + "Total Scenario Cost = initial cost + weight * resilience cost: \t ${0:,.0f}" + "".format(float(value(prob.objective)))) + np.save("costs_yearly.npy", costs_yearly) + + #============================================================================================= + + sql = "select count(variable_name) from optimal_solution where variable_name like 'Edge%';" + data = db_con.execute(sql) + optimal_edges_count = data.fetchone()[0] + logger.info("number of optimal edges: {}".format(optimal_edges_count)) + + start_time = datetime.datetime.now() + logger.info( + "FINISH: save_pulp_solution: Runtime (HMS): \t{}".format(ftot_supporting.get_total_runtime_string(start_time))) + + +# =============================================================================== + + +def parse_optimal_solution_db(the_scenario, logger): + logger.info("starting parse_optimal_solution") + + optimal_processors = [] + optimal_processor_flows = [] + optimal_route_flows = {} + optimal_unmet_demand = {} + optimal_storage_flows = {} + optimal_excess_material = {} + + with sqlite3.connect(the_scenario.main_db) as db_con: + + # do the Storage Edges + sql = "select variable_name, variable_value from optimal_solution where variable_name like 'Edge%_storage';" + data = db_con.execute(sql) + optimal_storage_edges = data.fetchall() + for edge in optimal_storage_edges: + optimal_storage_flows[edge] = optimal_storage_edges[edge] + + # do the Route Edges + sql = """select + variable_name, variable_value, + cast(substr(variable_name, 6) as int) edge_id, + route_id, start_day time_period, edges.commodity_id, + o_vertex_id, d_vertex_id, + v1.facility_id o_facility_id, + v2.facility_id d_facility_id + from optimal_solution + join edges on edges.edge_id = cast(substr(variable_name, 6) as int) + join vertices v1 on edges.o_vertex_id = v1.vertex_id + join vertices v2 on edges.d_vertex_id = v2.vertex_id + where variable_name like 'Edge%_' and variable_name not like 'Edge%_storage'; + """ + data = db_con.execute(sql) + optimal_route_edges = data.fetchall() + for edge in optimal_route_edges: + + variable_name = edge[0] + + variable_value = edge[1] + + edge_id = edge[2] + + route_id = edge[3] + + time_period = edge[4] + + commodity_flowed = edge[5] + + od_pair_name = "{}, {}".format(edge[8], edge[9]) + + # first time route_id is used on a day or commodity + if route_id not in optimal_route_flows: + optimal_route_flows[route_id] = [[od_pair_name, time_period, commodity_flowed, variable_value]] + + else: # subsequent times route is used on different day or for other commodity + optimal_route_flows[route_id].append([od_pair_name, time_period, commodity_flowed, variable_value]) + + # do the processors + sql = "select variable_name, variable_value from optimal_solution where variable_name like 'BuildProcessor%';" + data = db_con.execute(sql) + optimal_candidates_processors = data.fetchall() + for proc in optimal_candidates_processors: + optimal_processors.append(proc) + + # do the processor vertex flows + sql = "select variable_name, variable_value from optimal_solution where variable_name like 'ProcessorVertexFlow%';" + data = db_con.execute(sql) + optimal_processor_flows_sql = data.fetchall() + for proc in optimal_processor_flows_sql: + optimal_processor_flows.append(proc) + + # do the UnmetDemand + sql = "select variable_name, variable_value from optimal_solution where variable_name like 'UnmetDemand%';" + data = db_con.execute(sql) + optimal_unmetdemand = data.fetchall() + for ultimate_destination in optimal_unmetdemand: + v_name = ultimate_destination[0] + v_value = ultimate_destination[1] + + search = re.search('\(.*\)', v_name.replace("'", "")) + + if search: + parts = search.group(0).replace("(", "").replace(")", "").split(",_") + + dest_name = parts[0] + commodity_flowed = parts[2] + if not dest_name in optimal_unmet_demand: + optimal_unmet_demand[dest_name] = {} + + if not commodity_flowed in optimal_unmet_demand[dest_name]: + optimal_unmet_demand[dest_name][commodity_flowed] = int(v_value) + else: + optimal_unmet_demand[dest_name][commodity_flowed] += int(v_value) + + + logger.info("length of optimal_processors list: {}".format(len(optimal_processors))) # a list of optimal processors + logger.info("length of optimal_processor_flows list: {}".format( + len(optimal_processor_flows))) # a list of optimal processor flows + logger.info("length of optimal_route_flows dict: {}".format( + len(optimal_route_flows))) # a dictionary of routes keys and commodity flow values + logger.info("length of optimal_unmet_demand dict: {}".format( + len(optimal_unmet_demand))) # a dictionary of route keys and unmet demand values + + return optimal_processors, optimal_route_flows, optimal_unmet_demand, optimal_storage_flows, optimal_excess_material + + +# =============================================================================== + +# +# def load_lp_problem(the_scenario, logger): +# logger.info("START: load_lp_problem") +# pickle_file = os.path.join(the_scenario.scenario_run_directory, "debug", "final_lp_problem.p") +# reconstituted_lp_file = pickle.load(open(pickle_file, "rb")).copy() +# +# return reconstituted_lp_file +# +# +# # =============================================================================== +# +# +# def persist_lp_problem(the_scenario, prob, logger): +# logger.info("START: persist_lp_problem") +# # pickle the final lp problem object so it can be read back in later +# pickle.dump(prob, open(os.path.join(the_scenario.scenario_run_directory, "debug", "final_lp_problem.p"), "wb")) diff --git a/program/ftot_report.py b/program/ftot_report.py index 9b596d3..d81b47c 100644 --- a/program/ftot_report.py +++ b/program/ftot_report.py @@ -49,19 +49,8 @@ def prepare_tableau_assets(report_file, the_scenario, logger): expression_type="PYTHON_9.3", code_block="") # merge facility type FCs - facilities_merge_fc = os.path.join(report_directory, "tableau_output.gdb", "facilities_merge") arcpy.Merge_management([the_scenario.destinations_fc, the_scenario.rmp_fc, the_scenario.processors_fc], - facilities_merge_fc) - - # add the scenario_name in the facilities_merge - arcpy.AddField_management(facilities_merge_fc, - "Scenario_Name", - "TEXT") - arcpy.CalculateField_management(in_table=facilities_merge_fc, field="Scenario_Name", - expression='"{}".format(the_scenario.scenario_name)', - expression_type="PYTHON_9.3", code_block="") - - + os.path.join(report_directory, "tableau_output.gdb", "facilities_merge")) # copy optimized_route_segments_disolved (aka: ORSD) output_ORSD = os.path.join(report_directory, "tableau_output.gdb", "optimized_route_segments_dissolved") @@ -77,37 +66,6 @@ def prepare_tableau_assets(report_file, the_scenario, logger): expression='"{}_{} ".format(!OBJECTID!, !NET_SOURCE_NAME!)', expression_type="PYTHON_9.3", code_block="") - # add the scenario_name in the optimized_route_segments_dissolved_fc (output_ORSD) - arcpy.AddField_management(output_ORSD, - "Scenario_Name", - "TEXT") - arcpy.CalculateField_management(in_table=output_ORSD, field="Scenario_Name", - expression='"{}".format(the_scenario.scenario_name)', - expression_type="PYTHON_9.3", code_block="") - - # copy optimized_route_segments (ORS) - # this contains commodity info at the link level - output_ORS = os.path.join(report_directory, "tableau_output.gdb", "optimized_route_segments") - arcpy.Copy_management( - in_data=os.path.join(the_scenario.main_gdb, "optimized_route_segments"), - out_data=output_ORS, - data_type="FeatureClass") - # add field "record_id" - arcpy.AddField_management(output_ORS, "record_id", "TEXT") - - # field calculator; netsource + netsource_oid for unique field - arcpy.CalculateField_management(in_table=output_ORS, field="record_id", - expression='"{}_{} ".format(!OBJECTID!, !NET_SOURCE_NAME!)', - expression_type="PYTHON_9.3", code_block="") - - # add the scenario_name in the optimized_route_segments_fc (output_ORS) - arcpy.AddField_management(output_ORS, - "Scenario_Name", - "TEXT") - arcpy.CalculateField_management(in_table=output_ORS, field="Scenario_Name", - expression='"{}".format(the_scenario.scenario_name)', - expression_type="PYTHON_9.3", code_block="") - # Create the zip file for writing compressed data logger.debug('creating archive') @@ -128,29 +86,25 @@ def prepare_tableau_assets(report_file, the_scenario, logger): logger.debug("copying the twb file from common data to the timestamped tableau report folder.") root_twb_location = os.path.join(the_scenario.common_data_folder, "tableau_dashboard.twb") root_graphic_location = os.path.join(the_scenario.common_data_folder, "volpeTriskelion.gif") - root_config_parameters_graphic_location = os.path.join(the_scenario.common_data_folder, "parameters_icon.png") scenario_twb_location = os.path.join(report_directory, "tableau_dashboard.twb") scenario_graphic_location = os.path.join(report_directory, "volpeTriskelion.gif") - scenario_config_parameters_graphic_location = os.path.join(report_directory, "parameters_icon.png") copy(root_twb_location, scenario_twb_location) copy(root_graphic_location, scenario_graphic_location) - copy(root_config_parameters_graphic_location, scenario_config_parameters_graphic_location) - # copy tableau report to the assets location + # copy tableau report the the assets location latest_generic_path = os.path.join(report_directory, "tableau_report.csv") logger.debug("copying the latest tableau report csv file to the timestamped tableau report directory") copy(report_file, latest_generic_path) - # create packaged workbook for tableau reader compatibility + # re issue: #103 -- create packaged workbook for tableau reader compatibility twbx_dashboard_filename = os.path.join(report_directory, "tableau_dashboard.twbx") - zipObj = zipfile.ZipFile(twbx_dashboard_filename, 'w', zipfile.ZIP_DEFLATED) + zipObj = zipfile.ZipFile(twbx_dashboard_filename, 'w',zipfile.ZIP_DEFLATED) # Add multiple files to the zip # need to specify the arcname parameter to avoid the whole path to the file being added to the archive zipObj.write(os.path.join(report_directory, "tableau_dashboard.twb"), "tableau_dashboard.twb") zipObj.write(os.path.join(report_directory, "tableau_report.csv"), "tableau_report.csv") zipObj.write(os.path.join(report_directory, "volpeTriskelion.gif"), "volpeTriskelion.gif") - zipObj.write(os.path.join(report_directory, "parameters_icon.png"), "parameters_icon.png") zipObj.write(os.path.join(report_directory, "tableau_output.gdb.zip"), "tableau_output.gdb.zip") # close the Zip File @@ -160,7 +114,6 @@ def prepare_tableau_assets(report_file, the_scenario, logger): os.remove(os.path.join(report_directory, "tableau_dashboard.twb")) os.remove(os.path.join(report_directory, "tableau_report.csv")) os.remove(os.path.join(report_directory, "volpeTriskelion.gif")) - os.remove(os.path.join(report_directory, "parameters_icon.png")) os.remove(os.path.join(report_directory, "tableau_output.gdb.zip")) return report_directory @@ -280,6 +233,9 @@ def generate_reports(the_scenario, logger): break # print last_index_to_include + + # in theory this could be part of the previous but I think + # it will be more clear this way. # -------------------------------------------------------- message_dict = { @@ -300,9 +256,8 @@ def generate_reports(the_scenario, logger): with open(in_file, 'r') as rf: for line in rf: recs = line.strip()[19:].split(' ', 1) - if recs[0] in message_dict: - if len(recs) > 1: # RE: Issue #182 - exceptions at the end of the log will cause this to fail. - message_dict[recs[0]].append((record_src, recs[1].strip())) + if recs[0] in message_dict: + message_dict[recs[0]].append((record_src, recs[1].strip())) # dump to file # --------------- @@ -468,31 +423,27 @@ def generate_reports(the_scenario, logger): row[4], None)) - # REPORT OUT CONFIG FOR O2 STEP AND RUNTIMES FOR ALL STEPS - # Loop through the list of configurations records in the message_dict['config'] and ['runtime']. - # Note that this list is of the format: ['step', "xml_record, value"], and additional parsing is required. - step_to_export = 'O2' # the step we want to export - logger.info("output the configuration for step: {}".format(step_to_export)) + + # Note that this list is of the format: ['step', xml_record, value]. + # Care should be taken to only output the steps from one of the configurations contains all the messages. + orig_step = '' # the original step we started the config output for for config_record in message_dict['CONFIG']: step = config_record[0] - if step != step_to_export: - continue - else: - # parse the xml record and value from the - xml_record_and_value = config_record[1] - xml_record = xml_record_and_value.split(":", 1)[0].replace("xml_", "") - value = xml_record_and_value.split(":", 1)[1].strip() # only split on the first colon to prevent paths from being split + if orig_step == '': + orig_step = step + logger.info("outputing the configuration for step: {}".format(orig_step)) + xml_record_and_value = config_record[1] + xml_record = xml_record_and_value.split(":", 1)[0].replace("xml_", "") + value = xml_record_and_value.split(":", 1)[ + 1].strip() # only split on the first colon to prevent paths from being split + + if step == orig_step: wf.write("{}, {}, {}, {}, {}, {}, {}, {}, {}\n".format(the_scenario.scenario_name, "config", '', '', xml_record, '', '', '', value)) - - for x in message_dict['RUNTIME']: - # message_dict['RUNTIME'][0] - # ('S_', 's Step - Total Runtime (HMS): \t00:00:21') - step, runtime = x[1].split('\t') - wf.write("{}, {}, {}, {}, {}, {}, {}, {}, {}\n".format(the_scenario.scenario_name, "runtime", '', '', - step, '', '', '', - runtime)) + else: + # break here when the config dictionary moves on. + continue logger.debug("finish: Tableau results report operation") diff --git a/program/ftot_routing.py b/program/ftot_routing.py index 4872d32..ac7b287 100644 --- a/program/ftot_routing.py +++ b/program/ftot_routing.py @@ -45,6 +45,10 @@ def connectivity(the_scenario, logger): # export capacity information to the main.db cache_capacity_information(the_scenario, logger) + # export the assets from GIS export_fcs_from_main_gdb + from ftot_networkx import export_fcs_from_main_gdb + export_fcs_from_main_gdb(the_scenario, logger) + # ========================================================================= @@ -220,67 +224,14 @@ def delete_old_artificial_link(the_scenario, logger): # =============================================================================== -def cut_lines(line_list, point_list, split_lines): - for line in line_list: - is_cut = "Not Cut" - if line.length > 0.0: # Make sure it's not an empty geometry. - for point in point_list: - # Even "coincident" points can show up as spatially non-coincident in their - # floating-point XY values, so we set up a tolerance. - if line.distanceTo(point) < 1.0: - # To ensure coincidence, snap the point to the line before proceeding. - snap_point = line.snapToLine(point).firstPoint - # Make sure the point isn't on a line endpoint, otherwise cutting will produce - # an empty geometry. - if not (snap_point.equals(line.lastPoint) and snap_point.equals(line.firstPoint)): - # Cut the line. Try it a few different ways to try increase the likelihood it will actually cut - cut_line_1, cut_line_2 = line.cut(arcpy.Polyline(arcpy.Array( - [arcpy.Point(snap_point.X + 10.0, snap_point.Y + 10.0), - arcpy.Point(snap_point.X - 10.0, snap_point.Y - 10.0)]), LCC_PROJ)) - if cut_line_1.length == 0 or cut_line_2.length == 0: - cut_line_1, cut_line_2 = line.cut(arcpy.Polyline(arcpy.Array( - [arcpy.Point(snap_point.X - 10.0, snap_point.Y + 10.0), - arcpy.Point(snap_point.X + 10.0, snap_point.Y - 10.0)]), LCC_PROJ)) - if cut_line_1.length == 0 or cut_line_2.length == 0: - cut_line_1, cut_line_2 = line.cut(arcpy.Polyline(arcpy.Array( - [arcpy.Point(snap_point.X + 10.0, snap_point.Y), - arcpy.Point(snap_point.X - 10.0, snap_point.Y)]), LCC_PROJ)) - if cut_line_1.length == 0 or cut_line_2.length == 0: - cut_line_1, cut_line_2 = line.cut(arcpy.Polyline(arcpy.Array( - [arcpy.Point(snap_point.X, snap_point.Y + 10.0), - arcpy.Point(snap_point.X, snap_point.Y - 10.0)]), LCC_PROJ)) - # Make sure both descendents have non-zero geometry. - if cut_line_1.length > 0.0 and cut_line_2.length > 0.0: - # Feed the cut lines back into the "line" list as candidates to be cut again. - line_list.append(cut_line_1) - line_list.append(cut_line_2) - line_list.remove(line) - # The cut loop will only exit when all lines cannot be cut smaller without producing - # zero-length geometries - is_cut = "Cut" - # break the loop because we've cut a line into two now and need to start over. - break - point_list.remove(point) - - if is_cut == "Not Cut" and len(point_list) == 0: - split_lines.append(line) - line_list.remove(line) - - if len(line_list) == 0 and len(point_list) == 0: - continue_iteration = 'done' - else: - continue_iteration = 'continue running' - return line_list, point_list, split_lines, continue_iteration - -# =============================================================================== - - def hook_locations_into_network(the_scenario, logger): # Add artificial links from the locations feature class into the network # ----------------------------------------------------------------------- logger.info("start: hook_location_into_network") + arcpy.CheckOutExtension("NETWORK") + scenario_gdb = the_scenario.main_gdb if not os.path.exists(scenario_gdb): error = "can't find scenario gdb {}".format(scenario_gdb) @@ -448,6 +399,7 @@ def locations_add_links(logger, the_scenario, modal_layer_name, max_artificial_l # then we add the artificial link and note which locations got links. # then we set the connects_to field if the location was connected. + logger.debug("start: locations_add_links for mode: {}".format(modal_layer_name)) scenario_gdb = the_scenario.main_gdb @@ -476,45 +428,15 @@ def locations_add_links(logger, the_scenario, modal_layer_name, max_artificial_l arcpy.Delete_management(os.path.join(scenario_gdb, "network", fp_to_modal_layer + "_points")) # limit near to end points - if arcpy.CheckProduct("ArcInfo") == "Available": - arcpy.FeatureVerticesToPoints_management(in_features=fp_to_modal_layer, - out_feature_class=fp_to_modal_layer + "_points", - point_location="BOTH_ENDS") - else: - logger.warning("The Advanced/ArcInfo license level of ArcGIS is not available. Modified feature vertices " - "process will be run.") - arcpy.AddGeometryAttributes_management(fp_to_modal_layer, "LINE_START_MID_END") - arcpy.MakeXYEventLayer_management(fp_to_modal_layer, "START_X", "START_Y", - "modal_start_points_lyr", LCC_PROJ) - - arcpy.MakeXYEventLayer_management(fp_to_modal_layer, "END_X", "END_Y", - "modal_end_points_lyr", LCC_PROJ) - - # Due to tool design, must define the feature class location and name slightly differently (separating - # scenario gdb from feature class name. fp_to_modal_layer is identical to scenario_gdb + "network" - # + modal_layer_name - arcpy.FeatureClassToFeatureClass_conversion("modal_start_points_lyr", - scenario_gdb, - os.path.join("network", modal_layer_name + "_points")) - - arcpy.Append_management(["modal_end_points_lyr"], - fp_to_modal_layer + "_points", "NO_TEST") - - arcpy.Delete_management("modal_start_points_lyr") - arcpy.Delete_management("modal_end_points_lyr") - arcpy.DeleteField_management(fp_to_modal_layer, "START_X") - arcpy.DeleteField_management(fp_to_modal_layer, "START_Y") - arcpy.DeleteField_management(fp_to_modal_layer, "MID_X") - arcpy.DeleteField_management(fp_to_modal_layer, "MID_Y") - arcpy.DeleteField_management(fp_to_modal_layer, "END_X") - arcpy.DeleteField_management(fp_to_modal_layer, "END_Y") - - logger.debug("start: make_feature_layer_management") + arcpy.FeatureVerticesToPoints_management(in_features=fp_to_modal_layer, + out_feature_class=fp_to_modal_layer + "_points", + point_location="BOTH_ENDS") + logger.debug("start: make_featurelayer_management") arcpy.MakeFeatureLayer_management(fp_to_modal_layer + "_points", "modal_lyr_" + modal_layer_name, definition_query) else: - logger.debug("start: make_feature_layer_management") + logger.debug("start: make_featurelayer_management") arcpy.MakeFeatureLayer_management(fp_to_modal_layer, "modal_lyr_" + modal_layer_name, definition_query) logger.debug("adding links between locations_fc and mode {} with max dist of {}".format(modal_layer_name, @@ -525,81 +447,9 @@ def locations_add_links(logger, the_scenario, modal_layer_name, max_artificial_l arcpy.Delete_management(os.path.join(scenario_gdb, "tmp_near")) logger.debug("start: generate_near") - if arcpy.CheckProduct("ArcInfo") == "Available": - arcpy.GenerateNearTable_analysis(locations_fc, "modal_lyr_" + modal_layer_name, - os.path.join(scenario_gdb, "tmp_near"), - max_artificial_link_distance_miles, "LOCATION", "NO_ANGLE", "CLOSEST") - - else: - logger.warning("The Advanced/ArcInfo license level of ArcGIS is not available. Modified generate_near process " - "will be run.") - # Spatial Join - # Workaround for GenerateNearTable not being available for lower-level ArcGIS licenses. - - if arcpy.Exists(os.path.join(scenario_gdb, "tmp_spatial_join")): - arcpy.Delete_management(os.path.join(scenario_gdb, "tmp_spatial_join")) - - # First, add field to capture joined FID - arcpy.AddField_management("modal_lyr_" + modal_layer_name, "Join_FID", "LONG") - arcpy.CalculateField_management("modal_lyr_" + modal_layer_name, "Join_FID", "!OBJECTID!", - "PYTHON_9.3") - - arcpy.SpatialJoin_analysis(locations_fc, "modal_lyr_" + modal_layer_name, - os.path.join(scenario_gdb, "tmp_spatial_join"), - match_option="CLOSEST", search_radius=max_artificial_link_distance_miles) - - arcpy.DeleteField_management("modal_lyr_" + modal_layer_name, "Join_FID") - - # queryPointAndDistance on the original point and corresponding spatial join match - # For line in spatial_join: - result_dict = {} - - with arcpy.da.SearchCursor(os.path.join(scenario_gdb, "tmp_spatial_join"), - ["Target_FID", "Join_FID", "SHAPE@"]) as scursor1: - for row1 in scursor1: - with arcpy.da.SearchCursor("modal_lyr_" + modal_layer_name, - ["OBJECTID", "SHAPE@"]) as scursor2: - for row2 in scursor2: - if row1[1] == row2[0]: - if "pipeline" in modal_layer_name: - result = row2[1].angleAndDistanceTo(row1[2], "PLANAR") - # Capture the point geometry of the nearest point on the polyline to the location point - # and the minimum distance between the line and the point - # result_dict[in_fid] = [near_fid, from_xy, near_xy, near_dist - result_dict[row1[0]] = [row1[1], row1[2], row2[1], result[1]] - else: - result = row2[1].queryPointAndDistance(row1[2], False) - # Capture the point geometry of the nearest point on the polyline to the location point - # and the minimum distance between the line and the point - # result_dict[in_fid] = [near_fid, from_xy, near_xy, near_dist - result_dict[row1[0]] = [row1[1], row1[2], result[0], result[2]] - - # Write to a tmp_near table equivalent to what is create by Generate Near Table tool - arcpy.CreateTable_management(scenario_gdb, "tmp_near") - arcpy.AddField_management("tmp_near", "IN_FID", "LONG") - arcpy.AddField_management("tmp_near", "NEAR_FID", "LONG") - arcpy.AddField_management("tmp_near", "NEAR_DIST", "LONG") - arcpy.AddField_management("tmp_near", "FROM_X", "DOUBLE") - arcpy.AddField_management("tmp_near", "FROM_Y", "DOUBLE") - arcpy.AddField_management("tmp_near", "NEAR_X", "DOUBLE") - arcpy.AddField_management("tmp_near", "NEAR_Y", "DOUBLE") - - # insert the relevant data into the table - icursor = arcpy.da.InsertCursor("tmp_near", ['IN_FID', 'NEAR_FID', 'NEAR_DIST', 'FROM_X', 'FROM_Y', - 'NEAR_X', 'NEAR_Y']) - - for in_fid in result_dict: - near_fid = result_dict[in_fid][0] - near_distance = result_dict[in_fid][3] - from_x = result_dict[in_fid][1].firstPoint.X - from_y = result_dict[in_fid][1].firstPoint.Y - near_x = result_dict[in_fid][2].firstPoint.X - near_y = result_dict[in_fid][2].firstPoint.Y - icursor.insertRow([in_fid, near_fid, near_distance, from_x, from_y, near_x, near_y]) - - del icursor - - arcpy.Delete_management(os.path.join(scenario_gdb, "tmp_spatial_join")) + arcpy.GenerateNearTable_analysis(locations_fc, "modal_lyr_" + modal_layer_name, + os.path.join(scenario_gdb, "tmp_near"), + max_artificial_link_distance_miles, "LOCATION", "NO_ANGLE", "CLOSEST") edit = arcpy.da.Editor(os.path.join(scenario_gdb)) edit.startEditing(False, False) @@ -615,13 +465,6 @@ def locations_add_links(logger, the_scenario, modal_layer_name, max_artificial_l # 3) then we split the old link, and use insert cursor to populate mode specific data into fc for the two new links. # 4) then we delete the old unsplit link logger.debug("start: split links") - - if arcpy.CheckProduct("ArcInfo") != "Available": - # Adding warning here rather than within the search cursor loop - logger.warning( - "The Advanced/ArcInfo license level of ArcGIS is not available. Modified split links process " - "will be run.") - with arcpy.da.SearchCursor(os.path.join(scenario_gdb, "tmp_near"), ["NEAR_FID", "NEAR_X", "NEAR_Y", "NEAR_DIST"]) as scursor: @@ -631,7 +474,7 @@ def locations_add_links(logger, the_scenario, modal_layer_name, max_artificial_l # split the line. if row[3] == 0: # only give debug warnring if not pipeline. - if "pipeline" not in modal_layer_name: + if "pipleine" not in modal_layer_name: logger.warning( "Split links code: LOCATION MIGHT BE ON THE NETWORK. Ignoring NEAR_FID {} with NEAR_DIST {}".format( row[0], row[3])) @@ -703,18 +546,7 @@ def locations_add_links(logger, the_scenario, modal_layer_name, max_artificial_l # STEP 3: Split and populate with mode specific data from old link # ------------------------------------------------------------------ - if arcpy.CheckProduct("ArcInfo") == "Available": - split_lines = arcpy.management.SplitLineAtPoint(in_line, seenids[theIdToGet], arcpy.Geometry(), 1) - - else: - # This is the alternative approach for those without an Advanced/ArcInfo license - point_list = seenids[theIdToGet] - line_list = [in_line] - split_lines = [] - continue_iteration = 'continue running' - - while continue_iteration == 'continue running': - line_list, point_list, split_lines, continue_iteration = cut_lines(line_list, point_list, split_lines) + split_lines = arcpy.management.SplitLineAtPoint(in_line, seenids[theIdToGet], arcpy.Geometry(), 1) if not len(split_lines) == 1: @@ -806,102 +638,13 @@ def locations_add_links(logger, the_scenario, modal_layer_name, max_artificial_l fp_to_modal_layer = os.path.join(scenario_gdb, "network", modal_layer_name) arcpy.MakeFeatureLayer_management(fp_to_modal_layer, "modal_lyr_" + modal_layer_name + "2", definition_query) logger.debug("start: feature vertices to points 2") - if arcpy.CheckProduct("ArcInfo") == "Available": - arcpy.FeatureVerticesToPoints_management(in_features="modal_lyr_" + modal_layer_name + "2", - out_feature_class=os.path.join(scenario_gdb, "tmp_nodes"), - point_location="BOTH_ENDS") - else: - logger.warning("The Advanced/ArcInfo license level of ArcGIS is not available. Modified feature vertices " - "process will be run.") - arcpy.AddGeometryAttributes_management("modal_lyr_" + modal_layer_name + "2", "LINE_START_MID_END") - arcpy.MakeXYEventLayer_management("modal_lyr_" + modal_layer_name + "2", "START_X", "START_Y", - "modal_start_points_lyr", LCC_PROJ) - - arcpy.MakeXYEventLayer_management("modal_lyr_" + modal_layer_name + "2", "END_X", "END_Y", - "modal_end_points_lyr", LCC_PROJ) - - arcpy.FeatureClassToFeatureClass_conversion("modal_start_points_lyr", - scenario_gdb, - "tmp_nodes") - - arcpy.Append_management(["modal_end_points_lyr"], - "tmp_nodes", "NO_TEST") - - arcpy.Delete_management("modal_start_points_lyr") - arcpy.Delete_management("modal_end_points_lyr") - arcpy.DeleteField_management(fp_to_modal_layer, "START_X") - arcpy.DeleteField_management(fp_to_modal_layer, "START_Y") - arcpy.DeleteField_management(fp_to_modal_layer, "MID_X") - arcpy.DeleteField_management(fp_to_modal_layer, "MID_Y") - arcpy.DeleteField_management(fp_to_modal_layer, "END_X") - arcpy.DeleteField_management(fp_to_modal_layer, "END_Y") - + arcpy.FeatureVerticesToPoints_management(in_features="modal_lyr_" + modal_layer_name + "2", + out_feature_class=os.path.join(scenario_gdb, "tmp_nodes"), + point_location="BOTH_ENDS") logger.debug("start: generate near table 2") - if arcpy.CheckProduct("ArcInfo") == "Available": - arcpy.GenerateNearTable_analysis(locations_fc, os.path.join(scenario_gdb, "tmp_nodes"), - os.path.join(scenario_gdb, "tmp_near_2"), - max_artificial_link_distance_miles, "LOCATION", "NO_ANGLE", "CLOSEST") - - else: - logger.warning("The Advanced/ArcInfo license level of ArcGIS is not available. Modified generate_near process " - "will be run.") - # Spatial Join - # Workaround for GenerateNearTable not being available for lower-level ArcGIS licenses. - - if arcpy.Exists(os.path.join(scenario_gdb, "tmp_spatial_join_2")): - arcpy.Delete_management(os.path.join(scenario_gdb, "tmp_spatial_join_2")) - - # First, add field to capture joined FID - arcpy.AddField_management("tmp_nodes", "Join_FID", "LONG") - arcpy.CalculateField_management("tmp_nodes", "Join_FID", "!OBJECTID!", "PYTHON_9.3") - - arcpy.SpatialJoin_analysis(locations_fc, "tmp_nodes", - os.path.join(scenario_gdb, "tmp_spatial_join_2"), - match_option="CLOSEST", search_radius=max_artificial_link_distance_miles) - - # queryPointAndDistance on the original point and corresponding spatial join match - # For line in spatial_join: - result_dict = {} - - with arcpy.da.SearchCursor(os.path.join(scenario_gdb, "tmp_spatial_join_2"), - ["Target_FID", "Join_FID", "SHAPE@"]) as scursor1: - for row1 in scursor1: - with arcpy.da.SearchCursor("tmp_nodes", - ["OBJECTID", "SHAPE@"]) as scursor2: - for row2 in scursor2: - if row1[1] == row2[0]: - result = row2[1].angleAndDistanceTo(row1[2], "PLANAR") - # Capture the point geometry of the nearest point on the polyline to the location point - # and the minimum distance between the line and the point - # result_dict[in_fid] = [near_fid, from_xy, near_xy, near_dist - result_dict[row1[0]] = [row1[1], row1[2], row2[1], result[1]] - - # Write to a tmp_near table equivalent to what is create by Generate Near Table tool - arcpy.CreateTable_management(scenario_gdb, "tmp_near_2") - arcpy.AddField_management("tmp_near_2", "IN_FID", "LONG") - arcpy.AddField_management("tmp_near_2", "NEAR_FID", "LONG") - arcpy.AddField_management("tmp_near_2", "NEAR_DIST", "LONG") - arcpy.AddField_management("tmp_near_2", "FROM_X", "DOUBLE") - arcpy.AddField_management("tmp_near_2", "FROM_Y", "DOUBLE") - arcpy.AddField_management("tmp_near_2", "NEAR_X", "DOUBLE") - arcpy.AddField_management("tmp_near_2", "NEAR_Y", "DOUBLE") - - # insert the relevant data into the table - icursor = arcpy.da.InsertCursor("tmp_near_2", ['IN_FID', 'NEAR_FID', 'NEAR_DIST', 'FROM_X', 'FROM_Y', - 'NEAR_X', 'NEAR_Y']) - - for in_fid in result_dict: - near_fid = result_dict[in_fid][0] - near_distance = result_dict[in_fid][3] - from_x = result_dict[in_fid][1].firstPoint.X - from_y = result_dict[in_fid][1].firstPoint.Y - near_x = result_dict[in_fid][2].firstPoint.X - near_y = result_dict[in_fid][2].firstPoint.Y - icursor.insertRow([in_fid, near_fid, near_distance, from_x, from_y, near_x, near_y]) - - del icursor - - arcpy.Delete_management(os.path.join(scenario_gdb, "tmp_spatial_join_2")) + arcpy.GenerateNearTable_analysis(locations_fc, os.path.join(scenario_gdb, "tmp_nodes"), + os.path.join(scenario_gdb, "tmp_near_2"), + max_artificial_link_distance_miles, "LOCATION", "NO_ANGLE", "CLOSEST") logger.debug("start: delete tmp_nodes") arcpy.Delete_management(os.path.join(scenario_gdb, "tmp_nodes")) @@ -946,6 +689,7 @@ def locations_add_links(logger, the_scenario, modal_layer_name, max_artificial_l # insert artificial link attributes icursor.insertRow([polyline, 1, modal_layer_name, len_in_miles, location_id, location_id_name]) + else: logger.warning("Artificial Link code: Ignoring NEAR_FID {} with NEAR_DIST {}".format(row[0], row[4])) @@ -1093,19 +837,10 @@ def minimum_bounding_geometry(the_scenario, logger): arcpy.Delete_management("Locations_MBG_Buffered") # Determine the minimum bounding geometry of the scenario - # The advanced license is required to use the convex hull method. If not available, default to rectangle_by_area - # which will not subset things quite as small but is still better than no subsetting at all - if arcpy.CheckProduct("ArcInfo") == "Available": - arcpy.MinimumBoundingGeometry_management("Locations", "Locations_MBG", "CONVEX_HULL") - - else: - arcpy.MinimumBoundingGeometry_management("Locations", "Locations_MBG", "RECTANGLE_BY_AREA") - logger.warning("The Advanced/ArcInfo license level of ArcGIS is not available. A slight modification to " - "the minimum bounding geometry process is necessary to ensure FTOT can successfully run.") + arcpy.MinimumBoundingGeometry_management("Locations", "Locations_MBG", "CONVEX_HULL") # Buffer the minimum bounding geometry of the scenario - arcpy.Buffer_analysis("Locations_MBG", "Locations_MBG_Buffered", "100 Miles", "FULL", "ROUND", "NONE", "", - "GEODESIC") + arcpy.Buffer_analysis("Locations_MBG", "Locations_MBG_Buffered", "100 Miles", "FULL", "ROUND", "NONE", "", "GEODESIC") # Select the roads within the buffer # ----------------------------------- @@ -1118,20 +853,13 @@ def minimum_bounding_geometry(the_scenario, logger): result = arcpy.GetCount_management("road_lyr") count_roads_subset = float(result.getOutput(0)) - ## CHANGE - if count_all_roads > 0: - roads_percentage = count_roads_subset / count_all_roads - else: - roads_percentage = 0 + roads_percentage = count_roads_subset / count_all_roads # Only subset if the subset will result in substantial reduction of the road network size if roads_percentage < 0.75: # Switch selection to identify what's outside the buffer arcpy.SelectLayerByAttribute_management("road_lyr", "SWITCH_SELECTION") - # Add in FC 1 roadways (going to keep all interstate highways) - arcpy.SelectLayerByAttribute_management("road_lyr", "REMOVE_FROM_SELECTION", "FCLASS = 1") - # Delete the features outside the buffer with arcpy.da.UpdateCursor('road_lyr', ['OBJECTID']) as ucursor: for ucursor_row in ucursor: @@ -1139,12 +867,85 @@ def minimum_bounding_geometry(the_scenario, logger): arcpy.Delete_management("road_lyr") - # # Select the rail within the buffer - # # --------------------------------- + # Select the rail within the buffer + # --------------------------------- + arcpy.MakeFeatureLayer_management("rail", "rail_lyr") + arcpy.SelectLayerByLocation_management("rail_lyr", "INTERSECT", "Locations_MBG_Buffered") + + # Switch selection to identify what's outside the buffer + arcpy.SelectLayerByAttribute_management("rail_lyr", "SWITCH_SELECTION") + + # Delete the features outside the buffer + with arcpy.da.UpdateCursor('rail_lyr', ['OBJECTID']) as ucursor: + for ucursor_row in ucursor: + ucursor.deleteRow() + + arcpy.Delete_management("rail_lyr") + + # Select the water within the buffer + # ----------------------------------- + arcpy.MakeFeatureLayer_management("rail", "rail_lyr") + arcpy.SelectLayerByLocation_management("rail_lyr", "INTERSECT", "Locations_MBG_Buffered") + + # Switch selection to identify what's outside the buffer + arcpy.SelectLayerByAttribute_management("rail_lyr", "SWITCH_SELECTION") + + # Delete the features outside the buffer + with arcpy.da.UpdateCursor('rail_lyr', ['OBJECTID']) as ucursor: + for ucursor_row in ucursor: + ucursor.deleteRow() + + arcpy.Delete_management("rail_lyr") + + # Select the water within the buffer + # ----------------------------------- + arcpy.MakeFeatureLayer_management("water", "water_lyr") + arcpy.SelectLayerByLocation_management("water_lyr", "INTERSECT", "Locations_MBG_Buffered") + + # Switch selection to identify what's outside the buffer + arcpy.SelectLayerByAttribute_management("water_lyr", "SWITCH_SELECTION") + + # Delete the features outside the buffer + with arcpy.da.UpdateCursor('water_lyr', ['OBJECTID']) as ucursor: + for ucursor_row in ucursor: + ucursor.deleteRow() + + arcpy.Delete_management("water_lyr") + + # Select the pipeline_prod_trf_rts within the buffer + # -------------------------------------------------- + arcpy.MakeFeatureLayer_management("pipeline_prod_trf_rts", "pipeline_prod_trf_rts_lyr") + arcpy.SelectLayerByLocation_management("pipeline_prod_trf_rts_lyr", "INTERSECT", "Locations_MBG_Buffered") + + # Switch selection to identify what's outside the buffer + arcpy.SelectLayerByAttribute_management("pipeline_prod_trf_rts_lyr", "SWITCH_SELECTION") + + # Delete the features outside the buffer + with arcpy.da.UpdateCursor('pipeline_prod_trf_rts_lyr', ['OBJECTID']) as ucursor: + for ucursor_row in ucursor: + ucursor.deleteRow() + + arcpy.Delete_management("pipeline_prod_trf_rts_lyr") + + + # Select the pipeline_crude_trf_rts within the buffer + # -------------------------------------------------- + arcpy.MakeFeatureLayer_management("pipeline_crude_trf_rts", "pipeline_crude_trf_rts_lyr") + arcpy.SelectLayerByLocation_management("pipeline_crude_trf_rts_lyr", "INTERSECT", "Locations_MBG_Buffered") + + # Switch selection to identify what's outside the buffer + arcpy.SelectLayerByAttribute_management("pipeline_crude_trf_rts_lyr", "SWITCH_SELECTION") + + # Delete the features outside the buffer + with arcpy.da.UpdateCursor('pipeline_crude_trf_rts_lyr', ['OBJECTID']) as ucursor: + for ucursor_row in ucursor: + ucursor.deleteRow() + + arcpy.Delete_management("pipeline_crude_trf_rts_lyr") arcpy.Delete_management("Locations_MBG") arcpy.Delete_management("Locations_MBG_Buffered") # finally, compact the geodatabase so the MBG has an effect on runtime. arcpy.Compact_management(the_scenario.main_gdb) - logger.debug("finish: minimum_bounding_geometry") + logger.debug("finish: minimum_bounding_geometry") \ No newline at end of file diff --git a/program/ftot_scenario.py b/program/ftot_scenario.py index 49183f3..65a4906 100644 --- a/program/ftot_scenario.py +++ b/program/ftot_scenario.py @@ -31,6 +31,8 @@ def getElementFromXmlFile(xmlFile, elementName): #=================================================================================================== + +# -def create_loggers(dirLocation, task): - """Create the logger""" - - loggingLocation = os.path.join(dirLocation, "logs") - - if not os.path.exists(loggingLocation): - os.makedirs(loggingLocation) - - # BELOW ARE THE LOGGING LEVELS. WHATEVER YOU CHOOSE IN SETLEVEL WILL BE SHOWN ALONG WITH HIGHER LEVELS. - # YOU CAN SET THIS FOR BOTH THE FILE LOG AND THE DOS WINDOW LOG - # ----------------------------------------------------------------------------------------------------- - # CRITICAL 50 - # ERROR 40 - # WARNING 30 - # RESULT 25 - # CONFIG 24 - # INFO 20 - # RUNTIME 11 - # DEBUG 10 - # DETAILED_DEBUG 5 - - logging.RESULT = 25 - logging.addLevelName(logging.RESULT, 'RESULT') - - logging.CONFIG = 19 # mnp 11/26/18 moved config to below .info level so it doesn't fill the screen at the beginning of every step - logging.addLevelName(logging.CONFIG, 'CONFIG') - - logging.RUNTIME = 11 - logging.addLevelName(logging.RUNTIME, 'RUNTIME') - - logging.DETAILED_DEBUG = 5 - logging.addLevelName(logging.DETAILED_DEBUG, 'DETAILED_DEBUG') - - # logger = logging.getLogger(__name__) - logger = logging.getLogger('log') - logger.setLevel(logging.DEBUG) - - logger.runtime = lambda msg, *args: logger._log(logging.RUNTIME, msg, args) - logger.result = lambda msg, *args: logger._log(logging.RESULT, msg, args) - logger.config = lambda msg, *args: logger._log(logging.CONFIG, msg, args) - logger.detailed_debug = lambda msg, *args: logger._log(logging.DETAILED_DEBUG, msg, args) - - # FILE LOG - # ------------------------------------------------------------------------------ - logFileName = task + "_" + "log_" + datetime.datetime.now().strftime("%Y_%m_%d_%H-%M-%S") + ".log" - file_log = logging.FileHandler(os.path.join(loggingLocation, logFileName), mode='a') - - # file_log.setLevel(logging.DETAILED_DEBUG) - file_log.setLevel(logging.DEBUG) - # file_log.setLevel(logging.INFO) - - file_log_format = logging.Formatter('%(asctime)s.%(msecs).03d %(levelname)-8s %(message)s', - datefmt='%m-%d %H:%M:%S') - file_log.setFormatter(file_log_format) - - # DOS WINDOW LOG - # ------------------------------------------------------------------------------ - console = logging.StreamHandler() - - # console.setLevel(logging.DEBUG) - console.setLevel(logging.INFO) - - console_log_format = logging.Formatter('%(asctime)s %(levelname)-8s %(message)s', datefmt='%m-%d %H:%M:%S') - console.setFormatter(console_log_format) - - # ADD THE HANDLERS - # ---------------- - logger.addHandler(file_log) - logger.addHandler(console) - - # NOTE: with these custom levels you can now do the following - # test this out once the handlers have been added - # ------------------------------------------------------------ - # logger.result('this is really important stuff here') - # logger.detailed_debug('generating massive log file now ...') - - return logger - - -# ============================================================================== - - -def clean_file_name(value): - deletechars = '\/:*?"<>|' - for c in deletechars: - value = value.replace(c, '') - return value; - - -# ============================================================================== - - -def get_total_runtime_string(start_time): - end_time = datetime.datetime.now() - - duration = end_time - start_time - - seconds = duration.total_seconds() - - hours = int(seconds // 3600) - minutes = int((seconds % 3600) // 60) - seconds = int(seconds % 60) - - # hms = str("{0.2d}:{0.2d}:{0.2d}").format(hours, minutes, seconds) - hms = str("{:02}:{:02}:{:02}").format(hours, minutes, seconds) - - # total_time = str(end_time - start_time) - # hms = total_time[0:total_time.rindex(".")] - return hms - - -# ============================================================================== - -def euclidean_distance(xCoord, yCoord, xCoord2, yCoord2): - """Calculates the Euclidean distance between two sets of coordinates""" - - return math.sqrt(math.pow((xCoord - xCoord2), 2) + math.pow((yCoord - yCoord2), 2)) - - -# ============================================================================= - -class CropData: - """Class object containing crop information""" - - def __init__(self, prod, crop): - self.production = prod - self.crop = crop - - -# ============================================================================== -def check_OD_commodities_for_routes(origin_commodity_slate, destination_commodity_slate, logger): - # check commodities and see if they match - # logger.debug("starting check_OD_commodities_for_routes") - - OD_commodity_match_dict = {} - - all_origin_commodities = origin_commodity_slate.commodities - - for origin_commodity in all_origin_commodities: - - all_destination_commodities = destination_commodity_slate.commodities - - for destination_commodity in all_destination_commodities: - - # logger.info( "origin_commodity.find(destination_commodity): {} {} {}".format(origin_commodity, destination_commodity, origin_commodity.find(destination_commodity))) - - if origin_commodity.find(destination_commodity) > -1: - # logger.debug("commodity {} matched against commodity {}".format(origin_commodity,destination_commodity)) - - OD_commodity_match_dict[origin_commodity] = all_origin_commodities[origin_commodity] - - return OD_commodity_match_dict - - -# ============================================================================== - -def split_feedstock_commidity_name_into_parts(feedstock, logger): - # Source Categories - afpat_source_category_list = ["Agricultural Residues", "Woody Crops and Residues", "Herbaceous Energy Crops", - "Oil Crops", "Waste Oils and Animal Fats", "Sugary and Starchy Biomass", "Bakken", - "None"] - feedstock_in_parts = () - feedstock_type = "" - the_source_category = "" - feedstock_source = "" - - for source_category in afpat_source_category_list: - - # add "_" to the front and back of the string so the type and source will be cleanly split - source_category_as_separator = str("_" + source_category.replace(" ", "_") + "_") - - # Split the string at the first occurrence of sep, and return a 3-tuple - # containing the part before the separator, the separator itself, and - # the part after the separator. - feedstock_in_parts = feedstock.partition(source_category_as_separator) - - # If the separator is not found, return a 3-tuple containing the string itself, - # followed by two empty strings. - if not feedstock_in_parts[2] == "": - feedstock_type = feedstock_in_parts[0] - - the_source_category = source_category.replace(" ", "_").replace("-", "_") - - feedstock_source = feedstock_in_parts[2] - if feedstock_type == "": - logger.warning("the feedstock {} is not in the list {}".format(feedstock, afpat_source_category_list)) - logger.error("did not parse the feedstock commodity name into parts") - raise Exception("did not parse the feedstock commodity name into parts") - - return [feedstock_type, the_source_category, feedstock_source] - - -# ============================================================================== - -def create_full_crop_name(Feedstock_Type, Source_Category, Feedstock_Source): - crop = str(Feedstock_Type + "_" + Source_Category + "_" + Feedstock_Source).replace(" ", "_").replace("-", "_") - - return crop - - -# ============================================================================== - -def get_cleaned_process_name(_Primary_Processing_Type, _Secondary_Processing_Type, _Tertiary_Processing_Type): - Primary_Processing_Type = str(_Primary_Processing_Type).replace(" ", "_").replace("-", "_") - Secondary_Processing_Type = str(_Secondary_Processing_Type).replace(" ", "_").replace("-", "_") - Tertiary_Processing_Type = str(_Tertiary_Processing_Type).replace(" ", "_").replace("-", "_") - - return (Primary_Processing_Type, Secondary_Processing_Type, Tertiary_Processing_Type) - - -# ============================================================================== -def make_rmp_as_proc_slate(the_scenario, commodity_name, commodity_quantity_with_units, logger): - # we're going to query the database for facilities named candidate* (wildcard) - # and use their product slate ratio to return a fuel_dictrionary. - sql = """ select f.facility_name, c.commodity_name, fc.quantity, fc.units, c.phase_of_matter, fc.io - from facility_commodities fc - join facilities f on f.facility_id = fc.facility_id - join commodities c on c.commodity_id = fc.commodity_id - where facility_name like 'candidate%' - """ - - input_commodities = {} - output_commodities = {} - scaled_output_dict = {} - with sqlite3.connect(the_scenario.main_db) as db_con: - - db_cur = db_con.cursor() - db_cur.execute(sql) - - for row in db_cur: - facility_name = row[0] - a_commodity_name = row[1] - quantity = row[2] - units = row[3] - phase_of_matter = row[4] - io = row[5] - - if io == 'i': - if not facility_name in input_commodities.keys(): - input_commodities[facility_name] = [] - - input_commodities[facility_name].append([a_commodity_name, quantity, units, phase_of_matter, io]) - - elif io == 'o': - if not facility_name in output_commodities.keys(): - output_commodities[facility_name] = [] - output_commodities[facility_name].append([a_commodity_name, quantity, units, phase_of_matter, io]) - elif io == 'maxsize' or io == 'minsize': - logger.detailed_debug("io flag == maxsize or min size") - elif io == 'cost_formula': - logger.detailed_debug("io flag == cost_formula") - else: - logger.warning( - "the io flag: {} is not recognized for commodity: {} - at facility: {}".format(io, a_commodity_name, - facility_name)) - - # check if there is more than one input commodity - for facility in input_commodities: - if not len(input_commodities[facility]) == 1: - logger.warning( - "there are: {} input commodities in the product slate for facility {}".format(len(input_commodities), - facility_name)) - for an_input_commodity in input_commodities[facility]: - logger.warning("commodity_name: {}, quantity: {}, units: {}, io: {}".format(an_input_commodity[0], - an_input_commodity[1], - an_input_commodity[2], - an_input_commodity[3])) - else: # there is only one input commodity to use in the ratio. - - # check if this is the ratio we want to save - if input_commodities[facility][0][0].lower() == commodity_name.lower(): - - a_commodity_name = input_commodities[facility][0][0] - quantity = input_commodities[facility][0][1] - units = input_commodities[facility][0][2] - input_commodity_quantity_with_units = Q_(quantity, units) - - # store the input commodity - - # store all the output commodities - for an_output_commodity in output_commodities[facility_name]: - a_commodity_name = an_output_commodity[0] - quantity = an_output_commodity[1] - units = an_output_commodity[2] - phase_of_matter = an_output_commodity[3] - output_commodity_quantity_with_units = Q_(quantity, units) - - # the output commodity quantity is divided by the input - # commodity quantity specified in the candidate slate csv - # and then multiplied by the commodity_quantity_with_units - # factor from the RMP passed into this module - oc = output_commodity_quantity_with_units - ic = input_commodity_quantity_with_units - cs = commodity_quantity_with_units - - # finally add it to the scaled output dictionary - scaled_output_dict[a_commodity_name] = [(oc / ic * cs), phase_of_matter] - - # logger.info("len of the fuel_dict = {}".format(fuel_dict)) - - return scaled_output_dict - - -# ============================================================================== -def get_max_fuel_conversion_process_for_commodity(commodity, the_scenario, logger): - # logger.debug("starting: get_max_fuel_conversion_process_for_commodity for commodity: {}".format(commodity)) - - max_conversion_process = "" # max conversion process - processes_for_commodity = [] # list of all processess for feedstock - conversion_efficiency_dict = {} # a temporary dictionary to store the conversion efficiencies for each process - - ag_fuel_yield_dict, cropYield, bioWasteDict, fossilResources = load_afpat_tables(the_scenario, logger) - - if ag_fuel_yield_dict.has_key(commodity): - processes_for_commodity.extend(ag_fuel_yield_dict[commodity].keys()) - - # DO THE BIOWASTE RESOURCES - if bioWasteDict.has_key(commodity): - processes_for_commodity.extend(bioWasteDict[commodity].keys()) - - # DO THE FOSSIL RESOURCES - fossil_keys = fossilResources.keys() - - for key in fossil_keys: - - if commodity.find(key) > -1: - processes_for_commodity.extend(fossilResources[key].keys()) - - if processes_for_commodity == []: - logger.warning("processes_for_commodity is empty: {}".format(processes_for_commodity)) - - for conversion_process in processes_for_commodity: - input_commodity, output_commodity = get_input_and_output_commodity_quantities_from_afpat(commodity, - conversion_process, - the_scenario, logger) - - conversion_efficiency = input_commodity / output_commodity["total_fuel"] - - conversion_efficiency_dict[conversion_process] = conversion_efficiency - - # get the most efficient conversion process from the sorted conversion_efficiency_dict - # this method is some black magic using the lambda keyword to sort the dictionary by - # values and gets the lowest kg/bbl of total fuel conversion rate (== max biomass -> fuel efficiency) - if conversion_efficiency_dict == {}: - logger.warning("conversion_efficiency_dict is empty: {}".format(conversion_efficiency_dict)) - - else: - max_conversion_process = sorted(conversion_efficiency_dict.iteritems(), key=lambda (k, v): (v, k))[0] - - return max_conversion_process # just return the name of the max conversion process, not the conversion efficiency - - -# ============================================================================== - -def create_list_of_sub_commodities_from_afpat(commodity, process, the_scenario, logger): - ag_fuel_yield_dict, cropYield, bioWasteDict, fossilResources = load_afpat_tables(the_scenario, logger) - # full_path_to_table = os.path.join(scenario_gdb, "afpat_raw") - - # ag_fuel_yield_dict, cropYield, bioWasteDict, fossilResources = load_afpat_data_to_memory(full_path_to_table, logger) - - list_of_sub_commodities = [] - - # first check the agricultural feedstocks in the ag_fuel_dict - - for ag_key in ag_fuel_yield_dict: - - if ag_key.lower().find(commodity) > -1: - logger.debug("adding commodity {} list_of_sub_commodities for {}".format(ag_key, commodity)) - list_of_sub_commodities.append(ag_key) - - # second check the biowaste resources in the biowaste dict - - for biowaste_key in bioWasteDict: - - if biowaste_key.lower().find(commodity) > -1: - logger.debug("adding commodity {} list_of_sub_commodities for {}".format(biowaste_key, commodity)) - list_of_sub_commodities.append(biowaste_key) - - # last, check the fossil resources feedstocks in the fossil resource dict - - for fossil_key in fossilResources: - - if fossil_key.lower().find(commodity) > -1: - logger.debug("adding commodity {} list_of_sub_commodities for {}".format(fossil_key, commodity)) - list_of_sub_commodities.append(fossil_key) - - if list_of_sub_commodities == []: - list_of_sub_commodities = [ - "the commodity {} has no sub_commodities in AFPAT agricultural, biowaste, or fossil fuel yield dictionaries".format( - commodity)] - logger.warning( - "the commodity {} has no sub_commodities in AFPAT agricultural, biowaste, or fossil fuel yield dictionaries".format( - commodity)) - - return list_of_sub_commodities - - -# ============================================================================== -def get_demand_met_multiplier(simple_fuel_name, primary_process_type, logger): - # switch the demand_met_multiplier based on fuel name and process type - if simple_fuel_name == "jet": - if primary_process_type == "HEFA": - demand_met_multiplier = 2 - elif primary_process_type == "FTx": - demand_met_multiplier = 2 - elif primary_process_type == "AFx": - # 30% alcohol/fuel to 70% petroleum - demand_met_multiplier = float((3 + 1 / 3)) - elif primary_process_type == "Petroleum_Refinery": - demand_met_multiplier = 1 - elif primary_process_type == "NA": - demand_met_multiplier = 1 - else: - logger.error("the demand met multiplier was not set") - raise Exception("the demand met multiplier was not set") - - elif simple_fuel_name == "diesel": - # it does not contemplate ASTM 5% HEFA diesel in jet blends. - demand_met_multiplier = 1 - - else: - demand_met_multiplier = 1 - logger.error("the fuel type is not jet or diesel; demand met multiplier was set to 1") - - return demand_met_multiplier - - -# ============================================================================== - -# ============================================================================== -def get_processor_capacity(primary_processing, logger): - capacity = 0 - - if primary_processing == "FTx": - capacity = Q_(200000, "kgal") - if primary_processing == "Petroleum_Refinery": - capacity = Q_(7665000, "kgal") - else: - capacity = Q_(200000, "kgal") - - return capacity - - -# ============================================================================== - -def load_afpat_tables(the_scenario, logger): - import pickle - pickle_file = os.path.join(the_scenario.scenario_run_directory, "debug", "AFPAT_tables.p") - - afpat_tables = pickle.load(open(pickle_file, "rb")) - ag_fuel_yield_dict = afpat_tables[0] - cropYield = afpat_tables[1] - bioWasteDict = afpat_tables[2] - fossilResources = afpat_tables[3] - - return ag_fuel_yield_dict, cropYield, bioWasteDict, fossilResources - - -# ============================================================================== - -def get_input_and_output_commodity_quantities_from_afpat(commodity, process, the_scenario, logger): - # logger.debug("starting: get_input_and_output_commodity_quantities_from_afpat for commodity: {} and process: {}".format(commodity, process)) - - input_commodity_quantities = 0 # a quantity of input resource required to produce fuels - output_commodity_quantities = {} # a dictionary containing the fuel outputs - - ag_fuel_yield_dict, cropYield, bioWasteDict, fossilResources = load_afpat_tables(the_scenario, logger) - # full_path_to_table = os.path.join(scenario_gdb, "afpat_raw") - # ag_fuel_yield_dict, cropYield, bioWasteDict, fossilResources = load_afpat_data_to_memory(full_path_to_table, logger) - - if commodity.lower().find("test_liquid_none_none") > -1: - # print "in the right place" - input_commodity_quantities = Q_(1, "kgal") - output_commodity_quantities['test_product_liquid_None_None'] = Q_(1, "kgal") - output_commodity_quantities['jet'] = Q_(0, "kgal") - output_commodity_quantities['diesel'] = Q_(0, "kgal") - output_commodity_quantities['naphtha'] = Q_(0, "kgal") - output_commodity_quantities['aromatics'] = Q_(0, "kgal") - output_commodity_quantities['total_fuel'] = Q_(1, "kgal") - # hack to skip the petroleum refinery - commodity = "hack-hack-hack" - process = "hack-hack-hack" - - elif ag_fuel_yield_dict.has_key(commodity): - # print "in the wrong right place" - if ag_fuel_yield_dict[commodity].has_key(process): - - input_commodity_quantities = Q_(ag_fuel_yield_dict[commodity][process][8], "kg/day") - - output_commodity_quantities['jet'] = Q_(ag_fuel_yield_dict[commodity][process][1], "oil_bbl / day") - output_commodity_quantities['diesel'] = Q_(ag_fuel_yield_dict[commodity][process][2], "oil_bbl / day") - output_commodity_quantities['naphtha'] = Q_(ag_fuel_yield_dict[commodity][process][3], "oil_bbl / day") - output_commodity_quantities['aromatics'] = Q_(ag_fuel_yield_dict[commodity][process][4], "oil_bbl / day") - output_commodity_quantities['total_fuel'] = Q_(ag_fuel_yield_dict[commodity][process][6], "oil_bbl / day") - - else: - - logger.error( - "the commodity {} has no process {} in the AFPAT agricultural yield dictionary".format(commodity, - process)) - raise Exception( - "the commodity {} has no process {} in the AFPAT agricultural yield dictionary".format(commodity, - process)) - - elif bioWasteDict.has_key(commodity): - - if bioWasteDict[commodity].has_key(process): - - input_commodity_quantities = Q_(bioWasteDict[commodity][process][1], "kg / year") - - output_commodity_quantities['total_fuel'] = Q_(bioWasteDict[commodity][process][4], "oil_bbl / day") - output_commodity_quantities['jet'] = Q_(bioWasteDict[commodity][process][5], "oil_bbl / day") - output_commodity_quantities['diesel'] = Q_(bioWasteDict[commodity][process][6], "oil_bbl / day") - output_commodity_quantities['naphtha'] = Q_(bioWasteDict[commodity][process][7], "oil_bbl / day") - output_commodity_quantities['aromatics'] = Q_(0.000, "oil_bbl / day") - - else: - - logger.debug( - "the process {} for commodity {} is not in the biowaste yield dictionary {}".format(process, commodity, - bioWasteDict[ - commodity])) - logger.error( - "the commodity {} has no process {} in the AFPAT biowaste yield dictionary".format(commodity, process)) - raise Exception( - "the commodity {} has no process {} in the AFPAT fossilResources yield dictionary".format(commodity, - process)) - - # DO THE FOSSIL RESOURCES - fossil_keys = fossilResources.keys() - - - for key in fossil_keys: - - if commodity.find(key) > -1: - - if fossilResources[key].has_key(process): - - input_commodity_quantities = Q_(500e3, "oil_bbl / day") - - output_commodity_quantities['total_fuel'] = Q_(fossilResources[key][process][4], "oil_bbl / day") - output_commodity_quantities['jet'] = Q_(fossilResources[key][process][5], "oil_bbl / day") - output_commodity_quantities['diesel'] = Q_(fossilResources[key][process][6], "oil_bbl / day") - output_commodity_quantities['naphtha'] = Q_(fossilResources[key][process][7], "oil_bbl / day") - output_commodity_quantities['aromatics'] = Q_(0.000, "oil_bbl / day") - - else: - - logger.error( - "the commodity {} has no process {} in the AFPAT fossilResources yield dictionary".format(commodity, - process)) - raise Exception( - "the commodity {} has no process {} in the AFPAT fossilResources yield dictionary".format(commodity, - process)) - - if input_commodity_quantities == 0 or output_commodity_quantities == {}: - logger.error( - "the commodity {} and process {} is not in the AFPAT agricultural, biowaste, or fossil fuel yield dictionaries".format( - commodity, process)) - raise Exception( - "the commodity {} and process {} is not in the AFPAT agricultural, biowaste, or fossil fuel yield dictionaries".format( - commodity, process)) - - return input_commodity_quantities, output_commodity_quantities - - -# ============================================================================= -def get_RMP_commodity_list(the_scenario, logger): - import sqlite3 - - main_db = the_scenario.main_db - RMP_commodity_list = [] - - with sqlite3.connect(main_db) as db_con: - db_cur = db_con.cursor() - - sql = "select distinct commodity from raw_material_producers;" - db_cur.execute(sql) - - for record in db_cur: - RMP_commodity_list.append(record[0]) - - return RMP_commodity_list - - -# ============================================================================== -def get_route_type(commodity_name, rmp_commodity_list): - route_type = "" - - if commodity_name in rmp_commodity_list: - - route_type = "RMP_Processor" - - else: - - route_type = "Processor_Destination" - - return route_type - - -# ============================================================================== - -def get_commodity_simple_name(commodity_name): - simple_commodity_name = "" - - if commodity_name.find("diesel") >= 0: - - simple_commodity_name = "diesel" - - elif commodity_name.find("jet") >= 0: - - simple_commodity_name = "jet" - - else: - - simple_commodity_name = commodity_name # a raw material producer material that doesn't have a simple name - - return simple_commodity_name - - -# ============================================================================== - -def load_parsed_optimal_solution(the_scenario, logger): - import pickle - pickle_file = os.path.join(the_scenario.scenario_run_directory, "debug", "parsed_optimal_solution.p") - - reconstituted_parsed_optimal_solution = pickle.load(open(pickle_file, "rb")) - - optimal_processors = reconstituted_parsed_optimal_solution[0] - optimal_route_flows = reconstituted_parsed_optimal_solution[1] - optimal_unmet_demand = reconstituted_parsed_optimal_solution[2] - - logger.info("length of optimal_candidate_processors list: {}".format( - len(optimal_processors))) # a list of optimal processors - logger.info("length of optimal_route_flows dict: {}".format( - len(optimal_route_flows.keys()))) # a dictionary of routes keys and commodity flow values - logger.info("length of optimal_unmet_demand dict: {}".format( - len(optimal_unmet_demand.keys()))) # a dictionary of route keys and unmet demand values - - if 0 == len(optimal_route_flows): - logger.error("this is a no flow solution. length of optimal_route_flows dict: {}".format( - len(optimal_route_flows.keys()))) - raise Exception("Error: This is a no flow solution.") - - return optimal_processors, optimal_route_flows, optimal_unmet_demand - - -# ============================================================================== - -def post_optimization_64_bit(the_scenario, task_id, logger): - from ftot_pulp import parse_optimal_solution_db - import pickle - - logger.info("START: post_optimization_64_bit for {} task".format(task_id)) - start_time = datetime.datetime.now() - - # Parse the Problem for the Optimal Solution - parsed_optimal_solution = parse_optimal_solution_db(the_scenario, logger) - - # pickle the optimal solution - pickle.dump(parsed_optimal_solution, open(os.path.join(the_scenario.scenario_run_directory, "debug", - "parsed_optimal_solution_{}.p".format(task_id)), "wb")) - - logger.info("FINISH: post_optimization_64_bit: Runtime (HMS): \t{}".format(get_total_runtime_string(start_time))) - - -# =================================================================================================== - - -def debug_write_solution(the_scenario, prob, logfile, logger): - logger.info("starting debug_write_solution") - - with open(os.path.join(the_scenario.scenario_run_directory, "logs", logfile), 'w') as solution_file: - - for v in prob.variables(): - - if v.varValue > 0.0: - solution_file.write("{} -> {:,.2f}\n".format(v.name, v.varValue)) - logger.info("finished: debug_write_solution") From 3a88d95fc874caea02389bba6e2ca6fe9670a402 Mon Sep 17 00:00:00 2001 From: Jie Zhao <57420653+jiezhao1219@users.noreply.github.com> Date: Mon, 19 Apr 2021 17:16:35 -0700 Subject: [PATCH 20/27] Delete ftot_supporting_gis.py --- program/ftot_supporting_gis.py | 519 --------------------------------- 1 file changed, 519 deletions(-) delete mode 100644 program/ftot_supporting_gis.py diff --git a/program/ftot_supporting_gis.py b/program/ftot_supporting_gis.py deleted file mode 100644 index 2036a31..0000000 --- a/program/ftot_supporting_gis.py +++ /dev/null @@ -1,519 +0,0 @@ -# ----------------------------------------------------------------------------- -# Name: ftot_suppporting_gis -# -# Purpose: -# -# ----------------------------------------------------------------------------- - -import os -import math -import itertools -import arcpy -LCC_PROJ = arcpy.SpatialReference('USA Contiguous Lambert Conformal Conic') - -THOUSAND_GALLONS_PER_THOUSAND_BARRELS = 42 - -# ====================================================================================================================== - - -def get_loads_per_vehicle_dict(the_scenario): - loads_per_vehicle_dict = {} - # rename load and loads to payload - loads_per_vehicle_dict['liquid'] = { 'road': the_scenario.truck_load_liquid, 'rail': the_scenario.railcar_load_liquid, 'water': the_scenario.barge_load_liquid, 'pipeline_crude': the_scenario.pipeline_crude_load_liquid, 'pipeline_prod': the_scenario.pipeline_prod_load_liquid} - loads_per_vehicle_dict['solid'] = { 'road': the_scenario.truck_load_solid, 'rail': the_scenario.railcar_load_solid, 'water': the_scenario.barge_load_solid} - - return loads_per_vehicle_dict -# ============================================================================= - -STATES_DATA = [ -['01', 'AL', 'ALABAMA'], -['02', 'AK', 'ALASKA'], -['04', 'AZ', 'ARIZONA'], -['05', 'AR', 'ARKANSAS'], -['06', 'CA', 'CALIFORNIA'], -['08', 'CO', 'COLORADO'], -['09', 'CT', 'CONNECTICUT'], -['10', 'DE', 'DELAWARE'], -['11', 'DC', 'DISTRICT_OF_COLUMBIA'], -['12', 'FL', 'FLORIDA'], -['13', 'GA', 'GEORGIA'], -['15', 'HI', 'HAWAII'], -['16', 'ID', 'IDAHO'], -['17', 'IL', 'ILLINOIS'], -['18', 'IN', 'INDIANA'], -['19', 'IA', 'IOWA'], -['20', 'KS', 'KANSAS'], -['21', 'KY', 'KENTUCKY'], -['22', 'LA', 'LOUISIANA'], -['23', 'ME', 'MAINE'], -['24', 'MD', 'MARYLAND'], -['25', 'MA', 'MASSACHUSETTS'], -['26', 'MI', 'MICHIGAN'], -['27', 'MN', 'MINNESOTA'], -['28', 'MS', 'MISSISSIPPI'], -['29', 'MO', 'MISSOURI'], -['30', 'MT', 'MONTANA'], -['31', 'NE', 'NEBRASKA'], -['32', 'NV', 'NEVADA'], -['33', 'NH', 'NEW_HAMPSHIRE'], -['34', 'NJ', 'NEW_JERSEY'], -['35', 'NM', 'NEW_MEXICO'], -['36', 'NY', 'NEW_YORK'], -['37', 'NC', 'NORTH_CAROLINA'], -['38', 'ND', 'NORTH_DAKOTA'], -['39', 'OH', 'OHIO'], -['40', 'OK', 'OKLAHOMA'], -['41', 'OR', 'OREGON'], -['42', 'PA', 'PENNSYLVANIA'], -['72', 'PR', 'PUERTO_RICO'], -['44', 'RI', 'RHODE_ISLAND'], -['45', 'SC', 'SOUTH_CAROLINA'], -['46', 'SD', 'SOUTH_DAKOTA'], -['47', 'TN', 'TENNESSEE'], -['48', 'TX', 'TEXAS'], -['49', 'UT', 'UTAH'], -['50', 'VT', 'VERMONT'], -['51', 'VA', 'VIRGINIA'], -['53', 'WA', 'WASHINGTON'], -['54', 'WV', 'WEST_VIRGINIA'], -['55', 'WI', 'WISCONSIN'], -['56', 'WY', 'WYOMING'] -] - -# ======================================================================================================================= - - -def get_state_abb_from_state_fips(input_fips): - - return_value = 'XX' - - for state_data in STATES_DATA: - if state_data[0] == input_fips: - return_value = state_data[1] - - return return_value - -# ===================================================================================================================== - - -def assign_pipeline_costs(the_scenario, logger, include_pipeline): - scenario_gdb = os.path.join(the_scenario.scenario_run_directory, "main.gdb") - # calc the cost for pipeline - # --------------------- - - if include_pipeline: - logger.info("starting calculate cost for PIPELINE") - # base rate is cents per barrel - - # calculate for all - arcpy.MakeFeatureLayer_management (os.path.join(scenario_gdb, "pipeline"), "pipeline_lyr") - arcpy.SelectLayerByAttribute_management(in_layer_or_view="pipeline_lyr", selection_type="NEW_SELECTION", where_clause="Artificial = 0") - arcpy.CalculateField_management("pipeline_lyr", field="FROM_TO_ROUTING_COST", expression="(((!base_rate! / 100) / 42.0) * 1000.0)", expression_type="PYTHON_9.3") - arcpy.CalculateField_management("pipeline_lyr", "TO_FROM_ROUTING_COST", -1, "PYTHON_9.3") - arcpy.CalculateField_management("pipeline_lyr", field="FROM_TO_DOLLAR_COST", expression="(((!base_rate! / 100) / 42.0) * 1000.0)", expression_type="PYTHON_9.3") - arcpy.CalculateField_management("pipeline_lyr", "TO_FROM_DOLLAR_COST", -1, "PYTHON_9.3") - - # if base_rate is null, select those links that are not artifiical and set to 0 manually. - arcpy.SelectLayerByAttribute_management(in_layer_or_view="pipeline_lyr", selection_type="NEW_SELECTION", where_clause="Artificial = 0 and base_rate is null") - arcpy.CalculateField_management("pipeline_lyr", "FROM_TO_ROUTING_COST", 0, "PYTHON_9.3") - arcpy.CalculateField_management("pipeline_lyr", "TO_FROM_ROUTING_COST", -1, "PYTHON_9.3") - arcpy.CalculateField_management("pipeline_lyr", "FROM_TO_DOLLAR_COST", 0, "PYTHON_9.3") - arcpy.CalculateField_management("pipeline_lyr", "TO_FROM_DOLLAR_COST", -1, "PYTHON_9.3") - no_baserate_count = int(arcpy.GetCount_management("pipeline_lyr").getOutput(0)) - if no_baserate_count > 0: - logger.warn("pipeline network contains {} routes with no base_rate. Flow cost will be set to 0".format(no_baserate_count)) - - else: - logger.info("starting calculate cost for PIPELINE = -1") - arcpy.MakeFeatureLayer_management (os.path.join(scenario_gdb, "pipeline"), "pipeline_lyr") - arcpy.CalculateField_management("pipeline_lyr", "FROM_TO_ROUTING_COST", -1, "PYTHON_9.3") - arcpy.CalculateField_management("pipeline_lyr", "TO_FROM_ROUTING_COST", -1, "PYTHON_9.3") - arcpy.CalculateField_management("pipeline_lyr", "FROM_TO_DOLLAR_COST", -1, "PYTHON_9.3") - arcpy.CalculateField_management("pipeline_lyr", "TO_FROM_DOLLAR_COST", -1, "PYTHON_9.3") - -# ====================================================================================================================== - - -def set_intermodal_links(the_scenario, logger): - scenario_gdb = the_scenario.main_gdb - # set the artificial link field to 2 so that it - # does not have flow restrictions applied to it. - - # assumes that the only artificial links in the network - # are connecting intermodal facilities. - - logger.info("start: set_intermodal_links") - - for mode in ["road", "rail", "pipeline_prod_trf_rts", "pipeline_crude_trf_rts", "water"]: - mode_layer = "{}_lyr".format(mode) - arcpy.MakeFeatureLayer_management(os.path.join(scenario_gdb, mode), mode_layer) - arcpy.SelectLayerByAttribute_management(in_layer_or_view=mode_layer, - selection_type="NEW_SELECTION", - where_clause="Artificial = 1") - arcpy.CalculateField_management(mode_layer, "ARTIFICIAL", 2, "PYTHON_9.3") - -# ====================================================================================================================== - - -class LicenseError(Exception): - pass - -# ====================================================================================================================== - - -def load_afpat_data_to_memory(fullPathToTable, logger): - - """load afpat data to memory""" - - logger.debug("START: load_afpat_data_to_memory") - - crop_yield_dict = {} # keyed off crop name --> crop yield (e.g. kg/ha/yr) - fuel_yield_dict = {} # keyed off crop name + processing type --> fuel yields (e.g. jet, diesel, total biomass) - - afpatAsList = [] - - # iterate through the afpat table and save as a list - # -------------------------------------------- - with arcpy.da.SearchCursor(fullPathToTable, "*") as cursor: - - for row in cursor: - - afpatAsList.append(row) - - # now identify the relevant indexs for the values we want to extract - - # land specific information - # ----------------------------------------- - countryIndex = afpatAsList[34].index('Country') - landAreaIndex = afpatAsList[34].index('Total Land Area Used') - - - # feedstock names - # ----------------------------------- - Feedstock_Source_Index = afpatAsList[34].index('Feedstock Source') - feedstock_type = afpatAsList[34].index('Feedstock Type') - feedstock_source_category = afpatAsList[34].index('Source Category') - - # crop yield index - #---------------------------- - oilIndex = afpatAsList[34].index('Oil Yield') - noncellulosicIndex = afpatAsList[34].index('Non-Cellulosic Sugar Yield') - lignoIndex = afpatAsList[34].index('Lignocellulosic Yield') - - # process index - # ------------------------------------------- - primaryProcTypeIndex = afpatAsList[34].index('Primary Processing Type') - secondaryProcTypeIndex = afpatAsList[34].index('Secondary Processing Type') - tertiaryProcTypeIndex = afpatAsList[34].index('Tertiary Processing Type') - capital_costs = afpatAsList[34].index('Capital Costs') - - # fuel yeilds index - # ------------------------------------------- - jetFuelIndex = afpatAsList[34].index('Jet Fuel ') - dieselFuelIndex = afpatAsList[34].index('Diesel fuel') - naphthaIndex = afpatAsList[34].index('Naphtha') - aromaticsIndex = afpatAsList[34].index('Aromatics') - total_fuel = afpatAsList[34].index('Total fuel (Excluding propane, LPG and heavy oil)') - conversion_efficiency = afpatAsList[34].index('Conversion Eff') - total_daily_biomass = afpatAsList[34].index('Total Daily Biomass') - - - table2cIndex = 0 - table2dIndex = 0 - - from ftot_supporting import get_cleaned_process_name - from ftot_supporting import create_full_crop_name - - for r in afpatAsList: - - # move biowaste to another table - if r[2] == "Table 2c:": - - table2cIndex = afpatAsList.index(r) - - # move fossil resources to another table - elif r[2] == "Table 2d:": - - table2dIndex = afpatAsList.index(r) - - # add commodity and process information to the crop_yield_dict and fuel_yield_dict - if r[countryIndex] == "U.S." and r[Feedstock_Source_Index] != "": - - # concatinate crop name - feedstock_name = create_full_crop_name(r[feedstock_type], r[feedstock_source_category],r[Feedstock_Source_Index]) - - - - # determine which crop yield field we want depending on the feedstock_type - if r[feedstock_type] == "Oils": - - preprocYield = float(r[oilIndex]) - - elif r[feedstock_type] == "Non-Cellulosic Sugars": - - preprocYield = float(r[noncellulosicIndex]) - - elif r[feedstock_type] == "Lignocellulosic Biomass and Cellulosic Sugars": - - preprocYield = float(r[lignoIndex]) - - else: - logger.error("Error in feedstock type specification from AFPAT") - raise Exception("Error in feedstock type specification from AFPAT") - - - # preprocYield is independent of processor type, so its okay - # if this gets written over by the next instance of the commodity - crop_yield_dict[feedstock_name] = preprocYield - - # Fuel Yield Dictionary - # --------------------------------- - # each commodity gets its own dictionary, keyed on the 3 process types; value is a list of the form - # [land area, jet, diesel, naphtha, aromatics, yield]; I'm adding total fuel and - # feedstock type to the end of this list; maybe units also? - - process_name = get_cleaned_process_name(r[primaryProcTypeIndex], r[secondaryProcTypeIndex],r[tertiaryProcTypeIndex]) - - if feedstock_name not in fuel_yield_dict: - - fuel_yield_dict[feedstock_name] = {process_name: [float(r[landAreaIndex]), - float(r[jetFuelIndex]), float(r[dieselFuelIndex]), - float(r[naphthaIndex]), float(r[aromaticsIndex]), - preprocYield, float(r[total_fuel]), - float(r[conversion_efficiency]), float(r[total_daily_biomass])]} - else: - - fuel_yield_dict[feedstock_name][process_name] = [float(r[landAreaIndex]), - float(r[jetFuelIndex]), float(r[dieselFuelIndex]), - float(r[naphthaIndex]), float(r[aromaticsIndex]), - preprocYield, float(r[total_fuel]), - float(r[conversion_efficiency]), float(r[total_daily_biomass])] - - # yieldDictionary[feedstock, primary, secondary, tertiary] = [land, jet, diesel, naphtha, aromatics, oil OR sugar yield, total_fuel, conversion_efficiency, total_daily_biomass] - #logger.config("yieldDictionary[feedstock, primary, secondary, tertiary] = [land [ha], jet [bbl], diesel [bbls], naphtha bbl], aromatics [bbl], oil [l/ha] OR sugar yield [kg/ha]]") - #logger.config(" {} - {} {} {} : {}".format(crop, r[primaryProcTypeIndex], r[secondaryProcTypeIndex], r[tertiaryProcTypeIndex], yieldDictionary[crop][(r[primaryProcTypeIndex], r[secondaryProcTypeIndex], r[tertiaryProcTypeIndex])])) - - table2c = list(itertools.islice(afpatAsList, table2cIndex + 2, table2dIndex)) - table2d = list(itertools.islice(afpatAsList, table2dIndex + 2, len(afpatAsList))) - - bioWasteDict = {} - fossilResources = {} - - resourceIndex = table2c[0].index("Resource") - procTypeIndex = table2c[0].index("Processing Type") - percentIndex = table2c[0].index("Percent of Resource") - resourceKgIndex = table2c[1].index("kg/yr") - facilitiesIndex = table2c[0].index("# FTx or HEFA Facilities") - capCostsIndex = table2c[0].index("Capital Costs") - totFuelIndex = table2c[0].index("Total fuel") - jetFuelIndex = table2c[0].index("Jet fuel") - dieselFuelIndex = table2c[0].index("Diesel fuel") - naphthaIndex = table2c[0].index("naphtha") - - numFtxIndex = table2d[0].index("# FTx Facilities") - ccsIndex = table2d[0].index("CCS Required") - eorIndex = table2d[0].index("Percent of EOR Capacity") - tabDcapCost = table2d[0].index("Capital Costs") - - secondaryProcType = "N/A" - tertiaryProcType = "N/A" - - - del table2c[0] - del table2d[0] - - for t in table2c: - - if t[2] != "": - - resourceName = t[resourceIndex].replace("-", "_").replace(" ", "_") - processType = (t[procTypeIndex].replace("-", "_").replace(" ", "_"), secondaryProcType, tertiaryProcType) - - if resourceName not in bioWasteDict: - - bioWasteDict[resourceName] = {processType: [float(t[percentIndex]), - float(t[resourceKgIndex]), - int(math.ceil(float( t[facilitiesIndex]))), - float(t[capCostsIndex]), - int(math.ceil(float( t[totFuelIndex]))), - int(math.ceil(float( t[jetFuelIndex]))), - int(math.ceil(float( t[dieselFuelIndex]))), - int(math.ceil(float( t[naphthaIndex])))]} - else: - - bioWasteDict[resourceName][processType] = [float(t[percentIndex]), - float(t[resourceKgIndex]), - int(math.ceil(float( t[facilitiesIndex]))), - float(t[capCostsIndex]), - int(math.ceil(float( t[totFuelIndex]))), - int(math.ceil(float( t[jetFuelIndex]))), - int(math.ceil(float( t[dieselFuelIndex]))), - int(math.ceil(float( t[naphthaIndex])))] - for t in table2d: - if t[2] != "" and t[3] != "": - - resourceName = t[resourceIndex].replace("-", "_").replace(" ", "_") - processType = (t[procTypeIndex].replace("-", "_").replace(" ", "_"), secondaryProcType, tertiaryProcType) - - if resourceName not in fossilResources: - - fossilResources[resourceName] = {processType: [int(t[numFtxIndex]), - float(t[tabDcapCost]), - float(t[ccsIndex]), - float(t[eorIndex]), - int(math.ceil(float( t[totFuelIndex]))), - int(math.ceil(float( t[jetFuelIndex]))), - int(math.ceil(float( t[dieselFuelIndex]))), - int(math.ceil(float( t[naphthaIndex])))]} - - - else: - - fossilResources[resourceName][processType] = [int(t[numFtxIndex]), - float(t[tabDcapCost]), - float(t[ccsIndex]), - float(t[eorIndex]), - int(math.ceil(float( t[totFuelIndex]))), - int(math.ceil(float( t[jetFuelIndex]))), - int(math.ceil(float( t[dieselFuelIndex]))), - int(math.ceil(float( t[naphthaIndex])))] - - logger.debug("FINISH: load_afpat_data_to_memory") - - return fuel_yield_dict, crop_yield_dict, bioWasteDict, fossilResources - - -##taLzWuj?4i z(1lyc3J;hko+PYXs#KPqFnMAd6(H{u^2MvR1{tU=VDSfgpV*8#Gdfhbqv8d8*W=Eo z-4_VZUNKSe>E-ERJwaspNiA@mpxbI7&iYXW#(m2XAsW|eEn7YAVQAC}!mzDX4jMKfW z+}fXRk#Kd%H{t>5IC_xL&(Fo&h{Y_U5-5p985HvcEnz?=_zxG7sz; z2)%FwuX$2+9iIzct#xF_He-A_RLz-e2>u66k@quu1kI(j53}Cm78hylU$gcBN${rF zxhAxH*r_J@s_R2|1aJ$`705ab+hvg9#~ORQm_A6<`b$oqC(|7>k;I3V3u9K|y?IB9oLy+E7O5}x;5GAX8cippq3j&7f z8dC}xuWQZo!=$|yyN9Q@`^U{MvQABFJ@SrQy;(k1W)WNjQ5at&gql(3P6%%iyrT#B zK}8b!Z3UhR4Z;A)%`C>)S*+27E1x>oT*OrWV)=6_Y$PR7XF=G^DP+7Zu~7jWJ^W9H z=WjLtcdIJcb^04!$8=RR48BPUEmx>boj0mE$V%QX*imIOhY&z^3y`<^+8VOG!;X|5 z@jC^_$hL>9=X;}ChH1tL0Z%@3RVf6Ft5TKwO@P@tdR@;!swwiR0Fgj$zc*7&HEl;+ zDZZ^zt6MBQS1@U-F{nTi(-}0%1uazddR~*X1_bYl3Z^aGiX zE#}tdcErRRad4&Y9j^<)&J*QTn<^U#heG6MvM3de%b=x&6UZ-bRrnBWy;R0tWCY)9 z?_q>c489}i2{mHly%=+~2lI~WXTj^e_3M$C@C9`nCg-C(9)6r|JWA8s8TbQcnxMIj zFZpU^0&<#XwaTk@u0pgvHF1$>CT7>F;8j}-ACUJ;;sWxGmHMB?oA^ZrVv!H4Xdzth zlT#=qpuU}&qad_m67@_Ip+&Zt`$ygad<$+z=rxU_vqWHm@;8g?>L3medOqsAb75gfRE%uhKIjNzO$` z=1Umn-cXY=VEexTaJm8*gYkw<0IOEc^{!ORm)BF|fh!&!u)X_!d^o#k0F_K_oVc9ePXVOs*bRV!9KBWr?1(Rfzl5LU%~ znRK1KW{ypmR8Ik(!JxVftqxJ1c__sggEx3}Z^nx4yTRcd?O9R=*pR};UytO{M==oR&H#SIZ< z(AgfsodtIoaL1n%3mjrggAeF&3W%C{r{po}YK6T(VuAPAbDCkVqYo+f2C@j{PteW0 zAH-|!bPAh0syPKE)Z*Uq1uxbQ0I<<*x;)D6rqE3lB4AiX1Fxa!UYFKw9iZKY%(SH2^_yi)(`y{SH0{aG(h0mESULwp+|px z{)gS+`QiBT<9xnGIH3~`;J_onFE0|}42kwpVxgRa8V#$B1YleyJv2})PDsx78SWyq zK;4$wCGfldz35HLN7xyCZnh>=^iI&n1@xal@WSpdJ9P?L-gje9NtY6=B)cq7+!^Dr z=c)E_#0b8sZDu_4CN_xa+N*GK03Rl$FX;ecEL~bTK>YXtx&ojfW1rOlAnXi2@Bu(; z?7>Jj*A;mQ=>YM9RyTy0e4j-wLLwCWXo|2Q@%-br$K$PRRfm|Uk1$!Uv#{6$#+zX* zL=6!1xYo^MXlY^sud83oi%K#$GbCY)5C{bw6Jsu!l5F=c=kwR&!v~a(Y>VZ(aVuXw8Lm?%KTe2YSP^3@ck>Cvj$Sk?(Fv#p|LJsVY(QHkny;=) zv720jgPy8G2yPU_LG7(gHPUn#+IC|ZSQ;rfM=d|AftwLSssp!~V*J2ckTqq)a zEVVnx2xMX(HfN4CGu8k>pUvnhoko~a?Du#>NQ&!?hR&oSEJ0zhGwIX&%L$?y+MxDJ zMGlV3!@67OyBCS=#nNvgEcy=DOkuMwgu=8FR#8jQ*sKdtC69%6B7oQrCQ~Sbf+nt> z-K=ficbA{9I=a7TL#gAmrlE1_%lq8lG{E&ym0+td3tv!3V{r3xUSXZsF(ck2UbmeL zCgNKX%~!l$Q%%VAV&mZaLl$N+iJJHLj~PjGICkOeJdq|j%y}Bk;bJ`ykoM>%nd=QY zlZPWU8W6-!)Po&u&6H3&Rx^*Gvt0L z^rW2i6YbcYk=7LuU`tfvD|gsAYeTEI)ms+6prCsiw<6V?+s8MN z@@WPBc3u2s_{r&Q<*R8-VG9Z!yTKoICV=D0l{5K-BomDmWAe2X49+x66xB1SW`gzl zNfGX#(CvanHZ+8V^^-L1zJ1@NeRQ~#gZ#$z6Lqz#sZgfYsv`v|Us3O1o+3Elp}hrO zgy^E;zn9}=YzLMfvV@71?Ye&i`O}}Wb&cNXDUnd8 z5`3%CbEkm=UD({pYL0Jc zE&>^hYfrvhghD7ze_yz!J@Oi^X^)(!0ct4WGlU2&H&|-Ny~UxIkp>R5h}u)jf{_L9 zzk}P7sO;bd>p53^9K??3V6|Ru&z4`WUJ=WW_I(I7g)=DXo}Ukv9{N55k89B6s-@+- zrfiWP(?+o3&4xM)$f0oz*@pqI&;v!?5$gv8xnY)bK6RP4l)eLk&4Kw+2RJU;i@xRVecVQQM>`JZs4w>AMGiT=;;JuA87( z)6;x7zTQ8+za8hxzP@1mlJJ#poO3=%g9)!Puk*c5(VN(Nvk>WlHq%55tEN(Df|4$# z&|&-s4};ON$`^X4MjV77*kf=`?QIr!cn8Hvi=!>Xm>Hwy_^hYFJ;L+%VhLhPi9~^2 zGKlJ#wfwq!K-8~K$T!IexGS;0{uH3RK=?T-qMClbi_`&`h|L2cy4G($(R_oYiNMl+ zabn0@HH}%bv%(XUI~HtAWKDkrc1jS58_eKsN(>(S?>$7L&5g{Vf(Q4qXJWu1-W&(2 zpdwU3$ONbK`b5sc-RGCX>FuvKjZimD(vj2iP$n%P;c0=4W3H{g7h94rwd{@Ud5)2$ z4Y$ZBP5=VThBJ3eSS^{)JIC)omd)3J2N!B}2f{n{N^-7fd2Al%9Y7b2T@#U3Gs_8B zUb39P^(XLLj+p8ZKAmo?(CPxFjEg~V+MjQpho=(q3KAcdL4ObQV$&|()a`!ojEAeI z?Ng;W2J0gQMW}%=pQ}z&_jJK&VyUOOxeyEqCWk;Z4t+R2fDn+{cj(Xfeq6eiR8r^@ zc6b(~{8B$e*g^_a{Blt%|3pozi!2ImJm7D^P0UC@MCm(h(h5$|{?rbZ5H&r}+`$4y zqMxWLLJw3lPXx|ZICPVr&p+V458uB(AHN*lZWV^Q_yT)^O-p1Xo_KVH^Nv0S(1A*` zL|cm;xD0a4!N8-RG$kJ)w}QMZAiqDnd^*0o+{*0QzLr&TtM^L*)LT=1F_$9vHgK`? zwOV40n5_3%MV}QhI55qI)!0HPf=b64A&B3ZgaMM2JJPMR3dE(R3j$!QJ?f{Sf^x|@vPW`=8H50{3U=R)B+R&Ctj z&nUyiq92>DyHge?<}QkaXpUx4sgWBq_}IzERjK%Oa0a&tg(s%YfIKsu8#_s{(1QO7 zQDVE&CYAHifkcG6{(8SJOy;qC3W*=&Ef;FftV%}IT5vEF8B z-b;@=6WkoFPeU_dvnmc))(^QKM_~-4^uj%Yt-bP9^&-}_ZHxmmJ=z&|9}Q|DC{7~W3f#M^3}4z>sD0F za379`hu!%vHWM(W|}zfw>ScdJA8cVlfvk-WwmixB!Vqn$J;y4 zuD%@)&o}XE1p(G#PC#)Oi>yF&wGRBXnAO}9&SD_Xs!`N@!omm7XG~EtV-G-015~_@ zx0k0+yYuJW>rV}FnFzQ;58TrLD0YE?;n2-FldWU6NxQ`|#AQv;e5>p2rOe@DZAY3Q z$N91QRLNKluaCReABX34X0^rk9yiPQ9TUjd%DlSR-~)&8R%OV1Jq$8gk6(e=du&I% zita1%F`o}#ci+#rrE0s>Sd^M1ghP?lvzIO0D`Hb7r`meBj&0y`>AV5~wgPyRaJ=W& z!}D#dy5-9@36~i~oLpa59=M>zhJJh%?-n$mcAW{T6R1nd`!FQJxOp-fxC} z!z=){t_d}xC=yDh!hM47#?h>Howb)Sfs1r8R9HAoy$qJx#hfjiFmbFwF821$th1ix9y+oxbdTJv={eaHFGsk7;0_dZ)5=eU2eQ zY@#=wS7qplY@L5`a$_nw?S5qxDv8z9e#yt)XvcRGFRW1FCmQH}+bG>s*_`0-@#*r) z!I2x1cuDM~ThiK_kan@5X_C$EG*M*Z-0kw{F!q05jt+zQR=dM0QZbjBWp_q;th4(c z1dJu?yS8*!A}qr*W)9<4Zxu;1$us<0x#ZdHi2AB+$zl?9NoICNzMRjm$J23xKizpG zWsqgevm41RdYs{FT?#cjjmc5XgH3onv0~1@v*Hz7=$BN-YrSGL;2#3qgja@}U1E)~ z=!t*}<+9qc%Q9hcZ{U#f%3=${D7|>WAJ=tV_MC{+xQnsY0x*4n0c75@- z)o!JsmAc~L34%+p$B?dJt(6Fx>D5?G-p4qpm&h{AM$g%y-;65sBWcYRpSd=%&S4>G ziF}s~JD{MAAo8~=85ipstd!MAu&WsYi^bYuW|?VrY)9cW-|j}lLn0rw*W6qolLugm z>)=7opeJk_ror_rI5?X^8XEobK0ur}4oWb?j&)(^BCDK*2ZUSy^;Y(%uhUZ5#4zn2 z6>4$TDoB}gf+Gf;c9&m48bL$uFB2$vN0J|uVl!YYfrm8IrM14#S6fExZQ~mI@&CsJW+Sl+c$T^%-4KJ;Fam>C$)FIs= zXjJ&^{qPKuek-LYPG z2hWIwfOESMtd#vSA0~5cPR1T>0WIg02WqNu3Bg>r_efkl_8c;^4*Yl&2P~#M9G*6K z8J%TuS&iV!^%@j`>Vg_)6B4#HAGEg52IK-78N;V&^%jdOFOh8|!s(9@;W7L;Jbk*k z&1aZpQX!$7BInHRM+|^1C{M#yI?gx}x>*|hP%}>~)=A)wiX%d3@#%N~ao+L{`#id9 zh`AdASFTmWdBW_LRWsvtK-su~@*LGhDjgmE`mJX z_fo@#Z7OI;SdtR#B?x!Q*SEWzvy7;qJ693)k2fxNm3@m3qN3LM;90@*(u!L;ewdMn zw9i$Prtp8@mGf4X0+B(>HsN{)lKDx+XJV67FUUmBmYtY*2Ozs8$cLv}PjrAAFh=N# zV3=qX;a;Id1vl4S^e^FTZ|sU-c4FQgKpTd~hh!Jc&2>09 z&H4B_o)7FPnh4@h^b&5~%~G7{x6$MEBPp%g8$rOure3s#V3^$6#~u#fKw|#(|Nram zzyH6xfB)OR?tZ!dXX*GH3+XfU9*3QVyxY85Ne6)+CB3%dv`E8M$ZS8O zrfZt_{mQ@xQI4vSkGoI*<8QzJ)BiyD&;Rr<|IhB*KmE%;{ny|Bzu*7m-w1uTc-E>t zVT8Wi30*YUoPEKzkNH=s10T`!?G|Woi}!APrff4~(!C4#n=p`geLTN?c^5IchIsU1 zY-=8}`n~}&4mI1N970C}?-m1xeoroli1+G;RkoR?2YkwDfQ-)W>(l$|^Wg^v6WcG@ zEB4VSx|_qbMZ|EQIjM!>Tp)uRR*0*FFeMKl&VL|cq*~Ii#^ufJ+6;#xRwR z5uv(Wcdy@`-X1r}a#!Xhu5*@-C|u{#QwCOrmLbiEGfjzs;Y$}Y;ful%1#$f25N9>K zaRImxfk%6OwssJaYM6hy1PrQSG$X-h z*8>0QPBW(tr5pY*z*-|Kym8HjphRf;F1cU`J4g556v1m2@E)JPZhCYYZ8w=&t+Wyd z2-=Z)xCv{a4!9U%X%<;Zb`TbiHjgQF0I&VS?iZ(bl7uU<6Nr2VvI~BNni`4q$)T+F zZZupln!(vqs!xsybs+lb1tQQnzhR@(?HeA-;UbdY;)T8R$!S?(0RCea;#ak^ zkMEy89bO(jj#yJZYk`QX8UiH5#8HAlXINeNAjE9uaBJj@*gImVp6>qh`{Cv7ufLLW zyajdFRd2j$?EDpXoHd0nxTR}Sk`bva8l3i!*}eBD%1TwN282wkV{w&QI}Oeop$4q1 z?6r*k{CYfm_-W#HubI-w)B}m=WDLwFHPeu(>B&=H!u&&a?WUZ2Vsn}esL*xMl$22A z@BQ@pHWQm~M~v-zt;2%6(Zby;E05D7J(MzsvhYLCnXoxzG98q)2Dx$IgLC(Of4}XP zN4nOzEqvZtH}O3$^R))*0Ewdt^j_L+i5;f}c37vs2X&y!mYe2C#dtv-W7s1n zn}Us~t?yDwvv+q9T`_+S&TTEA#$6PLZ%?Pg&j?7{PtPJP(aNHH0A}lyqapEC*1DyN zG&AW~2+OG*Zp5ZM)G$c_wYHW!8mAWwSSr+NU)m}9YpqBA_y=5T+0`M!zShlua-i7}C{ zY#u=MR7p_0i+fkv`ty`)Z~)5uV&#g#b&Yeul7X^?EIPsDu@MT5LzRPXJhOPFj^I@W z%k~VxbwyHp)e6P^P~k3d8Uz#77B>X89stW7QD(~h=n0lJEPNG}&Rca>m_f&3R;O3# z_!obDdcJ>ry3LW&HwcrgF!f(y8x#tU663c<#x})6T-PN)6w!!)*hk6UtED&m1u`S< zym7}Hz8>aM(mHdf28+oXFQp_29L%gp49*TZRmRITABk*9yoy~~>8vNY5j+#Dh(sO1 z6H(Fm^X~C{782t1C)#m{PUyfEEg;y_I?Z<;Ec#4ptcS`30X(|qM)5=#T&36bc!F&h zwytlW&q7twm-9RV{mbj);Q_?u{Oh&tj2(lE!J@C9lTo3Xd)dj1q-PQPgy7>q^z1+3}!2ME8xc+-l)6P-qHVrWNnU80_)hjtv5zd%}Q~sD0-*~8*x=YjPuZb zA3=dPsm3W9T-R)(W)fdlFHEHa$I%5~$La<9?an{gY1#eqa(H^ia^JO&(QyMs@*JZ& z5nOg%f{5fm5RpP4-4v$rRnvr87L`A!a{kA7@pzd|$91E;^Cq*?@o;~}C7-t{*B5;Q zwsTwF@4S)0>BX)AFv4CZGub*7(OG?knlh-Fpju@tH{R(UpsFL2k6j-+fsO)tX_uhhaCZf4*OM6)Nip}=`5L=X zIl-oVa%w4TVFP3p%em}6blEl1Io2;?GIdYj9N)h_Js;oxdR-xgE+voDJyL)SafG|P zI2z4TVTgm^54A}bb2Yq*YjTHwsvWI{cao?;&{zw?Hn00D)8h}lkx*2+;X4olgte~{oOB;3a) zxT^^bVnVYf>i)KJmQM28*D|o;{n7QuANCCt2x3|?+#-M zAF$f-k%Zaeg{`I?GA6d=L2$E z?(eS%yY09RGIl$#tP2ZZnP?y7l?Ve@2j=nOC)@|xj#<%*!PHr;DCGXLwcq`MS)y;( z%zV3XywpiKE`e1`H9v&f6(Y%>U!JWiwUCW_2FPYUfrMxEa90&1GwC?=n!3z|#o3(0 zr{l}%`1W|KZEf(^bt5%dB1-)`Y^G-aaiw()zP{qL;ue{ZTxxSuR}#`pvg3@7@&3NE z5VPBjv%s6P5Ljo`$QkFuG^b1sV~rZ1xpEk`zD9StO@%3r?w=2DuU`)*aLYbGTT<7q z&!i9hsx3b6lrez{5lPCv^|<455-@1E3AEoT;)wJ?ZKba7A`9l+W3JZg^v0WzcoHHXH2da^Dz zfvDHZygLr7Q+>J%U*!GyAT231r+$3H!NqM|kTonaGG8(?KP1mZFY7>bK@eIeY_YX` z>s&vQgjyb=*5>Ficq`xsmjKY=pthtahOaO zjWn3cQWd>bz6v;rlar{dBh`*D8}a?{{B5pwZHq|jXb%ewbH_L%-oe^rk3~Aqi@}Iw z(wLB8ULI${C^m2nclU>Hhu53L8Xa{^9DSL0^at)}oG5s--P>BO+!USPm zaV=+BW9KMVQm^@0E6J^kwO$P$l{iQsik*pd(fZ;JMI;l?rM1I~62UzUvvy=@5KE}z zW&%u;Q=~c0=dZWt8MU*8ttxX_g@e&d8_kgY$YXIl7d607kg-%>+OL*T?03W4DT*OX zgI7iI?)~BP8}%Juk%z8H#i}^p-f{n3;M7EZSf8e)8%qY<|?{jJ^!Au>zbeQ7q*t?J!7j5Bff?1F? zF_3vEuux?md8cq&;_Y0P_Ce~(O{tM{E)=aoeUQP$Jy=N9nOAkTk2a1v8^1>$6i5;y zna9ppjGbpYbEC@A?R_vK3rM)bBwC%~PVig3RV&p!<@&)FQao8g^$`5j@Me-@)a{y-;l%fNygxr< zF@L}N^s>J-2;dZK(D-w_#wBG>7fuBr@SgWU5B*h&iUP0if{OsTnslX^K(iIJlP&;B zF6gz-1?_(M@%Z$1HNW2x_k!o-8s&rRB&auz3?}f9_TU1lF?7oBXIlQ$-8d#$Y-lcc z%_%cA4}c%$0d$HhiW?j_h-!J9vcXCMg<%i6@J|>*!;8 zyDvUzKGX`B&7##KT&MvZde*A>ZA&6q+Q?+1H{Wk)#h+|21)0?XUpxRS_@cw z*&bS5o|@yVt9 zOuqwoWO}+Hu!gMixG?~o|_N)6TEdeIRt#HNb2wWi>ij0f<> z9xu5U9o~)N8&#$>SCvuMGNFoF9MTIo03R;;UvZ&Szs0~#%)|q5(;oqs>glm_-rfZ* zx^*jPoxPlPgBVE-FkH*SFgFjJVJSbl@eJCk7-UFu`Uzsfde(ck>>;LY>Y++>0^j4J z%8uNptyzGtoQ+i2;pAr2U-{E&M{JZm!tGE&RtVTD1pr`Es&ikK?+to4K*=b z4OA{#cbSdHIo;V!O)+(*{qcN${%BhOja}qUvT1COuX#~cuwyY>wegKzInZmG+<_pA zG1O(e8S?Yf2R%>hLPr;A8LWY?x(B=0{A6z{T0be$X^y(V4z=cssy2$)Jsn`T3vQ%@ zA35!9bC7|#bA}$dT*iDJ)-c(V1&Jlx%h%{QmdlG zy4=EnKwR7~=WSw^B8)fp0ms$k3HwiwBwKsphHew=nuzFFZlGf;qEHufjGxZ2OMIk%s0NAUBob2 zH=Bv&p8TZ00|8G0d@M{jiv51v&eL^$tdr`|o@p4s22h#~yRY`iD~+7$6dbP1>rEkg z&waBFp=G1z^%UIP^2|Nvw@gUKP)I9SCH9kav-LGLStQBEF^{R;_be4SZ9V^xrJ@Mj zK`N*c|M~EIi&fqBj}P95Gos)sog3O{go{n^E`qjzcQwPvR6yC|!j`@rk(dDB0V~l4 zy!eh8?Vxw|sxfiwViTIlQ`LUWjp$h+eeEITzGpjgM>xmOthurAviD?9Pf;tV`uUJR+ zK$l;HETBnxMmk)fA$Uh#5yT5-9CXR++spCrZL1+yC&-usmEg7&n7w*#C*mY$?out89VD{v;w>)Q^HARNJ3ubI| zDq0l9V8#CBkszJAl3qXNc{-X_@A@@Bqf9ee2=j4*dj7bXX{LhNgGoGon|wa=?%^d1YC#-PEt|a z9CXu29Wl$uOv8rEobzwIlHM>(m;+}R2)BsL@*fZPUr{}OI=^9gkp1c{iZA2k$L{Xm z@5+3bo!vG0;BHPtX@eBsga3RuY}oh0PjF6XVDxD#rpM^sap(cLyzrDi{Sz+l>=95 z^$?g3`=_xLGWnKltk#A3a$HZ4Shz{%_4xAZ)BWv~OqXp`TAM{;9sn<(vWsyoWQmkS zLaH3yL;WY}!l!GKU)4!vt{fM1ALCl(b!#AiVU|^| zJ=a^|5Nd5LLuQj0+)|!{1_wCQ`t*)ncDJtjBKyVEPm5i537w$Z1zp7~9k9z)W zK+g8Dqv@mKApHN`H>7lYeLMX2w#C!#R$)7pjuyL4s3|l6?S}@iJ;GAQO-fMWU?en9 zwo@LV7|J+w%#fk{$MfT<`l7e`33S^AmfXx-p&)-0&HYqmWO4Qw$Gn_rj)?TjcxRi4 zRK!-yW6>TS(hAc4lQv`D?@xW-zwURR|NGy5|JQ%pz5f2U|M}1V<@Y=F~@xDo~}H+IErN!@Ywqc_@i*2s%nQ^Vc>P}jNtR7Wvt?=A}f zn?Tf@%>+93F&>VuXY`AzQeL~(E?Sw|W)UgBn!4jPtR%ubN`*~b)dvl`wW=_2CBwmV zIj)SYb(AZu1W{KNh3}M|p&2fz4-U=!&VU?D%CMnmAQc~I5QVi~H`rsn8j-NF0W5k5 zYR38vpw48>KaJJi!dhHwEfHhw!C9S!sJfp_j^j!hvyMN7wXQLc;rQ`hmlpaER^OW6 zi(my`ZZ7}$iq#0#B^J*{%eTeaIda}ugr#wnaRzJ|wrbcX&`xDgtYw((K<4%^X-+W0 zSE6j2=Nad1UkfzMcH@y+@)B{4 zvH$O_murzb(DvDk%w{+(QwL(>p^ds%oYUk*vCOj&c!sJsz|B;AZ%80;xIeC{v5w)Z z+}SxCom=Ht2u$!`p^Iq-B2k7MLeAWpfra@9Ggke`mtjI1KXvYc0IkFy8>FC%l>!${ zw5L$7HUz&~F|j3h?L1bROr z3U#Li9dSWz9;T$|e_4`~fYq60bmh_1-5-91P;WETN~hL}@bc^=n6?;WsOp2I`X6=z zw5qXCgM(k77qS!9ELh9J#dh_-O;}^o5VAc>qHYhpUGajIV05jd%3TlMJEH-{h zOER!on0u9$C~wcQoO;0Ev-o{X%E7IM4O0@W@xqFpu&xChRS7e74YCZWyoyXBV>t~I zp4V@;Bi195CI&lIUBRsas4SA%BX`8CET+O)pn=2CP!hVdUsY_GvBn!e)K*DsXZL0W zsp+(@rF?8nO5{mtwTND$+v6P9{MTom?>13)!Bvs<`iE8fGC2(x=Ovuq?!O*Se|^H# z&lWebSe&J2fh`Is&M3kq?Qz@SfD{}-H>_4fiWhaE^8MMQnK)K$D7JjQ5yjhnI2d6T z{j?Zq#+F}*&%K(Fq-h3<#GH<92r0xtZVY*tWX3x^c19yn;NByl*u!r(+ZHsTpD*oM zMIJ#kk&~=p#jpj;(T@xTxY59dmU>&K6EVy?ga-TO`V&yoOV6&jX+%5H@Q%HxHP9Yo%BsMT%sx-8 z(;_pqWmLO8W{=n)S*VF9|4 zAwTVYeSZG!N`Y$F#_lFLRANq-I!;>)--`>`v1JkWWpziYJGXV`%=(eoym~zrO9c$n zZtS~$pb@$YA15^tl(;~Vij}v!=xkv+5tr0<2QnaMWg5l@4U^OW_OX#Iu}Hyx-2DRI zWwiwE`wCW6QQ0h45acHQ1R(AEl2m*ia&2WRad5vK`eI2>X|8_)Ho4u}DVzhL>2G?+ z&*bA?-=8%s+JF!uvca0_L8xhr7Evy4+KA{(q=8fyJIPWQIIj)U(D-hB6AFyMPxJ8f zmrZpcEh=fKuDstNg;DhrR`y2+xS>l1lvq@I=CzJ7W}oq0bxVl&@Gb9l^K0Jtf~m^c z<)YxyCCIcP!DXsEFETSw!UV$iK5K^07ye_ns2R5m3t;8fa1{~t($3n77{2Zm#N7%R z+P%SRzGg8&?o^WY2o5IPlX{<|@GW^BtbR71GGi=}0Pl9Nwz0zHJBz%+e^o3r=MwEt0o*0(IDV@8Q<3v zukK4sZX&iq?+^F+}qOE{q?b*sWK#Zl`sRe$>-i~+ff*)o} zP<;H<1nrvmcsWKt>s(oRQ4tw0n#gTC3AyY;X!l>3hQ+FK2LTJ`+J#WG^SR!#p% z{t2|G-sMDS#f&D+n1%jSZH+&jaJ$Ek!^_L@^nk2n>u$m2qKQd?1_3Hj1juDWTcn!p ztUZ^}Se3l7lEE~SrY#`YVo=jC^+5*p{1?oR&0(OM-X3>{>jd$G)U@gr8zjNLCN-FW zckL@o^9~26+M%nCOkzdz;0#!F!Zcf81jms`#?h{QW|!o)BwliLD#EE#nQ zp62twj5iy5MdZc8UN9u%iH2#zZAbAceJn*%@8@H92QShYrGP5EaM9GT@(sXSYfXgL zUalD3ktg|M$LQKiqy8fOF^DpA+PmD*cgQg=mTDU^%fi^25nTKp@BAe@DY;O+HpY{@o5X_BY-~L z!mMjix=)ia!~M*lU4j_As7D+5rfoB0ZU!A&iKk|ql9<x9R9K6^YhdBZC6L| zcfURz9^UV-*jm?In}XGxO7YTXk5AZ3&pRnV;IqxRK4Z=`8Beu9_)#&#R#yuKZ0ZI` zRwX`*$t^>PjfNRffm)k)U*}yD2CP*obOsZ_E5KPIo@e6D6QkkS(Rr_v54& zevN3%#U#&ULu`k+@_dE9%fTTQvi1Y*-Z2@t3#V@9~y(k7kt_#<%R+~5`5HhOX!1Y#(Oad)LE z#;teAvY4=GO*#SM3pe$UZ%^80_siS)2b|&MVfS>u)nCh|>&A7Wq zu;*NPwC%Y6$rLaVM#)OGSIo|Xjd)5)N<-4e3ng9QaB4=&Rw*~mF;(lzN>)&$zBvM1 zC5c5fC$Y_9N*(|{E-}T+c{qOmAd#MRck`wyS&7{$Z#m;CX4Q`E$-+i(^ZQLb_#~0q zOC^#CZ4tC1UHQ+UHKqA51K6-kAB6IZGp!?7pHustHK)W>JOFm&D*rjK+E2W=*|I$T z3|3UHy%n&@v|L_|@roEm-N%T&OOR?A7`Jt2MGrpfcKr6#=J7vJOL3o)dO|M9xMHv0 z$V*A8Vf2b&FJcjO(Mj(D*|lXL+ZsCp?u;>QXAHLmhRjqDYdd2C?p;$6bj{yIblKW> zAjo1CgOU##SqpsS7DCu{H>BJ6VQ6V%eRmi&)K+)N;ZFt`{#2v6C)*N`E~1wcq#X(> z&|^I!b}=pG0_bU$D_5&S&FE;6pzolDWCUu)Oc4?G@h{8FJY{MuixRehjckd$YQl?{ z!DKF=+K)j+=Ja&udZfrbKt*a0PH>V^t5IW{Eg{WQ8|jx=E$c-AS1Nc#jA56SlkDP; zqikzXs}MJ-5|1Uj=6;Y&qs&CU_Fz1Ic{RXIaT~tLCJdR4IIdM0B}B|(S_<*$`CYwt z-L4x8k74TPXM$*N7Xd5$H`SJBC9+o>NfIO%Gi1^6jWJdg*>{!okLe3)jTzPkop|BM zT3Zb9ICuMj2(I-x4r`_H{ur)~T?~uF!*K&ELFaI&q=~e=i5`wKEV zv=3hCAEM&Qm75h4s9PK75$JDE4-e0@%TsN}+$O$&k=D9PD*(@W;KX5--^I#`rR94A zqdIChqxyGzMJ|@GjJZMV!MPEm==CCny7>8ig>j#^cH$X8FYR%6%Y1XbrlsJ5+Ut|8 zz{y2z773^ryN*X)N>`v3zG7TLbb2oj`;D6Jl37Fcb&{L0$gBZkLG01`!C~1dsbFxL zDrT{FdYW~lPYJ_|E^n}wWR{?iA!sF%>=Q`1SzspWk1O)sJM~+%mKGy4XrmKt9 zVp*Az=8;-+EG#qgz#&Gxfrhn;2XYGCpFe*-9%)PAdU8Nl{*XS@4u_$|9N6U)JUYOt z*MV5;!BDG~nk0e(&giTG>&-JIkIy4c$Cuqd?A}kO!?)uDwM}kgTZvRK zu&#TT8Tsi*%6-TFFU-PCSEiJ0t9A!f1gxkv0KVuTE9luVPiVPMxc5Qn&+ zn|=wgm_a`lL<5I-=Esgw`kzj(pRYVSJwt{SHJt09SI4!h;A#mDDHV;uB`0b^-qsQv zD3oR_3IoZhA(y2a#EMT?F6wJ!myw5B(4)apI?l1GO=m|~~F z!dbC!LD!`U^BCQ~oPV5lf4x2rFgOuzNG#9O0GPNyWGW9)CuJ5F0ZcxsL9i=KdDe=} zi=lsic1dGgF9>R_QK=!tj_~qPi|uZ;ro2=vLABwBPzuTQ4Oq*bLCRXOdT~&6b-!z! zkH#shO~B2l?wDdMac6?ZH&}5S%;c-g05g5V2N;;XL3xC%=)W1aSU){0I8$)G)}+=J zCQfZt;7=Jj3G1?EG}sW7fJRV;um;-MBhkS8GfBIo)V>KnNil@F34KQV`S^01=Jp0w z%%)z2>Pos;&xp?cFf?zOcE^`7o+5|y%js~N(OK{6^wd};?A}bfgHcdb9tNXRwY;mC zOx|YBVbFCD#yFpvC{)YG3_HH)y<{`mPtQ+aL2fE$_2x|F1k(E%2{Cq5*9M4$3B#zm z2PQ&n!E#-Y-NM`S!_=r{o*j=*#KvE4^K%oUDZ$< zm%AyGN08wk&cR{n+O!bPv1>(jw2=&m_QF|gNaGK!f z7yAJrVvWsWR_{Uxc#2-4)dT}moxCP#BV)5yJ)N@i3#)V$E?fX`K##xO-a?Sp-7YTh z$>w6A6Uahrmax7&Vc#j%F1)-`Rl?hLgl~XdS&rfr*vQ`}pP$tm{2-VSwino=!f^HZ z-Jk#Rblg23zFyl#tTaZsE1H>-E7=B9eT3M7Js_?R0XJbO8^jp?!^K{UV)6dx-&hd` zLAOoiXHC@F>RQ0b$o4SG1~NQ1$km1j`A*SY z7(sR@{{&>5q;1P*>)Xr3R8S|!z_fuYtmb9vIA0ZpMI^#+uSA~*VrDCRJjHFGbi8uQPU&Q9DK!*usL){{L9VZQ{5Hjrt->L7mut6QFIp&hisoh_&}jJHUJkFks`{7e zFr(gEPj~t*3WT>d6R2l)lbzwD*7BSKCi5qibYuGm2GOw*4Xues6{c!^ z+w^iBa2FnINsZU}_OP~;(O_z>PhlV%S;)h>Ju4hN_|NrVF=*{}+HZmDvA6HSpU=Fo zV6ihAqgXe&5$u$c*V0X3#rEmJBfeS8w;VRCJ<(maaEX03fHwNF9|X^i7>j3I)>N=+ zPF7wWhTIM8dYg+C`X2oIE@h(*WIQ!DbkixE+Nx&c#`zG@=6zIK7ceTsL&V@Oc5i^n zjygBKeh9IQI)0r$!`4HDzO@0{C%we3S&G`U35CkW6NXKyRUQMDfXklz(34JkFjLFi znkqVC8g;wQEayM=;O6aj8^v8uAK7UZ_d3gqg%fJXz`>G&D`#|+MJiCulBnhqwQK20 zbBPtgo|48lfCu?@e*MqyPjBa&XSi5aG^>~-9Ict#d6o$yQO6WTp(M$hZZT=KKSJ13 zbg#z8bc}8@M`C(4@-2V>TSV^E7!5 z4;B|M16*U=g^0LN!sxjQaZk~yrH{dl3ax2Nb7XTw%p4blxVL)3c&bQovCHUVyBw9R zs@7fTc}iJ&f892sjab2m(~yKV?{u$znXngMo>5iIMg^nP_Z3zWD|9>^jW6ZXar@xu z{E0eTw~4XEH0ex8HC6boa(($_^8>Fl6xE<4C818VuW*c7q2wuLBml#*%lUAdJ+4oh z;sJ!lh8IRV$&{^hQ-RNCFS;&snu69agtgkrFij&?jC+Uu)?3mcl%1Y~1-AEG!&trW zFd5bDCo{UXbZ*y`3y*vVozYo3#3moH6Pa1!O|BD;U!P?no-pa% zG%Pay?(qESaQf{}uZPpy)8X6gdR-?y$j2tMz$`r&metd&H2()Xsa24CnvA`VDweo% znk=Uo3u5>HwtbJ0mhIw$@EI`4vdqdBKxbY|P$y6VdQJV6Llikg84iKTiu38Xdpy6q z9yg?sFFyw#g&i{I3MUKKK1WJpB#mT4dcdm&Ak57ZCY>vsG5^eRa?|Mi1g_1FX3y58 z2jE_8WJ=(b>GALNi)Ut@fC0_o#Xp|kH(k80H^94^*?IfIDp)blp~k5lF?E?*0Nr{) z!I_=!#=Nc^!^$y~QkuC|o}Z6Dj?d4(opv|BM>hZw#~Q>t8eup`z^aKwsW**Lw$$xH zIoqE414lKG1!`(PB*=~-yCul?hqwDjWE1!ZVCydACj?G`hKTG8sw)xO8yqdaQM)`D zF2v?7@mRBS%)x`IcLDC#^Z6ue6n39po*uqj%iN|FZ6h+z3!EZ64&&7XhNBkXq9YA~ zjB^6*XMDqAZo7^Q^oroXcRw(h{|z_A+@HT4u0*CCzeH#=t=Wl|$DX-Vef7nj42VKg zjDyWZBB~hmrmxj7FN(?4IlK8FE#;*)XgysSHR(Tqi{l0v>Sv^Gjm7myNDDv3q0tgf zgJa!8vqlt4yGVib<^23W+y;L>?mzE0Z2#)ns&Pc7U)fXn*|5|WvFM|RP9`FQHvy;8 zy3c?^fx)TC*a}>XYRC(~zukX(2c)Mzf7@?eTc+vOqaAzyGPUN`l2FD$DL>;Omj^>> zpN8Q}?DV1HHUHvwDwZ@YUHSdX`SsIp@Ivv*zs`5Q5jfV~T=!TVww_evE0PbHl zkaNW09Mq=w{rvus?7Y)aV(osz$|EP7TuPY4R>Mm)J{E9|&X^94a8P}!^#epXKwdb& zr>8Hwwl-*+_H^pG&Xd2QaF&}-gEy+(a6Uqu#{Rv;hSuob>6w*MuczFSR&bRVhM{u$ zJ-Eneg$Uy1R2Pe-M~du>?J*?D02ejTc`dEL>^uQ?VD%@!r`z^VZ<6|cMn^JHmO?31 z_=`r?BhO8`=&wh@_hxyo1tHAUgHLtg2(ORFhmZ9^4O75UKqL1UT?L3Uz(1aJ395F6 z!>#vwhR_V>(lk}omdwHvj2kmKKXK*V&hNyUod%Za##gWgAFR$05LSz{u!_8C{l=Mk zCm1(oa_|J--X9)*yL|>d$b;(?=L?sN!BmqUID;0zl@GemQECP!mchHHQ^e7&WR9I+ z-1tnf8w&efZo}0KB(A8g7m1!G3ANYuv4V7H6Dx4N8XdpZXv@?)!MHJt8Mj}06P$FH zQnOEU@x!umU!~XtA-QNa0wK?unu6epMfGEX8{ys`o)6#8=cij84_ZC;gm+?4Yg!4L zAqre^=mtxwe(cGys(u80qlb5{+`1T4za%;s$L?r-*_I3q>GyuT`CSf>?!ceLU65+O zWsp35i&jOyD|cAJ?ktw`qCAtuw0CUg5mcN*OL z%ZHfkjhnU|ts|eoJJnLaH!apNjMfp+-nNUY>=+V7#EJX5jK^O4pekjRiXFbdIDAAC zxLrRTLM>t#bsx+hb+MVtG}!M}qn?$Ubtz95HEQGZs)~BEMXX>Lt>6H6C#2Kc?zykc zD#NH(ipNP>U@LOD}JeE!4#J+WU~kml~;I(ZWFp1`*GUwGL^x3~J&+OTdR{ zr@B^pEMf@bl0o17l2?Hr;p4eJWxa(T)VY^#~JJZ z9Zvv;x_yzW(j#Uv-gvcJm5g=<+k_Z54}iyM_Fz8SXTY8Dc!+3+@)0T-uX04!N~uN6 zXIgp!%u%=PEV_VXt;$%4F)f@WTA5se=ySSQ6b_2Vx6i?fN6cnglKO36JJIp&*|L%} zb>m!E^QCZf_tHJ_*5}a@iP21Bh_-OQ``!8fyrJE@H>vHe=$;*p7Oq^bnH}DXjs$v+5#8T>+&;S;fi5ROOe7>xT_vGry;m0X5D>3 zybJCNxMjT~;3hGnX(?W~33ROh%GVm%3@z3_E6PhDz;c~RyIqlJv7l+miFtVWZKLvA zm^fuc&UI(bzOBxiVl<%J{^~iVG_{5SmJTtT>F0xnHN(lG5xlu-I5CBA!Gwb&TDlSN z%AJeh%s(Gr_R)mCZ|Qg`fq4Op2^PtFn)>kd#&ftFUN9C{QOw7!H!e0Z|NM>j@}US? z=6p$!LVtF7j|(jjJzsq_v_ID9G zdTILPif82}F`8wA(cGF7Pq_MMpk#bU!cI;NCWk(4Zh6AsmWnHxq|L;Fy&&P1_o zOiBY*ZOueJ!A^^=#|K<$O?Dvx4$JPEvzKtur~FJrH|lx0se<$Z^5?(*1yorvCV@=8 z;hCm|fn<1R-R$WV5e{;MMIYqjM~I5DT0~ef#5lr-^mR>!t3R4??&IOznud3 zF!OnHeZ)loFWH})Uie6~H0m0gdFFkk((RVWQ}OZXWD4SB{-1#KTMHMv{XYAomFZxv zT1td%E-WR&RE-AfQo*c10Dei$+yXy%Re6*JKV5gL;7smPN5(L1^SiB>&Wly+2>!=` z+RSeXiso{_2HQE!BjxRhSnw!~kK^tj4D%_bdJG#>C@jawNs;BdDk@?;&5}lZJwKek z?XEjkp%)ljay&OSQ=ovX2u`>%*6Q&VudKbciq~hAjH|wh6+3E|>hYU0;;X|rk`k8$ z&)RH=bvmUlp0_uxa(N{k=&YDg*QeHO?IzzajMK@uYKIrkN`{Gi#3G+nNs`+0lQdnF zL=GPFneCfg!7n!Sq9dYe?fb`<4YXZr(=BC|@T#)co~hLg53}WoS?d@=E2i?Io8Tj8 zyZu|~LL(NIZl64Eq-YQ_SGA2bDpgW19Fscg1O!$LqFZ{5KhdE?92(5|DFi_r1iRH) zGl;tyx4%evvz z*^4YU=cnKl+3s!3ty3e^))Kg4)B7Sgkfmp`uNiqKcJiVuh)R$;HEtcC_g+;oMD#e^ zG9Mx4Jp>ktY`QjY8h8teim6_=MfsN#ToZIBmh+-8Xg=%=cJNtRytOyrgT?8)-3fls z%UrI&7egAyclrl@fpp^w*r;|XionB#Zfb{gPAus~ee(}Eg57$Aq)2+?2)Z(HH7(@C zn8w~yw@l&smyex*Lh38b_*cRT_=%c>mf>im*V+`tIkB*Dbb0Xz8%O-sx)h|Y zS<6)GT?$~w@{kS1fyAk_$8fFa=EU%(#n13^K7W0^d4@H&jI-slld$ZSff$WM+t`s> z+~_1YF|b1^=tEe08|zevA(b|6!cc@kjg@&5|fi-pZUt!Gv)cFrWms~3y> zP8YMPCE(V2`C*Nky;#*eM)#YMcD-(j-IeuWl&p}qIFs69E)fsTel)L7bzbpNP!L6<5<`X%GAu1)q`Pq zR%?C?bG(?si}C^{JhnFQ+CG<-X&ysZZYVO#qKa`LM#=l2Sa?#dxlP>7rtCLiP7vGZ z@R%^O?Ze)I9<$SiW7FkwSY~@UFwS2M%mQ5FK)X*+r>5De!_6E*!A(o5VWW-fyV8}B zlk|O(tnpfNX2iul7fyHZS+`hSQ4m>9u|y#7_IUnwxMev83Bf(blQ7&To_6#_+S0*R z?LnorTuH3Px=f+;UDEjeCf|N1O9-1fXO>*-Tld{PJ!OxjNi#5k2HXdr4CMbqtV%Il)5gpv6x>CQ9SCr6 z3RqU?ky^AHLXdiR-j245+WRh()pg$y8RGl2v4wNNTkIKr9TN%#cadYYTg5o^%?gnev% zElS5bi!ZBxbT}IgSI3GOTuCsxtvM$rVr=rUxHN_;38@%bP*VYW0jzf(fbJpD{qh3Z z?xvdP*pqQ8h_5&B^*SP|!&OiwQp~5yzc{sv-HWQQz!_n$bChhPg)j)SXERzjdqN$K z;`?>?dVly1_V4u;>>+!mmeyM_D77NC(%BvMDHu0&`lAct{Xnnhgdxc3sVowIT;%fY z@bdad#8|h|2pvm7!L|UW1kTsL7r&=D`o?4hT|BE(_?HMs@;fd0B=^FQ!dzPucHwPj(8s`}65^ynlN-pI+B**((*7T;rRq8V-PC z5uiF2xVREjvQx1J0T1Bk^}E>W0bS!qS!d~VLi2-ee>+WJ?t$~4{(|unegJQO`Ehu? zKkuGSZ`+n-(gs*mgQgQ3FPl_AUM3s}nxUtvvI9=__YNP}BIDJZd{rmH?c){)__mC+ ztPUG;`obAb!K@7%`e@V(l-}FPCf!}R?k@?|4{F9= zQWUx(5PG_q1wxEt9(MMDId^x@XV4sP=UYtj-JCV?D1q1Sw9}6q4=Gmjh^t2+ZfTTB zx%$x-8|ua`5jbGfkuG5t^Qe1-!8`=I<@5dH`F^Iw{lF@q(g?wXP2PGtEA9oBR_p+E ziaIV;J(t1g>5M307VDUoe1Ek>bCag)l1CC&d08~SQXfrNGg96h2jQCDvRX&s<#89; zBfCwb^cHxjoOM$u3_X~-Yw8c7&KRyH) z6Gyhw(`dn&VGX0bJ%ln%bJT^JfFQL!Tr3YbyEjHLDGA=VAP?JG$k#Ue&4jDT2_f9# zYCjzP)tp#jzD+h4(!i$B>uCH#(%>&1n;CSqvx0WzvEf+51vNh?moyq~;n4AJ>9N&y z0>?Me54*$5IEx$gV-@d%xN-hlnx1W^8V1;b0DMfJ(Y)WvR61S<& zS54a*a2K8_mr0wX)9frFV)^2bc?6%^@J^V|Uw2xKT)Xp@Zwhw>9nrh2WZSWI3Ha>5 zdhd%GaiH;fhdWK<;OSxi3BEn~5Z79+g-XZk48pM8As>dFHMyyT4F(rXjCuz zrw!_$@nQQaH8v)e8e6j6J7kX(z=a54!BLDu^AF~^oz*r90SoJnPvMUO9F(>Zz{b03 z^PNcv{Om^5g&a_8fTyBanX3I1-W{LD*ZFgRX|v)wVsNA&J_MO)m6@1{kGX*M8JI{A zaWJiWuWEMT-0>+bApZRH@bG-Qj?^-H5W^sK%$VCF&JmDkSFm1?)p8F*6zMtYwLk)w z8ujFdHCHACJ6>m=W-jBy%i+uU&)?6d2ij4-A$DKgr!7ND@v75}lMq>Ls}Wf)litTy zk&6k{{Z_P$dYV4Ej9PPEo3YlPu@zWGz)INLl3M>@pvEQ4G!1d1p+z#y?lWkyp1N_# z%6eI@l7FCs0yL1Dub8Y1_=}M&CceHYhwP>t7E;B8G z*0Ym0qkQ#O=&;huQ=EQDiwoWm3}wn_{Vk6rS+Oeqh_5A%_XJ8!~mH{lL<$+Y!!1MWo3 z91&SVY_pNITo)$fS)YH%xN+B4ZzH|1=LF{$B>mI-%k$Ie3r=R9_Pdw;%l?{_j|~^| zeaHGf`MLuJ%wU#WYC@i>fy_}8i5C`fjL~N=%dh&`Uf6Vk8$)GW%+zOEo4sHE4sJ!? z$eMGE-`U$vaJ?lpqOM%0z>&4Zs~)YIw@S9FoDp=kouS)wAqDm?hnJV9*ESxz3Ryi? zWNr_3{0Q)TF)Ipz0@kr(%IKyDlnFnL$0}4B$qGkvOA9i0M z5I(#;vME|e-DDa=F1T#T4$g^g^44m~&7sxL$neL%Ft-CY4ZzjjbAF~NLmb`rBYL6I z33`SQp<`X>?*04ADpYuWn!g_@#4_gD8q`yRiaT8sQg5p2sUf>#kf5m7-+(mfPP8h@ z!k-f~k?(9Zk*|M?91rQL;99O*7M^r4nB!Nf-A)(!nnm4>IvA{CsDZfyVu9#@%!%iba(!@|MvUecF+I) zzkq}g>VN+IU+*reA&P=4^R6n-jZZ5ppWs7`Ap^#fp(8jY&|(YY7&5>g`4b_-*f`>Z z52yl1L+z>$xZFA7_R$Bgb50d{F;Qz5f-d$@Pg=J7{{3J7%YXYH|MvU8?q2@+fBycr zYw@IR22GxtLHV+M#SG>Rt{cGunAof;eA_%nD z!#KW3v@%~neVl$^zTxoeag$-R7_i$u3k-fX@<4GW%9RL4MiE1CwK|k>hXW>clGV*G ztB$si=!7&_9)}k~jkv3RwYE7HS)Tngz{ey5yG|BseqhSyTg)}O0hMtvo(_S3Y;%j0 zEAc{@6Lb#Z zFKX%&z>+J1Jp#%btsb@0bSQk!VjFd)mDXt{@GCx@kN01{H7=1WCf#c34%nF3?l@M3 zT`Ue7V7392Fz&`|nLUI9SM0DOyf^8nAfqC%tU5#(b3z#s#0dTFAJ4}fl5E{-rnK4( zf#-LTi*eL>%Q<-Yet3P|aLuDR zR|Vl3+%jaR60nVlW~x4jFQ_0?$56^tInCIA+gWljo(?zNtGqnn6{A?nAA}dpg~L321Dq9L z7cx#`wi$v{dn-#+Rb9h?r>Jh7UmzRAIE@we3_tn$^w%xj*Xy!8lWbvcL(VI*jONg) z8AnMSl%&=NSAh^xoH&IAy!Xe4!^`gT^WpY#y0zS7gDe(&rGaZwdjgtnE@|Ye_ri!1 zr_tx|OWxhqcnieVtLT>V*vS

Rav`$3mU1gtCL@tX?T!ZHn;VL`{KcN+x1s-@pVD?x35OF;drL0W-p(EhZ)Qdhr=tRorivP4b z?Ow34nI?R$;qAKfiQ}pEx>Qf&bccIgSfKM{agAvE-kxqc7dH;{z|o8zXsan};kGGy ze3K z;a2k(yBT8m41xYJ<{$X&@R1Cu!{p+eA(eDA@i#`C4vc~DH76s~Ez%J1X*!|QFT(F^l2b*tOS+Lfx)0=&gy{}*%bwq)0FWC^~H+5E$K zQnSsHM?3BjZ=Faafovu+QF$T6dKu%CP}Q`qqPi)mdg|}Tmxsp=kJ#r1kaJ;~pb`X% zYez=-b@}o=BTA{Z%$jIbOkRFt24(} z3VRW~7uPq8 zzO1+U@#W=`=zf^3PW5}5Zr}0R=x6&ZS~k&7uDYJ^%j3t7 zm~%dhc&y!m6|vgpb+e-wjw3HIq@_&4Tp$CJ*_?_*qFWQa9X-mWp4tvnc38613ZTLd z^H{bK5*&32$ejDk6BLjvtcKM~*Q)n()^|5j1A39HiQbNmy1J2<+lLQ#7tjX}9Il-0 zDh`=Xo~@x|YO`%O6iWWrRHa7rB2yFn5Yd& z2k9vAfN{IogdBTvee$GYZywN@1K2Ng*?MKIrM155CtRE;Rq=hO@3Y3WShnT@2Dz*l=6n{P~` zFRupg%kFi@jfoZ{Q*i1Goa0eXaBD=$894OeJBtGXM$D|IOEd=|s6F;E=;QJ>J~nTe zho3-w6XVxhFeaevx50lx^4NY7uHO3)(acXgo|ekqsTCTgu!RA8L$i|W2Q67GF0D~Y zY@Rdw-;8}=wShp09|gBL2k@Ea90)viw4?dm`?F~g@L{w135vsdOBjO}zge_Qbs+q# zBKq#}>FwDK1UiEC;NDw59X2ZSjnBs0C{_%dA3)TpGu#9&viUeKA@HJY6N?t?4X6lV zYi2!b9vZk_i_;f(;V>f5YmjZxUEP8lj;Se-)ATBN6mwpJ(d?At*FLn*3Df6T&}?s? z&Yk`I0pV&hR+^i(b3g{;)z+%SotGT6V$2$-I3=i6t)vLw#Ggx;n1I54t&VX_SL{-UlaqsX|%9KIkNmK?7_tAuq0@~vUpva zI)2)sj*}MM`I^7rhs&;uMQz8pMxCug(-yrux+?Z?agDBvVfJ17y>{5cLaS3BVB`a| zA*|VE78HkRu^a|% z8|XNKrdRz1pmk%n@(mkruW{fO*Q8GlD)s~NvS?FMA%n?04V{P@4nf`yoqPf0A#(JU zYdF?aklM?5Qlb#S8kIno>O+%PEzy=(*q|*@#q0%hnC^yS;qZ0t?(Oy6(|N-^gAQNSzqT zy@JHyVc`h69Ik9rPm14F_$!wq3SiBmWxya?e7O1k`ilU=^TBG{(engESu7lQP&NX1 zZJb!BNZ=H!S)8Tl;t*c*^>_#AV$=BvO~K40q@IkogtCW+U(dJl^PtPKSvEocPw9tV z{fr3X5Z-xG&0l;WbS2&<)dZ373DkbRy%gy2Rb9d6dV6Ci8%trLvzyyn1ZOt~&Y!dOST)&> z53J1@vt?J`S~?O7*7bY=%Molrrl1O~m7C>lvJ-8=k{=>xzy8U3UvhJbnoG8VugSv- z`|_N5MXr+`B+{kr{x}Alj9f3GtON#n591z0FTy!w_z#`>cYpco-#-7kd;8PB?VkU~ z&;ROESfD_k*7tCYzT7Kkk3+g2&CTq`uX!OyN{m%|LOBzKmYpgfBE^>GuVeW zU=?<&u~TZC3tCKyXjX}F9)aOlm$mprH#c@fM2EbVUf@(&TjuKK{`%d!+ZWKxj`Lg8 zB?&CPvC@txSbC+Ebzxf)Nj1{dMv^d8>%7PCXTxGRm<9rQb zn7bTtH)akUP7`CJ*qZ|IPFl~tF18^%KZ$0d#IILRRVOJ5IVl)r#F@!XnZ?zcZ^Q0S zJ23L^uRlHPK3dCBL7bL7&P9RjMN`2u>2Mlq=x|Z-S*)s7mFcs!p|51oV zNe%oo0)c-Kc#6_?hT^H0$K7{Nj}I?AR&W}+URWReT90V6V9cnfz1CPLJVEtp#Z(PE z8UE?Y;B6YkF*;F*6Q!IK+)#Bsz~wnzR?&kfV8*nxp^b%wWfdzz+K^R=na9Gw>9IjC z{j51Yeb_RES)!AZhLH}Y>C?ZiKHgK7Pez?!@BjD@ueY}k&$~BICsxMJY*sUmt%F;a zV@n`19q!Ug&%6SZ42tvEBhvm_!-CL1v%Xu=%t=vi5wVrdI%>wAK5ugbax0cok}ksP zSjIq^q-woafdISsLF<_B4H=K3=S&&0xY4NP4X}ZMM`*8?&0KL8VGy zNHs_n3dh!JgV;6Qls-0NQRfH8H4NKX_^`33FLo|zMJ|3c>L#K8E!)YoM6bXNv8|yx zObq4aWV6sTh3eU@S!li2BA!F;VN!9k=ZTeDhcyW5%iJ z(D$fK5iOk*qdoBL7)x zk+&?{jeLMSO(Tn*4s_{8$kmvz$r$+6uFetEUuaQyS!1QI4zO;BB9y#ShFi?HX4R!sSZV0uWY;PFAR<4j-hDCM_!{ zK^j$T>Ncc57%Gyi~zll zGjMZK%W!%;HwQEJ9oKbYyiPNF5siVY;}g;+`tn z=FZA2C-`+}QKV7fMT3hDK{~qH1bE9bO}PTEZs*Bm5T}-wS=bg??x(x^x4ZX`U$RHk zgX@sj)i6P5V7c$ zy)AyonEjg1xirx8MF!{(H}4)lo#incvcj$m7h|mkA2h;rk-bsmXWN1Yr!I0mWD&a| zyoWTUKRmv_{`CFX)JgkdZ2p3n=hdco&2oH4HWCotVOY50r5ITcc`#nn@RqN|JKbU3 z8)yP1qF{{uF^Syq60&N{CB6`ajMyCNln~W&MpprgmrI)wwJ*64TemS8NogwRYxv+O?4!_uXy2+|ovH_;pY#LAtB4?A5 z-ly?pfT!E*(T%y1^8**T3vi#9nu{=>kVyK{3+ zglg8!lkZEn|>!0MW@NzV4A0MQ;NZn@Xa+= zwLX8kzP~J=w`d-&WzN>NUnIY9P>H1IVZ~Zm;sx7NMgzfXEc9O$Yjbd$1(!%K-hc7_ z_r5+fOCQ-c72;^H%vsf~L{)py7CWpe0Gu-Y=)e4C#Y1)xa?m9De4VPLaI#b%c* z6Ki&_P7WLu9h$c+zC`C{u+6dg$r1Bx{&}#Ij(}RN(y)5pRJjiF3BW%oertE5OPagP zSesAVtaX6k((~O}>irx>a;$EZ)y0KnofNXVlyU8CQR{bImE$6Ju+d{(vQ?sqg0{J| zv>Z6uFWn&!#>#{3qoA#F*7X|b671;*+Fwz9YcYDoDQQ7Fo#y(55=`3W-_o4J!HRu) zy#MaY&KY$QcQqQZ^|c-DAUIyMvRM{I_Ft)b$T>IXmgZ3M%a-*HNzuG{4wq%A_ks+r zfyj3+HpCiBmStE)DH(m3g&u=#-tE9TLciS*B>l=0$fHKC>SvPM^XLl`kc_1hR3+6a zJz~fLZ&phf=xVEy)Uo1ru+8P=+2wuh@wbuCHd-RAwfX}YeN2vUS>j+ds-uo}iL)tb&Tmr-JbYvR)5U89 z0(2bavv&QgEjJw(m6+C@N0h$j$!0?VQgI06vb*LC^Xy+XhkYLRXuZ2&#&qNu*-BKWFP81~xD;$Yf>mq?HZfe~4AuC6^di#6)~b>ZCk;luB9j@K|9#y2+P*BSd1sU zd%Ywt9Rg2Bp2be}LEmI2&^gDQQ{aFXn=ZzrpB^Rl=dHns+*)ykaMN2man=M6BWG$Y zN|LF>5L2@XhuAs<6bl~b2*VV;^|4loMUjSp&eaL%r0YECON~O0>(@LQ3PaWZ9ggTw z+uoq2tW;^6i7iVF_4Yb^$sXZ3k@jO*Me0`hR3;tFuy|1HSe(b3f=JU~MaI|Mh)v4W zQc;PPeH)%Um@@%q2%G6^Ym9C;SDdBcoJ%TrY1iM{X2N!4&MrIK+U~Mzi+qvC#+{CM zB8&*CNU>(mi=Wdx(WId$Vup+ngNx>X2cC@{T9%@AwlZ``8Ih%{tM>4g+6@mOb$`~z z+=6i%u%>~X>%(EG9y{7%hYd-LHWkcs#*m&_cdPD5#Je8dtw?z^A{tVX7#B3PW=gznM# zO#{p~Pv>V(_XQQfO}w+=FA1OXV8G+(1IQ+9Y#Q|ZC%^2Qhx7B%6X-TC z>gmYpW4mAB2sX1)*m5%$u|jil;n4N{c>VBl3BhM760c($YrtM| zyT6C4#L)7Y@2@MNOe)YJG&dLLEAa*QcM8|@IJwB;lET?} z<|d#_cG0ye2HRX++|p*uL>|5DrRjQubT?#9+aE1A$J-(&{w%%t-?deIWfsv|;nzfK?TW{@`*j>0Bd2@A}LTpX#u?OZX zTCMmL)R6YNYq?dX4ll}Oo`Gj1R-UP$bQ(>a4_^gr zdQSj=dGBpm_BN=EKd$Q7J2!6zbq8rQA^<~(=Zeq84$h9o4Dt+ph@(l>@#W3o$P5P; zELG1|iW3xrSzTOVz^MVAF9djZ4>G8Hk&PJ0+dPq zJ8MDoawyeGTJwM5Zrfm>2d}b>I-nHeJfDvk)Tn(r^))t$mttnmhqJzUe0Y0-E73}f zI>49MEeO`&u~9^AlCUz~6Q(62xEBU%^4bqUu-b-oySDx-?!{C(_EwdS8yh5w5VY~+ zvQtnqQ_e^UK+)IQy@-o7lgn-rFZ7%@*zMJKRr286IqRAbBy(3CS6iQ8yA+Wgpz%uY zs*3C7WakPe4q98h+FoqhF2&9PCoZw<**XVy$Wa4_7cw;?^_6^Te42s_%AwRJ$QAb9 zYk5~j+g#wLDnA_U{*syX;e@>!wHJ+QK4G$PA=7nO`kvrYcfryL9}qLg2=Y|KO3ew{ zL*>`E6l7eKl?DaZ1=I<3NbkAkQtJQ*E(H3`*>4J1iN#dg(X zF&5lV^Int}tOd8G>QXix1;BlNeZk^xG!`yG8=?C??Z;dT6zNC;4VU5P!$s|-|JEWd zuBo>ae<-ey!v)$u-e1#;dwX~LbbE8kJu7*zn$(q58h#P*?4L1^dr)_n{hi&$7O^NP z5r3ja)HGenroR9a^5Od91;$xte^$@rigA`0!ymI9WC~P>y1GG~2b?N%HFcK~=29K# zJWtmzFOT+*Bx>vd*3uV76ZU^$p;q0*eg#E}H0J}d82-)R$eDRZTnLEk?Z)aD$#fzT#fe8R%!uKegyeW7Hz^B6y2>R4|kulBqNy5Q{}xYkvS{k!ujr_*k$ zq69fg^FdWLF)WcDqPo~ioiL1w?9h%lB{xsbhbGuk=9z9rjJ4?NsIn)rdJqqK332zh*rlG2AfPbBlMvuw;(s#V*hma@aFdEtcKf!*gI7NX^5Sv z%BJ*C%%1)qRX(V*4c5kKs{=N^M^!Yf_oKIl0Maz zlm#_X`AaZ27g;9%!Xiadb8L7|>TlR#**lMOcJ)NDf{0gGgf50~yyS#MnR7U}WIH5Z zN9~}PhCB_965Y%#?sJUeP=Na_e zkUI@}XlR8QG(@1Ck(L(H1kgQ|w$dV~-LzAk>C5Wl)pe-EfrHh<+{IYLZPwIs^H>{-fqg5gL34&>Dk6%$cj6PP#qMs?f_Z|0YPs) z*99G%OIC4In@d_w-jL|LYJ15INl-{qU%`NzJJf7ZmVT_anFUS1y}o~Q{qW;uGFx5# zQ54RszT2-@4=L?XGBs^S6#r$|DZ=}02eS)Ql%}(8PBAE_=*gyF;O6STw(S#_=I%;EI25}u@FRPc~%1BRn-~9d8&p-Vg z`pw_{{MY}s`{|cI?>_zfukEG}PO*(xSzJ#3qAAFTd5H(#>AQEkhui0u*PELbdmLY5@743nrtkGCvNQm8L7e#l2cnCT zmLn+Zjp-{FbBmyi8po;^Ta;kve_}>GFHgA)Ze&K&2sg(D*JTe27?m(k-Pu7ga{q+3 zex!h!(EgZQY2V;xbuC~x@Xz@8`t~grww~oy=o(+a_RWSk*I!@*lPk4~<0(Mht5N~< zusKSNR`nfQ*a24e6yk{<3}_7H{j`=l#647~ctB_?f3;BH`vUr(=e zwK~HMRy|2u-J(S%B0K=gYXX!`R1_=XqEn|?FE*cAJTO?zara9M<;&Rj9_3)OZ z(~qC7+n^O;lX|Zy>_hokj<%2`+xytp{#a-0=8+h>BX4+Ja#PVgifYV~lR02O_+*bj zHCL`*T?+JU?bD5xuy=r zhwJgkDTuuD{gcqqsusgR&Ikc@_6pdI(6nVGNfNL^y1>-8JVD z1sT-X)U7DB*;-?~KkPo-Uf;aG{y+xfgt<^25wT~bB+LDX^_MyoxmpcMN%3>)j1^~= zx|d6fB{29*8Bb7!$rGkelx6TE9lj{ACeHsiU*sMAj0QVMU*y2AU4KT$dy-MqXW%uI zF?WuMu~*MGk3UeJdAoahd%~9M(lB%kS;d9Fq|{&7+`zTe=bKEXOd)n><>0A~f852%|s zs!Iw;lLgMtBV#s;3!e>5r8(wDlDkqnRb zQG*A`hLXuRIV_Q(F>Qm;?*ty6z`*nz1&;;0#Zdkem70Wg6}(S9yR!m5XGJKi{!7GY zjEUODkpJSQ>-9x7O*>Fyu)ott<{9fRoMBkx{1`U_*&TxiJ$P}vYQkFYCnABN*o#81 zao1E7O&VjhU4(B;&}#eP?&jt3=|?V296xBMlV!}&aAG7em;_>U$6b$gLD1m(eLFyA zabT>?t1V@1p-pyKryfUbylB?Y-;>4w7~Fgj=Z6B}^O^4nZu}kzf%VVe0eoGFAV8C) zpbZ0fJ@hd(P{US1l{nWB7_8&v1wd46Ox#pjvIGeyT+tA<6WTS) zXkjph1I3L}p1w~ebo)`|6av~mT%82h-`HTJ@`U;c=YHiTsQh@i{J3{E zS&qGdl{4q16XG|qTZ*!zZk$VX`qA4m+Ydryr-Aw?A~z=bbl|Q$f7;=?)QfV-@glhO zC?B=}*Hp;XuNIshB*i45U*+QJ`KDznFh&7y=NKLrDU2e2V`5O=Xw6rjPgMe@aw2A; z$&#nRs6?2mdf*{rIJ!?DLm`QCRn~iyzg){z(=usGN0GiU7+Bl-%{Slr!ovW&HxFl9 zK~@*`3s3Vo$&f@)7vd8wT1`*z%b*_1S0?D$;~ zml>1JQBi>At*TJWx_x^2u_;;}t#erYPW{qc5pa!P!trgO94eJw&9Jq^5rdf;$vjD- z9BB;^ee;=FxgxF*qr|b&9#4n1Mw4UV3c+!cMjYqUJXZwF7~i#!0xYU>o+~BUB&P%d zWp;o^rhr_M&s= zNT~j0TKO}UZeQd{if7yu6>&AlloVS{$=R;*#HjK-u4BXmrfNzI8t?+#WlttNuD~h6 zt3fy=T;sE}U{|Z%O>!|x1FoFTx-^xtogdF#jLB#RE;qNE%!tcXiV{(|2yVo7g(uWU z)G~J|ko&Coj`g5LB*!FOAm@95?L8OwfQHU}=C>DyyMZo&Z$tyiLbK^}z^*O~0l{>v zE#fXCOIE7@kD5M_&oRlW6hDHT!P{z|t{>h~F#E{Ap3`hF)A_IE^VB{j!H&>(=4AF3 z^DZmGR0|U^*rB`&QY6I>y_;2^rReBj8^UBqU|%on-Rq&%x>{P`ws}gIssJhru3OcB z#n^k?qby>E?1ov6sNJ?dSR*P?(IK?jypuJ#JJ|XSCn&1ihi)qwsTMZu)`5k+Hk@`>xQ5~n4IwPgbl%G z99zvBT_794BJlk=$vRQOG4-tIEGTTUDy3x9%^m7)AXvw>1bBD~bO?|t3v*3) zd8`F$IvgMIx&s8@$*qUC@HHYgm{Xq*&r%2R+4sG^^6r`&Ogh|XZL6F6$7pUEt!ybF&*TXH6XC?K6ZvnIQu2(Xv8IH}>>B1Ols?`i*e(wur@Tnlt@Gq*{i zyl8!6z70F`^fVT3M8VAMte#_VHCGp2t(vIk5Z*B2#N@yW+I*90oZ>W?Z`UV%j@EgK7 zQU)Q9MfEtY>JV^Bl39^ypb*%r#p;U}o{1S<3Nn>UDdF1ftC5BX>sY5F4Q>bEO@6v2 zL%plNeo6FMRg9Ja^|~q0_=HUWrkjj~iI-(bq1W!%4WjLyT<_;qHz=Aqypy3PC5hVs zl*?Q{JUm`t{08cIok(2+=9MqtuCPk464tQG1^Z@J*jXxhCfE@-r{CW7GE_Zl(bKUh ztFYNRNUSUy!dfSd-h(ju;iq4I`j^lD_W75;@kNi*9Wk4JW4>w>bR;5RD)!qOIJ)!6 zE9S0{bOZJ^u3jk~&kRLu$1PsfYVgnCwzUj}ym@_D6+n;Ee}-Yz1s^kW1u%%XGBlwD z45^nj4)JyAJ?KkT)$^(!GNI`1>GAKe@;xz)-@_qy7jM6$XJf@N$zHiysO09I6d34k zV4P1aN5M!AMuJ`FdAVJ$l8@>~!f2~2b!Ko)1cNJO18@5B2!Q=5lQ0!*OpsvKLkwoh zd%gKCRRSIX40=UP&BeU4y1vS|z2MeQm+k6yQ1z0aa2#ux4j4H4{Idi&q0_zf|=Jbvx-5qb*IaGAx;i04q31q(kB@ zD*=#o{4l95c4fkd91pUL1EKds@IFy|(vbkx2rg?O)z?!t4)+_z%$ppbxjSm|;J0F$ zqFIW)>9S9qN-uZ*w%UAI`KtaGpyI60bjB#si5nb$$f@y1r7HL z66NH1zRwh`E6D`8&((d>NtEe&oLK4h!wK{{1+L|G7A&!fQkd%?JPR16U=Yu$gJ->g zXbyz9OYYy zJ59KtESO5a9&(?nS469L@`|XZ-hCTdebSuZTowg7)l$@zl>4OS_i)A2bI80bE=W{s zA&Qrkg*o;FzcF3n67|s^jiE%2$A|2H*Y7y;A$(nqeF)_0$DkZVz%ndJV$88&4quOX z(3};}b_2SGusD9owk#Xz_7^q}a(xY3^xAL6wRBl}DW%$NQRVSbUvhSs;d0d5lV0Oh ziT*Go(4>!!oisMO_4FsLS0?w4$O#^Xi1qlPgSx)f3qQoU@k>luz2-Va_t0K!-J26b zLKkfH@jh?>?gAuf+ix~GsuaVPkl~s@I}JMCvU(03Ft9y$_*_`(~imX!{2;S_E*VB0U#D`Qj>$9fcai<6CRBrZ<`@8*@a${}Xxb0l?v*K*YDVfp+)3LZF z^@J4j&-faO#^&vJ2FoRtU_lKdMZd>4P0D(kC=A1%x2yNBAKtvaJDX$-H31F|MC-1! zI%96PKWB1IdNn8aS2I0|&FXE8Ce71=qTB-p?UZ70A-4vMm(_E}h?inkKp(TYT7W?m z<}jLRvJ!q;Dvy*-bWV-v(W>mTmg_{jCoG!t%~lg-v#JO2ZOb#{o?McJ3ejW^5?-(J zT7$7J@1a<=o-U4@Qd1M=&FrY18zpaA-IVC}gk@k9ROocI&*h&3R)|tIBEjmOUJ0jU zMH#~+P6^9yt!nDWq|rfdw_`>{Tdy+^8h^8eQXM^%J<-3&{lAUBkje#)7iY=32;Vv}0uiSpFcicP~aT4qs6Oq;Qg%?tcYzfUb%8M7mi}Njhx*= zfnz^=Ic9N*!&J@+_vZTknh@WeD;Lf+S!6_O^ug>SBt#M|m4s!wsvT%K^z%MCH`XQy za#AXkMIeU;`OpLWbbbH!iO%?JS9bJ?q5JPOUVWvnXtIH1mnjZaB1nlDJ(NMHwRuZB z=Q@E@{}RyR6Ya*z!GAwqpI;g?JU&|oEW!qH;`y7zy!nI29MFef!AS|I(CwZG#7UHV zu;TRV4MsoXf|8(F`&736!V=7-v?^OMbfU_C+fWa=%#cy~_TA@HSCT}tC-^*f7Y?jb zyo`oK*j%YBB(oNf16QlK^y4U^&uZfz))gc2r?9!VS|udK7)Gz7$SIcwSy#RhT_E@R zl1p4I@;dX$!81nAn_+XwV2q;QhggS%=)a8f;g+lo8`ss6NcDuEIbIwOa?oFE^o)1+ z?e4?v!}as~>r-X=q5QgFMdcLtyM>9*nLfhAve`tWe~@b3LN*hb$BJIHXiE;S2`NNqJN`(pcCp{eTrCNF-oF<)Vjw|AQF5N_vgcL8ecZ!W=;HmNrZ=$c9wKR` zvhKdQ`}Vj90_HZ=Nk`vR+ACblxLKDgw~oR%c;W8(oaG8qp-1Qxx3YTcqPbtkCn1yQ z^n@6vAvXtq_~G$h5qpmFp7n(RO<^VWMC}blpA5sveT3T9L0_`Raf*_lA`{eut=`a- z26&#E04EHLyIMO?4Cv!cr$Kv9Nm;LhH7jniatRvkeIlY3#O$K#HS2r|nQtw*4BVpD z6QZto{2sW6f#nTu=b(e*y<&fHL5zZVm8`UZpcHMMl0s4K3E-2AxWS|vY8%I0%@BgH z8fFl{GIzigb>WaMC1PZw#};)!4?0;>z5=Hh)ym=eE^Tv)gK|&Pm%O=tzPWyT%T)8{ zQxmhA^pY#<2w*MJrz@#cONa*@j(t{%lXslSX8Ni;IvmR@!SuqRqfgT|pSc-zBMe`_ zEghyK^L$yb?8nuPFnG;-Yhv$~`c%hM%7IPrbWt{UrTIG2{4o_v7^kNFG#k zvU@yj%Exq(yJfBW-o^^qmV*|H68>J%iz>+>K)S?Dyki~!?h)={EAr+#%RIk{AM(r7 z_47F*dKh12wA#kHz~U^^rW=VJu5%IL z5(b?^H%u|;geioJDrFio&XA-R) z0z6ZZ0Qmm;>G^C$Rj;$=!9BV&ZZhAl<(B~(eWsInxK85sK43;`#tZ)ClwXR#P8cS0 z4#!j%KFdmhv1_rfo^NWw>%plqgj9j6XSSe^!M(Ks@F z`(%1}?JBJ`7K~RktW8ZK>6wultctD%_=GaK70{_7YCVj1BQ(?9As4+Ic^>X0YKi3xm@Y^8iW7!m=CKOcwQ~E z%!5SO7q81D474<$T8-8T8{yN_?ZdA^<8;e#?-CTG}da_L`o;*l*Wh01-_m&Uc8fZ*!arp1FadXoLS@*<^|cU zYAFkA&KtE(O(MSJ>C`8iA@VsP7dIJYq@eGfu77;{`0y>%0brj0cs7k0>)6Y7M$RYM z2W*_B(+sW~kh+17l@&*GhssVE_KP!g+n}rK!g);G<}oLNRaF+DOP*}!J1M|sjiRPQsAq|2h$ZR@_GK9X`IL1R=9&=HAOqbl z+-!R5>&ayn6sDvm_<5>~k}$Q4pc+2kd|;Vr@tdiMFYJ=@Du@X;Y-$BgQN|vsGwb2` zSZ60x_|Y;i`k5$}ja+MSg}B6La9;|z_Clx8`;HiOi+v1g7RB2NS-0t0JcrfYQ}JCi zbHYd+LyZr)(gg!pgR!>bNUeySg}g|x;TNCxrfZ$mDndX9U+G%6iAmMEB?_Xuec;&!z)GiseD(aZ^DYTQ<7gJCG; zY|*0!bAw`jX=j%v;Q!Tvu2a1<-|oNEIb0t65JoIS+3!n zKeYNYu(yyNPCI|8MFt72;dm%KBbVLpcdmN#k(~HOOq?>7Fq=IQ%|VRUL32kpj{fjC zX?$4wYtgV>wGX7y9&D8g!+M@nQlXrx7s-6$E~ztCjRiIJ1Iotdf|H2m#DRRujB&o- zZ*HF+ZeQO2c)^{SX2c`69^LpZF{>uA9vSAyQ%UOy)?4GE-asz}Yo8z1KC z$H(tqKb#c0jblC1GojsPb;^`2f=(ftVVJUxR;hcJx=+ogvI(i3(PHw|(TIi);k93h z*V--KatyDBMp0ap3K%#Ql?pVOK*k&AvVo}Q#AU;1!lU{0{_f@W)Ah^w{?RzEX<1vT zUFK#uY`YbdJ4fhL^%5jS@pLQbhi@jX0tO?Env9fNQ5tG>m$`ll<>r^CyWNM|m)-r{ zyZ0|#{N24gUEiE6gbk}jxs%cM-bhJ-LLJ#9iJ{VcQG88P^(KO)Xm9S176*08ewTn= zWOX9Ql)7k5e~f$!rgoXyY^!)TSI#+ygHptuy==+gIUL!yB3 zE{cKSSG>a_5XLJG(kyci1L@u+l+=Nzob{XlgH4iyVbLB+8tXs4PDgPKXTxoQHub2o znnYzM8Z%|(+^YNV`2PCSxd!g+W=w+q$D0c^YKD<-PIm2x+JQ#PicANy1F|Vgwi8{8A}hp2Q-mtII??C| zgcAW=I&dnSTXwrQAD(vKpgKve=I-Vc0cwa+d4s1<>iIR61>X_0U99U8gf4S2H9OQs z)}KO62)uP_gI#@nBCdmNM5AkLa#G3e#K66yuw?h-Wjw=z zOt9BeilI(sMiUP7qqS?2gkAJ>2>&F9#rlDdA8#La&mXUEPLNtUZ5e|NJOkMGA2Hq( z*ElL7lul};VXS>F(j( z^X~469MHr434Z0EQUkrp33~MHxjGy0qga%IbnJXGy|!@`DO8DFjFYVqU7a{=$z;*n z&}_|e5xtqE_uYzAZn`mR8}Bd`6kDUc8l-N-CrkhB`kOT|OU+Mesuq)R;3sb$?{+so z(Y4zBLH_;CzyAB5&sp_B{g$OT`Kh)K;0p0lyG+hHGDJ$gURH`zfHe$x@liwmb|!8m zai4aXE0}il^OuXIMSiKHAM(aZ=;tYQ!A z{{H7b|Htm;*Uz8-`=upfEs?eeque`@U9=18?Wt=RlwfO#IK>U6g50Yf4y$m*Z(6;T z??ARd>B2d3%P?V(IJ`E)Dc2+iup_qDp={6)Vt`VToDSQxe8DP@d0g;2iL_3%R$Ufr zq?y_m!S23!yuba^DY@j~{8Lkp6DAN_U%ee$A&6LlQ+gQH1d7HEq0R?T zf4F-qoZ(BhQBKeUSAI0|B!o&vp0RpWvG{}>pK@@WSY#@4hcI!qJvBWRi5*BYDT~r{ zh%2Gta_n|wyI|gVL9apQX$m|=rjd>uOxMAZ%Od{L4y(Ii#OYsOA`(AJ zqgC`p|^>%xDb56jBMZeCM|feSsbKK<^bfIb;IRF%>X(^ycaD@%!7iXYazWz%93>dCIQw>^!bDG}y6M zem%yT%uvW@r(|Z?`>0ne)yB0*;KX3ufwMh7pJc}_Q(aE%kDqYBYKe{5GY&YWKD^N? zX*pywzqZf-``-g_WFl=_(|rgqk{3OoWJ?ynd3z(W-rQb2hp69RRn3%?BPD%(etO=$ z#dUbTL#u{K4aW=agW$$G-qWlarh1kZL?ftki|Use9yg{)Lhbc1HBBU2r&P~tP*=p` z1vhonS)1|phwF#uGge~S@q&WM46LC!b$MZlmok@ZMD2z^&($X6SFfk` z4o(a{$Nd+hp+4|hWZ~nWofN%Qvw=J(?J23=wC?Ed3O!Ed`@lVbid3^xo5ac}4ur{9`Dp1K+AFiVEf}>+vTCbr1>SsM@)rR=_aL>HCYi4- zbl;Y~WCJoVIlp$g*y{;0Fh!J;m=kJf*-T;pd1>x2>y;!R<-kvocRAk#8{sZYpL7~8 zl7L1$JGS}T4(w&QB#~0@$x34ti2!yZVEo%O(tTkx#}$E@i4!2Y3dDgNG6kAyCvqyx z_(UaY?i2*5Q>fYpBX0gs^ZNP-Za91Mt%-j3r`^Nt?)v9n|Hof` z{oC%-PyccC__zP|`Pbe3U;c^A2&4Y_^Izw3wYw^u1hyuga71dkm*-tt$B&e0_d4E*)OAP$4QkYRxYbs&6Xa_9So+9AF>Lrs z&S9fLl_O;}DhXi3r6JZ6US;6~g7ruL3t5jH_6ongyuW?AzXQkRL}5m^(NkS>>juAL z>kK{fpkV#fMOjeAh2At6e`DJp>0l%W*nYE`5Yfen(M}%S!C^`N==$Tw`&;fio*gtE zLcXLXXWFqF3pyy48=$ih{h|W@8uAr=@J;&|N)kOKtI)-1Mji6e!NU`nHn;oZ_1OSh zw+1l0Gj?PARW(k0-1LfUVR68QBygOFEh?q|)y~_7L2{Boi<^vkogXu}>{o_;AaTX5 z4UExC)1Cm$wjWla<{aXr&B#? z&yFS?o9Pb7b>pOkiMfJQrX7!2WOC5BQ+Zd@k-StG&W<)4EbC=d`V7jnal^~HFgo2oRlK!0=y`>Y*t*Q5<;FF zqG=8>&u0w0PmiC@-(ek0d*)@eJfNXntfaLTO25(h{?j*H>5ruo!aI%3c{PJ1rlNU6 z-5LLqEpBEcc+&f|Zt@`>JZ9{!_0amYrDusaak!A6gyLG&fLxrGtY@^gc|Sb};ac8x zbN%7^dH4M3`u-?yWnfHHMJm5WN4ecz?&gE_X1z<8$WZMc9w(=N<3W-3za+PJ@$+r4 z&F2kk9`T1fyX%K{kLUMU3_Qr(hTr>j0FY+XGImhr-Y%)lWim^?6NB2kGxo!-A6A1S z5xj|m;KP?&h(TJTc4LoN2n?K9h=KQY-LZBy$wF9tTbqSYIj@|tc)MXgOYh$!3p~Gg ze%QZk)fvmB2&SE}rAU8IF09|!s?dXOO}7xu*Cnjao6cB#UDDdPwoMR=p82$&?F;zq zGjfZf4H$dJ*zDvM;+VeD8}V3RJXVvkDBHvoC*?iaS&HQ>H&46WcTbNGFW2vGQS!LN zi?kAd9&vMFO?H9CybqxZXw%!{>Jpi$tQN9}e;L^eihHqc~@ynbKD6r^`%MV7@%2F0v>WvDJK)0bwwAd=I zkjUasMJNX;05!T)ox8~5#H8yBMz-GfHF!J!@_zRxvOE_y_0iNQ!!v;HD?ebYLqWQ3 zC}e7=W#?H8^nY{YM=rxp>bhA}aUvRBLr!3jE$lyxUaPZCU5TEoxdA8SoK=XP^{{SLkedHIvDS!XkDPvnB@dnnaI+@$;u!^7fZ31Q|A1x!m+g?OF(i`bTZV zSjd%;qwHm-g$pq{sQNcm8bSy}5Z{qp(!`-((++DwYy?HtFC7nW% zQ2FbV(<02lQD&XspxZ)MM#X`#?mI0-QLi;;ExCRN1$WMS zFEiscmQCwWTds&*t}_ul)RveDw4#ekt-+gU+*pdDvxnx))btQ79D+Ozo$!$6S3$O? zA>&C>dZRbo6oG6vD>c)SlOAAV$l^4!-r#G3j2hg&-n@T0uK+NNDQVJj5nG+Rr#!p` zJVXrcuD^N3C3pI`r1N0LD^4+MC(myZ8N=oE8y(RW*Vcl_mS@C=YPKMQG1Jp8ED&U& z7FI%C(bbEbMotAo&JA*z9v@uT-Q%b0-SZ2b@XM~f!Q){7>owDp+S+@ z7bS`ltnAdr{+;%lO_MaFxqqHT6(^!!IR@jn&tnw6`{w5H{`UFAfWat4#57=+hI?Yy zd*XZ`hpy@eC<~$hWn3@kEz*QsQc?8rdfK9jL(ugM3Z@U448qCqWs05besHvvApbZ~7>TYs}-mR7o z`;V~Gv0snKQZ1D5sG+M?xlVrRbdegRiYiVT1_@ZI1&@)y-h9tjI_eM3+}8fr!Pq1`4NV?k-Xu}d<5dY$(ihZ zR(fA(kK$I@IY>f2LvC4-o)~Zvz_uK+(BGPrcYoTEnS1^4=I(kG1U@;rX0>Vy|G<~Y zIT{cvYOl0l6pVb{nta)+au>2*u+hT2n3Srg80;)xpu0%i;KeDudx8oWnGXJSx4V1z zxO@8Jsly*c`gk8Rh`x;8R`h-?{p1wNKBvAeD;Lheg7c>TOt^xQFsNzN(%}leH1H~V z;%*Y_44rH5&gD`MI}|<7T^mVc1=;Y83Xx^@hYU@Qa(L))* zu#pY}TtuQmDMRhuYj%+5LZCG{l(~*zbMn2oP#>d6;iQ2=-K|G01YTrB%m^H6e6H~% z*K3>wH{y%E7Wyxi2Qo6f#RHXn$Bbe5?ai;Cx=yw zmj1nLs!TZ+H4jkTw}{{*H%~!xruF#mpMU-E_kaD{&;Q5kUq4@JGMoxGq=SoSz8*3C zb378KewC%M4@tf;n}ze!yDj91a|0Ykz#!{?1z^uEZ&lzkX-14P;=Y*Pz%{X^gwf?q z)iDmcf~&h01)Sux2U#mgKm7dDpa1?(e-kcKMa)PWmuaB8g|Bpab{qH~j@-Mr0KmGdCzkEIhcpy!{(o%4I7%>+L zBAxBhx4cE~WDqe-c9<((gMc+77I){gR`nNc8qjNe9nzL5^)t4b!6QAFNo#*EyYy;5}NTuWxVfU#@rW@7}%tbp7M0R`a5+Lu7%QXa_@# zg_~Jk8%9=R?$ZmHrGa^%u%?#*WMtJ05wu_yKj*c`1CL_EpuPP3Z~rIVf%8^)Cf2J{ zZUrygIqs;CMT3%*5|VPPLq;E=iUJY>1<-4zW~k`c5N6GeEvB;D?jIj9oBHnl`uQAb zV#uR-$jO_*Okhkhi8e7-ckQ#{I`UP9Os?C?d(j_W^x!AM7O&_1+`B?__~TFi^Y1_Z z^3(3kN_#y0@;sD|2vx&t>nX2sJoZ~b$e~|S8@X{sj@xczeHUNU=({{U@pZ}0lC$9C zY9hjAPtRiOH_)~bC+4;BfD`?M_a>Qc*lHbsyqVwZ{6k37g@URD7CoDUQPepo_QP1@ zB^w-cpS*^dg1V_*E|uzW5H%$17cEF8Z_jU(TeC>oq?D&%!lIXQ{jI%3w{=KN^VPaE zK&GoHP?3e3*jD3$rg=00o@Gi(c@?A*9+T@JUM`h6BF0BP-#j-h@Jq0=Izyap10OI% zpODfOCGK4!Cmo>5Y+9~1=wP^(vP8KiWuFc}owin9h!=#3aZffDd9?Wb$hvwHyx*|a zELo~aQ6h_0P0HHMt!dKD}(!bKZ(;L!7I{e5j0oq&RY^Tc&JrBiPH^Ak`&2K zZZ7sz#_2AIR!z!t5^C_3U!m$O^4Xlub-X@@Y9EftXVWE4ZnnKv^LN|%x(0Y|3SzKGDIGIz1rC%=7txVe7V-96mj zzMKH7mD-Se&bvUp41643@$T8oZbdIB59xVQwPK<>lgg$($lGJjo7-{G#r9lf(Z$jI zyA;(7t-k8eKvY=aS1%#5GpYEwbb{U3AFe;1-O{3yH;}Nq32WlbrCwN!4tj5Uuu$n2 z#bO)wieI4GV!L929BOrFd70M8EgV{3C^ii%pl<<7+HN)+Lxq|m7?JElE(99rdU7V$ zk@>vcTuMIxtJiNa@Z5l>3HUTzda-H?-V?4buaj#hjW)Y&_X08%dx~m$5L`iHT4K|q zrkqJhAB#Dwu5GauwB4g5I_I&H++o<&QMgX zzGf*h9(2>{-cP%4;0bwd@6FSZCKUahgPG>>G5YtorhKmc!u!Z;nKMS-8(IoBA+MI$ z<7X20P*`%SWt614#GnKr>kAMC8hW3ue+5hDmEkLnmkfbjxkR*uQP#??dvS5)RSkvy zKaXdc$nAh5(=4J%wSs{+pcW=yaVO1TC#%Y`PyAS_&!le%>VxpNa-DgS?)c;5$D^M$ z(veZ$AXiUGVf&FR^_SYR=R!H9;a7!DdfBHCT3F>n5K$oG!>08OLc*G%ouJX=mOw6L z{4B^QZ9ePpL{|hsSx=9k!)@2`kygg5l;wyuG4vzBlJHI$G)w&yweWQ2F&$g9>4Q_ zQ>}}UZQRhVB3-niTDHgUOOy|(4T1V0p$$Pl+`gxT^5jDKIQGTS`}EMIkQF9b8n%_p z%tG@H+N1RD`oLx3B2>co%~&?WMi$m>e!jggadlM`_t`7 zk>WUZ$I&XPx(SZ)CXUn*Lh!92_=yr8u00NiZ9(fS6OS2#NY;1jS<56MU_*f20l?tP zUJe&>Z~9%vB5-57a!G|8M zS*E!!!7Fxh+vpzYo{cNZvdG=QoT!`9ME{@nyI~>DiCaIYkg-aL>^E$to%1NrZY=pv zax#i=D6+;y2l)~RILt9l_E02m7OQReVuZo+=Jn}8CaS)9d-tb1Bvq#_xMn8=%$}gO zsf`O8h#Kk#@^?I#vZAc3?b4E>j_R46km&yO+wD%g*3iDkp81~tS{d0Fe-7(SdaFJs z51#`%c2QD3Aw>BcH&XlR=cwhQmHH{tIFv$qb>Ukn{L`CV7ti`(_syrf2WU*6@=X2m zV}{r8=G1zP61%2XSW$*gP7&-#q~EJiakUX_+!D2xS}ln$zH}XOu{5crD(b!VcB-ZY ze8c(q#puDSTt{P@v4JC6BtrqE&w?G-8`hr7w-|eNV>paKt*qED$F+~MNa$d^uzwMc zB|8+&-%EURCQ`FOe@IwX*-V3h^s7p;49#v@iXqLu_+GU6(~gPDQ>t$t-fUssPscytZ0uek@kna2%{&t}6YaVaQ9 z2}i=*wXRt6xySnW^!EDU3!W?863YgtKi9B6*NFL)oWY&!VS(j@JsA_ans9rr4wJL% zpRCx|q*mPy=0+hg`S^!VyJJdh!0HEDl;I#gs!Q=ePqoy1k8DeFOs?#k<#3O{b)e)& zNg~!uk>DZ6#|gGDgY|X2k^;-k;)hR9yFcuHxPE*0eBwoFrn6zXR(p}6)8T?|cLRgF zWIK9e(9~-jp?9Y$(6#tvUF-#HK`g%1TZPy*X6132ySO+VlcSuISCT`O;bW*gWkDv9 zpqh|SU+P&JW|EOoIHf)+JFtV*>!sx;hzs>jr4*P+=9B_yGx>b1o;m0C#|69|mcr{K z)Lli_t^^iSP!{S(?@3nB`Y_Gp8GPNMRWgs6ydnZR*Z`z5I&if4)Yolif5Z>qk1W@A zbNz79ox!YnY}^fUJh^_6k*WrM5R2o;w)f}jju*)BYiR(^k0>-w%30MPgm}>C+<{xp z@p;d^L7wt4(=-jR`hLshfF<8Yi6Ww`>Q%B?^#UlUQY`+~jKc=0vAb17J!g@H z?i13FomX)DJ`8H~82qXOrVXxJXRTx1oLKbc)MaUKH}m(_YKkRSN{h(lEHX!^N<$zo zULexJC#;)?T;XkYy1ABx*WcmIQDTh!q-B0{9=o7aiMo0g?-ZrH+G$bA!4{PRZtz0H zcA$9i0AN6$zn}){Sp(*1S33dat^J#T#aACk}OFj)xjrYZ=;i z>k?aZI4fw!o7tA8g#sqL8p4cF=)%IjwB*qrLQ0kV;TlxQIg3Bc-VB%x%7*=%Pu>en z+~-BFtzwv5vur%Ri)}P1f!pkRL1*D2r!|__)AlFfEli=EDC8{J`wd?6#dvEpibjh$ z2smN|O{OQ+Um5Zc0&EDtW|SlQ=*rlnD58(E$ULS3?8p><1z=RGeCyFofO$|2O3M_` ztUu?-1VA)pyeceIz=%{Y7^*KKnX}}OHecZ``HCU)qHCfPub{tyt%t=JqngCDb({?g zM%E)=9SO)Z$|)ZIhSa_xfAu$LCoY=q53$OA?)()C#eQnjt$c;|DjqzZ0@LTqSH$J_ z`3hK(Wz2v3g~I3A1uT_ban9_HKpNd}OzG(;rHSJe++v$ojb^g<=`venM-Npm)btT1 znvh!{Oa37&efb=SlQ8y<(&+hVL-SeZ#mB#*dD>{d`e&gH6i-qge-<9k0^|7&FB)z5 zQMjO9z$*2;xL$)i@wRPqz0rO3NBjumPqSG^14LINShaq;Q&&cbh0PHvVo9jA+ zdI5{G&Xk?+jhas64!nS!XPa^Bdvbm1);G5t<8S@~!&KYjUy$ft?~7v8raIz`B@>#j zv3`M5>D=)zXf8RXulRzZt*66|%f_tBG7?{;JBsEQ7PlKarXPZTWWCqxq9f1a_^Ugn zz)jtD7S)A2e!jl{aK5ym8Zr2cxN4ubPK@K-LGp7jSPO`@*JwZk7Qk+0;!tJLN)^XH zB+G{+6<4f^8yBT2lOtd;-Nt5$65_>Gjx9Q}Reo*>Sc*x5Q-sa>8RR&Y9^!@ie5?DV zi>s_9(oKh}bMtsF6R*2J?AU7VZXO>_RAXE(MPtQh$|4=c=!KzI>S$Qa4Y_V>SM6(5 zCAdyNNyui)c%*mKGp(Amh=z|rS)^CSAX&u?>)ofv`|qGxbsDz1Jawl+>zc+k%~lr_ zu-AfwwDWeoITU8&$e}v0sMlIc(#5GI(z!x54YG>c)@2|UUJ}*73tZz60mlwG7BTTI zf+b>NpPX8FdkOgOy%M%EOiSo)wpJfS#fSduLp}EI?jN5{>nbqbfyCg9D$}L4-w%|l$p>Q-k_oX#TU7#^el}{rLN=>GfJ@OgPMm*e-(;t63P-=`_Ofq6 zQ_FI|?2dg?4grjpF3jfZ*j{8ZbAO=in-rZ*ek4)g>!ugOhh;!SMkeyRr|W;becE0B za71o%s+|Ehg=i~dU}-n0p*A);Opo>1hL9=~EIFkqAwPQrHeQu8yPm|2Hs^hvkZRm5}s#O7~QV%|UX~dzTH_**{S@>U9pRS+Z z-#xs;BIK(7b4id>XYSi^?bNIOF@*Sj#q{$-D1*QAc?%Lto_M)%|-dg zU>WysI9{)hm#%xTRY9l4kd*kXp>QB@d$b=LIxK2I1c}cWILo{UG1?w_31-_cyWfI& zs0bEw6-NTn3K?o0OJN!8ULr>Ejdy?gk%0lo-Uq#^k0FZ>b-HEBVkwCs+oc6B(f{Y& z?*3)>bY!~{psSt|`ZSKq#Wm7RO{gubPSs$9lMY-FD}<3u7ecYX#H&W9ghOkpD*8Y4 z`*A{_zXJWx13?HuPBIMOg(l9{F;a*ba);@>sr|6vm$|(jVpM$18s~}(kdZleWyhmD z#^_IA9W`CNKI!%t`M<3b5;1489DUs#6Bp>3(B<5)@yYJz-Y2WRQbd3VZ2WCtEpyY- zRT-dWSxFvQNE>&J;*ZiKJ+Ksk0X@)m<(Vak@C^MnO53s>Km*Qx^%A7eVCeWB~=vhz;zbVsI zYzBZ1&GYF_*qSO_4BF~8N5Mowi=Udat~)b$;389Gu%`^GuYriAx*qp8;pOjKbBab)FNVo>qUb}>E=P6lVlA4-OLM08m3SSnb-b%g zZK!}z*`hd7i_}&bQu;JIG@t;OzO1igsDNYhc4?-_h7I7|hmSj3%${u3S3qwGiG&x& zuzPG1v16f(uv7G$wLM|%&FQ6bA$HVGemnMb0y}FJP3N9XQG2XY#om0NrY2*KnB0mP zw-a0vVqm;vL5$(_#b&b8dfYtQrZkt0E8IZKm@ph?Iq=3)n5|xHuCUBptl!9g^n*u? znKucZ;6H{Elb(9~wu-&D98@)i5sOD0dCBIWI_3$558&1bpI*V;`b#d#T6Pn8B+L!k zU!19$G%o+blU(#bf3N;cmZ|<>cYXKt@$uaaaz7zIkz*g9?w{_szhXf<9Ol)KX@}5U zq_JGVjh%LnZKa%QYldX=kz~I6cZoer?GxrQ0nX|Dj~30Oo&AIRw(&ZMTfy9*2l@A;h=)fDrXnCj-!Ub+!l)t3zN^=X zF3}U&oD-$&p;&`4y^LZ_8h!?ed4#nBOrOk*_I9+nRAukrT+w6h^@}nKrO96>zDRV2 z=!?qqlfh9w{$CK&d;h=wV`u4UpZ*%JxuMwKM_IOa0FTj)nc7N!>+Ts5aQEj`Xv$S2A2B1%Mr z+#NuEF7>q9V-=4}@5ftWxo}$x5E+}&Y;O}c%D%-OPn#yw4;i3l zdHBg*ln&MP4578Pdr=i5Bz(HXBun?AyIE#10;5tJ~RAbJr@gvEABLkX98i2eEg|i0P_L@(vNu=gRvl$_C zaDFl5fmnj~WSZ+2$fdYCAk0V)Dz+6!6>fO_16Avcei-3GF~`tS zr~k0~?(z8rTd0pLW|$nNxR|u6IP{=vHFTNstvx-!aZZyLr7YVRAcjp{J2&T;{qGGP z6Q+Gm^8oln4t@{Sx&{f8#tc5YN&Aw)tGQ}(+&$*z9`m8j0%SliuvfRay}AG4#OK(d z+_`XuXQb;ZoT~mg>54LpxX;6c&{AvmkRWNF(+#=l6mzGdX%myDOyQhAn&E)ynQf|7$mZ>52f z{bu?p#H3a}$PYujYS0ZI&R>x;d{O>7C=f-v?h$IZ9n(Ln0ulXnP|b%Drct7ji%MSY zw63mI6o^b1-g6V=dU=0`ZSp5M8$(6cU2!d-U7j^alnyIcZe(ZnDff~9_7iyMaOpH$ zq;H&6tLh|i5~(3V9R6QGoKGVjiG+;Udo{CA5sO<5WoA?XF{Mbhx~Q~p?TdW)(V|Qk zMcc937R`0RF0$>|Ny#fq91Lbuv{O+QFKE##u>e6{)J+%Uxgnp<+MG)rrs+-&QCs-E zX49f|koc+4HFo{r5=SmL^KoPgK+)A&?{*CXL|%x1#@`4O>n2VBJu)Q8K-~stR!cAI z?G*_j0-6p0<=}fqreas`!wF(t7-XY42KQ+L+^)d$;yHL-fxD`fRrGqU4!lfD3X8}G znYc`WmTxR0`w10AvQ(D^hQY9$?eOYCK#h)b`%)-pP{OKKiWRObooUo$?Z_2&=U5G! zhz1!v_umIE^VFRk0i)_7^Cb(U5!D<(rEvw9;)Y8aalt3zqDTgrxM6q?^DxWF@!1|w zA*)=M$#%ebW$)$$L8GOUD%T1YWp1Nv0B`$K*}4Gs4e%5SS_rQS)AIi5s2PqUT0@D# z25n{gQPxXAH>&ep!nC!gwz@9pxMnr_aH2FK5JM&5~1m%kN5 zF;=gFd@m+|_BH~)Tkqr#g;yv1O~Odqciyy_^$WGCy@s!Lb#2EnUk zFn>?HA~1FauWHfaFF9YI)ZUg*@y3Stcf1c@ftT*;MyVzS@`*z-;}($uvT@M6#2j%78A8*$Ohks+|4!{^Oa(ma+!}#DlmT-i;SsYPZR9}G>!C`4^`V4W3 z*r3^s9R01V_V(_HO!ftzVTTQNHg;9r>c|7ru7rf4u%e%nsqxx??0S<5i)^gYsVGTnsNX^px#vg!wU(qC+ZR7L_1w zK&_aWHv+f#;pY3>hkv}gpyD*t|LA(e6|j{5GH8!gZY-s;Pvj=nyHb}&8e^vd4kA8} zb*Jq&t1B0sATEUWd(rgV-akIRt$5Fd-AWQTU$G>xTh&oT)HNkJ=p%~20fJ1bmM2=> zVF_Wr9wHUQ-f+0iJTrV+O>t~5M1(~%nHvvH5;KY{pvl!cHhF2Y!g{Sbl}?rSqbr=Ydh#NKN=4w}3iBtq6dF|$+$&eyvMLnJQv(auk!Cdy zFU3S_zy}6M14daRae-vqfK-w+MkH`#fh7qV=G-aU++#-vDgV%l`HBc7J~@;qG=1 zJKVCK?FEN)n5iek{}LS$P;AZbv0`MG2#3bMN>Im~Jx0j^8)5{9VsLb^zWSuE%^0dk z)>^fTMPOj@IpuZ^2Dm9Gk)BwLT)8&iR_$AknH!dEvCae<)Ow7O%ncK>U*8@c0Mfap zE3)DqY4bpr3fen{yP&QbtlB2kVkE8U;`4hledRzCmeY(ck|}zO3SG8RO#I!`zGMe^~yzC0KOtwi;V54uPj_=wU z7&1c@*@0u>z*)?Zv=N(3iVb0M9@CHA*9XbBJiN)T@QOW%+I-}mHnzm_cv&Mwi)`4IBrP(j}5K;h^QyNBcB zZk4ILIdklv#qNXg%4ZAcg2yhgzMhQ)W)k@zBkIxdkkBrYn?0kI^}AV3UU&t2rz%T! zup86@#v4mWJHdevz|-VPyxO8QIIC@;MnWJRdl!klTw0K3@Qt&JbY`@KSdjU8cth3w zR>8Y&XtuE}ap4*m?wDKr!JtHUHV9ym8jPrg9Dk?KwUn~p>?cDKf>T0^_~Gs4ajrkU zZSy<*_;0`d{2zbWy#D;_|N7-0f4=LH=`|x~v&Xkw(?SOVb2|x1DFaB8Bzfm>8pI7z z;42_0v+dZ9hnjMgF`T|7C3HmArz>}C$zefRMmLMh8_Jx&XS*+ic{u_J@tox@W`&Ui zaU`!|d8Jp$I?ojvQi*p5d)S|%U_Mxr>!OChWFtO@s2&XaLsi-kqx8V{jRMIecWj3c zrfCtx3^yL5+e(-yU#vj1sT{+omg8ovMeS?07Z^d$W*dQW>r_;)?(_dFvIP>^R*}Wc z(^y}WH@|xCk~Sp~GP@G*^Sx^as5y~IMLT76Zk4~p*gC$<+vP;1Z$X1vkE(g$&<@9Ex15&`@cB9M)x{Bbz59kHFjXQ#gtWdi2 zMCAz+P?g)Q!YZdW`H7w4Te%kyW963M*&;fr$c5;Vcm*q0U!0{a^Jevd2433qygPn> z4;LARBc`^yp(O5T)aiQVmp7F8ZN6^RhD5oD?SqOMknXl^3Z&%&Ew1R%57U6@;E!kdIZdIAlvEr=9(fI;B)m&S*eZrtfi6 zN3e?T03Z2z_x)x6%CxpCHCzei$qLbBdvABd14&38Z7dv8pZy!$Y#27(BMzTva@0D2rgR=jOVdR5y>x2N*gs`cgwhi*r2r%pfR)3LB z5C4S*VdIQ^oC$s=<}`>tZnL>;wem;+&a52Cbpbvm6}&`66wPLKALnFzcA4FFSy?0~ zFh{7_g4DeyY(f0Q{bB_p9ox7W+mED-=up%JvN=%cjX8Cfa;S8H z6QI?}ZJGei=!c^WcEBkolF{O50Q(aotjkK`_!J|-0o9IQzHNTo<=1&VTIZP2-oIeg8cyy2Y?zn$=0>pl8GEEFbRq7n3 zz9@A?3Mwa#iTxB{p&R!Fldn-NV?NPg&G8(*%}ju;xm;7+76nuOr4rfQ9PzgXN`*sSd_~fbBpXpV7)H_I?DGfceX5~2v1N$GrZX*2@KX4h6<$KbRtnY4w4kw!6@9#b z%QFZ$fNr{grhU$?oo!@ni5S*>eh@7?tex`cB%rCtt6AQpFBtXX;oJ3wg{+7LO0?^` zu&NuFe=Op9%)2Jv3Nw>0J)+=a?}O->su5|$EIDdGVL0-SZB(*qjf4czOMJQ=d8KHaYH|H>)R}vbCvdhf2m}H#4=CvQFfA zK#|x`ki20v8w)#jw*0(X+BT`%V)f7a{nxAcm^2uXh`Bk9Ot$=Jd)28dk+Y&~UYpN$ z+%^O%p-RWzU1Ka&%ccK){HoET3jN-=MyVkLzkOq}lC>3e?chC>2 zHcSOZLH%(PvFW-&xeLvziCWCq)n={J!n+s0$SginQmRuFU0@V9Vkl$)uDuqz&3mN1 zZps~V7Lf0Cb}tc(?C6XeFNm*gH6}*4gA`3+rk*Kj)oV(Q1kBy*w~hVFzieLr^6Sq( z|7Cki(qM>mb>3T$YJG~qDyZ`NDJzF)Co-dg1BZ0|z1oID33dL1r2@^2JyYVj+a@t3 zksG(U)+FjK8M=@VG4%pNlG2A$Ie$kY&_F&^AR+33ct#lFvv(16r^``arSHM9IvrP* zrZI1#%hR&!0$kqA5Sr$GVxv$9DD<1gx0`R5n=VR@5Eb99TxjPghOn~uC_7k{peaGd z4xmkbohvy`$JYj)7GGnLDzLJ15naWAa*wvnW<;8V%Kxf(W(R%jmm`wIl|Gh>mZoN9 zQvp!Fyubv$e4rxAq}En*v>+ zu4KlQ-^cKX;(VGM@c4I>VEYum@RFCKOyx&W95=rJJd13oTeqL;hD7-grasXxG|8

3sthws<-kPcM{CF=k1b>L&#t)A_KE6IuqwA&uy`jCg z=#;a_JmYUmv!Tp5(6Tfa=MSzeHyiSc?!jCa5FzpS7c~CXP94u(8Wy*}aWJE>Y=v zf)&?2PvX8FwgvZjfB1*D$ET~6s^Ot3f2J$QontKTGy+hb)B6Uz$wFW*HwU-Ph)<;? z4i3jLwXe)Q!41~s)~SAQ@yP2YQW*!Y1B<}+umCKIJJreQ&R=5PDgQ_=V~Hn<4B?aElO(LyI4oj}4L@k+C`!48_H zy{@oAYbR)wC$3RgElP(g?Y2}Qxw70cx37+e`!C-&Uk{Hjr_GO#yN9>?+t{ldfu7A= z@~nXjuYCx#c~s?av6W*366u`HDZ%PL)g_HNzG`N_=nWJ9SkHa8R&luz1~|lul3{5M z*SYzVRR*wv{ANYIT);ZcxiD;xg6UC0V~R&&;vX9(VInD)^KEs)wap0~Q>dXTEeE%p zk}8g0C?Z#wBovKhbjv8Zoy5ZCinKJbK`7P|4CVuJ#`^vo(~MiOi=48$cT9j@65^bW zkjjseSj@G6{6RC((8+9Q)d*F zYT(eCN;7#oqQ}YVxXtlyQv+AI^5Yr!85lY@m~tlj$3| zlualrv%q}8*uz$Hq3roV-_jzKsWeWk79O(}n+=Nkv+?8`<_@RVX8BQWexPT$27&In zCp5`vx?5Iunw?LAMGLx(%ZBPKuH=~5hXCzrEX32|CF2z+Qch?V8uFclj5@`QiL z&gxb#1&cYBA&s6Y{gTh|9PW`YjX5%t+B`5Y~pwj9$J?wXvB_<_tALE9t>z|{W&0VRuUE-29R zY4du2IGwI$fZc{kL+eqb0>!&h=%I+l#r(&!a<^p9umS-$H_JCGP-w$}EHisn?=I=e z^X~X%f4YKbA$u)E##+h9n+obRr&6{i0}A@+txApHGEOCWcf`v-i&ynUj48$NBY#d&>o$C3%O|LA zH0j==P~G(Oc6`af!0X$~%lFquDEuPwjK(IL+?KZ2bJ)(sJ6}M~0CHs;9kwyK+2~nA zRwV~BNmipvu9Oeeng->Os_He9>8~7L_U?7_efRu1$1>}|WVagkf3qe>ea08SwWarUI8EvME@)Ykwl=&HKp?`1nsc)nv2BjNQ1O3GfwBz zeuu${-OFwfZa!Rb&mf7+sBF z>5p|}d$%P2AO)UeiIH7?DO>R3xu~{Uw2z1s$!vp)-E>4LF-}TLgeys0(YKQ*OA`pu zOgCoJ;_U$(H!pYBxGGX%25M)&lJckAdMB2<+oBLy(kAecq{0@h_1RYP+hac&oou;) zxfSyEWV4$e_V=F;YlW6BD5Qbn-e@>lxCt`(1>Gn zg$i0-A#p9c@jbs+WZZ$v)9*DC;Gy{=!3C6 z(Wr``clB~cg`{R*n6xk<+Ax3JGhnt@5VLvMec$8*93M}o^)hoe`fRCiRn?v0*rqZ_ zh8!3JY1lyd1#pXHRy|)J9+A<4mXVdmSK&qFkg^+^C_KD;+MEv8C~xdQx;<5A-YmAp zSYgC+n8~J`)(HB9R2aal7F)_ISx9#D1KeFP$B@Hb>(2U(G%`09c4+Nem6i)T-1+fX zUq&lrTUp%m?4uTIPG?Ys3!+oyinw(ECG~QPITlm(m5MlQ8fdp_?uG8xr){$E0tT%39 zo97#jp#*$!YLQZnPxDi2Z?Xh@%r%7CV0Y_0fHJ268+glX91rU&!Q}jpb_$q^sS{jN zp}kB-!q{!$A?q)re1Rlbk;l{l6dT2E=fy=-`9!LoNV=s|8p8Qy{=b|1Uw{7jf36&& zn;x5}O%cl>xcE@n34kw;0d?cn!w0hf8npTThiNyA1xdTIl3g-0k)LFX==L)VIRjXU z)NI&mk9nGrX9lCdXUpU141y>u&Swz&drAz>3`BmCF*yC}Aj@@2Gf-E?D`)N!fWV!h7$r3#iECM0nY)iq^wuGSLb_pMp#-k?i*mBrC+(t}FtV!Tg z<@N&C2?IzX^KHXBYMZ?~PO07LpX-Q8iQ!yU5?W_owXhS?((Ca2bNu8LT4N+ z6B0ENl_;KRj)|?vKaso5#Pszb*EH_^Pg%X`z8qbH&*k3wBu19WNY3#(LdXoI$AM zf|n>vlD<0Cp#Fa-y{$f0Le5MH#B@$WcYr~C*`V*dd)|YS;%3Te09W-Oy5YS`AVkhq za_elHKEPxVYM;Top&kTYE+c}nQew8%naY&uU6#E!m9QXw&~w%LRz5mFpd0v27jFuW zcs3Or<=%5PmCR4%ak0I1!D21~C~z2Q!&(?AJL0V*ULydY;~A&`8ba(Ejw1Y4lt;Ue z!kIftKB^WEmk^Aph_E@lmzmywZxL@ZgqQ@0mBP8jUircJ0+Is?6j-KKuqdgVjme#r zHL+AkRxwCsTV)nO);#+A`e7rde{a!ci%?N3OiXs+Vrd+c8$~G=&F?A+Mj?3o_iXWr zi87PsXXvWT;eyOBx615ql^H39jdq(;=r$yQgrvyaQ@$6OT^n;Lg(0R2@|8h-F^9XU zLeEs7se6Et!A+%=hGjU}O;*vgi%bRTdzuejs6frA7wjRG5pIUI%9(u34}VhLY_dPc z%;eLD$Cusa!*P529$3!u^)X z@(8-li(2=G!z+GSj3Re~GW+dr*BZ8ua~0)6qG8#@yw@>6S7c~$VX=>GMl z#Ac5qVK^*(s?zs({^DskK#{X6Ygg~(j2YI?7z!2@Lp$bpkxKy7z_$~)vFe>_&8y;b z1n$m;%<_q%03j|$j7&7-l@;$+IDd&npzWJ$dq>9iK%w|tBdE^5zF^qQ37)aRRWK?+ z&fg4_PH_G@8~4HaGx3mD67x^eyWb>zkkSLf@8`_UcG9C}m#`PvxQ6b~ftf75_1&Bz zNpA%SU@6MD>Q8ODD*ctVP*CV&!G5atA>P!M9$0s=FNS z{#LmS4K36n;{|mA`aF2CY-ElV#X65!aA(Y@F4eKh_7H(XA@~u-CO_fhe)n*la7_;8 zP_3x5`>ys4ftJXr@79S`VHnv1mLX|BJY2K&*!0_Wf)ufXf8f*DJk3$Eb;ks)_%#g(FTyeLqx?A7Xi7NAU ztKR+1X06*b4p*iLn4A8}ZQB>5F?frDQ7e)bKLtF6fZ^22Y3TM8lHAqHN_d&#k-R@h z?$F5{uE;HD3Ct|FZo{|B%t@+}4yhbcRCZ1y! ztz5ya=3gV_EXvsZ8fc?@b)^!1LzyU;CmRFKE!ME$Ced;ULcc+fIH#XZMGz0@rV=Q) zM~RKFTP{b$g1Of#{xxG(obJqWr}O^{$Y1aq%2E!?AicJ(~DqQW1nSa zFR9gd$EXt5ipsVtscdh{ooO;58)za)YChg+o}*lv(F$+1XWU3EH0r zZRW*en;$+Oj<5UI&xh=JwzpwGXx9|TS!{Rn4ZjB-HPj%QUZjGy@%idIKaT}+mc}Ca zS4l9KcF1G@{HpM;REAr_Ds**QPdzRp#CBC|D%?(3|I$)_6$_OX&^Yt+1DrYA$LOq+ zj20v|`$=ubJNLcVKklB^8s?pMj}}4?Z52CrRW3I~4G^e7!mdc@e4j}V$s98ec`eD3 zX6V@A=^^LPkDp$yP&{?TtQ^4t5XO{AEhgc;@&US{ouYBQDohTesG|s+W_z5_Z$%5L z#tfPnhkRxFY$XdM>^Jpso!noj(Wh``&e0g{o@NV}11JEXmVs2Gu-2<~C^>OPOvw`N?{6wGcQDr#pzrAi=PutDkZEk@icsX%MmTxE`=9Fym zSle3g$sRSU)Sg*E#v7~7Ny}oeW}t~v%ryiixPk3~ZM6_|DfD12t$}N6J{6YuW}`c3U?)nHz2X49c$?yM__&;^_^jx0&V}pP zkBaqqVuFSqW6g23L-PVu$W{&fS_b}I&}1(&o2U@#NkoK5qaE)nIEdTzHep3=@Q?%G$fon@6px z!eo=J(L-)E5&WGwM#(zuh1`JLFvk- zp;uwRup}lSS?20YC2Dx?RXpuq_CL0&)h(R1M4%prH>s?zbgMaHMoDnKPMRYJge!U9 z3v9RA2Q_RxRI&QfFf>;R|IG=sE2qP^7tS?r+IZ;ikPH}GwlY++h`>g1S0!IY%HeCA zjW(^mfbYysee9|zmp%TFvBm0808 zq*R2jhQO=%)T+l0!LT?{F<*hjF$IzL{oGP1Ig)++yVXOez9wFHL98_AD7Vd}AV7t- zNRg{(*jq>KIAe#|6yOt+ARsDn408>6ulye`uj}RYtMdBRe3<2pqC;M)_)IdCO1zeo2iTM+aFj#IEc`h4ZM z+oGa=IDa9H#Yo%E!%>#={s9$lmkaGAX2Ofa|-#6L}M2D^y^Rm{_j`usgj}x zRF@Rhju%Ai=^W~I@4%Z1EZKoL-D%p6pBJ^d=x z`s@PZ+1mr`Lvodpq}2t=F+93ksKe>Fd;N0#VuxyXYf;wN$;~%=vDyt`)nAC8T{}SXu}-`-eJlC^;tB9dEJ431lxh~ zyBkVEsk+7}w1$#l{2e#v@7*|1{+GC3aV$~57r%(I_twf0-jWL=8#_yGlrkLvJBzHR z>KDhLn-B$0hu15#G#yk%BeBWBknWYDjp?CDyv5W>l|h$Llw|ZJjDF5|+8|jGxBA3x z&O31z?Z(ty1Rj=JIsN^j)>Bm?J4LsZtG6)M3BLkS&I0WGe8D?Wez_uW^@?4a((wYZ z*RRLj^egG9KdgmITnBs9PWyion$oc74j#KTBej3sSZFy*`EaQ0ius@!-^13nxHn>Fe_L|Hynqy)KYw2*>-DXMoX9o#U7 z3{Xb?CwuIXX4;=DwIA%UBX9C>c;>Kw*%o*6NBQ)X@>+Lkc};G!o!AnE+pHL5j%^N* z#BLORd%(i>`=K>+{`fGB9^^kk;;=5UFbs1~L3PVbN#a-~7LU(XT|T2-2I1#giBk8E z(2{YMhR#zZAyOfjFgpUvr3>k@jiI;9poa|J4xAyH*?scAF%6eZj->1a`wbr32xG@D zv3P81DL5at$~N-NPx6}$2uZzU zK!A!0Ve3-Ed;=(442YO#nGJ|ZvWrGi>ninFCA+y(qk20H4wKX=2YCB1ct9Bz^n9zG zNL3Bh^UX`qw)hFkbvU`B}27KWU``!KFW%F=bZPMIP@IN-)O>L|$ zLq;uRJu5az^_fb5$6P*HT>YOd?h3;7c5$n3lzTTOJV--kC6!wgA>G14H{ z>_X{C*h}haWWn+UrZ&|b(Rs~Dq?Np~x>gS`El~etagM4w$8brFiEK9N&Fj~<6-qNB zdm52QEo#}cM$&d3;m#JygKoGnp#X~j-9T5VU%UaP1uObxY^5~F(P z42YTu9yM#TNhZ5kE0zuvS}NT8FgdTcDI5D{2bWn`wW^*{wrAR~(a%5q%4NM}dJEBf zG;MR z>q7S+`HAK#JK)aSU0a9aYs|odX+oNC;sHt>TX=S@h39k5kYYB0y6H^%{VhDLs~b&Si-{|(4f+4W z^W*F5;qCai`EYu^jcOj_#S^v@be|*6tAEf6&famW{WO0LFq)%jhJo1jjW`O>&a~oo z32=4wrs-0l_>T}jjM~KFhb!U>hN)S6!82AIm9D;3mLzDY6};gY{pPK6nWZ&3Hpu{c z30zBY+5Y$>s@b#@0IBBauhbS3(NSb}BshE6C^Kf7>jt?b{Lw%D@~>CCQ&%Uh>+XkI ziivfPh)tN#5<{b~CYWXHh|ViI!{z($G3vS!0p)!3f~p`WxE>V@lx|q@7l)GIJe8C4 z8qE4Nb_=>=ym&8KVs$-oj&P-mg}{{xD5}me6}`GyVBJ*&iFu|DFK{A+>EiMnLF}9Z z!!tN(3OU|u5ig5ud{c2QVpgu7C|7QhaYT0bUS@@^TU}xo83o`e&Y)dm6Y^p;vdRW8 z`8a0qjuOxe7F}1-$Aa;Hrs!c^^eDRTv*>Wm8j5mr_boy+?w8d%I$Rz zhm|*du^ma`IxptRSX?d8$tB>bbU#s#9`uhEH>`_m2hvIsH>hb4mpx=m!fxb06DX>9 zVgBrEFe3>Fpq_3m`%J|t#+t90{N4eeY;OxAAs%Qy8^`EMCxP@$~q5P2#Tc3mXx;3x2!Ph4ls%Ol53##kz%m&=|^d%ruRGtHv&EL0m}!rz-HU z0f{PidlS2*oYAWdW*S0H=3BiSZL-lD?v8;j@c$r^Jtb%7ydp27dXB?#8d4zi&`*2 zPtb0tmH?SRX21N-@(%M2R&$a6^`YGIVtogD;>LE3p8$NWzgOZSrsx4wV5l+(_O-wL zxIeyZe%w6)vvq~jtXqbZUD?cgqbhE zOFuG@Ll18%^$dFuorX7IN&z+V3r%dFFYiksi3j3Rk{BV?AhBhM<${SBCCn7{>l!kE zgrgRB%rw2qnTmqXF+_HNqDNZ#c^Wh=qVoQy!cLz=j>QU69AGfh(D}c8a3Tws&Xl6q zX2nbED)JDfE<2ALbecv&j@~VgO|*P`t}u9!q_gGlEOLy$UF3cb1Jv?Pl`uo~*i_1> zvMbr9FC{Y zn}_`ss{w(#PDi?{%W1tXKgbml8*ffuvv0}4n_%_ysmvBAFR?Zy+_1{ZsSXmFQ$fSd z+xGEXPNTlRPu@6Ru&Z0FXj2hnH6h1ARt);25*lHsyGm7wgPm%84csrNtU8usxn9<9 zyHB4EFE?Corw_V`t672Z3%X)d9}}L78d{cR%fa{{PowLfBNg@-~M^?_~(E6<)=SycK`g(KmGFSf8^Lbb+Tul z!J-GcX|xftxqE>d^e9^kgGSA-Y_!Fkrs1+th+38)Npf2yPfhadb9^Cpd3rqk_kCs7 zYvO+Vlky){+ljdzH2+jGrtj>YsBtIr!*ZO!@eo$ycD~^cnRmYekDHFv` zNKNr`Fggu`r_1>1p|UeNqYTNh@kl?$bO zgrz?zIJ~b}-oh1x0Z4ncxfMQJuy`$3sF_nIpTf0M5LOcL={W7U_yL+NiNt6;Z*9?v z4}!{CzItSi*2QghgsnV4%dxY6&vBq2FQyj?j^mcjETe2Slk8+WGqr;d7atU9fV(gG zc~Ej|IU}yUg1_Xm_;MEKJ(m8^M~PWev2UpwJw+fA6i$smCe~G#*($a8ulRcA(}67? zJ^(`Odi`s9qzC_=U;k_zxgO@26$t;A*(SMAJQ4?!A$Qp+5%7yawK!nq?wM#OpFt?m zymtA1_q6+ZI6Uq)9}cI};rVr=R!-6p2%2^hTTY_60*sl7e4#3|QCK_&yLCC&9o9k- z=E#jDNoLzYm?i8yESb&G-kHK&R{gB%Vt1R*I$>)9oZqW2KcF+QHQ;qfXp%KQiRE3E zW(cRV5}yiL+XRdK@;A_YoGA4lOEM5e_nUTpsQ+~#K8I-%S#qN2(9|cL119=GXw3Oo z)@qksRm+q^*-MvHHn+kO(aMQz#$p4IF0)N(U!8FjAF0g??f&5nQ_bs7dJ?2lG=Vr9 zrxu#kK}0B4zBZo|e9^_6$_S2e;}R200iY9D53)Q~u6=dRjPNe*0vk07Da-NuDpMSe zAwEf@F`{|XRJh~)SeTh3kKqs*E0^;NEyh1A5okGdFWWp6N15o3H!9ARgRsYjS)C6; zixzN$-@e~}ep@ZgVT!rq;XwTbb6Vw-r1FD4$yBTsmM7$(&WZ9|GW1EZ7dJzhS#6!o zv0%USP&1Ryq&WX8ucL0Xzdt;^J%7js>bTu}c>MI~b>$m0`;_fX4#EhHFsoDX59JG> zf2DGIx`hv7X=1I?1?>kYLbeIUMj0P1e*$*e%BTyk;_LoY7}?h%>cQ5cba&^*bMTWu zz>ZPqRx!X`Q%-2b&dEA)l%~+=*<8NLU;p}#fBEaLbc%oJ7e zpjtYP0h%B1x3)Iza`+)untLomY+LR$7pDQ5p-MVZ|_Toy0QMzuB{jlHPf6kxdhv(BKzwnpC%aY;MU3ro{AQc!?avXl}F3{{|vSHmS zs|4;=6|`IsS#ByOS0T6>sv^w#14P*10)c$K-+f(eVvv_;frp~x0R1>NN~-*z5y4d5 zga_#_)*8=}Bq}fDpis9*TgTJ$LzaeW@%ot)2s_h+O~UiW^^3K5n;*XIA0GC{4{yh% zZ=m~QpQI=Hpp)1(^tPsCww}aadM$6y&yO#w zo^NA|gqLIoQ8?JrKYwyzB zZ><>;V2|@5BH-#?*r>wEoUbf4{ow{m4$@tV6_@GCbg1q;$zUoZSEw}(yRWaO!^>6c zB`aW-FsLXh;vAGWr8|czDZ%n44SbA{xG)`~{yB}^Hf%$ZE47x7!G2s%@>}2}n6PV6 z$=b*0S(B)|A1iGVC4ig-qGGB!FahpVc@IweTDdVUa7WpSjkPsz&5owkcvb=vrXia2 zBq~rq^i%EkaR2#mUuz=Ea4XDXDaqoerxu#9^`#{#`6Tu(0#wuHWk_g@o=jM7+MORF{kfJ!Kw6#{bKX8|saOn4R9BV)`SKjHYhDh^)6xz*@t6g_h~y8kf9b=ST3gV>^Z6>Q0%gy#sff^G2h`+at-~ z3?-7Rjvgqv|4FTU5N0fzv`&NBLYX9I>j-#P&M|lqhX`@@hvgVxD@s$1-1B{*>fN3( zZ(|K1Hd?64!(gq6BDPxo80^x~LhEXVs21JbKke?n?4Ea55 zg(nI}nFLM*C|l@N$Xd|VXmuG-l}YaMQP{8RuI7Ur1h#+o^t#_|KI|4&Lg5fvm@P{? zAXN)c>NYFrC}n^y*$}tZ&%=c=ma2)>Q3N8~XvN@)G*~1syKgPSso7`jj)>5&M7*JI zrGbuku8q?;BCzu_2u5Kl&g!;t5$$7CL~_P@M%JE;wGA$_Qm|!`qY1Wlj6%X)$IG<& z;p5ZcxPQ4{B6&r*Q-->jaW|Engg6=tQ6o*$`RY5A12dLtqxe&_1gT4)a_bcefk{-Y zQL$!oneS+V@omndZsQgt>Cg9%FQ>!n=gsTF9&rmlD9)Ag_rN-X8m8b?;0IKUp?7%l zQ^>B=gO!heIkW_@om=~}0C-BNTiLz*!K#ywdeA#4_n!MnpR=ofTaD<$G-T}B(w-7l zKdz6a0?k8xG)!CPLMt)^VhM@JQ$~6|uP1?MT02a2@KIE&XGY}v&yUY9d+t2`;7^}v zs^hj?7f2#>L0tVpC1&BdM~9{kfH)!mW1dh+)XR+~1ZrZFYbTQ%$?U$po{%+tJ>)07$+^eJ&5w_}hx_FxAO}+H zG{z$ahy+}7K{^TA^{JZQ5X?|BOx0N@BkhqQM}N2fuxSGjKW={b zmXC2-EbNfiZjU!0)Ij>jhIVcgP_wccB#Q(v+Qt=t$`(d_jq&H9R02JC`_08CoT}qa z?!rSjeEa@+KNm}mhv!A#f%vxDb~ou3QAJmN$d>>(zfD`vvDX8s!ioWwQzgt#!D^^z z8ZNZ-Y?y0lGD`Mb6_;_pK3;*9VCJvmCI*R%DbJQNK48tJ(u~g;*jD+_Uag`Plo8Q* zmwaPMg_~k4Ua_dIimHFBs683R3>!EXHOF^3cAC{>s>{Bk?;|4;Rf{b=EGj!*V?{^- z40fUJ*gdV1&xA7&XlP)aSmnjM{cKdSImy97V@w9r!uqXJF3B23(QAW--ux$v!0b|u z6L&kagnc?3UiUBi`!83e?ueAq1*s|VuTp1=i<#q=RF(y?Ksxn{F#%pRlOQ}}d&0ic z$PP6H{{WLeAD(t|gKp)?iGnK<0hEKQ39R+uQbIzg<~+7Fww_!9B@$Zgm_u&*!YSp1 zrbIi)a-_xtOZg3Rg8vVEA60L9P=yh)*d zhuK!5OgRh~P~CxK4P&VYe??dC%AqCguc0XQdi@UfpS@eF40Ed?&Kl!lj=?0uY6_)l zl>dk3JnMA0bLy6W5}6{M2)f?YCJc?W6_h!VPJG*Zye*UI)W7Nx?{xNN2{e$EYf4?8 z0S#*f{?+!Ii&_Ls7oX!&LiPg4{4M3kuKiz!maRc7DcJ-xZ%?sHs!OB@4~NlqiR5;DiTSWxp=L*URIt0DwBo073%zS&${Hi09 zr-6XQ+3f9t6PsBJd^+bPsEA+gyLTQ7Y=_QbS3?d#ja zL(ZYD7U5boQ5o8GI!C`YlpoY5ELIfV+87bew^;%0m?Y3RNqJM8aXxJ9Qz^sTPLmCG zxNW2i?}4}lX?zS3To=g;U$%+E zG^)De=q{Y&>G9>^^=ZG#wl!cew1m4mp6V&ek8(nObb#x%+`CkB(-fx$g{f8)D>i3m zx8e>|^~JKrAPzyaVb^O^mrgRP7KarTGG>=g5~j1Ej*v5XBT}pty{axcjVNf+tH-A{ z0d(UT?AaOAoXVJl71FVdqmv-N^fLZK}sm0c#;ex~mFBUQm7*Y6H8ARl|g|VUDQD$?VbA%si*N z&(~T>GJR3RVxiq!h-I_mXP_#aA-JC!x}~rRPu;*BhtD~L5Tki3aSszmP0o+b0N?v* zcRIWs_v^@E-5taMQaD2+71xuQ+y$`h{O`uv1!3~3pzO30ThX{NqyKAyD;|k zaDPvSx5uj;8ClU0gCP~grg;1mgNO=#RSYXo@Si`vXr-EJZ{&glRTPK)ualL0Kx~=B z;P7?bvX~1>t_tii@~o^~Rq`AwOd<5x4;8lwyos}`DzO5SMNM@VMp1H1spEr!ujTOy zLJ)0uIcut@`&;fdkdlK=k?uB77ZMvVguJ>G8m2ICTj*^Bjg(-{CV5qrHxBZGyO-)Y zyQg=^Yq0_gJ)OH&lz+Rkw%To*?RF3p1yq#J@@gm8pqK$U`ySQegJo=uVcsY(uJ^XE zThw_2%f)~+rTO%RD|a=r@xIy^6VQJXTh5a&ExDMZu|6u$SzoZxvi&BB&R)~YawXaT zSe!6~#7p`xT%EPi~vKOJ&T2s*6gU`8B-R%O(Vb<%g-Y0u`y z>Z(c*cxzmnpw%TQbZG5&MS2PooNY<(+SBm$AbrU&=Un+8dr$77#j|imVO3T+j}GNW zK{cAd6KWVDKm%^xLZCo>fCFJ@VtgA|gPm?VP^bs$y47Xd_TByN<@;=3Z*m5{Ij(tP zEmn#O@(9?U&@g@j?+B{PbE<+y}fJB;O zr?@4OtoqARLh2{E#io&hs1|aSoWoR)D8Wp$pb>xn{ox)<@n_I@VfbM zTm*PH@deP$acvYPsPcm#jU+$D^PHV>pe51`UpS|-f{8K_1zI-8FHXz0+VW>$uNjQQ zIR!2fb0v?OYxB;b?XArbutd~oD^2AG)jDRdX^tK3R$*eKDoh#g35m!cc)sjZ1%6or$KDI&hLk}mrt*2cy%W)+o8}HP3siu&O)C6+TtYM1BF*LkM!3Yr`4m3 zx6QdVXu_syPJ$|H20`p{UIz$Ma>8ek{On#4(X}hDJ0w0l65@WXI^9Q-*}~2BN5>Gj zQq3$q;gGTv1K1wmC+yN{7h9l(b`r~6N_xz+RhZfp;R{NgxRTGi=f|hhdgwa}>>FZl zVgpW?qvfy{{4OI)5kSES!=y@m}#PWIq4~ zAwf?yKeO`TnVw2vu&JpjzyOvQaDcqn@4x=WFVEa?I>jqr-U1gh62@f99owa{yu}YH z69@1DMF;PYGThO^_PZLJ;!?>jt#%+VS=550`uwLHUJcKm*{GC}A759C`*2tVSX{bM ze*3=4x}HK}RLlA%6z|$|Ip=lbTXI#>a6!_?!nr5G5>yd|K;^PcGcwMYP?z@t-b^e(%7^ehHbvYff<@_U|lFqOIa<^@f8dG z;Vt{yb*ehFK{^I0Hy7NCF?hp@uR8|4LB&?Ym{=Y)`xAu$4#E z1TfTAc4W>=A3+Bm8i2k4nT!W!bv{WIy5HcrSUF$@DP_;7;0S5Fd;QY*4VLd+>b??~ zdS1W>1Pze5IsV)_v4OUF7oGoyvur!(v`uwZdNRxwrK}rI020)%yO-1F8#G5kBDCP~ z2WyV@UY$+n=xmoHkqk*|tF+QVnid_kQtNHwEYzWQ#iP$5CsJB6 zj5++bE{SScU~-Rcl}!N@Xlv!BWs=raX~P9+zwMsZyYqHBBOFyQV$hY3Vedh-(^ zAKSEB(?~x7lDd*G>|!i!>hi1DaL@jcFsO6bsVc<??|^EDiGt|~9L zq#YDhj8W78FKE{nN)_nNyD~l6wC3(K& z*+Ez6g6}KSsO)0Yu>QFf`^;=jS;f?#))=KYTW7S;K{p+_Yc}@CN~?*h)W13ufH)Y> z(GqX!;AjdidvZUpHL09xw^dD0>g9u|dJuczAos_^;miKv>M=rRO|U#+>W%>xbY|(y zIaAuApgT*aLpeqtRF$`xpQfxBEFXjYW!F$A#zpwc*TY*jGdX#@KRi8bUcVk6QDM4& zN4`@IlQ`c6S=U;&gYg3^ViU5CfbX z!I~~k6>@qZImc+C7dXPHRAsPL%8HDggk>L@zmmA)%G>wpxO;uAdlQPoT;Y`=x%EZ4 zT@Z>--V$h@qWXtLK@dg zuAAN{>7fz`INRl>G$LsMI!BOkPfT2p!#gn~xAsigjbhi#$}{DQ-+X@j^m+4P1v9I= zAyH%xx~>YDC|b#%r*x76F)n56y;ZW$YRLAOq=RH0qeqLmsWwbs>Zi=Eq=HQA>3!nj zPH(3-Vnk)Tzo<6oXzLCSZswRU)gdQe)Fx=Z%~^}EGi6W?J%fI}Ic{^VFISotk=dn2 zB}Aq*1rS+OBCbU)U08_xjqtoJEDRX*$52*IBDURIRHQi*5L>fO>vG9i-YD66NMd%a zQ3e4dF~N|pEmr73gAPj-=H9z!MitOxu}TDhM+IneqVe&pHD)MDVXs~^5|#{MnF~qP z-B?XnL@e1xZ)x!D`0%$6$K7MC_uO*J1UH>IAOfcf-WhJVJ2VoT*ps2EgtE%Dty6r< z!D16*Jx%FeF#8cmb1&R7_M_jB)A!^d4i<#P<+?=HQSRbm7p7c(WlKp_DN$18dnSt0 zS>cQIW16EZ?xlOarn|kIhHAYeXPj7055_+d^b!X&6haHsG2biUFhoXAf|@Gm_}*^T z-d@^>>QreW1`ejcfju=h{FD)6>{I;(7fe{H9D=)jkD5IvCDSw}>@9AoG z(5JVY)C`4@nuJ|qEyw7(L&10dUpJLT z4AgdJKCUXEYc(ek6Gr<*T_6R3bC)R~%gv6hK|)pnZzd*EQ3iT*>PsDhwy5BT@=Ro?7M;M5bh(wQsJP0jkb0j%HF3lCjBDux_rJk?H#Oeyer7^CL2ZVeK zr?@4-q)Cf@H1LfYpanjUR;M68s4Gsi67@9ZF3%x^lE#IEtzJ-0hRmBcx|y?Egrzx_ z89c<+8G}$XX>lnuMVT*|euE({)`FU({$}YPrRoIb+~q9m*TW;q@mFv5Y%+vzc1HTw z2YG2OB>z@UnSHOo5k&@}z$Ly&)$_^e%30dy`%nA*bz#GTuza&#^PpC8`4OdlJ`SLo zV0zYAXaUL|v%ZwfDpj{9hbU)R_cZ-MyJMvByQ$(pq$+bEGB&YYb_P1;XVq3imU3AZ zJ9ae7<%+Y!?k4tOld5Z!X<|Ff^M~WRZ@$fD1uu>OExD}IU?M!zl1Maj^^cYKC{^Fs zh5GpqnVjp~eaKE~Lpad4ugBx&JCJ-U0e==lZo72Y5vXTovNGTIlK%p%93dSK)>-sL zTa~Xc!#K2>`-LVsT*<+b9A+W$*;is>vJ;=U{ImGBh<`Q3?RUzgJBd-zR7e15D>0nO zqqaW97LoAk5{p2)eFzdeXe?2yzqc|D&16FPECZ*l_2pB<&FlX8@lT-ndb>ZZN<$=lsa0ERa7@nEgGg7%0~%jN74Bx#+T3X z`fc;~`;Q-qbpOi75sMGd!4B9~%b$mLAx5OHgb&T4)5mDpq%Q^9tmaM>s93G?HO%SG zT6c|Uh)5yMANH{HE!lo+hC1>?;ctI=h z?d4(9Z@0QJTvth2BsNRMDj|f)mkg?&mbV#NVmo2KjBr!MDxr)!cb&;9p$b@pH1LDgd!E1cgq;*yNGObYrWXRjAFjo#yAPqf5sE#u-8qZShDm0fPX0mu$NS&+roQ` z{GF<_5z=+<3l1f*UyM(XvJ|u3^5wSK`=+yU)$i&0SU^BI*D&QrL2_~F?P8i_v*$|V zij|zz>0~7AZ28_zJxaK6ly{VYx@RifufF4^vcq_Eo%@Sh@DR_x%049@l4y=|sUNL1 ziD4w6Z528WLZe*x4xu}RiDV~9YFCk8MdAhImqi{los}t+2Qhm6gKIipeX*SD`z?1b zkD+NK;JkU5lN@qi7g;3oNdPwxp#O3bOTD=HBqVfoy8cqf^BqEWX?Ck~Hf~U=&y}VM zwR}XgJ{3M@gfoIby2y+n5)myg-+pzu5=8%74k9-c7)Mn8)$FkCaYX%yQQ?bd3KYtt z?r}JH!&5M_{;}w1?Nt4&_kZAf@ORWWZ|}jCrUep#i&<=b!P=Qd4`Azi$p5EqzqxXb z>Vm_izVvTu^L8j+RO||%VyVrGaIKGbu$d>Q_8p49Rn_0h6=-uc@Abgh*Vp5&k>1}F zDZpIf0rzD{&o1C%n4q^-IX6%rWU&ED?UBb;RWB=3ToM~z_S@mG-V424+GRt}sUix} zSg*ZM*bSK8nw5b?%~^~Zh_fuy1Zmj(^TO`UI<1z1g4%$_pm*UKzZ4W;{kn>RwTuhr zD#R$l8WPx4fyeelc#psrNJeU@e<~7t?wDWX7(qWJh6bvrtDlXv?G1(^u&o07L13hU zulpZ!j9bdQw^z|wec6QiL)RpzljflJ=Kyj0Se^#Vtaze1!q zmuOfk!1=z+CX7_nx`syP-L2V47%%KKNgP;WJwCkOe9IPwqBYw{Edtg=mGXa#+axwY zOf-&}18+MuU&2=$y&BQqmU(?Jd-2B@H8Q~5Sz(S?&weATLiQVC5Y&XC!oCA?6swl3 z;CEoZk*chhjKq7pK-mw+`L$J1vxh2-i<5_;^0SssffNCYC5M^Sthyd~Z-1}M>!a~Z z&wbp7Y#lydgW~n2MT)UgXMY3rAE+*V*_vssl|+MaT$&_lNRd`mX~+H=wBVJdP^&v$ z+FyTJ75I9&(Td^DHC3?4&PDWJd@;Dt`Ubq!)xp_I*6h~Mp~LYu!j)QYh8goj?CO!; zw*1A??K-DK9jodBbV=AY61F-wJDM>F`!#30@N9>Vn-_V{w_USF#kqzNg`En}*KE{a z94=Mc@-2fWqel)Z>>bntX4*1O4}3`zd?p*(LoIkvc_toO){dS_nz}rd^{KWrCr0cV zhfVgA@8os>I|%#$Tj7|j2&Ib^W;UKIx9a2uNtL?0-@RTdoDB?B_U^3lHz6~$J@esnd zBufkBAPN)vG;*4~$ktC$+&YEzQ!?g^zZfe`&(u6rna7ECh;`C90w|@IE2& z0^xEN*bdxaSzw)m(;ih|b*uurL11XWGms^(r``8c3p-bLp>;(ZB6%#Z=~@Cb#h!$v z{4XQ{=bdUjKWWu0;xes+WfmT-B&XJIKg^H|&P~qlEIwS$1?enl>Xim(Q60zD;#ruW zC!Zw@X8{S-tt4}2kb4!%8|L1p4i)xu5p(ZQ!EtREV5;^eXhGk$atKuqk%mK{;5-}5 z?WVqro2-$8H9G6!y1;0V1#2`#7lt*)`6OCyLo1e(iF>qi(}g#DD;;5{JZ&mzjsj{O z;nF?~@GMJURhpo{O=LEiYXPFKh3MiY-S?6)7kY_oZP z{(9JddjCl@KTnPZuxxYnBz6)33!9i^k{CfMp}48O)Qx7IF8=v?96ksObI4G)8V~4c zmNrdWC!!QCjw#|t8>EfKcFn-$d#|q5jm8~ExP|p`gfls@1jtR@AyCelKvAFl=6nhl z_!M?n0YJ*0G@Me6u)wR0bl9yoY>+W>J9`_Zq=y?|;5LBhZbJ;FV!FG1ND17#` za_K1KwbgxkbwS=SVqeXX2G!?;%IwBF4#25Ix3rL- zA|aM8M4emcmvS128tuRc3{ivNzb^01RgagXbxT}QJ|5x`}O@*u-0rom~`>Cx@dh$4#b7 ze`zAqCCQXVVzaXYefumnFr_g~fXAj(Fr}Eu5V8MCO-ifcXxIZ4gwZ&Pte2TIUy?zO{jIkn-FT)$N2NGRw?n3DN za)<4$mU(`%u;X=;n(yb~j%(^ui2tk1rpU}4t5mtdP%t4?ztn)m#rt@+GSN7dWLiT~ z>ngPyq=o@HKHh&h?yuFUpeeFnjIDJur%0_2T3oYR*y~}TJV{RD{)y?ltps*0ni%Hw z(Yo8~VJ7;|-RIr+hkYGc`qMWeTG|}`_T$R^ckVRb=v^g#tpph0%qHAMey1_CsFbxP z#++2TLGg1SBFF8^{j)#S&J6bt5a83>{g=nx^V`+67n6|KV;;p++=gZh9jNgM%m_xJ zt&ub%MP)+NVjj9Gy0L<1SFgQQR}W%uI7sb1-1KY}v}Q=y9M+a`;d2UErDV}WQO1^U zTOc;ufy7){$%cJ(xo&h&FqFr~)3s!{*BC>)DH*~zD-2xhBG4xbYmL_9?Yqf~e7^W5 zU%jateG`$2eBOUQeO}LaMrpHfcfGJGhDz-h5f8MXfx?*@tkOdtAG26)Try>Sb)+2w zN)`70iQ9rV3(G69`nO2k`$BwjVZ?#1cIszIAgvE!piH&CI!u{Mf_a~qBwu$g4_6}; z+4}R1G;u1D(qk-=PN*@6!f+(iB4qEg-mC-woixWvl7{LSCBfs&Ec5ofJ3Y2l;mfh% zXt;x{&AV#7k*!m?0q%1`WkPhmBlV&{_}i!J;I9bD%jkC5b}-+MHj>qX_NF0J-)){A zU#{aBk z?d5cpFQP+TwQ-CJC!Hk7r<(xfx3{4A_wYsE2)q}nJla*P^{cI`%Eh}#@FHdugBfvk$|RaDUlkCBX0?J zOguwCX}a;trEY_IMCW%vf35QYM1)SV`YNlrAZtmdo5WZ0xT!OfGs#lrElLcE%{so# ze}$lzF6n5NO}3s`X0f-F>ncp}qpb`Je>Y>E0o@NkhAsV%;H9A~B6zH3PEApGb4tEr zIa2y3;>`0(z~M?)hY5bPl?asIEi#d$ux7M1JEed{jmpbRe_l&g3`Wu8NX;IuG;+gJe;$bgX2a)z+ZIIu<4^09l%SOv zf6$T=!UCXs??_ca>L3Tb^0CG)ITIo2Z5vMl^83)XGAorp0tW+IAB{ zfrw-Ejk0#Gk=EBs9@8o;E_T6a1SM{J7S;)xloefO9w2Scb{FLc@$P>Au)AJBJfk|` zF|9g-Q^ppT2s|7yo;FBrEqn(juvDza)j7&BClVIn)bstv{rjv3Rq1)QX{Lgj3Xcm4 ziaN*sf`zR*7VpnM4wx)zK7XYr602v7>Ng!B``_Um)>u4Mp5Zygx$q7lzIFrNK8qi{ z8k2@t{i0-cfuwK&cMrQCZDEd3&;6CZ$3=#tg3z$ z`)`)4r#1QIh+&RW4Z@_2|pzueMA>d4g^O_^gx+C)@_77Ks zy2KHzGLkuRS*NNaPNTIVhDO3vVwvOa`KBZESk|ez2H;jM&X!{Rf{VlCquFBLrx)LV zWUYQU*$cAL6idDG&EdCc|4dY-jJjK9|H3)4KNuBf3X@1**IsgU$7u|I=p-}F={5~o zAj+Q4G9_xsEU;w%?z2>forb_!qrrNAczd~jyoO>}cG(;r!E#Lpkggt-lx22SEIL|_P@(JPAbJdg-gyvp zo?-Ik&+IoG(}CD=A;%0l$33FuR2@N1BkKA1{@D{dGl;E{8VV3M0%>}yUwKNPngy2` z!ZrlmLWf{V5b6cMpcWyp8g%~cT(L?l0bEsrSUXtq=r}0 zypD=-B?xuQMWmgzXBNkt8_t#PRg#qP4)L@goV^38*SA)tv6wY>f?m0h$AGY)JrcG$ zpa||c7#%YYWyjqw9;PpM_oeixNaPQH{q^Uc{<`_Mf8IR(^yh!tJpc6PpZ>?s|93t; z-M+*yVQZ+Z{meLHI~X=SrLD6v{EXl`%bz2jwKKhylRvEVu?jp+e-GT%>+&w_YnnGA z5PP+|?3|G3doyhB1vd{efOh93ExXg858rfC1$vhSSXIZ{_ zp;Qcnv6=j6P?YYbsz_R964Jq_3(~%xcE=z0hq>IaEVCVCRv-g#EVFMim&iVVHm*6L za>GGb#W@`T$YTKgJEjrJGV4E9X0T_O1(`4DaF!W>!f^!_YIDOxk*j<{p(DCO0Rdg7 zAA<%#n8C>`L?tIoo0H_)#Oj$%N+VxFnr{xmoP=sbD8T^PNAmH8G z%cr?euy)Hm*;?6$#Uh7t%QZZ?Xs0!y*(A`81U9YiHqDyB?lDMIH#RWhKLWb8|8X}j zc)Qie4e!u3$!Q|}@;mhILfvUfz?aM)rAW>$F-o=*#Wx|dh-GoLR$U{+QZivVtYRzY z_@)tFZG%$6%+V5ft0h8q&Lv#OrAz{|^Gh<^#&TA;pt=(Xcl~^L+BFQvigsghvrz6Z zp)oh(KD^u?5gQ-MLRAQ?ex~2 z->=%{utUoV07=U}up>959y?0$umAq*FMs|YoBLmX{`r3jc|ZR0AOEs}%-??bSA<2l zUn>+MYg~n4L|1NCRc*cm??Qh)2Xh_dRfVmgX|eg4lDw5`sADjk>($?W`uCsy@^4q= z9q(5lG3tCU@1wg2>&9YaEiE$}i<~VOkJ{auzz`|5UKSgT@v&H{0LiXTC9SxfVy35Y5lCTrXd3A z&Ud496loaA%#Ja2lZU`BD)QvVhbtw2l2%?bO%atj$;LFARcJB{=)Raa+O794sNTUC zm_f0dvsk=JL6qe7hAHr3vG0dBY?=G8`+j*17vMr7R>~=o%eKf>hl0Q<(QKK$i`38~ zRG`a`0sx$rbp!R{w~C-!^GS-(=#aI9Yo*HRDi=}e)+Ho@NGcip{Rxi#`{wK6@#VC< zUaS=yz_Sh>g4*6wsn~HUVlbHkHc3s*G-BR~c*3+9Xc`fiOjdGeFDCGns0eSX^PjZ6 z3$?c0^Zqo0y%)Yv$E~C|nyp7EB>q^`?(135ufXif{B>L^t8`sVLwJZq?Wrqit$dy8 zTDwWG`Ziv7FQ>=db8YSs0n`6s7e0>ej%4qWXpC`b1z<=1G}?n7zHwYdUU`%M+F_>? zO6rpxkZi6J7NykBTb60NZdcYjS24CVHx8SprfP*QEo1~$QRtYVSYSvze<>2UvJ&CH z&jMp>F=V*gy?)-je%n3mmoHbz#d-+G>wEUo9aoxRWaa6IRY>r0+c!OlMEUOwCB-Ap0*?oUHyr*A|WO3-1$2)Hf zk8j10qb)7!Pd1i@c}@z(YMCOWNqc0A2AgSzK)oppwqi&(?QPv-!um_sH zqxD|o>y-AGWCgXxN?(eZhw>59g(DEFxLkmK!!ZmJ<9Q_+p3dZ z6k@Kt?C1fly%E&i%Wwt9%tL09+b=PXLd>yiqU#a;+QtDKlPFNLca4|8DJzty!gr?V zC47g(OjS&GNzC2T?(5<3xZ8XyebhFR{i>$NNS<03Il{N8Ki2PymcbiWz=AU!ycZ($ncM7z@)gszZevqr@Cd_?c6o{imVs`kSoX`7W(wd|WgrwmMbW$)wvrsrLTx57=3JC4q2q%Qf=T!t~8u zD5_}zxPpVABJACSEIKwlakS=01v|+u&Y!S68f`4G@?+&7)wRkMur$E~*ZS$WdwIym zIMB}xM(?niZOOgLkK@3lZA*lk-(xC2?zp-^2yrAt`LAwuFXu}_lv9gw321g!&d+wI z#J9G(S2uK}fKx1|BPfT2|c zJZw$TV=XQq_?QI>x;^O8>c=%D-+7MmSiSrQL{E-*xuJ9JE%Km zbv0BfP7<7ZJAC;*(=M+~3zDZP!T`h~6-!^g+u_q#> zVmp%?78zt&^8;x`@DheHJrd>Ooe!f*!u?xT{14YaT#EzC1q*J=yl=q)T$ot)z|`5Z zP%ceTOrNflQ<*9WTWp6|2#@UX_4N7qZ9Orka<|Y9bBB(yHSN~<>Mh$%a7Cyb(g*C4 z5fdyF5Ewb658jXaz)f8!V!D=oJ zUnbnOSWXpW|E%bd*G_`mm%j`@5NYLUyh0ay-~{J{5VD zbyeW}4nP?<+nDUgDE<%546V%U)$`L3?d2k{t^!}vg$2vm@or$lTCGcId~5naEjC*? zlR{3wkd)8za-AeALthR=oSb9+vE#w?NTws#heD7Y_;`)q=}g=N%Jg!(ra~Zy^E%5K zwc1LiRP?EVTC_F{p)p`!*;mc7mNqdHBAJfXn3NYe(C3_{@88inD7982HNi2!btM7G zv6F~U7>OPx;l9=)U|&6}?+ZK^8e>aG=;~3~d*-a)iykbUqIAUI$9)7oBmc$ol^at! zVpf#7D=iZCN)G_4aC?;Bm4Gl=QfbZ%W2Zx1 zmYa=%+G2&ueEordVj;_{`iK~w387K@&E<1czZx#_{@hbTf_Pe9H-G>3a*y>+HOxof3kd->QUw3F;?7@NM8>7 zuQ^_RZ(Bvak$7j;U%J`)Bmwz~6BHvsJH@Al>QlQs5fy2wyX~GnzQ-uF7NKS60YO8T zTZGs*q|ZrDQnYs1q~b#Lrd@lxO8WKiw3>wcA(AQqkYxB6RJ8S03V1VAH=4%sJrwW$ zxchL*g1*Bw0j)H;rnfuLx)nF-Z1(X%B&nsLnZ5qm_U4pmnh3B^6jTF6YYHMZ`oQ#=I$hg@+@Oq*o1 zM4!%ez7@5A=u7RWDm#HdsT{D-jspAS*|?PUUTdKk%d)#FyZ>FXU%dAw`^5!;kX^g8 zf|Aa`tRz5Lmfcs`$4UlPx!*4P%Dod$%hJ6|cH}C%4jp6mvh1PCJ{C3JckipRujq_? zoPxx$Va8XIHfB?zS=M*m`&h*m7#}AkU%_~WQk;UP3dM$J1eszTkUF1qnYPl zcK{x6AP~V|b|wlt~I*))D(S4_GZbSfLW*K$L4v zkOKQz@itp$!GmZUzt*2X&<}e+&hX5oB<{s1;T#b;68s8vZ1`yV>}Ajp}Xq4T1$cp zq&06h)d_!mwGbg%&xpKb#_x2|k-10&4@7d07oi3+nY@GJXK$UiJ%G?iN4YMgt7|tK zkc6!^h3p9R5yF;QO>&6dLl`!`;d$0A6Ucb-G1&1eyU#1~J3Vsowp6^h+$7qt?!Gi3 zt(X)lJY0OkbZ-J#&1xM2VZHwGbNBrbsB8s@ZlUTRkh8Jq%e=ZodQLQ#p@vxT$$yf* z3}i3)zWEXAx83RXe%~Ky1bXZPa2%|gmuH2k*@7#BRg5(|8TUXIQ}vp?-!6wQUzUZS z%O0X~D#~th>jD<7VwP~0K|~_cr<&}|4dAAf-%M6MkmXdp+-77DDGAP**Eeuta*a## zaLtFQUZ04F&BES1h%`kr2_1L2vm9+Q_JM4uZX3UlT_g>T-Ys>OIXhe`VHI9;5{rFDnzvoS-kt_)On8hVV;XaE~wOl~R!ZI+HPN8H#zBl3T=d z+)l3NsN@FZR?}qF!--cK-;zb}_O8*)N4a>X8FCCY;l*GY&ZYkSu*1hr z$H_2%o!$hN!Wod_ipg1KR{1-FigRj%nN_%eB3ZT=u+*e4B>u>=4(bi_D^5}O z`Q%gR(Z%XE`e2R67%n>L6k0JxpZQSO4rI`=2`no4gDB6fxTAbDhOgjMq+- zC}@(`s477goD+b997YLUnONp0khYK%sch%cq)8faz_KM%yfg(q9rJv7Z|B7O>4Kh|EFf^KQ0f8%PIgx5aP3D;sX%7?{ zeFt6idHs4=0<6(FFUknvgQqOWuT9xSij9(+u06y&CD6d6JkB&|&qO{a_FVv@F#A9tmb8hQUAy?2j1T9@^!{(ok+g{{5heO7E$0#^^h_{R(j-*D`gcMJ8p!Q zzSgDa8A(3j;L`1rCFZOK(W@{6pAEa~SJW~SDMyNDn%z@OF50-Y1Wd29*ige1&k!5v zF{eIh-@^Uf<1a3ZVOT--IJ6CDcj}!BHN%|F6*dMwOGQJ6_0I7_%Kev8QSP0vnTiRb zzLtFf{}trQB@&nivMy<9M5V)x& zt~v-li#}Zn_%pQ=QVVpVv&;E>MRNYc2lt89+?f={d`p=L`UY?0XFCJ)R7pI*f^oyi;1TGM zX}2_=KTPR)n~9$kn8J?d{INUU#?hn|?vJj5u&4tK=$ek2VX<~LbB0BBA zuVF<;HO(we(kD9k^}*09#W}`AH`psxV~1tXB`t2VI|lkt)MZIaBu|QGFQv#mNH6b) z({AyJPLy9yK?&zhRvDP`k)}-*Sr|ZCkxh`i607 zVVNWzN9j!YFh$iw;iP!>2os>WIsSb9x?h~(o4417I0BtnM2lUD^(;qpIB@8=r07$1 zgxH!CpXG>X<0$Usa(LU_4)=Y&mN`N-h)ucQp5u*(CF_WCgjfisvJ+x5g`p`C#*v_h zIqLE|OK@o^tQ$uqy0VLCjcq2ha7iL=Ory`T?2<8@OqQcGBzncjoceURJzbV&;hTP8 zS1+I>f*i)u@QCQZ>-EvK>#$8-o#Bs zGc--C+!{usE*+rUf6UC+C3%QH4@k+rx{L2PpC2(B-cIXh~7q@FK# zo)~O#f`Z{qhtPbx*TMomOJq)(x6Q>vL_WCt-vpW(Q5#0Um6pi5tY5Ul_Wt-_`-d=2 zh6%%qG*0nMX@si@uK4wL9_x9Y+^VuCP3BO(-$!h5Ot0-ZkPvV2F|zrGYUlv*4cy z+N3SM;nJWC|zxm1-3La}F zn3mwnXfmCnLU|M_N2*v|eGaM`7*i^>hbn8!p5%q-jEI$Vw|VAv*G9qHz>#5nq15Lm`0}Tv1CRx^y>Z(|OX_)UC`*gZ(xS$$05FtDsn7BgK79vnC~uLx zM^NUgO6o+gRIOnjk8ryjp0`iuFHhB3<_+v5Zy`c;n7F$dx75s}Eg)bQQ%~5#KQLP(lY!-(0VdI8!#}paJl5(jN_vHuKTCTLX0li_Que;Q)3T`iT$@m6Y*);P zSmIZzRtF<_LTa=+9KlFEG%-~ctE9~zID9cI#M9VRKLnoBiVTy%a=P1;R3-wYYISfV zdO(T!1%TcUPAj6-fOz?JBhzn?w4Z* zv4J{MZ3CaSAqRK<@BycHW4 zJX?LVkaZzaCBqrEV(JrzNAk?sx6jwt!|83AxvDao9<;I_8b5~kl_JNb92`V|6;oc^ zz%ytqCi~LBa#ouK=8t3OIH5TXio-+4>FlAk@i1{QPmHp$i6QQ)>n)+x$ZQpCr6=)0 z<5UkDI+{O9HmZgPPI1)B4&+tdYg}V}Qz~W!M(#76^U{ewIPTEGS#ED^IfYCr)L1qx zLSu9Wf^fCw6xp;IUb%>C)?#`R{hItrKDXEH)0e;h<1hd5&!_8O{_$Ub{rA5_q2gPx zCGOdyQL56upwk{Zk7^X$UTIn5OAKL+_H3RzS6?7Juxv^_DW+^)4bN614GlW;saUs+ zw%XxZW)4b^NbFq$se!{_pQYeiJ7b%L_Q;J|U`4FRMpVM4rG6LUPBPq=!R~j7Y1EhV z1=}o^^b(q~DycV=Q&2CJG5HyH&j5xX)XjkD5yR8wX^vT$Ax0%rvAfc0zUz;d9g+U^ zz6E4b;r_ddCW7kbc?&7>S>YDJF7XejPa#b``vKp9@F30ONh9HcB}yfHk~P#cvNBRC z-Itd*I4VlvD635P>)=07$qX(I*o{}6RtVxMvVxu}q&SekMyBVlS`z;Dc_RKVhwJroPYxD-ehJ5(4AJ46XeTQ1Xlh=VB>;Gsw8FlmZ(bX zOd(g|*rRDWc>ygJi$-}*IT&J8vYY@#q5eiGe!c9!Ul*XZ5k=UH+n_^8Kj2a$*yyQ4 zSm$}~T-qoA&y!^eh6L7eZvG+l)ewb}oos}TVAM`0o{{)2HK?}avoaYGC*GVl<^F>$fK2F<3LtNgP5h* z6I#`IbN6&H^2~Gk2XJr!sZ8zWHupZqIXrCIRt77`MLmE6i5q_*tYb_a^x!0O=oebs zh(gI$YhLNL@8NHy1vfE_BW+Py>?W;RhNp;W2u@$FW1-w(&Sw0|9`3^;8ccq9j{wsKs}PxBdP7FqVSW$gzx5 zH>99FGt-zp?3LT#vOQ+>=(D`E3pYseip0WYlR4zuX;&Wrow}+7q-1%CPB6>uaJ7`e zaI8pnBH4h@p80uXVFt~lDp?p}PqKX7#$ZA`=jPkt^uFJ{F1*8@2RfGB^6aQ|F=CnV zKp}SY(liN80n#F?F5d{2%%M{qu*bIR-F;Ttx>g0Pku_25;ybjDgb9svv`BV3P{PE1I)n(-vG z*Z2MLm?kzB-(b}y5#49fc)C^?M%k@q0|B|k7iqsHYYIbCM~-mG6#AaRIPbnby{Fuw-Sz*zO1Kr4g{gatV#4G~!vXz(>t9M5Hj#b|j<+~w*#;lP_$EXl;v?&uT!B{L zKs+xd#QiH$1cO*w6E?m%Ma%>^LM1)AT zT53&4NaQ#1+WBebubzvH!g0<`$W3t3C$Xc*I1^Bui`q8nF!*QmV6#U8DqGkl15VsX zmQQq!g}>wZ?E(9uRqK_)--by&xb(pbWKk&znndn}(MnM!ln@*Euv=1p#D|1W^5^u1 zs`A|6l^WKB(q;%i?ZF+gRhu?Vj3e1Vn@_^YhVfXrH{0{PAe%9}++ruCllN&bAUMKNznNVr-@qwTg1`^_fJxfJKA}vu$ho&*&}KsiYx^T+I)cmzy>lS>TDz( zpMmY5z5}^!HNk8M#k(>>4#hR;FWm;CBTKwU#SIN$Mqkk;$eJKm{%W@Ce>%MVY4^4O zwJsdRiSSV^$|4dmukLX~lyx2nm5}1R4t*DWKUHxx1`!(w8q$T zx7+ey2UKWK!&V`4$9R|VC=yw>+msIGq)Ku%%ZVk_EpyUOU3z+nRprIUga`@<{HS)<7qwCgxDdZkl9juq!6&w_Xkvd8jPwc%f_pZj5D#vIvz- zBu_$)P+yLi)yr~QXwB}Ume>*~$C7|!rItw7;c-o^W^^4%S%AiC+SDUz(-7x6q6Bi) z{PIsk?G5c+&s(KsEQFvKA5&TQ4N5Y9(19z8@!h zDtHalHtjJo_=@IIdl?UWU}`%2>6O>Ej$<9M{J3fYgpeN3*Cqd9Vk%^*2sxdeml_CY zXYV)&s#j7?Y=s>pC+&|w$*Q$E^8_@tr>uEeZHi#D2sFn@PirPcpd;rKeUy9pArMgf zy+y=i$dvp^A*k+FuxcAi!o=2W0|>Na4M8bu>jQgPB(AvhYrNa!nh`sXQ!T-SZoK``-SL27uw@OjS%k@$@nISqD2l#hJsr6Qu1ssS#RRX& zZ?0Q~MJlH@mnbkJV}}woX5~O8jg#_@m;3!Z?&n&Awtu-Uh8q~_%}swB!T3}%SoDN> z?Pu1RBq|=Kdy;)eJZe2`>O?5NZ#`_5*6koQsGbN2l5*Bv8jc8e9G_eo(XM-ZRbM1y z4Jvq5$}8gI^LlF}U*Zw3T&RH+Byv{?s5f7%Uy={v*>R?&J6Ml*&Ozt*OL)6ZI^dON zDBFNt#tSx_N74~589T$2#aOl6-!BtSDzAZc!4$+gmQ-eW;3MB&G0r5^N=s3?*HSD; zd^wI!BRz_^(iyt=5(RLoSw%D56JZruX6nv50IUTF>S%P5J|;dKknIlOYUxi8u4$*K zHSR{A5edXAkTnpOh>h5MtPVSf(CXG+0Bo^@+5|&Hi{to4PKEXdi&W2tw>^%5uT>JM zK0MZ_hV&yw_n4jY{R%NyZ*NHXvc6EP0%#4Pt4hD5@By?tKZ4%cX`SBXOs z;EYzKABYw$h(`-z!QqiyDaXFEfp>q7vzUT6_bf#ClI&pB*h*J^IlR5!p5DQeTYrp{ zLsadp>v)btZQJcfLT&}#@Q}_Cc+DYSJ6S?r*B&8XZ+k3Jt#ssEPe52i*XzSY|Bmx^ z(n>Kf(Ynb*5NVF%YgtDL`8d4dihz-zeZ}=+ujD-BNTJ``WQtSa9jZ}b_?6G6oE>rL zAeC%K(%EW}HP12?17rJC{VtQ@gTLJSZO}}|36~_q^2X701_%mNX^2Rgnh0|opQ4M~ z*>Qg9$1ZkPu7a8()0q3IuN$M(sH4G+S3JBAv7Hrn#1{A1robea4pcIOe&|4jQ0k6& zOaMoTp1eL2GcB>n-#MI|D|Xw*eklRhUA(wl?eUJwM;2+ag1n|Z0)9L0UYA-|Cvc+) zT!P!PffBd+Obe9W@|YyK8N`X>T9%oggBxX3x8jgmh0`Eq+=9crxY)poTS1!P1B46m zFp5LIU9x~J%?ybHM%Ir>L`q+Ft~ky;&lMA7ituFlC}Gw^2~_8@ zu;p1XCAVPjh!w|$_8Bq>S?lJjf&4m7JPbE3b6nDYe_m>~L~h(3p_mCt{t&U>IKE|i z1p7Y@9}i%~^rq}73##FDbDRJcJAp@Kk=NOnfrCx@m{@M$MRdTj)t;-+&L|2h_s+b& zAPOJCXq>gFYhv@&USht%M!(LRyd&Y0)(jnDdC5&q;qt_cP!?wP*G zcaA;}=c$T-4FRrc_l8w~d*eN(bLqHr0J{sj13s!3rbt|>#X_x&))LyD0@)w$waZmW z47s4~(9`sT-eLpgC=Dih%Mk0a@QF6n3O=Hg-<~6|t)htCCA;s4cDqV5Cs%VunCCrB zKk(TSg32Bv1=qx214r)M>uLLC`*cqf8relUuhOzrsItI&!(m^HMg&Gs-m#fd6Q7{B z(s7>ItS>YR_L8k8!WuvHl-ut4`FvY#`(}M(s*uk3#-8o%9Ix0Ywtq1vl})yNp3h1N z6Nx&-=JRygeeCabT(^$UI8BguFv>+ANV1N}{K}AX-!Z5Q$pB)o@q&eU7+E7x%jWz0 zet&#uDoI5rGvOx&NlcNaVre(V1Fzl(=EMI!vF)f(IA4=zL~J#lueBcU`g)Gb_ulun zm-Ff*t=iZyEuUkqEIzaxxTsKI{6ZfiXJnJGdXDZikY6tN!_Znne8KS(|Fa&h(rhE^K`#axa}VjV25i60?c-1qH;MtuYxz&M6n6(ffSU*>91+c*x&XgO$ zO5-GFEs9{t7V;IvmN2OqQnC}CezT^flu*q2|+D;Bs1mNZJ9 zoh4JKbORM_*YW(kqFbC}#fZc;>VeYB-7=-b`7<`CMmh~FBi9)bE7?1~`CycRdk$#b zgpb})oNVAvD~<%FIs;f`+ZH2 z>A%;+BcNG|;-!VexEvG5$iP?jk?Co?MiEmP+IQZUM6)|eca{UPZk(dO6h^>CJR}Aw zP2Y57QEhTAMUUmxdi-61F6L27mIJbF6`3hveY@;_JTJ49Oq~019*u$3i%AP%`w+v7R(I4i6m4hdFK=Po=Nh*Z^J*CuOk76}Bu*AxV4% z+lROiJ`v%IH|_gF|M+k`9!}@Oy-|j8?{O8g9vS$ubE#wegxi4}Kx50xLrQ!~ZA>Xt zXD`PF_^|OViSxyqR=c6q`1X1EcHBRG+?JZ4Iw_3t2~uyYU(8;_4H)(Mk=Uc7OTTAE zOE%87o_j>QJK^rY2ZRHA8S1^I2`lP0>m6pMiseeX0-WIKOwz*`nzAC!yl{}=v#q0+ zjPzo2=b|^^vuG2SXWyG}!k8l3*_)8g8PPaCMEK$@_a*>jTJ&;$KP`90^_54y>72x% zXE>ubkSRmdO+*?Kh~BfCj#$a!amLs2QXzEy_Kqz%D~4<<|0hx{WyB^~=}~cjjdp>h zg9e!shQrW?M<7F?JjK-GO|&oGwrLAQ{Crp%n4BNM7Wk;+kMVXPc$~}CLulX3jDsY= zg*W8g_!JUW*L!oYxkiFwAEF<1nGJQG!@e?<; zJlwLE2UX%m90s}DuZK^~xu$4}+ao07s!3N&ye{51(;u-8!tQpSC#C4$fCW-hJuxIA z%#J(Q&uys2*l9>lHhGOjSf4Ld1WAXf9v%b%iuHS}o4AyWHS3 zJDn$|_CsyG<_%8ys>#*`(?G?d!t?IO66012G?9aGzZh3Ork3Phm#;~oP`d)cDG({v zHyd%1Nek_jMx5u*J0w<%P;G*0HuG#-aU@Jmq}LhA8W&RPl4x5zpHUv6o({XW-Q`{& z*BW3|=Sfm(-p&|cgPTBx!n;R~nMSQg2gq2-sPPhM!MeZRK3`sTt2Hk%i)5@LA73hf zSq$EVt8D~=4Q+o7g5?|9lZ_zWmcVO^sHQ!q0>yOy}*Wxicu*l3+)<4B}c?Afma|! z7*aKwp}u|`Zuj_Trm5|0|7gE+&dzr;+kg)OxuW&x3&2uH`Nae}5NQ3|g4W4yn=Wdw zXb^C)`bRJcwc)yYyz0RIMASs*5(e|zqOPubSb5bfB}AH!IV1(NAkg-=1r3p@lyjha zl_sPK8`z(bgO~F?CZQ%qm%s<=<5P@uec$){hoU8Jt4UW6oB2t4@PI0rAWv?nKa5DT z4GerH{il&uWD*oC(WQ3DB-EA@krqh^Jk(B)j<{Na5FJVQ4tC|~`La8`yg!|`U%qaW zJgnr6h<%Y{4jWV!du$h3wKZ#<^84Tum%N-HAgsRm38;CXTz8txK3_pqAfM>Q< zf>leAEobH}hHCFk78Wv=oSlCZmiOK3b$53Tu@aZkJxg>QW`jwLxz0m~q6a?QKu)OQ z&EY9TAy$`AQK|k~thC{aVRZ{wdCSnSfR$`u)wl3#u}-cvb~p8BazMk0iO=jiH83J? z349%T&&jA4d96WRskw~WEND5b-|}1`ttvLWb24V%Fha_x{jYy*RgTt|G#uSDO#xW& z@_5BIa&JT6-z&vcNDH3`Ru7WTkzQ|~AM1zz(*vt>nq^>Y=7Gie-MT;n zNG-3YCk;y^EP>C_OO=PFzaNed@v|Lqyf*`XacOZ(W|wGK0$;6D zpf3BoqPo+#vLiWSAb8ZHmS2=derXw*hmBD<~{Hk+TF|GaruRcVA)8L7a%BJ_*%MRQLqErA!!9~PZjeQ0!gMBOwNA8EYs zuG0hmuxL4O;22;}*m|0L;biixT!;AS^2@4Wi(b(mu3u%f=L3Xuj%~fdU6w(?d5 z5)^l3TzRC)R1-N%;8p)om%Q$;=i}~n_zBgQvlFzGWCT2`{Djg~=^rmzf@5B{uXy5T z39h;52$)^;=f@7|opviQODvw2Sv{40pm@aPb;$0d0~T^vi(aflfshZ4%EtYq&P-5~ z9pp6kqj)ev#m7*`sXf}bl)H8lWHZM~=A>vA)FsHOh)a@aB5Db)r@nsSf5c)9*kC4eQa=L;M^6mZnu-X$tjn!nVvwF{ZzR5KZRwURPPnEEe zb*vffAE~Q5CJKD(a*RAMQ9mTzCY8ocuyU@uFo%DW!bu!FCk8;)nn_%g5*BulbzUUraP&i4|4oHiS~i%a#ulqsk2riDiBHKF~cg&&+kFO+(=ciCS zv9Sbif9eDixj<`7+4p9r!A!BnX=}luuc^ro}Kx@ zMhdHVxjBP%Y*k0{@QH6Fgq~t}z8qebMkU(qT38Jo7oiZxCWUua4%@K&%lB3zz&*c8N25VnIV=q}l@`a|v zD!!vFVkM);JBP+;|LgJaP-|(G8m<-_%+kGqr*3#>W>(OS?bDVCDH*-sJ4hdI$I_8_ zLvgT0Wpw*sams&?O+R-8D;iD$PaG^Egbvu(&yVw6w)|=9BP~^L7islc9|5ZZRb0;j z$*mV?I_b0IO=J=lRNFs&vD0NZ+*>dA+9kRLtVXG3tt4`?fMY!R!^ua>^ecK8Le#Tlt9;5$1V@&x5_ZOKbZs;EJ+>mM_p_NPTd``3c@OT_lmn8?ltXBvf2D< zeGRuevZTQMwL#VOjL0Q46e_7C2AO9?4|S*2uYwzWAbMgk6;XEc%s9b9dDBqK;}&~x zj7PsBX|7DQqKCT4>X9dAnkP1lT9(qo+1;7xQWBUpEb&HuVh&p->9eE`GN+0j>eedK zvbW1FG7+vvi}q`r?_d`@I}QeN3+BHW{z0M&5Zk)lz-K-cJ=85#8SKmMiX>fkB%w{e zA}^B}efPkW0(O-4IGONvo${^g4w5U1WyrT{32@Jb;l|-qgIRyQij7F{an{+P4zy!o zU<4}U9e^2T@6iNRDOSH3?HFHvr12X243A(UEN28x`c?{-H*@o? zq&{=4fK%GF7&yuH!h2n-v> zqndcCgZVki0r(E|gu=@StD7}@-jK}`J>~H@R;?Hdh$y!m^TWL!QlxeiMl(~KbO%_F z60IhiXUOL9{*Jha7}J(7i}bb=ax}?wT$BoxAEBL_0`tPC2~XFcge=A*x#)(Bo$T4> zk%91mTdm5AWShy>&1}<#ctSMsK1j9}f)f))xMb^OrQy=w2iN*-e?$`7^=PZcqy}ua z1qDoss z?o`*AI3D6W@%l`a3|0C*EwRz5K9{3ZBg{wm^x2L*gu|1vooDR$h9+~eIPhH49@A`C4jD5z?0Sh+Vs zCVQuQZ}MgL%i;Ej`B{W0l1pAM}@ewP?YYC|zgaTAQm#UK5b6<{p3(W?Olissr1gn)5gfx=}ukE<& zxopLl%!q{?jP+BfR=cLCXvqYc-g8T_^m?I4ozKXl(qyV;H?)BSd#NUwcs~SL4z-}+ zEEz-7Glq{}HD5yAT=l%RaJ*+FN2_XRYhjkGp)nn(*V}%7d~^|fQf>o#gYI6k4OvJh z#=A36=q;H(V|$Wuczb%@-}U6e%!_Mfqq_wj89%_)Z};@VV{;|)NP)E_LuZ=4;nZHU zf88zl8SuBV4JNsETXkaQiYS)Et%t9iu`MSl*2oCcJ~$IhXogC?CHuxZmr6x63+#Pe z-0qVa$=k({esJHYyHE;0lA+`+$Ln>n6ep8c@5s>EUR~+saQpEHTE>>ph9A~oyEW@( z)H(rGj9`TlEI6=TbJluCR?hYcNbl#%bq{asm;LGgcmQu&J&*y18t_c&)d=i!Y;V>X zKe<^lYF71?!tUewyvW7e7GVr0&B!e%t?h6(hTD3*qi+9b4O*lbVR zUiLpu=i}=`9oh>zVa5t;Tn1bdlOpYzAKE&(BhzMkRp#|CZ5oY|JIQ1LCx~alQPd05 zTDg+G`1Pq|;K-KQUa9%#0GGuoHQt2_HbM#0=CyG_Uda_FRp!W`*`7=J<^HG_cO3-V zSDZ+qSW?1+lf(B|r%rMOjyBspnJq8&xw72gtmoj!zPX;0wlX$y)e2*`adA0QIz?$) z%O?T5FTk2@c?HQQe@%g<>v+a?XuFgg89MhXQWmw4G`;arW#s%75=VDOIsh@a;U(VJ zSxTH|DmgzxGI*}1;Z}KQb8^DN4)oAwW(Ae4kpFqoifQX%^cC+9U+qybUoMYWw*GZupfP7s4E**z$Lb&Y8MEpV$}Yr z#Nf&Nxo*1fK2mO?cVRbz$$j) zg)@_(rWa^IRcl<}z{FZ4;v>F2Xh>MwN%@GCEF&il0=bSM!X}pZzNFQ$tDVq+brvUu z;Rx?cXpN7!-8F`H%Saz7VUZbEH2RWLypfS$zk9>{%9?_RVyh`inM`Fl=&q%Je^{y( ztAnU2PPoyZ1wqbcQE(OlivzZq81(dtu2cLuzXf8tv7$;G;*bStlis?DxN)i($rKPC z#EAv^#gul*yeoiL|3-N0KCz6~Wy9DFs|-C8d zzruxB&74psT+yQ1=v|P)OZ;}etZ%>?0&6>9KXw;z zH$NT#n|m)ZSe?M?v~PTNRXS?pf|h(EoaJZY646>h>t?U^0kHM(LY)dcubVp_ub_clUeJ8HMFrv>2>VxK0qoJzTPp%tdj3DTFQ0@GIMR3 zGZBFzUFFBi*Zt{F2e2C}eCD_f8%{xH&evz~pdK{adL7xL;0%hx&B-nPeUQr*$jVvy zE8teDmyh158tqI46@IT}d&J5kM;mj80E^JJq(F%Fcs_qUf399}q}YmP!-39~)io9p zra-0O%n2d^C2MAT5_~(nJ|Aw^wLoKYMc^(wOAz(?^AKpg`z`^swpvL)C&NhUm(jPx z2`jIeF%YEI8?wa^&BPyLFE_l&;MG=pwh}?cXDEjWAq5RN(CY&}UU4_hpP7F<|b~GYVRc*L63#L1BwE%vzjDO{h?23bqI>HwO z7+HnvRAT>LlE7?6y&yDX zN)|0eE5xXUhy!UA&ctGx?{uiOad)vh>Nb9V)IBTg6s9AXJ^4-ac&k9F_{CGgt=*?# zMGW=IWk!=>Ytu|9x!XBET^ce83$DTWZR9~47EQ5Py|`aY`Ymr4!(TvgsP(ZIJ;IKD235FIUa?z`fTud}Kk=po685kUWx8oHh_YwAPmj78 zCK768r0qagZ*UUsIdC=SGE`e%euPT4Px9x76EB!t&gH&^D{cFKb!+!fN6%9pgZshc zR1wa=|18J@S;J}>s7SfrRrk!{8^&B%tpbHR2T=wem~{-K(A5S}sfY+4)dn}_^YF<$ z@)F8;_g^miQ)DY!B_!Ox<8N`csR!=9NzWuRUV%@Jz9jp|3lJmD+^%u&wq3P9EpmA) zYV!(wC>*_{9+$TU$Ej9oNlRCfo}6b%R*?_!jDX+wr(>#@tWXp#wh+Xnn{7%Lyd%)b z;E*b|tS;q}yza!{tv@&KkV>+N6+0{8r`FXKLY;Kn=!+`;CQZL@Rd2b!#{xiMSLN~) z8AH|DbM*OM55F8ksyG^&)Dx|-FZBi2=gJ4uNmd#GBoEmvv}PVfW1P-&PV zszCIsA!gZN?F`J}P~tor<;3-Jj-sju$OSo3WDiwq(eVV&$Mg3`($l78K7faa`1P!n zv8ERYR5|N~5^PXpCKbzfV2uc$)8_EYy$<45|G5f%zJBCa>MB62AlGqs7IgmMf-|DX za`Hi{@$&Q1z!h(_>0irhpooXG+aiPZy`u`nASwkDQId(|G`~@mAP4*NWq-KsPtTv% z_f=w^T8Zlw3_AOKnDH|X^f9|Y?UJFHtVWgFc!2Q)OZQAxQnxu9yyy4NkLS;~#oE9e zPb0Zff@T|Mcp6yVLc{VSjvGvPL|m2T{^k3}-bYTva{iVtG*+ z$mC*G+g_5HS7bGH&+4obl`4_LQwy!%+FkOBcRhKM05pO%o z>&sninc$dX&y7jFiUl%4O}tjjH%&b!Vtm0=_Y~#F;T7|E-;tQ{V}HA?E6~=A17nPy z3!Ve|8Eij&YIoJT=j!pr&#B2E5bcZXj;X!wewi(V_YzCvI&J)qjUN+^GcBTe=$I2# z)oSOPw*yhYNFzIUeOi6fZ8oG~{wT%eZaM@`QRVU^C3Nb%Zv;%{&!`UI>uq=3ufA;* z3ES#5a{v32m)dlE55+0hb9#*UUu1Wl?m?U^jYs!6N<}Y?2RNrYlrX=+Kb&um2*d{? zjrkcpQJ$UMI5ovi5er~aVCNVq;t=QJZKb+~g-a$YXKV-O%lXTf{r>6Od9_c$+byen zDdzjZ@Am_<32F4pRuyC#i?2Rhx@fX`P7+_jT|Ge%3GmXL;NuR z`k0v+$T1=s7&#fbi?8qd;mhJ(&l8*xnR3QCGjnOGfP{jqDxHu`2pPJzVI~X4`V{&c zFVF&?6>gf;x_p#wQ%-f6Aw$qLnXR8dzw?^xt98%fR0#H7!n3JLC z*B0;*Cz-ak@d1y%`F6hCGK0#BghtbeO~aPiRP+*`Du#ZO^ti5EwIr-W^&)NisA8t* z{I;9z&-e{c_6(Y?5{&8T6UU2mtydQFZfQtu)sxbRDy7p!f-bIuFo8uAgAA$ptdpNG zqIP{EOfp?gcVM32C7qu4m&>BUm@p7L>AaC zuN{8rf&FphE7n&$E3ic7A}3_!_pZ3sygF~4%FsC_-#jHzTd~P+t*(sCCjyDaMf%oz zxQD%$o-(NEdg9T~Po;L?@)?bfV|N!T!AG2A-h5A?feBvJ#T+N{_l};eWI7>k$$~)0 zE6Xl9bvfB8GoLTHX}pdw$-Ygv)YrHR6aB@+p;lkMKl3yv4pobA@)wAzMfyg4O*-CI zDF=vDWlbYdqF^fkD%*WEq}-&e)Bsg#JcpWf0~s^UqdwMjU-$dPl1ydGET_a~FwJ~_ zwHj(QkPJI$!@ju-D`UY7w@zwEY97j;$*GVxM{p@_+$c6w8+rwTF-a7wgSMz z8@kopbv08d>h|+8#+G3Ke?Wl0S>cjR3%%gs>;8CMpBCX+-OSICTM@b|Ow`u7j<4I6 zE)XTrw8+p6b9cv&^P&^RV=*Jy*tcb}fYrE}Cf-hgAKsU#gY*bA+b?`gQ=s1;umKo3 zwA(0?#QHg+Mb{LOb3&KPN0M0LW>G`yAv}7Wy@FdYRWnQ4o%d5UAl+245-W=udRc=9 zh12tOK(wPhJFs1HPz0)`4r~{wCZKJQ)5+Sdx>n7XkxG88zCXPbHxzfYYt=228~~zY zfe7?BLYvCQm7~ZUmH{0R`1g%4RNh$3A3CK(S&?utEF+E;vPHMK~#=2B}Y`}5Y5C@#7m}4{8l9iF!iBhN%2xq8d&}46h z|J>*4g4p48JBetbEezpt8)ub2mtM)-s%6G`IYqRBb(0q1R*kS7{{BiRt!!tenx ztSH_W8u{|!E^r<5@v!?qdjDmnbj{>MV8>-T1s~nTO?1|R1s4!xm{40koau+Kxn9F0 zwm9KisOX1<^b;|!DBf;4p5yxCWw-taG5knJknu?PBgb>n;@4zw$x88;(ItxOD?|xL zb8C6)fzF?R$XFC7-FW<)Xw$*t(rKA~M6;-K_d_owjFdxgka~JhV5!LQBuj)$MzP!c z_xyPq7Z~*AA6+d@W}#KdQ)t>Vh8scP^1-}&JzySqM2qSTTL87HSfx_x&ziuuXD{44 z*-GA84Dp+gNMPRTRiw)-dUc_d zf|y>E6CEp2*ghXK5uN?BpDXsyg7Z6KF8gO~DW#{lg7{t(pBqQacncd`s9pBF^wA=5 zT*bJ|7Mg3yJYch|C8O50#s-{P6H3zpk(CbGltksy<&%jH{#P8Nk{??R60coB%t>~+ z*RO|1aH8DsNN9`fpXDV-v}A&LdM}Df3_OvmJ?@cDdVfxn%8Ee4Mnh$&7U+hAIf$%% zyb!o7wG57%M1_azsBJ6sT7X+tGZ_WqfYC$qL@}LCNwj6e^(=`V&=cm84RAHSP}5(A z2w>%;n1X{xQgFeZ5t3-3@(CJtBVpl@JT4?L$>wR7U!@S3#+ZJ^5X8j7S24;C zsTq$|0Qzut{7B>fmkz<_0i_FOhz#E6^e%J`5kq9q;6*8x?MN;`V7AU3hAZpSPYOKjc&PU|@Z(TSYbfsD6kCN@M zmUWM~9O5%L|6BepuK)b=KmXFx_e}mP%1z|wO|MpMZ1JYm0E$PmtVWs!QxFB#uNGN- zWMzLNTt#r1vNQ-6-G*ywl-iApWad#T?l*|hbxw7f&keT7nsb_@u|lI*b!jnC`u4DJltj<RSe8A+3g9P9GAThtFVRE2svLk;69FVKTp6JB`6 zTRqe>FL7GRuy;i}gsfnMdNSc9`^YDYA`>WH$;V+NQC|VKy4lR8Z^hEZf=`9nxA6`$ zv!+LnmSva`C^5ij%`FJV=Q3Vwnm+sb^gDTaefqb<>Fr!LBb$B^c5xg6ehw*zVkq#F2HxGF5ewXD@TIUC3T3STu3bRt}`Zq@!E{3RKU z@j1JrPrrM4-<@8M`^(G~qkB<&BwV-=;+$nRa+zioCr+bPb}C4?)KYHJX=9ASaJ~{} zh&u(C+Y&1$BS$(le>4TGu?e8vHMbn5&3*T6#?@+Y}kwo z2?;NRmp%zQxSZ`|JWsY0wO%|Nd8SRQZb`}d$JNsa4gpzEMIO!9jgfTpq(1pAX ztVIG*GXr);tpHfI_c(K7gOQPCLLy5|wv0wJY6X+t8_ed#CwWDRgoJrs)_I1>O?9D_ zmi#5q?~=0y#Rbm7TRlyZfrH97CC>|rrh_ainmf-`vNQONZq-XUM3<=oTVAv+htTv~ zL7%gfWyEU;uWO_PU)1^gk9TC!TQAZ!Da4o_lbgJq2s;IaMNt9u6r`zhWavcUhG*7( z6cJlO%zZwZ+s7E-@%W0am#QP~4p@v;6-ziKcSH$Uz$TxX2x1HmVWV8*(@D%y_oYEJ z(!f;)C_i-1k}&j3XvR6!p(b~-DD;fh6I#yt?lPbL_3Po=?sO*sIa$&YO3fyn&?h(+`HYzjUdQ4~-1%o^P00W)D)@Q(L+3c>r9LAMkYfd1+?wDNci#tW) zzRpjqWo~d2h%f_OIcqP)E>!pyAfolHfH=_HZNiI4VGNIGzoSZA7i7{1W4{smy375E$XyM-L$}px6Hg(SlC=iW~puvPwm+8hL z{YvFT#as6Sr_optcVdb$e5*2|7pN~^5C2xI&4T!VZ`E3ybc~P_BVM8KppMZ&Y@KH9 z1Butkc-#7ixG&1v@;#(blE`6{;@g#^MC&3A5Y1?N4@dazx+phj*Qa=o}k2`p|P{h zZt{p^E>mMyiyz<#TE5s7-E4T3L2JHkJ-zI&`FP}D~x(~k2H$OUjO zn#XQt+iF5#xkr;+Kq8N^w$UNrw1P(8eSHM2D`inR;N2nGtTbd$yY9QfV#P=DIsQB(WF+ z$XW=5yjK>|!Vb38Yzheu8s6A-XG1Z=W2k>k>Q={8*vdMHm^P~hfc?J(T-dTH*9jxhuRpI!Ap>U ztrZPFfI+rUU(^;602Pw0oM*+OMh_k*1Q&pwkNl3vahTb9 zoSZGGj@17lAWmSUkc3?D;h+V}N9-|9>U-bD11Zl}n#CK-Y&#~!%iTu7H% z%#2laAdJYp;NJuyCyp7%H_l_LAgb5R_4x^d_SlGUKAoOSA2P~1KCuE?us0j4`=C@r zDkWfgTVbl$dDah_7HJx(gWSBGJuw?xRKz3q6Lz>GiNX zJ+U5&g`Cd7)r=i|5SLS{64h`DUwXs>I1%n+5a?{g=XxFj(j?$<=9Gna7!HG)F!Xw#zy_v zQ@M1r*eu7Y7)jqcR|`hO90)Tr&1fcK$K&(q`ek$Z^I!k=kH7!<|9Vm)N7vZchzWsM zjjKA?2gZLeglr!iPQ1s?OfUljvJnyVQrm=g{)(i06SzyX~CHjSIR6Rx=I$cLM_w77SB=hY5{7pbbJrji25$h zA|zpw{Vy1$-+IYNH!;nH7===``-3aooGI!!V zicIBAo7WY=zntJ2q?urzOl}SY3pSn95X^SuG#4?>c+N;PyZd(q;8YjSmz$dzby&Jw zjqA)=Wo6jp&L7UHo-dcoTFXI{l3Qyr^5zaQ5&CYm3TN3w?T}$Td|-RaGDsp59@t@T<%O# zjRd$c$wu+CkmYv!>emV7L~DW}`19q}Wr-!j)^a2z0-8I`i)}M2^A++~c4@Pm$y$M+ zRE78Wwj{FbHjTH$KI3`z5{;X{=KQ*ee-+rGwtQ9udMJ$!eZ>WD&xv+$A1tvbznNSc zqMPxYDrt0WK3;BzkB{@|bx{!N$)>7oNi(B12AWv2f!l@4WmCB^b>*xGMLcs8E7GvC z?;+wP;u+89Xuu4ksh2Tz_2cf02d^f8IE}4;BCjXVNbieXNDvW82ym1xPs~NJHKHz? z#p_j8u*$>yQdc+xSu{RgGadqz#N6nWz*;4rDd6lxDx@D9th%Cqov0Ep>=kUTUFdWI z!IoH$G|ht1E+w@_)HFe~l?59GWd9waw(Ify`8L;9G7%5U=O8wzq7c+V2xPbT3%;@y zGEy<>GBKaznHXvU?;c;;FNrr8p5W8<{CS(Z>Y8)UM3yajily@Onb^y$ zo@3h5RywxCBB2I1#A-GZu^`@t&cfcP%kqZq{nPdP?zmsoLV(N&qc$l?#Lo>VH4qFq zf~|jvN2t093K;-) zZ=_<{XB?x)w<{gIN$$S6kPhKFT?8FMHUoTsH(SmSropS+BrX$hpB8Vu*6+el1+T&tQJS4})WUtJ`GMn zm(vVcJHcmBJAq$-d|}LoNT&gZxI7e*Pcv}pgJhI5iw@up4Q|X;|JZ>tJ?-uq1{n^iX9_lD<-k{czAnC%V+1&8d+br z3T5@M%i+D0nKc4Kc~-N)NxN9(AB=C&`hhpyB(0x$c8rj%zQO4JRAhNUG^&XL)R#t9 zk{lO~8SLwWKu+*JJ(mQTz0{=fQIPA=;d%Aq=m5;!i4?A=Fqd4NIBd)J*~7bPIU(R% zN2$<#We?c36cf)_D8aHr^Gm7$ywBh#yWY^ffBC%J4%hqcy{IZ*rROkl*JIZz);eP0 zw6EZ$kW55+38Y`?}0s(;fm72SQd~1WuKrFm-dX8q0gE-z7+OZMp>HNPfkfC6*rW!by zc2jDvMNZcAJ8n%-LNGZ`4lr|0k@`D0f5Ep~2?=SYioQN1)gH0d1t!-aEX zLtAg!9VfuwL42O@)n1?e@KhS>)?`Vl(*%=#BFB8|#|K3r6m+3ZT)Dob=KcgN@5>BqQi zb*X25;pUTT_POziR8Y@ex}MAeoq9{R!=vI(xX-{`SMK60fjzvnQcmvZ1Mk{h8m;I(hX!1}yXNeRcc zrl|&}85hFB8KT^$GqgKFll?mGzMZlEJFzG}EtrL+=Rvt2rIRh5c^=wZ!wmpg1<(DY zg|i4ci|Ra&yj}aTS6;?>m^Id6(W5Yq*C}cA)w`-YXyFvuMpqkN9();9?wQF{E=@r2 z9dh!azt9|Phw&35A;D#?&9lh-J4X8U%9|S1n#-<&0lMv2q;hivUs3);)7J#IZ8!t& zg8zn13Hbo6O8u=45JOx$uY;^-eOZ|oE?6hI2rb|zdmP#@07J=pf#d|fnb-mRi_`R7 zKa4TfizY-zf+X*XQ*D!|WaC>A>5n)4a@jrK(0N!);8dATjT0MrrJck#6@SF(bSF|J zsJj#jdzuF|d7%!ou}o*q1-~M*_Lzz^Thkil+xr=5;?^G{W^u;Nd@2u6sc3$|2*8bR z!@wM9mDc+TIc2DH!dCa(fxw#XZx%8oJt5WdZC255NSf0(wwibKB zN_=dR^kiGBc`6)7SfT=byMU^{`)0Z5SjV*I$ghlzdeP-H$R!_hA&e~1#-=L^|4!C@ zo*;uOVT#S2r+gHd9LUt9l`6IZfXV%QeO;!;ZLeJ7=up0L8W|s4Vo5YeWD*KjSavi4 zE9)A|^)4AaYZ`Fr&JAI;KZUie&1u2-HOKjOnfm%IsCp$uX9p6^b#t>7mU z`}y0>W>@ot8siDh$HSVcNu?p>#7D4$qUn|ny9A2(Aes(o72BqZU!N7EBe3G9u6u#X z-HG%giw9mg?vCxTxnr|@wOJ)!xe-;*>4J{*bPW0PcRo{h8>5i8Hwf>%Uw2c+x@L?8 z-zXnJn=k2N87!Zm_eN7)dKcGECx-o{eBtE1>dAY>0t+$?%*2HXj#AU;;d9l(h&6G# z$P`0xnBF5koIrJcEGPU`qdJY6K4XnBm0d7YxRz&f2&Cvpiv*Q_F&#!O$ zr^7XFBfMK`=Pv|Yv@rTRq>!-aZXNC!0qyBoZ8Nk?+dtl=amL^lLsK{)21tm}xu+aql5v&(ahPH*^FeDcyj;wDXmIu?Jqyw(-XXIj7-Vc!tNm4UaQ3^j zYi+IGtZ$n76)+yh?LJE3hF#6(SY66NIp#X%Gax;6x&GviNiwXw?d~C4CF&e(;Yv>B zeaw6#1B;n0go5BsONfAgz1aC(7jOcywz`&;IN-60d#V)~uv2c#!sbI*trke;!6gPk znu<0!%9=IDMz~~EO?%;KEc&{?(@;@0=4d3nk>j3=*e8VpyeQ!y@7;xKc;o1n(`VG& zh&);236_*NSyi4bi{pT$&*<}XxMA-857&>w?HyMXEXaDL{rIjWM?{&}6@bz{!?vNc z_f0hjUbcV;x}IbdifkyS6%^Pwj~Rpg>pe;7WF<|bs)eGix^7kyH_#8N;n=`$#IQ-h zxQ|7WoAGn47gow{4jyma7tb$ ziJ-GttSAFV&|n5HyX)`oDZe7$7UZ2dDfuy`VglIwAhzCeb}5~htF7W$>U6`n#k)!7 zWf~!4MEe#w#|>hAXzYWtG{*JK@Ru#keHdnfhS3u-<<$;p?n7i2A!8bUcKBb7SF-xe zXvX=v@_fJ96jr1>aT8Z;i#T8F0o-qY{>T4KYl!~-kEaWfO)>qDR-94aKXo)=a|G^} z^vZ8V;PJVnCB9WI~>cF9WXlSp;I?-fbS*~syTHQT(3?<0C|u~dHk ze0hI5BFD#U+XeD2@>vyC;#EQOgXmUhY+2~jIKbm+CP;C+i!jV9U2^#|wGi5&`V0ac z!Z#ebxxD`2<>~x%xJ$Yy8t#vJ&C%z^4>@x$9VXd$ziApT^qgcbD`|M5u1$PrW+5>4 zy196)>wh~O&$rAI`LR2Yd0A#*tSC|$c1v7oJ|}b3;I@j_qte$Py>d-P3M1k$w2o3H z8v^XExo~`p%;o3MXRmx_8I~g++Egr$%Z~BJ!;At#ti&oe3C;v3ARsKiA<2q!KAViz6WZR(ynTM`j_0Qf!2PmE zf{les)>V0}LQRvX*aYs8sLob=Ir4KV3`j*(x z*X%WIXk#*K8Co0Eu32KRP!g46?=gtdOmw8)p5D*L zS@OaOR8W*)^nB9eS-QzScAq3}dXt*RRMF;$c$M^73S|x1$I$xL_9rrh?40NT!!jqHL0uwcI zkWuJ`z4g(=pk)+Jpd6IBcJJdtw=FJwtQiBrp^~wEtwEk`V@1Y*v;hij;{)C_F6xT3 z)l7o5A_<<^%>?eKpX40}+$7Y*U729WRD1!EIx>!fe;$9?o%TPT-ad~HtQjzkIB4(5 zqwa4Rkgla=QOE&T?TU$Lvn}+YvLGV50-M@!{C*_om>1((Q^+xD$-BjH@!pc20Nm4# zXE>blY|bd+&XzCm_OOvYGV+Nc9o_A6hNt(wJDv73DTF#AP#pBggj-m$I^hd?cdjL; z9=36@JInGS=*%tzpj87}Jr25JIS476&QYU=$af7gVtLnZ8cxKzT+>McutDRMSTfyp zrWZ0{XdLQDhRPl4ds-RuHNtSi9ZMOBtC~_Eaqm_Hu0bykoE{)W0t1A*wia%1OTA!& zqxrri0dE|=_!MWn>9yeVy2>zv9TY4Y?E=&Kj9q$WvNQIfD!xbT*$@WNxE-m}lqjB) z?~(Yb)2h%YBFI;bRp_#p$01b*e3li7%nwqan}mE?0s(`HW11wz0FlX`KB9dkLU{g6 zXC04BOa!N>)>mc+^|b$9k_*dZ;Wd%c=t0p|NK+<=dg&0XoDWqN^7pB~0n}$x5zQn; zCh#R{(N)6J^J2g~QBi$^PFog@py%03HR%}57lFy@n2A~>|ASs9UhCByq-l6lNDMF#sme;TdmE#c{*otewF zSR<;^coD5(``(hzk*SJIsOAl6)c+-cecxR_`g+)(=LfG zfS3-;7_24Ghbdj-$SCrb`p9LEtEF~ow1jt_8&A<-=$ed*9UTu(dzrl6YDS@#vj>CK zx*=)B=jH|1))6mR!^*!)c*O&FRf9KgY#6CIO%`E^d0Qn)%_8$x<6L{aw;Awaf_MDQ zBomH|An(A1Uo`RL_qJV4lBFrgrUD@*K$fzl3Mp8}tEOeVgRH8^5ha;B-dQ{PbKiEK z$NRh{VZ&VuUsUdpWtJoWWX0j)(eY2LQb=@r>sN+328iUw-(09tWO^d})pCG1HE-dL z?imccYRMfshCWYrA#p>}z`Z6!85_o$9hMR-p<Hb5zUAMuB~rF6KU$Mj)>C|&L(LgV^sa^ayY%Mv&2Is7P<;jSyD@4j3k)JN^MF4 zw-?raGQ2eGaVWo-0J{v>wLA@IEWZ5pzy6Zei~Pqzu823=X+xY65}#@Ui_KM7ew>-_ z1E=0jT9rLk1IH6AxNDhT$PT>Y1cg{3fXn&qb6-^qC+1GprWt#*!f2gifdxbxXFO5| zvsGs6*m7}WeA?6@<9YD3^v9WE2gf;eY<_2Y1%YP@Av=V6jx2jYD`r7uCzLAXOv>8jz5n}Qy_L&DGzQ!3U0MKz0 zJKeovNr+oV(>!v;f;~v=Eg)@|&9tI5P&1VukZ?UAAAx5pTLYLGfGj@nHixM0+KmBdOjV?TP@=R`4LZnwZ>rz;qiGHjc+L@l%m-cj@hND)>m?@&T zl&Y|nc6iSyWuvtbt>A*eW=pXbI_on3kCmJ&70iG7yRyo-m)5V?mM{TI^(wQ;MEf4y zWNZ*L{RTnoN=NP|`i!JmiYg;IU!Tp)KvoTvZztnFym{UISPrGod#iLF*ml}~OKT+Z zGCb1{rEpSNGC!aEX5~W3>}L()2&?>!u*U5S2`n`lV8^jp0;?UjAz5lbcZ|Q8ocv7s z17LZ|D?44_j$R)G>n20hvD}S`mu_P*Zgcd4N2B>Qdew%gnc2rGt2$7zE%$B@bXCGE zbz+;@UNI8E_MYyzj@p9HTqTW?j~^6EE-v`ZnbF58SBXVVK<{vc%iHd@U!|=31jb_* ziWmz%JpyACgh&dN|Kuyz5P6q|%%lJ_iw|H{9n8n``75}lZ^wI5qMF_+&zKlfoUO5? zDr9CZH{b@2&^Cm@Z?K*oN||fkQM2IjWr`oG8cmoh$ZM5hmjf1KZ|TwHQ%T(8msgycyq;UR8g}8 z!WXGW&LXznM5bXdi0UjZC}vSznxG91_r;AT9Iu~c3X?Gi*~n^NU4MF3>v5yhlsFDW z$V-~om#9zTkJx2_NxIk*tc|m{xv=n{`Sb{+na-n1P;i!s&iogV4Y3aQ-oV$Ve|h@+ zcA5PuDrE~2hJ9jV!@Hz`4jV^-71B>aZ0bW%w?3&`Eja<)n9)+hx>?Um0%T*GOXWLb z;P=2_BwqOFRH(cs3H#A-mLL8u0IygvM<(_kB|Kks7;{7c+@GSQ7F4Vp1_IwY{ttqW z)}aNjZPr0yfIymcp3!DO$xOB)>|T}$gjm7Bs3f7}Q^9e)fEV{OajK20rKCQ1iJnD% zuR~4*%#g=}DKO2TjErR|&bt@EX8UWZ;tiH4J)E%+$}H`2o%T1#F>~Rv?M*X7^9>F< z%6g;Xqr=S7Ng_echSud(4F?}5nqHYJxXp>wF%yEx&!;Fu`Ail`PB{9k-)^aMbak}m0oI8qtpL?XAzAR{# zNro5O>Bh{zFPsT8*#ulx*`&b)_LH)?UXws)`)av;Et`xFk^ckxW%jR6f7t)BJ7EN{ z(r1QLH4t8#o~GW6`;_>^}%tf zVlnYli46pa%A@G;lrPrYM4TMLWV;1_%`n$R$(*>JY-gVN3bF;Q8rY%U)dd8jKAUTbxv)Gv6`q8Lza6M8Uj89O=2 zLN=V9*EkjCk})UtvA>;c0 z`!=u@et9+mE?iHVP6B*8dK9@OGnI*a0B`#}#Mt$o3{@ktw$vSL&MTq2iRqOYA(B{k zVCBCA9zxh=bF|D1KHy(+ofGmJmY4JK^(i$aT^DBto34VG3Im&(1J;~iGP&0a^!(On zCNe(y1>SLD$ha6bU;!dIep+5p>vG;qhf7gN-)|jqF|QeYxNju7Y{No z^j4tv>v0tv6|=0(f9bVmY9BZ7Mio3k>|_4E{qlADx;tR*;Ih5X^v5$!qEK29oxRjL z#o^se?NB@u6LCE^_G@}(Rr4?mTJ>R3?y@uuGv}8iR;pH z;aRNYGL+9E+1S~F9msq@ZZM&978>Dt`gr-eyML6KnP#G&Gd2@=cKv5KiITP%(7_%p zV^}!4a1xbIVjBTd`X|1Xs*1}z3?gerSIL?gx-szb3{Ra<^QSSaH)FoKE)^MP+rD=5 z6Gy42N^#;j3m7duOlQGenGpXt&X$mOwL8Xsa9NchN*30MInL8|MO&K4n-Rt((y1_iztYl$$bF;~$<~KnRlJjw z8zysI@HqQ1E?D7^v`);iZXkAn{Ud;Xkjl^Tm-52PIi7$0+yD6U|NiR?YnDed#t(A{ zd$EIqxJ`QSDSD)2lAlZ&k_@jk4c`Uld5j|G=V1=(#rRe!M8W&{bh^L&_AbQf2Gw}I zZCU`AgaeJDsV;uo7sTL*)jV~87!<#DO9?UCSfdM512x&Fi~dfP9)S?cVorg36vtK^ zk88?Fj~kb8%ZIA7cGO+e$Ees=gvZ_o#hbno>oW0B!c_=5KWHe{y*+`P|4dCq_p~bb zZ~y0iZvOi3oBeP9@#o)u{q=AEx%uht&!xDWDmNif)XNN*p_8Oq;fCY6O!yYIPIuUK zWMd=xICbZ!ftV}%k!gL!^I>wLWHjaU`_B{MJPogp!*)S-tEKT6&yujaEhq5!L3T&6 zE{4g0f~mNw=q!EK*(-wW1$ImALx$_2jb+? z0&NS$hhZEG;@i(1_9)1oTj4aeOi`3fY(`rgHUt#D>^<>iZyw&hbtaU~mWArS(W687 zUOLRQNhy)&tx(n+bpU`;!Jghe;Ukd~xGt6rZ_uAp;L?%^Aw?zam4{P?>Rt^ zwB8y&kLhUq24gd%?ckqm3k$|F{>H;$!lGn#)}%|!PfAldn@@lH>u-Pmf>o&@S8hkajo#9RwfB=^gXevhQ!qAK02xj0N^l&scEA3TSv-tlmb;wjTP zJecW7(h|dwnH!LYd zh-b#uqm`CT%e+R(>Z$z?o}L6<-J zu4xXi+ZZ*^EF)(t?DS9-SesJCI6NJ95AR$0?Nq01Hsv=Av=XPF!9m|<%>nLW@%o*u zyVXqGCh#QmOCZ2(f1R&4RdmFh_PqbsS6u#gsl|?lUA5ORPVmz_2W8>#zu^=ph=)q^ z%VN?Df%#y8B~tNTsruqGFyT?E1`Mc60MoX&zy1Pm^6!8BZFBdxUw{2St{#f_=rp*( zIcB+60Jm%ms6nV5y!!!lCZYDdO{uOd+HFGagh5Rf1IuJb$>~NT>TLumQmjWM9%R;|1fJ@gWc>Zt|M|<` z{=Rws%U}QTAOG#r$enLQ!v}$Vb3-$Z!aR^brK#X=SXm1uwKYZXG?kL%JI;bRd@p9J zV?ZU&>`e}kmxQ@Dnl)D-=d24T1exumuO47x*6+K&{^cM4{eS!OFDx00EhKilVf3Vt z8bJ~T!vpLn{=j)&nwIh7=vuVJ;^#aaZopjSc+G1a7tDo}d^7Jz|B~tMpCLTFP{}2t zw|QM6Ybazy6YCAmCzar!EEBfisGbE*A;3Euz5b#}mVp@g@34i{}U;g?(#lS2|v1VMs;K%Bw zmDih*LwRO+4Pt0xW77p~kk3-hVHOp_1V?~XI~~+D2M^`-x8HvG@4x=r=I+1!^4o8} z{$;7~-M}TMqrAFKlF?!bqv^J`OKlkqJU?Rp=O4+(^ky7dC}mfsH-g|oxp!8aq(b6F zN%TLQ9*&#)-8b}@uBu}q6~WkRlVkaf#y}hs@>q!OaAm}R(-SFHM$xFEHYBVznB)=> zT4v+4Oo5cD0R`I3hpO*iUw7x1KV2*aOol0J8T~JrUWc5VeVLG&?F6&{H>*C0VQ$c= zJ)!&sWP#iE#!;^5cM#nFar3mhd)&j_f8Cu|rz^UuJrtXV;r05Szk`mv>?7vV!J{IA zNU$e3%QXmv;m$Z0!Z@orEHt$$cw3$-vdoi|f_A*|NSKF$BV|+eS3kdPZucNyyUp$6 z&-ZIS0B#-_&xQUJ=7GzpY=6UqYuIsyt`ZG&S_f7XRPxxXk_`8QxENR_RRW~V8~{-w zzJ9$}S(Wh*fMURn0!7TK7GO>2UNG#uJKa9+51$`4=lkvL;j<8{Ue`VhjylMaaH#~DRt!8@i6iP; zn{}5-QF|G}z{;ILivzM1l!LY`K4MI>osoZ#ndd7+r>h=oxZxi2(s2TBq8C*-TL-2= zC|!GG%?$zUNQYNmYZjxa>F{QS{rCILXWT$^29I(DdP_xV>Mr8Yi&mU(j>q+5n(Lp{ zOo(2YOad;(v5zxa@p<=zqh`P7|G!1?xvDXPi|$-e9q1B$q5PO-8wb#_cU|qGAb&$w zz0pO1$znYFe)a);y*q85zaAbR-*!t(Qp=qVW!^H}kT1E|>0oiFt7ZEui@+Q9W6Q)$ zshX@LfkE+p+kHOLVCC=Mww$f_`LKVxK3z02(n`N)yxp9@ty`1wt zV5igvT&`Jns=B0x{p0~hf3+dMzQ!;{q9PpP%&~CXX7fFOwKV}) zejszRH{1n+-LG9?|1qHWw=u`j-{>g^4ll89Hjsm!LmH0Z53W_hnUg7jWvY)t)W=_O z`}p};g*mIW*J}Sbw(E;OGW7D|GCK09qR-fpIDQ3*>5nm^CcvecH=AnD;G%_OR;HBn z3Uc~hP!o=<5LXEijfswY1l(6gJfav;Ak9g%V_!lhnnlwa+hlJs62`#;In+wuD|0ac z{yc~O^ssyTa#5N`aW16ZeJ|@pcIkE#`r!Cskg+!~32fT%csmE!~mb%D6ysh8*${Es24AgIUzR4ezFC(V=@^(p z6_$l7(gW09I+XZ@<`t9fi&GM)jNEi&C0ShSCx2|E_mL@>0DG&9uEJimN7-fU3k%XZ zT)Z>Io~pe&%h=f>_qJ6;)G)Z;-M`V&m8+F$APRp;&p2Bwa_M7_7<6oH7*o(}42*YC z`(u0t&7QJ+2K3X*8GP$i;PpNq9$)TGr}bIUdQcIJG=?C{6Fpfbmi(2qx&#aUWxON8Jn#*AvVJViZxSfOshc+ z__N~+h~?UyAPy^tFK#E8?ZIHo+|SU*3q2T}_hvF24bG3%%!kWY@8uxzyALwIg+&e$ z#7K^!abiFRk`*Qa|AgAw!ym0r@2ix0=S3iCh1#%v{eGA!(V*;i$S-kNBARAL% zvyJHeuY>L;GTz}>Lmgr{CSXdF?Hk_-nsSb{Y+#=bKg{`^d!5(Y-=y2P53xxUIObVO z)e4Ru02-G>*t~Glv$NWyO-9J0M0>SMhHqL-r>0o=An4qH7Fr0|z+j^g>o07gMIAV$ zQ3tC&##rSY8Znk_7>H{1ov7#9iWKN*WJSy3Rd=16fCdw)eR={d_OkU3-S>fx<4g3i z@5}YFNphBc2~itAao9Tu2OAzhXT(6Ze&Khb?njE50reFEV$}Z2A>M{iP?azUwHV2M zO;KNC)~g8;bZldV87KS%^BmZ ztqYMG1ZlR(m7@(xS+8+j^hKCM2~+DIJx14%b}4S`$m_HWb5vL&cTllHd6N+UZ9tO0 zf@ocfD**)VKEGnj-7&2a9HH%7#3NkJCRGVBuSv&B=zzsusxaF5UVgvDG0};6@8K=# z`t)KFz%k8I?yBV@cmRsx&bWuZ%p+6N%ay^Xqd86f9)!fA!`>XY^W?XE8b|4P=@t&$ zG%RCqjy_wxB4gzoy__S~=jf167QcwEr}N8tCq{jW2uN`sB4;PNata&>4@fi+BBp&+ z_Zp>#b533pD)A|z*KziuG%@uO4j(FIgoOlb(%J81rX2?_4y78oEL*rJq3YfAM8QY0 z70YjwqsMFkj-xKrBT-3BDJ^2JYVXBnG3`>W7#}<~YJ$k#oZh}Y>^a@N`RROm+W*T+ zbwPg%*hM-J=V&$&ocndiQl8V+t9TzP+nx%&{kZ>wIZ@z?NaL8!N)xqX3MNp!y3aRJ z`o6oN9_q1Pw!S>3`WAYSsmOUg(NJ!vo54RkW2#S;vdQ1+t>&tbbfxVpb|ZrA1h#8n zoA<(=FjWwdj-?Oqx8kWeF~oC;0;E1paq3+vsN*Y7(&`u)p2zmAER;GY|sBhY%MhuzcH(|*0bvA%HZ>mBC@ zxFmwR56Wh>xvCU$UG;9V%on}`#i3rpD9aYt=sCvW#-9)OxWasmH?oxuV*lU(Tc#Z> zPO%jJkNHppr-@?yF7e7;8WWByLyV5Oma@@()}z>5_IqZIz|B3e2#pQIPQJ7o2Q&+K z>61~woN#N}@YO5}4O1=UYTSKzptrl{huzzSBWTwxV&YolUd9S2|BfP)49G`R^`;QY zBaNz%IRq)ejgjq&>&XmDaDp^*f-B?*m3&Jo={e;=UjhW?c(L4KHM^f33~<+^-*Kfz z?ymB8m{4C*@mCIzLuVU8AI!*W30p3rIVaZFwo2(c4nXt>V{=em z{{}KjQro1Ejjno@l#UbIYFpidSiipB-(%a=TG&|TO$BVpKxx4T@1Ps@SF2eKIh9% z+yaa#MyhTv%=z}#cg?nLY@dzY*w9&AF()?Fwth^y)}~f`NwgWy=w@FuNf^8m+=VzC zYi7CiW3mNvb47QJ^I}%3FkIf|^X_r~bkVn|n9a=Sh($gE#ZBZ*f>||A4U4fN>A=aK zyiIFV@@mC%_hMFUtI9Ee8p!_EH?Y+H4e}fh$4K%`7|(4&$w6Fd+*q9t#2f(5O?H!z z&uPxQ6{pyXX?3ka$5g_fPLGer3mUyXgU8v4;j55Vt*#RmWCuFkt36E}&0CpHZw(#G z#7gMagh{NbYeR5+y?2kh&!5ZAgw>X_>Qz`xNEDf8E_P){7vrGtD+Z+A(mX&c3!|2;QW8%!*#rw|f+v6I6cqq}DQZ<_$ z!}C}mGuoRf9$|87NfY0<7(m}<5wFI&C>yMXQ&-gRf@lELs^G-Vt5Cw*n|$HNY}C2B`fobzqIpIy*;@i>2$jlKONTggi1! z?9NXE>3j)wZvXMOUw`=r(jFdu`?o*;^4n(j@BjYGpa1rsOfezY4Q1`^@Y`9WNzlP*={xDqiIj31IGLkidqxB_*|QDD^Er z#Vd+vtOXsfzH+_ZX3MgX1akZ^52xt(dKaywp31- zxCnmo3|^%rR>6h^`7Mefa35|eYyPzNQ+kPWigv;?8bVY=s^!%&IZ?+ODL#M}+ef2D zs}@t_Tx3_ehN*KttGL7zwH6?vt(UdpsxGHSyH>J&OjbnMmEj1^l<(!{?cwmUKfmE> z#Y=hv7yMTDjtLRz9gaK&V1t}xUak}J2oHMO$yxeNw?ZwS#mZUi%vt`h|MaQM_FN%B zwMN0(U{i9#8afi9#nf%1+Wd~|72qJa)wSWdq=Q7OPDhxXV0PcDxI0^a0ck{?xfzXE zvT?OH68FJZKHe(1BYg&oq~?hW>gdy`8rKRbOmEb24@^0W4WL^sDx1f{%b)hg$uW?J zck|0{|F(JiGw(!e&f(OPkjdAsD}{cGgQHpdRgRY3+u-ZjOq21U^rM9>UP% zOgg97dkAB>0ft6m$Um7=J7CvCQY%~%g9hmhN^>p?zt~c1f8MfW5D4??n1tMF{Rf1NW`_cu*|T?&_>z?k#X4S)!sfjvV)RZNl`_y zvreDI$yr8PjQORy6OEJT7bj8Ch!O360CP!Zd}?V#?>p= z#juA{Hdd`(X+`mC&|z`IOnTAc=(cq13K+O3T+22p@*)=0B%|002rl9ubN0n^Nn%Jt z*C=vd`vS}PJ;JOVE!T~`9%T>;`9x7HB5k@xM!oDuNlt|(y>s3vKajMzMXNZRqsT!L zdl{7SqfJ#Pv`@P~zU>h;EvZ_RTdUm{bY!_wmZhG9cI*asujXX7NNG91b<}K-ooS|! zL2PX{rfq*tVk(23fxFv0(*EstpfyB;o@U@8Z!bi!+vMCBMHT`*P;V;v$eeEYndagm zxMB^1n}PfKe16`1+VAh*hd85N@Cz4g5(+H#_sLJ$9G9)HlGzN|+R@gRhN~pjF!%AJ6_FV$Gq5;G6I&8yv3nsbVZH>npTe~j zT-sOy$|h%Ur&#ht%uQPAnPHe zy}l@B@7eyv9!Z;3Z)9mfu`y)rXp|O12S#1R76evIT~g1GtOvO1H;?<<-Ert~SXRxI zRFk`8%bmyWh8qQNw5IR6vF!vD)_Cuh;`ZQ(wSUkPTndP|RZ#w5K`k~frI{-()2Z*e zWQ(1H^(E)=k~5m#UbV87mRgHN>Pj_JAE%v!1zC(=Zls#5$z8QX@PZN4pxFo(5}(Wi zotE-u$ou4aa4fPax!a;YDsz{LaKnk*xY?y7N3z(!tfKc}-RkGvHT)*(DPyVxc037pT(*VEzng7>^| z%XNn)(y6QQcitv|rAuOS^cFMfN{$WLY=_DJiWSUYqnPz0&CoJWrORR&dnGMS?)~n3 zI(^w+@Rm&NEfqCb&JfvI%8u_mflZ=`cKIpWiG0GHhjIkUp>;?j){O^aF%iqyYtPOx zJN4=A;dFP}9M0#%=iLj{4A%8`CE;T#EwX*2=6}KsUOFyZAI+nsbfxR?dm7GCa3?VQ ztw);0JoZYwt>J6_!|UrQ~#Hp1;{7rJ!2-#kAY_K)`$6i6c%MeA9k@a7vF5-5?$tj`4h`_!p<2(EVp zz265uB)~}k+Zn((^)O^BuftoiP<*}IjftkAz@7C-aRAv*2l9f)u>e8K_nQT7sBZWD+HN7H&9qiS!d)nZCy^1qkfM6i(UI40;42X!$I27#oeM zJ(YNcNr*b5bC<(aKfNA5A{bl-Z3QDP3I=H7+RL*Pa;bUQVh@>ts53fEIqd#LPT^I# zfN!)aYM_>2(`}iXflBNpH`y5^b5%|BRS z^RU?QJpxkX!@KeuxvGw|9k;Pe1O&TWjZ(-Qe_QLkQCfQW7*>wqW{&ZE+I_wBHTn~bXe>Ds55Zy;>=0lvmS(P)^FhFbxzaQWaE_GT9RYWR@jf+)NCND`m{eV< z=k#Jhbwc}lPtoa9IDLw^c;hLYD^9y<>1+G(YouPEKpBz_JpN zI2M~EUNG!=BVhQOwt5jLM);t{!5I&lP@({a6O3w{0gL(c3hjCT29e67c2w%=Nv_dUCd}Lvg z08R@MjexzaS@sby#$$D-JUF`oxSs+1>AEOEqaDivk{F@KT*@zV`T}2CR7q>eQTDDI zeQsC4iaBg^l(ZFt7Xm$;E=#bfADpFM{NQqtVDAJq4p#P7XDKNXO9_O$s=b4^jio)E zdmz+e4a1y%_;mR6vfm%IVqPf{7|mHfgk+qE61p^xXTUVJ!4y-9eQRcXFmBQ|U>tm? z-XlR5yBL&oczB{D9b{291^F7q8^Z1zfp%p|u8gCXv=m0Yvppo}Fm)zZ$_*qWXVphp z>IA+M6By@Apb4AH2GE$w0MeH&867D>(+njNm70VMf8!)JXU!;8T|0Q7fpV91F@4FP z_)g4X)R8cnMe_QFcxQ9Mmenh@UJ(_Rap9-o-1b5$4GW_-HXDTf*5L-8n#sd=VgqBF zO2cRL`Mf*cgAqK@@2jTJR+0i@f%^(MBhLvyTCPYb%MPSFtCEKyO9*zwbhSE3ScL9_ z`Vc`Iv4lD=Of&^(yb!W#8CiBfs`R_=II=g~{o*ix#^w+%4|Jej@|uXApf`C!PY{h& z85K7YRj`@1tMRg{?)I?>gW% zT!^z(|A#Ab;e8t4nXIskKDt(8usyUolhYY?Kz7_vx%mleG_TJa*R4cZy4Y|0*tlYO z5fLqfB>H9CNl0v@!w>n-*rqtx7+cgFHmy!TCjqU68J{y%2=>R9^X_qT!aWw3^X*jz zhaCUNc|Z1>#5GMzWjl})ujYE#`2bNLYyQRgU`n6PR^e>V$&aVg>+xlGSk)VCss}&2$^_NX6ibmYtEJVPZ^s<9%8nGYy`WXuFayFxtUcIVq!fviNr%92^V7@Q;dpyK z+<)FbFOlD%tY|OF76*ijk3)*M2ukpvP&&nJ?WqACXQWc4P|%Kp6&V8vs!Dri?CGrT zWtjp;k7<8IGzQ@z?^Cj=2vgcNAnc#Be-wzet zY`0z$9u;X$76SOnSHcWJ=WQF_TCs^KHi{3y9`|5T4tK9YcC?&Qs+!->g{xXm!DEVI zSimO+vCU%(b4HIeVDE?5gngx=ggfpV_s)t%?BmP>+#O%`kEgHPPqz8V9`84QJRCn? z8E6&FVUxP;z=ddxaHGMYMg0n?0k}tcfNHIv!Ig6mNGgFL>|z!Bxn`CIyLocq_!-t)ZZY}FBYygHS%V{K=QR}&LOteIE`X-68gDAwoG-IrCg?QlmPyJeY8iqtZe zcaiHtMN;VgU_ZX;Qtc+;3&9zQCMm}JIh`|WYI*b1{r-5wsO8J%e80$9*J&O~!z~IN zX>l`|ld;AgAD3=WC<~~O`$9Ef(FKPTyQmcN;v9izDxJ=0XLY#t`~8IpbJrvg;LAhe zx*{T+?Tv}e`1~A7BsJS!e9XS#Quj=j(>Yz`dLPtONk|rxBAl5h+bJRmP=r>M_iNtDI<=+{16x?PN z_j^R9rGQ9|+0quUVqa6;S&LYcS_iwbeAhFrPUmbJ{(kW0+x~Hu|N1mc4%q7y37;nU zdJ>XOsU=F9K( zao%wn7O5~ECM-YO1mD&;ximamIA6Ua(R(qdwzX5HYr}`DlEXUI5sH95mC8r#u*pnC z^MNEL;*>{Qv*~(k#|HkQ+r1c7J7%lj6LzYGj`&B`RUxo1X8wmx(j3NfZH@*1Lgn67Sx5AJJy|m@0Erjd=R#o zd1>gu*VD5;C3=7`eN3Q~DvcLQ=~`u{Vx7%T52wdl?9eU-=h`P(I*YgwH&7xIBQd<= zj_BdR1yuW8Xehb2xXxHUk|-_uimGtsQHlk1tv>wd&F4l&vM|vs+&tLzx?6;9KE%-h z;F}lg=vuG*x+v4yIy0X}BO}9@NQO-E4F62rtFErPE1{e3HS2!C3er1vEtZ!T#3cGw z)#+QsEa2&Fe=ZthF%#GTS1o>Nv^KgH})_Wz~$fkc$tY^asxMB!> zYfi3L6}363+qE1EvR@1f`ryV4gs2J#$gWx^>4i=Q8RUNCb?Yq3EA3WYyKP*4JKQ#( zp-bQsHAyw0(Q$sx&|G)hwWraIgfyLgfZ@g^ToF7@7_h&WQ#5*sf?!o0FvWZee~$BW zM&x^MHupE&g8fRya8;Il$SUVv5M%93&HEE#F?-dNG=QdL|JUQ&LP8sdLX6YuIE_Sn z<-rljZPy9COOGR?YOtrLR+bQOrbB=-?__c|=#nG>6{{C@k6G$yj`rq$caVmKi#>hRSwx#dK`CM(S_*jORK)ues4u7riD7IyhB2ibLWdX>#=c^>ufC`P1g^ z+P;v?<*pl90qkzFFPFT~+le#i*-uss1mlg~rbBqe?xnf>HOC|?4t?cT(41gY&&-oU z7jwi-xm)lX$9oNB+_f{I#)*9asp}g)FfUX%I2t(M9LHTB4o^sLN7C?9|MEZuf`7Sk zaA552j9wBoQr#dy#x-YY{QB{`#=-Ph_pOvj*5!)dmavPh%UX`5=Kp-$-R^};;kw#a z$zWSw$uO3>mxt^y6&Y>adxPzUK8Ds664o21`-EsdV;BOfXu;+$*)*vF-KyvM@*7nc zO9c#6{=(#|2ajSR%GusKQ!IwI*eDm8fT!9MOVl=}-2h(S-y*Gl|3)DGoicg?<56=&)txG7MZX&NT z%Q|=t!cIY`a}HbADXJ!!g3^N)LibPLJO~-=W0@m@K$bF3**4 zCrFt!M(1O8uEb+Wx~u6RYzHx|>&C)=@t=kL#_OK@0WMQ1d@o!vjmvPY4XPE6;bs@w zSW1X)eAR7#g}q5l-Dk{fd6{Dy_!W*{k3yvx1yr#jkP=%-=>Ef6Q<&DpCMHF&O?{-hCL&FomDx=7)AjBSn zwsL6-&3202M%;dbN%ZlnK)6DA&(?;^gC!sC*h_O zTn8yXp|BU4*qJJk2;P~+{(N-=LMsMSH{K6Z4KHseH5_#%UX>saf?aRLADK-M&}J}G z6LjKa1DMY?sUg%hUbpF)z(V}+dV5<6YAbjfB0w-Cet2_UE98)hq-ASgc`15+lQu_vde$&##Zm)L6}XOJggFG;J0dNSc$IourJ;hI)Ax28s@X ztl_>(m?CsGctca9xBESDmVDX#l-3gjQ3*y7HgBzD_M&=NpV_)f9Eh+gxd7GY$W zaxRQHqhdsa)h1}JbA@}I3S_E-71fc*Llm$fAa|+SWZjW+FklXBH4y+x4UXD3`!T!_ z+62vTP8_FXH4cwIAHex9d{{quxaZsR;w`T=6G(fNA;%&vv=g{3IMAtP-=s@M9^wXg z7U1zR@bI0$g8)wp9i|2N=uKn+Zd5&uf%gJDT?QV%6S%t$cs~(qo0a?&%`6l*K~tYE z0Z-ove7NzYp58^^I1e>`NWhH%?;GHD3cUXSa9dw_3KwrY*F$Is+{E10O@z!Q==R?M+>SV;}ooxi~B&7;1D!tC= z93`O@`)FGGC_-@sQ{6mgM(G_099g9WiXD&yrGO zSW{PTlqRgbni?UjSVUs1trh$yVl{e)8)G%tIv}5!f>jKknKOKEm=X}}a49KJ$*tlK zl?faxS|O#pO-7|L5}6K&LPMS3EpqD{t$@CI!CdWVNE}Zc5%cNOW{>~>;dHuR18&+# z5Er4z=rw5vtfh49NqZM?v(;#<6D6jdNulPJ#g!8tpbuU@3x?P{%@gH>U;XxVn8lgL zYVD#}bVV#E!3_?-pO*`}wF#6%OXvXsY8oqRD~hv8pG$`K>+Za}KU_}m zRyjM>9V77z=6SKtYj#5ue3Y%Jr$%gtn<0Z9CMVEh`*i(c0DU!Da}C;M$_CurRgdO( zWT_iI&LC7Z!L=n#jPF}U+0EV6owrp1ndeh8(sC{4>FgFc64Z`{A})X=jWr@hErw5b z4G-+Smn3`E>CkFp8>q8<4A}kK-TYS14xB*%_=)ujl*IKLf7KK~Jj` zfk7k9?WQ5p4x%enOCh9U^jwp|r!xFScTyLobah)ca%3w811uQ8(v&l< zl;Oi{8QytQ=U#$v&IH|rNW}(}ul?@x6^YL2CIh}!vCD&fn_UD24rRi9IKziGR7JD6 zwxFI23qm&&bju;#E9i`y`@_$N`^#|S0^Bq@>kK#d*wCPdW2gZb?#89IMuM}14WE7x z#+jh&l~j2{uD;{x7B2UaFw{*MWnUQQI@wjDR#@rE=)eohs@I~7ICv!Bt;X4~Jx=pt zu<8=ZnV=U%3@uSlhx_|Sa(fE*!n+@uly97*4j1Yn@XD-d<2U4C7#|wr6=N2gzC-Zy z?9Cr`M_P~cb$`Ekd8Ku=3r?E9Nwt$E5oeixIf8YwMJ%xM9tTN!qn0|ELg$%%Y)r5P z+3r`Wc)d(`PZ{Mm)Vfz8p_ayLF1}hLf#yo0O9n7H=*)1l*?yUZho=Y_2Rfl|^)b&@akoVd0?NDaipyDWeq9OVY$ zoVLDKI;1qqK!lR&l?*t#L_v7PZ1!y%0bcNx3`G-}(2W{NR^8zs92OyNqV2&L>Ijhc z(kD~5wjw`~O}3$U55h$g`gXeK9jr>Oy=hHfRi=$Wp`|i76PFg3rldyMM$Ely{Z-+h z3A&MB_MU(L^X?H-`@5g_m*BTo?#3(Udv}z%TfcSia@(;Pymh_Ao=(7)5Mr$6DWdMc z{+LHxGI%(j*V;;LhgIT6H5=ZJ%)yr_i!jipBYDf#sewz>G1zUFbJwKFdt_O4&75}- zPMW9-vsl9?=jV7jzdWE9d-u4z`?7o5t)?E^X3Z&Yb3`>lO^+^NTZ9@gCfK-fQgb_& z@CIUtQH*kd&Gs)=R5}0~gZrDi*YkOx@w+l9qo#g%NH72})26fGqcu z1|g=26-@`+HwC|6_7LNIzI@-UpJ(-jgR443XA4fAx7Lo?-OOPFvgOolXF+&qV#UsZ z;(^!n`Fyy&y};Rg4c;*uy@1z%PogDP!W^efCE*Q%*VlM0*e=YAo=-0?7Y$=YbL_E0 zjk|QEx6YL5Fv^DbZfmR`RYXsGXBPCfuRSF|3;~xOhh3JED94y1nR|XZyj)ycq|Y#} zLGfJ8BsZjtbkELdPW#f4VGijW>n4LBv@=mNhYUzRo&NY9oNf2$fOD}MFgj4)m7h;I zLl_I+#gq%pOspFIr8(*G^!$Q8=^ASYs+j3IIn#?FB=vz4|8aSp90coW(!2=nXm0wG zg7C;hoiQJJx9=YI&&R{l>+`B4PXH6&7TXbVM=b_}aennRuIs~Qb2)>|op;9T?BjAU zD6}$Bb3!1SFmFrzc6zx$BW!L$OJ5o0H zZ5}<36151kOmwYJje(Kg6})I(TAEmADtR_I>Vvc*&*VP;P4@X4N8i*dMvy#QBSXY9BfaO*BPkEFWzeen1zzn|OB2E5%#k)h#wAyW(2K78HrN<67O4VRmG{GZq zA&oa(cFOh6E1p&El)=HxF;QH6Q(=*b?Lz76qjCHSs=V;1tKGn1!8T=7e_7@ zE3vrGI%!65#rnmiUIX3O^S+k5nZ}+naJo?CB(8DOtPqBX9Q^$;lT=a&!YdOsn=K}W zX?3Gv(sg*p3sa^68^#CqA#Mlw-dbTVx*ftK z6Lr>RnD9mKiDvmOd3)6{s8dkZ@iO~{32fEjI|Xa4>xfkCNN~MTHPUJU46?FD>WL=!|El8ja&<}G_jbA@0$j1Ok$^~R^_bZ ze}!)*O(@v#C?$TZG7by!4$*ow|Jma&9%kp3Z;}w4XGaEEW4FnS<4d`xL|=y!mQ|1g zh99@Fj>WuUGKFv^O~}~(KY|_AfV;r9N}7sB6uz0H-NB)V1NsmR_UqbldyG7x@alQUaHe#g`$5-Q*H5= z;lRz5la%d`36#Ax#K}Jn>|{qR3<=5FDh^^=U_ zKH==y{pRj;Tv$Fl`3_Vm(6ZvkTP)u|-(ihLE1%-yf}@^l{|5K_f~S7f7r+)5bgcRU zWb^aW?)>HQKJzNYNkwDfRAEoOm(+LeJWUc0g3mhzkou)|)4MH>BaPXXVrYe{CU@?? z0ByVyEpkNFNh?H)>@^KqHmX^-<_sEgttmySBFSKG^h0i8yG7yTVF_Zs*Y0kUd1$rafWGj$*z|-B&yKkG_ z-QE6qVf6&+?fEQyWVIbe7OB}hJ$O9URvMbYCfg8!24=INCC8gtB5s2 zj`MK5FreM+y46!Kk@pcg*`#9N-(g~S)W?qWaWbj1tr@qt&%UWWG0zR44Ie>^sZ2ZH zDKf#jwAA!ks7!8S>aBA_M;%WXk@eX8bl%@@XkpZ%9M`!wm&WxkrMJ!(PIbIw>pR?h zpnCkM*%JKArrd;F1K@kN(Im6nm}>nTrBF~gVg4kV&HqBa^u{j>ajd*MOnWnPj3^3c zDWX9q9vdr=>Snw{>TlkLF8Z2N6C;|8MIiaCct}ij1DL}CW}gaTvy9kO3`jVnXj`#uG|7KA`Gt~_!nYQMDCKuD1r?=gz(=pBdXliV3 z1_XJvTqKzz#|~R>ton$HBsN7A925i21UCTK{4l^>^DI3R+hA>Sj$#wxrd~B?FkH~> zV-qh6cM!OC2JUq}=sRwh7MjlAF!&Zq;QQf*RRav)a1_XzuCQk#NL+MphesR$#K@f6 zF|I}4;V+50c$K=vxCN0fTz0nEOvnhL3%(&E2+U|>>}0J3Ubc|bzwN=_*q?8|{mbV3 z`<33}$~Dd77+B)QxnX<};ua*y8^ys>b1^bO>W*Bx@Px$lgY{hL8DNSV&=F0tDqz%f zK72mhZ$6!OPy5a3e?>lsjmgVi6bMBX#L#xjLd!XjpSoV$C<`ib3)sg&XI~n2!PQV} z<5|=6F6nJ`gq_W%^-aHnb=2PTZDSUaY#2A{d$(ACkbCb6Qq<3@H3tWgWYf)xjSig} zpC~qyS#AKQmUNI8>WRGDeFfiifBw3EdEG6GiJypf?LFDiJ;g7<1=VguJyI4IcGc;7 zkMzjB-rBS%C(L+bs?~H<=0Q1md3||3U}ctkW%OgfLCK?*U9gb1F zstAE^)9aPD85~^gzYt_Lo_5k*Pc6X9e0kXuyYEVsO82T&BQ3IbF%HdYU|hD& z>ZP3IW`VZJnw|4^>{Wy@Kr8V&bKw~0bvag=A+9r=?R8W8s74Hef($tcG~iP6D0)bf zMUlZer?tp(QI?5vjMGa|QMXW4*>q)h;@{&%`F< zn_M%X9+)Ku05{6JLy5h8+#SE{kIxT>ud9jq*<0pyv&}W9wQB}d+*I%_b;@>)TgVhS zfZEN7#do20-5lyw;Rr_Yn+&KSxTsm-0`ub-m*(n!A1I+A6(jQJ-e^Zf*U)CWWl#%c zGd@b@vhKm_vg*S{8^mlmaE!Tn;6L{movW&`bPQ{Z@^P1s!KT#Zxi-zGm(BCt*hsi| z5LYdxC4*$N+`pm$CAr7&0*v4`fm<~kB$S>poBL6#4=#-F^spsiwt~6oKqgmfce_6y z_b(6MuBM2^e5Nq2GMS@Ilq6hfJa*A*FKlqQ)J~@IN_(-Nd9ESv_R?+yoQA2XW*q*i zt{04A$E%8aUsUn{HUu_6?OsDLK)!wegjOtO-^RutL~F-fm4G!!B~D;FgH_-$knb3* z&vj{%z(!T^E~=y#yV$oCClt0HLx!K$$nZPYaJ3*AzEN!+#ph-w9Gb8hQ)4jFQ^rQa9aSN1V^-w>Wa;+cr{>V~Mq@u_r*;z*hlvSt0CxO7 z*hM-<*lISCH|$u{6eJw;jmCi4xLON43OJiyJA7e`Sr=-A5B+ufygkFeE~ZMR#V|I3 znX|>TM1!~(@O5>n8?7TnoN^!Zl9%5VD)i9lc4-34rp{MsDZ@FQuMZHw9KNo18c)e1 z6tSIb26Do5FiQ`I9h#w=EPm-TsFJ~)*aFxJVAlYqImq4p{Y9{SgSAd*^ODe%=hHa> zQ)NMu4i%`uX1%|XpgMsXXYTgyad*C~C8ldNlfoKqBx5$aRuk9MgitqzAlA-QsRzR9 z1#6nYdN|%6c9$oCrl}>qST2v#)>s_Pj6H4AzU^{sXZ!Oc6qP@TB$Px9bFi`wpc)mz0({| zlubn^;{34RiMe||egi-G>Yam1f&&w(p$f*D>#PdK3~*cB0PT>nb5@DUl6M?CF@Sno z@^Fws)WApC->zg3Dg%fubs{ZYd4>kZeHVLhz%>SK=-X^?w*9D+d%k(Ge|jwF-GFQH z)-GJ;7U;qTok7eK2GnB-ue?QES6WjK0p31j6}*IkR}7!-s+^IO-+kGGt5NEA`)j2| zjm%O!i~J)X>JG=gA&89%4SSxhH);s77ilp`_gO6FX`&I6sEL#k4(*{XzujG0t&Q1{ zDm$h*JjGRVsr3IZOtM%T)vf`q`(w+4+Q_kX1Tm7jiHnYap2+jl?(vawH@l}5>6u@$ zDHMp#gi=G8U5pm6J+2$a-DG!HhBsR~d(nt})Z|L<#oEk<3{CT{0-Kg5LmU{LW-X2&t?dG@kF(WQ(jQiXhH&<<6Tb1|%_#xl^7KAr%AZ=LGg)_x$B> zyzJDaS_;Ne0P8!8J9)7py}%dY;K@%e)`1POtr&=D^m8(ME!@epTZ7j4(z>#sBf$Da z*9xucvf5U<++rAw7)9MML`Ogoy*+<>ulq#5csoL3i-_wk=m@jJDoESd+lCJa`^kb@ zEX@}#7E$NUhYQDvEG$M}1iUa!J@NwJLWfcuT^y)(CfQLfNW)OC!$E$1ViiLxBxFbS z=kxpCpJHR<@l9-oT+_ig72m9Lfam9vZ|YjnipdMDTKg!}B+2Kc-_*xgR`rhlc zOa*I_h-fIrG}R)H*bCPt zcmQe5sDF!x4WWf^i2G2ZW5?$3C(HGV1x)<}x4C%)Y=7UJfBExYr0?nZcKKVV+B_Y4 z|IN2h+V|KL&ZnEf#)r0G0l351KFhep7U~o^;x5D;yYuPs9{h}DuvH%dj@kPgy$TZN zPV7+2f)|y*oQwo$$y1w_M+TAFuOqmMQmJ@FRt%!f;Ew%!5Goe_(Qm|NeO;1K@pABt z5~|a+^tj2GTo$;b>pJ|fYv_HV6@#eha{l>nW5}Amky{Q^wX1^Qit*Da=N}K(UV;nW zQ9UDoaIr;MKIGdK>!;fesQC%u;x@7U@lS_6b{>4fk;jMABScwOR;PzZ>){*we zW!5!)9}wWCY@7Xn(TRPmdheZ!RA0M$*bi%PS28zEqe|OP3m!z7*Ib}hb?|L8M8Ix~ zi-H=8>&P5A2EXYs*(6k3pAMg1APQIPU@PuY)tK5VX3ZpB9yS-kt?ZGAU2nLdls{6^ z>O$=Ah;Pe)Ss$*QL0bXsW)08db!%<9KB@Y3{d3+&@YQCrhzn+^{`G=EX79HXASe+o!j05Bv2L zznwCla7#o91wr}Ye_o`UblaS9LcYO@8@z0ZC1@K(;lqB=PycnV0)VLOL6Bhgi4jWPn;qUp$yNCbwm{0{S0op=-&yp5q=84HuU_q8KzD5mVxrYV8Z<(5brip`>WZ`Ljew8W%a~2=PMJ-{+{-3UIez z=df=<5VMZx1#$c8`gb8t6D=%r!d$CL-16;vj7t27*iwZX1jXtZ9PV4ost>#XW&#{j zZO!nq%Xyfb2>3FZy;+;{U2_qF7XWGa1A*8)R%H4n$?i6R0 zN8e4l{xkMB$cIHOcrk2M6-AK#ynAG&uz5aweK;Lg5Lf1cSPdn_=8ggDxc)xNE=moT zX>2Fr{zVtP8YU}G&5Lofa~{Ow?tJ%7S`9T!77A8Mvc%*#*HYf&dbM3#C;IPs@}X+~cI>g-k@N5X7cwmX87H-R}HC>Fz6$mK33A z+X>bjx4HLYLKF0H!Rk%bx=%ii&!dlC%$XN+X6Ll+?f!UwIA4;2P;-O#*pnlBGntq@ zaK?L<O%pINfqfaK)Ut_KitKQ?M?Q98E?FIV%y=O9P-LGGq&X8F817 z(m+!OU>;^38@X%pCs{9uLDQug+MfIimUTNoHw z6I(AWh^5n&k#TD5;qd(BV(huBjb#K&9^n#m8u9_Oo$ubqq_>g~TCsMTc#LRek!j#< zcYfLw{r0?}q-JneW+_UmLsqD92Am{@Xdyv)AkC+MF{KiW+yx_*9;;+zQ*M?|#vm5Y z&(Tv~Z$_G%E`t$L6yc^4Z`i+_-3l8}q*J|+4WFY0S7!)AiX91J`+Uo(M=|qdPHi)( zw7beoBdZ&$j`>PE#CrW??Ur?5F4Uy#@{<%hSj}}v#KauL*f4jIac^=IHIZ75@;V-6 zp4UD&Z|f#0T+7v2wO^WVU2LK*MGdHtdi^RnX)CK5Y;iqS>Z(40^Im7`4Oq&~HEVWa z5TmGPIKCHbd?(o4QA?q`w*t2F*|lKBB!<=`{u9CWI=S76;~5moQn7_WY++~$~Qp5CzYj^_1N377p)UV|kr z^HTJeRxDnKGia}2>J2T;w+(6*P&Qf-V9d1k&ft=B#jjt6 z>0Q$FJ#3;gHh+wNjsT0P3v-Q=kEhcYFwdVKch8p^80ua`fNR5$T$6|tEgfcu!J|We zeYiSDZUu^8ZJu#@(L1YWbqTXry3kGlQnTmNarba(0I;Ej2;?klwC*Ox(hdhG+%_t% z($11hfM)1x2h_xE>bsU@ItqCV(os!)w(CddD>qYjk#VDt#d1dm*t7c?an`>}x__FJ z6uxSNBfw(Q^pdC{n_X{?SPY#i8FmJ5w^JgV`OTq*Fu3ZVDiw7^^W~D8;DtEAca5bG z1{owp8t@J@-m-)XU57uM9*&#)-M7v8=c{K(wDZ72#74rtg&6@*7Ae>2BBPHVa;x0L z#zo(}z8}yDTt7aXS-Q{(3|CuCf?^`mc$LFql_9oHGu#sB$mV17^>jF1p2cY6CR}8p zFk?cPUE>8hvVik*W-XZ_xxy80stCwDWu$R0bN8mrTp3+jk4Q6o zbu!E0Y@caUM8YQ%G>!0N>CEOQu-j$l^5%TMeACluu3;k)A@?_tNvIa4xnl3_m};?N zQuK=J;=c)fOttxI2%aFWe!27loBnE9A5UPr@&rA*M5*&z(~mOImu?VDos3%0iW_ey z%_~A3Q|;1%uY&%VS~_@l`d1`P5ai3DwWjX@TkNn|p&;k7jb(;Ie4)8VLb_2z%J_cQ zWwmyjr@2z6V{3kkVhuG-^8o(g^!T)2CBU3(w9vyvj=L2WJ1s0`zT=qr=Gu9(5W5b4 zlBHP;VQ#Z6=*_+D-|uM9J`OFy;CUEMTP$tk=#c}xk_+_Zf(c_7#X`(>FzP|Madh%< zc{fYV@s)?MEnA?*wV)ZbMDNDp9UJV}`F`yDE)Irp!c^;qDEo%pZtY6tt3CVji{~bV zlc#tY8Ppr*3;=dOiND8eCj!KIPn6GkIg8oi3e&Esf(RE(?EWhrU5CF!U2qysb=~-Y zO{M*4>jH7?fzzb8Mp-Sx|G>BX6haUayEzy1I?jy7Uh5(m1NNNdjPUG?Raec;dAPE( zjY(W^VGN?mRSOkN)TL;oZKWMr&#%Yl{R`#`R~kB}Es(ruJ2N90`fNp`IZ&`58LH4& z7$bXc!i10nL`CI=mT8ZoaKl7hpB{ba!xjF1ReYd%9WmRimE}2tv87dC1O80BO&R=Q zl{PQ;-TBl~kwsyHiDu1cUl5L#%&?P0r%cZcS>@mpSO!f1L+w`yLRP(rvDj*7yJkIO z6ap9=XqdW0kFR%M4!ftUQWli)9HS(UP8LABH2?MJ9$We+fF}>2^4?H6F^G!NeG zp1xjuX}OWz(TXrfWQ;{uL<@Q$sDem#g_kv{s=4erw@HnU6mMSGU2qy;iuL}Tef8Ch zD$A_%+=AyKc$7GiI{cKLiXQ8A!)FC*hBs!F5hSQ$@9b<6;2H(C=)6nul!t#8oOgIy zF;~spsK3BZ({1($RcKqPwRA&3`n2EOOEK?V#!ZL;jIB=9Pi(EbF>tBMVi0h#W_ltPzaK+?x4VJ~%xPPO32ykPVCCtFfhisQGbFpqYAsaCgtvzv zwBGVpsM1YqAcUzU>fVY0@9p8sI&=42;?<@aZCAji`P3_6b#>1jVa>L!b_hF5)IAmN z$&E0fnAN6 zb~!KS0xhQLRbIG&P9csF2kQv2Yrebi?0zc$fi|FAd);Z~x{Vh;;yCR>jD!jxx$N$6+GESqp-zdL-da6)=@8n z;$niPsJk_(Y@XU-A+|Ijd<+M&1sr zcrGl@?%<s5s)lf3a3Y*2GUuSsNp2C*xf>uT96)lc(ELbg?U44sd3Vp66yR0d+qf3(3-e;6E z`0qJGyDETt5akTm;}>aUVYc@sqqkY}+R+)@m`V=i#*?6JDTA*@+ise{Y;uLx6IyHp zo9&(jv|X>3z;}YyRdt7z8)qAub(1}9>Y(TPaMiH&!jj0y{$Ct z|A7}ih6rqc*mh>!z3yai=*qlpYHa4HzNK^BV5t(T{MNx$hLM((#>gy0UqP`UCV7%p zO~1sID;GwWtQ)SK)OxNw#ag5w=Li(npcapZ+6fmA#}-l z59FXb?$2l>%igLh(YBt{E31yUkflR1;Ov`H8mNxo(-^NaR<@4WeTV9p05*CnxM&Yl z+!?jq+!h9l(|Vc}^M-r+qSaig1UU+1GXwbp*Gp)dp-wYQ=`5keC9K0|j21BUb?zex zgG+X;j-V->ODoq>+bCcu0mfI$O|x7~!=0cWIfhiHQ!t{@x`~G9K|%*LXA4>}dwMGb zj;hk%{)f}IyLYA+bu7b4+k`bhEUeBh5^>uUf^XOtaHpARXHX%6WUzWzVBiP%*yP@P z9;|fe%+_;og_7%Zs}?2gI;R&rQ$92ae@oV$=z#Zpx`N$xo@qv=;Utr^K;9CZQN*)6 z#A%&T{8?QADt1jfa0Af&;q$}G#ZJ`L->i1Zbmd}cpJZB~bj8Nm&`pRUFkaH@hzPIP zwJ>+F%&ILs5%1_p)$CM-q)hI3L5pF}w|67q0`D8OpmxWLFM2^3TC#5T9Weg^!l|#t z1pffk#aWKar~zB@DtliFB`KkqL4uP)*I>PEfn5`ETW}#hg}~H01!CSAE>A z*PB!GaMd9=50ABHOp%$CaRg!%^WK$3?@{qOWEz)EbpF5LKf4Tu08~2G~qk&wtNTAZ=09hE-#dO1~6yX029Md6j{bw@JMoPsxjr%L5i=r=xJ z5q?Z`5{1%SSQVObU-|~(67{eL37V3ff>LT0=p2*n1qt6BXmpzEsRoJUwn(EnH zrWBqpGc+4P^aO8WeA6iu?6J=+c6jgDN>_0 zR2gst2amQUKup41)0;Sdg!sNAfICp@-ZA^(cql1g#{teHEi_#r&DMkp7(P>zYQ@M2 zb4{Qx!R+8CiM|QA{0f2kF^vfSF5PH+huB=h1bhPDsK5jLy2RC|KdO z=}n&hM)LbkMQiDoR*id3V_Sn+lCZMOJ!H*XFuaL=JZQIaCb8$XF@-Ub>PlTX)2H3> zc)EC^$s1Q``L3MDS#C62%5$R^t9+(n1HoW6EJI27Z+biDbKf6!Pp9Mh!t^$5#J&pY zr{;wQ6o|!zz6x*}LH3(oGv15@010ALve$vaB^H=dL!XUzAAK-x%8Y=;+3F^ z)pc_Muo`Zy0O&)Lg<sgupOHmlQ7@(eoj|BpI%=cHt!y7Q5|lXYcuG=<3PhgPAq|sKH-cFG31eC zqn?GbEuqH9Itk9zlqyAumR0NWq=CN+$atVRji$#dv}+iPC_Dz zisY%0&G0uvBikHbx5H(2d7|Gu?(u0V`oenCYa*-<(Em}3>2#Z&D;W;idt>oGqnptO zha28T*QuocqoZsX|8Q@wv0&Mhn?bO})M-kr_s&hX3R?01bwzs7B_tIwYeqb{uX>>x z_upa0F*KoqFyHjLUOwP`+P|D052x4lENQD83T2uD$JmwP zde^WwB_Y1)V=ET#yx%qrZFEa1CZl`qPoJ-a2Ip1ITzK*!+;2;_!hF-~Dx#C(zFI=O zQoE|we3N|}%r)EWK;vaJ-Vy^kj7tCJQbp{XZ7;Y(G85HLzvw3m2~MxsS%$}W<*l1G z)j0ZbUPeeC`6(hTKcBI6KE8O@P#;+F){+71H%=rHDT8MIi#)b<#s@404`8OgHMKFV1A+^8o& zb~*JbhfpBLVD)|{f-E*MwGD)2HhFhA?mq9|*YT*_4UYPT?#zXTQh2UWC&mdbc%N$1 zeNlZvg43tA$N2l;ipMeZX9^+p65gOH#{*tpcm z9uw%m!4ww%Uifd&C8!ajf4@5(5A5GxuEx$_mKc>Cy2OdB1<-Jxp{shuuS2l^x=14;WjY zLTGRLzSVJ9ygqhj^D#+oDfVB%ex%izC0x3r9btkD0ft&B!jQ$_^{t~x1Rbx^>tB#x z3s|L=#qilOo3QZmZ0{5ovUr(YG;MdZFyQq4oJRg$^;XM;jeN;V+ASda?eG~tK+MWC zgQmiTgAU$@&B)x`BabdcnMM|0eqr#j(_5d#*+js;$;}EQPT#lACJFLs!;<_yF`jz! zNMBVH@`869vKwV3i5T0Y18o8MS1_QRLuHALl+>YlZzbtMIR1*_jY3o=(ePXHJ2+U%$j4nZZ^RF@Ihu? zCq0t(-~7tF2N8%7^Lpr!lP4@J>g+)IVikEWY69N^l^vGiK} z4W`VoT{ovdzC-H~1DI^48nj5_B*ua{g!^=D$O?94!hXTTIkxM*GyZGy`Vyl=7K=o4 z(hF&Q97XqG6adlF5bicCzKPj$urc%d0JnkQFdM?TEvoP2#Szmk+gP{dB4GG)dUYfL z&H}jg?0ytro{{#BWnu}jOTI4ikP7L#w%X40Ikq#cUuVAqu__XC4#N$rW@ZfwEtyiR zvITF9ZXDU890pns#yjU9J?ze3antwx?&)_Iz5X__Uv?a@B#U2%xUo_>OXFg3$#XyE zUOGt^xu`4Ngxd)29~!yp;mD{TUz+cMDLfFGfSS!=Fr!{^1+kbz)9Sc)&?=-ApMxW9 za-E4jWWndKp!4eFfWd~PZY&1J0$A+cgnHv0fM>0UG;&6TIIlSSHoD1{nPk;RMP1}h zte%L zFKS}&Q;v|7L##8kxf9bjVPQcJ?$hb@d~x)9vS!5kv3wc1@0BWNC>FW*TdO+T`#{cx zhZxn?1qWnZh^84y&Yf7k38@Js=05Cl*4hmlo|kon*mMI8Ck(k>{PLL~#0!|_(KL&wCijCO337^S3ABgdRa^u z>806{FpADL%n;d#&6`k!d>3M!mlIYK%G9nU=29FlS@O&9Tdxuv1X-+}YZdZPH+!E9 zt4VLw;I~rZ1C`r$3S$nj^Uch0He&8v8<@V+2Wmxl5C?JRGppe_0jBt)n^vDdLyYt4 zMMW4fc5aSY>Z4f<u_VQhR>eJ+Adg zE;^aRh8fv%xnSu$n3LGbMAzfsp!_+O39)o;wb1ZBz)>|^XuyvZR1^8TOuqagvlOut3@4FBGteAkI-oD0#n$;o zuc1ucJa4{k;G!Rqka#6lnp8;YwAQiY?Qs@&p+Ev|e9p>kAh@6>dfhvTaIM%nKNpmK zJ)KEQoIY)c(UmXz+M5Ph9>ztxA{;agpBKgk;3&9wVLXdmbKmmcWGe>G&-p;_P;g87 zLPDnCSDHL6_-8n_B+z&;0Nmfy>=DUU?456Ypbt`F&Ge&oYg2Ea+MF(sv8DhMuG}KV zDu&L_g?Hw6cdI3lmCjii8ZHA2%Q`p#ssWSeV3%C4qG9@Y9@sNa{!2qGi=4ug;uN8Wv6S=;_ce{dP}i4FS`*5Om-XRgSQ`>VsEx$<3j7C zp>|-_ruTwntoeq!P*sI&9xiCIoZE;Q9Jwym!~)rhg$u2NhHxME$3MLf?JNbMcdLdX z_b!ePYDi$lI9A43^NMu~ZLA#hBYVG6Fd8rlgYoMg4@3{SZ6|~fqZ;}p#A4bsvy@BR zGK(uXki35PbS>CILFm*o!=^DF$X{#|^08^EhhRE~UK3>?SSN-}uah0XKJ3mf8>0ON zB~i4)2A#}nJz>}SX;~qkr!4i}hT0XTRSYib{5&BS)23OlE+Kc=`~OnpUM+hUX>l%&9)8grPAr~g#=3+&{1+ovtBD8Xw#{ET zF@dpLMUL~5pB_(di zGwSKP(;wfbri&gajhx~OS=m6fphs+S>LcDe1hHyMWtyFsz-mrFub5S0|g_wI1UQ0jefRqNAW$~kwjR1NWcTReqZ?nBkhfM~rK$Ji=rM0?!7 zZ4URlhtuZqboxp<@1wva^(}im7JyqD`kKWJuNmx%-cd}z#Wu!PPg`<9_HXZ$X7KMo zlpFsUa|4T{K-l=J%Vf+Z3oliT*_JrUi#<%OZvL;iW^23kYwnz%=nfq6)2AWeVh)q} z{|9h8>AMHuCYVt^N{-8mHLM1V1o-Xlb$@=RfGE;*c2V8BEIYX6CT9@yNIH@>XF@qKxnC5~20R8y$UV+}w81uEzQrtWhPgQsU*2t7#M&CeK@>Md)FXYkcs5A7_%VOWSS3|zHwb`0RC-*9V; zRog}R1mN78F;QMLToik!r(CYS>Q*GG&U8t&bh5c%o*lp-hv=vn__DFftZCegV(avP z%g3RrR^C*^mz?1hu>cKWr%3z0YJMZ6V&wWuI{11eQFT}Fdn@bS78mT9oO10?q7b;G zx+}_ii(=;bRW*DiQk2zDsk31%-Mn7F7UF*VVVof;X5eDmn5D%cB}I)B+g7N<`1x?Z zUoYo1XtBvg=2)a7s02kAEX@*~CmWKhoJm}t?Sd-sG2S3}TRrx1ym-5@tMK+bS-8OW zmXP?n-v5wr>tz_rrNuX6k`~<4^TXh3dO8`R=Wfzj);EM3x{2z-3FKyvdS;3iYr0m? zBHZ2Mm)+yxda0!qmgQch!I7MXMSeO*#r@Hqu^H}gH@)(N327Fjtv*1cr?+np`}f~! z?LTrtJ1%0iHtBX;xz%?5Co=~NU~P55_10_7EY!Ly4N@>`72Fn=;WpfVX&c}Sk@aL8spfR@^++lx&h1K{KbO zuT*|51+a|wc18Q)y(S7gW>-(7+%ol`^6P`utyzRsETCz<;dfx2YHq_b61g7ei@qKWqTc{Wo;Ttb-7n+6eZe2rUL2!NF zFrVfmM$oj1`dx5qe#mjqyYht=Rb1|JuPdPit#xXIshI2}X3)0!_#KkaH|hY%s*5ZL z#gyUR^Vua*aJjw5c(S=%5RcX~&SC}aoM-%@%grNQuSl+}Dw=;~8QUXT^$V}e=neJ+ zR&1S}bBpgF)_6Ek$g#?-FekcxFxhOkEr3Sd5bTotX7J%`tHTV2Aoi73&e)rEKTRr_7+O1v##4=6yjtuAc1Uo|Qw5=L&0&r2qx(XfH#OYeS zK~LG?^z>u*@$vBTdFU7G8p*cw$wp=-kSiJ9U^Ca2;3hAloO?vK*+w~KfpFQ%={n$F zz|956m1Ih#l*c3v8|hkD3jI4uIq3tZiiA91j&2^Pru<-JYo}|a>~5Eb4w=QIHGuvG z>qwo42rHl#V2!hN|7K)!r)yvT4zP=xEu5UH}bMj~4z*WG-DKrHFWlLvT-r3WX z`}q@g$o971wOq8)L(BTO>!A&!swhGrORQjwn13*be35OP9InB@c0}U=hT}?!LoIgX zh)f_pH6Q>SO^7*4P4Uhn7`6$r!OerCv98+N4jT%SOEd{c=zH)Z8$sDJo6eD3m~_(1 z?znr}9#-9A7?KXv<12Fl(UA>oFX&ak?NAO@K+kXRb??W>Hc>*0aNx!YKiNDA5n;@B8ranJmN87td3*}R1J3YD#QXcb%UM5qaRAlKrAlK9Lf z4pXlktjeiUmT}dSFY=p+l}(&%UBY|CROXKR@eccskHhZa{qy;Ge|%Xn9PNt7#7dAp zUrTL5yS6LR7;wiref^Wp$ZwEoSCs5rqB}Mlf_a5RVab9d?M4!ak!p+`a^%qs-V~7s z2rmqUR1KO;x}s#?1cC*wg3JE-xcl{0;T`B=ts&*s5{PuyKHYY?z1=|LhpkJDOtqpy zeX$@A-?u-n1j^N|7PWCpdN>b4$2QA~eT+t~X{UQNK{Bt#6|Kf*Pp(5ur_56e-wxZS zAFrqLWp`CaFU!!dTZcPibLkv6vE}BrAtXT^<{V4FhX|B^lJot~xF0jQbdqrxVY3mG zjT95?+lk=o&SU5=4bXf%e*;NcMkZ!$tr<*i2h?N)D=(sUDd1AohzOIgDA`Xjp}xGH zzTJ4wx>6einCXuc>$|3poB%tetuw0A~yWbKF$TKeUZ8qPt;*6)Jd_Xhf2B=3p=T$VLwqxZZjRV_2*$MIm z)XTfZ2#Nz&^z0lD^>(Jo5^S%WTf!a%uZhaA*&G(#APoEa=ixA|sK3z$7Bk4An+b!b z_5w5$k|>MfP1YG+68h?lmW^Q14gzSg`3eUs{++%x$`fmxT>b-tr*UPr&?WT^CV0Z1 zvDy)4lKJOs#>zIZXawP#eL8HZ()6lGaC-t?v+3@{vvSn|;Z32GnA6hztjox(ENZOPGziN3 z_TwYDq^IM<_ucvY>*2h#Tlra0O{5&jknZBod{cIJB z-jMsQf8mm#;v@dy$jnGg2dEmv3+eui67zcm*t_7XanzByS=89l*5}vV_P%B^;XXm6 zofmg}qSt}q9X%uj#Qs5o8%0MiHJgU0#B6eYmCVhe#+I6%$8lg9@fz-4HO-NW3fj;0 zvT{l5X>CeEGH5ak%1B=7p4T@rV~disonkxZc;|M`C2ha}W?t&?6tUYtoaW7qTd6CP!kex?8dhr|AO+S3xAYZG=*7Ll)dPER>1a+w4L7hN`Y zb-}`fElT{^%rg56bY{)pL%K~IF{jA*@cHy(zkU1s*sVsLi#<195JfTN zndMgU7JpcZk3wEz%zq04x6qJT_O_190;6Rg1pdH)S4H7*aowr{VHeY?h(9;?%oDJ!p;qoS>- zhG2A=*Gy+IF4@w`b7zJaEn6*q19m3^z$u|%=_}}@grKjfWYC8_WiChtB!o>iSIfo( zgbnYOVH01>_J-Msx^1Xv9|Pdyrr(N_WM>fMl{uG{fDdCmb(}m-2CggMCIP<#aATyV z81}G07(=3P$f7G zkm?oXUqs7BRB|Xz_j`HU9@bObwY~^5Kgg6Pw8PrdgM?NJD}su6x|wz-UtMur#HH10$4QT+1?od5Wsyz)A)tneSP6SKJn6kX!|9#*Y0uR z#HWjV^^G2h-heIGf{V;&i8YGs|T{&0PYsU49{4Bm>7wnNfE1LMjp zyol66<)dstADKl)+u9m}L_eKQ@7Ef~8dz0j(1)pap=r;fvEzJ$bgf25!I@5A*#^3$ zPS&*N^d`Lw6|-{Z@T8RUGDGOV8dnN@06N&YGmJHyS+q5c%q62;OM=Oeyzh3;yX)hb z%fO$mI#cMm4Xz=Jon%ltN03wf{1##Gu551_nNCK#mX~@teHpb74_+vfF?XdS1lSqM zpP3o+?6u}c$E-5i)eb6Pe!mH-6pFn4M!q|<0je~(-!NF%={DCpY^1`-Qj(K;FmpON zn?2@{(Y}^si~??V|D`^&&}_^ajk^CKZ1E``OUmrg8!s|$Ss-+Db0vo?A1wZsm7IPm zh)HF%ukGRQJEdY^daC~pD|*DiIyF^Iq9;A#wb-#nlERiz5?MHxg1yYk@@qXSi}m(m zwdJsxxkA*25{Gd!j=6QHlSqd0QdMvt9$^V)wZLa&9vLmU3MRbYw&x?bN$ZeRFU`iL z&-3_AGfr_znZ*dC2fChe9sJ1rF*>xu@^@gdT(4H^MYWo{g$9Oeb2uJ)C2Ju5*D4e_ zdI-mL`sPLc2jQ~)D@NxT?hc3*%Tz*FdTsF*)8A_*@=Y?@8FZ50n6yV21<4J(+yq)B z(6#pP2He;Aj=P=`bINF07k04!9Nyx${rPF#CN8ptScjqq$dxnn^&purCXujqwl5kb z8ltGGyDa&HW|S$=eC=!$L--Qd+K~oIBvyUAsg;-tI+RH1qfxTS4g@y2(V-kKXrYTbPEE~~LX#^ColN*r`tam9!DT}BHthUODxTPx_%qgQ~9Ue}g zGOr<|?5`f7?uXJ*C}+3vYjb7}_SO$oXLV9Yqjf{|BAG@;%aZ#&SnEyT*u)q4w&}{< z#^^j!(#dd`Bni?8BHr{MwQQH`TSlgr(Xs+Ro#OI-hK>^Iw7vH*RAx;s6aImPwe%mZ zpRO^3v!U#sONUWvtoZFlCYRB&1V6#PF6xVSi7btD`&?k1h@HH1kHLl6f;h|zJEz2! z2+|@UMd)&^AfjcvD3^C8w0Nkmpalz4W@jQAM(l2AB7avis+jHFa3ymZZQPi>3C4qzu|q9B$8*a@7e>^XDG=vZrNFpwXgAD_uSPIajD z(tEd;2bExYipfRVAjf(zI6O38q0?ClCJ8M&Gm>Or6Da>6DG@e?u~ymH3;Edo{0e4V zDdI}ZBYUOI9p+hc4@GhbFrOaK14 z+CJfRUUG0FUN(qh%d7r;+kT+>`)ZiZ5{#&%4VzOh>QH{M7y* zfaN9gsz%%PywkNSIm3!*N0Yv{lE86f!Wy`sCE5$b!t#2*(z<4H9f{*fuZ4iyQt}{a!J>(s_htLq(=6Bgk46HY9Zkm8FQ_+DKY%x z;V+-Z{rlIN1UWh*1%nh~{Vu^|w!JSpy3y8nH}kgT#4uCVn4#8(zX@8{9LB6^grZ|} zlFbMuV4FX?_SJZCy;tD1CD9h zp27>!hyaXwU{#8CWdqBKtgxw6l^Rq@_iVNghy8JVc(WbC7oAYao3)m0O*@K@2KG8m zALdhNuT?d^IWh@OviiRv+l$^CB@AQafTly)19v`zg#)OPk(qyzB%3Xxt|Q@lq@S93adc>oT{K0DBXn=wj&$3A5uE-BKvG9;4YqM!ItiPmI`1Dnm#1h(D+pDryH5`#^~SBcdmGh(~Q%k?IPW=vJe-_@&1^VozfMf z9w@sM-HLK)H-2O$9HYb6P7sEgAxU!6Q@$9R&8RcI-9r@ZVlX_N0vK9EvZ{Xywx2rw z#_McE3#zd9bclY8W3?-XRkJn`J)tD-Y$r|a6vFV_&xhT=d^|qfvkR;!yXUp7)BsB9 z`V{JtL+iD}soLrOV-6dJQE+O+NgwH>@epXSRuwyY;(=Q z8I$K2Q!7OH*T3%0Z~M!~X?@j}ZZ~8wQzI$EWax1T`{ejxn{m`+d+Q=KKP&wV{Vu2RR={n57;hfo4-_ zYFAs`j=AN#k~FgeWpgatbzPJFDH#z*m@5c!XshqKGLw$6wcdt|@$2VteP2!|5GEbM znmUIIz844wJ1p01!MIPg`)*_=9b=o7)thVWwP_S%5kCKs8?>2|t#k8Ek8_QZIyIcK zB0wfVVcTfyv=pf7pZmjeK`n3-lj-n zrG5jj5=xKrewr@0J&y>ha?6E8fH!Huxo;;sA55)d?D$)F7mQFjIg&k&sVS<%>;X^F z4<#)P-~}<6-6Ofuapp3q;&HED z+9|!ta<>SAO{gX{lFc zqrKijWiQbY_u&iSS9brJi@+^37`%+I7yyIvAzsY8>^&Wim2J< zxmp(k>Ps$$-VT1*O*v(3c(h>7CA8ZqlW(d-7(md0+jDvZq&L{^`P#Sm3Uu8{Hj%5u zkJ4y*l)WsfA1hj&2oqIt_C831umSWf4FZqy1(=F&G$k3TDsA8F6t%IADT)!fJrVs6sh$2lov(1zQEz{|A+Od*^m-Em7HmQqw zemh%5#a1!a7W}^3Z3Hb;i{o}TP*odu*%gb0-rRW+!%w1+3LmG^SBdnEfdnKvnaozKO2)SILLf$ zzTj~b3`^OBFz1a~G~=U4Oa!Y1@Virt+>{D#vt3CsdL=fRksy2UghYO>?{F{?j)}Du z&kdcI%jxsHUu_v$CTG&O?+e*xRoBVQ#B`RSj<-gqm300PEnC65IseO@oT3#ghgck_ z_%6XQOgfCUt1-gfkD`;)4a{+4#?~0mRhzvCW_3VrA#(qDBLOZ-gkV+;K8dTKXwOA) z*p;yC$1;$u;SaMNVQw2!ciSV}YjM?*&z8&Jjxux*b;G{C9&dE=FsojJgflsHwfSH& z8&fyhBhIJow<{Z#7phHUyYh5~!{q1694^%6Lw%>w7JD2sRyK9bM*FAjwFTCT6q5AY zsC_1961&_+3U<^?m(A0lR@ri;Iea0EwXUZD*3-}3@e0|utClr7w%lb%|nWe@txdT(Z(ss$h3kPlCE1CU~N&a_GKA#o9+TRbqEBv-f+eGSZP zHfC%!nNr>4TC#c3VWl_HVV)XdI~vXUxS;h9$*7cb80jBm%Qt?tfeohitIER&iBZgn za!D!%l9P7nA&E{67y2BHm$M{Y|DL&Q;CBC*Gl-Tpt>h84fV)`DL*9|69H$?fa* zpQOLd@ex`B4afUN1QtoAOo>f8hB*Y`e?z7wIjD~b`s|##9CC%4as%Fg($xlw1l=?A zueSHLZeQ8*_ODrR;5{oHQ|KtPGI_Rg`+<+pnsT`F_G{-!ZV#!Gk-a&X;C0D|glf~+ zl5isdj|{v!>hN{oxgWAbo&!d=vB4){uygW2(Ts)`qXUXP6Jtvbtpt2z;H`GOuLw<; zs3jLN(`%a@LZfXqUEQ2@>T;PvV8AD67RUekxxHQ#FK!!D40wZcuF2&Em>?+5_(xgT zgz@2Y1V4&V-YIK68nNvnN07{mV;7?u(06dn6RiC!93jX^=h?tdaflcLV3h3tf2Jmhiik0RH4L^6w{E@J0_gz1UCz>Q zeizaTuxq-x!5Qw=1-Y!5qL(OCNOrTC?j`~JgB~4Zbxo1L5op3dUR|9RV!A!A+D(!?&2wA@YAop6GD{i)wbXa!<)EQQIC(i7gNDG#OUc%n`EG1Iq%+Tf zehqXUg7*TnrSY?V?jL%d#kFS8K<+*{BN0I}#f?>UeG?f8{OR(#{k}W*R;(=&3_@!JN{E5ZhE}B%(n4RI@TSqN zNHQL(`J9j>##q^4-}Q``>&D7a3~!PTiG{86c7NVq-`@fg$F-18IUUMBX-#2eZy|$L zO44oPIbhxPJfW7A9~0hKIfijJWQ96!Va+pU#nTud>-aF+jmN;RAyS{q|y0Jz#&X8;758uw)x5Mt^;c52<9OAtw0TMc6 zb@`sVK)7oNw{Ib#R!Cyy#r6AajerhO>}JE`q_Eh!%HlKajg_M=h#aiZxBbh*<#o4P zzyCT1TX=(HJy8$ZUa8R}omcHw^3W3^Bxp^qFdvSUB;C{Xf7@-ZMUbYX78JP<=h^yz zH*0%Km)sDAKB0xRQ1DeZMLJB7V@+*E;Q)uzC z9S8Er+p%!^_bFEkIXdY=Xb>(NOntYJg7k7Ql2z}{Om?jC)*;*z2?Vb;!9>+%w2wv=+1 z;0sq=k3SQUyP{RBI1*~Rlg}<`vx@FI{ao@^r8nC*G)#$OT`kveh>zEV{pulFiiDd~ zhkOXDSx>h$iAxS+Ih6*daM8~doGjPOhhru0|MU*O@4tWSZW0w$iAuR2?{iwR)e#ai z0%Kr>R|hj1q4~PXggJ4noa4Cj(rd2}DQxKs=%PReiRILB+r@=ovuIX@L)a)PnK?tj zoH*9Cl*#vG!LP!F$0=Q^F!x1KE)$<6j0Bn?IUZt`JWq;3VW3)g0$@iid*Kl*n?_fw z5|EH@+vk@%nT}=dAsh0LlY+LJU(?B<*{*>-XI@ z?m=y+M>s{zY9-eV83O94$7}^ z2StE3+xkyru~_MFPTJ3wLz!qhW!g4(IWQfL^|itVv>(4-?&H;$aG9z;k8y-vZ9N46 zRo5SAlwpkX_mTq{roypubY>Eb%A@e=t_1 zNn3ZYnkeKs5>}4`+|y+vR>Zz&ZchW$=SUBvcQD#)nnYN$9NPJU~g3%^-{nb*dS z^=m_i^ssxroUY4ouN7bcx0g9cdbo-c0dDe*s$30I+PI;Dt9<(8+iv@}-TC9{y36Fx zOOY`7H$kR^jSiGxN>(NL0gpqpvk;rSO$KN?McXY4u~mW#1W_ACUD*!>_9LsbxBU%^ zB-OHTz?;={zGo!wsHKH|&ut zt4L8~l?bjepfhm9ysg`SjkxT02DHIOIjx3h9ivqXwBuLMN?M8nEv|WQGX}XNv2sBx zON5`3Pg$)oe~pvKe}Qm+jM!YpZjci-&S|cA#2JTrUE6tG(F!PA5nza*hm1z()pKtG+vxh%R^^ z26Q@HrTY|o1Gu3vi7IT4nLB55!a6AhBOCU!@WArODxhVC8>j1cX(xB?CfKUGPm53| z-@$EgRbx+=q<>|#!8&11v1G~EnJ_EHT*)@v!shaHdU@I7e9FV=-><`vjQ&QbPkm9|b+bRhz8$?+_Gzu$-df5cE4!VxD{l-o+b~I>baEcou*wL9JrsM2- zYTV-KjT`0q^&D&i^^Is5N91f2B@bZw2dM&m-alX2b_kF|h1l^#M`WEbg4%;iRpBuq z5Vg-C@9<0!bI~8JhxBt=RCTjM%1k%TRPM8aT1*kSu3z%9cZf+iLsr$wkZ5%JK|C;N zFgUV|5Ngi_P(sX>(bT@uZy*-ilu21AAIVKJ1_D088Ja?l4A_)xNExt}!~O`E4WSu- z3$QNqn;;_KI1oyNVd4@Bk6NkOq?`NzlNYBKpkd>l$PyrEwtTj-eAukK@S|5+g~oDU zR#Lv$q&y{$U_1<5lH>81!bA;aS&?tVb_AO~m@rS__MpNn&7_yv1jYbb!Sk^zfsZu;_QN6Gng`muYaE`v5!RjCWW$|F09UfwWdWzkIMrtmN+ zhmw;Aa?dFel>2NDEt@?#>6rdk?&}ci>b@QJAAjE+7r+ny_%HwK!`nap%Rm12fBxrx z{+EBlp<*f35PLfgw6cFR-?feQ(RkUy>|jG`idlWRt{A$+Qv~VDa0QGlp^pvp*bSWN zH~V-^g|`?ps^B(TYd~z}x;kFk8KeRqGF&!+a=H=P^pP_Z;nHO3Ut!(e?uN^DWlVsk zP+D-0;31-I&g>-5!iG>zKqPk~j46ICxWS!bUYlg~8sKF|{u*A}SdmJl3NHZTZMV9v zAqOLA(k8$r&aMdwhhxCD0r=PU_+yuD`15!--l2f2ufR1@Y*EqK#{vBRVgqA>>ltor zz`bmb&%bWCUsd8oCTd*@#00q2A^|BFS5Xb8gGJaGTF&n%=CScZOPX&3tkaiN02W>C z6^eFoL7sx1$$Wbm_X@* z(E0}2{qcFfy+v>VZtfFXn8Bi>u20r@vBfRM3GYG!k>P}M*WLMW-D=mj zoZSq<%=NW(FT=-jn{yUyUG9BG%xnc+zm@1}EyrblXAtpahsLqi@;qn*oQa%Vlw1UKno0^9egkrQ# ziaA1NqZnF3aXIXtZ@J>7^T8S;cM#0JUDNl_k9l5b0!&w|hN4{_@vjlw=tA|7&-Y`Dwf)Fh#gfl{%b`FApE5x2x{aLMG(1;~`0g z+bqHj*dg3Mt8e$zp+jGtdMzG|=vze{Rpu*OPC0se|Y0dmWE-0zg-|ZCrbgOUIshXoAePOpqbKzFR$n zT7c&ZPCuLMgX}m%tL#RZDx`G4V9H<+(OO2UzlhdUb>HmtIO#;t<-+c%WG}`f!m~VN zKOXc}*;@o5w-Gm<0}rO12{LhCw{3EWug4#C&R**|_rhx?0k;D|9>x@o#<_quM8xgK zI#UFNaCz4x$boT-_(P{3(x}>IfBvxl_(;wsc2wRY){C56Ui#Y2$w4_y3x!6tGuOgS zRxe2E3&3vR?S8zT-rjFh%%yLk(N;_6&CTIcE7b)#g2Ag=F>5U?35m(bkbUF2|FSzC zuZzb5FP5Onr>Na(1xgjgCMv2LF|Em(gZXHJDRKbWwcex%@3_0JnOnKUaz&tU-r5%& zybUTAfFWp=hzT%TKG_{G0sgr?{J0@$v3P(=xNdfSfGdF0S8uAAG=+ju2GrTxWHy>0 z_ote>I+W(ikT$1vV6_ab8vg4YeBvntO}_bKNa)M1i61|#=AZ2pY8`N zHJk+O`x-83V7G8KeRAn$<3|_F#!pUMPJo4my90Z-!9DQmS#~{}eOrKDsmeEkoL1@X zBYL)la&&P*|JTp$`Qz_5K`sp8Vkd;~?ZcQt3_Z7D#F4IBmJC z$KVU>SwxsXCiu7x9vUh4+qcUt;A@pPl>;MDPqGc~=)8s#ZE%pP_Uf2DCdgGz6ME75 ze!Gfp`AFBC&_YF%!qY)Uv;>zeqFmvGPAHC-A8tqw*g7BQ==Yp1n*IFF^@dP(F`yF~ zAf%lXbhhBk6%%AqdBTfj%WvoH@#*zpclg>(WBy3m?;IBP-BBeI_>}q#Zdq|)-k1+2m1K^;sg-&3vK1=Z7iN!vzpDfdCj8qL1HtQnD+y6^ z@XdX4Q>)HkVN-<=keGeaLHy#0ubiWyUpYU=WHBMsLF^rXp%gbh<}cN5h<2Iw^+Xov zA$NUh6Otkrh08G@U{KYyt{$uw9cUyLY!PD}27gmTgF^yc)~twLI{Doq$juLwS!9A-jWc5x^zC=RMR$bbu95H#8E~g$ z<;J>F42v_1=D(a;V#b&_6#XXoAKj#v`Ek?B>{kUjCNOJ3jKLWLRme8lNZAIK^BznY z6N_#|28<5W+-@>?BzJ%}MoyH{FdJK(6nP|bF4VPl8NDt_6MxQ=jxwo`Jrd@SiAD1w zcW%5rz3i^*?}dC|Uk|w?bzZE~*aO)DQ#?l0mr*3kNR!Wzoa3Cop+ZHJ_Sd z(wL}iL!RHZHzaCskVB5lh(QCaT#x{xL2tM5BuBIkaY2A(Dmueuf|#gX1FlfcHw6Q= zD}p>Ax(z%4E0Y+6&HX%PlwJ}8FD^gV=9w2J>XxEwsEm7_U`~zEmGi_g=Jk>|c3MsB zV3$!r9ODu>*~3_7dcUsmpnxcIP9~tnmYnILp)uJn;A@&fS?IY1_-;|61^7DDC41(L ziDh@4!Ys?pZ6~gA-#l=9OMao#rJI}*kvq#aoEc-HwJpFX;%~psx47D??J_9fqH(*^ zs_P}cF1y+$h_*BJE_(xO|y#YxgUzGNIN4+# zR3?DCsc5wHr(@|a&3HThG{gjp3>oZZGnKMt7MUnhP7_{{-`gH8yY1C>gavjaXwj{^ z_U)F}ggwZ~FnWsKnMJyc`DCI@KTXmB$@W{`-%9Wj?QNGG8ku0|PpB;;Gs;Anbeb;v z`}U^lK&dYZSC1Po!PSFyk5MJxNfM=oEE~Q+MzSHJ-5l65l}wZkjnnnJAgZejl&88*e$pnDLG>1C`Y=)5t{GemUW# zzK+A`+fCCGt-jHTbvuv^bgOb~205_AF~BJEz66|Y;G#_s`$oTr82ZAdb_tpb3LLex zthR0UYbSA84D2$4OpK<1c(&TVfnD1Q`)W%YVqdns`eF);Zkvr@v&r!fz>emS38JfE z*p5Bau5_F!T$H^a**RqZeH6V*1_si(<0GVomJ&*}}s}cj?WxJ!Ap5~&d zkm+P%u}L~4#{fB?KcAkqH{o3_dm^SlFXG!QAkA%02Ijl#X{Pi>y{tw7%D89n$$1~1(UN)Oer%CLURW&IDq2mgvBQ# zMJDa32cjvTvT;h&NkMEg#_K>{3?dom&qLg7Ff`S-PzD4%u`lf4||r7x5NM<4pwtS%dbS7Haz#qYPiU5fX9> z<>FDr>@uUAQJxUfB$mAE>(v*x5bttiDES;7DGO`_VO&xpJt{$PhVmhNHRE8g2MP%8&X|YCQJob+rSumS zjAjMXJV`s0?0{qmnB$t1+!ojmL{f@et3jJOoudb~oHF3ifkftYcYd4r1bT#Kdeddt z4OCKB#`~OL=uqtX5XY)XM8VQev15azg{`F=IGbxTvv6Pj?H~X4&jlr4RV;wb12rEJ zX3C&kkPPsna(fiuZhNZPKGmKE#P|86w2Z=qn_4EGe$9XsB7dm*Mb+7XJ zrjozPf4~L9_rF25Pav5|#@x+vYjC7*O!0wSl8La5N*4YGs!Yv{G+?}DF`1T@owtH8 zrFoJCC!61tLXw13iM&x_oTc<)p!eIH&tU zmT3(sG>D;^Y={NN__s*US*BGFG7v@w(4zzR_x+V+S)eqQOF?|TUCsSN zBlzC1tf#XVBsrpf(F3eivOPj!cb6t;rl=WZ%Y}tKu`&H+paCa0r7i09m4krH?8a0R zi<*wM9^X(eun*A={x+2AA zRDPG8B?Jks*MlkDKv2}qn;I^gNl6%nnW+)X{**{-i->{nOWrPYY!xY0Skssw zaEl9;gAOMDf$kjqmAG1^lT5JI3ERh}IyzT{=9*||5^70Ms|fY+;r;Xzx^2!6fBLq6 z##xQS_PFaRxnaR6KHWF1jWp|vfCq?BO5h>+*P~c5q%-i5fydT$p9SSz*TaaFC`)zx zxq*2?Y=-P?De=f($Ec_o5=$CoNDF=nL9IJ};bj+;VSPm*ZAU?UD8vFb(UDlR%3S&p z!tH7>3K+O?mG$&KGG26kS4FoPA4)a8&2%w{A0jIOh5 zhl5GKC2gU~i-+|4s7y(Ht~J}jV%H__Zv8l)ru8s=zqwE#i)~U#cH!&VKw`YJqQYwL zXI6icAEALMkxJ)jHioXXX|~*V-o$IvvX7mb$8v7QY%qZDH?qUJ#V96sd`1iF&*yE* zbhm8&WErM><%ycV@FA#9Gkw%%aVbP5hkdkg4Z;=8U`IB zXJK(ran)cGtoiMD;)eS9Fr*{ZU$RW?afG8|ETzzXMl@d(*i^(yB#r@{tYxg&8N>E6HrM~{E>EwYAG=F(N-nRv^Y(ms_;$WAjgX(L${L3A z9-wKU4?lvBG>Xn}i`o!amS^w7WDjsKpyT*3IW#bAAB!p};KtsY(}}6ZJ6K(*y5&-K z?&!pFS}tpVM1&+G^ED57a4Lo5Wsv~XP*VQomT+y@Hp&5$i5vafZo8T-s5#s*5}@u= zIc^D@XD#;$c$bH|>vzC0*lL1U8#akDu`zH<$gkbcdkhQ&094jz{!E;E%m!vKFkLjx zzd~*fN>NO?T^5J4wN#3Tl+2-$l|5%jO={5P$&mA=aezdG_Ns0s) z@*ki^FthFh&Uz)yJxW9Fa&iO8cJp5;m-AE+%ao(;kmIVz_r|$IB zl}wu-jK>9lo#cUeOt%`9a6Pkk2U(fvL(&jrAeAJKf@U|&A?@B7{1c^&ea^GDf#vV_T}ZaRM! z>WTH5ZIGknq)uN6T{Ia&B||QBp)k+1pIc^EmSc6pb7CX3BNyPBp}B#2|F|TegLT7| z4k1n(qa>$|%|=FTERoT&yshi7edSy(N}#z z*vRy@KistBCjDjghGdTmkHDiIGGslVlI~Sx-D3n+uDV+#D(h#*$n||v%LcM&Q|4sk zx6i}jYPPA|;UrmY#;mxtW5d|0=)+|5ih+sH>FddbPs@g}<}g)y>S($zC~)PL zp@P7Yr&)nF93>oru5{hA-GSYC7B`s;b8d`PND69Xn-=0{Ga0Im1labu!2s;xefzZk zzJGc+|Htzx@=E(9rDUdpKH8e&CSZmEbHM3-9|yT&%3@6mB&YPFbe@%$E$)b%jiW3% zqnLoLDHf~!>D&4A0#4Phh)+`nY>OC1Lj{oUc}8dQnsW{ z{d?J{UsZz3+=$dFpBvuz)nqtL4>ZLdRh$L&Pao#p%Gp_UY#C+bGKA5gYkAqetQR^L zD~Y9h9S2T5#e{R%;1b4mtd%_O==`G9IvGx}cbyQEP1HqTz}E}4!%PWsO@l1;HrK?- zZDOm~(cB5L^~RS`7fjIESdn9EBDpbosI20Edn5ZmL*0)u*IW#Bonk9jpUD#ZA!Ae> zapB5>Ny77cBQhJKi%vJ*NG8h{+vCUU>GJc+rHvQH(^6m1FTBg+f%-54#G1Kd-MSyYd*0%V`VWii3c z^jP9(W`7f4HCDZkP>@M3e>H)mJ)1>2#e)Kly%eOoLG3;KDa8uAOSf83S#;Tbnj1h2 zdDoy$I>|C9#+6Cy1ltF>nIS7~&!%w{u%Vu-km76ma=g}QWy>Ydd7&$razn3iR0DgZ z1Fqo^oV^Z-y|i4=f`uMipNw(FF~;D5epgSYoMs;4LCtU zDVV%yJ1ORJz!~^=tTJ=9n$VJ61fiY9n7aorucy=Z>%mrWz4*;QxPK-@8(adQ{ zCPqkJRICDWBCkpAm55`Z#}+d{@7wdoetUTM+kX4}`Sj7o3@yL~WFwkXMviBX8z^bg z9rv1!6C6P!%OSa>&mh!f35~851)zTWe7@f6v1q>IA`lhDRqmY#oswKq4;Fe;rq9T1 zLz!H3A|TkvU|j<&>|(qN>%0d%cNMhpoQTN(a z4OY4q3#Sbl4h*A(?(-B%9`-)unn+ zWQJDRQ;yj}d-MvEm`y5wDBU1vG?4xhi2@tGdNbfM-+7xdqikHR#PZZtiI=1kK4AXxAR-}i^pN8Zdr!+5u8T``2f{U!9!x>-b{w4n4GGGc`h-TZTinC+UR zaXrEL?%aCbpg|k7D%oeVg zV{=TdnxOA@7wXCVld>PL>E73R1XZPtC)Q>XlE93%)(x=dL?pE`CuNi@0d(h3ORhU) zA{)Abj~8lEU<%()Cm7VcT-6!1tz*+n#=`}+%uQnl z?d^XyP@=3rGgJ-zh_HoV!Q2%JqGX$p3Q17yL2#{^4!G&0!8 zyH3Lh0#e|`MiM>a&F&A8&KNtiT3c_!+oEazeo2ug@pXK4rhom1p#Tkbe%lT+16#-O#Cv&Y8lu;8~`Hn zy#JRQnv4*!6q6_hbkWY)jq}{w*9PojI!!IpF!L|lSrKqxz%@%FctN{IVmR5JfBpN* zRoV81T!?YOEEkbGM3V12%C@uI3>v~H$3zh_Y#*rh)obFENsvYE2j^ZP@pn1h*=GyE zogC-?U^2i`8)#-Z{ zFu@&{w6r?C)rxcoqH==k{~)+?UN9@YBoa7pjt{U+V&Z~RWd;+`N=go!(X#E+;WyCQ zrh?DC}u~vhgcY*>{l+NM~3yEl<}PnRK8t8Si40UR=hS zLS-)}s}L(&IaAMR&_Kzx94O#Vz6cxQ+*qs82B+cbMX7C0S`VY8t#l@bF^o6Ym*ar<+B zzonBQ60iD5p71&+mUE(!deUS;PN%BC~Jmypzr2r{1okJ&!sUmR0Oz;V+mlvJ|L9t1*HJ`5qf9DN|qb?uk-S%w- z>(IoSuXP^0?dkjaZth)&Hp?yP#5@5Nf%0Q-bH#oo7<%Z(WxQ9>kj;KpIK;;d7M zX@!|3q+ZJ|PDIKE%~nA@&URAMEn9cs89+RfmXpXC>YdXVF-^SP`peCk#cSv z1SRf-+6~TD9s`rUSX(pp0_w}xQA^FcK;2o(Fb=`kqPm|^kF(Z`88sU@TT|d7>YGHk z)(rBseL|0B4)U9d0dhUg&E%Bqv+JN`y$+$WVUzWkX$!+&PUq(V{0oh zNUYAyD7=7SG;VJC$j&Yky;#}Ecn8*n6o}_WlkEa*Yds=x^$vnA(R0!dnuqyUHWAG4 zV&!Bzf(4EHboxAh%o~GmGik-Z5COK6(2mLD9kpyw%C(pnF2N4-CdRYZZ4P|9mU9-AsZyBj4Sh%*v2uqszP9x=Ecgju>S*)cY;mG1=jf! zK%QKodA=o^WhQp9#exnH5-=ah6P`S@b*C~^FHi-cEew%nB1;NVqRb<+gGMhcdFpz0 z8FDox+5lnj8Y2X89#%%m<>Hs&JJ z9Rzrn-EsG{U8SL1$^$Z-arS|VN6JmIobK@v+Hxkq5l3v2(i5waXl6E!F6eT^#xSvq z4K+6(#&V~pA2+ZGN`*X^Z=K42pkp~sdajk8NAS^S^^ARUuComfJY@exDha0JW1SvfFYp#3G;c+=l%E9x;|tw+E&j}2ZHkh z74Y52w%LMW%V~_KK;c9Gqg91Zq0P?$LNx?G8zB(}yAeA-HVwim5?{ ziyfn{r(5PD>NpuDdz>)TF~>)Uxy_pIqE~X2LN4T6t!1AIU}lmQD+~Ea0fA0)w`6;u zK(u6D$QO*gxsa=Z_1|k8lg>uz1fFky?8^9PvI2Bq=#^s#??I~|{| zSM~Mc+NG&B8}CTXbqWVqH7E$pFg-CK;|>4Sh?otZ?Bt&)tUfR26pQR&{TI|{9{#j@ zdOh{#m=^M#*CtuXz7;nPdYNF>V@&!k={=G9MQ*5I2V2$;lDw!GTs2QuvilNG^D-BWT%tM+w3}=}d>^^4Mb+aZq;@^&?^h20{)|;LCv71dg!*c>CuAvI5_U zcY2Sv<5f1!i8jS}wV7urvW8{~7b|-a0B;s%j!_TK51Bgxr21x6f^Ub>>}kE(_WONeH-DH}xQYjLtq0eEo?Nb%F>+Z&1QS6ooqv0>&R zmA3nt42G*VRY1vHi{y9K7R=J(-EM?3U9jwU=> zFZiH!wtT@?bY@JHl zd<4%BWTZLp2;K52_?+G(4Ln92)llgR=5BGa?oX?R)aH42t?9T*e`jt!IhEo#eVG1d zk`CCNCZg6%GoOCRGGnfh4e9Y|{xGX$=5BFX#DGX!3##I2@)45}7o$2jfp;}pt_ z_e?3e&*o~wgcFoO9r4AaO)7do!>lY$&V_vuXWjq9D1nA0BtK1b@eeMebg|+$Pbi(W z)$Vn}+$&C&@|VM{kN@#wd)OU6;E_FE;qEECAhAzHv4Jy5jHedT7+@f2zGX;+!>lV* zZl*J_H0WZOs_W=8EsHbN)T1BJa{qczKYKbE9@4^#%O}WDHY{YfpeoSd4N0ds(c>{- z?{PX3v`F)36lg;UeYV@LA|Yrth6QC= z0*x-|8ctW4Y>^{i(i<-Jc38xXHe%}sN3cm7&&A%HFk(U$*PLFGGa!8-Xm_pT`^*X% zNm*J=D=@cYiWNJEG=w(^&PXYI9KLoGdcVF=kqf-#MgT8#!6Q0ly@OEliXkGdc8|yvVXq5+o-%%B7j1; zZ0uZ}HUx(l7pz~s*&^$LG@VWo;z9`$g8m5n>mw9t#HHn(DKMB&YXhIq)P3yNqH8$(aQ9E_2EJD+|YuiR$671sV8j9|x=}WBGAoZbu@CQ*9Efj{;O`c+d8mf^@Zu~1Koq5-f7GLB z*B(Y3TZ1JdVwoV~O`bulSXm9zsW_S1p76eJ&yYabt%`uF^+0*IZWAq8dR4P^khNZN6;hCzrjZX2LAca-T%#5pp~ z(7-7-Ki!Ixqn$Vd#V@}NR3-nbO6v?T&sOicFwBnPi@~oy>Ow&-BGFcLZ*(XtjBul{ zszZF(wYAKZ;tN{JK=Z@T=iSe1=nFL~+iL85&sZ^U1s3U^!P1o#^Wo6}H{SHf)Cznu zYF@d< zT^;UOKnKG1v>Xh!F1~<(x^I4wEATDDZ@p9D8QM^< z^tyKnhP30IBFVbwq|V-HG$KIEhLlNJylxrN9g?i$-3mUAd#~2(`E^42sCl(OMGl;@ zg>)y+FG<84>1NN5xmmn!DV57#KezW(A&PfMgd33p)s7I1gDCW{?+=@yW=ETlvZXAh z$=rZ+oSVO#UXRz3h&55K%-l~6?3!PiZ7ef(DOz>08q@<_I0!d&=v#Z{Y4OFB8RV6L z65wjmXr%)!P@x?M+bGy-H=$YM#CJd`BO7!ONsxTuY#8O_)3jk+)Fy9{42TDaZ<9*b zsM10w)&jy<(3FVuVdv(|e+Io+J3w^Pw_UHfM6oNi!q!%s+U`S1*<9kPQPySUnd4S`~sT zm8`-f?I;Vv!kk&)<3lR@KYnal$GdWdteH9s*X zUh#6;>B~qZ@q?4GY@fKx8(363-9F#6*0YAlK{s=*cw6hNuOJnDSKiO+z(E!x09UaV zwSN=|57aP476Tf^l20Kinh+>kGuNW{JU)JZe0bX)UU#48ueo5sOA+W;Uz>}KMMX5> zwJIqok>=`}GiGA(vQ$uKmea~0`8ItgAbC+9)dQQ{26@|e>EGdF-!2i0;OioaFj85nW4Nulr z#K%DFG>lQ$yp?0HC3G#l2aeps^Y+(0B7;ZZ&4Ok=1B_DistyAzyvdJ7rr1xyrqg(y#;DPC4{9;eR?zE~=ba{GXaQb zo1cZJ%aNS!-2i#S^cmfIx}}+)%IAA$QyPkL@rXhN9T3NR#ae1Za#np;s)sm+s>4=2 z#spK0l4qQ3EkjFZ$otKMptm^J_2&8cRy#7HjIydOwL$8lDhgUAZ}D<|Zo1XO_G($U z_N1ojr4VMDELq2sf@_I|X9Cw6ypqjDE5gjSGRUc6Zi{(3Y@dE$VdD-%DI60SAY?AB zMkgo?(+#%ju}o*scBpzREz`JoSuMudDeO19(`^;Tgoa9JY_(%YEcBa+Vg+UdlFc0F z3dWFOvek>rUOu~d+C8rZv9;`G`f1wQm{nW=q%enJl*iT2(}jk-`6gY*BKtDPNgdY3 zZ1G}fAcgIW59iP01Ma5kf-NkEpJRc1t4A15%)RWr1|uECN7Tcmf!jyCwVrcrnad?T z%!W*eRPA({UOZlTOL!6`Eld8NUEVKfR<*I>Kh>aJ>>SqE{z;hR#g8pj^7{F*Rt9&K zbQ=r5|#rWjxv)EKUqXIR!=_frnR6~oR5mCfEbHlTjr zp5Lx~`z2>9WM(%baf@;<<&fvjMx!2Wup(!hmqd81u~kqVEM}R14xy6G3xjGv6;Dpu zkG2QY@H{7_tY=wpuIqOu|FTYuYe?aX*|cn_nbjr8IU^k?3O{V0pYJgqBIgl(W#w9y z8qCL77oQZ2@rXUTF$47s)HH$q*l}0P>HEVg^noVp+&9j?l;A1zG0fKs0Yo#U1S%~^ zZeOy^W)Ll*cE!J7&X=I8YD6}L>lRzB#Na$3JjGINn+?PkzAo^@AU~u_j||i_fc|~| z^7rk_6)(tll$sk#sLef+05vZ61VnmO`B%tL$>IfH-Dq(m-1cQ2>RUUvHYIP5;I zt@)K!&*n|PBqE-4oOUqXjLnH5`OE1A%}qR1ErD5=a+e75>eO8{mdRd%wVx+z!}Vx1miM8%w9%nqf8g{(%gl`&VSgk97bv0}uPH>Z>9y?HvF&)fAr z+j@XNa4ew_`P^7+%I|M7H0eL9eHZ#M+7uyG(FpUq1RuVJbzz+4lVh~JDcPt*vOp#;$o}7HH9$dyaEr?WeX8?jB+>eZ=DAfu(O{lMKPVAx4U#2=^aB&S z1nJY`5E{-8q?blE?|i!64^a4-a=T2}(BwnXy%CJHPX|aYzLxdX0sAtn4RdBi=Szm| zbal+c1TRrGegSY~LM?|%dhXh|cx+1EGMm0mn|S)jDPgw>>u|b9BEShYyoWf70w8FurWc%qL@oRY1KFWjU6Vh-%q~&3F(`)<;mO1JJbtW8 zuP!Y{dJO3|XR;(#px8?K4pyyB5HvN~nxg&t&$wa;szB2>&}Ub-O!g9GPXitR)BM-E zFItza!SS4(H@@u7Zp(DpgQT>Zb|gVlA^#u=2HCu5>dOYKMXIwa#pPf|ES{aXZNCX7 zJVK#=0_za0*RqaDx2>XcGUV&tHuJtjTZwjSMaM1oooPqt1el{8H%PqI<7a?w zN#s9gx)dk)Mso&(30|Td8(@FF?k_)fcXca@#1_xwXUEgG-DMcO)naWVy~B{AmfLQd z3}KWdx9I?)gXAXkveqWLUB_NZ3xfXO=1MFLiw9UpHJh7!(}sb%O0XeOendK}{TA4C z?g1>P#)WXZUXdHJLn0;4JcBXHMGe^yGQCTbqiI5G{L7WDhe~NUk*3gDh$o%l;2vjR zXfP-kaY#|cq)1eLhESlLouQQ^3$wjM={!#h%r2)#W=;9)=l*c$CB2r8#}u`i`MNPf z*Y-PNGQqyA@c=>TsJ-ZqLcDAdB@g9<7p4Gr#|Mz-4pP@Z$~xMKhuC+KqKe6k&q9!) zYBw5D#zd%W5M?TSf_nORUFn1=C*3E-jL!TK33R{=#-u5<5^{=Nov^vSN`a^7K&eqO zsP+YdtzhsC)K90$VZKEY3UOAqiF3L|RnB!880c_y-Ha(+qV$$0pk-s0+3R4kmnet+CdBXCBgphUsr)EXos?2$tev*^6mN$G6YyAI z&5D9~UXspkVBHjM$S($3tHCd=q5(0s~c1X;Dt6u#>(^SEaK+a)($gzO>Bk66Myt2{L4p?-N{! z6fZYiL8<}6B!_-6f8yLTXqmFx(rl3P$rlelcThEva&kurYRSU6`?o8XCzi zTewlYv5AK0_yw%kjyM)VYu1x1PCAy;rjB8lN5%;&+cjBDBCLAzBfYcTwXnZdv+Pm^ zFC-wgwJgf2{E(g(CWmJDh?EQ)g!r?sjz@yV(9e&LD+vnQNKlaWqK=zfw{z|MgoPr< zAbyculkF^dSP|IdGSp%SDnpH%{V}=f>ri!9XK~LjM{q5j1?|bDTa!iA=%T?Ek&@{e zi@_U4DkoU>pO?e-=ZdD)L+C~qIkydoOOl0l3$487Y)71@QR)uqdVZLGyVOo5&L3oZa@9i+F`JTS{{PkbDs-QPxAKU~q zhVF>HcIoS{%~l9X$V66J%+fNNdcPYOgDYV>TxgL|OOZ~jRF=wLy|)nv3PlM9UzdZa z<&vMpJlZimLlLTV{aYq&86}0&ED!H9#mp_@P?%g2Tu@`+{x@wdur3(CxMmo|pVctE zvcO1V1L^neVLj%lM?~3^C+;#84FvasoC+eG8ITTBjX%f+JGB6 zZpW&`3QK`C_Iv}tT5j8AtU^Vsi3FQAyVSzCI`-q~bh?%=k@Xk@VR{v`X_AW3!%>4s zMFreu5Jbw4^Cc;0EBFloEYq=!a!Lem8??l=`Raw1kQMU640p*`AU#%+v4U}f4$?|4 zn2cq#wUxjkV%|G`hoUG_?>sq3BHYTngX)b@R$4MtAH-c}=Z4u>z*5c{4JvXV!Y}9j zw{KS{-IgSDfy*yE!;3l5RUSHRfSLh%ae(Lq?`sBGSxSUhCA$fB9@YyEHMC&9a&%4X%kXyO$aPOsM zB)R}KQbn(A8pohQsaIfvD{2wo_sP~QbH0qeCF#F$2Ca%im|@kvC+|%(*psxUAf;Xd zZ<+fAvgU<(M3H$vZ?ELnpaCt`LL&ncKjq<@^DPE=pM904fHY?^f#sqt%j_?sY(1W! zCYW!lk>8@~k6BAz(&=Zcm||;DxhAX-6-{?NEv%P30Qp*(>t&QFwh8O@u=|%4q_A11 zPV4cv2ua+d`Bq32RGsaV+TP_G5ScU+yRwEbKE0gzvqzyydci*9jq6X}KYW7CXoZ z@%h4Y@nh`(wmbmx*yjTjoB_S%A_>14)lg<-H4F=nS~z|Hl~`I}P0iP!R(Fl5&U*VW z>9uCE)4-tKD9QD+aZZLO3M+_M6=8KPIsSH7Z>*{P=6tKl-F2-gaIJ_?ff2`;*^eNo zY~6fItL?4~m%2*-YAorK{v9i%Eym=8G)4ZZ7GRjen?puI%EqlI=g$K0_P*8uq^cMj z`tVG{48v1v_FLh?UORh?6ZLyk)mB3r*{sRJ^0e#(s5!i9@))W%%V~YJ$e&} zP=k}58|d*S^DB15t#~|Ot=bqGDATvTeO>d@78fd#w4Un=!)gUrsXC(! zvMaJ+92yZt3*_J`s8C=KE8lPNej$-Xk+G#lXmEldiPPaBH$Y%j>WKi`83iSTUU_3g z+XBhXhNAm^xL3)M=fF#n*cI-iSClA?@LDqK#AYJ$9Eh_8vOg8dWXm@{cbAW1kwr5I zRlS{;ktv8*7hVF-nA|y*?>PkRs|QBZEC8^9HMjLYVH#q8*LZxr6c>}>XqJ1oJ0we3 zuyZEF&JSL`KtyaAu_V+7HSdRO8NwC=b-@Rcbpk%L_ExU}h|#Cl=Lx1A!<_HQI)O-7 z61LhV>$_n}dtAZnY_Ui;=uEA;T=YZTUP&Y?R;i(a3Hsn_LBFMA3w}_C8ev7rS|~Zz zk{So6WITaL10z+9w|~t+!2b84Ksq%`O-cCaPMe)4z%wBF_v!r)a&xa-jsw~HtQ3CL+sDpI$5BhT(*frvF#7hj*Pa}R`{N-4I!M!OLX~t%T+xtZb-c zpUmx8*IX<|9(no?=er)39;HLTrHsMW%|{?<8EG;1$?8^i z0=<8wt*SJY8`x6GZEX`!ipQ_n)fH)F5rAukK8#)^3+9b#4@L()$Q=Y-55^5_y<~sS zbPD8tr8D%h)71gQoUP?Dks~2)rTpO^cJ<27@Mu!F>qPvHSlNVW|0S%8yn=xqpVE!V zfkLMjDgDDh=vM~{$%z!kEoQ82$8^gpxF2f{AoX5m!Hv-w5Kcg6`Iv#4g7>ALKXZyrqikH7&_88jvu>8Uz&_H924WYqDL6); z?V}vaVeBmlsV}*YoeiROU$}W!I`z4r!JFM<311CZz7P}>4mSxaJizoJ-MxtF*&Zsk zhq8F_WvEyWFb$|aY{nGT1tVsq6e0!Y%rdIOnRodXeMZXG(AI6*fb{3Dr_=ZEHzSqv z1Y9Y@ok*jE@yXJBMm)?}gGpE_kxt6xQ9QM$p-BkBaw$EJO0N)RTSx6p!lK5ftQ>fM`6Tpm5qrH#{$q&ceb z(T`!iYOAtL#Ic%11mZPqB=aP~WqTG1YAvFRd)i)}w$Il(%S#O**d(O7#kLIx{gQH_ zZf;3Tce_|?tdtY=!t6R|HejLUOP+V%cGu>?3z`v_K^aTaFe_cCs3buUoFX|VlwzcD z4)3UcPQj*9!On+Z*@%VKYkNL#e|9fa3y|ZSvcwe1al>7cK7~(S*scM4cJeZg=@;XZ z<)MC~tut)UWTDuayb1)CDE_#t`DTUTb#wnq5zm3Qp5nP+f~de@@Lx=B+^rxCn>krH zp0FpmxIFESA2&xzlDDkj@b45h5_~IdFGqAH7K3zs_-y_piPZ!jXKkmtJ9S?IW2OB}X(p_L5ja#go1J^RRnY=hVZHCR= z*m{XD2DT~*%fMN_#95R(akG(ocIHM<8O^Q4{Dy7d*b?P$r_bZ_78fescFAG(IhkU4 z%_Fi4SDnzyBatAp^&4Am+v(?_hq2X`#vVm3*%MDLdJm1RG#FeO#4jd^D~6r3+h*A6 zjblr%ZI8cBD_OSct)a=&Qev~W3DHnz@X`!caNMyhC^;*>_S(n{CJAex|M+=&c-fy< zWVvQyEBgQF08<2F{A1DlYqKzm-dYiN#zC$S?jC@cQ7mjXYbd+Z>2iCNCnXuNj~jO6 zI-(5izYCipgRHf&A4eQ1342S4yzWvU{czachF$mk{qDviQ_$0LU=rmjitN`BJxYSv z)EDa-xgz<&8BD62W}hzC90L0GW75gP>sJ`E;Y=9Q`r$1)tS<9j903!WMW{+`qo7M##IE3- zN)tlnPscLJ**^o>M6Fs+G3SN;h7?72Nei7I%qKwKqb)41nZz>ENg|>447RPd58Lm?H%V`yjkR3h&aV+IVdx&nRrV9Yu~;sN|SMRHKdks zzB^bPY%CtypMhGrK|kS$G$r9|`E5t`IagK)_|Aov6&s&!b%0=bzPx}bA}?d8kyc@h zvCL%kg_jMX>=6Jq&7Ajs-GA(GM&ef4)k;uORMikOsz)se%?ETj!r<%l@e~j9FT85U zHc!{G3ugSs{&+-&$%pf4``k|p^ei7u%1m*rfr^H}iosM+zJQ-K1@yBB-kMdZQ1M?=VP?>Me^)xrkx}-gCv8fbk8M(-QoU-zrgO39*-hpI@fZKab#d{j#E z^kwX!q*WnR=VBeWIyQoJat@hCkGmuXFQ=Om9BBW1-u*IVI5zzWVpx&TNZDihR-{D{ zC|kOq8$jPr=a0koxFQV|QpsM!0bq7Jo9s2_QT7eaZfEobdIZW=E|@O??ekI;MI~^M z+arsk7)+YYSX)B`dN5QR^svarvQWTgXnb zXQMY(dJdf;>^7shkK6Qzr>4U~fp8VIvDpKvs4b}Fua&E2yEnG%-uKV*F*nTJq&tdf zc=RrOPK0)fmLTj6@XAXglYM8;hObU^AjiQBMAwf^FEMW~nn@!q_m`DPk4Q5?wJ_LNnAP z6ae#Z`ng-PA}h%j(bnQ!CwUL9McMX7{_-GyWt@R=wnX;l9kwnB>ul?!Hw;zwR;e#3 zwyN7Bqa0q?$VcAwMhHIuiR-Dl=gF_NZo0{XT;toJJ?i(ZZv%T*4vqg46q*um{Kx}9J-u+bGe zGTecO}jvSh~yZ7f` zB#>E^Kmk?NN8`J_$1@skOL_n%@;#p%!0v+oc0Synzs+B7&;=ZCFdai*5wr-T{SD9v z1ONXIR=bDZfRbZDiS!9}Z^!qATEoD4SoY}JZS6$2qO|<(!&EypOeWVV^_4&htg62u z0E5Rme1_+ck$`nLM_YN2iR4)sIEHfF5N+`ltm``5J!b{~afxlT-;K7bfo%_k1+ZeGbb8I! zC8fS$;%`x=P?Ip(zdZd@>J@0c!h5y2`xf@(p<<~ENBDQ^iGXX*E&oj9PP8t{n2Lh@ zKFx@VQQ}=Iy6c8wgvCx%{4QJ68KIJW<;0zT7Z(eWs$oj0wN%Va z3hLy^TG*l1m=pBD7Umo4Kq@3lQK9^j)w87v{*cvc=moUg=rA?)f{=VNY$y-GYOmoJ zBU&PHQRM<$4X*043M*rT)MAGzJxdltbtDFLlMy^4$(#?&Gbo^oALJ#$CHrQJ)xvSk z^XcvJa=d-`YP0sF;N0m2o$H00=-l8Vvxp&OONqQimHT-ixtqiV7bsYo#Jr5&PQaT=xr;*g15LGHAV%-f)O5TUw!%#!q;9z z?$A166yI9jhEI0UO}_;Bz}X7cNfWO*8yYQ50YUgmoPg_Qjixec!Jro{pGlzfs_t1s zR{IEK8(kTleT2ZhwC)s3;*NVE@F_IRyA&m}nT+)9onT*0L`(M3)hzkY$T@%GjUM%I zg$b>a^Tu2|J(;!85|$5*A4afbA6;S06?`MFyX$q$D)73CXHmS3n17zqNtPfPq7-Mi zHxiS&grkACwSu%bEnPoA?LqLc=UzxAVJkjV*PneL34DX=RDwy@{xx2)F{x#`GA zqNNOmQYSs$Tx_pp&l0~w@ma8pV3$ynq4dR51J+ksY@g_8+bit>x5yIM@sBnIaP<(c zDJqU?T?Q;9wMzjPaI-W-MZkjJG7Q%`cuMSvMzET|76Pu|llu|s&x>j8 z)*5z8nMzN#y}E?mK<6~e<_-PzJ@Zi7g&IrzGP;|(v3lHYlUm2tWsd_?NA^(?7bQ%X zg^!?HR7z#GKRZrPRIn+$3 zVj1~dJahv0;U#EB^doTPLvS6LI!`oKz-^V6uq~0#=&lyPQ+|Fi%m9hWP=j+$O&K-` z4AmK`8%rTL?)zdV9dua>)`1j#DoYeJT9onIcc%PC(nX4lqeo?%9u*{Jy76bo_$fa` z#>wsz-;5Sz^<$-4tfo?l%Z2iLGEuKJ;$k2-_oY-rSDh$yIFZh1QCiJa_gcDBaIb=Q zN~-Z*8*G+ZP4?13#=)9`g~$@ajFv?UV%(Zq}o!R=8ugx>O$8 zifFLII@TeR z``0TGE>ANn8Rfw$DGSs=EgQuuH#1s}NM|%>P#V{BKSPh)qC~s=5W{X`oT7tS8+?8h z+Cv4**s>T}g&oXRj%UT^M|P0cPzSJ!5?yXGoascbB+H z?+C0_GK^XpwHg^g&gNqPs|P>)pUz)4$3J-u;&I-*Kek206q}>rf_oBcl@g8&iFZcxOnWd)2KsOw-d?ZQ%^&{!c0RryuAA5U=KdCx%IS{} z*B^iW<+opd{MU^Vn4nJ8o>2Ln%(G9HP)~}$|%y^Rz{`=`fw&B zBf1*R7mr&L{$7Yo?$4mWgBrg@Js!?9qsOQDZWJ7yZeFBBCQxY9iNb;+mtCYuPd}In z6yZQ?W|J(@*J$1zDtqw8K#^Zw_d{&o5dLD#bC>pd4`+b!m{bj^w(-N}kdBE7c~K!6 zWM+uC#$=4k!}bLrRZYG6;SpZmX~jX~4VER+VK*aAT8h4#&8kW#4R1zB z#Jhs;I6&z|<7jxl9~gE>9Rgw4_564M#|bn>P=Rfwq04^ZE>;UBmK_pN&^Qc^tAKGu zJ;vrP`hZ4p;%!=8rwm&++3tY1L~~=fI~$3|^QD+Augc^rbS3N0rbYmRYZ<)?2EFS> zEfFMN+YreLUqtF4T7o6zlYkSsjmgMi161hWi^B%byZ0q8u-1T!W(RX2kWY)DZLR+n zrlP$aH%j1kS`*^ME*~Ja#Ajo&)-x3yR{8LB{HL*6Fz-dVLQ=#aDVR%hw#VS6G5KoP zcEI6^W$*`mp`D4u#$=slCFTXdve-2m{y28SP>2y;qD=G}2-%q$aS5>=n#Prb<30f~a3n0YHeA4KN1SOldl);Ln zev+Xf?i!PIIDs@txZk()?)|t27mS${|y##h1j8;XCh(}rzmk=95tiI=h zL2QKL7tDC)B!&S!RPUqw26Y6}pll{EZG<+q=LHQ!%ZW4F?UR=1Y+!sezjQD)u>muLl;SX2IFg1#vb+7!km+ZQ=0V@tWN5=a`9jAhu$&2j~DB43S3db|n!itum z86hdsq(JpgOP~ib_n`{|lyKMcf&pMwBG`9(XE(S~d zHjY0~a7p4;ifP<3Y+;oi)nGgXp-?D)vLk$oV&Nx+Ok+6T;s~MGtCA ze z%dOXZFuC0nZ;AZI@%FBG|9}bZ-3pMS^i9k}k(nfE_zp1DlQP*slwvL;E(Z=WWVTu` zLu4__qwM4;*0ZIsGyE);_;FwqaQek0a^$i0@uBYozY-kj6p-e&zWI#=)nq4R2C!6} z*Du@0KqKpT>jQiv8j8u+YT z1(^5eZ~N!B+oI1g?FxxSaZDvyk)4V|3Xw{*)ADtQhtO-ve?_?yko0;lDkaQJ6?(6awDz=`!XA_L=Q&>7hk?R$4pfs2GnJ$lvs649d ztT!dZ>e>htpP*m2Ato6E6`5j1P$0RPft}Z)A2SK5L`PgbK1*n=xTHUyktxF>2EU@>H6Q|A+uf&)&9UQCR7PAJ*q-Kc2$MaHd^bDh% zT#lKSTLtV&+4c|R)(hWZL90<*?3`n5LBzGEg0*K;q7g1x%WS?2L<6+qVqXHh*DPPk z)^Vms=;Br_psHz9FT8_P|L`G7v9y+d*lsW+4j<10*m&Qd#O`k|yVGUa+-IIQTO3Fk zNeNqPqPee566lz=E<#rke$T2^;RF%+cw0tDFd_{?vm6zbr-&QPQVrdqkPE9Yaa|=y z1u`(1^uFj}r3*RiE1iBP6vb z8GgfG=&|>0Ce9{eAD@jgeeeibs(?i~(GEdlc6g4-kk+=F!4a$-+1D`j4olsOy;YX@ zeY`EyN;E%Dhg(pH_rq;LD^OoSOpah%@PC-H4D(Ua1Mrum<%SL zj)|5D0-dkt%R96uBo%)B^u9SYdMze^ACUQ7m0g5Ghw z-Zi5U$#(K_6gUJF!XCaLcmJG~?{cafwjn`LTPh&I*s{j80I`JXCTuyuQYqg1)O?&o z^yB$D3Q6_#7ho#-^X2)xdD?y3TsME%z1{A|RvU9|6K`q@a5!V7AeNii#A`cM1oyDt z+N()t6fyt!Y`FtDiSI{f20)QNJkAuQbI&&M5MmJ$(Xm5JzT z_{D@6&1au=FjE2jmQvYYPrKXK-5GMH^S%0}&83QTXE0omc%y4%szD+8-WKBqpmVq# z#j92XyjJ-?gM_SxU4|08xe^OF33sdH3yNHsBJrl6RVPb3M%j5W>rD>m)Dw#*}XF%`|w>(l8zoyl6v!`vS0tI`N0&ir&@fq$bgZ zVRAwyybb>J-u{Wwcvhp@vvqZvZQ0alJ&+6Eq-82D%<9(p{XHT7+6e zyLki|oK_Pj(Pfiw0X)*FBuK^~r)C@`BJSxqv)pii^Wk=X+wXS^HY8WcI%tC7zA+hP zW5zhRm?HT1TSlfEMBb)8zMe5rX?%*tv*RY$nuvP(Ed5G=UoI)kJR)k`u&S0f9 zF%-tuq+N-`r{`%`7tYW@P4;osq)FcP+p{e(I8pEx?ir2)k!fQpNve)9Mo_Lqv9J=o zBcko;dH3E3c=vTh4a8<|azf?gyCfVz4M&qVpz2doYLUUgygc7LFjI*nGM}Djhyj1f zSSF&+4@fwKx;ZiWTQrQ38$w6op3&>~(S;5%IP=~pyBbvTxJVf9nhYav(292rp5^Y# z;k;j#j*>^(U{2nm|LI6s*QcX-;(fF%GPQA}9|TLbkaK(ug0a8+^HPI^XtD_siDs~I zXa-w!f_-O;**cKoaIZr?YDP4O;-@#Yw|IMjx)UYf*9iw0oNN#0TexnloHi_u2p;vM z#Y`IDG95pRXvsL5@*x6@m$#>;68d zgW=Gqc4H!4HK9s9?J`x?vBtwWz5(Lo>Frb*i|;UeX%-iUUWOOv(DqfEIl=bz+2jyO zMlaXQG!RiwZ%Y-u?g(uSO+=|;V0Nl2XsHr9 z(oT#$q%K`HSw>g0;w!PX^hXZ1dD~rht`h|UHGnmw(2kgTdOx-8at%Lfne0z1a#I%+ zWom>*Z&U=AZEIqg5`S#sDE2VMPjD%jt9m~g98@c09y$BhXx|SX7w+M@W1s>9X#zVF z8v5GF=`c+2rM+e>1nui4+sIpq*W;g1*fIPv;g4N6+BEHr?8c(uXxoE7%KKWH{)r=M zp59j-tfd2#UjWPxXC%?V%6Os!7EnoK#jKRHfiP?0wFbYbpj>lA$J6^#e}AVdIO-9Q zry~7>2ZRm*&EK)9*oNR{&E}`4| z?sS-eSrVsm{Q*RW14~6ELe#LwL{3`Bd?#5WvrZt%4)*0*=h$eyyIv1z8gvy#??0HP>*Za{Pj+ zk0zLKw(JzYcQSUIQD8v2gtEa?OenR8(y5#G85GfktJQ~JFl%IGq*6+H{9Z zJEr5zeuENt*+0?FvG%P(vv@)7H*^mgd}Rj21R|;`wOKI6PS8WH`NKP zBDD1-o8NuA7I-o-fziVSY@j)WN9?NHC3H5M<|gKgoa?y8Ax1`XI{+ku*S$0|cXub-l61mp6t&?|jFMhfH9}*h!m% zO|)`{^P1fvydk3>{mDTVL>lcB*2QVz;l8@KViStGY!Di;_C`;10~tEb@-tlQ<@B_< z-C;q_^YMKLJM%6xYquts?AXW?*83bOi7FK`q&GFwb6o;16w8gKUPPzJzVSYt2ps;l zbve(HZAKOkF4CxjdJsT}$U}J@r8nDSiqfmJ&6d+gtYqF)S5ptmB((+9NlG&~6MbS% z(zXwd19yB9^`y#&R1m7m9%O_{mW|IB4%d2rzifiFSc>I!({mvH5a1a!t+-7A8EMD5 z`VcPclpcPwJwomj**jI!#!tH+4rkc*{%OCv@1J2Pen~NB4T%cO9$x;?-r$p-)&J77$bukoHqvvUCeX>KrWQUZc_K<*r zWjP~WvU{r3bm6xjzMKx{B}G?&<(DfSaLUl9h6W3x$$f}5nT^xYi~!xum=PpmRhU;| zyQSOWLe`LXbPb2NzTIxYQT_z|*t_%o`9m+Y9}1c@^9C#n?eIDrr3=_|hO;0lzGD?x z)G1^UtAw_X*GsfAkJs&|=iS?FMM9_yS4^R~DKF4ic-vXqxpK5N__CG_HYea@9ZPcC zXdO?x>l*7g^+gN)LauYo6;<1;vo$$(;g%(52TG2eBJ-$K1?=N#xBvQbxm-VOR^sO4 zZ)0J8FzT3cgZ_IdIYyOGL-}F&Y_N^p*poXG5Na}*x~5xRzFqGh)a&`E0jffX(jS^E zx4=?lJ*&5o$Jeo~Qtj3{r^%4&nj08Bl$YK4)Bdt}l-4^vnG_*aMtfqDqQI9S* z3HZ|f)mq^pcUNL(kBvl+)4D@&Uqcu^WuFcaaM2a-G#O0omq4$?T1$fsJyUgW1<;O{ zDG4nrYGU$MleyHTrHR^v2q-uILu~#KsRjPHQYzR54_zBFnaqZr2~nZ5d8`-*^;!J^ z1(>X(DSX#7OSn594>TgS`5$^UUPmj?Xid3{ypF9Mgps9z<(*M+h&U)sKPVDp7>$^} zWVMMr4yz&8uefc>O$Zq}R)nW37JU&fYO;u?w21MFuiFrV9bP_dvddlxn{zainNc0K zKQwsiRfu6m?_1GT_m2Bm5ja^#Q(8v={+?nU|D*DY$6*bq_=0t z{25)rdb#aG5cc`HJOA^i@tU_Qfln=Y2y78{T`MceJ{n~|@CG8aB#7jWQ(3x5&@N&6+*?mkJ*n`sq6>|qI6`@T@R|^lW z^LDT=Nktekb*40R|9@g-Vd99D*$fl_vT&xa2tZmgwB)swAr{4hL)Q!G-bQ@YDd`J^ zprGa_xhEIFl7X|eM8|#i?R2@unB?j3ayTz#MBBhA@RoWeE`*$o3nEPjDVVaFO$R0; zXUNFeS}?^fc?0O@>|B94_Wj{y(}No_U?GrlogG~Vty8kV*=iPd93w@IMuyJH3h2k( z_3P*xIGi2{UuGkm za@GjuP9*O>_^1WjwXkzSA%kuh(^68< zmaLvFle>WSd1NK{wAZEyq%Y9`8oNWy9;o_tRUV;t=FB5E>)uBQ3cft_{{&{XlztwELU zS{nh}vF$v|Z{Zz#IhHVz=CEW8U8(Zm-+sHi-Jin)e7mkmQWs$#XUE64Cy~WR`7UT> z!3GUdRyRN$o0}1JIGyGnM$}{#d3&}N$Ud-yvK(d{$cj<70UuEOj|SOfZw1q1!zL%m z;?ubvL`$ZTcVwhG;1l>o2n8e6aBkK1u5E@@QnjHxoQQR-H|aQ{nEd%G)`DUH4X&jZ>D) zBk#!`&_)rX`XtI#9aaTB&2R;$-eMd?}8%qO^s@k)`ClmBVp92khwpx8?~< zrdd=ZS;%EYWBSYXFe71^os69l!Ooi^s09k5@JXRr9NEdfcJ=#Rh-#mf_SY6&RdTG^ z8san4B1yJWK~f|$B1R^w1a+np%4` zao!|EE5mm&*SL@5F-CBDp@<%+fKR)x%T`2`%Sp;?DXg!=44w-j;kn^PC!=G@T}5Z$ zoHF<>$?U1T?O7(8=nuTcT8<#Km+N|pAnqMw#u){im(##v&)hUwL0#_7U4uOz(H*C! z$U&CWQKei62>n=Wh-C@r%(Z4RG%CU~wnc&1lL6G?J77+Gw2QHxgmb1x+xAA3;w*yL zvm8jmNw$x7#SG7G31@zt6`2(xc2JoR%Zi|M*~Gq0_t}|#;=;r5pDJ;Z-7~cZw%@&6 z-j)+aWn;D|914r+qDEV`f+2`buBZBex?cH$5Go{$1!0`%D)?0x306BqR(G%T6#Z7{O0m`v%mb)B5Z#3Zsf)qPzzEzwMK{#!-x<8lx}v2b=Zaz zgiQw0*L3+xIVrbkBUTJx0ut={t1{}r3M3__hDUSa6WNXldNQ599BYD@;B>r0118DJ zTg$U%n&r+Lvz@WPP1tpGpcIf!-@{&ZjS-At{3Ar%6XTx_|I8Ct*@mIxRc0lgdY4&(yY<9X;ao(PZty5PKu?34F%TJza!&DP2b;6#Lziy4C%C1tF;j14z`hbVqaz*i z?qqlx>O^~4Bu#?S_PUJcJrc|W+%-axB?*}*Z5mug5s`jAsL-98W`?_1pr9W+BO^#J zW2CI*09U=m1^x@6W?k~|utYH`4jNCflEI8i9@G%wFWDPb<8P4>QGYMhpj%PhbmA}0 zwlc27*#js#KrO<~q<+0)xYJ4sg?Wml&3MVtJSu0pEgLv^l=L#i{ThgEH-kI%1^3(|9oBOa~5UiOG)4i zoV_@k*>C`~ob2KNjoEc0+gx%0h{{H)^3mpKR~l9j4aK37uiIuel6-e5Z3uJ16xljY zWHuq>E|B)%@P3dTD9af|Go;~CvBc2ehKW12C&5Gb3d-O?ko{COPi2h^OdcIi*P|1T z@tUdc4FMt;YbN_+x)92b`H40;s3$5LsY{n7#-c0kySdSkJVVoA$lTcII9-vHf;GjR zn6}a&ejBMvFD5&|nz_2kW&oL4Ry>Gpr7(;(%1<1aaFFrqNy>vLZlo@s<60qilRMX3 z%GE<}aIUV(4gx|h7`t;%LaxLZ_arBg2yUb<&E;CG&Cr30Y1(6JbF+YAEt{!CtgyUe zxYwlSh}=f%(lK01EjF=$xi#;T>d-Cw2V}LP6lD*Tl&o88MwH3^nc8Fg4&Du(>O>|M zl?tq`mB0#*)D->*96^`cvON*qNK<=v$@BQrTF;|&X;oV1GqjcrBf|}!)>%f>ONP)o z7Ej>IBSUCPvmJYOQl4;)pfp;HXePo?eyX73a{%pKw&V-F4bQ7s2{hS7Q_F(iF333jVSjFV&qC4i_eQJ`jOVmU z*ae+fW*vy~Mo!9^aM4RKWiGy+#Fx5vRM#(vuauKF7c{sly-p&#k*4PDues3DjVrhx z?Lhrl@8c87@wJhdTF6^G+xm?NaHOgE_m6Maug|;d(&XBrE1J%r+Go&H`pP~iY3_r} zoPq42)s-{cuW!5MFQKv@SmF18`^%J1v!e|f8R)3YD*(nwy^5@r*=W39+hIpt zP--v%II1v}k_^3YQ<78LGvcqADhScuNLQwXzcaH|_9G3;1&3xCs;<==l9YuW+Tu99 z%k%dUIT=V-6PNwrqTO^B4=acbmLK+z`S=xW+AaWyK4`q>Z_9*>^^s^Quck~vyZ^*>JsVFO z;PxzXOy55-*+^e|fQx;?6Io>`7_`~3nG(E=dQKy#3Pv+dUWN@9Hk?T&q+|UAC1-)qv8 z=4dU(O7{_?@GYfs?sdc5*H`J?14lXEM*Rdi+L`n8)Qbb-tDT>x_)?hP? zPR498xRT9^RoTZLPzJw&yEScBlDKIiQ}9GHtm!f<@i)qF zz*4Nm@AP2SNU+g?5;p0urxC{O|})zmr|4%tS8%ScyprkzMSMam82_(kw#4l z$T4z$+oz>RE3r*cBZWc40F}8@~qA0UL_qiq@ zVz5!Nw1n%A(5gRBWT73Vk{bmGXZc759RZ}f$X*bGjpE$R!*Ji1YtVPgXv=DYj#L5z zULg4(mc&}QL2fO?)}`kT_Rp4ZEx~2VBQAFaxVR7=mB;08|MAmro3vv+qW$@&zec>- z>}R}RRCeSONnFy@>EJ!+QK|X3EzJpK#+)E6?+w2=#zM(&C&C)V>ybg;U8mODl4kQG zr8ON5Le+A|7C4p|A-XQ{q|2_N)Y-# zEQ6Q*1iVDL&kn(Nz%`w~Ll4YW8ZpX8ClI_G8(k%xE$ zvH1g>N&a!>D5mtKyU6Z6NO?GlfSCe3N@o*~00D$u9q}kyjZq1z?clAjuHYo;;o>09sPBLwGL+cZ-JBG3E;!jdv6$QvBC=5# zwJTTrtx*_I{C4k8y_)*pz;MrACOzYi|w zdL+OwL>mO8*`5*9c~@*+55H%H;gL-QOoow@RQ?|2oo#qac1BTHSPQs<>h{6mpTyoF z1}L_-dg826rZ6<(yMvY1?^`IPU*G}qBq>EiHpCzGk!8v8T?i@#*@q;QPU{S>lcL< z@*1o5-W1MfTH`BnK?uQzOKRAQero`XKy$x?xDFSoqX`U0VBb1wVfb(q=XAM5KBH{; z%DxwH@;{063=@aWAqSxqL5(rEuwMo6_DU6dwIOlD+mKS0iwJ0xEnT_~;BC?`8*-V0 z$DHQIO=}l?c=KkA3Wu(SuH!8MO*==#G|KAlJx1{c8R-u#X0?N<3#tOPH;q9dNeOQk zAt?z;uWaffavEjJCkTIAh+)5OZu{Nq>*aF$Xtcsti;zbxiLI!4Vu6uQ2gQQSpDT3;zzrV$x5IV0o>wj&DytAmp^C099s;0LH?OYfM)Dw6eiVtLQtDuWlV70-}TK7+5E zPF^N4)hNEQIl9H*TwM0gm;Gh)vOAt<8;NRBhZvMGYGj`n@F3i4P1-<$deC74V-E}A z`6wq5HCaKvr#Yeq-+1E8*FjHd67z~;Rf6gk~p3|3~<2_aIQ=m5jjl|ss9eR z(es2CCopf+!W+K)BFPo-h6tq~vGPPoqb5~UcyY1i@MT34^MoEOpQ#zP>$URE+S`dw z1S1fW>m@Tcsr&)lKVPm-OMUERt5#8%GSmRo;M+31WgT6i@ICmk@-Rb=;E9w*O{QZ3 z{?h?6tejE8_?F^TJcmNG`>!QX=95g{gGgS}?&a~ayKnZ-yYu2%v@{W%E9;83VB)mVymA#WtJRo6 zRQjr@P^XU28fkYwGD;YHc{!@cq_&CGM)NXN^paFA-)j|L3cIm+HF-+W)u7T(z0@sw z#a7l2OiV)a6ney~2yZD9A4tgMfO+gq_uJ!BY%Qq{LB@oLOADFx97MQi6*b?1`4PAv z3pre>R%P!HCVD^|T9Zi1n<7CAc!Ta3eiOyP5MEiq8$@?^Tb73@MH{6M`v=V9duR|x zb6D?-)IfupyP*Lx?4o7QFhaHj*=CT_uCe8bfgqh3;5-+AG68*jPGEkno=gO*D3qT( zy5QfHp(>HlXkAK0bnPy?*F~Ag7v+|ultA|gS%B)ET}1H}Y)&VZ01)TQx`p3?50J|7RK<^2y6 z$1Y?08QNx>o?ZCgW-=D7dT?#&!4{0S<`C7j5V_8!S!HLJ5eufFNQr zcYJ-`#}GqPcphq}!XNg|VOzM1nNTP@)Y1Zgm~~h(4JW!hksrs+B4Sg0dyA7?@c8Px zrO0=Vgmdut>LLvdvqjDpe4>ucnY0VTJ#ouuQ+tu)E|!ht%*CD*kW5W zR=qB>i3+r!8B0?lT{@Y;tky$j1&6y%m&e%w*k zG}%H^dyVI1uH!OU0HT58qY#;WXCygjG z4jry}_}UYRjONv~3h1?1ag3{*qHP8w32o7D323!0@?Jf$#%NchnW1Cm;eI$QskCXT zIf^mDrKu=IJpN9bt#JML?tm>zL4uae+0t-E_{)OEp(mCY&C4XxVG9PffUehRajgw1 z;MjZtZTUTVpY^piHu!Eu^M!z^_fa-dEZq|yjCM5^hx^;(=K8kc!L?=|h*bzmB(OiV zG5Ziym*kh2ZnozMq!|)~o@iinmfHvK6-aHK4!8aD+x@V#9!9sDvnj?7KG?%-Z?;O# z^nf|uyX>_d`RP%l$?#>l(C~LhQZiTx53IaVZyX-iN;SB23fbt>)d$E5YdzY-jEQ9? zIPRJXUZ}_shfqzbj+G)1FoE@@>Dre4sl!tx&+`0grY>;oNw2=txC{XET)y zQDv}}MLD=9!WYelH-zbz06~8ej%qiC+`8CQG+cR7(z@?h@P%;E{29Jx zBdX(QQ=YFhCv#h5#;7>UmR{jQ+;jxV4JhnvR<9WN>WSaQ@G*!%PekgG zuNzo%^Z0g;o21%Y(8Z*h28Vs<^)nm&IgP@_GgsLRfJ#G?siCs}ni<7OA4}nF@WbJrP zJg81+WZF{nYkf`&~k_-SzQ{Gg*Fn8GJmZW^rWI0EjYlOI%`F06HM zLKJU~O3nq*yBJmG0U&EM?CM(5Zfc?~c*RVCc08&UUvUH&2KtVtU9k{`vBJzAbhJi=wO+M+tBska~lI zH%8_~b_#sXJopAR(h1)GlKeW&Hx4DYnRs1HmaG-%-;;~Z< za6Ld$v9Z}yIA`;jh~QEICB!(Sn=%AM_F}Sr=Aa!U?1F_sI$^ub<$91pwe@x;5=O!w z>aax97;de{@-2S3$7ej|2;Dj_1#>Hu3tgC1OC zmZ=>^>U3Ak68FUZVjNQ*ah5nv&s{z`N*uZ3ExTlJN3arK9q$5v#C5!ymP~nPeVI2R z1{lLRl^`070q6d5Tn+-KwN@!IuttiRyaud`?d2pb2ftSA_3DWT2BtDcB>^qiDGI#a zfv)7`a=l*OH^)!=%^wbrjp5MfLvxd&)ad)CI3);0T>AR}%j85rv(+JR8lZP+Vn%n$ zv1aD@{H*1%c=ADr7sh0%+&S#;>#=+IQ^gJwN+N)SHJsz4(>-E$6V(y157rQcgsdTN zBnM|2ifa##yXzU!w@-1fxa~vfY~DvPqA+@dVw{MUQU-PB$5C?FHyAyrzV~GS5WWB< zSbIS;2S&Ux#+SWbQ&)S`-79?(REV?qNN^pxV&eVTb5&`OaeQJ@8|KpT`|RsxS`$wFqG=Ahl9uewJofkC=8ArYxYgB`q%jSsV2iwi&eRujg zOUhDV6;?TLLBV;W8?bZA^?4{JVB?e<+fP!UKrAwbug8+fwH|0qu)W~pd4&%CV5g{$ z1@Q1}9jQdCf|DKI)Nq%{_9$=7#A5|cUOu!Ev6G$Td~QQRWNF!NO`r$o2?sQZd9W(a zk+i8yGs&$5o{B+ck|RRoF@~@38p5&t^X_^I8t`Se|N80W+ZFD5?v{1dK9epv7Y~Py zYOP)mI!CLK014w>*dR5g|B_S_iHzX`6fq<)-53&V{*ajdzHJ`E|9bl42ktvJI{HDn znfun;-bu|V=u$M`WzW=n0#3$~k5a_$V|b2-A9jn45rrft<=kWNg|0R1gN%-9H4CZ2 z)sMKkj&>(Ihz`e>8R3$BDFxZP1W=Eb_4!Rv-l2IWH%3srRnFK#dB z3Xcl5KKG0PC52tYBV#56a8d7l;Q6r)5m;a$Dx}63kki&rsCk0v)8peqjA;6TsjH~C zReMk}xm9eRukVxKijk|i2l7`|hgGQ4{3KUugGw7m2NA3%u(BcwhaGjNjd`1esy9~^ zvLB}f6LRQ~K}pblt5~fyW;|dyo)VL`a$trl#$9`2kg=jD3&k#u+xzDBA3y!_zkmKq z!1(|E`j^eqZ`-Bh!L+882Z|0RjUHe?rdra9*&22r928TqH*)weT{>~aSi!A#pMLA% ze))R19}b(>%kg~Q{BYboz3uO9&sy^fmt!8)B5dnORBBt>g4VEdx}rlX-ei!pGjYXO z!J`>?pz!usLAK#hLr2df^ujBa=|9o{Y)p&Ab`+)I0_7+VLF_>ui)Yy}lPbUzf=62I(hb0&nUduTl1CcioQX_p0?r#cg6#$#k%#-+OZYQa z69AsOek<^wh)IMTD=?!4i4HNFR58=V0`o5QUUp`(;@3*P#~MZ15Lokn4{Z4QCrkXo zTVyq^r0Iwy#`02UOy9+KxBt3Z9`Ip~21M)i&+~%_jCcP+tE5<8~iJC-&71zbr8fJoK?4>LSSb{GT*2${bh%@^b-Z3bm_tj6c9o8!={Oby%C;62NqDMx z&?UAK`u12}1b`FMjLRzKHQv0CSoHvXC`z##qoBKaSytg@AXK;7{R4cr7DEAMiW&? zhE$h^6wWJSo7S=p<`~On70sC?5&$iHOGW z#_# z;RLB4V|QMd@Ppgc*@GMi-D#nw1Mvp`w(2rMvvQEn!3I&Oz*{xmc2eEMO5=+a#6b8c z9$pXEzit+cu%Jd)7)YvZL5a@B@a61A+=hGDYcHU&hf#y2sl|lD`b&4Q%E#< z+FW=0WoH^pVM$z+YYhz#ZHBlgXgR(x232x!P)DVaWEZ(-0%YET=%AL+$;IZ~wXZ{OfN&{q=9~WnAI@ zVSp$1KRWnh*cb5j5Wi6v)@T(FoP?$_LX9Ilv8i_a#q>WidfQQ*)}pqw9-?qS(3BOI~zr`l-lXW3#n$u(K`#di-`BWWOOk`IH)X z+CzpLQw(tX!PeC~&tO8>l<}|HLS>q-?3ocCO9$vH2e_O0g^zkMk|`Ry4W0-~ zLPe~wa==e4knWi?H8T^4>^9*5qH=)8w*_aaW{q$!d2Eg!@SDc+Kfteiu~#kN5ATSl zW+T*|pvuY^%zF=Ib@YW z$KG=SsdUM(qaZ6%+pZ(a*qaLE)8*|r--%P|<59z@KG{P}K6WFm7aSqOJQC7yUX2sG zIzdI-mn~Eql-ak-c|RJDrN;cp71t>8;NoKN1ruPZX9F@K#^=z$J_09_F&DzbETLdK zq^_~RoI6Fnd)mD$Uvgi)WN2qkx;W@INVZ$kSg@wHHoz98DwdG&Wl52i<+dHt*;vI3 z)`J>ZVoICp4~ud=x~^}DG7mboOmCsJg&n~~-QkQBWsVG*X+2Yf5v(V$rmFK`7IRBl zuhq#{%68VtfIGAVbU{ILy>=D|YQ`Ln(5c6)WBj}WnYU)zPA0@XA-4a`h>3o@iCD4? zPJ@{6ltMy`EH(jgUqSqGe1dt`%jZqpTY$hu3`)0w}1|cnl z16cM~th2Kn(%e{;)gODAj`Otpw){r3Be-(&H!?!T3}p-iMg`r;)Yj)aH%X@kXV0;P zRq5&_VKo)3xBKq;!{PEa&!I2@961z-mVgpES|s}0M&BGXF^{9>Jn&JALorLQc}QR&+-%KMIpo7@QVpJSxl4re(5(3|M+%%eL0-(o7dg#w)UnOk0H*ZSfyqXJiu(qH42TB z_I&ZKNN~wE8edU`X`FZ2#SSVj3vFYQ2>PpZ!I60iHrWXnKxQ=#DUuHKj$4*=!P?64 zJ)-g^18K9+HvRL0^1kn%4{K=1%6Lo346p30#0+aqBEm-sSg?vKR$4P=+~oZUvX8bV z%0St4T;oPfrZF+;X9mDg;pvu0Xc!;J^OP}Y96y>#f7niv&2)K2A*DY~m&@1V`OBA6 zkm|*&FZrB?B8R58*d;sP;BykzI8zF@5qzax5*0~?(Jd>Hm3TQ{4;5uby5yRv0oKjl zPi|g1Uc5<8WIIX5&(|Ef)9!s~#J?USW<e1-bp-cizuCW?LOlNEc@gtuAxdK2Fqi{_DbLjQQHv8Ltm$A?St1%X!MJ5a z!vQf_y*#mm%4~4~bP1JBm{4*NTHJMO!~`hmye}xcASw^GgISarWlT1(w-x+Pm&5hE zWU@2CGxQLfa{bX~P&4}j}#WbU;H+)FmpoAd?};Miyki9u{Nr^GbAFmnNTui$`E0BfwgUGt_V`?%Hn(L1 zQgWuHOGaWk zT9XaT(}>^UIcKw>;Xj69+?Y*Fd;@Vye7zwEs`sPUMw{4l(3{NdXl6q-*+=Cn#|Tn% z`i}GlEkne&s^Lqp?Utrq3t=Z2XeS-7&_%FhAGQ1*)m`owi6rZ(o!(+T07C6J)Y@o_ zFw#wC7k$t)d_uH+*JLksZr)8i_1bO&Kap{)XHojg#O$-1>BZ7&su*E^`0!y;jG8QE zk;tt!Fs;etX3+U)0Oi4GReJ~&L!8AtspL#6qXpm4k-}OD1C0f8vYRIFK1hOcKD^&o zwCh3JTjrFo;tF+(#gsqLNg5Y)k7b*HZHlwPyRv0UMrkfZc1B>xqMBMW!v3_oeho@- zciw}NS$Xels};tII$BcKv`bxx3a4~Jx?>!`$=B9oNR6t<_kQ=dz$R2G!_3ttD=H|i ztzu=oG2NK>ke$!R=WJ)lhML@2p)|tKZohfjy=-o;$J6P3_ig4`ngaNQ4KpQd8e2R% z7`P~Hf3TxI=P|dPA&Y5j4ya%k8uW^{99cQ+@XQhHc z83ZJ05JPs+X0nWSakp9CXeG*34Q@<3QdUeQYGR-!t5fdv#xsfslxL}=;1!~#{xD=O zi@wK%=w-jZyzD-f^UuOb(%Nda{1$Fp7i-!eBdlycC`-I@GLL!VBclC!IGvV9=zllX ze#(p5hoESj=R&C_)9CXIdURMGu9u)d?#nk@+QXqRL|c}Gv>4?yETS+$ga$8(7N`b6 z8jqIp(uOQzo_73jml*U*^Vp1$n^OWc`cTk6t%|;HjLV#1!^}f{6E^+Ohj_KzX|?)C23e(mWN?etu{VeaXR{ z*l(V9*ViQ(G5LNE4}VZZR1y)D=08nq;}Z03j9t=5FbeHrilxt*M?exB>$$lZh6n=o z+aYev*tX|)GQ*hu;0hS@p^Tzt3BB#5X5T@ai!z;e1wWwJ_R95s)dA36dRI)fMyi&} z_3$Nlg6})nwDNvAKLuN~J3p=OV;?9wFkS}6niT5P^X@REF<~FlP(Sa6pP9p;E%p2n zceG^c>uGoUx;r1whoxbT%*kTI92BsDl>%DxYB9`0p0yKYPTL93NG{Aw(2wjn7Iu7% zUkO}FaL*qOzx?NB|JzSL{pZXeM=4g!r={{^m-KvfQ!C`OteON8J;<9YH*wJ0uauO8r~CJW5yI+ z^1+ca$7b`n1KgLNfBEI-fBE%){kXaQ{J($t?IWOhN|r_*x>^6*c&R4k=w6AQcg97` zjxd|wi8&YHjP?nMQ`0V?5XbjoE5$fx4p;y)G~<^;Jw4EC4W~j*fori1q$puet_XGuf_~Siqnu0$M)4K!|BKW{OQARH58Z%dm}oL5>^3o z2o|`1n7YMX$JP*_>hM6Wv^@9~4uQrK!ouGr>{2#`z0}w(VRyddN({noIQe8MnIJEY zg_Tr)Pt1Zb!RDAD(H5{kx7Z*U>GFM$^Rmd^!?hNLG)ERu*7Ww*zx@1fAD5Q6Pxic+(2xK73bZAm^D9XrZ2cby_$GKV~_jI8J2MZf?2%U^%}%d&bX5i_47)hNxN z(!$jO5N1mvQ$B1R7iE){w*1y-ayyP}BVTGioZ{=xzx>O8{QTEd$7p${4*9OtASV@f z4>njZD@mg5dg)5<)RRfnz9QOR{_^ABJ}%bX!@#qVxC+unV#ufoZ($AVIBC-LAlAaU zPL;un3Eu>#HjZ$~`0;G^aKZbZ{`JS-K91LoiD4RjR_IMDVYeZy9*qc)tA*=je8z*6 z81L1{J(!-MC&On-u~vUaym}Ca7T%r@(NTwQ@nOVEMlaij^gHoRx?N1VUl8A#+K70W zJtl@vb}R}7J()eroFNlzN#Z@;)JyV`{Lt*ksd*|3j zssxwJ9&fbA)mUaV+>(89yk3oSq2ZqhNe+`1z)cAl0kZFW?lHsKR%dv5rm2;Q@utt# zmII|1Fy7psFE6i42Z{YJ*+F6%4A}-~sLN{1WH&aqf}$?cejxtB<%H1zFtoDPcszZ}j_hx7AdC8^7M zmLqLUk_U+bZ#7mac0;6J6Xn@DeZ zUhx|4`|IKQ_zn9JXQa6-A`O#r)O$vIRvP0)B6z~13cdm10j68UaM?b@7U^!;hj3gy8@DXLL@hRUvpMpE-OaS>fM&q=toPZT0u()0>*kH0`)F@!P$ze z0F=yQUwWw!w8ReF)3^I+iO97tB!Gj3%CkeCq-Gz@)=Fn=87T%O)933LAuuPjwV?3x z?tRbpZLcd!8@8a+p%*0;lIAuj_Y}-+l-UmFogGKYqdkZG0N{o57I;BkSIlCUcgs6( zMwUpKa{txNaRcO*j0=!t!9wbbK2r&;Ahe=#yH8+M4zTfP*1)LnRb?HYb{x3nnGP8| zXyx5j_oGOH7Xg4BkRT7AAz-Pq#?_`~18)M4A&Xv0c-QB*EmsA$zl7$NRJlIOg@26cLD?6R$`he}x1Su%)!uX$Jz5j#TcD~QjB+x>07-_1(CD{48aYXuppPVXG4!>M(#bHL6nLU=o_DR@5^1!b!$&; zT|RXyHgl8$9BM{JkPN8joRoOmJt3{>#wZ_4NQ-vg=N!%f31W7${3UjP*i<0ZjEPf@tn23mv8Z`V`7H2GI@dnv@ee)GNbULHdN3%%&(+#|M0sNn&S^WSQU&*IUi& z1ceRLF=Yd5aJR(Ry^s{PAhRh-y#Zd==gVou<(8F!j?AUQs+ZTZ&(7+g{l@!7u&~B1 zZ~YX445R4(ZeRyfm|<;31XeraSvCQ&!kpRoVZ=(7P?kRHdaSJs1C?qCYc;_Tuo@|* z4q)&>#wnVl&IFk|St{PY16I7(Xy}5KXkvw*307-4t$EvE3o?JQ^!`Ahy&u*a>?!dt zX$nu5-ao`GYc0(tfeeHWN3Mqxj7ShQ8<{&Mq3d=Qr;1d_~~tYspf4lkGe zb+_zIRJK0n1_Ks7Mjc%3|CQVDf>`Q~>WAUM76Xk!l6~W|m@IX=rv1K{cNnInkX<&| zS}ft$ryYcr-6TzIe8glgJlDPkJPo*vm|542kk6;FCaAg(-Iv^Ig*(;7-_3ipF})m zdcn;IfcuVB8T;rH8QUvWsyeCo_5l_U=RuZRgBl+91u#|BiRyT-dG_p>$T9X6XSb3&9N9`>vf7mH8Dak0h zQm&yYdb+&bj$h7~^RoWV;*-g8^8m^X_9nbL$yU1>o5ZAN+vsS{uH*a>$t_i68=b5m zJ|CW;cDJ~SHuE~7wZXE>K$dIJl)PjKxr5p5f<(J2}fjHzSulqCKH)Ws8KKB?d=7q zn?4PkWV3nT(j|pdm`FpIM82StYuyN0fXqU=QBC72`QVN+8=9n9k-5wm`2lwi(!6_l zU1rj2j-8XHfHfDXh*cju5C29+y@BjPP}dssN+=m*7CD8QgA@+zKY!ef`wyDEgw2=* zu{u8+UrA||D6_oM@|T#Dnj-VZ%bgJ_xSDB3^me}?? zkdWPy(?-JJ4jRF9MB9cdvWmRY8U8Kd-vgzB^I?;msYP+lMs!D4WKbQ_=o$oIWh{^hSQy`8VrxXv)K^0AL9tO=jmu@}8)xlZio|B7c9b0-ZXbmsd z)t7}Ld&nn9wTta!;vv#k-;Sp-ux&TNO_Si0(Qc~y5WmK^Dd{m3WX@I(eKAg!_YqF!B*`={d z^?E!%eOvXF=n~a1gsKakBMFUReOay4 zWNP{TknhKe^LI9(l}UC2T2iF7sve+~M&{iO5~dCGn50M!jV4pecZWo@GCGaB)4Up; zu3)210fZ{;OtC-*Hz63yayZ#a5DWS&Wqvdn+P<_=YNf_6nf?ct07ZcO@G8&01|m>f zO*)v}Y{_o*-Kdj&zEO$-GAysJ~u&*KRqMz|%RG0FovVh(&s*1Q#g_XNB)lyr)`;>#&w zU!WaI&@}L6oJe@9?b$HRW4y?NwHQE%GVnpR9C)l1yugDVNr;v`#7ws_+Rwo;H*~{Z z2Y8&1I}WMoE(D+hI1D1f5j+V-rB<(n%6+WrKS+oI^VmRwg3pFAFZV9O4j+%dpA+qJRi?PGVBAr_9-q(Q3W+iQ`)h*@H_ZykZfR(!#TRG>||Cv z0>ntd1DpxW`V!yk%dfxvd%STNm0M|g(-4Mdw{9Zk{eusN*m>AN%`(v)Zg~lw;_zKy z`P+1y3n_VJNVyZ7V?O6;pm8t!lU^>tSvc*$F@xg$b$2{%u9w}@(rss@y10K8Sw>T( z>x}x|we-CSA`+bQeCvyZAs9C9mC8g&v*U_g9?0GB^wV(L^Mi?X?x~cMk&$QurWdNr zQ!t!k|*n*I>4sj(>dfr&;k#}%2p~^YvIQ9 zV^5h2DMt-Dms>?f9;a>bJw#LW=eL*F%jeIVKVO!a%*sNNgYJbW|1{dDBDo!KAJ$4q za%+@wQ+{b7q$xU_keA14SN5;K8$12_*X2QNK%9|GR(g{`fS}!`!M)~0r4iDBXFuHh zOwI^-dcqmXu9m3ffBkitL!o>G++!}!(D3}BY2BBZ`S7x{a&`L*p3cBi#FX^7UyqNl z>G1LTc3WcCFB0BN8`0X0l>Shy2_)6=86MP~K0JD!z?*pnJ)Oi?PO|a@WpzREBPcq8 zX;l|gmyOa7N02;X2e3%p<1!w~2o`kb?R|GTd|J_)U*DZ-X+Fu?R9$E!v2_T|CnH~- z>KT`xoVjph?g?kGh2DW`JJhe2NcannVeHf=;z5n6y(*(t@E{^N&+uV7fC{4T3-1OA zdt64PDWMAnRQ-N;{5S-f-9Pwb2nU*-h@hNNSCGUz(VnkT)?N3!*8NW`=h| zZ+(bI^GP4kgSBME^%>Re$b|ATz<~d@jcLi#WyRvMQjKI}?=gdx_FUK12#iSQZe%z` zP>7QAQboXIFS)}t0A7VOuVcf$f+Wm(L~2ZG5}ojq{YIR7rH=0-dVp0D0MXI*+0wIqQB3G#r`5zNSZj^}{_=5LgRlR4JN~Ms(?g_Q97AF>NspfowjI@~B`B zfFs_eJWRQcp^i7^Vrm;10Iyg1b{fDN{^l~}j&wfG@LItjAndMVjo@~CI?PHDR znkf0>3Ulub-K`;kJm3~d-YtxW4Zu@D33+{-;kAOAkh~wCF7ME){Q)USku=_Vmw-bF zFD@^t_dRHELbAeixN%4xiSou30WWUXRPGQ0jBu7F{OksZ3tyK?(XtPUgI|>{yB=xv0qQ6R?() zYwNCd+5!_>6S42sV>v*Y4!I(ngSKW)+wCG=;iq>S1e-PPr}-YF_X&9W@4MS-@hJJA zLo^2UI!i+lwek^MFdL>Or&I@XIBI4DjONhrl-ma`coMOjG4n7?MTnWfw0OD9iqIya zpbiR-Vu1`k0V_A%hJ20V>4)RtwpjYis$4+uK=Bo^(Zcjaigld@a*Z)WOnWhnv4&G} zCs!l<^6-147ka|03%sDvB7b#UbGOLTGS2`ZHIiyHS(S~Q`l7z`yz>w6_GIZKAN&)M zo64=`rkXN;VONJDwF`}p!9y}F?k^1s*vtH-?vys{wKYA`p6nmb%6{k+lOQ~e1mdmZ zDN;8rmLVGlvTv3 zr`ah#Dnx`#7BAlk_8pMRxDffN99BqzTl^3?^BZ*5QW`Vn>S^te=a-yv^*tHAeEnAi z@u#nc-R7lohRyiu)VXnpo!y<$lp>}xVnf9X_w|3+OPI|g0L&!&H zB$YH@pAVYJqw}jmaEcerH7KZMibQ(VX7DWtd;kR>$ zB9}*+noX4CDC*9jCsQxAX}H#$ZVArdq+m&&_8G{|@+EUo#2~c)ay@?jd`#cSWgE2r z?#p3weQL>=D2*572yq9eCi*-VS;TBZQHAfMh|#;&;j=%pX; zu+C`r`g%Hi+1=;6|0a*!Vy_pburQAWQ3vJ?gTTWe7H8*8Gpx?=5I%u7%J3{j`^zAE zY<%TJ-*yY@nI__tmP(mSoS=gvC24E4^>GSUjdoVh34%Zk)}!5dE{Q0}*z!rh1An zK59DR06&q8V#9^O%vN=PA3D*LnY;pTyyqQY5jGiSKGh1a75v86-5F%&6aM#h=JD2V zo62mMaJE6`C;6}6w(7lO+Z&R3?lRh}KEWpQY)u>X2b>AeG}zWpj1Hzp=C_uj@!pO7 z6q2w?RwhS9LuT08ickmrvb*i#FzBb@uV-YsY+iKm2i;Ee<)p{4TVaIVYSxPbYx2Mh z!$@(tcv(0F^%eYy7a#le} zxP7O`c?FellWDc3CIsA%Fj$^epRSdU(Lr!1$`SMo9YN6J-j;D+h@n_tOA-&F1`3C( zV7-0&8Yz^wpN79$c!Wjx*B7`48ihvb)xZE08>&pWm1adBlnt_cx$idkf=ku#nyF$ozrH8OG?^Y+BNq%0UWFFI&y%nUSS8_*X0SPJ$9bz_i~j5!ep z8CQ$`KA)DjSIX_JX%1(o1wO(S+OH$nkZe0wG)I zO8Wx6@w?NSFru~kl%~cYy9f+_4btjh2c;;zB-k6u`6ea~`{X3K2TUqg(5X*zz;e|5mY<4{FYvjj2)%_+T_*H2_a#+Qmba_JpUr_1}i{+>_~cqTk= z;6NoGyP8agoeqkT5!0dv6Y!6&OS*3|mA=%6s>?^VfFhQ|MB*&%aI((ndqyO*)cmBnPJK@?h(I^6@cnSZ39(M6)-(L|9Ukoi6)Aa zkweM$?T>qedxl43W?h=2aU{hiqjzlW=*H9)47U!vxnWkWAkUg&gotX2_+^r{s#PsFCx3JZ?{ay50Uo!i^2?5}M50KZD1H z`Y0A{O}8hhnP$kPIrnnCUi7gDE&A||u)h?FKo&OH)F0$kr!)SX$%i1zn0c$OPlxS( z_h*b=LHMT^oK-mAqUhU;ZMWR&a5gH0?9)nu0eYuHzp|v6hzJEedYYIhu+|U3f;YIA3=2=OX9eB+oA2dA$vqQQ`0u` z99~Jr;-bY1QJG1PQ#sRJMbJzZ{p=#ZOrN>P+Hn?R_(=RhqZz&_ zwS%xI?C70j4_q{R%opT`KDt7)$ED%xC!FN2RQUvVrwi?en_n=6cq$oDZsnC1WhT{l z<^%GoH+J|h-<+PF1<(ERoDJ%sk^<7m(=u7bAu8wF*T5vQ-yhh z6yN0O@D3j3Y4`Ez8GYcT_c)ncQDry4^NHD*>#fV%q!tUS!hdJjpxMpemtnIblm`&T zW5l2H)w&CM9OsQRxxRdHJuFd-YP|F2CmhBQrz-iw<#)*LQ1vs@2>-Z!zu%sZpB9Fu z)tyXjQa&;o78|C{i25L3Hv~nmzkyObW9A^Q=0>Kk-EPIf_J)QQOW0h+8RrVEr%)*k zc(g&3FLfy>V6SF0v2~03V4c1#i&H%Cc|alsJltzE*ZGRnLBaQt0avOnhrENy^v~wP4m;)^g&mbLs(hDp&JI9oD+~tM55*_QmNHy}7uTyOi@`8n)D?<+nJCEXZj?ULo)-$w zv)Z8A8A4>2qvz&mj^3dzqZgT7eS*Bwx86Ks#RDmQGl{8y{4A&Z%lrQ06?YI?RVb6* z1uv7fc}=xym;72;xuz0|*K={w!!?5uvMoM@DS!NgQXUHhuZPdu3&Ncq_01y*eAJh1 zgHNUe&a-RScnmjsdG;U!MxKp6^Jb-0NaP zH{=A%FD5PUZxh=UEc+N6Zn}(>U7zU!jw@F#rn+6Y6G^wp^*QT_=x;$+Ec_0PfL4^- z!rjI|qbIYCT zdfi;LVYbbMiC9RhyCeW9&n3}fNz0kX$D2O#xGFY9ti- zZAsL`ELgiFST`io-8BMBiMoBwp15X09xn&#^A})RTe;&_S@PF@MqV5tN5fU>#Dua7 z<2XYI9lx`}AUnw;t{E}=MH^bgIVMr72hxq@cG3KpJYQGAax#0w*+Enlj5wrCD=xv} zy)^z|iTs&!$J>4@6>GVV@0TxpEcozl;1_v`&V_qc2XTL$VzWB@pJKptMo(TB< zn&UNnZ^a4M5eexM@j50|u`k-;Vxk(Vr#lmDFsqJteYA@Itc%AU&jfcl5degRKUOUk zq`^j2yP-I^aIrd=b8nG}cD!qgV#t+k?>5i(oBfwR;xO%Q^K#i@H~l$P37#YE`2|f^ z6qfk>b<{&&^u=F8?WCV!T+__BS0(K0a8(F$k$Hn(nR3u;YWU>ir%77M{2`!H@cI6nu&J2>&rJNT5ve~?G?TKevg1V&J;d5%fovMdj!sl zTMfLbkNfbWJt=K~z#h`c3?StxT09DPf80R;!i(?cw`_HXnI|M^fEo9^?_yjq4|Y8u z{c&H<8v*|9fPWKC?caUc{RMpbMdI%z7RK>#mm0__%;~Ph-b+Uug&jG_ z>aSXHW1bx^cM0-8E}M$&BRKlY6TzKLMwxdf-%O;hm}TCDudsfozX)oGMiYGPk`|N9 zf%J`1LO*6NSmoxcQz87$&D{;Cd za>5}RtNOlp(2`ENs4`ROcsUb3;(R^4y{t|;~92^RiHc4hLF#y_R#FctRn+FD~xHDSzaAEF+y+HJH1=<-#8a^CB zeL`P~jSGY{c8z6S<$cQNbS(DXXN zS;cb^A&M0_dROe+;@rFXw7WpcHWx)|p6uo!ju1+Qvfw5Z68E>RO=FCsI!YqVj5$7b zZ%g4Pjw9%pT5s>K7H;WYl61M;U(777AkLq^L3XTeP6l`5R8Q=$nK{SDPHPo*c~7ek ztJCXt|8S#Gkjoc=>P4w^C>F$w%+AA5Rf4XME6`luKQwk_X_yi7?Jzmg3B@2-McbWA zID=D@YQA#LI#GQ=oJ^YI8v^R@!a3YkmKhSKRXhVY7my*$plS+D)i(uceP2OlRva%! zE%OUAIWm8Iyc|6)t-c9@8A>DOPYWp@`X`1X8Pf8WG=dp%eCpj-?&e&kq+J+BBsZ%p z>FDe*A{y7|yNXr5SZk}>px-^YE}VgyJ}bP=yc(G+u9T~Av=nP$B^JZmS+Jl1Q4-S8 zgBpyrwRTuSEoQ(8a#k*bg?tGTh|SCE?$!o-MH|Q?C|#Jz7B~-(6k1rPamY4Gn!4h- znDHhIy~bj;4r%Y}MXb$vsoYIPVqAeX@>r_Z4(VBIjvn(6k%AX5&xe;dR>|>x(ge?7 z`yfVN5g7IXY&{IkX25d^WIljZ#;8g7k_M;hsuJNO=M_{R4j|6^=M9#H8GG_HVWqStZVjQbfoUS(F>C5^{AkijwOY2n?5#Fwt-==9Jl^!%Xs#+-IF<|V-7!mz$M1^jq?zhb#z>Th*xZS&dZd_i>n zkRRxRYT0|UMKG~DMU205LfeJ33dwX%yXQ*>5|J8KqRlIRDGB?9lcw06!z@ohzP*OL zrvC0-CP)h@2tpRFegttdq)a6krkDXY*W$%1ufz$mJHlV{8o=3#jc$q{;$B-R+3ewO z!1~%<#0GyrkQnpwA0@#VGAsOukpdeP#NrOgncbQWGq~Shu?l@SoL2XnFRL$Sfn)qV z&C6_qTw%uoB#+k|ta594X);+#di09aO8As4aE*t^u3=CK;N5UfQUQW{Z>yfMjl38rD*m|)VJ zwOf~+oaZn5Ki>pdI&9_$i|&lS2FPAgXLInL^w4EQNDy5h+dgok?)X$c#}lqk*968oG-O02h1dvg@;bRiH1$oXa2Kf`4&XXh;Mz8Hp&AmD3?e3R*J*Nb_qKg~{eRP~SQk-N-fVZhuXT0p#T%UyEj*3|4J?-94&zsK| z+1*zug71y-cR?-IjN^5x439mR*%hV?HcgYwg!vHvkjxo7y2^)oNui?(qa6SVVg1Adgck(WFb zC6t9^%Wf{r2A0R&!}(aPub6-yfWaZzmMJ-SX;@Uls;kn$t~EToQMd#b`<(r}L$I<> zSE^D>%@V?#F?-$Y->w;L&d0%!7`aJP76&%vQGyJXz1(C>C;N-fxAwTs zL7k6-la?bcu3g8&K zqg*Ikr9@;|yc+YZfY>|PS}e_f-rg9Tl}q9@rZZMc_?0d655a(`iA?}=C76LraK@x7 zA@y-EqTOGj;Xb1XNh0-&Z7xLG-ONCw@Dznp&Pds*rG8@1;(_Rg)8zs7g$^>QY_eP^ zS?IvHI9({$@V9k?I)=$s;?Vbt5b1Y~LAFShqAO=hG7UytCZONG);K=ZB4u`!*tg~Z zsksj6a^A!7SER<_Y~F)nHQf|Fg0*rNzJ%t?pb{s2c?63JaBhWbf>kgXNu+t8cmAND z&XYO4SpDE#m%B54N*sFgijV5U_W1GrJ1GU^+cI}%AcFhZno|ZGx?%(R11+{>ip^s3 zlsL>;f&1g(^ZxcKnMl(ZaM6Vj=T{Q|FgVuwBjz4XPIo+;hPhMXFf|4@NVq40G`wAu z@#6GxEE+M(0||K1EVbnk+(A^KFGezHN}P;8Tx-0}TUlEMB9|=!h-Cs)E2U+kmVtT( z+7Cp2FHqAW)gyh*0#f6rd4nF(P&4(CH!w9y?8hFmIe0koFyxg`n}v@tm{rVyF+aPh z@n7Gkx{y4k?mVMmN|dPPY}elhtW#8aTm+k%6A=V9CRxSFVA+371~jrYxU{r4pVV~K zCEO`mPHOC0MH?q9N(N5@v{Y4w$xx!|=b{np|2piqm&2_kVs8d(2F_{bcP9YsG%<%T zKy3FCSaxB0Y6iXwtRymHw79WT(9ZFg;oOU9W{WBGmMf@)mfhH7?j`F1&TPG16Cn2E zn~JP#BucHwslw9qW*WL#IK-<=b-N`6V=|Q3PriJwbY-EDRY7yxWM*Lvu)5UrPzzQt zBlU-bl^vL#TCeYUV{(0QJkP1m8ZYHzoXm^hTG#j^$`P33B=!?J--mT(rNf?Utpie= z9ql7;(C*ls+c3;<67^i}bu&_NFMC9qyL?z=oS)#05YF~#Ej~e+)-JBN8YVZ1{bWww z{)fE$`1Y5JUog|FBo|C0=(&I!ms*vW{mxtpfe6ExE+u0|lc@VB4B=j;W}nNg0{%08Z?mObqZmc5$kZExOVJnTO{UJ)_Qq&unwjF*kG8(zwHAU^QDv%o_* zeHE9WL6&)v&oCX;C9DoWRsX?lz1 zd&PyIVW68$3kQ2{EH~aJAm!8bC zVE13LhG(qo)%qcktOlp2%@qq2=gSHC$Vx<~wy;r$gyi)P(pVpKT}dec1Cy7;enO;V z=$BSl7f@1jghs{|$GWu%gYOLi9=)zoCRJs3)(?hUU-al*Z{46`mQV(}6pK%}WU-Xs z#1sn|0rqHawzKyc)AHvlRy|tT_IJ9}c*%RITB`)r0Y~HT>mPb$We3(zEo8X&o42Jresdg(BST=1*7jLoRjD zJvDb18t6&eBzxuMnc>CYE;wLrk?8wW2f;obHn(+5F)1_M8yn{v=dPOKL~&>iK@n6C zw!ojEvhSKqC|p1OJe}`vJwoynkk8%}0kF!68#z3yZH=laS+NI9ArdFN0O)AJcbzV= zfA*I|AbQi|EjhmZgg3d%R6qQK0dVC78+4hC*Ggm%G+YBVRkWLm3u7XY82ZQnz3nqZ ziL1B6%Y_*V*M*5b)9q4ek;Z|1q}nZ5t93BqK)Wg{wm$g@Vry)_7HpVHB=&vM%<*%2 zdq2J*yZCKRP2^~D$1=v{hF$+9CAykHF3>%tc<`5rE5E!J~Ungm#wVAJCeixsyd`A*$?3;>;ovXM4K$ zVuqf`su=ZZiq`Fu%LHmhA^H!z$nMHEQQ2DcdNUea6^&tPn-KcaZX2OFz{UM7e$%pnr{ zCHzvbdD*=^T@>?q<{rmiu)sQnUl4_-Fyj}5KFDDTk(heRi(s!g(d0W(DQO4f^I_9??GBQecInYUnXwtX18r^^`&V*!H|YdXc;>>!8FWSkk{wK=a(A~dP%+JvvyNZ{ zG!xJtK76^BduS~9q z7RB&YcH8hn2#;lBBf~Wew>NnR_vPVvdpOUJ>N zHbkREx)4b9qYcbMk|xbpRNbo&Y@e%Af^g4IH{e;hO5IAf0=HP|z3Nh$ViJ-x>A7WJ zz1=+0<=*Qb8j3bFx`43-{O>Mj9~L~e71ReY_p^+Rat^E5Hk{5IgBfNLHdaF0?pJU$;<^C&xiZdHKcWY z8E{;1EwtMZB&#yBH(Lh8nY|%(>of-M1c`2J2{f3MBu&~v`09}R=i!QAqZe$k|WSj(leo4P}yF;5zh zM`H7e=t9{Vp1GP}^+R(aJ7Z<1X8TwYh5C9pUNQ!{GhSFi(T&-qP(I(Tns2+}?U`uM^Efd#7>Jct$DA(DjRv32G3;$gZGd@78zWu0q*gjv$o0G92}V zRqP}VjEo!akeAAJgp86MnX})4vPmHZG5JKo%p2ozX*?b+RMOLn*Qng1z0`M2ezMM-tRy2UGG$JY)b|FzU#3mxm8~rIg_b(6wQf3$>*7gku{l$O%Df`U z^^0@AL#RE-C81im3+x%>5V|cX%S zzD_-i`8gQ_4Ds(4*%rydimQ+XuQsN}hlH2C)no@4Q-%HNL$joMwj0phAG5h3&{~HW zX+2!|h!+}?=ox1@2N(L(7teG`8Zgod_Ft2QV8o6025u5^({y8l>uISL#Jh$Fw&KDm zUM%Jf(?jbHl3{rYE@NdcHrZ0mr`JKgm%f}!#9fl{#RcIX zY{AR!tnXrFyuZgv)T$UOgbo+Xud0FAsK?HSy5USRW}nuRiT`fQs*4)%g6(<8&Q3xw zfE>Fl-7>*Q>N{`>wW(o|ULmd8``hODNT3-Grn$1Kb_-dAM7X`Tib#BuVy`kft@__W_cg`d1WY#u{Mx8F%rj>lnBW&Z0 zP@fE&U0~l$wD^0!LEN?lUU~zrt3u(jK`BoJw^X2DJ z`v&#MtTdtyJW{(r=n9e&v+OMDXauouafd`a67kjkZq)N6+MbRvp@Y?D9AiOkdNVRa zE%vvI(Ix_tIP|TT??K(mIySPlco-oMR4t2ohEY9=44XwA33R{ssPkj|qy8S1mQyLk zH<~+>@3i9Z%RFw1I%3x_x&q)tt%BJZJG=oM zr*I8qQnlSt;1UT*9GXQ)hFeST7@F=b6@QREcskuo)hh~~kb(6MFKsQ{MZ-BlIY2|m zwOExb1xz9&iGy4;gy6&t$gcai{nHL&y|PAf-o^BlAfCbXJmGE&38I;=1lcvXxWV-| ziSdQjQ8Bl?w_}N`1U@8oAA&0jkH_5ys>rW0v)H2AxVCaA8a5mPGMVG7(%78F`o4<* z|Dmxk8L=V6vcH6gi;iDI@j5+}TR5V}x)vg};Ox!XIU~wNxozj7F_RW<#Kr3I*Kp>t zp(O?roO|jdj-89sGhX?sw?^*{fBUy@zpS2r{%25|{0TpN`!#<=Gq@0iys25rx2$I~ zN0fk?-rkOQ(rXN`=#jFcoE($mAuXkHN0+OzT5L&yW@pR7Zq}#k76B6HtG=l z)lVFYIq-!wm@VOzVecusd>MNVuVznSUhk30%mp2&^;Fb>7?w^_M2%aZ0;Ecd$df zB3U8;!`@Uj0DqU@r%J=+DXK+yOZBNmrGe+!-abU^YN*w;qBNFWtLz7UzuZ+P_iQvx z=cYCiBUSp%$x(iMQ-sWqa`V2!3fjubk`-ysEhvG&+li&Bh;&>aObN6k}=G zoyzsR??;Zabe*~fWFD>&FAhjqN-h@0OtJ?X!v-^gceM*%^xd*&mCerIr88iy95=4?(=T{skXq+o0uk)$(&ny z#7*GAMp{d31XIBzShQ*3O`RIQ;n{Y}Hp~T#s&Wd zlh43HWUz444{MmF4+?NMQC@Xi4s9%ZS?jy+Ft;lZ-h*ncOVrl687sF~=<*(XtX69X zbZP_AoAMh_vA$a_bSVWvHUE&_E&Ev6JO8^Ok5lABu8`wU%^V3OAlET;WZ{S$3!nTq zlJ2mBwdwx~a?e-b7J)+~K3aY~0&k`QGH~{;vVU$Jd|#rtGE>W(2`T$p5fROiT}-OX zhb`ny+F}J?3K+s7H$*3tDC2bONo5B;R++*k?+1 z>)SuX^we~&yu-}8$Bt6=h;N6io1jW~N}UR3 zhD(0;m(GpP15S_aLIGR`@k*W+&g@rrao zOXd2-z;YOij5w zF6kBn2u}@%I;+VZ%FD#`u@CbGqr9vsX2|R=C8;n#hBpB^b=o{{UoNUf&L#Vz?Z7*H z97E+Uamgm<)_d(5+riUY@X4B5@-NkW&z@0kl--CK#XP@HLM?(fL5?+JrcImyFSD?pz}@+ROd;2ORSwdOVu981@c40iJm0(M-*IixX=;b&lXdym5%n6cOpS0$@et6u39A4^luGiWEPex# z(ZDxM-!S|--VX2QS7s)5NRmDon(EhsEpgbw8Va79ncRNzHi_V@I4EMHiAuQ+ZOqE^ zxZi#`OLncg8Ms>XapaoH;R9^X831MkBXpr3fmb_pSh4D6t&AC$Z6=Y_M5Vj90JpO4 z&Or}-#WPRL4~@n59>){%!p}T=Ec}0=i(m4I=U{}wXPo3$L617!#<%ypx!;|h&PqCT zb#X-7Hd0(1&XBdcydBy_=Q-LHOm?NzL)0{2f~NKniGOft?{#xJt^VKD;}NXo=Hn6t zP!Af_quW*+m!202Kfz01#8w>w$-ad`^fZ9lcBpaG@bb&co^zNyJyHmovdPrPG3S&s z=buoUW#NZxIs8O0tCXHeV9#m$mxpMPN9WS;=~S{zfXzW6>h9vE5*j+WgFyOV{2*yM z3s&}*O|=!HVGLu((%*R(gJr5|Qp_v3BZtP_orB-s?1GA08>a-B9ZDBM9p{ErEnqlj zE7(;wwO9NOj9;>=U;RJoOqp%|XbNArbNu|~!N)MzSS@t{Z!+9s+sEeh!W5IzOQQ8` zBvj^KTN18b>yT6}piq7TU(yTex%WTp~VvvLU zF)v<#yo2^@XT?2&q8!NE8~RS4hu>1|u#&vl@5!nq;zu?B#BW!B9=*uL?53}E*KmV# z1d|6&m!dnjc4=_Zz7^ocg$leF=*Uh`?&JV)MU=zfPmbFQ!%Ly7QB}Al35JgWwRR4B zn0{@eyz89BjI+s;cp47@*Wl<}LP_j47!2Vz*!&I1RGKZx!*-unOtTre|LvD=Uw>Qu z{4c8yKm7V{tFJ%(b@lm&ALk5reVve&mmjQ#hc-S1rd7qj zMm&X#HxXVV@M=S1e%y^yd8fa9{oA+MfKMg>SSm52c(WzM#4~GzH34E}v39C*E5r|& z=JU@CIY}g0Y}pAc(b)_%oYX;mIy}FOHv?wD_T>=||F1M|5{0HFcg(Onf^X2b8_*b< z8WY-GIfM#%LiIx>{vawFNO^UII`$;#p7qP-`Dy!p{O%i{@b4mhFn5XTfFR@S=|=S( z%JP|sZB-4_cYx^Cjyh5T5n{C&bgAnU;Ev}qPV3c|&C64sUeBNxlmd*g1Z_3`IS5h1 z%fnL_1+y`z1wmXBf?qHuTS#o*4o?|;o2nX>GnEh`ycx6>hP!5qJIugVukaps`;XTy z{>dZgiO26%ph_SZHk>EXRrqMRF=>QsVay!HMOz5Sy6HP2y&1F>MjC5S8jl4(;0+I2 zSA5+Z7hj|X2QD$^KM8a8@OwNqg2Kn9f(6A`%Mozpa&!g$$F#2!ojgv^in*8!njEB2 z;#Cej+ z!5&fFAcftGzkWUJM$!J^^nTjx|KYT{KmOwxx6&t(0y=4V3BzZ< z?G+x&VWgDq;>U^Q_X3~%pe;f6=(md?F1SEF-SnfnJDa;)yrAZz8{*mx)en;&bT*_3 zOOM9GDW?7qpyDTIsLn~t#?Ixm`cT$KazSDBhvVUd{jqbB9y&?e8Xy(7$j}#p4Wq4b zt&qc{^`4QFTlB#;?@#erkNrwR8g_i#KxFqgj~FZ4O?L*8@BDNZ0D4BsZRg0<6WTFzoip%r$_`c{{+~sdMY;O1(sxr)e4*nLFKL@qt$b0qdL8vLknJG%I=%QgRN+>?>>YGrcvyY50qIVa}NKI z^v8xECcaWZOD>YGkvC{9(%q^3Zu3V+fxJ;U}v71*FAUZd-& zl!4AFN{F#k)xpLS7j50d5s{9vO$0Spvs`WO&!q2*6=Ak7I#Bcqf#!7b$l>)UC%58D z&CV^0e~iQCwo(tKkInNmc?Td19sb?1{H4@;z)u#zYabJQMonJ= zCOfveol>6AXlufYWphgWReR;=`OuQJT zRjyi#qD~H64LDTE_)z*v!45U9Qp=?iM`S#CWVsDzv9ou-`?P)Cyge=1#V)a={R`ik z6wf9eyd?HvMDIG6sz9_oRVs)azM!^4ipYtRNBQrK3{|!}Qd4ktiYdd(^K^G8;W8Ja z@pUE$SVocKs!j4Uu6%*!FVHhzuxtslsGCQLXVQ2!hAkll;ki1WAdm$kURh&EJ8_bAGC@_VPO>(PR2c9v;yQf(^0egvKO(8HNcZ@vEAm49SkO?0jSAY1h*&YA1+kQqLe>M1=|Ip$b zgLnAUs7h}!xE0%4I8R<;lIb81gf9J+NJqRq%6qBKSUSOg@U(fp+&k@xe&aAE=fT){ zDAye30&#~m;@B+@Vb#y4`c?Gw0%H|{IJNxk-RXV5|HAT}7cY{bd0Em1Q(@v=s~UiX zW2oHc#rnZ$7!*w}f^yjLha_I?l{k?KWyp~si)aKrC-(mC-cPF(R)2W<{AC4R^o&k4 zQ^hz_o@g&2g#tPUpd}}EdeCb~zecYTOnHgmXxf(uIWZ22iv5*>nLVHnGnnt+-=4uh zzkGUIL${3kA4QA^pkH@vL!C+)swV+II4@jllW|tYWXqOZ<*6ay=>@cIV z#pic=12uj-BVq{`Y&-nv?Gj!WoLb{CB1RDlDJ6y(vXMu4WvjQ?X3c&u3^RC-TkwI~ z^O=ij%mng$_To(yt{qgqu*M+plncUzG_d1*L%2cJyqMs!(+g?_?%^4yh0daFY7K>t z-F0Xcqcs>7xo8FBXQAQ7^5_U`RA5oLEKL}v+3^KYeHx28&Dg?~jxUcabm9M4#EHS- zIFOjd%0}GbC8nkj4CW6fNu6-s87_OiAe(h5*L;V&PuuNygleGV#8eU7-qQaUi1O-yY2BZVAqlW8qu+^1#g~ki%2c6 z@Mx8&p6Z-*n89{Y8U)7?9+u>*L%@dJTND=U#-hfwXevg7O7N5CZKwqh{TgTOMjS5WSzD!6!Eb1jEO311V=%cParKqyQ zibmUUafZEJ64qkCe+>RBULN-E&u?EY;cfP&B$YIaS5qAwgLnvg);f9-PL#1c%$gd+ zI>*f_b$PU5hnIx4z~BeTzV0^1{o(m>wL2a!=F;twydPD9tOaDxuE^L7cs51+?h_G) zN*Apu05ZnuF6%Jt@lxM@L&VfYe%ziOp5EU^Pja0yH=)otmCnimPs^?mPKVqeZ+IKqZa?>VkHFR7-- zoeKD?5O_w*E-#5X5S1r*AqQ8Bmiubhys%B$jJ(|&Ai+3m%2;x6%w-*MECkmY1htrLeaU3+WJub8Xqp`s? zi9RMvAkr%2Vjzh7MukDQfOF_}RhT)0mdyiM;>>ZDQ@eSzAYP#o9BAqgYJZ;4T1G1j zan^Dy!GbN@<4Nt0@6QiU7p=~5;SW;8>})0jGDzCikePLyaI zKxi4V9TD9CZW+CC>GSkjad`Er}YrT0;?^|>GFV)`u(F3HDAmvr{>pmYCshz@b*kO+mzKVU4j2kYi39gYO4r zf`ibxSLeW><-Dkw^B=1}UNnSKRyh}cTtpHbR} zEuT71L#87#^mG|IHsa4h?_$u|n3=F+MHzlcDLS#aP|9zhC!G~R>|PulBe9bk3`%6! zIY2_}S+g&t*Xl<6DphuZ-bYa$qG}er*-%Y%Nmhy1Ml~}I*pRfu z>v%fs{{$J}_MBtEv!pUx&2NhVlV8E!O?E7JHOMQAoSI^T)|HG^o`vQGVV{O>z|IlB z4WJI~YgBl8@Y>g?y5&^l*BDzlv`$|5G_p!#((1G@*QV@T7=YX)tq2;VUt7m#MrItl zNIBB|Jzp}dA^GM*oac!_<&w^KRmTs}zI=$WcJd)e0@*HKILBU6t6BS9hOBr;c=z_@ zAFnLSsC;eA$bb(Vk1Cq(16B;ht4ukV2ECH0OtIjD@gi&~UdOSw)WTclU?fvyz2Txr z@s*d>MW*&-AWtu&YK>8L1bdP~9y715M`tS@(4+R11FenkD~yiar50I0t|y^6$%MSC z*Td(>?d7rQ7ImH~ZCaNxSMg#tg2P|Z*$sw}uVR;4zTGl~{ay?R%WxL8ez0^s}k3u zKWvYe*0-it{wCo_X;p%dgIasJupi3iq=$cDzq1T6xUB&cVP)rN`ncNszPOreUx5MZ zq74g?Dkwsz!!WeVry^dA;2)Oamt&7;`nWoe(BpXK1J*fCnY`qL(7zn^S7R^awMJmK zFM4)BD52;h3#+E}SphWjm=p>n(| zkl6#u6&8B3cgar%PS38Bh;EF8AcgWl< z_Y*Q)_IjopI2-b%$kXTT$HP^0BokB21I8HCp+cl_ntR?BLwFaxSe4-L4h*anLFrx@0;}0`n z_JP*Vn7Z!-oE-~|7*PczlQUq2X*QHGMDP2mbYP$8<~qm^Pn*}<%l@kF=8skMfdJ1o zH*sPE3982*-i=jsBiv5L%MMY_faX#Y;=OhRqLHu1Kb7!^`?A-Wx121Np=~Xi$I`)a z;MGDiVUE_?CN2F=#>*bjb)C)Zz<2w{-R8mqnd&O(`8=PylM@hTT=hsH01UD4Rz^W_ z&bewTk2NE4+W5l~&jt2~P7a`@lE2)2-sb-N^Mxj1$7@xF=8O=q;~5h?9XFWFQdrUH zd~p_hiy+AvkJE#b>{8dju1`*{=GuP**+J_1w!JWc)>r=Xz?>2i-e>!-m#%H@d+mpx?YX>$+skv6li1BPKmhi%W zQ<#6(>lprT-#_An`R5ImW$qz2d_3=8dcs(f|7<%emY6zl&QaqfK3A2w zFvcrw#cc=5WxY`iy3$#12vp!YV`NPLT9pXX|FIhtBaw%>OCiC}53J%es=m-*`L1gta~=I=LkPN$d=x zh?~YtW_LX9K5pK2mD2gj7b%@Ofi{Z9f@Td!nQNOYs9>MJcCv~;N$mepKj4o7{`|Ci z!}<)n?Q0vev4iXN-MO}`$D(*Ya)p~g)rFIQ+54rwIx}%6S7JqiqB|aOq$Vkv_~DUEP|@!0i%abNY4%)2)_^$Ro02ZIo(+Fz}aPw|jf$Lh+km26{_}jPD=|6w@;irFHJ^t{wfBv_t zZG-F_Gv}@)5zkKO<}SCXaSs({2BVD=I-N1Ize{lj^XBo(ZFX$hYI{do9}YBU<{l7M z4Ba&Yh5YqNvZH6L?AYYQE7n1?Z+_SuUx{h*LhRP4Z*CPQAzWONFQ*gpAoLpkxBA+2 zVF$r8Pi-X>)2=8khY@0OZ5XIEh&A>GL4E0x_2XuD{BjX@qsXOcEVUx@t`Y2f60|0K zrQC;e16=}wR24?tvI+&ZW!N$Z;w1aS?)3Du`TXf3-sx6K`|z+!6_?<8O#gLiqacI( z2exA@^F$p3aBT}WZxCMz*EUojbzn`v)l^bM^3k@Us59O{mh1SwxxqP1{=*c!p7F{N zFWv|Hc--tCak?)5^=y>ZcX@2?nzX1jtt+Vn5Rp7>gl%&@5ri*xf#~2JSYp8&;|l7) zsM8$kU%vkI*Ke!i&-t%E{MWZ%t{o+ad6&2YJ@6EdQ~A=Q-~}!Pjc9dCD}<x&EofKa4bE>zNjjCm zCI&m#(QXOQud{AtIKD+Yob%2|8EpiS5G{A$Vs5?RT&x7s!9>X~bt_%_ynId9>(Ty< zfN|%}sIH%#kc=u;zgS)#^TELXp#Y3PbH5EJ%F*&I*yH=%@!{zz*fV4$c?+6xW6#YM zHJ)WF0o)ObCRO^Sz-;8ASn<-#0uz-?>DZ6FJbc<*@*b}9(@3sUcx!}a{*vFZ(^ocRB8Pv?Yt%&O2!w$!$`*{P-|SN`7seu9)3Wiuf2VH!{ZI z3>%X0gc&nCJxOA16h+22Bz9?{7OlC!A%!evACM3~)vU7|BF8C=37e!c&P}v}{hsPl z(M+at1L8(C(%m>(&WtLSNajt7kabD|gjja@bqGzago}a-{yK`7ECxG1IVXH8;5;lP z%Y~KgoQFWM%#vrN=Ef@FzpBz8@4jWc+GR$;N3d!4Tbt;vtXTrH!?5Ebrd_~c@X-egcFK= zoor9$eGbHWzx%klKfFIbUJ=gEOkT@Hj(6NNxLY2)h6jh2_}ZJlIIiXeeL~R(rhSRB zLpfr8c-~%Uv#4uN` zkY~KkmjS}i-!2Y~)p*Y%X@03Ch2x-uuE84FWt?$mwL?MIzj^q6sWbj_jX>Otj$-m}VEoC}Y5nB` z37)BAuoqL^I#Z9`|52H6VgautDUUvCz_s)sxZKJdDQ*r~VGDCyVnJc* zQ!fsP$z+h}QhoqlMlT-_;RBF{>@PS1_VAvUXfMSm(|fkY3Y!TAC@9()@&;Fr#U_vr zrIqQ#`BXkZX`PZ+i1G)J2TgizbnUczc{%J)->pNs>QKZRIP*HBF}|COMI>;bZQa>3 zu}so)+v=ZoA1@g9%i6BcIpN&a0@Oj{@4SN=%;5Xrk4a^cTuvFGzC1h}&Ii~%RE$Zi zX}e zf`E8fwjsGa~9tlJMLYH>!^@CAa$l`6V18p+w3!72tjXRvSA;4pn_ z@gh#urn;oHEJGy}yUN0lpF| z;7fR?w+m&Y{eEY|S@#IevAKtk@j~LBs&^@oAk)g=%IC}@++94_)B~-g0M{ZNRC_%X zk>Zq0JMG|^P6jOAoMbo8o0r|&C5zFb6&WIdRpg)zZXsDwJ;F&H0Gmwgmg?c}OM(NH z#mer@_9Wm5Jot52(^NZKq{<2@+2TCF4{mq}q_|53MjY4ga$1bWt?into+)IKq`l2$ z1MEGOWz6^e?(Jd{-hhr`UWbxII=J`R1l;6R%wUBD_?r z!}pg7O;fhMf0ll+{P+#vI`WZpUggc^_Noy;XTNB;|0>t3=rWHI)ZpR?M)T5bRCdp}5&xdPX zH~;j$eJeZY*H-UJjg&{xvV`#@a;e`foDP8WuVGoF`dw_O7c$)9^>72atB2*`sMXaX zo&l{!UMFHa_3;eo+{_j}g{EI@5PO_dKOk}$JviHej@N5NF512I4GmnkZ1#o>C&uJYy z_GV9vGJ24+MV3`!YyvG|?a#-SQ60yInXL1BHqQAx_WYv!;FX)~7He=X(jhJz=g8k+ zzT+GE5fk);b$W-4M#$QY_d*w3p~4#l?Q~^WBkNG@w~&!b3^sLO(=c4i&Dn{)DFGf&r{Z^2~@rW@!AI2n;@!tL%B4_|oVnaQMv?RQ{HD;M!jyT|i`t*R?nXO_b; z3Mp2EOGnD%1-JSpk+8tPZ^G%i`%T^NK~Gk9JrT@kq(7d*JsnoffrIOOA;Oi zAcOb*X7Iis|4KfBd*Kvy>f!cU9q;m1fm`Th8Dy|fg8R83R?dlfL3xM79s`Ku-wQGN zlu^7S<4DDf<>V?rvNWMWRbV;lZ-Wq%BUHLKbBOo~g~*3~dYXdXR%c>SGS>4-5y6$U zq)tQx(GhKUVvN!A2STs83~E3LWZd5zU>IZOnrzR~ni$+PiL&{c^H-H*fJDzOFyfwV z!+p1iMV>+;4n-&MsM>;vk%Y{&br%pZw)MNZClSYJW&6!FO!_a@G0;Tl=_W)sf&>{! zq7YwMg#(ph)T<<~5i)Dp_$dYOWOYYR=7~5)t68GwEBC)p%KhOdLzq+fOWvx=THzNj zKe^~@*vuPXPWfIdJi9tMV>x2J*p^+MVI_UI%O_{blbau5RYNo_+kS4gIdP<_gq}nf zlUYie0t}x~H#atTRJ*=GV=@Gu%C#0ZTS_%%aC)7@!8okb2q7@ial7ZV$q6Oa}34?bhc}N=UXGX9;_N~p z=!jia0KOe;qoA5ChL|{G@H9dP70nt^m0xwdXF40BWUCA>1yiGJel`Xm+1e8uXF`LO zv2%v(7_yy#y!~Ft09EkTQIKRd|0-NJO{>@hmac2WmFCkhPI`eXY{?OCYE*-QN(C7bfaEnYx_1PubwMLR23DA z{Jm_}`DMM1DynWZH{uVy>!M_0ivjGN$n!|+pEmo`mxt%=dB}Ys6k{Ts6h=2<%U{X@ z2mBSU2+jre4s4!N?Yw^O{>e+9WHreD8PzQVW~R3f@5lY_^mMVnHJRDh{S=DAn(JNk zi)@9Ea;TPb7OCFg)1;k7#KaDx&1B{h5x=ib>(xbex;YM^gw~@~4e;X0lq&8Lkr1*{ z_f$n>RXgkS5>dlz z&|h96(Zpz@djpaMeI*HCBj&u7#+pIVoab21dA|l!X3)WH5i1kC3~rW3w=`wdV@yf?Y|tINa~c<4m+Hh-J9!B16A5Xopfh|M>p= z{N+qhrWd(xLcaIfv04y!2u=+`vL$#5UdxU$LXGSjw%r< z7OnC`scD|yqIN{~l#>2o{Dw>7?v*2lPx8t*^#}8b+Ieyl$X8tFAOU{zVs*Pj*pVG% zm<#tlZjYaE5Bi+I6GR>0eDgokvcqXG38HzF+DmgE0zxqrb&`Q@2lHrh~%dRlSnP+!hFg?!|In4mjBc7p) zOj?Cn{-S6azAZ`~s*IU@pKZw2nMs={M6anP^<9YGiJQzJiX7MraR>%Tb>D_6`_Wrd z>6DkLP(3lm;9S+rcT6tKov+s{@)Bh0=kBmyw!DiDp8^lBrB=(I0wL1)!%}P_;uwg) zREHWheB=pSum14q8D8eo=H+FXqPYJp#Jh3Mz?Hw0z3DUk72JKptCIX9zK{nNr`9G* z8b%y4+BT%Ww{dK=dyqPBkD1VzK1b7m*sxw}7wV{qDjXZuMAeJh+NAm{oj7E)m6Vqw zN%3~~@#*a%OYx)_Qm)NY6P#GKk%%vE>ID#-5}cxCtjYn}mLMD_BZg@E_6m{60N~I8 zj^7WsA%Pod!3UZ%0MU6JYcatQu`-@D7=K8Jan@>tTtrOFF`!u@O3H^D@ElL6+UzgR zDXE@|*pFidt~|elhOd-v=IMxS1g&UN8oV?YArtBnFd~Z4P7XcKpPE>%{x>PEq?ytM zuF)fr7tYA7GpiK;!6y^FNDjy1zl!}jJu$_gyKe#Cum;(Tfyvn(=6%B@$UFx&KP-b= z9BtJy=w_m<}{cZL0zpQpY{q={hKdmbCO(+}37s`9f15MY=B{g=P6d3Wg zs$5(Ir~z{**GGXtD$EMifIeRQ6xX13K~=4h44zSy9}e&;8=ZSm0n)&3j@1X zS&bOKK@0<&)s)5jjS}SG?w08%@aBy&b!DW^b&5N=x=5T|X=ulji+MRAtJ$aRWxyR9 z3G!n0%AKva!-HSJKol-$9EQS_8MJN-5I8?OxG1K`3uN}2@-+PIkh_U$O%t9{$V^2# zd%8Sxdy2VrngRDFin;et5VOyeB@^5}%>Om;mT&KnR^A^s`-dk1`T6Tle_g$N{pst! ze)|uwNO!LHm7{9wLD5L6VP82LS4Xo_^B-3rv#*r&o+IRc`t66GzWus- z_~i`RN#`b2v;$qcQRF2-fx!8R1G6}QgGWqiuaN|di<3gx*>13tl;obq7@tp7A~)Yu zAtrd|s#3AQ&BDd&GQ*jwlwM=ypsknyUgXFy?SMrX*gZDnp2)z3Gg%^tlB?u5VrSp( zuEXw(5%&On!5-irY(xtOu`70plG`(5$A85?y>E_hf4Lbj4ro~lp>zk>V1NrDas8#| z;cBTFW7uc$LRvdG6coEdSptOQEQbJhpTB+muW!GADu4U-?`Ht344D39RAE(PgE}iS zmn;`142Q=0($IyVC>dyaC@6M<(ak))<8QzI`t8RbF9Pl*?C<=j5~c+VYKy~pRU?M- z`egpg0ygqsJOgHr*HDk9GE8!Jdfz?d5#$Rhf#i(s)Iyj5c4vl$G6|chjEE#*aD-9j z@fk2Xy%=TyAAk7gZx_X@x@fL84FGPe@;x(hI*5Z5!h+2V{iR<@d=)s%-YZY{p;U;{^_!g z^n%XplQPKn6}83OPz$ zIKH?L4jD1YC&Ho72XC4^o@9K@;gHLSw~vR5fG33+Y2c`c%6MmIZZwwKrFScMMM#>? zbz=fC*5LOEv8y5fk9?Zj=T8^Ercb`h*D!ONt48IFy;k`T{u)yA9u7*fwbj!#+o?fr|j0^g!$IX}QZEj4km_s_V+A3Nf2XV&* zqhi;2D|plh8Z^TTEH#lS{)TvHaL;nac;^ALi}LO>Sa39^Jpkg#sCf7v0B1yT21}L} z;yLMTnAKlT!)PL-(NP}D8u1EwzvfFIC)yCc4SZXwE(5B$sk;Q;`z{9npQ9o3>O3XU z)8J5D1)rJH6y{plKbS{%nR`tjgUr@3z9TmqdlkqbOVq&BL z#B#g|*KM(k3NG^P{o&zq1m(Kf1yB!@k5yF6j%rCEZ}0$`P(3+FC^yej8}t{?6Q%tw zN=?)>I;pw!ftEY(dO1&Pj#bXHHAlPwC&6*rhH!}8B>tJlN+adp_Qo;Nd%kV_7rF+;jlpnzj{ zO58ImCJ28C(+^6rVYWQ_8Z7%@xxp|R*3;VoZzx{=iuU&c|4M9ef;@y!38s=$$}Os30>xOTuq)OU5H)bxY&I!7$Sz{U_wZKXJQ%TX~?=OmNn zkpK7B|M<^~vOZToQmTPFTRsA~%?JdAmEvq-;>?=ab6Rq~g!%y>zI^@hI`!@gw-Rf* z8!OK9-6%X{Byr`Zn4EZs)Np5-oFsRh;1%dBC(w%PMC%tcVW1I*p^OJC@N+ovD<9Zk zha|JQGeHZJ=Ojsxo=rXc`|n2F_u z`Mbf*L#9h`MeAbhWr<;w5ia{kD{~_*Fh2eKbMOE8pWi^hzkL0#?|>~BG8nhN;~9196w+_&im|j;loQJp zVbqIIYa7L}GowzjvIN7Wt`AoPBE7rucN}qZ6yiATnd{ACflDU+JZXYeuio~tZ*+5W zJon$e{&-oqh_)wsA;Uq9pmCC5j^hRVpjFeJrV6sMSXymNq?26Z9LsO&?(Mj{UmZTI zYMM`LP}l2)JfNm1#pI^j+!a|I`Ip5lve>$5Y>}kdD>_LGrQlOC3+2~e{{4zElevPH zxog!JjWk4W3k0?nLh71}F&zoG#f}6&FrQA6jE-YM{Q2vT*WjI0Q0grXHgJA4a0|Nt z1{0S02dBfXG13_^`$S0+JWBY(x3B;D<29yY66!^6cq>-{pJ~yH6GDTm)ryZOhJtx? z8jj#GYkB+me_swv=gVm zw8Rn`&s>5zrqM~R&!_Sl)?a`5;j-FJhJulpPnA-oqM#q02HL14J~JiX8IvkG`CVl^ zkx6utY@O8x_HV!Z^tb>1`RBiW59YDGdNpRL5u5~CVMJIX*wJ}m&cs!i-P>Qb`$>84 z!w{gs?&$zt}cFq{_3GDKUna`@DU(~4W^muIc61io=x;1vP~X;LsT zI}D&9@JYJU4+xNrB$K0;=Lm4>CZO_l;g830!}LmB&e-QZkJa{XYO}5my0m;No3b%xxfrEaER6lMed-~t{-0x zf#9mHu&fcuMvpe_Cb&%ALvXn1;~?D>yZ48Q(GZ)VvkW&9T-Qev6SuLT4xppW zh(f;6&HN^`gyyhjkm)S69Xy0#x`s8*7IiSHx(LphAqkcI+ZizVIV(*=o*c?;PC&fB zsJ`=8y9HdIl^17NOu{L3G4}0qER6jG+i;l!+#%vTB>#;iawqy5(=4FpSh!G}9Nx#` zX5oqZ`4=o7p1%F^UqAfwx5)r7Xv5h4%V6KfVnmD%PgGSQDp%@)_|Qi96bEBjN7#yt zlw6#Xg3ZM^e9CX{FPrDX8Kjc}tP#@(L;1@cjV~9bn*gbf%#cg`U{sR~|1mFxdfSBe zi)BorzkzRX-8Z0{e%ziOp5EWa1B&yX0s3sDK4;rTG23uQ?VNDudH)Qrf~}o$)okIx zJF^bfhW3UW-a^28&0`o{Vhduy0nmO%@YjLv9iHsxjG*J4*G2fV$vzl409?zj3^~Ae zbipPO;Q-|D-EyAr@Ku81>_kGDBwM86Lz^7>YxD>gBAw8|bqqItk80x(hh0)_3MWdY zlpr30--DAkIwGmHAf_hCI+cPJ_%l?`P*VpLBcIpJ`}1zUIfE7Hz#FVKGnf!q(YuLZ z;p~CIA%YpBakY~fHtW_56+oUI zw)?kR9-r*}=8B-DzNwqetF;B%sa)szdSdR>rU7cK89#2=5+WRG?9Xg{nbr~)% ze&z}FfV=lb=s_ywRwLVD1ut^O%R^!rFMBz;vwS_?-c;0Kv>)G71GL zlCAM1I}ETL9cfxf?BALdUr`S}lv-3Ft#^L6+(ule07GfOC?yK4uBC9&Ei$ zP>h&juhtCDG3JJ0ZzGIu47d*xku) z#)$iIyE#4{jvqc;5Ph3xj@-~p{|o;sHXjypOcP9K8}>+8puC)GUG98F#qQ6|J#6wU(m7-baT)0WxIJi(50`#hZPpm&WA+P8F^_< ziUssbBk}-SUS$~!TN5K9jpe#!RO}?>1?9@dxP4?c#?>Dlo_82Deft0Y@hX*<)+SfC zP5BZ$ZUSMZ9wh7`52=9o{iM3BZRpsIA=qZnJ%wbR3c@b*HH@J=IRNre=Iw@MbnjI3koo>9yHK0+r0g|E)bVkhs0Rp52=uaM<{wtiHtVRpncgKA8wjS z5V3_4%_D@cpwkW~D*Jv60BvXmGE#DFL9QJm?YcE!luw)eQO>R@s4X@-58oLU@_9v+?!7hhJ}KFoib5iB9boQ_s_ zX7?5mu@e-LgxKIzLc1m(4LdivvHg1xn{hH?0r5i16Y>Q?eXK~vc#diO4AKU6b8_`L zBktIM9*&2@r|mgM*EbJ}C9|#rUsCBzh%$d%7?1MWHuxRZc-pZ~>A~)sug(RpfqD^!d{Dl}ZAgt`x>)B7Gb3oe%5CQ;?YP}n;< zFFhMn+O#r)6%zDzag-RG-+!x4xS<7}nUrt!c)Y(xzp{C-)S`FL=DrZtNVi z`~X_hALo1Kwr$Z!457P~jwH!e*SVDP@GQGKxt5k!rV!`$WrvmTbFJ}nWt~yjE-%=6 zH?PD7k|0dq7%mY|S{WfxYuvK0lUr#c-2Lw1a8Wf{3o)a{mNdi9+X!6qOx=|&v=MfQ zHL@hM?A^SYLEG^9Ut`bOse_>?f~MNeY=Ismo3v}S7_ee-q}Fx_D?2wiygHIi9RA_{ zxZ9qaoKk(e*&{TS7%U;qnt*q3Az{oc3?npOm<}NFc4DUMk9niO$O+aGr&;!Ha^P-~0fUJsTXMJrj&Gw*Yc z3`Ogk0(^n1n@cy#2F4twW#{vJSJfX%{G)C69p(A?rP)QiQsG?N zEky#=B$iVst9R`2Bn9>e`Qh;TFwjx-Yf5T3Wy#}p6>Z8_Yr|4;HSYq8Uj*HUbAzNG zDGKe_=cPFTf7-p>rqAOrVD%ZC)Ge?wMkHHmHwjR#Rvc|C3A1D0mgWcxkB3WhDP5kN zXKkl)wS?Bh2UpWHk*}hLF?SYiUw}TwU@4nbS=1z z@s*V@n0QbOPE*u4r=B%Bombnr;S`oF9WFdOnSur^Xt~{xk;*4GA|(eG<;0J2lqRF; zI&L4u8R+@QY-tc|!r8Jo^rO0+2aCL6T9VFWw2{%u#8?f5`TpT>cH}2-7s(=oiF}N! zRwOlQ0%E}Xm5@e=K^m7|81AZfw9gQgDjkQeA3&@pCQ3@*ELj7xuhjh4K@GSIMJkY6 zZD?ZsUEZ%&-aukuU6r88C#}GfdEJJ)AXc1Ms+EZhl?YEvlu6Kd72&k|^Xfup5L;i1 z$pz_vk7p7K4Ut4ct6KbUFtS=%Vsqj;F;O<@vs`n%;qCm>nnVrqQkW}$scdBnG;yc} zR>WSU1v*N3FB6qUVm~p_n;A9!aQOJ~QbOMdTUIK4eQ;UW*ujcIGh(6UP1^V-R?h@+ zQOszUl#{qm0BM>LHYRMx&7XGr`OpU2^tQFSDpjC_c3;8HPcMS|7+e#qqpTHpzwsBa z%!?d7JGw9@Yq5}jO>kCe;uY=kbbd^X%XzH1Rl7K*gSp zjdw}I8>u@cN>bGN4tG4NKNm!x!uWn)4ml8Ufti0;LLOp60l(5*G%EI;o+7byEGcr6 z(NC^9LUcyY5GnaLVRO6`^0rvpbGBAs4GRnG_z2~k{^;Wd z@lnOcG4Bb4%@u3rohpObtH;gTX0_b|M4c|gDC2j@kFo-Rs1AW!%*cx3kd5nRmj`+&zsZgesex{=&{E3 zVcGLw;lGO~UPbU#Mul;tc?`|V!(v{OB>nEqV0&spz9ZRzovoH4*yO8=9l;uL$g@~1 z<}^v&_3+;ZR!za?-s=KbqfN(9j#H{etWB4Qh8ay#n44&R-hF&}+wb=0rVr=TfWdkx zS-+&S!JANh84VxW1S%&P3ps_sUEI^J0Z$1_78 z={zV_0HK>It2t)7qGS9cz!5(r~3Pr zqOI9-=+)sYmP+idq&GBS7UTxYTvY0;;35~eroffPzz>$|Ls3B~GiS4<%F^llw9<5m z8RhV7SJSanK*K9KJlPBsg%aCI@~&6lA284o`*dzXI*5s@LNgu+d6Q=f|8#ODwn0J5 z?MGQK;w`EB+9g4ft;dGn-9U(J2Ac zdh#Yvs(5*#alPApSRKizYc9-@w;DbGxiF7fbUug<+H6u@v`gRvq=^r3|FpXt_s_?- z%N%_46IC=${BGR|n-=nv4vGXpc(qYpEORi#gAB^*CKwASA1AoW`EI?I73d7$&V zA7WzHC+jytHt~EuePkeYEPSrI>%!+zNzq+KACwf8BB1Q{l4R6lT^Ktl4{skDm!xes zMW(c*>zen1PDYb(o3MskIlOE-q72&zC_B9L8y()5v?o1t%t-O9CJB4!@Vww!^bXI8 zc4oP{#o?*0{oSL(8+Lx(^u~tL0{c7HkEC0V^^Pds4*l+ZCwEPl4AkSgY;hq7Xz_PS zQo6}AQ@{G@`h@r7Qdo{5MCEyQiW5Gji%rOjKF&GUmcfc%iN(Kj0_m_(?ecQIp0Bm2 zk=|m<)9Nzleua&P@Yf2^nTKv5KOY>k&!CM8A|@_RtN1mgrvjf$I=$cGhSL4(nsbZvh0_kr1_@PmnyrH%j zvLaK!E;u-33W-LfBZgjbsv21%q{hf`YLk%`C#GcJPDwuchUe{7-_W*5s;Guy1zH|J z?C6M_PC{kzaeP!kY}_t}#5v=kYC5l!nTnnXfN$l(3H<$e`;lWFBuqFaEA?GuqT?_w zFsgx?xvAdC}l`hgroY#$&`Ye-5_yn z@NOlY*EY)SY#A&2HmPtmthFu%;kF}{eLf+_Z}jXa1zcM}vWY!RBPA7PN6%Bo?oMVz zVkh^*mb~3<=o8)vX(3{tOLz<(JF$jHmq8HK(&sg9#p{NzVjGy4evtrRZ2R>2>9iB6-S0*+GC`>F5hi9rw=q-InW9bFO09Wb|`90 zs$-Z_FYALaDPLfEvFM>wrao0CwWB5W1!(=Y2x#$NT5eJsrpAY%<^|0R3D|dQ*S{vN zXs8XZOAP`sD{izet6vtF#|lmPbjR%i-q_QW5YEt}3QpUT*M;k(Xkp91Xoqk29G zv3oV}0pUkCPt2_2vg%z`y^&0zl3DVm(J4i6vvIX4E0zp0&?H8KPoneFFm#vW1u_@LO#}rLi*WJ zAL!%->i1Nkkp0v4eR*L{^*f>ENmhJ_H_S|Pzh%k*!U-rN7OwMJEy(+ZVqm%N#SgmC zlsUrP{^4!=@OJ;YdcObMFD1HhZBE`w)K#c)CC?gnSIks?@I5xGQo2oyPAvX$SMukg zRRYO_WOw25=iKVcO1-a+cPsEf^#8#BJ$;RE--PO>iOt(xyU;Sv}RZCW*El5IeD6r!2uU z!3!sl?|)G^u}L+EY4oLZ(eH-h>^$g7E|MHoIb@e1$Cx8myd_=;Zs1Eq#7=gUcx$Rh z0XP0(PH&6C2}FvLXvY-s!nD5eY|CmZ`AETC`H=E;n4~B;oE}L{-4iz=;!yAKkqByW zrq#Y;+M$a`L`UqlQymh5p$HSpK*?l{6QFi-o`mh7a$1I31T}k7T(#TevD9f2OReUy z#>!swLk^Z}9B*rr=M4QEi`i6rzry5 z%C<}#)@-z6QV}?DMrwj~L|Om@$KBKRuzM~E*c@ovOv)v!*y4svVJZ|aPE|o;z$#jF zo;tkXk}I*cZ}Wh?uM{8=aS=FiMh<*a(1cmd{(Rm)W;*V}{`LN8^}d7u|M)Psf3mS0 zkvr35k&9W5^vBlDy4hwFJk)08y+U4|*jQ?=gib{Q1wK-%oAnVt*si!{{)#Gl6Y~rT zwo@VM-e|}I`(Ht#PXYf}G_^J9Hld4Nib@dP>;=Jw3VTg26Y&DXeyQIy(zebJdZrC? z-z;{3sVWw5mcR%vm~FK;KDPJUpwp}8Ra4PB0spQWs5-yO$KC7oM~Pr#1-9mH+jSx( z95=mB4C|!0fS@|oyc4)#@u#AB0$A%~r9lv+?*3`N;It{=Y>l+aDZ5NxxO*~Vq`gtP zxz6wwl}v%N%`37e&PoA^ezXs4$6?tKj+cV4PbuN1_Nw$Irq+U>vV~;h&|SbGTcsNH z_f%w0AUJK-BP#qnFZ;vkHOoX4y73hwU1f;GYhrqA%>O}=J(#az^x!-<$`4BtyL>g^ zA%;}9EY(IktnBj-bFHDMpaAr#DW8EJ`_0RFyFX)@WdHi*cUM*%PwY!nCCcwZCbP~` zaCVyMkE@ST7e!v4M?P>5hma1qV)i0`C>i$Q?3(#-Fg=hB`Qn5%>JerqIhCi_4djJU z>R9Gb8qT_5Q>UVn;;dwv_CQ~@=g-5K<*j%}nP9Jp?6S!=;86Jx0hCf}C%iEfo}*6zAj! z78w^b-j9I(NFol~?{;&md2PLVH7gYrS3_acagBF4H{}%0UKlAqq|0LIBqm4sQ*>DK z?Qc^)cf)|q$Qr8km)$!;U7f!D}faCo>Hk7xJYmP$##=l^4~IzMb?gVr$enh;PW;pCB7Yp-}s zz454+TnBsbX#lkq{%HQTd;T<2zlh@aKmUGr#*+Q}_Vx4rc)4P2WPF9A-I`ho;?pS0 z@`&Ko(GZFz8TB5!5ZjGg7?xvkzPa{+kx%J!?T-)p4=2KsyGD2oI{e~#Ab$03ke{Wo zd0cGjR5Lb@iMtmDD95iwZv{nSn`?s?iBp3dv@BT23Un4?=e_FXwtH1-PYM~WUTlTy z;Mgqb7_}Y+=4qT()hvva9PXZqd z%W#=m3EE8#MT+){^RmbLo3YY2X9oo=sbUng8UrUWhu#^L(b`Uri|WY5;g6Mldy!cI zv<-QYd;&^FowxUWxcwvC+n;|~J^$+;5F`H2?|&lvo6ROWn(-kQ+~gYHXjgs78Bys9 zT*wd=B`S(wZ=%_D2mewp)nRjqp=hqSY6BPfRZFlRa6!ZU>F`jf?`W`RS^)I$s;Vyy zO0jftSumngms3ck62y734TGsU>76${b!-Bl&lia$LAMOu{Z~MD3_Vv_LDtT5nSZSU`Qm&<$y$+ZGKoha;N3zCB=s{Ltfb%|Ln zdY15UoUH4VG6O`XLI$On5cY?aIyain%n~}iuU;WDJ6w5~dh{@ZIB0-t2P2{^3TO`J z=ZMvkWc7x#Nw6%H9vz`&A82ZWrzo35oafVau4IOBlWv7L0DlQTd`62z>=LPJbSAD7 zWnV=X11oqkb0I5YA;Xmmpb0MfKqB-Y%;YR^MPx5q>b!nx?xfPuQZ&%DT8e zTPz>0pQo5f>!>%eD*cn%4g4~c6yV6gHS!?aXUP6f(ja{(%)HlMe*E_NhhJBR^XvNb z>)(F(Wp()Z&tUHe?2kYEv$Q~)9cakDNEKizOX7_{O$)#~7;2T@p6mRWc@d(Nk(t*D zPJ#WRBshHRL)bL>3|;dPLfO#h{9#gUgK%z1 z<;+vjPBbNlsLOtn6h>nhA>{T)`Pf%J3_DxbedUL-ZuDWefx;gK9XRLFDyB`sePVpz zssGgsU&E(KLm}qcuZI1v)3uqUobF~bTNU;-T%~oEk{otaUT3mheyoF!I<#qPvUPleh#E~$T z`jOt!pJ7ZnSd%)|EN-o$8ItJ&mEEn}aj2QobKLb>WVcZ{GGTt$^s?@GC)k4U$oaB^ zYt<@qzLIWATR3tB$JKEABfD0q@zw9jxIewVo{mC!cm5`{J$u{Vgfb0?45#&#em#7I zrk{y&_~24UH-Y`9EHn2cufyr>vVT0Dj>|lQ@ujHWTE7NpatFJ^SqUMf#~s+{#AdL9 zn4P4Q`y#~D<@vmS*&ch2_l-82IM@4gOnKl|B&?_O&#utY zz%+}un5#mO9bu5EGt#E9BP^u3=dbWsoV$#U_tPJg9A@ilmD>a(x~@pxwWP@_I8+=O z#;VXvc-iAgA*GMuov67duaK3|DWOl}h-J6`oCTEOK?(Xdj_Ke`JzIk{%-|dgH zK}17;!1;IE;Ev>!J!W+d$r(aIpvydHFm|ene!wfkhZ|Xn#ICLy&2|vIV%&B*uOK|h z5wq3TBIYWS!PSSRucj0S?XmQcXYs&QLx?ay@rssDAn9+kBsDm^$qi`sd6EQygs*(o za_7fw#LyvN<}-%Ntd{*o<J8XxQXonU)~&G$VKJpTKbLx@UaK% zQR6UV>Us~@kZJ3pb)qTU15Se%&vrPmpOZRT#8$+=|AMvc%l-D{<#Zwj+O2oONqswx zf4G}4vlKIc;T=*wTkb@cQX8=)_H|P12}~pXv+K(n=17>OF5Th@k2lPYt#f*mN(?mZ z@NgAgY*#114^2|dnunCw;U)3zdY=316JX62`La6ULb>V62Ewii8*=$eF~?Z_SkEqs zLcY5d0e*oTb*hF>XH)CMzEBDgOn#2rK0%hxnEC`^UQ`G5%i1PFG}!UuAI>V3V2G7J z0qO;gz4`We`=_29f158CY@R7+KF!ZXXKt(*k|@sH#wZ^F0agrHPZ*W+=?i3l*DErO zQ88X@-ryoq*8_&@k!Wzb$EGry6`|Bd8;y$bV(=*g)(p5BoX&r&QoXy z*=7QRhI|}pBs~Z${~1VG;+X$ztP%=RF2gkpSF#u}Uh1+-Ty}_VY)Mje9ULF+#DzBG za+>@a7q`bWSdjwNGF0DO1uU{Gxx=ZYHte{|speMo>|Pu6EKbYccew;zs56q#73msR z?T+tn?Y{wPxv^KVLORk;_TY1rp$B30jCCAkd>ku@XV;gN+`&~nYV_EHBk9joi*qek zATZXJA&mdnr`@^VI5`^<$=ixxd19*Mr75R*bCT~kKcBirzQ}HDCsVB1_EG4Hlnoe| zmbXO{U)yJ*ZN2OcI9qqv9(T6}9ho&;mx+`vQxd*Y8|6WY2-xlp>t{MLdO6kQHnlp0b48(N(FCYX;oh#ae)_uI?O6k-kGh@1!e7P9 z?!15BA3qP|(5n|nh1n-tJ`4Ue#j!(j<7A_^jDMKas6b-Ak8*lK(}RGsx0ITS^U2Kz za$XWbXiSYwCFk`4oP3b2!&vg0*2$v^y{g8_2sV38xh;pNe(0ax_lL{r_#FgMaP5&) zG8^+%-Je`Am4+TJzD~Jy=rJHv$j%Yemgw@;(QP9R6&;cra{6Lw*oR6AOwTFVo{vb8 z+MmyxmI^~N|Wlyk1QD8)Y3w&WwU6rZqIeXY9Q z4mee-vku(LZyiHBHer_LYNGf-KeYUzJ`)7xZAts)S#`Swxj7m zv-8A97X;TbFMdxGI+xyK8c`puX6Gr}_dUU!*k{Xp_%TJe4z^q$Yt1l(!J`V>U8G1L zQq-!s37S3TXyYN8X%_!kMl7o$HsE({pN$U1X5hpl#i;#Z=G~XtcCubpGFz7_)dhmg zo>BJc`ys3wspFxt7J-XpRCU5iY9Xx5%o4)23xkd zmKt8ZR5xTrPPZ<*Wj&-ckk<8R9TiUDU8#mhfZIX9Mz^)LZ2v^5n6V6t|2iQ9IboU?m4Mho&JNW zV^@q>wX$NOaDY__65CKHjqL?519|Jz?G~#U`HYp(UQ(S2HM>0Du$6E*K#dxl#Z}ym z*Q?ZKIJP#aFC7N$srPkIBr(Ny_yEoqyeT&NB_Vx04i*qI)no=)&;7w)T zOyY5$$pR|GwKkej6HcLEb(4T;c67c8<|qn%Jl!o$Cp9r#za>@NXC`e-YAIn5?%M1H zcLpUTz4B~Sq1pGz6{*_s=BxeT!>yMfMjngyVRX54I+^c6(&CgemGgrr(Lr`FWCA&y zGwl4lFwGQKw5ECW&7XGLXMq0S^xS;x_uGwV~HV_c`dZ-PF zsEl1|bKrETSUWmwE540!U<`f_T5ZK#cOAEEZBD^^fLQ~|>lixGbjhg~(ul?GDFV&D z(EEQM=t5VMgQiY^Hn#JqM&I8OWl{mHhh(Z0*dde>`;0>d%}!Bjd44VE>=*3}X1D|q z<%NXYbLr-TXC6+UF?%ruRBi`*M!7Wct1(kwylNjw&=9P-O~T=5K2uk;P@I#KUInz% zp^21OAty*;)mMW~_^oF_BPqpWa8bT+p*n%q!ujwnT?@{q(sl&U>>nky>T5ygj_5pS z2=O5M7KSf3FL39A7(*|hAtM|_zY1t}j*?yVwV>g*4c~G08TyEmF~hJy(F0a7N=ed; zSqD?Er~}OG8zsZ)t1(;rmYAizGX?<$ArDvdm$fo+WbZV-L;hjG%-&E=OMf-y4!`GY zH24X>Nn(%~y&PZYdZ|2M247cen`5NGnA_dJUx7I%+-lCROpb8i-AKNXmcf!<6g$v! z+{98iI1D$&{J#CX`?TL3t}-&m%^2Ty$}`|Ay%@mT?y#g1q?LY#@UkBavb)bx3zzNN z@d2CUOL0=oAeFIRp%N>c)ym1s^gOqPz|RXa$jJ! zQq96GE?ud5p)~Xm|Kq33&YqAIAE;w(aB7QlkE1;@H zCxwqXqFF)a>PNa-sJ>c{nFD0@fKnN!-<-97K5n13*C=?HNTv~99&qVHP=re=_zsJ3 z!{iaX8Hzz&GOjXj3Tg9H7~-!Cmwlh)3=Z4bx0erI;fg0w)<`Q>TASH<9>A`N3sKHi zX(b1v2`u|ONf)Hdgx*|UO7*-wJni1ji%DTsHAo`=E_WjLDzL<%{RUUd^#IWtn+-0m ztOGd}A#*gk<}Lwh_IgoPk8;-*#f@KghttbaQs}3q4w{B&pB7HGS8%-+ghqAZjnmt; z5HcZVpEs$rcDjE$-LsnbLKmfCze=SZrpKeYE9QX-HJQa=E815qf_746gWPnt!P$eh zj>O70q2ddIX|p&eaXwuRU$9I2dAHgh54+dp;(le9<%Y#zz4o$A zNVwVWC0W%#X(Tim`){M=fjoVUUM$~+yrErRGI{;5NOpZ(bRyb2bCBo3Hc|mWCByy6`&$-N(@x{P*HVp@{NJY zz>O#N-=DtRKMg9b*R5MMK1iidtt%s8kiCt{Q%Kl_40>=Eo_ajkC#%a`w2s2Ww%5wy zH9^uc`{|$i)BE+y+uAewmX{ap8D9kmCvokMXhG84PmCtWMFVts!LEo_P%*{q?jgN+$A2GW*ojN#MH;yb41UpUC#X*>%^u*0=<4zU;SUasW~q!TtP@>Njbs+sR_akHXJPBZ%khfas9I8#iIOXHjgF|hk)Xi{a4Is2UuR+ws}~+CQ4#xFO%_UyFY)o-@Pw-<;woz9#Ne= z-H?t(7g+ApqYZOHLZAfl_%Zrx%`57yQ^O=-wh$~`6D2zo9W(OHA?JU7S>W3>4i3i? z+h~nNp3%;k2qxF|2d7oY$*5OyhAJBgOiLOo%yKnRGDL}Ngulku^Y-$&O#a;P_-Y9i zVyQL8jmBuGnTB-=u~8OPA1PY1L9kehYmQb%pXHn#18)XX$bcSCWi#&0e4XiCTthIV ze4+MFF5_}2zz|J+;y8|AyS59+N;OfEM+cVChk;l56A1*VSRvP%(-DVFKha3AE)$J# zNQ{40t~S#9O(8PrSg8WUpiiFXt&NRTCxu zb*j#FjSy2+xq1rE;B0WkaHjB}uYuHJfT0Uq)if?OO?p__OD4GNAC=S^W2U8;;=Qf< zk~2WsHKO|k@sJE>gRO(z!1W%^*7(eIP1Wjvd>tS=kOWu)%Z^cn`Z?z9C|@c5T>BXl zRgU+s={`5y2hx46#Ks6U`^OQl7%%Z}d`@jifY1*f~|>`;)WRjTk= zgA!O-3>>cH@CvVtFR`dhRH-)F*uz*qzk;VZEeNnveCo!QyYza>f&p(aw00On;miUq z73n{Ri@6dLTUs$>W0=`Cvmh)h6LmL%`R(}mczRzl9J&tsszna{3e$j=gq+RHQUq(n zQhE03&P6}EC+r&~>G|s*BZbP&Lx$X?+xQrUYEhT#U8bF$CdkIN(KTzwMBU7Z(ZA{W zbbNh0J@1ysL#po7RB_Sv-Kmrm>1Fq)T;|kKalOx8dsWjQQrcV)Wzm?Zr=}`!y%;Jz zp}6+%?@wT?uL@dJ*Q4+Fu$@LJ$ZYv+fH(y8t9sC`OtplX!%C|6!An~C?6YJ+nW)=I z3p)I_^FvSWxhYu)j9HIxhtOZl7t!Hg0RDTlh6x9y`af4HrK~X%b-WIo zI)yi&9~VPhjXl3nb^hbJK86?MLb1 zB28YDt5v`HVVYoyX*+n-+WjliYN$0N0W~{PBMl_)0eRk@zg!ktMK!^cWP31VsUkuA z9nk!>#|hRXWRr%2u+l$Q3)ynj(`_{t^(+iUe-1dNVgmA0>47p6g`ZLiqMuZcCn=+Y+ z<#Toa+r?|U=L`l_f+^3|8q9pX$p&@e7;hsi(P1C`a>7xB)A6#p?9Siq`f=6UiVW4o z;IgXW!AabT;J{J$D7!5EY=UZfp7;s1NQ<+%W+|E|S8@_^j3Qp(;oU#ozO* zn<&RnGn)g8k;5}9f*26o>0ziQm#$fXCfZsMgZ|k1xO*2{Dz7_`c4|pAk)P^#xMs5U zgv<>&ugBK{nd!n45@vRKQbhLOf>~q!SmM4C{E=FKT>x&~h=*>Z3FrI4e$UnkWL7hK z+}~Z6#KAmCF`6^l00RNB9ci`IuZ%+1T|LL!o>$el8_4^EJqXF)TrzcBD=Ty`|V;}QI(jy z!&SF+$wnz!3W_2r%9Do}s{T1q#Hk?D+PByt&9ymRc6_6)pdOGMS6{ZzPy2;|LBw1Q zYbumhuQVm`jCBe9J#OsK!^ZM1uiHTpiQ%>myDQ}$hYXpWpB!xK7nx#JZ2P=FZWnJw z6>j$VI3vzQoXi!4P*a&9;_tGwsFjrht~5Cl5_DTVJ#}-WZ2^TK!4JM2%(#UyYJB&SP0o+9Ml{&$+<;KRJmnu+yrvE4!~eE>mnz zA6&X% zu-x#%Ou@3TVc77tAd{I!z-!ZIO8`AtRe%eUqgBa)zWZ69ea4Bv|(9Q2lR-3sO^QUat*(4Ga@B`N%Vs~DcIQ~`lgYTE7xz& z`};CmKX=Zpnqw!r0;Ou;eA1;YkP@za?}p$%r`ig)xYWZRShEI;S?d@mmZynwaE!z~ z#mb_5}6Uz)WToT=sQ5CDz zL^(!gc^6$43fn($i(s0_q-yp#Zeca5zSL;AiF|GWu9r0G6gR+-@BzOY<5Ri+!1!U|G$e{vwG zr>oqoEnmMnTzXQU?Gcysmf#NVLfRxZ4AiSgKCrV=TD51X;34v#%nW z9#_T{%-YXl_6?naq_%jKqT;v5Rjy<`t!`!@U1lYKMMxuln778u>I^|<=O?FBs7`?Q zcPT)sTb-R?FY&;svYcj5@kf#5AH~Y!UMSO4{X_!FPEU@e^gx$aX-cFRO*CR#87Nj> ztO*Ad z$i&c;xN^zp{_?>xQ7u%}*NGAlfc$z=B|O)OWd4!!YAp-2IsRe&m>Aj$mo0EVR_&b7 zT*0Mjg^4*?#@E$OFmBAE0TjI~!pdGvs#h1RcD?;p-*B{}<+a0}bnYW-RmfE{Av_8s z^~cR6fUM2Nf3RF;c54#?)@J?buwCjGPZnocZ@U+Ru#3gnYVsr>FHXR=Z;yRjY#W*O z=9@clyz+G4AZAb@JBgXo1-M$Z36j<+%1Q>pWu2HPRjWw`Liax6rpRWT#pN;($p(6y zGZC_ZW!;YPespCa>M{-UU9mb$jBOT&f5rP2GmE9dO5-MS8J0`*tY^b2Sg1S?24ScX z)8vUm5vEFoIHz&&$%Zy-juu!PCRURtAMDtSh9a72c*r~RO7S=|6oE|}lbZfJ?qvv~ z<(DlOE5t-O!aE^5t_Q%Y*a z6H<0=NjAff^{#U82(CCsV(E9-SGYzWw#@luv!6r_|44>0V2XC`x)57WnrhX1Q|&g3F4^@Zjoik z-jp?0;PVFmkzF&rx*HS$6${72)T9{{1KnnieW)*x_i0FG)`m$@`R@L(OXfMV?&R)O;*XGL8o1AebEi@-Zx#$`j8=~!h0r^;24kk&GGx|89%D!xm zuODsVjn{&?QZSCwOAd(GY(}(CoQ4~iidI++sM|g{?ORAmm!qeU1+PmldqP|hfY}SRH zC>caH=bLe6;|%J3jEZOqMW34;&w$x5X7SMa$*JeJ!%_vlsY4A?U4vC{=GS#A<({&2CZeZ(&B~^{?K&(Zh0$JI}V}7;aWBh)6)=oV-vW)TBHV5 zv9xNY-4*M-B-Kv4 zzNDAa@!`s2Lv;x)nQvI&lTQt&&|Hp!;S$oT>i>S7lT2K%*LpJ=f9fwxIac;&x~`;l z8mF1zSdYEYy}}s-z?FSz+c>giI@)GPL$S6?s)&UQ z`EE>=Me({Qc;KK~qtB*T)+I?6WXD?p$v~VgpLa_dehsmP^7_J_D4HWm7pFYQ z5TiA4QZzVUiy+(m^9x_$W3cDb>FYj5)nCjb1iJbhCYIR3;h>Hm-lHxbBMGO`i(1L< zVos!4?IlUxV}DZ~&bX9wsZurGLoLtT5>uJlFH;*_4C(-POF%#$7>;9k;!p$!*Gm-0i zpt_uDIBY0xydIhqC^3nr3jugz=PU&JT{n7y?DdRX%*n)>Pp9+lvKYa)*}p5o05e|tXRa7#25vWSi_ zwfz#;tpz1(@Dv$=-?XDU&Hk`rLNet2`MiJJzV0z8oo^|Q48{~<$A~AZEgG$|X@ZUp z5-J}gfnxsT*-6@N;$yr%ou0P~`b%v*N^{V2p8;N-!Yy}$*|UZ}#83xN{2}1s)sq^E zbzo9Oh}0$iLBS6Cf5>X zP*18+ltZqYcz`-2q4klAEi3|)B=@v0(w0X51j)3VZl?Y>xdZk+D^=)XUOax8@?>Q1_f!r{nHL&rKJ)~Qz97Txdza*S1ZqJN2Ibz znjx(wu&DYoYU3E&$!U3l%>Gd_WryKg^p3<3x?P&SDsM>6O~H;{eT|zf6?n>xc7k%~ zvOpe|Rff+~utT)k`gYcZNw(=mQib+OOyXWAHC402R2r}SJGJ;|cWP1)mx3Yd?}Ew= zYZa{|)szd8RLgo}b(kcnv!r%~cY1qyIv|B?2{h)mx-xhjvlbXM(t~`-$0x@c(BOI3 z=)U6yUN2I`9Q3g~Op+u{mpJ_2A0D1g=NmK=sw75ttYzlQ2e)-sd8dBSomD7{f z^|iny0N`olnC`4AXXThAsh$1QcCmnmxBJg<$=_a=QW;%O8PN-^=q-_kx^M&+A`N6> z^}x%_P7HcnCbbFeCI4`KzF4u8Oma<+1;^TH27P&uu}a;MF$Qn7wu~XmLPP+JeL_e` zhKrx|H#|m!?H!7p_iaGPqB2R+J?Rc1;D_^4ldyF>R7N-TiDQM9DrGYZq7vkjgD7v= zA_3RO$<&9yvbU5hPim)NTynp~GWz~_V?k$J{g2ft)67GhtNuf72F5*BmK+7uQBA06 z9(krA=j~xn74_Ttuz8n6<10xAyc!m^IrPKoex_6kifF1l+0Ak zrBfO6t-fIv@N5|hZOJJ7)AccX)q8nxjX1A8nC8q(waPbIGK$vrhGr~Hv6f7d8zpD~ zHtly@B!*KH%Qp5S^-TblzBRVYDJs0r8g3=S=yIJ}!^N0beqHwr2{8LfNu}){-^hSp zz0Xxugr--OwBm)kJU5c&HrSADZb&3Kf;8Nv44Pe~TqV(O8+n9GcPSQW)fS!b>|7Vo z{iT@RnS{B?@Ci5;!8la3UkENcN#8h0MJ>(C>eCK;7YiaA)#+veer@A?;X%xh3&2vO zAr>TKk#M@C8+bnXO0Y~!l9XQ(ImLHUi=5tuwwE9f2D$6`h|}|l5LfF_VvDNqLyh=~ zOK07fG}>#BX`kD>#ZOQT#~4uxrXcEV&BHM|23oe;A9pqxw92uTP(a-*C3KPVWoFHo zRBZ;pCNgBB>!&Sv>^w?$s{_PBLTjC^DW{Ev{Ed|UD+-(rqvPSm6mMM=jq+Dcy;wCS zNe*zYRQC=^%t9HVT?atXg-R7%6S767txtg03>F|}Uab$#$aj{@y{Qg42rs)nxej2` zn_N5JDx#+Ex`aS$O7VPMB-*E7Oy-?s;Kl1{TXG;>tF)q69VSV>a=)JYxVwBlz2C4J zeZ0@Oz7MYWkC_GCkpGVtbi=2LrafKucapW-OQ(N2Z;zi}PUqJf=|_pa3(}%^pnLT~ zoDRXV#$YKd>AX8^)Aq4jsrQ*!37L zEf_kZNqYkQ2yR@+RwYzfzQcivBCjyj@jbu5EQtGmXP0VlJ@PQOU1G; zNvgdQ1Bn1X?e9PDmJFM&-&+;7b-g8y{k#i}F2~-n;cNxcEJJO`vafTZk;GSmeO<-5 zMH-SDXh_Fn4w${2qzKaiqk5%G| zr@NAUOpA~^2=Se7>Y^9|*-=-P#a(d9qrS-)$cISkc*Oaiy_XSEjdSTAl{3ZnGN~4;r~r z{2|NrV277l!R#Ci-L5gw9(ULB>Rc!VBFxEX4^NLd%QZj@Dz>vTi`;3^n<${!>!o%M z2Dd-oo$eN$-gqlZ6B0!ZiKdsbK=NUo>1sWFi?iXOYfMHFckvh)*6Ba`)p>Dx;`dY; zG;P-__ka{#j%BA1hMCiohiE7|vA#3puo!N29Bx8(9!1o}!!@27 zo~>zA8gPA@jO33cUc(*)YE5pmP><`fl(Vs>62>ks&vfm}E3z&CIyRtDSz`Y!4@-9H zir8(eJTx}0IbbU?7ugyv{XtLGFw85`u=w}tkra+bwy*=bYqguGX zrc%M9?{a_3lAdzJ9*aKORa1UG<%KND+NP@pcyaEeiGqrli|?eQZNJ@QDa2H*CB_1* zE>#ts!DczM%)y@4H856-K0}cbP9})qu5!4J!HNi|ONHA0Tl}-oTGf4S*9&7$itqYO zhZ~#5JV5ce*f@B`+Z5)h|3}iW%MpCF8^ob8bCoemXd(jjh7B_NhMurb*(*~n%3rx` z1;Mh&Hj0S|j8-y)9arXWWC&LYM?ZBoz*V_cO!HC3(X>C~#gS8s3yF{PkYVu~tmda_T0$xwiUwD_r2hN(lb#vI79SADscqfRCQIV<{mIBP!E*3U~ zFtg8-#NmD%?fL%xwA>k+UYN|@4oyUkdM5WJ!}az~4?Mpv`)AZ6YVI<|)&;9;u;Te1 zwhs?ip_(=ojq8@`9?4G3%!Q*Ck&B}O8yH$q)GRlFJ)9&86H=11+a31z+bh*pMA|N_ zpEyzs+^6={Q`{cvD~mIJwiA04bq30=O}CxKcHwju}6~}RhrX5 zv;O)7C|6=oXLWAGIEjYj?!(~4vWludv4R1$Gh{5~rb~80>_*jh^ zpb^P@89LNuOBZHB7(}WtkUp?;Kx12`>5k)#fC%mu8n9OE-Xsl}+FfYWc!kNW5oX1v z=vw*^6@W?~cdC0}H#Syukeq#XxH+p1*|cI0C#k>{?Egy8N~}qXJ!sLk@fkF`I!XNP zL7xu${~EXf-Q5VT)ac9aQL(?1yx*b~sBhK^tesxg>}g^(TfB+F4M_$2kWpQ}9%5?S-RVn@9LWJLrTAwkHlnCY_I)~_`tA1Vx!v@tI|cAfN! zB^<`AdGO%bu_$(dlK9(We%U@lT(P}wrd#>=B+i%t>mD$?FjR%_V>4y*mS(T36?r-N zaNaf)3a!`^O4e@=_<4KYFDLr-33vGI%p_o3LD6+M_cBD7KJ#al)f3rLbi;PSm;tjV zl$2la#hyIj@_x+*Zk|?UDTxBt4|HD~RJ7u^A5(sI)mo!6T^rD{32Gj}WjAQs%C@gs z2TNPLQWI@dwxZOEHFmgiyfHI)4X)cZj6#jMUaNAc6}v-8`JI4$BU&Md(o=wXth0(J zq6W|v#jHq^Ni|l@PEQKA_E@vucwKDnH&V}7VN*S`re`}^1dR{RMx!>m6Oy5ttQ%N= zv3i$l+OZRr%pBHh_Ia-5E)iq)X@B{=yPnrUu-c>`So0Cy!{Sn`Tz8$$L40z$X@KFn zgAioTpTM%Olk{FXVw}u>ecK+kulwWb{N3vHyuW*U-JZW(>)lmVcnU)s6$xcRWIpxG z#JI)%*W>1$ijAPX*6jG49bu0j#D1+XRG=ppdIIEBVF+SU(d?~|4`ETZ9hx1WYx{Wk zw++abdb^cMq!l8{cJM7Mwc zveIeA^Ez{DH&JXdv@0+y&J7QN25lng$g6+@!DS4Pk`5{eR_FW*a_mr3Li8qB_?`42 z-n=rg*6bT4iF2mybYq>?_gm8Rz~Y3&FhA27=`~!P-3?#s(sJr#G?-7HeWN6CcI{%> z)#*Q$)2${b+5yM~6+l&L}M$YDtIVWR}X!hQ?hw&I60gsFz&SIDs0KaP}KW68(g4li%Z z333hlOUZP-^zsmUJsr?>MF7fjKx_6KoGKIaJcYDy7Y{9q&{ukpY}}k(SbLpOJvj<_Chv)eh5YzcA=8Y)sOW2 z=l1^d_OifJZFh4@HHh+i2z?`drheXeX{<}2K>NwutKiQf=5> zN|scA-T(CCUsr$n{;#X^kN^9JU*>Oo)rLhiQs3is1#iCe7=*($NE^5YgHOp!N`vc} zYK{indgZ!i6RkGvFk`b)qr*1$9Zna&zLJ9YYWun>FLr@}WaNp1p>suRRTo8Zx7N5( zJ98^N>YX5?lfnATWi`r$fh5JrkArxtH|jY?H0(bm2Z=rb{`L>sKP|T3suQoKb<6F} zZF-c3ol`?HDyZhXsZB4;jaM0+#@g|RW=mVKraSo|npe=A@=Gd&7`LmGZ009UnQ0?e*5RSV>^ zv0U%I|L3o(Pe1?i_tpK+|Lb2r{`AuiemxJ+OjuHQ`0aP2%Jub+#*=Y zYN}g734*EzAzV>to@~?7R7_jkF{p?wv>~&7v+NMlcq+!O54*eV@idfzm$=#E3_i!) zy25T)!*Yg7j*DWNsR*o0`AR;Cz!#5*O+^_$QIv+&;5!IiSC^MFN{}xt1)1tM%F=@c z$XA<^GPM(I6`?F)-{gnM&ho<>%8<)uCCgjFUV~pCIrwgu+!*W{|rr+vKrx z=Y?@A6>RIIBH(P?SHxvJ5^)D(;>tWa#(n>>G#c2X3VBAt)DJVU>i?Wh0mP|d(Nt;A zKtQfX_dGFRsiyA=9pOe+E}4?qjuK&hThjsnsu53hl=Ma^n?^J?4Nku;3Kk_9__J*# zUQI&&=*m+WrrInWNI}TV!c$acl^=z0D+9(yDESg@#ki+Nx67FS$A}8C0n0PcGdu+> zUDkD12x>x*8#=SWE;=$^N#X`AL?mc7GXMZ{_a|ty(O!}Hq&;I zTjMiq6^mPMd(+#`3Tq_=oCq+xHzg+kdFZPi&AxrTD zyGbcr611c{@pk|D7J5g!ji)O8W62pE1$MxvmhpI80HKF?hv`c=5Z|PIo_(6s!|g?! z-vA4A|Gl;Oe=#tu*Ro(_GyyN`fr5#w$AH#u0aiE z#9=c*W_wpcOV6H8@-eBTh(yZs{{HiMx4lVLs+m^HOBe7ui(M@E!b>ROAx`!pmdN@7 zNyX~(mE=#>8_N}8hga=+=ki9x1JUJ02lzdfGlOUYC&`9gSbs6__p*n$`6BE|sj71q+Jf z6}&`QMVh}d>hyxlL1YrBRLL{n?Ja)rtD=MEQnWA(6Av9v7`v7q^5@giI= z^$5zjvp2L&Ns)+cm^10>gFEjg!61?dc-TW_3-wr&e);*xce-vy8j}*(XI7*=T>63r z@bSF;ZYde4Z%ZC)s!4mjr<^99!Uw?p3~exF;I}Xo2y%2C*i%YESx+%6<+`QAtvn@h zKCF!WY|gynOx+xdx>gO_ib^@dLVhqf)ErL*c9X89$>Q0bAkE6kT}8&^^y}Y#_+@qY z`Ojdh3GRt{ohq|2b%wD(-g$b)bgtlTh6NFhI#Ox3&CB?iV*{pBdi#%R5tcP|! zm-&08u^Ekx2ySn*7#Z%gAQxuNTVQAC8rCVvq}**^chB1eT5l6`XiwkeN)*wROzWk} z#!Rs1wbQccnh|@eq)I0tX8$L7KtuC*|G4_o_HijZoe;IDEvrq0nEhV0+&L+#O3>v0|Fa@eq_J1{>Xp^O4vviwiyTKA;iyq=QFQ!`h9-;T5yOn!Zk)2y{tv*Fa9c0dhAeE9xGyVE$xl z7uf@bre8&h2+#Y&Qa`iRKf=0JV>z;I#=`T=CTfk*SDUDymQY)&iR}ME+v!2uR7DrF z=Ue6BnL$l^iw3-Qm^6cIdjsb@v~=LV$@A&9G0kY`Iu*p36JU0KQZB8pgh`|?-~aM= zY|{Vm&tK6Gp4s(PXk)t`EUiQ7qD?j-a5$bqI3Ox#q-532gKkk?Ey2&C@LpC=iXQ4COzTv9cI`Y9d9@4rtQ(}=A zCCQc4fWRy9X(-yx`!&f3$g_lL;K{vUkaR!*-z9dg5}c@wmk2`}xM#gxAuEkmt)Ok|hK_vp`MmpxMDzHt-yp#=SKp(F(F#IqNteK; z+d9#MBV?>oEBQX{&gcCH*#d(4PIY_?FJj2``^hqvM+u2AX1>FFY!f7mFoKUupxJ?35G1`SFghgkC}u?keM*CjZe+wuJZ z-31cpjQ9!PVOrow%TuR@48V~mA7xi0*Y6>VYPKdBR+Q15ZQ$blE?mlQw}-p!@yku* zt*Q#pvZ1iM)(^O0Q0GNrZwWbEc{}1gD5aw8SIt=vczXPC+PMR?fvDzmzcjCW!@~sd zMQDzr-TRGDi9eKpFw$%IyA-W{poaGkjrY_y3DF5?lCkP@6lfv!9yk1))q;~pu)BXv`X9pi&@|p@JWOb}%+K8!R-4h)Qh6-NDKZ(C*Ts)u*KHAT zG=+@pZf^NOU}Q!19da=r2YTB?7Cx{@dCR?Km#EUjz5alPL?w@7@VmL(IKfpa1`78W z1feVI@;(_H$fyf*c)2^(FsTfS&1hYfYRd|am))5ZotG}k?8>#mQ8Pt=XmaHmve8r; zF=OE9f@#sR*V7F_L*Z+9Jnuh!+Ami)Xs=z%|FQ)!%XB0hqNcTWQ#luAEXg!MDV#9s z+%+LIi_K_B0wkU#MoP7~{%ytDERR#W6P2q5L_dPW4Scm5PTA;8vecdQbd+O7EEb6; zN{HG0Rbr8>8F9aTe!074HH)qa9rUd$mtxCUx(6Gbx{dE*|Mqm&UVvvNbS`?$2%9AN ziy*TPl$wz}QTUccbxj&xExzfg!dh`WH7~DU6_F|&&H7CWFz8by%{Z) zBYV8Vp1OIkuDQRpi5Q^H?3PEqtq|rbNWrkQC(9Z$TDO5Fw%YHX_RpxUaDV>1`bKrH zPpd!fkB`?z=d0>%H4noajDdxQjMnIe!B(18Gsw#jlXgYvTN&Bx%TJFbXS7s2?6F_K zy3s-3taeCVu;$EViPl^Qg&-;>VJXlQBZJ(xcLF|@6%~-&c`z(8qovv*845cx6gN^_ zXlBaRhAj`K`StV)8H;o?uWF~=(Z#mn$O$j|JISr=PxtY3c=*WKPEhmZ*-i}&!`TLJ z>i!ePO$nDl@E`OUE4w+#p6szcZx2tqxAW?}`sM+T_p(17ugIv^6; zy>S77+h%Vr0yo~c&;VzTSE(^h06%V@Pv=jws9X9ck)Mn}ZNMP#&@G8&gZylvkVQl%{)0KrWZf8DX&UmF-|79!({A@c>Qm;H zg$i+WAs3w|3od}SbFG*8-Ujq6Z4JTue6 zxVx!N{=wf<-Ml6*7#51rlGaJCnMy(ZrfTd~?su03gFK#EbkZ}-6=cI*S`fUC$- zH#8u!P%&U{B|8y&(6U5I*x40Ig~opu-5oJA+Z`f1+|_}icC%!6xjc!D zmuTZxVs;JW{+RK9A?uTCh#n$(6j13;)D)c(u|!fc;#7H+*(w1m#^`D}JFZ&8zkhpp zJUwq$htuQg<#fElpsUKyxnAexR7!;Zmn=B4VJ7uQQGhZCm&vq09gS2^BFyX_U7d70 z`uvxFA-(peAOEqs|K*1t{=Rf!#*H@?aO^i9Pr&WR)M!=ju-AtYxpxIx$*u znjulnfBVxZCj!^&jAK5ir256O6N6?2C+VO#m*iX7RJblKRtgIQm;Gd=j%kR3jeRyO zk1rAZn)y*m0Hpbj!-kX@;t>k048+eerwu;RNrv$3?Pl#5?b^P?n9@4mo2~j-UI|0U zJ_vHG@cuKiqE@1=VWupUl0uo|F-L^p5ChycXg? zS%ljJmzst*1h&ysR4_u!-cbsA_LRE2ot#s0(vt^%Htz74+jWQEG%q6XktGDBRb|Y^W#rPob>@4=+PD;2d?K5pEToV2k7Gj{u|nx4etbd*R-}o znrGx8X1H*yILq3jjfomS@cv9A{%1BGyFyLY$nr2+ju)V~1^&d+pa(&vV}^ zGff4MYW~Eod;Joh;wDD1Oi7WAPP!Fx#as)YU*8nS?~hetv}EdgWf|w_0or2I#YyvCF(AIXMjGM2tK{2Yvt*}mvo>9$R4Vt;P7C>@T)a)FHB`BH< z^c}8#j!g*!MQ5#?>d1K64N4CDke|F^^Z0N>qYY74gGqh)11F~tGd{&a{(|2i(i?hw zNDrgzMA8^b4sJR#>SVH34Az@uc0y)weLS6CpH|Ob&P&2fqmoTe*k;VGY`hO^R5P)` zRY@Q2(ui?9bb`_+0~4^Ay5jVVt@FS<+EYy3qNvFz!XFfg2N4K`^+>EpPmbZzD1>Pm z#)d+v;Y}8MQQV(ZbrP5*7N7SI4}dxA|DFEuhK)D0(6?S|oLkGLS>Z%EL3hQ}O_B_d zOqV)2fRrsA+>RuE1%$jfKr1T+m{rZBNRet}pKYpfrvYJn;Ox*;->Pf3>mSgCEJF?;0B+Qq{u_Q$S#Co zy-B$fmhrZFbhy)6#7DQq`&Bd=vwbGLi&D-AB)%_5JrwQ3O*M^91unIAIyKz@7Lc*2 z&0TS)Ca%09z0K?0p~{~~T|zE;i9~90XCBg9qiMFwn(w~&sAGL@M2x*h~Nu2JPC--{XbKkenJ63zf)lG-vEcwpe|x}XT& zY$?<*sv$pDS`AT6IL%-tw$JJQ+A0*i7bP|UGC z96E$Un@+jmeG$zS0?=fdbyqlQCFifQIb#7BS5XxW7d_AWhsRx^Oa2wF+=LaT2!%_wgazgLu~j?zw>!7h<#Dg>Z*9 z{bNZOC)Eolahvl8abr%xuzdr2W}eh}o$8(%!iGl?+iSvJuUdAUTG-d)i)wdb{&wPh z;*yt)7kifuo`6^r7Gee*lxoIjI?P#>5Y5Vf+4EI9uRj8~r6Og6QlD=D9Oq{=orfDD zhD-`zBR0L16K3xxwH9rXbE&VoYr#0(j`CyRw)<{71o7APAZ6;2i-!er;fA70Myb`R2)-Hj3YM?vh}#U11=Wsu z4_NwcYPGBbZP4mc(eTE&8!Z@Ijft zZRQAIWCZpJ zMJcst=FoP94sOeEg?Z}Ix@t~lHrQY-7-#%fe2_}N1`BU~?t{S1cFu+kScIWMQMA)z zOtt)Uj+)HS-MPXZV3`;vS+6t&lvfii%MUk|#jF}yn`({YjBAp^f&<1eu%SYibe6SA zvF4g%ZP9?!)cv2#H;A2~q>c8{&Cc> zlZmJ?Exa7}4~rMWjhn4x4dum9Xa-AFZmQb~;G#3lP$mw}*V`@#F?+^pCpO#e^V4o= zOL`+4BfC?ab;s;y94-V1gW?jHD$2Q)*L8^t1CL~*>=qML_KKrz*l3<^&aIkOkCYKA z_W{S?GGb(6Yr(C|WC1vB=c^orYFx2X?cuUxw2ht6nBec8_mAi8ap?v(rY#RuwP7e$ zfeUMUO0r8M5hIPRu*b2yCO=`}80Xs2wb*rXk>iaQ80q_Vl$Ov0DY55p3%%*Yh9sY* znv@fBKji|0OK^kAeZk94u#(v1Jx?TSQuv9JYM`hK(9To!$zK+Jh$II}(y(9w9n}!Z zmnL~z9DNzqPZcwqbO>6+{e+eMoLtXLffCXu?%vLaRqp>S?>cD}L1P~-G1I}7y)2W8 zpb+mzsjtbUE+o7Q@&JKmXD6wBwEmSwbl)BxP{eI%+-D>@XBzjcT)29L9WLwkvKU*6 zb56_!7R2oBB(;z0l3*y__s7-t{(g74TuJ?^T9Pe&v!NmY8I>zh5yVSyFCn}e0t%JY z9#LK(4PPaoK&6!yF?+kZY4#O}yYfAW7%vN?*UH%;1k#2PH-hzuIGToIi@*AUI7-B& zCHyjM8eK>NXXWyWtIN`fadw{HY`oWgMBF!Ej)x!m44GY>r1#O?!N22py1Sv{KBB#k zXSc)sFdHZBPoRK64Ni%YRhyKuZCMM(`9>%~Bjx(I zdp|5uNXAc)zN=Ny$RX+bs*@`&XlZWSR>kN7IXV2%!j)^n9?`c{Y``G3^=|zTRl%8) zlE|N7(vZMKaqxQEwwm(MNjf>fWp@}vL`MTl6m{H~tyaVxIUdF#U1nooz@Z_#j!C$0 zVxjrqtZ%Q0u6%mRc-a|N8mz36b~@~D!mCGkRc-t7l06)Vn3hb3ABh$l`xWqaL**$O zKGunGl7)t@)_AyDci*Pf>3>7udE7zl`9J>q_rLsQNjzQpL@YTEG~p84MT?^|#2dg_ zC2)y@6)|)<9BvaGepbSL)9Kh;4i=4ZQkWINlm6S?w<_2_-v9j5>hjai|N86S7QA`o zaH@f0K64Bga!D6n8^rzMW#(Ig<0hlAFr?on!<4qG9<|HuFP^KFAkRWm-% zCDm08U+Sbd=i|Wo^*Fjr9aqMQ+UYtkhJf_D38XFS#JEcJ6z?@YbufQ}=*n!vr&_q3 z(em9WjVh&kit}`kXVHecVep)(ir^y$UX06#*&kLL+Fel_yFqNamP4+%XIzyFrDBvi z6cE!x`OOnQ817$cYUX-ly$t&GyrpK<7#G{z1!9Nw8J7`Jar8pSu(tJM)JSN` z=k1Zan(RQ$$oU}-8#Sv8Aks$BLgCWqKLdNsC?z;jm$hX6^ZP&l{h$3!pSd@_@i*BV zma#!@y_L>*SR=6*YYo z;eb-<2TTQ0c);4oxtW|UhL8rfT6vf3AElOSKX7n**eyre^}dU&Sn9p}qee3o}3d;|Dg^H&q(*jAJ8nsY=abQojjR3stj;8+9RkCqj^z0kc<> zQnO-h?ytZ8RM4*eo4W$IC3JLdP5B^9S3b0TVVfF6ROed^SUOmUU!YMPPMh5$W>}zy5!J{ntMiPq?a< zM=Y4vcwLF2CmCuuyWPbmu)|PQb!~dcN-|E;S9`R(zYI>})}TM9S~c2e`f3NRF&9gm zx_r1%wu`$07hL4v53jgB7L{?5)Jo#57~^bz`tK0stuEjHj)k?SGw11Swa;ENl?>ntl|ziD{B-6c?uINEho9D~g462NYd94RhU zGSjsQ0jta)RdW0;?|%I2>h52^{(9Y#j6^N4fb07NtYo+$6^95`gsA%cp+=Q=m<2H! zR>CG9d~7IHmW5`pSzKQebclEV`sMF``~H_-Z#rn%8cOR{+}Cl6i{vEuA2GNT=x$gi zYBxM2;hfm&c%`hs`ZKvp{Qf% zqnOU=TIB~t_?qGR`H!ObqqGuX`rrIfupCu7Nwc5Cw{-{H+3YI8Wdf}kvcpmE7^MO^{{c^2Dtr{}4$?g|KW=X|CP@=q6Watd1pKA{+M&l*F8;lJ7v+Mh( z?fGzeeO=z1P#v>eCRVZo(zYQ9LE#cqzN{CmQ0TVaM*L=TVz zd<+VQ4N)Mru*t)F<3}Fe$T`H^SYo{yFQs&;D1yy^zM;EW-aODyDa6WzaaR`y8KM$q zBf8wwjiON5PqIiM{~XVeZ4jJtf~7kty*f8^&^c2qrH_G5TRx#DT&sl#|}p2 zv}G~B^X{Jq$Le{izdBs3D9whMs!+h+L{+Omsc#fsZvq3BvGJ0L-ER@RdppC6J+HpG zKWxvRi`ieD=NnWFa@R6uaPw16^dZhdvfL2Sq&%L~VbD1Is7NJ8kx%4u7R%Xqspi`& z!Drgy!+H09*?n1(;c25AxqqnGNtHLr#p(S+xQU_DqlapO6SbjiBw5nNS3Git4N3iP zhCQYCcU9OXZy_3NPGr;`LID1Qjqv=`nG z5wmKImrVU$gY^X-+<92hAK z^^Feb(FV4A%-ieWLHR~yl}Z(6=pkH*?^(OX%Q=IdGyJ;SE;Coh<(-P0=rTiqrl+P0 zJkcqk{8B!F)iDl{QF(*x^(0@PQ@Lt`FGwd`bMA4?&&2p@P69cePC*BzbqA=+8r|;eapCwCpd8EL=%<08(6g%KwA`v?HbBEs<3D^^pmpRV?`V9+eRp! z%JY!q-B^mur9Ix+Qj+PiP&BTmrReR(7|7a$d=0fgU64P_fg8)$c*)TJYPcL`rVKYN z!u3h)(=NSdXPh4XWI0{-dQ!rcIvMzows-qKye*Hf)+>BQ1#39o$m7A25_o73#p8LSIp1dlJ&c+z5W8*_xL&OiVL`0}mKc%Z?B0}N_DS8~) zu{C27j0YGAv4E{O6J^X$XwUbVb!>c)v|lilxo~*;a(Z2&A2w{hkzyj`Q%PN=OL{R1 z+8?zM$`owsSi#0esj-5W9T%}bydAgi`x`Du8(zri_ddKRik}bxLryIWhSzy|K<-59 z=XkuZcDZW7DmGqD5A^evpOG_h|M`ZZTcv(2d(1^L7-i>5jngJv#W{F7N5;Zxt(tZa zDr-iu+N4|wc7Kv;PxcvOw-<=+w{Ry8r^iR?kk87hjK%0YemgI&^05R)w5Vrp`yMXT zsyQ{d(pQaI`YdVVB_+HU?!LTkA9qFIW2tHwMz@25jdDGF%$RKlw-+nd{1tKnm~_<) z&)VHMMc!NMTybIX8lUQhVRk1{<@nn0ViSPID0u7~+@r)D#h;M=C@^lKRh|kr(wK$; zY>=edwKGSoQ{z+Xzj0#W?tFS*7~pBtcBA;qO~NoNx}~Beyt9IXLn9kWE9^I8uD?absv0tZzrrGD@A*l8WS4o%MoF zGwV-Sy9PT@btwk_;{Ee+`?Oq%8EbbnS!>YidFd`psZeW2UJ)=$5%CtE9i5dEN;+{UGf*><4zH8OvCaL7f4hX^4~Jx+qX2Is1A0z}N3 zHISm#evl@D9)I}xm%lRGcfM&~5yf*UydEz~ePsg$<{={yePrAOp>c}Qg&+ZAwrH&# zI)3?xS+XWbp6sw7Z+N_eRpdP)`qV85?{~@dy zauvn#9r(OvYKPTpLf6o2hz*JY&D-Z4QZ>&*^nZN3a^&;F{XEg-2z@3>%nbL#fe(h6 zmxH?$hdJn+7_yR0kkY(EP`79?{#z(Q;G>aYb?xe$r)TGMfb^glUg;i{V zq-@e8Ki-l5go9q*m0H22JVnXdfv%>{Sz}!hW160Zv8X{lL4CwHyNT{t%O*(5CMH%2 zCkIH&{d9fGZ+wgWWH}KsSA2tRW}hMMYIHHxnn5 z8z_g|wJUUOraU5t*D2zX_9*gN0uA0sX$_3e1v9ajD2 zxH09PA`_ONgS6&m))dER#N=d8OEO~Hb$NR10adGxfX8>)9-iS|T=&%SPcn`PGcp|SH>b^h^RQXnLgJlBUww7dNT<#%wdwQ~i%YS+ z7!Z>P8RT-%?D8bxnAA#$mI){9)Ya&s4)saI&sp*8knf)?yAZ8$t^)OTdl*EJhNxZ- zadI&hp`2a*vKcSCJSm9%5xkY6X)bnM!E4Y?cr9c}@N*Ayk`ckhA(ut;`ARz&42WxDWSpQcSfz?S zOAkH)rYiw*yR`&DD2yHJnIQ7>)N+_itdU{ngt#=FYqv@NKXGr{+(vSwi+;Zm_dg)w zM(lbcFxam5s&5x0ArTe{@BrY*@|PRh8QG(-EIBk9`|Q8JnOT+HS=HSDIAiZ&@aQ7(dF6uo69Cn3-n-4ijyX7Q?CO?{@hI!~P0`({_H@Fa02qI8sMRzHB# z@JPKo{E&oZPbV?ZhBMVy`@_Xep|xQMVz8DCL!YNkQcYkjZbYbqE<;C2kWRv~hm#w; zOknDf!+Li)jHtFDk6MzMHlLoEfiO*pmP4m9^Q-c)(p=C6)5XvXwK*oI2@;q6n`Nz9 ze3yk)@WVO^h9o<60#!Q?>37Uf6HE)mxH|uD;AN#vS?jX498gTnw}D;5U7*$I2ilYr z{b1NszHxSTk`4Q}$xGi2g{EbB;ciz+iFGg;2yB#hbrTIM79C_7HBr7}TAE-Q=tzeY zbg$OC-Tu15@|e;}snG^{j^S!sgg@9s-1&yVX9CexR%cwA#? zIXkGv63*0EK#^;*BCN4kqnhC*$2>GaqTG8F>NUvlSy&l2DG^8%X4Yz;L(!)3bP>FV z64`0FT=sMl!`=@S9JdcW`PSvi{p^|}DKo~zQ`{E@SAmG2p$rx{1FG3XK1?_hBx-$t zCU18+v-{2RDz*`G0^2BJ_=3HMU`YA8n&OyoCP>VBKXP^4K0=CgcL{sZytwh=V{mk) zux-tNzZF=B5xJ5v);5i6+-8#nZu!G?hQqzyy%1wxyAf&9!VKXZ76{RdN_{{B5siT0 z5Vp)Q-As^}Z;F6C1Os>Lx1us}-lUBovz3V;8rwX~Gnq9zP}e9@q@Fa%r8a6~#+fil zZhgPSmeXa8kgc+~thrR5Grl*6!|*ZtZg^Z>?(B6E7#p&mjz+mC%-O7;W(JxdLCSq% z`m}x6pB6XIG>m>to>v7O6fu{>Foyw6@y0p6D$Gv121%PYAc;0xHhIiM6YRJGV6G`x zj5svCi08U|_f!*d$ODCAEMhXCbH!V?TM3c;Nmc7B=dYeUqC_wEHH_PbfwX&aYIBMM zG&b^6@Qh8VNfJ(cjd>x2pAJc1w+D0AqqRz;gvaa!Bt z1qSN}ophokD*H=`ZtmAtobLCJPnV0$O~jWAG9w;+++Ut6`WRNnZZPN>tBAa@&Ad9U z{|5Wr1X4^&6C}X-H_Du01oJXa)|-(_Kg7Bfh%zThdzJ5*8EAsUIR8eOOSe^edczJo-I=neEZOCChf1oo zrL1vYKP|nE1E-4`~maF#`IA)s(uAN(K1V2+?Y+Dh7v?)tV$k3eCPN@c33)~&Z zKeJg}9b>1O_=JgO!ibF=z5D*KaE0gs9`}DN{*CVW%F?L8fSQ6oVLlKE-{s~dL_u~1 zH#nG&Oof7R;Yh7P#BTU$k)7S6Z>b|PrhtTA{EiNBS@x<-T1p9eQuau+erVDJF-~IH zqg;^8vResiB-z{xFvZ*$CI8uz9bD|wYva$#C zu90}&Fd37uU*dX{ao3e8lmlxn285CKL=S>86Q!J#i}tV||JUiN?$+SwI(Z`YRx zsA_^d+I^#=5Y{Y{Eoi!^(GDoF8qfJ;I$jbyWrdMM2fxd}S5%0J>eEH!o z7wG(SO@NYjaIjr2;3KfEwhYX8kAYt32GY-5SF$?jhM!)qY#LUb^ahR{U}#yBkmu=k ze>&}Vqzz}m!cCZ=dUk@cDp$}vP4Ze`<1+agkp@v6q-9FBj8R}_mJDjS1boX9I@Cf8r3H(0u@c64 zp)s=oDRa=^r&*ncwyHg>57(x_xGR9-SPIYzR5dLuI##GEmuNh#`MJ5=?Nr`gU`J8dj0x{ zq~$C(iOjB0l6iY(e7|BdRWrOMS#lU2Q#_#y4ver7J-9ps7RB&VSH>~HZgd0BPf-i@ zgc3;nGEpn@K})F`qIX@EjYdRwSOFQ&qoYVb-;6$ktPTh527^MfvKNfPObq1A>(l+_ za5>CqS{6CGYM!0qS{cN1PHZBep(EvGt~m-iV2c*d^p3$Pe17cH4n{P*pI5Bc$F4%8cSnytZa2wC5Ov$zg&7K=-=+1d{#m zdYlq;>t>7F>$^CP9|psk>O5@I%H96@O*>GE1r+3VM1!DkWg4b;r-i%^|Qiy z(~X1$9TmI}IUHp=n2ar9VX?-ZD7t&z-EOa$Sh5Xmlf~~MvSGWCSJ@#2rKU#gkY5Kv zXM-_Orm`FuCs{8@z_R6FHWmZtDF<$M_KcBBNVtO(zG}h{iwSkk!=wF$Q4QAQ5Pa=(v*4kAh?-gozSN{t|iJ#ohMs z+A!zLq1()E`)F{4ici2mRucq%D#sX12opO=2!kjT%(UNbAC4C>p-pX0a*A;~+2(*q zAt57f$LjC4%b9CZRzi8mO5iqG$wiOSG8s(l+V(6_joxo>->e}I+3qe^^Cz~LR0|af z=?;eUlWR=CHsUa5ea8j@Q7gP+k-GT0ID)(rar@@&!xi0!3EI(mGG4pVq@7tSYLd01 z1q1OcGn)N#2cE2xGZi}X||(B=LqLsDz-SCB+$xmZ`l|pIgH!$UYf3L zm@p?ytPt-Qp5miBp4PjU-|z(W8FB{X3d|Js8CV(A#r})8&2~W`8H>E^>?*W7o>X^b z;$%lFzY)yw7IM=o6Q{x*C7GBk1j38m^)f&$6=Plj!&UVh{V9&Ea&p<)bF< zwh4)-ta#>fWwM>hR#eqV=uA;+_I#>c;yPC9GrCaebN-h4{5*{rQVl&YaP>j# zugl34v&BR`MGmsRz2Dz5QgD81t-={h%=arj2<(!^O5EU0w9mi}Ey~TL+z3;#-9W*d zJtEV^LrI%^ME}Xc2meMP_P7HMDUOxoSSGjKXj}mJ9Yp;6@7L#J5 zu`XfLOm!wo;;Ejg9oHgUQ=MUAnJ6*G{ZSsafBfV2w;qA!GcO#$>c+&t5t8fL5hkXU zi4t*4(h{rJ_U?tUQY}o^6@JBBmNQK^?6GwHR~h?&$V!xwiWOn+DB;E=EE@1k$a?Kg z+VPIpMz=f8Yo~%$kL=qb;N~tY?gkbSED6nSQbLYxXlTR;IEpl_ysy&?cZy zSM+!~@q#ol%1%XMMfPSW`xm>%ZqYQOgFFR$k+;7ZL1xY?jTK@m0}zgHtHyFuH)zO?<7!Zy*-mBKcx1SD)Xd}W{pbH~JrqgP?p z2EPFh?QwHjJRDAo?ROeS-=^1ROf*|nWhjV~z@=Qooo=?el`D%E_%F&D>?QwSwiV19 z6Dy+LUm>)aLvBv!hG~>t?uXi>kY5k5{%Eu&^;>VJ*(H)tMqfBu1o8j`?JwguSYi@gU2a{r(ZW z;62TEpTS5}^p+C@fyiP=W19ru1;?_Iok5jp;5rlHsLW)Lg|tb)m{TT7m}}3s|FnO5 z2QpJsy7=7zbFmHhm|4VKTZinh1zSou*}-5+&~=Prn_7xxL7TLxNjR{@5(za>zH;!v zTryG8`u3o^TKMDoVSBuJKD;{v7p#S+U2nFQ-LdRAyN`u&%mK3}!cQ)a#p7}X~684|_|QK^LoIrQF&a+{z-5I_}_mw9EP z1np881n=bc``tBbZK`yU8UT$6cewWOna!e%?CGr)^zLbpbHn;2D_V)SlJXqH)C#I>TnR`YMSW)De zVQP4c+SQ>5R&SDaqS8kavoCD%uGGJH*zaC1PJ0%3W+Fsa6CoAAzm)Wl$Q~cqwGIa-1cfL`Yaz>#hMJ^hCnyoFIuwV3=v@5&=kK+p0Jr^vD-b~<2g)U-ITmma zj-}als#Y<00p-r#j~Qg5WK8~72pi4{YtvxmdSOK>TMQa|J4u&JFAmws_G`?h=DCDi z^S}lkU#{tP1=>2J0nXEqdaVIE)oJW(K*uyPQG$tS8!Ia3`rY9g_c7Z)=JKeH=}ZS1 zM}m@|re@ZgJzbBJP+T9^=pLAHfzMPef0BY4mMO6E81*hr>>6DqLqFUmb>) z@H0UeN9P;N2?0lyh^1o|n|+=Szg6rJ^DKSO$UVtCOH9h4Vd}(6fg~I)*UhfaHxq9< z;D{$K$U)A_!ghIw$x*^=vpv%`PysWDICE zZV&tYo6T8t{3wE}u1`X^`@KH9SBw4IclVnO zN6fD_ySLlhYg=%YW;6c$Tl28^&5ZABEr&~mXrtS`PL`P zx>&PG%@#jRRMG8DSMxSBi+1|el5Yrk|j2mLQ#0HbzuGn9|>%-M`YoU~G+>V@#a6(Tl9 zOd|>5#C?*G%?MM^L<^x=n(!H>|Mch}8ubv%LNA<6tw+BXz6Nv}C)F*~+QV6$qX}wp<9?dO=jS z8ZK%%bo^bOt8u}!3c>DBvV-@8=J%k-XPL~=w8$u03=wkn3L+y?N87N%S+(Jduz~?{ zmxkE~X&XaDSw(`f*OLhIeud7fFJHg?^7+H!=Ii^B1EoEwS;MUmO;83K9^GIm+dr2s94=v_>cW;KJ_1DcT4cDCOFkrW`5@Sn9p#>W>BjnLtZIrGH zwh>w7Jcj|ar+#F_W&8^=P^D2FK|n8dK$&VkW8931+^96E3H}VrQlvBc!Fs&+smFo>%cR z2sW%C*cLnpZZLuJ)gWoloHD5*&c%5Ot4g+O}$rVHkGYp4Q-(DjKd1$0YXUP+#pue z88dH%P2(w8?FNs@N)cIB`Tj7ZBNP1=48^rAh!K_%o}NB4eTOKjB>Xk6ILE3-UmGY= zCYEw)B>Jj8Pg@I>dRwFoj60vqs?koU(BPjn?cp9`x12RGi%gQR%bp17=J0$xkIx-R zi;I6JWp&ege=SDAag5or`T5)Y z_+2vuo3kb+gy6OmMsa80{R(%lw?!DxB4eACQ+-#k7H;P_dlGIv&wX=G(Xe$Rvqh>>c$L;}g1;*3sgvTBC7uPw^nhTbz0w^u(26u@IV(QXIvD zbfv%FoB%S3OfsRdcK8`yTDK(y9cO%fyCgcC7#2L2zQA6R_$pWGVi;;g#Z<7HtN2E_ zxcvCT<1Y|MFm~jshHzyjbe0zT*EmozNpXnGY2G%lKSTH~+1r_ac~*xg4rBbFZ27 zt&P=qsBI>~1SJr|N~IRyoD~sJer-$=lkC(O-jyJpp;U)NxPIQ_&l{e+U zr{P=eu+`rC`FR@8q%o=D9>p##YR7Sf0{>-k4+`=DOI_!5r5f%Yh4*gh92droTWJ>t zG=m~iLxU`mb;k$d5vPRHInzX8KABW8c_P>Z4|4nEAJw9Pxlq4)sY;+ROX-%)N<#RV z5xB%eNONqn_g_WdEqFLd153iPGnDW}+gEKL^19&l?j7W?-z}cjcQ>2E>uclbPCzfo z91=4?CR&*C>^N2L#Zd}hH19D??EzC5Lbyg7?6jSIEmKkf#CA+zm*kD;~L(GlrCsypz%!ZFSW|9w$ z@Z{Am=Cv&wI?Ygnq!h2Bo#TN`h(cF7+1e3;pf*Wb@ggWf1qWN61!YGlaWZ{;eHCx6 zfjFsB3&$N-V6T|kND!0rCtSg^f3=|98jt(^o5c+l)6cQDGyu}R;HX^wBSXUS9Q!1M zkd~NMjUcW~i+aPEsIainV0EE65e_@uZtgD7uuUaBjz1Hh|H!=h;FYYM<962yF^|pX z5^)fazx^gqi7 zKsMds73V@_p`}4yAR#JuZIL14)pql6#|r?ii>+`-fqbSy4S=tN9q|$gPOA+*5p;Q@PBI=IvO$O2AH3}3mB z<~25B_-EPS7ls;;TQcDB?zCN&n*#8Q3O>~)$NMarp$bv=OrP8-)pP}@{o+NRJjdLH zodzUM|5}L+v!TyPY{7n4i6+sp!H3bm+pNrmpazrc{|Slbu?P;A64c#9_`MXw>~Hp$ zg`g&MG7F~SBzVl_>3RLIMqY`G*6jP_^Up9gw$Bg#s5m7w9rnBr?X;jT;&lX3W;ti7 zK83<2baIA>PK1v2_=s?u;|bp9G};uGKJQ=SXbhA3Qk9tTq8_Qy+G&E$S}n#e^DAI~nVJ#`wRAQ| zcn61f%ia5Y)SN9JKYacB#~(gSv~Zkk;ZUM{T2e=yS~ydiXQ+iEK)(gkf-Ri3Ra(ew z0+#ctiv^7f?GEJ^fFh}5>hkrLFf8(AI#^ErBV< z+Yjrz3jtK)DMj12Kr1L3!E|B9%)wI(O0-ESe(I3*um8%vy-?MFq_W6ENiq7BpMLq4 z3&rQFR5RPQn&!>qvMq!B%(_W!kPywLhEB{EE*g+k!fqJTd$T{CUca>c-|kevl`ZFI zxxkIdZd1uEagUi;VnNb6mbRYq?8y2aPn)-ENF*=k?s{4gxDuQS!rKN6-UN|mbOozm zM=cwTt>4}(=LDdz(F8P)gEdPXDZ}#dmrvh5e)r4I9~OUm|Lv#i5Llv%S1M4BsySzX zo9M$D1Qv1U!~t1R9#~*$o54zs~5>!G0xLOT(FhUSa{9VZ0ivGFNoYzFSHs9-3iQeHfoXGTs1<3mw>u_slh)c zHEt*Ev3!=%r4yvaV7o%pO^m5%d{x%^NKW=`!Tkz3rRugFb0OqpEN`(0P_5J>AtR(M zE!;S=FAMD+RNY;>H+edL8jLQaX(a1p>V!xYCDt&h?9Fi2aEKr>N-(lFlap7&^u(9X z{|#p0qPo&3MH~CN)=$tABWmlJ*te>@@X&A9dD(=U%`_tWI=M~*RYPNle7rp_Zhw0J z`SXWQi~q-8czJCPv~K$2NjmOiOmsmJ69SJ?;3%?v(?N6v&SZU&-C&$79_$aN`^rQ1+!Up5FHfwL&zOF#@Qo2%`>WCUn)z1!mL;s%V1c#6D0C!1aLo$1k71{rL;{ z?*G0R+s|Dw=S@1LGqV;DfyU^Dq^?Muu+OOZXxVEg_J(rwt(W-b{eS&%O~d?>M)Wj9 zbK(+fdw=UJE-u~UUo7IXUzFQo`aQ+FFJHg?w0Qpf@!R6@JtE59gK4}{Y>||h-q~aT z^`wPB0JRb8u}b4s8Kc^WBe8>&lY2dD$J72{{qVqqo{RmzUl<>%Lb^Qmq=jx+F^DtA z1Z#;*u#wy$!%r`HZaF7*h_UICQ%B|Q!_PlJuKMBUg3!7!zBfyt-%sB&NDHp8TY&}b zb+z+3=nqNN1Nhi?Mk1YFp>hD7*#9ND{Ehcw-RvlAc}Yt<^42k% zkgG$ikwVf;VjWk_q_08Hb&%LNl9xT7Y<^xZ?`UkuB>J9`mlkj%t8^#&$jFaP@+w;| z+8}w28RD#*wMW0RZXptjA;>J`#B4n!E`#j(#z zk_C+Ep1$8dJYJglZd7-uUa-GQ{mnWE6TB9!{A?Z|-xJ+^?ieSl<+un4i=TB7Hckjz z7m%+rXsxu*QrhV)Qt(Qg6J?+*ZS2GnOP{4>S0^j;_+R4xTL6tfa=*TQ*z7J7&DR?@ zGgEOL*drP$r&Tl4|43&t7z!?2c+t*LS={34Fftp&#pW=fro|NGIlJo`hmn@VGAj&& zD@YV_7?85AKr05JGbgRL&ecNWD5Tb5q!EUNZn?iuBQ|e0H;bqJTU24{!OsAFTveLS zuqsza#Gx#F48g+V5*0XF;e>!kJ6aR!gAu6YBCutFr=s_vXuSBHIovJ&u-(0$8{KRQ zaempustTt+0RT%S&Z57S#j0%5l(luO1q;a93D)qKrFJZ}jN?rSgC4hc^~~wHJx7>! zOQjy<&Pn$(ZE+)^6Rx8d6mVIg9nQlJv$I)f2%*J_w2+1NEVSg)4ZQDm56@4}`8QV+ z)5@upfx4`x?w@8Eg`5r^kZU70hyU01?G^u~YV5;(HJHO)!pTDxR{XGgnrHV_o;onteM zWPKKar^A`Wsxo@W6f8W8&Z8?_HpIMZ)rk@V{zo`ah*T?8dldJirzluj z^Zgde7!W%&h5^l4Z4nl~+uyx<`yX=@d^KV_lZ2GJCW8hJxj5#a(<(*531}%=2cOZf zsVSuJv{h0!SHcR4-Je_y(`(AjmtQ{pc(F&;bWJlKDifV>u_6`KR>p&i5S0nU*^T}`r1>aI5 zii2Y3C$W7m9F?t7e+ld7(v>Y#PT-qp9HN)Yk%=?TR&dH}Iy__|;?7A}_IYw?4fTPE zJ02(KUz8)cgx|%`mC46}s?(TckY#GHbRB5}c)E7|6;43O*>0W1WpAe^EBN>8r^of~ zawl?*2C1sGA$%_(*eQsfQ{EGV+SkigiuefvC)FAb_IPs0yYPDHE5NFw;5c`iYGD~; zGsnRWH>;Wcl%Z}2~Ry?%JOOySyg zK5E;hitCtcd>}2k6FSc1LJ-Xl$lDyfY4&xdd3=O3ylP*!j4=?htc{Qq?1tgtH4M&W z=Oyn9fTttGF9yt#G?IGpYKKJ8aVz_YY%8gHMsj(}c zPJ{a-tROvRS{`@bv>SFwCm(SAGKhE>?EgwS)VmTV9Uxr$apq%HKP z*bVl8w$1lSl6v<*yTtAh+J2V4yz$&Qjw^JEVLuc@a1l45-cJKAgctV@mNO@Rau+S0!fQ{H{&5eCmKLbFzf>5s4=0aEwWL8LA;oW z)SxFp3em$i6Ai?mycVY$JFz?(7d0Z9U3ao6QetI%nEelnyzKf$GrR5R(X3e;^RL&Y zm|#P*BQPomirKz6-x=#gcsJ`$4Esa5YlK?d)Rf%5**vXJXJDrj%Mvkq>&->KHEgy= zh824)m@I9n6(Nh0c#b42J3l!jFtLW~$_jYCYi`}Jb;}LZFh_{1k%l^|T9t7Hmoh`Y zEV~iIp08Rnf`L9>$*wHHpq}LV3eimYENDcR1&MpgX&r+tcT@3MQ-+X z)rt{Us`kt()Gu|PA33iao?trR?h{SPWSEe%5$@U#mF_@6z6&9Awag0Zp+U}clg#Y% zs!5zwYW6pWZQtbm9c`m|MDCuMW`i1SbV>Ma>$0Nn%Ze6$S<;3kopH)OL{o=E5LUb4 zjBGS4`#(8?)30=S3*qwT_ka7_dBtwZT9O!~cYzSu&$E{gF*1%Nb`V?&YNS%a zFvy72AEA^2lowG(j)yEeJ>MkQ`HJ8F{L{zJfBuHh^>6bbr;*`2QqT3w?`+|+k*BH) zylTISQ8Z0e+33;zQ&~;{ zmf`cUJ~YW5h800L>70L9_Iq-Yfh;mwP{^hqA!5T}$@TVhT=0gJS;1W`cwWp`zdx=0 zIg}H~Zeko1q0rVtjv+$mVlCJU$`OISQ1m8atrxEjd+hn#Egnu+LN6+!IwtSM%PgVX zq*miRhD}XH97hdRJM0oHd%;jQ{W?;^r^9yl`l?J7k`q}z!sMh+{A@9HN$CO?M>r-r zxLz2Osc;hlg<9JIVhg}~cHWj9p#WuVJcsxLz%ak@d}v4A9& z+A(9fwk^qCaP0mh8Xu!=D!sh=`14QSzP<;K@|VTp;r(C#_8$KH{NdVQlzJwqlH90b zrYCzQV3F0ZQLy9q4!2!3qldw9bC-cy#xhCrOj#eY6`=%0 zp_8?~Va5uMJz=Qph_pipo33x}aeV8N$Z@0?6|FOF=qMN+P~8>gdHoAaCPNy09J4P5 zhA^0%I4u0yV@i)Os;MTL|ooPR$-f+%6pi z3aY3CyFv-F?^)9h_nY;_`wgS}t>Eg2PA+vKu*oZ;SnR)Y7apv24Hr;p<(&2d-Fgw0 zonW6xcgGiKmL}SHJU+z&esf(77`d-fMchN3>hl>y4vzbkn zbb}ru;wWWjM4oOup~#YfTJ<8kk=11fCo%O@1HfprlvuzxoNo6Q_l#Z$C@}i*1qwG8 zPhd?p*47NX1=x{>IWI7+iYJBEW65SaQ9WCuekyfPB!jt-2RDQHRfi zA?QT+qm*Ugc)iujfg7{BXt}1P7x>j?{rcgGHH~4$Krl?plnF`a!pe$gPxR9kyJ@jr z$N|#&gmgsxFJ@`kyGc+wNlTET>v+^Fl1dsv^-@}h=nZxhf}aNW;^NupMm3fcofxMt z+Q7a|V$!MRjhFlSr!SC~O5Vo_VfEOY<+daP%Z#)9>XeOs1yT(1;-n7oKDuUB0e3R` zQBQ%%T6B`rLI}RWeICc{-EQ;l?A9Ix-c&grLLqIeZkI9w%K9gXEWjj#0hYa)5<2M6 zVsDt3MN0@hO|oFFxjh`VuW9Y&1-2^RKo`hDC?#&$W&(A(jU$_&!xg3%b2*<Fejzu?^`n;5E^YF0Q;kuiPmpo0p z!AWxH^h>66loZdC16}?hM^0Z_t$DAytYq3Mu%3F_8TX#;}$<-k! ztqC<#4@wKqtPOyem&J5VWrFhj&8PE&kO;1ro+xDRfqn17#4$N@9DRz7uS2SLBO>J- zN-!ylk-Lz3#?Rx!`gHlprN&0srR*L=f+|q2-y!>zs0>=F3>puCXKjWJ^6^=T7$R96 z%i8Qp#?u!*=1V5HYKVz|vd3+5T^r|DyfdO5-BCNbi>7JxW7RdB**K_#bV@?!Z2*}@!PjgA1)F_;1ZUZ zXI2JnE>O8)p{!;;M|iXgqApxsSz>WzimV9uhz{i4Li;lygsMXx>01e{-7P)tFkLQ@ z1xOp?aA!?_voU2}w3Jda@roezn40}!f!SA#YS7UHX};S$Jl+52B}HhXb=8}ILKAX z)zP&<15>dWIZ{FGIh+~$pAy!|Q5F_9*x`j`W6NADMovwRy&GFu&m)bKc?2fHK8zCK7$7)nua$k6oI@cRWc=h1TR^MO*Jm@!c7-j`zSQPG zA-n+DIp^qv;Yam?Ib1pBR2WLqMPPPhdeV{I?@v$r=i5tF^qLTFtPM89wFB1j6tb0z z3--B?6WV?uqU3Gz4TLJP8`CX4m%mOMTwNK#dZcNzp`ZatT*w$!5w4BJH7XPH>ZFDm zC2yGnlQEPUif>>)rW+bth@4G5NjxL4u6Jct(9nXE@rKv5X=La!QN%SqS8~9H$rz?2 z?oQy=a?-#oDn_nw^gP{qyMKFDTGZT`1s*Z~kwfvUyK_rCd`LBEI_kJJc9=?<=M4@_ zs$%2{!hSsWX?uaZYg8oZ@LOKDrMU^}uuKz;8A#w`1wO%nZ8(G+iY8InyU9tK7un$X z`bcjlJi~^kEE_yLgO0!d0E%LGC%WMI;W3elk&`o&zvE2ttIgr^0RJQ#^AMY>E}p$t z#BL1ci%SjI(+=d~s)eV`9hl+6cD-AiL$azGLM{p;#ThHt_k$*@(~$Xq zgHr9Ii$T<(vY(xfyK0NH-t}l02#;H%$+;)Vto3Ab48Ei8Rfs?rqMz#@IY3&eGniOFFw?y@3*Yb!X14;E9L})8X zOKCF8vI8p@TZut)?4ZOZOU$m#Hb{4kR(`(2ZLwcm@sWc2v4;3Eds~L1ikfXN{CyEA z4To+JB2X<6ZHeU>#ris*`Zw6$E_*iH0u=EdfBO3I?AYW~CfuZRWx;auab5}$hA z##I+BrN?w0QuiV0G=(KhvV|KK-d4395}tjXYq5V=jeOW2PZvyus|}kNqRZkA#Ymj( za>fs60z;bTl2i|y4qx5tTyDDokf zg=II_jz{T)9`NgjKY#f=%)_kCV6U6$5>25cTVXDy;owc79*u}tR>DDNsGM^`MxN_} z_-=68MR4|ZZVJ3pZ3n#W(TQxMcs$$lS0Pmj#9D&)UT18H1S#|8kq$1ky=8WHa_*?- zZ@7p{MKfHH>Wm@@N0*v!c5+8C?yF0wL26(F3!F>;=5idtEGb3~8}*j$?fv$&X_p#J zEHiGs=U*)M%wA6p8vP%V86NNuYnB+u1zbDV|6-PzJ)T_df;B@L zihVvVQea4>Jp-w%;vfi*htPuC8o4-;NzOZvIf=N60xws%8-2E>y<^U$=d{^lM?jE*ncfu8utoO=mD6 zUPay3c6NlLtt6P6o_>1&=^r1?!}43xjIk%P z78QUcsLDJa8%Fm*R4{pUd5CU!eL1>k#uQUcMj@XrraLqheEl49IwJ-hitk@WbtYRL62?lk`6DrgOn-o)zwG#8YupIL zxQ44eU0C3#T5DWYHf_FK#{w(mx|NQ8sIZlFcPSWK0~f&@!|^0HB1+6$DJHfZCI12k zV$ay)VkAHzFBoL2oo>)G2xGNcnhuhgot~UCBAHQ#AJ^wM$GLVIzp4O~WrC_B_4Syd zc4lQdv2x2(LLDGg8wkyd`+!rWA+E?~g6UCAoPts1Jt*# z+3Sj-h6HEtC#QM(wSqT?_3ri_SCfkcgY)gYcCVb0uMo?eU8x65ZkEH^p|z^EaREnL zz1$E>QnTNy7G(&AjJw7C{%|}?nb~?iQHCqpaiI(c>WdZZI_y-qQcSL<%<{79OZB8* zS={&S!$01C{q`$D{0hQEQa>+^HHAJUbt@G_%_XxgBjLzs;W!+yq8%im+4ZFss6dx| zRhvvNTMm-mm6R22v>qKk#z`P<-b|Z@udEW-3mGP~v)g0R6eH&$RMK>)vc!fZu9#jkK5Lmdwk}2%)!G~xSQLSg7&#Z}k+K*osQm@!VGTG?8fJ~Sh2u;Z zUS?4V%i_ujW@hC(tiOj?{sNIim3Y7da<-Bd99}RS#T!bQ2hRJ1L7QKJ9WV_k5j;2z zu~Ab*W`-0iXG;j@h~gek>(`sb>*ojX&S$6o8ldBZ0w;406of!Wt?C|`N-M}*#Ykn2 zftV!4PR^G+ZEkKZ^g-Ifcit)>-34|+%4`?1`>rGjk z)P%UV`%9*wtXM2_GLUT6GOl%CT~|CtXFF3D+zd`HItjr+shJMN$}x@} zSdr|vpZ>q~-_P-%RAAD)E}pG0?Ht)HsY04_I~@9RQ6N%MfmUcYB06y1iy!7YW)2i9 zr#OnVZh4qpjM6ofb`BvaBN#<5C)^#x4`3?$kG)IhRI-R@?fp)N*oy+a@Gq&mUAIz+s2YX!d%}v3Z^`w6t(Jdyglu$6 zQ;b5GT?Pl&D5%w$1*em{KFafAzoy#ZJ|ef@@9%CeL(J<)GA##SBO_`&JGCiBaGZ~n zZ97K8LpD6vup%xyHP!A2#QgZ_!;g#8FSs*zKF3ro%R2KIGRielT8uH|33X4a=vP+YL9OS0a;NGsUSa?yZ!U$3mk(f-g?dl+l?>bSJqN0h$#&N9N;k7iEXDiK+A)iI+-sxXgm%Y!p)`%t0MZ974(>FZ(mOuVvt%zOdy<-m0iOvC6vTxh+q) z5j58NN~YFJqE?cT{g|9IArcN8mqQ*|9yVEQZZ7TF8-ugCtHm=tymET(oz;t#~RQKOrGLY+mmV?-qxN*!4Oo`1VtLqv! z$tpqb-CK#&R@a&I#LD@jzI*tz-=gF%+ej{Luw%nkN;;E-f0zx)*~(!hc{{QineW6_ zyL(W7GH~s9d;fgeTy9^q3uRU7c5m|6=yX%x+@k3{u}C z!p7F6l0)M;z&ygYOxbW8t#s>Wt`=PMc)t)>DLqtBb1cc+CU!J}gwi7Heb^pzUHDKg z*9ujzOIyl&0U{%v1d78mvenjPX;|=uaBTo$mdj;dCkK!e6Y1>`jr8hae^_6Fo-~+p z2}WY&O{Fgj24W?b^HR@{hB`vyo)PW?9;0d0GtG&u_6ns^(|H1Yz{cC-{%`;{eK;(R zPtRvC+M~#_21V?sP)&%@nYHOyi)xmsfg870wY^TJJh5^dsh|Hm-fuQfxiWcO-whEb zCRGLvyX@y6C&sv@yNL$Pb+PTcG2w}ob4dNd$nV#?+p`t3DWra=CDq-T4k6@1F{D_f z#V9GRcoS7Wl9ZjCZQ@^qT;V#ei=e4yF-QeUE4yx$b!H3=ekBt$3<_6&N#VX*E-!)Q!&Vr|>v zMkgWG@tk928I{ph(_497B8e@soy^qHby9)`tC%tfIosu|k;zVMHQB{Dsnb8c{Pn*+ zoo^0~f(8-e^gGiq^hFlANoH6?NO`d}jbUBRc5UN|=}v6B?TEy^BF(&BT6acTCGL^k znrwa-WnjJ&Yg7Hs2<><(?tg4Fw8rS{10Is=l zYs`3J5uYhy41?jM?3ewL@!viK@SJCGV!sS@qKRXcs<)?seN%2_0&>|@I9&996-^-l{aloMav(C z(4r_byEr*B^|CH(BXFiXc8%*$iW@AGWKIVCv>68f7;>boV5ZNmg9%Zr973Weh`(|F z;m1FJ`1xXbPkCHLi9+8<4~y&~<(_GyVwj87K(C_`1V0S>i-KW|^_tzC+|tx@E8ZS( zW%|4GYSGFo^G+7GuTLo*5Lqi`mkq@eIN02*`2+t9nTV_plfdlss(m~dPq?e&iK?K6 z*<~dz7z@TR&vjh9la*DLHn=30{-LzYiDIh_Jlx(a+{_~XT+PM7s^07-X>y8}X8u(Z zJi@`nC><>yfXFgRv>ClSPzWzU93(QkJ>Me!2y?Q2e7u4zwys2^p*LT04cq{g6J^`2 z;MxRGJWwF4<(dIzU-e2flgb6N+w*OrjM82T)GGMruqc*!FK~%VUb8Y)1g6D_YD6** zMp{%_vn^u=6kF{IGC40<9^Zfd@jAOuLF5d=jC6gkNW`{8(;2`&`zY2Ot5V>JVh)^F zbw%geoSunLteo7TA!Z8OKYseJ4`07sCv>H_#81~&)C!gVTv3VwuKugYEVok@kHK6h zRu1k^&>y;ZRu`t`xO8Uy%llv*ZmK*tLrD`+ZF1bHahs4CP^@pNl(ez?_{%rSFRo1E zl@fUSQh2~qoT-}8jJ0h#nmDy=lpr3-qOw05P3T~L@%!})yP4w(U*RUC7dErfqYI*7 z#yl5FuB^!|0j55&&9I9iVvgfqKYrsCyV;99z5n_b9BjumU7)%L)Yi}-Un+q~4g9j_ zQZ$5@9s(JaiH5v&HKvG$%v^;nFMr&Y; zYnY*(!YgXHTGR?b^}~l@v(W6wB;MXIRPync9~Vd3?s2{)K%MTIKf2#1UfcvF^aPch zni|3WP^`=VNep&W+uG<7byt>H&g5`a=lA>j-Qo^cw&&X9d8^w_2;_TKL{Eo<4a@>K zGaz7f*A~sNzGDTqyvZ`NYm;E=zG(Jp|A&hKiw`GI$m9bG8>|U3xhRKVVXMtYM+Bi}J4{7`0RCE@!xIq`2E;BN@FHev# z?@rf`0XLq7hM`;*JQah@qYjh(d}5Xk4MGhBk4o^hx-59{hF;>Bf71f#Zbn)vZck08 zYNYsaQ4j=_Ldp>Lv2kE-6fZlrlrZ5nW3YUwE>S->awMfE(=AH@7P-hB-mafji%`Rw zOR{9U!8#QEEw0borZRz6FVn1DSUxEOId}w)%7KF=!^Rvhyhij9*jbTayTF26+=5`b5!fA83e7$bM?kfCH=?@HwaN>gqpC%d3K zD%EVX!AvRMw1EFZR&c_m%mN=u z=f!}MKXabq553H}`tzLD?;iG-A81`E>iYH*$4{nEsL=2fRWJlOHT)kiBfuT=Z5jh% zhUo1TixOGjG$HWo%fxK;TEaYt)Kv~f8^z($H2)UXhMK`N+(;F4lOaN4R)m$4x4p3I z?>D>WOX4;~!*1~4fosVKvgxu#(X@I}aM9%3RS>d{sA#(s<#NDz9bqz+pj#cmAmr}w zd|@rpnFOJP*Ej)xCPC0fPcW#!flS@uNz9-UO!GPw7O3v8>86eouO4Qh@ShGdsAlgfVLL&!Ff2~>gvHPO|^tFLxuaV6_BSP&Yz#iH!g;35L?I?ossxeHb=_ox33F=wU)&`@X*l@adty61c zSP9G$;b_a*Ju>L?Vq2nv-%AoBRFt5&w;)%T_LBC*VDobNIZIHuB|@Q5o>|BN&e=72 zDITcvZC=X6C?Pgis&OQA{heOi-a~S_ITzKpIE9d>IamQOP!8E_%`Dti%8bF=h|?S5 zrDC>b}UO)>@TG>HiyR5Ku%d=({TmXcCMHIS?be%@ z$UA;ty1rgtI*v2XOA-4h3ubyV+clg05>uie^;)a68dp7Dj>uY^U?VF=l{#PTWb+vn z*9p3z#5uGTv}L(=$c!j)U&O0ZtaSwp-Z6!4-{&M(|ks=ta%<3colSo^)1M ztGq~5!=kov42sIe;Jd42R?TRS>cg^90;0l-56hWVV=8(-iV)yqa6>j&RM)c5ty4gu z!P`DQT@<$RxqX3f2oN$U2jrtct-ScuQ^*&LrC5>7WmzjKi6U!pV9_>afi_y)-fwT; ztnc@a+uh}$CN;J!_O^jZ8Dptj;jl~)yQ`^7iU|c`L;D}H(2|!rdtIhKi8fBzhVRrB zmbb>#5VfIgDuOu(1BFl+qjy29(zMx_8Pmm9jp3IDlm(lI;?tsU0~`EsE?w;877kIW zXHx1(pdk1-1ohOFVw5sExjKTREDkM>JTFGJ51Z2;FX})TJuxo)u&@jp#@?6#E$y#V z5iJ>}2+jI!ETm}DMqW&JlDa9&aKFAgZZ6WZG&F`818ITQLki?y3WL1$sjGO1i9o~b#Z z#DgZ-^76nT%AjYqWL79qVkbu~hrN2+$EV{Z>PT>Rda7zBt{Y1w*kzpTgCWC@6A8y) zo5e2{YnO_&az3eSA~Vb5dUx8cAHQ2a+^l!+uFw?Ku#8Z|ner43HXZN}3OmsdP~eFq zlFke}T#~2k8Q1Iyvd&^qy5xr5O;++kixN9Im4IL@YTUf=09Y!lCig=>1l@If{m)Bm z;V=DM@PXsGR>fA;mBKC%|17I|VM&RdT+(0>&6m2%JNFERyV4d4-W(||lQ4#Oekf z4>8dV6W_V)R>)L9W{LAgOb4b{H{ZoXRQC%686B@^x3?@&aM@@m&9Y!7HE(S6oi6n_ z&`Ko2?C+A2EyOd7CbKlr6-3b(oY$W0V7o4t5FDKg$*$=2zTV%Qr;btx_Z*&pMVM#e z*u|GpQY7?x@HpSwMYQh1H6@x+FTA4F86wuY`@Uc?Hol0Pmr^+X7>HIVw*YUR54+>` zZnIcFJstMzSq3zWQMAx`BxH$0EkPGbChUyC|8y7+;Odr@WcIX~8P92%xR-E-DEh?I z&iqFZ_)Kv)(*$$y&Hi-SKOPt1y5$7mwQOJ9b!8+*(=HPa*QgWL_`6{yF6NOK>w~V> z*OKY%>~NN1I%5$#ijShFn=75dFYSSQD<`L<% z4#UJfGs9{xv!ydvpPerR>f-8qO9X2FeLoE`ul|D}GRuLWL1ENIe^61~l;H|KB zDu%@a86t?^<;DuSc4YTyhHO(IZ|Ri0_I_CWetkG>j|KfW?qYKVXO(@A* ziJiDkNd_cXr6P(i+Tb9d5hJ*f1U6oaJ@Y(x2{D=^*(ZSw3#@B_M+?-hlNWP+H7haN zb-1=wP_{;&BhEjXVV<#vdqgjW9J9ohB{maR{BnuaS&2z2bYAK=NUXBNI9=OH>>+*V zf0#=uh1aFiMjGwB=++>k*7=GGN<6rKizzfG(Z0|%gCR>fLWgVV+(+5W7I;X@#Xu1*Hon|)+Lq|ERS4K0nl)g;2h z9B~N5sJ&$KAXx*;>L+AfKU^TKLs5t7gu_YqSyACHgm)Ii29}Uz?V=kvnaiR=a1~mz z)RU~m0~QLnENf3K@%Vf^ZXRBww%Rlf+b*?d#}OmGb~{AfmH>A6?3z*vI&mdRL>aJF zI9xg_tuK8hXcg|(--F*MeeP?djZ5;%!y_Yc2R{diu3x1fC~X~;esqjZ>@~^qg7*_t zm$}MXC|qzei+EuZRfzd$$cVeeZ7UpMgf9O`XclX0AvZH7)Hg56k!buE7KHI224}xtq<1*4-`4z zieMo!W;2Ap1?3JAx8(_1pG>nCkkCL-24}hk4Ticw>=YUokU2Ci0x$UXe*O5g-@JZ- zn}8>$QDA8yu<*xTSS556Q6M&SCYZ2J3=Bth6p+d`Np2x_x$vqpAmga+8_gH` zij(&)RU3X}bjeI+ZXHv&P*ruX9OC5isT@iah8N788i~>Nml@}$=exV@?)6z-rCRFZ zPI5%=c+@K9f(W=pD(7`#Sd@Z!a1+AV@kkq(M(Ghr>f-#o?*7U5tW$l_aK}rB`N`}> z!z-;GBwn;u$_phre*5~%58rPrWyn4+x5Gb$P6DfIUX}Dvq$tiR#=6*OhjQ1p^uJj zrX4Gm@H3^pLK%YtWD^I$c^g4Gc+EL1UiwyWVYYpC1>8?=QsyN~k>;7|zP^1>hg}W)0T(>CJ){jX3KzTy?HM zAv)UG3isvz!JOh8X9ZN(DZG`9FCCA8Q^kIs$Ur4j;|@5h5SK zP8^{`5!ak#B8I5-X{ZR!tCOfJ^Ff?dl23pBAjKb}ogVTMCa8IfgpGIW?cpq`&e_bm zkSV83T|bvuyA=|sj8>M1XUW{**rYr3d}ho<5H#=np64yP+RE1k5pZ8e{Z1KHBX zFlOJ^a0VNOITMw$Z3BOSw6r8{_RBaRD4c_$^bm)OmDP*m=5hPo_uKW|^X=(EZQl#a z>V)7a#}m2>sc|?fF#{FFJ6h6=B+5`t@XoGm}xnx$jakR6-=JbpmcOSle{qphK z;^F;Ya7)eCzx}-U@~6e-^PfL{{_x@J&yX;DDiCWHL3R{kL zURKnZl=XPKfBky9JEE+RfNdWhFhRIEoRM2t`l@IWD5y?L%NK5A1Tp0Vr_UD0>Ct=x zKKh|+kc(1*AJDN0xS3qZbBoACO_|@%`ubfBx`SNSoW}IagP^J`-TXNRfFu z4KUbjGb4yFs)Q1e^Z)&SQH3@OZB->SeSXX1XSKr>iYj+rJA&^jq&11_ zkz=p_;cTEE(e~ssxccJhk>LE^(^a?bq%8@|6j-X+;?6DZ6?4AE=;Y>`z#o+>C+e;K zu=&b$5jP5PdkFb)`+R&@zrEtpYl*!Yz@pioy1|wpp(c{|4xP5nX0WIoPe%FbASTOf zip=S^$t>}U7O&V6y3taqR&@!myU8=(b{s5f2UN;O5f3r6Ci-DJA#sC+|$?Z1O`-;}5 z(aywxOmd=9OmcgcJ5I>`tE9C9o}4R{{Pr9!q#SbxMs33g657R7{g9+BJ~7CM_BTmu z`~63QwbKltOc5-FfO;xI#zEd(t&z$eCF&rp9Z4HmTK5~Il`)d<7maZ@ytfj#F%JSg z3(-L@nj@@1thfS8ZOnJEq4kMfVaow|r*z@B>98dLSsCL9N-8m=nFfLhD~LtQUSJ$N zZA~&nf`U^ilHi3g2Lw+Of{TXe_44XG-Ial!LD!FNGSonM-Pna7C3vht4FbJqdF_-M z|Hg}U!u2(B2juDyARfdNkb*$S-}09G%E*;_)-1P~ko&NG^{UU@uh(gOft~{-&n&Ke zgrr?qX-W2Di7zEY=`?t}Qh-)^nGMSIHiwJ^MlHC!`-VxGDzsMu4r+w3=fN4GaVQ^#m>-m z6Sw{Pu>St#@;Y*d#JAKMzOYP|T8Kkm%jepZ)#Fu*uEQn0EO3rG6#GM`CImk0Uq5fI z2$H;bkJy33QDBzX88lhL8&6xARKzp4|b5jH=-xH?%S8k zn=_R%P~aQ&m`qjRs+|;#d0gnGhxxF!P!@j^FHNx&gH-vp%R}{Q*h*@;p^-~cgfavTcB@Ve4 z{kVQOy;xo?AX=@s#-^3lVYulo%)UnuR|F&3hG=$>v3-v(QflcFanoVoU~iNIOdDzM zj2Wedoxtz)O3f}YnhANI9>ArqcfaC_X^B~}8*RMTsTDpiDGG|LN6g$vOd_Y#i!!q# zjCMlgU*}ik>ubY~xyNUno|xsAL3X)f_Jgv-LGohueeIKz6dFFSU6Z+YF&4P;Wya3A z$^^4YBv~5EE=98&lrY{GSHa}{YOE|)+Tf58%0XhHARtvvP>1J@fg#Fr7gq|p+ESCS z?Eg~yCkbm17$m|tE^V+jbbe)msGWBz3#`XpME2{?)c<3r*%hWVb&CBnoPrGWuRKr~ z#ibYAA{+?k&4nAu2l7sQEcrPW-W~XPmB!>!{qo&rSn~Q}iKp`0S%F>Wgen*PwhnYl z6cT1Xfx^cFr*IRWz}x-9tCyd_^YRach{sBcEV7uUVJw6;>lz%muOhrsT<~7@hv&~w zTxG1QPvw(%eti00&+996$5&ld99FYx!jz+_!HK{X{Cg~MhohEw4kKeg&Jl3TsL99* zT@U;fQ;J{E1XtgF8a-lJ+!2X_0u71+9gZFdZ{LnJNRs-n2P%9$xGZZz>c{QStb2jH zLR(sSqY5~MA<$PT%j?Fs4BC=Rd&`dHo$71+s_V^(W8oef-S1Q)X0X*R$lEwi?__~J zm--4_kB)L!6y(h-rS6|^Zq|ppt3;l&DOGYlZ&OT=#Xe?5a-r&hk;KJkMq3rE%MvW+ zrhlQlzF(Ba#ixq~q{Em*FbEeFmVJVv!o_b!SE)pP$yZlX2Sb6C(}ZDE2~(T<)kyM} ztQ(R=Pt}j4Wf7g{pgKwNS5zXgy#Ji)uU*D4^oY3n+lw2Fh37R;r6bup*7lMVx8L$- z#a_i+C$sDnou3f*dAGf?`8nrLMoxT69Z+7RZ5~A97bgyp(-zC_&r37~uaE)1aX9_) z`|ZQ8s4&@{t3Y8P8oqqr5(qx7bdoEAI~w%#RyDL<8cXpa9y#O5Eqg)lCXVvB-yg3# zglLu1+V-Jo)H5xft*XK~lp9w_W9a0hW;ef;^S1&aLk<0r;)Ibjx&*rZ4s z%X4L()_@!+f|N>|3|~xUnEEMeW#LHTheg=pBU6+hG#+Do{d{<{rL6|81S!jMt*EJOqga6sh_HcLH zyt@psR6<%cJ(-O#s~lGcjZ>>)&N=rUAp!1EJ+@(xs9bE>DoUNbB|3ef)S-;Ay?Iz4 z->i3+)~DAFlL)+fSR9Y};2^)pnVI0bRi4W!Uzo>xv@2@Vbi_?3vY0kEGXqaJyHTW{ zn|PeB*M|&PJb(37lpXq;cg5%19^5)J|J)^~2CZkDqC?{0{uk%nQDOcuCbZS6%(`(r zy$GL6{W0a3LBW);(Bt$bb(yA{zX_{l{mUn z+UG1SEwu^(iBkt(Z>al$wxfBQD6R4}ni!-tEbSCd<24JGWWu$6!>Lkic4gkdW~~R4dEYf#yu%!kV@R!3BhkKT~Tf z)IP?^WSFqf*fE1Z_x|~?IGz>^);7)O-i~ESv8C;hPG&04$Js!5X;p}VE7l;5mb54HSDwA7MKHnGiw?Mf zIq7Ay(g>a;U-c@%a)b_YV$n!*Dg#O&)D<^M`jQ|t864H@R3P#wvG7x9wadcG+{coZ zlvQ*YH*A&+)rg&0X{`l`XvPC-9U8VIkRI&FRUWm_``|i*s%}U&6QaZKw|#s&eE`=) zFmZr1_IS1OUX?+vQ9+&95da0=t4&6L7xM|=J;*?Tgw3AQDp}N`nhdJ>1}EkoZ{KWo zf80W1F)OdE8AeADc~O@xD|-+3f^-*SlR?=PrS_^?D_qJ$8se=s;Vc|KR>^1C%X_Tl zC4Vz5b3Gm8)$l&Ej)bh?#AXH-0$leH(B?JiaAV20DTMZrnhIVe5;;3Zt9@6COaxVr z+dC9`ARwN-W+}2;;$^zZLk>d-8lE0x41%>R5Py!K2f#0`K}hUtF@D)YTH~7>jeO2U zR_ak7#Ee}|4hZMGIWkn~GztgUO zmM`e;uM)ggoMIod;Nc8Q2E@Og-`;Oe8ytqa+df?- zZWEW6PFpH$7#2b>?UAix$Rae!t1Kj@eVovf^|0OD zF-6I|-x?~=6|aXYJ8QwUa&cEK~SdKf|{s4^X50;+6GWr0xK!X;$uE*BT2kKb>0$Ib2~@`AN7 zgX)y%5#NKu`5j!m8%4!X;Q|Z4Qb7saM?d8!%cD7ZEDS<6Dc^`o<+{z=?Q!vMi`$3w z;mr%m=n><`)=1h|*u$seM-aL*`Bxd0VxZ*X}|iWRt8D^;S~=f3G<~teBr!w;}Xe7Dl_Nd&g2n^}~DwUG4ZR z_g)-n)!QQDh#c~Fn~OyvEoiE97R_Ba-SZulKwye45JW{%nN~%Nkz0j|US~Jzx~^^Y zLk>-Dl))5>&COMXqEau^wNm@gW&M~e7}}K$zS?+{gZ2c;bf3oAbL!#w7?W-O+q?bS zydCMx5vsz46X*(t)atS#eWp)qz3)cRJLD-z>db8LRmgx`CnMjokweQ9T&v`zn%)!_ zqb~1s5=Dle1Kj0!Uc;n;SHYkA9AY^|#e>MFxL-eRA5NFnpj4;8&}--kbj8>}G@efZ z(z%snN1e%lBQ8%A~&Rwn54jT3{f{yQCVb_ zNn-N6BtnqLi9wEBaVcy*&Zzd&r?@XyFm{{uS?eb+*P_7f<*HafDqbPgmJm0in>;dY zx0xqy6C5(U9QPHb9%r14`w(VCWy5}Ebho)*KWrW^wtniWi^zm@zUY8f+c`7c3wNuC zq@t~-1ViEEI*NHqQMh`X)xz;m#%!;&6t)daV)ObeE#!k_Xs(`U69l%k??h)`8}c(p zD8AEHLlevycK^IPT@kNH`g3o@fC0s^1bD}JP2O=f2@pX*85qBsgcpvdAP5kYwzDoY z6&LDcNVXomKc%g5jd1y81Xl1mu(`*`1AM3Dc?XxYOciHp1R zsv54z>bQJ*`nQM06C^^X{q0pa0EZR--dUChK#^BwYfB)7^I{1I0kL&3?FJ)u*MnT1{emH{nBzE>}t;+}P8>fSbN2q{)AU2v6 z5<4k5$lEt6-fnIdPY_%k%9^mr^>Qe$J!fd1aqbZm+%Ca%z$2AeWnQnWlO2`jymCq! z`PoOR3Xu;^9!gCqp#7(z0eVeJL36x`@%pOdKh##FEfrG~3`p3cT9Rf;f4nTV&pl2Q z01ptls*{V=X_V;nyna}pw!4c;Q{_d}$gq)4p;cCQO93vyMbI*eeo@E_fAAs5_1oFr zqbyg{*i|9>0cT|*+5WIZD$u?q(gwL6Ev)?sLwqFm%H>@tWE;&FIDM(n@E zp$gn$DE(B-&sZt#hK=qaKjX5L(>6$vY<=2-@0_`GazBGcBzKSTk{h6`?@R5!-Br)z>edzb%g6RuG=fYnXIw@YiS#A7bG( zSB%V~c{&I|g(Hi}7v*ZZ38Y+MXjqy2D#{*fXR3KiMIlL5YC2C!E#cFq8ydtquth?y z#5|-sDKoeNh;n?zV~Am>mGivR0a1!KSzFr}QCtjtzuDbw4i}fDb`oi#u^uKApByrJ z1ftNMrXNf2qDPA(AyO6Xzb=c*d#oj0YTt!_Vd;@Lc~o6JeO{)#bKA}gkAUw*ctGv7 zu>bD;VDQh>GnC@x)}e7*1U7xOeqmwB39HFNpstI>&`-wpIPYbgYy#xU5-#s-;x)yK zIwch|b@s5ebOm-%)(OCX)azjorfzbaGn2}~=io<{P$3b!sN<2Kyq&XI`td6SCAQNZ zDb+QCLVUi$I%F?s+1n80L=hK=l-CW`SQWCMPGw+dAVD<`hCJ^3w>ICS({-@UpFaEp z^asLTGB5+1yYR_EToBBV7uj4PRYvUWqa`-TuK^iaZ`EuTnAfS~VrUrjH8j3{ao9X; zH?J1^r`_u_sD?p&hhbwDUn46U{XrEOKY#<0N93g&41uCdDPbR|f&gM_0{?|9Qj`1z ziCdW6%Y~;dPl?>F4{`?dG8T;(DR?_OUTXe>$hc#6h7kJUzRaO3?Pz-+MA%_Oimtq@ zEES0h4mZSDOH4@r0yXMMkFEm$W&SH{sx&fF4-rvFAngi*&LQE?Bv=9boZQt%*9=}g z4a=m?L{^Gxx0xa)3^hhP$u-qb5g}Ie&q?J!s3%SHP(&q;Ef~!0dV!G<#3DoY@C^Td z>fW};u3PC2{44!wkO1wI&3E!+Tk2~mmb;CXd^P?U3<4y;3<3nn%-f|~4H35uv7}tzWv-{}YS4k$XTK395?5sP^z%4tmA0USB)`aa zyZV6dPxy_DR5TAYbgXu|ejk{>uivoe@$L1G`u|oTbiQ+`sm|wr{`(pbVZGr-C}MtL zmfmEIdrHsUu$o;&WRHmdsmF~0)^v#oOZmqI42!_}tCKBl5gEvORMN^CxTXQ`cw-Hs z+fdIOHKIt5JZ;U`lLha^oNX>}cw1|EUyOMv0W zEaKMZxPf@8pTSlOuFCIhZ%otyW0OCK{GrQVqwTO>BpYsM5HB1}7-)c~`b+~9^$IJ1 z+66vdAL$PSx=2Y^k;t#+8hLL)C3&ns6b0g6zej1mM{uw;n|GZZ4h(nWSD?H5_=2Zf ze|JqmOGhMO0_^M_^^ZmWC99D{joj4;SV|A1;~n?N9DRid72KZqY|~c=dkUQ~`(?T_ zs-YB68yKh3KdmY=+@ogkGs|zbaAc6)9!xm7K230pMCbNh1MNPdN8BWL)7dAxA&^V~ zGo>|77$|FDfAdAVs@)O=d+-EG6WyqzuMgc-N#H6l32tssNQ?O z&)eDQ^i%cz99%kEEmHMLLBipLO$PP)fVE5;PEP!_^J?L++nNqmnIV(ffX1N1*>|Wp zq9q;TZir}WQ^A1o&i@}~k6<%CL;zJz1T3#FSTG26s}dz@>tFaO7ma4;)&V-xtb|h^ z0yK}fAcz{o5FIPvO~OY*UdK^x{RH)pYuJ!wb{gX*!#Ai$&Rh+E30JcX*8Dvu@rg!! zYicr_H$^>w@2DXamcKdWw&a54Pp;uN2UB!niJZIzW0Y4;0ez-D!5%+B{XE{MEj z*X=(7IHzt-v{_l8)%v3}#0X9Um<$HRcJuE8-F%amn`4**a{o0pK`w~oR^6P&R)d>= zcITVuRvFKlbXT`z!EBn2M8{-A7Fd|A<^T{ zSR|?X&SR$b{`Fv^Kow1!b? zjZF)JbQ4IFNTS3P#G#&cw-R^(P@=hfC;^w^ofuCWW)DE=IRa5!e)M+sDp>|!C3FBh zqRZQKNctB!e{orKP;n4;zfg|YjVFPIkKHirl(wD-mC<3^S%mByh&sebbd#*LL@uz8 z6B^nZgdshBX?8{-Z9UuTZEn~(^%0OLIDY~b$Pmh8=+BE3oTW(7Ta&y@k|+Fq zkGyua-j|D2WCs=v)xZq>=yiq5-8BxjhwG<2L%eUdh#)u za~*us0VDVJQjb)wPpYSj)6YY!*(#K_=y$;u$T#2XqI$>pa3CWejg-4%p{SMp5K4UT=qtagDp5HpJcb2o%*>V%f4J4$nI5w$zIDh&+C)& zS`_%0dqV!*Y1O;mV+W7Z4^|e^L+rurdaS>qLTA}fhf|yTJkPCcezrF?{D}kEZM*u- z>xSXcmV>;jrlVI)KN5Gz9jj>vM;TQh+E>Vv4nn0A9!q_a;H}y}f+v2ncc1gNstI6k&%O5~3c*&p>eNBv{EI0=V*WIl^E zQ{ZFLB~7IWQlWX45r>Q4>f9}z50R>4<1Bw z#>uJ&5ri0JP~$v?<2OAtH7t5N$yueuR0G2Q!UH+Xz+MPA)_x3-L>RNv>2M=TQ7ck6 zF{PpT;^fqexF?ZsUVuFr{egJQ0hU+UBgp<{8jOrm03f$GjUoQvi*@^Zj)?~Xt(ntc z3=<6O2kjm;XPk5|1Fp^Bx9!gO)Em^t&@uphiBbe?E94zL_?u@^*wF5O&T9e?ib(GMtt7Xzc=P@{9r?I-Ey--7IZ=KJNN$tHq_`}5hjq~KjWMrHg8-^7(WEQ+O2nhsxxse7wj_! zbRDxtUGPAjxHL};(?XLR4Ck%hrkeF`LLIF{%$HWNmLDlU9EjdLF<7hmLy$GsAD({y z{O$G2!_Qy-`SCO(+o%%>+<*Ja{9}&5r|mFgDx!zjRCqz-Woy@`{$)fTBv&F6*G)}v z?9odud8o{h0_=mqKs25GoDiR1ALMRntVR%jufi2@I9K+EoQWWgG6FDTUVuMpvc~MF zqwR;{vs@p)w!$L2U}KY30YT~9(Z)~>VMq^sF`ltiDOpW(Yg$!yO3H0;V_=rSG|3}^ zR#R$J9WE|7u|^tSeKa2~Sf_M&mS7 z#OQdBCgNDwLSH7r6oHbm#?^lFRj6K`C_Yk4&+E(7PKEO+OKiXW=lTUKCXeneM3niZ-$9Y3999)k zHK$z>cH6GF5rwl6@6)-PXkN}dx{kiYvc`hev;l=slb&LZu(c9Wu6GSd6Qg!xG(MOr ztO!=k78hX@q21OSXa|k(#10!(`zd)|Z`76VKxc=Jhi|tl*!+Ho#&gSZ1j#YvW`J(7QO%o(Tz*L8-mM%(4rLOV*couh z8}nOq>1;S@vQ~-n+Vse#No?j$W%aXnNGw;|5zf{6eRHCpB(By4|5Woaq(j|mg^*siLRNdqGh>1=IM_k|WCF+4`7r7Ri=X-2G*tK}t>_p-j zR-CIG*CY;f#64|s^=sL%lZY*sg7Mtd?ADkp?)l0FBpAXpJLZTia2ca#64;Bt;hh36 zcfulo)C*+>fis_Q{lq-WxgT)~+-{#Ed%DD%`r%AB2N5{^MS;QmVs?mOOeX@@Ke*o5 zKA@1eNpXM=FyuAo!e)*laQ>?ThoZ3A%ass;>vOwcE^9wG&jJt8qMWc9e~|=k9x>S& z7Vuty$2%NmGvP5FPg50c!+d;?E_^z_6N6)KudaE%0o8Tm4MiIucUE6Aq<&96x&aZ_j_eyngw3 z>)^wVzjHhVvhD80%+}g8!8dSksL29+A_!iFpC-7fH z@!{8-!YlL$Uz+aX(;WDr1()l|*Tg#@nchW8RA@d*7}zMyK}ivh>C=JmA3i;Qzen^V zJ9BdE^#$CpGus&J@wpEPToYYC|MByG_~rEpBjm?79tE+jz11!}Enw4&6vsFP z?FD$H8WCOc%v4y9J&(N*lKrSdTf~iOs5QY%4UEjw=Px*NnPWYd-K!Xj9O@ncq}e|K z_nS%fh}mEjjKua>^-sGpM;-Da9yQISRC7lhJ9yOXYIZ{#3LtT|HHB9w7dma!gGcL4 z5)YX|1K1VusAZcZw&xOGIb$iAB9|E?-X7ZuzoR2gv^`-d4B0`8c0HO41?F95;X}9L*wyXP$3M#A!Hnz?4Ger%(0s62}{K5*DxjTc_%nN{LzM$ix7K;>WF1caYitsl1_yRRI zT7N-F57jC5dinVI!?$lgef{?EA7B21w{APpVV}QE>MJDFf{K{S3G+mZCj1Rbi00xn zHkt>3N||E;49A+Ky@$REln7R%Rxp1{b9xU&zhf4qGAvnufL^7>GKH9XP8 zZG}61d9eQVv*o?n>XtI1&8^GifY-YCzI-GCM2OivJEu=HLcEONRu{*5I9-9>eeG{g zZ@<3&^Ye#K*Iu--&4Z=A=EZee{zbJs-n+DQ;1r?0=BJ&S$1J}IjdDLD^9-)-i061J1@WO}t& z^&56nUA@s1;wc^^`b`vN;Y*+m4&HSoJsr@lw5DN)7b025_EHKcSXtOGmh zxW%Ih(L3+b9xaXW2GuW%aK=npz*A7%gin#JMFnE(5Y0mIhR@5V*gy|9G<--6_S3P^ zg->ey{`~dR(^v4u{#KLCda2GYl%;UPY-;q|VEcvJ2{V_0MZbw2)nV0mBU|MH?8ez! zo~z|RvyS*v(xWsz@{H4@xasNZho_Ivz1Vzurx0}Hfpx-SQ75pMhj%JJ1|kih-F{nf zm((A(0rCjtAbXHCk7OqNE-bt4==Gff;Q>a#9$&zpWFMaXdBwaMf;)zNZr45r1QdHY zXqx&)nXX=hnnhrhPaq(dnu;?-;O<=MZbDFk#i@VqZ5n8TSz{i{&_ji z;P^!c6>emt4x5A**|A;0j|0$kO-n_%p7my@ckIXlKkwU zBmDi~p{c8^b}hbL30oWc>DXnCRV5owGiX}aT3tho#EGQZ%po!~(`c|Ye}M>ckNwv; z+-u}jahZE+{jNWVw)ASk(DP?0ln1anr;5(4OCG|3B@NjuF?S=c zO1QV<4MI4M6=%;c4>d?SJAB5v8_WQ9=^42cPB{X9A~AP*=z zwxNx^Ds4JzARHQA;4g2lU%!6%%o z&KGis8Qe=CRQ-lIylb>oY15Q9_yX1&biV%2htFTXJp9Za`Qhb^IdtPd8Ohs@lHC}9 zhHSQ}F{TXP9zzjlmSYZBBDVMNLUU#|jbX%3Jcztj!y128+VtFnE3z@->Fu|#SDhGs zG#aP9f<0|cbA0OCDu81&PQX5Kw|KD4mU)evZS++MqaVGBgtQG6O5FcnpC7(H{r36m zr-zSc^o7j~W%U6Z5g&90oGE*L;fKQX$u&jyIMzKr&FqHtCF+jsAop+lRS82$V<8XL z;>+uIyyRb=-s=C{mv{C&0VFcWrWza0WR93Bu%_79-W>p~^*ui2{eN3HsON4Hb50Re-?K6nt>o}!_%VR&xa zmvmijyXl6fhX0*Qf2$Y>jmZb z2ZM^yZMW7Rv^SU)-6;)cRweM3Q(f5C0Qh2b)yNQ^%(l8UciEG;3=p^g+n(8-71GyP)fZ9sQrq-7E`(KXmKg0Ry9-%D6YAYTBYLCff}@xszyj3 zUcbC>esin`z~pHJNElxqSlHRp7g{2Zq7PrV`s7`W-1ZH1oStFh)0U?k!D8IhOv7BZ zv07mmVKhjV43ZUFba;=DM-c9KA2a}?Rn6AJzS9G*_!F2~SooJmLSS=p=?h%59TI(N z$-=pgn07>WHHGZySu;fJn)7DH-iRBmxg7anUw@fIqmc z2x_|e8k~*0~8)f6FX+E;_@A7*tJEEV?k zgA!!pwW6Iv!&kr#h{xYvU*2A?eg&w2bv2K~CygI!HG`%g?-$9;ZrL)wHbt_qXJ8BI zF0p5YxH6S8p+Fxa{qX){1P0bOdo_8q`n-Y1OE)nd-*FRpqK7V`o`Sp)4 z&;NWvgmnBCj5r3-BcW(&RN9ZX@X0m`d#x7QEfUf-_01(c%|T?myulxH5Jyq8Cc;_1a8_C?WbzvtMP zN5%L7r_<)0YE+ojfD3DoMT7Y@H~8Y$Z!dp*yJ3?ye$P>Ph6KJq#C+k%Ce`nR|3PaC zq!;Bi59XbUQrWmo* zN#N>cX8rV8E>Z#cxk>%z*XWzvf;ous%0bJ&v0o7usaLPVMwBg&*m(AG?F+Oxb!_)r z5Xyyp)@*4v*Uv_~b76NeX}ErZNW?5lgjDovZl1Z3U}dX4vt{bvV#%yviAHN|5eQ(#z81g0G{9e z`11MJFW;VDTM7H<15o-0Q{;4jjhXFEdopFq^=n~toI!)td1Gy)GM$;Sgc6pF-yWjC z8ue9n8p<1m!0rP!{ycwt`1$Sg$6u~=1`~G%qgp75Hb{81yJyaGnvh9{_!w(&deNN? z;y;WR7sfD%JLOp?4xDl}`m5~2R6`}+oDU7Z^X;K#3;!;D`}FTm8-tdaE6UyrK_3JR znfrB`K81bE9*~}lrd!RcfPdMizHlH+!&lV3Z?`GcJg~v^mWCjBr)2iiXRuTr#$__eAi(W#&g^-ga117mxdMu)A$nbnAq|>y zhAZAR@VHE5P@jK(`t8nULgz~Gfv2lzDc2#H^&=4g)$biHCG~br&9Mj%dB{IJj2JZG zWdlP4vTbCFcKFc~MtEPIUOu#0h@b!GfB(<_>3?FY%G-bbzy9z4^#A-PZ0>oqTT>zJ zDujk5YysYa-f1tnUM?!A?8l5uIT9(wRD3K)tT|SAueMgT_^aacnc)pMe35e(M#&imr0~n{4$8U)?p4S^jA`WCj}@NfxiTG+8OVdhJ>l2hP2%iQ_vNQXTH4+{I0X?43zk^=yO0UrEZ4bVS7KYxGt z_;xu-4{%ZjY?NYrU{hRDJp=~|0Rw2&#vdVgdcWk3JtESyUyJG+C`Wb!a9qfjl)sSj zyHH;ltG)r1P3^?hf>z1NHz32HfoqZI^kIP-TFTA4Y;2@G9@Y4vpGPbW@~;6YK|9bJ z1ypNkeoY#@O6FJvCo05I1yEd0Ope!8&}%#z7jf9R5Ed1{pWzs$Q*BF)>3qLR8I44I zhoJ%6zQar%LP|6eEYrsLc1yHSkb#Ed+FOX4MatI~jVCUpJ3puTlzI}KLrr!41#2(& z)8)e53hgIup%qu&Xs|Xj`vPu^Ytor~O9QVGG@6XFd9QkHvoj-BdctMLgaJgw-_FSm zW>%(hMFC!9sd+UTEG#Cvslo}J=5ALprq}*H%x43{cEY9!Y$33NXfD^NG-0K|u7cr$ zg|(ykVHMWlA=@~xWXB_`u#>cm)IX<2HF721b^;?b%CNI(&-KF`)z#l%HwJR11itoh zu@eF0?ZEFKiywzpVbel3BL(#w_PLyMUiW_by7-RlUd`gV=>oZEOuIli!TENeW@g^5 zv=FjjIOhNsA7w34OU?KKrAD2HjZWLyN;83C>z&}97ANk#{B@aD^bM1cHV3fpF3x6n zgexyZj{X9g%dQO{coJV6)#HVF7&p0Vl>r|;ZcS1F1##@7cEXj3z&$7__`V>}#y=pS zFqo&UU#&-@ft6UPmX4VOZ4!SR{a;l=5#w+sV0Lg<(;+s0JnB%-&mQhHvtucx>9EYw z*(44*hUw;;t!;sP`tt2edO9dX6S}_T5a^#UoMbSW(kcm{8%;EqsGxNr#p7}>aQ}9- zpGjPC3gZWe^9QI#`y?QOKSm&eEm%~%818j}UIa69!ayaN@u zmS(J7rjAGl@x+ZgZPdZGw#T(N!VJd0W&=h8i<6f{L*BrF zijwV55+7XRAUtLyr;T{qsS_3*bPF(UdOmO(@P>aQZl89G5*9n{I@CLwGTT78 zr_fulCR~e{fxUL&S|Zt-+Z7s6mfdx?dwsJ+^I=v^bD`ISFMzS{Ya-I1OklR`9l6c3KV4QsGkyZXL3TY#{L9k;2A`v0Ka|>UKVMG~rg#7u(pZFwfFOClc#+>^BdbI3e%@pPNBgDwXI(Y=m%ZZ3-y# zqkgGWLkz=&cdJ}s<4}L6?5Y~2)n>Cwe|?Y*06Ouy;cZ6({Q|i6i2^n4;$Ops$CO|F zjeTIq@+|c{rPV+~Ymd8eTy6M=ZfR1xGeg#O8tzl9m=sX}xOME~PRcl8=U%WVI&dq) zZw2ku+*=u*xjaC?yo)NfrWz(S=+5%X=D{4Mi!;lALcZNDP}CSwO15_96s8)92f=u3kTc zG4<;H&$WMW?=W-}rMZjgJ4mPsUKL0y%P=UA7Mfn0#oZR2bP3Dzk19Z;KybS!3K*Xy zR4bbS+FQ{fQ2jg)(;T8e7+*ChAU?N@@jke1#~qONy!6&Ckp@wtEQzktp$64BW%6M( z4PgON?7h_L9pC}Ny1>9(^hQ+CpvW4+%`F=EcWWR{j1l-d?fJUH(h`0e(@ZrNMuTp5 z0m(9Mcb&7W3DL@gX^ZS2+>{NaB0APC4KD1oZn#HnJz%Cc;E&}eW>U+s4@ieE*qXMB zgj$1Kz1exx=O>>7m@O)mC0If47%lH8xZ|9Ly$)US0s@_F+VnuWCAXlJ>A%Q9Ly_ITx=K#<*)*^JvL_W1KYs$x4PWXV z9x3qB)-?eERHHYKkr>smj$E3ZClHUBj%|^>zq&NLKiENm^Oq|xz$lZ0acdA7@HbfI zS6%Uq^~2ZrvKq+VkM@QMww6@!gaN0>+TUQtr)%ai|EOcGHR0ms!K#|=64rzl)%Yg1^0s%a z`rY4bQG`jLk}&(i!KKwsFBVQKZHdq|{l2rajoU))?2kq!5uG);%XHlC?)%b^0^{CC ztA=jZ`(o(61bF69t)}mlal@5yvzGO@OB!B5J9zQBQ8%=ZO%m$55eP-7;Z<%9%sbGX60gO$*k6aq1JOiKGpok!pc+wK73ThrD>WYKn`^Ao zShP03jlEDFow`p4({%8vJP3F;=9$F!P(Rm|eHzkN|I|8i^^0H(xN~*lc|(VZZ0cNx z=6VrmsS(_;lRwlKF8xaeuC5S0-sVdJg^NH+@BCE=-TU$rXmGiRf zl5k-pAGiz<8LMZj<_2L)8;+r5Ec@w^0hv!wq|87B z>P!oz7P2?ZXwDV!hyhE27ls;CX#kyW#6NPoqTgR@`-=k4lkO0ViTK1nR>R&97{-KxB?i5J zRXh*rZ*#bhO6D{fLc)t<)oCpWpSJtjD7qj8oMYcZG6@cnN19%#nRk^WUN)1KAU_;T zJ{^?7ofXHL{IT439=fvaK3tU@zZN#qt^RZi8lyrOaICpt^RXPJgY_>?NPxHOkS_vTV)|>DBNWN znL2l*1J(+~+@i7#wB4oCnP!+*ga-pLk&He~vpA%LI9ClkBCwj7mAD?B#lg#>FQAHo zqXy|QGjIyvH25js8E~>C8p?xN4}jl``e`3Qe5^+9?7*XU6r-HFM4mQ!?A7FDUuOz3 zt76bKudz+X>0g1a#RC`R#LpI82S+J9PQV4kCD%UybRZ$9q6|k=pCb$;lwe|qyeEgb z#I{7hY?-E2I(!Pb1#%L9P!Ze?+?5kQTQp7L~>q%fR4>bs-hZ%qHyB88ON*kz6x)%>2& zVse0B*7Nnj^&haN?c|%s#g^~CXoHXzwqpuRf^c^9uuhzx;OGNt60RpGkylXU;RQ5e znXpc4xyE!=RhUPe<~HulX{~O7mdi8aeRFI*+>$BESJk|5_O- z(+j>@CN!f0;BQ?Hl%_( zyhggzX{*r;7jO1Xu0bG)odE-2xm9a7Gv<(_gb^kFdbM^)xp?vtQ*{PBBsk3^S4CFdFu!4|J7gxMfLg@bxS zW4fZDufI=)@CX3*`DX~M0+2B#)N6D}n%g?_W~HG~Dqmr!Vzu|+MTPipqQdcWfK?6c zE1aodw+}0_E#T8o4L-OaU;1xx2wA4`ieER5&=pMcRyQu zAh&pAJ;%Q96}u;m)EkIA1V6v^CJ}}?0ZoOdSxp=xZUF>-eYjXCwgO?ixM8PUz>g&Y zc?cw&P6Xx)Q!Pk~glfzLlBC@aV<;G1>9j;b`LYf3#_h_B8`d@2_uUtf3uK>GB><>o zPEu!?bOHnaW$Pfe0>WatFN^Cn;D1x^w;4=vy>3P>4++fu(mP&1yO+i%>Gfr=0fVoX zz57$kBW7uc@y+?A3F3EM9)!2VlJ)tgauowpgAG7K>Ccmpt=|>M{i%NGeL@!_TA*rx zBLHvyCHC=X;~QFe#jV+DHph8Cl3bjvR}sU`_I%fMkypwXYs?lO9(ci^kZaYR=xVfC zGsk{knDHqLgF>yO84n;NLHz50+I*MX5@LD|F}pcmZc5BtrE=#XW(d)#S_2CnP&MCw zjY~a2ysDq4;*7rMw`b$BB6tERbvKXROo^6{zRlC0B+u;;IVt&ebye%Rr`Sym8t8YZ^{ z)~P1`*Pp(=PX%Ln49M=x0MOyn7W+iB(xF=Th}~2BWM#4pyADHQE1SC0YU6|WRt>&0 zrS1B=YqC;jSVVEQnX}tt>RaV9Pw_ccft2Y^6jG*TKY__d5Pc`?R6zsR-cw%CtY&yY zYEkqIIpXR9f-t;Mv=@3z;I32`2K-1nZ}F*`MB+U@HBTi4W!)FHS}$)k`?$f7?>4fY zDto1(f7mP4|GQu`g^Ma^=7PVN%@XobA3HZZ^X{E6{n@HfH7u;ZQ3ZyL6ECEw%wi)F zvNdN_w}=!FKB}OLnhDosj>T?qcwn-leNZGG>2c>J^mF4AEOGo$y^jvX;{GhRjdxl4 z*loSY4ttD2$pS7R`LSed%DSP9#2?}Y5??&69;bAr zd)o8n;bLtpJ=wh%G>KiESSYfV-W069$|?Y(1Y~nd;)DQUq_H8f#lh+kzI`FtkbqoA zRu9-5PwSYJ-I)&_N7G{jgC1?q{c`4YWJ?_!oFMww+QktktBd*jI0t%JDC%FG27(wW zl*h+3J2rU{9v$-5iZdouL3Lb7C`~^!f`p@d>aLLN&9@5sBL|k|DF3?+b`+cAz~fIe zcuj#gS^b11oSeT#f61ZOVIvbBZ2)mVj=w{(zPZ@y+>}!6VufxhZgUB9u7qE2oe#GM zey4zg@bLUm=ts|=oK{Y#w|0W>#ErPLOfw-Nnc5O0e-`;QHrx;q>Alxq6zDf7(BjsZ zj?ce_2(q*SLe>4)ewQ44WQ&D40_dU#7es}%;#PJ0HfTEu7 z!hMIXEr-Y$Nr@^Gr(M_?bACfK%!JZry+Oh}6?G%x2h4sNfB?Xeo}WK^EpoaB?Pz6a zB2#*2uNrfb(H@z7;hc)Y{OVE7@8$*44;X0gcw&HDi`uCEUFyRuebp?w=yZWr;=!%P z$m1`P{8r?@g*f^P^3OA&4p1a^yJzyR1eR6)l{nD}up-Y$d_R=>6CP86QC0VlrFxh8Lvg&;= zm~846G;sxUg;^Vn{4J0*p`41k^`Ix4n)o*d%LZsK5;PU|&lkwUxm6F~A5%?wv8%fy zH4BBE2LX^jTKVIIZ7S-%1KqwkZLy~{`|iT}{Q<RUp*g-XnM3)sWl4G==VvsQ{ZNCAX|D*kB8&;(VTCAQxl zc+Ma^5ge^)pTK#l@6x*R6mxOtP$R8N zP*dnwbMEu9{DwjYKfr;xogxfW(aj7<$j83EJ>(lUKk2BUina}f{lsLgo+YQ{rM!U^ z<5>yt`&@eFXsFs2-9e|h_ZR8EWZA{l=&gvxIm-N~pX4VnstUxfKRXSb4y7R264#qHcc~d_^ zaXO41u*VhNsi>QuEoL^;#lKZ+yAm_cZ`UBLXcqq@XrA}=@XbH6_~Lb)db@Wu&snXE{=kTIbIOTsi4qQU0f?G32vm0ov{@z}369Et_EPAHSkxAKwBTtP(SbI66np~&yN`dj zN}G^R#jp|qkgt7@;21@r19$OAaJ*Nk@J9?xB!w37EO;Qou3ekQ*1k<@X$E_%B91nm zw$N|eco7W^m7=(676OCDynxCSuoQYhVWiS*y-IU*UX-!=Lq(%!-?AV@#CBE+YmQ9|#>^Kaue;c_Z;o@I-FR=Y2sm3lyFVyq(FDBMN9BiKJ z$@43Cmj;Ac@8h5+8W6jk!81^U&5j!?#~P%?{`gHiY@Qn`f9V^{?_f4Xq5;@<@IbRs zCE4~3l&m`vV4#%^tbw@NJm)7rpg~{cai0eClB?0WxTvbdjx}&gHRnVF@wxf$K!S@m zz#MnJicD@ua1W@aEr($Ce83;HO(ayLg1FzJJG+OZ9k(@5^&QJ~!ER08wq*ACI7gjP zxU=ZDOB%v3CLK|hv@v$1qpGGC!YM2o8|w?g9&w(f;46VFV%QTrVUKppMhBLggFfz1);-=H9Wd%dRQck+-8Vf+TO)uH6Y(f!{|3e5v8ryKV=; zIdTxrsi@}=nM9d%`ugehk6)g?JiLAW=kwe7M%QB~hGQU%3#aGb^hkz!p`Cdlw^gF` z#`Z{m-yP)bd~<|&3Z2iPE@c-k=$m7S0~nwr9X}KTo4TgK%Ohw~gg2$WSgc>z1q;mn zbrAGh;FXsUNQkGB#xvM*K+PK5P1E0RQzWo>a%a!iFhMT80!+niFxKq{yu28pam!^w z{Y5+F_7%LSpbQVuU)ZI(c3!2zmx$woFg`QrUD-~vZ4C zQ8Y+@uLiWw$(-J$Ttcg~0g-))DvXG{oii^J-cUi$S8}z-3+q(U;EcaR1q?ioUU*dj z^{NmzM1ZP(?`Tvd4->g*8Bhd1h1{d^}&H z4a}`7N;a9;Y}`>e?d;NH0W)*cz>d%PW;)-UnsE5R8*HkfI4y#tQA--ls*gNZ2X`sM zj&JI#=Kc=$k*PTvYSg4XlHT;P9X>tNO3|-_8 z)<`X)fMLALp99aBts6LT{A)-gOjJp?)RDn#^TS2k_4@fM`otX>mX8%M?1r(2&7mx) zkhL2XnqBO(-t7a_1gTn7uYQpf5I3wF>hA3o<4Jy5PL&84leddn2V8RG(XF+?i$!>D3FU;A zD%qL7Z@EF~x(%J40EX~vh{q}f+J!*QtA0I9RG4kQ8hCod6sw z;AVI70h;_Zhc`8Z3#wn2coSq9d~c(n9n$0GdxfYf*`tK=hvmn-Z4M{$yDopVA)ra> zrp0jdb1eTvrw;jrt14-H#ygkWoYvBpa|aIodMVxKCHi+qOa@-~snQuZqn-L)l?eKC zSBS=P?zkv?@HuagOWg-v?58r`vLiG~98qE6sJZ8=Sdz>IDETfZ@@wtMI8_$(`WFmMGi+aVylO z5MexW<_a?U6q!VsQ2;TkmvO3X&|ef9mYf!uI0OHm6* zleG>i997A0lNRo;Xi*a*49J};(Y^?cHkSG~f^SZKjNz_(u}f?05H90|uqyevFY}j_ znC4v84^cLAW74Gzt)=aX3gU}3AMK9T`^VGUZx7#IAAWm!`}O(T!`sKpX^oE57;AJ5 zt9|Csj88jK6E+-=|*X{;6qbl3awgQVs#mZ0WjT=HNct4f+lfF`|`On$pni_kdj$tlbO%1P#v z6F3+3)_22;tK6{Wrp2RiC|R>b6}GCR7gterv{aEs1#U$X)ui@WO{gKjt7+RSIB<#p zB5ZZa?tm(F<$0}lXRxPiiG-;tY4p+$Dv*b|;s!$L+X`S^tz!SEe~x7ZmWssj6Bd># z1XyEEIYbpV2W6E{M)e=52jp~-Yc`zY^j~a-N4##FXLRcA(YODc zImz%}K{I^#u~bXUS8k9=pdxI+PolLF^N`VDE$Co6#0y;&$Rhd|prxJl_`ZDp_U+5_ z+v|s4ZwEekU}zhwi8H5(O}>q{fHMfV)$V>X6CSU{Xt!(ugaSfYg-dy+z(dpEeg%M* z$!P1H-63a_;}{x45f`uw%3&v7U^UEyOG0*l9ri+91rnMyB_3)K+w~B7E~Xgu3G8f! za%yb5)mAvP@6@0scjv=gi~#s~DAI8NCmdEu)5P!mEca04jSFi7SX^bHz$7?2ra>UX z0f2~^Z5OFNxZ~o(?3mqHz9;be(}8;m)Q0p+(kn)!Z|1&IKMD%W3w5t zU)o+m>62X>Pj=Ll$Yff#-;u#VHr%Z>e~KzN6VCuSXtx+J0j)^RNJVc!j_} zCxOFZ{WDz3T1Mn$$8!Zpn5>fK#Gy8EoNeZfjnl~2rHkq*UyoS5cx-!Ylp2<+R~K!t zaRFC8n6AdGOB`Fmq=7hIy^W6EZkTf}cY2TL0*ni%i}A!L#u`lhYlLiZYtw4M)#q;& zg`P>=NKFf>*Z@7WxL%>PN*c&V;b*Cr=2p&vEu%_qOlvE%X{U+==C7B>U;zZG5@*Gp!>ZdhV9nU$3ZqrhNIts$ zGnV+C>)#bXZ?o)6B$xL~%gW&_t1kuqq=%j0n!xQ}xgFfn)F1`K^J+jJg$yX8-?%!P z(coLK6i4PrJrUbvxHSqlO?9`qT9j^hV&g0GKx zy4RwDN43pDJh4CX^1on$aQg)7+{LH3=PZHuYlOjA%KFH1@ENiwp+o+oHkiMwleh6d zdO~RTDg7|7BCQUXA~`Hh^EO_#*tZ8H)AraNG{W-AaOH*JDr+Fkoh!=?%R7(;8$dHo zqvt(x2-U-*wKy`1fw1%N9j|9EyjEHBf*c~>Zt+^7>a)u~R()pq0h?{3vMymlN5%d` zXXu9Ff+SrB_#ff5s`=&(=X;0vs)HSKhvAal(c&{1CLMpS*T(A!$4ss()#L1DsnrWH z%Q0i2h1Uv$ykpHOFl_IRYE`H6!SH(2n@u=jOp?8zM`S@tSCd_=a|j?n>xKSMh|?$K z`S4M%IsnoOsa4j{8LHL-`tu#d&adBY6l&G_X6!}VsLbEyWLf&=rKnn1cGyyldM<;F z+|H)MtBX*fk-!dx&MIrn%@E++e1Em)xE*+g?o@#U_M|ZQ$&hU|E{1kROw{qB%fJq@!|B zQx@8)tRXW00%D6hb<=dht!z-lj%sxPmgl6CC;(&!^bgd2u76UQEK}LF+wmgAuA!h~qMA{dO0V)G?$auf6;EkJ&k8FQlHu{( z<6Y-&^WNyGiF7oJ?+?CpYB67pNpFhTQFr&3Xm>I*XC1*54mq9jK*-DwR9LBUn0&vX z)amUGc*RJ>?2Hc8J)ihapia(#o6IJnU{m_M3Pv6v`ca=S51cFPIfafY2fg%~0Sb3j znxZPS`e7GdlUvnUH_BGYxcDtogLA(EZJ~-ey6i_&XTn952UeAL2yO;I%T>W^!f9l| zLAB-=U=()|nZfLSxy5yAGLe>pyBcEKEhS2w|FNkN zcQvpJhP9wJLrMx|&8$2JHP))dFn_?&uFz4{z<$)CMsoJ?+o#vJmuhQ1KG4te-=IbR z7?xVJAzaa7ogqc7dyUzJkt*x;2bAw2__i+}uY~L^;>9&;lB0Nol{+TwL9ZuAw7KM{U0A8I#wd{VFqc1ndHV3{&wsqV+|t2}d~yL* zO219Er=NZ?8@nsBfy6Szp4(x_4hn$VPMvg9U{eHKO#$(TR5q5n#1-x1@FfGJ%ZOq5dbrrRtvpH zaPhDMU(CBO)^ro%*x!WKfcG8-m9z_fYn_qm`eXf#y&T{R#li>MsN5wEcwct4!bO#n zo^b`!2Q;`|Bf#HETY0+V2x$@C46%*fpDVFfx5GEpr2-4Si*6G|2{o^B%XE`*cG$;B zqKm6dGs%#dFhw=6zrRXM-A;>v^`h?3SYu^1&|h!~Sc9ad8sd0o z${u?s9M!s1sUJ#IaL=0x_J>t4O$Dp@N(>PmNY83i zp*m-`Q^iEkR;6C)&JET(U@h8|(*f@mpa@NakpS2_2F3d83Cp;T(9!%J!X71gea3y| zQzGyyKjT!RiJDyQrPfUB@9B6*(X1B;3%r}`{_l_-?9D_hXoskI&(NFf1S@p~m|nYg zcd!wOWnYM54vi=3*iCjl;Efg)LGF9UQ++(V_dQiDKW4mHn z0)7JvJEH-CULg(8gc&}8!En|cJ4DCHzQ9EWH{APP*Qv*v8(lp$M{McDPL}rt#D#sC zR^BY2gdoIJWi$WlB#(cKq2sv&p~Y`R9tRyObJYwu_x;0sT& zEJOIfhi^8~V6yZjPq+%SHa`5v~hdLA7Tt-I4}IG*I@Q zuxKDey(3dhYUC~YGGJQf5QmV>Ezv3|#TqPkAQT2j0YO`t_AT|e#8lP$b;%Qk zjm&&|&evSG+tYD?;FyiTF^b8b_p}vR?pKd4(tg%mF6N>&i?syUZ7s?Mp`}8>;_p)c z`8FvKt|__en0su>i_*7=tV+HSH zZb+`^up!;ry|80tdgji`R1hMnV&*hu+3j(iFntK|BQ2VUox~ta4;PxZ>6028UhLKh z{hXy-J-Zo&V}S77)DK7aLPS-}TwAl(&t4)-Jv24}FvFDNwxg%Acrpn+^j=Q@ddd?b z`QYe>)TEhA@w799g_ir>=oOlwcQsE6&vw%CMk-2dt4*sfvtR7S9Hgox+aA*&iY;!| zlz%C)#l_kwA_JuVYFtCLC@NvLKM-g?kd$G`cu*HbMF-BC*swyThVSmu5nA;p5ng4D z=MmVf99coAri$j;d6(!t6*&<-q`i=)L{AY;E%YHCF#Eqta`CBlYKOZyD!40d0ov0?iTLCJ50~v2#@L0~+Yam^k7#a~7IKCs?zZM1w;xtG*#kCglMq zEeojD+0GzbQ)OAibK}7_1L-10Spb^$+Y?j2_zbtF`G%D1o2}vdF1cr3 z1)s)(Uwg9)Nm&q*Db!3y=d{gn!PVl88A@og)tT2nqC&Uh`uP+;hQ>Az_ zY;R)cBrH=!qn)VyFaE4ZQv`sz*LL=BH9*#n$wTA8|oP)rp+?OogE5i4`bv(tJ(3g(Td zeh85Rc&>BT!MRjqOe{Eb;-cTnQLXhnmk>C;8psw{2celNUPIB~e(eqS+bbdyL(mXm zzSVf3dtZm_kG*fr3@>>YcHqr}OHK~&yRP^MLNiq~r_0|fxasX55j_44f{W7~773ww zNPv+(Q2zGq;YJC01AohfzCAd}9F9^R>(byw$UrS}}hWi@g zw@C9o@I!|lxT+S6EK#pPz(qCT3JAO4zJ?&Wt<^f%`VoX(s%RKeSK;kG$)ze1x#D3@ zZ;#p6$mK+g5}h&KCaU8fuv~kriJ!-WgOEytHO~;>qls$ ziYB6YpWLTA6DPT|miuI9qD@Nyd;^?E$<5DH*rST(pLw6$y4^OWhsWp5b37R%*j>WN za8f%#UYpztEG-CW6lnc^Q0~9=yw`oW+tCDJ5U!|lxV7vqxiu1POsJ0Krd&1~fX+J0 z2Jt4xgKPwHyKw}YpTd5?`BCOJjSdn>dhw0A7k3IY>~jEzFZOAhu&QlhhEO8g+jef1Tg1H`+D|D`T&uq0v@?Mx-rEpgme% zoQ}9?!BW?)ItE_Jm)hmM0(ZYqCIlgiDw-&Vd?~)bdze=TvKFTqZ|z7o077CD8PY{8 zGb!~RXL8hNNM%W7>wh=#SdjeUQ8mlVJ5$+?$Waqu^&>zFlhiZFxfi}e+CM@KZLltD z7c7NzC7IQ~*lecwR*h_Yrw%>N!kY)rpN{oEyC+m-@c~QGr z+r}xA8a9T0I293wsQOe6Wd9k=q;I!`AFTf(Jl~kG-xzqqRz<6(zDB|t`N}2yIL9|s zFkj;YVTUT3YGxPym$&EVm!}VJ&tGrUK>Eh4nm^T851r{z`2FNfL}iW8-vG5=U_0eN zK^Q~Q2mL*o^v))gtFZLqbu~?kJAAQMvp_=hO0>g92T-&_%MVNxtUDvoOnt{SN>J@T z2C&adQONM;p>fWxS6HITuy3t274DdGj{`+c^h{MP8SD~bCb{B1vS$H3&)+HZ3opUO8bukpSRM3n&vSjxWh?k1b9-j0Zd66W09iR2C(q9k~! zo*Y%~j)%&G!CZGs)kGx?GaVdgHd-hgpAtN5#hMl(#D}l-x_|ol^^ccRrxkY{=&z%_ zeTdZ3807>NsM(T)ET_iq2G?d67enmz^n;xdbpVncL~4y9%4{0c^WS3d53Or;mPyYrr1ag_a0a&N^h_m#m zw;CR|Phe5FuUXVCsEM0lgMR=C%w@$PH?k;$z~xx{hp#_HRzp` zQUtwFV>qg;_Ku+O@6;fQ271mMOi}X-Hs^y(;&n9?9~t|YY)vU|iPF8r6p>nSNAnL6 z{eBhqH!%2C17)?(k5x#bf(o4}U9_8wkv;souRlM$zI^%f-{0`RMdyn(f-&BmxnIAt zT}7Aj#TnaC02`@L;+%GYoNNF+HanU{1-$_ENBcm%g!niuQDJ#ockP766NO6KP`a`{Q3v|=B*y^6rzMXa{W9|nJ*NaBjE`9aaG-tcw5=(b+)bViRK*++2TzLL0Ljhy;{ycbvg(oU@LtA>+; zC*~-V=itXWj4-JnKQ&_ZGQLl?{(fvqllr->Ej>2zrNh08|xGpRSTEZdfBDs zmZ)q+H8+gm)_kzHTUr2AmiVp4pu-Yr_Pt4bubToOx&LcOQ9R8>07x~X@@cAOte}(h;&wH34MjJ{aSrRUs z;)(|v6@h=AEe{YpVXgLL@wpmuch4}5;S(`g$C}aUKrPKY7xfP|lJeHaRxNFJS&5lC z?C?I@ov}kI#y38T$JI!?omcV>!SxgnbtG)w5rXr9+l@Ar0X7ROp2ibd0TnmnIxSD+IV|!_SrD+ozV{AaVEcyMCqke}Y?}^vek9>#{_>yPw zvID;E9g;^?9+A6Z!f;u-iyK^GmX6XNnbv-npHu%mwNJUnx= zpIa|{`=hCXh9k5|8%dKp*9GK5dKJ+5tx?v+4zpM09Nw6;>1;P%T&h&#PFakS`(;uSjueRyHE$N!5)Zf`>BrFFy#~tZ`W0fs^7FRp%eGAkWf7cZX6e5&- z5+PtJ&L%Ip31jnn&RXLWYRC=6v`qs1wLF!@!TNM?gMRz`<@2|vw?D7ASh_wFLj;<` z=qaAup87!L?ba{ss!{L5SJ9;NgCB^>+T{@!8%BufhQE%;rEXEFdTr}1@pHiPXj>o5 z-V3z^U2Tn(Y921ZbO5Pmey=$7-eEI8{$f)}FSB}a8QDI5;QwCyoFK@ktDA!>i8 z+=`XpZ;O^2e}z%`+cTa6ox+4)Z|A*_#n)@@i4o;1Umlvl(3k&sA_(c@aD?cK3e4#l1#934TW`W{6}`F%ej^ z02PAWao^s1#vBv5&IabIz3y$&7Fh75*I5N$xw}FUmpY)-Ft-HL`}_0D=a;X4e0h5K z`1bjq&sUWw6JWt7UP)SxQ$Mp)Fh!3QKPm%HoO+l||FpRuH*`}t125uIHOOn9y}GAm zsMBun%%7%Axn?Ftc2mc#el<))w4caW1+&fFa!gzm{nO+YkE)l^?Q;MATH~45hfkls ze7TXgHoSM!p#C4iJ|TluCoi>DBq4sE*USE5ZI6dRWJDS)>?c)&G+H0hKz!=3%njsY z37v5jkeycSd(W+RZL#WAK?KK7@bZ`lsY7@X$1tOQRcJp&9#@9T!!_edL)JhXYns6p zC{1V$?${5mF448T8||vtlBrZsWc5b15(uIe;sN9$#04!oCDdkgHHH&)*;Z ze0}@%;pxWfHM;a+X|W9D-^1hWS15yihUAYmi?yy#JwyiH8^0hGD2ABpHt2IT`Tc?X zw=HMfE*y(fz1YyCgL6m6P6;m5W0*)y1~VqzupTB;7y~guNFE@=rPH78r4(~mZb$YpABTEJR<++!Px7<4Z2e5^C4432=m#Y~A zyUQIWuWnr;)$=^6;f$3Ki5mdZNm!TE2m5K>8Q%Bc3LS(EaTD*G%3s$Zs=>({PE6@g z^IpG!{-=Y!Vt$_z;(qfCR7UOcKCF>uZ*)ksY&fm`MfzVlf9DcrnS0UFHki~>iK^ep zEdDEQ;(@bCdaS$UhRVAASHF%!uRaU62Sa&w$w)?`)_Z zC)x@ds}j9tmY5OC_=7k!4BFQ~ z?~%Ou-)eS#G;LQ^WQ=L`W;qF-dZDDH?c{Tj@aPQjY*2C@1xC6 z)#m^4g2?TPu@rM}RjW2fM}#|rrRjW9HWS2`O0m_rUrKkoIXO1=gP=){U7MdKeRI3U z%pNPvE%WOff+*w%<+38$DH$8Cv=W^$wi*K_jKFR#B1|!1zxIGAL5r!N##*dB+t}Ep zj4|`I$K`qY^7Ql5Z}(JXhg}zdZPrs6K03iqJROub53nw=kxYU7W)l3y zP+u2ZuKm4&Z1WA;hTFk%T_V`W%q^odXHWP zG{27&jNmjXm3yj(69TxJ%jh~J&^KO!LwLnNO4APBiR^Qc#KK(ODZAYEcgY?z*68)V zRsDD2)L7aTo*x^tlrg&J{KEqg$V}8A(KAvE-p4 z)xkuHrKnkrL?*5p8@(viO7SeI@qU^Qi%wi<7(G#>Au+X}6R0a9I+ka^H>fUfKrtJZ+sk`tGz`{Msv8i-@nG!gWhQws{N zFV5Kpx~M98=8+k1j-CJz$3Y6S8vmOtFL0aU_TH*?}xb=z?7?!P=gME7>> z0Z=?PHTf|uRzs~vS+AQXPzc828S-6!cXStLItw72%Xyc7K|@6+{xz-W1oQaY(`OX# zAHM$l@P9mf{pst&+tr6mdPvm+b(v~&t96|2(4NfJ$Tv6cHyaa{Ky+AFrVZ;@0#Ve@ zIb0z+@wWq01UeCcFVXdZy@~43IAG1}9uvPb4S?k4NIDq z*vyH;9rz*sB_tP@JMco7Hm!P}%M~zDA2jj$x~Q$v%rA*Nq$HazMX$EvR|^X=RVnku z4dV~Z;)u%~+E#y6aB;czP;g{_=YlH{xlDg7xEGhJ2`zTPzdwKZ^7ZNEm8Ufs@%ud2zEj{IKBW0JwW7IUuoV!)33LXe^*$4Ba$xk5=3A zZEJL}U_0tRO>%Lsc^)Xlo%!&3okyhKmmVA+-5uP z7Ry90{x#2Bw)ehNJ7B_>#yffkdUk{5Sc^biRy_9l9AYbc5!&| zS)AzqNN_W(rr>nSi#OHW4|GOzAa8HZziW6jx57Jh=aLa_q1njH7_;8P;i1{h>FeFb zcV_cL8Z@_xgZ`@;=-bakm?!n7YEO(1UD;IKt0Iib>11~>M%~n}NbRHXMHzT=W#sFx z_`8fePP!u~0w#(y?9vebEUTrJZ`167_ZZRK3Viue+0(A9f?nFC3C zMAdxMw`u%P#+tdxx83QUuE1Rv3-hZ>E7uGD(Y{>lX_e5jCYz%jmdKHgRLsm z2)>tVcv-OPPk3u3Gj|yfu<{9#sBjDIdRv9j%!8*KfzOEwF}DG#np^n+y;ns+xQVVu*&b|Q=P7GeGLGot6H@d$C6h85W*Fi$8 z0vi1QX(8^`9yWE}twrAkc%K$AIvP-l7i;?P0H~neqlGX>*?~0SuAzOoL{`0I{4qJ4 zd0d{^M=BobzpX+l`jwn{WPc8Js@$op=3mI7tR_o%m)u2f2PxOYwjjRbqJ2%A0KDo@ z>CIgcdtro)LJ(y&(*VLWgXx%G-k$#X{N>A^4_}^seWrPh8-+_d0KUD|z=JXYCu~l> zIWX|Cm`ly>_REh;3`a1KlM8Tq*k9Q65bx{qphu)FKVMybxA#p5J3&!51P`u@AMEab zJyyPkt@Pl5aUa&YBlyAEcMzs1s|Uu3Dg-re5K^B$*uaON(iCtNVO4Nv2`TdhGO}Ty z>RudHKlPF^ld7&e5&#kyZV;vaBd=fq0$+o zPdU`wWb19h=vyV^VD!`vaK9$KxLtq53w0lja7)eg`GYgb8FPGbXgh+D4sA+kBX@i& zY8*u7JOe0df~yJ;T?6sDVd5GvbKvlf{SM_3o!{in6d*FlHoc533C{LUP(yuMu927h z4z{|6wUQ>JP*(40`Kt`*q&g-v(2 z0o@}vJ!xVn^SWt3gU=C&cQN>C?ru<_sOYJLS?CeBSHOb*(4Zl!rc69Fn~OPeVPSQ^!VqP3j~46?3uN~u^@ec=y%cLt zz5#{g97NQV{o-9`$xK`xpL_eHgRuwCK-{n%RKkB1==t6^ZPlJ~R*7S^9<)}3ze2Rr zOQ?TC-bsH<4JCrg0WjB^)4*gec1DE+SQ~;$0@l>-Bm#KzQ_UR&q)zylR4rB2Opj z_l8U3LnT&LD6GUMQ3#@}X7hii;L2{gbf@6;zY6s?b~+G5tnU(BT&^Ar+ZkJK-xbqS zENr9m)CL;tePq`U!DH|~K31a$IQ165Ah8_zAy>=%izK-?+I++{a|gm(OYT!xJylJ* zC&@wkZhWa>no(ezMuU03BSEL-T ze~oVTP^fMW5k7bKg&@l6-r;T>U!EU)xSE#Z$PgoV-GOs~GFt|7A&s4f*Y*&>gcz#X z*v%a+ONabNIo6S36mBR41cUsrMUX#iSLJVazRIs!5)M__JQ{Y@D|hq{sH%c#GXqMx zOI1H7%fE~>pU59YejTITMISF0$LY@DM$4@B(Z{(C=)juM(wE>b^^E)MW1{xeHY`qc zd~@PZ&f(Zbh@qVB0wKCAH%MEK%}gRQBS<2CtbRZ9WWjF3&a}X?N4rO5_4ElC;s(iE zKwuB*fIt)9&>D|}GS`02hNlf3Pg>@XNmP=Au-gC%dB9l9!pHuDAt!m zl1rzJpQznMM`?RwczVX#LU6_HN1muyKN~=@iecTr5`__}dWIv(hh*a(Eu`i&6Nydd z4?0OJTM-Iav2*DhAz-(L5({S0ZilE4VTW?Vq}{)o65?5hUK@%B0BYPuhK#r(PYB&| zQgsa|dbf}aY~&ZOX+#rMJ?7mXT(&8r9tZ&>qS)#D|IzW!G=bSS;|it^TvV=BJmu_2kJWp4A+xOB9cpqcvzz zh@srH4*tiA1-)EJFqfT~JemogQ`5bjnY@0ZOLl#(%DBWK<-vgRK}d;iR8wJMHns+P z1n#YQn}MB+c5yk=JD$^5K(n8>01`IJ#F|fewbh#$TFSPNB7mPuKVQ!}h|3LA&vV1b z?98#k<kn*4n?l=<)9mU0iD%lfoKGRH?A{FJB!N z5b>iXVBA1yc^VmzXU+9>hLTW}@Ab0CYy;SNT8u#Qi-V0528ya6-#)$m_WRe@m!JN8`t|c~ zPY+M0SS|{1h!jNHI`$D5Ni1G*x}Kx^I`yZ4VlCpv`s#Bh5axBk$2Ac@YDbEQ!(G;t z-+llT<4+U7gvstp))62N-@v9F4rOaX77;{V6ObuJd6@XrP=XPbGG#MS)wut|3IGoxv#`zhev) zmUe%z@~l44&}meIBV0>d_+P6E$&JNuQbByL9z;DJJUJ)MBOQ`n0cD8?c9X%*)qfd5 zg~Sprn;Ks(hB+Vx4lz;yPHsVECZU0HNrPZ9w6p+QZcWY}D1nvO!F?dcD$&jM+Ry~!IT#=?gk*)i~tvGA8F62;d>UpyGW9D)d5pKNVaUsMv zh)Aa{7MpQ;%>O@i@6u$)(PWAJm9kz*X2q+Fcf|4nC=%5yR6(~uLY$pUGmBYBV>UCA znf|@}cz9%ZMCN?~WRJQQ-TXiTaF2}e=kenv_8DQyjSq{u_Sw}g+#Z|rt`f~H>w#5% z4B`#00jtOHH)&$+nj!ov*WLidzI*heY1!aQ^P#x$WwYGP9hbd)x0M;*j+gg`4RkK# zsse9kG5z4j=52DhVv+-zpTT#47fc-|FgwIQdu4{k5#`Eef{ZTj4U9!e&BVKunZshy zPgZqpy$LI#4&+u=?J39p1BP4dME-LtmjxFO3{yGApm^%H!HW1VpJvMoW$RduqjgyK z*1AWY#$qA`y8O$5Oiw#{V=9q?ccY<{Ky+JhXk<}-(X69DgKzxTIix^|>U9E*Hoik-2hoZArV+~T%K-tX&_?9?naCI(gc)jCb)}%q^LTDY# zDm=~CFA@FKyudt<5gX%N;&%0DYV=WFw{bDfu~8r_m*Y5g!Ti@TL4mVeZ`(CL?h%+` zzC`5t>DdRxfC2>omfX~Pz>~G(xx@o|GZGq_O&E6>oNRRj6d02h)BgFRDuIC#?nlQE z>>(vJSKxRzRN33!iIrphvs48dofJ9@mlX*9S|mM~P$>erGj}M|O%NzTP?AW|L*G$^ zEE6ikUC*^yN|zd&l-F%(Y*+%`<08td)tLPX&8OQB%Z5o25!^A%tExx>vk|q@-^%nq z$T+S?O7^`@pZhr%CNu2^mr&D~MkD3*H0wVtdiZ-pcTMyk?-cQ^jpIlq8As4aoxA#R z<^9f-{*oH23Mj82ec6(bna!jtE8v>~^DwUGlIPXoy#W(2V#3As_Ra)ZE=jGf;L+ zVMCu|&9QE4-Yq%|d{{N_ZH!UgO?_z-`P9$%qE$nP{}P-!$PW;!b-_=(`Bns%UUUt3 zV#cBNhgEqR~!bX{_Vb+3{Dlt630H!tfZ1UT=Q zAHD1i{Y1sE9=LllUV7KjN6t1piO&)6`cA-WD|%Yr?QZ0Exk2Mrf3-i{8-EG-H=}OH_ID*YmP|2NWyMeyW)oY>Wq_W98!MT;<+SP8%k1M|GGtf zy@eE@1m~vgP%$=I*Cr<|nHG1zP@kNsv2_Jw+;DWT_?tPn)EK0^-#h;6c)O%-O}+X~ z$vu>)Cu%Q*Zt?{CtwqTZ-Wk>oYpz#iRnLnhJ=dcmxPh zFNK&ry0OB6mE)Xf8D4$df3d#a#w6u+Uz95=ZgRAE-4GTpQ)#Fb#HX}+^ImnN5lea9p!iZ z*vWUJj7ug9G<*K;q$k%({S<%oE}GMYg*i*&1ffL=b`A@`oe?gVxe~p?chtqZC^z#zSLxW2ko$ztT(zTpC@Enx;7RR77%2w?~3woaG?aC zVodK;%pru489u}iDbUTyhmhBT8#WPDZ@l9L_JW8;I_32^7T3vPL~jIZ;BT*h?4}B5 zGm-y~%6!L|f)uG3Ns`!tg4=?URW3}feWSRc(>$j~^T;Lc=m8RsKcAnzKYV!k^K8+% zWnp$r2>^~n#TpCC8z$aWOuTPupnXw|X)4)M>Ti1nkKe~i?2Og#D$!hWnVS}Oe2h(W zhdk1mX{K`g6p>!7xC9{jm&2ll)3Xd!-mHcA<*@8ssi))nH|A8iVWCb|ZFsKW;yknZ z4vL!98vX~4?`(<~oLVQOOR95cXKvFrMs4I&VVRp>cYFvle+bJO1pO%dY+37cE7#y) zQVyZBiKC`_--i(295hs$DXqg~TF;lF`BO}&8em=-!FR^GqW;uo779XWGE*H9fxSAQ zLft{{`DI(pZ46amTsFeTk{+KP9$s!Jtn?XaoW4tHlQmx?OtG|20Kh`aFioTsE!s81 z1n!dI96MjY51myJUi@;%u&ZCava|ro*gjQYXO~y*P_nH4pk`eQ1}OZQ zRSbE`_aS&(n&30P#I1r4y^DbrPXzA>nl3nofso($diioZ zUEaRUSBB0xXgVj7-(f6W`vBE<4@>g_AcZKX8g}$#UBA8GxE@md`e++1RhZZ%ss?7M z>=M_WtDZ{-;T)(3b;nIVjvGd zI<{+PTw^ncj9yA59Gu@6OEYBeGNG{7HEKLmq0Ai%bVXjCUq3xv#5=TVkX5|@pcGQm z33f9e)z){QjuK25`hNyX46Z7X z*2|B=2^ll%%@~oYAyO1PD;+%+mjeE?zF!k->%Hd(O%1+3Mg52xv8iEq)VR^{iWYe_ zot8&)RWeo|uw8?PV3yc|IQoLazH@m2H*1iZ2I+6mpnV1)De;)&m`{?qY$~{7dsZKj z!Ss%R33W6x?rkUARYII@G<&z{M%=$dae25)m@w`8o2nLyumRPmW=cZ>=ESJ+dKtpM zSqt&LQIlKVwNIjxa?)cCks$=CC^0s$L7V$nw{ZvhoxX>k1zh7^-S_Aml8> z5BRB)H+rh5Be&ZmUqPU)5&;T*)Kb<>7~7g$--Kbn-R?Kyt4rKNdmaQdrm5 zoJu945mQAyWp|t8^$$^X2p}Nn;LcXEy5vZlDLFqF)tnZ*e;81<(vb-Rc&1k48XZ;C zG?pl(GYR$$c>hK90qQ0UKUc7NAH%s8W#YG^5uhB>Qu}v%P`w>8u+#{tut4jdk(`;K z{t3y&=|s3_vcUG-@F#^XuNH!yoIP!_GLZ%XewX{a8>UM@OZ0S*>ZXk zHzfOjT21S?)7$&;%iHUxt0CLe{6+T}k-ix|Lg#{vOZx;qAjnAy`ky6m zm_Gpr4*C<+h`CWwfk|ih1PeH7#zy4Dpr1{Bi`~$h$(;&s`*3{?`2#YWz-~^ng406hLE?o1^kMI4JdS$v?$*cj&L-5sM}xR(+!fOv?0V zK}ceJ4pCAYZg#RJn%$aO5Lhy2T0=^TDda`8qy z6{mTwDC7s%tYp&FWyeI7Htbh%L~NY4_laawrZ3iZ=^3#%lhdiuPQ|#~C-%;1Bd1hl zeK*~al-4NNW7Uo#ZgMpWzFq3(OygeFW+*+yi$g_ZRk{ZB$6$mRAy(e6WG2r;>)fbz z6cA)Z7?dtvm~BSb$fu&tWxEci+eEK_;$yw$u-M%xO_CR3H+2DAz9z478e{Ggym?jK zle^{0tT(;>O@<62D6>{d)~(PCx@PDXnLMzcchsi8B=pXWX^vF)fp*FCFGC)O*_&Fr zhbuB+@4}!BhhJh1iVbwrI*f`!%GyZOK1bF8gdxJIovg+=g@j%oJ6M%Rf`Dt+#wJyK z;`yhT$49GnATDSYayy7VIJOh_ZX7dH`*W-0cYynid@820qr&m|_5J(X>2d{%RT!YN zG60nk&}$V|yAzCQBNJp;>2OPjW}rWKR)c|PqQ+y5gevOoWb9Kxc>gaT<@S#cuWuh7 zK0m*_JbZZhmn+{wp*g{fE-csnOjw^vo2R3cFJgVBDoNQ&P`~Mn@>bbxaNJm_q9z=S zSP_mnSxTiofB);@D!0A~x)4it)1U*9R{2l57HBN!%Ic>uK7p-a0{TQcjSZ~OabsQA zsUUx&rUHS9PD@Os9lWg)(o&S5w{COT2*Rq}@ZQqVkq*3yis71SCy9%`c6WEk_2<#Mq2E%K9d%5=`RY6Q$&(&*K}xV&ANTZ93>j-MFrQJ)XWi ze0zKNay0BEs;o;%+!!_aiBY;=)n0D^V2N8vWDR(VuQX&=QF*`~N z0Tk#TfR}6|Puyd@-fM|A@~RZmo&vYMgw~JiMRLFffPYfMIjn~(tA`UkaB>vD!m;!% z*UUr0YV6H+?es(&eN{>mF=s|>^yT>J`TgznT7?`0e+oC8gX8Xc%NhODnl`>-1W+L- zUq{xmw-gg_FRZ|b>JbH$QsSbExac(FO;~~VucznN->!8;{RFxVnC$hF{8{CWizH!m zpmdGYQglj}?-V~b@$;VePp?lOk2i=v@GjHs0Pu4ZzY{LTwP0mKuo--;o+hc(*#oQ}* zMKZ--Fsw?kdZnmN#e*hk6%aGrMsf#ev|v zuEjrzUus1V>ALz_FeMvPy646%3#d&wS_*>I0XLcmKY{J znd>a|-VbP$Pz5hdaQ|b1>m|*12p%XpJ*3?Cc-mm^65K3J@USEJ$G5lNFJv{Q{^2UK z1W?j5LBBnd9=o+Rog9z1^x8_Qv+gqiZok`uqb>5GdQm`rXyjZpdCW7AQMm{cD}}>c^bK>mp+Xg7OaMCYRnt-5ORHbdU?K- z5%e&q_wTszicN-%FsFV5yIvuOBCX(U$;6W>G;7O<5$NYQqlWEzAuZ+W^BFbp;a zDLwhnbDl~+U2;L>p0i_tOJeuZREX!_zBr;nS!8`P$9VwO$G<*>(=un2y;3MLD8K z@*Y){Y4vD2c-8nV-Cb>(*SXPM<#~b=(5}ZIo48)D_TIB%%0$5f^jSV=1v<<&EG=jt zONw3PZtY$3-V8=4Y2$yMQ#d!atL)2;{I5?B`KC1+n1htRiVogl4swo}*VKi}?iH?Q z(F{Ep#RXnUMVN0vlaOC4Rl^0-yl$9^5o~&1pNf6`bc5*};MovQ4Zc^)-?6sNrzXBn zu@UvvAFR`Y_!FzixtdmP99KESJ@J3ZxIvdl8+-839{_+z*p4uMfO=}R#_o950;p9A z!!fk9S?#k!m~cje=7IGhF^kzLTp)BiuCcsn41o#Z5e<2}XM^ysWi-K(t2`{BL)lEJ zB=Vas4ZW-|Kv-iHyLnvQ?E7J{Q3Ew#!gg2Wb`b-z%tt6co@WJPnoH@Bds-ySayM72 ztA{@>x32`54Qh2pZZb#Sk)2Vncw>3iH)eg_LJJt|Ho|F)R#~&^@xIP@o2RlWDF-X* zMNb7}MlFs|UWnhghBg3m^P0}v2)}b9w8|;{?Q;8nQtswp(+@@lU2bfa#mJ4{mpcq0 z4X6?jsrQTGC5_r!i08*}fdy|4HSP6^{{Jj^^Q3t!1=?6K4_kUdQ&#zGVcBo)v&N$RZ9d^*)v>yaCk?W4ppOy?5OkNmZUFMIjai zUX^JL^F9tCWqXiu~6kzOCZB z%W-cLzvy8hI+F`=BhwYOHV|FX138!8Myz`@(%#Z~x8k5n%?-;2;zj|Ko$BhsF8@hS$9WuP9krzVC>~sx z*o`r|Fvkv%eeL0E=IGr400U9<+tVsNzkn+(b2S z(JEz)oeFhj5XxXO0=z*a@eiMswx`5`4dX?C%vbHo*1o4FiHop zvsY~@TeoB1u0->_n<){uT-%Q$SEyHD0okOx9M2@|8GIO=Y()$vEJ%4x``4Hg;S%h2 zqdM-8zF74YG=i$4OPS25g3|FVj4B=dTL;ikT2tB9aQQo>N}-VYu&CT52O(&iD{G)s z30m+PDK}E8qHCFV3Eqo5_XwT>QZzMSZt4#E+XZiqH=7;7NArK}(u{>Fd!eogtd}Vg zu-RZide`d=mCi=_gJo&lgu5zKA8eO7&&?R}4Veu6EB!zZIU-{hV%1)n0NT=*FttPK{#(a4KDv%AT0cVq)?nFd>=O#n1@GQ2S zIt3So@~gZ~(#2ehQ@bPSdq_qhog(3X0*ooaXHiu42F4PzH$&*AD?E+$%VAf;A*q$e z$nE{@IO{C@Q+Ba#(gAk<>+>yCJhroU*hl<{p5aZ}N%gM2a0ww-p&%NNIgLdV4w#|5 znJ-9hM0z(%?^*g+NdL=+x6{+>EzAIUwLO^kU{XRmr2y42K@keqmj;O?!-IurUAoH6 z83%0Ih3>L&QQ2k2iCk~0NSxr@nlQrAMs6|NxNrLnI5VX+;gVUfP4QKfvle7I|14-k>CZA{wBeu{7)K^z65MY?w5(sK^9$XjBY! z1xwF@mz7IpuRS4bRB%8lOv4VDvZxZzRr9ZGDC&Yh8b6l(%j19;{Cf03 z6u`9!WT_7+u7-wQ@_pAPHFq2LuFYRh?=MfM>ke17l!Cxacd11cKbowmP%?4SC<%I?%Au~Q)8>#JAjJxgFn%~?D26ev4KyqEM%TyFDp3N zGq+!1ThvcY2~%^go2|9@yY8y6d6gU51;JKdQCK7V&ezvVY{6rA$>mixaN1NA_OQF# zov%4HCmSci0P?Bv@n7D5d9V1nho=X(Jbe3ncG|uvqVp^)9tU6U@B~t7dN>;;Vl(u1 zNj`;SH}wJ;vt#myqR+BaJ({Q0z^*fEN3TJ=ic*1*uz)U{NfnJWv^*tS2NU8NtAUoD zQ>~r7sb#?D%Ux<7H&5eBsGmN*{_>r_!^7*_!?)A%*Iz%L{SI-7{2Ug5kZW9qUm{Ydu;Zkpg{BIbwJ3jt7*UKhqeE;dWAk}TdQ zDh*v994IL|(FzvNv-EW7x6+fe>#x=5N64y3`Z@A+w;g+r+`8aaAA4WlApZ~;{Y@A2 zfM%A+jV()eU36inBEiqR)oX(HCyK^+DjEV1C&?rKf4(o7QY`XTX}vEwnhQooD2`%fpu6}Gv%vXQ8euI{YI}sp8 zH8vTCV5bWHSk2Pn$;2n$SGT3gS{a5FsSW-z46oJ-n-Eo5Fx&Qc?Y=$1Y%j)5mzbNu z?Bs5^hV5=L^hUvSpm?*_2w_8jKi$@7mxK3tlduR)6!*9iOXb%0i5P(Awn*x*&CGaY&Quz|@Q=oZVT^RiFvqvSn;d_e^uLVncB)uCq@$V~Ree{!)R7V=JFVg~?Q zta>!xnkK+SV$kF1fj;f^@{NBSHi{NAWF?#6pysj_*N)8{wy&nm$(i#C48g%t6=*(o z;;`YsVOe@nIY?XRW-Xe}&C{ds=s@!lyzj^N&(E*FeS3R- z`0(eI$E|APwqlTi_F^MVeQd*8=P*bi>;AOzS4D;GD(2ViBmNU6j2Ydw=+1N~Rv1XbV)&qZ;w9r9leWt%J(p_a0C7`OSyw8(wr z=5N(Pyt19@C5HR+$CnSMw`&uB18=2&MAHLx`^Lr`r=l`FU`e`c;(|k$s8K}(zjKq^ zFv%isxislD@Dv4yyj+>L@%3O7NrdCpE>jrqMxo&mR4z5^4Jn#~Rgu4OJg&0DIb8&X zFl!2!`hLyQB)_w|N%_2)Yg3?7S2Ln%HlNN*D~K)@Cc1rRWlGYB7~XCpm)aILG1w$> z&rNm6{o(2O@$L1O&u=fk(ak?^ffj+{wHi;M-~x1~W_D!johJt%-qLws zIt=_M`GO9%>5%U``)2a>&H%Pt=};-*K6Vw{I?zoXXgvA5NJGJ zbG(qSB%{^@V@MuLBi9RWvjov$SM*IqxtQi@ZM;wP7XA0Gt%C*O-GhzHr51L=+C9gn zBbb^Ruc7zSpDKmHHE#)f(};VLH$Q9Bk4dg)pt%n*OCCFMsYqVEQjXz}ed(fya-ZbQ zw>op5V=h?NZ(`Tx)w9Z#}uR>T^@;%_dSx^#AT-WQ)lm!T+TeH3?*2w zL7lDK7i`C@(WJ9zFRxvb#rb%j)Xk5&{RaOvsZHvZ1-+8wwN0D_PX+Q-%Yvf&0U4Jiyyn{Eeqf(g zAf_ZqX9O?mM+9$Q$?`+$VVRqZ`ch zy;sE`%5~||RjE`iwO~fJ5MZITV3yOR6W;~^wz<&_V*1{zf=$~LDLVZ)hZ&Pln)f%z zBo0e(+AiK_(VHLLK#u=`^R~4@iJS8C2kx31jX(W1%VVH4_z`#?eaF?2chVn9Bobv7 zX(j3>`(o}oa@U+_ywjF%1&^?CQKN0D;AIWZ9l%HxkZ6|TcZULQ7QDI8c&8bUa|J-w zP^*o+X$o=sdIxM}$Oqe53)?dAGjbR8BXT$AneMbH8@cI*Itn;30CrAp{69h!1Jmir`cjx)~) zL`eSr_3if~53fCZ|M2i~yh^Ow=cXLWb@W|TA7p;3Dr_{AGgD6J{K~7IlXv%N(md(B zCuha6UTj3oHwYuZ#!Xd>bM6!?+jtw|ipvV|!js+7`xMvQ>AWUq{ti!feg`rg0lRmx z?`LpR3RmA1DbX9uF03}3JXW~R_B8i8Y?@hX*VoZPeO#Yz5Zz|v{>xec8|uBb4$-oI zrED6zKh``IMFp-_58w!?Ru806B6stzMei{;LJ&9r%r4IZOaQZtb?lUI@73^_gH%e7 zlzD(sa;ZKD;hOwrpn2m&)~>~wSp)ogzB<{LKt{CN z^;EyWJTEI6jK9blh`V*V?-a0$62EY|yC%^#@#lr^y6!3^o znaUj_7+r2ZrLG2JRlSf})9(Fcl*_g&E=*CRLflc|>)YuYz1@q;!9{r0iA68GJYu-& z+(2PT>pUUFWTbW+iBF(_-cYwHVAZgguL_6c@9!POqs&TFN?VTD3 z0O=KQZ*8YWtq6C3ckUzb5o-jI53W$lP@(C&1gmC%T2}ih>`|nJia8goM}?98@I-h1 z^zi5L<>l!w(&qT-?9xd#JxLJ};59^2&0F<;hmR3j=xo41cA)Rx@^K0(IFd_o)4(Bh zgSM^mg2fNJX^5Qv#H;QL(OX9!So#FmQ=_`ysTSqe7=nyQk~t)w5~d=1)z3sPc=Za5lW%b2>y0txC!%;c#I2S;fhfe!~t{UP!N& z0XQLMr!>Lij|v{u;5gpA?ZhFY;3$5(c3%SULt4sMcizrU{kWPu>mzJ0Etg>6># z)TTMq%{^LL;299}n6yrmEDXLpv#EE`N+36(xn8}If+_o#do}1;OC-4rxGP*fXY!i@ z^bE{_tmvu$us`P%Shj22OKAQ#-`Q8&D+p#@`FbvO_w;BRz}wk;D8AnuBSUPrHZmJk zl*@bYntyrb!OicF4{gff{qiWb(KF?gm|!!ET8PPxORv%^*xV=eDolsTzvG`EEuWiJ zX-+r)SPNf4oREtrGNFqdU2a^nT?4kLHcmyS2*h`vB$T4V&5}2dtJ8Mo*sF7G=Xv$k z%hR)6gUBBVqn3Q=CWp32iJa{YC+{xh2{R#X(%r@x<@8?LP7ZioaD{G){Hwe}sY^bX z8;*&QozQzOlwK->NuM~eBsn@w!I(H^B^o=?Xebd@GD3?q%yB978#~L7GdvR$1|B-`wmU1$OJj#}dQu#* zF@|$*ijDocal=~R(eoxYcDWnNR2XOa`f1un|f6zRx(njFHTcp$i-`7*eIeC!&JeRRPtXH9w>m zTF6WFr;A=HtFSZ0;|JEOYD6196nMc#zl+So7%RI{-!Hckt;W*3%9RGP6Qd%Bq=_nVY$2-9!Jk@D^(14u$q1xd{J4U z^%#_{$(5l@kIuBS<1CT4#ig**1D*N6S@7n1wnQn-WJCr^zS*oy+l0v%UoyHAlCti#?)|qNfINb4S zEE@xq*MpCLuiPE6@OR4H{HrdS@!PcI+=iyra&|Kp|6ROmqgxmdYm6Ai(bFb6G2wU! zE*`S)jW^69(KF3PsnG1pSW>QcrqMuoT|vXyla(L0+1tz8#fH*lAzR||`Dnp`@w*^e z2mqOq@@ZMAYf)q3{)3y-TD$DF-5Mj5*PA3G7}xRguGq*0%pgs$$V^t?*J+Ee^W%NBwA42-0TW)o<&Lt zXB5ycSuTq>RP>Siqg8FTYXvC&Bj=DH0qULC^PgX=HFZoJd{F_=l91QRSd1K6`aB0U z=(Y{r*_w|u7AQ0a`imv0a4)z|Si-~C)1TiSj$gl?ttm)kMt?8=(Y%@2p%Hhc)ft4X zpM7j33sX!lyyi+Q6Lg7(Lrb$|BV`qGQ$b&S`n$#8Uv;rw8_Q^UYwh4+J5>c;b|dua zWIGJ+TkL~8b@h9(JD10lG1h0n#lr?SR{spwU2mjUXGOhUOayLq3_|5IU}Ro|6KhCG z5m_!2ajo~qEES8qvlknjw%gpK5kiG&Ji}p0__&(LTurVtbuH#SKpbNCO+L8B3)~E+RxITqx8%fTP$2l8o0Jf_EqjIr zL>o?#ygAuniC)_{`hEg4(Y0$cSobna;&09z%Uo+-g$TzFiLB?c&9Z5ifOA;ie386) z*=cm6QpjAZTN<8EHX=9JZ%{%oYon*kz*lEhE-N~72c+vd=VP4=K`0?t1Yq*LG{qn; z<`1o+&rC!}6m-S=ybcoMXre`fcmcK0QH8Lo5K-c-DxflixN%KPoKU>(tFWjaTUBVj zb()3{6)rI?w(zX)$qVpLLC>Jf$L}3lJv@3!|5fsbXtjY{?vuT_*PMP{b~Jo^(nAAh zWUuQS=p#`exyo+AL2{Su&BN*}b_K8B>!=Xf;(-r_ro$*ADijs6p0L?i8JbYnlDm#% zT-N61mW03HuM@f5KP0y=liY|Qe_n3!uk?4TyMpdW9G~h<&8a~LUB)lK^QtWD?pab^a<+_n+|iA@ZXURsp&96&j3F*H|yYcbU=;5aArO{g4JwxC5%}L z_-U8bYUa9{JmlGD**(&&vNWQnIJfx!jkMtW_UE-IO^dl>7=Pp~gS*G~ZqG-@WX;PyWa(GOT$LNJp^w9KZ_|XjbHzZy975)@NpeZ z!g`q@LF6JXZ*a%Y95 zBW@YMg6p)DJ_d~v6HMr^EdJ~oOwysbg_jr zA$<5Z0vyZI=%J$SfZii`Zv|O8O0xwBs?D#f+;r_3e!rG87tC3nm3sie$m?x>S9d@$ z{lJ%|Hzk&{W2@4Y08y1F08X*G{<0aM`RN)kFVwb#4djdUXoK;AM8(R!dV~Oh%yjljaxlH3PQqKz0wuo(-;s93$iC5CaHiYFpN%Gpp39F3 zo^@pkxyvQNLu$*_lg;_i4Gj*`-Y0l-ym|St%dQrUlD&k9T*iq3HS2)Tr3p^=2E$a{ z<5s?(Gq-&nk1tE(hl+aC0e8>h>wh?&UZ3d3UtAq2<4W~!hZo8N(M7e5Wqqp-E!`R; z2g=J2s5CS|c{(y~HY~DnEE_N{N#8tenFx-_)7mN0zp|AAac5Gu2W>3WHND?^u;Gyl zg`x*AMf4E+HkOoJjTm-lI=5&M(nFkW+T@O~3a6*n_m{Wt4twJ!4YH`@+KGp z9FDw!rotm1ob-nrWgG|kjq9Pu3X)Aj&wqt`&CozHz)KT;*AU$)Jgy7yQ?u|nOv0zy z+=_+cdXdPcS}4C=c+-TRDz&EK8ZQXHy4_~}lWY!lqv)YB0x_tR@=>|#a0M1yW!8e# zQd^;Exa`XX(Z%m3>vqole0H@77r3aO@>cLxVWu+=ZNC7?=IHVD6-vogDCzA-?wZ_w z@5pa;Tx)-#KUl1y)gzy?z0V=$wLO7wt#>ErYqvfvc&)1i4|KNoT92=ond_ly8!R%(5)7}ll9 z9o9gaZYPDVreASuYw$B53hjBZ8|zdGBbqI2xoh0D3g`fH;B_Y!Qyu#z$p$Z#e{vIs z-oQ%vvY5jA66R$&zW`9Rg*lX^@lMgB8OqSn*82H1Z;)0)ip_4|C^suQgO5Hb685F7 zF3Ony$LgvkV6I$K`-e9E=r6`l_=Qt}T z5uG1M&BT5-_gl)Sg1M8zW>$gHU{b-Hc?}dWWHCzkn@}d~G#;g*uC}!lT%|?*$W;>W zn{_>CpFHvGAc%U;^4AG&4CKFQPlo_Bd8-ClCUaWlvh_jJU7j4VL9Z+hwiX&R9;&>I zh_`$8BlF)LN3$Bai5Je9q`Dv(&)F7C`;|WJhh7x2=U8- z`xzZsXruwTWez|;ep`!cTvT~ldvUYqRu|Uq5#3Rs&VAkWEEjX1=;D#HrZPj9*x|Qb zrNFBfrq@5=gViKp8ARtw5Z{+T&JJO*?TtCuE1-nUrs=zIe`cIVAi-l3eBMqCYkKL- zW#5=}D&@+?1vWS`PJ~1MjP3DN^883~e~W?~wvQouUZsqSy8t}gX#_OpsT|Fn!biI> zHEvmFjIq-eV1cqUG9JIwAk;MBqmcqGbi~NsbOb5_CGOTusC=SD)6W7s?T8ygp!g?ok9=sjY`!?JI49M~FJ z3%Y#^=306H9g4r}3p73|u!7uoe}pZ)BL;xA!(&41*aiX1^aTvK-6dcn{~r$>Yfk^M zEGgZWeYBx0dvmmLrgP%B`Sa81%klNXddb!X?&Tiam`5JHzCmh#vSHiFxeNVYGMWm2 zTkp?)|9aUP&BjKR)7-ztUvfNs`~1i02I~7vK3|s~9X0;DY9Sr1bQj08t7A^+v>R=!&ptC^qvgNk zDQhL&Eb7Nxc)!it>a>gNR)GVBtF7xE;sh?&qKqE)o-76V1#2N1N);K1x;d0kG1O!z zGPf2$8Efh+xOm$#VJ7bhFma$4P~u{!lRM6i56z|Te4Kdq~ z5SCQS4)j-fkPNLmo(+&0cd1aC3Uk?k8}HZef6{R>B^Y4XvAYidB($Jf5Z6l%3?txc zh6P_o4`3I9;_OTnU6w{k1;UE4P!7qzo}T~2@gF~ae0skGq+#jP2;9gOb=%$7@QhL3 zs0C+}`~gkh_HTjsIENVU2ui2JZ`@R6#;Y>+oXlskub&>iz8pVZTk~OhLsd5Q^x9kV z0BhZftWL9^)w%Im*3cJ>H@6iJknm4##B}GupJ|F1$uZs=jus%i=dHjf%-be z;R8g!+Mr&6c4+<|QZEwLx?wy-GZ%2tcdL2 z&Y%xAIDq9o(L)nG?!4eT+jT>g#GsAV#~nA9C*qDQI%G~+N%jnuz3pX^k zYt^%nQxy$c{d=^as05=4m$j&T2sTjioK`Ii$Qka^qIu&q_kXJ&xJB~jgahL`6$13^ z`I84jp=4`;Fx9r9qaeu#vm}x?C#<2XKPWlQ+Zl8%iJsO*Q>yzakYX@uFT3>U^hE$H+L&}@zv$0hb zUFv778v_6F(w_|>IP{sTgkWcjt>uEz5Cy+_MP9S4Av78CLz;n;l#1?c-QG)kg}TZu zy4c^9xE}k&esQpFmJU2QCHZ*x^&dEH@L;O9eI7pnd&H8D^a1B3w<5V2XA_uz`WDnP zIF$L13ru~D<<%hb8&bw5`zvYHkpeDSCSzO;x?k#m%P#WS4a?i>wHKx;pq+Pwe?NgX z=HdP8AJ?dWm94DcHno6TE{^WE^JhTV??Hd<Ti*bWE^X_Z^dNPxqW#W&Y{ zTIANP4}5CUfQ?qWS|c}~OS?mKdUQAJnm|$*dVWk~uhk_aR&LQ8P~ZeHeu6Gpf4SE+ zb&47xi#cOLF^B#rJEBWCScM?~iy6F@ncH>PTr%*&%a@2vhv^0X2Y{Yr`%s_<}ucH?`em2ZPUEz))DdZP*Ew6{7yXS%=JZhBMzGC>0}6CYNiWQP(uz)MNQr+B8IZNFX` zV45HQ4P>y1$Czqs}8|-R(tYa(Y0haMt@io zU!kek^JTa%vhfY>+vIjd}`DxvVT5XrHm@8Ckufw}rm zS7%@#kOWdOFRe#kniCG`MmY zt5c0nX-+s!**j?M#)oV2^&G5w0h2@BChfH|Qzcx7o#aycr{{Pu-GpNM4dVseCJ7^V z8E2ju(xQ3eiD$;yxFicwl|4K_nkhH^-qVb_?t zr*NK_V#~8PG+3H1&SM!gIX`26t|Y>Cyh>msvp=PW9_v+VzF03|5iP>KTIh5pS<6jS!ShuuWFrY{5h;IZRTLxz*7UHn z)Nuw(WUH=l(?aM4<0g z1qmIJhbdeAam<_u$GC%^$-_!v`4p)sG1PQ_sGw!Sz?v4B_S-6VrZO7}c|xPGuv{<< zicZ8Zn%fT3U+aRFtv@cgDd9HvX(m*-szh9SGvMJcb^bc&R}t3oknQ*;BXaDB#cjZ4s2%}uOfw&8^b^+Hi>!DDy5PMyQ~ zZ?OgT(J6`+W=0ll;=A*REQab@7+Sr&g^n8bz=gq0bTyVfD(UH^BjxXlsk5YQZby%u zP8lAx=rL2&+@VLewEa#Q#xp^WxSzWr=#xl^{7OlOzzNoy}UfXzF%Gy=&R&eJ#LV=0CZe*tlH^mlGxZx0UbSwMFmHtGF9)CjPg{B zVd-6yUPVjHww>vbpy6uDEe%&i9*a;rEsvETZeM&47-cPbl?-AGuQE0=1)#(qLhVM0 zKiw_Xz&8!bqyfTCXy7ilj6>DHYPd9SXh+Au4&*MJ172aS+?rbKx*^7}Y4s_l< zj6;FrF1ed8)-?a?GMbNXf4qLXvd)?1DudNTmVg`I;=0X!S!d+YB_px=#AIP8>ke}- zqPn7fIFvvcq>5jD9F8lU`Y}t8F(2DC_-tgG`s0MhO_U}aC?Qzu0Es|$zm90ba<6`G zlgluHSY4NC9=N2xL5ZI4-=jn}31!Eg>Hy$;mlEQCtxghnNWjdd=VBC5t6lvqn8fh< z@ioLOnGRPa@rV&a6pyPD``QAt$fnykKL&G1-m8sGvFadR*bbo(T25xUj##WMr(P%W zwxWxdGmpT8)~qbN)@A8GE^okm$%MW2(n1Yz`wJ7u~pl`@Ghp4YlDl%~8HhZuA3@); zsA?~!235y3OesxeIjS8T5YI=Wrr9K;DWlmJB{sccBg|ON>V4sSi;Tcl^7U)P3~Opf z5Y~92AlhnPZqCV4s#`~JkuV+r>WC&kqIz7UvA`P_SzG@&|*lM)54nplxw_;rh zLJ^$s-&JoCoRTps{?AWOL4r_dkSH%c6t}X(Wgyl#2rc?Yg3zIdFD9ro4ctZpOBd;e z`=dvN5kgzb%g)5JXy|Z@FG`=U_k$Pe{kh8^9A|d zMW>Jp^NygIsl)%Z%ta^Nww!w(t>%SGxp3r(Jsj$sAL|kTlDz+-$Sz*k>7LV%Rvd#0 zp0V;xR~+m0>GMgt;usOnQT)*1qb}T2aWul4MUPu2G1x+MzZ>p!YyJ^~u$@6`a%NcZ zVQkG|=(p!GEJO5;*R{tqrvT*4?C=I^3Lp$xWX|Gbh8#KQU*G;X(Hs8yg4PoUrdOPT zS56H$Fa)O!e8!(b?ZvfuMUi@lb|}`admb?e17kFd3rj?_!~JW7ON*@9vZIGzmH6=T z=Vc}Qs08JwmOZl>Osc96_5HZfr$PyJ?6I>)XmO7g;+x%oL&M+23Bog_2jrW-y**$( z((AR3!U$(1V+Z0#Q6o-<3Dr`07TGdq!8A9PDeBf*h+zst!Y|K4{Ikn5Hi7=j#}CI3 zA1**iS$3e2TQ3}|tzp(zugv#I6Ut%cMV2JmjLq`B9fhUG%PD7#!jrL2AMd)(#r1{WQAG zcq2>+L&;R2=iKSEBul#$9b$w|i%;?FR^o@B3|9cnBh zfAhm(goQXJhWz;S>3Dkh_4xAgel;pxhEfaJQx7_9Tsuum*W7Th8zp8Yt;;rathM{fgsq~vFuVsi;J9EF4%&K@(P8~#zcvVR&Z?2d z4iu}=d~tApyBc_%!CX-T1K!?yHpaOp`=;EbhHnlzY={`>pa1pkGF5OB-zknfO!`84 zvkVWq1En%Q2#g?8UJf9dT0m|qp@ALii!6N^*45Ukop1g)&E+E0fS<0EDx~v0N)KWh zkcxW!}A>X`l+EjdR7r(61N5I?*SZc;Xqcu%> zjO5C2BG6`J;@7>*$%N{O2ks!#gje6A-TUT=%hn3bQwG;-?z-i{brzjbjtFJ9wAr!* zd}B%-#A0h87Y0&nTW^0J?oTZ>`sS6()&$+HgVj#?k`Av;huZyf#ejiuZ5_A@nz&sF z@yS8g>r&#XlH-iva!eG*jz{ZspE-WRa1TCxjF=gf?4tb$p7MbWNjA$^yKP$vtCkC9 z&l%s+snNHF_d$iR5J8bbmHTzI`8e_gtjtDL*}VW8_ig^D4ojY!P)$^(W_%X*{wznDC>Zq;xm7sL+hK?^&u zUp6nn9-`S=A0g0k!;s@;tp3m}^)?KP}0vM#v?U+ZiTj14*7c$}ARB*Hg@F z##n1O6((46ak|6$PL6tb`0YxU8~>5f(Y0i$R{e(qe%ub}Hpb-D~N%W_bI z{rhB zCsSd&`w8%7wR$l^rRAdL?^_{GznzYsp01UD{21?pl@_yotpZ&p;mxvMdel!2-gH_C zpLi(O?BPT6meR%umzIlq9BY;S!|AWr=eJ9& zH5E2g>ZC%>+xSP=wA`?TjyXiHm2P*fCVqh~rR#V9q$fCdV7&&*F$S_cy>f*d-UBT? z2MbJkuYFj3xI(4nqF%O+vq$!PIm!=Ja&&6>Bw%sK%Q320SQG1+EBf4khK7vNyIh8) zwWjVP^1~o#IbU=Z8Z9?0&4a23MqIHiBvFR|IOEx!e4=>Lbi_QED z%jB(c1rLnYzTckGs6ykCJz4f?hZro4j>Tk0d`??W8=I%q#T|;8nEmY1-H{r(4GKUB z6sTG234k18#%i@Q9`M^57=s--VE&i{|MZ*Lbb&p=><5i4+Nmett`gG5iS;M%3*LJ=+n0b35Uv^U!mw>%6+*s~l~ zXAU2L$(C=V!7%l(Y#$cOyze-+EGvvCn!J7sJYyR;%TiX~`1&o>sjvN(G){#=2jS6j zN%H`#R{uXdzq}kj|MKna>({5(=l9Q7HquQU3$V#`GNBeXtar+-6K`~7-Ih%*?xk9w zY>OL2nNVp_4iTn@j7mQ_-EuZs7T=|ltdt`o`NZkwd9o^?f-iK}&VszPQ>lO~m?WR; znJl@FdE<43LCX!BS1JMvdhA;ETnt)Qy)@!0%3)vjfqzhB z7ss14ZxG*m+<`C058vKie|i7o_4Tj!=T8^;*XHI*!p7#XIsiLs(Z@+*!1O%DL`^i5 zosj5mcz6&l7kzo;+KUfPdGcQtkl3f=`?rTn$ySqI*GG6blKf)czxuWacN_)ESUguk z$8)>7MAGjBZ97!;Mwqi)Dq%355{Lfy`#DcF%Z)$~dDoyL~%X3-xr z5ij)3c@M828e;GLB4Tgo5y5U|)OlEJp9Q)WJstX%XRWIah6}SyMMNwtbXyUb2wS#vMDlM01 z|6A)lly&*DEMR*m0j#ibVLEz+bxYV9%%v*p3LyAB?Xu3Dw?5lV4Whk$PB%F9M|FRxD37>jZnQSFWQ~@(EeDHQFyr1hMX9}D`pXC=f_2f1aV7Jhw^t3TD^Xy6+ z&B3Mw2>b!a!ZhkQPhlb@{JqB&YG1`o>vikp8K43+@E7tdzi6x#^Wq@zuhe}HPrtlh zhc@^}Fe21Hnf@4y;J~ijtvO8Ymwc3X0Gl&CUpk47R4p7l?5vt|bW9rxX(Q}eer9c2 zU=k|z%hOr2-{Q9p{>T5qj85MYlXFeJdgzn+AGo_>DNtUkF71cA(q$7r02!^nj9jE7 z@@u43Y@__gmv3)xug71$B7-?SoPNJNnVKj8=nsOo@2*=j@(kMJ!PH#&wK8UaG-nEb z1Y4rfbie!&C}B|WJ~2aClqfR|_U1KQqrs+Fy2%K01kCd~!jNmhzmqsoof2r#z)>zCPx37C{bN7Z~h$}L8|tMKHkIIufNu`{yh5MR7H9$Q5Tx?h+fxY z_!KF&Y7o|6>Zve#5T<&B4a$KYwb^E3LZao3wKr&SJ|Ys=mX&QnLWY8wGy7U#eIB&P zXixeB7}eUpHnr(^yB4Nt;Vx+LdXo~|I_)kF6IQ52%YfVVTOc2)9Xup9`XReID0#aU zwrMd8Y&Y(g(=Eg`!y0fVC0y2GbnTnE)iP<~nuVgw1H}{lBGu){`;;$nQ9mNQYr^Nd zg>RlMsN0imP08B1*St8b_|=T-RjaxV^Vv&S=Xi3?_Pp#n$WI~E!oD$ORI$0QI)!WX zXayI5;6-P`X)Z^X)L`2PvHc--njJ&`l5xXZm?1h}+n7i=wEV!Vz}^hO(D$eJZy(VNn4LV~6=uCX1w56|N%w_7`CD&*2C?P&1->(fa6ZU6H))v*-yv>J&Kg%P$8(uCC zAGHyxUmjAtJexL@HdYO1p~F6uPH^O-7x8yiQd^agt!LkSaanf6 zfBL`=;Njcp`0KCFAFq6aK8EKg9X5*7K95@w=pn>51BMAD>QF)u5AiS`AowvO9wsF(@^R_%a_cXddGFa2*iA&?4<*YgR?9 z(yFnGIAUuiEhy0CQTfYkP10#{otTyq9&nAg$rPz!Hd{F(z!2;yAM%HkyDN@DTV}>? z49jnZC+@2JuF0QvzQX(Gx6{-2x3^E18NZrE)%3c&DaWn+v~ri!P)WN>bmj2WcT=6b zSL51-Lv)U!g@$#2ta)jz`Ln4qhwHqYw~v}*!IfF(!ScM!Gp9y4lCvRa+xx583q9wC zrl}mvM6t+ni&M5?8s|hwQ$`7|g>fAXf&FfnAunr%h|v(Sn0DwXht&+3Xt92`_qXe6 zsJV|C@ri_3c0hZ#m)r^}qbr|McJf`@{Qx`mg`bfBrxI zQ>)FD$DlD-9&tol37&>ikB{7zq;KKq(E@GNL!rvX?6w6_b5J;~MdAo6+*m&5d0Yg& zFfK{&32bM99Vd|eorVWYybXR5|uD)-N(Rb-8LRn&)vdOt7uJ1cQ$63fS>M~G2lb;fR%7*;QXqCO|o zZB{vQEwbgZ*~)`6-bD0(WL1fECVO3CxfNdUW#&<+(ARq$W{E3;3gKDILotVY>1l6^ ziaFS_y%j=kMH0_6-1kZh;1pcENL=PKwys_ac!a~E5aL3hoOdaq?08pLWYiRrGk8`i@bSyPK<@4SpG0@@+_PtEn8n`HoJsaV)2DpkEbt5V96gpKYu@dKR#T$ z&_*x##p15M^=|V9-6FCxg_~Wv35&L#w%-^!?8wz2mYlZu!>nf`WVx?-{P^;8JUzS| ze}6hJzNz9D6`Av7uC-@vUXwl;43iZVO9?mfcEZ@~wM?wASNWmSwo3ouk1t=JUw^wI zzZ`#_Rp}QilQ~ctv&l;r-8_9=%dwYGm%wWiW zGbInYti*iCben`(VuRE{!7rhkPU;?_>v#peIjA%2@U-UvYEh#Rp{(**gEKvf-H2nq zA7B1_etCJik%F;Bf*A9*kGWl)Y$oxol=CcQ5C?4eZ2uAfd4OEP=H|GA8+tzSW=oTP zio%(?FuBtwY|vca~z> zcH6ACs+U{ujj&buVIwzgJ}E#sGG#xfr>AcZKwDhAJ6sdi33cKCOB9%|PL8dZO8z5L zDC{yI~?Tc4*qe{*?+v&s+Ktygr^r?=PR%O^@gzaGEQ6ZmvEs|5>?2IGUt`L2bZ zQwfI>;9~?Pl`c`kY1AKPFN_C2a62_-i8AJ=tc7^jtSN@@ehp*So?bsaod9oVqNH;w zaNjDbjm4FjUBxr=BS^`II?@y^7~N;)ym%->$4b(;9l)j)$||3AWX^z1xESu+UIa`n zylSUc^#E8w4l0G=5T-}K8=ZOL39zt;_+n%Xi+f{zc8?g}+U9oijCF*A`S8c$Zr`w`q^@mwB!*k0v2f$h&u&l!oxqJHGyo8Q$%vDJFkTFjqE zGN4yTY$fbTDpCu$Jw1M(bztwy@ch6u+5H1V!`|1WP0Ha8XG$goxD27C+oPJZ78BMRJaQsZRgiTNA2u|3Z6+bxTM6@n^X`~df2{7ExH zzceFs=_3S?)Qwh%H*Wf}B4)?j+KL%Mw}Hd}d8F&y7}$!(W@y6?bH)sbCmvRw@H=ec55Bh&W4WK#Ci;b65E}>?yzi0&a5z0 zkpkPXL~>CPuK4wjC(Kn|j3i)1dkhVZ<pLvY==Td!@dl@ ztV%EJRKDm@kCln~{p07;@wY2s5Z*BiQOA1Ghwr=l+~~yUNaP6zTT_x=HK>uqGVG;i ztQTUe9ofYX54$Q+4&w!TVt_t=K7M_AxgiwQkOj=?J?FGjV)n(REJA(h zV@i9AbIW$B+a3I}%_4=NDl7wi>Q8GBD*!v^b1GONtHMR2F!`XbOR5uFrHs+1=-@Wq zK-j9nu)^}bXKe0z#_7kNaT%y4YE@e(sz_8-fxzNct_**CJHY%u@b5Y+J^x$0;1&Eu z5sgQmb%jq&PT(7Cr#OKaY|dCA+Ps(xvG(}~4j2Jg6uW6QTcN2Uiy!AlOcvz%bb2_p zc>4M^D#{XB&gIKWgS<^DW$zs*0utH_>M7TdVrLx+g>_pfp%t2{FzoGH={m`fe*5_L zLaEv5YEmCnnI1(fFm+3}*3PS3jcp7!O94q^-@{Q{s&(%;WtOJax4KedNsGuo(QH|4 z6Mg*f_Jn#$TVc;%VK+OL$itLUnso(^zi<4)hHQNAg}!RXDEg7-$p5sXHYx4 zsM6$$+d(T_<(*ZH;MD#UNpXa!DlBQ5{pOL7562UTwrZpBiet-4eqfnma|?D8UoT>n z=%~UWsCCk&E+SXsfy){gVNj(1i1f`Z>vhtc9!EOCzn)&cJbeEC*Teha>3nF)Hz|&8 zEriUtT0!6i-oBPQk}$*SGW;2X?2F#cMDM{@ub_1htF*&cVuh|MfT4ZVAzKDz17Ucn z(V2$w9LB=dF}k#YlSgdR#S5?nv#?HOj zfBOu;#ns$KrI#i2xMEvnDeD_995Hka0QAHC?=PaPMHV-d?T&k`+E+27X2H@HO({QVpi>()E!`4R5Vq*Gd*~J-K9Z~os!>}Lwil7H( zG`v`1$pd;8Y)L3oFMFk4qz1N@iM)5{e08`2FdCqg-%tmW3c+k^TtZzHtk0VpR36_> zx7OGx$!Z)hkBQs=ajAEPhY4cFTvoK?Z<$^;M# zynyq=@vlFhpT0jleR}4o?sAQkEopON@i78B+j~r5GNs8$vE3Ns;r#mjz%oiK*9n_4 zmp%C5!_=5aD64|gPhe#odOH4glLf*XX!6xjuGIsNvj4$pTgBdCm9BoNGK@LQQwZ_& zJY>O=+a|f{6Wmzcm1{FhVq!!!>w%)tdvR@-XQ9I44k;>-lr6QQHOeTxr7gNhc&dW4 zBXkyE2J`sm)A2t%KmGFYk1rpdPQcz>yZid-!UK29xlDK8Mc%WCQ~>KKgW4l)va~oh zI4?>WhLs|6_kGi$jCY^sD1Lo@eI@7n?HM{CqP`pg(e>$ohw#X|fbEL6+q7yL?{35_ zpjCTYV`1dZPHB-6&|&pj4S$5Uiel3_DTWf16u(g>@N&}wD5^Nu9)KW^mhm%Gx)8xk zEyF+{%ICnC>@CmrLwj4^Zfx?;F$CW3+sCKl>%)hqsbur`>FM|1uU#N%^9?bauShV-iKpsf zqcO+!N^JdII@xgnITW`!Hm%}ikM++AgB47{c>XxaA&f9smwlyEa{(JRhY_3%oW+Jw zIG8r&xn*zs!wQF0aCrhf^3pp>Bd>k{N$5=<=!(4Bnmetnz`I!#w=jpBqw}_O=ybZ< zX^LI&kjz)qjs~FBHU`KYKBuAc^6>hgXAA0I`lyxS6fip?C9`$o|2P z9mcMnl4D6-LVJJCA>rU(O00Jonh!Gn4hPtxpV0x#z`reSw0j ziTt8}T2XZRBrLx;VP8}dgB*-8*Lb>bFMoac`uq{)pldHccZ%s?RUvM20e?JVQKq~A z`q~HURE`Kb2*e{h&4E3*yAWFiU}>k~G~M2h$M;*3Fby?uJp9*7L9^}0@RkIkImd%C zKaGlR2epc8HU@SqySU$=`5ZU~LKZ;o_jrr#DWmsAaAxhg|71g09%cH8oTfXttfq|X z;)f+{SP|TATR<4C!a!MzRKR*zLEf?X{VxV;T@$~V&ct-_Xb&%I0Z~a0TFJWEF+zpq zP<&7Y6mCsY>=0C9CRqTAg6prgTy$6Ce$|qs7`3bzxiRMSkD=NeQ1yr9 z;H|n06&z&K22z09^M*&y3W-$+L(qoQ7hdJ%_<;=O^;>Vs2#UbyrCrWETEHjQyoExa zLrkGR+giWXFoRBl=66osHTn07pI_eow}+3PpFSU7p5L!)F~<$2zFqJ4D!3TtYIJmH zU&OdB5-hP+aCaP++i&&Si3x7WWOKAo-~es2h)gpyVi{oDXZi^L4{OtAiW z>GATyr5~e;|Lf5&1C_8Gz4%<1fqwr(!=y_`c;PzS)w)$HJk*r&T;&|QOdCAcr;G`T zZZgTD%TKgXY2|0T4w{gf=0vWp&GE^c8^pD)N%5A^=7P$brLZX4$U{cTy13b}Y zEO<|<0aKG+A7`&i`AQzR#A?(pY*t~I75RzoMKhtEjZlv}!=`+T7lCGLa*kZKf)Lnx z|K~PWZC|L*vf5B_y-9Z;U6GYUyV-DIX)o-z z%#~To&$d*zw7%8M5OsQkN&}gR3d3H?nllQM6)CV~R9Y}9`UO?E&&SV4_Q2iZ56SD`xv~?*Y$hcDFSFWURVBm+V^nzSgWpdN z07PCGcCA$(`FkGgsw)m5Yv^WK_~_R@e6*F)Fg)gzQ5DqduIgsup#j`jRfioqHTV%m ztB{uoU5s1t`2PGt*Z;%m?d|s)-at{gOC_Mrh?46E2$K(}9eAD-DBx#Stc;70VQz@6 z=(!Jr)S`lGDolWmJ%HSK75H>@0m}-!tQ8>a+=T>^nhh$sG3?w^@3YnqN4S>I-|wO0 zgx)F)d~OIqIsN+AKaQ`@-;NDMu=@t^SJlDS6&qxEN297NH$GkZ7b+uLo1RM(&#M{;Wh7Uu$@St+$khKcWEO1RE^ zhc?d4&`Z}E$sLMK_<=fx906BAe1j*RJAN7V4nqtFrqUKiY-+c*#SwJ!g$%xGB1OJD z)@_QYT(E6&LR`Hc4hDe(}Rab2RpaZ^v(cyg$6Wz5e$3?T`2CH3^*)cqZpvlbSF) zVjNw4$pKwEyYT~dS~*r5NdxC_bz;I~6$X+_w_>v1KR>;EIo^hD9b%!1Zk1Scc4H`R zVOSLsV);^sV>ydBR5MnuRcLxFx>j1H4^4U%%;6(ASSsi2E0VH@8|rW>8>Y(-FkjqH zhcS;=Sq&))B}vujzOCTyfz(`TpnKz zbC;%ffJL3sA1IzlBR2(7vjJx9vSK>nu_7IGX(h?bX9op+0}B6~1}m(xc?0D54k6Dv zJv`qYZgBvV0^0U~!I*VyHB@XXCCU@F)s#Ip9Vc{F5u?+iPva8x@%eFQ|4uZ`f$ad zLUyLbXi8LsL1?JgiBH0bIpr@w--&mktg_WYU7GkW_)RZ^!>e}5EKP}dPw~$x;g}Gh zWBukq#O@R5I(u;1bg)XD#XX~hzD~X>VVV;2n&O{T!t+(SrUZ|{6;M{EKDo36e?|$j zw*tcnZB{fo%J^H9z&tWUU!V4w3l$hN$IT_%2Mu9t&g-$ES#iRp6^$N1VccV>(bDnd z`S`yq*bs8HfzvcV!k>6BTG}6om#{b2Rt?kyneh~YVtbq_sz@JjHcqHr?}V#Dtrd-C zKtF@MELTQ2G@qH}3MwEtyQYb*8vO!_)DGLUtV($h_XB$wXWSydTSGM?R}DhbAWr5L z1{YI^Cwzp50@xQlcG7yZ*F`L-Y&Cp=pb zHG{wNGoS`GdcR!=MxhdCM0=frkeOIfn(w+a zBxnahg~w35?t)Z1-Z?gQs`R$`<~Vb#;2A%^ zetP-}x~JEVw>A=b$c@~&uU4FqbXcuk3wXOUh4hF=o(YMO;utuw3e7X?c0QMYesMNg58;EGksI-g3dnjOdly3 z3sbkLI&h^FMXgJH2dQ0Trx9yahvt&Y9BRWNJiosm|JOf`pC3NIeK?*j5*_g2P~xv@ zkuuimDtV!wp)GVNf{Z5GNUtF#b;lE{;fLOVJm|%0cTh71+x&8wz+D#C`upkW_2K31 z?d!E_b~i_!+d1oa+_o9A)UYU?g|pkZxkmf$SctbG_%DY71~-&_xL$`RqZ!v^GXe9V zS_rcb2G*1X$HdWr9l!kKT)Q}C(}lA8FIarA)n#mc!N8$?d3*i#^nQGO`-R@Y>C@BG z>$PC0$JK%N^5hlHzUhO+MjaV)E?9EhQH^z@ec2$pctO&Llw~Ev6$6>Gb;ZBG((C<3 zZ}{a3W76u3+h=f0Y5?+1S+?kB9a7^G$34LYmCkRSYB({V52R?ZGuG{daVw&~Ki_`) z`0458_~nUbBCgs|MgLb7SYN;d?D7rWh|KIuCtY= zw~xPneIw%|HKfax_;IKM6^p(nasq_}EQYV_23U(hhO4(KO${ib-OOYeY%W>)Pqjb7 zycL};;Bg@vBd$D~>mJ^}{&Bj3?b5=J?C6_LW?0&0D(^k!A$rkk5oFySzskHmm8G{$ zdL2yTw}J%u<@bm0Om*|+GWDgXkn~6#MHA%=ECKv69MLg`CE4v(Duh*=7l2)DI!3K8 z;QyoUU3=t8k}JW#63~3v1+qf^cE2Bk$zWxQ`Jf_`MRC71G_6%*2kJ#jv%i1*n3+HC zjYn1&u)8S?x`tIG&HTFC^Vl&V-3qo3=)nF&;NI8AeGoLtz2pqX6-EF{ zWMNYfL|0$+1Q=8`^-Evt;*40Rwt`)H!se3F56IYm#JKcz2iCM8c9L3{7$dpw6dnml z5*BwiRsdjX(HdXzE^6L>JYkBgFl_;lF;z_QH$8v#CJ|sVyfGmFz(IB*>H7c75*rEXO zK)D>&Y<+=k4boUGA`Qd|J2O@2Xx+ivap$fL*3k8hJ*bhZq@aJ@bYM`mB)x%eaK3NXiB)>yRNSAg#=9csu|~iMHYa>wXJ}%YbH(<2 z_QSvmyDlNu3fYTH?-yzE+xzkH>2Uv=jsMjrJVWXh)eSbSG+21ksK*sr)+2FvzrC=c zK{WlZ^8FWHt>AiEmDO}azCsshVI+9yry~f@)wYw&;}O!rjI?ll?}Ka3i)jt)aQlTl z*tiuXfE8w~;QGlF^j#x3a(+9!J#Z8M5+;!Rr0MK`ewM(z+Pdp?a%1n{>xUbrT|H*O zd_;|+)55?^yNtmmeF8VZbVvnTRG8>7K1dBy!=Nq?!)K{%c@sMlVd;3^w6_rzpcX@5 z(iX%9I?S1XS#g(;4&sYlpUz`Sg}@YFUQeHQKaNjN-yUBcFAVtMDG(%wWN?&7#tx9S zTFsfL^@r-G&#xzSMJ-DOl|{{AG#v4IKFhk|i2GEY9x^tnoF1>yVo2jv+kQ19UP7wt z3FmrZegk#MYgRkI;wpYxgt2p-#2EVT+S8C%T)gly(BR8fOZ4$WDA4LlRQTkJ`^q9G zGHpytO*hC#=Sm<=-PbM=OWfd4tCwt6jKZWt@x;rF1i>@-^7!_!LnQrhJpH`-3Pu`m z8nZ!Ix@;?vO0z5gx#B01r??GoPg^P!SKL=p{=m<0hOFnd&#;9L+|ohZu~+Jh4%w~! zKtbzpp}y`}gU}DzgDI@m<=k9a^pzzb2PFA;ee6Oa%_?lH8{JYtxVC~<=U#*7h=_MX zTvlS-he8WQ^cli1f7b$2lidP_>f2qCut;r$7CDBSXVtB6ZDH^HR3HMZ<)6Plz8tsIh)2JF)U zsn^%fz_Z+x;;51DfCzhPr(mYbKzz;dkqIj0r`nZ5d1bRUqYn_vx^zEmS%rTqs}L`% z@Db^e8k{Q*y@>Q=ka9koFJF5I$uQ}Y*(i^0`2}I#3cfE+09d5C)AV%s_3+E#>HhU_ z3*p3&Amc}e{Xai`~Lu+n;Whm^^x?7K{v#x6i*H-XDn-7TrtUyT&P`bZiY`Xbka79)K z(d5Ts+sKi#M}>87?X=l^+LY#-Z}(cS!8gLR6@0%bxPlFyA3uM7I_`2@dYQA60KOw# z8zS7cQ^e13v{cv@!{Q?dnLBJI&8_7Sh40=UmWqYEZCCbl+%BE+Pz(xlnWi> zF05kCG+IE4yZ@kVk|r?>e=LP9j6)PPT9`nvpimL`GcTS^ z66s_IgsJn`5_nBb3^f9?`09jduPP}a?lzx)QzBmil1T>aclWUNI|VmA|dUYlS$o1W>qEM^bJCMYM?y+9PPo3pR5Z z1)Klq5$I@hv>ZDuex#tm4-QrgPtqHPClv+a|F;y_>gH`KAWk>xc_`@rZ3Q;i?za>W zmaP!`iZq&Hkcs-iySHzc=y>}_3`pEyNa-&mV2xRNlQe;YzTXAQA-}iQV>+}!*m*iM zu0S3687MQBhe!wUy|G_eQ76^E9ZuhJ;&Ou@=(&<2twwGGx-*~#G-v3?ECHzRj%r;q zN2;5^Clokr&{bKX+sc-?_hD$qM2zPicgB}?%q5nUh6OUjjZwn}Gmp~HTsd`ub1>&~ zfZq>pTh6sMp08f-@3KO*6))^uFI6J|CXnE<0jr==D*Mb?y>2QR7R| zYH$yxyb!yow|tS&sYfMo)L@fp$O_+9NOoSy3KROl%|%7T%RwlYBRB@#Eck#nay6No z-+*67LopWdCzLvby1PG~Xejq4NYl838}; zIrFu>0$eZ=x~-7j2&_SfU9(Mjp)gb@f5$w!*N~x3cWMy&r!&Udtb=2kSE#n)%F!y=8^40$p;M?6Xk& zX>q8dAY$>OujNlLB)|NGg=j0JG@~l%4V-?yy&s--82dT=dXZv6nlZj^+~5L4<4Ri9 zPrNcEAp_;2YLs}$o+$}lRUoi2uGfs;flzLRrJo_I^WEQ`j)%9yOWXZ(^-E~g!E>Pj z;1QNXq1B9TD*f#M!s(ec6;+^>Im$jwZD?VO7X53c8j!kWRshGxTceur$uMURe*!xe z5nt}`l_eVWVF6!ugFawd6vF~rh4o@we1zME?D3~f!8B6JTZZhhdT;Mz zH(L_Km~PDQrKz?>@{2oOu8;eK9Nu4a$Rp!D6@#z@jxB0flXr3!nqZO-M;lP=Vbj?NZnRd$tObtX#PrCfQ_ucj`?S;N@tGK1c9~ONnqR%K}i2m*S z({;KP{8=LbDfTusWWjuGh&Ph58q7BspSms>jk~$^I#V#-^fri{vCwWs)fXkm8RG$* zj-Pj*PLH2&a%4SgArMEzeCD?*bm(OinEm41ezBbqm01C`@&O84ygLQh9SiGLRAyqV z5+fwzN<2n+EhT90mPXQRCu2(I^Ia4F3H7Mf?X_d3t^!JR4%(J4_by2$yejQK?=~h;tUoMVj zFjf)#c6fZ+-G6_7{qp51tHjd5<1izTXiMN`Fr5{MMS-|re#+Mybw7q5@Ya~j zl0^Q&1Qj3fMgx=gPhj}?{(SWt45L0+1*ABhHgT&sfw~;Mh=5qgIgL@OddY)4g|sSA zD;kdIuNNt@6h(&AOt4MQk54}i-@oRkz*MB?^~g3wGvu58aDsGT_6SZvZ58VL9Zf0l z+=I`d_}-~HNUyP+f?o8-*wVbEGOIz)melCiDG-@3CCJ}j-j45A%j^#P)ow6K2}9hK zW(A4xckYNrK&I0uCL#;wSg?MK@ ztR^Uny4x5Hu_$3I^-74BItPuhbj;}&hV6ymHc_ZK`Z#t6}`k#3r8toEVPBH z*v*L?VMzBS&~`)XBeEK4!{Is#Nm4%o1eEKQ;w)d|uR}|>G$c_#_!d-B|Vjjn$S_0>2QQQ26 zTI(tCNcV=LhNi1=ASX;*(e%mk->m^>`zF#JySoj3OpUU$R4lyC>3&C^rzqA_LzXGY z!u-Zb1M$@3JZqF-`y2M896n>)$PJNFC%;YIMA=k1^=-qKbr##Y8&iHz7jVQBbfg0MT`+{zkU+`I$czH33n2*+WjXCd8MO{V)&{S5{cp%h!*W~gwX zwujOtr1=PKRIdhObX1#%>}DP2@UQyox09?JRB}2iRzx^&+_n zCak}Q-N5vVB)Tu6_qg?Z`Dv&uxt*l^mznZ;uC+*yJ_1Ux>CC1_JPZ!#P%RDMxY54G zLKttu?O8^wG?(qx0AwdjTUmpt)@u>4yq$JvV_Ybg>d;4Vh(ooeiV@2`?I{M^9MPKx z;248X=>HXY61GgEZ7>jds0-#toUrScbdVRr>jJs??w8&3ea<)!r|a~{eOiD#v!Ync zilI8BLNOE>i&oFn2QIZwyq9$M?SRY?6;e@QcErC=g>I(L(n8#t6r524OS^4O`%_o> z4J8;_wV&+PzR;YF6(#&1t%OQ9e1~vH1NPl?=#rL8Dy*v4PUyCx3v=mco+J3c(hFvr zJGb-#qn~P#oM6HHhHfiHG;houAdNLA*tkc+wH1MG9t;s}T&@kwOHCUQzuVaDIZOzt z?tPypv7D_e$=-$q)LPY+YD?HsGj#LIWa64H&za(hd!qA-EtTfM{VffUF{q}8V9zYQ zrpaQ~z@;2iJKwo1>sf)>lmb_}tR1nCZK2pTl`8PtXn^cu2i!-)97C;#tkJtXyRjP` za0awEY)A6>3fTs&23HNN>F@$7$As#Bfy!>TlaSI|FX`3mBXeUE7gWoO6p z;p^k|Sb84J&3SzT2CnvXlvv1Myim71#RySMeu3Q<6$#^;-9-jHO>qIA5uf;{0R!z<7rX3_6e)XqCzvO!CusM~rZ+wgCbi4+E_U&NRlG#$P1K z#R11*!$K)(6>|9>ho8ISzq}t`-Y#DwGo|!Eu%vL;jj0U#AM+hjC8zf$cpy4Ib z4h&{(2`BA@qf3<3bcuj1?Xx#FM8dQc2XOvJFHtl8NM=xwFUEi6gZUB#G{9-Y#I!#& zZjkQc5~+2wL%6oGmqr%{+_bnrDC5pm{ONQXRx{W6oSwFGVoZf=lGm3Y-Pdc z`EBfsdpn$dJ-)o(;JAA82_&iS%Askd=P^s6Cj>8Nw*6gH5y-Y4|)JSFAAPIc_#NvXUlWc2oNixu{w670on6U-ev_P-}rVa#cMs zcmMEw{8^ZtUiRmEV-3qre>4@N`xQIWt+#i9b{W%9nS$@?3<)CYtic8|kD^Y~N`q81 z*doflRRgb;9%|7*@fy&L6y(7~Zwa%Bc@*Btfl5$lwFm-ZkrKmCQKC~!`g_8!6_cB1 zvJkiN`ehk}zMQ;_D?`DQ(-y$5;ERS6NYG{{MBHs_A_|)nI&WlOF^+fy$S)jQG4=bq zDS*Hmxqtob@#WVXJpA%@`0*3*^X0c-#%Xi_Y3gLnie%RsTWH#{tw*%qp)jeMHQ?_n z1ZSAb;`l*$wqlB_7}Sy%=H%t-TTbWS@@ln9zIB1^|Jk=}SH2ezuC@Ianyt9>8DuS_ zRJz*TFFO=ft|h@;UCt0;WUHjC?h#iaJQ2j$eZP&#IIiZZ4SVD!_B_%-yzkQY1ZYAR ze39?ppMM-c^vbj_XW|FJL3LncPb-Y>K$s=oKus!GA05911D3qKcC9FyEeVn^ZB|VI zq%!?AVs|DyTX6|fDnLl6uZQQy!`I`>Z91g>BVfKmFW6=b9qg^vGI%2+lxDxJLFS# z#U=stK4C}z4?rb5^43y1AA6s{;x9$~<&O~G z;^0FT-^}9k!9o0-g(Vi>)9wKm+X7w9^I12GFYH=zwKtKLCwv2d?(O1mE0z^YsQ}Zh z)Nr}eEIANcWHT$pE+qh=BU-l@!Yj%4`&l-w~TJlDV5N;X>S*Ffjgq<$XnuK4}~fZ zF#EsQJT^CJgtjWJ*3eRL`Vj@>s6c6;C{O0-G=?d%tKw76pRHZ?%jMr|D&DLc@iMt2MKPp92pIkpQmwxgYba(}d266PQ3S%;5)04MUhzR71P z*+#4T_3-&hW?WqEC4lZD4+WeR+GAAw?>(Y@dHrhL%*eUD!GDBqnyvUT6)MTj+nYFNuD^M2)M@ z*E1Kp8%Fv{USmhKNP|!`@EeE!`tbOA`R>#C(<+EkX$M&kuYy>*^LM`HmNm8X`9tNj zzBS0APJH|`i`cp2FV5608#n*Q?(^yJ+xNHgrl(x}-r9q|R1ZsYv+zt(PQvS&RO%dG zyS?sgPxAI-H@|q-kcPw8v^($1>G%__YWMPwpI*Ped_JRu5hZkW0NOC`B2Wgh*%2@U zB=}Vi?WsP2;!aM^P}*4YH*Y?JEyzcS@%{D02+WHHNzY`4b-~xnVWsJR3BZ_N z?Oxn8|9HUwuF8$uUHe#E@w6R|Z!P%0pAKJXP>b-pmmUQ<8~lX)jPS4`m@o6*n)cs= zEWA<@P+%?7Ry?s@&ynrkR?S){t+L>AeofC{_i}iD#5!^&W4{>FwURaF8BBWw>vH+H(Tt!lEu_?>0P%IOV7Q&Xv@)iumG-D`_CM`-N<2tyebXrp>gz! zD#X*&;ds4p@YF2sxX)bZ2fatHyC4b`ubWc^tFZm2#y^hn(sl@<%h7s@%Z%V`{}~T%UjL2hAxF-;!8y_vY>h4({`N0b{KIZ5?b+p;k z@yHG!XH~1alYB?(&;BYEN87W;Q*44=j>o6Z43@r_#F z1Er*fX}r%5GB&!B#QPBAFg09v8HE*OC>5U@r!)+`=esYDr?>ap@-W}ItdfV>J`c0C z2xL9W4-&c@Y6R0Pem;7Noc%2RnM5oVha2OD%#v+`7V&b__bC-uP|Efyl51!mUb=w~RIQq~dDE@bG z)0co5eSCR3WCwP9{`Pn}Ug#AQLj&Ay=L=AF2lCjk8g^dL%|4h`tCT7@+GMYdMPIpUCqDb zHDC$3_a2kaRnoE=u@|(Ykb`?ujCd91DnKsA*qOG!)^61`Uoeucn8gy*gCFy>{>O4f zC?HLAmiX73q(WUd3Cgka#^DQXRYG5VE&coP<>mPHR#|&4i4VFJ`pa;CK&I1}Y*#C~ zMgDjfO`svZhBs#9`nLQVSR0|ON@i{bjJ4de$$LQN+i&rrStLd4Ct3IjeVMGw*tpQ&ab8@F~qut z9}9C8771-QgZtOh%MXmwU-t!JjOU2X*_Z-Em~vo($SNVjt7)QHLe)`9NbVnadS_) zizBL$v=Fas`uPp&?BU5R>GD%9?s(}YK!GUl=<{X_IA-Eh>HOx$OG~2a$%-G_q)VE{ z>q+`lr0-c^@m>O%(o^=r^qOUma$5-v{s(-5qJ*VwM#z*z36Fd@HNGT`g=0Lv;q$-6 z2I$rxh=gPx^RhaJ(&PR(qhE?I9%4HL2#9c>zkhvvdOyC(n)HizsBzgMC`z8TjEFs2 zQJ^K@F(VPF=6}Xsf-0A|;|*G5*rSnYB5S}t7aF9Q)fxY)o20q&kV8d3F_xY30^tsu zYjMexje^ls$Q}P+p!Bg`#c%^|EL@N8!!Kl_A`v!>94}0WUO5-vgr>0vQ`>t_nXw zk3BO<)KCJQRSYjp(gQY{LU4Q4<@M1Smfm%HTm*ZZ1C*XBpQRUPY|U6luLP3G*Nv2y zLebFIgh1hGJG!$p7AA=Bzqo#q z0V==)lAjJwP(t*%Rf!zBfeJQ-K?&6oOilIHJD`UF{s5A_85qsOh}!^IzjU>BdC8$@ zu~n5m{C0RkP5Q%12t$7M&E7OEz}s51@Tq)?V6DasV!P-1LoFGvV$op>YSUe(hr{X9 z>*-b`1aj-A3E2fyiFSs*+vJwnn^`{f?ufPsf}q zUvUc&xqfjAiIT|Lpjl1la=nz@vNe9)VFF{}>RIc3Tyy<ohp1?!JK8{PFEt$rq#Y zo$$y#@S2-p9b4VL*6WN3*aW0o!43m0xJ7!#3~f^vdf}>~+;2>CK7$%SEW(3O7LhW%R#7(E+!IZjsyQ zlg;G|(m}j4hHRR5*2L|^^P%A^S&v+vfuf3Fy`|nbGxcCWl$?D8)q2;8G)(Wm=I~5g z+?QS$sz8G~MRXAR)9cTt>vQSEbcXTJA|b~WC_8e6E6m-!MJU1|y2G*V*v!&%NWHnI z!>SGOT@l|;Zx?p@?YJX^!ROc0>-)n+f)8og^t1Ik|3ORT|>2w9@tGORh`}s}+DOkKLN<@g01ZrU4f8 zE`|V)jU*r}+@)XhlVBV3is{S?VO5HKyS4I@d^wz+;fkLRr?1EN8>l1u%~Rv5ZZ)UL zfMig;4!2^ji6xPLw58cNZ&!;huu^43jqHW7D#g^7tU1Bdms{P%eukdfK%0&sBXCse zMDQ03N*5QbogbErcqSd4w}guET)SW`E_m1$R12jW8#>sKZg1!?tcvR@zC;pJof$sC zuACgvWZY3rJ11QcoU~Oq0F7{mOzL-4a*kuH<~)gh*cu5_RZ2Y}a-}Kxpc-T&#wIfQ zmie#kY8B&6lF#Ato!_U_oI+x!;Ee9{C|n1C?AHI1--0k!rKQJwWFx1k2fL%6FTA~J z_usJY?1khmJ5%1WB7gbUKi^ftcHia8i!6;eV~wPEoxMp8F!rkFxA9c93(?I;c66&$ z7b&qh63!|IzY8UFO_z}(e8-I0*<~Y!Pkh+810FAgQ-(8xWq!woCf328m(Pt@w5yo- zt;m(Tv<<(B?$Oc?U&)M)7q%*AWWZ9Fc!-eZu^=ZdQUCFPoSYE|^RRPD3kY@@?IOCIzFmRvIlRM{~56T0EiY0+|)%5Vg%#lyhE~s+{$9{02Fy(|4zAgmO&B zL%KKfM`E{Fr<;8|qMf4j9n=?@T59jtmR+WYK8^ZHM-L>mK zOYXqyVWe*iqGR;Fo8)xc8TOQjZKyN%PJdARB;pH)1lK4v?TA&V}8@s`>lbza`a2ONA+<_z}jV+5%5Av+s_J0@3I{pD zOO?-{yD~U*!o6RP&*;QVZ)`wNlXSOUc3Eaa8TcPSz+j@rirI<|GPqCJQ@=EQREf~? zyXY#U93%)SmGevNEM>_Sao^9%uK5V8^s-TOj#Rl)+mfRPSp?5-6}O|gqL_m$1jRWJ zYh695Qn_Ib6I*y;q{?!qzguogAu(7`ugdMR`&-u*Aa_4OU7FW9bZ@l=^hUUYNN1F_Xxrp{A&!6bj3kSC|zQpik1kz>Q0A*DaV}h1|PfK z0b(9QaIQ~KNPNj}U4LC_^NYBbua(CG0^%;Cb&>GUYAc`zX;zDf!Ct#xx?y|d^wjrK z-A`GHZu(e(O{DNorQkZ(S{c}$kB85%Kd$WZrBk9ruxb#p@oMOSWwqXC;lmI4zuBjb zau8%{=(@)h040B;q2kOoQh2AZU#Ce=wFN}@zkWZSPLJ1iH);nWR;;#k) z;94O+Y8v|-S+#LC8tBijc!PLqCdDK9rLY{9KA$Swzu%AdUvHMa-F_T=C6JrW9^>RJ zyTwE*8Y)#zpjojsPWj%?l)wAKD@u*x(NMt;kCLVe0HN1xl!FL=r9FPgeR2Du?!XqG?HcnpI-w?MH zkkPO8@q;D^gF9zc@F`6NoUDTNZBnwRQ0mFOud3(&8KdxTyXW^?K0*4B270-6gHlHZ zB6yP}JJr5fM;erxvg)2LnBVgS^zgRXZeRAc+4hwPC(E5IL%2h=IhcEFE{p$xtY%PQ z?^L@Mk*jBFtCXz#YKX+UQc4a}1%cp=UNd}qN9B;q$YBI&@&_9(b0^(d%?A~=bk`T` zbPKG2c9AyAH-d`%51f+paI4ago16h@AU-!PlijBm@bvg{|N8W@yFcx(FEGIa=v*)H zBrJt=c3CkO7t+Ik^ws$OGd`y!`cV|Ml;?FMmZ1{I7rd z@0YpXm$9z1pwHma-5DiPdC3}m|GhEI?r3JA4Z!zTamyNXzfN$4l`54j^eqNLuJ?R6 zy+6L}F0E>$k6`X<_n0uOAQo}zocP*R5>&7Z`<$pX+aHAcaeBL?Kr~})K?<-dR%HXO z5nJTAKiw7_?obBWdeOEF#aq?C21T7-ehVN^JgML?=l=_%3i+aJ8dl2?%Fsh7DGAoLV;GruP!~LT;o!`7KOjYE zaX)gwtc4vyPl=}8dJ(G^J}b}>3|er=erYO_@B~heONilH8aWMGTMtV3HZV)#6S|9d z%x8Dc$1ZkgmGM3gmPlH-t*|`3Nlrx`{AJ(Ysmq?4NaqDFsZ?(|S!g%Ir6Z=)O`_qkg z*03AfV0A&;aqWqP1`Fig-HorShr4%+D)R*m`t9xDA4e~=QR~>5Lz>nSqh^Jt9aJ{F zttaXj-lM~+tEILUdwSu;Qn*A_ha8OtwbH?ywLN&gDhyj>QgXCil~tHPVi;ATrY>}i z3aE}2{W~5;QqJgAQ`h)@X&t{_A;wZ(@c*XN+bEbAG`R8(;cxtb^G9Ldz>m(x& z)yBoURZ(b|7;GA zx<{&M(0nFGq(`xAp!S3&i~MA>M^;AupAX-N)C=38TwyeUErFC@EyPnm! z@U9iTYj9Z5p9~vIYyz!Yz&w89bMdO32JG~XNWH8{)`7@dUU81b0&B5`k8Qtdq0G`g zj2Wg1vvu;9q6{MgpByYu(I|&n9e6J=j;0JtrtF_B#d^3?`JuWTO2^88lr%TD!?5E= z)G)(BVtLo>r@@HX)S#Z9n~l>MY(cG902?e81B}$!+GCfBu-RaA_>_%{_zF*T7YX=6 z&e8*#XEkC9o@&58uB;Q53$8~dg+EKDsD_VGa2;pOs?~s;-5EV#fshB=x_#IU%f>K! zo{&dlU~dUIr0VzI`i0kTyVNr<*K|L0D_i9JW071>lIvR~Z$y?Gl0Rf4=eH!ci!=Gn zRx1+_iILlDsib#CAgq3vXpn}z)xG>&ZWIbF6Z$F_wLX9^$ua7APYm7& z)6?&Gun1aOQ`bu_1V>b?STI3NlRVjVxd_jtN|r|3XQZ|(+O8k13;{jn$}R;Jsw-C4^EaY{?Q?`E zw26c9jOQIP?h)n6B`We5$RLbR-8re|&<+#6cX;j^nG5C%D}#!O$uQ1Fbw3nWF|8moi4p&{}c8w;;R0G!D zy8XEJmRBwVB64jcl2|{Pk~t{?GraQw+9&SIVD= zNC*Tq#U3Ryy<}SXNgY6+Gm6gLqHKbrk7J-fa*ur2a`b}NDj0;~2CN1h0CoK?OU!@R z9Yg!tFwd0E1ez75oXzBv(xuqpZJ1_cHOq+t(KO#f5(`obSXPrakDgg?;7p3Vp@fyR<~Pk_KAfd%cb5^QIi!{;|7e%#&LVvs~ykCo~ZcF z+fnlG*kdnqla!NRJ+>ez`JEdGkX{I~++xy(^bd#Aw-1U=Q?qScZ6$iXAY4k+37BEu z-4sTfC$);w>=sX@7j`U^-MWHwVS0SN-`#^4=(_YMNAuU$7=G7C8oP9HJa|v|RchcP zz!(TEsGqv5*xu9Tn2T^@dEM8d5hob5h+iJx{`q?r|L5-VPD9H*fu5Yna9_i)9?&A2 z-Lb0*XI0WH;Lfw}sd~UNL60~R5p&8rD94$*kYstCI^zx$IvMx-*Y7XyqQqjd+q(WK z%BWY{d>}O4E1V6s3ZwpDa>~B9$82wQ(1AHYHYG({I&;+MNa|2@j+TPGTaSrWiQ-V9!oa+$`3|G%-y%+>&x-- z{ihp|x^|2KD|GD!Pqp0dIj%RHV`0DAK6I1=3omj;h&;jOG9>)i^$MwfLy17tmP2{WTx{cHlRS+jNbRmAc~pY&8nT9W6Nbt>*a+I3;YpR zZoUOB|B3>kT2N*RZ8m6`FA&YVK!Jszl%23VH9pnXcyyubd)MoeM1j7Vp6^nmqT8p_ z@$mKY>yMZ7)5=x&*zLjccDiNh&RCFv6Wf)H$%t0c($Bqe*#S}rQ-WhUyuv*TLk6y0^ z?2vr0^nIbQ-ks;yho{2IXR#^t_VWk5biU&yyPBBkJ#dT6EvV6f?>oO-By?)SW^T-S zp=l->r1R&0|NZ^-%aPL|TuS-fFO_ry=uZ9&BLN(Lh9NUq zSP5~$!A<=OUL^T?I)P{Q7V&+Djg#dDn*oretrMQh&1!GEJ+M4DljEPkTuSJc#_*Yh z7tb5#Ua-Ld-9J1&eL9|gy&}C9ZnaK>7Da!a01|?S{rp8IaA~V>X3w7vZIz&@L(Z- zkrgTt%gC1ghh=By8;0<+K7g;sr>ECncMq@me|}s*h*ll?0B$lvelkOro-!6X=WB`u zbBz*Ckq*Egt{(9QBUum{tblUBaD`-6dH449@ay9{Fy7bYFIUJh!Zq1K$>-OQj)H9R z-r0TMp$#Go4xis14mW&;$&+D-Fd#+b?=Y{r zp*j_OnNA+NrrT#=`U*t-V~rnd)M@3*g0NtPvLmJiL%2#m*b#t*?D8k*LkO(xE9s+I z4VU;N6TfJQ_K9Mm5NOV}C-DZMM2oFvixyF{^!H#?S`|TgeOcTd~n*5 zKIfW11EDwQ@-y9|#8UpPz;T0~)0cD7ivu1aP$)pb!>f!Zk?q8;u**qsfb|q9fz!iE za8t&|r~Om_y<$f#mi6jAoi~7cZu1%ra+=)!gDCiGpcB_ryMhwE^`me8L}}clh0^a$S5B{Jh1Cs0X#4b zd1f=WLp|cW2bMz0(qT5hcG3`uVfMk;)In{cn4M+L#2P3R^%Y#8RhI}(IBmQGal*cb zM^`iY{{8;&@^X_OLl9RaTv;JMKLNfzs8nME`jE&|2^te89gs{i`8DfR5Z0>@dRRRL z5$M~0KK!Ig#7*)K8%wB7=i~MVKtltzDG~o(1bJio0x4oV%kT3O>a4ziH2k9d97zb_ zRfv5aQw=GVf=)ko_fOwHT~|ZHmv!lw#|T`_=jVbnQL$1nG0TlyxPFD?*cs$&+_T@Z zIR)si{+IlSh3_ih_pNo1{cO93_ctQoyHx@32C@R09fF-RGMYK@ge^ur%XJ0jg&l(G ze}v4@4G99fW1+o@TFs?sJmPTk$vs;l2VQXYvL3&i98CXo;U*U%y?C=L&4VFhM%Dj+(7-$a6Ub zH6akg?ps46|18Y^v+mt(j>-q2zKX`o&mf{64erBJj!S8Q)zw^VtV(1Bu%hkE3Tk`D zsMdVBG$KN-V`?^Mx6 zFku4fS+-#fjpBT4;=DZ@Q494|KBo!U&2R@4BksT6P|qFOsKabPTurMg&c+O=MU3x8 z8+;NsFo?;`jDcN8E>9BKZI3!cHipY{50Z-?hxePJ2+ZWw*9!`!oR1}4@_{tlP*ZHE z&q0&M@{9U_tz+`H)#g8fL~Oi(MU?2{h{|L1^!@(p@#T{s$F3H&+WkQsgkeusU~0=a zG>WMp2PVdSR4pa8mae`TNI7KroF9-WeD#F{D>~o#03sm<>PK1{IjuRK9zjokDHvM1 zwLKU#;!EUHt*lRL4ur@nWtsQg?zVgbcxO@+;$@MRq9MSA+b{AL5FV^ps8aa#0zZI& z{`KiIpto19f9i_4MBs~V3+MB8ww_prLiOBi_YvTCah##)B%?PvsYb6KfN)^NV0+2Y zg(Q1=`0@2^_w96eJU!ml*od7EK(F*%OEPO22q}ZMfKPsJyYttKJ6r><09op)EX8;V z9aao>oNTZLQN+{hZ^vIx$Cr!N-{$vDHI-(ABCy;wpnpjH_`VQ(<%l`k%N~nIHwd3*@?rUH z48?YifrJ_>r$+shZ8o&VkPpkr%#XwU?%Uz*iXYajL(6F_m$nk9khY3*a2tVO^vFD2 z{s^6QQR2?x?23_5PODW(4ROWTo-+ocP~*qp?cvk+6CT12fYYnd=x~voZP=hyhtE)X zl=M{D@-OX6Fspt(;CbAcH~7qj3E|9&%QOZcJ2DqE=egYag>WrCn9dI^Rg(8qsy&j#t7 z3Y5?|tZ?SE70WzfBxvIhrvrv|_Vje1wyI!qEDVCYIvS%DkNfB7vg=+%Wm*dV#dHs_3I(2K1vm-_8uDs+K7pED99;r#6JXYQ`O6v%Wmfs!_ z8#0F?y-;_kzQhZ+Mk{IF5BIOn2ie_rZXL3%lnZSKCRuva80+FBl+{mK@y+Il!oZ-y zGiNPgzT&pc4FgCGsE6I6k8@o^P3}?Q&{BP&m+9m3NBDC3{`kK84TM5J#U!174g+wo?+L&2L97&axx1H9KCLvwL{q#bK`?9oLZ`%hN0XH zm-fr)`15d%2d{q&rAn7WJ4>bL<&Muk>goJV;AJ<|F^(zhwX4$G#2m9Bu3Q^)(asTG zA=OgzM2viZhu0s+3#YG?>=iCmUIz-+jsy>=&|Nt&dIa7ohPi5=Pjm0OvF9ax%$629 zEtQrH;awdlIdk{DvV3*Q8^#}i4n(&J76$c%j#ial)_DR=pA`r`yX2}tzIPwmCm#x( zmbP0O3=Zv_J}KJvjdsSSVOAa#6Bx;uQ1g@`&#gd` zU+~giY80+y2pYJVH%xfC3+(8vQDD2kPJ@NGm50`xT0m(Kq~0m8T)Rdg7d;0ReUer` zfcERgtFUT0R28ZMlwr=}4A%$@hQS!4={i?N$QkyRBB=ru9Hx70?99tTxEq+_Ru>hw ztj*FDu|)+Ti}ph1R8(+;zPvbHg+Cb3+&b2o9{?5n03d_t27hxlL#Zqb3pCg!vYQ<1 z1`ztzm;&e@oc|J2*F`IIqWN03ER*9>q0(|*W*Xd3D7r-aOCC%sGcmckEIHb69hcdI z5}r6pk2M>ifH^T#Zc}4&1q1>vAZxoi`LuNV!{zo1jaEJdKi+-}4AOYR?!WEwg}gB1 z(4el0nlz?PMNZ`Iftb7L)I&D@si&a#Oggo!Y7-cSP~DGQ7@_S@iO<{*DdjNI7S0^L zYe{8;N~6MGycZeECVe)kWyW7y=kjmrh!jhUY*iOcTVpVxaAqk1sgw9H6C{3Ro&xv# zIobK*^qp=rCS4#r-cg6x=(XW1>a*vnjs@r{SVh93U8K5=?|1Xb|C5X(fcC2 zqdd4Bz0oB6qPON8Hrm^jG)tQ%JTCm2T|u3(m#$_2{pwMyi#$uY1}c@H#ph0WdXGQ)DH>z-(C_t}t{!(02Tl{WlxS<(%xA2o?JE>pYT)hN-W-5H$QA zoQ#kIlSu!IkTd2_l&^WHO##GSl(FbO?Gm%22eZT0van`h^F=c|Xv-sgeEcPy@ly`2 z48N(-wnBDPfWcvLt`6#nrZ3PGFpNA3%wjWB1fU3@2s?vounfbFy?T;e__9hfjAU=v z%F_<9`T6(i=;S*u1@aLTqb&;`=5a@D3dND}Id0tRQ0;v}%#v@7ODjxDHuq_bsw_lV zPV!w}LmUj@osSR1#+xCsbVw3i-4#Ehu|nh}7y+O%2V#VVqvVwU$N9-4k5$BBeFS3v~*c2f`(QDhYd760j5>=!>#K= ziH?65TwozgdAis>xq*oPI z2%18Rg&e*4CsZ?*m5)sqZO%9j6NX8EsZy9tE4sZ`@QsB&hIA0_rCjA0kk6Luj`6b6-%LE3CBu|+qw){(J+ zI*)pbZ)O>0dgKjPGOX?^5aotgpJlnQWg>q7V|WvDYnvMIc(nSCw}S#NU^h}Mzk|`s zA!QxpG#Z7i+qt|#p}~s6wO?&MF>aitYjMQiMRmZ==6i4i0GQdLgojqxL6iVi9vRLz z(FX9flrTXXM+{i&@SZZlG4dhN#nmpZ7u_PzrZ8bS?`Ts>{|wZPNVKG zXhfn*#5@~m0kWj6%tAPYQ(vtOMM-d@Un;~`SRC^^MK>LE`vaouCD8(vS_nxPsQ!@X zLUv_h8t=O&(Qjd=$nh~eg}(D`vqzx#S0MzefEhC|<)ECC=%2_1SnIP^E51NdWfeH& zyKgowkT71kKF%Zq8r4NcMEVTC>5c(Dl3?E^7{*X7VQq}#%kP(b`S+&Plyj7+wnumX zJ?uBFFNsALmMbS~kg5v?t=44w&u8YI8Q@wyin@&1h&Qq>W<>N-6#=nw65C_4!&>&v zbcHfZ@qmD4wL(4L)-}U>C?r=QgxU7we;ygfZuk=IE$3i6b*UCJjyaAn?qjNC%kF+D_Pq-LW z!z{%PRuA+Kk%^hA1sZmhM2#4G;o=aw=HHzIi`KrjOkro25&FhjbZ@+j1r!!6@0Y({ z3*QBH+ghkFYvCxlbSU|@@eCsy18&xW9knUIvSMAi+J7msQ*4QRO>3}M%Q@N!U+NHP z*vjcK(y7WOX@r?-Z|csW?5nxqyCf{_u0J)jTV~H76j%mml)qng&~5Xk^g(vNDZ6** z)VH-I0C9Xwb}zEK-jHr&$Cm;mGNgkZwB6DZ@3N?|3|_4!$N->3&&yhCHf(_&LVg@q zl;b(MT(frtp}sP~xh*ZuegTx6!z?*ac$C^p$2ZJ<#**7(I9100Icw?J!dHJJwHNj) z6MZLo-KTzA*Fsb66ysrCYLAt~8oXxw0T4nwXm4tK3cfH3P9u1%_F0c|VVn(=+xsm~Jv-4l2@_pn_lOx_cwfRKt`QKWHJ#GD{fCqB#~+*dqCZ z^84L4oxcQ-8CSnWaclX;*!(ci#P0QQOVvZ?=Usq6CVwPcmJSc?sBX6mGa1DrsCCjH z)LCX(;_x-{=gICV2S@%=3tlt;grim+G5n$c1TX-Jk_y5pXp0K4PcpcQff&RRZQ?30 zbxi=fY?GA}HfooaAAZ@wo@Mb@58>Uas}!!3>;^_bZ7eu@>unknw}=LT<=7%$rid`R z?rckehlg`Uy{0eQyiA3f(xmA{L<;jRWd8U=21ZAa-4Q6U(vD1`12$xnO#NqHngZAq z8tE5r^mGHyj-aHSUFXY7A*S?QzD#2dQm&Su=(0J21?tTaR{1mtirk;rB0GF+CK+@X z*t0Dgjtkf7Hh4kP7CmlQ3MFOiofUE;%Q-@-UosfO^};N0R@MG#Iw)6?& zSz~jwRYQ#>QcDG1VbvGW`y7*ZVU#=x@zFy8gD^ytC7-UxNoD|V0W;SErL=+&aiBzl zOF0$u#9UDR0|G2ipfu)_5-6==>?rhFHebh1c<}RprVgmNa5-2dfOO}~a0gPb+tTM4 zmf2}>e?nS7%2TU!IpHN&pzVh2YH09_?Bb4-ngCE#?0Njfom*$sviqKIU*ln+`=PqK z?`?Gk*>$BPb`;wJ_pY%z<)@HYx z-WBRGnZWI%?hDnPaZ zRo1SDp-SB{paa$vWpW=uDkEItkrXzwxZ?Q=Vlf>9u?c2>~!71A6g=xd_3!I zE2vlw)Mv!LKwR$+FF#+gr~P=mzp{*(DQM-}EMNorFDfb|0{xfYD(WhAMhBr@*rweQm1v_+EFL7g3?h|zLUyzTyY&gf zJQyaV@$4(*lh}1MG}0JvkWy70PzbH4KLG2+^yfe{=4YuI><=qN0exC6rY02Estg^4 zG|TDOUmmX(Vv!zO+*e+21ATjtSm?Wk^^jZCq6R}4FOC{8NW0e!_f1hKF40gEtu4y_ zhhMMIW`RWSiVo*{GM>QhEz*zlv{x#Wf6W=Z6%_*Tj{9zI+#@9?yu?OrGz|SQQGq?M z3vmiK#|1-XV=zn}!ZMsc;+ivjK|B^lWIG9S@!jehnl4Ox9aaagw~BzW;Sjr1?>@aAA76gm9q#XsAR5`8>3596Bz}l4azmfm5Eh8f-&0k+>`uiJ zUKtKUZBb!kylP9$6Nk)xXvNog;1zZ{3U8J#Bk?utB%~89FS!Jn-#-KEB8plOw<7{VM9r38Eb<5G1**a8NzaEN9C+RQPiE_WE?pp<5-4 zI~Th#79pFxZg&jE9$M(8R>QQit_oH+XSv<>U2l0&-Z(~h#}w*1tfGFQ%<{%h(8ZiP z5*zNW)jiL}o|5hMLo*f>Rxn+?1S=RZ z439_y+2b&v{b=wCW2Yd&{&|0qw5*CBJCGbmYG}xo<@dAv#5v`t?%)9p0Bb;$zwH+H z@BoeNeq||SO&h)VD2!P?_^GLCAPJQnu1z&}v>XWP7uRv@2<*6(Y&}BtJ5Na0kWeO_ zCJ4f6)f`#Tjj@v`d|5sPGZ`R+!T*%c{%~Q1&!+KNlIX z1)Up{hD%&0@3!o3ST*9|gdbj??q8oj?H*pAk8f9%Sccgd%d96wi8T3O5sY2g0%o0V zfrDb+#Gd9tm2Z#+)#L>WeYEMPIGPoDeYxMg9ln3996{$j83v={K%Gc~pWU>unaq&v zF9!qXV)6mRng-|l#)in)4l*Ydte7v3uD{5YL!rwG@I8YXNXYKKJf3!sZ%>Dpi{v6w zke~!q(W(D8F@G;P* z(JOpKLFk_2U$}1pBVfcVLPOzW$-F|$HkGT9=F(ytaurQEk%XG zC!MA@ZLoaj;qljp>rqkjXa!vmwnP+i_>(X1Lr zs&F z_-{~(+M> zGerY98;JcbA97AJ$GQZ1*=l3QM)YfMCWKiLapX`dqA>O6@eTVL&oK`Qe+`(L_IzA4 z+if|65nrr$h=cbUP=%EL0gS*4RwXY3yo@sZTRG#RFZ`8u*$`iQDN+15FFwFLIWk$P@9i2C?#jh%Xn-v_PlvBZ(gKUpHq}_< zE12qpu{Hw>vq2>!6oiUkDTTWXFb~FDQl5<73~lHV+4AfApc;k0a&dp48X%ikx^kB& z;rygTB8KlA4xv3ht z2XK5F2eyfvcaHOL;M3aJxHQk%kOIPFY3At%1nii8NQ$Q)&Xjx=pMSrl1+zdo7bz_9 z(^wO>UX@FfGa=*muEhvC@)U|2=$q;|U#}7;2g0b8tkqkO*<9e^tipHveF#Kzc-vyQ zFitZ81kPFj^c1c6yBJ)faA`Rs!-%0|XS5x>jSie|`_bd0hIff2$PHLtfxsVNQ9M6m ziw@}J$`}x)T60#=(XD9axHqf5A0YUv<-JijwVaWu&>$Z`;jg29>+a$8x83{c@a4CjDMDopd4gxvsjjQ&8$~XQkK8;KPqlj8x2Az~F`skShAGb-e6~J_ z*Byq$itI-7H02rDRre#ZOQ+Z@?sv=H5JH}pCAT)sIoWdv>U_>%QKT++Ia<$I%)k*Q zbuAsnCrq;YBD?2fM6c$_O_60W!b~; zvou4zu(mYkWj8s1Mpjsp7i}HinE_r?sSH+pzfst=(CF;UeaAO@)ngg{8?@~zq86hW zz#SRin|f2@XIgeZPc|og%I+6ik3U#1gR84+@3Ns!tL#zuwOrY>T09mbgpR))FM_iI zD0*~PTnF7$=<5#)H8`Z64B;0=;KW1}mfE3pS9ylC3Fm?JL*GyCj<{Rv{3LuN;a_;_ z7MJJ(9$K-tZCx6InJ*np&tfNMs}#$9(OL z!Gc<@^vD(hCsqoE{CZh-?XdJ=ZyUnEY3|N%U;iO;-v*c)K zecc0D_jQ=Cf$S4fEoYbRvG$l6fBCxO%uTnZA^XexSfeWW;YxCc`^#8XG~BS9tu^C$ z1De}v9woPK9toKi_zb%Yi}P~}e|3o{8h$2tt&|BsUlFWr*5mE$vKI$ zSjt}a-Jmi+`C*#D5LjNN*4{S8BK;hpT}MK*@FN}+#7)Gac;?Q4b&(@9kZrElDiRcW z1>yt$?0R}Zn6q3?ZU;L9&mBni^X!`H$eHMK#^^oXgC4*JN`Frd6?)VFI(IR@=%Y!*!oiC3qMV)14EYk$fze_uu zyUD+GNv$`hqwJH|3T}q_K9|Q+S;^qL%R^&3sHnZ{zC51Z-b+>R(%m7u$zdczp_fRP zM|$qdYVDl!<@V%MHCz2?TaRT)yaCzj4#*+t?c4X$H3!zJ zBL?J%*p6B*(_G%f73E5Qe!US;jc(?VpRn#xLWWZn?@X7Z%SZ4<{4Uz3>T+Z#7T_>f z-hu6_3+R}kJbvcvm!%wi$j?B7-K+fT{0$-(mUXv5rDlpw_rFN8OJUjf^|Z>v{PlQx zIXoOLZes6Gzt~Vb1B2r~6SDcch4y^F|6+o7pRHfLJwDOx8J(KE*6m)NZ zYMW5u^|#}R7B9ZP?%sd#cd!5T?|=T=?&+`p`ltWF8vNzY{|OxcreFF|Y@q4AqspfA zyI_!pQF1JJf<4;ZEjcd8>f1U-=pl_e!=|vY?;{Fnmcpfi7O^^Fv?x9wo-3}KKgHkv z@BiHW_1|{K|M)-myZ`O}@wfk-N==F(Wz8J`-bm{sg|$y15|Z5*RAkPd0doS$WJ{#G zC78q>8S^jo-$7=o;M`_JsIX<>3O4z5SswZJ?eXaeh+J-2Uy>i)>Vnlkz@QT$D)}Bw zU5bVFn3E}0S<@VYHYx=;A6%m}15U6BYY3TG0b$C5<82D$bSu&@{Qc`o_67Uhm&5%& zE3v<A2OoDT@h|$H*Itv`E`*$Zpcsko4dD%*VFN) zZ_qSYh#&M86>Lyp$&o@$0~ne95gkm?A#LgKkxSIg)Zzk#oXs!(+ATuZo^$?MXwG*b znvZE9`y7<4(D?t`GhWKpB$?_Y`QgrT@)SU*lyA|O151B6J^yS6-gZ1W8SyZ9~ovcAmHdmF#tb7g>5y&tmEb=p)g}9ox0Puwc5~6vYkmG{YLD= zZN(g?6a_p31Y{o4^A>~xqbJhhYBi0f{Bga%BwMG&j2sZ8LD`j*IAc6ZbnSkXA+$wHQ$#3`WxsRo2_iXmf$vk!1(GL3LFW z%mC2(&g!$eLOJc)!atCq@=MGihpuT!u#uY5HtKckX7p-FD!`m9ztC3{`DKm9@#T1b z*u8%Fav=+=N~CUUGu1uYS{%T)v(+!`<1crp=P*1129KT~j#&);RT9Z}-~Rlk|B2Y)@jw3iU;gwTyTiZz+n@gOxBndMY0Jle zT16*Qs<|;tE}7}|kL|S%AoLbdqZyePKd=F$k9JjCPf9$raq6lbJ8j}0tcalxk}fDR zIb~L4O(U9w9}8Osx>(OI;JaSktKDTqN|K;zl3?%9a|1p~-n!ZPBH-uFaks}JPgQ>s zHw=;)>+6h+uDJw$3~N#xw(D|zR~+{5)uaVa*lTNv8Dh(9^{QkSt+3Idx^BY}>>Mev zDg(7Bn=N6?0@M7}2=+`7tQxF-*C%Ml+MvlaM``YeNC;byvC;(zPrFz|78mk3nyAK=kyB zY@>uXi)cUB!rvc0J%UE)n((xsy~IXfTf@?C49axEr<(m>ry2~bMu`#S+4g_%DnFu7({V9kgDN@P*MPM-lqm#fU!a*0ew!s)2@nw`NQegz8U z)B(LM=Ap_7Xr+!UKb-w+Fx;ncNezo1iuisKf6hRuD|Iaets=-B(&s*bCMp%mL4$Jp z4obZEAnot&tP5Tu4R9ebqOqvZm+m|@5Y*k_^WpjJ+8ds(4+unC>L%ykXn-|_0EC%8 zTmSrUS|bgSA}U5X_;2P?66hFG1u|9-kc#ljhVT!MhaZRchl9)!UpfEb3T>&-$Y=pi z;2We}Og+>LYut+lebsvipj|?Lvid+`YekeSE#?`V{|_y(&tL-k&v}uB@QU|Ag_W zsfV0>zzTl=R(rEHK0>CIU&icy5ei|t4S~|OfIZ2(CerS8%tD)O|kR1Nx z@UscLQ0Yah4db5%hBLW6Wh0_nrrWcw9bL8mt@?u1euyEO3Scs5_6OYxN^g?M*I%g? zzd1JlaVVim@hkP|1LG%>5NT=SJM&Ko|Ed6ax%L&u2m;iM*q^Ok{}r0~2Pj$$P_WVL z^~R{)iV=p27OQF1BurYm3^lZmVE>+vKqbgJ=~+HPrIX-~z!<1(SaQJ7+TAYSzwNJp z=ic8fxkloIO&lv=RK#b1MAO2qm6e!#H=stlT?r0GJ5ElGwaRIH(7{({K%VO^XKnZrA-iL&V5;&i zoD#S(@?<6KI+hS_ErJ0JN+@Q8KZB#IQK&IP7?&uFleW|95kzcHxudNJCfifJ_hG3c z&*;A6__v^!Tgi-YYw0pz^7ly&|9gYvFroo0{I=DvlVcYCnYfYG6}C1(P?&tE~OX_czilM z>`uqG9E|>Ue7O=3(N2LjCFVTv-<6e0aa3W78rZl&-YkO7#>Fn9mt@ke=JbGs>Tegn zUg6cE0jK^`7%I?Te*-#oWgs-kFtY7>u?4BfZ@@2-1`w=#Z-Z&AOnw8_&tWJ5iAJ|T zlDi_g`CXFJAIle~lU(-)-j*PUH@Mi6uxV*)y61})EOF=Gzdn6` zMmh2R{j~e^^xNfYKkOoQcR<3K>E7oAswja?cqN>69wn;gw+tg0jdlHU2aX_&>8L%* zR}kl0Muf{(z;=oYOQPD%U)pN1{N_L#fPwuWqU$*UV=`9<1DcbsthEcJq^mIkOkJnw zx>@XMLCrD;a6+a9SpFX&JX#fCV!k3gvmQn7LypO&b&Vu^$CZ+r@Xa`J1T7R=+V=II zCj2csKbs<qJ9X&pQ+ALZRm;w>^1E1S zYL@?!(pUyrZ?ri@E+YooERG-e)*Roa9>q1gF+9E5HQR1enu~p5OC)C^(LSai$+22P z`^H+3c-Vh)1b1VMHM!!Mo&Q~e>sSwcTX4rQ^CWn-r7Gn_UDc4na%baq!HY|FGoU5i zmdf<3JKRiKWFcCyp__s)Y5})p+ff?j#0S(+6?`2Fx#ERg{9S_M#4ifog+RUF`PphX zv38Df;x`LkJaFhvTxLBAHXj(lA?z+ zvW!idbuG>nM;yl}0uw3r1N8@Gdh7>gI2K3Au;AF`OLVOaZtEm+^z z9VGx*R>%*tqG2EniuX-RuK@*4=I+~THutYzcJGJ#*XP5vJd$?<%9nRUirV&r$Xjk% zeGVOvBQxoRj~W)IruEq@ks59b(Utlq!Pm(b7rf{VHHIf~8O=rBtM!%^3?BN@9}Xi4 zz{?$N!jMmag-%)EwkZ>>uCqF=O)Eyu zeA@*g8!QM4x^f`^au_rl9l__MSd$`XZp3b*O-L_BO)-$TpGfKH*Mqk~WA z`g;|diFj$*FI_Ls$b`^(Wk`I!2#Eo31KqG_!qgOh?BdH4r62Q6l{jN)-2dMu`fw9+b$J-tW5vfETWQL&Cz4H!8x}Vki$>sa)^m6vv>u=u1y}YNAhoEwO)QI9;uzKDb0f2N#|a22aQst zN+Bd#S@`7-5#G|O%wG7N3Z>Ckg?Fe;i~tJB@F{g&~iSRvuf($2>}TmvMxn;O_ZR0HwK zE^HyqDoiC?x6AS`eP<>ul!lf1grOE0?{%Z-j*@zAk;O#SiRuV!B4Xx{#$c36yJ<~m zlY~D@yS_z+M&$}Aca9RKeF8IdmlV5Wzx4@T>V`}xVZ##kt}8rSO+18dYahC|W9&^z z*rJ5_eXlrm8Cl3Sp)HAJ`_nZCvdPd|Rt|t`I%gKK=JKh$VAcJY@`Ag|BROy=UO3v{ zCAhI2Qgl=BWfq)!OH0TqrxrfIB7I13alc-TIWSe9MtIZZd&4k;I^?w6C8AnZ=cb&*CSM*C>Fq?%iVS_ zjRhgh0phQgEEBm+KI2-D&{F4}h%s0RH5w*TA{Hg)^jP0ikT9`}qk-H37n|*`k&m?q z6deegs5qK0i;erXEmIlGgK~B&iZcU&D0?uW(;^bG-y^y1CC9MuT5{LgGfi^iTyWr! zt1nkG5Bcqqi|_UQT;m-?wgpzF#dO+#{NYgexUHSN5$D+#IA|Dx{gdh5!WGts{y1!KS&Im+D;3uhKq8KZ(6KP{3HS*%D^w@!hZv}^c;65MX~c5X zmO2{RD-%CKUZb?OWo)W5Cw9qE1eQ2d(Sj{ZCDTYwr_H!=4Amj~u`PD17FM+OvQ2S0 zz9cRB2kp5|4b~^G3-CCAh9{?E>w7N5H(@@uF>4sa>YE3|;_X_{Srp?)&<~~j_AG1> zicD*Ma9kgaDwYIa^XmPxIynBCq{q`LzPY(a|{m0o-X|D)Mq|TgEq?`sYP+rAkcS-E~v4tq! z+liGLQKh6ub?>=e8Fwbncnf8n%W z58jdvQCGsFSbcOzKPP$+U5*oyH=9}{C)fwJj_wxI@&nD=ps$v^dgizclIJIPW|eqz zYH|&|rO7tar}mBdBb%9p8#I8}M_hx}-VThB82j=h`F3(6R)-wb&q=OjG&Gf5^!SA2 z9<$LoXI`PYSn_d`K@U8gYRN{9D zYs(vZmbKL2(qXf54$D0I-z3r5e|j}wh$jHPlkDAVo@Goo&Qr)doRvXYTysUOZBZj2 z^>uC+1S^#O6X-3@}fnc!v?**C!n2%6Ke{GSS5;9Dj4Rq}16 z#NK~;IzBw!ecJ#2%k%FqScZ9mRrEyCt5cUQs-gC8K}kk6b7ir#$1SblYnM{-F`JH& z-pNhS>vITIk6F|D`StbN(;H}co-XFRsaGOkIvX*XyhdFW)L71Wv*C-`7_^TZ%7WhB zmU3+GC)`enU9Q*5M2XwpLL-I*G@ZaoIft6pKvmLQ$Hj=H&-SJbsahTGr@O*Y!0M8D zzEG*^&_4x?dg^;xfA+S|hw*sn9AY=&jM4+jv3=>Gg~`>jl2-_T&9@E1SW1PHiL=f{ z>VGqp|X%T2A-WNft;($!!=fV&ah?H_a(!U zB5t=bVw+@9z|Alm-=4lcyK~lr*o+Dy5}_qS+xjaeN0CdH%EvvT+rNWKN!g9QUzat2*`u-V3|!Xj?x+e8>JbNr~!| z(=gS5HKF}uzC5mNMXc%#^(I$LQ+W+>?aOD;ZRDfK=WYRwUO#Y66{h~6t6mjrs;Xa3 zW0Xx@y^k-Chqp`5xsOpTtq+DrHeEA7l;7wzm#Y+){7O}8DuIH4LL+f$*501>V^=aM zcF4eX_bEQE(x;E-=UY+33%L(rrIDRrahP zu_%A8uG{jt%2|FmgP=w4ISAe*5oYcyrT@Oll{3kSXYF%87# z3PXGm2GBC8L0ZoMeB;$}I%BX+b%P7KUV~6I7;h2mzt*wP$G!cyq<~zGNu*u?w012> zXB%lsqIMBQ5+J-VV$mx`m!ZLIW!D4}mnw5s&_kt;$jdKB(prfZjM1$e+~=1p1Q!#k zIbrl1g#tUHcZ+Q=m=?C6Z8q8KIU&42Jj;^1zmnv!ty}t2C9iB*LC^YJU-m~-gxDo-j3bpv=tKik;T0Il|dY79&V6&cppN+wC z4C}=Qt3tgw#^ne;|EH_viK>hTU#~*-xw8D0t>;2pNptS5PVH%2Q>`FuCgJF_73j*) zVFfMaf8^3n0@Z9XZNmVz<=Gk92PShUO_Si&)jIuig6qqI+l}DnX>ipA>y)$LOXpMTxXyO^G*wP46srIFf(IQqEc@ev zvv-XWDNnHtLcc5Qi;QikOM#~+4Wmt~Sr@U5j`?!#kbqZtbeVC9YDB`Eu#A-e3)3fm zT=Jy1l5gY5Qkcyd;BGOk!Q$$+sw|fJa!8y#5JIw5GSFLF zFwW0d50`CBSvj!cNdIt~4$GheMa2=jr@OL9I|gL5wMFNAK0skljOR_TvUa)Zuno&9 z16GvXiJv60?uHx*&Z*Znqq*+^9KfM57dN<|O=I9AW>OGY4|8dxLh2aZ`6{uSjd500 z(8gbzlLuK<_DN3LjZuQqE--76!P=MnOk1jLOF3}6%K1b}Ub(Ph9E%E9C$c!M_snA#AO!LcXK+WkXgyEqJ*~HCV69S!H~>WayLp&ad9?8 zey1A8Lk_F#ZIV}q8+%lI>FGZGavAC4Q~?ISUuM~nq}rND73=R>0VgLMnhSy15x9I` z^8d|JdaFt@;y1xUHvikvmQ-o3qNL7TQ^6~Wu#z(z%UChV*jr3V{H)w+ZSwQOK;Y_f z9RmV-NEmG*w*Soj~%MDL{4aT4|hFM^;2lMzs)TdP<{(zfI#snT1; z)WgIItmKL#(4zE86s5620Lr~@6ChwYGz9~o7Laaxw=Szio0BA;&cSYH@l)luifIOj zxm9w*Tr8dB;*&SYQ@$%Z{wYQ7vSsUf!P&>AuHA!X+h&?^xq>cSFlD+#{6u}c);gb< z80NJpIsXTUxiMurYM(?kmjARSd`~l?eE-?WCN)kOgykxzeut{X9JgxZ)GT?+P-yQG zUHJU>r5%X6R&kgU(2l)MuW1-5(~$qVa4g7hEEu{pZvINu62OsOuthNfh~ZjGO_zz9IVNOMnXg<` zX<*R1UiO?zlglJ@8X#_j43xr4;(mNwW_>j=MT?5Z`iX4?v?Te9g9Fj4XQ*Q1d_b*fbym?XMerGy)>QE7Xwz`p7avghqe|$ZDzx#gNKOLVAm+nvMFlJb@ z2H1h>Or?0aZjA@5%|>=Z`ZmZ-!KjbeZH`hzPpbg$gDt+O4yk2rw zC7dA7yESPg&&|6wPw1P?eC%8r8HZXD_%}o53FDm(txH zVboTs1LfZzf63Q<|Lyx(gRlEhhCo2Sbr)upzm*SwU}A$GV}9|f6`g=D#D?l_l!1NK zhc>|)9C6{%#CmQ?$eDo4cmo37ozv=lJ(bj642 z>SZi@tg_pml|9JM4hV&Ae)fdy1yp8}-31vA=+o;-rn0l61;70)Cc7-VX%vsZWub9t zoVfBZ^{o-Y4M3VT&+!3f{lf~-%IT~*-2v<}#Gc8Fn_@th+*5Nkf=IN-O`9iJw}@uP_W83l3L_izBKv zA)w5~DJ#$hvGo&TDu4+aXF%c!8ZlNs>whko2ZI>@IF1n72;>RD%O^LuaJ~s13(DYn z!K-f_%aq=fJF|q#cg9LKSw~I1Y;VFk1UYJ;ZKdOLpaI`y_t;i-##3Y1^QpC1U97}; z(8lcLW*3WP42e4SVII|37-+gO(PL(CoL0*jN*X^r*y6iTxtN+*9js(r`m4#UEC0`p za&LA`r&wL9EKIJ|)#Lu-%g5XMrC2ibg*_^DKsZ^WY26%J%vK!hQZj+n_?f~MwZt)$ zg!J3JHYrxeI;=;{w>2yMcDTFJM9Pt0%uAwb(1pUbj?3ncUj`P4bRe5V@RF{Qs)DO@ zW|G9>;f#Sntj={Tjah)NuW?YSV-H`J0s)@KB$oa8Mqe+ z(VFCYZ9@t&Aj>g~L(y)PT^nXdn=Iv2aT`oBhg1%|$MgxIdZ-z@wXh(6ebb)qUu|JQVoE8EK3#W*N;25+ zxtA}K03~v35R4nL-YO^u$dwkvhhD7q-5fqoOu41MH*A394daKv?$($gGXb*UMkRE& z$6%s_i(yoP3JTd5?F4fRXs4jWxX=Ey60RySD=3tz$i-?}pB%y%IV@6~7cwzix=Now zEZjEwIZH)_rGsTHrh@{3 z(oS{H`AqJ$QG!mNwNUDU78f~0qBsYTiW}Vsfr=7d5LpMq1uJEZ*@-bo;u?bvsjsXR z9X1ru&_Pul#?;r|s)O>~*g*cD*~Xi$d}7*3P^+7?&^pI?JJ*2U`QK(OCQ;IM{kI}* ziWb`ZnI{3@1=>Bj^KhokbXr@}GE7Fs#<#hk`f}Sru$Q)@gS%aY4q6&eIt+1TLg9mG zbreqwe)J@KzUGLRuV=2kb#lWtu8BH|qp5yCv&uD<;Vt6lKa?P$FXF4#W z;y#4JswS4)<5vyr#-&L3q17pO+~GeZdc?*od!^{XnfzpPx=^n@!iXD1ufAB8COpW< zw7Ljnhv>4&i2H&*sgt6MshJ$(SX0p>DrB>-8YRMy1nFl zeH=B6s0Dytc7BwY*INtGeqqrk!B5z5i74{;EV}w{6W#wwqF0Zb{LhKrLQc&?o@?wM z@B1$G`q2qL6LOSc+J%QHf#hLQjtE^#z_R4k)uxfc5fzHRq5a;={oS|y@wX@3`@cE+ zbiLTjZ0~_TH?3hE#+=?nUHk1hW&l#4IbC0-_ZB}HJ0AmyqDXbR5)S4t%9LZz`{yU( zhrWQ>>^8=utX}#^u9Lq(u0v$QqW~@51wo{#nCU%jAR2nJsln!^`3*; zUw+#^gHiSpC8!@({DC4GwMH%VkQC7it&_lVPB{KuYF`{n1)+#uX5;_E-t3}Cs)}4n zVXjDtWs4@LelJoSYVFFGPHKta78F8Tu~A!2>?hn(I!r=PCYQ=;*gsbdAIdVGI$v4T zXsfnZjZ!Icu?*i<;jj_lHZ@dLW84)P1~oAKejyzTYj;@RW4Vl`40-yt3652<rF)nNpu zLAut~#n^(8m}{|_l7<$xYGMDd79hSRG4vH$h#Qri1K0&yy@)n%-=u}BT8zYH_*OS+ z5oDCtzHt!qaxx zc6YiKtti464|oV>!THZMp=BYuOh45*(W|E(cdK42`XV+w(^lvn;g&_FTq8a*IqP-tC-;MfNaLL4FOresSB?c`HM?0rg~-B(?t4! zv%K`(``j6Ica_d%pjIuFyu{>xwqU!fx83u1&#!k28TFf9vZ7)ci|z)|v0vcz`Sab& z)7w9OOX}!ps}j`-%dP=U zx#Rv{HRayyeYXC_G|yaRgzi z>viT&5+3c2QTQ5-x>fi9BjmHB?R#b|)Q!SdhwH|WI;Y)#ByPX}Pqym$A}rzp#ZBNq zFIg+A09>!aDOF$zrb8gqFs{SrupYL0UAGOYZ`Q*J#ssybFwvs{6GQ-H77P#g)bL)e zfY@))qxxUBjjC_fBM4r5aL^fLhd8bgS{aYItP;l=tT~XuGLP|_H1i4F3`bRieX$?e zFS7}Rk$-=r1xqjIi%A1e2YY(NIB@97ssOE}WyK|Ezl+%jta2G*CR%35n=Azpwy1r3#1RPV* zJ7e_M6rKICmkc=|KOwB(*Te5`@2@Wxr`=S?UI7Z(d_UJ^hnqr+S{LFtjAGli2FjIT zx9v`%9BXw;Kxzwz39YjHdLsXg>(M%R6e!{l7P%muf?5L#uh%Ai1haawt2-O2^9?&IzR~>Tf;Y62XiDh9#h`=*iq9-3rXM@q@h|^Z%iFP(98dqD1S`uQ3 zzLr>Hi6p#sz4p}?r{zx&eVK{gVoxbLE%b?DElcD$l!gs*aJ4l$+kq8`&i=RCCPtMk z1Y4Ix*Y|OCSRS2j0HJJmS)6b9OGW?S$YTX4t=6UCwB81_pxGKX)zM)wc9E&CGzJ#B zg34l$1xxBHbvAH7BUw&+U`p^GswxRu?s`$uX|Z{DoxzC-_7l5syJqld$lw0Wt$>s`-9)Z=o`+cABvTVoEIC zQ8=PVxd7Mt@cR7m?bFl#?&1A-_v!h!^XM+!he25Vg7Wkt)DTU5qt_uQ+@)P`jqFVq zFQAQ;8%*zMc2R?cyXnDd6ekQIuY4FF)>YTHF7s_w9it;iS94@y0N!CW$|`Zorva7^ z_?c2?!Lp?$wD5^o6B&;={Ccb5|reC8%|4AgA$9l~+tJQyirph)r0#@Ye=g?Y*R zI$pmYj(6WL&Gdpg%Lo)$*&0!?vtgudaHU@cvT_Z$%P!kq2?L`7ww^`U!vcV!Lh;ka z$(LaeXlV}aE-X2UI@YBej|6h3v&q zo1n)k5fZd>#JC7o%9ug@u)r*1p}bpX?<28>hs0hENGh{%>DM6z+u24#rBi|5r5Q^i zpj?}#6O(FX;m4*EwyN)FCCB>2e-=yF*j z)x{O7G1@FahX#o?u;czfM2p|{-=ATO_E+S_ihim^yo3V)4V7WcuO9mLs=85@OQa`^Yzj15tb)A#E5TORzB%a@=x-lh0kv;%BIOkTEqKhgpzSZPm4Q%U z1uJOtYt)BQM0vs^^9o4928#5egkmLv2(@i}!svi3C-XBB9)yFdV>VRiMIW%q-qjof zybuqpn5=bnV(TRemU2reI6q;NvwnFhT(V=9Es&&%0|*Pz%jH=6JhNPB`_(6mq#isn zVA3dVEUHqc`>Vxw?JyBU6K7Ge9&6L3_=k;nscb~Z|5DDSi^MnxWzK}iLM^iC$IdRiFr1e!Ilmc+yyT%5C^lg~L(@d`gkKKhn zKeK5HRRj9j)G(f`nv%?+9>EIdnLbBr!8XK1T*%^FxoZkqu;cAE1pU>ts3);%5&k4C z*aIi|e!XjU)1034Yj(5UBh+-o6EMRQ@TzXg3fU9v>R>Ycpt5tsZLs@l8&MR|i|e(( zzPGdtX0A59Pn&$rq6g6!P++A;D~5;IqZ@=*eqGOGbI7vuc7?;{xWB9l>f$yEeeBM- zNoRoB0CYf$zqTykPEC4HtD5ENG5qrN1xOsRGpwUqHNc#usI&1B z`lcA=lgUg1f2P~Ai-djHx~S#+_ixs--fT;ZTdKL-{_CUp>#FPv5i5!hU7N$(Eq!Lf zo&?!-m3>@BX|9&th!R)+Xu@rc7e~{mM2JY^)sn#Z(R2G@Mr#u@n_beA1|?H&*=2xB z5N_?_CJeqY^taHZ$EPr1Z6<+r7E#(-*2-xe<5Yl%j5*$KsXKFv2e%owLGOOtNe0<1 z%kIamYOpq1FW1ETJ;V=#Nrp93L9-#U0e;OGLu{HstR(> z5)Absb zv#Y+HcfSQ8ExH62TtbT$T68nVUXc++*pt#i8*kTP6xs~qCQEq`{BMXl6{3WqMK*u) z;QyMyzdq2)pQlb8fHNz>M2z{m3+8TOK||obK?NCN+ue*bF&&rfD488<$6TvA-438< z=OsuKgns_q)lsO2lJ& zri@-0A`+{qOBmj;hM^9o0ieVE zlmP;{O1`DFbiO%&7=g6Rx8^=Nr-&`A{;?}WH)%Ev7YDRok)6G7$8|}i!j!#G-%~o9 zw3iXfdi@J32rCj8VR?LKG#~|LSqT5?|f%0{-Uljape$XT=mUzMs!{vcuVh|%4f z#6gKYuvRm~^m%@jmUY$mftz|Dd2zD?0Bg*;O+aC3pE7#AMnGU-wy @iU$x%o6)x z0ARYjONEP1fZs2m!1N<21SLj7M0KUynLW(lgd=vQ)3?vTM)EtQ){NJHE65h`(!_uY z=~waD3u`YDFI3x*y2F5;X$#jfr(P?C#btpgm`MN!>9dWEw%Y!D_j7i(1`xIs3MXR@ zYO+*FQIUv6*Efr<%O?;nR}-Z=7^BXMj^M`-t+#8PMx_b{WjkMzW$$vCB72s;$nM9` zpZZ6@Bg@a`^&%o*T4Lazf|GVy%WtkkRh#)bzI^Q=(gvt zn~hz**|JYZ=0y?(rW-U9)LI{z8*llb(` z7c@t0nT~fJlqInG$tIL@8j>IsVi*^@${H6Muy%e`OR)y*b)#&T5>qe&hF`H@_T|U@ z!@vFKzs|5fwul}?X`D*5wZdb=aA(kMgy6<`s(iFqzp#04JESV@e1`@~EI7N`Bxle` za6GwZ2>y0K@cigjL!)VPSzKYn<7HQv-XbTJ6W#ouNw)p`_W`n}%}`a#qKC;uCkkLi zbQ$T;vKU1A5Bb8p|9-bWz8{WH`{zq4B#|g$IT8l(T*-CA#?WiJH$Hna<+JaJtGM95 zgqgSFSO%8HD51it13TIzp{t|=vP9N_uKb0&6J?|T6m=59=TBkP3u?a>7oo` z8d|KNw>EKQF+N?b!Ltsb>R@L&ydK{le~=p&qeJUQ;+wM3C?ql#`LYNS;Wc z#5)$?EbD;S;&B+O9px=DQxs6x>^OrO?0mbGeybh*@%WVE=J(_N>Ee5iqULFEPuA>f z8T~JjY~_E&MV~Vs5!9=)6Hob3dKlBLSkBTj$Cm4g%;r&@d~RNySGfMak5LO8StibuF12Zyk5eD#&C&d6TN1cr!bXv=wb}Z z3Ye-u7@h&V^3ye5xpxUzQWKVwUO7c}%0ve&>$Ex)r#wPh@dV-)aiy4G%Pq3iweB(g zad`RX!}HzS^J}(8SKJ>N6In_e+Y?aZJ7%na$-)25rdBWkt_V?dhpXc2WA(Ogp_pmQ zEpo>2=D>nYX_6Q|j03Ee)b*A$0qb**{e|ct0U_T`fi{Nt$&yPr=1CP)G3Az9{A@Pt z@%7u`ZvSvRyj}3i8Ws0`4}?}IqlXnu*(;ItLo`ptER#@7iFS=nHTFjkbZG(~z^1Y7 zNd#7-BQ2~HsdXtDXd*5;W~%14_#zokykXpi)ONg0C`miK=9J_8oo%dPXbO;1Gn+s) zOot>D^KLm5*2j!e-~Y|a{^1cP@p*Uuw)>k)_en`s9vTpED`kWoOsZZHOeZ!&_^wRK zu6fzuJBk*GwU7Xs)i3)q==AKu>&S6En?yk#F80Zv(oJi-XB(ZrBXu@bhI2QQ**st~CyXx;Aoq{*b1 zZ_9Nhc0wiM(mucbI6Oc9^7itY-Ne&x^tz{GGlZ|~UPX4b+2DtDguo0h+ZJMp{Iqi( zpI^3MQSr79zUmw2SJsfwJat73m8Y>2M3W#EI9xEwZVZ|0o zH#T!*)s#T@g3?L0(qyuN1ZdidqX)7#_M{o~~~-CTr1Tn~UT zujGq*(83U03xI>LV0&z6F^AI}bx#VWQ|rnsTMlr@KM-}38bjP_7aHv5x#&20I*Pk- z7%E4bSeGn3T{5L_w#gmLPEV#l6_ac^E$5=w_i)HM{Nu;d{@dN*pRUOsLRS&MfO?Dm zHZ_^ZB(XW}c01dH?J0|M8>SUNb7n`u?pkjWpg$VI8cHDI>Ltbyw(h#i7YpMh?LKMc zi;L*q1-pojEv8!6RCSPH_$_s%O-%+#gh7;j$|jYn7@}A20V=M4xF~+q9WI)yVzbVT zVrng?td;mS@?KxnobB*bP&`D8M0s_{cAT zmhoV5Rq`Px5G{kyM9-4_fQ-EvNMRFZO6o5z$uRSlGcs0M_YgkQ^#RAq)iv&d$pQXV zl^S;(uaJqUc!iiFS5V!wrqoiVEW4%@mjtxw4OEeyU9^#4E_%&qFXwMac(f}YG^KH^ zDyDD@#KFZ~@v&2q9V??kbj}{o(rLgPRagt#E>!wWe$X8%kjpa6!Q}wg-8yN|mYjdd zt`us!8E+6$lS$$rgM7leW)5vb!)>-KhRe3BC2{cVL;^K^&0BU@#q?XQTZhz^cKo>e zn$zhog+2d5WlUNlv<(o?PZPKgSRt5Hsv5YR5zt0dqEHue#toGjY+y8^iN%=@Q*b#e zdE9KR)uXCfXY9{cCDEYepPNlW&Sg%HL*xU%|9YV)FVb}Aimc1ll+sTxK6HbXx=DP* zEL_f-S%J7zg%5Xs`|b7N`RV)H74_lzp#8nWJhc)K)izG2W)zpcTGM(}YmO2h%|+qmHR{wJjxV40&xeaIK+5l^TT6o-jfb)8k)XX-u(5ao zV5+I#G~f-#*(f3w&`qobmz zfh*b+B@4@n2N*!XnXQ8A!kdcBa&Ts0iVjgsy5(FqOj)IW*nj)}>G1q~#REw9IY{R3 z0@8Wik{dm8FxGg^U`1+NmUjE2y7Bh2FLs;qJfQ<09{2eL+}V$VQaOx3UhS5yb%f+xye=Gm#BlA-_BVEG2CDWgida zKcz4t8(0LsJL9y7sY}7dZHh)1b?kc%MgCCb7cn&+aSr^j;BkfLpC*dQ|4oAif+>Jj zk*Hepa>RXR0$-qyGIf(*fJ4k@ZH|JPWkJ#o2Vgesk!*ov#ke|QrrQFG+9V31hB<0> zSGxg0rW(sccfCWs7Ynp3qoBOG=c5i*I+2PhTF-`Lwm^U&S=kqQZ-) zA;q#OWpiHOOw9gQR95mo=2MSAwg-i>`JNPm3&bU42Mj6c9seXGEaE%Oz| zw!~8AU0-alC!VoAaeG{qe{{)^|HuC0%bu>!P2v}@MN(_+dNVLo$Nap*T9+15sKUNz z2ZlNN{^I~wk>6MOXYSy~>+vhZf5>Us1r*o`C19#qi4nJ7yHRr`5K~NQzSEXJGjU}f zJ{GQ_#QyE$ANE%X-vvb3jjKFN5NJVz`$LRB}veS^O zrswhnM~P!{gb+X7$MR5u;d`-~#GiysGfYKQAkE)^k^_b>gLACBDlsexQJ4tV7fsnO%;lb zFR;6%|HT@xLk?qhMjHy`E2f>2^DB`0%qB5TDeDNtaBNh)qOT0 z0M_OhTf{}t)7ZV*vNy~J&=k{exhUhJ5rT9{g|$%8Xl=180$!nPL6Hme){8?&h+6&2V!CppQrW(gn1fBbmNc@Ao)fBR2&FNeQ7gB2MORF+T( zYg2P<@#kk=3SS9Nno90f-eQ*QvOz}1U7DT)yJ;|dw~GXN-fEWezjXHtjTfCd1xm*W z7rZKfo)ApyGEdetmMfA5IlOl}BPuVNk-=M11P}~Q@&u;ga!K|xX`(GHj1+m^e?9y? z9>*o4B>T$!GScn1g5s<{X%JWmKeiMay=?NQ}VcmrF?-mJoe0!=X$mtQ2K@Sak>n z9Z*r3v#i4;*_rE5JhSh(J&E4|0GEf?9Xvs{Lpa|H3Uu(0l5w*9Bh1LIHKRrE`WHYo zY_oJmv*tUKAe&jad=I*VNccuS9uJ4-OSQ+=!r|+gUm+#Ss*zJH*KMWkVVz01Ni zcUBgrDv>U)4RJMD<)oOJ%WFFVj9RMGfKum=V8BSZa)-F+vH`3GuDW1UdDqP%FLZ~L zo)od;tcV>#)nSJ8`t)%;zW%t-4PUQN!=Dm6QBKh2ECZl9VT4q$Az}gE`U-#nphvLD zn(d}EUlfQ{fmti|76sZP#(=tOnda6GSq7=)yPI~4B)~NOjQF$fpIH1bs~Y9Y^RoYV ze!qL$-Mu}&9#2C<_!7xxrpeK(9yA9}eGF z0QUKUMdu38qgkK9=n7Z~kI_iA%aSyC1GRCCjlAXnzbb4tb_R=;V0UaJPuDsxc*r^C z>jk9g2G6q23&vUHouub07?7u>gz&ZO$W&e4_!&a*?ftO-_UUz> zpYe4a<(8cpq8tz%!Oh4Q^^`$Q4J5zQt#*q0fP_tgL~2N6ofSQOZizElmp5VN3K)2O z)idtGp`0(JxKg%ktdJ{bfUA=Ks{uidGmw{s#SfDu0E&saa%MMjgxh=@R19Tl%H4Sz zn!j|n7m{0OHJaN15>RKMy__gr8!hnrrGMbUGFI$#HgZ~oL!1#XTUUY~$V+9)x7&z-O=4PJWg2q*gSPCXe@PHV=8*G6g`7e-3T!mIJ zbC-9r4b|-F)63^yj{E1giy2PsXfA>Y0?;?qDtysHZ5V*)Nn^0WL~PetYryzTc!e%O z;MHJLjlN~mS zNxQt0Jsi3}`10Q#zU^Q3-!5IAjS9Am6ZuM<^lmnT5UYMe13X(eSiOZytYfPS-yvWQK%>vHuov=!o^0F9a#3bN-&G4k|6X| z_EK$(OJ77S8n9>fn{pRCGoYG><2A*i2GMC_*vjT>Djf61p;>P5>l{0w54+;VRUMiY zu${H5Ib&nRkrzFtu=gKNIm+IDd#jpUv`#%GggXbi(?rbyK$!Bo&Wgsu=(yogJ_WjC zRxi}s2e*6^qk;gvV>D%Dqufv`R1#~d_~vw|$x|c`eysSOU{s)*7D=vVGp5&v*V3su zT0gR))P~#hk{?LU9!g{1(iWmdu(K|Wn2e&03>`&&Rpl39-O8u-@^mRl=G>+mX(TGZ zb>P4a*TzvyK`X+%Ry(hn=?`TTEjky6TIqs1wqT7gEIqsAZh6YhAiGUeQOGod1Z?(( z)R$5nYIeSmBdniwDJ}i9iAd*Bg=UH`AN*M9y3Gu2p0A-araj;B4QSfL5NYqX*=2vb zHduAhVKQiKrt7HCswz69u^%pu;p%?4VC2X*shz?GUqqXxX{Ir!WBJyIsDj(!8%p1k zr@%fr%Gn!gJ>iAl)OwO>{?K~rgHybK%I9lxdRVgK;;BFt`0Z$wy>1*Ac&6F5!OfYAuI&MrIGsHM=7F9F3!jtK1g)R3|}jvJue zA8*}A$nWMBt*$sby zDMic~O6A&2%BHg>AZAaB4zlJ&SthR0Em>xjk7wM~$tndcWGEx<8ia|WKF7<8&^fh0TQ~+chVk9oEaa~qrO)lQ4>IYb((-cAwe`Ko5k{9Yc%w2el;TpNwH zj}O*EOy(`~XtXXQv4BGj+&R@yIM$RvVi}|9eD#-ZyJEfiuFCI6`LX9)Ep18mPbjd= zJn4bzk}iZ8XeZ; zrdYnn1-rJHYCxo=(mbQg%*33T2?kwrt%8ly6ekyv5-1owOqCZ zC#83qIri&T%R(~_Jbn50!x${unu%@@t#iP(dmWkr(G`-%B}&gwoPf7c)b98hFpXDG z5`kbt3gm@<-Pi3@|E%rB3YQpYAFa{m474>27tdeIS@KX-UK5GND|IMe4u`Csq%}kK0auT@Gm!J%skrV=4?4U2%7%z?x*2Oyd>c z`?uNURHitQ4YSFh04gfOxp3EVuMyK&NQo`DT1YGly3| z-+fiUfTjiC@cZ#VU9(^FK@k7!C3DmfR5(Rbqxbg23`m6IB-ndC!mNnQX6oV_Z1U(7 zDT{A5#HX6+yn>cF8cnxT;cox(a`Kyn;@Ws|8gG{9Rp@;&g;JDN_*4+Md9Qw=zWp%WlHLgEc_XHk~e03~;HU0()j7 zImp&=sE5bH^S(TV3-6h|o482WzhXM5@)+oaf~r8OZ=B1Kc1!iam2S}}*uWf@UFyme z)jhCxHfC0_KKyKsU>GF3$q}5olp~C5Q?oT1$3aMPrtivv#O zAwjt8$$Ekolo?NXGWd%MEX_ex&Rc?DlPSz~)8t^*ebvm>6-*paAUD+}`bYvXovZx< zw@C{)Ce100!LU%1U71pu7_)*C2nx+aUBUeM%&Z}j7K}pJGP4#^)BG3akTg3iw>Dm} zi5IhHn~5h49tassun%UwuB^mtZxYXwetA3Geg5|M*(+a&O=IT=9Mk01I^#G)N922$ z4$r~$0tP<*6#``k+vQJ~$)BDCJ7O!LrPOtTw|_g{VHfk61w@58uu5ji0!9pL*j4aj z{^{$|*MtP3tntA>JvPIy5}A_Y`>@IJmko7G5uUxU?MB*bJbGo0KY0fHihX$o+d+@O z@n|ZKcvT?!((DKm53o!~iZt_dAUE#!$QpR#!_o<>oij9dUyF{)q(x5lYQ3^s6}XK2cSK_>|Wvy5FDo~*v4Mcr>$fHv*rE=|0 zbe%j+if$^`Gold9yj{V|vM*0kn;KWVeSiJBf61}M@xmX zU9_%~Twg`1YK(cNzU3(Bh{?&dFoX6vP$izn0hjSORAtc7c$Pa9Dykw{1v-z-8nqL{ zT$-7@LXb8V4NZJuAm1NepFyE>#c7Zp^=|~ZVGd(j*1V}#EKJQBB0h3A%2iSyGvZqi z8g@kdT#jcZuY9z#MS|Lvw*IAxMG(+;jUZLL>dgoX22Kh_%3yKkBI@oXUAOMsOqMJJoJcS(W29;1Fd0aZ);BGOy5a zx2)ihPmB$@c!|_9k)D~l!S0FGMQHZA7d-T zW8F;lbNA2x`LF-;ZvS6@xqI6k&bv3HpK)zWVSh|ik|lc63;|Jn$(=ny=^enjtb>UQ z*(2|iCQI32*|#Ll_@&RWcUqk@yIL%`bG>j87?6Yx8z44xn6S`jCig-!WTFEF;efxa6y#Gq@KqJf3RXSL zJ-#MrT=;GG*NFl`PjLoq%>6?eu#fHtTruBkK&f9Bg$T`%1W zW-@ahajEw)s z|B4|Ieg#pMZa8^kKCjsAXQjnym|fBgV0-xh=i_-D0Be_nrqCg+Iw0PD#9FZR5a>#m zAS0hbQ~;OO=YXsYdTa|z&|_#F7Cl1MBTP;~IR@groaMpBAe10+$+yIcdQ#!RW-3{z z;GC%sI=cg>c1pEUfGU&YH=IOd4eab5{ks2nd4E0}Uw^;km@#GEs`S~Ix_rG%jxRW3 z1<)m{(Vl~W5xqx{gmqUjJChjdch}06p!)_r66+xy+d66YcF4DBUD0xmTCLk`!f09( z=B70VQS~I82Lr*lbe8zx#PnU_noMx=Uo8qStyfgivaSd5_G7IooqP}E8c>Q{-$M?- zEzpiWR@TZ*;y}{~C3VO;L=-DF=%wADRU^!Nc;Emm<^;w_O!1h};fXPAY zCdzA6{$^aGP#!~s7c}6u7Ml=VNf`$EC^`b$b<){4Gqo4BDq6~*YRl?*pHt_vH;69x zz&>DXv8o)RZdN(c6+&zTe#BkAM&f4pf}q;aJjM;~v&hfRS$7nJink#C`gFYR{&&)2 zsR<@C4ako`3E^pUt8Dox5DBx38^65lz=okEwaBF3_zen!Ag1;6NPnQ;;E{eDX z(~^uB>gTv<;3O#0vq$dMq_wpFaBY`?HIV3Xa45*->6==f<=Kiki2|6(HY}An@$a5; zJ%d=akc6#@A}*D)gyR#n7oL7Q-Rhye*Yp^wh+q)OKS@+zHZw-~*4FtD>k>d+jYI@H zGxAYPD#GB5nc(o4-iw0sRS7W8DzpJUDm2*S{Q5)-njUm%-O^tMhk)rxM89>`&Jl<~ zuTiQuo_(^i`Q7D^TFmd~ABG;ZRA6NjNfRIslY7Mu1qP?=sXD*^N_&>h`m}14yudKH zSa^-h35vL=iciib5_Ck%N@mQ3vo#poj8A>fIgT2sjWknyMI(nTRN}Jm!z)^bIpp*g zTDJhQ@rR@aI<*8vuG1^PC3!q$8hV#N5_-^^)d($oTz^mzpPh345xqgBg!%FCjhhRq}47r?+uz*!4 zt{Ed3q(Wk2N@XVa1AWd9&{T{3^ax9{8kG(UQ|?F5rWeUy0N2(fHZ?hz0j7U5cOBGb z;5Vn!6S`T=yk6FDC7xtoL6L9AyBzsm08;hiEsGaGs}(^bSyiH%jdp4Ta+W5vlCfHx;SAbzmi!EUwS6=LO9i3`h_SHApddy?fWJ9jY!F0)Y}*W%U^n~ zZ1ZdEpmNZ>>l(_1p*6Ipxv<>?f8Tabre-oPYkB`cm7cmm{Ppi1Uw^xM&i4O;5*?ve zL}Pp%a?E;BR^O5`_PxmNL6EZwi#iXYpAOYh_g4?gqKXE^^}p8MdyZ5@%8KI{S7T%f^vG@Y zj8Q1Gr7YG=>t&sh#wbvZq~Qck+tKO;w5VC*=VF(JxJW}=e?0-6!-Xv9T6x0@Omc>Ua=iX8r+$S5Kr`@JBtg~*%nvoK@1 zQd5>IotPhF(c;CTf~9dfj~_4ZIb6d4#r{n8TYYY4ICDa(S7wA{hXtj&RN{Po&j#@V zYU@=r!{M56!fPQkN@Qwnc_$_asiW1a5~V%!diQ<*@bv4`!&OQs0Vm3iL>@y?qI~Vr z-@yNN1~Z!}f{bew7x7otK?!TKn$Fp1HPuU?Ll>`6IT5DwegEfN}gGl3KZ;tEAP4Wi7*xqDPJ+wo=bB`=`CzDu#3cc1Mc34vu?76*reYu9Ys}K4^ zwl_eWx)U1c;(!CKHAHi&oq;L4CB2(KCwvD)2&_WQewj@(aps8pR|5}qxcl_{@$0Ww z#r?5kd+=fp6oTijv5{j3)I`CrM$}y`f%m2UFuF2I9G&k?X;FcbU&8?S)dXq${l7lH z9uF@Mhr9j5@o;u08lQwP|48GF0I>{Opz)DbCd8a*VHx%Mq+N;RReWhQr+T?4a1-&wA)ZqQ~(g<-fsiLsA zmNnoSwGHA$tgXHucVG6$lFa85dHwbH{X|6w!mA{Z%L<`r{+TOs8CoEeTPM5>N2Jih zshrTK5E?6DVSc~5+h>@`D_R~DKdZ;fB|X}R9qEA`0w?uQtV76R?QC;tO2=DuNL2?j z(czl5Yc24$;skcI1F5zwz5FSx@`LB-o|jI>1t8xlm$e1Ua=i-7=9N_#!cq+n`1#}0 z$3K2tvoli}(JF{oVQZGTmkwAjPJZlJ>xuL zA8eQN80IaCBDGu{)8Hr&H(f^nu?Bvka|3h@S)RELsK=9!$Y0oJdm3BgMwO|%>EPou z=wOPke1;ke!u&EczJnxdHZC zlt*F8Wa+Zv01?EY3Al`H1KgzvnA|YcSFD?roBX&-Z|{5Z*1vo@{=UzT{E{AB6%|IR zP)(iCLj_$)f`STu=bA;0XggrR_;xL>#-2ya z&gG=!tUbJ4L#!bXSckq+fen@}G1cKQWmZNj^6SI?^S&?cb{@3-tH4~3%tlvoT(TCa zYO#F{giSd7^6l^fMJ}HNr4o(x%UcX)$F-QZVKc@6IY)r`q3&GJ%{`N4+bw=mNm3i& z1?j=OUy-PpRy{(FUqb$)Z?9Jkl}ks5DOuk}bkf+_55^baQTN&@LHT71XIX3o8~ShP zCaDScsbR{mEW1ca*AX3^F4CSxk%*4#(KmwE7mSCBR9e)Pxbiq*`I@mN8fN**UeNb1 z07Qy-0cr^Xpmw2!=4DOBf$eS$Rtx5IS&P}Cn{S-L>~O2f5VS47fT%?UgUwLRyrbwC zvKH){qmu=_N?`o`xPQvw(%o-QhacyRX{#)?vIdA$sV;fy3Z<$=0&dpY1`am`t!YeO z!6;MA-EXp2V6Ly2mNeXdpufKT=l}X&fBDzDp}E>jmEyH zuxfR}$jvHOTIeY{ZKe^VjWQ@%dK1Yh2j8Hyr4xnhX_y8rsy)AM;o zey=&4=vcgyr=@SK#CFRMo6!0E^=usi(Hr>?^{dZGqcva*3is<=r%XI0M+B_v8NU{FtfcxYVue zSeE)}AhXwLegcXN5CN5!o$AFZD9uS(HFXYxAAqSTbHRhK^eAn^BR?NrU-rk(rwyoT z*GG;X6mAqfy+2@li5yl3Y%@t>*4Hyuc02r@txwk~XY0fCUOD9#*5{V0g$j;rPzR~d z&ca7oS$63T06R3eY_S+bq%AQ3wf${n3se1Z5NAOC7}pg3IA{TinjZv)YScLRo<9pM zb*stphNuj+b8hhGzY?g4)fjo;(;N`A0<%^piINo?H~1|x*H?bcR6x>H3tbz`XpvLd z;$%V>E@uV#47=Td1epyTA79m=-^a}w6lYA! zKvxa$W-tenHArYHznxXVYXE+P3Mgn3*kDEc5>6pDoPxEqv z%_{Ty(VeBrdy_+zagU@YK1};bG|Jpww6JcKSQ{qJ&3Q5Ls{tR2AARoTXet%aUx<#l z!^Xx&(X_$TEiRPLo|Aj5LGTS*iZ~eEsg6KemoP4*Enk9RjxSnU*Y3WftN(|TK-EqY z7xAhE;F)SY2<4fqPelv*G?UhAf%$c4VLHTS(IPHhkTciI6RQ@cyZ;&+9?1~tGD>$s z0emfBDkKYk_B!_#*o3wNS42cFw3TJyVZeNOvKMTo6h?`#nObe*In`D1ss^cQ5Sj)! zip3Ua2a;yTouePg7gth1He z&>3lTiw=r)kdOI~>p;a)R6bV~vNb9JN3TMT(hMAV+rSF{Kq`Rkwf-`!LJl`t|BWLG zruZU%_9v1Fi(MGrsw#5UAcep`gjS4%q9WLvhC0Oef*V z0+Wa2aN>d$!oENJ#aMn0$re%QEpQQ)?$av$5yZAddhpHUYtHj3fQy8Yjz4Tt z9m;EZ6bu)snb=FkXvY_jCAjSc2>uxcY^m!F;0FjbqAG^>#lC z-oRulf?;Yez1Yxcp@EgZ|Mv9!^u9kb|L-}krXDD7|sk0n7!kr%x~Mha(@y`(5@L=Tn2MM(aK)@LvNM zF9_z;x*oCJru>>hPAMB}2)d~y!I`)Pqk4Z=gfH${ z=OFe*;XMm)8cYOGofNK;9wDBONYBig)@u+$-6p+Z=}m8zN`(FN3nmlJKV&h~p0fi> zfa?1kcC~xsT6Pf9g6cKkYx!Suppq6`{Dni;i|CO2d- znc6xfyl3H^2&<_=n5cxFFMD9{VHHh-@56oOp*GqUZIFw zxTMJ%UfC?I6Jry_r7kX=ktx?d2T(0TsFo+N9!dBDRG#P%q*qQCymAnLitNykC2QYR zSX}dG4rCw|{YY%@jpQd3jE)p{(AR#c>41A{&rS=i9xmZ zk*=4kfRL>MWP{40B9tIP^T)O?- z&KY{nDo7n%n?g&P?~wvlO^e_Z_7?$mhaXq0gB;tbRbM9W(wLl)RW4^JBo+54|Ne!0 zr0N(nJTbstXdCF*9mML0QBoSfeOcHiGRQj$9 zah>G+38|#|Qh4FZh(qeWY&5aaq@8zmmET&5BBq$~X{m+zyR`1k0R30BEM*Gk`X}rP zOdRs3&JnlVMrl=c$I|wpY{A+-0X%&hCR=6jbp-z-ezVBVZWyq@iR_&nI-j6X!M&F2 z+mwjTb*rJ<%?%SA5jMC-5S2G)$_A}Tp9;upVTChpRR8@o~$nyUR9I5kPcw@CL) zCujwMIm*j}XcKALgBXKeas=QJccY4?OQx(`imD0B758kRTAi4UDU)|;VB`PlO1M_^ zx<(0at$5u{36WE?622-SQ)TqfP}=TKj35}YYDzt{?T(pjhdMV=MN4=~{7z^eH+LMqx z@wIH|T3uItp=5?t&srE7R0{oIvtm=tT=M3YNnjB z3joL4T0zCic`9U2B8-?Ol{+Tz(nj^w$C{#D6KK*d$)fq~g0M<9YZuyClH zrnZn(#liyTyxJDwr~NbL?b6IQbGz*Mjg_wk&asH}W{DSMC#IZyN#icxw0d>&>rFR` z&JNjV*+?U<2?~mi`}bd8OEdp`2Lw?Ue}6+IUr5;*QoVWu2S3F9r~I*Z#SdQkj&!fp+9Q>???j#-;f-SST-$=#?XI#6gE)C_-PL6vuP{=mmrX78&+)O$mo zIa*MP>H0zCB7AknL*GDe@-uLOpFaaF7cPN650ip5T`uOw>#By0X$ci79>Dn3AZgJX zeMXH%{HkhHhiuJokK&*PrnWB_Q6ri-2pr*f#Z~Gaw58fFbrJlM|3i%BRM8Z3*yZ08 zpPdTu(aANNoE?Pfm1XUho-^{aAN%9y!^@?JB8bs6d+$)XUWwl~fgSfU^M4aSOyR}S zv4UvX@?0aAo~&Rsp?YE~tmukM!)*J-&VhEFA=T-$6L3flN|nOj$DEj@9jr?giI^%p zCV)qPyP3P#l3EX)^EUH$mg6H6?@t&*?T zW-7TP@+HYjGPWd|DXWrWrtdb%tN#t|rzPi~SfPwg-?#h)Ez31(E`n3Tl~#+j*eBu3 zO~W@5e9~}@)%OPf*Al$3y0tIZ5)azgf8q_t>>XnR7=^apgSE}%3?5VQf^I- z+qyzwDE4x);xO!V2PWd!IaX&I#jW}2j(rOlFi4H8OT;~0z@V_SsgT}A40IVW=U_|6 zK5Ys@ak^g*yS+#UYlfRo8@al3Nawxpa1eC^yQJbCVsl+YqDUu^{~-a?zfNZv0+QyN zqed+Vmp^IqF;^Ez?f&p}%GaX#04i(c2WQm$D3qz7#-xJ>o5^|@x~%=wslWb(Z?a2o z_$ZjLOWV!|l%~^i&&x3`xn3tR`ASZU@(~Ev8%lK)_zxHDwx)&2-EjrfsZ56Xx^zzE zL;$2H0_}~Gx=_=i5U8C%gev(R)>eJdqOmADEVnHIgtf-*oNKUBTRN`EslhA(NHkeb zXPC1~yRkz+tYe3}Z~Nnyr12N^gEvHsb^Ih(b*MW{?)UP{RZmcX^4?B%i*YgcGd zrQ_G_30PBlKk*Ap-=$qxdJT-bQG+N>fiBYm22r7cYfM307V9=01;Hfyt-1_z2O+xJv-Sv&M6X6eBb~2 z^!E6E+<(6is3wt)1>7X3PWc2!l{qxbl*hh^)aJ4@k6NY?Ob2wkIH&5AAt1@_m$C7U zIQ3TimR*kkUN`^yfXCSO6u_v~_K7>qZrONCmRNMcJh73b(AQC@yzV+ZJnNyV9%GB( zXY^PEyjQ{Dpx$&@5A7o|HQih^N?*6>!7kc&Z6`(eB|GSG$wh$Il#c^^f*SJ%(lGVY zuMXdk`mix%pS;TgS2fV~pb2)fLDS(`Z(}{Xn5u@Isd3S}{gmkW&YTf_5~ixq|7H=L z9kbUXlm)>stqAyS|MI^7a<;-kFIvF5K#z!Wd*`4V3c-iE;y_v2Sk%f~0FL7db&wCP zGp5NtJQbJwb*{o|B0;_&VOdr@P85G_#k%Np%P=TklkK@FlypgN<-HC@JIS&dlL7S*HW0bQyK^eX{u4OFUFV;eYe-+$fnaE4~G1ybcU2+O^c806Qd3KGt zEp^ZUPYW_iYK2GZ2-@X|fY$l!lGg!7t(jkZM)Na+6PW-k=0Zo&3Oe*0xbz%&vlgY)kT^H?!hJ`s$RUxJA1F*TXlj5gbHAWXnIfV>j8(f3Y=c{udfs-lowfu>Z&6R6dgmDaunr9xg=ShRxo1i; z$`kw=406l{*yX=|m)bRo0C!9Y2HJX^`ir%wE?PoT=G}ldd!TP&oQwq*~8~S`F zr7FA!hd+dUDlCG8mqu)mz`hMDUvSybK`%JcKTvv*zq;P?YLw~e%@fv3|E`Ph z)ftZ%->Ze!viq9tUJ>5Rt$!6BUMyb|z03b&y*ROyD{c_J`rssCL^ZO$HAib<9kX+( zFi#MGvR>*uxV0t+KTF$Ff`$rB>u;>+vWZto3nu5negCtyKrPRzE3|MfYmskvqe_dn zYN4tY!z<7cHN4}UGZ)(-l6c(b2p{IN^8syEOKZ$p@*7T3?Jyu!MZ%ymFyd}jG@49) zSj}!Y*jdry;q~L?{derGdU?I`7n8KcNkL^7+w0(3dk}*ioTCK`Owl^Kk}%ng&)<#u zt$P5s(`J@=y0Qjwa*00eKYuwK@4ml2d_BBhg0rXrtnZWHyxs&9PFG`;VW5`NO7~n0_bm`z`FX7wA%je%O3qLym?N3BQuHs^EIsxM+fdn&jW#QfM0IsZ1 zq%{}FZ^>hBOq3|dg{^zqv6Tg*?i2)R<&{IHU`=OIj$NomVNGmE-!qUj%M4u_C6Cb! z=&RfS7T54umR=@}zRFxiL~!}^W35kMXajhL{k-rrB{vE$uygXuYm3DnOA|E&b(`>}`rRN96%_d!_}yPr zJU+DFw4CK9lytzq&SFkey=@pVygwzoGi8oLNjn*WuEHnU z&d%eBIp@`aApp>1$ljMuI9D0w{fg|>*-8iw(q0AZ;f>QMn-f@6XEH@eR9m!0&z%5f zYC;2(u2n275fH~xw5Sd@g#QLD;*DBp!9}#3)1rFZ5GPvv_LSp=<0YTlBf<3wK&Xjt z8VXrzG2AN4e+D4`fCDG_MeC-b@q?t1;fTRhrz-&nB!5mA?jQCqzrS9B@1htQ1T!Y^ z^kO1tWLHJ_=4$;a|Nbrsl2~7sA1fjJ+SZt@54NWI-8ghB!QFrVme1vK8IjP_V%2E= z3pepv+c)Q8Tq<%Rr@Fgra~tjXQYzA2&|haO?M(dYdE)?HQDqoHmJ!be&V?AQ;SVgf zTmnYWJ>{h;p`)$E6QUbH<7J$<$1;!2NQdr#?3}uo>Vo5lfu%{To3t>C9AD2zfoaR` zDL0p3E%-}HSv};xeW&a?auU5dqs3%e*P7~!(}@4rbO$bLVb%lyJo<(ziZ*p>v{n;1 zA4(XVv%rXgM8m}TGK4?USe?%4ZS~3nJDSnq_P#5sBdZ>iQRcU+PS_=l{IVQ}&GwK& zLRpfdE{EPc4K>eYZ1vDd_6O>S*^PRbB;XVdZ^JFMPq1+iLJjOE*+q#^F5#)&?!(M# zbVJGPAZ&Hkn>qHMP{T@Wjsx@R=q6-_4|!M*Z==~+@!?fz6qsQ!j`SFRv*^L@8hmlm zQFvOs{C20$_iJEW3cRaU+6!_PW5K5!g$t{jThh*}4NI3c6P%sxds#W8Mn020MsU(4vjR^Bvn^Sj!(aw4_TKnS6B*M)-2sKSU*3ONYv^|PH}e53+VDv*fV2to0erxkJF|;#57&R zMDw$vi)ec;`uf$S=*FNKJVe_?bdgP-6P;ajG`&3qBP0U;<^A#RKOJ+R_xt|r)FP6^ zGBw&ljYu_;Bxy7INKZS;8+=ZyL-wWcW>w_q>-s0N&6KA_x=Pa(C1{yEgUz zjkYBc3asQHa%KAyXlGJr5J&B_;|Gk?4U3xB=t1E{qFrn^O#;1Z?M(dQ`dsDbiW{y# z68;ugniJhVuq6?Ltk7cEGO25g%j8gxwwcr{Ai(_Iq(vp?!qn`bg}OXFp{TMbUK&w-dD~$$e zEwa0u^e;sFs5sB&}qGp?i4)aU?#c#eD8LI!11ow~eo zblNgQS9BB3x*)lf@mHn&J)E{#f&76Z>MzSkE=Osp-u$God9K%jqAgV;8+SKc9maQ7x|7|~SaEV=MpeD^kKPwJ=Q!hc0+_Xi3z4F_cAGtgMn=;Cz{{D~5fl zV6N)sjGQK08T*iw^dh>;>9J+b!w5zn@u|6x9k!M1D||TfbVUiI`&qJAr?!(l{3O}g z9fui8O0o|%mJ51pgemQMgd8Vo7$wsV0r2FVBFNCRqKjo4V$VuYzocSaHR&LRE` zMI? zHwe$(Sr+9flF7f2IK}Hs?1dt*7``ceWz62lC~pA8I`VMjpOY@T7uw}7GqHY8E57aa z=@kvwKg)u=)Znu0V^(lh_6`eI*2FaIVerP^COWfnMOnW7j*p*2Xs1**$e8;dJ8FG? zEA-?bMyMXTLq>Q`OICIZGBz46od?`4b8|%r#`M^g2bPGjv3b7W>qlP(h&^6`wbB+9 zb3?DdwMPJIdh9jmvIVlK;7pRAoE||~tog7^(-md;y=b9t)?ye0M8uF9Gd*k3IUl+f zIo;QXC?;c7sXK0Z5my8~9#GMOJ#w00`Z)-R_rE_r|91EO`Q?uj^K9H}j*BiAZbkRKQR4mc}-mJY4X6uS+!nhP{;QQkrS16$5${tN) zvDi+jrTk)Ag8s8$bc{i!-Er>9(FB)LuH9@>d6qrsiJ$3;FUkRlN{;-2->) zhj-99Cyk1_!jnz(Cg$hdeR9yWIB&6{LGQQ&i|n3d*Z(ltO?$&XS@yuPkG!SC-*-;- z+OA3BzM$NTV0>$Wk0gN`ml|D82Vg;)*uYj&w`P$Z+iB^15j(Qj_C~Q)4jr(SQ#dc+ z>qQ>3yXZRNC6q4?Y|T(iasG_xt40%(a;42LL?08Gvmf8eDk&(NHw?XsLN)YIx(~fN zuS1=0%F;P-I;75yi5(p_EC>QmodHvGr7irJB81N27oae-n;r2riUiPe#e9}pwHlCh zG2Ey}^~On#?>2tAp;Q_#xiLvdPxqyFKX&PH^t#1F7&gn^iT}1K9Ah&jOCg*zQipn} zn4l}EDL12GfYBG9RRSmxKfu0m&4LSbe-bal!zk7nqgO{Fj|S4 z7i(cy3-@!i2x=pgz8%zXvl@XW|FYRW$Pg$Legum>e&X&FHS)Rcd@(b3rHQ^55Gt^; zmzC6aXLYH>?O&YW(&Mo&yk)$)T#F3_o}$7r{orMXIz6(t9xgqq9{_+a?< zz&GcVDD@hPu87AZe%K6|MeUlYyONm+>Ay=0fjeDl(P2eJi;~!68=v364wZ1d7EIlh zjQJT_Tsn(ZY5D%MSoJ}eyDJ&{@1TW%M*UnZ*gYG!&>~fja8`Vcs$>2AG&1CAdTtP3 zP~d7+QTzsboex`VJu(AcMv^{=)wb-_YBdzQ z4CR)iH)~Hppy6}oKrbWOtq99xRyzFafPJp-dT5mduS3Vd!y{^k!MDV?>d7q z&R(2>;El>p%<^5b76dGNCfpnJVDIdglcd*q=O#K3#b5?i!~GGY^p=-<0CkpqZm$r5 ztu*`QxWZDHp!P+_#J<_9@0Xl@3z<)2NOC_2-b-{OxXbZ$4kETgaGkyp#2B{;&hFSx z?l^nLaAls!^*PBagMd`i-Z^1|D#pFI0O0&R(P$R+YDteQ#D{;9G9tb*1%l> z4H=3rmYRTwCiGA%?d^jY9Pg&ip4l9NZ`qlm1_(4*TqQG2v{SMfRdpH9Hd^{-t?9qfLN`qV9AU!2BwkpG{ux0WiB&>|Q|Gme8t=$$mX z8J-3&)nDCb7cnbEMro4*H-;r?lx)?acxAK6>Tl!rxv_FhE!bZEt+7z6TjzW4xS{Xh zhtYCrLL$3yyB**pc^u|*LX|wQ4rJggd3R=mA-E=#wcLooscK}y88+QJ$2NzbohC4; zGDkO*;MjR>i{7`ZWL#jc+Nlw*Rl_$mdN7p#6^_PAH>t+3o<}qI!}y36Q-8d=3^m66 zP@}>ah4^t*4b5r@`%e?}dJ2Zr1zw^cskyM8XPd0&P;$pQ_IsLXRM`e)ODUoTqNj_y zAfvbMTPNn9_*dqgbe2O)BPa4z3d>2VDw`df?)&CUyS9q5!*KJwu4{2e<);GnPov zA&9_#$RMt>(qqb%OQhPi9#8w;r*JsVjp=65fL*aHSO2I6Fm5{yyeMsT4V2yNo?GlD z4cH@_84Cpso^v*KMQM@R;iX_gv{2sC6PBKU)q^KMTFB8*{>y{2-7%wucM{As{9(-m zH2Y;)8T}40mpB3db+P@}4J9GjKhA$&)rLOi>T^0aUZc}042v_W1=Z}6<)XYFRsmcg zy7B9sRl$2~QkmqvO$GMHc76y@;oC27*9<$w=E9KWW=jc@b?Z*tqAk^M!dRb^0k2!z zDXOxn@M=V$)9i_-0=1!fg(`E$chBE0nNrsPrTQLIgy@@fKZb<9=LAlt`U*@mAz~X( z?@bn8VAKLiw<39Pnw_xq3kA$|3>Bd{0!<`=kUkC>P4i?{Gn!H7C#(+22zsTB$`Ls^ z*q0;L!m|^W14FbU1`)(HP*UwhSsK;_N!3sj6#;cJWxxy#OKX_XqWo0*xy9Lsh-9yC_xofIQuJPmOUhmrT}r8n=qpMMr`i3w8Fh9;D$p|;e!Jio4jXNj zQ?eW^E=^V=ErzTW?AJ?u)4u-3!mXga51eM3)aEZv|7yI?<0um6}H zm7>(Qt!KL$5&V`eS#h=;cFW$N<;4iHNe{d8#pvelfymCVFAmb8qF{lvW-v?k{NS;^ z53ONbsoQhPZRBYat{(_1VVG9Y%Y*>NP<%l&%Z-06wyEN>SB?BBC15&^N)OZCp zp9?H7QaaMwFtxl*`OghF_~d zcMC1-=}aG$)S%i8+bZX33c-pnuxi1cdSHMH$*CXHf|fC0wAZa4cI+G{A?px3AQ0qp z(82F#NH^-t?%f4@>0w+8dw6H+tBZShhut2SNd`gAz)#UZ2>A}_wo6YNtcmHxF08h< z`(2*pSx=*ZMG1D;!!Eslj1s~${aht1JMK8)x{RIL;pY%hnks*yl8ydX4&Z%I6VVAz zO+?C-xBIe}0oyrp_+*;rR;Cnz=joIZJ`J708hcyz+yk>6=7;<|KeS!3Z&lFqVUQ7! z{^h$Mq%sGAIchM6tk6iNmLtlc5m?K3X&5T11q{o6dsw*Y;5z5WeH%K#BOxU`{6Yzs zFmSq9@)kLnM!weReQhX8Y~rVG$Xv07ILl63c9dPgr_B(Hv*cH5!1CLB&|lCFCF%4; zU)&_!xN=iY@^BW-N?}e8H_GpjBAT|z?$3hVcGA12;qC+Dt}g-Y2GR%6z=+w9xeh>6 zVl|V_?gBOTCRHr_f+}VoC|+@W5qe-jE%LL|PP3!X(_K2dv}b$|!0PxyyrEWC$=y56 z?agR?c5I=0Y;P!X%Hdz!S2CPbp=PC)J$4$$dP^l^xJeh=;+trT1Mi5&ju&l(C|J}? zNEKjV5R7BPN|Vg^+7_R;Kg0&!?!e^;IPGRU# zq}J+J7IaOtNI7mXfXSudzpN^ROnO@t$EG@L(W828C3~LPmxHipyZ>-}etUm;zWen0 zc%jUlbzJu$*q#81Wc^j*GlS@RhXM> zw}Zcw-1|v}2P70$+E?3$1uOWAN;OHF!zMWGd||KfOAd~(@Yt2#E34stT#bQJouGL6 zg~)oPC>c~W3LZHBvV#$$b+{n6si9eoRjU2@;rZ?OeE0DZz0Q{Iqu2?Jm1Lq`Tq~|U zkWH;+>q36Tw%47&5N%HoZQ7yoS08re_A=QktV#tJDB?EauMo6MuIz!zcq-S}&vIP)jRT4&LBW)p8iEBivv#LwpoeI|1i;X|KV^X@2v) zsDY6-s#$LGr`9Z;%uM+J*e{#!Ew~QVdXQ0L%(RQ1(;b0f_PXNVjn8@gAdBI`OCi>nk$Goj63dcY6B3OCeM83do?PkjZR zJ+EY?tU5U8;I{L4g{pwywbQgsAivPDT_raVA!skiWz^>n&Ude>P^Ra$FaOkA-)rYOn4a>RD@sT`00MKf%H~MEXRCX+Kj&q5(3qzH_&UhczDy$c)h4cG0m-uq zb`ypW9256{d-(V}s6u}G`ts|Y%r#iTyc~xr^o_(;a zp=Pt_Alg*{oD72UKU=ywVI?{c7yv<*xLF7Abax>u^TxK{;E9Adi68##?1SY9&P}3A z7fc&e0n$+yMaND{WQ!ear}T}Yvky)q`=Q^p5H6F337WlL*J=||2{3Ul}`B@b%ySQ1vj^8Q5`WZ&3C?D3Af`t zEZaK$(t@ep8RD$&qC3KQ1-HOjxUiV_sFYnKb>$1#W$oJtk*XEJ^3|hati_3( zecK^@fn-}v3{{#gqh&GcyCnx^5AJq|c}#~#b;%VbRb1)|d{7p;P4en)wHljF5m(?I z+q3WfkGpTj*XOGUeWPqB+eA1WVSxsBOYwP0+;hYcUzsVHZxXyS5?0z1>=a#p^xV%k>opMrc6>h#cx3y>(S5e zIShuNPZrjPn^oOdrR~akT09MjF%nxCzB(&_%4~D4IT-vz-~B)=^$~(k#_rKP+h-YBK4OOh)s1 zZVJ|UT1`J>Fbee`+K#$O4f?D0mT5uIt5yKqwW6FYqkw+Gu&ts4BYR_)eunH|o+au`Jw!s)_=n-c=Z6;$-2rC{ z>`DP^SZPpStRGSuezEL={odw$kMJQbgy%0m3Gc8&TX-p=alc7;_Pc&nKfGD^<*gCj zBO&{b-q?w5vR`UsTwZLW{k#$;b_$kK_w20gc5BEvFpl_x?MXn{ z1nYO))FgTeV@bM*&hFO#_+}d`myr4`kjG+_Q&D3_!GeoqbG}3*Osqyh{hy*>aSO0k zVxJqv_HPcUW`y-cHMAcxnhp4B-P);o2t%Lm>949D9%!w_Ec?0*zgVu~68qjD$pS-i zx*o^thsU$~^5_%B(TNqFOk62>76P!9^UlV|mEZ6|l$MJzjqAr?)S{H0*aOdOI9Jaf zt0e3Zx`YUy2SiE-If?mWm0*vOz#4A_lXCt1abgb~M{IQ+U;pFr{bKoFjbJ~ev@4yM zp$^yGu*O383YLpr9dw_&`zs~xP=nlu9QFp`~VM*jn8Aj@yHAZ9S4wfkGrVOjk3h(qhOU3&1+e3C(Rf zj3ss$CXBRejC2jTjX?1NOzkK_QXvO$VmZuKf>gJgtkZfJ;AH=tEih{_!^@!k+wo2t z_4a-tDcU*~@q-y66hymDN6h!)6}c2^wADnS?NtM>dEBcfpb09Lp{t;NLfE zV??Bi%pR2$5mrn?bjX0p@K#nR$Jl*_4&h;T4Kpnum3z(bhrTM|SqWi~2&#g}=;NhX z@Cl-_QKe^0a>Vjf`uMaua*G%n9Gb(_85>-hDj#1B)K;#_9awHR$qk4NI%C`U)!EeG z;7bo*X3B&UV-u;K5}o0%9%-Dnum~6e&h+KSU`ZwEcgf``=_5-otxvx4XiD6Fc{)D4 zJv_hPeSUm;x+1QSP-9#d(9d&O$W1P}08}Wf3*Zuqu7}kWYpZ0-;SbRZ>n7BZ63dkgG4Atx&um>r>+ilu zvdxVY8LKaO4Kh6f-{->nJyJG@koj}>i?pRvKr`HfSMC4&S}VzHtu3UEjG8D_iyU8OpVr_vA(Z%ZjhaZSTg8rfS`F|$Y7DU*(KaY|jT#1j z4DlGkV%p-NtJPrFESJoqZ??tk{jOtC7Reeo5YYtZii??7owXfdsFcTni*Z*B)XXh+e%aiPZDlNCj4xW}m{y#Lm{UkZL13*^}Nn|jzhXIn$ zNexLp{$Y`v9kSK`D9P*J9lrTbkes=>%)EnIAq;rN2w&kr_vss{1M}cEVY-T!zWH%&tKR9j@va$bl08hXhlsoje#Q z4O@@Q0rep`ZUMB0>~sO`q4-dZ|U;lhOe!Fya z2-nf=zR#ur-6dsZ0@>q*&MT?0<{i-aMhOTkAUIbBGGUJXhjBMnfxT{6eg4lce;nW5 zb1r=M=hM?)SLiXABIwZ>0mh>s23%6Z0jh;?a~^U4o6;_uS4;4yXO=D_X?&=hg_^-{ z$CuaNj(4A5zI?gZ>riP#I*~C7nwPs)C)|s2novRoFtNeJOc`Z7*a4KqD;ESfp#>7m z(PiY!0D8t$V1IhJ`|x_aV(@BYDXru;(wj-X>W~EGN;;%Y@sU99MEsJApg&EIq{z>X zSW>PuXEx+6w|O;%-X~V6_~m8FVn$zmGRVgAWeSlqNoC6TwjL&}*sYD@S5*!6$#Kqz z(E@pR{&al3Vo7kE&cRqh9}H22=+s!AJ;7gX2dz8PBnGjO3J;>T#TW9=s!L;9E|ZqS z!?$sy;mNgwNZBoe56alpIYhRvl+3ssydF{mooyP8_>-?%B>By+F*%o+mq&b;9!89` zf?OMI0&C9efkl@nNFBWE3>cfSH|oLuIhh~VBMN4#gwzs!54Co8dgIX=r#2MPI}u`3 z@kS-sQOoWh3Z{D7DRF70Y>c;whA1}1I`Ve{+@kZ7b_@oz#vOtcd(1;B$=dh~PM1uX zpvw&Xzn`E6Y{O0s5%EbiLh?f>r%YM)bb}h~x07F}@#W>)@pAQ@`XBT!r8?J^3Oa{d zH*@vf`pDv&6alPi3ZSV2@dq}5bf)^w?{}uZS;p|(~}m%WC8oTp#of^4rb*%U%9K!ley^$U(icTXVAb3>Lt-_J8y5wtN4BzcPc^`~ za)HS6g8k{RB3-~N(T>-s=Wf`4R=UWB_DTp-qjXqzkrAd2WLDJ$F#DF3E&Qg#)uki) znU;!gDHdaeE$QK^isDM!FwGrhh& z%HjG~P^R6o2he>!HwNlo&cy!|(8Z~XMtU&WmX(da+wV`6K07cFOkh)|U0$H)dVxUH zlkG;*`MEaVYY==;lD2DfoJi7`W6R3*-#;R~%0|#+)9i+)+b83S^z`jLg>SB-*KO_c zxzXC6k)FM;?DDme^&fyve0h3!yvR{PbT_?Nq4GVX`gK@GKh`8$kHA?Qv5G428#eSE zTu%2F5Q_Z3_LWoS*RqmkDF3s>YIJ}6^Z5GP>+$$}_vQC*f1T387cF8#(&ZoyOcmB5 zq8xm2i=+`a*BsMi%eb1g-^OIQ1`|W&sJb#H+Om?hCj>fobBiW_0eV{}_wu2s%w(5K}yKs^!f*^UHZWJ>`M*|l+)am(5n%LvYeTdUakv^4hJ!|B10 zR!03&0?yIg!S`toWeXb34ro$l)L-l+@l3g8ZTk0<-Tx%n*%!;vK9b#E*F6~gF9Gwd z>N{23(6@de4=#7tXGE#Qku@2LVjGi_NnUz#h0pIRT7Y?y`j&g_H-<8#a@ zKt85sH&I8pO?dXde!!_zw$UMjzew3O;w7*L(u6pn00nER36_VQvLW^R0n1aYsbSGM zV5%*kG*pt| z#*p;%m8uAYfw=)Gy^T!;zpGidh-k|<>EQaROGPdq->0EXPzzceGbmMHKP*XyEKu2; z6rV){l3&tt%)YFu4gS;t=%i{VJYQjdh+7Af`m!^A!PjOEaj1>fRE#;ctekK9Uo8BJ zFfXoRQD)h)vTO4r!h5Q~T_Zejav*eV7eed$huf-oAH%6VprRn)dbF8}Mx8z#&? zzVgiO;gVNV0!M-GjBsMqqeEdelixsh6oLh^T~i=!8j))G*VnqD{HZ30X}8=qC-&eZ zy5x@wjEI8?Um|F5PIu8qC_==}pz?;(Mu}I)5#bk-`CQaQw{6Tai|mSJpVvE)?ALgJ zu7n^C-jv+*>Zg~CT2);XthW@=z-am877Ky-T8ClUpjy#TU9lU+BJ!^-MY-2Ie|P-l z?bTi8Tk%7etn5lPCza5y#&kKoF$Xs;J0^3q;!jG0jjFXFrr&b1tkqO_{KefpUqgB` zcKK-6*=hN65L6=x@9+e~&^kayB!3b=+|gK!etRb20%Pg;l;I10e|dR+|Ie4&N@_Hu zo8LX)abI@z1w>wzwjPq|!rJD%+S{QxZX&J1S1*ihg(4))St~}nh_C0C2#z>wv*Zkz z4rF`!x*GIUJ$J-5yB*9V6tHwb6^`ev`~ni*V@gFFM-kq$@abm=PmBTi07l_Eict!0 z2}mGhH)X}~4Z>G1>?Y895&p~9*H3@_^6~Zf_VM`qe(CyXH~@jaK`BLd*4i-DL}~d% z@nqT7fwi{#SP+~-kF*FvSKJexdAHoaK8-J9iv_wS2VgH;Tf&&Kbxrm$7tSeJm0c%; zMW|h%uu%;q46$-5B}FyuwkWbEmR))PwB>`_)8Pi8cShF z>Upy7oCVq^#V0HfQ*F7ql#)*&N1ubrAedA6LaFsFa#m4J430PK z&HzPW>(iJr;i|(bv3L7r$DS#-u#Mw~wTJ>cL>$z~4cAHR-DNFkmx8qlTgv(BL{s}@ z17l1$rv*D?Ia|;wqxn^1W%QZa`sf#IA#g?uZ(Erp(3&Kg@CFP7tY>m4y-N%=&&+o6-KucX~RoXH|Yy}T>oMD-;6!##IMmD$| zQpX$M0uan&BFm=vj%AUNIk=px(=|1Id-#&?(Zfag<&=8q544~t&XI-XDr0{1IjXiZ zeT)Y_P;@5iL{LboV{+IpFbkLS6Kex%`S%}=@1KvCvdiL=dr}4>eNeVA3NTEib&Yw{ ziqF?zv<)51s0yFIomLzdZ(tT}N+#k0qxKM6YP_{Y&-zF7h&F;&Q{fT6}#XA$nEk7h{3Lf4DeUjAddQ^xpY0izUm&5h#mI zs7~g?r9izcSPT7d@oPfNR9r4>lkikrk?!o46Cj{LzVyxw*QXaJu#1cDzj4`>_q)=o z>;0CmQ_t^homL zvkQ*)XUGnru8$%C5T6lU2LR;M9-gaK#CdVZ zBiU%O?~VS)MMunocHT9jXPb}?F7|4FC~b|aMW^t%h(2+wXdH}iS_pza{>%UKKmP6i zJ7Mn$pV&Jy+0rQL40MD4xg8`O_X~d>)k=| zxN0#Cx9Tuzp-)C|@KmTq^ypvHW>6K>;IqWMfX7N;QUO^~_H|uY$$**E*9Ja z&{s4_yRqn;MVuWicI6U*r-nX>15vZqXpE`|n0Gb&m9uSYCxDfv>~y2UVB{evh8tT) zWp%e+gzW|uLe-(VUGP=)*a1+>+TTmz;pse9dLVfMKZf;kiDR59(gvI#b$G^XHhYX# zQ_;3;6O3k8Qr`~SkdpBwvMl}p(AqYN-(H@w-+es;Zt~?{H3U5hofj-~W~hDKCor6V zWp`$CtdFzJD#Sh{*O>r_BWAlLCmD z-d^!JFIJ>GT_JIODAN%4B)av@^eCGYBQ5ji-}Zw`;UGAxwwA@4fjO^wVy4>iIxdC3 zyFz-o)fzPjxM4SZc!7>Um8?PxumdB%MOjZTn{o9bjxa-dz@MHSu_V}nB(b5^uXSsH)7Gwf~W-7_>w-$w+_u{YP^iPpm8MASeLNr!dmCx1l(bsz+_ zKxpOApN&pLRf6y~3;J?Dl;7BDvdf*9aF7!aKm2yQ7&Q#Aj%?YpK=<(C+xqne z)exefF~yF{U67E3bxxzSowV23LaqOE}Vx0lb)=P3>7t4sj1b5FL zKAwC5czf`*5}1_`J)}mzP@;#}!hYZQEpsSt4J2op4;CYyLnN8{>Lc&^_f3 zJ~UH9wn8}w8~Xr#&WhF}mfY9+ti;wC*LAr=>t#~QLtt;5mJp%O$Jaj|p06QpR$`ed(B7Gln021HkKwVlO}Wzu z@hCd#@&(5}D&uTl=$k{EgH54vM21KXAh|_RdIZN+(V1im6|F&Zn4$YGk1x;1<7>V? zzkUAp@Yltvv=S>I@Gmc};6zZGW6OGj(97`HGSFfPfDW-%d|P2^hQzW4)J(G#WJQr2 z8CrSQBm-I`VF*R@eP*O39`IN>7OJVi`VW%cleZpC5)0msGb<>(%71YZ2K0IB2Wsr0sW!JVLuS)8>DZVlhllhc*<>-No;P69u z$|1n7rE_Z*4vUGif-Dn$ujFyF17?gQ&#^T9{Xue{%|?m+QE}2V+XeL)x(BevE*9W zdzuR}aj*?cqDQ{#QgjzQ7RdPCtp=~qZKAVxU4o$BUmt(_ExV{oS=KyEHFCP7sae!X z?DGT5{!~l|A_GQ*78dncKfx$Te&)prvep9^i)o=twdHLXXRf<&@@=oXaCSu!XF)N2 z4}_r6`D|BUu{crf7q9B&dDJ2alVJskR3+EsZ+1;(RUpPjbT{v>TXmfzyXPvEf?YqP z{gTyW{8ZV@o@vFG7?=wyIP<@q=kG$I=~2GP50mORuyqI%MHp&IWpO z0;_&4incp0BXfw0O;CZkutHomr>}UyQP%gd?t&N*qI9=xIiu)E=lm)md-V;R7fMWT z?4m}lhBh_JUfpe!8R3udw}5;ZG*UUbcdLLQXXFY4Ri09Eoi;26Y~K`rD{FueiqUI< zzGa}7s=*F3Vu6EhQCFbRqksDL@bKHi-Rr0SaLM(05#=Km0jEVRQPp?QclIij2pHqJ zrTmclMmp5t%HYuoYChbe+O1$ltf;4Xg{}Ajb^01rw2$h0V)OS$)JO+WU-7t(2&@KbrV?tH#N_#oC;X-w3g6FzLIc1E+^%XcrS z7PtAJD=X__ZOK}A&BE{bKndiJ!2MiBCydu0rATX)|FKhPz;BRyOB}WTQ3&e){Z)gLHWe6?4ZGu z)OL!6CaXCu;V$A^7GDBu8Q4rsX?6Ech$D!R?Bw&MOJv6g6dn=Jx9YK9PZ|=Jr&4~& zhtMO?i0p$v&YSq*vB3q%IWP}aG*fwsVrM9#FZL$@l|X90ViO*zt|_T5S4Ye&etueY z&Lx`Ykdljibe^Uj;~;*EpZ84sfjO|EOkKWPe00qL4!KVJ{69$@LTnz`)-}mDh#y$| zxD(%ADSi@oTR;qf?KfIVFG?iNH*lK{+4ASWv-x0U)onp2b6_DM8mqDxGJ5|E-ub`GaU_k3S&jfrpRYj5iTbQr#G#wW4!ZkdH!PD!T0yJJ zOI8hG$~`Likl=yv}=8hsj#9P z*370h>#DEGdxyyitUTz%ZSYV-JsZ!*qR{vu12MIJ)$ByJ6&gYmtNn0eE8$b zhpSk`$H22{pf_>jy>E3{6C3RwP+tcu_-46EM=wVbi-2uDk)i>+-X$>O64ge|#7g1S(raEqY`6tLWVsHO@*OhF!c0^VM#5 z3OxX7(yJUNBn;BEL%@!{+oWg5E1@x6`qwi{v`KVwT&4a&#S?7r%&u2@U7LDeA}71m z>uQtTZq65a>_)tkH_6UkS7I_q_Q1j0`T5fPWbL6~100%JIhe%;-V>%%$HW`|oYpkt z(y^St%%9ph=ZC4bL&ld|;g97?Kk?9Mg{IPxdvb&t*$7kQMXPlIO`0v$Flew;9G7I?u zh_vTv4pEzJc{;$%p%A)pxyS5)V1c1*HezczdKUF3=&eB6_Una^>n`#|rn!nKoVq%{ z6eaGyeYkW6;|3B-tiyxr6*~-aRGfH_BIej1AzOy4;jhR}VFaYLb>f2d2PEdcIBOl2g`2a_t1`5`a~@0p)!eON-r{V!>H` z2^by)YPN@=Ec@ait0BLsvNP#bl4ZDd0MGQ@`ODz4d{o^ath?k4IdH0rBQr1B05mpUl&%luvW{%;7XA^Bpd zQ1%!@B+Zg*mRvjl2v1q*S^hoF0=yiiizOa4L-8$kY^@4yu*kTWbq=au{8BqyZUb|} zei#;>eX(3(;M&soi^AuJ8e|TS{x9e$WYtQLHVWYlDtw0+ZOa~Yr5oF=&nDp)zyYSX zN(1I0zgQxvMI@BAySFc2Ur%28{CuH;q;f}}lLVArtPXcj5y*zXi;z7m#vz)vs?e)c zu<<*}I%<*ZX?_ATT_FtaJ%F|e`SmidMng)`_Xp=;&I(RcZg~MRb?>q`152Q(+%nfL zKn_fAmF&o&uT!BYx^ow=z6hu54qn7RTFVH+S5zwcVum4+)+(x!QK-GzUekeQ(N}T4fz_2u;GIS`7(|M$hVuuA>iMg$k zEPIZ35x=(N?Lx|lQnIZ~sBOOikJ;tUaWjTxBRD(&{(Un#x4 zLV6I0{X?W@a;xNKn~59ow}+3vV#c2Y0uv#iGp+hV zQ*LBAcc=%wV^J~LWr>)t$%o_XA74K`T$*uF zvIV1QUmVsD%h=7PCcmzC2^78&94yU_Dpfd&(gK}5;K(=uV1BCZ z(LPCPUje$jxp8ao_Ybucb+AG8@87%_2?D7rWp~0jIB4w;l zrx+A#!LSD@^*FA;nAC1ShsqHPU&bU?U|;xgHKG`F&!I840q9W;K{;8~0A))~IuH35 za`YK6Cvlq^?2_Zu%_Cx?4=-Pzj(FzNr&^FidRu0?_v2S#W z&Xm61YA;yy3&cP3UZr)B@j_37>nekL!?=QI$<&+F`+ACm9)M~ zbcMZr#!a8ywiziQyH{9+VTDJIRra|paH6!1fVs*p$yq|5anWbnF$F-$i5N^MFdR;1 zF#}s~B>0RsSgE2wcoW7_Xxwd#`=ze6-1SlcGAW{KwXi)6hIpa+v*~eApAbM>+oQ6J zNG)2QHIuYnW5~3F1GeJB1};gy^b2YnR6MH+dk<{xKR&&D`t|sPWh9p-^|zsMEK_w@`QeYBUmxGzkI!$%t4NAu zUPCkYSgkRdA2BesRU}F<4%>G6ps7)Xd2i}K)`QrSHO5MLWj8&>)@2{Shp(^CpCA6X zl$N1>D+-C+S7liJZ2q~Z3s9W%Sd=A3z{@bha%9R6WEOl1zA7NAan}!-@>|}T{5gfr z=8_1}_yES0LJnN3bzn{9*Bi|t^nxzt?p z2zS~GlmGPNbTS@8c1!DT9|0yPf=8W=zp}k-t3e9~;+9972 zZGpipN#@t0v%8feRJ6kq5BB)W^IO4@U0PwbjTka)F#(>2hmhQar!kRUEGB2Mz%pm} zESD+k%aq#1{89FoHqIEMVt+f(+B-GLeVq``^4>h0~L@V~XVa|ME{gpjG3C4{iImzY}wiu&9AfB)& zN9T*rFIaCWiuslLp}q9y}kc(l?pO+j-U(J;;4dc zM}S3B)%)f+34FgDHjjb@sjvus;^5J$3Ywj77+*pox^fEBkngX@<3+M7BTAtZKIfPu z${5JV=zrrN2!=l=Fp#^nX?D)C8h4v>?l%dgaZGr2 z8uUom4zGG`8p{@HIO;LgA7bZ(!oEnmCk(Itc~M%??4Q%gxajWrB-F1fz^^$!#{lrA z>!VeLaab__6a}cP6b3kv^k=`26hGH2ddtdp5c4T!PXBPtrp8Avgl4p!$UT z4I}dQW>8a^in-zASC_10C3O1uZ#R5=^yN3){Q2wGbsW>z2gPCb2^~b-zy7d$q^Yoo z?<(b0R$+E)D3(4vzJB_e9m3b&yIfXQi*AilM>p(fbEJ>G&`U${jD|OKibLcGQ zBx7a1vTEl4p|yS^arH^09NpqDhDaD>0bGS^jB|*jZQyBv9Iaw3skZ@qC3cAm*A|EU z-_<`?60EGnyweP4@!R8v4`+EaN&YmhCyXV+OH%so4;&XK5}~s~i%vJ?>`9E7ANbT* zcEz%fzSNl!MP9sz971E{mMbiA3i7C=UbL_}>9k*1jv#yS zqRp@&slMn+f`uInV|5W>(iI!Q3hsbY1dJ=iQd)FYCYrtj4=nyJJ!hY<3_EdI1C6)E-A;Th zs@W7*tkdaLBpg+D1BwZLED6r<%P1Mmb)W=M71YWoe(k~Zfo85z%mHW-e^pnnd{|b= z&8Rm{%vb^Ri&&6o0OD9xDNLQ10n9_^C<223QxtS+WX7+aEjwasrf(n0gm5}f07vLt z77oQlo5%$D#jX8g?Z1!@Ao@jxOE31XMZ*r*&DlL1uq?6^FMLBp7lS6K zN0g7aSL(d=t=i>-#h`qzuot?TZO`$QUCfXRRQqY!1IsF7$kvB3#^*Wo31Q6E6Zj77 zc-K9v4ATLqz;sRMnudcB4N9UXiHjx8^nm40eZZDIu;0cbAS#fLFHcX$-;Q^mULP+O zi3H?Qm!aD%3&(Nu{t<0~rN6I>R#0wiDJ3SL&FP$S)hV{@f92FFd@s5V#Kld77Z)oO z3aDezAOO$HHXOuoi8ML_^(1IFEp>>>54LYni9#)`ky>!QM9W^-%bYAEN0XC{%=Fu7 zB2zM>fmUIV40s2K6A)c3?@~_KkoewX-ZAI|7Sn!nKoFjt!izF5|Lu^o)a9i=7Gr%S%I zz#`UDfpN=};f)hYWUJyU?VZ&?N$Hjk_!tXk&~C>uZ3tV$)RtYcq!o7t5w)7Kn)B=n z1Y6;t)K=Jv_fyxh<5rXb`CBonE?^S9@n0acP^W{^f#9@;b(Wp8glzTH;K~Agt(|5+ z&1?*Y#!n2GBsOWAtjrB!*4putj2BG zKKKsDTQuYgtsSd@hH|OLNnj_V0o?@((+ymI^(jctc!JQ6DFS_|FX02G6wJ7%Lw+D+CaU@^g?oRpx`ur0~ zy)%Fq59!Vzxj{Tku|+miImNcAH_}YWc0$;>gYA$83?{$c>YKG%^)ZhRZ|`r9pNTqhWOX)X)D8Rd%8w-$xzpAz{nI$ zRx7Zqq|hQ|r+?Uz8|%E;c>1^r%yG?aa;Vp1)q3wMo0i3bkn#1p{O*2#cznA81B=-* ziGjtcMhqot+sifs}QHBtFC>zL(qV+ z7U1tW_?d5zQBlEO*ekRsFXl$ zXgKkWudX)6xiE^&VUN$Bj$e-Xe?5P!bRK7ylK@58n#DA?kth@6#Q}4PjyOy1X#@yG zDPZH8D#V26vmu^?1_VCC_M~d~E0>lX*kS16BWnBb^7!`t>&q*G&ckUfG+=zvhC&OA zu1#}Z<0!qo2W$B~n#ww7$7RBe?@BB>^!e-Y z{^LKNItUOM*!G4mvE!k;(Ov%Ky(BSYWGsBD z!b>nL>O&g_N41$uf{C|V$zAuf9(v6Y94q6N8&;6E$MDK!ZNmJ6~}ikn0mRDXSV{`i>#qO(U(78sHY z8axIxudZTSAel9|!=But0c{Tsx;zK(vQN$-L=W^)CPt-kKiw3TGp?}`Zn-#&^uema z&K{rNA5n{V{PU73s(hJ&X9bo8)M30qdj{uI)K#W~upbs6t=%;To`$KJlti1yRWxJb3pC&~C=?dGd0#H!w9z3>I_+EXFCAADI z(h_hvb)!{NoXWf9l5FC8Cc63U_2I8KoWE-1MDnu7fL$ZHo?|n}M;6;&{1Xgj4 z$Ygtzok8bM&1p|b)CO}}9JL3>Q`4e`O_hGjrD3aKqw9Hi&WG^nw+k^7U3WORj?{#M zKnc3O?AgYmO@&Y+|C8nr`bxTl&x-XY!}__3XuMg&?$$M;1 zpy%*0KkV0sr@KENo}LJ5dN|ue@R9^vV;YN+wr*kpu4p(liqM#r5d;vOnmHop#EZQ;cn`Lz9YfCh`XZEFz*kbwNMUQfBQjGnW#9IG4~iyx z+wW36gUY|<-B7pVnCZjo%ggTczFl%|qUPJ=M?FMPI*;N51POcUurMOuw8J?3R}AVf zb;$z=W^CpZ`HPSCVTf7Lw?PBt^UKp8Ib?l&`*g`8C`3vk1@(Z9bId&lN@{Cx*$@-j zF+D{t@UCre2=x(%xG+YQjLS#a2L!_mc?8L3sPip3dx>CC8)&xlJ@UUata3NJfsGp< zF1dpej{xY+dZ}tNtqhHWZTzbYO;A1Hb5zA{N^htPy;593e zJyhi<0wsR-CnCUBwid4!BgiWPidbp6e3G=(jY^=qwkPa^y!0HDxJ=lb*}>Ogahuq; zAwoXnAfd+%o1uZmeLFU1(c1!Y6pMcj+cq5q)n&fCKD=|}jRjwqsxoT8?Vuic3PX;S ztXlyp#JX`5kAV6LSg#v z1*Kggofq{m)2@dJ+4_R#aHHr@9CHX} zD#55Sum9;2c6D44pVDWHLx5*e8T74BVGgp_3jlop1y;4qK)GlCeo_H&q>9aODwr+n-=pX{?N;AFR; z4B5m_WoeQ1;#Sy8#W{yK@O>hcg&r89p#J!oD6bwv6d{r}noLrWABJgk%%;9);|Rpv zA1`Lt$sO##IqHN(s%|;i35H6?@FhF6yN8b-k8iZ@XkCJ-QECzn!5S1zv!JO(7N56T zK1H^vi%A950~FAmBT83vQCJQtOM6uFoK!q=9Q+wdNDhVVrPxfJkv?LT-p6~gA%GL5yz=0lr5-~_vtU1t2=v_#P-(wEsPJt z23?xz3R^?DXpkt>cC*g+$fM1}X(x>%;WiDGVeXU+F56WNbk!iKg$DWaKRkcR?)k&h zpQm1PtsQBJjQ1M5%M^E=_ot8)FR9l$S(OFui30Y)K?gTix1oa_OJhZc;-lk$S)isC zZ36h5P3rSk48H&J;o&c=Q#_$aHthuu%!=TS_%f?pdnK@=uQ_~dWib4j(!g~&YRwKf zsV1`a)V2!V?;W)r{?JrKildH3u98!xqP~vLua6%;Urs$KR1&TMVVsfU%40dQVy3Lh zxpPn=J#(diG-15xF~kLtHMq`;^b+xis}ybi=iZO6e>^@vJe6SS?f&K8{;$9P>)q48 z{MY~T-;4PF{P+KPUtz#$1R!Bl0%m>_zQM+Z9sxRlUxd}0IcV3Jaf!P!U#6jY${U%} z==6#fp0!9jE%dEg_!eh`{kGO3vKIP>wFu2kpcSQY z^`|@K+F4jI5trS-s6>D=q~QVDmAYDq#7dZ-s6_VFSX$-dpo3g@1A^!heIxlo@3|Qq z@6>HNRAR5_wy_U-Thu{HSWE!-5^HICG<4yd3F#7baL-2_obNSCUBIc{FN(xVhh6Et zHs&WY%~ik?zCHZ$cz*8?IlDB{qoDq4LY?E(B=*3LsIlnr-eXi-p_99bRUfo*4!b** zC=bAtAqE5}ZA zc=W^D;s?YhUn0Z8hc0~EQ~U6gBMmBM{PB?U(J#M$I}>qiG%6whKF%o$n=0c}nrGpu zvrz6)P%heovppHLp0c1g_0G$47@8&3*D>RluIpmV5H<}|n`aUJ1>-E5ZWt6%?5xu^ z&shKh!_jO0id!M|4N*DlhA`l5&| z5fgis-^RNXYsZ0ii4n?Y!wG=Gn1!>2x^f#nc754t+rwlMvw!JYCgZELfpEUeP9c?e zd%T4B?~yA;%dtzvG!4e?+cORI7Yz)ssvzHNvYIj)?9!adp-46jN)`*;$0b|6R@E{|*V02+ZR!eaz7 z9D?rgk+S61+(5%w!#p4M?W)9_Ux*w>bA<7W_t%%VFKD`58Xi;ArGmaN_M=lH9bbgQzs$K`b&E?@mwEBK-wXMC8Od z+g{a?lBN)?-SBGJ3&&Fy^fuYGBfh)yvJ-Y>!%kkY`rEj|j&g(S?1s}e$$sk$^QHux zEoV0>P*_^2i<2(pJjH4hFI)&9^R>yhr@vkrKe}OpIWgInuEo3`(n6dD)IfA?m};k} zQBkx|!*jbzYb?3VDO&4?gfbR?gBI+Glm2lnhO;nfuY^zYS(JJi`X9DCF+kLA(t^pp zbTTU~F1&^f(R0B&gJ9|&*(qYVLG%V687AS;nKXycvHw1l?B)j9+5aXHK}i35J{IK> z)b4^o6M_nJ?-ZW$!5&lC57NHnFS z2SZktqbV;wzTEK)a@2Bf99BVTu^qhbb#qyVj;tb5hw!dU<|jDd76cj+%qtk6uT4fz+V=`5z1Nz9eQsNi3pzWZV6NtJ`B8@EPP<$#Q}ss z?O+4p(+$tJqK!~faBJB$hExg^*eDIH+XjS0EckxaUfvGQjf*CW?9~V7_d3?Nu)Y55 z&8IR-;VmZ7Fr=VqQp5>tLfYZUlVK38wch3k)Hu$AwbiA+pRzICL7738(_vuz?Gwwd zCiz|Y_NT{BJ?&Cevbbw8iRZf2*$*T*yA`X0kB&8Z4K3x+D=D(?vzHa~Lt=U_qxE;n zE;lG?4C9K-YbSg3rrP~%-OHdD8yy$Qh|UeNE0#T;ko_|C_^=DsVjNt_xzo)06)*W6cvDEuEagb2V`OPHD|1CM4=kItV(gg>kUdtn=YPzPEi z#xKGW83c-BRz3-DS|Xgih^k}EIv(_i2vM1#@4 z&{@WnOJ`)?6Fny8@G@S=eiaK7yMrWPf-3(TWd^p3Csbl09g}0-92@%%`t^k>y8DMF z`?kw$itOx;{n(KKJj0aL?B~rWI&*^W9W8orNY(Y!`!IA%Tm!CXEjMOs4LJqOf{>yPuB~hh zi55gUD>j$JOkO6+kO)(abtCCzBAxDuEg5*3$jpP{odYYsSxg;In;XD^RkLOKX#}A` z@buMaj_JEhntT|wwkeQcl=7wTpA!KqI4KD!-l-6GS}4EKVsMYHB*4l!BWy(;S9*Et z&h`r0$Xs5GsT=ipd-?kQ8B@ND(7f=TWm1gkSk$ewS?f_tixgcaEVtF6mm{>P9r_i_ zblOc(^k9FSR&DNUw)#|Gpf^z$!skJb!)HNT#v&u2B4a*~UFKU7vD#n{9M`KM-=WgT zo~$}!(tl>g+{$LHs}&yP<} zm!CzD1UorT22_qJpzS&hi!^dV%=3+I!%CkZqU=Pdz_44Dj4q{Lv{;$p%Wl)_c0~XC zdZ{#8AZQ)IMI3QToia>1mA`;h#q`Z?PVUrGP{Yz#K7s0(trFKrVaggHyXSm?Od-KO zn<*<;C4n2VUXl*r5`CU_`k2yY$~T2j@15Zh?2s1N--S_{_jVNx3~MlD`b71CRd1IP z{Y?$wDB9?<(&8orU7ZF*i*n0%z2oNqzrxKK`m6Q&n{82@W3n%++(PuX4_~m@l+S8c%{?Wy+Qd)w#LVnv^?YZr*)4zZ3wOnM5kV-l25266fXa19 zLH!FVY+0<6@8DOADO=nYpT;LpZ_5JoR~fym)nhx)R60I&K8B#0mdL-rWv5Nczlyc& zz+KwIRd2fSDc|(o(r#3;+oCP3hDuQlLo1V)wPr3TUMl8tJx&yJec2X+F{dj0I4$S7 zlnX=S^S1<*T9Y%!e6Cis)INL*RzOAhnMM|VF33UnYr`MO&Z59W39r?mG&{I1{Rid= zv;no1NaA&AXRk|g)A(FbfE}(G&AicIRy&_M^7jvIwg#{oqlgPszE_%wudk?nlfpMjpi#A3S()&<@o#%UNoAfqo3J!=? z&J7qRwM(KUy(`fb>Dk4aw2;1Do_~7y^X2)|!_)CUT(3y>RWTJjjTy{OM|R*fS8AC} z8Fz@WabFR&Jt;Dm6;CR{?sh83sjVh4DcyamFw2W|h;I7x7q%3(Z9<74=yA5K25tGZ z8jSMoX64+95Zw%sT2~Xl0UM%QLu=e{05ug0>~gJ4GnXg5jmb**cJxS zX`(3-USbE34(xVi6_MO-s0Ik7l(VvnD9zTDPfndq9t)U{7Btf4OKjz+KRNv(&l?6) z$!x@K5he%ryiQGD9-jB>>wo(C`Qh~<2fZFS=r4SJRc;QoQhl~TI<_K^$o_P)-XxH;$BF}v>jM%yID7+EYk;~{C4|C{lkxUQIQ?2pJO$Mb!DhLP@ln4rd@#GOgEIp!Kxgi*?eb)ETss)tA;@M1zIMu zgALn{e|JkHw?x*Sgy1pQ{f7rtexMe06H`~&cacq&eF)iDcJ{DAos#|HYu&U+QBY>K ziE1I0ZN4hN)r82eRXGFtMbUG&b@2Rp>Dj>sS?33_3dNT1$A>>Yyga<$J-(g8obw@U zk}4Uzc`=Rewih;QNf7rZ|1r^b%rlW&oTD5Nt4squMGJPbL4^7}OnAF9>D-R#z1cBY zGDFi}cDVd~scQ`|aSA!lf~{?2&)L=$Mv?*DUpbP@g3u#H_O)>t<`nr)uW8=Dft%#_ zF@kTu7k6BFzc;U$-G`V1wJ>Q_DSa_$w-)U594{2v8&-H3i ztyn}HV;Op|du-|nrcrC<}Tx#i|s1vktk^i9=M z&=_VoBtd^~?73UCt4S#Q%__cKiLdlE;>*m~!@q$qPf6+f98CGlwJwpxQrQdlDy}OF zQH>hQZbkk*j7i~lR{1Bi04B1j18`P$Pxv4D7gBnOpaSg+Thq(3jV*L6F5@-8?4lh4 zl0HTlj45%ci@V_3fatmXA>SSL%Vt7FYphnfs*9xE-2A1~MhWqKUzHuZKR`wm4kG%| zNmVTI3PCw|IA6tQk1QLg)N$j8?)+xsLRZthnNp|jTQp2(^DSa`JhxJ_8vfdls2hJOiKC6RN!d-aKUmtp zPB?qrxL*Ve;iG5}v_9|_rrIL5NLArw12X^r{NK#NSM*+C5I&!mVS!!!Dz<=$MO;lf zc+(-=^iwl4jpYhCMdphXDiV5IEtU3mOxKDM?1^OuvMKTQ;qD9ug^oap4dwarM^x2^ zDB`tu;<R0D?7ZUmn{H`#$C=4 zRV#ktrrCluoURNiw@#S(8lf@il}jt22Dy-Rdfbd#n5HENYr z(bII@k=ha&|D~=q0!uHj@E+r`VC>T3&JQj&^1U%RgHFo+xg0HXn{WOmV}48Enu3@Up8g%_A^&ARDKHv%MjNt&CV8nC4=$!dmi0 zid%WFT#y5%ZDsV+%iDX~9(aWgNlYYwgCFyP3^E__8-TOcRZ%%WQ->%hyAfyDlRKk# zMdz$U-GVrbn4%32?qCGT$Jaj}-XE`8R1`+)5XwD8)Q}_QS7rM8bc@KK1pDA=&(^*( z`q%>V-0ZFquMc6^c*TcNd7=mMH(K_C+k|Zb$Mf{c^*IQ@d|mdN(>;#bW@A*}1GTb! z0*OWczN##ZR;$tRflP|sKqbA3CQhwjjpfeDRwCKwuSZ%PeReBCY8DmFD!+!lI(pAO zi4$QEmfBEY>roAD;sa!ORc=__r%Hc?9aE!2Fqlz!d3(9InYF$LwaJVn zx()y8;N5D+jNUI2P=};<@WZS@-Rdw8NagT7YyQBk;J349K>I*@FogYn*6K!!yCaa| zn}iu7pyxwqt_}1M)CF6uLeQeZ*qm~u!HW2e@(hS*zSKQ0j(GVt0F0SruM5q@n>Mar0p=lzGP#=fWGrAAlY#e%<6?CC@kFb1-;A!cBCST$;b@amWLPx6+|He3d78DDDK$}{Q!Omb)~}qM}!&{;q>dvhvVz} zwM#+8008#opnDNlD!6-IQjCxoA6-D>0x4hyY+O~K$E5h-hfudUIAf=4q^`S0gv;W} zNy6SP4Sc-x2Qq`#G`fJ{UyD@tfI<(;3D$GKA=K&(to%Wx!OFtB?-QPwWZ4y9;0y5? zMo6Ueu_K_Jwsq7FE5{A^(3=^>*vDGg2R z4tZKkEq2Rjgl%Pfttvs2rndZkvO}Rk3b5k|buY=HP&N|}5Ss12a=|SEq)LYsy_|z- zyJcQqj@XWKW?htn`v*9VQ+bEQ!X)d}V}5?H^%8d>JZQpWiJBIuT|f!hh)yf}6p zOS&`k$f{eY99iH=5#cto@*SUk|NQcLO_Vw=Sw^6#uph>)^95hYTrfeBBkc}&rPr|B zb8T{jn#2#wZ&?0`q|6|$_?Sa&^fT_B9)3U4y75y=cr=ybSS3d|0fsKKd8cqG={`1k7o|~eG#z`7U;s>&W`?|C zylUuQvTLXgI+&?=WIzS+`Qi2QrfU@LwjjwAK-QYYN1|kwI-uMbs}jzokZ(wj+%$}_ z-7k12i>ii!es&DiKg0esB^);fBEl!|Cj%9_u*gv`M>?2 zf4_VEZzphv8GJ-8aFv0O=u+AjElu$$=rr|w;w$z>i+#3$HODjn4zwz$$eoLfJdZh$>K7D>@SBY%a2o6KsGY^g zYWnWw8>pBQ9yO1)gI154o83&D6=Q6h-2k0@Ij7g~`R(yb1{~~8Hx{S2V~FX~fu50S zNjcpYM|lNgv9xkrk{rvT7V&H*d1*Tz`AzgZDQaR8t%&u-bu|os8zR2@R-C5fA=`B9 zeM{2Y2LQ3x6M*@Sox}_tdv~nT?(K6`nUh*Uv_`}r`_={|9!vvPmfPO|L2DQ-f0a*-g7*b zo&*uSqzKw&PiJe5N=fDek!2eblO0%Br%zJ`pQ#ZEK;B4De%QD&ix%wi|C#cKB7dyq zC+G0=a(+JVzMY>=uM{dBE?<9rP`M%$>v}v=vEt9%fGI2e$_Y?vZBuHtwg6Rb0VX*_ zr?Sk-r!%Zas=pL4}?rz!?Rbe5Zkukn|r>Jug)sF7A zJk45AC3l^H4bE*zsuoExi=8aR5-!hq#_)bgneu9yn9nqp6nMh+y$^3E&bU7O+u#25 z+rL49FMs-nfBx-%{`Rkb{_9_$!T7z<;FX0^C)JHb_HNs@f&NBxKR^~F>rx??)5Wjk z0r+_@c>3lgO!mvRLSa7$C4~}4p6MAHzpzwrMQ03z59zHfAx*mchg}haj352018{Xh z;bC@5XGx=-1Mp-&4rBIUXy+xuBiW8cJekacY_)k89 zZM#Z_Xy`NhD&pQCrh;8=158~T0A;!XZrGP?g*;cgo&cDD_ntuUhczIkNDN zDNV7U9a9)K+m*Je!au)0cGm7jp9^Uh0r?~4l!!ptnWt~|mf8Rc>WFHHK3Jfu8? z(0l`hIx}ezAnsK5U**a;CN&6S+Wa>kp!m?>{&yX~K4APYlkIKEKeZiV$X^*IM*sWb zLqqrj| z(F7<|n%dj}1aym4r#KQaU6b@w_fKxUD;? zLjPm`bJ2aL8p(CiP3S)CKY-^lw(*4Ru(ktln|<_kY>_2rC#;Qly*jUgnI4`lm)(b_ z!|syqKK-N+XAR<>{_>B1{_QWj!$1AgZ-4&VzdX!22F>#%`4)kW0G_+B>eqq2#|%S> zmc7~QbrNrya=masB$)CXfdE{dFq2?`K5hH~u5FjlS@bHJ%Yl9Y6X>?aX28?L@v}~@ zRp4t;f3bcfyTP1T-$G&*tjWyc6Ii#hpx;)WHF(Itb6YZ$&hFTNl@cDis-jbSBl@R4 z1OMxdWgLPIX5y()PJ&x`=}SGTa$WYi<@W;Lmo0xN1pt9Se!n%-rh{`l{KyJMRU$EEzzW zpz3#_qTl5Q6+x!K!X~Hhvpe$QH5Do2YIu6l!-U)m>lTehl)+}6`L94=)R_6uK2a7;{R)u7^E%Rua zTI*a?EI!uh?^XCUrf*-WZ`B6x5!A>80!lA+MR~@|1a87m;k*4PYKq0TIx`mhT0}OG zT^Z^{T@l`7API3;r`xPx{~1T3ubs3_&qvyBd8IICEOOs1|lmG}VK z4U~T_4%W+x0!o{4y0+Lz7#vZNt@NhN!?BZ+<6+~Iv59LuiFym*s4~`>nWoWB-Qs~H zcJZ!0ez(~4=lSlo$6_N2HtAEO*h@sg6N}y1NDOEXeCu3%YgYAlvc0L?6dRYhI8#~l{&yAIUlY57 zM5!(Z$zm5r8l_GAo|t`=-(o67n8X%5p}@(_L)9q|n7t9%D&-uyGY=jG(!|~p(#W{YOQ^FFd|dV(JeK>WUsU>MgHPaXEl=l^83X8jFm}^*hy`+ z#U7+eu3CjtOk#1RvN-cQuRW3(<6<>tQshn4fBLvOPlMeO&1&*hp60OK)bU3Cri|5Dgkb*Iwf&*Sx#Sn-mjK5yx{a_}$eGxtrQ1^SCW|28Y1Q zhICVV8dfMjCIjxP=u%w~Toos4+7_~#-j%Ud)E;@~+=|ATniCkUUDg?&toa^uz>8p! zto(4IGFF{s))`fttgT8OQ^rEoPIj|sKsw{A2$@KV{pJZ!o681AQ5#%5+RVo@S8F@V zhIV0>))N#LJE&9EZDdS4->Tb`vO$Z8s!!k^C~rcf1584|3M0`+o`^0W`Yt8ZG}P4g zk(Da0*0!YkEhc=He zi=U->ERRs^Y4N{7|Di`gkK#}W8DSla(^`v@pvrC?Nx{WH<>5xVz`KfW&%DqUQ2@PEh==+FLRzQQbi z3esXwqE)*1=Fk?zf7cPvQZ}L&w{--A5hvA$c-SV@QXS9{`qp!L=j8}(as2y^z}Lfy zEQDbx?%*5(9h;7UEFhQ zi{{^Vg!(INA0dLw0dHaRE6jD(Cm%s|YXdP@T8_{b(ED8B9Y;VheOmF3%@It2?xVRo zW3+WG$jxykCZ)kH4txc9EKZMganBO-OGmKZ^%dyvyKRx24)MB0suTQjgi)NTi+hf( zd;Yyg0KLbiMG{8{iX$oJLPEBt%1mtjeqd#HvB*{1491pX^Q zt(tSn7P~PPEFc)zRA#f9f|aj%F3U7!u)TExy`X<3<%Fl9zI=ji0xb`&13_z2&Z(T_ zNi|pv6#G$DwO0cMYQ!vjxn}-y3Sr#Mt2CGMHH7urXN-#DFpOVO9nt z0D5IE$<({Z8zV%dVj`<4gtmIrsnFJzCh-NzBfy?eB}|d)$hhcV(dI}> z4CJinbMQKJRn_q56WHMz5yf0qs8I_oax-xfH)ps$iQ@%etSO&1N5HyzRrthGYPp}p zd?g0{E!fOwF{I0hfBM|K-xWXXmYL8ByuE+m36{iv>m#T+0DB9uW1niZgk^{OS>29k>n_8sug~Y7_b|b%j$kRoH*GndFZ=+qzJW66V?yIsz zDd1^S56EWu=OVwo;SBD71)vr~9UV!+@B^se=X8LGN**{Gj38(9bbt_)7u^s(Kzg8S zRKbsc`K+eGl<@~0Kzif;31sO2Txl77 z#>daXFwLb|KWtqxdsR9^i!%S7GnD=%W)$3X-x)MO6SKJUpz|3*_Z@Hs8Bmlnut$#Z zchs>LUr<^JKCg$^IKo=SPMSnZbIgkM*De=Og(FxBsB@LJaY)1@R=`+@rvP@0_9>t* zeEl(pWir;~Ig9d`r#38g%JN{N$w8f%?Tx${MGJnCvYIBDSdl673D_UcldO7`c4i$| zU+-&%X3d?PjkW!Fb&iUFtqkepTKF#%;)(oL{O}59rv^b0lUPl2HJ*&&wDu{0t!;MIf|A^6#9iUUA%TWwTmSOINFp;n8Zi<7mJ?AJ*LvwATnk z$z4y@?sZi(Wp~V!Rph*Gz2WOtCVv}+Y=pQn0L`PZ8z<;N-HI8j2!i%Uo&cY~ zE_}}$-vHsKw(0o@KN}sNKpd*XMB@`=cbxwF-~SFImP=O=MF$VTwdQuFO;MeA$fzq& zQ@I+7o%k6{gQhYQRbh9`A8-PJv7e{)A^WL$$Y>PiBA2mK^0C5cX*z(hU07=O&h-4S zikYfF0`~_TK$Pjyg)AHc-2p77h$y|cDO*IlX*mMwxA+8e*N#n}Ko5$g%vF_6Ac;=K zj_i75-C)w@xOoDHZ6B`CRLsaIM4?d=g1zO`U`IAOL3YKcfc=5rAfxIQQ{>ws*ZK{# zOIl>rI$oFZocs*BYH#`mRh5V%I_9)eQMSaFg^w?no!;=os#LdTu`i1f_O0q7v9xDy z0R>7QVM6n?ulKF)tMpkLt4dNczZHGmT65Yc?uzD2MScm&5mgm$8r^r3Vr-Z8VMeuK z6)X}%SG(OhYfiO=fi;JDt~A{8?=4Y>#tSc@kgr3b^o7E#a`V;9$pr*~%262@HGqI) z&#Cye5(+Wfl{ONchP0Rn;qOZ8yRw8KG|0jf<=YZF4ZHi~h|L6EXD^0N%#_V%*YZPE zVvvk6)s=}>d;n{T3T-Ps|4AthUdnMAiw7Rm@?v9Gj=;Vz50r~>VP9>o%UkQ)0yL?< zk3GqlVuCAECG%kNpug+iMQ-#Aw&bpD=n9#eWG>a-YqtbECNuvft1UFUl(5X8Gs%orR!g7(<^7Q_eWT{E z(g3cTIShf0%>r2Og%3CuL^s~095V*tV+p<+qg3-NbQFrYtgM&tUG3P;&}i701Q7Vf zi8C$Hy-)%<+O9*PW_e~3o%OsAdL^Nyooj(U!gAph8>DQ;Xjwri)`hnTdfT?MO)|o` z@vY{gTBu{HzL%mK&mjAT&(dMf2Lq*&;RhJ2c55cPA^n|)M*9K&?BMS`;hl~ zr9XV1^m?t5M~cO!`X@_0BGFY$SY^EohnFh<<>Q{j#>UX=f*1A=O&y9w@X!eE7hZdd z^1gs>XbNEZbtfopj@%G4RiXGWsLn2e`)gv$@kecO-#oiLuE=uI1yrX};5B61&Ymve>qWJzvujcU|oDwgYY3n?`ABGLtsv z7kG5#dJzkE-FWAm-r|ZF3AVQUm*SYLvNSD43vKW&~8NMps#q8{3rTme_pNsfmApXnY z`Rn<#`+7WlJpb}?Lw-RELv?^ve%n6NP?pc7XO{F`^b{glm!9x6$selBny;V9r)-d^ z5Xp~b#`*HPY{a~J^Fs1~J=&p6ra9L>Rjyzt5ItH+xHjp0^&MbsN|Ehg9+P>eY;bxY z`tj-0=ht;lo$`gsGV(=_Ncj}gP1y=c^xYD#ZH`W@*&uF8+)r&`$yU!1pqO6D zh6m@xv7f=9RLc0_5K>vnU_V zP8hyUF&2@hn7)k+s$E`KF`CJZ0|pPpj8e8jH@!pT)x{&>gT>p>j3RP!6+XFi(LRbK z@*t$b4vazFCl*&(LA`H_45?>Pq}4>{43OY7$|-%O^QXL5Pa3t&l`n!rf!-nA3&7@xIf?kvd)hM5zFw~_6de+?`c=sDy-oX47h3(^GMlPL88kElG^-q zzI@reJ{@1rr~9to(A9&`Aq(GZ$IaFpp_Ia2O(laAOHfufca|~f|Hv{jo0N@4vMxaV zs8RHGdinfxI{r9Mn|qd6{`lalYCmn{$l`bGo=BoC0AxvP5%!5OB@(~q@KOMx)EMc)GfBY`OX%Ga?^1J^xIepCVhY=e-M}+s@k$d(ja$%d6)QikZI6(_^3Mt(!&NP& zmai@&$aMs zzJd%es#r>|s8A?~~3cwK~#L%sj?aBV^9_{mx{J;w%zl)Xea#$)T> z+O>!_8~Sc*IQj%qp^EO9B70A4WUw?D+lIG=SDJ-i5zd;@rp4ZLNRkDGp)ATTV(wrj zRI2HETnOo1Z*MenO4+#zFWp2)(}&N8Uw?Q$JYJwWKf(muqBoLj(C~I)dGZ-_eTFxx zkP#k91#HunD^I-6AE2Gz1i@;JaOOj>r=2A?6TB=n>U7}!u&42Y*etw~dn8?M?y3^t zXj*;FtJ=~z9xQc_ESAsDL^iNk9<5c@{7L+9e{@vv1!|3j7t!T1Ds{L#e!e~`B_f4& zXCA7)>)nU;?x_am!O^agvjuN7|Dan-MyG}2;p&Idv$LILuhADawXf&%)&10i&@x#) z=LFTNYr`B`vQEo>yw^$9WmLeqi6}5lQ<={(qn8_t^b*~Vb?4aGb@~o}g)qS`wa1P@ zbK)o`B_+vJP3vy(DKA=T$CEefrbwu>=xzjp`Fei&FKSLwy6_B|BPyui5 zO=j&^&RMh-MVC6`0#s)+lh(K%z^PSnv{h&6dnK<~`>zQ;dAHYcxHp(>!7DHitGg;r zHu^^0VQO-@cYDd}z{%zo`=Tzk4J|b&j!^kEK~0$CYWXVqtyW3jeP!dzr57hF31i#9 z`27JI4?{Vu3mH7wnH+I`vMDx1t7erfPk=bvxvAtxZ0r&f&0JD2t>Vd+E#P0Do}bq? z)5cirv;YT-tJ1_70_EqvduMdqJY^t~4Oo$5*Xxb>1XE>n;sdX2?kOBKvq`yW8bOyo zpTC@U=l^zmeLdb`^bstGewpM#>@ob%BO*?oLQDbAx-3Lx?0_=e8(1o&{A2kDo{wN! za16fB3w9gcT$CBA)!*r5qL{YU(z*}e)s(~J^jcD)5=Bt~0hlGm5P^m%8x*ua0WI$! zu>7_`@GJDMo=)ijJRc5Uj;Fk{`TD-kbrYYN0K{$^``3SX1{v1g+lD zcA9DL!phT*XvvaKj%qnV;d+>4pV06T=5mA<&4KdH@$~8W>E-k8)8+8-ct^&y`hx%p z`4xj5+wTBN$m7WYWFV^}^SKE)AmP>>**_hD$)rGWSsy`DTz5Wyd`TAR<_D1TXbAgh zaS_AC8W<`D>G&xtPngqr{h8(riyS~DMl4L4iKN^lVL%K1`W>|rxvUi1)lnekx7<=~ zXhM28)CZl}SB7)qjZuS=!&EKS;g`%LQf`vnlx33Z{CG?$?}y`|v|;ZimTe|Mx-S5S zpUWoWNszElfkm6P+x=t)Q7E%WxoTVHd(W__(RzlNl7JP=+!mP28T>=EQ}V$g-&L79 zX9`_U*$!u-v@UKrjwb59{|qf4yE_9mOlL@Z^eLE@@Qz8p^9;o?$8pW`uJTD!uhnAt zbJJ8zVUaeusHjE02JYu!>7~n@}otV_Kuhu zVcXK5m|8c$78EQkDO(iXm0Y&!dC-X{qz9R4W{z@b<@Cw>hr`qJ@z<9RZsXE;E1#&@qHOs0$bsLJ5?GoA zj2p-ym*Z)VY&Tse_T?->dSy3Lf>4pCu?J?tD5olN1jN&XVL891=mAdbiUZ5|c;LxI z3Y>&bLTWqmzmf9C^sgt(1S*g!3;UU?&aIYHJUwboYvzk`)vDXyUG0yP=x=r6qk0lE zFcf7fS@xu560U*^alu)#pe*;#R8dY<9LvxgD8GuNI>%e0dtoqvdtOBEip?t1`htbY z&lP`ooK;5U3`B3C0$FtSy{Z}jR6NT5A*EtZr%$hU6|b5CP%b(v&L-=j5aN%@D4jW3 zeC4M#=BG8MDVMJiihTJ!!;)r_D5vUW?aW92_3`8Rba?)FkJ0y{*stWK-iD-0FE!Iv}m!5aXv^~>v>rRU20B;i+>+SUUA6){#{td(bdtC`Pzgd&HuK(q&KA-;L^MriOA_)*+U#;miALi3l9bX5awF zMZ~cIy%!6z^Rbl zxPhOpLE>)ab*3&Fl|f;x`$BkHZBJ(1XIiLq0R6`uz>@h~4$v)&%Lkygkq4|tixRqG zR9nXdvULDm4$!vS->v_HrmxvRoXTqMM%TAGK~W;Cu^ZwZ^vtYKPWw^X_3`lY)60(*Q`*SD8rDcjz!F?GD(#S2N1BA@~r z;r;-cloX~4go@Q5cmvUi- z0UF{kZ&oqFXH9RWeZNDQ~6*V+Z(TuVj4-l zW%B65B!6lU=*Ut{u80oa`>N=V{);kNn2?LeUOOd&4vJ)JSW_n$m_t>Mgs)*Ze zI!?6%Be|LO$r(E;GM`h9a{lFbyUIT-GEbv8Eja-Am&`o3QDkmmB)QCA@jUajGv$*r zU7SNnuI51J=8N^x+(ZL&qqF$7LkR#r0Qjs?8tz%pvw5n|_S1yqqz3ke`JPg+Gy*vM z^tL-ZJ|16QZVA6;xEVgX)&;vccFVP8lm2OMjOdrfjBtnpC}g{3Hp|Wq)<_OvpPs9Q zy?Oe0_gU6Da+2z)yVAJfn+5ak%yOm z`^&%l>0fsr{`A{F{NKCFUw`|@%_D?-1nH|P5OApP{}q^+WOz{CF*t)001cww+WQo| z3FXfZH)*?|`zvQ)H)~>>V0||VSks)!B7KLW70q^#Xln^5%)8gjD8m|sXH4 zRmyCS&+qkAnub1BNMXkuT+|0Ng;a?wKN(duV4g^a9NBticXD{7Yk9#iyVKXhDHo=8 zM4@oq=##%%afQieniS}mvAXDDd#y$`B$Jrn;Ay1GX@D0?hP;WwopL3lGTQ>+uEfu*bvY zba;I_pRON4f&~;JN3(|d+P3f5**TXA{RE2mxGorR*@b!UdXkECifR4fx4>*q&gwSq zL8IX-l?rz$)7lijgl%4QNTDRlLpE)bSJ_N^>7ZpUg`HJy!u>@zSVb5{mWauo(gDox zJwSQK=>SP@ZXdwX0Wjw*mdGjQef3=gr)h6`mnkyclSAor)gzZ40W8R;^Yc%;$LF^X zyU#!{-RiZVbtt_V=zPjsupPGyCWm2JX3tx|Tw zvFPLT@o@QYIiGJsKIafF?Ev;4&;%jsFL!j=XVGQ11l685VmbiJCN3KWmtt@y5Qvz%7~%I)@@}dvy2TO|uUyp~ zO2y>U;pG{Vbk^MJRM$NVG`5$QtW_gEZI1?(yaG{#Tq=@T^LnU8a%OG>)nHaAS1(S7 z^l)b2iFiHyh}*eUF$`jik&}V4fKWHO6M!PKDX1_ZXbgU=oIkl@F0fY90yJ-#0JHe) zi=8a@gXBZw_dR|6aQ=8LiyY)(jvx+OKy#PD+BOFg(>{6KRq;)3cl9In<8>&S8KNBQ zS)BuWkZpNF9PUp0>=UQ%_iQQ$YBF}|$x2HYU z%oCNwm%MqUTlekw`ugkNpFf}O>(|L4WE3ISeqFQ4mB$o_GBV{d(F)UXDEa?TG!zI8I}+X_E3n{15IL73?Xj-Q29i-04}9^z%o~-2 zcQ>`?+I)+wxz)SJU86fOFWsb$fT5wMMJCK2Z|RQf*TZRMk87Q-2**6u69IS@5_Ozud;Kbc8t8ts6XE82siJnVK6)YhQ`aE9b@ zpMSk4kEv~EwU(@J7ik75X^ZW%VXC`Dn85EEy=Dw{U`i?Hsu}9isyp9<@R11&(#N=x z)byZ#&*;Luy~V86D?@>2J2^^eaO()N;GqcKuAfQqXUe}$pFW%~w@Zhpdy2`rD%xpZ zErP*3$~#AliLCXjICHc!iyt0vv4gFGIuwW7!BgRIzaB47cjHS$t=vo6n%duDikcf0 zL!D3gLuFnHD9@RJ$13i&BlN<~v2=u8wmP>OjM8Jxl2b)}iQ%U^v(M7d9 zWNPL%b0?2gpNYhe#o@|nk!7s$!_%kT;rYwq`3XafH#=Nw;>#5vQwF@6Xg?WFqOYUH z%=2EmwZ)4fHIjEV2-hl&T28<|*UNB?xK^N|r^D&^_VtcXISP}5$^&JMDwlsu9r5HX zgLxz~MKOEtM3p?uIoh1$PmYysg$?84E%QscYK`CukU8%_-SES=^a=j!U2mWoZcOiZ zosF%v=#|4ZKqECmVZG+=A@U>Wv(dplO$KgB0}}X`zBii1L4E-@t3EoxuP(iMLdmMWx4mJ(}*r`Iuq@^ zn&vPfy$Pz$t4RHQ1r}!W$$V7Kceelc)XwwkwOhlbm~Dx0UD3I{71n>!(`NBpRf8eL z_^{*klCzm29&B4WK7T#@@cHTSOUifeI7B@#SPy!&>2CVK8P-1zJW+P5nGfjk>Uj{g zFu!p~0JnsF7k- z`04v~A)Y7hOnM8+>#fR^>679#_z=VJlNqcWYCOv!@RT)p%fFnzB@6oY_$31$ZbqU& zER{nfqlzSDE24PC?jN*L)Bh&fp*e+f>i{Y!&Z+n|*gD|dK%bb$$_3efU#2(Hw?HEE z@|wQI>o5(|r3tSl(F+Jf#h%5F?TZG7FLh%!x?#E^3}dj*aP*WZtXz;y_>j9X>Vea* zpP!Du+{06`T|2D%d2dPZf`8a79{L&y*$*oCM>!{sm6Cz8$ z!Rv#;{JL~Yv%m5e`6V-tRg%61yx}Fk?4S2f`@5vChg>q)Etj5sC%)k(%+|=e_!{&l z=5(O`Ve#1)hggxg5#-7~WUToQzZ||DUeC8RsNPzEm|}Bfj#5iVx&cJ7wo8Mt)@4wM zU{)&!1aDn^p40#2{QULh^?0~SCnn0zC7;X#r+CUC>riJ%ec@_}lf|^in#bp95gj^E z0hTt8bcnrjm>YH_8s9(Mo5zdt8@fsh30=qR4>FJkk4Sn}7K`3iu(p~vGkI5K@=Oyl zvonrz#>=~;hj_ft2g1pVA-l_OfBxsc0T{9P->Pmq%Nbuy+$@&GK7mOoiH)kXHpz8G z8OISBcRP)l8^9GCS5f=9h~2{tSh+HEV(S%QvQYO`6(Ivm%HPJhPiMSWw);QV>J9Nh8vyUN4a$%*UVi7#^S1# ztJtC)pMd>s>>74B!MCUL>3F;l$oXc(fCVBXL*a4X>YM_SH~SocdSd{f5iOS~Z~W}r zT_)v}Jpmxb!1)An`7Qa~3G?)pODN~-^80#1CmI32>UIwk;1J_=dLpVV0Yb^^Ploj? zxs9p3S;Mqe4qIO9>^G!4{rPw~-JWg1%JU`tN}&RfhD*5CPzj*L|4zj&O&DnXO!u#X|$93y*s`?o@EwOb^-AtGPy=SOI$Ip>OmF($y2QxYhzh z>xqInq?6T_KJUzl>v)T1+1cGzo5dFJ%<=8<`RP91%Qadc0*7_H0*%H?*}0CpH^F7S zH{gWAxb5=e;wEfn#HeqW(aNEMu|{g?kf^vn96x?K(p2VcptGVyG^NwqqW9XeiSmT{ zMDmz^3v!l4FyiNkgth8Q=B_FS74yliHpWrO{Oi5bE%WklG2P+?v-{Kt?`M}ye=?9M zObF|KaKJ{$*S3a}s0{lZw`MB7Hrj#md^{e%y~FZX>hC1zwpRZ)Voacx5vF1*Um6Lj z;X`+Tu&?Whh7VA@t_(I;yQ!yaH{Vft&LH{4Y?`*}kBR_8_r`R`bH_dktLXg(XpfuAaAwIvvlhWAp)2DHOSD!vjxL2!pnv{jN;>|qJp(7IXm2n zh>pTbiYAB*?dF|V^ISm-m~-E(h?&<4lq;w#FWIf1_|D~PEle6i$#s!j0y9c>`||p9 z2floM*knPQ+O(D;Oh^2SV-~cby7&QUr(s$vH&=8-rOf|)yfuO;q!(rWoENHjROUx{ zv$Pf`Wxyr6))l4~{)sx)pV%pQB4}w(8xL`)5}>4_mwD-juK@?%ORdg<&G={6=vWE_n@*n2xFC(sBZ-+W4GQA=L+Ay+kxGi`7WYuQ)S zOkuE^z1!CO+e$Brnfk%wPg#nYt?-C|2@4jW_DR(j>4VGjqicDp2(P+0(nxqg$lnpWfRre&db8_D`VRjb1xK|k!WA84BUI3_ILD@#&k#`Rwr7|?L zyN=t}Ev?t|-*6e0oStZCU=}Wb5)76Hd_Z+~IlmA0PkY9gj9P zF%BUh{WP|hTJfVzZ!TFKAsEqqpaj_Egwx(tQ0(#zvbXh<8PPW6hVJS3^>Bl7OXV}H zjYXoAxKanF)DW?bo_*ZQiWHdAQ5NY+Qs_xnl?L`$%vR+m)2fjXYNXI4z4Z$0QkUYX zqGerKA2IM$m-2B=!M$i;De|}j{zXHZ5xc?^GgbM?w1x2R?u_Q9;yO`bTk``1Hs0{C zr|49JbbwH9P6$Fxh z$~LGY{4+z!Im2{SN&XS-&CA>C{ggNN_E46gsI3-?9~jV43&rSIgztM0=Hc&N4zF)7 z)O>i^|J^O~6NKu6#4Z@By*>;8a@(YKBC_>%vY5TFbX!m z9=<&vcb_ijpRZ072@5L1p4k&yx!y9Nnh#+y6Q#vhuqv|_`YvKlagV6pE?$l2;~=o!e15q-%_TauT{1sM`qp+VB+Dn=Q8#Y|q6(&Tn5?RS_^=DnOo zk08Br0{!yq>3n|te7t9>PO49?lq?~rZ?QdC zB$S_VdT^Mo5!y3l4_4dzT-G0u#vA6YN^x6@O8s5EbW7t1ZnH*}ObUGijD<&x>YI6{eL3`&SRAZ~4S zGkX>5caaakj#$;$Fn+KW}Zjpol<`fr}39L?AID(CW~Qm0W$zfuO;CAKfr_l~>^p!?sy! zPOKat-Q^P+34*35H>F{#qMOVrFg8DfnO?)ZRbEM^R8yFzUyi%4hhOiUN5I_K-tZr8 zG8AUX-rLTc3rOfafom<8gID#BGfF{wTY*UmsB;v?F@Kd;au98y9=e=gj;HfaKV9`; zYDp#6Oc)!47S7ZL+H8}_no1g`JVCKn`E|CS-8YCGJ4=?I{V%ru)ZYNV4;<`9p)vZp z`F?qnRJONJSN9T1wUY~5auJaxN!5TbHK4pHn9mkSZAIJ3(zE;3aw>eO@PE1-#X!ru zUP0SoX<6`zMV?x_Ga5_XM3HuF9)lomK>cT!yUJ@hltV5IAidXgfV{Z)X6ixK90K&hcCwq$8NXoe_Quk?IFXEr;0X|-_Bk1sk@9IpMbrumflyeWnaLSoy!ro zf`<}2YpVXN-O&z)3ergG>^f|V5{Xx?fwoI>sIxoTw`7>Z%4<1QM1~)s^Oxf@t;D~f+J~oq@1gqQ2$0VTlYsZMyhqe%>togEf^3a9C3_yOh*g)4H#D?iv?*oWQ%{eCyGl7}+Rdv=AlpC`0!2Jv6wDLwybzvJdp~W80&*#T4cg=Op z_4`forzgc5fK1zefpyBhH(2bn54)mG}#pKuYC-RyKFvWUyn`Y6R;aLUY_8O7%&CKt<>QfI*_+@zSKoxo)hR!>LdBN zdj&llA|HTVv58d{Q~2W#G@bnMa(JS}A-ktr;hdMXL`5`d42kbR{iqBP4ZE{|>aT}L zNm&l(x;0W$`qO(FcEb!;=@2cEGlJ2tutqol0Z=~w^6L#wSj;7qup&K#AQFOZjfE-A z_&J4{dna5kyflESRoRN^1za_~#$SR7uF@e|GG{!7?>U4hN-MK@2!K6Gci3BECtY83 zW+xpVVz7Y5_~Mx5Y=Q+rA^gHmm&40lq`Xy5BPRuY8&i~8qKd%9_j}rX1=`?zegyJ2 zOmF3_oK09bGLL(`d;c2HphPjf^<|DBd)nmKXHCZP8igJ`h7s9{?ty&(lUjMJT1H#s z@sFRu;QxN?oAd&pH6U@XQ%7GWpL?bKH30dx+d6R-=mvYkrVBmku!-Y(BS9G*X2BNY~p zwtN6j0J1d~Xr*_7klJ8UNNK=c2_|hb6SIk{IPVKswaUlJ0YW)|+c?0E4{*y5S4U__ zN}D49R0C|B1A;F&tdd_-%4mH)!eEo&_z3KXt#4?p$Pqt3y}qKW3SRB6KOz#l<%_)p z!)d>{L<-XYa~@XE9v!`@p{sxin&nR}h)xy%EyqJlZk1d~-`Y-T&1WiUk^Q`t*i3ai zGz*5PF0TPqFJ%QOA4slA1QYCsO`F$)*1V2Tv;53&<((|(vK`V7pUy9z@32BLl5Xm8 zq1{7F&_s&lHtKPMRRkLf#N<{<_Lfu+vR}?0j+fVK&7{SK%Av+e`i`Phm8n=`CzrmK zUZkI_&C-wH=4PNdOl;+y>%+MFchApN9{@Z9D0RAV_-4yMBWi@R7mS8BPh{$@mNi~J zZ6l}HhjD{Xb^rkLYp zPp6MBhr5(!vw7VC;4%+B;Se`^*ZmkTXq5)zEzD+>q;K2rkp2@^cO7phzE_l{Y27WY zi?FFQJ*Np0-?n-795x(sj;pPv|U*9EoVyxcd$J23lIzGRgPbt^BjU28>C{lR8C~$n;29DW?<`~;&tTA2E zqsC(Kyg}#??dF61|LJl*y*{N}v2ftrs(G&Ix{8vAw@*_%CyP$IB<>oZ(W>W|Qj&Vy z;s>leY=1GIpt#=(x>S1a-_Gb;+#ZeEsO> zpSl)Zq%XdBZYOvUHlOben`O2_y}K<|G|#}*bd$+#c)=et=VDtm>&ShhSfQ3!{h7xq z{TCw&pSzI{P1_5|hlT!Th}ye~d}wImw^4gcU*&_+&ErL`m302)czV6P=UjY(GQW`C zpprRPUF~^&!2ST5mIZszehw=IJJ6dL%dgtMJp2--K_JI8Rz7Iqf)^U+yms~T8JqWR z`v6HP(=t&vy)T_RN1CXpXW*X&)YfJI;?zC>)O!3#jo1?hIq^$22xqu+-MsJw7$!4^yvFW$_?W%`+tHgx zXvvgTP3kBHD3!6BR7!1mKT{0Efh%J^t7HyZ2pJ0Jr}G^KRBmNzTc<7fjqyKWW3LXt zZ=-tWJaA#mV&y}JzI}HCzS$h>ohVtgRc9j71G(gQh7;YtN&GC9sHYY-Ok?FkXezeZ zj)EaU-%+L&5ojRXs&S(fz*3phfmA8FbkWIUtpai3WIzX{Mua{yd)_eYnckio8I)+7 z_^na-oY!#t3^ci%ywIC9+Tqm5JQv}8eeD!B{PJ}CczJsK{3B2hx5Rfcg9#%1S8b(J zyUeJn(XWnL0Fu1PxWjH|Z~EWOefUqaAte6X%v&ejcMr+pr`Z38=fmac>$QGMe!CSJ zFN}^~Bezgje@^hhnsK+Vn{Jk47I~TAJP3Y9vo8R-(IKK~>*R34hiCc(x1_&jd30xa zRJ>t%e3!-R;qWZNvn;&Ke;2NS%!PK75vPrPR-4(@Pqa2==5!SMY>*Ai115GfcC+O2 z-Tp3^fb6jQ%?`U=VFCu%uiQGPfF1xk?4f-CS`FF6Ec03Uc^b`bemWj5$pC$Pz0>}P zuOOLmHpe$N*T?#{0)b*(14hj9yCQ$fr3dwi_o$By{BgH42r1l1eZa>E#3U+(PFWP& zmRAc-Qi^s4+?}!VVu~eamx~T}FZs)RC2!!)gB8zHQT%{;-)S}aDr~cC4Cq-b(^&ag z{b8dznwB)KWzQ~UNrE#A^_-k^@3E4;HUKNLw?Kff_ zOdq3mOQcF>uj3kMf_f8YKoql{E1x07zqYO2V*6n}gT#p~<3`$PUemsNdU-kgmz!m) z%57BvTU+?iGgscULakN_EVC!`X}hoob)RYQ9hlO}&$7i%<#S{#dE^&dZWkVVx&Kon zbxt`8O1K+NfT~x-@f@N?lW4`tDAK0Tv8RI4ZFmayy|cugFP+kt=fkhLY;wmp5Evy% zhS_yWsYwkoOlMSbv~CR?^3+;idq#u33W)$TBA|2AzAP-w2=DA7-XqNdBDc$Ai_3`uZK2zi++*W(R z=O0_~vF9S-{)34gOt@>MLy28HC zLBaFWcU-=U!vD4b8$}Npp5am4S8K!>bS`)f$dt49Ut$pnQ_6! zV0EcotBU7IXT zN)SX<)93lvihz!_K8CvdOp-IpRhX*1S7p@z?c4isJ{`9QWJQ^zd9+1*Un4Y7{6yRq zw>ov6I9a+#e>7rkndvG_anx(1xb5=m*Td;Yqv8#0eA8+Kx_?y?eYgCaw=H;bo@ZKKy=y#%Ez%IkDwsTG!d zRp{D`aJ6obC^E@an53^t&qD$0`fxmbe0n^;-jgS`13IEK+xc2+xI?7UU$!?QWX3oo zg$e`W?`iaInc)h%pqm0Yvh|P0=i`4no|5+8S6^;o=0GKKMhi5x9<)RAc!f@XVKOS~ z_z)3Pz;SgG)+YIsf$e0Pt8|FA$cZ=b)A_&tIH_Az&SvYCn`v#-(CNNCc&fC4OG-K1 z|Jr0xdL!Kh)VYTWSSGm&>EG6|rUqc_m(NeHN37Z?+2hSFsTbis#z@0Pm*th-2;IN; z2F=ga_~UOT6WZOs9+DtiX1WR$Nee+v;2=Mq-#$Gb^7^Qqy)rE;KpUdsmJS8(r(AjH zh!XH6d<2I%?YtE{50QwpW5;r$Ks4Xi`mK)T5F=RdcEbcoiWX1}nSx7gVEvx# zKM3U0C&w;Q0k6t%>`-;%G&?XmxOe8b3Til+@ZtQ+@${p8*Ynj6OfSR1Lu>y@c3PV- zn$HhdzOi2V)jBzITLs`n>tvmB>E-j&tx0P+R^h0ow$`oY=Jmod zp&6u8q6aYUR?@;DbHXy%vTd2&Dv4gBQLu>0@X}2t9v#B>uqAOijJYA-jM8f5aMgF}?n}MFecQ{pSO6xHi zmRYU92R$&EpDqW!|F^&VkH7r&|NTo6cE*2GZv_Vr-SS8$vhN`mnjSELJY{t;3W&ma zP0a~Q<;j^gC6Vz;G0QAgK}-Dm!d#xN`SBfCs(S7Q4c&Q(()w|B;<5rDEPda-H!C6L z6f&r=pZ&uCsr*Hbb(qU49ilG^s)rAk!-@KFHy2t}xLV}rev^yQNB#uKO({fb>kzWf zxZ0_U^po@hHWSNSRza)2Cz{-bN&23v%U6|MNo7Yl7Ok4CoqCb>lIAU$bGoRc$Vx*Drnaldg#zwj?Xs57kJ<`MhMg9Ix&O>us899wO82DBCU(( z2!B*mYxwZ9?5fD#bcLv{^K@@rMz<2*gBfr<6?zGZW%wQEjwX)iQxq zlDr2pn}?^AAR@f~{B}vY|8%+OtSUS+IxBG*9jbK)L%WRNNm_&EkSH<)s)(o5xDPK| zkXt?kJ6ddK@6FHiF7t3b9!|gBf#r#{x%X7vR2$|e@=`#ZyeJ??^#m-e&wxXIGW6cy!9ay&8mmyTu#n<_Mg}1AJBE&D z;dAG_iKSSd*p~D?fvD0KaYh-S!xw=7o(BfI+Jv;hAaCzNxhGH?S`T-O%AN9&!+!f#p%q~&lFYxtP{2E`8}`(X?r?Y z1F*B#OpooRC=fTqf$lJcRWQDVk-rh z1%c|{pHDPLy1N{{e!F!7Q*H>;P7_i0@CoYp;Y2NIN6Zsy0*}}#t+m^jlEDnJb;SXP zwk3`5O{v|TD`*5+Lo%FO4c)SWhWN{|Mp(=s%=5TCLGO1Ec)H?yWp@kyOA~zg`06Nguyd zH&GWnzW#_EAGhSM0{=`O&q;5`fH@;)^uX-71{ynG8w2c-`_>iLJC7PGrMvYb-sG*= zVU-`(s$e|JAm(u68}`Tpcb|;?w2mHl&b}u3lMgWKLC(vZRl&--$x`HbIXr%O|046H zJG9|@k;*t)z%*fzr(p1$==!G$epjfQN0BF!RRt>p=VbyXIjzgn>lvQwt`j(6`N7}3 zPT(}$ZJJU_pfb`so%T_X-e8J+7(C+x43D785gMwh?=2K=;9|NM0ujblT#Ot}%RvO- zhoc@Hb5@0(_zAd}FX!AB-P~(CNeKBZ?qe#t=LIyAN1;ogz!cGy%w|yVv0)@PdtEDw zCd=!62B_iN)9LslY12*hFV7dzuvv}2>W~2pVz!#H-XPe9@@`c%i68EbsxYuV%vlv| zM_>!Cw&Zw&=bge^vO|37a&y|UY!&WT)=fFy$K7FiWt9_MEf`6uAfz*DA5D-50+yX! zu5IT=Ct%C}J{g{us{lw*D-on6aTYW^wd%aG>QJ%7>ttp`X9e7CP@T&1lz^>*C~o*o(#2&BATv&9(>eMQj6r1;ie^T$1Ul;jX+HyqA-wv0b zpH4sGKi&>HMWHqjl8}{O*FhVB-N2ED*;08N#%){5?ugA-s3GUJyswY>v^1dk)RRK*}N!jDKhZXhQ(}`N9s0vO_xuO@1 zV?KO*JKYx{R{#v1JJH;l=&AwN5MwR4eu1fIPd ze?DH0KY}vwmhe^>O4OzNMwE6+;+H|88GDHqiKbjrQ?ZTiky%yI4QoCVRRwR_vN))- zeokra@#SUr)8TT3DNN*s0(g`j=GxV2{SUARP*G7g(;7dfZg(DhU!FF$3_*hRahjf{z5j;atOHzCShgv5Dye)@Ra zJzm8u(;q22b9urTes>yGHj{2mEWUOD`P7;sBGF8DuNx*6sw#{&tXd|h3PH8~XtWj2 z&pAK*(RhND+=k$-4h&h!BsQFc_6;K*!W(uep9KhGG5&hCxxYAqzmH&S%u*GCZfESF zK%dU%kH0+Kg9sR4@EAYXuV!>*J=7KouU&)2;`i&JEK^j4VAR0=e>z`2o_3!PU!R^| zPd{3Bi_f@*kSj@1Wm`^NJOf0!U=c{Ex`;fvMytBPUCd8N+sdgrGgO6OWqaCj5J3Z@ z;M&^#u>0k3I=&umWh@oRO>__I!02H7DP)96)afxhv6C+9nZ86{=nvz912a{HP$5jd zV_A{(2Jpl{qh?L&$mX=6QZ1mU9(x*fY|$ltmb1JwJ2SK)#V?Zl%vTkHtoOKr1pa*f zdMs<|Qu>vQ(k)F|0}4;|HY_b>o8%~qSy6^lhViGg-Rzx61E|sE_CeL{XgWivT6df_ zGHX@xVybz}sB`9_a`$y=8~gTsblxB4Rt#&2VXK2V)#LmD@x#k>7A=EM~Stb?uy`XFnWUUqI6T0W(nD z2vIU}S7RYaKiKIooPlD3swBN>bf2P#FNd#()6-!G%Fd_Lr+ak26sx~=kw)wdOYq9AaA=PBC3!|pu8zy zhuA?i{LJI8TE&$5Mlq;vGRh>ha0gVK2fMZ{^Hl{*22`26MJE69dbr%PT|h=eoXT&^ zA-oX}6ll)2AmtUzq*VK-0b!?Qrm7GtMEuNt?5Fd~>-E(LZVjbNE@K`Hu{lkpY885* z#*|}e=dhGzT1|`3L-)FeTA95G13x^oA5PCk$d5^6ETesS{Cqw??=o%e_961J)duJQ z?g_K#Pm7Q=1ir$uRTUh_E*HUId{KF;3MVBb6`ALHgt;7{ZCc`@hC=2;u}w zp4z0#21jV0$rEp${9zkZ6}GbIh|5`YS@J9h6AVCoO8;~`FyG!bp4 zAgGl~>6j8T>G*wH>6lr&!r~CB96~g_s2&8g(&_E_jy170)#&vt=coqfk~x;+Xn}8w zkxE&((P09b6s_c&!UY!k|cF_|L7Mbal>9? z^ss0|<~=|OqDg=OM6|kv=Q*aU!W$jPpNqF2F6UoPcc{Mv=Rt+^I-xN50#gn?@q72i zhvgf1o}PBelPC8kRoTs|lx&BW#?g+gxLn|aL;DGf-uOj4J%sJLWe zvp|KiJ!Rsm2p*0<{xQt4c?<|}^FctVn%^`?R82ZZ^h;$InY2 zQFB;j=-Ba)PVs!(DJaxw7fk~1dX(TLMJLE7q)&nE87Y_mfF_+4e1$^V%p+-KfwZii zQ6lu?ii%?rt2o(~f)OV`f8%S;>aVI3#Y4p}Lqo*w;U4#yIm7_Dbq+O>#Rn_q)kwKo zU0GDg?I_t7>dm^83%O&3%Q&1)Y@XTgR;gpEx6gz};A?wpF zy5oxMb|CxZ@ZZjt-Q)A&>s{j0-==Shzl3uEyLyAzbA_4+iSJe@+3J#=C`+?HV;ZX@ zeluE)<3IfL^z!9cH2?D3pa1!9fBo$rSG&0ufUu}@A|(I%UN6aAvGY1*m}-jElW{UB zd#Td)Ts`z%A2KDxzOSG-rmX_id2Kfdp#9V3`1PFP2JL?i)o%4y|l^Rl+cDgo+XbK|Y>21V)F?IQ4%(kHb_2RuF> zA73v|kJq9&uEI5q_^`bcFg^s*AwcDIBr4i<;Rz@#Y#fY;(*b(cJjXm%QTb6M{q=Qs ze*X3Ax3`zuuQqwDB4ZPV`o0@Hl}yGbuPwTHM!(bQFp*WP$sCgW6uo@~XYkAD#U^Rj z!8&JVQ7ZSjR6enbJ#o~G$)a>K*sT$lieWH>(bLuRJu|D1crzUHRz)o%g|*gp+364; zUjFsBfBjRZC^=aL{6%o&VYUyCl_z04rW7mhdnR2ycPoVx{aB9eilf_)>$-Yz5*|%biL@)j0@$^dYybU#9 zYW*U>M`VLPW{J((I$_8$CUNx`ybl3cLh1N@^1C8`9LWE7FRzDJqMO?tpP!%bA^z@0 zygV~DY6dB-`}(Q2m$=b*(Dmpcq5_yLx8(C~ls z^=A4Ih|!W-yZtN~KxY3=`Pu7gIUKmqRnA-Ym@ZJ zWiM~ou7?S z^5qX$7u%JMBtMf@MID>5E_}X+m)GOB*Yok3_UP;bB*az&w=cjas=a?Qp(h7Iff)BD zuE;~B@<_h#oL8RqY8yq4iK}8oD6mxeU*5hRw&R2)PD^($tF_yKTIsW-n9QWi1T-e= zPexu*p=1%gbQ_aVZYSy-^HoJ78S|{;p{U369_9VrOkJa^O%}>+i~njEJ7ZhoNwKua zFIT6CaTGTR2oPr134Z=__lOk0KRx7EwdH07uLFZ*4*9x4yYJeaiCYp1mN z0t~#uBq%lq?W0&g9rG-^jkDaL%~c*PL*=48?0>6~WXe{sE@6kCu-nZ${&({=`-6RS z`|N@Mzrx0y6hM_A2<_bp>yV;Mvj2gI%x$`0vqG>;K1jRFDqEpYKaG44cEnf{wH$;H zWcXXo=>r^2AFtsCbZOT`NqdR6tTwF>UvHkQwkd5%nUt6hXJ(cG`ZmTMv*DPCWCb;R$@qxQ)SRa;Q*nMSk|d?QGqh zk*KV+3Goq8mLV_O7CgNxAw>Fm5#4p6;qMF~n9?eO2e$TOxFaM1n>oN5J*>TUELIAH zj(-?{9T50F1gH&2cc)pjdTq>4ctCckE6_HVrZ!)G!&n#Bax)!nr$v+$}ug}NVcS{f4 zqbYQ+8`9&sVw6;n9aG4R9BUH&M_r_s7te76^H{}dB$J4gpp;Z0*>byCZq#_}76VtW zFpdq4Nt(SE_`E{XjA4n-8)Sn0cMASmb&4GRdGQEL_Cx|WJ1!F2Jy*-urEf(s5zU=^#GuH_TtU6MB_ zrrn4=4BHQ=->*i8h*(~j&oEwxIi!IyT^^8+z@FAg%F89>KYaVPdpkXyPp_xl@yFTT z!V1S)ldM=v*Cp*VS%*g0?Dt|L^2BRN+XZwPVl`mXaLi;Ct9c{40QJ86D^SNr$FU}f zk6?rHd(_C*6Xd-zqHegfwMMH!9P?R4@9U9pOrzX}YKWXygllpkooitxV5_2>cWWP= z$I^-Amr83<8?pJYcrNz2z73oIon_zNrRS9qUU!u}N>@y>GksN(z2zUJU3#ZmVWufV zY6wW^gTm{kd~n4@cF;Wh$qa0Z7PA&>#xhw(Y0Tn>J-}dE$1#Uh5??psBWSoJ)1SN- zHqzaK<)tWj9Y{{syRi4fsa1MLuJR9CKL3Y7_V({LAa{=i}++ z4p1RxjAg7TxQ9YV{zS_q>F%}Prz~8A$ayl>bxGEEy3{d&Rmv13G9IW5%FqulkB5)P zT|t*`r76G`DC#J#Od3i2MSbR0eLx&Z9AXNJK8f~nCSP=_F6;aNQ0)ku?U=kO1{t#v zuoEMXFJI2*FK=HTKfgU*<=$OB!rBwX+ywq#!G zu`2j*wU9}yVwBA}Q_!_v53euBo6ol=h+j~tjqL8B1fFAlc(`Jtq<_l#lY;uL)W+mh zN%FQzo9jK#v>+j6EdK$;!)`|WT4V|V$}zx?TM|LeDZ{qtY{k`A+0e%AF$>Hk2Ws+Pyx z=}|7d!CdaGT-D-i4y2W6qVt{&7iYCX2+F63K1)i;_^T0Q+&v%MbM)p?*hYQYwg`SRytfnc4Zf3XC3{5g0-!A9BKR&+h zfG+>`_Tl;IF&*M>|Ifed{`yb5<6r*!e)pdqpML(&>5lp0=S6uGEm}eV$3aA`JfJG& z0NQ(u4T)--p|Yp1VmFoT=&)hIY*rKUn(7DyeEx9RozA;3v-)IPG&lkg``_&G&F$(Mb&JbnCh9G*bs{jM?zQ1pOP_F8HYQ=>;%!JCr+KsAEEC!zg@ z&U@o~=`D;lb~)y?ns~_@e}v)@u$?;T(t3>jh9dD9s<&Wi-~G6rGC!0fxTJ8XtBDXl zGql7m6N~j=SSd*`wG|b>`y;%4`}VFQtSiFrK7!GNjuFh}8M*zABlvOzza9b21*%Hi zqeiZz!YlAx(Ta2YgZ+TskUs?gc5g-VT4&aizN!LtlxkvxoibBgku&|B&tRRn=$=7q zP8azRRD`(7uQErJ^EF(9?tjG1=$PFqo!tJPYl`M_24PO|8IpOR!7ZH}+VS-1vip!L zT!+ioUrX)0Hb24O|J9IoAad&z!5n5aeGvTp*#)GGBs4*gP9MXI0yGB@p?G3F4`hD) zeE9kSTtAe{FCv>2j9Nk-MIA?M8kj~h^F0&8PsF7fkwWH0Iq#6UxLz|2WX702<{Ag$ zT5-b)#Y{DiHJinyrFzMs1F5`<8{Ip_Ene0L)3QK+0nB(kp4Mpj!@vFQPrv;eRQvL$ zfB5I${wD>R530~RIC164FouQPp{r8?7?ZN%X!n8-rx^Dz^iLyXSSSwG2(4a1%sa(* zYpkZS6fiEZ+;L$hYBLti57Vba9HSKL!&KC#5cQvljmtcwRdS)YSTleB5tc6?iaxnq zyMi1B6PauvqXR4IsvIgSeN}fTBzogB6d!Aq&?1)+PxqdI`w5anQc;&0gueL*-EvY5 zAa=4U8Y_wfESODv>y56QptxA8zyB-z;V0<*DV@MnPKs-up*UG9Vt#-+@t*HJfhteI zt|ML#+F)S1q%EOs*%3J!s&E+B70s786N7LRNR1`pAAf`5X05NaXu_=9Cqf8Z6Mji{ zg9y^DTK+|N<*=X5u1Jkplkl>Sw_sGONzGFC48^}@q#>tVC>_4TkSh7MR{jd_AQEeilI{Yfmh$*3LJ?zv~M~`GZ-jpPl@OB0x`<+|}Mm zN0xg=Da38z0aJ=8w1`God1CRqZfYKIxc~l#jx0&Cj&!xk4?lpx1drI)3$^xnie<#) z=__~x$7iuPVy9~PiQDb>$S?J$BX}$F&yz|oUQ|tZy0lUCEPwTjMgHQ6U0rg}$pk6D zGg1aM#%Gw^#q`y)&Dg;OsVZ`7x%uv zI{}MPyZ>wV`S9zoTLv277Sdvc^8xs%6c#GZyFT zh2dW+=JE?*Mc(yK5H>zRPmeZFIf#xyVM)mP2?Ft%#AZ7enVz}XVVA`(p4T_2m1z|S zi$6C$00m!Ov@8_C{MAzT?{p|V*N{)3=jc%+5nmwpEP6JRF}awF#q|bR=SiPR2p#^QW4 z#+e@hU>l4Lb5lsK;FaoCK>b|#2!Q?QrS(`Vk?PljPat>$*3-{GCfYjNO}UKj)JS7g zr*F8=#RUg{?GWFNhYRLOZ=9ie$-xMu{Ix?ExZz+{=!Tl#d5GeML#z*x2gAi%zzq5D z2w}CRYuy>Ps5oKUl1+NFB++*XxdOGiF-O+ai3!a`eA@sgv-rgehxx`+4p@78^(jYD zYLnu3519%bG?|}bWz4uPQq7rVHQ2VwLqwm0O4VGva1>Dxg>kJV1%CLNF9?Fr9A$qo z%UkP@C0dXye@Y)_&}53}jQ0!=)*sGM>JP`Eb8*H|gh5m)!~x!3c51@`u-HJPiY(sK zNFXEMx{J5;uLMt34r#nyZDX!P=+L5Tu{O4X%W%75E`B%)6GVlKR`K_&&t7;VgNYqCHE~$WV{rsG7cU&`?>>RL^8}GkaDwt^KY_e?JwcumjNKLjmGQS7 zdT%a{IJ)}v_Hjh|`>qcRO5+13EQUp5^AXTY;3N2SaxDiICSILcbN7=0YRRkf5sD+8 zh5qN}Bk;}gBTSnwVKG2!tsDT3#fxq5wo_?)(V=e-b1DnI3J(7HcYY6UzrEet2#> zMz`F6THSys0vRh%la1sU1i-w$C+MM@!R#pp*-3KkyFFg%b-DflduF&IITy(#FW~xs zuirh`^;Sog{HWLn(M1rs=>lSzq@#OkPL&^*`|i~i#4@i|UA^K1*m3|ha09sddCPWY z!-JJqqS33Ap?^3tRvVCNV>Lv&XR!PmvjX^H9&C@*-feba?Q_nuyCS*9wEA7B)9p5zX6MYt;LcjXhb zY5Y6^!U2X@uf5${!O0jWdd0yE{BH{{&PUMY2&UE|inFRba=u!KKz5iPLJD~DH^4u5 zX93y)pC_C3I2|YDYZ$GiqL$amma3Hc7I}5dk?4>pv*HrrAVL*ateS$#{j~^#_JM9I zyVE3U(@jeQO?i~7={p4QCdgK>q3__8Y8)CWPE}8g136Wku@Z3*jm^5XF2_gMe9Z{H zlLCmX1vzDz)pCYzt*kXAtxTT)L`TbW0F^#a#Z4(ae}(~5vRB0^>jn`q+2#x&)Yx!o z@Fy7%x<(crqdaPZa@CQ+LRNzXcPQwm7c6SLj>idG9v3}kz4fX%W-S}U^W5i_dZW*= z6xrwM45F}7+oThmnOpL*0C2aUNt-g+;iRQmVpXzsT?)pfA+L&K)=gG3WiG*&&*!&K z*l&7$JYcELNgPuYJA|53pp6q}K1BKq`=qGiMG$Yk2YKG|OUskCx(km~anAaWC@-$2 zHI{*3IzbJTFuA^HlMkOKD85)Tn`^u&@ez=f(rePPPgYD)@y-$*1j|KaF;73to4SKi zJSOn`!a4>3A54v(H=>k;G2H6z|!E`Z-sdTWYv@>hj_X;=oWILx{lx0OnC`W#gGH1I#Y>KJE(_2T9Q{%(VT-9F-C4$ z4uHAy-pATo}=x_ z)ZNiV(IV;8X1lqw8ynwaV0Vzr6BgZxd2L6b#b_1D2z29hamo^O@V)~qURlCLW#h6t zK)^Z=ij5SwjVgv6mVZFWF``lSy7*-0{{RgVkPjliE#y*dV3a~^!kZJVQ{(e5yBtv397(oMcuUQu~gBqiNSP90V*&OwOGJ~-3!O$igD~&~rnqGyj@v`)WWqPs<2vj6?>pzZ(pg&(LHltG)y zmd&oi{$JQwr8}Tm^QJgt2?FsWJ-X`%>q9{0*VFQs{s@k}LGWfnkJ1rr_Z8p{Ch=3g zLh;F=4o*$pIf2ExpAW}3-c$JPZ-4$@=@5vg1Lv1wG$RZ2uwHyh^W(zjs}ZRJbOI}} zcV2WYGd-ND+I!2Wn-sbze{sSRxk4F1+it=Fgj?@dREsd^nZgIft0CJ!LKB|a(JrAG zK+&~l2AWa=9}lwpFbztMrugC5`r)o-H*G@DOum#TfxCDEOLpK}8)Q&^qW!w4_@&<` z60`KlfPw1wsf-uEds94d)p~tTJi2&+P{TfeVdn#cR{4pD0Y)@xd;%Gd+Re#xJHQ=y zQ#^6gwKSdl;Bpyq^^wc0c^7a11jcdMij-eM7K&biCnj{FJDuZ9+*gahCOcz252~iR zLZX#ZurtFv_so$+ zm9|B0;u1!!?d_#p{g(D~!-Beg>l4-)(NxqYcGy>!!4oNJo;BJ`>v&b1iMe2MZRd$t zzkBKh&s6jh#6(#W)~c>g7c7qu{ioyQ^6T#Pa`@?|r^l-&&=u+%(H>SJ@d@Vc1i3^y-X@n` zZndtyl&VL`JhNqiz+LD(N~HL!emUU(o_>TbZSm{~w<~OCk`Vvk*derAMX|U%>rVO% zdnv8)gkBs{MC+0HXVR<*GZw4%F977rChpkfN87YHs8?C4qOrxwDVR(Gjbf3gv4XC{ zX0Tc4SR2K1Z2pf{`t4R><<6*Prv>7 zZ~r34-qw)cB>Sc361X*EZ$6Kfdr(>@i-qd>A|4vQRKaTJmB43KsZ`M(_PAP>LN^bR z!muj`arq!J1;+h=6K)zQlPCLwfum$NBNCNGIuuzkchx75CVgfWtKuOzt^`zr+a|LE9TJ|Yh(_1sFntb`S_XJ#E4+Jl z+Hy|rREej1l#sP+*$Lb$LDd$FE6Q03N899Wp8YrRl5Bd)p8dC+mOIrVT(MQ}`xNQ? zQ`i-)wr7OXvvtrHzBB%Z(HF?8Ig1@lh38?un_ls^7&W^H)?GTdgcRZ#l$BEzP3w^RGW%|IFJxADv$} zDauq-&3B0c5b%X5!c7V2qpsAE!>PBPrtxV_M45QY3}b*^Wh{MsuDFDM`lp}&^iQCF zeM1fM%CqPph^)z%s0CAXYFE+-&#t`-trEQ1%3kGVuZKY|QSL=y1H}wnW+(^ya(<|2 z{N?N0+pSk|%z_UZ=uBParhuLlz{4gKq=^7f2qwnLwm$G=v#$$j)0txSEm)FO{y%>E z^!YDupT2&3`t|MmEk)wa!q(?~&}+m=5rV=~d1Lp!iy{MNp%t~mfN|za#ZEiqjUo{J z>Fo#V8=v2vl8T=mRRj)?qo}FE1b;~PDMie1iQCkYzIDhqZfU6l({LGCnU`>Qh6GyPg* zX zYzf{8i&{B`!zgTR5)PHKc88dg%PdoZzfFU2!eZWOr!ffB8M=HF72{YbuhdS13Eo*X zVAq_|_zD&b;pr>jZutbA5}#lO)H>>35ogy4cFGNH1zuY{#IgJd*f$R|f{4wqjtmnz zr(ME|qczV#cKOS@jaCjPd|^;KEknfeHfnU1C^Z6W)eqEH1Yy`&pfpg^@!7LC&hFh- z6#u9}r)Z>lC}(e?P(mDkF+8Ae2NPiN#U_DVwL3Gbs}-FQFXRcvZ&Gz&XPjjj0R58r z{+!`ms0M-g3bi2D(q049YOn$485!5UTMK;7yi*N3BC`D98^r!t&IcZgy{_G$Dm&ev z8qXjqb>Iv0$Kfvw=P@^a0dLDmCxK#aTV1@Ha|B4fnU4+3(}n%s|51{|`JPKY!daT+ zoAN62b0OlHV<2($|Nf7YiBgyx9mV>qI@Igh{z*j4U&`BV{2K7aboB{4PMw}Ey2=!P z8fV?|Y|C#6$JN{xGjmxv)I}hRe3#c%&Fcby+|EP~D+#8P2Yyqx{+f2+tV(@-tV%SG zqHqNb&|Zf;!N}A=4?kwnVZYb z^F;Wf_nbZhWvy_y)m?3c_s^DQ#A%;JN&jhX=#Vs4{@wN7W1@Y7?P6jstMz#A4YkB2 zxW$~z5)l9ixx0jhB(N0vWA_-G)ECuGncgl2wp%{0%WDPB@!*<7pOPBoYYfT_p-N%7Y zt7T4)?F!{4UFX(tHEbB(FXfL%h0ZK%2_ni}FxUoT6W9)SoO8toCbRKZdN&5e6kSF8 zz2wDg-f{mI>Fv4nSiV)$u2bn3c$eLW%uLZ`jeh6V=>S<_eFQJjB7VI$1dxpxE4@T1 zsA4mRRwi4YU5S^;xvU&~^2a74X+2L6F1ljV%m}ck<%hJ_0FR;^uVqRSdt+y$`-l9n%@zGExO=c{{Zw5D|gGIa;;s-ui14Y1?X*St3s zRo1R@NgxI%OhJUEx?F!7?GZCOmzDh4hy2X_-8YKtpYVuLsPS9BKU3L3wS=+6bQhDl z=sD0ZwJX=E=VA>r5{ANh3m}-3%gU*_cgfyQ{<`ec6rjdN@__su5)mU8WMAH{-trp; zX5_LG?{Y9&ffe($UH`YI^XWPA05m-(7-bs5*PbY$X`vE*0vEvRu+9qEym+t@>ka*x zW<{Bp%MOEodt$C@0feR6TQB0G3D&zalMeYgSF~4n&MsqJZ_gQ{t^C4ju0i7gY^c!! zGjmz{yLquRJzwMU4KKFNo7rOBq)loW4AXO2E5o;AE8;!UH{92VwZk6Dwm|HFB@XAVs^Jkpr)4aqifv~;nHbH1^e|Ws)h~smp_FKshwHY*P85}! z*x@6@<^$gfUY@kW)GoT8=&D>$<>^w^^;dog`-|k8J#dJ?tK?o5e0Hq1Cng8;!YyO$ z6{`|VKDz^zZ{~K9u@zZerxUTIHys+d%7$ruR#V}`UWy+P^V7a*z`obdF&h}h9(}bl zMEUp#YSO_Q>KD;unL>;y8rgL$%S%U)+nn)^8Mb&lR$-=PpFe^=2_9O_JPv?g&`ww# z_ZlG6EPwAaHcv;B!Ehs>1c@}ztLapTFb1`%2JCmkM9oXJH>ttdfB{g>wEk5nkjgbl zX)pix5;td8Q5{*OG??_*i1F8wzr_TO_$T=ivFDWp)$|4IonPQ+x5%brWmGjMSEzmf zA~sJMh#ApsAp@kA=<(&EpVxVmb=4p`z*9*f?Nhb-Nf5pa}617mC75lLt9194b>SebB! z{E-8=xQ3sRX}PQfq}WHw5C;lE?!e-{qjozLzEcj&w#b7SQfnU7D)OXj(z0k3#gMK^7V~?Mikc5Q{cHr~$Kb*#U=wiH|syA5lCK^#!9*lq}XliC^GYw zm4FjEeAFJk{vlnJyD}vSxJHRX!m)L75}ZQjn!;c_x}2k|zLnh2o|H`#VX)@vTV%d1 z5QJ_-AF6NnsL?GDxSo3V?onE6_024+)CD zlxy24K9{Gex8>T^+U&VsBQt9`H90PG7h*{~SkY`m&U#=Bmu~=!KrQ-|Tm+`3$2zWM zyKB*;#6&~EoXvgnyKYz<&hgqkv5pkn1xu6lCxX*>4MhyWdRvm?UM&G70SUgbk-M3; z$aGq6yDj zQbi^PFzV^$U*2B6|NQ#n``IV(RR@Vr9d~WVnGQp%x{VA(Pr(gvFGxJjTD~#?HWD$;ru{9-&nD$YHL88dRf>u4t`?1F6dKlP3r*}cOR&IfS|!U8 zt~T;6tfA<3wNx_l`q^T{O*mCS#~kZJ@OZ)FIz;kYB@~^q73>4u(2_(Z({hqw;@BB} zJcN8b>77AK14@2*2u^!0R+Xd`kWWz`BquPBNYO){hhVDw>~|$-Ny`5Y$&XHHv;7q; zb)V#Mnk#COuS{%_*|gjMSkfD&W_wPiRVlNx>{Ryc5*r`!@n zCeU)SNoqura>eiB$`Hs_Os7Rt8Nk||nc?O z2yZI^(wze>!`eygAMMrTFyC{RxIj|={6xzQ`M-}9)xU|A&6fQoGI^Gh1MrB|3~)SO z|8Pb*h~}(8?c0h6s?p=i2X*emLk=rRHU`u=*2GX8s_iAgV#TSkHD#_Odfbr3MJCR2 zvav`*rE^*HeAP^i^O1u~HPDalhpq+s354j#bV zSuRY_P8#nWyNhQ;(z;c4vUs^zH>1yPkOLsQBFk;Yth`uV>d0GRs$;5Z+KWk>N6REy zPPRw4mDwxPy|J1eNq&b#A%Z_)VQ)g3fyO*qy9LD_R9-FDr*hf3x7`O!Cb9 zC+CvSX%a2yhUj!te0+LsY;8&m?NFOEZARW+n_^~7T@+Z78KbEjB6hr0 zXy;hOX`7bfz~|Z$6=u$IvNLptzdD9-hD93jxi8XK3@3T3%Gr&If$B_;xz5gQ8qvjB z4LC?XdiJvK9^r*=BSeYB)1oXY4t{|W#_F^}xnZ{G?RtU;Xba+m1<9%54L0>1CdhJW zhQlj$M~>dm@MaJnBR1ujk15h6((!O2R2@M>EnK3Y3Lz$@lSrpzoojf>)L1Uf!#H>M z6r0W0X2LY<{TJvRMdY{1T|hN;{M5FJAG%h|)4EwE6PXjsr5TNJqm^}B{efgQ8NqVB zY%lS&j|kh{3|gUTW?L?TmoQ?989czvhc+$TVG1lK`$1bw+bP@WCSXfp0KzPH-86rMc*30dFL7D}zPd zum(NI{GxoF&8@IOETo}blObjAFJN3`dB8gYX8O1!SV(i_ZDG+3i*6n|a?y&=?IYnupp;>7Er4%GCL+^Tc{BF=jgM1WNIkjpFcVEU2_Gqv z5$>e|cEETx+I!TYnzJolHbIN7MBOOi2K03c7q&%Y=B@IwjCss{U%T$dz<0my8E8_} zbubwE%-hafHK}xOGWZFo+oes!$dKzhs3TC9c&keT7s7A0BSj{y@@5Ls7M_oD{C*^I zY+1~-*pMJPxpS5nTVh^rxz*NV?1m3DjywwXp1T^d+vkYI@=@c;K<*FMtYfrvsR; zovDSLRDy#N+K8ndxh~?(@`vZ;hU}J2J^R{C3EbS*{}&Szv3!DlYnH<=|3;lx2N7-w z>x)PS*8yg5sHi!F2~G4KN#lo)pB?Nnt##+M8P?v{A-TL4JstN3Ws!2`BCAqO@EKNG zD^XJ~odjocD(~jVfXnw+B7*=?K(4Xcss3tp+d4%z_(kmp0h4-Qei}NJA??-A9r|slq{aFRP z7GLXFeGd~bZVGeBo~j)GYv%^|USf#Ya7Lzxk&6Ej!C9pm&2Ga?xa}1(AC;GLW}Sm~ zs0ChIH(h6(y1zxk^Ylyb9zw8TWn~h!R30~o%9-e*DDh*srnad_F&~xp6E+Ydr_aBB z`uhFp=NnjGe|&%X^QXUFtBusP<@J!brW4Pef%dtEZ1EXfB$psaCO`z}wlqVkL_oXS z#Lm`FQ}%jZVul5k=XGUYN4(piX<|30O;q(V>7|r!iKME$TAMODasAkJTObsT8sRTQ z)*~_T{2|!!h5>ifIOnf){f{PujFz3MnQf~~xfyL|5*Tdp3_>wQNW>3$Fm8_V)}cwO z`Sdrne5R=Ka!l*7P1$ub?F1P?gyxS;W^Sx&7E4RvvZo4<0ri)xIAJes$#n;i0$0~| zFl8pH@^VNEA7H7jo!+1l4%da{UPcc{HxWHFdt{awA@sXTbcBoM!3nO#Dx_Ku%YcgSVMl#`EDfdxKzf);18DlfO0y<35aH0c=J zojw6;07i;pG%wloL?yN{tzjcUo7?$WB1>Hx_0yp zEPxzAu+HgviGqpZX7M-JxMk+7@oDMen?w8M$7|zZKj9n_S7>fE>g@;UXj;4!2ht%iI~QuRVl_mHP$)9a zsM0rg9Q4i|{~probS&w3NcvsnjY+G5Wd0+UjKK6SFW-Ltc>2@pNtIc(CGq3ENl{R4 zxl|G4Ev!bVydHfhkp+;<#UUTwDOU0WZI^@$RJHO+uoGy`ILHbdEp&BP^Y`AOGt%sc z*5dMJkt=a)QI*h7Y;jVKQs6KwB5ZqTfl?B+=qfhzR0YWtc9+=vQl;2g@T<7FGr?km z-bRCIws%rc-g7&86^Om-=rToBkR=DIwBM@f`{TR^a#7v6In!+A4UnkMunpRj9MXFc z_SeCzO^MT9Mi6{^qRdYfBrnXd{_C3H`ljG+#xZE(l&i1vOz`={OV+M-P)BB@!WzGB zTXd}hK=63B0#9BQL8ql?;dPaKSrcNY{ofKTU!GyF4yHgDeWmA$KKAAee5lQ?FcTGU za6REY_9e=MH{2TLmYx-b*?c4`^V$1@kQOT|ixuqm!;@o;(@vAR4k61QexvMIUHTmq zc(?pF>6-lPR%OBJQTg>M zKX!qf%8%*acK#;Q$k-ukptAl<{8&McgW=}~z>d|=1L;d(c1LI_I?)I%`%wL2@QqFk zfx)WcB{0K8`cmTGFN_AeXVYP#l!pDe4{0sKdLoz<1@Z-nfiYRaE2EJB!_x6P-c?Ft zJ6@GqH{8@}5x+Otr)Ae_8IZei`VvBgZOg|30W}*?OBAUDVZ#mwt3}h3`rr~hxjx0j z>IPa?IbMcU=~e!y7w45PZZlew6g%HAkH*>i{dKlLF?M7;vAlMJpL!GT0!d%Mw-jlV5DV z*~V^(d8p9%7!=S{SH7*l(WXE@hyLX7%yhcEJ!S>HJGTBvEiPJQ<+<)`+$OgB3&fsR zV#l}M>vXn~YlFxY+aIl;DVc{OBO|1bV2h{++3QY_4#uCun>81a0Mk(Dy z*JEuh7cgL3S#f-8HYz zrgf=pS9!6;44MNX_3ReqXVjUVEg7R?y34aYbV#;xj3&D)xou|95))GeS?Pc9CDi_G z7-MQ%&KLu`ZRB`Tf}p|pJ~XcLakU=C0b4?*jNRDO=9w{puzrdA>YXgx zRPUVS7WGb-!*T1=)w<|AyVuq?Hn-o}lyEG}#KfIX_hQjX0RtNZ1rZ& z7xNnhwPhWDjedT}U}oM-6eXQm1zAo(G#%8f5+d25k>VIPMxPlW?1c_3lqiSfF5byH ziaUv=?M2p$xJI6sl`6{q#J!T&KYWnfx!aP1R>+roQ@m>LkQ%EVlw7mqGcpqY-q>nC z+e#$fZ1-LOV_=9*?dqTe)&Ms)Qh|LeT2jdY8o-OKHmj8q6HqYG{9bbaK^kuk4IzM&%4yp)s|f=F-a9zGei?W-R@o-)vT$_j;+FG zfBs-Qqt!|t{7MGH_wLwil3bl&-^6iPfIB9cRd&y^%MNMfbe(`R_H;j2YcG{xNVs6M z+=_bP^etpXv%FYoXi5eKPz?X~=;ab+hMtSkNNa`|saa8Gt-?t7Xp0uwoAc?q08Qe^ zK2ahC8;;V}qD4xvhIFVjUxF~Fm`Wn5)J<8%4xO>)%b2t(y1A~1_x#JJ*I%)#`qxjd ze|f?B^UJNi@4%NWml9Bs=_`*&%zGn~A)GHDN7wYoC^ILec}5NPxP&3vU>DOHS%!oAm69Wo7Fqul|X9- zunwN`1#fBzteb4w)B%hQqz|Q*b?;$fA}io@yHzd!H9;(XzFtA)YG2Wal7g$mf2b0v z{TFz9Mn~Y8Rwo$no)y>Z*dr9~Dc4;yl`&GyA%!V1 zgsUnTq%y@7^jB;uv4EXRq(~}yy>s0y%A$t?#Xwro;l_ll*mp~fd(1Z^G+7Blv|JD zLL29)7Rbd$pzs|nvi5?V3-)58*b}AHDV}(@#V#@3Rkrgi3=ma!Fh3~qat#NvsmiV9Y{rNThf~RtOZJP@8~~GD zf!S#-E{=eq>jk=Lo(lhXJR0_X8DvN?J~uLa8-Oq{Js++;j(OWQm9~^wN2(GtUSS5a zzXc4oA!Vj2kkjqU2V33ao zY~c!`J1mX?_YO4JMRHkf+!!-nWf?%wX)P_*>yQ=7=O^Bxa>gO-9y54(v0eeQj6q>; zWJoA!1ydZ7_eNQ#V_JhC=Dx}@jtGzOj?v#c*in3f4m(>EAfO}}qm*d>b2p>0uJ1L| z;s=W2cEmr4xv#Q>j8e#smF~kMJ|ku4!l?1WBbWDZ5YnJ2^99Aqs=)VWSeRCvE+#Wx zvYB8*z8KD>DuMcX7C)>(bH_Q%eS-NDobP^P?3Ns`H7K|hV`}`)48=NVNtz9&!mQ? zB{R&$QFWnh1)!;6fK6R7NKAs2B@f)gE8TVd6UUYAXh{|e55u$GCD4%2N_YAo2rsnh z34*HwGs>2bQ6Cdd3RP?)&jGG4K&Ky}bs$!aOR z3w>8)LF1(Op_m9WVTtlfwy3YgR~|1qTf}`eISycSEN1a|3B)Xfhp=f`raY$1RdmOq zi?gR%kwGLkw7$>#_oh5)n(>saS3Cq!qae>vN=f`s^o$X=n$I@!{Q5S`^}yF(?p@t z*$}3sch0c+>=*;}^Hh*Gb!iq&rhrSx^mXrG0D(E0Mm}5XGOX!lW6c69(ay`Azvi7= zGen0K&o5AY&4l6t&)OvlcuJ`4O10}crCo^EShI)|cBq&dz(Q{uB0DU$)0yf;^4c7e z&flNQ1+z`^7&4O69-9J20Ktc$<`&t79g?@PW@#l;oJW?896mte=gNIJs&r;{#BJ9I z?u?HmL(^K6y6X0bb-AOtWD&m}@XN-W1+zJvd(iVh&H1%ID(;dt#ba$zIF>e*PlS(< z11q5ok{hIGGVC)1(5JiE+UxO6)5sPN2cWxX>2 zYP%-Jim%b(6fH{FAfQEAJQN{Hs?zuKO;7d>EiuIzS5&FwwH@Y1G+)^FwdqT`9pbVP zWR)~-q}S9`w|`i64Sd)Y*v*!7im)F;SJiWbs`sJ6epRZYc)byms($Pw*?`Eri z5KEO5%V}`NcEKtH#oA4T?5D0Csn7_qv{5q(2)<=(pI!w+S11$z*)-{s&R=jbE;gG6 z%Ef5cMF6^8tei(Ho`ZI$tor~`mQqN|hZJ}=!pPTRe~XrfJyT7B6^MvE0$i`MiqVb785-s*CIYSUw{CMwF$IHjjxS z4F8{BKmGH|w{QP=`u6EBFJMBv?s!KOqIo7Znjz%WRfX?>ZeYIIp)nWc1P z%NOAXZ_GEo`CTK4;(*~>S8QG-+|ks!7Tr^nd5TRK{8-15`2@gE&3i$bl8jg=QPV}M zHle@SFukXoSOpuLIq(UINRbqYV8=1c5;#iP)hr=yy@BJ2Df=7wZXu zUM-K^Pm)d-BRn( z+r?9e?wjl*4%CFXMtcUu@)eNiP$m~uPAZ;+qwG_y5G#R)04H7fa7*5fIha1w6I-is z*RQj~5Uy!juoIU2-1HKbP~!Sa0FBEK(kTk*vQWaM1I{O2La{Uv*Qg(G+sQMJ^0cS0 z<^m;cW+kT8p&EYm9wi7(=4%CLAdi!b3yWE$vO~p&mJ1aW)+HVn%GR~HcF1^-YiCtwJk8lNetV8p@bZ4jJ-J9?Zsb20&C8oBl-+2Z zs@#s{o;DrW8O8DTl&~FW7DI-af^gpbo;q8g=8WyMUPvKPy>;pYh33Cj6Il~I z!g!RO1s3=FbEXy@^;*Cgp~RXSmC5F;R3l{mv-sh+n^|rdKjR?g`~}Fzv$Hp7Ob$24 zV>NkCBm-@WIdq^cCA24l)>2{KADmGvTBsc(t(KS+<(4%c&W$@uTUiAqo)=u8J9u8K zTv?y#e?s2BR*$7?m21R-jot`caB6#(za@rNC3YJTl~wrWbe(ipcWoLM zMNctFg8vPuQok`m`1tI-YXm#af*&G_C32o{hsuu~Xgc@Z($m}+vb2-12F<)cZ-0CJ z{_^^Cg@wKbZsmqc(5G%YPt8^Vn0a5#O-WqrxQaf|eV^yvslhv!BC7n&<2pA6ZB&4} z7uiF3CM=KWc;WnU!v45GL&p(&XH>oXRwsSQwts|Ft$r97$y&H$2k+HPW~0f%3YMve zHRmtaIZw;$P18uW+rI#dH6%6c3}^|POU&vpp0>`z7rQaLEn5_@n+MQ5t&`AOy902a z z4R5GW^wN;5YBVPt+|+x-i1MBJ))7CCYB)=4om%_1xiQgBiXix`+{Gs7qDE)B(>34n zd8s|9E&L=mo~)wAyyx$CQsYR#K2{CSYTO!yxl)C|pI74Ip^uRXd|oe<8iVQYv|z4v z#R#kFQs2>*D+7F9>Y@6?BsF(DY(RKOgQKwS zaz*ZqKpKBNuhBFHSj{3~;gq9aUivfvg;S~W9HEc`9&F^lO-YR*2)Kp;BFw$*0Yl%; zzp-TLXs6zGI9$WuUjO*%JDl^WXV%o*HUpP>F%Q;($7^?ofJoQGr;bXTwJ9xWOVMJE zKdWzc>l9LMBw1ht?^*zQi&^~V?=OG-*l0%w_EbY9gW%jA1 zrC)7sA-Ecxxio;O6+dmr2pS37D3ptFjn598I(Ue`%Tc;N-bx;3PYD2v8k#>@bJTe;LX zQk#YlqQ+`3t`KcB{gPjy_md2*ac^HiB|wCF+T~-diVhZ&S$6WKwAI+Ms8H1FiD=EY zy4?K(gd!B8hFv+${XKGylbdo-C589BHA&mV5-p#Y2rlx)Zy4Znqst=j>DmLhYkZ_* zVhrp-h_@lF6>(e}P9{Q_#3$3{|Up}DC zXz?`MfZpGwh!Scoa(Q%w2S)q)8qB6pv0Gi38+De!AK8mswr@5$3nu&#$_+rd5LSdv-9~AONzt_H5b;{vOpGc7E9ERaMPU1@?7~(RHta& z?cir~TF%|HhwN1ZurD9SAL{7cK9U%4_U$1wx-6sIX*_hd4uUcWa7B#j7@>n`(3HT% z^Lzu=%al7Lz$#j&D@trSdW|iM=F2up+;nG2ULdd%6!X9t{vtZDIneQ2Pn-h>*=dD5 zJ|wtf!QDpiF{VDL@g5Kf$>mKoBJdO>sf0V?IM^5kvYMhq2G+7aVAWPqxG)xUn-Wqp z-IVZ62|ooBm|VOQE~;n{PYwy#a;-@R{tydZ6#VnVhwT!cvZywe%(zzThNyx|?YmY@ zW6m;a;#;da{Qc|qpWlA`{ps_k*Q&|69_>?fJ?Jy^g72(FaG_~Y0#PtTcXCP!Vjof> zHYH@a{h%%z^84$48J1;O@=5(Zv(td~Q8bHMZXJ;(igJ6~QnWOQOX4{|(fB=7w@ie> zJ--KG%8VGgPMCu1OcJJ0=c)X1S=!W2b)m7zt-9ruu~S1Vnnr*uXTgkoMo75h(}xNW;ZsI8;w>`V(vZN zoO}3PWDh0nZ=HtrTTON)Oj1K^HSR2gO)W0ZzXZKX%w2TPJECki5BIBNg>s8{4#OerT20P5&|*VN^V zW=A=zhH@z@(fqENt3U|auT_D9p?oQb!w;xJ97_#DoZhTA$h@et9ZKjgD$$jx5?irw_oT_Za{=|#z3E-;63I8}0T+nUPHYi2 zZN8oj3c6^&X`Fw6nR@n3WF45C~5GyeZvWdLEFWOt%Ai}VesCM-8txFUi zICFNSQTqSe;g{^`jvIAL@Zz^odlJ#texokPe=qZmJ{xt z-E?4X#8o9t+}-k9NNkPWiJ~&2bN%HH$x*C49%ys@mB#^7#)3%$ley>bbK^oARh4mz zC%Q}WNYDlPtHU!lN|ZSB0g8uKOk0hG$|<*k zbt9{J1SYNAjtm@UbyCc&N|Toxg;kOK zol)=**6bwrah4qY%@PCvDAr96CMh42y!lu!(T|6(x~CefwLU7Usvm#!wAA9j-HoHX z(rXo=4x&2x@u_mj_`yLj4|v!B?;3lR@oB~^Bszb0g}Xu3FQDhy*Afu7Y5b5Uzh%p5 z>6Wr)S28H^4nb!_bq*;y<1Ivi_=qbTdlhKV$MVemvmmy|nEmZitGWDQz)rnJO2nA1 zUL)kM*{L*;?#tZ{QY&%U4#U|kXE-=bBX!Wx+%2iFcfZ@BUa;2)1f)yFhri1i>geu_f%R%I$nZ& z^qctxr724ZV1TYkO2Tf+xDc0{JmP$5qHDM5JvSmN6Ql+GSjk0ZSS1f1BY9xS?FUF+ z({XU;4S{Db-ZaU>bCDUq{5}<$^a-!AMz*+tj5qQs6YM;7`Ein~>9%~322(sdw?#018RIc&kD)6Xzf_yq zo8&fakw#x-f~0HsP{DiA?_&jTzIFhKqb^R^#%mP?!ZeO!-b8rT1&`B-BRGFN`jap_@P6K>Cd>P=Qn3NB~q#Ee3hO{-xl{}ad zbXbXU`nm_3*a(gtI)gK9v1T4Rvn|re>|vAry|ox2AXSU-L0U8)8z(G|p$XcNt3*G4 z{BF717(SrU1?V(KAeHGI}>^&1G@8!j2~zm3VuOgpn<8A}f$&M^Q?My2d&S4Ir%S z1{&CStV|43=7Jk?A2L%CeAl7fcuaqflGEsPsHa~(b6&zP^w;77D%IsL*bD&X=6GY8 z3i!k!Gqjb>^>x+`4orYEi`bwaV*gcHd-90*QL74u5zDbOye`DHLH$=_rZG^?|rmiCgGowlFUz2)D?=+^c0MT0ohb$!#ovIcYUb7kNS)3|DfR+F_a$-rrhE(TnJZ4r>Cq_ovfaq?e zcTgA6^y@lk_QxYHEWh8=n}1SPF^b@hI_)K|7oW_hP9>ldySi*mkBcc1=ihK&E_$(t zoF!*BY`2!@4#~s2B+oARwRlTs?#1K>OP)mtp_}CFfaRnL;lam^IqH;uuKY!&PRj|b zg9DcB7?+D`(jX#etb=An7rf9Tnogl^=AM_+Q9hHDopb!60(;=03v96uLp{a{qS1bl ztzaslC(a6>#!#tfdzUK2M}eN*b;1wRR$pzGbFV8XjcVLhCQG#MUCX%-yDyp;(Kt)npC@Az&vuo*Io>P@G^j{0$I&-99NZW_ls}HTFr>l4h)n(7 z=kMPENHO6et);5fp|B3UmP}^IZ%or5u?7<z-Wi| zcB0Ik(KS&|je_C`xX@BEkCZPWxh#nxJ&Sdc7g14KT1-U^&1y^>&*+!l=^6q$9>og7 zHg#wU8ilp;wX?73xz?T=xUAe@ED}FFva8erZh)bvTK5VAaZ!65jrgiKOUcoKvHYXx z_&}*KVv6^iAeq+uQT;t9i%rIT4#el$8=h8k&<7|v#(;XNf?F2cJSe!@2o4JVF8CBx zlz199C)7=X9$bLkqFQ4f6x=nz^Ei6^(D19eJ~TRAnzu$_LY1N4I5cWhqqVZbDnv}+ ztka5TBm%=Q2>pE&S)lFYrWXt-mTF#EX%32F$RM*7EIxs>sH;!;hgo{#Qme+AFxJ9v zwD6Tt3m8`U4F+iv(@C&^0U*-F>izOpsQ1d3sdze44*)?RR!K};_F6jWwn`lXb&mJAhVFz=UofGfG^ky#J9;+`xBQcg}w~cY7Q$Jzm?UJS);_k0Rh0Rm2v$8NMaDDP=pviK=2)S zpsi`64A~o$hx$OK$(3YmC4ROSwX!D{@tYgg5?4>dun2_j!+msTfFnnmujJL~EhmRj z$9i>2Qi+A=y)tUsIA)rzjxHZ#s=ZgiEeoDMLU6=yAq;}cyyg%*6_0!=8U1nMI;nHP zr#f#Hyt!d5JKygYyp8M(C(a@CaN;3b01AZQl_EJU$$WX#>k?(`cVfZaM+lC6SjY5e z6TENN5rTW0i__{AA#jvGCU{`M{YMC{JYgvZ!9$07AfT+p$PJAmk`&WsVP_Xr<0G3OIV4Y#_QpRqDgChS$3&eKPb9CMDKa}y`sZ?f%dgT zO=6u_+d!bT8c!Xf7k@g7?%10S@iB}3_dopoDLuXXp?K6!zy9^-t+J1m=qAEIV|qxM z#}4PSiXD>1%*{dp_Rt4tR8@9Z>3Bj7b3G=A)O4Xgo8p@C2bzRM8@mYe`*Y%{FQ2Fc z-KV~6qM_;BKSORk;FUn2>R?!h*~aU;AFc>y60rarMME>A%jo6S8D12{#e%W6eQEo0 z<4Uqcv{X&<*~s57xpb@dNKSs$C2U1bqAV33l-#l8^Zt!Fmee<5$vDQ61fK61?%eNn zoEnx8b)?rt>WgrA7`S5=?R5*8QH`F;8vXujGaY`&)8Y4-b*F7B=bRn>%n8|+aLAw5 zEo!7xc3A)Ue#xm@?3TeD}V_464|4)0Ze0`wlhi!1mSX;x{Wmi3+c(Vbw>gQSxG2 z#L>gY=>0mOhPLJ3bh`8Qqto!18qN7yY5##gG_wo4f!;G?w+QoVsJMyOJ>pr7Pdxq= z6fGbY^IwkmYNus^RFiUkQ&DK#RCeI%p=IJVX*ucn_Cb9qdGYx9Ah=xRjzE53hU6L5 z;qsun+*pK+hVOO{_pV#ln5ht1Ootz@$!$S#j?J4k)rF0k_I{Q>1izx+NuHkh9el4m zyXvBaGr%GqaMdOyIPj0*kue^sqBrkr?F<(v$4-sLe0>aKDnLRhY_5%r03}n0HPbT|RD;#5OXld-o4CN+^ln{a(IK-A z?_cuJ1s|6@#CfwoTk-(to{f&tHT5S|Cf$3NJb>1mB@a8v@3Q$)i|&B2rv(@pyHz80 zHGpJQ7%vjhP^F~3cXJMAKbjhnk?l9!f2=$Q09EHh_^}(ELK`tfapY3|fg>{q;1CZ$ zFOl5I187WDc4XLkzwA@^Tt)9|1^U}9flo1+0u^a&jTnX)$FkYkw9x~*S~)TDF%bjL zKDJ_sn@T=)TYRgQ_!9Z3+`X1|4Gy5>PkX<1rw4o6-v9?V)5BFVs5t1MW<3Jwk;_%m zos=`w9UBkm!QOY;H1IAx04X~3I39#P^cam&)uV13$e3P8rsri0*k1Z6n%4OC-)!zI zuq%%C1N6}Hd+10dEbYYikTd*34`a2%j*ZzZZ=yK(1?iUgX|r37?ziiKnr!>S&-BQ> z+1}qr_5{@yWCZn@KcEJ?=rnyPUjjPS=#4FMuLE>e3duTXE-nWG_49)Ah)Og~X~ zZ3|P9j;~cK8VOcOWhD#|dgkAB_U+<~jJ4(B&;l<{M)mCI&79KU=m(esAH8AO-A4Am ze)|5WAFrQIDL4-KC6kClox}hxbIAWiE)v)Df6>q=*C&@F?fr~&w#EzM4||rIEp1#_ z7RPmnuVW)>zDYegH8GeW(C_X%a!C-ERJUAWcr+)(7+&3XGB4XBV8c8uTt#;*`gG~7 zn?RGN8_2@JA0=Vv4!Z`RM%!0`4Ai?w!`Ht+i?ROKbm6C#hUzZv4B zmLD`CEbGiT*Xfsm!hEuPrhg4dWCs?Wl4%{-&q{OO`9z8&nLmf~Diqt&yDyEbyrT#3 zbBvM!`sXPEp2G78c zIkFD^H|j8id0QRCo>`$oxmtwj7U^bsP=~}igm)X$C`R!d8q?-jywM&*$0|9jM5@A< z`{Ro>=%pVRbTUUX*ov%amOoAS=7rs`L+98sdsj##6HZa(a?i&~$MzEHfB8%;;)8ZU zV<1#@z5-qAq{c6SgkH=nsnEEwtQ%J7yjKM;CfZgNxGHd{fX`q8u;)gAKvh#go_D)K zX5jK@{y4Ee9v0}_-t~LZT2-|tEUf7e3027hxib@YNw&H~Os=yvua_t;|l%YUj~TN$h)r7>9YU<88Z=tBWa~T5I1j6c{F$Y8MH3y3CwzBi~I*Lh+D=t}eH(*lDz{Ewbl4BdzW)Kxdrb=#Rgtuvu zpU$f_!)cV{76C^(My8tGnMswcW7Apg1a@Mio&XcKdZ2}G{eVp^0_n7xf0Qel>}!9| zO%Sb{6Kk@R#Z2$!mzt7O@kSyAD1?i4sN--{YAQ z+Ba+DN`i-h_`@1u!Wl|L$x;)W5+RDZyKPFaJ9fgA5%)4&z+I~*HWiiD3CJ_lHCo>9 zq07xL(YNVj1kuwa(te(TM0%;@PkRZPy|A14uHPX#IbL(n<$?w13z!ln(XTWy9ul1$ zuS7kS8`d`84gth%maLI?HW2KltpZ!_j`Q)rU3znou|46}!>*f=FLCG%x9~x;6P8;B zKSm3n7s1=QwWzEG1#=;A8>IeV0pDXMPHEsCx&UBss0 zqK40=|IGgv+ZDHloy;I z9>Du=Bcz*9PuGJ7WVki6EY+w2u1~j zG&2c=)nj&3C2y`c$a2I(k`Jw*w-eoWyBm`Lee1_rN$H$7^yl=2GFDOPy z?qS!Icisd~Gum8u80oM4bBT7?MrPpECzu{=d?*q0aOZVx6$=bhliaf8`TuW{Hzylp z-a<>nVR?$3vA4k|Rz&)h^Gy$y<`|hw&o;)Et>khmQDGJ%@NE-k5bN4nwt{kQuTQj) zlbNrA+%o~kgw@&SH$Bwl5>zYiXAa6e!F7_S2^nGtsTaNEwFW(k<0L_8N^WWB7`2NY z!dOJ9k_VRDZzTWa^~d+OPk%byrB2+ zmV}!oM_{2Bi)B(^N$|Bb}#i+>E{z52`1`dVM%tu&(xa|iH_;E5-c-S1EIn_oEOzrEBS#u&L$fhYrDdY%D3igG&*c~U+_k_J`>nX=9X9$lk$`W7S0GY-4BYd=?M&_o%U z>P-cvxr(xVNc95Toll=Xzx@1pWvGRu&(F3McQt(gOB}Fg!q?-+GBaSvJ1>+{mBQ9f zyFkfOhJgjMSxP3iin8oY!9fk=AGGmQX=OZE%eGl=nwJe680-qIzC<-+K1G3n9a`zF zOu&p*ptAmO!PPW4@u7lS7JTYfHOTB^f`haXMn-fR1}hV+Il4Qsm=r<9)x4@5^1C)e zRJ??kIc-*k39Z0w{Q;7fgMit+Ejf4+f1~8htH$slF_^Bu+8}bfEgdhIQ)>N$kddwm z$y-;%55#R8$!y3=H1k-+@F6i6MqO9Q{VI7xFHnnkfTjx`lAJxNgtb#KY>wQo!$K$~ z5U_+$Gi_`4*T&+ZRo{dXc9^$?jErbah2pli#*y8s%(M+`3>@Ik*C({%ugM<90u6X{ z@k<>4R7VZ=D5DmG9pX{xNP#ZSy0HZnnjoE0s}eA&)wqGux29ip3hocVhdnt+xwAP9 z!?HVqNQ~zCzH>6Ros)K%W^&u@GMdS&qQtgi>n8;QckYl?V4MViLR@C)R~04G!9$XdE&QG2J+dLmK?{&f z(b&mlT($T8fZ*(9=k+r06g*6VzpB_r>U~TNfq4c!I1zkf=b5ewUFY`+oHhn}eSr^Ado?+r{*)e+?ojpLuJ6_kY3_FwLGx>X! zoPBGGznkPeBzw2y8?-1hRK=`6Lh{DWV`WGtSZ%uGF@eBx4JNHXm>tQU9^eG6$;S*; zF`M5(^0_Ydp^`Vxiax<1d0;Nxmv28lfBEt2r|(by{OQ}bmw!CHK7ao2|M&m3E;sMB zU?n01jQ!)6+DBy(mnsptSxT2E<{V6{7$+}z@!DGO5^6_DmRHqit~E(=*Q2`k`P<8< z*Qd{~f4Rnhp;et6lWWa&CbXH7cfaH0@SnJu;DWn&-zPIn(zVLB)C*AM%i^b1`Ix2( zJcnaG^1c>MEi_5V#iV(_Kxpkfm0$$;zC%U^W+iD_OpS;0@RXaqVP2|a=0qwjQOyS^ z;f|cDDiJ?M3C~K%ZQ3O?qoN0Pr=Azd_~s8C;~?9XY2HdwH^GwC%(kT9szaHuCJH5a zwUj7JJT|al^VJV5x}*&9nLsmFyHNJX1LfYx3Q5UlkJf{(unlMs>3V;m0aIe>;sz*F z<5@^)EO%GYBa0rVS4%LOS8R8B`uoezw=bW*{c@I5c}u~BmV*M?lrRy6kRXDE@e2S1 zSIJY1E2j@82u3!g2qbWMy=ge_R%{JBYz?zdB}pkt39VDN$F&y+0KP##*&PuS$HWxP z*4xFd7s1t1rlgC%E@#tBI5jMP{V2iB6y{XH!-ojYWK+qCyW@SU4Zr-$+spT#Ae{Q~ z%hRJP=7LG0g*iQ5-qco-+j6Bdm|%~Ft9A4M`~pJ+IB53(m~tw~B5~&xeZ7xPR4}e# zv_@@^=65{Y?CZ=o^O48VuJgxTL()?5hrGu3jP>3mz~vB2b}2Kx8WfZgsu z+jlHMc)f4;f$&(gM@#MPB?RWmYq6G>5_cY@V5E|?3QRucRx?h!Iz1CjWy!Nf1vH~> z)uFhVDK9;om2g<2pkHGStO+OV{b78YJ_@622IeZmf-U{)-o zxj2z=ps0Zrgj(MB_EPtTvboqijIrG(yCM@~8y_VF#f@*A*Bbjpbb7Egu0b#+iXa#s zd_;04k;-nKxu90yZwT#q@!grJHz8EWN=9mUJXm$G04cNZ{~`t0m>Z^%%907|_ftYo zN>J0`w=2<{ZT3?$zgR@NL)SJkL-GL8dx%4uZhB^Jr>c%l?y&dP2XI0kVm1Qic@H_= zq8*QyW-6&XPf;mUOYR2_MqakmWe?Vk<$dNSc|%qnY2hH zFj(d;PNu$QM(?TxJKShKSPPJlp*A&WAvs+REm9&fueG{xzZUFzCBqTDUaQUBuUE{$ zx8<7*KdaBz9C;RS+^s-pJZ%?0!UkR0XtYR04j&+Vu{tm~Oe>Y;63b)K3t_`;_5m4Z z;^_*bIg+!c=M>r$K+GBqsNNO#jv7_v3iTEc)4!S8zGy%E0@&}SiG4$}T`laOC?f1o^e$e8bQ1XZ(Xm`CBp>Rksm;GR{nVTEK#8O#uGSR)SAe>Xf6ONIW zv5N2LmmW-Jzb{Ccp9AsIc)Oj`^mB9%Pc`(+TjPY;q;gIh$%(8&T}i8&{9{^GElwDZ zzAxL#m2?2kDqCH|iifYonjjK?84QH@W0AayUmdMel1Le_JUGCscyvxpBvc$V{l-c4HKUxd1hv7rDNKFena}_yG5>FB8WO=4? zP9@GiDzP)km^U;Go-n)y`c%2T!;r6vJF4OR6Ua?;H|8c45cT%y^N(LY{o$WK{rvLd z`_tR&r;|c{tHipY66=i?l~_N%hBweW`j(}Xudri#+cf+QQSr?Ue^}zC#nd)0p_0B% zveZ%1{T<_-B7Z&!bBH9h7NyFk!{lf$N>!pFkK1(|b(@Zl5U2SjJ$qe=BE6Sh366K7R|0_GbOY@h zx(=%Dj3`-nxo^e$@pVYSxrgYLjAFN&Wa|ei-o7`wNjyXhKGCnO$pNH3wTQtw3{|Jj zD~1$;F3p&#)1^tnN>sk`>~$qN#{)@+cRX@)-F~(F_vyAe@vxdRHCj24$gkFyqt;^1 z*HZf==(%G^D=)&3v{x0_`O0}De~f2Hf~au)`G)5#R3Lt|W3$$zLJ4^eitv&}0iJM( z6%Dzp7LMGLMkLxm9m z6w`0I&buC{X{=CA>uDN~+!-?5@bvwUH*Eh<7vyCf{rrc*La}!Uh5#)~DI)yrg1Smg z=kSa$1I;lk`7tN*^RZkXMZ)DSl5BS$t}!HC@VMY$P{&A91c9K?fQ%iJ{dE=T;2r7JWwj_CnYNGWW5wfG>y>q-)zRG(Lp&a z!!>HE_`97~l*FVuT(kTo*lCc9a{3xuneKf~n@BSy>CyPm9g99U{Zoy2PLmWC z+)9uX$ZX43(kGI8I0U@bXAgKim<;(R)Egi3xW9!CeH$Y;)+Yxz`D2pzA=HjqFBh5S z@lFJ{&Zi0w4CUXUcX`OuQj`VW)%kLdKdB1doUN8KZFdQN?Z~eR9H z@@3pwZ`Z&9Nzf#pd0*cnd7V{uH!e9Q8H`UCC79N7Eu+QV))_aHE^8ic4Es~LUv|H; zJ(L~j$7wAV;Kq7pXEt@wLao z-NIDf{`e!OAAcnN%eqWs6xCHSl#gOuFTOJYzo6bkhj&xd*V~C~gdkJ3NzC8VWdwqF% zyH-9%Ru zqDUXf!Ex758BE^jkyLC#af8Vho%=9hsDo`$t}RlnyS6nphCQkT(NPSnr#E|A{iD+_ zrb4tGC=+*wXPsH)dZ3 zjj6IxJ`T#tIwqBKrU9$!xi;Kkrg1?zBfAjPCeQ2uZc)w|N!>=Pi2CSBT0}=5y;U)Z z>OKlN4K+QLp3h&W?Rc$eTu{yovnTHto`|f1Il{Fw>1k&&>QGu8wZQWDbj3z3NN`9W z)+Dy^KsjTkP_sn))&7T5k{0s4Va!YD);M)`^a=lcb-oU}w}XgxOk3MK*86JfWEUkj zA}D8u*$s_SrXftGzp)^}6dxwD*ai+f5#0oPj7XMC6H0!nMykSCZ19~J1=F~ooH1L| zc@x#rUMu~P=D0O}FMNKc=}rpqO|%!2I}=WLaytZU zExNSqS0An(^y+Fg%ylr#KO4!s_6=!c8ds9hO5z!QE zM}A_^+sd%`oaMSLkN>e*#~e*Jbb5o*E5A&f|I#+CN(39whBVitk!6;#~s3m0}Yl`ecL9fX^G;-LjdUmUR?z2X` zP?mjXTTDN5QH#td3D}b(j|URbo8k&gf1`=y#$kxxdv0ykDDn`Nn;mKpmgUHlSZ=fP zMxNyk(zX=4f)nTcQgcawG9?sZ%Kr~e#U4gltcEGU{H}kK72?K6zn88@#oWYBjt15xHvTe$aOnnb^vAzyBH z`QHvUrM#?*@9T?d(JNg>>|X0r&c9hjX8$P($fE9{8oquuYhyOD+5(RF;St+9$3ED9F_ytF7RH@nU> z12@o_ZLnZ#hyij+BrlMqQwo@Vskq3++i_9)_9+0K?5fm3yt_mRK`KRw&s&W9OVLA00D6$B9xO8CYxiB-#E=)aO-Zc9khiGN(K2 z-(W)kaVTcHx%X%%q04WB?m!2uwG~*T9O`OVI~Hr}TO2B0%}WOMl4&0GcvR$awc-g3 ziR1-eWQqY#u%BjKKM+=czTU&c1G~mFPdHr>*Q%X|X_VUM0^=U*m~C;=!W5(iY+umf zXA-kdOnH=;8bY@ucCrMAf=XgH?$RW&rRfv+Mnq0Q9CDqJH)eB9J27wo}{? zd4G+G#Ex%8+~)A)#!C`!WJT5z!fPFBKC>2)ePP!3i`+0ExEKADQB+3jSMBRP*4B%G zrOH^m)@g(*$KE>JNyb8npXRC7?ou?sndc_2yw%flWqYk@Y)7 z9%_5Zo=>AykrNd>N=TH%%>ZfgVA%4wl@zqYYIndVX&_j;gyZVdz+h)YLN=3ha%cRgFJQ_~r0gPD(>5NvK~!K72dM&c_aL< zU;p&<^V7Fqe|-O6|M=r?-~ROSdVkHvqY1dLU_ViO3eW(GE-MidrWKbCvAT$BqYej| z*g?txilb-n<?b7# z;ysf0OJBtAeWo~_IV692dO`&|qNXkcq8lIA09%nd3rZ=mzm#o*Vk#?ip$Pu+`t{Sd zv)g_+P6>!FVjr;DxELBxA(5r=(OrC$$t&dsMG`;7Q%II1dYBKLy{0U_({vUp3EzJ_ z{pr)&r>7TiGrU|4tz@x`(#P&V_np;MZb+ zlWG6-^&1r_Kfk`b{N-*tBkoL?GhdAQ)w0w6&WLDSH50FvwX0QhcBFDs#H~Pf@0GL_ zdE{PXGA$}y^xW4gf$V^f$yXj|W=A@JX6}u>2WJFpSbjC!z%IkV#DTVbN%HaEL*!}Y zbPWmz5OaH(nH}j++q-?rwNN%hSjg7BIeIhmF;j65fvi>7A<{1b#Vc{Q$xvU$s&ETr znb;^w9BLd0Tth%gnBED52hvd2i+v*=Dt` zF!1v`yBQChGJC|Kih94qy&WJSI$?_vi6;=9h`RL(k>1P8J}}Kz`5t*abGgs&+HBP&wqi zn+PLqs8&kQ%mUATCyKJ>6l`X~fDsp9)0IpRo(X8c#srXo;gz`p)*3cw|TT8o!do+}W8!dPh+%Rj0B z`$buKKeB)#_}5QwZ7tF@2RXEphU>FLPKWS7r(+(ui&Q7-@=`4+*T)a&)*`OQZR=egb*jm!9&&8Pq`foy~5_A-96T{S{k*?s8z`|OCC3pfBy3I@1Oqu>1I_^)&*s? z!EGHY;kb*5bkfLI2B&P68u-3KWtl!GsoBch<5$cNu;7T%PVghNOq~ZoR6~KUAe%XgkypXl{38xm6WRZcBBFC>4U(ciFREWbTLdQ zH0aiR)Hhb&ixZEw&va(Wr4NY|BRo)`sb_Vv&J+B<_Nkam>vMk<*Ummwm*Y|2T)R9o zm?UM;K{YOt&di8mOc4xpF16Yk<2mw=aXs8HmC&GD!%^Q@xrA6zHGl5YR(0m-!G{MO zjtycI?zEnkP6JFKd zDAPmy#`2rzhP&i^V_OAiGL;Km@+Kc~)8H_l(2!w2{^s(terMGP>iFa=^gCPTMrXHy z4?a6sQzE7Ts5)G)yMKM`UN=9tPuu8YpZ=d(h&Zv?Sg<<^BA9UeCr<@b{iaLJl!v6_ z8@}g4VrV?7V@?UG!4zOtopQbHOd|tiLZLz8LI`6xb~MehdA=O}+;6V?1u5m}736&G z`E*7(j~v-4DMb%|OX4~^lUlc8{fgJ$y1(pfjg)N1-zF}Y+vcCA&CADW^K^XtVSRWp zOM=iT%=9wa0iJK-r7ETdhPf0BF^tZNl3&CucVpugyKHBCl-Tb|$+d~l=6(PEzQ0^I zk10@oUf6@8h>dCoB38!yq!@UtXb^Ow_r>r)-DYfxehqE^%bY?(#?Cswit}mzx_kS9 z{`m@w( z&FS;r;gQ03k=S|)^vlCz`1FLAZ?>wgB$vZ8w8jdjV+@GN*M2Q9l;fwbCts2biK>={^J!cGk8Y#)J>-#3xl?Tgm{2IfjOe zE7zro!k-6JF;|aIx&j#^2u4&KN1#Rf0d|v_#l!X38o^5l{02>+ma;bRk{OhWZ!i1e zj5&q@JkRIP-Ra8d?%genlGqaI`dmjY6_Mh^TX@tM4075|$EP=Ri5uyVl|uY)v9h$4AANFpRmwqMW@YtYVmWXvhFy zQL$A`*Le91^>ZlA>nn2hGK^3iyI{yecY+yYjI4wvV=-eLFk9o(4Ra3-a&jCkII=;9 z%Vi@run87x!3S&F!w@`}AlRqeopYJe6M!q3m~n>AV~kVW0!jvIjD6Tc>8NQBOhYtC z`Nye;^||@Ex$SqS-RExgHAMdT!U;#Fw&@VnqQx$bn`s*|Vck1nh$6>aCCG-lc&jDB zq(p-p%C?v}hBrIzKM!*xw7dz`isy`q5@&G}s@z13gfPG}grL;uIo(w{R>;c^F4z^b zR5Mi$nV@KpB(=oyLmv4MBBA|-SuR^?LA(m8&&+9dj0#`^N%TC>ILBy5gw*q02%Z}P zJw6ZFVn-_j6s9MY%WzLgF$H__lrX*M`vVuoDc5F<-vgEbyxCK*E7S>B_1|`oxppTP?6VyaRT^lA4*054yV{gZYFLUNt+ae*AD@(;3QFk9iexVK_s|Zk>}A z399(JOzApt1DC_4arNwfB{{QWfsfC_@wmI(dHfpXEIj`C4uI8l9;)%>@gWzChHek5 z8BE4>e%wG*k$ske@la`V{p^C9+z{8#{quhFy5Ie|KYb~Pn_mERE&Rg780nJ4YaEV= z-5Nc=0_YjoSmm##+MnS#mYSR@ zn15sR(@;(~Oja~V95%(SF#|gu52x!72k`Sq}&Av}GYPKVRW>+WsU^r*@7h&N#I61rCHB;sCA1ilPbW)u_weQcEK{D70; zw_~FK!Q4fI1U^F(55S;@>qj^}f9_8A4L{1DQX7n!jqPMQFQDm+>pwk=Nw6MiiVZeJ zh`!q>8|^Fn=u#JhDU61pEF7@v?lzVz4Q@2-)dzvD{#zdG)TxX-a@cCJ_Lya2|H}A>sPo4nMZ`4Y2{_|uAFw< z4A9}Q^irrhl}~&TcvARg8aJ4IuLSdkzYB;~hx9vm-s@7xY&dH00>LJiuFItZ)cW8+ zX0L<8Fk;}$s(5#+;UTkC*~w?i&rVk&dZ%Xf>-qTwC+7Wfcv{W3Ai&Y-E{ACVjWkyt z3amr;zs6`kb?-3~AmW771IZh+VLVPQ`0T-|Km zC73vr5YyE)9k#vQN&9t#uNL2>l)^0EH-r4o+BSPz7= zWno;pSGUl`=bzEq z(uBErh*Kp)Svo=N9I2<_ZUyNfz)ef#pYR&9J;mj-2bS>Psp{~u-TeAE{U_#LAU#<+ zL}oUhV*XN~l}z4`G(^4OJ+#XQwe9**r0sot10@g@MTbl(A=yu+L&ECv@E<`$d;>2S zz&!l9zpT{|(@oBVjV%QJCQDj|Lg3sW%vB%G>^7Y4X%`-msA~(9t1M(nu>=z&jS`Vs z77=-vbnz(B56*LW;>H=d7+v&*!){@oXmkxi1Kx>Jx+QTXD`^?xiwLGyn>rj~!lY3G zQ?*HR>md}qozas#qN4t-A{yT`paMk`yDZeBhOf5NPU!{p;g!+I<{D z5U~lj;j)~J(bF$z*~J`F-AB?aP_(4*Q**nRO5`o>AUWhwWg3?h+yZqNPJXz=kKyQS z@718QPLhm-D$zxs3~2~e;RghDnU06QAOerY!>(b4m}Y5IMIV&{=?I5^3(3Ii;ds2> z&Ev~vUPsM5W!mllViU2K9fCo~KTV5E5;Nma;t#2i*ojZN0ZhF#s-gx;dY#{>fr@}m zBKXP!g!z-m-7o~BbO(6X6hHJ-sS=*O5>vSk>Bkj;%z7*_lRNUICmPrB<;7&7&jJ_^N!4)RM|q zAyNpBUE~6>2lOQ|L@JyO8c}&X0Hjyq2~>NgK3yVig5b#0FK@Q(DK2= zK?kj90$`*itR&k5c)bQ<97~@RL^FHSC{dskM1$#T2db6l-Eln;Qz;G32&hQiO-)lR zuGqtnrdmSSqiaB4j`5o?^IfZV#AHrm28x6Af&YE{0PD?+I=^#}1}UIJ=V%_*F3~6v zdJagXvH&2?!4Hy2*BZ=e^T8P=cN!%kj+y|tzLyYzKBIBB-UdhkkWA>IFS$T{Vi(!v>xSc<5r;pWBlcJs?f251B0N*eV6Ia!eD9TW&@OG6>OET`7t( znaO~2%}T5CxhtY$LE&Ts6`KTZEcH!+Tgs~`asBLUC3JF9wSPOzpqVce zJx9q75l%lk(@EF90`Ms&@Ik7&9Yx6RdU^*wlNwX;&PvkN$!Id?(;0oCQ6;to8l zx)xB$$W-V}RsHX_-Z$O=b3&oVFc;Asu0i-EyT|?Iw7b3jUh6;Nv=MAU~rCHT-0A~Wp!<+A&8e?0!C5_)66n+hCvU)n7G9(}l?3+yq47 z{Cz0y17Y~qz{Cqqxse4huhiHSR(TA^=#mc8x9UIK4M-O{-#`dcecC{{d*Sq}S%3nK zWDG*qP#TCg)mpKJNv1{#;QMP0`5}ucqDf7!K$Y1r5QrovWXG_uQ8M*(?Y183pnj;+ z0A`#TC5A6a#_EUbdGmBU|H;|p9k&dtD!{D%VS;pPQ@nx*iSV@da9-vTbcZ(p-B@{q z(p7GjK}UAWzHG?g4g4qAqqh_lZ9K@~m%ADGnPY~>g$@CqB9)&a8xzT32SW(G4QFhQ zOe0s4S5-zcG)Yv=$ZpwZfki6hUJfrW*Oek}k_JW9Hm=-{4~&NPNzthS)FUl8^^gV) zzX`1ElS?2#gm2ANbxr9QNHE3K_oY)tKQGvz)wAD>h%gOkv_dBykE9 zbOLi{WuIh!RKp(=+$}D?pdBFm?H|hDUN^y~Z6B`NKUNKBfxwmQy9JKhkg#boputFm z4Tu70r`rt}Jbm5T06S!fBb(qT*QeL>@jpLE(_pE9n{I9m$Fk9XVXb2MOtTSI-vne) z=vLYupgU^giG(*TzQrB)xxe17AthM#z;g#fSbt*poHBwuoExJU4oO9Xs0Vrq^9CZt zXF2{$*1s!ULfioRU#a3lH56>XQw?RQcQnDUWa)=Al+g%Uu=~gk2uU`$AzWL*06#4C zzkrjffqa%}tblTyQ%Qi~Kr43KMf}f7ZZ4`?_^%nZ#<8Or;>6#zW0g8MQn`I8}lqk|TlV$JX5)9`Frd#upeA zOjbEbq(ogd($J?3u-_e8(+k(vn8`d}cAt09H29fA&O{(X2UEH&q?1r_QwoD@sU$$3 zAtE{Y{H7)xK@CQ3#Pf=K;w(559W%xtA47rC`7qZN6HI799VesEK3tRhs#pQWRFzVqff4kDX&I}jQcJgVp1H>65>eCuHqgl zbo7jf2$|&8m7{sJ#C1eO6lkZo2X@C}F---Kj5ta6Rxb}x>}sSVR0zIdC_WvbF+6{* zgv6-R?XDzFQ1kh-KOT#AOq`|KU2cbaeQf-+yd9j809XBB!xNnfb|_p}VTb(kI8~#k zYMB9Rl&H7~OK|>m+`XRPc3-GX*JI_X?FL-z$q>0=Ypfj8Jo3?}FwUDgg|y6og&Q(I zd&Xg14o|<}i|+ujrc5Tol4U@wp{!}4sZFR#7cNYQ5=0KEViwkESp}s~+Ua2Ira#EX zC;DR7NhlflV!VLk`7`9epS#2D`uK5q`I)RpZVoxAe%_CU_Fa> zfV29ws+@}>@&&NWjRM|U^lC=BBvjuGr(oQo!N&`O{vp-n8Y9}BY9u&`Ez5Nh9!F&r z%8d`i)$w|GdHvk|zF!&@-KH)gT)TE{1>&WVZNwoY7vfh#>~)mARq|-MG2&(uVU|Os zzqYEM`vdB7K=<9Xsd=-B!@A}>FcWVRRJ(&87i%3&%nlkv9X^9+rJycRW`zw%pb$H? z>*3#Gs$6w*}hXnbs-d*C>h7?f-&`M1rhbrHLeW1B*z~p*wb6zHI+v$BcW-WdK ztJxJxm?9p2j3z!qQ1`e_aUqySW`tR6@J&HoRp%OFTx$A|&tw2CP|XKJP%9MMrg*M3 z?29EoD3R5KKm73evEH4WN)uUa1ucyQ|An{G@!{`bX9TV6K$EJSDg77PGDF=Ku!dc5 zfwELYu<*FwJq7=@`*Yvy5Sxjh%!qSC(lIk(cv$=^XjtOnPY;$sT6Q#cYutQt(6FRL zQoIcADd|Q}$r^UPCA^YK5~&>Vxj*ezixNf_x6A*D(wHAeCFfE4r*?m!des zE;yroWU8RIbJ)a}AQBZ(N4R6Q>BS;^_hFf+0|oarbSCSy@9#gfi{WIkge011lz)@(Ce5?sULkC@rs+!3ZxBtVhI^lSX6KX0IY{g zMkCMbN&T2J)=+~u_4o>!rjIx_OoA^ioNXBWc~KOD_TGyDbRKwyINr3Sl#3a5!luO+ zciMm6{=%SntVnn+DppTF+>V$^4kL&x#FSN}{cUj7^ue&oFeokGvJcJ}H%$_&Jbt{r z9X8Y?c)l#Ufs{zvMPKG}D|&kX2s`%_v!`81 z!$AAEHtxW$Kx)1Kcg!(dS9$@w7iWB1uFF^S91(EVTs(VXTi)NE%+KX=xIBiPEX;(B42B4&%3bWUaWs0CpNUYd@?SYJg{XCY>PmGc!D5n5FFSS63E>6$HUV- zptJPQ;F~ozZNT)XkXSDOS`5yO?gW+yxPbx&=>sBhHsN z`>%UYkb6OM)RQf8s>R!sksew^a^*$KO`c=S|@+u>h_f4qMj-%dZq?jHGd9?j9nm^bvW>s^Fc!lZ4u z(Lk+x4n`quMDXbrgHvPf&^mU;zC=4wMFmjT(;k)4AI2;)P_?OdpjSKj z4T|ZqJ&+)~6=(vZ5%Lo77T6n0xFU^kAg7PAYn!Ln-TQu}E~?p_dTEG|FHeOnU6v)B zNgeyJh5@{4b8g=)Or8^NYZRYUmvHQqC17!CaR79-zg~~)vnb6GGC6x*ktmYl4Us>3 zI4jW~@Cp50f``!K$ZkV&YL30KWbY&D2r7$ykvgJ*J02wmZCzP3!vpichrc!S^D*k_ zKKl$Lm(W|yZoOl-T;dk-9v=SKz20`Gk2gvxPurj8%dd6xV#Ht4N>Jd++OFj&oMSE( z9KxzdwM>fcE{(h5E#_;i8PH>F&JoKVs;A* z65&2&ZOMfBXku?1dt*t3N8_KA*qkpRC&Qy(yT&RmKdaCo=G9$40Vc}m6wp1gry($P z2&L!DGIB69#!*nDt0{D?V~^ZRB4!31peOzPF;Ilo91T@~70(oAP1rY*;!%8<%iibB z%eZv*$bDa(9rbX1J?xLG6qe%X*z|MnVgHnMu`(APG#;`jj>c|%<^&kE+bXI!cE^2b zK;e!b&*xuX8ssZ*Hq3&T&P_!_2)Gjw*9;vr5QOzfqFbswH)u}UMrX{kAC@$PRFOd8 z;JDj7krK-a&Hx8M6WB>6^+RM4ZF;beU|Rb=cDXe)N48-vBKGvLH8u*B%T(g^y%vJC zslDOZ4-Z3bL1~uk52jv5FnwCae#alVR+=lgM@+1-uhr&iFF^I(di=+F_QM(a4_sh) z4NsTdXRtrd6Mghrmw;OJqDb9k6LHln7TKT(VbmTn?IK;F3SBJ-tZ4qY?$vvC#wDQ{ zaS{I7@BiF?twmGJq6Y(!TtM07pb|COlkHJ-s~WLfGY<0Xg~uY6>(FKYc{x1qU)C?O zVjg}u&l-mZc>1cO;Wv!DRAKF5%c3-ggls_!p(UzhJ^SBL+EBbX>e1{jr~P&F^l>}? z{22o3`)yX)AeKY9g#>m_xHPV?s1V`ITR^)Anb}yedB9HBW9inj7nay9!cp5fmZJi% z##OslBF$K|1~0Tb3l?}w{uwNwy2Ego6QUH6jNJONS4KL3jaI8?H$3J=me{8M`F~tD zAvInfglLANk;Z;ORwLXH9!w8^*=)hAz-#SOWunC>tuvJYwnWJrtFC0SK_KDd3%JK= zTr>$1qavRBLqm@U`pb#KDPnD=L!?KyI17<~lUG0T>g7G=KH1yu*WpWj)&d_f!Tx|Y z+k~f~cwG+Fdu64VMVAm;@$V`w_Ml0t(jiU(~ z>JDHK*UJL0T6AIJ8{L!wB>F6es#G3H`0z(UKChLIGg#|47jfL|zK{Y;gRTM{EaJ63K0I95KaTlgOMH+`qL&RVYaYb5*F) zGO=AM3ym~BF!K#6E(B^8J8MC;HkF=#m@^^PfYz*O8z2;1&;#Tv*s2=AIm>1f72C#kLuX!EHa?B zIA~jePv7(EW$MmB!{_efS9Pw|V-y+=rrd&_L?xRrMb#6`4Ed1ZLwfDtrZuV7tan?$#Qf| zT+GAndOe(0$|eGpGG|@VV-=G2AL8g3RMP!SEdsw2jE*=<<8*PYZdBd|cDY&#i1Ezo zMX zdtF`5Y~wZmVfE?xi!l2b_|?OcZU4kS$#5cmd#;P4HZUz^lfNuo4 z_vUHs!OzTbv(w6o9>fw36zhI^z zr0VMd8!dduo;@*ug`a^^1H4uZrb*9Vhx4$F4d?WUWDzx_9(ah13X-iSJ6;Khn<^%| z)9tHWBPUwG7_}Q&eWf@&j*Kb*5sKpC z>Z@7dc|=c-BndMuDpFl6Kv8PqdONVs%?LMn`Iqx`HPY9!&z;NVBXL#wX0RhsG?bsu zEFEa~(9%2cQM~j>~n7`)HR7ltZ1P3Xrd)x)DFqf^HDoTHaUC#p^N4s`dpP=q-XxpL`e2mO$SFQ9)d;BNS%i1M??&iy%`2X1lQ>}DlT=!6(f*76Is zGAF47M#kAzfVp8~i6Eg57dCi<`Kga88B19(;q1_h3B42~jO=J7VAX)28^1(r7xUWX zM?c}U3sNILv!ayZR5k``eu>n`0x`^gfqUwmRd#;%Y%ST(W;CaLBH4U9gya@*TR}Cu zOp#cy+J#UCUoOHvtGU5`QfLl_Ii!i=;%cfc3|$uNu*t6#nvpJ~O}H;^;$Byx=#Oem z8107^KO&dM+YM4|qiRbmZG+ve)Qcxl3u+EQ>HZ6QNG7P(yKm$63{jAi^HNP}0_5ve zvTLetOWXnbUP(IpH(rD^Mu|CkXqDT*vePAV6oSccp+&7qN0sBQGNVhcfjzJU5z}kH zFF9N;n^y?0-;;exsf&CM!DLP#^u8>c80}+!D}+EH_V4Bn5t3#2G0}JIy2LD^vKlV$ zfZebJ5KjjQ%pz%`?Xq;A(;<>hxHqUdr2baLQ?JtFZ!%4_oB@tdhQ-xs?d*dy$$OYn zTyvwkFPhW7VNT;s` zxUS4|xy7TSvj#OE9rnc%^_+=(oWH0L(*`{kv@XF#s|2!IKs`69_C+{4a`@vqcEqj- z{HZdhqR6M&@p$(T+r`aQ`qBzey{iR%NOSj5B4LT9mu`hPMIQpa!w*B00 zPW#;*q2|R{V&U+|THA6c;l}FbhQpuDrpDmkDfYsyFOCil|DT&LXa(eaK*{2#g;!&D zKxL3Fm;$S8S13#)Wt59dCr37aIc0Q;9j|Mlt0cJUZi!!%8>qx@hgJk?5}JY9LnAfa z=2D4`F!OBmJ^8CXt5S_=_3U&dTAnyi@NS=^yn6WNdKg{A4Wdg?HFh=dg$_oi$*Vk2 zHMtr*Efu%o4%p*Le(P_GHmamPehQ}=iw2T<&a<;=(wgm!%=v0+7#(F-0e0=Z<&aM4yj$z@E96$_F7*BIU5_1$?;=*Z=xo|MkBY zR*kXQ95FC0yArE%pe2s|FXcmgJcwbzwD7LdzR{I_KwLOG<-TON!!JvX_r<)FoIpu+LcI10(hE?%qty!rovKkT<5zg0i47PTVA80 zkj;*5ClJ~0kcFwR)9v77pq7%DhDyMYg-I!%V=62qCv_$+uiNg1`Ny~0${P@+p!v*4 z!Tag>^lNi{M+f!#1AAHz zs*7@Ts%LerJpLn&ya4zBqM^rf5vF%Ehg3yz z%!Q>SVY>TEYOlFmHaJjb=UbH#Cms~5(QP+#C2Ihsl%tqaf*qpkY7E>tro&Q_GX1ae zjVl>HkQw4DP!*)Zu3|o*hb}yFtEPpi$jDUB42COgZQ~L!E0&U!>EETTpEAorf@`AQ zugY0UCq}-u2G`J@dQ=V4cgNINXq-M z;6Nh7A3sDwvTEVFoli0umKyR_WJf;u`nr3DZq>3}Llbl;QA_2x8e@e+78&whFJ>Jz zm9d8T9CcGm$@xb7&s11S&UwvqI>+79uOHeho)_V@=4&fUh&s=J6K_JevqZen84*M- z^Cq>dIs8=s+0V+yD3{w@RDlG&^n zfcjBKIgq-j9otazds=(@uAYa;zw=Hu?lxD7b} z#-NB}0xUf3Y4wu)?YMtkLvu`JAE|Luq%7r_iz2ag8Zqtc)(RF-@Eb+;x0%{{Li+dG zR0R_zzyiE;K0Z8Q^m5tV$$HxpMmcd*H6TUJJEV;Uy;A|w!@L2aovt+h7%^&)P&%f+ zqM?@T>GPCDH^I$UBhFk`PCDO$=fpe!7X;_!`*84`&Ydrfr}eVB7N31MYogDW7VmiR zW%~&E;;*ka9>t+wmf9U2M#f!rR&NI_8ZbIF9?Mz}*vT>yuavDb(UtDX_7SeZ@%;9< z3;ye_Q5mm5IK=+Z*l1fY<&~BbY7@r> z7`tNQ=$p&OfZ&SCeXMql$V|k|#S-K&7{J`RmG43&D)FB)ePHITfT2;NdYidY1Cb`n8gsuWsc0KM^+m5N= z+-JN>K(_T$-cl_71OHc_D6T?uO5$wO$9Up)XuwWFeAmnO!Y7CwZ*xu!WVc^>1<8zN zqCy4%gyZI2t*@vOH;4ifR0;fE=Uh8|#5>5$D8B=CzZro$@V78PpNHei$DOWSqf#>A z4^1n4Kuds&B?DEgMD*jwn6yY)00z()CHTepC9nsUlU@{h;w8NAj^~f-ezQA1o_@Gx zH!#ha%I>dZI4P(pLRzUKdMR9KV8_JF3vFP?7$=hlP<QN|rlX$%|FYr(W0U4a!m$W}(ERxI*v=Wzxz1Fn*bK23*5!;W0DaHrFXg>c9OR@K z!o=pVz;E(FOiW~kw6|R_Lv;Y%JE{7Y3J@VsmEVkeU>}@Kta1KD^4`Dy5go$)O;GoR zmf_37TOLM)+YLapr`mLn*6%#;s3I7snSiwvf*rG6X*sz@sXNM76HO7qxi4@KFBP#W zI6a4>%_0`65u^OX1ir=M?wIXLXG3d$ef@JRCs{(OAq=WIqc`Kh)+NMUqDFap{VfCp zQ(ft5@(V}k_Ikd&Z=UvV;VQ3{&V?v zRv`J~MohtESK5^E99@L3^-x)JH>*R44mMVuT?6W85anBlrRTBnE=@iTnF3f6OSP`n zI(AHRrOjW7=+qR^Wm+DC$i~W*LnSU{@fh12tQ;<)aI`aJIz#bXBbH{OD{V42kV;rz zAZiq$w5WfYd4A31eMb{TUQzzB{c>5?UKlDi=@agyOoyXJUBm8e}>5J&)vVll!=&hIiLn+OBcW&OcrQA`LMEg zZ73Q-&BBMph0{7MZRqR*kWaPC&rEQo`jJG=CqANr<*y^-A zM(IW~-IaD_C;`1@qtxc!Fot8bW?~@X4LE=)hp`y{ zutr3I^6PLqt>-kNsy?S>tf`V-K!u|0V@?@D7Pr;CD6M!EX(ua(&^K9!9dlo4IUF!G zg&%jniL!409O)G9c7`*(T`GD_L-A#2xL4C?@Q61zgR#cWEz09%8{>G639xjAu*Y6u zjw1W>T|kWjkBlyWpos6J=(j310U%N$01YQ_D+{6~&1V-NV(O~8BGQh#VBai3_EUl7 z<#PD>b6s}2JtPo9bb+VIH!wboj49LMQisf4gw-yR(R7Fp_>(gH0b}^n>qJZy~OXCxcn zp&cxYWY@B;*g=+M@*801E3wcMmkY*GFYC8_T z`CcZ#(tR<^1Ads`w*K5735L6-%4}%VAhwrs%GiN>tF2yLyi2~@1WgTMt z)_1m^!a$~|rf;T#98+Ow3Fe07A*+84DgFK~22}MKkSS6bC68MXiVVuGy#Ns2Rxdyk z&&YhF*z&N)?aS6!EJqwJ&l8BaxqQtSN*Q{_Ii4jQAvH0ggt!f=z|*2I1ZtP~1G}1q z%rOa;mKgL2NB?m;oKLsU(*`ZRAEUi5B$Nw#)2PBy20%(w;BD7B96T`$Fp@YeW(ym+ zaI?M2Tv%G_7m({BSmH4(e|Ne~&4IfmQJKeR+y($tVoF?zTLO4SmdIF#?u>}vdU_d6 zWxwWVIrCy^38^P?pk9Nw`Vvx^kkfCMr-Vf!Ab6#^xwuti^fsKdE>;!C!4ZASyi!_y z31T82th(H|#?`YAmWcEzq5pY#d%2y$>UX!}>4!4+j#5>hn;QeAFXmi$p+47Tsc`be zWp)#Hz`j@l(x;-(+u?YJ&2D=75}PF*aiy-ShL}Q*UC|51bS)uC1m;A$NiftJZ-K!Fsf}@|M@O*gK2@jH*z$EFQ!{xGJ z_UGO5VCsxUpRX@SIl|#F?cA%kska^Mbujv(!ZXCN)GSrxzMgIL1DF|0OB_A*CT&EP z`Ti^Py;%Gl`>$YYKEUG=5yio{hqyIlu+y5xsOj2!ApyyHis9tXS2slw%!{RmKDVEA zdX9(F)A{%XRvN{?Txoq!CYie$c^rYJJ;ib0xE=vY5aVB#vahg-vY`ZRgHC*s6JU}o zEe8VHk?84Lk?3kDJqMyo%p#Qv&r%>dvM;U%^C4sX7r(prwcRklK2c zytJa*fVN&p-h*|Y8{EBTvab?mqqaly9zEp+C2c{L z6aOYmt{_^dI9dJF7zl5`=13=sNL>{Sjo}{Dja5wFrRB?%05ueJnJ^I?LjC4MaIoSU zB2f8A0Ca|XuiH+*0TPk=W5Ighy!*)zDVRPQ>M4obfx!>!6YedoojtHbr%wziYL%d` z&5*LDUZxqEyCh%M_2t6pq1Wg#&y-ktY!M^UJnHvph^HaW63pSb>eHqn9zp`ppi|IY zT{-d0gcWvFB#=gt-x?h`-u0+KEw@u$X)z7`6OVnVp*rNT87;n5eDF+#MTvS=aDzod zL-h@}b+=ygoSy&U{9P^mm|zg?`8(*AnUY>GB=A`z>eCiHZ$a40)QUF`fAnLD8dgNh znq(rP7w=0A;2~N21>HNLBubAuEC0~UkE`&@H~Bm8X^l;SePr4PJxQ(V|8U|ufv8z?EYJqWfUQZ(+A{j!acN8i zcxJ^iQfErqPO6{WslKK1mCvCx-F$sjsr)+vl1_Qos9;sZk%?2}zRz3L(SR0YUvUST zcTmn!!KCg#cbD7sPvpHnR>m5dCkfy{piG+{OcO_aEdGQ;wjKRA+Z;zmsL$dxuAn#A zbUbro8MTCrz8=0LwpQq~Qgv?#Gf#d?1 z8OuoBqiL?^Uz=}Bwr1|PL^FZ&D$)spzrqOEs-xqteTm?pW?fzI@l1wgvY`f8e^{VD zPP?a9w2Yotl{Z5i5rW`|u1Z z%E=0SA>8MmO*UvLe4uPHGD)Fd>f{JaR39Jue5sT&>PG9`GZ~hVgBcT{^?JN)TJbW2 z2HK)c1K!62$t`1BTS7eY$NOkKD-N3WK#yk@ETf9ja~#Ef-Mu{qAMhgtDR&J|7C4K* ztpKAt;lGe1_BKcUG!?tUO)lcmxO#TKN^;;b=HxZ_uVD0(%;OjOy#mGEi!s`QeMUzR z^ng^d(;%6gJ#d`q3D#&3z1?Is!SgeHFIgR?zA{odXsY=j|)Oq037GxL?vHEzi~{5)K)HzKiX@K(et ztCkN=&09g#EdVXIj}8XNtE@$B`>rmLcxJvba*D+9ljr(EF#6|>abF-WvJx=Uk?rB@ zTTKDrAK)DeK^`WVgz1dLAthf0ou8)ZVGb;#3)Bxis>hGZal6?aU+xT5DZ;*G^+J$p zS;HZ;DLaoA&-(#*oe=&j1Bvk|cIXo7ry`}KX^ebIDQ<#YuN(#V@8H!$|952Zsp2&t zFyd;@LjSQztEsY?&Xm715tcEnuFL)yY-q@0erU3(>(NivyGs;0i-H(q8ZOk~mxVB5 zu4h68i!yU5uO9=&;>S{6WHwnb}A<74uh?8(>_n*#hp2j&{?z{lq4_2csN`lAou|IRgtK7q60Qe*=C z7ld)mB2cUGi|$=Rc-%7+ma*j}MkM`tIGs>B}tGm z`v7LZGPbNaBY*r!o_H~aj@BmE0U#bq!&PTn)=?KabDiCjln|_*{6b8^2_=TAa6WT$4`IPVVPP26_bexKVVO)2 z!z4kBr@7g(0r$c;HXso|6@i-W{8|CmZ*^xyJVz%#TnFEas&2AAOo?Tr90SEcw1M6A ziE@Al9ll$EkN`xjAVxpo&r4#6A&oU_gRy3TKUZ;}&}IRti2_c{CEnibOEHm z2?oj`B*9J|{UO0`t6b7nGz)PL?00=hOk)f48A9|W7TM_~xJ-bS3@9f6C7+$uaTG5k za3-90QN(hjP35}M`hbg#gY*^sk!Qq#C$xx-WeU4 z*DtcLa8$>MSgMpTc2gbHg&a(bfORyChb*!>MqO}rjS!l7v5bTfqZoumJ-qL4=*Fy8 zg76z?aDjf8ovOG=6|5p>GKPonv<82g@W8Q%>rB8W13#~8>=<1+EBiPXlm@n#X3I5gqoiIU`kqF!=h-OL4 zyJ57?O3`xsPF3MUaLQ2m3z;skhgBQT)|7k;B^0K`G7@%+>l@Z?9^RfdPan5%eb=>s zMI%Gt_mn`NRI(%^AEIzp!VW|V9EF`!1^J;~aBf%Q4%h_`Dz`owBb;x$%dgeZon*~g z^67oFoI~k_F~Xi;ZwvD2E!*Q8gTS7-v5dqGPhHe-ZqxYbGLB;0ZX z)t8w&HBf6>CeO@RCgZSXCWSvp#^8F3S_az{5J$TLL?Dg?+H++Pk@z6`HYcdZq-i-l zh0QiD08?WbiCq5HdZqal)!*M~RDPuRFF7SbuHtvEZzmN9W^#wHFpu zwAyR0wHG{dV3~{t8qHH+a3|CxabUfEF3}j7ZZusfAfY+~4C>TMEj2t0m?20`E9BW; zZNUaOy#qtEh$@5ev4%v}5J(4zxv8HpX9_{grik6)XKS^sVashE48r>1;ihI}OC zUKo2HwmNfSseI_NGBlqhcEMw7_-DRg&Q6-3qI?y6Fm+Htt?4Zo zxd+j^OWdp#8CKua@bFBAWhDX^5rl$TvmWd{`jccpeS-}>ML#9?h908<9hQ|i))@bU=Xu(1ly|FYevyf+rCqk9rwASIXonU6+`X+vUNn*F)JNa*>Sgs` zCB}ru{psoT3&6cGw?9yi3mFjuK&!ZUqN@m}9s`@R`$_|wW3%}_%1>H;a==!#s<$t@ z%k%!UTQfT;Y0vnefxeo!+zS!2V2@CVBT?6Z&WVsAjGc=vOAwQIO*8Cg4lJum{T;0S z`tkhuu|^=MdG#TO;sr+9A2Y>oRp)3@b?to@9;z@pAj?JFxibA|T>F;U9C`V&<;Ywo zPnYxc@oNGY^6V4ODqAU|1u`HCFP~km5)lLSjIsRJ^RM&f{Ga{pb_cbs zBYG@@orFM5yGcg3WXl0n7=fRAl3Eu0rGp~8kYpoaS!ZzC6hI*e+P1pq+|26JN>?Qjni9@7*+y}sflu_ zihmfxsxY?iMDc2jQ%JzQ3P{95LU2erQ+^Zdf+eFhh5jzYlm9$lo_A{#NE|lHv_-p- zzLE{9^A^-Tsmd~TB(6F6U>(tusQDMbD_t?t#MQG0E+L?i`0XnYP#pu4Tn{XEU-%Li z2_(!X$DhIC5PWie16}G{jN-$B-Ywh`lU`ZLWsS-??()O!u%{8Q{dIr&^L$vWpv(x+ z`62{|^kCcqdc&mZEh?bF(r!Bu2@!zO6Wveo8q`)5NoCvvJ7fuBrRqNeaH)i@PYgA!H;R!x2|N3~{T~=shC*Y^gMwa83 zO?RLi-;5;CXnTcN$O@$$6-Rd(GYrAUWZk=T1DO5FO7!hiLOh~=yLsO4p5NB4@dTa8 zq;v_q>Qe!?8lnaFcO1HI^7-QUG~&5t8I<|2fVs}oca$G4XCR2LfDrrpP;^=Um(eH| zoy8J3{U`w~akkWh*TKORqXBXC?1oJ_gNH#mxw4Xao8TIR zS|th2FP$2xz?N~(S3rN4DxF{{GDeK7MU=BB_N1jl229$|^yHc1%1XfPL>2gS++FVJ zCQi}j9PP+nV*!)zCy?ZlV02e2pJGVt=GH zu?b<7uYa72ZOUWbOX9Ruij_ObMH*w}ZjgVFH^9DDa&1$UnvgP=+u>;ypsG4J+C1Mv z`(y4lRu~h7_Ynew@aLS`_I^G(L%)RcK{_oqG_9V!tb_@Z!9<|*bA7@>jB1ue+UB{5 zoKPr`+qQ?rj8sGJWo)&%nAyroe(oB#{bpnYLsVRz2gJ7g&XLFBq?) zv4{L1=#%)9oE6hsS;-GRaXq}BZ&CVd$=VyJVaJohzbhCVi(&(Z_qrtK@>DGGfWV>s z+!r|_I@j`$q#3oAPQ7PdE1QvnbB?IBi42p=2#2<@7rmisxQL8Bs^LpoJ2fd+h;TCJ zn*!vK{j4kH#laa8PH7C!ws*TLFgv`$NCgG(emwl;h+xzUC2VRih9W>yu}xa8G-bH8 z)^GUVy!^hnwZzW5yByc4WttIA7NJ$+jXpwBdq|xs86}t);Z)Uqz?EvLZuru)bXg)q zftk9~@0X9K{br4pC`FgWK$L`Lm-Wq|OLBKjPzh{(i%YWjW?VcwT35oF$+%Y`VRU=Gjun~gY8i9`Ji`ocmZuM8jhQ-()0a&bc>X&GJBnYK-(te#n|Y&KajkrVkzD|e0Hq2mqA z??B4V7LlfjGs=WbGP(!b)@6mG!o`0ysVIKM(t#DNf$tL4Dy4WW177j#cn$m?%*bJS7@M z;bF~BU-c2#Ur{84^Y3bchn}getZ!-T{GA*TnM%($xMDc5RAdg3k0J#ByjGJ;Xj5ri zyq3udvFDX)1P0Yjn9!%!!_yfWUz^kRb6M)0f@TEp;{2lqi!UF+C8o?3EfHNI`0-u= z-7I>FsZ})C2Fk6|XX497(^ou1Ai=zZkV?lL zoG1~dMvHOEqNzJ?K*bGojb>3xZZJgCyn*4ra|2*9!Poi*Jj&!D;E}T3zWd$=nCi-A zGdhe>0wJT;ZG>dcl|iM11@b~=usAx7LYk!`*0 zE{D^8^So5gpN1)<&k9F_zTjQcff0+pJhg-`>H;W!Qw{^+Ag=bZ8|Zh&3yP_|X@OCEQ( zb)9I@RhgeY4b$0arlOK(O{YJE&6)=1ro&?*Hr14sDl}EHN)_8ncDr&Qgs8MJkMqyX zWiuQ7yOp-SC=xChAM-GvO*820o3Ocuzv)(vP#s`ZMUZpJ6yBM1zC z?|FX>Mre0f7X<32LnORzBAD!2p&ND7xw8nZaZ$?$t#}*f)3xs~^IKWTC{M6Xl*S^P ze7M86waE~y8?jq2MBf3MgBj()*pi(Quf<2G6@ZdGIKd}JhVf7f9z*Ga(^=A8{>``x z_Q69Qf{v6UgX42^+@+%Pn#dr%3OrUhKcBuPvQtnz$W%-h_gNXs91l&c&6d6hVrW$ZW_sqjvT{u4 zn+Wa1mPV5z^s_0G59eLXnU;-4!f4|pp?nJ|-)Uh!iAML0u8VUGkHAbc^szB-VXCumz zqa{yge2j(Y?0e{&io!^rxcysHpBZ9UrPZ?!mh&wXk3wbi^tn;}xLKRA5Y%Ebzc2=f z@Ri(Ges@1YIL)(OqgNoW73=RwlEZbv&h+fPoD{WB>rc)Xecs%Ag&;FLpQNnw&Hj-9 zYY*kgq48=+`@(8UM7*^NSOFdK{YLo13|CH0w@gLQxAQA2GHtZhi}H?2rMsImwU0s` zx4?**2Z-yS76E!@;7anoHRPZ>@kx5=rfc*vnBgj%f_V=UH3A~0Rf;i*6Hd!3BA-eg zE{$h~r?j=BI1ZMqrd4J04juOfJ9y93R<0{TXpI@m&-3~Da3Xf_e>{IcTWvLVQ)u_* z4ali|T~IT^^6RmmqPKCYRWEEO&1v@8RplmLEA(M{D<^5%2_K1m;2-CY+mWXgmIw3& zM|e@k)r_^RW){f&!vDS=|VZJn{x$c4UsvLXZ zw1pBXtkl3D0@H=ScqY8X)yK4y)<(ke=rRN!CaweTAvs{DBumJ*dEV%O<(?oSg(u`y zIj|gg-u#2Z#8ju}s*sQUjOOTz?(@iww!nl}PPOL6ch}dC{c1OiJ}aHPGX5NSPJE$} z*PIi#t`R^m&6Sg*YSX;Sul@0Oe%ZX9!#_UPfE;{+vYJX_i8TpKkjD`lKuEER;3&fp z*owzLB40xoRJBusCujlpdS<$EIbnV=um3-H|MN?5?cy~|(7nEdJ6qyv`SyE|*~0W5 z*dNQ`sY!6><$QeJpPqNeJ!Zz2TVkoYp0$&@o(ha<3teeRO*%?O85ex7X!asN1%Tem z25`Cr84YFf226G3c*)<=t?uP1aH{md5-HiNJ!`b=?&p zu(rGv2~WUeS5B9V3CIKfI$5a$^|Ke2 z120oY>~y|>t#N;O`B*LO>XzPAn*55RcLjoVjI9BnPM3&!hl;Q$+~5M&8n?i%xEy$) z!tUdKcUncTPDsS8sB2>=%}hnr=?BKoP#Hys{8KL9>qSIIvo6g{S5D5l7~nwR2(Fh+ z_}eYU|Hv?g7}N<2BG}XYbZ~S9*&gY?M5>AbD1kyl#7@Bb>07asn~@Ks!^1pRPL8@z z8VU8d@YuCUc$)Q|#*p_k{9J%5uuNbG98*sNB<*UhLwA~T$PhS;GGC#^TO$=hli_Ec zD<_9UCXJepZGX?$6ry|+w{S(QfuO-t|GKTor%id(A@Sw%oF=ZB-K`{L|GP&$nVK{r zTly(IO{N(r`bv;z=e~E+nb^viaxx9p@eksLdOd$!W61Won7E{qU%=&qO~hBzT^WR$ z;U$FZ7orv+Uzp*mmdQ=3!eMw>4T9318Lpfh6!``<-K>o$qMZ)#pQg2EW;z~Dv!V@8 ziDR?u-)5%kncB)(^;Zs1Qy2o(W~5zdHm%Z=olcN;AyQDTQh0H;5v;XO5PMt6DnEIv z$MXfGwqF`o$RY(f;A<*1PzOJ?02~G@OD8^4`>u6v*wsox`DyW&^Ysp+q2iTixLbfz zn=4P?6R_zysG!I}i*9-4y2cFm%xUGUD^3l(_#gHQph*Fk7pX2GI%Y|ZvVm>psaQ{p zAEH|n4}MV`iI=v8KVfDo=ZbC%mi4eZ-7bf9{J?y0=JiKHcHLw%bi#6mzr5``fjb;i z=eL|qL%m1IZ>CZ?b6dG=VBx!@GN?SsBz^4YD?R*t`Qf%AiI3|?XJC?vf6@$=wx{&|ON=7j)=rGAQ648pCNlb6Gi8pd~HN&OYR~U!z1= zV!_v?!GtCUrV*Pg_^t3#_037@o@uO{gv`^V1vF;$u(?y^7mt1J&&evkD*;y_i|rE^ zV~c@wK(VUCE9s^RM9(Z%P6EwmK9kq|?HUrpukkp`V0o>o%er^1eVIPNa7u=bC`<#KqrXLd5sVF#XukvgFd71$*BGrqFU z=&)c>>{rp~KsTg_@DVNehS6b%EAi$ui;R>1>vaD27mQ|p@QI0Q;-9WGq|7wnWx}3C zhYKY+^h<4?ZN(Ax45^w@D`v8C5^4UOSr;X$?-Pk-IAOB(J#SzryAv3SAaH|0eZQCWJ{xOl zS&PfW^WTg#nas*bh;~t){X%_qf;(r2sH1jQikE$9`>8xj7!w!+jua}=USl&Vur)M~5I$jnwQ13fdJ z+hch8`&ACi$$s+k6fscDzN@4oh1h+h^Rcl8HLqQ#5zUf<8X_V?%}3fZp_MBT&mrhV z*Lrt4?O#@@a3+MC5ra}OTQ}`zPts#_hl2_7Bk~oSBTRxZ7^*xsGk7_C=J@J&;R41PSVzMM9N8GQvG$g2IhJ0@O>LA%5Q zzAzsH9aAC-CMY)x zwr>Eona0XV*u1Qd`(d5Pwox4)MFdxA`XXAVDfhMj2iU5oF>kIfIH@6(_=dP%I8XEsHqZ9e?lnGdw-_Qn_-^xj_ z^TY`lK>~04-E&BVUp|gcuj|3YkR`*?pH-@qn&DPUqT;4Os^?m;TjsfPV~dyWxI5hu z1N}-hsDkSCdaWFUYGRp-p&XRew~{Ylsw*!6&l9O+@C7gXe|+w)ueXn8`-(mTv;b=WUp0swk4Mf+whi(6#Wf5mw>m!CTqD-7@8sm*8!(NXR9>YLQY=rKPU0#LpNU zlv$Nm@Lm;Z&5~bc@+;r921niw*X!YJJt=FG4}j!9oFwi7mqha@dd172l?qu{c96)S z4YD|@;#(M02$icHc-}!NZ;iWr{u=gN&H-o4QFTuM?Tm0`#t?pvqG4pBGDHUMOv`Q` z|DKm!j*L)Eba#3_Uv@vj&$x>ellAl%MWkfLmmO3hRUHNwkz&?}H}uK90A|b#r|^U+#`=jtePGg}4RdO_b%cqe9PmPRBZeE7@#X ze8OxuYPw_c!(QT@XO_wR=|B5pnmt_u+#;IjvnHg~3KQ<_pc;6rJ_3Neb#y6buj{Cp z*Qu(mt}3N^YymekZJ{Obbxgwx(F?DQ@+T`QdjqMN?b=0Y)ep%HSltK5C91kMk#JO) z;l5drL-LaL&>Xx2W;l2PT!baO=PG2fJ;iKLunVcNTfj`>CY0w0n8{JzZr%VpV^vI& z!<#+)v3tGkPGBRT=?mmHcO(*XN{EnnPw+Qa$vhHKucH|!wKYoc1rBx*OVh%V4IO)9 z3EiIXZ|`vi>GXMj=`$Q9qu8!wUNqCV=-!~|D1td^jy2f+gP}93v2=FB%KyC=pqP`R zg-U5gb?FtXf>K(5xR%nV1+hIK*hboBXzQrrc* zV+lW>Y|_j5Tz|~dup<~~y zO0i#D25r7}8~O~9m_-%&DY6efA-H{yGK;J+syK^RlB$Kf;2XRs1CwE)CsSL~pS#25 zad-N4{Xry8-!P{Jq&8~01$j^ny6U7k7|b~=z`Xv*CDn{8RDrRK8(^<25%lC_;q9Jg zV#M{cUv!Gmo|&@yN-qnFKS}in<3>)73dR8dRh=9}bv14Hz*JaX7kBuZQU&tnqB)~! zSnZ)2ela}0(=W0>DAg!Xm$b@p@$8Bv`kxk$!}G^!_w>4tbb>2%h%K>&=)@AOQ3VKf z(+)alA9ZsXBF!&Ia@mnhXcklR@n>2rFVXXYR`ci2{r>%YuH zrPQ*Bi#GFd(&5BnNMu@ZI0bZ^nj%O#zaViN?3YVOJ#nHupP%ot+Ok}n`^)weRm<8>UEgGAYA_KEzc_VXUGf|4nB&{G%z7t%_6el06?JGy-A~T;EoZbqS zxGvlt!mS`&n!g!e0hlc3d*ad#*cltwa0mZ9yltL$e;%$s2y%a?)FsEWBe(U`w<+UN zO&b7QQ4w3nwAL=V1C=SACWcCvl~{NK?1@dQZ}al;_Vz=m@5y$r%XW;+YTaztG-bO{ z!7i)S19N0~Ih#T7Zk(Ot0h3^>j!bCoh})Y)Q<5jk0cSm5UQZR5t?6fOP}P|>N7=$? zz@XR<%jpcvAwkIJ!8)R~rou{N7%2_J7eftjr4JG3XG^RW`2fEnIi9t;J03$S;5W2# z=Ed?&9~A$!*VcVVzoFP-u4OY`n(D8 zz~c3tY^RK)BiwB2d6$?=1psoSw^nXzw6s0r0^oS4G)3bs*bPe=5-M>K+~D=&at~)u z7dNLBk=3nY6g!+OL)9(H=l#|Wg0ouFE$A{%h*aIuV~v#y>gOhE zGj$9G{C(ROi(c#K=&NZ+?Sr$aJ`Fkn^k3$O9eb^9SDejvrX$4USiT%PAw!DAA67ue zLf$~6lB8g{FlvQYGsX_3bx_Fa3&rmD>TJ3{9et+8@^WOx#~4UG{5+hVL8-HHa8?NU zx>hN|J@knmdWny()VPaHfd*J*U`{OWv!(zI%mD6vx$IVBhvrzYEa4V(a03yYCZp3X z;WkN7N|mIzc=o(<+Jt(-I5khZ>({1&rNJMB=w0EmLRio-i(ps`G@9n8sda1ycT#gI z)jz!!#V%etd)3I%sAtz@Fi>kbtM2jU_s|7b@Dt%3>**;r#ZRcGMQ z)CXWHEHB42z5sYYhrbC?x40!^2J8Se=OjkpctDxf46VS;KSUx6qE*la$k6fypfg-~tq{8T zmepjZ+e=&ra(8&GkGJ>Kh*`b^8bwT3R1n8t(Ll=6wUT!OQu>6mS6-w1U}lV#PC|Zt zSvR2p=NjcVFcX%S(;AN9mQ+Ig++*D5w0Q>9X~_p*JVkf8b|{)fZl<;?4H57)Hav3Q zjdm*rPC&0lypBc2Nb#r3h(}Tm!=zYV&T35RJU_!GHrK=3)A`$^UMf*y#T^W#6B}K+ z$_t!o#^w#wSdX?cDCHfn|Luz$1`{6-``z`ndD~rH4yWA_LMzSt;Je@p(Ax}-GXBCyMPA?!fidJ^L ztyIqrOkMgy=_w9J(D2*R@Ico$s?ka}(n+Sp@=eKu;E~_Xr{Bw(6Vm{tTs}yi7n<|_ zp^q;BLqG7xA`^2_L%Jmv)@2QQe*El@v*`_$^i{&MCt9`pu;aM!F{8+JVKFoERp&3j z(F-D)&~WM9Ry#G5^F`Kz;Fo)uwa_6_Ads53n|8sjIfLMHNOXPO{eqzV-Kt76GDX{(ROP==$v^a?#ta*k;bQCE^x>iY=dVdeh zyRaRs80?JJs2|I?4tiCc{IE4*zdRJoaD;mO=kDnj7XSMBdpWG=CIKl^(+$>T zNy}=GX7y1tFIdT8m@_YG(zJ%(bQ7yMFgKPTinhG6;r%0(xvPR*AXG#^T@9{k$AlN! zU@At5E@Wg($>uy0QIl0UdlN03nX&v>wj~izT;C6;Q!t=dzX!r`@$u7%88duP-VrFA zv5PoMDrotRG&$#|AFDxbEPWa9x-A3B3|U?>)RR)f81{MHLgO+HqOS&~aSPe$w==h6 zMVmssLV69s;)H$68KB5hoQ+AQu&(4WiyL5PEGHi((wC>*=|rSzpZ7sT4!f)ckjE~`D+k~TKZ|KOH?`s6VdE~ z@{{SSSfV2y>VaJFi9*@BZeD06OAJ#6`6q|Jw32*B1+|twR2}0mzS9O7( zvMg7`)hG9h6F=94Xb4?}0|d0|S4u)dHhGnez;)%L2e$UXlU!slj54o`7r3F>rrT&; z=FRHmxWELpf7!i%yQ(q@W%Wv#+@P66Rh0!`5X!UjCt=lti?C|?W~xXqT~;rL1g6=; z!|8ed?|;1Pj{CJ?lj+)KEXLuP`m{>IL1-L<7M}T3HmRT(&2tZ64TG_ zw^;r>cZl?>8eAq9Ki6xh{C=IWRgC8zwnzUN5 zH<^EXo&i)pj^jFXnRTf~1+GO`gkCL*Wk~KguM+h>^qV^%P zpO1x(>;Gy8m3g!JY(N929#8)x9-S3cvt(~F035OD`-wEd6^oCuVBpj5RUe|AxqH_k zSZ%x8FQ*a zjz0TaIaxA~oC}f5yC|$&)GW`rDlT{6J=6I&A!8rK2(TL$Vt&)qCm)zNtCzDS6Obme zKL{$nQ+kUM&AM%Z;L=PqL1s`LC|>4A9tWOHF^UlrN7Lw_GI>_7S{S|%FyBb)@<#~F z|3b*=T2&MOfP)1T#3GO{2mH_}^3Bz=*OgNlQ#a;)zX{Ru=I!bEeA*q?$QN2&>^Ni< z-#|4drVWp}Esi@^q>rXKYdA1*RxhUlCTWjHs=Q4qi}#FCMqq-r@kY zGyyWk%@jN{aaJ!U8YW4J$HUXFyL1t?*gHv4JzhhN+b}oS6W=n9!zP| z!c1)FmFFLTf((q9BB7pLv2KkE|2iD^Ka9VxO(lXr#!mv$taV-#I0|w4XCN!)HWACE`F#f=OvgG>~UFtJ6!?h&+6qY4B_~&ftN4EqD`U&<2$LX zRRdaM|I}Hhw_?(~OCpi|P{j}-+B5mhjyqrnEQevH>cjE(+wRLyzMMMoOZA7rKoC+q z*~I?qs=-KrxlLWTW%{gMPQrxD4yW2a94?oQQP&&cQl4(BcOaa1q_wmP>R}rt7?A2f zde97sb|WO4gcBH|NU*8WNxd~gBM4#=tzHh5ghScK3efK34Hk4mDDiuCROa)NgstMO zNpspB(pp|voRE?SGumgJmNeDoyBum07tcOePL#~#S?A-=%{}%n0R^3#cw9qF)LBI~ zpLmRcgK6{b_)1DHVnMSGYD(vsJFAxy0TZ0~^Z)s;|N7sX%m4eo{_lIwK0E&8!&3jK zVxF2R=f2yH0!N$xiFVYI);L~Y<*gPsJuRJmu#}r1d2GrXlRUO{Yh|qD0hT;)(YuR! zXYuT`Trj#H{1^dvBnZL9});l1p4cRqse~K_wjWTHpx{4EdeZ zz|h&C18;-9u$AO}!1P{deiOmd*=EI-End0i%^ExRB_B}Wvp1mq2fiqD# zUv{o7s6JEQm+%jwfuvIMQks53BZ}{F{eg+H`fLn?Des=1HW2Dr$IVO$q%{3e8%)Ri zu>e$t1O|yEI2*&?9ntNYjbe!UC<7jiXvoKtZ#yHbXL7vElGRJa6%6xeP_SM18#CTs zH}A^=!HwWK_AnBVzNRUov%ffq>au5V;@L0ByyMc@?aB!f*d7I{j>pU4`DOnODCOtw z_vZS!FiAy$5Aeg=7+L8m@Tmv~!{d*&T$}E__e%v*;&v(+kK9)U*rsyize{ z8i?FoUn6{S#qy|}@me;0ZC5OvXl@^X-EY!-4K3c&1uQZ1WI;74D<5J_4^(u!8~9Ix zoHB6%oO>PvGv)O)v3eEO4-oEr^v&4E5_Hu-3br%rYw!lx^~wfS8$4GnJs_Km$kv zX~=8`FKkcb?zXl>Y@i8a@^mJyp1rP@m;xSq3^?nG!+y1h0hhzArd=|cC=ck&3 z)Ryc&kcU*<@4LK@7t$GB1#ltpY6Sixvt#vgoQGU6by1&QPy5H?>KW2={K>ygO)QDJ zd5CZaQV6PzRa<9e2f)U8;Kn?^m1%x*!6TDo^-_XmYGWMFA@_yC{r)SQ1l2_IEOuG4 zzmFyr5t{?eO?E6?Vz~jIHoz`eO0Z0R?0xri_<4BRysr2#ggzKuli*c=&u0Sl(uIWx zG#a5EHoyi0Db{adJ2ERbckIIIFm7aGtX_^LO)l)TdEZ^v)Jta2SQ|u8jKq9^s`w$I z-VB5m{S2K{9jR9}g;#VIzqzz@_P%l=X+k|;_Pe`;~({6M|s)DuO@;{uWnHTUujl?T&S;Lf~V;Dk#R6>Cy^GU3`-7YE<1uro-y{ z3@+J4Mya2dds2mQ(cu}O2c3R!e(Z-bYp04QPE9b{TPF!1;@Cya<%No8V|aOFIxM`$ zw%>Z$eSwQC)(hv=8>d9zhNpiCM$E_cpRjH|JJy=5Hgna}qE3g_upy1F}}V%bYteNrX8@)9a>HIFCjOC z;V+RJ=>l}w^5bavB6tsN$5DJz)5td(?<136K{_K}J<3)4BPf`{;x$2O*34%PoUz0v zIdafeaA}4&l|)xU>SDK@6&y@`Qthc^Qlsd131AwT{Ho99br}6~CaC}8;oij2B-tq| z{xG2n6Gv!wJtWX)2NZlaeIk*a9jm5GNK6af<+uU%yJM^I_;=<8LA7tk1sVb;<_5#_ z59yZ{x44UQgJu0>0lqORcEDo^;lt3;{wqUAdEzL&S2c7r@UWE8bSUO%EDFvw==H~T z%EB~Q{aBW)XlM{g@8){AQ+B`x`fOehjkItp+i5Q}no&$~4&xZcBk7usKYE}xA_R(2 z1&lQ0pQNn<1h&#D`&G_zZWHywh0kx#kE2RfGC zD|q0(QT`d339GLrUcPOEqz8zKd5UdNb^ZtDlN|wS=*9V1bYkedkMff?!0vY}kTY~; zkB8gsxc@P##bJ>)YNi88j&6GZxZdai3{dCc?#`=^x}7y@OvNthe6G^vWfrVnPP;5H zIQsR%$&j%@WXQd0Y@v(DlQFXY%u5}p;iCFpD6KGkW7j+RM&k05|D|}LirNfcnnGLNla0snwM04^|lZDu`~{mG9>{KfM3r!e%bt*&gb82xI;WO@KCvk8Ui;IG+!D4oQorqEKFzcrc2J^+z`uP z+TIA?N<>ZAf~76AG^BpUH(F{uiad1;@?KEyZuT8*t8~>Pm0|uSUEiKoUj{%AufBN! z*6C_k^??8m8jr4<$BsfH3)f%O4tpGgTq3Uq(!X+?GLrOgFYl0u`xwZ1`)OF!M4yEoO&RN-tUO@D|E*sJSgL=SXddt6xyE4R>&D59T zoTR9OSWz}@j6byi+@xaM3x$ol446UJ*R@U$sb4vc{znBPus)aTcwU`vkH4?z*~#FY zqH>xo*|ONg#*6DusrSAte&})WwSFDgp3HN_f+6W%Igb7RTNBH3%rl4k)Dz21H2njl zzCzBien{R`7W~IqksWgo$?lNymCMFTK;;1kHtea=8HQfoE4r0*SFv)XEsV~Z_uG#yL!Vom8b`gOf`g|3@Vt$4F99r9&aU+a!Bh=MjnjDN*Aojs zB!}g)ff7Cbs=qa92>)P}1XMGdrJy9BO++$Twit&tm*PfY2jqn_?gA;F5N8~W5oj{q zE9DBkqh*3BJv1~HhVO!gg^NcC)TE%uGcPX4xocgbxC0BIPGv|H%W)O}4#mJ^9&5P- z0)1=@`|K179&kNBJ65E9K%{q&l+b$NdSXqb(m)xSjJ$z_u^b0;ry(oPx6d!E$nF2S zH}ovt>ztbBpOt@@^ft;%p*ngQAkWPvnGLpA?QQtnSY($X7S>4`%T*EXUE@n3q9dcQ}2+FyYhN^m}Ee?LXVL1+nZk`}1mec!$Y~te$ zLUnE-$}p)zBVmNwplAFc%A~iPG(w7Po!*l$mg9Knw1@BUaE-V4;XU9wkRAzuVY?t% z8TSAuKJ;jcX{tZk19@o0b)rF52WE1itj@3Lc)eHSOnaQ+i{<#h01WlOvAs`Fq`usF0dg)fvKWb>TMK^S5Sa}N6Fe8d zmAavdHIOQnFDL?)S7#OA_;A&&k2i zND9j@`y5)z&|nh6h@CR*F*}S%jcJ_!mMqyoqF5krHy2tU(Z`c>xt_=4>$FlSVyZ5z zMUN5n!d!N_H6ofHse5>5EEo#-L^0$`4fnSNG9XDT$EO5n$ZjAQ+MmyS(7{G6mD!on z!t8~!PJK1Et&3R!wBmM1#7Rr*5oN=7KoSLTqpMCUsbV=(#Gaw>)p3-~y{)#fcAFKkp}3;*yL&3JyjqfFL>3jtzd7JI1_ z-$5iCVP-z$fg%J8n8WbA_7)oSwt)n)90z$r%hLaZUx{_s_kdDg&hi1(EAphkWV+Xl zYCCMn_!H3g5|u<)OpS;G)m0!%*^a46C(H412gnb@6!~;JKLj)rL#BNV4j^GfbqO?1 zNhN5Y>@>sa0+0v;Io{VM;cHZ8P-592-wZu7c9k({M!*ARB0^P;t+ zT9>Ry{tz1-kJ}yuzBoftMcwgglCU?_rjZJeMwa8FCJa0^u%u)~y&FDlBavbW7(FEw1zn-V>%VUM#=nMviI`EbRYeZeUv=XFp zp+4ko(yn9UoT1DQ#X6IBSeJup63%kgixU4;bR5R2XVaYLcn!q+it6K8rol(>UbQIIZ^Ca+2s4TsV z2dYKi8%RV8)U;-&0Lihxsau~G`#=$==`A^h7#Z2T)DL|L4F^kM+)Zf8Qpg%6d z+yftics(mT!Y9}yk=djOVk8YM$8q_V3wZ=*;G94WQ~M_yWG#W0obQY5o$BnAt5c- zw*awey!Ph!1QS^9U4|t{Y|#+3$n9Q%#7f-&WVUov22#;-oJ|0?In30%9S%NCxO0;+ zLe;qjhVrSm^43(PV&gfG+hP4jP;zonhur$m0JNOaSrTC^qb;s(*h9xZvpd&1wJTs?6#IaWXbe&EI%+r1dX%9p`(@K;< zKP%c&fBkmAf}GbR7ZEKP$sjGByfG&f{KS_r4I4I7GNM|->8~&qK$wbEI-et0Cg9P* z!}s3ID#rSe$(yl_MqkjAFXn?xQjJT9P@{OH%r)bAVYqpkEnk+oKp!lu-9II7XqXKR z8W>XN*qc!1YT6$1#GFombyELNkh9!h$MXYx6a*v8RXT){>V(BC0m&9IAw56>o!NoZ z11$>?0Jb8XhZ3o26c|ZI%efXA=zO|N$B*-P{MSP@7G5EZZNKK}hjG1K%nf`>xr4iw zo~-Ux`hE>GF9~V643M8qRr(2wvKlWB3Sq6+0Q{#e)EnE=?*KNwlMbY=tS8Jk1m>xRe8932k#eXAJSbD#0&LcBMP^z( zdElV{1maNM%k_NwI!v4YVccCFv@TS@Qro^O?{F7TQ4R*XaRfz&TFly%jWTaNdr=G0 z4kV%FhJp~(0ZQ%VaC-eUrIzLT9Y#DaOURH&ocbK1JUz0H5rlLgCTHg1fG{o_%Drw- z)r381jNxNS!zRf64t%(qz#5m_p7w{$%YL0s->wt+L{(bZj^TpBO{f!r4pqh@4)H^u zfj#g9>E>L?fkd<%Cr13cY5@MY&ApDAPhhB7)^Y-%GTQ^9KhE7vDu#&hgr426U7*it~8^{5FW}%Xv8p9=rXi1hnvPq9m!}p&M8RHQj{Xx zT)xiGcD;+A=yUvpx1v5KR>2j>5=Vra0#C3oib&Z;*S=*2KFI~L@s$~ zW%tpQy}XZK)8T+VXc9WG)Xo0 z!+4w$hNxSq&!w<*?wfIfP34gZAG-w2RI0oH{vMZ;uEGWsZ9xAmXAq0+MXlPhSw5w% ztD@-w-iGX~VTkq+PuGP-^u!H%0jX*Ye56T}+=T!4+OzL-auXwmR;pT#lCcg>xL}n< zg&j-(%a~YpBG+)av)FDTQLUjX0SDj)K1T@Td_Xr%*QTIH3L}Kz2zTf=rMhlWN%0vn zEgyaYkfdo*sz-8tDV`EsajV%!!df8Fke_|Hv)?cneEbZe7#rR7OYvwEeTF?(w>XuN zSQ71)>jJ;VwFp9_t2Kxgj`aC(gCVh>cVH{&5G^r`D}gO2)??>*fnsdBMm1?fdxqkHh%lbIZ&01e;$ENeg*$>p(ocZG^%Akq}ciCqB3GN+b$35Ok!m zHE_1X%=H-IfA&wqL+hX82pX;$*I#;IKsSc<_uhSh#!-5-Hb$kbvSKaHufig6{VkH{ z<-GAnV0-!B|JVQizaM+>`NGS?V^J60fbbv4%5`(z;$lMIRmZ`K^%a4Gcz;{M*fbWf$_NN|)>Ot`m@dHTzC(;06#Tik11?TZ9oOrhaPseH zL#8*t5WIjx_Su+-POJ>1jgA|T{_^hn_&eYuOc?1_+|`f_$ci8e4l8b;m`$M(Gx2tt zKBvoOe*uNawQV3~R%1FaM?qGCsaa^;Uwx(k&cJ)P-v4Yxjq|C!$+Gw~Te8xKS71-$ zE?8FlQ<+8n z17uOK8Ist}!L|sCNs&_R38O@HtwMR@7zJx-hurO?0}@T20l~+bS5zR|M%>s55Jh*EXs-A zZsIOrD7X(;cFxT#W0#K4b`Q{b z!Snwb-^V|`#+MHQzb=)qVg|#(#{ps!HXw2bh9g0smIyTn0s5$t;n$-uWK~4*$7-l* ziGcN{9hCeTxM)Bfc)RUi*QjJoJH)Xas<1;k*dezF?QmHMky@&m?h4&ta==aY%=7sA z<}K;h$Mu1Rd@&(YZ!x)Ql_8+phb<)y)AqFYuX6-Sqm?p0oI3LSdwtvi`C&fQ0dFuS z0n_N8{k_R1&07rW>WKdiTPPco(x!^KKSGMxAeaH)z67#0V$W}Z9J0>Z0v+irj>nI~ zel>(+t!-AwQnNg;E@3qQM%rqBT?ajQV&Kknl@n;vDHTL9arL~AMM8P6`^)vb zf4N2u+1=JyE%YQ2iUnqouH6D_h!)+k=)k6XFVhc z{^#kuPC;q6R`W@pWg@8*wN^!^d;nV2v1Hv&>UN!|@DZvbxvjy7#zlTU9gq9zul=+t zHpDn6ESkvbq1C`%(ML@}&m z*5iko`aCSTE3PmJ#wY^{U2g6NI2|N!bO|rOwrW+&^-CvD%-JW<2b0iI9QS7$^RSc( z0166lC_?i`-vPG9r8-23&KkhOVJHprsU#pD$dL&U00FHJ(cr>$+3}|>kSpdKj-Pu1 zmeg}ry2Gz-Aw5nI37`Lcte)?W)%vkA|eWf!*-q;pMtuX7{2Xyb>zc zM<2Mv+!aIT3uyHudsF6Q3I!UV6F+o5q+?7P6*!4qC@9l6w||6*hYZj~AvGy)4V;Ja zGr)9IzjQe#8j9uuetk17xNTuZ50c5CHK}%5u={Moz%*A@)!U$H0M*bY3hD313AqJG zWtouc0wEXXP5M(RP)ulk)L4_2veK<>5^_Oelonn9{qPolkC%6!O+IjZa?*(u9U|lw ze1IiV!b&IMt?CA#+B8rMiMSufzN*|6s z9*Mah85p2GE*;n>mZLjWHii8L$Om(9da6bo#@jl&kBP#tNiz^sgU(a5Ib}Ua!gegy z6hR!RY9`6nh{j&>Ez#K__sg;AkFP$p0eCAZ8?agpr;Aee-e+lla##=5#R)A9ozeEv z$>(xpcZ%Ddfq8hjFF@k5GgBbq$^pYN4MJB4@dd3fu4jV-*($*SW*I4~O zK3_ieN36xI(zn}Yr$hFtZPgM1ni#`RAI8D#y!pBIW-lh1X0G-;CS^a=dw+rNO_ zdM_Ydg1i)+%5b&}J0)EK=|dZOIyo2!}G6S^+-f*LcCE9gR($g9;ZUFTG{v2OEE~|q!qRJvv ze`tmN;OJqiTfOpqjdT z1)_)+61DMn%V2-{goQ3{fWs~%DoqR1LGQ*gZdkOSRU@NoDMJE}hj!2s#KWw8Jb$hO zA)28lv;k7=sY`|!O?Van<~DqqbB7_2>C0wbTToGTB&0QPSpCnjtT{6Va>nGnN)!hK z{xDP5$0?wml~y?fL&?k4IE6Lp8wkc`bfwTTRc4YcOaf*@pCYs3-UDsR6I#E!rva4Wj?o3 zRSe;JE7Dr&EeOrjk-jsjz1g>n9e+)N9L;eQjx z*Jn-a82&^BE!#Dj0L=Jo2B}smpN-;wMg=I%XA}Wj+CpFDTagRUdIddgftP*y2!jK1 z|K{!NH}ZOa%6ZOZ2tB;`4ysW_nnGyN`SgXe@CMv~HJ0gj#1sr@Z}X+5`|D@}Edvza z!8(+ih0*i+xlVRvfTRVb4iH`P(RMx@$^|f=&ZHm{q`tyI1A&S*!0Fk_UppxO1YO72F6t0xDuBI?MlDo`OQQt6h*Xb z#{ua{j`L+Y-XVCVLFZWmaxh`&-q3QyaEM$S{GgN%q^)5&OMs)eYTzCw0vYBtZa~lm zm?Z+m9V|QZn=Ao3u@uVTvxj0i+XnbCKrc0~0{pj8F-7}DK)rT$Wk5{wM^ZIPxP7*X zXpW+kmhCd#dxErnjsHYF*Qf9Qc|7@(^gsUB{d(LS&p|^^rm~PIF9aA_sJI~8+|Dz5 zLFXF#F!?hN@mvd>Zpj@BPShSq4(xV5Oy7whvy@Z9eTIl`Hm87kHc6MZD-}gGlq4Xc zw!mr=OxP8=tN;yihKbA(HrGcRGbDmGKn_{99P(v4T=y^2laPz`6kZOEE6k~F1vvMH z_ZVxTodYZpOVqo55m?`4I$$v*wd9axE1x{T=o3gPpF(>4ct8P&2qh9hsVqr^f{K9w z3ZRq1hT_Ygd~r$Jcle0Ib)9Qh9d<3&Oe~I{$%xoFgJ=+yv33VxvA=hfHP~Hm!90NEbE6*d;Y%5!C(l) zEb_FZDN=#QP!Oy7s_V(y=A#^Fz{&KC^2I+&8aaEU8qp_bFhq!?fG!v3` z7wYB$u4Y=84Z^>+s|2OwZfNyPd-Ads0Nr7zbKGBEP7mab`LW0Aiv6$F4jhV};w!KN z$O$q-DQ#GP$v(ov)3Hy?T6%J{8FrQ6&)*wRZr!gb^QF_n)EzSxuqhWGxKmK{=^Q|W z=5dTd=m39i!2gZNO;A`pdD$lH^K(3$9upHWe6$`DYt?0~83F_iIG;fQb8yZ-f`_f? zM<{iXV@|@#$-{EQX9_P5KF{5Mo;Cn~K7Bu6>zAk(m6S`58(3ssI9mlc4jBzqy{9J+ zYl^#zA=$IPxG(Q_WFLaj6mWQ0fQcm&r50+QG#y!3Gwd>SYM4dTcU8;OzbVnc8usL8 z4R3it%Ozx5)N&aXBTRO6S;bth36e>oo;HU|!tW{b6X=#^)YEu?964IkDwyYj%hHEq z_o8H5sqaU*->T??h*jq!9W41Uxd9VK49n7X!j!<)8*t=wIb<^7P5$&jej@PO#iEsJ zdEOw%7sH0!f9X*3_rZ>j9Ke00 zPwHB;f9x8LzCSlkWQQ7K%&e~)vy*0o?8xVGd?7$>1&DE6&Knq!-6Xt6-li?pT2hlm zm9-sjXZqM)Yzww{x1Aw;;;f!#m(-E7<mA}Yx(T_p*N6$*T>Mgf_c_g{SGZYH7`ZR2I}rD07dTdT9J$`UY`4HYc%6=)<9S`AzSZf?ux@!_4GMzbwJa*< zz{Gn77ZYLiwYqz^)0wt!T>U_vw=b)ka0A}X`(M96L+uf$9(THtD;3r+OQ;4>_L~E% zmQaSZZV?nq8UViRSg?YTOg}6a<({7#IVhdub0#a4S^g zZa9E}9B&3Ur0QT2f`00j!D4I&ENnoqn1~4ZJYxqGXk`8_zJmtLr1WZG{p5IE>3Dm8 zZ+?#-d+!Ot6wFun$7=E=a!dek*Ryt8?0d@s6=iI}E zU64cOki(xUs2M=H$ig8j?;gnxP6)<{>Op@mnB&?6{m`KNvV2 z+t2;+<8ZHQ*MN=T@}+EF1%KqyK++-Hg_H`5P6Zi-#t25iBI|km@mukM&;qWjEh;*fPJy12{2l+v`Rw*4NBrt<@5i_f zTNP>fOb^|_1ak_5y2|{ZtO$Z8JGmRw%&C^0T<8(O5ZKxk!+VbF*Nyd~B=_mpuZK2} z<&OjWzxez`3D}l!?vLODV4AbHL9={Fm<yBTY;>*llN%li;k3U6`ph{mfV+jU z1zoF*1wA|$Zm;!$9gJB_C0v+R4R0Z4PoZWm@g`G^~oPDsgo z#aELFd)^cz?h&V2&@ZG9CF*ocbmWAG7Vad1=ihFJm-inQLaB=0wGtY&RS~@{AfNFu z!`uasp$Q-w&EA%Tf`~F$P=Y8f0v6HVCm%^X86%d4hB5gErUNSGvP4&|-T%?(eVZdO zthe`N`$*t;y~_KFD1>DN7XoF$^cg1bUQfp-^v0_j$j8ca;FYO>4$%J6Q0HpS3}O9+@=Pv`Trc|9Fh)CQ97Z6UljcfLw!3|7ryPG@@xk{ZfrAF9r>E+C4idSyi^ zw~EH{^9AtcfBk+kYH?)zs_17t_N7QjfC{+9Y^CSWe~K4cG&K<=ub?T`NVq=7*XjIZ zmgn6wmfBqVS(iNQLcDLS@&=F<6aqxs^<~`?SDyEg!paS;yw6vTmi=>@KK#-FA@h^x z&W%k~c7`An;la&Nr*&Tej@Q+=5+TUNa;?||DZJc1R-5cBNMrRvL?eZVUZEjTA{oM) zt~J>kvfHxD0ttG@KeTf4ucBmC!^(l#0t!(t`_)V(#W#F3EzCYrG;W~)$0P0}JbLSP zoR$p25&&%O8x@9DwM_`}uUsP*2>Ajo`f)eyHu89{(nF0d!z(>V5KP05Dt@3;RIS3X z3QTFD$GJ7uiWxgVHpg#@-P-7D1^LpSp3P*4-PGeYp=9l7~ZBcrKBtI*8RSkk1C_G5rt+&=y>%wNm@frXh z9qkgZ!N(6w?VLiKjt!CM5|s!~VH8~r$2VbxqlIX8sQ(h3F2h)HP)6;{!~6+r{E z0Rx}e%Pthg2mXnrwSpiLc0le{iH6M|4e2DH> z!YU9^n&CY6O`29ItV{#@w(wXHPY>DkuQ4$2mB|C31XX~R~ zz$aBz9n~b23P~1zMQAa^-hblX-J0-X7O#+ zuwY0@7SLFy^ODY@#&a7iAQU-a-3ov%FYllG*TeL2`h}I+`-vBeo_oOnCk2%Sn$*Fb zdPfP@cD9|~jA9(rDiHR%5&tW4#QN_s+gTXL>O2{-x|sMo;PjUuYv^x0u<&O~Dxxr> zvbi%xb~_V)pfFC6GtM!>QDyrdm+^WF+C<-r(mq_;A+9l`kBTUbw(O1$)aB|x7AH## z1KN#23{#g&^o=l1kt^1%%=dl#{JK6oAA+SW!wggH@-Pmge`F>Y=a+6+2qzX27oQSj z{Y5gMuj64A;}gxlh3G&2 zy-=t!C>+*`pnV=>((?yJA66cx=3+%@_s%zCE5x&-$@ymR>~{9$)B8KwS4pT&VQ5!u zLCUCS)#g(#HrG{CXOC@I0jG_T#<)4iVn%c6`;|l*oaewPC zycFrd3Ku$~vV!UPG^Rl;5}F*aDR3D$BIWvi`W#n_RtzT@R)I>Y*g8*cs~qcyl4wW{ z(IABB=FHp*8(toYTdqQ}`k^ z)r#ZN#UM`h5;Q>O#TmO?L8)h*Dxt~ynx*m~09N;xJ5Hd9^M?}wxYec`2tc@~$tz%N zF{_!2(Ccc5JGAJSLX!{XNOKtgZ~iQYdwh>fnqP#B<&xh5AQ9_ttO}mO+Gl&v3)#x zV-KG}J##hZN)|`P<1dvpt?>|ARkBKLZ6cw`3tLmzARG_Duwk1)EsDz|ah8mZ3BKfIj&`Q+A`N70+rqrRH17@ITr{1--j^+N+7 zU>ZClVaO44$^t%q0ineBHErHc=f})vPRBP)ov1<>g6R&$6oW%*n2)mY;g^#V!Omv4 zAYNiao|rQhuoeoJ_zTkD)A5gA;~~s{UrfZ5>>^o~{wBNwi}uDuah7u6bq_2{tZMlm z?ei7|!~x(4Y!%h{jbyqGbc)C)_hoGkd~#&Ke7?LKrt!QiR2R*u=y*DY=>O=CWtooo zkcq^ibnl&%Ws4hZa0zS+RN2bucrmUZr7O|5V0*8>UskCLEE{8p4XzVaA@%?-rU4|X z3WA)|P?@r5z!~{55b4 za2VI$5D8T6f)>eK367gb?t()s%IoWdksJ!$E;HU|Gs;>r-OL!Q8Sg&gB7bZmHrqm)5HF_kjU%|e#P}yDp5kjpn8A;D2tX|7i?)Iv!c0i%F77|WW{Pd5@zdkb; z=8VC*V(0jZMeqf^tu==QNnHsJ-^QZ^HvzR8Lw>f-L&ay7_qKBZf@1ujNsW2$JpIB^3q6QMwwUK3{ zb|pB3J59iQIeqV6-lxsWc>L{8)8V){!HLchA6x?|IMj0DF)DR*Tr{gvDrnKq;2)T! z1g)A{c*%#2j@#M@5+cznEUPEaOgQxM@OAngQ*g0(l+q43HCUsJe%wK+nub&cDA<7} z2S~`L#Tpxu<&J;CVS<}mPQeqTdIkD;^J^gKsLS-%bcABpYP&UF1;c=H{=p>0x{8h$ zj433cde=*4iVS+S&Xv_hI75uGH!psm#kVx{UvHPIw?XeGWCN`D=44IlDF7ry-}s zuzUU$%(Hi(zXsE5WM4=I`WxV|EJ2@GY#|ja*_F*ocm+SNn3j{7U4pKZ-AWp#zBHNH zW_dlKwp=5&BQ-3^=?oYgAt&a2f1OqoWZR;Fo#V6M>q#Uru=9TvrsOij8K(JVT`R<; z#XzvIc13G10J>;_J`U3-fL5M-ig;H*KNE-Wrhg8HDmko(vQ)hW7UG;YiXmu86_*ts zy==&S3ev)oTmctH;91}}N^ExA6VMm66wLx=2!e!=)-(W)KykkTTY$Kzgvk7Z&!P%i zdGx|klvQ4+PkWR9;t$RH{&m99S<8*?7>jZ_DUelwuegPh6acL>)58El7=b!4?5YT4 z&Y=o|L{k+-kQSB{nG9SP;1cK4zs4{}_iw-@u!5oY}Us;3?Ssr?f^={rG`P-xr{-C?Um1uImJtb zJ5ZC^7VsV)P=^t6(g13gBjc1=K1!`B9Z6$J zPSG%d9HX{hAkHx^o}r|j36gyAfQoHKC#+78a48uWqz~gnR%8r~h>%u(jo1C^3_L~9*IG%O@b_bU`;NOf1J_%z%2%BZb zSg;;%&$sh&^L!XzJ~prW@$#~M6AJZD{rbL9R@ws_O(dpix#Koh-=-5NYk>1MBXK%j*Eyms+m%?M-f=9S$vB-=dow z7Eg}2QuKxD;$P5lJx!PC=c>Np>B|rcRkFTN83J*{rnsPO$$>{AKLlqsaZB19k#0CPZgvnY)UfZfK)7j5h!sbk5E`9QGy)9<@t zK&b>b2R)e}hb-?bLhb zG3e1Us^Ws`$&NDyhVF-ElN7O}DoAgzuqKX|;CX0~N#89I(a^ zdqH|wkSMj@Ku91rm!+V2!E@;jUxQW)uK)@(5$rKQ&c@=-AqJj}*#+%aKyFtt%bzM( z$NkI4`Us>R8v&eXD{;0C8J~)J)yJNm^mkw<46`#q5kmA;_P$WS8p!EtUc-f=vhfz> zGHs^6rgIo5x28>i{>x^FGd=~Wn4|?7B8Jc%O}wS?E>^ShP;^~@tC{~py20dkb(z4! z(?4BKp|5&BbLWa8TvNQzp)r`!Y>m;|-pHK~1sLAm1jcHkqdGKnA;3JwwU?42rVRR> z&kKGM^xGNY(SS$9nBVyT-!M9)Qwz;V5bvmk;Gk_0*3bC@voP!a?G3^PkmXxid#e$d zK|89-1GVL`m8UZ%Y8a!aD!&D#pIV0o$bWJ5Ea*XyD?ELLIy6iDyXNrFVOfF6Y?FN5 zf+}$x<_nNr9@t04b(6m>xdIZZJ>DWC(H09Q-_s&mJxRgk6JI(w_=J*n<-IjMrRy3% zG|cf1GRlfH#H{U5dtOOeSd#0}8>(5oY*t4#r8EoDY5c7&)*67T*R_jQeV4Ko>0tcC z+<5_av0SvOvt3CVSdy!`N2}wHAvi6333m^EmM1crWbJWnoZSjtBV#%qaxQi)S`cYT z>Q}O&2|%Ib`F8#sFL%eT8CpKmk3x!4>=+dgh#tCKRBjV61c>Fip=D%RGKj4lU6KNp zG)2e&AnEO|>3ZGAO2djE5W`8&eMf))@vCbU|9fn0ht`pGsFss1u~ji{Ye)j+GtB4! zk>@ofTizc|pxgRuutqj%4o~;DHf_N)!Rup|>r6&WS zr8FTj{59S#tMz6uK(fRa2eQ?I(+z&hEQu9#raJw8hZ(3c8ctHelAIubB}I7pf1cit zm(%fS=pEkjNL^6`OOVteEBKz34kge2B-?xJs^>m{jSNlp<+c-+s^ z>GctMYCbqUsH23%cgxy9Ft@v7^J_XC7*>@Kv`^|q!}5?8mVXE=UZ!5fCCu$U-Co|O zm0ppd4P-NT{Objp^OBstppLs9I&XB{3`g`?Kma{da70i9s2eVl1hHhv44^{!`*iqx z>bjMi+o+R+A(JLeEbB`1Z$j%=DLeQFJ~M2kunVAQ|ILAaqV*wFEXmmc=^elXo(JG2 z*tCwT%S+_8?D*1*!QRIVhEKtW)EHU%T>zWdJb4TYC%?-{0Y4i!t0-ve8|cXhm#Nr2 zpfw-k9<4M)ZSw_?ahQQ&GG#>0_BVUBQabK|TrVGH&>URsz4UPR0OhC$&AX+g>8Bx7 z3Pxx-t_Ts_mlCDx1%a=I&WB4B>x#YMtJsri;Yo{RMk$&x>_Ph97}Qu_cS;9a{Kx^Ow$Gu zmj~2iIU|5`lZs}qMi+o8Q~m<&2FV57yAb>UI-5Rm>hhquj$CvBq>v@Ke)|vjdCkl* zFfxp5h0fkjfa~oS@^#x_*uw2?K=vdlWJyj2NTw6OtEaaF*;}lavtBzblB$J~2$N{=coHEhI@~NiIB}q#+LbEf1{z%bUzYKwRCkJAI}r5>CDi%QvOlk{ua; zZwz;mVK_nR9YJrp91uP1jLkT>asA|bhcfMg>op!e_vdjFV$l09q0iE;px&ND^i_F+ zT%>mTWr0S4oFUID2wfCu`X51Jq>*=#OqLunyjWCs;rxZg%nLsScOlLo2`|A_?Jg?( zNLYUZ@7AU+42_~8$z;i)g&0P9e~92V?q2?q$wWXm%aH>v#C%~6A*|nSr2{BAAFcpJ zPY|r>88D1yFsKY@64p-|S&~yPSOE9SM?YUDnkaPl5M?n0$2nAjzDmXnz`qQ&vx+5L zK~5Q_rBt*?nF0UfMJAmrV8PaIZ2bE2$Ny#Z5;PSy1L8R>zvx!qu&fngINjHBcW{Cl zMwAtKhvbAwCd+%mh7)+6j{lkt53C&k^GxTZXG+!;7mtp=&$@O}vvJYREjoZ^@J8xb za;TeiYJ0sMrf_gj>2bYw`!l>@vZ6nN8)o={7(b9YmK>_Wo6qjg)9dHSyWvR9UU9=% zz!eoep1p;xtN>|x4Q)y8rdm*!$$rHwj3lza?$;OK`+a};_)W~0hYk|MZ@YPbcQph6 zs{hVHk=>e|KSuK{=vAmeG|F!!qa^IW(hf?n9so{WPseFGJ_-3Vs2218Nbhj-ng_xMM8W5~?{K zk5Gmaz!02W+0eC#%>o&RbsdrPvQ$?HItP?wZV(c>Yyvz@QfcnUR_K zlCOQ(ra55N2hu8w<&Y38vjHA71-q35kX#n5boOEiG;`hvZg>|uYW%#hjHNANhnKIxPJn=J^Ms#UFxgZHVq{R z*-m0)a$r8w**WF}+z^To89F{9JeON(>?-PTzXdeyuXTlBe$&5c8TBq9! zMcJk&hD|ickCMc)lqj@LLn?MV-l4=ZsN~!~3gn%b1QfHp{SB3&4AIu6fy#Q-{8Bp@ zdRF-_(#TSLH~@6s5tehgLm*G}lX>Am8K`SVKVgCj9{mo&OvQkPeXyC;Y=FVLt=yM| zg_Gmu@c1+k_}_Z!UHhS{f#S~gLw9xNqN=8ogxgqPIySE? zfBN&`A%~ld1t2w)%lmW&U8(z{nBx|*+BvARc73uumGzg3kPp)Clo0eUI}z${jUj$& z*Jb%5y#sQ+4S+l#yJ&>^dh}ny_12^RAsiw1!|-1>ia;cbr80~>*-a|nzHW}Eje_0Z zvqGGAjXKfE{M)h(0K*j!H#R`%*0D6q8z=xks51P47FZ$P8a6>5IK#>hQRwmI^!a%^ z?)^U2sDo(-Jb(*rq{VTxP~<}9dsB!5f}nh{{x#?}{DB0r6j$6w%rIcD-cMf$dR{3) zvkZQYo%?|mAWBObI3jlIwBFea1s^Db8PuvL@6`z4NE1tOuzWB?fLOKR{I8I_;BV&b zYYus<26?B^eS^OV>tF6INyK9U`CS z@%-e}+TddNP0ORGioT0YLmC!FQ8h=}s0L16k_whmt)}~3dS>)DeFm~cin5~nD!byb zEA+(%WPkkA?DZ^F0V0!nfuC8X0b%vzd3C{RL%_lZw!5lqz_%yJJV=} z!2#fNe$+CkRJhE$b`&@?TrSC9DJ|ER|HGzr#!D-6US%RZ$Db9rhjX>cMER@MywKM2 zN&ZUdk{^Q8Hur~DoIJjIe6&PFI#`adLg6E0UNWx`{xRY8XI~kyW8^3TEU^iwL(JG! zJM1LkE2YbtIb7N|6kB>bpT4K_9gb9Nf8|qFB%88Qr0sfZsb=N9?amvNdBJuFjh8BG zcRLnLvrUl4t)>Dzs$&=ZR@QfcGOk#txWQZowMA7UADaSfpqRc1DMWb(0C{Caoq3V& zmEuzY8i(la5#mj2Z&(;+smQ%hCm|dmA2#5G;`u>`qECaNwseHZ^YWnpv(nFXyhf#& z*UkTw|7$&TC~8+&bV$wLLi#E;AdxKs&<)K%&$0F1b)vY)P%&&F4@vt`B3Zxd_fGBvMp_$)bf4iV^zfdwXI&>YqmlNJxvQ#8avUKIrF==en znn~zNnO4W{ifX)2lRlv?(Y*J zXDNmdC2~?@;19|g&ZkK`qZ9DK=>XeSU9|-$>^6V{q;sWgsgHm`#0jcbmwVui1bpL) zMb6Dc&8{oVf56?EtrNz(s~P#}1ENLXhLepeOj=ipqqed13BZB3X@9xgA^Ijoab9r< z6aI)PTTjP`F=#KL7coCm*9Fw!z&GtK+(1fKs?u|Zr5`?g$ly=^czb&UxKz*<)+OEHVTG_^LDIeM zdZ7twptpPSzI|aok@0o;Jbn25>+7^XUN_H&zZShPq4x$pX~-wS@D(;8OFxX5S@Z%% zTR=tf_`YA}ezjP4BzL7aej7tLcohI$I*iBH2QQ5$e5_?Cab)~o>J?Lz}0pDJx@p*dr_ydB8`{}UDhhzvf&)BN&0~Ef)Rkl8m z(|pRVjiUPgU!?EFd_I%#qL)C5SBeAB|3miyhRoSSLh2UpLys19Pxs(SLw*vZy{z?2VsLIoG_ucDP(LfuP8RJ72ltIZJH1HXWB{T;Wul$??H zm2w3o8xA3#TzeN!QzizfvN)7RREEVj6N9BeL#~n7knk1E@tyDR5Vq-04-`}Y-?Ee! zr*4uiAHGO7v?bw-X|d@2W9E5582V>32S8=ftUDRcJ}F-*SJbrN+SRF zfy7|Q5V;Udzz&91SuXGe0w%>TS6i+>6Yym9^Y8rGug5Y-62DTMlz|xp6m~B+Z-1Vo zws*z!GZZLq$Jb?1GCVLTVqo1c=@uY}3sg?hzEVSp0)?f2z8t5$596M!yw?)TgHbMi zQm?+3WOa=2SCl>Y;D23)xQ)Ss){S7Ags&9mGJqsgXy#3aU+3{{wJ67GD$MFL?W?|= z?v#jZfuqa>8#Q7m2T=hzP^6~L%1HW3WlR7wSP`s#7+CI)@rqWXpw+Xa5?k3aB=jv$D^Y%bQV4M=xue!%uWYzc9;?Q0^@{I7h`z?vK8<^KO08D#K5zH z09l&v*ZVwJ_>?4V!i1Sf6`LH)eg;LPO$@Y&mgeC<#`o)Z1Ula9ZhP6m5P&89?TCqU z86qOg+!ak&0U$xidnu6pvX=XzlT^-fqTGm zFn`9A2NUHT7G0tO41-U6cqiBfA5e9ZWJMAS>ld{C!ivV|Cs@%=`=4C2q74U3{jjbT zdm2ALQwCM74 z^zV7&fDRJt-q^MqG))ae@Wy$`G%VlH@_8hukZS>T#lzvUf1OtFd};NiszM6n$^@pT zNj7a+1&8BC3L_+uV^TTNWvG7`AqA?EB8v|mlsJ6mGJ9eb zNeopC*EQ!BC=$WaoQZ*_29mGq{pm+dIJcgQCa~VD_!bA=JMdg!aU?^epm?Lpz?3ln z(k$4Z%n_(Zaq;%QXYs`Vup1zm?kv9Lwsg@V#>JETmF5hLM4$@ha^<#4I`J8rhV_E0 zd{+?y9jcy|%jmdJ_0*Na61$;qL=2>V{ZQKL-TTUfO6}JaxOvekH?I7z17nqtp4EVMP z*YZxQ<8aAPxoYlUFpY?Tbg*H$uj_os_#4EFp( z1q*RPw=Dbxn$n}Mu!~~vK$uh z(y;mkTy%|XT_^!5(!J1WviynW35=0ZFjt*ni~GQ2&N7t< zt89^g6=`8<&LsI+3n_K*xF6$8jAG`3-lC6**n$CNe$ufJ0UO;!2DwHquLOBvRigRe z1&qsZriHo84we6fXn9~HFKnXT|GEB4xS3tIMc9O%=s(>^F`SbI1d6@uCGv49U;>mZJkS`|$ zSNH)KnMHfB8d?*x1CVYJ+cXSy8BUQTmgdwF>^wqYZrZ3&#=Wm)T{K{@^GiD1qId^H z>siv_fYDxspbOXsVMO{5Y5C-PwfIll|JnJr?Z3mR5QeQRJQ3A5`t?JfukHXMN3an9|0e8~H9RtDpgpH5%X=j{uy-D_md zR03U`KT@W`C?FD2dI=SZb;ox9c_Qsswka;Ka8^0xQzQ(wrUh|BoZo zpy;()+KNQ6v}v`pk(spE4Q3Qo<_I!&NmbN>fq@~8uqZCVIFcsf>&v1XgmM{Co(>MV zVLp-}DPl!Y(?6c4<2oK9Dm%Em2ZJ39IziQ31K`S7E&6_X6sCRJO|4#Uuf6DCb8&8IP> zYTV(s&xQYZA3yg8=t91K-{EQJ`6PtWN!hDxq*|KjA^h=&9BV!kdRWH6HDsj}$zo|v zkZCvMkE;!N#?_cHx&AOfpD`q5RYP83Y>EN3^Ethkx$<3Tq?!z0AJr9xjC~tV5vgNo zYyV^0$bus07I6h}8-R*)F#L$O35JEfSdtP>zbI^j+%ccj(AIew)G}#Lh4E~C7TE#W z0UGqwA1ecF4b1{T*+{2hq${hi^w_8Avx3mDjjX+Tq^lyOEZrP-aJ{{Z$K!fio3WPI z#qKrJE+`b6Hc_+~U|iCwogNr(a){jdj(@@i`j$;4#Vnl-Js_hL$HXjJCARqaDsXsK zfpF4MX9Qv)2ZSFct*nu7WeQ2w6`MrfxT4BHQuq%JiNL1KKbks;V!j3Q;}66u5%os$ zE(gj1U{ItMI@^#NRO2DLU2ht>0V!r_PBn=xO>bXMhdIB$n`PRZ@skx9ZCT}lFbtsu z$~(86W$l5^qF-|`gLK|R><{?&#c{h~59F5n%pzfcJ% zpNiOS9BBf`XeL&y@$if6oX2=hnZ^w!nJn#!luSb1>v;ll$!d9}S(k{(Sj_9ob1#r$ z1+I8O<+pE%oOZ6!W+ja*&1o4}S_A`hId6b4)D}7IBmnOFT(1VOqDCxK<^0J(-E@m{ z1pFJ`!9wWY+rT!L8G9rePj6ZpYbW>1Cruz*(tED$WjwwHfWf`89B*(VqCQ2V^@JoD zV+Wr`?tCCOpXe~6WN>932A$PH`Y|k?oGxdRBvRPh=?0wv&{z8$fB&_gmRkcU8(?n% z2GjZ%p@LXqfvvekp$m}f@JZj!meVFIG@Z&xCFs>SUny>bTrVe;AVUw%&)(nP_tUDz zyTHF%jW}C8L7^$Ul+631pLGUe)X?nClT4P*I3+YB2D8cU6*f#$V-0A+Kq_34=QGjf zLqO+)F-D&XO;rPn+)QI51xE2pD{5PbYUvbU9m5AdGjo6mI%#H{RSmMp@!`Ljt@7P9}Om7sj3dq z?_AU5le^6*8KiLc=XCtIH^`n)S!D&wP`F>tJt%pO;UNzc!pF=7}hu4qW!wn?MI2m3q6ru%h)3|wmIgm|Y2;KJ&o!v)S@ zzIu56kAPV3LHY_-`7MB0Ba*%e>FfJOwAKW%l0ug0YA~gQ$tu_VBg(kk+Gk5|4Ff>z zvk!81Fr6kX2qyXglCq-ow}o*PiDSXQ?z_dqyKP`zI0y4bX0y`fAb~#NjXjL&;0kez zg+rB9An4*6+CV8z1_$Tke0zIX7MdlA7LXdzVipGn5Gpv83TplU>}Qn{+b^Q|dfC8J zk{%YwSY)A^1bF-9czOpx_xH``@qAi~7Btju^D={Sf=TohD=fDd_cLglJPowTz=nI*^5sPGOSJX z1EiH@I3s{%?O5%3JD>hqHKws>(sM>Lo*{_|`nEzC%aFQ2<}R%3pea9}qR`9})r4tL zEAWIpkSFHE07!iyGu>Xly(fFdR^DA`oal3K8Fs`{AX*5d3;>-_u_tEyeXeMRAr@t2 z>5v8}pDHqe)VK+9$f7W;i0Jf}FcLg>i@AW9hYZc4Wub)LwTdTD)HNY}1W`bLYgsp} z#~h4>r}#55o~RW!6-j3KRDUA>-tQOfpoj zs?J5?b^1ivTOszOgTQ;KY=<{kn+6=BCx6V*>Hh&~5jXQDj@}o; zm>4jm2BJfBgjF8ZUCL-6|0Top93Cv@2Los?x;UDdhjO4C>dF%!^M&WmfHq&VZz{45tZnB-H^zW$RtkrtmLsL{`GTl-LiQzc~X_ixVN9 zvkh#7RE=1OG_ri~R9piU4UrF~LrrVrgO*`EEf})2z46fwxh(ZAk}h0{q)DM$*?w^elG{Ymv}nQLqBC7P zdg$bO`LGGN)$lO4hug2~6VT#+vUKPqAE`-IvZ7bUkeEMm<;l!aSwQT$W4OClEj%DAfC=L14$H(p% zs=kX?7779lYeQ04Mwd*mM~+XM2Nw1B;+4%q{XU)^H1Zau_U2C@!PtWH6;4kf5)>9s z9+opP@bsYkgJ1mR`F4JL2qGgC%e8=x9mbS|BUCBuE25PT+Q1}+`2t&kk!C)^yW7U5 z^}s)I6Xaw$6(fntK2IaCP!C9E^TtTrdlLiO1`O)K33IV%QraPllrVp1Rqr!i%_w2L z!xoIrglA&XF1tpkK$=*F&&fa(J%oyvY4hfTo%=)bngzI(@uCiuI6^;T0k;8l2lg(g z6g{xITy$TgjAb~P0kIDtFLj>wcOvB!shR9HC@zRtChn=1;ctw;$?SdxT`wof`mH}l zrlISl26Dcf$1pczPM7I;`t|F9pr=Higq{US0hP~xh;$gAEJNBjKUCC|?NKYM@W4LW zY<2Ml^1$Vo3^b;%)8XrVe<%83CG<>;bt&luQYRFBEH?6b2y57+h5&}{WP{H$WOC_Y z17I-Y23AO&Al1FxMPSh*R0Xy<$=p7&t@!aeY7;NmXGE!z^y@$c^f zf0~ z53hkV$3)W0Ed-G!3)M#FH$FqSU5HNM8$}gbfZiIbRM3ScpKOah24eX>!5+Z`w8QE2 z1vSw-B+tG?7^G%KQ9=Q$Db^tdU0@X+ZO3cpG{P`Y6A)FH&Dzk*Ao5Z~6uq~N^UQl$ zK71J2wnZ4Xe*@A-gR@J3RKMLy@~%5W=Zd&?a>*P@pGsJl_vzQK=@3g;8m`P8ua-%@ zcTB6e%dM)$Ti{UF$;ll@*K|_1<01$vx;jbFq?l#;l4uTlcpjgh_t)!_Tc(mQuU3lG z5VJFX2R4!;7iDVvzbXMLP@B%na$)i0lluY*jX!tU2m{SX;8is!42DqXxn34uc~QCb z)(4s-;qERdRI0218ev&wVLdFKd@{%XcW`>V9m(YBy$!kN1TqWiPnv}PUnDr^mv`7E znNSd0g0a)-S$D?8UT|NqgMsWnRG0!yl35U8&9~QhUxwog0ay8Y`rKote?QGES$eUj z-L;BaCW;NZg&AU?`dSS^1N>U8cBDx(%kXgxX%~m_V+sJd2SU4^Ujo)nGF4;^KyQFo z!URm~cb66we1H{=(p;$~7gkTMIHNPb4FJWfdmeV!KWf@o2>41>|3|j?r=#~TPkk`vHub(mLU9ooWUn9fwM|_ON1TIZl zStjFS_{V`2mg{)_+FxEqKxTmFF4FCN?4=uI5~auzd2vLrJGH z_~?7JO90M-KVe(O+b`097;!=Quz`rN4(m#`Eu`4GB#p zoer$@dK9K6)hsiVDi?SKj;HUZVY$DwI0w^_2kvqsWHDEUoVeN4^S`Fg7a78cVzyye zIXU2=0Hpw~$%jJ6?-5Ev>x#e4gct~UzzS|NB3--&4rI@n-J>jT%fX?>#ag`|Cc>?Csib^6@E z*8`?gbX?*c(yt`bB+91_WNfffg9Hc)*N}3HJlej|pVXw5WxKK{3bylddjEVd>}1nl zW8B=e15bhVIH3Cb+1|Y-D)pfIDPWF=hO8aG>ac_ytyO?=j0Xa7`U$;O*ixF*aT6n2G;G&?88rJGoY$!lkc!=>%k*mPG03B8jgZ-ePp4KV4fFI^%#OS8X zkOlm4@tPK2@~IS9(D8Vj-o|wvhU`pP@ASD8fDfC&rr8b{t|5!rCwSfza)p*2d#T>Q zl=X87+Qck~i=i?pVp%Rw&&2um7Z_Q4S7R{gxYYWT@$8qPMhJaVOZlQd`MPWe&;gG2oyr#^4N-gU!(B=c&fzY)#r& zmIKlM{w6X`3T}MLlh`0C&+Mvv(~9tTRS;mSyXQYCXBb^Wx77vk>|jgAPpDd zAIKfE4M6;(LjhfZgyU@Vja+D5w1M=Rw6LsfHNRd?hhO7AH{<^Nb-q5i<^C7Pb)+o- zrUS4k;Vl&6d^fEALl_4RTf^+2`4%|8yrmA9&SoIfHpn4!EIpP!Avry6er>MPcpM=G zUM+vdE?#z%QDRWGZvk9#2&O@l!@JL&lk@Zsz&Ii}sLbGD-dRJhSd$)>84bbBZKikVzjpjO#>+Ebfst4SKmsxq#FmcsFSbD5B; zy1D~=h9Fb43nv?5J22Hc&7E*%A<=-`bF70(1s%wlT-AGjf$^PUB|1l5p=TP3beza7 zbMg8_&5)Zl)pw?CHyIj_uGTg3UkdT=%{tA z$|tlY4V6yXDr#Dl@L~}0YLMA931Qg`klsTq=+|+b&gb!E+PqKR16(hg*YiRfHTEuK zrq!LXn&HmAciPIZiK9Q~p$q}jC3No%4MWDk0YH#$1+MhlXiQGhq=#j7s{sZ^=Sg{& zaPRCa4O!`O4`#6(+QY!kR{OfiKLQ8V=-iPKmenPG0E}iFjSUT8e+upq!TO9u6|{Zh z!>@99F+_{Gfax=)%7k4t05rzZ8V$HRT2-+TdKSVP!ALFZJMh=KQSD$@kA zPJVYKDi{y*hh6}=-V&hx5WJhQ1Lhip@DUrhTouEgGKmcMZn(bAKsS+fsC%rMbHsN# zK3%J4L_%0r7Z|J`f{N(?HPqmu^{h3?j9TqJO4sT>HpT^LlEkvQWFo;GIP8zFe?+B} z2MSqzQN)F0U8Ul`DBF+7!-MvGN}c ze0%DD$`yzkAP7X2iqQuA-`WW_i%`fgXEc*;j2)PvxdHONrVK)%7$vS+)|Y|C<}Y zzZjia%7>1Dm5YxANg z)=HxBsb_BWP=tszQSf7ojvbh&u$HO=-#$F#hB>qzRiR~9sY1&|2nT!mOs0O2*hM9Y zovwHR#zkdfD4Ok@Wvb9BN{v@m)Mvt3kto7wNHEKqG9JZd*!$!i*&}4^oD`3Px7^|# zP7_N2%Ma8GK0H1&^BO~wTvi~W*FX-LqwLcaIQ%{xFPmRJs$O-*bd@I{{kX$Ey#9o>p;8t(vYzghsoN za@z{>!vIRJa6k)42w4DZ!s^KnbA5MIE%Tw`_O$!h!T8<7%JU~66GsB!WH7K2(F>IQ zYy&~Y7MMkdq{%c1Krja|>8+|_YhsBer7X*F^@zj*V|3gD5^+_ll7U(|AU&9(c#EqN ziVSx^`lIS?DF@tQdr9zI&{N|xnt?!;2MeSLWY`hHp!i(@tEMP-p{df^ZYSWD6(8EG{fAHB;1 zym$jhBg=ASaRlSS6aO5K*MDvP*qrw-A8ScXvoQ~r629Ust~|1gd{3#YPZ)Vk$Sr%a zA#2UVaGEr-Y~OU8M-;^JZoX77+ru6#0W-9l-fI z{)ug+CJ=}OvMk3Fr~CUoP3xR<;`DIy3B#?KU}7bWZXutyK>aa5-A39_IJ9F3I|TF zbs=->xQt>VMJ&sqw@F)huEO2(R$NI9Vr+~VnlW2Y0D>Ze^6B0#GazttK=0Qvi9Q)l zjo&24SjN?px8jYD<=1>VHCpx2CGqlCM_&Gv?`!q({(zh zBB<@w#@WCx%`GO!{udrsVCvSA`#>^RVHR`1F;SH2R7c?Qy?+;PIrNFGn3};kH5gA=OMrR&we?HbVOD{KE_{*(mgS)5R5yGdf8T4E_Cy=W&VAHKiK+^! zJow;@Az%>Q08E!6U}$w6m+-eFgoVbEn@@P8+tcQO*>b=^;6=|^vnA7CMwtdx_%K;? z2BwUpWeOW6eP>ao47WBDf}voaw6J;(eNM;cbN{+|K5x<~`nY#|c*F)E&_w$x>*jQP z9L#bU_|uQ(zaa#wb%S_Eidg;-G|J|2NbPv|7!Ug=w@h7Yia7>d;;vox)Nz>2qAGD! zGz??^=C?q$XP_N$$iUAAOECWLobQGXWI%%!`11|MZa9#{KiFJiAc|TH>=R9AiL1fo zlRQ?>CF*e)m=E8!r`z>#55Pn{uwqJfdi1)yyF(IVT^N#G*W3K%?HZacn&h#1F7cjv zN7wiLdaBaw--X6wyJHkONjQ|ViM_H7@Sdn;g2LLP$L%v!^s4ucefRx}7%{>OKwN_l z^3y#=pYi%u@=QJc(*ZuB2OS7CbB@FidhZR~k8TCeB#_mM;s#^j@OHa=Oiw^0{7K+| znoKiku+$!i_;Y`2eWI%bt5kIXc-5%2^%;+lUV)~y>*DytO5vTRW0KP;G?Y`o1|d$C zbE&Am(Ns`wif2O3(xA(dDpoIS!*D)NO`GdxZbl|M7J@d>)^M2Shh`kuBpdRP%rtD#C4eizp$4|lg&$H({q@)@H37`hdQ2t?KT5IlQx;%ydF5_EyF z2Ir;Gaco@z^1U4YoZ@~T{=6R6r!vnqlVHaYIE>TSlAc-_`a|lAa#-GV?z|V69YBv@ z!yy~r6ccw)rY>V2(~;|y%=*A^6mdIfwFcipoDDW#jq!Qh( z$zV%p^F`Bc!Wf~r@>b9Q^An$^!<|P@nA?o;E8z;Op;c&uWH)7u-2lyYwptseR~91| z76S(#AJ7hpE=vX&I84WJ`SknC0{0~^lUq3XfGQkXiIqx1@TtgK$f%*h9QP^iM0iCbpXyA1r~=nTD25<`h7NHe?u}@J%>G~ z+1QuU=JGMV`M~+^SnNKl)`mWjYu{f;S-Nn6rISANS3LCZ79{9}_ZY4!dm56!>Q#w4 zf%xiS{V3p#<7;qikSkb8a5ZrkC5I3>02ayn{>pg+Fl%{1seMU8%9{L&hi#BA=6GT3 zcVUMs_PeyOi@`*is#51KOK-tN1*~QQ(^oYr%pgSuW}=rs?pT%GUWh-RPsg|Me7!t% z%lOZxgwATe*CDtM50N#8EP4-&=?{%sXLCdTiVB+e@19LI%l*C*{e*?S)`q%hK4l|&}Y}x?m zUBZ}wxP`L(4}!cQlm>-aqh=H|fJbz5xL=1Fu9YDo1+2c5<;I8(i?`?Bo0r4w*#~rs zmtX}(98nLI43?CUi?^VIWviYwyoXG@IKBtc!Rk2z8V9v0jD(IKcYQ%BLCmR4sDZ}8 zP89{7bY+DwAUeq?)=q|aqCue=x`qWJA*`OOT*K<|4t$+YzkcnnclvfIl4BIGOlY~n zElD&*sKN(kKO3MP9{Yu@06lhcya zg!)xh)YWn6T@=zYK0-%TStvP#N%I^Udud^P&_^gV-TME77AT?_0@QLq%6; z7ba;Tai>8Y;b1qW8-k^0Wm}IO6rmxd46w;w?4W3vRw}~DskO!B!pR}$%Te2CHX($D zS>vQrM-;SrWx@p)C_&hSwTDvXr7C?oS>j9#>0R}v9Hcm)y}VuaFCQzTjAOi}k>ZHI z7~?gchWcxtHc*m|fYTifW(Rsv&h>N1CeZGbBQVfnN>>-p4Jlpq9IEZ#An;OP7UcdA z(yqJjpv%?Vfe{UYLh<@mC5TQC?FEoZ9V0C$ZNow8*eBlLa^6SS0y*9cvaL{&yZ6oo zlm{-?^E6!_P~=9mXMAe8+p4HLjwlNN5b@C@Yu_2n;D-WMxQP2PBzV0fRJm3!EV!gzN^xrhuug&0&K)o_~wH01039 zwhW$u!GE0&)7yFcdIT~#WI{&aHN+Vig@Ur$I!o{?pZ53=cwT>qK5O0rlGynAqc0!< ztls`TYq}=<7V+A)VNUTHw1wZ==2SEiNRq$mxfZ&h$a#N!J4`Sj7`dk_!4FPDWsBEb z!?&F03b^DgjDhfm%V+8gs;XVP0KNF+$qQTkZ=W2Vxj-W$k-nSc$pI!b5Cn&FNB`@pm55^DV*MOz!Z%bQ0UEsN z>_AztEdb$T=>`zOkS12&mpL$GVSi4?BQU?72EV@bsLm}%b)^|nt3h3}e9{7t8Ir_; z>Ro=1VeRMJWoZs7me3)38Q9_PVIH|mkG)QO!#ruEtVtZFl|HhU3kldl<$<)YfQ~+& zpC7^foBVMg5YJWg0ztsw{>oShV{KUaJ_NXbwFAAAnJ@wEfV^)e{0u<^G?QMY*YSLR zsy7~-oP6hBG=4Rm06>_C`H0+Es2`_i+v65=HXAQ0ZgiP|ORQg!5LWM6<)5!`^slGm zla?!0=zA$mdHCJh>0c<~wg#&klECU+34?&U`Z|8zfluC@1(}=A9#y@LOVL9U|K`A? zvX#?=C;#iX)Cv47+}rQp$J6QMeOfJ^B%{L%pBV748CKB-vsnwH3C3Y zGhJ~5B!C6Zq%K{(-h3Vg>hpj?99D`~qIHD>{MIgAVS!;p(EjOsv^)nm0;B4k%Gxcl z4{tLy+<1UU0;}ive+W3Ra5+9tAe{XE|1$Tky^ZA9mgrv*>V8$p!Do;k!?w~^TbA6C zT<+{|jhTbF7Z~6GGw1)~a&K}oHXjjkR`memne0BuuF52Xt!5Upv2EqsMGF>i!VST#nel?v89vHC@ zTJ_GrL4^*bAVLrdm8@YlK^C{rk>G|FNeja@B!x9{7C?qF{WxRvuoi{(;6NH%0I3{Q z`LQwaN1#w=ps~_)f}N=wFv2%%n7DXyzrI(@avG&HH>dr>%l;PL^KoetvU3C+j#Z^G z;EHj+99*>U?ZYLqvn_Ha*0k!91UiA+?w4xu!gOy$i&J^=6CwIvCXzZ!kri^O3b;mc2_2Ltu?)kM-YWi6_Q!io!1 zikhr25q_zv)xH3T;d)+-WUoeFLCV0sZyygYgd-k@#X&q7l+}(Q5&b~obL&u-)h(~z=j(M3o45<^l&>V@IQ{Y^;P1kcJ$nyy8_lyOjt(pX}C&uqFqA8BCft{w=&MnxAG@1&SDHED2d z(-cqGM z$8mpofa>e7)D_8grj({} z#CaN0mlE04BO4pkYg|4#Voq&9WnZ+NuOX>_n@;<0h`DrjQK~4^_g_J!BB`o%AfoVA zJ7#EJq8EMRHh9)WQVth|fo;N$jWh{bkh$ zr1olsZw)ciEXW~y;4F}1QUdU;jNmLrR3mPmFpNm8#Su|dob*C7^n+DHsgmm096TPP{UN9yjVzv((NJd%V{#{{faFhT7f2W#{qY4 zKj`S-uc7ybXJrm6l@4FkWH$ii5ab9HKWk5zTrg+IWPI-N`~-R^(;xfO=UswfQId$g zFQo8qJ5(hr(hh>NmmxZyHQr?s=jdwt78UChMUx(ulgtl8ZAid`z~gjzdR>94MB^i> zOp?vFX^`Eclse;D#ZJs>c46^xJaAQiOYgT60Fe-uPB7$Eve)hjH{?~4F495{|&uAPQ6q9a0X<<3pIxxAt-uB_*UonaN z{cyP)Ue*(_k|tJ^BN}W+f<}8Qp<>Pix|a#gJvBH(T3AkU{}nbNl>pgzoGH5b>Vqp~ z3ZDy5F)xQU8d3xevfcovgy~vDRzqRnljkyGU_a^Rll+zA+@!qjr^Ds%pZmxO*u?wa zS-*k=w}F{q_85Md*qV1WJX9E%U$;G-PQg!w2cQ{4PmL~;Gx&-LWhpvfKT^VSs;bB# zw%}vBZGsbiFm`dKVh$kqfbuxtY;iP6w4EUg5)lP7UmoihOQN!{opk@n_o}KIhdIpi zbedi!f=P<1vmLWZ?V3}C{`0btsbGk^Q) zNz8GfwO#ny%!?WL4_zVhz$HH^&4z^Oct1Bk&X;cqt8s`&)_56v0g!^&fq*q0?Pgw> zP{{>!21FLrN$M++LY6CMG$bb$a^UO!TZ4fMjT+9BZ>tal5LF}K=JV1qVqbD!%6Ec) zlE!kJmLx_ZXiul>kHh{5vc#9$>)k5Exa@%IDlX_|MT}g}11C`ewpx6}FfoOdOw$&~ z1M8j*{RMDk(G$b;*YpaYpNN@*)B`k(cBA8buT;e?u1Tumc1B_w(#3L|SCzGCF4O4+ z@MY8Ua_leKwU?}_ir~CS(=Eq^f!@7~FItuKxO#HFx{CZ!q#d%~kHg14(&QKO#~#B! zn6{Z3Gt>?M3C=K{Qz{Rz2*xf!Sdbr@+YiOtPV_+1SdPcGW%h@iFc9hIe=x0`d@pCl{JUN*ZXx-uMqmM-ZXDCu zn=cA)H{A97trNrC8pXo8R6ikkENANQ4c_kc@E&~E^+A}${!y2g#|@7Z)#HtJ-!6l) zI=sB08qplrPJWjYeDZ8mm}mTri^JPq{MI*Onu5l82sx@9AW8FbA|kP#8G#>tWCh## z)|1OExILtS{&9GELqWJZ;X*k9j9+@&R6Jv>5OQLmII=cMl-|}wvn8R)y55Sku$)=# zH(I;WZ_EihqoKl(IJ+P^3`I_zLIoAlm2fj>hig^DA@Z-B&}2ndi6Tyt!*az01_~99 z(`|o&c|0r8!bldM^BDMrZAD~Wu3IZOSYZD z6{%x6PHf1!aCb9DJ=;&F>oqc6uUZyGCNY9=cOl$ltz5m3G`g<%ydhyM$A=fpl19@F zqy4**My^!`GS*d2{$CCRMbCrUXN~Bta%vF z4@yh#LB_s|K9ubSs8*8DhYcq_qYoEmn005TIM+rHmK3oZC&Pp^Zj1rkblu;bUeiY` zLB&(b4BMzLkcu+^#sw(-f-+zDtC*-ST_EzlBZmw`D75^(rc~Gc78yX@cmXC_L_!-V z1xlu;FKk3YcZA7Gr3E?$^1dTyHdE96mta>#939py^ukzFf?Z+hwmZz&HT`Mafp=}; z+>#`g<0D8i?CQH=+zbINBz3+s%B-)bGm09F4vwq?odhOe+CVL71dd>TdOkdzZ?^|n z;JqW@PZ<NUOIw>E4#W7dKU`Nn zy^5E<8sQWcE@ejjln=mffgGR|zz!V@GG-M9o9JMCl_~n{!4B;}UYN6z;QM0~^mO@o zy@fRFkHhgey{y!(Snp`Aohb0LW}*6KzyL>A2Ex36bYSQou|Q1{J6oj4X&0o5!jmVfwO&%*L4JZzpp zh4}%*%s@GSf%yxpjvuvYyl%=6vP)*OB#7lW83|VphUevSUhUVZ*y{0HMGYzNT;ULB zuvM$3pL!K?h`D=SdR9~5A2_XDb^uG3l(1lmL;KmE_s83`Nd@z}-@Xu&V&A@cx1S^^ z0x{?i9;sy`;H8P*z5|%C9W@9`LRgNEQW>KlL3q-e_YnK63rX>K2gGp2(yCFRA(@+= zlshilltCLz-z!SdLS_(AG}Bc{o^ntF_+cISyavH0rAe%<<*tFfw9jq zZ?P(zmSQRj7JDti>Nal);kaOm7ikCNZM~_Cz4;|$&&!6<*n>>Vy0r%}anFlxG3n}9 z`(RUx<_j&J{H?F#h|$`=9$sGK;9p#ScYr-Y+)9j|3|A0fZp4{tCScoieV~jJKK?xO z(JI-`+F@#F5k#k3Pik0>)9!Mp^N-Ei2$GBtHf73~vt8N9h!63#2K%;ie0E)`HWwj1 zg*gS}Iem6g!g8E&r(%&!!nm@R{UszS_+R&v-f&X}4zkr4$5XIh=e^D)kek-pfYeWZ zyaF9`GwcE%ud`+F6SqO0*0&-?sKD{#aDCmpPQW|`pzV6J-|+XBED(@*hSgq?G0g)I zJJ-QzSW?4+(4eR~pycHA@p0LlfBe`yPLHcnD18-54j8Mk&LVcIm*8T2sRYxgvDQH7Yu>?cSY5@Ky&ACcAx8eUV%&73_3khl74I4-c%X6|?=FXm< z&!^M=cziGbs{DnBEwX1R->RpPxHL&n1HQ0U|=G% z4WNeUJUY7W-5Hqqh8HO0c48MckQb(nSil;puCSmbB`g>KSb70)!5+Q9orZ5Y!!KU_ zp;zuPm<%WPI{>7X&A)@I(^asBlWjQ`mPD{TA7q0I2kRq;*eqIHJ4d+D0>g*bP;JN> zUd<3KO~Wv(b$Z8Y&Vz`BPiVAP%_85$s#;RP@|^QAXQoKCAXOxp zLYl5%aGzoG*9H-%NbsQFMcc1Ip)vm?+fVXWo|EkI>eB?R_uFZ=9>1lm#W5MyVEOH$ z{5BNg5TzPc9Goq;{Vr{wuKB|TMC*S^0n2luUDi;0I=@ff0(m-ic}j+91CbvIVB&G! z`@A48uve;O-L1pOv-nACC&$YPUIIb^9hMaGtm_2$$W(Nm{#cJ4Y)8W`ZK0Vr?tPkP z)77v;3Os)kDd&O_gw6LS-z&J?0SgOu=X#soKh_@r{?oGZTiR$gMxv=S2$wvwpR>->v5QGte`VTVR8P9q9T2gd>hM zf2hgs_$Vjn&O^stI#U@Sfaw8Pyxsx%UQRO_#st&bZ;pFl=zK+_)$%#WxoFO)M&7eY zV7d#R1THWHp|&=o5C9cnMREfqg5^2YsDBQN{iCo2*u_}thzr3| z0aM#j2^l7EjZL_N!Nkn<6Q~*BK^PXr5$k<$<7}VEmXZsWHRl(ih#%A8@;IH|t`9h< zamgN`i&-9pQN<7zt3Tk#7A9fHB38&)=aPsKS5JPJ&lAesFPO-)`8Y!J=$?)mq$bRo z7Bhuh{g43)VG*qwvKYqI3Aa0@@k5gahj^n`v?VPp&)HI7h>)@j8n~O+^WQ%Y)B88F zfaU;ZS5}7-Fvx2QqVo$U(4A)KIy%O#ZQzSC{q^_hW z=)8aiPTP za^uXmNU9;aP_LtD(iM?B?t$EKK{=vC?EUHGo}AsBhT-3ZwJZbU*zzQXp<298WkhWt z&KX(#Hp+5K-NZu+X&7l>`G#-=2K4K2I-jP^_568zeSkP~=?TyHx4H2pp+G)n)sUtV zf!&zMSoR^oV&E~6rb2d*x1dwp)U`+j%X8XMzD0mLf1NIFMoz`U9?jpjVn+bxbkF;x58!1ZdmMp|nFxidLP< zgzAWTSyIIE#e64t&rt08IlUc1f|Dv-2#Dx0Az5=EeX@iq3)e|SpHN9GLpVfpGQ$4> zjqtxK5|%+gfij-XK?_(?LHlE`O+f8*~nk5z~dIM>*(9jm+&>{4~t>ha9ukUL^VOY5lb(L3&zJDe`EME*7B0|{P zXUO!g3EOSPMQA}51+tZ@nxS%?ERR7WbQB#X^NbU1t$2fH>tdL2@5j!k|w{1ivRef)qC(4gvF5-u9;@)In0{ zfbQ{}>Yz-~K(*^i9Sg_i!G9ZQ!iph0-PtG0DA3W7NR)k>N&;D)kMYT!@Aq(t!dpJw zD||5la+a_KFO!AhM2)n}{A@8ARF|0h$1$$xCT!mIj)8nKpW~Am8;AGH;d=>N0acWW zcfV`G17H_n_^X5o+KQn$Kq*rr{)sIOe;0|5rT>c(Y@XYhGfqVGi@N%BsRjww7@$D zj8pdEvFB8iuw${bu%9W*Csi!pjO;;p-&c6DAw#}DvbMn4gIUyh=1RZY3YJF-0mBXE zMMb8bS7kXUVsm>AjC8R)AKH^Oz21(8C#ZD2-&RVE4BX1DeKB;m>DD7L9)wXq*G1Vm zDH94eFccwkf=3He)=%RG$OGG6xBJKRbUUwWs&$3BV~uFQ5%Jqj&l2YbU|uXif`ip4 zP$S;%R0CSUgscPfBULPKE69@s+2ZHvpZir!j$EboEPCJ}Xtj0_>IRv<$P%*x@J_6| zgawvjerkqF=uX3!WU+t?`zIEk->q+&HR<9E{l$a1U(f|LExBP~@uZ36IYkMO22ofu zAq@onl}ko5xhrn*W3yf)IgxsH9dl3=!aGFnx zly~sa4Lx;9TS3hSuq5cxJpfxwFQEe<$IE$1Ic#{HF32#1yz2qc>c8>^5TkDUCe-AC ze^Q5d*-FFea6>dfojRQ92wOmxD(=D6(-tA*{F;t;-T)((%+-h3U`hnrMxy|44}c|H zSiG@ZPZl4r9-0CQfJHk1byCCfd{|W`mb@NL|J*~)^78AkLs5_(Yifyfl8lf;RoVF! z4^b6PD$n>DDeoO^J95sFCYI;Zsu1uBBg6L3FZ(Z;|GI|wmXwNZp5C1xRf% zi`c@b7hosvVAf0iwhqgn+B8rDD4=-$6L&z8Se_58(vWgNZ{vEKK7ahUbBQQry063U2uLhG}up`VD#K&wELpUaVK}+&jo^z~l8zzLbVH=Of z>2O(tOGIjV(Ut+YE7X99w9z1+MwvL08rm{kV9I*L{#hk>@DMkk#*v9MrC5{{vOH&5 zeN!WdrI5UU7=NX;H!2sDy~`nrdod$~>HFBo3ZfC}RH8{6%llp@<7;|dCFe1Lj@g4j z2u=5_i!p(WW#en}b2cjr94O+VM7hc3fEoEgfZBz=WuB!ebR zHE6$p&Us#^RB=?WZ{q)%YnbWOpG!~;kMXJ{NR9DqS;B$O}(Yahj$n=9ZQq)FyFEz~5CH4dEP zkOl2d`y*D|?jVE8M;lYep!-DM%f#abc%Nd~7&P)fR3(81_rUB~IRyCdn9R{rmk^pcH^LSNF$ zCOIsqc$AS2e)sFs>;CicUd9WH78N^;QyZE(Cs^pn!VWe)+-~+-W1z#=nfeoIHxvhw z%w^KT0&)inmBp`2*UhM0{`n!(g=n)sp*)S(#dH^R6ttVUVK7}8=xwS-g~E8;Cn732#G$H~ml(ejh{S1sXi-|Kh(A6W-!hk;SpJdRFH|s}C1w zIzER3c>25nyY0Tww{VG=s31yl#EKiR87}cp#fQArf^5FfFb2l6KzK}k%hg8!V*tvX z#Z8Q~2^Q}UvCAcZQGUHXeXhue<#SMO3}KpP?NMh|&Y`1d;mP-MrhtmG z*7f&it#_4C%GP_M>>{)fY}$0Aax@}$jHyJ&Z9p^7AeUSKy)z!}3^*((#XTrx?+i;_)|Raz z3I%%6(Dqz708vy*=l}`^rAn(OuUw49AeDt5$DgO~L~({=5kX)u>xwv6U!5V6eS#eZ zT{*_M8ZmtKvMwH?(n8z!8V7R79N}%jKf{EZ$aVu&_f=y`SAU7A-DpA^kTF@NYFiv% z*_2L(qV_`@Aa^W_U=Dj<;awb__aUG-9?#!lI+r44k)}Z)#JYekXMZNf0a~TAKl8B# z=0uf;Ve`7}o{j@K0y zZM=?B;y92`RGCElcLV zFKHZ&136_5Q~!6K!q~q_qrZCyd;tRnf^`^}Eo=p|xk5$j6#w{R_>`!c9wyFQF4YXqpMnT?~qti12>-BuO z?ys-s{pN9h`o^G-ak)MrYrlY*GH~~L1quTqB*R>+OXkRF%Tmo`QU$r>Vo(MFb8nyF z4WHK0OxdgPJd?nP{W&o*PFe)dEUgydEi=-2sw@tk%b~`gVpP3{K%QCmxs#Xo!|5fM zqz5#x3nxItpN4FbV~YyOH-<%~zF~XEFwG_K>+ZfP~o&b4d-79nb_BDM>w{u+n6&Peo@cKSRLaf3I zoQdJxFQE%`QEnk)N?zI2-ECl*yao$&IXu1HK_;?^opX$>N6zG~WSz_wi4G&setgIq zotl|rQ3^&6r2|eODtiTa3*?pge~#r}5t2?~ne$a9J;LC-F^(Q~qC@xjIJ z!kwQNZ{yl!eE>Lzf-gOVMUot{sZA*+_^;FDxW8^*4*T0bAApv7ZwEz!$?&biPjk^*5AwJ zL#az4vUS@C+e5o&Aiz^NY3QZ0Rbky%fd4I*?{^^?W}{D1a3skm7ZXj!B#iN60>JC% zZNK?LYI(2b%WWw_=EjAw8ZL@qBj7&R&z-h&;}s>gT(C|JUL6Km4eW=W0J&rixX*~8 z{IG4&5-@=A5u%9|h|TN*SXP4r zm9h$XrNbOa^x($&BzgLMyVBJf*er^%@moGU zSPk;~hSOfmBEC!(!5gidJTE5*AVLvvO{e`vNF6@>?)TIAkNxqsWcWiE4fm&M%@1uQsR1>y8yg29{5b>s|!MZqfXFfp0!+Z6wJw z06)a)f}9h8*mejn$)7*wVr}bt=uVRv75QF1OCwLi`8w>cx4T+Mu=H6DG8RUc#5=&7 zY~$p3Kr3(sKbhp;dpr%zZE32eDDt=*q~2k-{i5BJsFM$$=gb2Fl#VrKZ%{Z$;q2;^|-yaHhhmb*l5 zSfeJrFa>Z_ESZ`i_dR)ZZ&R~i>y01}g-(d1t_5Zw?F;QV%+UhnINnjwl; z&ap8BXdpm7^veEbOMD(9jD(T8%tPV4yiRr~cD6W;U_4N86muGye z(69S?C^qqUOrL)ZIblbwPib!WQ&OeLx$-d?7+r#u`P=#Oa(6QMTp5{fe9`o(vGZm~ zlM0=J0s@1d4~fOu025`u^Qg(c`W}P%_IlXgm$-w4v%yXrQCSy5AWYN1-&Ems3pP?Z zmNiB3fs=FU5gNcAMUEL5G}gd zHv!ZV7z-6yFg@5#T%*akdR~wsjmr1^^nCuhH=->!S_=P)g=M=yyZD59!ZwNi#zA>= ziGN5bZAU77>{)t4{?+$X24N^zp7Xas$(=hzHEwzM$P(4$wcut)7-btm93f}3X=Ie$ z=oH6$r>Zy_^W$IqB~;YCGr&J6oC*(C}9aP*r2oePzyB!D$SCR%=b zg;wYFM5WA4_}xWSJ2gu@&h2V0QmIS383l~MZU%1v`u|K}CXJgI*iRBL8g(ZnOe$C- zWKr$yVJYG2cwMFv%H9BUdviUiJ6;zwn54I$xHJ<3At!)FscRageG#THNnwrfbPBfx zYuWw`dw6-U;vNUPEQyzj=~Xdp+)`Ntbg6a#|H=!M2?bi?W&}(FZ^5i%(!d%8=K|yd zxb2VO`ll1H0N!5TM9E^tO}N}Ftpf+RRnVJI!Qh4{VcrCMt8fB!G8JENC4U+>VQCY! z{sS!J`n67GNEPuCKUQ#gQ|cr)m$1lP11LNYyX0V@l}dQpZCfS`1eMM)`5N$OW&3!*fj z7(O737<|CJt5fvZQSv9x#;%KNI%|ihG29);2LX5-ZrN1V;O=w;_s67rH40Hv@8J6% z@9E2??+#FUTwN4U@aTQhy>EsENcb&$zQXApc!>O!qr_~Rt6*KK13pZuSAZ+1Rxk0> zuTLq-oruD27N$ou0^{`MW!SSD#@T!MNP6rkAc_use@t>$VeK4g1=`9YEa`gL_>gV= z*T4SjKNdpelC{PkY*k1;h4>y~WgI5j)vFtU7}J7ohaz`Lx80J{6)ar9P+#N+8_@tO zw+6m^SqBWK%c4$OyDNdf9;k#{uXb9_eI4Ok?BsTU|9k>+u7q3ixw6-UyMBg5XWy%pe!ua(;8$O z@s9wFTIj^$NcbhNc`w$qZg!nynXJ5k^KZ+60^UL=K(pjzIZ+{_*`B8NkH;vZe}^evspP;!q};n| zU~E*u*TO)bgiSM3iMUxaz5vEnU|$kNWF#-kRp@i;9Sy?37&;UQgB~bTikFo)+0ZW;kN?JZSVO@kk2|;q)UvGCby5>pbtVql7%Z=`U&B7If z+zCF-HLhLy@|L6;m1jT6_&D;wx=MMmNcebo*}P7tDI~qCgdz$+fgOZ@y4#lHv|NLJ z0kgMFBVCcT&p?A{dd7ApstoR~6Fxg~!lup}!GMBVej=b;Sy1 zIz}LW55DXg_ESp1I{i9FPPo9p6RP3k^L9cM;k}g`-YH@+sHvIa5z_z~byy&utAbiZ zNJ9hOmpeIjl6FUamxIQ`DMkiD%mBj6U%vJ|fxr;FV6QYTzUmQS=~jnB_D&BwFJ|il zO&6@tHk16IPB^e1y7c6AIouav4F<#K_v0Okdqy=BRa#L0RW_HH8{0#L&frjm!AOn% zXQah~u6$=Ac`4aWwufA={l5fJ(g5$mz3J%EjU;ge==m~UgTD%acbn@6G$v`?Cf!Ee{LN{AXi%8FxG_M3#+0H50GjS$X^RL{gki12N@q_F- zE}aOyShZDdH}bh($}i_%1@JwYeUiQswbb+XCFWDvwkQCFm{6jMRkZxILSt5{)6T)a z$IJO@;TCzwa0+)EH$a}31Au=4yWI7=an@8a{;ks;qV*4J0-OvpEC#zoS~N{w-_m7U8u<7%U!}0g8>E*P)Jb;$Ry)t6aYcGob4UU;g=ThJ|pRt=R z;@?{!@KW|m%2$G8X><1bxWAnC;0F$WEMsYN`a9=P;<2#%7sg`joOXD3ZgoAUaLtux9o#^N1rJ>$6)D!$zB^eTTK#the zG$^p6g;MqMTh3rTu6iYbBs7Z(l!p-PPwt@_6LM$HFI$?sAcLiFjVpGfdL=4+cFe-A z(?8Y`pVaaQR^r$Lt0~r0yzPSJ9D)&wq4UK6zjcbcS&?$^OJ~H6gEC;U1?1=*r1fR-+APoS;<$+D%-?Td}U@C3eM~9AP3p7(Y2vWHczSa={8~VII z?*F+zo%Z*T+e{LK)q~tTr_VLCD72ww(UJLf4)elYB9$vqptjqGu-r<@bDOv!jj(@W zB6nT_o!;D?$DqOYpWDjp4@Lp$E!FLR=%IEx6RA>4}^Mda3uC!2Rz$R$6}zN^kEujY2mEC z0l);T9~{y0V^5A{tRT>F2by+J&x8MSJK$YyNM&*{)Yonx?O@bmr}!Wak#^8Hfu$W7 z+5xkpadyR!gV5K*%j>d;Mh0~7Y(75SR6{rQ+l3)qi4fi&y4JCyzRTowByS~$nvDEs zR5Ob@I(B2y;Gl+Z#y`Yu&_xB><`8Up+kt60YD*CWDOy1WHJ9Q5K?W0-0YT=lg|V0h&ojq4 znu8BGt+cBnkO?*2q=b@*$X^rsaS*<#kj&@bOtY4KNMGh1kl9ZjSc<9%27l%+g%AZz zhq2VeP}xq-kYBfr+deSl#9BEid4%E&-`M1O6@#p4!`iVdwtnA*4 zK<5CO^Nbo5E(<$=5v6@*DX0i2UKNU4fOMw${3K-sXPviT#>6ywnyyb%c)L&lTA8zh z`-LOWTzsXhLDb0?lptW*iLlau99mwOj|q$}gtuh8K|{d@Pp+4=tfc6n5TB0I@!}kg9uu5Jy%qZjT*6irQYtq4$;A3Ig+rFqH4hlc)Pzn9xhL>KMwn2>|%c{ zXYlw4L>c-NY9O+1$ynS37=H;O8cae4#BX3+R%hs)E_Ox-K>oMT3okQB3HIQA36vQi zk3^`YxHHQd0xz5kRwuD-(}Flq0kn;ONWDtR9+q#qoM1fkpGWbjCUV0T2Go8QQGA`$ zy@%p+q+JDLpXLuwz4y!c_IgihJ4X$z%S|D(D(_8*?|l073ochGS3?JUS1a6+YL(>B z=iCAYZuRePx8vr=bUa?~+0NqLOBa8|prPtvhkte;7>WZVqG86zVK=h9`cOUWK+hd1 zSII5{`abl(D`LobBh}|m!2eb4InREGAl^|ibfj4&WleU0$$^g{T-%=>r_YyHRFSzi zZJ|T~l}yJ*W?KMSG8Ry@fJwMa2ggV9iz~DB7(i47Iot*bSV=C}p5PmD`+j(SKJGWy z*YjlsOWEb=J2SV!8XOQHtUhlx1(BfRw25B2fpkO$b1&O!~a>J?z0eS=}B@jqn*#WDZ zuwD`ySJ{xoB_Ir}UMigc4zYmeZW9QoZ6!HUv66}z(t#4-D~R!at<&zJDsxDrLHrm0 zXt_;u??R4}ngD=Bd>u>-_QGyL=m5o&gk;rL?wp_Dlsc+}hiI55@+ptensGLhEhRxK z$pO)S4U;ZVXd@?KWf0+KNV@<8KtJ573BwRA+sVX8&`RnWj-qf6m&5gz70k*t;EXztv{yPeN>L`X9SwV)&gM>~tlS6QUNlfeoun7W;0H^>ko zr2|NG6~-nmpB%BSXI;QEc%5Ke$9f|P{~m~gXo2DOjIoswm)~fDQ}s#$51^3CahQXR zMa-Gn*v9hGZpy((-AZcPeE{JR-&uc`4imx%Xac9ZU%p?Rz@U10f?^{RHFO!Yj`Xc$ zp^gtFEUbT~D#Z0^e>yyEUcc6bgzIdE;Swu84A4-Ml=FfW9SiW1j&WSbIT=xjt`GTO z4yMo7=j|8*xwWs)#AfC^k|WWFp}zX*?l|K?@PwuBaXLpe*(;%F_z%5X^1B>L-+uht z{*OIqf-g?niJJK6!qO_k4#0@yWJb1%51uOMFt3;!&tZt)Kh>7-N6`0|ObnJD06Ac; z>!10YUx)oA%2nJA;CKl)PKTgrM-7!0jsO|_(wPwZ6b-xu;}dMZ>OBDR!5l>o%`dR% zx%uT|QEnxZ7ZFW~e>B`6RI?3%m5)0J5BMUK7I6ostwxF}3U&pL6he==3~iF$m~UJ# zOpFw50iBeur0Mm7ueT|f{|7%Ts^NE8@F@g}iTqf@=yM*kKq0ROOQkv-`^WMdAm7Vj z^m&fx(|J1H4}c80Uor3(5Q{0X6W>s3fe0IW@xi?A*x=}4h?+kgM6N{Sck}&8^-6Ln z`G3n6Vm%^NQ&zTMK}C<{lFo~`g^mmEZ-HEJ!wJAhlwq+#X0{khtNA6fk{oMdH`*<5 zkFcJrLp~f*SJq5LPGr{&_hjoF$zMq>#ExC0kT#|9cbn_S`E5GwH_w-4WMTsK!H9GC zK~P^BtUyCuYq?1Q%1LR2r3Y0422NCZv8U8y^*9p2l3bBJ3&b9wr5a+2)6;!^YBeh; zxJfxP%$ufw9#dZl%DSVO1(;-H^$ey{nJcJ;eR6 ze=1Cyx;&~Qs?05@`uAqRBSyLfcsmlpl3bb{E)$&B_I*mwzPl+|6A#TJQW|8j#z>jtAVR63UDVZ! zc@`Brz(q_S$VUX@7arxvVDwQQq7Mn}Is$UXoa9qK-f!X|3S3{Ilf3kHA(Fem-CKU(@k;_*kuJF&#d33L!9?X-d^p5d-r1Th!5%160K(s8kXc7A5d?=pfssCE{sp>rzFO;-T9{EKNn}LJQ#XKpa60zM*~vk|@qnh2;tkY;r?v z@rAr3@5;tg2v3HASZD|2g~zeHLKsK5J6DKF0F^*$zwFE*gc?Dw)NEDEXPW5!dekaFpB#R|EKgmRvrwQL4YKZ`jySMfl7a=m5vL?4l zF-xBJkP+i<5M|Je#-|GhC0#7(Dp>cRF`fB5?)SgH9&W2NNiNHWf4Iy|fjnQN!FDT= zc%EH1)-#|WhTGwJI?~6IoZ^$6z~{#Y%zQkrjs{{nvaB-}F3BwN(&)&7)IA15T4T*; zCK-az9yFU&1FqM*;$-qEkRx_=O&6@_H)R%N_a^c2Mr9}=!34$1q8ME8x{g&wWh#tz zG&)?N^OYVk31vxFLo0tFl;~tK-~`}T+CkG=Ld+aui!I8Gu*BG=$*m3B-0zsFWm_OW z%qc#9@){M1eUxlc>-Q+UW~h%8z=D+7_wP}qn;5r1-k6h2Y#d=MpvHLT8K-EJ&pL_- zInt7?gVFF8xdbmZ!H2PwK1u9!b&h&ec}H4V($_K_s1S5G?VoNxe}A8j&!-3Y_wOA+ z;mjb{H476Yf}ayfmeqI_b|HP<1`q<#nbkrO;0-!jHI6j1WFe^ELFle$G`*4bsUT4e zF9u69#QU>^lj{te0wET@C3*tnihZ3;{-VTYIr1e6gp$f*&2jU@Z5R=1!|uPt+MFo- zmLyl)s&qJ#%95O(@hiQh8KTSLxFnGh?~Z8GvG5!4@w+3`dnOdn=^dIaoM2jguQ7i< z?3Xy&Ec~3mdSsaQLx^BEm7!TR3nI``8I~L;yJ^Fb%zm04F1cUM$@qn@&I*aF3Wt|w zA%zT4r%NpX>p)?F-5G@?>9Jvygs<)@Y3{iCMS@vj?JSC*oc=uB5>)zb zBvETkdG@5oI;)ux9z)1gm>MNC#Bu!tBQFuf%^23BOwlxHWhu_oXn@lG-du(fs*WY~ z%rb1+GX#_l(F+VEnbYAxBVN?#CJqWdxByzF9wq5ysiB5Afk6T}{p*9jJ7>8!3n}R& z4&~jk+o)G#`?HW1Xr4W_I7cd3swSCW_z;Eq_NND}S1{_?7qE+i^ZGJ3vM%Xr`t;hU zkeskg-Yko()ji9&{*l(t+mmJpXBz&I_rvsl*gWnhl)2uV7DG6?KHQWR1h*QaC?Il) zRcQmUx8nW`dwZ&ZSV~L_=HH~-<7f+Ah{s*E8ph6>E9zx0rj>dmjD!@3Yi#Cuzb&-lG}kCrt;0Wd{WH{2iUQkAN$+>a(BeIZ`Y3lmgkN@xqgYZ#~6tPfDk}4D2+%x z4b23ch+b>>Y{hhYNHI$l0|MZk_;75$p;YMf$9}iHF19qH@eHxP&^(;OVo)BEUO!=l zMhT-H7#Rv$OY_oP%wc*$1-{b}Bgrf!s|+k$Mi|l!AnDE1{&YumGmDLI)tcBFUUb6I zwt`?v_`mcn7^L~L+c>MCfMum^Xvdu}9R)dI$s!`8%tKf5<@~wsfteeqsgfdUX0@7| zgO6l^kc@@omPP+I7K2P3%}E{7%?`$oB(oGJ%s?4JY9Y6eA%(v?F<0dvsL%}Ms`YIQ zq-17o^jni1n!LoT)!0!I&Qh{2N`oPKJKX;H9(J(5Jiv(6dvQcjmge2bn(rw|ZZjn3 zJIfLR2$#A?0Ik(({zqItxnfS&$Ykxv)4l>?{Tt=1iZ74?A(9L&%MmnQ3nsZ*0W$&e z83f0G&Y(xv?xtp*+_CD7%(&j}i1+2@a9c`|zF$f)IS5@Wr8EQI!CbkH86rols**0c zg4=$2`TR~zy$nK=;#YjY?XZs_e)-Yro^ax5>Np56W<9E>CoimeefjUTw&zl4p_^Wo zLK~#Iu;~Ca=p7AAHCjZ)seW^NY-^!liqj@|98Kd&j#IGz({VH1r^{4L0So%{xw2yG zEtr84F>T$jVUw!u0M|5RY2UMC%c_Lz9m~g3rq#BT$ZS4!>6rE^8olb#e7oD>A-=0X>qj_+<<^qwT^~>+ozu!@61hQlX2J$SD74d_#Y0|4`f8)X32d@f zx6G4vmg1mwM0jYZI>z?=BHx5{w`WgK=)c!Xw}9Eg^5~$$-RGg4Omaa@O6-GaZEHcG z@|~7m7kA;?U#F+HJG4pm>1WLyP=5s611?|Hl_2r~LXH4}W+nA8-uqku54v% z;0h;_jH$y;g+&O2crS@{)W|-};ywRKD<`+hmFkh?0}YKBHN(h&kCh^>?AgpX9GGZ6 z&D+tnc^>#+5dnuPhrn-U)5fQYo155Khx_}_p zxjwi7(L~Rlbg~o&r-RlD;+cM24$sp!c%EHQ7EttrU&M9$goRLgFgwiy934GYGus=U zN{1xrNhwQlSa+`EzMj9PaD%?~*V}{Ai`e46_2DUeg$jzLXqa0_gX+dU{4E4+$HQs=01@cD`(wE83O6Kt^?t|`Z7a6IJPItb$EoZBrf=-d zHufZz1y$F7^CON_CDDJya;<*iI~$; z%`UJR2AW5xn&??GEV^PT$`){poNWs$^Q4=ln)wG31Gpm;BCdxh8+x~xQr;xbR1)M>*;)6J%Fry)Jg{p3uPde(4mWB zeVtPJSj5!y^~n{F)gzFwjBoHWRw^h1vv1Ts1jh4#q>MK58G0!@ zv{$M0yd*Rt8W5j^*|tSM7uQa{x4^MN(hGfU)M-UT({*}(pWYAG?#SchdnGt8Rx$y- znz<2NRt-G}i~tr9nS~+N*-1Ggvs@HwwX(kXpmWhR{p5kUUOje4b-FkqcY#9I{d8P8No6VLDx(8V>vj6dZ}xc; zG9`V#`@%AS5e#UaoKe-?!ao5)D7Ige56kmI-iFo5^mOou(sx2=lFU+FK<;rmJxwsW z@Bw)4_w0XBcN@g4+h=RXE8;<5pH=OgoyXk|A|}B_4{rs|;Yl@1`Cbz9bvT_*Q*44g zz+ZB24~6wCtDi&d!fZMPDI-~Xj*)dN!0F}`fH&Mb1@ggMI{p6wWM4;|2{%$~m~v!vd`Vs#yh6D>-12%!0yC zc>vJ8xcqz$X{5dnCtLDlvUCDAiR~ca=gi?Y~Q<__Q#fgy} z7Z&3O(W^YWUiOGMto6#X8;Y(){OYoho}#brXz?uQN5Nn40k`Sr@qA}mXD@w6S|_FN z4S*x2U9fr+OuuCDuta@@T3Rrzp8qDT-qY&q5F%+^yJ4+v&O~0=*gPdz1yRJ@Oc#46y504 z%_9qeeY6V;W+4CN=u;NeI9j@-rOWE#W0-J0U8Ysw66^Fb09@i=q>fPq0gdC6uyAET z;7hW~o6xa%TSHjG-7!6*LlRk<3w7tJ$?^QPzihr<_qT*T`9|4 zIAD@_?95y7q?4r!C@Y0M*V}a3d>xL*r}IA^g!wf$5T5~+uj)o5z|rlvq#WI2L_z>$ zT5$_cYFS$L60n!^@yF)r{CT-TAK*R+vFroz@>SIb_+)(m4ItYJ5WUz3=tTddmZdou zH|r%{r_=NPvZ~D?$qw=0zZh21py?g@1cQv84y$=-cx@r*P0J@gEGt8bU4Zw){xYqu zKD&XI6=oOvz&4xFE-kE=e8D3qY-@VOq?4s(ja&jtbXlb_bcZEz^lCe7#UwYpBvk2} z@>{TOBTr=LyOS5@YTbF_NA$wa`{^05C%{r#t=ytC3jURPODF;o_Zk}$3f~?O#CCAI zVPunQ6ArzQcu#3#jS7u>AScWLps@@mEn-iE{Ra4?$-Dpn+C}XF2UWP$z#D zEydN716EuVi{#!f=g0l;@B7m~_s8WJC=FjPFTVkyN0CG5rhEm1itzwEjQr!$G&=UM zJ96DHT%bj^C+q z+BP;235%8tnIH1OTx$H!BOy2#h$u-kIO=+uC^dmx!C&9%of$@vyC;-|ONkB^-eD@s_rOr}s3q*ic;mFh_*OY1rsg6I6l;e4DPj96h7rmT3en^gJ&5a&#g zpoMOdtC}w{3Mv3)=_Qj$me#!z+;RGX*;_CVTIi2yd4@0%~NC`7bl+OOr3s0QF zXwt^g9KQYMZ+}t3l?4}|E(k?1lZ8Sl49{j7WuW@&uy9f};1?QVq>iO^4~h8ndAS{~ ziI8*;16^Ublf+kgzqK=fu^kbT7y_~#pS=b680^G1cr2tXHKbrq8d!;RdEX%6f*L@Rtsz{-%;pEt@Z%l@)CO6(TJ#yl|tnn6(TpFsQ! zk8|f{jjRyv$8m0r%oO&7I{*n1$qG;Z|Ik6GwUZd#+DUZK1^tsCmu!4z6ThI9Rgz0A zKIVRLF^#1g@g>8u_(ZXB5g@H~Z~5ewZ8eSvUD|d3_s_%o=K1sVvJXz-`upYHMJh

jE9@o6JDW{$PT&<^a;^<#f}TBrGEWGHuP z;gJQ8pU|yMjT(?_ThKZ|lJGbq3%rZkp`C7%?4yiHI!kl?ceqCQnxRIdhSj0M3UxI= zZ9(ux6Y}QAZR80z*od%a#IBzpG=h;(jHC_l8=Xh%lv}8OGj4&La={dc=vMicMp8$L z+tNsCfF#CS)U7ryP_=C_R6dm{NIXl|0`NFgK91GPBF1-vJAlsPpB{w=2NWJmHdWSd zLE*DDFl8^S&M}z|P=V761Lk`&_MRlPbj=xn)qEFd$pmYdetn}{HUljMQpo45UJa3I z-mtV6%n(UtX-*Vq{n;)!G$6^Ddy!q8<79$x%kP9Mg(&rIiUT9$2lkUOPNjj3n;@sm z$pYA|G~te6srOE|G9LglqGBGXRCOysv3?lY1nITIRACCJw-5No=pmhqwXw6lMNN@+SGErHzK(lW>QezYDb1G?+AB7l@%tz9ETxv zKxQ!A+4G;YcJjkxUE%sZ$}fNXh5B6i25f}*t<>i_BJmF+JbTZ{8lc(N&j0oQ{>T5?9RKsb{p)|m9sGa)@xKdA)VzoI8d9ab8Py&;XUKg6 z^FOi}dW_GZ=^D!>XNwykpX>@lG(_6Z_hl@TJ%afd^Eo61tsh8tm>Y@rfkQCq}5loa&3$E2R6 zId=oq;71nKeM7gPa0Vm%|Kx{DUv@%qX~e#UsD0-&Ta=C(eq-&*f*bCZ=}0+CbM{6q zaXp_uUyjo?grgVG&RR|@(E|YCkQPZ&>dAsOge!o*p2D|R;q@|+>%%ffIrl54Y2b7w8sOAlkuSrdM$XFm#Raiu%U_eW{O}gMb#vs zrF}0Tx}t^zhD9MNvSM+vN%s^&L>YeNu&%CgL7tb$Cm}cR1H1MnB(2tCoix2Pov+?HHu`3fPrOe8x-JO{~hf>^N* z(Nc?Km%J`d>nBg_xt=I|e~4Ge1}%Pi(lFpq>Nu!+=%tmPTbIW4_C+vyDH#$d%j*eoYS zdE^d)rTL$vJ7Z}5m1<(tKb=0GUhgTNrfXx1!n9(lM;+}NN+s3ccER|}Up0n3hLwYc zA*p?-;x|oNzoqrp1x4_`|2!N)dEs?`czM08H7ldd_k|QZ%)Op9ydeZFHW7^67V1!P zlp!`StRRG3^pL}JDvE`0u+;wTDh>Kv>e1L=WuvkX^I&&pHR+vWWE@vZo+ZM1g#tOgkzfJ|G`8!WgQDG9FU ztj48#S~{O;_!l6r-pzKW8RVJ!F~Ot2fKJwk#C6L;t|JZ7b49eDu06?R8P1zQR}0tv zPHR3J%wiTVce0IEjkL7#F??~$koMuu>f8;<{|*`)(N<6NKyq1zQ)cqYkNeYWxar?m z`%-{lYIu5_ezqJR)M(Hc9~58@o0cwV>Fk|?$^^zY*XiSYJghXcnMlz5L{XzD&t9yI zjESf+R0%RJd{DtIakTV8HprTAk90YZF|M9`Ea#cvhlhbxA*y*ltn2%-woBj7n%d8z zZXOx>uA}V?tLlPk^gudUM)2S!oT;>7+XiB@kK=B0LVoAH_eyJ|DoIlKZ8(ya1PVqw z?7U#rkax+LNDc2qq|zb+|pf9!@XU2W1w?wcYvxwSfDB!1Xp$^@4HU zg)clmTp5vBzK(PtMr);6!JE+zn90c~`w!@Py?h>@R?^(=^jD9=3u%~qc>rol;xuA} zLZM=S&@^qr)J_&GeG4qp1Bqmrnw+8FA)b%H&`%-Ox!!xcu2-#%s~2_uT@s#ES}g#& zG=F`iVtJ=g863iI@~=+@pL{ImW?-D-F-8d4)$1Ob7OOhxEL3KlQ)FqRd0VEgb>=-R zh>Y8LPd-=u$6lBt$k$5y@4P?-y{G9L0=pHV>rOsyxo!ZViRL% zc?p=iJpUL(N3dA9gv)J#p=u`z>S0Q@NFmFV67`k1@*{Sz50|B+kv-z*PQ|uVw{Du( zB6GyTbAvw0Y#_xlQPKvVj3P~tuou0_`q)wxz{qHMPduMg`l;J3*Hb>zLm`pE?=<^)hD zu_~1Rx=teM3=%D)jN`)1f?EU}AE;{$%)5>zcI)cf1DHzL)H(G)LRm&t=x#W}?c)T+ zk~lx_8%DI~n@YpT@>TD8L`X4`JYg!>Zs1wC$9|o$b(;u_Yz@Uh52Tl6IM3=YA>mld zZp6V`QMRB(!Z~dIqBAoNW;QUDK}=7|!1=Ym z4(DUOEXPEooMm*c^9UWsRjqMGGntP7!W|Uuh&YtCZ%U6j1fycd<7Ci|g@$7*)&~to z+nQ2R%rczklUW*%`#<)Vz!#`&`4uNE|OhK0+ve@DBm@HB_?ZwO{!@Lbw@hB8v8md?%&V!D`2!?DdGlTG3 zMO;dQV~Y9;?SQ;8XFA~QB&bNFviaeUd&p1=e!0>vgPDR*dryv`rtBH%QUyH(U?!yP zxqTfTEn;d$SC`PkW9YQu!!F1%bGm~dR8!o=?F{AI+c!AqV^K$pMXe+vS7A~%5tV48 zg9f|LT(86|NA_m3gS^dbtLP}mL7U;PY{JZAk(rBtC@=hyT`}FXjYyyjse)uEMX;8z zjpAjGw2cPS5w<~onsYbuHg2C!IGXO8$1odK96^yqIIDAjfo?-2&q$as4|kaUR|xLG zG!>6}pj>BUZ-*=^`Ds%LS`Hwn@-!U}*W3AJf^OJyMO`6q*q3k)6Jn*@P^vit203uR zM3gdE#T}1<691fJiU5Genk<%S(r;wkk`=RXBASdtzWv zy|FMPnXO&p?FoVAP%>wrr&MH~=@pZrmNB)6A2_y;LkP1sPy6@%?eg=%*hLO*H`0!& zLQ9lC24c$q)h^*V3{GOP*p&$p zkK#fw*vPg$Xkup=h#p8*%W$>{=J=^0_VRi>d~dKP*Rg>?Tp%SKzrJkrfT^o$V6wBB zo02XT>)@SM#X5-^84Zwt6txT|YFLtCe%wzGOnigHniI9z6$3zW9!_fO8w8TOXo3uc zr+Q%X^rEUltUUq~!IHcj9%(k|=DO4&Q?ryMtuazq=Tb#I zltTJcDGKYolj;vm&Vzd(Q7yx9-VHKtyoZeIwVjq!`8_*>g}#$fs=h-o znWF4}$Musd9{G4!X#B|mBq78-R91JmEvWm2|L)eS9TvQ>Ts>H*xHEuF)TZ)9+lgd_ zTE>zdNK?yn@#!I>!GUNiE`UUl=5KGMLs;d|EB1zmp_7&|_G4F=$J(R_Ot z>{Hs+xO#HL9Gs5Ygb>N?kMGmw_sz?6TYmtvIN@x9!VAmjR#D5VOTZ*zM%f*0)l(!1 zW>mK0mBJ3l74wk}7|6jD{c+si5a6_8fO5H=zh6F3ujx4`77U=FEAq8>mFfLAj8ak#EQDx>9r zQL1wi%*&&VuBe3Mck9BzI2aJ4xuhlb`ogv0Fu1h(5sq;F&A58vjJf zL}+1g_@x=DOOuN~Aw>&er(`H0f%-wdWhBXFvJ5Vr)U%AQ12>5=&ozWRFClbGCB?hZ zKQ}uNxIq@<(l*BG`#b7Ynh>@DSZ~&UQSthe07NREc>a^NL2lPq#dXYp|GeQuiXnv! zwVd(viJ;~(|BNe^lT@?}ALo!Q=k4_zF3~q^W(lZ_RQb$DYQ#jPq2`7eVEQye zCW>e_efvZaIgP zfW+1y3aL5YB!)iWf-?e8dc!27Wqbu$K{?dR^mB9l`Tl-BJ+Gca7qSv1V6^SkAyNVm zTTFw2`Utx+7(UeVKYm{rix&1k{@3>gyZxm-#1O)Cn|*8#3wj0pEp#su`QL`s02fJl zz4-`vyVwTFittndl86(XV15NG2r* z+og?=JFe*suxB8wp4NvXusmRfj)FUz$J;g|4sptW+m1#8C}_SR%0y~LM;K2QWug=W zk(!nr>Q*HOJ;5HV;o{6IkC?ibzy*F$R1E3msLy|4ft(nU`oq3ERQ|$ZeJ%9DSz<#UP{~pv7|i=jbp$OId%cW0)c9s5}=Y$GafwbLC_vJ2n33w@C-hV zVe!-Hc2|KUa}K$@Tm)khXSlYjDo(u(7ZBi#Atz)FCJ{GLs~13R&UO+@64$art+oqA ziNF6j+x`e-i$L#gt+E(=twd3~!o6E&&%C6*>rzsVkVoLwcCr1qB^P&_aU~c2%@qB)N++SWuTlC(Pq6O<&i|<%q ze4?ac*Lsc};ToWB6m@F){3C6ka$;Bw{WxE5@2mM_GW`(T@KPc`w_rq5ti?4$dPh4@ zUmiLFj6UcR{<78hhEiyU0zm>=R;Yiw`6r1~dc<{SM$xcgVMeo)>>>>j>QReyL=RAa zq39Kp9~O08!oZNj{pJyh(%;DJOXDvv5F)yNRT6^x19uBsGscJHhAEk$c#Q$A7gLT?>J12haDuW}A%owGiRNF@2jhxw2yd-g-iCl}1ewB&I=A(g!C zL;QB${Jw$m`g%!yEH}Z&ZM5C(fm*{LRJZfG+5?ny8;NYSQ^mzf*$gRYSy_>WAwk*x z7Vggx=TtxMwx^YJCO-s*uYpM?K#3FmS1gIoq{cBk&Tv8U+T;Sp36w8-j4Tq+vYb(q zWx(Fg=M+k8EX?s+%8Dr%;yvO>_)liEA!NZmf;)zB3B0j^4Px-dp8rHI;CrzgiD+3_ zb(Ro@_;o%%U-RJDb%$I{Tv~?jqQLPO!wIL=&Kn+##(}Z6OdL~ZtY?VG8Ou79hPuT2 zbUGbQFAo|ZW2+aaiiI2#rETbB1hDCkX$RG#jt|yDC!r_xENI5fRbG?0py&Vf-~RQ# zH~;mYoAdwtAOG6?umAkle_wyduDCzEyIqx3Bn+(s&pd+m3(yG)1TyMfXv1(?DV}r6 zss`mp+F7<>0};gF>u`F$Ut(lpgbYLtFW4-|dRDF(S)^rGGX=mAPgStkA%I65`eNLJ3mOvYbzYDGj(| zXfQoTmH3sq9Q>3hxe|9Q>-7t06964TDIl>*G2a(u`mrc>JId@nuAjUyr_^Lp-;WT7 zzJz!J>!WwDu2r`ND-l$etBJ)ilw0l(>w=P%zP~XxzP9w2#PyRq=9C&RM5q}1{&|5K z?{|udToD+?-a}x*eHg-80l#pmbjJSOA#GJ>0T@G0O6@`Ot zujk9hiu9TcE+crju}aI74E8e1N7$xS11f}DAl8RKF~oF2v9^GSb%~;~mJ)y zik9UQXRzIex+K%(?YjRavz5z`@Tx@9@{5rK2$f@-nB8oYAT0fG%Ij+gU|c*oVopOr zfDN3%)Bbt7Y#uMuy`j%>`9)R`Ts-_DkWdYm)_9#DE07_jv<%ocS|2kS{zKf{9=X+% zGv-_rsI5y4K&RRg8j3jyX#%S%dad#6 zqqmLAFSzN67ka(zKVJ8zbvKXR&_A90Q(lCrDb&uT9;uVPp{MM zw!fV3_cVOLuP;VCnEDxuSRRGOjMu?Asa#n}y@9TXSx?zUkd&6?`Xogf<3G3HrC z&DHlhd0;t?0zek?nlxfW-DvA5RCIG;u+?exJ^LTSps&O6@$<4mS&FwOd^j;OKfsGB zuC7fhDD%2FI8g66K?W`}l4crx66}FAk(?kAEz9Xj`Sl*B=kLuycU2u?_P;e*$q`1v z1h>biCJ2*TVrz7I+u*Fz%9-`gK(i#?cQ=D9;kn_H=dWHF9Apn*7Vk7pG@lnqD6_gB z04TFcqybk>Dq7a`n4hovr?=^{`q`PJ69YvA_n!$4qI|NqVDUjU5lZb!T9_O@Oa8`r zAhuL5i)A=Fma#-!KDph3cO>jobd*NDsN%=)A4QX87N};SXKi?&0M+2 zFd^k@5x!}-ABMdGj2T!Ef&WUxG<9_R1c_?df@DRKtuTw?X@6ShI`@c%Ft{q@SKGvs ztTIQnbqP_Rg|Q&F#(+&ezT)N~gk4p?88<+lmk%?sF>_bj>+AIVb8|hOKfas&&h1F9 ze_g2-8#asrD^o0N2KYg@nYXwDa=f;VI{)$x5L+g@TiDPR5c&bLpJ#~+hy{La3*>o8EYWm)Je*Ize@vG@4lwxk9=N8;UN8zJpHOuKKJ&c5@L~qQa^#l)9~J3_ zp8XKSucHnrNL$NtuGp{MBR0l;Mji9vN)_ZdT_cp?Hz1?Mif~HwYd~;|ssel506FAQ zcTVBYVw=z#K{B} z7@eq5IjCn!!#@nQHoQU(1|dM8M*lNV+p#x1upc7M7eOlRfjly&TjB6q2#G!})8TUX zjy6&SE&#Tt$gsZZ2}G21tOWH5pROmz4B`wtB&A0{4w=)fu)7WR;=1|!=ixMc9>3$! zK)qu=2J&c>&D0J7&5=Ww=HVU8*hC#+PNv8kldRBKun?0^CY7z=71=3JR&bq;@8{Fz zM+i>W`2+EQ%b6@{l+30!iA~b74+jxG;7(c=83Fylgruy==RwQ9?aK&K+Om8q3kG-L zVr;cs#i+2fX0AklgUIaw(R_b^hFa*X1~a5Jm&uDLvw{C4fJ7N@(<2~%>?)8}RKvb( zz(_1CJWm#@HSEd$4?|`DM@bf_D`F20pf{Xu;3X8g`{adPQN;y}PWbnJOL|n#YY=Y+ zj-G>2K9#GH?Z|Am0npusGnO5Y|H5a)(=Z9rWVXa=e?ur(Z`I>!+{+BIdMU_aZLXj+h>mgST;tiXW> zLy6$&0_U*WN|NLUYAJQq_rZ`)!n;LuQ(sHH(@Yw=j9Wo+TGox#yM=zXgzljFP3QPfJ zgA`t3M0+>fXW1K>9QHwe*jE+NG-!1?y&U(ye@#&*Z}C1!x=)3SiWYoMW4(=0`KSd0 zq_CZl6=`NHg#U6=qt}`gB&B6J3ogA0u?4NyZzvax_1x|Jnj3vWl$67+o-?4>#{k3$ zsaR_Wg@>TK4uKr8uQ?iEO~s$!Xo$HkYMMA2Fe$ijspL*8!RosB$;HrFcxUWu~F(BTz>JEkkfLB1FS`F~YMvOfJR|a_r<`B%cLexm-SG z0e@}2B#0``QpaT!C)0RIXc~w}gPyIBwf&qPfHkU9*&+okpa#rc0g+ydcvKV+S6aWJ_4CrA zAqm1bD*Uc`hoP=^EwXF+&lubn6-WCLyX9oYR9Wnd)zgABv_{TZ%J9C|PY?k(U1!SD zdU3QEu^J5Kj1g@*t477*s5D?s4b!|&!-hxEa^8&Yq-7+eHS$q886x^|{ybj4rNvo| zm*lgCYY7r*qAOb%HQd$V^rDRK;@TapT~!wdj0jDayjzRtzGBZN6*YWSd;|y%>LR6k zd<`J&6Ju^z#g*oPh3j44uuCk|RCvuar?{r#rKrnvD0z`&MWa&_#4tVXL|a z3w@($xp%bVEoEFvvitWJ?j9cL@se5H6t_)dLt!z1N2G_pKK}UY`Bxl6U$aB_Cx^P% zsx_)mM!6c>8dDSV0INyINLkGiPx!1qv-n|zR#kM*rij_Jf}Fj=HvsSW`2h2`n=zed z{jX{hfI%#joZYrYT-BT2Kzhsu%*$e2;F!fbBe02RKE3VCr%6Hfps~ShT0u^W<%v~@*O`RyUMSk8 z#3B^!CZ82DUm(yRC5rpx^92hVRn? z^ZElo4G2wv7dTx3yPrLA2U<};s0atqfNta%{|CG?X1$*J{;1PvHVP+1@zcMnk44hvGMIRR=jg z2WHm_a_kDTdjyO=!y>PH!;?!|Ch%t!y;)mUBx4HCd3NcU3Trx{{QaT?SbZ|!Cs)j^ z73A2GVNxfn<2_PT1I$C7N-OvWBi1!tuyG|8>UOu}XN)c52dM4DYSwd_d)C{B!$}Acenr&UJ^Oc=JwL*?nVxy=HjkRe$Pqj(3NF& z8Vm8$@{@B)rqT*>+6SWuxc6lIe>?u%L9^x^tv!jlw8{H!Y)CMrq@pLC45+Xw4l9ew zv@R?K5w;-)pcAkYt_FTo-Utf7-8-}M{BogAUgS^Kvd~fW1fx-fZ2x1_>A47qkkKn| zSC7Z7m`y9lksqw403hu4dOSTJ9xs=d-KXc@K96a5N>NMgDHcN&!g(=H2258`N&oj; z5pqsBa9HIL0Ji}sQH6ZfTvU;om6HMH)CzL&2fM475`P3PvAlr_aMQyjO8gK_iVFnS z0#Whk%E)KLP20UE;n@Mp!I=^QeY*UlTHMZqN4{4W?Iy31cKVgV=tQ=2ZSJbQ>GcK; z6KVz5!q)-tafBZI<@pZBG>pGaHN!pAFN_yz!e0W3KziD4ayBWDh|Ki*iM&8TPZ)AJatJJIu?KEae)LC!Lj zcJbl-IYrXjZ5jbu6vai@v!VDgs}{JWL9=jnby7HCQpAdx5~=HQ#Bp_(X|;l!W^!Db z#_9_4%5B@BQ2An6kLZ9NT9vx`5HSR6PU{*XT2VWo;!#Yg6}o9AB6fWj_Zu}Gzbll>GpSiunxmXPt`fX@)rt>|nkLdF@!28E zNg%|`ff@aAywfNaY))+^mZt}LifjNI&;b2-J-2aPG!a(xhkdc!7KQN;JmbUj%jtTc z_TD?&9Afh%wmAwhm}%o`8mq*SKA5EU5;bS2u+G? z&@6ELA-W@=H4R8)0CB?dj%OMK>WL)Q>RL>y721ta7*s!AfDPmAW%vDXyT5p>UNerP z(Zv*Xn2#Knj>mI*v>d)-6$hCavuXu7NV8Be&>q=4v`9uxDo@2N@kC4!gI6o$evqDJ zhV0qIlu5d!W@RmQ3Dnd+24Li=rU~*(W@4=%r%*n$zEpi|eJOEdAT8U<`qF-Rg(COR zwK$knE6C}Sg8BILUv^*r{KtR$pMUwwzwDm==l^#vJB}58(aO49cLJV{hCXsqjb-%} zZiR-GC{7Oaku%e?DBp2F$IMzmZeA+Lr*F8}`sMKRx6|>*4j%Sqlc26pRDgpP2M!cQ znXh>?*$U$jlWm*CE7Uoy2;i0w!s?l5`+X1U|_SEE*k5{FAGsrdvqtWZw)AbCGv26XuUD~-!~}^hA?DR`7susy|J7`S=y9` zw{-EqIP)R#lVJuopB+G(6PxS+lCMocj}zOAD4iTGNoaB5AUp;;BzzT$W=5^&LyDyD zPjA$=v%<@@*_crrfd-{gCfpbva3OUGlz>`Iw~Rz*?;D$z297;^emj4AeosfHAq4Qa zRhYX<-Nw31$Z36?_S!D1aDbQ^Vh7XaG3nx`0T~_;HIejk`&FKv(b(2IA5t>85jYHI z;BpLVM>Z1zXuf>~tA}SXM;!9Py#Xmks5tIbmY?13EX_XrHZ=0Ey6d{Ty`1jEptLLp zf}bS@b;zOR3eo-4d<5v4!Qw99DRIyPYk_iu+B#s;Ch_C)DcJwYnN2Iq?JQ;b?|Fpy z@w(q6lOy@7=1i{ZYBkEmV0~JyO=}fx%1#!rS)4MNT*ob>SF8|wUOD`OH1TGtcl{s} z_4p8eF-1!Vr!7r$XH(Sbkj)M(Wib%=Eeu2O;c$K9U<}B++Pcya*#FKFEz0|!FW;UI zumo<~l;Zl;8gQnu`BIvz-7ILF2zG4KU$ak+peFQlqwxW?m;9p~K)_#|43uB$Y4ch(`PKdMk#=1ZY?PN zEW#%%giiocNGt{2$sbiiPle%6>Fw2_n@u(gUIrE;BDBJcm_pBts9{hO9X??u*NT(u zjxoXar^7c~e)#Pkog%a-LyhlnK&%2#CkmgN9xE(&%ywvoWdq3uFT;oFc*yWQAXW*w z#};Vj*ou?nN1Aho^6>a_hl~V!TXhIWv2!LC>Q)s22_-(?~%hfjoJ|7R8Gu&l(wVD?|aX;cqI%NmgOIE6uW61=*zr8nF;F*^=MnO!T&>7`PJIA8WV zrMDk|BjE?RuN%8BTAvxmsjnODm`Q4AyTKVq*b`d(Gns6wS0+QMU>GyN^(Imde&1?6QV`xGxrlXTZSD`4muSF+gT8o(}Wi zGpLFihOH_)WjO^@Uc{&45ilx`Z?BgxUy^IkA94*8SB!`G{DYr2;_8*MZv7l`RLAsM zv059&G12jJatXXT_AXYa)+NAtn35TESfPnabmN`e=_15%WuVHC2QrUxDs~I(m*wK9 zbo!JSDp=Wa&#h&iZ(jkvB{xr3-E~OUlVQ6aII5P!GV>JnKo31+%hpV@73KI6BBmkl zd;M{I{tclv;2rjxuNnT(dXp&<>)v=YwNRc%#KBPywe1S+jfBht zg6-0aRV||rIXeBkKVNnlwzJ;r&R7Y*^ne-4o%(Jv9cb1b0704p;}p}1Vgv-Iaj-iF znoHFXP|Rmw4{a*c6ZQ!7!|z^>KY4m%ox)jw@7o}cK0?!?OmPz}O;d>5Uf;`>w0rs zj#HUsE6NF)@(On473|Kt)Af4#dQXRxk!)c}eUkwn*LqEIYLI)nWR_-NtAbsBEFGvG zyoF|BhTcNx$00QHY{hDYRB_GEhsSTf>h&O1^ohmt4Rpz5h^AWj0{3fiWut}ca$3qQD)%c*Q)vYJ z^dx^+m)QNvVJ4i0OQ(iyBCo%o5BPjKyj)i44FWXDp?qI)MQU6|qiC82205-2VWCTS zaLC$hAE@2l%q5yl7_7By}`7I_iAyP8yd1umW#p`#*8}~02W=9-}47xH|$49*Kf&ly&S;i-ya06Tvw(D8`@1; zrhxTn*h37HYW$=9JVt8))>RK;A!gQ!a(rpETe%&M&h_Mmj)-_2H!GJ_Mkq@zn<3M?y@m73KI+CSrhi(cK%U7Yek>-g>a`-6c7gJ+ zE|Gyv=!1qI(`!XJxMU%Z2aQju`%ZoZWA3ZbVuO%q(Uz8L&pGXL+cE_UdrU+4$9t+P z4o0F~h1=y*u>Y0wOX$3yI(oT%x?JDavXo`fdrR$nUWKT=Qz@pY>Y`(2B=`t%pAs>HrI z4EI^QH%VTD2=*ZxjBxjEts>0|*80s62Au3Hi;rw|_#I8NpW;7uEzspi6FzV=hG$Rgp1M z9!omFqC-ru73DmQAlQ0)eZB4elfFk3*^F_BMI2pmox_M3d~XyM$f56b6?}+$#G}pt z6Kh4ehXzM!LXILXhi{oEa?AH(5*liP7(MF;Uy9TXZY97vpovc5taHFa(h!c09s*F4 zxB>QtiMFB~2|^?nxUe6)xAWuSeY~}@HHkrKIYD2iF0*h+;{7Bxv}!^e%zbH8cdTsY#rtq~@|MJe1=Wv;?*2X^yD@K0!7K|H4W1Y1+%dRM`1!*Eq9B=>Riq z#cBvhj`68Ydc{$12`Se(8R$@3dd_t$6G94@jChoq#&4U{@t4&>KIYeo?dG3c$9iw< zvxJ-#u%MM3vU`erETAdGIIz#WRGsOBGS;9N#H3nrZY@8OqyE#|>3Y2VYFzw~+mdd# z@meNtOt534vtst`C=Cwmb7wiVTKZy-kCz|k4S?CgAta`*?DVkg%xQ*ZEUqwhu+QB? ztgnO-4;U-!YP=-Zv6LA-RQ9-Y9LWCZ=k>ffH@Oty1Rt$gM$JL;>*QxelFukPtjYtH z;(eHwE~=twv8m@!#MPR8Cy!aQqMTF$ZNX0syhpo*!fExrY7oI;Cyf6}=)s$ZmXchF5;rp5BiX9ptyRscV+mCT?uPi^lA1ODp{#wTun`@`S%LeFl`+?v_bJ8~P=fX4)sr1yqnSAisQ-G8`|iH)$DsrnY7hG<)}aJl`wP^x zr>xP;oduZKI^f4z&*l7jydBP$-7mZ2^UHeCaH5&XPzP=HArvprFxSB9nF*sG7_d)X zXdjmHr&2_$J56mLAh`kCjC0U2A|Iojyuu=G`WT1v{m~7>vtv~^37Npk+(XA7giTb0 zhWcqgTO$k&ev4SuICCta^~k8se2Av@fG=Rn8wlQ=CE=1Q=$n|?B`=p*cjifh28o)3 z9yPzYoT(&;uzn6f0(0>MzT9IOw|X)v_0Xu(-Y( z@1e1!5dwvovt~IrHaVI?W@r3-I=^RbuTH#hXf>!zO505iBLW5HmQrpVf%|a@+kBt_ zfx#y0;rK06X93`-^2P=cD9^{k_09(3>JHEYM*T(+y-24o}FOIljqYdo~2wZnd+4|nKjPQ{4nzn<7 zcrxLNS%KIU>$Yecv+x@QXT=3)xcU4^bEzbhf>pOA4Hncsz}C`~vqvD~7o6C%!CG}) zR5RSoqM0&l)@{ECBA=x9FduVUyZJ?U;eH`|T$a>Lt?8Na(@inJyq{ztmKNjm5I8XT zP5qE$XZI^7dkS?8BKdy&JYO!4PbZ2+*GVIM@>(63I7dNk_ZL(L@t_*1Tx7un6M=bd ztv?L*)F;RXV8<&5dz{Ho^zVnq)0fjDmuz=y8U#uYqk68H*)AZCp0hyHM*#N6%BfkP2@-02W^kCsC_0SN!|U$vQJeK;sTty7Mej z8TM*&QljWa>@_##?&&MC9$8T_oyTg)Vp@zbeAy>@1RaXGo%b4zH zVJv2eeFBZetel~@|B!Og8RT#ho&k>c`S3Gk0^24uckQ|pK*83K1M6EC^zZo56AUnv z0NKeWP=ga3Qa*Wo_X+5F2pdf#s5$!V_Kg|*w+HeaV2?}MQN&U{pI|Unq8hSwIsyA& zxg)Ba;K$+iL>bvTT$$}pvCyFQGxQosIN>$?15Ux7SgwgGui^1MZ6{?vSLJs8H zSG7Ac53pqS;p`w%axk9P0h&@gF~}yPT&&5jm|d}HXKg|Fm&55Dx`RLdizl zk?EA5hisFo?4uGSguH3h2}&eP11zxAR+LU8Kf7W(Mi1O(+G9YwxsOcF1jg1irJFw*lP(rqBSh8TipPg=&D#W zWXajt%F&VZ|HWOG4~%r%)OAj|oHRBV_!q9kE^5Pn!z5A)a22q^Ey7N8g32TD@_=d} zlJB0KtsEOEgH$G|%!c$OVQgplr>EkGR5q>rDxyT!u>JN{dBrLUB0jHtjeJ= zR1~TWwuZuEVwjB`s!hX^CISYy$>2)MB0uH1vQ;s2aG-phz0(2Mxpr88u*bLW*AyCW zdneVf`#K{4&i$4f2*NQ(w-!U`X<_v8wEMLJ!{icYJ^Rkal0B<$>Vs2&S^Ib=Dqt*C zRh%MZ0MF>RaY6P`*rr2rUnM1lc(~&fgrQl}gJ}(uV$HtxQFQS?kGJP!=y65NNbNZ_ z*OJT;TBJ*x6r$g!6f6c3{tVGPh6XA5b+AKGFHxl;IAJoMQ)A`zUI#09eRDv}bXaqR zWd=%CcwC>L9t(Amt)N(3Ki@F#E6lsXT2u)VVj&t5uwPZV(jXkHLv!M`vz}{$KLA!dTlzK@Hh^QH3H=DcCq~M1gru8tb=GKLM;k4U6F;4 zP-_k|P|~rBjnHyM6R!lUD#PBBKeO^6Br|*1*h~Uq*awVbKd`U9nZYjMJpYCD>VnQx zE*wj9ipwObmv#d?6GVHf%(jc%yI4y0v9T@RSgcLGuY5Bq1kOqzXS*U=`WlwoKqD4b zzgLyDFGaLL@rIeM<~SM)EN=Gx2k6;9SMHw|sI2V0aDt9_E_i_GE1e?I*~`Xyy|*U* z_H_B@I)z%@b@D2}|r7^L~Y@h^<*%BY9=Axa>*ik!Cz!9^Y=S zYXa+`z|8pJ2###Ca*%Go@PdJ+PP(4O@=@FfGlily%t9+M#>;n1zB5h|T8BbI#z9=3 z+n3y+ij={B=#~|01xC8oxTNa9PvDkdQ4_UFpJIT-ZW7KlSAH`aRRo(WGrY+lxbg7% z$ong{DqwPI#-+1IiyV6BCN})MEY1N4@&d%1k)I^}Qj7aeey6Gtb0sV@QN^j^ z&1U1Rc#QZwHX|B(3qXI8+}~2gQ`m=Jrfc1{~0FpMl zG{G;QkGI=l_jr2U&NaBCSIr&LKzczEbzroR0Z=~a>L^<>Ric^)C%u4#4^i{J z`UR3~>~;i}-T{1zCVEuKWIu$$Uf%GHo?*fGM2FD9%nD~Ei^QJV$)@AFr1iN=&X>() zrl*RN1Vq6p;AYY(-gSm#s@gLER4x{#NLU;4l+@GKX8=^Yfw&+A1B=6S1j$cl5F<2v zh7{*Z9iuZSK7(v2!#Y9ebHY~HVCNBZ<5S zBWH|dtZH*V*sfgdP{_|YvsA@NqH)S*Rv00^U3WnBI=+34i%Vn|1n%9<+y_xz7YeD?D6&1eu~L$!-Rw==NiG_zX)mpI3_>1n|L;84*gl zC)21z(Q`ot*53=T@k;uQA)#KoyLWz`bz^+)g*j|VNZ>N982fXEo>kI@) z27m*XMDKREpd&bATOnm3lc?-PkB+R}wnT+iTlbVna`wX#N3qP(+$j@_C_+>!QzE)7 zkkVbHlCM3vI{43;a#KoYf)-s(UQO?;44|{{?1d!&0aTxO3Gb`EfnFy%;;ME4EJ%(! zfwp#F=Lc-VQ`JfNsDW)=V28+Z0+g=HNrn|a%Z}Lm-Om@6Ks7@tFc$-~Z}}Uv{)>>F zc?8;;0B*RLAOJ6X?D?`AmJkFq{-8r(Ig=4znM%QmIA9h|U?>YP@sA>tt%ECMLz7m2^cF-7X#l9l|l4gg{_^aEm6kokb zNy=XJTqNnplW6Pb0BD-UFJ|R&>~>8PMPms^&D)jw1D;gKz0__vw8bT_M43 zUY+o6wRh}zB|T@+ob&PYe7mdyN%JsMJvsof5+Iwi_$>w>h4&D!>8RncFBT>uf)@z< zyU~FZMlSowIN)*YaqTF7Ilj;s-#Q3Zr+CxWdZR%Bba}Q=a(zmFe2y51X9SJ`_$-%h z6Q+DvE}!!E4_-cdT-O#a(;xeAe7=*nl-!X%1H_u??JZTD*h026kS~$q4|kyZF^#ku zEUhz+eXeT}XCV8JoptYex3%~bDrfO~#t!;7h!3f|56jAyyfju-leWBnzKV8OeD=Do zZEb>6`EhuD-V7PoWXgpz!1)8qBS`vg-yVew@II53*=w~VDuEy@akPJa81FcCx2~B! z!4lxzcqhdR3c~{{V@K=! zK==%K+NfQE?6uZVnSM=lvX-!?I(;BaUW-KYM4}JCazXVo+s3n-l^_sg422LM+iJ;- zZiMzj7)AC{?RsYgltk3#8R95l5;TbHoI4CwMx*)8J-b*pvXnpeJ2sZzpSK>X2jI}s zRx^?QVF-(_#wlpD&& zp}CAWUkl??5;dHminAPDV%~a}>{I!TIm7boW+fD)q=)YsQ$oa_95jJC)v_OL8rmF; z?IQ>!8fOaU+_X%dI)T5F{g55UB0+H!yV|*PbScnhM0^CQtn zvb!(t|I2&g5|}da{s-)WuIe1+qIh7p8(T0J#+s+?Kv@F0 zTJ4z%2D25vglxDPP=&?LM_7TgCVsVkB5QwO$2*Vm^XuhuJN|Zjeucu+YNLz0xmwa< zF`h1~ki|^V*_qA&!H?oMtWrP#Q+P#SpsD;={1Djr&Z7bwG>H%xwb8CCwFaChg&)ip zVVc}a;)tCxHb-!gxB&-02%nNjeJLM9&x(CK% z!qV?;O{pg)=k|=Fx-E`W{1(xaOxy8Pemw=SND(Q?5E3*!*;DR$3p1MmdqX0$1Q`y?F59) zz5uQmsA-lS9VAwG`vZKYt;XncER^}DqLR&CY!ZPt6HTI_^nz=xT9*-42p0keqHcw{ zCWUcTQ8SZ-ruz`Tn3La3Iu*g~$g5X~#s3{(rH&Ao?Q;DAR?)2nbd-uMb|~F$sWmsl zKZc4A&=gWoDAz%(DWP#O6FZ0|;?;U@mbs^3rADJaprnt_r!QZ&)JIdPzr_l8L;vJ7 zj9h^#MMJcqxDzwZYM=bt;*B-2EZa{1q47Ha3uFqas3hwJF0le-xIG=AN4+{TuX7gP z@3*C!Z%BUq17UtLQgg817DDN%sX@R3s{uu#$<$L3((vB;pLhTCc08VUXn;OnS01l| zaL(5A90;z59j|6o|2aQk`H$^SQXSYQSs*8Qf57`4K<1!|s%=zbx9;Wf>-F$s6&6N_ z8DGmEpiisIv|%g0XSxmr)!Ka!TA{K7HWI$Z!u#2EVBgF>m4t7Hm_S8u->-+SZ$}D+ ze*Lsof1Ah!OU4mwmc~+ob6AJ4qLNY?buM||y%sYyj>9?8Tc0M`Vt>6toU4E`ICJ1 z8~;)9>%JF>&(7A43RjOQ*oW=Y&xe(aOEifVdxM~u0?X*grBu0mg)?N!9Fw1?kCm=w z_P27h+_LmLp3uJ2Uu?vmk=U0hA=<&u66lYysSxPMyXUf}8$fGk_Oo*3Vv+ud7X7_P z`ef}F?May~8qKlz`PHU0E6mA927sn3OY-|#RFq#Jk){&o%o3)RQFOM*^d!k;Es7~m#{y-5D!o%4L< z0J6#!@SmKc3@<+-8WN&Zv0`qbMbjU+e0IFD*=N3z{Sl}KM2}6Y z4n$9>>>|3$qO;d^Ed&@u|NY_d+im;m*EY)u!iDHj_;e9!t6PsU!$`POtoqjKPTUjXtbCKRJr;c;`9W+M}(ZfXjyliob z6S1dsr1UE*Ijv$ZTus#T5mM0q`S>o#Kpb=_ID}}~N0z$7uuD zW|<;2Sl-U(pLd@E{&6soU}f?v7u>Wv$rUWar4!6hAddpGOv`zaMUHj&34NBTd6zwc zVoxl$IYEmNHYPlz-2M9Xdd#`k7;|N4jFF5f{?Syqny~OGn_PBwbOda2p-%v-nM|bk z1W8JblW1Ct_$bfbdu^w-Rb&-AWZ7je+q7UI+xfD4I$W=Zt>JJkp;U3SU54r0)VKp5 zanrX4lED;+C{YNfE!oLX3Z=;(!GY40-^kX8-SS*Fy9_caz%1tD;r4h)iu80^n~5r@ z$(kS?GI>{6s2Uz5Xrt!00IThxH?+u0HMkUKH*P`022Z)HBp)KPP~j%>Dz-p)6a+<| zfM0)gri;CrlTlI11sEvM5L_3;Z2+f@JK}^tAi%Bmp?L)wT%XuFmn~`Lph~iv`W;Wu zDY;#C_6`HsGK^VqI3VJ-AeXuc3mBE4>-WaZ`$^t3)qz}yZ9sv9ARP&q%{){Q2#S{L z2U;rd{p1F2yUUjyl64OcF>zoj`5sfGxS-DKH(;9`V=Cy~c?B*^0F9QEqQWQj z6$pi#iAd%Yyxm)wBu*&5tM-9qxaZXTBFP_E{t?W<%-f_IimgtlGfBVVv_k3ErFhA~ z(mN+iq54=RmU*b6R-;@pS^9LluTNWYcNA2M+;&Co6%wis$vv~&a*U2=7;leHm&^7v z*D}4nU>cz501$r?zu^yeRDL)EC@ju^M)YFlhKP~+{oU!0*Q(FH47*uLol!LYy#KNP zdU}SPX6q4~qG3h=?1**|umM5{B}kp>PvBmrtJ6-0o(sCz{hg-!G?#l`L zF1yn&4tii?j9VrX2zB=nc=ljkig!uW#`Fwpx7w3}1dZ{}sF%i6qValm}0=0OpH zS*^5|WCBnOos&j9m0K9CKloYR)TPiw245TBQixrJ1+a}wDVpM zrZg?nT4~*~a)JDh`^WvKRVzyH?BtNhijd&2Vw`tKw{oZ05q^zwmMO(FMlkj{y&?H5 zf3oE4fF*?t&X;1;d3e0M9Nw|ZpuYH|#RcHW#Ve7um(7;24?v0hoOS{y+b3GtBs;`y zEwa`!jg>YnP6=0dT;8r*1<*oCD3Se;s3@)-cC_?vV%a^URldvCC)e#^gVM?%W@GXy zZCacX$WBO^I~m(iN5aJ49CM3m$aPxvV2C%Hja8*FI9J-Ab0$Ap((xxSa1cUJS zba?r+$#jjwUACD<0L&2Jv9re|s%t`IV3mPFPv-zdW<9i=M4dsSweex#bA{5wPd)+r zT#1ZSyoB?v&z(5-tme~H%C;eCF;sJIh|+Z~{--1A+1eB{EXtpP7b+KOkqG3L?;MR7 zI?XWy(^hFS59Gg#63el3Y+^Q8L0A&5MtsBK!#qoR@F_qNr6(HDOe!@HU$Tj@`0R5f z|4I@6F3w6!RETxVNpgT`lk~REb_3c>3stxk@|YAGh%w$A@}$f=O7}~`v!|`Fo&0#8 zF3;NxAPar2m2`7)dAc1=NoAl9^w#wZsHBCE3PyuI_ITORN_c0v`|pR>)8=GpDeu%o z^$|&o*TbG4E84x`E)iCf^%)3%qa4qQ0A`3nVuE^Y?W6CNm zK}tpN`Q3uAbcMP%3m|Q@IU4wCB`2G8S#mF$?rl@Y8Ky?W8HBpw5YIBMe=j9 z^s}zuZX`WBT0gRrdU}`ctDfg9W+UH?AuQ{&#w2H8ZyInIke1iKh@vxJl@23&^N8Fr z+sWaE^xVT5i|;nXAHCX$D~a<@HkZs=rGwni&7B4lZ03qc7HtCaQbr^gh}3JZD^gfwu>YM-WUn z)_nK`a>oa@pC{NAIxlX3g=c>onz9I1y}livZ<`Quv88eeEMfkf^QyiJQ8w~u6O--> zTQV7fEllzUWH%kemSksNE5U?0H-QIzy&ku>_AL)rL^?Qr#uDj>$}um49fId?bo(BevJM9?)-w2#AcDvrN^as)F!pI1Y+!6Syf z#DlUjlUC`u#U81~FV=Ibs5}v(p z4Ii8)y_96r)o(psgbgm1A5d$KBc3L1n7I{^p$s8P4mQMm)$6pf>g$H|hD6W47ohJ& zbX@TZf5)fm>G9hZNhCwoWOB=cPea2KAvpxpqXnS00ais}Q39floSsEk&xp13i(M&) zS*nZ#-8tYYG{WZs{N?!1D|~-q1jpvTFNbY~2Y%{IC&Ua8J~-f-6QhfO+IH{|+6FHC zz8cq0@;jE_R<@tWJ)SOz!q@6w$4N1&4P;uSQ0(LgG2(Y={6tb4~_g__mkG(8o$S6H~9]wvf9OCA4KzkMb$sb{`qdR|v$pIbJTr5r? zf*U{AV;^*k5gLgZs*J?n6%Beh-EjE$9ml}0(QFX~_XR3FjlM=+34&jPK(X`kLsLb` zFSX(Sw71ow#hk=2TNSK(Us7NAZ{aWbad-y)fDQRY`Y5ys0_0GhLc3ZF*x@Jy3XlL) z1d%k>6+0B9+0PZIGrwczsWKAMX4sOx9ImgY^OpF9nO|~efEm&S(xz+i71rTk2NE`= z?IfKRhCooMEqBj$)Kwepb5E36s*I!x!}JBZy4NJ}zx?el|7~~u%OCz_O?{X*a+c}? zc#IN4ch?Ur$e=t>0N)#l2Qax{B_+)*i5A^M^0OCimRZ4AuzL7@cszYMJ?@@C?Kqmo9QVOe1PAHjm9lDb1tCIEhYAEB7%PH%#v)ayuj~lg%z%!-u2>RN7(OHd}Wv_Gy zcE)-%ko@{|xn@K9s{wYsO+y;$mw;fZdG#1Jqrr4ax&Uprh#L_Tsf?;(Pnt*@tT?nx zS_MnJ`^x#(l*?S+Zoe9TPyV{$0(CK6<}!Ol;$_|`?nz0mS|rspm#l5KrXmF_VUUe6 zaTRR!?&W_@9{Km@UCQXwL4JkS@BObJXrQ1&y3n3=$AF#K5eHXn@={@`sW_qzi`6>7 z+-3~A4mju(?38uWzrc+6`Skh#GRIDtc6bw z=CCr7Gp`Imonbll+xLx)fD0y7Wb)w1fP!tI|GrL{bK(K{@-U!--knPc%{~SRtfjpP z!$~M_MF5`TQf9F-x*15&K1JFvigrDIegO{l^~|OegsM|uO3&T^T-VcN2tbR6AY?PZ z+>C+bKu)yhsI+5808=_(^s!84WlTMqkRC*G`-k6>_^_Dq-U%$M2NZCP%%GP~&@cJK z)C`&#Kz_5I#1jV6H#orvC#ELTKVc@cGVPi-d;rMa43!}S$nS1jSPjf@${A+d+d?M* zX?K&F%WN{52OJJj$*!dTN~Dn=ow8s`E7R_H!{qp*2Oyh{JsC75)d{l4s!yP259y>` z3Zu@gC&z;=b(U$ZjD)%s$jtHi8M*YJHgV@IYpy5bTXy(Q4(dAc<1o_!QUIhNpb!rk z@nRo=$}q2$8H3#}Z?8|g*UQ`E)A99PDP~nBf&y203r%nxaI%i_WX$syt;cl`JTK2b z40>~Q#7&1_k6fX~X6lSQJpVlZ^SiUlW?~1xSAOLL$%SEh;DHh!p7K&l#JSk?2ieY- zMVz?nDius{Wo%O>G9JoR#%|Aejn{l4xz&3{b6}yphHm8I({S<~O6=W; zrpDQe7J!%@A)i8KXuR0v%kg?mvL9Z)uVwfQ9<$Y~(S%vpRBDZNUI5{ocK`)R7cQ`4 z$+sgSNL52?feI9+*~3cGvqQEc8u?Gx!{fVov7A8DLCiU(SeJ}kw$^sL!1DN z2$?ZVVJDL*mSTn+Qct2B#3UObE{oTS{b4`sN1Hzn=g+heZu0=B_z*`dy&B*-DVV;7 zP(C2*F!bqX4~sY?VhO|Psha1?J{aODX%Mw;;aiLpaA&SH?HRMP%jFn!v-m+j?;h6{l@f!q~-H1d&pCMWs2| z**Dp$myO;Fh$mCBm~2gK!G$o z!;GkHDv?68l^ln_L3n(3 z6&vkVb4+$+Bt{MopfMr7oW31)nAv~$46ts=ue<|Z@C8=WMu>yNf-j4XV6MdFUATjx zYsYj~rs1xmnfI5&_4f2(=>ez@6~^HU0KSliJTac^Q1nZiFOUx&E|jgBG{p|F50<<6 zitvw5hu6o;GbHmLdjS(}?pmo!yQN#4G&tS91pCdjTu=?5-BVSp)A<1GhT{n6dUyJ< z6ojfwGI_@`N1|HugYXZmRe0E#IW0fbBAa56#K~E98wA=rr;$u=1YdL@5!i{htPLG5R;k^?L1!_Evaf7ZW9;kEh3s+_)!B}!<<$|QtM#>F{T%dy@1=(p8VX_P}Z>B#s9+2vZv(o$-mKQ5o%uJ2KL zkMq9xmtod5sm;#3!a_P=qf<0y_t3{Hf)T;wyNjTXsjaMR4VM%A{_wJ$HfEY+U*l_J z6U??{6R4qq1_8uiPWNvYw%b{Ktc2^B-U=83d+Cu{^8T#;{9w9?!D(Fb0dpB}2j%3F z8I&1{{-EU9(b|Sw29drG=M$h>FE6K`2Uy?r{Fndwhd=MW|KYFy&+huifB)lO|HmKx z_NTx6TRO%ADUE6Xe(8HaBZI)91~GEEJO%on$(A5fhH9GRdLVGLH??n~es+a2W1}DW z6b(%*w)1XpFUk095iOC!f{{%LPS>JzKDDpc6q`T8`a{`{=jDyDsk(vmRV^zAY|M0J zbyInU0`3E};y2k6a3~{bi>Q|X`xMl%c_+%$MrtZo-IBdE4v6?fA;Hd6vua~CESSij ztU}CmWn~lCL9z;e$>Zhi{0jA2VE5FBmfrLLQ2JczCf+V|+ub-AoDf$l_>}tUss{t8 z7Wkz;+_bR{cmOkyM14D+Uw5CA{eQWf&goxkB*|ohe1#MZHa+T6IBfQzLoze*J5XkV z>iM(`YWf+ImH=r$mcKSk%c=Y58?YCa9gLLSDC}U|t~;G>@Y8?)>mUE{-*!1Jd|Dp-y$PK$kbpVk}$irIUxilgDgj=ze+P|6*+&4(LQfkoD(@A#rzq0VWj0Rku zpAXkXfz|;XzFRD{GJ^dEWG;Cab#1X!`i>{1WEFy2t<;z1D12|mE?EVh!aELk|~nK z$-C4#{DX&qU4%a*jZd0v1SVAFhwF(41AllX!^sRRhx|-!W##C55&n8OJ%hfy?*v*D z4e10t)zfv1+^os+fJLpH5)JReJaFT@@cR37kqNGBtbH%EjP%3z>*=?{>z&9SuL^8F zi%5%I3ei&AZ3JryoC!&7lIn=WC1TWLd(~06-nvD>IVQNW(KoU~TlsdRBG2c`_44|( z(J@s5o4!0P?S%f0e8LhhLC)xf14$(2$m6PKoNKgmaOA321XdCt{mTGy+l9qi|t2r={ zkx7Mt*;e~yofnpRJi6BU+ClCr706)&lU%u}joSLa(aML<%2 zHm*nyXfqso_70myMJi~PApp)vd@jX2*w-wl$}taMFQ&S3a-$$BK0tn0f$rLVfM$!^Pa=o1WT!Sd zGYU>)VKG?~E$1;DalEiUmYk%JH9|lx3V5hPH z?KUcaZp8qrrl6cGIQ=J^t0yDe-UzS3j91X;TU05`h!lNz{`qn^|MGNrIX%N{_S27_ z_j)c>6od}~z$eovhXF>KJPlx+H!vKwOd1Ak{JJ5vMFl0!mXrywLPz}upW_|FF=aJM z@&(I-prMSFG22(b9cF{%wN06`$OfXOD)j7|G#(Iqaima|Pf%AuK||ET^X2k#y6s*e zD|nw#HO;ET6}Egwm2{dg#6(hr4>Nv+xe7@0SCG54N->K$v4V67ftsfoO9>Cf~O_Tf-Gk6H<4AK{7@Ay%pHUfxu9Bfj;oAb??{h}e+Gy%StU}m&=CP@-S8=)C*%c74tqDXRcn&O06|=3z`JS2n%CGWaPQP=yOyX8|Da*bi%q{?tjW z>Jd4bV4AFGyOAWV5Jj);y}&e|0j!Nk3nbry@0s}m54UL-lEu#rW&Cp{f1B|i^}z7Ds1lvL*B_OF+|V6WZUif3(V%+2_LFOgJMlzNAYEG-xnm5DQ(?{ ziVGAALAt_@&795;3PH@06@9BcFjDvF4}bpizy9fufBu&|BfoX|h5=s>+=NLc2(_QR zFI_t&WGkDcoYM0W->gB&=|f(I5{j-nFi%~CFTJg3m@{Fv>}?Qehh+aJfRU>@?9 zoTkvtF7bnDlt)oL6u3rU2Tc)8Vf;ByE%z;WU2g?xAHUtmhme_o%Lepghghn*ixxpE z24*q1E?q0qna<&f>&wo9Q;@*x*mV-aN2+O z{rWAXH0uX}TLfH2br5Ki14wxqh0`;h11H-wthrd8L+%WR(U`U~t}0vLIhZsH21Az& z)A2Y--Z}Dkc=`VIdU-otNl? zniVA?7f<0@wR+D1};3nusZMol6It=K+Z2vTQd1&`HWHiIanF@W%=1HODtvK z3w^%)I9_)tGWxv998m_7WNVuzZM7LC1{%s>v_{AQq01ybf+hOF*yc4V;G)-dX{BQZ zt$C`K@Hl)CFHot2J<=)1{JxRnWA9#5j=#JH6M?mO=Cuqx>n!b}f^G0PZM!@OuQ9sN zs`U>*p)vwiGL_aWEA1aXMrQGdb+Z_tgC-Ua-5S~Ap_56U)n55!mrx7{cTz!%#;T!X zz}nX(9nDEHGiuEeZd1m@Ecme9_3&w%i$`#FvzU-*5(}*xStgt)en@5%iohuW2txlg z%?c$nKHjsRS0 z+A!y5dEs-e|0cl}1CRryKt6k#h?mWZP&NG}->;Y7!-@b*m)|};0}sPr{`%kk9gqjd zfBV1oyZ`<1^xOZjH2>mCv1M*6*jTxPZ)8%OYJ!M?92!;`hUD_QN(M~620lQ{2O!Lf zEk$5GPe3nl{k;2p`t5|&RM*e@hr{*d=L4~Vd^z2ob})_dbiC$1=W>oOfBN_Td-uQXe*Edr|MKTQ{p%kWZzp#u84o;3MX}nF zs>vaTjUlBUf_WW?rEJQzg$bKEaPpPA&drfbx;5ox36;Up57*h(K1z!_IQ@QCPaKzYQa!;lF?O%*0H*R^FtTT-DI^C@(F z3ZOPle&d&9DaNwriagBl(R)^qput!=>~qXOI}%>(F;r6u@k|a|Vf*ENR$^C}r(L8S z%oOTkBbZL++p>9?AxU4j8E)5|9SiR#3q4Vd@izU{m_!?z>RWEUDd_<#FHA>7H@g%9 zsbz_+C1M6+I)o7njSpIDnP|)EAY(n3f>lSN1G()`_!J8gK3r-&G)vVroPCMDmkswwZgk36>~&ogk4#1^LGkf?eebQDGHt|;Yp%qX#!B^hFbsy&Wx3_k#@} zeqwhT)PI2Jt-}0cMQ48+bR+uAq7y0Ew)~Pb9Udv@{EE)d@(eWXdYV)0D}ZsH#vFuG znwJQ&$3^&wU8;(Pv@bTFnQzEIs?yC^Y|F;g}hQV-VlD0+H^8C&!wSTJ85qO^fE}JlN2+<5vdq z{KSqm3e9mM;d@6MDPbtkB?6}OdES&f1u`jV^2`2fu*WF)DCrnP1nG;h;G+J7@M1+# z-v} z%>o|HDwt#xZuM)~)?^ken`hyL?wCn@fcqLGttIZr@MR>g(R`@dv%R-KNf6uuYKR{D z)w)|Os;7?Bhz?-*0OIyPmT^lKizcLOsT53Uj7GTn$uBF;f}-fgbb&nhV=1}Ll3SL% z%Aj(U67^=@H1oI{tQVb-Kk0v9c(cR^IimD4)_)hOSO`(z$}4Be{2_BcO5!u;m9?@H zhka>4ZsXeY!`BKl)5#AStD0g5GJgV1MI7I~eD z`WNX0GoQc?PH=d9Jl<{_nqSsJCe2^`74wI4q|j9_PDYH0*_c>RUV>yy^&vK4TAh?2^kQyt;=@895c{8 z%bI0+4ln~hE77(khnoWQATcAPLCHplz$nYl4%gQ&09+$xC+R}&-u&XVfchHtA*@;b zP?SHt-Q;oO!k27KBy3*Y>&L#}JZNxw%^p|w1^;oPcWi0@NYUBn`tT1C-327cTya@K zaz6u`L-VRT{JY7B=t~jN0H^o{4O&HJ- zY`xt%7Uz{dz=X`&MdVy}mE$;5UT8Ll9_#Nld*09jsP23L#ecSu-~?V7;qIxuPHuNE z!J8B9y!e3bu-6Sjcd$SK(d_A$xMgoj)wmkiOu3H&;S1L+KH?mV9F{@yCX$k_7VGete zGPu27IIocP29GdcZ5f(;!%jB}lUaP$>6dvkWCMMvQWU5U01!<{+2>OBw&n6?Wi>#5 zi(yw3?kLqhUL=^5FCjl(!`@bw7Ct0-5M^(Y+!e`Pqc*lEy)q`4y%XD}V3qjCL}x!c z*LFvH(t5W$f7(4=e!HvoeHl|%TH{NcgM5)0bhlc_9G0Vm_(lHgXWi6hDbSF?NPkUq z6ev{GRs_-a?WtrY&LGqQ-OVJcPN`B&v1GLIFKLiH76A_MundrGbq$dq0-4>DIn9!+PnWwXjt$ADylk@ThP=K@`R zSMyf*i(Rokvsob}RGme^TAJJL@$&W^ShGR#SFujm-URTm2n=ZW4|p^3XAtu12mG|y z-Bex~;KN>?tf52-uCYj)Q*mpo>1yAZ%*tjmoaG1_20k8-fb!dYzW(y%b@zPyak}04 z3ZZIOY1H)PD}bL`uoU<)b`U~XvyWbkP*YSq#SUr)?Y2q$@ORLBh^AMiGlJzVY{u2p#K&AbQtXR$UpK zL}&Nvt6KepITRTBxNhk&IIsYt5KamJ#gIv7;pYz8hyMemR}r}4g$l!MfrmBDHv!p{ zJggCg50#~74=d3KQ1-*p-*+HfS;r-^_!WEw_D4c*HVB*V?NYG^!Ldsz0;%tjxlZZPXHe1=?OKvg02XYT1cuHpX|~uyD3U_r z3mhfE+9tL!SeNaxSIeF@_<{I&%g-I@E50z6z7pOPAcD?ZZP7-c6Ij-x8QO4|e#Ob4 zog`Pn6|;MC>|tfzT_iWOSnQtU(_P6+^0ahGymDcmJkcUMwAN5|iMh?Pr{rR}^{nlV zU2B{MvfqyX^mcl=C%&4;YEy|HLofb@*68Y*v;11rc36J)s!c+>;Q_aJTPEx`Bslx zt?=&w;hUk0mQrP&`QnpXLEg|ME+)N+R?8Wf92d`%m|xAl)v<4t@N)n`YYOSt${l%) z8x$lf!6y_Pss(hx*D3f#Vv_I(>cckh|54oX$m+s)weOKs+!3Ydg#(<1=0D8xMb#6-rhV%v4m+r`3 z!TsUd%if_*biIgfp|UC{MJHnLfKlN^H8hJp3H@gqnY}6?6&HO8NneuTefS*}40bOU z97+A%itZ4vpRO5H;1EE|@5f3HT9gAyr{ms;GboMK$ynKWHa1|Imfx8V5%~}jF_*F! z{Kya*tZ4m$*OJQ%p{N0KuT#|MQ# zg^Q^{HtGMA(z5g&zWn8{fBg5q?QVbk>;L%EfBmD(U0F8hgJe+?fjUh(JvHW6CaIx|*UIg;5h_6|ESA2iKLEz)L9UuI~nqW0BqeqR6-kXD>r_}N8i7ag&g0Es33~eb9(00TbP8DGsZczdn3N^uuL>}3Wz#_N09Nuxu zvZZlPWX6kW0Eg+t&Eqs~7|cauX}zD)@|h{hhN(q7!1H@Keg6D>+C_3mu&#?}M+8erX|rN~dQ z!-)Y?Lsi1aH=e1WlFVTw^Wg%P+D+S*deIa_Gh0qk`f+nP-_b;DmO8fwcqvFjq_wNQ9YBu`5u`G}P2B%`Ev;E3;vlTO`kh%x2`p zd;r|>+Ki;;16g*|1sh$r$KNOBv<0I_w zDdJC=M5_u`bBZ?FQ|&W#lZ~>@U-03-n+_=Fq#WYnsTd7-$d*LQXF4Y!kr1T{-naVrc0QlZU!M*y zTc5(JT(pqdBo`6%<8h#=^c+-}_Q`52c4)?OdQ^1?jweu~@wm+81Z#tq6JVkM*YtZ_ zfU-sz??<<9fgsUL1q9jZkhWQNAeKz&%|iAXX<4r|HH?HP%qpIpY>6^|lbwCj!vF)5 zoDbgmy7*anKp|ugsah4@Q7l;YvmQuYtW(Q{Y7$?!FbBN)S^Q)VkZGIjEMa(M;hTr6 zzul3&rP&1ls85BOjTnDLsmc#|(n$^ji*3uZQ#7 zrq*ZJvTv53z>1Rsr)sSz_GZ%opl0VBj39~!NoLe_xqte$6`CsNqnV@0O)|N&%x(1e zd}sfO;4>0F41%5|0qOP~=G)gHLKH3bo6p3x;Jettba6ciPcGQ03RLwmv$O1bkWCHT za&9DWzka-c_Rf|E<|~b8wIDYN)EV2@81z5Z?u|}Cp4e&KdNMf0kJIz56umaiQH)Ua z5|FLmz=Ir{P^9kH4~*&Q3gL_a>&lg+@xsI3;3^h9HK#G)Lh5ZbO!RqxUKQ;4=PqZ1&oiT@E~s#?5q+{ zcH^f=#$-s*q`IaDkbhUXEq{tRA46tahU!ke0(J9C$JD7w0k9i0{dG`-}2-PpikCCJzC9k!XXruQ zb#UP!N*Ec&Mk@`4NF>2%kaSF!?&hLR;JASZ$+bl)nB5bftN4b@;pBoFy@uz*>+TUB z!{#OqP@-j=H2sk=u7%X#>5w+Sy9k4Fi(8v$uUa!VO7CEVyPdOd4smWY2m#Np$KQ_U z+t$tNY4if1fxOlefhdp{NhJkK!itJj-lp91WdJaFQ2m*+SB{eR3n0%Jm7XuxlpiOj zc6x;rZQ~R0JFZx!8(3T$Ucg_UU$S*Dg)c}S6>)ys8hHB)wC;z#V9sti$~o|o9Q^)0 zX+iaPab9$V^DZKEEBBD~ybsHG)C|~7s4iDPXT@2Kj3;tdGiP5s*P->hRlnq9qTUIm zp|bp^5#HcFN>rYZWC~WGaAzVKY$z!=l%E{1S3@Uu{Otg$zbgCKe;F|EJkZs~K*fKp z?EbN4P*)zoXY_-C?0JEBLTo<(Y9LUZYMd@x z{E^FoW)B{~X$f)SwNWpRpD*XbHlunWBbVDiQ|#l*0>0)0%tie4_1s<(!cPQC)Gl2> z`K6o?2OR`RL1*#F<9aVOKXV}HhuajsWuImEI4^uA6y&yqrbYmC42wnc>VfzyKEdlllsSMJPLP?O{+WzWOe|o6ZC%4 zqPski&$8{15u{)ZD1pvEKG#QyBQATp;O+i$Jv`rD?}R*Dh^sar(i-S#EpWhHM(_YU za3QqwU2urH=tgtkgFG^1mZuaz$hk)NjRYrteSJBce@)+aZ4+^+NmTpCYOq|(yQwXG zgJe^HmenpzQ5q^0z33@F0QkjO{Mal$`P-yVE$b$T|KoVNZLHk$i|E2@Iggz>GrW3Q zUu1wUBmL#crYliMq{llX*s4AU8&7h%0bm7v?(*JBgcdC@{L`@*4XsAKxPY~ykeO4! zld_ER2%wdN17F=kPN_>%W~W2U`4AFefrmg3a5-O|4(A;#Ks=qlZheXpelDlLLC4_6 zS_DG@hEVn1Voi5h$co*i)l>An^^ggmLdCL-BLVO!uE*Q)`rGAn#U&>namADd^K^Ar zl%DcuSj&S4b9YGT-Hi-}%>D$>?KH^3|4 zmX39#`;T1&r)V)*+i4G(|0w`=tc~FG!{PSycDx^bHt#rh+qol9yE60OvLCS8D}bIC z->PSdA-d2R{XowT88Y`1aH`hI1GJnEzYF^O`Cf02%mdi`S=6PmJE{EG2^d&|JLNO1 z*do{MafCQ@s#^tg2Aj`d+Byp4U%x**UOwHn{g`I`kIfFmxga&#Xu?lrl+f-mVjGPj9*Idas?^5-$gI4h1A@73R%*?PkP~=_N|8~3->BF|{ zktDg#lFu@6=Zk-OyS=@@JkK4)j}>UT>d1F(yqWVZrErj{SWVc@1PcykfpBFofsL}C zkzFi^;{(Yt*ccqmX{-c=dt*_sEortKzi}ZjwlYDZBz^A z2}f_41S(j$hNUEp-``%oKV9B#TV|(hZIoswg_lWr^@`${{9qMezO5i4oQWpVsLo?e zLyCGp_K^5h=Ea?CsyOd%Ken&_V_FXj7wPhcS|9dvC1~!UhANrNp-<+23e}i+ey{rP zmEHtg8WUFDtj^<9+DEsyBJEQ7&8p5@VO^rX`%M0n;wA|mb09XK!6u>!*crRJNyr>fp&EoN**hg+ua~#S zr{iYbxzs(Yp-5mgnF_L|oxrxZ-y=fCg=>*Td`uMZx@rpN3}&igYyKM9{Z`X52>86*!O|*n3_!&*!AmlzvN`tUa=l)DyrW`1 zR~2)cB2H^o#@~tf1mm_i&-+QD1T?;5U9E|Y6t|fHmOW%XsNje7A6nD+BdHH0!N*4Y8&?u8&h>&^gw=BoG) z^Ko-r@dhT>fuIx-)jn#`ddX|`Y64Z#qNoS)PiBRJb#THHLk$V?m*>N`+O@o+nA zcaTINEr@slk{ZoA5wFeN$aLR8HYc0&G;ruT45%G4t%pnzm9AriFgUzE9e=(<{CX8S za+WWo-|b|%=J^P(gWCgvISZfk0fW%4rUl3XGjeL#CC}5yoc_2xf7#vbLoO9L(Z0YQ zq$?GP)t8{avDt-7L@T0ju4?8v4I53=gv=0?%(1LSr_>&UireYswpEKmiDNx&o1{Sn zSqUk0#uB7V5oT4zibEplpXRohk{^NnYTnwU*1c^zJG0g! z>Gv;=0|+<}h)h<`$o48VrIuJdO!o-DKaU@G>tSiq0A#e_&6yvnNbyiuK;tl@phssY zZ@N|7o6!nun4f4o?=H4bht`uwsGXic1XE`{v2`%5C!}<;pOpKQ#)p?+Xs3(U4Wl6X+y3ck zkA?Fzjr%d<&w}Wj(yw8dO6(v!ET!Tped=Ze{&6LWUg9cU=8^K6BRGiq2AB8w_VIYQ zfB0DR$(JZdEdCLzNH{8}5bGXpreHNHN7i#%A~)2yBbh0ryyh6Jxe@mIZFfBGZXbWr zQJrfqfZHDoXsk&8ep9y3VVuz#&drtP8k)6vrHws+ow!UR6@^!w@Hj%d^YiQ5`Eh<%w;EAEFfpYR1_5-_wl6KcOfBVg zHxQP{_+Gzlge4yw)p@(Q{dG+RL0l3=$b!QPH!E*JrGEm$7k$%~WdNYGqVWK0f|!3e z`{0i(qWPw=0_a%rVp0Uu7Ewj8GJqhfQmO$} z2qcrSqC)mE7o3!VZ9p$~A-iIXgZv&1((1#c0V@dMK>M{^zN!G&hmnAh>B^`BK2qpl z`>p`#u-pydGToGK_bZe{EY(%+&fiOS_=-!QLMh`GT=&W-%oV78j3&0;vbpe-5KN&j zN~|oTcA0d_qY_oK8Iu`RZckg3Q#J?~*KCrg#VuYJni4d3|a--QdZn0czVUhwXXon$8x7Y2SsgxSt{db@uQ7Kw;rs#$4hhKvXWJr;+9pH zRmzyz-+X?*ecT*g0WZjr#kx)Hx@7V~Tv4X=z?u}zLA3R3p}8h|TW=aIJMQ&0BmWfTP&u=iQ(G+^K zdp5;A>%PH?@A{{Y4D7XKIlNC8hT+gvAdi=_N|=`*YHc)gv`)cyfgQ?nBbbdTK6x=~ z2%r3NIKG`W=fmComC8zK6Z55T#D6}m03@Qjwz)Kc8P2T^)s}*qLyy)M0G=E8Cj%r* zam##N$DCj8uZI*%Mn|++q8uR@CIEmr;@rk*DERdYAgs}F1Tp?i4Z?b21!|s7qsx}Aw*Lq%Fo^w|7-iIF23sZ@%#C7`?$Y; zdO~}8Xk;?10-MU?k8eqDC8!(kjyn-q*GZ zvw%~R6br0~FN`P(7!>D3oev8McUWgjBJ8z@xUA$N2_G?xp&uHtmMdyQ$$$8wq?Ba#70lc|M$p-&2C=IfXRhEc~pOpD!R*sb0cV3GpG z6}z57MNzvqh0~kkx0UOFLnlI;lF=R>zh321IVn@Y3hWuF(nrHWzz{N7%Z=gkffVWVTb@+M?SYz%bgUO;3LkHzq_7*5_gTRbzT0sLVV zL{Whym)Rh#)$EcAD4AOHCPjVViIXQRlS`=3-fvRD74OU&PVpP*x!yeN>J0kb1{5Ky z^%ng5p;_P%PgL+@d!%lN3qBs?n2Nd{MS-e^ZDuV zQ*;i`r}Jg-Fd4f99Q= zS&Qe}CotOF?VnyA4j;fCPy?T@Lk;QA3LSuqjyesoD(eK&vYNwBsRZ97Ik|Edngk-- zCRhA)5CcV+23MhhzKvHgJ&Zr)ZS;7qtb`*dd-TYzN(X?}x)Ots)fFer2O=hPa}aUg zp5BjdsTZ|D5_l!*ZeSpEud8WVyotQ|9ROHVM*CKvqTP<=le-Bb{zl1um{ce(I;blu zT&;U`SRCauU+G%Vnn%$=8$Y!hr7320s-ul3if+mJBso-a#YyvypaONDj1N;vzj=Au z-R{?^Zlahd5CFW+!wfNDFjR~kwTW6!rJJvPjIdb68t5`$>qh(3rvcrHbH!6Hh(Mvj zw}->qaeuL^DX5U0mKCz7|6M5yfu7YxeRhfry;-9QS2l7fP6gShD_%PA`f2ISo==|- zN6bZB!*vbG=dcOQuh0(3n?${-Z=wa-21Yj=5;96IHnpHPIM_hveDTtJ!hk?UNZ%d~ z_YdE8-#7N8R-?Umj4a(`7G%V%{sx`7m5UHmp3M>=hDz8xK8s)W7V5=CP~`L$sI*MD zMLhLw{)x`45FhHOA-u>kApNw4fYd8?s8qjVSna_dTc4?>;v*16i`28<@0MhjMfSdK z2iecN!xPz2s=p6}XAO|*%~1DBZSj%xa1dF11x%MTb(|ymITF9Q!TId;)I&*pRmA7S zBq2{3yq%s27JC_AJsc3F{NJubc%Fu{2pz6th$j^zR7PjqY<?5L>2g$5}HFC>m&kLjVGFej#xJ6PR z`{I}~4N^{J4RC39=k*2xn^R}cU#&7<8h|ph6N{p4tz{i3uh&z}!L}%uiMFEj92Zh5 zs9*Ny^Wj3hWjG_0Fd@>fJbF_gnJcWFA}lanpd#f870c<1?CkIp)jX`v=iT?OhyAzB z{_b#b%ASwN)#K9vb9y60kp&uPTA@%QSe7PL%F_B((FzA#KUPF{)%!1pcBPk#bUTe3)0K zSelOr)%A+h&2+Y}bYa}ANe{~5DZZGqYY|%#Mh)K{4j`|+lnUS>r7O%TT*MdS=6Y#+ z_TOo;D;*yR+MD2OJ2vE%H7&DBc4bCd=JT=w#UXQi;H<#s{qZjC5nPwPZ^ahrR|4tM zij^3#kEwh;Im)DMJC^0W8A+s3lbrv>a&n3nmYwyN7Taf}E`5)+OeW{?&9FClv-Qz3 zz=yN_4}`L=T-a2E_uHv~d}R42yEHrq6|($&-wE=|Y0e_AYS0#Xp~xgwN{jIq&)Jw% z4&gT=nvl~475I&IS%u<&8}j}#D+(yZ{`|2Cm3B>xCi}nk4st3cg^zI)BQX=HeW}c# z4ck!lWQebyiUa1*(pmh6-TCY8e35EvJf0}RI^BV}DdRQR=C#$5al{Z$?~jOI+%LzK z&fl6KE-TrC+$NllRzYZ#$i_^>u(H5LlzA6k-(;+ej8wOc28K{@PV}=jRepW~ zn&P4x&N*>I!tM>~DO!xn(qguvGNwP8CtaE9Mo*j{xLgCnR$Lb=T70nTpp0~al(-6H z?DjsyQxBTXJYb_c!3)bJmfUX*r_3`HIUBv0Er{3Lwk{#bT^z9Laf~!#cDH-JX!~ar zW)nUX>8G*uSXP$~y;3otXRRU`(xLGSC{*;*O(i`a8d3Z&hr!MiJ$I+OEBr!Sem-8A zQs5Q4BSa~tL<57jw&3m$qrDHK1w~#I@2kb&`QPtP=lhub5^2VDAJDyqjxD2C!>jTd zyfBci%9a+NP0}t;k#EL_vJ()+3G04)1XHxCZg?#cap6cv#F;V zbNppbrr$-7G$_89ub%zE?Hd>RVrI?;76(bsYzL#x7?uw7r7Vne41oDw7Kgkb`yl4m z{mToo$wWzHk~w`frl zvxL@{H%eU7!iRV#44W)7VO5KkV613Se6k7Moj`5?aPl|QD9SMYbtqlasv&sr_)gS4 z&2lm#=8`o%6PXRcw>d#FuWh9wD^Xmtod!xA_fMB-e14DU>YC_w&>b)X8VxUtYvyB4 zz&ufRJ7$)*kDKHB{rzP^x*XiOw%^?ZMt#HBYoCXAQKXKqzecD!(Xi;iQ2GV8B?UV} zIYO1iJ#!Kt(gA9|V&oD-;Om_xLG5~hWSCRREBvSQnc7!yyz!{UQNKQ>hwF+go)Ql37|jC)rnRCSGU9g&WHYKy~JK5 zywD=BR>N62FN<^LLqkLeh#2PO^!8Q~<<;T@1*WM;g%WAnvNfxW$3$qI5drD98{ zCB*M2k(2nv1>3%~0_XL5ak_OF#wF(Lc$kyyrn5Fck>-||1Hi1pQ_$qanQ6)@xhl~V zxJp&Jux=UGl~riE_;C zJw=e@*PeJA{KK{o`|C=`spgsb80%~$U&bOSNU%$?75x4|38nCC#T(q(M>KL`$a(t6 zsk|%+PdL!G$(us;Iy~=)EvNaw z6HuTUZJa<95bZ*I0Qs2o^MNmZ)!9~jX{k8+bay`7=CgDD`PV=F_LrakwTZ`yT!Myg z@kdm#&tgh;8R39P)bPj6jSt2H zj&H}!{->ZXw2ksvYEbANJL*c7yS#}9z%(Z&>oDxU7k(|nNA_mI@>FJc zIi24=wtKr9|5OtK$9SBEgw2jJ`Q&h8AQ%r1gFGY@T<9PVWc_14uo%nmg=)+2xxF8s z2w+UF48~M8P7b-h{mq={N-({0%$3bduYrAX4b(U6Rk?;(=(bEVy7zmzYL^=5VdTTO zYS%OvA?tk;vlR`B7xwD^EDc1Tr>u~+`9ig2{E#pBqhJWW3mTjfY*pr>0$Q3E@iqc> zHCs@XwkWG<(T4HEnG9b@wv6wwtY}^seFf27tLQvK7ty8w$u~4ch?;#FT_qe}U{lX% zgMl|}vAYXc)+JY}F9ci7-do~DLLcY;jJ;9M7Y&grdwVT!r{=B0D;gBKJT(Qmr7~st zDERYjP@W-Ib0}my&%=r}El%0@yiS&)dsTjDavPpiyHuC*}$h4XXH7*yE0 z^cvF#BYI}*WQ=p>pJg;t)RVyta?V(|wG1CyB{&MQ-EW82hsWKOR;o&*0j(=gM)6+i zB9>Mt_0Za=7{G&Sa()Xcq*~A9251!5u#x6#Q0TQx7{Ngw_fN0;??0hPf9(=C^F4Vs zX2l5<1EeK^S-Yh_82DMNLU%(h0AIMZOz6R&kp2&+^WEG25OT0Q+37^Ub?I;p)9 z>aq?!b3|(9bsQ5(hvJSK>em8jrLbu8TvQ#4pK#6?%$KyXGx6A>sxrhe6F|m%YeBux0s(;oMEV zJN)w%+TdD`s0GhbO<9X0rpq~TOQkp!13K`-g)qH2(3A_b zyJzO}zhu1dgZYHcF(7e@DuiIV2QrsM%U=`p(>Ck-*6%${T)=Fm{D z@4+Py3gc-bi7AR}PE)Cp7D6q{$MR-O*|+G24}>qi+vv$%2&D71Zr=tC7Os@o1JM}J zfNIRew=ra!pL#CMIX9ql8tqc^g;LA%;k>HE?&&cz6>M~vF63lI2@X$B{p*UZUzFww z%U_^DE7llGb0)(H$sv5BuxeR8qBkRHZeuofIs%E3@HA@|gJIPOoY6Yh&tSXnX$uM7$l1}!T`<0j9y zccFz3!Y~-0MW4Z0*4`r9&nq!`thI|>95$z9?{KYY=9vJa4`R!2t=r3!G+Dk96 zcQaWY6xa>#TiCQ0v^n+elK90Ts~#OeLG@KAP23}+n*{%!LQck4vKL;1m?h?L#0L=d`!5Yb0&ovM4Rg(4WG zV7FloghXTWv-2&CS(a~epEbCBe||n3FJeGTFxnuZ!Pvi6QbdP1n;x%Rw3)t+jAZeL zB}MMU=6YNq&9aN_C&UqP`*1ovp|^2-UvF>V{ijuqMaD$g6wPN?3w}&Nl%c3%OqbO} z4YciGHfuQI!kcCJgeQ6%5bNf3cfQ{r-!`95?@xOSJztnNpKMdsYFHwc?Y$}UT*Pn2 z%JzC-q)Q{73$hdy(>JjU-wJJ(ZALs50s6$v{o#p7rq?-9>j7ds5g4!yVSIp0lAc;i zDrgwb8n!9w?)BuSX*j9##7X+%boq#9rdf#Qv<&)RfT3rgMAM!G#|80Rn6UyloYYuy zUQz*f77LjP6bOq=l+jB}qYGS|ukJC#SiQ3QdOF_it`()B0fO1mLXG z<_87hGB)rJ0xYCs(_*keF7S#;iQ<9zsNPJw{&0GFx`;K)tYsbDdU9lIuRu>UHU`?V zm~d_5%cyNfMFE6aY?KA=Ne$}izIb3hpGR;lFj+s}?w`J#_phl#c`1y`(f@Lzub-O( z{cEVK9pjC@&JDP;dg|$Fi|OH3 z)VmyfYH)bdR<$w!E$~m$q3~u|KCc%8TumY!&gT+PT-sukZv$YoS;m?UPb=jWtqNcw zhW2o^%$_PLJ2GB5l9!ZF-PX{gL~+S{XfG)trcQ}@(IRP5ytBDfZx1Qd7;53-6`EuUQLA~y zo{a=*97or%g*U)E2v8ql2|+n5#KuIOs0I1D8dA#nQ2etItq!^Ak#wL#|3hsLSWnP8 zPa_pr*Fy{J>1+CCsq4|C0;TIAxpB=wYA6oc$iJ@!L@uhXYoMIiO1_&cm><-jIB7lw znjkDfeFVZnwBVB)^YIL=lDdfx2pizNU!mhM(YA)Z1TV>h)-zNtLUGc32$VYCaJFh9 zLZl0Pc(Mc;%{md0M$lJm(#!-PJ*I;ko1{-O8@?$*lriEU1{SHfXFhjm=1KbVM(E8y zd^wz7G046B$MG0<8dcIA#k9iOWtGQHe1DJSRD85W)6=pEq_j)~3xOA}Kr77`q-Gt8 zk2ayzK}EN7^R)kbI)A#`e@zVj*Xmo%I6+IR*xMpq2PdVD$GZYbrAU#s9hp-(h*d-J z(0p1i5qBe2J$!mO9gZI>(D8khg|~l2fq5Dtp5kaC>i{mX?#Ae~sl}B#OG8tht}%k% zEI(&=O|iDRiDBy7wY9}n`uu8(^ea}#WQJo;nBV9^v}CC=&0KlED06`jkGltz#V>xD z54%x$6vy$XmflK%Y0iY)Kaan=lj`@1B zS%JB8lekf@YO$bK(W&mDM|yyb$IP?_@glgXCT*BzgCfg4eQSyopUlVh=34vtegEN7 zdv}$In`HGS%*#TxAnr4pz?dTr+AqeeHtNMZvwaY2qV`$$lNP71PSu$KZKagHK8nFYNnvB^jUn z;bE5&edYY>n9x`SY8=;+#ppN@rrjVnWjoZt*N5Yzd;0?eDwnOMP#Cr>$K=nAT(G+n6~KN~HAN7-f3?{mZbIib*OS>F>2kwbpo9W%#q zOm$WncG=2VrUQ`#M~fiGQN`RhUK={Ii`)j|5uIj9iQ<$)-+Y1+&sS$#J1k?g4+`vl zt1c`H9`jGb&ieEaZz z`;l0#y$Q5<)|r{3(=Bd7j;o!+)>C#h-9)$v7Zx3m=s6mCHj%Y(MT>4388~EbzU~ee z*LCymHxu7l`ZJBCmvdSW4Gz|jRaB`)L?bIoR>d1=}3{N#j5 zJv9oa>Uem%v`0`>%g?yU+le^aJ$B`)&7_5Cwc9~tu-KE+%Z|;PExA^bT@=}UD|=ei z^>TVX9d{)Desx#ZO4|=eeBstirz}@C8VA|}J&P+nH9Pon+-!Jah|wfq+3pu6Eyt1I znc_Q2V##o>(|hAV34;AGoEGTSD^9DgWrgCjj6u(SVpXfeuO1H(3nNOmES{dlg)IbH zuHTYF{N$TVP`)O;WYV*CpGd{rLKCnsIHt<4u_vci*f1B6$jR9yRYiVw&`R7^sIwg3 zHIui42t?3tm)AszGKb>W9Et_fY;1I>Ka)6{Vx%0;8=El9kjn;bFVn@f&5g)5r!ZzY z(N%H@Onp9m-hX=DAOE<&V)Anx2({4smGShOW+JzL1HzZp8qOI|a=Wgp-YhCw|%;@Ap5+OY8tO?#aIvpbv!!w^i|T^~X8^&W>t4MOyL}Oxr-B zuwM*z$%ew3<@k1%nd0DOf82lDecS!y;RLSM;c7d8Qek-AFjk<9vsyqtxLhhtb35G| zP&noe-JTRE4p;br0mpWt79@Aou5XwS+c2DBvj6?)0Ew>}@pHIS zNVB4~YVE(ogM8g?N+;klYnCv~^?IVeR{omtk;U!6?T%r7Nh5x%a{VqO2?{i!$^ib05G&hqMJKeijQC7<+Fg_9@FL z21AsgaA-N%Lsr0cb=>Z^o4eCJ0oPyOwwILXHgpkHjB~3>xN?jXj8M!mss&BxMWY6| zp{YUsm)YC))_LL(v`_BtY=SqQ=WYBz#OGM zL;jv`A9vq3_vhW+g+AU~$!!)xMVl1->e-nGS>sLE!U)bEmByeKM`r~z8Va$N<1qCK zd?i|V;v=~|y}axX*K}w%HFAck{s0v!U13nPV(Siw(%X)9TY)Hp|13vvg3%+m_?7^}mk_dF|vC6@rfj!0=YPTGwDyN-u<4jw9FqJ{tUu zFTwcbWghyn!nfr(e3$lSQuw)hy(LR@_`1KauW@XTFjy~F;<@OMGl*R#j!^b+0pN}4 z@nS~{if|2;TfPc~Zp*2jmH`AkF?BlMZC;+%3(*-}6GjN?m0*YfT1UTzpN7?0v{J|P zJfV6L2a!-=*K%46UO>!dj&Faw4BpMhhX>PXW%Bs?8YKD&6(l`sSu7NC^zgN{y#)fV z&2qs*D8yQhqo)ay0&HHHKDk=F?J&DBagLX3Sa{C8BZA(?2eb{0*$FKbr19-1OFux0 zhC;37IBc4l{z#aF`at=AN~wV3rRT{LBY$DYa~O%%!6yYkAPpo3_B%v3tYmZnl}|Ts zY}b=u)J{1U21;r90*W7QR-33P9^a@XK~cW#ULOv}dw_#JKdoc~5I}VJ?=(fT(h){; zV9Iwu8-U9~O)8~Hoybu}(}Y7MB`X|TPIEj5c%O4cV!#NIL9UCGGG3PfF-#}~TaIJDNq*en&+q5Uh#*<>VYaO<#^*rpt_9R3 zmQ&7~t@SLS45<@2@lQ_a-PBfzlJvy~>t=?7P~Xv}9-gpfET;p%{l9*^`#=A$ z?dBhD4`2VWa7uT{Jh8KdxfSoaM_(xTb^N<+Ou%Lfgf=efL)~>v-Iu`tRw&F`j^m3d z8O9yPj=kOam^$%acIW5IEwFBisT-$Xl;oz_3#<&(FS#;MQEa?e2B;KrEoZKdpj%dZ=>p=gyw8>i-zQ!-|G+$x?vObf=FP+#6OuQ2Kh9%v`LBLl1(=VP37Is zyVv~_s517u*DDn+-&W~5#B^^_-5is~_M!+I;AH^6zL;Sv7Qq>W+qULm}I8wnwF0ohhzIzlhd# zgcop*IjfJ?H$HtPVj6Y$@Jw+i{93MA3Sy#fL2ZZ<${bRBzcv<~3ZyltlK@4;XKzQh z*MjAs)JHY8YACiA#1cBoc*ANbxj*Kj5n@(1X;FB#9LMRxrAbWAej(=d7);#7plDSE zYp5x0S$PoztYAORuc2*Fz7Y>#vOm^|B~yTox0&{nGvNA^d9Z?|))O}U}`3E#rq3~=ujxQ$p(d2uG@@HJ!=JDlt`65t-x@{7# z&dj{skda7%g|gUp$NDdMX@c!56F5a2Mp`^_;o5Sx8`_BO(cHlHmqy3Kx9^*AuXyei z$f@acOvHIPbYy6@&Z`e&gyCU!Sf^f-Ct#KLX^xNjp{%4vamdZ?2fRnXEg$zE&d@y5 zAf`wJm0NMe$b9H3yXgLcX5qw?Cg7UtME1m{i80DaDxTQ&6k=#~Kktqg2uVIrR}tN# zM>=((u7XDQVkB3L)B3`;?R(})qZ!LFYfAdQ7h?ghTURA zR8?tk30aF|_c%qQx+xG9)>JCk<3fq?BxNm|Rr1Ti1e;0@^(?vjf@3%>e5{x1$TD!yAR)UzAPN)iX z6{%#HqZO-Sb+%KI`9l@X)=8sU1-i8>1niB4DW-V zQ%z-1Yf&{V$jdZ`%xz%HTTDL`qAfSXOA}xeOyZk#rJoMZ``5P<@c>?geP<LP|HhSZN@AM2qZ}C z!I~Yz3|?Qv7(|Od=)o4UEfjFtJAn-6K3<0NPuMW`BQ1l5x@U2nOO(Bq<8+0gRCa9M zLC$ds&lWaHFGYXZoxdKAKjHsfl|3hy4T&m2?$ixeD2qYe4s?b0I8J(o=4^TANTQnCZ<9pj#E}-FpCGsJ`Vv7voUrt(RBYv~n_j z7;HM%>Ed5As`D&=am7J*^8a|bu_sL`S6Hp-G1nWV3IY_zvveU%pV&p~nDhwjlkY-d z-g2Q!(cXg}~Pf_J^r#o01+wiOdnFoeCm`{Ox-BH8@To;PO+C z~%@t0E>Y01{=fb_LXo$&6X1iqW`bseq@Uf+eI2wnz_Zc7=k=H&Y#j zoMHF#Z-4po=I*y&|MQoXLJ^*o=+J1y`!vl~D0DSbk>0@A8Gyu1ik4ZMxIJ=Tk3QuV z_#*o#Al*I18+?z|G*VxKR3kyIGc_ft(JL=N7d~p`Jg7)oI4P(-CiW>osaWpU359&i zi&0Q|d-{HQ+y4|3?yF&GlMaL%w-QwFbRgI*Q2~{YNt=z942EvF(Ki&*EzieMetgZH zDuud+Ijmh6+DD~xopEJhs1ySrh;N1p@(U=WTV9N|+{FWQKA?-g`xug_$&9g_1{@!9 zl;{(LbWn&IK~E@0i7 zk}DaqnKNWiv#`1J8|^j=ld?H2bX%Se*pLPkmhSEj_m?s>QI8QT z`BFG4h65gTI3k)c_+P%sU}84q_X+@0Rn}xi zqr2Qic1vg!u7O*>2F?#6i_lQci>yHL%6wL0#s)s`&X1?Bhue$mD;duUo7jzE5f+G+ zn%BY{O=aRtdvaA34Wj8CEJ5y=_?{L;FEbUsEzgG~<}Rk$q3I*K~!z<)RGpQaGo$N)C@etO!?dX z1Lmk}$flmbstSem%*HF*a+qguiyvU3Oaow+S^nadIobS-$-#n`YnYaf?o1iMcTg=3 zkjii_W3frgSEe2?UO@DwK$^K?oLtmc%v5-{JZG8LB_>LP9>@Lj?t?CwzK>#Sf@w~x z$EOCT%5OEJ=^@HFyWnP^M!t6oNQjvV0hi}Q^SY3&d^vr4x)xgx#7E5+G~p|rOqSLk z(zC4#b!bkww0LlNgB5_leRglA!o21Aj0Z8O8bM{>ulw`y(sq=2Nl-(?tGuQ^Lj^1- zgrUIZ#s(KphN?Jm{FlHKBMoaX6@+!Pl*H4KSjbSewWw!qkB)SqFCCTgA;tL-AV_A$-rq9WYZqDbfz z0bM?(caNukx>_*J$#OhCxg$;+NBCB}_AW#>p~xSAuH9h(pB3YLicY~sH%nXQcPGzS z^zvOOyjx!P?R*5fumALZI492kjWXAFXZ45#;3`({bDo@7K_n~z@5JS~*w$pG!n)=8 z*ujiQxIH~R9gfrnm#ZD*;j*Tt6WEJilAIy&&4_^oBSTBTd;H?!kNLR4OdyaJabg<$ z+M{nwDF(nR`^3T-=8|d6^bj?BM`#Nm;K>O*&ipU z)V!udiHVv8JT&_x)(#N?i(rbdbV0K5Awg@KOw+l^sGQJvYL%5JPFeTBBHV!(%N=&d zj}WO2!fWv0AUh~YX0ODYWMY6zImX9g5-IN_m)#qIJrnc4Sd=J!*>Hf}Jbl)-pRSg^ zIub5g<6-nX1+pmJMgL862M(dLXP62Z{7P^Kh|z*n$xMZW%X7f{tjF`|d_H~qfC3#Q zOML#(s;^aysCFnj(WFg2aLSgzrO5_r>ETq zj!_q&5+PSuxzHAq64@vP6u30wmz(HDTQMkNyXC+EzCCN;y7`s(KlbJ>3i=;^{blpp zUw;1A%qaHq^Kbw6=KRZFfBEe{fByGh|MKUk$W7+u?YbZ+eXXux!)?YQ18rbJnMumv zu4t=jT5pq6){~p+4_#KEIAzxY697FFH>WRO4!3*S@p?i2nVW?-k^|-==2y@!5&}8w zW`i|(Vyjh+P@^Fs`D2#L>x-WftBGUWMdbw)kL>h7ej2>_sPudmGf7`A@S5~PXwI7S zlJ}}|hFmDQd`IZ~cadKGmrGwfa!2R<-$eT2j6Lt20Tu;6_INzpKa_!+3u~xm^TV3R zG_aN6;FF<`4JYhuP}(uG)%+G6s9 zt5GgQ@y5O%zrnhW7)s^ML6^!!BCEh*Y8X8uR^(wk0Uex4@sL!?#7kWpvLgB8o==Q) zuuX)WFGQi~!tNJ#A*lDSz$)F1`4aT4@+n@wR65hpI zUWG4Dzc}O2(US^H<-Y);dER_JAMWliuq+X#MW#+HOAYXom}#wE1YqIQh4xrLWu-3S zdF6?!&WP3sksjLcF{APlidzm{)kvTSB!#ENJNpZpcUZ}nr#F)Rs1@TH?N~{0VgkIC zk`*4)Xnu5hfqinZrCF|<RC#0tO`+D6SN?5A9)0bs#gqSMi!uvo2 zZ;NlkW^3&I4f9(FX`XSg-A|0O<-*v7gI^O(5h!1}x&70xfBt22Mr3`}y)gxdE8nik zUzTD^qiMx!&62fFN2u-8knnD~pEC+?i}0KwWPwWf^nAJkODIl3@%kyF{2ZMly5!I! zK58Jv>vC-EQ}<(JQ2R0Kq=zeds9q0&T0b^ufwggemG@A9SY}(q%;0NOvc*V?aAT%? zlteT@V#_ul#lxMptUGRl@@)VTw_335+6rw~Xs~v)X;ERa{rvg#4!(!CYs4qnxHimV z2LBnFCC)tNqhnxf;bljmT7;`=i{g4!wj8KXR2YGNX_)Bnba>mHuM{k@1|8{D9kX5( zj)?S%R=$o&uWWF9P&2&+zl6-foMaUmv|8!xf88B7yZ6_-r;C&)L#$NCVY;aQ=G$PE zC;GRVGkE(Wt^N4jqG-@FkKwC6pHJT|4Q9?xfx{9E-N;K$A)g@Fa;(yw1%<7J^kE>q z68windRe6JJAud+Vtn_Jr=C3MJkRS_k=CLhDs*DX=j6$mD@ycL78C>9Vrmjx6~XmD z@GpCctgn{1IIjcdkO5CydFUql0Zfr%cPo>fEDzsGIHOrYGl!h(6NRP=YZqG4fiV>@ zoYy38!KIu`V{}~Rt*BOq7>cqnA)Nr4A0*R=Utat#N2JY-V;UQJJJXhetJS%dj^gsj z7HnPi!th=(&SbNdl;aPW0zqldEl#%kg{LcUNE*><;L9iw{d(AcyQ%>!KAU-J`84_s ziq&y>z}GF~GfC-;u>F(-y@JIMZ`ufXn|M}~`{8IL~h8qI);d4VR`x|zq|^8WehaC`d%;4=F;VulWS5I{Px?3HD5u4zi~e^P@G znfR8s_w#XgKE1~mk?JceYM7)(Ee=@>W6deCz-(c!LsCI#?J(F~3+YDaq{3nYz?up+ zt0356nw`SyOU%G91$$Y6^aNOS3y~{Sn2V%#>Q$II14Y2J0n-7O1a_5M&?$GneK*~k zbZ}XRu4|eSoBn^t3!MqOrb#gs>Jq};;rO;c?vA&a1@!ZO{PxSw{{a=wzx>Oe ze*S;R+0|IX&O_MH;rm~K+a!hP6eJ~_|KR9$qA>qUsah)&V#c_YPm9b3*5?2Vgiqmq_+1X0KY zWc%FJjYZ!Nv|3Vm3>>pYD_j96a2E7F@r*Sb?nUnGk%ec0MGdiuo+#en_`hQqdszY2 z@&gV{u#FP7KRHC-g>KoHe;5QseaDaLDuX6LChMA{U{Btue1GGUj~U3CgUQd8#7xi?T^RFWRL|8yHjf^|(U&!l{Mn02q9+*C?4xpq;&pv+J)&xfJ2Fqg?o9{>k(=91UD)^#;W~awx_Tj_%y!m|CZDNwM z!AG)td-(Ie{`&KuH@koPx1WFg?XNeYmMBV%CE*X8ozGCqTxuy-Hbk!K%r^SYnk&0R z7r2Oru>QGOHIyqXnWHPJVXmto?Nv4SxR69LR%ekHTBx!UGUf#FCUBZkO`c3PW9%}i zF*Te~InT*dT{M0A_f|s@320SAuc@I-z(TD`i-56i6iU?suOHP=i&z%#=+tP{w3#wnSBzBIC677$SPyYk z4NgZH?Pv@Ysv4qGgUXQD!0w_$h)$vQ^@U4SfYIydsk@UJx~O5UtMOx61i(lyXaN{2 zT@K)Kz|2*7>?~1LDA9Kjpv7|KhnX^i7jcR5IAi=W;z7BfM~;@voWdzu;>J>k9-xp8 z6;XK`wEgOtN|YN~^lyXWj>Qtvs7LYI+J8Wg>vw~{4oRGX^>xVM>i|YfdQiVGJw#Gt zxsNfb5%?zuAFlXt&4Ld~$s)|5J&N-gD4_2<)tYt)6i~#0QMsyBQv?; z$Bn%HHlW#cH9QYz8xPp4AIwdNL zhSf+VccD~E43RX*?i;u4Z`GiPsAyJ`79p6C1}Tfq??6c$eb#TYW?h4Z)F@x-OzRaj zV5bPP?~9yBTu$m-Q!K{NGGM`BMFZGSY;i~^$oPHL*GbCitZ>b~gHMSRXaK;=yk3*y zbyjWiJ$QfJAVs(&xr~w*Yz2;wXY06Rd-%cPqC*OrU^db0oKKHQ+hlrXTzd9GsAaH` zNxgtlV@Xkh9O*VGlHrmH@xRY{Rua201uIUh!u=hT$d5-6iw=SB5|xWw%tT?FpDx0fJ)MSrC-zAyOwA8-PU?M8fjI&b z&1i1BRTb3r%2LgKOmxMy%dn^{VdMsH0scB_pcu=HChY3A*2v09qWxl{tDK#&(z+vTpsd0a@&%5z9#m3uMNgz1v2MXPfN}SR(LNuXQ2Z~C ztp6tAB^BDIxg0r`-WpW9Eo!fI)?KFUs{K>GAbs(@JfKG8AVPQSKX7rg20A`f>N=I^ zVR?AK$9sd79WgC{2dni+WeMZho0;UnnpnDMP<*fB4MLSm*^LL&moI>25Y70MZR!u^ zx1jp{2QZt-fW~Mu>Y$mpX|bdae5$2vv|5tZn<*48?D*Anf%Xx!RpIHX3grsN*Ps-o zG?`noQvq%cw4pdi&IYyBvT~6Lf@3ch8B!oUV5T%vC?43Ezg>kA3Zbv21Y_mvRFH_D zsj`i%%*Cr5&CslakLd{!81*Y0phM@NlMclfdw!H~Bz(4@QOnD>Ak3({_)w7rU{CGv z@yE!Nn167BgbdO4I@aLy=^_Js+=4F1`m+(X5`u=}f_+m{of0o)lpUK_u6lsRhUN>9 zpS6ax}d%SY4t7sF+-~%xFl0P? z_zwusiVEpgrLzOowvqwZZ6fNn&4@=1-&C^~Fr6LP$*crBJEjcPHBLZWyS%J7E|V5D zi(H(cXf$;Sf1(H0Tjv=iWy)j*#8D!q3d;ZvE;cLS8$U47{LRO+$i&iJ(nvI2C(9C< zP6vO3(X$*#%Ya$Nx}p@DabSVmqP2_$&$R4Oi7C5dJ-O~8gpc0h__x5)=XZdid_|i* zGbgBOTe3%V4t1s$5b;ig7(BQ+6~IUkI#gzGA6!_{cYz2jDZt@6GcPEjq4Wx_-DkF( z6ySu3E_6=ip+daS=`quV##jk;35AZfXKQ55WwfIHW`hY4aj7JCbL4aEV}f1OuSDkSigL3fKjUV9=){z?E3q}y_&*((c_TGEtIqxKc#vH* zJSfAJ2k+^~47dKNnD!i5{pI>m z0A^*2&Pj6nA~!qeKUOoTJS>{Rg_#mc_4sy4`xrpd6%Vh8?yB-ySrZaCGw@F?nXuM= zec;*WYQxTm-cGexV_-=E*q9h=Q6f9bN;U?|G8VkOKtl6C zGvC!r%r(Jv{9X+P)&^J#;b`X>>0s&DPjldtbU@%^u}m9N+C^Fs^aT|b9PSv4O)6mU zVi_v~fMYkWFYo6o1=|`g%T#lA^AYN2gKD^Jsgf|Ufg0&^w9G#1yV#A$oLuplvpf4c zlg7XS$}*wdGozC3_m66dJW;Sh!X^4eVT2B3D##1*PA2AxDzJD*A)|-cA&SX7mv|-E z5iIG|V1o)J>_pi15FPD&fOP5)$4d~fc30?nR(wKF7`3Q8%S9C~$)EkKsa4{G3&8<&*h5%1Ijz6h8v(I3z|+{ zN23E)q%a=LU=z$H@J|YVMx8H_S-4{Me63(5%ykXwOQ7nlUx6XV`+>FH6nYwBBZ`K! z2pcajb-k8tmuWjS_qeE#eX!$3XhwrKDy#w;>pP&|tQQ&(lOfl@0i{WWe~%NRD_=Ee zr-21;tbHC;Y+P9JVVQ^vp0~XQqF3N*(GV+n=68U#u57NL*FY6CYz#dC|ETyNojA{p zUEqVF84?38oXNN*$6FT`QlWBn_+&Qc-Sf*8L*!WLTnE96|ByX;0_BqI$D7=GX+Qx@Q$S38JnX_yD>?{OXfdOGF(8(#S2?X3 z?J+YMTh>O|Nr&u{J+Gk8yCT1w&S^U6^7N}?J*1dY#x&B+4FI!%0r>#}u*6`9PclD#%4W2cNe3)uL-RekVhpMWMoFF4 zf=vz4@C-m{f0%R-MF;)=gAOzx@we-cy>Z}B6dWNG&N@4^+6T+GxWNLUadCq}!89w; zM0J_~ej4t;dSzl#H~Ryl(`Kq3MoFe<>R^6Ji|mmD_sFy-(|+_KG;Lt4`=hN!B>Muv zp#Z>(At}P42_??u3+P7e=^~84h$8cEO@TuRe!u7v_01We_AN2V4hs5l{EXlw^yqxCQmz>PK{A%(XroL_==H>Ux(PwK zSnv&^|E{o}M0Z(q)zwns5o~*3>r-Wr97%Cq&S}$-G+H^+Scho#q)TT=X_LkSW-U~L z0U5t2DS|;Suuo2kGvSt)nn>Y;!Cru&YUqrDHVgK}{P?jGMqwjCef(H~Opm`G zX-$ic*(WCfnPy7>$+{H0IsK~|h=m66@lM3SsII60Bsaou;cGKMtgGPlpq!FvwuImX z2@J=H+<3fV(0g&f5 zmH)Ev$@oOO%^=-6CGjx<(+k_5iME7NJ@N!zYj=CQFC4a)kG`F$wiIQ+a}}uLW}xxm z+={WpV!%d4eBvDHb~4eEmtu*$5}9gCG~M1|3cOx{Amd|MGYq$Os?9Ll1An3q#L1^# z5_m`XJ{Ocokqa#GZz8&_0eB-bZpDB8u+^+_KLa0XO=yRlx_8qfsK7auZ*BaVtu>64 zLA%5%v4|R|TT@jmp;~6zilUF~<`0XGFaUH_#*9Q)MRWoZ#3)nQnk>4+Lv7pw^@$e4 zpmdT+wgg-skM}`wX}Wm-s?DEx=?cX+;|q;^yvS(5qzV=8E?9AM0Wro7Q#=!FS5_jS z9>mI$;-LCgvg68(Tf#bK_2+$Y5AVmjE4wTh1psRUOic-E@g9uH==qr4Pgqe=!2>$i z9a@Z7I{X91Dv?RIgl`5fe)kCikvWlP*N5MpAdKy&m@S5vTcaypNv1W-wwaGCcn#Jm zm@?>DWU?(e@v2WQH;~N_*M`vX_Vd?BSQ|Z88f>3o1x!fLq45}Y5lkFqQ>6iHB=v_W zOjDNg+2li$iMBv1#*V%TX6n<#b(5Jj2&~|SM_XquIt|ht- zznXAc+teF!pr0AGWIX8o-Hk@|5?}+TD*AR;2h}DJoF$gCEO;O1q@D{}+t?Jibqwc# z&7vsSE-NLdbx!P49=*zv`>B&0+4YY}j#Ex#ZPz8I`?z(i4d+c_ed$(1C&`-{XL;ty z&&CU;2G6`bG#5b|f}^y}jU~9AUsEA~tR+?0qM+E-I16UeDzX(7mQZ<-$+V=K?2jHB ztW0UbODrssU=w011ucbXc_A@DPC~S0=?$oWNFnClv&)ip^6T=CDukIyOL|`3Q7Q+S zhfk{!CZ4tsJTC_j3B2UGz-4UP<~rVBeNqZ>qy#Qo>A65ITq5;eZtDg8}+OY zII$D@;l77ayqtNo;$N^!kd`|_>JK58@{4GujcAM4oUynbWUGuSKuJr+vGTwmgr{M( zMd*g@KZB?qCBVu~#7^r{DogkR|q`qyhqk2Xto3Yl!D0=z>x;F?5cX zV}@VJw5nK5i@Ze+*Yb(XqNOLN+S5c=0)5Bhr*9W~kEDWVTreJTt@$Sn2osVtuu~x& z@jm+CAXwmLN&ex$rVj&SlsUAt;}t7(--##qyvtE%yxU*?f`ywiuO*w??~)b-V8iey zMoNVoSXy8{7%RM?mb(dUNraMJ$9(ea1Tt}!_MDsphbOuPmAA`&-XHHSZrdpM6USSo z(IYSbP@giIX#DcC4@zv6XCYb|xu1i?h* zkIOVprAj_E;=kP}sS4^rDO$;0ktc!@-X5s*DFMfLG@TRPOrfRo`Z`wZ1a9^2blg4R z@xSceP9I2J9BWlb3MK6P5*CAZD2GzbP)4g0trrXb1&!@%yC~Vh>9>H6q=hY7^uzXPN-$OG$T7#HIR+2+AX_>hI? zRq~lFVfS>uKYx09+`R6vD&!JhHrY|%Jb$D{wPfBNe@C@Wf^bJ45%Yb?RxZg@wCeKQ zLrmZEJ6M3A(WIpt9Mee5 z8U+?Yq@wePyd^Yvhw=`x3l4HwfS_BjKkuG4|5N*MONwRe4XZBMpx<4L&@CGQVU)3AXH%!yqi^aZofUH>M z+@uSjdeM;yj3S}TjHN?UzbZVC$IaXRX@7s-yHVHfYYK!=Wp7% zm%xtA*lQ6;$stvjl|WafivP68-mwK`G$EVmuFS;ejzj`lshjiZ_HlE2e*D1Eskb(V z{WJ7GbVn!pdhC9V?+EQ4T$XA!717LiW7(W$8SoVh+g+}0=DMOa*6p#!wS7MQ;dDG6 z_7{&nJv-RUve!Z1Xc>LKEM})8j6(9LFu4%(;P{lb+K2h^t2DSUHF;J(L3%Van3=9< z2Xt#RQOtaM*xf!}vpTcS;vg%*xi%IJUx~aD<6#=RmEu{ck2TrNAx=^>p-_g(WWp<2 zcDQ^2Z>RU$hyB~;es{jxA9o*k4V-t68j!ZcZr$(#_#nszY1{6>N%LI<=l&hKwAX4_!%=hY$vw?aBiuhkaP!ux`3i=2R0@g8H2st6|2 z^ax^yZs>RJn9RQ^so;tV9Poz81z6HA=iTx4aB*|*Y)04fulD>n48NGv16xbLbklmz zMHJ~q2gqmneSZz`We+=moiB(E=|fXF(L`pr+P*{8l^%T*AGBN*Z{ouGqNV^V3Ig+O7Qu*-eS|r>Qglv-?HO$FXQ%-Am9zTMqmsD)hyM*7A({`$tE(cx{3@fi*Ll#m-v^%Y!* z-^6s;0c6H2Dnb8kH2 zSaRCWdBbFv2wW+I0;|MR0U;{%t;>LEJk_RDz(-RW{YSmYUZvOI+Yu>B1$<*;ixRFV z!5i`^j1ci6yuHOR==J6FxI6AQcjqf=@W~yS+A(0w85$&%u;@6&d^3j0qM1y~*oa{) zp(npgC`0zek_U4%j*T<>c;3IfUfLPRFj%aS5wB#7*uZ*wv)Jc@erl?sNEHBttAS8R zR2D(=k^PL}Lo!?yD#B-PECZ*qhK;mni0wDt)5`EGmZ;mu!t*iJ*MK|?uEoC>(U>A} zpAC@@L|kgUt@gFpQXTkC&}4{^uxIH3ck%EXzOFz1><;R})p!kT>gE*+ z$M*TZM^lS85JRDu5l;c7%_=UXIV;CUEJHbMc!Lr#p#Hl5 zzIlDvUDzATa!O`SV^D$9IgN5k)a%G6AOQ4o%hqQEG+_}}`!*V>Dzy9*uf6`j0s7=;H1WvJ#Nm*wq$3=5S5#9{NY3n^k zaTi#ve$Pb0It|E0WG2Ikx-`9w_+P@6|Gs-XJnza1&4+InoU|a{D)`O@V%Y&gT8`4R zXb0%c0Pr_~V4sCa@%m7(s;55JiGG?-P?jpG%;Z=`Iew}NJpJ~xd&1tj{pETWE(Yy6 zNWZ$EZDy9Ku0Nx03d{qvC;+E(suAkd`vJLE=$1Gn`Lm1GO`oq29qpeUH!tVi;e5Da zpK_eR+Z?zTP(h`)u;|g0<%e3)2p$tnl6e{oSE)tcDd~{ivzEPwGf{>kU_$bEx7l6r z5INZPyyQqQnzd4e_O#2C8Z{uQQ>?xi5>txhlID`5_LhNoWtKmCXzkiY4VaqjO?(C4 z9(HfHr{~S*r>~b^f#CGA39(x{H4CB(<1*w}S`V}n>v<#P^b3GlY8SJg%*QD6Wf>zz z^9-uJI>`{%16H$5=d93wz*QBf$!p{X-UBHe{}o}$&?^2)DID=5vhs9b}%zD?$m z5~3*4`DuwRxW@t7yq>Q4=qBj|>}ldPmxk_3p;(?kH^#-Y=U9{xD9D%=3qWy*nn{5i zC}qMdV|dvVfs&@q!OQM=|Fr+~E$VQ7`hK zz&2*H1WF^)FPRy$jIpC}le^v5nD=LEdNo)IY+FXU%=5UCvfWLPdCENc9w5G0Yxua5&M4SH z`5m;&^&I6OBlBiO4f^I8&e6mE{Jgu;J)2{s+CFGjj4e_%Sy!crcF%!NBn#g6w*bv2 zYZtX6nTfMZ!}>M%&)!pj`g$c%3OO%6F;8bW3D`JcE48s;?Tv^xyQ_T(!%%4pf%y~W6JNN?~g~mvUOXLT4+n=LA7;F zqL84AGBalx%Ts<+>J_htr|1MepHHWYQE7e;O%Yo~Ka0DZ&CmjNgOVglF4jA&b7CwJ zK9T&o)^nw}v>~y{adl?SiYoLNa4aEu1<|#ovc)ws)OL}{m*wHHW$8;{pEU*s<86uO zNLTqoBF>W1vt%aU0?5R|*DQZ_$BvJ!&bXml%F~_>yUp(D<>6u%lUC2RRY-JkRu`ia zJ6n$Htgs5XOf5sE0nmXrkXzSG&gbip*|VY=qy6-0hxH4HcM=xxBT+?GBOd7~brn!P zTIT*~QZxleeu7i0XjtpgaFb$F1_i|x|IRN0i_D{C9B+!#X+k0L_Wk*DjEZ*0yHAh1 zqGN+pROs?5k)$=E`Q@#-iysJ0R*YE09&QN#+#@#G+s^rkaTxD<|+g>#ITnY2uU z$)CBqDZ2PrV}!3#(m~U-Q#P)>b9N@BX@H-{h=J{lQE4Jq^=%PquC*A)Bz^YH7-?x@ zBlUwV@p^;+He)@_9+xBM&Y+BO>DFo8KKmG1OoO;6h$W6uW&$naIH+ju$DW?bRvl`XH67c(}IwR|9M?vu3{$fDaggjLr4;8jFuq-EW@eGJ{<24S;QA?TW zv@ojnx4ecK*IR3mt!FTOo}-Iju)!h(ttAVWUqfF^#cPOfcu{i6Y+42!uFKm{KsssK z<{HAiArz9>*p}!CQ>f~DgXE`F5vBr94EE|_!hBcMLNtZ>0@7jcYqm(4Ps@1O2i$~B zo*|kS8f-O6Dk7>I#A{N`K%G9!(21B0M0x>qO?_tyAX6@E0co}{m#jhd&&{;c9InQr zbbQ$D&btq$3+yfg8m=s{>LOCgSOq-hZMMwxk%{Seu+c{?Mpu#o*)w~-pcG{bLGkwc z)6?PWM>2*5TQJu3Nmsdf7R_>(=oOI^+4v^5o*_yf{>HlwaWrr9zrLhuBZLj*pjRUd+w3^uizelQFb2Ooq3#5xMwx2^ z=?-9z4NNDe&wemABs0+#$Xz=P>OAIkn~(uP`mm=VlVcL@aW*@U{lgfW*&-QnrF z0-orn>9@5Gws#vm0Yr!hiQN0AMc^OpSO)LP>|EIOE?17D=T%ScjRE+fs5 zg&Jj}jN}WFa8X4HB4iL4Rt5^rXd+cAA`Mo!3=@S+zlA2+AlZ3;JG~sPgm!~ss#X){ z5a{;+0X>>0h+K3AmK9hu5r3Pe5?q!J4`_U3rr?U=^FdggA$Xkq4r$Kq)9(9*cA=~% zI$4Q&1{d49-^3K zuL&BSdu@#O&;&n$xG*|9Ie8P48@9SJfl!w;P^h7bL9U+(xa?#{2I$-7^X~5c@+8hI zeZ9P>IJkN5nC_lDnNyme4!{wy@*?KxS4~gD1(;(|Q`~Uh%uIcd-T8ih{1_0Puirow z4Sj^PaNG5<9Ib1loFJZ=tzeAtA+^#>Gc#0{cuj+Dlqn9__Q5FRf7#tqKm2&5AMVrvSv81jY6}l35s+ zT`+u=0Yl8J3P2`kYwEu07~>7o)bYwSEm3o({*mPv_m!D-|BEz67>?Rc89*>)yM{-i38%O}151_E?eFj0A0lFfkmOXtoky_D0GM%zAj^3m* zBzVk_-vE}p*B|BzQRd~cqTw_|`v#fu?Zf`K|Ng09;jgu2`BpD593s>~>pHy#9lC9r z3Mk7PW67-{5SKI5D+Ua78BB+!SRJgBnVkzP^Xx?!EQg?wdiQyM`-m>cc60o8U5)xK zKu^pTTJ$zaV>l;u5wIIkv-W*KpPFe}1VsQ0vifA!A^T<#dekGX!ympsJ$$TW%DK6U zXHG}SE%>2|HNt>(3?A9Jp^~Zdiz<;?#M(*t?3jTYY-{hhZm;{V`y+Z$*G~~3r&WHS zipBi+JBX1X`O(_P7MiW{EGJ7a=4rtqk3QgFi-pV#T~_j*GBJz6wSC!@g|aWG#;hqo za#NwM6s@s^1DM~HedsZG!v4@GD#-Y(1VFQnCB#gV0FR4(I?*NQh8HAX=Sgu~@HC#UaLAEX;37xo{Ka zxT2D?BT7YY*sRpIz(jt7<F(7TsGzo_}*k@?6PWs)Mx+C=Ual3hp$^Ltci>O|D?GkW!k&ZM+U`xn%`?Et_aBr<|Fo%c`bahpUVT^*;K8E4Fl0=fZT?3SR<9&r6c& zAiW=q?S~)wzTBhy_ zfF&fiY(SkO>#~S=fGDbVnosVREjwB$F>97xa^~xbO8Ea0Utm`Pi{I}H0{fIVkzKNu z-N30Pmt68R8mG8gdZYlgDnYOoH=m}d8wZJQeqI%axRYah)2=Mt*q)N5jezi(z02xF z^9Bd%^}I29l{-1dM78c^Xvx|fnaYJLHa@Rv(#9FAKb!+QoyIgnv+pI>+ZmP+pDcJN zf~$excjw)AIz7Ad=hJomF@3S=Q$2$!>*XEm#*)xn(d8<(lq(Hb2tKnNoF5RfP-d)E6Oxp zR&(|`n~srelH`wNII{}qJYk}{@DB9N%a~lj78&3*z22gHKEDK;IE*?VSGvR_Ta>xH zq7og4I1o$77SDI7=C%2DbNlNBON#1m)j^lp? z^AU9b0j2bD=^dQo1N=m$@v?@;6m6RSji}&0@FLp840BzTi)@izQu_de%4d{?riBOp;G^@`ug+sS2%dMOnJ%qLxoiJFaC zut$VN9=iht+nr*H_;si;%`pX)EwDy<0cVk0-(2u~4>GYANFu5VGe~xKetvyBpN{vN z{qFT5x!s%|)I>im*P2G9_d+aXz!HHajIu%!Lh5B2qj{k{g+Qx~3aY3u+T;2b zbF|&DW!Lhr!x!}lt zR_aBW-ODzEzJ!d5=ai69#(soZ%D3glm@w8J$kaW3Otg~tQlzU~eS#&TU#E;)B>EQX z-{&9ZHdM%7xtTDn`#pB=uc*0v;Q5C(I@L4@l?SaCV+W!Pe@NkC9HeW_QIu`W19+XE zmV4BJr6C0zkFHfI_C^!CzXm|1Cs1=dG-|s4$h}5sacNbnqs3gtVYz6M2FOSLO5amKjz-Hxsl{Z6Z|W% zS+kMWjE&8Bk2HP)NmLP2B)|j7=9a$o&Gy{NRx6$LNMm;Y{`~Rq$nZ=g5}?%5POY|V z#4c5PM0)t^Hx$323irwQjxz&ge6iUOTdZ5AKdk=hOD88rNw9oWAR@C+uXL zF~p??cvzEd*9ePp|MW=oh>@H?Trr-~I3&e5hQ9_);Z6?##uXf5)(@kM-3R^&UhCp=wn&`&L> z;n*6je2mfcu9dN}&u1Oj9H@otjhx|xJqjgv9-sTzQZV#zVHk5k{t3^1Mgw1}MCats z{=|i0{<>4YqR1br{L?BU-toN56fhm{KsNO9GRfesLc3K_6T=WfZIHs@wy8@c{T`9L)bAkf_ zJoXd^f;L$ZUys82It`9lo3bkJ66unJ(^-YnIkcw7ge@lkM*)zg$I3-a!cJC{0Ecrz z5SnKJ)IK%Pa=c>HjC{L>&Kpb$^8-}oN z6#kB!*!%u%v)iwp4u==ULtQR2sxU|wxh5k|^hBbh_w&<2`Gg#Y&1e{PUF8u7b63oI zOU%IVK)UmFxBqP0l{>$~u7Iflg?7ppm`}%&)6=@b^J|ztrv4KB5yq~VHAXqq34_hk z0|jvR?{9}MU#^IRK;2c-0E9uF15rutv6pSstnsEC1K37zQ`+3xm!$orP}-?q3#>Cv z$h%_J`%_V(faL zJ-?*K313&td2W7szkS|ZNB1L-V8nSvawk`zr6&ZxmDRzy1TI;1wq>y_Uot6&!QY6iBI*ZQ;<+)RcGw%Ha zlg6|7AG@aqWHeXQNyqeom^(CWQ0OEWs?=}6Wl|-Lur64xsm(0u{HO{aYXCYo)i6dImB%Gc)}}&5^$)A`xk^7- zx$aQdI`L(f(lVVDz#5(J*La>ZVAl8EfFHN9{1^s-obsn3BbaG<0DDu;5Y=O5`~mk0 zHs7|ZA9vf2Wg5+4Vore?$sDDDfpXF*@F+zHG?q;5+B-Gi(Q!n23c;~Vq} zwJSnajdddlg$njF}Q{jsf zPO!G8m;bmq9(SlGQbw>G$zkEW-kgnzvp%agJeGejLB8)uEm}t0nbNdRamEvLbB|cq zx>BbhfJ0s4u=%$7g59YX)n_^+5g01hopEH93uG30gT(`>_5W%#7s+!g@UMvPMf_2} z^(@VJysSm_3{#r%DI>J6AjUH+<5TVxwxj(BOi^EOsAsr}D*YdM20yceZvG5W&Y0WCLv?gfA3+l7HH>iz;Cgx5 z{O-bt$BZZQIZWc}BSOb=iv0~%G?x`hnGTVIilCF3FK(g2ID;p3!qi2F_;u*fI~AB- zqDMErq{!(enH<(?hjxe35xSOU8diWFeP)HH6S}U{oh*^G?9eF1Ur6rRmHEl`60C6Z zsm|G)W|znX8AN2j%mrXga|vaL^fWmJEHls4CxodhbviE_Mi*0g#FzGdXgsFpBJTOA zMa!EEc}^%Nq-HA8jD^2pGE!5f7UMYKDZ(2OzMo9YS@>!6XRKdcRb3e`2>@~a;0{hV zIOn!SFLxBtwOxiNqHumcSK=~WCk3KDuDaxY5)W~Y=5F_O^|;w@%Jk?Z3W_PKPvD@= zlnK}qRv$WH<$LQhx!chSVN;@_aZ#F2G2+myRSF^LBB9gd5#SWhV9va_BS2D{(Ugbx zDz))b`pm%SYSf6haqkr=ZdoPY#c7hy%#Ek>5l%?DC>7HOsPnH6+h-<}xfoNl3ghG% z_^Cf=)K>H;Db!RYqSTcVwZ3OpODi)`oiKAHGvzt06gzp#o}4je zzlT%A(yTv40-l*>cS6vWtS&WTixSU99Cq9Dd`dHZOy-U&5AMkrK34aXSfY=>7dMJM zyc!bRdTS=J1Z57{sKi)09Ky(ztd8jh2k=22?EUGwEuQV^Lh&2F-bC@iXVu%{0bI6` z?!6I;XJ7cNM)af-&UrhIkBa!>hpn6B1PmN{+&sVqUpG^u0dyF#P>GO|9EMk`=^ zAP8)urcEX=O`js4oN#g_KpIC*_;2HMA6(c8r8`Pt@^H^_x}OZDoZ)nL zLdJy^5=w#4q=E1chxe~fo6@FV`9cl7`~gg-cbTJ8X3ng}@KR#LC!lERD_0Zg&Tl(+SKkTo|;?6uvXkLqtLn)t7S@S z1Wu7&hcTz1a3^G3$&E7nBpH62Jbnjl*M%}2KE!Ya16YS`h}aWSD0*;WQ7MwJKxqx$ zn3)hV$gC%);L+pL{g_U8xsn?p0W0e1>*jdekTbg&QM6~lf4P^EH5^(j`gFP^Tu4DE zek6OWUS;g(sW3ec1wYaDV9tIK_lVS&yik4DNEJk$LHQLm^#K z141^OEfv|x>V|R#@ykx<_>9Fvx&82){gw&cFI3wtW9M4$TUxIb7e1}^x&r^ec(vu? zbaTvE?COmC(}rx3UmWvjSdl|g#1(hP?ftjip6Tf?z5&f{HD#5V@TAe! zfg3G>67>;kuH<@6PZXH8*WPT!C!eSP7=*8hvFus#^KO9Ye2`SaR6ht6#W??#@i#-%fB z+nkVd(HWHTphRaGdO&aY?eMY42Fz~?(M*hMwbQc~@{FmL7wz%m zQc;oKRq0he$#YGZMkV99+rJ_$SjJGx3mCr#qm?2(z*E6MM?WnK z@rnZSoK0*kZ;_n56J>bVXj(*{5E0R5F~SoNQ#Na`-`9VN zO{{*7;+D5ap0YAJq2nUq!^G}D_z%W?zdmlB7YlRv!{a6yH(H}^v>rL@-~;SS&z@-| zDe$KxqE&c98Lo_zee5Np9}VEw_bcug)rHZbKJxA_qI>torT3W4++}PSVrTCeF zbAGgor0{E2 zhu!NV7$=^0_lpHa2#%J$S3@)~h5+K5`AC}5a-3yPZY^5i6;m_(u29j93PhE4Wm4`f zhY)w1rlQdUOzZf2&k zAK6i9%?SS%CDls!fnWY#Hv6~VU1dhqOsM4{rD2?MB7E7X!dXnf$Z%Ez_A!+XWv73Y zo1fdi3k}KCot)71o|t(xnUq4&F#uesD%|> z_esIn3vkGqlV*KC{|$tBDU z(+xXSk2Cy=&1mLiAjCXfee8sLD~;xX2J*1i=iS@mHH?5Kp&ZbE1}5sp6vpaPs$o}~ zWPv$9TBB74;?fCj1pux|&9@vvymHbMtHbi$x5vZt%f*3EKEarQYy29fU!hMDRnP|~ zKh>);Vj;$i;iM?qt>X+arV|3Ll)DM&gRATq=(u8O2iw73@xx+dHM2t~Cpg*gXL#`_ z(l-iS!HU$L0vB8;Gd`VCH}vOb+D*d41w8ZEC3l#0df1ZmFBIE>dS!E&YB-N4D@Su3 z)5@Gls5(aWdl`AV+A31U3QpOQG1)r9Cgy~VD`6h$)Tdp&-Ap4t)sZ28YS_|S??_fweMY{y9YYOs%Nh3OAeyb$-YVaIqHZ< zH;pffN=0&Vl%i$DtcMLj2=YcFW?lUjGoap->N%8;;7plLasyhuAMTzu_un3No9Dy+ zieyI>>*&-2zoeT!>}V?)iwOXr1vTf?7izuH9(E}hnNeR;f;?g4qC?EFn0z~2gX!f* zUH{hBLZ+~5_Ek%!7JNiey2*~s*r=e+F)4vi&!GuOPnjC zPGoafTi4izkvjS?$D(9T_Ouu2#Vhyv0S`>cXu2A3kerbmwMM+aLG)PI%+&^)u1se2 zMfN>aK&}GLdG!W zLL4LM0UE6goeP+vDrrrm|FX`em8<{^gyfVqo8gKpWQf$O>5W7~LcWzpXlnXAw(RdX z?)LZGw&yJ#i_-IIMctz`szx*!aoyke4u$tfrYZXDDZ6PkE>~C#6Yg)g=ZfXcotl@c zx)bCK+KF+S3IDP(+VuKHap~K#{I)qS3N(FC9lmLg#_|Lbj}*{HNN5YFg?^b2a2i*i z*&N}7g)4VDH9)7M3z+p-g)(Bif4`tU#_5gC&T(oWqlq{I=>ARp0*u0v5li~w{hIz= zgXzSISlIv3g5b)6W@i$7Vc^Om2rq*s@P1J$!eGJTR}jl@^j9Fsu-@p*lrgq;ATjV| zj}|htJOCKURh4pkp7{*3aB5-TqBDe98?=KOt+xODZM%Qn9rjD#La*bQFt(o(57iYU z)_IS!w@G`)2^#53gJlk1A#_P4qjG}2oW+CsbyemQ<+)5t*?!Ky?)P zyY58(A-U;NG}z7APWuMuU!;?Ql?(`d%=PV>#d9+xF$0Kl0 zuP;Z2-h6DnuU`M#-Lh5HT@SouWCWEo-{CVv(>_D>$*#+kJ1PZduH-b6CL<%zYkR6q z6%H;sL0mY&Wvl8D(Urn&t|xHh-r|s8J|f4hCtyz7qDa{TLKGA(P^!MC#0NOT%+!5f zo%5&z{;4y_Yp_Or1zyjIeKz_GvTj|SA;GyBpaPRBznkJ2&KzRyLsajar#1;$O(AZ$ z;1xKJ97+}NSNxjKOdJC~hj0&BzQsP&HD&$Nnb&@l#K^Q_b~7L}A>aZGa`X|f&4zw* z0I}rq5%?SQH)TtD&pUxAvWAI@u6~3`VwrexXTk~SYb5f`!+Z_pJDgX>cmicfYd?a~ z)i03h3FczFPuNtIl*MABct2R*cCfFyV28Khu_O4VtYJ_1Jt^7f@H%h})Jr%x8|#*JGr=_89mNM(ziF;#m_) z?n9b>jdlzSMRd|siO33+ zN<~j2AeI|ELgxJEQ^ycbZH&gb)X4+mE}5qqc{d+{;WNWt&h$g-IWDF8+98Jtr2l15 z5XUZ@?Mrz#t_73>h^Gd^XXZPsHcxlQ!|LVfeCq7s<6?UfXh^|F=OOAg{0-vZrpq?6 zQaM7f0aAgXx0&;2HAy_R(S-~C1USL{;i>RTp4FrJ39{-8VvYxVr6ta=(=XtBYa!zft{ z8>mknF=ygZcERK_(0%n+`lRv*F;@l)dP@-yASZSK$I=l0;mhV3WyxhFYV~()Z|J<$ zBv;cROk356>^FubY%3JOMdK9x3}O}xtkW@eFC<;rj?nseoPZE)9yZUfmt&#Q1FWyW zagPt4QJBNy$*@X=+fn$6A-b;pa_op>9M9I2@w1U_>O_8V#2|?p`2q_D!RR@ZJG%pe zO;FTjBa8mb4K%aJo=@5zmfR1i7`B-A$x@m*;9n`<;V5Vf^&LhqPp7B7@N;FSDM6Sb z4G#e5uH8}tfrZwDEIlw2PGL;#G)tB&A6R`$A;cPBwEE9|p`ytCq+ry|ZejOA%#}}9 zQ=tL-v6epg-Ig3O(@f64VzMC!KY#vZ_4KEI{pk!gQ{U8I~mg?XV_CNmyjkP;Wv&F8tlGk5SLg;Z|AlnsVJkb#dt3? zT^Z5c@*!R?9fD!S_?6EcqIm>*c&;9TB2%`-)vslI#m^n0uZM^;hj?943SMX_E_{VN z1lI0`D{x))38I3;P&YJiT7XA_8U0SyvWLof}#i+?>i74cFI;9fVAOJKb3b%uNShe z43FLdqdFS?xcRsa>}9+H?#I-&f%DBb*`0(&oE;}_n6&{4m|(z8RTMoCSf_M~sPID8 zmB(ws#=>6|U4x_$j-C@ek3^4dP41(KUN~_S?OQj@v!`_05ck5;MWXu|(f{e=arZ`9 zwqoAx3=2W zwZX&P=aQFUDo{_Tl(ChlnmskO6oRgt@)Y!oh~nw}{sLfGuuvnmQkNUl^hEvZj!3$6 zPZzD8Z7O(*ep+(}AHobpofmd4^5)YeqxiRO*DIb|;k2?GVX5w(^z4U;jnZL)*nbzS zY);(Nrzly?ZuN#YM0yy`(Gke{lXZz^_?cv7!p%j|q2{B2P(x0z-M^6*-EW1n_vNQw z{ue!ffB*TH|KJBe2WekH8zJOK4O#(a6A+BG_Kg%*$mD=3qlFQsY&IiRSA8`}EUi;x z;`J+t2hN&zp7#^Nf!%F4_mq^~-)~=EuQ`D(u<#andp0sPU=Amh0jCmD!zybm zF!=}uk#?_BO+JAzb9q;)yGa{SfAjvjBJZ)Z-VzI3Mgt#QQIW}^e%i>#sv5a_hqA6~ z~z3DiF^{OBpCf3Nv~I#W6jnG43SV0R+>ZHY>f5aCz_awb!v% zUWjThEJSVgUIuK23~VAhr~vz7?aABwb@Hu#g0>n)?Yn8074i5e0+qKav;b`bj@c6zuTJn=*K4Mc2P_e*Iof>6b(wI~)e zov)Ot;1qt{JzT>vF(&tSfV~QO`sB?rZ0J1w7WTYE75R(uC^`ZDi;DQ-Zlh6OfLq*s zr|MS=Zg%3KLUPRACZdlA%iimlHvmJVc>I%VQp zmUUb&Cs!48W|Zy+T&f#h?Ns;uFja==4CCB`^r0)OQQWlV2I)sg-m3fJVzCLf-8?uB zFuO)6CsQx3KQ2;kWu^9L1tQR?nsW+|h;o450Y0iU!ZAb7sr;ZbpRBC-(EAI$oR{qO1z3W zyW$5*p-mkj-Qc?y!iEg;VB6y57Yp?dD5bjZ7;Nnb#9P@ztd zcYJdU)rUb?e#;(jIX4t+J%Hx}7*jI#asX^xWJ|PPfBCk)f7))2ADcHi!~^3n&uwf1 z;}xc?$&?cP`KO+7#>iz>-dAT|S(6cj&+VK6Oe?gBpbr{tcpk|@0M{%Qp zEP**ublEjWCY363_I!X)fHfEH9|`;ey@pafELt>F5B+G22Fr|4-0`!w&($8+Q*M|B zf14o;3@PQ2rh(@me88NX623m)RJ6Y<^D}7uL`oM$`1hCN@%H)feYah`0+avsb#-`| zSABHt=m}TZQ4|M|p!Q#o0Dx%4)QdNO(0G$nLxO!6`5&)_c13Z3jUK#Rz4t7l`_x1S zK?Sd|ssIR9o%14(hn8*zO$S6&q8$iKFEu${pVu2PBIlR8D4qv|P?zf+l8FjweTJMz1Fej8>gF~^&SJc@@?0u*|GsPByV6pY% z#FzwAWezhke{4QBo2Sk5e)oJ)XssC5pOG2&91xtJlHK{9(!xQx#eQd?54-lmBD1YB zrx}^=kB7sz?ZawhMONn=(B!%U8qwB|L`R&-*9|)e@RHMudilQT55(qsa*>@ZiYrqb z_$Afi;HvD(e6aCGtqs8T$E|*SmO6i!BKGS;(>tq%30&_wVUuI@Mc&C@xt zjgAj3oAUvvATEgUKSk~cZg%iFT&`~=Zm};Z*wl2Us)zVYZ|scR9G=`g?LbAj z**$TsW+^_=Ha$SjTA1XiiqeQB$r&SW16JfUC*JiUIz@%8Tqdq48MWOiEWOewP8D6+ z;Xo+ub7iX>2qbq;s{>gbuxws;914cOn{UR)VaPHp0}2jnGCVEi#vV89eWft0C4c2O z)pY8f_^ZdMhBSU(;{_BA3Yxp`wY(MM}@&ytSb%)RlBL<}~ zBO9V?^|bOHJn5QmrToRyh$r?VPh5lHJMzAgiF~YIj$3wTcUQ%h;Rbjw%?{B3ByeUX z#>{x~Dmu{ZbRc^3MrEwkj)IMF_><+KL~+Ev?(;p6W1b^QVQ->0WV zCt$6zrVhL4?EwMPzUowQ+Sk|nrdLccf$jh%)}O%m5&2c^lEKoJDzU`IQJih)be!o#Q;vr_ zp1WSO|3=$?rnRO3Mm%ly;s6RIaheb2{hH(pX`FnRwWA!{w3?*|9IL=_M&OUl@p<`r zC(@QK{+zVXhyr{&-7HP?{s+$yPv9e?;t@v2f-CHaJPYi8--|y&hUpDtU%033m ze_k;(3pevpOwB%zwega?lzU3v)cjwWz|6J_Eh&|tlK!mM0r8i={PADWePqLO_`m=C zPk;FN&p(&ri1!Uac`+;_c75GHg<%#a93XD;xKR<8kwJQOTWB8v|1)F-~8Urt(BZ)SlKL zoF62^-Mh8(HnzJL7ex;^#AYpvxT&k+`WbQG9!XG8`&@|2CL;F>65Gt=mwH-MBvy@L zE2&=wDMkBpMPhNE(Q1hky@(P^zO3l+yIa!<40*|9yP#A9An+bWkX6Hpniq!?5SaPS z^CVvt2qj_9%vHG`XRTOa0LXPck37*Nz7qe#Q_l~Fb9Z~U+3!KKdUej{>BiARD4wPl zPm?MwECpp2?AlFv(U=Frgte-_UHm?n!QHf0mt2)P{wI(cI#mU9O6tL=NXn7KKgLm2 zqx#1$$HV?@!&LIOUtd@I!}`oN=80}2o<+_PB)gLgI}IZOl<#}Y95(A539O79n}VG8v$@z*^~w|ts2pMg%JEMKmtA=jwl;)T;b9{2AS-;vF#}v zg<6zbZBJjNo+})D-|WAUfBN!mb@;M+-8?;m3vl=2LcH6;ngHfGGYtJmB!F#99Ml+t zB}cs?M9v(KVcGlS!YSM(qZw2#%cAG5ir&xFJO*hO!*gAh>~n+G)O4r?F0)l7zovUm z&7w;}L3-7nBotZvYHy|`RaWh%&D-T5z?{>JUKF}x%}D238DY(OJ5H|S+GZDYf1}7N z&J-E$nKCNHxz8`RADh?5-Tv#PLaORPI;5VY5|wtkD~2TWgCW6Wc~GOkLb6L<$4@F^ zSZ$#u_J-SbReGh^U0qr6xY>Wb*w`@RvLlLN2xV_t*)hoQEI&okC8M#AfjP?z>FFd4 z0J|aif*}N!(r*@r+6Om(-^Q*eS6*FJwbtoHaUCv^+1S&x2L z1Q*{aE4U?-NCNn|dp|yjcJSEC_DHYt?30XR>zBFQUO5wM1*xw}4*cjEJ2MA~gex(n z*iA3p+N>^JpoO`3N~UvcrLP*Ezak47S(5n{FS4L%({8|vRjcjlbk}Utj)EF8i!I5M z!YMX8x4gMpzEp)a6QN=G;AgOog;o1Hd37%-RBE+)$+NwrfLEtb*3uL0LN;-lP~=?2 z%``KzAvM=_gOMGwVjbIOkbMej(B6=4gEh(~0e)tGg;Xzn()b#Eeh zFOqxpBsm)4i{3mvyvTyqD5{uMV^c8cmOMhBEq zb0mT-qRn$lc_m;vRF&Ens-L})6ZI;~;P;;CZ`*G_R^K@q*GXxUvMS_|GpFejOj zahP5d-Bjlju}FUEd?=0RJFly5KcIc*(Y;dU{x+*FzzYij9P4!V*3X%>a0;=!K7ab`_Zsm%&kl^>?Qd3sB1P|lzI1}I)o2ONn z9|t`toO1hmX}0 z@QdZv&kB6z!n1UxqxjG>*Bt<t>{7wBI%2MlG(tQB3k> zQcott5P*|9QNpNsL@@)gCX<|-L6@d(qQr8FIRlA85jiW{-2sA&;oz%%q^es5_K|+- zBV{BESap{YR$4ciF_1?tk`&mC>*5rufIMPSE(x8uNRUxXg*G?e-uIi!0(VoLa7u-- z`%?mLo3Sj`YT`Z!OM$8CGmAfW7#~r=VG*`?N3!?Rjxv`T5V+nQb^!LRe|t{~eSciv z9slcj?a=5P=1{C*)sV&uj4K8#J!}{1xghRhY-9aJa0+09jol=G4P9}E)_3ZbqY)DC zr^Ej1>hbXO#3FMTyI}MtO3g8esa8)+-}_CWKZQB*u+%LgF}5K6dc{9jV_BC~k*yQa zgNUA0R>|!)X!UN@chWq5zW@5ZJHk7z7rmoXm)-;KEQ6;>(n>c(Q?BbXSqEkF66f*> zt<5n+1Vgl)ZSC+Z!bcHacfMJ8HZV>2*X`3A(29$N6OAJx4~QCsR8DF(Uq~>E&QPj` zDUx>cHW%UTv``gM$vnZZ0y50Pr(T&rI(FIltkdD!-4Pw-Z%avp*7gAPXhkcjp$rT5 z*pufbBhHCk2%yFr3GR6NOiSjgO(|Z{W(_DZP4Io)@qGWd+3&YcXJ)M-vo8E#dZAOQ zf?+ncf(hVjHQHN3*pR$!bFrp`e-sh=ruX5zYbOI=58-DHaoinu+tuOy?P>c)$5?&r zo}Tb{|87Ug-Eb6Fj}okgY@a`hDZbS9I`JQ)|5p3EA6@|fxr_nq_4~EJGuB5?>q2Ez zA2ltKe;p~y8IBVR1TY!}LC-ZZ$DBwzcM-k#RM5*#GJnL0_s7HQD^?cRq_6=Ze(|o(xN|MV z+n3Gj=3z^2Ru(OtzxpsnGLpcrU5_Y5)v+SC=P2mO6WmR}nr*8qUPW{# zqH6?w3gTy0Wv zr_x(@`tECMYcv2Ov5!e|f?gR;h0Ou*el>XtXKQ%c@=#)J^}6bzhKHLE5qwc;>;y>X z6vx}3GDg`}yiqFI0fzqymg3IHP{<`>-C6v^fK#)`A`3 zQ|iQ79@iy}Q5#C_80S%-#cLuq>@GoWrR`=DnEpLrI_%mnj@VrE z%07y*k4~q!;%2S5*`#sne|>Afj+EW@g+zH|@=I?Zf_MhdO2x|(q&J`yyNK?Ae^Q9X z^U7|;?~dB(gT~xHRLH{n`jsB>pMLrI-~YUN{rQ*w`2D~Bd~?z)fH6!r(nU&K3-b~z zV~h=(oUJ0uaNI1Q$C~mu#KCJNOESc9OIYw=T|L1RfbmzH!1D-!K0u51&viTa#g4;$ ztYtK5I;KH~7g4okxmwgQ1T(v4N`h6A0tg+D4u;f*y~L1^g*gFWqI`N4NQZ)G79WuS zi*H61REDXqc3%$-bAMe!4A=?@jV)?*{2SMPlf*jUcw3v0TCc`(-8$1VbYln=7>Vh$ z!{=DS-3MF8W}G_E;I*C)$1S>L>)XxS>Up={?;bZuT+TP&M@-qNHktMs#I0Jv9QD%ED|ZbpF37&Q+a4db z+r13;e%WoG9!i9Ez7VK!UKWI6wiL5_TW%g)1svk!jPVjxp#FJ;XS5eW76 zLzdl1dAO6=l5+30!}^=o-&`sTpNk~>+K22qk<}$~nw@EWv@5+1Qp%Hg0C1yC0qb})SK^T#YVDEnS_MO7UTeg_@8%jnnNOE|&lpQvsX;4kz?IT^Wny&oDIaLhx zgBTwz6Wg}&&fJ%>0tkagpCqnh_I^627o4M zURXr;&PP4?Rz#OhYwY9X-JZ({KhcirZw6WuQ$hz*Ej?)krPnG%wwww^k3q3|m{=Y$ zSyrRb%0+PLvnJ_BO$^TaMT6681?fOO_m(5|Y`SE>8IU20X* zV-nG!2h~?TlKS@ON0G9;7Sl?Dl9IO(`#TE`X5bbROK|0DPc?KC!C_mk?y2gFCR3Ly zk4Lq1RbWqfzwLEi!J6!CpH2pRDJk{SF%mN7Qv8+fdJC?AJlqWxi`B>B>C5Wr@bGo1 zfn&$BI}z)w#nG5i<(ib>26wu4CNz->j5J!kKvRkq(d){!WJO+5P;8NJ&a#$%)x7BI z$7;Vr*>0hEV@Hn?b?Y>;bnISk%67CfS%pWtaj<{VL!hie)$PQ+2`;BKzZo$Yn&k!*;inQzTf4rJA8UcvJCkQM#7I2_?P>OjOh$j#$DraM5^03Nbh zujp@NaH=l33Fvd1o=u+$aXm*-nCN!uEtU|M9>J7aB~*4J>~$ZDZO3BY-l4_BdnMn_ zP^;hwZZdx92bf@%H)j7P`jt=O91QHwU;$H)(Xx--{&z!=WSvsuV|7thpVc zaY267sqUA}@p*IBFivjY-*ES+ir#L2e-i{ul`xIToD&L+#4j}VVA>oBU--+~#Nz^* zDpV3AFEJLMs1Z?Yo;DAwL-c(X?Oeq3myiP51 z>v+=#2EZtL7!Nw&wZzbzmArz=h~&lI+ff-w)MK8mLR~5ofYg?SsW%$ zq5^BUZB{tZ$-J%6+peP8jwvZf0NVl>Thu8h-|G@Vk-xGvB>fzcR0BRUJ;2iI@?+qZ zpA*uRI#eNwdj zEycsm=jBTu@eN{l=_Zck#yqveo0eWBDNSf@ICIql(_ML-kATLiR{?T;!{UXL z5DwWIa5C2EZckpAsm;m@KAhnzf!smM4VbkbCYGc@7Q`9gVbk42knA=sDBD#)FEN>r zi0GF1mTcDx7ayFYBv7nR9a=)=QPw1V;|RQp$PeAP>7Aci7jCkm9o^86U)#NG_b?bihH9hHA?} zjGpgY7|9NmW~rvTzurO2UvZL@$DI*AiQ1F4bdt)iM4xqX65owl;M=uS?XNr#YDt_V zh<_eX{;;Tk`Foq-4_dV9bD77^-DC(ftW!ps(tfyb9#hZbt}s`a5nZ%dI4bnPMfEc+I3J z7nf16%B>USGPwggd}xcsqDeey>0M{W*r>S9o^(!Gfg*ezYW2$6a;(I$-T-i1kXWae z%(i%=btiNBC&69lF~6$vF4OaLB`AyfseuC8PrHmFZyjm%+8rAyUOsHMFC_0RD-5Ta z`_0SKb}7GX_l>N^wrs5qUI?Wjq6zw{-P&ixWe>NUxvyiUZCg<7>A9mKejRKLW=4D# zdvo0V?y%o1XJ{khDgz2hGcZ>PhXQj(ik?`TQ8ZRyr=It%M2Z~ZAfwzn#iZ(eS0xv( zj0u`1__zkN2J7$r_J_CkYhFOmyQZ)@AHBP!n z)#6`7QwYhD>2!&rLD3Y8t(?Q-CO}brw14|>vNmnK_otBAA4 z2;h_)vP-cx!n#CnNQDE)7ojCLUv|e=UJh1F{M~ksgm~~?4rzV zMobsL6E_HBUkdA_+{sQqOmZflOyvnZlkqW6WM@y@Xpz^ee+Hw`4is?LIW)^ny9}Sk zvTF_j{uu+rGx9W_55q$E)yGCqJMOVsyf}YP8c?~ z%}wQ#@VQU@^y0BxtR>LZhKe_?q=&_UnG^QWo0ngH{~xgVzx@+CvOoXNpZ>V|<)`|Z z_2d}nsE6^*P8-p1(_?FRR+n9Rq$uvT!l#VXq?oNy_>m&7INVCNS1#L$t9so%{dj>I zV=Ap~nV0&f<)P{rEJm$RsBMW<=BXKn+ZrR)L2#I|y)I}-wa=@gX0&ulIeLy4`HJYl zBMcgvNzI1l#v)*ND@>6ufn$462B38HMa~?0(?<_C{a$X zv$VZ>p+3~y1g0EH{rylO4Ck*|_ohMqI@CIuZw~-Wj_)y~!OiJj0YnS%FQY^?%>{k- z3I{7zT-cec8yUh{H@H8%QB=d&`b)+oD4{{&H4Fm?o1dSvn0IO zX z9i(OEjCz(~UZ877>8!{t)3w1(tC(zR{;&7V$0w8@HYPVXN$ziiXJFun37`!oKa;HL z&@mXsQsR5cl$G>^ZMUQ@eLcvuube^nB2@QYw)=SxG(Z zDeNbXp14=ux(F>(K*5Y1T8Sr~4)>3*G6?kBrvpR7&r)-YV+zVf5gNz~6M^hxka5jQDC#8Ij)` z*A9gSHd&-jUw3W22R-JzL?ae@8Nf|WJ><{LQQ|PV4(A-t8I)I0rV*W_FzF_`u#O7x z%Y&b!@Ls=CadZm6-whRiA%t?H7UMvMyZ!0k{|v0*|60BN^oRfbr$4TazyFV)e^Hzf zPe1+ff2^K=`r}Xk&(Hsx?qE5v;6OFD9A+-C;2cJQ`y>m-%g{Rji|jIH+jnyT(d+J+ zoHQ*7vO|7e!ieuDze48b-0^89^rs%o$eQQo#yri=^>P zDFoD&rkm6(xp5v^4!-mbNlcdCcO$i~@9=Ou@aD=TNbQm)2QldkVI~(ktI1?H`Ytr! zOWjWBq8dl(<+`1S>*mDWe_5Thmd}Z->o$E(4x^?(j?Q zy*N^=xR@>AXugCq@`jO?c%w$IqncdCLdZU&Ev|ZnwivuVcs*%Sf_QMbOc1nD*rEKW zmN4-5?!nNyEbOVh8!p#0S;IMdNB`sACDo&qgd58e8aQD|JCYp0yU77Ka5*r?EQc>w z9l#H`{EC|htvzKr%8!y#@W|D@-dZ!MzXwcYJH08S2wU;Wu|OI!jxNQ{esqg{$3UXB+U=R{0T6vSAJ6`;5Ei3q2|%}5KI~WWrIJidGHAohR4eZ>W&;q z_4ovx;r~a$q-rx*}zZ|Y8hiS1Xh9z}w zewX#86zGvOWeRXkHlKj5He1ayTC|2#O2_s^WNE-U0phf$It;~`Shk<7_v_10mJv$S zI$y*2vA5+rE^pOh{}Y)TC0Sph20GOQ$rX7|%1J6BOi(7sdae@n)JFK-_UUQ+awTidq98vv3Yv<@$hx~ zbWxwratsXSTiOH}n@@tFJi1fURQw2imq$A`%OmVCLsI{ocub*qqL-b2U8zk0TJ=LQ zoh1%uCAOr)Dhri@k)i`0^jg45eOA`Gt1SQla9oK(j3+uW)$8|)J@L%UL#a;les#-C z&L{kvmh6X4^A-w7!s|pfM>)?iwBss##5qJ|AIfj_jV7j2NLc%<^6SW{Ql!V&9;wuk z5;l=f19f3{vURe#Wg3Gu+-cVC>pp=d{}{x6Cv7616K*JCT_YtOG$-(Wvo6@w9DU92 zNKf>vRS{a+sx~XH3Fr_DeSh3sph_Ie%PqV(BW|f0g&Wkpk_JQu-absCjz*SCTt)sx zFIHfAh04i#qda76NQjq@&F&Kdv+W*$oy`osmyQvF!C8^x+C>GYsaKrnAGRrlrDBZG zJW}3=aQXtZr?ar1dQ~EcKOB!H{*1dWO zPF(Gi24!W20@%~g?_K>Da}}7t@~E<@k*tipbM}dS#4dqNxd{QINdIH6`=Yg8XYSZv$Qij}ntMXxa_ow~zcP@uL>Y ziVMnUUMtjCk-fG@JO5X|N)3*|UfHfJlaq7-7Ex~6B$W4aPyj*}m#)fA02>&4vZKCq z5m#EGC^4QE>p&SE2g-0RQ=B7<9m^enW1#$rm07NtIfpw*8Y~uvpd?h~!P%G=A-W0j z6boB*A9`UJGYWf?i$Nv*vsC(5fybE>G^DEMYWGPG?idO{*OoMRxP4PfrOr)LO>SK4 zoo;gbwe6|X<)Q8QFNeo{+aQ09O=S8{sKtp*Osp}9%q;j+E6kR3k8<^vQXsA8N{U0i6ddczKvc)9{Ik3!9U-TEz!M!rgZB4Ud2c~?yc zsHN)9q%2sOn>qEDaTl|TY8^whmZa0Zr)j9Y+DUnfqN7-L#{hZ&pFE&HvMCI ziGHmD)CA^nV9n4b8ecc4Q(`!YzAJfCC)ds5+d5eCeE7ZtZOzxi@$2@s{I|25J6LWs zqO-$z-3etOK>KJZhA+KB~g!l3bR5qRo5$!4e1&coXNs(O|qMh)p z1xb8LA8QIx;PLG9l8Xg;L;PdlF5Y{e%aQX9xtFfZ-BJmJr{6`;AJ$p$9E`t z1m3A&kb`!^FAfpF)tAHRj#dyI4X;2Fqsr1`WzSNmnMR>ud)}<*GU6@20q%-E9M|XX zeY%|mE!|-adKZDfHDIFK7jl$tepi?QEoE<+|Bc8X=^xr`D$x?UTA z=Nk5fNS~;vN@8*gkB5@m1e3Ex>w9Ec!=a=aLq_Y=R*LI&PPs2Ly7e}#_jLFue0>YI zKVrfSEj97ET)r(aCOv{kcN#%jG5oS+Lyl47dUfB4$>9X~Rmqv0OEa>w>y_!B&D*NT zeofH8AdEq7C*WdP;d*Wz8sxUI-FZ#_u!TldJc`_vA<-$LGK?9rfBINIAKv$GpdNl) z;)UZY*Qj++)OEuyx2{-2ahS$U>Ifo1HOkgc_B@#mSuBIh_wyumdxU056|*OE`_ z<`?K47s5<8#vD0vQmN`p68;=3Q4J%$a)eo_20VvC=zBG_W2{_Dwf4xe56A^YCit=b zpnPRHvN^eU&$z+jVk?b~8mvSE93^Kt~W1^v<{XOM_OCF z8h7!y*}rZVNI@r7#*=niN&stqB4s>@ZbF&EhRau5FJmeU=TS9_>L50F9EYnH)J0`p z3RbI4?I3C4tF62;KMA~6H@T68M{%UQ*KpI5A6Yv!)9f>6;vj+2i*-3N>s^UU%CDuc zrgAX_ZS@f$+X?vYx6d1j*Y;m|%;y?i!c>Nf4J=SOjf&6p*tO)qqkz2|RZharsKmch0k&{dL!lkI`7Jy4kQxrcTLG!4C)3&!>1$%z6PDz zaE9C$`_!iim3|;ai(NCW;u(alsf%&y8Gel;P|me@gvbCZ($3IGuwySKw(sNAxmjca z(||%qnmX9p(<4;jw`<+#x$+3W7hF67CFrhO_iEpU&AuGL_l;;uT%4gR4=UIwN9gMj z=3Lz0`3Q0G2w_^!;v?h}bfK^{b;-t=BM8aV*Qf1%|GN6JJs!_*ESdjp*8Kps@9 z`B@x=?_-bUbgB|(MSt=HWC;D~6l0m#TH$T#l2gTpfgh;A#q8T7IO1-f5Bs;5?bGgj zIuIr(LtENyvT8exJ6BBFK`9>@C$IQ|_yEo%pQjlC1%a-Gs^X`Gz=^^Noibvk38h4y zg?=KvxxIUOmm28mZu9-Be1;Byp9~p65^A7=ONGC%fex@Hn_0C4;c!`bkb1o%pcEk} z`0&$ezYsK${N~q@-)i|CcYH=QtwDaS{&azier^l5xgZDmbC;$LkK{M{Jrw!HS!W%f zc6Fv~w=zL`o2G)*Z=^jCwP;T!2fB{Ar3SH3E(c!Z(d6VH zk8%aI^Pp~ z-h}BUvMAI{UCz1)ji6%E*uO?iG%iubaj zw|6H9mfl)#r$uNXXX@&H?Gj%P&|0~AGCKF)cKhEgm(WMxW{wOP=M5dc6>|NS~|p{i5`n59~(%gy;@5prd=Ql7mOg0J^m9QrC#| zQ9*&^Hrr{@(_+2$Ai0zdQ(a(Z&5Yz9kGr?+-R`)^#maVmw6@Ntn|{#s+OlwimG>6A zR()%Ko6GyHFw= zxhan!xPi^X7j0)65plCNB)>L(=-*}!_S+29Q1as-2dt*5Mp#?@Letds!gW;4WG{a9 z^=(Cw|8DzAflm9s7YjeSznJu@(o~ct^;KyoxixE_T4fm#I~wRCK12~79Ng1g!ZBCg zVO?&X6MjixtuW4ycpcfUd(PfN8I`BBRuNA!B0KSFA;k|W0?)zua^)J1VP4<{+rREz z8Zsus>f@R>7KxFI(DOsyr~qVD;+QA4}&o(nVlKbzg+scttyl_O(%-|8f!j#l_(a$ zW$4Cur8b|MTAAp7;Yg0DYD?vrg!AFcrb`asylUWzLU!aVC@7nF#VzHapu`f1TXNlq&EJ=tZ%J^c-(svRc1=H8n~k&@n?vX#+ua(+>`@WSGlS?7 z0;H^o4n;%yx)HY59u#`S#!vy_&nZZ_84W-qQ)6OD7FpaTh!v_*Q(}QBkJe7J1qu(_ zH#O=MFsqF&;y3%c`&Cnp7Y=&~EoLZwEf#q2xA2&;*N!awbkAI%xo z%t*y6V*G?o$pl>&VC04wi~jol{JeYnl<2*i5uN)~Abs*!WanFZoP#rLoOVG`bQIC8 zjj7@17R!}FwPd0Oz06G_o^d`X9BYF}>29ts)rx(A2`BSGXMpCYO~=DNQlC!NWl{*H zHa#pdiu836Y?^wcp&3+O@0a76J<@7_Set7qiPd4(d9lx4x0{A8Kos5N@zbrdLr4@r=Q7wv*@~E)SB1yA0xNf_ATM!y zU)h64P^iz7xZ%D>?7@B*#~G0aBUog*(s}A;lwBs#fM3%C&(mTI$~q9-cAXM@=#76p z?w+@m1?qhGqGv)d#Zois5gTTLnE?P$ZCxoNEE%?a+R5*&Q@~O$(#q702`W8m75B+t z+3kM2e%bA}=db#7z|5AtbwPMxhi3jPUq2=ldS%CDoW)_8z#w`M(JNz1iV}; zT@1|K#HH$5Z&mJ+;{pEHBjI*Hrrcez&S%X~pHe_I zQD<$3BNs#da@_7l^9V!jQ&B4eu+H*_O+7E0LTzY(R#j%Y|mJGQJ4Rg(6 zj$J8}!HBMrwpD(%l!NAHJ6p0y-9QkmbbP{3d)U4oR}a6TWS`WHz`AR1LNP90 z%F+d1%um!|gcy7C2KDWjqSnx1r_0>PYIZFRb@D9+p5QbizRHi@9#JHv3~4dy)v~8f z#`@X3RIp8rROTagY&%Q^Hw>Sam`pF?JKj8UKCuUWf3iD1e;nSoKSSWDDb#6?-k z0fE|T&$2Wofu(N`Ks+j-f^GCje3URQIinlfpILx2bxgi%Z#Y=(QRDoM5BeUXIkP(S z9P~zQ@&Be00q5yJLwUm&SiGn9hP2NPvI-Kt^}WcPlhs2puKsd7V&qbnCp`9Xt&)&_ zFz2Suu=d@I$x-F>+xx@I_6fV$?#?owo@5fe!r0UvMhVH$w6o4*joBc3=!)Ix^ju;U zzVkZ&UQl%5SfV$r9W&O{@d#(5CdIf_NkSaULt{c&RM$#s9{2+ zOMkAnqaouWxD2_{uU|1l4~PchkPoRCz0h#LkNIwG6t6N}KBu6W^k#So6;_t?Fk`*) zSS9zrqU2|ji^?BzCb!6n-egFM>}b}w+7=mXbvpKf%+`Wg1R?J;b`P$;9uGfmmyz*C z=?PSP=UbljekA-SlghTW||BA;XS&HK%v!GL?&$6LH z>=7-5Ic$TZdrN9J=teu%haenL)1N%p z-o@6Vt_mX~u-1l|dwxB<*Lxo3E3TB=VG3KBY z`OG=&0NR#-5>pHCQfJNq99RnALJ!hx`Q*up3@(7t$f!VWf*$pW|3O3Nfo1k z@&C3KVAu$7djyRD04G-^B96(KLpLxr2;ZATX_T4t(08NOQGqZ5s;bP)PKS(}1$$kOrGulML4DNE-%FFR1gvGR5a~o3Z3)>#l&F^na8sG%M zQh@2zS`pX#(nC$E(^t1mx!`ogvWOq6`1$WGe*TR3E{!8J7C&ZHL@weB;@5g5J_DB7 zI4Z#M{`>3eW_5SmJ$zllv*~p^mhzEQf;8JP(xbysU^!WVn9ex$-FnQ|WD0zS!rE!c zyU&_jSBf7(*wlIb1%|2(PfKi`k21|zV*A6(wbs(c214!YOrS05j}|33?0W_Fa;5&! z(YqNpSFwTFE2_SF|CNisQ`#S9ARWiU-S+tQdJ(uZ>Ya6HHdy_5HB=wAaqZODXey9>n2h>@#bD0__Rz#zxrwC`rj`ECX9OX5Z{DQh6>>i2hL z8GZ1+*TiG2DP%Z9H;n{*<=c1p^WvJb;=1zNL|kTLAVqIr-XL7#!JP1Pleo6!u97|Z zIz=N>9A|aob@O$*`j`6)Q^wkz<{l$Jm8w?ikwVf9<|&F#DS&SV-1}TO0XnsFSo9im z?X6fN^)Vr9>goc);!Ou+&uEC_kzVF*anN`)2w{O$^1~=WFN4MD#~KZeD= z0@IdapoR^?kxoH4hSkG)v>~*JE^s8uwVLQdVzK2g=I~|3O~3jXe!Q-A=|NhLUO;mre--h5(eVR zxV=8oUJ%zj`R$Pc_6q1`x&o67?u67PQI<5_gP4Te$vAf|NZ>iX?dr$f>)Qr2@XH6# zDuqoYy!E%m^ZF?#6mhazDUl2QC-=6~z;Fo>oY4@hBD}O;$tX18xs3+Bz1zQjSsjn7 z-#%bfjKl{EbJBJ+j!S=KWXe)Dq~c$pCpWyv2@p3!dNQPc^t5Bax}U5>jFeo>^mK&C z$x=c)x%vwCyxp%?&-eEmY=v92pbDr;X?My0%t&$>Pf1u+jCJdjH8t-_U%zy9jI#e? zL#@&DtD-f+;beQ^92{aZ(faIfzZ^IFZ%@1ZrLe&1UKDgL2tkG|dtnOLvzQ@f|Ly|C zD=j1GO_?Mc^87gjqa;dY_}xv~H4fPT{GraSCR0ukZTxQ%P7g#N4Nxx{j) z%4BNGp`hUOEG<^WwYqWcB`0@zGS&)%t5-WptS<~t^fxJ|HuN(exBKJw-@I}WTtio{ zc?#en?67r3Vr5CRBu?hy4P_c@)6ha)Hd0gT@}v}Q*5s~L-$xQ$;c+7A(?ojn*GNC| z$SGI!u*GxK!lQ&{VR98X&P49aQaJ1<3pCEjE>Nf5>TsgA2~{YxdU%H(T@UV0ysN4k zKVzPfV^T%Bo;5gwsyt*)`PP$W@s-vrdG9=(W=%rrWP3kne-Lx7{<$Izu(QF|8%FPtEs%91TIUkQ8GY>%#R;>M?Sm4Y=P6+N zuZ(|2T26mO({g^KJ-0WDz3(kIVHK5T7Ym9qcaz~^C`yYc26Hc5PWTE+V&E8InXgl9 zugr==KX%X$sg|We-~^)*ZAcgyu0=3JT8ycQdeJK9P+&|_RP8l35C$in%J}sq9#O&c z7bMO)8e5Q9@JpRFW0mg2FGY#QR>O|)tDj?FTDT#x;^$aamZ5|lydmH3O#>_SUBLv; zEeA(Ke6nUG33Zd}bYwp)Hvhcr?t<*G>qK@>=|5;}2A^v4!eVno2`We^vJ0N6)A`_h zPW6hVU-UAU$5qF5;atg^6ybf4hiS0pYmJ1c3QE?Tn+HKVPZ>6t?nN%r+bVs&ApPpM zADg!~P6(F>cl6Z*I~!ztPa^mmm=h5n{D*UV6HItoOdJ$JWj9FQg>0pxlUh$x zqDPzb;si09!p%gPST`$vm)va$1nv*uSU$5elp|jq1|(+4t_7J4OEm?iEuNyO5|RoHnkb93f^CKC>2Y=`zkCnIP)_%GfP_73A$TK zt|%CLn8!{LK6YiV8S=lOkycBtS)0+SMHM`(3&xzY!$1I)cI{#xk)Rhc;DBi5T9)5gVA?sU&%jr}$ zR5*Q$C-+R~(v?g$8Emf3q17yf3aHPg^@EhhL4A?lROyx5LZL+h1`}>y-}n3P%;956o@13gI8MTSOw%OXGL61QMHkt{2yB< zFdhm*Y*5#o8~rn49BismTl*^i^SsQXA4;Z|DrQ(aT3(fir*e2D^S;_V@7}(1mF%#z zDsfV?DUK@**@xVC35^r$dQ2JPAj6xp1#X6Iv8SXQh#jWgz*G^$-c6+URr+sa6S^M;W#ZOWzwZ zwa>0QKPd;0bEzCf^+D#L@D3$O7OQ)j6O4tzf^0IAL2v3bpuwvB6_cW4WdUquE?Sby^>32sw+sd-(OdK*x#)VU%p^85z`=-0VVOzeok_)>cwLT{s~2`9mrS0K|0;>6Aeua` z)RBK51fB=cKwdMd0*Jg?e?-fLPzlTz6M1dD@7veM75$gxl7I%}p|sLf8(7PW?UoG+ z-$1tw-#$2wXVuCrearduZ3?TBOG&*=E@&Vgd|lc7!|luA__p7^Ls7WNz3g_3HsTbi zg0&^xjH>EfAB9}TTeKFET0Kf%L^seFPduR zG7`Rwv9=EJ%tj~!LLaZNVOX362$}5^v0Nn;CZjkd4@*L#QDc++Wql={Qjpu zt~USnZ$JJ1mwzW|M(@({?ydf&+_WBN#lOv1AP2ot=EOLH4zi6qr`X-w+0$FDYjI3e zBIA}3`i%5q_C>O|dJz%wCNpg5jk0@1dS4U*xg0$g!|UCdzIe;r`4iX%s5V-^R3g}1 zx8aE0ZX(0Sk9Xc(BXfb9G(L^4JVM8`l}ycsWo&f!E&old7~pw2C3>PDz7b?sBT~2B zSS9itm)wPm9*x%eS`Dq#C2kl7!hUZIiCe`nTihch@+z8=pu`7+=Jkh?RtjqpQsE}^ zP~K8$<$#bqYqlpk?NNdlrr@(Fzj0<+DiK)t4N`LB)MCoWkqNL0Z8k#g+rN8BFcho{{=iGK#=6Q&VXnGF{7S`^4{Xk{%5=_p*a zt&|cNdFrF)JhL^m&-P?GrLTxzSpm+{H@?vI7X_NVecT*hUf-@XGZyhUU9+=Ag(^fz z8eI`BFT3tLWo3AP6&%rORZm@70@Rlx_A9~JLnesrIH2 zonR9J91#-~+n(&9QRBiw@k?JMPJ3PfmT#~(OCu3|-9INImH(g<#pM&(*7C5!iB#cq z@kG_%N`;h9lqxlp)au3~#b+BfC-xQlX9pVn21? z^zMvTRLtTR`s#iAICFrH&GET1x=`YDwrV%~vR#EW=h4?-hRfNPZ4oEu3EP+htROY~ zURwGZ)i3wy?{^qKKFm2Yg~OOBxW61m=Oqh=5sz)UJUI*}E9ipkz8+S?)+-a=!gPBs(Qo`9xhD80wUtD6+dMdz{G5B?Mln=M4Gg4~j01Xk(sdJUo#eiOaz1 zowd>==JV*&x(kX~N`yBy>DFFJY*RE*wQtV8+bo<-U4`fVgH99|PvpAEB%Pe-8fimwGd(sL~0r$qNCFi|%&|W*p?zF~lD?VwWX)@|iL?deo%A!lCL^ zk5!LmVA_1$ARpR%(ou|t90hV8Z2LNaOj@ty|21Q&t#Q2XYO%g7GB zUvuINC`|9C`F-xH>($Bf-%sYaEVCwA6PZCFUwXx*ldZ@sd7920XHy-ovon(4?OtE8pRS62y{;%Df9}#PHgz`8Dp0c!-R8Dndl20k z+gd|nN=)^;ZqEGuI-;N4db}XI9f$rbddMo%FQQim>y#B7@U~dx_PF|S^Ypa+zR>OY zH8q`#_o-d!N)NvLS||ts=UN370jOoHOmNPv%x9x-rhp7(NrN7T%PM^qy!<@|g zf(E;>R4jg(>WN)Ha~N!S?rt9rAN%e3HEE}(>EYAtxo5+IRZF*JkpcuP~;I{f?Z{`GlyI+|U!YxH@&xec7O{W2v zOL9Yp!|P}QJb5N!@0@Q7p8=C)0C?(7q6yMAqqF$)3S_IJ_Vyok9MtZXj?+)GOcW#A zdssY9_1@mi9OrnrD??XT=VptiIR8w!F2RtKdtoFj91(VA0$eIu)+3q4J29Gc!u(Td2` zZ~Hk%_YW3%!nwpEtC8(0a`nxA&Yj5v&IMt;+kZPepPf{i6zC!^4Lq&THQ_0Y{`F$4I^O9>5GV zZc?$-sZpbd)UNvHFo}p5;8Cg7y=pcW;d?XT zRAdTp3k-vntm@i#ijzI_ak3-z8lyxInRmgc*7?G5s=JQUhw}G3P7Vvl z@txI_HF6xV7PKEO9H;v2IDJ9Gpy0>d>bQAcvbtKyBJaivWpin3~@+6NC|>?9ot^tQ4t z=P>M1$0l4ZIy$NHi}%jc-z!ES^wl;-ua$jcCmJ zo^k1gZDDG$#8qXIQM*UyTMwn_7vH*YRmrZD|6!@UV!#%uqe3Nd&08p|Om>~r6|VVh zU8m{liVo76<%qipA8(4enc=as#T40zs2isoX6B?)DrFV!l^F2f7+}OOP99~Utb#A} z`^t`cf7MoCjPix(|Y6bCQ9PfTT+}*xQbTfnw0ny)B zlH?{or~DDAmI-5IW56<4qmwW-<2T8k;J=YVudymFW&F%yHCY|k(c~IMs?;V=@pivE zJRFfFX8+rAL8%+1a+to=8BOBYXQKVXjpe~XJQu{E>y%m`F?kxk3lLGXR80oif(tE7 zT7d0jCbEKah5lSLy?IQNkGE(_?|0k7{dRT#`f_d2(%&GW6GEh$8>zG2$bcBF;en5Y zI@Z92b<0-ZxF>9<>PA7JW z{jbgH-iZd#PyNL5{`qBl_~+-#OnM}|CJO-zbK~Yt5M4acr%#-=WiVH`&$wmuo~8O4`Y?&~8X_Fns{X9>IFu(Zxw61_;)C(aV2Yak_r+H6by3WT_$i)T zK2ug9YtkS-4eh^vT_rGd5c|Ar|LN}S<@18x#G%JP$QHJ%*>pOO&*3b1%B}O{mD`n@ z$MMhE1ap6Z*{UYl&D%t`Rp*_%{XwaxPU!T$&^8-IJT5{{ddDpb%}&@&N@yafqKAsC zg-GPeL?Q3Q`HCh1*|tzoWQc+a6i8@T?IX@AQ2MU6l+`%DBpjBVe^^C_7)b$K7E?!N zuA1Bw&m5?o~Jpm;t-%^Pum*Z6{NOVR08mN4wksyz<%6p%4HMIFo^fIY7> zx@L;ji(3Ehj@6#TK8W3$7X{QA1ScRtoS6Vw!S3bOKK4ZU6fqm<0|*>mfoOgXh`4Ue zBvm-({^Jts-9bpiY5KK|xseJaNZY-^;hNTgt&0$&o!l_H3?e&Y+sYMrn(Ru253;(W z`DvamWVj|&vp3PT$0=h%f!2H?cz22!w-&UDC^}J^buz8k#{1MT$Q;+fXJ)EG-nHLT z>aZlWNgn^K;=Bo!_72|VpdQ$HDq$pW$jnwXIo)QRrM`dMe8nx_ADODD$on`q>6^rt z=Tbmo7Zq5G*DN>#$=^U3mzkq#a=OTWZcp&H^*?T3o}ZS36|2+j;%N?|ZiJ5-OdK*N5%>VnH_abq^Zb z6F+L}Z<2!WiJVW!7uI@WDc8PsE~<=^rQpj}-& z=4t;VpUTzWWbTjstijnz9KfD!VyrWvc%&0TTChW@J@X}Ys2s)7cBO|RYd(nYxSsCz z_zhnCZ=3ykaoDDv3@4sxkFVF!8b;3Kcd<%1mF(9@1V4X+LT=1M1l3|<4)gIjw7^GR zjyT?|J`7QZBv!RMe)bTt?cYPQbTI0o{27)a>T0S357QBh8q$$DZg@=CFep`Lre}AHdG1p5! zjpgMAU%xbX22m$Gg_C>FCipN$`BAnXbVzj>O`)BY-*86yx~5U*EO3B(hTqFPftyiv zp&-|{Z)`cZR*iZT{gMWH$l&A@0Gz9Z%w+}Pu%336eR5P(KCB-%Pfrk2tgf%O)s@6i zaw}Qu8))Aqd}xd!*YI9jAH@>d0Ij<1OCbT77$-9Z$xLa5ar_X}qg%KtsK4mic!VCQ zWeACR-m~GRQ`2oTC(D8mag7YB(y~wX8rYGI0M@s!^TN1mZr36@u333z{}T>Z_-7Y4 zt-Wbjj$-QW00lDA) zWU2O=;BRa-Z!QraD`N{qMO-K1stnJH7T;|*ObmJZ`DJszUEH8TSKanB;6Ev-X7j;>Rg;hB1~7=;?4fSGNA43BuQzpy(k>|b$%!>8@b z%l8W$ql4NTq;bLZ0JA1p{WT(J0elBkb2kTPskTob^H6I+*$c%fz=4>TbIPVei_uRK#Z^G}T9K8seLXf@4&0lUQGMm~?Tt%00oKZYdAT zokeb4b=8RshcjPxPjKn`<$$L1tK3lu-P33W$z$)|OpPd**FhsUUhWM(E+>voL&vJ@ zvQ)_GnVF!cY$Z{@V$!y8)F2R=5EvbM3Iae;_Dp-&tPN{?&9g|z>wzmQV;C~X2#S@A zG67Y1ro95;!yr6f{Ivy!t^(z8@ycBKEfwP*Uy9O`MR#_Hd_?aM@#%)KxE>!GHDmLtHdB zb!?bbdMncBGp2O^{B5=09k%b4U`@AXvn#<0QC*rJt(}m`Rc+-i^c^tcKEoUAj8iYU z%FM1f=*VHN^?Y1+FkMA-lrTvp;l;M|V}*cxjVo3~63<(G9mMMM4~1M0F11DVY-pJO ziui<^%ucNPZcl~otHT|K=G>S*-U-6IL$_>kaKX1mdDV6>BW7TI@nD90KB=fN^A&>7 zhp^o@lfJ&)9UgXAS;PJ3%X&R&3j=qos;^8OMA8RLI^glGi>_sdnsj)l$jN0Rv~#wF zYit~a1S{%Wp=C!f?Rps$QiqZA|iF7+xb}}txO}O0gre#gY2|u$x zfMddCcg=eEN?;F?pQcR^A2c(`iHI;`MU4ag9~a)b9)C*0`&Kj*zf?r{bIIyv|7Ek^ zVVFGsr)#IIE%Lg8?6rklW3a%qv;;-)4lA&#Vl-8iN3N;aEY5{{A9WRtL>H6Oe8qab&O@b(LdpE+4g#ioF_a=9gy&qK8zFj?Tzu&#Ryo0H086Z{>5*8@^ z%z(u?Y?g@$I7vc}<-NkP8_WG4m4GnITEg~^a$^h6mVGcr-G4U+I$b=J$dSn(T!IP; z6IPnca3K7ff7$%y3X*|x{03~;Im6%v~KAQstA6ZK2?ic~5dXJ0NLW0G!p>zm2xNS-4_MImBAi&s4kgZ$`~~MxRu7wHO2KYF0&YT` zZj6^#d?Wb_C%YgSq>c@%gS;}7zTkpL5ni@&f}d^AdhtYFPL!`X(dOKMaZy{u4By*PPI7l-Hjr2oNjq-rsok>-Hv#K3CTWhr%PKE?SxNII{LdfB$KED==t$zp^)NggDdLeHSKi#x@7K@# zR)%JF7m3lpHq8+qn4PfB!L&vZC^VkLOp0rE=28!)L46h&2a6DE;cn-jIEnwrNiz5e zU)p9PtYy`cgqAa;`6L~ZY2hT|%XPh)PJ$-z@eRw>FIQ0Zb>&|g*69k?ha1Z=A?0!@ zuX8M_KOd`lr99w3;V5BJsG5bzmLj}csRJ$k+)*mE?)jsHw4h($cu#=1aFkS(&saE$ zcyC>%oR6}3-EWQ`JcuQ}Epz^xpn5^rfu)zGG?*IUL2MZ|^}<0c_Mom(FLB&qG|Yed zgE*t9{pN#cZ05p2#EXZ~9OFU0ZXdSC*O%Sq@W;Cy`0}rt*T*Z*Q#H)Fv*$s^(Tf^3 zsRW8!Qi#uLsa7o@6yepvMbLjIq8l^RK1g)yl}=UB#jnS~I$<s;8{8fa>&v?JsCOV1eGbqle@@w$x=o?56cRYaTG3BBO|44MWSg(OPB)V{Gr8rolx)tZIB)We` z^qv8UM7NFPY^j%Agk3A8!FzYhT;JX0I;60eOazKXIHRDRtc+)X0^NjA(mI5;Krz(~ zT){(%J1(6;FjqSyKL8=pN~!$qB+rYI$Ek-=pyZ+JrBunqJLggVQS$xf_4(~ZQ^sFe zE%US*#m?1M0f0>6p}}|Ic(rNHYRW8m8rYCfax+Z>hN1{zR?4IL{}m;Vi;^qt_aga} zM>uN{-mIj%;c4EP=)J?3s^=+hP<%fc-#zrXb5 zvh-*#o%L&EWtJO7HmEAS)f+fjdK|2o|0GM#-j!07-$Q!W-#tW9fy+g?N+0Ib@;ovj zAt=iZ1LBCRi;8=RZKjZ5W!(Y!-K38T(qoakOt`kBh4F@>OpmmoeNzV)8AS!Q5b2#r zKbp)YJqW(SweIVehpT796J;x%;6Vh>=>`mrfW0M58I)SW$vya8$>{C0bHmBXa9lk))j*FHTBZP+W z^Y}^|O^a;9nZ(Fj@GNVDsn5Tv@BzJUU!g`bsrR2R)wYDzD%5bm$~TjUqq^1{^3 zWu~ssFEOUaE3hI)qt$N#UkF|;7!-v&3+!;cIoU359Tt(~G-5WB2tJz4LGW)N_~AW< zF+HT}aq3Qr)DkODC&y>PM;lCHTk8xlArva)lgb=~3RXwV3u%gQUFFV+=`ku+En26# ztW{Y(ibDK#KHuoHONRF^y$J*gn$t~o*s3zBG+YH|?_2bi950V~zk7Y%Z&%07{^^QY z8T}ce)r-fNa!Gmx7*Dvc_Q|VaZ^1oqZi*^1l=KQdL#r!ROkELnD=fhMo`MIX8v3=f ztOYkQfzMTQs8h)#IBuOEV@-$SJF_ceyDtP+MR)z?-GQJV#@^EJzrLp^x{!+w717U~ z{b5EBoD_5u(uo<@GzGgIxS}yC8XPI;z&+{-=gS62c&|#=v5~{P)WYZ8_Ti6*=hf@W z=Kjl4y+H#?ak$YS#E$F_gS%Qs))@=><66dIk!CjGoWE)1DLxK5hi0od^byvpqPdml zEzMuIhlkbk%XYWlZ+Xr1*XP~gV#X45@PLGI2G_3HdD58?3U-W@%S-}hhM)qLMydE0rz0gt5{$3Wi(Fg1`2Hn2yc zz1R>|Hbk{pPKR5wmF2ABvimJMM})_o#(A;V$Ia{gBRF8hA1`oMboPcqWx?SHBMzo5 zOKe>p9FQJz{I$-D!TX+{gxqx$;Wa(TX>0QK>-IBvE17n?N_uSVlD2bAbE?uu4)f3Z zEQ?{nSX;)`tXWY*iOFGa3yP%_MHt>@;5zc(ZeM;Qoqy-*H6^r#zZ+q3p_86XW&+=U+0Mkf%c)#q zVp*%jX9dFvJXAvT$#|%kk_M@f{LF2I(75#?f>&% z{`9}A#Q*kZTn6s-8?dCFWQk+8$ZOW>I-vqz{p5#m!LJFHsml3PU?&2XL10w3$KB`0 zDfMIh+A~X<9FLo>*wzYe-IjmCA@iKyY{o}$HWnX(-!!s^6(+R;@yD?q!9(BPZH`-dqsQIT{ne!FJ;#satORZI0cn^Z z5dp8%qQgoehFt!`%4sa)*rZ_?3mG`mUBP+$i4HlPfj@1&f7)&LAHg1;Igd##M!0aG z?A0btsY@Y!*Vwd;;!bt_zKw_NpXW))+b=jK@CXswWgCA&*)_-X5}A<_U0l(Od5p0` z1`;5;F+Pt<6vdP3sMyHd>BDyOfZM=03%M$Mk<5>c4U^DSQ<*Q}kvwkROi}gmN#q#e z8w{f)C5j`}0~uas#E;wGwuidM^0!WSZk6}t8V9uim*2|dh0a_jVf|D<@>u*v+H&>8I$66 zjv+ge>ff=BkiCgCMD`004+od$!*FG3veD`t4pnY;qb82soNChN`ZijTp8c~B7_nCIPgGNW9tA1zC=NTropD-f?Aj^L8f7Q3pA zom^HG`g(*cN62Tc|E%;^*cK{nc_@z{rZ82Uj*^ zu#5-=YGPJxNztF=M@&v-jApkc*~t$*?Oq?5{op#Ai0lVJP(jtzzhU>Rl4%v{LaI4N z)DjRk8hb)E8?YHN|4G&o=B9!qUwe9F8T2$NwRwDgCqB1*#tc3lYjB(~b9~PH637@3 z^4g``j5w{tfY*qF>rFOF@+UASnnj=r%uW-sjT3<(ki-S0*IzG{=VX+i3j4<0J$!`V z_%P2@rP0cnZ$mWwz>}dXZ~5p_bB`&ikR7Byfl*bv>-`V*E@C4+pPfCO0+$E{2*AN{ zHcc%& zs*N5LltXfti&B+eDA(e-lN6AajR{ zE^R~_L8vuIj5^z|@`j-50`frFfm+>GnyLA&zU6^arJ{eNw96_}8H6BTyWo9LY@dck zuvudzu}yX_k%t#1p)yu4KcC6NuQ`YB3+&j{lN3(4xUCq+^F2KbbG;eh^l%Cs3>XWd zOgshh+Cg5tDw-72gJQRzUUskle5D_XNWdn;08tF3d;m~!P-@#!AKaIPQ}n?P6ix<= zXACW9T!h^+85IO-1Gl)fwr10}H7|YOLB1=CVIB+aGqInP!g%cw5wc#WxT86o+Am2t zAPt$H3>$uCp90Z`rKybapk~4C{o~u+-5Yku-YMjbHKlQ#O=vdfY)Q$ki=9*;5_ltc@95#9>hwdn{eqo5rTSj@AG+TMHSDZ<99yK)RhMo&LfUlvvQJS zj$k|@tx9(o4Wo{2v?PN14a?Cbj0r>{v zlQrY$*_duYW`7#jSsmD=dEI5a6xe~pL6bbyz%JX|tn1Q9eim09#`U~-_e4|p`S}e= zpt_nl{;iCD5xwKM5va-0fZ01@8c=v2R+b`V2y<;bQ)O3KNFn^Jo_0soS7(0Flr&OY~G0L6xT+?dRmiE`yzhDP2;a(15QT))jHYB@Si>?eyDmWv7*mx1Y8T z+n3FLh3f?tO^?2*1Z4aXsF$n|7anPcnZ0c^9kkmE}amJ<~X}$bxiT8lH zt&E$_!4ZgimlTMiy!XcRbTJdFXpM(R?VICDy-i`Q$)jlk)FF|u8OEzDC7-Q;!m$Mt zS%Kv5FgCnbn9@k&Siv9KZaTsj*Y=u?Ipg-`CUrGJG399}dB>AFbCsGst}~Y!n=?4^ zbw?q@)i;hM8|$&npyRnT#}E$E$u)vzW|0Dg*0_M@1aFDl2CW*j6caI%6@rs5oapw; z=7lgs?4bn|g5trW^Sse0|*Q?{vP(7V2jKqCDS5fN~rnNHNZlZa$IoVSCtNEj? zJ*{^igMQn(?MWN7F+0H1ptFV~fCzo&vs6GG1QdCI!NO_aUAG{6iO0M!sTFo_I@dsM zQIefsA%AO&kAJF-%f8Nsi)~ySCQGW&RZlc!r$_iMo+y&o^+dWaeTLKInmVNAIb8M? zJdI_<+Cok>Q5;%kd2NL`LRO#*>#vo8CAcyx9=&IbEJWIiv@x}yzFi|@9RUTeD?ega zg3>gGXwK72EP9~3ZspQanf5Fi9R=Vb(IFM~O`#HtF1}gwd`yCdt)kz4TYug@zkJ@l zK7TuWM0BG#rv+R}T~ewwdK|A(y+ucPzYoDSUQb^9;Br#%9m}GNgVw|zgXnbYciWf4 zN1>%rO$*oFw8L?EHmL#rFvz2DUSv`chS_Q`Sv1C2UBIidi!0V#3-ey34M_a3-5yqz z-?joT?hi{So(`ji<;bq!lEoe1d&X@7YI;9Yx!MFoXLh0^@uBy6d*mg9indeEGh$8S zkDaIQdel6Jkpko-e8tA#*C;Np%SaT6K-mzc{$p4go@iAV#~(x7aU6lA_Q!oTy9^(Q{4{YA2nXd=F>vLuX`X>cJa-6gob2yKPG!O&P42PLSG=V zSGyT7%wB_;Y4<)+UI0Xc*+EoedZUj^!Tr=~ z0E^)QvsD@2ZOHt+G>LkymR~Sqt4xp=e7@KP$&N~dWf{8*xuGK112aFB>9#}7sx(4= zuM`;#=v<=k>LZ{AoyGiu0)f13_b6}ENeRrN3bd=p?0LQaYj`h0Sa*#6EPJ|yum%MJ zOFz_gL4hE<9CmxhiJ7NB_H!Eze^Pb?w8uUV&Ws#{d(RMO`k+P#0+qGE{!J~_7uO4k zzQ*NO+1bnb-z#c3)ft_L`6l`WmBA|hNf8=EQiIZ-MQ0!DPljoJQ1nh^GWjVkr+9Vk zxI^-i&B?@~$GU_QNHcljKCb=WR*X?eTHD{d)Ye`(Q!te9FautFtL2JYIaI zJ?b4Zn4~z{FPBpAi^*ZarNcaJ?jO+(;r^e+qoj9^LY9-JiqCDIhNC1Ch6XYo#rpQ@ zFArB@d0LJVFMby+T>tPVk*wazwunpL#7vstNGhboMm4F&!XXSOJ`xPjkWjFh@+lmtw#gj=`fE4`8*cn5mr?BOD@#oA>Z*0swOAG z;dMnax1eoK4m1XZ^MPKTkJ~F4pr-eZf-1!2qhK+I$gP)LTO|;PyI~JAX4k=K*xl0C z@p72a+sI+KAhun>4_1e(b*=7aHGT7+vNAg4JO zA*$2NqbFA%Ct;>Beja=~c|p@$Om^5M3dg~vkXJx6;>4_1rrYt?&!yJm;1ooCJU@3H z`_9Yp5Iwg3`aHrp1)Z@joF~b7^vglSq3_Rg|GcKJ^FdQ^;R7wS=5Xt%0wnT*&=kzp zd+|UV3WG`-@?~m>A62)tqywp(RscnQnif zl|i8E#O;RSRoOE0j!TPe722;0?-vpaH3*E{A(U&lR{GRe>zwQy-Xba)yASYLTU|*uFsG=-5V>%`#8)P2 zO`o?S&?=m9HNpo*R86fJ2#YqH8HvlTFWt3Is-GZt?WUyH zrB|uh^F|v7squUM@{hlKNK{&+8#JBLThohBkiSp?Q0rc9AB)%1kM)LqQaFCDoiekP ziEh*jeu>iIzkfzLYTWJjV|JS-f23q|-fUZ(q8;-EaJI!O%74*~D3a%8$qAD7^bxFS zH6x9Lh-IgaY$9yJc`M?}&2BTtV=es*`@icfhWp2E+^d3+3|!Rmd}GoRx=pw*HSoXFK%(2ol=rQGzP87oo?U zl|OseT_2d+NSSmS=d6*>qqLq&WkSGRCgDWvr13XqDe-2uDwFK^1u!uBp0Gh9r+?Ee$E z!~xXgQTvq(6`e^U`Z+}>(SO?=zHdP455N*TR;SQgaU7yWYJiqiMpl?KX;2Bt>|E$L zovO@PWVV-N-ac$U1|I7qmfbk>HJ=@dsjEMy_N$6)LGO*~WK@yaWp;Z3X!{<9LuXfi zUe{}ZRA=UwDAfpZ;s9YSIGyZE%OwLz4YpgM=XsH1G`X|@m>s?FOr^BEGw{0Jiot!o zR_By8TL=NESS>A7XqQ<R^Mot`Ue%c5eG4N z=aMGl3cC3y9DQeGi<{Mg-HfnGbxi-g)Ns=umsYx>*sBYP7eX58v7Fe)0epz6T{2YA_>~XXbz2p2t5?DB+^2lLWtx4rQu0i(o zGK2Y>ojKPo3FHb2;<5QNwe}Xx?pf4UwLgh%NJLhhesT;1HX`sj6~3AeFrVnKBj>F{NEL1vaWsWtjSOUWwdr+%hzQ?aQZ&O;6ZiyBEi_NrkDBqr4n#S`I46J;;euMaj_{y#dg*0=SCk(0ZuX6a7_yJy|b2d4}(JI>% zZBuCWBf{;Jjj^s2uVDL(Ex0zyM#Tb$Y}0YL>$rx8=C!e| zGK=qv{U~~6>3w>B*?df1GI4UlY%=hx(bGF?;~c~mF1fz37zrAtyBJkk@q5_~(t7wK z*WYl*|Kjxo4Ckee%XIJ;I9E`@hP&f&`Jjs!%(7-7`HQ2o780kdnP5>ZXxY;K`Sa)P z%kdrFGEDd{CZ;liVdb6?leva`P1QAoZ^vj(ELIDg!jM0>guxR6r<_M!@z?4~=Uwd0 z%s!boL~@l!FkPBF@(^zhxJbykoEsNfVXVr+YDD+XD7I<7uxd%FCK`#S!Qp`vs<7_~ zD(s^FvRE7VM7>ZR30G^_2e-)^^0=m?2L$FoA_OEowiGsK8LINW^1+ z>PA(y$fV*C|MF3M3zntLPqBv)dZsd^pRs&eJ3N6vgrrQuJFW%Nd%`Wt(i8^6^u!9Lq7ANIGtMFHLW}kgZX%O3G zulD1yUJKI_EPpg@W$W|xA_UIYof%6V^W=;YCeJst;Ni~ zT&R?~O+p{Db-h*?6?)9s%Isw>8IWYmP(H^JlT(Eab~3`ERQx$@zUqcMiD_NOTz&R8 zJg4Om894_`=ZPkKPEpT7h|p1QhraA(gh;9Q^g9^tzSxo4kSM>$OBava^Gb{Bdkk(m z0UZi?QVCkmvB<&Xx}x7D01MuY_O)e$t{XHXzKHgp|~StoVdJKku(c>?pouu6R8%&A57K#qdeI~{m7fQ}Z9R-EB2}YT=?+U=T_TbQ4HBcB)~rI8 zyC?d3mkE$87?xgOY>m~2cf>)e$LBpt|AC%iouc5EXY0%JvX}bO5CvSm z8<1`wxDBe3&K{h3j;zspUFOXYMCy8-dNd9KM>`?XJo%C9`y=%r$Q1;sV5*C?EMV0A_R~9k<#4e>o3f;h%t{k4k4Rw~s0A7HqAtoYsyVtzWG~Y=j!m#7l0A%TI?$qjXyb)W%#gWpW=Ld5 zU&PMD?ANBKDNO8a_%)8tXaGVjJb?Gt+YGAE>^7}lcQFgSNBF@f%5UD$k<RC^25ji zv)^>OXX|CV>v7HE?zfwlZ&-G}2J#DUGN`2xOh{yEbb@0)B+S&3^@zOgpaEu_at)Bw zgM}MnRWq^AblTY~p>dPQEb+(GIgZ;bGH>}IeLhF^iOaW)Ki#ViM{N#P1ZThLbbS>& zf3ySr>t_G_cBEyr+x6Gy*FEk?T|@|JE)#gy@Dj!6hkEJF=Yue~`=k{^A}t3lAeD|* z*jtwAbCVOIWv*q9t`0eH+{`5YQn9Si9;%%Qq-(?Ac%=QnjT? zIm;?8`$ew-KzPm6=1`k*Xde_f^!I9LLFsq&R3dSmwYD?KlQRL=xhf9HM62K*`nfRvF~(B$)QtV{eu3E53RcKB)2a8E0L@P?uED{ycWNzviKG$3^)$h%y*3LY{f3E&kf7m=g4NSJZTB-7 z#+4yF7*^jNM#ap`?4xwfb9+4SG%>YDz_FT1LB&FsS^nWPQBLEA(|9?};qCs*^ZvN{ z{I-AJRdf?)xJhzG0Wn(%{5Skx&nMz(?J>seX`g8;SqB%q3^~R;lF#GMoTujAH71>% z##N4@XZXx>0g9U%)))e-%rX{w^yuIQpc|Y9_Z$rfA;Y9ZAa}U*9qyl>zP@aa$LFiZ zEF;qWx3rM!)s{61OEX|Y)m&5|=jLM$s@cJ{5co&?>)wa>YP|-7c=QSDw0U{i9R-VX z@#;-?^*9*aqG}GU-#}J!a)=WMYe;1jNTgD3+vo<$Z38K%8c1fpVLrl_~ zo!qiGB~2Rs@k3bKSz z{UJ>WUHK1*oGik;_@_14`ibbRy#VK zTWrD~zwxx-)m%C~uK~9m3R-?5JIWKJ?pXl`c+XC-YIhey07-*Ncu3Di-QH(Y^4`*{Ohu3Ch;T`X#`l=DrX?D+seu8QFrB%yJ%o<{_)| zeBFHi7^_h?pU0;$jZN>|d>%dJJmC2e>}IZH#f`cvg-dPu~`z8fxgc|HV9Zr(H{MO+%m zr@Y`?Qc9a!;)%NoYJYKFsXnEnbhN6CrYOp}=5Et0B?`u!cmoSPO3#E$u zORkn(YflznI2U<%`F^*3r~=<^*PmZ-$>Y+dgtJp``ljD*oYjEU zSq3U5W7vKkx0KAJSv)up&d#3nB$yirUc#u`rVmn{?(a7*uirlsrldkN9!9Cj0a?d5 z>T=HGqLrq}u|hsVP@vK@2aG|Na4x$XrVN4uh2;YsUw3z#{fExeMUk>JlU{4S97RT4 z7dSpwgF{6sp0A=?5j`%8{;=CX9PptCI1-Xwv`EOY$h>=EWh_YH(O!TfBFyBm^ejIU zW>23w%*R4FOcF2UY{q*+v zC%C0+tq@*}Sb$3(36AJbHgQ-iV-65`!xTieoA}3tYh-u#+o#9fyAj*z<~kNP)Zb{1 z!mvw*M+@RvB{95{ur|1sz7LZfB9E1>Ej2Tkj>zJ;O@9pPFR7@X`|kDb=@8O)*T(>N zZ)d10ue>6}QMxe3>9I9jP6lNmo-|&)mMSbe=d8yP<`wmN<@+sWwcCHXdwcnOZGaD{ zXWN)l$C9Z5d_#=)7sj))*DjeOIb1H=!aEL#n2^Z!BdDV4m4@hXb2x1Gt83Q1Yp#Br ztiPFCc;SXYunKl2NIq3K=1&262NjUV*Dwxpj8;45*uo?q+AKT!GiE2USyQ#pnnv5KaCy??IJkyEgA19zle&@#El*x;138Mnxp3hN^jtr z-OR_8c;&OJphjFmhd~_r+4;`v(0H^q4f_}&pvM1on9DKDPXsdS8r0k@e7#>eu$;HJ zZ~H1>J+8e`WdzoA!~EainjD61x#{mzt7a1denLbCP|Rd?jiaI-BAU}U+Vyr7F(1%vDkX9#mhzScdxJe z?W*&g*IAZmPs-d*1{nza;sUL~n{N^EjrdT5Yvom$5subr&iE>LX2Er*Jy(2U#GMh}kM08U5z|;>b72CY(tfdaCx{+3e7(wE9jG(*cVP6p1c9w> z%-r@xp2fhzql8en>AkRO7p*{C!C~GaXLKjLO*B+P_}j}Lj(glhT~}TH!&R(dAa*jX zt|}l$8ob3T4-sU-cyyLMR2sB^&E@XO1FpJMEEH@6nZn4Kj;nf*eSQ0Rzdam|E8b{x z9fcbP=do2(Yg*`Tsx^do3zs>qgJ}VmbJdH6Vum53uvS6wH0uk~8R7Kv8R7T4Cjok0 zBd()mt_Evn6tM6jS|=I!`E9PapQ0ctI2KnADb8s69*lkk>KH+zp2lAE z3P{|Lz{bQ)31gC}+3CP#V0D#ZOpx8LNzBHC$&3JDK%T#x(eCEM=x*EBtu?@d6#9+9 zXlS`1T*Wol3MyR@^bXs?v&>cGsl?I}h^0;eQyhT_9nht2;zJhC@6#SHRO>2W0SMi6={TcF!A$O;nQx$2}X^wEWP!H&2@v8k2eW{1Fsx$|~e# zO{W!4gaL(25*H`8V4yfc6~{Bq)K6Iz1C}BLrdEREy5u^n%G~4ZYcn`&z3c>Zkc=^> z^MecXLe}PdWi@NVVchKW(G1*=f%8oRrbF(8K5w%iRwViRDsNjsE z#pqn?fUBbB(nK}0sQzR+lgX4o)bm4X*Nf_IXlA=#)+65^!;>(rjZt{EI@1N(S_ZR# zXLKa-*cic+*^{NXm{emvP#L9@gvXAD_32 z!utMM<;H^(cxqH;7a>+fm{hKzR;<0eSDaPO%tM>TX70~NW{dr+Y$6Dao}g0+dteUih& z@oJH4cW2({)k%!+4z00K=3+8cVz9)0od}i1%gvV~@|< zF>_Hq@GNCx03TS)u&)_{Acus^^9dKMHPb2KX124Z8Li)Cgk%Ndl_SR737f|u*ZyceQ1AehddKP&Jl0rN@_;PBx`POw1 z<*u&KTRod;f@JG$HnXoZTyw*E{hPQ%Y#gJRhR1|>=oW)u9nh~$)H@luHiD&*k)zu% zN0PT4mP1?%H35Iy?DyO6?>x$3+{h^a*?iGRaCdgt2-gjy+!!s`7lK(yZSF->f_vEVgyS&>>MMU5R;c#73G!moOWLfV3{ zFSa*`DCyJl^D8UK-GBe(&wu*w)qno$YWE-i*T4PgKUSN6{ntPJ+h3Sku=6_9G@-tw zoeT%8n0iC>fdtJH5@ofS-HFbEAH2c#cyBa>NVW~TR3#_042jJar0{bj3wxt&$NCRn zHcz_^QndWTRm35Xq<}OaWvQ^%!Y(t^vN6`Y5g53(kfw_G$x%pRow1X$fHgHRNda3U z%U`|bB#)HjzkuT)pz+hw^Wn1iR`*BZJk?_H66rTCdruYJ4Qd)`;&qmaF&(%=VVrHm z5PqzC6T@+pKb(;tp&Yk|waC4CUcfMQq6fTuwBo(&hgo*`3_jq(J!Q$c22PdV?(R|c zs9IPeyJOjzWUENcLxZpovigtDkB1|Y5iZdSV5Fjg!>H=V#n#`L{b6DYA1v*eOseZp z=XWQ)xu8v!>Sn~{mux4`$4aq3R)tJHuDrYbwz}KyU%8#XJm2orp%CVcP`>d{##C$* zw#>83>+Ef_oD(5eLvgnC;$#3dP186oYngTlq)qBc%Nn!0w@;ro`)7U;U!O5JTYzSP zkR9#POm$@^VtS^yual4>-*ABT z?&7&1&}p7JP+fLT0t@q0IHvl=z!}bjJpFAx%vTo|kvm6G3XqGi3GCF6SXpLc0`I3> z#LT_e1#he4{`u|mTr1p!@UJjol;){1?bPmkM z1kc8tT)gQn{DO| z%;Fmn-=2scI`I!565rh<-!haYJ_Z|%CBdr4WD#TBY8XCM@nbll_HwwaxSf>6w<5l> zqqK?z-P;R}DA$Pevdpa?jSyGcIuJ$3xKj{sW+3{+GsfATpo2wFD?FNk-Vn?wvKtR2 z56e_cQ*`}9Je#y zq=;q8B@jIRjNta8g1cf*D`F&g)L7PEnJ-Ok;|we~``V~=WZpOX%iXX3m-nRZQ5Lb` zqe`j2q0q&)9z}s9R?`C3-Z`Y-lj}2Zw@yWG2N9X0$ejP@WmdbAOp|%s>uU}B)D)G1 z%nX6AyQk;Z$M38C;dTq=c7S z+utPc3fxRJuwGkcOM-ubdY9yZ?C626k{J>Fgj5KoMl!bkM);=`!~x+OLQ2|Jt)YjB z!#7r~f?&yUDPJp7%fn>fS&TB_zXuXJ(Vf@2B)lE^t)Za_x{xyDR>iggPAxSdztFJT z5Dd7}JU;Aym=I}_%^S1QOw!iJwK8|N``zLGd4E_TEN3Z{w|cP*5|Dy18O#e(pw;^i zxGub83?*9$Y^n&llJfvAMhK=!nwzDbfIVnoM&N1}i-eM|tEbJ&ZhKt4{NZVHeB?2U zrR=<$b0N4Z(MMavKhbZE45y9-LQZC!qMbk}eImlPR!WdH7s${!`v4AMm?3E@y1sDk z1lMYg$3_O$TIu3r{f!dCDs`rYBeEDf#S7?aYs`4BFgYxBu&0{Ci)JRTQ$Q!Z1ElLF znwXCOqOdm;=LlXl3Ql5WKwD{7a`Q!%70e?m*jS9WNRBY@AXuhJGB^|8hg)D|Z@xZ$ z-|u(F4=%@<(8@@JJ5`xW5%qwd;UIz{=FD|288kVMAtG);X}OYIbP$=x5D{fQAK_jm zNa|&`$}PE3bkOXw_CZnLrBX$AVW?VG(c3HLw1UZykkny}ZYMKDx2yML@9rI0Ug>RW zm*j3r7G24ZHshL>=6qbuiI6{NjBQc)*2!bL&V)#2>SEi(Id(Uba}_?+()80z5-f>a zs!NIBf64^`HmcoU$>x*6YeDs>UB**Q(2Y9Xcow zT-14`=WlwLI1`k$B?yUN0oG^5>@LiM7EvT}Oc9`HtX%lnV7#F)WIS=veE1*>0{L1qcmIFORpOrEwz^ z1SqPPmx%tzBj&iT!I-s2eCw=5mZf(hy~;U$e7;yZJS;F1B}VL$1VlP`TxUAML?N}X zP7%hjniz=1MmV2k3M6CWkV(@PzAHD)bq>knD=pYipulCSzws>EB&hUgaaCzEh^6ME z*{T>|&PVldgJ=o+Q=D(>TCH>Wp1b;7(Tc%SQO0u70^=8(XlSdwGsnA(f?|IY z25d<5n}Oj7ktvYCANPK==Kchlhvo_)NqF`W|+>dzIi9=QeQ_oY?~jKaU&>kUX~- zAZ4xss9<*DDgd~XR%H}bk-esQxa<#YleMR`94C#kw;P(%s-dDszTVInLJ*KjN|M9L zK323QEsbNjnF$Gk`;*8VQm&WX!}f5udHekM?pSLVaT$M;(CzTk$E%cuEqz&Tv}%CI@WFL9sJ=ql!|a0 zWbWA0=CW-Vl|-nHrb%V}Gi>AQ^EX6&y*o=}yG=`aY*E}JIvavNOcrVMnj5Uk+zQGA=aA{H;iJ#mjQon2s3q_9US77;=y?L@X5q3_ zhnnAeg=g}a(3w1hsL}Aj*=z>u%2{nV;rQAW1Ubqd29?0gRc&)R+O&6r~F&V4MEm;iY zUyzn%P!WUdZ3-U45#LNbl*U#B7MEV0A;PBFc#K!SZjMW#lkTG6+*?9?0^__G>~&BL zw{clb|n`oCOfCOHl!b(iW^Cot&k4oti(@3VN6s{b=Ayj^R(tk{>5ye zv*QH=Z_j#T>H~G$Oo0fcVBOWJ4cdukRy8{k!=?w2C%}1{l>GHp>lJn+v zb-z8Jm&ZER?*1Y$2Wh~xO|SbJs`^a4TgFTrS7k7ba99Yw8`juT@ZAk)i}+pG%6IHN&j$RxYaUgku76NhySM6z22eyf3Im2^;8MAT!NUU zz$%81?}mp6KU z=F=@%st=syM+4?l!h!9%Qi^r+3SkJ@ouqh058HF>zzjyVc%@JTy1)SC_1o^i@0tjK z-fL5Lb4YgP>6Q15(^d1`7bK+7z;*a z>{u5aM7JWkg>(#oMoo6mGvr?C-Zr<6OwzZ`eMTlR0?}jtj6cMNX7%VAPDCNfD0V{o zEV=@23@^OI`EFCJ_)|CK0bgX-phzctXqM@VEam{ei_}EX!5AHjK<*pPP5Gj+z_LyX zT8eD$D6%=3*9O<#O+B-YM4|rEU5qRwSNeIbI2BoXou(DL5N?(bCCExL@qN!qVnVS}X<3m1)#C+SNARygMP8pBa*w7FT zhYV3Jbq!mJ)Nos)o_ehE3ddhkMO>oez&}D&t}mOH`^W9_hN@0MK<5z0b#o)RG+OXl z%Eeobj?_Vo!sLoNn~EZek`N6H__(UXMj`prfxKe2AmHnjkP)N9V%&7)C%J8Ih~n$3 zl0yuLRW~(8=WNBjPN&fsLZ*TmMyZmE-%R=ECD)zYM3zK*O^h2+@QjZVGGRo4H>dU#c#(|3Cm$*QqK_Sn!rOQWkRZt=Vu7^7oJya(+$p3 zGtpa3=_3`F+|!Fyam7Vudq!No=WF1JeFun!zHDdt&?+!e&S%<+s-~$jOPz<=QINW5 z?GVc+-cf^yFF`7<5!oVpCEgtaSh$i{(c ztvjqHNxY*jbOpyXe$;Ar`)$2aamk{NcY!%EK{n(NNpEaj%t_t;ggo>rEy@&2;X31i zPQ$Og*92E=x|8@xjZr)i{z}=cy(Ih8%Z^C}XgZ>{2TbTi*){JBn-k$CLMPl62rfUBQ|xM73_}&YnQeH&_P8p+_{v`}a;^M|GY$|XDH<+* zrNU4&X}sTDy2I_ck8dx>YxbV%&Szz^2)(vfI$sK_ibd+)+)!qz)-@nn9Cof@57C~Q zMByWvjQdHklM)*~C}e9=lJQz>)D+xq4PHjI?>(-dZMarw z%!nCb)}j(0#17hk{I{ymm~!Pf%_p2&V8e?}@ww_EltPo$Lu!sy<7%0;`3o3q-$eG6 zJY6bHaWWwmNkE&>v97!bm^98=BbyNCHT9;LKV}n}+%yR7J|ML1M$f38%kYEQSyrLp zA|VnixZqihlG;k%6f~u_+_cx6Y@9?2snF!qBRs!gZ1oLi?CXZHYka*!nll$A1(x_E z5}!OxAlRv^*1{E1ZWFXupN;m^k%d*^jR^1G6Mp+q+2LYbtkkk%N5JTLR&nnvwusu; zN2&3vjk;#S*}Jppgs$2O>CohrwqTw^7=*W@orn|s7Tl(tetj>P?IJ96+bDcf8d>sO zFv5a|xz4d!K$Gjt0rRefb z&1}TaUO95;B*h}n?Pk-hfn$Rx6h)IxA5LUny?y<9mGBC=;xJP~Y6JE_VH7?(Yrq4k zPAx*YLHMG}<*Y9z>pBoSdZ8zphKV?g*D$3wRGeMmTU}WA5W9X+wk<*tF zcl$k!(OguMZZ!{n^x1qcHHxX+CrSMjL@3^Gb2%5LtcQ9I#ZsTORDx z`EbDn4t3*KtCkoy=V=APPaF|%(pP*WSi|x1kv~LRb;i+_EYim_(s%d0h&8mjT7nwy z)F=TP@<7eXsg4#JkH9^z3OK12H+?=?T!O8roKL_Mh25p~gS+H1Rra^Wygsfrzin5C z^}?{MOt*hWcgHnY>TUAZ2L6lh> z;=Bqb9RwxWgJUiaJA_x)y9 z$|S-$4o}$ECw7{4!gO8{&ZR=#Gwb>tHYB+Veea=4&Q8{)kje! zjWu}>rLX)|$q_+0%sx0K8p1i0OOmgM_zdp*{W${N@r#7=EK0Kv>~%;@O0n43X?^&Z zs^n*2p1!MJ1(uwhW=GLOwl7UQ|FC*_zS|v+m`T1PxIYm*bb_~5rSk=s9Of36ByQ@Q zEIq=({~}$5wqtGv7CYJ8++8h>SojLM zKwOPq)K%je$vUPBavlB4i~&9w5qvKW)NBX1D#+K}hV8~N#IGgHsbB*qH3FDKQv{&C zVQAnWXO{j9B09Utn0r(5A!pMCA{6_X8F0-NV+_l9bUhWi?Iucnicv=#MoLk-RhC&~ z_K*0wRiZPu;jiw(Yc3K(O@&TH(8oy2DNVs)0d2O~$=KS452qWlO4b{)q+3HO=_e7LVm9sON^*%>J@U)Bx=kR2ZYxJk_=AoJIBa1qAxtgKi2b~OSdr*|q&=!v z#)yfc@m^+!M7Sh#n976!OS9sYKp+PV5iBCJ#uTt0WdX_J7>_3B*+x4RNkYEqcd&RD&dmdv@VnD%2ZYAGqo!S=S6CNNkRU2d|U;8ZAVI1 zuT)EZ4p?vtCn3V+qG^r>MD}N*@mNm58;&`HK;-auDe@^+#xY5dOT(=C2}>Z$`}I$M z`F9~u{?EUxUZe=ojibQ-xuHpClRhIh&MGvPzBS50xS7fsg|@ONrJOBmzP~7AU;_7z zd%e*~)nyr#e?3`b1ZWVGQYk#FZ(w@}AgHbhf|zk)$yr&KQqGkLKkbf>kI&D`)cpN! z58Ov@XWFq7nc@9SI0@TOF+>>;VJy7EhVbFiarVxRlqt^2+7z8Ed`#paekGce6V|Ru ztxdCoaVl#~1dqg3c+HdMbSomWx9x`;Mz3f z8hT-IHj28O9v{L6sBR>`5-&g)IU@Z!Wr$qIdIOUH`L5^W<%*xMld!B2I_tGm&#`Aj zO^6quFVS#1t`hH0Ng+*`7QR64*wP<%dsb-Sb?bCSIDFq6zHIA4*9)?`evzxL8L zv+|-S7i>Qrk%he(bML`{^yiA(MX3eg|5>q4LZhJUvA+WgHe7`-u z9S+}VE%eKUfGN^yUzN{5tbn^`#A4807vWeyDvlURwrh_&Pgp-w-C7jA9z+-KXMC8H zE4dsqS)qw9;z4X663jxD z)(G{osi@3gjjmh%io-cLw4wo4Bs|mpOtwzPR^h3`iuEvxUFW7HjrM-q?k~)^pzPfj z!P);t+0WaI<%3W(;>_B5+bUC~x|{@>((gqeKRLCrWPSinsN!R4($mZ-7Q6`@b9cMn ze%l>?gLk`Kido}{k59Bpw=#QY4!|pyF16L*k{|$Y6|2lGOdEByjlx?5*9Sdje_5HF zkjK}7jK9^1Vpuv+8kMP@sMWU?xYwN%O8FWV)Dsas6V{_?o-o;XdtAS4|LN}S<@3UM z;y^o*34u`g$+GFrL-hcZGpgmDbpv3Yd}xUsSNgMY)3`3gIiZcOFpp96$CY!pKPdIo z37y^-+D5f_Mb_>@rV&)OU4<5|c%y`#yN9Gfw^*gy99|!v50`<;D0oLOjnq4`#V2#n zD{D!Sxj!HRt36Td17hD0fq4Bmfx)nCiev5B2}yiVs_(^)sv*to`fk5FUIvKMmFtQq z@-BuTQBGpnD=%pv&j3L~bnPaKt#e7B);aKuJxOTer zr`N;k@%icUa)gKgAzfocDtHKo+2kbY*G^Ov z9rFi)_(3_}z~T#Y+NYPd-78PV;(CV#2iBZ#p=F{o!9x!9H*#W3$P?<%a2?~!$C$HW zPIw5}PUdJ(dFI%Z&)|gvVC(-Dp zJllTA0JWz~xSvnazqwMMZR*x|^0O@}U*TAviG?OCMg3h#-_w<%^le z?mU%p{QCT5bLi^?%Mk*i`v`C5SY}ycRfm|6uOh^NE&N8DojiewkRW?NHp5jwQd`th(GV zTNZLjXl}9yoNQiOYZ}(reFExR>IuOeK5=0N2;0nwrA!DZUS5D$qPAE9n%ME!Y-^ki}M|o(dbuqHAVsP`uhJ%J!XEh>$J$ zLim1rzeiQCrN1To2*tpWm}v+c znbLT?af3Vbj$4%Wh3V~AF8t9&WE;Au@xxSbv`XQHcA8TUEL<8SJX5Kushj3-Nl-|g z(nKQEXsHKVNhTGd&9J@rgadq+n3rM!(;3GoEyw1Ftet&P2RgIRl%?5TpSD*)~=u+e!pP zeBw^!qTzs+LouhP0mMuSJ~x*O_MNpI0`|k*^S9-2zb}nY#ze$QR!z=k6|yw#2UWqq5oH2$WQ|+ zwz}~&Ykjb48;H0jCKbYUY)$wNZqG&YGHlPCkw|)>GQz%cNNW(fg)0*k1U%krYCrmw zx957z%31}UH;7il=%fhT5cJ2pUk`V@=0YJLZHo@F`(oSt2o@M((0oX zMCFnCw$=6|5J0kU`Ev`~1zeo>iu!gUvX#?dD=!|xWv%YH(mwDp_yfq2LE>Gv)*~=Y zs_r-;O2*P;#UMMgnCEm-mSL_Tw3fZhq&6EQ2tn7hy4(NuaBBi6KYFLjA3^gF7zCZW zd5x}^nvkUJTCg%!oWc;4y37RJ)+qhe&76 zuH?s zZ-m?k(J4btmyK{tJ(pXhX>%nl_J}F`-5ocZ`(G#+`@UG;fUDKT0L1l9SO+8F zXTrycqp%D{5rW93(0+0}2pEQVAg+yfYF|3%drU$!rKl{++*6*(lxYI+<>B(s%h0`a zi2t&=u47X=&S3kDO@n}}Pii%5Wqpd-sl_EMI##3`V>HLV%tbV%n9hifPW3z3_UCWM z*JsF=Ua+*#X`GPHiz5$L81h(>2P{g%`=7$1kp@9 zSy>PHq2hQkO9!%YpmOFwce^j!KYraltlka}%Vm(*1rK00&<#)Bw+UiAorxF_H-;3N zz)LhC?fW+YM}btSwVOH2XSyQDxU}bzXpPF+FWUzKB3x0w8TY3<$z@9r!!OZ;%`vZI zY9X?%Au`ed>kI#t*%VbDmhC>X6-`CIi8)ZHbQd<>a>Vf4;&xwp6J4bkW0~09d!7?4 zDkOk`S%=tSnpm5d;J5r~QV7vS3*8ndbscjVP0X^W4rPA!P-OmF{L3c*DrP>K3PX)*Vt_S53|>@XKndg`HP%p6_P7?vxfyWI;@AH~ z1QhUht|v{?Sr-FBpdANb9lUoNl>6o=gBg$@jZjvJphif`+-=u;etkPitM)?rJ4g>& zK2K%0D9LbPIo$-v2OtG*J^oA~EaKEc3qOP)W(sB8cjcH1$ylxto`1xv`^OzPg9C-t zS2eIKZ|$_ca|fngJ?%i494-@Wd%N+lr1Ir-zScV5)qO5MVCF|MU4qb03x9gq9KP&# z^)!n?pVND>BN6g3U#425YGh9nJa`LNVAXES7)skUKOTmyu8fiEWZO5`h5^H{xNawP024Ux9YR|>{u z^Z9*rm(^NSId8a%BHJijn&Dk31;5tmSI9hK8G|ALsPVti3NX#0 z6!pax(S3M-$jskxnWgeVccSGW&Yuw+ z8^j*+_%#@imcRsZTsiAuTq}Z4`WHy>m;e5k|N8I0koA1{^S^=t`SXALS3Qn!_NKvn zVk7}6{$_XBdO$XYy>C6U6a<@56lgriMIdsRxKothRrYxCmiy@;@wbH)&kd zEZR(1;3v6bhhUMA212tc@lfTzaL2-@G#O>%3E>hczQi5nWaE$bkB9B<0Y?g!TK`rj zU^v9%#(fiL|@eDp)ipZEtX4q?G2boFw4Xv!LwO3748@z9k*iP=f_Qm}hC?-wDdJiOFGZL))3or810ABR55SosDk^ z%O4&>9b}&wrwAa!KVdm_GvAUK((`#;DJ#kI%l#vknvbu`deX6iSDHK~)|RxYMg^HF zpp}fUr5mBLjdZR^2vYnR0*Ny7Ev04gf7=~jH;aT+j}le=8Wu$?GIUEE=wH<`W)`{Ttpux&2*OFqP}4>gxXN%s;hWOr z8$6^&U1YQ=%j20V-<1qDciWeTEu^c*uP?j9=TE!s{$X{0xJ1a{#&`wvI#)U_>GtFJ zYpAm4h-quv<-}_=EkpxDwq%Luxn&`dW#QKc-`qW~?iNJv zW(YAs9* znh*-JhCNz#~)f$~^FBlBUzS9NuCdrXGPiwm)$MOqAv$ zz^7zvMLj~KAtMAVy4FcCl$l~>rICuYna%753+^X@KyhiQ7xuXR{QUfY1wFN<={mWQ zi>t!UVyVBOhKH%njUaRj{u0$IuLy2zXpYFxSZvX~@+x-_xqpvKF1#1kV02Hv&6kWr zF6Ztxg<_e9A) zgcxP$=im-Mub_)*QLTBocVg)94<4escWf>2y_fo1-N%c{jYZXj^DJuSo0QwwA*Lo6}D}JA54R{is9#mU**!;&wrUo1O8V4!8Fv z*DDdYdkDfcvVsI={w3@5-OsCf@4?-_^FU*7O=i?Vb~lXEs+xi$(GGIAY}MX$TSwO+ z8Er%W98cxq)V5*E((-;7r_ISM?bGhzVZU9?E%A>?9x3D&U15b`AB5$UXxCWRnI%Vv z7D%3pKVe^oOh-+!FZv+nV?r#C(tMdsd)&N!+w2yZa@{cEPUqlb$ie~XAmda5BnPU8 zgdKF+2Qw*G;&T;hqW5#<=19R*H@7Wuee}5v#2r|fZ$&{+>o74ib|#~Q&iR;)C0|VIc~1tO@RE@oC(Ay;$adQxGFqlFq~c^k8w`zJJe+Wb z@t3Flx6RY(^sv2$h;F;?t~Zhtiui|kL#_0*+B{7G1cSt~)emzi*cjpcbp&c|JI3k0 z5Ubd_(ln-TOx69<{`K^PnrGQaq3hhdSTwGh=t*oA{zxx2S)|}aBGHl=bxv&cwS=Fu2pRvZwPU$gZVmuJkdAEvr`bei`gj4(Tn{cb;6!T- zWeeX*FEfEN)l8O#_n>Qss$aWLqE`ZUTvy2GSf(5&s)XD9{i=>e%uNroaK1+xHgF>= zwp3__*Q8rNTY(jq-JBG$Yw9@~Tz*8cv3hUkjncA9e?B*YLAY2WkOC@;t1dG}lQ5b@ zTTZV@;i?^Y{oMEN*D)#F%RQ2v5#U|>HIJKpy5 ze*5$Bc>eimw{)sO$T5z7;${p!6Qu?NIwuwfE0G<=TU!&GF}WqmB6UvrA?Y*t64gnM ztKvgFN<)nGL}diwd3V^KHxF;mcMBan8e}E9PJ^&pNDgdBM)7bsz-Ng#UhZoAkhuvw z*vT$sWzu9;E!&df(}fU1$WtMNIPaeKFPpc+({Xiyv4X&<6?hEkx&OLLTY01p-9m^} zUKGN96M} z#U(x3A~i*Asi659lL7(F(Pg&8%q78x3xOsLDG=iTXe{23L?a@k)pXQ2E8^DJ>DGd2eN4^J;IptpZL;po$LXE7bJtkYSL5NGrB&Sa6{qgJb z{(Mn~$R+624RNHqd7u{FD%K*5s&7%}{0|6nUA;nNL{3S6kIX1DDLJEs+GA#rFT2xA z8ZJB@zh1)J@ZG1Bl`8&TmX@J(zy^o>E43u>p?Po|QVEY55?POfd@>xDQNDf+9M?R=^Y;{M-$ zoE-caLF_{j4YMgZFT9sD3h&eBz>R9(wzntTWU~2+yyvgr$1H!3DBkiYrVT5*%qXVH zk)?X8jL5@b!$$;{EDpZaJ|5{Gq9lx5`5I(gU9{p*W)c!F_+a3mH#Hz!jqQrZe!~qF z`3r!-$5L_?D4i!f3}&Tzy+3+A;k>lWtppEOxLX_&pZ32Vj?ee!OOTsYYd734?Z|Tp z1um!)BuOe4o_9Z>=*!WQbm1Nx`a0A>MwR)LycTLF^{Z&1cFy}-fO|>MZF9|-IbqI+ zA;V6_pX@8Ht{tri$;aGj6P@7uCCvkli>X?lvWHBi6oZfo$A+remr4KQc1_X+?*lTR z**bOTZT=0tFX{+ImvPi#D_urFgmjoH1ksRBT!sGR-o2r)>$Zna_I1qLS%k|w z9fx1>$xM?zftXJW0nq~mU{!FyeA}&Tvcch|63h~f_uMSoyb|rC^m0X*3*ejI%0xQGHud0 zst)c4D&k#S#B4HNqL+b@a(NQC{>n?90KVvt&3!k_u zzJOUH=0>&D3KqLG#u8wi2KL1Y3!Q7>0ldC;UkH{BM_rR~6cZ755?oYl#9HON8wy8W zW%l~EJH1liycE>o~7aNLW} z^6d#n^VX{mZKPq7-Jy9xZk6;LW>^U3te`L%)4C0;@l1MY1{+0~!H+O7+Bk#u_W1UE ze?crpge%>1WKFCAbBi~XXK_tU`4uu=2r}AKF=j6?|JjQ%rDK&9Vl3Fgx0NpZ^A3Jn zA-lmCsVcoObKR8Ta8nA)$;HKjtX11V5DE+`(Z%RQQBq;1v=Btn&7QSor;13EkcURd zIp?{)KEJ)Zln;=#_Z(|`=n4+tvX_b#`Bv7EDuiGLo@U*_fo=hu!#LdIP(Mrh1|ce0 zgI+lY5h%gmq-H+M^?MUBSJ#Hw4wng&-<8f{QhPk<85{K$wQ#|h>D)cU-qj_f_nO*5 z%6p|3zywO#3E(Af`uudbKkwMHU2Z>2kG7#2s41ASkeQXV#%#O?KT=Uo#`M7)h&<9- zxWr^i+RGr&43pWG`Jxqi=*`t@l%$;DaBPy&|3`@=6eR4c;9ovBfLg&d!@U-mAFe+n zrm>$`kNxs35I~Kedz!MN}HuAR3CSR66fr7VD9x}xo z%%P;EbAWF)3C`>8rOeXR#mCF1Et2JWaDL+`` z^6s;y#G#~c3HV249X+sScq_GrkeVltS7#R;MLpnb`zV-ga!?8yQ?!!vR5gzNc7%SG zNRt#3S?AC$m88%%?M}OU6!xohqpTyA%7qqlejF7gH^HD3>jDzn&(U+h<%7MOFa{qc z-Xl>aDco(^A~)|wF5UEaQz$A^>H>dIvPRlzY&5H`<1l8_5Nz~yfH7it#y_MG!*kQ^ zFnsrYyACziTqwhyDR0tU!yi>xQ7pgmUF$K0@g3?xObjt<9ta)O4@8Y=UXxd@*YLtu z)DAnyMB7bn9SX=mEcUZ8YAwbT2(@O^u0w67sI$Gy?pI?kTOu}F9A6)AsPqzv6Es=< zps}O9%7@VzG#LFhWQIo$zL>1@XV7FYaR*Hs6k(gnD}kZe3!A4d9-7Xy&L>o73)Dp%{CREec5WJc(%roa0i?RjUMDG z)MUkwmnva%uG|NakQ+bRvYTXF?V}`iBnUNx_*g{*xOZ>2JV?La))DSyN4<;tV#&UQ z^d)kKVp5C-)6tdSHtm;%&uH37iJ#Ia2|^@WC}>!wL- z)yiG&9UGBYWw6L4SZ(EyGDAjL)n_4# z6nJbU4nG8|9!dn-V_mpy@bj!>Y+|fYW=Jzu%~;iku(mQTbw|`UG!vAY;V@oMI`y)M zmIeFHt2GQ)e+X_X%o@`xWxbN+8Z`XRhE7JUvPclqCNjXR~+vvpx)**{J=A2r87N-n# z)2_945H_Ik;|8?pzP7U`Kq?>Yz}U-e;KAfip}lYOaQRcn*13$8&1C$TnVewNMH5P_ zAOz@@CkCr}+nL7%S8ugV2??wCDyz561Vt`>%tTJ)#gtZk7JP0L*Er&=M6G$yS>5=a zEj|st3D=53P39hQjt*!Mq+ht-e*O16NR@O*RZmQ96x3vTQ!c(1ok~qK+KBV zkRpd~o~(|LWYXlgM7Z8|f(wDEo#dyOV#sURgQ%!oBGuc@$2X*V#r29Sjqa0nEgVLu z6k9r9GbQlTHor7$#c+niONW!nJ8x#C$74TmOMWty8Um*<2?nJSIrYBT`E3u zoRB9>W|c=;7vQ^vFz8>K%2mado;ZX6^f&|haP_P#;%>7%#W^8IDwXV0&NXh8*!O}J z8;j$;#&mp^0NKcX3BG4Ch~CE;$e;fB=@QOnmQ9$!lHAGnn_N^dByOxd<7ndWelaoA z(j4WP-q`1(h!;rtFeel*yXPH=!{*_5TH?1$r3KmM25~OO0C{d|%>I;vXe_8La?TdO zG1Jm}toc=N32}64oRp4<6bRm~@HgH!6FU*&s*eMWtfi`@U3C9Y7&?kgoQJhu5*w{p zKjH~eLB7Qgj`uWNtvCR#^2AqEH`Jm}9q6nUWoDF?(d@YQV4ZjwD34cAK){I*AXqT4qJASF_+2d~FuJ`$J z4KQ~hj1Z5BiP>y(u&2BdVUPxg=P<|toaJH~kp@9LWx7KcwxEaOsj)^YjW%*ShKbn2 zHwbeSdFC1^d&aOGMc?~i()b-H5^dUq71$%tGm}(x=Qr(E(1Z@C+E+dR+103YcMk0CxrSr~kI^iXcXfuA z4}omJ$)rXdwm3~)4-xPXaGkzZ(s;oa@>CR~MGBM%gj7_%#hVI1*W#7_Y<9Ki(z)wE zv#aF>yG2sa3OH>f15Z_%UgI0=VHSnW444dRjBQU=rVKjlzioa^-Pjiru}Wq)4R&+f z&>V$L-XZpRCd>{yK%-A)ilGddx7WEK_Azmrp;J-!Nqk}p!my(Ojoe9!rrTeS>$BC< z);BF?@>wuYS0!?$1>GJ7Z1-s{8oT+8SWwL`l1wYMFSeMG+~)D^_7?f1F4ec&!7D*G z(a_wc-lloL;6jJV(hKkyZQq27dLjcheYYM0K7qzN-0t2U9#?NUVKxGDVhJLCTT@gB zNi#shioCecOe2M4YOTkGtu_$5cLW)ZX@W-I_i^BdY>0(7caOWnVZR6*tc`9sF>B_P zvxBx&0jpC)ZmCLC^Y~~5Atw&dfC4xM#jX0E+u2` z;hW!5G`8tRPBi^TFu1C1jFAw4LWtL3(RAw!%0vC6Rm-=pzf6gKJ82hkKV zr#=Jh!roY- zJ3K~WS+UrWJ(+pJ2K~^MXTbs}EjVO7y#u1P9rWDgH?tB8(Nf>Jis1+ClNvHy%da-E ztcY3^l}zAz{iI{h<9878M@CCLwu8)56dvIVP% ziFAh%G->hU6~QImgF$w5Cb%dU_j`DaU!Hfbm+&qydR6|8)UgB#5@*Keqf;yfcdd{h z%ix1cnu(Pc$vi@X46)yJ@$(%MT`Zw_hsZ+5gd4q=41xLT!TIc6TE|pEgX>j@z7}vF zNu;YM?vxVzFy}<#ei4j&EGrgwaxgZ&_n>@jR*eLhZK+IaeUGeAs7%(s&ikOFg-(mx zHk-JJi5bHCN^V3?F}k2@T6`^s@0deq@aChZ=278U8hkI=$@CweaT&tH?)9RqbYn{ar}YzLUTHG2sEjt%IxFT386r4w zkPLY=Xm{FDVQ#6irl5M;KR zO(hc{qYu;t_sh1X8G5h8QONw8`>MhI40O$4R1mXJ-$M>NL+J8wX_-fphfA25L`V$_ zj>$W%4SB3g97S<*rUi^koDOIjeg7UK4y||ny^aZll=@+EY*0n}qCq-2Uhw?DW%Uyx z!wB(b?W!U1-OfSbM6feiq?xH|Un(XOvIUZor#f6?E8-ktiaU&6r95T&V4P)(% z;JXC4!He`vCS(cb=2$zBJOl_}T#$i$?u}JLvvwwnZ-AItObWFq^`1odsJ=SNAnknzv zzE*o1Iah@Pq2T{u<9AJB=I|f}XJjK|mJ|SAwfL%CB;Fug1XGU`aeA<1w=xw_` zv03Ydf$6RJ3oLZ|fUPs#7eHmAOixniG#N!L8Opw6GB)RXhDKK#&iBmLcyQ9xStWvi zgm$pO)`?$M)+3{xo8x_XThG6C(+nvuuW#Ds4Stfdnh!gsjF_b7kz-}G>`Y2fi7QBJ zuV`$S0D_a)?j-snCowooTo;*ZcBQe=fKLLt5A2HAW$w~u z5N&Y~jzRPE893mwD|YQ9WH|L0XTHf94d>lyS9ray(koJ7bHrOL{amiWZjB07dLraq zTbWNLAtH-uq`PXkgY6GbFZfD}8eAO^ZE|TiADZ(Dvd0%Qm9x%?-{RPxZ|hJF$&{7M znPkX;A@^J^DJ4u?E}y?WKE3X5p8)*p>Fs=#cM_3O5toMb@r>cgdaR)gsg73dyh~g( z@M?P=UnFzEajA-bxyV4=K)NB^v+Qy4N_IHbdB5F1|D2b&EiSZZNPS36p9bzU4KDwd>=bZdPc~@->h$g?~scqh*fTQMdqQvhkex)Si!TW#D_+Jy)|&mItM{ zjdM1Q4C>MvnQG%4RTNDhlvX1$AdPQsiumeT%&sz$vJUKN1+LK-Ju{bs#i>T?C%f2j zSXWZ;X3&MNy}#zf5Xi*yr(aJ0bpEUgcOpgUp;!sTT3Jf0~%?wY=6`JN_xrCG zCxD_f1}kPRZWHh!}n;K99GKB8DOwe&d1^5u=%1=QS*-E|!=SZ@U;6qsC z#cXbq;ixNi#&|;&7HrQ}c}6o$BixVARGzQP0gB-plJwWWU+MZ zNMyL3)iXy*P6o;txKI1@>+^o)u}eBXtOitPRWV09Ret?^OHaUQoax>b&=N*w*%E9b zA=1v;8Q8mr-RtA-1IRIzvxXcVyiXxR$(5y5RDj%%ZbDcwVCA%k8+l5^LZqEkvITkC zD~vp$hr9i|kfXC_SD+)WDK23Nv04qJn?dMe;a!35aEz;pRfbOH8}JJI0RNmscXa&% zleYP?Zy_bgcYNa@^GNJa8(ej+9gMP3glT--D4GSyxg+u+?Tt*na;Nm=`JBmsKwT1p z!wb2~?k&CCfQikyk`e@!U@kfdLC%{n$|V^q50%J>;1prz6vX=rUK0oo_#3Cq@#|Fv z&Lo!E*1jE5TwoXZW$hMsA#^PodYe|t2-2;!!;rm33eV|bzJlX)-W^^yzw97TSWmXJ z+-{hi7;v2_9!KL+*Yq1sL*S8+w+bRph56-LypAd8w=Rg#jlK^q4wI9b89dqMAd|6) zFCW3*K0RzQ$Hn>c)A9<8csY_Es>MXdu;wq zz(sIlb5cK;>YNfOr!q?Xxm7obc#Cwfsyhybo%`Jb#F?25?eM&L-0$wO=63V-Z@>Lt zBzXC!zb04XKmYwtf7$%)Pcz{V)v-vYQfmaBa4|WGMZ##hCToQxyGo4g(YGMe8zmuN z`4&`<5`ij$%o!UONHV z560gtrayvo}lgYLpd&1tX|-P$U!jE61j_lM=$vfR_>lRaLXrL z(!QtT?f&$7J|0$AHmEjNidKL!FR8^f-MdSEP$D#T3dc38C!Lij=B~sqigdsa>iLYF z=f&GvhW$LmbbGm~s2V;gp=Ih)Vxt+Z_qYcrijqc|Ve06YvEC0KqvNS{p0{tyfy3f) zQt?^rnOMn3_qAuLnDb^GQ^<8^^Sc;;NwMH)MSIorO*mh6ZeP;um!>%y*DZ0R)2?j- z?YXgLfvnJjZ!d`%l6;3?tz49wG4rBrIhIr~gD0>*ov)ccxe~E|Ct}mgS!cwN5sQE} zO-A5mL@t%fP#K zkMQ?hJB!lGb*2@i0xq?o#=`&aK?&MHj{oM`cq0!qAd%>E`XGvkiU4#^M~4N*s}r}g zBzoM=#44{47A}$Kp$?f677kjrI)+1vUU`AO~p|nFES0|Z$h1tG1RMWt{}A+bUa< zHJ0bX%5@K6TV3yj9D&126$v)-QVjZweFH@xqo}=%v=_Pbp7$5I^d>q*lUu^}W?0uL z8d(oo0SD|5?@ns|#A<{a)H<&O@8>exf7-t!JM{z=Cl9n0<2c(4sd0yF2z@{VhR4bY zpp2G`W5XZ%4)Tsk5R@9p+|3O~o>Zs8E}Pj-6=WKbJ_b!sgF`Fsn~FX}VU)J<{4lUX zgH>O^ii=9yieRES5C`D57Z|I!*cqCUcT#rbI;P9EMGpfHHVkCMm5K^yy{gi{{Ruei zASqL5O9&3(PPz+;l*kzAdHe|ADHw>2s#C1$#sSPlsN;+SFF%v2j+{K_T8BHMCR=D^ zMkV>As7|p%?2`R%)$)vr(27*VLLdO*sick0S1h-iuzDjVA^__@3brY2MBebNGsAG2 z&EP0&j`>U@kBA_+jRY3^Ad5YuM@LjdX1WE>4DX-zpAeW6Y#w6ZhTeq{ZV0PpyncwC zYH&#Jk64M|4GZVU@~T0iG~J+Vp&2=EK%}4duNO8C)LX{|Y?XK+DGz(Y#R^=YV5N)> z=?w8sOvY(Yxx(BgsYebp z<>NN$C=$DAN@ENYs}65@Y*!*L$G^mCWUT6kO)zM4(s$deC@@_OgVMWt1mJ<&PJ~#HDO-f&G zY@_%Lx-8A^+h?Psz?DbF@dKl zUMn|X2dO4WrxUG_v2m_@@|teXt|P@{s_o389N2W0o|L(n9yB+^b6`h1h!@IWM+V!s8=_HuJU(1T+K@e~D!`oT zV?mhhn?b4&Z)EX@9-VYaNDzp-$hcvy$@40#T43e%b{Z|nP18vjaZXNvCPNb?=(OX81jgjw3L_e>0H33| zz>PvEAmwnZp1rX46fqJlk#SNz*B+75Nb#BKYOiUv;5EIR@ITyf{988PO zw=##V4N>IEs3eYaNU|WZ_6^8Lg7As=$`z5<%tCXC)1{+VD0Kv}p9lUkF48LmE%8!b z9<+uqG^7fNp2+x~?PrK^&TI2%*umHkL*c3|N&)7M-I0p3_-wDJh@%>k^?e-*A3JXd<3S&|>@7H+HP;i;hH%`iT?4tu z9*P!{!{306Xp}*|<5Kv`Z~yTZc%ct}{p-K|_Lu*)x%(5GS=0cZvHtf0Km1>R{(s@+ zbO8pkpHP6o;ZdH~M8?S3j(4yDel%SJB-V8XT}l2|N>QjE^J!%MzLWv)fBW-){_VGa z{da);+h49ajO||o2~=_qTslmeL7vZHfg0`I1G`mG`V6awAxj*a6%cHRQ(rv1XRHt2 zylu~0j`q%f{@efk?O*>q?H(7y6uC>pktK`sd0Hgbv12zLiGO+x<%K_bRNi)1Au4_;MrWl;=C$16*v^L1D4aON<;cR1`o=orQ*#@ajqC94|aT#MZKweC;64r}PK`kO)v2@Y-m zMN+V;gcTR_O-42iM$28!%@ZLJi1tc}^6+I-eaBhMlb%$a94Rlr;gChNO7s3GijDC+G5TOq$WwxjaS;o|nd!deM}Mfe|kH zw0gRU3fJ%!QD5s7^Tb$WM%js;W(1P2vftg8q2$ZDC9Sn<7q40hN8$e(u_H;0tObKJ z0T2Mhj`0_}n}gtpT5Hwz#9(9_wyQFw_w&BarC$CD_6FH2IW9^~dp9oog;=hi<>K_I z@wuanhARO}C^xZXtcJ1L8La1@-=3eZzH5V|7pl^;1|i^>DK`;wYC?;rWqhEp>!7#O|7c^`c~@km%*lJvv?mFt0hkf9$rM{7DNMH8r<A(?#TGwkfdvjt(BFHPNoITML zS!Mg-(+~NpK320iQHa6Kuja!XEXY?sByIpgo$qB89vQD+!Mizsd;0Ra>|M36G36O5 z?r8IG6}LwMo8-gRSD2g`q&A3RnJ|aRN-PW^XIqU7d~P82_~~(X+P&jxYLiH#Mc&kJ{!pZUNelcc_iV*w^}vf+LXN~ z#v(YKBr`8V>&M5#xun^y5)M^q8bS~T5jXP8PuL@|Pq*;ZVcE<^5h<)4fvjXx`vY${ zZzSJ6zrLMzXKKV>J;zeMNBH2FHkr-$fUlw z(Q!S3V~fo9MLHNO8AU4-e+6rk^ScZ+CC*qaJ8`WT)Xe7UaX85s*9-E1C07w5tO+t1 zL?o%JzV%ElRxVAyEFt+(a;y-kAsv@(;7rLP#io*_AiDMe!nUh+r+OXvEOT4=x(3ZF z&VZfLWd*5}9Blhh5a|fbm=}F{+>YLFM~Getb;*K5_OY3JuA^AF9@;uQcC6bdNzM~oqAwbToEkBk6#H@={`l=z-0qr% zqh?m0{_=0X{pl~8-T(ZbfBNljNMzLz`6-Oy%iw=bt>(@pkIWrd(;mfMy&=#-TI0Jm z8ub6q2CWsNV7z-KFTH4e|APU3T@5W3|w}{yjh0%ao zyFgZoX2)|4Z8DHEfoxmIAX>U`a7eQP`VV3R?ClX{v^1ePSR+U@X+jf}kO*}s4MikI z!;pFIKZsb#nwdhly1Y9{j)&X0a9sg5Ue>gTNuyBUl9+Cd6JQ=>hYz`?L{~Hnc^I}} zc6kT{=Xk#ykFS?yW9_1O_GuWn?lgPTaG}1^%h9@M4f;{^ZxU+9sK@U^tvb{xk;YxR zvLD*wK4AE>pnV1GynJzLb@aAb0<)eFA=;wk8%)JUw4%TF_Gtnt6QDr+LE-@rr0>x z2{C&BPfW&l87`Ywt!CizI305tt&CqL;96cjj$^jVh6-|U6T%p=)wk+Lml70CgV$2; znvjF(tW~Yatk+(H`_&>I8d#9y>W^< zEt^_xJKU)|tHGTO*COswUiVM~{?Zv#;!jLQ7~#R@tTG@LiB9SaG9$dwzD{h}(i)*) z0w+2fuHWTZVksTIE}|-Xo!B!^-H_wZjzuGR&uBZ!d$)z_wKY$~SInl=gzk!GrqULq z*-4tt6t}_kvNW4)kZ|D{-7tg)IPy^IYg}W1SgU`CBT7m+2&J(sThqLXsuK%(h@#nT z`I@7Ejo}Yf8hEZNV@A>n44;jW9*W5fXkm~=oGi-7>e_n%mJOyEXE0-TUXy-X9NRWh z;YBixH_YV=l2JzgqK`;vCaP&6LpH+RFl6UrU&>bYieXeXR}!i`@@{Z zEPW7(ij?GxE-0CmO0e-5^`(-sb8IGUuj~-^{yoaBQ5q@#V5HW7%g6tXMebBH26I?Z zC;5nALMN3!)Ed5*568C9&Z)YD`jSLXYvy0mXb zk+~;L=hz_TYRHUCUxwVvMslD`2O0mr-0?W)h@{q8S7n+YBLjYweo`HdEnzN*2*_!i zHEmG2pfiT<0kTLm?V0FsfVgh8($zxiq~{_oEbLPdK?PeU{rP^`{8^zhN`3NpI(~UN z96ultq~!uN1^T3zmjwd3)9Qi=%GZNW620*KGGI1+ZkPd_Lb43^^Vg^S=?{{~tnr*cR+7 zLL#-aN`KL%yJ}jfG7Ppe>WV0_Tp`=x=&Q$P89Qi>VmDcHur+l0686_e_>VNDvuw)S z=coliSB@>qwfnRp$SC20s_d649b_evpo0_C@o9L+M$wr|&>xS_&%a_u^IDgBA}_q7 ziD&Gh7!}poF?C*K45^R?D%{tX$-vn(Iy(a#0NEu1)+VQ}cQ~5WIKPN?v+@%q@Yx)i~6l*aX$jZ+e+iYddsM#O} zA=Z`Wxg983@Rxe^XOk?GabfC`fm~??Vc=FNBeaN5-K?=)51k<6_>f$>lOeM`3}y!M zW&bWczeaNiPbulFw%?fRJzK-zXW$mX%4OHN2~vc&U!d|loby;3 z^|j9Ka$B=DR=6G+s>S3%`60_L+rc0Wx1#C{va4)P_n%*OcaKQE^L2MVZywGos=_s@ zf|JC#a*7-u9J|gcWQ_s0mCK-h!r5UnDxp7CHlTXX#xV{*{4`LJuZ(vNP5u`|w zPoszGRIT+Pc{Z2P%$(-5`|^4*m}%^c$eZOO7;yv~V0D7Ql0OKTq%Hgv8=n< zLPimuhcGh5+Vk^yb2{$sS8v?+f=^~~%r_oVM3DH@9riYOk-!UiW*+>GZhqTrai?D0 zB)T?{;MrQnapn+TcBLh7+4RU07==DJsTm$@ai#ajf=&XHU9VRuVpIsV{zP{^L>Gs? zj275lj>GQ?R}h5i0(YEr9|bm)qnd$xzk53UN(TP(m(%g^x_j8ed%YICPsF&L2`ci9 zOUAIpN04r0^kC9EPECWgS0`%@89m#~QU7DnhgI}Z%sdtJ4P|^r&n9$q9eSOfCvFsf z-aH=~?YR60_umb2;d%e-`4M~B{_dwxcC57ns)2`5H|z>4rx^JZbDHNLcnYWFa1o!vRey7B zWQzEJ2Bqdq?Jelf#Ps+MYpc_ErM{^Ni%6$P8ef^XHC}Y=xuiEEywwS_oVTD&d)J;w zfs&d2eGz-H-9s0|Vd%@2#0NAeS+)#3la9L!;9Kd>m|Ho$efff#^XYCS;*;1hpyn>U zoMky+0-vqanE3fbgUYCK6Ba1(zWqZhaA5j2a3cO0lq_8S-q>f@!r?2)3~9#B7FN3% z>|c&=r_7g=WCf6~zSAJ%Y%BoaJUw1#Tw!qw!$2mDL7H*RC@%tDGHt+u9FC6{hoMWd9s+zi}k8-+KY zfwO(p<9`$2Lsv3Rz^Bugk*%sMXbwDS_p&>kFO;f~tXT%7iR*{(QphppG(V~oH=1o2 zd`)F!{%Na0-i3#o@T%yv?2F5I*@U{#;!VaUHIpTZUU-hH#z!U;MJdJ86~`jf5Z)sL zp(t}_Ua@f;T$?=7TVn^L7ArEnVtv?#y7)UEBZkS-#A8(Jvv!P;jcAa~WxO)zhdabd z6Hn`+kBR##yKOEgU2do=<;XUTY)xg7_jiV_yIs@?x>(Off$PX-RVI6XSLhM`OYvd& z)|J<_=YtZzBU@FO`2C%sM=xZ9q5FO{wIA82hPL@OLw|U>tvuV;!9`nYqri)e*uyZa zGy@s1rB?8yP}?o?EvUYSVq{wy;>YpY9&eb#o7#a!yVY6?mOq#ALTp{GawvGiq*gSt z35|W5Fq)5)7!`Dv*IjXLx1#;^ydNZa+Zpt1$A^J)jH(+G(>R1Lv?9who6m9h?*O`> ztDu9}pUpSTHdLnVz7upRBgT2i3)KN^#+C~k88SG3llg*??WN4s{a%o5uP<;Pc~#vR zGPXAoWb<*zeab)m#YVmboyy`Kt@kLbyn5F?<6sVfw*MVKUwPAP563yp@x1$Gx48^@ zMmhTqaf;9)k{HbEW*tUXV=?x+$IPJ4Kg@{945G95cSjtEf@ltL)L|0J<2-EbUb2MP zGU8rmV1P5XhwVDlXtO7xQDM&+Z3Ffr2tRw|aKQ+YA4jkq!|wIQ?*cmtJ|9zHk9`0i zh|dRLOWlE87w{)d##$^rIhwu)>G6rM3LrIJ;*c2PA8~Pw@2*FmziN$$jy#9B_8+)w* zc%v-TCcMPsGiW*Sa&h(BVy2-rD}@G`M=m1L2@lklhaEpkEQ}3l)()4$*4IYvDEy;! z?V6@1NYp(5-TniiF7lBB70D72#E>|`z8*tk`!!q5UDwzP^bC%eS zxVuASuvMC~8^=NL zY^*uhKw#Mns&P&#_PYy>OR7)7H@)30;M8d~FAJb_r@j%$u&urkX=TL*P!2l13ve$C z60kQ7U=-fDe%J(f)KhU#gIwO30ki3oHG?uuo*LWe zzEv=|Mn|l>jEMsxEp2ay77@Q6>Y>P_C^mz#ZZL~~9`m&Qc*H0L2?$DJFQ%+XzVOkg zZ5YIw`7yIA=qTDCbh&Udb|Gv~Yy)-p5a7urlhr2XEE4HDngv=(VV^@ac$u2qz}HZ{ zOhfQwYI&F+AzMK!y=Sz7`f4j^Bx2F;z&xoGp1^&BtGRWf5!5#!8A13_x1=2Yk)Wch z&LAVG*$B#E7VIHN&h*RE{rz)hXTA_qsYc1gCe;;hLgWihOG3S*Ovv2K==b(RPGHEb zT*8n6v+0wQ3RvDtQg?j5-#i`epLo)9bN85v6z1&^zEXZ zjGnEb90y3~@il@i1VNGetd?z}pVxbqcY@YbqqT7h4_-_VC7q2#6qC*9e!zrj51Or_ zoC7GJADJXFSG>$aG58w_C{x@q{-s%~nt9m_QvM&}#MgUYFy zjxl{%^T|#xmG+kUY+R6qFS(+z!k%rW$K8X@2{y0{8(ErbhLo?G?V%rAWj)xGY}!2@ zFZ#}MRxxWw`G@3zXf}wlGL#S}hOBm_ z=JGZ7ov+5Um&_K%-$Yy&rNpw1{QjK78QJnPM69;Bb-V9N3z`jLFf)ixPp79n?OIw_ zci7j~dZ#Hvs%fVtO<5}y*gcJE+{7eb}A8Jng|UzTI6GZ0kGN&5TwKWC=FdcVq>qML?VKGj0r_Bk95Yd9ve$o+6X< z=+K8-2>bT!^sqm#>gnWuNQIZlR(K4Nr?W^;gFCIgMQu|pMszM)@X%LR0P}!!?e&Kl zGaJLGW-x!<_!ucR2x^+i+BvM+{*) zvcOrfks#3i7As;f1{`b{gf`EB*+@qBI|B}KlPv>oX0kJ2wvkb2KwO)X`qy6ff83on zYx~}(GBIE@V6*GQ(-q{1WS+fQ0xEEv)D*D=hovB<*T|$hS{B5AAH=pxHYLPP4k~2C zY!gS{A;vi1fP<5H5z)$+)4~vo&gF3CnsAO4_WTr!!Ogo)Mz#rcuqO6QaDmBn^e6&G zYlK zw1LD1HF~A{#g2_O(W@}A?j|*5rqV%>Q`oQHAOL?j9e>$h@IGAHjZt8a$v>I_o#(M4 zfYCLnL}4v9ZPu4I6wpI0WRSbWj5;Sq-j?$mwzsEknu*J1{gNj&b~5kO%yE)A*I>@= zAQYj=(i4=CIxio`;EZb(sSG?aa69`UuE9JtkywT?B=TjVj2|k<@YY!I4HQ=jM2?;O zC-79P9J}x+fjuRL4I7e-6ja z#d3m-T{HGM(cV8iUGV$VY~HMOtux-FSr*b}BkoLZbCU_Lt#LXPz?gQ&$jpWlaxsMj9fdoS?g>H+IhLC`KQE_;8c+LsSKWsr;#)~ zWe@nL+n@BO_1o?_js_7ya=e}|8`G)~KjL~s1~I6ZXHui?!u7PaTrO53xNJ1tFb`L) z!c93~30EdXM0SDeNW&JsV^thu8gR!MnXaWNZ7X-OqdlW#YbmqVX^|j4^-s?iuy!0> zNse`Scl7wO(?=S5uK29cYjSe3`X^-GHps?Yu9rob&7pJM^(Mf(E3P*#2m_|Y654vb zbKEb;AE1q7n9J7-A<8g8%QjGQzgQku`}D_)*Q?c3Pf&v!_e>P)H#%@Yv=I}?Npx`o za?SD4mH~(v^;9LZ_48^5?RoofJl-QCv|#vM1g@qOOk6K#^QVeX%yBSf;I@5p7WA8S zl0iHHXNn!;^$!M)J8gR4x>%A~4j2RuwxDOi2l)_-zeqlqWyg47NXq6*qEbvm@~hFJ zo04L*%PxVYej8R8%8^iFqHhs~5P&%fjFU5kCzU4bsxxo~j z=3&^zAQJ<*I}H4OFMLfF3|sq{_>S53N#?uvL!PDwc#@?dOixu7P|ONDl=xS6$WH;~lcxfKE=)JZS7Z27|4g6Q!YY&$6vCg9gEvv<)($jgfPx zDW8Gg^7bct5pDDGxJ;4IQhwamcy&%HFrR_WJ_9q^y#RR^>)c3?nasw>5!Biz{dBrw z^Ts3>*Cm;8m)&wI&LZ()m?&j9(_s4S3)9yaIemIP+DR%-a5qYmQ9U~v!noQuu zg4PV$_ksXF@RQs;GtL-UhyPJ%N!x-lT@~Ai4g2L+RS36^gJL9JOx+%uOsOf8B$fF?hgc+=3u#!2>QCr{Pczd~H zb!LK_x1ZBkL=A@)2DryyMSlWO^~1CCb!dz%29w5EIS~CGyd77?n6eM7CrDYqj|LWp z*=;+B7~BC-n#qVU;4X++Sp-HLW)O3a&fW3&_2NY@^p9sQ@RC}?rsjYd2*E0!N7zOy zZ!|J!Ez-vfIx=WsJaE7#Jvcc}H4oSH0e%`tVoOKn4x5>4$2%_h6^T^5Kg>!*qfJ{Z zP0KT6-f)?(EHI4>E$GhYz+_#@hkV_iPH9Z(`1ZWNDCcpqjmL}Ycd227pXF@Vg~r^b zn1`k+ABuiIu!J#J1}>*!6L6FoY-nC{<{>m{^j*rXWMMI!Bs5vVZQ3kuwdnZsI#Kim zke1fdz;)y3-0{!WEKFo(87ny{3(?^HKGn^R=kwFyVa3gtnJrMnx=;qh)JOpk|jK7V&VuTySEn*AjF#m8P4L z1{pr}Oh}y`go@ zi87p|HAP*|c~Jn`r?Lb6;>4C$f}YyCIM_#cO8c zQg=g)rb*iWlzX*xtY3gN9-BwG39#TkU)8@qAv@6)|02vOtPO;jMrUT{y#chXdAZV% zDD!s&nmJ~yTm_gK5>c$rPxtr7Z@XVFN{4KB_9Y?Ct^2j_#kjDA|0SBV>5|9d8a zvocGb@vZteIE+ z58YRSMHY#BK66KK>T8(iJOTaHvks{({IMu!WHVkigR*O~;zcoj-s4dEY67(H#Yn*n zVP=(4yp4rUPq4_tWIz+?0qQ}>nlQ19mCcA&QC%m^8({18WrNbwopj6pN?beJA)vPk zjC8ldOKnk7WK&m0%=S;t&=xwdLys%;l2?0fG2B~E* zFi{wojF=6e?4PW6d^)~eUctG*H%r|N2`i>J7T9L7)+8#HgjGA+M_iF>| z=t)T0jKX*mW^f}X_gpRk>p37elaUPw4s8DfnOVll7TW^*_33c;_VrTbq)FR3G}YYl zS(RMYaRI`UVU)E;of(ut#q}CPd9QTuF*C1>l|8oK4Y#RJI))pT;X*LgHf8xnMs0qbJQBQl|k_2xsT zKp%AM7E7*7=Nuafi`>?6&U@cUDDP zd#%Z_XXY5&aDy=5EDYDdo@vP+IMObC4S~(cQcHdSH=}A306td2pFl`nm z{<;QxnmM2E7Dqiew3$)84Nj2Pad5&6GIr9Ec&%7ZFB@5e%HUB#Y;W@NdRzgwG(-UJ zu-ozokc07KpUh?I7%Lm*5?$5^f8V#K=jZihy=#sr6EgBvp2ZHXfU_1wWSEi+!WEg2 z&T!cd%04-QYjD%xg$2%&U{%1S97Zs#=4>iK$fhDfi=59LS{H-hI3y>7DPyc;(ijrk z9*AMhl;8dJ|NP}Y|7$jcQXN)KagD`(5Ll-y@(fg+Y*Tj2qww{_X?Ad?r{#&v6=P-F z7GAB!X!zxL+Fep?(|)b?X3bEnT|mPS>PrhL(PBZ}b!$gbhyK`8ene)6v2mOMd)R;5 z{CYfH?l4mmwZ=VL#7L3rCN5*z{7jq{A}EqzD8uRDa0Az&3B}r@GLte)@J{ z25olQlb5BFG*q^u1$QEVH8!m~VNsraZMmh$iAi9r>@d52Vr~{KNduSQ-372CC|$|W zo53pW`#Frr1Ta=Mm=&;B&S9W)+0Zk^`rI@nvQqIY1=X{&Bj{0h$#z*Vi=w?E%xvdm z>sG;hK!>6oms>V+-TraJo#lePOv_=D86e6tMnri@qYddrm7itQeoQ0o^ozuTd0?#U zih^6nX^Sh!Als;^kqb(`+1v}`mde|p4Py7=P=>9kwOA4hrhu`sDXM_|f(qjJWpf3q zv+kmfI1kw`1sxjn+t5bQ2zi_k*GJ}mv9dF&Kt3Oz@1HI);C?Sy(9+Eu9EmXK%dSN( zGVcpM#mUB~e>B+Wl!)6HtnFv*BQw4@*#cF-em#EMuW#SJ zgw+sMXBV-mma3GoI;q`OO6*Mk;$&M?Il<3|t4lq1B!js~v6r2{O1A_9triFMhfYBluPDX^eU7TFQTA0tS;u~3; zS!U{3{D-a0EPIE2aOLWAmLg(0yZn&t$H;)^Sp80K_p8ORDcW?u;|$u=(Y3I=0NjL0 z3J9wsHKLP_3nXHmPg${bR;Abr{tmKPl}r@vFYwms&Jj}R z%Bj8uEi##llY}T`^x}Hbr4)MfJw=pVDX`1Li1Pz(&8!kjMAP7p3tnV~Etnq5J!^(7 z`_K%f+Hfb%=Jxb<*zevpr(aI1L~|3ZAxdSerzw2)3-si;Rd~Xc=(Z6;i#WM(Hi2rK zL0&+o`uY!ojXQmoVY^mNTnb?ORdJEIT%4Y3{JWx6aeg@tMI*ky=Ec@ZWSlNP%dt}k zPVC}k0bzS+WbEW9cDlmt?0Xl|R0cW8NiB~uTR1;V8Tt%w8-#}+TbIM*8x*~aGZX54*?r0hV(Q6U6=|j({Y@+Af|`79L~HK7Zv^ z8@MLK%;(}{4^C<;OML0F)%NbU|NO7bU;nmw`9FUFFYy2S(|;uN+wC^n65Gi|#$35` zO7p@3%Sf^r#V%4B3pWYYS4wY>sa&vqv|x_xc%F`LVEKO8JwNZ)+f@5z?5vPU!x`E< zl-sl%_@A>W47){oqRs@u2Xxr5SI$SU*#yddfCBsOdB3~78b?jkMKK^`MV#m?Gtt2V zRMi@T@x?}GfY{A>x^4OneJ+;yT%240azKs00#G0$EyKG2%dr^IhfRQ&xl|v0b++s*ji&<7Xb#O z9<=?Y;>c_+PBK>wBjKgg=i~11@UlJ?fwCd{f9vKlN6ie@kWgrcyO4&4yah08GYYn? zz?i|utBw?5WppLT)*#b|ht1>hs=`wrqL6#!**#)iH%lOgENvll4l{Dcn#sbG z$b2qX37CPr`}S*^l(|@cnzW51GIuVtH?ZTvss)c7B5vZ;Vd10pcak(StBaGATb8Bc zy#Hl?*t|TUv%h}PeQ2T>vaNNfm52(Lpx8m`wyf}w0J#rMnAXMlxeVyxxH;@zF5+!W zx9~TZXWa7xT-X$DkRzqF+ZgURGszn!+ziM`*Y2rN*xJu zy=jP6y_mI6N+Lm4wdh1Vf)ES{(@2G1rg3qyxl{sh zyBTtT3t^$_h+85Px44F*iaGcaFa9OJXG++S(FP@q+aePRRvCtd>??tVC`z~yq=K2Z z#WnO)g)s2=%cbdszUxg;p)_Ez)~n(+Kr~lxRx{X2A3-G%1;I!^e;t{&#mOZ$@8TDo zX&f61%?$UtSq8k&I;Ka-2uH=!0SkY9HH5iaoNNP#fvaXI#gldf(3CK{{qRB>u0`-cCo6dins#?$2 zI;*DPo0*`cA3DMZ5h=lgK;^&W0;TPOGL&$i*>GC0|)pR;7zh@OwQGTp&^EnXI%f0t9} zI*w9Lp(GRX$|*dbVvcp@yx)wkkDJ{u`@`G*L&u;!&D0dVa*k-DAcr8U2VUqP>9khP z5%?T)Y&8Gab12DOPv>x6(sQnyBl0=sO4Xn4KV3BGvxA*R9wW+QELDFM*zlg)AYiIM zDEf?eWW@3BhWPC|#3D0f3Suqi5D_t|T|(S-Q>U)_GZGqHnUL*;rJ2rh74*VXDo!cm zoLoUope@cW)RSb;Y&vycupYtK{4mh*I?z7$njS!p{W#7zuo2aL(K-*6y}qs2*i#7A z!R@lg%4x2KSnsyci6-SdZ6EO8*jJyxi#1xj$PAaws16^7E30Lg3E*xxri{q7-voEg zn?mY1+b_z)=@28x?;^ovJF4UF3fFa8M-p7)Iz=%uYm1lE90QJrVAtejCaVeUY^X`7zO10c4>jRsV<-7Ieh}XF zjxS>#1*hOxFgrB)^Fd1Fl@(2X-=iN`F!x$?tkh0#mU z&EUlXF;CFh63S+ba`AsJ=)o;Ohg%P>U*GJ&T?)!~b0s5ly7;E5%9C6#yJv`SPTPm$ z>0uAD^ZJH0_@!)<>8KNj8&?LenT{qD9j?<9n(&;FNDDhZak)f`-Gb!@lhaN4jm+)h zOcD9$YG+gc-p4BD~VxR7} zYY~m>1N(;f973AfRf)uQaNk4Kc{J&+v>#fR#DZfOoMZ}JjA=$DfAO+tEJgu;(*APd zXTGJbt_ZC{Gq`cf4EKtOG@=`@VpI*%JodU0W6Dl5p}jasDI?F91zEf8S#)o!YSS*RAiX*Q;k z7@=Z5Toj9TRkCbaEFLVPBk=~LVAN}8A8Bz+3D?GK5^v{>lKnjiFSEXQSvxL!E5CtL z`0FNVaCnsKX@-RkQQ~=wHS2@Ui5ms=V4^SeTAL^mBMGt@ad9&L%&ojgri1aas{GyO zh->GV>wiw?5b>`m=ZG~nTgm#2%oF2dFY~D0KiyrFA3tAR#8tz2>swCKvH&?`bVe_V ze`V$_7vLP_k(P=md?GPrngO#dl{;jv2RuWWEH6BD2D1H`XE>UL3fC=G%8=P-LKq)= zS^o%BBK}xHyD$^&f*ZS>azZ;)Lr6}MqhzY8%mkB|6ID>DsRVxy*(3N2LiVrwIQKV!Xw>Ao*O`8UoG*VQywjKR) zqa{7Tij<6elD?QWIf=gVB=OQoY;;@U(}G|mVbMP5=}D}KvMGJ}Bupd|R9|aLUiyA_ ze>trg`_dr$0aSIbhtSFeT*p`h9(h62A-vcLXZa9zl=A@@uVTFB(#@L{+u2VK4Fd21 zohw%5^R`oCk9Ru^4&TyvC0qAaE?x5>>~|buQt6&MM9SLF7rNmPu1kQYL%_lKu&a_| z_z>>WA?(T_dfJ(#FEPtHqv6e3Yx-(EwhqVvft5p8K7{{{Lo8MCyF<98Dn1;dSzW`2 z@Uk0e{p5ShZqF|fgun69aTRK zWe=Gfl_*$eoNSe~{!W}Y$+3uYffx_lSHw_C#VOsjjFWAyHZwTyFmGCF{u_U#WXN*o zROQSq!9i}OAoM&l%z^vqt_qx(*apn@_nl+B`Wyy1ctwRaQ~P1VyK7TRc#dI|-McI2 zU`wp~iU*#9=7BEHsU#=VH&Rq0E2`zz{U{4xWOSg1$_t2`3$~)0ld>MndJ~MSEHTyQ z`E_&mxI3kV$=L2s({3xk)hzJRy_Z|(!{YeAQc-LyAX-)vW9V6&M`pkYW{xBD_{-CU zfr`a8&b$hxS$;a##|iF2G0!t%`ld%0^X=Yhso#)!WW5yG=00eg5+F<#oS5 zygqKuuiL9D9pF2`UoH<%bE}TBlynC_d3F~uc%3oYE-u7RVxw63vL@|pV`cp#ohkgC z&*WFn6kO|u<}=9!x+`a5V=G4{)0sS<$y$d~FDIPo+x@a%Jko3^iQ!j!q*@G|4JP44 zaEl$WD|V7V7$=wyR!+n=x1Fh!U+KTgiA2ZMs@$=4mUOV`MA%Dnx4&PX)>k&3n+jDImC9-N*MerQ2!L^%}Z-3g)B zLx}gw@eRvT$1j^dyggr_9SAqBZ%1O_=7vUy3wR_804)@;-@FR0>vyt}(FOQptk6%XDv4`@?43X2Z;vS;1;06%h~Cy5HjBYc2< z!fs^BohWmG1#a4?ad-b|w>f=&`e__)H@nlKuK>WuX2VpX_D|$0IIv34OT!PgoowM+ zYZ4F%r4YM`ox%s~+6uN^@)wwQC&~;}hyA#JJ8j?q&-=svQl7BcV+a1DuJIIIe5?)N zvkS7)&HIiH#3jdh6t%&O-Z6UfW6-M>y&4zLCnkk}+e(Zm2l|8_DH3|QNz}3;9L(rF zqqjdEJwRVXpIn6zUZfLDg*MOmdnL9qdO{BhQMx}FePHx+kM!>N6(jKTE49zs{--)^4Dz@zVh|S(@-q}!A4X(z z57piWl9o~A^fiG;4y}&8cVyz8sAr|+V)*CqvKxZ0L=~djp&iQ=lSQ2_qi<$rQAYGJ zk#sX@Pt+H5`u6kwc7sd5b}tLd_fSs4qF&*JR6{0pp3TAHMTeoIXMtyFU6T#Zz}a@{ z@e*)Aef;ue6}fK4c_ckcY3>b#e0ESBk-O1MkSn?QX)X3(N*`n{ukkGUF&NLL6^Q@x z_Jmb%%!C|Q_8;m#l0qjp2@h4mb#C)aBn+uf8ReLMDU+MY2Bf**A5u!kItUho)0=U# zU2PHw?0>!f`ncb3zU|Jh`-|Jx=B9yZrp}HxM0kPyVyxO{XM*+CINfgugB!7KbiF^r z3_r2SAymeh^Z6nx(FAr)dQ{MkcxM)q2{^H&qIe8+;Rc6i_-727jj3EXsT6^Jc)G=j z_UGN}{Pv{403-SVJzyQK{s4DN_MU#+Rvr zqV0Q!QnTF4D%fdLNTPqtV0m#R@e;-W4l&Z?i_vtKa@-+|gKu-(0M?jjdS94{f{T$9WQ9JL51h(rdNw-Cvw0BRj%3eh92Y98x^_;wPCfTZGWB$ z;@Gg@w{XMtj&m2n2o75HUZ^9^BH@`JU&)}^lDau|joUqFjbGj_58m}$LA;xnSAy7L zMd!(a;0IySqXmCXbVZT!X0o6tQ}PKgK9ck9`DJ~-?NlsMPi?a;2=ttyxMDUY!sV;7 zB*R2D@P{Yep3D>!WxBoK{c_qL?jA4j%(>+uASSgw zlrskPev$cXH61s--=PX{xn51zyI>bbhzDwS9&^w`B-fLIjLZ`h<>to%_jbR#NVqa{ zx2C&X&B8l>xtQLX@cu_-Rke8}49pW0B{QYrCiW|Zw}}!If+dwkA!ecmL5&6>Oxl-N z?+g`i%1Ou2dP;!T7*j`%Njor6P?Q@V3*Ng&h|8X?h>F)`*Sj^@O}sU_V+&4jt*oSE zxNO{H8K}U$KBfFaK#zS%8bK>zHu#R&$Vq0$0{SxT?u6hU;yGix2NxX~jQK5<$UA4v zq@{P%<52S?WagMLD9TBmg7@~cyFWi(8o3MYLb0)03@$YwrFH`BjKiR|Y6v@KmS7~^ zEr%e30ijix$S_+tIlWWxzQCK?JiI+G*Tx~%ZhP!7*))%J)>r^mXGhn&k{X)_ZT(@! z%Em3s>4%4>!_y^8++a;bg|Wd}7ZA)XdH^ROSV6eMSiviqcn-`P6vLcuc-Wop_m|ho z^#!tAljLY4S3pv`FtEp#@46Ds)5Z~Qym-0mAu0(50}x-_gXr0LzAsI zLR1``xqeHx)zg2T(@MPg!p^@?6_aH}9)lmonKtmL&yObV) zhUZr0g0j9$CKM%e--kdqp)+>OuusXTy%|=z^Z>LTw6wqsy5VrjpxMqz{=Nd5xjk1z zL-*|Rp0=M!7V(02cB%|}CbjCi$4pwqQgt1SD*Vxicq%Ve$jmf;+1o%6BlSwmV!XD2}%69XYxUV$8PXs>TR-Cm}r zN$o2=UQg+L7UFcrsk;Ic0eD|x+2@cqXIeYP)|2pC@OH%|lb6O6Kv8ZcEr|c{_HtoU zd%rYFCVILz=jIg}p!II-^7+Urg$3#I2MI0Py0PP>Nmuf4d`4g5VfT755wWl|gR_44 z%vN+-dUv9R&!qQC309h9?eLEgnwg|6_l-V&dD= z)!G7feu)amHN+l_i`ol)(5`~zr{@@~(8fcTX#I%SCf2D~VqMm$9|g-!v)iKJK?b9` z1(hE8ca@(=glE`s26m!3e>fh`t8Z}151g`>8FS#(Ksm?*TQ#fY0CODdWW^5rU16MH z4vcx6!My(%X6avan3wzuY#LUsqo+xjo0*G@nM~g(hchkr7hEkKribkS2N>~|tD|=G zYlZeh3$Bh4-PA4Ui?J4nH48`>tIqZWd}QG2yW|@F_GVv(#dsuNciO6QW2r|Ti^H=^ znH|!eD%-0LILIK`Q5Gwcs5ba4e&!<}fBWWscX^%E(t4&Tt?aB;fgmM1Eh(eu9M;R` zj*OU$5nMK%?wf!ayb!86J197Z9WKZ~Gx9(tk|p zUR!3B2{^qf)+U;e@ERSuCEn=g0fd5=MVSqxk>e0(IPqVCdGISX*i4#C*!{@i703kT z5*NsPJ*K-&$Ht1=ja0L&aH$snPQmt4HYk--++R#`bb~^I5x{VOII#AZ9mm38C5R4d z4hIZ`HNq0DoPe!o)238b30=z5Btf?mUE+q;0)_lEF&@?h<#ul{L4)bATPUt0Vp;nwwKkc3_?1%5FR+9FX zORt(0icPk}iS~tb*Py;^?A;M~n+>sZM$1;x&1t`fi+iVRw@#*w$KJ?s#ZIo-buwsK z#&PUD!04mx`s~BNBtN6v!&#ty-8~=Q&eVtY`EhspWp}y!MjtNf?)cK`BpzgtT@gx-*r z;aY0IcZ!5&){cVyhQQwUc{K1nye!mZ+-x#s0leUTeLSAli(H^hP4B08+t|#!hA8wa0C%(kYv;&-#H^lU3< zd(+}p!@Hd%SPhPzw7kiHolT`I&wUL0Oe=EPv<)Ipa{qRdLru4^N(aG%j%<4`G1iG9 z{9GP64FgjFjj|LLnC9|!cR1utp4-o-9fqQ*z4Yepum9&S|M_3DQm?urQBQd3%l8A- zK;}ovF(9sef<&kQU~Db!kQ_1f&nW9*v&dhb?jCn<_vu?KBcETrBNDRIgFm-=2m2er zZnil>*f($0r1)nOE*4MoM~Q$$4^Mr za78^Vyk4CKdn98;LT|irp^u7~`)8DOoHEFNi`$pee&FL92n%;pFM;o(jRrikFX2Al zlp-48&*Hw4a>qnIgR`=2rbR)}?6mCP%+T4mN?N*sA1@Mx+#*>NBL4gW;_|#K=~L($ zUEX0HIfN5i7mY}65pwWOT0(IJFLxB7og(CHYoqLULvIho^6UQiHE}+y+;w7X?+2+> zp4gA14(8V~?i)(k1tbPh}czNrTQ8?UptrfME0#CddmFL)D2a%h`nD zi=Bgh1lc&e><{az19K~;NfV-v!fDzB`i4s-$!h_JdW&l&3TmI%l?JP;E;j_*VQP+l z$a-&N*lGrL9<={@e7b;p61n9G5^oyZb@lwL!;)aD&PxZ_c4(5G2{y6yDEvVS8~utp z^^)gB@bbSrAHOYXJ=^D)b!no`hSDPV?61t`n31JW_k#d9{i24d#3{lch8{J@Vp_R! z+~vNdVV5m8OdghPO-IuscH1)BjbjsU!L2ez2un<5VtBDei9~q5b$qhI)5^#-Bk%QJ zE}*;z`9x$=#~k$#2#N--3C_-|0rZ}`6$f;Tt@##uoM7cCfuk+wM|Dt6Z zxJIbWNgzoTsCmJRk-<6!+iUNXS?=bYmTx#t6p3js*l+{z0?Qg)^H^;QsXuU7g!~lo2O79W_Xb$Fk(|bSy=kd9d(wT;Hmy^1}<{S=*YwR|d)WYfH|U znOdCzwJeC$5?br@So3Ur#cUX5@hqWr#lqa5cHidF_N#$f}7>FV6n3)2CxzL^LCJ}A9UA^29Vhr z>iz{H$N8P8^DO6N@`Rt=5!L#qs?J+D+0lr`<2s;!G#Q=ZyiNcU?Q}5(dZCPRALn zJgpD^x`k_1HxYWi7=@dbeL;Z1@T4WC+;x=M$Wc&;}`&DOJ`(n_>^&f@oxLn zfV^3IgX>qoPXl*f<8}hUca*p4I9!m@cK5-bgLtdDJ}aaG0G~~tnO&Q5xBy>G8I0Md zAUlnQ?gr;(mne**f+I{8d0-=pXim#m*~m3z_P+zxu#DAfKg9~MN!!&P2G3?rvXp!m z);Xv-WSWNxadTIM2B;8VOZAqavU!ud5@p@er$7E=KXo)2i&jJRE@rJo4;eQy4kWuV z8>4D0ldH}zwn%z7)(Qv1W*gUVG4Leyes{i{4_Mez$=%Dw3@eFegIU_Xc^L;tBntq= zNSi;M1ZF?)pku|ZuBETPd z4QPbqI}`OuRXSazX_ZuaBu%;f?ZUW#7cjiW`uhKyK}L{~K{8JsRqbx0(RZ#;GaVTU z#uKkkz78_JJgH;Vo*N!y6U=^2pqT&gd+(@fJ~CLM}$B4@nFBD>!sa%*Q{fIpKN{*8(S^F?ML%xBa4 zMP@=lK4@X6R+rCk%^hFYdjnUZv674Na!H@y$Lk%G2CJmyzz-1iatfOKB%`xhu%sqQ z2?IBmEGg_fAgOFOyF#Hui_6J%p`?>UFZlwqjq5>DuN$mjU=#=e`S^zqU0}3R78*lf z%|S}Or^#MOK19&dSkbefY!OF8>t5tRUtlZoV|BfygHFX#J9(Y?q;wH%m z>~(o|1cOd@JH6?j6nP2z_#91@_u+Ip-~5?Exf@nydEWDCa*oF0a(fPt0tQq%&*tPv|@5*||OZG{#_mw2L0rb3YC z?Lhb+-~N7jdaRA@-6(0>Ra@Y1T&W8fNZUMsn!63!-K8X`l`UcpNj+>BY)iE%JAi_P zoFoW@f1JHzQ903aw{NFsK54xJEpk(zs)ty7DJL)>6CAGTXNj$nZ_*}PYCZ%j8j*0& z`+>wl(erRfwsg!bt}PPdNS+e|@`6c6Cq=1FG@^iPn-dElyhK7n&Wceb{xdzs%Sx8v zb55`HMq-GSi&aeWD-X9hw)eeZD&Kg{HZiY>M?%T4H5I6rn&eX+PS2n3-;*P})a)4$ z4?0b6^Oj1t=n5wcOKw%Z4O7#go3R_r+4&a2%;10Lx0J`~X5TX84Ncz?f!VtLtbNPE zqL-a-AyC~+j}iWVJ>Ne+{Oj@b^XBn8$S}Nt_+}(lPcLGi?lvH-@X0>TJHIrUSE6&ZCsyL)UCoaa!uG86w3{*D@<6x zd$bWfS&j~y-K!!xVe9G!qU+~}LO9E##ktW3p>S*^dMrH@+5*_P&$GX5%q?$k!VwO^ zNC=ydDWH&Xc_d8bvq5#M_uI?Yi?|epq=-s{qi7h)$2+B2b36TuVbfbd2wZ=LDC+q2 z7mRC>>qePQhX4l3S5rB!+iMZ?V?e1-4{v5 zQXR&q`(jh@8lqsQ1iR3yU@J{RYZBTGgnoLgouaX@K@|E}ADO@9DdxqLO|MiRuTU=4se#M2$P5jyf-}AieUt10`jFX~RdWD7-;@~d??*(=QYf+4zoFlRAKE1l=&WDp2$s#|^jsJzJvbSpS*1O~hquI+%td4t*BgqFD^2s$z*H^P4DYWdk=^Q68RnQp zIo{$bA``Un(TBQF4i)|{{CdX>*u)gw+E^1T-T*ZiJq*uKCfrT1)_Gu?kfkAXM2QL4 zHcR`3fnHw*i*7l4bM}IE4i*d@hKy()#`Qx-4r9}wYm>tkr6p+N^BRpAp`3MjdwY4# zjg%{Mz;%>WMmiR4N6TYr^7(%;{tED%Ce$~XDk%6h@|Nu zr)EMkqge$HvkVnABg*qAGeMjn8Yq_h{qgnn@me!B%vltH4g8Pp>`FiehbZ7f$VwK>+SwI*~`3ZG328o*)5m7TyGhqA0Yc`8X?_6vOCj$8D!jqe|($+ zZVhKd*~mU^v#i^5TzTmbT?hv9nbCIsY6 z2zf;~a#ON2anoK|$FAoUvEz~)9{ZLeHo+jDo5^Aua?_h#>|=x3jrXGv z3cSM(8_ueY5)o*qEbQbKrgtkGmZ|2mHv*;o-ZoIk zR6OUeTW0(7MB&hBFGXOB*(nY8Zqlf<`{F z^gl!56x|D+Q)qq$&xx^$#DtA}TIqL4EF7Pr_c)U{q})Zm#{fjsiI*0`7x%?>E;qpbSu&;_tVJ<8Iv00?P=>$m}(yY`ZDn%!~R;5kT?@iux&^ z-=Cf?MN&b2$X#Dxlnh7AwaK!*G~i3@GI8k17~t)R@(#GUJ06K-w>Dd-y-U*}FzzTpna zTVjYkx#Db-@PL*+{Rc=^lKHd`$W$42P2qA?INEx0GKRA;?qH854CU8luKR?YiAc;B z;DOSl*k~jYKEo|>`-{k*!59!RW6%VaZuDe-v%s?%&H%k}uVkqo$TF=obWLFCM~436 z3Bccb$^z$Q@CP0I-23WGH^|W(7n+WOo0t1?-)HHDIdD1-*dYE zdZdi1y5GPyMl{49pnyUR&Kp$yhkQ2F+mt)7xCCoa${A7oRhn>=&si|X`1W>5UMDPO z0iA1}##_Q92ghYony|3iSs}@S6WrCnHF_HDS;U1IrY02iBd2n)R5BEI-BumkWpM$w zx4T(z0ynUAe2fJ(K`6hD5?V)=-6NU<=*Fb;-yZED*Uq5hzu<({XnqsUCIk0d{UMoy zXF&>vRhn=z@R90(^P5lk%0xNkc)q(yFB1Oa6+Kx4UL0k|vTB*VfwJo2l492_@W&Jj zICgIv1FQr~kw;xccEZdc`O`r5?~e};>FuSgC(qvR&-cnfgj}#hxi#7dl~{-M%6Ml| zrY73pDfqSvzkOchHiVNM?NR9+<`nH38{vey7OAWq0hJ+4 z;EJBD3O@1SB)T>V{$pWKO78 z?mCxQCq|{QKaktciYgw@yd$HApAU;B>1AFA1!1WF(+{zDOEfo%pAxCkXU6(tl6Pad zP#{-j&XQQ`+aW3wQsfdn8+AcT@gZ(eR^0(RT?;2C_uMdFp-Qh1-+uk0gW3dVY!5+QcBc~$rk zkzWMBk4R~&Oe~1rM)6_9EN+S`j)}XuHdBtb(0Zx4#obsaRnXHMA76w;Jw91ZRsyhE zg+@0>hJ~MgTAclKv6<-i! zXn`X4BSy(kG6}6i`wH@WDfs2{@Yo1_^5k)WX~nc$?27@T3ov97S&wSx6bZCVG8*whxi z$x4gVgpezz99Oj-asGOGy+CLvoAmkYC8`+%k-~SA2PuQO)38fNf5CP=%=X71?nGqg z7Zh8)DFP!r>P0$gC}}6lIGtZ#E^BzqF-oV)G#EE9Oifl19Gr0322Sb@uERAqf_O;$ zHhM9?WED_I*@S!fZ;mjw#H_FlG#vZ{TV7oojzU{jj*r)33_=t)dJ%puhkLMk_3iQL z>1rj@jyKO1{CweKEH4mv%b1A>ZuBBO$5lo#UNEKk0qY1yMjgv+6j3k;seJi+VVQFg z*O0is<|_JvPwuCw(o*wSUBlQk<&{JFQ@EOwOnu8h59Dq@IYfUDeH^je=tah+<`Di( z1Sa|zv2VkjJ-ur!3Z)I5ZQF|po&Ot^yWB{K_#EQK3-CAzdNvO z9GlJBolVi1yVXW^*974sq!6$z{geF?+NmJ43;&Kk;coKz_2$p>G85X43_`MPoPa`EDXEZ?qAT_wW`aCn3p8!!eipR(VLlDN4%g=7gl>}be3J!CQ~*hFq=oQ3Gw(CYZe=RmET`p9`@(_x{X9eo`=E) z>X6Qbb$sYD4v8RwBz%umRP2qnT{{9tw<*O#-AVzZYr;J~ zQfcT~;On>3IfX-)Cq~9T+2fU%6{Q_|WZ==ZK6DXh5<+#BL6Em0^&-po^70IvAp3Sa z+Jc}}RXqBJgt3zbhJ`Xk6q~gQisqirD;9YP_lyiQ57jQ@y7^|7*&}+Cxp64jE^G2x ztn0jBK@Rw&Hrj=#%>+J~kfkMV8*OFL^LI)6Ua`(k#Z}x&O%>O74N#)D(R`M#n(nqq zzF(i6L=?HK>`>%f6dx7x?VSoB{v0NFL~)}xcg9*={5M>vzGS~WE3Yye zxXV5*+wW-A+QJDmt+v%oAW~QuGd9{Uk=kfJ%9j`Pp?NG9^gn%hc{<&EosHSRWWEuz zaCu54yS6&iS16Dc%tTUBlDrw?I|>=FJskON%?bE~^i+dY+$+yJaKwP4Io}j~SB`A1 zAs&#XqeO;MlE5&dbAm5fSY?i8o*W;x#8NZS;Akfcq3QqJen0*AajL=SuDwsrn-_E` z_KpsFa^D>2viK55$x)#0FXx1a0Y`JHAqee2^cF&=r~2vZ%lp&A&FkCE%a7f9D9kN$ zSXb>(N(rc+^NIvPj#n@YVq0+MR%B$R&DizJ3^F>&T6SEP6IYBbbCx0^xff7lvl zWm-~~sQ#F?Y{&|Kr=`})Vl-+_~81>HoCqswk5%|XxMH_g$NW1W?Nea?ZYGnNvO!;!`f{c5=D*b z`26sCe_^dDy{N5c_pHT#n~CEbIrd>x3w95^@A|{y*i+)6cy({jS_pgjXhp`}&75@4hsZ95p?bg`DT) zVvLR2DORGw5YxK0#=OJ8q=+s@M;Sao>FN3O^X6|DY`9cp(VOGbg*qRXNZ6URrBsmh zqH^BR8tX`48Y~-|^7xxkyjYK^6S3xKKGBe+cE`<0b?xf>_hvD)$_??`n*MZBYRgYu zz#ao*P$Yv=oC6Edix_kCrX8th{bhS^=$Z+VqH!cN4XyRGl*zBv!+kPFd~0)cHU(kq z{ui2#alnVxOs5D=u*+F<@*W-hJAT}s?;jr9facuhLBn3yd@XR9^%iex)+4t`b{~Mz zl*wLp0E1pvQ7wY{x?fv!l9Z09Yj|TPv*>}XB>(x?N&>rHzq6I?CdNBOIw{AVnM&pt z+iKjyb>wP2>n_)@B8nZudp-GEaxv-U?fo(zU{|Wk6tnu4SCS0YohN5zGS_q92fxdQ zg!F3@Bs+>ob`03iCm}PCY8o{BL&zZ1DrZ`P;qKf=EZcPtV7I}$<$0%X{xy*FX{*|yo8Vd#s!Lfu(vu5O4hsj-Q;q}m*WH%p4G_y%Lg`~JlU*->=b-oaL<9hdqn9A4Y( zyOs!B)2+Wjij&cE2KBOu%3!7--M4$*__Zdiad4Ee?&5 zTI?aSAzan68uC9@;F!Gn)~~~qQc9PEPs!e{2pkUxyldzKx=}P2jc^pv&WBv18ulS{ zlogNUM~u9-10z)^^|~kZ_xtnfx0`?6Ki%!0dE`R~@{|n~TkWLX3}Rc`DO-83_({CE zktfK(k1?VGl8Xj!e}6lj#2u5J4xXHYBnp~F4u_UAVf0^3WXE~wVsH8tIuXNYV*4?i zTIBcr4iwS^SC*pNd?Ix6J8&U7QSgS}fwHo}q>1jw82hVY%k`>$zQQe~Oh1#_m?)a) zFy{uBH|b}jYywf<#H&&lVfVWVvx7|~sfL+k%q?aIo06OH%-t1PSFI&&peC*#vteK; zH6?T0r3`CIw%+jpc)Mf&e$f83R zIsKZI^%7S48oM^aLHaEabnq2$x0mntudwv^<^1XObocf2eEQe@&F6zdIqY-+ z1Ef51IHGuk34G2ghYi)mMXgzjr^rnR%Fl1qYw@pdcQ>%?osXCAcC6Ke$b_r~eWG`~j#0_LPPs8LhZk}Oc{PE%I>4E{tx^Vd-qsl+>+5`R? zCRb3Pt=`%?_-imLCE7{^Ch?*)e7@ADMQKGUEFwE4ohUkDvsA>)KB9Frdgw(7EX|k-W!`5O3Psyu9dJg9C?O zps2-83&UL^2vPta>pP?)#6g>uGLsn-Zu0I@HRJQ?^>qH%{oCV(89({<$|SHYRq4$U z;+>Xi0!k(JzTw`zV*|J7x``0TaH@!QnYx?-&)3)K6!-;&$FYUf;W;9-ot#5~-9JH< z2TK}uX>X7uC$RLRwWI6jOISUztct$hdODIbv<+B0((Brl{;gqOK;}#c>E!|Nk`-N= z5tpFI?u*tju7&*ZD5x@UnbWk|4`n>TGbT6kZUl=y3~XY0+5ULJ6Fjr4MK^TKOKBQS zmKF_+(rqhOaNRz#enm-(H8K7e|7+*V2ZJ$a9dw(+p|6{qAV~koZ&5ur+8Kc?Iu0WE zF+uuf_?@<{#3hOQRT%Phw5&no_>)~29d-K(YDuT$%k$ZQA~FGBknUL@eSE%qd{iOGi-#o+SSTu(=(yl^SG^4n8D-?ZT!PC`C)pwwVf6eTdx0 zY?wtpj4-nHvoyC&zNF2wj-!ygK_#OmI8rUI>1rbSF+sX*=+7LDnkJ6B-ZXa@G))}0 z@?jOnwlv())UCxrj)WjFj2t(TgkF4{-Bc?>#scHEt$j^ANpj0<$AD&XykQku1REmz zF+sZPUwDDJr{i&sQE#jQ2u226tjU$6yhbcMC#y&)0p}?!A`?D_QS^TlVZ`Vqa4Otd zY}xZ_;1m=AO%}s1nHPvjf3+|VA0g5Em^cdmpI&|*k+@fK3P91%X(n-SQzb9fv9&6E zdI84bS{9EI6DUTBFc2zyc{zWEGeWOVFPEka5X-aH^H`dXme6H)Uknc3fp_SuptT^p7z5cEumlB2LJi1@czmr z6j8F}WXuLf)CJ^IP|xmC!Vr~~F*H&2m^ebdV=;7ptr5rFu(Sj*ou6kX3Eo`u5!CBg zmk=fD5i5_067>#0IO&IT@3feL!}Z#ciXXqU@BXwvsSOOqdr(0CLDUx_G}F0f-yOE9Nm9B7p{sXDgSKqQEA3 z^(iDVLEb9yHeUQ;`4UzB~aeWV$%z3Yjo5eb#`f;Y!sPDcg#9UQH}=6ot{f$ z0HYzA)^Vig@d8ycaW9UJ<>yVaFw3cRm^w z^@Z|68dYL@iZqnNBz3}8qa0s{M>{qy>b3@kaS?Is*yWdE``*jZ-ZM#D(PZr97VoX# z71MCZdb3(pB#tEUsJMSvV#zl^Xa5t0|3@3)~X>M%1iV*c9HJ*u)L$qRz;!xCi?WV%~ps$gASdj^Y5Ky(X6Wg@v z3?}S=KG`QwSeSx!LFkn0%lOSYV6kqdvs3*f${oANp#ON}Jj?+xslothK$gFUh%Ci^ zrgq3uy6_0jwHR68BC4I_%$vX=Ag{_Xf#m=YORF}K(UesMUY%Y${<9cUmRo;A7=#kl zj$J<5C?4oH)`{h%$Q$>}I+=-eO3UK1O#svYo6H)a&#DhYi5XXDP30gg8YY&jNr`qb z(QtN;f+Z;>YylLR1ficA)rq>5j$^(frzM#E+2ZW%f`Qy{4-W9!v@UF&{edl|`fcRw z2>sNr^ocu}85Im6cJ22}GFBZmBQ&B)5!~BgmHi?!L7*D7iLZ&|dQ`DkjB9B&RgA`~ z55_ZUgxbiAtL1TYmYOJclC6K#oX0Z+6nkzea&9t1kShZV`wOkvTXqQngM4D#u}TK{ zAC|a{!O$jHac{FZm;{5tSyojf+>TZ<^=snWu}T8S_VHbkSLS?F$Jpk4ljX==tO`xmP6(-go9E8sQ?$jq2;V)4^%An1mc!Dx z+LD5f`a=|$_<5}Uce$UbL>--#B{1UXv3k@izRo~K8M(2y zE#xD?=Zu9WSx3hqkp4@$Sq%DdV(PI*xH4btlcyc5%5^^;R4My1&?_@WeIAP zFcY<66!v5ggpEe}?8ANHjkG-Yx5ZmqO=0xtC~*n?IV%vVciD`_6k!PyjjYZ9h#gH> z`oyrXrD3grhkDafmpPY>{d{P2YnzoP|3>?VeR6&qBBwASSuX_{5vkslZ+}|Yc0)TX`q%qCy7Y{X(ua*FhR~oABwbuarRgI z!@zXo#-WwhwxizUGQ3PnjN?;XWV!@#b~I7)YqpS;TiWp8%qFrLyC|`Nl!JHXq{%Z7 z!r4(-U^4MOyExbt3D|J0TsoO>Wu(AzUAhr2v#^;;O#X<`#=22tdF9+rr*l}<6bOO_ z5^h~`7VE-J*w_^j#5dG#2BHJ&wH46`@!YQtXms1)no2S>tM3RzhU?(jYpCvemI~>; z)(H)aHHpo}cFStlfk@wOHQUJnqPZP*TNCW9DQS}QanZJM&}t&YS!3PE&t0SEjcou~ zP(8uY$iIr3-5T#!KBz;5Iulx@qt4ix&Aeg}nt;!Zyhm4AJkHdFJhDjKOa7O2 z_(A{C_cWJ{=tb3;|8~;U^n+_z$*QelRmUPbLE>W)H-3uo*jT z$K(W?#OOSTpT>48f`=2;PRIFgY;zO5&}_+YIv;$84PDd$VRVp_8bnQFyY;{;1nvpF z(VVyS{V=Hnz^F#bRk!@S(2!VtS1>118tZ?}I}ezr3r9rQRGi%;_JC5r%6hI;hx3qU z(GM|BBHkJ6M^(@1w%x&aKmU!g(-X7-&0{huWjw5s2=h?Mj`%cSk)6P>+gv;3?1tsT zy0sQC;j0(kty(C~~?$*IDIq~6W$vY7PLx)%ul zZMh#~hW5{DdIWK|>rfcDPt~{X6W6%Q&4zWNo|j2@op9g#~j6gNny@D+*39 z*e%%E%_F>M(%l%3TbRf!mz|86Brw;qG?ygqj*S~)n6cfS8oa{?h)CaV9?tiV&qt+g zoEs!;)9=_Yl7IGntrohl^)GsXgn`|L+Cgb0pfF)KN!5JdXmx9FU5ms-$FHRqVF>_# zaW`!fV&p9(g(2utU*2uLt7qZPeBOko-~3X#I>vT|+6eRyA}BJ%9%H-RH28NM8zKO| zBXO^8^J90UU8>V}-m-XNp&l_Kf2I`Bd)@muLcMM^4FtX>p^{XrwRKkA8J6)yOY-H1@`I5w(Uia0uuywOKZcV`;damOVp*2M$xk+e>ZDXLOG^NM{hCtW=6w` zA`|!x_tvhDH^zRNs-vn#8Z z()2{23f8r1Gu?iGxqWdK*AQ2X?bg;l+EE*5SYJ>v9A;&#r6{g)%;%w-CW08-?W}!t zc^|~ZmN2E-v}7=wOiNy@OQqZbGPEBSX$b{~>uO)m_kX|MJb@vm^{mb2 zWn=h-wm~9D~yB z$wibHvCi>jHhEoCte+4;bb4*eU059}QDjSjJ!dh zWXOfE5UmZ{PEZQ3VqlF;jPr;s#_5rxJ}&U4L=zi3KFxZS*(o#QElmH#O?*_08+c^u zN0?oEA?(y6FaG-W{{6?r^@)wnONRxAE;V!DU?pRksigG4kJ09DSm0JvXC;J=TKey6 zlQl?@CUPKvGKw4g$YHI{Ut_;2@j|^V(F2 zCU~^V9S=xz@eAe`nL(3D>-0lOOkjvM#%(THE4o+w{<-M&)9c;$`xIfrP3tMxfG^~x zy|y|SGO>{BP;tG3$?7Iz*6{*^t!xmx7FQ zV#8zs1ulOWYuS=g5nb{A6|`H4~73`F44GR}gd73xAt~!1>VAh?5gK z#g>gjcmfsed3C*rOkl_da`QTO4)S)8(O#AK)AP@pANTK&h#dvP++?Zo-fc<2uunfCdP|bWxOA5XT}Zzg zmZcZT2@I|IsG`HzSuoh1w!49oKr>RF+P_*DdjZySi899V3F5lp|N8!%{KfZ+!fp#n zmYs+3x40gSp$5!QjShT4FEE*V3kRVICYeEo7nr4VM#__4*D)pZ! zzP}i{ZIf@+kdIshkx;88x=c1#RcEqy^V(Z6O_zew=zL4aF?J)?7{{-eOCRy+eERwb z12V;+cPlj;*)>$YB-KCgJOvN*0>J91_b$!roH#&WCWW3*2MGR|Fe&4(ps z#U+{(HB{~oVM*?n1x2R#jD&l8RBw2*ro(!OZjb6 z2C7TUXYZu0L?+`lCp<{~?Nd@P{rU9tbo$r(h2q#I3$W0M!(Re!Jmv@$u3sjbzVn7h zdI3Jj`XI+8Ec9HWq=_&@D&sa|ufM@^bR9}*18iV9VQM)#c-DwP%ke%&8B7zcjPsX0 z%BP1D6eg#cOAkG;Q%qg_QZ^`K(J3CfRaz$l(kvV)`!^11>e~yL$$+f(%|+5nC8XTk zZ0Jqps#3M$rE2VP`P`O+R_G8flZ~v(^1bt7Be2R)WyWDrBA0Pt^ip5%pT4L3d*2hv zyHPq7m8sU*>Wn36N#n;EDe`RyH;$Q>IR)}xU;_I8y z_M|kh<=ZH2a*Aw4%j`5>h-$`drW^@>zP~>`yu3VL4FCGu*X0|WW!U5FtV;)xA3I=$ zuMwur>mPG_E|KVG+~%GDeZ*0}vQu(eC|kgq2wX87m7U;ItYql7cMB{8GvnF&6arVy zR0}2MVp1DhGQBy|5^j1?!+yNA93N-pVdaH!0d`zJV`}6S$HW@Ch z<#706N9pJ|AUMMqruQ-e(9O_KFwk<|E6;YgimU{iEA!)qrt<#y=O5TmdOh7eoW4B0 z0A{}Y$N%~7|Lx}Kzy2Tp_J0+L|I5GszkNnoD5AGb|AIe$dSbxFXhoMdVQV&J`h)1h ziH62;I^D6{pWn~W+BhnBX6Q2mvF8+4)~4Wm%iEIvTr`pIgBGy~HaV@Xq2B-I+U5R% zBS|(xjCZtTym+RdHI?dg}v=n53f%;uD0 z5jBa>5(zAr5ygz-{J&MVe|+5)b$DVH_p*pGmDb=U2WFkp8-}N11=fN4i;X3aq@E;|p!NYt^LUlr;z9KU<08KWT$PrP(3cUJ)9VT(sf4i) zN@@nv+Iy156c=rqtx)p_p__###u&dynv<7r-B7pIlf z*6Ic*Y)trInI|j4t|Y8PEq%SyQaERl^~$-gGBMhCdeK_TB7$lGAv9&9trAU)UnFXM zz`tU@U5{;G7IYaN7ZSpzXk8vCGsF+$ml1AVDQjjaoLTEE&T>{1Jky^`IV+#{Dv}av zDT!K;F4tJ#)5Yj;xDjEcEs*1y^!!xH5w^J~h;24#QN$(;QxX_NRQvPhN@OUJ7fub+ z^n2awABSERK(&j;f&NG?RS{i`S3_vH&M-EsNyIIT8lIT2(~*@SG(m%5bLAM%5>Jd* z7xRWIHJqOw1~*zD+Dz<}nv1P95Iaf7X!DBLglKA%H+&?vrKvg2#IqON0zG;MX>g0G zeiVk`#1Z4w?+U}0YbEufrUvdTMoF$>h!VzY=_Iyc*z3Go4Hc`Qt5{D!UU+*eH6RPRo5aeQA3BxhYUgV~J z)&k||mPQPsG0t*?ewIjHyq3;u6F1C7-8e6Hag6)`lrk`K9J8f3I0CvQ%FMMS+fpBd zGNO0!`Zq*lrHEihb+6eGQ;5enkJVE3%Bl!tw}fBjH&hXLfIzWKxD?}R#uKLN3p3q# z4RN}7v!9#S!s5pt7zH)62bMCM<^XCj)UQpu2)RV+;*E4){sY?0qd*?jyKqZz(@ANY zQf+ZT15!B1gXs^F)e?M}QNj7!>Fd+|8F#7=;X-CZ!2#p##>JH1z{2>V#0B6GY1%HH zD*+k_`@6y}%y=l}t=vh|nj&0zt-7xHd29Vhn{=Cb##4<2soPbgP zq1@d)%?19Z!+2Tn^Z-lQR?pTfR-?3GQS3i*w@}0A3h7wwG<@Lr6@HExd`{oHntsV_ zB-V#p933lD^)OC1sg|$COMWw(B1*%?R`w1bS>k%}e9G`czZxZmEjHIS5M7(FVkUn3ZA21(elWzUAgXI1z7FlBI~1P~lFuDp z6914TG0Dv>?q^$^@tkuxEUOi3!%6VuPh<{di3G;;2}DZ+lYjiY=+H%fsJ8l9ycFhR z;CUiz8-rN*O|Xk_0R<(r?HhLZ_^F zJ3b6=!fJk3ya-Kz>qfrvs?J%U=&=b(ZQe=qEN`x{86GqgZz4<5FeW3~81Lmf1wkKP zzV5wGxg^8bgK#EC(*^knIo+a^%z40~m2RC0^o>Lo^5~%#ABSLJ z1-2`pQdp2`^o3-wgp+>syFVCgDH%3qr-5ZKjYNgzZf=+s@7Cn^q8!^w$vDH!ov|%T zoG}nRTxG;E=4I1y6@b__bWlks&VyTc(~>7?S^7$GqE<=L%O>%e@81cofc2%vFhz3NwGU@X^ z{$h6!X1&E!4-p0seq5!115n~ZThV&^;V!}x;f&|>cFv@KPwp!}?Rv@i7w}+Ec(` zT_pP;kmSsDRnluRpALxlTzMUhTF|hQZtqgO*DCP_YsEaF&?vap9XXCAz8TM1><+7V z={E-{kFXm_r?nvmv~NbJSn1f2QCZ@d@tnS{O8Wir3D`Ku0bYajI|}x51+(HT*>F;@ zSv#=_BBQ_ly~(O(sl<*O2h+P%z~dthnOPveh+Y0pq%xkOO#3kc7!`@-L)l)}IY*~%rd0Z#~SR#V)tHiO7d#hz*1jPl+iN}Hlzd&NqT2cBqd9~US2aI2(w>qHNQHi2g zY<^vCr)30Vo7+(?d#AMyk^s^Y(~Dn6{^~mP;uettkMuX$#DY$N2K$^hDNOe*NYCrq zS?soCi#lGQr&NE25g1Xv_*HtZ121iC4?I42uY_nbYY1^^L;dv5k~Z7QEm;F%SNau= zBz?aq>82+a8x;_Z_`9mp!G(B`ba8E6t4Ye}=t!rLB$eLlfZcYNEKAn!Ht1#O?(MAS zozP3kiv9uMDwsC@L>h*{+@T5rdCQ7s%MiZpV^_iP$CmkNgIYTdremy+Ml)M^_<}tm%2P*HStSB~#LyM%krTULY3_%q+Y2zbzTMM@(84K>Fhy2RvP#&?vVOlV5ekiogoY|j z9r~Npl1t*U?ZP(Ezyv;S^1;s$e13q6$fIsQRcr`57H5B9<^?7h+YgJ_gr$7u zrHTD^zJGgrx!41iPMrekh0@1ZXY7Wa-9R@?iS3kxSY|byNf5u!{OJ5^F|Qia>eB)w0Tq_$mDnDcdx&nXwN2|zhnR2JJ@DYi6_&Rwv+-h@-p z8$J_AJ0Q>?k+@F;E`g7jWU(zgz|a4%e_SVRo`!K8_3MWI4(q|<_ypZQ%0f{3bFxcD z6fS`el6*+Zd&Xfl#xZ4HO_8?|Jrh{bPZ3Q07809)k270UvH!TgtmBQWhSf*6J6Ba>ne(T(r(_aV|3p zsFw0#7EaVHffIvq)vC*?oo&Hyw*{y3@5$*Jx9v-2Mx2Gu^cP_X;(~Ms+3D8$=>9?b z{+Uq=jk3cPBn~^zEE!3s-ee4}`CW7hfzXYQe`MbWn@m4W=W{+b^z#06IvuObu@*I! z5LNC*#OeL-6td{PfRH=p^an{=0yREM0n#ck21dd>4tUbDRzcVTk1Ask_4)aEOq!Xu zhC?@3W0y=qihuc?aYa7%CP~2>?0a zTD6sj)9J@GvhvnzGn4c-Av5tQ^_lE(`X#XaVl?=eymCtecdKPY3=>xIVzc``Wbs`j znh9@p{g&p#p;4bK^Ugq+QU5AqW{~>Hs-F)!Y8iuDuFAk~s)+TRBs?#UL7A?^ZgfZ-hIL05u3KN$P-vvsHfEU$AyqTo9R*FYV=px>eUY9a{HXS!fiE`(B zjfyRiB9|6PTnT!IEn=Ae3zueygnm*0aBgwkbZ1Ia6<-Z60cR?I5Zp@5hSjl)&nC7-~o*divIR@_Zv%R}8ZMy+(aKg@l%_e2e;ySe@-k7Lme0+^J-q;1> z`IjUd(`;qcUapEjVYXE@Fz6x1n5aJG7FO8L?si==~9CbyHqq$F8E)?MlT8%=GpM^UNqN zJ}9sqG*><#)!4M%SS9T(Tp6(NBmtm#G(rClsDv`mohv)Y*4~lPPAQM?^dgM&J6;C zR48y5ST#Zl9C3QxUvCz#lZDJWSL;kOk#Q+BsASk%=F+VB$UY85CKR-zSniNrTN%)W z>iFV%i!?ceEAwPpr#MM2Y9tU0tumufWP(8}pW-!UF@+WCJCreE7pAacVb59UI1d(! z2;UKPOyuJ-zm!F>3IOM_%^UBtZH*ZDlov+#$t70zN751qS~oZ1ENhL9{ug~rY=$#L z|EDQ9nkCg%b!%qn?XgWci((TZ+EE$z_1jDO88zwsa0iEYTQMEM>Re7kW)W4Kx=xWlJDk2zzPbxp}zme|L9-LHy~ zQtWc@Ee5ek=hLraWkd-9B_{miBQIHE__v=QA5PDo@87?EyDW3Z8L5lN*k3blS#}1= zbALUG{VAWvFWW06nF#%h@>aZ?~IlThkLvAx%o2JPYSk(X(G0sa-%l!>QgXH9`t;zeIivFiU-< zp11bA@Oet=zLqV66kuxyYt${EBja#v`N7~5TsU7NA`8*LM1Ddq8%G``uHC4aw62@b zsgP*y@gZ>1rp#Q*K|eDnSB>2yKh-i(nUebZ~0 zQQ#W5qGCiBC#iN_n{TW3KtSl75EqCW|9XGEzi0{T&=EJLjtK3@+k6*tm{h^FxfBm= z_mw=HSY&$<8pS2N<8wq6LB2meJd}g)*T~GOTV%PKBG1XmEf1#$x5IoM*gH34FhyX3 zydZrs1P@odH*Lov6JIC%ixEFY)q5alHL@1&A^c!`C}d zT(OK4ba)oe6@dxy!q$`_*K)_Ttc8}@Xk68DsRkr12OaMmn|NDo4u%};+A@V^p@9gu zood@5D0IZ>5`)APaL<3HDEhL`%fnLR({dIg=`zg&#$sGZ=(e=az*~OMt?VKs7eljf zbkaoT5~BnZ@OtO_pRZT?5Z+pKTSOVQgOjitZibLt2-(ICvOwZptjH?Xqt~6?Yz^JpGjPHeBVbp|;>pC#%@At2C81&}P)9ImRw#N({ z%*I4Q_S=f;rOq)lo8)JlmqDok@|^lxAzdR#u8Vw**P;5jXGJkn^@5Y2DJ*c0oaBu~ zUZ`_OvIj>DFzX`oSiqWNwz1P$VU)w#*S9%|L}1o>%Pp7i#u?X|TswnyjtF8_WrUSq z8J;M)bPUgJ^EPwO9V3)A`#*;ExHNZ@@?J(V95}-0TruFKTpSsq1rF$qZ}U1p*cVh9mX?*+|YYL@@FRAAX&O_oD!rhwl0Fu7oJS^8#Cr;9*hbnhc z9FfVaTH47+gTnM1On)PdEY!w|G z90ar#cqZw&^M2{mbJ**x_Dwc|P`MiE4zGBPa=V`ISlw=uvf*~U$tMXSEA(PXFY2ac z#2X@(SxuKKBrSg^N6*v+Jg!Rq!;x7G`xg+5I4|h#LBl@q&9)uiO{i%k-a~ih^V9v8 zzg{ndC(~9&9SN&Fn29H`$&V=c4a;g7xMFxh#4{`J%6-VRWhN}|_QsMY#BrA^>)kaz z)=2(?uV9hP1dqHe2abD5-*@}?{P1|ce{5Zv3Ew64%~>PH568B%zl-gMx_N8PzB;!P zBBNQY9zD;4ikGO9&t9S8H^!1-XH4sx&_v$t%fX88l4D|^S>0CV(hvRo^7wkf_RQH4>JHzED%Q(QOwyLd{Q;&{FW>(oLNML2JZEtY@oi|R)DH)pd z&tuo6VmX>}gJrQ*cZKX^Fl@>V8yv(pvpNZq$D{9_Cpm1a9Q^z3oO#b=ZY8m23J@7} zbC7#;6^@8#R?$DWwo79~q1XwBSbX}tl;W*Z;wm^)*@EtR(!@uz%Kky#fx6OKw%2@M z+xwQs-mcpCh=mJm+^>4uNl#MeJD?;rVm%Slz(Mb=p5b49(3y02&xU*BE%rSq`I#;r z=Jt}|t1Crp&$pz=pAc5M9xK)D&-?5fk*MSt9QdGp*A;(FOisPR^C*oD1U`bNBIiTI`9=% zw!v9E7=u}401G$4+BPD_B}7)Uaz^-tNDY3T5&4O+s2&)egUa>Q4&M(JL_GC!a0+trMD@-Xg5X^jqjDSI13Zk_Z@ zVLx#@{s|6p+v_f}5@>SD{%anjbcGt`@k!rx{2h!0%54rBO)Qwo?mR_+jFg|UVqms9 zw883#wr1u0?N#5WyU%B!2zrIG%BSa_ci&I<4=+Dor%!dARrC3^?VM|ls`*LzacRDO zp+MZGAB!y?N5nM%Yadho(67{R1!I<2?y7>t4}A-)8l)s>dneAr+cmsnRYWG}+-wU2 ze?rFp$ESw`pOhl+n9L?JbS*L@qS-oq}{C44qx8;`Q{`ukN{Qi9N_5JC~x4F171JF01pP zxT|9P57fIsLL0sCUB+q)mo%HrKnuCy2-o)Ajor*z9fh*f%53XDZ$5|Pxo&(NB2>BCXfNq zpP`Zd=?GX@y5?$BUd!_=E)f1{;XG2X-U`NFUS59Oyq-QMXu0AVR&M6t7%|;yqHXy} z11+S8#L9#orZZZaMixX^sHH2(X~F?*hYq4U4ju|^UJ zEsgZ)V2xj2o*qsKfbQQuuzu{u9uV|ATtUtrP<0Kvl~nj1w*Vk$|<*ec-asUSp7Y1f*59dc_d5^$O@u;1s?&zrwr&VOArip>NJXDh(6 zf-dEFC_=fE$gZx%8_r`NmCbiiA2k9OCkaeuK>%rFczQU9>MN`?*o8?V4rci2c8X0| zcgt&Our3)<8yvt?JQ5%pi7TMsuC_2dD*?8k*a8Te zuCvz4Lq#qU%30|e;J`-&_O&tUto#cMyU~A9O89g`~)!&$_)wWV5KI#PdR9r zQW+Ixi!>6-Svg%a>NU<)EyrApDwP0q`_{L%975#u`XaLtN&uW{{TI~gN&x3ZPwiufyk>!K$qI_=-7jTWvp6|Av;u{q zEdQ^BY)-~HAn&im_Umn|ZLWYI=P8ny2%fA$FieA!SQs}8zPpt`&Y8{{K9H2i8E4$P zqg5+S5&q1%xg~V-Wl?FvZ_^aH3F@4PfKuA2A(VhA#NsdxdE(M%FGL(?l{l|kg z0VYsnQ!6MPx}n;Y;Lpo|{)b0K%@(qPmepJW*qwL%Ii1;vyH zU!wWxxFRY+Ug)#ugQ89tc!>W|q4S+RJL6o}JqszH;ziveD#2YG)vOMu&a?5%h*xqI zhVg#7>Z*bfXILQrSlHQTdT#`CapZvic=+R3Dk}X0n(ZbP-KkBaw<&skV7AO7Q8^#2xFPUG?a6$!jgf7F zQsw~!<6=mEMTSLXMRGVa$&98*PFT0PPI9$1=DkwA5~Y<;t%Qb1>x#}S{ZLBMp+h|H zT!(my5O0<551!4T(v`e3o5P6`2T}fkEDy8uCa`L@u+l5}xAZc3JA1k-;uV44+Lr=g z7vSlsE?gWhy0DrS6)$q(+t0V26Wqlv^vvTX6UU~51@TxOqQn{u#qDWW$8O}`Cu`+NV3F99#J&GJf-Ify zV0{~!j9xIjpO)xhY@q&-tXli_1*G0U!b+b9sr%2<>)Xxg`C+dPFuwMTaS>MN{fcqX zM7iEuwiSm_eE?~zr$g9ALL03X*;4qGvKIB3L{)ZP9kM`B(?l!g>)Xs|lXoR~WfpRU zn-hsN_YcItQ}VqDQ#uR|EIq-I^Std;iklwEY?6HadplyivMiM2d2E2h;>=vG#O8sm zA-z#TxSr|*mfhRe|ELRE~9jMQ1y_)MA-D$+iXSa*Mzp6kKO^9YP9M`psvb7Hj}ms zV6+jNkmbR_*x`}@Bdn~IxR&7}qg6*lV%J5>v(+BCYLZv{4dJIAMRC+vV0UmY2BFC~ z_#$D+OVaO#AFV6m6W(dzkn?iQQI+?FSqz$KVWMoaL*Hpqm^C_fnJS!u<4mkYV1m1D zItmQ>>Hg>W^!(*?^VjM5`SkGjCBe66w5r&Yr8FM5q2~aeu~rJ8XP6L~6^&48!aX?& zbtt3i_GDRY2t#F}(4P!FS!eqI2y(wg6u!MC#FMi_89}z349Dytw;_>yu#&xCW<8%# zFv-Koex6IAhZQ59UK8YXqeCBffP-4rLVIE~r{xz+U1zl{6Z&n<^drmJcCzS(z)wzv zf5mpGpv@?vwY1-7S1_V$z=LsTSc?h$MS>0=WW6w@uPgz<0K*Uf$`Om4TppAebiCcuR83}sGTVIY z-X`nUu&%)hhYq98==$ap98zP+>U^%u8$w4p9&pWD$?rMA ziwrYz!SFvKC`Gp)7>x*b0)Q(s#M5Q)Y=J2mN0-rpA z-~;fMfYFK|WJ&+$I$e+HMQEVJR37p%yNH9q068j|ELzKXC~pZHT0mWk@B^L~m5$8%SY&JU!gxzd@FQD&m zi|!TOvqO1HFeoQ?u2!_^3>xDm9NJmSe%)jx6J%aOFLO$6c;K`H=$4>Sj`Cdp3+U>( zD}%`7y4#TWWSJ(i5yhr{$09@YCYB(Q&+!=8_6Bd#F6KTwz8&3DVkA*@_JN+|_<&jR zl50x@aK|o1&6-#Bins)hoW{k_a(ZFUxmXgD>$|xK()(8unrb^nR&YmoMZG+{ed_W4r;wpW+BLL;YR39<>iNFruDYXl^d*e4cAeXP@+ETuJkr+=U|{YwEaK#s#+Yrn$Cs4-oR%v(t&Qx3B~wtG2WW2jo{*Ar zyIlVvvY8OtGz*a$w5HQ|urT_RiODWH96fEz3s^q!1eW~dK$ZFV<@3|&qOh`u-Uz`h zc^oA78)po0O>%W=Px(++f%OEKF$!s$Z`t%tj|mM_&x-N}s?B3t!QXo5A0=b1Dh|cK zlY?LeRHU|nZ>+IU4JDyOKPwwqn z^L}0_Tfb=0G%35}x9O&R>X`Dc?(kJYYIdidjD+BHRlix?szOkkD%;ogYFKzh%vOev z^HQX53GUVg067b7dZ;Dwwcw9XaRA3YNXdnEi4~3vy9= zcft@_{v(zV{(C@K2@&~(;q^cw5s@vERqDRnXbSTn3id+e2&z-scTSEtXVT*sy}HNO z*Arzk$E0lxPnLFWXq0fq@B~%YZ7ByTPsVhU|HL?>R*555DOkD)mW8AJ)-A(Hu9!oR zZb&_OwHEP_$OL_>1d*#m-Z>IPp1ADk`Ps3T80{vEC}y0K*rxg-GU6Tx_=}F18%9BE z3^C$zi*2Qf*kQJjobqp0WF_o#o=w>!gb>?IipB@ZzDn|KBFT$nfv7BsjW}qm!xb8K zo}mO90WQ!r-J-&cZ;3C7?MUojj{m!pDHvxEnYs&T*po(S46FCDr<9;%Q8N4|h8ew# z!vCvuy@Bie_p;G+<1cVA!fE4Hdvv)I7Hweb>C{(;YZKLPW86$EGkW>uSU-yAi0L}T zp=C2COz#4vh|Y8rvB}aI{X1zolFUb8WoP1E4D+##qNTzi;o*2gG6ofFRW|c|j!hR8 z!B-M|l%!lOxP);;ndKIbb-m+AwVm!N$6$=x79)GncM^3Xok>|U3!jLH@^ts-Uw8k! zKYxCF_)5%<)2ixbl!Og1*MxvDb6o66F^Og)bX28Mj1_U`s+1=(8qLR8L!kmyx3BMC zzU)_db_q3g`A01d+c4(S1bTS2wCYs;eI&$Ci*>Bzy7&9g^ciOG`}o)6GmMt}ynmft zpBSA7Uus{cLezV1M!~J3;f-+U>!_%=-;oOyy1kSA?;ylgcJLiv&p=c1ugBBRo5%C{ z>)pfS>)YM@{8S&1)!)o!3usb>fc6f*CRo2_*|e^T+=REBz7owy-~RFW@@fY(0y}mU zw{=J*S(`f2^mc=l;bVlYzzP%SNQt~gbMnfnW-QqL>;CEKw12Tt);QUY7&m@OGKb6C zu<{n2V1;qXLpe66gfS$M*l0e%UFH6MfByUR0#CANpD}rfdboHSJ))7-cW};&(>WAT z&B6c-YqCUOlj7ZhsGr}z{B?hRdAX2Yicwdfb*5e)YdTG_RRfoXasnJ$iKNz*9gltYRj6SV9y$3GQxH$%5E$QW2VPRgbdxr*JPFC*(vc+jgQ>WHExDTy2Tn z)L?Mit32~ym*{XbXXC6NfedBG+zgxfrn*a6G@S0itvYO&3ySQ9uL2;-6Z?(k+?!R* z!>K9Q$BgsDVR8Xct(#MxtlET*)Dq5IH_k6ir-=hc8;L{{nGfxYK*7^)w?%S|D0hv= z)vXoAUS-8TrF)(q$Sfigc$y&uUGWaLkt;+gx)itS>F7K|59GLUO^9z=o1q-gSXR6C zTxH3ugK&Y6lB3WPf;yjltfG|%?zYE|N*Qk68D1gnl}S#rfv=d&SYw_gZIJ;I9*jp zK(4x}e{dMBmPK+CE*gm_S2^b(oUlP4i=(ad$~|mjtbGW!A^yNbm%MUj2z0Xw zJ~Yi%*KL(S5nN6O1Y*X~c4W~R@$SE#Zl3PnPUpk6k!zfayfV7xdb!ZgT2ZTwjQo_q zJAFr+c_p_&0BEH>Um551?O#eCY5Uip%)|aKl;*r?6ZBNNkDMfz-XH;>8wE&50kA8} zvJ9PuV5kT_T{>Ko`F4X1A;QF{R5U@L8$CmgCdZ~&n{TEDJ1}9PRg9VIQkE9D0Tf#{ z+VN|mSy)BT=SE@C)BW>T$jvVh_>SvgjqYnH6{Z=KB+c@R&qcGVRgz{e5G{^&qj>0` zu-%bD>^o)Sb*(o!nTATfjWyTn^69Gh>Fpvd0Usaaj}DI%0VVm(pLz9r_q~asOWweV zwSZ8jS%YzKE{Oq1zJBJT4@N@XqBOg`tx#fuJU#$lB?cF9sczSY^OU#d;%I1L(4^Sm zfHG#AJh>EXn9zI!SuUX+pB6tX?6}0i501RImG5zh!$xKNw!{Im*GUM`%nQVMqxnR0 zJy&&pfBkkLb!sZWeBEvSKF|2jRseS6xkEY1rTh55+c)``w>;le?h zq1%rz*72bQl%!h%Gd?R`b^HDPdHe<)Y}va!h}R`@J}F$V9;N># zN$Wl$?M^`mw_u1-YNA);ESsIEDJL9Dr=OL2Z6Jml9Y(L~^~V_&cdn5YND4Otgv2K0 zCg;21SmVMbf@rjK<+oMQWQpQN^Ra4SvKOl1U5w7^CRCoS+ZdxRbMjql(0$D(dYlw!mG|n1U3N%#SAN1gK9|hozlVhM8p|=PMy_w0 z2g$qsG2dTlUr^rVVr_TZ1XeBiMV}%ppbp$2HRJ%R9A@99b*Q|ABXKISgDQ9I z=IzV*<#N#bO&z3onRrx;st$5_NRBzD+{T@3x7kKZ9-eb}8`lCvA#QC()~BiG{Z zjAvYSrKOY7Dt;Ueht~r!-=tJ>Ag<8zF;sW$qK{v0v4y6~^lwT{$5mxev5}Kj363D1 zVq7wNX71=q)`7hU#m}7#uYi_$U@Y7Qbd;G%Fs9(guW${{GJZ>)zax2{?v#>VQWzix z+XHdp7)~oW(fy<-HyEd_n$OafySg(ve$aYkL~uCLkzjS?TU~^+04ehR@!8Na9HrMq@K82He9mEK@SZR-7|cVrLlc z>{&Kpr?P|ZI6eKfv60vR__zP~_j&xsy$Ru_CMJvF!ZDQQ6gw`m(9<-V@Fj~%oH&Nh zfmvGVZ=%ktU$POe$X9!;e3V+k4RPWR`FAJAt(YWph) z`5o9v8kE#+xHClhf;{KJidlQV1Ag`;B)J}ir4vubuw|1!LXIngvso8jsNXSkBGEBM|F*BlBMNT(6{8WX^xw59Kd4r1 z=qq3$sQoJTzJhSqNS6r@;2Ac8UjKS|`Ro1rmv8U;7#s$_5^h&);%W37fdTi`EG*G4 zFCod%7_TsPC#D@^VABv4A-5S#QS<%W61WU=MKIgmIP^jW5n(ECH#Nk#Fu-fl;3i=(gvgQCop)3urWO z2m+f8@)v<&{j(Z5M!!U$W9%^cz2X5*)_OKCFih?-f;|}5-Eh?|rIIWSDH0QK^06{s zLQM@E_J5!D7x0$pl2_e8Vzl3*xt3%kF6E{&o3km+4mhD&f?;w#8nsisw}AO@vEUPkFUMFJ1a4~*GikS@hJB;Q)--<KNc>5a?&1m}xBF!8&ji3@ej^P7) zwcPXc^0Z%%g@VtfERo54P`j$RwV2m*hxMM6>sxUit}r61UX0I=?wpT;wG*bnG!EpS}QH&F#1Qx3}wDH5X5bnp$%7UY5^1b@dH@w1`YJYW>Xt=IH1Fqq7MawiQZ z1|8$2-#hp`Cv;HjEl${xE19qdXQuSEJ6{#k_p@nd)I8yzmyQq2yS~Tsr_s8dMN~RaRI6d*CXS1$rG7=T@C@O=3`x2}q#B4G$ME^# z4?Dm<_9*+5^HOjMAzin(n!eq%0vH+w@!yyrz28wuH5j-MwdywJTL(fXN(KH-xhl6B9hym#QVIWpbZnu+?PCU94##a3 zTXt&gxMk||)ws?ElF75_mt7#5#5|(9HhsTz#f@X_lS+gQQz$djjLAVNAFFNfebpFiI5pMKjq18|3|LRq<#K0nFQ* z?oc%3-hA~V%T3%iCXO)Wn2N^<0F~{siv3*0hsy-SXk+3i_r6}#9;zwvo)~V7%i3mG zXm>`ZkCUs+#8zXX^vD0hM76dnl1J@r8v;fABc2+w?q=N|3pQzOCYDTU8f?N)MK?nc zQzWg~xsW0*A>Ar{n7P7-$tlUa*N$e(s`{mZ>t+NVIRo_lWjM#%$><-5lg6wgSC+R{ z_v`^0l~#B%0uS;D3m!SN2KF=9ppY$<3}7rKp~#i_u;E@Tq7ve*qky=zOg`PbHkWqH zj(r2`O&mAv*RP8;Z7>BD9ARHg5U~d$qA}~o9ob}XR=&B(-0Yf*C{^ub#AfMs35bBk ztg<+(^P4;0KV&-dxwJ}_lk?&ivJ}^Y+XNKZfX9inx17Hm4LC{CB022t5Ccv6z>C4d zr`OZn_m|fc$sNOG1@coqP27G68`Ij0wx$d4*E~~Qe+YsDse2Y2#Jp6PJ7&fGfN~w3 znM6FRc1HFd{1Vwnenepv2`jy^=`G`m%?u`T>!vMOuo&ffz;>b8eXhC_=olZjMxiwc zEq&X-oUahNWT=t(3*2PPS;*+d6s!nG-!-#SfXyb_JxXmzYU$?eHBu`G(4?wWnOsvS zwDt=I_ETL4%Wa{QFc#}27hzm1Nj<874qeA!`g^te?Gtby!q#sxAd#|Uk`p%3i=GafwEvw zxc%UJqD^3A*t(rj<$Jtk^-?q`?^$ZI)5(v-Y-2ecv2S+v zr~9uj>EZ76ZMWm38{dgV@99^57ID|<5H*hFn>Fk^{(d>I$<#35msS*Fm{cc3GxdgPwd6%{c8{%gQ-Zyqe9VR$coWP(+C-e?(*wQc?)FHk(BXwLdehC;}Aa^EI%}`>5>}D2r4&l1^hxF6=FVY1z9UPbumB zDgDF4s2g=w81tgd8r*@LAuM&Dyp(#|nD2R#5|9fK04CG|_93YDY?S!y$%=#{OtvEDQ3)hQ<4_oIislxtQ`Hrm0i~mp=p=QA*96 z&+rz8*WNb|=k4+F`R?0!zk~B^7Q*TJG4ql&r8T&q>w7~K7GfdN`GC6KOw~$}2pz2{ z9r(!54;z5JLCBw8PTp2{6vYXLuDS_o|0x)(Qp!I}$esTZ`Ar~lG^&)Q zIUt9O@|Sa{5G|>p)@y++ZFx`vlR_bq^M0;n+$($%Jx?xPG$+FoI45C*;N(d}xM)-< zQFDfSfgNVoz+SsroC6wPE;nvgtXKXBB~6#i6B6!7)oMsU8>dhX`!CP0$7|%Avr$J! z$5AF!l*u+J!GQv++%iuObeeCF^B#bt`ynE5w5zJsiEDw+QiimRQ4-vG#847&D?RgE zd>o|OKp%N_{LB4=xMvq0aEs1`!!q=4S_rhdQ}YY=E;@}o7c?Sr@klxq^d}ytcN#fJ za{1H13h-8`2tJYZC(EZnLrdp|{+!c<*MJpiDpfFoFnSHJpP`-c6dq4;FqV&lCYMf- zz>4c|oYFG;>HPMP!qtCb3)ZSiK>|&DmNpd?Q;baf|9Y>P8_IAOUI`3D7P(5o=Kon2 zzhe13XnyHrNjMMqqc5lL``w}s)FwPAyC9ufgyfR-4yh(n%o7h1=0HES>2_EITf{E5 zWLRYK@h9$py?ouT4^h%>*Sa*-44NtcwuLW`|MHXlhxdU{{sb@$}Y@%DUN zIL<8NM`(pJ^&nQfh4!Y-C}Qg3c`RqMHT5!NuFH8MbTrYFqrN~t!Fu3pxe(nvf%I5Y zZ7et2_NFjBR8EHr^2CXwR5S@HT4g%alc5&%cw=zY?$$`MEoGlm7&N0*P3Hq#sy93& zXS48Dk<&+-Rx{R8vY_1EOu0AhfFh^K1Z;XJ5ym846m%_1i!fR%C;^h-DxyU*TaBG4 zFnbf^-QT_}cR|dw3E}v5@h`F2GV#P11$K(jl#%N(bU=U@YhAA1gcOuhmL}!#>ZPDRjL6Z7 zRucwl3REKZFT1Dx%jx)f_suK6)3@7(?Yw>iZ;b8@IL0~$_{rT>NCqkf)2#VK!TKK3 zs{{J&zu9|2lxe6#w8MnFhU4yiKMFt%#4A zQtwF9BPo4-7wxCZ`{r@`x;;FdM!-9Zai)8fcB|Q_$OCeJjBd#nBwcb!9G9YR|BJ2H zg`7RIYU$7NvOVv2*RHvZ1#=@CmJ9NHdM_3<-~-rV@G&<$8NwZ#Vp!zskyTTF_nM#H zo?zR=!+EntJ}~-D@{v36{0cnPR5(j>DKsa;Lq{pJ zp!>`BS51<4@l{%;8E^H7c2bq%UP@&nbC0CW+y>b;A_>lE=db(ehwWi^%yGo+g{27q zGa}V*ag&|)@m;sS+bb3Ao!mNm7kH65rN>!ND#+|3Y1emiD1V;2vv&^9=hJy{p57 zht~TmP3u71Q42?5d?O{Hf{)O-VxpmsgDW>=Ma2SHs6`&2Fw!tP&wC*5d%X*K^RhJm zveZkU(sO30e!6v5==5cz!86nLOT}9U63KrQ?GLA4;RAqap%q!eQPX$xGafMPrf7$3 zh4%<415gC45wL6kLk=kKK!cWz)8*mqd|axuigAZyMS3>HRBN}*5p1d}`Uq|6r=uC^_;1syS!gbaoq`6F~0jQrcRlbV$?!`1|nREmf#BDVjVYyhih zKeFagkg*K2F{Dk_M)dxjmJpSr37}Qa#lR2ggA{Au?_7@#KS5oE3WpF`pzce{tnTmJ z46yX}{=)&VsT?}q zdK|PKxe#JjhMJTm*?dIK5P47MJo%vYu)SO@?aWn9T3U~UT_OKyhbl)xXItBx%&e#y zR3cuEcw6US-TSP30>VCzIo}*P>9A^%jI%lsogAiIn=j&85Fc$Z>1za@qvt6UiCM@z zvU(Xrwo6meFxf9w+CVQJNw4!LB$Vc1%0gl&!*v9U=CtauMn22i&FR8`SaQX}oQE7w zh{0m_S@xG}Xo|(3Evk2<5>l+^=sX;@k6)p}eZ0c6w~(sIqvunM{RU|ot~GtNc=@oP z4}T9O9*r#T`7*oBoxlCN8)Tl(WWJQuY!v$VO4U&2J-FE-EAZ-Pe z*}W|HU(L5#RI96yGh~op_hLR-*}PN*1HEM3{gNw*EJKR-6y)LL1%LV8Rbz-qa#|su z1?C{73LLn^5Cx}3TVtC5#5?jJLhXnlattZnQ;&pM?Fb2u!&Bs+8ee{EhjP{cl}ywz z12S|dmzkCfUB{$f{$Uasq!&`WRfyr9;~?2F27lXie6G?^Zx;7uX+vm7@KMLQj(2)#uQ)$EhB~SVNH3C6o^|m{q?Fq+Ve! zUg)t(8}Ap_1NTZ_seY|=f-F&?^mpESCyzDb1bpL_4B;qF&K1%Psj6wlrDCa9-KnSQ zYWobJrrMhfNTx+f(4XuT$9=csP(bdN@Lbr0+55S4fmOte7P4xcLCimT1Nrs1|GdsT z63#u;8^QGkyuG$Ov6-YHlStu?8MIBRl5$zhAt4))s`^ntT0&5?f7(6o57#86CRz^M z7s>LZs(S3pGkw+zf9WuMUoWrlmu>{3jR6rZ+RLin1mS);@3yaZ@4Jf^@8i|w*DV8I z*#ecGWFEciF$RFBC<0JK)JzMK=*1_Arm^ZPLDYxSySFaSr^AbP3a^2llZR7pD%Ai+ zwBZqRGkY2^^TH;8H;o3864Pe!zUoFXur0F2T7t9i7GwJe%&d9M3}crBY!C|-mv`dN zqHGH&K$D5tq&FFt0OzV6UzypqY)Z(c)|5v~0bYlR&N_ zrF+W!eGmJD*SX-}HKCjnUp6qIPZLahk*rX-a9wF^9xvQZRJW&)4e5#$?bB&5{CN2E zynXrh>cwTrDFJbrQ*9-M&f;IPV)0t0OST0cz_NyG5I%sM%2?ZCu@NbalvW=X{JIck zD9;YVE#NHBP{iP^!;0rW1L*bk1si82J;}lgMiWb$Ul>dMc-J4pOv{J*fT9k8jL#t? zw|Y&5uu_i>MJ6@x#cZ0*gCoz8(v8AlYNc^%L!q!FB59pwsV|Hb4wSuD^`c?Q_Q?J1 z7pE7s4w_Zd(>gajSvl*~N#sG(ed=5;K5n;P$KUkiL}Q%1v>2skJ}&YdDZ@H=Z)xUjY1FcPZRnqP{YhGIhE5nPW9%z;VAx@AR|~VG{rxHm)khUAMcy^4b$=puA6LM-pt|rX~*ru$e8Qj#rJg)3n|=D7@45>mkHzS7f=8jh4{{ z_sI-q)}xXmb1})Ig*GVStwgkF7ER9!e|UR+-Q8`^FRR_Fv|lr(lPxwssgZjnVP>Ir zP5kx3^l%m+l>nppGqwZxcByFnDVY6AMe@R1^9GD=F_YircK5)wZ8w$q1ByDWGImQG zG9W428kw8jlCHQ^Q5&SBmIX!w17JB<^lT%f3h%3g72GoflPFgQYBi4-<`} z6&*ElyPVHh0LgAGyzSDx)#ESpsFj@P7Uy)^TGQFb1tCW^BV}9bvq~khM#hs0H=@yr zy<~FGiNt40hKF%dl0cC`3L|BE>7Q?>bC^xOg4Q+y-aJSaQpiIVYDoWhv~>|Y*hyAg zl!Xn|j-m0iJvDjb8QMpRVv{C(Bj4Vr+y=VQxVhL&+Rz5wh!$<8ZL<;*BHjduwHE`-0fkPm@LG_HNK8k-v`c=kC?9Au-SkIPU~PT!AQWaKTxQuDSspLwH4!S@ zE_X9W3TcXz`*7}|sVjhigig31(V4kE=487qDWLgawL<=3@>Q*7v`n(3L(ovV*5?Kh zIeLM9zWaPSf4#fmJiRva=6%9#r)Z(?u_z@-D?;+Uy_UChbJ)WBL^JAImAK-44s;Ak z5KDxZ16J_hyg1X=B4Fuf`FabP2#3^0%6&Mc()$v~Zj{pG?AnL0Vk&uZOe0FK0g0WB zc+sS~#xtLwXKn}8!Ru~7utbCM1h(j=7|8S|)WM!o*+ErfEvGY40Wwk>DQ7y6-*1CF zSC2FWXDiUaYGlmD!4ABP1wo6Z*ycfd)!mMoIb=1`Q_n@bEkiXX0SLk^Gu{CWK)}lz z$}4X`y|yXAXVT}$T%@N)Kf=Fq9s@0e$53yb-7`y}5Yp7beL`2wy`9{~gDN^4h_Ar% zTU*9$(DDmSD1wq=NB$x`wK@?VU{5FB>LijmW0l%F_!Ki$gF$2e5G#%ygAY-Vy&2Pz zhDUBAJ+&%vTJ;&=Fl^p>ka)Y%=M95I!*Lw{6@27VfHTZDTTSX1=_@G2-MWkGa6`LG z=b4H)l!IBUfZKn8;WM?Q@>y_eMhT{tzJkWnv`W&pk9V14y7k8-<^*&yPXe?-C_4{4 zGHJDIG&{UtPKXbdQvMDJk@VD7>%@(I51&(e*_=62n2&jbe=j@@ao_FYhEkW{bTf4f zucah0>{8>IL&78k|YTwwJfjb8(DF(L9chrY_CVU((zcxI*E zWh3a|*YrlFKxTXpTbk$)v~XYz+$lwYX(`6nV7Fur6eT zW^_BC2Q8pFt>|EP1dT?Qwy>@TJt8TggDxUr9$hr_$7K;tn7#8T%4WOd*dW!Brk$)A z^9~CZH-c|z%P7+%dXk`5U^&(xsPaB0$(wV$Zb#O>qF|$OrG20odZIR3QTrs+3nrxl zaME&+4KUgo8XHBdnh6?oN33X2DXs2GtZi^@E2sh$#vryfN()(M`$NrBx9xilnT<51 zcg}Vs;t&NHH9#yklYvMs3w9D>DP(EpN(o$KH`4sW+G0j}%}ApV$D|@U zScCQt4Fd(UJ63u|DejQgNb?V?ik3DZ)qv6+)BPe+_nBIvo@ih$G99 z<~{9k(=mD%kAYmgcX2Q99ggl@SW)ask`&QdTIG<(NK;YZe3>1-1NK?+=!5Nm*4(+nAbPN^+I|RIH zRA=*c9pbCD$$)d1E5%<-)j^~Y(v<5rBYxbzY?sIG+UX2Jw32ijj#717!o!u5f^mvy zUDzgCzQfX$qcNluz<=NXfodQ*&*`=!<*)3Qyd_X&@P-eP!A3_zNzfNgfb>FInvUvj ztmAFt)|S%8;l^{3+^9in!9s^p8*wQhiOI5`ls7UAc}w2`{Q7))3z_5#Ot5{y+aK=5 zYaMKA)8EpB{-A5Z|7c4!Aso?R_IRaK6WK~%EV2fCWH4jG9o?O`nhT=}FLdMYTC zdzC{nY!NP+QaV7h8g9#_QB#V_=val}q#l=sfaQ@;Qh}6B)EgmBE0%( zx}D&&7)9;D(lOBb()plOkD(<{hl)DtP-f9vh_cnKZ%Lr6=glHic+i$?jWUaeKnqN# zhVmgoHT1GQyg+yVnj9QqKEs7TCBWiLWlArm1;}Q$VQ}9&rp5zk`r57YJcLz94}dk zG8314OQa#v`lG6TCf$T00i~Pi^hTu((R|5tn~>V{(UVZMd*;IuA6b`*(4wkAQX)-x zaivI^{N0!Rwf4~AtOp^bfE>VJ%ENIZO13EVhge~FnWIg98PW}DI+>D@e%_v6V5j8g z^L}@wNsbTM6K$?N$J*hbl>!9a)#}}!O)^awS{Cmdjjq<6lRTbJm&@bZ>#BRFZSh8; zs~|(r9bRZZ1LK62ye*z+W~FQ+DP$qibetw&4mNgs{(kvse>hyvIJb)=qFFLkPDA!5 zRv~@MxFB&yz$>I8RIN*dAP$L#G@Y`^H@`nV?Y?>G*&UZJKP*6JjRYnBHaiuu4-3%y z$vSTv4doU1=QxtUtK}pSG8$1jUXvkTUN?7l+oO+4U}@AEfsrjmy3El?m-Pw6UYRD_ z?}Y{O>9^IHk#9)T!JE~W->a}x6>}MNrXDw3I#_+tc3>DVO3kidhm=E_j^6xX$g#KB z)PkQe4_>O5@!3l?U~aPCjF{1u(ixVF`Ssmv^e^YrPgm!Ko9WenIr;!9v9Iu~UHbjd z{ufO{c)Fn;1lWCUa&JrCZugo0j_WqdlUSbCnmXy*UE^X1Dhq6 z3~IWBcoV+@nn&Byfj7%IpK;5&d%7z@MztNa@JII3{oDRjPhq40p_xocZJ4i!I5E)B=PoLfW=o>?**`1()VkV^NpL#9J~T@Qp!4 zv!Dg^I&9d(pDhM%NGqgmPmA9yE*(7+1sto4?ute*q(a*DjL}DLoW{pU(Zg60?UBoE zCPmwVl9U)Sp`TPYG7D+fvp6daXzxjiSe8atFu1VenK%pcHCcji-W^m%{>_wkLvkVQ zdiwCAmt6?T@^DI~4;+|$BV02c9HJZBvZ*vYQTrr{8HRv_5NUrdoD@(cOT z_fgeSsqWD2u4;k-jT7)gTkmhaUR>hQf_BXMJjpgv37M%?gpjfNygeLZZgw4JaHs0c z8Bw%{O&9PtREh&&#UzB?DYBT zfpY@QMSGorL$2`H*ionSI=bd}w#IctU zNjiX&GsqNW7mC=?V6t8`Uj*lUfB1YlUrU{|skSUPX;&bO$;E!qfqG$D6`PJhy)i9u zx}A_o$grMXybZ0Ip=AWEjcAv`V8%^xYg5qUT|{CxRYHp$k)?!}W~*RePO6=|3W7G?u&@1#b_#m%F#)zC6Xnp4(Yxim4x?yXJZuMK=~i z*mlw-x>-mM+6k$I48Im2-+YSL&4Hb9!31$+i}6|z*716GHeYI-Uv^rNL^sx6Z6H3r z=^SWP`L)XZ?Y+3*9ZD?o*pvZ^M2*mG=G{XD6V~}4vCN~jpq1}<5FgUfG5Ary@6Uk- zmiK(d<2rk_K*tgqpzdRr|5EnZLUI>RgZ|j$?HFlJU-~R)etEx5As^!8|MK~8djF#* z83)x?ux8%}oJ8B3=!h(g5u}q4d!Sg_FYrOnhxnP;_Y`S|&8Q%!g^^|U4S7J-M0%k_ zR8vSuWat1?27G>dx~5d+tS^KoCk@@oDJEV9PMTKIHM<)iW28tyG1)BS9Wr#tDMP(! zfVQVf)5XeyHVlaL6{&`9gSMFEy#hgpTq0VuuykN3pbd@xVRZjxd;YqMn?M&~&qkdD z{24WlAd9ra;-lUgVVIts+5!boR4GN%7)yeUCYVkW6~W$qIqdGvr^l~X3oWDK5Pkrh zs2xpgd3Slrf8?x}521*8i-^$x(}ALl_$KDhg=jSicNn4_6Rm4*d9%he4ChbHehiNm zEi9cUT939>8@M5nknx)_?~@kH=vMpruw!ZnZ0&>`Lx#>1Ww`rGVO{%l*gou_$!USb zxyD^6De;z}v=t_b`a1-?nV56lSS1UZi=3IURCBCVon|as=WbbZ~ogc;2_72 zE+UJV(Kw1$L*F*eG8c=i^GMPHhEoSp;ccIuYGcATASvcHn}|e1MznhSqX)2gS9Y@M zSP2@Q07}aF3&ay}=q4k3V|dQ-_K48}%AQI2 zkOhpj9hu~T6u9xohyqKDAy;@KaN-=1?mJ+88+iT}3JJ9@%{S7^ zQ1O_ObA+TnM)oX7je9L@HqCHj4rrh;JZ?6#hf*lhv?oFH58`gENf>vyfm>;Q$+_1A zd0gDISl)r@<@q!%+1i#GeW3d!p;dp#lyt-*tx`bF07!ByV|I?KwqR*tf`Fvn#@P|% z|1qi;dfjeZhO|}+t$1$q8PHlO#hbwxe_kd@#RTsjt)lt^;gxCg_C>TKS^C?((kR>g z%(oWsB+JK$ZYfiy2z=5d$ogYcFT7geN?%27Z$J$Ti1XbS)FlU!%p&st7}Xk?H7{~d z-N8Garc?wRENPLGE$xj+qX+fc3>NPgO`=-LCjE6?HmQUv)%7mKS6Ub%#w=g2rF_v5 zFq%Zw%O;`rI0o}_Q(V~4rF6&tLZ8NfEoGv_C|KK8KA#Ktg2JAEQ#G>5vETAJIIo5^1&lV1f}k2|M4Y+c$&MS-o_a0>~6 zjP5DF+f;Sa_Zq0%vFjnpwhA4MmO_S+=wccadx zp<)euf!j(8J5T0GIhEf;;Aj+e>t2fn`1|I(|MKwt_FP^R5$qGp5ji3sgkT^bZS}%Q zK`7Ev%!mv@M)%S+&6Qt+-fBWDGVp>XF1Wc=%@xJ{>9UFc zw0PN=ZIU;Bg+X6Unj9ZCoa+!h$XRBN|-te36Yo+Mdu{hK>iz9&R6-8a)%Y_E9=*Vq^WZh3VKhApvm!?}s5xgzPD!$1x>vi&&C5iVx~X{C zXcSG)#(XqJkK&9=H)ii|AkI#>Ims0`u7r3xf=0t=dcHNLZ$L@EZ&qe+$c6-5Y?q{C zR0@EkQ~6m+-uS?Qaur3?XccX%pew7mCOs{v)<7;(Y&9RMIX%rfMVxo)N`o4TGa5tN zDrR0i#M`;6=JTm#E46>S+BXb-DD7ZOiSd?fL77Ad64Q1A=US? ze|q17LEj9I)3oXUFI2m`C(Jz=58gjFAL;56#)w!S@S$PDX$pK-REkn4hSWXA_UZ#S z&=t;iI8#HO_pPBa8R$R%zkId@(T9#LhouLMcG2}D{F{$;O zj$+KE0wHGIi^$bu=MlqXHy%_c|~gcD7o9kNh-;%)v0`FRW-u~~r? z*m){8A?Ni3jw58+^fHp*X|Gr{MJ| zK0R!|`Zu{ogNV5XVOfJr3cB9vkk`wZGpxy}LWOrWvhRUQ1kSDiXXfr@zwAkMk+Zr* zH}s8KA1{ueLuoPJIg;WjDJVT*gsu=e|B&RgriTpGrj!{z$N_7pl^$~)r+cVONt$hl zP&Gm&4y#s)AM^;sS+Pfc6~}&MTas;$193ysVjZ*x;m>erocSg!nLRn)R8!_zmB)Ajpk*wbVzcc z$J{_WXGWDfnxMTf|7L>f5UTA!eck;xAAw&Er?)T9R}A5N_iG|T%=8DL-)5m(C5+JG zk8;x5PIM$8U`DDPOXqCXi^ZJ3v9seajzs!@>XN{LFi+MJ+gF6S4abpe$IDegou~6w zpl-4raS@Q7qlUDHlx!nJRs|DWY(VW{&gga=omWnxjC4Deu5ZbAod;8{_(+2$n}#BD zAj}XE7WV?nTuyS=4j&-Rj-~TV8SKmH1Z}-5wiuH3He`R5h_zq(wA%k4+BOPr3>2l| zjabp>(P^cO^&Qq*#dmk39B|l_mNzM-4Pz>afe%_?khEH%9K}GENwM6%WJIA)K`}r( z$7Ba>9P7B2M-R?&oBbE{APPqpNiw~$-i+m|OeGiXWNAc3S}D|Rj|4{aY6NBgp4MV^~}vj9Vfb+sOFY7quoT_V>P9P02C64&-C&pwWktSw-8<2lh%(paw`!;a;xGH<=8PsjJo>+|V+TuS!M_p|Yiq(FD) zU_G0qtrqz``v31)Wg4k=EN>P2jd$PMK9aCbR2L3Y?#AOUlQ7AHlA5!I`qyJclgZl% zW_HUrU2^>%!(1d!Is~Un!sLLDah3Kjl9Lfg85@>?wyWgC8uV;h!&VpVuI(KWg3U2onjKC-JF@Fo(Tj6F>XC5R zFqiA+xYTz_8qnFvTW^{Wo}y3U6z#%CD__ljMbKy?>0p}0I>GCCyFXkl6U^ueBUqI@ zl1LXhrYnRsjPsHDQE|Mv|^D%8=t4 z9Vn>>@QD4!%xY;N4=V|RPDxJGD3+h-=EP(y8C0j+`T^4ISUTL3xPkfoVf*cUyHB@# z`Nz-y_+=JPdhz6KH67DusHQ^<20Y>2>Ve)sOHH}>pr^H$c*h!IG!GXoBAw`230KU? z#Pl=(%#>0aW=zotU^zADZB}~uGGZlYQ({Dn){u_%tVGP)B$OKA)z-s+cK3Y2F2S`; z>mk6EhNLnRTr`AqrYFPQ#iw@@=qg_lxg)SOi^spz(7h`34mF8nOn~ksKs8MZ0G&+@ zQ#I&8giifb7pKziW548;d*+RTOMpA~+)E~SuwHvNY{UT88=rjnDuG2iNC$hENR`~m zq%3rI^4a1lEIlI&aj=0fiPUG@^eUM(67TgN$Tz>ek-+%e}zwUnf*SpWZ{{7zoVL+b0 z?tcE;zudk5`X7K8Ld2@RPue<>DHPM}Ovw#&-%a_CNUP*ELKzX30GLDD2wBFvP#T5U zDV>6N(-!!1gDouU)4y%M@1W;BI!@(C=U@K&fBgKPKf}L0WdG=KMCetB$6?s5H6^#H z%jhCO>`h6s@+jk>=y(J3sXq@IO4|O;{XK`CtK;eQ4RiASBXIw6T1vO14slvZ-7gK_ zX$8Gl1!}+#v#@PH5kn3gOIzQyNh#NtpMU+^-SM~I|M72s|Mg#fxqJNCA9jGbO^ZO~ zQR38V79;Qgt$znb>9C|e-#ZYz@r^h4vf+Og8`#rJ^T!c48cDiCW=cF$#TTh1fB(0C z`Ss_&-EIH%Uw{7f_qd>K=3?iPLRH`$I@lh9rn|?3hkuqLHMX<17)1+`nuy z%g^n2X_7KF$eF~(rH5I{$pf3M4)rmNYWRmeU^J7o0o$1DP9KlO+>9~vHjzWSw?bf` z!rZ(GwfzpopSPG^A2ycV-!XLYXGbJ@dJKtfENx$24Y`%%05BnDL@K;KG}fznN7e;F z0f9p*n5e!qDWid3o6Ms`#AqXFYnedR_v8NME^?lYje3v@YSbg^deYw|ZkZO6*BX|C zS~{2J5i4NV)-CNBL&6(N8_F``zr1bFuYZkr|BoNH-@idO$p6_#-fhoHDKnLqPE9E@ z+-uJYjv(p3Nw_UUv5i~Jkov~bj;H?4+aX#_?>Wpw&)XD4hRhTP%%o9LM;2Dijj1~< zpchV8eP$7JGK_8_(h&?v2+DWI*l%+MHEUZ~k^?2Nz$>G0=n=u0)`GKq$uhZoFdvi6 zN%BXK-o~+;x>yDR&1+sz!2mIm#$e-~%GWG?#HF;&0O3)^+=ry03g$kl1(gwXGJ>wk zrlM&4;P3mNw?8E9JiKMz?oe-9YL!TMyR8Zw^8c#Yg$#`t-oWKwM4e#}F71cIR)rsq zSD->q^(;C}nRTV3M%INUahj~xz=Q&h2Nh?yB%3kQrcWg-F)j-w8HSuU5F-`IcB!TI z?c4eM>2iA7{&2YyUj6Mhm)E<~x3RobCyK5IC1pL{gI5t%ws)?KckoDmiwssqEA40} zUl13FADbQa9=k*AM93LTuENvbKJ3mRI~}&KyYu#N#~@)hxOb>L zw(2|Coh0;e$RMhgPOA$CHe4bxN$L#~M1LpSo=9-SMAIS`J=HJU!{JmedpSN6ZFfL= zsTcx>@F2wNlaDC<3v}g=xC+_p>XJu``p|zZT_Sq~%@b%kD=l3Lfgew=UKhUm8^0R0 zvo_18Es<}uIw5Rl!u$GCX3*Z+fTf)1tOUk1LW;SiOk_A>qL#AbMQuJ^Hs7{yhy8J( zsXPYG)l=x!3*<01^2=_$$$@HZAyl#F{K!x4<+fmCO=gT zNfji6ub$5lA#>OW-z3;sBEk`jHsJ`CDn~#3xOly4rkAOe%nKQK*2~^A^dFw&))`!| ze}t`(jQks>$x*XJf+N7V)Nyz~`|!^);r+CGiNoCR;+6|ut+SdI)r3~Q;FVYu5%8~j zlhN?@m~OIt0(MG}^g^hU;0TJvx3l^P%wt zj^@@Rwb@D0N!SKhGTaNENutLQjM^Egu*y+ZE`K_1PKWK4KK<&AIufo|OjQO3Q7kNa zBkdPyi?L~A1xR(5rlNK(tn|7^ed6IDBgbG%Gz@<=4!7P| zG7g*7N#ep0j1Ka#qhxH=9Q8Smf*+u+gfGG1P#V7&!_{!{8M0 zCK?=%mIgJLbe|dVkuazx5kmWhP_~iiwcFzkQatmP^ajGPSs*6R64HIAO3e!eV@o)7 zg&`Vk>u(URx5r0iHo{RYXHgiODT+F&K7n?Sjx-wdkzoCHnmB(uUY^0%c=3O^xoRF} zbrtOck+Ihu)VA?ABmfL-XORW4vBu?>m{8c3SR3D_YY5PCfypSCel|G)I>^WEijvuJW))}#q# zGHDA763*{Uq`KxX-?Q;?O?j0ph>bK9zD;>3E-cNBjC%l>Ks!p8>2a2{VDSJyy`0Y5 zpZ3e@Th%^5lqFt=^&AbTo!rJdre*LEawpbXBkFdGeQC_4#M9`}q*{YkE5rdj(*KarS&hiBh zxtFzWqJz-nN76iq7%il0IRWA{*o`x#y{(a0M4b}o=vJvglo03u+K|RyGwXyj5>2J+ z@j0g1;~TxHG=z}+sWeh*k+EgaJnp||6(S;3;!Y(GM53K^z2@;XeNWVL_3k8xCXnjY zr6emU z)8_HnyVTxIt!j-oLMIa`NU_T>sOiVOaM!aoTQF_KPeCo0EFh<81z0a1Zu{Hz`Lg%- zeY!UI+8N=D|{{&O4`}^!Lrf z>HKtMpuP@$1*C|*jj4nkV}`!L@i*RtVc~^NikA9PrXO)Th_AlsiIsswUCYS!fRZc zjq>6nYbz9yqM4+v0PB#>d3~nlR;L)W4^)YsXk3!O5{Gcg)fk1=kuHqSU=Q2l?sE6# z?eI99m+^iur~2AkmmIC&d=Ff0s0#>fyqYUH1{QPex=IG8b|D7+Em>ZYYpT#F+FnWH zX}dp%%2Ao7>R0Rhe^#``bR7$gR-lndUA2R{sg~4pP6^dWC(~j^n@BzXoO6fVLP$C- zGN1TwC}vMBtK_7Y-=O{lj?kNkQu$3YS&C><>q8V6b$0rLJI_ z4WhV$|J%QK=_R zUik$(i9bnIC#h+;wlrPM5|NHSfn9%snU}@8lT|Z(TI^*KORC%cJfw9#o>dUe~mJH8q?FPQ^wo$-TxS40?Q~AFgJ^+h&LQ69{aQ=E8?& zwCWN2k^Fz0SS#$9;dK=vVokl9U_ha6-ulb{Q4H$dV1enN!Tt z2IEw5O}sin&`4rk^}P*}dGrcZY7|vwT8NUlzs*TCISC2O>Si{Zkcf3WR#9VR5cSMz zIyY%U67L{0L(n8@tVv*XHBHP%p*A!*xM*4v*Nzuz;@yU#tMn3f-oD?Gf)!M`gkJL| z#hsE?KF;S5)RQu|3h{#yGkvHxqH54c*KW{`8q?r~p7)pv`r&eGx~;zi2zy>jg{sf& zXR1z(R4I{+hC(S|GiWoZ_c)0Z^}Il0^L@9!?9S_GF&L=_tKjmQdnC>4ZfKQpRdqWl zBvoB^jhN9&(n82;%rj0x5OEO`$T%^i6J)RQe9%ZjH5aPF+RlPYuV=WOCshm@OY8ms z2(MHnf=zjxNJ;pk9`b@N<76=6!4WlE1&2WhQ^1S_gWiT0B3)RSUo@q*) zMxk{;!Ln_L5lZ7HtYwA-vY8YuIR>=eWD^~|SXfOoJ3>ypbB4zQB;3|qcYKyru}|D1 zZ_3~dPS5%-70`drTNo3=4s77;-T2G?b$PD3MN6p0Qga>hPbO#@DW zP#Nj*Pl`Ix>v*X0W5O|8C;=V+xo^=HS%$$YX}m_zlx#XNUeV-b8tU{Wd2Uw{myU-^ zWEnE`@D%QYg1hXWc1tl>+q^?&zbiVR;mEpSnl(i-4f_m;mPk32#GfN1YbNnHc+$J= z<@N4m`}DLsV!!i(Zz>vjkg2qnc2RP4k_H^qQcBZIG3gCy$((XyMk3PjphXSZUxh5B zey7v7yUXsuOGa3uJ`8u=?A0NsI?|#{Nzncp1gAsX>Klgt{^;$!c4)c%r#zXj<}`&I`uF zwlJ^W)>2M-a?s5PswiGGq`8eP89x(jiK=Gvk}ykK*H!~$hh|T<7Y!jC9XwvDN!HBX zWKWo_WZ4cEc57OPLC46@#-e0Q9NIow#1q&Dx;wm_&bzzI>!bI_YG1?t>0P`N7cNR2ObpbyzH##I6kq*%3^* zc4>7Sr|wC50cz?r(K)o8RcEnE-4DmpgOA6a&K~kY#bm}s&4~O&)>btN3xEru(|~Ch zolsa5A2gwKd6dDp=F1t#Pk-9)-tYG3^Ow!j{_?s3>pwnC&7M&vwAg(rw0Y+c*#!Co z8s7WXO=a7M4vNmJF0i^XhZdIRd|=iwW;36X_FodAmeG}V7Ua>}x2*a{Jv4k)Inltm zM-G?5dWSZ)DjH|V+Z!Oad{|^hZZ$m;vY7)iDJSNc6Jyjoz;tL}X@xEH{=-|nY`^T5 z!^=iYiYuUrLk_y8%f$q>4>$L1jh0md!IG{?rWQsD=lCDJ&|g0QeYLU9iR8t}YNc@f0ktqElw$U8Zu3nC)p>M`MI+ zr)rdIs04W;>Jf@gM=Ae0!W{ea_VqPH`LJvX`UxLHpX|ffIjBAg$#5c}Zf5h>4z?c^ zdjxH!KC+lP1Tj`n)q*l35x8l9ht9mys}GzXpBHbx(JsNEO#RX+uW8Vv_R5!#0Gzc} zK{Qv7W-p15!ZWz$4De#Zq{FxE;q;b$vW4;C_U=P3f~cF9(iqQx{xY-_l1gAWj{#zq zYSJqrPqtIh7$o2RJ1(;zPfN#LH*09y6CuKW!P(YCCBK_VNd+!8A-Ph>qp(Lic)sakwFK->o}_BjZR zcPQU)G_91JB^oB+bN7EE74IiAjJH-D>*{TNwFPtOFlb$AIeEhQwdd{e%gdEq`Aq6f zC{NICt)y~bKMU*Z1~8Dvd=?g0bqdk;$s6 z=zS^g6!1;>SLa(-Fu21@Rmf$zS7P2`$Qhc|iZ;$s;^6Lyt~ z-S}&tmrh^{M|mAfJszB)ou$?LaEhQL!_tKnB0_R@I>|=}@|05eS%4 zS>^YL=97|Ggqgb7{C2tQv2XIz*PVBFzkC^AcfSslB!y%)%%}`x!4l? zj;GIeKfWDsRB4bx9}Iy*|E(!xBH%5i<* z($3lm^`?@OrIoN8iG9>;@Eer)c?YRcAI05WUj6mIe)?&@eR_L*z0$8Y;|ItzticC3 zdh0pGL5^+`!yl^ZQAq`I$9Yw$TR0Tj)!9UNY{0pL-1X&kbNAwn)b4UEfo&RPQ!ho1 z%iq;#3mW)_)Q3;1hD%x}TWI*?$OWXV>KtYl5A$t*C9^bZqYRc7i|Z(BI2+WhuES6} z9YsyD<{vNV7k259psB6q6cF^c^ZxO9d%i|A(QEv~`B|4#P^|5#k;c@#LkDRU4LJ}o znpoOrwsva0a%L!Z-V`s`CH>ybW(Zj2Asg41Z9;vT?3ayb(S*|F!Wk{p1$NixW@k+0 z_r>q>Qm+7O=&P*_lO!>5d!IF~}68 zoT!fg9FzACZ@};j3-+!_O*_AgL-@#=m-6ewHWDdjE<4{$nwD>pokdO{HRC#fOaIXa z9AA(7&(}0bGpa|M1X74pJcE7(W2$mqX{ddYv>PUQU&sceXnS1dSA5+cAK#X}#kPJy zcG^z~Y;M@^UoSNEHZwN>mKFt4mJ8{CJh(<6z>I{p0Hhgqv+ ztPyg{MiCxvs0&=Hw$Iu(BG|md1~)*DItM_L*ZD>Uo#(R=MUE6gTF_A}WK{XQ-Je6L z`r7Tz$Sp+zjGRX<-L4XRBgwMaiO0G9iqru~YdBTp_+XRu)HKPZoV#@)c-y*I1*7&p zv8ueK9ow?+UdfG-^=$P&2cCOF2gsJ?+Tk%obByp%D@KZiQihmu?NLqn7L#6)@U0W5 zs!hl^*8C12J@gn!s*x;6)25g%HB8vR7^`2m4v^D%I2^n||5go_c{yr^@`hzQSMf+1 zq-h$XztzyI_$zA-TdyT1zi`|p`7IIpLN{iI*v3k#N>bhqse?4_g;~Fdd!Eo}H$)eX zrU50R)w8z#uuyki@InqD_?Oj~!4+7w?`_}(pm(TIWe>anNCq{dS#hx;4L>7hG@CSO zl$UgV81sA}A@7guhW{ec%oZD(ARAS=VG%MKM#|&x=R-!m+)x%8VV-sBvKcpH#Eh1a z@&vBj&eN_Fs)mD-)(f^g%11R?)ymEO;l# zC8TLiB}}D)F2J#c>qDskx?;p9Sqa*2DGb`4F2{qIbQ9h`C*g>0_o-lIhG>C%JQ47!cxD3LcP4$k5KB zy!9*eiTt!Z9Im9ZdiBJ-KmphFh~&q13yOh7pk)V9-W{KhsB&ZzGIU#U#{9T_d|plh zfiCIKl_^o6f{E|Wm3gRAwMi8ZmAQFR1?hwgrJl%8cZXEOy89<~YpgTf=b=MQFLp!% zEPFi(aIteTe2#oVhDPc=wEV+pO|C1iL|c`~BU+1SMF;KEZu@kVny2+dd?d?qPje^~ z>U_I{mR0U%UbTW=IdZ!wwhr;?F5W8>hD&!#>CucHN`k0jtHidgSv`vrup(QK5xpmN zl?JQDYP08WTbb>%m}_BLhg5A;HDsD>HIf1u(OX-1cso8`A2RK4U&pi(CThBk`7l~f zy&;QG>6~GDUdZ}mWKS8qo=6O4^NLhKILW!k&<5x`$FRS70IJu)y^ z;4x5Vpq-<+f;{aFQ*OAWVX$*a4ckd`*Q#LRtF#Rk9OqR8TTK9_3Pwpi(>^y0AwfnA#jP;>(Br1fBg3Q-P7+s z|N6I||Hm))p&T}=QnNV4h68!QH4ZkgU#3=C8eNxuVeOdm@oWCgC?!biV<}^DrZ{{3 zU%&qC?z2DB-|u`Jd+BXvJ-~k7m!ARqfBF*#36~Z698Ae5;Sfv(iXU%0P1%eb7X0#! zr5TURUFB$oeQEjuX@4vo!!P_{zy9MN|MAP+`)|Mf%ia0c|M|=B3kPA%LFUVf<2q5T z%xGCLlqv-YMq+duoIm_wGDXPyV;TFyuw@N+)~E{r%s5`8P3W)&%b zES<;CC8dX7|Hs|yumAafd!ut5HEXO;E^4@f*?P{PEKKya$vt!9%_QBQ955>lGacnh|2bB8eLPE+d_~L#F;m7_9E^SX z<(L2GD&XF5Z+?UYZSZ0{571w_rNJQ56B(M^NPZzw{#csa$Y>w`>-XP1psRpq+ODJ? zHI?I$C+iV=&0l09Q<^*a$CBbkD@g;#JTaJBj_=<#m(AVh-+uqa>yyhbzyHr)|NAdq zE7v>BA-+XLEo{UN4J4p9x*Jh_c<5%7MG{&xXPZ4Z(*0OU?syZ-S!m0MCxR;CuPf06#wWTHbVT6fhkgn*OZwu-I1&6y@a!QH5MOxd6LkeB)3uq6uQ)Brw zG(1fOezJVX@?&XOllu@aKkar4P-n{nsQxtss)cdf-nTa!W8ptmU8)9ZXH$Ho6xt%i zk5z3aEbk3qG4;1)HnHY$nRrSuR-|pVf(t`renrS^u=Nz z!Ny6FyhSPkW{D|8u|N~2WDn~0aJXE-Ixo~GsESC19n|STf|b_cz)RTV(X{ zUPwkeMWt=0lphD)Rf>t!ejQ}(6rHUpbYoN)A=b+6OJ@4 z6$5vlH_s>nRT~Ix{o{gev3!dYKn=la%i}QlfYh~lPo(g%bp9tp4HQYC47h`t!kf`z zpDDfAF0kJUXx@^R3G`GZ2XkWCs$jMrHW zTQ^9I7Ia=ELPp!Cd-fz0wr|Hty9gAqd}=)XVgKkb!&3uEl$&dh>P+SJebi}0P$`JoxnH( z(F6W)vBLlfdMr(&=CAO$KOVO)rzI-{Of#Kztk{p=kbDltt*qCRtXA#*D|jEZ{16{1 z+Dy~aEms|<7HbT&Dc0hoc6&NJ*2xN4M=9X@yQ%2;m@6SAiwPm+DrB zn`5n1X2vG&eLPz#GSOf{(3Ft&Jdvl`(^$LHLZE5B9l~Kx;~9(I}dp z%zlT#>G!**)0a`GI)@v2V#FLS1&Da?i}2y!I}ZqIkR z=0Nw_GV(Im`f4GM-f7DSBFh!2VnsU$(%TSB3S`&ualoG*15$4vgmw@EGVf=!q=8l=j6%|Ybtml4!!TPQk&f+-t^z0R6#*HxxRNUm zv(dc{R|D+DY$7$O06#E_W%vtO0)gZ?*7nr$4e;9>ZSsvY^)0}|>!m!+hS^CrNm`HI za6@zBW8Xp`T@H+;cNE|L^89={eO>bfg1Js_H0C~uKIySVhfm-f@gkz`lk^aL;S;b4 z&(L$XuY7_zy+~L^fOJ1oV`zli$hhVu{-J_GWQsA@J^=~7Q8Pg-kUqyvJ#h)^6K=fp zL6>gixxVUmFdlazbnF$1ly>(tvkX@hSIT~@wxovZTr3ebjGPv zt{KY@QHiU53D94&gKR1OC?!FR0m2r9uM^T_CLQl-jK`;K>ICfJT;j5b)`lmbd=!N{ zBUoWJ!*1cpIzuevl00aHPb-+n%<;Va4ixCOiv(FEt*Qk2pswv564>I^5}j%#U2(JU zrVT>nHPmp^M@S=Nyf=c)tv(d%s0I&My`Z+qN39jn5-B=C0vyMCI(UD4+I`y{BTLA# zF0QD|9MD-OYA{QEey`Xp^ph~!s^MaoYREe@C?AfO-XOeQG=01m`n`I<%ep~~$5Kd? z3RYtv$}rmK>MS%gzH3{4m~I!TZyfLWNKi}5O~W?{LKUFoePhXD30*)m##Qv6_{2QA1B56c$$t}CGFV`4dt+cTrd9}q=Cb_iLZ_WTz8hE3fZ_oTyZyuN zyi~qi$QZc>{~&MY%@u0{SD_}a&C3rXR5WkAXWp(0@mxW4lIO!6Mj#bjyApS!R47*D zCj~4>QR76@BYNXyhFmzUF!Ehj3jT7C{>*_a1gn~rfK-E7I z3V+W<-60bkG=MghAb~VBPV_S6*RHzN!j#R3Dq$103Unrp;jWo04Q4163OE1|Y6`lM zqsCDNfI{kZ`u1&AZnla(>e}U?E62dFKP$>2v%Hx~S|V69azgznV8KgcbF2_bjtV>; zlBnG@z-k4_(Il*B-9%3bKfIlfuzuuWzruMyA&^Z}H&Vjhh?E!_ITx8`B~KT-$^;3nPHJM`MnsIavBHwFp%9efLB@c4C$+`hW z4|#IwVkgGhSwDeXGmcI|R379ythBh=TH?OaveJjabh5h4>FVuK4FX zj9ky<7$>_~pTlWgNh!`4p~#Ym4YrtdRe|0(ueWC1Et5wo zT1OX&VVvyw2v<6>+KA0T!dOM5qKSgN?+Sa=2!+-ZqhQT!8}Y!bJR>EVh!hQ%>iGx{ zr?YC^w^_`;Et6v;oHaUqZu z#&vtNu40|tYbe{GGA0iZ!udhn1_Yz@A7lB>UpD2ki(t{pb-T2leEjz1%l@t2D%3xp5yUXi3$soD+D!LzNXbVB7BjmN{Yj@aCzpGL`uei9;U>Q%jz1)% zBsvJQ#sZ>O(#&kaf()-Ji}6I|t*H}>${YD$9HmvyNdNkF+%JCrdNP{qRc)JZd&|^d zO#o>f!WXE8tbT7nfRPf$ncjAc*YkE|*hpHQ>s<37EeESelqCJ|Nt+8;43vK{-87m> z)9%6mbrF_K-rZ2G9&D2)Xsva9o?0lMO?(#O%E>Bm%S?noN*Ksj)xrWt@K5mgbocGN z-JkcXOeiCrGBo@h#_ATsC*V6QZB>hY39`pH+p0s5@XOcz zA2NsP+Kn5dh?33*eIjC=%pp?8INGk3fj(}JZ;xxr5u`SJOXbI3wBo8fz=YJ}B%OgN z|Af>rj<%|m2l%poeO>`{+z+e=DSo@LT9RZF%CUcfC4rXuFpxXOQ3Ajs$J@i2B2|^W zA^KU5CO9lK0J>(rG9=9(vL1VHqXPi}qaeYC0@J zMQdnVQ*wh^?wM_@q*T%Q&}>5{fwip-%238r6koJ?wr4+lbbGnxt2X#Q-^ z{H?uwDkitoFF>9rqRm+vwxnP{@`THfue)s5=-S&BVya_PPf`q=?l0X<}I;FtvEa0L8$F-t?--4k=+8F0r z`*+N7@cX=2C~3_Thj42zn$L}Tjmztp`i+ToQ(ul#d(?< zLfWj#lgEkVFYrk^f_!c8qze`OI8wkE);!_SX-8UD^P?kqc9df@dafIftbcTb)uD2b z^?+5!dl(bbmgE4UgADF)+x(l@UL-h7bz%Tmwq8zzD6KEAY$OA9j5?^eg>9soB)cM1 z=QyKH))A^jsBI1dpgzBSdG=7l)qJ^b3_6B; zG_?s@KpVo)yD;ngaNZstp9g^J+a(?lN%sd`Fh~#?OWsm=U{IxXyy$||0+EDZCI7UvTo6GcZ)>tBH@t3tKBSL>=-Qx>q3pNk5(!(u{O2h z#a7Yb$pt%+h+q5}dhhP*_OQQv+pUWDC}Tp^)i-o7y_FEnvK$Rb3|Uf&Nu?$37l>p# zXzBjT5z?0XC+FO%bdWWD@*fLrePl)v?^`i40iQHl;(n1Zk2_bthyBYnG43ZhX%Gs0 z>)j-$$ElPlwKR@6rLwJ=NE|N`=3D1?y4s`>-9Y=!#=5}>I{B24TFpqfkMB(*Qlc9& z>(lP=bUJUJ)>P!F$DU##HYG;BeqV+UCFHC%#!S{wKAi{_4H}&h5t%IbbXWy+wgWdJ zHKTSuXcm!*G8jjs5~w@zhlmvI865}7NKfa}=l$^-SQ;Obz%4*EXDttm3gls4s7q%kFS_UZ=10eeNNNRHUZ33O!DCSh5Zi>odIC zl@{9cwj5eBI$x3TzVG(0+a<4tHBd#+R_S%6pg4+w$1J(`4T&D`!J&-l95TZmu|j7P zYuo4@S~EIevF3Hnnx^A)eQG~Uo;br?Nw=Eoe`Hx}3ly*|30jVhc+qmv5sQrX$^)BI zmMK#IufT#aP#iAJkj|$d2;Mq~rWM(P6<}5KZziy4xac^=O2M6DCe?oA(_$C~cliK3 zWFK?NI<5rBa?-8i=+J)Av5E}&;e2{OUdubxi&Jy&jUrIP&xre8x*W@4E=3FC%BEWtQwe~RvUO;~=m$!u(8rObM$7ZteWT#ms_3!&dEB#1p*ipPttD4pj+B@7vsudxyOG zwZI}?q%|Bsx=FRWiiJbVCVJ-Lx@Bv3qE>Yml|}%VOx~@W+{UX~lKl;`Aq``+4jyI0 zf322;Q8=`2UGmKvG;rr`bMG&fiJ~nYJ2(pFL-9vRKWOg^k}Zq@trr$V+vDI|Ey=Ab zrm`Flka`bG(Mj!y)IdE3f4DRSD<`yfqNm?(Q^`GF0*hT!l4U%_z?Wc>YhsE~bC5v> zmF^quo%r*--_jYL@;P1v$E7(h9ZrgwENkUsjV$##p+$oydwTA1`|@oCQWE{7&ImCr zRJOwCl8|-u1DjHyTN;085>B*ovhDST=;s~C2)>Jr$h|$1 z^p=EEL0P(IG=8$@A^%bED9|JDQkaGe75conEhkD^n4#5^J*)BOz#QMPcZugrY4FN! zn%|WSO`huIB;L1|=l$`^>#AYAz_8&~5VH!9%nQB1bs$t!d zHf;)JGTc%ottH7oGpPEiWB=Ff!){gM4B4rZj$p66L4T*By=#9YQ#!1Y=gH6ls@@yi zUp&;qVU_bq(`&>84jWQDTI(aL))P|Ba@q$Q(V_`dz2J1U3|CmqZCEEKn}#abZly)r zP$wB0JN@S=2$}^_xOQP$%w77Q7}f&T6a2LNFak!Cr+c}}kB9=D1Hn`){G%OBIYF|T z>!!U`LF36(5-p372t(7Sds)K6{uOHVFFv4J6IatYWvW9)Wf-qRgqo*eC!?%tLlKTf zQ1_JG;j}oj!lqsoCL)bv^)UepG{oH^3_Lzd6kE!|du^agW+?fe94(&i>9s3JmslW7 zN@D3L^4E7+AT&_ini4rD(U=&ekHT0WPgWCm$I~6VNdO{R%ne~9L@a#{(pVNs zKBPxDW>%n#kgatJn>d;~-BZC-sR3Yq8(>b8S=e9@MRus!G;abCNYo0#1%cO#22TGe zTG%$8gpA?cpi?*iB}{(kNVti71H4%@ZlG{ zfPgo*+QkrNs;F!LYv>fy6%N*bJAy!jq&##e&UQLVZ+?o^Mtz3%&h+%zO~u+Op{dA9 zk&G7X1k9OA1B>7cDJccC-gR#YS|RafOxsB(IT|+8(-My!>^d1J>8j*M1R)p>H+o?P zit)CDprjL&PBB0gXwpniKirh4kTYEt!Pb>J|G)hzsDpJ2ZRLwgpwce~h*;66*`Am7 zWu>E#)Nb73g+rraTGqSL+uC+tD(rtRzIsw;0?nH3Wi5f{^ZJCVo}sNA8_WjkelLXf zFUcBR`)3lIHj)iY&r6_LbG@wP`}VNT_nngs=IndlOep`Z8+QS={`&Vrs*DjS+B4TP z6OZT9>Fe$(bfMjZw7OQq$+eDp(7;k?+t88%STEkhHH%=;ra9id*7qN_+r#$dxWBsf zrotRpY7^upFWl`%g!WS=3H>ojf@8&TTOh@g0&N>@W6tMzIKN$K}p`uZvP0ShU<@t1V0qSqL)H+a*(W1Ft z+rip9C0U2$@#dgs;O;1IBeF!KopZtf2~2yVXv|!%I(KnmQ4w+)uS)7~CniGR1{Nq|z{I-Xc=8WVD@nrFE#D zRB#iTus7dpuTLFxf)TULpH|z7C^Mo>wv0`^d%YaCt2$Fjo764Sh6>is@fp9zFxD7j)+{p z;t@TL!M=hiy1dKQC^MTL?UsXeDcm$(g96Gs zLIs|@28HIW+kv(cD9JwS=0>{?g9^;ruC~J-C>M^7=0%`r#zZgfDaKi&a66eN6&g6v3wV|pJ{J^jMOh$53Rl5;qWtv}Oa)t)Zu55(TD)#A9aex~82Rd| zk^XgCI!&a8*R7!OtZl6fU94ngb3tU#?1`R^K5W0<%y&S(>4kAu)IVV%%Wvm%0 zJ1+$&w0Ye|y7&Fz>G^bCmqH^-B*L}Vl!y*Z8~7uv845>smnOIx4PU>LE@gUd2kT0| zZH(u5l5RfoGL^7KkgR!pgjP@Twzdx)H#3fBb&;w7s@gb2#@C zbIC;=4!l&@OJUlAf(BaNHe%6eDpk+M+<3k7x{~O;)6wcM*eC6!X14518a>zEXcBc# zppU!v%jxPM=uM9Gi1`9mnklYZqpl(5Aw75tPZG_g?mDsWyW{KkyO;f{p%0?LDVO6| zgB!uf#;DYpU|=YWOx=vnV9XE4ibVAJnGKM7f38^>1G-nb?RJ;T8=YD`%RK_2GG+WRxm^otF zBT_Vrlw;6eNaU=2xx)4`HYc=W6I_LXLbjag5!(YnDR>q2hCA42MO8yy4-lTfV_f}|>p@(kwN{&L>GEM7N^o>k2) zlx3VKX60jF&LvEJ5HSdnVYs$a&7unHvV~FP!pDM*Oe>7?59a&+{`RnLgHPdHN*B%W zrh5UfM{hYH2TsqDfmcN$odxu06)F2*zJ82wVklWX0{CW3s7COreONnRGql z6OgX4JvpTxX&qA}YGIT# z@n%ammH}jU%rC3&X?VRra$`s&;@u2N`8ZY%$l1at_94MoaFt5S^}+#ymuU5@U?^$=sAWSN>D8fjn(|&os1Bi;4%ElD^Xt`>Ny|6A ze9>BXgHm_ALi2@ok^miEG>{%7^tLDC+vD0wUKNUwYwo!o&_>EkNivX8nG(52*Fzz{ z3#YAl8R+}={BoBn(o1M-3affv--FHCut#C#(RzER2p3pDtHZ({{FzN?IilqaS^>@n zj7`OUp_^YIm0=uGyDGzSKGY0sOS@p=Ecd)~fZ3mp4QpK<=i7Voe(<0dy;LDNZ=BMcm=U$XdG(Q@*hclfwH zeqZciZo{6KBoX$$q`2KZG^W99gAcr*9#ceIN;rXknUeO;g%fZoTwADC3=Jjk1?r!@ zN?cnt?UnPE67n7`gBbw4Z?u+5bGkNceBa0y!+9?vempE^N~#z` zRG|csXB<4#0yWBuafGdZA@Qmh8dctnlds@k^uwEq)W8pCq;piVC;)9h zlD`iV&5@p@Z2WJ9^f6p?9mDUZm*t_OR*jVTD7tDOZpP?(h0xS83-X2cyr^o7P|T37q*&&fo9){jZj~%H9TS!oHm8;^5aFV&6uoTU$KIRhJh)K-6-rND zKhG3~7No1rC9G%-#Yc48Qcemd4>Lz$FDC`M*+@as3K6Phw`EEclE!e+(+#iZ?S4(K z1#w0wUEx?Jz#(jt*cwO-o3TlSTrs?A{#001f8L*0j42bXFx{pVtZ5sXwKvxj+4>_B zPPBEDRx#te>>f|Y6wO@z^0vK}ziAi3VvvipW9VA<7KVA$bQ8&x#=02YA%+S9Sz|cm zS8Q+BJE*r{zLs+m%Q+`u6l>&JZ^Tr0w2b8$8D+Ta>5lF3X?I>Xp+>!>Dg`y@bn!28 zk|Y{Sdf9>cljVmIEZRER3koj#!!ixWtRPC(evl?rFd^NlhQI8oygrws8q(8%wSR?t zGQ8>uZsqzTBGOs0vzT2F(lRS5?BMpi0f8yPqr_wplm_8cEtu3A3^B9FLEuHP##|V%hyb{L2+F=mI9Z@PMCr zPu1{J5kuXLHd52IZBV#@H+gw|TRrlg)F559F)}iIW1NtsYLkFYMv;lZl!w@e`s z4bc&S|ooL)1!2c@eBau%ZLD^zB8wEArNJ ze+f|!{Utkjf4Sux=Em}(2=TRPL@m2lyeb1gOD+MZEpprMy`O|;tj?f<+&W7GfC$te zP__8XZURbc&vfUN8dPuLf%#L^Y+pc`qexTmQg#uUXap@GX7t4az3rZfI;%ExkKIoX zKu}WhC=gyEBq?P?qz;jqYj19a49|lr94r~8)&(ntagBhLro5*CFf!5zS~SdnA5X8Z zr{nwS^t47c=8p{+Lq|nV?=rYnG=ybDhErYuDQN_y9w{mU_}=kmZ-PoHS}k=_|5mMc z24$;yh4h4D#^krFs_Qa-lq%)6?}R6pZ(HB2`=OI+!~T zWoY}9kvth-K_A63FjXGHj5#Uo+H_NOhB#)F9KEO%eBYlf^yPMX`3uLn^g1RLo|6nE zoH2c1FP~l%IV;)k59+Cq0^IxUH*r?rNEf&&fo0dqIwekJ2Vry#zA)@Iigy&f0QVqUw~aOs507dZsT)>5_+Az zp(0ipCHt5V9@WESrR-ofcm0c5V*DT5pu0^wI835!tqT)W@=-I^rn`jNTh%;O%duvg zY7EdJ#V>Xe>{TVE1>s}3*Af-LNkr)la|+85Eb+}KIgAUlNw`nWZ0mtru9VM=wjO{7 zDXK&}4-C|+hM5lZ2gEF+WFHL*id*h5UkgsbbFd3RR{WnzPOgmltKk$avuPPDIjpffp2Y+@mDuzZHOvH&8U$;tmn^RS;aN;YP- zQ#H$EY{`SEe%K8pd&noCQsH^gE;LvT<9+Sc-xp}o1aR8-c3}eAG1bYH*kY9G2igED zFlycmVHUDj+Xn^<<~GIvGn&6>X%(kJ%23INseUZ1hq}6)cF&)e&FRDD z)1zj|qnp6X<<7OF8tNn0l~Nv7ns^l0|=!TJ_2BeS9ZYZ~i>@x6(4-mrcS z8UmtrQF=5j`f)sberyky&HnBh5j!a2J53#)=!jm{NTqtPA{wn}rm5t(^k}kwe|+2A zO1pHUtNrL!0ty$Ygp7|~H@#{2`o$#XS6br_>yXa1I}(O?UKHFZ~mRZtgh<}ro(^?5eL@Ba6le~tEe2+5X2rP8SXvv*5%a1YjNGg1WLBEH(dQ+{~ z)8-I#^%g7kYVEyXw<3w;ep0M-i(xJix+uQ>s2q0n*z)>jA65G58d>XvW&Vw7l3+{J z=a>dtw}ulD1+~MTduwD9Y^^wL+ttn)F}oZmT0#w|3ks5^8dQ&5ER&p-xrj`!O$6 z^rCxSSd|3=%c+grz=TYqx@@%9#Pgz>%|kLFY#00v$bA(`q{9L;?O5ojDX2ladZCK6 zLr$}Mn1(oCQil9DM9tVvnPUWE@DQ!KWAh6WGJ1Hn7c>>b?4P{qZixIvH=C1#&vE>E z`=f|EJ_=;P3m-+9eg_n8Cj_?Lj`4_d1bXCk9uap9L=jmPQ*aldHZjlCD? ztVYDCR9H}wa=`^E6&FOeqYAylXg_+SMEjz7JGLNw-u(P{Du`yJX~-_~0XfOp-O*ed z&qs98j1a+#=DpW@g*q<1BGQxt$oln<7sMT$FK!vyBGTyMt7E}8M`SK~>K)4uAZ2|_ zR9lx(m%~dv^`-%syz5jKnFexqVq|W=Z7-MIB@si7vBlC7Q-d0OOjV9Uy5oSDOtJZ0Y zr}#b!d>p4{!)gqXxM(>HCVvbtn~pKOwqfK_q-ND*_@X}o4wh5VT+*0$xDfuBJ$X>^jl`1+w+rCU_s5)kDu%Z#j1>06u&|G!Rj#?D0x0P^d#H;eswx-PS;leXJI_^)%?_g_lu)bQ*_mJPFawzR-ryW zbS8m(pBzP;cSjeC1*0Y@)k~3Q)LO>RLe4K*Za%$yO_|9h%8{EnUp5EO=9{158h3YZ zM#if%Fi6*h&<4(^IWrSHc}Bj`S|Q&Gp?mT&1!pM-;XV|gt#-iCSgl($wSd)1+s&;( z5UnQ1is*~;05NvO55RlZ_kVz1+M2a1xUka#x`IxMV0o1cS=!#JK8S`kCC|1pSn`Uz ze_g;PmI&A(zIC~9fv|FF(s=y&E- zI}I#y_0wj+P&F-zyE6fB*D>JE$R4s3G~B`e7Dnb94E@4Nl}1_j^sXvtvpYmrFMLR*vB zu!K~Axn-q-SH=~}o~h?IO@bLmELT)l{7|*;Kkq1~d<3$gR zI8@+X$QCy^!Hc!_cCS~)hg3z30^g8)pdIN}|H@lfkPqyX7@ zO;hga>a4H=;Xdy-FF$`h9*H90`QQKg$KU>a^)G)~?f&vlfBx++tIePO^xL2R`maww zcQ%$T(?@VaLUVq2|jaJ5RdzN7vge@8DDPZVz+8(~1 zs0MNVx8MHlkE{1T|L=eP|9<E1f5-NhO|fAMc;yxOws02(?A9?v>5pE( zmbmbo$~5D3h&PY^XS|L^s5y({m#?SY`Q^BJK8>MAJKsW2HTsZ|hm5?)S=m&q=;dsp z1LUW$Q=|@ah1DTr{D^EQ@&DG1VxT^658LmX_nVTIZS1IM`Xk^rqfCHfj1VIT4KIrg z!Nq?#B957vsb&N<55Ez#%b=n34xpitprYBZ zy1HKwGb{oH7Bk{OSV=1d3*RNYF8MN*UrX>NZ9@cD$0&?IjZI!7METwwKP zA)H3!q6;+>a$nUQUnJ6_OvtO6k&m;@WgStiW0BMk35ifHq{o7xarCaBBdpt$tFPUy ziv(CI;bvhQ5~NJXt=a*O2KsQ>yltV8^SW#~jP5N*@hRw74o^ywkfVpQaE+td4}qD7 z4D||^LMa2aA6t)H4wR8TWkNE_YoBEGc3%E4)-8M(L0=w=hs96ES zJJq=(&?O_PE?p~rBIU}2Y=HTbNC&HIQ>J6z9#(Iu$baoEyC>DRHSvybkogaI$*?;? zm0Ty+*0W+~$VEEKd2rEs!mSV%PU6cz=PC`eo*@2Qr2E*cLiB83q`SPY&X@S4FUwE5 z!QOlgQ~nwhK+4}k)EgU(5W6wvBo?9B^*?l0(ax}03GDwM{Ypg6!Wgi2uqFF+-2A+U z+XCM==P2~o-R0$d3|z&O&T{>Mnuk#2W6{w@$D35>aEQv}6}0cC`pYNiI>7aY@kZi3`{RqZB zS$MqB&eTY23iuIRN5mLELfW#U&xO@TO+MF6?MIk&>L+gAkJki0cU%S_3yc$d{sR+? z;=ZC4fx82>4>TozYm~IUjo2e3w4D6I^ zfGy8s#U^IV(Hb%pPu4Ixq0klA1*95c)(=89mr3!EtYE%;-$f&SI{pGxlk2aui6yyv z#q;K(xYn4oN6#u*(N`tRE{27@oGo}M7NKR#hA_LKoKGLy(|Hv$qb;0Tc>s3KLnZnj z#eqY4A_{ap1<}Sg09?2l5(ol5xzKk4kmhAV`V{7RAg^N=3|Hs<@$>Ed>E&Pk{V)Ia zA46jpI&n)kvm=5`p<75gqVtgxi*blfK~35ep`!&y>X%9J9C~(lYW?N>ZF_hD`M+$Q zcZWOEJelyL!kDM>G!cCKYGd|nnCDDJ&_xewTO$aY|9+ZP29XJ7!p;9h@IV;yi4Ov zSHbsMlU$J=Nj}wKq;_jy+bNI&-aAx%gCT+!*66-Iha57K;`NNtt+g-E8+!ygzw|Ii z?xWOUCcXU98Mu@4=5BzY#E$pOBBe|OZU(@&`=4+5PTBiT^!GCjao$4BxN5Rab|qSE zmT(}{=%+MacFIu6X&NSD3$_#fj-NI^UH6v2*~;bWlW2W|R!>ErV~zl?vCV}f#Nf7W z0HnY~!D%W{#Z4+f{?akHh1WIe@akoIxSU|a{dhQRUoOXMmAP?QJbRu4t6wa59$0DT zNpy;*LKL;=3*&}drstYWt&!7aclh<8@z8r`y0!)GaXQZ z%?n)8Lr|(&316ni7@|Fy)f1rz&8a^#WOR*MaXAkfXkUKW!ArbeCLfOhkgT;Rk5Sne zdgv-YhkZ)PJ_~X~3s{*b-vF9CWT2U%zp1btjTU}>JDt94VhFp7+OdMH;k-J2yYeo% zlBkp`aKCbRQYDarlW#FyV8it~(};WDZy8A#>I}7yd4(3%B2CQ%N6>j#8?8WeNFTe` zSDbsguI-KLEgSPFHGL1mm{6}{IIH<}kc2x(q51S##;pjq`aQU3jjb36 z#yE|v3?)FCUaWv2?D$Wzc|MUR^?~rb{wNpUbjy{VfolTpJK*q_9FEWXn}U{o=}Iwe zk5X2o9@YlP=POo~^GpjH*Yq>$vw-Nk6+nw*Hj|NI0QRTnpH?u$oP7NQNoIoF#;n!R ztC-g*tE%!!?V=IbTKxiX7qI?;5 z25NE)r@iY7JxF3R0b_GhMutK8r`K&%Ct;12!{t9nkEdKV@z6^NvrZON z5oSb)*6E3Ffo0g}ER8n3$%|PDl^{M3yW3_@w>xUCm<{*DVIwzJfUt_4+`~k83ck0M% z!vq((YbIlO6j<(JHUs!~2Ch8u!Ui}ztfxd#0{#)wq#|FFI#^I zM<@w1IYHm+GSpfx+wJSUc24nEXdzy0%!V(OwBS_YZ7-N7>?ce*w1xSo7*G{q-aKO_ z2k3h}2FyQy9yYhIYT04cQv+6LQ=Z*I6~s)MarTJ<*Sp?dJ92y84d8xkGU@-%U%p0R z-)@AczV=5JgP@~Ar#CtBxF?4WUXjU>3MrN#0c~j>UNd`x*f=m7Cf_bAZOzxgv|x+BvbYh zwU$l$;3ffFlHp%R#*5z1sy3~TIK5wmx*c{^mO znQSvw^{7gxb;$}Gw&AJitMeb}DWcs=gU`coACQCVD?dZz3f?OH45Lvbt(mNLoq~WX zXwDHYqHe>{q#~#vyww3jggJyZxi!-IL$!{vlkR%e&>VK`bQ5Yd^4CnzHTe63c6=3{ zK#N(M7s+g(o5OU(;b6(-{TQ80X1YqqSHSOfZwg?a@`x2r3V}K)h0?>JFu7L7^UNz( zLt-4Q`zz2EX>1^zx(E4{kg4enq^os(CY$pX7>W_mFZy}8EP6#f8#Yhje?J<4j5d?w zMVvHK3i0pr{uAxU>Us0)>ihP5xiXy8h1EL!mN=!Ess{&h>M-^QE45%gYIJ8Lq!DRM zy7(JPUtklr$ei9KI!WJTiGnsK0PV}><^5`^2xBC=PrGC%a7TV!==c#0>;A)<1>A+x zmNA83ML0lQR0K|#9bskyhx%GxnAo1Tr(ZUg8wpoZ?q(qYh6z)gT1%8F{U_)b_!y_^ zDb&Evr;z{!Q~xbDdi*5Tv)VS+-I3;I@|qQxN+lTbfc@@pyGGNL_|m})%E)mdK-=PO zR4`E!TrG;pTnJW)8kT;>s@HvPi*z?J&*BZoLW;I~<79cuQf^kjCQ#=(aQ8%&yeA|_ z8_n@T!;4d#5Sb-#Irj}Oq`irl)emFt#!8_UhLsNquPObJa4S*|Il*qAucHhxmP)w2 zX2A!ML&9=S(R5U5B)XZrpb0QKM<4pJzch`Bg^!ox@!QP+o2TUvt%`{myy#)Dn-pK6gj|bJ zKZukQz-=nsS8IaN%~`$-S`lcLEvEB2xsQ7|9dAZ`qS*^d2|4xrsf1@9n+RDC zAfLZ)x0mmm%dHAt@3H-;^<0uf0qdIa!Bt-ZnGc{g-t@ZRVG6iBQw*h%)Mg5NSO}_` z$s%>c6w8mVXT}n3kU{a>(slx9fl-R(f)O!1XxLAv9|I6WkcEi5{igKSee7N~xAa1a z_VLMyvfAqTU~0Ii^TOthi4LXXSB(E0OwzF8O~#C#4=C_jDW`VxW`F#oX}CM9qJI7ro*1`XZPb0k(E=oD-^cQ~gx|^NZjaupz*_ znOWDF_8W{iziij%&Bx}n+rR|Ec&O7v>|;WT?EXICU;dP7yA%vbuJ;~4~vj7p2&kFb--iW!G!)pR$EaYP8*)NW*YiZfdJf!Rb{+xc2+97+5 zn0SuLrUw5Ye!2>HII&J$37W2wWGRLd>uGAxbq_A}kSAWU%Wwt3WzH^jxkH+e+3(B5 z_n#x!fBEa`_Le=*v*7#Kqzu)@xh=@y!*BiKDfwnIXjD74Ys7p^mW z$@5<;n9w|ImkkJ<^x}d~8@;kCV+4}Ke*m`!P+T+cq|1i3)hiX8SAA5#|| z%!RbY+hCT|a7!L$9n-xYv0@T4U|pSlCJ{6_LeHy3)NeyU-zq2$2al=wO=Jco zomz0-uzNF~h=?z>nm+V}f_x$G#|}o(#}e*uR3*RNb|P|_$mWZof^8p9BAgq(x5^fTbBw`$(XPa`GqE8*8Poqs;^bnae7MRak>UXHU z#1M#8_cLg6h9PvILCi>-NN3qo{kt?=S^ZW!=KF6c~8a@i+MW&{SfgT&-Mw5Xo zIH`#=$DQYlukLMus7Hk4a!Ps2u>Zq#fuI1s}Ft zF2CFhI@G)blao(!cARf@rf#8b-)clzkC|^fg=|knLWhd&R6e)ffMrNh=!b_U_D>fD>&YGJpB6K@4(#| z!OCMtNr6v1>v{ZtE#kLNlAA=T(4@b%9Yl$VI47#6I2GA)VuCy(70KL?x9bK|XHBT@ zLs_DnFzXsAb^MVJa>ly{O9-wnb0ANSkh-0lnV`1!P>k0@R<6+uT(pI0%!Pqypn`N;`2zP$g=`;3i9H=ehq6&gc+_) z0qXeOR{MP;s=-TyMAHVDdG3AXfg* zs1>2+IU~$)0DF12^0b_prx2>a4WA=#WVhKDiX8ZRMaE8?z_KR? zGGu^)l6rLUj8Y3hEB0APsmU{Tt7KrZA4|*U$44~U5#kq^rXuTwYC=rS>Ii*Vs}Qmu zl6Hz5BOjp$38h53p|@E!Bjc`N>l_g@3=A)DnrS!{*hV3V+=dMqV7jZxJqGbRp5m-x zmVOgq2{}kMOuw+SXM&cqsbe`sw_biIuf(cIa|48KZMkwvro1UvUaPU{)*M1Kg}JcI zf569afESw?BO~l)h!y0%xPv5r3Z~N_Sk2B)8v8~T3dCgLz&Pv9$jH&^=-L5aH zBEL<9><5tdn_o8PXjLA=oVs6PfcOfPkc9SquM~i|j@Dx>3R!JLv-Dm%p=aPzyP3~4 z(|2j{mn2M$B;q$-nDSQ23x0Gk!3Cc;Yb+v+o6RYZ#o7f-q{YUP72 zXj2Ey3pclJ6eOcXFK76ygru_L>u&RLyu+sX&PMbcOB2SR@m~xXcnyE1l*GoUM$}{* zwox z&U$+7;OC9VZR&ulr>^g*0_w#j zK9MtKE7pMlo$={9jgBx`xj)aHONiRr`cf+X`r6kgONZ{y*nX3Oce)tpt0gAesCEHf zC^+-EGw2+}Zvj%nzR(+$zF{)Rz++-v189u#k)cMI#s!W~i;pEexI01B%FicSeOqwcIx$(6&yrzJ z1}JCgAH;AD>1QJBFo1pD?F*~;m-BkNUVYoWY@Ux-bi23Ph}~3|2y+NSl+4$5OEiu1Vz7c$r@YZxBlC=~d<0!li1gF{xG_LD z81SH{XBpH*9hPvbn{D%|3^mGdvb`fj!Wm&XMY49N3orX)WyT+mW=``755(%IevwVG zS)TEjG`|^D?xU-zj)~Eea|G86;C72*3$vu1l?cRLD%r67XOg&ws|gaE9owU^$#sVy zCqCelAcN87t|dc8|7SUabAdd6Z3{{v+Q-I*2L(Mi9Hs#dg<D^-#{vQq^@i@wou(QsPjAG zaPp|UKa75mS4KF_wqU7S{8;p(p8BO-RYi>8KXD!+M!3UHH)yX7vwN@6rn#C%UE#TN zNID}NZ-4*T2a3Xb>2lDJR&$T0(4tZ&W z7g%j$||fB7zog z(*EZ^=v#`#nR4Y&61!ZgpW)0K3aSR^6}F zgJcQea^`puAchzdt3+olaY{6ID>Gd5j-D@u{4Tg`jYUxj_w$KpFBUdgqUE#Qbg5oP zOul9>7>ObS4Qv7r0Kaax-)_YoErUUcKiRlu2D>niC*c%>(0#ZMN76VWTLz0R(VKQe z9ZuWGdmC=4TGx+N8Cc}xb%WHF&U24Lri*-oxt2Pp-{!Qa^-%QWNIxUI9g!2=2|M+u zhVe7cz4=DK0?n$4euXpSB;0z6hLDYkW!!>rcMb3f7 zgj=cF|HfyC>@)E{jSd@(=n(H5M`3kc%v_3oSO)|VRa-;Aq5(_&%FGhn2QJSMlPn~j ziT_FbZqUuRK_WAF>M}!gfeU%8)oy+pP-?5Ho54I5d1pk!7?EBheD5E})8>Y9n67x2 zI#$g(waFekY4k#g!w5EFg+ew$vE!W>1R~Q+{7>DyPc+c_K_SoV2eqzHr9r5e)hAft7o5U_4RAhjm0^=3^qoSd-s7DQaaQ+7S+}zhWpdg^)qu_aBI`2F)(~T&YIrl- zNA=_keXkl180rLC%|M%0)bKCHXQ(~67j{fIul+*Zv>zRWO&m`AnNgEh?8Zrj#nA6Q0cs}e_g(xWM@@&j zWuBB`Hun1*+}M-PD*njZ7GRyvvdvqE@|2R4^)7)CJpF z$Uq~4=v^XMk6U18lwi;-q}_J3bg~$YQH29upHefU0gU3c%AQ{zd}zelWm%6*?3%P` zIF9?Lj9B29v0dJ=5J1h+$rsqt`L;;LEC_RNF@98y=L~GNgD)w}8&a?V!I`vkhGXNj z?)oydRMDEbPcU6S}n; z0*y3GV@hy|ZNV{xc@yU_qu`YF`Zb~_m)KwIdqlfuGt#WbMMMYyF`K&R!4vyPfhXxU z0lU;!UZj@Q0}*EOhqAXG_s4e$a__>GY7Cw$+xQDdz^qcfPC=7(7KRPL8iY))P!6MM zPBMOPsuke3E8$YsYDq!#_*_zQD7u?s1HJZww+%96a)q*Yg~@y09W2c^a7OtS8b7zd z)tAC0$Js~Gd<0=xX)*&RPbgil9*?PXf2I_Ew|jANDlTzM_+o;Zd^`CHNlUct9o4ue zikcutX5`1S#5{CBdeTTc>&du!3VKpgFxuyfy3=P{UXXuO^Pu_>JxM`zBk?43+C(G` zccdr7vk;Hy331j0)mIasJ@N=}G0z4%c^A|R$$$lpls*}dkY@Ga2+`Jr8CUvaIZQHu zJx`m;8+{X71<3+Wl|2V{dS*4JDDZwCCki|!@T&JU#9$LY)Bt*k`X1C0&)E`1uO$nI zI1=doT`H*sXG+MR$wBHLFD9gxM$-<3XuGTXmf@PEYPD5*9{%YVY0Wj89Hi-=}2Ge#@D7CmYi zGq$>4D-bpL$=OQtgX?i^FDCiPz86!9A#QSMpR54%xTqR53$GBhRII5%MuhyN?Y;Zb zVX8X|3%vSN2D9omwjYz(Y^pWkJRg$iRYu!# z8m^K08S{~b+p5f@4j{dJ-KZ~&K z)ZA}g9xe04aT9#6Nbt>Xf5&s3y639%(yd(>`-`s?W)b^uAnk^iU-VkZdp5_;=o|RB z_ZyfNm(wgow7K^L?Qt<$P>X6~tevfpYXdZ99cZGt31Q@d9x#lf&6pYyI*hD_TQOh~ z#l(m1NyvgvkYv2%GDGi$ewT^qt}&$XYrnAU5Y-!Kg!=I(&~6rcT`@1jcLR^e3(kf9!iGn_oK%jQL;g6PZXlk~ z-bqi}ETZHeDi<%J=@(X~LzhLwGI!o&n7R?Ah}Q>pVieOQB+5xIX@GaViXOIHF2AKM zdI`6w+5+=(!?Ea?N_nrlPJKkJmF}rSJTm1-P_sGedYRyXFg^^Er4$sy$<>9R00zOT z=OxJ2Fq$H?EXaqGn8$utmz#!4E;k#BV;UzLg$w^EGcCzGK_Jy}!p3hx%X#jPG&m`y z{xLo7caoDAqJ9M5CWJwGE7h9sG2v-=8?9uOxhwBZ^#_kUlHjC!p9OC^g9Uh#;xej} z#T}=4Wk{H(rlOT6lKc{Pqf^kFs5+7?UJ%;%Y)>BPZ)AixK>T*xzitn!x6S3|bbr5w zEJ?(ImdHRWj7e%eT0^!mVyy-lt#nY1ae9hto*s#DC(l_~! zRD4PEnW+~v#eZJ+mxU4~o2ZLsSi*o|Sbo_(kQwC{UtFLUu@849o z=vOrPLET>~0G(hnm_G&=yYy5wT!I_@AivFoRTibIc98iXH^|u-Qbr0ob*~D~P8Jrb z4#{W%%IK(FtaiqfY&Jz@MNl;`K}TrF5!w!SbV{nZV=)x5>_wd3oNJu6z}}QyVg&$B zz1da*(Eit6Cn|*@ALzR0226i^RDMw(wC(hP#;9ncUXX2Y5=dxub#{4<$|#{!>#*Tg zn&kVy2$npc>pco?GM!dm_nS*MPki43cv=`(SNr~BwA9ML0@n(G2&xhoo-xeDQdP(=8t?LuZSeP`cCuL3_#>b8B>}i z*^HpA2LF*V!-_T;Yi-~xG65rF9ld0~apRFIM~bNrIGU*Lu>T^&<$bmJWxLw`&&w@3 z)$7OW@*IRQSE!`Dn6=hSjIH~De~*kg!0<8ijQWWT-vgS_qow3Ct~jOBi(TA z=!}PuQ@Au>94&V_(P%`yP-Ha5w4)KX41TtqpaZAwCRr=OZ3kB47@kpC}i<4igT)i!C&I>sfYzEQMR1DXHVpLeI{U;o=ux)7TB znU-*QZECDb>XTWBwzZ$1AytqZG{gZ3xUiC)x4_5h$Yt^t`~&yQAiHfUlzcXcM%Pr% z2#irsu&#xUDP3e2)-bjpnv;zi~#srb~y$U!BVt&wzZ zhDxnyQxtWl7f3Ta+}`V>LT7<2nGmB|Amfgdoccdz$eEVwbo`8o!Y`ZsetUZn^vWby zC+6`O7@Q%Uu}@6OFwRQ!Hb}Q4B`1Qcpm)d9>kZD>8#6HpFHIpW%)FH@m zf;&D?k5oHSavqg(&GC*YFVi(+qIM}ZoQB?!GKJ^_L5pivoBgAKlG*GYbNpY-I_IAJ zBQIt@c+tTjQSQaRWL!B{@HnQjC_)`2>ATIJ6&#fpj))I zDubW_sr={`$eQ(9C()Ikp(8hv@rw~&a)Hhb@ZNuxw1+JdkuVQGa5BLyG-N<46uV|e zjijJwN5H%%U&rrK70^F#cbE75btBPNu>DgzMu7n-Jh_n})@w%mnEn-L)+RaIyYb}h z_@LqsNZ9le=CdC-nPAZt4@q^Bgd5_hEa9levxPEGt}gWN4nU{W@s@ZO<|@l9=w~jY zE-P^ih@|e(0y)>j7ArDZ@^zfsZ|JYP=%P+TYSue(wf@Z^j z!rd;MUeQ1#B0CNVw-(weUj4rk8zYlWDtio!GQ|1uGi(mG#}1psF!NgJBzhRdg+D0L zhj@H=z90n`&3P|;g;MZKRM$R@qEFNN@cVt@V#ZQGht4Ww7uPGKmTI^8h6yMo-z?DocnvOS4d;Y-vqp{*8lL^^)LIK0-et zZ!l4PMMDLeD+(}#+EJ>4f@PkqnXORwv&WR@*3 zY-F^2C$io>-xWgua6pg0y@<6*TT212H`7TM?30a8P4qMkaNs=3yJ15rufs zMJm2wSfrbG3U47^xHhkK+4*8Q{QPgFMc8P5iLR|zvtZ#>2QyjIlaPyT^BZnHy0u@ zXZ!0cpv2lvU5PYIELqTM(c!MQL(n^WG;j-;p(a@E8_mpWrMRwV%;@a&)awQaJ2Ma7CG6gK zz*E!+8YdDI`H*2X23kN;^Fg;PX$uo6^v{t-qr=mDT;0-xp;VB`cGlI*v34Cr&m3=oh(2k0;u*pU7G(|+^q`(_uxetFxRQj`31|MGrsVKL1^ zmaHIq>TL4-QdkjHL)3;4rChIceEXFwhushi^qGohy#`TE2x@7}_Rr*!u-5FY`<^l4c?cYM5(duoKge>4FSHD;a-$m zM`Ui6;yP%uup-!Uo)wT(Cw>k;_#9}!-(%EYuY%ndm` z0onz70V#FhW>^I-;N~y*_~-rR@bVrX>0@6(d7^3iBmF@Z9L@v`3nTExwdGd?Gw9T< zrypWqf|NQ^o6v!VnEm;1I(_;1c)V;6QQ?o@t}S-)uo})3wSE0VOv|S{7%r5A*@G^u z_Rv-gv!z}g{eD0H7LZd1%w-1}+|G7$zO2sg$J2K83V!n5Z8TObV_Q-x=UIBZ6yu?& zu4b#GF}x0pto5q8lMCg1HRZEFKEAu$BG~DY8ac5du+82R2i>Ec$*DV=S^+lEsQHf3 zZQ`qi+h8?K$2dih_vBHx6j(s`IR3iB@Z`(p^>w!_{nny4=dH1WNRv-NDp2yOFTlYR zy;Bs?{L%qXr4{RQg|s0Ea;&^3Bk3CG>GK&&*XUpo^fsB1NoO-Dh9lrvo zFw7{bp)YsWj1H7#@B{H+496s5YJ9$#zV(yYp`D*o#q116vK_EmT0XOo%??zn%6ErK zB+0?@F&9WE5+C#n4BYNFKS#jP&>yx}#-o}R9%u4OI^;@7prr=xv6jd@B989AI}Dmf zhU*wBAtv|Ahu;h0@5lYu)&BVUc2mZEXIGct9JRhoRSs)sZf!Mu#pPpQL=a67U#rfL z(UTfJ#p@u`<5 ziSM!u#K(}!%amMH>0{U%)GSbkRH??oBz;G?-4OSU5OKbJoPTp#;wXD^p2NMR2v@nO zGu37dr<`41xU2C|Z1kLnT%(tF*l5XOI_p4g3H6f+X*#OOqHuvJluT#mm*pVuE-)Md|r z(L=&OqKno~t#vfk1+>rS#e|f+n*E1#Nj(_J=?gMya*2F|p`dO`KUcDbW+a;*5?1J2 z@{K(EU|8C4l<^ZppKwCjTxU9iNfZ1@VxrPCNHK}D?q z&+8lpGMcu^2A8L;*E2bzN3;!L!H)xXoraj1NAan?X@PQcH2eh21@X<*uq1^ z>WwXN-$XNBV`)K{gW)8~88do8tET^41(_(_Vk;>N8sgy6XWNGa^lrxE8;A)9Hbe?~ zBffQbah^6QlaaLfwx zg60ix*l&XoYa4DV)i%hWy9XzcE^GO2{nx%4pFS+Gf$@5%Kl`b)Na<#*RoV z;fxBHU)8m3)H=RM6MALV)`?ljK?FFKAFC{Q&)+wnFav_*3fC?rFV0M|EC8-iX7@6j ziBiz~Z#EedZX03N+1jfGW1`1_B3=13iOVAm9&Hb&U(YcKTb&P3QFw%1PN%sR{7C(N zMEq}-2>YXTVMhhfzuTCH^FraZPeg9i`tB2@@8=&rcc;^K|4@dOlLY)IWycptIo;Bl zM~q}GCn!vxLg|<`bjPIvk>prDE?mBW^JTr-94_z2!>@O6K`*2?h7)&y4}!12EQH?* zXo}gq&V&(ROejTno+l7Zj`clukoCtVD$g%5EWACk-*g0%J0kun3S<3rg&8IOD2mIr zMSHQ9+L*dzfKe>*<=8Ni_si*cKEHfkZX%wSqKXfCs!fK4LKIkYqiQUIQMU^;V?*3NPqV$X5hgcwTP-#5R)@WU`e>;&!_*k znE%*zD?zcEJZg<1cQd*bqu25OR`uK)hF!)A#cwSyx6g=F$2H?hgO76M6PWH3$ogKN zDC2~(n07v@^UPs-BXq}F4fLSXRDbBMejDgUJ>T5~+NlX9+fLivb^V77qd)!7sy_uO z3tNRi2GmWYgEz8_#*&^bI#AE&QM|yt-{;Nit(on9n2mFr;}~i3_D(N7RUg&7+t-AC zxYoQfbWPZSK7tv1gv)8OD*^2l_5gijeFzF~TI(f=$1I0MQy8)cAedk#|H_9T;vLUx z%Z6&ThxO_!(84tQ!{>kd?ce@5Pc*{d26IcAX6y3H;0CjS6)jU+e)xWam7yjXXgi64 z$MX|JKZ?57cr}et4})A2zX8YYhX_J#*lk;kz=(s#^Re`VT0V}tuLLZj9x)3<)B>i& z=tqiBJHvmNQ7b~t=hG>*KJDrn?eo9?^^d>(`|4l*wEFtzfBomxZ-4ox)%QRDpFB8b z1`EL1S=E`@GF88@11w?PS9S?SG@8-9@=^PYS`%vSUFmVYY(6&Uo2Xsi!Q}PYsaCZN z4%d(QS|b$J(n(qkQ|(?>GlNA8V&L)o_>d4d?r=DsE_5xaV&47bpZ@&YUsjtx{pq(q z|Mg#^j>-i=lUX$BRW5epqq4x^gjO@;S}CupW}pox_8s5c!?`-wwhX+_H~qX@oPkH( zcED2DZXl+)w&=Nw)x+hkNt&se4-C$UhR3^6pY`Q^w|^z=7(PJLmktv#6LQ#KA>YtC zd(0lw$+D^Za)5TSewwW=$85>YvLIsL@toSS^tR96i*ScnXZM`Q#o*)}#IzzmyRbAm z5RIPesy{HG!9M`01o=eHW?5%ScsFW6va)MNl?j+R-WZN(pD2aPFDf2(p>3~APpwGqYT?X307Ugj43$~y$;X`ROcPg4ZiI+ zuiJ+VU7mDE8-|G+KbtyQDjFV5g^8W`@Me<^5;$q-GmwPI19~%n`@H+uo_1v)ZrOm$ zne3+#-~}Rk0PIyqYHHS68+PdvT{e;Bc)m&m$yPd89vulxNu7?H*VWsCMkK)8^C?JJ zo`~BmmX~b{KKp!WzvKRoNAg;p=qb)o{^YzAmXT=F<;aX zPv_5nV2vQSJmzn*4W$?z)A=1f5A8LqHo@>T96hicQXeRtWrCx6``uRvz>nwi?(lYJL|gj`HL6k* z`Ojcr-J|X`Pf}o=cplP*CPG0qA)21RdkC{zQeRfDpNGTlEfpWG0O!T+Y|I5_J5af=Cna|KWKDP`VSjEc^(I65%PvA3;bLba1FnKfWY4%*9yIN99ntm`vQ=%$E zhoO#VpCw)ul|d;vx1W8y}GnGV^6ooRDgmB zyMpO5)p-~sZJzCt77t4NJAn^BUdJwfKX!K&`z&?=?7WIX%1$nnFXt5OUw6N3S0B6m zjU2gWU<+gQ3EA)X$@X<-S;H2CSJ27pW@KZoCb^GHxOMbNBT= zb~IP;r6d(sYMQFQt|y+_s)R-8@F9$WiWTF}N`~AxK-pl2DRBN~2|Kw?r3TpR1;Yn~ zotp`EYB5hF?j@4~)T`x3rNi1VBVpb~Og%yMTNr?u7@@yLvBSvyVF5RAZ!}J`u8tu8 z4QL5wLc{uxN^79H?SQ~C120!3%bZxG9Q;$y#EV~*mU)V*|Z5#-9Vn~%`w0P~J zt%i2q)TEWzgtV}W-EO%A_%Mj~)|A72L6n4P;~sCW&|9!~+Jv>&b=d~S6C+@Vt2);R zCs??rcLIRobFld0JU5`L}x+4m^~ zCrlu?>4-?GNCl^03%HuL_;I6Iwo>+HLIX(;`=t;qc|g87nb3m$eA&KkuvoHsJ#D_< zE90cZs_lsBT1Fdcv4k^pELX(#F0g0SHN=3Z$qDMd?wa;JkEhFF`}y^16Md4cL5`+4 z{uZs@#`b|trDEU|2*oG>3rvzUuNC`TY3P+DV6p`2DeNo=yKR zL8ha!$yk7-hCL>^)^1ka7Hj1Ms|QL%Om5Gpn^OJ~gN^;>m(86?Oy1cl!G@$`ivlZ` zcDyzT@}Af|p@5Yg7#A#s2XZFl08Q^q;O{ua=%`FCEMx9h82VO1D%+-DH2N&q(Catj zbWBud&QB>`C_%eH6g{D#Egz0VEnAMJSp#DtgtyKUqjq>3AQ0_0T09$ID4tKi)r@vE zE=)wv15;-;5T!Zu=UpYpS}wElVBe-U*v9%cn`N-qK(cAr@Q2F_I8E1!;5uGHLq9?+ zJc0AV49B&WrE70!gGt%|&7d$MKT7+1^J>i$Omjmo!zH)JH*g+-JEUqt&ix**U&L#9 z@s99XE^~ZsM7tCC_H4oXajaw=_u;L)kR!N5RtA8}s{)eX&W0+&M1(t`S+OacFT2By zE~Dt4TG^ScL8c;Ia4LPU>V09xSpw}XGg>HH$ERAzk`bd0Ox)BEDEH>%)AQ$PAM?FS zOhD3%(Drm#ovwMk=Fv&`jli)1EpjypjGBR28~B@x_@*>#<6%yrr#JQS>z?Zcc|A_S znGU?9410cV+`9Bj^efG35k)*&sI*V;VskaeJ?777HbI z0QbZ*Q|k!#aA*u}WVdzOKjbki#i&FHHo3dzR)E382`>8O`ORCo2#+YBhEmK1dgwg< z0q~$yvW|aA)lCCIUBo;a5`sfBf_WBH3gXKNe9|UihNp7KlQzF@FPH7=^ku&}y&kUs z@AnA%F)~v^ArG9$y+9tanK|YRjx*sWYBG)i5 zO@BYUon<{3Atk5B*G9|LZXP}Wi?JmErp7+08?+t1WJ)a|zEp``5>%m%R$7=S( zTyB8}o_bJ(A#~HyPuPhiC-7S%5PhbO7)bfc>h1VF8oKkh&ubFr;hchF5ix3es)6Vs z{-@IIiDCs+V%#@V=5MilkOnE(MBvd9+Bss$34G-0M_|ttg)GJ#_M)bYVe`%vIuxSG z3Be9vpWjzfe95qHbda0TE2Ewu@dyoWopWr!?Vu3{rmD{3Cp5~%}A+}U&#Y@wEDl?%gzwP8c1(-v=XrPUc?y06|93=ClcbQ ziBGhZTIcx!G?=IT_QsZlY~weGD{N*xWS~n;AjVp7n~X0&r>e4$s?SxUF$wKBVMgr< zwH=^7{<3?$hF8p5Ic4#=2FbF*9p)FIN)IRMz z4@7z#1=W}WxGamLjfTq1I7Dv2HR0XaV6V&!GSs}ep=*?j< zHGUzGyB0C)RDf38d=Pn=aok#C=%L9mO6C}?B7?WvAEL3NxuaV#UK2AVFT*{0z&`Pn zE#P2f?`3rKMuVcLCJ)(M>>%8EqxOejLoh|oks^`2bg{UW7{4$ztI25KCpCNzG~qVn z9r=t`rC-~ecem#k`}TzCiqDqRW7wWZyl^bxMk#yIZmnjturk#z`Dy=(o7eX>S)$z z%GNF#m8cd`fK_*0I;LtBe{mKAJ~_y*47ozpcU)6XaC3Tl-`?)BHI~EhX``k`oDW+V zXi1qG-cRXbqt!g0Dnx2+bvHvM2dKL0V$QpP?)Ck6*9y^mSRS8WxvUDP0nO5=ytBIB ztgyKzU34Gqh9N(w`#Z2XH9Q<{XD*GH%k_}zQDmM^1p92PTL)Lq+e35=_dV@wMk-yf zP_r1xkQ?M|n3Ezm*q>;;(`fM3>)F;*^lOO_vtZ6v!+QSE=;VW*ZNf#&N@R z!^`aex)E|cUpq%TWE_D`itZOyme7(1spXGc!XUcKJ=pO4t`0zM&DZKW$CCLhN~{r)b9+eelW>p}YO$jw>PAf_GT z$C9PWq*;@HiPiA5Xq4_@w9%zq8#N<{09qW+0t@tUj(i-SPW-O zve|#Vnsh*@-bBN&G}rYgO>uO}h4|S*9iIeW4RFnDh&>6{&rF&lN5_fN6I}R9QuTXv z7g$wlp}vPJG~Bh@12la8V>oS zshvi#uukn@h=rvF21(6Iur6OT=Y5_c>N%NAL`?pUk9?Nk=eC`g@qeWlNHlnHj1txt z16)jGD~ah)wN!&49V@tE5L)te&8c_;ne7C}argVT)A5(v;brso(r;3VQr668Qedi9 zK`<$6NdnF^xG43hUp|W>mTi$Xf%fF?_=U>9DQMY(_78)0v%b40kH`7<(mhk3?Ayz6 zAM>QmE!EJR8Yx`^M+ZWqh^Z?Aq7q(d$VBTepANH5R*SC104|TW-%&X{xjat8S0JYw zxZk(uOU$5OSI?*2>)Qe|TrwNY8=TT)lwf89_*jx!!+LX+GH~s(JDSnVM(7an<<9 z+vCzE-^Zte%Q4o%neYiax7T^rR8NsQwWw3xly+^0D&p6^A$2Gv3*P6!FwT<;$!}G)`e~!S+9^tLXgF--f#$bqD;gND z&7I+N>G=X{b#R#aKI@mS3>$oqu93IP70|Vjs>T{By~p6$9h5SO?Kl-4`f*QQkF~p4TAIu#L$<>zt%H_iA9Tb>#J5>t21`zn^9L5N&)d!C<@U;7Kf*)nF%w=K z6m^evIKt!Ldfy<&Zq_bQn*%vSZwG*9H+b&^&AScMh039wTk1BroKg3N!)iXxiryuV zL-f2B9{+t%ze!WKtMAVXtyHMW25v5N8ozL;z&L1|&Ya-1jtd^nDwGxd_!RSMT4)Ct z^4n`hR#Almc|$%WENEN@kE!02aDOnk@WD|3SC;WPVFLu7Q~i}4xbz&Ix?<%5dBM;- z@Kmus!o{S^@h0ZErD$hIvZ3&a7;9`Ogl>%)8Var|1etswpRje*1>QVwPp{iF6@1zq z-oEa(``0VST4u-DGLbcP+-b_@#weB z%kJy$<#_tG`nElsFUObV^OPNK(3GU)2{$E($*n|VC8m((PWl-@<9Iqt$DZ_Hy$;!6 z((FN16c~Vk%qZR5V2f%GoLMDNPZ_cz^Rcj09;VskUzC4CWk-k|A(kCt(35_~X!%%T zJI4h#najicWwgnlJ%LsO(9wcyPrqy~w>H-Pb79YDrGOQY zVE5xurjhln!<4N`GyX9)mW?^$6oWyT{{8tEe9bV@rKYCNl`!i@&9ip_MMlibyCgyi zaADuJr&H4BR0i~Ros zWql1Yw11lN66?j&xI^j?Ls8602Lvlst22{S4Ey?muI~8INydusa;;WqtY3G)!u@i? zfIuB@>P%jGha%*21D`lqeuX3mF2!`zA9@`lKh60bGGa}L`L$BA(r>FbfV%pxpNF)l zboy^g7fW4hK2m|nw-0ejx(r#jib3+!9Z8Zv)6Qa$)SCdJI$k#y2-*;6-+@k<*5>OS zc4Lw9gL=c{RuW*BxNg2E$EU8URJ4d|WOyFQtb+z7VLRn*GM=Db@R$t|pI(uFgqJ`>|mf~mAZ z5{1BiU6VO^LOyp}WPaMkhxxque0#qcPB&Z?;9J@elT=80S|;!U%oF=XsiNX+5C$=m zH{`sEn2rB9W^gSXW;2nob_QA~y1qMPUkNQ!7hz`MG|8F#A?GIi-EuA`$7-#{ls%Ls z%-)4==_l$&Ow_A=C(PsyIjvizIc>QVqGo@>@$_rg>6>*c;FvEXfVA3X34Bb#!y3+v z74&M#tf9O!lza}b`nKF}89lj2PV-jKpN?={jp427NxgUP0e9#MAoj z#9YoH`%5q>!*DO%2JXW>6JtOghhRb=$X)Vb+{7RQ9_RcIpBw5hF9#ycJ<`y0z)hiEV)c|<;RStNYO z`zYy-G5m*H(w;K_;;JLRvYR^?Fs&=n;&jDs6L!VJYb4VSO>QF=Z}S8p$z3+gfPa$@ zl)i?k`#c^$k6pSc9qepeEPfutKhN^5Avjb-pT`eA&%T^^0;2FcKgaYW+Q^VTLz-nt z*MjS3NK>(s=Ig!!KSRS@jh~OXl>#wGT%T3y0gmZ**D&M%xG7Vj)LnDk#wD`C}K8%j0!*=v{xVp70n8Vu6G=j2S%A z>?||x)SebR?m|PN$eZ$EK1KSl-P7w^D4C2zi<(|-Qh^*mlIra$b$>(JM%J| z*!fW0bbliLH;MmO8rZvG^QbPj)T1eG)*-V-8y?DHwm_6L!uNwiAn&ic^ZO0kCZ~mq z^X&aW3~P)ZpPYw@vWfkoY)rK)lNl{Jx@Kkp%7{At@6z7vEzi+V1mylXh1{%JFhTkV zJpD?;z+0{6iOk6-W>X3Cxddtk&z6aVD{^t;3B_S-i8ak$=A znsw4!*rJO4N~)vQiS%`LFr#7ILL)*9YJEYsLwOoO#2(B5aG*qu&KJUx7-&3C=f|g&0WtT`xNdJn>&r7@ z^n_AOo!LmWvfE~(>-978mV_1K`)H??O{Lc!DtL{0Z=DV=s`;#*Ag&qN+!+I?(5#A< z;{ABDM3&54qYyAK_SCt*kevv`OF9L6thSyx`scgJ@Got1_6*t*=yqQ#dhYm_JfD7r z)*X_(!u`Li*lmkFQ%(vbsKvv-;DK`;H3}RIqNsjtN))xKVS{F8@9Qs84oBd-i$DTg zG0dK>h<)ZR!MEJYo@iW%{xP$m-B=0FD!1?sYSB^Rsb4-6PKR?H|0I}D5&4W%oq{I|_52B)g6Ifu%6bMJ z9;M{3GA{v7INupxTVkIng3TQzZGGRtgZ?_NpCNE!pOLdmU7>%O%Z-`74qR6>82`nD zv+PPjZZg$$#aw~hWLEetiGoJX4s_WrT)Lvty6x~b^9oc3_L;Q<LJ~$Z%Vm6F$b%lGFK5#WcHJak^cIPP zM)CtvX#gOVl8%?p^KF$Dp>0dUzy+;J5#((8(#S>p%Ax4qjyS2cwKD=d8-K_*DoLfu zFZMJv0>isqts7m@kZv0$kM9ZF;#P&fO2iZv3}1D9IvKvSHPBw*f%))(lO!S<$(xP| zHzY0SXp-$i%YDO+%=pmhQ6})Fl0prs8UQ(06Pj!{Y92cgC5_|_$3!9x$Xkl;8$B?d z2e9n{OaiDa9siSu_J4h4K(Lluyo22%!$%KEwaG#1Znk9t8~VD93F6l%=hb2J@ojS# z_GVlw)j%K>5WuXRm8I+wECj2@iut>=f`cc4laJ&aK#tm^ng5d-)UR-y=f?Y-sfy&P zLVQb$-1+gHH0MBwZb^=`oIGWJ%_}#j6RpRs$2r?G$$>U4+2Ig_qbAeBycziMSxAz| zc#G}9V2W63WW$_7n;YE)vgxM2Y6y%Xw)@!`w&62Hn4J?%jpQA@0(-`9l}nO24s7bD{56J} z+R$U1a7oR(2qRQlk30md^^87Dz^K$zf01sGi{$;f1Q()_$8@9N|I~Fiz7QDYWdc|m z9ePQ*_GUID5BVyuyz@i5<2X>~q8XY};TY4ywg`usw&A$n#*6gv3k?lUOLg2RcKT0g-6 zEYx~{o}46aXO-=Zx6?K{o9~GU?N(t#%*!|vLv8W^L$n`DMI6=8CK7+CxAVd^G1*Al zFBO2bzFA{X@d>m=oYYirE|V!37spw%(Ljz`%dTaJwj;1#1eg3GC)4;L8F$4eRvRJB zkeJX6I~q_NnT;^O;>LXETo99u&zOFs;Fpxm>-#O%Fnz5v@kNV&Dyl z$42sYQ4unZ;=CW@A8UQ)I$>t4rA)>ScPu0uiz4;w2LF6`)H|vVDpSOpX>tmmN+X&M1 za={K2TcLs0K23wSDS8Y%n$QUAsZP$9)dX?dNY4FG_X6+rh|Tz6sy(4_>zVajDsvvL zG|jH8yQV`&{?Ls8lRxCl4+ZdHz1sfI%l2@-r!UaQ|Fotit0sf3izX^91eRYSX|kR8 zQA_G!*tYbZA(Inq7$5#7kmU%nU4}es7FY}g*iUfj0|Xu1w4KX6g(#FP`Pg`=0w@_7`r6I%0pmJA%ZK+c%ZQ0Lzo z?3isI$quWWt}h>XzVkr((A@UI7=w6iBtKV|cAt|?+Z+zZJ4UP8J`uZrN@gPAg|W_v zHwK|K@XYrhyyNvc4B@QeEl|{7qO_6xep=a}`@ViYt!aD~vZ`B&O7Hn3Tx^_}21{;A#ba-YcG?^``GO^o8eo3vM2Nt32FQ2zpon=kkkJzw3kb=Xg%1vA1hR>0PG}F)^ z=(d8*{jSmhx!{cQSVdRETNq?W$PotaRcNB^W%IGQKH)fvnd?kVS#bcVMrSY_MTQ*3 z^f{GY`-ztx$!wqpguk<3{TuJI0wIOH;!&F35FRHpj=LH3e#B&>_@u<(?%REf!gw9OSA1y=-I7WR#Sz!yg3 zHEQZt$CDzwJ*Eh0yayvpt_CStT3Q(A9)r}t4%#O~TB9a6g8KeARNZd#C8*{aR6dvH zi^k5gXCkXnQ@`7;?vtvLGYzn+F$FR|FK7|kR8wTRen#5>Lo3_gsK{v1g(*JO^TUGm zPr1|$2x(R$>wsIjxT7uC0fcIOOHz}eT7o(!kW`nTlCjF248I7qsn$q@YUdo1l2~LE zzrtqd{8OS-fKj;B$EM8D-p3gt*rG#O$DA;c3{zTaC|I)dvYzV#qK;N~*1MHNBcnL+ z#=sgZ53)DG7Hf|enog)W!P^-QB0$Y)Ru_RgiM-q(5G#2v&bjf!%8;yVOQN78DZ^-d zcIk;tyzxoafLs?Ji7cn>9;x2UDP+>d7RtD;3INFluqKULwt@M!B4jO0vlX3@lPlxr z;_6Ypb$5|(QP!i1lK|76{s8xz(uU=VQ_Ra1UlYlY6+gY~5Hfi*ekra%K3`57m_WGc zESfjx@OSg*pn;KY^2J1F(u||krzY*>_+d<}dZdA~@+$|pF#nB+N0$#%qI26!^pGv~ zYG-!BEsUnXDNkO0Bs(#2LrjRtz3~yfMBtR(-sTVHx}}&++A|KahIbKKhGSD~>}>1+ z!rb{1za*j<#i!d6*pxp!|3N+oHayKvYNZ$F!k8xkhJI$lu`2(tk8+41M(Lg!D@*nc zs7`y zZU>VJH#lV;|8Iia9V1Tan-3_nk&WdF!+83L8uHK~yOy%`$C0v(2cv+JNMBULh4DDx zX7wg9bg9-tcua==f9BqHx3T0%6TTG!3#@wqHF5Gg59${sQ4+f-QZGrhruJXKE_({& z>0XrEGnl)7GcqGiM&`+LNUH5_Ya7}zUG91^85!U4gqI46Z6iT8<-mVJY#aU#5x%IR zt4_rK2h+))W;5hz<4lE>`1SJ&aMTbjQ=yh_Jd_NNbIi3QiSI>mW{!)oj#r3A-HWDT z$mMo7X*{nz>;`e$nAcmE0-eB;UE{nQ095Mmw;tEv0w0dEIxV*JkIA7hFs98M9YGHN z;@I&w0Ex4wV@sAWSG~juGnqF|#1S!rwz`n{EKXm!N+txRAE{QX5H%>a;Ko_gXZuT} zj}4l7*;r#QiLgcSF3W^E{Iw4o=-C+t5H5oZI)Zkrk0CevU;uGRI5>ltOdap6yiPWv zmarpfMg}fG8ihl4gZ*elMiauJ3LXP`ePr@@XJveQkV<<9aU3VsoJOr`Hy8;4hD?v` zNTT~r0_}Uo>|%SR?MCgD0kbPh-U&0=JlkNhpGN0?edX7Am8xtL-Gi@HQtP5k=CB4-tuqCH%);6wW z#=-06o*!K|*+xI|LBd^KDBR$#j7KF9GJ5@yD*z4Hg>)CAaJx(mNRsPjxUGQ9r*Y4sERH4AWE%aLnfDsgI4+ChVr6`bmOPMV zJyf;Yok5bvLz|K~T$Ha>NX&DdrCJ@`Z#{>Cc09WOodd?;?9C-_$+)ue5y6To9TUM4 zWsBm=p1LXnUhIj#tX(SQI1x1stD}-`-mqTwt`)QNcC;l&5@Czt3!etg(hJE-`3(c( zlh4sMhTJLl?W}HBb2TvS);xSRxK*VTAAkAw_dovf_iwQg@czr6zlP}fr(e=J$UyQA z(%~Gp>(xA$(x~r?-8pZeiS%Hti34D^Yq(9W7+Ap+9nrWb-Yt)1hhp#Z^ zWMFdIC>TV_`GPbJ>$UMCWv4aQfT*5{!$t8X%K`2W`={OU0#-X)X*vE1-3_rcHY+0< zsHSV)BnuVce5P)uO;i%Ki{dSp!wJf1`w2Z#wuI#ah(YJ!0a~WTEJd-%ljhV_*%y+q zk}>Svdj+}5iS`-l5C#NM0n(fhErF+$Z?;S1o-7A4_@&m3hi4>FxPTTN&<-@-$EVf9 z84|M^FBHy*awa+&Npk@A>x9+z#cU=qt~J4W0^8yoKPJ-AfiwMF>m`qAjlD60xh-eWVZ;*x3U8EyVdV3JA!Zg@oVYexj*2{PI{%^L{^?T|T6*s8Lr-9w|a zU5rhzJ%Fm%niSg;f1ueA`T)feBCUzDrYgO?s@QG>t2MTW#-u+&`|jSHX>4 zP?&w8RGpZ=TIEDtzO=Boj6FcqZp6Z(Wu1C~H0S#PlPsVVE3zKbfX5oc6!lgDO!iK? z#tmOB3t&22akr7|Fm{-=m(~TbWlk`$RcmfJ&@>b2ik6jfyMEJGy@FBR$WnrVKp9C$?iDWB^Wi{DVG#Ff`!W2 zjPz;Mmu#%eGNPO*O_<5*sahw4)w|#P+h$Gq@d?DuZMkK{Bq`>b@Y#ZDt_Qa5GC1|4 zaRf=6D_XS_@kKIRug9X96k5qi3SxqW%yeZ>7HTvu4)os0+;L*SD8$fKbE&shkBU+< zJVw*6sY53=!6`XjjvEu5#d^gA*K!+2(n~f@Ri;9~|L!W*w3@58iQeQX6Wm z<$BZUpp+O^w5nZ9xR|@3gx}WN>vS;dqaGrD$_GtZIX5D~0&2RR{m>SECGa0)k>*9q}k+qYF{d}?zjx@UfpuG}cKt`PdmRo4@ff`hil89CGh;s27 zvllnwj-H^bg`>ljxD!vX)j43ycqAUUR1kEfk|SBwh0+mI%k?5GQxD`|7gR!~4hqjWlz0FmdFb>Y^LOvv+ zHadDLIbozCH$^8#ox-pNuq0(qpvfk3u2V&fN0j-Ti(IRzS)_YLx3sEKPPC;-JK8{E z+RhSjt7yJzQ4LgMoAu#t-s9*>awaxWB1@=Kj5eK0jnwf6mlTFq$13j_R1u|$=1t=R z)Q8n}dk(0ruGQ4V9E3VSqzG-pqkW3HSip|n98sxg-Y%Y@u2-k0q4;~5)TRz$tcMK2 zHRA23)~k==RTE{K zBVL+S?n4ySU|sdTv76TvZCu!@N<=G~H`!jXw0RmVWr=z!icF&I3z8DF%c_uY^f8HK zMf1j5M@;~0*v0n4>TnCY$? zPxCswjmATt1p}o+MaU++@`)}6so{=?&k(ZFa@55~!7)XONLYDhNxXPOa70#Uv^g&G{*Z^#ze7Zv!jH&&o#KRyMd6#adu9)mGNE zie*lZIfNupvS`;=h`}lT!~Gu?+$FxSy_0!u(S+ED7p`ui?bio)n9bf3-Z52r(9npN zxBV7)&%zz;AdRB~`1r_HQ=MVLck@Lv02QEY*;E98AqRwj>t(;O&hYCur3cHQ$v#hP zN>`1-o+y~b2rL;qUvEkWu($iy?fse7ERcl>PD+Z6$lx_S_<+{)mPnM{PV=kPh?Wc< zU*wrLaK}~Ru}pTxL>GxSX|n?~)c@m3Ot`x6e;7z7vtGjp+QU|d(%8j-u82hvXfk$u zgXge^d%J#K&GRD0$5xM0(y%pWLyM-aHA)Fv=tq0F1KNUc$RJuWb-Y7%SpHnJaW1}F zZ4N*t{eRG}XsoU%JWT~jx2`ZC^y-XLks@!9S?o~mc((%XrPbc5x|*YiuSN52S?}N_zWBs6N<(6D7ykJ929BBaF0({-Ygq0Bk#eZ_EpY<_mI^Tq$;X<39KTpJWn-Pi_J6GV$Aueh_1yHM4CAMaI-(`A2z#vy5{e8`_U6vyURqrM6B#dUHLO{zLDYWTC{9;5s z)dkmo`6wEw9Ihc1j6GLDK5|xXN3F2D=>dg;7+{QSJ;1l8%_$h3&0+TGjVfnSqOrdrhx!H@Dp8XAlmRI@vdzfB zOCnKlA@+!wjAy~&35#^026~s1MzbZ=@$M$>nUIsJ+Yvx)1Q|YOOd%6S+_i-T+EL0>rKXfU! z@(00F)gvN2*w(HZ*Gra=cdq_Az-)}NYKxi>2CsC@`3z{eprZvO8W_VHR|n~>c3Dp( zIfC=Y!x@-t?xFcQ-)}+OprLQ0XFLC#hytuesxJInMcLn#Fq8dLwc4=R{_zRW%hg9L zO8{gVt7My;TFwT*<~1M6J6q28i5i+%V9aQ3IB2_<{b{?pdpc{d%aKG_$4#O^jIW@s z;R0o+VCw=;Bj~8`T6>jk&!@Ujl!^bv6lA1i|K6U~>+PCY;m=0Ag(Wn3xhRAX#GvR1Xm@O2Y?>ysG!SLm&K{peRo1tuo@K(V^m%ND{yo-WLED49-VV=nq+kVt3kdh&CytGvj=ZoPjI}vZ;>+fd$ zI#E5pq~;XrIhib=r0on%itBL4V#G}e-Ewv`U8#um#qeGjNgLpb%}p0oipQKfUJS;h z9|yA@ICW}gD7?nLD^lsx!7LHL7*0@_5Ae3$oj#qXfT@*U!M{somf40WA9eL`4AOea z3$_^(!z-eIF`S@qz<>&0{DUWI$V5zzL?tZh?NW< zrNG4o!H;=JEBt#thEI$5}bhb)t?M{RCV{ z{1t-{xLu$fX|2t2OWlvUxxnW056z5rBbFD#dwGT{zYAW*ZoOUX9~Q@#{YOZ)&xC@o zC1NxKU*&y~aBd>=7%snWcuBt4u8qc!IA09!gaG7mmg>_QY8khy-N)lOiK*4{Am8YV zO5##!s%01a`_aNGs1)(3A9U=9_{H#E2uHcPi(F?{@mW%e- z$iZ5suF5Wo%3xEPU}{dSpv3bDZg4|K>%kP!y_jONC0*?gtGkaMcbkXn{2}Jnp}9`{ z0(NqDYo|w9BN09v(+DdfdoexllM$F~emsD~d|Kz-9}|ry!3pY@=`Yk#x!GaQGZo~3 zodi7naJr@QjBC}$HZNB!dhQ6aWh1(1S%~n(@DlhS5r@rTvtI09gS&q^)9M8|+mRzz zEe}lEIqp~q$`rPqX4x?MrahJm8|}yZrHZ&;!XIt`4>!F&9M4?zXmp?NV;U62P2}R5 z93$ppfU?osvZ9~xqWyz_ufPjm^v&%n^kc6M&u7PZnr%s?pX9;+OpG;6f_Gh5Io$l* zXk7BN95<+EIU4E^rF@7q2pDVPR!6et0kn+I zP%}!6K0QMTeQQiY=o$8ex>nKfx-QPf6w|HAnI7iT(5F+89jLR9~RrFGivo{2b7Rg>d^spobQeLJFsvAkzO(iS>s)ZXro^Q)BW!Vi?WT|M(d)xmb1 z8l1HrNl&RX526nM2;Wp{NJqd40dRgI2-q9)@V{ z=BOU4$aZ*t!(y!D=r^NU9ZU_+i+4$q>lOD2G1)?)8i--p$>ZzxZi6IKaPMuYO#guUxgVG*P;vU{j^OL&0vQ zX~LD;QJN+kxbXi;uE`{FHo^gOY$&~KX?(5mT0$~2<)MlQfUdq%MPYO1>d8j(exH2x zo5S6FpQ-E0dZD{18w-=u3eQpm{FdiwQ;R8RgOS767n%gURN{@Xg15Li?B}R7$#gfz zSof*&!ik`8O80qLZZ(dIL>C)qP>~R8jOE=jS0M(6tEeRN!2~of)L7t*1uas~ZTo_! z3s(WEzI6Q(T(XD7wqpugURF=X&GY)O-<)N*oh)pklNYy~`o3M*3{oO|oqJR;t}xC$ z5?PEbT6`2DKAx6~)$a7P-_3XPj>q}C_)j&tOGM2RnU3E1x?4>wZLzh0#DYvBUw^D= zkL>g6@ag#DX1kpqU>Y$Ar>wNK#Z6P0Fu3}0P2_NYK6dqXu(x-Qd!=!q!i7>)KzarjNW1yTNwu-#|V+AVk~c_8Zh7OcgOuUxTdG|{bHE%-pxUu zAo8X*J1VVA3~KhWud})#EGyQIW4J{`F_v>d4#3xsn=?t8<}Lf;mIY~z$y*+EF#=fL zu}*K03?b)%9Kh1WJ{&e{h_|kR9rwfGQpTQiU5Dw$*04>0txIlOe1u&QcqQ0m_;{0A z7U

{e1TQ6;U`JS-`GbbfcjFYhmLTt5GJjz~0POBc)3YKY0cRMVT04Ea!r(&|bJS zq+V}G&yVH+dNh9%e9g@pc4Ew0qKG2K@~*mT)!a-XL8 zOa@T3%*lEe!tR$tZ2mfjxV~g`G3b(sBXsJH&8S^lER7qllTpMBV^wWR(&O81kpki@ z;)#93bjLKQ(A+m15Eso-17dCw(fAQLj8!e&cCET7mz39jM$9FFqH22k3f#<^?npF= zj}`I6Sk+Q;SG~XXMGpyo+nu>-Q?64>8m<_sM}L_JV=U(^G?4KJ%(t(H$MrES#ykrJ>zuK?D8#%~rfj5$|C%o;Pzmtu6kar~!K*CG*Ppb+q z{2k{**S57rVdfi>f+m}^*2NAojQtqpP&a4|;*7DJUvaqI=k;zi|MEt2yu9@&`9!es z8}LpxsfF7Wjf#r*yz-6uf=FX5=T;m-sm-^qzwBeGZ}2OyURgTF?~vROID9F zDn_heS%YSK!iaD2U9czX-Bn|6tTsO^2%&b|;K{>&kbKKh#Emy@WJ`cvsN`Bm$jSO~ zLd603+vfRYJ-_C+<;1DV^bO6SEgvqt*WT3yD-e{P{~%hje4I*gKzqA~Hj@kFqOVj0 zqLn3D37cbN<<^J0EvBb>M5}p*0Amm$i?O_wbwK-aSe;I1p-zf0m5No$12jcATy4dQ z9>H4QC~gx~j5V#y#nb9-dx0QKbtVd4Zk>utb%-)}W4^*XOUFMXiPX@f>v-JS2!s74}s&}uD*eq#PoT3s|H;^p!V^7QPY zuaMxjRN86(cCHt@1-5#1U3zsBSXHrmhpx6LMJU8dMvgZH!*=d?wY#(xEA^C|tDzMg z??vAZf_5=03k~nmM-MvRCZ;)kqXglKEQUqcWbgP2@B#K_cfWoKu}6sZ&bn({i1SP? zx$>za)V4R%O#~lakJCY#*kUYi4UT{z9kSirt`DbAim+PDd zKf%getOkiK*b^&cTk#RB533W%x+9~<+k^+Sx2yZd3rMBrSYe_0J!;{}W;t(1&JS=# z@CtB;V9CUBGQt7uF3#?6VGs3Hh&drMUGOkV*KRHH)i&OAzrHhd@kSG0jO9Jdxxa7q ze11D`+q2BNA<1pivy9zwwb=+r3p!JjTR|p{^ZI4E<-;)ZQ&L?a4fQTJ8XlP19^`qE z2_;ul?VkxRnK{?$oO~x??u57S9IY);l*bX|T0@XwcV~ZWl@b3$%@X|f+(D@|C`@1lO zN%yVO+OgPRrX4)QT<}t9SA|pcIB3w_MarHooNOL%Y42dC8xUz+wl;md5vz;;_(C}+ zDTx7-aZ58!bvNga6f~XSv4q$5`HrdGZ4jP|gIeB7L> z1zEmgM>E{A47Yq--|u&;GgmA}+Adcfhdr@y!2w%S*}*g99qcF-x@+Ji+84_w2NK?J zPO5;MuO`%_X|Mp9meJ8(o;bAw{CPol1X1SA_{pDdjOuGO-UFhE_{H+^fe1RLi(e0i z)owl^G#7rLKM%4I7yeB}AKX}DtM6mjsjB3b@`*vFYOBc-gIW4nY&mwHT2 z6Tyq)o#5AFwv(70#~izp!^?sfm(^Nl5OW>%N6gH4pv@zi7uQuYtC-y0-fz=<(f)W0 z;M=glEmG|!@Dw%eg61=1JA@2|I$U&?S>ph-_YI~A*QnEIqIz+>rFt07KYrXSqHi=! zI$yMoMRHggFY*MpOF^EqCT`*F^G_Vg5BfI4BKlIva|3ATi0H-fX6j3^j`*V?mQIUn z1h_2;Ym^47fWAF4KxSNswVeM&tYvj^nrKNA?Th2R)$cw*B#MgNAo&Dv*|C7v3jZe$ zz{CHPhSfy%;&@N>z#;sy+3wGm6ZGi5D{E(x7)u}N+OvEHDS{05cr%(=8pX%OQ8I|- z#qoCP0qpC`%lfd$3rsFc#1>Pk72qb*aRh9ua$^8ob+b&i_G)5%alET~IK?)ml7Ev^ zj3&CmDLnV`_1q~Gox)b905$j$I}Wd?HOw8LsZn5m+K9akz6P$xQDqbTixVySm)k?! zx^X-OxTm(dj$IaGVp&%xY|vylAl#f(jKn*|EO305Msvpl9VH@valF$o8X3s$#|ZEi z8gW)XuFp+L6?4r7{=pbU;3hp`$<74-&IOQ~kx#_AcUKT&3<-mBIws*Jc#?Ak!vKti%~5fD=-(h`e*CO`bjz0gk7ziL0hB z@iyyaIvAgh{g5h=<26&7m|mQ2DeCS1@yw2p(MW?E4{-^S0|R?w8%64}n<;`-ay+=I ziQ>iSmZFAC##K-o>$?W1t&jvt)D0D_6c-M>SK@bZx}}XTfjXuhr>;VqvG&oOZ$#7q z>v$eGVAUmCZ^BCUk9V(RV+|a<7i2Aps~t74IJ{ce@9d#%GiQgoC1rs9rIz-~)Oy7X~w)|oL zvW1C|(}(rzVf}G6k3L*DHzYww!q-m2ArXDg(1*Vq_)jvUu@@<|#cHd=g=@=O;qWOE zt&8IL8kwpTW*fNWDWPFLl z?BaNTh$33k#8T zY**0Avb}#>1K-ct9)?EhUZe=5h z03FQmaDSqsszW{70u=eBE0REyNwjr}S%WP{n!Ni{8$`bsmJnL!_KB+v_H^G*P@b-j$QIbx=eHr0<)P zjNo}FuA*(`SR%NQsV6!fy#(F`pM_ba-Q!U#2ruzYN}lUNU!SO5oEz0B1KyxEK5ll$ zMNlE@!#w1=lgOG9vM0zQ+$F@Q#gxsIXsk?IdS3*n{kT>fLh>y>! zg$ZBThvWYB^tAX91~5J?4)-(ZLoU-nfd*qGdnO{3KaAdow85&d{EHW9*QpwX-hjT` zyO+?DDddeizd!nVdJ@o&3Fb5ry|{uslX}B9yZa3#yT1Eha%$$qRe>!u9#KyT+u{rO zfr~5X>JUv;m3YV$aDII3;tATCCBo2UBCZ$b>sf~}XmvU0erP-zfwq&Ni>zWtptT!i z5{Ti&anjET(E4)Fo)wKRzG>A^Ch+G*jT%Jp;=HOr!~4I24`XsG<0a$3dTC69Y{?g% zA6XePjGV2sARI}a>BHvuw0Kz^kE_S^rMUT!21YRhBSw4Kp>|!}|DaNie|Vkf=n=Jx z^Yusx+%$2zzZ^EZ$K!=~b3{uSZH0-ZDa6-0gR}JiT2mHrv(!GSJK}e7zMd_qa9@ZO`{&wdr)1fVwxLd;CBx`_ zLzb_2eSIaxLt+5KXYE9(@`=91_04Ihr~LtjbvAc1 zy=TQrm=3(+GA8MVSXDUKcP0AlO{ScHE0*NZG?X6mk7{CWaeP_wzY1KI#YN3Pv@MSJ zroM|Vwa$B%D$Zr?o;9-tnPErab^ z&wu^v-xeXvIez`qm#eW0V#O7V%r|zA#X00=3xkA)WW&aZ(gAESJB_x1h*&&tAGE_h z;zrK8%K`!c+mSG^7y0FY}@6vTkrCCQy7Zn-s*o)FPhtxwk z@S9*ug3T<1qusUZ&wu-6@$mDv|5&_y{VCk}w=ZA*V+Q%CceW>%Spk1xMjpFcESL*c ztxgMeV0~DrDC|-~r}FS2`VPd&5_AKTm|^Sgzkdx5!|m5^f4UkqX9a-A2!(1u4dX2n z1R@UNh`J9_iAK$rxLG`BYPEpc#ryutU*B=fY+}8W=@-9h30D|iXU2k4C(<*{*#sH_ zhb-`@Nr;>;-EQuFAZ-X)nn z&doVse=lObpGGspko5_wFxZqjdt!Z8Q`~Eypz^s5m~NXaAa6MxXd|9KfBTOwzXXK; z5q02~IUP7^g&N)?Nj3=y&~rjR}A z<$tcfea-5sDjh?SthYS7aQnbDUEaQ0%G7|2KNwN>WHps&=<(;TfBospx5Z=7<6nRJ z%UL5dQY{MpLF9(17Ep+-4N@|(Dwi}3L2hh_IVyV(aSkHq1y-6pf~?yQo9E{>xlbAO z=BGb>4Ub^;=Rbe``mM3o4Oo6u*}4;_a8vcK_rNERBM%eZet2DZ|2x*DEUfCTMyA5O z5^PiH@#yfSeS|l!%i|K14CtEUmv8^|^^aeot5>=wgRxQMQR$mB?XKG{N>JV5S*rS7 zhIdz&8ju2L6svy5$`b;+$I=$9DR7nhyjlAYwNj00R= z$C(g~Qu9e#QklV;oHCr~V|G0-x)NHM&^ilONFQoMO9qm2G7f0(R-ayv^I}lxX~B|k z4#64>UE58}7W73qq6jxDq1kfy1`<{>h`jGU&W-@q^}}KdQ;NGhrr1IptYKyZyXfdb@ifQ=J;;oY*Sc)9NP{Uae z=zQP!_ypNKPAeG~+JZoTTnF7Y2X$tOq(a)9BJoSFf?BJc|IYW8%W*$+%f92SZxN`4Z4-mBAfRN_ctJWwg(_;_kJkW=H#+gInpYa4K&_dj zqbm(KRn={1h|tCJQsWT6KJK^o*XZ3YcPEIB;OZM9SesZ1E38v_2$bd=0tl8kM6_hp zd@I^s-LE!tTEJBX*s~Ju2<-&ZlM9mR*$NRHckxmf#lr4{maG~tGY)8vr^OF@8Wp(Y zcG>)hpx2eq#$|{t2PdFa;lY;<4orI5K1Z%3vt-wJDQrM{yM29lIO8xBF-GK5vx7T1 zNbTg}ryvI*Sh6+NU{(cB#U!j`yZZWl0oLt)|8mU(8;|L+2i6)Qa!|%&Zw`luLWpT| zRvz62VrlWbqBKAazTzSX!10Pl=5IJleIW;@btz)e3_TJpyw#aeDRvn z0QhOW-L4PcAD`BT?fz~~kBxErDe<+_;;WTbW%z8MaY@?Rg(R|;zI*3A*U?Zl30J9y z;Jf>ni7p+bSP_+oOUaT(WMuyr@3AQwU^kd&M1`HL*|Y}8gF1Hks1aC%2a=} zDzAbkQP9{Kx8pcR3xmq$l^lG>Ug*A`ooKJ^8-3bma=-Rr1YhWk$o-NWDOa`cJQ zpW&JMycB58ttZx(UbNl;9wj)TciZ*q@CLoXS4h&tLE3@@1Bltm;Pv~0a&l(ZyCEu= zUbOVkRR^gFqeb%|6DxM$8-WJ7`XC-sqV(Ymy@Mfsm|nD8th?=I_8pAA2tJNkdxLHK z!ATUpOwkyq(eaQH-+?2jE&u9@JFk|Z#lbbiTqR~aY$fcgISvq>Q5_@PIV2{lPI5!+ zFuiDbS(hee3b>KW0pXewuJJNbPYgdYvIPY>H#rMNT3_~TKpx#JqJrs*^%Dj<=;4ZC zgW~R-h8ffCMwn3RuU=-0ZWrhqtmbW77#liQcTgH)gXwv)BcojdrSV*zV}v%kg%fC- zj8_3In69#h7|?pt8TKZppC56=^uIIL5u*3v31&yUV<&J^)s}Dq8{ELUQl!0M zdVWrU5I;;`?5Lm^)<b=WF7ARVx!u1`$$7n=m)V%%W;5KT zo$*Vn!Q9bjG&*lIWAw!Y3K7TjJS#Eed_ha!t#+?5zQ0HmhMiK_7&O>K)1L0}z$xr< zffFBO7aW!xGN2AY));uv4Xkl;em<36_;$LkAT$4?ok{n?v3dkr?_eXPsI?su#^{cB zH4aE2b#mCR4)c|vIy(i4|Dh+Bc6^h2CmICg9u`)(zKkG&epPujx>`+uTUC|E{r*gu zqS6Pv52eetIwn(FT^&%RFe0ZXiDlEp=8aMpAXAL)csMvfz08ekg|xH@t@fN-F|CI! zur@nwh}U~5a_w-Yox>n^jP7_SI2-~N-M(&Db4jYUFGo|aU3rFyGKLOjr0U5FFGO1F zSlTMVbp+Qp;6A-RJ_Y9pvN@MMy;yXk8gdN1?SM7ByQSA62Ua@XcMt=W9V23n^^9_Z z;wt2e(Ot8Iyxni-s#s9VgtCLpaj z^q~bMMAt8?ZM4MGZfA|Ra673{utSdKR*47}kbB8SV$fEE`^riJT~5;>UOvaFh+OKl zzuiAR&NdUY{D!>Doh&iRY|Cc=P7+>;#}r0qmC8pznMG2VfL6B9u2&!5)=y`YnyP1_;M|76Th5ZI zg?jPSx{}^m&kEV;W<_vnSu5zY5k}${E%-3UU@3BiV!M7^@9tM|xMMY)TrR{UQZtig zqpD|;=jIqFu)TU)ks#<`H@wQ~4t;hcfC;#D1NU+Dk7i>(BsqPbQ~8Px;7vWNW{?L)3sK*;?&9*q z^|?d~&wCCQ$UCi?zd zaN9T)FkQ3kn1V@g6~V0=Rpmb%uAPGGW2-0o=L|shhxR+ige@Yd4mJ zAh=l)2rJn;DO-}TUfu8CuD)C`TrN|)lN7;0={incoWM${*iLB#OGZxC#`zs$>v5vJ zxLKKm*1(#OW>2^W7A z+Mq9)8*o!?bpdgJ+|~E1trL0d6&0H!E2mpt+v9fs+4;X5TawY z(uj&k$vCocrUiDlemm};ukz5$5InaPaWlvZPcSI0ks`K13+A92&731MXIhW#w?ynS z_bx;1Mw1ziES+gRxXTb%thN2fd@z}4^Wg_C*qbu_4x4Xer|Yo8k*TvSnOG<9^6s$T ze_Y?sq^w4>bb|HaRMnWt84U{^33TrXGw42^YDt*Muy|l!Nf#40qntb`M4i@-awFklnK_sdzlBems{28dpiFXB=-=pyS@GkV0%{ z`;i29j;&=LlrR}M+j87@55P|KdUx)6s~ufKk)w#@+{B^`Xlt>yVqVtJG_G?8E~*Gm z7S6UN%%1j#UsLof*<(cB~J>ZS7ek+BL# zWWsN4l~+p_-npv1A02`^UI(2H@jaQlB3V36t~{(}JvkAsb}H1b6NM8q{3hHvuY0D0 zDC?QCgttysuSgkRjd^-3TMlEkgt=M34Vbm+vgz*;m+4Ic)3=#ulvh zE)7_pz^eNQ)bLK6x&99%fC=bZt3XbNRa`YThrj!^__G}uE?WC?Tiy(QG>DRi*8~3N z{o#2w#XRjV^91t@d?Ois!e9t{-bjII7VimZYn92}>UQ%^pz0!^Ht2g_YYiJ5qfv7T z(!*$}S|af!wNYt~0&CbjP#5{lQu^Rt)`LAr4WlLR;narm#_PNN?mp>? zZzaG|$jc`m&kro31qjqc3 z@m)GW!65JV{%tjjbEXkYr(aY$nrsGBum{R3Q=k<(#@4H8;CHm)B-^Q`vlC z1QZB|g~~4sO<9+CmFNfYk}2a6^MLnZyI-CDL1^u?$7q!nwLa*4u+Y`eQb0y%TWrps zR=bbub@Fd6pS4cIpSeW|b5uID(zvNgM-qy>|C}o1&agp5g|Nx2@trv>*c0A@DqJx} zEm+)f_zafpNvWd|&Ogy(&|PrBO^r6ZO#b0?sl#?;=y*f<#b+2d5&O{@uz6|5>(Sa; zo@7mD2%c9>%wapSa(si%yV3fLb{IpD39X%egwO;g%JfS3W_%}ey9enwGIM-)&J}1& z9p`e5v3a*`mnQ_6^)NHM%wYUjr(;4(c8<5|4`|ug@9KCafRh*ChA1OWjkjULuyy_j zVS6Y$R|z-Uk=f&`a|YO_r~UKGeDl>@Bm4kZX25M34)3SqPFcEV*eb$0gCbx-md~{; z-z5RugbdeO!%Pk3L!6<^XfcQO!T%hNfQCen;d4#HcO}~9-Ez1SVUaOi=J*l>SFEDh>PwtYu;{(PIS}L)S8fx9iosbKJV}w&|Xc zX03yK3_d2NCOX}-HR7l>1ld5}vVm8l_3axsGo@UR1ZlcD!Ve)9%dU`kkhSwIYq#BB zr6_pWZsfyFQ02ge8PQkWRiN2|$64)Kwt|eEZyCGYdV9TIYuOJlc9W*rz+`33z34lw za*R)C$=Lapv3pxSd|W)QK0R#KSMd=wJ<{;6<`Bl=G%gbCIHjSTj!Lvtjxz!#tg;{Nn6Z*fpKqDIvsl5k zE?MJ2D5#}v&~Am?@BMUoNhTV{px`dpqGh`T&du36xxNhT)TIw4dR6kPtLf{x1xd%{en zux}~nT~f}F@V*jv+t=4~`c5r-1*r={h@v5b=bTeB1esCdq!&<|vZo^Q`pMkd?NSqXa592@AAFgbgS72UYWfVFog zuswmTSD%7D__W?`_isO}?mn*1RdOcw7xDB8cs{TKsI?$KFT({f?#qtSZ=K66VyJnM zLnUCY*Pa6A;JI&Rxe;8|l`t$@6Oir|X*G(*jYYb>=>oWMH7n>3tCIUZNB?Rr{?KId zv~L{Zb{p>e%n)AP;LUD*I0oqoKQ%tsIj<}7MR44Dr)#k$dKJYRZ3e)&KjKoX%=uwg zPKDHoQ6>?@y2=*@tiqT~s)7Cl5v(ZFTB&`3gtR&yr|?ep&I{#q#R>#?o#IOc6J9cM zrnOD`Zhy9GaK<0zcmrHBX*OV?x~bFk64Dq$(gl?;jm{d8t0>d5CYLBR=x&=54c5&Bc4SH{g8z_R zG7{t7dBN(u(}fXYT~VfGTrQLC%f!T5HRWt{)~jkB7M>yynb3!N&bSz|kfvo^E<1$2 zNL|P9PpP3-{P0CE3yESwTr7%rYW-SS&%E4Y)ZXc-#*7|<&N^wNy*u4&RRfQqS|={HLZF3Psd=UH>Fsveol>Lfr!WhcABJ#kJ!lT67$1ub1Yo0P=5 zihv3y8{(Qd1Q}J^GODY?Zhe{)e^8vvYkk26W+1yPC)qmaLd@Cx;AgfqUL_N|B7JeVUA12f?d{-NsI; zrS+^q!p0CHsK6p$leBwhnD&{C+KBB%*_L75znz==8mA}6sy&I%R6i-4!OKzWpw`}a zR=%6oGeiTUY|Gf5>5gwr=MJi}9^!9L=LX+U`P!S5Ud!BOGv}WX8;o+beT93wTOFQf znZ;U}?eSLtMoX!Q#5Q~bFhELZQQ>%4wayA*b5cY$*EPe_i*=_tt2@o$q)m9sIv}pf zzCm{eE0*W5Fo+_e80DHq_8$nEk?~A`_S&ft=ou_ zD!eu!xUbmApl&8~_S4WECej$y?2$ZI?H$2oi`gmH35TDaiH$>JB75nm@2&0_w<5X$ zL>i-9ZBZdT4}@roA6MJ$SrV*?^!!llm4o*+HTdX6apUoNo#3VnJ1&SiM!DLk#$CCq zPxIV_mzDm{jC0yX z%)}L=Tx}%*Gf+Xmle_w+TT$rQvW*K`p_;x3o`DlAb%f3#amFa#5-Alq;Jed$yMH-n z9E*a8W<<6faxzD{RX;(o8IW1YUZW(qe0~>I8xh7R-wHIJ&u}tdlCmc~?51}5LO_|* z6c{bU6=oSNf+dURTNW?P=3U^;P9~8X(>N1Jbd41-M(CF&bD5NHZ?l2t+*;zwuuWzSrk zpqV0E=<~1p+u%QEHyN|>Lvtt=ulc_0h?MwXlyAj)??TFfrgF@b;Q~4jXkQyX8`4RdCn6J2 zGF-kD(VeHvs7vE5h8^&lCX&@Ka=C6m=RbEESL0OoPaPS;3rrcCQy zP0#_svkGxt?b(KB<#O{gs#RipQ9bYC7f5PGp{USh;I0#mndOFk+pSSyfn~O zNnla663vU^-Cjar$Z$acar#xoi}mx`HMl4uKpn2Iqv!_KY|@`2AwY8#qKQUyll!JF zQd~u#qgg(sn0uZeRR&rbtFzjok)PhPVMlsnXuGs%#bgifB@|?1Yw@04zUQ_R-i2$+ z;Hd4{cs8;|h|!8^PA?fn0@epSecIhWpJ~E1qqR6H3o*N1*ItXG;@WoJbCl#a2s$@x z39KiuwgL+g!`tfc3}j)O-Q#Q?UzDs?GES0@1;PjG(4-7kF~;Soz$6gCPS>l2Ez!CJ zHQhk`a9Ho|p5`xj#z1ro?DU)SmRC)P65L7F42pSVqIS`|&uft0&EX7hd_{yH7{~o3 zIY0Q$h0V)UQIYjN2*)5YsC9|XMXQ!}IIQmc8B9X=hCVC-K{+x2NemUZFmCc2+7V%T30zI-UeXR**O^?}MR zI}0k^FVrt{9uIS4Jy|+lZ4%_}oM0*0YWL|Zp;phvh_y6A!sfpFgKPpAFvZNER) zI@iuPUW~R^mAfN=E45Q2u_epKbNz$ZM$0zs;smFvRK0x3jHs-{L~l5hbgTU$B8_I$ zU1&X-G@jw_XpLS}yicniXH#|}IHcSJJE}s<(Gq3h^pbNNKeTy@n$sxG;mw z*$^hnL%^R0X9%h!CPPd-LtL5!{}qhG#FS||!SR>RzkFFdef`V7|M%zrS*-r@<)=UX z&kbxW0Ud;A0Jk9fl~$x*;HiOUlbSFfd<4%dzdfN6_b7~O6lbwOo54nglLdiij<8LJ zJ-K0Y0ykG}>PCSLyutFciAGP|m>A22|I~wfDcJsYkv4Xkt{?4Ol%DTV(TG?g;?(8L zF4|sv(VAQ7m?9afK{m#o;r$Jl-1}gCJC|LH@TI_#7q3NTy~MWsaBZHi8cB@31CS-p zvnV{)j%{ga6zm;1AnoO)`6j(FV`FQaUh(OMdeBwgv5`u-Sb{H4nVpQ6M;b%0N_~AzPWefu}cyHAQ!eR+FSn)2Q_&E3_&>_+u%9+ zTLxC9GPRS`ii+r2nec zV+jvdF8k(G{cn{*AhSpb(WAjBUvNOqu`>>IEl8}}YkcuKiorb4yCoXW!GNFZ7m={O z&E@A<+N9+aqc4#uy~hxn;T3epM_M1gQ5tYNZY?vPR3lSRwDDi$f)p$dX+3vAQ-1O1 zD-^qV5;JQqD>z%@(4~TRhPQ)9NZx&?N@ZGwgxd{TqU4japBL1KOx$jf!i zyG=jOR((H?YW299^@}|=j-@o|a5HJuDyf-*A%~N}i?lVyL}0W6Zw4k^a9*%TJoCK_ zw~Bb0QqZeQ{X?Fqlxf!7Fim=1cl_@_Iwxm5j0j!)*=~U4FwYWAJdwvXD$*Ca$UI@N znM|@l@7h1eY}ZRK;?OTHWmZkW*-XIoFK~n%nxj(<_unBqEpWo(XNzGb_2@_m`T{m> z(EB(1IOy0r;@*y_!G;Hm`3qAe4Gbni!G=9YqYmr2im`%hz`PghxMO~oDA7%qP4fXY z)(TFiic7vUY`;>nHX-1OGGA6?d~$~AuouTU`huw{qTRZQiAy;yPS z$jzhHv^+(qzfqcLwf9p5y;z@8s-a5f9mf)%P(HGAMrQEBI8*5GNwMuYBYdwZTONcX zfG^J+g3cB`Zk=}L&QZB?gj}fL@ZuN^0kH3mudvL;T9}@*HX%tS9kw4*es{*t-F_ss zv181-Y|gMutIdAI4$=E}R=bU81WV&XmcAT5F!W!A`vNe)vHKKp`+^pv`gSOj`Sflc zyWF!%408t=aAk6doGlN`FBJGAQv_wk&?sE7N0YbABSgy6pj^O$Nbi$GdZ~}XRTP6r zyRZbs1@%VwMijrSq zh_6VF7}3eSMoC0v&S0wX>zfRZNhZ5pUzdv_|Y!(QIm?jU+&DZJlvjgB*dnV;r^nsWt8xTe* zC6m0j)ab9~cwf2G3ScGx@9;gI(k)nA>^4*KWJ8?$53Gz9G>z)RMx%uiBUmD6mDcAw zFaT@FZ2g^r&6FkWH4~`Irgk$c_zA4;~sdazAQy0Ryamlfa};g=$UY!B3#unEI6e zz_9Gf*&Q4B%v6 z{LuaNlO!4>IiZC)r7uWwleL=1qPVYr$`fW38g+`~OLYpRy7QbQ>ez9Wd|HNw>)=O_ z9Z70^S!m$?xR*Pmk9oXM_d6jE=@2TDhmCU^PCh2WYqwl3IEM0V>1ReT6j%7i2LdrO zSvW3yKg7;43!M{mpN-2tVX^|>#nn|<$((w&#AM!YGUJ)5YMIM$0StO5-!v2gXD$q^ zu>Ocw{{j?CX5{AXgOLnQBu!5;Yzi+gUq4T-Dt=u;TQ{jS8%N~ytEaz^`(+T7csOkZ zk~AkPYgvhZExK1+k4R0nS?A3MhMO>Z;c_(0C!|yrpBD5JruOXfDFbPN{#dmKeN3my zWBVXnz^wgD^-2&T( zbysDKk@3L0&vk`z-b&R_%}8voSVlU{9s!?-h|Pt8p10RN3-xk&-1Bum{>Ab^$(V?( z9MmjnLwKHmZkFo0RsIW|XQhvZt?^h6x(_9r*=YZiwA3+i;K;A5L-+e*Y!0Wi;}>#} zyu~=u4GqLJa#oUEb_OaAXl9el>wqHZ_~KNzY2!)c_rBc98|;h4q)%G=z(Ae(84zX{ z_t~^UnI2R*la{}t<3#yQEiRQZP|S_hV_dz`Vl(x??G`zmP}Ly|Qe-cgnfgJ@buO`+ z9g;EQ3F?7-!b>C9AfmjqC-DPN=qR7UGe1vGiuICO8K1X&~?>x|0RK}}>T-x=g-@;G)O4!=y!sOU)QC&xoeo1A+m3uOPYLK~X{9rN2>z1%XSeK=mm2C@*B5xu24x&N?L=>$)khUGCu?;Fn*(j&e zDy2mwWjGvm-^&1UMyHUxws*%$^yrM8XjB?p{-QR3cATfeP_e!tKQ#k@bsfXB_DL;9 zqrG#M&D@zWQGAQofWW-}YQ{apRkPCQ;+ZU;%;HMPf1uvI-P)Q9lXqHD3s1U1sowzG zH}qnVxRvweRZ?k2%xd6Wm$p`so2`LdFrw$GU>4w3y+|w_*%d)c7@Y0mv8@}{T^K^= zyn@Rdkft~>FjCm=fMmkYL5jv(FRWK6cck;X&|Awsw|v6Eb6JD> z2Is3|)l40wb6^&q_e6W=@-2D+i%a%PJ7;(zPweG(T(WG}=a9KfP}$aZnPc+Cg(6t> zJ;27{`0f@1-{KR%=(~vVo!NfmOw$=lO`I(oA^HOXGV>A(ZX1y~0goFIAeqaFh~-&R z3SayXcDy`5MIMW=9Ihk78h$IntGwP%U((b@NPHvU)k!L7u^q!i7Hh+oNBq`R$ILIq zcwQw-X7qFbdQU3|Q}N^>1>J1@s)K_pl5P(EyE3&Ogw@jF#C4d5Rv?$gpWgo~`1d)+ zZLp5Y?t{tI+mW<~mc-re{#h&kpK1Vs$CaiF>j&_GNMc>+^dbW9>PzYi2u*Ca<;H=E_IL-L6HSls8~{EylCgc-)aW2r(w&RM~APESZNJ0 zDv`5H+RbX>m0(sx{Fx)?U5weuZekW*T;X4v2*iL_U7qmKtc{~$0?%@;5pNk-Jd>}~ z3P}aMFCb?`>vYvNhEu&<$`U-CaBps83TP_5gdY&;@;~GSV%7|r7`WUg4Ip63E4a#5 zNf<0cL4W%Ay1(s$yY-jePTaE_dWHqGGa~0xY)qBd3kA^__w!PYn$A3}vaL&O0?S#k zhM1-KUZ>XQ8}{R!R&b3try+4@9#eJY%6@pt7b|?}xg`)tNP09~ zPpcTAdqvvVWR1p@R7r!B)eAc0`2+pF)%cJgXzBW840u3g&c zJI+2pXGO{9+!GnwQE?{6v7|YF=FoN}+OO`({J`$1b|MyfW+HT0H{mI6ZLFtd-p?b% z$8T!$xe}TP{8socV!hK5@)VoYvqxm|#2wl#Uqg%cGS=Jf;>(XfWqa;Ci+>8Adf*>n zPjUFdH=p) zHp|Rth?k{LxAg02@R)+-&n_`$bPI}s*o<160Xmn){sPN$N@W=3OO|IXSzpKl*_67B@UR5$W$p7KhFy8c>(HTW?Mn|6o1HA@* zdHGeVg_}w+H-;XzcxR$rWOh&rGkjRwU8ix^kFFGP41I&0oUF<3ST^U`KbiKD=75ia zYt7ceXuHUJK3o|q zALP-=Q&tqQF(2?!+veRryV2Gb0OR6fpJHhUzb(-~qCiXLlD&xKMTR@Bz!gFRRbNe5 z>8{V*I0LsF4JKAj#DIkPV1%Xj)4C!GxchGI_|j;N6?+TJ9|*dEbmC~)fX)fIZb+nf zRp+c^{6bHGQxCfoR5UXHf=PPJDg>z^CGw9cdN>wb)p5aeZ{A0}7ne|*a}Q@&ru%{* z?OK8jWv4~B^4xbYj2hF4HP}7eFgKg)DplI4z9eVOY+55R;WN)g8;wq|r_NtCgKdu_ zTR(r^Ep4!vVa6gpaIx5NLh~??r)9~QR3h}n9=KpICP1NhXKPRalcW440X~_IFR$w4 z%(YK7x<9}>V6zvw%*8m3+`UcIv9R2%539lP-!o7Nz-`nYy08u`7{6t)3yM}lr85jT zr_%THZ!NXd?thjlg&&B;m-*B8k!iq|L(qLRMOtBxlQuRF&2Wr(FK#zN`f&tBlh;}B zSk&U$x;=n~QDq-wSECe&OTPi8fOI_EGnj1?Q;G4al~4S*;VvJ*3*3AKRwdo5XRhb8 zNMVbsENXez#%u@e#0doN1-?XSz1^_21cuoSJ!WGF60KIF&MM1P%(9i5b@-*nLmzyx zWz$!bc>~sceY}E z*SuwiF>>+waAPUPpHHJ55HpY!-0asPG~vBO&iFu=-9CD4H=;tUctE-{ zTKf~vB1S@%0R;!6v{0;A?QtWcFf~7bW}Ehky<=nrttT5R6z55&5W9d1Y}pV+w&73- z#J8qg%t1)x0Bm1?>|_i*GFEwW=%;FxYw7pWz_*gKC-?x5LvU!#`?JGTad`qhpJM~havy{|X#mp8wpwopz-4-6oqUM)j zX%}Z-)l)kDsklF^yX(~kZ9yWkh%eXB>A*5+7`H`}P&z3G!p0Jnz?fdvq(x&ZcQ$`B zOWlB8Q*YZgU!me*Z!4k0y)U?AE7#+sNHiXCL(Ieo303aYH$JcAvAaL((B~NZDgd*} zb00;w6HP{T-#2^>z8Z$|=jxm_xZ~DGhc-M?e#(xdFK`WMp7IiHtQ@$Q(dPNJoC>ie zHiFGs7=?}^7N*FycJ~vw4p_^C>sR4Hyut$$LY#@p?(CAGiHq_bdF|;Ntr+(zqULSI z!!?X>G*-U{)!m=Kab#uk?`*=SA!=4*&C1hav7>TmQwqoapMvJ`9uR*H53q!IviH$N z%@LWFG1}Xh33XMU^>erfmK}ofdT4XMK9!&IzIvwpV@5RT(u_6f8{4HJB|)cZJGCiI zi54d7=Sz|-;!$2F5GV|bVVze!<0e!K^Yf#8q#Y73{GK%IwA;?5fqOR4td1Vcb_Acc z`eO%p=3$rz@Ixg`L~ntcS>K|AQw7^AFdNLw#da=&mHj%p`T6zqz=wpz#^c!$_s1=i z%Z!W+W9as!p*3~IKxaryMB_bWHU@@+fDWO8P4Awl#iz!B*kODX!mgnV%;o0YBaA-^ zjR?^h(y8mM^3qUQ%E6-|Sr4KFVF0MyaESwcV}eQ|DoT-+I10IKI!p4UmGMl`x<<@JIs+=@+lpt^P&Oft>4Frc?&C1dq}~^Cy@wAiGwH zg$8=E&-1&`4d6hIn8Oxi;x~x_WDWzf=2{TEb85hX!dR+5TC+Dl@1=Mwod5oIK?y=& zijGDW4ZE1RWYuV)_umAP7c5kfr9u>5Z1x!nAz(oBdp@3iaCwlxxkXxCS{>`B4ml3yt-7-3aHR z7mHN|_ML;UNutvnq9tc|5H~vO6!H30??6U6FMKHY3LxF1M;DB;>U`D%h6z{GTnGZI zZ!4MMPPFAE5FtdFPLP*g3X@1x;fjIG7GcHqC*zv81%%O2e?9Vs| z5{l=oK^-!410%Ipl17Uv0yq;nz2!Dk^zp3>>{?*IbS5v7mcH`nhYGr{maCI@sgV)v zhneU`)B(M~Te~@4@sbhp=HZT{67pv3-KPW-S~Tmnfe0?9s*u;$c#r=}^UCM@2%$LA z#WKBr7F1CrZhIReDABP96h3U-SXT$fBQTtdYte6UWU5(wO-@>Z)Q*qcdzX!k8jOTG zycH3O1Pq8YPxyGI0CqyMiuBTB!Zi5b=9q&n^9-wO9^>h+;(sX>8zm81^VrvQ!*vM; zOzpqZcxHz@A?Lte&la)mtiWisRFH^fgk8*u}5 zG}ul$hRqv*s2gGtBJVv?APb2a7z|T37kL}~GggHdTap5h`iguCj>WLoDVJ8kpvKzj zO}K)}@N2c;3`I%8H5FRCYe5PP^xnB0)V5T4BdoZ>P{$~H(DSpKw#R-ZB-1;-hJ9c! zaEs1cZTm`zj$8v*+q2&>t?lp2h^9QIWkJZkaE5Zz^p6AXXKg+Tk|wIfJY|T#xtg6h zQl|2K(C`u;oR5@>8H7a14nA8>0p62EsQaThBjUV4_#OpXj_lVZBk*?b1(U;qNwxgp z`QU+Ua5E$GhTv~MYmk$#2^#imd4@a@4Flr(xjM^ zzkR;+W-zhwt#ZbGl$NYmW;j?6Ug-S7k-B*T5bhwXFIp;k9;N|Ldv7ZJV%%_NO0WJi zV|dcB>=R1{f`FiW+)sxsLmCEi)(rmc*z-&BVPx@iGko(`IPJE`g6ZG`mqgrz0;3uo z(f|cQRu~FH4&)yps@icPW8b_DtyLK_+&# zN1$ON{D%_8;ppo^A=2r3$rV!Mjk4}NZ&raTvs*z#=6X@dzNU!)&kjyexSD&#QS8Cob4!m|TA`xE3NxI)iNin~{L*ae(7&*3ix2!?j_c zYyB!`b>Sk>QhnQccgGlwN=0iRw%<8S%vPZ07GkQ&qaWb@SOo zZ4=zh!FsZef2kdm3=6uOR9NBT?-w6+aS6*$lz5qxBy}gQgcW(zI@rSo_P$+Um7ZI5 za&jNnhdvLHSK_;4dAp%o2U8E8g;+xLw1nfA;rgI`n1Ma%d8vc%?}hpaa295(1}ta! z0E(5Z#6y`}vi!Jt%j@&6*WYpJboDd$%;tIIwhdyGOG!(hyX_j9K~;a&RFIbF!a%ZS z(O5c%2`S@s9*qfKEZ2mIa;$zwzpNRZqM1o$2uPD#*vP{xGZJY!B8+{p;A>`aCvIF9 zTWm6)8JXF8-}Urg5tKmpDZhAshdP!y*n~!xKI-4KPN)c@-HtYvEN#BcAMzM^dy2r6 zkI0tJ!f6rMs&q&%zX=(7eSB+KN3h?e^foBgo|2(m#j(TqV>F*2a>6`uD!EBpK*N_k zGUkH6r5d|ADF~3X^DdnZ-q4ss<<9fku$f!??I_uw>LmOdk--h;Jqem(8Eg~{B?7FQ zJ;57yhF9>F8XAJynn}?2JFc7f$$bwGZPY_}EEeL=NU^d`)i@}+eCS=>NnC8wSyMb& zkJfbZqp`We@$ zI+v9y{cT(f^B{n4T-)TOy;SdY|9m_>dc4~1_W692~4a@D(T99NbZVn_q3>tq| zI-KQORTR_Zx!uqr8W^il^$v?x7E?QH--&hUn%bVv9*9*@tv{|jxh6bo;R`P}quU|e zYQU;&3numcGiZS&hK;xb_X}|7=Ia%d+8=c;L}2Z?ddI@*S~ zP(h%&5zL1tS}mc37A?jL`$+dyo;wwOB3hxXT_H@Khv)>3f}iZ-v;aQgJ`cCZP+T5F z2mM)1B#TK}@3nkK)N)V_?rf$!Eze*Tq#zA`hoyHUWodK=k6*pBUb8>H)YpQUk`kZ% zv)8Q$&IWTkBNXoU-4Lnt0JXf{rc`-s= zQFZh;X@@+i5;g6}eaTH)8XTB{0e{=!Yfj;&4$pzytZG&%0RHi!wmB?>XH~tV;D z)xkZS%VE=DaV6v6;?{}b2o>@pmoRx<%nnvN{&3Aq!7`(8E%_RY0>hN19!~5>D)|+4 zUeIC$ZbIEvS40_3rQ)dwSLD@<*|%;hhLBI8RC*MK_`QdgF7*S6?qr^!n&wHD3>hICo^ zFthrmx0Qwaz$3L!A#%l~pu2n{VFq7*%@v*)I^Y8d-?PAFBr66r;^ni}pC>>%uKn88 zQ>Wjs`~4zq=w`g->-BYnp1nv6Ly`TKi?FGGGKIn0PLn<%R#{TeHQg#`md4O~+2Rbj zJfDR|%adP^Paiq>w_*BEG5?*YfB>L3EpG)DF43KjW#rR$plQFU`;>z8h<}P&hdfUZU(jgV$7wE zcM=p(V~FDuZx9^sZw4Rfx&8i<<%gOVy&OB2UoaW6%siu^cf)wWW_U zP-D{-u~Miyg%yZY`1CvFZx^k`-druyPQ3$aL_t52&py<2*4rE6&`=jkr-pHZm^!S9LmOH zFERl#I*bL830O3&5Ka4FAyoO+#arPqi=8e${rE?CDmzrqoF;0cw}!B)8t^_wPDBy^{4hholtedwVV});;KJR z$94WK4}5v;J7|@S)0wK#?zPebQR7qRukn7}&ddL(E5eUoM1XZb^8tdD(1uPy<3PpG zU&Qj)EZZz9+5%8=6r&n~2Wi@I;Mk_5X_xC>dAw-Z!Y{6HF$nH^*`u0pbEAaqatx zX1%~z1@x;%7lEWUdR8Ecg~}K+?XVVzS%fPXK1WjcQDh0VyUd63w_o6|Zo`k5G)eir zpUIMbTxot}ElBXl8J598`e!t}z09DwMewmg{O`~AqEO)XV)q68^g&CPnv)0S8>N03 zJH@oHj+zi*RY5HRx$Q19@B?P3udS4bW_1lD!Jg0gDPF2Wn7lWPZF@~h_G+5Tv$E}@ zgu~}+Kiw-1C%0sB>Mz5*3-BmZ&Pg31@o+P=HWAKcbz8Iw$;0@Rn0?n5-r{%y_D2An3e&E{Lm3pjdoqA9rDQUD z9NW-tTU}Rc{U+M%?NDo20gp+n99e_PDhFQZVo#aA9S=eZF;msvYd@ieHaLEi>#RP@ zZ~S&8`&4sAKZont3mc|n2MC9=Pv!Jc5{^|hdQQXeq?Bx^i^NB8EkAP%!?sfusJv1* zY(vJDgG|5fn9TN8zcHlU4Y-sWf{^wWP4lL}HtDb(wW4uom(+^e?s^t0oVdR5_~x^E{u z?X&oJc)_}dqW=|SdgMmZb@5zJ-rwt4E{S1;kt|-rM(Vj(ctEq5&8eahjCaKG0dGwNi`S=?l( zyjWTrq?<}{INu38+>jVX`lzOA!w?Qgbg;?HQ=nFh)!U04H&4N3Pu!}DsV*o~8cj^^ z5Z~NsBj$EJ>B(Du$Hu+Qf3|KY*J9)U2185;v$^OGB_h>8PyVsRjZo)P^;VOQdMc6W z^_gDGgqr@)(f9$ZAPowJ3iMAINZ?ocw?F@JBKWSw?43-VU6f3nElpevZJhO$g_Y;?#7A$H!1 zyCTq#2;FX3pje9^#DtawO1eKfD=rGKgR*GfPuXccdlT*^ZT;YCc`ALlAvua&WgC(m z9_qj-agOn(D0(2%&|6-!2f#Ue{U!{j?J{AL(=}iFK3qNSGUg%D4$NDU5&JBd3(jUv zfV<=PgbwohnXi*h-q2^0@KR1+>%>mXA_cYE784308JfUkr9dns6`>7B&<$xep9EBi zES~e8VP0;KDWN3_O8(-9zyU)R!i$R*Q-iRAMQM%sOF>jYrG$AvGtnRWK4bj%$doq5 zE0X1qGD0Zv<5+5wWlgHay(soTY1zQr7$7 zdy0->=?WCl2{t+)!$Qg`e8|-EXW8}3^EG`t?erF~{(0w|vDN(aof=TT%>M{roPkdO z@XO=#pLjZK)Rnus>!xq9-0c3iVe`*kzU!nfyGr{2O9(8RUVm)fxLUVuw`n=-&bv3} z4!_*Snb+-rF>Oy?OlQpngQ^aivD zEKo*OEgM96GHLQa$kn=!qG`QV=2|+0xj+(mU;NL?xFIZ$b+{oW+`mzAWid$|Dm;o_98L zHdk1dO#>o>fd1Ur!2C%xYb(VE6R5;h_$D6K359y&HcHa)2iJH;Mw|g_-TIijN z07}i5&X|t?-WE}iBNB45>dhFX$}o683zn3#Jayxhgn$a#`e(7*#nk){+lN!T1^$1VOCS^e*gjX zsR99!|L<=rCtHVqW6A7wD|~MBkSoX|+2|QA32CoP1LQD9QpegH-t(5cIfOT>ih@`2 zctmvChcegSN?+S~J>8!kAMbDDHOG1M^4ni8>&M$Y`nlcRAMY=ZaQ?opfR~ZHv@-r4 zJ%0XNzpvw${loF~Cwl%oet!L}JiYDDkD8~vo*of@FaOW0m*uplz}2 z-M96(@sVSU_nX&?>ASc%iiWc-rsetL^_sY{xE6w%?cC1@Bd6rthKD|*R%~OMsAi}0 zLmIi?jy{vCVs)71!~Sj-}Wm8^+DqF3M6diQGml2~qr$O8e(4 zvm3)(SwpK=CayFxY{{dD z?yQeOA7*qDpsPjV839J_ra`=EEnAj|SO$3!Xo@-}9(bKi8~3c^2U>35)`ZyE_&#ul zj#(037YpM-t1P~7Sli*T_EAQf$Y>gibqTjVH@DFluW4Odh#$nlKV-zRf~&>J*uy7|7b?<_4ieAtW!(7w*@3~ht6RM9SQ|Iq6iIiYhdgU;8FH|XNGO;js z+ukg}h=koH8hR6q<~Fi`Dvm_Ma1b|aaMO*B|q4Y0zA#@WfyRcQ56 z)Yu|oY-)5oe~)zS#%9*CQ*62S|Cm^zVD)KgQDLo$>~B-d0n5sh2?JI!DwvH;$0mqh z+^yL#o1{yZ%7|XfXDOLlF7fQws9dDQ-DP?R-N$A$&o^;olcdSvUk+fqSxo6OI8fCN z(AMl|aya$7u*^jv?TV}|lX8#$pkUy97?d45j1ThuF7b34@06Vg3qAt;nO~Yz1Bm8{ z$R+FHaC38QqF}A{M3f z3`1C!%GuaA6BEYK`kX&Fo0uJfwPa??QD~cl9A3`3#4->b+Rdy}`6J}K%y_#xabn?O zvq)Qx?FikhTz%f0Ft`*eCP8qL&r&^tuki!vMGAC&G`i#*xbu^$s93vpEhs zxHXpGzOr;EI^VlEW(b*jkA6@y;ft2C&rBL<(~0OhH^1ulWFNM zL^!X#=`7DOoQ+!)(lwp`Q_K4(LZXYos{J&;0}}IbK(FIISpR6n`m!|&Yizbw0gVTj?fi0y`_=*@^y2J@A|e#F%rHa*s}i9Ew# z8&vU~IC_G0+X!mRqN_)^Y}}WtUTGU zoj(+JCJsU5N!@*vXDTy#TDD!3ZHea<%O4ZZfOOjGoG$3}Q)7kcSgG>#a^;L8{`e>C zBHBf$aB7*|ouY#Ks1w)i)lkF9d*NWr@Yp;pQ}MQqv-k0cr2E*d0Q2b~M8|F-5eT_k zWbS2BPAWO}bgwJuj%9=Fmj0>TcRp?%u>_=MV+~`;VQr*MM(L5jH68Je-L#9CkfDbu z9KTg6N8=Gu|B?=~rkQ@bt^TuItVhg!m>z%uyH3LM$6%ZB+{P`sr+?eY%+W*b{y-jUxE~I~xM=D4&FONQd95Vq>AW=q4ZA-?Jq%gD^3v= z0Wa4`e<%!od;)A8$L7<6${lk&U|M+ z(?a0j%Q0;mvk5$>Qzu)vY~MK$RC?Suv+j(;cXj4jPmeZumU!Wa2C@v*Kf}NA!{5Vw zz}96ydgRKJA*4V?QJ#}f&X-M)K@j(W)WR2tpFwWBT~gsX>aaJzRkb$=+_@XnBOSv6!)+212; z8$VXs|-vqZ|fSR25K0e)@;gDnQ&b-mx6c#~Z=-dAayJ_y(u4&ROsemfnZp#N;g^O8TA1Dqeb-l2_6nAGg$-Go)Q8&SCu#edha`<}O2i0$WGN97JI(;?Lz#M956 zm<{`(*O8A^bkz`H)tzfpEusi+C-nfXxrstrk&{eo+vqhF8yH=C(LTN&M4=uSINgKn z57g2qg3p8q#w!oZYQaIc4Cke`@`)#P3=G>xM>B0~Q9tQWtbHG>NdhrHc}@cH#LH+p z+O>A4s=d&9%r@<7u<9RCaaU_}OC+GdnpZwXBSj~j9(aI>gkeoWT}_cJkH2GWUP7Q_ zmJkicozDv_E|#|;GL+TjlljH>C`=QlP zMs!Lw)j0*dg^Ml=Anh&fUd;sVvcp3bIPF2`aZ!EmmIv-CAMYHPuCPLB(+mXrGICt* zzv%K;^}HJkjonUQurrq$hE({YaD=~l`}p{?#Rg7xqFwQi_DXe6jC*Lo_Vn*V`0l0| z9t&G;@ zPsRc>lw2&nkIck(VF^)ohKYlTE5pTn5NkX=Ya{ebM=>~pqlmPp@)xHVK}N>{H^*_r zpxKzuiVdrb62ASlw<+(D%4dge_mNTCUXooquaaKYx*zv>daeLR_4|zvb1AVizg&C$ zQ6v}l`&V1Dk9QVO-NhJW)8i+|&#%AZUqJt3!@H#0Q0w6S!tGC7>puJ7EBPI_v1itfsrA=#R0Sq zVW!FfLOqla0EFPbMYhDr3i z^1a;E%Qj70BB*bq$uHPel?bn3G4O$FYPL}68C^X=;8z%`|%twj3FeaC44I(#?$xer52WS3mNSNhXqh|30)l!*Kp5D5OKn z@6+F)pd$hSQT;2bQTbIC}rEazsB$%TF*L9WIM~f=3p6*SEB}*8GU`fjgbhE<0tp;0(v^etzBM{_UL&Uu>wNSf_>-VFU1K zGwVurP2rCcAx@AWMg9oBlmxpo|Mq1**@yh^QTd0L8bVF&1HX-wkWl|}f|&l{`F|tb z7}YELBmqpm`NhSO%DZEX7(r`ebF;L}HJKi~WH%9*A38~s^anPEiKq+$`$q)!ogK|P zim|I9s9WB-Po7&(e&1$M+uPQI^5FNDZH+H?_H7rRxb6+me2B-M#9rEGaAL$@aIA!t z>s|0((f~n$Q03df-W4BPBH3RKLOZ|&I-pqrMz`pR?o3Ph=%HYbWsFKA4y7dC{-vA} zT_U#k11ad$Vd~>5T05xTpK~ckiYG72m6&CIsE?$vp2gY1KYmIyW!G8C60Kzw+-Qak z@MQl!QW0HRgmB6i>6>1WMRvall}`n>HPLb?+*%geMA%fvt)K#w>IifmAciS>oJOon%dp4r+VRo8XStAg$qKcM-Q(aMpn_cqFx6u2ekL za-5MBgrxI{y-k10NfpDF)?|gnyJO|~&`hQvsI{MeDQWlIcoVMxod9&XaA(EoH&xG< zBx-hNEkWdGcFIF4`B_*lM(`&ae+b2(4^D0jWcHNzc-4Mxek3!R9`aWqpP`gllqjg` zxF;d8Rn`zbK?wfxrIu7tDXrugAqCEewbvrr0ibtUonkhikW$K@c;Gf!Ti+ z|5Vo^g8zvF6-F`QKQG6h-^ag@XUzZb;D5?9lYc4Cfd4N6MQCoLXtd*6%JCm z%m3{O|HkE;$U35X4XbonrKIK6w5%rUmh6e8@uf6T zX=ps*ziYqxwg&lo8+5_?27;dHe~TmJ>eS{lTS{Bo=+4Y@#e3d$UuCiTkPGht)k@|0 zz#71r2}?%rH%a=j-Solqs)ncJL&a;vkipLMfnm9w$iM+?q-+A<=Lx&<>So%fBsw!MnvXi3!mR4Dp7~xGeR>hAy3(;ltcc#nVX5dc$$f%mJ z*oo9rGF=nAfxdanIl}KRH>n7$JWP~)ON3t(juuKm3T603=XGO#}UDE155*ED6@|j=c>g7fEsX({wU9bAQea(NA*HII<^~K8f2Htz3 z+*xR?4clWSp;mAVE@wW2bN|P-qeJ>VK=LAYyGgg%DHBRRe!o9jnl7E}kB<1b!Efm~ zGF3Lyu2?pk7I~W0OUT&ejPpBfP7^H+dPMqbOY@YyX54k*=l1j%kLcb*3epKML- zgH0SE;JZ2)aSmK4j<)N8D6m?Cb8D$b+<0M^l;I5nijo38A)FPp9n3r&ejfdM^X>?8 zshcSl_+8BN&nW**-v1EaiOgCmk{qwNjhyHB9^k!P#_kDv!Mv+bCDU;0PTGk@3rKZ+;|ov@*cq>HKT zx2RXJ@N~8`HnjOKk-sbp6F`UaSqc{6uu`|V-vsVBMje#+Dl2f4ft4$?m*fjy_1 z@ckXo>b(4aeHiokR+Wy%Pd%dl1MGkF=>G?>RXiR3T|-&sh3{v81vdZ4rmY35XUsj-e32A(bYLK5Ykpy(qRx2Av388M+;+oC{MVW? zV&z;D@ZBl@2qvKo%o5WB>u$n9w}tBkIfQuk-%+GMH(*HYHMNDeP6k{{yCfiz8vZ$~ z%6388by!vx!JZoYN2_L#pX6&|{dna2h3WNV`@ffup@1wai4-SlOJvl3^Z~WH|5fC&{*OAeNo0$v z@C)+h`${`cOx)}@RDNDGDeZ_jl|Gj8_vkK6|`)5+2Q?(wAI{FIMp zz!|&P8vV~=_iQ}a@edKXreDrI|0jkG<=?OGx=751-B*ey5Y?P>}5ZwDE(Uy?-N0ZQOnF{gkvM z7U15$`}U1)yGRLgNblWKGA~IPOuX;Pa1lO{2!ALVD}DxLxIJ3%sl@v!n#pf|w@7}p zS$;$Qj8jp1_1&{g#t_p{=kn8-E8zUCTi$di_HA0xVTs}4Kvb=(sH-{k{JrT~q0yC5 zZLxBHjRQ8(jg#_WV|n|3EzJK1@0Kmp5(fNmVgGqF|I1v<`hU%}&as;?{`|j0WAgNV z?Ij@^5jh$9yWn991PSJH@OF6z#A@!+o2r`}O@4v(${OMRwnu`Ov(du(O$||(N-k$f z`E{>3Lf`i1UJ>8RDis5Y0|hXw?s(Pkx|q>6NK%(#c?^HY<)J7_&Gh`vp5j(-fZje) z`YBXXYChKF!k2X+w|u_!KLYhXuhuy)2mnV02#8r7^nX*T{_7h4Yc{{&(Tv1daV9Ze zK^zj5&qZt{=u2gm{;}x9<#mxT7q%2pq|ul-3_j3cfVl|moWKjq%rgmI)5eg|dhsLV ze=`KLLuL()cq$O_4QCJbgQ(gk6y3`=&q9?sM>SJy>k`^ySFol+)#+Yd-u{8hTSmz@YnxG?HU{eAz{>}mG(+|dY&b2 z0C7t~$^-X1Wz_Kx69F>gAC#8HaIfG0>nzbn_#vBDYpwj59keug;O0I9=bjK+Vlz$FVzr6IxWr6 zf$#&3+$fVR71l0TEP9O5oE$op3bRDL7=lD4Kk=1FN!cWh6S7JrR~uKe5Kow6iZm6A z(*6Nc-vB7$j~7@p)!(7r9#QF3^KDWBfE;fq@|V0045c)38ppdd4@h# zDv%jKPoO!@13MbzCuv>`*d@-p2tEst6lT|!oaueTM9uj~$?5ICW0HnOug_z^$AT{3 zC7tgRU(elPPS>l)QvjdWHCK^kgk1W_3hz^Y46l9T?VIg~x%b;3Nzg*lwolo6z_qsf zXF$)}ZA6J@Fp>esB$zn+SjZ9x1trEO=1l&n+!2jam>B(_ETyqwnWqNZl_T z!JNX3h)67fjj3CDktL{HuZzejiA1s<+9(wzS~#hgPoq^R(4(gzn7(G_LgTe{QJT^G z0}wc)zk=sU)q5%N9jFY-N)ajQS5b)5&5zT=;wACJGi3hk`vvAuzwp(ufyv@#^_Gzj z3py&Wk?h!0&np`nf6FIsiFmCHm<|{nix*B$r<78bK`LU8eG_0Wq@-7kEQ z_?>=u@1P2l^)6|4C8 zgT8`m#__l2SKdO<^kjh{zVY|R>_EsX{ahgW33AAXuvqL`iJ&ly@hb==cA;`8P&)ZP zH@ISPK%bwa^e>U+L3-jgrSOO$CsOd+x6a=*G};0a4oJOigkH|t7RmZLCYDJ>AOua} z+z7Oh;xUxz;{05A3dDjqzksZem5nXyH_FDnizH-&(kae(FnL5y>L(0BN-yS`9v}WOV={~8;lNRW+Sa1KT4)f>KBZP z!8YhyRf`wx0)(CwAhAKxyx-_I%5QJ~?eU%FVgB~weeHU!d3wq5Eol70-GAl!J=Xc* zqn8FU(dbLNP?6xLy~g5Vj&TrB<{^~>i7+<}(%>C*0PrtgKHwy7iG(!|Og%LsPQ=rQ zQ*Q4{=rz43wJU^I;NPtJE8gLJ*&OL`&AZA9(ac`k^gg)!HT3CM1#fk!Q`_Vz=@z}e zSA3(z&4w}&iQHY%Ku<$0>C>!Iy|hFg2PTrZ^fuMK+BpXVT50C2aQ4^)v0TBR+1`4| zM)A;tgL5kl0Pz~$x2GT0?gBKaQ6<9^(ZpR4)dd6b=tVc7OG{&* znOHxPU^la|F7+`arOdcT3OjzpJjTjM5VpWq%S0aCW3>!^jy!Ni{}NI$IV*sO)!&c19JArVP0FRCyfU1dGyh9G z;`!g3II5o|Z-ffv|g{UX7xf@S-;^bq$7 z3xrxwpx`D7v;5hzSYwa~iv;>ky+a8Zq;!tVifWY695jg%a0nTa)+031U5$}qyvPG* zD02nY>RZrcewg8+89C_`@?+)T3QKfv%j50M)!(0gejJ7dSX$Vg1qsP{Q?Wi0eES?m zToW|c3=BjhIaJG6CDSa$ELt-*2Yr)Q&K71 z)X&emnt}GBffQqqrw%9{1BhwwOdNA-F|WdhV{eban&7-}QYv(Ic1P0N{@taOz_e*F z&4_91`Pjsv+l`|x2VX;K8|llj`O-18g@AXR$8QkhAr1$hrnIoRsgy+;u}3qM!+y#_ zGT1u)#{DHV5NuINOyFGC%HwxJc9t>>6oUaijIu0Y?48ODm~oZHHN0-v>W!ybwh}{K z6fnbKlIH%@F}m-+41}|zY8Gx4hq$@sxAuRoo;^h+i)svWFeQuiOoz&Pe{K1--!?Ph zy>mQ$XRY>!ZyVi!d%K0paKl)w%JJT8+Lr}QuF!79i92i8B*syT*X2W+h{GHAiqN2} zfrWE5zR(volC|gv7Q=E_eUY~+7NKeLEPS=#9C8yea+MpddPgZziUh%Ow-Hxw;uvtp zmIum>c{ByRH^oBTtl$k)NnBc+V2}Jt7{mtu0vUXH*{KTvZP6jqNZmr5L)In!>63yj5nN5raY(zbx0G8obp9tx3+vj7zRHy6>yh@ zcN@PKwy>m;1tAEOWth5#y5I7E%e-HaKtat;&|e^zWDH+&Zgp$d@0=+!)+hK@sHXHs|+eP zr)n}8rb%#!kT1fqPyq-B93v+oqAyU1z>w0B@dM^T6Qrm~Sb*6q#ioC39K4mw6OeSG>?YH6_G z5AEr*Gifo)!oqDILW~=P2^h!fdEPtGRd~UGoy>+r4}`Pm2{rCcGb7S-`o7@jN>r4# zvwif9E^L-bk5JcqZ^=YMMyQPD^b{t>@vPrvzR7V4bwiYUn>LZfK1ifE34RAKM4e17 z!(!H~KIhXZ%SGI#^UhVM6N_eS^~TCtEny2rXmj|C_)}Ek*eZJA0h8zc`sgfT3ez~t-~GSn5Q7!<0YCbB_J?f^Ph^R|%`LiY*8=uvw7yY%F#kp~LK zR>4b0Po)Vl&w&M(rdH+EN)cgP*t;!BGvQ)rE<&VdzYQL+3VJB<6c7#n?q?^sU`=yL zKD0n$NjfxBfVf7lXx!Uf19zNFm}GXT3_1=UTL0fl`D8Zyzx4}ozdawMb;06TW*3;A zNF%Ik8y?zNB0OU3kY;~58L|~UGcxFP;zA@n3cO`*5MR*cEl^+@EF-kFgW_?H)_eWA zl1i_?s%%iodR(@b7Z|%zv^o@y;w2uvgHf=|UnZ(9XLR#g95i~x&ot1(p62_cU19Es z8dBV{u_mTmbuO5;S<22;_6U~4n1M#moO0MQ$ug36YX0Snpw{9Xf@bNmimWVS3Oq9@ z&U@yxSlZ{n?!RkS$s#*$7gsA9`d1r%$gvTlspGVHn(DrV-%qC1KolWNKp<`D{6vgE zlkPq)Eoy|bUQ2uBlie#Q+p^Ho@BVjQuY-IR+wQRv6sUD4ts1M-S6`hZsC$+$CZ|YA zSeS_7y`Upg3@&JLMjt}?zQ6-yPGsfed zy@BoSuEzQUs3O`ABHD#jJ?Yd7O?fU={sjD~b=GTR&3DqiOE6ANJLge#Jz~KHEkPkV z9tOLyH{FZk{j2)C#K@&f2bAQuux|N=X8bqK6Den=^~R&L(l75Pl8%QMq_fdpy=YD# zHl-$#f+m;nYz$pKwB1zmMtdBqwwK4nOH`>JBh?0oJH30rV4?L};7XtRJ?#W+dhtom zi`trqEo5`5nIz?ogesdg) zKR2|ziGm^LnT@0M5kLVXs1hf&6Tx4Fyu5p1CmX;`%2Pk?4JXi}h>WGK{FyEW`gnTA zrg$l_wA;KT0v%nPMXpkL$|{?Q%_@PkVZCJ_8fZaUvYeY`Nb`H~3&1<|GSmyW)+843 ztB4FuxTkPg^w^h5=jutkhT+sNWZ}{{7uF$Exj0px1{9LO4HS@z*x`OLm4vi+_1%Es zMPZ@xJ(l({703+3$ykhxm~^gY#JlvshH;P^1~rC0)yFD0s`o4Rsg<=q@RpqESYEsn zqGUM_jqiiDJ+rg3bLU2Eul_&}*M0v8iXDhXPCxyj1lICp6v>YcIWJ7Xun=%0$lU>f z7sg~4N-s>I+RUWNyXZkh2)`knIUd%1WxI~N!u2>usl1M6D0G)jB~RYk74*LT=#(>? z$fWL?8yOauP4DOce&g~)LU~RoB?OS95D4myVp)N95k?CWVDj-H7Sh9FqXfd+yXC=E%pkO7sptg1xENb9E$4JW0i<}zJ-QK1!y z5uxcmg`^gKP`iRVRcNs8H5GTOwM>0o^^ALpZJ9r;#n2C|oT@M1{;)g|jmtLN`E*pA zZlw3ue?KLqwy8c4FG5mHSFYbMCH{s{Kl6$0LW8S+ zYl!edhv~!Z8i4e~fV2x-A+*}U2$vfk;yod-+JhXJ6~Ujn_RYxlsVb+DoY{22E){hm zF))lktKfL@MpsV1j^R&*Ht>C=(z|OV)uK#N!$hCRcIt98?$8N2jH0JOqcu2j0fi&i zH`71=!L4I_A?Ti`K;>mnrshX;RV`w=E@lX^Yw2oIh<5vNJ8X*hU;WknmVu61F~_v8zN!YQiK{J|jyKto;5?rdaX znu(~apdy4T^J zhZ7UF>g5j2aNgyS6|?dubK;^nI}%dvsl5)eiIux_yP~3%&(nH^6}?{HlSg^z@o55# zBjJXE5dgN~025dmNB{SB7dBhb@+xw_ZvCi$95~iRdE+tw?&YBmj}0{fv#`>NtTa+PHmeA7Sk4uQroGW_6 z%d9`!-2{^>KgHx({u-PZo`yv}U$wtqV7lsq$b#vJ7#p=q#^`17Su`1e!?6%(T^y!| zdm+z0QpWV3nAbrUc5vpnEoMw#^E`7FP!vdXZG-5C99-{HOG7r*L8n=wr`#)RPbgc2Nol{grdKkZ85z%ekE2A6{dJ677-Z1dJfNa)3J0wz*jVlJK()%Tyl@ z)z+5$aVK_h+6b2%65iky>AK32+nrZs>&d2S{|VO{GYcBFxiU=6+h0HHPd7W25s9}a zLXc{=E3*pZb3cLJ?MqPPS zd9@eZc2BF4PGmynIu#wWEUt)*WA#2Jo61=4W{L-#x)>2(FH1+;kbx`r$lzxCdpJ1U z^&WqnH0ge~VEDcqAnN$M&uaR9ZuF`4e9k`*cs)hQecpU-bKP8U_&VJT_4pok&v-pY zKz84Jnj&`IPJ2Rf=xnBb9If!W?idnSSy_eK6EVhcu~xXy)wl=#KY}02s1%VE5t0JS zO(PB-14Teq$2Fqrv)5|se9d#osaVI1Uk2aE%40PY0g2=iziZo1)Xme`d~G+Dd4 zKk5YG5VLq4oFeVD&az&tK^wR+I90Ny%*J}&kA#4rO70l6jx{ist0x?CaP%05q)J|2 zTs2Xo74r%k3tfBWjrD%+xk=hB5!{f@qz~fsB`U^AOAfVT}Lbr(NjZ=Qv3undlm^hXB>&te#3?_I~QC6R{(irv~I14(ztVWBsxf> zF@;2349fjF@H`s%4nLY>dyeuDczZ7WL-QkgdEIg4>!PHFhy8s-x9xRpJjU1BB4T^a z<9#%QNch#pM~nt5kjz)DKR)2v%vu0a;Ih7yD}wtt z>Lv!Kwx$uZ6|q7H6Yf^s5BnsliTIw`TKZ^?YJ7I;fNcc#xX9z6-!|a*_Zzu~j7*~- z+L+>Bli`4a3kME(An{x?a@u@&B1*|g5do#gRX zN!}?73$6pD;!%oK!ZcV1Gbh2!q%Cg_7B9i3m{O+-lZJwyDxJ=NA&`qBcO^^PoDa% zoCkm~L}AP2dN#ZD`K9x}9E9Y>C7j%?+L&X*Z4fr~{lIl6ci6Pt=qCIwueO;+w!|j` z`#ztC5t~oWtzO2p6HJm3w}y_<&e~)vbu}qgYTV6VG-mq0eOTz~#&&1vr8Ej8>_iRJ zV28}4NmnVJ5&{G4XYY~>)7@^e|#Wu^6| z$sJQ(98dnCm|dG9G#-{GY1BV&Io!%Lf5VkQ+eYkV03#6cUjA&J_h0=qC*MHVvC1UI zYDwwGQ+T=3KP~#>EE5yg8x#$PYoE&a5FA-~W=_!S(O)k353h#yZ_pMk&{OqaV@LHB z+P$psCVru?=%ZG2w|R+u|KdVS<;!71tJ7QhzrtCMvn)-EJf*+41skx2vwb z_Zo1;uc>Z*08ks*R7x)mwMaH(fGuzs4qZ!i^A?^5Y`vN-A9353h#1@oS8r7RBSPyI z@Cw(C=tPawPC5?VvFJnuOoL;=p(&fbyA1PiN*oeYw;ZqG1UsH*R#u8U>Lp?^)|_ADqJZ{@H=4WYO4j8oKTX|T`5S;H=k6rZ`lK#QwaBb)pQ@NjV6;=CWj_>0p6e`8lBEPqcsMHsWH@*@Kaic zO)OH4&O11#jJYO?gz1jAPVtU3{Okm!%+oo5zzpXsX?3!NW3H2ytc*#yo^(5_0B4#6 zYILuFRLT=WvKfVLWpn^$k(x8E`W$>$n-*S(QDo^p*uPf5w1a3g&0(RHt_GoMd7dPj zk@IMQO2A?1pVB2WHrjmGHW;?8*Aqk4irWl7nw3?lL`#2iN%^|Gh>9UJYnZWwXYFdU z0W@p+iwY^lMk+s#;QX3)+jxBzgHGt!0V;+-ocJdh5bwuS@40QTL96zN8^zZhu)?Vd zv9&xaT@Xd~O-YD50I zcsM(U3Igqdf(Y*4EESaCjHxfEtL1t9s6e-d33W+2eN=yUM#u}O0oZMCC^o3oUxQ0I z)a75O!aDh1f6OklscJ*7tlnb&h|q%NJ{*P^rb{KMkOjrsn4 z3C_<>P$jCC+xF^QL?0@BVum=u9hPnle&wPhe6tsn*3fR=w0t{NyN!R=an>NW)AKdb zs%vl^%NMH};ajoTib7f=Vaa|zwM^+U6fDoTA4!H5(Xffg-SbSkIXiHOr0w^oPF~&a zAQSOeU-&_}ZT{lvEIP6LDS@SgeevzpJn+09`vO$?+y1Ob(2^_(P{PfMY8s8LQSkS@ z08v$7gBx55OC$;_q|273zoDui@#iP_=((#r50sbE5OM(j&~Mb-ko!M#@MZ`C!ad+n z`4{*+3@X36LO_(d2-m`wFRWN=Cx5I8u!REZYrtWk=WfIO-2?)2K#X?N*l!%wSz0bm zTW$B92mF?G;KI=tQK2+b)Z_zI=e;tm!4krAuY?i-lhMxN$!fiF15rBvTeLWaB{OlI}Fc>-|ZE(8k%hl+W zja7oUfYCM#>PURvpRmgG36+VT)uz_8LE88Z@504d$ovN?K5fZ9lFvbWY1!SvV~LSo zMh!TLF~~vGCh;+vc>Flw>pcE*PgE%V+jh74#L70JrXA}zHiF`v0bP0C4`cI}n}<}x zXcBYAl$(n<{Dx&M|F(9>iC}7}xd{K(Y*IXT3}-{2M_GF;5#i^zLX;fN<;l}7eD!NN z54`!cF6-|L)3xRG^LQ~Yqda{k9)W)Et8j2+jtj#RYw9?0u>QbxB?Ma1cuX1@%tbo& zOgs0r@lh0?i}}B|Ag1q|VwJNQ295OS91HPeQ;kMMEH9Afj6gM1F9b;&uj z=aPRw8QX~~%AMsblGMPge;~>n)-PCw_+>NX%s5OH1Nf*gFn2aSiQkxzbh?~(VHFay zCv|%kcJfx`!w&Xr@l3?k=tlc{7WSS13?-?5^;+`Q3i9xDu0ZaoK})mTFQr3^oe(=97WN<(jrR1vWJqAkhJxl{#_)6RTIJW`m9!|~$+}4M8kOqJ zDo_O$RJTyZ2c7qhLJ(mEdYA-4@_h!D{b$ec4d%h>~nLg#_OrFh6D?DGYl3Uamv%X{aI!=r4$4m&=(&hT0DZJB; z?woDtb227$gFdftOz3kecMFI8h^&#ZE!8rF$@Xb2g18Ye>k%3JiSp|7#FZralxE|A zIq+g|f-<6yi}z_P09(f_HpPc8u)M3turnM>vW|<1jBkTuK3iI>q?JSKzn1r=AjNpK zbrR@yUuI%dEwz3>Y}(;@%UXr>ka;|X{MaI?5s?1}0~Q?pHwL`0{=S>x8#A!O!Q2(C z?6X#1QmS$vfU{wU+fL9llYG7NWDG&0BktjFGbY{zbG%Bu@1{+w@#9*{k$xWW1|sCn zp2UlQ3hFwUmYW*!oN3pb(MeXUVS-UjVCfH{Fj`O6+uUCFZEmpdQlsMH>XWtKx!d^&B-*m!zn_1MpDiRdy23sx51A8UMIRACuHRqz@l61yDu8tL{{VmF*w zmZ6(+WdZDgMp~h>3W-y+zT#rtxG=>u1vI_W5DK`d%Qm*B#k<0JkVG;Vd5cqr;4W0z zKg}#zgt5i4N%*>MoktTjJAtLXMXZ+P8agKyK-vpM4>;7u34b3c?MEPrb&Q;@W3jRn z@SHq676?)Cx~bL4xSfk`uz9&fln)=sbp&t5;cCa|xv;EOweT_=-QAKfz5iLcsZJbe zAuFb)iU#8~-0{%hw5Jyp-){@6z8)xu1U_I zrvxFor%m`Y%d<8iv&h9c^L&ye#n=p)kTSq#Q4d@t;b|9Ob7hmCDnzex_#U5$B37*ANW$BFor&R9SKWK}gdZHAQEu2XuCI8C)N&k_N4)@f6 z4wIu)*K)-z_Y#S|=-Jo|&X-B%nzVG()jMTll9}ffgfNyPHI@ml?gdiaPB_`4_V|6BA+uzaX4*j6 zl_gwn(?&_|Ymhnq)k_1b6^eYC$N%s-Y>l9QP9Mwt6Blc0;#8!=g5}ifbcC7qlLO`C zQ%|@PcS`iwsyk`K8L6l}Ntb-$s&km(g2A+R4|@&=FHgFkTtGG1m_{^Eyu@vgn$2sI2A`PQBg8FyTj_ zyfYAqYjJjX#TAg|DvFTyr1*?SLP0)O1s9w|-Det18WM&3OkH%uqVCk5Ehbbo>186` ztkPy)qN>uYqTrZ$EjeY%d;(XLwC|;A!n*)v^MSfL#o{GKXi_a{NvQ{{2C*x$&8}`v zu>sNymy=ikA(3ub#Ww6>U>+48$V7vsmO_?_v{RltWk-Y=l8l{I2D1V8Zb+-uHpq{) zz!IMw5azkd)A=DuU)8FJX-pC#*d0@^V~}X}d4m~%UJG&BA{$;0GmH8F%=-zkpTi~z z8>I}t>~ITyc<8*cOqc}5LS%APg>tDVBEwM^m)-hV8|;nHGs>Zt$yy1U<1 zVp3780#qE|7fpC~M(!ocgQx;mn!bB4Jlc~%Xi&0VOu2!E>*}Iul)>LglAMp_QuVK{ z3AGE@lhh96_Z;&qBD-kAsnHQ{c8`Pfl)Ybkt$R<4cdP5FBLt(jX+hY+yE!j*Clis& z(Ua(t(^a}q=^tB9W>DnKS0@1PHuq_a)qN=I?x;hp7|^2s58Olf3^-LzMw2m=}?s#fwB6HRjB3-^3yV(ZirWAS5j3p-)Fb{s`d(db^O-84)F&yBo zjTS?}8NbUZ0HpdSj)dU{!VdNkE z&1f_l8s>VL$EE@?J?P}cL!(tu2VsdnPzhmY8vSx6(%X#XM!a!qaO^_Ez(imzV6w(O zmR2QcDFtaLRie-y#m&jeQD*DbArY2IStMXDT@3txiKgS z3HMq=QJO>>fMiB5k=}oYBO_PdI?xEijrv@_J(f`=Q9&6WwP zOc_@c{kZ*%a6#60iF-hlCiWheOHsTL7pw6`7gD?fW)h)OybCWBBc1c4oPEOw7gXz{ z&t@gFv=O&&)(fV3xxq+8^i}_vFnEqq_r=;qT0GC8;G~ z3gL!O@_VEAH{rSHy+DV8>+^!UbZeeHvZ}6HLOkD}7mKT@V(_2XeP`~mo;{4Z_-=Uy zt=~=g7Mi#6?+JqMAqM=m94G?Dek*}c`_ks_$L~~yUjk%WWqZMuD_Q86`Lk6KD+?Z* zJD}L@X4a}ZFi)8R;c&S!ski7XJFduriE;OyVyBw)350BCz)&4^3BMGB))$q}vRpPN z!0f6BWCzrGFgp;FJEEr!OweC@0#RcR&l%*jTw$^vo-WtdG@IDd@K*E-#~%q?T-yUs zRzt3%tX6R^{Ll_0r-c{d%LC_0#ManWN6!#sPu;4S&&{g6Ux(`6fp$N>)`cF#@phl& zN)YLtg3l>(5$r$zx|OsFy!A5K$U`|t;}lA|#Nr%0WgS5L!xC!~7z%CJkk606J$i$# zTi77PvCoXauDWW%_IUC-%2z$0!w_T9KlyZ*jz8Wd&3@K;z;>>dGJ~L+eUE{Y!SWR8 zEAxR%_+-k(CWW5+7gf@LQ`~?fWXd5Na@!i=zlV44!7oT<&n85)3eQkxL3(%2q5P%!t?{|lp;t+SnGS+G&ILJ5IW(IV5(-*~P=9;p**F4c+;8tMFki31ZAJf=uH%rUrKhBI} zbyq_s!~~cve`2wLskrk?6P5{1+_wEzo-ENknFWVf6oWy~xRNO%I#rM_!@Lc`Il!8j z`4&L4n&q+s@=reqVahBdx`+PQc!beEqnmNX(gq$EK<8d^5jcWav{d=u?9!DZk`Io4 z4r@?Vl3r8+Hs7U?{iI`7)!y#n^+!S+|B=}W$e~OGf*F_TTwq8>WBLnZ2JmXyF`+Nf zf1IV!hHb2PRK6y7eS>7i_&cVlgFbeUQItE!b{X(H$CgNRuo22P3p>D2zIl9*yZv+7 zfg#XQA`++4hA91+iZ&H&W#roer(LAyW|Q;OOKIWD>Ocrsq6ddumOCE%Ff3*z$sNyU zO#ysm-cjx*NFhRmk&TZ}ByXe5&CO6r5>3(SoatHIHXtPgdlBZ?p@gSh7C@SuX;+zj z#O}Y-WL+v7V2?v`AhON7J)rb>0yonTC`dk7oo68Ex%(|3EmJI~WC!5&@cLG{bArdu zqh(7BVbR%;#gOyLJ%tDrd9bh1K$75RAomtBhmkx2%%t4=O5aF4&AMQR3UmXJM|Ktl z;a<~XXhMgpJdHKn!eBJ=@mXV*D11Yb*F)5~w9IhV$zE=^85?BK6&Zrbp@lS3pLCGZ zU4Hq=`LCS*guT9QXSw6L>Vd(Kn{mGcL=8i~?<;JpXa5pI36J|Tg-<3L&3g0T!s;X^ zXwI4m5>kNrXEKU*FLyUJI3Tsk3~hqS&(r5^Jbg+0GB`Bj z2ESjVVCtXTejcu@tiC|zK+X+Ri%+@`NdZoG8;`%~?jmb4iW6qQ zd`y={RecQz!U7WE?I`}gky!zBJbc;iX?_%*I))En3}=y*EP*6sETLDSrEerZmtUN9MlAV?&|HebWu{yjLcx(+5$<(o99{oELDkeEw2+|Jo8@7U@> z3gS&L{eV2zlYb3D4SafR5ijd$L?O`U$5RX+I~LmOj%QOT-~qw_DTx3nVmwAh)EUoP zv16OSqTvzv62aij}uGg)+O-oAZ^cYOv06YmfEhiLL8w_NX>zQ+XH1^IOiL5UiMO% z97Zb!Pw7>GZNCBH3`*qs$LXLqp`d{EV@d$SRi|Z}?%qt_3%o6-lq)egqPOrR%6Mct zK!bNHbMv1Ock@?HS4CLd!RR=?rzsgJf>vwg@4|_SDy)tYYLf4Ahjy)V7uT4Q%ddip zk!-BzQl&ph3)(D8%7^8ZSnH6hXfz}~O||un{e+DXv1-4GtI+NHOVB__^#po}>Cg>0 z?SK(*f9q{UjOL8yl#frAXHQ!ln<-^s-4YY`U?4H*d~~`M;04HX`lT(5bTXb1<4gp! z)gl=)0&ttwVse+PpXy|sUv|kb)inwHM44~wm@$QgBB#@_2=Bq`1>MT|p&(uwV4&Br z_wPPczL$5~7vwf#(~HE~c&=uD{;L~WIJG*4UNBkv&Rzy6*^^*pX|}UTz6sV{UfD&t zgamIK3SQ0s(#kj&^elo^i55J7uG$@DodMo{Z=U00mvi&yhqBf&sXeuNBEaD>v+J0Z zx4CwDf3!qaV9U28Q}4TkQ%EdtVvZ`??AtB}sauLCRw2dvMru+iMvCoxwE4uII|!#O zCwtKxItbKr2=zO-kqV`+KdcI|1_n0E&HKKr<)X^Xq8 zPkaZsx|{!;)QoB(XZMmffK0G=>vO4RZF+Ba-%H%%SJl)8J&!yH^o_O~ zm`LDAxspc|ox6djr%|$grrEfXI~63)p=YyV9tD{CL?=DN>LRa09(7>#7|T~(WPGzW zb8db7x8XV4=n_ z$77YGJPkHktMZ?vb+0chA2GIzm6K4}Y`xN11c{h#?-M|UA%6j>M zS{%-=FKO`&Qj^Wo9V3OiW?vnW8%zNxDK^_lplgGZ0yJJwzZ}3t86fv0krpm#IS*Z4 z=d5rp57Ot%CkMro)ewUF69Yc$IsH2}#&PlC6u-8J1v$dd`T)~+6kUBcHT2IzkO$)s zF6@x&u!Ex$z-rIKt|4mp$D+!sQJ>pP#^Y$tykdQ1p{zf47e8{i|7&acD(}X>wr)wy z)7jH;z?)KSK%Qw0N~sYtXD`vd#0;KuXm+mn1c6n=Gm>hWKqq{9RPg{Ji5N#N+%Y76 zkCn00i_T*>I^UO((nBm#uhTb^5+WqjVDv;D4i1h;Ns);W7d3!HAdUbmTGw>I`Z@nnkix((?A&lh*{)bY zQFwi|%qeoLRpGMaLDG|B)^vxGu?8!ue~wsJS8RwJa}I!P&Q??txVFrgj9~9WzfXzJ zWJBdE_B{W4%sJkx$ev~BM!3c4y3b%|r#&56l0BF-r)0d%HCSZ!Cma11Sxdg08H%tI z(=iH5*D*W}#nGZuazh^-iM|ZS=}1Fx4%*8nf9{M>X=X*k88J;e}jzAf^;QUj2;RiwVXA|tm$J0~iRq*m^{ z0G48z)mlrY$)T_J&qWjv#^LqAu9M3{F}x&$*m{8^_@fA%k`~Hc6q-0nL^}8ed+v zbb6FPtKaK2FO!@hC#!nkKr$ZsF%?DmDVit^AZ02jbYVf7q)bBQsr7b&NZi=CZm<$P z)fcjn{)fm^{7`QeEJ4Pg6}3_8K=e*T%fL~YDVT(#LVSvarBd9BE2o&E&2g{K#YN;u zp8t$0LO#p_*&)4aw3NhQ~k80@7&*M>V% zn<#@)f|FdW)9rOS!1u9*@pTy>*ZpJk^>Kdu^}*n~`|tW|iKB7*yD7%^E8+X|si?;5 zn=kuw=ephW>LIvB%+b-}kM?l<)JZB&FxultAb0wj{>~z|#y=hk?`cHO?~A zc^6>&@$#Ajp#D0g>3Pe_q4Iu#OvvyF*fgL*%vGsPVbY*W3p=Vl>pk zo;1-jHIJY zrbRwT4R8B;=|02brJ>qCnYRg|)FoeGZv` z4t2Rkb3hvhLZgft|MD>^O5wSVNDJl3)wN|4I2N!SWYwM}Q4!J`W44uQJ}?;W4;Lnj zsKsR4NhHDtFt(!lt7M6ME;p+sk5v2WRt0YAXdZMlNc$-$?jAiw{%B{*Ud9^bR6XoM3z=~LgpQs(XJ-MsD8rjy!+3$mdRakZ)Fotm~%u9eK(vEcxyQOd^6yq zP0n}0ZFpm-6aUL+QVO{r(KcQ=gzvmcC!?LrMK@&-Q7(J#1&Jywg&;0o{64-C@KN{D z*Fzsc;FXQ^ibNI`L!j`V`ocMm3flH9IuXIe+?naJvw&W&59Hk`)de%1ivV&YWYF|| ztKTdq)J(INGL!qj#|gh#D3fx@KAjTJTSfj2JL9#hC80%@V}p_`{jq6WJJM^^`g_L= zELjgKA5i8z`+Z*-{oBfEn}fg2&6HFNX)C)te-ot|J$dY}@iODJpqfHOKCWKxiPK33 zbC{!R7QB+=&08=bb>~w4i6D&$a0a!?VeSUBL544}~oEy}Iv{4<>-5xh# zq+MJuJLKx_a3ZDq>z2TGH=*Z!Eyec%XZ!U-?E7PV#{1LqyV~nK#^>}n`}M@r_wIH3 zv#aNI%ryIzi2D;N=gSn00a0x>F6bvHAX4JB#Zrx{r2bivQ|_EC2n3%y`B)mFtbSpvD=5 z&hpsNsz)D>$MqpAQ0}KkD1PP8#+)lEJKfaW^PeI1k#M1^aOL%I(73{TmRlGw=0g_8 zmQz!EnFF6IcJD1kJByf#*Xp#%&0+=*g(6q`49EAZ4w;Ke1r%!nJIcu;Y5#lr68=Hz6PUF`GU94`puwRmZaI592Puo#5^c!GgQHySoH} z2Djku?(XjH4#C|$I0X1M=gP^w?|bLG|E$H@yP2MvlCJ8Wn%?#M5w+5I2O#PLZEbUw zqS;DTUbDJ9uNg3HMFRM*ETki#XJlNVri37GX@XXS;hB4aO|SQMs@dbS_o8=;_s>l4 zs{z~BZSS|8laDVad|))*_F)H(IH}>iqfHC8Pc+`%FFo!EqEq?_oiu6Ef)g`8RmW+) z9Y;5elSp+KMs*7ss_4I1L#dk;NfU;pL^{fYj*;jooG5-mN`hN9I#8*NqimkHvSCft z94D(!A&t?Bftsd9o_3Zle<(9SD<&Du$%!t}AdI0?d9mrM2NVTU4i9e8k$2XusUz7Us_jOz>K!4Tt(zBn{4r_F}#w)VmJa1*CFQuX5p zrP7yfyUs-rpq}w=BdaRI#JPj1@pjGdam}NfeiZ*wFwgYyKv-F`h2E<3i?fYoolm-D z4RqXD*p-t$m4=~0{Pl`d6YDX;JUG-XcVRnr_w)5@ekO)5W{9eaNVPuwsXT~sO`WuIhZu{;aZV1SV zC-$R$veErn`U5N;nlE>oarfb>1lur#)Iu7BfZyJz1gD_QNlYaV_KTMLHzkGzrF@=% zS!Y1}bajcW(vQ`x>64-kSDA*EM<_AMk{8jbz)Ji>fcsdwcVKnQLLC^r{j0!i8zZ9| z&VYI822$S~2uY6NZc!=8fEr9~@vAEbf0Q)ZK8!WZwYB78+da|Phk1;A3-N?mSnV&_ z)Fqgn{PpuBay$xJ)fKubz9$IP)85 z%YGV&h9g`a6?2*fsS<^iRF5hJrE4LfAWTW?Y-6wTaOqqA;0P-o%{+Zgl2bB`QH<+Uk`aagM$wxV$(lpb-Q6|a5xx{YYo%5xJr0~;8 z`hUQU2afGd4O{ru2RV&OVWiWj?19lT<1nG@LxntPryM}xatWiM;1WpO;`#^{O1Swd zGbS75ZWPzh4Cqz{tfv?_mE@Kx0qc0sa;>$5hRLYb!xolu970V5A&bQ;oltRe(GDOb zSshZ*aS4}@MI|3CC@blhkR7_z#I1W32A>DZ5zd3TnWPvO5Lu*=6_74@OIMHGWcl5L zz0mbD&H5p<$o-n;9%qUbRVCE;o?EUSm8|2`5~J59dG#woFlZ19WoV3L@&a|5QwM_C zQCXs@B1c)#ymaOo4PBK&6meElj5IU1ZlGX0{fkQ7HsG zigaiVlM>?s_lZafgBTRN;&T^nuDzZkD(;pNRBvgTwU-FN!Wfc5dxbWQ(OgCT$+o5! z8J{Sy!x{ybm?Wcl3To#z7V&K7$V)NG zH<}NFNmOFTbQHB+LRT)7c)Cwn=S%DR)XgzUC1RZ8l`0p09xBmxuUnR=T5>wIh{b_9 z`YTDI;inVzZ-7eN!VURV#ONiG%rg_<;~@!ZO-%?V9wT*s7PZ^p?pDuLvNXWus!!RR zb4i&jy*wmI)~ZW4&S~CB&m(0}lyzA%*Xo=_PBWKvUb8>w6UrHEQlmt1D>&G#O3>3L zop&RPlu?dVE6P`&yh$sMr&~Ua=hLJfhTeB6USQ^QO35Qn+5nuJTSeo87P-cJhB{3t zozp?x1V!Ju%yDE_xA>HXsQI0CZ!>^o9?dhL^%G-#VvH-JB%@LyWfGE|%G7|`2RK1X zU9MQPCdPq5xh9f+{^n9sAyyyc`-WS)3*ngM9SNPdcrb`Zgb{~O`J7)>sGxXCeusjE z;Y_eoB&**ddAm3q!{-Ecr2XQB+&;TG<9mUW1vA=oa8oNgCu5MPH21?QqZ!gHxB*g@yJ}Ffue^t zbacw^s?D;ikAh)4#mqG{q;i8F5Ss#{m}Z$OwOpIFV_>qCIgd;o`Qe}De|sXzj&P3< zIbeO*k$bM^aWj#(;x*_0Bl_#y86vq!E$D`mlOcmI4R-8S)&2UDcpq%O?)KY@uiAB}y!5S2_4WHc_N#a|*)#{7YEgM5grwjn*8SssRN3|vsMtZUyFWPU z9G3Cx8rl3oUTXQhSlZ+FxT*vxHZMT13>>KWs8uM`5Mg&Mz?ZaGL?ThOvrC|r<4qs8w zYWl~U`=pT-G?RI{sHajRqZ%i6Kr)Ya^^GGVk~HRei{M8^1{lVzu)WmF5wmz+S8J-0?A9?wBYi4oq;HNVmtrDO*Pxe4$?E z;0_OgXdPa96`V^wzE2<>S>9;XGyzXENPCteK+j1hJQ9`pNz|j+&ehJcR?ZaqjDmm* zFZaUo;ls_!DIuCLGzHHUjbak()aRrpRS&R!w-`d%io{V-QNa2KFwE{Mhn1D1b=+^w zUcwSATZ6QBUQh<3*WgVqJzBPYfiF;m6PaPZ zrE9eXM%5~^Le9P${$L9T!-`h7LKws!OHh#nXi|Y_;b@i_-PWLrXE9ZikJ-L}ul) z{#apUkXeGRZcxzav=(N^1~g&w4rz7TuWidINQTkb z{I2^}tqgxI+iWG5c0iGCM`v;F$5a1<+MRJza*|9uS>7~5Jvf;Ak5<4}ax;@R{&Ke6 zr;4C)pA;!vK;rOCdoY8SN%Gzefa*9v{ul+a|@RVUr)Gv`!x zUTIIsx35rAxX=_45_x%&XcPm(q48B~#~*uxAv;kpQx+ic1YK8;rQw|1JhU!RAwe-k z19v9!Y$MipW>+oB9%t>8F89%w&dOY*Em?4|c6uw8U~y*8C~#TA8J{FXZUJ|5Idu@0 zi}l!R5pu>AJ*zYBSiPz;#)nIW`Ib?N2Z;5%ktNew0hW6r$Mr3 zFprvaNxm#^P`6q5DGRVeqKCbEO$OLHk7t-U(l6zwWP+|*UdD|{vlHXfcZPa;I4xsi zRMixRgEcItwsPrylUO(f(t{%(u@JL%YM2lYnVk&CT|qTb4;|x7tslNNe>3QQgGPY2 z{&tCRTzf`~J4muDb*e^E?~W}Ccdc+$EbF+R6MQF%gU0)O$d`2Ar&8@v#M z+X*v&IWAn|N53d;TsX*;ft}=+-fSP!PufeMRj1v&_+KEjpIBHvHcGpKnM2l$vWOJw zKwu(fS$DAC#4R3XAh<(7v7!$KU(S}3eR$yhv`z)ayRh;x>BRX{#NHx;!wAg4}`gK#Ox@6)z z7g{ae1}L$%PE>8a0{lSJWWzUaNjr;My`gi`(dg>Vr9r(i9alAf(l9U!ZO$^v$WXde z%WSBK?dmpjmPC$^9iT8}mxrlf-51%5Q26z`{1S{pmE9dF-i}X@9&ABWF7MbfzS^%7 zS(yu*T;%5#1Phb}zeY3MG(2orV^cdA5PJ~sHriEJQxK_vfFbct*vXz)6uG{#m;v9f zGfV;KsB0-npdZE==nrq#Q6j>5D=2aB9?-{XZO}wvDO>AV^Cz&$%d;69d$dZ_>u<5+ zNpkP^RgxcAO2%xC1{YLmYb&(i9ch5<8#m5A3W8&OxyB?fg*!cTJn11!QAUGz1k1d6 zBgRB3P>O`^$p8zVLAoK)nwGmI`I&{MzhO{>KeoOQq%4)C0j#0A=L^_YTI39$!weP+ z!3yP*^0}P%lMbB-1O$Yqipl^Fp7zXr#{CalzWUIw0}XWhJSYW83iEU*vN!%{!J0C;$$sWpr%788sITGqjf4*T`zZvdnvARwnQ4<4I8>$(Y*5-J?) z;pQiR0}5B_0RiCxy8N#dARX;o&sHUERz*+)^kZ)I?9mBuezq{RSPrqpaM%u3^Mn>A zo0dppid`pnj2mV-cM((4KPqDo@QwuTW}bqyP<*yYDF`{p^*i#|y+%smaz36bzLq_h z+*toHn@XRtyJ(woF)4Ep>CKI!(^+k5dhz`0k3NcpGU;5-uP0ZguY7j+2ob;dN+X_m zFE*Yi-&&6luHCCryE_v+$RuoM%UUQRrE+7o@@=N z{DAgjfQe;*b=N0^oLNlv-nbEp*cF=S5pIHE&#oLL*3>75>!Fb9p*al*z#VGbsO-4# zEC)#Zaq<^}AkVRUB;-fu<5kuUTd#(TMLLroy#PL+*L7{~UMfEIKu_5DP_JfPh_0c3 zVd#QF8LJ8cN0_?zJ7m1Ubc5pw#21Xr9-K1#pG}s@`;0JvqTn!^df=a4zINPeo$7r< zB1_Uo1cAr|_(|KOnd|CxhC z_sM=F8M{DOtu2U`*S1x6y5Dqgf%up5zcVvl+J3MNMb6O+USa3w<*jqZgYgMd&mZ~^ z9lLHk%L0ZSK=ZHH!;{M|+$+I&3{#E->i-H0MQ7q*XvV z15_>pbZr#|x&wiy_v_hs2VdtG5^@K0x*p{wXwMCABkEKC&zJ$?NdfIuQJ_bY=I0@} z!y#z_VRmRX0=gTb4LvfL{_;uw>OWv%Iiot(J6o3)AM1Y`RnPxDs#@KNL>-7sw}`X? zQl}R0qsyyMAoNkm^wIBn1Q7BnUEX+FP&i{yIAJlis8;l!i{t*vc!udu$Wcc2^hpwj$Gx&DZPdh5F zDkdzSTRGp9mOsvRI?kD=U_G;Z`NIz>oV_({UcoERc`zq zYyg(WUqgA1RZU%JHdBkx6@zwofv+zYCv)9#$!|j8Q2q;k z-aE3l<5tkidJAS|(*nyeE+!A?KXWKKXijxCQL;9@eLu{+6*zp2O*2r>?5{c!SEjZLKdkR z@6!Sp3pB03=oAPGB%UJp!LO)gjtf=!1UZ$Wh}g~xqYSuOdAb}K=@w$`W@r=i4x6n# z^u@*PYxQNipo28UuUUcjIDUBzccF@spF9Uq+yq_~>&d1a}`V~*r4ABD4VKPl)|gGo{}CsB)=cFPK)3qvtg{&(4)-U(Up|A9EP3y{3mj|(?JLX`eu>O zkg%fEWit5DC__r|l^M0C*KMKoO?79=X_G!G9+*>PDZ2Sm$dWFs%#-KrKY%Hm-BM$7H+4Hv&}OWqX&KJG3o8)G*rjcd2_0Xq-8H2zU7qo z)^sLt>;~8DlxMQo=EO<^B^n2OGUM}paZoUy{+G#I+Drq7UcxqbmaboZtF`<-+>#ok zKyUzMZQtu&v;W_Ro1DIbv5nLF*!ySoius84 z3s0#0^5tXpGJ&dxDUQ$y3VTeL{1J)VKE1f|mLYFXQma6v5q<@w;Bt796eiB`VkML` zl+MeM)-2Ed+Ofcpes_tnkSFd?G%W2qn`z~(A1mvc4y&J5+bdBe4Qh&yIri5@F}w}( zHKfK=#4Ni~70>vm{iVe7C9o~<=cGHIDy-@?%2i6|Ej&9D8+EstKfZyCP3Zns;rU(P z2)Xyl=Ai%3_y2=?|GUbynj~T_D;y0?K)RqC zKp#PLf$6`=`XqLlb~Sb-cG-4SHa0r*0j&dl1my$OU47lKH=V>>flS{CV4)p`#5r2$ zE>%9^`RHOkE5VaqS1yfxAh&xu=e~uS$Vkn1-lCZMNVel976udE5M33|EV!cX$a8Lu zP-~Jt;Y2dF%F;(JojwzvKg=)eF1f1}*B zG1g~UiC4rT`;D~SElEBtL~AxZr(WVDjiQ>*bKbUAizH+zb6$sA0!X`?WN3L% zL8MN^&**H7(#2XX-d3du19T_?;f1U22Y3%4mWEUi!hfH=AZiRZvb>WKdSD@yqs$=chm0kG`#jcM0`H?* z8-P9}T6NW-7KqTUV8f|Gjo5@p)2Q+Qhu!{IZxg6RW0cG)LF-AC7TX(tk`Xtattz^d z9ibkAI=)?x>y%k5gTo`X?@#_PvtBI*fhLgHFH@9)xmZ_z`LZXF9HPt}j!^45>MYSZ z(KNu@1Xl!+prFY=uO_ZQg1v)I5wf;U7EryGH_t#ApyUYq(AwbBn1h~nrDtlqLTCvq zW2QWu&!(XXK_xQMriQ>;9oCmb%MENhSqteC(tn6)($AX#ZELjc>XSa@D+!H*RJRyY zhF0o+EAVjuL`RChE&$H@TLExGeLcNR;D3Qf5y%(}8HgE+nNa9of`u|N zKmlF7y?y780S#u{3;6aUnGk7=9(ZJz$)7=q2^C1aA5Ml}h2n#N5)AIRnlR5|dT->y18oXCgqt;wjqsQ##ts4=;o&Ed_S zuC9TeKID-PFk5!T)t6ulBuuEl%DceI|KNU!K^&bg%ZN_yn~yOtpq>^1<(&0GZe!Ji zX-faFp;t2f^M)6Tt>KaQwc0iy;g!2Wrar{UN6IQpNW)mjqTEf&$Ii$+2~<>mC#(PU zetYy)x@6d~Uzd)>NM)AhAQShbW5RpT$*XWu@!>^5a^yO!22BfD5;;s!vhJJP!yDR1 zONyT^W~>Sn;q6yJ<&NvL;el_>9qATck!)lIiw=RHtf&|yWQ7(W%DMreB^xX3TQAKQ;*UMx>#*9_Th4EaH6GDwS?pZG;eQo3uc z26gG4zrP5Po6s8xvB%Rl)fLgyBkxN862@ZHVCGj+5fK?_~MjSO$yAkLb<2@oT$p z%qWSEUw&U*O{?Zsrb&@}bb^R4Hy`3K;j%TKEFlg(zvre1_*U%#uz{C?q*!$k~|E>!g`gckGKLau{hkA$DyB4o+fL3``k2cAvJZbo`zZJP{Qe;Zz1IRkrfi)deFIar2@&qo4=69I4FZ%Qv@b7dDNp`V_xc#b)J6~eA1 z!(tRadwG@raHu^hsd|n>HwD#2@Ug}83KRhulWrl%EK74AsyJx1bot(=*nIHZkaYl+ zk=57cq^83FZgFU=r}it9eAN4#zVTMN)`~BCFaT;QCTDJYt_|6a$%h0fO8TgHHfP0q z<2rq{-Pke2;Znc>0GM_8Qq;)LafxRw=(Z z)ohdgRrZ6?q&A}e#@kk#=J$#Ob^;_!F-{np5OLw;VSXA_1&;44RL(V!u%gTor!)W1SbZSSpbdM0&e_DQu7S{n7xzrw`0j*xpBmx^|J9G@ZRN$Mj9$ zo{OGl#|H&s2vN2ne|4*~7LYMnlpQH|;q^Co=q9dhBKdfD)rSkd(U)^NN93GU;n5m8 zS*Real`1@`-mu=%hQwo9)x39*mxu0SP(h{mbjNl=Q-~GzGlQP9;hafi3pFM)Gd4~a zmPz7*3^|>2Lje? z6U^nI>-zyK?iPe?(sw`j(`-Ndv40(>nKc`Suz%*>-hoPZ&3{4q0|fXR&=|J&XEg<5 zE5Ku#kg=naxsAS)xvkB=VM`D|3E{xxREE`O)IqG!TfsmRHTKRQ(T@~FLid%4Ekn)m z1fU8pYuc|lyDD)h_gP#FN9sAmPt)g8<$rRQvy=@tmju>DQ$urS%_)#WFX6LX|@4gokl-F6-?M_-n%A^ubE zPXr;=|6=hS|LX5q{1f!%)1T~p0~Eqb9Uu7L+1uwDU!uZ*)~DRpl8&pDRI@fLI{81a z$1Qfv9Ry(OU4wstU&BWCpZGQHFrbW3ke9e;wN5B=NkW5KygF2?t@jn$EzUHk-UP2m zkg9@ETj=W*9qG=9=c+2j!~j?bmM`E~>fJD3s)q8Ei6pWO)$3A7&KatNqd1XRw*1%4 z9Cm_H&(u7V7KC6{pTIt!XZ664UN=uEOs7QJV!VU!yd&{ELq;wRc6v%x`~v$=MOWSD zI=%ya{tY}Q+n;zei_P#rgdf1VyNMb``2af)cLY6SiBmhbD9jH3>uZ-7p`f4$UV`)#RZ9jOfq{25aOF}pph>B{d%95rc0 zJxO$w^Uh)=Gg|KQGsR zNtb*77S-PUhi726Llgd{}@bP2Hc0sU?c%c{zrnZ=pR5S zCMLRmTYQ1cZU4UZDrE##MrAZ&$^*5>7mAV$4;Tk8%Ev4Kr|3fNksFo+LItyL!u4Sy z)w33d%jZWIqXk6-rB(%!WB6EB0Y#Ap9j#}iZ)^w7by(>oKF!oSbpPds#Zb7_Bd1_a{eRrIX9#FPTQ#VfbDI-!Qf}! zwU@WIx6Vc536_EZ@5{`*s_E^gPd=%K5ZX?%%RjAyLU&Ti13odWhn(m!L!A;Oo6DAd z88Uv5K1eV7u{Wj=Y%|42J>B*l(X@@c-n-?9_4x`u4MLnI-TtB@qCzlCB-!_JI@I_O zf>ZLTt|>|Deo0a9dZ)J*zf90ej)wjoy8dQj`L_xF0Uibb5bbs;ddcTWt!AT- zVnH&|^S+Z%SX<*+OSB$)Q322c`W8E9@$_4~e1A3=A73R^2H5&rXtzYLgf!YoqF}zgg$BxkA?3@`kyZS6^P=aXz?S zRE*fOGi~TObkAIwYPqJ(V98!eQ4PL0$cqrf-gb|A>Jm`iaI>Z!Gvzp@!tx{EXJXNv z{n=^~ATF7oRSMwj$Tb}qb%i* zqXJv)rkJR~6>vj;;0{Mb<{)I_R^p}R1Ntk}MQ_k0qX&X+Pvw^T15aD?X(z01Z=vBe zmQ0b2wS`|j3verknILcmihBZ0{nMj`BCB#q3bt7{uvJKwv``o0VBL(S?w5ATJ*Bbs zZ%+z(eK0LnK;`sG;wcwYGVUWftcOl%SWIiUNVey#SfPMi0a2b%)BzWQ6V1O`o1bQJfL&bh z{p**@94IYEDPPtn0*O;`M~&&7Q1j_Ha0QV$Ehaw&ItDUUS{oUj%(vSF_SA8c+9fNt z)N$vllS#za3;NflGVk9){JY2C*hfsm{L>C>|7Sah*gE{D!z8X)yu%?kCc2f*FVGKl zQhQ!RNdJ z(RfK*v5oK5jo9R~(iE0yr`-A^+o$Q|z=(~2=j`HSJ z{;A!+Sik+(DE~KzVWOr?FT)4n!nTp;df(H4lHia0QSfmy0>aA#g;37yH1W(bNcE_v znf?#Nj?VERoUiR}*M^nwht}meVi`~D9}A!GjRV4V z7UJXWlu;Mj$10><2aDT&COEoX1<)v!Lc_T};qowZ&z^_%*6TLup2Xi)0F~UPpea{M zgr5y+rh3;{?9!^WB0StQTP)iz6kcSkZl-+MjrwJNW>933et9H$2FG%84ySAZ;pNF0 zD_7_|ao-BFU;&a^DC|)v>PwdHbWKrD=~0+$@#S7{{#f+U;PR&<2 zT(!Dv>^K8`YBK$5Vx3WOyj@wdT(u-pZY4|Cxa4fVdqZe!%ts?|5v# zNB2PRg2?pI?Q+?ayu^8c{sq+mw83Zd3pRpstu!VWx|9=AmDSHoBlJ7VpaVQalPiGu*7N$~iPL_2ayaMNmfCKqB8 z>Tm!)5yE_$d6jJ%X{-}HInIBTXKfzXc0S4 zl@^ov0fBA19Hr*ZGTH-#$Z|v{4!BoSQQeU_6l&pkGHS_Ne&JNHF7{qGoV?qghiPI1 za^Wl%rbh19qzv z0u*jSPvxr*vg67u&~@7vJ@5^UP+BzP2N^iq0na=yfeP_1FL+7MxEhoX&urTi2Kpt=H zHR84937w(R#I~J1YFIE2p;US+$BnuCg%txXayU8f7@O-rPW@nG{bx81yUl8o{mua3 z%Paja*QcD$hXeX9)>r611HyaAHUb*&E(Zhx4ZwTfzrdGd|LvJ4JX#wTfG;U5i!>)F z%%gH+D&+^q(E=d7*PhQ@|G+3sbo zpkz%n;-AvKyNJ-`uo*RA$I=ksS&;Cr!r#9#(*Y`oQYfaV-g=+qqF@3_vXnw1z}eC4 zID~NPP)q9YpppY=&dnZu?K_$Az3E%pM+3b_y$dEvQ<2m=!q#DOQkmle-V7&n| zX*(G*hk4g94s3T=RtDf(v6!E)Kd-xYZn$5#Z@4%Dbz!_*WOw37y}I#OPs-`+F9-vY zeBU5l%?MGx03&eeeFldCa)~abz?-q|X;aPt*U0h#B37sxqJx~t`rt5~+RN_)HgL>a z>mvq=sjvfeAB?st35^P)@okRfkPwT9dAbI=oTs+tK0=fV&*&{P1V(>E9v3;=Aeg{B zV3Pz$m3g_xDW z)bNWy<*iq9wE}3>XzVoFtV1jC0Ry-Rw^BxA=I!reE!e-PL~8vbhWgd=6r!2d)dn;{ zw*#`=#}i>~Ga|xD<2~@vaB5CQJGHKGR`{Btrar_t-Uc^ORF_<-9A=nu9+xPmw30LK z*g#)Yuv$@*IJa%4h90Cq;R(#F^h!P!N?AtPC&X5PL9Sd4F+C{mGJbV2h$_f^>lUV3 z__>QrC;sE)?QGPz5kdw=-_z9vtvFB0Ee(B?GNvCYrg|{`5~lAP!I=cc&_P!yyT1;C z3To+!)=tX0+WkT>5?`GB)qT~|i)W^DHQ@@jKPP=kOiJi37%yLCaWWV*td;gIt#($R zpv`3PdPdEwke2gG57YG^PDyYukLcvZTycx&FR#o?Tmx=esq^C+PEBmpvR7-CTrZCh z-y)@pkL#)%gbK>uLO(uyx)$#>$DVg(qf#J5TSuI-B0x^x zxasUDwpG%MooTE-bGx$Ezo^7>p~hQz)B5FOm`V>n8BTGpQ0*GgezhJk;Hc3#TtSSP z8UULjW)p-rnWab!s$A}TB&)+v@gUZe>+b-xp+bhnZjZxB8&>f1yLyI33PTQFJ}Zsf zCY)pxg<~iRumvZkwz}G4_T$#^y&LxpAvy0DYD7g<&gTg<=ZsCj2AF3lRlBrv%Hxkh z-ydztt=+_DnE?@ax9a2OVbLO;b#GHm?e1m4;AgYh84kZ(1&3jCctuVKPR1zCRJt$0 zMW8Z)dM5&wi9a+u_q}?K3@s-xc<#cG?ldUqt8S+l_bK#I(=KRAS|Yi_7>>w|F*wY4 z_z{`?_Mb9$Ml7@TDbeiK!@B7jc!Ttj44?k07AdHibTD}BX^(ZT}+?E@VAia6D(t96N7lZq(SZ+h!RS|dVO zu%w1uDEzw0BEgcJst(!l7MoFXe&Og^rmUZdrThdKTT&HQ? zPjszP>QFf&d=(tYG>Bl1N;Ks<2$+fho$4XH2wq@yrjA8LJ7?!Q_j(!*qhjvO!1kc+ zkZ=lI@NXx3+Nf&2bL4^$Dk10#rU!$ZL(iYr_!f^_ocsfC`W4~fhdw`FIo`mc1Pt&;UcbnCY@<9S`iBy zu+8E9xI}!F*792OyqC>R_Tou+8>{X=QH z{fUS9*G*%F%l-s!ZR>r;n(e&@^TEC`Q*w$GmvLjerLn?)9&&jQl1H^YYWXHv5a=41eA=`mSsgCgVSqX?W2Wq=J7F#Smi zoLk0u12FS#DdsRl9!2EMPYUaN|aJ_An2x4Uvs^6s-L2#FQ2hya`|Ycmz> zLqx?bWivT+jt>>S`BA#~KM?7HOt)MPr`Z^=@q<37mjq9+tGVKC@cFA z+TnNrm9KzD1fJ-lu~>iPfFtX5DB2*L!Wif^7%D|L1x@S`cz|zlhD$???75#ZPVKVe zKuzgNmB|1G%|>gpozm22Q0mceu}4gUS?N(NVZ;#WlDYIN;f289clmL8#0{F*-602? zpaenI1uO?eO$DO3X-5&**yhFF#W)4QdxJgci;|7!VWYDOStw}wu>8yI!-S9aCi%4! zuojei*T?;5M?3HvUl3P$&}M7|-@qyb;uHu`en(eP!B%L9&sZLLjO)PUf{<#3vlBkd zdhQP@gI<^-0;&({2j0kB=-^LX98It~->}VAD5g;8d{Vb4AHX%(5KbX-H#L$FH$LZ* z`QU9zB|+Wyx)sf`$iWwO#oLj4z-eY_0noI<^vO=a!#qma+fJFDx=(BlDAdYn27Adz zKA~1vesBd_{}w*gq^~E+0Y=shS_RkP-!i~8nsNQ>r+a{pZgyYxnm*9#c3Po6TpE!3 zK~zjk%+F5QFOP5cPkf0|KVDb8K{YdD#aF!BUw-p-`IL|HnipKAf&g!G0{s2O8j|z3 zHKd`ze{50sVsL3-XKZHz^*^^La7H^pG8?_W=V!GFEzjkk8iCNtav2kH94X2OiTN*Y~lFvr%J}jn$16 zEsiZVx?$<*VX7E!Kq49G8tM86;Vl`X07rZ38gF>Ba~yb8ygg?+zEphF(b@IroMb+D z_YU^Ax8kryUc)h-dyud6TFSqxLRUx4%F7-=s_9w#AEtdm8 zO66(2@DNtsw?*#X9T$D(Wb9;Rl^Aakh_09pD~PUal;oV`yIGb!7jz8Rdz81_rlL>F zHHnrZ;W9klwDy)B;nc0g(s2eF=k(DYXA@FcJYy_j3kx8+8oKrANx`Ko{OOxXKg}JD zdyzw6PMiN_u8bV@=vE8Qm+tP95 zY%v4Wn@g-C4aEpBKFynPbC$%LNv%ert)uX>o3TKF=xihJ*^2uDpmY`I{0UBKPJpTRRXVb}Cl zM2@N`kZix6uR=mp_lWH&>zSQ|93#w{q=}-wr$mJY@BiLkbsaV*zU+G_GT>y(cABET zAZkUep%M#fC?#QXW+y3J(IUAl4*`#LHa=+_=T?WAI29EcL~#-ET&_R2XDLMakn5Te zF`9FLTU?Z;x=CT0nnvNhygUiuG?k}AXqmW^)+Q8MzW|R!(bcg)9K3qdE{Bvb4}cnr z*-pHkaNsqD$>4lWhaBR8oP%~t+8AXbSFsrZ;PRell#=pcfss8ADhYqLxG6OgJzw}E z8H%F3oNT#BWGblOE5#_yY5R5yd0ovSS?E2ZzLu33j+1L}r8%TyMS)&b1Jg6Hg)&cY z0C!JuQMCuR8t&U^I+)_Z(Q=u{5@%SIjYRAsIhs8zj>q)4Np>HX( z@4!#sEEQ(uT*E`31Uw}u%G`+71Hs(rjTEN&0o?KG`O~gMjg3*hUX0rypumfoLpsd%}i+DE(xks ziLiDyFzMVrNoh>%YD0?$Rp|S94^O8&-|q{nLpeEWfa~Ff>cE#`lq#qaLfr&FCCqZ< zjmt^a6?wiY&0%0~Dw^Q0mXRCnw_Q+KMJlZzrCi66PiV9ZU6gTB4f zaZ-pWhOp%>_nC@9Zs9sawv@#NRh%uRK*ClKNR|OLyzBcsjlwT1n4PU(sBzkeS4A|T zy1iR_vPc)kwY*%qS*dYn6Qdg&8$y!|JHkb9Qe-^gnDrxN%s3o8s|>cLLSq6-k#r@h z?)$H4EUGYm^y0mg0t!)5=;Ltb-rRnIu=$#^-90Q)do8JLxdl-5$PDg+x{ZkMW6s|< zhi^YGsE(fXBVFI+v70}!jX)6K6zv^HWFb?>q^ulqh#Er=A=jUtEPH9o9Jd+EP~iAV z6|<^IC8)=mHxrL=@k<9O#6HG5Eq@@_6#W$ElY)?MvNL~{OVUum4k8C(!41yenx2oj@4eZWF?LS)PlF0(|Is_i(mWUKNT%UBt&mA>HhWGW zmQH0PDVcWX{kDimnb>1%k!GKitWdK71`Ff{1*-nMV3qR;_OxqOiZb zI!4hEQT^$!RE8Hwh*)_DiZ?{`mP*BcTPCt_iG&nZMl|E zWYuqw@tUEELMZCVY^HmBzN4Wb{j zNcn6|p3n`)z$YDSf85FO_GlsqKL6I&N}e{%CnZUNI*rc1s*hFR2p|WFqDAvd0y>OB z^{!sPA5F?L(7T2_-gcYs9gUbpA(Zu5BSh?^&>@sbLRjz3p=uh(Pp-i;EdYfZNLUk+ zDW8iWpIJXfgR(N_tC$?|T!`7oMqd6wE0MnNPKV&jR>u|v;OqozX4={O*)#BR_x)m=iDTbE@2>1a>_2G1)<{Nn@N11Q z4-}Ol&fQS5K5t7#8QzZTSQcEAzyG7&=X3~})7(s93}693Q(>@x#FEKtNm{?-Gc72q zr-U?H6cuO@+x};OQ<&b^H>Wiv={xgunQ9p~PXgkBf&3pfy0#nH>V1zObUi3P21v|BGeuuN?U1j9HBk zCOPJ;IW4a7S~MdX&O+!vItP%V>C}*Rdg9&CjN>K7aFvAr%vb}w9rFi{6NLOx>%sa1E5z0iqjDzsOm@>l8JAbs6bhv^T`~g zQ|gF#RAr1B!a`tucU-zd|ZJB`y?!BjeQ` zKnUpkeaw$?r9`UZYZVGhABwOPEGqmOXnpd?i+9;Z_{XCZBx$bCsz|ESN#oI#AS?po zQf#HWNU51VsxSk_8FSv8mQ7@rRQONHU_e;F+HOgh*RqsmihrpF5Eqm zU-qai1`Kas0`qYaKKVBZ1&a2w|3V!E3mm+OGL~P zsCmn-REzdRz$PoK`E#HFnYQrHnt~L$1z@ZL4Hrulf@u5RM~V|bOm0?9)2$Ij*m4f!t>rWc4^G`$64=PBJC)&V`EI04Gjkqb%UH zfgIx@M@n?=wUqEix()w`deK!?4j`uQv1tN|NbbnJ-t~TEs*i1EFhJj*pzbE(5ga!C zL{?UE65X&r|9PmFZwFH@MPP3X;hMhn{IrMXfFExl-I-T|vp;K}ZaMZV98OUkp`8Uf7Cmb+3v-fV@=E(0K0vPhC>~!EV6UmnuZ@BAUKD$1 zwS0+JVV|sNd7crxgw_(`d0n=FbP3Y+ofg5fhwiTEho_cam$r^q0wdXe?i-qoQhiR7 z_!fDDl_$pay@WgZq@UPN3ZauNObTfW%2H(jZR%NxLZK3^G;U!$y@gC_ddQRgn8hv zaT(%y_#EOV!IO_<5C!hhCpZ4&#xRo07gBu1og5decwa_u0WoRAq};3G0x*TVHX8R@ zMXekQ`F|oyo@F-+{*bn`1zLih^_MmNF=P2hLBl3{jbIYRe())fWHS^#Kmq!W*Mu&; z-&qahWET<`L32aVqhX+jV}Y z*_RPfM1Vy5QJ9nMxtg*o-wUAs#HE78#=eN9O1Vb-S=3HCefc_@hq3AYPX;Xa^xYun zx9mh${;-iay8$WbLjAJksb^rCS?4**$|=Q$7GC_c5pgcZQR*bR(=htUBz`{+XXjJ^#RF;Lzn0avmV~sUKEVW36RT#fJubu!&&qD?e`H%To|W zR{p%2**08n25wX6YAp>(i&Hg-CmEn1S{e z_Tv$s9cc)f1VCrQSZdzd2b!52$j;|ME^>HFTsvKuA#MzY#Cm|ZBF69Ma=0gaudJ4! z1!TKa&FTJ0w$33Fa#Vg&$vL|k3D}NHi9>ne zSbBe_iuyZ%M{Rq{!zT_@()7$TKath}|RY^qcLH7eHj))LSI;g|JT z4)+p;6xWkykf8h|8=;eXa*T?-tIa;_XZbhw(pFB{-BVpauN}1aMs^Zs@d;GWDht@) zwI3WPoYlv##i5%3s_U{~B4|`0`To-Fa0@0A34StwB3$E`Ih z8IScO>wZNw81}~P*L{IJM32qJV9|hnX?P>O^!Vus8P^D$Tg;cEPb z5mFI9E$kYw+-uh@+WVlTjRKq7F#%afYTAd1+epQ+3eJ~39T!LE2xT?CZ=Q;TLdKTX zq)gZDXwc7@&Vgs^>tOUIda-BWBb%|}ah>`^Y#V!#qT>{WU%pg;LNo=F<4}}rbiZaz zCVK=?R{8@}d!Z;Q%8zF7(Lu2X3emyCd=uTwa6t=0w#{toJys46_9#)K@WK^>E+Q48 zi_64~Bn-Ebh#3oz$0HR6`AqVN2)_=KnpsE~)mlfmDV~21e1fTli|)s+$s;NFLHRQ} ze}}fSOg6i?AVq|m^{bV1dx|7H!PK8{@&^f4{-nuOaVCJ(o#vaoEtHouMCn|4309?> zxy6hXlXRZRB`{3hmlO!U46rvdmDlzQ~O&Ke9b~JPn^hqor zRw~mTp`##HFA>3o6Sy7?IZlowtoT|P>yP4jNTY#}hKx--P)7KCk|bK%S}&dlY#<>^ z5^VEGlAPh}ing_#XufWWG1; zWw%vkAw~xwwOc(Mo7dhHHw^dOTaVU|D31=cB}E#@ue77JhE*|hP!8~v4Y-)luN0t; z(R@Yw;71!QAcqsSjgXZUBr3{cV^lB^-Ie-JjG3gn95g7jG<2)b7mV3ltH)=PQ#CYS zz9_TMpJ42$Rr|zzCgp~e>}kFXmFOsvE0$8$6t^OC&Kvz$KpoHU;d^=`?+T7Rv&126 zHRO6N(!$bO46(3NXn{|pCR@VumP-{#J(Zh`D6k2| zPiJEjGFWN1=4Q^$YZ#IjjO}C{T-bSuGHdQDVmr>@t6So;iPga5BEK6opW!DDxS;A` z{kVz(oxLe|X-*||Yc!3jRmzXE>W_W&GIY^i3t@OLxu{?10s1i^4|4(A#p(ym8njG4OVH|@ zh%voqR(5*WY6AiKs&>|hq&-9bMQg~p)ke@o&UrZ+mF^)F)@c>ifCt3D8F}iJ*paKZ zf2;?Z!Kr}}XSd2gapTJxBajK}cB3t|bLpacE1J3R&R5?PjQ09am09;Q&!lcs__EOX z!TtKuMy1VDo2cs`!WxI{;?0so?`vMqRY!@^A<%V-`zmF@exr928!5N?(ZYv|x$I`8 z^q3RxVxwNO$%d?xb%Pyzt1{jT`@W;Hx_8|fT8HK8fjy|L8KrQaf zFFtLVQ}XjJn+^lf7hE)tO_a4aK_Ptn^yILENbGYPt&2VOPFjjjr)C?M@dSR{E8|_zYuc5fc%3>2x zCNrQTIm~beL2)5K#g4!}=4G~PoGt%kmwc-_W3wm?=FmtQ5ENipUjLxkxF<@f z!&_7#G+;XXOwqY4Vad;Ewao%R*S4-MG4-#+4O%#A8){MnpfbLh5rA?k;hA@FkiKg8 z0yH@c%yn0%$;Q8=6rxqqTt9td5P9TCN!nbiLaW(JK-ixvq#XnlbK2lXl_law;*r3( z2u>vpS~;&b+1M_du~Y0#-f3LjPl5FysOWNQID_Na^w2|0PmuY#vz;tewQ}AtQ#R5} z3p>!^-uTj6_zl)_9Xp;$^=A$(YXaZNCyy5szX-sI7SJpGIJmkA&C`jWcN zoBcP0=XTtY2RwGZ&8hDjjA^2|taR5V_?J^8b0LE!4qEC*itB`Sk9fE}hK8w^qmIH! zo-P7*0{db4lK4<5EWx7ZvrxGsB|s>eH8bfO0Zc?ZUI%{TB{x8Pv=K~v537gatWS94 zh4x6j@ZW48ZP~v{_9c+@+X9qlWBO{6yVhN$*NhN1;r`Ymfc^F#Jqs}z^*Pg`fsP(c zr~oWw)S&!Fsk|q3U!rJ{(3-)95$f0Wj*E~*x~@Igf=8G}vTDVxb4w0&^hqZ9o={oR zCp0nptHt$cr6e>4AA9M#d0uberU>{KR?Aq*xE1;GWo424MYH*;hd*gU(m*#xucD zr5vIF#k~!=&^m%#2rJ1cJaJKg=v8&-ZI7gjeLSDp9y5#14uS<#;L&!2lfZH2cAkG^~H&%I=-nLC&1?`&HO^et>L2kugfEJ3Xkgg%(5T|X%S6^ii}H93MLb|S0Md2K-NXoc(X zw~F1yN5|7=^%?}`n!P@h9Nq&YQKmU3sPv8f6<#E<_hnUjb5VrbL?X;%SdN!`=Vp)i zi-e9J+i%IEZi^U4m)SUhWmh@O?X$*ZG9Jrv zDq}P{JmsBTeZ2A_hPMCd*o=~|lZxloKtolTl^YuK(U;|kaqD+!$~F&N8Ws}=7Z$KC zKb};x*c`}XWnFXUoW?q4L8D_>_ZCMHF4b|Y+sPz(zagU$Kor&j6ug?7po5#{C*B~$ zkaO`v8erY=^Yw*+uOpN#OMbeG6)GT}83UyvrRcUGuV-TqcLX8YsWjRSH}S?p zsrsVH!$jGr1_MyLZ<7d9<#efeMpEC~}n3#+bUL2Ql@mHlXE*nbKPJ?mwj=4+-GkoR^vu&>vS$3rOi%8DO2W3KC zpVSuR?s4qQg#)7Azm_xkK9B+ZiNk0y?Q%lxs8{{-*f-^!Hmcn-i$(s~fkGV;Q<;-$ zLcxx}YxG)`eO^GZ{pgshvWG;AlCOj*7rO@vZE#J6(}}t6^|Xx`SPAK0D-s+H46Y>q zu<@U1|1>u-DH#BebC9tSzkLC{(q93UlF;k~FoDMOV+U={1LxJqC|c81Fsd-Vr007o zu0{oZ42md6=?rmGpb$%=8=cc(lI`QiO;d-TGcI*ikA`!she*5I+Vq+Xx|6I02vh_e z<^%2S*vu_H9ZUOPwQHoOCZAhf6J>dNpyZmqk{F zHSq~T$7dSUR4Wq#I<*{(p^i)A-$xpxUK$c=r|wg@Im1*xEQ7cmoM3 zx+YzF?UW6`>ft#lJj&$YQ3+z2L7R6n6K>Q3_=$z(9iJLm@{3I!;oxU z?FiuOA0q*^t%ki8)BHva@BJjh-EO1oa;Y_6YOdD%L;j{f%#Y#=(S0VM&<~~$xYxW( z5QFO%Qc<7N#rcc0wf6Tb7P4$#d=}n5`f?qr(}{ny!4NFigmThGb$VD@9$Qv^7O>>U)&N-|SV}ost0);db&Qm?NA;L{=m{*6XN9(A!D! z>Y{hD=m!rbAl7z^M56OeR+yk~7E3Rhf3&bnM4Y=Mf|3dyd&+GiA}2`rfxfcwGHbvy zcTl1YJLThbyC@zYidE`7?glFcwmPg4b#RZ&;<6DLyK5p>OA()D{YVNZu|ch3#^l9{ zaGWs`b-W^4xxNJ}lqa^Tl59H=R5zFB2B^zhn4NH2y}B!b1GmwP7XxTOg4ZkgK3~>h zAB)U+gI3cyuNMqPR^qH$Rhc-eH{}ggb`J^Y%^&0~#mj+Lty}8^O0VWI8qI-Oxbc38|}{ za&Mo0t(^4K9P&QUsz428PZ#?JQ*7U|Xl(L+wl_I~#wVV;Xe(r*Ni``R^K}Ng*dsV9 zMsI`1y3`ZHZcZG+_$tjUojg&IeLN{Izk#lBdENkgfLf9dzV*%Qa4#R*2ybI*hd8MS zw^qcRhHIBY1*>8(1 z-YWJAj15o*nL%t%kv3=UuC3sqN`m|r>+05@>i3$pewI@M>?>noR$iOONpsoG zA^w!w70S_2bKObXKwe>n*#tWvF<>58b>c~Vz_t+a^xBE777ZXNI9DoOvh0)YgT5Z- z&17JpB3&Fr`KDb7ibinmI%*uCH9nPYS&LScR*p)xg-a4HUg{oL2NK@9S&5#$K`;?m zw|{65BFvxV-DZCViamVYleV*v=gOazp}&0b@@)@jmPW<9vx)_Uw_y|2eON8!{km1x z$iVuCQ;sFskLgU7?GLM}$^`rX5qG9#js;*fK!lJiZbf)SD4n3VXd|#Mpf(e~@3|BO zM8&~ut}#O6o?OBk~l0n0!SByiR*b8 zBrDwmYpdnzsKiY?by$z4fg#LWYVe!~WD0^(@yp9TJ4VY)8{NTpplv{CX4zJdUWM>R zts5<92vo5zI=-JeALUNvmmdv%(#e6m0CL=!$ZjLYFhiyMl@ ztZNW`_{KJFc~=P-IJ|o=6YIM_dcj?+FtvTs0`XIVyssD>B##+w+T`D+jW$zU>oYGV zl`SYf00GG^`v3`5AzuobtnLX>*_~X`%C0H{qSZ*f7$myS%DGS@ys{3uw78rgxMIEt zo~4^Uz>M(hFJX_(;3&RMLKAY=F4aCcMxE8{VkJAPY&XDcZtt;f-4&V3I>avopp>>?)3z?9!KoM0R)&) z`A2(rl|`O&Y-Rxk#_{=Im7+v*w7%i#O&hYQVmI-V+ZLDty5#ld$=Yw}9Kl?Q78@4+ zM{~g7ez;WJ?@VTIe0G7x0YKRgOcRf}4MOJ<#d=uZuRJ0)H#yp{)N~O)=MK0?r`ISF zaz_SqM7%fYe<53#ow|6~zn75?%w#fFC(plFv9OE}SnpUocXtX!l8s+(pnEHN)Em6$!08Ze;QXYH$W3j?T?-gl~3-Fg<)G{xL2Y8FlOWkp^ zUZqGtyMOm8n0KkdKITB~ifp??6d=gdC`>xXxu#MNxFM2?6jc&&J%@IIa^(2q|CHWm0cnr)5< z%6mruR`a}#5VRYG;$MG${K{gM0VtHEEstHF;U^VxgFA(zzLS|h! zH-mQtn6iOJ-g@Tc6cLfJPP=WkG`wX>(wR(@U`RdONhIPJ}tU`GVEn_~EuNrUkTzqjUD zMFE%7V!z#LcSXPhnsoQa_=$!U_O+5pYKv$&nB0>LQz4AT`%8pu8jSH@onD;r8Nt`T zbj&ZKZJKKq0yUcq3X){39-N&vl~!-~LkPFnzw3v$zzn_|bKA<*)XNp=JD@m!zn_sKaD=WUf%DPjUe#GYC9x2K=n)mWtMl_HSY8{FyWlj3>5 zHy{3}qW%zWhl8XxgC&m_5d*hz={9^_h1hI)4vp#JFa&$XTC`ZK(|MZJ8-`evvOOG% zxvO96p4u-xt<5R~)DbP%n}I&t5~=6)$Ta7D=(R&jyj>L#le$^PQ*JSa#UPi%GaYUI zxO?!6`a_Au7@ib-9@ORO)A)D&A3_Z028#LhIZk$AEv0ToHL7$%`*}t zj;I^HB5_cmp1l{SSdbTGO-EgXQfBHq9DvZa3TCnGhL$t^hH%O?=QA_Mblgquz*A@y zifR{QqTy7WQQF1Do>R9RgF-AqKG!9e(0|Os?f#W_e&$evAA|7HdJ!EmRP37Rp%{B% zC*D%#7Ts66$3*+KZlY%q?1Z3_^TzK#>NTmlzgQty~_7urT1ZV`Z( za<_!OufA^Bf6?~%Qlmr;Rgj6+?$ab27r74JToL11RXePP^XxFW zUkABOHw=o-%f_&bPqQBa@vh9!kWcyD`)stXXzb|tO?TtRrPb#kqq}E5WicZ1lr(z< z$S=kWRykVK9w|lc^h4vxRk4JMY1>eUBs}2rkrH=QNuo*UAa7nRQ|wJ3C7?UB#XEQdvt3EGh_RtID4) z#>hulqu33Wx6H&bCkjqTF2=mz#JA$cjI5w@+j){a9S;Z~UjrT&&zQ}Ws-*uxWt0F+ zj0xvx#6-@4YR5*Y!neR4574b30^psq2>C8iiNM=m|FTp6=kDDvI;w?KbcNF=6ugqs>*Zkj{x!GZfR8UAg|y|ZVK zQ@MUjR3bFktukMDums2mUS`6qx8&!c!xY58EoYiBtBNu*20hA$5=3gn=@Q}A3{Yo% zj}1iz`x01mQSsyJ5V=Pb^yEu5ZYmkVm92M+BSHv9HF$Gh1DKcUl)VOKj}-a#BNYeIf}J!P?0X|UODp9 zRt?h~n!{l130P;*Z(8O4dgX{=3zQD~=zhA~n}NY!CX{Rg6k<@47LXh^9t5-t@WLm4 znU=BjH=KYUpQnB8hBQfc-8c@&%GFE7JY~B*lzsxf@E$9H&*GO>l^qhobwQal;5HA+sUc(?N z#6U_d@U6iicG3kYkd*qXYG-&=4_QM+OvQ8D^ZK7(a?2P6L)B4y#; zCFFsr9xJ0SMSc)Bn;(m8Ah9hWCmaGdE6l5Q0v9ymdq|M1SWaTFYaNJ5WO>9!V-Blc4_s|q^R@mbt zF?y!J*d560bKbxkUXyA614%XFMY(2i_x{X#{ID#>-nWs@ z0>9?_h+hVLd@O0eDJt{+k;Qu{IERkTS|aZ@AWHo_E^;S+L?`s?Ah_6Y0fC_I3Wz~{ zgjb8o4MFCcI&znv8t^Wjp~=~yTg8Ow48dv*5sxq4KlCGooc5Wm#err+Zf8SX+CzV` zt9JGt!YH{<59L7px&G{9;f@y*K{k8DaV{k!#~kBQ97Ju@Yrg5VsNERi@Sb~k=ep?D z?OU~kSi5Wt2kE3k>+f;BjGHh{G7$!M@|eubs4{_2z_3<}sqWjX8<#=3{abbcXLMfO z2*vHRr}w|vA$!l;bW~h#95OXTI+r7)RKW5-OL4qU)~gv&(}uW`s2b>8L6V{WpsDq# z$Ic$M7Xr4FMS>J;L-*o|LgE?6Io~>KQU_MQJVp8$-$(SmU5eQjxCtMYUF!8pZ8%PG z4q1~)wxDD;s&YFaC4BcKZZ;x z=G1yPOh3NUmhi0fnzWUblVFmVj1IY+wjV1hkXLHXg-k+WxX+-EBG>-rO_+M+;-#@< z+JS4S8`qK9dbF9yP-gC1im_*$o0Ylm7TvJr#z!7(43Fq^+|$3GfKpeyP^l*;C&wgV zrDk_!B$2iu3tUzjDKixr&g=`)9Q(pqoKJ5-Zw~4X+mHia;+(G(l@nvO_@vHOjf1l) z{B82Om`neDQ~~vaZFz;}V)_Ty+I%lvqXcG&Ts7Y|+W+pg%(vq$Swb8h4Y^XdpH}}=MnquB-zhQGahSDOax@Hc*-6Gt_7xjJeaIX3Lb#wHo^U~?LEyr~&7=4EHC>x5&+%mkA6Ep06O(3o!{u5Y=YHqnA zAJNDW&+;05q>#%J6XR`k=+^oA`a1ia>4P-;X7_<)dq2n)pY|+h_|`gYwB8+h|A!f~ z?*@oa=_%G^H^i?fj<(Ra1k)T|ZyiB7SA4@yPRFpUu6*89Kb;hgbT#nybfAd2hdxMx zIdCdaRr%0wfmB4;6O4oD#I8?icC9Kw(N#a(jMb7>rPQE5Wh4R;*+}1KUU*qg?T-+DCC4hG{#;x*g!Bn|AF|4y@|@h}DdHU$QmWgILd6g$XZ$ioam=*q>?w za&niE%7+j!6FI}$gX0lrgO9%`TDK2@DyuI}FoARNX>=&b(tS<&>Ntkd2hw#&Z(L{o;1e_faK;+ zABfGZidtuw4uyhwdwm@}E1-*%5j~pc3or4Q;E*OpNy4U^kdNHnk+Ll+L}1qkFBpx1 z9B*uW8UY3hjl$1*RJMjiso9Cx(01qv*BkEH@}zmRpW>eFU3< z-^}mTVY|I}Dh_A$7%Tiqtb`&|<(I{Q-8y6`I->LfQuR!lXyWrGrCi-Hy4OhwMQj4C zX+o2uA0L%m9*NEw5#%K=p28;d$zWNCCuyDGg%>SslzejA&DSb_bNY>8DP#4OWKu!v z0d)8aQ@8qW8%Nl9*kKauC~8{|3l_e%D$B&FPU{oQN zmb^(&$sao7A7{?mn0`07N?lrIsuR;0#%36L!o4?&p42~^x^2UKsd#aWN4zgloyDi( zIK!|#ydzYgkvrusl<|>li5I2Yth7q?YU4n*JNXd~naO^cuzYugc<=c*oMLx!=*Xr{ zhS|e`N7=X_x1fhnl!^n*LWd8dXcg0`u8a{Gdm>PX_cWcxhd1ey5=W$y{LM-M1Mlg9=#!=ko6Tg49Kb!)9ph44)$BNS^gY7kPQ{ zbk_G{Y;0szlmdqd)E-@b7sg^~RTaH(ZM-;yKvjn)%kQud-2V6!!L!p3-Ub z_P#fodSJlAMAhuKv@gk#$X=^geUO>CApGmd6?_yWA`f)q|MJ-NKV72BR(~ss4;i}n z5U|0z1+`%UK5-&2N7V;MH8zozstd{O=ul^$hmed)dVwZsX7T-c`<~@^-xkr*WV%4j zqTTV11wqEoaRV4R6s8?fZm3xxaZy-8#(t#&T>h5{vp#sjyft0{CPZ>Uhp?JeGDn%9 zQ(@*w+P&zQ_pS;*E;7BZR0sZc_Qgi7q2z>5iuTUyV#YX0#0 zcIgfWR7W?uy*Ey3Z-zB^D^N#tA-Uo^lE$)fpnxjdZ^w0mn{j=r4+T;WJ80nm$+*0t zMIG{fO!;#kDC|r~SUM3%#4q4qAz)2gdY`nNajYT{>dDN~CiB_Q*nbP_32&kNl$X~~OW`UgbWmoYi0JB)vSlQxlAuCm8oP)>UrjOCq<|D%N58@*cCJ81$4z>VgBg0*lCK@ z=6j+3WRwZ!6}l1%KYC^?pT&>8!Hi33DVb)uSR5NY$smR9C)P*5r}eN&7i?iL1(TgAOV6<95RX>fk1LY#q+|N+Xd12{KS)X5 zRY-ZbVo9|qK~|LVsIgu#Fkjed}5AamIu`T(qio4y=@%=b;#1N&!~l~J`beUlNC&!^~EJ4FE3d2;2X-j$#`}AfVT5RUU$%E3L+Res=a*bc5#2lEp*@;A6Lmwpah3w$7k@9MJ${jiw(8 zXU)%5F`U&1={=O47SZV260;g#F{(!@hI&8aOF2Ze$b4e>qcRGZL5iVpLjm@ArA0Xg zJrykOSuc`v;=tJ2tjCgCGsj{ooKabwL!5?|UYfH~SjT3&`1iTa3*JjoJ{UZ$Ot!NR zq|l%XB~Q=q;7AU2q+wSp9}IK8Wc(!Joe{a(x%O7z%Gm>7ffdQlI%5@nQm!q2kY$h! zforJQhZdF3<$|hVYR?>4TWWa|mHNZ*-mYas4Jad=T+`$DIxTz9GEzt2#b{SecYUzLwM>K8`#-4rRtNRY_4y04~%ue_c+ zolK_&yq;hEM$+BXGSMG%UXfF0;w{WWj{Rm^HlKubjHTfP@q5+506)A%sn04`V>~;O zpKOJ;Lf1SVB3KbfHzhL4?Giv=8V?QzDF;VS3ljDi53;1@>ro$2Bgw&q7DN-YM~Y60 zPSBlq#vEz5V?0LNEdr1KcjF@%Rdi&BEVti71wx^GzbC$95IcVEs)4Y_lVgP9c&*H+KU*8T#B+U%_WWWgjm%0PIW z2f@aHejxS(l;u+jhJ=K|hQJ1Hhlhv+Vq5Q+glRnhzWo^w9QYMD$bSC(TNQe&e;jQ8 zGe5iy2j;6|w(r$5;AU&!1CCkp$3X_1%z@7xif`Zme$A{6ja-cEZv%qqYmlvk{s!D? z0x%7pKK*f!0jCS#^E<$wlc~FKjR^1hWq}+2Yzn}y;BUYO2Ux55H#nEOa8#Y+mxI8~ zU~{Ag&VL+az$x>0aL>WMm|H2{Zo`75SQTVs;|l=50g?UxWE%1(l{J9({TEcSgJ-dS zV;T&HMMdBn2+;I*rk#L^>A%7Kg=sJxJzh3Cm?|JF%pDy+1Rg$q0mpG`j(wY5@HAb2 z-Z57QU{?yD=1+G2P)h2*0RD|#Fx;B#)GOfm<{#K4K>R&@V7R}q3%0x01m8U z4&eO9K?a;ce+|b8jtvfuF%4+>nW?M2nSq|=p88M@D*!h|@bQPX zMUZ|;@9hfyOoeb4cqnrT{R0371_oy>03Uw<;~@VA_;wD1+mPTssINRvP8Aa9E-LP- z3JrLy`-Sc~f7x9W440Gn15|MXkbmtia#4Q+_s`u0n7$1msE34d5D@HY(Enpff3R$h z_Itp;nGzW8ZX)2HB7`6VP92*64)+&R`lrmkH*k-%egg+M2X5;D90%@hPRSc2OoLw{ z{VK!cUGTdZ1i|2c2+`N*KL)>>Pw;LfchlzGRI&%OwqID%T@LOIU~>Zr+J2#{Tg3mW_q&_32OHJh#3(m#m_W?8UvmD>Rtl!?ZlaPKz~O%Z z{F{}6;qE5gxPen~`aOMr8%V)M|M^Z@jT^Z3U&GxAYX7$+8+T=THzNeNl0W(`E0QZs4Ztegk)B=JiioBW{p78-Iy(vr*zU zVgIy^;0A83={IoyY{mbyC*TIqvibLbf71gP?(TZp4V-t!zr+1yrt(hH`!&+d!q#m){L@m=4O~RmFA2N7aC95+pVobD0MWaD5BN7d{F4vw1}^^d zzr+1S5C7yxyMfal_zm1&^zhG~tQ#a6z%z2Ep#o-mTTb9dth-*VoBP%Oe*cY+>zNEJ z;4OfFcnJLa1bEO&fWkKpGYE*TSYbu*U;aG64gp}q1w3SmM)qcgj(V2%I!a=SEN0fW zjt)9f(n^MU4tgwi$h}$2z3VCy`@ey^@pt_>BitHi!+;!$9QP=b>)? zlCbT&54eM563VeO4W20@69odl=z_m3PYSv*5RF=i(A26Y|8Z=%0;AIA1y%M6|@^F(CF658~o zc{xfv8l^SUaxL)qU{&O?<;0HseQ8b(Yd|dNvi#oVt<7d&+1++q{_n`nWvf>d#Ro`` zH)QqLX4=jd1^GGb!(AU_&P*uk#ws!R`@H=!*M=z$At7;u_FNxU^eOrIK1nlw?dbp| z3*eR>3sOtRQ33z2)LnybZNUH&d)p~0^WWL#^E-~xt)weNKOm)EbfV`ow1pIjr)QeN zb1U>2We*z4I$nUZZLPH+-OMAD4^%<|n*FAkekWNC%erlG!OULk5S0DIOw z{lspQS zvC(@kGsRm6C*&}l_k!eKL0TEA+rFC}e>8(O^Ma_5ej`^?q~SYyu#(G<2rey0%dHgk z4a#JmnaWH#;sZV*rG7{&e=+klv=4HwGAV5oitDr4ad@4OPm#3D@ILW-7F6x>1qv>1 z^7)50BtCqr_+0~WH=1sy4i zmI<56UX`W3Ns#_i7RJ$<(IJ(lzWYQ2Rm$XY({#4Or!`~(=&KB+6)VkWhQ02o7Iw-n_{nWb>oW-4@V7c0RP%%_m9=;-0E+Fil zK#Sk(U!3u#`}|z*tTy4<=)tPeaL^leKlmwzUOJ{lC&9R#jfM@}ry=$VgBQxKXYmhs z?A1jvPkHE;>E(xzAF{!oSbE=6@VnyU$HU}Fyo^z9;}^y-W^AT8f8^1bID{1rUmAV# zNODs7E6zLTG90_s6CcERcqE$Y_9dXHn)^7 zSwc`kNA6#;i^`qqYTmzNF7hy*&dS1(7)$U|kaDQprVHu}J>zVX=qWCAe4ZK~(VJUr zk)u!i`F(LrpZz1|ayXz^_6eS14?}r!U9tynE%45wE-hqbW3QYHcAYQre0X)jpfzrcB&ndRu_ z#(e#ZdCt93`E+hqcqOC0EP58iC3FGXvZmDV&O!sZ+5EA}+f~@7CSM2-ORVbaWiEZB zx6lap zS-dqhPsbc@+&l6EWKj%(3lgB-*a3%}(QbFc^yIn=G+;skaoK%perM8hdzDZ5znQe$ zUYNVP^0zfEhX`!(3|jawXYZ1juYwT>t5uf8{nni)k*R4_4Brrj-~|*Xj6|`9Mq){v zNnM7CuAzba@p5mN$y?wQW>UkS`*DA{{D&)z`%>b-3NMYk2O$Rdh~-HuCA+-bsI?!z z_0AU9iF5m*@eKYs}N^Qq-FV}JVGx5fog+gOodb)o&T%GF*j@d_KPcO(_MIaAPa zAo+D>9Acx%zhb`+F^|ZSWYF|E)#T~CmsMW^A6}s<6@;ej2K8Peh+JLf0P`2+|2O$|MQ&NZ|iIi zJ^&H(&fc0#f!V&j_9^w>v3+|*U~8P;8kP+n_F1!dkK$MINH&Aa4tyJPPWR{o`mZ@M z_oD&==xX0(Cn#$7Car2kYst@5jmKS2DWeq+RYUIo5b4Gzvql_cJLFu5|K4Qoyh(HK zag)y{i~tu%xcgJ8!{-ewL>9J*5R_#iLj=ViA2EJI;&gh{Tt;$aSpzjT1Z!IB|BjV0 z^+_(})O2X2SfQf7q_~I>LC^u@=cH5Vc;%_9Z;tdi35rjEAJ=`~R=Yu`Y-ek8xAp_w zUBvybTHnpW?$!*s4YmS0+%9Na>#fvdQ(pLYZ=*Qrkb|b;bkzfCTHhlMdqKp#c_@y7 z4}%N2iV%h7moKs?{divMSljgRo6)kftNw;$9(%9K$wuio;m(GRt0iVNl35mZqVyf` zgTASDh90Qd{Q=+Avp5#Qp3T`$;5{r~;+Wg7LFP=ZH9}*+`ZL7)d?AqVH`ykur0<`v zzK{1z;DZard;~Rn#(2zZJlUsHW9$O_IS@WUvh16nRnJP#JSyQQ%f}lpdEd}v&{8e| z*F>P#FFyqJKBNb@|)q!hL>J}A?vFCmP5$Y8N8BpSV5l|`1 z-pa67F){Gf^w|vP!;{N83lJPoPf`9hsCkZ>CAz)>Smc1n6mS%mE0nIoUsW+ySnvWms5W@5|5hh()TkNsiberI({@cst|JBTb^VV(*$Cw#J zAn&AP^jlr@#Y8kiat8xHC*u2}fsZnIgc?2lV>A|+P1KB6`mbSHo*EMI+F_u`TWb>V zGTf_pO(SnXcYUDI&0ME+ph)6j`5F(N2kT*%n*Daw*+@!V2W3T)#VX1^znh{Y1KY_3 zcalq`KJLf9{424te6yZvC*ibB`LT`J8!qpz;s2NB`KO~`Q&1ywQY zEotj(c3FDuSRx@OX)|#P3B?EMeak`L)macXLmK*sLsQ=x2Tf_=$!VVYl8Kxfz}RAP zhJ+tyNqC2G2l?JBSt65Md}o%1Ew_Pfs`y@5j&R&61}5s;7N7GhhsWms$JRRl=h8&o z!m)8;+jesD#5PZC+jdTD+qUf!+qP|6H}CiVb#L9OTh%qwvuF37s;QZt)jhq}s&*;T zc3(m_z2ZFH@|zD59hSXh(vCaBDvZMPkN94ghcH)ahDcfTY65Tz( zEpJlIw2alqiWNo0>>k`^ySFod+)#+Yd-u{ChTSmr@YnxmusbjSLc*v`EA5r`^gKh{ z0OFQ}ln3s2%BbTXCIV!}KOilQ%ikk*k4ngo2Qo}O4~f89fEcZhARU<(cFu~}W*#0n zK+D41%vhJ#z@AEIgM_PLKt0i^%$*6@Zv0Ew-xvEMVK>q}G|lTbVu{QS@L{}Jg6spR z2qiLqIuGH^4RJva)m??W1&EdWKZ2PKq}(n9J)k!r7EX0=c9jOM z2f`0Da-&SPR9L%UvFK4ob8_fZD$Ek~Vh9qI{KQuxC1sO1PRJ^iTy0#82)Xp(W!|U07+(9v+c(<}bMLnSlA!sdZJ)CDfNO2{ z&w%c?+m?S{6K(TwI%3zpcW$#m ze2=3sz8?(Rr(>&4-|i6~4!do-uP#SHuK(UC7(vhAw7@5%x>r`z-bb%DJ_b>A-#?%F zXtq6`lcrMMY<(WS7dUd1$4YcV8$K((Z+g8Ebz+lnEac4MAsG^Bjw>P>+Cch0p22b$ z)G%FS(B#a{c^s%CyW>6j{NNfaHxd5+JyLQLnfIW`pIuyB9I+rKrnxlZM&HlJkh)(y zf;oj57Liy48&$XTB1=%YUKf#55{YCzv{5Qbv~W@}pF*opphr(bFn!I;g~n^^qBNsf z1rRu+zk=sU)q5%N9jFY*N)ajQS5b)5&5hB+;wACJGi0_LR0DIUU-;_Sz+`c=ddtX% z1sxUGNOtV0=ar3)z2y_PM7&l8Oa+XL#tWyXQ%Whz{K$U9z6r1wQqqk(<&xHc?iW5t z{7yf-cTfe&dKa@(Q3!mztB;0M7J(n5)kUrzADb6e$eXqDk7*zCl1RKzgsYum_ATDl zL0`r-i|eCXdKT{kTC$>BVf*!$Vzr zF6(-}hAq-#F!{5c%~GCgrJIaS1&&z$QXNAxsrZafia55lMwHp|(ivr_=#*fF<0}gh zIyf&HbJ8yZ1yS09jl9Z;)XA(;hO*r6H|IF+2F2-f=~~9sf#^_XHq!dBqh#u&KEbFM zY=hnvwRq7kK>$=5H_F*RI!^r`et;vLSH&5;h*yeq5_&Fr;J?*mI;gP(p?@K%>PwN0LqZqfUD z#Wz~qY$)TA$p130oIN%{ELAXQwzpog zQ9N|x;M__BK)iNRP zc>ee1c;IO)Uof4RZK74{Mu8(ThhluKleS5uYMYo)1l!HI{{{9~zeupFV99?{ z%3Oi9`W7^qA7-d%T24BJ{8%}-!V=xv@_2i5<@e{G>#C~&OAFhxAR#$#D%MAWZ=b`6 zYl7yQ{{Dz0hidt%WSYg81#8CUpl|XD8o?OG?}5871jx&dPS$smcjE|NGm@hL8)vED zW(l(NCZh4>OvyRxl(6G_<#=0OB{ck8soZ6Rj>`uEQ<4r z`nfq*GteG1kYWt-)PBWd05R>IiDPap=2iGm?CmjF6Py=LN`=nO?r?hB>Rnn1Oq&MN zw3xP@k4+r9-5Bap@HM2ik-i+8FC9Z$2zb|d{01=|;!yBuN(-BtN?D{4do)8i?58Xw zgRSFl++R}t!4{Ro1kQD>Jbou+XDLHKF&N-OC`%H?-l^PxX;*1n!|R5vo_MMyD>2js z0W%yXY3@%Qqx-(gKsY<9X5m(Gh?{GEYyao!nNw7cDS&NQfF)WAF7kH~;5t=s7!dD8;AvX~tSGeJ-ca$QfNDwS{8*%l4g#aBY88+JAz6{TC*T1vV_hb3nNAveQ)LtXo(@|8;kl--^i zr^EWti9>S*bh1`2>q1%6XB%2Ke9EcKc*D75%7c1Phcv;+Nna#(Ys)8uA@D;}0e4w= zx3PO+3riYV5Q0EihRJKF`z;T+%=={t6x8el{dsap#_&bwR=0Nj&gn8^eS&YLYKsjQ zdSz3b-@H>`^%LZG!Go<4;Oes~*bUmPrsgn;0Rf&o z0jzwQn#|Wp_arCf5yvoSE5vD0D&?V3SSzOk(&(?jdIOaR3@IHMKVTj-L5iA$1(?lZOp75ERCirU$tbIa z@_~{7h4VX+Fku5nC;P?EL~Nn>Hom7-4h5YXGuK~}M=bcpDNrlsprb@n$ESa#76%Ic z(4Ia!lNPhg&)@bU#JEA2fN`vx=e-kMg%|YO$!th;LpY0`P~+}2Ga@~w?+bn|M@4Bn z+ehE%!e*It3w6!)l#DlIgvw}6O=4mk&-h*Dn;fT5H$=I&X%kuOgG7px;CBE+)XC&B zEM(2-b3UE2T*PfU?_7mCv1rCtZ!E9X61HH3Hiu7(KSd>uuAmoA?7BqpcK6{8|BGWv zTJw)wM6hyt4DsZm(KDa`kEEalF4;x5_@OgR4%AWh3a-sNlL_J((QC6*S+ zvDW4|(>9I?a!~~4;_Ne@!rwKb#*=zM&2_4RG;Mbb>@ol}R$rl%#ox+^gU5=lpwo2{ z7)cGzL3eN7jz5)BEfrksk*(;`u`CLtTN2L7@t2A{*r7_M>w(ZyQM={5yddIZBUzm!3E^@<74Z zDtPJWt~4R$Ik4c;)T+E%E+UKzd$%QNCR_;3MTqq5v%v#aK@TOK1ft>J{p-$?NpUj5;w|+kEx95YjE?6AP%skT* zX@qrc!$TWOghz}W(#$U>L$;!4Mh3l3T!^Gcfw#;J;tRUGc?wK}C4{ziP(03&daplM zQt94SFbbCWOGMS>jBZ{F14gg-nFe~;Q+%Ja%gh~7 zgNj==*2I)6&IMC8i`lu#9>H=L)6nRdlMY)ZSw`|s&A*%x)LNWF&@5e6kd$(TNYaS-T%((agfhq+dWo-0=4d>RbzGf>aCLmb)hU@C0!N6KfHQh+Q_C;=+xje6*tw=1!osG!|0mctucuC8$6 z;RzZy5A_FzK%pC-PAic$rs#?Xl;$3kR_7e`i~wi`q_O!=9w0E(@!_67s$`REMtR(` zH?ZB^)mVQ3RYdziM7yx6C!KnsDbJEM3wq6Qf+{^)4K-@6k5LpF88Y6(~iTY7oT*$ zsI7_ELN=$GNmA}OZtn)7R<(p?YjfnSrixnAXI6#NSr3XN6r!R=qw<{XJ&o!2nd4ae zxuNAv6bw1fY#gbN016;Ml{l##5B@6T<=qQA*#K@*p4?=s9!HNNGM2jXXS(R`<>~$* z#HYm4Zu6E1baZhRxk}|Jt86AVs|3=9^_GEXpap5ka&DF(&F{f40PobxP%q$GlUTs7 zA~H1Lp2TI*V_z(tttassf>Xbcg-hd{Ux!fT;#7I+S4aXkP(UtXhx^4;64Kt)djp0S zg@wxZSlY`}ATtCfV=+8z(z%im@6rt$#zAfv)EN3yAFJS~-lyEFR@VN&TXLpjdGSt& zlI1)&wh!9&%+Aivog1;e@&i3w_x&R%b|4x#{qzSDSj(4CBtJUjyf6jBLcozAcl!li z7?WKny)cDpGm|Rsq6ZWq{04Pqd06+A?K<)b*W(~A%G->Ku~uS%L=rMFj|-ZlaCD|M{OJ^&TE+f;>Gt^ zV$^7}j|x!xb^ErRkZVuHnb}dMcL-AU3Q&O;gPJbvZ2(LOp+&@Y(uU3m{d7p6i@PcN z%wY@C#TyZ$`FHRXL61%%%%=si+f) z{viZf1;>*&x^nt;41X%L{_iW5o?R=c7G;teCi+CSQ?Zt%30iC>*)o z>AtxSZXM$bLH9fbDldaFH9wlGY7x^dZ)5eECcTPUv{^Q1BSh+Q$niZhwjcSuM2nC_ zuw_n>KbNeT)a!9ac<}UzI8B00L%|y?%i3^tt@E?KCtn~GPEnQS4-Pp18tQU(XCn*K zR2=g6h5FHWFj^VBCsY{q63|xT3L3q#YswaM`D0cmjN|KE*v(s*f0!O4dmZk1 zI5A->UhdEg=UpCIG0T54$1jSrBO&FU+Up>jSh-8LD=J#~Jgt{m(d+d+d6WkqpT@yB z5^g9M0bm;rFoC6U^nY)6VY3x2uOj#B){hFvfn!~iH!cIbla(;3RiA7N>{miuCbGX`y4tC38oy0|Gw>0Bln^9nd zxRbW*b#62OtHiW4B~Ts)-LrACZB_`jxH{0#t3+%$G-$-?SF3b{@7gp01!z~ZcU`(P zaWQGvurIE>8;V(vgIlV)w(46CIjL4gm^E@O5#v?-PFbGwZ`W?XzY6}LVr$GO-E~}C zbN;x}faMr5wp4v+vld&3;5vKVXhHaV)oP8tVg`kfay?uV)^V*4%A?nY%-UTVtRS|~ zLU*(I?O12V2|*bJ>USuG0GPMtKc#Owg%e{yFWcw09fvS@tuLV49OW;g@6c@L&dnRI zc99HNr)pcLf;THUuo&JY6#eCFi|N(zE3ty8FvUBuh$xYaplCeCpTE;HuaP&>W+B{N z8y8p6kl*Mnz1JseW&CLRkgr99#ruuNG zwzlYxJHCt4M!4vZ@CL6)*HxC>?z|#fPc~V*DqL^OENIx~$}l-+fBmdK)$CM8B;K9~ zL8{%Z%u4(`XRaj?>+i0aCc2^<>(3cTE#50U=g9%ilD&3XhsDsm?|f@0?D8iXb@@@{ z)n0JhJ*`SQkqMdWRCLs`xFRx+)%%!iGGqN8Q#|0*#fbQNNjlnw3|zTe1~=Q^!@=RM z=lJWSN%y-2!}sL?QOD2bMAq_>nTd^^X7A#>*j*P*Xd@k+xPI_wAXV4 zuE30sOBE}dl)(RK88u!5euj9uuDn(>PgrvYS zdDLZRm;E-PJ%fauGloQJzhT3eoeM63D}X#aQnyw_Y1}z8933Rm zm_nj12IYPocpi;>hab(cJxh5Aygi%#q4^QLwC=e4bx~5o!~Q<3+xEIP7UOGe5wSh% z@jenlB>ZaQBSwQ2Nam~77awqKW-Wlb8GMero|g!4(laZH#%4Ia9Llp1!#sve#T8ga z1<0pzJz5uALpN;7-*vnMH4wU`Qj5)&6s)+@~~ z04e4*anIySGUQcs(D!{QfZk?TMkH0|uv-t2MSYkEEBDZqFhu_Ns9xZ61XQu&$y2|T z^8gTrC~Uc0&t|tizjR*BLHLotz{%aJjX5^l24Pd*4_tS0hfT|kZo=>KYMX9kOMEi0 z@AY{Yw)y1T>S0_v!6X@WYv>s1tWCC3SCe9;#@+lyW2XPxhlQ?gba#ecN~1u+PSijR zcF;_kbcNz6Auzyx<}S%F&3!M4lBg^V9Ef7x(bg8Bj6fo|@_o;@eM5=$A&XUV}E)^q}!8zBRI&0wYtmsh|ThM_x!n)BFxd1 z=<`kPx@YU{LyxfYHJ;j(*9D-skct{%CC7;kQh}Agnjn3B2FK9R(3cl4KbJ*aR$6b0 z+%e_F@njXn?AjEe@vuBeqyBlz;Z~;k8?Fr6HexRW7=e)YGI~qXf92Dhd;?v_Dw7zi zC8ZBf;pIyIwCInsOiWx)P&6E_eJbNaaAf6~IYEy{U%B8aUJdQvpeQha{xqY66$J%o<-nRz+YW@Rmhz)AT7L} zz5m%BodN9zYT^B@06n;1u12tnBHqXNd+^_>Tmoi|uVvrqsN|A&yWyy0$IHL}Ty^ce z*MKX2P5#pd0JV`#ru5KIi)2Fv*aC;)(6v-IZ{c~s)~ng_5w~rLh`}v$^+feOBD8J+ zFLUjPj@L--q~p*Xi;hRYG&mL>a6$v#_e@IizdS$(h1>iX341Z&%+h`qwmW&w$eLRt`zj5PB<5J4KC@2K!u`HSE$z@tGU+2iZJ* z%-lR43SK6g-qbMtISADcVTP505-Xflaqa%gfF;0;=&(dpbXT4QjS97SCYKc#ip z#3I$`yn}Pfm~Em+nCf`z6z@pG&rVRvJe>syOmohVRwr9H<~nJ~%9xbvNw>2KaHdJ1 zM)wFvr93etn^EXiMh9RPsX61S&%$@LY2k$!MV9V^t+oQD97LmO4hyYxH3(J9^Ca1f zoJR^&0uD?6lrEaF(dN6h!LV(;o*1fD+-CUEEU!oszif+(_YN* z%KD|R4+H&Q?M)EbW?x?tYg;_I>fC{3x|RgXxK)Qwmr!+KT3#IpJlD@&_R;pg2TM!h zKHlOS(t%9o$5x*O_;EFju>bD}Yb@jHopy_NPUFla@q7x@3Bemy6}oI3mH^*11%0{+y?``Wz{h zM-5+2*V+1s&MH&MNrV5x&<8%kY~Mfd_Y_ZhN{nYk?bW%6K2-X|3~_=xEdMn4m5Y+_&0bJiL;vxn<=d&+ZLC_yS%ch8&DBV& zuEBLIU94z?Z^dFO3TX|8CHwi*GNsEBpF&n!zLpCn`6?=*?~hOZNEQt^7`iv zG9Hihg&&mL<}aSkq7%!X5?D&u8{b~d1JC=hFF=*Q?azt?Ey>xWT2cM53@lx@>9s8>$Kte}00Gp1Z>HKzS(*AqVge{YK3Vx&Jc@Z}y{z)(sAo ze}T`#pz^CL1VpKea4mf4!iu$a0`GhRTPUEu1{?-@_BPz#O&~A_#Ar8-{l-z9rRCzZ z)pp;x-)~6=E*yOU6-qNjO+HXXz7m^GMO(klLaUC;P7!Ul1ju~k64CX2MYtdD3zaDJ zZhjTPE3KI$Xen0?9O@4;ob_f&6~+%aV52eK$e4#85p)}mftaJERl2SG`dbWm`Pux< zNWnFoaEa=#fMXDFFyW6Sv-~A9^xXd(x7BQh0U{3c^&o+f7@NP`Jfs>% zlbAF92*JeRH!NxSx3xo#2UAPUM)@o=2=sYhg@Yq=To|5MQ^$#e^#!ggA<&Y>W75cAF3_oG z+PSZdjiC5k%>BIuF@4_@tDMO&XrxEyn2#r$Y&0Tbd4W7<1gfEWAxPRNj~`HPfXHGv zm;3|D*iKwg?ks1Kqy}dF15swNe!()tFPR}{#$l=$z(<9FxwG*}{KkZ&)8)JitB{yE zsoS%#lea1#aYsp(H$ivgYx(_Vq$w`tGLpVydRV@{! zdmS?eEzWSilnyR*LhOK8*n?O!+SC7%A%QI$44Q)(#m~KKm0ycj(xQYX>mto-RH`?t zKoyu*-9i~9oPAU!7Uxq?7SQQ-+b!yyB25%Q5E>7v|2ppvL4+0PW)d8F_`d$SUZLoI z3$gv)oBn#&?S6gj{vOX~`jneBc{Vq#@O;5aZc$^*`i|l2I4!;(H6dV2m+OP3@J>6r zbGD(+$r#rS`nC2N%7{KL-lwquY#p=M6d%68@~$AmPID~EIxZwKz734}Y-zEQRt~QJTH2e06yw#_ zNub+(nT}Dl)cXCfX@}=6YZcN>=J6Dw&@rq=K>i;FEI9h#81TaS`)-F$9f{xSPYxn0Ob=@hbKHA8lHVAJmLO# z&(3-xDUJT`v)!V9m=$5DO<+F|jbi!t-?kFgqW=TVF8I9L_oV>58*UzYE*zeo;tC!Q z_&MMbgo;mn>9$g+y~4Yre||gKXshDT<1owwm!n2v2(cLqNyR7EP@cz=>YQUrM9BSN zF=OHjGXo!)OQ)?F9ZRpQ9{pJ@5nTph!OFr5Sm*&p6_z1X1+PIOvCDz4k#27#cEg!r z8N4Z17QpUrq!l`=kT^x_EiTrL3sX!}K+`)7p@5sbY-4*`xGS6kNhE`jw>WhO?n0IQ z)69}Z7+WlxgstvZq&;8sfJ1GZ@b{6@ei))y$H?hA7As2u z&&k7Mo)8u9AGJCew{y`AHZQk`^5Fxyj^NE0TiCfs zvSMngXfR&G9S;pod%9s(Qj$tVvm%07(~HIgy?M{bc%&RlB1~>V+@I73>9&|Dd6ltb zU3`F$RQK513HGEY+01Bsa>2F6nq<_fHagz`0X!CIS2p?ee$BBIG?p~O>!DN zB?!?yZQQ3>p0x>?MJ~>n=aVcc#%9ojlmRx2y8kK(PrCq{E1UdW5y6R0qyhwh_xlp} zxG(&|4FbSnET$TVS3_iO5v^QA%%vk_LCNU?wsI>OAsgo(M>VeaY_;zUkC7EU&cm&cEOSRg&x#WOE5`1W{44t>{ily~xTgkm zm>i|LmMd<#mq_$R&%|bMzDzLJq@|;-+$kHAOg}Fp*Q60S-DDeXCAm$)Tye={wQU4g09>-Qxuygs~i{v5b5DnB#V+z{2RHC==(DDVBz6c@apLvDrSHkD$w zW!n}xF3P? zPJbk>#o6H%S3sJpC_>tk;xirz1^H+dTyPR~uW2x8NEGffbI|$m{8S(mx*|@ zN}G9!s!Fqpf@9{jv;v2kOcsi;v#IDFTySh2W z21qkpPGSLsM7m`a+mMTac~pEL6AhMH3Rx=BPI>O69T8?oGImxO%m&=MA+1*106*3| zOMG@fnCC7}=Z7SHRjVSVF-eHvznFR*gG95>8_WRoT8PsY+30Kw^xb>mk?ssagOc@P$_+GJR~JpA4E|1%C_o1x2BM!Ascr@KGOoT?rFk7DEY5(u#l^rn!&#s32edXjSFae^Uzq7#PJdp>lk2|VD#$Upj< z(P%U@%=R#kP6lFn(8-I3MysL@z!HC;62eY5`sIwLw;9U~d*jsL*oB6HiNIRGWQ~3- zu1L~S3er%jM4?wy*Q&8quVnE$@%%J_Z~NS}A;>Um?av_wQ}6+-qe(1170+NllmY2W z`sY=>H$Lt)ItMpbf~r5*(?7=sZs6CE7=dhh1*|Rk(#k961dHKw8k`wY6!~LvV^9(j z?zM=bG>J9<$&6egy$?Br&3gVxE>(A9BCqAwXIkj&a}{%OHC$(DXQ;OY4>ug0DHB$i zG_EL`;Sq>%LDqMPdq9*X_8yZ5@EoP?i(^laaeEdH;~GX;sNDt_3q{RSM4n5`#kneQ zK*(Ry_G>)zKt*evqx#1gnm&Yv5e*0EMub34HxD=qw`i9r#GWh&_~Ze@-C|}1jw|?_JAu_vd}T}XR9Js7Cbh0 zK(X6RuT^(oo-zf(;c{hCZ_!zHT#*G6U9PWbHnFGSE$bJKJrcOMwg;fB zgj`2it>9kxp&dw03D3uu2hNd*t+B0)oFT}bx>Ylun^k+i4%WQ`?S6c%3q6SA?LNts zAksSppHt)_*nj?YD`^#Y>tV8yhjNa_DU@`H#W{G&I)GTk5^EC}3~ktu&yT=8dV{W; z-yp=X&y2vXx@yAqc=9^RS3RJ^5M$9l`E-|#Ki(zHe%5-xcCMB(gP@vukAaiH@)YSU z^MOnFWXi=Rg`QoFDrvweZom;TgU(hv!{*4q}~FcFnOvf;~&(Ob3_kZ=uz1j#3gJrw63 zSCFZ0N`ye&Par0{c(^oNx!rL^(40RqGJ`h#yxkDo3XB<)x3BeM8lCya(z3bAnQ^S{ zYRH6`0JG&!EY?36cYbNYGR}$Hw%^K=C7LHQ?+}Y(FaR1?GD$?I3i4%`w?Q}ySQ9hf z0%%sVTy{YI=>s85nSn(2&>tO(Fj_Ub8B;86;Bf(T?j;w2BZx&ymH*8yT|OfD;OOJ9 z22~~LK^0*0T@2YzI%ZYv`B%LDNQmPUxpQon0l#x>i9`n*p?ovH0}SPx#|OFFH=7+8 z0v#nHaVl+y(wC`dQ^8h7zAbRtMS5;FF-N_a7QUnogn%V_aL8r3+N zz*puS6Q(IvcVWa$dQo5TPOu_B9$v68tpe-hAc|l1G4+8SXmS%k4H}gABSNLohkCkVfj04syE7 zFF!f|<0oGvwM&nO!~_%M=bd~ecr~>7sW4wLo;sh z`$P&RSLOEeaAjrn1v2|{ZlGFx(uGJ0aQ?ON_?zxtLNglZNJQ^sKWOJ6iaZ}*fhC*# z#)up~?yEB{7}v0bau#4+?%J~>ddzJ}eo%idmu;uBa8NJ}H8!xOlVFt{_ zbZJ!8*MK0*BN5(?;I9tP2%zKP%l@0<|4I}&% zRt6v43MMOvDx_z*0BoktRPS6Wm%P-@!(X%Y>W7Mw1pi_tskZ%W@jYL**=&CtHEprs z?0&h~ef~DTcXji+Lm4azK__v=lhy;opQRA^Zm@|Mqd89=hON4@a4;zA`g&z zMtoxD6H3ViO~m>9#?r~O`JCN!F&)picXJfd5_|BWN-yqwmOQ_dF)O`2aO+0Y4i#uQ zx01)XA1BSMoywrFW6e~5TIw(-NR8hGd?kalq4%%j^||kZ!k3F2$68}LuovH6%3`=_ zfr89#HxGY9ECc|R*2%0IYB>Fx+sa%KE7<3JZGEY7{z6Yyz(l$2g{&otHd%`0Y_f_L zs})gnm=Q-d=tPNcB6!BrBVC#;66v_=YTSj~*4cM~#f+D?d!Oa?5$HEM&qBeI!D&$c z_PVA_yciF%Vsg!d9mOc;58ncBcIo_u64=B9-hKbUF~JCKe@QVl|B6|~jedzhK47a~ zWB#%HwDe1MN}Bu|4*|#O@Lu4tHB2N^$BudA?{uh`$H!j~vxk?8;p z-mT2dRU_`^ubi%mu(*SfF?>%`GExMs*2>?7;}um{9VOHx-{lVNTIVjVF(sE@1r@{D zSkI+Of0E|4Sr(NK%PXl^zB8zW-XeiK)r+xL~AfspD6^bpgb8*thI zBjEnl+lm;;8ObRhn<&qovN|?X%EG!OCho>SV$k{MbSuCMkmdACn;-6EJR`;#4`{1J zGG+weHm$|vE?Pg;$vD64l3}WA68MQS-`Fu@3JXO}rDGA^gVzhXmGeVEyfnZ-uVe4u zeX4vf?Y7U$ZN#P*iM8=u&HT)(8(KKEI)+{_S^Lgh1}NE+U}b5xvq`=Q)?HrNMY)6o zZyX9<&Hd8KI2ZIRf>ntYJbQP#GX9}r!6OY z(HuMo)N=^+JGhYwrLREiB9&+tEHHP7Z2m>C6Q2ou=4E#6Y1Wu`2KqkpxTa}~yQEKi z2e`VM`<&2>Y9eR%k~e@%uy^bTqT3!IY_HzxFR{s(tzLQWXL%0hdGBL+3jBQU-RjyY zeee0lv(xj%(EZHiyp7SYUQm9vRh?u+PV(31QqS7--tNAKxZAI)sSSD#c>w4eZ8tEH zz>#t}k0?5K15Zz*Wc^IDaXEJ~NS;H_X4yOnF!_m2dWO|SUWYv5!0IuYue!kaW^Lx& z`nbB`In(G8RCVD@(BKM($y6!sZ@*CtSeJ*)(;xoR|K|B@(VBvw9dM}CO>WsVD;bdtyjt$+w3Af66>491t z&aXFV;SExg&C?wtg}Y{79g-VN0VpXp+ex5ngOdU@UQoXrz(pA#_au=PE@?RjU0&y` za4rwh>&zzy#go+#g4^(Tf~AKVQ77T={th1zMC5Q=OM_0aS#`F z&~?bc(FtI+=V8|nHT08F<<+RqZ6@P!G;3b5K0II67rToeIn?*HwRDwt<6m31sOIVH z>Dcd0sn##gv<9Wr2${2&XkTIm&p9|VTYQ4RD&iSQHASEkJ~g6v0FgwDBNy%%62HgF z*y%;*F%+He%Sh=V7OB_in@I@~5^6AVA`b@#N2H|4#E6R;Kq3%F02Z$Fg;93W-Et=G z&>Oc7f|maTJT${Wjlk2bX&7@s!=E5n0e{;W-B9D4TA98&ES_gGPgi1!XU{Y4iTh=D z&+gKI0VWZYv#GhhzA_%T*|mApdo;bZ2KbBbYGe96ouhuvzZj&@{|h@eoKdzbR!|gP zUoCTz9BW0mEO~(R*|UPkz>{Ykj>eOY691m8Iuw0edzZo@tJI> ze8ryUe~&rKdllKe1lHDf-y&qIcf7cp``KM!~T^9`FlGC}F6d zDSkptng&ek=r~)=<}<}LXunskKf9+G;?1>1-dAb>^0tc9x0hw)c4%is#gWv?o#(+) zEVEi`$uv3i^;TU(0bv|o4-DH5AF#B$4uhveNrTA_+Qi=u)s|jiQth}|O_f~ZA9FgG zsipzu3^)@k1H$&n0_#%C)XZ7M$<5%T6?2?R3Ak|_{tz-~m!lID3LVgFIi&IBWs9dr z3AFk>UUM?Z8FI3!2M#1-p&ye`l%JxB(g0GXfS{AHH?-N(hM!oiip2-y)oo#x zHhbv{14-hN5(zveRpCm+9wL=06=?0s>T%vCRe^~!wN1pQXi?bzJSH@fEF@H&6_%AP z$ce^0oEnyvi??egCZ_4jk<@3VplwN;*$+>x2YhHK$ToT;pqs4cE`7NhjEO+eoye`KA zs%xi^ao?Km9Hi2US+d)?CSrQc?JuzlmspkCy;r?)8vWQwt zww**Gd;nuBs=rE>$meo1TJlJ>uWnV~rjF)8M+3Bt8_Bj$y{_(1`y@4XJ3%0!cqw0;>GXdD*+#MFTLIL z5d>b@NUum_VKD>>|Je&?IVxz|x9CI!7jmbk%FY6Mygrb3CspUobS?tOk&r>t_pN@j zoKQ2(T*^%B10N^+W}!^VCHr(rJZ}|Q9dgENS4%>REXM{VS^Q(uxOSx1sP*@b8CbF& zR6d~0dFK1RGWxfb(>4cxo0}=A7SdLBdHyC!HG1;sU*jdlYe6-IihNwXo)f2&4(2dN z*DQD?$(y%eLh8=N{1ZVM6W|PLmBZW(XoC!2P7%r3GJ)d*0VgCL^%7*_k<46q_>hrh zgJ%A*dR){>sCWaKMqraQ+rV33#REHmQ6Mz=WYoYEv!*cBhF}@!YbT-=ZW(4nMmDnF zc~EhgFBx=YRH`Kp&7sezMJS2%;3Y`r;7v=X8~^(CiQI7V0>HogG_*^EK{f|vcU2|x z72}d_YMdDAH3noj(tM@|XgM}XyG@DRropNRxX8Qph=0lvI10vq6o*s5^ur}GoUc!n zFyDa&bOZ;>RYI=d!U#jW+K3MN_&7s+s$h~Xsb3++GjSNp{W&+N3u&V|q`N(C!f?B| zUUtaU-Qjr3zpq;Y-`#}n_q7z?2b}HK53%o$^=a=<%kOHh^BAAge!;@fOrLgV0$X zJ6d(?@D=AGEd2Wx8euc~$+!+M;IAtQF~x zRSwee$1^6eL{n0Tw<1|9+VIjd*{0ujFT?Eh-FMly-S;lX_jbtkYtQ$4|D53SoDYoF z*FNId5ho+6f4p_c_Knup_p{FvL2O1pxtlgqMrdm8PIZ#b*KvH?IF(F?aa^~!xt77j z8cN-)RE8)bJ;qT1bb?e*@%#@LQYze<(XmQHB30X>l?_{l<|KJjI$69{Jk%@=@~pE= z)k~!bS{dnhetulJ22nh{%BRgh(+^pja#U!$j)JrHZ3j}#NqjL44F2XEszjI#>$}F4 z;%algM!A%6XN#(8`OU4GBh+r@L@6%~eUjmdJ5?L9{Rr0LkgO-1*e6|QE#y3c@d zkw>o;d z%EIx?WS3^tq~__vAWC2bn0MA>Fsz)}Qh)8$_2u@O4wr6aGd*`McFnY3jbXSjf72i8 zsjYYs9vqtXr-*&K=f$SY029McGep&|j_dg_QdnU*PE!SxW}wH(bZ{2y#oJOJf*v{q2($k0VbI4+P{t=l0_Pa&d#X`a`Tk(QTa1WYw>QWtgIK+qe(CCP zHJNCIM3UpIh0)!LY$Pj!+-EZVLmLwo>cHq-?t=53OiUg)L*^CRNCOKXr1^#ir4^(@ zYA_9DUv9toV`b2eV618Ht)-SbpNS`aEn*Z|NF>k0YP;molw*4HH!YIN^C)W7RqLww zpCi=Gny(6A>>W7Z1KO49rQM{Q%cZChxFwP$W{TO7J6S<1?+nDE5N=M(I88%Ti6hGE z#+4nXps1Xr>4rknUen3asVQO`gy$aT6xnhQ_vYIa6iEbXsvK{r(i4H5z^?m4s}s3S zSk22UURU$x1vA~IMO4dFnEj$dCH>py(Rgr9jM&<7n`R|)v5bN7{uga;0bR$EY>A2) zEM{hAw8)ah%*@Pe$zn!}nVFdxEm_R6n3=(1o+H2Rx$b`d&-|I&zt%eIoK$5+?TE;X z%*sl|2F}6KwUAH{rlNDUu~)gj@T<6YgcXlrnYtp)EuF$B!F4Ll49%oK!R*+|D>E|e zQw*Ud7budHK%XqhHm69&FfrO;U#PNZh_T7f20C;b)Nc zFTjljjqXeiS@<;sJB>(TWYDVYg3+Vo~r)&Rlr7cY6=1d0IF@zC~CWeEuSm#_MEW&ENkdfH^(TGh;>d-s+#+CphVZRW?8Cg$>r2477yka zpd^WgpF!Ne4k~d2H|Sp(tCvLjlZ6l;4@pRCa$Gp+2&w0jsNFhGk9wYxr2#H?L+Zw? zOX@_~#Q|xGR(*zXZp(H?J{hB;tjnsoR@V%2y1A_Ls{MZ7=iGs2H7XRh!u_41?$PS&~FTbh<SJ}24rUNtWFegjT0w32mA{|+4p;*qsT3&j9! z=;&0?U6*aw5DmkAf|+M%NbLsyLu?X^a*B1b%yMWB3~XWp5f$Mtyrve#_DLd@6MQ$z}rI?#0|CqqU*TI{&Z>btc^@v>!GK0VqKY{MfY zATCN&%#W8%gxO6fw?Y{qP^FZ(*ypK?CZWB<5ocyrmF?BcyPB$u;R%*tuT|3`>fP($ zSADc6JRLXZU$yH|`54-o8yfa}?N{)wb7=Ru)S~lCiO9f@t^3FNsB`QoQL%$zcNRG7 z9hUIxo7e+DUg`wASUVDSxvPaJH_kz@3>;|qX;diH5Mg&Lz!$YxMWWiQ^M+K&VKV2z zVJ>$J(ZDYSfxXZN(KD?f)`=t>>-bL^9+hmmNy$H;(iT%QX01BH!tCs#(?EtNB&n6- zs+@d*EyV|1fUWRxtiyYyZx6v6edxo?a)&l@Xe|er&4Mhfk(FuBZUy((vhe*1hp#AT zwf$o)ebUGZnkl^9G?Qsj(M{vqAX!H{`o>X_$r`iYOXTdbFetmn`Zh(-TI96}WyP$G zZ(H?iCC}47*H;BH1c1@YsfpRBY<^tzGCU1(KJ@bS*39PQ!)c>oD&dmWfQdjsUAki4 z3(RNHr(Td9x@vH&u0^1Kx)&lo0wxlEaI6ihFA@Vk)(1Y*?*4fI*8xYFVjE>74A(>!QzfpPShv^0DMv>de6B%e z{}vB{cnw~91)N(wp-(UaS>9;HG!aiUSbK&uP|ryxA_|q|QPiWw&ehJcPRx()^5ic6K``Qy1WY>nrAtJ2lWeQODxZl{gIcvjVu z{%BEEuvwz6ZgBMDt#cgHTjyYXZ9khwqt??F4fjpKlon>^Iy6zsHd#&j^Oof#B;&|T zLHAvoR%QUVZH|&l$Ksl^qq8{A!%4t?-S(I%1!)$ZEMK~z9vsXaffewj-1NkCfShg5 zi6UtHM@32(ka&F4Ud)gs(gOHCz2boy#%+;=O}M^lo4N+yi3Rd<^d1m1oyoV934O#+ zj${bwBwR5NWOQScK}FS&M0?8R{gu<)jozsdhX)#zy|g5VDKXsPqXSUoxyjus6s2V> zClBb;58r-~)d^V`@0mA)X4U-6u?e*ld9!x`6Ovpe5f0?gU+D?ttssR~)yZ)B#5I|d zU)Edd^A$=87n(9sB0paejq=A(SVHyc5yAHm$SxGj)Hz5zA=i~7X*ef053LJSNKj1C zpzZN|+sL);nH7ujhZ#Gii#_zk({dMSOI94L?eCR~usAcPl(?)BOpg*GH-NjjoHz)} z#d++ues;zcJ*_wHT)C_^#)nIR@yRShg!9;}BYU;_%Iv!9NO{HfW$Ej1dIRi<(*XGs zm`81fB!9LysM`$uqy^Xk@%`?dCL?UU#}mvf*_VnFav@hOFXN`Ke*}fm+rRTe%GX2`rpK>49MaEX3^XT4uxp7AFG=S5QsV1IKt%>-(=QJ_bE+& zJ{K5Ab*FT=1Efn*Cu*b(?%1+Wo)WFZNqxvIVb|#5c+2H4;>Kq}BRoD#mLey+(s|Yz zr(x7)ML{htZ<~M}{T))uPayEY0%qnnOP04J6W0BR33;W8%HuNQ`17B{?+*Ie;XgCF z9kU2j;KDT#_(${L!a*+o*iL!*p5tr!QF{@z`lN>s{|kinBP%OGle85JAX^-MPL@b2eD1J?i)^(0Mn_S(wHE5Qn;;VliH~yG`HfJ4SVk}#% zV=+|3c6FORO{T!d4pf-5%g0o(?u+`4Q1tbi{347(wcRZl-nMVB9&BNB9^dE^zS{G# ztjsx19`aKwf(6Q)f0G$*IvzHxv8f#lh&_mRJKc(_DTvgMz(MgY*ooda6uG|g*dKmh zrH{4(+ zkmlX(sifSqmX6vS4$P_2)m3W2JJJH#H?5x%2!UgLxx%C;{>M!F`|nv%OA{gsWUziv>BKe{#-tSptS0j#0A>j&6YTI>v;%K{b$ z!3O1<`l*8NqYk|Yfb-E)Mdb%Cp7!)z=G}rVe?!>UAC2^TyeNgqV;}kJBK3cyQCTe) zX&D>pH3J)YLe~6|r2Rej+Mk4H|C!utuBQWlMB@T*!aejj%|!kv>?#->s5wAFX4zmL zYKEkKc`achk)_o#EnAE;?Q2C+h^HmGYBKYGLSpp8ui8&J|KBxAW0#$(8K>#QNI8Od3Px&b)2v`Gm}V zls6BKPFIbo>G{+1?>dS_G8x>?ug90Bul#oS2$9eHWsy&O=j)GDZ*7MNSMFcDPJ>r; z_GfUsU*C?N)4lyj(l?~&cO-0#t{xld7Gr$B84J`|`m6mdO&v-Ix*?h;A3V(RRWDto05jyDHY7NGqZVd5BJ-Svqer{`0= z*RMZE?tC8a6>f&%$f+73(bT7a>!p_CF!78a#Cs$k1xet1 zw8GYD>(zKZPj9mD9f0#`P1ol3rSfAh^thcb%}VyU=qmab#%?H-(duAugvmSq1EyAp=$ZGoiTsw;`rLxG~dG8Y3tc~j=}JkJI{lotO7F_q4F4^>#8x(9SA+WUr)z6 z`MbW5QaGT~_bN9-d#-yM(VPT)!VDBo4(zCo20ffGKMTbj3QZ3Tw?nfL)Lj>C?3KX` zkWUU!Ux0<>itb$NYFnItX!xU5J^g#DYI7$Rbs#p~B-RQ{o1DLksi;PQ&_^ZLN5AbA zM98mldE;$G;fh7!g2mXRUJ2;z{GTYVmLs{H&#>0px?UdMf}c<1mkDlf@UNZ?ZL1Xb zD~GPVR(?ZRcaq%^li8uw3MjKfd3^o#Z}-1T<6k*>8nyfj!(GyU(_;1i8Nom7)baEt z>+ru;;_kiQtlho-jt4Fg{39MR{BPcaS5t^OsQOy(%fBDUmU=ik{{s$3#WD|V`+8u#M zx3>oq-TnE$ykB+xubo*;_xyk3*_XRDnRmnf4p;eA>wg9tfamd7QQl)!b2pmJ&yA^Y)?GJ>&5xo(_51L8_L`LA30CoX|(=ix|IJr5&z%0Bmc>bcB*bJ+bi$^ z@BFFL_Bspm!;SwBps5L;&k;}obN=4jvNvN^&`WxAW@Z#7Ya@osCd=(7TpvFm!GHQb z2?dWXTsqDB^B{B>bsF@HIX>=~8Qc|ri%%LG4#K}jj}i0z>q583^mXjO4Q7cb330&( zA;;PbG1V6#o6d{?+rMyV7k)0A%#81G4vZC=PH)a?4u1=mlS4O&(M7ssr1ijN{a~FMne(Oqoi9UEgUGZyn&>fC{e&cPJqU1-<0Tef( zwx1jHJ_Ci#v$KU?UG+F7l6!d0YB7CJXfHZb;I>~`8}L}7_$o%=Y}}6vdlWghu@vIi zmUc}UcF)izmah+9diB0S$hLd4lDM>km>htRxl48_PZ;0weLXJdhppElJkDwyZ8P*J zH+OU;BdLJl;5qw++~Kqz3W2^+>^mr|D0PtnemKIIT5@SdwkBSH8 z6jg?9z8Jcw3oEm-bW)bVv;A6sQ++j1BS|Q)cVAM)c5VMDosF!sG&WIDGwSy3*Eu6z z!uBM0J;<0~*(80uugK6YOypzxn5cYc{EZurGdISvcAlZTm>X^WBlKK0m) zjtW}pqni9#)g-d=7Z1ORjk__;k6&xM5;=E5YPT!0SZ#CTq=Ax*13#Mad%rj+m{0xF zWiIWeL4z;h>%5CsFMni~es7R}vZJd1CmZCyGp3#{3|V|<1k6rcGWWmYqpxa57g!!z zP)W8jp#3`IHJ{PWIV`37iI~N-srQY^H~+Zxti|0HUPTXWP9KzAANGqLBElxv_$Ex{ zCi>YXQs&;gW{@>!kRqo)4yO;KnjgtRpl5Ty$L51q7ZgBC;PPP2P@|$!3C*VtYQ7gl zuAr#=8QF2}2~|+Bbi`3ESbaaq88%L7j|o#SERolz7hlmj=V1$qvo z3%U+O0HO=b;3Mms)NR_`)Sc9A+g;VvHsu^q@tHw1}u zxW-eae9TMWVm>3mn^9jOjlD0ob296`iJHVj!++MQnD;=w?Isou6VVt`oxmcrtnSEr zW{ps1k}>W?I=aHzM;CoZ+dP85F8Y6ge1hyD`F194_Jdx@IIC`W@T3?D zQR7_u>(Zxy$&fXq6I;t&IeNeRevQsSxp+mujON9op8IiV04eg-wFalR7=_d%|&M{8)~v z=weQ!dMN7HRs*h6R-FtEuh?Dy#r^bJjTi))U{b$KaVq9~eZ|Ggu3$>2GEW3To$H9R zMB8}t558u&Vu(ZqO@W_k;tHhL+vt>`t83(eHLLkQ8Hoaw9AWR<8hx8`(bF&WOpTX` zEMaBLl!pq~H8dfpMTXne5ZG$M`;zH+fNdx0Abmso4=_#o`7)txjka8UGba5cp>dGv z=VQy!%G?i~Wzb#w4o@P@ZRJD{VKMw{qZ%<3_+C#dJ$|rcUVby>*~Xf1{ox(O|Mt4; zwVCA&T)E%%$HVA*zy6cO`ER8=XZs`FxuL$E-UjeLNzMpm38je zF5lk13B-biFzp8VETj-2jWPfa?=S~2Dlwx1srSRl2&hng5L9Aj@&OtoMJE&qkwju7 z0-{s}+t~#+)@ME-_j~ry#3SN(1m1P<<#FO5?)xM8{(BDhKbfTe))V$`rG7KB7@Fwm z$$@N95}Ftb0NH$jssP^g-%%HU6ZtT@`EDKjdt@(!@_f9bc#D2~pbZA35U<7*5I$R0*WHETVW*Hk@jn%X~P=#|3owC=@f zYj`MrrM3lF-pgAiS0Ci!Cu0*PqGc*#Rqi3<=U`%)04lDymDT@xw>9!AT{`60uS?Hr zq%uRhpM`teIqp5+kgxIeZmfi>8Gvi5#vdS?}X^|At0jN%_mgj7@ttR?@xfXhmnM?>O;nAhI%*gtUv0 zpMt+b0j>D{NMkOMpyNp9#qvaU)sVx+Pym!RldPoWQ9z_LwWrQ%K$rgM+skJP69%Kt z90?4~^~JOe$a_|DP`p~>jdYLmxciA*UmcaO{mZ5rpuh|ENE40r_R&m@&?!0hNzpO< zbE|9*(fA)oO@m8pH6L7BUKjl&&z8mBXS6AbRtyKX3Jo8YS}!$nUAEY1Q7y zG%He!j1%+c6+j#$UbGdEC&r@}^j;SO->97fwyQM}Pn!O$B0EHB_^3FAHw^P78cEI= zawfLyDtUUv9s7Kd0!EttGlw=KCl?7D2BwT1hj063hJD&0*ZiA~Wm6K1woN8ofDNCn zoPoW#MT{Sd94uqyr$a%*@xV9mH>DTy+4A$_u#b;eyhmJq3gK6h;jxOJyu2zF9O@2B ztDoZ0O+j@Ld~GqkfOCOfZ6%-m%{W#`LJSnR#nObneUM0Vcp3NoBE)y`Po@v&<%(*w3&_)bc zf7@)={8pLBL5PGY#sy;&DlVKdM7aNKB+-Gy^pbq6wYw4y3s$;X^AQqTfp9;YMj#6N zOMbFWx)+_zZn`i%d@4sCe@fj+AKHu@T{daLoU&TGqi68lboW(PGkz(R9x2t`?DNVj za`rJ=b^*K?Mk_y)Q;SM`{vMh?F$k4oa%X9!+10PRl~bf{UTIQpkUSp$LV;v_wCqgF z1{d!#H*1$x?d1c1_J76f; z)4y!5&S(=g&X%0#x~W4Bd-0qKdM}W5fbn7fEi(VfU;m#8VgMqq3iw_PR2)6I1U5LI5~1x6oDc#|&|sW!g`n9?q^mye$m9Z9aqUqpTj*2;wCqt42El5r zy+DdKmS#Er7)oEO{qVFlppB7e^4wa4mWINZP~ zev&bpCjX14g0({U+U_oC- zu(;6Ur4b6C65x34*?qXNB}fwO{9|}}SKFVhxj_|B;azPx!1w?40_z`Y|AQ&~pBlpe zR)fJNY2DDES7u^<2M3hZ%@EmC7Z>r?G%Nypbos#zNrAOC+)fJf|#Cl~zq(#lRpn=@##>nwB1!|w>s0JdK11PL8=NtZKAJLc4jyuo~f#okO1g9 zSigW{srSHqsUFN%CYH!CRIg7ZJ!7mEj^;vQ-3(YWbJz|+Jyr8ep8E{5@(A|nEV~zm z?5br_VJbDs7K7^_OifRaQS$>`o>G<1VE^i@>bpEgR)DT*0H^+~Si(;K7p-m!JP^?b zu$~^`#u0wN-Vz81Vj!j6YwWo0L{jT}5ld*m{VuW}el?LD^Et1teR*sG{R`ClEG_e} z6Uhfqi4PbE=x|l8V=bE`>%_&XXy&>KVtZMPv`wHQ~DX8 z-WK5VH|_pUnw|HFs2;?YxWFh(Unbm#ix4D1OMwT%ujn5@DaXgV|Co$|%x?WT7cFA~ zRz_tqV$KJ($NwBH84)-JUR;1#2u|6J+$%RE2ZRb{-;C?aOr~co4p$(6E=C862uh<0 zB*#clUI|5+4jrRsq;G5o&V5kjJXk&yOyF^0yW2%ll{ad(nBXjS(mqU-l=#R^SMk#1 zK*6tw8X~`bI$5V6VtW*(5cQLQ=8T6)eY<@``-kmK;QqiTzSWnvx3{i&<8ju)AKn*P z`PEZfj~{*04j{ChWS4$f2ZwE^Rs?=zUJE_eV}Uv$PBE7)`!Z;JFTI~pzOXy05MndQ zPczm24bilnqQSfMknQObJ{>}wHpBkBGqO@BTqMQsVk*q|0D?>MvA#K3>uym|?`pf) z)|iFe|KFVSodOM=9?%X60c=b(MED z$$Iof1#m|opSW3z$3I4g_b0Nku@y39Kzn(QOMh$ai-TTBAHc+I^&V9n1-}aF8(O;P zI~Ymn8yH*t9vG8fWO@NazldI&ck?JG+Jx9|@_C&CDZ&^OWUJpUtv!@vZG(ILZV{8v zVproptszetn##3+d>rpNvtfW4ajvmCBnhT@-J;ei*IcA*r#@aIbwsTj`j{FG zUWR~SFiuZbpRDSQ4lH0toBJUHl2yiXjng#ZR_vLDa!gym6;#MoYeSe?%XnXonX)7% zUK;me&=`hmICpXfcF~+&e){1wbknG;yAHLE=dS4W$jsb&%vZ&v7OYjaVPPYiz=N~6 z`jb-|c_nrjMpZ(#%nB`ewLj?ut6kzpc{_Da!}S`M%_XwdrZ>#xPxYm>ZRh=~dBw@D}`$8JI8bvJ98QB%$%YAk<>J!V$jnO|)t zf#Q+{*<}D^kB-it>5C+g(reV6r-U)IS+TOj5nokbPIQ6hU;p5geh+c%O#@ZT|L~;- zz~BGZgXF*Y@_mvc?qqEJ?%IFMa*{@D(uv?i-txtlSm$qvTI;|XnM}+X+h@(zI#gJ+ zn-tjVHpD~?E`b~SgSI&%vj!lWHj^$i@6lhO&c6p=FnJ*8_Ev4W-}AP&oOHqJelIe- z!jdVrv9|DUU!uMeix3aCP#ZyQP>G+s{otH>J(Q+1dR6VA>Qn({~ZoU0*9@T2H0kPR}3G1cwX)k|baZ%P=;8XbXswr#r7ho>dJ z-gH4yxrOi5gV^l5+#H@|r`P(tm)4UYC^>c8Ik`xTq<_y*-AT{t?XZufp`0}ALjp5 z`G@`g)|~j?ddmNN1C^vH^PTa7a8dj4Q-j}0U}*?}Ks0>(w4m@3VG)!w2WmJ7v_lj?qeK*MXAuUx|)xmw~iOWzcZ0kGQ-nJTqtE-y3wBb&nHnDuGIGQqh#F zBqB}+G}F9mEq3VC+7RxqTP&9B=ZelVS2j|=>_k7CpBfaKWLz9dp2D#npTQ|xKzMm_ z#mN;pkKeVy%vpe>6$yJ3iTaUeI9*XTPY4srUr52?c<*;TfBf1SK;YW9VaW(~vO{ff5_*o#Svvf$yUg3 zN2u16j~->BPflc9j;}E(j&&$&R;ZRnseG;8iN)S|5!xsO%c}xOm|Lr>hsqNzvrF)6 z`@~|emjXiP^I!dc9dG?j1iIHnU2ou=-rj$_vwQcxz}@%c!~Y+8@Lw;8TE^EH z;hx;q_l2BL^wewVqGF?xV1At$zcxAs)8h&H_#pNon==e;U%GmDKlegj(A;BtfOkH0 z+@X6QctK?O>UO(qNM7LFLq9`x0>3S zTTt@L6Jek$)S{+kma>-xRz5?mmYkbTtphF5U&nx)xqi|hZb)4{gcsFO~};P;P43rn1wnbQhi!PZiQ5p zYa6lihe}q1f(NPB7%mt3uu9G_bZjnFGWS|;wvvnBxf?#FkB!sf9>n}^$h)o9bzSLi zqX^|4S}0`RH#K#)EGg6|<|=$~z31xl?&&v49J_{dQrGZsHyR9GGqzgm8td}pI~RFE zlC?32f7#=`n|;0*GNSzLj(GO&~IFVRy zz|7iChAiRUwM;*@IxVXL@vT_R&(@yS+`HD@&)wHu9D%wqUe0s6aHL+{c&#VoboS`$wRl*y;rOH{J^KtsG#!GqvT9$gz0J(tC~XW z@<3X|d64qvtGQYsv}z1?I$idG75EPWxN)~KCS;baZ=H;k4L(+E^(Imo1-T`#5&%DG*i};UaA~qnsObLDyOzl zFm2mFpI5S3(U3Z~Z={9or$XTgPA`9#d?=E#jJ8jVs|JHyz8qw}SKMLx>S7RGnD^Er zOg;B&2bo@c;rQ)z#JCAU21ei0)dj62U&<{VeS|8uA1bzHAmIY0&xi0-0%LH$JB%Yh z2SEk3Y*}kNbxrMVE(D1`UjFi~`tijx%ejVV89RWBAvHENYzK^wzp5k!3>wx-dxuUt zJ4nc8B4jPI_Vu%t^Kviq)c{UuNC>a!#QAJVtLU>=)&;Hs51rK6Q7xAywrcsSHEW)i zM=0{Z0uOdl8e@=r4AiIKw0Jdg=>xweB0>; zcZbuRcGAoJeRv}lqu=Gf9$(!cWr&aIsvCp}$=*Oe+<&|h|89=`)0LfCfe394angzq zIb;30tFy#bNi%M`spiz}(pvw#3eSZGZ~0B@+1D_Q0e&Ka@=l?~HL~M!E%Jw>M%Pd! z31(U#Y^s<|Fy2JAA_=H+h4Z1T4rArLSaV*01JJq(IU0vO4i{Z`;jeG%nHs5#xp)O^ zv~nA8lF^ioVJN^BT$tMGYV$b{n@4wUJl8}Ne50t5mDRbQ#?hQJHvpTxo}^Um($A=l z2tI#%u&JEXm;&+^&T2pj$`oNh9li-P%>2COfv0J>Z7Kg)0VbI@q{xTQW#@! zn(+!CviR>kW^E5!X75p<*{#Z1n~XcD*jS4{*m$f(l^ONI&^n$863gsv&|;%>X4c*4 zw^SoW0^LReo$R`X%BtK>=stTqxA2#}V#R9V0RsO%4t{04YW3xsM4m}yw5pHZTCvvf zXDnFL?K-oi?#oEMk3a-;hfBI16k3b)k%x;%!eVRY51&xdsk{r$^iyPAdixf2lakhG zTlSJ%tCc!cPKjQHhO-PJS)!9nx%UGnBS9y7iOxgj*qmwNP|?mfxX-*Ehr+2@zGq^4 z&~-{U1s5if4x9^3ZuNM)Ki2>4m81U|i(OAg+Ms;^BhwVtye+9(3cDV0VXB6ILCRtv zIuR!#ZSMxYE5?^aX_LJgdX+v6yf6KAgSlG6iNsONyD>soH`^+Y3g__+(;3Y3F^X8& zpa5`y;{x$jTIa7}WTk*eA*dTQ0Tpmsjp%OL@RiB>Hd7%iw!ty&Mm32+V^79pEB1RNHfws_ARXM{%ZiQCIr17g&xX@1~MlGzMrjLn~JYKBTlE!Z3QSr&uKM;#4=c9AkL<>nF{s+ zqT;5qnH)Ojhf2SKXkGjTMEYRUO_zfyc1CRcU;_R9uqL_nKfW6bmLZ&gCiM#5!?!xar6Wf5-c1^(b=z^G zrgo>vWCDZcptajhYU(p8^=i1-Bc{VF_o|jMVTg3gT=@{223FYsa7;I?#rU* zey=j%g()Jadau6kjm(V>{@Bgg46EaVZMIA~i9+w2wn=pluECCQ0+F|&k&L+hDUaM2 zZ$l~>>h8N+@eHdRd{K9T9fb#+X0{f9!7f~%`~*DQql}~dg!!@O*k+$nt%7#oJH_xv z)Jn?_u3&3E5tGgOdZL_QXQBP@OJmepCq;Ly5bG0nH49#?A`J5N4$_vC6L!V=Qe$xvpE4if9s70*B^6P zLxX?WZ1ct7!obeh&IIbeZ?@rzae`zqdf$)2m=DsghA9A)AB7eYWBkW@_qm>{ zN9UW|u=MmWRgBjmk&JYWbOVC%7L8GWV?1?@*S$G7_q{6Lp0XTYDhYISc09T!SoR-y z_PO>uP0!ktL43P6=zTYu(3sU& z8oi{hd$F^inZpV%LE8kkcdZ%?{~Ymny}E-u$1EAEu=kHsA*C%T^G|gSAjZ?JkONS` z?%`NA2An6@TJl>SAM)7;6=bshkQgjHzmp*GafnTrCH%p09=7TRk&iFW-=XH(+1)S7_@Y@Wn;)W zVg{(!7g&cHijiRan%86ItV!1sT1~{8hY_dOqd|f(IY!3wii;845O!4PE^FV_9E2TaUxo#9c!16|&UJNl=eZ5Q?uE%aR=E zpr3B%Q#%Z2o9pYr;!JNu{cOSbVLLIPRE}X1O=pf=z}>;0z_T`BSM_jBrHLDgzfKnm zkHvkav&clXkiR083s1Fe)tL2&`Y!z zp)AhN&5?^jriKc+RE*Y~vhT2v*VQbRh2AylYh8}zJiY=~nngNN6#TAgV0tPxSMCW8 zK=&9QUAKRu;l7owgDEZ?BbS9Naf(&dM9fiJ^n+qHR}FCe;=ru&khthw11a?p^bJ+c zE%-5Cs>M86qJ+FD;odO`@<*Hh0r^EVoNKvIq zg|%~l$!7OR%VOhJ8e2W6!`{z(csk|#eVbbu%*|B;To3=b9(*xYsggP|%uNtf!Yo(b zxPo*|k@u_8EC%+5q6z*=IVp3~r8+e>6g*{4PIIDFGfn?qjiQA-F>7`JbzS<%E@}Dj zB@7yTAVB!%#T9Vy%QI>irEp~HoB-q_smiEYvb}`U2Y~G)D09ftv?R%(({RVLb1UTp zp$n9DvYJRKrS}Yth z87+A6tIR3^r7ehA7tjfUoKlUrRUPJbN{x#_(QX2Q;-iIz6$crWX`D3SRTGb^ zZtc_^&(nuaSsVjOCKmSML)*-rXm!WZ2vsXBW$WK zj!}F_+;H-o#`ppW5ho8}(HfuXy&NG&h6P9vBZyUes9;gS#IbrZcpC2T4xGL~B}1dc zj&R;BHx~eQu(o|ljAFQ1C#r@Z zjblBo7QKZ1008cSS);=ouMgrslR37B-eo7MVI=4aF@LAwJ)9!WCeNK66*8!z9;_A> z1_M~-a|ziU<+PQ!@6C+>07{60CT*&tYOH~%F4pg}!cj&H-MNbHTyVzk*E$T?axbFD zs$V1HwLlezQZ|s=O!fMHLqkKzgPZ*vpGw^BHssrP7w?h{D2k2I^NIlUo{~yPWyuYIs9xN z!2F9F)-(zZY!Z$6i8nr}_yvuOvEXIjC(Z6bcw6x0X7XlRK~TGS*b9phjk60yOBNp< z2L$msvepg9n%}O2M*;#;$>E@%zIwz#sSpCMgS>C8S?3eV+&4 zi{x$CJFxCAf#XmBqu>|pC2cSt3eX~Z23_pDUyL(;1=DGJ7pb>vw*l17-7+ zkYTLTW6xp+u2Ic(0z?zKglM()AMt(54^bmprOQRm8WBA#66L z1f;VR!b|B@7GtoxrtJY(`3ee^>R07rHprC00obw>6nBeIA&{fsx{#@HfY?AK=w4Id zt&~>AF0i>-L9Z!hj3DSe88J!nb73XoND$ zv1HF`agWuZ8PReTLI18CNQS0UOV*huZ4JN;kZsmXEi2B<&F~qZCLCo$|I`66nY^nr z+kX}Dmwma>pv}8s$;8_3X30#u@o#S{Tu0g^C?Pp*oOtiq7@`*uTHB;Ycj|Z(3K!8g5pzc zrMt;!m0se`mz+}pqt zfLz?SX7TU>g|iUDN2AK5t-a=8fY=|e;U?e_9JV4MB_*=>!DzHtDb&likFJn7a5x(0 zz`$l>#lv&lk28?#K|>y^Sl@jC0M9p7o0~BXWf--WPihqEzO|$adO*S0{>D?)ysjtzYR(n%XSI8X&Of z+Ynk>;NKF}Iu>vN>^chXF&z*7N^0?H0(e6X?+B`1ESwlNXhXpvhvfjO&Bu{kbqxFb zrsumNfZ+%_P%{ceCVnJt6Q}qt$!=_9YAsSti98_(ZkCZF`fI(g`-eq8q2CBWQ!GtO zDN3r+B>~>lx2aZQ(7Yi19`*?69RP%JuwkDVV)+sX0G|K8lFd8f(Vb>wC)^K!#K&z$Vi}z66$_~&I^lc^& zKF*oQ3I@%XUUs}g6guRR$IquOrGW>;j$|Cy;pJ`KP;ZACy5HB%b=x%?*8Pfvq855@ zP`)EZhtK*7oS*mo6NYII?x-*VglV_$`+d z92NB`hBWOJ=66+l@yy-Vd=A=9?B5DlT^hInQJva<+WW6I5^Fy$Dqd<(wYwzuj+t?T zrK*}lXlhgScN_W4=6vrOy%W7)^k1kxSsPjSB2uN`sQ|(VBL|}{bCiGfV5R4O$);w} z|7ELusfN1t@e$=1B z5H0^yLv;od0PTmRr?#`QL@n#uegvTHxK=n-m(FF5_N!>*0(8`Iw7QmXA{D2iU;QmP zH#Gx-Ry>B5-puc}=((kSgJcAhv(s%r1j76uw7q3eolO%aOpp-V-GaLWcL{F6g1fsr z!QEYhyL%wGySqEV-JP>{o~_#V-5>ko`<~rXMHT0so}QkoduIB~J>641Y&AQAA6n5$ zoK1-EkJvE%?8^&e%mY1+;s4P8bdTA6j0rOB|T2N3gI6I4~KWMf8x{?B(Qt+f?C2}v7g_)BrCOIQM;OD2&xkqd8~7A zb5B0SR#e@vQQ`Rl#hoQf{V^g&k(!eV>fp@nHYdMm-*gICZd@jKlMsZ8776GDbpHs` z@G|Tv;*c<)fXuDL#eNZ4U0fwoo%qU_N`JT0X(gzjr@o2!z5sk6|*TY<{=)6MWUm_l;5JN)mJRL0)Gp5y;!yJj9pGAx4 z$RABc+G74GCOGa!Atq#&YiW=HI(U29uJg;Y8UL`8yGgVTAWEx`HwCQjvBWgDOis)Qp?}}uuPQw(EZ42+C5ug8 zfn^d`j4x>W?lQ6zwuqI{@f=5(zS21T zBp5eVpgiWoA~BqRVyZIQ|0FMln-BV6MAyLqZj8+(MyRc$t@=Ii1P)#d=bS@~@Cg$G z>b`*Y-6hV02(6oeszvi)EX4p4ui^% zg!lBt!7H=B-z(c@X_U#vINnIKS@p5dw;58g&Ix?t9)s-`|0jW=^q-Eaf}Xm3*qC6r zUh8iQTRNvAMiE|D$1$3sH8Ej!L~s)&b@r4tP%7q5%7I=ofiFu2b-d)UTFI2OM?Fvg z4i8^WLihLK$Ve+p5dR7>SZ5$*LN7Vsq)DQ!saKD@ZSuvvVR0iZLsQE^wc65PiLS3n zeTd;n+ygDm%VG~a$yu;SIK8?feqZ{TGe&|}1Ivi}7qziZEz6a8(loj{e5)U}YXB?U zBn+25!i|K=q~jO5W&5afl+y5_rnN5HlxF z3W`|Beac86;dj1(j+W#gU!Vq<{2`cv_lP%ey8V(+)~?K}A8)&D z!9X+WPwj9z>(o=))2`jNd~UL?dohSq+~8=B^=K2GU=vTo8E?XO?mhu=o=Ap|hQ_Re zDiam$4voejQ>OEFJ95{mogdvu76KPDeh(w^p?)oj%$| zzX#(rIu%r$Rwntpb9x;(i&jm8-qU{^kd|Jz`*eIEV%NCa{{6C9(5aLa``}YyJYv4w zmj7^Uc!6zQ&H3UudRN_?H&_VOY#J2>>Dqm@@Z%dDe|`DgIKl<^&c)Wwx2{bkf1m2L za1eFrOXtE;<$9+BBR@E5k$(VqH_f#`wU_$=n{!b1zDKRF5JY`CY+=T<+4x<*Kn=dU z1vsAfG2D~MWI6mflD&)E@ycy|Ag7ByrOG$ z;;z5(L60TCUB{-O(k!43GkE*1XSzcXV3oaUjsq&J`^0dG0XL)R2gu|!u{qd~DU;wp z%1^1Jb^Q3#FzU{kl&G^wg;Hw-2XCy1UndwKb2;Hbl)>kL;}Au83CSP|-hXa2Jvpyl zw^tlVyJ$bSPKWZusU7fWdxGXT_0)&WN|c_tI8PI=-+yjfub%6qgqrC4(eB_Q@RM!v z#9B^XE3_iTA*SjoSgV&96SWusWpov+aV~q^rU2^EX|JZrSDfqOy>` z?eW)-I0ew7C{|I{3fz{WyyMKNUARtBn|?i!qgMU(n)v%_G-cqqGvGvE^Wq2mgy+TT zrpC45f)g>0YQ;$7>IuIqQYWvI`Nq7dI0cIM$&U}H_SrYJaEYIUlDm@|2%;^b4*V2 z!;$en1C(cLmb}c~^h0ID91k-Q_v|as{obSD?bz(r!Zo2FXU`5qfGuhCq+E-5u~hR^ zG$kBT=U>AJ^Y6)H!()_e?hUcz5TFpN-}mT0lSQ1D$|1huuTB|45_WvsIbKsrL89?> zlx*JO^Z_bGYCMz^j%LO>ym0hcDdBI0&=n!J<42RrB6G0Q%}00N3vHF`XE$ucq_ zWqJNNeF6H#m{#-Px@lUWkB#$D_$(W+{szYAzW2VVD1X=S^c)#v+7bm|ek4j#!}@Qud+W6fl|s4lw^ zocpZ6_M!A!hvjYj%2>(f_cd#*1K@t{xQ%F1f<`mbdB+x&_UA#q%c(|mQOYHroJ{4- zQfnhS=0-%5&`oWZ9!G%Y$HXdRD<8zF=!l$;F{fs3rZOmPYVPc*hNI#$5#RA;IO&S| zT~6x(8k*AS)+s_vlFro*bZ-fgw)VCD4ayR$Vq0K9$YXcSvFJFNb{+K+JK|tf8UFTJ z#q+e`HwGQJ8hbYt9A_+%{7hvzjaf9qM^-u{jfLjshPF&)T@R}J#R6BqRs#|ImA+N= zyP}sA$5gAPIVJjj)%>Z6GJ!LDuNPZGxzx7lAMYDPF)k{6$8n+6mLPLDIfbL2n7xp{ z>W`I_j|fs6^&3^sAMZX`zn@lk%n!x*R|gUK4Ng3~hSDGavMAq#5}nfo^!FSF`IU89 z0JYSkDiNFcAa2&1jvp#PWx_n=9nK)pi>L-og*Y$b%sIZvk>1m=Qn_v<2{1)Tmd&p+G7{~Z1Z9G4_;#1IYzpolgIreQ~ zUCGZy#p`UMt-jjY1Bu~oYHw-LCNERjme#FpCuwqf8|}5_p@Gr%Mh-3ioxSie&N&|f z8O3I#A{uYEndR7CI>qPbX9`|e0c}9R2Stgxn3?_}ZTvKaFGrF<*PX}TUkv@6!R;7J zvfQi@0eIF8mCBW3dV;;>7q~BYqX3vMeAiknJ`tWJhcFVDVT%FiJgBu_Xfk%kmp!kE z2$*34=;-Q-hGwl3)hrt&zujT@xTw5c)Yi2UEkjBl53J2RTE79ULlEJ-@f<}k>M_X$ zikzKpU(n?9HU&c7SK6(1*8}YLcTB(V5zzp4zEJ_^l41}4Br_hZcI(*@m}t$*m&wQ z==O}no7VpFxw>aF#mn~HGAgipPhz|f=P4(As+p7ybC+r=FS=s6*o*+6zJ8ZA{WFmb zF~nlLlli)&em9~qzObr%(L;9mWVyq$F;S*VXeRy8fXCMt^p4!5a?J@Sb_^NyK;{;I zM=V)@bZ2m)%ofv3Ad7(Q<8aTMp*6q3yCTlr#N>Y3k!`?w@6hJbvREJ>&Q117!ubot z{#Y$|dSa&w&PmJWbd8CfF5JUlNF|S`_Z0!m>C?wI&lG!3=01;!m2bIfh zik*Z+$I9(^_N$)S-E5)FG|^yBkA8>YV2TYdjtZZ%Eb{3$_TyhOp8%B}TUR4l-3fe3 z(2F`bVyOnkzHMcDm1|^|i{7h5g!ne1cL&RHbyQt=2NxeiLXKf$gEAhVQ>)2X3d!E< z;@At@ch*0`fVI>^*)|*}b(6W>+RZSgWdmkd{dSGdxK< z_ZjKNMU3wuZjX;z@-6p}2T+uhzBdY5)Zh zAQ?#e`JvRSn3z0+pR;ZG91Uo-8>H3%)#yZ-H3T-aV7rmD8rDawN@%7yIsPh2+ui zE|aIzyJ;{z8#2=4K`MkLf>BULFe}dcuAI-uMeOZmWV!r^0~LU^*D?wJ`IHGVc-3-O zwezTpaVhfIEeVuT<~&?u7a6rg$OFuk?XUS0UPY6lJ?QBz@4Z4;02Bx0#q4d?G+&z0 z<~07!$c%0$QE`{1vP~ojnKoa=0g4lH6?1xTCYbx|x#;_Sp}ONUDE?yM1C=zpiQwkV zVh=!FJ_5{m=Nb(Ii7c4y=A0~Kzx?= zmhxnd?39i4cq84>p6t|sLuur+JTjsJ0DK8CtTy)oPw4Vgme}e4JDWdAyIwFY;X&Vj zDE9G54+jP(=-rPpLkGsMJ9I50IB$BQ?19MLUU_8Hph;G8WfT4y7*(LQ>Tf%vlj(N3 zjGCvM*2y8fUVNm)z1+fHOi6h zunKy^+n|cq|7`UlxPl&aERlWxxHIiwkdW;0lB6b{P<%#{Oe@0obef$x! zYJz6-95^}ntIa{4tBmm)R}X6xQ~S>2J+u& zZa)5IFk;?4E~^gMSN8TCZA>;=agXOiXZ6J`_KNx&!rgRd^Fz->aap$c5;K4p;0M+} zc#+?H*^d17?((Gx2@olyNIXHTdPt9UbeQ2Z4Opm%b|w*4b?QJdFs=i4?GuzHkCI)7 zF=~>^(P?(jDFPL{gA>Oom!}@qLXSUTOnHwTxeY@Fc=COE9G^gOx2eOK7u&_|Jo(uM zdoK>T!=Mcc6`%fkMg-2bQ^X&$>gm6Ztq0~Nj(xc(OdO$*Vk9``U4R6XXY#f zqP2mA67HNudPgcfAh_wkFmEGv68su|6#}4QVX)Agqxg|-$Je^?c9}H}KxK*V{-pds z#e){jyAyXcmSV_c(?vqc;iwD#~V8#-veaZ`Iqf;B5sa zz#+ji_C;)qgYvU`m7B#umg&^QF=N;p*;}R~6DbC!Kve@)e&)RGO#Z4v*EPv0}7 z4dNjM`Ml9MiQUuL_Q>UC&Ucc$8!+soRBtQNf`ChEM*)QD;a~Yo53cyh>>u7JWe$`9 zXf-olCh>8ZShpJm_K!iYmaj`VZwxOX8&qpIsF7Y{mCSM3EEVr5Nc=x^O^#u%Ub3<# z?>)nSK@h1>Vl4l;!hm!g4rWgmXpd-@>s>cwmAWPzc%wSu6AW10Sl9Bd)J?+WCBgGW zNL@Q1!DNN2tFH0>$KgQt`^al(Kmc>HfEZ8j>ZoUy(|mwn5t}Eu3L%E2`zOap=Co}+ zv#G!AIqwQEB_DS#H?3x|gs>@Eo>&IlZ32t??QX@G>t{!krxzp^fR*FK8o`3cBt#K@ zoTm+L-5r62>D`HymYc{kd*DkJwPrd04|qUF1Xs%eFEV8X89TRQSJ_#BCzE}!{5)mN z$hbIR&FR4EC%{wQY3enArvn#jN%T%)HShujaQFH(7`Q{&fF~h{)!w4CSUaw}gYg^QRdB$#&r1&B+^uzty^($Ud|oL82xMj)E?MZ> zSf>wEh$16G6oWl3#OLxks~#bE9EU6i9p+7r1(bCbXjx6Mr5jFOZE}2hj{7Q*77zPE zyz^;77qs*ZsF@H6Dm$fahILm;dasfJJY#S2MYgXY4LGrVP|c?>-e3Seg;4_d%+dju zrn}j@ovG)*%#cmJ-60;+?(vBbN!q;m00v-`jtJ^__vMxHA zaW&?y;6LvT&}17VWC4c?0@}?_=lJA&A_1%U-h&6aj7A7(eZEh&+@Jx7@^$3UTeJP8 zWo!8#gz$AMyN*-JmJN7glfk5q1&Xpc_W_p;G?(jDTv(3(nQ6`Aw5vTAz+S2H_f0f6 zbh_sooIV$sFNiyNS{LKTZFA-p>rf-Y|lK}LPXwKcsntn~cTE|>Y30*u3KXS0hFFHmstk&Neq_{EiOPt9{fbmfbH z^O_G`qCGzJWx7!=y(XO$kB`<?EUF$0o59^&O-_RQ6?> zl~6j9>s`Drnsf;>E~-yl#-CapoJ*=HJ2pG{L7k?Pe1zEtH&2fpRShQrU;S{0aM<$n^Vu-eOM|8#8Do-bI!ydP8!>z%*~lARQTpCr%?f{oy*qU! z*w+KOMyXRp4F~hmF zeyhoYg7<2(gZv>(_?@0xn7OPUYd7bNYKBSz|Ju$&=qZvJ4^;Ww{^v+;I^u&T{_mjB z74N=RpwNN*!gR3AF6#CS2Si_V#{cIawe4E9N8(kpQWlYqp3;73mJ6QuOSQeqXZ1`A z>+k_$U98P=y2JWjC{5RmSz`Y_V%tGT1YL*r@a&QlwcjZ0sd&sT z6BZ>kHb2A+t`FtY!E#h~dI!qw#7@>bTQ=P(MO}Y~YRZ1EM^bubymNs1* zSbgfWGFXTor#aLo>;kdDtArVhUq#IDZn{Si=K1sH&~>#;G>zo&_2LbtlB0%r<^Wl~ zfnC@g`Tlw|Oiamw2|*osN(S~%>uRi2)tIOCg~l+K0c)TUR-On3)DT{Mm$BUzQA`dh z&+1_tk5h>2pvbU%rvWI{t%0#0i-(AK*TLXIihEbo_(*h7_c_Y&*CD(hcWL@;auO>Z zM0XL_s|=<}L(5vcjry8zJF#++HVF2UHC^lR3`u-TVmq;_tk~Av3v$+S=aeMs1s~<}77zE2G>Il~4XEU)g-vWXwD)2Q$dg79-xVBSKhB24b z33fw6PctGbLQk)}vv#ZPIwl=;VjdW?vjy(H(C-kbT9> z2(&OOB=%&%Y)Si+8~gD|{=-Uwd$m6b(Vr0nDSm?bRa|Sgb zI=bMmCE$E;-53Lc>{@{uOux{xYvRc zsbOka=uaHmfJ}c-ziv_5^iZvW(sS-H=!g-S zx5?W4T;3oBQW1G_@sD3%+V!X^0v#_uz`wxxF~MDLe_*}FdKN^j2#}VC)`kdVN`-^o zqGrYW+| z5Nu=YC)zE#Il)0DeXxQa!X_kyrzLznvWlRHOPm%FKxK$8+c1ZS=vsPof4VRp5eMSF zlF|8+%0toTLCU3qrEhz{eaH$wxJ#JGoj~MNh?lJ|tWj7QLX!XWITDb4v%SUoPq4|~bMFW!YiZR$ zu*u()CjaV20WJpMMuGJu_f%P9{H`mWg>I(Cx=3T}myQXE#INZV=N{)=rXpc^!1>Ka zD{2#>+&eLa#6r=aKuiq!WEJ{P7v*K(n4kG(QZKo<>mJlG2KC!v3^Naoel6=J(?Zkk20{ZK%g;teclN zO60zt{+=mCP?9W%w=9RoB8S2v9}zbXg?krED{$0~t;!#ZKefh=<$3oTe781s)C&`o zQd|^1ufO;e{C+;k%RK~r&`gQ1$ZKGWgqR_#ko2#wmcPWIo%;Hl@O^rK8!EOi;rp>8 z`yo<;q2nTWd4mUQ!6pr0l6REbf-O#UWnYKduwLYmWbKiyW5ac)p|qz77I$!O{fR!T z`EE2}KzxDk{erlAg)DWc{`3pXIBirP;YQ=T!G?rDpXySu?G-`1TP5K=%c3|7eh>Mf zUse<1Ad1K*uPdx)J!G5SvnD*W%P%xHSwz#vzc9T`I#3>RU?wk$>CMf_a)1QgP}Vyc zKhBv>UW1Fq&g=u9sJsVZDtaj&aaZl(eYR}-YTr+8>D!`QYhcoAp?KueopC>pXhk;m z!0soh1-aG|W*g9Ubbs@_xI*`aK^M176o+aX+<8z)dSZFzI%Z1gLmQJL$$H{yK_0y% z+312^@@2dvKd#e(W))$PFbx#?$Nv(`0iSHJKUqrIs*A0 zmUAk|EeBb5=Uh;lwMA@HmtrgS>Kcm-K-Yh~_qZ;6#41S^RDj|Gk#E(+mIHH&b1L6Y zZN2BXVob|ROAAXXOPb_FAnJtFg{NzZii(o+8Y?*8{bwzxXsXJ=n>$&6EgOMRuIN9@ zx0{`R-aBI+ZFUB0?XEk)b_TBn{xcPP2QEM18=3$72MB*r6Z)6IB?kYAJ6q;M{Gg9K zaFw!-AtIC?7rG$6gNq9-e@ISZ51sUF`=iu>eAo<%Nb$5(YFL^`;Gt(9C?(Rp?jrpx zTlo`lhN!X&bsQ0bHj*%sHPYZxkBYFYNm66YE#>ae*TLSt7%>kVKwvPiHdTJD7aw64 zIn9>f@ca9sG1gk9#f^=4F1M0F%x@me^z~Qr6KYG8Kn?`pR1#auaa zWahDcc@ERVR973E+<^Rtq(hkoV5sm_;O?0Hp9hbk8=$+G_oce*y;EMVn^$jfjte)Z z_v)AbN-L!Fe>0BA;Qv(|(O*?(j`b1G0X@a}w~^}qNcm5s`kAt}48AftKb>?M6i(C^ z3NfNkxgv((WqntZ1R7y|SHH`8Ka0{pawRqW)ji4@O!v}xdAP3y;Pe(&5&f*F;lCP# zFcq<-phz0nWy^hqqUOA68V%q=Un@;b&XFOyw_0199WT~yG95dAOr$ybf9Ue<&4>8Z z-K>K&azP!yoxPDafsaT{awu~m@6ChQ2ku(Cik+5)V%1Rhy`yz4B?9hk zBKL8koMD(cSd<}XB}h&AZpPLWB4W<(Ik;5k`O3-GSfNxrGF%GfW-V!8DAT@MC7753 zyQm*kKk~>$^80$IUB?LVWm#C&=7AV4LWA=91zoB3e6TB*pZ1wWTK zF3(1D@oloOo5H+x^QyOPSPKWo!Vf?1F?GfLoACZ8=7$oheqUu4J?oW0)-_v4Ni5;h zuwDq4?mS#<>tmjJ34}LJHOFXnqi`M9IFB3bEVF@2(uo7zqd2YjUzKN*!?3MP^{Af& z5wW+8B?8EnJ}h6-k@@1m=D=s$c(QzDZSxHfLK^hNQDgGM2*Gi!c#P>Lz_k7&Sb`fW zC7E9Q_|W!tu^FnQ^DtKaG9S>h;yRqX@4>j5{bXfyi6mbQl|@nmuW0wqXWf`z{Iae2VDl9=vgO`DZ$Ol zL!n-E(3&Qn(-MPyb+H6lSRPcm{&e?;U}BeQXTk~_CMRV%j)!3v`k&gPBqR3yHHKw- zvU_pvU!k(GJ9)hO?9O){MWC%E&?2PbL>0m7rgkPSo8iT&@Uu#ZG;%0n2%bBXiu4w! zQd1JkzwmZv@-NS~e64)F6WTP!DNfsYgi0KhMza)2(SE{;DBnJ*9P+p<(XRRVxJt8| zeUL1cQrdk35us}4(YktahmM6FE_#fhenxAEvlCT5UW`buu>Mf2A&}pzwEk3`l(?5L zx6p=C4_j6FGf|~v`iW0f)jV>_*ha>=E&HqD%RLss zwP-^=mx}W`&H3yFf2n5C$`AhRme0GK2!rNT^=fY?H!_21Uok$LURMjq4c3Z`JTF2k z4yJ|8o$6+rb5DFNzyx^&b4QaZPIU6$az|4tW|6&_z|svzA`o0@xh&3}Ql})EMRr^r zQ<;41jU9Wu9DN=Dn_p-3Y|SoG>aQEQ_9Cpt6cih!ACTFqN0Reivnpxve)WK+Pz)+U{!9>g&tf+DVQ`9VJGo-?P{Du;q&ha|Q3}uf zs;~4IbAIiEq!ARzoupQfOX)xi_c>Lg{YEsmby z?=ENYHtyKpUs&Q~|Fb%Qfjug$IV1c>-fcoRgHq>8K>mpqeEH16tdui1QecBb-Zs@gE+S(H)@T!$s?6%X?38 zy|LAo?t2N#V16qbVYGKjU`moULP7TLe+5*EX>IF4VIOnCxAF=mp;a$*c*DXq^D#F79 zknPYj6&ozB!U8^%CR)_$i7FfouUp9{Ec`@`PjBbibe(*fXs6_$0mBYDFeC!gwK}-L zdd1`ES?>^UUd3^%!aq-XDOpbvUpLd%UfThANm+UJ9FB~5j{Y>(&(wnp%1dQm+` zrJMMLK{Kgn462UvPd=mmacxmV3r+e(SLtAx>Ns*k#ei?G(>|elsN#$6lg#2CLo~k$ zFKBbZN09`~Q)0hxM`=VyDiCR`O*Pd0+|%L^zsQ`T@^IN6i@UffDLaF9EQ~jop=ifX z6T@0O)132)+!HI}eXnYjojcW7J{ti)ehi?kN=Id;&(}8^zQv-{@Mnvnd+1xsozKMN z;{hqjx$`T}*6ym6C(1~VCgAwEEg77PPWCV${y3AbkZ3G+@~H|q-k5h%`3XigI~<>O zI*ay#hFHIL&Hvo%YiJdzuCL&u@%|whE@PU@=Wa32bd`PYmu=C)-W-xvLM#rO z25^t{3hk~b6bER`!E%B707ZY!hiQ;el-G zIO3j}Hm4m2S>kyOdHb?;pFj0RkwRIc1wKJERaYzH4s1%1gBOco!&(GTQ zPrO*L6j%kYDV)Tvnq8Fw8m;Hs)p@o%@I zymFCjiDCD@@~Uk?fF*S@X7qKa1oc-uA zXeyaBHYC=pn3Kmw*q|x*9dma`_GLi=lEuQjfp>|;A-z0rQRr;wtc}!uwIHRElt!a` znJv2f{_Ytbbg5oYVJ!R>v^S;l7i73;Gt7_nmne|| z?n}W2T!;{OMuM0H-6TT;FIGc+8_S{E;4q<$yDTxvusUZ;wn0v{j0mW4^vERBer9bR zkL#|ObkFQPap4cSp?f&)kr=g@Io*(AQ^>(~o`f;pej(3;b2GC(pcj2R{RqkD=qet@8qv7+8~uZ!s_`QZ>{B%QrFQYdtwYaj_2y~PRQ>OS=2wYqYkJ3 zB<^zj`SqBSwk9*pVqDGG_|4hF0%MeIv#BAwe=@rBzqa@PE>a%A=c23I1S)78>+~oVKBcv;HTum4IrBW zq|+%_5W|?YP;a3^h8;f&z{Q5@6Bk74lVg$#y`~!IF%d=d;c11}evtm~d78pk_@0>| zOo0hjteXlODqjyh(*J+|(glWt6c{!8;lJ{Pq?%hPs2ablL<61u*RG%8Kd#?oCt|le zSkP538FB3=l0J+ci{DOHgf8p>{d&enw72s$ZV}J87*UV)jvap%XE)Xg|el$u?Fy@PTKn=4)hOhT}QNLUQ;G3o%^ih8#@Lo zfz3-}=oncY`iFS9mn+i@#|f^3HM#F$QoJno-tq1Kx%>~GFJ2F9P5f46M@{{2m( z|Nl9SGmr-bNZI#a`2D>H*ilB)9v^rb3;2FK|9`kTnOg&Sp!Kco9AAK3>OKm<&BUMY zvSB2O!M?B{-v}Rp@_noRyU|rJX9Z~Ke4aH%bTBMzb}*{{L!+|hMn+b~^0wwSPP&S= z`bG>+ZcY{Ln$={QE}0J-f}n)ct`=QF>N?}890~sd$dl6PSn~*9D;V&%EuV|4s0I=e z#|ye_5}NX#A?wZ-rej)P7Tcn^_BY>Jf!!^iCpn)t)tJtgkj{7A_uGp*-S;=$_i^3V zT><|0U4hru&c{`Ox4q4`c_Jdvr7P&l7IYlrb64#1`XcatRZR#w>ID4;9e|z>26f+` zd|sbAUq?HEJx9=O3h44N0`yc3y7qY;^?6DW0R0{mcwZC%#rV9>Zob}t-hAFqe7s(v z-yXByj|4z(Km*&=p#2!o3vA~-x0Oi3Zh=JdMD&~%s-ylldntnjhz?v_G zoe*@>33~GJ2_zjueK9kS`VM%{Z!%@I9#1-a&h#~ zDeW=WL^$ukqllfKGF?ZA?Z8i@tQe}Dtt=JJ7jjp!agqzdc`KPVB#@1vDg0x9=$H=T z{X?kq`gU!#KU-4 z0B&w#X=inHE(<{j3W@Fb(6Nei{zf6*{cuc!s&-CiG2bJb zyY$?ZWSC5JOM(0QTNk#zS9z*Zb|*;tN8-vkTE<-}%iv7-Mmr*tHY05`Z-P$XyKHsg zsra6YOlB+*h9ND>i$d;E;Yl04@NoU${mZ5^pT!2W+JS;FtVdk?329;E;)iIBJH}^h z>V{MChSY+(c=Pu1ya3J3GD+>2DaD(7C)Cp9O^^+*6x?FILFAK}C~SqRdhd{j&_Vr5 zq|${=QLH#MM0-ilWCb-nK?R@mIMJ6A-9=A$hL4?!IL{NEpmonVN@qFA*>3@SE@|U48L@?lQC{}-6rG$rswpQzHNowx5ff?56x!{ zQug&fIJ*Kiu@(MgIs8_5*HSPVqN9I(5?^&TVBJGnzL$!dP32m(QpLue9rsKPYx4HrdWa>Qf7 zE7;>VG=<$ab-eWowb8<0Y7_023Q%= z>zezigALsZW%J*^^oBC$aE++W8C8rR3nLcJnvzK6y!=!a&4(u;J8Q}~T;Sc~?gpQ0 z$m)p;lNYomaj9=iZe2f$G0xkiQQ=9fYjUCRdl2MleT*Ks7rJlQ+s2~EjDeo$8kxRj z3$gOVM>1+o6rPNS>)}hvWx+dBiOxw+C|s($Tl3Mb@yjA2pL4df{B!EueVdmz(HQgV zombK#(U5=T1`6-)lW;Ms(NJL-+XkX&vMLb+G(&y&%S^pPtd&DnqiE$0M?yAvYre4V zzHUl{D@6)E;WM6GIMr(TML_HLbq&j=n3OoH5%Y88bBp=QABE`UmP}Qm+~MFQ3CRs% z4xeV9r^N6$smIsi3+3DTG;G7Z?#VSVsp9NAX^`#lVa077ok#L_vu1QI=**(cl#bY2 zCOW>v{J8Cf`Wa!0eGiqnr{CuDz#@%q`+yOiRi$JN^&|I!T$TCp#r(;~tA>~Gn>xs2 zAb%9*>4&zy>_UB3Wa6AWagY|{fF{GP$M@J$YO|uMM42W+^6dD+YoV4MO>~8#OL@V9 z7y%>Xh1K}I8SSZr@GPhFC_4Sy;Fi}Wt=6yU(lC2pJSy3p99Ubl;+3Owkg1k&kE4e# z?fr~2a2Z`Q%RMvaG~~)WW~|{caEBd-Scg4_yB?;iT?=_K3ur{Ks75)C6u5PuyhG@Q zVcGt8eY{edTa{E28gJQr##xrwP@b)~A^0vx`6J)%D~eR6!`GQoB}Q~Tj}AF`Miq~^kg?R)`kkLF408{-;pDd; zjl~|Ty%*&BTmygM=ba}6#(K>NjR+r_-Emi@w?K0;idygq^ta-m<(Ng;sp>MX$Be{h zVQYNI)1t7AV2PJg(K{lQ>2tXI!bH;o<>HWGHNCm3IWAr;cV2+JK$92efUGb=p|etz zzjzXBy6{HKkZ3%GmEx>CW!W$2jP6fE^DP{90H+tN$P~xTym;fi(!b8Pj{Uhbhf`@K zf9ff+;!bG<+vo?z8BOHZb=nn1*Cyd`V{IY_u5jk)I#KMTDRo`i(UKHR7>ryhlK8*` zFezA6hFvn+lGsE|wwV@n*tWZ?c;b~iDaX2=2IyRnj5wZQrrz$LQF;Md{^q@QwKl(^ zX`oNJ`iI%di|06B#gjnpiEOa%DhIJ;ReF3!l|vLpI2K;z{4Xj({Vs(k3QxI8?elpw zggqAt4#S{e_ow$fG^`ass9tj8xlF3W_ za|gw`oED7d7wSzN+F!&Ev(0486w|-eqUD7ID3%zFhsbFP=Bc5%CN9Zo{*Xu{*z`|P zpL~>BR^0321cLr)Fo_TEFYT z9Trg5IX|nwBHmh5xuu*?>=vJjU^!n>nKwlS&n(pSP-;82Gl!+`;oLHZ8a)*rYDoHK zk*m`CIP#SjFo0;P>DP~5Q@jtf`%pZlYZG{PWA;>T#}S`q3U55K zsc6(};hz5jp8yWoPxhRmoE6&l*rJz_dD_U^Hn-9N=U$Get!mbe!-W^$RTS1!7gIKW5 z8bdGo%(lFAS2dbfw33Z=#F@U4yd8VjpzD}AM92@a8ZCqasykwIi@Bx`9fTAd?#N%q z3JZ*CJg|@U-K1`rrfZMFkIE!73rSM0rbZdn_y{n?mTUEiH^z7%hd6oBjU+S*_Z(mL zB!1?Z2{*S9y3ppMAD5s@73}#*Nwo*KXX+`FW!?tn&c>Hg0-F_8woDQe#j%uYNeE>Gja)$m1b3m_Y(Zb2S0|@u43U$R3@m7^ zQ$;jkIsPa(soIp6{0iYI?@eeN+1Z4u7G(ciOtGuA!(c^L2Y()W7U!+kqBUF6e+cTt zWWQzKsW(j4IBFabb_Pc*eRwMoLy5A=92rpmUC`VdW4e8H3Av z+@U|y5P+}Cp}wC>GVPp>#tuPQh?TwY04t*Kh+5u=NQRy+Qc*T%x7t?~Ta^=>5VDRH zX(iF3eap?$(8v?7>YuMFP{t@zycQew6HZ}KOIPr!h)%o+GodttzF%HM^HIk`A4bD5kKnz#n7tR!Rh7mMJCfpsfn2e8_`)cyW z#drWq!#R&ak(qb9&8{d#aY@iJ4*T?4BeSfO-8Q3&6DlMnDNDvyIAWezRh4a3OPK7w zbxGj;%};YrGpmTYn%XC9b9r>$`1bE@?CC@rIudMQZtR*PA5n2LIh4tM2zExS~Ga^IFx#6txF zD2m12lC_=a0<6SLV|&|+jN#yb7`oMvBWf}YWA}r;?bVqR%Da7x&uuClG)0E|P%GTR zHsxA@{u!Q@?E-KdiqusMJdB2mFyB)sT-K=F-M3=zN}i9qhpdecZ1#qvzSQ8z3TTjx zYo8=tP0LZQ>`!X1O(mqqbNgs^sHQ-CKK^vrKH&mvyhmL}5mE?UA|LcRogtl;&q)ym zUcL@<$gT6^Jmihy7PC0^@RyF4K}t4^rlpp>(CCv$Bj#O%q13`Ck^ zQ*PqCSkwAeH+-o8oj0>vhd>W2YO@e?F2#k(sV9?^@!Po6i9dYemT6hYD?xn9HYl(T z-i3Iw^S0Lk7kW6LgBc~PYRXBYD5ZRqF)2Y_G&|=)UMohasu-+L6v1%oQTEl!Ou(XfMm-ho~OMU&`aICKUx*-xBI* zd>AAXNQ$`;I~L;;;W<%MsVoEv4p)_i6HuLLL}RBBiQ>PDe}kw*r5z!my>UPGrvfFs zDam}xw3jT~+LEtm@%Q(;j)o44(TWGZ+w+(>u3xX@x0R-G{<#}f(vCt4PspFCHe#0| zJUQiG@Y!)p$jOIzpJ)zoRvYL8gs4L-V6LKm!!zVGCj~FVXP}>nl zxd{=!@ROB~71fDkmN?LAn8*>px2vw(r=4qrD4rEUR62!6)7qYhY|Iiw3NDp_wjJj~ z$P5HUjlOpZP*@JLGB|18vWh}&m$K$!|59Sc&bZW?2Y>raUWMVt8qUqYJ34U}U}v3a znFoLSvPqqnP;q8hN8@Y_+k=*5P=@U~9uZv`PvagO8)`vcZiAtt_oC%qG#@mBk`Ph3 zn{4|XJFp@#7K6%G9pk_=h4n_Pvp^%*ONrFAkh>?!x10SEADyjW|eXy-SK9e zItO=Ym;r4erg(BdhFZ{M0LQv}@6 zDZ4YZc*kXkbUvDgm0bv!cN_&D(ouPmSpIpvn=Vfmf~PQinDWYl35?hZa9$8GMr9Mw zn!U|G-ffi;K)pT5K0L%=xS2^*MM(R=mH7+dgfmoFT+x%PJ>4q^EKxA2_YPqIJG^iN z;?5d9XTJ-bD3xqkJD7_&kp z+_l~ljugq4Csh_tL7Dcu5<2A-c`C2g(pKG8bk%r>rPM}V%zBA{n00VibBtevM*6v} zvAep7LeyQf^+~B$5C$X9zAy52>M&f!1p^D;(xAC0Vi~j>i1xmPlvrJIy! zmt_DD0@#N)OUqMVtF1JA`2mSJ9z;i{m{j}Tg{R5{vO*@BpIsrEk_RFwoV%P2&ZGDq zM)E-7Q(9q2q>%emP+Ce-yy7w(XGq*nK_w~=er^8|91fYnwz6RTE#=3Gr8_n8luu#F zklx19?dbGK$y8*W^$e$^I7)e_bPyouy7Bhk{sqUI`Kq*9{x~5y={8WFFMqgWvJ7r|W#c0K>IULH~R^REw zfhbIrwEa`kRt0McH43@MuvX%3;A<5 z>nL>7)RF|Ju(7^NP!)RVCu475;BilNLX~uNl!2~A z3IyPn@U5eZrm^zx%})o%n<2Caxwj#}D{gOe3N z(AB!9YNq5FZOo$T&T`RQ0AU})uussls@)F*LO=UKqS0u*@d&Im>7_W z+>0JpFF|!4?<5^SWa%R5Vv^)@2dUvq9pL^aicW=0`X!G_!7hP}38&|mj`BIFMM|k6fap$*l(YnFO6n?5r^YX^&TbZ zWu|`d?dK^&$Pp_FprLnTr+5>Fi^(9kTj0(F2DPj%`WfkGFvkSeE0fU419p|5^zPI6 zjG(o-Hmtv@pU8kFuX2y_LGUwDVyTetQwC3lrPw$*h4jIBX9r9)!!AtGLz-2B%1x~o z_YuQi@cgt|=n^$LLT9~a>aWXcNCOr3kKyJV;YcD<=)OCtf(60wOFt5M%mz)gNkv1# zW`rG|5>~I?Ky+y(fwS@7+oz_((iHdXX`Zg;FTvth)QH>^)#fAkzYu2+fHab}0H3>z z>MvS=NTzo*IRjbS28=MAB_E{4c||vMyHisI1Bs8$J0hjyOe060K+)vk4lGAo=_R8F zmD=U)s=!mcJ6nLbGL!W79j_~BR8Agg#L%0k8xrlTa2B0jgEGLHYfo1~B_A$-2R1=} z-yoUEJV68Tu#CNQL@}=dRm!Kw%sW_7LO2Li>EG(2S=RbX5g^`PsS`+q;x2kfr<_tt zoM@wtP5F@!kXCb>WP}?~7^xG|SCTH#kYACZ?whQJOfT}n~)i*#LWR5W+X)L1vXlu|Dl~&_WJ|HH>mFP6mevmd7 zr2uDoBIUF%qxRFcm@-Ops@A}vrLQa7Z5o{J1-A+eO13+tE_?h#cZXOvpC>lVE!n*m~%+Rf{C z80510doo2CTc5EuNJ=r$(P?scuc+^Yk12?YIzNURs{RSM`45S}BhG^amnUJ!l>t_Ts}ThC<`m=i?ZmHbrifQ8Azw= zXEb421qza0&i@DXXgkyjzK&57208Q%6?Q7Ma4}p$>!u^C{$2)lp%_uNoH3S5R-KR3 z1$U}LTRjQMN8G$&iBsk?XZKHZu?~HOrLU3Z1b}`Wkc1td5;g}g9=KBnCC`xCC=c&h zHZUA%<2R^94 zg-Hp@>dUMSrV4fgr7)SWlRskskyY__y5p2zl{GKGPgBM*xE%Fq#!b4H*r zWMB~M$^bK_d7Z3m3eE403IyMu5OyML`k1hap)>QBz`+)&{*UOpvj%W|`TRuzu`+XGZ|m4K8qaNoLQbvOWQOx~bx zcd%sg!Gcs#io2#Yr>u1t78c*t>!*Zu(@*k{zsXI;kuQy<>BoyDK2Prb(>YVb9{U0c zM(3Hvyn^9l6lGyz5)H(Tu=uXtPTxiO?2V_TZmPiftgfN|JYMcxai}yZyD+W4Nl>q} zs)F2;R}b}WP!d*CAO?#c`YHtg^3WHsOiX7`U!|!+A0Y2uY6incOhA#S?(Wa8#aVQd z4#qNE5~1$gw*qAPt1?I(n1n|q6lXOm0|)hB%L!taa}B zVcO;SBRGk8&3};e_vG>^7;oT-)U0*HBe4B}dXlRaoT&~7GgZ3aA|LljMNa4;vhMA#{-?DJzX zuR^g{zYti8{#{_%p2?`F0of#U&A_U_?NQ9HD;&C$3%M%BBtr*TEd!eF=D)78bgA|PKE-HsvzGf+ETmhBv~pa-P@_xQcf$VghQ<8!%WhVlT`?V9 ze&TTuWBJUpD<-p2epPte=R(&>yY$NQ($9?#S77ccWLiy)>B2KsOQ9QGrY-IOub`*A z(FWyZN4=Kp+|Heb+nAzGSpycp2+(&%*Ek z`v7Qpu3yd@ENw(u?4z!Qlo)hHeuoE?oufb)&;NkiabO~YfXU|GW>iYX9$*ahi_)0) zdqS>(w9ianXJXtHcuP4C&(9!Mi41cR#o#}_58x|ZK;HC0dBJr`zp&}}RWSTlbkIn4 z^I!~8ws*@bU1toQ$0#IZ8q=V#Ks5Gkd|GEu#o&YTQu)o&iB2yAWNf%6DVi*T?xM5- zAmfsksY!j@N@5r4)#nQ^Oix;o*FDBwkhgqL-U(I?>`%brGZ=OsuL4C_5W3sMD_x)l z2871yFc>f|K3=BN$t>rRSJ4=jELFs^R|beeKYiiNk+wZtHaVrO zx-I36Y50*TlgW5BWqm=6jc;P^IA85T#oBN^C`khcvQ!tth22|cs0h5kffDd1I*RSl z_AjLENbBYVnTOA|zB${-G~R*F0vy0#;DU-qhO=}(LL>a-9qINSRB3c>6Kr?xcj}0t zqK`+kozaCTLl-(%YQ6H>CZIe}-i4Xx?bNb?I*5x?b4tF%O#uJ@EvGy3>!0}DNIBZ{ zbTb*mZOJHOG!W13nJjVj3Jy>c{CFZg2H6TYlv9rzD7KqNQgFnbFQ@x!;>y-A@(Wb~ zQ!|l#=04p59-d-tA8Ra*yzyXseVuNp#Dx-9cKdLRhd-uJ;zA;g<>9>iQ+9#xnoY`3 z!A!P!-!uwsRW@INZZ2)v1${5Ylsn9IdAu&OyD+-T+pQ!RadB(?)vfh^!{Jhkxqi7n zLwk%_ALf)InbDm?g1A!9LQ?~phh-Q{iW65WiSB;!Rg+sThf!UDz$D51k(On=T7U6s z?M;J*4?OzIJ+-s|F(PyrWh!e$+R>?R^a5Kz@btu`xm4`qZrtxAk`Ae7U@h%A@F8hC zlqs?8dWiBl0C@^JkTyR@IPqN(G$O{?r0qIurWiO}UN8wDpbV#xxq|{RJ4KQcPVv%Q z7;I=_Q6Ys#$&k!qK$SBE`3Q<7$*I5qlUwtKJptb)WMH;AO^+t>5OPIJOaJ9IUqZ`PReWwCum+GBVm!>2Sy6d1B zm*y1xL*fz+l1eb9r&lfAy`2PTC<@|ad1Xsm8RmPLdR&LA&+!PB57#j}(&Eybqw6~> z5-KE^Z=_8j8^X5#13a-=bthv^;MW`DM*&ibK8Be#^lq{8w*!`^bxDq%j5Rkwo^;f* zfkn<8kal_=LK^*yFhyEiTJJB?zHNjm&85<=AZ6tSF+DJOq7ApgYVH(V|eoH3@UDF#9eQN?9t&iW7mW1V?oz*O{G@{iN zy@H3J{-M{;J)0H$5(FFyaj;EyC{|}0wyT8V=h^D^OU*V{#O9shY>R@PJsxIH0k;@a zKd`m@rY2+u%6zW>1KWTxMjcWMkQR(rrX_8%*VVI_C=2CTTHaAGa_f{fPf+oThKg|{ zGhR#*xub5>Atukm8eqM+i9~!1v@PgXe*-IzgSn(}{buskkz=k5;!K*f)kq`!FV-7> z#&9}QNLye95cHw&c2d!Wi38nxfOztQcxio&zDZ&dqJ=-~0|qk$#-n)@<`THPIbIV! z9a6l=8~}LNv^!5ak-PN3TVf8F;H-JbK@#6sGd)6*NqIZK$u$(%l*Cdk=P^>)0F4*t ztaot`s9Rj@gah+}NAony5;uF=;GJE7jjG+jX9uXl$fs^{pd42g4mi0KLFX|$1#b5M zIrv%A1c6^mn<-4b20B9=3BEn(qU+AEuIByHVvTps*yL6JZ+sahDI3;?XC>2@yvlqh@pOrFw!h> zc_#-3#Bu@nQ&dRVy$?EK2zbu>l)`&;2NQK02WIP?jCdHwadjatRwx0yGCX?b_K?J z#-CXlK-&~vnau@r@8|1as~vE`rFs0|I$Jr5Z{otMb3j(O3j3UGdALlZ$7j6ipecjm zCPQ+RWH1Ud<}Gceg@!``haM^F7mzan4yz?>vEL?kbz$0IN#DN-5ed@b(tMq-!+n?k zCMCVcoi0F(xhv)X85ztsnTqK^5&FQlAF)VBt(nciy^dws^47K%t&JifTp5Ji+ko}Ku26(dhj_`m@jZl2X#ol zaE_jm7^GWGIp)a+b`|g{uFO~Y(%N@nO{81Mc=*`=$NUqA3qM8&Z3GaUSERcP6H!+1 z(MxwZ=DK6D8pQ6E{>6e(D@~_d9iPc->S`-_Mzw9dm1$TEmAJBb_aYiYKlz>OEvHf3bQ4iuqf_tjfCGlt1JxI@<&!P#F*MLa#BP_IVlcGYRq- zhdV66g@v3PHCBAtoX_%dB5$(E+9+$2GQe2Ithg;MR|XG7cxZV^3aaO$D(PfzH{n<& z0fXv<+2X}*rr>Y_pIh8)kO`R#IZ{Pw^3~fV7aW?;mmX_)F=FqkOw4H?uXPY>g92B^ zhW9_Myp#$nu`E$8w5_-D0>QIBv@yy9 z95kTU^py&>A!m3Eao+`Dih|xnxX-fsOXGRr*Clj!aC4J)q-vr*7~58y0Hh$1gYAjj zNWQQ4ShLL9(bFb=P|^^fX_Dc2xC`?evi`V1IbLgx`2Z;%iKl^1+;bp!`zGJkBx_!b zeu^?_n${OSCq#t<3*fRJ1I&#{0R1$gj^7X!>-;vfrFRFKQ4#qX0t`@vM^l`VNI%B*m7ssXTnRK}B{vssZfrQOSe~_@y@M(I$ZD1RBSN`8-U`9=lmR^G+a9Qn>V`l@%bZJG}w=^swl#pO|47--f1R{W-Jbj%bV{ zuJyid=@;Eub-@CHYe?^LAU6OvLQFcKYKbwgpa$UMG4^mE=mmyKfD*D@C9giZvLVPB zk+xad{xNA;;zFJRs)GMKNelYAyO!Eqy!nIEM#iD%&KcZW$be%^JKw(6ncW4hPtdzx zm9|Y+a~tIpZ64!E-s}wrGSjj>Wr`J`uh3Ha>zu`5JwLr`UHWR5W7|VcF&LN|r zH|;5A{8ecgv>l#wm&Gd9%=>J;ynWv4x6MVMJKQfXJ4wj~0SzqD`#73~R zza2FGth7u}fDH&yXDd-8@d?L0Sfm4;0j;Fq5Im(gWKQ|W`QylmueQv}0Xa^S373B;N+Lf&L~^T*_+ zN6VmD2ZU)>?k6S*w}4sJq6oCCgjbgK+ujed$igID*$a0-E}*+3TiWt5X=4TG1x8|U zjod^yeHsAK2FBdnfjc=fvGC%L+C)*<1q!9cU07H~kSuMnwDn`sLSlI^nAssolzHuE zj04pK#68B%@78JJ3rKb93wgxDcyoE0vU-Vd1P4b9qgveG%F*F^&F_tFy21Ng*h*GF zzN>V*xIBHwy2^T?my@!Bw0DvY{-fp1uPg-!PJBmi&YxFhjPhN^pLv~6ORvJdCG5~! zJ;p{TG^bu}oJKN3vc^oF=!*uZI+|K0Qa`@&qNKG2RK=v1wp;|~{B=A51(H$TZn+fVj7)WsOn5X4wJ6E9IfhOym2!XMEEfnH(ra zJ0mXT(9#w?2i@erw&sQBnZ6OA6kuhA z@fW6Z zD>^tg{ZYdKiJbQOJ>VP6n|oOqxSmVm_KVkz|8|hU=m!EYs(gkG5i*J?0X-W#SCAuJ zZ-uoWyUGAnu+ePA1CoR}{v|zhOy-HH_M7c#(!2L1yyV?9)L9LGQ5IZ}=@bjPG3jx= z95Kk=3EiurZO%BKIa>Z?X+5P9eM)9F&I6a!NiTOLP zq^;xr)04akfjzIiK_{!vErWYFQm&oq=Dy3nM`&-f5k%I@SbFgx3RT3|LVY?C$?e8r6( zxCNu9!AiMPcp5#pH~PbPR|_ovVcr6N#_m=laEG{g6H$_JuFQgIRS8_41qNjI(*k>Q z1%h zo^WpW$nc23Q8QP&@nlq^LX5!uSzu~GKP_;Ds&Wfl4H={Pm!bVs%o9ved_|SX5G*+D zMqC8-K%}wHYY`+PqX|=+Wyry@#Igyi2B{$OM$0>%?J!$Ue_CEhhu5gbEDP=6^!KxL?ks%s<~i>r{MZ2l zxF++0Twie{3zV-k1EMUD`mL_@2*_*r$#%f(5J+Rm3xU*$yExY)xMoSm8lltP$hqEHJZ4$69_zhQ#3gQ**pX zJnQ%H^2d%Y&(kxn@xN?P1D)x%FbTO|XAB;r=!iQU3uT`%sPmflo^2g|UXBA`G%Kjq z885ywBp#M{e$WmNQzy84nVm%3`^i|02&M?cfEPu0E+R$qd0MVB+hF#Un#TNg#NLt` z!UqKg3UUCKZg4F#FL`hu8Am@%+V8A+E$_+U+1vf9cZSpSaOsq09~&fZC1#gjHB1Lk z!&2hO6!q8%GHxK7U9z)imVjw}c=TQhB(9dYeNtiyk;;Z>d9#s6DbZE9l(B*thmI|6 z^JR*?Lw)Q4acCM>T1ThD45a?^fi1ukdwRtST|Oo;NLlZ*R<>W@I_ULQ3INe?rd4yW zub3FqXm;%R)qXYmre6r4HX zS>C6kyyYd)eJ3ydHrA^VAk?(V_lL=y^)GnOF+F#_O_u_jYcMiS;uffsN`ICMacefm z@AI}o#I>jE@f5cM2!C_BFrG1Tc>b1*ObDaGb%W%7Q7Fyl_rR%02yDpsMZOl@X-D5uMmMPiI z0f*S?fL{)8)B*ZM*p~NicH}Wf#ueuFfEmdPSU^>RNfQi@(e^hLaq@P?K@}S}@$f=o zMq8lST@Rw;5|LMd(~;92q^&SKaov)=9HGV~uV)M2$SWs6&VBx7ev2cU%tgWJ*I148 zuqB~w#1c>WG+6JSHbM@?FQd8X=^UR0%Dup3hP7XB0 ztq=8$xYQWD&td<@SGn+B7D$?M)LOa4J_30KIz%w`q$es2FyR0SWq+EBRP0V|-$yE# zfz-=nd!e6Bd6v2*3!;#=J)iD->kHt+EaCcYlQpZ9|M38cZEj$v@xnxDkWrpt2xx}8qaLEyC9n56%)K9Vas6?+ff3!gcbR$?o^;M+5*a+iEiZB4J8hWE-s>DG z7U+L8)0FBKGHR&POiWryUR`@HS%pher$dAOs#;np>8U6*TgwY!*`p)1JfN8|-bW=tt#Lry)DSIyGGpq~`(0-&5l24ym(a3wF} zz!ZwdcYKb3X@a+_x1`f4X*apB*W?(<&TU-ItyZqvcWGH*2+bT!5B?`@Jq|2_$|8K2 ztka?xQOxkh`r5!&nsF(@wtFJI}&lBrPep&yf$&VKPO z8(4(dXL*H^8Q?W>6Io=?*unw_HU2(S(0exxZk=O=C-vLF!0aQ$0f7ym+ETDJH z_L+Rw80nPFS&fTq@J>Z}VP75RYSeS)3WOT+)@OP7$v5&Qu$*Q8W)C5NNd;?(v7-uA zS~hQzLJX=r6m~O2spDosNTfJs(1|7rwI^1T1F~!JHt>U~+7nBC!&%5bsRa_97uMtb zM5LpmcpK?J9|p@zc8Kk71}}dn3xm=BX(2a(%K(o=@homz=7GPyi%)xJoyp@_k-Zn* zLk<|N57qMa585&>{$|<%-d~2z=aW7F=wtXn@5n=9^uz(3<#i|a$P)7Q!u-OfR9grc zVJ$y8}pQ(Cao9)0_zm5wdB3kmgS38FeABcSX=B zN@sVJ16SzF0x9@f8mC^Fq1%iO5L)?syXBofA+HzFxBa`41Ngp0LL5q6a5^~hW%bqo zJezruB|K3AvQe}09VjcbB`@UGbvF<@8<5Miyo!94!fY@K2?@T9whQazekReRFZj%7 z$v%vO*-R4>l2|TQwQ5#3s%13SN{;8OSS4{%NDRdmvzRM&Q>0bhHDCTBfx>p`R;S5Y zE$|6bO|)HLAO9JFTe~MkJSeg=W0n@m5b)2w4;a=V)8RB6&3rmwjuzYu1)Y^@dMEn1 z5q{;A$eUSlkTxfKGdNT77W=n5b^D>bWB~6Jm_;TOu4$alv=(wC2plr(@|1mhI-@g| zR^#B9LG97Y_-J@|t!Lj$&df*U0}i_2A+6fOT`MW}aCh$Z>$x%0zXypDuO2#=p07H) zE)*p)2;qu%NI-kXRB`yiBCf0oJ~}GNem*34jwXve+?~7qdM<=rI|__-Y+i)m=8Pr@ zEDDnYdKu87u3Qr))`R*f&oL@l@c|p%hYW|Dq|cWDFi02ip~(Be+zk-H0oElgYpWRM z(g$*N*v1t0uCJg+3$3kIfD_l5B2xNC%(o`(_7sCvU$lZh{1~d*6{)ErbiO z3KT}V5?L(SiP~542E55sYyo@$WeM2_#{cVKc)q^|E87SliXGgYynR4k7}EfI1EG_S z)_7ymVC<(o1+H#ix9FY=?IfN9g|}j4$=l$QiS=bSCi2?B-O1ap%PYgt;6h+wos1C+ z+D`uCgK2bFOW324m%P+z*e51Q|#dGE9=>D{0q2S#u&n_z|;hg|I6M*N_>6((xaPAf=a zX6c@U1Or%;rwH2g035K^#F*;h!uE;*N@pgGgr#8paaF$QW_`7P8|icM=1I*K5F&&G z9TuQ|nO`p>gWm=q*V11y&7;f}0YmjpSlS%#=^D;gqVdE+3T9;_FAJ@sL5fuFzDqo* z(NYpovRXlbH4hke@^t`E6ysb>)%9l+hb}tv%!KH7#wnvbBG?^@LTLpMEUKe@zaF$o z>(RIvCC+=J^EEC2;aK!|=d;9bb54_4vlM*)t^h2M7!oR~IEuN3dvE|RfL|~?rW38b zKhHfepC|*8yxts%Z6es0{dAT{+?nyoW$dyr!5TKAW=lLTi9PoFPATMS2Va@lR{gUs za4sOB04!%>Rh@JKwx?VN18lw5Cix>rRy0ZfLJH)7M+qIFW?SPf64H2+2z^LA80NFI z7kmS-k2e=TA8>gWqp{&`9(VOuuiDE!2Xmy5>ylztRHAW*C_RM+7?POlI^a>gt40o% zCXo*qsQv+5>B|A@ixwEn{CGA4tr)`4@aZ7MF@lMs1l0M=(HZXArc4Zn(D%D zMDLiThz}(Ia~GG$Yb-hzBSGuRi{K6WT0Av5Nd@a2_A-id){r$|ag9&jBF7(y3>#a# zdqfciFC!Hr`*&f>H~}0A+`$G&1sco9pR0Zp%fZ0|2451hXz!SF_3F>HbkUWd2K(T` z*D0b8F8e82MB@A+@%ww%K;M-6*DxFy>rPq&!Sq}!?&g}$%or1CY#w)=y%MUi%!{>9 z(`r!(7ockfu2EQ#e?J7pne46nWx^=wAU za&+l;Up)pw+UCLyOrV3Gg!?yQhn4^rR#EDY#O>vb`5WIwrdoE~GbIIHQqGt?Iq>0^ z4Ck@yX_b{YzCjU?(pJ3WFr8@99+|5O*e%|WD)hx~D))}Sj#kz26H z{YB)rC6vVVhaPGFrqXY<@R~8I+6>wtvSKbG3J4RZvO)%UsRe@`tf4GaUD8ryNprBi z-jZz(jUroJ>f%!$5f|E#I9lTI$*TvUJfwo4GoV}><8FU9ngg8`Z%i$(qC|KzXoSQ% zR_L*oD{RiKkT_Z57YBl4eCzUPtvuBwqN%Nj5Aa8%F>7Rr4(Q%(60(I=P)PUtzWE0e&4uY}@j#${Jo;sW^Rtb;v-n-BhM1T-oUQ5(&MR_G%`+ek(486xGz{nutdhx zXKxokWa@{8kFV(&W@VPhtRuCnrZikxJohZ}FS=^oWz#dWW#GwZ$!=}NazOafRdfwmV&*Yn#n8x z>HQii09Kb_D28P|GmCoK3t-lXk_yuW!+iAs?jfvw+09IY&pE{At3LP0v2hB4+l#<& z&luKKDV8odYpdA=Xg$I}A$7lDC0zB}OpT_q>F@PE*qws7rjaF&Y8d#;6uhDa z<*bM`nRUMN=5n^ix6!jHXS_SPzXC^wpr`h*7j*UL&nr>=TxiYu}&l93Guvy%_Ua z%K{;+9C<(S0rbKoZ<2fm%IBwFb3EN{ZrpB;fp!DUzsk#~e~0gx%@81`%(#I*L zJb4M6un~J6FPOaqCc9v>mi#(ET?>qDXU~nD11GAZMBrG~6or3X^%ShH{%iSd zft6H17zs-*MlAu5;L26jv9OB(YKavI%lI9cvZ-k^OSqP)Qf2{l)!1|8Peo$VScR6W zybYG8IkW^%2Uc<+QXnUS$O+IG64y@}HHsTlCx|J%cct8rAK4bJQ9*}Eer+W{U9;AL z=bVFGI^)b@nAcrCNZc&(Ph}hW2qjpc@Ikl3>E~=ic3x7H;_%RL?9TAq%wE3)z3a6| zF&^H6;bpHTqFbI>=cizFiAE zVp#mZgTwl6HBPt=&n^QGGtl~!I72}@>4Zv~`qm1?2?wE%A9T|A0MiD9&^MDF#5*<= z!xE3*mbgMQ&Bo`|vZy$p;&7O_!8I%h46GI4{Fr>|tmf+Jc>to5`%&BmfU=Gl#^qHP zz}Lx^toXgsz0P|D3Jnz(Q{X}Yru-uCcx&0D6qPxk(m{)}jv=_1B4vQv4K~WYh|QRB z;Vldh>rABG<)6mcMr-oi84^?p2TTp?C_Sz7aD@^0=AM-~mqW9ER08MlEbuQ!ml6O+ z2g`+lGB+`QaFxFD=f(VV4lmO~cIUS7wmw%zbzoD)4yctAOOiZS-B+kY;FP+dEbZgz-E_+;f zoxBd2)oE$k+vV4k<9$vS%yOp_gR@bJu2WbutHcIG1?)<9vs|~11PS*NK-N7G^fxFB zn8wW$HlZuPOl7SxKgTv$j9FP9*j62doix66)9x(-C6UryUXQS;9spvzyfs`RY`SEUZLK2M)*t_F4WZp z?td008llnBiRMjjl&Xkmw{Aa;Cr-P&Twf*rwVVUUtNkLV17^OOQ*r9ylwGg(hlz(@^2d` zj1^>5I5CFy%!jXFlp0S2fmBV6bf?b2tW)%u#-`e1hVEJ>wl>K#hib-N{q(B3om;d# z(k^l9v$&(bnG>=RIfOk@mTA{Yzk~)!zlC&P834rg(w9K07AH=64oL zbVEE5Sg{NnzPze~CT_T6;tmO!fvypR6#{#vP6{z!3a-uUfJeH}z*}-foT=_W;a4QtqRzkAF)H1TJQ(9zg|y-^kPtIFRMA7cB-74@*2QiJLv^ z8;NuFJ_KsJvv^sELU-PCHRgas85AIgtjxW+vw*jgY)`Xkf#EX{$Sv2Y+ zAG{%}@kt#3_ahR=*E0^3dfrM*!+{|SIizlOS3+5w11IftfxM7f92`O{ZkJoU$8DXM za%AvKdg+?ZSfU*aZ1{}Ny;Xr)bvbHYq)G}9mDo-sP7e^E`B`H4Ro)3)so%Jq3O=CI zkMJx8v!xa4yt**D@?=ben!6TwQb?CpKsVD3qw_X2OANy7E4_^MSQ@Xa;XxM1t=_Fu*l6KzqpXMPLIT(zH!ok(`+m!>y6BNz?u|5C~Um;)~W`)RDvjWnE(Jd)~!#4%TP)uY> zzUF49m;?IKoinPM^(GBuaVJh%SGV;ovJ4r7G5eIIe?5A`4ZfB6=v{3y_z#io_iB9+ zd5rPa?^W`MO2b__W#yyo7SL?ns_d}?Tez^+HZ!vX<|oVx!(Cu|8M=53nWiN&mB6E? z-S;w`i%*$~JWK^Esvk=3=-_4c#Drmy!INi;tSj<89-^|7SJ&Vf3`W$r)KB+}?C${+2khC;W}XJ~YeaI6q^6qkQQ-igFRrV|sUJa%z z*-O(R*N=+K)V*i&SrRY}J3U2~N+p(l8U#PLA{P+38#D;}QS^vPaJ#>z-E<@#fgOQ1 zH6pi9iVVV?#fi|<&$apcDhmPCve9F_v9%>Kpg+p3zI*4AVm7%bsfyq_`BfDM(oT@6 zw#culECcmD=7g2QtW?v$dVP);?XjB=FpXzdBqAbvp(JSt-rEe*cfX&vtVp4eXt37J zQ!l1BTHJOgLcusAI<8+QJ{a3WjIHsqh17`(_Av<@r)rr(DemLi4e`MZmg! z$((31e=B75R*cLt_{#q2Y-g=Nh&5Rx^572``?)F?9S%hB`pk2>F@}T#>Wp0l0Bb;$ zztX29@cO2~#HIW3lP0~@qFUg235*LI?^eOG+_4@|F;@>lRYoci7^H?@G;5buiBqX8 zk`0al2sEQ%c38)A~VCa|1ys3-$ zDdJQrFRk`dUaB&i1JfHho8^sc0W6z=NtSKhxnX(Jivp*&#|sSQU~B_g0GZQab!A%u zt#Ig_b>E%;vskb~s7Aqw1-rMvz@anf`RM5g39K(08JkG2R0*9{-O<}-4o;5n5qMhQ z{30-D-#7XI9r^Se3Yb57pw@?Is1Sn%tUTeyv5Kj4tz6@q=?3gZZ+wM%7>794jZ09I z07pkrS?{B0y?aNz?#sS$ZepPkC0O9{EO2|a||nY+nQ@GtlvsG$yR=9-vct5;?v33ECAet!G{N+Yj)olMY+1~b+9 z_QEOSr3b`*^@%)Y3xmhZTz%}Kj%YBTfCQ=p{Vgy8T^6F4TLloD0-E5`$KNF!RorUg!)v=HtEn2DA(N31?L15NItiTAl@!+chdDiny7;vVN` zUTngINsrVg@8^S{cAZe#>w%1)G7{`qfSOH;jX;Qnfff6Y)(tp-^M&45>9m9q)Ljw%2HnXO0C z%B95=b&t8Jag}W{Z}R}KvDnPl^SL_NN--?)YqZwif^2}Ffh&@6T4RiC_@?B>quI_w z&or(AR#e>SekAN*%p%+1~3dn$wq0t>UNI7jA96JyZM!;`tfWiqQUwoMa zDk@B4!>3ADayQYTSx)G&{vG_xoH2l^;Isn}!#9b4M6|xpDeGx8lilDYh2Wc2aC+m$ zF-4_v_@3sS;tvzUXNcrW-xMDVuh_}c0@lUbQ)~>iz)GRi0D&nN-vVdm3x8hVDt~qg z>^4(}1Q|iR>slV~PDW{~^KvuMlIeCPQ+({^UIi5F;UeFsRu11y-Iz!Hb%tsP6p`35 zg?Ehi`Y2FKeHEAzG^J;VrlY~I%ThqN4yuFvcaifje$2FSV4DP`icC-gdFfB{GPx*i9p8?E)es>z{w zMV=(~7<}-Y`7N7F+N&thUF{u!ZBHk(uG0Wv5MZ@9M z8lSZoR@*laDt!3)VN{l)*9ZYA`&LyBs5vZ`aP;a-Vbn{nNMk?6f0ozil z%TnljGK#Tk6p9U;3vnPU;X7A6MQ$oe+_D8u9~2lsXyw8a&e(3>BMIzxFl`L^R$Btc zNS3%v8)NaSwd++Wn9>!?dnXB1l~ye9N8N{%g-(58qf27GBwkn>iiG^lU_#Bh+y|7< zWheasjtDpK7zbhf?{1$n7Hw=a;BA6ByTfRe1%u(* z&V$`WdeM2e!yJ4NXSQyE+p8&lv#2b=?td@$&XA)L$)nG3GxD6_+BO-q$M_@5i5eZ2 z>)O@5?7(=)b?xMN(V^$4EiHjNfV2hcy(>X&Sl}1m@r&1v#I>-OqEokaOn(WSeEpec z32RNOPK;e3GcPwB!9^O%1lu2M!rR$R0M)*B(*lnV3e2q90jR(w9H>3U)uRE%64o7E zxe|~$Udh-2`Ar);4C$Ss)>aOE7IIcG7vdg(b_a=o9i1}C zFT=FNP**pPWV{r^%MF_G9@(w1wVjhn-1>}jn3N70TR2EY*Jry)jL5|z&rgc%!Gh+& z1b0B%)vbw)_IED|tE>gzBD3{w?)Ac%;0_`yh&HpiIG2SZIJci>enQd3OX~ltilM-e zhION7&PVC*Uuhn#Q9RDb*XrzHobucg3QjblQ~wDhac(p^T;oPc_hyOXYq0_c_f_Kd zEHR%BXC!tO%=7x?#t)cU$P!_wRq!Eu(y!LJ3EybV@s?AG>yQD4fXrEBiF*PTK1(SW z`NA?7l`RIoecd9bPl`-swbG@{qYZd?Z*aF_BwFv(ItVP+A=5D_2IL2#wPteVOei%O z&|LM3)zL=cVTqT$po-Ri%zsZDd9m#lsD?1gc@kig`Nc)HYx*^4_~Z%Ts37vX6uGfr zB0F4fzI%j$VlY2Y*d#?<6@W^_Pl3Q-K<+<+1)d)ixZ`<&*aT*bi#hL?z!d$w$hShC zk=i<8EFElZTQC-cbHZ%+KKi-y@Z8V|%av*MKPWKZd*b5=P>{V%0ypldBur4xWAGBYatb*QUzuF(T1Xe!t^s!cg zNy!r|;)}i1>9U=w?IJ1y&Scct5uq8Q>~Z|AP#rv!%7{9wl&ZH-_mlY2$^gj@y2Zsi?) z3Cup_W3&bHV6ijvMl^O6OqKI8UUlPPXXmctrv&!S%?fir##J`=T0B8Xl;sYH-N@`M zFidF&37H?X+BFEw-R-k)$Q5l>9ETEImJj%ZE6QV(SSfE%V#*{yQ)Eo5!5YP5L6j_6 zvk<{I?qZN@^JYFFp-WE`AoOm)W4pK4==L*A!w#CZ_u561nG&s5@Ft$c;@551hDENI z$c+$Yyb<|F-WdkW?VaNqvVr+7nEWh3`S;YV;kpr~c_SNe3P>s&(Zr^OF2=>$Hl_ff z#>%c~)vu6kOv~FoDQ{HJ$m(P2o(l|p16Ejq!axvkva}>-O(SF6K1s@;uFSJtRC&KV z<5G%~{gvu?G8*wo;tFfbH;MbR#57@%)Bd&sS%*%dvbP6Akzgh*5D0l!^34hyS(@1? zRZwv=K9i&x!?y96GKAS2;?o2^CGMb`L00xT0I5ad@hmZ0jlM6N9ZwRkuU*&nOLq|$ z6d$ySeqQkmoycnFDLepoM=W}~DXaSYmyx(MQ#!xUSX*K?`?0}lN$f>YNSrM3e7ShT z)9YU({*hL|VtwWw@U>74VpNfpMv(#wN%LI|V(kMv5%^=Daq{R6ft=5RtlQvdTeCMf zCWUisg$U0Q6V3j-#6-QP#MR95iK(r^);kmhIM%Hd2_kv+Ni)ywGv?(F%Es&F4S>_r zXABlEmc7t{UdhsmVu|CkRzR%wJ-_>r#Iyp=o7a;k#h{j`tT@bYGnRgLm=XzJ^9t>- zzm6-%yo#U(M=;k{pw;g(_0?yQzLebQDG=DwwnwAew#-V=}1g&Si61Af%J z1g6m4+LwGZ8uS3g?Mjud;b=Ke1kNvNOu_M|1?C-JYV6Hsc&ar%#b&e0#;@DBLD#^c z!z;erhXQAo5U&zE+cDy_8dI1#Ugti1@$B(pc`+5Tecv+*_~P(jTKIm(Ka^OJ z;VE%4!I5XH8*u=ef4oofI%C+kprmBLv2KY8D!kU3moJBYN=)1~HjiE)XmNHo?egM_ z%Oe2!-o*QnR*ao7@;GRGaM28Zb;zUeZ}ADU%X}`zGQw8*3GYXO-XR5B zZ5*Oi3f=rmq$_9*XV{PVlc^kXgk+PfIlioP8O;!~~P?{i;T)Se#1mc~9MeU{0 zUEFaSgYv~}Zj4yDsF?@?k8^x!tLr1fht3Q|+%7t^iwTMC@Vp&iNlanLL!MtHreRQt zU^m8LZru66uCg@*>QNgCs<2bnErYv5Dee`tg>pUHziCKDcbF0d{G;wI2z!yQ5*V5n z$2z)qsV_4hItL{7ZiHJYV4V0K1x2s0(A~mY zuxTytEt7l|2}NOht|}0IYEc)!i$c14Re_)Yh7KpOPsIW=YYz%Ftg~EQN24KMbyfL%s_P?X5ysMbr$Ru(i>=p9CuunW**>QhL_LgIyU?PtN`6)}hqc zUpSEV`9f{=1s6?l*cdabxkS* zB21X-3$N!78AuxmyE^l#UIMe%`c1^fVovheMrm>ypHFf(^e$ZiLqk^Pp|sXr+6H@Q zagpSdn32p#j0+lKtRsehMfPi~PCsZuT?FE0_-y9f&^F32)(N{h^QvAF&-iBUoOLbJ zi@8}ZP)&>pFYsgr`to$J@VWEM)|aKjuyHfbZr@A`A1nol z6meWws7*q_+HE83=vHg#l9yG?-{tMB7~&IX60#}8)%fh@p&rDHW}>AFrAsu!PhgQ! znO70hSFORU*`Y_XxQR9a<3ql3y9JH7cvYII!G4Zi%@Q}-&!zrBaVd%?tezt;;8k~Y zIZV4-J)oSHxI@?b>-sH+Y#n})O#l*@W=C8*xint%S2pFlyt)SLLzfXC=;e>H8_*CM zz#<6E9Ycv&h;hUXT!e@#%_j>%pNS#D06Z6g!5+9fx=NU_!j1NT!d7X(mkuNX+sUQ* zEU;PO-Utk%jt-c{_$rkeCO_e3fFF!)W?lr&tH6`UuwzggyCW_q=N-Q@JGEN?F>@}0 z3D`YzR=%>FULG99T6!Hl%af7VPAzf( zMiu|YUJpny#+`8_M=}F+US`C^M;sd4lwJ!~iVO@7-JQ`3Ud%pj1b%gLEJ1!Ju)GE+ zP}Co0qv9!O_G>ZN?0?1uC1tdhc@E~4QSp0S7%(<7SU2@j666UV|pL z(N^TMX+e3se5*`uEBq$p^&@G8=7hE zIk$PK#V<2aSV;gGoh4@bQVgEOw`y*TX(OAlnXseF`HLFYH)mYC>3i8M;#N>zTPHfh z;c${jw;fsl8=`N8!OB!E+s#aY4(r`yaAHiLTi_f`ZN5VZxSizaGAM%MDtovPj~R}3 zboq941eZFj?^-N}MYagkgwiyyG&2QNhV7UU)pZ(+j=OblW(Cy(t>DO~rHF94Lfi#k zN?$$3?4@!?`GWkAk{G($_Ci`{k_xUl+R^0~N5@{1@0DT()j%b&=@^a1_d2}%e0I!ySNyoUf6?z#$YLkE65I3^wYt}Sz^1o z{Nm~q!M@px(8zy*8AYR%E29%W<7P|)^PtQmJg6zN`f*|t&<-_E6btEZ z`tZj14@6iQc7qiWn>!UW!+QCvu@B%*mz=Vt4O^URQ!y?UiC?@O4X!u7qp?h@fN`(5 zCcd?Ej@C2GTx@X~rlh0;##*Az=3WL?>%FNMhB}!KGQLt)VZtb&v5A)(gB1E)fVm3c zAvy8)U}B50J7%sC_{G^#L4Q+7(Id>G&RmkNEuq`G_>@Tl5Zr3saA?t^h{cs~b?)o)kMp02#4bac|*l(Zq?J~%A)6XG(589!;A z!MT<^25lSyv(t%aojslqJY8;sEsPB2X81kJiY3@vd%*X)G?<}5xn|Qh$ zcrDq{mD|yo0T$NeuL1*@MPPU_2LjV~SXMa0DnL||9IwI7j=n)<1pU>#lV&zHM0V-` zQ%hTc^>-8z$1egCN*}ssn`Wm{AxGfJ4C`wO`iuI&ZXXtEDBWR`AY{*%z>N|tYZGbT z_qdy~(`pp;0(Y9Z0~V!o<XoGtLA%*mdYaL>?CA}GwyH(jnZ;Xy+g@Zzea zkZDt~HEjetGB-)rxrU7iZv=kv%h?;cz6oq>GYOIIlND|a5?9g;$Yi@=Jhp2P*i}Y3 zCfu%b+(R_Xo3myMZf)KDZHVEvc8n3gAxu{<8xg!R# zMq6lmuiXDZ;G&mGSV;*+FYLxmm;=4yAt3wQhQf%BmwpjhXvmcE_hL^N4{VEzo!x5| z`ab2*bxx*8r4$heCpaQ{p}Jm-P$}16GbzlNOk$tdjWcOayvyL>I}d`OqOTJUtg)}( z0yZkdd8^8`6ucBWyVorAR|ST$;8?)tM$3Q=7^f|!YgY_nL;X>+-w5qZ#)9v391pksL{s{y)IngcI<6x&Ot+zGohblgU;Vn5Bl$ zDwRlMq=(z~7MQ)T^hNK5GWVrnLjpGJqAF^VG7~c{VWdQ7654I$yMRnIW`pGCvWA$} ziBlT+rf$K1D4Q&MV638uGgt;{%%Xg^_n{Rk`iqDgDoC(d;VLq~)iYL20|R9UqOUFq z&L|@W5NRET)y^3OYRPZsRTYDq2up;kF+H=2%q36`^zJ=FTXhYSxD@5PcN$SUMcr;Z z{9#3E#bwKv;ac4a!miba2rvg*cgg@^X&x3p8FT{TpZKV^GvRT#{Jc8B!)^+Yn6gOI z4+4y=>251Zc;7nFKSpey9y=I2v8;0G^gmCfzdBS%5 zj}s|!{K!- z+U-!TUa5fesAVHcSVrXSPs=?w3Uo*nRFv<^mhW(yfANeNGh(qf*ka+(SKVj;#q9|Z z30G;YJH$H}E{F+MYo04R^k`!gIH9Oa(=)~?8PT)_#{oP*4{sNx<=3>>OGSuXi?}M` zmG;Sq!LuTI z+M0r;P*KpR;LWSbcxCPpTPOJiV z`GWFyx}(uG9U2R;WS6PPc}o>)%>^wdk~rtm8RY)fSfwiC)g4XqM{tUL8VCets%9Qf zxCfaSY_pb=GEF?;DV&b(gVn);N)fmGSD9@w&8pzeg;-A*ymTwEFyl z1{L_{;7f~yTw5ZwkvVpT=>X6?J(juPt?-%z8PY~N2NmEEJW-&D#-@vxgVR0Bv-2Zj zrM!Blybqw*P{)$)DNWfyM1taKc`?mAV~v0>tAT1*@cx>ZH!z{7>ZaauhvgSOuH=t8nR-RlG|MygVx1mG76Tr z4uzEd_D182dNeaXT|k9ihYUzbQ3Twc0snbYk>uxxJqp4zv{nyg2OtW(Vhr0?Q_5Ni z!n3}SHF4+^L4hrxq!uIrnFLKL5L7{QjfgLtIq1%xIhwz(-`#NLL6c#jwtdq$F#hD} zGH<1(3Rl~YK&kaa?4{WL3k0pD&Y*0V*EYr(9+Oq<5>x@%sIC-271)r^i2sT+w^s(Z zwH3#O0SkJo*P%e{mlQ1+z4IkF2#92OWbW|m5nIVhs@Csw_yflnMHN2jk49X?FCqxL zMX^x57a#VAv7`W-$J9&_+g}IpJw@gac#n7>1G4Ng0225!E{b>qnzJc*9|TP$*Zfym z9^v+#sB`SZTPCvWHQZn}t0z#pCDBWfD@p7H`3&C}oE;O;cuR4NpLaeybtnQppE{86BJk?0<#ObHUV z;G$mt78GY?%*TwS4ytMUp?#1?avQKOn_#RS)6DzLl7^2_H=`K^`;`8 zpNx3W8%cx$5&65xv;VpRd9F~hncaH86-0ROj`^fM>#oR6D!qF2j@Pt+W$_}8!W}S$ z%g@{GSBl3>7q==%N;RQapVeVfhgyYpcX`MaTelDq(I_s~AJL;c&Vq+gXkF*n8VhT( z>MATG*G|Y$A>T<)%+dJDrp8)^MDx$CqUke~P@8-YGdr^v_ zpT#VL^W@Z@DLtb$p4>X=oCF+t!m8*8wJWy;sw%X`pA5Mp3Cv&xyaB}J+d>7|ZosFg zfuQcIi0#h`w#m1ld}&YsSssIMk7*Uic0UxRZiuSD$k-zOBfZM{Hu^KB+A`@TwVsy+ z3py*kic&~*dKFA(npJ%XE3~X$5=(GcV`24&Pd1(JNW?`E?}TC?Q13_F=b1xlaSsQr zYpspu47Y@D;047i0PGU?GP+Yb$w(+R@SKjZ0o;Vb5`KfjLdI)_?{=D~76%JH2*n== zSvFNdAy`!*+xxpW?cIgtkQnRTd4k}H4)%Mx$Ar({Um5IbaQdip_ty*&x09ijDWWQ{ z4?h`kq@xGOX~h7n4|2)%kTE$Zq(tCAPRF!L1N^VM>jJ%z8&DLZ2x;-9P>Kes?u)6A z=O;rR^gJC!E2dtkU*2nJd|d+;DX4NQRU_eMAIiCEY<7E|4>@2#R-Qvdi+CvWePb2> zv3IgN`jAtr7OVwe&UGhOC?kwxaSro$FN)btH6QMUo(ed|o^5d}tRJYtDj=)^56vR( z0O>W6b;8BBh+j)E`I3MAYF*;}Xz>GbfpnAueie6h!E~$0sz3zo|HsNdVn4bhU!Yzv ztO06IKK$095OGq(?HMtXymwCp^Ze^nQ2ScM43)HhL*ooh$Sd9e?j6t$^EKsZ^gV|3 zmlPH|Ko?5XMkmF!AgR&?A>OQb`xdWV9q(p60M}$*{Q_)Cymlrgt$u@c#}m5VJ6YG+ zO|7fVvz~mUAhx<*8;b>bv*CxH=)e|cI)V%%;-ZMh6>((~f&{zb0(`2_aX7Jhx+vV$Ay? zp9#bcMG{aG*>$|s@IrC6=v~#P?yk#fN;LvNh9UqJ@XHNV-tM51!r1ei455r9t_tER zAfBEPm+(pp|F;*6@Lxbp1nOAYmg#_zNn4dnEB3=x65#V`ugvEL3D^3r)GssctPD2Yge4lSiZy-#t$ z;bo$B9o>->9ih&M%ZCJX|e)2VCX=EZjV{%>(Th5cM@0$^8ZgTzt z7O4BUB1PO9!m6OlZ@o`6+L6xyMUq@g1C?L&So~4iR{{3OO;OSBuM6*XBlOT$v54b- z9lu{!sJJ=mBCy#hcf|=@_DgGWP zi9WnCxcy7S^NtuPR!#+U4|{?ML0hXV@>K{y zaAkzdW`T=P0pn&;r>nMM;#H(`9W{}|DA?aelv@>WRKWF<0T=6|5g8K=He7sC{$o(e z)MjXY`jKE>VdYU+TP3}BidPfIU9g*Ylj7a;-9H>+;=NzH*?loBhF*dd0sv$_F5@hv z=#;UZ@BZ3F+#;fY!GY8=^iC16b$|AX`fQVR=2XO45%=w)$l*oAziYPjE8hjl8YM)N z5pwOYhv3ZLdSZP4ipvVuik}G>Wr#y8{xj0Sdd9qHjKX#-Rz+Z?_ONw%kP+Y46GOA_ zOn6Px*v5XA>_>`*e0tLd3ouw@g`iPHZ}Q+oVkqeIpDh?$2!X{F5+mb{{XrX zT^sneUb0)fCO{$nkR@UniC7sg<}G6D8{QuiLhiUbCI;R`K6N(T$&E?LQ2k5nQQRR@cp&)WkLE9J#4<*^L^c`AM# zSDdzF_U*D7X{zHUQjHyf4n^eZKrFEgY?uXRh<=U{kk&w#uL+kW=t9Of(we;PLZv7m z6hP@UD(S^7=>cte_Z+j*y*iNWmMWH(55Q&AXYeTM&6sD;mvw`q;iRM|x|t*a_@SFU za3Nm-P?7ZJ8Wf(=st`Ykcu#r&^WTmbZ2vjhbh~BTs?dtYHP2pfr};fI$dKTQ z1t1yH;;M-A7Ln56(k|eP3f=4;u>A~2Z{9H5zr%P}0XI+qYu?SSp)*`z-GEB$p7Q=- zxB|K7eD6>@6hv9A#NhKPL1EnF{TWwjx21)6J6Zlw z^fYt{n%_&<7Wko1%1dcK#{cq+l9wyj1q>PkD(B9xuF|f;nPX( z2Gi^7s*ngOG7cThBc0<4(0Bq23M3HZeTX=50Uq{IJi+Qjtdy6wln0;S{mU&#Qotj& z{)bb6-(exRlB6$R@7}*-a)ktly=lWI^r(j?Sn957gKCa$H$F)28 z-hapxmFu#wbS7RCiXf;9vbQ6-j(dg$y*CS|1SL@sFJWyL%oLd0Jt%{knYlT* z5wUV!+H+q0msc;`v*Ya7TLQs`z%_D(ENmb8wU98ZxUlnDz@VyjvyQ;h_xJe<=)4L6 z(dYA5C6tu&(w6f&FZkOLL(4p$aTp@d7mR@tZj%*mTjA9zh3Cz*EUTHHiO3S~TYho(6L7~5?*2v$jolb8{D zfz18P33r2b+?aeTO%Z*Bb?=dmO3|@U*2`PgtMgx)5TVi5jXdOcUM=m4*UyF*4V{P9 zb(U{N1!GhE&9h%a*-&5Dm$?eq3bX^KH~*G6S5j>zCB3}&c`Rby444a<9lf99ERlI6 z;~3k6VU%)pz27|eA3%a|1&Ur+V7`9TCD?yL|D_n427(seOY>bkVkN!2_jz~_y%{lk zrhe9LY?gIb6qu1oCe?NTdU;&P@SQltyh%Pi#y|-SgG+6kfL^A@JY%r<9E!oIQ3_Gg z%UhpU^1sZxUG_)6V5afrq3+Aa4&J!HDZLJb#56m1MIDYnW;jKw;UcySCsNa)uzNZ} zdhiYh`%RcwRq87}Z*3mBt?vdLr9yh1;;iPM4+sb#_Y$x=>mKgQ4bmnur9(oKx{edg zQTEkAt9IGJ0TOS7tL2*#M3wwX&wHEq57#kB`l}L(zRF`Qj#+F1_zzwEe#D5x6kfFq ztisQPR6x@Lb0^BA;Prg4o+&TRzx_NFvUHXHO3(Xf^RL@dOc@4yTD-|749EMuixd?= zHtlpTzzrfzs9fkPyPhf$+XvC?uAfVQ1*;Q!CJC_gyaQO`zd(fQqo9u(##YutqBU8x z73K2#YAa|`@&_3q`zg*ASoQ{F0;h)7&v+#=@vL(d6%ipS0#?Gyz4EmG1Js$+HCd^Je=!V0IHLV6mF)A@W%w3oi@# zcqeGC+JtZy-kW)4kHYJPE#=G<<%(m*Xc^Q=G|zqbF*2i zlTaoASjmm>fQ^ytX4DVTdsq>}itRquzI~#FD?79)<5y;%MoA$7mR{l~ueKSj2I3L1 zJ4nzFuYkdDXyC1(ga=Ij!3={hOt+jC&dq)%(&l0+L>N*8taMkl9`COeMIVq_q(y}D zM0hm*1s_xF+@++qPH}1ne@Y(`Y)(>HkbKnvq+apzoKjb-fX{2=F539$6C zw|M#e6$sC`-Vtl(k3}e23t#|TH25*9V0>jCaaTX@5r-y$BY$*_<++t&ULgnU4n=d&t_AHK%zXQe1c^9xfu4upd-Y4~AFAIJOlXp@g!aaw zd!5$E&CNfFSoy9z@||>9=g()1q)TD50nQo8K-P+1&=e44gyzM|B6N^EJJ}ZqIfd5m zl|Y)hC44>+`x-vh3Emj7My6HNd>atK#cu9=M#wfp|cmvYcYbiJf*z! zS9+PxcqlYS*qRjv`l5)Z0PvOQdnQw z619Nn=*lqv&OeTX(p^n^#N!|CiJ`&Kdctng227gci(-L&rVlz36V1RuVRXAXXz8it z9G;zXps*Jlg_zVLYd&pCi34vnyOfJl-s)CjaQIA7YZJcmhDfplGv_ zDk(kNo0P!}`4hGi({&X~d!=_>Z2`e!P4O`*{~j?LS#}iY{YqaJPeEg^OV`SDw86WXmUurQp%}tKC*O{Sc)CM9p5zi=2ErmS5nS|;ws~3b!Zn2nBtTsnV6yMcl4P<2q zMl4R?1?*z22X#*wYy$mkUn6cwuOQ$1jJLn^eVvvqQCjxDurJ~PTa%M=J^!W}Q(%LF zpDT;Uev1+YP9onNmfkW}>5SP>Le{szKiDn_Xy$Nwml)5WYVyacT-VDLZj;p5t8lGf zI9fRWqCbEKi*pakshusN2AKd*I+lI0@pj={{z!Eh*I2gvOMy2dNsdhA8mI`E@`c6; zZiR7?SP%f$&O@pzNS8h0oiF1>|ILo&`4_jiOB}2CLez#s%^Nr6tYsfB;_ZCik2OE) z0uk0ySkk2ox}tDbiVOd1yJstS29}l!_8_+yU1`d5y}c2yozmk9H&S;G#Y;gL5r_v+ z$#Ib5S6suqT5r||SYo~}!b^1tGSkH$sXA8Ww4JomW_4h4vc~;U{MJXGX)Q@RM5GDS&BT< zGHpo*@!}U<a^+*9O$$XH38F!pfxj5KdI21P7heU^%5-kd!SlUU@;%R-X@sCj&2Nh*9*%1e4bvAxL}_#?r}S!B3LoKTnW*?Vy2n zwPK{o9w!9piE8wN+6r^qXTY4i7YD+=&Vg{I|Ak#z(>sK|n03aC(qw(ddLPN+#>EUf z<*_X9c({>cm}{?mF))CstAY$zJLRt`i4$uU+maGu@S_J@6mR`tyc5zAy}9)8I@VIx zfuPtyAx$is>G5{UhpBAS2VD>%Rmbn~R>j*s7;j@vc%-l;>gfq0B)b{}h)Yqz<8ugI)OGU@rgy|gvA7hxP_oPPoEQ+k`Yoz!PYE_j9PKEj*(D)g`Lc(hrg z9eTF$v`zJf6?YkUV)3VbonFq)g1x4A#PX%#vy??v0v^v@u5Wo-6=Q5c$lGujrKF!B z|GGwM^ZaGW;u^K`I@$q8x7!}mtyNk&+U!Fx&AyoC35$X3p2SG>3dI3461lPI4f8!} z?Mil!>97{g`Ry$Su&GNhftJieZV2pHwTY-OzB3O&*q||>hRboWN6Eu;xq({|M5(Hd z8OK-*2=qNY4-&ExUfBRZqMyAV^5b9xxfRVU41j9+O?$ec8?DmL43wGta$B3B4O!^mf70h?fk#-R* zjQ`kPhJ@P=n3E@BDGK*ybpSK<1@*8TZP(dTl0=sUV;c=H=5u;El=B`F;tvFD$q$|f z!oiVZXx=kzoFf2hOX_b;;W1b`G{xZ8H4K!r5kA7pYp0=VNW{u{HGeW<%W9UacvcAU z*QZ1ms{eMkc&P04iD!I=eA<=ueu&!-75V;ZVdFTxb$M zl=JG2d5!-BM#wi9p}VA5sw|lR`waAQA7(HzGoN@#BCq1tTe0(TkVo{D69ZShdWffE z?7r~k_DLw`4duMH<-C^uNr@@nz+wd8=%kBaNRj3W9_9Uvf%)4TiKAn;^uD$;vOsd3 z=uRCJ{X&koB{whXqA#b2SUIolOpp98P-y$J_cK<+K>HBWv^oIEootWqhC;);OTI6# z&sHI4nr5p(Jmg-O%<}FHP~Ede-`Qb$A@to;)@$jLA=^^}FF5dn&9cWCjb z3CkU;C?`{m-frPtEu;~@gURotS3V0YdYmkH>!6`d4i(yOk-(jzvD;MIYdh8BC6Vpd zi1S?`N3W2DBZYBjVOb?qZw;F&G;ixDy$p}IP!?JHwNajV#-M$UvP1}$At4bf?X~{j z5x-BpvriQ|RfnZpK`7lWLAYAjsgUPUO^YljbN1q32|MS>FAGLBS+*!KH zYvYp<_W?)>UxKv=z1wN_ooGEIP=kxJMBR2kW71d76?+ps;~P> z-uM^NYb=jb0Ea+$zu~H40X8-u$4OGQ3iuwqu~bJ2$;!2Yey0+(y|bDv>Puf-Xc%OP zHOg9#GKbPbR@&=(+8h6psOgTbkcAq=nUVX-Y5~@^%n&aVG>cRwe>HR*;~hp}Hv&2z zzR*onYRY>V|G7Hj5}RAzMp)Sq@}BqRKZV?`MkKG=0-AP16%n}yyMk}QE7X`szV?}~ zM9p#-B+ppcts<4hv9NcyGpt*38Z7(c|NTELDC_m~$$&Aq9m*eQ;4xBpU~3AX8yKX_ ze>`HuO>6OpyO;n@zQeF0?nM$2E9>?A-w{IqZYcUBia&_H5$5xOTuNg_kB&lfENRg^ zULbjtf?K>q6MH~SHH?Tmu0yVvwKC(XPfQ9S(_G_Yw}ZIxOHQtIbBAmf>%TnYc|YW) z_7r%}WV2kf7qGYJhQETIM_Ee!#RBZwS3bDR_{uU|=^inXb-Bm2Dz*QYbS#wh`j++j zKQz=*JwIQ)Ha+4XZ@ebO!=l^awy^=&)C=^c8W!#xoCGE^YZr17!|cUPkdD26yBZO! zod|hn^<%j9e#j@ws>!HLQ&}q&S@0n6idRg$wQQ`=Y{<6-SxQSf!OH&74!iAK+<4iv z1MZ*JAK=!mZ<$yH3_@1k>s#LI;1Avp`J(DBNbDE0NCwGv#Hrm72fB=G&a4N$T zd1r(#d{|jHPUQNq0lAS^7^GRI>|nHtk6Icu*nPK{|2FKo~kA=_&N%htLO1fDWOlg9`Swjy{G216ckkQ|!RC1jc2{JyY? zgAdCKWm=WWxrj=AV@rMGAG98kGrEOKT|#5Oo_KS~IV@)3 zBe&;Xmx$>k(Ub6ZFRFteVr9NjJ{d7}vXflFVv5ZCsFO1|O-$;>k^$k9K-0ickM=UK zHRg>5su!1`W(3JRbSjkjM*V2SfM{6iAy_2EvxnmxI+|4@mE{;Dzj_Qq{ll*%P2F#Z z3SpqNQCNsriSMb?4X!TNpGa6HBH$J+@%sO$*uFG@x4P0=U#i>7V->Y>`#}ocJn>e1 zK%BCoPf%$Hy@VSi3;WvMJtgsPzF4*m6d#_rkfC#|y!TY<{(Hnp{_cZKDdr@Z9p%;U zVS`P%VCT}&yG7u5D-RqQ(y^fLiWnhV(3SfBC;PQUrM-tzH{iGVN|s63&VvoJeK1z4 z)#wpVp;s~Xw3xkn!q(4&(-j`$Sol&?>(iuKM=Cj?FZ)-RRe6BKs2wAQKPipo^clp z9q&f0pF#;T@5Kdj!)Q`nS_f7k>AFzfdx&*6!LsZ77CcxWtW=GuApH~EBP(+?%$iER zSD}nmuhb{eS6NSa*nND+m0DjTBBZCMEW^E7cA7DI*@T=v8FIqZ!}_YoKsm`v;ClNi znHyjR`<=4x3pM;MQUbzX<`c|~GC#>$mhpGk@+~RvJ+!);n#>pSSFlvUvLnddAr~QO z_@x`f3SD|*bo?|Q>L98m_EEG|58*l&RPJb*LZKh4PNx3@;}_UH^sm?&>-V!J zWJIjQ_t5GVwJrREjhnTSmpM#wxPRwV;ZZ7epgJ!tQ2KzBhqHpll2GJGaq{b$XiDYg zOa8bK&%GtV3(gN(X-mp{v+W`Ojg8lk#7Lsn*(Fmj$+#*wD}I_wD8yRN;l*U6wHDIX zYP~>SqC+@=*Ci)Ktjst2CnE;zi5NXhSOD|v8m^N(Q3+wpi9_oeURaHDV86omxm6zv za4E5KnOWZhnNgEf8KRCxLjYI*+=$$G3J!Cq>wy3ZyWs6qTq8lD% znLYwNv=@|+$$S`5eK2IC1ZR+UhSk8hVBRMgYtjq{9p6l!5J9&%pf2c3BfMF~4x$7- zdR#diOF+0Q;LwP8OMFZbeqI+9y!#RCRtE-QjpeH0dI!=?^@A#G_6u&H+Sa?|+R+QU zV0(7KCCswf$eoD~v&|oT1(YhSPq$vcEygeP2bkc5oIV+{HTnl1z7<+brkTP#5+8P9 zm}OH5d&H5eGGfYXpjw*G+TX^et;uEWI^%ss z4DV2chX7@Pwn?k%ARhmpt?X+w z1nXF2oR0HKaOg%<5n>Zo$1^QOsh+qA2{|j|k5V5Ck|LB8@->T$1h0o|?I9g10E@at zoopVCyuioyQv=r~;;zwnEo;3B{*QVH-4%-LXT*OcNkiSQL8e9Q@$8x17&x}N3_&|y z<1P{lY5)<-+c(I4HLRLxhofcqZgOuS;;M-I9`WBu#~o;W!{Mm0LZ9)z-za^X>R_2K zd&GeLd;PAAjug2a&Jowl9yxOEH-uM6_RokL&N)91vb_q;;zOPt*IXKph2>=Z0;bm< zn>KuK^jX(nTY}a6ZFFRfXF;W#sJaX0v1N#$lE3YqfSqYRuso0%($R__yaL?zlM$CL zPGpi@7~(58ozUv>VaJ|>(p)(hp=%KA4idRlZ5e}Qet)Tggf2}&yb2SN#CO2;Yrc<3 zrX0TjzSD(bs@n^rVq!2=AyfTZ+uFifibx=U zc$M-Viro#1@mHIt-vYMY^Rm?pZW+WA=DRa-kUsFEamwHs|i!R6w ztv2!;4Had)U9tPGdPkPh>{Ng)PKlLsxRo{SLT#Mv6d~m=2WkjOD!!k;cy>Sau1BnV_YmxEzsdXkdMNsJQE;8ono@AVghLWP%O&_a6pZaL zS3%8a!Fwyjb>MyeCg3{Y`hEkgsnbIlxtU5CRFv;x|L=%@f5unDOOOy38Y>Z!b3vrV zciqK-?PwD7EUfo#vWjkH*`Wg>F%M|{egg`8^+Mq0XUXr zZmuZ@Xlm?c)zNzIC@E@NS{iWsx`T!Qu$EJ>+wxx1*t;m*J@mTU-}xahRICz*M`pJK z9zl0CFIUh!B@MIgwjz{z^%qab8v(O2&fda;>pMawQj=Gd?^4(!ejof6UPvekXqCHs zm5MwcpAq8+jSMm{CV%lLrR!LwgWW8$b3j88!s&U{C;5gFu`*tYpN!a2m9E{wDvWFY zcGbu-p&ueo)s(_X7QvPJX7-7nY zGT{l%Ik?Io#_3=o?JUO`m%@0U&RpD}&Z;lEUY`BqA!$87EP%&}SP3uf3Ga{nlGR&Q z!DD$2ZX~9Mp=Om8TE`K(uTyL-H6mY|x4im(U_79E^bJpfA;5M5uAdCpvj0Ki08ZbM zL#VC>50D^UAX<`n#H_Jk>*=$nmziolEQu$S0)2NAg_I;>CA_pHyuX?SS5zO7I>IB* z4orF&xYK&r5eEEbC7d4$oLSOh>sb!ZL!KHK-`8UV2NFf8dFxOp;idk`h;f{YQqZvi z4O7*2uk_fLaZs)O7|ZIhyP1(=juD#HrW~EhiFvlOMkd%*jbf`ZUfMEV{Ri+(KrsH| z3}u0Dz+pebzB92F{cZp}R8StFUr3yBsWrd{99P9d#;{ z@pAZN#QtnX$59fg+VD`Sq?F{X2L!U@#qG)-hhUTX5+ZRbf52Xii+4CE|FTYnGG2}! zjoA8+$a7?YPhs;I1_i7LtZ8QiURK0*-yWj2@s+{UxGr$WE?4_=|K3=dG)+RvmCb^j;(5=bbIc` zI2KJgZMOU_%` z`?KS`aEuXHByN)cBCnl7XcE|fV_eE&sbjGMM%~fKOR_2Ic<^@+XH~ncLW4}i{y-%8QLn^jeG?K46@~%_+(#@4_L*P4Y{_KAO~uJi9+p^s zhCQo@mH58PcK}92=hTq_^s&%=jwQ{K%a-?OO#UI_df#vEU7Beu0__nB-6cM_WOVgOoRKn?6KKr? zt;dqqP*8V*MivcA>|S>b$R=%;T(-2=ULuiyi#Vp66j>GVuEYJvvF9`a z)1p6f7I2pSxD9<}iUF!OB6crh`>{-VlmT|L$F0da|W6n zAN%Qaln&HDD*X|77GM7JywS~Gdk}_pT8;_ueMq2-n}lRP3QpGFAMxRXI{WgoFw#&mGsK^WXJ;E0A`yhie`-1 z=L*?AzKEGH?q0!JL)M%y0cs0cm{EDtNS5&drR$Q8Kve6WyFQ-;>lRis+DtP}rWTt^Mox;-#t9eU> zVv`Ld*Fio^<$(&>XSlCuH};m-R5`(QpAGBxX9t(zIF+GD*fAnbet zob4<`PGb-|I93s@AqAzXS48$%z*k(zUN>4GVx_)a#rv-j+dFR6T!1{gv*9FGN~2eNJqffF$KG5| z`0*?s0XL@FjQ_2@g(b+Ukr*_ILS0}$)#a+NLfwvd6e>Cb5W4rhFdG?K;u%yuV3aTH zt1O103_&LWTMZ&PK>apAHO%LmE!2!yoZvjR0|z zFL=u5mx;jvTQYy8?dr(d>q(jg-p?c8{4(I*Ziz9kU+C_C0nw`mNFl2h>Dtn!@0Ag- zputF~dcdNmjm^qLyG82T$WRjYQmhp|+aKq;J4`)cViDzx8?i95PFG!~%IR7zPmV=c$N zXlkiTk~2a;Xw&U}#YiO&Jt^wxAma{D zth5tJcsB%*8^Am`Z+H;i(h!&*f{(WJVRxgSVZ76!D)`U6HX*nM4D@AOJU&wR2c6-e zfa52Rgnf$k=OA6$)i#-?-PamAS(1^hsKodamax~7wWpE;^it(3U^U6={Bc;6UWg=F zM%yl8PQ) z{x+enkjhX2T!p-pob4j+eApQ0?Ge8$CS;ymujC8@$PY18B?>^R%mw7dh87cSxWvBe zzi~n{V=~u7iI#g13dt>luyFKPl+Yo$85=g_*Y(yg&j9q_CCMU5gJ-UL74UBtF}1`A zGhGbiIsj;~88w2>j@O1#2i$9TcC)>k_#|dBSX4fI^olgBy64*N~9Xa)8EZ(6~LAPlR%nVs^IbS9MU`c?t`wZ?2XmojFvdz9_hV_6DtJV_3B z(1ClvI1;vXwJjr13)pVFgyzC(?9ihP1U%8n_oA33-xqAAmq4tlu_JP`*kM5v=I7JZ zCRngtxvjhF5$g|F-N-gk7{rI|^_0CS7CX`RctnO)sKfKb{%_-J5>0^nwpg6F1#l*i zVX=V67I1zwP^r^(;$njdrLwk)^q)D9Otr1*;&;BRgUnO>!7k?I!=ln&HEJ)ehT?kO zU;ylvhz>kHlO3(d#4=+ksa4G8c#^sjo#5ww7{>+GMl|q4rxy@=Od-UI)-)|Ea3P&5cFcN4g{b^t8)e1T8%2ePVA6e6VxxnLWZ4m@TC2rWXJL)TlU+(d~ z(yq*QRolCv`oA+}MkQQV1fN}zNn>|U6QnCC;0oeg*qYpol|(TN1J1givEDg5fk+mp zNrK!&xr;%)T^)G8^V{}u0d^$du7K+v@T*HW576|P^1u?2HM`ahU?tS;b(c#*i-<7u z&e;>=PcZZAaIx;`S{M}nG{r2!vIm^p@@l!Zv+zq_Q)(%+2Yz=9NJgYNlvl*gc^=`H zQywni41qk6A<3eMp+cr$R8C!hL7NgYCg?m`Bt5I-jIWjhnu`4{&VS3G+md60lNdKe z9)ubbS^>##Vf!=D-#Mi@#~agY^Msv$_&wl`R`fyc#>J1m8PFCY{`S%*=F|m_E&&%N zrA)&TjSaQW{e;oojHuz#q`A4DoztVA>0Oj$8R_ z=$hGw48kVK#OKa*QDWj~X;_uveq(loI`rcWHlHy1vZGa&H9CE|Dv6Zb*mHZt?Pa`- zkr+g95NT8!N>+&00`ThGNXdz9(7W*8K?MyOP0V*W94lwYP6_H_(VdTSL56DQ_h&(0 zIdF>r3tfe`E-BMF*!T>XHuGn|v^GhzsfaL15vA*kR3e{e(8aOo9`0B%Pw7Vo*m&a} zuUYh7)LCtmmf;xw+z0D?z70;B&@*L2hJdp(DHzGepd+D7=UC(GNMz57d%$>&G*(^k z6E)1A;8IZBiM&L1hhY?}drg4bgz$*H=q^Tz*I>#7aCzv_pk8qhVSJ*_9W~j4R?x#I+_iqYG;V?PDsPlIz(kJ#c?bbUk z1sS0%@65C;Km*&UxQ+v!z*+IOV#lE`DCueO*OT&`BaE-dtI5sxcndRH@RK+wAu~Yx z&XGi_t#JWc((c+fCw%IF*Zvby`S#K(}qUd~3bj-T*# zM?ifKGN1T=D@|Nf#7R^7;1m02gfS?15 z3N6|Js^wt#Z||UIEv`W@&BHzKZ-otS&++hbLLLlYxN_P<-EQ(^NWGh3m2h{w!mGN263jbLw= zbRHCfTUBbuhMyR@Wn$lV17Xo&{*tV~z7OlSXb_$iWy;jQ)E0QJ@4Xw1yTmKl7V|C8lPKR_K|*G-Cu zH%H#SQIdE#&O)=D*1Pk7LZl~=u=7&9hyyZ8)^7vmMrf6_Bk|_{j+akLFGoQm7xg3^ z*aKjk`qRo|b8a!Z3D`1mMO)r#4-18XSVaX!*xL%&%FqM)s3LQDQZBZM8DuPL1aF@s zTDG`x5OCRFy7H<=nlC*~kYy$+aC}i_392O$Bc_t1S_+i-x+m-=A5oU7kRSYJvxmT5 z#z!U+0$^H#LH7$3li4`tp9XLQe~ZW-;7d=znDco==X z2v{}(@0nD5k|*;k8dnywM^?HkZI4)p>hH0EJ_1mSbPhd(y?1~RnK~zVjo9hTYDBT& z;X*(u6O{x|P3LH$p;Bk(3#x8j1qI&A?Odxa5Q13rmOXxqFSGJp+45axUh*?Rvk_#L zHo8(5=;xSW`ykHQLLB8K!Sjk?CO^6 z@JW6#ab>?wL);yh#`Rm&b8y{))?>S-o&zUZkTBRu@#BRDs4+2&k>qyvCJB5a_d#4t zs=}V>i#w-Tw-+6RfT(@#IuS~Cb-yO;Tl_r3nPumJ7@!4Y_Z3o@GC8(0oOlux%x--( z%0cN&|DBKwzAY+I_!}55Qjo018L>WOg}m*+qdHK=L+@pP>3ygRf)cQ@UEOYpMD6t| zV5^|)y~m;my{oDD>ft;SMj!U*RTNvF0R|f|KVv_zk5^GlUXcd9HC@#&Vk;yP(rj~G z2a%P&q*_@Q`})>yZrWJ_R<^6#ErH10&wJQzA-X52Wuc_a%$e z{Ggg6e8v(B+_qPk*jpV4AnToDyKC*Y12m*s(d?H zAmsUNbZ~~&<5iiiZ6z^SqF0L~d+_qILUWQ=1VkcYFhxF+tXHeQbawbO`zVoV1%F)u z14iMs1=_X}9RR!o103BFI5x-m1$*8un=#gru%>%xmQt1I+Fla}lJJj!?GYe>f_6Jt zOT7uI;Tgf=8NlK6ZF2+`OxN*`C(+KJlEkvD2!A8J9h%O}q$!KbpNh~NR2djd%zi&&%Mt?x1*u7| zwgY!TkU|S;fL&za5F>vLg>i&$0<}Dxb95eZ7(J!yRUDVgPCwb?!*DDWV~gq z0zAF4G!f~C212xW_)IqZU+`%;nb=d=XFU2ng=aHdeW;0Mw+C#OHJ{Taw}V;_&C^bt zAYi4swog-7uK#?*s8uqYkOYwu1Hhdq)vW?n}!% zmqf_70uIO*716!=!a2cGhrR18CB5T7R>680M@B4Q6?!n-t(IZ*-1C4MM!?E+J-!n# zvR(-CgSCLfM{ebFu%`%kRuV6Qg4qjz(l1bK`p|NdBY=l<-*&mXu7GQmJ-5EiQWo@E zjqT}zzc`YVfR*X`mN+c;l%GeqVhY7HHwZmaP)Ac=ZAVl=)NLaw2^fL+*5`HQoCJsR; znu=s0;Q>SqmU{9>DG%8*oVhuT2vNWoAYl7*%-j9jBu!(<8=4Zg)q}D!u9{XgWxBrS zjn0+*J>Y~N@P{a_n6q4zMMzb&p9a$7M?9w=#D5-86f zP$cwynru*5b1>hq^yg!3hSO@1ni5^#Mkxuote*ilOu~U3HP|MB5uNW1U_1>gT_zfy zJmJoY3(1VY!u#pH6dPlEJ3Oqk>k2r7x*1C~13^UU;ee~~G1oiC`nl>FZc23hPIR?u z75)M;!G{QRH6zAQb>5m@I(Xt>fapUdLFvP9vRM#araU(K$az>LzwORSZ)cb^Suj_R7%&bI(ykFPPC4ur5o+`&?B2lH%Q8#FY)Ev5 z#{?7UCxw}tP|xa!Lf`iWb{t>&lJqW?p|I9TIf=YMcMK{t>+h=IIZ{}lYYFay@=cdSX3kUs%gq?3k6<)SnXYe{ZlwHb`2~VUmZ$};DxV-&3%Z*I zWu!~@d9E&0sy|V+a(KA3kzW9;WLV8*rDl5o5Sx5Kj^bHmxCUw(6qMH(&bK3ArMj`D zI=k}I3*GRH1ac=22kGl4iQpchS98DtH!g8qyO08CeuNOLsZRGKrMUQD297@a3YZ3G z_%M*|C)Nkdx*3i2B>@+N`XFGXy0N9Y7GGiQEMSz8?Z33P1D+v_#VkjYKh#0H{dc? zwN^k}+t)?LOrt718SEK0z&bG3`fVMSNYqF~Yp5L7iNK|O*-WB~-t>eSNnkg>7PtwG zAOa@SE$`P8S(RS8PdaujgVTekIH4ABgc%DW;(`8`W9{gIF|JZiUm*V8pmGKzR0*JD zosopb5sE85fFN$W=|M9VS+x5y^dk5mPDjA?8E`JIz;?84P^U>cMQGowC+x*7WZ}k! ziYJWT69)EJ{Xl`pr=m3!h>GLH;2bBX3u|Eyf6iev?(Xo#;ujE1UmU6-odO~*ig*XF zy`*H5v4Nbj1<-uSnmh29ja4557Tyyd!B5tk2}dTjLqR|&Ma-5SqfX!n_%$u`+GJZi z;t~gUS9vficJIga)``lENDW#;M7)Ev|A={JSbT_RNvn^3^+Qe0?rd!Pd}AY~J~k6b znEI6G^m~~ysiTDUE=iiN)IaE_jOF`!MOH|C1b~lk~ayc7kUZln#ha1c8gmo&&&U{dwB<#xoBgXMBGp_nJBc`by%l7qC5hLJI z<@3Uv7?=CI5d}zy6D<0bWr^;_5}(hwBbnll*e+q#k-H-TX{1-6OMZ4L%+br!C@_ zNMexB%wy=1D9xc=a40Z*LwvdyX8q(ldt(ma8zm~rBYvp6PwgpCJ;tcxYDO=>3`@FK!}dv!UMqlSST#^4-|5+JC*;a3w(>7^*!=OYI_{ zM7#(G40CSYWh2KB2Ft3&W{%>q;VhE*L56GAM7CAPvZDt{#CI=>p?qjBAcBD6s=P;; zkt8+dj>1Ho0jMLI^+M)mDiXG#0ESRkPFEc-{yutNkUEls1Sct-eUL%}eN}*1q3dct zcvwJ$Wy0Nu65eQ^jF@KwLRhRh&4BKz&9Vn1H6Ur#aijLl5&TWg`wC?4Qq+vntXmq@ zlfRbaL-}s(D7HVMFc}sk?ZH`of$q406HF|*CP)dZ@vy?(?v-zr6B%S2V~eHoa!p-_ z(%smbQOou}+kKVp*srqjfe1W`eEJ$1fSOLYYLA@>e7lCf^2j$>L|5n0z^FEKeN;Ir zVzea>)L{5NNxrePN|v#4Y<8Qz04yVM7Z0Vou`leb`FXMbig-N@8sd)LiBz?`NDzRz zqx~eQ{s<_I=S}W{M3(QJ=m64(CQ2xqZT%rMB?71&h>iA_A8$J8I{^{KE3zzWTeVd^h*eE5c$w zBd!{~vh`p94LPp6Qy6d_%cRVVr9%oe$!<2z2sn0oxvxhIksK%+dzao8O+ri?Ooswb z(sK9kt*G_uFgX0C0ISKNn96rEe=^{V2#IBJK~^LC*n4ah&I! zHMWXeam?9#D{7x0HC&%9vYxb6w$iMRwXe+T^jQdBLm5MHe7ERVIjXd|_;8wXRfMw#Gg>_WgqkzaO& zN1;8qF^{xE9*J1#Ztfs9+Ljj)M{F5pBtt{r${G#RdD;Q64=vKAs##(n#}mR#0$P5J zSF^;@}2A`e?&}zv?iP` zC}F7w<)tbgSnC1{0b-+w*@>HKs_8_atUgRV(BHt!5m~L|n`h{v_0UVfucex5&kQ=% z&n+0jDNuGl88BGD12zCY;rz*VGKVb>4`CN^rUuurb{=IMB|H0%4SemwyV?~3n#3E@ z0asIxcq-x@$CmpG_t6q1^bVK^KVj%Z)gy+Ogn16k9Pz)9!Li1eK`lIva9Q-JPyuFM zXgU|-1Jfm_Ufl%|tU}7ZEVol8#~6M8(->2Lpa7fX9kj`gEt4 zp{NRTkN~}$@f8QWj#C^dsAzgD6e8B+m#%N&e~N{G|=fn!6GB% zBV%T*hoqGVZA`YXBwcaY;(GB;diFp&Wh{r+JL3Lgz0b43BothtW2F)}2GIGD3BQ%Q z_Bb>$2Fj1caxbEb)fNu2 zV+2gx&NLj3&tx-^~ac{yVm^86%;UW?7{(eM3A_y@x#<9#{d1TX~PJ*A9>q za}9jmmb@Z~)QX;wo9L55K}T>k z2^H_=-WW;a5QK;jvZP|VrkTiUvD2jji4L^Nz=m2|s1G|WQ#3I6y;d`=wB00BNxVvT zG5mMDxDWA#L2EPrlo7yJ&@)KzkS1eWO;zBuLlvxWj2Xh+3~lf};BDxzW?!!zm48~! zzBI957?=8~gKZWY4M67fdzu{_f`#Gdw=n7!Ro-feAsKq&F0?D4(fza4j(>-CA zD2`A`{+GxK-a=ujNzpCl7-vs+1-vu39KH|s=eS;|&$a}e*W?>=m6C^~Qwd_W-2zDbT@6sWJvuWIZH+BrA=%iu16uQ(28bf#7UhS26QfGJIy=T>UDxQ-f^3 zZ)#}jC^O+_7SwkAW;;jRL)t0J-SrBXvH#CU3_ti_FM;H6XMbL_z3ZsWRN=!@cZtbv z#ST-Tj&ZESHLl@cloA4JuC1<$f)W*L1l?hF1u!gCMS-TttZQK0fU^^^vR&M=-D{lz zHqLgNBQgbnKQKa-u&b24?0-}lO@%R7IDU{MzlKmADpsK~D1m{F>C)n8!yv|dK%YKf zLiXa8^>DVr7b9@BNuY~}mF{BwWW-hx9`YwbISV%aojq6)42Bs1Yr|YKib`G5*PS4@ zRLV@OxLR63Xf6w;Dns%q%iZ+~xLaENd5Wj7E-ZO0gCL&e$nAmZ1+@5p*bjFxGct_c z*&t9Gw+F7+0?uf878b&5s1iWH)aA52SgJ1=MaRF^QMwhA=1jm!cd>sm;7PaEk!%FL zW|!+-P_P=Xu9ZD*g?q1?4O9Yp7JM72DX0R%G3tg1NX3aVJwnXek(x`6C8ARO`~t@eiMy&F+2FbJrYssr?QKs4R2WPelv_5NJ(@ zDk=lB2f-EkOJlWxoRJ4?u^v*h;}J(-J1R1P*5u_5%s2X2TB`;93V9OKQ47nHe4XY=4;9iU+Lh2tSRl3^X#bJOce=zui}ndE&!{ z1XPx_>wg6NHia00eY+eAAfSvL{M~o3Rb{+keFE|TUb02BCzhTdGT7`aQTG^8qfCG6 z2%URP0xHYd^$Hk*(TntKrO$!qaSjr7LIIY(gG>h@r!lC}fE#^c0BT6Cbt!V+!&gXo zB!|ZS%)vm74?ivXR0bq9#L}K*FbC$jw7m|o1XPx_>mBjmRjfk z9VX!wa1-1Z>X>!-=YTs;X+Y`w0FKg;h>~m^D?Pix838NV?Lte{nw%GtLD|sN!C8~u zcgj%oFmB&eMVIuh0mcXk25E0_S@6BRDlz>dv^^WTP z9M=AMMs}FKq`@~sLx{kmWZ|mVV9bE&h0#(M zg}7T+ezcL+Z2*TRIG~@W=2EwI5-d59>?ER+ccCRTL0@rb>`5JV1+!vdDXh=b{v3p# zMjfUqlM>VJBMGl}FjBzD?-CQ08hevi{#I9gp}#;1-|sI}v4$uU=%h2iT{L)f)i}e_ zP|3T_(q99PPO-IWBjU5&FfO|WDur7jHAdtoE5)+Ki#4Hjc%vTxeigBOzMbjzkcLX$ zm6jSTu~!jWbw0rNSRmrBVhePz#%0(*bq2y@WoIysKqG5ME$}XiNr5P*tIk=egBcmS zOTG^v-6XOdA}j}8pC1-f3uu%iqLO#9rN3fdNgb9Lt%wEF2-o#tgUR3+$+=M0RtZZF zENgxHd|?t$f3YAI2x~!v2w1spm#KjP@Bj zC?nVfXXgmB=PTD)>ku=0TP^?BSP&~N2-ALCwPv<^qJ|-+>`sIqQc=mfObvZk{COw< zmUs5xQ^r=vB}0vc*jG@}lL?`;i^wrJ@S*pRP=2@{F*mS%Yf@dU@f>72lGGFSa`{bM zKLw!5^k34(Bw{7IU8m;H5hrd&^B9Y&LYFcGYxR(^i)Ol}Z#1w@fr1Hd z+74k`Pz5lPWDm)xre+Rtg@KI3IENedggwSvZD@Q`{*c+RaVx_6K= z^zFOIIYg|C_g$;zk8GNWBNnuBCYK1=+!>@!IdjN!xb?-Rfse{%!NUZJ2K<$jhaO8D z%QFQ9V~&M{RPuMNnmWTv(a5+71}SJZL0JZFQFQpvkm4aMQB8yQtwX3heWqnk8A*dJNIauja(xOv9b z5FLDqrB`VhhkNZ&FbpGGGITz5xa_$d0Cx0@o9v>$+#;8saFKSGO2UwqO5Vk4{v5G( z(5PM8HHgSS4_Cw)2qxDni}$6R!D#E)QV8G=KzyjhEO*pv2Q4v`yvx-{^77}P0@bI0 zXe9GmFq2;Lv6cpFz%5pT3z}09Xc+-?kmB*yT(SzN%L+j#6_1!X;HGKTsurZU3(O_V zjz=o!%poQWQaw zyWDP)Q&|p}cf^0>m;;~2AdIap!di?6&WOp5EEBNoOef2H;`gzv>xQT!K(np-V{^K& zP2?QCc}jXUzY#GznV|thm0B9yJ8B`MT%_xQB;3$lk#V{NI0R0eDbZC~6b7qho3e~=9=dupJQ-RO|j zT@sMoK1f%T3uHo#S?v3j)w?`JY&I(C+hM* zV9Q$I`6eM!*UHAqaV!k|tI{-@D(C?`BkoxC{Cx9J96i{{;5HqCP~xkTmb_`jPJp^1 z96T9He|wwEWI1^&SL1mqnZz(bx*DbS8a19`O~PB_mx#JmG$ zLE$A8pnX2_;FqJZh?uet6@d>vVSHy<=-P9`)+gP1A1Y^{0I_i@%>%ZA;?OciubrbE z2{@s=G(FzC^+!?#?8x?r8JhmQ+E`&(fyLqCJ)2I@Iv8U&M%V151RhKwf#fN;CSiUU z9@Kb#EPEG8b3UtJ7h)+LlV83~g38A`rIIs~dvc8nhb%^U=7 zdr`d39k0*>84GVCe zYh@3Z;bmMzM*huu?-HY6wXS?GH-)l*VLnfH^}PdbJ-r$m{}OPi>j5L@>w|gN{2km8 zh-vgo?=w+Bp4;yYJ9$YFi(OdOWX)R61aVRk1EfuP*W<$GkchW*S6NBEA2HhB=X6wfuL|(! zBq}Vn5I}gSFM(H~{E?E7;%!`o^r-r}Q{w-Mmr~vu@TEYoL^QBDB;GCEAtUmlqQElZ zfUqnLa*~)dDc}ks1;iw{I*z+GMcm|{*BRnmmod9qD>7Tac|@6Sg9D+?Dm~)(&;{ zC_^)t8=cVDoF-R6NW(+!Se*>t>a&~2`<;-ZOv~NON+zGmcug5EZW*t01b-f5SXQt@ z3lc$H+e4v@v7KpjY+2)L`;*umvP?i4p#lMW7`aB5a-@ryUK*njfOwiu)&Ncuj^HFh z1^FEkC0$6w%6M_hc=m$7x+^TI1Yw*ik-Du*f#YEOm;spw>*pbKTcJw%(pj6M0K%5# zJQW~$p{Zf!dIoHF-BA|P>g@U>WNGyK*W_?X`Vp`aUfdEMDo-yEn)b93=hIqZ7Kam# zAcw+k+@R47$0R|*3$chgfXJwGqk%@X*@nzZxmVoY- zLhqrQWsNTF{m^m)A1~5JZ@W_4&=lPLo`K3SHg>1!s{SqU%qyj+hM-o>r3s@fNa}C?jSDFI3(hs zXT!?~c!G`8m7=p8sH+e=LX`5l!cP4rxWh$30cs!MI>pNabBMs=j?Z_*oXVFGTZgDj zDe;ejEde>Hh;EK9dRI}wx{v!YWwCGIcii(qR?QQQG3YfOF=UkQ3g;FvyOX2UMN%2E zttDb*ycG9yT*`}#$KTJ(n7{GCaw@_tJdBXOC_`XPkm!pj_Q!`?ZWVV0*Q?>euNW$` z?vHuN#Un9BgI9S|EPuE*!2nI-=U5ppZ5gl9gS}ruGT&(FHVGRO>G9zL>wIi(a%|ACk$I5tV%XkfV$D0u|tBK`IctMvj$O0T1 zfR|6ieQ)b3)VmNYVp8EfDNVJ6uJlFNKM3;!{GNeJ_VERZ@S`bU<-1hAABq<|AQpA> zK@|h7j4LNUC%QN?Nuv3sUnZFkC{B8(nk1rbZviWmOQR*Rjx$S%Nl^cBKx)&ou#Qf+ zD*Gdrk-kg960#Crs(Z-RAioS5OcxF^P(}%*q4NGr;#SN>1q*XeIp*0aeXN(@NE9Ip<<#GA^EQIu5p6?zo&7^rC zZ4FCl{%S7&3dw*Lx>5pL!PReT?Sv51#0cH~b(?w1#kdNHA_Zz9Y3-jFIc3_fHo3`N6hB27N53e&2l|r6cpph z*Y%NrMLd-C(%9cU1nj>@j9*HkBtvpU`<397HY?@{09k%`lR=td-RZ3bi==#ySM0;B zS*(#zWND9Dg*7AxX5Ts$9TTzQ5d%CM-jOYeDG@8{r7i0PJL;@$cxRBb(biXx9#Suf|0 zKH~)72G3r1aK;ql(M)#;>pkjmuaK?0Wi#ThUg8q=lWg4=s2%+%Frp9v8FH^Fx%~I5 z2lO``2(>m%q0Q)58(J_?v^4{kq6rX=aEP!f5!iJTn_tH_w19na@)vAP65Q*0m3wZ}% z3GrU!sma5C4)q^h$XGfg*<$j`$K6HqdFxpL>Myt^6ldKQ%6fUrdd%crxMi@_S8sv35b4=g0ewj$&bmVwG{)`MmY3J)9?W8!=F1L$O5id_#oe* zM_lECL%_;;dCPh1kbe&7Nd=bZ;d^2r*O}ds^1%B7sMEmOVd!>O3>43;=qzEThi*Tn zOem@rQ3CUd*e+h&jCEJglPZG*coX^YWJSU|GLVeBktft7I~ThZ_z0 zmsGDZ=5|>`ucGn|{u+M34UH_=ZdWr6a5AF6N}J&U(-^W3(-X#l8^LY33S(+cqeslH zSZlGVl$W=Zhvvl3n<7_7EmzjD*Y86A;DJdSmI;;4MD-;#f>#37+*>A$;$Q?Y1@P4) z5u-oZy_vpB`e3(D|L$f)#L9UkeDo1xJxZ|l0-{viZ`pI$LlE;=zB|s%QM*>^`9P2z zk4CWxJ0K+BmO`2zZz5L8EAfqEjKelXq`sZpdj^zUyPG3BF{Y0ggYg;J%V@774h&ov z;jwz;?HSak!9}?zJ6H?slo4m4)BO}(LMKWVQwL#t*StDdJVSD|@<|uMF8(M}uf&7w73e4i!Pxq&24S3|_f9zJkR3G$JC; zwDyQMf~4Wu;YY=ZfV;%F(=mB8vR%0&%Xc-!r3M=8jbK(GcyB4~+w+|-#;_H+GJ9Ua zhYE2fztk+T$cBgz8mUyqI3!7u2a_C1x4V|NiwYRoq>J^Jj^fW=(nU>JDrgG0JNZK2 z-hTS13TP_Xl`Yx9HT-!K|2mxKk1t>_f_ut#Sq40s@#G`~&e=x?iQ5;MK*#Kd!rn6m zLVk$vh6y`LoamN|e9ri}|KI;(Pg^mMJ?8vk$@D*B&hwmMO{m@Wl`6b!!AZz$<9^JQ zzB98lr{qwf*_&P1y1exzB7;SpV|L~TuP5J;&4kQ=AodXQ-s7Ri@OFH)5?qgG}kx-+~ux5Ob;_d#9X_dy=b#3+g_Wo1=u`?*))h*$1g};bc zH$~MaWL*zQnLYtlESNX$y6nhq*h9ENA?XLW`;qS&)^1FBNX%8n{*LEA5Xm z)KxNCM9Lv6d5>4{+9C!lAY|ky$**lPJ@Ry3Nddvuk}}`JlOgO zpwk{ls7%=#Jg`>wDHkMTx^zGypjoybETxeWesmvd?Yb~-!B>xVW7(;X{?=hHUR1z_^oT1A83-==mWZqB zs*v?E$lqtg7+F*lW#Dx(qZK+fpoh`;K$Bs9t`v6rQ|37PQg5@@{Y}rmIE|&Mr z{3lknk2wH315v5BNM-%3U%IKF33Rx1rxEE20UW6LFAk1W^72*&Qsogx;9k0Y0%COb zQj(#u@`5M4l>R0zk<=7X39oGlkM-t*V$ej)f%*zlYWn6V(j)$z-2L+Obl>x+3N+f;)mtTJ#-yw(r9_x#V+-Wu@yo^vFx%lkSF(hK{lFUE61xDBL~VZh8aO zZ#&KQGDz}l|$FP{5p|R>0GNwFpEOH~jQ;J_CzF3z+uh4O6 z$Z!&}GG5DXA-4zNhlu_Ya$iE*vQ~@;?5W9vrzuwia7xHn;^fD?4XzBuPo+@D7<3~n>}e09pstrsX|KI4^I~|QC;SnyHb)*Za8?R> zyq5~>$_Ooh!u>oJGwf`Ba%0xa$ehV-XDbp zs>pT{5o??fjw^5hyGuz1xDe~#oMU7W3XDBrYq ze=536Q+&wMwv_jU(hUK9``NUrWqG z`&7(IdVNcJk~#eq@}EEj9@>IdP}*wTaX{rqLpjp{#oLfVo2Y;nYiE~43SsHW&9c^F z?ij`X1659|O_%=XGDie#K*W2O$KCoXVxEfKL7ib$W%USmj%SSNY}2xHS-wg^W%&6S zY-esYW)$fY(|LO-S%&*nQP7)iUh)9{*MubjtN0DWnn_8o?|@CJlBe1&ip*%IV6cMD z^zIT1l%qh*sN^}8kRwYy-l|4Dch1Wg5i1We6Iz!WqXKlg`55lB;1Lr$LS_E>u3AaN z%6WYsYXZD{j9625>&~+-t*&a*aw#Qc73jz%(d_haUrQtlp6-o)ERexFNM#=7+KQ#g zK4CX_AY!Xc4+PZojH#H=$pe^5#9PM0k>hb89RWZy{z=rzL2Fo4#i3c*BSL76>lkbR z1_6|sLwL>WvY?VewFiSmUw}}5SYqS)&@qlVR)54ueXo5ah*UU*1gwPD>o)_Ybep0I zR)o>8WV-^EIyYqvb_r*|5|MqSgn7Wd+l#se%95?5$&-g|>3frh9LfLTrm#2A85LP- z$M$<2h%|;)fgR%uRSZ9uidF@V&AKOK>#XO=FCf?+uiY2X>c6nyL9J^LJCpKV-{+dv zeLpBO3Bk+$Gb&#oJxN8uBC}GS;mSFD(5=;ELCTu>=}S+_D$2SA7*5T5Qahua<;Q}C z4Y3LV=-4%R2#2JTvLw)PuqEDiu;%=C5D0!YXBM@Z!Vg50Pc+_m^vy3@QY+Q48ZR;; zBjDoL+qJHd`k=~iWcAwtE<>MqrH-t0*LN-+5APoX2CJFQk!D{sre35E4#HG5a|8JZ0F8ZbTp)ld4g?V^*^MpP;fDGM>b4SSzz@r6L=sAz zkVGqM#7cD>)#2gEV#WBBCX)>2ZX6*470k`4kQSCHBbwP(>2SJH0ARLT@fb^nFans> zG)RJUW$akZ`E)3VxFN?$i9nN%ML7|p+?GIkpjzzy=3RY!hdjI+P)e&7GDFg&L=h*} zp=I@+fD9$tXAviqmD1YbomRjzE7^@L*^T&Aw*7f3_`lZ>wg^y>8-2e7`gq$>0lXpx z--5YDb)gc@F@{-CS=Nsbhm>=S(-824b>fz_F7r+z-m#jGGI>C2n7F11!Vj~Y7IZ4C zybxz~%88VS?IBA0gonD!p!*B=Ob+Cx0}-4*!g&Z!@Wl=&rXy&v8h4e8Us~sHx`6Y7PXv`1So2e zMF+WI{geBxNcz*M4!VVJ_5jSw}L_E z+s+z)MIB^>!DO8Y35SSxM&6^lT#-_%%%*W`YvS@KV!Z4TFR@hO_5&zFWB6;Oj#O&O zse{f`n}^5PMI=cNIW>*E{OSc+sA?WL-v~_6Yvu&Flb5e3>y4e0_aVz4<#zt7p~BZ* z`gY}MizXvh!mu-)l=%sVZz+i5=q`0F!OD>HSoABF-e^C}qO>=*w8ymP_q)eK#wshL z+=&-=DlT{=b39}+fsX1}SpC7V0K}MNWqiX+*%ncQAag3w6?^-EKDOW;zTk(rSaD|$ zc*s82l%l;Bc~TZCb4z=;?maA-?Cu-~=+w1=_m@BRZpn|@?& zF+>;;4DSvEA=`0b6;!YEjFGs7Yubx~CeLB|v@5Hchp-O~uvv>vgn7LK}* zk9gQ7)j~yCZ{At2e;zR43qB|apKC?`3z-SQr4l707UK$-Nlsdv`747+6YVIZe}1_a zAptAt&AbI1`jZlRi0bexTP9@ODZ6DQ*0kc0Fl;#>(A)SW2nNngXz8 z&mi`Ni|WlUU^q1@VgL$UME;0T4;hM>oY!|^DJ!H06k*nbA1Y;}$|?lOf=t`!iHR#9H#}~wU;Chy?0#^@Axa! zoqk6w#Fz$ybj$n@7W{{(GYN_^Dnaf53$Gxl8LU?D#uqFIGX~mK(4N7;D{R=UtXwlU z>q!Az0B5q-nU?bXy&H-+{Zqu*%0k99{;y%r)gwln7M^YcQ>9}ZsJx=S+BRQS{y|fD zR%xkSkJyz?-#8%ll~vUtekiQ0N~$)cxYBoK>8AlB4$GR{UUim5a=tsSwkjh+cuaOB zj`fHe2C$3iaaHuR`2}XqD(QK%NqACR={vFXQy8Htdb?Hx1hId`c&870hNK$SPpFXi zGj?2;?`*7eoeQc7qiW3MU&A36*hZQweJ7TFdbe5m36L?v7{Uay+!!nd^=M>*LIJ0y z^darJ;xvS&`lS0XNKa@>-9(%e@m9I9-hQa)3og5wM`9*keXU^$4;3z0D;YOGBAyz4 z;iFse7sLSXikR9XYM{xBtB4!5CWC1|uY#NVz%9dxTIO8LCv+W4bfxdy(oZ7>*uj_$ zv|JF>`M!>+)@h{?4|VpH*jNX2d7X;PpVBj)0_wN8W`r#LDT5@s(syp@r|SdA4>ab>nl(u!PY}B1-qkwRP%%1hj9({`nS;};U!i4qM@#&ANux~(uk@W=`W$jaJLF)}R)9@` zSaVm^gi#PsyAqIPupdRUl4RwEq;NoJ{(QN`5c(f1gw7ttmrOVOUtN4%{#R2V@p|iP~G@vRVA3)KiVEaO}ft62& zD}YvY!`;X-I`$d&b-~Sz zRW}vNf+|GR3Hq`?%P2c(+Rc6#;k7l2Jr#teq*wY*Fa0!P%q20G$Ltg;gMIjQCr|z} zd!IPs%~{8|Zr~%nunLzv0k~u~!rhzG2n&uIt|{;B1k>k`|Kjkv$hq(Rt0q}XEFi*= zuNj2e3C@f7C}z*c_D^2)`Gh0sbU|2XrB!TA>FpgnT~8zEm{Y$=eWmXNQ-uE?W)^>h zOge5WWLtn>4S%P#}>&oUm_eIwMTYI`_Udw>#CWAmv2b7Yf(d<;|SS6sf0Av8WG=9qv&SkE5JCyK&c7qOlSA@+lT9rHP9neardW+4TvmrnpP zJ!GZ6onwk~z`xrD;U;kcg)Ln2n{+c~D6Mr^e^I1j4fELh4sxo(i68?w?84{`Bs22(`__6`ZMOL(|o z(_pjr=J#hIONOQI9MeysklDGYP5T;q;x9-RO3|!I9=yT@EaY#9Gp^pftGLhbj&RZO z6AmoAab0vbZrU^7hof&W6Ny#o@QF*mdAyaqZ1tUL9zK=D(3W0cf$K z4fOc9lO@B_^FIvhy{2+$V7`?p(Im1+m$)wGDZwWf6HT^;`mccA_G#BM25(;|9PB%< zUMGVDJ#a`-Wby&j4hPQq!HU~oJxp2kjFtCxlIf>HX;xMq)(2UrRF?&_?&}#d3M(4d zA-}IA0)P@}6o+|tPMH)6L8jVG{pSBLCBxEplIiDMX)7+c1Ht!XPSA^`X3(LxO9b88 z1%yP+hn7wc<5YK(wHH(ohZ_RJkLs(X!_s$}sioEjWog`8AtErfmP2LM3LT9pdy^4@ z?a|q8&`j;RmIx%o|8$r3QEAY=Vn%>*Ez00J!o=3+T(Gx}vd}SqO#&pu(s!Earx9BX zj_nVM6AU#YQWNKV2>CfOaT{Wv5-~P-2h4DN&ecBg3i7I#w}wwTEPbb$K1ckwdPP1( z3fXvay^VBG8bj^xK+M~VW)qAiZBVU(Sr^GDWLWyn zGX>4@g!E1TMy&G6qI4jqAj6}|=oN!nyIG^}$t=MJzWX7FV~w{TA@nCovCf`t?a3^Q zSi9cVo(xkIM%yx`K>TUFdKCUc@1D|Ld0$e07BZb0`)QCj%!%U7G(`y6{t9^CX;7+= zk-uB*{@U#7O2*azrRDQ3viFjwEFG4(!u<+&t|_u?PiAi65#j_Dd#=Zj#drfMnpB|BC)wA1)9ABc zC2+j87}J%EqaX%bek+_>UKA`mW4l##EZlF3h?Vwsw&|x4BfdO_;Cz^Z+x2z(g2>C= zA|8mAESXzt?~YcMvy`uE6tOt3V~I7N%2-o6EPbb&HZGulzAZ*LwJYse4o(H))QzEd z73>%U?N!!yMz4J12z0vMru`@;^S+9<`!h-E0aX)#(+f?1sq;+fu=Jg5`f0>6xM|22 zDn|yq1g>+82{q+Upbz(mnfZ?D)ZNpTnTXNQOmP`4V3ee#x^!6j8`t#1h#8T9K?er^DT^-bKR;NU_`d10K@_dHEn1Zum)kL@q0f>Saqedn4sCU}pfg}n(K8L*AnN``lt#Ndp1QNqfz; zLtB0^Q#vetXPbT+a%#TxWgvlLi%Qe8+hb?NAfNS0^N^W%iVx!<U}gkI$J?j<%&$TCN^yo%Urlm4#drrQFQ zhgx3ED)sIu?bSW)+4Ff4yBR>4t+T|CEivkp7`@;_RtMV^i#?C3p+l@#^n6JW`2`5T z;F`M+kmp&|yKk`1fZ*PW;DoY01ZRg%OXo!8n}k?;-ILyjC|S!^c3FUynjj44i*!tG z6SzERmFiX|_{!vr9lgI|R&U6%%}QjuQ#5DMN7^%K8W~E7rSF7OY^WYm2nNyz-a!2S za0uEgK1;^ePG(5i7dcqo!HnQehC?{h-B3rypBy3o8pv z_doGX8`$N=LT;P@jakGu#q>fS-`EZ*VD}Z?lis5oBvOUAzuK#TgojwKTUENQWDmwz#0yF<~44BhQR zTYPb9Vz6&-MC`0<9No+IjJM(S8dJomo>(XI#yFK4OWzr%D4{+KbS@KH!dXe2bb z2t@{I^cpcUaMzn>9RWUKm~laQ9Cvq`tmQ!^5}@r#BkQBsJ@52{rXiddr=!Dro$Go- z21Y|!>9O>kar$Y*RvjJOu3XAZt|r%nQ{N3D1x#R9y_rBikGLcWIsPIp*o#3o11_J7 z8i8#Mh9t<+cf#o(5%WO@&gw~y*Y-oQ$Tw9(0fr)U>3YTy37O2=7l+#vUY@aKU5zpZ zlT1a-(DMMZx!)C5ZkCKpi)U}d?P2xOt0?61-yyTUrC>lH3|t*bODZg^&!DnIRIC+u zR>)n5J*gKC+^DX#Q^P=Uf=Lx0$SY1dEsXj2oP=Jy#&5{}CwuzNP`;LX3#eLL;+Q$=ry{4yRw5p+s{{!;1fj(tS@4kF{c~AnvQBc|UfXW6I zl=;SUA{URS8ZwfI(D`A`U>ICg>2yhF@5@#M!iz#K&<*?rRQB7cr_Va%oD4LJnQT<5 zP4u#O%2tRKyuB?#2QiE&__94ndLujPcX3|>9=0fSFhKOVA>)_>uK+&gRu*OmMIj#c zk-hzf(%;TK{WN5ITv*KE_R$giYA;MqpsK*zHLCY@nZ3H{z^BPSh&!40&+;|*>aw+5 z9h5>={@cl?pSmm*C;{*V?Z4v|hO2!|F9gWRU}4z@|4(on9M(c!Jzquy=|>t7cE(X@ z)aRcw`xvCo(s%ahry( z23DoVEPa-~^G`pGne8*W8E~j22Y8G2;M^pAa<0GOeP70NHCG=UzwG#^wU4<%zBJUx zPYStyGh{Gm*$Q_o$Fxwtah=%c0o1}>oQJ89OR2#BeG+FExf7`~<|07A{bZcz7H&?3 zyyrixiyv<}+MR-XNwV~YG9|Yh>t}FzRm?W^QI>TP6i1Ze}#le{I3B`X6X97$a zv3q~a;O-r0Z+}d>uP%OjVo@0vDds%^GLre@&R|wnBVSb+jP!f+=Br zSU>@yV0e*;gv$!DB_&bny<08XD&{v%PPTH-Ut}HT02NeahE!Vm8xtwhir$Sc#+sUY( zhRnAs4$2$t}?PB0J)jYyu^*4)%%IlKWX6iP4v1s4W+_Q_z`# z=m{`lBh{L+iS%0f&Pn~)+5+G>1MiNH7AvQDZzxf~VXbP#TU)?iZ6ZtRZyQP(gQHCD zK}WD^{+N{kcTy_zv}Z!NB+2Ya=P0nhD?8Bu*Q#e)gmal>0WKwb`7=I>H_pYHbpQcP z=>54$BNUukNbCK}fVzI7JhO#9@wqeN?cTIXu%+*;)K5dU<9jfS74VVbOACJhq@_A zwlF&TV#vtZsK+kc&2Yl+oIQ&}ccRZwO4)Etc#mkR76PhL+8-iM60(5c6mt%{#&U#@j~KzOTTbb3 zC#F7&bo@!Y@26ZFd4g$1!*8shzYBef3+W0OCJV+{fc}6{(f}q+DXRkn0(fdw8Pw>F z@s2-z$w{lsmu^d+>6;;2+jC%D%ltT~^S?rlO)56jKNmL@Cp%WIZ+19HW=zXT3*uS8 zg85Tc`kVQiAzRyT9R-U$aBXm{Z=+VA02$zYh3cb_Q5wUIMwc1iK$0)HQoFq=PQ52d z+SNkHQg7+Ad^hBIP!S{i01}!Leua!oOBD1zmlZMybh-xp2nmW-g$&gnCX)Yb=u^5e zq~Fr#p8l8&{&8a<$6V^V_T^_7(H>8e<(Fi8E#!(Z3nEE%1B*8p|TFc+k zOXiNFWn4B47otzj`R43M~?q z%ov1N?bk&|ESMgg&l$8xA*nUC^=_(;fy05gnqrgADn|oZ)cT&w6|)lHoL`OElG}lI z*q}CMQ9ZADK6ENH(jwa4J~d+6XJ?@M`d4goXVyYcu?uq{tpf6%ni@&RMbohF#jI_B zMgvxyvFW=PfT(haPK=RqTSc=yLk*et(GMuqL zWwoHjHf4V-vVMeyv{zAkcj(=ulVIrtNl^&Ff%V8;XRzlT&}~thSQ<+9Kj08jKIG88^~PBFS?FuL5}h~CiscN&Bfb=%Jwepyw4hc6dB|2MF-w0P4k_e` zOfIhmzuaI;Ay0*zzZr4`(gEuQ@3g=-dLy{#UviN$e_1s%vWN17R>-WXhK5E|OGjV+ z(O~0?PX?sqGD7)g$Ze*htJbZZliqJCe!;?{qKOP$)tf0)px%|$bTwP4dEl$sCM0wPJy5kq@=8D2zCXx{1Z~wh5-Mllz~yk)@8Wz5)U z+lN@yMv_J<@+yuRxco|aN;Ry44nv@0Y;t8>8jTZSKPN2d_~ik{MqM$_Z^n!@GSpa> z@_drWoQfIyr36HkuNLg7V$SdqX{+?3FN>-U3QYhMeddW&jX|m|V^?+gH0FuK0@u@! z1w13g>u8Lq`G7T4cx!uiLTAo?TtC`r4eCyiiASA4A13~*9}Q)|UDieTf?py3DX!gu zc&SOoOOmRFq%Er}v1~)TRo5#}_s-&v(aMtUlo~~MxTF+))s5{DlTuSV!?JpplM8p#SrA82-h+=RzTP`7`HU2xx7N|U4Vv3`mYC2FDYyg|_doCfcqV1H#UB)i%0uJc+Ms3N^0yfHwaO{sZrND{g8wP(+ zXdT=>Q5@*b(y=$_#ag?;bm?GEB4}K$X3oGd!*ZZ;6GpD)hJZp)ljJhp6yR71^mCBeRO9C&lZt|ePu`}Y-&%Pv}?Y?V_#}^l7 zuu;?-D1n!;3%q?5OOrDqXrsmD^a)89L>G zh=l)WN_=%xcI>Uzca{P4I^t&*+JZMNv2Le)hAdY8M%*uhg$jhfO zr=q2J)JzLHV9D2Wt~@4`ZP4PGr!X6$jXAd z(90-Kjsky&jML!?x#=-?C^!=*b2L!sIm7jsn;d>5WtA^bGck|lW$!4tAK2~~;8}Kc z=rBYMAL}=z!CmR))0i2TfqB9dWdt{ zl49bh$1J6nu`9iN8uAdhH#_+RO{Q}5-I4QvahXBdE_i;$STC-_%zQTpiZ)ptGZ9tD zytF>lkkZT8m0kv8*Iywc!#Q!emtG+Wp~$0nP+l8us1m z%AM+H^7wf&{+Rd^>QE&2GIqI_PeVqN`api$+JjOM3Aif_ia$F>ooj4*Ie<(LPn z+bYHvB!WJ#ghKNQp4%DYea#3GpXOC4UrTda9h?^V13vD+tFG!5l;+FWHDCTTF6Kuh z;)=9w!ryCM$`G`R-6w&zPRE$g3~a~*BQJB^bR|pA9s&R0o!|(vIBl zzCwFPQc&8K=*!qeUp@^PGb*k@M2wY=Z!J~T%?WSlfq<|NaM7h@G{eVGbPq>%CDtkh zVSN44wXKkq19#OIfJ+Y{`vSAk+6af-ql+T27eJs9Fmlpi)^@M6?;9w;#GbE$jv|@T zNHPwqptGbl02VuiLkbks&4^~8@8L7L%Lh0H>As9z_vKS36?B`qMHqRKgX4`x!}M;* z1S^zwu6%0ZZ@y-9;wbW%?XF3QUfF-2ug%*)>As9z_vO=&0j%Kp%lB{ZeZpww8pUK> z9*QLWb6Mc#PTmfV9lQACFjGc+@52?da^SA~@^Q>KVU*%hOthpga?t}(a7zpw8R6yT zXnzdl7e~-x2H+K)<(G5-DbU?)7v${f0ww)2cIlU4r~5gdfHiK=CJ}QEl9xK{9nLa! z%CUIb&PW|_kJ&Ygaw8z3s|aQAg8w1#ztg{X;2xIWxB7c2Co+ig##P!cW7mH9 zG~`$@!Ydt+K9m~E&(~8%@|DM*#cx}qP!Q*3nVP#*u|lq_ZsY1($rhdgrTsE??U#>3 zw(jQ8ijrepv7^0l!jP0OydQA=*TfkS__WkK7Q2#|dnoz0U9IIsCBR+$<*%550@jSQ zDIN>6Ern8il9)%iPoo}lv8$PG*&cF7!1x7p+rS|Sj#|=kptK6&=)vnY2A-k&$p93` zdd^=!p>7qj65y`>LjUl)2_&0j6txZRGiYElG4p^b^*N0vULr zP|1~)iqig%;|HQxU$wm{lR!;ET5OR{xD*_xA^DfF%fEaYGD4I*-~hamG2#m!ko0Fy z*6O3ODkFqKV4+{bO9r{B>|7?=>;lEo4SIhOXU1 zw*TgUm88&^nCbn~h{^uyTLYkwmH&1D7~*+Q`mi^tA7Z5F>!teyr9t|#2O^2VqN;hq z4vXy5f_%78dN|7rprG7q*hDScC_FO=*$)PlLD3Ax4t%3w@aoq7O38Z@DZq?f0p>Ym zd&eh+k?a}e_?0vvBS8&}Sg=6wD??7mKt~2^KYJ_3EzV6glp|@XYvIH4y1{v0JqYt7 zC#u<3!Rl~nwnLim*H7thmwB!jzRuR=D(9jJ;rjjWnp)?!p!Jm$ov_0U?IUjg2gE)EI8j9m~0F2zH6q?({~php>bON&Nq8Eg}P z34uJV5;u;(f2n}&Dq&K3dnYoXgFoMy_^ptUD&)xcT~`rpp`t4QM-OSo`nhv8zZfJ4 zGj>6kPeZ0WLaW3+4dB`9xQqM=gn&IobO+GJ?^vtlV=b0dS>ndP?6OqI{9xFD@LFGr zFk@GQK^^^hxlQGTNsHD482Wk0=%_+YOwQx)7+-;xq&t=F?mfJPLktxmO0Gm9(|R3Y zZ5-_JLu%nH7qLa-FRYX#Vbt7yG2|Q%$oc4(*m*DU_F08j3|qH5EGoH(6mtA#$ViMJfRP}|Sd*Jx<^viV+cAaV8hs1{*-!P9A7(HSE_+?k zJ;s!N`lXG6xnfop+*M)d>>u2B+3g-|q$RQoqP;lqHejv|0w69TaX`qLf*#9(CcD9_ zKtfO}%Af?||9Sxvu`TWqmH^^W*&QCqCrfV*zbs!9OBZJBx-g%{%-T^(Y4-hdM5t)4 zqoGrZzk3}nh~9{w6zG#9T+}5k2AG)IaCL!`F$B{t%WDdGPl1y`@2`;Md<_Ri-Y9f| zLzvLu{?=CUBMhbt2=@{qE5naGWJhvkK;9if3&7|UGgx@Z%jkpb@n+eVh`?l*$>Lmq z^jCutr3*85U6_w!2D}ZhEFz5}*|}>=6(AVMH36ob$K31&K`h;$r!Z-}f(bhbRzZHz zSsiGNfnrt$+;w3-j(NzQEk{*emLKzt)QDt0Q7r3N%JcpTq8`KN*dK)saMray?NC$9b6c(+(de>Z0 z)HDtUdU0rkd&iBh$nXcPB)BWXd>(YQjtGMXT!v7gC^uwZzQUmYtQ)iH!B6zWLn!!^ z03mXBvk8dLQok;uHNTIMNXzmHbW|kOXlnZAQc>bCV;6_{IOdMh5&Gtq79dgF z1~>R=Vd-_k+B|jFam40i4is;v8raMP1VL|Svr)6CNr@7N8M`>l$06G_chKG=%AEnZ zz1U03JPToY$vt??S&9zv4POFoX&%r^6|?iK6tnW+t_~B`FaJK!e{rBEHojB;umk37 zxORY8+XMBN*RxSE5W}4k`)&`~>Z4;b$`dq{vTw@2O8-NHelrxb65*~7^Lfw~Exxr- zaH%kORM*_ABf-@e@P^>hL0m1cpx^zEaiOy6sVpNe-+U9a1Y*W65c5~i=_P3A-=hKz zMbO@tWpopzgk`}VIJ;r_hA@fUUsuq=$OY@X1Kxn%rhqf%CiWlA_)!Hk1uIat*Q2hW zl?!)?7`Dg{u1(b4c2rA;l*Z35&G(p;F|u5u9?AX|GFFn*Cd9ZGFRy~dbP(LN`{Zji zgVAB2_Ty7`5y%2CR-A2q$vasWha_UgE)nx_$jI7=|5X4*04gkDoH0Z9 znv2wLfjM=Jt}$uFtR~5M}^qB zsDQG0Q_R+!NvB?)f2tp&5~i5P9&=~3`W`ca4(R}_$S|u+3BUdTM`k7n^dweyL9zzv zVDE>VEmq?F20Oz*z><@?C$Hm-YVyJORPP!)K^I)f@>5P@l}VJPew>vE`&%OHPdKl? zFAfYdUGbsz;_|$Wz8fq7bkqDQ;MMK@BQHxo@+|x9Fx6!$)$Q$E@1RBB9>jQ}RAR=i z67zY`b}<|kUlW+375%>#p(YNx9hq3+e0b0ek=W)M8pIw2+R(m>eB)~&t7ojrQP9eT zBYrn%_`e5;0R}G2GU{z6+dyGrmOC)x^u!V^J>odFMjWWXi>hnK2$QU3vT*GtqLgCB zc*}-%i9SUA*Bw3ixr?&HF=snbTtl`aYA7D#Ju#S2#{)F_+}A?WN)d#sd@=y5M;y`u z!Wh+tUzdln;mF?&8k3WXgNR+XbWEe(i3Pho$|X*3@{%-nTzTBg;>E3}0P{bvch&!p zkQY%llv>Of<;y`=j4JI?%Rmj0*G4(&jLo_K|A^Icp`HW9QuR$XxeTGdHK`#T;c5RVTP{Yk(9M7|#&|vI2@((J zfRw)c{;)3|*OyJ3kfx5c1Y+RRE>GByqGNNs@(q@R~Kk zSF+#tdH=PFwRXokrzQUo@OlbfN=q_k?2<8`$IN=Yh>WcPIh_CNqQ=|4f=05-XGxIR zUk+Eu)n)H769QuztPpB_)i1G-cjm#TSJ5K1= zk-~v6-?v8sp9lXHfoVS-VCXTu@Ymu1gFt-0)IhRp9&4!b=Iv}jDW`SbSB6w)mi zlc4;m3t=Lzzdf~z$LM)`K(!jcIB+yu3avTN!Y%lFVJDy~4~h=vS>A%#S5w5aijs~Q zuhKF03d|>_Bev1$K#7KinE^ATAWwzX7{-NEdr>FAPz!A7T3+P2T5u`Hj2GpY{<*!n z#^+Yq7mVVoBu%be{lsDq4xVIMTsnpa3_8+3=-Rm9^=r*WTX1b)ip^tICVY{O`9jR# zoeuj9aUp6I&mljCIxri#h$EJE`ZK z`3@N_*#Y`}GMJ>L!wxQ|w-py{{y{t24gk6dbeT;qjMC`_Lu@~2;N)^v9CH6gXOXq= z+QwpBO^x4tLI-UvanW%t_wde6SIk*4*DK~mbnU@`ShAY-`0Vr*zBN0;#r3}J#DS5+ z_fO*Ww0?Z2EOIyoz)0_DV}-`UZ+66NEoKzeC&p&=4y_O~XdL^%Rd2AR^9J0WaCS-Q zJ7(*N9xxFI!dkzF=}kg@iK+!mggmEe)Ya33aAnaTXC}N^Bgg30Xr1f=P+_&&vWjMf zB}PD5c(>?`tn^DQ63b=8EWpx4WW5O%2lxFuTONzIZcg#%z=huLX>{)(4 zU^$W?1XD~6%p zS=QhUgr0ZRp%$KXE#3YX*z+E9p`@GsG;bY1Dsa3Qmk#*KGKzU9=K9UYj6yl|0%Y~2 zdwXXSE9TiA+ouOSd5IYJVe+MKuY4Kkwa$QNygX1OAE%U^ry_3OJjp#;&&OmlidM|M ze+}#a%faJ?n%q6&1|w@MNcQPi9{DEO54ocVC#iVZT!JF*-+accC6*1Hfw{J>H_^Wk zN*a;{m=ZL>DIRUc=-Uaq?x30~2io z-xjf5r@t#XhV!xt#`;mxIl1$Y`vj@jL}f*8ntpv82pMJkSrzg%<;T4X#X2c>OPmL7 z=ZZ_@a+Em*Afk-t4?M;F_i;|u6<3t|91r+kA)`76&37;rnGnmmLdHDE8VcTb?KF!W zpN?2`Y?3bwS5*`s9MLvqGR*LZk;l%9k794E@`NHT0E@>`CJ-D~5i9f6_|1r;wEI9e z;iv)g>oy>=m#dD~ZBBBf ztFV%*YTjqBi!S9VKNyyhUCA2VHVm^-t+#fH-t~I4n~$4u4LVc4hBGfUYCRf6&kqr1O{9`V0io( zi&t@K{o>MWvcF1@2N4Hj45TG|6v{Ovp+)<X!O=IKS~R+-t+V0u8{36 zghlK#0py>{sxO8V?((Yp;rJ@#s@zxmS3}N#3Ao>^;723!rX1L_bnWS0N(bn7+a~^4_4Hq&2p~Joy!~zZB zcwI&S(6%bhGW^hlymCK+D0$cBfG(Herf zrSfbne?^8(ph&pnkhx+Bozb_!2<18$=t1@<-VgF1XjFf7eDIiAcHifG7`p(DVM#Q_rahM$HmN!%~Df`U>LQa zSZjHiGAd*kkI261AzvC(u`2tuJNq#c01^3gmhIB9Jl{2>k|eX9@(_byFnqDQ#%BV+ z(;9aG%Z2=6zgLj=#xDZBE|s3}BvIE`_GI?PV$Dv*$d+QDwCnc~p^g5O$$q(wZ@zvw zvf9s&D$VSpE*o$(vxBORjNL-^*Uw%FpsNlSXvk@kj1kb9kd(%{m(>v}D9$2Pj-L!W0!eNzd<-Nc300mKbMe78ZBG{rm(edFr*B>v8R#CKd7T}O%w(^S zv1u4lAKH5TVbDMg}+>&Ch-;B8mdO_6yEP(j#1X$%YoCV`q z#T+^%IGwCALkva_Il^pQ<8plad@9hgLf(qGPs=1oo$E3|;YTqS#oYfp=6@dxSV{oJQ_yk8=eOOb8Ehr0p>QMn zDve~1l*2MK>34;f&BU5JhQkDS8Q;W0;bAULce z5E=Xp1c#K59+x?;b`PFTxG)*_>N#Jk51^B?&=Oy40GUQmYtk3jHljv}|&+)NaVH5p<>Q2f>yLVKbHp#R}Y+f6BOgm1>&F%Cp0Ekm`$8RTZYBFoCUVG7OY zBj$unVf9k;^37$$Y?nOr1U-J#h)=8=wJF6v8Qh&*&jH z#AGdCeGL1RUe;3{>P;LXbMbv*Qwkhk9peua-2)<^4L34N$Jg`|K(>0ULVMy_J5buD zWn6%fcwO^aShhG+DP-sT6LMDy9Cr$I`H=bhYG%gT55EP_X0yMT7^JZMU}`tzXr&W7 z4VLTLfLw=rAVbmXp0g@DtGfo4NX$%VCyn{;0R~yUPiZbFfR0_d`l+rIIQC6iZV#6R zF~iv(JPMp$kc*|#ugrBi8yFbHoD8@{_K_VWxkwvwm(2{?TFcS}DIPKk7{^%XTQ?h3 z$Q+>eZdM^H1CIL5kP$9}*v*`|G$%fvCu6Fu$1cQ9^YD)0JQy0axSA8| z4!qIs%7CM7A>(xOJLH521AET`jK~s}6zC2l3b7oH^0DD$SS^w8M~za6!RY!t8348s z8n#nl#hFuHfhwX5Ze_9GW*v@@iX;1>2bHWIKR{Byn!7UK=v&N?`+mo4Uz$C>jNLDa z4i$_wkJ&QQM4>R~`BP|EhYWswsBuaCWtEMCC^)Yve-@vBPOI%Kn>akmnyI+TW;&R| z8We|Rt3P(H41C2+k3_v*eCOd$;5FM2P5zUERl3i6s3c%;W-JHmN zJ0dB}22iC@$BgSp%WORt;nciphCF)m4=!3U+F<})!#6{&Tys{%b@qN%;+^O@Qw zK&Z?Tv&*tl)pcMoOB%V0QJ|PD+=ErUe%~_vkd7sOy$hWCGSJ}Cc#4^C%5H+8@e^ZP zP6qk`Fwv;btI#hp8%6y*p#w{$eoHJ`6JkvyLTVPZ1bJZ1vt(^cY9FP5rkIia#pcmx zpqB(S7d!7r6xfT> zqfyM30;9wdfAqin2;+ke(0j~0G_1>#+@}S`(s{Ovc0v)wJi;z@Vy2D30+U^XJ)RdF zC|D%)fI7Jl?Z1R5p&fsLACv(zFUAiRGoWxTF+|x0DB`4u`!^$I3nDqOBElCh>KSli z{91sa76GFaaAe88M5NHmvgBqrv^{V182$FM(-ph}w3~*2#}=@C^$!;_WC(jpPz0h& z04J$Q7q1M~12DB|W9ydq{c2O;v|ASd{RSq8|ELfg=sndK|sYKEQN9Z+PcVKE>?z@+&uKcP*r z6d^G(miQlQJ-enMBP=z2#LY?A*qD_AWbr!3OT!XJj|?>WzeCP`Tc-+TPqID?$+Q>d zsjq+QRM;!prF#wI1$^>#Dm0+Ne+6U5>=9eva)1)#QzGWag6h!D+s#)O_R|htSZ`ia z#BqyQyTacQ1MVUMelS!8fkqDPZLMePY*dE^1J*_zJWPZ~00mt%D&T;eP3~d*AcDs% z2zGQ(VhRkHnZHyxyv$b@zQl5ukH)Pa;=fM&Q+|qB_xU;J(!ZIjpg3@;n+~VSp!;Lr z2qvS*P==eWM&4yyj*}^dkbvc+QweZ}A4#(~;lAfyT@H7Rxw?7)MLZNSck)D_fr#nQ zeuFY{m9J1k5WfK08$2cWIvD{m-DAlOXyHHu7m2*&Ole=FvMYxLa`NPhGKkG z5e9QmS-v6`re}1sToBWIKaGu2;w%H@opzdKN&X zz}W*U87;Ly%;E`95o$)iK{s3+Y*V49Y6sQA#WY7z0}cI>um&Vq5A+cjWcd8eg<^UA zkdb6owzMFN2xJObiBEI6`zZrJe>fP{d>kk&F$jcNOQvTwVev|F!hW{vzLx}>bv!ryAvr(z&r*`m zK9)j}4QU0uDCrj`iy-CWsYVLYvYp6;D;jRKH@+QZQN}M7@QwCTS(|}_CP{%Uq6sAA zVGl^8QciMZ@T7Q^`TCamu&(?aFGyMJj_@(c@SYG$B;J-aw3;#%h z2SU!rj`>HOoLcD2Y)4NRdl^8}>L~(U@vZnyn@eE>|3?nnF#qh+&`INCxVbcUagn5h zS5cquZm9~nD&+FbkPCyfBov|CCFjkV^3`^-Qk%_0@Q~@{<)+Nl8@WNJZVQcy>Z0)% zd<^_4H-%ickkJZwypyTT3p`%_W$lpA_*t~iC?QV=iX(fTA*{+6Y2Ybw)%F2VGP+OF z%Na9dCD$_uqH!>X#cnW>t-Heo82x)cVg&&)w{OObpw(b{FR;CRFE@zGas>z|OLv%l zuRB>j%IkuIdCo-ucnipNT`G{)(Ff-M+UrKdeZSzIG=>Ysw;#c(r7D&3hL^AkZ z$k+s6z-rgjpzpB5eCxS^hsU}LOWt^%<;a<}pPij!#ur%_g*<`!p>X#`NwXuRkmDZm2*1ak+3uf? zDyp{sl^iT=tzaTn<6vDFq>Kgwjz4ZEq-ZQOZUrps9PRHVRamBmD`xw_mg81A%j6{y zbG0fE6X{p5hGNc&Iejx`N=rl;*m-IJ9K*HVkv2STI4Q10wq8*-TYa(RmKzRCY1taQ z?@Guc#GJnwbCLS@VEc=+N~yOHxjYE~3EKZi^7W8QM^MZOQB4?PLQWC@EXx!XSDfHS zLkTe636R>;+J!&zA3_1V%oHz(NC(*tM9BOCgh=)SeZ)4nGOQv45p?q_8K?6H>EN?& z=8Dl8+y)&EuuQ%prdUG2#LjWh3Jr__EYu&h; zuM)$)2&{47-;*TnR1)*Laa#C+fWloS0=3kxhs#}W0EgXByXt)wyU(YqIw{o?#)$W|<SYa-)9Tb5zKeWra03(BS*jWeHb9~Q3OO-)6V$1`Y2pPB;}Eq6?6Y)%%$-~Pv2-yb^O{&~Kz;YW%E=%ggAnrgX2^gN4ya+4)wm%bgPt)@+7cLwS`9fB8);s) zB>U8pRd!4Vs+W4q4UVDi z580lm^(70BVLzs`ofbHJz=v5t9Wh=Na#zUln<3jh)iv1Xpfbh2#>){~wJe@-5eSu- zGv9|b*`DaEHALl^nC%TrM_)iGJLjmrE9Rk?(>G&|z>ismO4-_ecb@(%;4zZ=Sip(^ z>xdaWcnH!?d^lCeiFs7vbp2=~1TYozRLuFCF*6E10K8KdO$mnP^EqeSmtYrI37V20 z=g7@ywXDZ>+Sl0!jMg8N)A?h>d|w+23;NJZ6|nXQECb62yav;dHC|_tAXz+U|Ms^N zCX0b80!D?E?p4j%NwB^Jr~pDMYlZ5h6czIPX2?vZ z8lt=cUC=JxQ!c2MLJ%W(wAMRTtXgVquQGlLnVmUbqCP)L>Q^Bv2ad3X3|#vm?$HVx zL+N^Sr@yH{3DRJ)pZ5bn_I?BT&q3V&u8xu>B@m2Rl>k&i=Mk~qYTaOm+KCUIRMUVL zAqoUcM{AYya>i)6;vm4_s!|;_9XUqre9XCfz(d&T$GZL|l@U3{jZAjqQ`PwCz>L4z&p(fZCNkh`dGuQ?Q($rYVyhp{4dB z;YbyqiPTq8*bXso=kFIUi^{iv_j0vqK|M1D=0nbfz)pG3D~}8xhb-CY7q)wsn>G@q zaEvWtK)4Az-F3fFm1gMYRs{hG8t;8nnu<7X5!*ZT6tP{Vhs=;ca1I)$q1LEpS4BdC z<3wQ;SZ54(7z&U36gP&>uw$!~VLW1hi>C~kJ!QLbh`6(^nM+{~;ZS)D*=H-_v_;Hz z;&;UM!{eb{WCwUi&jLU@O zA1G_wOK|A|<2WQLR9xh!i1(|FKm8D~vQs(#VH3=kXZ_X%(PHYF$`t zN#Zp2?nq_;YNyVzU34f)GQ0$zGK6Vb<#{S!}D2Fd;006VZnPDmVZJd?w z(zXLGkLV|=s-wRBuDq{6wgO7Wn^h6pHEQow6+;m?=ZhT~nlwTmlk^CfrOp&&oF91V zg$>OT4}3;-x^W%V5;$e$yEL|dAE%uV)CJ@NhsBMHsWQ^qM$Y_RJYgW#Qzp&E(*b;h?Vg2ep58NG=GI$n2jA0 z|E>_u`4*L;?KO(*&Qbl!+OsEdMl7Q=ZtXH&N_s}+3E&h`!gNk#;F>66 zND27X5|4n8{IyfY%l};j<)R`Mwe7~hUf@lRF^NN2!j6qsnrfRGduw~ynH}GYcKF@^ zJlW|=`r4kS{nem8IFk!BNuEFGkfRYhTz(#lwd7q>R>I5wT?7F-E(b8v>JD3Dj0G4O zU`XH&S(Qsokyv!#;x4Jna!uRcqgaTv&W)-GQMM+d|Dvg1Ms4Bm$!SO zJ?0LP8`yj};S_J2p#%n5ugU{t3iXQ-FXI08^ov-d_DZiD@_{;gV z@Sv=kgM5Z~)vSv_a-z!;$}SM3zj#g1+GAbH8qXSGR1NFdFM&gsf`B!KSsFzhF+Z3h zJ0K2Tk-d!PjOC>+M%l$Rv0oy7dc>U2fESS(T<%49fke!bsWr5%t9z>3T};&mYRBF( z{)1~S#89ZW!6?G9?z(z6>fca$CYfOvn zAPaU~6zIBGFmsRi;T-D{Km1Vn;c7Y+*ifwhChB*7>_nq0G1%51mpbo9+}ui$2feIh zI~K`yj7wdFr-X|W`I+HLN$VKj%RN+G0F!?)U{|q;3?zY%;pKeQ#aP&&OUdx3CIviQ z&uI6yAz)aDc_CZerbhvH1-$hh05zV@L$*hoCM$wDTzYBC*ci z63YH{iZ!1Sm>PW^oe9cL7Ows*635yiW>K1PmGOlLSxzt!WO(2br!QW{z*)2>hghoh z>4`RE=gidr4TA}?_(beq!EP=+N%6Dd4-ksRGQvF!CpsVwUqI0XdG|fy$DZG6X?ozd z)+4b%A2=>Ej5~Ku%&RMNzsBh2o~k5m48T&`x2;nQS}gqP`Ddf{X5r`g`9gpv^jvUj z`C`CTHU~YSVxRdg?)6P>474iG7Xe@eoN;J+7aBn{x}&9&Ub!y{Sov<&F9w`NGX=cD z!L!%phKJbWMKBB_TkQQjU>@ZXSr(DS{)#^ot=0~(`O)tSx1}KkS}yiSw~MVkZJXr7 z2CHha;ToBB@Tm_VZaQ!F@-ycfjsnS22DFG$rV$g%xpP4#X}&m(QYj z&c@aI?pmmbNp~ZLFGg(d&q31zAE!&z@*Z5FM~j&QnD*oW2Qa}PuKmkzff*|Xtx0@P zujTA(>g!C9?Z)0J_3{8eO;TJQ@@ql1A+Tj61`a738YVY^GeIhpaNmHs!-(o!s9Q1^ z(#{Ro%C@Zbxk2bdmSbD>^44{Vzjs0$0=qf6bNU_e{9~BekO0VtDFm5GtMQ<7O3b4y ze@j`?e#(JzGXi$l8Kzs_0GTS(U6Ms>m%Bz3a`u?LEIDHI&^2nauJ@oJ({J-Qd})e` zOLBYOE8xF|nO62WPMv?#?sFzGt0c+*{})BuKrxYXs;UEW@KsP)T*#B7XzTA?VjhGX zacmnMm1j_SK=0}z@O`-K!+%En@2wJU#s^pxM9Q!p?)8c|;a62zZ~=+(hUx9 zds|!EmlVTAY+;jwtkQN>Xx#k!AluVyc57b$;1Ed=I9{~~?zcF7$np^*GRazGCQs!u zLrdZ)Pb(TgK&`z;wrWQt(10E&`YH1VXW>8QY@MYm_cu493E3rv$ecbFGY+2e}`;eAx#&QAih_4+9VN5;|j`(g;-ZXZ}$h%xfUs` zA7rYor;MWxw-}R7dsIH?#wRJRtapYyByS9yaUmj4;w(E!fR@{I<*%tRbv`#_leBP! z2}HZ-r|;nyk`qY;T~;2L#44q#`#@) zyK5B>JfYo!oYXf%7V-@W5~kM7cwb;-8OkhLbsBYUn!d1|mTUJ~qB(OHdxHBTV(Epr`o zH60HExyVAE-wfG)HdmZA0F3QBUQgH9jY^MexT4mcJz~2J4-{McB;x^_Sc_SwVCf~k zBUlh_!5MsuxISjSKW=3zGK!;)7p*Ed#%`7iGk!C{PDXfPFrb&C@w3&I$gM$MqR~R} zmjFbE4_wM@o0u*5rEITw_GY>(l(%K+%vub%5XCCjdqEWryD68(m3Gc1C0od6u=tV)t@Fwd}-KB z14PJRVevKb`A?0S5#yU@FAg`gUvLAfMTJb_i~Ar;1?2CL(a<=g!>bYGBzY0?K%NKZ zQrs_#Lbj&^{jr7$N+rLjR`a)lGmJj1*Kh->A`>gWdo7y=Z{R8dA8lcgVfGAv$W;-i zJ>th^geOCxYwtG?kh(MK-K$!FWr_N@lg=?FPB6ly2%x+I4zf_8_d(duPX(0ygF8=` z#d3A;Qei+kXk8XpM~z@hj(sbKaIk!Q#CAUE?uM}PFzu^)&L)ZdtSv9S$P_(ya3-MB zvt>L3u9#{)#gB0%FZr413V7?CaEN{mID=z_?M)%0 zfs<6JK%+EVo05tlJEwg4nfx^hxc=)A%ZQL;!Ai0XMa*;_u)S9hm~)l#BVW0SjL-YP z8?hEpVtd4ozzUd^$a=%XnbPMJK1gM=6)0wP_m1l|Qk_*K z=`5Sy`WA_u5Ate}xraw=2LWqzrHVu$I@K|9t6O8TnD?mB=sF(CdG9>x$EqIP%>yYI z;m2X%G#%sZAmvIMI5xNTw0rR=0oAwvNB?>=5X@>nz zN=nR;mf;K{ap*B3s>xI*`6*r=eu`KLZ?D`W0Q>NS14deu|7g;6%3}#daCJoFRlr1Q zo7d>{>?;M&g4AHrcr_z@uAMz?OUQ6>-gVm9ciP zD3%fHO6&e`KAZwpy4$;HpmY!LQrKSy4QixREl_bm2W<~nBMZFEaeIn-Q&ClUp^@3& z3Hm%=K_4Emj0MYLK1MKmig-#odcEcy8#0Z&htl1+)1B3x7&SeV6zB#r%xU(H@f8it zV5+#yBYPnc<#{lzP<9^xT(i{O)q*SJ2$?co?qq40CC&(v?< z0IZ>OH}Y%1w9CIE{%e^BwQ>D7#nT<)j#65qU6TjDFgp>g5r+y#4E! z38dVKB<*w{v#TGDsfyPWLm6+B?IClazlWSb8l!`1=N345Sqiy$7U6yf^t}pRT6xNL zRzc=jEe(k2J{1gTlicHitlP=ZWui^x^_inKc*)9>Td)f|8#>7evl;N`Mh80RH^d=B5fOo0V8|J1 zlW_Av=#1!>&;fF{kzVN#A%borSxRIvw#U*ZzVElGoVPDct)r>Gb4bCk3;|K*XE1YV z;(x^d3%H>qCapmb7DRfPB3gGH=x7*e&%{Sv6FeLH`h02XAXDV@D&IBD zu09{fdcWbO(%!x`Wu*6@g34n>%OY~Q;q&ZHB9pyaLEYBw@B{s0)3%PKb;0}kXw^e`PPNLGUH-P}sft`U3R z^zNb20{`-x5d-kycq3S-((V>*#qn+?#z%M~u96-yavh6RF=S3}5wnz&Tdd-mnhz>s z@?I@_xfvceI5@^)AZr&K8HA-mQb`X8NJjO{^2Vwz?9y)($;cg2RQoIGk_HNy#8=;Y)6WVx z26|K-tSy0eTdus5HT+zRCx)=eUUS+P0f5Z=5XMAVHRt4n+byc6jGbTckcUFvuZsj1 z=sjebqs;8h{(nF>+l$=2bE>S401Gm0QpgCG5|mxOQ;qiRB-o@z*BO)Y@VS#KG#4OGaA$N?}{9sIl{8rdM?Qr-L{a}j}n|x(Q5^@v16^kNvA6-jzR$~X- zGdquHiRR0-%KA;slaK|?GHu`~Gl4{cZ)sTyxBKIWagMm(BeY!#nVkgp`CI0*!s;pW z+3!*$cXYjkPt#n;T6k-da6Ca)h0JGx0*?y~EIb-z$eK3HP*gLhIB z_YH!%i^FhBhh!95pih0XK}E3QK&cEy}0P8Fv=+@Oj&-^t!5y`O0h0r=4%NQYKO>qFILK)U6o_ zJRIvp{w}F`JA&l{H=-VLgcLnd*KPko+HY!3+&~Il#wT z%LD3IA)_i)B^e0~8F9WVWSo|!(BT|EFO}^^Kj_H#90ob;o#gYFA!Yc%U=yx6C)%Hc zoWB~f9aQ@dQHjqod>QlVN5C7QJL^S+_$AEgvFq&1jQ=h zh%bSN$=ZdGqgJCizJ|;|{og~TZC@c;*6wsKmSu&k3j=+YjAZclA|{nv$c5trGYI|Rt0V&2CCitLPQ4?( zQQJWNNk1A5E*vwEW|}cnn75w-uzm6rInPC-y?e}wmoiekWjRr!hj zt&_Yj6~HBCVLd~T>!Uy9Yp#{qyXXEkJbawc(hW;Mv9Qi`Q$9k50|I1?VxBqvPf`dS zO)2Ds85LciWI%g^M>(MQdB_>|Wh+~+q>#1YD{U#+1#*l+CiT5S>s^8>|31oG-MEXO zTFh5&->~=#NiP|UZBPIbcpgK8O7@791?c0Sbtj61C^K54(xr+ECWy}$~&OBW(7&HcszU=T9S89?`zGETEESJgf2!#qO$X2>WQ94HylUZ{@D zw>XlW_sOI^I+a;5N8zY^vUNEU!S6;LebJ|Bgqs&dD6`mKY#Y+j#{XuX{yDw3pS}_{ zXe=%{nx6#EgE>9gG1tkk5*X$1ig&xpI7V{pG3rtiWr`?v*cIExO@Ig#c&4)BYT z%)k9+Mwtbnq;JNIsklH}f%SiXMQJh7md{5|fQ}S06P%+irr{!_|7Zt@Q{{PMU;cKm z-r*|U?KRjDp;+D`W`R%+7}7XXM8uc0PsONnG8e)@wK#()i{VSRq)B1F<^fWEBbzYz zimHkzkTX+ypKUSJwg2AkNLD9&8~XT5(t^KEhC2Ql@MEi*nW|H6pZ`ZgGxq!%3Ib&* z+5Pw$f^K-ozyJ+ErLQ{q!7Z-w`wAXOuEoXr2)lt+M%)gw)N*9x)@0wn~d8lVT#y`nJoKrzKhS z`%pj>JAf=kAe%_j7aJ??m*c*1P}_rLUO+yc&w2j8XhIWKW ztg;9WWq<_iJu1R1((!)@_!*bX9@eg7eA$@OS%E%u9ou^z@gOGcI*CYje-!BWe{uG2 z%oE3_L7UW1Az&?s4%R{Xe0MbDnW=Ie>j@VI&nkto5?*cp8Sr0+BIbTg;hJ7O*4haE zao9M?+#qNEu&X@7yXQXC?FJtQ$kSSxV&%yD{0~0W0Cvz6G2gvFgbZ8QZP| zk_Bq3;5ZoQ={3OuIOsZV@}Q&DE)0j;%c!N`m{l;}wlBW<6VAAEyt$0hXk=$i`olSy za5*dC)vctc{ed3&=M%O^mewtO>e_ZkAUE+CFse{cribJ(Q*p6E#8sgk6LC_nM3vjwchxFj^}OaQc&Z^^j?GDP z=0fZpMb8q}Zb|aTKj4@du`Z<3lpCL};i5#>wo3w|^4}5L*PLk_{r}7$M^eC~_Km<@ z0F5PQCrI2Kn2lva^pDvSoJY7j$PjiX4iZ@Sq}1$^C@zK67)_u+rskRL@?vsId0PQ1 z(Y*+USQIEuJY2(ebE3$FP713Qt7|0$KrcZp=Kt1gWpW*%cnQ?7)%gNE4Q$8h@1i@z zCoZ-8?kW2t5F$b;3$Rrgg%ky>MAx@QspTghDiBr&h!8mXd___3Ttu~jZUWWCs&}qJ zEJFK%@(kkd_0pjL59<>FRt*VLmzVBxhPqK|xZV6cDKD?nIX$OQ$5{ z1vQy$s0vILq&WEn&SBaa#+U^(+Ir`x!96nBweq) zrVYa>dcB{H&Id-$HH&$6QEy)xL4@rGe5`QJ5YK*!OiEcm%qv?e43nBM9!}tMC6oeRW6E93T z`}=`mC#f)IsOPKIxSWwh1>b>Gsp6gpREEBVbcxiF1oIw2x$mvoGL1hk4k}iw7 zAN5m*aGF8db4bJ7iG%JaIZI1^7Vrl#3oYIxxyD8&;EGOR@vRtga9P?L89kPg!`>s= z^Lj9g%-Rvu^B=H50yo+F)`Ob3GJ!Y6ij;XDfJ9l2~v z18II@Uo599{we^o{1hX}QgY~DjX9GRqb3>Fbg1z?W5%>ny|%q7J)M1BhNtJk1uXRu zW5m8gz^*mqluNPD(-~Ekl3y?(>Yv+#TA@p0gZ3M;^b+2Pm@5ht7`QQBmjbzthIB&# z7TF`YDeB;XljcQWezp707y?tq`=BjKv;YfV?jy*IYpjAvm995*S=d#4HRfU|L5N+L zOHtdIGv(Q>E&p%; zxW2yP6wV0A&T2Hvp3_m^cM{>S6okaG4~?=3&tEG4(J z$2=Y{Im@Op{$bCZD6hF!>K`!6}3c3Pp9F?kP{2OOui>a3u;k$75wt z=%W?*LDZ7gk54hSyq;$bT)ksLo&}MHEoL;29*+j>b5yYgwo=i7>Hz;b$hrXpv8ani zI^4bngfI$3fqH|!LC?zP2~>q*rqX0>>hLS;|DsIbz{X{~XY<+hu)tBwotVell<+f; zSv#7Nv8NQpx6G>c%TW!jSYhvwyc=tTCA3dzOQf#jLCH7>b%$e~qyNinLF8X%ssA!4 z{MX4QviXvgmrNC>_eHq}B@QN@tjCi}>dP;?A(KqZ5WA~}oA%cRMYo)k?`|5A7GBWr z##~^2XW^)MZuJ&sZR)Q(>_cD3@RKYnpj6*FnD?8}=Eja#e4jWRAu6Ctm9 z``Bk~`C+yr$?GM4M?(gr4xfKABxT&15#jd(Q$gh_2cpx0pTjnfedHyJzLi9mcS9>5 z4WZ}MAsIx72i$X6C_}~q)v5-73$34bGfm#qNT11vmXJZ*?-3o#i}MPyCU^_-dC_qT zz%xSiV?hcmd!L#gr7hraTQ=bT!Xk+ByC~v>QWKohG+m>9A~lB`wd5EjIDXx7X`(|h zK{7iixgpgmU*c^$ov}j26nLSi+~-gc^GM6ys6I#B@#NAPgIzd)_M*m*jhwwPFf-fK zM3y!~_$!=L^S{m^4z7Es|!RMz~Bj1BSTI>ylVc=bn;(vOy=fn{S|FnX8I zCty5nSP1Fk3sVm*oX}_~rEiA<$)cy;+6veX;8Xx-37@GrgBcI23HVy^G{Ph6IB+_B z_uhms%CJMwd2Ndt3J#8=K24`d+rZwxiu8EGJ)GNG&akCx^JFP`qJWo^%pz|M>E9uh4~ zgtv(QPm6_X=q>y^&lrj>y-3%g0G4@`%a{%`ljG&ALf>E%fsJ}tqoCETX6Y6ml7G>M zoyLH8Wf5`xV#JK9x!i&TFA8QR<$T8M_gHypI-|?2L1}Ne@;Q@!aXOiCvFUAfy^nko zx{i@(VO6w6{3I0#)q_q0lUw`iCsyLw&oSGK3}P4O2IRd9TSZ#9B&u#cH>dXJnLVHq z0a(y4w}QxorQ^INvmH=1N6T8vV}|8qNFU=^|DU?j@+aIhTdQq&zlavby+TGkP_=M;209+Q^3l2v;Swn zcwuwP;y4@-YDJHXfLY~2_d$4b;UOVA;$8%Jx5y;ty4=vnW*{mX>hJE1_p2{Fv+e4tVCP^OrgLRAnk82%(&>I;KY=i_A8(RY=Y*)2u zNk=AIk@s&6XYIu;a1dWgVTQ?8LNB}4jYyK7aQ^6x<`kad!k%0t<90KeD|Ip&X zU$>SsMsFFNnQfXJ9xh|mjB2G!K4T@9hRxpv8byFNO+s zB`aXW54di8ZsmJZ0>%Ltc{l}}34XXmZEy%O`YiCL_K4@xJz?2_fxRA(eS}yzdGcr=A2Gs?B9i&2wSWVW z4>N$nw{(XT1Dty#M08OgTXd8)>Sh&)hPNck&=hS;;~C<+KjW;3^Djosk}Z(}CpI5K z{9ox#&O5YTxcx?NNkdaz>S(usUok?w%%{;bT(6xl0ScIOSIZvo&-QwY-UKcS`P29Y zcax1}B*}IN@9Qc?@jtDtQ$Vi1a}~2a!KGcSp41sY>Sy0SRx zVzX#{%QlwRZs0vQXtdF-uoHYE|E&rE$Vpk=qKpfeq~Rj7+_47cF_gt~;_q)+ApqHqsJ?CXz&go}RKRIVYasz1aXw|?g)e)>+t5p!iL#uc&jNBt2i+wC262O#$45lj9)@sr}VgVF?g8%KiN z0U)KyHk*i9k5`!bDE8tRGp=Vm4GFW&b~v?e=Bw z4ShuLgKe}Gjx>ImxuFZV98{VfVVoH zj{NJPK&|1h*WBJQ%<-5$igTmyotQcx)uMs|y(ge~d_P~RT?GYB*Lc_`mR^1+KtCPh z1I0p`vw{MB9>sOvY*Xp3_dVkNfMS^ihejaAh=dmmDs_w-izoEhB<-Z+LAAvI&VEC` zt=x7N9MP_-ba3w}Vj+23@F@jHBzVMN_*nrdE;<-L##8BTY(?7-_tV0%Cr@fP<9SMrzh!X?S+F z9&%>2^k_#SHjh}^AT8}K+3?D_u%_Fct{I#nR=(SN{_!|$vv)MP$uCNrH}Vb-uF}I@ z5ySChY}T^2BRUjzIY=_x>Hmz10SkdF#!q20++CtgfY{}b#o@G1-~PJiVr@Rk3#WoWbG2sQ2*P_|Jck0_-n$<{3enX#(2nBo z3^`cltCR<0!!(@fP|%@Z)QUk`Sgd3Q6XmXh`$n9Vzso2IIr&gaXMlM7gZR%9%_cz^&Iu2P8lmxY4mAZNzH3&4Oc zc*HIulwU9dFw{%oZIABff~0rro7m@JcgvIT2C(OH$o`HYA2*I5^wyMlIbw=)9f?3&foBN-$7OeGe*~D;69q+?eg3bi9Cfrs zsu-*#y2o1;Z{Fig50x9*GTl+zJR0y&UZu~GP-h9XwVyNEU(aerw0nPL}Kc<=yGIvC<*k`oZFWGjOc zwrb6SNVilZnF04Vj5o7-Zm}e#m6_H=!oCmp*8W6go|0mR&R zaWA8XzZizVlcuUol*5U6Y){#4zQ2u`PxK6#v0v~e&#rFeG6CfM zhvjbta#lAp_ZMJZf!3ET4fnqT zaE*|yu{i7+lKL6K6Y*BSMJ$z@tz!o0(%#7B@RT>zSTt-J)Y`h#0r9q$%SnmKdTqOq zf#g2aZ;Y3K|2KTt?2{eRDLl|x0)2&|FI^=l7y2g6<`6Qn@UBjeWmJtrn8@s&>4TPr zg3}iV_Gm%rcU(=Z3>*<5-{scgnvsfFS+A9kXZ*O{4VpDF6~zIgR#jF9E|8_#&=gH&$c2F-EWz^KVF&Bep0Gjl*8m4LCB zn&nvou7rMp*n`oM_ z-htB1pS;~Vqj|{6dTq;kthWFDK2A)i&kUlKKg2h#X$D`Yi1ODxWY*3MdF(AgyWEj^ z)UD;1i)A76MeH?ItQC~F7y3=yQ^l;T*Y>RUXfO0_%$KS@<4QGqX_;vwD1a1Fd0(OP z`5^mkwX=YEOgGWbcX&oCz{Vo-HP%nr8@W)dL)zt^;If^}~#2 z58@h*=0!F|IxLf+xYc}1+Ttx_<-T6tLqkC+^7;#;&LP$t*w&FZy=DHYwpr9wD zDJY18aV-mKreFC!&1g+m#Pz9_#X`m>Y=C?4Gza92YXN-1B-!S%#NJNUX-P_dy>3Ut z{`pq|TpiMtkQN#jD%LL|h=ApVrp^r5#hfdX2z%#~XS;Njozi4RCL|JSJR`<4#~Xh8 zUs#7eh}cr;Kp1(gzfYw_ULhiGe-kl?%!K1EORnN8JD`n7a1eH;_wX+_*g&Fhjw%^azaq)Pml3m$3pGvH}Oto+xv{D-8**Nkmf|K!eLaUd;0 zMiMYd8;1gTL~?S-WDtdh8DivdHw#L)sc0y!(*+g?^Sd>6YyO3y1|TK=&dkWgD=4eV?5MCYh)@8}kP z#L9hr%YDeGKlwyR>lla032)NAWm>}Tu!11>_G#<$;&{U+CkRW*JgF$Wl>i08+-Dz7xp2OFeAW)URV;a z2VEOUyHn97Kw%oProVjHK-#OOwI@SL#SCdu3{cvv>3dYCf*>!lhQufXB0l!oJeG?e?s-um??fI46f zXWc>6MJ22XH-s*XE(U9->^SqBks3TC~>0PcpWn3es;mi;g;|4QgYX&eoMgxENvBK%}jFlP-)H2j%9!-xphV`m?O zSM(RgkZ&C&76Q#yj~OsKCC#oyM$Z_8^76J2OX%Qp+N}IHx4I~0IR|~l3}p!`!zt)L zka08`4{jJl9w*A0@@gR*=4h-x0ie$})Sf+f1}=`T7|9oBu=iQ}`nv|pOd|UXw_;!0 zhD$#U9a}=KA0a;w4fRg1d7Kb-k}2kHwrrwbNQi1sJNZbN)6|TUL7;v*yKMXXQKCTQ zFC|}`0Z#@=<@#QOT6W@ygCGJv2ztsz&YucdDR8zu&}d?=Tfq;48TSUh56TVrmtn?WDR;!>UQgDYI?P2GaBhW>DqPWmY#bB*=TLNeG_9&#x!$h5Fz-6DqU^$@Yu;?~w=IQziA z*JK%qI?4+$mbLgD$2i`x_27t@)Lt*2omV)%3Cgld;XpF%P@VMoA%KAOg~Y%ypLDgM z+bOvq)KYLPc@G&WzK4*xC24yR^rAFRLHktpGFa@uVDxiQhj`mKEYJ<+Tb4uDDT5#? zQz2Z4*peTf<_dYqzss|?qnYg|k;}+8z(}>Qt=sZ7vTdIMe|L~A?DN%&E^~?*#lgj^ zZ8b;W9u^HsrQW1<=}c;@lk6jv(Js%}Zt&_Fw|0CE^cwUX-6&TPH$|NHh@XtrP-(FX zSf3^nchsXen#})@HJg~FMa^C8M}ten*0NVX+*g5-#Fb4*8F2L}VmV0z7}ZZ5;KNCw zCs3!1Pn}aBwM4wvMBxG9!Y%_6I&z5}- z3R18b{sXj@0=65BDa|UYq})^lvch?8cxrho;?Qbgw7m!Xgm9q@IM~f&M-@=QQ>~0h zFa&hF+Ta}Uh^_3z<3^q$_NC%2%$lf&D13=TmH=r0We=_Y|l=~?wc2yQqYw4kH5w{0J!|&d^aOEnD9Q+Z743--v5OOq# zOPr^;AV#j~F;pL&;>K%%?6c3p*TiLjRLc0Ze%QbjX|>p6dXLzy*@s7LPmGQ)iC#jT ztT~(=cx2UKKlATg#`Y#Lzhrh8`STX8{V&UEeRJ*?L;HpXD-$L-M(&KOZl;rR z6LSRaIC%qd%&o43`pz##d{L^?Bt3}%^T*a1(yl6ErMwHh=Mg`3A}EGPLOr>dzY_k- z$3FUYfGv_bJ|?+nx7c3*JcxVN^^n25@kv`!uVU=gOe1>0T-Jee-9JKxe|*rh_>aO! zM%S@)T6&CI$WNNcXuHu@YhcLbh=;I3ZZP>-K~BGp8JMA4YR@r-;`XTLs~2>AFqsB3 z7ZkGH>}*IDC!mARA_kDYkZb#gJXw)U3naN;JIU62pwokINTI_lx28p^E+NG1xe0Jc z=f(0>470bUT5gE=Z@uHyl|ZD?LMgsq77xuHrUSsVt*;rFr@~Uu^(M?Yt#2(_{|Yn3 zy^FwK!e8@joGNy?5Q@+k?XIT=Q#!CR^pICm$Nm>zP78J2(^!EjgGiwT%GVZgdyuu1 z`9sZ{b&n!e8_#VA9MY4tT49Wu5wS#f{7%wAly(abQx;vwcB~O+cz0$Un5v`aNwMY6 z7$qQo#>#mY%g`gXQ~EXHjM$%&1sXC^OsFg3sl`%f6~?PKs+<-pWn)6OwqJ!%6w?f; zr<~mT6eUYL79}l*dZ&>9PR3CnhGkx0ADkoBi_}@*aJ@%dp4hz!Dkv~gH2YcMhv^C& z6;T7bE0DU?&a5D4A+7<7qr@kBKI14uZEI$cWO3>#;#tW){&n+WZP?38B9jii^CwSH zr--G^f=b8sjN3!$h9viqAWk7QKB`b&JYyzK9Hb2U#tR`pWcY1Z!ywa`e0EKd8Gi2q z-WD(DEk9Rv`b#;>mpQ;^$@Xahz?tm(&RWVWJ&yeuKVi#ICbe^@{0bqHfb@*1<|I8{ zJYskz%)_nB$Bn6-XM+0&mvtO?p+BF3Kr4PIDGy*kY>121A`-`1IM zJqs+tl0;GbOh}tkm$7770QkH|Jf3a}=J8hifp?P?IwVmqgo1b|+1grhoF zMT@u0mpTDgoz60UL%}Q}bM6itNRXlnW@iGKE2~46m>Ra9GCC=eW%eCTo`tJY)I9Ei=w`8lA+WtJDD6iB%IJN2Io_+U#yG+jvW$ z!6A2O$0E9{KJUr!>sY!hA1cE?4LSN~veLjp2QOFkCM^Q1!(13t2qMN7_Cq0v>El9V zsi(bpU?~vRUvM+4O>^;+OwRkz5dCp0ZBOQ4Qi*v9d!u=p_)_sURM)29&2e@A1zEn0 zRG64s=d2{Tx_@L7)P+czWsV(9opAm58nV4}_WnZOL$wFzF=1z?ph5-lqZFNyQ(0C^ zA7{t|r(DxQY@k45G*m463c1n1-i`$p1NSkHO{b2lXD%3LWOtQ#B zz8R9!)tf^4r(DG(Qa2n^Au3tC?m5asCScm+VxL;_T1wt;A0#dYO>ezvdIIky>1W=^ zUc_Bg3t3=I{X?Q>AYk_ULPD{7q;7PH%a@-9+0 zUIj7}pB~gbfe|2JaKA{lELtH942oKr&HU`rp`Xu3e<+Z_zm+vFZ zGb;g`%;W7f|CDAy4UUMnnNWY~^S*t?^)i=X&}I=s;KFr)*>!7FmnYr{p)FQB2<#(2 zIF|H zmL34ty?Em)tZU)HDjK#SB!iBo#1cC3^@sv)3b_Abz^IIZlMs;$Y(u==dIo#Urt!6V zL?$$zrfhTdH7yoaR^S#P^Y05)1q?4dd~B%OSO_Kan9@uYM-%OwU6OqZ6PLk|y!RxGms#%~Sg~Z4zu=fLk zpuWA!e=A_6yRjeQNBU5Z(nZO#Zy&1G6|h~lm2pWxk`X1QJ~xnB&YZmT z$mNyAAL64ci)l(P%Ko28caNBq|eEz1jsWTot&He`s#HFL96&g7V$ zq{-<`KI%axSw6tB?yF@ua0n;KSYBTmjdfq~4yC)fC6E3jorXVGCp^~vviX*+B6yBi zuK&|j90*v0ciiB4*4M>m=^3I5QlOAmbS41njqVn7*1*d>r)KH9*d^$+RGd3kz{+-W zD}lxneSytDKCsh8C4{Z6tMwER#T6hxhpMjGv7HILQz6Y-Bg6?fBkp3~S#V_v!ywik z5)symuB%w3gGJ1Og(l{6p)i!~X8m)--<^qkpNXu6g7vJZ_%x)4nM}f`K2I^$L4z3q zq{ZN;n29rY_nKb%G^ny_%CHYU5g|j_ZfWx71>D_XvNEaieGL?&%2-5ukRuB| z+?={i`u3R9W6a+oWy|IGHhkB_jN4jMknfN@2m?03&AlCVg2P zEI~cd^Vtz&?H<-Y7(QV^r3G&7uLeCKctGZxxVPZLc_S>?i&Qayr7`;-N*Q*saA>^M z!*4kQh(uxONX^l`aC3qK)sbnjklSyD+`!6rt~k6Gxu!hiuPW-=J|oI)))wlZh4t9Wpl{UO^2k8+03 ze@>wm?T4D=%l(@{9rlow{r1AXwWliXTXym-35d@-345Yq6GhDcpND6YWD5Nz2OI1JS4fc^iYdo1~Q`MHr!g zH`%CDhQdQdxLKjW5J!h402Q#TxHM<%lrUjb$Vz`>tK)vmv$v+rO126_7M3*n4)wa^ zkkF=!r}1(^0PN;yWyzRJtVeuE-aq>%b~7(*NSDo)1zm#@;73RD!=NoA9uPk4S{9kK z-fSF{8&D9XFNf(UaR5q0_`LecQBz(bM(_ztp`SYOlN7P?-;8_2|8$t=+sSZBH9&rJ zH>sBa42*egPk~*aqF!}~Im`fU%A^+X^k=0MdIlT~tBSN7@Y4*TJSt}8znOkBW=J1) zoeeOY1)j7WYmb=>!(7ICKC3E{vsi?=LL!*wuveVx*L~3b9 z1NNu(29D)Cgm`K5=d294H>|KC{{A_qTL9k53PFchLTK(cg=&I+u?}>H*9>AOX}F>B zA$?$JLcH^}6Qog*7?1_D&ntK`cb9d=tQ0ugug2W$AIbg;wS_J-iL*NixP=7p08J}r z1uggy19E-w#CnHyKW#hIg5i2)j6dS^)1frDqt$;(3CDjk;h1CJ{M z)$nq8(Br_OJy8HAIh7H#RUQCTio*jU!uZgC?W-XyUA~xrRU}*}P`A-hdCG;~-5x2p zDT-yjAz|W|nkEz+Cl~O_AY z?FN@%2ipRoj=vf;s@_W>tnyDLGv)J9+gS(9g(}I+@}~lV9FN+Uk1GNc(Q75{0VMA+ zZt+0&FNB( zu6xLje7^5O9`{2YSq_a+A2gF#P?Mv)$r5$x$Re6F!7;zwTpOpg=FneOX}C(Fw$!Qm z7Zw8jpI{Nhz>whxwV(4n4e5GJ*z&cSIZdLeqko zB@Q8g85}HNZ@Rrb=xf8PO}AwS&MuR!1WKHxl8FB*e#yyRFtOzYY64*8hAbD?BSBBbL4D{v!0fK2Zg5&)E*OTV zwzgCgt4F1hr1bZO)IrXL|KVT9Y_H5XW3CPXt_fu*Bqo^9*mvhN>65Hw$VWEjdQj@aZn{3sO*#cG9I(FQ+>OuxT_3cE`LMkjF`|My( z{NtK*!57BCx2@4KkzFfXmR{?t*i$Y^%6{!Hm^zfw?!3-#ln%oq2BI?AfAl2*&F2}| zMK>_O_`jaq@CZc*&iHHs=wk_z`&wI4UHB%A$OvuqD1&mle$|RnS)K)vJ*Yc@mI{u|) zFQ9;x{oW<3ej2bPHl%={-es&;L%E7&bt9s)SLw)!_W~An_Oj$ef}1eF&&iWXd znn}yfOh?!TW-8+IqED5V#THae++RSu!0O58`oy}}iXu?L7!@!zT}cjZTV3ilaz^HX+~D=dmG>WJm$tHJs}cRnrz*^=lh5MQ$WEtVP5qTU8hyZsNSqD2_gg= zWek;Fdn8~W>yxgm%s2Og@l*241XtV8lNZkk+U)uI4dK-hqNZqCh{P}?rnQvr88?=f zs7d)#@>L;|`f}LM#nT-}t%x4|*-O_T?g%q)EI|+fKr>Xc7fTC#P4&ZtP2j~Q!7Q<0 znT%4ZUl{0~&_#K-WW7g_tXkBtkJI9>-vyYfNV!n$|6<58G(azc0*8@RI;EgN{*5lu z4@r83oDuoKTT%hI#^g&b1ciP6nvJ3XD-1sGG9lNGke^O6okN-DzwGa*i((Z`w+`cT zXdVE2q6-Yn{*2*aI>&O8t!g4>S;Ta`e3TIQRWD_RWNqhYuP#w&w)1PIZuukCDGMVuA!UJkVf zIWRPzq<)HZbCj^8%u-NhAS_nUE)<8{7aFw~PiwtaPl!0WposFl`bE3`Qgbp% zLyQ&Jc#tCFyctH|BE=a6qVGk;ElefXCQm*OGz zz?tH0!Smg%PZ2BO<^53D$$NV7U?jkv@2ot^)F@UFOC*E>cId^ko5EWa96a!GdDCz~ zcf*RBq)uCxan&W39bU$y!(O}>*jk?a8YWUZ&Elt6`7Wnl3>ddtc-G8aKmm;VGKMdJ z$gldN;sKLSFc|R>tXsHPz{M(Y%bE-ES3olB5LczUyr(KtuRSn@8_v$$xz1Cb*Z2*Q&LGq6viLe!nDlzYN_cf^ zL0GbVjkuBUc)ih8$eLwIiAcuJFrNy%1|o*hb}%Z$oD;Ez3nqsIW`%u8xR?W2$Xzm4 z2O0@{qYO!N3@G>k2Tuxoe(}5C##I@wZTSOVxUV7G-GclQW}SoGR#cC4L@9Y&z=a`| z28NB-03K_#ByFuIL&-HT6#a!yWiVJ-5hM2$mhK6Y=ZwffRkJzQD1%jI@HJ{x#%tSE zfim~khzHhgzz9l|;@C*;>ME7nlDpnVfwueX0Tb}?pp3~yV9|NDFmZg;+61Fi?mx-5;#RZTb*vZ;P;}4Pv--R7%6o$ zesm`6YVAH0s!DjR>=8em2{uJmckw!P_Pe~ridbaG^LHXf*5Cl=i$V^aa6R|b{ZM0P z)doWf7vG~$p0q2wS!1SgwVpCN^o3JDypgWTc&+ZIqCUt4G7x2sRq+|*%iAkO$nvNM z5rj;cnBjKQXoV}M9|Rb$XAH>R;a7&j2|zP)*3W+ajt zI%!CgAc8LT5+PT?K+1^ABsF)DgOI?tE7{u08wij<7%prTpWBUxVz~$2 zOtkTHK_W<|hp2d>Zo7;+A@V~TwSd`9l*OKOn^M&jP3dlI*~9L|2jh<1#P_kX(SkvN zfekKI5S|uxD#z*HY1xqVG_@!i+8}OD1xag`C3p~-Z3Zvg@Um-AFWh|1{?~Sg*zMJ= zMn*_1uQv~}m!D!Kypi{i$AcCMZj?v8-&{!Q-r-GH$Vf_5DJOFZ4ne9SriIdXI}10) ztq_QsKRrd=UdXxK{8Z)^~yA(htHycs*ogyixXuAFY0^t;G(x>XU^A7yKb} zWbGj%Iwb@EkIddK@Jgt^qfT?43hggo*Q0|c2}u$GG9B3sU92^r{d?)=vBP5DPXS-n z0ktXNjV*hmr_lpsY>tL#nq>??~QK5#f9Z1K&+#j*>-Pms9^fZOdtjt04+qc8UphCFuLtzge zb8@azpTcJPd(e&mChYUN>oz66W7HdWFcnk0%rWFYoK)D<^@uYsw`vM$x8$)kOpnfznX%KM8U}|wsMc%V z2D33qAYceFYf0{aH)JK7%uvS-$)X{s=vN~nugMBxltDUA&H`qHEalLII|LPmzCGX3 zN1D=Z$#c(lk42E|dm9$^#NKI;wG|_m0_)*zlw*foB0%zBXJHf0F7GOWMv)l}{Y&V& zC<5|H60*|wVdf?0NMt54JX*{V?9){QNxCKPt4C-LPZveiE&^T$yf-}U*F{k%Z{c>h z^@V+``1uBGRD)nl*XofLb`-#QB=DitBeiHl-_BQz66E0iYRo7OtFyf{=I&d^SSfGr z{m0`~f$--+zdZF@Wm7=R6gvZfM{6cEZ==<-7YP+Mt*TjIoD)Lka8W+WD8cjMq4_L^2+7IKLWkY5Z15b(Lhg*CEXiYKQL&;KtYa8pYRIF zx8%9^ACH$Cpcoju0LCTuII2tURpy)kh!GG~IWP5CM2I=eNLpN_o4r{G(XhcDuCOL| zR1Gz~3`RvvlJIy^T6yG#KyO{CCb;Kn$+wHx@!frufTog{U?u_hR@^jo!vh`=IlsC5o!t(OzP-L`%nfK}f zki?CyH%j19G_#j}3url-WW1^~5`TA7O6EdxzvA@j)iLVjpvU}B*z1=36Ajw=uEUL} zjg!oz--2WOpRWpV4kUp0Kjjo7N>8>+aD6$&qfGEf9YZ1p^Z9)5@FFWrub}C~_AyLUe7nruFOGNOj=A)dR>>!||Dp-YG93|#sE{8^b=z!u0l8l|l zp|E89=YwMjxRmfQa4QcjQzOl1TqwCFJ1>tv;tsu#9*S0hM{H$HwCW6%7}iAThK})O zYBh|N$bjD2>DK^Dtq}_1W>lI;T2072K5)CdMyvE&O87{4PZx#dEvk8-uFMjct@d>$ zTGz@rMX3n z3O&)VC%pQYJ9?p%r4Pem6)8eC7_%0NHGT>lL3t~86@vTFZ|sbs;J$8(2AsWS zi@SC=rUF)!SnM}_5eYG{sKXZ?<7aP5wG8ocUg|AncL~VnM`%^QBS~fE zz`%aVmrrQS&LER=OW8dF9+w~ZG$S1eHJ*7Jmq0udw4E?gU~mm0(L0#7bg(N}yPF&m<3j?$klwdbhV^#)VXxIMv|~%cn(rp?TPqBt&Pw{SZp40sdRj+BwNak zym~I=nLR!={j9s4&?0Ul&1*+}OdBU!$yRS?-^eLO-c3cb2P{jR#qPB)%5d5Owts7% zovH#>w%dVMxj%Rteg~(BILr9o!RbL4n+1MQ;09^^b8}rd`Cru~SZ)X^cf#=+hY?^AE_1?jbv9eP#LLm>}$&Dt%7 z#uEV~SwFnA)|D7Ji$p?G_uHh`1Fc)YqKxi>Y7|F8t*^nX;5Bgs$LAwF{8BaM6ro|gud|ps{0cqtWm4wWv_a0N} zZilx$ug>8@At;QDdyq(l$a!BQ?)KhQ*zvrqTv2ZlcC~Ur4bl zVmx^O`PjSE)ZQ_3iR|fF)e0zosXHV2AX~_WMucOp8j9K|UN}7gYcs|a9fLdn@(K*M z)#)KCZ$+})Th#PlT1rVd)8w+{MR9~mslYqNDk?+C2k900w|oytt>>nQrM>_`qbOu$z4X!KwXajnZ$s`&aF?}R5pboD=aC;n z>nP$lb{&j}LYy@hnNmVWxmc{I;AR)cWm_hx3a1DkVa=~Vg|z4whVow8^PZI}e;qQs z$MY%Ib(WE8%Bs_%is^KZ+<-z^v%$-^{5iC?wra>ftFteSa>c;6VXnm((lJRPEAgd0 z@s$U#=Jz3|euXTU0wZ6$$VeguG+eu>yg+L3g|~_bK${}A%UA4nFD-qJqFxaP)RflS z2Yz|@g`vckKKs0XI2WgeDFvK3-csG1sNtX!sbTQ-kgXmAH$PCPcfuxkameG%b?{MK zrq3JThnhNB{jraf6|oZE4v2-B_74%Cs`%s*<&na^1;2$1xiPeR=*HvrIndZ;Zl2C>T3{vmjMn8QK`K@7A9Cn2wO z!7;;PJ81%db4H`;9hlV6KEyraMyEN5we5 zdc=t#jlEkak6QYr71uMqq+6TxSjvuwrGb2S#w--TJuU(gF_X%JtsNKJAqWkJ99MiAVVdoDZK9K|zAX-TqFWB8-{$ z8L!-xQneNfir919j<uV}k&Z00gW4%@L*`^(mSeucNw@&u))3YGDYfdSUqHA1q`!R?#EX zb6?G{F+S$P$_DV8>s*lZ?2_C<9uIV}Z&OGqSN#?QJGS(UYm3$T_P)wV`s9o8RVz(0 zSdrwk6|g$?g~j~QFTp`5IeE#Cjm)&J3$k9@0W6mIAFgD|)PorV$RGP`WA`KiIa{y< zdvH3+mbtm9xr(i_3Bcnn#SHiv*84p}PY$(OvC+ag4iI+;Gjv0rG0F9e;6{8LI4)vEi$%jXZMmS~1!zD-zAeYGPI_n1 zBUD{D;1O(xQXdQp9Do*+lyZ$*dGeAUK#=s61(8z;Cnc5-<5n)m{AaaqtJLnMjW zCLNZZ{*1dxVCC_wL3)Gx3z{hpS>*n9{?0*ep!6u;M`}_;>nDRg(v8q*qn^MPS}TUk zyy~zhHu-(Pi4zd&xPLAhmQT>a69clLA!Qc;u45CxarN3hvtU8Ugj&51HzU1IC^dp9b9) zQelCc@p~aN!2Z&zOrZD%( zg=AQI?tc-nEUy{vqMc-!fdoXv?3OeFhIgmpg4WR5VWt_HQN%acLId4j5K@~$rn9WD z#C}SbNI8f~m}L`_i%&(NCKVPtOnbyX+W4~1JCs2x?OF;KzzLU7EF#%PF|Bcc6L05% zpAz2(x1~ViY~4l19(B#ihM?+-SXr;Mzlaz#J|l$G(O@oMT0G(mZliVd>KzI>q1IU} zl=Rm5(;%J&985{Zm?&R*Gtx*UMe>Wf-cI>V`H~zV#V^;J(q0XF$p2E=_q(!B)%|hN zZ0n%SFkj$JJ5L2%yo7=;(@TL_comsumZgx52!KY0DK{%cs9X8UmBizxLOHL-UksSq z9r-ECiAY0P9=ZJuLB=urZU|WVlA6g4*IQV1J;?k_#4I}Os`Gv?ffJ63SUInzKSpd1 zWvKb#$CVezsIqPaVga#{7P`9>gf;`XgH@0$P@}JioAgd6<|kc~WLia(OxtSr7~@;S z6B};WI7`03<-dto5-c#{{unXXSTGdDUa-#0(B3s7P67i0WE))tr&yTG3qhf?+Y7hZ zEOWal6ROOL$#b5rrlrhd1%3r6Hj$p7q<+U1s&$eEi`5wW1n%i}vqnZ_cL%3)_%wkF z*eKXpg-(-YKs=-h-0;-G%nmBvCCtOZNDegi{j*aF2f==!HsS4R*LvG+0~E26UfplE zCrOk4Gy1-YdUsljK>DhxQhd6>m)&IEA*J#tMTzd)y@D`*auL&Oh03H3PS{+hg2iiJ z4_QgCwqFd{o?w?EIW`MiaOp(8>E5;cMQVxDab$%(18CnhHS`uqccj(Ii`p7=@pPYl zONOQIH2U2BWxI#K+!?aw^>zaD!P}7`WH6W-mp@077gvVxP+ZB2znuV9_+|x=7%I(Z z#@nZH@IHhUbNB6@bXfY%qt8!vsQ)MAYYLEbl$qTCet|HJvEDtF z!7dzYLB0l#g8@WoK(?AUWhK7B218a3gFf|4#E5gp1so~HAqGUCa9Mys)Dnxd_;hLpH1ciXVMJNFNQes`~noUhgEd7I+ z-u_{^hYHMnF7)=vADel^fF~G0#b1L?%`GESEebcl$jLgWp~?ET_OCreSo*GQnxE8eQfB{LC@Lym2{gZsxsVtaEC9ORm&y=(XrLGo(2$758-X-ppFB$Z%W3UiyGQHIa#_}l%=?%c9OGi$P3p*Ub21`^&GUT7uoj~)^Ac{>3zSI`#0iaR>48^ zMzl6dVpOf`C*t(C4|!gHC+6(38|Z$(HYA<3a)Cr-UJztf)%seCWYQ>Wl(--l zTA;reW|b#SZ<82H-=$4|9B`0c0SYCSK`i21CqxYxq#$nI<^jWy?aTcVnXG}y6M3;R zLUlmuy(^OxOW(Qlj{)OZo4}aBjOb#62r7$_0|}X{H@QGP#_K$@3bGr98^T5F7|$rY z7DLyb7X+>VCC}#%UQx(s)G`Ad^01hCFuoi*BrTS{lhf_*{>w8yT>uzgf&{?L!Y+j@ zL=C>P$7!|PK^Bo$VS-pHFc8tucg9uy zi%lo8u3_ec=L@Lx|b1^yl0xm*OHLy!FX+QOH9f?@u}Y!+nv$ya7OOZhXl}s*2jtMgh(y#y%Zs6G60y_Y6k7AFNs9zo#=c+p zVZhpmRI~>WZR(U5?>BPSL>x&f-4;j}Vs-8^CJ9O$hQz&VaJ`N>BD-qE0T6O+u>j1r0`q=iS;DB2iOjk!z?Z-W0(B9yN1PB`{opgb z05996)7KR#_>OrWlDCzwiRcOD_ag+f)Fc>+Rt?J&Do+i3yDXB*`-NEe;0U4^Nr;&8{Z| zu^~h(X$Z8RVLn$B4cs&&@b^%*O6Uj0H=kw4KEU-q3%JAqK?$N>VgMU&)dIlG)=>ax!1l)jhHF=AUeZmOv5^G~ z!|4f?EJ+r$QQiZ7+C>6)=)7hU&LH3>M|(M6Su%xWXw?h@L%hZYhFLrx4&({(71sqF zb<6VHaJr6x5n7g9%8%FBf~J6;arJr=Ss-1gK%Ss0@`lrFrO$TUFWEmfD zvY$l^-Xo~Tlky^s#dRoj3DX$DmRtebdwifn&$sVfC0067r&`;DIGw_}r*BeZ89SQn zIpBf9t9>{0N)VVFV?h_}LzUD|mL3m!>4+8tP$&{+rV;jtaX3PgLhbx?GNjKxP#Xk->XMx+r2Lyz+63pV>-{x+L)nrhg*8A()3F-&#a3(rHJLl{DnLZ<)DDvY<(j#Xiwr47en@Wnj`ou91w; zHDtk^6KU)MBQ>af+Fa*Mz9S&H&?6>sOT^9+--;NT!3Q24nb07a$guQ;J6c zq##ZXpk>~*CbSkVngn<=N(3PC2tc`PdQ(FPt%F&t0=~@bnLvK9s*WYeGIpUi+ycKw%x>er z4i;`39jB#v6}%OXTW+x|oFuFt)elwulC^F5?Ef(`%jmR+DBB9(oFYY!FZik|m5pEM z`v4NIpF#^wiY#MqrpuEUQbO04{;_d0vBCi8OvKdUR+o_QaON#F;Q^5W-3xaHqS^-mfu%=o1 zCYBJn+~m?ndRjdmSEXOaN_o4^8;p~OfD;Wpy#i3?xQG?2MwEgR6IPuGw{l0<6Raob zne!Bb42L||1r+y3jDP^u|E7VAG*Uxfd+C~9qBl*7EMwPsL$USYrU1u+kM)}-i;}dx zDJ~gSr+i~N7P{piC46_c^vjy0s4o;T?!2vQYJbS_Gu3Hv|`9y zWW{nm;;aR(-8IzK{)jVF96JImW0 zPpX9^S;j8(W|z~`iwDgeJiJ2+f{cENm`xkTk3+6R$YZG)>|Cu80B=8qLP4vb(qa|; zV8-bYqY1$l&xzRrW|>5ac6S;lTLg>2vBGv*6}fZ;N= zccQOa6QO0O90`@C;PY~gr{Pgpo1MxH(!+UEo(qsq*Qv1orvq7(Av>rszT~0}ieRx? zU8+S9E933TbkA>|y-x##D~l7|M68GvF$n3-HY2#sbV{N=gPyPOl;I_0}`ZGubJHRJ)&-1yUiynd+EHD}$gqD*17}9oWtW zG@uf&t{K<)E(mt&AWM~H?9z14m7AB4?6AnED1}aq3E?*})XEYOrkoGRFv~e=LM6IH z$S_wN@RO73X&0P|@b8#PxTcpxkL+s<+DQcN9HiIbc11<$j$l=ZXdAorIlejiGSeHwmf;W8Nu3o&hJ@SK}(|@`@ zMXa2+??C7QpCX39fhuvOQ!6Z36fx~QdtBAW+!aBpP*5BKp2#127IT~@r#${*~&JA}l3ZA_`} zNa-?!n3BG+#E=UTSsScyRxyz$Fbn=TLY4A}$$3nj{}i#_?^Ygl1~JRcl7E&Kw*)un8#r z1?_&=BR*##;2<0iB3+ibOVgn@^ACq2ua#yHI#_>G=vbzj5`GNlGq(3JFSH#~+SNw` zRk!xj-MR*DdeurdNp3Tw^FQvbEncs5S>~>r23-H)#T%?Up?oF%4rhvId;-;5O>V1b z2j+m*K;;NqY~DZx)SP9A5{dxk|3wL>#iOrJpIKcJ83?@OA#HYk(M)td#bms>??3Dx zJq3)J%;@e7TBYFE{BEOjo5M37kC@>OKS5$=0mJyh9|uNiko}PbC<5G&`mqyOCP%Ad zVx*VQM_nGQR<<>t!_KLI%N}rk4!9jCOwC*Z4bCS z2i&#RDD;!|S9)0iqXaWqb#g;e1r_)}5{qh4QZ`qHM#~r}?F=9;dc@YgpkV3)S3wR{ z{zm*1Q&{K~Fu~0qaZ<$n7b6CCU`2Ff@=xUpmj65y3?>K1#G; zG~oAmfiUATN#kDE%HsmfMUKn}Z%^B3x7mn6$fAL-+%@wa!5DUa;hxQDFP^U1N@ z2gpd#AIp)xG+D`jpw0-c-VQ8KlBx1K*P#3qabf6oBP4I-EWq4+P=V-XTGzfh(&?vI z>29Z{bI|@id6aMo^|axG3hd=2$6~J+;Ky5cBLV`*cxd(IXCj|=d>EEEGZ2EOi^hC-m2vL((U0FS}EFK29793~SNVhZKl$8;v~3qs$~4=OG(j-`ienkR#WBcD&$?G_ZU zvfWN6#LD#{V9Q@n^8gNz+`-GJprAjs>b~Iutn@5%5mJY?2%4ar0bBY-{~P9z>mMgb zvh+$0v^jCdgUP9#ZQObS&jKuk2dr%OA$J4MCAl^hn8>{_bx2f#0CG247d*U8FQ=2NQ9Rn4i479A%7_l}|LiFd|~KSh(T0h@Y5w z-w#%9=0CduezrjbmJJ~B_Ad15x{A3DsoDf}a%N8D&>Rha|D z9z`4#@y9cMT%KEQI672C>Sh+mMXz0#Zy)U%Nq z4dcWJU$bxPel!EHT02)F7Z|;x#e%ckFGg%F-GN;!nQ@RA-_WHLouYhG=8Is8roR<= ziw@jTamu)j+sz+cL6ToV!Z`{!6YxjN|FcODcW9(+u1I5WyWK_*IZ`S>G9_&gFm*nT ze$KSYqO~OE@`=~6ETS|+L@m$ZNE2}XbHMfx?24T@ev&Gygnu*$Vx&vuRA;&;U#hAxGCcL z$B21PBXuo+CVtn@OYJB^?bXgq>UDJ<>=41U2%F0&Z=H&H$ddzJd1qv`Larbm)&du$ zUnJt`WfJrK1+$_16(o=S9wG0?_^AZ?KmF+Wchs;2dM$(z?cmvy<|nOJ`moYVNJ9Wt zZi1aCMfpi~eMPAQie9)BTJ4$`9`GRGkM!}w83ms*FmiNp8lsY68{T#?*`{LuIBAKLrs67Bz76E&L#!LWt^C+kTW1yme4+`S!`dP(Y?_CpO0oBOrG(vl} zNKdxz9QiDb<^0056-(*17{{bLFXfS6k=M+7#PdN=`1@|DUS%5>B^$g5aH5N=E}ffO zaI-LZ^CemFEvemU_VA9eaHUe)XR8tPybt<3{W`v17oO3E< z<-DE3`_qtF-*Yz&c!0sa*F7{Q7i+BndtSQ_uIwN)^(Cn=ko|ul0ZHTK!o>DdSnkwj zmo+gFmtTyS4JbN0y!8XTVLGQ*>97wSCjeJg)JYbm6y>w2uKg{(uvs#T)(V?$zB_i#kkqV=$cbl zo170wof)B3E%C3hJbaph9V><=F1~_}9hZ=QAGbZC4B}EcW_EJhWGd;`G2$ysfwzbs zaX}MmqJ7X)L=^Dba%zHdi34358fmKiK$8t|chrg)&)-}zEC_Jf3oxbih$jW<7as^* zUD;bS7m=A+-Y5!~gqL^F<4*%-!-~)<%^iKzn`kUQ1+^P;i<(`b&uEvX1?m}^#h+y% zl=rO)0rjx#~8wSK5cg4RV7I{ZhDp41Ivo_d}8`pHfZ9w_(8Pj~eKX+4M>V z%8{7_BMhHs+eOVur8;COJC;xn*N&$=v{y)z`?&34wu130Jsu5C zW}d>1jZ-n;wL0)R$XNkF8Gt@C$V2nBTSI7eDVYS+34*7OOnN>VHDusa;2g;(FaItO zSbSyd8M3F3ESh}ZUc4^VvX6+ZWKEjwE>t%-0(Ku+PCu5wz$ggHWS87QK4a*Ix_Y|X zXolEW=CMm)=JQ{Isn+ZqZ~JC@Xk6Cw5c7{;7cYVP)B@f~n&S!PFMtk{N~9!!BjA%s z3{@JZniI~UO0!upU>zAINAPP#zlO%l3|RgLM&Ia|K>sO{TFnk*VmxcfrlODm+4NH( z4U!xI$35UDJRUdrA)$Orz4T*Kz6u%S98fQ&Anv=GvIKlPwt|paQo2e_J0TDgxT$bN zQpEPu5ia#R41X8fT|p5KMZ8r(_6k2N5~BUDh!_cqj&PCM{DZ=fIS}q* z!6}-NnI=mm)YDkfpQ{fR=g`)o#_xquMWV0h$Upe>3Y0#Sp!2hv>Z^^}*+f~d~i*9=rZK%98(2n>a*;oCKtr*Iwqb0)ztU3+Dp!2-^Hj2M)i@e#o2F;8(Odsn(c^%Vmr z$Y{~$6hMcgJkSRk=;4-V>ZE~^v9F&982rc5J(Y+Gyss7)CI~0MAiUw4w_)|H1YMNw zb{uSboUGVGv#JCkRmcvL{YCJ)1`UVd-srM)Lolyod6i}eBlrHUPIYhrp&@$c6t#Ui zP+L@B%O$pfP_FR)7s3J;Pd^e$b~_3d2iS+EzXM_^jG_5|mbk*pS0+C8R(By!h_}dX zg3{bBu`zC<3Ri2%+L9F(D5PipaktYwmw1o_IzU~4?Tv_KQu~Zf`vx%s!-NE-VE25oXNP6VCdeXM)cdT=IkMl6^o!A0(6% zN|!6(JT&=6a2mXqN;Z2D4;;z$eO%pvSS*PgeW#-U^N6dm-Hw43r{GJ(i9xBoOLpKeU8dsIGfsdX zt>tN43yVaNc)=zkV;$PtPnvD+fLdX%V{o)1ItqAJ4Ij&sTI{3ZKOlCo)bdb>?=p)) zc8-Ya9`Tb(1>ftSXVL#LT}`@+fzAQIrm}EJLe?y>22lv7SH2brMM|(38qppvTU%lK z4`h@0{s_WZ?t;o!*hh@~IpwZOcl$o9KWR!^aaQ5x(_qRfE{C}yX7_Df7)*1II3Aey zF>Gaf^bUco7#2WZXrj*(FkTA>SYEyjzL%1RX)ryGxhxj6cl4o3Rl3{vVc$GrX1MYE zMKL>^3RJ`uM}>D5Z~1X~;A*l2fZWE7HDjbtZ*TLe*pfOT zkqTJpZf@z0`M^{1u#{4@(4R;sAf`#(7?|4(Y$c!>sE*e>HHw6n0AXHLv5Z**-a#yt zg@3gWK@O(H)|HOa)ch4Nh25V{QyCF@ts*AfS>v-u{7?cVEqhSrNO)DGa7EleoCo@k z$|%bU=!%s?=p?HMwdRT#L7+NCBMl{;5hGoCI=7()fSszYPD_I=E|^$GSU?eXMZD#^ z{>;l{z{KdWGPiDFNf9IxupTkPZdIAqGQfkN6#C`scdC(%=CG;xGu!sg3NF%>;y-()Nvip8e_pf=@sleM&S&^jNsy8_Bal9d3GdNhX5r!BW7kfz_6=prUv4Z2n7i*2Rkm8 z7|@x#HKF+HNcSqr2P%X_yrnzJl&43G$QkGiN<(JEGOJ9NdkGwKEk2m0BCkX0wgd3C z>9WQI~zjm;?y#zvIMMIC@ z3%FWUjcbe~S=sE~(y$qlK5j`#NkajnenlbW_}7|{mm=UqKd@_7C}6#ldm-O2F#Hm5 z%^>zGt_wi83&n~$kBYo2i7mO~Dr{ODJXj^_I<(8`8on05Wax1VWTP$3KsYmQzAA$R zHi5lV2k7C1UVM4isv_P`@xSmr^3C^1&a^6smSzcJgNMNC^vcf@8Urw5yL9JjM`5ke zL+fkO&{*Y%m=}C)1WoB1u*-_EY z5u=pzR2MT6bJB9HlD*bsurO|jU{mlzx~{fte}}b3MS3;rYJ>PIfgMH0*@GB1BR@x5 zhL3M`F%l~vSN1W`KM-|K40nK4SA*Zh76CA$tTorT_DWVwQo%7tfeNn$bk$topz!C5 zazC)VUhH>tFE8H7`yq-ciSZfaRk86$=<%FJ$F2 zx`*dOmSGHJOR`Q_dzyi>@^DYQ29(9#JXBHb&SPz=?|+$$cNA9IhmK8u5*7RYA>X$# z^{O`?6WXU%Za}uLK@iOc?NVUjY2S%}8D}8sh7$uYM8th!>Zm%}1B;=`cJO+WPM zF^+)g)S=*yZ%KdDYl*o3X2cy+bbKJivtXxlC%jB+SFks-C#!}ODDpA-&Z(J5kOLl@ zOYxf5R~v@m(A7sVzZ5o_>{tA_nw{kX| ztpWdEr?{wzZ+e^%o*@Bgi-~VHUm|)V_8O@2X26c0=>D#Rw@WeqFkq`KBw(6BTH^4U z?|zhZVnOSb(8Qkz5|z)`(d!rdkVwE*CgIbvzQ5MI3RwAWmo@HB22zRf;~_^+bXu{h zlEb**#06n_6s$B=sm*$RR){SK4OULo9aPXON-=hMNJU5&g}r#VeMW~?$<=gnv)O+^ zMZ$j&7Q~)DhVtFMyCWYxHKYa3NQR=u(t_$(kJ$dKU||l9UqW;6FQ8%ScIMN}*C`GF z3IPIU>F;>NcFi6vruaVg4)PaX+`UlZ+JdWAM$fv7hZ5di%lCg#rnn1ZCg((qy=jWF z_F)yr&2=6MDkH?vSwY(ErhF&Y!@8{7fJkFciSJ;>2dmW&eJ(IZGE>?jenfKfp&wTf zbX7s5w0Ql?RTC`79_RpRO#^?atcN^MXP@#DMHLf75VRM2ji6Tek=6dLTV-NbW5(=n zJtW|8dh_7swGZY}f9&v(dVdTVb{8TstmahBv!IVM8ORx3tBdmy2rMH1iXhUgiWr%E zSaRzgv&JcCr)w88MBTBlAKaB5F&S^}GMfFd{|Mha5?vGq+om#Wq?n1Df~%sj;eg96lSaysYlq+2Zjm^VnuVl%9E5$DPF)aaa185MwG`5k^ zH+anA+T3L{`y-Sa@-t&GxOcLF$zqWrn*$OGjqfOAG>m=ZN@%fALW2!*MvUXj0LuXe zIfjK{nsNs9XN&=*HJ)tN(Uh$9eRryery}03ibpKBgRYpFPCg>`vJSdxD9o@9N8L)# z*lNTI&y91!&3X=DBep$Sn^TT6auNJv2Ko7{oul;hEQ6qO1xm}eOP2yVgDWC#e~ws+ zS1<=Ll$JzE_6(8>Y%6UCrqr0SWCJUxlFnc~zx8q=M(6esDUW!^+A znwE+QU|!Y62&`DZ{TBnaWZn+s+9AI(RF0<$8hkHEW4MZewONlC@^oEy+tSN?VO;@? zB`ms?kWL=4QeGK<6*02r?(oRqE_qqe^V=`qeY9e|9OM_)(GtGB4h80t@IZ!4?-Vg? z0XBF}eMLEXLS}6YmCk|yOw9DlZ7SpKXnD{m562h}4aqp!SLAF-kPEE}*tTddfI%kX zbp)ni?}Ng#$}_cVR1rAXk{FhxtVax*!CqFsbDB^DFThfExR@yDk8ecjRL0xE@;{7N zD29q00vtuupsp1j7(6I{Sv2Y70T-bJs}C=od%^w%Nx{6*%KI@^!rRTGz6sbq80oG7 z$L(BDQjcQ&4ApD>uBNopP~@SF80*DTL^C1rf@GWB7J!Y{BaTAn)^&`drnabP;07?; zQr%%Jpf-9ch`-Gr=Y%k@MCTaSB0d626`7@eJD;(YH57DwMAjnZ^B7bAQ%&hh z`@Ho9X4F1X`FRns7)|Q&rZV0~SNb%+`nEcr_oSkGt;qlj4XX*>$I5f&|7YQbEpP&( zgVb1EFCKh^>58Om+Ju3H_=&OcT>D6Np89j&}s-*>nXmE4O@WC-vg7wl9 zA(EkbUffsEx&_-;KI7XdAq%tFSmDWShoVBAMq0DLu2&EAAY8&0m)upr4L}LcLIfwg z!yTVcL99Wu1yY2$V@n>Z?{(>Wg|JC$(oI=YwAbKig3-Mq?r1|&1`oVi!&>adYFs*}l~xyc zb$QgfG$G6+rWeOlr8M6DhA|$p7nSOs;y8yT91J(aA8{h!y<>WWa({bOxVQnolGIjT zFcDEZqsst(#M0}^AE+-wN&qwJIhxrJs@YUD$eE{K(8>2}*DV-NI*XOF{?O4gPm2VT} zZ)>$NQy1Jrm;O1t7EQXjstI_1?;gt_1q?1N>e>a03~3O`jX%a)%rdyEw=I zR~y~A7ue(j4GZ4*TSE_V&84|H}WsXf2nT>fYvXHu7J0MHy&O5 z0Apf0G^WHB89r+ai*#{BMA7Q8;>!ftz+eJGaCisY&Z<=HG_Vn40zso2BBV@+7w*nM zny4-yKHC?Eq5|2{1Y9GbRwZu5;3cK@Ku-*Gu31!!b&J7R^axI z-t^+cK#`2e=q@{4o`w_Ofp=UyPW9+^!F<#s1}m#EET%vNyhE=>egK~%ops23t+5uG z5Tl3z`B|P1pggI<0O`kXb?7OEsRVXj6n2+PoCYzw3LY_>5g0-)Pa!clBE~8B7>gza z94M>OL?tUjI^C|e$7KR&F}8S}Mx9PkyK=V3Xo+d;31r|iSbeNc+Gv9C3HtF%nNLn6+L~KbM;n`1> z(yZ;}YWm-7t`YYk;yv9xqR;6Y4qY;mXbe)G(j$gekr_-T96-P~U?W!$<8SaE=cyWv z_DV+%8vW(ke0o*Ilme`(09;G)MIGG6;U%m_npkEiVx_x%vI4W?>w8Cq2x`ra#AI^? z|3~i~=0?;g7$i{{N5;T-!qKZEsB)Xj;cDR_?x3Z{cyEW1f6Xm9D6o185j)lN?yFcc6g&Q|4s zv|@w@#Jfzz+#T1v@VT($h`3z zDvK#b8e%{R5oYyD_CIA1bUJ!2%!<`CXmVg>pr3=M;B|abw%f%to&z4B&0ry0qUtEF z!{uNYB`uWBI6t0<&YdukSd)Y}s`Q#$Nx-U$lIRBF zFfuVatoWA!*t)Cu!e}!H%aG0!f%WU@HodH0ak{n-3WS{gxPhD2J)D&4b{P$1=pTka zDWPBkW~S;rb$+A0fE}G2c0n$l$$7$208mfGee#ysMYe>MDjRkCRDeY%cYr9)E5`K$ zmp_IFfECN~HFhej0+x;S&Rcpc;=jFzZ-WFH3Z8I5-y`D#CRgrp2P`30as(nUO^uxj zp`)B8;i#=up9vj%368=UuPP?&vW*Na@nOK^g-ZgJ z2~-{u_^U~&ceSDndF=DG8oty;D@KP5yG(tb(@DiTUZ`kcVf$|m0smT6bK zli`Q1HHO$&31Yw@d?xI3`!w+?Vy#G_bZI-H%O3?HQX}B)ei{e^JG_blEoq`+e+pCc zlNvUVR@EGfhe z-2Y;&-&2q@&}kJO66V=mGaVV_rcMW;+gq6W7R_F*%>*t52gGNzC7ly_F0P%+eCK-9 zBOWqm1qr3dB;lALLX&Z2yTO-r-PLb4v{gV^eKF$b8bugwBWYFW{EwO#F%0x}m{~PfO{(Gt)(_$$(uz1J;_%Igkxz>qem-;TC@s<>;-rOngS1gJwTc=F zSug05h{I1#yqmPOsV2tq+=0x!uVi0uGU+K*#V zd1w(0H<`-M>8og@7<}uKvgP#DUJdo!y6MK?i}8n+&>eLZepi3&JiN>-j4&gkpiD|r z$mm8>Gs+`a?I@1V*mAI2M?Lp|ilN01TW{y?LpD?onPzK4lb6qdbSV>6GJJ;dJCB7l zLKQJ7@1_#;VbW%IBQuI!_iQ)}GvT=nyP}v~c6Z?}K=T+Ca5R5&DS+aKQ&7Ue)A>}Td}twsAo{bEWGUB;^`vJ zAdut@jJYIZ*xMWwJfI1X%LI>QGvYaK2=3~#=V+vZ$$+7p>{L*a@#QLGikO_2R<)An z@her}2JagtaYmM3DnYoHAskm3JUIM=_n;PpDh6aycr-`ESh7oNTF`#ad8`vyI(bbw zm}#&W2JOGqpZy*BD)?c2G2&#$*ve1YT(hd_`6`4mA~8%jgRA$Gq!}>nlOliSJakm> zib=Oce@9*gCzd}4{ObvKu%ij1g*yX53D(MIA!J1{{WH~18gs;rdvRmn%vT4<++IKx z?8R&QL@`mvXyJ%g6A}Mni}34+v95$EgS#h1ecvzKZq8U{G)?;sE>MJwy!t^glee=4 zPRCQoNy~)2O2D^)@slACyeghVl6E8=vV)jtp974Yp4_Mwwa3^{&NCE)M zB7WLf=Ap3GLh~;@3$#~C1>V5i+3p^PU7^n^89z*Qlknm15kD>ZVG;L@O*mWv5$0S> zgP|}$X1UEf(pX|^1!ch&(bPDSG*e4jD5T-TE`LuZR}KDjo85imrnRO&F{PusncDK; z!Zm6`V5Q}iz0@CxDj?-Ii~}>41DGU9h5+0TesFOATw6Y{p|{!$A#r;X?NV*mP#(d} zq^44m)0%PP@l|hvC0OX8_`B5k${z@<*aKQl#q*4trL!GRyAuPCy8r-FQyN89hOT4{ z;7cfBYqvv}=ZM|q52j@`D{X+%5__akD&DW=%2&n+?51pr+4X(=bY1%Jk5yqxcS z|5FEIIfCOxamBunBlZ&7K=xo6%COGyNSy^KYb`6dls%lbytHr4N2wEN!7+ z9(YIGd}PMKw??yvmMK7wWfbJ!8-|~kK}f6!h_OWcbd0&GSf`;Cs_{V;iz1;Y3Gt9l zLd+Vbz8mdYgU1b1=yIX3Ob$o7@v2r?&z_xhABs{x^ z)=|adZpo_J4Z>N0W6gLt`!I+x9A0Nw$jOC*GH6E~3g(>T?$0i7Fht%(gV1N|7~7w* ziFAJPj+s%yGKblBPChffJd8-62@UrzMhw%^N*E!hcGB6K5JBUrsr;JIoAiJaF0s4! zMlr~dlWiCS%{1%q%Ml2TZvu{g4*1hCZdbyqV#%Z9hY=AIH)bO78dZQ0W%oqR75yd7y5r4JNV&`|qhz%bVk9)yF-+y}z}2`3C>GZ1k@Crles zySM<%;N!RhJm~3s@AUkj`8b`zOJg8&BRPl(0u9QI&5@>jOMgZ}_$y)(URiCT#$WY# z?E-%!jWl5mpdOWF6<4TvPGoeD&8DUmdE$&MKeDPB)9TJyKPbD}&9PxV=bw3alXN6j ztV~?ryQeCM6b%m;caSU(m=QdEFttW1Po8TU8W(ZVuxzp4M4=Bk8YWaIyTm1mSTdyO zDiN8f{&Gksw1`fQcrc19L3+`9hsKKi?e!Qxq6amFwWa|eG!)N1eB@^DvUN3q{Ww}J zbpDO%s8cZ)<&|+^xp4wQS}wW6B#*sOvw1Iay;^*5K zF%;&EyiTYlIqJ&JWS5~e6HM8usOm>TfJwdN2hWH*!jqNP3;8b3AN>p?AN&|{ zIN)tC;Cc6eVRNqu&y4BrB|m6q1h_&0>p3ASxX*2+t@{M5@Jg2?r9KgJr{c$ADB|UM z(-i4v#Av&2a4tvIFqPFfK}6R+Kt3nCT+l9BKKK|AdI|RF5waZ~-c$y(4Q8l9w%2yU zIKhAHNx5nzF`z$QNhB|Q6^+meB8azh@u3s~#mugjkqY16eAGC#^ohb_MI>|__w7QzAVEy)p zTcI_zf)|Mz#88`%K~@GObnxhPhfF^0y4wH`Cj1+Cxyp52*xhZFFE~xKZ9U>DT&Z`a z2Wht>tfa@>bt~)&9tccqh@lzK{ zFwS&g4YaT_Mk4=?k^@l?;>8hrJXJ%sFc9D?6S`&`>fv> zyaB^d1oSudFS@f8sg?M6$rSp)yD96%bPxG4>s7dIG(=f~%KdotCJw|U2N7I}Xj9s) zKrw{R>G_a>X24Ikm}#{XF~;18;Z9`nC`@C!>>MrP=|>^^N_9?6NiW`#-XmomVmLE) z%;>RC-LcZ%B?b}^r__=@C}JF#>^c(KTu9t2V*X}^Z)z2a-o2*M3nYXNEX#MR&5!{I zblJ1wgrDhX*ruen?(=|=KRjd6iYUREo>b(7li;v{o0nok8x0P!wODPa#({5ugywmW zX<<8?o1J^uXDs%Bw%WslQMlZ7CzYbWwpfZQVkNzJPkN6CA^Ys@#QB2|lCL9nBvwMQ z=|rZTGz~<5fJ!EX$T8uJm=$EDGL9T^kd_6 z{+-yHp9&yUg^oL6eg|{z{;00BaW5_YZ3fW&g0-ZQxZ&P}ZFa2J>8LFe_JatEkLU=FYeVn_ z3q5*Kq>9Q+)8Hk2+l1&!yZP*XXij&85rf22yBtar%cV`ct3-m!)@9DEX|rDjT5Mdf zDfa7r6LHY0X*Q?nptm(}yumLx$mN*9Sg~Y31$?1C9}(4rLMH3o1VP~CKW-rrN3jIL zK8B|>=47Z9jlB_SPi}e+n1eyJmFm3wah$~v>fSVgI!jI$W9iI>EPJmvuVe_#R=6S& z=^-EfH9*w~`IbZ;0c6MmVh+woM{CZBp9e!$vsQ)eR6;OJJh<7~E09PMuSV*s# zhfasv9mm2ELCkGsd?;1#VZ%07fw8=Fun@W{{YI-m!SAs@?ZrZl^0A}UL6dw}CyHq> z^5$Aiz8DojE=ABSAc&QZr;Jz)a9w^jrV$e?G?3q)dgu)`DyswWLqfo1_@3mlV8%?q z>W=+44Jwd2tB0EZPtwNU4@QgP9oU1_wik>R*2gI72fq<6*c&pLc1}BHJafT7#@sL^ z)Cai>+6yE&$$An*d}yc^73me=m}|&S04EMc2LM_aRM{B=maQue33&$Eh$L#mfT}Xv z{{hT1y9)CRnHg9^DBb>JPQRrov+)P|Ap3zRckDQ^c(4TMtIktU0T>^k;9H&iY)dJ< zLA%IE8EheXk!)sW&vO}Wra>|GG2q`C(jF=&1gNrotA*8vwF9$c4O z5IchoVUueF9G?z`)gc*Jub#53+aQEA6c;zFk`x&3KHiNC63cveCK9MG6S5we*2eUf!E;?idoXE|32kPMFtB~e5tF|vi9^Grr>8B?f$lY2Te ze;6C-C?mgO5wF?$(R7#f2g0eH*AB)BlH5cryTtSB)!g7LCLfT*vah=iQ!0dBU;qzD-q zsE*0SLF@oQ$;Fk=ZfmZ?<67p1v{TpEicC4I1_afvO2>5rd*obnIJMk6lUL7==!GW& zEZ}->NBP4YN1GX?j1XiYo^_N_MJqeg2htfA2J(FwM7#YQmKzy$9Tx^?g1R3midkZi z{x^x;5SzUbR)fAU=IZDXO?eOo1*56Nl)4pNs>m%DM4Vjf}~bC$|bANl3E^< z&ZN5ulTGBz#EUyxDEPiZzF|yrXCkqRmP(nAp-8e``UMUJuh=ocZx>q{36_2{-o+;Q zIrni5*o9sd-|lp2yOr@Eg`$ajjM8-kw?vN$t`Qa0Gh%8X1j)cy_*$gPeAC|MNwRS& z3(Sr7gY%?_t0G?WNc@ockk4fAo6$)GCFqJK7CYi~>^+^!YrT$@Wkece-X1QXEcF(> zzi`ogW@~Gi?dtOd??Fj#u(`@6n4*W=Tk?>bLTcH25OTV1-jyIV6Q@Iy?e z@k)~|fgEB|a<~fSes6;A6gSL2A&yjk$Q5rnAOQ-XGSs&l4%j1x5Z+m%*xDpT#}t}~ z*ZLxVSTe{{LQG&#%w0k}c3n`W4UJ;MZ~!%X5!A*QJwS%-=Sik;V%?OnZZGp(1ZLfJ zY7vTo+;D0YDSe+)+tc0HZWV<*ZXtg-$z6isR>GjHj&8U@mWL_hv*>2?4AgLKC`iXw zRuBgq85_C5CNE-CTjzD5LL%j<5Ci|uS~_qfESmE)p=YYAOPLljY1Oud{Ct$VkeJN+ z*w%u1^Gg}jc9UR%R2AW4BhfG0sz~p#pM@vgh9!yw)p$~n8Gcl|7^V=5Oo<8E&QlhV z-XDI%!$l!0^{q_3=eO_E47^@k0H8_gtv9MrS{IIaf1?&MFa#E2m7QHP^BH5BaI>pu z+l|+n~{$JkE8fPf7wxnV3(}q0VXc_-HV*IR*G0yG~I4l6|oN^_h;uFuy zVi)5E-*$-`%!q5J>GvDipQT5PdppL|e4u@ktW7oieKhpfR}U4xhkEFWxPiK?Zh?h= z_53?{8R<|I+)8wD!vKHNY9^nf=_mv>YhRw3-7x@O7S>SENIXaaQGcEeJHmkwi*$0n z7;+yjJ=Uqxp-^6aM~n^Ztk!G+46>Py=gYK$E?W>JILgIIS*fj`{T3*la$A#y0_`$44yvA+J-eZOh^z$VIE{Fw2Bn2k6rQ%T+iiXyt-jfBs0Ner| z5>h?5>iUjwfx8a29lWoP1QLTu>&KmAk*Lb77C^te1GRM-GJ9?C`BBJ0A+MJ+GH4IY zsy#Fo3;`V#N%b$nY z9y~Qn2ay^krxQzZIGxMdy6rM6p!U%BJ;@h5UNKQ_A%A$teCGk(8y3G^32I6j`(P-X zJILdg`_FeM_)*iC7OpCTf+}R;q%4C7Faq6VFuiexBx?Uw#5eR?thy>?&ToOD>Y78D zrH|Wii?P#V#0hD6MyEhT?auLt!<)is){Rjx-RMk}yJg!qzIsG7ZP)t?OUNTeNvMnH zx1Un_4MK|QL5F3WJ7AtJ5x1{K40n^cA}p0edHhyoSR$W9#8y0DxYVWkRtM>u-46vQ zxieD@L3b2zRlsXYQXf%7Vi5vyLQ%NMMOYVHk3(cL_E{>H2Vfc`)7p^R&3@Gw=qq+9 z4MTpK0mt@(-h#+QWWO=ymYsg6DBz}m*VI=Z$I5tsZvw~zb;R;l^NXKTqJ%gDPbABX zyHoz0XF{%y@bpqijv``$3Ubw5Htpo27YUUIg~T@XydBK0h{=2R#aVqE5=o=K3av|{ z!PTiP6uKvP6E|uFi5LJjO0u+Rl47_-r(&}@8QET-;~p^W$tD>FJ!89wDpoMSbK&p! zO2=B;T>Wkv3V7{C>f^jc38c_jQ_!$2RhwFn6ca7Q&=c{q zVchL(LyYD}I-fD)64bP#q&s!Bv7K=Y5g&7Cg~DdBN|4d0KHhilidY%%2FStA{3&8< z&A~hZeGoSutSbk6}V5>O9bQ@6|yqk4UyBIxo`-l+HW6Nf!f`` zws!;f5m;6;iSyfdLvvn4N?1Ax!{a>jBVh>&*4x3ZRs>`j%~lwjRjv=MiO~tU zo{<_OYe>dd_OQo?JrZ(cAZ#sOP7P24f0EN#<28In3Aa{%?yyP4t8{lmdf`!COV8P4G>29ld0oc1aw%r5prxmZV-L0W+5O41BA`U}a0Wz>> zc*U{mnt&k$h9ly1B#V&cehEW^li0nh6LO3rr>|nSafM;N2 zB#oh1x>%&*&sb$A&OawxImeP zZ+1sDnqy2RnEzQKn002|G?bGFpri^cX6h%Hb9tU*(CrC7RT|h$y}!6iX;+YWv3Skkj4q`yGB@^Nnc|Q^ zHePl8c+B)JgbVs&IEF#C2OIElKLSX~=2z3+lew(p!V`|7I?PD4&}06h5^7{ZIHgF* zGr?wbPO*6*i1>SCX#^8+Ch3SMSQmQWaqN&+sce9Q3X@FD!h#~(RSZt~5IyZpb6x#8 zU^ovs5puYv>5q-6J`A=$IEbnaq^Da4VtG4?_r|Z2-o9QA3n)h*^pX&#_LbxSo`Lt9 zFMh$uRE3Nj!jPVheQC4phdC2+z4ai^1u||EV#ro{>CpwMXUC8)9~=&I$G^Xl+WBZ@8u{*F*_AIXb}bPh(K*G23qyA1a?&F){*d*dDcmUll*#9n(TTZ#w<1EJYa=(Kr-mGPKWqTp z!WL@=Oe)#usmuTiw?VSkN7;R#GS0dJG~n25?MyQy!=|9^r}d@QU7eirzX zdBG&5IiF^s*1`>b3;9VvbU=%@-zY6E7CpVm0b7^xY8Cv;Qfwa?0k zIY1LV0IfzMMkc(7w6Bwa_^} z{}J+jhU`kic78X!3xHYls5e~A&I{gzlo1P@s@Q&yHtova4lFw&eeGqn423NS*O z)BA^D3-{_0GM)a!X0EC8#}XN+7Gw(#67%<56JA z4%bBWCydHX_y)eRqBinu7^C6~l!7jn=* z+f_{nq^S#l1upi>hJw8*bZ381m8rh5 zwc2kN#)FB$=L;hrKn8jKsmSlT8Dw2Jg!ew4bH!?r6+64Bq4v)bNoboO@O*1aA3=9q zLBt42M15~3t19I2k`2N7`aQWAp!8?IL3St=d3-c0x)L^{aS#<<;u^XzkeJ+=6QcWO z5$?ww2XHDNGD}_Jn;eu|P)2op;W>3l%!9c|{3(N>^E8s+w!&Ej$BGQnPSV4qYfG{Me!DtO5-HtcNK)G>q~J4?U?G8LDARAB z9>S8PS?rT_ku1fKuM5&&KMB@s5ed1iAwPCfD3@waUnmRN>Y}@7A-^9DAA{!|cSnll zfrL=qFQjC^ge@WlSY}%iWZPFJAbHw&zW@tTFi%L_j*pvY0=U#++O=HFIZw#n5;9kL z-iQOpZ>bk%WojaUKfEDaKc9gt)9D^<~or5+l@4h+CtsMCGB}I3X=lRg6F(X;T`Snc>ycfN8D~u^oH_s z?ab1^cy$-{R|b3hE%187{Y@O06JOkqmKDbwB2uB-ZK8mS0$yIfELoo423&{kExtnW zYPoS|vBkq_!;aY%F^7Q3rSvy6$H2vhV)@u0yU#QcmlEN_yQ)jUc2svB!DCDk?*ZTgk^W(n2Vn9%E*xnceDCB}IFlroVoDg!*S{i@p zBwf9FYN0S3ZfJXFd;zr5K?4tp#}tqR-e@rl;F{JPhiQic8$J1@JQVR#-Xp~F`(uI3 z#(69xWS5y@6dq-l6IJNvK}KAO|Fz#D6*I@8BBQ}{@_2h0)B|AibpkR9ZzGIteI<9UiP6~)yf($MN4{wD|UQcy@) zM&W_ds$nnVE&z5@64{MjUm{dyV(c^VfaD7<@ z(XkBd8+g-({ib{tYdv8Rap-#p}_Cxh2WkIJ#x zn!P77?Zs#2u-MDeASEZ@vW1+yL3N41Gl^+VYFJ}T(kbA%|->jwHQGeT=UacKeVEhE^gWA#chbigp zFTwh*@-M&ihZQl|*Rq_nW`eo_W^G~7R!37Olj?uME~+x#8(g=)eO>5z_<`DW ztuc>6MsC60FzcYFedw@<3|^K=KLQ=&JQb4Kpps?>yeCBrkQTk-B}Ef4isxmYDh;O- z1IPz!|ypH|U>DG8XN zu81Y0J?dC2TZkA58Z0Dq4o~H8yaw#?*?K;jJ}a(>O$2Ns0=JCEBc+TIx;>r-+sE@|yDGZ+DM4 zpeklRTh>i!*Ha35^DyNBz^WL;)=G_@2?CD&Fc1{akzwMN*zKXR84AH8hIg2zQn`JL zC{aBor(DxhEtoPk`EaNy=jHUph;^3(l}ON=K<%G*1!A5o_-QnnA7fSx8`C=d@)K1= zP{0wAL-mmbR>8>!Lrobk=k;=X;A(xo+(NuAH@_wHxw=|gciOi zc%xEMDoHbcwa!~@sD5hraUJD8^o~aIAwDDg;*E4u!mI1$79IdvY#oN9Xo`j2cUFJV0TsAw(Iy2X+R~y^0h?QbJI~8Y6q*kd|s!tr;a=jtXI_c!2&V z4r$d4e{LR;yBGuv&ajW^V_2}K@vBW4udT&Al+$~_ACJV|uOm@ixOKqmZQv;+nOFDo z6c5}(nE3`8Vqb^wlWu?p_@r>(A??kDHf27R&eb0@z* z@IiCdQ&+xgOHV3F(2t0L;eq8p{vqpARa7J+&i~Ci#hYNVyfCoV-j*S#%0hV(h*u+T zLF~7^&r*uU&@w~S>Vl4NmYFrqC3RQ2>&wVHajQJ#I|+&vc9BsU)F5~eMhdQ~z#vPn zoz;EFxa}a<=$Z0?cq&##$yXzTxr)iB^h|5<@$nZ7Ee^Z3r~+sTe%NtZ(W#Kb`iyJ- z88QhhVc`d`ki!+CQZzocS|LymiUW@7j8y-uk;JmFjzc?=|2}#apuSra*%$tLM~HLs z(|v-OURA)#Elq&$IEAz=#VF)uvMELThmadPPKG7OUE1GG!8g>qMmvnrv&ci34q;~~ zUkh_|nYHn(+!)p3+t`SxHSOXJWBc~`cemT3ck8|$iDEelZS(z65bJzXmPu6 zH&oQr>FXk{(s5c9v7(s7xj+azO_{)q1g%F*&g-`g^>{>RX->#*KeEk`z5+*C`boHO zpq8Po3H=9vh4jq-=s+tvS4~{`i=p;ZqRcsUPgc6SZB>5-Ysgw2kZQuLo z(7~LL&I<`j%vHG5lR`$jO(S9U$Q)%ZjMPz*;s-;1s2xWcblhOW6lWF@6&rTNu_pzU zZI2KX7$O5scG-jWGpgQtSIFza_tEjf7fuYP?2JhlSTZ=gX52VCejIc>`>PFgdMt!d zqDiOVrMMUf;AR9Ix+^fyBeI&G?#*mQtz;Q=Fyq0j)h;F?UcC);4?aYk;qiv!AB}Wh zbov@8>lz5IW6z!5c=8mRxHp_7GEOA+tN=Vg#M4Oz-M8Uoz~>(mZ%%SR$*0bT45m^i zd64*SOdRcfo-Sq9`@#RwBtq9kvxkUu1ud)Cv@bg!+_5ai%n|UH0MEJKs&*K0cFj}#+b%nlL{PT!!%}K=LfMFlIDRu?!K2~WC8mcX zzVSq&`1M)~ik(8lR^y{pHW7uue=13Y-fV*)sXvz3xazk--WzG%+&n76eIC(Y%Q5x@ zfI|Q{bk>C+UiW+wPyt_qKmY<~4_flL_z)3tneSL`MeJlY$F+dp_Cg8nh7SM+iEpfw zYQQN!W6tj}>pxo!tU}`%^HharPsaTZNtGF2ICVt>xjsoqd%)7tx(Qy2oq&CU0NBez z;)Rn|3Nk8QC!daRxQ7$-x;YI`dF11B?)h4UD33tZBdcR3kNpBP)T4^4^ioAUq2`_p zyM{6NtNNgY`y~+#o@Ovq}TjS7mCwmsEU-hkBa+vqe-lz_s+S|b*w7;eF zw?bNSdZK`T3_12A!34K)fwZ+T{02&;;xnJu9KehW;s%86@U1#hDR9Hz$rdlJc5uNX zPP0Zp=3OBx|FvbSUfzPcLbl5X0hu!Y0n9Bi;-P6e5?E-{Y2wmw^xi?Ti@}M|-qDgI zI-7_w4$~sNegOXf0xb4fF9YmOLQdSnZ5bS<^kGIM_^$N8txmvDf+j;M zlBL_9Wr9Y@3!F*5aIXlL%4V1$e)XW17O$)ul6^L8CMJG-O!L(W9p zm%WoEt_S1-MJ(<+>V7Y5twyH4#1wcIz>|BC}LhOvn93Qe^t>UVxe$3gnAIAK%lmp|~%=vaL#q zv+|TyF10cn3IYzxF-C#n=OZSoZF#Bz5guc@T13pYcCpEjkl$aE9;p7^dAXBWT84PlQI(5L9MF*P_or@3^@wzR0f?GuV zWj9>K@r;Js3Sp5=4x=`JU(9V~bXZyLW3G$=En-@SyiCOBzzS=5(eB;(os1)qIPu3Y z3M(BRG8&h5zA(YmLz;M5yyO+~4I%PRI48H%=AA@3FCmO{4&tmS<|1K5oG6C`!zoxk z&2GeUOQC~G{1O9$zqPk!heE`+MfLtqaEl>L1;k0w!ezyNU<|E+LUB2wT`g%y&IMc& z?Cg*40pLa(J~+Z#nzA!YuoF!m)D49kZXy4?FaAf!$F0Yf<|V>Iu}fB31gz5Ki#hL$ zhNWc@EHXEL`4YM*`1X0}dVrmni1C4We*?xTjRYmWbyfY3AQAXvB9&Ciq>3;7iNk4B z{2e5hw8|ASCRdwas$)!}i(N1gG;t8C@b8|nu2RU#d~JFASRDU40t+!7g7k={D+ogmc1tI4QuH@YV)6cSU-&%C`$MOREO5hy4 zw}`iQaTWjwLU?QJphRANVLPooHQOHhx!UDjjzEoWVJr72BL2gY$P&qh?2QM^mNUZK zN7ZVd)(>5e;2de*M_5vNAY z2+2hpeSaSK0(L!R>JCJp^^|yxcMn;quPrc!#&7B#^2ev#`}vfcY>DygvI?_B$(b{F zxfJaKKT5(Jh3bc=3=$Rzwd|e-)?DZ6P{S6XNm-iYdrvhmg{<87wgcwA2;ujML@JsAD>g{Q=TX2_13we-r>2inlCUj(PGLEK_^1X0(;@&C7mgDA4*b(SXtgQ<=k<# zw9KwM&R#_tl6b?5@XRfBlVDasIH|=E@{;;0v!Hv(5d_1A#wLQ=Xt-8pn;T}R;B1Ce zgt#!khHXq?DHYjxgd=1~%Du{7OZ*_Ol@o7Hz-5k*D>MhMl>@F&aSppgM)aqw{KEpbp?%pU?GFC*om|7-Z0rUQ&K7v2zkYwE1Lt&69 zR&|hr#(%Q%LlE>PwvGc866mqq1mgJ+Mcn=zF{2147T}Z1wU*|H2!^~pGkR0bMdH65 zBw@xV2w?8nkciBa!9`JFd&JZ;GOO`(5rklYB1;K&P<{`^XOL5hcujrd0lx>qFKdkn~o(Bef`SVM~i4yE|Vj95;_VXY87`6G0_y(Y5PpkjOFAgA5{1rRdI zczmDL3sc^nguJ9aJPdz*lH)X0u&>}+#4u`EF(Jmt^z4l*A{9rxUo+(}rTst$hY_c~ z@#KLAIgeK%4)uAc;`cp_pz&mc1R z775Wo-4#p>nYYw+XN_>1B3{#;y|=%Pn0SvHxjJ*bLV0NtUYDTKS=jRuC9p4uDT$rj z7|viSy^2N%-O#`$&kN*GAdYZf33y3*mX7|S8nV{ytn8b3a1lis>qP~K7TEC=vmaRC zAUV`z!=aE-jAGd3M1~|4SVD$`0$Su9+NY4odU2g5*Zg!<0MG=sg2fx=JKF1$LI8`{ z?-)9|`v(HkL@=8X9E^&7&c9=nakSu9Sqn4V0&~Z7$tU(es8rzs%|d%*YL-Q;$P{o_ z!10R#v&7q)`;-Ag!>IloUD&TrvKj#~N1rBVw2|<%)}!p;TY(YsW6}S5johsS@Pac9 zMZ6Xk0yg*UA zSG^HIu@mU58XX#TJr37V(wmoqB3{Z0OF0j4YTR+~|Hip<2YY2{L?^R=L$})u{~QM3 zh^r^Y0N_P}^xuzH&u%M<`nFq!18C?odwes{Wb-jVU`yXEzIXO0Sa zDJxJg{ry8eFE<)gg4rI! zzV%_CWC14yyi^s|1^-3q27-GAoCWp;btly{c@Vb@HvPORBx|Y?8HB6?W)dYaF1~Xm z@=m~&?ar8_09fx{(PuJVUWpg~nDLmoLkc0UVp@p!_;Dtz@Su9MgJ30xPc59y+uGE| z#YV+b9xP0XjoD96Ga?JQDCGRbkhP}HJk0{z1`~{P{{E*j1Q+>Gg{&bv zI5%QveO=rN3?=;Gbr5PT;ax3)kn_W35%Ee#28dqVDaZ09M(_pgVFp!wYG_fRBR&l6 zh|c%emI-N{m7);_^jWff+XUNmx={#C4Co03p7hge6w?lc+`bqxXc9o+++i#TU>YAM z*{X5`xvj%yc=2-96SKkLMBlRqfw-RXrsXLSN8xuAF(nEBcOgS@Yp;056$zM`|dJ+JSzM0ifBhH?m$H>q+kA_hXh562ZJ7 z3p~`B%c?Hhv+mcc(WA$+V!on~=;VMVw*5BdzGfiDtjSQ?u|Tsv)pLvW0nO7MQY|EwR49|0t6z>YRG;Y1Lsz6^<;u&nHp7VALHv2 z6Xphb_fTp97x=}9?IWQ*&>-{ask{}OHL6BH)W^<;XOSUyzj?v2ML{~v4qHHBY@TEp z)N9CsP79^h9|Ml?<=y1U3Q7Am9h^L^sc1onMYSYTEu?}#9_Ag!Z@|RvoMaVy%k8|_ zzp%eiz23B+A5NV=;7S)=XbdnDM74@ff4eKtXhAM-2{?q`=Mdn}^Y279Zv4E;)47O0 z59{E>&4OpznU>hy;=8>RG_R_w-XiC!7KTV(8cr)g1x(Vrag(hS`J07EzZN2T!U@II zogH1PR@cco@;Jl*Mo^T3UWA4@5hJ&8_XBvbFJfH5fLou~!x1q#??ys>Y(hSl^!qu* zih9H`X%Yh=h$|E_$mLpQhY@TfGk{sr_ll+qKqP$+Q~{BxM^n>kp?yxhBPySMikl)% ze~kF|Z4-2E94vR(W@=9_weq4inmz=wzxR2TG|;Q{+qf~Q^*)atyZc@bKdS6~9tthk z)vjIB{(Gw@p4a?4(cQJF?KfmVaL}Wg2W)WmAT;$Lp;^28Wvs109Iioi7~^Pv1LJE? z?~@mWJQVWyV#qm1JasK`?{YB!eR7r+V9>BgL^WDTdY~=Iy7zreL&OD6e{K8JycqaB z5HSiZcrSc0Vm9?sM_1>=^?K_G+bkU%D|{C zsgJ3^c@7Ja5*b?z6R!^P-JwqCwBXdT&SM`)haW?>M|NDvd0xrZ-LrTRcmciccu=*_ zdPnk={x2~>0cXgSU6AQ^$5zC;?SK=s)gZt z>UAsQe#zJhp=ifj;77hQ;+#0Fj;fVH4oy|Evvu(88@?tJKD~zZT7DED2F$-Pt_G-N zzj4hOxoHzF_RL8jed;+U>(d&yJ<<%Cv0tfguS5t z2qxVKBP%TylwkkoTBBPcG`2uCq_z?2;6z z-tri8;&kzp6AUi&3*~n>M=galS#?@Ylj(v+EjU(<=+bbQb!7)fqSgW$bO|{9&6ccQ zTe2cK19-mJV%zIdv0+4;_c+ORh6@_Lb_=tOe`&4GZpnTEui>P)R&_7$kk^wtGjz}n zz9mDgh2DG#SqPY0$UxV+g=}Sb#Y>AU)^y3CdIxthh)5`eU)kK~omE$Wx^k98QF`wb z4&Ct<6?Q5D%X8^8-L)|$LEz)oR1tF96>|Av$aL3sTHx?%Xo%e2aW0Su=W*dLk{xO& zC5w$)na>HrLNtYJhZsMr$@!dCb`T#Fa{Xq=nDpTuxY-`m#uq&E$7=3tkH`I^IkiMd;z6Y=CYt9_!V61J)kONIDFa=)*@s$_;7Chd87cvNIzOZ`Dx_i5u;MZ zJ)nq@K&%>djwHjTStlZy9wT-hKHv%Zv{*BoUgf?rB=MM}RHf z-yI|J;PLZ6Vm=i2AP6vVff6U0G^{Wy=JTPL%)#Qevh0fUPxHqt<*zXHZ`r=W8GsUE zt<(n1Qy)o3<*gsmEr6NdLw@8cBgoq%-h+BRyu%>nFEO-Gc%o*TA{|K20p(^4o+K4< zOgrH|XcB{fn0sGfBNk<`#OE9%jLLAy&UpL*U+9i!yhYr8-}-^{oqq?g$V)JN22ubY zYh+E6$2p%RQc#mn)8y6x`7DA5sIw>rDd2eO1cz&H(|p@Aj6x0yIjkZ7g|1=Vk7o4% zCxafbvuUqnu6j4EDVYbOB2`d}RYC=H=Mo7X<)3rk=5aPLF zz5%MoBd~>w1e*^idwdgRk_cf1@+kv(SNJu@&gmnX-e+an8Z% zOSwG#Cy!()IN=$G7cN0XRuLrCoq>K!Xd!}OJzJVTtw^spAJ=GYhP^gUFVZM1{agTB665A8=vE;XMaYQS zZJIOhj4QHRaWGKEg0xQUy+V=XAvcA*By9L$KhFhZ9!T@ph;u<<{j731AUUJ_UDT|y zU)X?hqZ3H?u^&$vHE*6C&hnj6l9C?{`i7{Q0zilYl-pjg^PyAlmruB5zn8m0Ugle9 zygh}C5<1NRyc(FZqbp=~2(*^`u2p)9Ola9ks}L@ zOba^<+zc-Hy)I3pjt)>O&1(#9Vgy{h#yFIdcedK&r<|QV2c^HV=8`8ID)2!HcLYt) zo5qPlr5s!fEX_Lj8r{p%-e#tp<-}iHq>=UAS8Rans|Qf6cbz+h ztn^owF(TlUr;zOz$VLt`IkquWu7q4fX0m^q^xR*_NlN*oSFE()8y$le)SC+oqN-L~ zC&Ru$#8Aqy(?}OrsD&a{qCHsJ{V6N^l{Nc~2gnGAIb(8)M1ojh)&Z-JLad~-<^W~q zeUx2iNh?KkInhwQ`Y6cDsJ@`FudW2{JA3ZQm;{>7+6I(xX6jhyjje^YLRRuy=NLef z9y)A0h8u&}Zby-Vd`MC|sYO9N4JL?&wL$)dXiM*UOW!=U@q(>r|91>A1Px%A7H5e$ zRh?a}vvH9)0cH{@6|i#OI>oR<`oKN}jlFRPl_VSpM0n*sPzx2@$)3a-=}|H{w0!{Q zGf0{lanahW;vP>X_pQSYW_;ehNS?r>3rLuu3x7ih=Jq=5wq(D zag{}PRm1^ZFD(M3FKSQM-aT4q)aN^gVmE8-3Ay>5H<>;oY;>4c-d68zP>yOH2}9sw5->`AF$nV)5+H zyuw86wEIB7UXLwId;7Pc=TPoj7ihdRe-Uyy(F|jUfq^^Dvh8h_!z3ro4>6Cn+}`#n?K;iC7|jrIz2!ak)Bat^<eba>N)e{I z#~c;&+Cs(rAjn|9uZSu-u7I7t(v+){5CWwC(%h#CJUyF0a3jT@Ry!A~{3Jz|O5AhV z3r{L%U@l`WaO_QVK?X3cn_ZWFk6>$3JmjR1%b!E`A`T-^1wBwTqP*zxu0r;N+V~|f zTH0u+B17edp2g{)#JH4!mu1QBax)#P+6-XpR>Yx|2!+`B+aPR{t_;vWSv2eKg`69M z=wp)ArT48PT`5k^3~MJ($-Mao_$y<#P|iF81iWI-fZ~9Y51CjEJi>Kj#32HK z9t&8B3AeyL(>7feN+|1b6-B}%R zDhEb9e1L-k#E>~1qpixIFyx65nbe$$hAtFx*BRZV>R1$UBjOlt5kHJ+iIn%m;hRY1Oa%tJBX#sU9SUjVhhAr%o*o)+%%$GJe@PqwLr zR!p~Y(p#PLs?W$UTsx9F(Og!-MFBBFQ1Xl4EQwI>wW0wseB%58=!-`tsR#i|U84F~ z4oF6z#XDA|Q4&;%QmFDGL%f%vn3etF_+rceJdq5y%SGOz^-^%b7lKKFbqb&rRLG%q z2qF8ONUcIHXLg;_@7@*f6|r*P>f2!#;a@}?FWS~{WuGWjQ*7NJzgCFuXH^7fqskjY z&Y8@K>_%^FC>*(EXIP?S5;&(Ool__bOH|%dvS#6b-$SksMB2}_=YBwR5;>GM7veq0 z0A^^w$IdpjNbCaDCc8|8j_cqfP;haT=fV1ZIPiC9Cg`Zt4)Rl2mk^ZtZqEBSr3!e=IohKt-y8I0o`au#w$a??2Mp}eERoX8mhdhPEEcU)pK zLr<@kSRZS#gQiyYk=-B10f>pEb_@hEgLz`!SuNpw!e~NWi5PuW$o*k^zq%*b(2ts`A`To~-5VPH4=eP=gFDIf~Qw8x3~s>&yhM-Lu9&(}|)KZ=;_ z7uE`6q^Ins4lQb7&rBE*X^mXql2%c weGU*!)v;_u#X|D%#1bGW1 z%|MB7kIZTq!4-DN&2L~}^!fIiN?yhx;erJ98u578wliDWv|6c77%ejUP2d~Z#@R2s zxUvs7OQN}^%hc5DoGbf;e1QHv?hBN+?7YSKMjv>-9a#c21m+$}dl=oyNVvoh;}=72 zQb!hLf{DKMA174+I69N>)S?Vk1cFLTynhgjs7LucS9UoaJQQn=VYQ*5G<=+Q3fd-7 z7O*r{&Z+Iw1e~emaI;Z-i{0y&H5V=E;in{PD(gUjil7QGp)U9@AxG>F6Hp+fCvBuX z{HX+W@i9h`^LN1K*|%)S!6CwI7Xt<$0WwM(jtbPNo+wWi!=$s*R$be0f{r>8u!)@1mLcx-rl->`GdhNpIX-0UP(i4PG51QT! zdSs_Rx^O3C+n{v=KrrdD>-p2#41fK)V(#CJ8LeAXh3ya|CV_9ucA?enl|d^(7k}e2J`bJI-~tg z!KtU9w6!055-5~K%^pa-rkifyGZZ(Cn)o_Y*RV9P(lMr+UkW~Lig~Fr#4`AKHc?OQ_#N&I&nw^C9m5tp^5@mPl|@IiE4& z8<@)=i<;_u#+EPp1R>%WAAkV!jB^oYSf74)SVgRt2sp2AUwU}^K6QRA9LfQxI!6x} z$tubP0EQRklfS~u1%(G3D*nUsNt~wY*MgU842nQRuyUCBId;7 zu!VcTa~OtjjM-(qCxz^^gzF04|ckhFif%QvzN<<02;Y^I8t5QwJ2|cP+szW`TUMXY^~quQKjQ zO4qG5A9`_j4}o0*VlE6}mY6X?eaL?3kI*`jQ()?_&6Ag zy@~O4G@>vV*!h>lT$;Axp)6|V5P2-;+qLX^2hs%cxo1-PyJc*9%ztqM zR#0>>b|aOy@v>cD+~=qv3Yka9jI=h^+4>%+szfIyW=d(GvV1Aw>S$zTzjY+=uOS1A zgLsRUJ}f8R!!zb2>s%RMx8Zp9L1Dy7lkf2+Ac*z=!-7fXVkn_Y4n>!EqriapdtUCa zW@15RFAcA$fKd3ZMY=XNB*kTOpsMdOaHLyh%6VkJfrt$Ki4e7ZG~7&QcVqjIE2t_a zzKP0+Iz^AEVIHlFjiigk9KIPdbj2;m$^a=HaX^o2L#Cri^r@-%3ku(^nLYWOO!lxI zGwK)iLoP02ia9Cf_~)20@6_GbBvB-||Ia{F;h90!tD8bPJ4B@e0OWrs!1`S!DjLy8w>N!t?XjyscM%%@L zUhg{eO&*FPya1y>GWyRcC72w;2d%`ee+8X=onVg&IBbO5emrQlZXIAa%C7<=4j<<0 zW*n$)vy)eS1oTpL14Skm7C#%L!FsFo*w=LE!~5+ZuCv5VD5FjbR!S7rxYDzXW2p zPBg$2z+GK)TP$-2hzzRiyzeKx&(0yEW9vcFQP!cUKxpG#wS#hl9+h0PqHn5f;;K+uv0=TelN3km8fI4S^pE?SYA}x|;%s6kOX;kgcp@9=K z_yM3_zG}cUQS+|ON`4z*YW2g<^m!K=FA`_{VuJ!`D6wW`6DgF-HC1F)UI3&<)H7#` zVjUc)1BK=`0%}oqs>6MbN0~*6@XmdjB|yD~{1@tGb*}q&LYH0o z=P`FFX^@O(8nlvj!(P>6j{G-Yx(RCnbvw%q<~JTQX|S&x0@kv>=kU}K4@OL$lAZy~ zoSlk-EjQ|0;~Y1$!08>hIPaNP{NPm)tnzsm=~IdmntWkUIMbjSHN{*MbNgz{)=shJ z2AE;b$ddQbZwE{fM#29oGh0;5=rFN1_K7nDI-w-N9u^F}CW|0yY@(Q}V(x#A8Fm*H zru9z|A@%~in>>h7gY`+=u3hb`)dwi{H|9o`e6kg6=fDfGS|oJfU{7ciIB%Rt9nzr5 zf*7m~g1)`V{l1_=?*+;KZ?@clhq84EYiYQaPa;8uVm4460t4qZ1EAST-&k|`AbL|9P3`qUWX^|rMH;Z$zmACWU;C3cK+!uSsiSEM?7{uh5C(p7`4vi z&>g@%1@E+JG=LuB&}0!SL%dXc8d?)$LSnAUTDRf8J&Olk%*U8deE|rKIvnt78cx?1 z0AmZQmX5@I^ZDOY@gVAth3u6ZbU^~mkWY3-^-qjijMoTHmu zA>9V&6Hs02ka9hzGr{pb1?3l!_TC?Je^TT6^q3{My5}7EuxAFP_%QMruIN)#3ydjJa>QGI^_VIct5)VDsQJ|S#d6ckkYW9x>y zFXYjFv5?a@Lk2g7CPjjz)RAJzQFlq8pz?bTFKjq({y~Q)B~=A1=i|?zggQzJ z@t0Ir{3=pG4+TG!$`)MFWJq^Pa5O%m=3|kfnW+7RE#uRWR4kX%UbSuvAMNGCAC+Ie zjCs0MIi@5USW!KTMx`^ z7K|G-L@RgXbtQVq1{AhJ0cE+XH&CXX+;Ud3@WX_BrW321<<>=5j~CDmv^@f#%u zd5QT}->-2D=pK3V*)gv2M27}x#~j!yUvelDBu1!_Hc_ICeO-hZ`!ix*PBZ)5pLa7c z=S|AI{vTY^>QTr873R8qBheNCuwsM44?-Vs`5S{xLvO3Y`mxVe$jAxUnGegQA-E`a zwqGXp_VHX4a#qO8VMamfXZwn&YN3cnz1YG)`KPJxr(LOdv^8vbg0%!oV7sy(GFX2{631;Rpz77NmR4mRwL zLzIS*fcOTA849laa0bPZ)t9(?+F!D}Ya974vV#K}F)!U~!fE{}W^4^mbcs=Bu$=`w z{V2NDEG(gH5HlS#jy{BE=YzWb>;%EIWyz_G7-!5}tN2IiIRj*jB9tS|jSBjGz>flq z7P{{-m+~NsC%tXPX;!00+Pe`%w``)RseMJq>?O0ut+KGjIt-54H4jCO&x%rEf7nsa z$1ITzFOKlR){3n#1xE39Qju6Q`lZno@>pNM^c1q)h80f{X@m`E;v^3VBxSJm@OXT_ zk0DKArJmW1Kw3RQmbH7~^(ktr{V9`L+nir8sHC2=SCxW=osT~Mnw2+Yz|~zPBEt9K z&Y(metbWi>m6Bhf2q&E(aG766 z`I(j|-5`I=MV%{sl^*kfiNPohT4V2X;z-`n!ni8~t_~~cNIskli&>)Z*b0DY!6}@E zV-SHoIZ2)AF-LpZ;qam0nIZTbrsx6mHc&>yyoN?z*dPS3!qJIR049=aJd&X(jvQff zYH4DEM$BueAD&8m%i6$=alqS?BWSZO4b;JyT5;(XM?aw24xI{Hvl`Drf2W9RR{BH4 z#9;-a33T!7f|znW_{xdAhz!{_wddZexvu=TO1Iow*w`a_F3q>yDc6(%B z_w!)bp<*m6z9EZh?Z=qCV}yswCz87IEXnL+clvn{pl^U|AZJ#t(lia=`$UX{$%am> zjs+!kQpC|pD0p@6W`BxU`ES(qDTfE~T_Q%)f5+#AvKdw=PZ^6iiZf&x)B&R60*u{m zSoVFj<^z$N?6^UyOFR3<&~$-qwEu2R8#{w_?YhK zcSK;)Z5{Z}A@koZC`OchFh07}{kiAtE@SVW_U2tHpyF*0j>=%oq4tgh+rS?O_YyQ)S`yO(84;emPz?T*Z<3JrTXxpWnowVu%XU2R5m_fQwF@q^5$_!|v_}qw= z!H$d<&4`nWWFVIcBudJhC)MHN8A$XH^DPCI2SqUoLJ-YK2I4p-yK+ z0~2o!Jd7m0C*+FHH_%FAYd2t_HD~zPzwe`?T;n~UC41Jn){KBg+0+jZGej+?1R?~3 zv-R3)w+E3DNagfNw4%%tkbR-fC@kLDQB}svD)a$*Lb)u_zENWY`!>*km~JVpP+;n4 zbfh3^3v+og8G$V2EUj^IdjMcT{WKSaTyK}g6Z)MZ5WS4!9B{*{-C&l13>meBr*~I$dWn*5i017t^FJQJiv9Q4O3iMjKq6CxLy9-u9^Zxg! z2hz$!J?u@ZZCX!Uw~_O!+yL=18VlThv{F`L7p;3JJUa%aZAuz32W>dY?G!8_&KD33 zIwe4aVC?_s?-7Uc7xMGul;bZIu}`c_-*5+|RtBSiZ06BS@h8|v;Y57|TmdrQ2!TxY zpl_Gi7E*XgN*edY4E|#YxITz!ehj!@f2nx(1D-%PKxspJ8cv91l`1w}7D7xxgJy{Q z8JW$AAc5>^{U0(8AbVE92ZgNc7wh_r|AO-j2;g|g#rHgR6KsI7xk$2Iy4I2&wHzih zaD3o2rD+JlERO3!6?0@ZQ~Jv;BphD*q{v_XOjJ`u+-?#79`B&y`;3@NnVd%@haeg% z?)J3jt5?uks(`BC?ebkQ%**V+?XK}>yi3-@er#YS8){kl#8b)^lS(4Ko#XV-Mn&j= zP@U)hvg9XX%+ztL2LG)sPhdG_O^W1{QF}mOd)A(8|1E`O?!7z@vR&SN3$v3xXeU6Y zP&jV0k+L_js>H{ol8DE0SA+-WN9p|_h0A(O6rU{eFf^g2MNe;@L<&8omHAyRrq))x zIR~TNUmbXuC2173al_`@N1xiU=2u75G0C|{kCN4|v%LZYmF=|x z^KuFKQSi~H)3yK~ReQ+i7@EE*v1fYLH@g!MSiVNn+|3}_naOdfNQ zfyiBAJY~k?j2tGa@=$_7CY+dW9d>w-ECn%O-H`-QsHB(*s3IEhZuz;3{VRtygCE02 z(+WTK9krd$nLpZ{FgoGbc-X-)%Wk95q$jM6rKLOgNRtt9R&fy}82h~b=a|9!3N_tj zGbvD(;C^Vo@(XT_%;xRt26Po61_-0^(w@gQ9CbuwyO2lmDvrTN_0A7a6pGxGLasf3 zWGbC=LPiND-$ac*g)FHs{9p=lqNDmI&58vyV^c@&r@MXzs2zczkPP2hq#rS}ag#$j zfR&`hFoHbnt0q?wTy6H4G2qfqpksF!ct@0Am`8mzX8EyKS<2Lig3jei&{385`L5`m z#7rZ}U}!E`r`#N`8e(I$x%|8q21+Ps!2tfd4UF1@785J5P2_uc1r=XowX0Dh0=PnT zL|2buXob6Pf(=O3aQ1$*Bz8U+=#%Jm)zKY7n9_^v0_YllqOG$r!Bk`?&LIXR!C3zs zb7nOuym;2806i6fgwa4PK`t-7x{ntQrQ~uLomO_7)|KemAe9(Fy7zo6dB9QkF&PmD zY6o#ZEHH;_?(Dq-!&c17g7H3>`=^-gKCpsv1V)A|8p|m~h-VD~b*QMN5oZ?6&aE{X%;5LnTJJ1RbvBSLWy6$& z(g`JAXQS)ZLA-KAA2UmY-_F06Zm>z+7fW0d^hAAU@}3k!9XR%ud$BMS(A{1;b-j8eFaaA{FQ3WDYk9rqIDl zu&$wPW$eIOAwvCBg(O`R$UHnVP%o!~8-stCph$02KhLB?WY9fk&Wsp7D9m(GSSINJ zxouTQL1}RHLH^g6AtedIXT^^_R?q`i>0Hq%k=pwRVQwHW9hubzq|GRoH?dsps&gH1qxp>cjq3*^}PZoVRHYrHDR`-*OnW^M{`z- zT1C~Sof|wm4KvtcN##L*exfs2DWmhf9t{QxAC7afzA`7>ybwf)naQ5qZi<#L3~hJZ zN*lvl2F-{goYw{$o7pxcUi2?88_IYh+1UD;A(qeFX z5bNMD$=&^zXeTOo8jMPVw_Q(p(hIU+*_8)r2_ihg#ru*B22f6P+AYlrxRdFJ5SBx7 zYKZGRk8?rVkFt$SAKmsBl30w}Ra{+5U4Vq!i6LR}z$UzQ(JFq@! zI_Gj>SK0no0@#7C`f$91H{Ykm(S+3!vmhmmboA$LT(6jw1#hdK$CwMd=S_o2_T`d~ z7yq*BsKCO_-d6#ABcpJGS0GC0H_fBL517#x9OALffj;QoJaxreWpzx6;?MTbXM?!N09f}T)J(YLT(Cqd^KdX_c$-{+aCbVPT}K>M$m_*nL> ztcrsYz=)7>klkzNa~3(O1K+U&lqYsB;q{cJO7(#Rweu6PdF|=QUlThQ5r=`!vcwDp z@?#+?n?AS8IV8G;mKS<#gHSw3!YXacT6#OPJFb>iRfERtuKH z)EXdl0OC#s5bVw6mrdnD$m?lFa`$JCg0iGtmUKzzilfb|X$);GQd|j(W!3w35I3aq z*jEEzF7Zq#@;=t(*jTSR4kk(zefV+4@y~HEq|a@Z&d1|d%t0}aKgWy-sQm_!xDQ(I zF`#zAO^8ln>0aVzP#!gg>p+Vz3)fN_J;gqxpH0aD7H-K22e5qZX?<-#BhuG zsX)?kW+)Ni#6aun*<*(DfQJfhm5iLZDA^!krNy{DAMjOf2R;3W1oBaAU{0{13qk;A zU$wK23n(fmFx-if_b8~tpcePlm_eO#=koXgAzj)f@(r;llC*;lh!l*)HfPQPcI+aI z0xAG7s=&~6pN}~!Yb(z@af7FzT1-<@qp3xi9U>Z({SBkh zA+aIH6%Uv`Xed^l&Q?nrRkFIY7Cu-)xjQ5SMabf`e=+8PpAXWMh`n_!&yE2SF4Gj$ zNWQe>%T}wfx4CY&*AELxrXvV5WXAAQ7?RnJ(soh`Tx~+0BmTJ5-VyU-msxOWV}y&d zDhMZQv|&)xYv#q!fIgHtX^>Hf_QOyJZ=yDd_Yi#3q`vxEMIkE%uC^P<;5|U3-b2=Z zdV|uaYi2PPof&Thvn*G4!B@0EJ1dPWUyB`^p5|l-q#{6qPAb-3H}WTq2QG>Z~fNf zUx#r8z9i?O3OG&0gQYgV=ct@fltIFo&xrsSvtmZPa0_!ppskFoa2ba%zgZEt`xA>1 zy%K&^0}*m?z5s{x+h)99sS|Tkd6dAFz33xJ5bT3&^KkCg%jVRAqdUB=Tq8x^^aBexKQuA$ci)%~eR4eFBb7Bn&7ELQa1U zc>ewuAtg#A>548#{fXZ&v#rJ%$BKx zB5iJ&gYpJ7YfNd1QzH~fi;RQh8@Eb*Ao4IduGJA(=ZAJ1+fQT{>;(h_K#wnWT?HY< zte&?^OB9w&_U0glfZT_Q-1(fz_%boGKCI3uoqaQ=q-E-+Pl~zybgG)t^zxCwzQ2N9 zF{f|FY!9NNyAdQpA8`Xe&xUlxidfC;hdt&l$uXBZYUqoI-?}4nh?&v^9UYw9h&l|w z^FPP@5vRy?I&q3plzqX5*|1P&!G_W0xEjIHfQ@CGp~Erqf^2}dy-FA|U`7@wu^zAz zGEdWwvk z&!`Cv;FOvR&37nG|KgwWza*_P@ZevMcs4hyt8v z{2$q%6oJ|;p`^DRch|LH_Z-WTc{UjGOg~`Mxtb&_X|U`A!&F^#qbJ2o8cgpy?t=Qj z1Mod+mRw;59~*_PrlWGBaVW7Kw2*PUV=Q6EkdYgzh{wsu0=x$}`H;edJ*rmOZu)z? zfoRg(qrj>IUGFr31U~Ihz~sR6K0Fe>>n}ib7wB&y(wJ@V(0qdiZ>=66I&`f-^&?!J z$FLCxSUN9eJ3LGc6wkUvMLu4YU(q z8`$h>)}tN5o!o|QH=ayKwcq45lhE%LqboXCQ6|`Z${q_t-(MidEIHPnGiStMP6XP|66P^yU4VgN-njtaa6tw#a*^0h>uGUb7$>|3C zt4|aTOAhdZ5X}WQA)uHJ2GCkA2P-PF$gQlwmhCr0Yj=rcdlgr2l2VAfB_a-8HuWbFCXxVM%h3zn_2DO3>l&i zGe3xIXbuoEb^sWDhiUkYxQ*Rj{2p@G7+xW}x1mBV3VD6TPkA~eDR0uv+wrV$b>uf} zH!G$?mBDCC9x|%?Ouxw=(yPCO>ES)18iYywKr0V22*aiBa>7Z1IC|CT ziSYLA+p;ijQxvo!3hxiODdeSkLsjE1LM{iVfT5gnUSf>jr3woU2lV9;GQ{vGgF{Ce z;gDn31*;$b!Ex`CsXBV61t@{1>5iy^>NjLy7;i1-B0psi_-;6WCeij`Rd@ywTD_xd z3gJ(~T7>59&#n1Gc#u`~9OL(md9&8S6}ddm(w6)ZsyfrIP|}}v!C@UJD7FIA{!RT8 zDlj>(B`4xU57)(Dh#ys_TR!F;R%L;Yl?ZYT7fB1bBV%Ii1$SP>&S*bi%>~dXNNjA# zhtEAZp#dXH-V*&njr7ae695Boc5J<1OgMD)R+u;{YMbkR{Zt=y@& zhOw=bVAqSD8Zbi!T$Z&LzS6Xviotzg|2rmaBS?I=$B7qk*;RJ|+Yo_NT&L?|L;{90 zv>uD6a+4*h)~o&xs4P(mM(x-C>R52Nw~kGO)ae=0^y7w$JRdD~v`_GY(;hf>Ig^_R z1u4HIC<6f{&eKu>^eW`2kjF1>xRlcdb%lw9-w{z^PA zn6^U2VD|tF5o?am*@a~dwj{8Y_cRZ3-%(m}yv~7jujqZD4>|R(PALbtxppeUlK6n* z{QiPNOidRh7Dk59rCco>;EjqcO82Bl0ESNt^aOlq zRHvf86~$b?7_;=L09z&${t#wrCnCdMC^{+BHiEBqGI&l#N4KdKRB!vydz=QM71Jr* zaOl5S$hXw@bTAkYvuNJQR(zYTK^$d;&Nm*h-9pdCITLjNV#HIY2W496bF?p^Nk(2IE4HqF!!?&-1` zdqJ@rAg~jaE^oHoTKRa)&=iqCv$Hz~o>rp|*!Il@D3JPvEMPC8fZ1s(qhVAtZ)H+n zUGvC4Mx0m#Ba1Jy7Q0GvIl%c*#XVzaVWqMzIlCElcyqzE|7q}81+lLxaRbqyr+k4( z(0`GW@!+yiPijxJ~I2PzdCVk0oWyD{^g4;@>f0z%&)486v zuWAz&XG1?1-`-A-f7z&2st7BF*c|}#)gzYk6o_1(gP%$cNb@j*D{B=6_F3|0uwqHQ z`$>M%AN+2A9VCkAe{}~5i~>`zY2N{Os+=$ZW^*z}hiH{uy&KYY#H-B3C-7v*BIH|7 zO`+<0z~y15h)I2$f_`NR{@9P8mmJ{UH_p^>_5({UltUP0W3J@LkB%QRmVk{Tm(S%H z3#uW3N1CX-3?YIBgx!;z^?!)?Ar;v*nEpH$Ss|A_8v?y{+PsD~6sCG45-u|DAkk!+aEEDsgxIP+cX!x4h_Sj0=^85 zt{$$TEJ}D;&e;jR0RhWu*q&uk0&#!{Qthyxt#WFM*d;G*0-j2Feaq3LiqC+BlGVz^ z{|7a9b$boCWRn7eOudkDLAw+|DzMhr7kb16Pt%|vtmKO>J#QzpFzxkqDR&;|wF0ID zsrqGtWZzYhkpc#BMErKO^#>D9a1^p6p&U}lhd8)bEY*U)e(=j}to$ER#{9^lQhK@~AX zuby4DpqPR9Rn^E&QRwoehdbBWHJ3#op)+9>7)`bg;m=VyliF{7xv>}GkPAly zu3JfZD&zI-a>IY}Ghnd1fV1QvEM~JHo=kvniiTOpFK%z1-MI$@aL%<|7o^|w&9kS6 z0&l3Y%Ts|2a*JJ!V>vsZf88Lw}*8=K?Lh>Mi=?dG=J1m$I< z;1Lf7*{G8>R|vMlz|slyKZ+r&a4uuWAVtW*_Bs2Y1tZx~nHj#apuSMwLew}ckYHup z;m=qZuh0EZqz94w?pPm+1W*SxNJ9L;#}u3eH5Ls5qT&IUal3MbT$zG-uUC&Urpdh9 zO4__4wrqcBlOC?B(w=c3b)yKbxSV97h?VljcDo@c`s4bTEB)+FedQ$h0>qapaUf(4 z?_&(&jUEuOTi&~jK%px4jfPz?VF#r%efC{6^jE-2d1Jrb>OUB3Fhy8@Cb};&66d18 z*^9|(W@>yM3W^!FW|Jma695QbaO;zo58W>Ot_=d_$p->?`bb}0D`KU*k@nl|!Tj&r z7G#ujt;gb)LopGmSAjzjfj)aZ4+R=$_CnY_g{HB0rYPyLJ$of=ePJ*h1wiqCoze01 zXRMSr@_tqHhr11hUj(W^cW^n|`Sll%Qk%speG*p%C~o>ln2$34tG8gLE-AY~p!=u} zlAo|0qJ_2S;QCnfS5Q^hlz9VEka_04V;2bOWjn?8Qa-2&V3=Vk4+aN(rZSSog%KVl zvblD{3$yjbCn1bC!K*b^s8``uP(`4#5*VK)8Ll>weWTw9Op)MlNtIe#632$Ph^7Ko z#+%zI#`*Ut;0P)$Qf$Li2l=Km5xEN0c2!O4lj<$(yONrR+n))G?#W~gIGUDv_#mW- z^tpqE@D?qN3I?QZSfJ{F7_|5<$l(+3c7|(yfPo|SKM!D8b|_f(N1>5(s#+yciGfPnXNo1PG&ymK+OkM#mIP=d2Jlv z>hduIju=DwI@#Ui-o-(*9{U;xMUgi;S`T5(kEwY-i7pw4A$r%#binGClKg5@zMFeb zIv;qG_DeU!K?Ki5_?OhAh!a@c4&-C(Rs)i!#jHZMR}vEi*6$n&U+M+s zL-vrPKV;O@Ebs#{kz^(=)OWb9XBBcs?ST}t)z>49_N&FHjjqRbj8*pXQ(#6X- zQ#7}fcHGd?h`43RficD0o)Bm*`{|4g_(kkO4B6j365gijDJ$ovhm2lmx5C}-PAR7s zvH7SPP>RFAT||K|slgtQ&JzA&GS1BByT?*C38j~^vs0zj$GLFrMz&b?<2Z&{Hafmg zz2zozbZX&V2aShaZ>A;Zz`+d%g5~GdZYI!$R2Bm)8xJ{BX+|q!Q1(Q}=qBbwB|`Le ztk=^d7FP=b_Th@iJd;lY-oUQMtNCuJTYYqvuFEFr`TKzFKA*5UFeU^JdBZ|vg$67L zZ3H36u!WjP=epX(seuTO-;O5q1^q=YD-rH2QI}27^SgjirC_)M5f8<6yH=G#D%2a$ zm0Z0X3S4DXg|jCCo|(=U5AiT?$A}yv?yfU2q?g7%L2trf-NDBVx!2|8!Xt?j-ENX} z+2lMe;`u6IoB zYpA1r!LdLA76uJ?>O$(#=eL5vuOcprc*`L5Q92GD=0TO^BR7oNxhlkwW)=&}LiaIy zeJ-~Mjho~OVRl^=oCvP_0`SEp5bY|NQf_m0g|DE$kZ=o3s(q$8SwCo~nI-4acOVPj zz|X6B2FU(rC~}B6OKOARw>IwiTAIRxw*yfmLdj52)w~pF`mUVBja$20`+CHuV|tdD z%bS#Ee$q=Nhhd(acscCpQLy@?0{&q6I9bv*L|^`i9e5qCwrk2U*0cnC-9My_YPp$1UZd>i!QA zmvTj{0$C%5#{7acKg*q~qE9O3ASY1CD}Sib`j8VWVinu%zvghXP}+ZFiMUu}us`Al zF~RQx9`SzhgqoI=bBAju{bH+zZ#2E$PNb|b+wemH2c3^f?dBwjM{-^GB7hpZK7z?%1R&%B`_!|YsW;(4qkgAOP55>KdXvL5t6Y| zVOyn;t*pi>=1t!mmQCi_uXD`K$_pVWxb(Q^JbQ6}{Ez{BpAWgOLP*QR#SX&wi+S$~ z8Iee&9H%Hy9x~XGW5!hgN_#eNkgY;Ka5>S>c7CctR?>@m(t8>R!F&NWH_xRFDnv>l z)~OYV2FlgmdVk=ic%*dv+d!yZD`{=a!BTQlgf+pk*Hcb%ip;k&D5BbfIIuYMhot?U z0#?r3K`a<0{rnkY6Xt&=4lQjUQUDaxV8Y&UyST0i7LatTc^N1NM=GGa{HX_q_A@^w zoYZG+h83}L-VR~0yYC-nZlx{NSOkW-kFmt@7K&;fz1!=qpnqw2+%P`U3Ir?#Vt8`{ z*Wk-dvst4L2`AExnrdb#xAYyrQp=K|(UB=Lc?QtYQm0F3n*R6dQ2P zc2v>+9@h$liFs!ROq$Rm1{Q|3Ra@Rlpv02)wRUMT4DlMY!*(BvSSfFZZqn2~MGQ~a zeq4m5Y1d=&$#JKq>admIXmTiUzC={Ribx!~;_G$X5z-p*t444#l(d&mi3b zZX##a<->Hbo3d0}`i{4$Pp~Fg(j1T>fi+_=61q=>u(O6=g9DR@H(8>Yot9fpZuiIy zh7lt*`=;cI#mEi1CyHpkO;{WM40{Krz*5$As-yx|!rNIlB|a>fkO@VKAZKU<085j6 z@Yswt8b6Dx*VW?*SAnA{f_L`+PAEO>S9@sIWT0l?fZnX!cZ`LCgjvFH9%Z+QiAeR- zJ%GFDy^~~1-*KDeNrXL#qm|`mfpbL-l9Yi*g<%a61)#(Tc}k%U*kz`31qMl#+@D)-9niEk4U0d7I%DbggA;FfO_RBce2c&5fp&M+19b4K<`B#yo zNrosJ#;RkCx+WJ$W3pBqqjW|L=pK{!imKN1h!H6}Sl;qEx)AM}X5(K`*<9F_PRrmC zE931d?Abo~p#wqntjb}rqxM2crq+KVZ3uV~Yi=S&`UHYlA99dx7dAE?oy?7SwDK1b zGe$ubCobbEjY5Sof{GR9QeWdP&dMJWYk3o4&-IC;SMhzTG^MP{8$`e45nJsNwP{Ml zx1|`J!3AO@l6!waDNJ}GAny@27bAq?zS(cmRu$~5Z@NQN%HzTwv27?Guo7N++dMw_ z)_$8l08aRyiEgM0P!JOU0a|!4**JnmR>>jdG-Y&up*6-&bw|S1s*k^E#3w@@nM{r}PjFr!aEV*xt zu0yXb&7ZMCVr92gXcjW^>?Ci;7$SF(yfKwhi)0Z0V;D=5k2VRWL)5HN`}G?+@y2&i z>%^-cvL;3Cip~da)dfpuO=_h>D=Da(AY}Xf1NvV29LpI|>5SA7wmBuY)0MUhYyj^o?ml!sqsQq0|_p=!UqN&yUeEU@-B@ZX#rgI=lB)WnqVT zc)2N^mY(;#2iE01WSVlpGqBa_$Od)ajX~#-BPFU=gbWbh9-KWM;c+Eld|nqr4;Rrl z+4TO;A0AhId|iTZF6eCWi}Fb!yh_1AvQ%37j@c}a7aV&nozN+bH|YKS%ZEaEr9=jW z>hvm<66=uBh+zqhbNDr4X}B*iTf@}Y$5>1gajbW21#TKR=z`phLt6n4`4r5}5^149 z-yZTmynPJH&T~<_%f{Pxgfs@M29S6;Us(if1=4`rSJ5XHu!TA<$NJG$k~Gx684oq> z(S5vWc`N$5Ng6FZ*FEBYXs1zUyCQDd=moHrc1)xQN76afaBw`wB?YO%@a~_snQ3s6z}SDfC%zOOyu!rN zYVs=Qe?akg{YKA>$ECe84q!oy5vZjmLX4_!dMpSU2%MC6>mVm+ndq%;TZMu!Z~@fn zzX+w(di5N7@z#bsnU5gQb7=BD#w)4`M*}OLm}M_i6Peep5Bs@Q6v3L6k?ZMwg2EPYS6WJ)5^5QE3ER9>y3nao2%rOombf`Kge_jC$NL;8#BstO^R>e}a_)#7JDNw4gy zrYG(upr*p;X8l#%u2B^-R=$l~A)6v`u~6H#8UtqLxa_OM#R}SBPCSiP7gAW=s9-S&=`?i^Rg*E#@$F)P~72|nv zzhCexl4R-SZS3~oL<;o!^QdUxZTDzH*_7PQ_*mjEtZ+%tT!FW4GS0BbO?B!E=RmTf z!Wd1bIBCi?z^QhTqsoGIbL4bSNROqLJ>QL|6b;@BNuwIH4nu(g#HKWDL75I#wW3Tz z=Vc3mLl|fjo5`w;)Nh!GgA z>n`@@-y>GOD{otnM{2A^1XqHYG{b0~9}$-<7=TONau)}v5ZLPg^f~ z2S#TYs_%jAARhvZ!M?FCxC9`{v!ju3->NJn7E6S04afrq3lxw@>EJJ=)izblgS~a9 zi>b;}^z{Qzc*xTBPQhk4A8?e*hiL6~v-5y4hAtqYy)40pxwDbB$|&-ME|MvfM~RVT z>9CA9+R78j^#AGdPJjVo)0zm`b;@ED0Sn4y=7i@&2ora!L6Fm(E+MMM8e7=)bENX0 z@mfa%d#-*J6ifDrkk)47jkfX>GA46Ybk87XXUolYi)y|S+%%b@%da+&=7(VZ++db3 z`dtHYBonfdP)2o%8NjnNS@t+gBN3?wcVDc(T?)#em%C3Zq{A}$Tf`3?QwA!0fDzV1 zVF~G2LPqsq&tad47MqB`QZ1m0DLsu7BZRmu%AuHfPAL647Iyc;8FEeX(@2nG0l^?I z^+E>Jj%tz$%jj?Om4|Eh`(shBT0XfJXOWXU3icg*E1k#{F)#b1ozC%K*o0<(qS1pw)-(;q$qKNK@f%Ik$q;(eAB&}y zAN&NeXR^i^128KbSVBq^XFcP<2v)Y*Fgm={9K2(Qw(5sMZekV)eiF=_>qZVGN`JBn z;lhvBa|Is8*(EAkcn9q%;H-f63%Newj*(k|`@(d@8JZG0A8mavBuIlEUqphdcc6}`auMD5n9%WRuPl*<_>Clp2Z^g&#FqI zjLG+DAyZsR z&2k8!3-CxE>O^(LOxBzGR+?GhKg68wm_=QI@p_0dhE4|g`W8W&QtP0!%oMI)l47y{ z|AEj3KZ5~tWMvR66V-vpqVLz;BS9f|gVWoCXb25B<};II*s%t&oR8ey@-pY70gx)*^$~!4E=pjcSWmf~kAOrEZA~ z#UdEY9YvT+RS401?MSf7ayB7F25tVDq+I+*9DWYW1pIMayMIZs%r|WXy26i;g_(v$ zu*($+rcITO&I4OM_AXq>?C#hqXozuj|529>O!emEZp4_w;pQkL<;AiFFYZ$=zdAt#N=_Pp2s zh4X)o=s9dtX#`z2l)pHuz$L62xggVUk%74~ban7Qc^=N@aB}~Jr0>FyG0)J?Mx@bG zwWL_)n@qt|$SFX@Jh8E?@1&fr^}l_Q3?~pk=3LlG0hbJ7dZJf0PB?D@9%*MhNp~;l zx`6Cy)z?_|zJPj}sv&OzR3v4`kCBqZYRZygnfVP>_^a;JeizHtgE|1^8tVe@`Efwp z2m(H|;N(M=Bm>Xrpi+2f=*OWuY*iKK+KB#V%Y^S-xJp@ONV8?4L5%mF>nv`ymT}1CCAgT1@It3 zRTRSZyR2sndm3)s#yy6s;V^jb_PRXK6tU9YKHdCn#FlGtOhttPOnQ28Ou|MvX_01! zwfNM+P7$^T-t1YMOJcY7887#;q|~s8TOeE&Fm(CI;I05M5}#UlG;tO6m2}`4L@DoW zjwQXr_b1Gz@UWUAqj?5C27OU(iVoiczyioS-aGM>=;^Szp~b(bW2q{`KNM~ zsAjFNj7Lhv&YT4gXg9y>@j+MtE91S--5yv?2qj^|8SMmj&}YNfj}eQf%p?MDI&w6E zOV*kq_EjS}!uRSQ@gVrOknponBr@mX3{>rTTTlYAj zhxuofI&CHE%L-@Ovxk)k3^FqSe%?AfULcM}0dcI;PW8Mel)na^xjmf7CREj6&ue1Q zvaAihxKHpeYis#vw~OU)MXY>R;~z#$@rw+Ey)r`pmy3smkTx|Q%FE){6EUJ$38@1g zZ{jeXiCFz+oojx~INg^Dl3$rM{b9rvCl^4OAj~jffAKQsr|_7WW|rvzYdgF4GbeEj z$=hB53iyP@r=AK}>8|b_$avBQi987aSh$9wH(!F@J3gq(JByB$F_y)0P#^-Xpjqyx z(uQ5ppyd$9miLBtAb>4Un)R_qX)4uK99#PkmPsSphMu4$zcSy2kA4M7ZxXnm0N1vQ z^8cP!#EQjWqWdoklFl!f@+JZTBt1#%d|9pC(^$!`%w0e)!@vJ|!0nQD%iVzr(DZ}0 z3RVZ8rG95SdiXd+nw^4HG~Tqs*~N1%pABXxY>81)*H6AlV^Uw4ZxiqN&@cTz`_I2phWA>NC2W8F|`K!$;P4GH0< zmk!-Agcf|;LHA|XY(@nH;OAUjztwpTidkLM-4LXETqoPQ3%O5y77qLbXL0cYyKWL2_# z2+^H$*vKkUn`@?9N_N_%Acy13N8qvuf6$qS#g*eD<>RV|mF)Vy-3<@O~dg6A~n5+lj9b(4H?E$F5-h!m6Uq6~jkf=8Fd6JRPkG}a=5?-16&IT#9 zheKTK*Z35~7F3rhDRdBtHLLBw_ZfzYZnpa(MwSbO3TmLKaT_a~fEbfM1kfQBGAz?r z#z}QO3phmzSh=q6V5aZ{;sr2&Kpd!Y^OjS(UlS}6t$Scj!I`k@nAa1yR6xWc^?Gd+ zGF=&#hFM4_9x=N*Dx+oC(Q_BZBQRdkY}D7(5))D5A>kD`1g{}KDk-7^WpyovpiFtG z&>d-mWM@17p}7k10=sRkjPIg2B1*gFD)bw~(5mV-Vom~s1L4spEe{BOHQv0i{`HO5 zl=RBnMIgW`J%!9n>T?t{C+%7}g*F2)N(Si8})Ft*==B_cMdXPGHqZamLd z&F(&}OjFQss7?j2f1=r-h?Vd5g#wrRL(!%Jf3iJ{v{yk_8Q3r@84$rEUvL}SH(Z#j zcl62W@-7KF9Ns&!HKgw-`{9Tz}6%-EX z@AUg41izjFC;|}wpseioSXR{PNso_mc_!smj&WSRL5_~izZyNHY+rsRb*VMed~`+tJHgal_%RyU+mlcz*pt>v|XJu_^Bw0c&~$= zwjarBRZMHRD=0A6*9okiiW>La^%$MKy^Cq5Wkr#sekuyug5$Z?~^ z%8uxK^T3QZR9Uf8@d+%Nkz9t(4mvfOai3%(+3Rc3tcbfJ-V2Mzxx8IRjQy}$#jUfr z;sX=~NMMiGqL5Nx49cmqHF3J^O%&O@Z*$l8M& zH#ARvtVoCQS5s387$eJ?!XwM5YS|-ZnR#%j`6F)7U=*-2-VV+CWx$260%}`8@2a3T zcXiRwB;jpii(Pw9LD*w#^k``gTCN^?*TTE8z)qVXyfX@cah|mW1j2&qR2@ zpo2!iii-=Bp0u>vaT5dz*jI}HI*WQdhOS4Aej~6n?kM48x_qXhsdV&%N_Oz>(L&ZD)ex(!`ly9(zL`IBM^1PQA7xx8Xl@27y3@OCKSZ^dG; zB|*-WjKxHt-nK_}Q^BiYswIpy&MY}aya|0Y z6Bnsq^D?3Oj|j=C=hLD5(ZEIU#`=xi_*zn2tmEZPh+z@r`JCV8ga!2#c?!P9{6uA9 z42HcNjvPS(n#G~g;83_Ox*I*x`=bd3wooojIKf{EkRa624XO~;{a{q2VGgt%6u>Fz zhL01Dl+0ou44L%v`OAHbp%uKOMyk2E-4e5 zCUzn$;$gt~QC4G$+>-)u^i8koOF{B6=}^Ah77W0`CY z@-)0a>J2C}XT;dCVx@)3@hXoS1~bQKe)Td!0`?j;k{51ZJ!JbBF;|cyBjh(}kcV;; z`GthvuiY*X@B)Jnm7CQqx(av*hOv!{u(8^&h+g&Hucis*E=Vs_Xk80`79b!R@)Ac! zQ@v?_ZvX2@%d#G9OZ93~Y_hnoqpgd7SV!|Lf$E5FRAoUh{24Qdm+p3yd~mXoz-_l8 zMIKbWtCvo49mXPtcfsxeWoqtkYn%MLvX{ut5`!hnC4wY+9SWC6yGM`_=m2dGxjpJB zX0ZvT8X1^1qr39a0P9cbCcZbB+U|&hE7Z;aqYW!(uN68d@QOwSde$1TfI;kFjD3-7 zr4X8yU;`=1fFkQDcSfCR^w3|a;8R~Co)0|2?@qFCm;RUXe)!VuU8F#6#}&2T69~e3 zByvgHk!KXHOpSizl&=s!!@fEIO`zPm)xCKsI9YAMf=CgQ_~M>MuquAME#UDp#g2|0 z?`sdj3PJ99!(HilWg?GDcS{QAtEUbCvMF1mG@T$M4P~&e{v%O}v9>9rq1@pet{E9i zNlzkE0q>H${Xqr-Xlsk>1uGKhsZ zzd_d;B;dG$wj_Y!4yWwOAgl?Q8o)qV)f;Vfw4Apzgh2od>P>LI$JH-@Fwpi92W9yW zZFfaTKOeg>L0f$j;2It=4#N6VT0o*Kbuk}-vw+8hdtaR72HOUSZkOL#=sQ``M670f zn}^Cm)o!e0<-A>xmp#YBb==YOX6HqD5lC2ajw@?!(OhGcVSu3h4plBS}qOLDbk~|r2p@Nym`gmnL#ak5b zE;ZgCv`mP%tE)q%h$)1yuiVa6FFla*)#n`*9SdX=IFz@2iEDEe7%gpTNElU-!7J98 zV=-wrIVYm`Vi)?!iII_#;?;C(he+Gi^`O&ar^xQ|%4^i6N78(s&@|;^7|9#{B}veJ zXfJEIi_U)DetEdBbaX+`*;5q+ct6rJxeRtf=Bno zh;&ug#dMtl*2>l91wBO@0_#OYmM=&X2ZaPrl6_e?`NnYdu#SOIpNh*gp~S#iGp|}o zrZ!x~$U`0_EjuC5ot~dz;h;;kNBkshOSV7kd1PRKJVMk)*fPP$m7fr;J01_hL`wxC=#rB7HiBQ z7<{@z3<`=tg?yLKIt7Kjv&_;8H+?L1glkC1j5Vu}qUCZ-9>{p)k+)@O1^ZjE|6cOJ z&@+^tkzIkJzFo!TiPCMoxmBhWg~>w-#RFEh z+clcN$vgy{aJ8LsS1EK&_>%c;oMdZH^(Mh1id5v@hFpUJc<-~K;QfLgCUd~%Gq<3& zCXd&9*G?9X;lSxfhe92WZsVeSx370we;Th~n~XzP1M&#M2K7Ep1;o?_Y;8D2I>SuP zcuz|WmY(clULiqZKZr3FP6q1m5L~0wSk|TP_&9*pS9%YHHDN^xzFUei-mcKp!-J%B zqKCKE(Go6vVfdk0RT~<2Oy}{$R<{K5{GigA5^qMHvYyWv7=Tql;wJdcA6u)+*Y6Td zlRc&7beIbRWawt@rihjCcDf3F$`27EZAf0SD`6mFMgz{^FQazJG7>lz84qFHQK8sH z^l3&ebD0Wa$jq{g{F~R7M?O2Jv2Ju1N*EmI;Gw z=~$4Rx<6y3yj`FPX_tq-A2=HDr@^H_lJzkm0~|!|3#&dyjdc{Ig}#K(@M2Jjt|3YR z14k+Mh-ome3eq!A=R^@M4u5Ad=2d^e=9pJ8`pf56(%u@G>7yD1(5hEZ)T zg%wiMqw6IqfZ_&bKQq#q}nZvoIN-Nehh&62y+@X!E=Yf6Ed-v~~SzHSQoZ>tlR zJ}=@-?%1vEIs?DI9A04=k8^>25s2ws%@SZuy@i|h{#2TUPxqzn7VaNhSHIjUC#*q|9KaI^z%8@(D( zi54&X6}CZ@t$#?1a%B$-f6B67x>P{`3@H3P0LI>W?PQFVcVfb0#2F7L>!3Sh^(sw& z7nHJ#&7LBlI-r=GVr$K~QJP$u3wioF#vQd|t#E@VK#YPKWF>$j-s8apQpeOq#%j$g z&=ZO%N@Cx2Q;dN3|xl5%!V| z&uu52o3TD(I@8x_<(588ninS$uuFbmrU)g~bOzr8Xeh~0ab2Ofm_M1hf zkC>9Am(Cxr(k=~ZIr=F{YY%`5n7;f8L7gN`cZv+EcT5o6y{bTV1(d-bMx0y=KvQ{$ z^s)#!N1FCvA#6=%&t4o;;5VFzowW;ZBYTpz*M`Hb&%dN?N)w%acV>Eyc;NVIN7(;H zl39vJv^0pqaII#kb~BWx?oa#*nOnK!`>J4a2v&X!C(Lt9GpgOLc%|>APbEETq~Bme zikPHVcI5|*ejc*)WOk4_h69Bl9N37sLWMzol_8p|xn=b_c7I##JwWhZD7Pj?G@}J3 zy}o!HjPjM{`ODrs(2Y!DK{Qq0q2GRl1>KcecHxKTi0ye<_O%>A1(~^MW$(u#5fzn= zAgyS-7|}7CwRRMR6~2UZDhfC|d`Oru)5s{*1oFT^ z1MNr3f`00O$jKO;N_!im#iWQQ#&cFJY|Gs&6S9MJrDv>(h@a!3i1!529>kfyUD!bE z@;@Vs11OIjDgOdc){2V4MCd#fLDLd$!a0`uyybU`m>;K~u?l3`S5!$(QR0FTnm=Pw zUfu6w-p-##T(3W)77X5s(2PN@7#(fZd}R=nA6YQK*x}7(QHpHE$Eo02#8a26j!(q4 z+R=|_t{}(ypAo}VXZUyh4c=9awDd6P65?FNCM$gENorwa-A>jcw-wM`3Qa*gd`if! z1FH%?=cH6rEUj>^f0yj0JS5_`HD3IOWwg}(^_Ln1`;(nvaKsz}X#sqsFFENTC!oO+ zJh5jM&A-#I9EgkgPnUho7ez_Zn(!UGA`zLoJ7E2C^#~+OkZQc&&;u#=+6Jp;pj1`+ zCO^sQkb;{#&gEZ&*5F{ITbHwD#zat+1)3{N+xLj`KSf-xh<)CT7SCWFV=p-+NICV< z?2Wd5pojsB`G&9jyEaNotm3p6&$7RznRTq&B@>HWC=tI63ZJxtgI1{SUWE&Q{FXH+ z$npu`wo38rE@Q$w228G9?RbF{sI)4h(4}{aCgKJjiE z+oL$B1_?=!I@r%aRO_5a(2*rq-eh9lW^bg~hq9h)9eHIiLOcq@Be;~S-1z|O4QKII^wAJuq7iC{wDl|T$)G7R zg6Ed;UXPcxEFs&~hJFn|BuqW)LLYY!I*M3{Z{IfkGGcI6m}MeugY8+2C-2yJpCS9ZGy}%ckE&49t|H1F5IMlzpLs$dX`) z%GWg(NY+u%_UF3r+Vi!l=u4EmiLihY6nfH&Ht89pl;*^1EI-r z(LBk?qvVbOvg~87`pr%(lFss^_eDC~RE(pO-xdAW@(zrQ#r3o6O`*xZ{4DH zLk+14c!^-0O5@yo7;bN`oqnmOQ~bCx1za8xM~4$H{G+uVTon9yuCRP9Aj2VH@hk;u z_S>r7SSH~du;3s_hNLg-O2~QD>&+=7yPx8!i02+L5}BXR7%3&YOFMcWR`$mx0ig`3 zA9LKwL`PIYh(X+=S=3iuR_RP3R3-4Nmf%cIGXmGyAI zIq;9UV6if~PEh5gB3)L|CpBeP`CB_ZTo@+<)kT&~ z)`5ANMt=omhS!kiS40y6)OASKpcr zFshoK0SM_5&rrnekgRTlFjByUDdJv4xbpodb_{^GJKB#42#J6GB`j4CV5x0K9>cVJ z$|10iga))bfayFsm;r00iBG)cBuIa{k_*f;28ec7kgLHoDrPpJqcIhTg8mb8)g`D<~aV+`> z8KEvZhBlb?K=yFxjgW)vIt#oqsv#~G*kMTka}XYvemCAB4PGu&1-I_P5f%;S=94zJ zPWZBS!IHT2u>8J2097yFRO;I)g(9jw%(Lu`Ii%pT37k}(BX~NA6K(C}2 z_^U!w^pKVN+I#Lx5Aq5_fHvd@0FjHVqd@=;gdp=L=JU$eXeEIY;KfSR>E(*qYbUE8 zEOv*HfsC`JHoiGmfR~h1vm1k=8E*d#g{tS@i#)F}5QqmYw`oGy&5T~n2=9zj3KorSxA*T6U^vj=ytZYqdVOf0 zfvMPK5m?aZ%1Bv~CpaWk5k{_tgaJ59UiW15XADL7(_IQB!**y|$5Fm)d8^b|T7OG_ zRu()(3}!|K=H6&vDFq?K`_PV;RG#w71Wi!h09FWVEQ6 zAW|>+)esA!FQCu4RCy<7O68#*rqHNd7eo6!zu%ZN1y?k!Qe$bmWZI}tAWq5!MyQDI zNV{_Sp+G_dN*#@IbTt-AYH~C(Jl5vlBDay@AZDU4&}Z_d55ERdIv=wjSYHy1v?{K+ z5kPG0prQg+=G&0~qdmEU@F>JC^*0ZQpd26}@}ucgI$Sxm)ww`zi=v@sP;S?(g>?uL zg&oJIwccX~4d~d{BFl$v$k_0qfvVDCX}e^a{C}Qq zsJLD=p)h5!Ze`)9{*)*DnjyFJwsg_~MHTUM0uY~ZQON8Ki2|qF6*B}UV<}-pAFwz@ zK;1H;h0HwcsLQcw2r}iDh4S7$Zg~!wS9(HC#9EMd0#$ZThL>bol^RRijd|eUKg3H8!ZR`J zF91w>^IWI|@dswCs^F|OY={lA__SXq+^`|iEj$O6M7~+?_FCwo_5snV;4r2_h%>n6 z$*uQaCCAcs$pTPOPZ38t^Dx)nVfYiKZ9r%Ul#APViEE1UM5OPW{mvhHlISaf{gGs_F6a0sY;Bc@9oog1nepMvzNM}JK*$|{xD)YahTckVc#&j_j>yXfdR-E zFhiZyHNmDLv+!R?k(HA3zAF*zUh9mc;<~0z&0F#Z{;vd(~)Lh5|;S3KqLB z_7*q<20+OC7zdKE5K(DdrNx4{`D?)ANjIM@zySx>3J3;p_L!7AI(D~{o`lJpNDDI^QDs|>U-8NN{qP)9b-MX&WrcJ|2HkP?fC&{W1*OIeLK!i`%f zn8>hlcvlFml47xI@DBq<$^Q@$j(sbg(cMZX>D>h3NnD3Mqs?0>+ZN|d(=K*{mffw5 z^4%%0W}kdlX|ZtoZ4p16;*51mF0!d+KsJkS)a`>A*P{2CqeqN_B&c$;hjm1r%0Ql;G0)XB(Zb>C4P^;ZJhOWAVvZ^EsB@!k zZ7E{)2xD(iC}OhSC~x(Acm$q4b*l`80E3+eM%)GFQluxEh%5`Yi~SE|eM%Be>aCm% zyiSmscpu85A9AF9CZ~`|d*glW^t?Y!xRj*xZw$OhBP?k;%$b7epoT&eih>~^N5YGf zuJVn`5$D1JO;{58=qN%c>8>5z-N+jgJ}Lt)N}Y=eTu$Yi1KOL}INu;IQKqJWlU>?Sd*aRQQA0)fPWD9vuf+y6HfGbtK;I(7Z^#!&WqpB6q}8PDWi#uwm+@xV$t8L0b>1CyJqhuW<+ zZs&v(R&7I#wMaFF(@f^ZcHRYwS#Xj}P;JFEY{3_X#yK9d(qEf@8FNFuPmaU(0ydbn zH-o_rR<7==F_cX3Ulw9^aVwy2*!5Q-+eF>t{B>h|t3+AG`@HaX5z}EnK1GA5X)Bda z6dbOfkl6}wd0Hl7maxEq7L7h>*%Y!dLiv;d3xC<~Rs1PSmSyz!b=j|ChHP_K=|je_ zM2yedRV`!WWqoSVio*{E!p(L9hGPm(uGGj%9-wS4GvyAtt;bX`n)F*6m*0(HR zCQNw_Gr~tS;Tbj--|w~ijYz0P$;3{G;z2=oJpSy=tTwv35i;U+D66HVJ;c`|%zBkT z%joq_gGOkT4j&yJU`_=Hu!0t48Iw4BGa=$DW^tUYHeI=HDX1e7kWhMA&~P+e#UiSb zXc_N=!{5e?G?JvV3%zJy-Rm(Ub<`0-631oPAtB_-w0oE0tXi}j^)$7(lwf!L4g+WCPrFJtj+^x5Lrz%&Rc0a<7ndLhH7QD3#fJixS9LP1V?ld5 z#|4qJj}RKJN~Pt^)cdy)_W`MkZxGl6joz&*Gx#kSGXq%hh`qyIE_4X_*tx;<5Nv44 zVJT*v1imVjmNDPX#p5oA&p75i+=Asw5Dg0!8P{f4GGNhs1Q|Gw%nm8%dyc`s&ZKF~ zVRg;PE5g1MXTAZ}#`nG|Zyv0{_4y4DrEX@)v{>Q&mm%A~I4D>77925fD;Q>4a`+@w z#AQn6i5`Z_M^3F*6Khnvalp8puJr@1vq!A-H^&bm9w4x;iSj*D?joDwAi%YynX;9Q zMRXmQ9_Cz2Y* z@G0E0myVes=1z(A_LuA6W(~YuRd$JzTe7ml!|2otX*c;38wt){-2#dPzve7Ww*R6c=T&l!c<}T72)eU{b3@@JBR;t&e(I{P6eWlFWY4{{K z%&mp*14ceTk8_?ED93I@ERkX8Bi^IO49@4sAB~AU3`oE0TDE|bltil3THfr_;Xynp zFIwY_QACFh-$kQv=mm3MycYnnYPt-}!{^}aOefcdhYTVLF|$IJn7&TU>|@ysIK$_Z zc4Dd1ClXaY7`P;HDsnB2yNQloTmJV@za!$H0WV82Ih z7%xPus1&Pp^YoxzWwNcW;7Sv+oRQzb6WygpMi)S=@o!>ntkRLlRVFP6W}LAyqT|{{ zw^Mipi**7kSTlJrr%V@l?dVGD(#Hm-k|d~C;kv+5JYyB4>+|&jj(8w?C0S!ox4yhV zO9Tw-M0!C;WK>4+%-|(}b9G~Gva_IZ1ZeSmv^_{0(=P-&CIZx;Xo@~>a8~sV>#fML z@LT`IqwQE%AP5~Ko`y)yRXc$491_QBQTBxJi4um9JKZ$GyGAgP4x3N3vTXsH5M*iW z0skOWjE>dvf~m10pxrJTJXAZcmGsAmMK2c?)o~e#17V^1B~)P_$Gcs3MTw;$)%O>n zk~%0ve7Xh;_6ijhd_<0_1Q-0N3ds6-00QXgPq(9r083+Y_y?h)op-Ql}{%$qJ+W#U}YtasMkrB&MIrQFzF2#9j zcpBC0*MRl=?LZcqzo^cd)ss>_?r;j%2*NpX3RP({ktgUHUvzqTY*s8yF| zh`7AXOZQ<03DiOOKxebQ5LM(kji@5J`4VKtBfZ1}?>jyQT^s?D@G1zRgfC3AR3#Ly zGFQ4X*Juyy3A|8`vF{tcRLK^0FaRN>H)aJcTOp7(NT?!0fA0#iR?sLeoKtK>7T9~m zxIt+kjbZdv%JLKw=3f19Rqo1vle=&TlD-z6^4ZFO7n~A)$W;!C%kx~0h&tm7TGgAp z%@VGFRhw6RW?;>vDpBg_VV4$5$Z>sEiB^$fr31{Q)rb;1Ixq*ziwNIPi$7^cM|Lqo z9y~<==5WoTP*cjNIa=p#FOW*E;j$&}z8tYrvr}#L*hIc}EalaT-hpOOO(|@*Y@^bC zQY>x4^kZ?Mt^9&{$eElZ7Gb$ai@**Y8}ft{#h_0-yLU7zll>voPYaw6wZfw@T2HRZ zl}UhhMB!pZ22|Oz@dY-oO=)cRY(tLbX+;hvhdX6pfn$}RTlry%0T0N|W&|~>hOY7s z@s`skkLxz0D4faJOcGpF$TBtLh1Q|7b3by1Xw_kRtU3HkVT;sC1KRZ(@}u?{7D-QF z8US~_O1K2~A8&bBx}j_W5L(!@tGI#x5k>F>gkvE~XP%P2`6##}xrFc?FxhuWUWHr~ za()Z>L8O8WQD>B8uf>q}V3eQ@S|3b{xLTXz{RNnPL|M4qEJuMXaXAhswK}M{ z%ipB03pZiXp1(3zID;s!$1uBbHUEm(id};4R~E~oc;${kS;=)C-KFV&NMPAFhK}S~g$g7=g9W?|qR903&)!$14%Aiv zxc_Cy1)(Eg%|gwfGjL*n($VlFjbN$^IhT;DwnUh=^EnL1@cIG@h0^N7Sti@%H{!(e zUcWqVZ`G3F!&aC(yP6a$6isljRYC*#LPDd+TDcr1T&kqk52?^&#y#a#c%@MAmNpX| zk55U^TY(DtmmyoW#%l`waNJ2+x~oddV(6S9n*>Ki5sOOP_Jm5r0VmC|+)BH3^(&K* z_42+Vpjdu-`w)`0OA9edxlzc6f-#xh`gUL=>W?z$##Dw+7^v2AZJ%!+IxNV@@(<4&DGWmsNFIioSBZf@0YVppbG{}dme+8y^v&(W4A5Rak-<=_@(P|AoVfD5$-Mr5 z(jCKt#>bs(uB$4vi+Y#I_Gm^CiBCu+nJ471PZ*hE!-}D-J?W52dM4a$A2-L z>cjs0A~1r+SPDGGzgb|l%ge}fqlH1&Ihk>7*Z^st>poO z+@{!tjA`t7MR$dFp+V~s>|LTd$sm!+C2Pgvl9?A`Md*?smm#-Wv`Srs-Lovihf3#l z1aRdcym(GlG*oaBzdHIZtDlc>?G`$gC`ygKwV_rIRozA7Cp!W+NWr~O7=mwVwO#cM z5@(TJ6tG5oG8m7s!o$ta4=DRi?9DR#@&gwTKe^D~bR{660{G*L17oEV#0aZz9%x7i zz8)HH%RGk;5edAC2pAgx&}xzygao4v6}Ui4m|Xm4wNOMY5U`Y*NRPN;={0Iw`o;E& z4)2vqfg`gn2A`%VI3a&y=WuY4^`k4RMpcoBs0h0E5;3CBKaLoP@LYenmZQ!E zssPklLon5Pp9>sv?ZFj6O4jfMi<+eoeY#}gOV98mIb7QQH1Y~+;*e44RkO(}WGhrY z&&9VPV;r#_a+V!Qrn$$4d!oibZ+#g!9uvQ4EIkp0>1*DDz_S2G`WZ42;<;ZgOg5Bh9~elCVWo-Yr1q$k#*r3!#JC#@2{RH<5V`Q{+FUKBSJW->BIkeni& z#O=QYyN;t`ua(2n=;I=GG;97J0V)<9iqS>kUX!57AXf2C;?>;pe#GNJatUca%v0@v zLiMHmnSQ@fb|sETb4i3~rx+zQ5DRws+JEf|IB?~na>$nW3^+g}i0j?390wLd0Z;JB zzLvKXvg!#mRQOW=?g3}c6O=>Ap+MEXA29JDty0AkSPvM-U|$fR>e{lubz@ou68oDU zJAh>3O@9}!>Z~NOIJC^h-MIz6Wojm*?KOj7-J*&&dyCdxOiVR})h2+`6)!d%SryP! z!ppA-@0Udo7Y8s%ma#9wDf*G9GH0hf>gTwc#_d{QG- zwa6}zvAQPN!R=|FOsUQ6mrh|EXai{ZXk@Uh)Gn%!Q-O<|7(5? zM~rkAb84XJrvb!NvdeXQ{rB8s>^M^g&$-xdBnJG%eWOQ zBIPsl+ zAm^r1UGA?T+ZXrq8b~Yw|7+-6!`zTjAca;%-YCqMrHnmJuEnlQp~MlYEMEQoVs{(7 z24Wb0FbbaQCU(CtN+&{o&2{#SKe^b5k5dmq^#q-Zu_)&_s`jlE5wyKTEIlRw-tHIG z+I>-2KZmab)n<GEr)gOm4UT126OS2Y%A zc*7-7RR=4SDVAl`Uc&w)8*MsyJIu&N-Q5x|5bj&OOGiinqaJ%8lA@1s45F$DBzeZt z27Z~NO{KaL{xjf=OE#F}88tU!s>h3m&-=i$m3^47Q615&j+6%`OUz;K7Y`l>{V?O4 zxdLv8mE@(qex^Ep7UpEG=3wUvn+gjUst*Cjmm~2UaHZ)*xP!_KWj7(a*~S0_vY&_m zKdj3yG&mqEN&sre#qYY?FiiprZubj)rx$E6ZhBuOCUVDKuqClum-0OzSGCVADA|?Q z1`lohhXxM>CIZf)u>};fx(3*3a(hfbCt2cx3I9{O3OaYa(396}6#*U=)P?EyC>}8g zL`Ho&t=<(WVuW#GUTS#PI2dbgaE7%ZF{gLY9Wh*RPJO4loM{wdKgSsAaq zX1rgfXaJQ=Q~yp9*EX z`kL`LrVr;hOY`FTs{k_OXgX(q{d2BjUeXLzAi1~~^Ll9+dJiw#D#D#>33o#AdGGM^ zgu|#$2e7Y76QBk0z9zhg#^%FCVb?IC08;7XuAFieWMJy%R!DnEg0#wi3d~+dKB?Ws zJmT82Xk(SJx+Q1<%!Tza$hxBk!?igP5O2ko9HIyoMXZEZU%R_9pMXl3kAS<+l2g_$ zhzHEd2lz=t&R)tG1yEJP%aP>RUnGhGKp(O&BdzGo2id?*#3DNsW-f}Cb_6{bZ$1j9 zW_s(Q(p}B}6|a3!Jobr*By{i)U1rj%5BtApM}T+4HJ*^45ra3FwA*-sO;|yTSPDhN zi^t0JVzT3K6<552oVnN;DvJF?SgzCU{xY))58w{_MVZre2K@X3EDUvg;ObA%IdM8u zyf~}HqVXHR^?2g}8JRI(rA;1r6`6fdl`KsZIl@*iGJ&<^u{Lx8OpyXE3ix%%hU@Or z17_wm#K9ln`;!cz@HvwzU6#2Wz9(l&!%9At7K-hdNt13&I zeuC|LYpg|mD4UtycLiJ(@OV8D=}E7lbHQ7)AEdJda74`={=rG~H!Po-|JbudN`hsJ zM65|C=cR_A4)T%-=a1@7xMBu57sA>;CbFEDqTfe(uYj8Zp8s`(fBwq#iG*iz;ytXo zdIgO32lf$B4T<;9IFw^nvuvNZB(y?cQw99mpFB{_=sVMKXS7%)l%SK`8*`u~QS7D|MJ>PNLQ!zjry;5Bmm4}M z7V@@OqMUtr$Z+tG_Jv4Y00(+O5fLp$s}Y`))~xuSX7&s+XK3?2$Vjqbl9PZ)=k@Nv zD~U=fm#Y|9)s9D_8c#|f zmT`%yvm%t+`%4Lg&{7d22Zn%3Aj?OTs&0XRDz1u5HpR?`mh7Q#LKLwwUVY7Yzb!J+ zA33nq29_H^5S}-(JqPHKn!3m22I0seVA-*N&Mdl%j|TxEVE^avnoH}xCFQ(2{xW3L zg-~;x!hhkibA^mjHA7}bLG#>0b0O+V*IyDZCuFBE!4rdk713{^-jFktu_#u;J5cA-ApjsQsZ9`u4t< zOnCiC1lq!Qi9^I*l*fzZHbP1gmN7^*U$t4J&R z_zLwa)_wjM8j3&Ol44$gGl2_uUoYRlm|Id`Vh4yUsbk8@d+jyv{d#O{&t}kCpurxH7`h`yKO6iDv+mhe z#7y$zSiEZ1%sw}^a^7;(JIbbI<-Jz^Gva?3!!i;bGG^~`WxPc^Bg!3YdjiJR=ir#D zzN}M`=`Vtp$T0C%-@h2midbo{)jy0lO-C|!M3?L=g}X1cCkbA#gW#seQp6E%_ks~i zYE4^GEabs?tp*#Ovt;91R@!T?6SrS(NhLMZ7(ZqH!#MkOxp4!~nea9Nxa4vhtZT-2 zr_(V>%%TSC5nqh%i@|c^XAMmQD1QOvXxhnRK&p#Js4`e0!eG>|fh5OhrX} zcx4f&P{Jzf?^-A;>9yB^n@D6ozK#p(%6=VFJJRW4*ZNu3Ann?+a$cK%7%`U>dfJtnmlbumjxoSTq`l|^A>jV+9L*zspq~ug zsX2DqZT^-Gn_nS{SShcEmxxo4&f#0cSYz{h@B+do!PKlNi$zdTYMPS(k8~J^a7-e; zce1dD%%#VO2UragFfS~u0EMX7meFKo+rS*Q(7+*&=oy4J!f!X_ydM8B?vONG2#LC6swG?`Z+lc5JA=gJu+$16b9kN9oTrQ?|-LSVPv zVu?b9_kBW9&g=OPBc3SS%Vl#k_%=Cu{^#c8zT%p-0~!!aXJ zqhnl@^7>!yn4o@1D=q=M8$Me-OZu6#q?{m&7x4g<-$T6lc@t6SLhO1v0L|&N=u6ei zqA2I}9amvj=F^*(PzSAC1J?h@Tvl&hg@efek!zEXnZ1E3MSQ_>Lw>P9cMbt$7q#W9*6Odt zSO<&b@5YogyLh=U5bg8Aa`sjshJDa3K;LGs@3M&Ss&6qLOGGGbtM z0T52`>U7L&i5~b(I&c1{=Lmq{5Bow~{DNn@LS`t-TdrS)q$TtUYal}2(jN5iAJ-NY zl`Q>GyFq-IW!*g@K2niPjwL>yGQc6oN>#f`AAH+QSfFRS(EW0|qa4D!Xf82Q2*G(} z5#_zH<-Kn;c=g42Xq+npbev>>vCq|N3)X_+9jurI({m8vPXWxi4WFyb++c|*6bbs5{I+jfL& z668LLhrO;ny2dQS8|n;~C#tTWZXoVF*BipyP))JdgT#j^QrA`w@X2S$2)7(jbf?U< z)tDayupe0F4EgX374~Sp@qsvVmRoNd1dBaEVBz#$NYW(j$2DfzID+u(Qk0;y0=_2z zXs4ij_!@BbO!O8o@-4%{vm7(Ah~XYeO1@YVCHtBR?h&dk$Tsr3w+D(&?!^K@6eHms zS6Sf?j~J61By|$TgRm5X^#N6Bu5wkgk`;KoiywVJ67bI4N5eG$h zx;G|@N|yEPw@AGG^_I@XyO$4Deoe_WoU*eVp!gofedu`AT#LW0Ygb`o3u~F zbBj1UDaR8rBA6(g6x6NJz0{%T^!@?W-tO=`5-;kDAV=+$f<${>Z|qVy<62qkRLB$) zcetfT!%C26Ea8$*HWOZ{*bIl)h?&VgL>%n14xC(@Y^SgQkU$*GT$hHrGy($}*GO#H z1%|9sLRm7LX%Dvyl%ZKX$uX5tXQ!o(zU{>=*xn05R-*pQdT6RJIN2U@dn}XDJ%g)b z-?d$;6u?QB1%&Zr|BnBpYU{)ViP=-Rm%D;JuLyfUJBk9f zq*iE8z2aORulRR$)Uww0OaiJ(AohI`aNbS@iZh=9S0*(Gm;yDYmFw9Bx8@XBjbWB7 zp*!q*c+L2@;8Fb|41{S|25DCrB`RXTdQ6v>@I-?b$s=Z=-j|J|y;xA|6>(I=WsBHe znTHn-yT*2!fDP_P>Izvi*fU5v*-{9@2*kcy2-}Tz>fS758H-sZ0Yt#w0tL({3xR$; z%eB9O4cSHFd$aL`cT2$a?K*yX?*MHxSB&moADd$q&@Hoz2=aFuj`_#1kTQtlfI`eQ zdqca~4ik2eqMj>YJ79+x(|%P@^H{)E1`T1p^?M+)>9=uH!i!tNV@LFm@c8FPj*cQn z`DbZe$0J7jsbhvCpjhZvibiR|Qo(5ar`6xOf<#F!yNa?@P|N$eK>;h_#XaHm@o-Ok zS5(Y`d5Q}vuzAy+=@f~ry%YbC~<_bFz-R~g1M zC?7-&#JE%F?GASX-UIx2|9D(}ixweG2`_F5FV66EvoT3HXod@#tpnXhA6X>Enm`KR z3vwuEcIfgk02tJi*Qr1yGg$8jyP7gl5eI~4=h`+l%?F6s$`?(Lb&Q8hZ56Q+UfL2K z*Y{JzRnQWQ5ABD6?$J8kUai7jpAK_GoeHKomW*LsauLiIwKwBj&ey@22!)}C?0ih)i+1^pqq!vTPRrd)Q_QEV5E6A>d zm+~I+d^#0yNslSe8!z2dqeXMvlnbGDs>=A{O=5|J*a4n#>E1ymJclZFG}9dqh}a2V z7r5}e7;h-nB9OUx`xk;%Z0n1hU8546QbRj;;`DLo*4 zjH4U)&ATn7?L#lRh;+7!3P|s7h;-g#=CpMz1sF^e{TVCerM<_)^XRFZ#~JhjC!o-! zmZ|D{l%!La*RL`N_M0dU;PrCf$7B$&j&MX)8N>)r;wlRp>*@s9^nw+d`BfoP5tlFW z;#-Da0J0Jq{nJU-CEYG z!9xHSgd20(4xLF=(DdHJ)16P~8J2~JRqIb`g?~%jt8A;Bh>VCDkzqg+$ahl1;avGA$q`8b4+8Gt z4+92+!R5sC3I(=Th61Y*x>1QKtV$kZ#}*fr4NPa@mY@hw|Ek}^+JOZT!mt6b#X_`O%4+)2g|hBGhRrQ!NND@WpL-@N3kZ4dNa+L~pE95ws}ze`hSB90U}tsO zTNaRyb0Nwqvq<)5cn?`}crlm6Y>Lez0`hH5Rw5S*Y6`q~_BOM279t;2r|HGf-G11~ zBjUXyWk&n(kmJJ*4Mw!`e%RODfPra1h#PA{PJ$7&y)}3HVI35bC6*iPqz3Q$hxQ5W z6;Z0LKa!xmGy;_E!uzl^h-!Y;m%}UY{YM3@&2$Lw(Odt4**Al>s_BE*#?tk*tH49f z^48{9O!ScR<^`pYmGk;OhJ}yv6f&z72Gs!w8+y-9;f;kG0BMJz@f8aL^!|&?COXak zrNv{1XE6^7BSD31ce7>5;%;D?_9|q~1Go}D7fhGdZK13;_O|rV0-BQy5ws_@?wVGK z(w4OfAOUM=4(&`lrGO#`Y!&XND~q7RlNjUUrnzcOK+|?ZF3BTT*+41DIuPaw9x_f$ zelV2x#+LV(Qa^=^##Xhm0Lg05!BfNTN!x=*E%Q~kmc(b9^D=RJ7ec88!2H68nXe#lIE%8x|J-vMuI?k+OG1=P%vPRh#cmdTe$3P*o z83z%c=vrC%-tzoFzdOY)9x&7EO~zbDUGn_U2dffakwVs3Vr~&1XPxD##5cCY_uH}C zV7+5KbQM$~2oiK&7_i_F=1%PR)}Sz;>|9)niT=y74-qQ|d^liO_Wfd{#JRBlO;WJ} zjxORoVEq1MmWA~TZgs53DBz%|S$05ru*)P4+)Yub;FF)6ue=AZ!tN^6Q1Bl5Lefnu ze%KHS%qh_#)^=dQ6fGPJ&`F;7FgC+q{59fX&;KD}DG8;iwiv@@x(yw0{%0o!w6W2bK(&6zYj zVA#mBFGE4d4gTU)1zcVOPV-@(ps(gZp;CHv{%0a6DrQ*xx-Ooo4dwmXG4(-rdm+2*Sv=dRpuW|3N32qHF1s&Dj)jeT^99u%}a;w8HQqA6KMKu^7fc#bgp0 zR12|e3CutN#{%%UYat&WQqk3QiuL8^;=6JTXV9WWu>}A_9qX{D)zf`EyCQD?c_;w6 zB5}ibgtd4Tn}+!V{%=B@CFu&G(!|yeb!4eLzQ}fw-0?4pQXunyt@1k%^ijZMaSs?9 z^dppQPNaZ`0;U!!COZm5Ze;1{;NoyvtxXF*cn zE|A5?1xO!*1E#?tOyrH05m8JUgR>p$4Ht_=D%8%#kMUH*<27RO!yh8fs8F7N;SeKI zVF}_RNN+Hxq|ZaZ8j)lKkhn*&3{>q&s>kTVBZdZPSDNoi?N^~{j{;@e6?v{6A%1Di zgi`?#&)10C!y_i`)MLSQ{N;10RR-8oHrv$9JYoc0`R3vE^PkQ85p)0Hk&HZrFp%~f zX^(j3dX#It5>+V&a9c~0(DGgKfFl8`{l5a9`2jD@!L5g7L;w{L#C3J6A65*N7v3JS zZubT)ZJY{#4?+u;Zp zBLqbZv-9YAd37RyS(+kNzEl5yALGXn768b>ev#ccP`V+xVBjUN)J3e}GDdLQzB)ud z8CKoqhW29^&f2454v`ctGYw#li=1aAE0)ecT!DRuxuVOiQ`0m_m0+Nh477rJWXftJ21UYF_#^ z5yIR>Xhhhif|$~jX9VTfBbJZPbm?IG_wn2^k&Kc@tc2IMglEA$WN6%YMQdy*q#~18 zeLCOpF9OD0+&~hC0Z9{Lhe367G2IfJWHx(}wQvD+yR;}^Ygm%er$8DWCG271<^-*f zmGS!6PDOoE!}^v02^se!K6sjxbU|AXeG%&UxYlK|#liR3W1u zew+|2kXG{HBV;Uj*Q9V65i4Znyb-qBB0q5}z6J6QWQ08AD&RkuI-XVsDjzg1x>AUp zE^YCEH-cVa@t~o8j0+%S2?(V>7J=Z#>@8WJiRY_A_98RxA>*3)^N>Tmu*XHD&0L`J zLv3X7PuFsWEJ#{Ku@Q`)=V_}v27?;^(P%Jwp6=sO{_?4Vcz3l&*Ul^X*Q1Qa*^eUz zbhpFSLGZ3zoRbD1)>$H`a@RY z8|C$i%fMwGvIy3|*1m)E7L&qDWDFQsY7S8sD|NfZh0w=i1=Nv;1aIWu zOqE=;`~Vz%y?!Vw*q^qngc!L(Zc<}!-f`Tm6Zu^2`+N^sxo_;bZ`q1$FdC1m7T@o_Q2U+EiN5#-|5~G}ZkY$O2Spt>N8FGLQU zXUXXUyPkT;Nx5&#{Z{_nNwzbEEng749-Q@E!|}Vx>zVzApJOrPiX$nk-KL(^InKTc`n=3y+s=R9xnRrrBKD1+bfuNc!PcCQOfXPQSAJ6zYDXq>k z$91ikmHOt^?>!Cb8MY10C>UHo?g~MrJ%}*WV7%k|60?a7&H&oaM3^@48X-ePK;8m0 zmX9sCxidg5AILJATTj`}&4Hzv0=N`S*?$u8mig?>e2}D@boWW$5N|enIblsZJ14nL z*5p7)l&;#tkGLt~Era0u_Hc|LZ$mW-UH^>A$_Hv%2;9O+N$OBx4t zej^iQos}^;rl5Sg?0O!a^A$Ntmr4Xwh9^?vW^{LEd zLL$dtp|P;O9&(`ohvxcN8SzYXIf_ULw;nc5n~Y%L8kYZK?M#s4NRljjA(V^l%l$9b z`o5Yk7H~+SgbD=?iIfnihhoVBHmI6 zTYUA%f5ozwSf9cNrp-jU8xAGyWND|3{IfAOrE=Ec2s>q zE!5@xfU+fb1+p7x7q_R>sY0F#dH&~J@ndDt=0cPsH6g8k=4OSaNfHaPDP9j5#z8@a zN-pN>vOqSrJMceTB4jKk+IaEU#U!bsto@7_k*(iHJmVd4a=_3*=RKs=mgOOSmGw=g znf4^9hdhB~>dNR#NKtG2RNz^Blyx0LS#S>%4Ce_r{$apW0@m*p%6Znvq8htI$QIa?TF4UY0f(@g^&~Cfo{aVY28$I&<&goPb+)oR1*j zt##t?|N0qQ-ao5NF=2S~2Az}UKD?;?0fa>8ov~|&nChiacF4RhbZJxV``07Jj73;K z|43w56|r(&+;Sca+}|GyMr`M?h*Mk02x(gneW-}PYkEKx0CJE*wIF=df@B%?e*6v1 zN>-71ArDNl;c^|cx^qlF70P@13I4N_r0XI>|U0qk)qofxqrIyT}kG z@W>cDOUkhihzTB@(4$ z7o56#PtD(Jx4d6us1L558h7v+(z0!bN#gf~@?PBX-oMVj>81}5j3mOrwB(!vFgLVZ zkie`^F8N~?l^yVgKhARsm(dnFC_fZ4jvk)*vNB)XnntKGTOZ0g-Uo+l%lH`-aS!bB2pM2I)BMlfQ&I9u@h?NR1bm=S z;qD5VdDB(gXCT#4Jg(fIX5GPgIX4aHkAYm-aFHAg;8tx(XWs-)%sL7APJgU@-{8^-tsodN zD0(!dQKT#Q=Cn|iE1I^b_F`vIb=Z&Ah|+sJZ;U#qJnA#+;Kz&|Zj-{|eYG7!N$fWf#2HiESWf9#PIOVMHTR1d?PrGO z{`zsnxD{k_M$595smKiaQ&#><+u-mYt0M692c1Wd@~2$|_uRe#tGBFC2QjBr7bP$n z;d4TSI~g48&wIHj{iU{r-2NYLU%GZ9^zEuW8$42JIUtl3$h>F97R_H4EJ!Ja^_0P9 z=kN((u-_;za_`mwDdcTyHs3h)3EJ}k9%a%2CEz@=3Xv>8P%|BbVTc*V0ykr+5HSBQ8koRS-Caon7UC-aeniC}JhQwBbbTYkP%V6ci?@f&~%@&Y#W^ z`5k&`dp?TTF4HmaLbJjS2d_sH#Tf?c(u&4u{}U*{QYE?vd`iNzadvN_(7I2nf5qF> zQ(sl;%i&K028zQQ2O*v<)V=*hT?En|YbGy=Ag9@@y3m9jh;-@RLnV^++Vc$H9=hPF zGGE^2hX06c0a3;rR9n=nZsGs4&$18D|<*vHp0*0fh~9eb#EJcv&+7lE0d$ zs>GK!oCv+l5674U(#7zY(2nvgLmuQ|yDX{_U)~ZQGyj)SoNFRLmaq)e={2O4#bg$!J;EoUJ1DtPFMt6q zVCG6Wk1|TmFrmOOxcY^Lhcd9wuBu?Ac#WENQkHPQ7UQW&{z)+_^W`n`#dqYM#XKbP zD0@-t`KH$w%uNbc2#PYyJMAuI--z%r=H2xk&}Jm;*`y-GAyrGjT;r|0M?iwSvo1LB zC_ci_9Bbq|^L2mBFNOdJVm*YL&z1y@&_TRO;$b{yG&S%(DH)L$7?an9f%{R=X%ebN zjbDWV>D`olGyEuO{7{O5ck5fe%TCXp`d=0^?(F zu*gB+mB#BQvE4#xiDx(^PB}{=`?kk~(axG(Qy08&Njpn=iXnN`{ueeEQx~6`@uQC5 zPuVgbRn6A}(aEgid&pL%<7UN`LE|ST!WU~W%HN2^b@F6wZ6pJs3c}bk@aE47d9pMKLZQ%0Pcr86!CmU%-sL?`-baLB$1qSZ5G%x(T3rE(SaL%*`zH&eoAkG&=!u0M+$jrr^9mt*@o|jfT_o0gU2zHMh5maxue`B%eNuY z94w*845Hr?mjKig3z-R(0WuuMAj9tJ;GC!HO12l0P0u)S%T~L@^^B_`?!SmQN_G3z zOq=rFu*XC9fuk{+K<*SVt-=*uy^9$TZ`>1>3#b*BCJ?ZPi~?Hm5?&)E)I-_2PKhRa z$O%%L?&Q`K@_2>}t?+vlhbb16Y-B>Lu&8ilRd<4!VD6fSlSMRdVO=&@OL0D~XB?52 zXd+8v=;8reVI7y_38E=-k&U3CQ0H<{Dr_c;r#-v<2zYMKn8x|-8RNYYDcK~FKr5?M z1{9w8BZ-c&vLyvlpe!pSA$%j05qeC>D|PYlSHzj-d?P0-Vw5zNsSIoU=@ncXM65a7 z{fO-eet*Pu;v|>^{Zk!a?}{F=eLM_YsD*-}O0%2B#4-qNM|eD9yO0W{F-_BXCP1QP z#}6TGh;FL_&hyDHY*te?>!7iBA zxrpBM>_hCVl!7mt4hAUA`nhN#WZp@9Ue-!Z@@fiMIWO%wj}6SrLq^&bS#(Z1Q>G;0 z9t+DZHB5ypw&c@f#u*G#Q9{BL_lg+yko|j*CW~}?WDN(*eePP$sEk-HjLpR^>F$P8 za=LO}>VFwA7M%2W){$XDAD-_X-a|NB%;eRk1q`ulPCv&*4)GpvBj9Cd3HM!YPQ5GR zr7h!S@KE0aMj8kmP1bbwnU%RK!6D9*(T)+T&EGw2?HK#mkH-+@e#Q-%e`ZrGZWJbuK_*pCP$1<#Oc(HAkg=X<=#2 zS9S+yfQ`fZydk{k9RGbLe(Lk=^Ugkx+FMPNG%v)YN0+WWvL2%YzSo4JuQG`JyKN%# zX>IMWvDS)8QgABcg zZ0!}QUTZXjq@#x%wL?o@T%bt2LT(CqtKbs+WA4b&w@{jm++kQsY)5kFI1TPF<*jTzi)Z#LKp}kbD`^bBnNvr6ed!ql zE=(;(P;03*Y(*TX%kL3u(S68C%|4g)RnSh-+K`C!Q32B-0j2y`RtoK$D-dKc7T@kBWWgG)AIs-jT#u`=U!v4AfcgZm%&KXe5mjA5e zBL7K0NAvGj0pBEfX}ghurPP5%2$iz@km#0}0|%!wWW+nEl(onYw@cC0LqdW_*H+U*t}I4nU~U!Ad?Y^zyIHnrh3-ZX1B`_& zyF~Wwzy`KT%-XD4a$-9mjqF`2axKl%^`AXt``dA*MC^){)#tim)Uuhj!>7?IU9ouH@u^E4pD6p6O9% zI|>3Ds(Vqbeh5*EqnarGOO+Uvo%jJeaKUE>1WOKu@P>6P%h`L9j9g3eTzv(c%By}B zma7z$=YM9`b{)ww3ijauSEiig-i*OGRP=_Z@ENhC2s$sYTOh>sh|$3owS$j2^;)nf zjdYG{iZ3>>Ulm;um;D&OMx5#dKY$qT!&+N zya|idx(_Z2j6+5(4&1{{sXDJ3wU*{-`f-TETfFpzN4kA_(evV=VH0F=6&XLO8p3aQ zpjeGFHFJvl5KHI9+FXQJgGWrr2mYM;oYg;}MIw8og^ol*C-|9|in#qMVkEIHYhjMA zbe(XoK>WeA1ANj#>u*N{A-Fmov!OH)Ht1n139Ae0<5mAc-bVOB!{o6G9C=O3)<=vKb{#Id2 z#-ig(>r)y&{OuI+SymuSIyE*}sCA9L6>?O_{TXuNalPCWu+vZt7LOI9^T3(=CQ@h z5B73bu;Kqs*TMmYX)7bQ=?Z1ZzG#-cIPlfY9|=oF7E<=TuxU`p*xs^sdNTD0ne8ij zB7Rq}jL&{DvO=EEklU-N*UiRMmhv^CIJqx*nXUM(ij{FF@KSSo_76>ki552As6s8He zQJCU&Q$V^vjl2pAiZ#kjYUHRI83a7~97{Ulv=OB}!#p8-X>r%c@b?HgK0}rZ+xLnS ztvVo~Lxd(cf^wDtSpd}mkAm(NNs-dRY8UkLV23=k>+BnxTp`TZrqnr+sDhVO*6quD zy$k7!jIFdu){g=iQ!y*?m9)j&-cE+c41$pD9C>ZIzvddkkKQa zYFFZmAfBLRNCMeI4#3LlGGOf3TQ1Ts1lqdTolZ$q$jW>rZ-?1F>icT_{bV23gAljG_Kz*@2D7*tlX$NXlKL>WfNb$iNo zY`!lg8OvyDUqGbOJ&`1IWu%+;NixBQkQFl&$PJ5i);!z}lA@T?5a70SdTu z)+3@BjdK(S?Eoe$(*C?#z)M3kNNFn5HoHCSyBW= zW(u4PdV1kYi~36y8Gx<|8vKZX%yAo_;-kTcGs(79jdf>)L(#u9WtkQ_-Vj^TbXpHx zwK6MMLf-OU1QPa=|GU}*VKmki#HX*Et)LoJY%bIA7)(j8h&O) z11e4iR^PA&7H^@;Su3)Q=<&$s=L@zt6tePPnS02u!mS!tef}<}$AL{9ZoJ(^eSisM z_OWiB{NDEQwvh5_9t=wwUMDdRPj4R`0!u~e;Kg7G|e&> zO%U3x_C4PNB02!HZc<#2xWbgO6TZ}j7{2x35!-z+c0oQxtmIeYek;e9{m75EGH{IR zR@Q(P!BtGQ2AC+=3gMy#AYTFVf&Z!c92{7E1%>2WGo(|auI0u&otc+DQ!wDBn3eqM zmi+n~F%D)s%qkjS#7ixkHr2~TU90!5(y=eFHd&iQCJ`F2-fb#~DOSUsMTrKq7JNi7 zVF%+-+KLe#7MD+e3`MNmSGU|}SNSXLo~92yukN?I8>^v$j8$G2f`o@$GX^m{7vxzH zSH2r-IR`)lWU4VdVtY5KmVFWc2$v~1ykSb+xSA4Sk^Ht$>Z^C^Yar!cu4D@*9phV< zieHme1dKA!0H=ymjY}QZE%(BNz7U;EQeY%U(PrM zv_Me6N_@3G0~V|Fd&Cf5+~W#)%S!b~#P%KI)-)%QZPk+qV_+U8bbJU{*FHxTFP~o7 zcIzCooTa>QDvKQopiV09<#gMoj}5O~DhxhC-V$HpTYEdmzzQh2kY9v6D(GGx4}}I7 z^hKc|Glpq+*gYTt_P&M=auzm%2iy>)j;C7|sC*R{d~IOOmOyGjT0mJZDeKie>(v(o zDu@pFfi&&*10wSz6D_KA#OK6Ib<`}T8wrLKGZK4c?xCS|pB;t7g1xWT7S!&b?|sW_ zCx)ept_lb)W6`d)P1a@v`d$@z;Q8Y97l&E;G#JG*uQ`K$H?SQ@V#Qg4%~DLlwV{E1 z4U*(za&kos?j9pHnL?j>z99*{qlgob2vrtsPzZ*$s0>iwRlp_Xyt?;%{S{&ldY|%Y z{fg0Na7^%dKhTqqJg(hU4ZO5{(~MOvFL>Tk80uDrSi@Hw&B=^3%c6sTZ!sS_5|&Sk zdx57?^MIA}T6n&AZ?Xo~fX?qN6%!PDV$3Gd&R52xC#4w1>0ziwYuEI`$~h9GD3Qr? zUO_{JrS}?sYn7nl4Mi{v@%(O+?4cr7&TCuFiwK0h#B84Fq{G5J z75%*#~_7c68=YfZ;l-IVD z_bLYu8?VYV12i|nz@Vk573h#MNPhe_bRQ#XQY5ihwU4;R^${@^tKHCz3=ZAH3I)c! zSMMDKPiPqiv)6TywuV`MGJxrkCXlx(L`9_iArH|4xm_K@?N^Kb`N5Z!wY zDSH&)37NSe)E4>~X$LT}Y z0O}qg*FEG{V-f6Z*_%_XVILV)M;x-&gKidS-88$fx&--%5ddr0UD9rOL#x^&!b#fu z=Jk}P{=7csCfv)87HsHe^_G?O+CJ{|67YM-Vs$_{YxInN_=f^_F#~|oeQYT3Hb*kv1*Ww$blHHTyQP_ z^4@S^WYwHi`k7f$YS)EfUmycT7L~&d84B<{B=7VrgAllc%$@Q!Im}9ZeQ)<_co}wP z=`V+S*FYyt$P@jQ^FI>Ev4RMWEUG5%w5Bl6`gKxEn<*fO2e~ zql>KM*Y{bceV5-`)M4=)h26zgDbpbp@|V`Ndd3AqJ)}+~l9ZofPZRwETGTGRG>;en zSXt7(*XV-5K8v0udszT>Xl|I5`}&sqfPcM2Y!@+3wqp8_TZ`_CD5@hKl|YT9HItAm zEBK6B+P5y~sZND;v$bcPf!Yc3s$IXQ>)-3K)X5qFTwep@6pBV%DPEYDiD zRm4hseM@}o2i^_^g)6-xx*K*`z~qrE92-frvTJY&lmz6li$plNrf;+_RUUo}8Gn*` zKjOkYrm_c|R8zoG;BV=}>WSqP0gu1DDv;i@|540Myky6HBLlER0-la^(J#c4~um!5Do;1xjQugFaukrr;CUN7ugalddA+R6naEI$jWi?E z5{UQ^Rfoj)Fq^^jI*rxxq5Yu=9HX`h;K}I>z~{0*WM#dPo)IHu{XO2O#$3LaD$Xd( zhyf4e8epKvNEvH$`Q}YV`%I%Ax)JiQur6FGkZZ_kSMhE&<-$Mmv!5ldT0Lpdr~NlRLzYGLoWBIaO6`8(n@;X_UUL)L@2 zSL`DM9 z@_-}e2TQWN;5nuXxhm(4z1xHG@)9!6VEjE8?{Q5w9w<_pyh+HaHZ+tS_HIuC18*T)fb?%5Ss{$8 zu#k}2IhE~P$QijVdx≥cMMD1g-d{!X@!t$XQKvHGRP$=QWO5_eUj(HIn*;~^wcl5!?i4*udnd#WNc^D&Hg z$I=OG?Tr?IpBxeIIj_7L<=8LTo_|1}g}8tnphr1hkoOV7`&4TgRVi*;_Z9JA%;?V;={_)Nd^|q9$u~Gv8E#PrBy=*^&l?Q^KqUnMiI&EpilxDMVK{152b&B3J1?eV~?k$L3 zJ`iHFdfCOue=Dj6r+{d%X;xezo4b~XjK^+QQT8aeANirREt_25& z9j;@{?Q0R2Ka7}-vgK}s=2S?=%UC2H%+vu!4ep!1LQXkjhNH-q>2NOYgRwp&h zt2_qIQrd^J2<}U8$rm;f!%c5ZQEIV}_vLARnPcheR6~}*e501vbdpgwDfmS)xb%<% zFH;47fz1LFiz{Ti89LuUllmqh3+!coe&rDR1k0+_LiQbHFdJ)FFN~r>&I)-)&GuK^ zLc+_2gIA>`4P50*jnJfY?Ci_jB*(sevISUhw)@DxT@^BQTNmSiYf&NNUyQY@4*)7O zE>{5Wf?6y@hgMej&k94$7L(>Ef>B+;q!lMDbkK1N2Wg==t2BCq)R`KFA@$O4v3 zl`h9zC_|{F3277rhssk9r@`^A;2Ie$DdLV$&zcmTn6WQMs5Rzc&e3wfq#`Em&9F_8 z|1pW6dIZdo!7H)~@qvqUUlO?XGxXEKl^u0id?yr}BxR572OcS7dGN99_K3S8-iFB5 z0=+8NH8}s4VNq%9$ev0)D>GG&&?_XaL;D}$_%VEdjHOoS3>nLJq`la;)$@jHmf&Cp zD`b=gJ&jm?6h+IsY#_f9b{c54P=9YB{~Kl~QxssxZs%wg9KcVN3#%-(JE8|f!OqbZ z5+H61Vi=`AtO5@BG{3*r)TdX+K&{0>-ZCGMxgT;h^4OXe54cH16^^}k{NIro86jiT ziP1Wq>S$qr{5+qsy;|t|cHaH~ra)Q085a>%EmCcZZU}jbP6QDufP7<_=YT0uJ%nD1 zq@$my4;s?j6^Fv-Q1M-*9>+sHRBE*;J;)}62wNBXM(OqKQL`005wrG|!3seAplise zmju{f>75!(z2jH zwtgEG9VWOOCSd%71a+qNdl=Y=;S!T7~ot z@FdDT0*oFMN0bw*NM~QxxLR&5(%nu#1aC{%q694kUzJsyW;+wp5}iwN-qu>ti;obN zMCY|;=t_Wb-=gNXSB)(y^=m~)4S1UTka?%Z^bIP@yQLqgXHTXBp^$ITlNdcni)y># zeN+Y!2vFN|vz&Ygne`BW%Jq~{sr19F1Qp+-HQLwK!u76 zD%|#3MSS0h!9BYSgJ~PKl!TZzuuA`j;UC7VD5-h8UNt)=APGN$5Ia}^I6Eu&@Hf!KCwuBm)$1&*Nv821E-T5@vmj4#p|Kx@cUMCoKG1EwtlvMYKkjd0Hz9OwI!a zd$bz)W?@uT@{pPFBXmhSF`=|j_xtR$g0|C)1!K<7jgLZB225K9Os|(l7UK;|kj!lW z(To&*Q0buC9W_*uQm)noAfFia?;+zkgelwv#;T_*dc*-SgpaYnRA3P@^Eym<^!b;e z83td3T>diT(p5J=TSm;141bR^s;*UbS!m!BGLPMA!iV%i^^h&hW0d@1ia8|TGSdzu zvc~C+fY=7Ko6cB(!C_R73f&w^6BtpHBy`W&WA5-ak*P%|>#j2ZFePoLgB+rXnZ@b> z|45Jd=8n+79Q`~QmwEhsDxZ*4u2YR*Jc|8D>$4s@96+Y&f3H`X>>*k87PLBQxn=UV<@*tVMu`_ zlph+IW-4T5z#RWFWabB?K;aTC`$w1&qQy9DQuwk2v ztZ~tyq~6@U*}6z__Pkqey{9 z8}$IQ=|Rc>;XJ-ke zEmp=gpPN#2nY(b#zlLo6J>@RC`xxHY{dM=+c69OjZ0rkzKV@>xK`X3p%4&%2Mnz5A z^RTQBTsB1^D+lhvIcglfhm5P&fi9f=IT}eO7UV#Xa44fh$N?N?J9P`(RwB#fazkpd zsAgw^c07b>jprH@jU~v4a1jDT91P3`Nh5m77b|K?(Pi$sIsY26KsMH71b1D7sCqqR zhLLEG*tM{fpeZcc0UY124D^7@8V^|dDGRoo$^S(mD+BJjIUUB*FW*1AGGO&OTZ0L{ zdTmR#T!Rcd1Z2AB<4o_e{*(djS)yCq!zjrZT^WEX(JIkL+6@{sH<}W3nIF12 zHT?R@u#hiq3C>>GhcJ;XFeCjejM;rUpHVcSB3tHg-prH@6+9Z~0I&nzw_*qu zb|)8NrU<3~U3A3`x0IMA=`za(GqTH|yzMTLPrc>Vv||6#EVke?5abo9WP-$HL)^Ea z2xm{NU3G@G7*mZNQyaw`@WSNc<8yKpMS`PYN50^_xE6uZT2jnPfDh%IzW}vop$se9 zaam>(w~ZBcHEesl)%CMsU!5F(mt7I&XX*mc>-yBnRLshN59u6Y=9+ws8FA`!hh2kM zz|dC^ui(_i>KiJ0bqq?AbmkcmUAM-RF0qqwwmY8y?L@3LOIcGFU4%S9eb2|>0@~znMtfYWG+kO} zFs(dmOV(wU4Pg7P0|J1CS-@K6gDhFjhyy@H`%$4zp>U~7BY`VFz1XjNE+ct>tc!y8A%ZLjDMF24DuW@y`BTiam;ii~sT0@wG^k|4r8#9lX)m&I&cW#5Oh%Ev3 zST~``cchWs{cpOM5|)_^1S(Qs%oFX|hyugjQrx(Eo;V~{W3^_{y&%~}#12mhHt6rs zE*QFz2+U(?BW8vpe#dnJZkzTfE7O;N2P?Vj7ozpzMvWpUEJ%e?bS+m*R~X$Q&gXN@ z>(whkuv28Ln>12T#sno4cRjO$+Et=lTDJu-LVv_V5pUX~6x%Nmvt)aVcw(6}uv2ela#mtEZ)bX~h@fJSjeH1Zqlyqgk?H5Hka4Ri5;8AV$%T2d$wrWp4DgOeMag1f7BGl!aDh<<(HoOlqz;0nO6Z)^vWxwRvVZuH=<1uOG=0^YQ?=j)O9 zDc}K^xdWDxqp9ml7U|?N-?U5l#`m?rX_6b$bYi<0FPRI$ZwjZ}6EJ$T>>&7EQhSyV z22&>sxPQn%zg`rW;IQ4{UE-p#N>OJ*Uof+?;N<+TD6n)!CY$|glk3tM@{m(3oDT3g zeo+LrXzUZ_Rl!SB7?3AdB{6^xa_YdJtWOx#D3z@6tZ%jQ&rE9#g=#pIld-6pk;_C+s%Xa zHzC6`!lvDd;e=B7T?jG9WCN=KvcG!_g@icaQ%*Av32rwjO+S8H0W0N=?YcR z415XUIrgfua{S^1TRO&a0_1H#y7oF2_5}IH13nj}_zh?O0z~0;WRq@0V0M$;{n9Z* z&bjC$qv+C?fHmr=Iu`HPJ~o|FiDz91PN&JS7^ONp8d!PA9fx8yO7@T;IQsna)($|c z2s*^SV*H`QMx>%-=7&EG(rTF4qwr96x6E zL_GG0--@>%BVKkw$^br6M%_WJG+W#_pPE%c7Hud?a>PAi%u$v8Ci98H;+=>GXqEWs zAIHR=i02+Lquk#|jBL`1SjC%tC_hIR5CI|5enkx23GYPKI%TeBY{lHMt}!4e=-GU+ z!O2o4^1oX8&>k^qZ)sOw5r;Q{201w$1)#c+%lM7C5IZXe3P#*qWdLi148h zo_X6lJ2guoN_#ZWT5~$31l9DQ`XpDaTAw}+inuD`_?Hp0f&vE40!Y-|`y5kVO1al= zIGQO%EO*M`cS4fEaV26bTF25tbaevtAZWStC0u<*obub=S}FcK6};DyGzTGmwSIOo zxhv*mXO`9fS?6R=>$;Eew&h0v<>O|PFbOjF{LR8@!ptnk?5h^KHj~Wi2{=Cke%-U{ zD?8Q;w*GR(dkNc08SG1$Mp7Q|Vkm3#{e&$gM}{FN{kG{(nAzab%aU|mc-q@GFk2^UAf5^s4C;xvZf7Fq*Ha8Ho^2!}U6u^f9k*Hm`phIN zPtn?Oq~^zw@)Q7@Tgk=pILxO4G$Ec>+q7i77+ZidtT{tetTXm34vHGqSQc^5=nV6MN33$(TDgHn5Gs;IRKie^oig~8e)yYHjtp9cv|zqHO0% z)oh)=maWQ*s#YEn`e%NMBwlfdFEvn#5KXP*X+;fFWP&AeY-Ea<#NEX_n*k6y>{Pjo zBP|N^-QXL?484HKD&IwBp6gdg)#zLyE8n?P^%-)(BJ}&K7bPFe(zyj0Ur<-GI|aMa zC~O3`1rrXq&v8P`SOVz%-o zB97%?aF)GIkW#?uAb793jW0sWBr@Gp#8!%Aa{qeyG;)SvicVo(KB{ZgPQ+Cy&$X(r zh@r}SkC=u0F;2}+@#KZ8=KqS|{a|KEIbdKDQ4!U*Gl>hpbz5YXA504HM$^XM+l#(pMx$ z<0USuRF-D43%EwHG;pjOVGo4l5x0Qln1?1fQsB+wn>zqr`Xj!Y(yFBATGeO788*;s z#3xV=X zpnZ!NOC=Ygn-5L{8z3T{&xos?t(O)L{GwG@R_qQL8gdd?Hp2>*9#g~Gi$h_B5VqyL zx>U}?4>O}K$c7OaCB1h*h$>qqf5vcu#ZF6v(nV{mBEKZLY{YAjIig*D-fbM4y zt9?!4BAWB>GnDeN|bB|riXC%&?rFO3r!TeLTJQ`{$FKjUV_dojpD21FVBcE z=|Wc*A1**7q-pr7c2BQS1r4Kep5tkHcskQ4;--klA4Uw5LS}je6mkWCw<2cpz!R*D z>6`m^3Lw|P7kL+LZ!16+8I+WxoF=Iq*9<=uT@la!jQFQwGoFqs!B5{g>C=t_LljfRWP`6J#}QN|y8=yClSVClqL(Y%wi zH)Wgnjb{%ne{joW05f{=rr$2@1DLq}X6z^<<-A>Ru#5a<1k*gc2x@{1)@@1=UyI|P zp0J$E*RLGCVH&CsWDXuPSKJjb9b3=@l;xuzi9|K9tXlysLW$!@z&or9qfj*uP{dIY z=f8|tK2CP}*fD_iANMlBntG`*4m=*z<8g?suB~ez0bCWQUmapAu|ePRj3FdR4TZ@x z5r51nUiV_wVxmq0U$>EF;plNHD!_-K^+*>)Av;@|1Pyj*qV9W^Z7jbqr-I%RTt!08 zjT9z}-PC|deW?M1SROxNO$fNKx7b5|-Jk>OvJ4Hca6INZ%|_E6a5x>3;bu7_tUYc z={gn!^98Je_C?S-0c6wNe`HPrI*jZveIYHYEjEANe*|P#=u4@!kFmILh{1Nh+nN$y z{nf1E*Rz#Y4!mj+t%A2}UG!-@X0G>ajtBFA#a$-Z9~+bU*}A zY}0wUY@w{!z(L#}z91tCSt)O99a9E^`dS=A+IM0!l_H!VN=+z&_&U-Axk@fl4psyg z)Zq~2xJ}|}@}7dRa9YLYpb+Xy!R6GCz)NgaI`0MOv|4e!d&+uaYniZ-dTIVasva1U z@g<@B#!fNHf{iyqLcUruMTzGpniYv{L1{P-#zf?v^J2wYN6-%1LI(Dc_vyT_7wETa zfNDbS%6nsLn$TByt&inoj$AF)=Lo)FtL+}USrYrA_@s|w@L;K2a&)D_mG9kVWj_ z9s^teW0#4<#jSV2z7)U(@isrnB_UDu;a_IQf^sOamD2Bnkm`aD3Y z4WV;pD@l&cXBJ@>0bC97=Hbs6%WKACON_dt1jImF(aTf`zpL)~Fb zh@XCY!~^>hx_sDFfOle+`Am>wOO->I(DWd7Ngpg^7-ZcAGO!)QlCY<@vhsfs=j9m0 zF5yE2KZUag-q6~-8RzO(6Z=xdTNQ75#>=qgd(wjf2^OToT*or4yM!xrdbl?B)RNn| zTD^(ln*~jmiCE^9LYSz52T@W^ikOl7u~NlJvLRxiop#_HjmW^iuQSmUaehXO2+7M6 zW;2dBd8hn>BqD@2QbCrIBLaU61bOdBdQyQvXbAU<>lwq7D73?9Eo4P3_7zSmd<+;7 zYy0$!d427DTl`#L{JCBcwcC^Bese6O%*09xUAu9@9XGi65|!VJ}m1>J21& zQX&pcXrAW^avO@c{$a!j_1a%Qu=FO= zj9UX-oqoYq9aK|X5o5`*fSEz6Wl<4pP?U!^PF^@G;;D$+e@C1dj)4$k@-BT)Y1!Gg zKCsH=p+?E?XACXj+M$aPStZ`3kR=Hgk^$?ex+1n45Im8e3b5YLD=cDV>AK!LOecJX zHN^RnDB~S5T0EZ-|JX}s?Oyb&NiRtwTlgH*XRBgfqLj{8VXkzV*9Kb;H#kNsqfrGA28H6$kVgxJybhbl*((qlp=(2_MV zLzhEIbQ#8j$$$?MB}gGPQ2)#e&5L3SV9zaP+~j{9bE7y|F$@zXcG|!|532}9DX#aLQdOZ4)Mjtm%mGh{6yQx^&vABaZLJJT&>&;==#p&IBNkJ(BPBtCtX$@ECc56Wz@FR^^P=DK3u zlAqhve#V^b3YcI^DP@uGo#=V1f0`&0Ag9nIvX&uV77H1&n7x`03Ja>WbnQ&aXHvwt z9~^XyiVR5}j4J(w);Diw5TF{7kKIL5BriMSA<*_ONo^qFvh~2aHL6mVF z0ZRMBSH$q(Iyh^)UQ+dln+lAD#d8sDBG$erpICYzQ4T`psg4o$CFV_#paj2U6)2!d}t_RGN1K% zrSk3nFKSm>52kpEIJmnGMhQ5`mb|nrZq7GSEm$jU#{!9(&w#lMMf2lL4@ISJRVi7^ zQWF|&dhSas27pZ1(;rAxUDC6V1kmwB4ZL`T!5b_0IbS4Pd4#{8J>v4{YgE{}Ev9l` z+;Sfz`R}(yv1`$;fed^i7w_&QRyI&#LjSWOG^I*CU`B>$k8C5qG(J%DR?eDdF&s`88*9FG_OeMa!B|d=sFNqIQ z$st#9MuwczpnjCf%zkFL5)9$}Mn*Lpj0oaB57j-kYC|1(5#L)jQ2l6JPm+mz=wF**#JR-R>D&`KDufv zkT@%#4W}2%cBJhuDT^X)VWY&22Ukzuw!jKlNiS|m51qvCj~G@uB8$L>?WsWDr(i=4 z$qH~bV7)axV*7pi>WD@Qj8mk_&sPr|B*wduE@XJja5cnM(ev26QcPZd8tCHC5kfST(DcG15ANA=2B8br-kmUk>-*0dz><8eAY%Q#S zdB?gR3#?SL9x))kjyizXoOU5ahROD)l=kA-94aAiLFCn=jEe7^B39aq z^LbmmS_hJO4r_HmFpH!R^nlSIBjH&N)5}B#X%N#fIR(Uz6ZE63j|jRAqK>7RkdisfY-upCL282gd|yxu)VFLs@_X$={jvod-E-SQt=v z{Hi`#$c&B@a^5eC@>H5VwBs*6C21d;`U3P{>?iOiY)i zCHCFiZv))Xce+qUo`{h5%$MR@0rykL_OG2|Ep&J^DhJ+ccN42rNs(UbGDH({6f!Io zzvAF>;`FgZ$oP7&N5N09NA`2;A_)}HidmU2ZJE!``U~*%hmeKdJP$Kk=3fb2VR+_p zU$g4EoI`L}HUi}_0mSWBA?FVHrB@$bI75Mup=ca^DMzBYl229^3?)LQ`^tr(gv3OcE1w}ZI1S*DGyD+`83GY1?)ppbTMkqd z0@Y=WpD0N6l%sNA+H#*&<=?l}KZcy$Vz@`@A=;5;6G25Q@uiN4vZ{NT9^@vFNW9cl}ehG zsZ=7?oKICmAbA<-I~wQQ{L<)IQn&Ns>fj>9`Mn&K{qmjt+PNVAh?u_u+yvf9xG*w; zlAjW79do@}MAmmcKw6|@^z!Y`Rv*ubetwMT*9A_=3=}XJO^j{lVuG`#%t|Ct zxi9azFZVa3`eau`rW-OCgIq>YM57!i*T4#XcxyVen1m|; zz;;bEk^RBbP?o3}tGu;>Lb4fEKt4+mZ>ev*kO4A-D~3T!5J|&gJ++3fQkM}xat9h3 zczo|^t~&sLGhif9LB4?yPjPimcFqnu1%JZ^UaM3@%+RTn7LFD!f(NX;m-mjZfFS)A zGV0e>WrF!;5E9t1e+kMRBVd>eioso7@dFA)BOvPsZ?U?7sI7ew?6vLP^oS{EN6ZWH z}N(q7c6@H65Bb`Y6-->m1$4O}~?+qWmgs&l!>~RV!8+%lZz+ zvRvJgo$>{g=zz`B8)EyVBK#)1K8P*NQxl*@cth`sYyjSa+nb}Vf z<5;x_$`SX0V&Oqxq);zPkVV9ZxE>ru#!X<2b9P8;&ZBV_Eucz4#yjA5sT zti)I1Uxu84`LXV2X_h6gcinLrIcE@3%(AD4jNSsAcKy}YFd#8TI&fXn89z0t+2$+c zE%8Ar`+e6p=1Q|HbE+%ix{5497fq6O_rL|?o+LPJ_dNq17wlM@zkO^9)%0N#kPbOB z>-TBAJYprjvL(J;Ug~7_>ILa3tA?*Sb&WCSkx?> z4!r;~QbmmQja5}Xzp$?)X<^Mg49)Ylw91prCls*~Un$RH@vl?3ByK$=O0H^rZtxyx zLz>wpPt-Mro9v&eR~L+LyUOH*jmJUhq3;iM>!Hd%DfN{t^_5qHpQxU_gFBb#8w59k zsF|&t3>vCV1p-Kwc`D8#ARiu6xFYu=bdWsp4KO%38n1z-2n$?qG$jWVczyb5Rh6-- zB;GCYabVwyzfjbb%n*A6vlR4zW=wE(Xlg@@ThE=S)0FFhhv{&}D7v7$+J(F?NOZK+N zv6rkcxL(24h#b0z3}6K_Y8KEu?ua>1AW9;B^J`nioTOpOM`Uu!RK?lwuE88gzc1GW zo#L#dSGGwf|I*7d##qDhCMs>%WtEZi;sI8`)&eKQF37r^v$Jw(&?MqcdW>pI6RBve zBnPhte|}jpFpL>rTL0!Q>(X^`BD1B4mGtU9>U^8c0<``1yZkw*G}is2Al3b%NU$~s zaBKVV`noo2d?i$w3qbGB1o`e zuClIiJ+_e$6$S%UO=j(8pwqX+&Dc4XCxHl!rcM(N$ye{4oIDX9S#9&u>_rjW(n{I) zlnPl1ukNT8TCrbO70fZ?sS%)4473WOF5Jk0-P+@F86_kQ`GLa#qHxTgF4Z_R{nt_s=8V0-xiCByxY z{_Q!;vd_Sm7~Pra^mfP_nWd_ z{ao+8y?sC1Y5%eY%cCQP!*bj1zgVZxPpL#G-1$9A^)h z&kEU+pLB*2o@!D_YL;9vlDk`Kjs#Mez>WoA5cd$rHYH@7M4CzqoCElMzmk#X9z_>M zQQE6p+Cx6|_iYG!y-QR?;31er0i#*4VBlbc}gc>rjlk1j#6cn)`*bD0&RvhznsoD?~Ong6LY z>$NnnuuIO`yfHs(x1y}q_N<2{-me4hfaY}{Bi(cAdu2K))9uJ%^tTE)#D;N-sW#(!)5NS|Fw<DunU8&T(a{#OH*F1t!` zv0#?n23mFtB6HoqP}*Ifkds>8MT29i)q>v@cB&w~&J}W8^UbQ1*Y-xQQ{{e!{L@T` zmB$HIccr0-KnuKod&1a=+=}mk2{g4PGDX9uSavxkmV^E-EK(WNDElv)C_gP-14c!x zjMuj5W)H7Ly}kd(IDbthI~)M~B$x<9l;?sU3QACPZ7UVpc#bPFBXgj#C9ik~wjJFE zg@b}eM3I!FcQKc$g9uOlgq84m*yByF{;iOZ=n~@%iUS zJ+wMxX2h;L1_{?x69$c(>?kIqhs(YLkQe{D^@f1mH6ygr8ZMQ89{vMFRW2;4tsQfh$2?H>-jGuM#QBzm^Fp*77A@=#IO?3)uO^*11z+W4`>d4OSE=I z%y-44R1w>KnARCqw(EP32lVpSw*-k8wxcccrA~Y&K3Ef33;+ZeXg)F z@lq!+1c<_g0o34G=%c`7IP|6}+4Zf#<4FC!${eR;tw!B6c&SU*QMg{z$=f}hx7$21 zIkFnbo@(>Su|xHC@j`wi`{87>t>0(n;?w!6Y}faF9&n+Ti(;@puBc%mYr!gmS2WB1 z(Z0P@tU3@4faEb{d4rG>5T~mrWd_~{Og@(k1tSE%yDqyBSSzcI1~qqBFYb$m2Fg%3 zMN_`(TfPH%@Dec_Z)*8@|-4%FgX#IJG@Svb?rCOp^WABo+|zw0aJ?6=!C3h_Q?Zbt;xFtDZ61w`D2oc21ctuc3St)O9Js!inw|CDcjJL`xNz_R$2%!&;5vG>st-P|E^NCd|)*Q>|C z%lnU}tT(o-hlA$tNxl{D?p0~_?BHp%$GE6U(nR?7v6rwgjMM@m$JuYJ2M^K$f9I*J zr;v5RSI7m%oCe5EX>aUJo(1q;&rev$NlQ<9VP0zh>W}|A_uEQ5*c}+jcsF;~ZZK4u z?%lGAA>L^#DcYGilZs>hAZnhT4+EArO?j^=?~M<>UKwx8JTCRcg05mO!qGmcc-r+} zX&6{p+iB@Xla$`0+DsY5p?GJOh*vRWZ7kL~e9BV&^I=6Sl+E5?gX;6%zbWmF_Keul zS$r8E^Us$|J?)^L^Puc@7FIVMaDs$lu->$s&A+>i26hLSX)jiCg_fR|;CsivBC-g9 zu-=dM=@Xd|t|I0S9LpPz^G9HBBmgfjT-I{JK9@uUb{c{!UClq;2Qr4R(H*V82}OZK zS>yrJgUorlN^w4Zm>{tGzdHPxbRIJ zAG;B=vqKOkDk?6l5pC&hve}jR#x~i6iSqLDA>w`jc1w~RW1+>Jtgq54vT4V(%N5BU z46{u;@(I1d`q02dk&NGiU72rwZ1i3U zElr|#`10T{6nRqw$;z<10mM%HIT#9Q9gKhiU^W%%*SWyo2di=BPU|F-o#dCwFR`W+ zF`Hma8~naNw8V=}Nwh#N`0t2+O~GM9W{(H~FsUp)##mU$pnwxGiEk_72oGSD!(f0l zqX#>Ut#kDIqTwH>R4tJf`>M7(IggidY)1I_K=%cWDwK~9WWvw}tP1#N?3A&i z@-J@Y`uw{Ykxa|jWm*zGV&9*#U5nrxo5s&vl^BmQF1GW4b$XG8yeG7*n45IHaB@B&fQ?K@y^1|iWd+ZZ0QS!_a^xHt&P`N6Pjo1xwk9BPba1$*PJu|BM< zE)~ALhpgN;x7;UX#Fw+&=^CRTgt~V$me+luH61r?!7Jjw-D?yQjQ?Ar_N10s9?1bc(B5I#YN3R$^tj=wz1__!u& z-+?@yHPE+P9cZrxbQa8KU$X%F!jJyp#i6szmZCp;K5wig)iOS$T0(uBabj4^o1_2Q zBk9FkDCEaM;DF+dEA_zvC}4Qu_{OWT#+;>MnU=ZBv^2igmx!T>PLMsaP?zUYkh-DV zf%y@%T(G7Y2kvlMbu$RDh|`9`EhU>T&P{c-%si+z%orxqQRFYq9#!XfJk2msr0 zAnhUE``(C~WI}8LMCw`G1HN3Sp&R;^yRFV@7Y!i^C0nw^&6kC5!B`^S zXckmRS!P-pLMh}C=O`SZFI%RBzZJ3lcq~}_Av4wW)t*FJW*C3@kYybOZVjX1>BIl@DB$@6kHEL8ZC3zXki%gMjN6yEMy00`-KKU z0poxhP^ND}Nplk(Fd7MkhO|G27ZD|3wx`l8_J~FNFAH=k(Pxj?a<8;^`Q<}fMXap% zkZ5U|2fx&B5q1x|ZhN{FNVBMJb}~nzN*8N4ikDU4hDax*sW=@E2N9S#g*z*TGvWlK zF1mz41|p75l;!IR>d&q||4Eqhs<4+t%iJYeK-a!JW5g`cp$|fgI4bW+8#Im&?H*97ih0j_{|KL! zi%mixf)1M5;C(JM4}<80514m+6|6;GyIlYpO!t6Kv&HYr@D#1usA@+E4;!hM zD|zCbRH%pxf0VuS7Xw@B2Re}^(M-m(I9351rG4%a&b`L7&>^AsPkA$Y$l4K&k0v!y zK7*fL9Ulm5f5=LEyG)C{s4sLflvO6Y`DS%*WEli4802ZxjmcomzD*u7BB`hbaV#Vp z_;|<#-Bc!R(c#D-6b5o(dij`#V<}Jf1R%AqS=XYuC}O3(U8Dsc$G5Z>=b<45eK2pA zMi=sQlIv$|i(Oy3@TtCMLU!$e?#+_uMhn2uw<|6SmjEj%V(De6Ly{-p zp{ctma;icekh2S8wva?8ic!gQ|eUPc#vOA27)jOf$%OTOR zVDjY00_A|ChGlfnSnei8th~32v{*Mb-w@Q1Cl8|ym0A4B1QBWI&7ulHolmv#g*Cao zcvhjDgKQBK@s~Cz>X_>o9%fGhN_`<;I z6zzB*w{~60v6G`&N+PenLJoG2!H4_R>n3pOL@A|4D_j40r3!)O22%VGqb zU3{m|T4kRXus895(KWGu8PNonKBW_d30EP@ws@PVW7X2p2W3LEa!5n_cDVWW#2L6o(hhsKXD5>lI&X^| zqNh(1Dh#NbbrP_vJF}od0?ZLCS)+alz%h0_M)9>239Di^9bjqqizoHZyFym$uLpr<(aO$X<7VN-_)*OJ;{$VE)sr0M>JD)Od zMiP4=N~2{yG+H>CEa*$Xg6Md_RhKFo74stV#0#`XTge;Ag znLZl6{-(F@N8BG=6D(O`92HvUEx@RGG7WrViNcDGiNIr?j3FRxBkgwg>a(Iw2VyQ5A8Ph@k(SP2YW%rO`5Xjg|<~;I-!)_&##Ta743q zl7j(H9`j>sc0zJjT%Hd5X3QEXBsByqyt84Pfbqo+>N^-_J3a=dlD=!eRdDs_XcVw1-`?gndz|W8SlJU&Xd( zi2z0+JBlKSlfHx4;;u)qU{%=OR&ueSiOKu^Dl2l3q?m2zQ4 zt{a)H2E?r%oG_=nH%5bP4(h8V~U)(m*9x(QEWq~f->_7o4=k59|Nf5`+ zh?!Plqr%P{?+JT!$=#iqMgT>Q4ClUpFxV?DX-m5avla0-IGMSU<#-Ty^yD70l^%y~ z2>WH-F`1c=hwyl*JsfD%j7Xqm?gA}9K3xO%18Xz^pOOby=ZnI184NiD+j4?(-r0)XJ^kPjh*z zGlT0Wf26)#TMP0B3RzjN>@D9vhHURMPAqmE>mWZNPmEqkA=dr}bVn6($G2^b4aL9j z9FxQ5Ur!5AO13sK?(L$*?G5Fp0R(QsbkS2^{l zVQ)Y-Z>trtPC>#wQ3@@yls}EQBGn0CvI@TUlpV%Z4>C3Qx49y2&4r$L#^^$Yydv(0 zd{p%AL0MIeEPPnExMPs*els_!_svflMIIq03pwN3*!70sM@-rw^B> zgm!UfFprIqA_g+W4VV2?oHIE1CU7r5RYapCT4wp!@5L9@ENd?su8CCyLZRQKQqH~4 zrVFk%mQstkhfF14LxE`@l||Rq3v+=bJIqj}EMCA$B45#qHD=O&jO8A!fThqf%Lj9> z=9foI(GC&^Un52jz{zzbWBg_{EbX7bhLNs5gQ>DM4!MAKYa~qr@T~~jT?~0Jtz=dfr1T~&(?E5xF4{{E)+qDko8Ws%d4^Jx>M30E^B2h!-5qGE!idcECeDr$bMb4?g_X6K) zXB1ft4m8(W65?RsH-?ELnVQLotg4Wl$H4oMsjVl(Tw(O?GdQ~=SQ;%z*}^Xe3gx`Ib$a#9I+9ru)A}xT^P%cQrh6d#@fE?7VY&u9YaU9uZl4!#%wAwviPNGc z7ka|Dcfu@)3;WIHgY;n)QPfz-1-|Uu&!DnG3N5pKAX@61wxtBh?Fm>VRAtrTl@L>a z4nzTBh&(QEjy|$4);qwVd0xi|c8PFC3YpPSz6IO5!!q}Wb_h&l>Wbtsci?oYD)z;#C3q=8L~7a2+@+B4G`yj#qg2$3QUvkg zLw6Ase6TLAdMQm)p9@K$W!5d{*+uwfa{-PgJ8gww4HYLr*bmVX&{m89oJq~z2{;0( zbk?zz`#x@9@NgNy3w1@DH6L-@7_v@H=q&jgFn9FZ&6PzJv2tGBMx434%~;T~KDfqY z9yTwZK>MBndquwNu&(0_0?Ym&jHYr!_Q3WJjH;SO7djOzVC=`9t8}y0p>bDOLMis> zM_aZGiJ=$)OP^)d9m)xO?tvDFa5B4}i#o z)8yvEKKSO{vrDsm7NOAhc*RDM*9~H4u zUfok3PJrJdhQuUyQ$G~wWN}*{!@%E0%aLULT?)3r{7a3B407=G=5@)P3@Z^Bwdow= z4F&JQL!+9Nf*~8V3@BM2uPwM_$)W^WX4`XKetYu}F9YAhi^u51{-vTM%>hRYm>q{O z$yU~oSULh!6=dTr34rKc;R2}@wK#>`5y8>D$uA1(sgq3c4|c()ED3jcT^5pPnQd?N z00F(tg#ao7?V(U-S|UZ~T!DLNmI;7?I~gNZnhPX&I8JxH86nMMGJ~0_TLU!lP@@;Z zV%t_ljEJWUV5dKQw?XAcP{do-`$rcauB&RNnxz7sT0FD!SZJLFD@q0n9lq3^=e;*d}JD~ zSbQPZGe!x*YGUSIt*?kd*YoZwVu~zDv_S5)pFDnov!Wzg<}T3!Tj%@8f`6{xeNvuM z>EYx&<&z?rsW)Mu`bzpl*GGu{OepDB+S0+z{D170^h6z*$9gd&qCn`*ot##MhUOtF z>$NTG*-!JP^KCT*igQDiuvL7T%Cp=@LhUqc`O-4d>T48mP_aPnwO#KXMXLQVqSB0< z8?FHG?sMI6fblh{7k&uJQD2Y48Wg|bl=j*OhvALZiGbkuii79FkhcQILm=o&;02ls z3|DZnoHx=5AnE|r5V~a1J?}NZSqm16%YhoF%E36s5_;l5JJ~l%rDZ-;TBNY`=87XB zKRmxCGFYH+x+_I$NDFKc!ONl54V5}2 zuka_=1&2Z=HU|iE%1b*+83K(g9_A%kFF+g**{=~=rRm+NR9dF1v|L`=>E%>dVV&?c z1=om+5Bn~)dUk69`>-Pmtk}zXpm(U)Gv*tcbPw%SMG;QL5b$514t6IfF8m`U41lsP z$GELs2vY`K$Wm#UuF`VG+unRn&_}_Whn*J9rFa1)rSPDT~ zXR2@^TDr{LtJQ={HLDZ^BM_j8%(qalziW#QkPz{M;EPC>@34}3TK*=J<@}dSMeItp zi{mL3sF0QR`sT2n-X!bc?V|pJr-qYQszz^YqMN%uRu|+XiE#5n=4=xBx(hf2beK-j zS84E#(4n<;*aq=27CqQkoeN9a7V%m-JkEvEUf&$n+Z)s(QH~?&7a?;Z_m_$$0GP*2 zbZmjb>KUW2H_+sO2qxK_YxGug1{naPTVrnm7La%C!cMs%WGE`CKI^J*6tx0Y)^n+r zGhi!L-mYVeE+gDFaL=JEYzQX^1TR9VY51(L!39%wTQW43cpYR6hfp8J%XO+frSOM4 z)Yr2AoMc7FIw+!iKgh~@F4l5}Y~RFNF@*b3r~-{nAduCy43NiSiNwf9KnrTy3HYv( z2EYPbDFks5yP^S(;RU9L3_8Y2kq^yNE_dO<7n$8|-0F)+X|+t(YPnuL$lGtt9->ax zA3+DDL!DCN#PX$MRfh+vkm?{yC}@N1(}TQ)&XD04R^8^HkMxi$YmZ!<-n%_?bH7Dwg`?k3Qf{u$n4EC|Poc5_p5E*w#5L{VWc%zO zQHzI!4+C?o8-T+22w zuUG$>wwE%KTXdZ)O?Qj^W+sz?ViI9ebKw6u%p!f7r+o=Sozn}e1s4Y*j(-_(%GSGC z6`Ww~4hX26X= z+12a8m9q2C#u+c%aXCC^;2=F3~50LG*pZe zD4id|bsZ^fxsF$7wa8=}-rmB1bQzofA8Y4<9LbSn(F=iTp~d|#w*J0Hs;a~`#;STb zoSkM9aAZY>t1noSb@5MKJ&Vi8MMMxhtGIsNBChG_w#Y@Kmg85NK7PxxRn3ehNyFJK$53ip*v6#0)v4I33;tl+NK2`J-a>=`R9n!L0!g{Kw zk2{VQ42K?i+ORw$GM(=ttar*uFFKj^ZmBM5C)WZ~$Vz=L>pg}|Plp+YDF)_c%4ewQ zF=t%R;*beg^Q}7a-K?hqz^quW%w(_=GK7XPBH*%o8bB{F6O4PIJbC=icp4zmb(oP+-{Mlz9Qe1dr>xvp??6s` zf}U!kBupvNPjX?gdxIzj%$XqFA(sWfaf10hx;`|0{Tu`&On0L|d-xhC`3W|RUXtIx zDZBq^5}XLZ5j}m0$NQC`c?d(0v^N`$^FogVM_1q>h-urMi$`xKQEB(E!_&$s|K?0Ym z7J!Q`O{}9MX&_q~pqjq)WqeFoy;s7p-M3HdjOZtp0XQvqSA9Q}{$6%`vg7@G$ViW` zkfX}w1Y4p>t8nN7K1bllSTPP@5;Ws#`?41QKGkA+r;`DdMOIu3wFksV)$&mOyYKiu z4cQ{js9E6U3RE>5XE{hWp6U$r$KI&6hC7?i^2x?w$S^kENB>?-8vP+F{k^RCAeBE2 ziBKBEi;l%{(MR*U&Wosib;i))uMpZ}0S;mkUl~x98)j_kEV-3m2D`tLf z*RMyI4OctI-Qx)wbuka6zx$H!qKjfSj!;ZFmuBo08r&_4Os6Qb>4X5*yB}uy zCtbC6XS6NHcvXN_%*ucFHQ%Sq^@vRlGx+XvwZ z(hgq6OUN9s$GS6=0Pl;wPZv5;#wKVI#}OgU0@Wuir;q)j zgWib9kC%{1m8b&~*Z%C5xFB#7#?Un^RM4_^`R za0o_qhdxc^z`G?w#I5AvF(kBjM^#J(9gv?uAP_> zECShP!gjCwgv*Y`2B)2G!#p4@wib9DbourDt-Kq)B$-NqFP03CA>)7r0)zV$TCd#^ z3K``?CO{2^H8-3A8U*Dx(bd^Ud@g~(J|Bf;s{vYC1PYB1m&{=)!|x@TUi8oH3#@~VNnbH(eP#}Afn@gfvF65 zw`JftyqEdE=IowV88#f5A4~j3CO3<8eS*`X;qwPmane`XK8BqKpd$o z2TLNKkvG;c`r7m|4wjsbT4NbX(`ikH%e;tqKlZsFy#)~tjW()!_RBHbD^ z%)rB8q8GJL10uI8WF^2CbA}HMpLNGM4qz5p037#nr2`4zmhE46T{!NUxxs7pI}URb zujVR>+jH^6@hkBG^Hl!p_xxu$_WdmXX4)~JBKx1I_E{?AiQo+bE#%}&I%neYWMiJm zR&rg-nOQqO8($)e6)ch&2&;|uR$m()zc0|HvR|*?4B1MZt-?@;m(jo*p9ldiCsca? zSj3&RHQ{%E^CHDhna?bhko&(wwj18=TYJy(1+eyU3Q|mA1dUUSO}Uf@ zxw$kXNRw8lsA$Iv5ii=JG#df9ZmO$dsflwZ*!w)-me!OF_x6zd$_O zL;r{UX50qYJU-M;5ihQby+}YBz*S&=#QbGIb^~5Q8J6W)xz`vtso-yceoSAb9HQ$K zuzVkc6@qM^czwr4p41O>@ETH3_Pbj&L^N8S>iopbTA}(6g!k>c=#{cUCPA-;J4W_v z0(lOG@eJ}L#lGKildDixjvyj^%w>VH!1j{uK+B*-w%n|%s7zc1Y$Pe2<)tdFdU;<}B89%Zv6%2FV^e+;@;(1iO#L~RK;2#~ zt5izpSqD6Nc)RfX`vsR81qWp?JMpaYTw*7P$5G>6WS%S7=bkN`H5khR81PA!LZ#!z_Z<0tP#RRjvp$Y?ifN{ zi+2=(`$9ZPl6oDC!oCBCEx(wT|1;e$A-~wJ&j)Rvgto?3F`?_iUxen8c3{scrJ`MZ zQ`Kk0Bn4U)+UrecbHC)OaMYsITHGEoCMj{*psrQwj}*ai3!df0aRhNILVnSz{*1qc zqmm}v0r}ah>^jS+kp(KSDkJ;b$G&nF$6eqZ*W_Z(`$;2po0ltMCBN|^RsES1SQgt9 z5ik6$5M4MkiHZ)S8SI1E1;H!qgi>D~GU!I;;;$O!l(H3C%{N14#cE-o-eVsZy6~5y zT)@qWx14wNvV^kyTJo`9ZsPS>$f=TAy}`DKyD-a?ri6Uw^WY*gUcXxxark}-y zbQQ9a-`%L;Q^}_S7SfV9u9p%I?5B`&a~c83x9!pw5p|j1q%#J$W4h!M4VL{c?=0;m zZ0jj2`Q42gV1B>n>)(86kv`dN!K*J!>;s*0F9ceU=4HkV0e~G5#uClFe$k-m4~FqD zSL1_FPKru?FGdX?%66u#OV0IW5>4~2`6OvI%j)o|Di~K!eqeB=yv&s`!Q#rX(GCO5 zyk+5W*rd>z6Z0+kF<*Top3xyq)Ezar98NK!Qsr|_a6jB34AqH=RC?f1qg#L68I1;( z4Q~<0Krsg;=4EM@2H-9AC76@KYg-z$8owxJrN7zkG3SSkiTZq`5@gI=M9q+@q!k0$ zpwX2`r2hv^mu(7gXay8|op#_d$jFhEf>dz*IZv7XByXk|JZk+8bsY9-chKLd-O2Kc zm|wIztrmFCf9Rt#y@q|-n8#yB6D7w^(*(0Rm9j?6(BG{4kPCRYLX0q0LX59t7465l zuw^YvLXhpODB`eOx#!A@8&pcle=lAQ6)%Ff#|(pWLra;f21;p@%(lHCK_erOs#WbD zCkw?(v>A|+Pp5lz=WC<#O*Of+QJOtasLk1LjT${>DNzB4*O{(&fGT@6@!-qm~ zco{JLv{I=c>^LsiGo(gQw`0IOcRMKD;ghRCucD2|Y~2xtXHKwWzdSX5!K>b!ZV0`d*7YLz z>-KxN<}HjLqkKz%-G!b`RWSH$fL`O8$}s2EkPAT<@i;CKgY(oTf7%UAz0~&W&}}(VTNj>P9y1e2FP~AEc|G=(||&b z3i*}*^P^YTZzH2oTndZtC)n)|IXK&eVFd-790Vke`3t(11rgpR2H1Zn;fonum!-fi zq05mOtfAdQ3`^$jCj(g**hjaJVah)|<;Dmn0|T*+6I5rAb`EqF3`cRznckc9CYkaf zOgML1-%m4xU#=Gr+x9`}4FufzIswh~tobLrUELX32{7IgAl%sZH}KcTybSB7 z*3iN-M~#f4c7hb{=l(CE_DRZycCvP9SRpb3SmLheb2|DO1!FvL_qO~ z4FyN9w~*^KWX(|>06Mf#@Q|lGxaAm(hpS!Bm5Qny%}KJvfv;7SJLUrIbU0_ju?z?% zcD;WAUMp)suZ&+m`qvu@9y02ER_l`xiWJF;%?PGYye#ufGD}k_>SDQG(fNWv2BM z7iRvzTWgT@X-<7+gobijGkY}8{g#W_+l3ePgOrv3?#>OL%EwzW-Yib5&?BpBG{4V~ z0i}xQNN)C!EwSM!?)qT64L3MbHYsyKSr2uWl$8MQ)(xLJBEk$K%~{vQI)rxUxR^;I zlp1y^)!kmu&eO)umS6VYjQV~gj)L#E!N+qsVMv1%^Ubm4|9Qt3&~v3@vW2dDpeOSKVgl)6;~NXV~t`jEHn3bV%%XV zFcrjAbU2i`;5Z4{**Dp2x-}QK-$l*XkFFV~A*tWaa|!q`U{`uD8nPSOP@Waw;GVK~MHn3fzA zmKqX3VD>=BH-q*M#g(i^EzrU32Pv#fPlhlv7kEcqm8{ERu$ReE|qwD%79ZZ z&bk$_xWJz!E)6S8wC!AbP1Io16+alQJTTG_1t8?R#LI_TMNxW5L-RM`A^NEw7cl@q zhz*)lzF<|$+wRYPyPyfQIBAES6&bgRHF%AgS@h%40J%;*j{aTI{1M zR=x^Iio_E*&~k_z;0MdRBCV!`wZ*n@49B;_^as=BhpAju_Pf|O5Hm&7Q_LC1dK8A~ zfv{gFsv0o0CTF3(;A}-LroDP3b>!WpCT?m+k>3IW<6}8Q9+;5KrRXZNEn=4bOX)u2 zx8JlkSNB|1`b+op_o+*b6_b?%53&wjgLbhnw(FfU!ygUHT$kAyXjHF?94M`t zU4heu3rvEAoWnOm20dh%oU!%*F#sfMf6VlP1r8%V6>DXJpT>q}p}x^5&8a+cC)>gj z9Do=!9LZIc|8o3h%xD`=K6nc`+3wYqPS{8JSgtAo z=KRf&?N~IbDCXjmY1V}m!(h>FG={v(!2!u6C=t%qK(?i-DY3U1dmeu)xp#_Ja#i^+ zmv2UlCj-ddIjkV3YAHoJ5dj1oOJZFs8k zU%ux*NYPKZg#Dq!czoy(B~W8mJ`yAW^#aVb`1c{;plL7h>NyTsHW@Aj-ZvWR>02p4 z`*EwoErHL+%rF$NVqb#BVhk!~<-gp%88cEOB$ux51U2fiE-8rF@FBNF3I%?Gy=_=+ zspO&vS-R}d;}!B@Jdq^#lJY(OeJIOjH63MXEeWAwHettr3$Us{p;bpq=?}m>D+U)( zwOZK9Z?z?eLm|PT@8m0Pg{<_K$2UVpMIxd0Y1t%6=IngRmfY#264#t-zT!{_4J&!c z%;T2e3w;i(lhv@=M^k;nBf*!H@7WJ)wO=we*f3t+t|5=W;#@<_#OzfWVoPN-ASepR z8HnJQ9pr!)8(s9IU9tq11MoJbKS{o%yOqPIF$)#N z)&qQOG{vP{_)D<(~cQu6!u-TSt*B z3VAPU6DCmu?;qF@XvCJ}?0&`};V6v2wX+kklT;Uw87w0Lc{fGG6D&>QqaocvxyJ){+R0ka|^65VPv!lBN=siVZ@j685a^{ zQ`|Nk8Ebfgwcthqznb1LKb2E4NbA_;1CG-LKsR*lD!982fzY zo50n?OlFez5`7KI@J?-7NFK$k6nOV^h#xv#!@^^FB`S-0{G&EXu-kQ!3|#emYLtNw zu6Y)4*y8g~mak}auYaITrb1Q4P=p=ey`?~_OCIHnSqK32cFjSih*TOJv&q~GOC5Qu+Pf6_Ntm;NB1i9Vf6N7^ zrKICLmUBChA8WMJSXB_?KJnjC4y?Bv_^G84s#T4atzpAZP(nFQvs2MA z%49ODryM235PhQ0{GCsQMbtoHXs?JREM;eaIQYT77)9!WLT%!_AXM1v#bG1Tj>knS7jNWJ2XR$?lnvn>4=W(3!mX=@)22DupXmyYNHomm3q0I!GHLq^)CX`eP# zbZ2Wv5o9G1uJHh_J(GE^-M46%dZlk~UWcr?{H{>$);60NsVutuVC=$pNeVEj-4h^f z{^OMaQ5w2!V!s;&&_O;NrDKteqElnAz>w~QNc@<&A6JHz9+AEubz2|Laq$&yMTOQT z*bT{C6)$;T<@}QbU{bp$K)?vUT+Fy84L}OKU#gl1cn2PJ!i`Ji9Na3DO6(9(>!%a{ z31AU1TE9*f{?ke`SP8o2+#7+Dk)-etm)1Dj?k7v?)eYHrN?rviKCjUylEWO zZZ9>A2ZknZc@s2MKfbZ-IAfyPk&yBj^A z@b-9^?MnoqnW4=g-bZCLM4|$0VGp^}0uH4Ac`&q`_TH4!k{L)l#F$8To*WqrMQCG< z!nc78Up4At5Q4&rBZgtKWTy;E{3YF;9_%qZ5>4!;XMDkg0*Tepl>gk|NGkm$C4c|W zGXtGmY0TNipYI>kR%ixTaA=}fGZ4GB^sFe!tIR11AHXK4C5IXFGT&%R{3W&V&5+gH z4rJM_0*a@^Do6*b5vcv~ODij4G(J$I;JYO1Yt=>EgBdELXYvTnNEut&FR9)0A3gNb zxrplP0Q*NUSpkbuF{itLIQ=jTl9H`uM37vdIL`bhBVqn5&C!zBsW>&3#mkoak_L+Q z6q;t!3+2bGMz@^QU(!YWF1-C*zg}Elv z@f|ndjBSOi^w;m{??aS35$Su`$JrL4{TR+Ql)5kh0omvcVAm0dEB_tij4sSLT2~(O z0q2tZOX~Oh_o>w?`n#~ZAe4ze)Q{)PCIO~)V5Z?#E0uSE%W{=KfarZ}q=ia!1QH9y zwC)Tgz~_C&HsikQk^W2S^@E2Q9^w!i{>G@HCA7?2W|NBrh{iwsTv5Q}?H6o~m#CmwgK# zXGj1h^;-f&{P@Wu7TU0eMf$6NBPC==F@qM{MPL~yS~{_V%p4B&S`a8l%;LXx8L3v6 zY(q@f+NRvE;xs=a>!iHnrt8=kP)kd*-eb0Jh&stj z-5j;6K{uc8FRrn+YFQdEY21<^lY^&M&`E1WK5@*crd&aBuC^Pr0GjCTc}yK_O^J-9 zkfE^WdYoq_PAJ*f2ahVI+7l=j_o1?;&2?x8vkbBrNob;xB?6Pi9R~^n^!;{5HiC)9 zh`vj;dlOh!V~WOp17e9&hf%>+qiL5Obq-V3{i>5JrDaBdeLf&yhzz4+v5nkCnCGl) zI`VP_kr$LdXJx^W?lG5#V&gYfIfI{_RUVUX0$B+}artRzYdu=345|(rIJq1tqu|;# zaB6%})C^t9WNFPb*mY{FmZbudM*e2VmTS>}w3}Emgsrr**CstfFREyZxo|0G+Zx?; zwUAQCc6c^Q|KqoVhpZ$x$~Qx{%U<46XwZ<{XSPqYfaswB%`h=e zC`?MY)x_egX+O+V+Nj~^8+B$1QuLGKYj$4eKAlm_N`m8_1mVs;m2@}}F+L6G926PY zMeX;oQ~+Ny+p;K>u_Nm5mJ4&aRQr?m&T0_g!%I1;BM7m{TZHF4#JQqAvOfrO%EjjB zh`RJXvUFh5xF^9pA9(PE3!Sw9_f{8(Qn<>FE;x2U(8S%cxk)Er%;*mddB{DX5GYp1 z4dv8jGd6#IPWQtWB3>{WF4w= zyH+DmcAl~&Iyfdo&ts^;Qim;I!`O7Cz>cCV?X>4WjfgzvDFgEL z_%*vy%u0dto&xK9*!GmJYz&iV&{;91k`e_Y)`mehL=3>#b#R#F%!`d)uIHrz0t3D| zpL+1hStd@9s`LR$?rbI0D_1(Rm_X2^)L3S!prOv^K#0(lW88BUBeA%2)q zPSFkTC<3A4yR~bVJr0rg4+%o|6!ciZ9k8V9_=Ovxt0;N8n!`$x0F-svU1J3di@&n`@D8=AvMK6#V zE6XSb0<&Fjc$hFY7UU24P8tf@a$std*Qm2Nf0+XrMK;yHRLo ztmjvT65zZiKwNYmlSx2qTnbbL(S9}CgYS;4N<>##)J3pAU20Mqo99!xR6|CtjQ~Z} zQ6>7i_78ldfm)}G-V4HO)VHe#hpVE}NIEcS-t!+H=wr_2Dbw5A{T4CsE8KE4&rFY! zW`(*j2Illtjv)ezQ$?*Y6ChLGK-FGKw-A(%AB zH)DpMh9NNS6!!3uI5;61^!Zp&i$3Q>cq{0zA%79C!Mn#^Wc$|_8ha{k6=<> zkQZrPxUP}aprA$dvn0G+J?5gA<2Pdl+dN2c5xiQ~{`wfvS*4E+<_NM^C1g8_D1Lh5 z+T2CkH4>QTw6gX+5YTneNeU*1TLxsU_;+F}U3~Ljs%lW8u!@oeY+~lz!Jr(shPFF) zE5fd-tDyoU0J7?g%xfbmP{_i1$_IixO9>{2{1WoRit2d~3cUTW2K{O~kA7)%g~p9Y*pd~ zBL!_39#{}n$wLkx#fy7^fJl?%oQ0f(-Cb~p+)MNdR8lZG)Nh82@FrpiSZG`2%Si47 zgMx#{JQ!tx61{3}jPLDU)CoX`1#T;~NCv>V2B8R#4L=!EF}H8VTne67R#OPOWi?a2 z6#7_@Y43#LufKm*jNrlPHPEiOqZJ`?M{Oa?aj4dnAtjg``aR_S;I_!#b8cu)5==&5 zr)x(%SeXMVMBBwpI00QqO|}ixq2^@{nkqt?5a`14E(Au3Pkp|FH0;i3vSMG`OLZ7J z&60x2VZ6lrV8ud3Q0&Db^;v6KTvvsKD`P@r*;8LKc~--1RB;Uln1rD5f$Ji9h?tJK z-ckb{GMHGjXFE@I$=A@tvxRw41I^Nc$>Ej)i}gBBU>GWI-K-Wof*z4&?gp$*LjdS! z(xQk`Nte<%5=+QvoHjiS6|Fjg!NJs2uiy-D>lP!81nQf$hOG(26@LYHm69wim>k1B zX3GUn&)G_Hyh&N`M>qm5>^@W#Sb}NLd}+18tYIf>H9t!3a@25Ivsf$K19gjxzuPX`N6z;L&ydMLL=8hhTv< z6u&Mb#g^1Fca)FAPA)*9e1x@eK#3}PI;j9lQn=`Zs-cn=OpfU#Za&tg99XqB!3_~8YW8)Cdc~CnC))ER2*e1XlWQsp0nF51BTAYDoZRO za|thRjUaPTHz%hzo46RvTYn-sm>lmp5T@r_$iI!7{cc_-Q4n%jFkmx)g*oTt+y#~@ zWANr~WvieAWrJTKUm54LB56PFWFSpfabexfl7q>ye=}sJ#JC_urjP}S&4nrh2pA%; z)g1nmrLqDa)(ba>qbcMO#gX)1g&lcS$V!3no&u2@dVc|@Ti{is{5uZU;O}*Sa2r9& zDmRT383G`~!blB0B1(k)(m?N_0|{t{>S|?(w86vHH)59RrW@pHewG(bZk8ZSz6-)& zRQWi$#pVxq1G+^L#%By#i||lFqb1E08!BeKp$7wCoRQOUGB6Fd-nEXRr2vQ7UOl{M z%QA}OJyaTHD25T+GRfM3`dNZ7`7Q`kCB6F^G8tGL3}_0tA=$gl-5lVD1McR=mEpHN zZ`eIh0fUPAbiql1bhQ$sLBU|f%M{66ccBs5x}7dMn4s?p}7%OL%+8!ZB40_WY?kU1tzKR0~IvPsLPH8 zPL+=bqzRMnnlON+-(SGr?u?%07t|$Iq8ikSq^&l&lyf!#IUgqj$qzkJ2rs@>lV1j4 ze!q5h2MY#3XrnLzQNmj_7$O$U(TvDcoy+CF6Av6&tZ7L=K} zegd_1CO|}btkmeLW%ZcZ6OpA>Ppx^Q5@1DIy~BWhzRH92G13hmn8F&HzsDtgi_XCKMN9#idh-(E(-H$%$+yKx_e+!)(Bor zMA3JS(iksw=j4u(6Ho|8Hn_d_szEWmT*`qk^@K;u5{1ckQJCkDe|-actb5}+lmU~( zy4XM1&w#_sn8zZpGTOoxY|`K?f-CNUb2*Bi9aR8U!KmHez(oJ4x>=$y`7R1mEvY`# zpwzo^uId^HA`mor%mXxH0~v+jC^L-^g$d`LOR#TGvZyr`jFYXRvs}|xp#e<3EPr7M zJgjD$IRiomdP?*_{su}DCf_w-o>kmX6GfYw88xm!lE>tog4Y8m2PW#SJB}eFrw{{W zSO#Ykh-^=n$B^}ao&o{8vI)Fy{78Wy8j-hMLVRd-s-BZ5Oumc4d>S+GY%3{HSGH2a zZsr({qtSq-;*J$bYJM~@l-pn-D73?pntwH-y7wa3l_d(3@1iiD#tdsu#uP!-xpg5s zCBo{LtW9!|jq+-#qNb3n!GrGol=TWSyaf=ybeS3$G(XNtf_GV%ikQToUqKj!`yez6 ztRMN2Deo{M7!0z`Yr}q9RDF!9yXz=|TI=vo9Y)TAB|7H8st@~M>e33uBHYggNwE05 zSvV)8ANg!wL(W4+W!W9k>Db&wP3t6Z3Zde$s4fsu%gPuWR{^V#PfRw05VAIIL=stP z$X5g$PU0oV^S=3McPDv>Bm@nQ23aeJC)37Zt)#fuOWXqOTG%xs; zYb7w!hvv`kFQ3*!Mk-4brueLR51AzV7&0IRj0Gw>KHG>qv!tl~v-KLq z-^mLOO^PtZ2hB&sGQoI@7!Y5U69(;rr3Xpn@k*f2AL;mmuORFpXHf(YOGn1qf5y2up5_-0HFKK@iFLP3jm+6F>=7DkpaE8nvxd6k%2*Y?23EDuV%p5}gjQw0m>&8GIL&o8X8Kg&^o=Fnz_ZqJ?MlR(UuiYQCLHC<2H&S~E;3-^23k|E`C6!Zkx zfR}M_*=4PeB?wbu{c6aSf-y6L!=NRMvnUGoctHX{2Tj!GU-U8W)PLjw*fGz zZ!IMUQ)0VDJf4ZIP=*3vU~-_#2iH)tIMM=3EC z^^mQd-4Oiq&>;Gd{+d{7@KO{2FQ>1wr3O>txQ2{B+T*=k<7QXR0K+mwxdhS07o~JS zL(@BKYtV_g4~aJ5DBO=ru0ooS=1^rHy?)?D5x-b1c8P8|oTUa+ z;=INDVg93&1N(x5`jorQF)w0HfMFBm@(>jXC}hHLba5_s>IOEdbl%I^a;d~9WTn3p zZXth|OB#e1fyvOdwAc2uwzLnl%PBH;Qi3vxJ=m><7s>yKQp*$L*@FCG{7m-K>Ho=g zmcx^;iMI0g-7|e3OJbl+_7p&UFqdQk6djys&kR!mtTV*WJ!((xRQx8ZtmL^c><6Py z46Bmc9j9Q(C-e;#%9&k(R~UB2gq6PrjO*)Lz<}SZo#VQf!$Xl5idZc}-TFY=D=3dx zA>wk_s1A$^G!f|(30zW-xPT(lW{M?G)>&m=`jJfF2(Rj~ig+mEd_>F)v^=Tp*!RlY zg3sue?8rAJsPa5c%u}TRdq9N0Ly_p>tl5vE^p6wd9>BvC4T-Wtj5>lF`sCIN=0FlQ zBPmLuT))k}#Sun*D&BHF;rf$lNMGaC=gXm@7t!B?7xw@|ng&n!LeQo*%o{2SiE*Hl zd9oIzjEivdtFOrX^W)ydM1PXvyjfYHYy-Aof08NeuMpb*N20+p^Mryu2_nCCTSveo-#VL_m-fMcd*nkL~dU2nYE4ar#{ zIfEvZ`aE!%wRVT`#xXjqy;0)QosO_V&S>B^SCs3Dyvci%qdejok*kc>jco57!r9>( zvgM_Rw+{xeB_~>qtZB96UJ$S4WWoi25kU%pF==J6wRI38#EINf2$rl}t5v&iqem?B z%)Uh17~SylF$G3CuB~CfIldT5dZL${54k__jx0#a$t*A=HXf+ zCudN=x701ulSo4)I2C?UT^P}NRFuFNZFK3)9~VX#5wH_$(x43qWU9zpR<3SRddPOB zHy8!_{u5}wT9Ki&Cw9qsVc2Ex@Q{(?M*Sz~;6fNyqDE?jtjmOSowi+ z;c=3&aFPH_f(WCKaYJE7xR}f&PaZNl_2_?xwV*ooP#V=cyW|q`(;a8mK)@hiAKoeu>jxa@5 z!~oVpvjKrBO+H(-5$EH zR^+Dm!k=T80SaSD>0kJBlf>t|k|SaeKTl;R2XxAcuLHny+z2BGh7;(}l&O(c6l4JZ z<|ysT3mZGj{GDDgWl2(U^;$Ioi$@39ejCgX5f`3Nxk(=@;--k>7bBKU9bmpP-Q4nc z!dBLBrz1e>I2TL^Q1^V5LI@OBZ4;4L0nfG z=JI#NiHrtaVRoW>K{z2Rg#g^x8ojN4UyAgKcqrmq z*88-6(>kJy7(m5z-V{NK_XWcx)b3WniAqXa)0ExAgn;R(Fm6%xHh9k!@KnI%ep5VE zZ{TL^!;>!)d&NGB-^RYgvAYhb9J)PrQ~>8gS()$bP9@LABnS}>1#CSphPN+#O3>tX zwvpi1w?~~y(>Hdk1boYQ9K470kw9*uYH1%f`#T)l`Iu?p3+_TFgWAk;k>aa` z%Oqe7JaJq>vU99Wii*9be*c2&g+k+^8?yQ?Bw zbppO6Je;zg`qK_G5s8+@l9w#tYaE8ruq!gzmYD_c>Iftmoq-%K$C#8LA@#Bp+SJuD zlyNtT!&rles|3J(Cd<5B=rXqIM0_SZ0CXQltjn0Qf;%&gS*2btV?ZTH{gvUDaX^T) zE@+GEk3(#Kl21=(u2$^o8H>}LoW@esbSR}}~cHHEB<7vne2MWm|0vXEsh zy6IG*~b!LvyZ(tk65$l8@WUgE9Ysq$K{!HS>#6>$o}wSNE)D> z{}G1-y%hTpD-2J~zD|B0TGNSzf$MVp$GvDZJ!lZW-q;O^k_cO-Z3rRxw^A}x#L9VE z?Hv)@BYT)3bJ1*&|BJMN0riljt$fe$lJQ(*3}pw*Nl0w$oP0Rr0Y=5oTNXnB8GK!E zkdG+!;~D|28<~4rs;=usP8t;`WMw_A_KuJ(;Xe4oz*E_f2F{=ysdAdH7NWdirksL> zMTK2Ui9gt!h?#oa7Np;Xpe7iQ^^kjN8?-nD)`Pu_?8!O{6ABKG*o_N`I4bRFvv)*n zAKe3j;kS|=VWL&hBXFe)j-ImNaH-zZs`~SSYjS34xbalIdq^u!Y-asy?ASf4qv0^; zyZoR+R@&2Q?+lqY^zR`vU-g&=Vln_2BC_bX%{PR*d%ln{tRIBLP-S`KAzN|mYW3W3 zLuSn$GHyOgv)w+g=(Bnj7=+w!A=5BF^wUf)8%{I8A5lSt#()nuLtfT05~Z_{C)7s~ zYX>w%`}4d9%6wYwogwF^#_6}G zY+qvs{90|G#)$z!7KgWhDJthigdt~^&le|ltP2AMWe5v#4}xlX$aXx-{-dBcCuwf3 zY(k#bkYU3AIbt#E_wF>fzLFhfd&!WvWSSqZem0pEP1ldv>U#SIT!64zy)_x)Tm)+Y z>w@%wEB8w|D)VWvcSf8aj>Yd0=W_JZ^76LZbwjBb1s!?S^kXUu%aVQRMAIPb_XSIw zxqM5ljE8DR#9GUZrBoyt5`X!W_(UG@h_&&J4~sI^yf82enz0~)fOBvx-n{_tlO{#!UKcxI}Svk*#6Vt^Rl<;#UE`(};(X&8w( z!pV>^o+3lRNPsdn?<}qt%r{8QT@fqorFMWI9&q>X9jZ2Ef^VfESIdtRdV-;f!NOl^X^FWu|QQdltDE3 z2qx3BDC;G%-mJH*mmil4^gA1{?Tih0hep^{-+(oMe^D_cSH$#nL7sZpV}(}Fh-)2L zG&(sld;NyMX;@r7E+d9Rlz$0P&!x>kj+I7jNlg*QYs4rVJ{)Ab`jMm?+DqfjAZLdJ zgU{~&h|!?lJ^O*Sin=-1w%ufB>)WMH=$9TOj@LH?8O6Zg`mzl$M)H!aFZa?sffs3=OqCv)qEA4X(-}b z(tGTkeyfGz90$my%5@yIH^y69_~+YD77s$kR2ahNvLYUchsT=&ik`96FPKMp#gQQ% zc*Ii?zjS*K_Ntc3(YdqAVuD>mj8S}?gd;PQyaAp-lsGKlsUL9XVw##x)72`4cgOQ%SVtAI>+Gl*$=Nti?$?0oP#31b$j!P#K&s9Y_z$6hwN?xQcA?AFIY(l zt~#kdO_)@|_u+&BJ?;4tv4om3);4}0b5IhZTz+09X|2K{PqZ4+Qh$mV9_p^hQ4!yo zy-zD-JOPoK%q-I=k&aUVj4c_)7g*0WgiJA@ z3nuuuod$C`U{=IRdhOoojR(0##5t(4toa?R80v;fu%H6e>8;7N}ZB6smXk!H8c@R}aM@L62NY|(TS zv65c9CB4Yc`uAhO^2WdF%xd*Il3)dEW-Y$G4EE77IRkN`${;pwoozO@*V}wL&?d!VIyVsh|o4@6`4vy zNEZgtA`vh$qY=!!7+@=A4(+^@C$ql}M%9k`I?HJPzLCL^*@Yyx%M~Ne8vHCP@wHpx z`*b#hIi5W;`~>XeRi=MO$fJm=7$6wUy&j@VN?r|jlq)5C$j^q)SbFg@LS2B6Z~b0L z4`^A2xbXM*8i2=xy*B&#{c6aKdQf#T2eH1<;izf|`PT5+tNDOv!I^d& zB5oi8FIqk!BhoC(>xOU%m3`NBnsHMq7(1RmS5$C(KC}hv?E~Z0K|oyr>FTN(b8?gF z_bU!yS~3)+zBc|D@vl{sU50)nYc-2sd?`lP98YJPk@T-_tqAb+iXG*e_@un z%b4}0o~=8Q+q&e6a$lRbkO36Fh73uCQ$P*ZcyN|T)uI+inw&I{wB4D&gr$h>p$_a@U+;^A>^ax1pKw-Ox-W`yUk|s4+oR}cwn*50SyRSRgDRYe z5ofhpzYN$~jqk}T|xBR+*l*K;KCves$I78Vk<<7?2SCaTu zHBTf(xv$^Goa3=jrcJ_u1Vs-1&TvGjj}8tJhLAth7gB2FMn)v21D`pbF&NMSEksrj(vt8gE&@@0ApD$SGZ_pfB7u+v3e%v z1J&|mOPL^KV-qg%8gUcWoRg{`%Y({QwGxul(#|S~)79M1G=c{_TT~zvzQ~cU?KYQg z!E($LN<{WvPQK=Z+lQ$J$}S%wzT>E8c|e~QDp%CGK&*gyOLFDnh=En70bwuZ+cGKR z(>hjl-ABY3Yi}Ss*19&wwb+5;9b28QD~k$<6QNzCB@hR8$XAjT`w*n0FA+b2MC3Aw z*(9?eD<9?F!b!%v8&C^M)l*9mr~^0$GP1|4<`OXvxkH`><*0X0o?`4Ce1|^OkZV&- z!H~z2E@O!!bpU%)74Z#5jlSvoGlux75rbs90@`Oury?_C=bi>y{Uh=sm~_d&#FOv}K@T<#LpJh96_Q20=b3;-rXgc(MXIk~vBNxus%RX8 zfP|huM}_-5F8qSkgd3A*eIM8R)j3WAa;}Hmcqug=s#y`=@MIt37ZOVj(pS)qCtvnB z7{H)Rie}PS580j{eYIz5*W!0v3t}5f01@TP;uoBKH9|fSWzF@p9wH7vDH5+9mL9a4 zIu=a|uh@?O@6jZ{D!9e~B;yG+0W9qI8&I?c9=hO2>3AnvMmtAdM5HYB{2$cvCw7u` z8REHvn?kM%`9>gWkBY9$rJ10kPeY$Jqw8E)v2V!%NU?^}0+|4pwMznpld2`^{**!M zp_2i!Vt>lCA6g#!Q??pUpbN$~QT$syE*Y(;Dt38?ytjHSsGCK+kDR}7*eR^BV)7V#sp z1&2cs~?H8aVI?gafNiqDD<{p~}GWY57FR+WN=tnXlkRIhXiM!N*1+ zEA!QO54k-I;?VdjvJ9Nig9T@GFb*u7$qJ^qx2iQ7kTE8?fWm8@g)+7@MUyZdG0;SblIK7tx3n9u-qlq;E&1eboFL#_^61pBF@){fkC`Q9O1US z{caFymeCbua?UPi&JsSeE<)EE!uSz!A}a$?&x=egrmwxMaox!{q#+mR>gF2=4Sgr> z%c(LM!Z#b`Ys9Fyy+31X$up=8D`_e}6WdQ!z5}8P4Ky1f&Ee9<;8SEJ`uG!rT7;+R zG*L6D8R?i%&y60#BNjvUM_4V%zFc*m6mV6*^BOQ*Zqu>UMQ!hH zkS+^62I#Tr^36EeoQo0rEac*scyXg23gn(PcIbNZc0V~b()M+LLHn5iF{tHwBkiSp zJN;730DBiDmG!lXMuK<;1HN=^iNM@G93r!rBk3yJz}?QoU2k>lBkfK zCwz6^RL&tgSp`hea~E_Em;$anoLBr>IwY0`*9j1n743TOuwd`>+0%)8c2~g%fayA$ z00~FDG8C~Jyt%T^e~AK5<=eP9kJN_R0Yk1u5$SmWsoPMz?Vs`L2bHrqACNx2Cbs%G zP0uW~5U*XvR_Z5OJz%c&q*B8IU@nj#GN8Inz*vSr*XJw1r;Ip{f>Ol}VNsw45-5Hm zrULHQfMH%eOyBy#4&ProjM$3XhBLX)^v$YAb~-dGNn7UQ3B#-?z>lTdM8NO|t^moTd^A*XoS8N+Y;D@;b0IL%2S~`ck+FN(*?#(1N=JoSR6fa57G}|5$oe zz{w68aveGm$r?;7h#F@BwLbs$xCTgN7FR`CHC+Rq50Y6?lp&mD^?#5cf@fx&jltwaYP12qk)=>qQaY zFNqo-B$E>i@~uKlVQHb5 z*Q4qIPax`E6*E{Y>r7Mye7hv;xAoO#OEzhKCXT;!##i^=uy~FwoGx{ z!%-l44nlIdEUF*t*)`Y-bfj#;f~p^s*YkWE5~9q)KfXp>(!+$_&N2GHxIRx79rk-; zN$kOVmdr)gC{_?FT+PvwDU#qkCRog^!I}=7O5zIHYMV`(7=fFDyP0#$9@BE599WJQ zQX!M==j8-&cBU5v2QzzB zhS!)?&mxBVQh~Kw6(!R5AdWgz$WtN5>q$oV^C4uAmILk^HkN4jX@phzylQ3aYIl(e zpp8*?aOKw6>-Eip_>_b;irF8rwE!E7Cw&)JQCAg@HyM?hfBS>CfHn*D+&$j3M5ZGMfOa|XWT|hU+F~ajwdBhUM!*Cv&jZl~-)^I#ZRqi0lsgw7 zWH-CeQ?W0Tm#I%gcvpACP_8TO-|<=}*0&WbGI;Rv6mMaukPv~9J0=pk8?y&+Dgh|V zIRh%pHMDdF(C1CvU}gk(nQvo1G`lqd#yvcZHRN_}P6e!7SI%6=a3Vf%|AB^fU)kBk z!|u3gi5DcsgR&pC%L~lg=$wFGa77{IbR@eWccFnZmv0ihtB}63BDN2NT>))qVH>?H z+O2I&p6iBkUAa`m7{%15cMjdV0NI&+8dl%arJO6fV0nnzEifrXp~MP}|ofClkx60#8>KVDOz8t|N(u@y%(!V25;6X@gYi z9YqXqc^iwuf}2Xs8o$E*qc(DHDwNV!#L9IwUQcow4~BMNfw-Ldnnu`RSP>T=RTTDX zlx@9&GzCz|ZxQmj+(o&XjWg0HE}e!c9Ax&S!Ei%9%jy5f+HXxYcmOns-7XPNWxIN2 zJ2vX`NwRPvzcUl~YQiNKd6EGzWz+Bbxt+4w@Xu?!x(r5la4ZhB;0{X~04zXJ$267pYP*JPU*!F^_%-BQ_J}DrG<}^U5iXR<Q z1wG=%Bzq;e!+noI1f5rQy6IAcSH$GK8SCxc%j1D}bBWkDu~qh$fESkakXIl7h;K|uJQqZZm?cu!N_^8mLE~wjh+Jos?;xc4mFyIR@ z6jHVs95fA#tjn*nAjkqK@rx0&$YRmn*&$m7z8JY$`sLPYlR2~-dvKtt6zEKCIq$Bpz)Ptjw^CH z5ki>b!o^B(Sf<~|_7-8_QdWxx#Dv-cLCj9E<*x}v&3g5wLhiR48TYuikbx0yBwx1n zaOZp~5BQuqA=}lgA@WaWxfJAiGo4~{^h^cIQTCA_o2n;jWKg!g9`fn1oe;>}1ZUuv zlk6;FdxePjURp5SdZ>oFwhNpJ4OmC@CZskE|LuTf>B=&d@0&nX;P%oi7nB0#Qz>=( zx#Lo0wR3^HZd}ezUiPSfLlk5KE2ZDYU`~3L6-|~n?^9SHKyM-QPuG}x?h+mxi*o*% z>2j7#gc79%FL;&~-Z>G1j$?_hG45tCADd=aRT^J&*YN(4iB$(U(AM{|R??p_S#Qo; zWBNGO{3YNtkFgf+QL5g$P|Dy7K}jgHDByz3CL^uMB^RpZ+;K|iZRKMi3<1{|EpIk~ zT=-Rhc}E4D6>#}pz`B)y3qg>`lal(VkQ);Xq4si@d!)lYIL0n|4EVm`-OK6}gW$Sk zWOwTjs7M4{{~7S#2gmr4H&@8ZdY0d%#tcM4p%a;#4)ijBzkR@t^Y2iwYKq zkTtnZhIMs^2>=u~yHN(S7;vXNV)UljF8RFG{uxIL1qP6{&HF!AW?A3_?e-}b{~d7$ zCIKRr0b+{kP*oixahElC>Kbb10dk`e8%1cpWDk3u-~*_J8uuLmOO%kif$uMGVyqNU zE@SGkgoV49ISP0X@O^*BQ0^gMSf&=G=;clymP><5pAyMTG7jB(D%JZ>leOQA0_ zt|j1Z#~2k%@9@gw8($#%5w{^NctaCleyb9jS^0BW9!t zWCP1LFk##sXVIn^(EynWiph@zI9jwIyz}-_MNUiq=cmav<`0pJ{$J zA{2Z$Qr3Y`9VceU6ei`8#C7}A;}C6I4j^k%rpVw zy!|fkkp%&(hHk+j-4VH6+!m@NzaRn~k9guu3kMf=u19RYCpC9<(M_u5gNTtjEnziL zFj+KmV+G%&M01JwdCVOFFwsp8R5Z}5fwBwj7<#!@AyEdtbo~J#FVt_Cf1gXzgnJA+ z&dPbN`wz*N4{B9xaw)V}qFh@0G6Dpvr!fU?0R$ZX9q^y$@^JdB7#8@F@#DqUxdMu1 z`M*=#u)8t_ihrBY|w`3yZcz)uQf7Vs<#snA91_vbo&P7uUpcCI5Xr^P@!E7 zDpkvX-8YU6hzG{1bi2r!oc%LnFFONO^hw{5BJP%#cm2@WioVsQ8|5qO7p@R~h=)Rs z-wYWT-UxCmfVRoRCqbf{f@zv3<)P{1{J#oL)ly zXmf7YtMx>H#B|%q17t6O0zQ^tQlP11-;!odGRjzdpB*F?vs1ltaI_;3_a?GfMS>+Q z?Qz8nzwKeJ0*Z2Oee3{*AlFYjoY=tNhuG0`P{ctr>&mzlgTg*edTA>nd$Jju`%WzJ z6UJJ-JK#D@Ty9ngW}c8wDVWhomIo>U0k>>jWc*5Ip^q2cyf zrXyfv>e)Cc;7kvq+YR-VlrQN6fZKdRI#Q$TC^0$P@*RUKpRHd*;_g#^j`Bp7dSg6g zV;jc90DRD=YO3P_yI^qYpPVGzBQH~7xz{9dK6jOR1zZ$x{&&FOf;T|Rz{A;!Mv{fN zcwAS~qnGG-mTQ=GX_em%(C^MV9uqe<9R=c&S|z(V=u+=eCLDDcyDrz5v$sQgB`t-* zF9mEj@dmsg(5JEPKV={-Sk$y}Ikkf_9M)#PA$1vjA6L`(5%4;L!}HJ7RR9%mQ^55e z@MAM-)#V0L%G*)=EY&IHDLq7bu^3(Xm?8`tMHY1ud_NK%7h;_nq?1_=BtDAwy3oQDl&qS$f*pDPkjQL2tbpcE4J) zB1|6GwqQSYu|8rW1?Dgybf$n|(4d`_UyOyB^)t(KM_}@QSv3X9D+!|9C1TS0Lz#)5 zK9%_Z!9h7AY$o(;bc)cMi)jJzdbPTCf;7qF2IaH7*ZJsP++@-tZ zKthmd1$uN7@qppgj=dqZxJDBKJsaFUKgD?5DszB;)~9fZ806DK<_H*b33iA?B84E? z89ykJ2SRqa_?c+vQi#e#fL6?$XF`X1VgMj20ueKVWE0A_LB^uWNQlWwR`sX2M7L56 zgzgGB$}c`+;ZG_|uRdkSdj?#%U@;@87&@$gkzK3h<}Rg2%wp-yZxcc%0nb~&V#+VgKbVyh-HP`@O7k8zW$1hB3~!p?Z|i0v+bWU5Em@T}Hi34A<1 z;wwC%W+l53Ziiw#n!061z?a|h?2J4_0QA>EK3)i(p^Af1?+mF*5!x8Ea{E7S(9AZaU5c}Y0Njg=`VXXt(c zR79F8a3YfYVaR#8+E7(s0|UNoMI1oYyS(l4bJsCubD9>cO_n{9eEuhiF?9MOI53&;8;p;ZpHzrJSUPI;|KFzmVTsT!EgmsQtnGL4h#u2_k?ZWkOA*^!aOa)uqumeguO;Os{1BS~XodXh0lcn|sVl&^Gz((3+mup%Rc1mH2ipJ7>84RK+fYb`BRvLK^0+>b28O_XZ? znoUVMS?FBsi-3o-eD&rdE9s3}(u=h0?;#_iv5DHQw@-uO9|(;ZMGpwxjHL(}zdvUQ zSNJREP+lUA%qkGe4uWXH(F8G+Z;TJ%B-CA)bt*21o4)rbN_ykgeN=eOuK`;(VZAl_ zICK3P(`Ve2Rnk%&P48X{2uovx&P~R%I|4@6Xh@KgRf*a=JI7d2-4IJOA9#ASxM1|S zq4-@|t(s7Vs z-U|C+&vj7wyR5BcN4q44;w@;9$GPM{wJ=k>N_g{3c-D;AkN@YJjX%5oNP@dg`wYxL zhV@w%hVg`+4-P73J9f3^6)+Z5_?q%H4?$@R8dF4xV4XkB3>C2Q-Hg|O(|C~9{Ph91 z{Q;-odeV*YO~Q+EKu0L?);>?BR;V+L>H)JbxBq$7xl+J<%5(8Yr%>S@u+rU3w@acw z-Ng2RN2!Uj5@Ks!qB8{<_k*rOIn0U02|SqHoKz0z0-jRGFt5;(DFU|;F^$lZloUdK zZ5z|iwzP4gp9y8VdCzvKzRy&Cd&K8khe`O43u|`ZZ1hVBkjJ^DX_A~qjF2f60prj) zwy^?c+s4d@O<912zIF(wU=T(k1YEAS8iT%v%)v|^sRiW(yF90q+<8byt5OU3gxmhu z;Bv6Mku`)piGudFF!&DAMRE{Duc|*h$;0o7WqEehO2@x&O`|w<8~QZ?*V{F0`R6@g z45c?NBn$umUFihyCRLCi9b*J(K7y4Ie~vW`W$-)-3fvo5?jt9i#oPuXhAWxdt1hzy zdJmqWOzc*!+o93idM%B5ix`#f$Haj?JKJ&oqO)|2SQJl`p0T*EO#?Na5MPqQ!icAm z4P?L~%@U4>rw+LL;B#Fsh=Gew2DQ6eB@npfDUlVb5F&2(h@Yk^y2~vLbiH9zC2xO}c2-*SCtN7}mfB_lU#ft~b))5Lz+jOc zPO;Si8!T*mZKik$@{`J%vQw-@*IKnxx{^fDAb=Y6l=n$%GaJ2toD-M3`R{D3Oii@7JkUk}>VEAHDm)rO?7?bcMtUpWr>@hk3C*WVUQo zdQ{9z?Sj+J+&Xxxyn+1nA$22wlH|04e+jPX=^SuVvN1xfmG`}iHc%$F89v@c4;72#F3n937r1Fkt2{bx3+e{&fUv4;2VqkWgx3SLz)`YzJ?WC zW83#uQN}+y6-cXC!1q9~9;thr;aJ9aWqx{%QOfEGHc8GVNt|c5tlDU3<1IV1`u-%u$|Sl#}b-7B$|#~wPUP^g-%#p zcwg!BIYA@>(R{TCRm4RR|9iXiKd3xlItr-Ey8T2WF)n;7`2{D?(iryndI`x({HgVg zTt^%nXq&&b$S89z~q& zN&)%e5Mw5`oQleX9z(*izVr+$;;x9tKO_G88X9q+ZTdZpWKl#|TM?&C3Qks);4_X+ z4G~)xj%&zLb#T1WkA(bKXD%SE+O)Z83uq?X7SNE$z#V$WI$tL#V|>oNS)FSBYR6bf5Z`NPr~9JRQa^SMiGy!HWLXhU?u5MX zj?2u3x(7qr*p_Y-a27q|u8fzIsK_T-5^iK%9^8H?kPJc=2$?(k zV=G`(2$mlj08}eQ0k5+WgBYN1h%blq&p0twZsprR^Lc!QDBs4e9qaeRgie}*v}CxTO;64A|xH-t0)M)A}by8x5igijUX)S)jaz(nLSiAR?u#^ zM*O_k1;ir*7f?H3g!5YLqNS1c4pkr^pO3C zX+?f@G%XZyBjTE`5!(gxaE=qiVIGbB^o6wsc6ETAPxZ4BS3Qp(3qUPvVC|i+yDA>_ zd`BD` z7#s{-80!pZSNm9bov+$8U0VAV->rZ38Jv?5mt zo1@7Lsa?1T_^E@dw9g5-d~KlZqppA~u7wW83&5_8!Ii$UTY@TF<+=;N=EHC!YH=Wh zY539Ro)@5FqK(Jef#aJ!Ucvj?vT#UXNW0?2z66S~zBH3`=hF;jx(mLha@xa#zC2sa zzM()pQFUnO$WpP{BY^`V&8seIqcBNG7lBfbB$+dDAkP$~!POS(3YA7H*Yh&tmQ^WN z1hgu9i_(%4V@K&V=1{7;0BoujU*TyGlmfj=T7Mx%0>Y*UuOT5$Y$_D8U90w;P%*Lh z2Gg)3WVT@)@(o_-i@M$IRc>M2<(DmF`=qwEev~!4P{_)47le(yb3@wDFA>8N)v~tX z6+Y^&FE5JBTKvoQks93YqbQyz=2fD6Dr7Va*dRnnkc|@7!Dui>|Vp7J_&Rkr8Czgyly3DV+5{;tRB9=vMS)O+6mCa zd~!<6&k9{R!jjl02PR&5@B)8?LDTPPTe?+Vv<>CD3&N%fjQQYs&EgA`1{_4WxKbPZ zFg&#*ZAYS_(b&|Hq6m>tjL-7t$rrI87UzSK(XKdI%~5)c0;^AVu7+>L@hZ*UK8BzA zQJ5jEw@=ybg0X@2QJ&!aR=$I%%3T^}QD22CDDVP2;BYHoWxET&2DKn2fv*Ac51)9@X&x=K<$kgU zZ$IA$(>`Qg%Ffb_8*D?g@TI>|9AJaO7=L~hXG_Fi0GqM#N&5F>GpGxBD&1WGHbiXY z)}JHpN5GWnnq38<^{s-1^kx<931Z6H^8z(y<>e8h-nj{CsK9V^(`5mgWJ@``NM3;^ zA>w{}^B(HrUjhz?W+Zl0PPLkvzca_iLYG2rfA3iBQS#bniXgGYTLhVtnDyLeYAWQ} z8>7A86WDWEGnMi#02?ToPp{oC0oQp9_6isjt`w`|84pDP++#@>gyt;LWTt;_*#icn zmC{|HG%~NpJ7c6Zxstk!0#?qu0Bl5heNbciE#ThwEWNa?;f66_VWXjC-}%x3rq^7DQ1$rS4+NFX8?B?HW9y9r=bT{Mo9xyb&fW&w}TUI;ov!t-I0Mf3nrEbz( zV({l(6%Xq@xBLu}@#E?V>JRc-^iL(b3&5t-g|~Z+m^6g*v=k&Xw*uEe?T9Q>YBYUrwXhLI9Y_DwW{_R0&7OU#_u(F>DaQU) zYTD#Z9+I1%G=(h5cB`@m60Kyr31DB33-!k-W%GSTA+@VKB$_F~ga9=kW>{IcD+U;a zkkPoIY+4uqY`guvQ?{G8YzNlyL4A;PtLdOUy38ogUVB2uNQXICN4zWU<$R%EAi@Bb z=Tgo$A!c}&qOJ;o0=KaSK4QJnKMOk^H`m(_47o>N2SfR8)_;f07#-h6Fb{>nP1F=+ z!vY)M9jg^#;OaVNI;bDcK1GBn&+-^%u3c~)mPl?MG97edgsYGfy|qHNM6%gac&Rn* z2rA@Tf5!*?aFp#!Y-oEo_8bs`G^MZ_UABBy#Q^o^C}&C%(77-j8!A!9S*H9zt`1SF zCN5BbDjqT{gxoTS`CfI9L48l=7hXId7A}VdYeNSLgkcG_!;%_`SUGRb zYsB!%9v-pfu}y?O0EAgnHyus1e9=ch2aioclWzxg0?Nh>h(-;)xSStia=&hLDM~mNr(=}D3kggDXys(FF@7h z-JGd72kRKC04(C5z%ccAftt%(NZ$pn8+bgbH+(FrQwdjUQM^_0-g4f2LOgO80p1Ez zp3z{rWN!u0%PIt{t>Dv8RanOkiw#l!D4)r*s$hH9a2K~GS?v?FSIrV`c zFoG!K-*3{R#5c%Zm(mw9!3PzPi3ZCE43PBO=)GsZh==06q&syUf3AY~vwOS_rGPib z<`&SCTKEgqipPsc6tdXr_;LFKMVarmR@U&7P#8D+SKdwVkTD_NdW{!F)2BD?K_AxH zY?oguAKM)`<4jo%1T`yVTeHCw-i}Im44ls zBNtx=pjZr OLW!k&w|O-m#(O6c>5wdJuuOy?s`3i#IDJt|X3*#$Tki=-T#bFNci zwQFrkVTc3lLzPBy&@jB7s)HJ;fJz9YI6?7}#m>U7|7$nfF(irL%>L?A)Q2o7y?6UAz*)ep?x{rgP8HGc$ivkRoXGHPIW5^%hp;glZCp?*2T{Mq$KqJVBcSVM1U za#{zW8?~O^x`5FqIt2rD6+s;VT54wKeH;U13s^XCtHI$s=$jo|r52UzV!B2Aec)EduTdmk)*=GC{}*qeCfz z=|{n^QkPp&!i%?QCLp3eAB#ASgIrxXGouPB%Lah-0(h<2%AmPtPeOY%qJv-D+T*7!<-VJoR@)7zDgYyz?dAzw_C`Zi!3061c9s zNf;jvqy!SJut$tNx4n1`X&z?E&bFfU-Vl@WFAYzfp*+m(H=>&&R?17^b|&hB@8mBL z^Jn*nL)FL_drIhnT&S(E5jm!9_R44OvytV$Dhfr?dv^*tNXZytv0Zvr^sR|z!=+aN zE9Is5#elI}K@)9Q=~m?@eVhpfiG}Z8AfR}__I4tN?VNt}IFRob6B;7`h(LG06{n$} zOrVyO@zO2hp``uifXmU`#UPIat5+s8UAyWS_Hb2?dSiYwtWw|+Pi zRdb!XJm#$!!E;LCD&M7hzMBuN+)v@oeD)sIwXH2oM#~8VjlCtZl&NmUbR2PMO8|eAp#I2hgCUd$sc;yLXY_BZpI0&l5Ky8qPt^tILYk>tq zq9$g5r-)`$urYXzpJ2y<{}Os718$zUOZpXXu3Y8~E^LIx7`xuEI~ch+w?bCFOZR-& zzsG>Yp3k;FI-eg6K4f97K28#tKi<3mWPyIxuHxix9^*s%#?6U9q(4jqt$~uo(`N`TQajR$nNfKo<=-Z~*`+<9NO(>8hKrD5Ng|0)6t? z6=9HHiq!*VxMSze4>40^9}Q+@yL`)bWqw_=g>qC|AWvSJ%7BTL!JGi@=YAAO3sSEG z-f@*J3Cb|mDKC#-`)|Eaz(a7LDQlE@8MI|3yZn~yo~&P( z%3IVB*AdhgcQ!jrO^4Mg&a?_mJJ1QYc)h;pz;vlc1wKijpX<$&VueChzRU0V?&&tp zRuE=(br>2k{+~J+Y)!%R$?rLM-G<}=TZP8xI2?p%#%I79fu2|V?iDh-KKoP_Ine$O zcDGQg3U^ycS0IZ*R?f?}p(cZ;&+!#YHQx2p zWGnWtM0`(pkT4!1t_>3Q`rkq)q<4?09jZ9iQ;3fs9SjIw9`zX{MuH2|f+vyg`T0Ow&L8-ci2Nr~*xS1`Uhzk(O6@E6REKmh&E-@DK5Z-B*u4 zzHPKOig7qG&#Vt3yFW!-+tJb zr+2*F7r-sZn0Dtlqkn2Y-+ThQtI8v=B8{=tc`SK+MXY33%Keh~{t)jtuAoc8vD}?> z3q=&xJ6M|2@`c_G3}l7Q;yr(;N;QtVavc?|XeCiv&@bf=?l|J7w4z*BZvCC5wXcsc zUwcF>3{wG%O8twlbkOSQoXZa}Z|q+#Y{dEk9fi+!vL>gIW65c|4o?E=u}iC zyK*0ArthZ|>2!TzRsRybDO&0vp#oncxmh$xj3k`G2_Ts?Z!(SB-*Vgp?a(b|GIUc-Y{s`?*O#HqiPu zc`nVkx_+R4ZHbYxCxSu>L2qDz+14fjoTpEMs*+u~B|Dbh-#%l$c7Mj%;Xo+;vbpI@ zteNnf<4pUPIxbRBlU(Kj+10w0#Z6kqe7t!0kZkp?W1@hS>&m^qvyA$6!0cnzpQ%!w zWwRa4j1G4Jz<8OeP${DnQg?L~HW|2)UJ*1Nu07uvKc>Z1sji->4p>6|2dS%kN?kRz zcd=Nj1Oo->4@MampvuH#0}L$Q+ZJzgwlgZL`j#+;1XO{SYfp{IC-Ju=Nt!|6#dJDXAC;{s^J@IM$D&tdzY|bRe@QlJU9MJ-yHvtbs&`O z>f842Vaxwx#PcZEn!Fq+-#FME%n;@8+yQN6L)R8hK9oVH4+bp(TOm2d+Jw3zxMe%L zF0BY-A*SygrHrhImF?=iB>sm2GoA$|>W4hzWY<)mk|d}dlJhy=F5spC9!IviJmSb} z_+e55Cj=5}>F&~g(w16Pva4?u@q-T2PmkEXc6|w6Mx+j03}w>?&W~Ks=bk#S1p)gA zcFf1c)D<92#@!d%E@HeN!G|r?{xfwb+12~fBYuBN@U?ryMT0@|7;4cv#RY+cQ>dgd zWI+;!I(~S>Xi+hSSvqGWi`r;!Xp{N7%V=CWyQXBZgcPIOf~( zF@B+yFv z`VqZX-Vg)Ux4xVRCA(Js?qZ9q>{(^t7)E1%o2DQjSEN!`{Q<)v%flCnaJRBl5}7yA zf8Vs`6|a(AyO+fAA25UQ#0*x6BzB5#Y}2z<>lF5LFE9(>o+!kRWxb}<(Sik&8MEBf zfuhI<7%VTfu8M}Ul3i1>Yi}iS`u<)^=`7;i6548DaF*6h2Cm|MaKbpNO;aH|7SW4% zEKDrf)x|{3_y8e2fc_l2(S`e9>CmP}tYp{v+cW;Yposk_C@^C|518ysDPHLuk##&O z;tt}2u{VWSQ@~9`s&q?gJmMk;%H@r@0GkR}$*$ci;_sa%_j^(SyG?kLu!jV!?RS9| zcnsK>UeSoKBHou0>h?Jj@MJdJ1MqSkAhmPb%L%Y6St6DgZmri&!kMe^lYy|Fabm59 zHp{h=Q^cgYalvIW60$Pzv#*O%&}kCuL3~7V&eB9c^T}#<7+gGLL{jWI(y#&W0$Ozp zG3|aHvhbLA&Ixc{RN}E233?IgVCBJ1WJ0o9>vETTP{c_QkN=LCv$OFLqb@1Ia!s}i zqckSfEaipYX0(c7uYJPS(?Zd2$4!BIC%2e*fzE7XJr42C(M!`l{KAWe>WN!1toNi^ z^{E$6vMS?(bhMB=wa4c}E;3y}i3l?v%0x?V8=@*!IB@U6dVl#Zx2fo|SQ{0>3F2lY z%BTwI+Bn4A4qV$Cq9=Nqy$cr$4S@>)7P|t=m^k}ME($sRcgSR=%`SLtqQUN{Mw8X8 z^uf?FbFU>)Jphf-+XmE7L^3dVGlYSih_-@~RF%%Mp5xS2h ztTHap!5^s}C1OBP@KK7)@-S87?ZbI?AYuXaY2lY}@W7pO$OilZlo#luqI9+BKiq3* zBQz&jp=aw<4^YTVIlaVZapoPgbXCR$IruX-g)smE_7Y0bRV1@MwCoBMnyd(X)P~<_ z${MT5Y2tjwq--{m1AdE#j2;umNOeWS?lb5lBP4?c=b8fvC!~-B&18k>OSm3uI!8_#@gtoo`)j1yE57zUAS|eD#Nd|D4Ebs$IFE@{Lax2 zJZw~&bXCR$Hu&p!5rDC4x}XC@4o=5ak>CpYl#L0y8{bWP7aLPt&qN4@2q~{@y4B?q zaoVyq39F0?Y_O_r|32xZGwD@_s-PhlS%TXIih0<$Kvkrp5RpD&3F@?00FBWudcJ8x zL64-z&K$5=PpgLx?9LRilHLV4DEh>cT?XhQ;I2hphfT@$%&!f zgM{Bhl$v=K^A2uDbe!?bPEtYb1c%N9{I7CgCS5iSgFwh`c#QLN@VIFL zMmGc?**tiq4?kT>8ch-_oM*Qi zkTlD-=;nuEh6RiPrY%-Wd*dTIk@X?p>{|0LGP z;|F#3Ch(LZj@0zAE*L*IiGx3^jh1Sle*WQW)g-SnE|{PSbn1chnkfG)3E^UBtqAPO zB;7&5`+2t8^WmJ$1Lq=OhMEYDR*P5f*(r%PETN#TQEGO16;&Tr@K`P9 zVw4Hs8T+te_oB2N*WHPOg_54+RYsnF7ckb;cHt&I39c*aj?b>C@{=j+Li1+Y+Iq$X z!{PmiZ+CQ!Fj%c%EXo>pLLt(jkiN>etaV`)KcIHedA7F^n|1#WFqki)6UeI4BJFc& z;Sb~qv4%o)q{p-Ux6hS}n*$Y!9x-|Z)=byzRJ$pE6K|&NI@_$I^Ho`cn4+sf0xRP( zh-D=f+3)xd=`icNZ@UAKHG;s~(+tPx#(O^PA zXrpdgPu~huK`JD>QAa|E_v#?wedNuOjn-2-|NrfbM);R#7!q{LDbnalQAwF1)baWta9uE!5yOn zS2K0t*+iD)t{w#~ezKHzYG%W+9oZDR^@L-hVOP2S!3xQiyHi0MZ}Ce`oca<5Bwj zr-%TC zYk&MMUJC$E5jOsDkoL}aNrBX$cA;5S?8e2`Lzj0C65?fOhHHxdwH+Y6b`bZ7cl>9( zY=covK~`S&#i*^lgm$zPfaDB6T0K*!PA>*Bf@x7WCAkM)UfeB~e`ECr+y_$|XV&mW zqC;Q-S9pAJ2?!l%?k;f^`z`)6;Gb2`Pc+_GK&DzSTtkXGNqgxW&{JSgTxO}eyO}k& zFXUH$#L&Y0NT31Rc0mQ?0L2dLQdgPro}tTwvQc7?vo)|W0f3ktjN(?yjlL6ZZuK1q zoDV41(Tl{I;)x%$tXNs%sfQ7uv_tLyJK@ESy{dNd)ltfAhE*lA&n1nam?V70J zf%8E#&Qut9F53z%;64xELmElCYbL3`U1LKqdt?$JcP$4<~=I8*E z8eR=9)cW!C?PB$JsjJNUO$?#$shCGjU8%8Zy+t`j|6zewAmoTQ=(R%_*gCPsMjQ)= z(`_KbLbsDlBNwBqe+9Nm4VR#9 z4Y@zbppA1_yCffr>+GT+hfWo^Hk3Pod>mIX9)nTveIIwjqUIBAi`S1*umm;O?nazg z{Z^XJUQ)=7yXZ|i0XLL~knPSwN@57#mdZ#P_*o0ITE1_X^W^qf63(s&8)fa_$iiT0~_SoMuI*rQTvy6Nt~ z-v11kd;kFoiAyjJ2C8c$8xu+ZTP_)s7W%RLHku{46LICoe)Bm2rqweM6MHjjO_HcKb$bpVavSsTq~I z5L1tNf;2%VpxiALnCOCH!_pB_1pa=xcCiG-1`>NIETVL$uu#BB0e>OdR?tzb4VW@K zcB%?L6qrEU=WLb2&{aWQJ*0tGp|E9CJoiIk$#%+wh?X$91X^bzd4(xx{TShr*rQ)= zy9YeFBeMdm;Tkb-_=9jXd~ms%SDG|z1EeTcSc}>fgvPxT3GEqUZiRFads%d#FXtF# zCHByh)sc5havX5wu$zu1Xg$2()~{lN3`-XjCg;^8gjg@nTYQ597~_uUY02N+K$#r2^S(o{k2M$?oc&BIOb?>J1?Z& z#z-DlmfCzqk9;$8^VO7}4$)nv19@kEcF@#{S$VJAE{q?fDUlMjwtg=8K6W;`F(&MY z2Hvf?Cl}Kvw9yy{pvxC8mcWrB!9D}36Q5$Cz5E!-qw=2FRS_Ga@UHWSF7}YkCugvhodjYxPM4A=%LT44 zRYcV)CVSKB>h$PE0GY<(wt9Z~;Yc^TA7`b$JMh?^O#6iA{Z!f4b|C(-bWwc~qI*AQ zS-@HjJCz;-euq6#vX#Eqosb*Daw8dV1Q6nhi0s-;zIZ&YW~!K#{OYYFimWz2W482E zLDev&u%`l?hkRYNBW$oYMg$b_LXU+l0uFKZ+Q4r+pdr{uG2~H=Km0j&?E2CYrRalk z7s(`}0w-gF^+2o`*G-p{|LS~;`C(*8%yHQfOYqaK&8nCa6TB`@6!jw`+pWXJ@2MMmzwwCHKh*jEMDh~=kiBMW@JvHpMN+wv=z?Y+(l>Yh+2l*=o zI)zAOLn0eHsP3of2TD@7vsV(MxIvMglLplXoGuS?n&@r?F4PtK`?qE#Ce$ zE;f`?R6M(CJ91LGzM@pwX<+v=EMsCsQjzL+@8visTX-4y7N^7C3R$#ko5_iRhJ_Kts)|<-5I#{ zEW5|Gom9xmeEkM1v=shz$UPp|*c!BLD!6QMNR!}yEuAPmryfu0pE$MVwcFXM>fCSC zM)d{)&8*fbV(%qrY){I1{e~)h(!csC-g(+`HPoeEU7H({4C8E!&-V(>@(DwghV3N~gDpx5WG7cCt+H>(XE-Dc_B|l!ATz*Ad6l zZ>PId9zzSOWSm||ynB(HMEGD@ge0b~$H11^RoJE**f9E#YAMD%^lE+Gcm?Jm+a^9p zBEEy@<3Grk#M8p2Po{+os;f+Kk%6H&x}bT5a}z)hCo55-13C1AY79d&NT*Cc>#XXt za^1LN=+ncN_osl5~j#%WhqU3DH6dfpOm4`yxt z>+1E+t2is&y}5pr@8uKu+Wl)LJ4v`xD1%L=5MU^JJIr8U`!vkV>5AG~nhq2fEDhzg zxPjd0lNwa#dQZ!9utk^0heJuocNv9WkqFswY!bSzSUe;qm`A5a5#N|+D>yI}eu!E*>JjqteUwt0um7eTjUEDEnL8z-*?b4gW}|wTiuqnExO$ zg-4en2J6J^+-Cs5!zhedu?+^Qap@}BLGVddR>qt6%dLfn%`~$S>_u@+MU5i}dFB3Z zFjwqIFVh4h9PRrvp+skApb)Y59}E?#8<>u+lWcclwVu_VgRF&MjlqVcUknQcNo(LE z*{qy5-zY*)>KYW18*?ldtB`~gAvgDP1%w=gyJ6tAMNI{g#+>7P`A}X3LxGiT_N0ds zE6`ML^9U6-KUn$(mTFO3gjx1MOIFgG`7c98{h{%N%DFtbzK3i-)tcBW8lQvdyA-rO znQj6FM(qX^82AITcDZ+=q)Hfh{EDPSUUPW z?cs&T=7HZMd$q|N88F4tWoDYI4Gy4Ag#X-k5U};C=!??cykBwli+ug|F&6PZT%=?X z@>O9dY1L6FqQKV^f{w_`zQPEMBs!)W8c-W=O3&uim zX$M&)jK?86IRKm|w>wJR%bJdgXn|jE_{46!yZZT}6Vm44tH)ZWEkG}>xXK~Ot^nu! z?}(GuY&!yN{jHvH1}wy z?zD!59h`^k*PcSI3i+Ny#y?a;^Vg!PU09OkpEsrF;R>xfk#`{;GMRoXbviB3qzpG0KoCc1(J z>Oah#R}}G3#CPK6uQYfmHZ~lv5=}2(d%?#_h}`NDL}Y|E#nFaY)v}ZGWiQVdkO|1i zxPUA`?fe-}MSLf2g3|mt;&ITsOI?~g;;P{iRiuS?HX_}nUjtfWS@jzm!8BzoqHnsd zaKOQ!7*dzx>HuA@h*4j$i0{PB@URZ~G2*>RLwQ!V+>!C8_F(8wOh#n;^@jb=)TSpd zNuJJqzKxGQBvrO&sjMV@NSWY@Lcrrc1CC@%v>S^&u4&l3;FM$^6MEbyT)P6?7naZy z_1u0i=($<2kb@z1-fs4A8N`MaS!mK#KycLV9DA;wLL}#_6oU8)+s|9X@%yO|U%S2} zy2o{twiTOS%X{#)<}qaH8+SDR-W~7EU07i-qVG4F7=4JnXm+_QLr{D}ig!-Puax+v z?jIkPH$R4)kGeu5d;13Vj!!0Lt>Nl9Q#&eTD})M6u`cBsuifmpB8^v9=LA!M-&fHAo^oYKj6k*q);0|QK<-C8y z^u(hF+>5m7TBvJ7=;v5D?=J5DyNE5LWu)f72nLSdA?b#QyM3lLi@~(3ZP>MI$F(l; zK@1CA_>qbQ#e)R_U>m6fQkC-V;{GYcf57t|u(w#<_meGEom!en7NeY31)pr~6U6`U zokHc`vrEj0yKb)l%p2KOY=qjCfvSL&@!nMD)A!N}eC-kN46B)@$>t10+>NK9-{2X` zaG+sr->rG_17QN=bxPb&^hXMAR1DF_I1Tn_@?if%XiI*@^$QYWvn zLT<`=cjb9@ZU69;4+wH~9l9uA4eL=XKXuf(PWUEl7drxtC9nmggIui5#S8dey8#gC z_V?GZr%zd$l3scfVfhvS5FRwrB!swWwp|6kv5&LtDFhHEMjG7KY0c?7t0J^n_yabe ziM!e91_3CoMGMw(diR>L-d$+?cM?-k%wLw&mdFa44s{1*FMj3+heAF*6k2m5W|Wp-)C{T*d&no41*WFGmipNsNe?y~y{ep!sxQc}F4*!eIEQu~!X_*hV1LcEH_rVQ7T5qg4@6H__gMSTzG_CKNzfc}--2^)6IagX=pr#nQYXeW)FyE=$C3x}f8s zHH9j%$uq72y{yhcw`76AK++^L%Y={`7K!hPQ%+!tnT~xECMlW>wcgz}Xb3g8)kV8P zQIZt}D|lE^aqr6HE2*^Cl=kj2*s1(O@m9{_t;;rum!(QDAqfP=U+=iyfbTL~92!=t zc&{y>n_8&4;E-Fe-imjRL5^ju{Y}vrSurc`-F2{2eS*FL3}ZeW*8hy+gCW4NZ1SvQ zgQmz78R1{_cpEgU(2mEP@c|mR6U$?D`eSC#u%+gTU^0_*w?_z_OxhihBfV+$dR=)h z->>8+-O8UH^Km0fL6d_)RgVbPK#3JMu^RRQPW*;pB|NZvA0k_kVO4z(;VO$pQ{IrO zqYTpbKIes9dG9VOoggQE9q~Nv9;2&yX^ai#9F{9siBruB#ZS06tkit^#*RIMl~fKn zrTYu?;@6$p`8jQq76N|F^`2h^b+U+BxHv+F$)Ng+w?s_N7`{< zgTo}$?&`WUEt7}_idb3i0wLp)ZeItC62Sg7J^;XkV&kKvMn*|^?4-8{PIt|+2hMXo064rgdRNxFYFBczJmB4ah&Y}o7Hp|sE{@gx9*tCJ z7i(j7%k-u^#Vny_EkrVyryDw*fMb#vf|sG>0562Pl3u;t#~C=)d%y|g%O(v1DG`*} zmXiYJx)s3*-+Lx)R;!MbH~$2C}4q zESFbIrBA`}A{%*j4jj)Fu@wa{r1>#vXcwV#*<9zt(~3(@D`I85dMl3+2zrQkVpN4d zIG{i~bym%&)3Xn<06Ic)O6{~%gmWo8#)3rX*-leFQm17QHhaXAu~%ArJgr9+u|05U zz$@Z`IJlniP{O-Qus)v(yERD*+7xAn^oaJx?m`kY_>?Ero1zP$&Ti!~Vwz`x+>t6} z1%@CqG_=B8q>RL#O;Y0 z5`}qcm@rvhhf|5B1Hf2T#{2*38ArJ)RUAGuv$t^S$5cjAa5dnPxkwMb6;deoE3+*; zeL~^~lj8-NJ~Q4>#=C2T3b_CIlwq>Uv{CxqjMH6%3`zv}D{;^@v%nj{u4}6y3QAP@ z^itrhZBXGPIVH?Azo`{G#cy5=)1t&pP!pk@iC21=LRQYZi-ZC~d?1I&F|(sBmXJAL zxIAPVIDFigdTs1r@OAc#Y0d=HD<>wadHva_EJE~La4RNw$ljVPO>H-HsaxfQp4@I8S(fzX6ogecq|GN&HFer}Q) zv&bRUzQM*Y+z+$H+cbN8lpAU`Ixqmxs``+jymwa$eGZv<3N1Nq&{gTE%k?PBHv^wh z;g&SDuy&(WnZ{$Fbn)xfNQ&JI(&J8N!R^!E2qJUOPa>9@Uabq_%=FlI3qyJDt`zzQ z5l5~hbYJWSt|49`#@}&ha5d8&v6XdegD?d#DIT#k+OsVo(!+2SU0));LjY2EFxn8( z9CaG}bzFX}xxNXezLgS#@>ktnwxWRaZ7(d{>?uPQ;i%e`98k1GhKwtvH>{5R<7Z2v z^)y(h#Fe@Tv;(bpp$mr+-uhb>5(fH{d(MsO)k zDj9TN^z-SX?H67VTcXUjn@kb&@X_hikN0T?5l`4yrLf{(5alcv9f?9-hB{A#!AFiZ$;HFQ}8vq0Vn*D%l(Bcs*@%8wJ5i=~N z-T)yzVNah=7%-fb&j=rl>hW4#xFMORp8`2e&X0^9r-X>~$I8GiL6$z1_4+OASrPjf zFG;W4zY1p%O{U=QpGpCV`i;rO-sz#-!e zUk))iAw2$=z$o6#K+}4eO{megBz4E z9XrKFFN8<23t8ywvEl$Pc75w;N#Ql2ytgjnftw!`T*bv1$}8ZS02g?Le8_|{NhIL< z-vJ{{y>&KLP}I6ENd=6a6yp-rHxxql)**-p3v`A#MlN)g_s}T zW};hA#Mpna!{o+QcI{`wIYc*U|pWIAGR)G7VP#Im8soe)0pqJlM^ z-QCXK>@dlve5F{QqL8~(-Xy=Eh?Vf(I4nBravu0*>%GGi9T5_RY>#myKNd=OcN)v{dzU5A zXjhX^Jbd1sqSMKObX;MAJ~}03#H1B_wj)J@U_l`kiN&giY)4waX;Z_9U*8ncTZe}}nH^hoT8_#Mw+$q`kniPgRK!-rqKI*~V9@{svEj8% zKkU0kP{MoTvHVaT+b_B?`9P@)3|d?7UZ48EfjQy^`H}`%W}eSj**d_}r~ih3Ng{4ka7^!XcI+DBEBU&X1oul0u53c!~(~vA}att9j;FT zH;fp8G|25EU_UlAd6UWDRrQ9wR~gdu)2Zl^ek_YQk0}6<9L}-zjayrI!&7Eq1f{$? zj|Dxs&qvIGm1=>#zAQO>_R97KugmPR87hvGCKgg9tjdRHQDKLaGsOoWR0x^?+NM{R zHnqkKsnxYyG!&EF`h^t;INW-JAXaF=tOeaz7a~C&1LdX%i6~F+#>;z2%V6dV>HXL0-7MKBY zCg%Hl2SlBlVrj?17mo^9DQ~=`ya!NWmR4{(Z!x5E2v`CwVrb&I$|=q$U1I_ary2mp zaT^C_n#gJ^%_fgHGMDac&5!riUkvpPu|xfQ3=V_e6iRuce-W`|qOEXQ*{hZul&e!L zXJb39qUFB0X!^!SOQ~q_#c<(c4Vu@%iIEy8hk_RtdpsTEhO|!eh%-e&cZ3BK)F$BO zkRVIE6K{TbQxqNzo=nJs2(o`xZlO?@*z;v>=K&))Q{~VxPZ|9rO8^k|OZiW`1_G8K zOC0ka@UQA1$Q2;Z}b$xV+Jn+@$tK>=XryfCu|r*KG) z1rwr6zzlvr0_Gn+EJ66%^(CxyiI+kQ)}|(Wpt*P3;7m!=XbKSW~$M)j})SH6pbVR7|)>NQ`T; z$zGSl4Of7F|9_Ir8+dE1QM}zHxROJZ0?j-2gm={QLxL>vPHmD0;X}y5ek605;Jspz z=mt$DTJFr~^Xf?lS2W(t2&|pBrofiL9$G4*@%m__v+_-935wcE;fAwevKn zc$Mz%ye3$35AmisHpUKkVC(A9AU5-VWtlmG$Kz_lr51>9MJs`TPsvR@LV2Z1!^Ctb z5o_m@6Kyt5%U>xK+c7Czd?wRR5&5y7(~RFzQpd2 z*q$wma{C;R%)j=eD4l5Ao?UHYp!R_aoYz2Tv8(MLe2~b(P5(VI#B0T?bay8;LBalv z7i_`CZ6NT3eRf@N5VA1X4+)Jo;r;_S<1H1lEV79>50MV|d`@S42LRKZ=>#AnEE zgh`N{ZDv}_>1I;YDcwniCEhtrb{RccNrQlsr_rECvwt7pE|(JO%)VKcItWt^s6oia z;>cT0_AwJg7FBi)LN-&x{N`dB>QTDvBN4+F5&!J+_lj8Q?#^n$Z1L%>^TTPMbH%|d zMBT+~jpq4BJ!wO5fo8N*AdFL|fW5N)yYRai3vej##LymfG1}OZ@!n}~vDwpEf4@sj z4N0)Xc}sWs=@9b|pDyEk0LL(!P$iGW72^I;$L+MPVCfG)2RW>YK&9Y>@CUhVbf+IY ztU#W#?=zjVhuB${0P>Ik3$hH?h<~T~KdFIaB?Jd2_H&1h;82FzZ%@89hgEc(&s~S% z3Iu6@3O8)V6)>17ZES|*S5mm;yCi$o&wv98x}{pvo=}ADK5iS-=k_7tY2*SSd2FDx zH8h5N7miY%Jt-J(>-@9(x}m8xCIT$_F=z6CP)lLF{vNY(4Jw8NSkj$^mFq**#>Z4P zSuLe5Xbc9s>}#CbyZ*d158cp81IlfkW}c@WWI-@?cFhFKGL+6##>_7GF-M(g*QNcK z4UDayz)_z*D6 z3)JiVdsg7$6hRfJ>Ly}_{sFde>OCaElJ2yzXEl0D2lnRLx3?DsJ*OeI<0hyWIJ|^5 z*WB|n1}_Ocw=xbsQ&4^;n?f6t2AlsSE^IQeM5^#!Y4N*^29QG-NMaKJurv(uIrNIJiUZ+Lh@?c6= zdn0{F;D-hFn7Sotu%tU_tc33&rhM)C65PjL+TcOc#EC-%&1pQ(fX)gggv1K3k3V84 zb!}BTjU6L=CRozU#p1e(!HD}I9*VdBUA*i)gib=~i<|9Q0NE{%Pj)Gi+9ceDtfF&C ztPQc_89m&@VDH@|c1V6Dg*QmWgAhI2DDdKqQG%e1qe_=oaVFM|+(|rN6bBfC<1vYQ z*I_#kXsJp49O_UE$BEFoPY>Z3s#pc80Yi7xcy#j~LYDrDWyE{P-_r=oNh3@{C7b=Q zOrtE!?Sx#Hjx*7dnEp%$v->}S9mt@#f{Tsq&QjDPRq8%z{m8Zo`K)Yr<+#7#s9) z{e!|dNClAeS5mx#2!Ey2RP5nF$pb6||EIKl3Y1Y(W0lU_eY&<3+6JjI3b-4Y1R>VJ zc6r27T=O%bWOrq_SvCn@vnfIghvsbd`JWA53Hgi*Oe>MQ9=a3kQapD;P?3|Ny)t1D@TE$h-(gXBLlN0O?L zWfiFAPFO*awQqf`?~)cD!f7@d600r!haJGuA@P-T;kR|}{`vJIK77`x59N;ryApkV zzyMYQj0^Y!yKT#hRy1%U3y_Bb9o@?kZri~hnk+`Ch3aP^iz9`NA?cNLQEHYq@7He~ zNRIt$d`W|LFQ|P8pqZRjcj;ANRQBK?98WG@J>iZ)AiuVQnC#-H@;YY0*R>V$fCYY3 zz{+(Op=JX9KGlWOO*(in!30BXgni6YeoQ-JzG93_569S(WUPSk+}W_ch|72OF496T3{3f{FKk!A^xah zZfmEs(^7cpn5@Cx^YjcON|eVT(Uo-N57yWG2Q>FQ(cDfG16enzD`BQgF?5efvHdd8 z3a#?QkY4e+FWwqW1txM%9>myoI|W^K|I#7Jm2@W$X6pw&%LxWQh>v3Wn$()p#UYq5 z5jGhZZ7+nsJu)dY4f&1$=0AGpf$K{Yb+>!!sG14K1wV-Bo;U%WoijwZ_X1O@E9uT2 z%<+M$f(@KqG?_gkn)}K>ge>@$Bw>Qv#Bir=JX!{CC_wbxehwc+RD%I%Hf#92-DmJ% z^~YH91AU$-m5s*UDf2z(zt^zDP zK1&%8;b}kzpNbP?7fBu~WG;m_e-$m284uNa=2pl`c}T0-y0pnUl8_rz3oc~%00r~;H`@G= z@JhPVN*Sm=9gM-vi9H5?tU-1(1=thzTPTw_POL@9N5E*9xClaeIT+THWbW}&d~{{6 z)er)B{UqHCgxqOBMt--T8xmeg>6Y~5;qV?Z|L`eG=fma?c)B9SX4s0L%7h3DnRJ{B zilV?3fr)!wZ(rtNu91&Ko3ie>&bTAp38#u!SufqPp6 zZEyP}LuZ|dB(uhe9zX^1BCr`IPqV#8MekzDJDEG*YuP z2%XV}JtUoEwC3z;ZF1d~j!8?XBQbhpr5lA3T_Ll2;vUN~x>yg{>f?>ov_B2;dI7z& zVA{gcZ_+5p!3k1cvC8Bv>t&`suh-UBz21~G)KsLi}S%9TU7PW`* zssu|D%P@HS`w$jAjt$=lg?8M^^nF$a&V^2B!rCij<-R)^)|$hI`=YXm9l_EY2cX+AAsFPjdL4>c2D4f*=sPJ%Rn( z1yFax86ciJCZu7CmOT<>A!3Rq(1H$|w||D%I^A&#oUXneeZ^?PBUa)oZwL8%!?9dX z!?B{0fT&czJrV3X{uiU2<{U1E@ z`stZB{Q)!lWER0FU51{g?P}*HX0?RL@rsxyy4|cyR3*dxgqxNYp_kuC(+VlCphtd* z7+so=i1A=gm|l>6Bjl+rTLKV;n7(ioxlD7eIK@WrFv(taaC`?Vh`Bq=rVOWDm4)n1 z#Kyd%{Hgf)f&7Jj7fJFfWF@_Fr`Ys|8S#$~x$Lb|oNE8&b(fgdSDa+xbu?e>;likBJYdR@Y8Zzj zXxOG!vb^fFM9yuK);LL2-_-T4ULwpFELoDzlM(UtWdcXQ&f1-R-u^*Us-2=zL*`ur zZVfq8B7Z1%A5XZlS;p$4qN5+>kw?eehS*i%QBb=#sw z@9s8^2L>?WG_ez8Bhi(1Cp`W(WEgPhzaqDSUS3GYVi&jL+G$YG?poOn;RXA){@P(H zlcXwT9}wr*+a@Gko6ou>y3+29$JD-`SfqALEMOoLF>it027^ur0{S===o7dRwgZgr zeZ&G}fpw$<5e_aMD?m#gZKv*D9x~~!-5HN4d4Aq)v_BhgYrFa*Rzz8~CL*Qw?=zdg zkjz3xDG?NaekrWp(k}Clh(*FH()zZzx~2+%CT_Dj$_m~@7*hFT>9k2BP!Bl)Vp7Oe zA>Z5SC+){1)MTRFok&aayBCEFJ)8~#k@lgGhdNf;|G>jL2lV!J$ufl6#Gwpr6{Hm& zo0jb1GTJ2YWap^w^qSo_Z%B8g-Pwa!XFc_KlS!s!00xqhn<(n@B9m!kw={wZ_;zPE zS+s)Lo~V_Y2hBgoKbtL-2Hjq2I=tk~*Tz~fs%GjP9m2B=lJH7vZ>{Nrl7igKH)f6y z6sxRV6fzhIWq*6B)pH*HaR6~p&SU+wkLW4T@`ROP1w39r`h2qW2Z=kh4v5@RayOZ%AL&kpMvu>7p08B_rTs00=Z&o6+rNPCcLbkK^>;w`r z4Y$04WL-jUbVVSc&gW$NOc(4T3h@ z4+cP7;V0)2WFgZuw=Hx52#gG{23R=K0FFe@ILP3nf4qFkdv`(}sN1ivizTnkH+9b= z44Ma!8|(2KIt$DwJ!FVbg<-#a_I*_s!=2mc`Snc_`nrT3pUX!{hh65pNR zCUuH$LoSC*Gh+afNO6?ptPG!+W}MP1QEtFg$*42GfJxi;Dx1_ngEp*GelN!)v#4JR z!r%pb?k(w+cIUU{`VSzidV;WuEfj3BUrLJ)-L2O>vTMt#yG4Wi% z;6-AJsBqX*yX3s=Q!FX3wEoTDjgG-u`U*n^A~*sSLsF%MHyVKqqK&av zL)gzz1M6%qxPl#!gcN3&E96B1k?RpN#8p~=%5r#xq*vOVEM~ENJ&@&V*O%B&)^Q%8H@GSTrEChu_kW_0DnM$zpY?>3Ccn{>{zO4nz~7O zrQNw=xDq{_3Mc_fIM1J}-`#R8b)<3H4hSfXPrBwyC)DDI=7wj@&!T88O5i%*a- z!a&zw0f;#*3AzADW~>T%VB;i(jUnlkcIRF_!XLSJL7~L;zf)K>2JDknnWx$Nn zHkb*3@2*g%KT}T;@)~QO?P4GiTs$Pj6j+H~wEA7s#fZF`+oy^y+F98C?QMRYE zHB~ja0eY_S-1c_tkh`Qdn+t=|o^~sq7QiXXNcaVMrCNvbX^B0gyu#~ojrdt|3}iD9 zFxaIO2xtJ&iJ-C!qBF`}jQ5mj&p^bMyK{;zwU_nior-UPhF5znJ*)_GSwCM|no{uM z>aS>y`(T|HTxQKf(kngO-aeL$59b0*Cct6jB_|2$`;Ke~297*{A6Y!=P%;6jhxTpQR{>1X_4Y}7rQd=7NCbU`Tp0#p z14Bs;8VI%yQ$rw@cA0>XcB|$oBy4a(oAsk72`e!$X2=Q4U#>hAliMuNjv{sk5N7qP z1GnX7$+{KTuOd#0_*Qc^5%xbGGWw=$w5N(xO;%poh-4&DG@9@7!;+m2NF?hfI+<}- z&$kn995R{~G+tnQxRoh#O1hd0l zuiYMmBW}kjW(4ZpSP@;G#yMQRC2QZ$LX+9Yh7r6107$o@#`k+2F=4!X+ zZFT3|hb@O+(~t;DkAF$L0VlzP5CCH9`ccPLy&;JL!YDORSqd3o(Z(oRPcw-qM#%P~ zEabE!aj6tNkxYeL{xIYu&BzEZC`G$Y?Q%TvAs`nLTmBMVSaD#|2uJRX^A@MxzShcH z8AtU;$n`Hn2KtQcD|qC z8keS!mHXl?ll)Q*A_KMq5CK7U3f!=t3ur}l=?#_#(7+_FAT(#MOCSb(y8|FnR?oHy z3?6$_#L9hlkC2`p%6s}cd=5vk;vQ)oN=s#HtHz^b=F_sp%80Uo3#9SGlj+n|#9}8) zb{|b1iG+}O(Z*d?^z7_i4}x5Rmy@HjI?Z-g$jW_pkC5k(Ezk0jWcUzVK#|sfkOK=i zP))PD83frr2~GgW2^;RM`euYL?Dd>$F^VO>GXb*`rI6w4*=y;FtGxpRmcSc70onaGoZ*xdOTS}g ze;KlsK~WY45c};ULp?p3D0`>u+O|^$l3kgkfP7&kf7QU^?XwCN0z-2U1HRN+=S*p_ z^gCwum$FSWiH45+z2(}0SIqv9YiFw1sH!Bm_2kmx4oY|V3%-h(4%5)+I>CB0B z{u?ff$#n{?>Jq|T5g!5oQ(`PV{iOf^qGt9q+1lFs!dBsQn#vS#j6lGTq*Y*85`d0z z5&n}HBp%~HOZ-?MSsnf5Q|h}LvHVg6iJK0bVIzyNGOwp7ebu$X_E%CHs^SF48P)AZ zgfD6S@=@KDw(PMP?W$9q(qrj&E0$k|jMNHNyxmP#u;@C*0aXg>_UVJwi5_x6Tp+Hw z>6!!OjYw~v-Z5i9lGA+x`X7~Oa9r?}$b z^Ind{Bv>I?)pwMjdR%WGJU9nnffHk((jO2Zo-GQFM?wLqh~iW zooaPa7Q2;!RnbywJoh3wZDND40tUw%k351kmK6$k@38k(+h>;?E2z?PkDyHgn&5HHq6 z-HT#WeH)M2UJ-tkys+9suZBWa^2_ZHL$>=yUcrnnG6sO;v2|r2;5&s`CK>I|87??_ z_TEN8E%LKriM-*fz1AcXnms{Fo~7T7dVUBR%`c?r5=9|3EQ2Ad*#*4g))FR=pfjqD zOqcCSvahy6b)N~Kbi|!S&V!fbw+38gsa5flSOwwv1ause%6Omz3y=;4tps>Sf&Ws_ za&&Es!75LE-B=|2w&Js0( z-N549&f$rog(-!|3vfJIJZ=qq1h%qchq3$f@>A~D3|RdQj9|hQu@c}N3I5B7F?2%@ zPQre5REqaKJTSle;&jxEXh* zn>UN5x9rI#fFRPzsHz2daHv-bHoYGVR1g_M7O7Hej*%d!Zc^sgp9!Ic-Nk_C!i-G6 z%OTl2rPM<0a*g>1BLLO|cvKDbYnBUDfM&35mS9;uHfcIp5LVN4HXsq@G(Y?x7Y+jo;IIOi(rUqV;y+`~@O-%UWnYpx8y>SfVT*d9 zth2%UWVy^zwv<5HMMS;9b3rdVb3=C*Cxb1|3F7B>sDfFO3~K}>Q{(8I!%=ohtAz=~ zE#&;bCjxbfP~_bI$hJ+u1_A&wL0iaiw(?oTBYfxKDa>(H8f@n2ypt-3-PNL?9oyD= z&u*Kp)&%9oZD;iJ+9nCAP3g5@rhbdLJgq9NFmD^8#xUEc!gP4GFSlmT3QxO-qvSX{ zPQ#LJh21sIh;a?ELIfb4{UZL9(U(Op#mhDnWRfJa<$^;t(ccfur2Hu>1(x|u#CCVG z1jC{Yybg?FBIcF{;Y;JBbi!f>-XClMpc6DH$LzD=^MbD^B9VTWA_xs%U~|7ZN?1 zR)o~)(F+4bk6D-(T=)1n8JE=H*<@n>T^6^5X{xtVQf=uq-eZQS|M8r$M1+hEA(EL> zkeMZ}X;t9YERs5>856_iQr?iFA!{9PAod59+61`$QlSp`69>n^%|bt^%h~R-i8!$T zJ!#%gvy@wUz2%dbp8Z3>CUUJ+!QA*Zx-<|X!*(9K*y1S=1EEG^Y89j%)MH_i5YNSz z01YX`-@K!;6plBT-x?$=X?>%l1h&Yx_XyILSVN-7Szp zTG1>YO(d@=l=Pe{N){b<9x9QPoX2zKT4w(+R0*zkFgsAjpYuY=G3YAdfWBYOQg7*R zyo?_lhtMZyNJtF{|21hgCxJMs2P-F|#)+^dwjuvrkW=>5^6{Kq-vD-QYjIa>6%x>Q zJo~WaC4)Bf{%I?6Narkx8YH}~CDG3({Zr6~%hh*%BO(9qLFGPqIl}3az z6OiFSCE-F~z6+1qwW;tVs`$>jeqn|hDG3+5j2o5BSh|L7x`fM=giF7&U#e`5zYh2m z7|}6#;VoV^nMEQwB%9>Ji5kjG!t?|}tTT*s-C1s4ii_-!f+7}Q=WY0`h?W1Y{nAnwOK_TXwMoOJx0{GW`-dZO>Qw|ci^N|9ot|nRI_Ng4$NdS5hFCyo zAQhk^fp;S+*>7uyU~M55;2&ngQwlEqN-g?jz???l8EDwEHf`mEj#%4j4;M)xW`_z` zY-{_*&51g2hAH3z;0AadaTRtQez^ix!n;z7Ea2~1_u*vShvFRTY&DX`<^wSvYNoy9 z9PAtbpGXw2_|RoY9u@+*zU%Iej7+u15o^ZR+0f-msTMo8H;)J8m_CPC|l5Xie+{67obF_M7jv_}gWC-o7 zb}J68%N7VO9Jd8dG1z?6gh3m$M2s#F0h)%9DdYyJC6qV@BV z=$gafe2kPR%kQ8e`3_=lTa}X~JE15Pp+#($a^`||%n)lB`h3*CT31=}h8dX>Zt4A& zIQl=lbp3qk;ICN3Rv7?V0uV==46*mP*1!j$<2uO?dg%brTW`8_7$f>08o|kxaqGj) z)gT8~pAJd4rT1In=no>vKL%WnM@;8V`@(oCfzBAxyTo{49b)S?v$U~Af)T^o&Mm5; z(Jf_>mqVB)N_rpLcW?hr--RjFmfmlPV?2nH{}iz1B`aVJhET=_+#rS_qv}&80P7R1 zI1mt64>;ktfNZtTI3Wrt(G9yLkbZKg4vW_+V%(HuOYiN^;zibs1v^a~gjK{g_JD_0 zfxvI2yx{={fsq$VeFxkJQZ>GVUJY8EZKaO~tVGvudE-|~qLDC>KVhH@gjvnVx`qcj zy;$Co-WI2Uixz(tSJ(&sBzs6}*ir2WONAQgYR6qjuci0fHT*lZB=;Bryb`oXVAa0& zNkP7lvPCJb*2*Z+zP>H4i}xHbpx|Qw6?m6noDyv5Bm8H?u$?QD1GHVMY$gPsg#?Z3 zm=!s|k2T+9z)hm%mm?dTbnxs3#fS}nc_U(s!XE@%1_~;`iTyJ?Q=J4``iS?4zvun( zwfom}k<7r!k4-{FRjx?wu&Hlbf;Ix508t5l^DMm$8Y0KAbjds^WZ-|Bw1D&vbag0X zrMq#vi+!yBWytXq+3)U)Jmh}cBvrxoX&zSvt1!FqK&JwpCV3Q*$4j}9B46(MJ}~3( zHOJ7^MSS_%{cBtb4#}7XX1g-mX0&yJ0jy*UTppnChX>5G!#Yv#>#|;{qJV{Y^t*d5 zSyTnAY&Y*mqQtK+H@n)LC2cDs}yoJXmm_TzmxENhoyf1k0fw zj}`Mkn*(=~6TfBp9Kl+qWOW$|7)s{Tv(9;6|1p-&}S<&Y%}L zoJ5)f+~=w{3Gn1Bp* zAwcCkGvoLxHE*B1gZtGTjFo$YXXk&98H^_l@8Ir=&PdpN4qX|^Z0M}8>cKxaCD%Q* zKqabG+2&}zreSr1(wJZ!w9|2cEh*$=*tS;T>x!^@T79--vUU$AwAf~qxTs$dU?_D9 zqtrrGbPX9%>(8gm;oDIBsGaM`kNAtN8_er_^J7>s57W$bOi zV#q$QW}WlKHKhQu))U;rlgckF_Zt+=?2=T-T_N{d$mKzaO31XWBMp*RYpMk%WYz(L z@qX0s%gz;6s*QuBPa8wWy7!`ty>VF=X2FM;89_LNEW7|>Y$07|_EA|{nBIQJ}?eTKKSvBl8$ zJlKZVL>I;Yo=OirwTV;W~4v>09<}gxr5&?@E4S~Q{a>X_NKRd#0 zU2$C8U8W2nu30fIRps6AkH!Il(T1_3Lbf+zdI#N=_)@xuTpoyUKc3`cOA}F@q^#&D zDo`=r3joP@HndrE*6IM%kvs2}5 zh8LBb42uH8tmtzPjM98~)s_6xE%}Lp^bsVr}7`SwYfn<}j1>N@$QT@RNAn>QUOtESunuwbCThK>RCUSM!902Z(t0pm^=DFd66 z;q)%5J&O?!8L`a@K!`u$n)@?W>a!ELYUHQNoxwE@LOnU96Bv!U{)|akzy=}+=kyw| z$01Sm>A1VHGf-I~Si0M z;{Y)hHo#U1^eAOw(ls$z12I&yg1ZTI(*feD}?sA04FX@F`fS3Mt5 z9d8_f4e<2M+rB_Qs0WNn3(7h7d+lL`K>EPl9-2G4VoamGBdy3vfp-Mip&V@yz_7Bq z2*}cfN(LQl$b4$@xRpKZsKfAH=ve4PD%~da;KuK!zlTKUkQHQFD%JVlMT{ma(`>wV zIwX{Q5G}wXGNB0K03^THc%B1cNau!NTdY0JjI#G@OKUermcxoUDdu}6RG)fN{^?`J zYw4)nvN|W4Q%f;+5AbPc6eEra;Y3mh=R!y>o}{r4wcfyY7C@S|I+uCFy@DH&yPgkj3QW3<9tl_z#GNbI6|98=BZ86t2JSIa-%)Obboez<$!7 z20J~Zt6NK@kV$x8v9JAUe3In^XR@KF3&0UEMzNYUNnlkfc)Mm?5f}WGT?bT-_S0F_ z9a<6gY1>mC1J(a183T4CH~_ST8QZCxc6&-xlUb%hK7ghuwMhEu4@0)Do6iGSL_@~u zq$SJpyGSKXvczk498fcwE{StcE$nKlEU5cxo+8X_f6U~(n*TCMTdyIGukLS_MTdq@ zK?88GCu8&xmY}*M7{SZyn=%;e!b8DD+$`+X??J&;hl*57t>tzx|FWrunzG>}Vr4B@ zQJD{~#D~^BFn`NKAupQ?GMeOa^=rdf1n12jGop*w7X4IZqCy@D`BqsV4Eb=)L9IEB zH{s%N&1E3MRs;;>c?C1=pj5FEK>j{53W%qQNQW31qiB_WFtC5Gh!VSndI6ot=z{6o z*j#opuqFhMrjSX0n1HNg{pikW2ifWyyPt|oG$XoDngKvq0!h4&+Gh?D;q)Y71>KWcVAm4Bfq;^yk0m(?7tey2f*3cMX4L(m;LbV$ueI7u349S{E%HmkE3Gg`K8U^?k}AE`$~{!5-uI@pNi`e6qd1 zor458N@=12ine2Uq&I2)+Xn~oyb5@3f#cO-g^>3YJdDzLvV6Q!aL_TZe$@G;Q}B-3 z_h6auJk)7)VVF9gqtMw55(UtH^#Aw&bYri=wI(tX<#$d;v}mbQ3vdY(4F%aES&7u# zU>fJ4;TmKWLA~t`&{Q%;hovG!{zu_P5YzS;HTh}CH?>n6D^UP9a@L$~{)d+6)cjuY zqDz=uVG*k!J6=l!370It6T0G^mv|o-DpC4X0Q)S*=wcCuapStL;J_=CI$8hOW3jg+ zvHidi*jl<{QbljfQWx%86mC0clZ5JpqH-7&`!jq$@^TnfN8$w~0xU9S{Ih5yaB>N8 zQVo@GjTTikK;qUmaTxfVt+O9X5^GZZTe*ln651c>^Uex@0x2XRH2jdg|?#(XB$#vz1p?U!)X>xAvmZIVsxoSJ9%7X5X%$ZrWHn zg|kn#iii$rFlOrFqfoK+4P=bpVMr8oo~`}6q!WJun}lW+t#Vn*e-$n8a|%_#_aTy| zT^$W(ojPjNJt>iO6u`i5ICAPKF0HWvDUwZ%-xpCRWDi%#td+kC7hMV5qlOyPN=bP> z+yLGR!lMlDiFR=7_3WKHC6zU#FOfJIczU709i740!8cU2^{=93d{Mg!7)1FHB0uUH z;B*yYEB~PTYc{PS$fe&%GaQAGG`IJ+Z>I3Wf>B)Jg^W=o)!QoI=tgGvTPqA!{{+w-W}M`3x9X1P}7C zeBc*mZkd;`(Y~&Qo2P*1HQ@5#awNX`Q)!;V+Y?4<16TkubR6M)5s%WM!Vb^SE93#A z=w;u$SULm>I4R(KJrW?q zJ_5GmG(nxMS&~l~2cXJC8EB|xP*uPZS_sNUy6&T4o2(1zyh|SY6Gk-*=A~Y` zeHG3bwz?uNr$4D&de(?p0hhlEcvdxMXzI{CvJTqgMZ=^Hm};?UWX(H=Tw--+fCM}Z zfCL4Ebitb^KO`xt$6FL{{kv;8(zit!jy0s2#|1_;W&g{fJ>$KufI|m&v5*@TGI!Fg zhLRL$SpB_Znw93FK;zb}{Mj{(5K=-x1x|ktA)OEuX3&VeC01jzu7I%>$BlHZMK&;bL z=y;G>0V6=Z!3fg#jUrDdU?sYCO>~dX^2ckqUH@=N1k9BJo?Q$+%4wGvn9+5nzO0eT zx`gfFNKKchutZL}(*{1Vy)H_jAYD9yENngeV6PvPGFhOy0My4b`EsTmU!{+e}BYwF;VvRuDsxu?SY$1FGB(sBos zj6fBCpE!7D;e$H^l(QzU@O7sJi2vg*+?U}>RX`kfwtE3_(i56kmlF}524_E=h}_@b zIBRI^uE)(d$oeInZ(M`Lj7tf;@#t?HVEnLjxerex$vC+$8Q*qIRuynk!1p`t(H}TG zKVcj%-kvZ^KzkB&z;;R5$9+6u1cB`u9cU2LxL?AEX)I(3H0$bh1P$7Upj-iL(lr+T zvrAZh#*kClL%@xX$0f`T4W`oo>)8CA>rMIDU+sQGbReK(77DErDQWbId~%E(&}o3nAPKmY9z2bAQBD5#Or! z-z8>9L)jg8GDy=9&pD4JY-{S!kz``xkGM11i%WRhAyWQ`nO4oX=(m^`s8mahfXDS( zWA^>|h>JX@SsQb=OyM|r#Bc!Yxv>RA;nX1!73fh0vV;QLc@JkQIG~s0js0G;TOS8$ z4;b@hFV(c$ZF5m$mJKXqDht@M<0W7;jlO=uR^p_~AI?NU936-s6H4nKay^PQD`_e1 z27Z>zV2M}~>yqZt>%}{)2B|I`9f$hBT3U~IDB|N3v*@%};p$v6)B4z^>E8-+} zt`Vp{lQZv<8hs1Lt|~=bvHP$u@+mvgT3Ls}u0ToEtOW)*29=lgP7v|+6c^Bf@3E=R z-cCIlp%J;PZpDN*9CoD8=gK5BRubpX2jPMs$z!l_ekfqc=H=CA^=Oirk$nJ`TFg8DS5#_j7g`RF^bA z2z0bZNR6#>9 zmv~u#6ud=q@b(A|v5n!Meu_g%UMhW2V6MJ^I|N;jT~xeB|5@4eJSbo!s1zvg;7bi8 zmJ8@5>J!rXD9ONMQU7VBOb73SHhaEISSjArXQJ2;z4XCcbt{s-yI?`Hd`&U<@HYn0 znxs1|7sXrt?l{=v=L6=tr1XY-b6&zIH#MXgbLguW28dtcG9YygK5yrcp-RiPy|yST zt^zlNfa~7{98ol6^^XZ#L=*BzbLg};1SvZ=?aIrDGp4u*a=YC*?HrB>V^L$AEUbW= z0zPWB5`H^X^MC`0)SXnNPOTczf|3mqH zq56g62_sBv&jLp=dqmeKEaDIto~7)=D_rPW-d;MebN1xP%lvU;JO!*I7q3aKKRS~3 zATvN|52Y?pLQx?R?5gd0$$|{!UX^jKJw4+H=`e|Z6@jn9>!j6Qh2(Q2_aAMfOvfu4yb0!y-#1dwX?H6lJ<}&2-xH zegtfHS4ZMES>o^lN-B+6nEnbsI=HYow<0_{#w7zmp)+%!0L_SQ3(aTCl^PkdMvfMhT$q- zhwrSrxe_8d+lyg1AXfPLA$B6|%V*hB8AX4;>+o5?N_FX)>Yg9)oEV)?22GH+p?5e= z3M6|&z%JLN!nc9!MIjn!SH9d5q`F8C0R_lQAAabTmzUDPuf-%{M8|ySA9Oxb#j8x0 zu9>bqX;b}JSt2HKd+BmS;5vi+LgXH0q2mEd4GGU}HezdxVs#T%@{8=bgbp>4vktU5 zE_*^c_c>Kjrc3Sb0)}3pM+V5>0#BDwD-;x(No=?65Uk?82m|C*S>=9H^@Eg~MZAUx z75Q*gYelIpT{}894_`-|=6uT>9GyyU0E(ust_k> z%e%SBWlN6CIe#hq;fv+m($~g(Tp(G+k+Jt}4^z zBh#^fwA$nWs)|Y%+yGh9QHVty2}GuZeM8_!O+GCA1e_P86*~YY&`X}iShlk5j;ofC zSXu6O!YW7Dx(FyY`tcH1)+n$l(Pbq%wBC!BwhzPMvO_}p^kBPeQowFSPAnJ0^jiYs zPo}-D|9;9GFsz2r5)na6!|^iMZ1e?5-I1zdMFYfMml{k2&vI2+E~hL($(&~<*5;DozBAMOLWfj*sa527Z>Y!*f#dbn2J*fk4;5)UarUm)h~ zG)^}GIhi0JA+>jY{pvLv6XS&#BvC?DZ7>Mr{S{aKodKnL>?|rm#hZd z8#SS}!lizwX`NA2oRY$|Z(~QmFW-h?waSO4+*aZrh6`z{@hW9n4=ZfWaB&!dW(2iq z54XbF2sbrn!bJvSx|@~=GhUoE<+hUk?qW!&Fi1_z&ZTsu&Qz@ZaOYZ@`>SRT8&f{l zY>~;9;}vfo+*tmR+HF- z^1jI?$v)r-+)2hf;;R=qfhG`ANbB1(y6lR8H{%_H-uD6s2NVd3zgaA6vaT~rb%U;I ziM<11(g30W24Fl;j^M-k}C*x&eFE__7 z576@fxAIV{|8#(nD!tzj$B|?SfOUs-6 zUw%U*W?Oo^UFogH|BCm=ee!_*bNo@f_H}j^Ab7QcU*u&0&VVObV-7xQ9fu(EzPczF z@&zGY`-SXdS|TWgvPU;?SAMJMavT`Be#Xm=a$`2@|5IJN(p}#0$h8--PF)a|U$cmU zz$Wcx8tuH$AT>bk)JoTHU`v-)k(V2iPG+ze6|CobZoj({T)p;gNX~p8uWX#`)CCBx zE&YtQGQ!>J&%@8W%q% z0kKs^W*mbE|EhQ7E~$8x;p#QRJ)eh3v5#WB|4(4$t&iBQWXZVes^vPf7rS9f$ruul z>j{TodQaV(Wqq_Nh=#I9@-+s2;f&Zvq2;D1R=7;uve#!_39kNaIZ8j?RCrH&1Bf(ReGz}^k(_=`_Yadowxdd z#LwNpcoHc^d;QK?ADnRfWw}`WdLXmBi}1c6L9kkztNz_}(+W*K@m{l=u&rO;52X#+ z1`QbC(#^LsyRkp!#ZM6N>V-HBsTbO2PiqYaqbB0YWikOHQ#$y3IKR7PA+I3; zw{X9IAMyp;>`mi({>Sdu(c`**k(l87;UNzRpH((O^Y-ZhEkAqtf)eE&^PQa>7Y9(edQA+(YroG{e66wM#&!P=<+pb2-)LJNFEj)X@tyB+GVE*e7S8zF zc7}H?Ej1SWZzh_?6M0MaF2@Z4d*6!64xMxCZyZJu3(Rvc&L}X`r$9Q!9155OH>4cP z3hv=iqP#q|^GWWq3U(N?^hfQH6)8d3`Gw9P(ir9LMKeFAj+s&>AGl^dGkH2bKfbH8 zgzpXJE4MX?!p^*F`Y@E=M0GgAjZfiXYd`^F<NzumJqCIo5j&KDFdw9MiuFrrw?y7cDhxB?Sn>QqOqTLYOfs+dr zNLv&d)p`sef}6Yox0$_rL#h*t3YWG;=Ff+H=c;8WzlrB?#2fz4+L>TijvHBYLoyFB z1N+~Y*GK z{e>M}l;0SZaSbToo(DcuzNGL)G3VEkF3M1e0v6BV3K*sRpYf)h1P3w*;go8k zl;p%}&4_KFumC0%?DSLcXrx{uWR04ycu}8ea}Mb|Wa70-{}>q8E8vL3o#It~6VKs( zz?gmi4A>eOn49-sQUJxOopmLcHhUMm;^}&lML=*n0E^#40077%XC12sS^HYJQ&UTv zbuHQ|@cXLBUJ4ktWYQ{ND8aS3KHzg#@T6UvL_!8MkkKR#MMC+53j!=3RXiFRk3pq9 z*Tl26sR^fF6Kl0QBk!=0Ec2r79>A>cDKavrfv7dtr)d~9=97_hO- zQdY1IPZ)&Vf!6-;yADxVMXVIp?i2^}CGA+?=)?f<4pK0-q9{o_2)q#T(L=OWcT7xR zng{hDqq6p3Oi&1{&@~1d#-S6;Chov-Q%_R7l%gk`;aX3*)ypy1;#G=kb%}SsKE@Pl zb0T0J4|Y(%CWA_dA`8WG$|Fv0doQxkODgu~30F zl;PT%;p+B+_;7%E*Uuz81Mk*+ys%Lj1loC^c3B>;ED9T{X!G$}re{Lw+<*M?kbJ7J zDf=yr6$%4}2ni!z}VqI6i5et+tKQSnzlg6HPcf z=iLhvuT}b>uqWz-Muy`HLWF8%&2S;?1K!P9Y3i)~rnK#dj%eg}g5cr&Fp$Eh^y!hK zW@xxdThBfpFiQ-Kbo{E7u{8(y1Ql_5Ny+NFt0fAjQe0nC+_ps1m~L}`(ZC~z!_q4g z(#4GmAq2>$=HJT!21*3JsW^Dq;zf6Dlr{D0KEvdyhbcM6Kp)o+d8!ldn&Has`9ip1 z;4uFZNuG)aJPm^_8P4-~tuuh>8{HfRtve2?g3_>okP-I8S^Y)6pWU>FIFl> zS6$KKJb8Y{BZgDit*_ZF@1AYnaiRc5olX7`m9?7uNrGKvoKa>=c4sckk%GH5mWTrU z`bn^yd0@k!D{DH|h%io1SLR6=5Z4v0GFxApHy;1bXv<~-NbSqSsDOfnAN}RK*vjxA z0ip7>@w#J}<-&v&I^KOs=tlOF}; zwZ7&xX0<;b?vADmZ1P65(=({CKo*uLX}IIEXOYGn#+j!CBW9LJ2wjb-Y%P5N96B-9NcC})oK}FB5ErnB?%@=ZZwJM#C<7naI$onOUd)# z(w}J!$fdxXYA9ON7)M@}n-r~bT3>To-c3mWb!?(#8vF!yGp;DB8%q;$1^a$eYitOpFC2ImSfvR#mV9%=?=rgjV4`LgR-*uVhh~6Wo-o< z74V9&|0UcP(lr`a0no97((iJi*;SA78bF77ae7a>5|?~HG&L26&+>rcRCHtx+66WX zsF@@;ExH39bwdhhvOBXYD+L#9PBL(a2y`-77>u)2FC;2-+6Zflu~5Q1YDUaRiQl9N za5AYaR>vQ$pKmK#yIBfbi)oa~s!X%Wh-3kqzK=FJRVTURiGCTvZXfJfbF)CN)L zkh4QlCk_Ed1T3j2QKPw)-2*XWoFW`;M(aj20MRKeL! zj8<7F`xB<2G zX@!gC7X>cKIbNE*1!o>bJc#(AO%pK>`&=>a1O_F$DF(hz5xcblDfu5_Q0F|?H=M01_=;GB$UtV_tqny`XiL*7#Z7(L7B zt*9Tfe@6PcEFf6u2hymh$TFd(21HYkB>hyt9B!@vh_RF1!rgH6Hf^>n0ndQJ=^ta7 z-qTOomlUwl-9P0{LyXLfmB=Y}Zu4_fU=`3bJY^b{XT-=9r}w;%h|v_xm!izm5Jly? zhdnJO=jLkr%;b#Uq=vB$8CZ$pQ+*`PzWd1KAbzadywph= zK}hZIkHyMI_S@}LQNhRz5qDDWGc{?2pWk6F48&wB@sD-JPP`UJ*U87#=}#90Hw>ny%4 zRx9G;q<98Ep^8`eE}gG%={6ljh@mzDjm4($g>FMa(E7xND^tLNSlj>Iwd=N!JL@jX&Oj zMo4iPDcs2r@FHC4{Lg9v4W*>Kk(B5j&QtsZ`(*C}HJFvakky^6F_9n0baV{v<>P_f zDEluik*vYP<)dS9*>#Kc0p_1qzzjDJ(0>Z}dfy-eaz9KlnZig)w{TLTdq_{e4;c9X zD7yAtG90I6Ph@TSz;?7{EX^+9+(2p7m4xKX*P4KoqU6ki*e!q+uhQH@d4e&w8}`H^ z#5WEciNBYivf&_K4Eg4vvz|3Skxx7dVJvN-f;{&b+!vgyB1T$@cgWun)kh908^|Qm z9`SOw>&rDD9iVuX66Kl#?fb(9padl-<&bn?oXF6YiE! zmZe>aeHT2YtcnLBBD;H*E&vmsnS>T!mf);`>ar$gKTzRDueBqWLqieP>Y}v+QMgKO z59cZUIvHDgab$b_?Es&^=@xxT3_bX={l~!DN|#yVlm_2!&n{ER?c@^wX4`4;D!Jtq zHCMM|_Poi^2#uC%2@L;=5}hMppCG7vD|T@a>Tyv|1gFS63)(6jn`lH8qw{lC2@w@M z!BiOxmh>IP18IkNS5!D3!e1x1#Ax>ZqYAiI#LO_IXhQFnr)CF{*wC!#;k=47Na=Zk z{F2la^?X~F>ghL@R>;b3`GpD(yUWaq^??ixKuo#$oe~gAVwq9uWqpzecENBAf;+Ki zsS8T#6x>WB?6Xf4I}^OoeC-lBxLw60!bvetRqib3HN~ssmRD3bz3G-U(gIn?3a%zc z+2o8~b`SI%`Va000E0k$zoa6OJwcF%Uo1RR)fq!5Y<+5X?02tod>oB49}@~eVir@=|d!z!Tb-k zG*|*wMpz9p-CMyR1c?U$$t2zt7LJtD?(wF0Xb%|Oh$VC#2inc18n?oDvv?6p6|K6G zjr)VLw!>efgQC^Y@Lb$dJJ^Bi$G8|fj~DEec$SJ+t1X4AX%XA{K}U#ZMc5} zvXx^>eVk}Ao>c%T?I;HCjqSqav?qVrtpBv@huXmzVeO@Qt$3B)UYw^bE0TG?40%{E zA?1oh>X$a&m2%6j4!eg`JfO7;I2ukP)~HW*i$#p-#5$q6$pC^733Y3w-OCFO7>(5w z=R71VQlig-v$ETZ^Yly3h^1Fl%&-;#%&{u2P{=hf)QEyk3ljS{I(ikWOdB7u^kM6y z`Z||S@hZDLoTnlksonEM2P3t;GecZ1(R zc3x3da7xEL0siwM7kOwI(m<8x@|-?ZI_Lykl-?fF)2D#(ONqxFFD-*+ekaPFR$hau zwyJ~!f$){xS@Qe9UnE?+6k zBmw-a&-O3~^6Oxr8m-3nMSbDgV~NE$yOgmY(83VB-Kwr|?`KN|>G~a55Xq&C|M&w6 zKnSUTeu-wcOSIe3Swx-~eV+ll7(JS(_YFu)TiTXC?Yy|j#k?2|^(NIEPYaJ05V=?wuBq*|ANe}{I48h^k0c5d!z?tvn6nDEDBKr>=U0Fu_P8BJZ$d7Rt=k;oN&Z_W4o%@>rL_oU)dEO=7ExN$s-6HO(lPm1= ziW`!k8qP*5Yy(Fa<0b?63Ht%~hElJdp0$>2WY? zV=Z2$l5n^g?80|{20I9w2dLc4Qp-f!TTKMo>a`XEgeK3T7v@^wDz&}n7r&&7Xo^MI z!0@D@iF;2`Q$%o*WQKjpyd7FqYvGOjw9bK#1OB7LiJ+1Rg5p(Xd$TY0$06+53~13a zkKh85Ju9%igLKP#X#XQ5|25g^C==(TXx~`?3TCY0VR0W;d1hhq&B-H1Bv2=Peo}m zP&=UW;)NNYja&QpBF~E}QXx)wJ#mW6plFra9_Gcbqjlm11{{{fSWwqjs;GjlGdlOP zfQ83Fv#k#uR|@%vGZkS9 zR!n51gU6*Oqz3cx0+imqd`oDD+55m?7Iu1<#P*B1Q1t$EHj-#|3qYR3!Cv3mqc;8#x z4+B_xoR)D--th`p>FrIv*wXb7$h9i9U4NlKz^nxS-Nc26)QkeQ6pZBisoj=!F!d2+ z3PB>UupG~Lm6Hr!kyQ1-tWF3DxSl=-^?)1RoeEe9ZXsWYkG?q(jCD5k*-4dKK&~}K z=9?CZmI3e@v7U#nr;nF86$Tk?()ExyMNZX!5JP0^g@Ez`*Pa4|bb<2-E5R+~i%;=3 z91(V%Jf0!|x)FdD&JUrKOdnA}sJC;`FJUP}?gjl&X93ZrdoaZ^As<3$K++q5#c3&u zsi$u)n)2I1zbGQ~Zk{hXa1{~~oVJcI5ziOmU#$1vIS=p)X$~WLYk=gQJ3`9gRWmY> ze`!da%z)cVvYn?0Po1I0@L0qzqxd+kJk) zbTr%#0P6S+0cDN{IcZp(YK$8KdP|4d#~+f7cbiQqu9qd;?FGSAx#Od|hkM6?R$AHI zXdOW_&LhyRu^N|QA}smpVkLyfi^l1J{f3_76pgQ4FoN-eO%|GR+(N=AAFg0I-|Y%u z#-mt7T6K`z6IVDG>yt> zatjTEfNS01!|@X4DwqQvhW#oMu@63l?kz>Tw_e%lSV4?<7}jIY>KIonlqCyuOE1yv zm4mtKR~M41Nl%!68CK^y#3tabB)2dz%2(b|L_VGf92ppa1tS`x0T(F(I0C$j7 zPw-HSIQ<^4J@W%{sNWD>Zp2l(=NcLE(-~?FFVebl+``4+MxzecJz$nj?9_r*q{wod z%)JJ}tO*L4@3M6DB_gssh2ZoVAx1MA4;knQJ#$%@c&YAMTr2S`s)!)~94 z$D47YXmdQ7NGR27_JE$b7emzlKJDvDapO*L41e2};Q+S7J|fg>a2-Q(JANTXj(*CC z77BnI4bTEtokfZccZPsCs|bB;_Pjd^%?Rbr!V>q!GzDrSpc6(?9G-)Q-;c1BsY6Mw zE6I&D$!&`WfSboX?~8adba-0WDKtcYV2Nsf0XvAtZha-1!}Wn0B~kq~YprgeR2e!n zMtiH9_ZNVhV#QlM=e8T{jXz-JxUuHAzEl4lyDw6pS7spB-+AG%GyzS(Y!9N$L&qp+ zK1XCUsR%s7bshswDZ05N;z$(?+~t@+PnO+?6)Ie1xN&E=Ts~=Ra1;-LZuAF!3pWIE z))DAGcjo0GAj`B0w}Fc10kY%y(HWWB4cmMs6>)#(Q}P>au)q-IzoFCU0{5p&3aHQM z%5kIoO~6()wcGuTAu?C+z#E+bE%;ht`+!Cx6cWgNEXJRG0LeeXB4FLxJl>}B<24VA zKf5axul*V|yw;wIS2=F1Ic_`SvGdc8t3rb^!5NY!C7P^5mN=D?(hBnfiaQsVRqhox z*z11aV^4tjG8jd@ZEWe-9_XhyE@A`3tbs*yfWOmpZV3W*Ia>H(UG-5 zZb^@qVxdyJboQ3x!778;??QV3v%NHfTBKF+nI9rt5t1zWw7|{%Kp+k28Dl8JjsAMy zwi)>Z;s|=oO~8iBuUD$V0%Rl?Z4keh@c;$4Gm4cJT$Vc{yO$}@9JTKruN5~akm-d> zS?Upw^ALNYkje(GeLP?bG~WL!9!5fw`qW2Vk+(tU z@|sE&D=8`q&OzbhQz@(54jN;>fL*3`MvUUNe!lPJ6fr3d@cWZ8?9JL`42WlG7ESz# zy3$z1N{SIJ2#2rRm31_syIGZ;z}c^Wd2etbsp7`D#s)lxW1M9&HwB~q5>zl+7e23G zy#28BnSJnwjtM8{6>;Bri87!*qRco>Fch<{q~4Wd#mS~f zTkim;4nd< z8s0tO4;Y^Ftjiw<+y`ts5@et@ zpXeG!$0X%5zn<`}?uoR-G%GBh`YD8&*2ugiR>ZWZyYe~{%A|-PfQGzwMP9D5lC7Zm z<|&4+2fTB3ZT5L6GuzLwatKdl&IDbO!xE7)p`~3S-meZ>NP;Mo_Si9%eN(vHcR(J)&gMR;=1B*+V?<6)6Q`Jv5P~>B;~U%@z!&v z9ghkMAJIsPFtb(H5$=>2tb73>D&BhF<7J6Ol2Rov@uHQ8QL?yFiZ^m15O3zkK)VwC zm}-ZfdwRlE##H`%hvIEZyzSh%?(xb47t6S~vGAa)I^_~)wV^#2CMtI!T$@-bjBXIe zUJeAx3-%sa1L#K>!}pHJ%4*5_g+dCBJG1l&aBwvd<}xMVz687#lj6tj#(x!|Q9ff- zt%L)%507!bst9n(K#cCvvQ{+dBF1Z{KVZA~nzb6Pa)pY_koutgXO~~J93X85Lt^p#ji&0 zY*F74c)7WtgLrz;>SUgf#4=DEEhgvC{4$*aHeP-k><-6Jf@f&$F1o^O=pQD%58 z!ee`$F91yOsA)C4vK*{6+w_fWJXgE5?5X3BF`UCrT^%JQ6;GwPu%$hS?95HV_;{vk;`q$*Uv-Nlr&~~GNT&i=1pAUa zoBIZ2Q~@i?g*(gTPvago7u$)uUH(uQ(a{KH-oc00loAeriE-EN+@{Pfm_rTkHNd8# zV&m#ed`c=La-<%4tF$X%CAqNna@%|s&b_{)Kt=_jpemPDk2erd#0-!m*OqvTmbnP~ z%`(DjVW2!?>YJm;(ACT}EMHxW=R~4eNe+A~@xGGW77wAfdLyt482}@_LXD`EMnt9r z7zCQF^p=Z!0kA~GM76^ZkHlRzOCSPNA(agqBM|8euPh6&hJ2_J*u_1nO806xigsY2v&5hrnkbJK$Qyo_>PM|}SoC$V z5N242+u=srON zGn``YLGtfB6NH)`tSUMRY-!P-aI}=Q61_r@@aHIapjL7NHqtruDD4($8m7gd3>Vg3 zj*;=^eY2x<%mR%DX9$_f))#O$wgR>KMh-chY86mIH?pJR_PlQp9)MUzlyCigV{tLu zR(9FQq3>+J_S6AIB0PD#%5Y(<7uvSb;9DM7v{3fJT}lbT4gf-;-E+uSXD1`sR3>)$ z8TBwnvy?%41zk3yt*{K|wG{33X}2Q|jE5Pz9aTPuJK6v=t@VLb5+I<0N*JH>Sd}8BXx0dW z4(yrp$l6d$H~Xi(I6Dzz=u_0*zE@*aWU(+->XWhO8#=|S)E3hkZ{9KtvzPl~2fnt<!{j$XHuId8XtcUxJs_d0;DrL5uY_*~h9H zlb-Cf;L?u8s7&)WT2Zil3YSf?rIzliIBQ&!q{4C1vJ4W+oYElh=iw@|#n&nh5yQ>% z-Ep^0T)QO8Xy2)JS~CoXDDjIhd6=MjDTu{J+y3!v=njk(dY1GcCAK&d=J>YNZ zrMqXrEPV0R_~uU)C1&DQvRA}gW5}`dd@N7vLO=*wUx?ZF*y%L*>>`g;JOYW1RJa|?8 z3@gi}HOtvO{&VQp;H4wv7I|g5-dp7i2p$9&%T8 z{~v9f&-C3yn0RycYIXSSOnaqxmF3ckHv#FkdA|0`TE&gBL#yJB^-0zOv{fPvhZOo5 zL4b{9p2KMbpMEDfAo(;miCLE71@a@0S=|u`TTTE{DZon|mjrZ0Q{X5a6StDR;!Qhz z46>}dq=773Au6aiK7vRMrzY7NLk0*B!0VJ<3vdrh*UjM&*31<|o4ui@o|fRfT_GIn zOCMTArQ%hVOKXJ*>6o~i z>{CQgXnhYD=`)Bd)~q399;KqGfW>}le9|IQg9j=H>f4yUVgD8uM4G)eNPTs{`4iJ_ zwXXg1*;#K9WL^<3&)y41Dd_9So_fSea(Ts@pdYfSA_$mSX+!Le^{iiM%=SP&fW3*X zY(romeB8@DKFUE1gr#7vYsQy{?C~sHJ32KXS`bvXN319F9Pzl5gW^?+%P&Y}+OiE1 zS=w6WB(O(xw;&xf1y0~nEQ?t_P6$&!;)xv+Kje1U$`dATpAecQeivK<++;v()Vl|K z`;SLSnYgFy6Y%zq*wXrZFJLtvqR#roWm=}CM4~4fy|1wLgvDZn?S|L0;>A-C8v(wb z-Hl1OYo@NuOoIO!>_fEwj!7vluZy@n=LK_u2eWGN;4@Fw3>e_h0aITSE;khPbj0w; zVGH@c%BF}<0wle{4Ok^*7cKG3ptcCDf*5=Td~(@H8aPVJ#7$+N^SdMebE%@rHnKka zET;|1K`kq|Kax)Lm%MIh6cdU@tZ-LK5!fc{YvFOs$E#XwOt)KlUPfr*XM@G|<+mV~ z8k$JV#7$+d$2)dy5kuRc(Xx!)z#KKfAu8gC*WWn}(BrXQWM-K%8`mdepaYLy9o`P^ zFA;#G08i2LRkx}eZICFjMCQxW=}_@1!{s%@eUJy<$n#Lt0yc!~j!>V*5DdiZ*`x2t zjkZor*wlk{D&Xs8wDeHbK>)(GRWWqzJv|r|=$Qi)YJNK?zvcIUa?f(uDF^XA>-v`_ zl=ysTU5u*<(ge?hlBo#8L8~?E6p#nu3W!eM@lv+#sF+xXIHxIYL`}fbGI2-Qd*ZiW z34jMU#?xfbXAv-Cg($C3-SpfJ0Uj|6Y*g9m3P(%sB*7-r9m^0R9Mny9!lkg=qD{8n zz8@MssNgB511h7$Ox#iS3V8c`KkexkLuB96V@=8Z7*yC0^K*O|k+6f78jcUx*;XOK z;R^vEf=TEY7+2VzdcniBtK%yv6L*yLg8lquxIlZ5Xwf3HiQ#lN$uJ;&Ji$JEK3*o= z-xLPf5G9QJQk}Yn7Xm*@%fuaJuXulZ9%y{g48*=0i+7kdSBoJ}y~J=;gD6FeFcP=; zOU#G~X)+*9_xB7XUVHTYvEi=YnDnQfg^f}=q`vrd{$ zL?OV=_UzVtNu(p3A_z=B**9(@O3=hjWv_ty7Rn>A{E&bK{AbZ}m5{4lTXwtM??1zd%yGH zNmfL28NM?!O-043%N4Mq*iK|4AXASFKBHe|Yw+bKNStqXwBT(VK9gCzZ#%+tOLH#e zuxo1X^>n&f)^IbNVp$BhZLD-;Yf!&11$l@!Bep$PuvYbW4+o+Bn3CZv zQK8W(US+uY;tYJ4TgNTQ0k9j~EHL3&xB^z9g%=Hwi}0}baS%%#(Rn<#o^VU`p>+hF zCV?A!ymoxgDRn|&?28O(nk=re^;1Xx$wt&Z+<`}d%tXa0vPX5Gbi}{|^a4^@_mom& z?;=&t6lTESGwQ?-xMh;wHweo;`Z3AclPO?jxcbU)=e{f2-@m+ASRY%LiHej@rGnJj z$Z~cgu{C+7Qru^eg6JIA8^=^AzxZ#87(d@soCRgIrCmP$h?U{$n&I}ga1zn_IpnF7 z6a^wKdX80HJ=7??BWi{3`5^sH7u^UNF*%GUpzw6aziIhlaO>^4hqHfkZ-~-0S&U`N z|JWU-J@tFQ;bSStMDR<9Dt1yQP-F&^F>IoLHyGC&z)8q3;0A<*`m z@`xPa4_Fzlo&PXi{BLSS4wVZCBH^9lm~WB?86sz26w#ZO4Gro9V%aW|nUlE`uu@!m zjVVdvyMP1A>0tM{4d?|aDiK;9f)P**oO2LC7^qUmKvRd3DfqovbBL3s;Mg z1}?aaZ%(Wt%F_{@=2I9UD=Z;`DYdU@m#`TME9GAO&FWaz3m2VFj!e1$?Guws3G@4%j?A$A=RK z97-CG{uT=3qkxs+7HN}@8IIjFoU-{Bjq9M`L28#p9Or8gu>E5K2Uj#H?R{P~KQZO4 zz>l;9@dqq9u~~^(S#$c@&?+Fzto)~2nc2OCleWoXDqBDH7jb(#VA6smEZfRa+@%%8 zA~biY!a;2<;25~SNJDU$#2GL9?UYx)X5#G$3h5*raxFS=S=uIxtL#6Bw@HAz%FwPL z+y1<5Cn$L!Y3Y8vFgM_W_-mDd`;Zs1aTtrrg0C>7Y_gcjehzo9d&Ec1cp9-A-w_F) z&(z2sCaa+Jbwef1Dml>M`3kowxlH!c9GEb`XYiB!&OmxHsN9jR$?7RvB(m@`-bg~+ z$&9hzg+JIdc>IzBpH(%e=And?^J4Rk5Dz#GR*>^FWaQgX1L3FK-Er5TYRYfh+cwyF zC|)JEz9zR1Dq~^4(X#gzNwx~BTuV+1^bkQ0bw`<2-SKJ{T2Yl^$2kW)%zA-o>*rhp z9&!IcwfGX5_rOzyR83Y(S#F1O-)?T6uRWRu_y+Ivp?jWy4;W<#DF-{IY$fk@{$w|b zsx@{Gv)v4d)ts*|w91sS8pTd7Q}6S3FN;z&$uCutz4Flq6tLxtNwTlP*`7k(bIscS zmyw5AO=UTtXkit2oIbM#I&;CnG{OThrt{ zxpJ>(3sN<=HQ`#x2873Nxe66q;VQfJbp^NeKE>UD%ggEnN3GlCO7#$nr30vKGIkqJ zypXv%DtY1I%X+*KF@l_3xeG^d?9V0|s=JmUuNiaM;o?FgizKOdmEB&dCR>fJpmR2# zt?pVlf7}GG@eb7vELEng$PD19^&AHfwd6MBzNY3U)d&6bWQPFy3ap6uF-+C!@^!_l z?Di5hL7RHpywS~65N`WzDT%yw>QQW(^;6?(@ zSw)G}0|wKQ%QVTxCev9XftAZSt-i(mRP`%Slht7MQ^KI#!dT(@3*GQ9KYHNiIop`2u(Z{OFOI=7xxyh?E6&k63Y z;|++wSPCjy%;H}4T)>sVKHzdYJU-xIn+zoN^p)1B`43CD7z9r9^6Xh@Nz){cSAyH? zltvg6H&Zsq4MzzM$|OE|l8NI1%bp6$;Vze-^4Nc&JjU%p^PU`h@60`LyL!BUZ$(CC ziH_p1m&LckM3kgS9-z{k>8$ zWhTHiuOYJL!(S5Z2OTyiJdk_miBOIk?;Q7=a4V%s5)!bLNQA=PxJk`uAQRf2moO@0k3V1e8a+z1@8NIUslzevCU+<XK(vf#jEu8QZ(5PAMEn_xy(X@ zi?;wN9$dsln?^rAGHMTOuIjmT7xrmq##9}wr&sGaOC#^eVW%`6EmkUu0K6hVA8VR8u=P>O~nQZp&%E4%GA+#tN8>x;02m}Ia70w8N{Q<`Js z?{t1UMhn(*0aLXXJ1hZ5q$g;l2vq^w|1UzIPotnqNx3%Sew1e$8fb2-?lOs)ly71t z=eD1R>}Bun_19Un?nY{Z;|t!i>UyBu?;6-9DTI_o$5;}0c1AP*w(n!HGZ3~@N1{-R zG-;WzHBVvclrjd=btWy7a;_`^P@;Jga7Nc1O27#(1=Sy~fCuAWMz%FiUV75$v)1y& zjt))K`;}urf-jMN%d2E>nLf}JZaC7+$WEn;e$5~rX$7g7l((7*dXk%n?R>dO8sd&{ zo-|R-Qk}cz>&zf9#Xf-jp%Gr1JW;M^+@YCJ1F?r`p5RbOLf^={pIgotH#BL2>B}e7 zR#gyEGb!hq;PyiZCgV%V6WNzFf0GIWc4%=)OG4!lk=?^Hpt9Cm{z z4P+;eIKs;nuA&eS_@w5}1rEO7!d(H^HQ;T6ut(hGGC2Q|P>HJG>?X(=i7wB{75D;+ z1@xmRh@K&^6~9#|BCsxgvDxR1>e1xp$Z7ctei?YHxw}V-DtH?wJ(Kd%Gx^|!0A1^9 zF9EScwaLhp1g(rukdrETG8kUyaJ)0U)<+2ottk*Yb`1ko^?)_*O?8qnDkC+$cJcsq z@FyFAtboBN5bz62X>Zhya%gSuF{A^m>wlD{BY`(r!Aucd7A=Xa2DcU$vFgkZvJ7=U z;;v;3NGbHXeUip*95mxBB+!dxO9Z3UuHqLBToDIF{MPQ;J>$5=qMbrz6-bv10EG>= z&+XvnGHM2*9UoRFVp(kKLC@7`h`<{KywyjQqLz@Fx!(_j&-LRO+zo%kN_LN=N&bi| z_-i${CP-DXPk`nFQ-(V^XF$y;U7ZpFAzmO>@MFFS769VG?0%{=A#701&D4JId9nyyoSIE8D0UG5B*lx?!@Ae!?2ZBXfnsTMCj-`N=>cZN{{n9-L zt#T^vR)vde&uA4!Co~Of`RzS$gVQJt2_qS~sG8(`8`@iPFQdb<>P2JX#pn>72n-tklk`l=OV4CKhk%y5X^r>})VAn|#^zYn zN^U`USXP%|F?ear2qBfjc$tehAZK|FP96^ja+IY?FCv~wElJR%yai3Rg4~}ranuC^ z3YVpaDv>dmZ1#~eY_>uGwLYkWvKNbY7$EN8Bu`ND4V6k#G$}7d zlMhL`ZTT2{pHc*_tz5OT=CpJGcN0>G6%h+Crl2Rp-r(^>ut(1IFf}*S66-ubzbg(A zevp1if+i)b32rOdwe`qg7jye#uz2G(Lli=&2Kq%M>ic?#((Iv1lZ=e62kYz*u6xpg zI^|Q${7XM5QEuuuNYSLkwU^t&j^r`+GhVdT0?QR@i!QCwKpi9_T>Eetk3CNpqF;o= z8%mshDR4K=39=8+G_=?njK7O-W0ndnNztUl@VXr~fg!fBix%BJl!g&{p;7t*4?Bbw zq1Pk-KjcW1@f%=$B*SO8XqQO8;iRv(GoU>u+tULhPaP4ahZ>uo&24K5HWUB)LXc zomeRW1%}ZwiJU`1nSPf|lLm#0IMeA}M~}i}DO}~Yx1z}&rCRnj?}Ng(s{@5UL<4uA zE+e5fq1K<7>X}Hk@SM;t^>8tHZ&S8Ub+l*=0&<2imx-=^u5gvwUV0{b5CrOF$1U!d zRGUju>GLCtx-Y9ugu@S~Y-J`L5j~l2$&bvlQo%@VvaTftDD?IiScom0vmFA)I}xAz~{% z$|6V#>?hIJAm}-(hE`Cn@y;xvjp#*hwQr++4S#@NH>C*)n3VKa#DKpvu^U?ISUW@p zw0yOk1}5E<2n>9#o&tU~QyqQ^10Ye!G=?GtO#vwg);heBFDWnilKp^h-@voXk}?7N zLWZAQWf^-v=F05xN?vRY8Cpv356t(N4Lk}3=)~&**Cv~L3m8j+JaqsVdAeUtl72~f z>6hf~@wGSMrzfW@hH%O$Jdo~b*ltZ6iUyd$LZQ2~#5nXKSKpYI0; zJ83+juphz5@_4%st=ST>u~-~sPh>tx79GQy`LS;M2i~t^V2pPr2+^3WASgY~eypY5YE-~7Q8 zNzyMVFa46OWc;Ui)6aN^Ncv2G!7Hy5C=QO*0SL6SENFQNlooK$fv~^g z^}QDHO1`AzHMxDTgFCl{WI_l9DSG?N;8I}j)1chY%N4*}_Fvs2sDw0_%+%whO%T9< zp!vy(^c$MDDE4_UXY}*qd$xej@Kt$PJ2g1%T00vk;ZD1h#lDaQMrktFM5Q9Ptaz2(9{CbGA0ciJ@Q0b1SR(jfw}2A_ zP(iWyW3O29sifpfMt&7&J1HYbNXLYgG@Q%@Oa?cJRF24_MS_FOd>NBktpmKl`mE=L zgZCr{yUu|jTsQ)jch9!M8$d@{&A^522Rj2$QTZV8lJPpg`{sh8}3yo)=O zSsUy8qR8R#cE!7%U!m$Z@m71j{bHVDqNusqkRb}idX~-47u1SF4KusTQS;*Sgv7o4 z7U70Xa)3Q(rl{dw*LLFFlGP=R3ALwnENZH_f6JBtSi&= zx}k*6sw!jHF|M)Mz+KI;h!DJ7>x4GDfW4y}}!53_|~h(ReyPlPrEr&LmtiUb;KKBX!Hwnt2GXVBxxbCOdK)Z>)XF z+*oL`1CUc;fgnZUejq!9Z-ckS_Fb~~@{%nXW&A1HJ*`l81443u9~pD0IIAdiwu+Jq zLhorQe(fkF*rzld6G&^N5>Aaydpn2xwyLZk4radk@waqpl5EMSYi|2Q(>oD)zWmaG z2hqwiBxuwkiN==4i@Uo9NxX;l^!q~_;vS76StH^wFNc_=2I1HN(KeBKMOVa^~wa8|*$02rqP59-=Pkxk8ZdZ?IohSg{E($xnY+I7y-< z<0ZSZ#n~fzu(^Eg>WSJ84J^DU&FoD(!0y`ZTjV$VkcJZNy~byO%gSH3f-8EQczVCJ z6mGRvW`xzXjBq7dGHU*3;R>5UHbSk7$wqsiTlN{Vs-@u^6AA_F3pA**g7%=zp<5X( zhCC5cc4|GfNwQ=-sype|Bt2N#jq46uVXVlWNh&Iz%r7O~Hhr6sWjf^g%v;4<;VcHb zcbUIA)dkv)@V-fsCF3Q!vyYcG`C`FqzoPWq0p_eVi9*d-iAy zD>BBjVcuqEmIk*TBx^|7V%zV7^XPXTLy}_2cuVg5YEB&(zqbaWniB$(;SLu<4!0oM zRZa@9gh^!-Ci*`^uhpR1J}b+c4w%Cj(P}q^tJGFsWA**%-Hgown_;WR?2V5@X3Bng z*%^@h3Q&=@j8W;80~N8|W;5J@3iJ;PSqZG=71!DQWm9f@3-0ib>?RM}x%y*MHz+U_ zFhZ{u7Q8A#OxIvCpa`FZ9JkNB=DBCdZfEJ)g7YkvG&bN`isnu+Z&x)_(Up_E4fFRe6swLwkx%1nA1E#kus2C)0LFI6t2}H@!Gl#a)E;|W3Q(#IQx7UD$i%AA-u7xSb z&#&qb80nUb_UFa%C*`x|nrBjXk3OxIGYHO~Codjbj62CObjo}MCVrX#+Ea&Og3Fj? zNV>#6q=pErSM20QN7zfcWW1$!K5>WgPP-&eqPE>{w6vUJNZBcDo0CF3o_v zDGp&310LHP}2pQk8niXfIe)*e_(m zc4iI97)f85RVK~^>UMbNAna{jBk$1_upT%5ECKNH9QmQ_-Y*0nOLK=IV)u&{rM_(S z=4>-0UozSY^SfPfeyb}n$i`CSC~`pV*qwGwQNAqml2I_kZAh8bhlpdr+k@wJmd%6L zl^NyS;;U`QaJ^|kk8bT{ca9e6kd;=Fe#vP4&jFYH)S7n)(v74ztLW%mz&=zHt@HtR zc;Cdx)gU~}La0yI4!{spydE2h=YAwkndi*q22(oU!AZbmd=udL-PAhUKbJN9#d{(l zO#V#$pvKDcu$Fsljof?aA6@s{A(28_AE z?xkarpM4#5R=so;jioUmJ`41{cd`rB zutzE;qrXz!FY&2xjHFAKpcE~N!sr2>Bcw}u&O9O59sGE^iRjH0v9jGu zjpu_pG!up0d&jx~pHBTW7pt{2#fK~&T47nUOeWk;l2uEYkP|CjW#Pd$M35iQ87vpO z+Tz98^VUuQE8D%~c=iEDd{}n!gP7icUdVDs`VxqoGXbf$Shp7!;s_Ky{E6|63{%iA zAyftV%%X7%5)YK73ATo{nRH#tl|){fIqjbOOl|;7_W4<1#*BU+|DN&41O^5S>i@s z0W~D9u^q#Kpg)@pJF$#~8(^+7r)!}|L}FcGa3%_9wbPa5!GcBSj!4pEjPwr!#$T#3 zL&LF?-f5v~F@{DfII_OK*cfP92j^sgOv!T`$YQO#iiM@pI8mz-H5ucT?Y09T7L?_9 zPbVCxXmMI$JU|I~w#)cxfr_DQL4D)lV^I9yJ{>ey(ZvP^(}8y!VtVKav+cAUa~DHn zCDE=VRg>{3^8AB=6 zbs!QBQAeD@1kZ#m*e!O@efp2*hx&m~s(VCvGHux|Z}5qrwj;3($o~Ni9*_}d;@4nJ zDBxeiqKB17Yw`s=m%h0%V32xpY!0kUFeneov*Ee9`#c-iG(Oh;MU-K>(uPz`#-qxU z&rjBdDK`|J=O5&tC5lFw1AUKehoDIK*j0r0PS);R`}cep5Nl+1C^ddpVL>z$jj_p@ zmy81OT9b&~aG#Iej+Lt9f(u5aG7r8 z?m{hXWh@Y>B+}LA@A$!3>*Q<#T(_Gyb!eJU|Gom=Lv8D}3mpg^VFmzg zqXi#U6$=fHlcW+Dn=ZpD;DC&dA#^EXYnlq1MjsMWuSv!jqAAWb-y}j3nkM$O)fZzc zB!oA`L6HtQmrF$b#evPxfP{qforHu^6bep@IjI0YSFlz25WEm(;UMco5FQe0K3ltV zDRuK5RC0cTGYBGu+ZFChtl(D{1Rxc;5*PdU3x<4;E--yGq7l&Lnv2{ZsnZT70Ej?$ zzwZ1Pen}8xdgJ;boE3j6$of=> z))do}F#K8SG_1d{jXZO_WX4ir);UkAbtzR%ev(IST-6jUUJF(6uCl6Ig_|KqzsHGj zV7egrfy#(M!-ghgI}Igc>lUyH<)y!mFJm3d^)#4u=SXx+0Ci24^v!}28`Ew>e-E9r zu6TpuEo;16F8zlM9g3xytc1AH=~j$cGLxuw*$rIMb3xGYvDyV8b50qz-Vmahj1g;K z(Ci@I#(pBs281!A&=DCilYG7udD8wo1k4o*N?XmHV8w{D6Nk$@SiPR*mQBgialf?7 z70Gq$MV6AM0reA<#&<{&?@sI_^kdMY%fWX@DN;@QbH80CGGZqAJlh}RMF9enXt+(X z9PH9EvG=>M{bdoDiVL}&P=c&(v$BVtzb@|Hb~;*+mUyntPnRhsK2`q0@mUS2nNY^m zIe)c(gq*E_vjScPc|L*Z?8U#0L<`HF{3R(a1a)}_z-iInV@(I>B{R4}D*QPR47>w? z{Kj0sUpT7(VE8)Vz-5Mc;b8m#bJ362jqL}bDBkfG@%|Cy51-#OjC? z#UhPTI*PuKFBFO;GbbL)ZDvoKs*;h9?~S6KW9id)n%7iVI!mL>*vc$`(Gw=zpzId% zpTZ4)Pt<{1N)z$Q=$$zgXpfVEcf_aLaRTfb=5#cZD?x3IE;AL z?6#kzopHOY#pME1N~)S9EfciGq+v{AMUd?oRyKU!afe&kwje%j|GXqm#a(wZchvr>CcJhdxHP^s^6JA4s`Re7F zRom)Mr(`W$GnEf0A%;F>&J)r(9?2LH5kJDFI*jc@^W(sR%S0kVyQh(iVdJAiM z`#?3@N%Uxfj@8$cjgbHgJnF82pPdnV=^lWZq z{L<|OH%;Kgd&Vf<@977)_?hsa@|*pE#m_+rE~Y=n3uW`Cka5Mj1O-I=#gbEfDeP4y zpayDf(&J*ME7cB#y;W4mSA(pK{EhkzE=wYC`g6Oi<){=F*A%y>s)Od+y>Oj^urlGY z$K&-c$2x+aV_Afh@>Bo9dtrMj&CP3s#-870+Sr{Un<|;vY8h%G4eT)muOOmQTwGJ! zcFayf*p%x{u2TTLBW5hud1&^~ajgOg`~W#P4|GFN$Ihwui6IOGXQz@}Hln~xDR?HR zu3=cBj2xBWV*OLNoChH%XO82pbUbrd;7F<V!CFoJrgA7Ev;xMsLtVs4XYVysFc zoB5cRno>H2B;gL>Y~B#VUeGa3?68QBQr;LMi_I0dy9X*>Ww<#07%$4G=m*X}(8wpq z(yMlEuRbMfGj?%y?hx#XvJ}2chz2ASn~GM$96_MdT$|5EB1N3uI6j&~)}s9Bz*qbM zE5)Vrj{);q?ylhT_171?zjC0pFeuxtW?a0z83a^i3~t2kB@Z$Mqk1t`MZKq^&nR1u znAeL#@hZioHN|b^Nk7$Sx9byJ4V_>szXn#rLujf3&GJ#$WdUB$H|bo$eu8Pe3*wdh ziBN7i5v-SKaUGMdk(!?f<+v387%-cX9jBx)*GuSxSNDFh5aqyW#aYB6XDrg;&Oq;) z%1-0cB&)#aLo}H}ox;gfcwN;upj?jbEerIOc-I{F$@p~7fkEMw5(pBMhJMr#IMc(C z;!3sad8r}nY10xx>hL$t4gsb@^UDY>C&3%KI!!A`2-yR$IU4a zOnAUdZD9JO9^apf4KYlFd7Jj{UaZ-9wHv`+S-oBrVh@J`!K0(h>v@^|C1tw2X1YD- zgus6O7O1VmrI52w&Yy%ate8C3fpkC%u}0rWkqC(@I8@CFiAz3^nb+73k`{;v#v7WCLph@h9 zoRsKt{CDw2dL3ZuNmI#l(IbS)An+HH{!2%OUJBZY0%MczgqYTmqnWeo0aD-NRib<8 z^n5@~iBj|3=7ojMYHF9&9F>EZvVIB5xaR;<2`5ZfC?GDMmmp~rKdG|V5p4Wq|6Rs6 z>2Nq61pLZ$pW2PTc4cHB-31X&O%LbU#{uLDwDJhR&wY{og9p8pLbi+ow$&mo*w@F| zfA)r?o+4JJ%jIt(9_J=EBLpHgEP@q+VGmIW3;zPTaw$FPEOzm+z^GEfn66+jeyv#Z zVxr*F4*#pdxiUtbb1uqnkJ<_GewamUPXvp;OY_3_8SEMlbOX>u z(^6yc=tL?HP>1jt-V|ZUNJ~8YN{j6Nnek>Miu%NfR~F>Ta77vJkvp+~`!*wgq7EcW zS@byIymUiwDna7gKV^kri!EIPVfeIaMJ>mKGMRnWXVcnuR}pXgmg?eAJy)UUSA?A$ z2b>h8xJU7%e40+>ovi}_;}CfLU49cy0vBDpP73-*-3>IFHul!w&7PL)}Vv7qC>q$3z)82V7<)a$fHO zI0Cv4XmDs}<4rOP&+#&xwo8C}z8p9&>C3kSLoUj2kKoBaFb)Km4)m7l+@3m!#QRQ@ zkTio$%*E%pGTWO870lp~GKflUq zr!(rvD$8YShiu7IPpn0Y*}E3jjYx>dZadVV0Hr9Ci8y#qrwT6!fLBARo46{|J?ba* z(ALJ^Ak%N5_Y!c^YgvQSGcl`)4a-hfH=dA)DhF~$yz@+a8=4Q_z--r+>t(E z$8X^>=hAUtA@TEl!|W1OPpi=R8*W3=c}s|}4G7E3gL&UF3Re}QY2d8!k$J=A0n-n9 zldQT2FM()<-C3sohG=D9Aaqd~OtTbrhOH_~q)#vcy#f{;d>b&9S>S4sC5)~R<4A*m zX**PPD>4cAlu=QmNXN5&vHM2vwd1$bHU9Bj5?(UY%l=TKYmcEua- zcqv@kPg^^EUYq-YHSlvvL^dl?T&yIECgf=!9X-@C#r0>V$Ce8tJN@(7hpUq!pM1l*~Za&lzwe z`Aw2b!cBJ&FktLslIEC&;>JzD=$-(RUY{@n-S44&e8QJo>GhSbhD2aIW&2^hP8pAm zskLJ4k{ZsURem~yj5n>qx-6 zDiUWCB!`CQP8lr35Q^h65FFG3wh)kP_O8vkE*3C6VK(aR^wfuxN0v}aM)#y-u?G|| z+k}`mj>&kA;0PGipD~A&`k#IDT(nrqqH^*jx|+lfU3@4(#qC4OmUfj#M_0y$z zQQ&00hWG*`{QHss88slh*snHbyj}3?x0^5VqNIhczCZXA%DdvtinrhKy7<%IpNKL` zzw0ZMM^O&6sV8NQat#23{US(PTUFan*(B*&v!3ce(n1k8kV%|ji-|OsXZAx_U`AXN z@mO9uj1f1cP#7SCj6xMSVCYW2z?AI776;P?=n6U$jqQ{byNDnmsQGBV;TK=9O6ZXH z^^BR)!R7Q3E1m>a?4$T&|HpyUu+GHEBvy%|Dbt1X&k>Ut4i>*L@OPE1+*NQEsCwut ze2oYNW{6Z0WC;Eo3Xm>=!oL+aXk5dJ1$EK1R& zfO`x^Qd410*C}CDyB`{r8h)XYF|bCj)J3$A`-vmOjZ z5Hu^oZP3ywU+$Y2@;`!mVEE&F#&!oBqt4e3u_61^sU|Y!+UGfGlb4`{blo6q=@*;5j6TTjN_C+u7cmpapYgJ3#*{&~u*IlbxX&JOE z$w33vZqIwNu%KbL^m@rF4)=i2Udr82WAQwm6ufJJ&a0S z^!X0Px+e-d)R$HZ^edCvZ#5j++?DFW_;&##F=nj}q(amatlnLG2w-_t91cUDiNoqO zOEfXATTTTGwwWC5zsNvwUjZxA#dE#Ztj60N;*bvN=ywZ>`FN(H#ynC`Rvfnrs?s=4 z=0Q_+2i%ZjqQzo~==CMg-J?&iyF4p&OOPeY!Aq(`tViUBSeY)aJ)I?)zi&C>S>Io= zA7+O#AVE$NW_FqGCf{laL5n4GI19GS;-#m_Mnt$r1sgXCv>LaV41$*VJ)v9|;}Wsl z48F(qF=7CKuM*x$&4c@1Zq^Z3^e5Gof&KSTeLf$tthhp&X5~+EZfXVQncy<1^ARi6 z#k5?+2-^QV#Gl-OpgX++wqp38Wv*zaM0 zGe(dzDPq3x^;y#%e%5|}=_ZmdsU4dyg<4AC=8*J!7 zF%2umQf|}>gTf4>iC__1drEhKplX5-|R0Y3* z5S$necu}rxOh)j=cuoa<5L{IznaPufU9m9SbWvPPG~H}N>PVgisj|Gp9LjcS&31hL zKaVlWb0D;63zSSFrfkqN@i+v1or{?4h1-sO?XYW_$^X+OAtiZ&FDSnC0#smc7Za7! z<7J?s2P~noxi7F%h%BpcmFv=->+Hgaa3+6*`{At%0E1s|9m%;h@BD=gU19X61{$9Hz58UqF~BF?dE{RIAJ}luwc##D(1G-I7W|_4X7vRWDloaFg?WOlj;(fvuFqI!hw)!2bb!o{*00fd)onymH8x7BX@`lRhq8GxJ^CWk+^!GYKI{ zT-~n-D#7MmzKEu!enXI#Q+Y1sKRsS18?;z;yqS~%tV@DgZKqhoxsE;^eze*k!Nxic4!dhcxhyct6gv&yinW(Ke9-itzQxQa-NR#Ee~h@4#;T zIz!PCGLp+ULB$%n9bobUgY)CdmZSS|P=-sd42Ock?mTD|RA84+O*Bo_PIi_Bt7JBy zJYrm+FmVhJ?5(d}?8}D}q?mu#Iecd?3p3fvv99GY0XG~%NTxc!mg-JF5K3@qtnb@C zV7q~^e`5t9bD|Nuiv`HQxghe`IMQE0ElZVF6KlAzn2@4tSpxDGmcN&6!I<+&#+i1s zJm4U>g@d$l8I+4yIhEh?n%{mo8>T8PYW}DpP(Obb;?%S7XNq%+)Gu51fZpM83Bjxk zXa7vJCqLEcsIh{dVP&|yX1HGl9Hm(X&ez`O04?s}-qR=#)OlGs%#GJ54E5aw#z{Q7 z((G4ItKlfY!SwJ{z{+s>&TzoUw`fa@8fh%#MZ@5?R;9QRwDBWt6s70Ukc8GHEmrf}zrzK#SKK=~Yj;iJ4 z>8#AyGP={C#Kk)oQxHumVxxrU^YCIgJXV=ZG0A=Qc){6tz?GF=bGhcH4#xSpph&$| zn*A{%)wGx>Glm#`4?{I$lnSOdIvW^cjFZ_Ml&!#=^9~r}bkRWp zNv9bwNS~M{Fc?;f2TYPWr!@ga%|ZHU!diiDSpp^rY>LVgWfKhOlbe#ETR``jP>8+$ zra9n2>BaI0gU9sXS^0dU-Oqq4^L0r8Uqq-^4>-6n0r9qhrs*u(?bn{ST2PwHb&a

bO!*wBAvx&`93o0DCTegAq2AW8{q2Spctf)7<5rXQ?ox(rYqahB~?gEa6a zll+Oln3_4z3CPT@O`alFrpxVht?hLKkwu1A@3?tAng~@bytc z-wWKGu3?OFy<0|W!mj6OR}6_pZAJ-7bh-b#cj`(7mRBmFV&-(aDncdu${+OSy?N2r9AwRU+al6?l6KYnX#p z*Z_g2#XLvD)@Opk*=^R^cPRt-A?Ba&Wv1pRbeC!g)Mx8=k@OOj>B_lAeD3ZwOes*k zpbgY=8%0bahNER=8Lo?1N$@qg&Wu76kg5myby7ICB!#am?&pxrpH*?+x3-WaFi@S^ zGeE|&UlK}mCH%v9?O&FqhU{zb2Y6beh-QcVdl=Z1IT%ieogwB;z=(IweOJNL=7;NG z2}*QjZROaIY+9rJ5D<-}g%J7$NeUk{0QM*4Vjhpozx|dB8L%}UVa(>JXBB0RLUL-OCj(lPjzr6fgJ$O{iGk5pP+ZupBaf#B29S z(L{Z?4>T)K)jq7n0p>RlR3r`>2&f!r!UD8RB`=kfOok~6)3NDB` z5?J%3>5=AkO$u0&bWT9GDI0rj2n~#>7w6L78s~u0k4QTLTPd2wesUM)jEs zV-Ue@h0T4Ow?qShou>1{rM#&pe6sI)X>TfECA!l7-4j;B3^THT%5LRb!<^+9oo6u& zObjXNZJij)Wra_B%VoT@Fw>dCwsSyUeEs<>?{ zN^aqG3rivyFbR~iD=~v_v)4fVQRTm^X?CFY^Xhl8@e-Bi%9`hXIq#|1#t&r&^cO+Z z-~F6uvM|)HjcsSueISqQaY=&A2PoA&BK6~$KnFh$%5wGmcku>9Bq-gmp0;;vk)k>g z?Z^U++J!YAFsrriUULc-HK0*xuC8hBcOw-0=b(p3+koHlQRY3XwfhBC z5v|7OfU2^-XzNX@5sKY$$OX)a1Zs8aHKLMST~~8ID4uz99}e}6*I9x222R~)py2HB`vXo&aWyXw*t)|_ zGxwo367R03}T2fwo?u(0u+bN{|_Ob_R)wd`4#Xg+xW68j)3r5RDZ(LH2 zt1rA|+x7RK0$u^FzUX2fj;s?K6no6EECHWjAmDsOH;1O|>98Jy&)gHxae+Dz%svEp z_RATsF$Js~SL=F&txWjqfWvJWFu(Futg=O%1Naxi)9~0)@`1AiXoC05q?~d53}Z_6 zpr_&x31FWG*?iIXn((kf$H}@6PAPIeA(Ig02DhP6pEZ68s#y* zJPJ4p3*p)pw`DD`1^6T8YC~al(RlYQ&PPg8Ytk3|5>;Yk7GpUo4d7!2Z4gpLY2M@W%R6i zJfqGbYZ(cfAkT5t%?`dj-KKEYs`^ko0^ptVOeqAOGmF zGCPvn_`jP8BXkc}6&V3?Sv~IoAa?3@C3z{I=7`nWZgeZZ_eFekfZ+V=_)m$h3aNvD z*Q&DBjW{#l^(>%eM6(Z-c;p~e7!RrCfnS(wIp*z=PtHwWlyVfu9J?7t_9z$WNWfFz zF0jny79e&N6?ncBWFY^Z%{{A86eH31Ij=He*qMiL$&XofbM_y4L#8VXpOzX8G*D_D zE4~@4_8$R%+|6+-zRL*wy3v3DDKQ+Reb3YI*95d<@8Ya1(c?Ifz~LK4mC4>|fFJk? zt1GCWF#B2p-qSX;l4@8!=zl?Q$^;}-)TLod+nXS`3;>_T<86ArfQqk?rKM`vkVO|* zp7Sa8AkBv)&j1iKK|T8HJp&LQ@9nc*vavFGhBgh~0{--bLGrwxuvO&;Lr^=z3{cWy zeFjE_w-o$Cm|zZ;VWjrS!k1jEjs%9uXP$^8dOcqgWM#RrPEP{dyT6VYw!-TxU+B$N zUO6p$o22q9T8tx6pB?d{I<{yt$lHzi%%pi&Vl*Nygy_?I+@D!5(O zu#JB1Ve>G2#qiJ0F7@5)=nxy6(oR#-z&p?Y%yqtZcHKHRhHWDeud4zEh@0$uVoSw{ zX>=`4q5=-cX^7OA0atMs+fB~8HcJ5x@%LwAtKyu6Ku3O00WSf)+k)10A-O=5$9kl~{^6HtB)Nq2iNRpjFCso#lmz@@t#bKn4za8nBD@P^>g?e2 zk{#X%@s8p7$s?|~qgD;tAQlw+S@)S3cs*p%mGVWGLW#2s_oiqW9ey2R256Rqrog#~ zCOX6@qSSJ(W0Zg#{x)Lk>8hB>5l7MNMEn!#DbunFB!)u~abLhTI-yqu`}#f=s3=+X zu#TEhlZtp&6T|YFi+<5#%*hX^6Z<|>P&S_bW$jFm<4BGydLbw+_T~N;lfUngTOnX% z8$oF_GZdTU$chZ#{(|_SLM{sVP3HkG`8{OTz6fh}S&T5mD+CcR_NFJ|L31118-zMd zV4sYt2bP5N_eQXa<};PiQF>YuG9}8M6xO|0D-K{SPu|!f`uSQ^CsH33;|ZF zKk!XxV0n_=eX9(@?sGODtfDP&p5&}DXnsP#kVa|s!Cw96h}+=apR7Wmk1!RyOXJ4g zmOcN>i@zb&tRDKBO#}vO-i)?%02$Y*xa&5QQTStzfcMQ3CEh`u0P2^X%{mrhu$$MC zZ012FnYT6B`2uf-s~<+b>ozwmP5SWew;N^v4Q#He78K2yC{xQzvY@Q4PdjLT!czf1 z>8p@#{(iBDO!j*@j+{PkV`Z!<$GLlp#0kN40h_*)mj+fIWm*2h7)1F|indCXO7j!) zgD?slr&q+gqJqDOd5lP9g}FOIp8B4PPMn2MrHtHBBZmiNjWU0---|`QAp2G;p6>Gm zzuN`;%`t|EVXW0!y>N5(yCPP~yXmVxM-2S?n22E^3RgwsCJ2!B37rniwuPYy6A(WV zMfOBHQ@=as1tCgV;MII`744qSRQ`eYu7gom#3&6Hw_1Hzh}Wi^ck@@NGJ5@c1_!g% zcapZM4t_xj5DRhGxXU24qq7F61umijX0}G-xR@GQ;}%A2ElOxffejTni~$szW;~>@iAAy)e<#J(2W&@?JYITc3+l2j=|J1E+{R47UdsjGUwU{ zh!;kLmwiT$aGb+_nlj!^VEu)NnJZ#OhXqoUO7Gp{0j-Auk2ccKZA_aTWih0G9{U-u zDy&GEJ5)+j!n-M~C=x+|`+m8h69qm-I{{Y5K~;qnQM5HeZ&hKz&=h8R7G%9$f!^F+ zgp}vtl~^$*FDvX6jAQn+4)R2QmTEJ~I|FK%erbrTkd^Un7OO;*wj>VBq7E3H2-P@|n)Yoi%)KNVjT@>Iz69dg*5+8^;W|7bA-{ipt>qm+ z1a|v_vgf)mIH9y6c*qv@ri2_dh+RFMthp7k9Rd4M*8EU%^*R_<3leg_Lbk+*+vwj% z9FR#ne>q3LiMq`smKI>%YTpQ(F|aBkzx%lmWD>b1or@El%ly1q-fK&I1k^+Fh?627 z&xl!J{&mE7O}>wXJq@PX(XJgk6xL(5>x!!&64>D|rc{NDFdF+t`44j`TN1Z71dOb; z2nV|2^ogw5UmIeFZUb#T`M~5*+t}gAJf=~>Dv^SfLu((m~tRb?_6orAHw;J5ooEa z)8juKSks##PFKWj@6j!3v4Hx9z3uXe5V#RNu*5?Hx*=3NZ+?gDZh5+iKXGL}k$>#1 z!?kj1L&_imC9{S5a8)H;Zg$}V7x)y>u?kl4=4ZTplR)r8;H*_O(!yDF#mln>i5Zqi z5rbTSxsso=j|#Wuw`_0iW}yR`0){aswc@rdFW8GZ1Jt4cS6Erv>XXv^ts9EByw33M z{rbr>_~p(bmw7nZw0Bm|gI8so@;nj1+>svbeul9d;?B*!{1V?W=tKmE==c+sR)~tX zJ{56&MZ7oK+#7>-{tGmP7`m7140iyKU9^I6y9Tou2uM&&3>M;g#&+}9)Yr6vMz-r_ z8_4}G=m%=KQQBa3<`r>!Mr?(^t_vx0FS1hsoPjGcyTnVw=3|J90IJAd(8>~|AfneB z;LdQrc1$Bc1TpmvMIqZI*I)=Ju{BnFMGqO6E{@}V8Cx9|{c0OgA>Rov|LpxotN6`2 zjfBOw9D$7GcpeM1nz1Cb7|NYKI2QVLP*LrEQP5W(^fG#wuA1!+xu~k}&v)dbB2J2U zJR{z!Jwub(n*YHpK_krnkMmfthOW@6D%aKPYHMizRJhU}F?t*_LQ%wafuoQ?#7His zb-;t%>lATT#Pb>PR#1B)^D^1sA~3}OQVW0RtXvd62ZM7T1a2n}Vs7@v1>lr`Z;z?QV_ zOvTfk5aOFaj%e;#tuqT&+*+R}PIjcUkLV7S+p>qsJXSF}?4n!&+arT5;p$*uj=jvJ zK_K~m2rJoptANux;QoCbjS2^}4T|ibf$k6rFJ*O~0j#|!RfS!)#DO4NB~dZ%Ds#$$ z0Y~TRN0@H#IGq+QbugG>TExW936>=tI-vMG5ixBw*0;v)?8Sf_pvwx2S%;W;JDR7nd5FMCl7!as!Fj;i#!$%jGcH=i?cO?2D_No&Q#Jvj zt>FTKlvTHTxXE;LvgDL~6VMs`?=#>AfXVI@D1#w-_CV&2V$Pe=%=~{nzBJsQ=o1G}Lj#V`beLA0A(5Q_L)ekbOk+Cv0i?z}r%%mDNb^ zUbZ1mQsc_8ti}ArtBQC2TD%aHa1gi31ICKo)b}C}Eo0bvXwsM98PBd1nETF40qK{g z9x(h^#x|erk~JsjB8OiK7{eEC+(eSVed)&9*tImG2x)RN^#jo}4jtZgvVRg_EV7!c zU~N8e@>2t<8XG?XZrchd=WW0e9MWz2!!L#)_9)qPb8? z=KNURwRjPPE-Rf_4L#kM%wAE&8-Fog8B5t?EE07^?e&hAc#z!&Yt}v9f_6`j&%hKf z#$t>p?HhpO;@}$`*|1d4?D;5T!sa8c1W7FtPBoK2^ziviz<0o`$47G%$WV;IX?Semud`nlx&2>c$#Zz?h1UqTK}YagTtx zXld($K&AeKGo`Y>TOE}NKN0xwG-tH|;LI!Frhv=)L~H~8=|ps#aj-i`F6lbiU_~7X zEZoXHb`1a%u%QJo#wP4M5k0=)Dm-ATd&=q4pf}M^L|44^7f&!_A{^)KdSYIN+sWP5 z0RTfX3?$3+fI$#7pZ=^}bJP{VcC#*Fgv24}3V0~s_6&I2aUur2bG%4coWnND$f~#m zt(9I(dEo0kbtEJJQZ+%C5`%DP6U3& zB*;z=(fp2>bbarS)7jDCd=w(k3ynZrnMJ;pNysxGh|K zDXdgvq|aX?jcVNPz-R*SX*v%giX?^y85*~}*$;Rz8Q31Wa4Ny$P15FdO8HiDqa>{D_y0!Y`yMHe8K+0Uf#bT+ zP@S$YLhuPlI=`%G(BPhK{WjTjC|-NC2eNh^FA|%&AEHv+c%`_y%gH|#m97MpeUPF~ zgX2hW8R_zJ$A7vLa9aX9QBR%wwJ#w`k0uXvT=MtMG8guyrO z8!vJ|ZIJJVidSBBV7fZOE$Er)eY4h|Dj3ro7?e+q0o3c!7*#Wu*9B}}*>Tp63s9x^ zt%7k_nflrnaOS{zzc1ij4KeJqwk5=nUPHo+cetBn&;>l8A=trgxAqU)F0@oYFJdB3 zyg|MF(!yvc>Mv47TqkZ~}s zYG~-H?~;Pvi%67CJ>wkxFVxUgC}`pA((=QXHjU(W)%?; z$KQ-tZvYg7sXKN&Rx*v|olU>vz1K^}1h_b0Mq6dIo=ol02l1hNWNzfoI4R=a>@=#C zuZNu*T$=~da+ixw23DLo#RX-A>Xon{!E;$;vG25_{)L#l<&Cn^A3bZ4j6I8>Q60|z zTM;KACLo$yRvWTpxZXQN0d+f0D95s{{DPLTC3!TOx9VX2E8+d% zdGvJcc;gnQpQON>^@rRP^4)Hf@UPi+t`(7eh=fnkwF(ZV`btuAw1?PuC z9$8U`0xnmXPaRUl+ZFGf?C@^hsZZEnf#Ly7>M2#@sC`TV z#{vm`RJ(bR(LlM^i#7WZARjoS7 z0~tt2$HtPxSna)*Jl)^9y!=9^R@Ip5`UMSsX!x}@74Lk;3s!5F>+E6#GY)S@$-Sxg z5wHtoizXO0i(BX=E)B>zt+z4)Ih<3IA6uiQ{|*A`%3>To<@CTe0^1hw~eJoJFG za$OA1fb+ilM6W#QP!83@J{Pvvg`5uwaJJ|>MdrCfP7LVsrH8d}Mh#AN%TO_jzpZE&$#Yq zJ}vI-#|z^HEN0*A~Y2dLpAlCuqgUxl28%PyQkv5IQkL>~IB_WAnRW$}w3CunWs&y#D zswz#ZX=Ly`b1*+S;)^_G$C&%J$PmVVA4a2U_)M-F?H8}%jN&PdOrS}q?{8-(tKBn3 z!kEU^HI(2}4-lD;`<8n`hd8YzGe+y)bHEU-qxI(@-e)>MEK+7c@2Ckx6eQ^iAJ|I3 z(u8`U{((dm5$SCd#PCzEwz1P9#sb&|cV6^*RR{wO!FP^#~^nS1Vr16pFYh z;$OUpi+rsmU7abiz`lCG=@8Y1aghDjR5?82A)qCTL{h|*2_TPHf6Yb1P6$1Z$9_|eJ4bgeqVJm@fManE+v@2M#;km9m>ym z6GHgbFIpb5yK%64brBVr3_}&S44E7S29vU6%)}7Hi1(xl{tqMsJKk7O=#`@-#k5S{ z{JA{>szNa_TwI0nK1<;P*Hi+Y&w!;$^gUuMRSvKuNTs7E6!7l0x_8KJ3@U!{wk~s- z$UUjj5v5y3IS7)$k5|y8Qp8b%G2|8awe&{0Z?Z7!KKr@6Z{ZBiK;b!J%Z7&!Umw?CE#hj6VeKyqoqOpOT>(iEeY49RMQ4F z>tCV`MaQfwW#eS7Yt3#>B9709Ie^pxWZ1<65Q%h>fK) zu9mL2{n#l&kV!5mxSnuDkbc9Y!t)VxLak09*~Y4c45gP|dtfly;}@xPA(_g?Bb0}> z_TU7wT(YCQ=7DfT0TTLXqIJ3F5ioPu_Njnq<(>jASHP6S$ijXG93?MRgzISR)bU|f zeGonS!dRii>_H|f)K)}?D;N2AP zUBlBsB^MODjs!w2o8o77njeq~(h$yKlw02om?X-EPKax?E17$rSdJ9p3{Uu)Wpr zKpTYkQDvESb{l~;(||-nq2?3q%uSh!Gt>f$U(y_fPbVdLX9`Hum*Q1vu7_8|+sPXJ z#6j*M|1yFv+38-b3H-;60bTTq8wy;zeZ8!V%FUF)1&Prh8y3rEir0=N1&Z&Itz$+~ znzSX2-@f$B?cN^i2`kC<_`D#fus4+tPZ;&%Dt{i0$8<^29-uC3&4%EX9V{vo9+WTz zfx5Zx_IZ-_rss{*J7zGjOo0@c>wVjiKuC!N;1Vc-v8ypkRg&wkB)4U!{jie3_XcO! z2;i2V;HxnSAdLm=h55+q`GPjGx5@sy);-0cbkvy~c=8=`o&bnIcfTdviUA5Qhd*G- z4TY-|*YhjfJ??8CE=y6p=y;k7t#9Yoo}JaMqo_5yd%2_?5iOpzA;}*v#+FB2n0y%L zgYL&FZln-S6hE^VUvN}qxL#iI=G}^p0piiQi)s>F2%W-!-gw62gmGTb&+Kn_U7OoSTmV&f+9H|)WYoPb(CBpVa2z)SP9oEjS1>i`_T1>jj8F`My5KeZ z8ABB~tY~n|RAA@MA*SGll=Tz^Qp8Gg{Z4ZkZrLWI{je>lafZh)-NMn%PDl9}635K9 zNNSWcJT4tb$F2U}LOEtwj(-4#3TFZnutVetesQRWF5#v$*Y7lkWaAcyVwpTxri{3K zX2^(1GBiigN)Ye6f^@RyIr35GMYPK*-R9T<2cN`?=4l>G~|EL~ul1{3BQ{?un%#2h4-=9y_E+IAu z2^^5{j2LRe_YOa`@4C4W)o)Bf7_{di#YRM&Q1TE&W-wR1uVLzTQA&|aS#>ZnyC2#Z z%qx+Po-SW?TW?w>Rk*J-x24g6qqjl=U=;suVoY-?p+F$3R+73{InZ+9CWv&yE~nA2 zOF{zm_6^CI^Dcx35_nD$2JD(uM=+j_VJ(#aOcxJWX>PoGxgAG1g1N_x+g@8#(D++K z^8(Jrn7=~-&|tV6T6Ez#-%(n8NHEN9gidcUn^clQOP0iEWgAq z>ga!3qr22-*aUgm)0E~${bRgTW7|$+;N*oEi4TCj=7CP!zy&flh9_6F_CrBp=S@I6 z#iO;ic&R(jE}m;vv>fVKpF{&is}wh0ZQNdPME)<^Ms8}eN?i>A2gu4%gqDRBT`+5Z z9N!|_6XZX~`FO1!1BS)lca_1`Jq=!sCGvX@ESoai=zk74Ly$YhMU_HaUr9Og*NrN5 zUe)adNkDtmU^#c#4)-_>1~KiY_0*(v1#Gv)0jX5i!-TR~6fisIvQ}O8Aq&>gmEy+u z<9VQB-92DILvb)jO*%yUN!%l9)HH#C<-Akeu$GjJir!K>j|5=d=uBpGGr1_S_9*zi zee3MIQrwt-4EV1PFk2uC#`0TtCGsbfwKCSW_F7_P>wUvgalBRpIPFwc3NDReFM}mG zl@ML|ZNBr{56GnL{eXY~KoN01ov_gNm$1GQfTCr zvxH$!c|nLHZpsQ+8E(d3445w%4joEDGTnPHOwel&P|Ohc9_K5ED~l`H+uxS)$pM2a z2-_O|u`%;iVpoQn={H|FJJH8vp+%!^hr2#>lu#o=*xH`i^kpptd)KO7U;f(6@y?ZW z$hX{+oRunmgq7pwE62qxY=$b$UXF&!JR{YD8!#^&0zaryfrscPfSmS{O*fp}hhC1< zfM86b!WmaxIjHKEUXp!TG*5~+fJ1j@pXZ@amYc6E$C&wh#9)M2&f;zX-v#Rv>0lu2 zL$@#OCfa4v6C30pmL;?GD{lm5Dpbg_gHybbboNGyGp=N2+Lp31{<+rCC|+f`S${L$ zhJqd_GYsG>OTb5a&n#XZ_0R$oFbM(~Ngd))MMolFyUo#n(ur_8I0dXkH($LR-S0-a z99rhV@{}uvTheXR(2B7-CaaKaBF_bd#?_B69aI17wM!yNveIc~@uaXIKhWRyLoCrR zMGPt_tbX}YMqw{W#CN7+LeX|EJ{qYpZ3hbl$GA$!75M|keK@COxeAvAC!O6|mKZ{R z$l4*ZYz;Jev=shKs1keN2vg zwW|Ut3{*cB@V&C%nWtns6YI`19?0`ORZ)G8J;-(o)_Nb~w3GKm)tf=7Yrlb>LE(w@ z6%`9UZ)K735gGx9AgU)Kcz2Hv)U|N=i#nO$~>K8``eDZOhe)12fvI* zR>-f8u8v)UWS!%-fG4w}pG~o5`Vw z$Y8MmKf?Atqd)0|M$o;dfU5$2ZRgsyqWBRc+8)1D!&7}{%`+JeW7Bl?%p541C)Bo6 zTmctmtu8Xk07E^fT}xD|`CEPll8_dv^&C@;t#o;wQorV^;NP0D^3V_yw~nqe<&T2v zkB+S&qFz={NHgUgqTr)r50A-g_NH0ZBJC8=Vua%98Jlku6?9S>syqJLbp>31@kk6S zC+tvjyJiWiKlnTpXy^*bTzJKsnCZK9WyY3($t9SzBBcZU7?%YnEfn##KR;lm=m)$d z5C?c;F+&u81L7lMo`B7KtY){FlpiPjvv#+ki0NToPA2eOK?Wp`Dbjkkkik)QPL`>F z3+U4?s~He-#QU0CZci|f?p;YNcDShZe23&_1dAhXBZVywmF8W;+ntC&3BBDaFxe~O zIC0-ybtpG?H2fDI?ecADV7AkOw4UXU-POD5hpm33Swv8q89%ERE3-v9%Y2uXt~d|y za~g|ygd{*j-RHqtANi^y&e7NN<)GFN6pHKEEnj*IbmKVZZB{XAH0W(TuCXksOW#zI&5HK{3jrFMzQ`;E-J(O#>Ggg%SFD=TNo zP5``?6a^7CVgAwz&0b|kbRaK@!1cPBPpv0bg2FJ|5!;de4;NZ!AHVa}z^5{z3f7fD zeYhbrsLp0ldO%P5iD;|@>e5E0Ijq7*AZT#t@$kk`qRG|(O+la?93yu&0|k# z{YeHXn*?$eRR{qv?l@g(1Mx^qRQ2UcN#rUnQQM@Ihg1;P6UJpGF1Ogn!gg@9%c|g@ ztoY!4D#^vyf^MoN`v~|)?Qbj$Upb>=XX8Lrdx^l2U-df@5cXe_$#Y#82`bY=To`@x zQj`4xM2=)@Sjra_(x@K^CAnCiN22X4TYfqc<>8d%4k&?-Y|l=SrQ2!KJ$nhXIC zmc;8w406#&yrdSAqW4XW8J$|XsU#O)Nv`ce`{|OvJTnwYhQPk!wia}f5%7d3@>np# zz)vW1+P5Cpg)$?sQire+bqKru5w&_PcC83YzpBY20u;ePJ{?dLYD;Z zoaH!pQGsp6Lvn9|@xUCw?%p+8vm5M?fn|V^#?P;+r_y?d`hlxM3zvw;N5p$#!9HSm z00D9;R~UI2&<+E6%P8pRJU~9oTJ7E_@)d6@-c+D&uWceO?iy5C0nP4c-Dn*6p?H<$ z;{44gjBZd6oMT8s`57MhWK5Fz(2RX^wT>Z!S3`mSA$`#j*m8?E;v()(*g68HJPOPX zIO541iCOVPSejqJrHcYqnoD<@ljGiQ5U6X0w^>M?p`9?LPv!k?(5Ub@R>0*zdPsLL zB!-7EE0T4LXu#slB`yLU8WlA~CO1gt?`W$6#rvo&Sw9o-YjnBWWc--sPC?D{cVN$P zZ)We@tsTEhcUZr6D(w3OyW!ymBngJsX_ksH^-;K7!fh;^8hiDmaFyj!`_1Q@58PX) zM9`zGmallB{mWo{%u`y#y6K}kq5~UeEpjD3f^XZ(e!g{5yh?NFmFBj}7e75;CTQ=n z2iSLJy3k~WYH#Abuyv0+w391dGahi}HE?TeG~yV15wP`VACoo$j>>ZBmF3F5*Vr#W zVMZ3%-_)>fd>fBuO$N(hc_H6d8W}LZETlsVD3ng^D(W|2hG`{EY^a!zlXGOZ?xDHR zWMT#>M*BGkBAAHim{@(91(0ASKJm)<^Yh)G2i$~MUL|lS4s~xDuy*zr_TVR;C+AEU z%r>xMEy@>f4(WY(4o(M_$dHhW9o?|F9N(@w7@s);ekJ9+1zPR{CKKO5Yj_f9CDCO< z@D$^kht(ps!7(X?_w$8w@z+X5!*Ksj{~fB_@cP(RDG*c9&@F%x$2?ibKPejx}L+5Ww1jB{4w6YuX&i12N7s3 zH(PKJLe2vrP;-Sq64-4k;0DgJwKbg*wV8mM)U%c^Ad=*oo-m3b;QEUJQ}Y1Uj-Wcp zG_RV6M>d!qq_c1bwupCuBFpH&WN(ayjJW*?%Pv9zPX+u!&1|8pKd}kyCB|r}fCkWs zu)_>yR`UtiUj4>M02@Om6-CA+mz0@39-Jthh+#KbcQ!$A(Hg}ot6`;#6clg&y?E`d zKALuQ+NUtWyKe})d?n(kea)9l$TE7*ttBzIby~EX3 z{Q)b-_0P`pKScb!Q%=_8Vs3`b7bw7XyQak|nRT4$z%%+Z!oGF1di_$fDt|bRs)@7R z7g5!^5+Q}rQe`sw(R=<|uk5!36dbFBz?|myErG0}EYFZEf zhoZF{qR&Je-x2?Nx6BlqWX%R{Jix-B$KgJJ?LO}{IA9~ZO)P1RD$s@Lm4vGsDq&VHF$iuCbOP1``i( zK6vT?ugf!Lm1-ATS!~t8a#s;6)xE)?9Iai%2uQ($Mqiv(xJn7m9<0C`602}H;3)Vl zV`LnvP4?YVvf|CEXb z9XAuFI0#{bNEwaev%}A*Ors?L&!)KfIJdyj)?Dp669B(83-YlKbWQJ&veMlHBTBqG zo0wiUW~VTZn9cR9A&9u2_E`*8?8-$Mz{-G|+QsMuZZ96f{Nw64X0NdN7B*PCa-MHs z*41B*vWi#f?g0_a;UCj8YKj1r?MrO%h{lbjf}n!O1AMv?POo%k4>7&OEmwLjvpn_c z6|b`0cx@BwPBh?$!TYtC1EwlZY!D>{Gx8~*5BKYJ9)dJ+VWe6y*H%Y|2KX9DNNC8P zZ$tmKF9Qp*sW(WH77g>gO$>h@@ApLk+hYE2k+wj*-|w6Fpxk!R(MQV7c1a#ctn(L= zxtq@b(Nn=tLLVdrP34WOOgG<%nJuG$VW`~I#MV80-S%f}#n+qDf(mJN^i2L32s<+=H$KJ|iE?DZ0!2Zi)AVq`_3ui25v&F{2?L?G}$uX--_r{%#!>RF0Jr#%|8 zSt5RcL-%9srmxP*OZ&=6M0N^YX~x}^3KqvQ+h{;E&@p8cEo9iEutYg{B1#kcTEqbR zI1p;o=Qu%5Q=dQvU0&lZtfhdJi#H<0k88A| zjgtT>!yvFo;&UniJsjU5DC7(Ej^OB9vquZ&BtL-Zha$m{SA&EMiv5}Js}ZB|k$Ii$ z4E@*>QCGr~UkuH>OHUNp@YgNGmORWxO*Wm+QrgEXAAEa2_$xZcYWl9S7dN{@d^i zRs5iYLM?JfT=zg9w2c_v3}nKwP|2W!kpxK`)yl0OE?>gHCKdr8yFzX-D-#4O>Vfjj zlP`tT{)t+_Dji2{P#uUe#`7R42xlpC0fwVU z9fDipceGICU_7{t^*1Ifel#H-QuYf=l$ylp^4?uq@G-Psj2M^1LvuCN2Jj8b88O1W zop;fl+&tpo4oA=R;g{T6Gs=VB{aY#sB8qqPP~-*pdl3&jp)i8A#2JCP-(-lYwTpJL zmN)C!b4+@1uYji27Ey>+XxG+nuib~GBhf&+>=)t#A^Hme&q-5>x>#bF^?-ITB*X=P zu4*hE^MDJHmyzaaS2=J8vAo@vat=Is&v)pdAY%QC0q2J6N0CZdqqNVbC{;SpYNTKm zP0>%WJwt16$LHv0WV&<&yY$;I+Pgnu<+}$+^xq?HRxH7TV?iJrs(bMzWj%@`WP{e) zK(c5pgqJ4y7_e4VY4~dgc2iYxRl0klME@~hyzOwqqWnc^lnAejB32l5_DM*RFC4C2 z42QO};i?_H6D?>JcwOv*vx->hF21M``>JhVFu|LN9FMZCN)IgLk5);>Ju$x0o%A#|A;a@RVmqU+ z*6I=v02++8koZobn^^UHKsuz#h4|lZogA#-An#+H7JPS5Ky)9Yx$4_#U4Vc9(ipY+ zZ%bKUm2p+Vd*DQC_-Co72^gx8u@JBnp6+Uv$l62)V)&GOx7x~%>60GyMMncAFuJE3 zIdXc2uF7{0oany?3=i@kswg~?cpZ21Axd@{qFnpNnSCB2NiN3V8v0*iI!0Vap1-Y# zmG2%%(Vrq_&yQd+a?n}6ompB>QDmaP1gd1s;qev8npA?1%HqA94ZkL;fa zi{w5MtA6?oT@yEE0#y`d9~Q50v(g&gJ>Z|rOPS^)#SKHaEOX5^wSz&p7d%kCtIUaw z597LyJPA8d1Xb)C0Zge!36Y}DFS~S5O^YY!1?pq+C!7^=e?~lArRE*671#)*fr<&j zHh|lSk}ga*vJ|kCUa}oh9+u!OxRm<=^SGNQkI4jxa0|k&X}$=}Xm*1ZT**0*)TJWO zkwvj^$1_}}L*E}TTMetWM-?%>2n@*sP6(^F?AGo+4s1asnmZs`}Yq zIFu*~$CqXbi&+;=Vi`45ULuPEl>dsi;gI${TzhLES$wLegG)s6eV|08=}+a9Lo7h$ z2c^urYi7RESZ_h4j{bNv48>Fz?9%&99fyeX-jYwJ9T8Z+ql+?d)jPw@KOF~#S_ilR z|5rt}kmCS%#L}F;Vd-%~S5FXO@K-=n{pRCWdNw-{^k=L%c)Wvi+Llm2V$}c}1EAr7 z@4J7zG}RUFRJ{2&na`UXbaVd{J^88%M(KWOw?p7==i2KUeU< z*gj^G)75JP=>JvoCsgRx`!+v4jEUH~rUU6_MVyfK^ard2S6&G&h8>_TGEm(Z76AE8 zm;rUvn7njnUlqBW@V5mrbG>sNAhT}1%9=qTbGIExE$fOXlFlMzB+aFE!%u>Gy-y{& zGF<7uc11AVJ7kpyB>;c;a206-A$YfjUgpLt-Z8yGw}WP{S5Zcm21Z|m9_B}S=ekl{ zd8N1!Hj13UW5B}=Cc5E1tq6FRUv7j`<}F7zG=Hh4*olY%7d&8+b>0j=R}0T{*7C z*MZpK4&t_!2Pgr7`TRlr2&47hSz)1&W@qAF86Zwb8iA2b$L0}_&ZAr)Y!oC(b4-hX z7k!IZX|ASc#Jl#Mo8!Au3Yh@G4y*eUEIxH|c0FM7TLB~35l9d5q)vL{3>4NB{?~ZPzWoof58w}qmg;7T4k-q zzETeuBP#~JTzCy!;-%q2CIR9l5!&Dn82s(gm!S>j(ZjC^#B1yobG*K5p(e#o zFo6UNT(P;v@6Z5!dpnfs>YeKHPY;#W;QsYXt&V#FyWemM%ifTbp-fj_neJcPPx{=%XaU+m3=h#g zOoX$XV?!JhPy>3*Pf*#CY?0K+nYBae2}^Kj%IAfGI3od7WjsngiTH*oUZuMBN_BB; z1P@Sx2*;`4G8l?b=^PO=ih-#Wr-FO9%kdf{2PjZD9yhsNNJqw)81a@BFe*fL)QQ*r z+U|*iB@+#u=M%I_9J4l*>Dry?D#hC7`C>#W=d)l1J0q$%RZBD!VLNkdQi7`Cgz}q} zk+^Fj_VvIHS6KrwgNw}%FiD*6ZDlmXRaB}CD_szc*T)MS=$C{NU3)cjd5iGax{&dJ zlQeP~-?C5Mo79Hve?b8285NT=;0X+^3;8vMKVa#)PlR!GRAn-yTMe1=w=+5cPbIqc zN_2VS!2<3PNV3!+VXv@aB?PP5We8p2y<{(jk-#{ zogb-(b+8KSM1bB)YXN@U!4YcWfuobZiCD1dN}Eb_?Um^Iz6IS84_Fe~SC6X+MMm*< zgB85}ZHYw+ZT5XfOkH8z9#(v;fUR^tQe1F4M|%;lT|3rGmn9!CX=xR(@?7iB2R!4p zKgwKIm{TBy6}fj+`sA(=HfZS}(~XY2WaEUu>Z(8yuRCHgp_=GuBfPerFn4=$g)jQH z;tgnx1l*q1e+pPxuD!Axd!WsUV08r5$if17OD5$+Fm3My#+p`&9dtH{C6^uJiRk~0 zMw!xVv2qR7K5y~?>Y|_HD;G-Cq)QDc8Hio_ZIZiedHPhAYx5bfa3Q-}V(&^Qh+4qj zDmG{K*xSj53)~6&miVwGWNg9^(avm2UJlz^XDwB7#i52`*i^%TFE6kKe-}^vbbO!Y zaDTM>rQ6P_fQ;?(TxTZj6k67>)TZc>quo=0Ym+Ok%7-5;A_B=$V&x6lgtWJ|8gE_6 zM_j^5%sskqK&KL2kFQ6}RkV4;$kNF&1DYpBxkYxiC_%Dwn=H0YeOatA@z}v}bKa89 zQL_r%=It8^>k-3WE!9)nmFcX0Pn4H^DP7`usDgMZ)AjU@IBX9^-Oj3t+6~Gn2G!IO zR8A4w8t~4ADb&rl#S2bcQFvQ^Q9w;R;?ldI#3O0jGe&MRm#~0q03iJtE7$cq*I5tuVK|W0WGue6_=o`=meQ%8;3qg#ixrC8`eFPHJ@=k9fiWJ!_ZghW#Pt{MQqPZ`LV_!OO35 z4R!YdwqRcC?=KnEq1~`_a*;t)^@GWT9qNypZChQ&tpuZc_4H-hql*m@Y*d=;FtQX3 zx8!gU{)d7WZ7}s4{HcEE`ruc=;(`;w{EaWf=f*0xJ>H~vUl-ffvtS~dW{r>#_eBPc zeo@)0JP^PUtcPOFZV4=o>`NG03*HB!OQ?{_en_v0cvEJ36PKXKLLJDzEl6HP&-dbt z4|GvxdS7eXdl;@2Wc%|M4T7q*wiZX-dNn=Zk~E97rj%VS=$RW)-r#<@xG1fuQe9&_ zoR+^7Eo)H^ir7RbpP~l?T@-Kue=INUMC5JpQ&hbzp>J_|N^p`gDE0!)Q3$s#3eOQ&rwQ-r z=Kg`>ZW!_w<`d(5=L)_*4>WGm6UJ$+`pg*Z$*l4FKo^Cv+iwPJS0YkG^q&)@gIkmn zp_HyIMuLj%0i%;7!8;P&()Q7jnD%oo?*gzk&5y)Tz^?*+YeC1Z4?Y(BrKIs1s4*_q zE=M-Nic^kQ@N^ggXn==u+1+v2qsTCEDo z0>;(Z$_&u%^pd1r1uU!x%=#34VPN-tL+4VWFH~K(WLZb4nW_OVR;7)}_7N84lTSdv z2(_gJo{&0->Px;C0`BjCw?~3j;&c5+z$96FxzUkuW?E*g*l?aLEZ^Jh*c6MrrI7fM zgu9+_5g5FzbutNEXErsFEvM9idoa}nct zSnY3Soxgm?>Osp79SQwslnBp5jPq1b?E?+}Y@6AUu6vl?wWM8Mw&Q)Y9M(#~e^3K(^<0(2|@arGxG06gREzyN|FBFGMn zx#_0#+rS~EEen#2fM2O@JG+!i<|beiy|kRStW;!Z0YjmR-q|_dV&a^K7>G;+>j^mM zY(ps{Q*d~8MelxtB|N{e90e`+*=_yZ9?wlY71XN2ZF|5a(Fz674h7C&xcOoVvt zLhhj*=iFyrFkdj@N=Sjw`(ojXbs`a*(&9KOm0#>pc z^%d~mJuhx|i|8t%*ddj5k+3_HQn<;TQtkmA<`46tCn0{$d!k8{eEM;<8YF5S7^CXG zCx}hUTZEtq_|JQp|M1!+wzrl`3U;1Yz+O){1>bserWuPz zd_sOkQnDL&vIBFu;ahX|nDmej1WRrw=@#=*bZnrLta&T@WHvuh-28hS$Y4+Q(H$pC z&&{>>LsO#pL`yhTbU8PnsqFrx%oYiE{5f3YNXsdjWVd4R%`F|crCK1I!r+2Y=vdVy z=D@i>>UYVI&|9Ms(7d{2Zb|9kIp6+!JYbuKcn3lQ`fZ>fQkED=d2Y;Sxcg1BUFo|H z)TP}4;aBI3bKz5kB81C%==EV+pw=_e=1UJr0kfWf{^v)v+4C2Grpe%V&4UK;1C_%` zd2WWk2srOo;}Fn5K$QUFX`KhaDJ+W-(!0S2LE;>=>zWaJHJt4Rv`Xw{+eBV28P(#o zqB~{bz>kRE^NjZ&7aW0|KlAF2!HvCb4|h%YK2V5IIa^>9>+iVRy#=MS2P5KU!yA7S zMCJ(iwUOEP%%}w%aup2vPxd;xRqg!)zJ}L|j)YakN5sE^nKh;2qqxKs#r_*jtHRlD zbZ(BOuinl*d=BmCI>Z@=3Syg`vIndzH}5RhBvbV*-u43;1y%ugSsc)cR-kyG4>e2H z8ljJK&RQe>y;N!}kl@(*1Mc+3EVWcHU;?Ok?It?b7*K54**sq5xcS1^?M_6K^EWOc zzNBt2e~N+;0!>@@u^IW9I70qt_AP*ukTJcz*KfQS07bCtpar^@BP>n0|CMKmzy zj>)z+GDp9FmEvaowRr6yLVuI$5X9}?)Af82>A`K)$J}9cNA`Wt@aula@{du5!_n>y zQBl0gaI^hdyuLbzMPzvad$A|a1RfS(>xs-WKeDIcpcf*}jR62Y_!B8OHeI z&B|}H|5~_~Pczs~rkiX9?7g{R5*Gf%ISXU)d=6QQCAi|lGnPcCsBl4&pu7$WHvxNO zCAc|$E#8D*C^{EN4h>Z6Zp|`KeRgcwjrO&{AHZx7EmyP`Y$gfN^>%wxxQPpMint1B za(=M@-D)HM!0t*Zg~u<8ctVxnVvYgw0-t?dz{o^onuvy;nnetyFVXoe{d73Yr9fb? z>{xdx&Ps2ETT^-pQ?g$VNwD$?v{Kn5RBM)*n{k6$kw4C zWcRe|BIL#p&&nCka+oX$=R9)pklXVqBcA!a)fj?%OyFzaX?7>tG9$8*b8J}$QocIe*4eBU*K2LdliFUDf zZ<%xRkjLvRm-xNTv1+Ajtv>=BfHjfvE!VU)qlpTV z9Nhj2nSO|#S)oBOd5`#EmL?d*~zs ziimL2Tr~&0+JW9QaSKUtbEY`mn8P&?Aj%(Xz#=9@i<1b*QBkGD*VVqchQN*?W-(ar znA?Wc&W;(NFY1M?J!v|8T=lR9mHYv4k|c=%wi;F+-tS*^Kq%+4$bFS5J9;M2taW2h zF8lkJD$-glu2sL?nxZwcmsiN~d1cJK)XxC0buwZgoC)TEox}Y=GU{Yv}Dfk-I@pkD6IhK7kaS9z;+l=$qMsIBhT^FWEtXIf(RyW%^gwqa+f(61w zc8{lQKRxkM1iN~U1%((oB2Bb|&f;0A59MR9gK&|mCfi_qtfc(h&d}=jX1Ob`xhXDl z-tF7prkL|H=IstQGC2T1%Z7_*8it1Pz~?%2pD-H&O#zKKR*Vc-xM(v2r>lD7n+@#l zl|~h_b%*jL_uv4UDqjE*ip&js{APbHO2rJajAFhMAk*T$acHqjYAr$K)scH1VC`t`PvlZ1L6Qu{Q#7x%>HC~`6-)Z1SQU2f-Tvt%x`z79gTkQwC(}=LcgH} zBiDq-43Ks<*WE)D)9<+w_=M0~v|fIwF8fyk%My7}q33 zE&!%7x+G?;J86S6^Vf6_uOMS%ekM-5s3;vPj`$4;6ag}@qFTrr9cQoRif6z$o{xDO z@{f;su%~&RjEL%DZqn644}qEIbv+dnzCJ+m>Z5QcP3rfG zr@%P>7;^@rjZdb%&8Z?{i(xsZnG3Fwq)U*l8Ppf1zbx!Qz0_M23ch$nzkx)T{4|5N zw~qED=u5~DF6Bg|-$x=O`)T$Jm|htW$F{$&K%*Aaui6MROtb|xPS)eOGoYnp>Nj*o zaH_MA?R3lT=_SR+f)$n$4?>4I>kCrIo&i&Qh745e`<-DOF0UH`|8kteG>VX|Muady zwOKXT>`X|aJkV)EKto^UTm!Y;D5z`mIs<{k1Qgzrwp|)fF9?~2kXfTX|I)*RL8Fk< z^I)KO)&Kf57x)A3OT*rFO9L4|2>M{*0Uku}5Z4uW+vU2OGr~;XT$9yNbBWY0bg{KA zJSi-6586{;%CCzq?+tsc)UciaDW2q6)K7C2U5oIlOzTQUhmpoKgD(s9!tAD_Inq+X z?>tW(XDjfJyaXCg-9|2FdO(UtosA+pM8)hWFx@E-@>1QUz#sF;+0L)uK^kGoyR69k zro!qvpEEhh+u7HzFkgUh1x$oNGR-X0&eM7-5fOKK{g!G zVuUF7&Tx003-$8f45*1uamk#SsS2(e1n88yrDC9&cnC<1m zNXYge5y)BUVGWw8LiQAx!*7O6=M(_nu{>uec10XG@5<+M-54^eL0@Tk;ZoMEhzm@& zx#~IX_7t&az#M-wVp?qgv7qo!Kz~d$q86=CEwF?gD`wn>@)9g!714ZdWW~N^rL~n( z38rk)JO$=Q3S?HbTTySNxb1kNz>d8oT3Z_5TTK9@kkzBTYakG>D+5JBy9MN)i)Nrg zW(vouN`E8n+g%~Ul05_$&}(_({UHM=O%KU(ULU$lcEt zonV|b!ONfYR(Y{l>P# zI{eCLp8s%!VfzQLXxCQIRnp-zIDOUQxZj7e$g*^0Vx zr))e0m@ry?Zmtv5St-v?3w1qZHQgo|&}|60yjnnEc)vg8EDJ((!1y-;_91*Hn}_7X0p_^vn_Us`thzw?SNd~kOY;O+;`7RY zSGBvC2lkfLUKCVmocqE=9|;0rSe=RIm$bCi)3?M#F-tn>>{>Ag84TwE>-zf#App5N zukxWADP7p5)8uolj|XHpr42l~=fCnAg3<$h4;hbIKw%l&CbPICI1VeQj=Dwz?I_ru zrrn9%7-D%PmK!V!N`Y$F&O1aqJ!Lx!s3<1&j!${!N!Ww`noafq1!uBTio$vM1~e z*MC_y*ul3yuXAAyqSg3wWxu=2?wP15j+B`yom-za|8ftcV#sNr0YTHxRCS@++?mAf~5(ok`$!yhFB=eb5fE ztVWq4J|MmlAON5ToVu-HB2=HH+(u=(mX-*HvVrhVqQCV-(mnZ={yY{qzkWZ-Nbet@ ztS~kl(rec!gW*s?vz?Zz_$b4^=Sf8jjHI^opof4Sv$xcebgw>3sV919`F4I zJNd9=rlRN$eqVU*E8`jRUgYuTLhkX4qg*AN0h38iR}$en4@M<}M)vZ#l{K=pe0PYZ ztlO8hy&q-G=gBaHd>N&V?zykLdcQ4!L6l376OEgdDNhy!nPw@rYb^RD-3y(~+Gv-o zQF{2kSWNoa2N`ZXWxl<-d{n^8_2jv)SXa^)bn-SY8r^eWef55O<{JjW*6^Tv!GF@m zC0(=u4L6u?7P01X6Bsn`NTgU1(?6M6(T)*hIFwG|9D0dwC&)5M^b#Xu=#=#SK>$5~ zMk(f-bjT=kBZIyTstlLr9e2zc+u}8CJ?WRI zL?u4?P&8S;uGM-I^6=zW)AP#6VUw?aJj@bNcphe!knExxjb3$ej5A~`4iO<^Z=d{L zwr`y^xwoa7P)60B6NzNz8#?4@U?wHM;mNPQn!oWMrbS$|pP8iab6~9Ce5~81xT4So zoe0!k^M{P?<}p)RGfu!dp8N2mit}4jGCcRy@{14Iy4`%Bpv#nHROr*!`-i8UoD$*J z#PyUDO3_QwM)0kvvuyVmLSSQ=ZKJ=V+H-jJtMwT(*2#bUn6dYLpJnU!4wYvaU?hSW zHwF=jk)cKp5ler}@KB^R!&&ao?)8`_!cSO7>619xzOo#i{%ZTZgArMr^9A$zSI+D$ z-OdGzp1(km;avYAC0py#AavZBF6P38)Sj7KA$$6(F8~Y`{9nh6$nHDlTv^-6=^V=| zAWc{L(-617K*pPlwyQ!+gL)$w~zxxkr2ABJMwl16!WzT&-P z*$6^r9)2#Wy{7nG_*95mz{mJ@Ff59tsR!C2M!zsT`_=d4^B)JyXb<83j2;8U$IYRJ z6k@MFekC%wV!oxR|8le+S&RZAE?D>Ua{nOBiA2MbUwbFNxIusaT*&p0+7o&%9Uj~q zd&%PCAs0kF85qK^ULoVXYxlz9IJrO6y5nFD%+YZ|qb~ehm4ABH$D5c@|!W|CazNe3NFdodnOL%9de(G`j{cYif)P!61ps*N+8p&?I#!cCBtyjWy@O#e6RPg%PW;d9a_J~lj>`eeL` z<65J^-l53z0T&p3#Y8TFY#+SEs`m8d&_1T8zc$_{BX3Yf>oi9^5)*PnQPgji!Y~b~ zyi%4j#)KL8MYmIMUl`ab zp(Bl!eUSW#9J~uw&R(=(uOL(+ynL`~a|zOzFpM}E+^Uu{Ph~*_Xdm~sw5l%lAoJ`0Ob-@GTe$H39h>Ms{lWWX zY$4*BMVe>uhhBbunkbf{6w@Ho`F5vM%Z*Y!Ujy$?3b|T^M6=*3C@}eBRLGwD`g`=b zyD<>PX?%h9PD|ShcOd14*j#!EuP&Z)<}42+ThLxax%J**bFnm_8gg;-kV!m6_Ghn! z6lCZFClQ70$5|nJ^6TUMl*{*-c!Ctk?2@58(iN#1Wj0!j00lDN zLxG&MbS=o8#J)mClbGbJr#z9}^rvj+4^?aLywS52RcZ#$eSJPdw!HiI3t@M7d=~k< zPO9OM+{8)l!KFm#OY()7i~FXsS++P{+Vm+53hp}qey1aOVOdS z_^dJDxdY$;+!DtMS^FIa_hp%C`6b8T3;70pQiXJ+gAqOZjrZDb>_{;`gBk;bRi67fl61>4XzK!KlLKm1Kzzw-t6qQcYa678}7d6f7a zF|LI8MOh&u4@67w9C3PCGk_DWV=4!HwFv43f0M)9W?st zZ6_nZg1#X8e(QS56`QfNEGn_>p6m5v?Q<@-Bcf*hl!u4>7-O(rjhnqY($`9$2~qBj zc2xI!S?$`8v0hwV33pOOG%T@Ex(^1{%l0MP(Xd}f&Y%#m2lt^#!A5U7=mqH$mdN&<3&3m*KUFH$rjed5k8|@7F>_<^f{;~l z(mPx10wrw~MjfXEaitQ6JO>{nf?&#?u~q2BCyzD%L`kFh!C|Z;e_Buglg>oqmg3wt zp^K-Y=^<(yK|L#a7(JtPi`K%I%Oc<>4e$ls@gA;ggSjG3t8_EtqF81m zs+V3|_c?kLK7*U}?2-vuH(l}+_$IP4X#IPzYPNUm<3Xe6%EF|}RRdR|YsidFc1G(U z*}LpXuxn@tm`#TR_@%RNQ3R)tSPVNmQ_&x^C&BnJ%>TFjpA5hFDk`dzsNFrxe5&yH z7HCFeTS22BZ>8ee_1$U?kTH+9;+AUt01S;-kKNnJZgrj^x= zRZVKCusgJ`m{BQ0nh%vQ`@<3a9lLIk-d+#dvMww^K8C^BA|GK#ijl-44SLL;2jgp- zo#TJPIgHP@FhC`+iZ9}tgDdil&0vOS_hQbV=GJY8>B50B5TQLfSDom%21m$!Sy4;O z*%M)WA(^-4tbOZrK+_5*2OApuE{T|V57z^&MF9C2FU&y1_y;i{9T>ki;Jxs2dhS^6 zbx^$QEwyy|=>-S5L=n$li`ZU0cD?wxG0~rLZd1g-k`rKAq+jAi*_XsD?DCZrO2M6CN$8E9lf0fw8o`K$}O<%61^ z&yfw+aLf+g0^@rQ%$@^3n5-LY#?MIR@Nvl{@AU)?s6;LV|hA_t%&xs`AtKs{k&OFngJqucxpnc2anHnJxM-wpN|?;LDBqJY>e z+LjFI)|D~QWWc=>0@4l2uhIawe;7#q>>e^213iDh&mu+cKIG{kk1J$q(75HK0hO@s zA){$nfc$31a^(p&NN$`+m3#?IKMGb*FrGl6-Q$7EVeP?H;}kOT0>@bT@Ha4#AqLck zRh#m+`v$Q1%cewTQKFk!ys#+l|Z! zq<6c<(AK6zA!Gnw%9eb}GQJ>W@fJ|})5lksdaCp_A;p5@c`){-kz|Fa20wb2KdROy z;DSH_qwSD=K2XrFhXlnKsA*VqT^UI_<1I-q97lD?!>D|G$hDz5k2d*cJEgf2cI{Wt z2s+l?+VUsKj2@p8x-Zvq=%R6=;9;%d4GgYeb}+3PD9g?D0uGQIKDY(WwL;bilaZ@J zW)0w{S^6)?7d(%KW!C>NIm+cDWW*nb4Eh?Qe{QzxXf#RHAi@oJLm}gUrNJ%#I215% znNTbn_^~Z<=zv+FLM|S1eufOtZP#pruY$J)gMo~Zy`N%r4OxxEp_zs_duXVD zi6{!_nnTXYQiGKhu3bD4Il!$GDSRBPZj~MMOo~816q9~4w`A8`dDHR<+0GWmQwul1 zpYrlkbEP~q9)H{!ZR6$olVV27Ek1rJXCE*QEDSuYki@?Z2CpsX)B(22pK{64+oA8vgy?B3DEl zkvLj&TOgx;EJN>cgi90PnIot_b9l zRlm@JB2Ej~vx9Wd*r^@x>n2^y3tYNADppPbT z7aA3CxhpNU%2-4pd-|K<8FEJ?=QFk+OF0Zr-?L^iZKIz<4~H`PVMW4DKC+$$+~^_O zD|(=wufNgHtRIXZ9KSExL?ZT(J^9V}44K>d?=wl7AJZ3X!mJn2z@oD|xUHWtU6RN> z4r}oWxnq~;0y~gN1k0bAnhUC-bo{fHx!FIb}2dE#_D9&#PK zp)Drj2f_fZ8g1Ra3tWNvK$RP4h5HOhf3)Bv?BByfwzv4;HuMkD z?W>RnsHW-@8GAZ*v1nRUJ@?I5?gLS=&3%)%1OsRL2ZB)Q+;Kc*G^6m)lDa^piM96u zG%Y2?y=TR&0IG}>x7rGswHew)d<-3K&~A!N_=J@9+*v7P&wcZi`zG1wGvpudiwL&u z+52^OC1-pGCq9nbeTz2L{&H}ffJZ&#Ao7b34Esdx#d9C+oZXdP{8u!OG!&?w`(}F{ zjBO@~+7&V8c3sMfu$-Q97d4SRcO5>km0=kSeT&{s;Y~e47Y!+; z6?FPCq{UUyx2)Au-+Xm`>{b3=M9iZ6Mm<6kHZ#PivJbo!@xf`pEJ6>zuWVgGzr3{i zyp6IdTk|xfK6w3Jcs5Uc^Gx`ievm!=!%?eaV zzaxMjzGg)*>p&0#H%3B_3|ZH zn#(u!626{Fj0m3o=2>Q+3xs(_4Y9%_Wb5S;O(-kF5ZA$o){)HM0xB#uvS({+s1Cp$ z`k;u5sIE9^zGR1z+#zdy_ZghHA!ejeCrzjr-4o$lon{y= z!g-S$hP!A$mt;@L!pu_nLyapi_e!WXKydJovqYCX zQ2!!i$=ATw>Z3`**P8h+DK;V%6}V_p^QHtNE#w>QkH~iP4%r2$vDrzvtdOlyw9odc z2sQk?LI%%S)<}+_PV}eTJ>>Q`Ax~Pgk_Aeyno_%86rakqmgJWOEZC}r z(8hz@gNEq&{sCo{OqV`p$_3d&X8MDo?DWrCQ$%ULWXF?U|y zhED_#D1i|S`Ywq_knMd!r4&^^Bz$ha%z_?$V7J8Ay$(hbz|LXe?7v;}1zn^F6L}%u zOFpj*hd_io{V|eDTQfW!+2+b{TfvjC!NCBrP75vV!-n$y{gel%l1(Y1UOtesq;iz{ zDHY6xjDOPFtyyi^yebkaDLa(p*FtVh$T;+f6NaH9KW@3?6m94k-mFe^`revbDwjb= zAj{|5sKT+Mxw_KX$pquC{Xj`eKMb4@`HgzQb<2Km7ZcG-aR*bOh7W z-@s!$A^cAvk6i2;2_$^3mgvX4)bM8a^cUY_&)wer$Mi>Tex*P35P;VNM2~|O=U2wI z*N7vYQ9KS_$}xjE@D5ilxujJ&%b4EQH4@-nQXkbl{l)Zp%3~u3`{Pq?^JDCZDMI6Z zwbRNY&i4!v>WV$*2>v>rAy*`qzUd*Lpap}!uE7hPwx4BBe=$FAj6KE(%E%!-xTgQK z0!J7lduT|PS2?Q)6->tIENQ^;bq3|v!GM**GzJ#W>Z5p&NDKPckNoJGVzfvLxjfq| zAST_*-LqeOXFpKrn~V+g4-XRLaFy}YmB3bYNh6G$dCY~2wj#q^kk&!TlDDnD8MD3ic5UI^5kVVT-nwNic2`kzA*_?9e(tk6!YJ=&snONTSkBh%0lGvU!V! zjErYpRX!?^->lm>&5G*wMvXfS!VM*?2ap7#y-S2wN5)fwW;lB?gLbcKG6et`?l?DaW+qqR8 zq#0F#>^ern8lNxCGVpGM*;A`7XAwTI2OXT42{iF>G%$o>kt{v>|5=`>m?!eJ@G&RD z8R>Vy71LsDoYIc4OB8XsA}-zlZYof69rR7Wsc5S+k^jQ`7dZjACMW<4GtRrvsd+kc z1AsBt-Q37^1IALq#N0y0x~2nE^V3X=W4AATU_;q&aTPjwQ`g+^3@8-I3K_kN4aWLez1>gwZ@NM z7~|mTyoi?+RKb}9!?T~X&^=^E&UmD5&V|)J2mD7`F=Q>F)Ptw)^!YF_>@4t3%T!Q*ur?S(~61xfNEN8q#my`5tFl`r{J@K{oYb~X42#{F1PD(E%ZBN*UkPG zvVE5aSgFQ?O?Z8C$1#e~iS-7BVy++)oCj}}b=ZIxR%Mhxo<=+rxKACBXg3Xm0q!>a zoV9R#?J=XkBH401=0Q)YDt~zPlNS1QVa&Ku9ZUkvf*1mP9$6^BT0IID;g)7;?5gWW zgBLG?^e~jG^O}lFUP&5mV+fe)AxBDqxVT(a;?YMJhU2h~SHiY0C;IC*J^M)u{koN_ z8+v?(Y*jMKxS=^PS%Vfs!zm`vi`qSxS?MTbOhS+P zF)=Do*U)x!552)8-KQ_plb^KEulEnq`uF!wWQ2jo1fWqQTBYHjtc1Qp#$jium+B%` z;oC^1YMtj5GE#yJ>mi@J=R?-Tdq{ebkmZp!xa1H~VbY_|zsX0_b6aFKnbAP*xFT9(7?1YHM%ADEFr5w}Po+aJTiWOnxhp&sJ> z6TyHbgTYQ-dQB#xWc45DJvOCHuejYsy+U@lcG70oB}_jM{MN|wtuVo0ft|{#IJ_}KK;VLI@=M< z)3aZ`v!4hA;GI81j?iC^AxbtVaagK6We||47zUJTiliM;KS7+Mf+8;vCj)5MhRh(64IiruvC+YJq!TC8o{pCCTC0V)e4o1f%GTy(HTq%l`F2l7+ zajKOtW8KLPM_PwaU9RCLdsM243VCOp3!Kqw2#eu0utKzm8TfLJR=XP5yeMK%e)&#* zm?yMd9|auxh|;|$sRq77zH0vOE|C^+pvgVkVJ99H zq@@PL?M}p~Y{IHpYc%_9q;;x7A>#Qw$u(>spLS8W^8IOTG#%T35+cASat5;n*N$$o z)TuH?D36%{s#$hlaDdYAI?fUXm5Zw+W(GraB*+T`rSQJ*68wbhsEAz#9ib3$75ffx zZ2^~qHi<%;d^^S(Bie<`OO~7jA&pYBj4jp)6u;c3!tM|XuGaZGbSJZdMG?Ng{M#(3 zfN3Xw*bAnEuB?absn2E5&yaK5sAtC9fMZ;9A>Lu#a4oQTEj5GUy7q$_IHf z#AgqBt{V&$~ zzG{TKgN9C&fXwO~8B`Hac$k}Re~~{hTo&#Nq*YQzs&$L@Za2P|qX3BPe&soS2uCQv zSQCz}O%_%FQJ{?9Y&hFO$*f`A<~k)cJkm&(9<%2@7ear>+|TOKVq|~*yeUWE-MR!B z`L{??O#c?DHFh^t#6PZO$*dql@F)b~u8={8K-G_-_#589)T_TFy})BGvfNb2p8Q-1 z{e76nX<*Ni^0?lCBUGt<5L1?|qIEQKQ9u%rwfar+%$4!bwyI8^qkCmjk$qgxd+i{S zgyYwXZa^VRqTWOH+~-Q@?~v`5KZm>yPr2tV%LF9Sc>)Z_?2fckn}JeuTrPEi0&jtl z+>ob~hYSw|RU>{(u@mLaC5dgCHEAI`@y5My>3GQN9x|ur@AnV%@aq~E(x2)5vkt}5 zqO{!yCL1)4C=Vfu3RVGH^5>Qlxsf#$WyMs;sO7+H2nnm!-nSgT$^f{*AEZ5~<9f=T z{agwC9Wu;{Q_KSr`Cl;ukcOs+p@54~cE-?{94)c^ZW<1J600(fO(=DH$Wz88>x;6g z^<;9v8g~qjLiY66AL&oznnTF*ysOmvF9w;E>UdK(>d`yNC<+agYro3OhjmSt;F!lu zC6Ax3z9Z(%;&tHyeT>6Mj&0!!g;%tHxG~+jq@turDrYxc zga+2wyPu#>s0|)-xyL-xNh<@R zFT^gY3`Xr0XBbV1zhxIQ@LCkJl7bY@ilC>Ef1QXcJPFa@+ zx15DM-55`KX4M ziA&9feMqSM1nh-&hiN_vd_^vhEP*uOM}3uA|AyfL8cf^Y1;`;{7RPMwRmy{Goql7$ z6^9!g+B*EMQxSXi>$mKeejBml*=qcv z`&gB({kndZJ^S@5`w5DlP6vYz^;l$Z%Hv-`1G8O4oEy#R++i+N$s)Iz+rkTCsVc>3$>9`i3RjEtH|fomow3yR}U$h=2WBxO8WBV>tD zhD-WKb0RUgf1wN;B{K^|LN1>E`u>-X*@}bGWGgH|wvlcaE`~vsK@+f+2pQ9?=6eS# z$*hlGpO9+|@waq0mqPaRH`2d+$|woj2hB`;!j@}S#s=38umqN<0@5 z9;(dnp#*Gnin5rYe^?g)-t24>j+ukYLxv5nSaNCxFsbqsec&g(BMu579Jn`^>98G?a7!yVbm)8-;7c3tGJVuL(nA)e7>=A#w zjuHz_oLu#Tq-q)w50Ch9EnDYv^0~D$q~%lP)7v^~USZ&nV09)~H;wQ!^Gz+vc=OiW zSIAZ-0r|5kFS`rKfWEe0DJBcL;lhCeM;rE5{_s(B@{>G0q>Tnyitx#q1-{~w`#bbLDdVu0|iLy zew3Goyze1HyE%mnV`-N7hasVetEls{+_T#WfJCwz5?2o{euO4K*W4tDDCTRo#7ot>aT) z8a68}zlE6TNwO?PJ@wIo>ny8dVFUIE8IA2j$g7~($v6$fEH5`97gXRYw?@+y@(18! zRiV~h4{hEEilk-8iIdxbQ|BJT|$bN#QWewiKis>2&&~GsHu%laN zOc7Z!qmAu%9PHQb*}69T$NiGi0MyS#^^n^=x83#q9=wXA}Qc z7d6@h+{-<;(Pyv+`yR<5Fb!=LmDJh&_1kDDx7ogUYJhREcOpcMKNKlO1|D<2$GlIR zN_kJ(n~fbJv=Ky+n(k$2wMq$~tM&R}DuB^+#Q*|zpzHNxiOyf(fB(KQn%x*Be{D*n z!@G0P{iHYNXW5hA82>P2`XUr-fB@N5b|+Qpf`HW_*#|F*1o@nG-5IJ1x%-KUr@W|I z6tZW(@fgYddRT-;OYx>|*h8(?mBC)E(o0pAqtRev9W+L$kU(KfQOMctR~bq3l;1u) z01Q0lEB#RxwNs5zkA+<0zT#a|tD&bn_(_iuL}Qm2K_^0>s)%QGYDw_Y-~e`%f4km4yJYQWfqn$(g+%vfft_(R zniL}fgeqpnK?tq*i-tX&&zJ4!fL^^x0ChDb)zja+(%1jSm0E0b@@UV^ykZ-rhJa3qFz1|aNe>bzum+rwF&d7o zd&UPQTzD$&?*du`F$&AxC*;~ft{!r^hm2&}--lUR4~mL}HB3Nx+z=;zdd_ zv0s?&bz}d$AXwZi-Oxc1*8szdKY{E+wJ)#@_UqcODr6B-r{Mqyig|B;$ju{u06u|( zogQ*wb6{2G7ME7DHUTW)69OKwUtFaem{Zngwc4kPUQYd78B1OYled%T{2>n^v}%&^`E52UU{96pNJFNDXU_^@?-i2LL11BT6w>J?=3kutz3~M(4l#>l# zj=N#2#U*C@wNS|RFTdd!NI`ha7w850zzMtzxB<18Bq)ADaChp;0NvuM7FyXTWe+Ij zK)M!NllE4W%P$}cjOFn5>oxEgmJ$Dwr)e2^n-{2f{d`a@P4%ZJ#1`@s^C{WbuQ9U@ zp&b)x53$tkDqIwdq!V}<979H7$dUs>tU?&2bSc5&M1l1z;y@)ZBp8JvD-rkxcXey_ z*sW%^rw~95*)}QW5g!69S#;?paZ%XP9nD)3Xg0b(d8$J zjZe#3FhNEy+kQngd>ktKCCq3dqDiQ zYa!7)aWu4G&+xnKDniaAqz?*OpA){^mHMq>>5bQnE(Ne=C)UY4(nI$A_f@#) zgk;Fjlcb%3gqI8s#rY!$q;fDUqCkf~!03y+Zf42CjGIFfvTcwTAt#2QTt`?m$oN+1 zA=6FF082<-cc_M9_5^rSF8V#O8P#Tw(~5 zGM`iEsT?mHzcM@l-lU6sh;*uj3z9r{zgv@-dew}*g#@gmgRG=A0;fjKWEQ?H}xXH<=W3pnxx16 zh}ps<(?K!dk^mO-X{VrOZX^{4ZF$f^tC-^c9hK;k-*fh>^FPpAXZibggnqtW&q14>&U=08di!yf!BI^Vk(XkksrW4#rv}K!?kL zG6{_+)P2SbGMYML&E|$Dz?*te{k0U3olUU+bj}qbCNR*eXl5P3BeaXHdd$oT<*lOF zy5 z*A=_BCP-P<*2uP83|6{O7%KKsmiKXnXKlyU3;j1wk>ex4T%Vd5+-5K;MA}`#NJ0Nj zZa#)M_~=0v4}C!8Mi!oPBb;vg4I_2WD|=KO=0 z7wQa^Ikx_ z#pn)U-YIWO`K5hTG5Tf9*3@muF^Mj0CE5ii!PF2ZNND6A6|t?6S=hVD-q1s)f9_s3 zxk;uTv$A^oOU3B4q5Af&LlpjbJ!et25b1Y0c(*zfX}`38tYd^XFR~=|nSyTB z*6BSv0;MC^E7Au$#q}(2jqT)Hjn&mwA-C~j`>LR=Uzy&$iigtvv62y>Kunx)fnpt; z`mGhrL;CshqD#>VN-QnrhdWP)?qGWXU%@v)8LC=U?w+0oZ&F78pN9JsAT|EeFa#oI z(7{v60~WL98rFr||B%gKMVA2Ep!b8OpR#fpI(})PZ;Wm>4F4~VAdHjnnTQ!_N03;h z==3~z6Epe;L9>FBU04QHQty(9YMO*Cu*6eb84uMhC>?%3Ty-7OkykHaa{Bht1H|hw zUwN?oezZ|}c?wsoeBW;+5=pcpR&3#*@#CWn)P+lr5k7kppT;cex)u`gd5q-%{po4& zre?&PoC@HOx}{gCttn*zbn?P$g?R3^a-2PrcCHLw(bFlQ<{=Ht%gNd9u7!E?5T)54 zGb^82vV)rKBb#1spm@dl{?4>h%$^2saz==$)Pq&iw_+;2-HlnfH-?;jxqs~~Dp-Hr z+{cFKp$zWhI7n&`c%Hk&G4q%gucCgJ3&68H58mXAh+BHK6?bbvw%pIXnyIO3Cj>X5nt8qp>^-KGlqV8M56~ z*41)|krlS0bzP$9Sytglt6HBBAwvQ}@|M5OK54oD(*#CjABPX>*w_r+bj!2gQ_bis zz~p}Qi0XottSks5vx7mXwZ{pteLW;=2w7y_ z5llcY_7t)w!MmDK=Q*7)!q6hQhTuL?6HVbXC~g;S<4D+WS^ud;QomXtmj|VlEhTz9 z74e|Z1{7(4lb1*ZomHfZqR-=M4eGI_{(RSywUmBSLBn63%;>&F6Cmoy!rtTwRCc)O<4f0Tbt+1TR7*-U2#>*pK zpNQ>%9FZ_Zf|odIEPTGJv2o zJC<@yvQwPnHnv0TkGOciII<3(a(VRjNRWpBImDid^p7dn||bD)9M-NrK&NSevq9NioaEDOa_SR9|53 z-b0=zn4hJBKB0odKdh65vz!il;|a_)j!$_v1RJ^EEK{(;6l4IX5=w~!*?To3 z0!BeA=fqSy1M51-Nb@lOW$w2lWa*z~w;@y?Mgrj*F5%Jr;WvaA6tbthF&+nb9nLH? zLV*r=EcS0k7t8DV1a^<5U=n1GD zt9EEO+~!2vlit|(W5IUe@a|dv@LE!ffok8m^!?7_8Bp0F$WA51Dh~w_I{|P>Zb)X- zr8?9JY?NKwGi4onqbj!(e z-pr4H(@E5d8Ksr)SX*=fXliy9*ok9XK@c&E`Cz3PZ0x4SnPYL`+eKp_kwH%EUTgx5 zvZU9%5<=3eStZ2H(O)C9VMB#U5qr{`HtoU5+V#Bzk`v|jGFD+np9WZCic@R2-qA3zrR+?_);>Fm6d94Zy zXm2ot2ikT6rOr<+l+gQP-hm*uzk0IT=70IjAY9y*3j^<>9^3==q&Kgm2ix|f^}@$; zsF2zCV=f6lm_FA6Ug#KuXa^PfTB|ToZ$cPK0-Xh>sUk-ghwE^u= z1q|2^-jo8?E|SJHXU}*mJ)iI~;BTHV=q#FPp0x(w;JaAlN%j~m(`&j39S*9)R*B>R zbBUE1`fK)Jp#~7}wr_*W41d&A={C-u@zx{bA;))k>jt7nRF3v7LH-wZ2|OGMhb;?< z>cff+{tS|3gF4sm!-~zP+SuAGc{FpYSj#e(dl44wdhCWAQfGn#3u2&8J0{vzAty>`I12NqfIZ=@ z`ZyD(NBrHHKmp#`k&>XtiRNIZ57%W#=`>R90@D_*%%MRbkgzo-@Vx{0&ryVV|V-R~OdEfzUzb0qp1%U_2$aYmYWef?2L)Ux9 z6cTnb-db8VF=Vhd7pyE>7&{*qga`nfO7Vq;UR)IRg0)zKErF*jJ!6Bsthdc~uCOBZ zY_}dQUOzUa-)$l59U~%O3uATWDir`8?Z@Y8e7U|Iu{bZqW(hvrERsO1x{kldQ!DzD)KJz=}$?4iW%g^Tvv~X z32k?uqJa2gIy{&;BFr1NF|xy2jXCgh1h)F~>a|n*@m<7o-2SKt;w=aF0R|+iD!=ka zW&}&cjtGWFTu>&cPGMfkzB zf}FG`J5xlgotEoXi}qR-G2f=|cp;JTSgL}GXS{u7y#CFwy9~ZXg>THQ2#!|-u1ph| zB&ciGg>p1}kR%ekg$=a&x{!y=r58%$DRMNXe?XdCfSZR}7NgiAgldp9WT5R4d&=97 z7B4d-|10G0pibzcd^r~Eh*@P+XgiFp-?LaPuc($Fu;da?8K{70n0~)$d}B|U`{Gqs z)S7n7I7=rN&wBfo^|1S0C&U8l6_(7_lS=}!EEh?EF(YwrwzaB+CVV=$kJib9vKXJo zJQo~=+J!e;Ue8;Tv|hdY&~?kic@XllCa8qq1e;cu`*FzU2we61F`u^}3|O!UcoQ4= z5S16~Wf_%tc&}S_wdFm&Ff+7c z$lbm#`=zmwMxg7BnUIC)HGT2KxA#5dZ-(?Zz98U2 z_JVfRxZXXMUhwz2py|F<5RWYdY8K7IyoVwN#4ufeIVTxvD&p)B=O0A;<7d2^gxRW$ zp_^8z?}+IDm{5pe2%^^C1ppxLm4 z$iiBz`cK43=2}TA&Hn0%&pMNrLvIoW5nEN2-Ih4TVpoaGhA2>kG1uX&_`-Zfvskr==c( z%<>zuK#hjaQp#%vP2z1nI3#bN5=vjbQlG=U15N$OBk8m{{VrXPUGIPX2-pmfu1&zP zO;Em1rQ8*8VXel}(tFf7Eb%;vh**_RoX=tx0-LJqij%0z2rTtGk&FY`8rmLWjBkUv zL{+6K2MDsgnN5BNf7rWPS^z#sk7zIYxTt1r&~1Ucz-U!-7LMRnB*czVE(hA*GS7MZaz9}_YGi-G@=1{)}C2u17>v#8c6;}(fAa#m)$Kq1WA z;g%OPXkvK-SP1%&ABrURc?%d>RSHBu6d$RBEJ2qMIO_KkZU^;I1_&7V^^R;WX;Vfu z`1mol8G=mkfS2q=rLt{bZnvBV>uhoWg*e>te38Z(^&#`aGT2J0{S<6axZA^hqua5u(Gh;lm>qstzePD!ouC3S>E_ONCzBKC}zpUvKhx*$0*Djd)y zOUP_Vf@S11AP)1sO2(xl3JDICMnAD(zKYEP0?&=E0|ROKrMzH|`%U5Yzyw@TBZ<=O zgMrM=(_MbfH;-MD)ebN%<3Ch5$sbxJ8vvr|fFl0@JoI{I;8Mg5{(0{x^U$!(EEeJv zXGX=N23En1NVwauTPrjCue&`WRc_6bUA`qdZ|P2_xJnu{#9Dyh>j@*>E24_y)F_y& z5`(UQGd0uudTkXXyd;uPljb3h7}i}6(X}@+)*i92pJBkfnS2NjlErqJybW5D_PT^qZ)E^@Z^zc zLl}~P(JFn>!txCP5Lz=0=fOTn-g3VuKGdu%@fNha?g4|_`8(l(B0w_Ay4HeqGEz=D znFHa)f<~tdx&F{lU@stxGirpZ0YL%ZiVt6NMEW4rgQNBjU*40##WuQv^4D}z(k&M8 z11&v|6J&d{ka(N&S)lln>?NwJSU7F)c=3#JZGe)s0AXrNb4}imjKf*DvTyWfT(RF7 z4z9T1Aoe>=yFlJ{?V?mG;_MMW(9&moo(w+mIVi}7vY7Gy15y4V0m<$HaTVfdWr&HI zI)>HPfCX(FkT6gW>xzgcDC`GxkcbD4w}1rn?Cn?!k)9>oVi7;k((5>2k){?m1@lZ; z*wX2=k_+?*63Nh{6>(im!UxbJI|MwoD`GT<5DuJT_j$yt$lpdkCmhZgISu4@+nwU6 zh^t5Z*rMa5c{;~v!Vdi5n{ZfNr=kI?O1PK;z1JoL2_oiKkhS4#UNdjFV(@g(I4ch2 zWk;iiz~^g~K1$65e$_~_`7JG!h$3zt@nelXj$FO2UR=>4RI%07aKjc*N~31)*%-Uw z7A9x141Q(apcPWx-J-Z)H#YdMTch7nK zF<%)c(Q-69nPh`2g_5xyV8cPVMa)A6++!`1{p^Y`eZL(GSYtF&jVW95wjT*z#AohY zpg)YL8#Mi}7GwzHZGZQq*B{fB^QIRy6YDoe{D(4KDh5eR`uKl1$d;kdV~~3I0G)W5 zH6S0+1@Oiz+Mh9!)-EGXWUh+$2TYu^7`+-_^gp^Rh9|unMd%+)-2kObKW?rpT&WY_9>+Wx=NipayW-i;&l4??#8%DLdk2W@nSuVKYT z5MW?0#)aXN!j1GKs$l$~+up#^1s+9P-rv2-mH>!AcfVR8d)m8^g#N)a)-ogoCu}## zkB?jZ1_9W*=PqV-@sN>4VzJ_n6I`zbg~hHXWV-ySE=W8oWY2pymXIVyj|Jx$7J`-- z#Q(+cB}Vju4dPTkq<(pIO?a%aII}JyPK5<*d3{Ii-qZ#En%Dn4i4(o4CvXPO)l74-K8V$;WMngZph{1aT^^pA*TGaY+GG6qnJM0+i|l7O;qn zk009Kmi3SWeR1{a%ZMn(q42DCBMHH-ID)ah+uYn()4ok-pJ(MPAYD%LzR+U{PaTZX zo3JGQ;&l|{(DC83#|vmVM+ob_Rl_Ak%oYXgN$d zKV{E)<1t~OT0LEE$O5Q4M$A7&F~o2S zU5beMv^W=FlE`{n={r197=3r~()0AJHy$IFZx}3qRqZvW&)+I_Tt5zZjwq?bylq90m%zp*PooK%6Fs#AFZT9e&;odk!@-r7HG9tN(B zaVo5yn!ZV&p7h28LN<>{?^{6D*NADSmz*&rZ)#V^Z2*uoLBwKvL|M_8^UdjVvP#oP3x_aq4+8ufQ@-|h0+!?Rc+<1CI4q&?&XVV&upVlFsvVH1E9 zyOl#h#poBWd*Ew}t1u z8&Bx>5oa7v@Da@0C7aW=ZX!wJp=93;N#!`o@*j*w#9C|WH#UqAMN^>2XfL-PWzTyz zqR>AGnax(iY8K)sc*q-NTB@ zjw8~!*~2{&#~VmO)bzutO_jM*#rQO7v5+x~>J+H(j4j8`YnZix+9KpdlN7)=l!fdn zbF%T<jSmp@x2re5~z8611>MW)^$1 zWDgW);?JE7Zp3;ZN`@Y41#qPXmNi~nVpp$&49t`DR;bl|4)XH6Hy^9?U+(_d+Sjf- zXhI$-mlzTYVEJFlZPu3y06Gz4_AFBM-86pF2w;bLjJ=B8Blf&^V+u)t|I~>fRs@zU zc#oao2N9Dd;Ic?|LUsMH;sO&Yxa>?Q>^!}b$U?UTb~R;nNJ3O3mT?}?5AuCFuO4=d zeR>K<;66Za%M;&?E7X6zhP0Ew5Q4P={A#w=pXLcyC}wyQ>_jZd7S3?@wRv7zlCi04 zA-W6dy9!~kJngOgPa|fIYz1dV4;5MXe2Z9&URB!BI~4>d7^m}ND7kebv({^N@I#K# zUi;z&-14+{BMbc=iHyiPyfx9)fdKZK`2N6F26(ESt&fTY3bWzXh%CB`LfG$2mUMJz z&4Bw9v1h&Yz)t^Cb_03Tgc4?zXsKM3-w|_BA**N^bj~++n(w>)92aivk|kqN=PUFT zZoKroJnP-)LjBjRljVlSKpbD}snY9>AG22pm#85(&GANA;8+4f^2@NE?XmqPF}JAr zv8X?F`8uvr3)!CD@Hz4UrbkcHS#d*L1~CKXohu8eM5zt1@A8A3k#kzwPa+L*jfVIV z6Jd4y?(Z|D-AOy6(0mbXL1nwi=nq1$AmQq$+d^_Im@Iulrc6HKg}yD5q53|`Wc!fe z@5$Q5PB<;+m8qd1Q;uTSu{~xLLvA1?bj3-M1s=!skTq}rJ7Na#FAI7xzGD+Nv|zB$-d=DZS{U59zm`4=nxcZX z3@QCnB~PFT9d;QK5{ek$0y`CcN@yN=!~=HnS2OldVzjF7{)|!cKRjcuxa-J%%%DGD zIR34Ih!dZ|Ctz=n;Oh-BWWSxvWTc8254nt&K&%{#+BkU%8TrE!gU;JP%l#TGL487I zR$I;+hQ$=6ikT~FgzT!JKW4ToxCVCVg*3V$KyHKYl-Dg}l)2dXby>^nB%>w#qPCV?dygr-$4gAp@^GgpAG>&<+MBxFu)>@`BE>*|u~&8Xhw&2^`mf)7VL$ zH}pb+B_`7^Y9)^uk*w96v3YY5M4Iq5a|n?Y2EG3FEswcBE;*1-hg_1X)X`ZcRphjx zc7bYPoH{@n?xZd1vNn0KK0^~HmD_+w;@cC~2&?>yBDR#0dCGn;Kn5tLg#O5@{XK7y zC<~GRkBII3oDPPagcox_jC?H{Bvn9YYOtflM9xlIjxH5|@eq~2i|qV4%ygX@*no4@3c zgefN$e3!?ZS(mNUA1IN`j$~SKol*c>-X; z-YiDpKjP0uD|;P{4Do7urx76!sO_^UX^^gqc1%`$%0fKkWSEcYo-4`IUwfp#jBnSE zLq=cqS!EO)vl)Toy=Psll@y;#gUkcd>uw?7;nAxi&6-EhAaSKb7 zu7shGJp;BY16D+A4hI8PN9S;{*F|^-Up19y6ddSe*l|*kZ&wjs&O^&FK)l!dkX^T3 zWLTmNcDyQ#=*LHLf61C@XLZq`*C9U!J?18jXoc(iD+x=lon(j3JIx8 zw})t#w4q*5#p%vm@EL1Tw}KjG|-T@bP{s z$x~o!_s7hf>42s_A}0Z@)a(6o>MT~2cqJo(0f+x4(V~xfO3QRb3IqdlvW4DU&ZGP8 zDYbG5=FCJ zFwoZZ23F>`I?kkZE2cw(2vo#c{+vAtwr3Kghxzdv2-^Gk2BOoA@PZss7{6U)xXPJF zQVOJWe;*C|->X>!?(2|G5)OM{yT775f^e(joIMA&M-If6?&o(iFW}=V_V*E%9=ZtN zG~IfWB(Wmlr5z|7vvA*;pYuJK4!+O6}2WS6YVf+2uBNu8t?5nYXD<+DpL<(CDz)vyLsdM zgk5-!kVO^;BkKA9tmsRGyc)*iE*mkB(U}U_Q(#X&c*<~(14-5px+>K5FPRi{kQD_@ z77c?-y3^Tno2AtQU?#Sz+oFRc#w^8piu^+;e3KZjXr zzh7hieub95%m%F10RhWYV32KZTCH`sQzGN)qubW$u0>&2xU&)>U zdwE_Nr#aWRA+N7nKda4NNX~=A$taoLD8G}O+y&g5HN9(47?@5ZtI#jRTfoN(Yoo9G z>ykYM_D2e2uJhw;($>v-%{2n-v4I^&X#{`p)^7D&M?IY}JhHt0{!LEO3eCs`(#x;8 zg_ZRTy>G^!-QPdYfc=pHhgF4t1qTsc7OzYH>Mq=4KWjC9Rd;aVFabx5Y1M0hj!OZ!~QG0X8a3U)c}g;I*= zzdrAexvWD4%7pTDMMu{mo&eIq*x|^ZT3svpL#m9yoC5W|(1%Di*po*Eaqoz@fYL8c zb}GQ?^?m{4p6syv&cBK|ckB!J;rqteM^8*RRWG=81uRA7yU4?g)~w)21oqt#Izk#P z}NH-l{pqA{jzyn4qQOI~7D6&w+)o3KO*VFm8DrC=o{h9qvYH%pC$>^SaJ=gnO z0&ZD@0YZqa7XzJyrpODQdbo`&fBQ9>%j%XenZz*U{g7#7vRBL&CJ<*u45ytGY~A#dEw%@)ONH<>wS{Prqg_OBaKpmr1=WxaFYfo2u$j*>is!xY==}PLkvgT;X{QA~9*3)HS_EOL;aMf|#HM%w z8>1KPrkuCut8-H1Xjk6P*WNBJK;>zs(KQZ41^G8Zv1PC`SG=C{M*YDNmgAIFe{{o{ zE%WvxERi})6P%7JPaOP{t6(|zcnk3pb%Wv`@uruyDSYe|9ro<;it+oE)KH2iyzy-L z(&<1T)4J_!T62Tz9@X+x!MPZg4eaRI?o)7*q~UOF6y5BJUPSQB_!e0XHZl40jN4yk z2E+`nI>r15SE?bKH71fc-F}Jrch^J)Zf&gvCVP1b=kzHn#J8ZLE#n=rl^^zQ)URbd zLNAESe~~mq$Vw4Ek~D~pL-ttgUl^5bK`>gc${vNfvNdASDYobO5=PRxx`OS%jckwp z4k8*%j`qBsF&bz3F_L7A?13O|D6R$UlZd_XZ(}?o{!PAPuZw1Bml7P?o=d$B<#e?A zAn5nl>+meKq2hD1Yq}0Egpep$^DE7)pw~jg^WWWUkn))kWO|)i;lW&`+iqRPql{|b zciWJlW$2Wp?Q<(T6->8x`ZB$jc{mY2`qO^O(BD;VdFAI<{xtQml@!H%9CqR7AtQUM z0bQ>=d(U_FC?G!Z*Ncve(#MkSR|%s7PGGfW#-90n` z1QfCe=-YjvgW8~wJ@L(FcX}GNh@APtm3hE^0^q7Kc!M0cDUs~#N!Y;tpBH*V9Ww(^ zk5}d^9cq)+7RYVqDF+c_jXT{s@+>gV8+o%}443o&WQLF}@CG zX)7Q{HWWp1Xi3))oN+O?KI)5sX+VGS1++>J6a8n6j79o5jV+qzzWK;~_FaGel>40N z_UDg-po*r7Oy_aTz0K_zcwjPNB~gz_3*_4#5?_VwNcMD1Z`tZs<5?zu3i*-zPItd7X|k!&cy5fC%9YQ4If~gJ!oYWhP{iluZg2+e{}K_~?GUfeBq=hS5kl#Td^1 z2hatIH~b5k_^9wJ*(7u?-6vHsdjedK1PH|9?g?ey>g-AUBZ^KSkg0jK*45ws z#XhaZu7M5NT^eBc6prI#2hYX9DW|JvljaF30IvF6t8N~Yb)PBoQmI3C6ibk*rJ10Z0Z|1%_T%?2xR2LY z{@B9?*9p;EY_4_*25MRgqKkb;i$Y`4;oe7aUgukd)($RUOhpv(x`%v*d$L!2;nIoN z$%aGGwK>Bj3B)6yxhB9F9Xe74k`k>-X`gwgRSU^S0AeJv(kTo`N^?RgpmG%&c6*|& z^i=*)$ese%zeK14k_G?7`Ub>9x@D8jN(Yl2q%;DeV@LJ1%7Y%DkkOY+xqeZI zA78)z!nB9^8x<$qHn`#qIC8=SwMj-9o+)HjD<06Yx?8%)b_wh^v#%I2Q=~Gw_UY$s zFt;@ojpZ2&8As;~&wl%n{q|WQ1$P;%*Q~9^ZkVfbs4jxtxj}O8<_Q~1$w6@eBn{=G zOHYY&!7~FfGslWPd!a0OpJu5EwY#FcBmk?JQOi=rJe25k4Faz%j zAx#CX;tPdqFmoi6p=4swFpwa-U6ihtr8p<)`c~dETkB+Um}%9-2je$$T`)kyU7}l2 z;tk;F9`hsr<#K9Tzq>S6*eia%^2cgayJ{iNq9sSYbT!&s%YZ<+v)^-O^zC~zO>Z$} zE)DcIb4uYNfJ3Dp=ixCw65y|Kh#LiJ?ktg^pmlv-LD8)zni!bAL^p-eR`MAPjqdbD z8w(5Mq+*`<7TYRgddyb_6tMkN=d-y2K9FAF@w}1kcbJbDSS;-p!;oIJQCJ%Z% zgFe-u{|~I_%RB?rH`p3W(a;3Aysu7sGQYIw9ip8L9V;)J)0nD3`7&mZ z)1go^d(2OaDn0zqW45m8OU#v;on~!pin(~q>tDu9Nk_6neGelYJMXuWu1P~h9=_4HE`~e#!Bkbu)cP9od(7d1$fu^5 zA3TlU!YA!Y61L1LeVV6s)5nDN1SNySlw)=a{K?LL_47P%L(zBu4c3>RjC6CxEYs6q zPLG&>$vfh23!T8UuwmtT$^QVGYTPooD?5G?fe+@*j=`|dWnZ<&-r%1-Ofr--lIm^JhB86SL@2D7-ZU{+V(HUJ@&qyQWJ>`FYc1x0w#i@{bVrjcOCYBxUz*j4WEFI z=CquwjPw>2bKo(J>z67&B6()gP!1&(^jH=rSl!r=9D*P+wJ0R@+z zedmL~B97C3Kd_tRZ@36&u%f4nQ`r8?6j`gwvxOTrcmgm9z%!BKHA<_*1v(F-_aI~z> zD=6AP0KIxE83_%{H83^u2MtsO7KkV5aB`rsLp81B@c3lj>j!#yBFxW3h?D!zgJvE4 z2wDqyL?n_#FQ83cFJTi^&GL?Q9&vHli}qsnvwx3BGv>Kl%4B=6;kusjl> z)l&b%;TST=y?w=(m=Yxfzn3wg_{0oKV}Mz;2kYx?bU>%*2>f-B{8jR<)(;NhAv{5{ zkM~5lJQ0>F5su#{Z{}4N0ZK_=ln}VO#?G`_6!H{kem3NS63UIC=&6E3s^=D+APxBT=xWOS!|xW7CP3fy&tO!Iqq%vD|?L)-z- zyw&ylJEF^lB`;HD?q>w#aEj!mk|Wm@GU^@ZsTLfX6fy<$Yp<}1enUYmVy zMrZH3$jCUMFQ{^#asxz!pgm0#PsMB>7d*C5GE%xDW{^V6P{RV|L-N|528HjsVwRHd z*XX`&Q}923q!erJWkQ6MSVPa|D(kqmvepreKHg)_V*&bbxWIezRe?(LyTovVhu~Y3 z?P*W|FOOMGt>uWraqdtHi^gq8EG8x`v{r0YWb#{G@v{`^V{F}VbaB@hSDh69`z5T5 zKW60mvo9+v1njKiY$<%%m9&ExVGV*OlPxmc#w%`!W9o}cJR_Ep! zJj>sLDug^1_bJGAvF?$YNj~qBpS92lNTTv)s ziOIaUHD9CvXIWAsNg9b}bl8ER;!&I!zFkvXjAN{GwYmXcD-XFLK@q}uvB*})B7hC= zYPaR68R^7R;L2Y@-lveWi0aUbgnI+*sF2ZUCmAd%G0xVDsXp3`6UqE*C6BBd`Zi#Q zvov7zkm-P@bIBRkE`P{{Sxof;gbiYo22)L*09Sb)jKfj>W+5R={rxL{kQ8A9JepXD zB!R1F)&{UJL2V*AGtJD~q6Eu}&q(TxRTI9wlnQ?H0U{jGYB7?jPAL$+(=Dl$GK zOUNlrTV?zAjSwM)-GsrllBYr*?1V#-^ld7xhrEEdhL)Qf6DVX)f2%znvNfVV54n`D zPuYqC)bs2FBMl9*{mLZNY<9t6Ak`yeuKUq_PFv`+XaQmQ&Vk5^%TJ(Pqm^Jyp8Zz8 zhun^iiQmDF(pRj0V~Kfm2sasx@)4;58U+~`K7+qjw*i?rNDB2|>Y(2)s;U}0+)B{0zN2D_?HD|?%4x~=e-9`QihxP~wWP#Zg~Q*s~n<3fHAyi^=z z&wXn>BDPEE6fwUCdQ=EFT1u*-e6a)=T1x?Mevc35Lzu7k^cR2^8^uM0~1=@=>fZ!C2^9rvznHQ*pGAvU28i-DPi*8q7;f zn(f`F;wSxS67xx1{fuPiy5v3BMlLjAFo4|=u(k7G=sYq@?ps==SV!Xn!&fsDh2a5v z+S~c@=ACRF(CRx0`4v0&&JRb3B@RFO%bT=vttb#zN_>J5_4>aAeQ`cK+FS0gj zD}vcvD(JFP127JH7EN&?hS=46c(hFQtaZ6|pD1-5(L3AeG;pV}>JLMq_|XJmQ7uGmvBnZ{_Q9lTHj?p-i??Rm609 z2<55c6U%t%8QWvDBRBnWv){gZn$Di{_9N#t@r%DiECMK-8=QXGMblI8jFCZLNouL9 zC}OB^z#(a>0e|mHJKDYnx+>T)X}7C$jG<$nzJZ5AjIjqG*@A#y%oQtEWGXnbr@Z}0 zc}FGYj3dqIawCI|rm@7JHL;I~WklAOtbX3NwJ;KS=oC>uO~2eg1;5yrc#3u*AfRhj zhayhsIa-p03fME=eq_9HD&AO^1IX&(KLqY&`HPpJ?!#Rv(rBCDxzNM5TLjI6bb%Zi zgI+0ccULtgV)RDrzVL|~^YgKYxNcg>aFwz`aCbixp7Hi0of(aYfna=B>Kl04u?#;Ygc+EoweW^`+7kU|tC#Yc0=~1v5Re*IypMcW&xg1lw(z_#LMyQ$ zi%}MgHgHo7ITY&UE8n4}QKcbkKQ%6j%&gDKGvD_*T3Jt6sLdY3H;|wHgo{V~$aiN$ zif_s`Hqln-wxtnN(rZ^=le*CQh}yc8Y(K9ZTHS@69nkxTnARx7tZ~}us)87HBEI5Z zm-@9wTs`7Pz8gm|oY$p*hX?#@@J`Lg z5r)k}+ep*Nt7u5l!(J?VG^plU2@K@^S}w?%g;t+JI+_n;Jgsl+K9ILx)GkQ{yikH1 z0oh4dTPWb^0Y9=G@8;hZMQ;b44+@H^>mCqicko4<0Btlk!MCE+aXS<2GY8dT8h*8< zi56N|UBA6{1TmV(O8GeGv-Yj7^D=U}pNV!dx>~0>IK?^Y3Kho&C^nmF|}OY%>>vm5v_qK$jvkK`L{M zuH=!xLghFV%tvJcQ(fd`AgBA10a+=sZuU^C1Kd zOd2^u$dxx;GwHjaFp#0%Dn&Yy804*6i#03+{*g{5U2 zW6yW_k?+pdj+Ud^3q@!DN7XeSbXH+*ZxZyZ8C9FsWURQb9lPyppgeUbA>i%(RG`L) zpRtScf!0#Ot5#CIdJ30ohsP;mPk8x}@V+?|=XvIvRf*`@=y51`!W8Y2v#vMw--W@U z9sRlEy`zL!aO-?_^(iw&=A}*We7DeUSHPa{O8OG;Dc>F7TA_a5xhmizlHc{L$X7F77hQbDo*bv$lOa#SPYV z!Te4NW=scPkXj00GHf>bZAO7e5sP?MrCkBjw!QLj$*s_-!Xj~_Bi|!nnRMt#xU`EU zvi}a43C&?}1&xGG6w+qMc%m^(H-=nG1_5#%ViW}cc*3(-*&|*M3i{);Dq_KZR%|}{ zc78y0Wfv&U_lx2<9kfTt+_A+!P_RVbg1K^mlQlC&Wo2$itH{gR`MUvcfCsSu0&J+V z&F-v;fJ8W{FjSO5De`H7neo|v_OXg9yFjhEhn!9!e>azBa*6&X2xa@W9E%~&J?LZM zw%cWURwROu*yPmQeLRRm+Dl+{LJm_PP`fz3uh5ws$a?!z_Ka8he}@c4!CI~y|0ITN z0vHy#v9au8;Hr=dYp0ELBeLx4vT-N~iohg7wXBwR$PL1~XOLw#=a3O4KaRhwkRfM! z|KY+eNT}V47?)?wCR5}+{*bZcbkZ({~ftfkf`Od4q;oVbQXtgPJ#+$}#$7Dr1B#PK`UYY;>kbizI&|@cw!SKL%F0Wgfw%-i&WR;M0 zggkJ4cov(WXXkpcAM*>2^`**VS9KX>{pXEr$Kv>q!6duq;Y7(iA}*58?DSJim~Rn- zOc&C~o?JwntOcp=SA_jG;?z9kg{fjNU3fs=Gr6eCDEodajuS$SR8ctbe{hY%848im zq=v!Thveqx8K@_yO6%egSiR`h3GHe)4%oQIG68lOcw4V5=w)R0S!7K$VnR6VhVFhW zJnPj*);nfo%hTtj7^V3}judGdC)HZS9b;-dJeh4@IE9VxrhOjPF){2@#CBAfbo*w; zJ>>8PEybt58}p6@t||OUVK<{R7<9f|anU4V7jzl*k@t=o7#S4L$w7={YHtZ%b?o7J#`esR z1_Y+U?{T4;Sj$*RXQ^c~O!J5n>%sNq9OG(;^3hkv!Rm4@qdxN9`Fi^%V#JvnOj;Tm zEgo~%>XTX2;=-8sh^HR0ME9oG78r~X@tw~}#P;7qvAiR}6|twi`t0-4IpTUc$MBOX z4rKO}W)`f%ezS!zzrA19>&eUFdd7p^#7YG=b{?^{auD6Ue515)9&y8c!(Yf-ZQ)`r zlv4lQnbzYuW+gObp=MWq=+96$17cub2e$C4kTrOL`1sc#kW%TjLyi(yNc8XJ0+t6(=A78HDx-_#1=hx2E|7$yBf{MSA$HhE3rMJ4Ju-I*eRJ>^ZMqIS)>FJ)YxlPDRDG zg(QSvgFw?DQ4r-XfR&&mUJG=TZxnC|S<0vG! zh+rt9pqn9MwgA7eO7pwTHC#q3_ju1Ep(F{VhN}*#ZN1O(5>A2hi$4kU4@@kCjHE;HaJ>#|dc*4hsTRt!RAz1+^-AT$P zyrJU-0hn#@M0s;v>>EG}n7#mY+I}VmRW~j?{1{QN?S@3HOI|hcI%d4pb&6fVWwb}e zI}Wxp>sN^C@lOYwM^ypj94+}wa_UhBNuiN-nF_JnBCk^FXoHWM3K2Kq3xZAvfvl-D zMf&k&_d+mz0U79~Z~>Rm9vRPWl*722b&6Fz^qbbsX$~lY6B_Uf`zCO9+U{C8U>6j) z+abVx%GXU%r`+4w;a0zm*^FbA=is1H=+#wg+Usl2?hDVix_rxMkBs-r=`jd=+`Egg z!!6$;rp2oaBjBWUzuT;O8VD=Lj!`oWdTBszJsbs=;NYs~UA$$qf7|A4rQ;=pgZVK|ifE>f@5-z01#etI;yrZ&)Qd_L1&sJ4(UDTSj~2ymHQY-+*nX4-2}M zRZAsuUJcL*cse@$%U{rLDt>qYRU7R;VA_`qVfW=>g>uf=vbXh!h3Qemp7Yux=jG!= z77Ny@-T0%nP8R@(SbH_tL8o`^W*0pIvn zyKli0veXWZP7!;~>**2kX>pUYOm_<>P!)0N>P$1c-8p1&QA@$5u=TK(WDWRWaU(Yz(@?NcXyE%h=NLVVmjsdcW2dBf z4sq3%(VuY5c0?+mGW`P91&u~hSKj{TF>dwSAMLN9aB?i!EJ*O}eZirdisa|$%=Y70 zNRcqqMBp2hp@Yn;*8}V>B?%2IT(o8MXWC1Lh$*)%o7o$J5;_dC;exK9ycZ#LQc*4vwh-TG1m*HVjlMMmhX+>-@)+CG{WGkqQJYpvjlEu*)`IX;0Bq@M{4 z)9$P#@y8`DGWcl@1Ul?>xPf@(qp)TfCJkNaZHhJ6pHvo*0f}t|*KPF7^eFAlQ4g}I zRbJeI`tjC~bbs?)uVwW9i1?dYi1o3ZN-S(~5g09MAw+n4Y>t(uK_l4}fOaxlzMI{a zMF-*;cutQIGKQ++F6rllln=kLmE$5==*yekyCU|i*T+5LbJv7d6YQ!a%`SE>#X-Cn z$0NOvHB1n9y2@&o=@urbS7A{lD{HM@Yi?bIoZMJ{88;#&uO*w4Oz`2-OmeJ=w z3>aO1(6AkB9_8gU*|s&$O`4 zq&yaR5$9B0A6b9_#p?;L|2J3@DBEdRVV^w0Z|n}(4CoMxvN_!{oT<>e!L=+( zDiJR-+gB|doEwwWnEeTFd?lIC#XbE#L^fX!SS)LmpR!$7}`ZeDycR;^RG1CC~!i;T|%Cn8W)A?e8HBuaK*@ z&8!i?8c4@=%b$&Q9@&XjZ}2e+$3Yv5Qlk^y>?t<5R<7ep-wZE|7NI#ZNym9|4J(UC zo&`6ad&u7i0D$m8XuUH;1=ozJ6a5gY>C!}E6lS3&7_CTJv&j{Q_ETKg#R!571G!b5 znLaJd7hSAwIfO;FbEd5*c**5U)djp9+j0T36#4g-*5f&&IVF3?#0j9|isy{(Zp?91g;#&hT`}JX z$gt`AK{iBilYp~f)S0yRp+{XqMFNs7s_cuE1}}gVc0`AK!QKT%enBv`{zSYFmy6%X zGXNa$VTUc` zHYOYKPm@|S9cmB)a@=&C)Qn4%2W_`Ws1|hO`g{MP&r+q&BBIMD=KgDamVvfZktnOZ zQgD7gG0P5ZLT;QrnBEruEHC^V^>Ywk_L%Ltv=?Fn`Z|_FK24TD3qzD=%=@4wiv0L^ z0XMhLvEmfx{#($9my#MHA&gwGBd20#lTX6ET!5=J2oqs>@spGGdmFWl@nW^W&#`Wp z8M1;#W+FcbhZ++t&x1D}a{uj=vi!{iCrq1KX zyy-&n;lgAtJ*+W^Sqd%u_g8&nVb7B`@i(~0((iw0OSU>hyPEASq>HQ9cU$?-6sZ{*L&&vHfO$#8Q7IC-r93WZ7J! zazT%M8@jL-Wj~BSLjWV;g+rvLgtdc@yNiLj+(s>+Mm zIoy9RPefn?Avj(OODoqrVDPbPJwLnzZCu^2hd|k&1hv8n`lesaml9l+HVez+$2{OT z*Wz!zs4VT%2FXiD^hYe@SsW@_`*wd?_%s0dB)p2v_vauZkk4POK&I=PYa!79Uq8W! znHiiRBtKc}>F2}P@D-n=S#o_Y%*ecojjGU$A99rvgOc z!mq~K8w~{TV#-wG+jBN#+bP%{M$36RNMyo+(6uaOmRz3;vv1I+-wY4AH!2e|YekAT ztEih|_flaS6V#_NVo*buPX}2197AuyMat_;E47C}WrzWQ=yL2(W&7jLczDE5s`szB z3wsKg3F*=9es(HXg+W^jM#HLNA02iooENw#z8`1byK8G4n{^Pu-jr&Nl897Uz`8!h zv+4MR_wlA+%K#S1egNw`@*XK+psvSH>G$3b2?6^t3l2_ow5)}Iy<{(sGlA!z-O>+| zi}R+X$&zdPZ)7Cv_|qdsqXqi0wRqFLC9?EL3kZ>cY~ihnqtAqI#lmFPHw2CXe|dEQ zuh0&#fQH;{{V(o(obq!%hhHDqK{{JKuo~&gRDg!D(+kIjQ3oa9V7k@zJPmY zMq-5=P~Px`LBBWjnXa4VLE-={yHKoA7%}WbZjy}m@WLSCB;`xL+sL0f6)kzjdoIkr zfjXVvyyE;^3Q3E+>26cz*20XPO}cV);iX%+H8WQ6h}rJF?!XFc&Ddnpq-4iBF|ys$ zpRuRB=fbR>GR1edF`*87>v+Q5xd7M~0A|5!y8+q$Jmahm2~S`!!X-! zX@=)%2U;I8X`!V((Zq$Y6;;KDA<~j(y!Oa=XN?6U?r#1l(s%pA^l(9`2@AZTflI>) zvqC5@pkgoeZ)VIABY;osgh=Z_sVa61?L&bdlC5+_oh5sjL$~BPuRn4gJ?PPS`henOE!7dsK$LP_*n`%J^t2P83cUi7~$3=ExD?Q zJ?A~wW#2@6hU}HaI+5uLjlbmHQ1wzR3J?}L#+9WLeI2%3WxpX8qTBT4On(NE4)3Md zB#19|O7e#y;wSseI6#^WAsX0ocZ;_tF z-7zXORNb+knZSvZK$O%rjE01}_E_0*TF z5O!A`gHK{Jo_Xvl5SKY9#}bnM*ZXTjDZ6pH-(6sphJ~6$?En2zX3e_ea?xvp>#TUTjO@)9Cw$Yj%!SiJ!o+& zG^h%C9jYs`=e$0D5b^o0uvZ?@c62OeaC-|AFQ~wD%<$GOAJ3|Lcd*N0_M_VkSOnuS zMFwY$XADG95{Yr?y%l6y_N3SUn+hOf*5j$Lr-aA+mXV+*y^KYvl^K)lYbWuhPhJTN z&u~CpQM@@GSl_W~)55V}01jc_zmCSh_G95muYV=L{U+olo#Bq_7V1FIv~G~=7%!;_8IL{af-P3?QwJEUQ8 z3NZ^zQ!w5NacrwmiW52Qz96&sjv=Ez<*8;_*-OMDiCKqf2*91k{O_3dK~Bie2( z5T1C+1zdKCrCxWWH+#u6VadK;iG3x+{ox^d)*Iy?hHPn%D>-Xh!2aWg`?hkSLMo!< zs4)OY4#X-U84DiU(;l>~wSq&<3!#vUr@c}CWynclb4&xlXCMN3O*co^mKdAb`Oef< zGs&zyVzZk>S^$`hv=&aO0;cMQE1vhpzodO{8Co&_LDgN0$!i|#tOo3L`PrJsjx30+ z4nQf;JBb+1#*6+-Kj^dJYsCPGKz6_L-uMX};HME+D7y{KMaGA!(&N4;4w;jXI=r2j zZ`xsiV|kfa>%I_H9Wx(&wOAGHX{31K8{;2_%=fcPcJjKQPY5RFbCf}u)7DRRA}PAP zWPL#Lw{HmZ&81BF&nVJQc!TkyZm)Re8}na=+>sE&13j@do&Bnk6L<$y_ZvpT5pl&A zfT~)5&^B#C1#nmA9D`brG9IyKzOnvc#OzC6xU-Cjw}M3T-&dSfWRhjH&)%+I4;gDl z*4Q!0WFt#U4FKX*=2wx3Ry^~K{|1ZvJY-273^YkQmQAIvTf5ira6*yT3cjFof-0Mm zYhlDWBo9aCvog8+pf+7{GOc*#n@=rE{wJq8`G=@k>z7cd?r64^D$YXsynRmetX#<< zGGzBRaE0+~Mljr-n7_yH)3ve`v**6~$bDyJ6XZ3m)cLRt)i`i%k>wCU14yMxS1f*%Z4fp*b3WSuUC8pldxtL^RRhs+R!20zQ5`{olMxsGeH zWt|TwyZ3*fT6oCPcGT6?w2ow_4H>0@=f}hBLSCTb!-GSju?5mM<4_W^SZ>(DQ)Wto zE~`iEVgZC)J@?HAK=L@{1Rr}i%CP8AcPkhrNL?RKJB&sLPLtNxt=j|+Hh}$#1I6U+ zMI57KN-d8JbU_zM%PtJNlphIE0ej|~{}LdH3O07CG+f|NSE*MX0gB)V`c&Wd1(>B8 z$_w0xR6V+zf#0?WxuTPxkUjOyCqnXgUu1Z`^P?Uk*$F}}+ERm%lOKFEPzk}F$vAn9 zOUZx+sspmLeAioGlkK%b#lqox>@&qHV@mWw)mg9J2ddSoXTCWe5&x3kqLLb-2)xn; z#`?2ifbHL;>Iy+QCIM`WShFd%oB%%XkShifJ1oMzwo}NS`R4pd$UlUkLi**U$+)se zEblGY%bNf_u88hCUA?dp=L=DEKNlT?Ug`_Gkr~f?;eWU4sc$|&lKHst&1Wv0Jaa$) zis8l7QMNnE>Xhjq%}g9hkr9)&{JlS!-k1%Sr7w2z>st?CL5!*Tgcqf7MC?eHCpS0$sogW{UG}} z4wM`+V&ASzmLsbcfw_U;y^n}gLaV;0p83{)v*D2Be!Y>iNlgTK4^I+~#D>=EHtaweM;M$@oJ7b@gvr{CUM5*XZ5QFM`a!ne;iaR(9|>V|TR`Zt+Wz4- zqli86tw-W3$6Rf75V@Y&#Iq8twLYKvIrQ3AbNOI`{K(u-U0K6VD zbO$TpTrb2vy*5xL$3SCvzMUmWDQ`~?$^vALJJ4?hQCSB7KIbkH{};j^7EX7+R8nQuKZ-!G}1>fvPXV=d~K z^R|6rkj*}d>E%dH;e3qY^4`@83PZ|8p)vA=sHVEh?TR4w=GqQjr8McufEoM2(>8LP23 zts05G7d~QsSHEp7TJyxW%MU_6-P8g*^?dzHcXE0`7-45-h0mCm00VUh>bBP6&i8zF zw&fQb-wAWGsTs>)vG+O_qVX<7c1c&}`KiMahBVmNA_ zfUk%pJ2r%2$S!?iA0@L31Z=IDTkR&0JOy)Eny#hjpRmyS%js*NKWkCs0H3E<4dQFrU7oTu$_OZA!d6QBv?HNBOOMz5i zPV2LDy!`FMHA~G%_r$j!iSM@<20MN)%E|^&2_yJ-%V$*wme@cvz*k5AB=KeI8dVVi z-4YiZz>xJ%)0G)-+mY^x@20TdzdIO`hx(|?3b!xYg^7zZv^J=s;@d-JAT!!))Vg+2 z*MP|Gs)5Y5{jBLXTnDD{)zE1`P=g9QoZX4xxc4FgdNWPBM|`%nz)|S5O1-vE=#qUR z29sXx9YlHKOT=UtE{4z&0p*i>c%5oBhcbs0ez+Koo;aNm_ExFwk_IbvX5r0Q) zzxRtlWD#wXK1k14_)KJO?J=m~vlCh&XIV@l8{_@(Zl4GX-8*{~N{SgcUOq3bJbn&y zbL3KBitmAOwf`mzb%*X`3AW^R)7bCd2s?}A$n6mSboQQHTKFh32WZ(VXJ?WRh)f`{ z*y>)^J&?&dY#kv`T`0NAzN79~ro!8o%>Dp)5pC5Ccp=3W5E56&OtJq5>^Jy9-f{YV zZ>w>j!j^kGd%!B=o8^gKJQ@U!s3NutVZK1zDzqr=oYsTY#_tZ_SzJ~t~-QAawZ)39sUBesIh9=^!s8@on_ej}?5nLps_mUqOrZ_;cL zsq1zu&iiV5i-Q<-j!d^(R-D<7VHVi*zh?pLy%4wfnkxp>I)5%N4Z;h=PtutQ)= zgEsokn!**VEb)nKeA0TzRu*jBF4>#fr`#`x3nZ$SxZs1z*Yn;&h%L}9m?>BJMQAvi zA1q2;$r5cr2k9R189`Jqj9D}OVOXVkGKwbFoB+J4J-z*rk|xdt6eP9;*Q>`6k#RgK zjc*x-!9eS)l^Vp87eh)t<01nBMch2%eSh`pd2G0(GyQi3hnFxngJ9D-7C?&O;Mscw zx#`-AkZYj8{2yy?f*m)qB<*g9od+>T?0;kJpIKxAAi-0*N7AiVe?OKaI+20!$p$XS z^_H1ola5j2zIx#Te(ATUD&Hg9Rd&tUo%YhL6?uHde=PYOk0x$_1Wy)7z=ha?*9BzG zG%;-Onc##13irjEVQFw3gZjqO_ye!5l- z0R*|GpW~IR`evUATpY#<@(Kv<))HlQgNLk17wq2kh#^A1a8Y*1jO6@?o%GTz=^@nr zl&4olee6S_wI6&2iGxP{pj3D7gk~%T(eeBMxRm~3NumXPXsI#MF5eK0gmZ5S3vOmc ziVT!o`r9&Mp)RB8PD!!pR#%Nhv6rZ@VLJOd49s4lt@G<# zRSze0^hKA6_tXQ>x=UnyWDe7((QyTE24}lPXI}Qa-f%NT?4);* z+b81V@frWILLeu((>$XSK-qC}s+EW^G88pnSM>*bU-rOy$fy%@!Qlz^Dx37Oa47O% zb~x*$Th_}@k24+exH=%mvugw5=oLc+4Dep^DeGC(Ktf0`{!ar@ktJD^B7)JA2XJhv z`$obI2}MfEXGA-LuY(?PG>px8dN}Lld)9m8JpF>PN1O^!DMs+8h*mU0FrTT@`bE=# zBBbJ@-q135Lpn2K4iCR2NDh7h?MnfM_Xdsk!3WuSFW&}m@$Ni4<6qd3k@PSWhFe#; z;Q5_J63V#b02Hbh>ETJQh*}v_theO;P>r<(W%i(D0?K)%4ZR1U9zTjAcG}Cg`P(l- zzE4xR1MjqWOXy7JTUw24sRGGhhz$Jy6L3<4k5M;9Rqr`6I*i}-PXU5TyW1Urp zlU}}!-})ng=$AJS_YIk*Ar31`96yb#D)nz^4q-C7f4?66TO+Vqv!!12_S^Bd`_qP;Oa;%>85ZIm^?C0ogom6^v%N$L zU=`XUV`g`w$G9-TuHSVtQMc)!_wf zFp`xt#kk3tr9>%)CgQ+4P5C1s%h!45aGV+>m~+Ge&0K_1X+LUMh*%Z^9*#K6&$J?SmTRf`wsU%fW+hZ=9)^XTDahv^^?AsH&O>iKHRC+@y)A+NC`;ljALia_ z8W%W!3}h#CD&op((+iwUK~%)fc=M@TO>VEvM+aAbfW+r1q z)B~{lAu;|v-h|t-yQXs+B5LhRGFl?52x$UKj zihCx~`oMR}RYm-HOb$JdkBX{^fr^HpE>nH`k40IvNJ}lZJ`dZxhf~qydMxP)pr&X< z`xyflo<^6ca-$!pk}2;(|Ho(g4mqCxf&Nc4L46z70Z&`sc{l7%+27ES=qF*ZvR^&t zymD*w29SZDAbW(bIS~=c^uyaWh8vj_y8?z zae}fe&rD6A7JM;2{XVWO6Q$WPSUDg2P*5GOy;FkBR|UO^E3Uq_d~!UG z&Woaeo$>Bs`@h)B9FLGJIBqkd9+O3d8jyIgVdo;d1KMM-J9PCw1z+B&slfVP5$#?yW}c@#3`U8x4}Dx;zWC)OyQ!+%tbXtmxRZuJ_1- z76eY?K>M+p+St$h(HP?n$`A~RcEF7pz12kD9+yboL@~yb&@&c4fETa1zyV5jdBnd3 z{8+is2{XO+zs)m@2s-#qxFGS6FN&?v-Nb)p^9B2QM~ud7+tSWp985org!zhdwwd2= zW2a_)mRfHaPYQxRA|`dcpjAx#0r;a_4Ak?$(5oiif}Bn!QbU89ZirPAL5}sPehVOlBIhyrZYQ3kt$775=^J`+Mk*jRcW|m;9yf&7! zmtD`tj~n$b*tdhlS@eNtQPE@#SJ^7QuZk#NSrWR_hzAS_0HI_|1Io=jNdY_K)!Q=f zH(85k?=12^aGGd95RU`I!m~ucoemUzv5V370NuivXQVw3V%r87>L$Aw_a8tJie=6-iKI6yR4b%*x(+v0W@wV`ZvPd>>Q9vNzc^wF0;0C~hzf_%cW?owB zHw0M)uLS;>FQ1)svp`F|Xoq-s{4-$m_#R$7cxfeT80<#%Yq9IXDFY&5L!a<$nXvQ0 z)(K@pbDRo2Dr)b>dKa>xTBe9963E(j+YtxP$JiO~A|2AyYy6D(mw6Cqu@vcp<}^!K z4;g8O=@O)$NTOXVlCf%l`vKV3lj8w!lFyv)0m(Q zv496L3PyDdG$7L|hg@FVt2{K^CFVX9QCiF3{w7{1yG3C6yOBo1T8pM8c^38ye^6EA z$77s7z;rl!;zUBz$xKlwd?OE>tFf%9JA~-C(l&H6o^kmh(%Kg|T5+88?LX*>CV7^e z@-2Zpf;4}X4mkkj560&(6m%VqB?f*cAos;jb~ZXITI zo5YFB6q+es=EVVL4lZ$J$XXV(PX-$*pR6eigLFmY-rA2v_qJ(Wn3np!tU}|1Nyo3hDmQp7xIj&^M`VMlRgV8+Iz&0=!$2u zUOgymB>4d%o`(#s5fvYV3F3Xn!t5RL0*e(@8GYtP6*5nb3%u@)Iajr7H{>qzJodSu z*wy_effh8n{$ZMy0u~rVYJ7mN{lX(->;RUVn`F19s4e`kYZ1?|ykttim+3F12GFF? z!ldCI^7G60OWTAZZnQ{Xo@&(%7X>fgWdh5R67=|h0=7?`?)AOdOJZmoEihv*W?5G6ukQ+UviKS3*QUClz%s?64z#*jt z*PHAP>vxk&w8ZHk`X1Bj=2OJo5#RczznpmEKn^YeVkZM08K}LF#l+Y(G5S1OdMhpr z3eJsq>zWyVi5L=nQ}N6bfq;~KES&htE%E(rHPpe=XQZT-+%EIE<(2nh6X->P8>)t? ztVBJ=EDW1U)~FDP&b-OJ1<6k3>g2>%Ziz2Fl39S8UI1irAg8QHF*u%h#`2*G2?>e~ zVH-MAQ0nR95P+~X?#_A8wr)Z)l~5(Po2vojH(D^pg(BQ$W-Zz~j06rq2U zvkERUTd%WqZXoBBd4AIk;tj|b%b6gu^iv^eO9r9q%$T@B-h<3<8Lh7--o$)X? zhjR{@RBwq^c0p=Hvh!ZKLqZ;FPWe$5ISdP5x~fQ700(8r9QS&W-ySV@q+T9q=PfQ5 zZw?Xgar4e#Mtm-4Ow-$j*E9);s;(YPzv*n*QX$Mql;{ zT(AuM@ENR@pDw61vMMxc`eTd(aqcC(J#OSE6Atm-T6Ws2=|2Phb7n6F9xRkblxQ8G zO*^fJKxY=pg@N*zatL5+@a-O2yjdY&EwIY9qy;neDlC1=PJ5SeArb!_O*Tv7f5!U= zO}lVce;{vBXT+h%FsM08u7;uncpW$XG$F5sNqOET7aiW1AF|V4y~F>XYl~mN^wLjn zvT_=#E#kXqoCZr9W<>d@za@y>ShgG;iiJ^n@qSXNRr9AA7{MGIcq%QhR9pS)4TWsk zX|LA*4*Aa^3%sMOkqX^9`k`m{l-Pu2F>8+vAZr?aZS_C?qjLyCaM9@I?W`uOx*~Sc ztGA^0mp;Ckm%s8dVN$Ju@uwA035udLK;kz5fbrY??$t>KtkK#x7sghc^=iLI{M?E_ zTV!yBJ5XD@u1962TZl#CXpG+$#ZVSi4+)Hu!5If)vODUG+jfTO_P#o>O@` zO{T~m%Nen*h@JN89SQkJMUI{T8Dq><`8OC70c4{wg9wXaVcOe}_|X!h__*`pXv}%e zIG41lX+9Qd!XX#dn|lkrr9#<+GWwj&riP-?3pm}1^Io0*Fl4AVLk1Ru@@-r=77fSg zCb;kDdvi+t@JjE^$6Eo1nap@W{_~f)D3wEs(_USF5;2?lXg3jb00u~fO~g-6SKT9X$_h-$fdG=`AlOdIFl8G=X>5KH^INg*FKP_#*$9A&dwrr{i(e3a z;|V~rKwu9X`Oeh14k={ky>`oce>nxpPJ8VR40*hfGY;ql*JcDr**mM`%nZ^IyhU9>SV)B2*dxm& zWYUs;4lP~uuh6c3{?BFSLkeMLFJ?&vVHlNigq&Vrd`VRxfrKyua@O+j6 z&&6{OlMUGr(ZB47<0HwNW3gRk6>*Nfr|hjYM%CWn6eqoQgM~cKCn$Dv6l;<1OUE@2 z#HQ{FaAKKqv?Y%Wbs^(zaj-H1f^%FiWR|A_1MS@@&kfzTdVk0T%XPRG`u?%dJyx7}<-KbA{BN~w#mMc*s~i`#UcD?^0{8&v$wZ5~PV5b>9rzX+*RhX96i=@u z_#Q--fsp_Y8IEje8)q??9H`=~&U)=edaKVs@ANpd0H=xf62LbucD7Cn`FCnVSe@}> zeBL~0D(s&T9DdKfIXkbqjp|QBQG|bAWo#aQXKvw42Y$g7*v-G*x;|TWA64F?2=rjOhjk7c!lq*i(uaPL-$i)k&}2 zz>t55Z(4wgn`z0|KwscOa53Tsqh38WvJeQtD{mj?1Hz(J3o511a+XHCYI;8{RTfeF zB4EsyF^-J4^#Lvf+zoAM#-)N~i{kbIJ{IK`PVh&yeLWH<(e^`E2N`(LS-^8rRS+fe z;>Cko+*7<^-iTP{yP%oMUxNdNj&aY7W)yK##1_g@#1;Sf$1bFz)&o?Ayv1K2drrny z$nZ)5M;rCXe=qQzm@Q%=66gJsKt|k*hYaqj3yXrwI%|Y<8vrmg!lVOd7M}6P8>vZ@ z1r5aOGv=H91VgGXLfi{qajPm+g&d~?@ILlMV@TtK3Fq|ak4fja5VEoi*M+?5haYl9 zQ#Nw^CZ`L=^(EJeaOh-J~=Rgl8SH+w9?2@)~RFa4#I-5nDCK+ zveHXPwaionp#4SUgrPeO1E^I)G0T3qZ>T?922N|lJm6}~Ji~= z8PW{L2d;A{SwYwkT1Uoh%wQ1t0`(y;XwlJfp!kpa{^ua0AUwdT7AV!kON}?6mTWnN zXq$L`kWN?B6;>c-P%=IEmMF`}7Rq`*W0<&)cLmF&C?IQ>I-X`KVDix19h)J^BQC7T z*akG(?4z7s@IXSKbs`v2)He}v#%$>Bd7_A&Bl#tvC`a55N8HXQeEjVbriXutq%<*Z zfkAV6Tp~~fcv?PWheJjp17?t7D-EuHgj@tqR%^hm$Bs+QsZ?1aSvrC@VEtBpPzAM7%gVCTmL9PjCuV(r1>|+JA}; zRwbXto0$^ziZA4ZQLWE$G(D`h^@!2cbIy|_3-SfGi1QPizTix=_7moXI@lvbR>-vo z$R-;~)fF=;;X^j%w4leia>71)3egL;tU6+J0CTrAw%lFOq6g6zm)_>L(B@THzqRJ1 zH_xPJo#Cg5GcNP*H|%(`kO?We3J_1sRaCo8>I73dqXZo%cN6!4Lr0Xkz9VKHh^dRS z8|tmi5wkTOdv8sLTl|cj^wx2G^9sDu9}#E0)A$ccXon_Kh@rT3QMKLwCSn*bk-CP6 zG^iGwa!BYR!+b@iqV0&0!xApl@2c%g25cGH#jB3CB6iYS>3SPShJ3I*%>esx-(}`h z>bs;zD-q!r)^l+-ImdA~W>k66I0h|wsW#(^n%XQ-=lQA_*uR#vZWCD|&Iq_{j1#&R z-cL8@yp^vJcO>S1M9dET)u`hkYcBW_0=}^+%xdZZx)O0_7Y-^w&Qd@Db~Bw{YDk+9 zMyn5p9Hj?CWXm22iGfNpy=j#A(!j1U_tTlkbmKY%<_#Ff-5Zr9U7(a zP=O@9A956PiI;4Ge92i6FT`hCw;0k=EedVoP)T3cu7#*){E(gW)+OmlTIlK3W4yU8 zLl!pWY}BE8GJljffRY|{1wbTjy|SqEJ`)S>Mi$!Z5cEK|MPvo$NTy^lpywnbl3Fwm zKc}XGWNFy0pNF zAui5#zb@Fa91nKztvlTN9J|bhgtO zxQ^wfkSN?Ic|e}*o@8wna{NrJjOUv#!sx&N!|t@V#x3IhkVG=GDU6Z-`YB2HgB^{UE#-e)W|0C<*@S)r+6DFhjsw z0!LEz_-dy+#1?Q)(6@QURRgcM)d2b6KX{Jb%3;UkF4=Ae4CEwlefJE~o&F-DYRN*~ zr^0&F3b;GqTdVh%0Siurz0=5Q`1=(Y(zv$R48l@(#BogUQ`(HI0dJj%7f*ieVR)1; zdB1qW5#O>N?frwFdfxgw!1rO#BX{%#r)Qw9K@Eu~y*s^%E;l9v*sNk!a&~%vkXcYO zK5-I3Do{RhdiSCWQOwgZmwU|P$xodgH2RCT8eODj6&D@Ng$e2y@U|Ke zU|pRZIrunxPnqN2>@O{v# z1pbCShcFv`55y%hOU#mG!R6|9$I;IJJkGSC(SSvUSWSrcjHvLd6C5&Ui&sw1c?j{y8s60{QWqJmEiJ8Ix{V)4==J#+6r+2~$?LkfZwQASD`xZX_UJc%Q2oqA7%47E8M(f-Uq~Tf1T?KgNa7ptQU| zlq=wm=TMU}3v2mXE@2D*J>Z0)Ce90PYvc`}hJ-_m=p#mW!uYZrlrso!GbjR-bMe&a z1qHDkWuJ>K77ah#!Tg9jCa!}9s{Pfqs9<)XWTS|k{n9P_MY?zp%i`T99%s~KSQc=_O6#=AHB^o>32a=wQ0svL^a1R5 zl)CG8HMNBsN`x}d7K55mMQO#3*%H0Bb#^9X-X`a)n zr*sIgoPzovdRt0tFxX?eX0G+lPrHp)+Lxq;qE<8 zj&FfWic&zGd{>wE(XgS0#kXOBg&PKhQ-W9 z4$ZD;?)XYUBS25tBSsV~8yaM_U7j);>AZ2Uz#Vd2ATQ-(Dv4#j8AlmJ(XnTs*3wqU z&U|V7%aC#Mjq;iK6}q^WLEHi2jTn#vOnE;Hrb9JplQ$#Il7OsGzqyd#8NwWd7+BH-z`dP?UYidd6-bsr#dc$%z~GJ zEup>b>)Ao2rs2Pyy*A5w`=%3Lx=%Zit$oOR7#PQ6E4nxVn4z2w^n|}wT#qCz_4vQ| z)6y@Ua`Qd&NZbe7t#N=q^NT0}=v)-r7>49Ufwa&LE#GVm+H~g2w{a)P&8G_kJ?FaK z|BEN;rwq8UAMbx_OvDOIR17+QvhE3N!BB!x4`NTXy=QSK{cIgIL~EJF0aVMcjj!iT zXBn)Ro%`}_;Q6;Pw~R?)$45dgS(h85NPE39z(GM~x7YnZ^}=()?PLIsi*0qYhTUn; z*`{+}zW08(zdqf|1A&Zl5PoR1_1?Je|M@ZV0yde*c5T?tX&m%7vD;VF)WtEQANJkD zhqe8L20AzCu)zOR%+7xKHu6lci+;w8p=q?0OV}0){G@~prx&YflsboRxwL5V;MO3T zMPWWa#j?zL2$0Kc7t5HC=G~NtHwhpeqi80MYbSEC!4$LeU#_>9qy2h{IiARi9U)kc zf*MG&;hvhRp~14YsW99QZmc*ewd%BfiVRLM`L@`fNg?xQ<3y~GXjB-&#M!4}L_9Y#4jJ#d1@-mP){|e%L^= z8Aw7s#hJk=59#Md$+s@z7r$IiSO}QE05Y?7H|hg|LiA>2o%mD z`Zl)qBH#{SX)~=;K~qWRcscpyd-7}ZVGYHhSWGynP!<60DHJM_`-r*$8=X?aK~)Q` z7Igs{1(E1Kg&dQ6U1Z{i?1N0#E?WUVPPyYUOkfsT($;z|$UG}%XTQ8|F=Jcx7;`+n zw{HQfv*8&={0%e7BGT|=hF$T^q7Xwmht1hpWXw1fuuZVgiNwC=TXEm-G1f-}j;vQT zA@R#+FLTB0^jB_;AA+S1y>+DwmWkm6dBIIba)>fkMyNn4gd&PR8@Cf2_NQo(*Pn`mTy8`zte<@8_Y1&>3SgR>SyfKSJE|JdeVpKJtYCf3o=PXpx7ow zwfL(Mp&A%rCFKz|p$V%k3OP~WJ|PbI;c%PBVGB^YaaPZQyr+oEp zV|d72MJVuoIQ5l#;}>1m!vvqX@hiz_10!72o2o-b=q9d)!IRl-6oz~F{6_Yx7t1}` z`uLopKLx2?cSQu&e%_UQfVWP0M)+xu~tJLg(lV^XX&`@7B7z9!4m}1#csz9;aMy9!?~}V zxzBvm_HfCeF@{DDCe73XNgK%*6N!R0Z)IFzYmUebC~kB%mtrM;4l_hpl!r4O)yI42 zDZvCc4q~2i=|(t`V%U>{&tA13&VBX1@?%%_<0)f4{hBCVYfO!Gt0)ar@%UBp@A9sS z(2Aw*pRhTv{WUm}0#Ac}*JnA7JtSIBw@9&WR@o$#yXLbZcJ{0H>{lMEB8(wk@)V8^ zP@aiHsbtBzty4CLK#3MZ#1OA5b-&!xE{1SXFvQ7FaW&WO{2E&Dhsz%oOE)$&h6p0AbQhG0Tmz{j4mB8qLeAsL>v zBd%nDxw*;=Nm!r7+uQ1cKSw{D{pt{r{jkkdmdq3J+v z8a6h6qvQnzn3ez?6ZUNDuQcHePLxBK7GBscH2zc@N*dTgb@0ZNXL@p?ue zT<4+-Wv7sx{pxM(Ssw>-Vx^$ljI0WmXtkvXn(qwR0FPAbN5q{KKN%oHkYahBzI)7r zfLzT117jbI0(7)l5Ma{*zKl^tqtgl7LYNBK*{|NR-!DirOu#3=%}fD`lcAYrr0EC& zI!xVCv++Trqz2FsDbMkF`>0&;ccBuTd$^2%S(ID$-GeL)hq^$()!pZ}ud$=kg^`^7 z>b!=`CHC<0MGz>gDmhQ|VpMy=G+~Cq3bpr*+mcELfYS-sxK}}Z0T2XeP1Rxr*aFp|nx>ZcD z;y*%S#XvJ(yhUgCgnJ}8Ksn|^<}?;bTKLFmx5LO5h|cc(057VPOU{1nMs7e~ab9H@}ryz zhltg7Ud+ko;)g7fX7nhII58n&j8Scbu@A-q{Nab}~Wn zZ^o$vo$yzrQx9IY3lYuC8gK|UEj-@mePcNLwff%?<5obGLj4nO{NnZ@V({Bk42gQ# z+o#QYR=&{>AWj+jxyVgyCNjI(sb z(eiM>{p~;I$vr#wwKMlMC$GnAnJp87j$)S5oEW?nJw=N?ABtS|Fnpjm#b=DmM2$p@;j zaM8JyDT*V#&=?hYR8vVt+5@#R#Nj$VV^1_ONp?(E0Dmwmg7ySq`063T_`c&goAPzX zp@^OP+PvOytQ?=#Buj9!Z37S#L)S#q8wQ*7Yg>5_4P&ab8$0%mJTa9V&~&l0$C}l9RN3 zp%4pJAJxQ4T&(AXA=pVYq*{L`hb%YZW7oyN*63D&eSu8c#6I-r#Utt2xv$@HAK&^x zYn@E}LKy^FdC`1JGXa!`S$9oHR#FTAOQ0N3Kw_Nga9|^0H{(5#`X;`_KQD5jo+X7J zC0b=E5|yg2>iE5Jd{lX6XTE+zyYSOK#G9Vg;ixV^SMg3~5e5pSQ-h&bU};_gj-O#b z)L1gg*a0Wbmig48Z*fSgL}N?ZN*zmny9(HeujfAqcsw(J+h!HT!Jf@HvqrI?Q5T)` z#qJqyXFMd(@9gFsF>|7F*bSFDN+LtmirCebj2lp^h@JL&xt)n9BOjKk5Tjp%5hV+$ z)g%+G={@o>)atZ5Ul#1d;)#(li-&R{7ojyYWsF>F9s3wJAj8`ag;szC2=hJOrE(SW zRLIVI{g(F-&40Sz;7&x|ja~$g29MZP{D4Y0T|4+Rw%bRaZcFjc5>)H#o2(!B7D^7d8-{XCN z-V<+>k|^gx0)#FgSZc+T@Bnel1f}{B$K|gkNnVo2It7$vvep*zORJ3?GFx)25_~G& zc*%I_#sf007iYbGX1&b(K0onZ_(3{DOiFrKc!0`Y$Z4Z%x@ci!Wrv7df_fP-;mM7xBZJ(VY>)G@{Cvz8;lPRbP_i; zykdQq=FK#q;A37G=4^?>PtGgOdE>Z7JfDaVXp5iMBExF9npf<8AoEEyA;1#vLC3r>m2#n0s;;>~7n8=rY&C@N&9y;1+= zb%8zI611;Ke)!~jGT~JMXQSP`wMPBrRrh{uTZwR69BiEHjX^-f)md-cXPwUv8Dth~ z_DISo*a30zolMUpn~lQ|PiCT$ji=*i>1K$^A7hNd_`;-G_GXI-v`1Q~-057zD;Onm z-3+deeNwMZe53zS$Pm}SoMTjmwV%w05y4{0N1s!=EuS$-#~@2|TZV_9dPvW(N;Z%o z#XDv^BlqkW(`}S3G<=5ID!}Z1Fu13jZN_)1RY(yCLY}zBhWYvIz{}Y){5l=oB z0qL-@$cuQj6#_SiMT9a~})zd9+4Wu7-+b=x+u!*vCea zDO<*+Tx49(_W8SrQOb!XFCHgX*}R~uqhHO?LZb&nOM3^*T5A*9-zKgFsA$nlTHk%J zO4OBX5tniiabdItNacILqI9F>UxZaAJsgsf7?8)%g`J02sTFQHfUL-UaDel?NVwZkVyoI0-UC#XTyx-^Q=O_U;Zp7rE{_odKYC$uqn47{)9z0X`6pp6 zJ%yl+&rf!p@s}0>xytFzK$S<0iAMKZNn)ZSg2z0MxG)}P_lxf6t0TUyFEhLF<>st+ z(Qx_efOVc$lJ;%UwQ|07$UHH+tC(^+Uc=sOPo6a3*Rl+t0Q%cLDQ_%zw}MN#D!BZ1 zBp8q|45|JH1AEi&aSV|mYRalB78}_3#x!mT*l9ZJO?YvK7!7?_$nn!7_|h$&MAONH ztf1OP8S3v2^d(7Mv`fGxD!?=4{e4|QSAkj`ML%{D`Gn4*ZYHD_?r%o#6;M&}`}<9E z7V+>%ui?@QXqXzXcmVM^l0!Knan0~v+nv7DrFb&Nbe zg?GVJVt($n0cBNXFCFqmT|_{9Dt8tz+>wT;vGaaxXj~%>=e_pKfryH1Z_~Y z!p}9%LflT8$_|jbXkKMTRJ?kquRwmnbrKoeQ-ohCox%k#dH(9I0ACRy8$y)0O*BVF zrWDH;hYW4WN4YxW`+D#1lzpO8i~?g&^>jYSeim=|eifz`vgp`%g|@!7wByRB){(N$ zc%dwyp93PRS2&^r0Au=t>D!-<3ui--4Hl?;ht_$y9deOnY%w4L?{OjR%~t!ujzY^( z#)Wb}xI%OkaCg9WHXjVNhiVg?K~$L#$3dM;>pcPT&L9IIIZE)k!nxHIIH@Tjo1F=y z<84o&$JA!m^dua3^?J!VVzerdq5uB$7wyt;0l@U%Gvv&|=OqiAIrR;4wJ!>UJqD24 zFK}Jp^*-r8i`>rJxmgFwrT2!BX4!kP4oalhE{9FaG4zz<;pjfq!?%%#LY@x!KH@~} z`ypgx-x)bU4U;lc6?nE-GJ;V@G66s8F^RBOX8J>q^c^$iU|a~yG*a(=%=p}b%;x)i z01S*l(Yl)7BvHFmTo8P_#hj#Q_&sLS6ahcR0f;i7z@T;O1dyHa8+!LbFyMfLof+r5 z$#?B@H0W50@^8Fv9s|JNM;Kvqip*N4;4Ja_MWx{%MKmAP7JWx}Z}({3e>oauVe!DA zfbFb#ld#7?%A%xg0)Ax_QRK8~?(Ro4;Fyr5$>hYicV#ry--Ip@4S=7{8{*?E^?b$b zr)j71895=%T9@f6_Tu*(@s$2sE=Lh%kZI_ib^5k6gYoTr4s1TqMH z?l&+cx+H7F4K89HbKKmC>cx+F!j0Fp+@1Zd$j;-p<|*Q-(4gM`Om`xkdZD6d$goSm z>bMRYV}Gi3sITL~Hme}80eT|~=BFHwHI8k%iFU?oJ0MAC*U6~qMPI3qo&4^|&N!J* zQZBq0sMs+_p}d0e!aD^;q{wnJTlsk+5Q4-R_T{)%&CfVl+IKQOE&Mf3esZi~u*;=^ z>JnvpMP&z~r4I&rOdcn9C%>}(Wysms?g?raVc>Ea9we8Zh;Az{DC9VoFYLhhHhKRC ziAgX|-l+BpYEpMbclx^kJNXBG>CcEeh6nsX891SX%9TMc#4eqp1JW8VbS|K38Que@ zJG$izsN<@<&G&Ns ztTMXu-v!rML0zOL$(+jGFGD)b?s)RPF9C5?(74EiarefkmTRb;?zd%%o%hu*|y=`UAN3cipvy zC&eyT*M%O}hm+qO*!fFg)T#S5BnB(V=5X)K#9x7b1)PaY0wNQ+A&j}ezMOm)9Mln- zhbPd=o^|Re=WiEAlb8|`3VzDGom%G%C%-$e6IZ~e_mAaY{80=8$jvieJcSH_k~y(0 zBv|ulJ3@H?A`(T2Px%S3W(gdQd9`1^Xdzi2USp#yN&pwP_ROXH98P|BVCOGHD9WEm zQU$kn(61@7mO=(QR0j)OOwk#Owjz=jzY}!Rd{_C2OcWm%SJ!w$evy_yV8;SP0EFq> z<83e6|8CGrM<`mi+;H~0B0K3;^8*z_;3k0I4BfB@hzn1TnJIo3RSTH{WxwRLD_U#- z#>X4;8B%}Z-z)L~ifP3y(kYq)AviuXmYc!ioX+iwQr+j7;CAuu9 zmX$sm5^&1f3mWI}q1ki*=PJnl8=ii1L)y_+HR(M`U2vH1wh8a@}2r$ja>%YrSXafEvy9Vv8 zu{?TJ`J8I{63w`>$#ep|fIFKoe^0QS=q0JeDS_feqcxFB5rC0F?Fp(v;IcZRVn+To z5=xPt(#PEe!5TFAKsJ|m_XmX+s|>|ll+wRS_rX|uEW^gu74vigyrVl=V?0c_FtD70 zyqX@?$J-SHi64;AOE)uQ$ibQx)es0R<@1ocO4PyflKa>XxrjQoeGc5^eTmdYGBMj| z3Eic0F`fS|*iQ6lk0+VpLi)qa+rNOY;RG_ju{ddW8ZQo7h^jAUBI2~_}lW6VJk>!nip#FR?m$pI09xu zsIW(HzT@auVRP_zocvMk8h5L9@Y8*lz*or5eiv+K`)y#PTl2?PDIDRte}3_p5yhQ==$MPK zzCK?+QIMHj;jcU2s#Rp{c0)RGV@wxJ&g51AQp`?&7kH;tJJyqGN0(D9=b4th*}8*z z3kIj?P05f3Ab2QtaG6d-xn?o_;%;aQgzCeC?RiEm_gJ6G z6TrC6Js{*=c_POE0Ok(B0BW1iZFb?0kfwai`tqB0L3fe_<1+gh@mLr?o?6wi4~Sbj zNkN-837u-a1%T1XRgk#Ix}PZqtbCvwh{o{_{oi|vU*^REVd@z#MvKR8RzHf{eL3-6 z@ST6ZrG!lIV%O8e?49#s{4*J-pdbek@QoRX=MI|KEeV!9TA+b0{=U#w$j*Ehd?z9Q zU3tN|!E;Gx57mfhOdT>BT~hm48VtP0p3w=s7;CB`!a6`s6R0x3+FR;iU^b>Zc{%f4 z0G{}z^e62#;7k}E!v%oZv&1ZW(Yqf~wZOE>!oTq$P59!-*|94-xg&@ofEI(~@)j#z zEHwI7C62!ZX%dMQCw!s~-_&#uhHNcoz6-$fw~#Y~CBQ(q#h_Q1hNKUZ2u)(6*5r^U zYs!P>Gk!A6eBN5caW-KequBx6=^ZjF+u3Y`Xeqn6-~j6ueA>VH-Sy?ncR_ecwIe+- zYSE8)Es%WJq;tzl8wIWhOXoC%E9Fj>k2bTJn)G>|Bm78TQ$v6(58_=C39)6EA?D`? zz__G`A3yz;zJp!ngW<$C(w~GpXIztTfkE^lGMbdEqn?Y;zsGekBwqYA(K3X0n{b9& zsQkV|*0GO^7sUCI-%uAycc|)VTR9lCq?jD0Vk3R7-bxSN0Jy^w%;!D(><{J!cwNn1YqA8k$owm zm=bVpxV}jErY(~_<=GC>0#-3(&rL)8$n^K+>^E-N?^zK#qq6rpq^+6d=~I?W3kL)16RP>-Z2AdfSnxIU!EUDm$;46>UaDvOrEGb<~EmO$)Yg^)C0wQ z%YRAy=N~aM)52(pk+xt9OEGu;e=}AhR9>1E#Z?t`89Sv&!|b!y=b{7ZlKG(d$@k^~ zdPw|??Rp8LC=2hn)@vI(6|*zoxMjd!<&`@ywg?3@1#Grv2qFe@csLfUwKaM{A_+uq z!+H=p?q?_f*>gn1aUP=nab*M)6cmEFk% zEimX;BNFf&>4m(lr>{5;Oje znzgL#BK(aFhZ1m3Av*0un=i{(VdqXyXU#pf)e;KM#L z5@~#+|AVi^td^BMfBHSfNc3Xxr24*^T}dnA?uhdzVnAo`z`n-@kavLKVxPmaSkk;; zn2lNykkYX<-YQBCIO7!fACPuFZ3)_kLmctM(;{SqZeP+1(y@qq={0ry2qY!ji63H8 z_*@K!T+W9apDRLs-$Ryw8`7Gk>Wx{v%RJ;RCz^!&+c-R{<+YizBdb#FJI{qAj3r^m zE^X|X=}Na3)MS$^aEo@zBy;~P9FygPF&%UL#2gn4%*UUPIbNm8=$b7u z5Y4Y4m+_$4h$;%(4k`iuM+Q7p=d*uG0F=?A`;uk~r35d(GWUg}s?5R+kw4;q(byIr zo?n|(OTY)_*lk-oc!os4QgoTwL&W#XhpYO-GoEnQ1{l@I)v{Br>ZRz4yV_`?2M!5sy<% zjCOE?S>u;s*0dPA)%Jcqi-yNRpfK+ zAS==VZE5g{GZO+xoc1iq+xN+kj2$&Md3!44gPkOxcfQSAG)~CR%rtvr1uiE;xi5Q) z_g19lM33|uczycp?GVer(t-#J4+Pp_` zfGPsht_39Ksu(Vvosx|a+#!?a>P0ulKuIc;s1vhOdE!R$*>L{r<$gBO!xQ~=!i=N% z=NIQ0Avl@=ZDE=~MxVL}=b8+#gkzi?Gtl-r#};9e2#C(J2pV&<+l_os%+7!P%zu;_ z&n&+Qfs~<^6f6%m^ju!7bu9PRrGBT!JY>ZLh7x8#J|A-u?tvyRyE2Nuc5s7k&~;rJ z`6YzUicD+w6(|FDh3x#-+x6DKiS(fXtf=;}e`0ZiprCM`Y{muv5*TS+Bbcc6UyR=* z#;6kLle2*pkfg!W(wZvfI0KO8t_Hx0xv+Qb+t@J!{L*R8PJz8&A2TXaKTk8FeCnJa z{PB6^ZRNn6jFB@4Et_YuWu#MJ|C9x4eJ7NLlqa$y9nk6yxikJY!i=`u{&8@5#*1>> zu~Tc;sY+$sUmm@-ggSJ@=g zkm)lP1r%<(ZJu=o8a}E&v*4T#nR=qPZb$%_`R)rNrvdkF(_t8i42A3jIBp4$9nnL` zSwe1P`n33{d7v_ zbi9Dk7US9&`zZ@SweJNs25w96KIai_8~2Y^!^qBl9LLFs zAA;jpU<+4C$wx%og@^bcOrI|pl4yjAQ2qGWIF-O*dLf6!w*fZp29M!QdX;xG{6SHU z?DRKo?H?cW)3vP2x=mbkyI{OoH!b4(^vt^JIvKjz;ucASfE85^{hUp=V7n7*D$P|Wz7n8mO? z9dj-}{dSc~qNaqxtM4?x1NqKy`Wx*QGu);>j=AMNZeRIA2@aH2O7bHFFmmRSPCWs+ zgu#kqj`RPT)dHzQpcu94I7hv5+gi&E`J|yUiqqfd_e6J?=C_3;7Z%aSy=J8)wb!c-L^)9z=VAt z8MYgu2anAsV5UV0~0vzj~MvS#Gpsto=$$Zrm#MHI{?*(eBkjIj2@$$~vXss`E|I$k< zU4DHC!lO6=&NBguLpT1snTk|)H6G+F1CL*fDVnt@`+J)PBx5l>MXe;G+eXZtl~)mcfS`^s0`Q!kWfP=SYV zolo6xn3hrFbm5cx&f2KQ)njY)!Ju)%fcYuEOTT}Reta~X0cW{}jB4)BYwp)6^D)ma zcxKyPhyC3;t<)m*4u#Z7?y?0IJZg_6Wk+|UlWp@D#57k?k(+w*WQh3-*b8{ua^ zY=!IuIBy9sKh+t4nHbs9!0|7(e!@9q+^*#P%1=t2fzt=X0yMM|7}K+5WmXhjeqy2A z%MSVYsXyXtZoSwD@ns%*{PcuuY9c^{fB2N6TY9nFkIy_(MhBw)iMi{F5ur5iX-0hH z`K23%*eW|*#|$Km&el2mjh7qM32=_v`xl?WAKw{L6uIX=Mm;L^5h>B`^?fiJKv4=xAAMU%E}Jt;h~w})F^aq7L05GOT(=a6VB;Sjjx;`MhW^S|#bous-y4Y&lsqn; zDo2kGgMpiN)(Uw*cPm>XdaGI|s=Ow|>SkEV+*~0$1Fl;WNZs=1AtPCTJI}c0Hf>ip z1hwW<#jyh0>T&=b5J~o>fdOH^fuorCVP8faqwmxtL8XwL0oQE=+MfKx#JYfQzmU-d zl-UHP1Ur;X97Q)c8+W(W@gt&kTLZ`5&N@jP12n9%bOg7JuQ)e08q(F}t-T$#^ z&{dvo14ETvRn9@Tg3*~h9r(C)kLnD#ZW(YsRTOBrJc+1M7y)SMQVZAnS5v&~cw1vC zfvv<@=}%xNXhBzTy&Ut>`?pn8@pJU}8(hgNAKN1VOsqiz23rFKx;$nv?0-II(2-F= zfZ{*It*^m(j^z1lldE#L z%}E!nH$4p<#+C2>TuHP%@vHp(kz#SzYT*|KVwaH7e15o@ae0J$?_UcF_LmC%f|$gB zDJsQtD$0&B%2JM57d<)FaBR?`WWa-Chs>I1=d&oG@zT)Nr{zL7H($bfhNA>(iaLRa1qsXkS3QdMa+vi@! z35vFr)ztK+6>n*b>bH3cyFlF-;GCJI8#D)Xz39fU@C)*JpVFwQ)cpC7L4`B;ty`@o z$#nvOWoFD%+C=hHiGwN%6+i|IpvOguTUPX%W-wA#$j}B!CElo7oKHs?t&%ps6TF6{ zUj*GhLmrPIPo(^)5FNH^LXL7paT!u(vb$}ZtXGpWV-usep8C4+NGXYsw|S3@GNkk< z|NZfEmmE9d#{PVx3AU54A|8(Tmi!(g{i(jJqs(A7hQlOMzL4*g+*V=aa;a9V@Vhwzpxd= zvj)M1IR!pLwiW0FsG~h%Uf|_$NYf1Nn3q*r)Jsx{iYJ?V!zBqX_q&oRm1kr#5Rcye zsgl*DY&0E?5Z7Y4JOIXjd-?E7xYzfQY+op-jx5n#7MPS)5v zHI3?N94j7;zT&W?^1{TTFGvbsLdGfjk3-HM%Gmx2y9@M1;36)GPF&71utV(aRuwN$ zG1D`?%Fh-%dI?-Pk8eUX!>TXTy|-)mQI9Lf(AN(h$=Vmv@!$8>ik$bqa%+rTl?f|TIhpv z2Xolt+zW$xM_Yhr>*YfR%La_ugZ%A{N66TI1FF*3r@~gqPJZd0{K}JyduOqQU<;Tb zxCr2r2pKCsz&r8B%_BJUIxSeKfLY7sVn$z_`}<&*>c+1E{nexHf*w9e;_La)c+f%+S-#xHpX#n&Iz3u_#lq zct`^uuT~9i9I+s6cdsj*3uJ?@EUMC~k+i=+3!I zr!aDJuN*?SkoYiOzvS<^ z@99uP_GBJ`x5FVD&!T_@yYWAwYOE$1CZzyL0bial`qtUt{r8IpI4o{(_e$`p_Wjni zr`l>C2beoQVQ0Qv|KW?b1j-@^D&cw=U~nc-(#)KhokgTNT+7B?Lw?wU<+%5su(g(Z zL3!-@h}Xk=_v>nv2J-wxMYPo3qlB4;G+#b-XRcLOECAwS1T%WU8CUMB0JlR%gLmy) z@8j_}Eca6KE%EjGBm+bcFE}2M=7o@yr4e&rjPjz_keib)WDxqWnsKnXT3unv6j4ux z(7RMd{FDFSaS)o#yNN2oNX&2A+}>hhp#2X+hOPii3!G|&cGE8>8JHcawOQ_iiny{P z@itQWQ?4%JTO>@MeCvULG#bisFC||Fo*)~Z;E2EN{O0KT5HTr!0+Uef+iB%7#^o%PC@^%%lD?xeq++qo8pg=yIUA z%q}^47I_6TR$&?}<6=?K;vz0gXEa*IEODI01;pZk|5#z}<(Qe1Vj_Ifjs#tZ`!R}6 z^!pUR2}ZQoODW|Vb9uD8VyK055geNMcNJ!g4PfQIU{iD$^Es9Km=I#K3eNd-Rsn8} zygA0lM!XzKTWtfFqp3vpLm@|4q6qp&L7huopN9qMzVG|XdWfPkjyy^lU>MeMn!zM! z_wl1wX1B+_GYGA3a#2*>$hhxJg3#R7D485dU(5c1)-Cw~UVnJX2dd;l!jMJU`Z5*c zFU=BgjPGt@Wv`GcXp>P$jimW0iDXJ}kijvZa)p61#S4uMXABD$C3a_33g!-3Ew>KF z^0B$E`<|z?zoF#j{7#dC5ZNI$MtP67QQRi)m=ROJoRB&3+*J|cJ1?2WZ~(AuPR=D6 zjhSPMP811@D&~#h`8M=?oChpqqiLx@1`6Glea*q6Wa|?58+Bao?Il<@%aas^@db0O z$tWObU^nk}M9b@GgFIgBO(2*6YxmUiGQwD%7OY#-_ji@2Y^Jbi8}L9`6`Zi5fpHgt zkVv<Yr5&m4uD1s0!A{d4owZ3P>mNou*^y$1UZiPU(*=f6wA)XJ@3^k6)R%N&GR86 z(>pPR#4c#;s;E{?6pT@Y)9m>nSVmFT^!l9`)n&xPaqIaYd;UDhgF9!Uh#_H_Lkd5T z=a5CfC9_fFk+ADz90AbfkQ>*@YDO)Q`BBY0>OCgH0UFjH-v*Ro6>k|p5*~u)!E1Ls zG+8#gH6OR8?-_>C8EPz2HKpoQbw$VsT*S4X(FZDo+?Qk!67D**YfhKd6av|50u-C)5}ZfIzhsb?x|nGuT&1~6klBw zMH!ILJb;&)QvQCweG3pajGUA{!+=bx-A2ZJ+XWL8{)ANG`u>+IZbO^@W#bp0>5KG+ zMiRV@%QPUt$N;F0&REU6xu(d>!>`$8dDdijuy18Mr7L7l7ccw1!eKlf>F$gs+xL*K z`^lY2DwjH{HHgzhosshAWGsM4s4d~?=29->r1HWYQdh<~5O7U1_qrXNwGeVJ`xSG) z#{9R$W^rL8bd7`$+ssovYzYaKkpEcbm1I1Kz*jlusVTV2&#Jw>Gj_Z#hsw_>y%*l9 zYs?8y%45)IawfS?vS#n%Nl9%oQW+ai(cr(>Kr)W$O`6RS{pkeS;j*A2oLC?kyafOh z8jz(e*&!ag{>gagRbEQ)y(%x`Ny)g<3TPD-w_ zU>F?AcDOSEoh1|OrF{+!Ad;+I0&7j^xr^F0zq=yw3I=+E@j+`~cI~2hN+XhTjt>z0 z$TpOM(eIf36W#ZI&o3bwp?rixoBc}5rEW?FrSE^*&VlfK@rEozIIc?$gvs5RsuU9y zqXH@@lNrA(KBBo@Xjnq%_0jk!_|3yP@Y~w&?<8Les7H`6lJ=whKBe2yAcTt#3avWi zC83PtCZOYxmnJ3pYca7N#ZTEe@Ur#;3iWq9{U{<|==+x^*=YYpu7oLp*xNM^ehC(WdDF4~U+%g1?yo6@b~I;s zr#_c6qt>c1EDR3QVdDR4KU}4F&U`~m4E3!(s%JAf3#J?ELEbFiWBwH^K-X}~+~8wG zv!}a@60@hv8%RGS{aS+b(TMi@A;tkp77FXARnRO+kje%Z8fvOny`35jg8CH67IM^4tZ3Q#; z(r@M$U`G{5)42DXZnTFaC4!$pk6Nhqk;`@aSrjx*B2y3?{@*W?SlPA$yuy(J*}eC* zf!JRKqzcB!#~F1}a;A49o!{Y@De5rk^YedmcxKw|%eu$>By9XEyHZfi>$QQlua69s zNxbdR)x49SG)w`G4yg|+Xl`&0lZy?_{oI^_)8}L0>*s)O?zDc{{Sh>l(0?2>J{z~M zP^=(j1Wr67qdd8AchJnNfWtKg1ASBf;ub-vP^SP0Y}slVtD)5Wz2cwg&E~%ay`JDN zzXja|iN0OXeZAtAjgMb?eRPB81FO!3vmg@iU@k;VW^8T7ZYPe@j>o!Xp44(QU_y<8k4nhmrTqqB<6$z4jk zXD^l0oaYsP&UYP>n;4p1fpiMlc`)Awp^?@fhqnj>a(XM0OLf^OCgUz%0eBCF$U4sm z{YIdKJ%lD;bYCK1 zT^SBI-tPLeIElZpy-*4CFDwm!>quxEv*RJx=m;1jFT$mRbz0(6{=9n-S~T+ z-vhsWn2&*_Ojg7wki)Lr(6hJSAA2}Ooc=RncI&S*J<|kMN4!1LfS~Cd%a0yR6l>pn zfiMf&w1C3U&>jw$s-$jmJ7Ph+Oaz?cO$XhkuhYh9`Hp>v0?xO9LGJ&Im`NdxGa`2y zF!U{Mj1d9S&{cDpFZ(1je?^HORK_RbXgf%W^r*>d2n_5HDmwNM#wM(CyohV^o9Krk zE{?cdBSw?#kB@PGV`<)B`C=pn*%qQnJQB1!KFw4=By@+b5Quk$jD$`e&LSia1YPi_ zfXA||o_IkpPgGwBxn4tN3;J`O|7*UEy6pbyK~sc&1ojhnZ2TXen3)RzZ3Q|o_3m}t z6kZ5ss*-pE#pN(2wS9jl@G{9UH^%EF*+DIYEwvO^%#~puCf&)i zf#{=QkQc-W@o-UZ+AwNB@g#9V}~f-brESf zppy|FT^41%12Q9IPEb@^$ewq0_7{&BZbwABs4BKlDRa;9VlA&r12Qg6YaCyoJYpd1 zi+Q<@%T9fHT|)+|{&X=%NqH7*7uo}u2Idc-qjZ?L&>$&dUxQxWsRs-E5Ye+lE$N#% z+T9UZ(F`t7@0x=0#!c-2x44JEf`nY0{K}d9v`>31?P}ySx(sWsju-}`I8KtL1XTihj8SI+3ByOe;G3*+Q~k$ z%AuEu*Qdlsh>$%{t1Rv&cPPtnW za(q&>SZ%|+WW}P8odQd_g}ff9&1&&+My=4);h1E#tXXb&2-Av!_+=+LdTxy`Gu)$# zx+D6$5Rzb~`D8@0T(4<4JTog9fgX6#VH~*OTp!`HS)2mPEd@f+`5E#r^F(yP?g+Gc zq*pvl@S^}0sPsM|GqjZ;8RJ<$W#~ySh;;mgY`!WhDB&ZM}L>Xv%BCzN^;>Gz~%}ZX+cwaJ^PVd7U{ptqp zI5~4N@GPfdS*}2uR&r9ZWsv>J(USDG)2c zA0fkKd${MMu8Tj9%s6EU5?3-4h=Efm%IOc3w~0U zzUEc;N+CM~*8B&L`HxRCurhKTRf4&pXA_7_A_SVO1EZ%L9m&gbg!I{o6^c&A7-D4a zi9!4!m!Q=du$FHjKUuF(YrlAVG7|ssxiMIy(m&A3$NZ?<+AaQ8XfAXmXaccKK2I|P zBgBFRJ2F3JfcfztZf;E!bijiF6X^R7oEy|?SEs;wNr9a2#~g^jg~S9PdmfVZ)MG|p zR)sm+1XUU|$wks!v`d46 zr%-y`whO_xT{v@OD+i_Y`)tKodfG_09v08 zGsCV!C`ZtU%!Hc-gW=4{1P0VJFCgZM=+zD`P>r826HvfLFkOyiga)V-7MB)FDU#co ziZ~7iN|75O+>*`5W^)E?$MyZ=UjG>}6x65JZ%vuq?f+Lb=s?6MTl@g?p)=$q?QRT2 z5T)56vxHh+oMm)|bue^5(8=0+%eRloY)*hJ-L8zdQXdQ}ei_hF8{AhWNps^SEWc>Z z=Ma=T52JFX6}z14Y{IO#!ssy0>fv({7ao51*V|7aI{~(Qy)o7kl^pA3y})~H)DAH! zkr+6anOZ+k>{9vLNiWmYd;%}# zHRSR5_BGz%b2N^PxB98Yg(>_9)M5H5Q{xiZCT=8LyFUF?-!ci@BfHEf%)lk8s5(E| zb2r-f`@IcKgd>QUOn8bnyrWiYK zIb1?mEH7GZ0|!tIx4<}5?@?)+Diu(O?`fL3kh73>^HEhhN z;|0&DUak!Jg%0fDs^RWb87O%;XJ~%0Lx$DU>*fGbr+U=Yoc-Eu20EW==A51eGs0DF zgXAJ|DpGBbEUEc{mYsWH>Q6|FVDsTr>0Xv=%S$SS{PHWoxj>=fg*>_5zBmqc3&sCL z5zpI=ar`e4=TEfB{u%{UXmVo*(sc-v@IDvVs)6Sl2!3aW9EbEZ?sNx-9G6@jb(7!o zvhE;4LJE0Z@8$9IkbebY-vxGbE(8%8%4>qoot&N}E1L`izIrW;pA*#AZ6o#RrSP{z z^K{c7KFm;fc!b=KfB2N+ntBQ5#NAhCyBrKu@KB+P{tvw^hm6ua@IwB=57~>57aYL7 zeTBy%gH!5kg`93jIX~#`{`!>Lcep#KyChfnf+ZQ~&Ck8eHiga^PL&b*2y_in=(jl+ zo*1}=?o5b}>rb{9F6Dm}@R>ujZ>x0z7iD^gY70is66oOv&y z-s)C|>}63_bR}1Dm(T#TJNxxp_5%(3=Le%8L-f8f9CAaIm|1oQE1OPJEbyQSJPe4Q zTz1IVXdK=^;Bb(}e#+2n#zrSr8bDQY-Py0#`@#4hh*Rw%uIg(UcVhTF18QIsNceM> zTYL}bJPhd#eqq#(zviyw&=pX_8p(0sJAKPA3fal8-&TNe6FnfKjM8GG1h8}gaI4PO z_a7ocj{F;iMts*f?FGgp_1sq9AoH(>X`5A_|c2|sP5#~ z@AFS~Fh64cwO?hveml&t`UY@}jDs@M`cJ}U;RY}R59Q`5m$Ys$2{#KVm+Hx!OaouD z?n4f4)Dxrb?ALGE5B>E&Kg|8S;v(M>GKM@uo^%)-mvw3{Q3OwBA45v`3K<46Kr@4| z-&ih83-J9r_K=It$;;vH^w)3cFFkrS{TlN)BL>sJRX<*syCJ`w)yk_`;5CB|i6O=%u`!PHJ^>us9PbcHokZ-v}3LlY7Bv5$>194niDaLYW z<#WotgO7ALiljgE%OVpF88V{a`ux)UN65qZZ`|jf{H~udB-ufE~1jd&N72_B?wGJ3Vk%9NvD$XV?Kw8B?=MDLh617WGC zRyJgdeP>oWVT~`8kiL!sm#ewq3^?us&{m$9`w?>jR>rnz;G}*?_>*FVk-Qu#57o@k z0I}{s4YV@vY;VPy1js8c257f(AXCs;Q{Jm%Pse$dW=6r`^sQ0F8# zoCHU`#f)*|&n(DWD1gh<0cQ3zcy!bc(QU$%(Q)}gKdmXFEZqJE4Ec8p2!t6aTR@aP z(9xJq#Mw4RUzpmYm}`7qT=M$tDakIUj5PJ-h$09{X^{a!X-^2wpHxl6Q$T29-> zblw__otbOK$1=903StVf{&HkO)VS1$bcvK(-fv)(f_?*?1IM^NWcZjrg2NQ=A!3Yj zyEc1R|EK{>@vdiV3I_%dGo2|A;H2Q~abrvqWC#RFg>T#`X8CMjkKM~kxxf)S1&(=* z7y$8~*K_46$mZ^MP<5+2=IC1C7CV=`eN0gBRLr*os1yG)<^`V@Hhz)~ zxyIOEfNDXAfnEmVZyr*ltw>+g6Ywf8GFKUv*MOVU_F?Wg(qS!f)k63ZJSzU4bbJ?V zo73rU-Zy}J$`2ST zOOILDrgdx^1si-RX6L_oZvxvBtmwBlutfn2a14AW)O&msV0*ElX)u^MG@k^BXf2fm zrbb>4qc2omObhuoXFAD1_`jQyDP||YIqoqZPfjM(V0^eN_To6R6V=gZ;*3V88gGwx z5RBUrzSD=Useb7KBT%@W5Ooiyz(}71P*E~#<4uQ0aC0r-X+F+b-a?AmDRACbfaR$& z`u3c81qGdJ(k6O8Y@sR#ux31QQTj#N=G3Mn$D`p4*w2nJy&~-~t@H^nn5l+h29bsE zu&)!qu0GGsf%6W7kwV1NbA~L0^3am>I?`Sw6e!oEgZLU~x-YRD0YpIbtT$zJx*M2l zv}KSV6?4I1rhn5FlV)Xp)i*}?WCAWH!S!tkxE^fY;(jWqa7aRz?FY*mj>f=XJznd| zxK_<}v~P)Z<-igrj?g-3buDmg6X*8G^(>kNxW#bcC9h|Gu^sS!YB>w8 zbdUMT|0r@udSSzaphsiIV3*<6q!o`VmkchyBtsf^iv~gHx3_Z+GX^X~bi$6k>k-Bu zve8|g8S~C#J_yj`Frkp|bI_+k2$cKllqao#0;xe62h)v0)-ZuTOVzc=S^}VxPejdZnYOZLcv|d4X@S7Ktycc z%~4st)_V^j|8L!M%Qd|(2PO#Z_h?us7{%-yxNc2gN{>@TZifeFo+^JRln)m2FI*Z)o{ouX zu7FNES5#;M#!mv;2&E>)oDkVc8?&T6pvU@X{lZcCCXYUsbKsi)GUkj>0z9d8=w^+Y z?Q=HZYDMM8*a*tBs{JTR!Q@?+*Tf9?Sk7d8S!^4(uFE-at$!LbT0;^^<=>sF>=ScA z_yhfSMns37^P&#D@6Ys{Aq&j6zL72xp7T09CpwOQ88dWl=%x%?D7eVKH(2roy--7PcXLIOYOH2vk$iAq9=E0K& z6L~@&;D?ijQCffVzGU0Eg}FYG#~KS{gnGR{rpK0C9-94%`L+&BkEuK3m5Tm7#1N<% z&@M=X2*4InNK&5AC>0)0p{!_i!29{cY%ZqIlxa699XmT=_t!<<;UkMRJR;Se&M{ZV zd>e&6I_fdn7Yipo>4^+5Mt(|dbXxHtbRg2=a4;v7bT>~PW%08|0hh{Q0CHzXFYd$i zatCl*6eqod@RIn|VWd}u+#K?45-Lvb_mF>8CH%1uO!7gZ`06B{p=s==Lc(YW<}=#z z%`qnm++}GQD51-|lZ*r`<5c~{ABoL%bjRFp$9X)cXt3PJ7_&zGhN9lun!Lc$B?%DO zD@m0Q-U%|%GyXo*^Ye*c%^1H8?0e)zrH~P)cp-YKQs~pZ7GTD4?zZs9N0CBO&V+nV zgX2j_u}rOQS!@isd?fyE-aufhad?rtM)U|475ttGNtF=_YYYc17L^1;v4S|fLWz4P z@uOd{UCBZJKWk@#96OF=+YRZ{h#A=b#=f8HV33GFbSdrWWmQ?XGE;IfK=^bAti_@) zH?7%BK8_h@_n_bMVBSemV2EdTRc>15VDmRgfh?X*F>TY7CQJve%;D5N9rX2mo~@5! zstYa6m24P-oyUmz$?#Ilki%h5@Z*EXr%5pnk9quM%*oCt#9O@VWF*rb^|O^{%)a5B z_<7E#VI8S@{cLw2`j9%$jJ?hhrh78J6FMBh^I%x>VBQ%4+9$~MZ1)c)(QePiJO+3f z;H&_CQ6Tb;IUc1+MO{Mty>BJq~0CIqe%`!T(6U1TKI4uy!m0jvBzxpY!;D< zTSzg7U&Q?N;u!7zBU(HvM~#NDA=TAsLLzxMuSOB$=Vxx|i%orC3hDh3tVQV*IKB-R}{Mq1z z_!^Tk{>bvk(I42birLd(ST}-+rSorNWzN39=-O)#p^Ki7BrYsNMx_&l14~DmyXx@&VHHTsf&U8-W9xWx9 z6H(V_ z!Si5vBLvczOpF)%44y#21L2n)tZGO@#-qsJ`U zwlTrC8sh1G4xR|Zk_eei{W@g3%igqi?BQC9uw&kV+QMzWS#|?#4u07Utji4fMCodg z!6sx7>iCB_`s+o29xe*g!kPyE3(9M8uvdwMmkPK;1`+mefhT`GWgs~nn2*Ki`)%;t zq93_~uk{Jh1qeoyq_9u;5%;mYsE|Dih9wJf);>dK!_IUN?-IMhv1Bx%7usybxh;WedsnyuVGmcuJfaOcIRxWYKY(((vM__{S*7^cM~3qohv z#jH!0^<>p(r${&*#rdA_G6Z{1LV*c%W+}HJUL`Z|D+y*8+fC-lC0_+n8sPlicRv`g z&{R$Uen5f0jL9XmGF%y^#We}`ou)U58%Y%O#le$U%+ZA&0Mt?|GnmmhlA2BMIFKd(6uaL9XtT44V^ z7<7^$VykE=!TG5|4BOvC5CVt}2$S=vnn&vuD-~6n?JFp;QzScn4$CT+ElCnyhX26V z(HJ>{pA64|t2#`@aq=VPj*1-?vP`P*rpQtNiB2MgqLtk)tE1_C!YCiPsn30|Tp1lv zKLk+m91i`p)2TTfV}S0nr3B!q~PTiuF3p z6~))aPJ+`hV@{YlUg~&=>Tx>l5Q$XOtnB$digSBGhFNr7!Q5&e2KFRVaS`+`ko zZKd#6ANOO%;R2!{DEM=}fKAfBr&FoW(rI4NRhm2OhxDi7Tdk|v#bH`pc@g8kn6;+( z?iZ=6mesXPEeci86*4}t{0#^iv#F|>4lqI2i-y*ML-tXnwgl+rzAozRhuIV0Qya#f zd);XheuW<8^d7UkQXnJ^Q4PYKv@tFa__G1x^`;7$9fWSCpba!?b*}@4Y7OpKM>Fiq zh~eTe?I8{$S?^tKga$KG^3Y9&>{{hy2rXN9A|622_=qe#fOe^1!kF>ZyjC>*64E4r z84EENE2is#)v4aVTbv?9iDXYU2gj-UY4#Kt7hWI+FT0pyIaok3cR963kpyH#?NdJ5 zU~82EnK5vg7PnWgHvx=^0GvSr4O7tu%oNS;+vSWPCVHgV3uh*5UhKO(Onb<~a5j41 zEi!wh$ppbZcq72|Mdj_rL_l?|r8922E@LBvY)N4+hw9d6{)OXh|w$kC1#K<0H{krIE=G_T&HB|7+9XZ z`~iqh&CKZ7`j>kzm~>xT^?~a_oUb4vavys^*lsM07a?ke>`5?{=e2>1{%7LGIT7!T z`JYp|FZ8YyOstuJdgwG`$ya##m~KcV@D(!3pfmtnY_4`|Z(yRI8J_+x&q!LzSa(xr z*N15jeHai(dB@Gg^9E!^7aBD)Z(Hds)Ra zyi|BqmdstzhRl$$p!V55h@;?lbFrtKiq{%wO4=K#kUa;cw_#}6B$Tf)_h&_?k`9e1 z+#11RSn(KcSw+ihQd?(4e>$O<`7!!-K5)T>E2yQCnj6G+f6PcRdQ0W{FfFaaQ0pas zA9H5lx=dmc_MpJ=dEYT=xs4*Ag^}eeds(+N1eOD6U~&yEqgirbXhQ4FJcEubF=x+# zdC7rx8Et?u-)3~z6!ZGZPw_U;aw1CIT!#;!v!$*!w2dDwX=)cDbH$O~N)4-M5b$WT zpnhR_hRegWytILt1^jz(*vYY}x{%m*MwI~r4(rzRb#V7WEq1xkirF(@UN?ePO@79VnzQV((A)(MZom1D z7VW4bYgCc?9BOEdfd3e_&G1$pLk&AGl@)`%TOKoR5=Z&W+Ke3RqVvWDL+k1zXV-^m zdF=ytV4i>zB{B{xQ#_L$3?f5C8hn3mT`s9pLSZ?!LHqrLc0^DC^X2DUKRU*QCv(#3ZLVSvsa zJ+#y$ec%P23m+i`8FdhrvMR_p{KdwDEiitsn$GoAJyjl;QU~SZD#zS79RUoDN3T7V{h*d5xia z15hEjyt$6BvY{;+lAtr1YcUD_Kae;MXeMV!|!CjYgnl{_Kc0SkuSH}MXjDWG% zji{?WQbtt+5iCzBNd{fM`-6%Vob7XpZB^%BS0*ohad;ZcZ#%*GU!;25Ycu0tkrqfq zQ4IMEgrOcerB!WODuCR%UqhexKwgr6{hn-K=sDnZJjVyb>>@F36^Rk`_}4MRi(J0) zgI+u&Fd%hxz{I%qOHO>b+1Rth^3=_g1y4RtD)2RD%nh;oKG~R%QAO++t`gJURbuLf zKl3%_{tTIzW56;rpw85hHVO~i6dTo3WhGl&kGV*wE38%#Y=i9i*YkWMDGis2Y2|Gv z82^id0oBf0BH58UzzQV5ft}6lyrScg3!-Is%9UE%ls5&x(n5Qq+)0p)Dqw2ffOhx8 z;hC^3yRZ5s=ES zGeOc)QXu|&ut9!z%EItM)c!@(P>WmnvhFyAY7NN!9i#cs>yZatCZ?70i;z*E2_jNT zuL{Z$ArCp?(3(-#{fMR1Ph1CKeBgxqFkMF>5gjaStb<3)FnfBUIu)=8)5>dokdgE^ zUM!{IDlx6R?F08aOzYqdCP#@ySZ0PH9DJi>?99JerBFMwOD|mED1M!YCfv0%MVcOM z&Sf49I{|<&Cjh2GhE&Y3OXTszAB3ppJ?BaAArnLG%v|C<S`r(R-BxUB#woEaC zEI+QI&aT)&xq&^S&j{3Z9f%A2-OxdM``sMS*Pj-@xzi3SW>11;O@d|Daep1*TF`Ip zYoqw95POi;Xpf>!U|Q>6kxKWqt96p>D&PHbPx&)j-p)R~Yr2CJvZuhZP$af1O#7Rk z&z?&FWuIg>8_-k{QDid$gbp2bSd;hc2-*-H0!5~M{*ciyJ-ch$VEk7Fc4qE@e086$ z3utkv4|JWFR@Vf`Z2H$Hqb=$hE;)vd4r4oe$qU-+_mF_Op+$pT`^8d%vjp-dJzEhU zcoqC|CqllCJXa{L6w~UG0ozU!^ecgMal=ueA&^Uh9+6n9p7+)VSp=CcN<+nybGc$YM9jozOJC`M8By({LC7yw%{n`HfE zxmIiv@GbUm>>hX>X55spD+Qb81FtOh;rL`@;xZw{%kfI)x-(oUrq%aR=$)kbdaaQER7oX z{><3oXQ|eArI=RpTgdxKXy`Z_7i~dKl-pd6E+CqNOB+~Foo3dyKnNsIO{MnAC!ifq zxhC@tI9>`l0+yqCoT5(!r(@bHd;o>k*WD0BL3;+QOD7ofu6zA<&-IVvY*#Z4Anj>D zy`tRe8ikEhMSL~YIX&v~CpjmamAXzg1~E8>!(AjOoT|hBTq~xnS}{lk|Gw03A-|RS zWNJ372x0`%V7Z3`c%D?`uUU$Rx!=YCJaJ(w)v+@4(LUUXwyHrWXwQL9u^946%saa> z@V!zVtn&OG(uO%ei&(2FopM$(?DW}WL)-vH3g!Lba)|7ArqD!u+8?yNz4oBr-1kn= zAT0kkuQizW`AX2$Vp?5uVBIpJNd<`HuuH&Cg|QSdbBADhVYf&uqUuJljVS+EsSo(_ zQG~+8_(~bM_=ySDs+r@@EDjaVM=!VK`Jy zAiOSE(z$|}RJi&(Bof?82Kc`SBklE|88pE((7a=UAE-c?s@`=_@SsNkfH@nKm&?U) zy_nY4Jc#V!rVh2sRUkr5zYAjkVfTlGSCF!|K3?}TXa=}YOeqGSiEtl|fg5v>=G=1Uri!H7P;1=EDVJ+M8g^f6^FUZacrC1K9=|8|^@~ANsJGNhrM2q_#RYDXij- zR>L$q(fZlb3N*Gjz3g5r|KWl$?M*Ny?4ZNn$1(4)#USeuruo{4_h-#fQPP*f43g%4 z-(?y()~S5QTLK9)lmIM>ugSP8@$|kqF;FD0ItI7q(1XE06{;|o($WL4KkY>D2SotM%I$SfR zt(q}-4s0(w7U)pc5k^GGq3dX5!3!WuxMoF2g)KKP6;w2<+HO-HCeoCd31Ig`^knqx z5LxHv%o>iEnIvG%>yOzA=idB=_Efm4#sIM2#caO`jVW^B^!xa9gDS^6<`j5wB8M@( zJ?%s0rC|e*A1>jb0O755gy6zF8j>a+4r{(!Sn*%5_|VszebqPfE*sO@nhN9C3Dm*# zJ-8pcT+Is*S=}4#kzw~>lv_1>jt9bYqy_XX9yEVYj|nC>>a1>2Rj_|T(b*Yc6sKZ)tLD1(mb~q)x-95!fSL=(v^U`x07ToEtu{sk1m7f% zn2b9!gg_?j(x(!gyGb4a@7_U1=ik0!=A99O(aNM0c+EEbNw%aYLNIsaB$d z>;2T;ljq1px`st%K_Pn@T!mxEUcc|VYkpf&1z%y`TVp5J)K0U{#{F}+Q|GbRbz zX1Z`pdkDvX=-GK1^qpuAfES1|tf?g&rqc|CN{(p=Nj;Qq*o}aS?)-w&9{?#nsh`}> z@>IYT6VWkI<#@ArN$09D?Wr2WL*61pLC4X$W5pwgLmwL~b_ODHM> zl+?`zW28Pvj{$l&o7 zq?kPej%6v>b}n&I8Ss{n9Hn7A5HS@z?-#H!ro~8Ruv;Kv z)HV-XOuROtjPrWVGM+5x6fx7YQ|*b1#RlV8o!XtVO8k>)VYHq#@A6_^Bccqd}hlUK2Bn1F%OYN)P1e zhYt}73E0$ead-`id255PR?MCO$BGZ_8_FGaehE@jN3zqmdhb2drwTffO-&dl$3Tg@KZ&N6ZTMOmjnX=}ZBV@raj6=#~hEuoi{o zg>oqDjyRlMd&f+}CO+wp{Ugw>5d#&ofPwZ5Ik7iIh7*3$Wgs5})^Oow%hyQ`aHqg| zI5f@xq%owBlZU)CfNgs%TgXXqJ zw@MfW!WHt_kY@M7s7M1x%@nF&=d>uMl4~%bE#&MWzgs75A&U@?IEhtv0rOuj4C@zw zUf6r5$&&76L`qp=viPL-f2c$DN|86D<1+~zR@7Q~<#5V}fjkbmG+FCL5TdQeyrw@= z&@SeNYy%t=HPfSEaJ6sjw*c<@6x3Z>92LWvL6uR@IU>&JZ(#G7*Nx!by>mb!;A)j} zDB~Lm;bsh2nfFC#C}Q@9#Pqnr!oa`ayiqZLrBF3V9NgedtG$x(&?NN~gP!70G1tWV z;|IC}I2nF6y2t$HpW8NM14fF7_X2aYM@|dv(9mbdT2z6lVP?Uy3gAF~$U|Bvc9rm= zrPtZu^J}M%a$YP&nDR=-=|3& zD^Hya*NW+38G@D_&iSiPczwh>1BT}u8jqMts5}GaAIGAgjw@g)f#&buEqugvkLA6C zMLR9&Wsfg$D;i9nG~0$5I~c3D)S3G+xNxMH%P zwZA!G`z$oMRGptR9A@jyl&(t`Fu`eV%$Pj`hV+LInUEU}GIlFhuCs@GSyIzgLDnFC z?ID+ZNOnp`8JI-!$6QF6lOm0rVE1$38StSKgBHQLf!^}d>LDkN>_SzDNzm-43XY%4 ztkPZm*h7Pr(a?tx>-=F62fCSj&Ck5*K;B)gP{D1*z@1267!Fa z_n0R|9Bq=wDq_!mVHtmJ zaYx^#%unCI%c2Uf9P=u4wu@hZubBY0+*aLxD{f&a5 zaaP2h`$GG}h%v6lfg>Z6g?__5d_lKXAjS$|-6KX9x%H3jLj!b?C%@nYcc`Ze#Prbr zXT;xaBbGnvR>vU=U8~9LL$%BEe)S@>U`uYeMz}ys5%?SLL)~zxHz7Vb76Z))FFdB! zjY9Us7sme#S=+xmv`Y`NQ{JOhS=qEoOdaNHfRABSb?eU*l9<;cCsXV6*#=>Gj9K3& zQJee`M@q@`W{qlR!;@ZI2cP-Bc!2d)okD$IK<6eh5)Q(S+!Eicqp)8es07Y~992O1 zis$Ae35x|p+E+Z6$qb$%9`l=N#IEu4f(R8Dtwj=QhblbnC=R4s5M1lxBt^TD2Xe?K z4<3x*J^3uOc=k{&^Eet*pBAEJ-jpKoFB#cL^LOMt9T=E4R$Xu|57Xlt8Z>OY4lzfs z;yV@4j|g21G9L!xNeZ?D#r;_jS#KCXj)1l-w+UEbNPE(I<2-T2EZ2wyCP&PuGapjt zoI%gTjgP3{_SFpf|L%pE%um3pL=15Pgb<^y5#Ee@3LUP4#PSrx`o?mhFh5r zDKh!=$qQ741NBFK40<>2g2`w;y!)IhW>0;qK1{&WZugv_a0HDo1{idA0b?4gv0~Kw zrLzG_tE%t>@%51T1`Y<;(!Lk4Pt86DXDM8=ysl89=WHLHeK5|%39P|9UAsO^k8i}l zzR`aNKKBWXVPi57`exL|zJNLoE|&;01qpJEhpwPIER) zSSuaU##H{BdPhvCJ?Iq>y0;WT&l@d2kZ1`-vzR5DfTbGfe{3~{D5-cSScbylyMSbF zw?U58!#ErU&?0#n6a$}2-GL*F#i}UKmi}9Z`s-bG=9BZo;TiBD5hKVS6w{BG5h9^R zV+~e1T35r}X0SHE+8$zw8|3r@M5L8WC7t5I-iHJHeMJ8@ggF@ya0l5`J!k9Xn;&R= zSB^0+Xhh!Rky=lei0N_Z{_OJE*`Rz$f*P?br4bvzD(V)iOLV;+)-5OiuxFB?wAY_Q z#7>voxgAHbrGXbX{W-d4e0xn4p zv_3##>c?VrkdHDLa2@jY;V=WEuh+p4DcoD^f)}0+hU>%h6#sX~zkkYsg06zAg=J#t zY9ZJ)t`l4yXJ>-T2`#R^pS6c>jwHMLd`P-mf2PiUJzXBAr}UR0TRw?c6-7DdVJ&rs zTv#IjjMf^#Lq=*Px-|W5MN7zhS`MiUD4F|Mz|~=TS`jdDXEoDzbQG}!8Mp%;ssLrR zmjXlphmh?n2HCH30hWX*1Q^u`8L-1{*N$gxbWCISx35L3j%uGq7dRZL(D%V%PfG^G z&*b-oep~#uf3$8v77)QIOQlG%-Va%dI)J<|Dff`ALV+*b=j`RR$_8Wc zs(YURbLUA04xXp~3DdoKl0Ex9v|$)z#PdH0fFR1YK4cBmD?;m$3g?mh*aKRh&DNBR zG9NOdvJ80`9iE_&D{7i-4`(}tJK(jeoX?Vgi|{(k43w>rZ1Gd!nJ+Dw51QMrFN=tB z+p>}>sIx^p6=PzG{II`FmbjsM+OO8~og6MT3tMr+RwV@6%!fEYVXBv6Iyc`vW+ z-#^Z22N*-32ugk(seMs zvr)q({C{b4+?a#RJfxV%-TRlpsvrk051y_3Zq+jaaa~+i)T@EsETL=zzB`p?pp`uOc;yJBtFhrDZ3s_&;2i7zt#nPYZ_HF91rfZ+^wYwk{aw+ zDk;F(o@(CJC7Bqh0W9`Z5@;0_vgf`${_-p*jKA!vvO_B`h4a=#W6HymtSCFokS+hC z661&27g7pY+G^D$vjalomAfMHL1NJsyj|CF(17vD z$?yv!U={b23G#?N`IR;KiCOaza%HWJY9{Dd3RqOL(D0xrLgKEL9(<0NsEHA(#J`1m z?VckR)C#K(<~b>?_7#nm{9wGs_y~ZByypSPVp%bJ_ABe`v+O}6fEGg4KCePSL5i5! zCoZbd zUf#OCZ9{TyL;h6L2epXuAfAhKYmY`%!mSdoEu!J@ltTk17pIIVi9G1i8sJ@fh)-&P zLiX&pD!~AZ_;tvl?yvWX;QLK=PI&wx?*{&J8ZB5Jw_INQ zMS~FL?KS1@ftrK=EDh=uv**863&!fa-#_Pg^}p9wev0I1AXl8AsDQG+jt1)EK<$&9 zs&twMi(de^{OfQ)q5vcm71$}xm!-%@Qz3i)D@*6M7YPFQe;`>-hm0ljXu?5CS{{Y&A)DWIp*Yo zAHa&i4eK%ABScq%>8lb9_9wp%IgDjiq=psWOP-8<$`uK-ivb_3{j+17_$O+(5+Lo< z5!$@Z(B^Un4$OBMI{OoGpGL*(32>Eyf#&qc+T%0w-hkTgb#2SYPsLIzH z2uBeTK9b0njOhtqHO)C9YbP&3Gcrj$=BKNjV)hL9RDwaIeYdQ{IL~V2VV|MpgeDjv zk2wn!4oQYyWcJw&HyPR3MBc?mpUn;r1p)o*O4^v$)vyeb37NlhK-1Qjk*{~efD6I& zhY*a^9N;g#$NaSe9OaFBivk7Eq9#3QDEm+4RqKnu7uj>0LNFWx%%a~-FM;&!kQpun z)8B+(_9lT=rHn&w{WC&(9=PAF<9FKy$;Z8>;F^uwISv@NV?4r%Adl=Ov3JU;M;3u) z&GUQ%CGw4NNSx0<06tf#;X*L|O$Y`Hm5-pmI>9k(TU@p=WWe_T;V$$(%B>QVhCn8G z{*6g;&VVyeetx^25$cIbSo%pIDSQU%LNL9pyFXaL|KV_)?^snp?n$%&#&FEd$14r8 z-O13lrJ^@;iWLfWIGknVYj%QWlEXzc%YF6k3fj|PTep9BCjL5T`!M4gG};K(HR6hr z;440Krdd;gR|U{vH-q2L4vstDMn`P22U8xO+`^CX4TS5!^fw)tZOnYsTw-vU>E;UU zB`+4f1BkjdSX4zL0?1&4x-8PG#{9sO1m*}ZpSh4d=7w*q~?IN;UQCTGPKh@9O2RwT^t!( zr_Z6HtHAWObb=7DejPHk^YRtD>nwfYNElEh#Oma6*P%R}r+EE!u?mj?IJL}Eol(8#jl$xJf+?WQIy`3#G_AsF3j31W=KVrl20*xPUj5Q zfND&gri&JhbTPP262cS+Jd-FR_nDaqnpZ@grS8t3u-C&T;uD*V9E{ z`kM$0RKwqA6uZaXZfAy1G`ZxDfW7iV>7)DRGRo#$gGINFnNn@Hpb9n~5k)}1P3(OY zHQPF3&w_6vFkrfWeKe*f;v;6elp!I?E&)DDx|PK&{w5h!^rKuAv_QPGTgHJ7(+5H^ zTMjvxjOzKrJ@w+*MPT|W0@F*_R2yGHM&x`A8IM7jKWqWn2%h)86$Vd|-;72p3Ykp~ z)NFmjTQ4@txTV@t_BRj{6rE<*fa!f{1$+As(ou+DzJ**+7{m<@;eF<~cRG=_ZN>Zm zd0Cxiq-`)8a=2}yHBs#h_4L49LqF-}dASBmf75_TdE?xJUaGy@c(4bm^-)iM10`0< zhy@KDYG))E(J4)u!_Z{B4ztBft%?6+yi`FGs-Vx(S(Qe{L{1bpzKkb%4eA741E%+- z6WngK`%d>(4B3DPbM^lv;snx}k+U>5S z;#D`ZE5P(#{w`v~nyvDrQ^eI;K7?1quoyrRK_hlDE2z~%&#nXO_E;)G?Stqbot?^Y zqgGx2rT6-G5d+(dk`aR#hziWDm;n@%0RfVkeTsaLF|5S%tBg)nv>2ALvMZPbF9yDT zkUjf7)L)3$K7!AK44J{YIBQEmRwU@it~56+huVR&S3NgRevCDlcVSI{2*o`fs8xGj zcxR#dK}G`k7^jQr$cxV{sBpRjcGJz2Ua75OJR` zd-dDvKj$pvRAQnQ#KPb<`idB_2XXG~)tcu5iK#m60}`d3SNRsZ1XI1r@1iCsWKVv5 zO@5O9dym=fcl!W?m5)g8N02lb+i5oXjIYt=lIOae1(^~s&=45>Zd;Sed*n|e{z4w| ziC;yYCL1ovtdOBKAZ((qbNGvnva7%JRsALHI1p$qvHR*El&JJi&M22M_(7VBj$$-V zxu-*FuXyhR=S+cGb}_oes@;Ca(U{$I<|TQ2%`% zvA%k(J~638N0oUBYn^g4rZ9~!-J%?bSIsSi{RRhq%6vm`B+S6{`o#vP+N&i7B=aeI z>Kkk7J2!dcYsi+B*VISH75P{t07C=Z@28w3M$eL-ikFa!efZF_{V99#sX{Kc2wBYO z!px@~1mo&2eJtHy$L8ieI4TC~YyxWHmKyB!iz3oxM%z&F*oq36FX@R)=NX}9SJZH> zkju#)kjoYjn->@j7)C48m`4l=h0IXJTCO>0w8I=dWKVtLeF(Z~Sikipw5#i54j>H^ zHF|^d%c${ACAbQ*5^lIsU5hvFqMo1-BHM%{YL%E z#~hgpbh|WgBnQDh?#GN~AJ+)S`QpYzFerW6Iu{v6DCQ)u=83X}sP8B=SAXeG^_PNS z`e*Hl(uK@2BlKv*0V`IVB$FJZI49%39~aTLG-4?m<$6E@_xL5^V@KVIAGCvwWGZVX z!?TGq1~kgB|H~@BIk$D&NQLbAZ!GyQ?wS&H>f8lLAtuBkNf2l^T*0$e6iEXElD zqS6XEc*raBy>3jLf((ip!#Ii?KE~oxIeW#>#78bxbrF`@3B@^N5fEFxSzeJTKg=H{ zuv0AxV9WulRzD|ma5PD*ENwxs@MR=CvfjSn;xA(rf3dQB`;@tF(XP!>Z#fx50=YmT z0WF^ZcU(=0U0M;j!;Tay-R#|zFxyO6Yv4jU@8y7)?JVUHQJ1~|>JRi?b#}3pA%j9r z9`foBA9wt}iiiU`5>!BFJn{5M!UMHXyk~hN^DM&(1u=j$Z5!cnmMaRNs6M1HX=(Om z;NOzgd)a=_*~Fgp3qyk53OReo3j`E4;%CU*%ZKkyGwjpuX1@p3%Pj63kDRJ*{?H6s2`S* z7%L=6UfF}P(kR`%AA-yHnlNU0J>`M?XW*DVF)&y; zQhLfK3TiDr+ZBb}J>+ErSj%Ra_AO+qx1J1mLS_q4m^;A5;orOIx5$hDz-UM|Puv`Z zahjSmVrYv_K+?qYW?9}Tquk=N@~?-wn+jw3es39E@zc?R|<2qBRLOi@O2!;4C~|W6$8CFXJit!hF~&f#27j zwY@#$zzh-eAS`~ne{t@+Vs=gjf+S$~yeMKI*V-h%fL{_c-wr2>&)|@K0H#uxtHEVo z#wz>L;?B529Et${_JoMYBuFJjMG%F7Nq~>~qg^yPM4Q5f)Mj%Yy=4bPC**i$m~;$&OuYu5~)xo|D>`n{m} zOcn5Cm^j-?38Q@Nx-TQFW6!d|Cfes$%i+{!AcsIjl>7o3FQ=3X_~#IcVv|Jkk?_Ff zp1rSS5$JFl%P$R0=HdBFQ``!%Z1quCARaLBbjaNXM{BO@B!oY$h?5aJZBp;A!x6DPCk^wc#E{7ZDS5RJ#C>o%yF++~_)1t#{r4u$owjv0XQHS}xX0^ekUq%=1}*0K4e5ZSs8NCdBpS$av&Sas1`e_LneGD8=nYsN)dbN3*!$X#%RZC9QpxB ze&j7JBoB)J0?gs0-qxCNKBRKyS&66>?z+Argw{qpYzxl76|%8}}X zqyBIqv;W6R8vrAr&sVRahhJSqr7?4E#h-DFpEiIsxbn+*D8KysGqy&b42krkvPpi( z*A}1(*dJRXHZM5HXGi$}_(1{Xc}$UD3MpwJ1Q&i858)R=ZX3z#uhsn|G`+rp)mw{r zuY*=ZA?D$BDpwn}H*9!j#GwQ0@fHec*7=Yjc(v=*3#cusyl~l<@sNE1-8y!?^|y#E zvb7?z1OgVL@R&$154Kc7W*0dfEG+wc$Vmgo#q_}|q5>2ttt#ClO%FLQ54mh1i2&$Q zyGBCR(u<63C%_J4N7Mu22oJdYQX z&;y#hFX^56yXSc?mcNWx?t~*~1H?-5@$T8rmaW}AC5ni$*r|3UbeXZvcQ3iotl!9X zSvEfwp7!FJ_RdW`^tFMyynwH-{PZjy5dcaiOW}E2sKO1*mFk2v;6Zi_F=Q?we1FF1 zBiNDheV-7#{_1(!i|r4eF~uT)A`F^XM~z$41I!q@`Kidna~@>m&Z8qo8a$5SAvbQ3 z=p20nFw=bZJnh9L?NP`4`XRGbSibVpsTCn7184<6`h3U;KwAM<%d|NqVvWHjQJm$N z!*lE;pu+qF?kHkUdvQ&BWrq&2+J26;C1$ z*{$CFwusP?ChJe`KdL!h>t&>+=d(ubKlIh5ytjO~pd)~h=$7r!)CcRKxjZ^VnW;j8 zAnl>wZafwJ6WAkxsT8u6urYhcp7gJ*ay{W_J{1RaU%1rENNeKTVRIONFuk~y@1o=;=?A~(hQ)B@7g~q8))Y7)apos*?dIv%3aXo2NYt`zU-moee5&QlDyB8-m-LKjfDT zN$@?{NNeWXF5ABrMCtj5CKX$A$^v+^0cpS2z{QG(3UiTPBTivV?!&>S4r z4w9-(&e1?KG5S;X)R)#}AKJ2?l`; z;2}6jN#6iaHx`(h#DN?_Bhybngv6>Y6$_V7WAYkY?PWaGUPuKyac+thDU3D^zUXva z1fAMPoE$4(q_hjHf~~bx5nQ9?F;&Kh4xAHn48Pv=n}!gfE9^7A3HnPzn|lV z;h%tvVvwGk6BX^sV_4ZXv$)uShx;@jfM(FiaLJdkO1{vz?8+j0vEWWWo~o{a+VB4g zhfz860mO1f75ZLW3)8}*x7ufFkz~#Yhg?rHBL7}yc|Sxd_0kjerpzgVE4~a@d;t#n z17m;Zj`p?md_r9u&<=2GKw)6lQ&2X1T^XllwnGNTY)E)Rt?ob@&vV997LZ~E-DC3e zQjz1)@X!Tch6}#@pAq*R&xGYU-W-(Mwd)2!GYo%ZAX^Yc%EPpaP8Nj#4h&Y=exnR6 zxA=aS|A)nkm5oK_C1L_<;7{07pR2tnUOJO=^DHs_+y%_NAVdfB=6>o44}kWF!Aa36 zJoxS>O9r;cK~fhUaRn3TJSaQi$TjE*w*es6pYUa9ilDkjoS#pa>U5K=&kb*%Q*1xJ zuuW}@TDg)Xa>q^|vEA`d7-V@9 zQP$i0{%~E*3F;0{y5KBE#8TntVF79paV3apgcYU0tB5_{l{??Dk~}vpHJYNpDOi4^ zg#zc_8N$ResG@_+Lz8MgL?wKJD$aogQ zrL{CZYYH46k!)5UA`N*(Y+q*O;6Gn|t0MM{SMqWywpCEx$-Z#&^6&Af;qB;ZDRwHd zmGT%{TL}~&YDEylPl&?ycdjbPvi1SCRo^j7&6rccI6Flb7wAKX2Sw~TuasxRVW%O0 z^Yiu?vqh4eVY7d423*s);NGZfKLQ4nWk;*;Zb@}^&% zN00)(muFHX&=IzTxKVixuIV!B`MlQxkc^MmtnXyn_)!E|CxN0xMO;70fIhK#M};A2 z@+!-)>tYKy5zgQk9c>uh4&C?*0Ow-<0J1KD%E1xa|UvFzIPQ%8VuU!Ggf54pZI>4pi<%b z128+sM6PG0fIZ#Sv_9i=e=N4Ov0VmSWEAHG(lnWoO*qUlNpPHY2fm&$IAdP1j>z%M zcgS{zHx?g*^cI=XIL@LDymb_^=ewGhkoVr#_C94xWY=E;%lrt1citcuZPeKyks_$i zkhpy4Slb&Jlz6Zt*+!i21M7p54#=-O+2Az0uCkWQ%s*NGIfEDS_n7 zu$X6#PJrC%>JyB_04w0~Q5(CE%cytCvsc*8;HLABXpSX_R6%eK6o;`%o#HZ;c;Xi6G4o8twBQUr{Y9UY3UTe99Hs5&fKt zL{tj%P^dHI@nu4G6_?S@XUJP+DvaeN$U&>&4kuvk?vGsS*W{R_c0k!BUyX1&M_RQDr%*Q0)KMgF_IhGP%L1PkYPAclU3Dx#;Kz0?=mgAFB7e)mAKL( zdPn!Vddp}_-fO$qAT4e?J;)Fm`{Gti-YeOC7r1QMDTh1pC6ozJKqX)I8F6H5Syo(D z0ZL(oeautr0#O}*#-8|ETVB1ogN7uw#VLb<=07}gZVLdcKvTbd1f)RgrV)MPR3shb zF5L*gOAqf%j8w28Y=t-3GhY@sB>PGo`WLLGQbe&jnQH3K#rO>_-7?yp`6|S+?UlSe z$M)~wri-Z48GX}>^e|Nd>=mX`cfb)ID$5dt!?K@atEPpObBr5uc)H#g2poW+^n=`@ zO96Y{YvUR4Zq3WbhxE&ps_hX-Yes|k-jUD*hxy|u^}>pw!>G3(93R_s=woml?QoCT zI-$i}V1J*K@4!40j|@+bdf@pTSh;h0gJKt5itHXNp#~(TQj6zV4oVV3S}Z% z|EwPwxmOS;;IDw}JrE1_0Y|pMkXq)zB7ujrLf!`!_G^GehH}^n{nSKo3WcbEJ?HiC z3^?qpY3xZ^3kO1lyHs35onkPTS{pGgZrY65k4m^zA-ZMVX}(ov#21U`ilaH`Ga(AS z1AS5*R>yS{v6V7*wtYqm3C+HhBKDNm<1=D0nLi^=WNG`(a3%QF-7%WE9^R%@V@=`! zNC#R89JIJ0$v!3e#X9D_f=Br&e3PSRAq`h=LtLn9MtAiJ~Y=#jJtW;UtaR!Fa%G{WL=iM0Mdy{y1~{Xkt%p-E7Q z>L$vhF=pUd!@G2Fcu^-_2Mb(>wXiR*zN@mGQZwA z`+sJ)!{Opvds%Sv0oakUHX9Cf}n!c?&!(W=wThg z!jShdiTe9$O)=OV%!JxmuYeN+eVZt)@AN&Db>Osbhe|q~?T@){0Xr@X_YE zR?Fy*HV@+Weu2I%DDaad&EXRL<>@~}Ji4XNIHfsXnJf=3oC zBw-I&5=CLwY|{;qfIIWU35?NJ%u|Qwx;~Z@v3H>1yGqL#%VcxAkH+6}6L7w62dIVloK>;? zf5=SJQpNOG`D=b@M+dIpywxJKT8;?c@KyexyF)15D5M!@(xBcvEESpqd(#SW@hIG7R@Dwnv2g7GXkj{!HXIE$$BR-GB z{t54@IJUKRg`$QX;7g1dFvBe50VCbuZTEU&ox&=*x4;I&pRncTTH-ts*AkDp+(AX` zKS_2N3fMENjNQuedC^N`KE3rq{RfEmIJ;exFs zM7A6(-;grv>Yh<~LdMgN1l_c1372LWV}-5!(@Pg)J{oOF#M%(6-AC~=s3JnO zbf)Uu8n`eS0Vn&t+uWVrp5eiTS;n{%UHNh(Fmbc*9OhpqPEtTMBfL!P@)&kUA@Z!0 z6>mG?0-!Cb#5?3FlLJs5HE4RH()KAr$3O=al!uy~OQ*fZT&GhN>#HI7r2Rgk5k z$WC)gmZOecXp`95b0)G_-lrh1h5q8kQzWDa@k7KO;e`O9Z#^A8-`EmIJz~0H+FAYh z1f9~a2~Txn{N*8z2dKe5wW`a*m?%;B6b?&Aj_GxXEwg)M(|rw*aYsl@aWy=-c*If9 zj)c9OiE|UM^Z%oRic<~#F0N{__?jBChSr*Ji3{J6wK z9^P}2?2Yxtth}k=OV@bfL=Dv13cR4P>o{*9I^#7=4+h}HdAGS+z?4dJ-%DCi1fug4 zE1;c?8c#&&u~^7Ux`R`}46{5<*sE&QO+h0cnTR?6IRl2E3OIYfOS&uDp?u0oIGy=d0Y)<`iiAdE zXI7_G|jY+v)CWR7YM$kwe!5kECJZ;;>n&yi)Pwle7 z8(~wO@dQA(qu?`=1N*eVD@c?u@<2;Nji~)%Y!(M9LbOFU0)){vk_1dGO7{dE8U)-h zO6#>-0pP?hQja-ENb@_iP)hitHIEI`sf=CIiO*Vy9rBX+ZQer9Rxg@;(ZJak2MUoBDMqm z*`XW&_L)xOoEz@k0q`ceZ80MG9`MO`@w%9i_ncTovAXBP$~CkVu&28a|L#ao0|BT+ z{DXyVX^$-!s?r02y;SGE19LlO-u@_EeokjNV(&58iLY6F44&*lT8>2BeEPj?9OIx+ z*wq=X|CMKw)z6VaHg>4R;b94$n*)de2Jj#iu-zmFICUKfkR)2rbUU_oJx=8@6e2~C zj=_^%Sl4!OGfn%_JtquS+O<=VS`!4SAbzIk+YkS}%#<)#X^b-WInQv$UOjp%bAKd$uS6Z#lND~<#yE8%IU!REa@Jedk?NSfznyMH8?YEW*M$YGvR#30-R?2I zw4W7_8yIZI_10l9i>_LM(}hLXl{oCJ1JQ*e85$Xiw=&^RQ{=&3Q~>-1fjl|OeOzmv z>cRrgEF!VLg%;Qv3gHQ|O2##EJ7FJ0!5G0c1;I19))3Rfcax6)hCA{xA*~rhvI!MboDqyRuF;mh{f8p9<@Jtt$OxL!X1KhVZgLp*6tB79KFErmVB7+}!omf3S zc|Z&)k%nTaS+6G?(2p8(xep`G&+xEsGkKW+Hj-CA(KB7VGhP1YCk*Zg5rF~;2IBbEuLuR~ znJ%tv-R=paOuLDfG!6`f$IFOO_a7rD7V{w@f_Q@`>^DHtGipy6^OZOX+`B2vobjzt z&tVTuT8#W*O5lkjdZvpjGL!km=1c(CZCHh2=a->UiChdd2_IOVXmNF>aOjZA;wzxs zeT7UrCj9K5?f_uao+Ci?IbheCXn2oace1DSi#U3&iz_sfk75&Y-vU0UbSzf9 z3%h*mtWqL2ZAmR^%tBrR3g+4v$0T+NX$}SvOJTaEb3CPlt$DWV`LMgmJ3F3`X2mgj zwu?))!)SUlp!gOtsT52&Et%^-Mo<7~Xmkv{&VI|Ua=^LT(EksU&c>y3gqex0UXO?h z6}`IlZKhnWe_bJax{GVN`-1M@qDeEV7if#%lU<$nn$(O|To{uyi z+Iszv9RQpe6Rro%YoN>|-;c54*tj*Q6OptHY{p4aM3bhCZQ;XUsk^*A4s^cUOOU8V-AeZ%2s^+X$4E`fXA{w zdPE~7a2u1SytGa;cQx?033p?I&rm2a-ThHfi&;gaCN3Fcb&$2gWq{ICuDW3<0T_AJoXsq{W%O`XU!gBZPp{67abVc-wn`9bxT4{vTrMTCP5% z-HsYBz`#d4YL_%PQI(f-H_BZLPF+vfu3`{fKS&+3R|?KX=%Dj_l$ku|r3Ipb*!Sj4 z04|G7Hb@v>!AlmSpDi3Dj#P9{lpqzyjAl-7Z;#g@4(M2+Y#TVNSKVgG|MaSYpKO&9 zPq?XGor&=A)_KNDzu4U6{YV9oS71^UUMkzTs7{dmB_{dsK89A70PRUxp@Y=vEHuH? zz$4dNCq5)274CH_Oy@{NSQ|gXp6^oqyCV@$tLHOBog3KPje4~k6Pp3_G^nNt7`il4 zHeR9K%tCDUGs7wkKx&e8T{%BPtgj zl`#-aL=gc4UH!8aK`qXE&F*!nQdnAN`+RmET-a}4#m9`vlU-T{ng19t2p8~_jg5cT ziN7mNc27*>WuEI1Hw2~o+=31`m{k$WextwXp~d9ME{#8pSP}%hj&_2vfp`TBmf!B! z2z{kr0bBoSS_fj-;xZ|KRiz6);sv zO`vBO>}Xbuqs(^m#mHp~5{@G)foPhXiBY!{>FiVSRhfJIp$*Too~* zqjq0-_koR2&L*($tx?>yox5s{^WqzrY~pOE|1vLU4CovcBQ;JoDH8QGr>mH5rK1s z%y_`Q!gf@T2%Ym8vQVrzJvT_^-Y%&qZc)MVIbC5!K_8TJy-59Xx5fQdrV06ZBUiLnN$sqEX9~ge*5P(`u?HVk zK%+hAXY}QlZfVS(^zypB`?4U72$Xqq3oZyS>A9YN_e1; z4k4xjg1@Wd#{Nw+P5YJlHF44}N$pZ&A`!CIn-d}2096V}V+9SnXUPAkSmH=L zdl}f&+99ZS<9|wFk?}>R>hY!&uGPQx^`$5PnbEc2h(8zU{4^WUaRxsIKhAZd4 z>=K~CH2Fehhz^tr_f^3Nl_b&xlJPt(OHp^Qd6k=txET}9IV|{fL87B1R!Z$l@%C>8 zJ;oK{6_i1@TrrICh;e?d5*L7aVwbYt#|TE(=>}t2ns<&in!ZiRls`ezkcwDYul^;( zxZ&+G&^QOA2twf=xUqJ@PAPD;T&!371zU5f53sT9kGL=+itVXOsDO(HyiO{10k^g! zX=VkY7NZ$wClbwY?nrS8Ne5O~W@fb*azEy69rwP9(D9VrVS>nl$!FbdN_2rFi&oH2 z*d`JY(pZgBSSfWZwcD3j_qKGaz{6jE#hIc>0|kB0qEXc&MOz*WUf|ccw?#Dwkf)?h}Njg|FXh|>bP;SHRvG;{c{5D z;wzz4i-a9b(ko#6up(aVY(wX`&HnwPlsRof;wg*R2)VtNN%qK4xRs%+r@IHp_zyae zh$d#Fa!Y7`<_G_W4MWRlnAUT$J&;33FGL-P%d-XVK$--S_%e<;(I0X3boYib{mi20dcWj?q|NzAfV378hywO(x1x;yRsAC(KgbBO zL(WEd>^7K2^}xD5%=P-EZ8R_~Iaf2O0-_}yFd=nSxWSu3_Ix*%eD`I?gfxw{dDmZp zmv9~PfsLYiwfW{zZ<5f=^l}mzx$?(A)+Rx5XU#M72O$TybVElfXuiS;!7OP)Ktw`T z$Vzw=153!;W$E^-fIyyqF5$Llhl0u>Gtqt&ZbXD2B`VADV$}$0oczcZ>Oa-JCO*ybv=y^FOqbV~OQ4YO@Z`;>;Eo06U3+mTsOQ5R z&ew`=5QQ6DHmmi0jPde%h|*ZWNaTM{Vt-pzSj&B&5?)a{>p+=ary?Sbhw)W!D5uSU zD>zTj6ffl+*1)WN-6#9Ds*KWD!CT`QaQ-iPyR&b&zk-$q#@BenV(*b3)>o`)fhFbB z9T)u^Lt_3^ngiW7#Xp2G3SL%7V+D1)XT*CtfBz!f#%_k92r`tz+d4!UsETq$10-^% zkiq5=v16{~dB4Rhi4LzHur$zkK2qBDNz&y#ZGI?*N4!WT#2tL}>oHFC@kiCMWyB+j zq>3Ll@8Ee=$J{Bnu{B1a6Kb4AiOds05dmxoYK-0Ug#I%s>T?(?i4_aEK12RTAx$QQ z85ZIIMqwv!JaMqr^6|Nhb|sP6VBiHuK}QsFnybx)e1Jbx#E~hIM;tujMG*FjSkPV& zHsKy7CzVAHM?gu(Ua2fCmZ!@~qJm;cS1+|WMw@Y3Yz|Fn)Rm$MRj$$IiKd<2 zJn5^znkV4fHKA|T(WfK<0j%ji*+nQ=*0b7WbV1A-Ry0Z*kUWv1^WoIRY^YhM-_UxP zdj4E9kOP$}@RK=R&mV1;W1N%eh98hG6{N3H+CxrUt_fS{?pB8xmS1O$k4S%YBrGZu z8DX#!FXTQRw_AYlAYVO{t%$f*Y;f!3+EtL4JRi`=fy-jbQd;LMGs4(B>E+c$>fd}} zVBx{q7b>qIX7su&ATI&`#S-nz?eb)@52a7dGjEUdkfY`~(rjYL!U z5%RZJFV(Ony;3X$A5*lBozDI0$#>XJodk>BMvBcTHd0O;tau^I2%82q96-7Cly81b z^Q@N_Hw`=sH;ohZ8!B5?p8-pvboASTk)ge}Rt)=5u53&TEIhlHv(R*R60sAYfkiy0 zXUSD*NZ3B!|UO#vn=VJAT2nNR*1$^PbPV z|0ZH}k&@-mie$ zMg~2COI2s*I>F^6H-IKY59<1_>dod5xW>K^<&B$k73lk;<{fqmOpldJMt&2#mhn~0 z+P)2cDQU$BxqI5ni;Yy>aTCxQ$l8#T(4r87JY*Nh9Apx1tsfw!l>(Bc4$T@$kJk;S zSBVWjY65!7sRG+VS;pV7*t48$AVLRhvpr%2l)XRgp7-)%Bh_|d1QDbGrh!)I&_4?V z|D)k1!lW!Jvdbs5z|4Yv4Z2KzuoL9;0fRLo0wGh1#J|WmWkKAq9buQAKfHHh_r#Z% z#MdNE{vI)8wq2&4V6^#%a;UK@3gWG16D-7t) zqt6A2Wh(Hq3fU81SrXqC!4#QF9l-FBvW9(Wxs#9+)?ikIH5wevS$Y;?A;Xpk;M;Eb zHk1-rr;6U>-XDBlYr^x?Cv_m6keH*%_r#UOEsM{BsC()wOX}>LIw2B9ZuzTt& ztC7^XQ{avGn*l``RA?MQ7>M+6QHxRuRQmFicKGaezQ6{Y(92)BkN03?xJd(+u3yXO zUY+ZBh|t+kTQxli$MVTh%%1y7`pcL#?*oF%%!PiKLokCLXtdKRBZikf`)Qk%u1?Hx zHVQhIfOxszf4JayN76m}mAnSM%h;gFu|CJ|MgJ?iL!~qn22n~x16cJvK3SdX6lwnU zI2`uWz_=g;pjQoN7;8?jS(&Z_6CM&ySu7lFdfaH!;BbrX`L8Vb580~U8>7LLUVD;( ztnJXE2J8<9;&q@|`C8(!kEI}wshBNi;0fu~1Y!&F_>1)H5S9JXCIuDc?CvSBEGaO= z?PLqcv^9F5%lR(`-AX8&Ev^#SUcU5gSij;t9Uy;T#QnPKaEStmAw;_FI(c6mdAe14 z-q7`oud-|}`SH`;l$eL-z|z*3|I0|Ae^~I)U!#+t7Yh8>qtaki$(=#{;if@wP znpGZiLQnfFkM)!8jo~@4^uG)lylBMYMWRQ*KkkqrBQuhN+wX2tjk*Soi=T`Jt3n}X zjkc0^f9}|%kUa^Ox9)Ez$YhmR>lA9dBj7@<8D)To@GKt6pvv><`XJ11FcaSFmC3uU;)CKdDDswcu zmxM>I#kDa{VFDlbKC zV)isx*EE=SOR^}X-g`?nWH$m7lQ9$(Xc0_?-!8+NXDW-uHL}rng_L17(V0tU$6~f} z%&HTdhV*9+GXi^6tB~+E@&GPx&^SB|*7TP#Cv^H7w%Y?@5D=zU>5M&LM>_hv8We_L z!`{K_V$Iej%q)mP_Q6Ph{w}CkDQ3@tHNVBYX{o+V#1Vge{Nbjvaw8%aiV6~h{u}&_ z>t05!6?kXy4h57j!hX-@NhOj!4SpAo*{=BERo(C`Sj%6=%x18li?2h<{Q0i;Np^*I zTsNRX9>E&{B2$`=Ue#e$58qxtC`xfbA$t<6YZB~Rky~s%4xF^Js~y`vuA|ZIYRcFD z<~dB%YU!kS2VV0Kn}VO5+pJ(^-({e-uo zbQ)d2kHxR-gddcoeAAI?1{$wbqM(xYQ3I~xCn1#_ABmfW+J1T1MaAvMISMG!H!tj= z1uJn+ff?orIvUWyhhp|DSo>ebjE7uS34?e7+_yUm0{ZK6ZY^%|-q`9%(1M?mxc$8t zj*PF6T2jb}ofLn}o(1c}Q_&jcu!YbjOIGL~V7#l>B}>6c70rpL1+#4G{fG{c9hJt= z93k7+X-=@pm^7zTN@5xuS&e+~cJX8Ir0Q809h3)wF8TT`%#vJ~rL}Vjc@K&^_Y0Hv zul%&r@`>FHC*)D8@cW*#Uz?s9iHOL2=Kr}k5+Y7MaJlWgNn8k^#MvP-RxJwIb6{H> zg_)sz1gFq8AyeruU-=nUB48$qTq3)DE976-oE1#qpO6}%o#81b@PX@X=4Q9}c^4OC zd{AeTi?g&AmypBQplH86<^0mn^{=3mazN8-QJjjx(&l=~RWoUZ5Ugl@M$iESWQXjb z-8uVhrj}CO)@unmN6J&l)md6gOUP*hqXyWEw9-4YA)nNhN`dgQD2_DMZY&TpXVyZz z3%UT~BZ>1nbjyLfXKs5w5xy2O;2z$n@}`WPT%M)1#ZtKLu*$L_wOcB|(e9iuyI=MC z(HP?{gASIuKwRvVd&l&WR86 z@EL&}+lo$|-x(=r(nrrbjEDUlD zJ|eJhcF0vgF=wg$(gsFNZ-@7XsDle`mRzQ#wZ&8z+w)&v8UP>OTBr~jOSx!o$3Q;row1-%+TNz>z*rNN61Jn)Y4l2%aE-}j>2a_>f*7!Hfm+KG*aT- z?7mTB&v%S84SJ`f0j0iOFh{#?e*3*oznWdDrL`piww(lrQqy)8S`gfWwZKS#fis8m zL`Q$%G~DAYo5jTwkv{>$GyH1i>V=E%iEd&t#GpdqX8KrC5p>Otl8d#pz9c{fsUIPK zQNJDHJr}JXS%#cH5>>5D=7iKSqdX=W9cPP}w2#oaXiS`re3@a2spo}}-8Dx$C-0%! zBdPw7J^%G3|MlI3ZtMr4kjw|v4?w2U|ED?v3Td%$FM!!T}5!r{gO$87} z7COljF+kUgmSRYAIh=r3C57zyug5jyf3ozp-+}=V7eQmV-)<-(+yS;~_OByIH#_Z< z*K$rSk`^1fn62IhN&K92C}huneaU}gXIf!Z_7**fE6*vdNXBv64%?j-@QcCV7NE#O zV~_I~nReT8C^{HG6A_+Hi!3q?AOJd8__|1R@|6FA=fA$>KUkW({CDacB&AtI-%ulC zI)^MYY8b+^2-nd7T0jbij)l$a>twLaW=qjBUcP$F_#Gc0E%-TU3Y2L*+{rP~A2a3{ z!w<9Pzh3@l%-=3Ku(NNM+>l#&mL@05s|SUPvr6Ap=*M(nK=dJF``~bDIa3(1oa=QC zZgE`nzQlD~TCaZ?F&=Piv=I!#vR$|Sj2W&O%B>NDU$2bdPPd~>S$!s4$T<@;RdD$5 z%1SQX(t3M~d3!J8F(7BJ1|kUgW0jQh2(Z7+Ad-`TrT}y^d;q#;&9A~pno32bJ)ZFj zc>r9uZr6LJ03MKo5zv*y{B$ZhCsxf0*|T3?vR?qy^BFVjQu&wo9zHwim%UnQ<@(3G znzQVQG?Fk)3Dum})r?j-2b9rOoZ}4S!NIh9(M%KI8z0%}=U)bm)fJM`u&|Mu9XE1EODovn+#lDL%Ha`S={E*<{+um4vWk0hZWXepz!Cm3 zWcqY_^VqAQK$gY>=LgU_fDnk_>}Sl@o~G!Cz9g=T9&?kzNbsYf>71wS=s9r2zl<3a zJaZxF4K$&TaWgj>G`c2z%d4L2*kMi>J1>Ekpr8{sBSlz_iaGsd%n-5gzQXFJ<5mBV z{T`@HN+KWv1yIbE0pV}xm96A@9}lpTM#JX0KvvA21;>&FL)?ki$8Lx4C^w6sckf&Q z5HKXM6B(qnCJTs@*#(2EENak|xmir0z1d->_$!Flp`}N^d_*hqB2-hDFlG4d9k5HY zD`wAvW66R6YnsoP?Zc`74-2l>Fcc7*V%&^9EQI<5PmgLNU@9JAVHB$_?8KulxeJeEOXpE$ai^S#zCl3hoaPoBxdnNF*9nvHh8(WD8kCw>HqPQ_tI)@|1$J7oM~#$$G*!(1isHM~Kw5b$+ddtp&Q4JCjYsnFG{1Zbe=ZbmqnTgp- z5hMmCEk;-&#q4=-ta)&YJhFc*BGiP)okeLG0JS&9`h|}UL$v`5#I#0~I#IL***foT&J z+m8m>{3vrFj58|k1wlYXNx9CP0z=9lbM}xQX|UK;^{HjX2%DGt@}8yx;&R5>Q1&sf|pcL&t#+ zIK0cQ`NBZYH&hjg4^^SA?$XcvcOfTC6)_(IkOf=eM%*IKh25qlVD79rojcJcbq6B5 ze(lt#KN<8?ye@jih4icZ=khN7EYFB{a>@9Yd~Q>Cn+ns;u5Gtus+)!j5ddnIwEF#w zEupb8Z%S%Wm3~6D1bVpNaAlw!PA0+o4mPOzqEeA9mc*#_M%DGb9VB|X+P?y&TRJ>L)JFc60_we_rBoZ%<;q(+GKWWfHKhir% zxga=Na)FnAwr9x6642)5vlNTEe*j-hGnv^%X-F~H-hhV}>JNo@0PUb}0Ixq(f4Fdg z^I$YH*YFTp?PX1qA5NOm5+Wx}Z7+6A;U?4t=K?SN>`Tc11qc&AfH2_Kt!xK#hHI7P zj#r7n^@UYjEuH#C2ZR1}thQv_$@nK6G+p}gOX)Yc#7jTN^75T^XS#4l3-JS?I*<~f6B<(vz_v(Ee5pLbO6lln4nt}A$_9Z8ZSMZ zOUQA9Yz`8}!gFV^%LpW9K6fsO4`EK@Oi>I-Y?+f5X|o{aGv!pPgOqW5c`Yem_7XefMLa?l{M z5RQlm`pLk86eCBz;U%BT$d2TgF^p4}U8Mr-sJat4hh=e;2V8 z5QurOm}g0bK-ufUph+PECCOBJ#Er(QINVQ#4;Vy?cr*d3CeurdMMdnXFD$9=AGemS z{tkCmoC1sf($KY=la(ndQecQ3K%S9DWz9JepJKugGaVJw@;Hw;)=i4plV4bqUmly+ zk2Zo;@K7v`-crMH0mvd82~3iHMD>E!hqhAYx2rb48h~Op+o_MsLLT!`gJDBV9A#e zm%S-ak7(c9#I$W>hdUNk`&$ZiWN?Nq#b{k!EM%ci~kQEI8Zo%%lKK>qliE2>t?k`io2YYde<-t52q)NrhV7aCml_3~ z?m%#o)S#eH@L{ziTcl&jAfD$8ahNefXN43|zIa{D_QPnRl^1KDRR;Tt?iP3Uy|eEh zsDWV!PPUV)!6;s>hD5M_AV4WO(R7|4D8qk-J>tl{TS^IXDrQsy+y12XPbqix0lQC7kHcJeRP`=<>cr91;Z)=(NS z!?8RNw~UOOx!JBJTblgC`fe-xFgKs?U$(+FOzC3qw8J5w6`|U~n%sYv>K0+i#b0_{ zG9WS$no*@msLWO)_H2kq=2aO0W($I)w9CCI>A{AX$eJ_pmAY` zT=|YD@zQ?ghs2WTO?*X$}t zNfxh6mn2TY(7(0*WVhO_5HMh~nyz2O^4eUobTFA4&=Y<%6&F5ZDmrrEc@gRgFg>L; zBB-9;^=4voKwKeGN zh8Q_77_C&mnbHT}a`EDsUj!^*Tyw{M3B2Dk>R^m8^8aV;Ot2%zk!-sm6%XcN{~K$& z&)_8CqIW2d6gB+%>PX2%2Vv72kXn1SDIE<^+_jLSb(%TCCkL5M6$gSG0yiT)i?Yok zzfS4(C}>ZHdHiM2RvqL+mddyR+sip$;vW&n9YIx-L9G%=X($KrX7bqxE2z!k`vezZ+wer8YYL6l=q; zybQVxAeVlQkID66~3r4%7$$j|%c?9NkWzPIXrhc{=bqUGJwA&mOa9!?I_?)br1?A!gfe*L25_ z1|dQe=ccB#*Wjy25lyqAb>q?59uRIkxPk8Tms1R|H+H!2rOK3D8fKI|9p)zio{vG- zJHT0GG$SiJ?_{>DY4r7==~i*BluD#Xc3{Qq)TJd1d#XLy-4XkPRCji5m{Iau%#SHt zA})!ZkX;jIdM;c_Xt;DWSug-3x95gDDO)1Ss7v>n97)be*vTPlu24S0A5qyZ>?IQHQ%L14pV)N}lBMm(OG9uc?aPVR?c5Y2n zqOr~N=`#dcRCwGPMz-%kbq62>y`B0|Xzvw29G(r!o(M-o&(!yENv8ncVjhJ!Mh*8W>!WuwASuEizSdq7& zR3m0IY{U6))zRcas01Kim`dCXZQxS@_h&-mRfoL@4K+Vc;If@@wz+*&cGEakgF*Xr zSelE(jI!s#_GF_0>S-R(RCyn`#xTMOk`=>)l45B{J-9Feu+qlzFqT{;Tog=X&?En` z#{^D^1I@MzXsC}2ux51}0b=RLE^DH*;W9C!?5VInYE*CvQFowu5>BXTn$+Y=+TceN z&YJyA>MT&d&~pedUkx~tZc;s-SedNJj5P~o$z8i&t)4R+p9kIU>^d>yrW5ly=E-I! z449~zkdLmItMp$7MMv~zc4Fy@4pRil1*`djEXqFxRUz%#ydt&Jc8pbyyL+Z$wpLFt z9{*h$iYKZ_T_F(sPx)q7&CBxsKf~ zFZy|&a=Tj#*t9%@vkS$Hx+TJtpA>jM#oYTncME2jaWOzC2t#oB)1S{7cn4^i320?O zLq~QCT)rWml*4!Pg-;vbdcJNy-ZiKBb6!rQ<8C=DWp&;{IJ7L#w{?i8Cecp21yi-Dk3b#PG< zbH{u0B`?KtzAk0Op?{Q^T_$GSWMXK<<5Noc81qc`KPvk3F@Z~2MQ2Bl_0?7MvrUV3 znRN11RALIM7*E1BSb-i>U^vW00bFR3)Dc|m zAcKXoWz2|K0s=O?_+6Ni6*3&-seYH@b?Fe0Htaw+0+7c{ViuWk$c$PK|AMl*NX)p2 z#1Qh+L;gf+glK6UTw!c3QX_hH=m|$8II9l-c`ShIgK=dBw&Yf(QI2LnP$Bh5RUZ`{^iuE9Eebk`{A=x1~wlc`gt?w>ykmXDy8f{&WWonI2}B*^lM} z_OTw|arr@%gn5PRxvy=xZ$2YUs;(UNTlz2AF$MMsML(a3V-wT7PdpajhRf$MUxtvD zSy=pc_+fyEc*+qA_PUI1Bmz^VbyR^2I|Dhen?w9hA$#g;Tk2zY`mmKK5RFgjFvB;M zazfgJKtoSnEX<4{OP9#3bzRtVUE?llB?gBuJYFh=iRD9B-6;w<$w?7B{x>fi#q7DS zhdt);a^W5!6i#-NvTa2jJrhBnqnTMmwrDp!p$ z6Jm73cd)BHjxPE&`B~6190IrGo1}39F9Xs zCH70&8-%;v$u#113Gtw0YiXl(FZAt$b3I6gp?2MFjs|`@JOTE!2mQDkWHgWW@^UmO zWY;fobaC`Tc^benLBkKUoB@Fcr>JnMg=&tYMIZm}d7*Hvxw724v~MS_9Rd~b`{5Aa zpMZ$RRY7|W?0FCRQKRY8leR|$tfa`(q^wFKv@Y*F6pxVnxGIe5vh~3ohci0MLsbWV zkzK_aY!v=U1?|aj?8)$PzW+Js_tVkgBeF-aDj8!|bZ=f)bd?LTCbaD}*s#mwXuFdo zhXY+_)?rJoLZX3+*>mAY|Bm_7Fb076emJlq0em08NCcHaXQjj|$<{5hIb5?v>B2-; z-+9>?qO1jFJg2sXVJHbH6}n!`7<(#gPesSa=lsnU2RSAd@o17!8`M){5o<wkPy6c?IvL$+BR=#lQ;z z%Y~qhtxXNWSLqL-9{U5!Ijvs<87jRo(8$4bYAvkn2P4_EC?1r&KB)sEgcv$swoAx9 z9lz~77mhs_wx{&{@o?NR<~kgfYDI5Lv@iJb+|+~^(@8UQz_C-w0nQik^f#0Y0MgF- z;0`q)X4i}vV^4)3?tdI}Te|b-S3okd8SIw4t40L9bKwBJ^d4S8Y4bq5h&eFFtS*IejabJ_!c=~t>1;Qy z^jEA31mt~fC9FTA{z*fYJ-$haRxhH1?5IE)AE@R4aY?)G1u14rUirId%ouwr#DVmw z=3uh{agK2vnja#bcTimDdefGwFN{dILqVbL6Q8)|^FiCsuwO<)iiK8dNcbLJ%gp7O ztyPLWBjL|i@AaaF6&H;ebIXOPKe>Q?Ivq27%Y_A_a8RL283kzmS=}W(b>Rz%isx5{ zorI%yS8tAT6L$=>T_K0175`;`1q%pKTsCIhWMeSZdLl+s3fw>sR(#4Oz&^yHluNTa zB`9m>Q{E#3Z5T?v^CfH)+^pxO zd{(eD{l;@-aRK!M@r3ACo#tmpTO9ut8!^-P98%=tDLctjF?$-kNyaGV`NZ^SBA!jP z7{cWy3HP!Y!DtGA5#Nsrnm3J)-mWb)MlY-hnA`yJ(q7}TcA3C1QA}7b+RWL#80hGM zwfWEY?oBa!8oWuyDCY4XgPRa_v7`rjfeQl+v7mJrq44;)YnX|BRaTw_z9du>3_8!F z0cAQ0@P`|i-x(JCQC6=io6G0}Fvu|SqT~;Vl=YZB3*HoC3V8mf35P|T!1&oUnzVyW z(o{z@Or<5lg7UP3L2X^5J!O(W%~xxM;1v?P2n|o?vo(}j4{r>@ZB}64TrY)>_@jk8 z{FZaQm~qpKDIfT3pPCfhO7^87eDWqV1TrF006EWvy$kls;#m)Q#qYR;BS`cePX|RW z1}stHNU-YAD{Z@6%(%(L)Zd3}X$599ew#zeAlJYSbJ@-W8rJVv%^++H%T!LzTnB?N z?Xny%J=s&xxwu-)xT(byoV6b2qMx{#Mfh55jbWQODjq>+`)2gv*eqU|#EN|@ff1{~1_FO~ z6v(co3Qw~EE(mh8hs?I0hpdBPO>YyT&ISDJ1M*RBLR?=Lvx~*dn^=r4jQGS%`EW8s ztJzKly#z;~qc#M1cV0AqtBaY27WD9%ml*&H?9{S+4Ls*Od|gauj;;L?UpZxai%_g} z-t=N15-cc53+;fdRLh76bz zaxAXIE03hfCs%d%ffk`Qs2b|V`ixTjQHmd8LzZlRVe|rwd8&!Kc)i> z^a(}wYPBa^p?sgzdc^id&~@qSr`c$6!I&Ag=^R?-8L&&ZyMP<85W2vuL&F8T;8@1z*Wf5J74b1G zO`{jgOs3IT^k#+1MDUX0f-&r@nN%DUdyVMBW6Xa zB{C@18r$ts_PGGbP%sa?`e z=j0XvQM$x}Af3B34km9*W?cUPvpWeaVhWX6&n(G$E)ajrp8MjK``8mag=|lcO&Tee z%TiwJl6kbpHpM~6ay(Rz7?^cfPnPcXRF(U<2c4rB9Y`<|I`3Gl@dsfS3DRlz%5>V# z^1yM%pR(t^xHo?wEqK|nwd^pujB5R2$Su`!1?~AS?%f}7o1X_=?ykzNrvNyhYr6~CRjwwl@rxC1 zn9pFKx-c6Wuux|Bid#-q4nJbY2i{Q+`gBSyE*mrBmI7I1{fD5#JKu+a7;k2na(#vg zd)>}LnCI36b=FHrt_K?B83mb`;-*?zP`a%%Bxcu*VLQ8zGs4daj&`5i(J>ygz46xS zQJHn!tmj(ZN)W_{ED0hE=)<{~uu)%ppMh$pOhwp(ThP;WL-6fwJ~eXXm>Kspn8$+* z(#O}ZZ3NgaM_CT^)KPjvwV~comKfRb%xF;+GaBzle__zDLX&U>qN54xF#o=%4?}V3 zm>K6DbNDYY@1;I5L*k-mVblh4>KYFuDI;}ACZ**Sb0@ZCUyy0Nvv1{*#zl5g9{~I- ziER{@j+tpsgbc}k9-iRh~LUiuTga~HCma*Kv4B7EmN{2*5 z`IE)D@%{u48M+mnbD`iAvuDDT_L%<**C2lbs9A|XDT?VHHf$ujGZjX=?PvojPh32P z|36R;=O|^)dRmqjRiYO6*^y%QRG9MHc@E!8(a-1kE-WM=K$P9#T{apL>5-k!SrYE- z8_;c?KJK!kb?k+O^Q!#PT>20!Tm-f(E*>+}J_lv6@bj3rC8l=8R$N9z5T>-%8K#`+ zyGRZh#}~`fel~i93lIH-J2HH|5m}t1@F}r-sOmBG*Tg`7V;}Xs>efju+npMn5-ZAw?30alh zENJvv-wwD+R&VFg;PU}Jj9qP9&<6nkq6737E`yj^&74CgmQYqh${hU#2M}XG?+Z-(LgHoi_4cW{ zSX@75=4}^9QU3GXUD@bwcb&E`aB+dPN__g_bpYD5*OhA7{vR)(8-;RP20utJMAaK0 zY7Q=GzfeRHQ_P+RZ~8Hc`9A@W>OFOHaafO^(Aj|e!P4dmnI#1>oeUb59Iho1Ynho1 z=rN<#xlja^8#gce?SaRbQi|)x%$t6Uhdh5SEhKi*_Lvd>90(v+IaA#^2LN%cx`*LN zyQr9Jvm?M*LwPVrC0{XT7->rjXIL}PR?MCTZ}Ksul=ifb_ymgS?@u{N3D|L_AFbii^k0yk)`hBzW@?!Qb9PX2DAX z3R4@=>T*+3pcsa)Zm|$p<82-hjV`kp7V1E)`{CF}( zc`HOq609~Q(J6}L{LkVU$5Gh>^~LSz7zZ95>>aT=vrZkXy<w7MnK|Ii+YT?L8ws%q)8|_-I+|L6ZrPRE)@wQ+FazqD5-KAG6A*gNmOA z?9+eCc9$+L^Ybn|B5LFwa~bloerFf62ghXBujk6ZK$WPg#>}!egHXf2-y6Cw@iWB; zkXzHzg(}fNW@66a0jvl{MWU5|s-T!{)+wRxTPd%X>HY zv`w)OF+Xu=kYzx{w&#o!rw{AEy`dBk2aa|Z_tmQZ(PWv6Y_$&-QTi%td2n+45k2f`;02wjvA4VH{Pi$DvNu`xz5x`&kUzaB7iVxz35dfX`Hn) zXkoZFm>hWRjGK;K4=t`&uxHn@S4(@q=kV*Kf-_dgo(9X72Ky6`0Fg;4MRR$H_Y1*^ zTf=%jcIOfh5~RG+T5#@xNkSvMBwM3ya*9y9E?s^FupR3<-&swO#1t}|XnQZ0{JQiN z6tbtmvZujE_X{p8V9ix&nuoGdO2v{I&l-kOt11wtm?MNGCX~Q}0M2PBB?@9` z2g6Ez)=U%}ATCI+2W-;o4K@d(4?5iS+fi~fo&I98FC_QTA}l_>D} zjp`$$jMk*@e+FuRYtiPniHbT`jG6UqBKkBfmk$frQi?i>h*1>~G<$#ho`C;kK-0Tj z0(c(`4T>=5Ig{X!ArfD+V)!&6weM>`TnPoyNq^927odRW$9Y(Jo&D1ABv{{;gU@T@ zitV~(efo^dfX(@@XcVBNA9a0jJ2PGB)=^`)#R%x~nT#A~)VvcFsgARqL>NEszC_^K z;0Y{0)dB?B&xYr~TK*mK=Y8fklrz-70Q11EW#lZcqXCNyCL}txi)LIXhYu(T`i_*S zu1(#UF1BUosRGu4p{^J+>%JPyIO4rW_j!mL?z=(7Y)Q~wR)(FZa#7=)=h-ere1LV= zE)8(Jn%QFLJKj{A>|3BE-j=MMTwoQnC&Bu@8vGB_ayI|lSH6%wwMG;$Gh5dDo+TwJ;{(vv4$arzPPjM%X>$NYpbCg#-2fAX+yeY<179r_rAX>9Lb(N68Lk6AZ zL`{EHNSx*Zixee)ATmLwtgrH@O4SEZpRg=QGh&wvF#LAFR=}S!6j{LkKJY+I-kTH` zjG1-Mfwh0X=_r08Y8VqKEM%dohz5Kj7%L+c(glDAE@3|l0s@ZJVDHb9F{D^F(RYKB z?2j1$L$1pmrvoLGm=GkTgTJW&P63GGf-$phNw7byej-)5yEXSNiW3tGN1x4-$7K+`Y)}mNRekVODX3v6m#hCgv9?_wS z8AUO+hN_R`4hDo>ZtOTLb*-x~&Ov#~O1H+&>~8fVIV57v^X0Ua@C|5QZL&t3l6r#& zg_~+Ew_imedlqb47PQCp)KuxWj#Y}b%!ZqFpWlH&k5<{V#(z1~9?7HmBGj-5HC~doD%)DvF*frgs zc#U%IJ-`oT3U;n<&0@GQN01ec=&j2G$~qsc?vZ-SmpcOu`yp#*mOns( z$ReakkWM0HvwnVlX#f`2jG1j4hVnu`o@M*3flv1!Do`4}j{rOwzz+d`)}29hgxE0P z3|zymY{EVk5kOTp%O3?r7L+zTZ8Ox<&{@k{5LL^vwtx*$%$@?T%(P#e z=|G{L{#nRPr&QT3OC`eviW9kYRp2Di6od2}C`7N*9DvzPnjE`aRE1_?gqi3nG{AF< zAYm5{GKq^TZ=a=TDAk2yX5Ug^=}-QAw91(2qFe%t06$S4^MD92m%uZR+3H<-YzRy= zThNfsdJZYEtirRUb!pi1JYr;Nfiz^$5llX5VenzvDC5CH}*G^)p9gAh9 zcFqg`1P>;hGLw8bYQ^GVs+d0#^>U?ZXh3~U(PI55b$53ve4Q*X3v3r{5xjY#CBbB>+sJcEDW;h7la&a?P3hDNo0WejD zJ!?u=fL`Jq?)NZoMjzmUq=t;()6goGn_~7PIKqB!v?mE9wyw;{0Tco;#q)-H!`>mn zgAZ>XppO_da!$d?P5IpMy0VkJBDM zCyJ1zhJwDHLblFv`nBP5F>`EbP=t$bF@I7qVPLfrm2z7^R|v}qN6f1XO%4bfBI7L9 zPqnhOMIVU6ws2xUS6yNwxR?@>TvyDV2FI2Lf2%i)V7SC%p-)S6_u3 zRLs(Et}fD%&;lNLl^Y4_)*`*WT<>c1G&uH+V0_x4e0R&8-Zd9OtV!< zOz&@koGsZ$kC;G%>b!!^xMkc&i@~umU}j{1r3)oeBPwW5gk$Rk?Ylj2`>lqcXQ0t6 zfM<~e)Jq7D4il;h2k46xH$s|r!GOR8t$)3Q1&MENI<_dw%*9@4Jhz+>0pw`WBfDZ2oU=~!5efmFHq7-u;C32 zPKMsK=w!fe?lacp``B{b&eq&Xeyl;YT+uG&uyBmdE^bNk5NhXu=E2B6+t&p4k03zg>NMNy zRphRz$7zWqcp4Ou4YZm90PQPkM|G{3Ikz-epHStW;XIpNrefA91nJqCZlxZt=NwdU zpn|y+K_E=nub6#;%bD)kVYtY|(*^SN%PF9`Qp}w3pCLoa0X?QPkbEDj<*}FTmMy(Qi0Pjn3K!aDs6}YzuGE_lYhEE^v{k(fLMb}Dsd&>vwzMvL3XfReZ$<3sZ?=D*3uc(#&jnc+lNO2~1b34UooSS{`DYdi z0QH;^fD1+IgO|Bn2ZMdPeh%}~6|>b2M_UrP%kY4hT`FeoQZXN5{&36n7VdvE3q{Qj z)4l*(K3wfKbXQE6?2Lg(xiu8<`;3rUNTfX zt!Kc02=_H~1%bo}y#eoF$OPky#Rrt>$Pf|p=W=TT1rDR}K%>}0ZV>CTOL(P>g}n+w z0EHa8H!^0GR1BZ&{q^fl%fOG~8s)vvM=Zq-w)I?z2}HOQk|~s{{e6@adS3o5QJx-7 z_p*OvEEYE(-9ems$c%fUM_fGO`0t2uhr|LJj6MJxlrqWJOfm|}8bMn>t3Ht_$5B#* zf^lQ_qoxSSF$3?ZuZVH+o12N2BDRb|4)vFB;>4rkQ!+6q7;ML4{)hP-d-=V>;F7f) z6{XK42l3l{u4oFw1-4YE8R=jHyNKEWsF)*5?9IiF%|~7MfL7I>QiA?44}#sH*E24?elP^h-`71`8PEO<&%{@|N&`y9fN%{QZ}P zb-~E4uh=uz&VOVbV|%GCP{lV(k)9LvA?XV z)l+suV?vfpObfeA%rhW61H5DBXFUcGWwsxp2J+&t)b`?-lVK@Kf|f|gqQiN`97Q$n zz;VM8ieY@tB0f5HfMtP;uJD1_TT#|z6deGaW(mc#unWaVd+*23dAxt+i{GsP%hx1P zT)^vSz~6ut$k=Y#rM46gx?uhDC?GA0ft6ZTMK1?nY(J#=P$d-8!Y&jO)1yq2XrmSh zS^zkyq4vXbwkIdcr;d!2sv-n82l{8Y%j2Pa-EtI>K;aoSmUS;f>L1IcqeReagp4c| zluf^uDdoJwE}r}1miw&CeXN#g(vf7;zrd6EkP9YbM=U{!2|n?mHVrkVOe=rQxDbX1 zhaI6fh7~au;UnI;p&l`)y5L%LNH)5!i0rP3c;5p4E@A-Wg9V%QqXA*^t5-$q4PzSn zyH*Fku%KvOjkMZp=rzvhk4^L7g+h9nFx2A7FQz@@$6gg>^IYP~*A94>LZ)P>*&QXs zhd}ZSYLB!)bGs!!EiX_U3w_x_vv~!aw9%zJ;yeYH)sJri-Y8;Ees3}{zdXr9LTTI6xmEa}i&^F14O`oK0nrUf-!ytbB1?)>ze`~*sXb5e z1h|XD{CY5MzaAorb^=hILn!vl+MqAk?IH{i7KR+4%prRM&vimaM8=>9vDEbDby2IQ zz_@8;|5gpTU~V%pJVEY2z5{3T$AyE1s%X0&@&No;mfguI)dbIDawqwS*-g0>vS+|u zBPKn1=+=*NkVED@>%Ym`mTiT$WNXGRRL*q5nipvsCIir%6?13YP?wBb(Cwqg9B52p zSd!!nY&>SqfV)Oad)o7SY^Cn5l72MoF-wNm`jR@Z`??-8cANi&@4U%uc& zGk$*s%M|leUq)!d>$&O~FopdUWK#XpnBi0HCxeb6%Hf-dy}giEpGHi# zcI72;q6WPDbt?}bOr^YDz2@{*yJ!0YQ&b2wV%{+@K*GL1<&L}$JXXvju^*@lgog4i z1XmDz6#1PknjKfHW9|B?7h(V~Smc+43szrZkal9ra#fyyMuqfCm=qmoZR*E6iCZCi z_Is0tVPp0fGD)gMa+>wZ@F7(hp~QqvB~6yYZ6{zJ%CR7b>aG4{TLbV~ZU-;77G%Je z*BA5Er5c1x0RuI^;_yoH%BXqr+ofT8d;-qNL#pym(m*ne?@1qa!Ema#)ai&;On@HxMXW(u@#4|43Tb+{9O5 zWosygE>}WpbL`$SD&(3czr2$H(cyTgn8%POaue7Tq`v!qq0Phrz-U6~L`bxF18}Wi z)fq0MHB2KUgoZ}>vfE~0eaOut=m6MT;Z^>ym;nTOj^Qr#m_7UDJ^THxDoTJ2wO1ZA zeD@(&WNnD9?X z@Na7GkfRZShZT@sBj$-3#co}oXKc4M!lpVG=z#m$uY2;_6=8n4d7#7?OdL8C^cXHe z46sMdJ30zjm!2ug zR?wLPSa3&>3|3DghJ_jDK&bI!4R;6t#Gljbq;^k!Z-OxHn)4RjN6dKHHYPl0du_7a zP|`D*@^e084%9u!eng4%DCUUUR$9V@*Sv^g@jwmGFS%?_Qj^5)+3!sc2CVmwV=gam zqt{oyw0sVj&wwTXT5=W{b|C0TP@TqBM=@g*&+~L)!VLLaF%LO1#nt=a!W8`l^z2tQ z*o$@RKR+7S;=cEOMHVehN>L!xuMt;AKn{H~Sd}Z}Mn{ptQb~B3IfUEL1 zkehxF$g5R!z2BS3+@(vlO6n zZ&(4_PONy}kOCM>FmU*WWA2{(%9i|)SNd@(Nsyd24Ji!VnEgmCaj-JDBx9McAc24% zUs>jLNX&qb)OYlOJt0%PBJTE%$LOB@b|o0g?N2I-gxpVx;!6ld_!LRdX0c2)-aq}ve};>{`&vM|qrgP|2T|L20URo%QF|3|nuu|%m8>6QZ*9K<65zDASBui?93A& z+Y{jWerowpd?sGd4k~$bXIIFc0BiWekS$Rk;%`jMv+R1fX=CHh7)iL)%PyT^AH|T+ zn*RCDiE?^2#_^Wbd{6Ec0Sejk-!26sHo|*wpF_@RznI}A+3f)Lykl^U%HS*J&JxS6 zW<1uFF5C<;DHb{yK-I1h1Qw^bS#fh`GzFh=C?L%LmP>ZaOBD>pXi7 z+@)ZqHWhEt329?p2fS*xB1zJjwvH6X#R-nG$|*NSVL$CI%hF!8X5{j#Mt4IdEWint zd=0bwvY=cI%!BN+U?$jmF{Tf5L92PwIy?#PN-$R0JRtl&Jm&;NbAQeaZ|p%qf?6BZ z&KdKRO%C*E&$UFu85W7#tea}tIl7f+T^Zh(OdG7Jo((xiKg3(RV zRf%$76&Vz?i>|tfm-*}xNK1_3Z&%%nxRk@iSU97o-NA6`c(*!eIL=5GH+`wj-BxLm zf{}9b)}A~JZ6kAdbe`-rk1mHc%ae9znY;S5AT6$jE10g+3X_CwedL1kxntDIO1E#&(w=W1NY*Ty{7tzWIT0M~nA>mP7S4yN3)6P&qJ1 zYy#8r0AQ)+`*#V!NVoZ3=|56KBbY}$Gl2GxDi-xfz*O?4fbv#G4Ld-{NZShr2^K)v z*=i5zb|qj6(dpTCxC?s3YtNHrkm40mshEN;*#uVho&qHVBiZJA$WPfsw!O!-Xn&!_ zlhC^Bza*#6)*N0BHzA%_aExAEE0-6Rx+DcZ7$wQQH99ph!+3VKROWy|nbprnzR@X* z5`vLz^Hv=FN*=-b&BM-m?~*?|>Zq^&7Y{;k3n%K{<9wOiL^_tR!O% z4ONRm?jG_kLh%G~0Djlx2Lei(_qdCHn+34fFxEVS{jW)X1SJ!G+NyILj zl79KKpi4jVI?Jb3Jc7c2Z@-nG(t(j`^F8GJz-49ih^DSxsJuPo-m07((6>i*SXTxeoaaBuz(}?E z-cUVB*F@Y%>@-#Yr*NDn{V2^a+I)yt4Jo1$vo-ZrEL4Vv7?9mIQ#6P$3pvqi1`2iJ z7&$K~{Vp(Fl(Z&v{(7(TEabNGT7O%=|H|4B=L}R?DoPac;<;v^pd7%I*`>bLtj!)L zjpVyC1j|kIe|^x^$wEUBd-m&pxqh#f0l-)D-PwS&YtC$$D1(XtVVBlq97brFJ{v#@ zG%q_Dna6hr|6PF97Ciaw5)|zTmuQbc4h!GzxYOJMF9nwrgJ6b)s@1#r+|@f`4!vQP zm2Ei@7b`asyELD`z*BPcb;dlIt-2?_F_L3 z>LR<8{Y68~ZlSL+2`b@TAg={afBi49XYB1ze%1{o@Z?o6!vV0U_?)w=bHR$qN8bVX zy5;ngn=cDECs95_EqMCdpbeno=P@T1oJ08@4AP4$Y?TZ6>ouO$ zZqjdN5yh622D)SGp7Zp#%TN3=X3(3~X7ldjfrsJVX~u}AJ7sg1?~KQsg>#6@R<9O8 z>BxW6+Q__&@vinyzT1MZ{9(+DTv1j<^a&XglKFMfSrT?0TkcD}6vV-ims2NVZ#}Mj zLTQwj;A)eHvSRiOxa&{+b_93#9|7B=BnQ@av*~ z6xaLsVk>ei53UgXnDb`l&afLhEr{i$llO=032;}Qz!3ZA=K@2@ef$zel&luw?juQ) z?L5oim?KCLyP?Y(+wznlJ@Xxz*e&!mDE*^;8-cdy8E}`LKvL!*10oI%s)0%%;=($z zC+$vMJUFDSs5VM6xGg2h`5|5{tIItk8En7CF9jWdVAoLMtTU1h z4F4xl=sjeHw(0xYGRPpc_BRAti=F{@<%y9$JZ3v|xWF`tLx(C+l7_I1Ri+)0qAJn< znGQX@2J@OjcpJ=RhRisKVlCn?pf#=d6nFweiQK(!8a6&2Ft__@%YIm7dTh(Y)5VZx@-z1@IV@QB<#+8P}*( zzIA})0EkK6vVdjQ0-_~Pe{)NJ^U0O$RVR^ zc<;GXr7_!6%+SixyQsHf_WU=u{Kr)K=SKtap0}fsM>#Ah;EjMz_`FR(0aVL86mtc4 zGptmX$P;=xxk@ASI2l&@)&!|oznhb%z&G^?uuYHogv|oEqbCZ+5p~gx*}47cjJgCf zn*Lq`>0OwE)vGqLe8)%>8EWP@{tDs;QLC%A-42J)`$z+l($UI%M`+M;0i9bQT)Y3e9}drfZ}JoI zDLM>8Ef(xw5Y;B3r0kE*;uvgb3afR@LZWca3_D2i8jfqbO#OaeK(<)JqPak6TgiaEu+qKn3@-#;ky8Z-l&#db=GBoehBeTwxqW3$b7GajfhnsV0Iqck`(M_5*W2-DzlX z%E25VB5M6*gL=(jqyQta=0A*?1;QbRp{Pk{KT|iOTf9-T6d&iZQyUO0`26^em$bC~ zqckWn-IwMBEeRN@HE%)VEc+gwb-R}S^Zq?J9Oz!_*0qmKiu5=D+HE&v6)z#?b_QL9 zydIkB$G-O3D3#@vRxS^7`=+9L2X9dZiUfKKB?2S8<}K*@!EiPoNXi4GZtQD%^(z`p zU=VF~B3ux=;4BN}y@Ft`r>7x`V(7WqFNflvi_Ib2R_yP86V?Pxaj2T)>!%T_2+>KB z&0EkGo%P$QDdsYP1CjqgUqq_&VT00K z3Z{nk7W0#5k5%g*%*h4|uZD^AQfnshA~uDbUP6)ZmcY@!ChH)4ph^jqlx~0j-RdjL zw7#eH4xKJ=&DCJ)n;^w6gNC7UbZl-L-p!UpUY2U{Xvm}wxB`R5bX6UwWptkwS%GLb zqIOjrV>X3eE7cB+UO_hxdi-V3U`k7qb`;8DvOj#4qytea07VolzDDUNQqUnP=1bTQ zKG~5LhdW5H#bfRs^ZY@~Keny|AaYo-%;=CJPK%}WptGjycJn~rSo3nrKXwYjyMh}_ zSmYVf0>u>GPzCMjFz)FvJuNbm#^?wDqXNKpVsgQS$0Q#p170DX4v}oI8=;d|kXXMF zpC|5B)M#2NYLd$vP?joe*4ySAHdrkAHAVpB@B1oOg{iwL1=E|S*%uQZ`8m69Fc1iT zvEZ}A>FS_j0cPXf#CJp1PTa)v>Hx*hFU>F~zL*g~`ujd%JOx38*EnE_>E}bD^9iHN z!qi=s!oKo=%toWq(oHGOTCf*-bR7=t(}P6L;FIfc99RyJfvoueM0yUt_z`wAx#8xE z7TA#bFWzHcM}rR{3wNrBA^!*6(5?zo-*hQ}fd4qHShjuNWCkoOJ8II9`0Gu{2D_XF z?|oKzQgcJwrJb-$dAm0@{~R zU2|cWy6aL9^HW!7`Pd3a)B`XQ1{PkvL>a{y9zl-PM!xDxZ3qV0n48Ph|HCl5=iG4GxNm%HP?ozyDkNWK@ZmkZW9N)rXh+bdu+cp zFc`45l&hcym3DRzIm}vW1G9XM48UN3T;&3s6n6wYBv=Z$)GNC#x)dIg2yt2MyKn|C zx0B}LFm)HEcnW`w4S3LrHIyC@_R1ah;wxzQ zKkRk}bMjRs!AU>Fn3)@R`h>l8;nF|O(3a}NA$&O25)`@p{o*V*tLKv2!DSrS zWJ&Kgw1zf{*)!p;Pw`tdQ?y>dZS?NL)0;kFMOvFPi5R+02J*EBlr^0IXFF4FP_A0U z@A`zzwPEU;K*cX3j`;joexZ5{kjvWzLuv?YcI?=2Mt#N1J?yu`<(8|dt3Ca2*E3Pf zo(JCqD*6*}_#;QKzh4`0>JFg9R_|hpfXDLr3U*hhmIIJ`KM(!~baO8(cm>>logJy@ z?dw4!#-N}*5xz-Opda}CK|?IkAV$n1tOE54cJitfKa~9%n6h~WLWD?~)pyALoufvw zANw~dxVhxK(P)K?>4tDt9yehZ3j${chg}aEvvipbH5Z7fyF|rrW0vzJX1Rc7AT^~6 zy*Pl(SY6lY2V7T!=`|~QhqYev^d&~Rv^m~P0GeyW)Hjie`FJ{jC?5>0hW-mZ2`#)y zO;(suTvW;PW)zoT>RUO4M_9Y=jf73HU2{k$r?!A~a&=kK!AQgf2ZL$U8aIn$@lyDGaoGPUqK86BISspDSe;kOu(5!tLIwaH{OKrR%MZM}lbF zvDouLbb%u1Q#(7!Fh}kKYGQVwn7Rv9{FZpvQOS?w`ectZf!#e12M%}>Kt{oD$z!(j zfk2$cM#b!u=&W+IxrV}R;O|N?b(gC6ZOm-+T2cEx7j#*RmOY=RUYmC=`RoS?<`iKM2Rq&}y#976QQGq+!LV4n@GuAuknQ+&u zAm#r&X42`7aE$;FFqSV+lXx%}l~it_R=*{6EX$1};YdGR7R$#1K@WObDZ6za7Rlkw7FtTy$e>TC3zsF zSVj{OD$;>esUlF-+1-mMh186DQngXQGQ*UBUR=k`fXYFE}eHw=)`S*2-OUBfjV8tJ(Sk}htH*q#e zI6Ga_I&{74klSZ(NjWXKLg75;B3M<)$tne+hznLzzly8hC}dB8rEVera$pX|$kG@4 z3n5%@rT_`5m%Lk8`K)Y$gVtD2vn2BWmj>pMv%GNpRsd$X7&I4*sW-(6LblZT^Ku_1 z!(Q&gfT>uNAxS+3X{QjBS? z7*lVO6@L(OLNP5%VsNOTzp!6i)GQ*3hG$sW+F5sW-_A zy6^|+C9v>^%^pA1p{=?+F zfS>XAFH0$00ekwp30BA_>3hJ|JC@_JnJp3lC181M3~V;K``j~sxuMgk+Bmm z%=KT~7o*if{CNhocuu`iNjfZr$}_&;<1$}fa9MrRTJd1YAg->}p%N>+&%y}V^?P@Xgrd3hZ zv_9Owc4HxQ%n(h@9>sz#S|CCJVS3BNMKwPAUxZ8sFl+nR`^!Mf%AXEioZV$X8%rbS z*yNzI48ZN5@LXcqW1ytB?!IVWci5%t#nhWv#UBKX1W>{MgZb@Lt#Q_J8A`fbaT>nt z{}Wv>Cd_g@XPodD8k2%&VLuOoya1CCu>I;)>_$cJ?0GJ8C$B! zP(d*xcZy+;N+2%25_B|J>syxD%74Y|>920-FCpIWJ!ZSS*#9-ybTB-`G(Rv$1>(f+ zFUUvPa+SM+(lcfL&o2~lJQx~U$?e3j*S%5kysOI=;)I!C*qy=qdS>04_ z8Ssh7X3rTR1!$|lEF+cjP|WDUB*xxNerxs(=}k}~1gg`SRG(*~cS=muz%p;Kt_{4p zEoN_89RU+{*P$`QkXHe?$ev>M9N4xTSe`(2EIoja;Bvx%8^M>N6KdrxGfTJzGAl!U zTC!+psZ)i-OXZZy7W9xMfa2os4Q+-)p!aa{lD>qxivtlWKN=U3-{oRz+j8J9l@x@% zrkKftY=Mx))lNYq#pM%7ohl7Xm74pQ>1pEdp^)wRWm}(Ju)I^z>e6tznA-9mhFoCG z(~WjYJk2A{0Su1kQ#wNI_7yUBz1_`=n0xu5vV<11$U}}S$`!IF!B+k-}%{2Xpx_b(Q0*@p|a%DQX*tuXYDkNhrhbNd;UeCE)Ol|cKL&ka&*Kw=w z5opE8{F*i6OE(g5ht+3W6UxB|?^g!C@jU(DXBk?dS4S=vQ(ODXkP~Ebuy)*OfLyL@ z0$~Qy9(Bf21!?GFqtwNZv0!prlD*aw9xDHI&0$sOub(Ht*8drDLVM()mxB8RVH|v< z6>q$L)>33@MQI$2^Hj9BV@mJVj!%Y-&(Yp@{RTZNk-K%8vu-F^1nKY8Y`nCX)2#Oa8CmIC7u{ zq1aAcf(qQv6630xDQ%j^>6a; zN1QD@tncchak$i^=Jk;A#3f~G>1s`D@L{4=TT^(n?t(G3_kV``@y7Tjrfx+#&mf%J<)-_!OqoR|h3xsSZ~1RL$xj0UXz*=O z7govLRpi?@El30mBojrKXVi+iALB}q-naaE(BZMWgB3)2IwwoQe z(DdKM$xiOM&wr8iuS^G`xaX~)5g}^;U@hgw_9;@G z!WR{3yqCtQ^?9ga>F1!bC%kZFy~*phmL@ElJ!VgTV@rRs`g@GoE>PfyyRv4vn#Q?I&)Rt1IR3+%vOrTJ%E9+&2(Rl^x=@u zGh&oF9v(766v8oQJO?0HaCZ%LC&4qLU@#Q=tn8F#`GFZo0 z7FJj`2zI&U`M0FSUL z*BsW*C|=96r`#qPV9Ui=6EDcl1ovIR1hj0$CvE~rkSx#?OO2pmewSE`g`55zE__nZ z^Xp%;swH+6}28{PXmt?c#*(eBD>A>qO6~z^Jt(5^6Ruh?r%_ado-*z*x6OXsD zUvuFu_E1&C zv1FPe=T6t@CE3upYVC+z%;ow;=C;2{;Sr?!&Prh-F73V2t0JOuYId|rUe;=WVO7G# z?g7^y1g!3wmn1S}<4urL1pZ!~Oo=Wx#eGAkFq5Kj7s6roD&a)0!@{Ia={*o|hfM4% zDaLwaJyvfTD{SVu3V3+H?F=|mCif@)Ga7RgYO2=}->DM3wf{f2t5x1;>`)G&USjXy z08fX<*F5J$_!b}@8L_5r$s=YI1{+hMMM?cy#K=O}8LG?hi*1}g;^`6hD`J+TkJA7x zZLSxO0g#FXdnQ)Vdt>e5CHDJTmc#t8GO2B6HI!5c71Z^aBPn7nchIWZpD|X^2RK{Z zYovRxlBE!15s&+O*Pg(AFj&XKHaN*TXG*0ML33_mAoWmV+;Q)+!m-y1-4_h)tQVoI zK$jfAGV&WCXl6mbUC^#)`=k|!72QD8TaS|VRMj3-E+tJ2gY0r$Z z>mxXeH@Y^q5PbCM^@y#ol&C{swbup~q$EXaQ0&C4yVyQPuiYdMBOJjk;zwdkMLz{@ z(*28c+17VO?VNM=o*IjEd%>*IWOZ56rKN#ahh4%6P^xozG~g1P!%Y}*)#*Tr8RZ`! z`~1CoArZT@VMed>4^J`n^qJQ(%E@b{>n>&?$xaQn9jM-QiU$g)J_f@2EAfc!?QMrN zpNSYfb1&&73Np& zKHq^AvXCWMY9G1PNLNE`*DX4Z)`Z}k6<;Ceqm}zWlVd^Ke#o(kKPTs*OA}`FTTwyC zPZKzRSWhJQEIn5M;ToQOsl8$ZKwSagC!SG)*i8)>;tn7|3TD2T?vFA z*Oov+2SVr(50CgNDr)$U@|x992VftB!Xh`itB2{pr&d++gkgMNXadOWY%@ugAg#fGKkdKnJz2f<+Dcy8Pel- z;>HQW?-GN7g7nW)lkNAB+v{I1j|ag zPuR+b0SCf)Mbb4VV4B8b_)co7XZ0D2gkbo!{uywp?7SiDVNSsjwV%cl7EKj-rHo-R zRRt@)sX;wWM7W7!Lsz!WkBkchToFrArL=XAElGN6<8B3DDt?K8iPKi3XHR)QsVcyD zgDfCGPUn!gj$O#io+O)z-3RRw_+#WYt#YG-&ew#6sSD-<6na5>)F{o5BYMiCL?bZiDkCGo;^veW5hkj0n$YRei} zCBG*+Xmfggc|E?z`$@nXq4NzWiMcd~8aW30M0t2;l1}g`q2f2mqp9adEtTPnLR-qx z*0fU3$+d1MP(ScsOH9@=Vbjpfeqh4l#g2COj!DCDev;)r zL{|Z;oTXby5l}gg*!mX>nP;0BtoU#Z*;81DcFKW>rgv!%D7p%{|2t%R)u54LG5~uv z1)1F9V#IJVYWSPw`i5EFWEfdT7x*9Lqs9|oHVgd*KqhGqL9lFs<5+q@^ zT*#n+`fgyAc0Oa?G<*CY7p-;S-3x+{wYnmU=!@pBshoKrNa7iU7elpM2_A7iBj#;v zk8(iv*ew0Sd)(I446Aiup>+nO5b1}b2#&NS23$8_i{&yWLH+_QA3kU7l3Zu8l7m;<8$x zGjrOR${zsKJ|ndI9+f8hA84qR=0kyt4Al{QA>_J+jN#c+$ZTfO++f)jwVnNv4)$PD z1(4VUG7!D5TAi^+>hflLg z;Nw$f5=(V}?m1dMgv^+VeLh3ssx28x&Q^g!U94Jr-IN~f%EAW;nur|$57`cxI4^q2 z5XkMof!K`$(en5Ef;}Z6_xsz|LNEAt^z*`hsU&wTES>*u0+#AAEN&=H;-x_u@|8vkvbQ8c4GQN$aYIJ z?iT1bv2?jgPAF&$DeOnU74U}~1-ZGcbvq%WtjbdDW#`C{K_NE}d2S)oD?A?M!U};K zo<%?izM_^U7t1HCRWw0nR$w1HOLmx0^&(IrexKo92#@G*pWbS`2|eTh;)sx|u-wgm z6|qcoE3?7W zbYD64ifm~6np%?_t7*L#_GNg;@g6dr+e4W=g{6D_OM8AEa*=S31cs_i$XL>;^A0GM z0uZ@U-vrr9Q?9XJQ4r9O6mPu_dPjH)EI*GvKdHaynz}jkAFxtB(`ZCTD3i--?6{oj{`(kAmKGue$6HpE!W?mJ6 z{$o$5h7ZOyy#`hr!pB|QNw8VCzeQ=7Y1wPXB1tyiCvCWxT2S21jgn|lYJC8sh&}b? zEA>^~3{NA&ECKPVu{ob&lvJrifw^q`zx9kcv7_iY=lf8W1j(C+;Q%I=1YA4TATzH4 zoHZ&6*wTny)zQ@h*lOETSHPb5a=V`ja?Ou#i+uMccSBkGbtjI_jrm_k%;P-AcyF^@ zz@pk^p|E4Oh|?nIM10{m6n&N~V3mH5-+PMK^IpF49z(?Ta3iz)u1uG*bVK?6@=|~r zN&hH3bQPh`3M!oD60yPOVrseWHx(9Sbed(yW?{>O1e@cg5%|bW1(Buo1A}M%CI$YN zp9)WWdEC$OFCTK|)dMY3WOZx5&Pz=$>9(*J5@;A#qCe%>21wsE1&WfEhdGSeL|v>^ zD_w$L$<-5Ip7)T`lgma#l7Vr1SR`Py6L`w!YnQMEl6hY=^VsS_fPWo~))rZ1WKyLX(Ee z!ula(xDx1Cc;q+p70gZWkmj~=KHt>U6sOyNWIOoi{!JLaa4+l94rczK(!P4yD{(s( zPt&2#MzU{T`C`GbwtSXraMU|53y}BF{NNtBoGNlD6)?Ro$t)ndEy&ZOv0m`>Exxu- z46A3ovSmFucs~vpm%_JmY!NdjV8Y76px3LZ4mu4eQCGJyVcWnsYpI?~L(G!tzNSxNx?f}YwkQ28E%zBEGR;o zsLV4cMbUv8VEMc8tLsoS&v~V6&p5Y-rrP>;WSMvlMITRKQ^i6ZW4WtAbt&WOyU6SjL&9T6qMwtXSlNq* zMi9?60My|OiX_K8283XKNr8bhLx z4PkemP^e;7zT#4G#J;fg@RPs#^;8fPhl#<`1IU<2*-W}hA6nIB|ScF5Ch3dGsG za>f9uJA$lv(ktWsknOoW+-?PP4r_$y4J)SiS%PNRYC?Xa_^F~R+v%|nF;C{Tv8w)l z-ENi~(ClZ0Q{5#LB)TQ0J5xy2Cj3L|-&YUFKsGCZG*5YD{$apYY}&K6w^{S*mM>2Y zst-#%6TXQ3Up!zQ<&e`Q*aVvSs(|A>ptI%K@{*d;QU>{Ls9}9Ql>EwJg+D0WD0qo zMyDE5>UE?D*J6pm3r!aa2{NYFgFi(vd-rr#Z{tn->u865i&$pD0F?@+HmrjbF_W;% zPFUo1w4O1M0x80qc!~Gh#|?O2#tzm$`&C>q6W-nYc*Kyrtl@u$^L9^nwf<$qR-1EG zM%0mjbzhr>h#sw#o}CStFVg{n;1TB=r-YSBrIyEH<49o*^*jqIVo!HsOOc6Mg{Eb+V=e_Sk=z+!b=YYK<~aOxq&lK+7P@DS0jQ!()tjjq3T!)87^4awd3R5EE!>Yqgpv0!!eXDESWOR%JFzR%2+L9! zT(u#`L!FBXv)a>ah?_n8pC_d>{em*{)F?pd#GZ5~zCiHE>F;c<2MFUcEE8M z3pd6rpo^-F4nlmMMc~NLaqweaqJfjW?l|W1Sy4UjJN4mduWfA}*WzQuneB6cs-f+y-_NlzPqE_qv!EayHcV$XYR zZ}Z0Eei~1sMCL?5J;4JO&LRroYaa_k7w%;H?uP`5Sy}?byKXo z0LpXBOK=;J7I5KG5^;VZ@;&)@N%p*)foS-k{T5$O!dMPI+#H_x+Scb;CVJ51(4`D_ zyo1=4QiiV~truwp(L&&V>i)UkIwJLmu~|;K#EGNIp<3AFxe&YkvQ}}9#jkfb{ZNUF zToOWjo)6(yDq>H3ZJTY9+a5~JiJCPUi=yY!cMh*`BKtQ;uu=D$y^4-b26!P&>q`-! z$gn7BfjYdG=H@|aZh;6pQ%uHgC^cFw;#ou#ProcY@wK@}{B$f5YJ8x@_3!?2*I~Wf z8Gm4un1!6iY|fg9rkOjC!Rr}Uv=}T&!4-2LGU#AT02gk)&=NH*)H{CPYh0nS*iVJ$ zy&m?6ABqbiMr-a|knsxX8Akzt(B5GD!9gac+q;DLSBnU`UW*W>nt&W|GieT6fTMG? zxzuH{P|ZAKI|`Pex({iswwhjZ4o`c1n{CnvKZcBDu1l4noj1f;;Oh|83JA6$-OJ8K z5MV+wQG) zeG+7x{q{$QNWdPLe52e9sP7`GH-5Ped#>tI}Cq3LST!(2gqVPHy(8R%j&hKRR znqYB?(_LHxYKI0WV$XYhhqL7IG<(B`24EI8x|lC75GODbP&N@2Czp)3`vU*ymZhW( z+xki)IDlXUidEDKnejwjV;21Xnr|TyW*Tv!8BVRTK0WdE4bGCEWWPQg3z1~EW5JxK z!A8fr%O3U>u$cXnPN2Sr2TWo*7#{Kc5{tu-sNVph;O3!lEnhaThNkDezU968=w0+_ z-PEoM$;b58vavA%zuEB-;4*q$aQ65+iPBPsWlBZdaO-oc1|D&wfcA>Bf-v$T`PAI& z)6-tx`n~kDn*J0qYr}m^FV!(i2GE(<(1cr4-9)KpfrCkyUvO5bCS*w##c=^7{blZ<0n3kpTFr&wAozK~vT(Lx=rz!2ZGr%t zEo#H-lf9+g1>H9b_Ete>S@NMxsy#%EZxldA&mtLZRYmN1uWwkEX}#9>hzo@Mu1NXs zLN4N1%y9cd-YWupW3@@MhSSG2&7u+mF);0|=zc5!M*$G_Y+;w3m7QMJbKfrxMpKuq zh&}I(eZZNYoW?&K3%jx24l;nz4inFAS_=`)fwM?vfY9;48g21S?Ji-wu)q{2_y*jy zptW9dSmqkt53;Adu}wIEK0j1LPy|t)*DyWL!TPZ_t0bE_D~A^ILQ1xV221HvHaT?XsvFU$h-d}KI57A;r^n)(M;mi!pz z^OM1aT`~h2a$FKPjbBX>d)6CUw^yI~Q}mUxypty^pfSaKmY@?VKoz8Ztf#0bx>h)0 zs9e9UH%gyimrD?jSrNm7Lj_*NkkuTy3agjp+)!3!kR z-oomVAw6jU!m+G2A~G2q3pi&C1Xx%STAt^0h+hkz0}OPQ(uo%4_PZ=12)9S}QL^|f zYuV?FYK81+Z(M1Qb$Wjs0@zW2CCSEjX6m{LU~X$N&ts8O&D(Qb~s;O*k0W4 z0-$kfL?5(RT4C?t3UGJ}`m`Pp1CCJskVR4mirCZM*wP+;X+OT-a(myW!&$OsuW)KL z8M*)fNOPi>NSpSUpKg;+qW_Q=D543tYL`8oEaH^%)`e87-FJ2)03qz5s@ z91e+zRzM{?fq7@plB6icd7m_#mj?zEF021I71kX(TnM)Y429n=3pQ*=Ts}a2es;PP zvS+=qWj*HFKYzw~69E4bJza9n93w8=tJ$LwkBGElO*7W?E#OVt7p;3#2Du8jHg&`L zIqqtufIaEW@R!dxG6RU{c%v%a(S|$EF;p^pY!KU+lzYessw{WGiOryvIE7ie-FdzN zru%Jvjy>zmxQF}%$pX25P^f6P49H)kA-WC(vgop-53}q960PMB9EI3XpLx20!44dA zmLF?i2-$z3>bqE5Q`Z|(?MvViP41HYAbZxEw_fkJjT4XstAru~1(0gvHIoIh05iqv zj&gx4U;?}C!pW$o34z($S5fDh-~=2!=gobw_oOfM7_eQioDYXsrRHZM!T>{>q_bY? z?J~XyGC)LAOmn#vuzmP*L8r5X7=w4y^z^cv5Xb8*S@JdwSHzz2=C;^-hC+U7n^-_@`2*oyd&A|v*BFN0jCCi&lGM9Q4}Hdh z8X{wI&ur&>lSRrA&IQ+t*E^zTyt!pO)L@^fA*@4KawiSN#O}7|0Fk9Z+OtbUcvJY> zfYznT5@dFIUT#fFCY2_zzBYSVUO;O!A#MyI3s>Ch!lz3LP9b~Fn_JGaPWz#D`^49q z@7;8kl~mDkFtQ0A&Wj-K-7PFe_0 z_$Jn;c?p~*oKg}~|Wksx-*H ziv|^Jh8Hi(GDu%##clK!!#wI3caE|`9vFVKvnhGX$IHd59 zaXk`&v*Wzc?*^pycr*Qr1VR>J2!WeA;wtG;qe+T*7Q`gHY-V?%?dgcqBi`qm@IRj- zM)@(JN0|r8?9G)6*n~ETnzR`Gxb;me-y?_K5z!8|2B>eiW-~=~HG4B&j`yC!0v&EcUK?Mja>^~ih zDwWkF(qI%oB%yGG{S)edlC-@hLjy|n)TAb@@mpZ}n%16FA~ymrXyJ>Tgw8T2ta-@E zL%uQ}c_cnn7oQSIzZ43t*v~V|6eCp6qQN)-YS^;OBDL&8O4z7X- z#g6D`hZ+0uDgSCj~Kg4C~cvy`U9z&FTW@>h>)82aZN=0CA-`xtl$NYt;4OnEg)H7)!-nH(g7o06``8 zr9X@{l(fmIxfJp-<9y$U=-oq&LnD7?#~NnAsKEkKR;N-K!XK60A>W3sf2%I6p5~p( z80uAj#&+kHpU6`vl@Uz=KP|{*MGx51UMznYFy?{@4#Q-}iL>GJ=1q*hD)w+s#8!O* z!f==q1}TlA6P@7;61E2nzE{^<_N*6=5$C_brzr`tSS)mWpdcPROB5;+6&%EEJz&Zn z5|9FOpFIMem~sWz7#_HC2^=!A=e*eVW6YZTC4>CZinv|tzKLXFnIHyGAu&>U<}4&a zq}Q=CfC=vRF&m%cx}Xeln+p4=Mt3Y74zHdSvM0UR_mImQ|Ay}DI+XmOE;=4`<)3*Vi83GyA;>-jz;fUfmZ z;Ylx!|2yK}+P&Dn8M)$c2wn^dmesrq~8 z884pA9(t-TRXvhlthHHvkWvS_Ccu-Zx9sm~Bg*AwkBqJj?q)!6aeS`hpiwK+nu+*^ z5(pltmt~aTx3P@GwAQmids*F2VswmO9r#sBeq`2S}m6t#Mch_WI0O1>+o^7h#Yc}9Ink$ zQ`{qt=;pm-khe!q6b!2|>30`4g00@MZl zF=|m4ibH|a#=WdSXo>6C=ic0LLPUZp0o=Rfy$a4s1nk-@HJwtQ8lxFj>2bVyDYPO36c{PDkzI#h}~0}Meo*?HVqA$ur|C&pdad!O|?+Hgrc2C!Qlg*E}@I!l_vS+wr_| zT9wYH?N?nKva7Tp%d++$F2_>y(ciT<)7D=C?o60iq&FQBf4~erD`*7>FKMeMIxb|m zW8qM~;?>g5uLCG;2=Gj)k)nF)2jW@$yB15`v{(`zvu|}gjWWc`$p{t!t> zF8K9&!gho$O+maw2HSeS&0qn55Kj!Gjt^GQStM)wkwB@nat{wg7Ar&xkGQ#y#c(Z_ znh%m51`cFh0jXEeNq0W2&~~eC3VBJSucVKXWoL{R6$422P++R zTmIHT6B-T7g4olD2s<`hiluH+EP!Lf8-nFG&`rK|$&STMTfa{vHER2m6L@woxuE6l zJ>S!-{=*br%&dvG^+G21;{2xJQY5haA6e{^5u+ zsEAm)MF4N(bGzZx%4!@8G&EE~E@)qlk=AXzP&W0jRMjaOcpi%)WxJX9Sk5ImC1aCbsrv(9w$~CMBG-Vhs^%! zLh(R{R%cpsO;E)-u1ST?ww91C$5J;r7KI#MB(josekBE!riz=bLK98}Mh@!&!Lek3 z&HaV}q$Rya)QgjheId~3nD3SeeY)YwQW_M&ENeb zAMbBhpZ*e7jM~C}&#;Sc%$o&fcUPZMZ+S9x6!@F26ij1yy1dyIT?}G{$a>aJmrDaa zLZ&fWPuUY+Il4R&&Kr#k1`ls`qnbgOSsKpvdzW)TN>IEhhQ#PkSkSVEs-g<4kWtf? z=^lIYMU=H)QldWf^6lnXATMgq?bJV2$e#Pk(dPBHvaDPwW|Zz18@GvUEjCxrrfR;u*0pZ`xV$@<}40 zES80{Q3=@$gFN2II(ikg|?0bcE))r zLm)V$lbq4|=x&j;aao2-vea_qJ|tFNQeSxIg`g#TWb4ufGP&X<0Wh@V@;u~-s&|F2 zGgqf4wV056sl>hIf(Lzufy7~$&AZXv!>*2KJOxwA4(=N$UPe~RSJpXgV zP?EnzY_Di%{~>|snYVo&xLUM*z0zJ0$E?xfN+LsT1`@A$B!%V6feeNtSzM8&o{B7> zlwaPwE{pf?AdApt$b`8!=3HMwEM$o)aIXYG;qG3f=&3W#&2f0|giOWNlk>fiPzKVY z0Y(LKvXq5x?(}d)mU=3({Npw+La?&nxxfkp-c8(_$zjl(GJVSA&cGnMV8|kBYI-bZ zhrDJiAFz;1vebGcy?>3E(K_nfcydtfZVp*YR=V8=q|7zij8=!DMeoO$^35Zj5oMue z=o^^?sIqWPmRgT~@3o=+mEA;_ci4u;Y!!iJU3AA$e=OVhn0x zZV0;C`@8g}wmFuoveZqL1-+^MW*YkIP9c7)>LHJS*R}JDLE+ej09fSU7XYv!-;bD; z+ud;Z&{c{jDmCy)h7JkkG`axjY@UlngAz@sX~E%*`Jx-`FYjtAd?O^+SQL z&eAAn_wEp6S7oW2DhuHM{IXK`^-x%~xc$*Hp4cLzGKP4U^+?-Q0cr@=4RhBeLdH0R zWxNgr7GTGgt_4(d#*MTf6U(PIWT zh{_&xg!Jrq{VwY&z2?1YvU2U}-+TZNA+ypA1!8@fd7W>^T$ZKQ@s}anZN&;3Bo5og z@yrV~97M1ZW!WXmf?yiJIp3p8dQ@A5PB)cTKP`lvMgT6$Qg>Mv^0CGIOTKLI*UGp~rd( zLBr3_g(tmDmPHTwjrB&z_B{ZsApH*l_MX7e^P*7SHIw@SUcrDJy;wA4>qe24)-ho3 znfj9J!SaN)nf~C82Dk;xCvf^Tf8j^X>$>o)*W!6yywIDHFD8)^!y*#vTM@FDk2Dao zApRNMfAuJ{Cc8$^#X_^^ll2Oo0anciy5;*^AVZhq_kEt#V^*NFva9SVV$XW*+~>`= zw&|C0Q`Xr>xe5747BU!U$d2_%A}o`zV73;^PLW5P!D98WX7V>&Aqu^n7Ji8FsI2OT zi?Y;~|1e@001eNUhYfiV$v=&HM7($wBp>PYLLCvG+9Q@ixFYtv*UqJ0j4z(Izjf2Sq~j}J z4df=O%q&1yiO)}MVfQnFytMPGz=)V?8HZB`vDmF(1%)6M)`ql2hO;K5FQ~VRvefpC zw7{hNdvMIY!RRHNdU@f4*i0BWqSa%sloaLGUo9JGGF4(Iet!@Q?>4 z)$7N;ef0=Au+W$*9X=1)^WLV)BChuvJeCpb+e2oD!^9m3m_)L{Kmq(_Z~}pPTlLy) zMJopiYAkfDT>_}Zt~YO58W%%0A-#-aneGqJGr!3K)ZuAJQAcHCbvuIz2GsuP+|z z9n>=Ve=?aDKHlP_90e)pjI7ESgJQrkb(M1K=fwl#SlE2lu`&n()>p5~5eorVk2nJ< z3{Ku$m!2Z_oYxP=LVtAujN?V0OiP)ic&dM@)5B+nPsFwW@u{c(XYR%*gVpfbEwCa+ z^w?iK=2|k6A#XEV^re&Csogt0S7fQDBFp=s_+{sWNfH3u#R1_I<3%QCNNL|}%U)*k zT(|a#R!H8D7{w|4`3TtFzv9qX>_XC9!%YYQzKV1`mU`;3yuWsKg}y&x_$wXl#kyG2 z2u>jf!E%9N?bd}15Szd#xoU320-`tRbRg$Y%uM}@Q)BsqnNZfg zc?7Xr0$ZqUUV)t!J7CmH??cgE^kcXy@kG^E?dVf3D`HQ0ryR?O|6#(Ce@<9jK&ERS zhe`bg{I}vLgV!ul9a<4v)s0%Vzjvz#v1csh#KpOA9JM0$gxC9DM$DudX(ldE7*TC& zO(V;Gd-wQFrFD$$W?}inHzdnBY7;u}i* zEbZZSbAT6m4-A=d&~P9b~7+vHfvFW2#}<#E_& zLRwFYXU3Y3g$Dwt+e5Bhcqer-3-E^d1B4EpSdy?f$WRF`v@QH310wW?>?v=PWBK>% zn7XfINT}AN*?*b#T9fWoVk|IdSH!Jf7WE<_{YH*MIvTFMuYn$v@8ZTh=rs@gpAf31MyCpM#1mdB1S5NhPf}RULa7N8ha_o)Zq9g z-ioXI#5cJdOC9O|ypMmYgK(#W(@J*)ro%G`)f}t7fkoMwLBNy^lq&D*jfw~HO#S-p zXR>z5pE1(FY1y>g-Tw@p^G5#D3%N4Iz{byR0K^HmvH~urYlZ@^_fx@j*gYLvlWHA^ zi)6!VX^S=sT36TGbTyVb&V62bE8TuM$3=vBfZLWcmajJ`Tou9g%abhQb|F`qE}HC= z?o%;wWi7i9mS^b>qV8MiHeHRSjw9)nw^=~nM z%DB1!e}80!>>1l%jq*qD;f9fAtI?v*gcyaekmo|4i9w`KUhKOiNfu5QW2vM4>8U{1 z8@@-;uBeSYV)kV~#jt%`5!-=n%P59@G~Sw=3h?!HE>#(D99a>2(mTai{`FL3WFFap zRL!XBM!6Ya1Tm(Q@#u;;i37P*LG4NqnI7ECg=4yBY5ZyY9DC9`)mY{m2lCgPx6fC6 zB$Vm$Ea!nlVJ^Af6}V8RVSfi%ulrP3#>pF|+XO3*-zv+~FNbfkL+4Wm&w2wFLWLe0SpbN;hgc9w{T2fPoR(0C zmE(vp@aX^#s(?4s)mZAL#=_3DzvVou!r{EzH(^DZ%MulmxV}BmjJA-^kEaZreRI?0 z%=T$PD3IW50>)TVH)*#F*QFaYfs*I}fse3=??>RJ1%Jez^5&89q>K4-S6EAd+b%!| zrTZxJ&F-2tc5Tf>^Mzi4{a}{WCWde*e?B|Y#BLNXT--Ysxxxw-Ij`wi(%crQAYtey z1p)rB+@Aj8dCJ?gSO93fl@-5Lo7QT6t2SBLg8;;g7b3$xqK`<#r+^4{xdUzqNS8li zp;l=@P|LdP%=+f0;@?3FGF^+M&LiW!1`OuFTJ-t+@!L3Pd>Zi*#uSo(**(lCp>LM# z@fml+IEJD*c@g3|#rD4!;?w?uC22xi#8yUK>IVYpBUCrum@dXrH!+r9AF-X@a&5*N z(Y=LnDMgbGdQViBmu9XxMWWkW2y6)Yu5T|ACq452kc-Pd|+@>>Ixvw>@sLc9!Pt@Tw4P` zDFpT#iNzgeKm0B#4M2}Y1H5(x%*H?JYI7}?I=`*+UYTRaqS`?O_lg=8zbYrBqkU#M zKQX_QPAH7@iZByXR^-G!A!D%AD@r)SPXBuIkT7LiqhJ4xLWWyI&$J99?BtZ{r@}Md z{L^(FP>w243()z_5a143%qM7K+|u`Dfp!=GZ$fKW?By(&P>08`R5zTGtdKqB&7;k; zcjte`|7S~n@PQ)!^jVi%!{U$L7{+}EVRHw}4T(^+ltssCrR}!3R5uV96`%T2sAX60 z4mCu3Z>(pmjMu`cKlX~x%fc&dUvei4S}5^OXgBlS{PXhis-nDY-}k910=o{b>QLAI z5o=|xF+EE046An_xzJ#LlOLNd#nQsr<-H*^f8C_Bh&eau^oZ!T;OUpBj<*iP4rWG9 z21&xzm!g*fJM+BVkeIy?rP5<rc=RJ%S zcx)v-_U2BPMunw^<;nlMd^qh0+W$-xq%UbVIVn#jo&Rg zA6Y3cjaJF)@)^q*Aw2R!1B*Wf~{D`6)W)OfK_zi4F-@$6%h^)RSt3dMlb*V&_0AVo!JR*yFiR<@bnx8FeoN$McmhwgYkv zZ88hok{!vIjsicibjO>8( z#D&F4c6is}nYEqbA$BMHryHU`Lx@&~BK~N`CP1-tHGWuRR;Y+Q*~Rv!5yJutNMwSC zxAuA;bX$#pGcc3bbyGwL5zY7KG|5idOd`6KrMJn{u=%O*WEcA%zIPgF4whW#@^n(( zKGL)v7Dp{)ZbC>Q{0DKL;MuCur~fU41svk$4|zkekMHMrTBkF{3~GW@U74(PAF$4 zfiNQ+!}1IWfp~Vx^{PpiM+}X(9saO-@3NeP^44Hi=795auSAJs|0E4Hh=b&-boqH#aCMT%l3|lkx6IANhIZw zr^zB2FpVYMIW0y0ZEj&_Ds!Ji?lW^@RngTY)( z8_OM649-P(EdMh88>Kl8G(!FNZpj5$S~}Xh*j_jI77A?JjuRt3M! zj1(LQ;ss0;So^c$deHOsLJhP^L3@4@*S%$B3scSqN6x&tS!>1H53tmd>!5 zj>WSjC1N~S(KOIkpX%5(SkRQbBbEd}`45}Yvik_RBi58rvh|_^S+|~^ItW7_VA6UI zKIa&lVqZp&Aol}?SL_V2lvTv`a~GjYr>n5EO@-wTBIX=Z9tf>zz0S7V1rH7_1d)QU zIL8qYQcEok!MY_1SPnMLK=ncV(=iGz!_rO}mVd_D4CM29IUB>%w$V#Fs3CZ~7`Uvt zF)p)~BD^hy{p7`_g>|vC*F8Ndu@bS%u(bStqcxe8zdd6Z&lFjA*cJumHaLHE0mh@y*O$GrI>Pb)jOZTXAAQ7PJ%~e=hK6rWmI-5sY!0rw7N-=Iu zJIf9A{lpsWW2zwM`M9)K$?P-vOtZub#aXYA1SM0%p7c%;mcNJ?PYujeP`uf6n#sO6 zT|iH7_cozZIyr@xr7*0pxiGw8X+t0~m^@-ndb$1OIYxmRA!h7JDTecND*BX02ameX z`x&cXS$==QB~MS&3}@@IfzV!E5qr|xBv}4p|It~VWh)h6Pym!bYrkM^yA>8`&AM4A ztcZbk*6(Q=p`{BRsh%F z!fr|td(zwFR|*KM7e$5Nq|#_1tDuX5w9^sVZxgL*`{p9NMYgfy?tfFQ5j3WXcDw>&G(!e;be>w@IOQ68M zJ5&6bw~)ION$pjV?({uii5JUAor(yOR^<7JA5vVl70gI|wCVCIZIfToyV(9qVX?!c z1v{Sh=5Y|&J;Nc}G6-x2q;(;f-Kv!+kG(M5m^W(Yr@MlQkw@$~uN(}8SA{}2`V-C( ziWtZNO?RTJS-KAR$)?3{i`IlBZnuHuZr>$&8~agnm_rw)5TZXDZcV=R|S13THDc*0s=hkdF>M0k2>(7&UYDP=N454eLr2g?vgHI zMy}r>$1c6n%J{o@?enouL%|Iv?0wd4PaPXI28gbLO}qsOu<~uLDW}f9z)ain+?7|_ zro8gcs1*(qRWXGFj$hl15RVI7^d?}q`#c1QT5*@?(kmBHie0`!gE5z%U{7{6{N=S~ zT_=lLAjG9-FV8;x5^%?fWPScDnZlGjoqtCsAt-q?V9QH-!^Nf)vS+(`tnu0#vh-Iv zUieV)?4N4<^>q03LRS*g=3>eZg{PDq<+%W37BO0}ep*pro*D;5$w;K-D{a+uTQ8lb zyHj}OUmx;}xQC;vFA!PU79b1*nN6^5%=a_4YH%z~m`5!Z{@KNpK%djlxK~f=!YgeP zUQxtv5Bc|q$M<8=nW1Ua%4(S||MQT!p0TYBc9}})54m*AzDPDI+sbT89(KPasqg87 zKH8wurB~W1y}}UYXYv5^3-Hmp11qKNOA(8e3y}bYH&AwPbsLEo$?0PVTKp{ht)~ny zcRM(g%d!^L_xAKo6_hI!XBZ*4$$<6TK z2<=~r9jIWoW4`=&tzfu@h@^8v&hxuLF3#bFSSY5h%SLB76SwWRuWEMqgXpMZl`E{bLV%meh{ps{aARyt4G4a(&9ga z{6ip3WjJE2QMOrOBS>5A0PGZp>$t3V?5F~ioPI3~2{|cZYun^iq-T74x=oi}X-j$q zH@b=zc6zZ7%1QK@4H2C8`H&C z+7e$;$kcB24H6qblwgk-r0jsUDV-_S(CBL-CyER|XW5z+>{ScAetS;&p3++k1ysA- zvl|``#9TY7o^^F}XkX6w#j4%Dj8mw-Jn6zTL3Z_(w$xYd$2?~KX*!;QEYjE(R3xLA zAn=$cMy7$mZ;O^&@1udH7|uILW^PnMW)c9gtiHrcQ871JMl6?=CM#EB28JjfVVxK| zc*TKZuD{Zj{>uHF(E)gQ0quK&#kBH=5&XnNf#-}&UPELWb$_aQaghd0e}*Z%&i6HE zS#hFg)It;ba6RW-qQ%_2yi7>1P?lMXm}N(*&wtXNE3mYsz;efojqgj$Ry2ZoK!^sP z&gsXw!Uje0gWdTk{+!1pCmTEIWaRNwa#IZ*v%)Sf0%C^za>)WTaNRde*sy>E1E0$` zrQ7KmENyA95Hme>8ZYaGBvwmhhZ}g+sktQ1n;;Lt8PBrgb4gRZB;fu5BRuPc1PQ1> zm9PpQ@C_k1wDKSt@&k3+kIt>pIv&H*Ytls7tV+%`SlZHHS&x~Y`=#IGEf(7WYb5*- zsoO4SSX`j?D;#1ke1S88nqwsf+g&To`sZXw_Y4_r7CTc<87OL_3G*&&ZA3Df7r0_O z#Ko7X9FdI57{cVggaPeI-LXu;%?3W+YkqW<|N#LT@rLq)IdP3u)Y1< zb2LvS%W4%dK#Q2;3Td-0;eYAzBbI}xg_x^4;?|}()YL^-+7e;8&oUZPKSOR%t`YE@ zIKm)Wp>)DR(@IDFCxm8W5lo{90b<4q575#X+3`=Wg0<87rC}TH!HD-ZW zs5VqhRLTkKWzQ6{qmS$DzDFsk!T&>cXxySrQtV<)#ZJlnHgQCT%q>b24_RaIM0GXc z#uk@(ABav(57`r7e-dD2_z+&!krB(cMh!NRl)xKN=K_Hn_-LKJU-vTV1CS`-pIe@f zseRr)t8j1t<5HZI{vI-p1;drmK>Bj|;WY{3H2V=B72hR47@q%n+z$rapVyF)^}qk8 zhykWz9-zOS@R41Jm6^k(Q59zcHd9+|37{HqR{+2vk*<&vfAm)x@8(k=J_o9$R=27USla;HaZSTj- z?2_3xx~1J8Gk?*JOk1os)a*zlgXZ9pU^y|9S{)+dYAkI$?;l$Rd{@4QoG8vv@5W56 zunKKD8HFuTWQ&K&pBJF$7Y%8QA^U~!`ExIWB|v78ipfK^18Y4~sLKRNUPND1f^bFS z@}z58uPbEFeq-(-qaOAWau}=+@Gp`j@JK>u$qBNNlwz7Im834n1v^xX$y0nn#&-iy z44u?^${5YD0$K8pO~!Kxfp|%8c=v}_pik{xkfqJD00qoI=VFuBli#cH+JQ)FS>++Zbf~6S5RygX&XMW}a5?91!%zouU zscV&Q$s|Qj&0`3iL@iglm4tn1$O5wSwWMpZw0XXO`MsS|CEai$z(^VxHZgbka0l5m zxpO*-^uUS5XtEYHeU@gC1&tkrimSKmNp+ghZ?4jCrPZTACT4boZxkF?Woa|-k9od% z-$bVE;6jeC(oI!F$P!|!ISF=QuP{XBKG_@pX#&zbHo#&kD>;n30Cy%8tlj+(yFp_tVi6eqo7ssJI)=l z6IxXft*>1sNdbHIn@{aYm!0EFjgfItzyXrg0tPtJzr?MSvuMp8!rLQ3EwM}ux)y%#=aQq_#2m&ixe65giz#DL6gx>-F?;%(?f*O$ltR4l=U0Vo!9Z$? zizP1$c-B^pNqwi-Aa?m>8j&hG6LT85gGb->(NdT&&xQz3iyn{$8rn1uX18Q8kmV{U>W zGeWWQQ{xvq#nPOstd6wnYluMcc&U{O`RnPVtTscTo)&O;VTAfS!MTwVKtp7(6XCPN zUolT1uobh?Uk_*cYj5ymDOOz12(Dm;$N|k@R=Q;t*~xslJ4DfC5VTI^_W$&&pdked z$vAlEG22B#m*?-_vY*O`P05+XuZ&yiqzBh#=^-AEIpcl#^D#FP3^m-;DgZVFzwD|V zlJ#oJb$*%wxLJdT!$1a6y^RHieA4+ad2sk+hTyU^7wB}68^ge5;4gdfPwgMYV@~^N zj`$0{R2kOh(xzqR#)wfAIwweli6w(w4|4S6dQofJz(lgRw%`2cp2L@pZj52xeKdxM zTFv>KtnkTjSxRSil=`B$EN#{vT%VJ2PneG{@h6A%zy%mHL(Xp5w=hkWF}gy8DS z(XeBScsyc1l9gr`6PPF$`S|qK9NY;n>5_kVk(hV>$ddCQNF_cSpR39sDPA3Picc+9Qmw*u52r3CLO==uLU{xKG_9b~Ku@qE*i3(5)Exptwb z@mP35wbv%QRP z0cnXoyLZ0fq$n+GnBfLL@IxX$5Kxon4Qy7Y+AnGFb9&4y4Mo3Ka5yRJ)+qK}=>XR_ zWBIdM%+q5&1~9NrewIeR>ea3K{Qk-pzy)1 z*f?dRLG8Y`AG|Ib17!DS97OCoEj^s`m)F_|zInKG)R?)#CzPCX15ikNKX9v8p)uPv zb$c;1!WFVV2ZIWOY6>BzyD>rfpf9T_m-8lMWYA%3>DhbnuaKjMe9T|qr@YY`>cpxZ zPq!>&KTFa`Rg0jWomhw}I?E9KF|?_2GTc2{kt+h*fZ|Q?(#WbGl^G8EwYpGEHueCl zOv2uKD`L-oG3*h;qI$XHFj&3-D=_Hh+Lk9 zG%7$+;Bz(HIl5EjLoSAXH8D}QW-&h_=E|&;qK9!?PaZNH<k662SsZ&|SGfJ$ynO>@ay#~?#s%Glhx}weDfo=H#S}XxU?9a^J&}CyhLt&Skq=l!ryjiU`~704mfUazjrK z*=>K#Bm+Ri_6)={)6XGIc8}O|Up!V1n*RU1l?Qr895hOu(dDzm+sCAq(+nm{S6oK_ z5db3W7C1%mb1P%FZUu}C4ZHUxNe6(-n2$;5`%d4MRAAZ;3Af6oOCuRNqletikgYd* z3E3_Z@x0j&P{`UvOvu1R;PJAo(jpDGfc5<>g()Y-#s@Fj6M_=1%$hx9pF<5_@E~Yr zKO#px0o7Q-W!&Oke7amqkLT{e&gjdGd4O<8?4)vXi^8sfEdZhbx8Ht}$cSrX74s(5B5Pn-#*Jd zq>Z+aL1T16*o z0*Fi0nntq>hTpiWO6OMfGCwi*ZNdJC?DilAxJT?aP}#7xbu@T`FBHT192jb7P21r_ zv6G%#KMBxA;5t3HXiHB=`-hCFB z=GpJzGZ{#X5zxm#*=*f&bBbiY1d}L2be!P;li&52m6deQxok^M=k~p5j_@sJ>pQSu z$W8V@*bdOu0FieWZ!5;YXWcQ|WjFMLAa4=2n5E>|SlF&jHm@L8{%IS@G{fHHK4Vx% z1F(T&_5_&D_V4`_1Q~zfT)VJ*00KB0_{OSdg$-~^x7hs~l(i^zcgvQn$p@lrdA)%h z$6fo?IRaw=+OsC17t&S=83Jt7FvF!=dMd{o2MWhoi9*y!>?WmY&Y$ z5ANODFmVQPlu#(}M?yBKQYf{XI8x+Oep>Rgw1`QdO1DxU7-c1c6D5e{nLXre%`_`i zz9U0KITn&YCWE{sf@&{VQ(NNtEj=CMPkU!y@?T8RJuI@QVIbj(?ky~tf-KAh(~!WY zg$x4Sn(PQM|FagxNrD#;&=cm5di_`<+w15dlU2ai0~Jpf65V<$(a|X?Ka(fG)b}ex zD8U~O8KXMHcdT@=Vp&Bbb&>TtP1eIzS{JH|CWSR!T}d*RdbG5#lTARdJEm%ixH6t< zbHU7U8?8|t1wQX{Q9emfU4smlaOvroesZt8tV^IgLorA4oZ$qs2%Z~$!B~oEJglu0 zLW<~1AoB~c_o?M@b7yc7arUZyl&6#hmk6#8W;x2}^YM`N>CyMw3fa?N`UXC$Z+Bd< zIt=8CmE`iZiPGeRtx5SAnXt%Y1bnU1eC*!Am%l8sJK6(UofnA# zz&ZUA*J0v$BJAF6q*WMbcdYX0ZOfyT!y4NfeX)UixeFupnydK}X`V-92@44wX9J67 zS9C4Aj!VyH_Ot)=@|-Ot;t6N>@sy?*zjsx^_^rt=ur@E|iX)8RrDtY|^YPMR&C~#i zkhL9`XsN^=(Oh@KIs_cV#2Pv;CPcvrNLPj{x%7NyKdd!=UULBH`MEiYm0DBIC(N<} zE>reiwS|frOvrFiir{Z)TtBmX1Rw=!91I40`hsOBau+-Eml0Q|q)ct)m?bZ2F?;&U zNBWZ{@5@*YH4TcfB6`G z{%gqg+rOm30FxGCz@y9cxt-;i5j+ znZB5gChoHV_4G-ASR4TStEe}uvy72wTizFVd3w)k)kwp|@7xPp$esZ6vHs)!daLDH zW)53X@}(CAL8`JHEU6Vt0Uu#OxvcM_U_$xHZnTVj_kCrsljQ+|e5mujGIEtro5zg8 z+z^m5%xf&=l=WIFW>10TOo7&AzNHgp$C!Ro&Lpna=}1bf6lp_gMi)J?vV8zA+$o~^ zBNpdF5O%cugg(g+fJGr#@;TJDMH85b*IF72N#N5j#q24tob%6K-=tBg7-7Vc@$C19 z@`lnj@=Ozq3zL}SefC8);&}Fi>h|XaRE1Zm{{f_U$U`dl%f}a#vG!5`JlV?n1m>og zSje6M%enre9e)XVaOrChGoYFy0j_cm)o-+Z(46tCeaSKpPL%y(>sA{4;UP*@KANm*tBv9a5-hk3R#`* z;@ZPnLZ%0pO#xSard&cq@PRnytc=Yi$7#{S#Mp{f3T|itMYl9wfz|s__Uu=V>}L(f z%T&BDebL7;x8?$?I>`Y#T$ubii-43?gIrZD(qLWz26Rh)yqi`>@qN}*08hm@{r*B_9*ekwfql_&W@w0(^@FbTF&1vGOD%EQaWm6Quw006lPX4)5OBBf&O z>h5QZE@`2wO){xf#CC;n?iV4EExSEGMlt2eE=p@JM8T;`pTL5*x0?qEP30p)Nu=Sg%~kb+IRfZkYF4RqQoti^3`GY9ECge0iA=AXwTRh zFHe2;Zz4w24-y^dB$n89?1jH#_S9F8(I<@dm-$w87;{HDF93P;nH=KN6V+8pBVBQn zl9snD)s!Yh4i34zSFU*z;|(%UbkDhf>&;@*Rs7RP@TBlfN(pBV6cr!oN)WJ zppco|pmf9@2jQ=_EwSzHD=L`>hWCVwbn1nq6(5t)`LLHO0jnKovn||9aA{Y5zaDbk zpYksuTh^PG%uBH=qltvfWsMbPS(eKtCxkgZ$W!2{R!3OE5M1?>Nx))(StI6!`?Nb{ zAZe#tP6j@9D<(X)>rY`NfUzF(S>V63OMX#H0lycYKfHfQ;(S)}fcpgl{;*3>=;p{! zb+2@7B}ls#>l(g3rW4@YK+l9jE?!lf>$~)wU-@gujdWC*w5kV2Ml$+Yu35Ew#r8!d zQNFCIh;k&xsdH>1Ix`Qg;sd{f6>?*bw%A2OXo4@5*a&t{U+~;EG&pN`$j>dun2vYk zXR%DHYpqz9{pQe)M{~pk^B1A2rsocsV$F%GwneHW( z7_RWr+fm%3hV%A}?O8zhzy%I!2{IO}e)&k$%Ow&;9-)yJqr_TlXeW>SNX9!LYE0j= z=MnpbjfP-~>+n?$9Wx%t2cWJ!Vme`8N4dgFZ~6a>7`HO31nmJ^lP5-@Pih&Qg(6ro zUX2F# zVUB2&N4#wuz`LaQR&{orl`3B;=+#4GEucCLU;_&u*9ZfK2-wN)Kh|V|gM2FGroU@% zs=OipA2}ZZneUZyrp`c?y{uxF{!IicBz-%&nx-$DZ|4;i8lD@YmsIHeiD{*{)oF4n*z}k|#?1gw@sO!pKrG;xD5%=?|H?T}-ZQHZ+Xpo=vP9;2umr z;&u(G=ya)<-j9JxtuG*8RB=%R=#Vr(p3U6d%#1tJ4zc=GImS)63s7&HmZX~jwCHr2 z-;cFyFI1(Nz&Z!p>Nz0{DP(ET7e21CT-6QdLNC34TQ*n>Z;u#G7~YVPvRf#7o#e{; zfISp87&;ch_aG1eS*xqn=iNd7d)tY6&=kxbS>!$NHl4v=^%|4sNJI_UzZs z><2RGuWu1sx*$Fla$x_NaH%MQwOrJYgoQTCmk{Prq5}YV zx0cT`B~X_c7ubwjcV6nKIkT2zz%6E8-KwpCBIbBif5@KvM*Ke`mPYn9B2o-wz``%~ z3#0@W89aQ%UnRhWR0&8fj=kM*B|qBRQ{snK?GJf#`niDRilVPS&FWIQ%-KEj?8S?T+B zEd%tnOBmZMTwAH{i(WpoE?CPTKq0Ir3JQRQF+dA&aO(E*Wqv^XGj4GxZoP}&6ru6! zf_%VciY&g41z9jh9c7n!>7)K>$XFJU^;nv+ojN?tM{*x-a1kryNT2FsEnnRz2d&yR z@65Qg**lDRhKC%G;BwBm6)aMmLn@V@YW;MUCG-MS8B!Xik)LWA&r29SLa42Q zC$0`xT^3MQek2zFLUa5|aV>#;6Q!6v`E5cI|38Nrq95k!RB{6lMwXt3b(At626dje z~?D9})md=hS54V$RG>S9p(x|ai{CTT8zpd~0LZYCjbLKDI* z&lhwKQrY4bf=fkJ1n@smR0*Sk@~+-Tsdlwr2Dl~p4nONYgdM;x*wJF)vz~Id>ufG% zsI_k(l~h=(YeYvM<4_kDdg=3Q{qn1r6(S43mf4--lV!hkT^U6p4^Th{11H`;#(_!K zS)yTiNOQuupfDgoKY#z=TOz;Xq*cZj0yIEAMwiLY1&FKlls)^+GyA~~`)&`_^20)K}QB3m6Q z8h!l!ls)@xIun-P%RAA?D$9!n%tGJ~X)IqN(gL*tOeroi2u(KZ`2ASC5Vk)rpS1o0 zKZ|uH4i7*(3KJyH*Rs=#1sDfQUlQ+H+wBen>7|V zLBfAjo`}^rDxZw?z^sFIlYkI23sMEl%P5SAo@J^MkdSg^6J~jR)Qxg+g_pjGOt8^; zKNhs+SHij$iaSEMf?zN}rd`bfyQm`xf39= zrS{gaO`zU+dI5dl)F{_@LCpDxxxCH7(H^yWVo0DDPQnnH9gK+_<1Mi|V>K3+(}JTN zU|{AAACP$YniSmD;#%+<$n4+Hd`WFoT{7r+Emf5mF7u+L#B(rkIDBcNm^i}=&oq;$ zJ{8w7Chys|X3HV{5zA)fLW;6k2BDeyz}fNrgx(dfmYNG02gbF#O32hJ%_5wYYDej5 zq%{rYE>Z4tm6s8YJrpRnm*FzF9477P{dLA$)nmpHk=eI6Wpy29gdU;gS4xbyALd@f zt7ZD>54oVj85W+ppjanBgZ=6(yD#xAMzuaFn$sgrN5nn9jl<#EAf0WOY{a)}3{5>{ z32%|vtXP z#z3s|mz%j%Y3U-6!*L~KL^njiw?ZdtAa1YHMG=Jzg%GE^mK>-CMp$$!i_8VS3W-oZ z0~&D(-#W?*&o8>n%ZNvjLFx0xTD3EH;X|Lg9?HOs9-bex8-B6yxpdD}P-$q+*>zB; zj5YygaMuhq6SyRQ1t)C`HHU(8IWvwkJMGfj0>QA79g4Yl%qN|z&$lJoD1dAWz0{z- zXA!3iftnt|uZi|atrVJN3B@XVVbOv5TpA!jK`4NCX{(gW3`(mHStw;GiCNg8*WO*R z;mLr}MP5ccUqIUDmy?l%I?rHn;Rt}J`3k~TWl+9=JOmB5Rt{>L^*Z+619o~Sa~2&) zUpg_;oGLjmx~s^~;JyBE&hnbU+L1&WTtPlnf--4R+SsS9g1Rr+UD{5+n)Zd)OH0!-mAL&gWd zUVrp9C~Lq1eJ*CndQ+x=fnO9f$d?FP_+u8VMXz6Apyrnx>gB~>Ki7B}>FBV5ssB6} zd6}Pn{&>YqZdFOa5>0O(4BgRX8pSzgc!uZO%;Cdfa$+hGZ*0*8nS*|XotWUli?m6VX}tC%862^rrtacseJ z4QWGI2KNRV#eWV28k42WhkKo*xr2!&NNul|i$;B`mVhlCGp1r@oEJ3^ui>hWZ{eofsyJU|TvbwTnz(Z;m?|o=Zhl zkz_6{k1&h_=3bt2k$CX1)|fQj6$WIYHe`|uIwdUGZ8N+nNy#@wH=H5f$z`Im_58vyTF33U2xVdZO7iASyC6 zOlvBDK5Hn4ak!LpKvRx|^t0nKk}7=Hco`d)S=v8u)1t)Pf6;s8DZa}@ZImhE;EuEV z!rnKByy&l!%+LvD^!%)YvB5wyRiv_Y%T=`>%XonNq&pXrh3Mag#|)!Vf+^8OUdF~{ zR?M%2IeRwr&MayL6QH&G5~>gG2>q&j&6(9!UL3maf*dHU>^ol<2GJC+);TV6h9$eg zD9bCkQp8te7FQ6ma<2ruW2!dT(KTL1K6^jhpMHi+p0^eRF;Dhrw5j5gbjRjZh?`2- z17Fn2q%k0(V&&&H5r^{&*`9TaXTJg!1Y)s2PO0+wJ{V(*;q#&>m2!pb*>7Vq+f#;? z{PO-;V{@@b81&k;%7j$JAcm$C7fvpTo8p}^~W8GZPjQ|M?zK%$)GV+o8?1g?g$VePq^8;;xYAsM7T|^e3I!GY#3*iG8Wm(If zVuis&V&>ULs_Iggv?szg@fzuyzy!U5LVo!Z}{9(j>f>QvX0suXr_w>Aa zO@;#?*%2sH#JESNMQ&fA5wRTuxOje8K?py9JY8=H;-wtKUA$o#d}kUjJ56y_>*vlo!Sv=e-xJq>Jq zvbBMI4}J*NxVU5~`q-0flkwz1qy{~%Psr5rOlJgVULj|^$f7G42#o*}PJ?>{hkBjxO#pHVQK#TZ8g4z+g9t zz!qr}e&iIi^MaAu;DtnCmA+hzTRRE1y9gmXNNXgEnRNl0OL@s5TH(qW*HK=JbwUma zVn*Jv!3x%x!5-TE)uBcUi$yI#&%aP%g=RwNMxl zb$`g7_)ZQpWP`Ve>1kLHjGo}+#U)@RO(KhIhPzTm^BDvaPYmaY7Cy-u+yE6HyzsKF zW%PdVqEzYw)HMWmp&+oczx-ioCVc4P$}Zz%F*BujdHs+HxGH-Ec3uwGBRNzgQJpE~ zD(!w}fjme}42@^yC)hfIw1w_`guqt>tQ+ocm|BaQ%Qa;Gqk0jTvHbp zoy;1uNCQw$`6KNaUD;)9Eap^YRP#njL}aE3`ieFZBn`(}qoiQxwz9dPh-3RLa58GS zk@e*>4}iHi(EJ!8V=3f>b4>Hs58(OdKNz0;HWIUj;W56IarV|h z-e$ivM4x3XbTRQxfL0Tu4=%YTk6KK+ISVVJ_sp6tk zcyukh+BFe7nSIn#z2m*OSHvBUbI=C^O&KcX2zf4KafCGlm98#rEG<3Ufz677#T<*b zN)x@_K6^oBU*y}ff#edDL|S&{hjV2T98VOoC%<|mKc;Ozk3}3Z_?#NF%BD;6L(;N6 zkj^!W>Y{Ign`{LTJg?gzoK3I*FU<7ah=T67Tu>_&FmG&Emui(cvfX}He`Fe>tGbMO z3_O{)zNEgy8_6oN!N>16T}~1RrF8JL(N&cu9_~YqnoM39RD2FHSfq-n=eR|!;YG?k z(@(6F(Ci?OpyhR27A4ZUR>+?EcAj|nMQ)i3p2cIpB`ithsECb^&?}0~NSlk{hxbwH z-e`dvW|R43Ybk#yiT4F+uqOAC{9D7>smhnIkBa-0_;&{g`#6u?YmA;yO-iS3LDnN$A+UbzLbiui* z%lO7@x6=D1TmRCKP;u1HADK|(OFCcB)B=OH2UCRqV{)sHWod+vqun`U&F-0keX~Ab&5_L&oVQE*u+P;2|%`Rk=n#g9NaWR;!`aMJW zKoMKA!?T;?x3o}y|8YF`9%##tS z0h|M|3qn1QSb~2oj&-(>hRQtRiK=t=;+ZXH@u|HOU0BHO0b?KV@`$aT5?$V%=CNSX zXcqBftnOP`f>kP4H666_fi2k+v8cX5!?`BCVyZyPe>k@~UVXuz05Sr$%FC=7QDa|? zNY5pOg`>USyZk2diuj4PP4rqpC?8Q@aiZzmlPI^_KzaAH>T6)v7F?xdhRy-Of`hX zBhr$wB1UJV?dIoErsz3K>dgxaw9mxsi&AsZymE`Uzlvi1N|Q?uOHMSoQUnC;Lg`ql z4x1xv2Nh7nFjOhTIrgF9N^LV~Ck8UN0TgvncDyBvaKBMvF0i8ah{t$+#*m5a`!FTN zl@mJCmqa`)8PQ8fz=w=SWs6HR)K!*w`@XE=4~YgbWF(I`P!gPKT3;NGG4Q$gCdn72 z<-)IKj~My7m+RO}bP3?vPE*33tWkr%JRR(FOeu6&~h2eh21JDc8tf;Y! zBIXLJVOgskGCclO#NtgeVXScbc{sKr(sJP^{nL=G9HVum(_?hj zcbje+O=cIA4snHST^)43bt&6#D-yD0%nLg&ebDVv3LM%)&S%K^&8P-_P|Yu8cnzLS zJb@yiiXqr47t7WJ@F{MP<|p>UgR-7`21-LGHLh%tMFa3kf_3a_F|`2VqsL#3wlyTwM2vnOnc4k^XYJN!1(II*yh2 z5WGvBjw5L{^&~#j6l)JBQ9q!`8?F?Y~g;o%u^#FNb8?###jn)VwyU=h@Vkc+6s(d_^+;N8*V|xGFgQUC zfhRBEsD^`Iy@+*8FW`zjw$mHkZ)DGVF`NOvaLtg*dkdH!o^FU2NGnu!cU;I!^efFs ze{Q#~l^5o1O#Q<;6@}2!j$ir02~=ghd+jU>P$KT0_F_CD#%1bza5SaXMKTnG=}KCa zbpxI8eXUFJfELYc@7qTpjjF@R(D ztQXTB@pwybuZM#1FCPzhO`@Kw7|JRrC?LTXK1MH?r3^{I6zs3`h${f>Hhfd+GW;Zv ziCjlnmm73rfAPBKyqNzkU{(cQ=lPTIknaOD zw{-YGx%!##j2Fw_1YvENGu#jl={gTYV_R(?XibM=bVDvcGn`N%(Mi z`oMk1pRgyqSoeVcv8GR?14tx{&M+hlTi+C5(dIbB8t{w49v--;wIc(}r!&EnzJ<2l zM!Garo81#$Y=0RsPC6M8EugzWD5_6=oT_UNCJp(0#)2*yWC$XzsDT&nLK35Je;e(- zp1xP;p73J-%ZRnv0657-8^Kb3A}$z$3~5J)`!dEXFU@u9E>gfGwNMF-}WG{s+KwpMoBgzl$BB4&t4jqz;`f3)E1NC;UM50Kh`*wM9Q8= zf8X(%l$rz7!ZQAOBs=5qgqPAD@q4NHOT;UOK3{=1enFm{2|X0+o!Zuz24D4KG~N5% zOAk2!`Zth#kJ|qTm2??3un~7?$ncDp@)_}eILA=K&U4&wrxXV&vEu@wa7XO*s2G%1 zE_jniZnWFbnIcI_(L~GumY2leyeR)5MeHdrl|5qC`#(FT-$Vkk41exFx+|izl>uY{ z0O*gRRzN1Y$cZA<`##255ZaA7-PDtIC%^C~Dq2D~3dylxit}yg+5lvjjn5)I!P+!qlkCZejgknLV=k0aH zPSykVl$ZJuaDQu~?IT`$yzp#upo5U4L7h$%W`oqi9=H%iIUZV2G=+#%0;w55-G-kY z+BGpjEMehf#RFEvp7PT8!-(yM1$D|)Fbe7R0N?NpVB}{FtGzn+$h-ARBnSQZtZuNh zZp%-8b$*K2Q(ih!9zMAL^NS~~pyS2s?ACzpji$whos8!g1MH*Q=TWa&1xpN>$??aH zh?J!HRi&lbVc#r!|1mt}um&`8-EnCjk zn}?;%#pSIpTM-icR7_8K`AB&TI{x=J52^q3dHc94V23bm!RMo)@AtGIkT{uaktU)i z5N1RdUiA8o9g~fz1fnh%F9Q}8|l@U2qk}j{a8tH5$DS8yX2;l&QKzhF~_+EN?%F9Q} z8~>$rV-WnUJRU4TYY_@6$Q0)jF^DKTK@9M6Tual5ZHN1U1z?*)=NOMP+$R?r3xze6 z71L8*K2qKcFG)JdsM+cPP=R`b$GY9<%#(a$Lr}!_?iVrfdF$-g(Vl0VAxc?Zfbe&( z$Dk!r{3^1_@>Ol#Kwk|@3Gj$2K^Bw4PUnxw_dHKkB|JvqZfLgG;vIA29TBpa&MF^HeGgM^#t4b)( z>rhc+GYx75d}RMlq@JGi^8CY)2cBtc1`;zCgp?m2K`FrFlUVRA_7s9-Db5r6oPiWN z583`RstI+;wR}cG)018ae;BddVNg;Bykn#^`je(ni4(OGkWN~I&DbPB=(FRl9zew# zJGLLl=@dNal_TkKNxt03B-G2d`e3B^KmA6|-)bSGA3<8eKD2b$<|Bq`$=RybflW@3 z6fp}JEMBet^&9zq$gt+Ddi$}@OTn{VIkH~N>7}&5ha3e-Fr2`5nZ8PrinejUb+B}z znjS895P-e0IpRNlLPksng*?nHaJ8oS15_4TX$`#8{HEor50~vZuZBq&>8f z(%Y3Rw}kIsC5hYsE&Y@JU$RWBrhzfVT}4ZT$S8R1VD{jP8>FYwl2xZ@h&mU^4mkRT z`tk=Wl!B+dQvNXF4ksDsX01jLxqSBj$SvWEk&v2RJJSkUac!DzP9z1Vt0DWBKg+Qc zJnfZwMEu%KGyJl`&WL zcKM=)1bGiCQ5S5})~NunuBAc>p7u)HBmURh0s)c%10S8bVmbJ^E~bR;(Lcvr-K!xu zLRVf^f#{gg&e4ao3}n5pD|uy+6g=;hzK1Mu$;)+tXa#0k$SRW*tLGwW<{S($XAm4gGY%_&&r!yd1Rx?{f$xYXdEFph_IpzW!};P6gs0Um7hsH-r3Zla#tFw6+zp!+@5f(&+H;$aw}3? zUF|O{OXce5iLa(T;(vt5PD^iu)TIuV(&v7I32k?B0}~eFy5Cww3u)-QLi}qg>k&}A z`VZCe6g}(Je8&5BBPYrKppys>2nz|Gr@b5CYr4cuyV_F(SMkuoQyAY#d-*C!@ z2$Li4XF@uhqb#I<F%sLs*~&3K$=tFuP#WOjzhc-PjHlmBj5<#UYxjKcOg+7iNl{^=dsL z9&ba7-$2M{0)PJa@U6nf$#PGFF0ffD!;>rxhAv2kRdGVGiGGT2LL{exW#%l)EvMml zrHDQ2)wV}m<9`6t=O18tc1Fl2cKAX=!sU-LbyYWqO?8$n16eO3;dcY_?qk7tt~110 zI})fmDu$wGz1okE+e>izn{N+!d|%%PXfUDbz=Xh$@tI`}Y^veIS^mgg42hdoZnJeu zC{f3vF@2-@_lO%UrXu#FSH~VPoTMMI{erMSx7_Z~1RM(916e*4dF519AzTcPa0vb> zp)gqVtjo+WO$mXN+**D z{kot@Lf}Wwm@P^cL>37gEE@cL1LaW`NuKxGk@xy54%vEoZU@vkp{=piAY^IDqTDMC znS8cK!^Ougesq1BV5#?Y5h2B*i_2hbVE`~KN9D<1GHKIM)msa5#quNXCC_`Uo)Nzd z;2I`~U}Vsw!2C%ZH(V1~5LD*0S?^vJz^a4EDQHyIt)r%PlLaN*EXM%wV6Pb0Ic}1~ z;~)p5;_vI?qgI}h=e>61y%GNdT`2#c3$Z2>)tohk#aJJO*@*NznE67bycTnD#*yO%kc{i#!$1$aC!xo z$T}L=2U$^su!A}kvM0Va|1f00oUC6^rfb?(g-^%{z`T?K?WwIhIY>(_dF%9qjD_lV z1cpNP#Mi?ghDVT29Lm^x}kdU)o!1Pa#P zUf5?(d_DeQ#ATogY9U#45RG9;-q(ewbA$Q`1ynCC5`MSM)i-b1VGs-zw3dTI9^L(v zJ@55&M*MOm|Mv1(^YHEE!+3>3GR;QC0rU9J$z1IW<$U6EOxtUWf7`Ol5(kBQ+8F?XS*j|*96`X{B>5y zp89(G%aGlA#m;g>=m2i}bC?mBQVC_r{O(e@89F6!;4HW1)1ioV5E7|67tBdk$e#Q9 zk^5r)FFjwWKa$_9a*Jp|R!pHkvfp&DP(iJrs?KwY^0>P|g6nZYr4$}HChuy#H`dv6 zUms`4Z?Kl%L;ikcRGK~{x2Ii%1M1jgT8-NcT`;QVXwW4@4PpX<~*h?;^G{Td%NusHKR zHGA$G;eQC3H6x8CgJ3L~Q3277!Or*dzp9F8*D|DHIQMY_1O$Nfv&%j=#J(C5Ye@UZ z=WrIJZbH(NOjuL;`T=aOSy8dx|nv-a{{ zc&9oyhg9wODrztgr979gwN`mwJo}9!`>~mMy_W~R7x>9wMuC#AOH#uloH!Q4rRT;# za0LZdRNHXac&s`y3sVk9B?Zs*l%=8T$nRT3TZD_rJ?^t3G%!}kp8m#@{;D>q|KTjN zmiay<5>yH8&H~soJu;%wYCy`1J?T9Tu-Eg4XFLOCjA*N~vyd%{-b5A8exn>AgGczE zLoWNdP{>jt?TmkL1ic(#17PVLnVNXWR1 zD6=m(MPnsqY2z}6&#F|`hP~=NRK(RI-Xt#d!oP^C7Xj8}XOCqLTk5J?i#;wbtpyVQ zmtIqQC9!5lIlrMR^GPJAx3R%+;_M9up+Lu&q?GJs9A=*?JzbwAZN>&XIS~g;O|2y}cGyUu zrRGBAumO=FC@5#Ap14Zf?@L}o2o|h$*usycqC4>GD{F(L4#zT6-&(RT-d2c%O}b`{8nGY zo7=16kJmN@AJV={zZ^Nw_3lj%IsPvpzvU4NnXJ5h1-#)!hT?Z9ZO-x#W^uC%E(Jc8 z6$2Y$s=k%0VMK$3f{t=&l@A}Qx; z)E4O_gBPgt%p=k!j+85oc1Q`1WjBM70ZTrg6ManW*uvTE`5l{_T%;v!#s-9JpY?KI zC}cq8POUO4WNlF|2oRO1*nn4jr5d9%5K4)T&5*`b2dN*>!l=Wy1Qt8 zv=O4RQGJ2l4LYFt<57j0qF4-;TpS|*=~WA~B5c^2tkbxb;m=yJ?Ah9W11JW3Ns5og zukOG;#q6nXvodX;^*olOb z81@~JCQiDgC;8WH%m7|Sz66V+-DXdd{Nj^vT&M!W344vRCD3DX>k)hA+oa%yAu4Z| zvIUzM|5iz0S85{xataCI zr8Ys9EFU2#p)Y?>;K`L*Qa(+K^%DGS3Zz7QyVSbO} zuieWy!|>%tGBUYVOUmPndCoT@u!fLtz>L~1QM84NHk1z6t-Myi0O9jDDwQm00Bm=4K$m+Gwtrb;7uRY@yS%z;&o>AL&-Fs>*s?QT zooKwNT&~oZ8L70Qge|*63kgwxppnIsvBCO7Jb}n!Z-!U+Pzpv~_0Q@_90JH*{F`)L zaDz<>)U@({dx!j(r}vb{)9sNy~KC5mb6KK|3S#;Q`p^$D?2)H7>GVy32mZI3!!?* zcx1%5%1mbt5whLJh)noXP9!0<*DlwR%6ZY@Z~fLtCFMUvmSt6#yGnfPQzkAoe92WK zBEU@K2pZd4yBjyTWST8*FZ`=k^@(?<2HN4ljYxQZe&-}AWY2%)yyyN=dss@oLu+Si zvH<{Y{PoI<=dyO;_QABfNSjkaMnlGJIy#C}VePJm_!J7+6JTk78?p@hbb~h(mYx}6 z)Numo!amkrFL-V2AvlNdq_a$>MadW$0&^%qvS`_E9D4uvVsX7Wv81VD{iIi*^rec@u zwGo;>S6z&NE*zSSFfF)?THxC)=c+B~oAx&|iJy-dFa#cwT&WcarsU3AOU)NJXIzgN z=L=wY4Ld7zdc*UWt*$OfeGJSoS0J`Kqol=#FHvhU9xuQK``0}IO2bSsdjkBX{tYYW z=VP|4r-Wq1$&e~@k>wM#b5s{g7)w{wo)etO43+;-%?6#} zp*gcCW6C@(9Oga!-EKt5rCU-x^WS{aSBuyWTp-gdT{A;L<%lfIxB}(H%q!wU{DkRr z5Lg+T)(6>unuz^gxa=?@^uwGmm>Nq~W)U)Ek&cAe!UQu*i0Y+Wyd|Cb-+vJ@KHtED z(6D2{@Cms=-{KUB-Kvl|0r=7LF;+tdt@MKGSls9J@gFa~x^I z%AQS|H-N6+lIoEFu`hh{&JALLE`uNF_0R$@oRiVsQ@JBsbL&R{bv6-B&^~^4B@k5L z8)$pehd*Wviqkhaltd>58|7!no&Zk;aJ%l`Cd|MZE~po!IYNb|6$R26ddi+xQ6v0$SUyeG#OM z`b9&48+BgPW%ytYA#n|tR8RAZ^#8GTCdiQ^NwU3A4g|hC?tihdr|Jj*L8NqvFth8| z{AO2?Mufv{)8);(8WvIA4mGHC3U90_SC6!SNP6dqO01KPE3AuDHN0F;nzj*jMYGwUnh;Lw9B z%QFBImg7v$OXwh;a@>ya%$G(rWv;p@tGML;NPtDtq3@7caKtYHx>IKAoVvIqNq`dy zKtpO)H8Y>{Le0XkzoF!Gh7U2hq7nD&S8;VLbqRAUn>ZGe($D<%Vb4}^$vyq=h~-WR zycbI&o($}HHTxXQNn3Ixt)#$CH>CD4uq?>pURAy*l#Hl>?Bx}5R9r_b%OIS4w2*8O zjbC&8T`Eh)Z&}7A_xvwIX7<^b*2R~hz~98-kQJ&80M)TCXFIWS@@|`pbCO8jWbe~| z%mpmtlKU~4y0Z^u7$kcXhc*P36IAOewZG;C3FK*2Lg{ZOy%sA(1w`w7m+{ZoS@rqF8eSy#xWg{9xQ1&F*kw1gtKG7KQBW6Bg`lNMSaz7psx3?L_-_#`b zeiw2fVnDrx%9Iub!o_Jvls0^lE8t0tY1gTUx~l)s4Ja5;MEN=vLHy&Jn=Ry$$NmWU zRR9CCQ&w6@80uZ+79l4Qocj7ZmqmvLN>#w5sG|q`xh&w5L8_I`hz9})yYQ;I>a5h2 zs)w+AI)2!7WDB|E@o*!;hyLef5uX#ezM@;%ci{*bA(pt*A=qk;A_wTm9T{p6`)dG0 z+7XW4a40f#p3+jra_C$`!;0h`xjYH7JwMb-~0r z%P*0ueGQ7Fw!Su~!kUq&IVT&MIttmi9fj<)H`>1p`M|k(U`Ws6k}CSjd(HYAn0KCK zGRJ*G21q|=&9=a7#Bah1Rv{;e|0-nXz46E*bO8O;hu!RRZ{XcN`?}-M4(C>;$=a569JeySU&ZXqH^zU7 znfD={D66TKQDjL*F2{$x?vd=1Q5-U=&8*P-rFIx?(cp?9qPAws0DQHwb#PIT422w* z9fx_5nvtT=1mAKlc{~yc(2kc(GUN6K#?K(6N+f9);$=vH=HSjh)LUoTdwjp*E~UQR zFHRz-g!w2cFR8Dk14>iOw)in8q_!Xii>SSU9tq{6#s)Zs3L=;(O5W6 z5jOr%FKHQg*jZTW1nW7If;5Fp2#4i!xHTw%JX|iwOb96uDFh3crKbbhcqnG)zgeC! zzqtn#U^tsB4C=x78_brfjKL~ODgu2NAUXPRp1M*qEv{4`!w&Vp1e>go;XW#!aNnLQNrw2*TEdgx-A7G4ABtjj3Y_g3bNo_2W5x~u z$X} zagf06!shUgKLMDBxMET3=pdE zlPx~=ZC@9SC zI02NAI>A*t0Rl6^_=|=ft>uNoN4am^a!!Cpx`!Oa$j{L-i*JB^9n`*t_4sN7a4X;;;WaXysAS?tVO6|$4xQ6C|X_M(c( zCsnrMGH3_^?dzfgbC2hX^^9gknYFnnofRH`x(c`oYakr>(Ni6_nA1A2FelT@+3r zd2K0?ikyc+cIrF&Bjomm52_;o(xEo2iVuf_kqsT;+Qu(0a3*y@0yay-34&#J!Hu+eFyh9 zZdBCuci%Y81UQ>aJ~7sVLVWWR;C58)sd4E4A*wp%2b&%nN-|%@dOF#>D9#u%goG@4 zmr_KIa>#H8FxU7F?ytIWBj2@^=vGlmLLE*-lQeHT2i%RK*^hc>Y83x}No(4Qx{E)n zj1@-Y3VOr{`RDSwNZzFglzj_1*Ozqtw~*&UW#W%|MBX!ck2s;)r(d~mvf-d#uHvi` za=clfy4+x6PmvrllJ0je&+ZOe`Ytq@_mJ}&n=6+A@^5BvLutO|7;%qh$u<`0yMXz6gj`;9 zJHcQ@HwT1kXdseBrYySTOT*loHyz#%=1!>IpvnNo@|q&n0R)r`%)rGF4_dA-7zPm! z;r<^2yNb9fV$q{MZ{P8PYX7?eB7T7PV-X(_pGCrNmuVFOGoRwVNO&2Oz^=IqW5YSO zHTMQygoFSQql~^q3FS<}1ut)mB7K)q#E!b|i^xv@IpnhR(m!AM)1j(mt}NW);NM)l zoha;SIpUb+D2Wv^DzMuek6q*+N%nV8@QZrYm8leRcgXp1D@WD$pF_sJ>`DIwY@Olq zz>_Q;6457QHimH~v*bFC^^|keN?#KU)pVF1jbRX4yvD~%il`1d+09_Y=fP>ztJ$J=b9!kiv!v{-Vk~}<=1Otm%a6pzZsTVWmtbA-?w};V z)Sa4d$Ltad6tHsLD?h~GT7^VTZ2$=E##m*C4#A1qXN8=YtgNwjmfO5!IpSt1FGjkh zIPv9Y;(METMn;tk@%j(*2C2tkVi&K-fgJ`b9FMhR!X4+ev0AdXY2$2VLQeo331Qk?n9{x}%>8=V&a zar}v({cHEw1e%1a z8L}bMYCq-ESg;hQzLM@Cb7Q~t)(G)L%O)W?z@Bk?N(d1&OMKW(TVGzkg!(%a+sPwC zX5wr}qNjr7L}CNSukyYv;JP2@6v>gpJj4K<2B)GqGd$TU&V41{V~(r;jb;PqU5JD$HU8DW^0Xl>=3HxLT!Pb#u#RTge&eys^D1*9eKKBByRSM4`sVU z<`lAXUn!5n++O;=#4a3A2#r2(@NN)Pmp=fGu9M2`&vKFL>Z}nWMY7{lD^sk2@`GJ1 z?E`^CB;#RlBtjoFQAoYU#RZU9Cu2z8Qz1L~l}GYp5cGC5piC7pG4d|oX-Z?MybUDY zSQ8ty4CPgT4V+UdYoKd}!DG&d3`hN!SInp^58KftWOm$QFjYnP<6hw@X6L{1$bZ~1 zKSO4+DgsesuhU_mW!0V>322C!=>Q>j**e81D|E||=WP^@_yxk;8hx*j0NFQl zROL~V?sXM-+?i^xtMgy!U)S6loHjZjurzUWhl&BwiqsenQN#gh>1M9A&@VBmD7cg5 z@tM;$&<5yP$M5HzA4wTX?J}4=eU`a!5ClmJ^MHI}c9~I~0Lvo*a;dzW45ZfL6rcZz zmXB-_wNC^O(}fRROh3rw37OxDD+B61pVN$_!~qBby(BfOjShQbyR56(eY76)K*wrV zGLb^5kN`U$ zXH&76R5OE-j#3#0%#at_Rp+C!js;!k-|}f@cEm{3^2G<63P0v*>3?5=T zh3EV-60gpG^)dK-6*xnXE{e2+LV$iD-f<<9DBQJ-W`b5N9v%-?z(<^{Dl&W*Ie4O! zg#7O=f0C5|u@EY2^I%IT#oYN_&g&1=V4+k?a{{dW9y0>YFV|e8Q+Z9tw-h}wN#C=v zS*YrR^d85#nzHCFQ>g?R;3XF(Jwyh$x&Q$7%-r>R-wmTOQSeb@r{&CniF7sBtXW|FLlNtS-qKHyv0jHQAnW=Gm33Htf?e0 zZ~}&(qB2Ikb&h+V%>YoxDzeRV$S60(|FG(L8Y&Qn6k1Sw5kurpM)Fo=MsotJ&jk23 zFko7Tkki8v@bP=>DYRjnRihnl@Ft3~~JD?1el`}IPa^&NUXR4nw zF`VBO@{WbXvJlsP#(Tf!{MR1&kG|$5%*^6Cb_@y}kwnqZA^YK@3 ze+?OJ5cod4P*|Be3UzLddPVAqNBMHe|y(DovSCFQ6gm>fs} zv_wE6c7!h59Vx&@A_+G-R2j_z*Ha8l-m@h!2c5+DYbFZE~i z5C}A0UlX_iIx{#`K!?6EA}mBS3rOh>0pJ=kGr`5zuhAZg>8{o;qhoEPqAILRSa5nm zVuw-YH}EYWNYFC?NOBEe6vIfPd={+H2^LtuYtVv9T_R*;Z?>^y=CI;U*Dha z-wP3q?*RxXS|l?vIT4(U1nV#E#W(;!M|aJP;=i+(;&<7{9rr@phjJfKpEG1Qa_gd8 z${h+hTCuoF*8BcpRF>}a*B=wm_os}&%O<#19E`$_zl-gMRxYwZQCA#IRYpb^k5ZS7 zKcaqAz%i6qO8M{0E^+)=HRrK16k4qNelvE{(zHT`L@Y>q`Eonp@jJPf55^V!) zQw^-`PJg{TLw*CkfJBWl9l=9#GgOkpAs_ViOqX{7Upfj1@JXG*PZ?PBl~r1;=Ut}R3dJ7FEl&kDsSGaguNnP zMA%Kf?I_z+si+{0fcW!8EJ0G6(+zAW?Ptgd3AJVVu}da|kmIR-+bAkzXTRS5;X_s( z2;A(TKt<%~n%D|?*(K637Kj9#(T2_(Kjx&O=_$kEtNUWE4s2owc{uy^NB5Wd+g6z6 zFQRml?Oi;+U3x#VaY1IGN*hxNn*~3)R#H$c?>jTW#r8&fne{_M%aQf?y^p~)j`i}1JAg=yZFi*_e<08Y01BJvm1lRNh z$?7PU;5+ZSm!*8R9c{5~(WcY;rx#EFM*SpoCgg)whO=LPWIxOkUQPy;KdT;Ls3Bp9 z48t4;;lv>#pG;vR0S}6D9DzY)UD7o0)+1Pa1M0e$5441!dMw>47GFvwfgLQC0#4{1b9r{R7JAa-s+++c7 zsH6;WNDyn=*q54za*qn;cqAKuVuyVCJCxzr8dCY8o&s1kt^i5wW3)<__4W@LTencgGGk2hmk^- zz;L&*)FmfZhST48Vqe~NJXy{?RZSZpRXPQ`1#|fVdMH$g3b|o!m6&6IRo?48WW*{Z zG`1V|iKusim*9;h)BmJgqDfnAa{(2lwyuz!{>Bsi5~a!8jj;>T;Qs*9$y&0qVnXhR zqpKEs(mEo!BxjW*6N%3y2M_HqPi?NJ9CuEe?sS~!=%?m!TT9J>d?i?p=6%V*h7yL< z*B~FeqrOS^V`uilA#=!1f8&wZm}%C;WE+_ig}loOQ$oaD zYws)M!u|xsp+inVgxp#GW-E}OCPqKTy^PN?mbW^~Onp7Coz8yak^N9kdkdN4f>|;p zFeHP+3b0KZrX6EWwb*idM2`ih>d14 z`U~wV<2H!)lQ#{Kr5f4p0{B7Y=xFG|ldleWr^o9{7pefqD69H};k5jvFYwuP_M4B< zXYX%FF7~AxJIS<`&K72a3Bm%BZN@V8Gb13Qe2lhHyU?}#vIjn@b~<*!%uHu-Czmpx z+Y+S2qxwm{mrpx1L1PH{(fdJe`Af)P)(?#uTC$WlC2^A> zIZy!ZpuEP}`{ANN3(SwfEMc6NoO;4VIYQvgysqi&H_O*q{!J&9nU6uhYh=bo^?7^B zN4HUSF%z3k3ZVGXxs$T-bjWc(@~f<+@Q1%Mo&Dw``{ma~8iRJUwjzsA?c%^k_Jc}O zRe2&|!01J}Q{uT$6f;`qS6f0GC7F80Y(C3TBSu>Ef;CF%UOW_tGK}xDEJ0we7_T#( z{pPbfy#q{m9w97I+p{DHT4nAChY`^`u8 z>*K}RkFp4R9CikkJtPBn&N4K_gf9vDc$7t;oZ`doumga2=K8thu%cuk&m^}sk6!3A zHh9DeIZ~A-6`)e0#z5CuPZ_kRA;E{U-+W>}`y1|Byd_iu@N{K9QupO`JS7dQ|HHvR zXLK(}P_U6~!jhd`Nkw!VuojG4Uvk_88yb`f&A@AgoR7+{?i=G{6;uvqzxkE@UW5>s zvTk*W_3$SdU<(-nSX?w#afhzf4~b8HF?2K-{(O=jXo1Kr$RFhOkiikbmiKqHKnBXj zL!fDQex^@pzI8bH&Bx*|zd57B=G(dqf1?Hf-k@f+U>m^tk$H-}2QYkvWxfLtMbiJ8 z3FIbh4?DQAhWH>9nc=GV0Zr$0jp9*LVe6L<1chF{!@2Kx;$Ge&PMFtj0K?)l-Nk_w zdyZ)pyZ<_p0b&%Tx_xB(u5;1lEWQ5C;2Po*} z>fzLPJQ}|v_qUd0P@YwQ(uJsJmRdVG57$SK7PDK&7*l1YIZ+P*#=Qn|kWA<~GX1WQ za`;KLANso7$?)GHb?6yW+AC!TzmiOA`$;`jNLqiL4YE zY@(K`WIZsn*m(c^>Y*Jr#p5 zSe5ajvIHE%xT+gYyZ1}*YDj`_A= zg#d_lL@pny?Pc)~%zYQzg{D6d@)x$e$<#}o9qzv;fh zs)pd-c;neOi*pTBgcdF#h1&C}iinU4trC#s8-NRPLR;4EHiMFjnE7$Kfo9{Px1BB3y=DEGY&hjqCM; z%r!trSA2pN8VYv9%uBT+YYh5FKyj$6Cvd`xHHGZdcRW(xuYuwe9c(G1oYq|6bCemo zL=rW$qIA1yT?yo0o{Cthj}v{LAjVmLDV4!MqwkAK6ICL( zWS$#joJpHsE#?t#x`d+R@+-K@9hYVp9X04#`jws*<{E6zw2=DMs8)%* zpc(WCdA>-?6Y_xqX_7wGM36({fQ%q*7J|2^Bm&7FzXEBOF(T8dPwtC6BF`V2Z#m?h z$w;>_CN@l2xIT7VQNON@&zd+Z(wfJVL&)b_%BosOm{kTi!5Hi2mcI^Gj+@VV41(@3-k-TMVM6^1? zX@J1mkMB}`rKD%HFEM4zR-%RC{AhT|TXS5~fCxA`YaF~XMZ6xeW-d`dnVb*WP7v{e zo(UQV&Laby3^SK1l@|mV9uK*^ZXBZj+JI4mLnrMXx|A!`GpbhcaEhyYfQSq=CFC$b ziGR)oxI_5{BY5PH0i$dv?)ZwU5)#8wvtrM@1g{rGMjHu@$fu*=ADsO$GAytgKKESElmq;j~vsHl1DOMNm<;}8+1 zO65fk#gCE88>UYpbrX65yBQ9KDN?|V2T?%aZELO!SBpLK*gG}OZLaLzi@lP39S&qG zX}K2RGd{jzv{{_LW5b$9AxkqvCs`^lMS458bFsgii_Ya44K7L%XrIIP{)3t%&X4Ec zR4VTh1uNjudi)xwAASa&%v`v~IyNjTVkYPN>Z>J(t~3iD7)4nB54!sNke&I`{uS}d z1;<(z#X`ymQ4+PF;Fs#lJ4oE|G2ZcHt zL!b;HC_&Bq+UeBfyqD7de8ka6FbC%r*IyciD=~a@ttvPi3AA&29jbK`6VK}rBc#RX z8=V zJK0de+Zl6!tD!A2F^Q z%vKB9u!!YetAKz7Msk~j%#iY0}PbN4*DgpgWS7@>n?{trR+Wy@;k_D z6ksryLUz_mkF3|;LzZmPLOK<_Ct6O1F4&I`65D{AvEK?f2EmorzewNR z5#tTK=7z{?%KcS$%0c7k{EZ%rAF}mb>Qmq4ml4AN!21kyVczmPWJ_A{WETQ3%MUI9 zEsk#mSe4l!Pnh|O%$iUf*Mz8A-=#kFU1*43vfhLhgN_kC*jO4Uhky!641@p`?p6b) z?2S|-LxMx{+2>P+^ba0{(rNV~6(+*Tzdsl(vPp-#5#{!5tAJz4dFZ;ZzDs@TyS)2T zq9%wCeq6Sg2+EK_eKqqdfJ2>^SsmZlq#epEZctlXcXFn7kD|YF6RY7PMg&7$g|Yyz zg8vp8Mbu*)a_R9qs^PP~OMU9Q{5E9iBH@Bi8`IT0{*XyJ?IEo8VQheUQ$9XlaA1Vo6i;DOO@=R~MM0Bt>XrB5j>uTq@ z#U%}@Elc2z3J#Jj5_kiBA>@$KHPnhz!Keps=0&Asj*I@^+K$27HkESV96yIEd&-o( z`NnYS%TJg~I^LEeaRen`K`>mBMSFIjoY)(&N$PT;U<{YR=aL}7I>*oftU1t$H6{(5t$J56@G0l`W^o8Ho^7=dn28f z8($z}rI?tF!-ifZ90s7%Wq`+U8fs0JN^d9Gx$mj)l4Te29Wul>GXC^Hl8=dNnSO6z z!kh%cA><@HQ+yHV5Kr_%dBPuH(%*roFJX*`IX=CGbBY974GXWJE4Q?Sg%SdfPJR}7 z;Yi=Rk^0(=AOgw92M}G;Cpv%Bis;7@B7*uY;$Kf|X`QhhQ*(FL_8DKMcvtaxUjvuQ zioE81?I59uyRptH&BhwgVXCK)i?iQTo?v+cx5hV*kJWsP#Ug}fj!mbozoU zgYA|WeznR=&0m|o7se|0a%IJVZb1AibR^2yOrwr2f~o}1{vbIJ2RSpl1%Z5dCQ>AE zXT)#FmA(4Z12fz2Oahc7f;ifpm#>JO{hlH(v%YVD54=c)cGNU>ct~_mVIU8TJb@oF zBDGEPVWi}GxhAv)H=_c~oxPPqj#G;#=N*BekQq*oyx@m%{P%S(oczjDO`G?p=x!7|k~c*)gsVk%Xh1A*4pq9RLRM<0x}8 zV|_3_Ay2-`0(rV(^Hav=ana`yW!*)WtJZj_Um7p3xdc@ffTeYr`=EHqg@LE*WX8fR zNWv!3lKbMh4LZAVb=NG}Yqk>%lo*8^Nod0jPZtJGf0m_T8NM-kP{{T!QOHhzPmPzv zH0Ni`ocRsu8#p6~lQV;0CWVXJ`kN@WQw~8$wJ|Y4pXN3`>@hDR6{d8tp47jQ5y?_WXD@_?BwqhlOxb;&V`tt3W*W+DLll&^N+ z%>o{LCISgb4MDtshWPbE#%9l+Y%$zW>lbI1vphVzO&w`WjfpJrQlAnpxDmWOWc*svNkELb40KY&$zs-qI8jE@X)9|v+vIqvQCF0yoISSyR zFdOyKm#BQT#7lijyi6d(KOb@izYiw5n!D1Cf73QoJ#1>#$j6rRBh!kpJ{8g(cag64f#$nJNw-vUQA?uncl;e-b_{H@4R5A zlEC#x+dlc6gPa501S0Y(@c}fUMn#?Bh%4l$vFF8#%L12^{OB{5w5~IZVBysYFSR^I zp3z^v@dYATU{j3-BW|=uQB#tou+!yGy2~&TnXiJL(WGu4(@rOB?9YoaevHfD*@ zc9kV@m*tl2h&i3BkNt3>ss&!^P2dGU!+crl2q#J!15wjaS_Af>vbPjey(}VD9Bw%@$`X%r3yJrkRjggm-wTMjK z)(t(1&cd%oUtQJ>r`CTNX2z#p%Ng>qMJ;ap%YZYjTiNn1^(pVt_jgH*LtdP?0UgY( zs-|0rR7I~w-Ie;VR5%(4nj!L&{K~gD}%fbwy3F=*6l8a$phBgv@ z^Fwy(tB=(8%ZMBLMJ&j`gQEm?qsm2nfm)c#%+*~N#7GT(lHKm`LB{T6qkQ!%iL#Vm zJ!igJ{^7BRPZK{dG~X(P%>7DEP-NIhGBUg(ZmYe!Ehj0n*Z>+4F0(_G7nXLZPidFm zM$Aqz%Y8r|Z|znoqd$>J2yh4-F&8+;lgNf}D0Q8Rxc17o%}2GgOZ}2|`Q3#~VyUvq zoECSv?h23r*h(kL%roFBqf&l|CQim34}0gA!O?USbkUd~JvVd^X?(gTg! z;@b^7Y%f#e+~kRN#}cAJq*>RSRb6U*X1(|YUtc{efC|7GV8kaH988?xuE=jJTVjm@xC&u;aRpbvr-iw3}D&B+ck0LJ0#w z!d2CRF7+wsk{}tr^-i$jL9iY$ts06we`E|cnOP^T%A|A7h0L@LbFoNb<4Pe|Vo^Z_zu`g*SB4Ey*XXeCx!(Sw zLgr-RRt$a}jkcToJMcH5@vtK3-Up{J*1>>OjgF2U=7%6x zWsHg9ozHlDBljT|bg5547p4Y3Lq?c|fsORtAyOs1e1Q59l$a=Qz@_|yH%GMfJ2VeA zn78YKG2)JJ%OaxT?!F7->! zrM?XT;$-5Flu^KyFz*m^gbd4caMv5c1&13RpP_`|GPvYR%?z0dWK)quT?=5Ku<~wJ z5&_}o8d>I6K*C+WoyzRhaxS$!nmstMZx5Mya?zHw%1}wl>_X$n@v%#v7|~TqP8v&Q zLAcX=PBKKY8s$Ef^I>Te+D>pRu7~2;S7EUTxp4F!Iui=nd9QtSd#~cqoev!5LIy+5 z2G4-|hBMLn`zks4$#LruM!H=W%rVeRuI!l4dWgkDtCsmG=-Oq?;8J`X+p#ZL?MIoY zTFj+B#aw6wUmB5yvUbrrEQ1-N4+j{q`0e_;)_ey?Hbuw?O_ZC(z+PzmRJE11ua26r z71{`XmRg#swuo>xkcRqtL#a?{#9A)3KQdp^82vkB_RI&%R3R3Dnodo?waG)Z=wL6y zx!{tGvj?&_qbhM+buuKEE>d4>eW8eW%^+Vcsu>7B4YYPYI1g>nA1}_<7IUdjF&8AT z-$KR*=kw=e;D5j(_}WX&8mnqvZ=?!A-`t)upeBH6sF<(%f`4gao9w5F(xcJ{ljw~h zuFeIwk1;ORa;Z-(mjoa4b#S2(INHgDn{`S6AHGF`SCY`RZ=M<=R>38wHSTRV)EPa} z0gkcf)$idd3?WdV2{PoOGd?}!pO#_{!+WI>i@DUNn9JV|Ms&jwAUO$rA$9`N|HU$; zi)@NICN&XI4^*f-3W!2TU-M*~&v)h)dzmZd1Xe07zRNY~1apT=%i%)~OiS6?YA&@u zCY_NoUP~gF@)*kkr(+HvC{g^{l@EHyu3G5zIE|aHL9jXKV_f8sDpCaCthl7kJMNJ5 zfFipg;tpzls9*ee$aGyMV%2Ic^{M9a+ldywI6FiGwBhl6zVH`Q+VPZd`II?_|F&^~ z@?%g8kn~p;ZtBG{qgu_S_Q#;JA1}y&%*(r>K`aX(Yz8F1#_tPWj{-o-2b9$t9M^b|gCGZmwbz z(u@uUq#NjX4SVBH$X$W~QBV}no0`-#6muDdS=X~r|6d!{8(ueLzqjY`f3 z!^yAzmr*Ag8Wp1n(gE;+YGoA72H@AuUL5i+RJ%+rF?PH5d^-+e!0~aCI`(sLSfHof z2FHHNhzZc1`H-WR?x*bRHy+vVRZEwH`Eo6DkqS=+<)y4UE_##rpb9k+)A-vRmv9#2 z;is{Nv(Twa^Ul0E0+CmNF)5%~Y)>fJPJP_IdAT1j2lK`(it6~F+XBV$fObdh)Hm{f zc=zD>QPOLj2TXoiW2DNGh816utM~y_7ces?2fxO8i&&r+D8u`Hf&#!<<@sY|k6cci zK7(}-X~;guPJQE%`d;O7z#VKCLF*LQq8bCuBCAHx!m$XCNZ9#B;oEM+)EyC5cB6w; z`#Ip)k>umDKc!zeS8R7uMdQlR4t}wtewK z2Fv^IM~v$s9=`hVADgIZ6_+~NzdRIC!J$PJsWARop;oU$Q9y}g8H~1bn9QQsgMg^h zdR<$Q2n$%TLIsZ)fRE7PZ5`RH(%|z z3Zg34AJ@s5o$d7(PdRV$G+?NO?($7RFiWqE6%)Ggju<1KG^`*9P*Ik}Ogn$xvWnPg z@2TMeI`OTv0O`yGn~?}?3R!dG2i9aR*cn!7o*Y5ptbGhAwO$b+-Wa_goyiU$o(EdKAYrf{9aUhE!_MdtE!wt`2W3srlO z8Z6*ap8_tx#9m&#jz<&=kSG<|n~NtxHC(f{oTH6;7Mv{4B@&6c&E=iKNDGoYqQ+y@ z7IF6)g{`0CHL62q8caJ$$dpy<)pO!|3b_1bI$K`kwuA^`7>?KHup&c(txUOrRW+In zw*ro;gsFdF7I8jh7*l2K{V9ICQCj#w_mh2SRw5x=z@^Uq4{r;kaI1VMKk-jusTg!I;1Oem#FF*CnAuQ`-u`^4HGx_f>xkM zJRNdeBgh>28Sl(=6|&Rbd^CHKB6+)#1(s&J0e4J9!aow?!(LR{LUPjl6G27HXm9vEkyduJe(r2O!1d@<4O;4j2td~-9+U2cF86Q`JHa-fiS3Ya zJ@Zj^;(IE%v^VTJ^LGTMnQq6uJZuWb%ct2TQ@N~d@SlT~2GB7wqObfI#i@3_P&&ePG9b71(*6%a6$L#=ULA2mTd!tGE8(1h71z5+fkp7 z*PaFTRH3|6@I#uE3l?ON+pH6CEGj;A3Fpe%VUslb&e4-Tjt7TvQ?fYJ&nGW=%V!0b zdi=}Ohc-AWeZX{f>>qE{1=Y^Z#y2g^3)Y-lYw5mDZ~@mLgfFMhxWK2&A?vr)r+!Pk zu`k0RMnEWl;3N=j8}=ze1Pm;y@R^%(LUrOp2$E$N8W*kI6CZ-g(b7js>Scwj1-qy7 z9lyqvMKlXuLnDsl@EE}IE%hni@(y?^J0d6i(!(6PA{nsC9VJ8|L_IkG!CY!l=wn&j zVT^y?y&_Ea95_+#{Y2vcdPqybB`WS_Z?=s7Cp?LD#nJXf$ZdDxJH81GuiG5>stuh` z?#>L0lyfn#_-2_y*RI_NC~$UQjnPyDP#!37@kub@jq7C1lXF9u(rdmpnf|+hqWf8< z4NQKMi1*C`F7+wkA|cctAty8)&}osgQb*yRQ9x#b0*OR!ZNl2asX&@Ku8XP7@HJ0H zsTA!ySblXCo(M0LdedpCYnR$_?JEmdc8*(`1zhS=z~z@545<|iNh~9+UT+*Iat;(a zzyTjAq5;?GaD8Fb6W15=b@~R2H0!t2=6uM+W80h z7xtHI(sv}B+8u7#x#O5(lb_d7j<@U>Kcq$Cf8u(YzLY0OVjl}-K2G#4;&*BsMFGx2 znVAQp+2Ji;Lhy;DF!z^aJMnoU1T?ESsTcABWWjzk_Fg%k2f1f}kZaf${l}Vr$A1Bt z|HX`J`+|l%4U6{i+VP=zT0uBQn??gDoE9Y2L**Kht6Gcpl3<%>6U_*8U9{A4q{Myxd&iV*U_VXu0u>H=sTycXI!CBCQ% znDj(KpmnLYy-4S&Yx0qo{5qr%2pe8Y-ar8?71>ICjp3T*TiR2;<(J2TT;1?Kr^Q6Y z;f78YoDZ&gyIpYcqSv$v+JqbF?x)Ox4kn6kJy;2L%&W=G#q>H@Ey5kzRMD5T@m*C-QN2(-wrcHi8B-)mS)K{%PsRMJu z?3?9V+Ecy-^!;D5b(3Q;GJyqQ}dnC#8^E$yk_!r9B`Nu5J2B1drhl?`Fk{Glv ztpHTF>tNt4$ixM{&U*b&PFNNrH(EIMBy%gCjng);hf>JNAwK~wX}($sU@QgGYQl^^ zpb_$v0gGx5Fa>w^!Kgs(Gd)MVs~5!@l}HH$bXf?UH-;#C`Y|M#={^-Em_6;e zo%p`>TV9%x#*Pr-^c@QUN^A}7rLd8)1B%jEYSoc+HwGP;!}6_Lx+w)9n}XR9dPEEC z8<#Y|WnI0aVP@oG!5$4Y7yWqi_!O}d-&4OO&zFvmN_7Keze7+M`)P>5S5JWtD(Vc62T;d@c$BF?3Vo%hlgi|XXBA4uBt~lGQ7~_T9QJ4|GQ=kpqCy4$QAwSNTF<~CKR_0R#tjhxeM2UV* zXVs+3f|1B3{Ut67>0hW!wt`E0D!3f&1>6#^eUoP{>Mik3wMCYU+?_HY^|<4t>GG$5 zEuQS%7*YU9yAB4QIx_>><^@HK`UIcSxrq1J2k2nLYs<)NQJAp=5mKvJ!KFPFT)4pA zj&j@3(T3b2y+k=!v6O*+42SVZ%6k~1Vu}O`hJDk1OCnPoxA=vrtQ_&c+;wSy4Vr`{ z8c2)T`|@yzd&Ab&%?d8SXXdL>l_~&;Q#OTO-FNwM2_7LE6 z31G-#$hm(0 zXQU#>f#7F#gFos5gyjc`yJ0Btk1Lb*0On5qq6o;WhIgojgQvF>QH7-Zur7CKR z|AY${a!Ve#`7+bF*m0wo3)jhcSZCR(FaN{T7X>vKkH`qfDrr1*d&YwgxMalE)}36i z658GJ#alEi_=L(8DqhQ>+ahd=*r_i+TfR3A#_@KGusH&_33?xbfKLTFU~KJKO34W3 zidaL&fyw#FtmdSA)0})ND2TeXXW`)w;SHPRTiR2;KmQ>3%tOXhIfH>u z=hU9p{D2~e3_^bh#F2C(P4JA42|}( zcJ+{xz*6i)I%Kot95Hi?TX1H^({Gjy1b-2)k1l14x3s5t%Xn*2;~y)qwlVhvt1VSJ z)fW&AW$h9lmhwo0kIpQJ_8AnxWgdt3AcVIH^l44OS$HPnP`UonQVC$CM<;lnC@N&< zzWnI;dM__GTz&(b?V?6LzQU}tG)!bb{tS?M*9{j{U9CbE47=yV1ymUvFZolGv;HvU zK(tYQUAq7|pqdr2Gv7_Th22OzivJ!lyT;ES`_m3Ea-dQr@_O8MW-PIpE*-MYbjUj) z=Z8&)LMHQ#Q*Q=I>-CVG`N|XCLeKwSLr!IU`5;Dl%AL9+SBt&#H6cPuDV|!vOl%k< z*>Go~>~wjFtDlCQ845Qld|xZ}X6=^t)NVn(@8#ty2UQ&6iL%RLgTt+i+O#I%Q@%k| zCzuCTE;E>_OwvBJeQT5{K-!OJul$f_#nJj$2AKydAVO}CRgbkYgJzIDhqHD|EBX15 zUtE>`>dwBWFLC?K91iyN#3(f#H;E2On-91S%KZX7K9^Vh*Ze3tDiw2Pw}7(lO#zNRQ5y>{3j^w6pBW5$X)Y`bsJsj+S)Dcrri=xIjWL3TtK`VLU*%;%oBu?@Nh*& zNFp$FDdqxv+`&}G(@zwicO$6yy#XOZ?eYFMYGYXunKB6_zxrTQgvL4I4@qtUQ<3D>S|J_R*(K z`4k@7Dem5xS-GV>m0OTE`|lB>G5mP@FiAp*t>Rima5v+|0!$-1JwV5%gwylmP5JHY zLT|uZxwy0+KkH`cmR25ZpXS})!6lqRHdIWY^|4Yf-`NE<_Kxiilf_2qBYs z`K3=KDj*wEI*jR%qr;I=hd%$BswK4mC*p0ne+id0YqzwUb_>_?@v6HXCB+tZ=9J>; zj08re<67>xU{Z<}LtL=O#63d%LrF5+%6slCS!^bk_keoZW*P?}It@ z|Edea;w`N{x<2lvm)u8%7>`oZh6Y>4jcNyy#SoCcQxjSFAL-Tu#kCv5IvPdB(Hdfy zfk8cq(wa4sad+E`)m-B}|2AM&z)pQN{lkFq-;SI2U`Ko~6}$qjOabwR#-H&FSZ)j^ zOcq>pssq+gYXQWuDk^@$PJB=0mUsg5r5}ku0~;usC2|K>JEuY;d=?0d(j>qKu)m0m z2ZwBi;HD)EF3p0k~O3T*T9Ts;h-UL-0kt| z-cq99J!ii9?E2ChV-i_zT5EXc>0)7IbemXBG7wS=g{TxlT2&|p5s=T28$OPx_Q#!? zydJ4?D8hr)NBMN3!5IqCi)A#4b;a(J;mr4?-jd#QM*mh4rCSp5l073Igf5u~R}iJH zrwmAO$nz)e1$TWg?|WMdUVvxc44J2+ z`5#aatPM5eXfvMO{VlE8fe4-Dgyi?NWv*%RqNuH1>qeZ>tXwr=Bt6z_^zTzWCTcHOsfO`bd22z<)kt zP(k<>3@PUATA=Nm)M_)X=BSY}bOhmJM8SApeo48|eRz z+sn7ZY{!>jUn+;7^&%(NrE+K;DTSP<7?#(aSr~r#ocf*;E{Ub-OQ~G(TbD!f*a34M zy5rbD#dXXFIb14ZO#-Y__HY#UH%#1+(+=8)W4SEHnM`!H<0j6Td|{Br_eIb^4}Cpm zXTSEyeynF+GD&21qVAWe{NdFsIn=8B`8gXNM`J%*~2s8npdY9p9do^kiNb9 z!az6^qsgJi+|jU=R!4ky?zq0d)n;@lWGBC;h6|Raua6mDECf)2<^tD}WjMmi6#`a; zpIiS3-U%VKqG`c$;X)GakmE9Fd+>_ReX~M9G=Je>9j=3cI!PR`1=k@)TUj?txU{E) z3lr4$gK=zKFFRJbd<(Gz$P7g$aSb>NAJRbK09R-@;YbC2o-(lHXs6jX4bw*&TVWXn zC}t=}(+4ApfUW=VOl{V1Y3(`kEN`_kpBQiP2##r(IZ^1_9 zQ^_R&ewoP@BZ}4dl_|?;{h>#t<%c4OT5w-ZY#%OEvy4l7%DAvLeR=5)GptAsP_brFs2BvlV}a3YK6!=L9m6 z+!;4Pg*2?Bjivy)z`L)xLlE0Y+EI%%WThOlm1z~T6JY<^_`OUq{#MGRIi4XSl0oL{ z)N`ntT_+<^Tthh0R5ZISiCSqJt7yBhzeAqdus``hH?*>qT-sB~C0ft7fm~dfcqy{j z5;6&AKfv_(zq3SGSbVWw1azrLTp+=HgJCo+xii$Bx{A3Suy9{WF45*TaY*>Zq?x84 zpM*sB`{xAsRC0Ou3}@OItuW($IwAIFy5;Cf(OK~;uaE(GMv2~VM!{J2#=%FroO86Bq>a88*CSVmWBNeDvUR>&4|X-^@S z1Ty;NF;ffU!p=sr>f1=^0NyMlYPL*nr7)U{+&hqenld^2Tyu5G5Cav@-P7el`LJo? zuh{rl$k~&!4a(0ARieSCm0a3W$whi@FEJz8fjT2vI20_%XDen&^HZVYRzU&;joq*Y zKXS5Q+2?A8af0kf0hH~SwMt4$o5P})iWxD?($^HRpxUh$&{8h#DdqAymQ7geZ6G6) z?6g?8DC7wi!5 zEkdrI7sVmBIXmJ8X%oOt_wp%E+^po%o=PrkW!^%ra*<=8Qst}Ab!9M{DxbdyxuaKw z9s;X9u8bT>N$&$#`!A!OeJ*Xf2mE9_bG$g8!UL zDs$~F*~xD_ zk{=!t|2^WU=$;Wr$+E$D7;+4gsL!X!XHW+z9PPWZ9x@V0k(a-b>?M*E<_AkGY{xG| zAv^nx$LJH7(|-;b`I4`PO!lkMM@MJM@vavg5r`zXa-gRXw?am}h^>#uLaepS`OMPz z8Rv-W^ebwXb7^04E{u|Ygp7tAs(vt`1hh}4$|)hD9zqFf5saZUry~n~@EQxS*LE`i zO50Z)gMdiPE;27!qRzCJ@xoH3;mvU>A^Rbb@wk>teHjb>%tN@S`)-OV>< zl?F~q&;=0TJ>*{sgkv0@hX|taW03s4PDXs}ICY_Cg_=Ak12LejPlLmG1r}W=nSE^d z2x1D!;BX1LAo2fCLvDa{BJCa|oVe3&A#0;Tri&BvA>;RW%AQ!nkC*ozi$SKj`#kb(9kIbeqY%@#%JwWWM`KB6*XG%%hR8e^l zX1(gTxK;*TT)_}e$q%~ACTF9ad$}-oSL+v#hWp)5`J=eqr0K#&{}J+h5zhH5NC#2h z`&a(J;9&YQqW6dbA?Ir&45<#LKL&-1EXPa^iP*lDWdi&D0X}kQ9_hjJ>S7hLli#!T zMw+soH1R=okjxVw(!IAxL-bR4zc^$z zR6fgxli#!R`z==$7ImQy8mNYjo8UbpfU;vy#eKbG8YWF}_MwF}PA{fwSw@!&y%isW zHRIahb*#s)&qfOc+3-bx4Xx%E72`%L{#%Og_ z_=l6BI0Pfqt4w@ zvYHuuvX05hb6Lq0*9iKh0#wSHA|6hD&(06OuK)b{eb}VuS8!XEl_-aqZ8f^6=M*u1 zFro$+(;v-orDCyDPcF+3zXi$$FXzZ6Ny1uH{r z-==f~_N!fm9(QUb?u*`zRXEP%`Y}lHEM*BG-OLu&?MDW8$WDJxA!FgJR?$a}Z|q3g2WSHin+bGtA^$?u=&D_{)??Nk#4pU+kDd@mKU z)8Cht=UXMG85xrhsPkE>L}u*_(PVQKyifIV+r6AA1*{j-<|))Bmc!M^fJcpk-UKN127Ubu`Z|fgs=dz1SA9< zW(oDPDr8buYrlb1`z}8Pe#=wrt_}ugtCox7HJ2r6{1~a#`ozevOCdY|jVI)@y&1kx z6Mr;#^vA5Zc;!*Ez}nejG+7%13_o*{XUXMm9VG)yhXYr}-2*Q6ZE0JEak%*%uJO@h zOOUb`h#-!hyq5az{5R%547nohgpMAHcNj94&+0us2mC-2J#3tPhg>wPHGUQ;Gi z!7ds)O0{~L3rN4pJSb^*_+s99-*IT>>oiiO`CvHxJ>@*($Gn7`F@eW7O?4R5^&t@t z>_QsY_PE~VEl`*X7U~~nfASON!4&R?=1;WZ**|7t#`Op!(I~ zz3)zcGyltw89=bK;?dwPJg?ac!zBz>qq0Z01nrDd5258A$6dLP4!a9PJd5D z&r#A#VZ@7rWik6RDYX{mk|F)19R)oM(72d)UK>yfk!Nrpx(){VQ3HJ{j@F`d#Z{2D zx(r?^_V;zkA-Z=a>?4UBuaKSo<`em1KKpmfhvDu~jmb%fDTP*2X-IJv?t4vZS=lgs z0SJmpZjX!p47wvn!Uzdej0H03k>VRyOPfX4o4}K@M`Q0(*7W5ff%e@A@TuwfTewbQ z#oFUtWj%N>R=yy9T{Ux@=J?!JIfrdS*0*s6yum12*=kuAs}Ls2fXNx~sp`oq`(|y0 zAU@#6DR7etnFs@QKF;Tq#Z#ryK+>S01I*!o+WC3V1)?Ae(^RF;#OVMF8rM<(hA~&% z+R=3L4G1()rz1H9K6O38nZ3<3w6H7)E)*&P_|iN&3O7iS17TEaEi-G~yJo~pnJ#e* zG+r9ldB?42Dd|Lp*(iGSIMI$iwFQ~|rX`2i@ci?0b`E?>d;Z$3Caz}`!d1l&CY$4S zJ;$ey3l{oE=k-i+n>@4yjJM0-qwaV}fwAVtvzN(21^476I3G#yw}?5k7rT_Wc%gE? z)f$oT5Xc11)t8DKE8C8I-u-#%JV#}PThLPFqDFDd&Vt7y3&J>m;n3}IVmD|&6`&i3 zmv#GwmR%F%Di0U?jN5>bBM`);)h~VtXQ-l$g6P14<)byYNd%NXpWRfCixsJlWhUO` zUZ|Lz2A|@dF9H8;(xvkJxq%=b;WLCmH9D*L;yyr^sIasKkP;2&7%?L|=;=U_5g@}k zhzZ{$Q3dQIcs#ie$D0U#KG+t6FeA0@v*%B7;sd|&H7x;K_6UvHoEeL-I8+cwGZDq`orr?@9G&7TJuE%}W-FJ7s*S0;h4 z6LX-E)dxds47oP7r}X3?2_+qR7DwX{%3ksfWfezES}<(n$E?kyLPmM^G_H*@w@0=i zgE2rGR!ltxC^~h3 zoho}+846*nqbwb{<9M-{@7d|^sqM)x_EOI=sYK+Z6jV5>{15d!qi~#HGNX+Xi)U)0 znX%<&G0<*`%b1t58fMOwmY>6*IrRiQehtcMWj}Ob0ITW8^I%NH?%CPz_?M)=%EK;~>6UUV(jSV;eNkWVUpYyCIK*}jU~a@C$x;&XgZuDHsTat-sDgmx zg4uf2pPV1bs~oc1)I*LU0zmwJ$KLahL4|GY4g*i43GeKx;=Jq^ z@|sJPK_1xqJWqj)u7Y{3MmXxamN5mDl#mOI6UN*n^-}AXyysiU>~bd!M1{W4E`bb& zYEzTzqH6RHKMJP+=qw%SjC>m=M)Cwd3?n01ZGz$5CN#$W(BGQOWyo>*RX!T3U0N@- ze#v_xP4P2inGLW#hfaiSfG|<$Q^lLep*}*6GVo`} zY`_3J6>-%g5rCcmWJp&*W!Bkd|B-tw?xHdPV~Bb4M~I#_>$+0W?1&jA&*H%Vy|y)g zU=h>}RGyD=bd*llWp~71Drc|ozIYngBu(I9NZ(oqAHQTxEMZ+(Tlats&VOU?B?#;1 zR-TBp0d6g&ECU$Cj5oyM^>bXVsU>McMntQG=J(O~MOrTr@{{-QJ7KmR_=nmQmJf7I zR~a|tcPN{clS9|kD6Slb*QH@3;Hfrvm%ien_SROoOX{W8eg34-WO~h!6z{-*js+D!)z5?H_ zlHJsj0vG#;TQqLIiI(3djWpCmu$f?}e&%XM!T9;731L4ED@vP%WsD+G^LuKn4N9?&t}k4X~aw%O_L< zfgkFdxWETohc>N#5IaW6LjeUPDIWe~-Cf1(S+8Gn`BmKRq_9ZAO8#;Wb z{$w@SB0aDz-Em7j5J_Bj2I~#pO8_1>FXk*YkPcr8?;(7}`FsyK+9FicrsVBGj*UZ$Y&P2@*f^8bc48x8d5wz{TUI<*K4lTY;y`9m z-CNgO+yq^Y6MC9)Ec%kbJ1E1(LN{ZP-Fz~f0G}eC@2)Cws>XI=C;=kda{y*p6cZI8 zOeIHyut!V)3wM_(&b~1y;VpYx6+Zf6b5(&-3cNI{!UYKL3HmV;mFw z(wW`H8M#TR0-uaKhl#+M{}4#V?m<7thM5W(Z2|VI`g$Cv;Rd@p|2<_s;|IN@Y&w|@ z<&%UL2~cruN}x}(cR*!(%8NPPZFYHaKQWi1rnsoh6cJ06xvx|b6+auq^_oqpkm{6u z@H;LMJQ>7jU0I#}zH~lSX?}&AG{3E^a`Y!UTCe`{v<;q6%{~}Xpgk}ONDS+^f>+Fx z^c?4Cv++k#yBbfmf^b;e=FVi4T#`^n+)p-Wyw9^bmpJ|9r?rE&=if2ohygQPOgUki z0)#~n4-Zs$X;?9KTv z&u7T>t;a5u-E)VLiEaqPOP+FLfmB57$ua<~TBb|I9&Sjzxr$}>@l&EN;({yxp=>qx zB`y&Ej&K+8tOsW3bNROy(yfw7bN;(YeJbSsGOR@!DlYf<{J|3(` z{(-GN@OOm&!h^oVfFLt~VI(ExWiGzY#F_noC&U4A`_c)!s$Y@cp3!*Pg$;w2ZE2NLUA*vD0CPr4Tv`!zR%5!u>;g$uy@n6 zzXn1LEdsxOOtJwSL%D`}1_LTlrDvr(y+4--ue;6{3ca;8o zxa=jzjoUm}{L3o_Zt5Cl#Fa4~*hABJ%p<6`7gLA1JN=dZFGH4|Mx1203T>90J}-!J8X<7037-QrG_;!50G*UV^g zd%=juo7*WH4_@d6ig^OVAZC=Jz&5O9)j;K4C!;(6J>@>}Zh0$>;&(pAY)pjc);H<)im-S5CxVkmE9Hr5<0xf!Tsf=29@X95C8mny9 zPXqVGkGUj*D+)-MwRmic$%avW-6`;?_=%6&%jrPPd8^o{vc`x;JJK~_&|%@V(?Ixo z`Ofp%In6kvGavfoK+mj`d24+jd@plS6y!BAN&BZAR8xJ2l$Nmq9cyo-LK#Qf%E z6SZKZW3Z_xN=(^^C=;{pkj4{l9FLjhC@|}|SG)A9FMX>l;1u72JrE&Ft!>N67u}Sy zT36Zz!-H_CLasvZC}iiro9t(W81rf`hPwd6{4BH~uebCC8lP=k!jPG@e3t_!8!~kI z(aOC!63QJIK^oq$L;F9JZYBbjR(>IM2rma)h^oo`>?Ls3yK~@8_A_FR2lmET1PD-Y z-%93Qb?qQf*Xp{9n89nH7_G;K$W90QQg90X)Eb&^puyQ-=~#M#)4k2UHh_#wbv=_7 z31bl;b~$Y*W+%a$?k6#ix6_P5F*koiVtcJ5eGf>nEPNwiSk8a6kd5aPJr_3g(YfY& z3X8+$0q<1RyD}P7%qTt01!vF}^EmVt`757<%NVx?WMN1pS+Qi%7$(^2bp6Z3EyyeWTH z#+Yx%IqCyo2WTr4ZjGTS40cQCD^Gb|377%kHBuiUU5G;+x4{v!894FLE+s2mF_9i9 zFS*wqW64V}DnE$WnEe7=LMLN53*Ll3nLxfbfzgI;m$NOuJBd3bjh)LOuQT(npC>`a1Olbeu|ay#ti-2 z!KfvD**zf9)H&|h+4PB+&8OBc;GU7Kg~GJhJjfW&VK%`bq_k*W@g}B?X{GKzjWKnW zhg0BP`ZNA{%vt_>%x_W-*qF(0CDU77sw8-Xf)E5KXn{GrU-A3c*W6Zh5FxXc0N=VK znX&EA4q`Y1-laeP7IGF}JAU203H}OTm-+}z7Koh#WG)kPb%6(~NU0uosZU;AV3Q2s z#D`QzV~86}A)&{NO*)5@ndHEpXZ;!Q;e42#0ox-3@~i%=H2(IOWRi+hJ^Iz0)HZ8r;uApbt|XGqQ&wQvNPaa`m_B(*!iW-5KtwG zEau3JMzThVRidP9IXYXPKh_G~k=l;ij}g^=siA{Y8EgWXNqVAjP^W%_*(I2Puf{wU z0iJo9hcLql@FxAqQ)YSl5_6ncoVgJ`V-*UESGAEHVF$Oy;g(8N&jzuA{v~;sT08VW=%2^xe2! zG4Nwt$iYB+JANJvF9EgtRU7TN_TT`EQHbk|I73B>to*^3fw7-XM!{Zq9SzIEC}iiq zyY}Z_Lyo2%HeFm?ndQfBl%JF`4|%&b?b!a{=nITb?mzSf7c>gc0RYPZCBvMJc*^m8 zQ7h%gu!`-LQo#yv8>216qPTj5Z26aZ*Z$;<9B&fG@WbQrbp#qR=ID9o&Or0MfYnE5 zsXCjWhz`QJF;Bk<&qouu!xx3vXk$=mr^w?}k)0hCi1b>w!wZi)0L|(z^)CGxPZ?6! z+fzn6TZIfCU*v6_A|Q`EY-D3{_*mBz|E*l_?RdhxoBqIxgpH0kc({W zMRT6^K3{m@N&Tgeod9p@FUxAxEChfr{a3Q)aEUiw$2F9M;E>m!` zo6Lu-=;K(xGB_MFvLNWN5Zgx;kAEt9ld;rdcW}1eXj}fJ-sE4Z5NI!z5jZSdm_M^8 zu?FlTJjG~-L8rsqXsQ!{B7s0JX#{W?gJmSiF|Cuqd&b0z@44Jy%qEBX(3iJ0EHNii4f74A9PZL9TPYES?0G)LpHNpZEH{&&OO|Mz=Xjah6FvpDnXr4ak|ngZ-pX+qG>i6obQz4OB_{ zC1xanNPbBmD)YRWOWm}W;Y~vgZP(GjB4#@|`!^hn6<}(AWWadpFVkkpk;OaRo6;_+ zLS+U>INh((v9D- zj8Y;i)3XhXJ~iVYY6K zG?7PWRW5tGR1(jac_ZOK!ybrEOEJeU0dK(6RlvboQHfEkp`|wwsNXsVS_G!{M+^AN zvk^Bns>SgcBjrdBcw^I1{sHrkA6a}hBK@W9RJs04LOITH17cRmkH1X^ECN&evj>Eb z@bU_>d!pT`fXApdhTwA(0H8o$zg$by8Hglw-_FtCf*MxSjF!%IppPNWZUXbg$yCt2 z!v5HoKmt0D!)JqOS2t}DplDgo*;%m9uLJ#-1!40+rAOaT0NZ?cv4+V;Mdt}Gbb^kz zJnm;ml}#^Gy1H%5(7A-W8o9E9hE%YxJr$#<>D1lvxS!3a=A8+FE;|ds)SD1Y1Wgh0 zGiC@e8@N-7c%(-A8j~|*L@|A56hpNE7-q_=sq0m}B>i}}L&C@yBxf}DKsto==IAn?qtWXY(8X@Y) z#o%+-0Tlu&ka+WqA7FzC>+Pv2Mzd8dcH;m(3JKPMsW%-M=D7PSexM7?U1WYl7uOwf zW>gH~5)QMGU2#9d92XxmGIG86X#>IsI;KE)%-s-V6^m*st%3!sb)~_AY}S%U=x_oQ zv(w;B2!?kMu;$OB(U9P6%-iveqTJWfV5EXNv#daLGzJDpJIi^TL^65^pK2ps$;Qrd zvUSzHF(LSG@iHu=D%Ftg%Rz&Pd857#7i9P}I}P5HV1!;vFCcwl1^@*I4viP?-J*Nr zQcO2}A0^tTR{5vuBEx@Tj{6z#2)5S{*N7SQF?yHh)&~kTY}B&W^cO?TQZRKqCZR`p zwKrvYTLF0{Fo@i%TA}FXWun&)enoj*FCZP~S zLW?u>lv4x4J?Y&Ah0`f%GjL-$0H4bKYgh;z&~zPx)u=7cpVQ_ z5cv{qcD>Q!bAnzw*s=-%`nl`yr=p{YqaKgYauhQoH@-6A#CiwfID{$u;OjaZDBQH9 zpq&WEGZCU&{2Fu;i5!CiUX3XQ8yuKE07hwnvb%@X1BVespn1EWi=ZWBeq~`FXmdV1 zj>$>4yo^P)bRLV26pg})*?Dk$k3(N;{`mU_U^D6qmNzznj8`7m-PDq-iatD`uvF2E&6^2 zQZ^j2)8Kq|gW!gK#?1dt3yPQ$aAcg@c+4Q2=_1qc{6ay2B_a5}g35yjQhhD?{+^OG1%1ux~B-advWbv+NZB=Xx@TD@|`v$WDXvu@EGq zy}W>oLnjM-R2!rAw1iaL|0YzGQca>t+BD-h)gVw65UE${)*_nQo14dPAP8sbCg0DX zM%Qd3x|g30b;F7*?c|lpT zUM2;M;}CE|a^2Wl)|@S>3R|u)TAN86#=$e{3rBDXq75s;)cNcNktuz91EbUA3E?5N zTekR*T&-agB4>_R8ZkFiF$aY+5cuN;@j~vDxid*^94qF6Y|whv%KOpT3qBBASi$jV0c&$rp`we1mpB0W)k1lPTqUryEFBIs1g|s`HND8 z7mjbXG3e0YLF}e}P6pUkI>`xF{=Zb^7KR4I)->W$LKT1AuI>htzVZIxLM1FmjcJ!r#B7QJ0Xgh@(8Ukz}T8P}J6ZFst)H^z@>TxJTt+= z>;!l`#-ZGeuNO0E|MbW5S3v*|W>i=xs;GzIDk~&fqbco=%cPFO8x>~9C~G&6ZYo~_ zAyvqydm8yKS^%iY`bk-CdoJ;1T}=5*no2oofSnmmjke;8CB~#w%POk{$&)Taj@H z8AHqmQw}qxOfeXl6oAj?jL*LxSF;V`67m*6t2HMdZ2C|Y(qWFvGTWRSsNaCM{Iw1o zR)eWW`-c%nD%Zk0%G88QVZM-3DCNb4L5+>&@CupGp7z)Zxkls4c1~Z%wMp)2!)h?~ zrUq007BX%^aQN|Fq5Ee7rGtS?L!J^@uBI^pYJ`)*f(_WwP4i!U4Ym5I6pPAKTu^zv zet-(0{jq#T2oBP|{s#t&>ZYs)Q*UZ8+|3N6Ut$J3NQnjYO|!zGUR&If|7Y!7uq3yU zWV@jn9^wz~e`C+D86rqzvfgNpRISl;r&N`m3=saa4=9%jqxz57ZrZqEuUM%rA7V_v z_{k`!fL|YVO~yOp+9^JXwcL0s^DPHcA964ibjN+kevdrJq7aI z-s=2lIk?PGv7s_JP1r7SKEqNQ7b#tH*8%!;YPJO^>%3!T{0#3{S=cdmDygwNZ+Pvd zt_*aP4-Mn_#Y|Hhlwm;_0MgrIZZD@9vM_ri8YH}&(DUYIraz_eWQ}G$!jq*~#?Bgo z9r|qFYp!czit7VKtS5Agk&u_x_xWm-@DK1>UPe?AWwPtWup&&`6=9$TzbmiuoZ~FB z{H2ccZ~#nVSAlf#=rklhnrx+7X8qBg`tAky3;3;+o^AnAi&J62eI^l6y@CMW`Pr9B z_(1YaF?YwD|I3&!#2Ii|l^Y%&v3JO+tNj4KXt9z>%d3Giznti@L#|D=mySjhnd$Pa zF&y%?4~%l{CF1x13#ifza-7~$i-$v7lDMwp!jqDUEr-#7r0K`{rQ9Cnai^o)C%=$s zHA2W_7rqj%jbKr%r;NUPPVI?@P{`9EZwYYJw{;*MoYVv8_+72)>ftnlP(D9@iOSy) zL_{D3d*XQA?@e*efPfnxD_))MvxN=1Obf*JqFP)mUI(BWzthR(khcsdp^#r83tUog zevt0Oc2gy-dSLj4B$$773VT84P>EYAy82unpj-XW(zi^8;XOMzG~y^dhwywsvs1D~Fh zw7>*iNw*@Z(dwwE98m3Jokdgn7{P#qKyecox5q{!iB@f~*oP$x2#JIK+F!@nMn}W4 zFm0EG`O9-=GUrCPG=UQvf0Wo?Wqj&*HQ!TUB;N2p8$SW{l*T6ZN!NZO!5ro zEC&KFaob{njbrHdYzS5t7i7l-+ZP=dIFf`u8=`QZe$G`ouWJ?2q01>|=fJdgf%LAw zV*V?@vX7tUvWO<|)-wgi?r+?BHbcV985^kFU4~Ktur9Ec`(vg!h5C3o98Q8M{qI3T z=^8S7go8>oW0mQ6pBn@31d&D_L-bSwSSb2)%;xK}r(&jivdK&~Qe%2ENK4EANY39J zjx(;5XlRyZv!%Qgvy))jQ8Ca%e#acyAif$ETSsP_S%}SAp{B7#i!(A$5q%&6Q~7qb z^uTp*o#{^XmN{IA6?sNp&xwm~whGU{Gu1ao{PzRQx?<*!5@LT?9;WT`FleB?%m@%O zK9W$Xr(}L~w;jkg#;dagAUPe;5gaOkIN}}m(>tkv9K0w1nK$}GOM;%)OtIY}n>cq; zfcZh+Q$@?ew6r&Z@4L0QN-^U?8js;GAIBfA61F|4^^06d>c-(Rszw9`7!Ey2Gsx0G zDIqx-P{_`MX&Z#*`9gw5(kT82)*My-4omC^-G4wn zu(zsRzPg64;2kpFio!#zK`2|znQgHtK9w|OqVDZ$SBZ_#WqN#5o+$QT!0uyu9cX!& zmbO-qY1CWH5VB8j;M}rMz%+`xci7IC2!L&g`5$k-38JJ}UlIg!7 zA8|nCTi&Xq6eJlN$7D)OTBgThbljXqbU$S?lo~gh@*t`s0#97}0ZLI$A&(|>$=6kf zGp=eR3&gaCKui_G_RZ-eI;W%Kv_3#rYY(lL>XKtDqVeoQak7t7h{PZIgKAIPeLG(g z;^8h%hK9zgg9u?6yFL@u0N-yK7sxO;OKxmfAf`P8V*Z1WQQBpZUa`?g=^>mKZ+>TV z$1HZ)C9BW}`ft_@R7vVK)w^-Z^D3U10z08tAf`P8Vqk#%yO0Zo6g+4#sv>!mo6UiY zKeJS7*>yD+0pNc&f(b?tFT7vOn`k#I5YzIu3zQAS?~t=@64)@3y@d6rYhbb<&s1+Y zS$iB;YDAPlt>X^=S)ZVvOdf%q1YXy98^I5lEpDwLv}v$`RcrJpX=$@gWKVr*I0fb( z+=%mSu)%%I8_1J@gMBr>fvCBml7oknRHaZpQ4<1RkTP@LV>)F%Fso-=^ge-iHF-ct z|Lt>YpxKNE7O>H5ssZfA0~nqYO1yMMvqgGus_OM>e#|+CHDX%co54512lQStE~-&K zNVDxM;;q32M09{#HJfTTz{YyUY>Ks$;t$l6Z}#Xb=(A?{~;Z53nwS;$b#{-nvlbn`i?uJ z0Lw)HJe^BF=z_3$pkM6-jVOWU1ZchT26(u5Y8R@YodxsW4Zi70(N?pa0ZYKL4=VK^ zHfAWMObNR+mCo3~98~p}ti_`pO<&?@2IEYx)raPHyo1c9kG>q>*=1c$C<%$BQoW2_ z5na*5T_E@gQ-SRoSZ0YR-nTO~3iLy{ zZQ2G7pe_q&Uk~DLGQyqFd&#xW+qHxdhORn`#I&bK3v*W!bl5&z`Vi%gt9}Sm zXBNA|yY0AcF&TpF63H2J_|IdeH(*S`AStgFrAhkWYO4$tvtJ0W_>Biv;(pA+&njjo z!Ls#&=nh zC!@g0Lxlvj74#Fn5u?1s>J<=;ja%cYAE3B=nB!GuZA-)#>OrlX3&zO&#An$#uxx!G zw63>=@!dvas2UG}+f3M^X+e0Qz`Ja?dyfEgCYU`}`209rCT{;P`W+QI8Z(-w~y zDN6X5_gLd3^YEeI`mibuC`1dD?VO?456K>MbPO22w?5X0X=TfR`BgcAm+VEO5WXP) zjN7@p+3v8Vq4LmygD{zoi@5+1Q4SexRT>S@{;(8Ql$>*28IV&BMy);zc0 zE^xfU--VQlbO9^j^zL6>AacimteH$L8&q-$KnUUnGI~Q5WsLK zC&n8Tv?kF8GtVGC#>`ugY23_hV zE!U>9lpZJMprYUFO;4gs zBNIT-UsGqfZD4-rBLKQtxIX~jI!pRa_hiv3F|F*7P)&dSam;98Z!zPHbWlPKrm%4c z9_Gp5-gT?1Me(&k3yI|S;?1xk@J2pKtfoGx^9tH2@Tn5hxT;TXfJzh9S-R}ns3K)h^oNoqt0|!(@?9#v|T0U z{oXM0?~H3$2sz$ydoi+As%BaxnRMcl-6_#9Tx)6EIM!%TsAB{%xYodnsp)}qu0s0^ zL%BC_e4g{yd3F-4`!ICKQT0d6e|^kXPuo}iM2@94y(D^FikkY*J4l{JY9pH3I0lY6 zvIiW9x{g2}rh!#y>zxaGM3$_M*;%muSP8yp=ou8+@R}s)NjFZ5pUABu-ZmyfYFKYz3A(AkV6mg{9gesuH?_%S;R)}0$s-psS;U8%jI&4#4GQcx^;goV+nH3gXYEh2g#Z}5$vr7ZXK2+vt` zb5Xrrd(2B{QykOyHl@j(O~)DAzj%9p2;UBi#I(AnL3oHSG1Ev)t%_wNgxG~DX9#rh z`4=&2IL;;N(2BlF1$A;g5c~1wO1YdJ-`Yo91uU1wwY-2;b&T4;DA93Yb9?v|s~?t$ zX?6Ugm|2oi(E__du{}9v^vjUt#w}YTuc-bKMO%~{4L^$;e#G@MA$kDSF~~&B7?k&y z9r0y)lBVNvYo}$s5PwRNgU_%~OxuNG-o5Ma&%=vx{lZ(@LQO!#pcd1RTlqbX5bhBG zQX5Rw2N@dC0@fE(%X&i2D6_@8>7#KAC`8fGKgdTg$|y)HWGBHNIx*3{y^RRat%3`O zrwQ}EJ}mGZQ2?t2eWG`;D50QYk3dV7zw9Swjt?5_xbU53uI0gXwA`I#__KC`%&x&m z_@+ZAQx%ehV%jbgL(cu%8#rK!w0Maas91AF+Ey8-(y7M`PZ*_VxnaZ~T^=5;4SyU` zG|&m3W{e_f*8DiToCXzg{JWS0E6q#@L*kqd>%_FS4MSOxztqmqA`wm);8n0$mRe|Z znhBjUdKROcklXcl#gHOzpTQf4zBSc$_*P7q%_fjgRjly%XZ6F;m^X@@H@~ z*uBH?k;(JTjJTlLfhEV|U~wABxk$+9_gnf(F~=)HAGc&z5WVo_>?F7=#ZaL9e#*og zxgU*Dv@xLC6;(VLELogk#2-a7s1TuON0YH25qM3riv>84}G#wvXz*MyH(D_Dgi$O}#vc{fYUc~~r_ zJ;h@FMh|Rc6uni2iExdYQk;$iM-6%l0CEqV>k&5=vL*sqJeI{^ZhDhd6jDhFnJWbH zu7O?+qQ5Y>9e@oq*7dV|K#LZOX+OkbURjvz?5Hm#nrL92R7?g-4nb>A&a@IYB?wyp z-1kV(wC$X3kk<8T$#5rCiNRuKL8!=z8@ecCP!%B>dDeyGL#%b2lg$M*?? zbqw#y4U5T=S%naCa@{#*;j_<&HHXJu@#gSD)@A0RMqM#G3-&DwzVjmhZo$@K57 z02xni%99z^NWY9{MSGLYG?rLsv)$XZhG7TNodx-3hYVThI6qs1j{^#5p+U&YTNxa! zXSi02X}em?^(MT++NCfw9B{9_Hc%@FehRD$#0KkyM(`NDXNqQ2WfLZo6ho0* zzO^%NRFrinB7zKX%<;buJOmvZn;udMK5-4MoUaYs4W&jfEEd!HmIlk4p~&B2&UVDT zzoOcCKyHIi-!UA2xWi!;DE;rNt*!it7)L)Bv0oS3sgN@Y;OE+6M*5$=H7pj>`j!R3 z#{J`v%f}w}^OY#QuLC!_g5)6g;C*S(o?H?gWqGhZ<8p9dY!ya1XnCq8f1-xPhgjUU$QNs{N-zq;B3!RN__ zwPM;sD~8Q$f4iIk#2%9Gz}uUKRYKpes=*%>Fx1+wu^0n=oTR)C-t|U1lNU5{YsliP zvw?wvhs)1dIRa%c5IsPexPvI6SSzNDy%l^dkJuAI= zgnL(TDv7d!QP{WEXmTNkIX?{?hTJ=jyl8wXVLT~EX^7FfC%7^q@f+wII5u1isL7X; zQSc)}fP_`zbzR;GHte~8Rf7wXWG_Z-yp=#_CVcoCpDmY3>a4i6+fq5@(miNX^nFl+ zu$CTW-_bTlJ3nQo!0`hXGhQgKf89tlDbGJ~!zV{*Fj&FqzDvL3dzvu}FIbDCyse<4 z-^Vs(VQoL6*{r%```10E0|@Jm+fp%Ymx@8T^eqWans(HeFF7T3c@x7j&hVBbY@!zB zypAYVz!xJx)~_48k3|$9Is_QgT=|5y>gwn2LCf+bf#SH9a|9SCKWFE_(f-4bQ&ba& z3~AA8WMDDBN-^Xz+U-o)Ulv>gRYz8>iWyZUmvl_f;_k2OG3Q}A^gNvd#|8}*H{@r` zynz#B+6m18i#4p!0qNs=-%gF=hYi@{O)cVOV42nXWADQsU8wa=wDAdgI8}~cH@qk9+YCy3P_JIry;sG2G zHxMAf+C zIB@i`wBSP%MqRkH6BcvLfDyZFh|m^gMV66pWsCk;p&%2HI~ErRl{n-!=Me>)Z-?84 zhN7W31Ii>j#~XBoin4vZWTp!*T$%acI&oBjhID5;IATcwGH+y?#!AKQv;_>s5V|%Da#< zWq`$xEm$Z67^zfb?Yqd?1J$hftPrQ4sOx=SK&cT!sncq$IA~}hT-bacQhK#>F1iw! zc>Pe5ofe5{bKeKDzkPYoSS28hqETu=enMq)E0-C& zfS8Xphe3N_9#^h?t1~hyaLB%fo*;!XWg0Op64Pei&&G?cm}`JAVY7li z1Z*T(%_J?{5J66iSK9e#0)bc;gnD_Z4mtiyWS_MXCNKFhqk>6d%#SNuAv*!itqBBt z`VulQ#3E4yes+XNgja-tLB|i;_S9Vef(doX{s}R~^pI1JwpDZTi;bd6qZYplOorVK z>G>oI$#J$h<)W^k8?H;kLNRS_)QI$Iog~3@#2YbPM_~nQC}A)^0p5U!s3vqhfk4F$ zB1JJmSNy%33yA%UcYTfHsY+jNnFo#?zMFa6yn8O{f;>|xdk{(J_S?4zj&m^>vi03+9zTV zTp3$>RBOfGZspMTWj=tq=);Lm`p%gzvkP#JosQF;YOW@b-;}d(T^_ zxR0+DGG-^OEpb0P?){N@E|wIot|-~-Cccd$XdmT&0Ty-HSD%RH%=D8T$Vu>|i7#W@bV^%lS}3ON zLNQFdUtYfvnT-Xzl-5p_SVRH3fw&v<_@*M1TdT_}8x^KD?m{E8N2l;B*qbP8Bcx6b zXw(B1cSW5xdKRcyuO2W82ELb@QBli2dk#!f^aZ3yYu(~$e(=svr+lnA0E*ki$)@oXhg(cEl#5|r-uZ#d?C3X0&tOW7=?~XNgL6|G*ifRH_ zB*02H!8`-r)Lk~8GCGI#HlWU{ab+98ELG2w7gUOm#601Dtps?=*IF@8$Gjy#RIA<+ zU_AUNiLm}_vW=1~xzw?k@x-%hYFw3!lDycdf*KF|6SHQYm?0p$;d`#&FnOf0N_rL% z?p!CEKyaLX{Ln+xY+ER%KZIh$f=+Mq0bsqPC7QS;Ch$jm#w?XN#E-|vh7U!i0+hcD zk(xhmAWO@{uDX`Gj05Q!j=2mkZ!wT~&vA|DE1M5GD;*6B#q@IJNbfvyIw7TmSC^6Jt+VL?JMteu1t_=J2);|LK05T**bVl5RnuP%py54ylz=%ZY; z;6526CzGkBbz=Ii6B7yXg|ns|F{Emo^duN6$rXO{Rlo$mA0^}h0Gy+Y5l#XIe4|*| zRz>b)LCAE0kjW=;zP2may$RW?ESep@Xqh>}A zmxP+6BdfuYhPjP4>!hgoo(p|v^!U;29-lHp=b}G1XR7AFu=cbV2KUWuk(hpN`HwRE z4M8V6_f3R=Y7Pz~BJ@>%*VQaE8U$~E%=Afj$oR};kY@1)FYDZaeB{_rIxFO%J-oir zSMzpSBc`V<|NUFLU)ETZi(NL5fH3Zmk&lL83{2ztgpAja`@b#Z6#d^=NEpg4G0kUj z{(CCKoPT@Dsb?lnzqB4O+q*PDMCp}-(XB?;5lU|mr|*#Is&SCNu&i*%9jil5MEs)p zu{s4I;|sLV4uuQLPucnJhd|7~Jjy78S5czSUL_6Qcbr7aX-uPU$tz?{c0SW6IY%mF zFn8HRDD_Uu!}PR|K#`VyeayTNc#9_H zA|x`Z3>`$D&g3N^zZpOo{WP{_cacE>3P1$PXIm$uv4qM?S`3Pz6ZRF~1V7`I{R(O# zglu(~p7#C^C)k(%5B7?tdbFHK&1LimMm2zaB&Gcy zLw8X8j1LP$^7RzdXc~ne_J;0)>QAINSX?_Y=z=T#MO|?qs;%$;6{nb1hv{jLca5d-%E&7h<;Erab`wy@0SZOwZ-N3^|K@SWnFdL83j1jDq%6f=}GMnS#sq_LQ?q|Lir; z!zN-{8K&p@zlR(LkahzZE~;TB_o4)%n1lCtoZ7Uo8LU=t1s6Sv%I{GZQIoQ0f^54& zE>s^sHK)lX11ie7ev;)oG_4EM^M-)A(wngbosK4nSb;K0g+al!jCM=Z4PaQrt%G9& z&>kr<81(fPOgI_cVb;gbJcmQ>>Vf)CZM3Rw$Lvq6Ga*|Srsu8q1AzDva{QUtGr5|V z=A4-P@xYK-!uWV$!xRFYdz(nT4FW-x6W8&iBZq>_Q|+Q z)u&Zqdft*>eECh50wn!J)G40mlz*ShaK@$9I-W*dib1GaASPVZ!X_zNf2IOt`-##l zYk$Qo*a?hi!AbCLSa1?npy1;dXc28jwNjRa>ANh;OlP>2~nE)Bp(V1uQSZaQF- zr#6?zerYsumLW#yF~e0~mxeQ7`2m7?Q>9>8idZHY7a7wFcMF}2IOt5-An+{jy|}p8 zt5o)`k)G>4OGK5kX0ExqgqfNuv09d(Vx;M^js`k?=y&S--=lFW!}PK{ML@Lq^_Vj( zlquumPU1z8ODPaY6Y6d}QKPUy=odpz7$e-{&-k|nBfRwaDZW2{<`$4;^FQLh=x!GePT$h*tlds#&>beo!0-GICdN5U{#o2w+sk<`Ry^sSDUKD zuFJ=T26Tu-mkR}6?Npo(X}CuXO@YnM_#qccgLjK07#M!TI4PbwD5BZB(Zr0uQ z`6UA%Tt17+Mt}*@fcU(9XbU1{&QN(hWfqf1FV+Nt+jPz3kjG#nw>D`Xw&k=SOs`u5 zINwY!8MO5mSwhAs5XvBoOwHvGK0f5>6Ynd<>2;Hkumu483VwaqGrnTt0Qmd|0+jh2 zEn|IZ=_zKXzq(T(${P)kQD$@sv?N`yHz>#PMj=OsVrG12TN{e!kFX@ujLM<8$uW`w zBFS~&&MV}Bx<^___Yazq4Q+yC=qmr~(>bjN)9cm%&R2>ydPKG-&3M*T%Xc3g#^wO% zBy6X02?iojbTs6RP%8OIJMiI6Mznoe{XmU2Hy?XG<6o%VJpYV8aPr5mT}opxub7?x z>X!cyr~Q4Jks~>FH#ieSA>MZ`2b$MEMj2H|rq$IArsMaNc?cH6z1|iu5o8A5vnq_f z%Dm_w@^!0t-I7exdN93h=}!RTpCKni1&;ewqq7qaw`ubicm1^_Y*>LzF0ANCa2HAU zH5cECnGF09co_;AAT$`w11F&`m34`a)>5BQJnxBl?qXy+LW5fYZL@ygsH|Im*k8Q=N zx@fL(V#Xze_mJ-sRnsMjjCjlgGq)wVa!c4u%fa-vLe^BHs=+d#qUx;~xlOz`LiFg7tKYqd$0#m@0m8QEiHODR1U}w#1NSOPSR zr-Ymtk}^sV7q$sFL9&HXmrX}s6Nd;%_jvH%7Z4NnB$zoAZFMFz?f^#hZIFbU3ulX> z1-=vddbB3R&6L$(`a=yyTg>al5AJW+e7G9>1O}`(`k(NXx&F?Zh6_0Zr!nji7n($1 zAJ9t*8V8UhG)a`!xOwMmp-c+rN-;YF{t$z~nDU>;9GB-#sf#k|IAO6M+eAP6fEg7= z^H{nufm}uNloWzX&>;YjW3IdyV-5O26&Pr1F_``kgCS-}BmX$&dOr1-nCQc40Lptx znjVw58&4VS^FaO_&4c2(Z4>6Bjio2Ow0R?DvUyvz5k{5OTT83K^dD+4@o&F5&sJpI zI-EDu#ig$GM@R=AH5@LkV-=xvid`?te7#r z=YG}K2Yzaf**Wls8q9mlQ2`N#}qHs;=OCyTKHosNVr^R4;-*O-`tCxsTRmI^^Vn2i2HguYis*KD? zncS2E8R_${R5s`AvF;r_8+BAUnGhs*+LcB4A-SXL2^*-0&;fb#z5SJKo)&}YeanFm zx8HieA%-=~Gf38#L>wY{pfh-CfNZ@1yGWuT2)`e=(@jGHv)K6!pi>Q-V}#$J^!VCf zd(Zq0@fq}=7ClKy_s%I+gX#T87x;2(B;@!H8S)@4!+M~oaONp%3WJ}X$|Hy>uqvrR zli>E>k^YbX5*QrXnsc>*1r6&BR78IgvExy-bXg_sr21$&5B7ZzSgzNY$9Tcbf##xt zqSda(8f6AP6drU_$c@~uAhdUUJP}B#bFCp*E+I}vY?9=Z7gc5ie&BPfn7`si(`qpN zp#~Ev<$9ljvf_^tli3C)CQJcI#!)vg2#z1Adv}Q!1>3?b8c#*bha8y-_>AHig+_PESOBtnVkY{iMu8q!YtP)c&dVYkyF2Vbs#*p0pU|JZDrXSi^6SpSP_@61Z+k6(wx`=sc5twYCqRw(KeQZz|_!PfmM(P#97Cn@7=0qXD z^QN5AjKJ^P1wX3#dB|}Y1&Hh6a!+3e-?snt+gg32DLV{e?#LHoRITTaI8k-X z&Vr-tF`qA!(1Iw88o6&DTb>Fo%{R+Dxzay(Sd4IFWOk! zS47&8OcX}y+i{~D9pw}ZRSu9b4^7}>E>C3?fc;l@MrnnHehoZ8a`+u|792YkwANRT z(FuG!?&1z#51GyGs}AXC_CbgS$ykP7nFNh{4*m6A)J4yTqa)+8CCJoZ+C`1Lh$R3M z#JFU=#;{=_{_N@#Az#kOeQZgPLGc?;o3@q@5cq)JW?2Oe>{6MSN4>eM0;{fPoXC-J zW90P}=S{GVFwmAp;99v-F3t@+-TBOn*wkAT0Q%I{?@%E?Al(ZcDK+^b%I~QCGZMeYi;xC}g724KN^m{S9Hyv&WAM z4XG@{vE>;IYGs)e6x^8=a-6<{wJqO1z9Zm5h3qu=l!O5e`gS%t-~>ketOO>Bci8lV zQmHfbyo?i$7Jxm~#1}|Iz}vN&{v-iMW5!kUx}MobeXvpn*AjBn!|h;Ns)syb6#FSV z4epXKNy1LQV`kTt;R;{uWKO2n3PY^mQ;cQb&r!V}$g86XgTyIPDxa}4mqeD1+qnd? zwMmRSZ4EKxgQ26raucI^-*qT|t@G?WxQoI_W%ey-{DEYj9F-UfOolyxt)`z(BI4^j zGoZ#Cf;B~)m+Qs~bAV2)XHE$8-WAs*YXx_(UtN9X`@n`ibg-{g%Vk-ZzRSYcqWWjd z73((S{TRVz6+n`O;fxiy2>gZ>V=!A}M;%u38` z{J08IKTU8v#2iU4VQXtKKk#sJkI4+war?KpZiX5zB_H7%&o9t$1_C^ zH9ThFV;ap}M>qaN1mKVv8hR8)i7z9aKIJtOv$No?3L`D|*QT5NA@N25#+t0-fqTWF z%jgW9&1emLhoTaqv!_k0w_Bj>%Pw|m!2hhXsfV#t=02r8L9^w@Wqft8bnlmfb{3p_ zHyHi>n_kKL!WdwEeSYN+;!t!Vl+Xp+?+5lz%W?Hrm$lqzc?wnlD|LLvYoF-Ap96dtB0>0~|7HEe0+6EkSFYbg^pfbgoGQ5ydE zqAnz{Vs;w5wr=oUW~^A;@RaU0!>FWLU8eVrtXPP$Dhm!kX0)hXR-)HUWTXU#02tSr zT*(wN<3%x5{5+|3{g{Vm@%sKnAbW-EB)F@>FadlE8CNk$DWZWUpaQis)IwT`s4On8 zt1w3fx`upClgst@rh_D?L!+B+sqb(E@}@s$D1n-kU1LfyI|p8Qk2${qHsb97BiRr# zWM6yQHol*@;4*qcr&~=5>qEE*K+GY?JmgFn<;WZbXA6f6m7|^>72Vh)jIgVB>ilBo zbU9?_z=tS|$k6@OH6DU6orl5M)S)7O72$|7z6MnqD{N^iIPMEg{U(s^XHEd*kHk&w zP}U|BA;dWs$Qe};mCmA+;&-*?1cJUPW+%a276wMmUnX@-3!xa&Ie79sSpTz~lqsK1 z^U3muh4Iy;Q}duwb=rQ=c#Jrg%vjtYSOd8i0n2f!5QUJL8Am#y$M2j1##|PL>DRs) zDS&1MoalpAw|ej zjgkJ7<#w#|43;H|8g$heEB$G3wg+>YCZy}bC8B^2qd`VIXs&m#X#qR^II(jyYX&(D zl(v7M2`($c^j#T7V8LG@M_40HZ~6QMjgz-ZU|~)f>j|OB{We@$&sX#U9-3WMV%kVZ z&$M7B9Vp~nmiGMJEjNV2ec7e&+SmNoY zHc600B!8d2SYTSiD8p{}qN#TTg)TQ;vE;noNEL3A8rn>4Qpp6c>y6)L? zps+?iV`g^H*c~7Ph6XB^3#$=~hy>STouk@0PBQ}t+UGb)bKH_$5}L=1CjNx9R`Wnq zaA#j|=5{*f47iy6%96T`lEt^PrD4XoB|(W(|E@K_xk%z%>Y~8Mt?50GbwS0WWgZ<@ zU1yXD>j-ISHYc}0XrrXW2mp~=-x^4&#ThU|@z0xWVMm7yQ=aKt+~kPv@Yp|4-%9@u`VtpLtIF~6$zd`jZjF!%Y!9EHh%AUGis zew6+MPxP;^4tYi}`TA*nsF*#18-3%Tc z{B>lL>Q8X~(F84T;QxzwJ2`VC+3Yn$F zkroR&{z2Rg&Byr~wx8$M*U$X2ILtWrMzFrR!ZCqA7F6ADvb6p>VquNp8}k*-aPjtx zNb#Pl45aI=cMGEw=ZGffz!h{xaJ4NR7?JEW;HQsyD>keTGj@HLe|emflm(|f7?4Uw zR_xnx4>_}sEO~*|3aXK?b@ELEOO*I=`LCS><&BUgmjz-*+S6ctWfcQaJ*1j9DSH~u zRhn_;0j>-2m$9Jxm=?w#2eViPh!0CDS^(r()WADtW|74<>9@0mB!A0+De!tXfetEW zr@^$LV;CjBoQ?QdkwidH16C9qL9V*!02oUktl>Sk7{1YLGY$uEJ|DJ2NF-s~Krg;* zB2M%TTC;YEY*DmhD_7ie4s*h65Iu1qLY00u|v3v#cSl^6HQ48cg-%T9U$P%{Ym5pgkj>+LJPEC&xRXm z5cB|&03L)Kg;e$r&M%t_=_xnq@GML7L~X4y)B-VM7l>h6`4;ko5&BCxkIR!27X5~J z#ws;{|Dm^YVt+VqATBJEfuIJ!xD_&dj6ST^k?AJgpFsCNAaLu~7fYa4fRHzUD73@h zAs5V2Sy|FvHeHr>I0UVO_WWcEtgMX^B_m$kdf+NPvi4K~3YO%u*h<`Aj0nyp#9MG= zyQC~mHgA`=6eta4rxWYLjIUg`EMX5U3QlZF<46+s7kb%KT5x^Se04lBy?j{j3 z0OH@^GZV?IQMe$Wj#RPiF0pQ1LG6=KG& z5F;@DYwrpi2lQB;vMU!8r7m{T5XY7W-EqJ`3{CVTM9yv;ZXAIDL0G~9j+wRzeKKb{ zOX$1WM<3vq4)SGkffptuCds7k7Ze$pp%k8IFknq zm+|0ab3tqlIsUD<^1T!uGREZ6z)L5xS8<_t8yH;G2{5PsFl0&LL3EX9BzmCVI|H$- zfow3doU$U8^`Zv>t94SumAp9Cyz7g!yettja{dn^W?LQI8;~ak_36GcAX5VSDww~S z2S&v54t@|Jk|SoeS(nEz#!N0UtPnHuwhb)v1u%tcK{={)G7v|hXx5AzN+a0zh;bTc z3B#r{g<~K~fpi}WiYhA80f==Si#BEP;n4*%o9bgBLjfo3Q$3E03@gNpyrn-ZYJZ0u zrR~%l4KsjKlES)}DUroQqaaX`QAESl^gB~9-&%j5p-{g?Am>~bN%49y)&D`ZJHYHrB1)rZ!~$=rjK&tUATpMYtFlNV8D)H&cR7^(+d8ak_$ zvOLVld+uv*W7|jpMKBltN5eOriVj>BG9NQ!9&s~T8*&)F72~#{qSY{K z>*O<1LCO^-$=@_0VJ7enQOB(`0w?ScmWiatd*QV!6JC~w84r0F4Pf4$vz_1=H7Yms>$7i_^`7dC4*t+2XZe01~q6^=} zkm(cSVgAkd-7@n*xUG+TV{cEi#^M8-g`d<0_ki~WE#=$92Y_;#dOwzU5SjFt(Ko+* znw|Q}miqGhwTyy;U}8}Zc4$$afYN6m8iabc1ij-)9U{t$JBsYp-L8s^!19VMRCmZ4 z85Pq*VZTj7yH3~&X`YMBAx(RQ?A%wjH6R)}ue;00!$_aNlf(9{=ncfKWiXpy)Np#7 z7;pQf9WRdzG{CpW$Ko07MVkDvjs~LSF9Vp2h77-9 zsFbe`c|tVpYjvqPAx~MmmE+n4g%q;$U)k~>EZ~=u!9ueGivvfetu{{?jas8_`D4Z! zfL77ZbSOZr-mO$T@&vR?SFH|4Jmh`|1gMZdB9K{F7`7Px`iZVGAzK}0?CLPlyuWc> z5uUkznP+KFO*PlR#2Y~u`GK;j3R^_&|9#AsqykREb5lNvx0yx!IvGGl``V~=sL6WQ zNi<|yy@8g88M{0Ta(1sNkUky5J?bx*PlE3V`^|~0cme#e-(EaMxWYjG;#)oxH6m}9 zxJ6*}S_Mny9!JG*UF@cKaBvupgs%=Q{jaS(;< z47kg~q&JWh9bP&!SX7`$z8(ZKJ=pEI#Y03@1lqw3?EOR#`rx>Xs;n3sf`T_l-ex0|>@uX8nj z_J}b|QKIEyZeLc18Fe3i)>i`N#0a%feHLl^_34Y5RV%Cw-?i-EQS@fK0g=Zz*UwWf zoFNpzU@fkYseo!;^4K4bTq;mh)6Qio3UH?QDLehuE&YKMdQE@WPl8)d5csKXi9#@T zVN3una+c|9sfbFBKe*3FWrQr!#0pwlv&$iK;m1exgC8%qNbTzMl$FDL$vOSit^32a z^7ScK%w>~wckwbkmkk^f2hQv;kxE-0?CuF{$YJYyV_X2BWatX+Md=UCzXN!gzE6d3 zsk02+&Za+mxaGfvf83?Ft|aVBd(n(_me-UsKIMS0dO)N zzng5d2_=2PT*6QXGJ82djO#I1sBfw=gdUFjBdwUhHWRb;VMg8aUw#F_DCVwgz!19u z^5&hAkR?`{#e!+^N5FmoWr@HuA>oc?15&FzK;!B6fW+dDN9T9U7xZd8->OU^;NJX^+HI!A20xTE7>`>_=#_%i2zl);Kr1D z@Bbnd=AokjHS$n*!>_JdRUtbAJ_KTz4xFz=GZyIA7dOz(F0oB+eT$hTworfc!yTx{ zFjMOQlb&iT*`_0mnAb2LEI;<4re9*yDDCD`^Z6*c7GDjA6hCEWz_zXb-s^moFm>Sa zsJ~xp29tpO(zhU?FMJfX+A!FtDiOE2#a3w3fdlhC43mj5C5{(6E&Q^z^Br=M!W92K%NU@QCG{3i8)u;W0=<&*#yeyyicAUuA=4ODZ9-UEg@o+h5I zLi0S3bK1D@C59afxYI#C_T@Ka$fsiF$>p|o{soY(QlKSbMyvZ{ejz}U0%0QJFwNg( z=E!4)2tE<$wM`*xHAW{>V`=Qxu6o^9bE6{7czQNtGsILl%2={ug&Nh=0-D)zEvT1h zU#dVY5i?r*4@1r(aAa-LD&vk@ASTJj4n*RV@|QwpF-(HdL#E8rmX$39-)~bPBV-H2 zj9nmx=kWXeBL_?4JfYXYFjl_WnB`&K00%xxxsqdrZ8juLvR{nD`e-tT^{Co(`Hol5{jA9VhD&F%`cKzM^ZuCF5+;<2sOVa5-2m?S0MpD|(qlAuhty3e%}!+}w#i1IinG zd)6%X45nx?C0FxnZHA{WI?2x>LZ>}`v96nXt21kmtJQF0KoOmGSG|K8-L2hB#mv|nNXh49 z#CvhXMei95mglZOVXRC1Nw>z=R_3xc%;98rC=Haat|!CdWo&q4N+pFtCa zRp$aPh->jm`0={*5>D`r2WUJ!5a zfu8$Zz?!1tLtbXJe}Z-|>F#W0en)&F&2PLSo2hA(gLPrXt_$-oBSxY$3Ro_SBy7&@ z!U$*~+C0!eruWzlsNvh&|A3)9DoqPN!h$OA!q=VFdX zv@?R%Rx8Dmd==~dluw12-5VseD zq=Fnqlh4$h{DAu~^yLR0t1^mQf)vL>tWrq%l0$78fl~({D34-x@*7+G$I|XKmGps- zF;(1EgyK^w87P8uX4^eUpdOV>(zK3&^4a$^OCh5}o0GPTW9|^yub=u?bkzev;I(G^ zD5qZ*g&Dgj%qVYTF4Wo%WUlyTY+tHGy=7W3%jYj8Y>-a!O=4;n-~C~>fISW#;Zazm z74ndu#8}g;YmvR!vjXy4w;bqWT2>yqL*6kk^@Z?kdtAP!TwoYk3;$VpqoOby?Acrv zMKe`Igkm}ejQk!nH#rMVcvl=4h0G!hD<7r5_)&_%Tn(@7Une8}m($pbadDSf$RkI#xDX2Nkz! z42mQ_6Xp4ER;GSwOFy+K6 zfEIGyb3Wz*z_%%vus-$M7j2H_2!6{9OVz=MCmtPzb4ij@kVAI*oBQ+=i@KMG3`s#_ zLj-owQI+Bcdl%Fkk%+Z=hSti6GRRs1>)iW}V}~Y+!{lC2$mkvZ_9sJz{em6p>zWT` zy?#!A^VjtA)g8WJZW^x?Lmp5^lEonU83@jB>0ejlpA>$dbE5_ z21xWJ-+&g%@GOH?EmD_>9N0^q)o0o1Z|>}e`ZDC=#=u8YKzoo&fK2(Y8-8WzNnvHH z#ZkV4vmSeHmfgLBu%p^i5!&)%ohZam!-0v9BlN&TKLXjbsi2Ds! zMW|+MP~`)Mo@!ik)S1vJ`vZW+W|EaBr-qf8o-@ibBo)Q{VVOjvBtQuHeEo|vf)wDG z9|9<>NJ`|8sxaNAmrDDFrZ>~2Aq2a%&%m+j4w%Ra95hF(!|C-q%6#H063%B zT%IU?(8!T;7`lDW25)N9i^hD@88A|K2V}mG4&U8yJcbb!Yw>xu*0*AI27GA2h-Q-C zZs#^FX9XCQ&yU3_j}C4*C#A#4m*Zu8N?20xZZg!5ba~%&@K_^0fK+`wXO=87v^>v; zBHGF39OCx#XHm?~f!EG|$Zu>qg`AM<0H$1#e)Ua<&k}Tip$R>(IlsXJ9XDi!#{)Kp z?l-_4W<2XL#|wN&ca((EpxC%K!Ja14xqBAv)f}>O;I0M3A^d%9aN!@)DbQchq#Eh) z(aP~J4Vo|V01j}tJ+ztbrKJu6a*zB2(^-*>!PH!H&LR9cPdO4kA(v~BrWiK()^HAd zXu$|IfS=&cnEy(HM+ayZsHaZ=d=x)B1^qQY&53qUP}!h{VHm2QnXN~qm)$pgtvC=< zqt9BpN%k&N&`yHaJ^<}+TxX>EAWaRaUQ-GIMx+^LjKt_T9-p9opkNv%pgIV=J zv=T%Kn}V(?G-+)!fwvUh&GD%pyz;X3<;K0m2AGWF zZpPT}nD(GNrCd~eG@JvUQZVF`>o1oxy7Tdeft8EX)=dEfQZ4P(F`_kLJb)MmAYVc0#76 zTi|gCYboaDn0GCh+Fs1GEazI_#z;_(ARqLAh7yE)V!LGcQ+5`20 z2?&R#!}@+%tdL}l#{$;C`hJrnp=WfS(ko8uL3ane?*R);sh6M`cV*Ff*zL^Au6wPD z@)eH(F(YN}ESoq+5jKkWwt{Q`8FjH9Ts_JFK96FlAE=9D_b6z_wuR7`(yvg=!!hq^ zFpk)pCZUx1*@v=rC_pHb20<$!IFNZ8U2W8Z^Ul0AejvCfcg!-EXov@~1X0YeYOn!P z>h98PQOsC5_XS@CoE!;CF;B<5dnGYi{uweOx{S#HGwzGs$)y>2TzDrpES6eAE&jRq zNZG%4xFqcDz9F}%%{#ZE>LBhqGzi5+QOMLIQw0*jwT%0XYyM~w;&RFE3*a6Wc2(>C zZ%rp_NdP&Tqbg)-Kr)}6a)iAK;ZlRm|p>+yj08( zpXEO3sA+a9KLTt=zNK^4AT zSZ&l3{Qv8ZxdmKuk{hK_xi@RTx?p>tb%1z)&j!-iJuj66YOm?$^_pyyOyS1e(WQpP zU}kFn<#R3*b#5^P0i&c_@dM>mB)$^{m`f9MOmX%WfB>}{3v8Y!^HV|VNAZ%7kSzu? zQ~z&6#)yN-ScgP#owva@rV&tsDgsVR4~@yFTmf|iEFz`^VVm#yR6J75PJ+7{j9{{_ zM+0rP3$TYar3mhFG^)h!5{&U?=Yk7O2DAs~#QEvg31TRTbPQsZ*AfKRj~MhJ}K%oON090wPkS_j%Bn z(Qo{DJ%1&nhTLaACQh^wr!z6sCM4tapyPIyC)_+O2Q$;pUU0tZ(UH>B1(6_=LN^c3RptvrUI5sgI$>_dEy^or3l{P=$KFLW*_p=pYX5I&)*Gv0~ z>{%R`$#FzgqDroxPkRUy1qQ7fc@(cBed;Oq#w;|~XSj$4LYzeQaS(b`)gj{y8g^Hj zrg;#A@z;FcnlN+Mgu%D;tq_GS%FeV@nfNt1B>_!GBt7z4FP9B`Mg``CC+exJ_GtwZ z3QOFAY_Z1ju|xJ7!AjdLK!%hzIM17y^WrMSe`)TkEDAGo{c)b(w(<-G@fbph3$O8H z(Po)L^5E!vgqNaUXed`viO>Z+5GMRUab%E*NNer|l;G&QuYxMkitJZgVre*QC!c5M z!MsgGX>wlXF?@Rr#_0ta=-@g=%+k4qBq-fw9yD_l_B)WytJwSBcTl6=4qD_RN{Esj zB-hi=8O8N#>w?H9vdwk9k%1);vz1|H-bSL@qrJo&iS%HFfX&JUL9nlSgQicK|EKVZ z8Fd;Ic>#{3E-cC?X3GDronTrHYl9vl8sjw*g}E!iN`w`o^DljwwD9q2Okio4nfH@ORW*{eVP@WeG3VPD7l1hkamlC1N3pAZ217+xq^}n#rzdS6n7zuw zu-^Pj#>sf5!lCaA018hk2dI<6$LtNsC08^!D_SoUtPyebgj z#}uay$sCkJ;&C94cVJ?F7=!~E@JoW}NQrHTT9Tt1L)kd|M3pnXW=Pi}WeNs|Tv>)a;;{BB3T zw($QQ@`ZMQ7ikg(yxQVYG57zN-G8*)B4p>l@*@Y1myjv=A<)WH7$<~tx~9{55Zj0h z;F6QUmNx44LJL*rvp&L@81-rV&ZvHM&oTAlP1T)2w=3E7xcxX8V^bzj%+7&j_sp%Y z9xWtBPzn00bFs1d0WCaHB|edWuty7SAQOd0$dhn0u1~GO6`HW~Vj;I`4IJX6Bf|I5 z(%ueQ7=a%GmY$~&%ELPeYs1VR+A#G^{xL~uA4P#yF#LTpMF5CKA;mx}w+b_3NqO#!S0748t@B{bM8=Kjcdi1WkZ6 z2XpK=BXfxmL>WdkBgJcVR+AQIVhWj5Wu6a34LBgOR;QF5tEj`r@ti;TjDv?Xup2zL z;@Rpjv&?^XpexM>eYQ|em%Pe2&_LLAcbT_#=^X@q%?_|Ugu60CL@sVNcE#tpi&19~ zQUS>T(*9p+!YgP{IVkVPmMZ~J*aW(*MG!;cffQqGSVyK%rE z#vsub8-z=4KgOc7ohl}MG@JyV@-Wz_zg*4$79r#$ZaLrpz;XWwQFp4ZW8B` za6usP1e#6GE0+M}rE4519FBxR{=^?on^fsjNq99s;5^8(H0moX&mD7I?1!{B$taA( zKKRf+;0d_g=c6$?+xjqb*N4F+=J#WUX^qz+S_=X|#PJ|xPzF(MfN8dDf&{*zECXL1 zr!0#re~1ta5lm6#h`!p=d2vYN2vA_S6Pei;9d95`an)cBL@JWs zKxe_aWkH-F--`Ws0p<5~K3%_n+4TEwoQw-sRJN<}cZLD&8#1(f?%$;SkG%p>FOL`2 z^ZhJD{i){lVqKLj5XquC!`PJ?GFG6Rug* zMu?9NXpP@X?ra_(!&9|9Xv9lg0|WT(Hnr@wUmWk!dJ60LGX+=P-M45`V*0iU2{b(DeOi$FmFWY9algP4=y zBk$fop2j)5V*~Mn1n-NPdZ#WN!N-Apo)(9hyEx4IQ3kjiy>?`1sH&Z-QG_aFM+0(PS}6}I_4L~ z?L(cmrD0~fT}@gJ~X~(lm|Y$Jair|+)%+; zBg?Wvj;zY&LUj>XLIZhFqdm%8fJiss3fb9jmxk$Ybbh?qX4E@CN#ZKL47)$2gn~+k z-VZzFp3tBuco>|+mww>VpaY@Ng?fTDAP0g32bB`vN5h$QXCQ*bYCgZcki2;QD8wv+)Jc}eCiYE@=l-_r~NK@*sG1YSl6B7-*W)4-6BQQ}2T&z*MU z{jpAlv)>PGn79vKATfZS&;&zqK9X|Wu=a)+uqiROi343V&uGGCM_%hPewz;q0LW-) zse$}5W_SoY7Ujv$Ip{z(0fiZ#4cc8lW@o=$8z%MF!l>YKA)X-;s&r%`&QyRD4ek5h zi|6|7Kuq@%Z4Jo$-D#hfyp#&$?bAg@+y)RjmTq2?%cVl@17?w{eCvIyF0wYvd}_n+ z$(}E^YG6#U`vNZ};rY|#K;E^4tiwrRAri`DIenm8tVpxuepL#fo&Nb<Km%+BEhx>XTGt13VXMI{d(9c~q%Q@lP#MzREbaLvIQlOHKN zttf@!6iyjSoayVh7ym_&IJ$j*VgJWQQ$8X)Lo9*{Pyokz268!7-517zBX zOC3L4KWtkZ*`U)E+#yHVn9xb^EI}bBh$6tmbOOw_augN!bZr5`jX-u`dN+`$!5{&H2WJw&9VpQ%nEv#2k#E!{4N9IEFm z4>SAL0AhpjaxhROM!yQZZUKDpiiD+n(gRK%a=m{EUp~4YXz(TFN7LFV8RF>k*|75C z1(a$@PRj*?t=qy3C$xt1VwB#y6U)QQr#uY&_?LSQrXO~W6zUM}H09IPrP0L2Yt|(L ziT3x2D>)w~Ha!on>j|2)A?TJq=n{)}q-O)7HhZ#j${w4?1=O0aW^2RDzHI{W<$a4d zerN#pL&95#ZHj?X@Kb1DUnAFRv5gN!WRs%3>f8v$h-Y#X64W(EEa!r@+;H!=kF|tE ziS+F=&J&K<`EOT-K_vg>Vvg>C&XU`AfB{|lpbc_M98d||cs~`_I=qyup(4h&w>&S} zaYe9O+B#p%QCrZl{K&p)h;18me@|K!E!x2FH*BPs@_cNn{xa z0*pNXY9RZ=eu~lZy`SO`G5m_(JytSdd~|4D&*MDRIjU8^P)A;RdR`Ihma{g@?0W*# zTl_2LCTCw38-TP>bW=6~|Bk0c5oSv-;MoD0!DA65N#aqT7m%?na+Y1{l`H6qIN%Sm zT~-^2q1MlAVtJU^e=Gu{KKsWtsI)$QVE+)`&=3=qFW8~qi!N(*C54g?C=DOOqje9+ zAM_;9X*g%DxoyW=NijPE_KhGIA9Vgd(UX3ND&j;JPoFazhp_edAnyKzGen~mz0v|| zL|@4BG-MSKp3)rig+uA=KbOQ7h?%=UOu`)P?Lb$7KoHQ8(Go3!kVl|wCqRKAuWAWS zPqbvY5K&mU#g4QAJefWsyXmt*4nzxE-=~0#R&~@^l%Z_HmlH3ehx(R?nGcDW1*H4^ zL;(;m-Nb+zVa?OSIFvOZ|MXKXewrHrCI{%5z?ZXhyD|G1O*dG@jXK=VnJMU5uBUpe zVs0oOoaP?@VL!W{vyC9 zgboBBuzBfI9`%YjA?jOgu^ts^Hi!q|CsvP(>}c?pVs;YTMPg(r^cHhra*NI#GfyT0 z3$)*{35PUMv{z#p&oZjA!bJ4_;Vsi3dGPr8nEad>J7KEy1CFd89Fr9J2%+}yOUG%>f9GMqKm+QTK}U$BIX&tJ1*`8qGAH& zp}tjO=GexdNcp^^ZXr&_32J>)0;gF|-#*EV$HB{)E6=C1#Gj6U40kA3x^`5@Wlc<1U4u#Gn|aLw$ftx~xSL zW<7}dtmlkGS*wbTQQ)}}AvWI-4E>y$d~iRf(}{5GfSA{qb9G@byA=J0wEB3^h+qI; ziAqGYL7Ew)E(@FUcw?mS`3aiU9)g@wDEZhZ$Fn=qn#Ymzt?sR(eJ}y`1r2~@DrhId zT`1;V52S(MWHkUB21M^A+u6(ltVsHa1rN_T&T|8?!q{6Ak6VxcbeFi8@GO@1dK~T} zEfFaO9z*-cgwgCV(KOdF@2BN>l9giS52YA3g)cd!3AnPj#YLYoA2-7R)-eKY9l z6sE}9mogTz>=^rWXmx1eUfRdc0(cEfa|ac8eG5BOY}wXg?3>ihDdr~s)U|jAhak~E zjCq*%EgPSY@xn}&ikWlEgVA5U;Jf(y%PW|fFYjYIb^R05ULNO!IQ~7(ae#*G!YM|| z=WLuJYw;%*#yA?`f=~zL-Pgopz^hQq&VzHygI9TxgYZP!4@5(NGqwWK`q$aVwG z#fZ5x&Kq!mnID`eVSL(@3J6}NPY@*(F;5(9wzu(;#N{+IFrJ5W)%e8#6?IeSQI2?< zhJqIP9dT6lc+Rt=fOw5r$ea0dKPa3?>l*K~dB9P0dc?dvzKKd#IQdyrt z@=blce|&ss&*=N$lP9-$cD2-}UTm{KoXXqDVli`W&0rZX>fTsiF^u`TC7sLPkgXq* zu<(qRycCE4EH4|9d6746@U2vZSlFrqDJyTYjZZ!S;Hy4X)p7iyHq6F%St?60I|a_I z7eqkg<<2;b^<<6+2AgrR?hJ5T;2^}ccK-^55r2wk-{?5%x8CpZ`DO|3P3j>(XC%g= zyZHgW#n>estO9g2G{DmvXt9_%f8b%#oARGP&XEo-^}{Dt1YTl-@r$bxXMn8B8L$tZ zKEUHk`d{By5ZnefeFHbjv6x`dk{x(P=s{zdqQ(mAk49JH#0~T`J7_1txg|mDv)_^+ zQ{alF0{1kG0}1RW;0-8Hbbw!a(1np4U=s+X2xoi?(JoI9AmuDrOhbV)cJQ+)W?+g_ zhodtp2lC~2^Rq2ZR*RXtS`7RA*8@E$*oRQ?+{IEqg3B!|pdjgJ>;P1QCa*F|M=v|Ma|ib_1=T39U-=Z5$xH&KtdN}pcd;0d6mKC%i3OpA^$FS{ zd3x?e?aup#`-w(%NK9R@s*rtSLUE7kF3B$PV&yfBffa}(&yxzMh~bd;U!c%rt(bZ3 z(b4rjVTiuWcjvFGC(n;%^WYVHsI& zbBofI>6>fw%2C8lfY-JUj8pNZ;oM%!IY68B{>4e|D3ZjjjEPGF&3Q{TfnV1Rm-76a z3py&6<9e7C@rLe)9Mv3q0e_udUd@SxV&>KU!;q`=9y)%s4W!I%6%n6u6AhZzHGPOl z(NkknrH2fIr8!~%p+Agrh}b$Y^V$KS@uI&Wc<@w#8Iuq#y-q1(P@wVqr4mh5`$v=g zGiyrAmIOJnZ^*38C_wn}t*=PukWp|l+g#WakprPS9SlbOQo=~o4QH8{`H+d>A(xje zRe@c42z%GzFk;FkloWv2=+C&whHqsu@DLa$$z$){Uy{uWiZb<-bwwxK!~mWi3y)&b^M6N5r2JbsBdCm^YiU7~WdyOVZ-@i8*Hm43{;_a_6- z6>bnf3hOE3G=S$Q-{w|IqeL$#c2;%ldv*ROD!nRDz zb#B|hmfi*$a3SgLvz0)g532)=AAp9s(6DJh2OTZVox^SH?^7!`}t5^N&>$I}Pt#+mIaGfQczI=m2(v zh9Ry`6iYV&^8&<>=lNrhPaqfvMnqXqA=o?xOLy-|n$~ zpF+rZT^Wew^V-DwHDx$*hs>Y`mk4;&OOB4qCf>e9{KAkyYAc#H9B4}VC?f-)S%w8- zu5-(N3AvVkoc<6d-P7O9s1V1i4y}0BNj^f;zavJ78i6&2O^dI6%0lhe@P&*FU&Lg7*59Y3j*``3uAk~K@2j2x zW^8PG3@+LM5CHfPe-{=F)NesuI@)KTxi_jLvthlCQ_jjg^+%yEvVqs-#+Thxz%1k+`D8$-KiFpSZ4!emy*L#X2jEi=axWnNy5ov-U)q;|=^gMs zG+2e!JF{@SLx?{Fslab@8e|7hfSEJNFHwMjCB9=$AYVxu@j-qBZBBTGSFxzr(g#wB zA?#FLB?f@=;-lf@m-g20Z7>dp4kEZ(xl`YOTUd4gTtQWoDDisELHC(p4gglo_X~)Z z1WKpqM3z-BV~0SYVljuP6-{Bp%{6Y?$ZGmgxObZ$vy)%i`GC|kFONA(z89fbmL#xU znjqmBz$OF$IDjPV5*Ka8SS4OaipE>sJHnB{H!W#eGXZo#0m=K=!t;@}6Mj{Z`0Hx^ zXc=7OTO8&}Tl&j;fFJU3>JJ`bN^(MjF!f<2uxHa$tWp4%&5?>@k1swnR;}kE&t{Eg6o0- zc*T#+))!Bb##7|Orqg4W*ktQY#y;h{K@Up49uIYWgwy~Ix5ybiuZS~ErGW#)m*vzV zpU(r8gC7~&(lFOU8peIei-|dPFS|(cM3?anij556((ds-j4E4|n;Ey2%EnPgNXMMWF(`1)PCrff~64lJd#u zaQ+c)QE15cdh%Iu9xHA9U_&J9!d!XJfcSd+zM6qm;LVyCYw~$jR5%VyCxCfH6;sSo zOL)JN=8(z+%W-?fOQ5?6Bn4H%F{6oqe3ZUV{4lmkiV`77n{iV`lpL?!LcYMqrjCk}> za54C`0JJX5_0Wa+`*Q{^dw`Z_5`qQ~7ZuxH%&1YbWTYzVbu`+5QANVQ?({*4PdK(> zqf3Td_Z%W%$FrPU1KZl-Ud0+zXTwkv#q1Qg>%#oY4gn}i3a3kC!ILc@M0^W4ql1Y|0wX#X8kLTo7Z3p0ydKH}Y}FZll2OjQz!?`D&1MQK z9*0eJGw?35_L4`7KkFLG+E#_ReyGBfHwy7zfjbcO{~v2-f*d)LB-;z6K;S$4{ulf9 zR2=~z2>#BItn8Ya8Fm$EL^#|wU7n}`aK;s_tS;9^40Fz)NqJFdGqd8xbI=$EOHiAj zD=O4F&RtSk)1y)3j;nzB$+9prKa=2oyifw+{#F=TNCm_r#V3esqYFpZVS^!*Ohysn zso|B?npSg{;3l4&G-tpE*Y(^O&mNjLNY8+a#jjw;K=WI|IawBFe#ycB)BAZi0Ay_p zhzqxl2K6eBKr5GBiX&As7&J9EWx2#%Gok&QLA%K&bnSf|bhHaNEZxQb^`Oy5V`8lU zu!8n<&bl!3sSER4(0~t^CCE@jx?MWaR26J>4zLZZP2x)4B&Nq$f2X>?*)k#)Q-ERD zMTr1DL9%K6cBc_@yf9-!x<(KBBR!BT3^Sj?FyIb<4mE0$Lo2jsBvND)?45QR^2H@v zOXFdvfrDNKSh3%?5D2?>4)6&EJ{J!HFg$34W-wW-AkOL=9Pcza`79d;f ztgSBLf#p}Mkevm;bYXsZ%G8T3Q_>?wGlvF<&|Jj)TYu@U!&@m*22&;&<)z*3x_Iqr z{|_vr*JGYw=e)O$*S63&5;H3H<%E==FJe%ag<1qt>tV*f8#WOWHhzQz$x*&$ z|Aj2Cc0HY}7WXN0i9_1XmopU}c!%QAWun0?lI@Wi?aDE*+^*rHD7>iUFT0iu@DIZ@ zIMkn84tU$)RXgrcIW62yd>=OM3c2JcHXO1u;8PRkmyj7X9&+wwM7MJ#DP)4;QDW09 z)Bv_}v@1=*Tp7Z_r`Bf?G6rRHo~sDWpilB)Xa?#EtD@WCTCa$~nItbRtqC*BBmW^| z{Zi`7%JuW7LNe1Oa3AK%N16K@tTP-{8vXH^92LohBp7tqF8juaW511K)e}?`4w+vH z6`_S(#nVM~h9zNUeWX7Lu6~D%lNLL<=pg_AIPcsQR zNG?dZd_peTwBmsvA9;s70Ad%HMwKy{$~lO9kbXRc8OU=gmsk>J)<^n_&+4U`>#}_k zZ1)i1{;;{lt_~z_P3s5q%O&PXO;~^SkTBvDb7ESpTCxfE?!yeSXX|+hYFhPQCxh<; z6jxvO;7&0+|2-vP1XOt$9YvQHw;YU-1C!SHx2(d7l^Jhj!U5$EzlbKCOq}7iU6AG- z%pQWF@o&dfNW{20<|sfHCWXx}n>`_mhyD5HM)cL`}p#rbuJpn&|^rIB1?In3S)h#NwX^DZ{y-J#QM^B3_Rk zrf=mc^>0P&?Xojje+7J>E?)H!*BtiP?k~qC8NP< z0h5JG%J8wk61Hq*U!a|jsJ9GLkQQ3nbNiC`OV)##^^yDHgM0P0h|kH;704dibt#<* zx0NdXAttw?fQa~kEbM`k-HLoJTa=nqlb*aD2@hD%R$$`Y*u;*(-J_dTjbTlg`K1Xn zUMMmNvLu%g8-#*+sC`;E5On-Zgo=is36tmqG6Qn7h6kTYE-}fP5OTp^tm-pO%x5kB zNb+~c4PNhFm+TSn0f|T@Yr@R>z`*44W?n$Wu+cyPZN}&*t1L<^BQX-9-Q4wF~FZs_kVEv^C``HfPPX{WJQ=+pZ#Baq;Iok z{2o`-IGgYex`7IvsM8{;t;}H`IW{3lLA%k2gh7 zAv^iCXYwoa)q55KHZd^ohdUroa4cfvNCA)#O!l8BWKn$R%pXy4suu#gNl%K^Bv8!i zkP|ETwNUF2OOu{5<7hN;mLwrqUL`*(!px^4OnDvJRtA-4Pa-2B8f-*e_2H5=BnVUa zV$$b`>+8H>2H-(gz52D-kr*YlW1Du`IxTt>a2)sTWa2K%H3jU<*St%@vB;19v zJOOI7tcLaE0u=_oW2GWbJ3n(IO3ijcEMD-Gm(($0DkSO6S2c zTWT7AXyQm96)Fnjuq)=w{TpvA1qPxvj=3OiY{eJcoeuXSXvAR5@x7L^63o0Q!4NY@ z{+Ig={jX?v*MES^aWF7Ix}6NNNKOb2u*cy?)wJIhCQZ8Dd&yY7uF0qDz`tDT7Ff|)lZn12sBYFt18$iT6GM0NKw!WbAx42-Gv6Z#qV*fy6GB?^t2 zURiYteaUaYfQ4Y@QwRpppO-5me$TCIu{gDDw->Q6dn7oPfYSBjOi4fpmkw02ueT2_ zUxs&uu<%*KA>(R&ETsO%B6v+eugtgj>B}Hh5j*wu=jsnAz|WAWDa6GaO}Jfz5B~^3 zhn*O*gKZbc2#Jy;RwHl`y79Y2NkOs!CS_d=FNja9K^L1DXuFOwRwD?CdVq@nq6sk; zf|*Yt7?cKH8da$yFrI}6NlPt7Shy^>GYO6D-Cv%%<@yjQU`Cd?)|F8AFjN3qeV*m` z8XbvaD*!`PDL;{%Mk*kWKk1BRj80B;3c6El}pf{=V)Z9+SJp5YS0n;#&81ckH!!2t+&Q6zMA16 z0EeS;)P|Lh|N5&cWU?ZfegkC=7C)bmxx=05h6$>L_*M&TN*(y z(q!aGXb~yKCxjfA9krj+;#DkL24?n0-#6aCFCZ+yNJgW|J3+|mNKjLhdJB5*n&8L( z1!RQx6)(=*E>tl8WGeU|GZ9&YG*r5knC2aQmceXkBded!R?(G_Rbb{#1%}bwn{-qb ztpZgUl`OypgcfJ$wSWFc`&Gu62O#Nz8wVnxpRwoYsP%Je)P^t-F{5@3>}UB*F{qRE z4I+|pF)o9-kKS>z3e4>DzdRXJA|_F&%C)uLTJv&-{jGPv~D+)WddnS@!tQfqY zAndQUM5kFHJN-RHV4xwt6#4NG#N9N+L7ZgW0vL8RKp1nEsvlK5)mH-(4nzMci;8gZ zFs+Z1U5Wkd_F#Ul8-v9%y^4N(ysXuGN=v}Z@m%@=b$%Of#RpgpXs3q|4o7l(joJ%P zuAx0Y2MZ%mhU$1409wCFX8he4>MvbN+#02=bJiaE=}EXmVlX0 z37B|jZ~Zky5G|#c(V_!GfLhDp%G21@Xd)oVe@G-r1s#ao&-=&J09`-C96a{yq<=|rg#o@B_ur*NkKO?68rGZD{a?fb z#&)jBOSB(JhnWrKHj?#sE=s7t*~I*qd%kN=&`zM?4n(p-{Trra>z$0BBA9E?|EIW@Xfz?n+mKJU7%Et+^-r^o><1Kjw1OW^fKx zXDu+TilC64|HfnM_m3eD3?M0(ryLY62jU&?wL-U21w~T8(0Ilg3t%hM++t^;!F~YG zvZY_MD|@yqJXa$ocjlr zwsw9XdL#|5FMmvWvV~vf58;=$t|U4q>RNmZ*_o$WDI8Bl(S26%`C3H=B~G+2AAO zB*X8C0u=wHsf{0Z_9oa7NgL$hIeST4N=QoM(nZs8N;n+AN6XUfi{Ht>hIk1Q`#D#5 zl(E@|+1c-={8HRBy@_h#5Q@@x?%L5Fr6_1>WkQQjcNdcff&;Y~BCru5YV_AaiaG}f ze?!#I$9aNnkf9F`no)(1vvkiTAgddLWwwKM0zB&TLBDZA*>G$;AZhNwo-oTADDz6nDkycDshy+I{=z&r+Dek*|3-I zl+v(=TyeNsJflTFk|G%;bGG)&JRbS)oyybk2ZiZ{v^}%e<}q^>iUOW_X0fc|8cax3 zsUp$Sx?XxwFwmIR>?jQ^6eaW0w9I(0@Yz>2cObUDBp@&G(roRQc|2e*h`_xSphv}+ z=J5ZVv;2_(rZR4e-^xzwX~HNQbcM{t+XYrlsI;=e$p9bL(5NzqH^t|H%P+vB=69W+ zE&Vc&<9|M8R8BGrUh^k91*G?P4{S=a#BAA@`ILR3$o+XP6627#HsiWSl^XzsP%n{Bfv)1iHLRfmlO4ZH z3X%y_?ZT--NM%2ys&tt=W1};(S0>o}=A{-DcLc_UelM$riwfBp@G1Ke@AO;9C5nGp z(N6)&5a-wHhm2j+lWd|~=I>>*8|Q@Nm~TyXy!b#!4tl?|l$W?bHsJzy>WsJ=t$hZe z1C+!X%b+9akevaax-U>|UXsbAx{{!8()dM6XC&W08}&ND|Nno zI~J|lo8g%2kby>{-k{JBnp zQ_f+D%hqtH=u41=;r`>^xG^6}m2FSlfMcAF(Wo^pWG$RKxZ6xZ+8MIUyVk&# z#%x~)qa+C~_#q=@=sV8o?@Rb)yw=PU+uA6)vMlLje9BqgJ1jERsy{(n@usE-tKd~ghS9oq6z{{zSQfM`*cMaaOIKzE##U*=Q!CF-;{;feVI_!H>t z`IUH4adnu;8N_S4BgFk_Oa`+FNSabAQSKvcAr7c>LETjyaXe0t6L*}3B6jY33cv6P z{PK|DJjl6%v9}p9OjkPBXFN>R7!90`^j0Ok$qMRolo>8D_6Lx7qEw>=+h(`tEk%iO zI;?Rk7M)8f0X&S}J`2Ch`B?qs@`jQt81`*owpk+=>+4b%sbJ_Ja=;*KEKs)+DXs~` zfGEO!l8?(8qNM|+O2y2Kxh?M5HOhco%NTIM2r~KaP|Qw#^O5}Yj=sEqh@st9li=`F zouPRHUFyioI<3G^5*DBBNLi@ zF_Zq99^-xdGG6>{I2*?X^sw$zyzFEn7KzQH9?l!5BBN&YAi$N;UE42*I?a}#g#+xe zc?=?jEn;r>#UwF<_J^XwG+X-Ly7jC0k>nCNsdX%CSkaJKV>u&a(Br2FG2<+{1Xnm z@gZBZ?Xtj5JC_~YYFb{u{8X$Y~65BL}iX%Y9hBeB}al~^{rsW83)!`e8wQv6>>V{ zg*CrS6_6iq^f#_DSfo`y<-;L=w|}p_6z~b`L0hN6#6p#`jO83Q$$-DLWEEZvh>@nG zXu4m@pZFcIN)yxb47u^?tyW4*S1;dbH^D?GWE>iY&+>H0&-U;2DaX5oiV@m05q*b@ zY)MMsi;2P#KBbaL1uTto8XDJNu|HP^*H%roid|O*11IeBzMAalw-WryMI+8TB{d;y z4iF)KNx!`BSog6_7@P4RSeg$PMl7G`GbpB|N)qQ)j4b#U4DIU0eP@RPsMup%A2}jPkHUMxc8;o-#HHIXmQUGx!%J6?`}u zp|Nd03Jx+!xF~jF?07)>dSjAkD5&J9mLtdZOM7C+_6m8I16uRCn6(M*mRQ=kc$Z#A z9PGHTAIn$8TpaWK4<9p)36bFS*0}@f&FzMVj$VD0D4Rk?XDwT@9P{C_pd@TuIALqW z4Nb%+!}%{g+CSk5-|h^i%yRC^T9(VC0)mWW(cubJjf@K8Fwg^0K|oXP7ls+gsDXS4 zojPW;1gKX00&2%>$XwC-Vb#*$L!C^D^WRhbB@WuFtz}_NexjnFN;KbGzpa(doE6YPwf{2XqlKM0X{$y(xpu^#JWNL_OU(f$K-m!TxlZr5CVAiG#U`#h^T@fywT<8@nlQ4*zZ z+)(_vI+No3m&)J73_G@6uCmPB9PV@7AK z*0c~iV)Z)Y==G_#^yA|LOM-vq;{2EDe;IPz(;MA?2VB6MINgqha6Dy7`~UP{A-1Lb z8Knv)A&!~*k7>`opE8Py*$MC_{!-!-?PLe4js*- zsjo$4>n6L)wl8D&2+p9cVy=~~kENIbv`_0lxRmibHrLWgO4X|K?Jl*a2mA#|=(oz~ zC`kMp&Vc!no-+0U=oq5~6|W3EYn04L&ljuDFarC8EC-4#o-V59y5?|FMUhZ1Ag(@E zn9KM%uQ|j0RY&t1>!w#RqIzac&vFqH#zD>=;>Iz+f>~ z_dYZ`K65tExb7)e9GtpaujW8&1~inOeged;JEJ-QKDA%SY;Uw9>A2gJQr_O9DglDW zuPQ?2dL8c{{UbutMe4Kgz&-^ia18{GFbG(~{HR*dvO2yda~RTU0l&J|({3?WC%~Kd zi_A>&3%5Cwvmjw$`qW_E4sUu;(bSfKziZReca3Ub>m1T8yEYJvg_`2+A{Z&?ogddN za7_1QkH{up0*Z5e9f)0X&`yD0@-G#2{U1RmY58^SX^Pe_VuW@`gn4H!$PkQvY9|pu zAp)?0=jAmXK#z8Uz!_X*PJtF@`_`F@G!tLP{9Ip#Ss*lXu1P zK&w@rRr?F-$~b`(2=UE|7+wgMC7vadF41zXcM$t2G~T7eQr1X=B-r!QKNL%{xaqJ2 z(BT*bhL2))68w^XiPGlfcII_pC!SGm$yKuaDmCz|Lz|`m`T8SgJplbS#xj`dXl{u3On$2&ss1ZsbaybRqw`y|_jm%E#q7E1 zKr}1j=+wBATxq~?+$H~+t5aZpq`-I3st_=N=`E}nM-{MT%hnC%G#|P>VRK6 z9<44xrxsm~*(vZT{qnCdYY?H-z>G+q@SkfgOCK1<`4uyaDUcC*o*%*B3g$#Fx1ay% zt)826V17Ej>K=%rV2>|97H6}MF!1Cw;xn*BMW>$iB z?g7n}n_nh3h(fWjhB;g6((>!__=+C2DEV9u8J5x%d8@2cf-qEE*yb@$ploTSl0qu! z=6QVxNVz%vl_v%!zjzYFS&AcvF?3n`qH3TYKo4lNSxN1Wv}`A~fcQyC`tRmRK+YSJ zUbdg3fk^g<9$9-nqle_75tIfjQvCK6Bmfn$lV5pufUkWvAv0fRWDSoDXqEMeNq1{pfj#zw)_o|(C0H+Gg}C#=#e{P zsFWb$_`OgmS?gE8{2qWd=e{q|m)D5t^wItts4@zABgh;|MU1t<1xXDwz5`Y|ab%lT z!11qL6$a%tj&n&eJdQYH?zBL*Y-i_i#Czwa{NiKh=G<2vxeqbzw}|6Xj?xE7T^#4g zOMKD{ASCxF;117thbek=`Ic8lOq6e!Ot8 zinu%XJr!TxBmRXh1rFw^)eYR|K*18X24ocP+xJX~57q#=>@}C0z@OH@DC&Ld>eMJ9 zkYY5%0X3Q8xj=X7drH3icKSpHQ7*}S2 z=gWsseIMUCZQMcVt^1{<6!R#*JM%pyUucqE(#SG_M}VFNTTbchcsQ(b;@RC}$B$#< z*4d`vU@>k4%YlM7tS~ld$9a}_>9HzTPtvrBtN@(z5|26rV06gNd|#3;<;9TTSKF1z z5aax#u>dO4lE%yWU$;qOVi=0rdtnN*A} A2_h(@t~9cdW&^{`vZC_R^jCYWfe4 zGS&xjnuTwO3R?N3zRX=!p!%XovCaic4c6fbjixs{WB?}Pl15rV`syR~ap3>{ zA(zLWbzx8w$M@5aCEmc>g@G3iFmi^X4jC3CX50$-Lly=Bh~C+vx3b0cR=7L!Jr!T- z+fn{CWKx&Yf&zKm>VmqJ_aPJOlghYvX(hY}*F1!+XxG^8b#DFb9K=xZj&6|V1y zCc&|ua$Espu4~!s9zq_@ef5$1P*3~okh7di9=R_rfY}hKtziC3+!>#cNnHptLGQ0; zfx))2e+vaO8rq?Aeq*ABb6@?MeEuJv@(a5e5o@H#5lX38TUf=r9o0cBpkxe)dzjNPx{|))63rITfI=qXy4N0~MF{wMx4ay2ZF-xH_sfyZn*rS;Hal%zRmqUE_-= zOgp;%9xdA+QV~1xwMXJBuQWxS3Y0P9b`strX}6k(^f;(%0Uxg{Qt>aOhM|ML1m(CK z@g{7H!WJ5zEnplAV;GoWoOkjLhKq@vP6d2n-xf}MUwSWZ*ai|@)Q5Pz120Q(Jk>ve zh|G9oqwrKb*P-|Gf_#RmIO-%|4oGCza6+j4uigM5rdzgJVt@VwU_R4}}(Lr&3zd0v`m)aOQhz zzLeLaoa0Gs<+F9?R@62)o^k%LTF*36Fr$F+hNo1!4Lsuq(14Jj6W0I z2HzKmw?n`186SK>Av^Q6N9Oz2G?EVtdZ@qR&X^j5ekx_?89=k3hp!7Ge*RXEHP+hU zvmUD=s-TKJJ5t4@vwS%7wMXWw;GX_EAGOn!Z*(rrBey8!!~Z zY_%QCpKo?Y6rOxqkO3D)0Ei=sc6`4})uU!=yS*<@MN4TaV&}g84fuSu?m~>co!e_X zl5~>6%4Rk(qvF!$iYSUjbVXe-XusSRh*F{m0J@QlTk=EBR1$hRTvE&e&^k+4 zXEQiw)q4gUFXE0@Ao+Nv^LndW{fV5!lx!1@hCdgf>u}zCO1+RYU!L(hKO^0hUc>{% zOJf2s$w<%PS93cRjEHy}kJC*G3hdTB2cU>xEue@yvkUa*cVPoiOd{gxwD(kcdA$`x zo82^X9QFyo*mD<67WTi)Gqg;#K(ju_40QRX*(XIHX=e5%GT3STwxtMs2h`^17a5`X z7+>q(>8y7XdRevF}#oYkPQtKKuwTJ?3k^?_OTO5pRL9Z|^6dQYL3e+?PkBo@C1QhRs;U*}?H?cSv9 ze^cOsTl2%1DMH5nYTbK4W4z9p&U#-uFZ~4qm2h&8(!NM;EyEhntP>|1C~%Pq#8F_E zy760}3RmT>ar0{?Pb1J2@7f|$QtN9x$4>!(Jxp|9*vWKm$u3J8UJ*O%-DF;bV=nI` z?5>tCP8XV<@Z5OFvus!#HYR(Xz*!Kgj8)Q#Znh= zS$oj2P?J*%1q#_|Z#>f;Jnrv^e@)atmL4@HJnJgD9`Kd@w#`#T4e>9iQlprh_7!FdQ-n{Zym1$$ZO6?=x zFDXIqa-y<>mPW|5f&EBdsMNAM@r_5~D{n#q8KHn}+`cqqs}c|U==3It=42(2jAIP{ zB-9Ir^w)hcq~%)T$=7`WpO_nOi%7ZT8rM_C?_-Xy`=ableB<~JpK=i(hem2jGVHc~ zlI9b&$QY-;ZIuEXgm=zGJj&fhFfbjrdFrSn#BCh0^WJ#my?=D@#^Z(&ZV?srke16C zGQUJqnCw&6x#)FGc;`(<4msS3gsD??713NFJMldwUf$0ImFjk8q3Q9X&PBp>3Hy(@ zhOBHI?|&q6hCn;7-*v^&{;?B|52-F27|zFr$UHxV>U!VTu|Vs@ysophQ^d}DcZC=B z&FSyQ$vJ;-CF7uMf;=^@LA)L=u=36@5$0zTqjA;AgB-4Jm{2}wYhT?+;dAL8ocQXp zJM%piUO>IRJY@XTS_k4qhGN=bQx)z^$lmF&h%pGzk!al!9?$j*F6`7a~J@c?(VL(b{@O+}|+#fu?5xX;z@4W!~y zU2p|CD=K1!CqHv_*`4{0uR-UFAWcHV8m%IH+A64nWVeB+W=Yg^{k-T{5pEFVnvhqS z72TDqI~xfW@4^+iO78h>Zh@lI#!aXv53Nyii?TcMJ+)o%yn8vw6Zi9-QUdE4rckS= z22~y<=8y?v{BBbYDL_EtbwwucI>=0spdC?jjx+I<_!XB4P-hdq79;o>fkAi3lKdp( zafMMiUDak^kzxeB#za6qR1}O4TGe z{TN$|`yfa49Hq%3ot+rTlAQOR!Y==cVaQ1oBpI$0lu|$EB3>cvM+S6}{hYPP&nhiP zKeEI$gs92zxH;spSIZQYdEXY$$9U1<~@+v-?2ejV;i*mml&E%!?Y^W!%c+Lx^|Mx?wP#+ zbi5gT;P5e#$7dFJ&SjZUOw*GlwcR+~5v&&JtD2-&9I?~hm#)h%^DHW}r2|}aQ|f+e zSPh}A2Kl=?Vk|T85s250pzaY@Ou z{GsA!ISR56nQLgMuDT@Wy{E1Vbd8s%ydx1^B$h21$f9#mS;Zu#WKgnHbmCGB z7z>~lGDSD+`izP{0ccOC>#P!vK~V7~=MsYANL3#5BF_m0tdO1f=5xol|Dr31$|A-Q zj2ANSK*4>HHJ!5Jjvu1ENc=20!Z1{!;<=5Jk)b5;%K#*X!rhcN2Ee*lxVRp2$nU;SfKuKsgh79MWmwd9&cL{t-+v8ZCY%*J*qvHxxr0 z1ZhXgr{R3e1=_|pu~wVgQI^po=9k4M!@2J+?7~Nj3fhm52c|#J*rToi%{q5O*Tukt zTo^|K&-C~fK>iz|{iGN0rJvKx=fSF^$-!csW&w$pvMXC;i9|#El0>)fWx!LK9hU6m zH@~2rud7rxTgP>2%wiLm<0jIejhQGWkgpI=qTRd@IfXnaH^nXsrxkJ*U_qfFh+aJd z2i`&{qMt9x4V{ea>^C3T5AmYcI|Bk9Yo;Q-zwVH^r4P2Rs7(kKfY9U4MN(AL9=EYQ zFR(h&_)%+N4X6Z5a8Kf}-y8~=Rh+FX_0OZMt9vdx`#q&yB$E7km_bS4cZwq|qH*%z zg?Etor1^sC`-b~Nl|mYyIt1j~^dATH6@W!X-ywyzv4T~_`>Tl4T< z5dMQ})D< zWWb(G>|I^SHN9p_4CUhx#BdAN%=bLNx-RLd>w+2FTgZ$ifL$=(0+rK6-I|gktunP6 zM&+b<{W7pYsU+S!6Zg&$k2@0onh%lz^?>QomIO%FN(b;GLdpvHW2#cD>yn(>MFwt?YE>=klJ;lzi;Vo5 z{Qzg5%hXZ@1p+Y&JrAu`K4A|KvVxH06YRD$CxgHam+}(rKMAKpLsSO z(eX{iFV=NQH(i(CUcX;Ud@XbC5SNKceAjj{dhB#3ZUNneKyYx~EVLG!=>EeYp@Kr$ zaB$Um!Bau%#l^BNY487G#L$_M0OJ_SNca=5gnp?zCxM-hIBir|{)W2A959HCl)nt< zi$z`1Q`80j|i!ORD}AN&xm@;)UoEKrj>x2fp%4;Da#+#_umc39Bg z0cP$C?gW<=3%aDIpvy1iJuJsfxtCgcS5fH;4i7v8*HDAwF|#Oc$T^^Bg6PQA`C&X* zDqf_RDy;q*cj4k>U4%|rF%MKhzFnh=C0)`}(&b-i*3kKKk?*~vf$s>H3Pu@N##!By zy0>_U9v?#`v}_KRjvI3!9}L{O{gj>fo`Np(ojStAlTkImE;Pa0G-(ndE$IvOCZA=f zBNPmn^zy2X+gXl_FW!EHkI%C#DTkjoMx21OrKL2;L_E2PvY<=)5_I{;g8`=q1wS0; zhy0*!NJ;9-1S@Nd6EcEOOnhW6<1eHnJ9(-&pBUCHp59x~CEW#G_Fo<|cGcU6>z$?) ziP0)1MtoCAuqBOkc+4o`u>r+p4u`wjQYV^#y$wlpjB`|ko>J*cXSp!`b#YJo*z#E7 zD0?+`q*%`-J@s6EIT&F1S#KrWWPx5GR}?lahh|%J##0oLNWWF+ zvL@T~INI%CD1U#%qG!k>JATJAS7(X~{gia=N7!B?=6@&UD`Ka;YTzM zX&_4+P}+)c$e8mF_7jjMqcDwnt!PYpIYzPbZVWaLwt5N~TT`Y4%TGY(m5}3h8d|hD zji7R)ch6cbDLqmj5N8(`8o9>m0F^SN5UKb*! z1ApO4bY~4!2%STl&a<3%9zni)Yp2Nh$0@j2$t69NTrlZt~$R}C;2UBNGns%;r_#itQvIb?A}*i#?3GLBvrsQSUyVuidn zbOiJ?Ny#Irz!(%NJP-eTY0@ZUXTC2T7im?#gv@)TUpO+=q>_>^9u+8?8f0^HUqm4i z$)LfdK{UAEc%G2u7~un_Se2((aPaX}#^G0L64YSLIZq>7l-pd}TgN5cbzFWAxq$`W zQAnmto~tNo7#?HCM~P_$FzcB3hv2rfC*~KD2SWSVn;t2_R&6YFb0~Rkq5;}12k}3MICbB&P+0wUt+4LdrU(QksRvl zG52^xxx2iB$ZwI?VjY+C)Nx7W)f5)bs*QvKD})~arVdRM=!OToP((zzF`~$YNYAUr zFs|OVs=P)NNe5$rGnX(Xq*LUN{g)kcMfq{T17PfU*=`+|lppDjHu@#~#fQ0#IBs#j zHJL&v#Q+s#PK#j6xTL3yOT08M_yAHCR_m-I0aEYM6G1@^?lWqswF@7B zG;-Y3EYsLSGjsji7?HV{&s_P`XZTmLB~amX<~jr&wl5j*)kWn4;qad-rCUtavh zki{S*{E#C#Z1a>+0!O?~ zvXfu=N`7xfn!J5=*Hbm0fdp+?AFIdO(8q=l_%Dvy@*Rv$Bm6CQKuu8C5ym(@f+Y4 zi?gz~?Unf|V>Jv$1kSkhl@AJ{9PeXEtH1};MiK5wc!3k3kCc$(e(JV&T)vMA*}1Pg zavzh|A0aEx|M)5!1YfA1uSndE!g(gEPTu-!y1awFi8-v%d~^m<_+29b*;py$A;Q0( zGBWVhxz9o_sXlUFn=dsH)Wx{*sT<;-10OJ`jW_8o9?&R~sOyxTC~wDsNhCy0`fauq zCqvi~fJ5skOZ!>;<|#Qg`P2gUf)z4Ky&ZCe?Bw@UazUE>ZL~$P!^V-3`#394RGy27 z7dvAf^{U|TDk45K9&s41vs{r1gy{-=p|6nJvEkjokKs&uB!F%Z{dK-0*%h*r-&4tD z)YrKS`y%G{o!*RwU2G^Qgdz!6s0pe(BkcnJO)M99dbh*e$!!^PRUqSe#mt1|u=)^G zNlV3L-kD9Nf%^xWsFDHaCnMu?xB<@_m2EDSifRltv~mRQ02O%uc77Baxd9Fp z#mLWNX4W*5M)-$y1ENr35B%V#7M%>lEMeLCzlh`HZq-^YsXq376g_X8+IYB>Xk?5= z*OApoP1b+N3MR4K{z&z(gG7eYj9=lnCu|Z7PU-AJ95VD2HVpbP1;a~U8HrJLTUss$ zY+N5^XTSQ)e#}%}`zZ87XpfO0!X-&E@;rWi`LQ#=JR58#=GZ6FWnPmP8f+Hk89lOf znB!JQ{LAGs2vX62Gb$IG@FV;ga%d)GYq_MmmdmdpR~VnXe4sBW9_7ppPrlM*FtTLr zi1QgFmmMdgp%?C|jEk{B}XXo|4+#1cL{SEH&RkHR0tW8EJD?6;5B;@N{X@t;W`>oTcX^7 zL2&8oG$S>0B-4}^KG`qeIMglb>-gmw)nGxF)E=Wxnwg*J8Ts&K zLkq&~IZc0o6g%l{+4SRe_KBH2aw$?VZ`P4V>s_Mk9vF_exQCN=6jfVmON8blgHbH$ zl5UbNS_H!U{f=3i4?e?v{e^z^AB$L{(GuMtH#Wz)Kr*W6CPg(N$)?XB5&KGJAO(dS zhb#TD(#WYGhg#g<}5Rd})bQ!5+)aNPlncx|`g&bnSN!n?{GKY$} zpcMUbX*dIZX}Y{mUvRI-BYr^sPOOQPv>_fVX2eJPD(6y18*n0it=nHi$ciZrHz4w;^*E`QeZe!r0TXj6d13a|jD)(Cz4R z!4r{0*RimoOKQ*b7g_9W_yS7jnr78$8!^U5G@-jReCB%0aRgzM&<}8CZbuo7I|09% zmz8`FAahqPVVuw`X`N_QCrbHHynWN@41Q4#9K$tI-~Ar2vOB*`G5{PK9vbY(sj$Bj1WhuT3;E%3dhW_V3P_We?F?T#iB0h zDe8jO-^+~w^A^@*{Bw+%cMFctVpp&?{<~%w=owC6TENPXr#VB`a)+Q<+S|w-BXRa3 z*)JNsnNoIvY_}oX?DTgU>=diIq^GLOFH|E;xTDgE!^;YdIgGJd+zbs`a3A&-m`r+b zG8QnsKXOUbgc&p<6A%}39176<&e$2{WS{1NH|DXbjDr!AGPY%1(o@#upF_p~ll6`e z3dc?9j+Hf3Kiuw@@V3Z+-0ohB;7P3oYs5m4QOY+$)w(X}rt5-;b>!rikP{<6ZVQ;e zk*l)(9rqy#D0xvdzkiTsM?vJ3**5A}pOB{n@umR!>nX<}*=T_k8a^iLnxiJnKXkW? zbzM?__J527f7WssPlI}iGaQ8j+jET)F|J1Hjteafy?|Js2~W%Hj&;b5${gpVadL4h zbjD_*V`mNhLCw>gRajb_U41$JvAW(rr@x!DOFZUi>Hi)*iSNM^JsIU2S_X%x;GjM) zA3yS2mLn)AzPUm!jPk80hQGDy3RtBV&8>=q;7>pOIyQG`C3ol@OOMntq!rpjDjSr%_g&XnofdwI1 zQ*P!Khj5pn0oVe3cRn{WxcjJbB1f>xUP(Jc$@7^7?VMEQ18Ag^S;kk5u3ayn)m_p} z-KG5VH7AHn1K2?S30>wYKbJ~B{IcB`@wl0RzRU-kT_HzX18vY{z8e;W?EE+Ozd9N5 zLhQIVNZ*oekCFHXMVh*)-i+=eIZqgTR8r{iUH4pt=vm;(AKclp=TOcjjrAP~w-^K}=qMpFxOqa9T)$BZ;X{4Y1Bk*xQXPJ|{b z%X?5>NRHVV@G0@adh7i;!#&PWIS*;EW%b!Wxp#H3al1*>a~{HCD^Q@FJybe_pXXWpKwO?+*1{VR&uIq<3T0!Zzx2E}uozFw0On<%>b$&n ztt^0nzjR@qzyb`-GctxbxT-Mk5|k@x2s-goqNr~7w2l6=fB+eglHWkYl)CfAy*koz zqId(F;`-S&aUNn`w%Pnnp9c*0y(3D2!FX6WvWnnBHtx{A;uJBQU%n{@q$F$S_c zyKPBm*YL|y%+7&Np_lf~IjV8NcZP|0L-K9f5{BaH!@H~`r)`Q#L5Nw3#cyyKql0$_ zFf{l-&bnC}xYJGi<7JDCd;Y$(6|!^SP3eVSk)7^q;|iGw9U+UR+i75c66dy-Vy@H$ z<0FN1gd;s3-07k|hzrW8X~Hh7n1QC&h0gh`hZ%LD`j@_%z-pio2A4A42O33VJqJa(M8;vJ!xFQ&p%nlrK2Z6ZsM$nnqg}xp@XW}HTjw%jQ zE`9->0-sthuOUk+Y&*@`$fYIO=VQQAqts*#p^znV$W%)^-g37ZV1AkalpMQR!c2-1 zF4MX*puSrK9|=k{qZTr%$Jet%b_RTky~KlgIm_|ZfawFBQy>U|k>j(5F3_T_Lzl-2 zTx`NRYir;IO(K!E?gZojgovdLh3Hd+*5;iju8Py`V7DrI<4qZ-}OD& zzDh$C=9fdRh(_k+*p1Q9^jSXSS<=?3N7A~4Y`K?o^#3&EMyEZaz(OACxC4zkc%7(9 zE1h3)$c6rE)FqPA1+paMsO_Tx8~1UNLU#VU>%E{Ix&OT?BDA+z3eUvk!aNq4=Me-2q9B2nayfl4Qo z)oTXRnu-jh!0VE7Oi)a8w-8!obxoa*0LVZ$zj1Df%)dx<23aa(r@v#~L&nARuR|_O zgC9cpKXa43ifOs4__>20i4g{m3TYGIfndg_ehq4j86*rb(|XKnWixV;(Jl)kuF5cAQ)Gl=My*<`DBP8s#c8 z(MLxxUS7{gTAh9aQK`hQrI?-l=5qts!0P^t8Bqt;+EbVtxSmw`;Fx#B`Ox?gCyf#q zgZfURHH6dnRQZ(9u$ShTOLe(s3GA+cmIUXtgvabnqTar+4ck!6PJcJa7sdQuf4&Oq zq|~f;$m~e`E?%WgfRYMinR;VwhuM!%G&gu(l5cg)(M^?oe0d}QlcD@yP!n77DrV=u z`51z}KW4z}M2IYdnSQ&V!CIjV@b`U~rY}M`3%0~MEVDNF3>2fo1*IjTvGX5Ugav>@ z0~#-6eq8DCs~mm3fJMGd3fcK@J{rLCHn;tij?K*Qi;m57K1))5Jah(;6e$e4_s_kI zoWq96hby_i(DR=I}ZQn zlEXz45+8$e^Q9u>EbQH)Bnl#kmRU`@*%_fh0uUu4$}T>ki!|Vrt}%9YFG|=|AfczKgF<%pn~&}< zI-(beUAm4q1cPP=y#3z1X01*B2vUlZM%1Wa2INDIxtX*>&g{oCXP95muJt&djWQT0 z9a(k%5@;hm_N~sjn8I?3RmjeM^U?ez<`i!iv)T=WI^!~hQmLnmMh63;!3$z7goCL+ zB_<38aA;SJ!Fq9sUS8{3W_Nt_x^o7Yg6?}cV-1eIB457*+N$MV(oOC~$c*&nol!wd z0Uz!BlUN}hrg(w4fv%B7jRGu6%uyXdp`jDKby8?)76grudh}zatYjzt#e4637F$WH z`TOj%s|8=seY?dBL*?Zu?+kE`H4t83rN{1YV3Md?#qVF73}z_8+QetJr`!9-6-MF) zPvU+R$#P^rbpp_o7X+>2sJ5+XK1w{C6@}a!@+1ABRPqusg>bwNNIppj`mlNm3Jy@5 zcOfMS8Id;Rl)9+61=7uDW(!mMklqVFOd)q@zCUXG4n_r3ijnz(#U2W|JLE_6$Kd!! z$Ylz4j`b^P_$fsuxjM@SV>ytw3YnRtbBPsS^8QGE_>I3z1>)u2kcpEL zzz)5_9CElvuy~k4C|{$8!=M5ks7&0KlsMz?L-S~~$lU$W(a`?;1TY{HnFkO@+oVgz zAJ|CKCu2J1Cj_)mCVU4SHOA;$l#a-3RM_iNFCddQF!)o}7hH2-s!6zUJ5+Fv=@P|< zjsiKK6$lV+J!f9nzR=;9^8f_6L*7xonop#AwdPCSpBT_Q-{zl@fb?D#u3WhD>z;!J zAI}VAX%zwuGy@ts4bx2N2An}Be0EW;1RcWkOF_rojXdy=)`UeP@H-d!AM^QY-Iu(N z=YxKQlr%(`QA>)75xRh|dIU|fnpGqb16Ox^y-8i*Yj7>TLzPXht+7i?X%;m32PsyQ zxm}DoiXMd3I2zG3^O2&Jf{AOHr^H7bID{QBXi5yzeKfSGL&ixlH!KwuGZW&K)!K1IqNDO9ENa)!-#V2%>)3K;zr^I! z`S?T%W`M&uY{WHE6a>W`6;-BmN#gTEr0$2hL#{+$jd~gy^?{kWqH}oM#~1{YYku^#%9C zQ6nw9bsWoSmG1Zgq|GJtajQZt|B}-q3BtMm8S*bjBkq9w6p*I;l0Z6LC^{+a%qQf) z4l@b%UrlS(+OapN%SY^D6#yykTUy@17pSCK0Vbzs4g@pxmQW5ffMMmJm&v$RLCeMw z`MuG6o^@)8R9d+RYhU95%|R+t#O8=$Q81alD@7A=6s%=CrAbU&Qx|9jn4FI18#rER z`-78lpytVIFDnN{-07U-HnEZ`5-=0S1GYk-8WW%8nYGy#_Kv0vWNF9T4lq3~>LIWB za_&3=bYk67eZ)zsC1CPh0%n&~@ZU25%MT`CmUj+LY2w1L)w>3_T~ZHO6e^$QDV6no z&F2hj*K;1IT+uh`G@puX)fzDQrU9ep9543kbH?GiqrI&ME!xAz3Fz2T>2J#0ysG5B z_;C#EOTX%UYPqPVo8~WV1-(}V=i?j){Wvtc#qDjAZ>X+7&||7Ks=KKIR6qkyYU38nV+3L<_GjX+9_2W8^(8RZ)`YqgN}4w=GTd0iRwW)4p%%M7(ffs_zYM?XryBFO+b#4otr5 z!0?!k7x2z+A#>e6A9It(X9hsRl_YnRv#nBkF2H19s5s_6#>Ny|8HMAdApsLqV2VH5 zS1ZBfrxFam>tBal_OId09{_^`X9qYtnCe}2AX(fQc)ihuEX*wqH*7A9k>Yw(Qw5(e z9&=iT5Ff9xY9W}MpPgWPdjm7GD|kF|>Z@!bx^Vha7RRXSLgv)<99?IY{UNquM0Z`! zK*C@RfJ*Z$23{dLU&e2JOg1}ARJiCX)tt@`)k-iqKhU69{QeC2w-LFlkMI6yRhz)L zn?X@>`i`p)#IXc~OdRIqEZCzNV@bK_5a5liw?om4O7)_t6?TLQ*;z0@XQ7C2{X80Q ztG59uJDyzp_Ol9Ag4uZn+ zRWa`xc&z!Yh5i(?vtXWo6EjA_6)56PU&;BJF4GVYX2=!wE44;sILK?(RHfX!!4#?V zASuyyEv-j@T$q0>F(A33E9MGcJf|hlhy9S|bc+y=j=9QEtHI=w|0d+WeatfQ2Au)y8>jjUK46oLo%Xlq^^_}HhvHO+ z^t*y0Wb{nu(kb~!t5mDO>M3NW!1AC2GL3o(nQH&1E4`M)sKiGv zm0ayd>Vj*6g(wr{l5Tef%&ROXgynVHpt2!9bc6+ z0m27=23q*KGPuLZ{tNXEuvATz^+~WZ z7X`zrNQSRiaqbYhZ$~>wD5(SZsm-!;8EQ-^{HG4$d0z=I&J-VuVng<&YDfp5 zJiTxWss&;4T@WTd+3_;HWezhpR3w=hBdaysoJ77xjwvpbLuyAz0BjQ4Rly^_=_~&s zn}eE!{A5qepxRft7r_m{~)_xdj8|899be;4s%L9G?#1DjP5=?3VniAatm)s_B^PiW#H3wqrzoK!?YXab*~lJ0Pw zVSHHGkNZdK_{dgq%E!}5Mlm}9)~``$egkU6k3-+OCjp}exmzz_q!vUG(3!I$Os*X( zI5GP{a`9n)h8l&WRODm0xY{s^xti~$T~zw~6+QTpc5`#6n4JLYGXcU-dW{(&Dj@&* zdm4_JB`xatLr%gGGekEgJt8_FcYOiKBVPWofq=rvlwmday?0m44HNiM?k#{~b_V>C zgki7x%X6+wD6tP?&m(~&1O@4f;9VkLPDd489eY#+W#g}V3dGfvfdI-!>pU}qMkCn* zM|=))+R$^4GqW$}%>sv-n5_wupPDc{gukC@uxa~({l&W@juP8sG(K*k#}mP5#^j=7 zIcA<`N=rPSJ%K879Nx)V{1u4grj)mt{HAkib=gGKB)IK5x3PlL;vx4JYdR}cesl*|d`X8Mb!-MM6``?dL5j9%<(H~}FXiH# zX#2!v#>pHjFa_to>kBGX5iXlvN3rtW-D=CU5NlJ%{2_2y5hi~r!t5`g z_xS87Aoe_2opqj;NQ^sJF_0G>KY1wLuLTtyP+S4y|HlQz|E;H zO~}q`qmZ2eZ;CL=n0QD32ss0sK;xW|1Ul~1P7oEaGo?%vJq8{D=@7}OKrhc!4`;ObEZO{=*?sz=a|(QF!U#L^Go2g~DDFctP+%9Q(TXtj zq5vJ>0+PfZ!OLQ28qE?^Gl1Wp6o{}9|15hlqopX9Hs~b$7@o}9ZtubkO-nqekMMc6 zEKGjN!c17lKSO5cdVK!OA-h|Y2GRbk>wmA1<3%Y=Vc}eJn}cF+gjWTv;9MbNOVh2^ zjZTkPQW<5chQ!#HB6hVbOm5?Oobl)Q5i@^($=cAKpIJK^Y;IfpUbvu+d|exWzpLax zaF;$-%*cq=v4&l$kf}7dfT8Iv;^k+gVO^Nqo`X>2D*ifVsc_%F^5+2XT3AEiQ`5%{ ztHG!-?_fokVXWtjCPciPMwej7q1`q)W=DqYi$`3o3zNTeVgBuCbbBqvrG}JcktpP+ z2#v0l+m1xx+gU;&+voQdjYn81%BD?Q@axS~$WDScS(yLe+Mqz=QNrW_dYi7q9cLDD z4EQQQ=DsyhGlJ!#*dmQv7L9o{Mr2-X)1GASJ==kpqJhCuMehR}x`Ta_; z!?z?=|3x<~m6Z%eh_iWwx6+5p6=mEA9 zUCjwt#e^gVh{Jv>=#Yrx#%9D>(iw6YFStKG#RHQhkB*>@4qwgAfc=pH`x{(1Nr?eK zwg1Dn*D`)*WeSro$xV0vGnmDX2Bi-mE!6DKl@YmxwuDzM8T0^&Gm6{&d#^n~O>B_U zowSjO(^IxAOzvN#h~w?bh|ega>Tz%nG4E;`kb~dLNm`%#T$J2Ax5;!cu4Y7VZzDQB zXW*59+pFfMN|&~uCvxT1%xv!PZUTV5?S3%jQNWJ*ljvd9G z)@lfz79Df_GO`0w*0wNAz6ry`H|lRk10ATcOfY6B;?03SbB zT4Lzsn85>pGnQdbJGsv^OW#a#V&+3)aARZvPSfjXI0fF7VQ@`+vuOPd-UXZB0eQeT zumgJoiU@q*lK)Q{JT>;UGg-44F*pQ}*DHuF_Qp~4ZVV&ahHW*@_4{u;=g}c zp8OIr+|$Qb@YdTIleTzb11R&2FtcNyRT%ZxGvWiunpxI+CcwBNj>EN$v|yKVs`Ep3 z{`-=Jc^9TfcLhqiCZ1ioPkL^Ypg6u2UKS4XA@LZI1*QOLSN@BLc!Mxf_ks#pj;QmG zvbeXE`KlsD9eBuplA|1H)C($$!sJo@!)J`81ZM33K_>Wwn+tr$dzQ4zBBHO5ix$Dt zCw52PRUxzO$!DLHP7~^CO_)6De;9HFt%vUX!CC>D-PM{fu>!jYNTe)M#K2T`G2gG% zNv$F!(RT55hLv)mu9k$!qdhN-ml^19Awwhhdij{CbQ^#mfEM}jHfxS*8?~(HwHA-D zM|RpqcFMjDGz1gPUiRGdV%zTgcb9}w$^2%7%akQ@wuiyJNhDn{<1xGIoxJc6Mv6n$e~pC*+QN*O;<@2M0nCDR&UKopCnV|14ZS8Bcsh(?yY~b0MghB6 zEPw@ENF<6Xl}62)FnK%xq49tGA7HnoeKE`%qh?<7o&9_q-b=6<5-}2=*lqX4;*bnt z&dcGe3Qexl+y>5HephgaE?TNJYr^F5XaL9C9&lAg9gUYPF48>2S7QbU;1oKGY@Aep zB9{tWQsU6}={Q25EQd%P>&}p&%0h=_;4^ZPsd%}im12+Bp0XT6QokcrBV=@N zj!imsdd#TF_+U8u9gpmXz2DD}cc9_mR6u0FFSjfqI5}QtZAy0GDgjmwnD+xLELP>8 z!wl*Ij6RpcvM7h&Q}Ow7F~1Qs zd=+5xh(;5oJgX^kIRndrvT_(b05N{oMUdqwa|u&S$-?k!f)`k~2I4zETseWjk7%@( zYY5UvS_C%B!sO%817g7X_6ow^<8|hW&q`N>EVbr1bXoxkJ_q3{9-hHy^d>i>lgU;b zPhl#El>^Z(gS1A-#A0t27CRe?HTwC`W0M}UWnuF1=m8N*dJFlGfJj^aSyCDW3s3N! zad}PA)e6AVLGOkDb(GB)F&A?~iU09|EXrsHZHFAALpv`zlA;(9uA118YB<*{3zLrr z7&NY?w~z%HLwkM7^=8*@l?|TcG2m_p=tTwu-AU5MFb(X>=W=F%%q1@F@H)-Nl*h?% zsTsclMaUny_NdfY4gf$%H8pD1g~?A{7;Nv~D5JEaU`2qTK?Q8`O72i7CSwa=WTb7m zG9!>NFkXQ-|2fQ+bi8Mqlld{@d9cY0Xy*lFbF7PQl(>BI0(?QO&SIH2>%!#Yu?Q5} z^+&|NsXUBy|3k#MfuZq-fGBw2OPRh(9+-_$ybF0v^f55fzCV7j3kx!&FXeU7KgXG$P1OdjU^nbN-eVF_ zT6B#=O7MTAn0LSl`}U-6R))#*$%vpEemNQ(FVX{EFr=m~&@HwTU1mu@Y&p;P=Yqds z)&+v0T&f9$dI>8RJaE?PgvlG2OPyyn-b{44oRG2OI#tXcl54XvOrDP>u=h7Q|8Hjl z^V7%KnB*PCjFKOdUEybLw9^<(^p?1IJhzQ&W5c+QZ&*-*sLCgiw)y&ke6jY_u&Y@Z zCeOzdwC``c++RgY#vSm$(TIu!o>hEfpuTt40w739mU%Uw;&T&I)nryK7x`fWjx?pG zzo4LzPlune6X1NzK;u!p(WsEc!x88p80JrwEQwnygZW_TaHs~29~W0DgCWq8I7wZ= zF4oI59*L}CCNV^l4Mj5k_-4+!n&W6}EJc0Ikrey_IswkFHQ>9Q#iZ!z65y#xd`6x! z;G4`Iut6x+HAhzm!5oYLvPJ2dg31G+^rqJ{t>=tJTwg0nStd^>?bPDkSx&CNTwR1( z8YX{9!=TXqmI5oJQ!LW3{D^NeZH&t*1S20%44P=D*g>%i_!O{*&qY^I{zMo%v%6Vm zBhn?rNBx*f9Xm5u62Vdb1$DWQUCr7sd5&ky=|#{R2m(ELLuL&H7ZmS#bg1bt24qOF zEXy;{Hzq@o8WPLZdXDFSTl6MJL^7chN}UHvBF=RNB>o{w(^It{HgL`AF!`nqvku1_ zop?tCBpz`^28Oy{TeTy1ZI^)bjH;%pp*C3$X^?jGOU@^q8PWDb^7OnAOHZ*tMJ&2nQ7lb+# z#~I;&o-~3GfY8V{O9Trvl>`-ZqAzlMlov^?JU!@-b!)RgOgzJT>Yn381|)G&G7%^& zxxj%NTml`S%IukYYRw2RSVo3^KoHfa=Tjk}>PQWh&}>!A_%(`2?b9JyBOWxagc~eG z1t8^0^;K4gDSLVz>Gp!+`R#&kV({H%u>AU{M@0uB4(6@iud13G5C$uEafJZmGA{;P zkvTqw5!W?~nScewbZwT1DNl)*e~npIIC2JKJi$NpNh-T2Sj@fH(JSJph#+1WcGO|| zHbuN+yV=GUSie~zrrZ@`_J4QCE#fj@wjj&qZEfn2;Oyw|?$usL9(j|E-P#rQeS zsElzxGb6|bzeiriOLJk|jb!F%#J8+J+#?k9bkOa;47y6he`1h@%TIYomqZaKEs%=g zlVXO=xRD_Fh9KXvxVgIw^XSp_yWsU8Sa!2UOxd6FQ0}6a?2QEs`!Xaua7Z{L1Oh(< z@D*}D+IF*#r&dRr90YdU-c-UG=)RSO@M5b2q1f45zlBN;MCoK1q@dxrXuI94 z5mWZ@zk?PkWTTA$VnS5a=yrfHjBiR{Yj08ANq1}fcuQJ{4L?tz^2+2Y44Jwi_#=l8gA)- zBYX3?IpUX%%7ii+hZetu1Ey(!!Rof3zP|{BNx->TCZ^nEV)R^cfmGH~6LT;~=_WN_-nVvuy@D!ar}?449zpbl%8JTqTGFy8@@p zb(}5WtC*b!?>aHW{Hps0)p~<*!=Mj?2YXVf>jQZ&8$g*#gz2Sh2^b=h7;JJ14^Ect_NW_f<~3u zzB6Tk78y*S-rTWuPxTVFkuXGopn1r0jI_eSRaU`zpzI9Ab|p)6gexvLHv$l+zLAI^_rSh>7I<#a&}|z$h<%571st->e4b zEK6coNsE}NShRi7&u32P^j)0_Q~xhxE-bRx2z5Zypte63bc%lh0nvkz`KmZTl(Svt zr!cBMgbfu+VnY*3Ki*qTh3rI_o{6yL7ytDPbdt?#WC^zPlPAN`=onomR~F6%@yIjb-3l7u5jnQ%+sh zW~G>tpLq~(?4L0s>wx`GK~|G@okEv`iw_ZsnyBCkfy8qD(0Wt8Gx;JY#d#?f<2}gH zZoDDI)uSv~G)5ajXGb@M{AO9(c?owaX6M2D%!BVXztA%_Wh3}i4E<$V4PuL5GQ-dm zI1LprYIVrm9LIi*WyB*_iwNb^WnKK-@-2X@S`;HO3NN4X)6TA0D5m6R9>fvsHFsBV za$_`+e<2fbHXu)aK!DVuk#gZHkk_WO-sd>;@^fqRF?f=TY+WRjW64PED8nfW0-@jf z>43@pL#FY~Ix!_bvml}iuUW9OhJdMwMxrL3Kv(1c$1?=eo?W*F$C*tENC9w**OU>0 zrF6^zzfPBRAmiaRx!YszBn>P($u@p=S2Nx2KF%b0Mg2yxq#gzO^ zg0D2)1A*l;DBNbHn3A7K5G%-^G1r|;k(lxUqCjUyrRc!a20EZbygAMV(T9xiqI|XY z%Q!d6%#M{j_FM2xc+OGPACb7fi6~KFN1M`?hSP0oZl#!#zwj~X1s@ZaaTEmoe>gSsrlSs6*3#}@~aq`G7)3)iOXel1%b-_{_^ z4B<+ZsI_9sT`Oist!aOeKFRYI zNYK~X^Q~yqkJ3d$;4}({$WCPC&t*ql!R{EJ!F4t|GQk)T`8gLp8co0A1Ken8_46yl zIb9sqiYX=iP0ZkR?sJ0OqXNkrfzQQEUF&ZCIh?cPm&V}mCYUxjS_M1fWO8GC3bSky zm)8Ro810X+3y7`HMbwSQTbu_i7E?<8Ph*Bhr*lgG!ku#My9cE1LLY{NlG*ZL1A%s# zEwAB<#*C;EZ0%{BqoAD$%Oev4BYWKt0&xI3i(e1;REoB*Iimu z*Mp9pzH&iJ+aRqQ8YdJK{Pc4!V`aqu;`Yi5nUM4LGL)fJ#(_0Xn#moIHWC-dKwBRjaH*gEDHD1L)5N%&4=GuFYJP6! ziQgX3yfsHcrBrk#_9?g^X^zyH|Nk_jZPtq^rT_1cGe(67yWp)bpfK;Kjm6PuxRJ5k z!w6C{#<`)a7P*c7hAWp14MYTY3)lmk2M%HQ z%pn+=pR@B|eQ*V%%SK|;u~ABq;@z^S?Pg}S75A5*O(yaZiW6Di3 zhLB%X%71~EgAjN!57J=w2_GSTuV}6!<$jzEcG+(sG9?2dPd8{)sipajqETulijA;< zAWLcSq*pad#*~|64EZp>sIw-(rBSTy=YOaz$PvQuvl^+gP-Kid(T&oaf8tkly?~hx zKzMIFxjkRxGB6=>=LLj>x$9&!d@PDN(Q7e8$X1LgH^mr2ZZGwI!nJyn)VJitpcIJV zAN@CCuZ*#a=3WU>G(*Qo4sweC1$#bbD6d)6)3T(fVe`g897`GGgHuBxf_lv5(L|Zn zO^Ov`%2P3hLgno-Q$rl5hgqEh(qS+oOR}0fqd6aqDfYvG`~g$+<8x`CF~<``0Vnxr zM5on7VDQrFLp{*^Tm*XsFj-lu*sx|yd1}T0ihLgbNJZDh5LZ)Wk@VIb6*|mDR;)qk@E%r6Hmt#$ks0KIwf8Wfa7%O5Yz^7siRrkwT zh8!9XPu3R9hu~pz*+vTyfstS0T~kkm_qz3BV{u#elCW4y3x9uBJ>44QCf ztg%8)h_SW)4Po4orHk{wgx;>fvlU}Xdt^W=t)C$?1Y`s?bq7QFYDyKaZ=;T=3 zisw2>^@wKBJV8g{RyAEo2H#L++L0JHUFOQLI4JESaI{G@A;8U3y_SBE-DMb!zykmW zSyl#II&aO2G3BWkQ^5`Vi20Y|DEiprt2l~wWNU|%+tI#coO_K!F_6K9mbPvIMLU)R zM_P9<6kV-;r1l+;XE73lNm0zsfKSDk*DVTN2`r>3BMI0o!xl>MJ#m5tu{yx`MA?k9 zNS6!;PVMRV3^h2!yp_1Pb)%4^s~^H4aoRyHSi+afCV-(u~pWRTmn^uE`?YLQVkm z_H zGB@!RJUJk^A{bY!q;SZ456N%mlO0_ET^jK(Z+$&v5Tj{V*=)g>@)V5u$B>UI8JRA7 zGnA>Xg#>yFFnr;5RL`8{Z?rvCkOitMaSLq-CFziVba|TfVoHCcK%`dx{sja9{d@tr zG}u8wUS$1v>$Q=qke)MIWND>9arLHkFOmvy!NmvYtz$R)Zly-W>=f7^DNs!1A2ADU z52i+@J7_l?;zd(pGCX3TYcVhKK$W#%LOq+V&oLuHhmQrOYX!MDU36HTZTrcwn`od& z>=dRI$PZuI1)*18&Q5{7e#QK@mgj!QfIb2DDq@MKtb}pU%%h=TiWhjw_!p+MJO=00 zxW<(XNwgv_v!oQHcd#!iY1D>{LAd9T^pBtSt#SjKT_HbGU>k2#ZphWD6nL!2>QoWg zp!gsWLXEtTUU9s)!6w`UI@p2dW9C~i1_!~LeQ7Y7Mz`9>_TwYStwRgf*IFJPneS$6 z#+2TlF~7+lA!D}HorKzC>44g(kg6=Wi|2&g%^3v>vIEB_>OUj~&q{;D7XL*7CcW6N zaqXcnvj+Rj52UHiI5#5>?UT_pmsiM6f&GyJfrveWuH640Yj1)iNsc7h zUMR*$u><$N*q6r))5Tqbx;|w@_he0bMY@ZtK_MG2z!!Bl!*N7_XKu`noT^AC$Xi4< z|7jN2tQb>niZKfL#j6p`KezQ*lnWw7j3$j*S{kpX*u^T_!- z!LeUo5E4F;4ZWen^p-eC=imsmBJ3*q*=j&584vdYZ?{idXcq9}z@p)5M+)oYK5d<@h0>wK3$%>0uX8VrI1V z2;h~~Js0ik;-1?e+(NDDH_$0?v}eq3+`GS2M_kfBXSevJQ8Q8_Pi+v+=bQwuN_+%+ zOEn}nO)0M9{6%OZ5k09Ox2SVGmZ@!EKb!)`BL((1;6pqfiWL;WD9>p)1<;NgDDkKu z$4ROHBvAbT9v&SUJul~ZIirY#(mH^dYNZWk;1#7IA81(YzMSJntq-UopYtyxtXnpw zjPZ{JRmoxkI%%XjAH%m1wstM}Men_~B zd=f8k1whGMnJjc+L*qA@usxXR9N*E=0cCVcObWhZF$GMPG%?YCvAC|9LUszgsm3Ve z*Mbg+5Slt0H+&3vEQ47^WySv~uHb>90D=n%OO3c2FPd=&ADJN|1C3eECz0Jgss<1G zleiy6aKx2?La*%6QH!vaVs;Lk$3Ki&Hl7tfusAdEv6lY)qMt6iC+p9WwtlEd2!llKKmLG&N`x2k~H&6gapvB4bdI zAU@7z26Fp68F3$>kt)82Q{W`med1!a0zu^e!Do+*jBJ?9O5eYVLUszAj}-VWXql1h zIfu>6u{6?Py9gi$5PH%we(|0n-9wcQ(D|AvlHcR$Vwn`p$0nkHH5B#ZxUZ;i=ZHG* zn488s(HT_8PJy#LL!NKFHigDSp`$l*7PTXWoR1+OYtyEX2RI_`WKe!_>(`s0C88D+ zwYvDLTZNiq503tB?4wE_!*<$u{VMT`U#$p>OwL#+B27>WU;u`A;)Ptr! zM#C^@-|lfZtokflGN#P_4EfDT9-=5n){ae7QfrbF^1{BVvYr{5b)jk1@MY~J;A7o9 z4@Je48DCYEN67I$l4R^II)JYYEf5%o`eyXUK9k2inkCw)re)>2G$6?Mpha z_+Z5CkG6p)T@VYC4~DbfI-ViFn6lFWmdLnF{^AlqK*|OMm=Q9T?B<`=1 ze7svN66V-O4B&K3;Ra`kVz?6{NP3BEbSuV`Rh}`w7~7%WkO85>E0bn4wB$q1sc_8( zAOSfMEjW$R<;oIU9G99GhB=55uqm#_XtZq2n44~%rA{dU7_GTRKL;A!nlWWP5+G2{ z-^W=DX}^A%YH($f48UR`S)~8ig3g0pZ^&q>B0_h*g0$&?8j$_Z-OwQMADarDNJN1TsmUP=P7np_bvHM?3bTT(OkavYTTCiFYi1EE#(8D$6Q9;`zf2Ue zGvIn;!1>06M)yJMPy9GmLODrNiv=KkTp7Rw+08L)mJRf-|2^LD2ge3z;PntRhR7bSsU>h zu=ryW?*)};7N1l%r&X!YiXbwAs^g|9tJcJFG36!~L&&qdg^bW5n8L_myjbW4IOKvL zaHfl`8>G=05OGwnE@IPk&S215sFa~eY*k{0Y($&p`>e2Ml%C$e(&$07OFqrYflyR# zF~{5cR)UU<(I!1L|Ae8&r2!=nphetDQOFf{t%sa9Q4L}X*RKr~Ikao@q6W(OBu@SZ z31a7MoCS1gpiYGCxe-UF(p$G$Og+*w=JnRK;`9dz4Z5(bZknF+lA`*;;RtjES0ZM9 z=x_3-!_d80@*|1n02e)yie@kq2b8#kkBz!T(^UjrT--i5-702;Q?-ikR*R{}BL}Wm zJugan0HyK%G1a=n>59yR>Cv){8Vg|kf-xc!`vg}08#9CXD3H3SB<@>R+(%V+8vZ>??~2V(Jv9JtiD6r0$(k+#>K&QMGG6`T(Fkpn>vzRrzQSj6+DyF&m^qb|1n z_JCyJrsF)2f@l&t#eqG|v!#j?4kxnGNM~y;b}l|tk+!J;`zsauEZ;D(-ebG36GOLJ zOg$bsaJ}Vi!v|P8=?!PHA=E7k*EnZTtrj|5Q8{C|u?{UxlVF^ePaKDtWC{PrHyw0b ztp=W5AOj`P1A8{ZY;-tniw`e}#Cyo?RY+*!cR{0EfIXm;Cdg3|gih{Y`J%H_Og+XkN4~gV!K>!$= z&Vh%Nzih+6UbzaSfpF5ID%cpAvu?IhOuZ|`5b`S)2C+sx-cs}{k3DOKV8Lw#)P|4+ zJk6?yQJ|NZ#(6U0!s#$`DV>rJ^8#^{HtHQVZ!3n7qrrXbo#yEv*ew)O(=!FWjr8LJ zoegapy6b@<^w$Ulq!Am`&hJjCKRARCkinKDu{_VgQCt~OwSl@vc|o)0c+eja<5jou zKt$Z;*ZaVY=Eo;hfmkA6*@RHUCgvE4Fi_NCBHnTG!Vh{`q7$1Ewb*g1_|AZb!0s(Psq<3?dZM zc$8mY|1(KwSkv)yMIZX6698R>&R5_bWo_Btj^R^#xx^uJ4IKBU##^^cOikrS%x{PX zHe%@X!HJ^;pHqm3BF(%Eo13(#2hF~AM4Q*C=ME&+uTq0{B+2?_Y#VtN#viDP3Yw9W z1$m+flc=@>0Bq=dVwsql>W`q`>Lc9kKeT`>_n2$M6XHOFaFL%VqR2WOOuR%{g-q84 zA3B2`q?ihBD}IQtIy9#~U{#*?1~edW8k>OGSs<%yXzPsb5fDSR#%jq zQq(&~VJ#n@tx}GEJ1p!DEvMh@z?gwG(2UrK?bnc302VtxC&}`x`LbK0zWu+AXgwY5zhudLULA>bH%YnDn7I&*Pb4}C z<0}Ujj!ZF+>ZNPFE66Bj=fO07#Qfrhx9jYMRfWqxyNdJK~Uj zRl_Qn>Nu0oX*+re4VxjKp}E z*$Klx*^)?%K7<(V7K^EOu^58xZ?`mqEy)PQeU0VKl9DXoR)FQyr&1O<)P8;*3%N{6_fzJCsRS4>4B&aQoRrgYLP|2L6t*)%NI3uF=f9Ll`K zwi37yP~g0s?ojNXf^1kZrsiipOs{&2MX$>de_j0LWwCvM_b4#AeUl*N(Qe?VFj%xg zv{{#)7vbVqpaq33Xdu4vechF4@gwyW^%jiYJ z5{M;eOUBgP|7Fne#vmC3OOVT}-ZpLQ@v-xyqn%^#fKa9a$fnpBQt3p4b{YUmJxyoU z>Pp&@F*QHaVR{t;#I^1N|GLZBdubA-(IFfSv~w_W-Q!#&JqG1bjdCon{#e6G+vtR1sk9I4@)cnkbaGKuAj`*y~LKU;|Lk}oB9OyU#m)F4` zO@2QTJ88(sGh@DqRj_Q&w#q%K%MNCC=n?xlgT+=}se%rFDH4cqiw)ha7*p?xG5hbo zc3BI21;t&0^fqx8fvUD}Ojt&T=;o*%F#!BP1HTO%QDyvnUC~aL-ddlMSlfDwXS0Qc1m|C8>kdgIE%-S5sWe|n2l0cWG3r4h1Xwcoo*^Yvt$6bzN zRF#W7yWp$Mq85d%vBc2O&@K|xCz6v}K+%($Zacij(ALq{<5y_eFQIc`dFI0W>bNY7 z%>lG9sqyQ)2ed3SsEPf8z{uQ-4FgbiB|zViCqGF)6#?W-0-Sko2*Jf`_TVSoH6i^Y z+w(@xxM{DavSqhsOfAo3_&V25Me_QdK|`t9la6SF$YTsiquQw|l~}qX+!`+;T;+7B zJP(S9tb8ZhqpJS{9%J+FiaBIe1_xh*8SwJlPAh634=2M?egyr-@JDc%QV9|zpJsZYB~TB24Fi1~NV5f7Zg@ zQ6LM9g5hI!q%qh;@@=<<7aq4;G^UpJFJmr3a0o3Jg$US-YY&2_w?mHUWC@98m z0jtC$iFsk30ya~>3yQjt^C=*f85_u3$>rVDtxap5mk&on{jTQ#l6o7<8~2%GOWL3|Q_V6)I}R9#zTUx&DzR8Lrk3#|=(ll4=NIpo z!U7E>H6HF*7)!;6i0h{&2MFcxEtryOBYZh{u#iB?293tA?<;_@Pu!+{3n{!0!MQQ4h(QeU=YH*McnA4aX{4$;6 zH8?<1ot;FJ(zhFy%vTcoV;uCGh+$lp@j!5|0w@CzRab}T zj>Epdo_55A%RIqT#7YHvmK`V{N9j?AI9cCeSloBD?MWRwN9N5MDa7YJt;on!c6!=j z;h0*Fe;IVVke_LMCW;$qEq`N{@hj4E@!__-%Z^IjU4Q7}LRewbUThbJK3j7gZQ+>u zLpbI?#vGM~w8c71pU4mCk~Gm8o6C-=>M&fCDFjLjy4SMqTvxL0@ zj1fFvSH6`UnblpAPr`=GKnMTG;Xs#hW#~!J>_FtmqbJP{No?b8^_W`QzYLm;j2I*a3`%ZwEEgw^B|CceVuSC0<6qaQDbiRg2 zu;8OYi|#Qxq?$*g3482Y33mgts`sZaSBn%TEi7DP%AF43xp=OO{^ z4~l9xs1KbXnrJc;1U3vt^g^10FDY_TL~dFKn%X4FkuCj)=5CetB7~t&YWIb`lA+~e z>Qg=jx$76+M1d`mIg$J?&8vn=zr8m3?%#@QbBJ)jY~of=9% z$OSV`8iMdgRHlPVnzGAJ+S%}_A|qq9w_1r2h}h-W?TX>?$12hq-8JyV9-|*v?k#Jy z!jw517Obn{;b)XAmNhJZyzqXGJqcr}pA1OUeq>*FaR)4;8m%HzpDHr{HD>u)MWe5I zTXf=Ve9k+XMJW$CTKD1VA4iY)VAe(!7pxPrF@o$X=0+%unv1J{%gEHHj10BS+nf}E z6N>SKOE$9nLiV?HPMYEZ=15lvF(ieS$oF!#oSy4KJgAT;_H%W)sCpvz&fk`a8draJK9xn&P zUeY%VPd#U>r9L!~dd`iGTnHsZftmlf1*e%ewBI^1^{FG1{-W^(9S>9oyGgJ!i;d(5 zW`4m~JNgN;OF;`Ya1WTuK%AM^bB2K>BC5>jTy#K;f*z}%1K(fkSsr)B1@$M~$3imo zDI^o0X?jI9GRW}P$5&H%t_Ki^jeu^9n>v=>wkF$(EAhMxk#v*K^1P`(3 zWsuBDd3D=Sg1wKgZ}b`~|7;+Ng=FeeNG2hP@O!AlKYx8ytE?YXO?(f)HRBS1RwSgZ?PhimrFty5?jMGE{Gc=nnx2Z;x$r3@17zwYX3Q-?73uV!brNHyxWy(Ftg*$QjJeRa7C7Wejr}o;I(}*@ zD`uy{r;-dF0&n>ns#s&)k8c%r!KNe>t&ULvYaS^f*b`3~J>`U0O}@08;+Lv&HbBsD z>pdTm(`yD+MZhRIk_qLN5jD=Hh8Fx`6|*zpQ%Oc++yD7&u)%+Pg|k%|)kUr4PgikFQ($(7q-En!tfn&4j0V;$&p|q7Vs}w4iAD%_@a4f;M@8?nDSJ9-y zYBKeyCi7ooo?QUfDm*&>pX+d-oro7+feGcC13h41_=mTgi*mXtW>&V?c{t{HU5w+l znoNDF$^6%tJDqTi)`fYp0AFW^#gK^+X>_=K1N0|1UuEXa#c;_m#zSSm*C@?AKxh61 z0%`+a8{qpxRT6mcF}L}yn6!G%mXoPZIhjb$Z_Wq&^X=w<&hfzbC)yh9er3|v(D%8m zz=3-(aAynSDHyZBPpTXH^_91`O3H_Ey}phNq)QG9%G9TzOzN+W-N^cV1h$w|G7GaF z4o4KPO&Z6{jSVE_Ekx42Qze0axj;Xx;^=#Z{1JUR3bfs7kva(Ql4rqc369LLd@BMU zkp&gBbKz4_=06AB0fnHvf*k*p!ru2u%eb;sF;KtjWJrA<`Dp0s=*Moc;zUnUfD6)$ z+^Y8W)|9DFO&O84UyJBykqUi%yaQ;&cG;Z)^uQUD10k(=99};14CKWp@0SY_Hm7(J zI9*Lc!hrN<#tBw2KNYD-nXhPWGAfs2+*mlUG*LIf_YG92 zgnHN`rTAE*{nnf`E`fS2XHkJhZXWaWVWrN2%k*bFnXrG5`;0?QR`ta3G(78;m8nlz zng1HJX6=k90Cp4+1I`N%gi>6L;C#13Isg_lU+Z>efN3nu&nn=;^CsI_N)^C55zzgGH&g$-WUl%{7UnUpMxPkq(yPW9rFqKk-4@ce)aPa77;^e z9L|PMWtqRkT!p^pg=SbMI9i%09ohhvEuGG1aK43T|A8HgVy)!#J<-u=qb9B&G~@!O$!@eJ@)^?C z;j9UXKCCWNpXxG<_+A{B_~*-8h#%v#R^sL$aSYZyYS1q(2%8wN3RU{czBwR5;RvG# z`t|;#`=T=5=0(`{uHqBzT=-O%`L8k4Ipezvf)j0*e%W9jQ!1XCar0{onv3ZL>a3=e`eGnn2{#s@5lTq@57`cF4xC-W`y4~ja(Aax|ysZA8^Q& zIxgwGEo6ZH0h^-7$uL-zKOp_|S*!28Y^2oe8`_!hDKR6)(f|IK(P}#Xa6`viq}~*l zHOlCDaY2v+g208EY~2d9!p^XUP;3*3fhMF?`ps$EkU+c?%6M2~ram=h{^B4;;}-RN zL?YE;vWhlu5fl&^ATh}`bg|T|be+VWfr)InN)gBGJUG`g=Ju+Y6z7c96k448Bbod? zA>ScItTDa~#NrG=)x`i7QJ;RvFI3#zqE`ja>$x4j2JfuxCl~%d;NoHBtoacNf#;9J zZS~o39(?M|WC^MNj9C*lszbRj(k3P7iM&1F8Y5uVKE$liJLc$&_R$-<{3g(y5!Z#e zwsA9u3}?5|ap8BcZFhXu?Zae7KVHIEx;88`Q=c+3l!tXD9h2|TgTh*TYocKnF5Mv7-eZ5%~4&>FvkZ0rTK;#E6sRuP(6d>^k6MYckd7e{JY>(+7HL~z6$4kW{#cD?umVyONmCLq85k?%4gMwu(X4gjb48$U)wAYDYpOA4DjHC0T7bXC zXRkKxH10)Vmzmu&)hK4C!JEzuF~1s4uy*}OJE8DTB#I@Q1Y94`62e((yg~U#z%aa< zcC^<}2GN!TyOGO#SE2_>YcMSMF@+M<`>RM{v?&|oaiC|VlVP2idefQt7a@Zpo_6n( zCi%QwbVLMV7K)HVE+`h2{Q`E>p&c^ovPg;>5zSIs1;2G>>P=^+qN9Gi33I&HN1*AR zwMMr#V`fcEWj*qxXP2eO9X%R2K!dm=6JTJOZdN4R8Bs`KfnC?$db8fwVYbXny~)fF zvMf)31P5-5rT5g99kzd#ZZ6K_kk|G<|JZ0e>Um!F8rPymhUdW;14Wt0XXHRa1`$%= z&>9~ID^YNGiWkPNn>pr*j6!w_yvfW|9@EQq0xqOLx=H_o;)*mb*cu>x3vua?eOTmb z8vlgEYr)Q`u=5GtmHV9USlE_ZwhVgshfRpC=FUji zFJN=b=@IigCjo@j*YWJq(}H1q{V&hCA%8N&oCG!vZRD)>3;uA0X-&oPSJ?#5LD@DP z$IZS7?#iG&@Xyx<*pIn8IA^RUKDJ0AJ(KdNaVr-72QcEp$^N?BrL&k*z$~<9jC_5^l)g&{4I?Datj?# zNnOpYm%kIG6+ef^E0yO=Bg5oi%QkkV9y-kynQ6x(15%>C+!+XWCMj+Y_NE%Ju)i+Q z>BQ;>aj$78ojq!R@a}Pnx+If|B*36vG4)WP0lxo}^Y#jkH_MVObYuX)(-!8)yuFIK zIOazReAg2BTRthzKith)9bsG$ZyECCy7fWoBABo-wBvP36DGyngIaBCWHOKz1Rn7l5u`Mo_#ETzwKgi=O&x${aZ~ zDwbpCZOCn0bs!{%XtoZTEs@Hj;vAULzYIF#l!Mn2tI7-<>M~^>v`hyM;n*m8 zrm+<+K#gl}jG^48Zk#dwnYH7Gg=SiMBtf)|UPdvD(LVf}?6y@w=q;>(yU<~SzrGBU zX{f&QKH>aGO1YNZ3%XOr8GC-c5HjKef}ZdPV-2lfk-i1nvk`U`K80@%r@>U7LAUn* z<3yVadVS>&lb;X8ER+ZA1M=67B!4tqo>_GKuaRwJ%Ledt>zuGn5@ZzoIxLf)4Y!qM zTB^^W$BPcw-v&q-0jl$l>`EDA$|IwL?WgKLhhBUf11m`Izr)?@fs|>of_Z0xCn7Qi z;9#R4%L>KpOqd>-keSz8`x^Cpl+VmJ8{5P~-fS?)SWlr40xC{}IubjigghS8z=MHO*OpvN zCV_1*dDzOXatALR0y0`O48^}Ovq+{o20FSO=&7-P3KdZBPnm43P1rCD8wf`loAJEtwf`leF?YpDbcMZg2E! zr6a_Q7xQh8l2Pu-tbaC~80q8sTfGcrKU$0}GBat0hW02{nQ7^n3fVaRj+v5K9VJy3 zKw3k4;)b|+A1kdC2_9wHo^f}?BR|_gImK3yxRYx;>;@WoT^nYJ`6FAl2^1VTU|$^K zIB5lIm6?{Gxv=*Bw(E{kkr$k`Gy;HFvi;c;{tP?^6{xJ+4)G?4ju;6rmbf)4%+3!L z;b<}IhDND7YE-w^C*TBtU5%=LlgI#`IDcDYrsZcUe8=WeF(S6U@Iz;clD!#Rhymc+ zIGU&Bk-sA!538Y~N<6>X_vCM>EG(2AztY=Gj)2)4_yrMF#T`8u{Kw*=!=rx%?Od4i zzYV$q=NsfQ{?4!&G5M4HCtA;bmQje(B;E6bF`w;*Z3Av+P~XClOD>g7D6TpkT| z8L}a2hefrRt_{)1 z6Q;(Zd{;hWB^QXCCn0mY7Ul>&`Z!}_rkJfT)ABPDwpYmoHtfat zXdVK~mY;Th!wNGk&wm*+Bf1YW6;#hN0Mm=W6c0U;2dHU2g0;soLJl~#+l&M6%sA-3 z*7KH_Y5AE6fr`Ba-6aKsl%2|EkCK|i=vcKujyL%+K5eNwMy&x+qF&GqpxrfTlX&8K z05_vQ;h-r{Ksf_xf+^Pg+dwC4#ZTIqupB>ve#32}`T$<%5MB`kmC8|Imj_io&UZF$ zix?o67CdOE9NN`j9io{rvqeQ=PZ_}+eHA;c@=MHgW6<|%a%;zF zCq~N?A7a!5ko&8I8u50GUq50P6iI+&7(d>I=2Rxkm{3^Vha)=F@)0_M(Bc{@8srpYOgFX)5W-!WAj}Gn}z#3Ded9 zJ7xQa^<`RlWWo$4=YQ^FDS@Ap{=vG5Z6@l@4SnddzoOsB{C#{14a<#YX5`4Hn}yB= z&;-i`+s~9qCxi849e&QvgyoS5aUl79ae%9VDYk^N1ZkngT4chgHfX+%u`L}6YOpkk zk!Y#6=Y>Ve;K;MKD4ZToN296zJvOI7sAwDg^iCYsmuaQ{4>5C9V%jPleBv3?4ATOs z8=N@&ZCdXF4x)m#K5%up$;-e9XP-DUNp$Ot5G?XCmZl;*NKdPwKSSI6v-P&TOe>E} zh^Fvcs}jZ72Vt5DXdA_NhM^yLc$ncx+Hm=-|o7KKvs$4nYVWvuUban z?~cCxqh)tT(O}1Hrnh2tCM=IkD5_XwK79HeS9T|yA30|3y14~J5Q=lmPK4!=2(_#EeQ#)5+*v`! zH`bn2sN9H@-4x}HZ<0Tvxnc$+Mb!b#|Gex_a4+CofED)bI0rT!ZY@9Ov{hl?mKK{v zU(l#7c%*A}8QRZ(7&PNEHbV&(Bihp!{TMZRHn9tk-3FX+xJaCS*&1DyE)K}E9L9}s z{d!&vtIM>Tx=a)Y>t(44>5t-^`N%?xow2{NM25uAG<|LG^NItr_|0fgxuCD!iYgSG z8^Y*b5TfV}ti+&#o0L}kxE_V|Piot+woJQe%h1;5mnkFsQGDi+4aIp2!w7B-#GMMH zohi&Ar&%iQ6+=?_@QmB=3j=B-ckxBvYamo~kM+awDsz=ZTH7q@BuP09k}NFKZo)EZ z#9zSLNjHg@5QwBA<|-X6&@yP(K^jlO6o6NzL$UBs6ba?lz{Y!8ah!`!sccNaWQ>%) zQ|wc=KdQdy(B`q((hR|TESv*xvN92}^s9b_%rE`{7lR!lpTm?Q6-f+2p@hf;_nQ9I z;*AID1+MCX0`k@js*fxmc&12E3=5L&Ils1Anj%4@{m4j^hhK!WQOHh#H&GcvhGq6U zWb|23HH?lP(<&re9dee^hW|+h1lGWBv|zWhGdpKU{91r9)QS1!iy}0tuD-QsPxC|` zf4n+CF!l4}IK_=l$kvo;H%%ErezT5Bq8=crM@=>vMQh5hdJ?JDgfpU&$pRG)YYD^y zFxtyK7}5p8D;V?+k7G)eZ${Z(l!I(f)&}nokALqC<5$DkTroQX-ZW*1`OVM)=!VSf z5W&%R=}IOj9MYAd8^5Yhb-Gywrx9l@R&Uo~M%Dy$Y@TJ?+ExIDaP{xbk#69pVDM8-^K$jpEb8Pp>yVH8AM--4dHG@{WqatdPdM~;j< zypRd_J9Erf`cYRl%#`ENRsSsKn3);IOeUR%958% z0#q5Fh7<_gAN?5K>neIC@|}(OkynG%Fs_;{CevE_KSTZ-qyWo+C)g_~mvpk++#C%DWl2F#%YjV7Ip=oHx!7za}@qS|_{T&pd4 z8ajcM7GHDDf35t}n5)d?ZF>kP?t5n>!0>P^<6=C}*mlfu^?kP04&xpAOOA$)%$nOh z_(F(UN~X0(0>p9TCFUsOKcf5!DGBIJFCbf+%)TbxG#K@Ns(_u0iA$0Z;SD*(I0={s z+bkO%W2jj_u3Og43zVTllo@$@x2cy@nPDZF)*cCv5B25FU>`*D$Cy*VGvNSH9tBc2 z5y8=EjvED2Qv7K{W4^(G8#!+de#ud|FK3xc zd}>%kru9eutLe>yiN23Ed2mILV5geD#LAmmNjDu&c}kgMss7Dg)?d>MPRn3fk88IN z20ozC)a;Z^MRoYb7>Gw2elo!y@2Bki*V8`?xxy!haG7MM1Gn`mnQ;z}atW!gV~d2~ zOC#CL^#Cq*?5AcPn==pMN`;XHWLkgZKeoL8`|DSaAC$X>9U$`6qhYBv<|T$&;CUdD zyU<(vDpw?^@gCkITDpzs(b>SdbZdmf6=zno^O=Lw+;Z z`P+>Vck~k!)45O4S=J;$9F6l{#z9CFH5t(R#)w28W#*%1+ zAK4FigqQ3G91(RNG{q>rl{hf-VYiA}eLF04-;up#>em>I;gxpc7DY1|tQxvVv;R-T zb*h)NQ87pfiqgRij2@NymCH|TSUslo{tsgYz)xEk4>@XM67)@g@jwrPMQ8jp1E!?N z5!aj?WAT{QANjAoX;mXvR~h+Gefj3sFay+N)y^S-82Tef zInS9bJW4SgFFnW1f+XHRNRW8J7@3BFI~9=SRCXA5Dl9))b)&)EsE&u7f9 z%bv&}OyTzEzENN)W`LgYL3d&7X-y~vsTX7<2z%-p+M;ucDJEoLU(MVZs6Knjl_xg1 zVy^)a1RlBvpeLl&$}z1!6Cefl?~pUdfT-C3=wQ#@BpHc}==HxEz{J7AtB7Gyr8K)4 zzR)QGj~*yRcs9-@@+o6(OnJ1jx-?*pQhw|u1YjR;wyhh}#v=iu_Vg0+QQ8LwZ17Pa zHnsHoSWTAFnD3)|ZZbGIa9x7oR_n#!u0%qiMxn9C%vHqCvF(nvz4E02&hqQoaH~J9 z8q>xj0k%9|WEA4TElhV|!vJ)crp{#Lvv{QsT2}KT4lI1AcsS673FG%_Mj43oE2(O0 zY;bt#vg|VvFYc7a>&0)VA51OMs_ToV75-cAXm_*GP+NjQ9MIZg`a}_vIJXC=#&5{DPRC76#}35KA!~Cm zH*=<;N2m2eyn#^Qw&+9W+RO^s`ENY(A6Aubx7@;wW#E{|$O{8-y;21wMWzrPObw;# zkPqnrx}_gdllkUsa9wes4a!nhOPVGY$dc5~IvEm_QZk9tg*=&OxsifWam>zt z#-rHc*3O!ZgGVX&%>Gb{oK}lz7^vQ}UQk=~F7(C}lU8U!<_ql0tR@oX0;5nfV*WT2&55><*3_;)or}pewAy zrdET+;se@H-n|8yi(~DtFr`h3pJCpBWJ2 zou46d`r^=07*h1C=v;51ONRq7>WMsRKtT-*e7@^O*tHoA)Oc@{#YL%CWoUSJ$P{L5ov{XBcS;ndW3M zETu2#T77*_2D5dvVpu^KvLAP(09ih?V_D%B6P|@paog|=p)MV>Q{a52!1dC$G7lKo zB=J%6Cc_)o$%t>w!L6K?Ll+$~S5ePVX!0H&*P;j8Tf`pFSl)})3aypS_j%71QM*cQ zKRWGcrIeiLIHIkd+NWV~(uLPR-t2p4EUn~+oON8b{$fVpNg+G^ z%}4sfxb5X6vvxt?d~bBXoc+t8_lZ|9Y$+luA%}LVc-V(6w*} zxEK-K-cu(N0+><>Wc9d7w&soyBQpJAJN{87;tyK4*)co)tw;KccmJ(sh8zuv$hLh@ z^Oq2?S4Rh6Tm?Nvi8Ngx`z3iDz$)m({kZ2fvkfME>Go}dX z_^~sIkAWRcUO!-<(-JXlJ<=a#>|1LBSD%8iAo0S4PZ=8}#i8eu?O%(E9*S)sWr4nx zTgFBSTY_Urwg7s}V6n#*%D&t_X|E;#7-#atU{ZyV6=K>d&yZiJGTh4vI6ce)w$gHQ z;xRLvE$mBCuIFBkP6IhdW*+e4$K|V30bm1+E!dW95U6~>yX`N)v5pM_jlV?ZH)i1U zk(*YCX{-LjkQ4Rfh~g~XQV9j+bdKiOfrwBH5w>n1c3jdQDrDVrSRQnf`YW^X_{Du= z!+`T?cKTb-^w(eT!AbJENQn)okqq6E`XF>O6F;CzuB zLqlL8OT*3ufU4eYa(2`WQM6H6W-;XBm+6Q>j_E3)6ei0;e@%+IptI^}2#bq9T3*7-S`^i46+k5{DdB(Kpi$0>z>a zR#<$2=XEd!#_j7g*T#p<$-eB00 zXJR4U#h^ylMlP_e05z|Ou&%6&u5pPA>nWRP*6P=Au1HTY?!vf{_i`B20G)$Q^Jz_r zaAe#*+maqS(R2Z7jTjb%_mG)L{0>>Wx=WStnD*N$(sf&`8LJtik!bJ*1mTqrP}uEC z+teL#|1chCCIylc^G7l`@h6HZxh#7ch8bHjA*shJC=krFMod4_Gv@Xda|8X4#2TZ$ zcmuncxy-ZSvPW-Hgbv08=|f+7&}3uS_kGTl^)OCwkd2u+`lc&jn9_zJ4m7lAg#cP& zR|KsMu;Ezp!%1I(n)#SDlz>i|1f66B+wZ~@n;EzeIa+6*#A=L zYF{%p>px*ssXqw5Xg=Nmw&0SWF9WV{;o@to}N6L0-8^}!X69<=bk1Cz{)5ergZ|f;rCZ->cB>1i@6`wa?BlQVrq{34r z4D8dcHF7*??)WW>j90zpa|d5v-~NO~Y(Hlw!SqamuhuhaPykRL z+UW|k!~sP&Ljcsl+w?~Spz^`wj2w>w&^gu5XasioSX`liz&F+HUpG5_xnDTY(e6&1%5{r%cdN@q)TbB%^79{(>6#@D+&E@h7G zvbPA>xZ%+eTb41Oi%eAhAdVAf>+!ng1z6stD`ExcY(zna=Z&@^Lut* z@i#XRn^7YZb)SsNqC+7&1*T^T>~A6w%b8x(2RAZiF*;Hz8$UzlOC9y3G`dDTXJh3sG6jw4s)Y=M}bo+?jf7*CZTMD@T3XU8f5A$ooGsq?oIZ%t3NbxB zli(ZQ3x$sc6$!Ul+1QcoInQxm7ZfNAxU!O9Tu`H8TLybE)p|>ULp(8>u;gkVW*|hc z&DfW|pDt%OoRX^3e}OlRgvqD%VS1YXGGub#giAxOxM1p^A;*b{V-YC?K@I0XRkt~p z-JrxZx%+LLms{QVxp@Dp`#{UX^z_VuGQ0f|azex=nj)s~G~Er{rcQ>yWuys~27mOS zexy5rxL(|6qg->vp(zoN@`(G`(<3ydlkc-@5)=1Q7uaeCkf~1I|6EzYG}&8SD-C92v#z^DHM$7lLzKCnmO{!-3}Zw)8wSBXh`9Hubo} z>J+jwV18!6^$HS(WQaa0#2W-g4r8Ra|Fu2^k!0Dw0#G@lJRYC^&|qc94Dde7DrAYF zLwCZUN#LJ^uQ?1mIMchX{u zJ?&yvwOs0$Hl-!;m-CvVUjm`lnP=@32rdr>wPLHnJ@ZCPYJE|_bu<9M`2}UBa;t)g$Revj&?LThCb zH*WM{T0@MVsY1sd>`PG!6be7*(j7=5Ft)L&C?L;8pqf^O>G_cXXMV|m9F3@%*nF@Q z?=Y?%vn(4KlXS_HM-3X;9Uzt+Mev2bx)lg<&JC@C@zynQ24q_q@j*xO^j6;8(<8bp5+--^;4=Qe+SSSEm=)*+v@A@| zj|>Q0_N|@+=^YO!9z^B(hQmv#&o(we{bT>m3mAV-Iv^f)a9ppDr{)FGL-!5RK%8QH zzBD!6pT0AAI-j%&j7QgyS0OtCmPZDhuPR4TnoW;tE0nVM-o@R?!L7Q`Xs;^gqT)bN z2{E>fuDhu4k&Kd~^*sjbXA+xsA`-hk`6M104Q!_)ELZ4T<2%OthdPnpKe|K>yDSOQ%QFMM!FRxwWSm$uLzJn} zC@v}&$rj-A%F~4g0w$=pGrOGSw75v1q>>D^z~Oyamk?`U*70-b8LQ+d;;Eu7+kIv8 zTFl~@odL@;1I|~y`gqM43UUZKPy{YX=#@zWjSd6Cp4Mm_M;eK&oaKYFZlGK8W@T+A zhBS8uh#q)qTjB_d0zoU8qM~TvbaKihOe@0l^2mVfL|?Os1c%TTki9@sKgE3ywof#Z zW}y;bjuLXK5UJ{k)2FkPTp6mTUma(5S*Q0dz=K?qLnrz{B5%Xo(TvOUQ(YNhS@)dvV0w8ZK#U)LALeWg z4n(JzPeFi@yb*hMxk6O@mU#i?BS(D)NpGrz{GJRe-6E2l^$Y4WYxS6pO<_#Ai>XGf zDoE4)#Z=7BfaQ?^S%1EkpyTt95%#dF-~UIGBax^k$ge?PaMX6jOp4El_F-OlE>DZ&Y$3KjjoyWmt2_L2$LiB&@IjO$K-GVvPvEgV@ zMSZ|0Ddc#OliXdw81f?Tfzs)5F|7vEf2hH!;G766lzmTR3y*zlpAgJ zgpJb$x{cRMGid1XI1l#=KM>UuJ4lqIU|u?8K=y*w9mrm3MaR|5fbTQ%X3Crjz0-m) z_*DM8kntJ=(74vV1a7i~6r2pf8MckI-@i6r_z+;v6MoYkoL@kF3&QlLAPiHQ*Alcb zLr#)OfQeBIp(A-EQK7Qlzl;}slUWSpHMVQl+-OM%nQ~|=dz15lXgbez7JtHa4LY)q z6u6HE8rym>{iz3ob=+GyR~KH>Qd7xXRHAT1>gxzR468JAWdPRVcZ#bSQ)k3azcJ4x z;mCnRTeV}Eu+o&xR#(xA(7GQfPKLS=1r4}IC&Pj;{V5283dvvE)&z@ubn%|6D*fn; zr0K$H9-l8(#MrTE!Kdx&I=+-#u&wM3am!)GvJpHeCbBzz)<&3-&ktLFg?!q7O)J9m zry|U|Uqr@W`*Z0JLao)^Ooll2KP4_k1a#DG9?$=CyH+i)W(g-I=HZj8)^hK!RdoImOC~Z^dF^h(KE8 zB+hbur|rnD6P*giilA^*>qoit$#su3q78D|CT*=xE{1)@zXFg>K|2RNMPUGBy>6-E ztAK{n1#(u0qtp&@=nYN!iu81hUQ21CYy1%JZHu7jnItkzIiL8lRR0G9Gs8Opy# zvj^C5ZcYTUBxMgZias2VyE=H-xveG{%p~7+PJ&NW7?Rq{fsV(K<+>8bfkzYljt?|5 zjqg8oKeLPA07!$BTkAN!heP=pd}nHP17ZgL#?pJz^JFO@zfs=u{DE$uub-~$)3PxA zDGNi;Z*5gZj}aD8mVu$9`^3+JKt$g%?8=UA>W2=G1tRzFjm$VJL@Bg+rk0QqH0Yo9 z`EpE{k$M}!Jq}dqF#qxtQ=Art=}%#pD0k;u&{EwWS1mepM_2rimmK4GQB>9;!^V-F zoS-VhuWwlwsWeg{6C`BtlvhAcu|L#zMz+uZ+);%7OKA`HrK3a8mWJt1X&B@o-Xzr7 z>SIxYZ+DfAkDoMyxWT6lX+S|o7gzDK=o%E_SA7MI27RI4NDL{s@UlcQ+pdyW`w8R4 zX9WK5rv}}$I81+v!^rgP^}^##r3w+IpBox$V%7AKwzewxXn`hiz;b~S3x4h8LO_>_l9$9#bwdA^?nUO!m1vxp*S z{0f+sGcR0U;wa-8Hra@++<^Psy=*n&V(4oRzToVC#ECq}I+Eca8zxzAPoEm|sgzl) z57XO^Y`9)D6~W_WmVJOe4?K+yse2>hkB&M9RQ+%X9ocOn)Lyxh`Tw0IG_<}blko%Y zn;);@?g@6+hHW%aD9e4lqL`fx`;Tn6-mLAg(P4OoqdJ8SN0pe-`HYM<#Ax6-LlU6c zfMbSaGL`4|IZrtbVD}_XtN*7BH>;w)_KNMRISuZif3&3G4?A1~Ev*pKd-|6#Q`3Bq zt3}fdcI$2Q6`8SPYqq2W<0=|mjn6E;j45EV-a>(BK6Se<+~9Q9i0My_81!gf%Z^M! zWoXzS>?aga2^!QQ>#6UAgV_)wg-qq~J7H}7%`DW^;J2wlh0i z^H2ZEtFu6qe9*K?On<7xr1VbgpLh%4B}UU4uRi*%1T8oTZy~ao1T8xr(4nyKkjlHT z!_dIcjYNz!f^w}iqSY^gOR@byyhkjFC=9SI+^{K1|KTU?bokVXVW03e{)&GU(jMeD z!8X@27ZYk(#j_YWU>%Q%MuG0`Vnfbr{KcvScvQUl*0!mn%g_4Nuz<9ku%JwmHsxP2 zI~zWQViIyuFIPvD#ZlD9X9r0&f3+3i&!JY13U)W5hY>0WB&Ks!;xs1;2}O-2vMBoB zJ{?KY48w+<%-Or@J9e%pp|pLZ$Fl#e=5a*NPS5xG*hSmp{5Cc55@#RGss8V zEysT$4NK5CEC3RCC%WI8z&B4nVOK-XG`G6j!0+#ukUIRW@&TuzpcnG+I?|Sk=})Pc z{~B~gh8Pkfd*i6yB6FO}Zn*vvofx!l{G=PQCLb_l`auhyVJnZtZ-773ma*jD(~-7T zOn+*{{MVrIS!Qv`ax2=Tdff2CP1S9eDcE6z479=zY7{yhr(GNs`k~Cik56$1BX=og zXTzsh40p|2ZwO!r_Kl)n8VnON=&uEQgI0*D6l|I10!-KA_PlNAGo1r4EZ*t7wQmnZ zA={o0@QYS^5g|`1y7zj33al2>pK39Zqq52 zDWtRAJMTM|P!-`>>h%rBjf)S+vF|mP`IJharC^I041bJ~bepQ7<5BWr}|!7LEHWT7O5m6u#q_PkEE_Ywr6F_4N4r^~Z)HKE{JJ zz=l1e>M#GKX~CHO6pUdB^VVmPFQybFd)5H8KuW)aMp}B6N&+2E5<|7oBmzD|S+axR zp5F-#vMh-N6+a5`lD(ww^jXj85huE$3*WbM>Q0ji+S%|a83QZ%weC2Orb8bQS(}67 z@JGBbx^E1(N(K>;EG$b<8-Faf+KVTDmYR0?JdPKN9>V7KXk9&Bf1B^Zs)gqXP( zn_AQ%*h_#N@Pt{2a?aof4Po6EWc@mv3!kDfsk{yj zzFgcx#1rs!H1D|Lr zvSfRs3yS`9^ma$xDQ2g_r)rEjU_WC<9#38&Y$tJCCWrk&Qa@_>CaL$sZm%?G*!&<~ z0L|?>8tA358*fYxHXH)rHfl1~v()}xq?C*pvxM}V2;;4o3fYO!qA`$G{}k*s-n4mO zO?{A^k<1wkk7{k!(nUW2nWmhQpn@Q%4-lf@9CwXpkf?`d6`ur0AYzv8SG?N8;yf%! zP+3dpx?yU3H@XmraalB`TQueybDnP$kH09eBprymb4z0X3`jd37;=B)`75VX%o|Y4 z!(PcT$Nves*bDi>+2flaCIww`V+-P*o@xu1Rb#qUW4>0NL`K%7p0cPiw#NIFMgd&R|n2k#^SS>n_F=|r?F8q+Nr^9{MJ7txr%3f-tq zJpbr1^LTKPh=Ux*w~p&L#}^L~Ja}m}Zj`SoW(!+6-TD-KlX#GLdT$Y2!7BU)It^Mi z<{R?>?fEl0tcBq!lhtH~ywm}L@~j#W!Lt*aRO1Hv&ZHF&#xm#0K$0&J_GZEO-R3^?cdjy0qbe6T6 zg)WFwL&JmI5%VkTE5jMknlV?zuSB+tf9aPKh9b74dGb-AvUYS-t+df(5`)GRu9+rCQdE>GPTW z+M5C{+b$;I{B0~eqbN6t4fX|kj-7grV-a<#pnRaT3LpQ464me&U%`q4y>B=Wdta3Y zBgm6(<>>nGe{#(%EoLPWYsRqZyM-KY*jtH_HTxfG5*AZ^$=ra4qYnZ^IyB`6a}g0` z9N-e4_ccF)ZVb3}fX5$BBvJCS58IUJE_Yi(W_2UO6+dMOhA3p`zV*m`Y{!0ujH@Di zFmTp@+hBNb&2l}XNJbJfPYLvhItzqy)4|~Xdy>s~uB^VIQ`~oQmT2=H1EAZfbHR~j za`R&iyQ~<~SNeAmcVx!N9(X@-8D48P%z^| zfFhgnM*GF_ZhG|q=mNU%Z$cYC{g9pZ)+6m9Kl=MrU?~)x8>Th#x9C#%CLbu!PR{%7N?%Jb&P)9A#F+!j>VIK;px>Ju&GlqsoWn!c7%+T9oipzQG>9Fk@;@ zhx7RE2jVlk0i9x-=z8oy&^3&X4jP(8zaP}1O?b&o||fH0G{J`*Hp zk(De)GuP2zEWu2@%bD1EX&6s{gLYSnn}o(Mh?&eEljoWIn8Dk~`g5y~RS1(F zHpgup#r9^R;Lf0u$YL?$rmoR=OfTZMw7nm)A}Z{9Tf9A~Rmy2_G`3yD0qczA*kTxl zo#GiXe$h)EI>OD3zc1<=ZwBCj)I=tx*g707F7zoh_25D2~S6zc5RJ|~F zjq(CFWnzYi*|H2!BSig*-8NWCQdA z%j5ME)r0HWk}Jqa*6PQ+9P)Ez0$b=MmBhaY?iY*`kRTwF+*>l_jE}#wu+we|RwKU@ zJP4qX`9@u9XvgqDX0#P_p1B<%Z@ckNAQad&f%#z;lHK^l!HXN5psf=#p2`}0pZA~> zj8*75U5`<6AWYseisX^ctZl=K{^2p#`I+h62;795bm4rlP?u>St({b zwKY(lf8|v%T|}-dekK>k;x+~w)VT*J#Uvi{he24J7D_fI9+6wltj&Oa9Mw#X*>}vy zY|h>O+p~a}6P}cLyM`}lecC=OE5(ebw#I*b&J}g4%GNq-F;XtN0en|Yau-?IdrN>m z)B_&MnT@OGjC1Jx>T$Ey_k_zzF(Wv*G^oI-XMyeVt^gOCBjS4M*cfA(=3eNvNZWsS7TYTuB(tI&@bQet(;462X4 z8y+C={FI#ppUN8CrteGmILwu_^&ZD8)P^zkXda!pUVM^Gz66q zcGRZ!kB*T*T|YRlQI1dnl;klNa?xJ@Stw@YXA>B8z^l4V!jTf3V(OwsS!6NV6|G9q zO&2~JM@6Prhi)%ONY~MrO%fqhb-;eiQS0Znt*P;(uuw(3hLXr{3 z2Y^m=WpOZYH4s#hk@lhbGvTS6F9{O_Pa zcLma~9LF}dB4l(BQ8za{yy;F3ltAF+7to4Fy$%HnC$?MAp68}CVhbQ;J{~dr^e;UL z2-;T^KK`A#Z)In{JpW<9teD_BFi!+&Uax=w<>HnEE@^%Pru`^xs2gp1bHMzxV{6e> zXik2@PJK5`jsG5SRFYAPHRcs%X^MPC+%esX&c=$w`xLiBPJMcm1!}DDMWn|U4)n4< z%qY*q$M*5%O0JWI3vNeJN&!duN8q!;JYy)kawW&Hr1Rj!B9MZU?Ab_xdX0<-GpX)@ zE$k2qa6e4hS!?*&u}vr&hrmDm;#nVNJS8;}o#D%ke4u3;H6vyeB))P8UZgD}a~2pd z1~;Jmey|t?d6sUT#D&HR2{h#wL!y8AzVoWtR3$wuWQP56(Pf?A;miRB}8hzW!R-AW4 zx>D4J9Z)!PcA5Nww2kzA6cS${JzuC*(ConY8;d5rgH;nn`A_ITvn3Fud4YVH`?|*c zEP2jsjhOLN)yQP7w*!qC1yhEMfhlWW;kfXAJ7_%lho_(i{yr2wfCJ*bx$cd{Ck1^p zLsxgqpmmPECjbS1TJxYMo58*}KqyDJ{j*5SD9-IKInS0K5q;Rk=^|x8KnWz=|I@hmhq9o*^nmLJTaa4_N(2_h4bSnY+?1@N;$wyy#^Z4XHNU4GPMMkk)7POTQscAczHeszu4z+ANEy9kO zVHU*~YBk#c?D9rkmWdfRVGV5}UKPARSPJ~8|KSpo?jO#*ok{niE=KkgNv!x}O+Rq1ghhIS!R6VNOxv!0{B=WLK%y{Z*(C@r)PDCcfw1qo5 zNi{<^ZrlYBai~VLQ;S6Q5!l2S53DxX+Cg& z+RkuMt|}Moohm*h($!!T{MKh%C1yNzHR3Dj?RK8X_eUmfLbJuw?P>rI+@;vd47h0u znfU}LNYXO3#ihBztw3(zQrIjR29bDX?yV|BC)FFBO5;=SE_ZIHEE6-H${J{LzYGWd zBIG={ny){)pFh-c8uT!zxYf?oJxE(p+6$loPcLpp^n>|+iS(vDyr%6?=Y2MKf4uLp zOiUd6XXcid)z6T*EK7ixUroT?`vRca!Bi|%ZA}{;e!PcDG({lx{LlnhcTwb(y)tb zvIc-@v7+DEZZoH)&$3j^c&cl#ANrlVRT91&Xck^ixL<~Q7P%Hy0P8m9Vc*lyuTcjh zV!wqbR~_ruR558-y!CA^>9J+8m{Ff_7;N$0Zae5)5Z>rRhd7)BjV^U#ox+wv5^r(c zQPH6Q6FD7Qz_U}CP!J}H)F|^Q=28>>q`o*dKv=V*NJ_Y%xEjSJ(JLRT#f+!ChGaco zVg??Bb~P(Ddf=|C5GSxh!+Vv;u>EOi7=@+vsA^+WA@ZrO)86^QoMt#blAn81qA+yD+mcS$Hjz*gXol6LW zgKjrpo7W;;4v7~g6O!Wl(G(t5HQjm?idle!;_V6meY0Gb1!G2g%tU{`fPX`f|NP1y zT`pXOGCQ3r&%Zq^{3-c~B(41vF4a0T1paktNe%fu(Y(TExz~FN*J-fLe-v&codQP# zMlJ%gE#9HC)DTq)$~!nJy?N}!JCG~$M4{^z$BPdb$wl8d%K%sLIs@J$H5!t;^>q`G z83O`9jmC#tO_JG>S#VM+P<%Jz^2p#h&@O=r-1x}PnlAn_Wp|>?+*-2yUNFqP@j(ef z$M^uY6j$G-+cBp!xY8mq<0h%mC>36i!rXfqRwDdQ;Ukl@WT6=*d7H<72#(F*JDN$1 z71+3Qn6K&x%r0c`xN5fHHgqur^Xx(-GfGWmQ8U9I-J5NeL~aEw5i@Rz8VzE>i+_B^ z^5`SuH-cgNIE0nT=+H>9KtnX{M-r-EDtmKBlVScQqOudf|lSNC|~_k zOk9i=@o|m}j(FHL3_WndW2?^OVxy!O3VZ~OK5j7m%*Rn)T=asNhTc zw$XzZ(_m5lQOJ_8SnEj;1%^qlrf627T}`(}fW-dbFL}(=$3Y^_F&HTFTz%&Z|<$&VT(m34MRcGPz|F$PR|z zy-AOPGr*jxpf>1>d4k;FlRa1p_RGvC>irIrTO-nKbqIQr@4G7>hS3U{QNFq!ef^ZO zSyqJ^<1q+@Qu%f;7%%`k9|$Po2wDF~5;86%c4l2gH&|g(065(!7-~OVp4i00h!(E= zXmjKAl`W6GsEQnVs3?ltJF?ihK0xSKczt*e95uZ9$lE)6e+t zA&cuw<{iu+nqIT>?c;1>Cs_0RhK%=C1Z;jb3Izg{uc}Q&qvN8{3t7CCyDB+C%?$K(O)6&WUq0#A$_G?a z{|IcypHu&8Sr2AB)iZ$h|K3F4U!N%50UIZtdSoiy%%h0JQIQqo%BX{q55y_U^?FnL zqwr;a+?jM(En8}uaaC?Q3>0}DWY&yKuy=ks#zh-FXEm5H9zYln32(O?0w{;Dv;#s5 zKY@^=PL2|oX0q)ql~~bHUdG2qC4IXw(k}10tgV{|PK6U^^Z3h2gpiy3b(a5pr!N+R z89%f$qVRdwbHls>p+B6Epv`K`CDYcyY@@5X`%^%gC*Bu?7%;`U7*yZ_xnUW%Th5K* zFaz!X;oEs2?fHQl?OP6~Ge2hMzaQEe|21Y((TwDSYAv2L^UB#-2Jv9M5~MrDe4zQ# zx7c6Blc_4^$af!n==k#1094G*f8z%jv>d;04Q#L}ujq{#0mc2g2SyqyvzY95`^7Z@ z{3>fs);;B#2~@%PD@#{8TE!gSt|DG$xi0P|mHF|)beM5e1OH3RK;4;U6(*5cF=L9f$bUsE1TZnwIAtJxj`oxTfO`Jrg`GeY1 zw{z5NY^gF{WJ=pquy(>g1c`m@SsX!!YJdYUhp%Q*9hhEK1L(fvH)4(!OG3F@zh*lf zvMF-RKbC>zMWw_sA5!S6@<7h^xxnQHgc0iA-TeuR2wGE)-~xJksj)(BQ0p2+mSxe% zm4L;|4=FcVUW$4tJGA!0U^X7DMfNjO<1fb7oiQtvZ#3RyAOW= zShmgXn4JjcqY)%c{*LZFW*l+H<173g;3#=anI+k{bg$@pQ9s3)b5AvDrA65WW#`&N z3axPuKtNG}w1J`PupkVgqqm6vVqXnXlim(3F(`?i<>S#l*_Tw2Sa>p0I(uZ z0f7Q!JUPjWEIs6cEGv691d5Jzd&s1ngnZ#FJ8x5m&TS_Wza$d@)kna>OWQ^loUWm3 z&Vn#wJ*J?f%9l9|>fK`KBQ`+a(6# z|EI%4A5x1iX4au{l!OVLKY46jDOq*sAX^Y-tj7?P9r&B5@Up=sro#+Z;*EB*O}?0j z6izE4$E^U5C*DM;-EH15&cNXblfz%i_POXt6Ds23t(=Q{%*OxFAS91829bb?lZ@Lih}$TG;s*(q>6Q($i|>oim` zN0f{47^xQ;7m|iY=vzYz%(747W}et8BgxmKx4JF?0xWeQB0w+iho}02Iq}yN+KJc~ zAR0fNtz?6$uhO=KVdCBTk+#=M>C8W0vI+c(Crksc2ljX5W^sxyWeS{!4;9Fg*Vz+i zu8lPBj79EdT+F}%ZQ(gNo-1Z&!1ZheaE9 zjADGA`(aaKRmf}t5L`;EUZbERVe)fMU(SU!Yv)&hcOkHV(m!Sr>GbrW*sqLh<0S@iwqu@Idrgm=xz>kcW?Go%uTsO>F!QMm z^Pd}(9M=Fsx|$z1CJI-rfdmf{VQjT`wT}RPIevPVC1Ki2+1NiBcKA7G$NZxc94`w@ zfckh-#@}YM3$*lbs%0oW_( z=r@aGZfX4Sj>}Jh3V^T<`Y{kit?l=7{tLvi(7-9JYHinu!BM<1BvJMuF)y{aF!*F*EcD3AuJn^h(CN1WSo->y1fE;ktN+0iEsdXz|c12nkkvTkQ9#LVLcgMk$D6f)ktQ;Lp5 zivF&U3UWAgrNhJ9L*evYI$I!S9=CNM6rzWashoTIsDjdwQawPOLrN77 z*QR|0NF3>%0j%YlT@j%yS<#(fujBRg0wZhEv2A{mm|J`VStZ5!$DCHL!dH#V{o!l*g1S7WE#%@dfwGMaRI2-G_?N= z76%(;pdPAFPad3P99ST5GFAZCB)jz zPQq4NmxkqGX8P&`+tUOW1-SUd1e_W7yzRrhuqk=tXcsIx%KO!sDxL-q8eCyiCSY||Y1C2vXY zIOg55!Zq@?+u6d-m#K-``VP8jMmsPtMq~DW#A#u^%-mmRSMrIxg;9K0krEyCWIdySc$bKwQ+qfZ>__6FLJ9#g z)^f}R4iYLs`l}`X=trmX4~}LRo~|l;beP~c?VAI0-afZZB|uhP&{Ipb@ps1fTybshiYqMV1J$rKs*q7$9q>5zcGbSAKp8FaJ1SA zGcxiMb& ze(3|@Q;5i;OF#OFK}%6_r$fds0;MvC|TkqSK_ul%*@~Pz=v%Fwla}lAx+7> zSHgtcTjUewjENdp#eP&jaXaB2F<|rYVSmyI6a@C(!+?B(R^sMkjPY_VhIdL7*ET}eCc9m;&! z-iVjPIA~}GDcu41m1pOgfHyZ8VIG^rf%9|R@(S)WJE8Q`)A!EDo)!w)2{6}x88nF! za&ReF@FkXVpKETR*@>DxFze!&<2xZ?>EV7n$F5O1a~&j#-%g}*XH?A2fBA+Bg;wzt zb38Nmm{osSR)`tOb)4HSI{bm&Sgn#dMzD`ubIB%%;ltJe=JmcaknC6(r_EIJ>G2 zSQkTe*5S^8+~jcO`7yAjy+f(+=y8JDEX*jprtdjt!2HDx91mL`<6@{00k-2Jlltax zU>Xa1LD=I%>ut(ho`1nR?Ial>6T%W%PE-AzwdtRVq2wHP3Fl}0xxX8K2sS(6Bs>OLx0T!fHc^(W~OmJ;x4d0E^zp>>5F9iDIFc zc^8UdllSnHF_%Z%E{-nhYfNIDv}G+{VOKTX8uP`7N2NK2;aBlI6xCs!aLoOXS<}7r z!7AcIa+h3m0$=Sp3x$>+Xj4_&T5*$tq7Q*#Zf)Ucjxu`?WGdr> zJ-rK7=C*?Wvryx81DKhDI?tU(ztA=YW$D&*!?sNqhE-x_x#3|zd_9B=hG)wd_}fcw zh1>V?UrsUuA6DJa#v^B4QZ}!3R6+&D;rrcVObkranS@2LuZu)qQua)rj>R>GC1U19 zBIX}N++Ry zVuZGbA6x+qIaK0{g*xai7rm*vl9wDqAk07px=;bpb!s4bST$_hx;U%I&gfRaB3Hz@ zjIcuGa?($aEQJTFB6jM#%ESD1#8}_r8$$+Q2z`;~<>w*{0@xqtHMlSNK2AoBs!q;{IACO1Cc0QzmZ-5E}VHUemy96 z$dbMXMgsXJkL{tk9(EN)BM)bkP5XfySdB0YCG zjUsD=Ci+EYlPfoa=%7J245p*W6MrLrQK(o4Gb(6X&J>=#Up=S2vi@Pj)-4i!=8$XW zrH1Ro$npUx4M#jN9jLC#1OeWY9 z;hG>lDOnUGg#8#H{sD9Q0+ylizGSD)cMtR)`*yHFdoUj5l}OWm_pmlz%6nKtz4Qxn zz)QsH+QPap^Gg@zFGB`}#*7ZBZW3R=_=)0haB$m3WCoQ`Obxj68$2TSF~y7{a%o@k z4iU2x-?uKz)7wYP8CCruT$Y+h>u3NzLOKZ{L~%F{xUB`8D?X!G=YC3M@*xJjO*4S~ zoO5O5?hVw%nlnqsr(B&b6tgp5y(2-v&pvfg(KnM$;8CCml?*CjiHT@;Ji;Yn^Hk%_?11VwU>)wup$TKkowLdNiE; z>Mi*pKJxR<_=WZyN#$$J3f?ekA=V7QS9$vHkc(H!XjaCX=#ZH`Va(|%2882oa$TG& z)OU=jgVJ~S4RrSVR)zVy$6TYD86W`hrGyDTPa-_D>3AKc%yBK82T$>Z_M4t&;sIz{ z3uqgvj8F61XqL;vF@KFd*Mr^AZ|iJ43%+om4TUywdzKoQ6Yz(%$--Q4F}d04BtDNg z8g4y=P}FhG5X@vxrI?Xv*+;_(@Jke?A5TIyY*b(LnJF%F7O9?N(B304aTKi^G!vkC zVcr2okB#=dADqxI{{qj&#J``5OSQTwo}m0=4F%;wjN5q+1w<9ohrk|UxHZ>(y%+7*eiZFi}Gv?b1k6d(PaGJdo`Y=f8oaFf6kWo86 z_KfTFNa8oCud!z@Xz^EXAFKy6+bs$5Sw0}7P@a3Ce1chpNV4L}NXuDX2Nh`9HK3>Q*H zy=h^oA~Yi`je$KF2)muI^N#v@qG-7&H_we_d<}Y1(mv9q22z+@b519cwWS9f$R^Mm z`YHh|;9}o`F!L@5gNN*6M};YgW^(ae8Tp9D$o!u3*g){hvQL zw;TqFPa)%bO?pVI%DK`c9a|um#rw|=U;GX9CNm&$N(OWxPhwBwAHuW%T>rl2kfcU2 z&$C4Mx=JR4AuZ_i?OwMvVW_Gc^Bn`j1^*-FiZTSO&d5Loz(J{!CX7!$ehb;hG}#h! zvR=`4SRWW1LHZOL=(G=}t^QTb60 z%)s8`CJ<3x6N0{gk}U9s<>EKQgdi>sqySQV`whhtdy!Z9F;HHLG9chm6x0ns!aHiy zk*o_d`wjnso%IuyA2~GYrs#Pl!<6{!beyR$M5dICKA`OvD_x*QEX>=*B^P0g-eknS zbv9Yh$KBlRABi)DQ4X?2LG;3)%D9-D;kMR=nRi_n_#Tfd%LSu_w-0G^_83e-QA6+W z3+>bR2ZSSfE(|^ELPbUhLvLWzXPj2#zyJ>R6T6BLDcodWy43uKY?7;=9hRwB)7S$?W&&h#gGZ#dM14C-_+g8+U8 za{a`U-~e|s-kGsy-^FkLQ$|*ff2*SQM5G{W}I?H6TK1}vi`O}S7DK+Othg14?U zK#=xjZTPJxg`B~_xMshEGQLpE&Vu8PgP|IE%G{Lk6Uj?dvUn{hM3E;&%Yl&!Vrz#K zZP0u{SE(}Ay*4Nl6+KQh`ctYlBFg&0m0YoPVwV7G+$R$)Os5p++e`1D)nVrNY6L;4 zKE(`#9JU#=_J+r;QVKwq?Ovv)YM^N)wJTV0tdlPsbNn(%E70*Y)X*eyPLY2=Z{62hQsQip{_g;n3y} zl-%UaMkl-KG^<8CmKIBxQjF8|i&5MpZBVP(k)xq%72kIcJ)xbdK;ne3q3ahOw@|jMXz)<=wnsOwaAGK9?D>^DU)s1Tque$1;fYf@|>eEMV*P347*FmEYpQ%)&u$w zRr-XTeGq(k?=~}Y+oqVE0_Uw01W@`^IRm5p{2?JI12R3vK*|40gF*m2{0z!Bp8$P~ z6?l)j90a$V_k^xBck3hquZmFiSpe|9kUPo3FmvA9KC&L+V zela2P|A7zK%Qqh|DyvAagTWvamE%%q0R3XqNoaZdv>;yv``a&IJOUkNCf3m^|ClN! z>%z>tE==U$r$K0y>=_R33s)8C1OmfG@GK&PW^Q#}@ymyxo>OervovDGg4V~R-PJ>m z52r{Nm!EQSWEhcTW|N-K#VwY1#7=+n#s=(6Mt(*d5xwGcph;Ee|E1Ceh5>$eh3YtkD5BgzX_F(p0PDy=DKA+P*e}k7)Q9w$UUpemJL0|3FtF} z>g#K}o%9!PB#JcveXnC9>>}dp^t07qn8?@BPe;^VYr`q2n?4*t^er>}v7%bZnlSUK z3B%j>cP_aZRg(samo<|__C9YPmlMqsI@E33x6UF_AZLswf(%bts+D=e3X%{l$|P2W znd^HEcs#M;sdun|!Gvxw%2th`x(7}RND%KK4uIpB<20lB$3^L#+zz90X_BL$k?_(Y zmOoEEiAxSRiK?Cs?8$MYUX0C4{#N#zLnDL?ZgC|JbrCl>c{D#pff;wB2{szUF z{1@XmfjT?~bQMFh>b)^2En)`w3>eVjgp9_71jVrk#rW^8?WRbhz{65E&hc8au^-&_!LoPG8Pn32)WwNoQr{PnbcKKuJ|zOR0(4cLoF}WW<-56@Q97XkQumQju*bf z&1}s|#5p_{NLGZIR)l%S3~K7` zydpmdJMsfFxWaW~Mk|mhmK(`j2Mo_47-==S_*hNCT;f;_h3xcaL6}d-al<|&6Rr`6 z??3|Z%!P=D@&THJOqF?`xG;c34mDdHD&rMei3uV;3%VYr-#$7R84o+OJr|%Eq$6u} zmfMqoA=7I#E)q-<-DMXaOOGoE>uhhappeK`uv%q=WtM7X}jC2g++1k1AwP zn(Xoo_@i**7US(h5wh&o@1r-6ECsVH1@jKM@cVrS_uIkPYRl(WsGwNhH3E+0j<4jW zGU9eQr1&Pzvtvf*ZVMo91$y1f1rf!Zx8O=8cc?G17|c5A^(>>I^fTrhjl9f+_J5A4 z9y{J1W?qtKjwGU!F<+aUC{Qq{&CkhbBFt!GArwp#JB=gbi#c9n`8WZhiyPzEqkPxP zKFrM_x7*3+50Ck`4m+=UHrOgLVB>)VV7-fDGA@PhT+*A2)}U*kx=hF=ngi}-by7Wk zZB=XWsiHjh!(V$PYr(9eUqg7il$RU`|~*s z9kNI)N55}}nUz2V?tS~5z=TsJXDyg@jQjhy9=IDQfYWdyXr}TOU@Wj^He`Gqy&r4A z47QeoULi8=y7VOp1I&sRMI=Yn7?@B+^@H_{LO!I5pr?!|FX%IUoxZ2|{hJQ?mi_88 zpFG+k(Bs&3p_3j(I%9zXHLJY;Y6E4)2Z_NevKM(=s9p;{IBo`^`W!OYNiGP5_Fe$; zy04|1TtEM##gr@tvyNN#%TFGRR&l0_2H(kBQH3>PP`}XHV_ML4WyEXRX=8wi3|J^< zzq-(!W=bV>!2OgPn%y@PhC1;F4-{9WGR@Hj@wf{p78DzS8=yPr$*`V(EEel zL6^!M(}8C2ILOs_T3M3uL@ zoNU8ktZs#9m($LAvC+`a2jMjxveRGsN`DWa0V=r#QhXFtQ-MY6EF@d&pC)O5f>`s$W)!MWh3xc~%JnHHYfCZMJk6^K{(z|Ib%_WFw7y(M}-`}12ABVJ~sF( z*~KR=C(V#BzE6BG3fb8&)qfc>owN{Hlcwk{AzWcR#AgpscSl?&cCfqqSV`buB4(eo zwurY1LZ1sK0E9q$zrWP}WyBEzz*Z!f=vY&~JY?@fMpY_*hn#`7ZBs~mP5h9-z(@Mr z3m*2Ze#lOKssGE6;YeZ#BJ(NO_~jyd%*3c-I9aTBMa&r?eJ@22O=-=Kxx?KUJH;UG z)BTv8{n9P_4VdmfLymm(!rBEAHu}odFe7YkaXdi>#@@Ic+pg%ZBnnb`KMAd93d9wO z2^I1w4q52wxySX+at>Jlt-Y;ehU>D(3NS0pe|TeHyUb;Q`-5Q4m!UZM7-ua=61DD- z^Za(+^o^0L1Wf%}zGX9#1z=XXWxu~n*qV1>mYg%SGfTiv$Qbp3DwsIBzu&(InL>ge zgS0>!t}za1=B<5i{;UAA@;~hTDqBM_``NsMB|mqSDt?$ybo2)lF$V0m7Ud|vJx&s; z%1~YRK9J>!uVpL1tbFVJZfY5Fj$Q_toYt=#`;wzYdG$RM z0${kBLrw>ZB}VZiS9+AkRR(WlT89jt6B1aH zXYV*w|B*w$=Ih{q?x%dnue5JZb=;qouQ3ih#Qk>wZ>&JF0?f*{-j5x^&yeYKB0%&6 zkjzKrO54?V5fOjn_DV|zCkH0jaq&^D#pRbz(gu=N4Sq3}IAUjaf#|?K`RCXLULj97 zGpSuY85OdVU#?$I`5|POdr`i^*5gvt8=xUSH87==#Kp7vkYeTdnf?&Jc?8VPEiR> z=Z%5kFbw@9VHg*mprc>2*vknqYE(%PB0A!#h0U$6FFC9!W~aY=>;0l>e%O}$7BiY1 zx0th-3sL<{0LvYG$mf!S86%bfm!F3Mtf5{uOu3FeE1r%oIiT|ABPNzC|FZHe`=J8% zBe>sYFO*>S4jVzxS0s>wGK@ax!U6>EoDhzQL(Z~Vj~TWf5CQ)1&6ejySS(9SOplpG zk^n}@@-Hjj(%(Fu@I}A1*jUKifG-H8Weg7Unv&o-dGJDBQ+F~j-YqthfR`BP{CUf* zMr8PvtgY-$XAymxLU#JgxAZsilMv`{A!jH$S85FQtC9vtT1mts`jkbfi4?`#mb6`M zIt(x2D)mS7Bt_hDayYhq$Oo^QEdRp(<@%80jrz|ALzv|2R{&E;Kp*8P*~J{^go`0= zXTFUCL4Qx>qGVgU{47EgPtRTsrUHA5{gF&e7Jymhmj7mZ7%<0oN~{k7noW6WW}ECG z=LEubGV0WXi--|xL)3=;`=Z^Axfo!t4(3Tm8Suf21>F6{hz=b}d3+1~c&rjVU$*|s zD!26aX!&hmDKNNIe!6l zI6q0NGMtavb&dgv04bw+2rS`{c|iSe_c5rOhck9t4YS<9BZko zr)y%HjoTlUOF_C8lv9NO;yVtpION&+fmFDkJ5KuZIDAz!d=+wBgVaTL!iE%Ok&>~+ z<*A&JECI91E&IjaegGG-p?$I21N|14CQu5Max&4*VrEEBg^)ox55_2mT;8wOGU5!G zY3aL>f*(1yQPV(;L{1Qm73Zt2t(@Uexk7gKE4S=NJNNVTi#L1X^PMp3#*^9djdyifUw3uxA(GUw=PdVQ3#QW+gexAT!6ta_F zx$phzBT@(cCVHN$PH??lHt&VA)R_lAGcV1Usxor6ytFZml#@B7>#$0=lwpwB<9N;$C*vKr70?K<&@7J*symi#FBAI?Qa z)(~?Ki9^*TZ&o=Y3Ua|zaoejmXpAhuuyi^usu|e44=h2Ee_fu{$~f<2Kmcr+8}FRWT&g`*|5&V#}4 z6|bE@`K6Bil(CW<8!6{OmO>U^yLccfnOl!BtO2uX{-;kFgVY`+5$*&mpgtD{#{se$ z${T&{vnVs^Az9zv@=YW4NwsxjXsQ zTk^|K!dzHvykMPj>iGUP2jM>Mh_g2wgtaNbP60kXdmkt$7ac#~xiAoLS=g-~LwzpF zD}+Ha0W30W-o|X_ro;j;tKM=SP1jRV)OFh;r_GF)noGqpW8fhPZ`B;)gmzY!7=f|; zOXmtL3VtYm(NJWrGKD;wj{aU$YJ{g-Ir=le$6J^Ln7(EL7Jymx-udMx&6+AvOW$Oy zZNT9XMUvwgA{cb-)c56(2?f%sla<+}^Q)4HiNn(>rbQFdPt2wZHKI?NfSpI`DA(H9n~K8DZS!I6tx{u7u73~ocmYlt-NRW zRknfE!$Q8z+6RLNhaZ8S@`+Nl{L8BI-yP+s(qI`R8MU%2J`+im6wDz-_%ioVZkUZG zmutNei_sWS@WDiOtt2xEK^rXovg*HF`o-_?g877+Xhk>v1W?k4klqpc=y@;w+^Sl| z9j%?|A!3yDSZnX2j2@uamC4#KtKG()e>=mc!jMh?Z)(H-;aXv^R>q05&Ar>fRMAce z_^)(f&o!wvg~1iZhY*@9{jys6mmwz%;YFs(C<@GyFKY*(k$K~QRP6$PNn&Ep_(%(X*qWQ=lGrQ|VV z5V-A=6DGluL{FA}S?#}V{W?V@s)q};$fR7yz#>V+%_GBI$rYLu2rp6p)_%quZ$k#; zioa&vpx#q5Pi1D~XX2Kz7<;=@LD4t6s7FhRdXGXb%$G6H;m=3jKUw)@wOjhj$AgR! zVEzahT?|Ig?Wxx3UJS1#9fnTVzPR!AZ4wrH;^&#d$^spM#CJiOP^#QuZ9_B1DNYEJ< zIy}2}$OkAC!)FV;{=-BJxO3?@AeFacOFRx-fEBTmU%xeeEZ82ZqQx=~ngjND zmE$GlUF^hRNFoN>Y>UNKJIVP9(~x#D=XgQMlpOqH?5YS0cJvi*BbSyH=4@Zny zQr;LH)HXJx`GTso=F950)K}KiW|igl3j_rdNG>Fd(wQt5Hc7Z{X(7qG8-)QTn}R=1 zX;r;X@_{9M^tLDq=g+x7Si-iD@wOa$fDcdvcLu$C_^=e?8m#%UdcB7HjBCK5_yvJP ztjLBXo;Is!<+3ar(Y%{dsToEBAsM$dR&VF6jN~N9<+$tE+W9Ht@HW4Mq5ug9hEl%F zK$0b2R=*=&)&rpuwX@Eii&b7>{8l}~h~E!#KKXk{SjW#8S6^7;rC!nqY>R>(D9nN# zFa`&+Tv7N=BfRT*d@o5X__BKc-vj1sQXa%+rEVDb;Xv886dCy z#S)Td6!`~PzC8|rLW4}Gt_y@p=CNz#*(HymM}HzGt@pC}E%W6ksR`;%P{31;+`JLV z)y3lN(|#Sz_B{`f?0ICjUd{bK=K)ydLMqu#1hjn_bVn*JqPU6S!1(1ut9fJk@RCEqNg*2qs*s)e z`YrSQB|=A)FQ0$rrlo>TXUOcp2E&)!#yjK+4%KFbo%NtM4$J^vEUNVLQ4*0jMzYq+ z8n>C}FCz@--5q`XIEXkjT39ZFflEzyR2ymE7br&{U6$A-T?R$)*IJHBFb?$l^^5nA ztKF^Y#}&E4>5fKa1D6Y?khtBATd0{UybLndKt zs*AluiAVo%%-p4Mopc3xvx@wf26$D+Pio2nsYetsI~NplIO8wp?UliU#QfrUnB zNM;mY%JD|OfB{^-u8^Jj#`t&7I3?*~09%4hm)1%C#N&l+s)Pv2J7V0?+D74!-*sD{ zmk~d2-ryvP*qLvfnU8Md*;V5hptPcchuh2jGn}lW;ot-eVy_Ar)paQ4lQBSqa;f3i zqo8dBvHk(f33rq2h%8 zzAie$vVHa9*|LXPh&8Y!@iV68ON!WeZ~n`?SGtUi2VON$Vf0KyDj02t8A%hyS9+;VNbPcouxY3uS0 zK<;~Vh(USY6WW1Hj8C!?-@H#de<|({R^oUTS7kcv1ytNig{vaYr~6_w1SaqoFU*zO zCGS-g4+95`+TNo85Snv46M`n#-~b3=V#4$1v$oFGcUiOjhljkH4ddT7n{3c|$awtF z1hVreJB>uC2Jb1e9=%!}u_(+?#4(WEC0qpms?&wCFmoGamRkSD1uJA{zIki<00KQU z)(5p#!nT@;ylBRREU`q24sLqY_L#S$pnZir^(#%Vh<7r_Dh+jADl+MftU0E0Su|Z}+A9m!qbYF0!-xC*L zF3B(7hmfBw@3Pi?)%Uj(m(GHeGt9AV`J_0=s83?zfcbVFIpntOUGGQ1k@A9v+>bBn zOSZbpT3-~0XL>EuYBoY$phuQ=f7C}-=$zz|WNoGR)ewjqO~#IKiCpkcK&C6U)Gz^d z$Zaql-xC-0seb#SxSM%v)p`u7ke&Kg`G+Cz#+tnWdRM)iax`kJ(g#%`adyez}EFzS47+QGB1uJVOJ zg}L{sC}r2RU4!1Ga<;U~TK^^YVKVh8FBlq&s|qkO?uN3}hdyUHOWBMS^p%q+C0Hdu z)JOMIMy{uNqrQ1ue*F;CmgN?iq_DM8$j*JM|HFeJQyIpFoz*KCsI%~l9MVyDiB~J_ z)nxqYFBB#DDUplw8)Qbd{%P8kt?jbz+Ae9?aeOAdL8c#l*S z8cgNVkPL*};JdSq+GQNh$8(upjp{|;Xofg2FKK4-b?oB0pR#k``jte9(3j;p>mnS_T4;id@n;qq=i7#2&E`Z2ymFFWL-}0$=ZX*PMeB9x20CLMHe&cBC z5iMr&B83-#*y$o5hx)4Kgm6#ZPr1oSYEz>4a5i9)Y4g~Ym0rLr%X!6j9K9Cen_iG0mEQNYT!cz>70tM*_$W7rd{=gPs_*H$5V`++1qIYU%(^D# z2N3_eFkJ7xFOJ55&C=>cT0&_LkJG4?-%mMi8Z<{7a$MP;H54euwGl=c4x8>cDZ9W~ zxpz@dy)_cGZc@?A)dE2247>u=e~^O$Z0W<0Xht-e41i8mYgQKU4bUzsX`c&aci+A& zm-CJo*J*IUP9!sm1fS&Lh{ykak}-#anmojR#x2kGMwE)c%P=}Hz&ef~7J@ikXLf$| zLb^V@8%a!L_RHsA(YJEv;1xI567{5aIIb8oP00!Qp8M7lG=PMMTp4x45b9=#MAET; z&8y0$)aywkXAcH~LSFZaunTWJr1uD`Z^a*2Q!k+43i%^z#?+?0dU`wY0TNNMEMb>^ z+=X3WXgsv4$1jRM-(Gom5xywv$idJ^;yF9!1nn9=l>C}=vU*(n3KLU{y#*fROvOAg zSZwL)?oG_a$?vZ0f}7S;iGfT?V{SgsrCP#UywEjdh=yRRF=m*+^Yf~9kBnzNmz+lN zoiYW%K@$>@rhH|OJhv~es-lKGFK3${pQ7?R#MQ~g$uHezp8Zif6&5}Asgnt0*S?U6 zK-Nf*wROC5)rUDsXb{qeBuBdqYRY{q!&$+*SXTO0 z?kmoHU&1cW5jP<9g_~hv#vM_bD2~upe3RJ7nrL#$eMjyt`prJ|x5)Z{md! zOdg4AZ3)Y2FBn0JDCL*0V2@sMmPBnNK=-SHi}{+H4*8#2f+mPrNON@N+vqsnY)naw z^07+RTxLiYU0yQ&UJh?OW*FP>GWs6Ya(4U%F30>O1w5WSq#9%ANsrtSw69{WfyIH? zMiYnKJ$G|-RdLb5I^pud=KE9S%S91#AD>mR#cd_iwLGu={~whpIM|hAqpVd+6SLG^ z1bF_3F{7-Du4k8!Ad8oint`A>r@SXI!4z}Huzbrz7eLKJYTS@h&}eou6(#x=8}oK7zqV5ouqBe9GSx3#?$=Hh{+)Fi2MOyrqAJ+HlNCj(zh>f zjp`5=(Yl4VHeZ~U2Y33h5f3=!y3~-u3sCuc(0}KRorOcEhsAj=k7$e za;Zp%mkr^tpN_H7dkAd=G&Cu5FTM?+r!6iIo*Xa~1SWj8mRWO``bZitNb28W{!2rq zXyd3hB(I9q?FGQq1};2k3F9$k4{`*%Nzpn3k!$F7=#mTFA@=n8`8c|G%cEBg)yR9y zahjeEbX=GqN}*iHt{4dW3-{J2>SW+DR3epTl}ngTQPLsL|H*?=5@7Q_AaxOQ;on8A z_KLSBW~xGDsC=OuIyj2id2k+IF+Z7gb-0~aBXPlI(a-e~B5Sq8&_Uf_FJZ@*0S-RG zt?@FQ3iA^`F_{TRF{pJKW;h4%*R^E>G}`5GbVidaZBM2+l!pNW)roN46XB!KM5ao3 z;kXOXgj1FsG>aPs&**ka8l$P_h?|7GE>D3ILm8zMKs(?WbJ(l|R~(=LPSQ={Tzb$Q z^UK4lo>Q?eS7*YRzheF?3uH}JbPF_0fyO*_fuZGBb^i%Ek}kU}L+{l*Blx%}Qp`%` zY-byQNj@CTgkPR8e;IQ;|43ocg3F$g)yKPmO}e2ILrvPj`gTD+WJzYu0|Qp2709Bf z>mQexmA;!(;k>6pd>9{sMjmP@k8yFx5J8tg0nSo1Ym_oDM7Nic1Z8Kd_{KQsXs)aA zL##l!x#hl-mbbWy4moexz4xNkRVr6?AO-DQINMjy4{p=HiF)8>`Xvw*Ia7#O>>Vpv z@>(ZFvhNTk!Jz0Z?0_2Tux_8MH`QEWBPf?KfBnF8R&QZ*D*SSW`AdghxIP%|(1uFv z_v9(EOb5t?!+hE1%{)pKwK~xN1kvrljufrIx=ZNF8b()ib1IzUU&dUy7QtM{$BC2S zIuROt-tckI=XT@0G=XEY>Us!iYsU<;;Dt?;zHX&e#q3l#zfxg+FwMj3I&n_X8wIGt zMwds26hoXQKJfhBpu}4!VooG_NTKUr%7%(jf%F$*Avy$})+y-8Ht0Rh ztei9l?OZs&a$$dX3wh9k<{>Bj1-ER`-Y0b}mMM9e;KkdH-VUQgm6!eP-<%MkU%DHX z)Kc}Nf%T)H;k%fmFB1?94C516+XTdt(hAziaNUz3K!nFC8X@zJPaH^fO;jV(Fp{8S zE1;!Wy8=YUXrS@zvc%BO;x2MqG>b*HHpx{q{*5SE@MDU29~4Tmhkx<+{kv2UY>L^r zaHW44vzo_)D|Nt=$KCr=bi}oA;HRZ9R48?PM56%v_Q_@|hTP)T&HAu~b8{~Ia)<$M z`q&jRqT>*#^?aH2*NA%efgXU!TMtH|>p%8Suh5(utX7z4khHS+Nx;q)Jdomm>Eq?@! zIPYs+S(eHxc%?vGo?KSW;6cnV_)S}v+2QZSKUWt3M_d4(}jeKAGn8^-@=yD0ar zxbHA^Qp_J;Q>|Kv`JM}z`aM19=&Nas5Ix|fD1OikSy&E5@+!?*4vc5H95645|Epev zKQ(Y>`jPAsvou-8B;4!QH^3|UH2kQM9Cuy^kf2=HoeS4J7mogD`IiJL?Ew9FwaCQ8 zJP_<_Qu+e(51?T_Hnr2A5%m%v;)DuMPSpo7C}P)aC9} zxbCU&*$sKx_&xH(%(`LmjmE?X9R89aNs?R?_zOy8j{N{0SuY_sCLOR)a`H3@_&ugh z`&Db&h2hd$;U__d=g&tmBX?)Qb?1s6!7!Sbsh{Jv?wB$stp`PlhTe$j9pY?nb48%{4KplW!B6&% zI~c*tZ`Z#DS@cB(t)OvP^9)Q9Fq-$=f=2ZHN6=vI;$?{vSZEW}1-Ul{2CKk$3yUHS zbdF~jbx)HT5BCh_XFF&yZlT=C1N3kajrRO8`sO~!lP+%gIoUfQ7O78w?YKA*St2kI z^eq+QcmFh-S>jc|8t9TqUIK0muKCFr8T|!m6gJvy)wJ&?g9W)Bx ztg@6m7z{}V24X1V$xS`sH0`Xi9P}*}LOp#@P2`Eb&$m^J_A4^_BNEtGmJe=`9 zVsjMXtG+a+=XU{o=#{sWU~oyf#mw^QKXaIc0vbNw)y0J(f z_xC)U2-EQoLyn^orDc)s0Q&9egosvriw@i~m_H7O+>q^_c7aX0(aDE0jQISHnlVRoeZhmhH5zL8 z5jz8>a*a5$&{IvNVyhr^cT_N3KVBsYptPjiuZ-q17_brRhGJ zt7pxBBAvrb)1LBDJx|${B1^CwbfgxZQ53}rT7p*~>nJ%UqwFp4ATW-Cb_z`G9yE39 zkD!0S761*rc*5(_;3JuQ7fyO7=Y6{FN+HA6AQKHibJ_OS9Ik`#P^;QcU=Lh@M{coc zx%Mb%=fKo&K?`B>BWUo-5zByy+Xc#%wja|GP;_i%v+_1n>o~JiI5>?Q$I0tJavQgJ z`td42M4Xh$Wxg@*+wZ~o1Tv>3y%*rI!;8)79GJ#`h?%sbfg3xO0<=#9J6cfYhNws5 zLx)Z!vUAv3VTDwIJ@3~LBOa7ZdCP(A`$)qI1FW3wi{Jc6eI_7;H;FPmpL(G_0@gm5=gGpm^9yB{FKWQ1r z3EQ9g)L12rqL2m#1Veea*As9&VFBaYEhJSEbh^kXq$#tXHd%;^A*s;$ZociXok5b< zRUPlZQ1uM{CO)sZZCl_jr{<7hiI-BKTMA~Q&bHX{P7v!xJ}6M z+W`H^rcuD|^6+ap6XtdexgYIGVv}7qz_iX)KqsQdi~uw&7brX3K>nEp=mY$UU^tFh z?`tE$xQj<8il`mRJ2rx^u^kts;+~uc;{|?U0j-#ENX~xDPK3GNV(w4=h1^|Wdj(JA zV{ZcHvXtnc7cl%3`YUR=7Zjg{dM&p=Ij?8%`H{4-iR{IF)quxXHkv%X6NEj+{PC+E zaLb&#vE1@$Ue1Gg+(I4?Eq9VkBTOZ_Gc-_!sJiGJl=v~3-$bJgMpQ3ZJwcq#Txy>; z5b-}y$cUjfNr5mikJhv0y>W$+tkDM030eV9(zkqtVs;wL^BQyX!;hzVl<532mU4wv zZ<6I{rx}F8j|Yh92U1DK9{m6Xl*Ge-#~jat^$wD?b+vt*>F~F*%4jf&i5Xxwa#~ve zlEr@0#C$mo=5>u3#OYK2iqSb^qKbVx*6$jaPgSAVhp-N$7)8(#8akR82lwi!@Q!3y z1-`^2*W(zx4qn_}3Ymsg<7ZUVnWTRkvgG9?SdLrBh+TY#jKTyEA>3L372uDdl_qN| z#0o14Z<;T1G7xqqdr&f-cQf9%0JF)y$f#1)@&9AUzl#b4EDqKDhJB5`F0)n{W{(M-2Sz;hJ*>EVm389p{r* z2=CIXFPYa4rnmqg1r%sGG5x`P+FW^#6?+8KPBLlb6LX&uK|+3&YLjaY2XL~9b@ai1 zYh2EW&phRAMGVQ$@1HYZxn)3s+a4R(8TlY?PRvW#M@gvyGxE*?I}1=p%=G4wUZBbF zy7Vi0qp&Fl`x>|VMioF!+D8`KVn)#%W+c_=+cwLpgWrgl%i#=IZW%B!5qyYw0-U2R zfISSaPBbf~`%*K`c)@wL7+s$Pe5GoV86uvu#i;g&1P+(vH875eJ0@B!uO(LUkXC>& z^e?y0?FW2W4yV9!OM&2#9#O6+-hlnZA(R86Rf?DzD4aB0Sams%L~pT>Q>Ehq9QP@m zqpL=XCy9jYz41bF8=Qj<0k?7z%#|H8_I*x{Vjm|3?HpKcIWRGsdI%avxG45{)0*Zl zqI$&5KzA5Fk2*)dFGN0~0Ge{oJL+dtaA;)+na5U9s zy9?zC$hMwvMh7a zGb>~#!LqI)qtEa(MuM)>L1!Z|#}#ejL`8WE6{c#CD}d(K0H;FF!1m?jr{F<{7ZIjl zp6^EuRZvPB*E)!&%t3pBiS^foU{lCWg7vtC9N+CJWNg!u=yj+v9|rUzDa>$vt0U8K zgOE*dtR~eSR*RpKE-DOZo5Xe8nm66_y|20rL*tI`;#y^(O|bcT-6;j8m_l|Etmzi= zd}5&g(z|BEInS>|E14LTH;U|phTieXg78Q?xLaz}!yE)^#TW7_{Ojf?kp%~`kPrUO zwdi|Hx zxklg;%|4J21G03AkmCpuFHVEdn_SSbSz9ku)^*K&YS0m%M&xt(Z3$$~u8f$Ib6~Bv znCoME0yC(TcW~7Bo-IbFCK?`#G`)U^SyAe9$6|KUP7jU&Tb;G4RP=o{rz!Q|T?cUm zYN|09mocMs03YwglAHr;yT$xe>uZQj3gm+Y_LK~L#%E)y+B_JlxYh>|8l^^+it#+_ zX5h^H76Wm;?DbmQ^^_D_*%mql`2wI6Ic-=m{A9su_)p0F7V=zALybyBzyt7?7u7s0QLs=Dasl&jD>5%&=1*b7>^6Q7kc@b1I+wsF zmw-3oWF#>~{FDcFgT))+?dGMYOvlhRn1@=WXrfV)(_g!#Ka`7}s%ENzj#aXZP8wEa z3L}ER&yWHyf29AaK#~=rX*wCDlKwk{SYn#s$1G=}4FuI1Z9isoV8)&VTA^H(escb6 zxBQn_JU$+c^a4H&M4MgrA?86mbod(DK}}(K7!AEJn28o;$UWg*HD~BoY+X6}aK1E# zp@4bKClLQc*?Yr^?Et2rodVk}1^&_ovPb}m&>);MMX_;D6^fiaP8{>u;gi=5 zt(Z$fp^i^@ev$uG>0{stN7t)Y8}w)+h$sgl%3IJ$eiw?_Ik1g?8gpJR8lx$!5d`d0 zq+qf*!9EKy7K0yvxH0kcd45}<5;GQC^LyUSNZ zbAt&Z)L^6VCvz8VCLlkSouEiDUF{c)I9u7|6ZW~nY{;yUzVW-+wth_Qw>-$G{=qmI3*^X4*gCBQ z_7kW_oDEDIkZopiB>+DX44Lvg-Y(Yi7cV$gb5KhVj%_9#z;x7@R6i!;KqV|ZLr4&t z$3|Lm`TKr$9_;xZa~y!DvjGRc3Iz~V5Mo8Vg99De10C&28?D|oeikT#i8d<&TBr3w zLcRe)F%;B&*F`>}+%szs@lH($)En}_=r}X=X`=oVE6CJ-OM~$4AMOqQ`ZJ?zUvT{j zH4?U>C~iO;#QE*ySW&JIBMSeMJ(=}A-e_|4pD-5Gc67Nta`(ymSr{Hc z$ZGQHkbK%$0`vGgz6UWlXe}l;d#Vv1eGx9ESVCr8oXffU=7Z_iZy~3AWvA#NBixRb zESD7f<4e7d&J2W<0v*>1txTP;JT)}5$PhpwLw;mLpogqwkV7sG`DWttmzwqQv*BEc zL>)&tUt1J%d4jkeH}LT`nCU_X8$*EePkD=xQEPm=`W7q5jEi&m--jGc_6zz)l<}N= z-k;Cw#~23OCGuD4?bd?oQQD=30H6*T(llIZh3pZXLT(Ou{KJsZJwr5P(pyukUz9kt zP>DhY+}XCYN9jpJB|YWS(w>^+1?pKp-^c=m+#T}G%%DFtRT79nn}$sZP$$#{DULcK zLhmY+-Zg#()8o$kqsx}#EJDd|1spsR(zhWMNlG)n>m?@@$JYiVU0}||`Z42TUH%V@ zMGKn#2ed}0igLm{5A&EP#?VFQZcS&3PA)}V4V1@>g~X;^u38my5${?tD*=v+ce&87 zr9X)}9|9CH60hpfrF+Y46yM}b^;k64fM^(97Pht!_Th@1lbDRL+5svpZ$AU%hk4Nq zmb!?v79`y3hPe((EMLsaG2i_Ro}@T`yO?<}w-R*Wio+I``z=qIL%au})JDij#E-I0 z9ingemDah1nl_Fu@xn~T)>pktBDQ?YxO92eH$Y+cy6T}*Y_`V4Xc4O?wdKW*2!-6 z4wlc`S3AOCtGUUT6(*`ecK)k(Rp-C7h|fa994rRa!kuFK#s0eNnn!+LbD#`I{qg$o zyMbx?Vni29$Bessd7PRjHNd!Nfqio?FgZ$FaJV4-x>)MUAc5frpa&8i1@C~2dA5K^ z$He=mh0i->3y!uOXIJU(8>1B@b@%L+hhO~uIse_=%m30(B&vE?(&&mYI2-Gt6B+$D z7F&n_n={jKOv+TBZcVyX$}BicCv-b73fcMZ?q2?vZe=2LG3lM)AXd8AiC`O4S#>j* z+?wi_tG^}l}8S#(V3R3*gojM_#Hq>m3LhPkM<@FipEG{xok(D7K#%ySd|z|`VVSyw0S`Op0l|~B-B$)e$o3{K0y1}_Yzji zd@GdCh0XZ)vd4Ncqur7pfA{GuM=gMH+JUYk8Wck+WE47552Laa<`$WkXotX##1YiO z_Z>0}ST-y`Z>vQj!P>r5sU6f+$xSrW*2<;WH-1Pw9Zq4R#3;7sX5=`l2cHd$vWJP$5m+%Wh-=cErc5n4SIZ=H)bJ|GAU{X?yRn z7Xt3kcd7F^^rwld2Kp1wBygAg{>isxTwgOi<`IwO1&2_-3aD1&x~vv6?&jrxsUMor zB%$yJ^>h^Z>3xQY2s?9ZqEo2Fk2#9g`C2!TNbU@-Y;^edTp(WV;!@6HG2`xE9$nkd z$IL|Mb;=x3Lukg;#MU4qBnhdx`&)tsbwDuVs*+5NfZ%={n{74I;u?`5qMq`{xCL+D zAt^0AWr{-Ia#o5Ncl+|cG+BeR3d}hU1}OvG>aJ7-ANrt5e;@Cpd+)83fisPM=C{ zZpH7!6iJZxVxgFEw=a*Y>1XqYw==K{jIRncOi_#75sd-|*VHBdf&JW|*-p5{C`nv; zzl#0pcm~0uVmyUa z){?E$E6*(HJB%fk&3%#Y9c(oY+&Lm^oGWdHxR`U`@{0-yF@vxJkl-GhX_igmDYu`1 zJ64GqcmMLpV^1J742gkcAq6QzVxw1qsj>ycu}Xv_{+Sm$!pO;srRg}uOZteX2V#s{ zZ6}ksHp@%@KF|3ribd*5xKoWy;1Dg7n7i}e-N5`W-Kio^b6-d2thWzynNKGr+>{t^ z077@cOk=t`X-wFBF*6ouSbA(iSV2EQAv^!|au4~h>@MhyDK5G+>akxvAtgZXlh#tJ zyd8;=ae;@RkP#G>(VD=qFSrT%`4Z$;F0n+6LOnx9PWa(8KW|zK#uc|sD^qUZWHQOp z4(C(L#c805YZ6S5!W+2*UMLWuix??;ctrMN*xcw5HTUiVWlHiCL9Ghp*RHC zd3|0$ens@WgC9Ss4kD+T%xJ`LlC2>PqNU@M9R-Ob?lj2btc%M~aUl zrmNZdFyroGKIfBATGEAGK8;91F_0bvqXH}Awkcr>JhD1`Og7heeV=r|L-PW}liT~w zK)|0-wX;bl32De&p$Rfh@?kEZsuZ#_;MHHd{b9oYBjn$<*#NEY^=BNymrU2$$n%U( zEe)s!SRbNQcuf*@SFymseO&dF&psS57=8rb}Fvt|Ynbx`|M)08qE{BL8XAp>=tC^6{SRNYe zDdf0~2lH=TXC+<^v_Pqi*#1zMDu8okVriIhG1>n6kP}3mXh;!mm*(PRW z(SJT>RQoYKfq*u+naz=@OHu|DH*FIbfji;9*)^AsO5sd^G}!SkG8iE3`u&UK9Cej7 zdqLXSR1#-+PMDWzNK0l-nXL>nE;ieLe=?*DNDGTm2O`q##9`w$dteR3I>3h+Q0NOs zB_1c(;lrbW$VGI9=^MLhWtefX*^b9dZhP#rGjd$4T^h)SBD{N%HTJ}fkV!rL6w3>S z?@8{AY_LB46vBXXUhy`)_fix`ud&^zP<+`}b9~DvSK8KEM>BmtWhcOk&o*QI@<_P^ zlP9(o1R16+Dl>AtFUVHmZJ5-w0;!zwp-iTrNaUUh)EF_~DWKWW+{Rj64nEsd(hNF1 zWpU1z6|g1)RuPDcm0`xkXj@8S`3VM!&iV}*jqZmoRI%G4j?OKEwb}$WDJ(r|rKE*>=M%4gm1F#IWX*OeThq5Tt9h-vz@g zI6b-TnGwohN+x-lsnz$z%m`W`JN?aDXR^kFL?}hZcuAvn#fQe0R1+8wb8-F}L&e_g z>{B2kPLz6~p`?#-H6W^q^{b`}{XJ)90*8TtevldDddw1ne9MwYI-TwStqL>dtuujg z@t=!1qxbKRu_Vk`w*&}!3Dmh(f6ptf`xJAeVk#WibJmU|!;+zRkWy*xSlT|Y}3B;hn>7Rpzotswn z_lWpASoPYp z)~qsE+ML(JoUgP>wNo-l{UN+lEC@3$cH4hl87(q4V6KGx$ABUKzUAVYC^(G3EUz2< z0*S07BPlUVkVXyr&YmS5%h#_rhST50Y`gt3W@gQkA!KI^TeQZ9K__YpxB#m_RKKmp zk()M_)Mo)*0@50_^yehQTVxhlup<4;KL^8qfBc9X?PojzN46^sMJL%}Fymsj{nyVp zUPVA^sGl-HhrDneWVRNNRp!jQ$wqn#i@#0X`B>+&A$qM18J|P`A&S`9Z{4yV7wv-! zQFN&2>w;5Nm&CRIM-+&n1-$>GVIs5*xD1ev=v>eFXN9hTuLmjCPZ>QR#x>3v1IKfF z@x=!u6^`Ygx0y(>7RSxuIa`l6_$;y? zl8{K^VL7o!MiX*o+h#*Rf2T7ER|BXIH`!D6tO~h0 z(V~a<$e9UhJj&KA!UdI|wOe^#84WXm2E0^WxG7gswi@=VofTfr>m^FY&}83YxhEa0FF- zl3x^Q?9CD3>Br+NO{OMps7LSZvq+!85s$3E+PA>8zg8{6HdEnT?iaSmK#tSC_ z37raLyD(W`U8ASma1>u-`>?}sS$@hWLmaz~lNz^gx#f^=6Qfig8&<&37*9vp&XD3r z2A^ToNLvt9Op^H!(wNLt8WxaQGq}&eK*)~`-hkEYOKzo(qQid5h$N1EmQ|p;@;H?r zt75?u^15u`xC`E{fI2D_+t~&&GIU zD&*vl*EM9U=$}Fcj)G@1V;Bap*0^0P2C^mbsu4T!tD$2s(DP!Cc>x6{EX$%R0h!^k z0J86>uj*zf@G!+tMd&qS^kL=+AOjtYY8jZBk6Xy~Nl6&zfLFZNiA@+7_qt_yQMv(J z&q;LmhaMO!Zd@%Yo@5`0tw_=so;LZXd0^Wu1EZ&WF5poqjP7O|2ks@eVs`q=mt}VQ zGtK6@$NXFO2XpfF75;UoGV$Dm2?a%UHc}b>r1(x<{OqPx5Vzu%bRbI{p1wrphr-0S zJtZBgMPO#Wr@!>nWd8=f#_!>_eTY|s<%8_wDA_IpBWp~6mBBI2A$P8fp7ZyWfnCF^ zzo|_hE81!in3?YzljHxwSuDJ+w)2boI)CPXoW>Io zhq2pTG-uI2f_o+$OMx%SL9J{VcFRO`UZysjrBDyN4& z`86CwK_Sx`5H_CyD;cNzA)6wGplhn&DJfnQXF|pZipA%rY zZA?(-_<5A&K;OCfvsdC(DzS+P>i|9taav`DaH4}1gB0g3DzR~N(04ejYGjxnQWeOW z>cfLYJC4;(7! zPZ_#bzkOH)yf!i%sv7BslMxN&WMS#IlIuJfP&BhHcKun90Puz3>{sq1qqt}O50w$Z*0;wD zcOFVM%>b6I<%HQHE7T5Y@H4A-%#oAW3R%qo`jtmU4XqCV{X41Aie6MGe)JpP}d7-jK z$o`2Xj7j(OBqosXs%|1^TUix=&z^I3x|mclHA3?_-- zDU5c=z_ye7Y?``?P}gxtA-f3xTCD*yFH}~HS=y6g23swWmsu!4Q@~J@Yc7)95O0n} z9*0@D3|(Yw7H9)LC*y#uGy$M?s!W9(-|f`UPgLwg7^b6JN6`qbYs{sAZ~Oyu3jGN|;}bIW<@j5GiK)hAAh$p< z-yB&KRBvQH`nVgffm`|>4OjtY)>{IkpneD$Pd46cT=h7k)yRCdHOKPxq^FD~9nvF_ zvpXZ`6Ecoo+(OCWP&wy_3wpG>RRG!1=8iZXGAuGv zar+@V{auKx9Odx~E{b}2ld*V*OLuyJm<-7pDR$0+Sz`@acG#SOk#m`>ljouk>g2msxM=4@IX3yG#E1luOY0yj{$y8ZwwI7&A!n zoGH6N{A9sEVf0wXjEN!tXb-5^``xnTL>{}?bHHwI?a^oRpm z%2{J1wi2`^(#IYW?2!GJ%B4X z?o@@0#Jzw&`uU6@lnfjmy*X05v76|-;_ z=-XAw3J}hpm{FR`SXCod>6qgdf6d{Vc^CSwjJkj-duR($P-TYYUuL^aKoO^UyfqM# zjQf8*&QQzWJX5O_B=bW};NZ*P+iH-=)H zsqLIHuBM_$@eUYk*D&B1z_fd&Ptp@(Fe`=y8kS~{71#Ifl=s^ z9exL$0xxt{_G#_O^#(_h*GE~rgXL1u3=5~DnF6UqVa-K|V3ZIPhW|c>Lk)M-fNwc3boXuV6Z*3A{wgSv-w;pgj%DNW@ zU<1od{XYs%QN2jx@vjOAiKDq(Bia2S-9DH&pKjm)s;~!ud)#-e!6M~F=26I>2`C>B zOp0%$L$v_RY_}G$W03MAWIV&QUIMOw|6_CA+(4SqeIodm)dEIG01Sj|$F}?2!8c?R z;|$=dKD~ihm~8zNJeJ2jb#uRpX((hT!G24Evps0G{mKCZj(z@N1_O((sJuKP0`GdI2o}Gy5$G_9tnsUk8dbShuoyN~a(* zJ&{euMFfwjmNf_5md##GLveqPZ_yJ$f213 z`e0DQg0gdHXAekeKyR=G&<@ay3fT#;*XvVW<-x|V{NxR(PIkK?%`ISG6PcSsFk~iXq=R|+Xl)W(Qi-Y8t4>*JG?}AZ4 z-jkyyi1$9_ZJJR~Edw*hjW>l%+<%{T)jeDLeB}?2oL7;*RYotKZ14^m1w(ehh$+Oe zc0VO^cGRej>rg*>7A%L>*j(p^q=ABV61+2qf9YER*f7(FCdYET5BIIoODKZUfA&)} zMsT_q)n6Fpaf_g3)X|zBbKlN1A(*!5c^+LJIY8$)=h9@khin;`Ilhu$oWozPI;NXZ z7)~|q!&e=*UrETu!g!+BmOdqO6IM6{w}DR*WZDIi7QXX(_pLDWv+1@7AqZ+MRU<|t z+gsw6KU@ZQ`2jstzOr zcAsAtG@hdC!D1GbR)u`)1L-UtLdL5H63^#rD);fwz~O=9jVF}e*32lNqhVa=K=Wtj zj2CqD->j$riuhX{TgLn3@`ke2WF{Z9Brr1$oE{0GH%K(-j zMT*JkK+HqMGio%ep&>6}sd|c3;!agD7%$u8nQjT^G06T03lw%(DxM1>d3n1MpSmj5 zQZVzv9wuar?S6(#avTSO990Ib@O2JY)bsqWZ9*`n9@sP^syO;$}p>ZCo-p??R+E+-*iRvU!%r3aLVp zM7+s|yrHM)7tl#?-a5fZjSutYnrSAP^1*B6M;i)?We6Z;pd{LCV;&9(G>*Cas33{F zhl+^}9dd7jXYG)=KT989iXRoZycf5s4|C5pf~Z!4ne#RWMXd4ZnwtVz^(Ehx1!{tj z@tlHl5wBdb63j8ME zT^Uw_ne(;{L}}t7WFY9sH%fX^gM2B`$4`Y!j8GBz)@PZ@VSx85ysPbcmXQu`V4k-Y zD6KNM5_clXo&v1T)vI5u^}$jJc^8f|AA-XNqC@VqZKl*rTV~ zl5;pgK#f@X!86VCF*gwUjA#qW48EB~Hs114z*Tq5!w{#fUy81UW(3xPnd`m{{C}*y z33lwZlC?V_T`u&^{3llN?EsTRidoiK(z$;AU&*!>J78-cD7R;FG z{W*V6Cm)A&b-tC(&>`sfl3X?9@O#C~@B>I4dwSox(h47vnhsRXtj%4F0+bq#yZSmK zb1yVp3uern4gsd<={fg^fi#^5LS1+be>vG;kcdI&R3YfBg=5{&Fp&mSdjlQW`!Jvt zK%$W5hsDgoGxY`be;J#I|8~T-mW0qZeHQ9sFyqD`7O-(VJZJJ}ro4dzQ*qBhGK&@^ z$teiCfvlSjUr=UupeiuH9G4nJf_#psTL%;MC1_XWATFKQo3!*48>PghA64PdC}huo zHwtk@+UUW1@#88YzcULUQ8K{5Kn=CZe9M3!OE8L~Fj$g1Sw5mMFViCs6^=S;NcYTD z>(iW7Kh2&2=SBxC^$94279vybE{owb<(310j)w_0$SyWX?i5fANbNw$CX-!HISuK0 z4ng>nhs@8nr@1sIKnZ8x5(oKm%_X3LiJD(@o&o2U0TaFFd&r;AplEaK6R!+|L}D*; z`{{3=$YWWX%_Fi$#>XuZtO45?o+*X!cp(FJ^X}C}G*Z?jcLYWjY=Ta3(8y zwI*OChl7r&7n>Jzt_5RP;#PmgCuTX=g(FCLRJd?}F?`mnLmE48c(v+U(Gs=BFoJqV zzp-BK6_n5&gQN^2WyOr<_-HOhc)?-peY2Y>A!u?uc=a!E)J2xD1nlWb=Y!3Vt$0Gd|yO zyBr7^J#D+BmcRp3Gr#Cu5oX>LVLplo4*(cL+I$SC0q{< z6gHIg_LxUz2#)G%Uxs8XDqCDCQr8P;7kBn%@wkzz?&uv2;3({?9W`aYS+p6 zNBTwqyEcF&(s7aN=j$|Mc#dNT0I@Y4KzB9u#Uuc85Y}!RujI9cfD{t6I;p`k;7t=I ze;jCt)slI{#pV2?Ks>miK)>N4w)RRjC^In#8gxP_UDq6Ti_%);GdqRnFe^aVO(DA@ zoewlvd9ymW4!J`11Q_REhHQ@rl1b9M28F45WfSlm2}xx3>!V)hL9CJOT$^M^NZ?L4lpd=0x&?MK-=h{yfL<438&o;yAG0h0GgpaKOp`s(W(f#nDbrD( zemw={&py{wpXsu%wIf$^SUXKdlu}Ett_d@DO_*Ol=8BXf+G)sW;7fKrW`G7w9XA$I z3OP$EaxSQFkXDxNIe+{<%6@6@RF{OAH%S->O250B5uCDqjTwA`;N06)91U#|EsOze zdxgvZb5)?cogtn?Mq2iTlY#UpQHtu4F!Lq}gC-%~ao>yPDSj2YS2WCBQYbuS*k5>| zN{UUBThX8`pw+fQIhGvl;wLi!IiM%$00nl=j;f?sd&*0 zV7oaOX2L>5=wH7It%OLq)fHi8+FHPpAMiT~i@QTwylC>GXIykJCPLC|j0KC*OcBFG zoJ!4tB5dnkSv4Bv)-=1go9z=YE?UX6}G+O25trsOqK}<53GBc zOT)piCI|ETM_grr$zI0JI*s0KD3H3`$dG+o)_Pdx;RWwg zX3;`?mo~&-99|PyQREZb>S{1^SA#)$`{!BYuK3|9=@kYMWmiF`Ffe&I&oMH1_ES17 z_3(3C<@sKgOcaW?+0QYrWWhLIIUFBo57`r6-hiM;6n%fl;EN;}Mwy9#DV7<*3J%~C zDC6L^(|p8rNW6&2n>{XMUtUvz48;w-ty=o&cvJN1DY7ogt6y-T0|l9$MSL-@kUjC` z4F@{ggR~#^9mh>rla~j1T|AvdZ?K0VUxkVsO=P;tZ^^XnIu>YWuz^sAzXFzA?q&w* zH?n58s=G!sZM}Jwfb~PNs(*jN za-I8T9aCKhX6CKydz^?jE#4cpMwv1qWDnRfLFnQn;h3Q`jTdv540;^wWAARm5$bT& zuzZ~f?9J@O^Sfe-e(Djo?mBxs;umbZx(v*`%fS5lu830G!TbnLXMt6AJH~8Rn@b&? z*BdmCxn}hdOA!wl7@c(7{eW8`r3~USF!Lq@!-BOxD#Wq~tr(aBH4r<K6 z-*kKO44IMbZWZ^w-0aD%*k|TC*ln#8Vp-#$ank3138YhV;PdKyAwJMeFIWf*MXV44h$6aC%6uVIlL`FoFC0@D3dvX=$Z{yQbnb`ox(n}&46(Wr%q;unPXL;SnDKIq=l_^e zX^UpDu@VD*CNk9*PPjVC&7|fWk#pF`=3h= zB6yY7d=u+hH6+mdk6czC{4&F>t_3r9Ef~AXo=jSwLyiEgw>27g3NU7jP?Fxo+bf7| zc@iaIy5tAjqI5`8kw4smK9OtK7=fqpyokTAA7{^hyBG`{>hFzecn+EU&HGcPHIG_H zpv7=|1EG}jaxzvAOV$=NI1_Xq$l<3u{V7)fj@h|(DxN%LyBN$Y`{u7d(KbFEjQTE; zhi?0UYcganV23X&B&hqNV+IntcJ2O{+2=kvep?9$_Q-SK3rkX64Q7_D@#8xD{sP*& zG!N;+Mb_nLjB6rJ*T8f*LTlALU^xh*Cy#LAG2i7eIw({UOjIxj2l~z>9NS3cjq$?ruH396CSr`b|MUAwhY(m*# zmTU2sEIISkr$D$1;uoY4Syy{~+Im&Uc$Ra^qKJwRr;t4d-o#);G;|ViMjCB51i8Y=<4*Ckz7XL3GW@Jm0NX=cLAyi7M%Ui>kVYL&F@Xe zzurK6m->R!iafh?RZv4?&7+vB3adppe?r`xg=;EK*MCe%geWT)j&nCJ@gyC!cl!Kc+spz`K7^UG}$n)Xrc<2tF z;=2;etXl@eD(c}WH@s1(fl!K(Y8w+d-W=vyR_cKpQpf?-CfZfRSxdSxL}i#Y@$e0& zN+pWk_-8M;4xM521c*TACOPLXpeMk(CqOGRe~x9&I9j~^c&(4<6Hg+7qf`#l~nRud5mQ5C%};4sfWh1T*Un|LhN>sgFr}+(assv@_glU|eWD zk!>$ELc6Kungx`cwd?=H#IO@bW2i%W;Xm2X+kfDgm{sQyvJ1h?T?ocL>z^Z5^D+{6 zeFghau4Xvw1q+v(7a$;#hCOGEa+XravI|4VH@u#vLQZm3TB<5~<5YsW5X`&@!8EvK z?a8JG@$+UMRMzMs$T2|>IFyZ<*N@?i_CV5`k`kl<^o}dyD7T|7(Yw4N#y(~&Ut#Qn zsy}2aT8=ta)eQARqAJyOVCGE+#x7=TQ6KJQD;NedK_PHb6te8Ck?m{s3sXYP4 zEl7Aph!`_-T6KO(T2TV|Z40uR<#{82)`UpHZT86<32BOLPL+T+#->n*+p-Cjp{ni- zs7X+?y_~z93{QYkx@VtM|0$k6*~4fQZHp!VSxvmB0dUAr}D04roqf34g@R?+({ zW*rRpdx-q7oX!g^$HZ9D_86+F(Y7BYXH=#;OvhiHiBL#bqBKkVE`)|Z1$%cN%w_>) z)M$71@#qrk=MR+N{gU(a_a+2WAI013kx`8^r*cC_*L=hyl#fp+bv0Ag#UJWdXrdwR zp5}#?&Kj~yMKT0uVHE65pqzL2Y-SJLhs*)$<6HxcYb@?cFmqReVP^4=ve8lvnsX1w z7e&f^L~?-|W>`CT4Sk{CVND!s70}m6i=B@-<7g-Ic=*{4SA_@xAxPB(slS~n>48FQ z;kaJ<`PG$R=1mDk!2E~T&mwqACD6lZHIk|gp0dS=JdCI}QxMk6RRPo)HzEc|3;Eel z9JC(Whj1YBbYV26y*v*e*>Xes63vBRX4|sgZxzR}6+4)SvPIQkQn0eQMfq(lzOZ$9fguZ>neq#po9lI$j#MtRv?O$g06QI80 zaO*dQ1nsE5c_(ZuWY2$nAArvAbC;~Rh?}pkfEB=sn(ZL@IJ6rgis2v^ z346X47bu?wIc_>IiW#oYK~b+GW54N;5>s^~v@~c)2>yDZCe`e7pVEVGb4XOn;az5vBLfiYuu9 z-{5^N0yB3J7(_;X95d<%d;Wu=Ss+~U#>n^OqW@ttqy_=lxKHLLz#u%%^`1p4r>f`7 zgld#!26%1XT>@tIZT^Xd?&HZoV-2+k_B<6kZ_4}v^%Kpz+yy+K&N$eN$UV=h>Dw?r zScg?4=1YoQ)FVDr#KQELUvmNOZy*k`Mt?1>@``ea ztginuZ~8Aqql_mOL1O6s0)=anr}DGt+fg_}qlc=&m~;$D3^NJ5)|OPARoY{P8`#TF z3iR*7B}YbbB*-Z>wN|IYpw>mw333gUkon46&>Fj;d$T*rU0m@JY`G&1uw@f=J^lYzck+o`}TiEO((3Lhc8EXXJ?`z zBF9{`pXKa~22<|~`{YV#Y5&h~AP~>7 z*P9g}f{R}c&9Ecai*GFx(7EMoIZ-a3ZtQ$1j*H7d$UFSS?z!(r!*0rH$wUnCb2^}# z3jr<=-V6$LHD~->Cp2RFd^3pEs{kzs?IB)h$tW%Rw5(ZhdjoP+5m6c8=<8L0UBx^+ z<{kg?NOS%~FoB;YoV{2kJmwkb6^7kqitY);;Fm0`u)TXBi+P95wHdaY>qPSwvJ%xjJfQY3TvzRg zz4_yL*<04`iLh>oP<#8Q!(q>v{VlT5s4Epe(LtWQ=ifaOHvGrwPpgK|S0#$J3xH)< zJ_vg0M8^WSD5;>$Q2vL5#yfQI;WV6 zCFgaZttdK>*U`1+PL{elAUl`kRuEs}8MS*Ryl(=-Cqk?J}Rz}Wysc}q(N^dT5elb2%-{!#fly@p0x0V6|^OlWqt~V31Qba%jDWU7uNcx zK_hk9P!LGy{@dZW^(oDc2F6SUCP`g22Nu-B7nlwd(0!K~M)$gae@H3$G^TqptXnet zz=BA)i(_E{XbwTjAnbTUvJ`w!tp)|0rXZFmsNB*V;92r3~ z@DYNxp7|TV7cl0c2d&3U*I;=%uB!G*g_z%Um+-yG!PMcYui!E-KdTF37-T`JKd78YOSD4>VFdaKKU zQKG$|jCMTC@6?ZF>4%MieLq0U^-@2EOgRuLF38|4RbF-mz5Ar#j?xFKIL;O3OD(nz z&x3Ei5Wfo<)vd-F9l?R3&ENHu!Mb&1jVy64FPTD%Ki32|*_(J`-jTG(zFUihy^RXH z;c4*A7h*i66wq1wQnm#IOQv1W}|&ClW(q6s|Qz7*2|K_hJA*BnYzK6K8w zZve>E*R3QAj)obY1lxv&>5l*&Zr@{eI*nu(CXooI!3Pgask)$iU}knOys``!z!atH zX2!)ebo9otEjt~EF+f_plE{iAJEyfMiiH)H6q<+ZIk0Wx(EhYr0}m<%MQ#fzD@QkA zM65P|OC=$@>Z;IejCMVsdd*|Fl<8tAT3cQ^d3NscEcaB$Z{_-J>`D#*w<<)fa9wbi z;VH0f^Uz-u4Nn93; zLpoW0F?;@dGlmEc8_drk&$o~f+_9P&ofEVITDj*EA30;TT~H@nG99+?I_HE#N8i#%ay+=e>H?Fg6=po+Qwa1H}F3=Ge zDa7lV{EIzilq?UF?)Uc(0G;(FOAAegYu#h^{I}ae07!pGCM;7c;<^EQBaQyPXzMUp zIR6s1BzTwH@QjHtv@bl2HT;RL#j+Ua6fZMcv45}*)?bFl>aV3^ZjO? zo&fiK;IA+~GhcSz_j|>0W57v8G0Q4Mx!G>Ogb=FJXr6(bHguVu@ymA6>iaeJcUE-g21F zXfD;O7Ca619Tvk7?Z*$=dd;?%&V_X<_gsZ-gze2Gd&PE}iixzA9G0dlqJDG1Vf5S% zu+99SODnGh&x3u-gIMtV{5hj>wteLbG%7`JhL6A&XI$u8q#!L1j*c++5)z)!c-PD; zfaR|K8ru1?R;M|Y6qU=NuBrvkgk#HuzXdsG9Mmy6%n%VK)(Wo&&6A!?i3F$f2aP9X z$_r*IG^?6dnjHK`JZ537regL~xI05IiFueGh3A+-%xz!!l8Z15aoHpFJDUTpCbB?* z72!(X051>AB02;tlA_DFS+cZ7;3Olys^=Cw7v8KPSabIW{5#469g|fTl(8om80b?Z zjoV*e+NEG;Q7Tppkq2^uS>pjubLJ%eN0rq{0}z30h?f@BAE!?|9XF1GehWf?%Zk}^ z;n<)tEO;Jrq5Vf}{V@`5!k%^&c9_8f-$F&m2`CdtXU8XZpm2l>{dqwH7oA}UH8H(O z;rkqFbO?E-vPf&pMlE+PVhX%yK|@>cRCu?B_;twk*5FZAeFRysy?C7rjEb#XM&Bka z)P}uc#XS!AlQAXpoT5Q;e)q_2!4u)#8NxzFcl~?FiG^Q19cQiml<)^)OkfyNmQ|^4 z4M_MkVXZzzG`Vy%z+n&J&>L(k?^1x$;CT^XEsort(ygFcbgzyd!oTYOCDUVoJ@w>8Xgrf}Q? zihrlf6fA!#``Xi@lb!bwmiFMlOxc%wOc*T7_$>$DHA*p|MNffaL&p5_mO~=$n25Mf z@?ae=!%N&xaMG~zYDs!TzvZZ}sp*!C5r&D&a8Jk6Z|neCdd2J+@MaC+nlKM@MSDpb z&=}@9_WvL!Ilo*n%xW_HE4dK3N108 z)T8mOeQcB;>1~JEqUXPxFN84rk9UR~`w(bn^G2cKR;akP2Mv+|mZ{9h%rL{`_Wh z0xlbV0>jy{cJibPwu}p%k5;V!@b;0g34I43wdnb8ZqU$Qx+mMcpruoR4XeKIR%WnL zhh=Ox^pb04k*{N}kP+yZb#;MOuH@yajWB}{fGv9doBa<%wy>Z&M-1qwy~-tH$}MSq z5=pM5xx6E>G!)_6A9Gn^l_;$qIJhWeb`#POZpjni+!7!>;HPU2*%#|Jhs-ze{nN;+ zNLm=MJ+np*GgA>*{4}3Ta9^ZRJ& z&w#r%#BUvEgBZ;?tPOgKk}d-rNC{n75hk^3P1Tute)qK}f69?WF|+d$Iig7*hMW8z zGq>c^a}F#G0IBQmv97GmI+r5}byYEo-Zrv?Od%~nDOt~1fE!G^VDe^v&YfzUsi+<_ z%G&-0GFY$=W_do-6IMSP*<;>Ppq125XG8ou0CLD%G8>G(CQc}+BGHW`>6iXZNSGBW zD@1>}X`L4xdnS9AK(*F2h{3}Sof)6)UsikeZ#7_}UV-p;%|n|MVqhU}F+X}x(QF(@ z4Pab|6b%-Rns~*jLfi^^Is4jWWksm97}iBkATi?-j71}QaBqWkbV4K4E0zHZ2FfAv zNqNVfti)xS6lG4Yn5)OUCBe}j8I1)SF?;3MG(o_pgrG~q{EXEIm`Oo3*p_mW*_prw zsb8oE2=fWh8e_sx)?`t*{daaeun9c6-{B=q0x`XXEeHM*w+|K%Bv_J-lmrT{e1f~5 zJ3KZz0zw2Xm4UGPzCf3@up}aG0@v z0FA^_niR<9-!3ME&?bYndFc`|F~Gi)=BcC;XldnRTg)kmFSwK`za$#~wW3vKn`=@bE*|Jh@ zz&NnynB?KoM0h#N4Ssh5NeHp{zzcZsk;>wASXw$6cl2>%`v`Q|Wlw{f4(x<0T=IZvV!><40P&y6<2obMQC1L2t!}H*qL&P&?acTyf z$?o2FK;FM2`k*S)C2Y!w2<~0=UKm*%RT-AmaBS2Vg@O+hh3$S>i^9ZWJpC zKVl1hp;ty84GJoxp)Ow`8R=?`DLpJ|ECua4Sqj<{;msn#>cC%C&!h|O zEmH7ep`MmscFZ{xQzdkLIoJW`32P&GS&K6C=XZbC@Dgy%LcLi;{61#R2DCP+YG}mi zl2>G)4aSPXYHePX`z${$3IMP`PrsYJaK6NZ24pqr@-863RDT6giYY9cEo6%Uyk!ui z`FqH?YNM#R{sLaD5iUSOd@U+UDh`@LRTM8Wk_iL5n;up}7PK;j3j!^IhO*lsx49No zI1j0OKsnYPQCdABX;W_?+($xA_mK0G9@a-_Hk0>lP5?;*8WB<04MFpAJ!OWW_V>c7 zt14tomqFqB=Z}EMP{pI9Hr(~n4vf`-9&+`N^A>V?u*v-xGHOv9jDR0CsMuLyVX81L z03dG>h%NR$B4iGMHYx1AB(6wknWsd8YtP zDP*JwP^$39`7+mrSqu1hp<*V@n<{7an}po&A;aMMaVIEMgk9UM=|w~1u}WU}F4hZI zhyHMYL-LRTAC38L?Tf&5A!+;YplFXl$W%gvJpTKZ`*bqizw$LF8%&f^8oEsL=FigT zNTE0|+*}chDEh5;?UOQtL7%>@un2nn!1xgHyhq&FLB7ZK8UK#2^y?2dMn^0RCsu_2 z2V=e0jbS~ZWk-xRyH8>)`xieF|8QO@d@ zoTWb?JgWc|+fE^S_RBxWem_1JsH{mt448Wp74te6RT5rS8RscEES_?g)cN{G!kPO~ zMm;x=H~ej@p8fKc{p>}5sPlnaaiy`|%w0=WHB;= z^3ej~xrB{Za)Amjtl2H&R)5N#{PHdNp?UNmE&Q=8D(~n@lojE)W|RjlH;zlDmyyQ= zY!sM-dRb(rBp>i~bpW8JXnBHh5mHo}uBAfuJ%^tw(`c(1=T`Ele;3fLCCe#=Gkuy2m)x( z=^>+L;7{4JU-`@IhqQ#1mPrFZYr4nHS%%k-aUE=B4Y@?pt+1sP*<}$w(Cxsu+P_Xt zax6^q>{qtz7o89J7V}38d6{qTUsxbvxcsbBuWA`07-V_mDB>A0u&(&NgBXaB9%#eq zyNWI0Z=WZ>vL(N0FZ$25=)foJmt01HKw6@(&e3SNOi=B8qyR><8y=0v9B^P;V!SA$ z$P8dmgd7-{`;Bq30y%t&x!&((`_RU}0Grd@*@>7l7TH6>y+MBKSHFsFMwCy;>|@nM zbRQ=Q{g$!ugtC{y_kb{o+-k2iPk-e~f2@q>zf_;MXj9Z=NE2}BbC z(KX1xXvfJ)6VWUD8TI~IU3$#LFrFM3U#T@uf2H3;P6+z^IOICt;N!#786A>+U_7=P zuri2th3cjY>(l$u#KQaXvRuRpl1me4 z3*>%6W;rvVKSM3Sy7{6qmX^>;gy5K0VI;I&In}VQ*$X~q$0|OV`KIX=bNBpLulz^! zkCuik9FGEL8D%d0)-t4G2#>&=B!U$(Ea^Jsv%-*PT<}#ir|3Y?9GlJGzl7^o`X=8c z3f2=!xO@Jq>Hhw;_SBaEVmi3o6Vo_eqZGkx|zxWc;k4 z*@4XLYmxy{Xw2d3Khn7d`JLYJz-&uD-=}p7+4En`+b!3gWU@b98OYacw;WiIq%9%0 zG7=7#=MbJ2V$=^yj%zFc;61i=X8kr($U`vn#pFl5a~%v%fOVUF=K3^9EbLyvG_%zc zQdS~q3D+8{618o2T09yLneK-RjV)h(T^SuIc-FG``Hof0MM>m3uiz@?h9|~#mM3#t zPukrRVEvW=zc*9=PXe6#bCwdoq>j^)b=1pV4L=JiNyOOEbM)aS@@tD;XRjv+DkZ?) zH2C$a8Cr!8Kf5Quy7hmo%^u2p`(1g5tx$uXgBdzAW;#q7D!7qJi(yqpc7fXwkh9sv zD^O(w52aBmd%(0zv$;$tIH0UK{y?A#2JIcxs(?NH)hqpBj+-9rdp;^|mc^((zw#x@ zv7J_JvKe%gi&ZL9bHcqV0^ak0ugxc>Ex8#S*k=HdCTj(g0h zKD2+IVh%jd?ObG~Ne~?HeVEg~da2|JOc|xUA;Zf7;EJL6%~?U`0^tdGJ?kvPwpt;3 z`m1vb8O`YT;F7h{4PWQ;glAW_-X%jL^KQ$SyIkT6$Z2|yvhU^*Pk*8 z?}3WcMG6p7iKow%>2Q+a>96hW-&4qF<0K$mxz#G9W0vG50%VQBIC34qmBywvGr>|x zVwiYgSA(nzN#+R>heEbvuSUiviAXkiE~%_%0H5>a2>xX~Wlw)?YyZjv4D{2z%sh54 zm@8s+q(@W@1MrJ$_|gXGU@J%y_zRD?6@;gjoLFXxpt1-t!^1AgxgK(KUo~k70XTRY zB>uc!MwoSv7yuh9M<6=|@a7FVUU9bRkPTW}b3}1BYV#tqC(xFjNs=y-wz@y&Na|P7 zgb_sI9`WO@5>6jVfAuY7M&r!bGIq#*EZBZc?Dhgx2fO!I^0RBOVlZLPw5OH)reHaX zG-e5Y1RodK$$}8z00-YdE9B-OZ*#*bXsV4W}l@& z`L*{>DzmScr=~+l4`?m25=p}eH!bWqYiyr=+I4eajNuWeUQ*26W8SuCDD?dJWTbg- zrQE$huy#)EAZOp~hU{M+Xcahm!9xzsDnFQ+e8bDuqT5+$NF6LsA50UK`+!>#a^K&+ zCsJKTM;gC77SIVot?oFKp0g^B|tX#dgi)CPChM$`KzppC;V107n%jLJ%@sT*3B{`)N;>uSIO_);N zGRa8uafywpV}tcoKzG_Mm84e~oov=%MkO)8w z#KC(i84?`|V^vG91rP8)Lf!_6zg$*A-io3#0}o~+Jgys~Irf5vv7HCQ-kdp?Boj}y ztT}#G7G3-JT359^J^QsS`+*$(elV;#whwA__8k+pbQ8)pV?)A{*ROpN_GqGxAhTLC zhKm=B5|77>J|3pgKF5d|6U6161&*f(HQwM?2PL`09G8=wglBTMx=VmQ9J~N++m>f1!lI?pM3Q&J^i(Pjm8!7<9eAj)1FKC zuLbL40#qA|vTMZ50Z8C0SXiw=hQ&lgHMdirZyABC*d!^PYm zCNk8^OG7MEP{V_Vw!wGo7BWc`0E!giaxQ z`fJ-B4Kwr~XY4rY+qwkwsTD_&Bttc0*TXC1KyQuK1BP{8%OUo5tRnL^;j$tNous@5 z{1+l|dirbQ9l}| z2JXBpsqgr*wdi4uuC_ViBk=QM$oMyHxde&9Bp|kRGO%ba>TqOQ1Scf|2S0IVos8|G z`uv{Bcf#oYQpPUpENqHAWKVxR+(UlGoqbxc*7t2C>_4V=!xBkER_-OEXuk@z2$?a% zgkHe2f%ACv9p8P$Lw97wm#6aA9E16)VvgJU*U7r?;r&0emp6|j?cSS^ptup=wXyk8 z2(+@q&Eo~isO;+XIIZ}PT_g>03M8L$Y{`*Xtu=nQ+vT(>kWx7%1V)dM9b?U(^n(v4NLvS1=Fzthhho6m%+=62E6xho>W^A2* ze4cB6KN`i-zf;R}}`%b~tRj@`gXXQNurlGc*vk|pdx zIWUXtg}`LjJ6NCQFMyB1Ph@2FqzK@uyn)i)@&KBANa)Fm7 zF3?A)Ilkm_W9qKUG0K$1;*3^j}?E;_D&}a zV0suH^Ss9lfA66>ns848q^aSHd?>8Uz>^HAP=WPI-#%$DTQGF3iKeN#LM~ksVkup% zkVn!M--iQssKpKr&?@1TFUNbtl*Q5RK{+ss>g6G`e+c2{n_=$EJ)xl29EE+HWRuY^ z|13KZl`;pwYw%r~yu_jPH^1lt2Uj6e=zVwG12U?RcJXwW3j_)nacUwZ4@V_z z4*-pPG_I!05(2dWkHN4L&yxHa4m99>MN?308WpqM4uj^<69+AK*2!pWv%}hDg7~ZI zPI`zpg775h1ggmM^%+*C)Ni$I00G-I^Q2OT0jrgK9W#}I`c549f68}fcZ6eu_`te zqP2F~z^v&&8VF-t*eFCO5SIcU?1bmRS{TpZw`!lC5y|Ka0P0>SiaC4Cy}hCW{vQioMi-4v(S<}uR`!FE&3sJk<0 z(R`S0dm+8hUhE!o@tEs9W~MX`F^`EffVFUTgRvK#(G7`_*;OtBi}2-s;8yF$CY-P3 z!f~T)WKi#ANw{3Q^5|Gy+}=OaA?ZX6~_i$Zbm~=?S*;5j8j8W*WnZ zq#cnI=npyEE@$KvD0L8l^^;-cDmG!xnp(R)g^V>upJB~35{nas>^U%QInesWf4J#V zncG*s#soNm8?@-ynQVSO<;u;>cma3I->!XnkCP37{{|_NY zqLKxXtMGhTnR#dg15iYEb+;{qRU>x!kR8rK1F;DT6R(?3!GVCsICH)Q4aVt61{^(k z3QSuHL{|342P1BK6Fp@(iyE|5fETcTu7gnq_hFXl%J7h_vN&q_y zP}3#&(a>J8hs;T5D#2q;XpyjS*L!xFu3JaYBx&(3jop*yzqI8)Ua5zefs$jui4t>^ z|6B9?N4{-11>!vB+G1D}(zl_)W$F2<=OFn=iyt1ZLXOHMbpa}oxtKZ`Fi+V|I073V z=IDpn(_h-sUkd-Q1w^&-?PN5%iUQ~tAu^_Pub7z)VaWhFFgnmd{3&!*77jyR)jG{t zx++Vj3j$;C$L#qpZTXMS;i(1%c#cH32$bYf!FDJYthi+>x>%MZ0d|0PB??k?G2l@E zvO~eY-GDa{azH{XEj@RMFv0Lc-vlE81X#iy>d=$tzjVugf%(9r-B-lU@?-!aZPfLc zsgy_=Qd?tmOVMo)sj{U+iSByJ(s#kwJ|X4cPZ`_*$w#39D4t0v+iF8jqCfi!0>i>n zA#eF_gnvLfq}KcO1ww`zGb9CD)WC%sF%&L;lxa_ozByqeW`#cWRtT4daG3Jj0YdBN zMS{o*+4Eo8^4};AqSzlp)>Qs}GqVB2+(39=Jj=&bf3jzT=8WuETg4o7XeR2u?K$Q2 z8JEI0gypM06|{q5_5_&2ewe?X3naac8`#sXJ?RWk;_yhxDdLg~i<#M-HmJ8PUX&^R zRSwa>PbT@rOl5ZfVpLoLH0qLrI1K^f{E>9x1e`tn=t z`{gbB@c_Pu+!#6_Dlb$o-KE+R7$XeGhlceUf@0}Lkp%1nsj=%?Mn=P~^~wTx&5Z0i zY2P#(yu`OGO8@3BAL4;Z*x9pR-nu_t_3t6~fiW4$3tOp5lQcYGQ{~{yg#iw8u7HMT zVRDGJI|b6~<*Qjnqg;T~k--#p5tm{gHM2{MeT7U>x+=LK{RM^W$uDoo@5y`vkgC;= zETXMjKuE6ZSo9>tJe+|F3EU2HKfq_&5!0yFWG^QQHYJ-ymXYCMsztiaayd!~pWDP*;gSMn z>DYuN!9m^g2*jb(m!8h)tR2wr3J)r1J$vfQZ9mHK0Z!6nIr0qwlTcd*Z!bL&ZQvOX zgL&ZdKse(4+ZDmq;n~Re9n7kSF-sR-KfFb`j;FcT31$ ziC`&2JGN0C@G^=}z@GT>HvG(e{#;WU_t>|RD5+eK>Jxf$`Qp7>sf;!@0`;Su6_Fh* zq#zti(sh04DBHV(YWd#BYWN}+w7Cu^dXO+l!Yz` zA0{|uJC=lemiD;V5AmB}g$o3sjj27Bn{qeB8T-FHaXnGU>^*YE;LV1e)| z;xIoykWo}R-leIpv^DLqW2Fw(nOe0fRDEK>G0hX~p=J>!%`}mlt61EH|>(dInufgO% z|MiL)Sy@YFMesh4+0rr^{9faq9Ir5?*7XMFQOuqJ%hviKcJuu)SBWNC?=E*l7E95| z4@kW57__9OmZRb77*rrGByWdn^n&gSay6DShj*)m4Z~>jrWU1{09eH%cb_7$2D1i5 zA$ta_Tjy8%1I`G8RiFUYscl9O05t8oMb8C!dW~M}bYd0ByJlxWxOBzLXNT-Qi`Fb+ zq7M@7cND^sLPNOK;#}KMXMkHa`mj%5nACOZ6OBw;Y(uL&!{Cx!@^xNzrbm0|Yx_ z9beH;&2Hoy+QIBR4!35Wm&S*DHLPj|?Pb^9ns8ZNlNWC5HptLO4VzZJ4waz!RIYjs ztXmF*X!TTSbeilYQ(N&1n-kNdYYfO~Ix!pQ=5TGJhGW{ez=^U?*QnI4nBp%WY&o>M zJqI#^j?teoJMq4ZL=n&SySaJ}tXmH3F76Dgpz%8PkfU&`3fWU&-BKWJ$M=IV3R9iVnhSsv$zRxfWTNP~ zHSyNfJi#UkOK$f9=E&DI$4Z5Dz4j98V2}vnq8Z80!{>;05~{c#d>s;D@oZ8(1J*qQ zKHqb+8wWYXPGOhg0+u`niwfh)=oFit+@v*Q` z$ODVA7!WTICr^K@qOvzgF?$BA{V!v-2YDcf*J$YNwu;xC5fFN3S}a2CiWy&pvK$Mi zUHaNcYSq~wx%$?yF0|Bjh|Zywqo@?(eI7Oq>`kJ0MK05ytegY^U#y~FkB@2dR#1L+`xRCQ9T3JD+5}Uo3#8x?=6LGp( zA|j$fqpBbqX8@qFdx**heYuO8;A93S5}rH_u7|4ySVK4cBENjoHYGpSo%JC z^OF&&1gBqfo&npo{ChH-LN#7f`}Jqe>LRNg2}Ed^5xDqL0G^8TXoES)uJ4Li)Cp-< zjCIRJ#P7JZ6dCTVQnE#>avnGf=;s$oTAhpLpLg3@!1%;~pnzi)4#)*EFy5RVvVCAQ zAZ%`Y{t`fqTU%+zrLZt)HwJ|LSA@Y-bfI71Eite0-5)b@nmjEo?Dg~gn(t7==IPDT zU)!di_;UaFVwQ2{bK%%i?Z*%g{;jCRc=98(|XW!wXL(*jZ@W{BaVHJxdOyMA9Gf^ ze<~y9kW?AT!ABG&VjyXrTcm+nacgdDWp863ku(zh(#FQp zIyMlw0|LAj*|@)>c0nOK{4k??3~NJ$CO2teCL6>DVqNK^sh6)%Z=U~JeS6GLqLkc| zSuHdd>$!VpvT*y0!))cbRjcUC!|Jr8afzRy@qr}~b%s-hx$p8pNz9M2+od;eO;}K} ztyowt;mH-U=fAekKjXht8Tq}+fN{ka8TT_Yudf>;2rraijpnv6Q9%kfZ6Foa@MRRex0eIzrRiMp=`r)g_0FuZvR#saviz`1@{~t_3qiP$9u@}kpN*Qa46$Swl;;Omk;(>O*6JDO4!1igGQo~ zuy>}+Ys_p1+HQIte@W~6*QXbp8a~-4l|ws4~N+v z@WERk|1;D`h5hU(s$h-n|F2?Z{xWdj>D&+V8qMiOW}=^f8?+TO)^{Lb^a5%xufuH3 z`*E7;$zR_0mEF@{&wqHB30aQm$lrx%Kds+F<~=5|ZpU(kTnbgU?%#&8dh(Nj?lCXA zXFqtn%GlkrUoYFq2v4qhA7CV5=|;T1^2N-91sMYwT-^HQ>>SW98g$GNM{f_=-n^sr z@&1%6ny@+4`|4F8d-m&f3%NX)AbkvZo;$_$6|0vei;&Rwz)yHy-5>9emD)}7Hs4q_ z3S|3Kir;b;5k0xa0{B0bcTf1*ILFOpe33?^IxCaW5zw|;W0Dh!t+7WX}Q|F5A>{| z{l!SNL&evk$39Zb$1Kqm^{3&czBDt=!I<*Zv>tQhG%xWGcHD6^&)Jot6~N)WEWrQl1nFK!0uQ_E>kyzriRbu zA}u|Gb^dfg&D!)~aj_T$I^94KW|6A`!s8 ziFI>XNu&URu0LfflMi>F+U9aBywR5NUJ9(J&*g?Ez_BMl`=<|=26BdnCC&&HjxKmK zRdX0m()13|Ff8V&qK}`Gfo`^I&4ciS_;eYUjkcb014tWoweGbVrhoMt`=o~U;rVau z8^HFoXZ>(90}$K3VmEU~#U0vFVl7_N7i%3Vbl}vDCSZLKr#k7m; zC}hunW6OX2QD8hntW8;DdXSqyJqS6YjKF>z3WSC)MUFMBkkPk?oAnAAVRvNmq8*}z zZ)XkwE!uBjY>ehw4dadVovh*VFL`YF?-?_|I0cEhdH(TH1}_Lxd+~s$hg`IPmwF>Y z6!RW3Y8BWJ4)7};GPWHdtut#MO<4z{DEs*JCoq9-4A+0jqiqM{cdOxyuM+@H?rf~f zFMPXNLNpGTV7ZnGbd_Qa$kNyiDPlIjQwC-DLRGl*oI>{eH~KwfYL)LHGn+W@mc!w( zBl{yU2X0_4_%@~K%O%I`GlKdaELumnRrwudBWkJA+hP$Q6byxMF^_ubD`le=vP_8a z2F6QVA$$58<9;x>5T4F5DyBH5bo71^So0MR#aBiSfEkB{%%Zmd?tyvB1m^wH%B-bOa_4sQc`b z-3;?Od&{DqW&1pU*TvN{u|4wg)2bFAk8AsUMn7{ zuThfJfUWNe88AukU8;(Ov>^FFcJeY(yMR%14ZFAYj|=SS#z2bm+*pF~tDgO&;onhU zN+PmW97;2@sswIi+=USmG71#M&bJLA{^YSlFM0cSCpjdl0ybWgGWMs89%UKMxOZ<%DiCzG*<5*`|@Rz=x@^xddAh5ISYR$mH zs`n)>|B~mG{aW}imLnZ$aRU&KT}G5y8e&S7pMVF5UO!d_9AgxGDIqTwD`TooxHxew zz#IjZwb*X&X4j;^e>(6}qG(Gi59v3R_)>qV8|&}4I7+anNDLy6V{bd7srP&Hf>qX0S>WBLw|{w%6~&4cMo}A{QYjhWA8rwmh6({I(AEbnVLF@Mqc8% zEr}R|y733S`x@hSoMOQE>o-ZTp46^N{H4CJ{=m3BgiKr6Fle@q6_WCBN;X&Q^_Q;Y zbX5HNbmdCB`MQ=7{sc;g?(N!D+U3H<;1!}kep72SBq_ln>B}#Pt1j`EdT0IpekX{I}x9KTJ?k1mo5yZc}!OV9|!%|A|27XDdeHYSKnBFh$uf4 zauptWrl?^Isa{WooK-|Eq2HPijicehcLf4TkyTnqXUukHL1Jixj$nene;8Eb?X~J+ z#JwF9#YP^6v>x+ol0T&WQr~EQG_yZ`%;~O4a+15!G3D~zH8Q@LvLaOiSk5YGq*grU zf$vpLYxwe-WFUoepckPZH6a)Kb50)fw)^Ay{&~#xT@=>tQfTaUG1w8{&AgGDqj&}M zLFnIm!Q9}gh6QETE1*uQvw25Oar&hJT0kLZ4|!YtjrhzXusdUx!nJ|mA>bC?DSUa^ zHYL`hE-wJl3hfp~+RXBAK(3ep3uEj`YpR$n&*4h20EmSJq7RJhwL4nLt1PwdPh){0 z@t69>`oZ_^($*< zMpNvA0YGf1fGXsGbdMhmPl4$z1;z(l)W?`{QQdB5_>vI=!wglpVaW7~84MXp^3>8N z#t0n&E8To#bV0cipDXH3iaCM1@>kGv;LiNR1pZ%eiS>=G2(R>Ioh{*;)tFG^ELvtEcj5<;rnp(01CKEN!j|! zFNqgNM~BzZ-OM@3=^Dfa%V@}fuVNpmZp@m%h4$hj&_S*Eo#$03;Hi@o@=NDxM9+dZ z{@?FIwvUh%U~sjSI&Xt!gg@c_5pXVRY75X4Su}nO=3k|G$oNg5rsFr=xtto&v*3;Y zSLEgOw4CY^ze4x~(*PL9!{0!SUzGVI<>t6gQkZ1GKnW>{h zUi3H-f%TKY)*J(tH#H;m0>oVJG5=O%0MP(M85pQhRWQ3)F{9ySj|96y#2VIBM}gG7 zDP{yl*0IEO)#d2y_Ypk{=4}c1OVm!XmmSK6ta(uHzB@orFJ*B#>>qfC!g?fpYh8)7 zvS{-c^F_cN(Uahf0$4sGK<%?PNSLJL#1V~`~aDnJuO3LSP zMo1nyFtp}#K8MzLNPe6%#_T>GpD4}M_>N5+l7E2=Pt2SehF$roOZ`04*#2nNjARs4 zNm^(m$}a~bdvP!nf}FYbCZIA0`ac_Us)+V+pq}gzQ&ss>9v*SsBF_I3@qGiY6j-o% zV*qNOBmkm%_sg~$#y&0}aM@)MAeVF?z>dz4n@#vh!{SUwhcP)xqwP+M)=az`8EMP#NNgjA!w;c1uX$RbrSd^9+UM_jC0dznSyx2-L zkElwqkk@7&!e;Q0CH`U|_w6C~hmbpFnD1Yd&K8%REP{pILue zZsm(1LWc!i>=)7W_?4~^Yo^6>v12Rqfjc99YpK$alKZ< z6=yZCfMLEcQJ?NPC@Y^Ur%{?SKtyX6UmJu)+%+A3hWubB4Y@HnYrX_=ZuM0|U8G1o`a|EXlse z9zX$44|vOT&(%b(k9h+;4dzDdED~GRud02T6$8-!&^Er#aAttXeFsFedB9bs@cB;L z@qh~mD<_oO>s+-29#VO!>hEp=KfQBQARQ1B@-8aJP^j130zFB*Pqc`n{1F5ZWqvsj zjtezHA#WdcLKh$@Gou7-Z&wIQua6CpU24{D**%57(A$xa$cqI${__@&TnC4A@$K_N z-^MO2o-itQY_aUcDSGRGx!Ajglm>z)%m-g*ICMD@(rWt?25$tbCa>)nyOmk>5ODiBoF79=1Ds|~$hVmQ`jfPaonukrfethBY$iBKSTK*KWN&$PG zi(8)S&jA;FuVCNl?{dN9Q?~mV0UbSLu}D&s{R|*Oz&GLc(&1)>vry(@>mG2Yf-lR- z0R=IuB(O?sXzOR6ymdQ|T0V{Ji7sx5E|#ZuR956kj9&jcjHUoy9g}lA#EJPb)g=}$ zbifE+TGN?s)g`!#gf$JCqs=2mfuqLdo!kJHcSVfn-(t64Jh_oQ)x|y4g{O$^RjCw{ zT6bAOm{PK4Psx4~R95udY;PsX!$8~+F_+)WD`LcK^(esvc*Mn;*P-^92?6p?K@mfG zX^V6w2j!-SJ=ev(uX{{(=!G1v&(~a6D7x*Agx%oLppwM=D)GgvnMxB4=c*>`EWx>8 zDTyBiI2=or&~#Qe6hQZU*>7uwH+t9KUOUfqam#hU2)^e!dA~NuZPb8>eFYT=_IV*M z!!}AoZ@X>nHJUgOMuzU`;?=ST70R^9>RC^?1et_*rHuK&+k#xBml%ya6&0}O zy13;!4%Ab?kL4QoKso=;MV!!s=!_jPHbHaY!Y?$e+_=?X^7@fr`h18Q8Q7p_bUVJF zFCeG7U}aeRWp9y+=eoG%y65`xL%xlF-7aDja4XirY~qLBIcxO6P5XKbPgeBZk<*d}xa;3DDyY8EE1v37_`7&H z5GcsuFxb!;$mdV+)zadSN5oy?b=e=#CPe~K57*_?0i?@>I{r7hEesrYfcvOfWb zPS;RYErH}g#d9rG$=+SH1agKb=nC%?zcwryf(A1CDnXtsvr6Hj) zDk~X648r$PFQQF~>s$;s`RX8AA1Rw9&dSVGv$4A5y_9Ms6hL24grHMYFzkHsSUl6E zEz^yM3oNqFJy>#CJtf~WYjgZ_4#Z2}Y}Rd;c6CWs z4blB@S^@1TE^+rl55k{)c^Mb&7Fs(;_;L=fsGjT6mh0-Xw^ezJ*e)epp-Bis z5Y9*`(yZd7wc$*w;* zPJA3|^A2qfxuR{C(Bq(gvu77C1hrjRjQz=XC=>jT0XtxfT9)RCY+_U%q9k_A8`}-917$xq+d2;clUNg*%bge)gt?5U7F>E-x`AwztP3?{iwEmfzBagWWMT3HA#t*nsc z_~$=HMtv;8BJO|I_r(RRDD*NOvZuYgPcqAsvnq|RDDwbCCHpa*4S?A)Utm(D@X&y14 zF#GL&8sMfzirDjBE`N9~@MXe5f*BA^>AcD}76??h*yJHYriW|=4i$jQ8X(gyV^#Ys zIurSKF}_hf^W`n`*&Ff{GDSnHSSA4G!JvkbF(wF28(B+Aeql^}_b|c$%4YrKB{vgM zg+c-YT@%#H2-z~qQQK|y?njxL&Mu6l#pfhdh3u&>Z>bLli=SW1c8Bl#QCOj%5Xcdd z%DhCClk9&G2pmjg2-$jC8t=EY2k30OIyAWRh)?#O$hCyL_j&oL!1xey+{6P384>Wp zP-4i1>sE7;!>paK&pt|RO?z@HBjQ}|o(qdA;MS!Y>^Gd#5EZbezPzPAP(?ovc)oii z>M{kE2}=UR%;nr}_w+=C8Kl!_XUGUt58rxOrCEZ%e3MQj=DY^omS3ulMf22`-#fj3 z2)W+m;XGvP=F#wibd~7UZV~}@*<^J`0o7K8Os+rh4AyrqYQ90_6~4KCOsj zI9lmGCUo)`5jPaIz7v#3^UPQF1zvrax>-Zi55f!-X3!S}MaBvaBv_DxuL|X&Cy&2C z#J~{{${8^OE4$l^Z-T%6Cp#}VXk$gZei#J0sXf)3*ss)!33zY!9xYW7yFAdpuKu@~ zMP5h}HO!E+3kK!(Z`xf!BvwGMO0akQ>O~{~LGQWD5y94nh@R)Rgyw|I+>W?>F|eab zj?HVH_R5y_9-#@?^reGJ7NjO5$s%EX3>aEs)d`5oO<+aCk}C>Xa^Cd6G(JOnjn>p7 zM)YH7&rX-bI(J3P@^UPU6B=AzbT&_WWlwv&3l9-DGB7%f1q|tA&%?+)HMbFvMHSCD zb6+vYvDoU+DC2c1XbXpcVotOt5SG1wwM2a>W3sh(e2f%aNr4&8RTV>SI{e)R$={Br~a_h!0kB z8Zylsk_<$q3YFNlG{Aw*2N1$$xc5hR0v>gUG0{K5`(xdIFgt66N&#_oA(Ux| z&Va|N5^?R77Y`}QjjS#z1|P^Gk|7f74R!Z?SHpi^#$e1I;)V5^89ruo0Ue%TM^%C) zRzOlQ8b-zI$*%qY zuJYme0$;NL5*-x{3GqUoPjVc^BqQG94UEzt?^a>DiPs)OuW`|Vq!yy*i^ox3T(}FH z&^^`FeX^M!s?1O4H^T|*74562ijCp5RS`w5H^|&v=K=La0233+%8Iwh$uBPq0tLKo zG+BF?4Z%Ca2yvpP5yu=0` z(JoRupc2t@aR?~ONUlID5MbAea{jPh5(DZw!{Q=>oQPU2Dqg#fffBovXz?UN{{*sN zxL-7az{4xz;aRTkS?+1BX~k)@NDy_exZy}doHG#^t=TojxOn(V>?o23m0{`~E)RYe zQBL-gA+85(R|$)DXRI*4S^?LI5ta|Ntcu9KI3J$n>iEe6PVPdyp06?v4;a%oEF|gf zMgPaI5LN`@Q=sT?Yh5e8XobKwP@XE{gooMK?2;65vUY2k6^{Z~Qm@_cG*`DY7oQ3V zBm@umaI9<-7+T>nF=^$x<-*5dmbY#m%(9ziAC|*!BnrGm>{G%31AM6kjMGj7zWw0dwg^0ACScq_4jyT=mQfqxyq;MqhX55ryojuI;HVJj2AEyJu?I z>n}pascIB;j}bM3o4^Uf0h~x>nd2b?V#JuxE8ixWUkf=?sIf0w)QVv@lB%EK*{^R1DelH-FOAoF}^ zh_b(tn!dw=8gDyRj18+^E;nn`AuZaI7b!koI>}b!2LUgJprsZuLr=!1X|Z(|jh<1U zl@xP{1w*@*syuO`@C(=A%6=9;t)jfq z7ygeT2@Ev@F1{g(p>%u=Z{>on#9a(k5qrXG^X;;D=$`S(qPw>rlDnkQ#4TkuiDwDg zSEV`#Bq99C+-V@x9B*VJ#CE%LDQvhPBA&&nxwTopwx!ckUf-{`$Hoqs z#;0eDNx*EvZO*SE_pJ|Sv^!Nooqgh~|yO0u%>7blXCK!MaKF$=fDiuf-5(#?er;An4j zdn{>q!VuvY!F1mwbqu=gV+Um;c=r<9f0?a~=^3x@aJ(m|7)1T{P_|iZfs0p14VhIk z-oz~0q0bGU7vCylHilFh(otFgX9NNqw2M4EOmqUS0Ogm~uoU3^346xt`9Gg9nuB=4 zKpn92*NY&^q}>j0%5FDJ+Bn3Zg%F*vl8c{r1MMO;)bTbYAA}V!CWG2CU8)MgF(H+) z?5S=6d%o-C51;U)*JquKO0fOt8yHVjyj>_!I8+aq0V%F8dct|C^u?iwAxl`GU5s~p z=jb9Vwbwrk*v>Gb2~b?w)s>sfDJwm=>3G&i=!SsFb=jxbr;Tfuv<1vsZ|)deN=kjW z1WWBZ#p-D|F=-DUdL;?juzRuWRuwObp*;$F!zW*EJ_h!$uyR5Hd`e^(#-1grE{~K+ z^^bLx0){-%m+h!?KoqbiyS^nm%Ke9W;^Py}iRikdg%aoK!?Bb z;^augoz$*Y&Xn{4jUremc+>VN(ZUqa=6s1%^cU zxUj~)FPF!&EKFD(s>w4QK6%A_y5GDjap5JGwC*+g=#T?n zm6_ngx+Z{2+i&1U1^x;n!5KW&jXl*pW)6l8$FfPvQSJ#s88a}&++nasqQ*oC7Yz&h zmogKb+RvLU%JiMNEqmS}sn8sAdaDQX+C>C#eZi^okg#X*6Uy;~qNF zC^pU!-Ni^gS!_T7G}I`sbp80(u5r5VN*y~i;R*E!hWY6kNA6r4D<+k_1Y`%oN4RRU z>mq}_o^jz+6%ur(&ZhHd2>qdUzo7^lko9o@chf<3g#tzF`EI<8t{$qhjtvUiAC3W4 zU6y>T_{%uTC%EMT*&N^+@u0UKI`2Cry;bbX$?;i@N7E#{?t+^D@j=rDw|Yj?IEWWE zU2vt2J=;CW-FB(ZzI~C`4iQK|R_LSno)Og_sKDT#VS`+wZQu-ONwMMx!vhv3D0#L+ zf(<+h0YgAv@YrSPs(?M)jV;?f4Ot`ByiY_n?EKi1vcDL5zWtD#KH?O1vfE`T3T@D8 zWF|>4PB;(NU^dA7zAkU<^6gX&-VZ<&i$KAt7w%)a)Jh#Y%j!`xA?aj>^M6bMH5h~$ z@R|b&D~~wn!1IqUS(>>{1R6s{CU>wAc;)PB$67$1Wg)mVnFU;63h5eEz?Shx^qbg| z-Pn`ec-WPHJP}FqAq?`8YZKZBQNZsbn?3=gT(=rnS@;P|mvs-@6^5p@=-qnb>}cBs z4~HdygIvkk#l96V$qs${?L_<>DIcJ3`W99q4&Ur6>6a+m)BTpdnj>)64RkdcL9o{)LAz?z&Jg}eml{JNi!se-^RzOdu*dlnU1XxkhX)(>tLNgH3>!5<|LYVO5v{+DQS&IwAJ0 z`tg!F$o`D0BHm%q%vgW?-U(YCAd6O!1t`}bTUUl;eCFYHjv>3sI}!mr0q}HeQLb1x z{wUapUOawWsBba}Q<^F*?NHMA$S6)S_03#X_O>8;Uo{k@9byCsA90Em-(g!96k`J2 zM8AX`3g+Yiur`=4fAbKJdWWs?=2aS{x`u*G#65RNQH9y$-a9{nfY2WL?spoojsj1Y z8`vcc1=GP!1J?q%58Y(lIout(X+ZC24Yy&)hUF4tEkKugmB4Vv>iBNb4pWjUVpjjx zK*eR4_KB4!2{Wmok($8NK*bWYjKAz)Fn7#1yEhi-(xNF=E3b*lU`bLvft*lMn!5yv zu=uVqgO>G(J>RwWA=~5R^}$e0qe;jwASJA~)3MMvuS+h0rP~d8j+%EB;Z9c4O3?5I zXuS0-*DxNp!+_jvSk$Fg0!g0m+J26IRb!%s1YQQ!!wl84+~|##E-VWMbZgY_TPn|j z#P5>s)R=1c>hgd%@hLNT#@n|C)EnQQuvG~NM!F0y#O)~krHH2{SRZ>IgXA-qHg(Y2 z?8I^MzShqL?g=UtnkxHpRPI=q)beAPYeZ>>TMq5|_Z3z_e^*sz@|3sl51u1tPjOgv zXitv6PjQkt6S-GBrko-Fh4_HwD#5~p`)K2;iz)7tnl`&&gnU&|XII7aGSe>VA+;ir zGg%2akC35$)joG7&w2Zt?RgRQskJ-1I>%q}kUOwBRAaH&!yM!~#;_pi>(FAI-r1o8 z>v{(Kkzj&#b|gkC!@HkuUymtZPkG}l;NNt1RuZCShb2Kmr9ECEFplZw3k56)^Vojea1-AsUX;Ig-2>i{Z28G8CZjPPB5I^O2qM-aMgqk;duUxf zonF~F3mnGkCbo-HgLsMEG#F_Q$y=%6FF>7^U6Z}hED)y9(#IHUCd>3O_@Pj~%e%xw zdMtx*>;q^y>|}vW6xtw2YFjSZ*88|jNrVbv<(b4wFnPahOe{6v-jOpfz#;(xI#S8& z@6VXAXFaIB^y6J7PZ3X#IKD;vK*6IFJK8Bf0nDce_#u!Li1%S1gF{FyAAkqM^LT=3 zx@eiSl1U~lwYj@#MF7a2adaT#i8n{brHBON>oF+mqTo$QtF*kgOuwWdRP=smiR|^S zoT7_}V0{$j6qkzC``uCfD4SZBqNi!UKJAQ9{Y8eXE9YT`>IJ>TRRDo*AwOLUk$Kax zrmtB$z-7E5JbV`gR;xSUCjZCUnI=b)BU$?Yh|En`CfJwzU##_e3U@O&L5WCVMDL8d1179V+y>pBR@hvd+8Nf@fJ(+$TqT1*7XTiNNPmc^(mP|1L`HEt$?IL9#4>{SD_C`?er z&}F$xNj8rb{jX%%1vr_jytGJ0vw4+_P9ix1?*2! z&IGCUq~HMqw7bH7kut(cdvqIN!J!cWL}CTN_7o(9pN=GF5!qvAPkSHyly>S(vz*|k zv?V8&HcVxL@bE|rA_)_9Usy}R)iflp&7%IHolsN|PlT-ig$Vr-Ic{O$Fbj^CP3R8_ z{hs|GqXJm{8GG6*p9H)^fqW|Si2;!pB*#%})IJP_73q55)CAb$mdfX}bG=dj2cH^~ zJ-`m?8?Hr?9x=bit^uKdJ?-sH)9>WkDlXlDBm%yQK0n;on`J>e6C8^$)k+upg$rlx z3GzVx%+3`0n_gHjfb^azd)E7aFwJ~E6IQ&X0mh-CQfM`WXT3+Frm{djlCddC2Dgfb zr^;-Ri`1sy+lzU$2A0&TXud=9VxFnV8p3n$ zrU{X#CYA>V)$0-K5Vc*0QjeI4KwSV$72yilGhPpW4w%{v^}k4MQ&ms-dsmQ3u#XIy z&6gxKSmzB4$wAvbpb5ZrQLsgBN{%*JaNO@|SMZ}6TfH?VvZ`o!yq@m*2Ts19gpH8h z>N2QG^05}}jxj|?{bz!PqQxt$-8$7h|(L{eToA!V))H1x-5!Jod3z!ueW4lvDpe0o$FY zS-1VG9dUsEJSYm-lid#f_@&S%UPz)j0u1hu6W>o56h*M0AeKtlh@042Be|#Zr@%LM zrB9s7#(L!#a`|w+c&^*Q9~rRhXKW0m)8)5}|4ELD7G_FnUnE*`M;r(z@FEJW(r$xW zxp;BD?MHOc?r1nrS1wLQczGP5MQxvGT=<&RmMCIRc02mx9PtmudE?MLx!_km3Kfj*HM0%$zS z2f)V4OU8|&SS10u5fpPzO3DNf^moUE?hc4D3Zp>H#sn@vdGjI@3_cotmUis6WJ~J5 zNJrb<-#gEC<8RobR?1+Wm8brz;Q8{U;Y#DUVJJ6L0?}@F2~gPeRp*nqjoOV>IE;i! zcyTcU8btnnVJ#G7paVwAIbw%hmo9I3-J=!X}tOZ6AZd(hQp=NS_8 z0LPEuI_635n*uyrM)1ncr#NgCZw&jO*4P;1o7}~zDa_`*zQ2LzvwE`o&<;OMgMQ#F z6@mL<+(Hd|1x)2ka!II1J{G0QvvAuqdGLUF!P>ehZW%wsc&@S}&=4$iS?ei@6=Y1d zfRF7RdTSS4RfM8hYp~VQxWr0$Fc4O2iv)yyqIBdZ;4xGP?r9L-44h*W;G&vnSh1j6 z9OrslXE5(>TJPz!Fr4<=SQ0C(?4ycY4!1Ghp2tx)8=SzqZ|$esO0(s%8yCJLaz#Bp z1T=9R19?1fA@FgK6q(@P&S$d(M)#U?DQR?(Y87$ui1%ZB0uKr_a*EhKK1NqqepZ#4 za4798aD=HH!+ldAWY48X_9_avidB875#SFacsb6Y*aTF0Q67`r-4(GiUinbzIyn*k z=qb(T{{AEOXcqeq0xLsX%iRxsc5nxLT0-lwu#o~5Ewpmet74AS9<5!>`4kt0xZiFP zSdlH+Gvt1(j89(;0u&=tiE2hr$ZWLmApuX3VQJdAf5kkkYRJGBk#VX%Cd3PuG2xmA z@nS+qz`~g&lS9wZS#ywr6jmTLZy_Jm+W^TQwxt|<7U=~WmmuAKxFH>9hK{forSx4` zuy(}p4cTUr-lQl7c(wAel@CP+!;+~8Z41vr%JOPn3M;MbB*)*0q1pds*9G13XnMjA z>=l$oiUvkXOGOj8UMq#xdY_(LGdJr(AQ|N4!ur-sm=aiN9~#$eFTNjT5u+fSF0Wl$EHNQbFdDA=k3qG3ctxjB*1 zvG)*!5`K#J4juAaLtM^2{MeTaA^H=2<%$>Nk>L`1vEnnATMTweUZs7gT&E+QKhfh- z%?#csk`U{8axyJbL5a=2yS9&Zj;ZG8K_Wf-gU)Z&v%Ouc(U%%50x__Q{SoWtX#!~5 z!HxDW_ypsDz>>U5`_Q?b#~pfMJs;nHUYb`}u%VaI+*6Le6m7~}o7mdH=DK6gkH&%dUnr zjns}NSh#G0djo0y^l~RLBCU~pNdJmBFbmvxABq@roD$ZU2!TjH$JHa=F64Hc99Mue z7~^5%DRyous*o*ZkUl0zU9A)_G~M(552S%VF?Lcv45Pe+i-=8 zl1;%h`ia!EE4w3vW?jxGuXqz8$WK^}Oep3A0p;k0$r#ITisA9@z&yK04-XhDB6V7A zNc>JohXyDR3D_T$-Qps_74Xz_vlXt*`@N%-z*Cjc?6UcQ=36L`l|NpVOI^Yh7YWiM zwmZ+k(ajUyzGP~rHV>C=+{K~3qd19|lI{uABkY>v${Vgr!5$C-o?XlMy4-^J_Ik%6 z)B2*!jYk4i{KcM57sZPoW-qMF#g`vtr)$t7?w;@V6_XWmr^+pZ#kW_EBgIG9MSaa0 zFj)Hwksx^|ozTWB5?tb)y!SP(*lZmf7I!aK2Wg3yB{a9%Jb)VTj?sYOk64iEn!4w^ z9sF2N5Ud}3GjK}fxZpFCh8k&WfQw)fL%ja-kkW{=3ziq;k?t-O_H29!Vh|vBA7%yPM%-4@5;K6d+nAfUL}ztj(aj%6Ga$ z>l`CmlzC`=aUO zX3?z4Fk}ZI9qdY)x>ex>!yNRGk+ecQ#@24RhE+>bmsDiK%IPxB>Kg5U5QYS!94Ba3d;|VU0_6!AqDI<}0D;@Erw0aJU%;h>D zo!;W-wNw2^Y4|f&Dp;Hl)|>h|yQjNd?z;TY{8v_X&F-p#5_~|?i-^ItL2*ooseY-# zvx5vPg%TS0$&GSjUTe1s6xis1rbumf%{7D2BA%CJ!7s zCMzQjgH4uVg9CswUeRhd*{y^kEYo?YH;)w)lPT2MfD(3B=pORo?#tsX!A3~f4p>cl zv1U+`|d4?QwH282d%I+L@BY^C(aLbB7Mh&|(d=w0_i?+?bhTMA;5PAz6Vo&?Ye z3w;<0;KQ>pV{;(DH{4@Mt?;{HvRe!HICP~F*6l=G@N%O8p)1-GR;_YxqfHvOT2V z!Bx?Ht_cR9_}+1N#@qF-OFHzVNJM8!-bqqsa@ytNXm3)KIW0D{(yv8<2ApposUV_! zmq8%#G2{uFX8ViR?3WWkk00}1MmNUf7Zrhi5xY;SW3Yy2ydBt$Nz3;~Y#*e61PKG3 z#I&)C3rHOXwh~E6wWI~|8&?Sr1}M?}-dST!v$)mQ5x}e-<~tY$M;o>(?P-XF59H`iS7;) z*5U!zF)t|3`tj~24+6_xZK;y^A+|1B;zo0L#@ofN`>`;_mF#n}B03nLbX>}i45Fr( zP=65H&Fm(_!#fN$RG=fxPI6rj*b>Jz`f>wqK{{hBS3%{KzNQob_NU_Ybhj&A_p|kY zW&H!sQT#rMb|7UY)8#H1aH}N~Rs-XvIR-=^!K0yI6kh?`tMTGi4WP5Ubg+{JXYgO7 zNcT?xd$!wkuIo|gApuYL&WNT6gUU07OP3U-#2#f3ZBLq){uM9UD$F==m#E8(0(xK{ z4#@)+&E$`U%0igSI@2mYgq#(x=eixnbiCF0UPms)({@P@xPf|Pm4qmB(BS4hqOj-G zar-G8x>vyYS~hp~B3daoh60Yfa(T(Mm%IQg!&BWpf&Fd3K+qdFXKSde4M|VTe1teQ zfKAs0EalUrmhgbl5NQIIs>tjMumS+dkFaODUEvz4*5O3d0JaTp9$9QL;NiW8@eIgA zvbmBG&xIiXSi#=K;=MNs4HqH~GMh4Aen7$e)_4e(Y8@2d&$(3-!!zA3a4qAC&xjG# zqACUhgr*2RFt=J~ECCon$ZVx%2tI8}7t5Z1zE>akccBP^HX2%ej8sTLl3&#yX|+27 zy)jIB@e=OlZhETQ^{rz+S|wPMG3D(n?pJXvEEN71V4f}hnp+jt;B>5=h1BC>vjDAC zK~G>z2hGz_Bk1+ymJ>2gyxhcI$&G~FszUZ$x9eNa<2lA4<#IvUN+$xOvfF4EMHbl36d_dN30RG7Sgo0_&x%MJb9%diADfyB$DSQCt5E zIXWP#!AyF3v|06m5FgXVIDKSnA>&q^C6<=uxV&4sX4k)AjFX;Aq1h7uoo>~2G=-cXM30O z_OH{-b{3{{h0N5k`^o@8M@^@g(}Qq&{d_bx)>-zHw<}!#_F!abw{gp=T^{!h7dh_O zj&@e;eTAI;clkKWD8OF=WX|nQo}Tn}iR*dfto%4NuGDc>okwXkF#DWb@ z79CwSD+|Q^dDNVU>QYVHOI4O6zP!Dc8xW)+YGfjA`1JO;`x+6kC%;|inw`vFM~so~ z9&wVHFGUh6)_Bw2fDrpQJ1U6)N{5azO>L4n8s89&6yNY7sc8K{UHW472nu5?V)pE} zOI?@Kx&v?&9L0%}ch*HuC*lI8GDWc0&c&IC8D25(G4jUoT`Gekj8Jpzjss|@m>YFm z^>!Mw=}=_40^++BHHqhbsd;ai&w~2x3>mz=MnprIF!wZKBjm0>a)( zKrB2|%$M%D5N)pfRick%mxT?gWqzIAhA>DX)+H0OEf~4Wya6<+#RxFo_HW; z+)RP5r||$R!1qU0Awg4FmqrIlF+DU`D~ufp876;UB290Y9wB=Id-L0oVa)O>w zKSK@(xlu}Q+bcrSz=#OIb_G3_CYccd;Z(iuj{ETY4tE}f!U@_H_aJYLK8SC7Z3c` zB?WV1dht=@)dwmaB+YCQ7ud?x=NGI3r5nteAzYFY0@n20_7?Y#ebLSIP^;eyz@ z{$qW`RQi+kz*_AHhMXA8S%;054Oj8~@?oz+YP8?T$_WPxF-T5Jks#+Gmkfc0YGUo= z-D<~G%`XgBVfm21K8FnG6{F0-#F34CNpe_0*1Y3@+N$iuzu3HjNe_qsSE)|FLXO~# zTS%m7k%S0Y+w8tg>lHGt3Da3ZZzn=R_WV~jC<}e>w~*1dzW6k)|E9=Axq*)wK{_x! z6`pQZC1-CgLpkaqyT5vRRC1^u;b0?_ts^+?hhAtRuy3t4SGSR^tgp!F88fVbXxTu7`pg$zjn9FeQq7HByN z8MnU?-Jg=JMp^fpE3rH^unBpdWNm*8xj)IKyn7rAbnmh{!uE8itnMI1qN7bz$SBXx zx+9#Jcw^p?yjVgYV64RFQY=pmY=vC^zFJ0~?jvM0kbrJlYG4KyZvSYcq>40A@R{?2 z0i+4+(=vQOG&n0{Z~$wDBoFYF_*{#nwvX-JI7#OfS~OPkfO=$aLbLzoS}uu0<*vGI%gZTsD`4U|x68JL%`Rx7ZiE!;WR_avXbEUK6q>zP8Uik3v&F zJmtL67F>*1GsK{UB!b83rdo_CQ&LJLlthWydcagPHsd>L9$uDvVi@0D@(9{<-%ixS zNc~%Qi4=dKKS8&yabyvRjQY9L8Nn749+~AxoQch<6ku-9H#jlQxfEGCM*~tOnm5Bm zL*Msu6mX7$#-~NDLgg`g_S>m?$45$1K0avcFMR$a)a**w=(~}F@kx(&QN$1fB{hb1 zjH*OXpUq(~y61Qv^sAtW(TWSctwdk30v)2c@btHn^-8Y??9h*gqd)Iv4o8EIFeN5h zkn6dxW(vNMJ(o+9WndSJAGs6MWkbiV6pz^2aj9I}KM_JbWKVw|8tL=&3jP!_A{N`- z%$!F;n@DbwIqt0kc=oOf1Ld2zV%C(!pJulgJjwlv3@OR@wb!vyZoPx9%krU;{@ce~ zn4YtiPRQ)R#<}Zd8Vr#?eyqtSpXD%*AKq!RDcgJ-3K!a>Bp2Zyl|c4((R{)QvZ*C{9RsyGXX^oAo0Bg|Ul*U!%4!xqavDK@$TPayj21g8Kykj2WfZikAdjj0$df`GH zUOwi&SQ@#EVG-t?mk%p}BAI_wq}gCmH=}(n99QqR*t-q^qXeu%B&Uyug>ZanT?}@N z?2tBO;^qI?znu!tf4gGuF>Ap6KdsWB90zP;SeO*&xLi`H>zSovdvZ}#tf4U*C6VXG zCLo=Lx7jaLwaBwIKUpikz?AdRZ?EN9)`a{Ix^kVZF-MFdZEsyO>NAX>H2d{`J zizL?sjv%jRJUgIBfAf~`LX+18Qu2;7;=ju}$DaGf{D%?Kx+P>Tu};8P<{pa&7>*<3 z--5c(3OP#5gR1rf&!3xZ){K5GvC}{MJE$sx=)ldpk@~- za4|tqC5QPcB3;3om~VhTI{)c!R%5k*1`VyWY9CBzP0{?PDb~7l9@o4Sb+w%R?b+X zA@C|D3gZD6u)lyTL*S%qksaZ(O!k#sW%tW&3dV~)eQU-XUXrD`tB_r*g-iXJ`N9d& zcVaICK}0L}%pdGd$R5^cpwHnU z+X;zYV7ORI-TCVP&A&fo=Di3aVtx#ZPe>;^4GSalo|EO2Ni1e^xRA$o`0G=s75ZlA zZZjowAyA))AZ*2tc)wOpU2XZPk=tJrTi0u;bKkM1gAEy;1NKqrF5th>kW2@lM-Db{i9$&#XKSae$UTdI0Zl8w@Vv$9|67>er!yeDQ) ze{+Y^o;W%lGqdFE|7EeL#OH6LG=_qq;Hi;}P5s78g)8~Pk-lpzhl_ba97HikfC$OK z3@^FXD8CExsN-zykg@#sm^}f`U9%oc&LQZTWdsOwI3pY!T(||MQ9*SM)|`{VMGCQ2 z0>z7jG}wEb0osSj1mK12F@wwGrsSu{J&kLDkw1KjvKnGYDeIwwUP^4l&EI z58Mb~0JJUrstd4wlL(+~_!Lx!s7vM5i7|JdO=E&HYgR|#L0iu>=2~Zi{NOF)hC_5Y ztq1Kx0}onB5WL4T=oAlj1}tqYEj5|Mx*Ua43epB}qaxB&%7W;7vN5+?pCvN5toK`p zaUgszYqagJDQHCdz~VZbZy<8y%7%6$>RwV{FPa=dcMp0OOhyp>bUN%w2h@1{|ABxb z=vwK)C;pGfo&`B^f=87cxV_Sk0Ub`9jl9H=MkWF1Fk^_kww7qy6;c>0zp47$CwFA- zmAhTT1>*ekh8_pqy~ISt@;`(nwh0CQYJK2{q(R2hqWVh^TWPhlA_}+_67Lgjw|C-x zqpWzH=!nT%pUZDbUWIzjOk+{J^RHWVx_0m`;$rptmIvce3>DeL07RZw2qKe2)-nTQ z6utD{%j$yR0YZUX-Q!{P6|-a^`oy{`d!G%4A}x_5UII8S?qYq>v+%>0#fTzy5tkPB zP3uXS-2p@9;n^By?PnkG9%r)3`HFqx~aqk2^sN#2+K^bnw-ir(mt|Xl-VJF zaEe~TW|whkyJkQ=QTcujIo`FY7f2Clbg4nxO=ng7t-Tj8Y6+Om*t6G$3TTO?S3A%f zHqkRUgFkduep{^?U58o)^U-9G4aOWD~k0Q8evV^kIUz*MY1;aKVQ!@GlgP+VA?Nn_l)XjbC8b7h<1Y5Wo|1PM!6ZqGMqm@{ zX?AoJR9%do+t`&{2$>YvKa4tlfK%r75DY9RqkRFVv}9N+ypk%xxG(s2?A_GuL0`OC z_)!Kl{AP$VMu$^!GsydpKh?!hfl~taMqr&Ui>65N{ES!&SGZGO(jT9Sz zMe?Jm0}~E$KcU9+&e?1xag#$o*||GxDu5F?W;F|fVxc6Nx|El{!HXS5#9a}8@)Glb zu8J70B@+7}83rXrlA=C<#s;7B@_FVcgH=mnTqE@UP_wtAJUO)XB=O4ll8uB=uF;X6 zh0X!@2HIv8=kjIl-0= zXs{YXGY$p_7|P}t7Y9v?1`sfeM6Q<|27fE|74cNWyLI+&7d^c|O(I7W?Z<9X7b@Tb zcB^$VeJvmuL`&+Ne?77c3BFLX593-sm$w;Qq#01m{m+9gt2fVkOWBH`LIfZ{?;qI@ zC5eKy9l(nlfIUDh;9kf|%Eh0kPGAvxp-IW1m<#AIjCK9}%Yp%U%uz9aj5Oj&Sv#YF zYpvh%1%xiHkp|#jR3edSk3P}>G&hmZ!l(%H`0<*py4T2P>!iQ8GO<+fYm1YBlY6_a0jz)pX00wC& zPJrlWx*YOYk5le%Fe)26f$Bc+m=)#beX9gr`iJDY9k4?#DOf1sH#aP$;%<-cJsBI} z7W9+=w`($P{XR4K0xVPljt{XB-N|;_La$kjw2DX6j_1=;p7w+mW}Ks!R{E2o3sZ(Y zWN==1R=f zW8UYs|KXa$pDEh)MSsStLHBH)UGraR8acmA`}4MN0D3&s(;<}yl13skhE)w$*Z zniFgPH$Icx2DEE3_Vuv%q{_`sX#TCnp$YNV2&&z5A`|Y?UijsCgqF@jCB((Ko$oZpUrbq!U zjuR49U%j==fQiC=mbjX1i22pv;4iJ;Wrab=(imut0UT}&p^zo+f@{-1Eb;-)B5Vm9 zpkW74Zrl!}OQtne89^vl$abND0`w2-C7#PJmUY@TO!APUhrAd0r{UZWH->$D^rdnp zh+Y^4duUdV7Ht`s+TG;*3US!FMdV?}f(D}y#5$B84+RsqBnWLu6DoiGP*GW>T=(p^ z8!luD3!5Tg$6d7J)WGTbZKtdmd1)u!2 zd|9Lrv!}nkFha@dKg9f<%~LKS;%b%QZ@%}eXw%Xz1!VA){#dL5?_c~s5k$#HLGNE! z`*+s#VIg3;=f7R^7qIZ5%!lzAm>H1Kibz3x+Hg8c2UQl_vx>h*ca0_nEZX^WBWANR zF_Xw%<*x!1Ssi|i?c-I#;l1oTeyAz<~{<1MUQr9Xw=$@9)3qExVa4V%3 z1dO&}Vmy|hCj)Dg!j@l{{#!XP%uDW)lc^T!rVos;wXML=tYgeWy5%5 z1M2{3Ka%yB3Vq37QtBJY=??A~SY$8>X(p}A*dTwc<2*g&e@Ozgf(T(_dydo^61IQ8 zf+%!PhMtfP=He~l52sH>;H9Vy6^f==unj*k9R!{qXUV-#rf)Hyr9J9*!F!}VK;R5W zfA+q~E5+IbKF5M&G0*fK=Vun304t-sYP>foaB!nP&NMY=M?58_!lHRinPK^^h?N4% zt}}2PjQ{wQ@oU_kGHi5YUa+UPI%(7g+LrY~MxhB6d1>jg)B+~ z%2q!m#g|@orGZ}#^X*W8jTw~ljfqu#oD91#V4T6KnQISdXB7)8hucm`dnsmW-rm|b zB(_9fdf8_%UGEA8(Xb*#|Qv$yPw6he6TZqZnG1Uk9l7jxLoMwgSl ze*Oegwc+rsyuD2LeksQ5_DArmPIFPlXj0ZrEbKIgh z9FQgM{)C-V2Rc=|(|R)EFle*QW!wo>ZEe&NhE8qKEmeqm%*|uo_u6OSj2x^fMo)%r z4mlMf#H6jEc1AH9HHERu3T6ST&BiXFmB)Ob!}#eC^7FEr#Kz>B>4^j`QqF*(0BT$R zAcJ0AF?$Z&Cv_MiC%HQX?p&Kc# zYD;Sg2!JalAKkt@mi3&YM2P$yjCgCTchHmI?z8kuR;xX>!ra(;7ao7P3C~s%GUmWE z%yL;-B<+!`G+E%e5#_BQ-)#7HeU%{gVuUrI8=eGrciLZujLn5ycDQ*lpM5|cFbWf~ zfzNuqf=Jkv1)sBWDN)Ib3J<>%lP+B+%qTsjOizM4dVJ=C)fURRcI44QtqBVGh`PRy1}F_?m{#q#=#Ymb_{RuKLJahvFI&Z}T}0?7NpyM| z+|lDdC>Ub}nIv|BClt$8j`OCaDyteynd~zb(40}sW2XiUI>9-D!stSu7yw_?*?OFy zJM2T}L`Wq#uff4m*Ck?4f;)Enml11sVohg~+jc|b_kGa?OwK`vP7uHzGQ2+oP5Ak* z^2kEQED1d!g&af`@{m0T?sh;}Umc3j&>e(_F-P@vsSZYAh?`JnFK%-_GOH7?MiIH< z`tY;n3n)t>e&K6C>X88$&GQEI&4%bQ;46f2eBVQ_x^M&2Q{Zl^JC8lpPpT@&G{V70 zKiAFVqDTULXqegJZMno+A|fn4vRrgrJ-osObxk8y`?7UqAqc89JFLzgkToYOWY2(m zyZuY~a8!`x@JkN_7vo;GGMmpuVDXXrOYxk_@ zd65KAk03MMC$Do^K_HCh?RKvi zYd|aL;!J)ADo)RUJ5VvkQ|pSVJ)(Cgo3%+xX;%|5cl4hqJCS43;V41mI)o~@uIgPL zVQh`eU4t?`{cZ*DH_Hw3}tG^!NBaQ-8!Y(3d6reT(PbmMRjXhiX_-a1jqe_%8VdB=eh(P zbyO|r9VNv+>sW|d(_qilT~QD&mh1;cv{0ks6c~@!kV1V(d#ivIdTL$sZw68!q!kYu ziy3x4{1{%xp1ny4aNZV%amnO)(9whbkT)795*6!5iC$vj$gaI;Oi-}1i_@+!)ELzb z+7ZQKuArxvS#aHxa>@+*TUJ1WcK50dqjb#E6dMpW5t15adF&q@z#%=3=0PV9db^^n z>N~V41Z|hc+vdD1;r7Cf2lvbF)8VktCN%-jIaOn;`C=1e1Dt^~BM`~3$fE|Yn|GW$ zQAY}#nB(fYWQy)lXOFslM16qq5H*YMj6;KbT8nf`fec5kV#{07bLXRyskMFGPI;oj zxF<5;qb_ZKMr?(SO7=7)o4c?> zV~O<-cE~!(hz6w&EqYzT6C(mpap-H3_x;On@>h(W1$TlS;E?YjBQtZ=kFT;BL17hV z*FGem_XP%zl0}w&6QKD$5Y1rMP{p7bZq*F$b37MX3ZgB}>^>N3HGHJ7Uy?@e&#X zcPT{-Rt4cz9oePV{)IcKy*bvw`N!G>O7V!ZN4zQ7AZY*h54qK{edP;30y~aC>);Br zdcDUQjKOAR@ma?*zN)hU`7iH?kwq7%0}ZbQVQdJDdC0{>-n4A;ap?mq^}02gXiRwf zP!5Mfj+`4rRz8l(qN>Ruy+crXI6iWTb8R(=v9nx5n-1-PCEPuQpByN=;xAR6>TVvg zGGE)ZY|1J1HS{jumoj6;#I4+=E7kx&GFl|!$T|>x2{FXcn7SYGB(ux(B}+yzft|AJ zH|~baAbnT`wI!C|dwP$!dBj_;KKdux_r|`2x^iMni6>1{9V`oAm}#|3lnJL4eNR^0 zk=4pAmO!3k1)q_4%wO&p4Ev~gUybxvc3Y-|+jm>=ebP=`A$Jcs?ML~<)V8B!T_6ZU zJmeee0lj?SrorVbRt6Xz)NR>l6oe(xxJzaY+%iB#2Fw(X z__ypplq!scoVTZZf<63zx-CJ{XXvAgLZ))>a%Ed^fB|&R`&>}0t7u3|!<5z=3c+yC z;0%GTm#^v8G4^__G=T5dI?2-`-m-N$gZ>5&kM5Of5`Bp3HVRg>L+64oqt!Ns%9d^f>FiX&%_TUF#v7O_*GRAwj4O&9wF+FHH8cXD;D;i4 z+H3tU9`QNgMt?n7+m@sOsC3>~$1-JOAn`~c)`p1hDzRn{*yPYk2HfJ>hB+Me}}gSmupogA)R-kce>D&HqW zU!Iy%Vkm5Zqp&#-rGJ2{_8|i(b~`EL$Iz5rwIzGMz%hmgr-in@3?Fc;hwMr3v3>aU zF~$YKZfN`h7>+zWgH^lXwhCE4t``sBYGuaAAAgv7#)x-CKNfOjS=Vv$q}Su0FE{+D zFP!ec)&p?&Nj_XIl(=c*rdDYPNOZ=lte&uqy2s-9d<>dXTui2;23XTykU8{oUixi? z&GzLQhy0oJ-X5|iy}l*Aa>BYG63Fg4b*Y}PgLWMX#E0Z5X3rvNjHnlv;W0KtXolXy ztyIufg&dgpO*F5?z6^Mc4l=Y2ZL@iMtwl*;A)QfGSU0j~y}oC?la(7*DuNy>10{Ll zN>XKl%&^CU@0JX(?VDeK2-Lg6e13=;LCZy#96Pz_GiGX&3!f5x4Bw^GZ3MX_Bktn> zMc(Gujp2E(Z+Y)rbf!~XrxDx!6)GoQbzqh3+DEwsuh>z+M7OkPxmu#Ol$TgBIkQ<7 zYrcP&NdA?vjM0O%R}^#h%-6Tf2M^~z)b`~=SS+H$B!@q{9@vcEyhXb}XtXWC%kS0{!e#>P~eSJ%P36Yv_Ap_zBDAEPdVznqBD6+3y)=?c6 zw;T!{fwrDe5DUr&ZxL<)+Yh?Yv_b}p@KIg}plC0A?PtNe?G>`+?hELJzM&lJlZOm!ZY&TkW8XCr&z}AsOP(z3 z_xF%>4V^-+b8cVxDsXx_^ms=9*2LfIcjO#0q!-kLx{og~-kL2gBZ4xpGNfJSYNia( z!MK@IF?;&!Tl%x&{qHeoY@qhD%>0re67E=-UbP3(4`4Q;-1v$HKgLCITzn+J>Spg0bDquAa{8`w0KhyJpDP_Uy0uc zGDwLc2qtF^zHaZqbdkK6Jq3=BzVF1U`_Y9yeTd|NQ%W$VNE<9JA8bp&h)tHhsMz?~ zz`cY4m;U|b7R%X?>+LduT(BvR*>m7Xd(5X9hCq2uI1qp={B1Wu8t8je1a4yU83wMN z%}(@0bh+j`ZL{&tEMKc|;U2Sy%F{PF$PGxoHu3A>>7Jj^eUI65;K+XwGdO<$l*m+5 z!X$J_h#9$3#N->;EuKA;0ET|3?d69|CB$EOC*Z~w)>H0?hb?NJLg^kc`<5D>7HS@` zXTY&%zrz~jNHzx800T_~q2OXF(AlKxCFOt5x z+9cXnd%l7bk+vl`@1=$Yp=cL+_qROWG&QaLLQ_U3!?l7uX3v59+%wnHRmT(sG|tQ1 zomSH;p21#N&Li^l!c-R|`J~`1-m<+)4KgP^If8nx=gccu`g)IjFR7SY7#A~YeYvrW z_p7dW5*+;>K4(^#_LO6nh2gUUl!6TE zy^48AaKcU8Bj?2T@90Tu=Bt=3n=CFwES?0%M-O=Nuq^EGt*5kHuW=i?W?!0oCe@nO z#w7_dv8iN@PA!M=O)cA|vdZ2vbtjf{nym~Pc|rYP;sG*alRXfT%Kp1xg|LeK;z{r! zFGdoi$odxZPyDI$sct(Ls;Os?;p2f^4crLS8z4K{@Q}eZWp@xn$f>j4k?Kyxqbz;; zgv8=GaPB$qzsPvor~OfDAbY{AF+q(G3-spV0)lEl?og)DaZcUp3j~q9KS^3Hf1#a_ z^-8sGTkPUFaPGs;(|7>-?CB|^zIgwaD!QOVP&(UqDA_kK1BH1MGP?9+MBZSfcj>ny zWUDMN*=BASC}zi!%7Z8E`J{LNaX^m02AuidMNE|fYzSr;HnLA^g^VL7Jpn@H9Nz=uG?v-K}=<1UUBucy=H^25gr_#tATSU%0jyTsCZ+(TPg}ZoMBd z?z7e?VRn$~%cdZq>=u0KXKy0*JrfBTTAcK$`X8%jzxk2h^dap7Pb!cp4u&}8a0bt)`}x5a@6 zB9Yh1uX^U2ADQn^;;WgshDO|pvIg-B&m#7^Bu$RwEBoanD9QWa2!UKqGTrNv^A?|@}Vzbh)%Ri5~&C%(BSzH)E~!GX>a->^yrLN)?%n%Bw# zTcmx+iku5D>uBmX3AbUo{#=wy6d93<^M}u8QPxRT-s@qX ze)bayH)0xq+h?QvrdSS+y~dudqPe-10T)61Mb^yNA4|z2jJb8H4mi zto^8o)tGD*BG~iD(*We`#9_b=N#nN;8RTXXSdq%Qo_r1XOCj3_GA{~df6uhs`vTT5 zA=#}7M+3_2lML5@>0$5u>fvtqvAW3fljmihD60g$~0|S6EX?;P(;T*97hk z*kb28GbNaM%DLg^v=vGo^7N2DGT(m~zR;0uU-?4S99bWvsT$J7H#HQyPm>5x$E z&1WU`wDUsN4p1JYTB-|(LE}-D(;^r^wk1>U5SlxNa9ev5aP)xp%y;CI>=;DFCI#Jp;BQS+8IJNxuC8@6p6cIB9w`I zB`;ru(}9Q|y&tH88`fYa7;Fw;VoNXznW`T7LB+;^6S}x~12`-%9^LKp7F_@a+RXDQ zBV_U|Wb65;Xn{!D&B(q(AVe@ls7HW=^yyZW-YBl(*iADvc_$L~+RZ*LPz;)hN8m2@ zhLk0D-9X1A$H!R}H_`$X*;_bVOf0(oOOGET@qRcM%wOe(l_8%4PK`eJ6pu^FUEW*M zo-uZA@_w_=bli1Zml=hf-i)Q~P|R?nS)@7f$eucU`HW#`xr-ITmHaB&M*6m$=n(OXzL=&T9{ zs~b17Kon9x9y#ULmEp-R&VLv(=I>NBg@T9de2?)9AYVR3rkW0%j6i+mu@Y`&AYjdQ zK^?fa(e+>YL$fCTuwd;cgLN(QS=)oSC_`l&60NhyaGm0ufzLbQQKd3oQJ;vSDx!~D zn1ng^UE`qqh0dwHIkURT4kh=}`HwFD(s#`A4^7`$WXHl{lV0FtO`jj~*4TN(CZhsH zdnjgzZoxTTWZ?{W-|ma$4I`CO%fm!mCT0;nhYh|eHxw*u*shyCR;^$nxfOr zby1N-;M#0}N7Cbl%b>ea*DM{DhDVIc3JF_3-l4ukoYEdGqGHh~n2f@&1#<}tp{SUGEklEmIYb-YKdsy#9X3IN2#|E;gan)kt(T~XpM z=*?_zUO557sc%mOQ2^@33>n{f-$v!DOD+o2Y-z*2(+Df&kz~D=ipow7h}6nAMFd8P zNF6RjCRW3JWj<-YP|NHg|2-Om8y9$PkkX^BWcNP@cR?B4+T$S)+APL{O_(V`%@}KX z8|lnG%i@BX!KtY3)w8ga9&u5`J23p0>uV6m4fSIb*X&Jt6hwftrL1DjLH6yL{VnUn z?T{$6juMOvz5}T&&Lv~i;Bb2fCE*ud_1@C7Xmn5 zDK03~3m|9riM3GnnS6syO7_KW&;4ZdzsH+lmSIgI%oiAzOal_?vn<_ZE(cKm{gex$ ziU3l9ut!H0S-WuA(cctdC#+}Z{U|C~v3L-5e+MJ?(H?q;x3B-;bDC|OJ`kuaQt%8W7$0OyJ7txAV*CrN2I9x zbc|e#QXW&x5`D23nYWjQT9vjmmy15fOkqn-CZvQmo3tx65uY?+URLa!Oh$h$tnB8F*YU{j~lPp;I**)SQz4$c8U6d5AxGgh=+k?! zBh`@|*hRu%;FbfiU6-nW)l7ZCFeLcG+ptev(!urtpcx{x_Oihjgw)|8(uLfFX%PSy zB|j`{MDK%9f-BtnVn(amu17rE5@k{Jtn%5B()D4%Wx3L|YZ!5^DXsKg_)PYYj|lu= z9~82I;79pa%8-+6E25+p#_;u}_rk0KI0=lBa_4KN0qAiBYmV3riBJ1G1uY5)SG<9H?a#DIShnH)@;i%S6U8J zm{&Tugfnz=7j0VpmT{AznRW5+5!uRD7BY?h}|>fmJU}23^Ul* z=we0&ILV6)_ffpWguxNjls-MU(P<8)FfGlS+A%412AUxVZ~L-$+=~nWvRW45A*jUb>Js$f2tlv zmcrv}4IGezMMshnh@tF_4XC2(qnAC?617r^@##s&D>~hWK_R;mp+~IjS9j#Ho!Qg5 zIIe*!sv(tm1+a6a>r%n%<7~=IFg+Ys5NovCZAkJjczexU^a4kuA1|U{=UgOpQN=5a z4%pV$z|wjdZQtsg{S(e>;L0#4X=6@#%t>ZsPHaL+3?X=4C%Gm&I^AACs^s@cZg{A9 zg%1?B=_KP48T01)?GZPRcH?;n|!Ny2| z4V=EC!^{K&rUbYo455D@OLz}j$q#JT7W6^OL$;`PMrG8*FbYtOG6_N>as~zW%ak@F zT4OgHqxc9g>K!vZweiQtLr0`?b%Z=gB4} z=Z>yOK@?{KfbGpkF90gQ%NHD0bY&n78t}2yDgi9o`^spzw^n#i(YXU)g`4bc{bB~h zA{haSde|vmf4cFa$2>je{WzbQFzf+E>V#~B=8vrZtcbF@eZDMtc+LTD4VDSXZgbF` z?~qwg@d82`DrHeL>_K1Xj_K#TP3Z#WxU8ermJ$zDJ?Eqk9k%J8W5&ViLX zl(h$0eC9CegR;PrnzY_N3KHGLb;G_v3rl69+BZ&10pTT#!Mi91Hbdh3fLE+Wj9X3cB8iX}Nfd;J_c z=ZS(?8doT$_=$0!IuF^C;128iC4C36Gz8I@EZGZ`o~pZOqcN`-2=XlX5t@*+WW?!k zW^uklPyx9{wop*L(oeyY;12BjWz4OSAS~74MVAmpdr&J8swtFIBvQXM0JDK*=I3|( zwR82DLqETQo&@IyzTxk|h;~i{bFUz2icT|LIu!5?wylIe-%}&dEG3BnA6{TYUHW5D zUKl1id=e!>#9H-bO_S7}B&ocN4|oHPK&QjZAw|3a@*F&0rw(Mas@SLE=SM!l%Y&wM zfbNuM(fcWb>l|GId7!R!nE3^+HeJ0BaW1J|NVtnWYc;c~^gQI~A2zI48+q9$$S+|Xhs__H1z=$^H&{Qy^1c`G^ z=B;94bdQ*GMYgul6_YPs>k{x=ep^^2PgC|aRj*j9;3iqTEaCN#hljkY-koHutfj%5 z2!nTI<3<6{sSBBV zByiI@$I}DernTcV${<^6I0Ss2f{Tk5_bzg^CHFx&$|!@b7V05>O!#+=k_S61IGIxOV@9k2 z%Q2<`4YDsn6WAUg0CdL;!>dG+@sMAG%KITx!@Y*HJ1!vKx0Yx!q*-Y%dD`1`bbgFE zcvp#G1A79Q4iGaUX6t{s_7CFaC5c%^h8s7Agu!A2hX$23`y4+5l-ArMFl?Rz16Y?j zP~>UzlYf?yC%#=u=eG|Uk3$)-*joxtF+JTNnWV5>!}qVdu8`v2mDH2 zbwDGrhGNC+nQs@<`E|_HG6B9;kPp+Htf_6V`(kDb9K=ITXw9!B!@wty$1DU_U9L8u zOVetjlIOl%PREY-_mXHTSF^+c0*7K;kXl#=*jWMg50<~YAFW9a4;i@t$?xXO`JOm2 z01M4!NZ=Ml=$B6?3VQ|VBpLjBc|Ya)>mhsY+XZ!GGkPd6u#Dnmm$WlZPgPGD*7DE^ zM}(iC?bBf6Bc(*U&XK!+J!Yo69kY380Bqn zv)`_$(~gTY(#RqG$ur&3ElUN*_VL)j588)M$}Y7&fGUtk!otZY3yp}4 z+MtXZXdG`OzjZP^{q1v%c2rLJDP+D|Q$`KF`%pk*X4t%7W*Oh#H3t3@QSpV~l_%zJ zS3^WLgtscN6-%f%&fp^%7NOH8i79#d+ZWlt4B4JeL(m^DGb{*h=8mMR@O~J%4asi- zkFbZ#TG}5nny{P;Mt2Nk{3fxFEX5VE=f7Q2=eH3jHtZUbV%%Hrm2jv493tN30INM> zj5X5-?hFCV*f0C7R{~^u>1|*31h~(N`YB`o7_mJEeQ4~PhL)A~lA_#a7Y7c`tRL=y zz>uallBP+pGcFeR#>~R_`If9Kxezjw&p7Kk70hA0D$1V!dik3R18MJw*R#ZhxpJkt zjDd8;R~+RA&0Pknd?|xP~FyaSTeK3&K+2#D0kl%_+}z0fl^*w zPnju}Ra*;L%S?C@a);^{iocT#a8|jTJ^Af&Ism7>KV%$aa51pYIb{JReDz>opkf@7 zo6xOnN13Jvcox!_ZgWb07LRovRjyc#k=uDVbe$ThGnKw<)ui=uIASBZ}{N)~a;YJ7KeLtA|?h;a+D2e@dWqFv!#K-D1RIExlo z)eiRd$V2wrw@c}?aa>5j7-mCJ?Zt!UCN>m4wHkw?VqUuQqv|Dc zD?H04=e&2w_AoNeP^f&2rGRH2#y0_fv5u_CU#m(c<;UnQqRN$V^|AEhUBVh0@`-I8drZDe zneKp$R6P0ZQaWVJ!%0RW0I7eKtRc3YaJ;t6n9(h;2C zd(dn&55*jqCwz}dB~?>7n0NNJvp&S~;9*aQ5o1F5nKk-YLZ2OlK^u`fHDSGER98FT!0JlJIrKizRL%$Jp2R>Nq>PQnXv%hVQ+3^Q$ zpCF3qJ{`BZ<5eS7PlY>`M;;N!ppOq40ek@0Bw$zbpBRNvfFNvGSYY1;KaW4L4PZ9w zL8Ir*&Ra*?{jLZa`<;uc+h47mm=bdt{;ts`b8H;0520~f<||urLss<_QAM@N~)d>_YM4S z&EJ`qGVVuXd<7k+k$uu(kUSe4X(DHz^-s~8Z8#AO@yB^|_u(i9n$pl8`IB2@4BrXkl#=4k2xe^L=M(Q9geEx&@-+Q zyj7Do5D3ye?-Gm)VI`3%SHun`;D@{vj9gb0nUE#>!W}=>H8(xt^yi2%xUjN&2%Kn- z1RVu1%~l(*lE)**FN`673nooza|xkB?Suxn)1&dW=(TJcHn<;>+{ob zR(@5_l6|p|_hvAjE)4br-1pC1%u|=@;mee-ScX$N)MAu(ATZULm6cvsP`bt|1*QL@xMy zBcA+NQ1J`Pz+6LG583+Nxuz}|-hU_yYKyK{d9naKYP}FHQD83zbsc67*djE#c&3M3J>)I@A^iT=T~$W0^!9rJs5uLJ1}vApT-bP^H|;<_=XALNq`fmx=6&Q?u+v&G zd-~fkXjn1-eP#3%8gM=IRN+oyNkXNDr{dkcBJ60T8~VI2$z504TPnfO*_u1CT4{aB z(^HoQJ7Q1S%`@N*LX+Y1XLLWEjf5=K7PI{hl=^m1y3Dh4ee@^Rh*T~b6zV)?+)AY4 zrLzIvAWP8!v<@pK&*p>5e8ucJFzy4K|Z}`^PnG`<06$qM)3J!_bj-B=UP8VM*Vy^ zdfL9?L|mMkCV(5fi0>%@x+2w@6jYWm1+fcY|X)NS|DaIgB* zJqzy49uy@0K4w^4AMJ@a9T>YH5LME{twO_77D850$Luk~YwpXSP?X-VV#eX7J4^cs z?Q$6yRyf;p9{-^|L2P7;S=NFP@P@sPcvI8|c9jJRg=wxXOF1DjWj3MDov>n_R&CfX z={(_zx_fy0nJbCb(jG|#xV(m`2g#L~g3Iy^um9*5=3vMb(weO)up}uSSyP7IxX!hw-hkb64QXjqR$bz8qC|HgJEc2A#w+-^ z52S*ZRHf#?bAcXQ1!nA8V(0OG!iz}y5r_venaJ9rEPgO>f}buZ{kzr|o|ax8X8Q`6o4NEI3(Cegq5ZkI`w@d$57{%|t|nIh%gi}_ zn>k0aHfAFvIZC?x*c3BQ2T~rFoEX1r0NC?1eh}ieuwEOBY+gHvJP+9u;4UZDP8eYX z5aK~(4#Pi5VkF?b@<47@q9-0D^zGaqx|GQ-sL0TW8Q795MMvWbJA&(LV(Ej`VfJZK z!_~l>K$n3TJ9!a%yFUA z)=koU_2qSo!}M}4Ree{6k03m=_iyRP#6e&vf zES?;I5Wol?(c$j)-pJZYe$YeX&UZOiQE#xe1)Y+yV8Vg3KgJ$1pWUU@sfS;1w)2oZ z`F+qW=V`l*;{mf0FeHs}MUz@^!QLooVVRN+M#l+uYST1Dxww&Ca2}zXkN{h9WOJcA zL6*XAGYTgmo2^ad0{uo^bQu`?&9_3I75Qh#KNtEb?ggk_hqxuv5_LVh`p~7MDMe1N z@Oe2#A9n}*rB+4HX1?kP*%9Jn^}dzkv;cIj1Y_6KHk`vA`LCmfB>GtyH8tBnkL+bH z;ptDGM96?nx~^v41{?*Q_73(3C?-MM`;6n3m-@UsF7BUP31;lV4uIhQI%Y&A_m~p{ z0@P_s)mg8Wl2d!0v>M^dH0KWu4CEQywNP3#_|u3-?zgVeK({3e4M0hqlc3 z0}b;6QF$coD&kIfJ&^)2Rz-!Vj^Z8)y)qiLUj;<`gpqyMM%J1LK1|oawUJRRO{%i_ zF;>J`>ts>TDhk==qa*n|t+U}NFzzc1!3`h+ z@e=NUbYB}0wt>6|o47;@nP$eWAwL2#ILd@f%?wjiKmNfHbuE~YKgKZOwN5{u_>VwjFN_J4IVF0w{6ir`ci5?z_U;Xu2H8a%=UNlVaYr zRqAmQ_+!lTGv z;}EZpqz5ze4sZs~`S&riyL^7-%UaJ1*m~DFj7V&}XLR(0U7J7@{Cure0bggwWYabR zy`zG$UmAAD`oc+5pH?~tkUweeHTHGhl;MwHlb#wvHpv-y3~;e`aPTgare%Fsmb zBpX#$RHKR$L6WRjE=!KdmFYd?>LJ&E7_yum(R3)($=M3$TSG%+y8w-10G4qwd~UEb z)jI(`?IOd&LLklfZGy64UQfAs$a~-VyBWD1WGs%VR;10Uv{&UEL4S74srX&$+N)XT zkXR9U$W(|$E{kYYi; z_vLl%N+odKE%!ij+`O%Z0eK^@Gx~w8Xf+o+HPcl-VS<8(if$bu-AegMZzKxqGk04WaDQbX# zgSqj}fp#GX4Kr953J^m}3@^r~sSEf5nib>(5EO;w64@Sd^pN*A&^pmW$UdwvR(uBWUCM3F6A;C$4)IEBMlMr9`@0(_muZG|oUE_bGSEI) zUsGvSAwu=uyq*Rz1%kSLN8EIUPbg83*{+}tu^c&eC~Wq9D)0f>$V>#G?vk!?j$mNo zRNxB2D9j*4-=6d%={{zeIjz|dri$G|&K~j(EcxBe6$C508d?jAP{lcvw&2Apv=OSb5);~?@j{tiKcDt2RFB!y z;0K%0ikScKoZHx+^T2NkVU2>q4YZ(24}F{!vtlVmnBi4qA1momL`7Jn&hApC4WuC=Xx93R)L&n3AuJ0{2l@k5 z(*N2IvMqKb7npoGBwISL?*0l(GWLPv$-xuhU*PBl+LCOm?P`UQvT7t=vmhdN0Jz2B z2)O9dTHC=@X%pTD8gdg7Nixr>OPDt~qklE9gBnbSgCE%1l7OVS@#LMOC&GV`*_2fmHB^D07oVC++AYd&o+JHS7!SdJqhXc(Pq~ z2w+;HqA2kcYIu~aEvxZfrm6mw9A8*I6=+}iAts!lf-x4VSfBW^Sl+SA1{aeuS?49u zws_1>x`)S{Jm&o!{M~}v@}DRxFg>tboZ$u%OebM>2q@im#dZlLcEx@_yJ)j^#a63W zv*Sk814L9@F)I_+kG*R@>5N%{X0ccrqrbB{VMd|6c%7h?;_~7?b@*CcELb~4CWJ@s zcMykGh&38JYQ2`REUfYr<>%l}%s4I6ZR04qc=H%l`Fbr&9EMhLkNGr@VIpy9Dxv?W z7*g<@@p=Gjjh<*1 z7R_-TXQe^7)z6SmYZUlo7(r=hG4OO2Ny&;OULvld9^_LO)sNzqkYK>(I&O*t?zJO` zYrxckQgrYdSWOTX#FD`RlBSq6T>R2}`2o$&Qiqvn%ls*1u1h56_pj3Vqi8$0TcwMm zX^yp9ETdt-;sSCreq`)`TPgo|(bw!7Ktk}X)JwIQJzKm0@F*|jE33AEpDuZI@ zNDkct028rKWCYJ~rWVUCsDZt-Bst%6f`P_mqv_~j0RWL`PK!VF+Hgm$%ex$y71pCX zN}dCEjhKFdJ|q?#zy?+?hv=K;`)>RJn@&7dPX3UWVseTM7=w4v*6LdSk3J-07T2g? zY=@MjuTkJ@HpIqIWEX7oUMtt zR8z1Pw63H*3}vRI-tCvL;-sfFspD51K6i_S`VAvX^>|1o4lJ3wkiuBuGGW)FgE00A4jWH@wLu33_Zf&bMjCRrfl z-yt(?nX;p9Q>L7mj4`D+?k}2MfM_E?mE?|pxvDav^n4H*hYa)K68%B{ zkvN!Apxqr9je z`7dLxR_t&_6Z61S^KG*S2sGn_MYAi~n(|GSP$NIT)46n)R1DvyqzXAJ0e(oZ{ve>h zuu58~6c=!~Vdrz2?NVj;C_KLFR9M-JY9gLqpzxnW1AGjnX4zC7xehtY(B*@(#?Ih> ztY|9Pm7D4DyHmKcWMbxr1naNWyQ~iY`&By&dzh3r{+6H2fyvTGCI==MLGkKwLkxTk zhG<20C;IufhDnxC%=|D||8>y3J;Uyz!Yr<8$o`%Y@bqEfRW=VxC#|!rjSEj%*dP~~ zMDW3ug^j@uyR4wI2R;93&?E8@5w?Sho4{rnEP%GdQxiP$5*J$UU?q;Xq z8jIlnP(}%*!jZ2>`^ZB)FyV_f!MGM9qTXJ#`oB(H>>M#U0Bv9O^$un zLJluSz{qIB(v((K`g6NIXKBXF57B9*pX1?RY$#($W+6=8d$1{u#FCM<`ke7 z3f$64`a7@C#EFf`1AN_fY>kua6|TuA>iYPIa5NMbnzYV%%@U27AF9*8jTzbL4l+vc zaq7<-w}C2>sJj5CUN%1Vxx^)B@;WDsVdt#IYFPHF2z{yw!;$T7 ztgwjdMN{7{cpB4C_F(?U6=TvDUMQLjsT099pH}k)X7t>_TBYYBul-|2M zf@l>HKw?bi*tCoT1p0>F2_n@Jx&@qYB%s#TkH7uka`6n9=QCgotv@6FkvD??)OL&$ z_Q@3o=#K7*)f2Z$g(%SCu}m-b!89gh>3kZ;+7AF1f)E+Gx~+Bb=CybNdO(l-scses#Q*^sEzx?ZeYzpXr73#ZWuwOPtx8IK!?C14;Y09pyDx zh|FumRkykLs)bx&xXxPecHsV|bK3Ri}p1MO(ejDE&mtBR*grswchC_S@pPix=sZxtjh5$FHe+0nv-W z&V%AniMjyhwA{<1tfJAr6Sa)vD?-_+`a_mM{D^4{TPDd|(!v!Pz4ha7SEpP(>5VOk z^wT^M4)Q_W4bpPP%Lh1tvohHqN%)ZwaA8`+S;f-dg{Pw7!4(E-Z{pFJl4G zpZ%)1>*VTbZ)|A~4)wQ39O19rt81T)@rY@C(a8sy!^FtyA*)O=#EQ&ck*|4QZk5$0 z^U?s6PL&WsUPx6gv^b?EqMO)SfnIZXMwH%|N984zdkU$Z_2!oK ztoi-E0;J2kfThBM6Yo?=2mAQ}z9@C$lshi)Ik3wX1)~i6NZ;36Lm?4Q9GQwNI5v_A zEN%EHye$l`CUU-=e$u-tmd|U+Q$6X;v|kpdJpBXEA*Summ)LHW&#e~~AAt(~VKpla zH=346S^ht8P#N-jaX54m~Ln|VJM|ADI==J;6uA+^OOho&lWknf`$ zh4Hbxj(TMfYzK`8K<{Z)YE*WD?OJFVQ_GiC`aWhsl!=pkE$W%YAi1)MuQTgd3xTxE@M zC!g4=;F>4CS^xZ)F%PCPE1<2JJa(7tz402T=4 zO0Wy>!(64dIg(w)AzH|GMW9p15CHw=@leS|+W|Bb!!3LL54j)kiQH@#6G5SZ8=6!~C0&vu4X}p&L_)Uv+fK24=IGtYR_`6M957fF zvy}0WU~noT7RpKmQiu&IQMmnHHv zByL|=VnYsznOOj6qMJgMq`eMwh>4+lP+0+PS+(v>A0Z=h6qd;$82gp4B?~h*RkUjV z$4P2)CYP!5{}fss1$qBCZ88gGQBZQa`{pK6ijFOwP>Ya8?$WhGHvfL|P zKE#&q;BSmoVz60T*-xr4bJIn$r#ug&T>NeeJ1Eyz(L;%Bc}@v_cx0 zD39T(_NXyrPRBSjx^Gq#I2Yqe|3O-&excN8zd4X;KNv{NuNz}}$R9mlJa8fKJW_=? zfE&V+EUGaQ_ZE=K&Yi0CrwoHQEXv~jK}O0r{DOw)1@&Ep%w+Ui&qq06&#ji%Kft}f zZwyJo%uN`rIydJKGRuUw&80o%=4BBL7#1b=E?1TJ6((4gwo0$CH6AM2_{JgHZZBe8 zA!nBQz=^qoke#dYQ|pp%Ue25qgD9`$qzE%NU9|condZ-k?Imp&>$ti8B&lCP1qB#f z!J0`!BVu^eCB}(f8;TC^KGnW6eE2CT#X9|7rg*UnTdyCkR-rhrr;FC+(>c6F*Sb=I zFmsbdlQ!<*UWSr$-SQJwsZ}pBAU8$f@LZxE+X3Lnkc;4Vg@?QfP8^7y)GDC;|KgCl z1oA4bDO}~LOSg;P(8V;*uM9eu6|>Ucrf^ih$|+>9>lYfYSmePevm~Lqfo&->cXrQY zKM>ef_5dU+y0!0wZFd}IhWKRLSz;7tzdnrPJ+d!r{W?+tD~~_yPqPGJ=B93Bcihp< z{)f_&RmS^&XstzFv}O?Z3V_QGP7j7S86^gWSmF=kHw;J0^L3Vs5u*~k8$XpbJmBg9 z?`7Q4Xeekf0^h~|!|S5dpge?vnf)BGw3#|fM9^9!kQ{dz7pqcBrJvKC+-kGGOEU68 zVp>j|L~O6v;1}`rRMghOBW@n?evVIek&${q zVj4qj3<6ZIp0z)nWg2PP-qMH4G)>EpEVf(>Eo6{}s9W}hiF2FpFZ(MD70MD(eAqAM z?wK#{Ra`o`vtX4iZVS#2D0<4)%T+sj(M1*Y>P7JMR&WfA;<>T%ok#cugksR0SUl#4 z=G6iPvzWDbh?y@h(OV{4!1O(4Pkm2iqpH=-p^Z9`d?=Rf&WaTPDkNmGb*UGoEf^d! zJF!maovj-gGFAyX33pb3#K9qpUdsw8nk{5}5AEA5@`FnrDdgd)FU~(6W-{z?h=Io~ zgIH8NB;htF?>o%IB0I0U@e5kC(&Yih1$Krok{t|=uHSIND}GT{*j2rpau=#$MeLa` zZB-n~Plq&uZ4c;gE6$k=TLROBmdT`8NYM0!Z=VQ6Har$oLR*%4KV)29r4ln-_)!}a zq_o1)17dG)?Kq4T02<%brStI2m-Z^Io?I@i5VqHkyOxd66w;k@5hTry-|CQIgng#g zVPIaOnp9#{?~({_?GAgV<4g=vj$0*vTj>bmYOQMhj)xka_|iVaIO5xBeJ>_G=m(>8 zU5C%X#ZU$m&R$nX`QmEAl*8W8QSXSs$k~Zx3^w?T{)f_jMU$wm&7?G1DyA4rtFUh1 zt7{JG5qsuK`5#6s{X~uhP($=dZaHkshcY5B0pVMZ*xu1^c1}c0TNBrO#2pSjVo!Z( zOMUTVX2Iy;bSp=RHfK>(YI7Z!3!_39Nmg~Fey^ao84*X3F9&P02;>Br-?k0Bzksp_ zT7(s`mcn6}2Uw-oH4ZGD5-hd+nxf<)}P8@uiQ%ce*a@w{C~T zXJ>X@6*QnKmF;H@w0Gzr&OfT z0}h+sFti}Km(~>mwjD93B(-|TI3rQE@MB&8C_?Vb>_C4c9OWT<=F5BLJFO;vJQ!?S ztY&E3S{h);n9#DoKvX)*h~$040iFfvX&0OO*MmIMWxZzJDkJ0yik40AW$N0Tc*LIg z^1iY@4ZZD~Q@iHX^i@IDi5NMlhBE`)3ys3MxtjRsHJY6tDfb!)?K6dB6!Ss9ZUu9g8Wl2=z#> z538P($ZiqQU_M*|26)XFM#s3*ah3kXc$%F>&I`hIuSbx6sUiQ%i!FOV@O7&^pA?q8 zCVkC1QGTiVuYVOX(hGFYUH+9>E4g>|W@QOAJ#??J06DmnC&toxzq0NE$wO93Lq|M8 zsB&Lt#E%qk|98jO%72+CA|Q*c&`2++NR*WUIunt?Sv4|4?tpHV7x1q+09OsRZ*d9F zId;oK9v<@ecOhH*-L6WSz|;_r#rb~s8n+-8j)_8pv^*cf3<-aYGV?BCzy zU_9hW$Yq~&j+6GT?wj&W5Qv!=Dk-oLrEL2}^KEsI1p&sMFW=|F{#logCrofL1_bfq z>HBOCf7&__;GXJp*UKlxE}e^_&eKZQ?cMv!2{=>|sJ#Wd9W3k~SdjwQ0~7@0VV`qa zlDPPl{k8z$l{GZ9kE-RdxJQ@+uZW{Zyca{^kU?-kvl4LqWxx6mElT<)42@;?A*=|? zz?qmj+ZzI0=lzTssR-_XtQ#h+GD5~PsQEIT+TM~8qIzu1^7^v2SUv>cI1q8(Yvf~= z{%M!`4Ox~jLziY*lX!;p9(Q3;HDQiDBP;(U%oB{`rdJTyQ2>oVa=-6T;pnt6>&R;| zd+X&F7_F6=+&@gyRsvxj20FZ98x?LbE}6_?SvDeXrrtdqA+El9=hxg~$gtspbLSx= z)>J%X<-Pi`WoW0x2o68|+JNn)@Vi#2poItNdwk3~O9D8RuPiuT+6 z2-+HWfzD8)t&$TWv6eMFX6=QW6>ucY3n-3$m3!7%f-+zIXi>*e;UDfE>LXofZjwGX zhTRPSeJ75@MSu|mTrM$6ySn`J-b}_N6Nb|}qB-KZvn8DLfW^a{$?B?gapI~YIoPd~hX9r=_7F%g`j(qDn(-jJQa zKQ!M0$ALwpb@>H=NerujqD5@ZZ9%OZOo+XIRyW}a;wx)Z-Mv_5!4XxuZXy5Oc0{7g z41<7h({Ich|AaQHMaj;szcxBeopp1m%$GBd-5kgyA9Qz1R071VcAIt{CikctSzf~j zHqkcPG2_Ze;0+2OEZ#Vh3C7^0k|{ZqRGxEtOp&SN;iT!7%cQ&U&8q^Q42G637X@5g zX7`Ad|JshM{!5TcWP}#QAh!&F(bzrLVunzf^cQ6KOE_!a`qdLCjhw=XsqSa zL;ynGrL+*bJnZorXx*OEO(+yk7)^@}Sf{Sqrn$um1un(bNOp?=3yV?Z5z@>nvJiNn0 z5y|Rh`-KL4hvHf~YzT`xrlG$VQH%IMKaB&H!Coa&1Y#qABq+O;N?4g$u7(UE2}1r& z-c#yNc0CA|z8^D7k%;&_P#zaML%bW4KYyUN014D6dyTvAp_c5p2d(_q`*xc1nI|v+ z=~;l_t+4x3hQ9RrW^_bApG!C_Ly5FzRRniD6K-*1s@4SO81NYzoYj=1MGuEpU`8OJ>PzV{^^bZkW>9W_&BmYVUFWp#LSpGL#j^(o@*mIG<^J>oNeq|%w?2$Q}RS;fR5DkSS(=6?43+z5<_ zH7}#ACOo?MBPhX^;)HM-mnL!pqAAQE7B1&5i&FN8x3b7i;mH{p3c8a^nPhOfmRbtn z+9 zD+}3P&}+?Oo)FKHl>I)S_vmXLiqFBc&&9_k6RntCmJJPnDu01cv}m_8C{OZ;V0`b7 zMHG#)98S^fmwvmBOm_(mDhXko!HYcmd=rl1a zWY2v&_C6os44FD*0Jq|YfI<%HR~x`%z#z<$1y?5DR2r{L1sxu)N4$_MvJnVg57|yD zLg>42Et-n8TH)^raS_KoVo!ZL^!_g&axXvw*fYaJ9FJ;QhR0S$4!x+&BPL%U2g*-@ zxyW_f<#l`IxgaCp^L^1?l4rghcz>)fkSRMsMj-pyb&N5s$kS9J_P>T%5{k5sAA2a~ zH+IWvN27Uo5?0GzzTj(Mx*LpOu$E#noZ^#!t&p>4zJ2FlkLv`yw;JmLHdYH%?kYhy z7Q0s27Vd_k8H@d!Aaf8iM$gV!BX8~YfYf1>tpml5>Nsov5!7`dIrPkMy^Q!bF?(6S z43K_x^?uoN-@bJ~WbxNS0gA=F!hqxnb^%QQ%>>$b&t5oF75fl*E3BX`tK-J_RHs$Y z3^@8rk?SU@mh9z7Tj@7(!R@gOqm4e0s5GYja0Mu6tFJ)Y?PPUUC1%C zNfgJlr>d8e+*jeM>T#l&2{Hs#T)TSgZCJ0M-b@eK^WPl*FyvrY0QexQlroyRUZUN00Ag8u_(KOV8Cza4v@`#~X}#A_w@SO6#(H)1$Q z)I(l67(J@RMj}FX=%J|WyF;!p6dQA{=C>T$Ux*YiHk|MBM@@-kLU{w|>rrzY4_WE& z1AC8g*5T4X4VQHmAWca2Ma^I4`a{bng0t5kBe4B|b4IOfcgehkUFmeonI zK)W#6Bmm2p*xeDd-G2admMZ0Ky9updLGPVZIF%W?n@4?hAjrRpd}aj#atqlWQ3@V3 zKddw5YAF7UaqId+*UnJpGCCy8@~3qr2&Y46)9oNY#Mh8^Irpd!xnQNODRb@~^PU0c z$%^2oTcfoP&y~orNB0cSEQ0CzUh=??q_0ESJ&;kN>JWFm)VEyFE!g-KNNr!T(Fx0w zb=3_I`XdP*f=;r`o`EehK9}-OQI;6AMxDWtkk^7?c-p~v__x;&nV{B zrCGX^{U?KGk2!kGyL<;l>nUc8Ks=eUBMTMB5kb9<$7E7doHTu&n2tJm$R%%!l0l<8&atu=49G_AxP@WwX>Z4XSs4 z!hq3A2n=(JyV8*bVa+Xp1Am;ngJnw8W_jP@=K4As*+bsaU_OqTp$ws-jJk&XoiwKg z1%x@`E=}}Bl^gZSa$aOU#p?J`*73ba9g%WWFbCa@ZT;Q~txfbEu>A!tudu{M^f#~+ z4|#6`VXS=*+42|MPMIn3x-@xfP}f)b4pQS3T*po!_%RU2kw)cV49ToJ1DB&m@Q{O+ zi)~rCS((fQ+@08)zI$sx+$Q9>w}I_YiCTnHB3qz_U=$7kb~3LN#%KXNxJ1ycu1rYC z2Z#dp(C*nBi)?-kmXdM0jUIlU7uipDhTYLzCISFjuie+V=)i%zqAQ*R<1faE=$anJ zwh>sh>WYs4j;^^3sm0Q`ydJG4xfeY}=q5EOT}-1!!z#fa*JnrY4$&>kIT_W5C8mmi zglh}}nNrAm4h%<$qIAag$!&`Y#3iY?HgTpzUKoatI79E(4ra88-VB?I|}q;`T;+LB|WYs?h4` zZ^ysnlUL!7PZ{x?_kZF_C5dq@m3`$5l=~^We=oIZmn*Ww6Dlcc;n&^Bxq^L87xuaO zGIFSEI#)gW?bMy~d;py?nRix5!uI*#G|GGc0u00XEJs@V2moS?Y*suhJ=AU|v%ESoi{`KRS?>cWCbs$eM6gFXQE0TiEo zB-#M73dT31#;rGrvW&!8$|=JSi*GiEguHWie$bA~hmm=ZV+_(+m1Uiv87Xpt;GuQl zx#t6PP4_F{Cg^L$%sy^@BidGp{#;=j!g%#rJ^iJR9`Jmak5@*-wd(z!*J?@=0FX{- zf8Se6`MQa0MBh<7gl>xafT`i zWG#8+;ed$~7Em3Gyzvo!sJuu-1#~6T7!MhCDcS>k!wgE>{{1S4Y|Gf?QwkB=E`_|O zzhjY6>p5eSTj^Pf^%OE_npLiP6jw4I4lV4>O*V3l3Kc`e{qZ%V|2?j|k+ zkVf6L9BJuUm-D>bvG0U!G^gCpGwH%o$ zIKlXm{S{4#PYgixEN7U~Jp1kJ9VFa-KN>(8{QbxGf6^qbNGUNks`F7}P~9;ypzaZ| z1a(!ipTj>z78YjC4liiab;mJDSXdHT@X9W1d&;RE1mx`I%rHF~vsFY_m{4;EWKrF# zgtV3YP;5scsG*_4h-%)}FpM%$YeyKftcF!^x48^>#GUcxk8zT$wE4rw>RSEY)Ma5J}nm<8Ajon(%w~mwV3R% zWaJ#C1~9B1E*!JJ$cMkG575qJl6S1_IdY+2vUQXQmI+hi!Nh@ zV9MQG8uGpnXW@@C!GGV)xUkx_+#J5;uz@a>^Rn)TAp9ksPI@i+s`J@)tdPlocCLPL zHz&y;kM$P{zlZ{JS*!-cFU$qfZFGw@*r}^(zmkj|tT)vthK8f|<>tsM%vtNXY((Y*A z1fobkmj;k_`FXMlY!v#7WiX^Cx}Ne>$o*pidOFNF#Gy{J{<0fAs{)nLa;C{dB}F-q z6-xrvn*aI-4NT4WKYTuphY%|<9=Nubh+6<=7_6f4hk1!EW85$>bCYvPcx}}n8l^=j>8$se z+M^CtxwKc``gjGq(qP}~X4bujpzWJblI6_Yr*ioVY-?Z6D6)g?6TdRDS_hii0dH6~ zoVRC!UCL>y2*?8K%K6rE`GwGc0${c&wQ8%0VDyZoR~qnM@HE(y2fd$;zw1wk8LVez zassUG(FWQjY$wLbVEGz)gVN-k=gqb?Gw8p0gVHg)%&T;kPnpN8G}w2FWjT{KP6?g5 zo`H5>JaQg%>Z0!PL8CKn~7N#)4+yyl~WFU+D_%-GMM|H%h5%EVw94V{UJBZF4*I&Y$dLc`w z{jNMe#6GE)ESc8sE2@Sj=sL~KWB!*ojmQoIE|s0fM#*tcyCUd76cGjpTK9)(_DC;C zH~g42?-aCTSWP#^6Cmm#cMo~L>W%|CR64I=l?C40O@0V+uMFTnE!{RzL4BxUzcIQK zYU-d&zK_NLwTuQHRfTJ+B9_Q5eE3!e$v+Uc>{hy<`+EHLsioC!cV)p3U2dEr5A{)o z<u`KApoa`vX3az;$l=> zUeyMqp*2Jurk}c3`%OMHO3`s)7mEig zgrjt8B-(3YjUYf&7;|0KJ`@`;f_`VPwxDPW0vTZ3{_Ub0$z%S&DgGU_a!O6SumrMu zIoF$U50#KuQ2?{ zP`2UQxho7P9XnpGp9*z}Ei5-PrV?XGe^?7;>BmEE9`aVs0hm68oTan16n7~Y1UjmS zN3vRwOEhPh#|%}%PCGUAxcd`!vW(*_)lBz&$Hb=ybiHT=tmP-BFqlPz1>L7nT@Hn1 zbPu`yF=UOfu14{Q$~HiIB@>|%*p$#jxtSDV{y=Nl>_mJ~?s2n>(_524Q}_JGM}`ut zBQezNRd*T-)=Va!&sh4Zi@Z37hrG>>>Ul#|juUcw>Oj3GZd4k7 zGVM^-y>9=5y3pgX$z@DeS;a<1wcN~LeS8iIXld!FlrcTv{^ytPhk)_0VHQVnz@!C< zL=ZRRU1|?YtPdk(?Io?4ro?N@e_%2ovRXtxf7KYB8?}gQ%+HB3NA+VdJ^Ae|U_CMZ zMmzc-H|yo`2IM_1TD96udNGJ)?oF0`pa$G{fX$TkZwn+0ghU8$g@!K)+6@Z_knjmiq-tEH_5Q}bC;G+)j=NAzgFfVLxUQ6xp(kj4JJ>FVbOGhY*c<& zw)?%{YG{OPJ%R+p{MlnDv>vjjz8&x0T09hT5b-aNe)4X}xQ{z?5p-5WznC$A>SZL8 zc#hmw)9#bkeu|q9kpa6}?CVp8Ovng>{qJL&8UcW}`rO_Kf6QR`U689x&wcaHxv!tD zYPp$l`QYX^k!W|J536QmOwyHJ?+PQsSRf}PyjC2dPZtwkk5j;j&Qk{Th8Ki>kV{~D z#Gd-*N9sEP=eSByoUo@Fg}@uau3C~4#}nXsa>1I+>Qvtxv_sAhc`FbKc2E#%D%pv{ zR&iLtmORJ3E@hPUkbBDui;XG7>tJ~5n;)s~$n~-(aLJ4rw|C3gTC5VXWHRj}fT#PC zPMbGAf(Z9=TM$4yOoDhOP&W90ni=3x)km=tvT8R<6&!VfdjJYt%JMe|aj*)+T;=OEoxA#S^u`Im zN-O-*_49pZ?lF7n+k28@T^x^N(eUW3_=}hs?#|94L;F8F;_t_t7cP^uJyV%+$8S>ef-Vwr`{Ub3y{Z6#VMrW!XxGE6&8`T0ZP=Zu^G5HP z23jN7l@i%R=qZB`)>eEm>Of65MQm-uh4{20zIppKc=nrn_QS#HTf~UaTu}5Frf`~B zgOh_r0N_n$rNYS&5h;kH!8wTc)+C{~(Z!phYIndpX_aKe&u?OX51tP|!3)G1KR%MW zorzR~=f55BevBCgD;o%`up?_U%$7h_^K`korc~uA@FNZxO$IO!JNmm@wTlL8cu+IR z%ObSf@Mmtzot_IFlnaZAfVROmN^6x248QYs&CP=(-cLgT`%ZRiy#A=lm@*Y$byia1 zPQ0(VDZAzj{L39RfMp_m=VSX05uqq#yDR`%tty(mnpgN$GB6hMp8kNb{5E7VNPYil zYhc?@^TAG?hNVA1FnZr=fr8Qdin%voAoTMyJ-JQ>L+cA)*~iyC=HfB$qeQz^4wX?j zKW4j=_jVNs==#VrHIcXZj0 zEp*y@p=&X3b+Nq(;H31-r|DSE2JCF8BP`!*?L>A*0h+71Rtmd}ta$#oFvQ~2sp5N>l* z4SW6Vl>yj39lB%R=W5cx%0Q-a?C;iueJ5OZZBDvNNb7lmjML*}VgT4SYoSo`GV{hD zBKVylAsCB!Kg_3DK4+P^xc$omCx-$DRPP@PL_pVA$1Ht3>4LEBaJA1H(%c}~CoQ@` z%FFtA;&)fq40Qn%scQMnHv`$?A$tb=z*Jfzbht8_N=rO+SP0v5LTDG{YLmKbbHUaC zj-P=xUS3#dGbFvSJILm-;DqulObNuU$zaYsDttFt_^5%Je9WFbW>0}Trn3DP@2>p$ z6%voQCd@zOU-P)5z%rLCl!C;%s)4LZ_!v_O&c$OcvgXdlcqUsBi2+an7 zFd$dP;{M~2cW5hQPk=k75?%Q3A!ElyZ)edki{m#JuMQ90f*Z_O;|!=}m@+gFN7yPn zM)}O)SaHH*6blIsZ?}Y*+ftm6*5?;9V8FejE(e9oB*a7Z{I_E&k99u6E+>VOgd1K! zFanZa(9Jw9EuJF6MtDTs_^2vwpw&wPEqlmFUn7ykk3k_aMy?DxY=ky_lnBAcdD=C4 z{@XE?_9_3K2?#iAFO6uY2Ja0>TW*JW z%e53=@D>2^^W6guJSa8v$R}p$I1*rOf2Xo ze8|Jj6nE~S>BJDFhnO`?D4Q)WF=H9q+c)jDnmhyUs_5s^sOF$uO zpj}rWC$uF{*s#;}h&=)Bf^$|9o{Hv<$uxw*%s`x>Fw?mT8Ua*c$j$G!4_qQ3V*U^}Y`C~eM0!IBL z2ZI2%J!wS3<;A=@6FUMZ_j3TiLfoARTt;RInGy#%m@F&a7kfvnE@Z7yvb@*NK~(MT_K*Tz%KDa4J}IU z{eP4X@axmY1RQdn95r2at$-dPl~rOeTuJ*p@vqP%3D}Sw=PDXJ;HNtU+La97q);4> z7yb-+tGLQJbb_QtNGE=QlGYExoMB~cNx`HKPC;$$_oWf4=6f{<;I7mWP^Y$+k=5$^ zp6du-Tb^za;~~%5}1HGCaVz9nQ&Gia2(uIA|>_m7Z&uil+;P<;Op&K3`G zDn$POL#WI5(ZKE2&NsFZ$sIy)uuiCmtt!aXt+a$_Rvksgv;=nRR8}d$q_$(DP-Opp zoF`-*1P+t_!cbP4|4iE~Zw(i@QVz7=87FKemv#zZ{k(HvWw3>Zq?HsyTL`457!Y~e zD*hr++UOKda-IG`6S>ZV_9VE&9qJJWljFH=E}$k+?Evv2NtUqWFR@Y45XSc=k;73t+iuuP?VC|1T+MR$Dik3CB>lt!T zeO-3RwS}dmUp!`HHtggst>&dxX))8gT*#LyX5RyO%$^57R`DYoM&u2EVq!+vQRG7g zU9+PIX$@A@ge0QeJ*-bg)md8E89ALhcQd(SrGs~uRuT4=0uKznJps+vt8VCwx-hr_ z1)Zh;?LjLO_Pt3t54@x>{k`D8bu%HCf_b6*>9C+=P!BcAI*mpj{yx#zrZqPi^Jx~^5uL3dUoF3ZM$bOJMMT2tAdaNf zq#O?B`sn^9@z-J~?*mPzlLQv1Z3qbpr-8aIwvENlj2B97U#cstpq-0Ur3jNg1g6`u zvBH>^VH%_W>_O0w_>wg`^8OfdL9wJp3R3<7Fo~9Xtal=;O%@9X`ASmzf6xw)<;}}X zmi2`-kY6xJ?Fr%f>_49id%c3gL(cy&WDqEJ*r2Pz24lx__f-}PZ3*_AjxE6jLzU}7 zL_zC`UwG+_3RQlYFrvk_4u%rphaQuC_6M5UPh$;04_ofG0_bAShV%3Dm?a65K7@CESf3;Z=dHicTkvI|bsNkCAmmP! zb+O~|4cQ0678}p^$v|jQ$Z#AN-2vBLR3t-}sU^@j^c}L5i3)l8Ygs8?J>=*imp_Mm z+)(Jr*^3P;LmTcdAM9g;iZ;GoXVzrjtso;!4uzeBdfexaOWamt+68OVAuEuXp*s@8xoxc@H+i4 zzpVhPBw^AAcjLSYv^NSsp;OD@VMQ&r6BjR<5x6J{bOgGLW;;SGE9?;7A!oUlGS+I@ zYiC4%I);*I5s^BYF_O7OjX$rN&Th`?9JMM%7`E*HaNKManx+77;;rOC7607{a=8sE zO>1gi`VO5zny=MJKrQ082ukCUJX4^~zzk$PWTn5cJ5L=^Qh333)CXIZw{6k-nbHAs z?~cnVD=_Y5c^O&JgW5z1{PW-iJ%aQ!Lj}@q>~~{`am}K zpVD7M&`zH2EESpX`Nbt&whY2rZdsF?1=T)5Mv=~W#|+lankr^-SU-^d7z)5>^P~Y* zNld_s$^pPug=OWyYvC$InDl`LJ##k(oD3NfVnPWb$i0yf`GcF20C);lg7hTH?&v%6 zN!}{cY2vRAqGPyQ?&FVhwI_ruD#X%u za7|wccwk(Tvyz5BQ@Mxi+z@26ONVzcWYA1y z{pn9r)Lb!S09K}D&`J;HbdxGc7z=qzC6M6`_wso_pizl%FOf&95#7Ln9syP6m^0s( z97j?rdC&nDd!w>gb!WXP#cZ)!waC8!n(}k3AhZK~ z!6bN{|1RW?Of2nE0CH`SKUC=pz801??HXw7Ap__D<-m{UCSpE^@@J*XUVJJxZ?BVF zJmRt47ssN=Zm@ja*!F^)1Ba8mBY9o>#_r*iNxyRMvZu+cePv)jIs{{jF~D7_((V- zT2;l5VMPebeKH0}CwYY0JooK00SpGuF+=-|EH}CUQc8Z73`ycG(-aqXor;$zq=^25 zz>W7vzkpyvMzg`r^q2vg=iwxHR3H$rB<6zRcl6fJepqylOzochO8J*D<1rVz%tF!i zz*X#?ask_-<$%~BA$`VPO;Ee(=a~f$F%SB&xQN4?9QXUK-LqfWvfnr->~w%YFiwGl zI+y~m8B{LG*FbNg!fJ#Xa&L$`v-v8Uz~qCB2>k$I;wRwj3kroD4XAng>g^#~yQjah zrN437siDyaWdW{c(S8Rf7m70&BX$Hk+jT+oS)kK~;*oACJCq0E1j4S!mJqi+WR!v@ zBdV|}Hk=}XeaOsq3I9Xx@MO|G{gvH6yBvl8JAk?uabGQQRq<(+bkLC4G8C1ZN_JHH z=phl8zdP)VaORw439ZDe2>dp0J-~9~WV1H{b)T z7R#s19{;7plyXU|9=lu5*K!eE()eI(vP6b35YoeQM9Uk(f&-{l& zHVO$9=>#3+Hia&AfGUf=h=F#Az&uh2iw0(|%7SNf&wn-kF=AXazyBKO9RPprcqdaA zdcv0Db)v3BjP;qYp`wAjwi|E-jIwd^1)zNZQd1*f%YOa4fko|}{c8F}z$d*Ds!99V z_6{eB;*&>sHg?a;Gf^=6@Pz4?76Rg z^nLB5Op*Z0bH5?w1fveZ1M*N@Vr=23`|80(#e4$KGdbGcqEWD=5VE(|faS7>Y&8X1 zflFw@S`yvKV!C1gt&r_f8S73SD?jXgAN2Fjkl7^4NFd=O&rod?w_`yRx68&TNYf8U zA>zOm4&t#4INldrk*09c(AdT1NIp!l{I&qKZG|%-XPU9Tmamqlic8ki;hC@g%gl%L zX=7`n0VftQ?~`m7R>oDcXIUL9VhowVqbf3FOzb|Sc_?s1#wRzl4o`f$4k%^Gsq~!E zY=vP(_b+EWp&WpjB}voBrl$`vq9;P6#bIdgb75bVX&_?l-Hoz>E}`u5OO`$d3L64d zvf7zz9?)oJJY-LNbx(Z9yMA$2Ng>R^(skX)hQN`uUQQ@iuCB z=G(C(_Ie(V2EI;c$P^49X>d@LyC@(chCC`Y6*RIrQ0AGIL|qQI;SKF5;9o}bi-ikJ zht|QN!6?o$T9HUl1+uozGmJLR*Ta)v3wzYZ?vKh`X$`v)D6+ctkUjhD6Y;-&&@4I7 ztFfY^0kZ5jbszC*5{msu)UNfM@rAhHBTqlkq;rV_6%?ndpN{8*Yj_6SN2iTZ2^pHSkWZr$?aJ2$|| zNd9+eOG|HnIujDMkt^*qnSY*!*i)jpRQ5Dff4PtSs_{>zwQ5xS-+uUaoR4AidcE;aOy40H3C zQ535#s!v5dT@U*&W43QDJHNsj z4K{9l2z2pk0?DYbp*?1dAENh=xPgJ9AZAE6l(XMPUDGq+uJ;JuE^MpszdUTGql{_fJPE{rec=_E=*@MPAoVMC!N_fJ+(40R9qF{6_)20|oaXtUr zM6FKGggfH>JhmNYAA6}ubm?)){}qo}`$br*B(xoRxv^1rTcUi&31N>12#p;P-oqQO z991MVmS^&bd6k&7N9mIUa!QBxa6S?ml%1?`7Yv00-P_!Rw zZ&X9mrlapdTkx(#VM2hLgjXd|O^o^)x6yi@3E5LlGdkfgSJnd1PUAuuP0xb65-7Xl z@8SIzboo>w^lKH~3r^jEQS5u7fu;knxk>LVz^#TGmmMsh8;Ntvev1Z-37D_5AEU16 zNpO5T=>HV+T7|y9@&zwFX(VCqCN}VQMya5qttAD1Gz5TQ;z;$jFxMCtGvCDSyk7_) z>uhvXd=zq9{nAMPGUSSXHHfVuW(eL#?>DgF<7OXYqljA}Gk34g`H+X4FopMT4u&px zebj>Iz#RpO>%+I$SdGXshQ*_l03`R=k&(avT$^Fl&h}rIl}mUb=P5VF@T#5d-1i9T zhI}KI3_YFTwmxc3@Z{|_Vak%2K(9>?&WCA*>?v^mW;~90NGoPq-}DramK5*r#T z(P%YAdA?vepdCQHi_7WjAqN!w@Q)zNi;Bxe*?J#jqwfO%d*6PkYu0ZlhZZ~m&fg5j ze;sjx3sW#yN2?Z=%sXTh1|>EK+DvaBvI|XOo%%7T?#!x?k(FM6ok3UA*HQNTx1${R zEWSrxSC*-nU6YeCidlTa>p%r0-PT+g8u+#&ifyARE3frY^7as zQt^HtW;e=0@hF3^SIA8|N^KFFouh3bccv)$o9k%{p8j^ps~;Zo4>6bh4>89JBj+gi zBYd1&jENh)4@GK*+4Q+qy|mRrgVIlN1c+<QEfwZB~~fhiFPP+u=h1<83q2O0FaRyO@LA3s8B2B(4bSu zl7g|2_k_(H>~NS7sOYi-VVXIq_Ib)FsRpnDCw10Ff9$WPum>xk= z^J)&h5iRuwz^0%?26CL*)+RL=8sfdxK461+_dx$dCWYwO1@Z*@VO)fG9+-Y><5Liq zK&1)86R4NBNII1q8?t2)M$GiUR#F7Nob6rdbH!YzbcOWC@@97ef0G;x_=;!D^Qi8} zJRYDdzlx&sjutS7#{ML1ILN;oG2YHHXnG?Cn0UuPMf0} zArMN@`>WvvA&N8_QWM(iyP%`hwl*1Pn%y20`jikXP&V16FFWIi?m%WzSZ+M)A$tyt zA2~1{;6|+W7*-*QXIYtd!Yhq1(IY4#?r0Z?IDt%pCWRv{<%xHHT9N%rOEd#*gLITc4!BX4HgEYFz~z0Wd?7dU{^ z8kF%;DVY+Nb~+FGt5GT?_|**bhWX=cDi2vHuowyBg{*weXxRlXwh>Y*tvo& zETW0%X=qWetC>85u}svZp0CADdyz*yW~IQoL+5%qsB6ly5DpOrDcr^Z1}}T6_h_yz zZHFYWz9G&?qNKa^2s@LN$t%lh`mJJGBuCB9N#Z>>jpyuNzBFtJ;VHb@BnOl0$3E~( zH92hwxtk$BSan3+aQ{V^tq5|_9nyK;Sa;+t?W#k;Bqtr`ieNsY-fgT5)r2K|pR3jf zv+eV_COH`1?>~q9>xrV>WXO+VN5@Wz*D$}v1F#1zWDp7>{crZWd01w}O+*I+m&ndc zl4;llt5XmEhL$wx!LW1ta~DW2dI1FPBe9$&Ym)&1-3W%wd*>Rab_5s-u$X1Fc5hB7 ztJqQno~Ph`)EON>f81uE6{Qx-GHs1C0?TH zj1>6g=H;kWtBSBim^bFA331=V?yruL;(vV!NzBiOpKGQ3wCjd-Yj-FT68gij<4tlf z2=#6ukCU}Yf{tj9)4u20C@SQpJ9tVnDwm~UigY$;FZX2UNOAaP~DA@dE$Si3pIo(PFSljjH?n9LkF$vsB zOdfJ$H#Fy(XaxBOTF8|Dxh$Tm>j!zr*+bsPbMv4`5&^PZ{JsrW9w@THmXNpL#uSX} zB}d3V6>hjm_YhUs_ox}nc4bu+noq~sg|GZ4IT&Q- z_d5T-;H045*S8myt~o{#RLnRXq4a(aj*w|?i083VcAyk2egug0qP=7vL8Donk6fI7 zkPFCq$Vz|h7og^!Ab)c0!N_4|S1GZKe92p2Q1CTTzh4pCk%C=|j}stVhjv-@$5P4< zhEw2Ki6i7P7oYsrLu(R)!C&%^5&s^HrhB>4G?9Jn8m{wsF9Vgd>jDhAhfM7U??tik zS{A{uE%kw@@v}^q^|~>X{@Mqw^6xg|aeC`r?a^wf#%A?Jd+TUwkR>!l{8+^2*$ zV0dfFUWqEwAg+TkJmwFy!{3btA}TJFF4j*o+q(78qU!r9iE;$-G|sSp&Jx1gCgGZr zj|S{xou`{w`LBJT9Zra&A5(T8AMF%qWH{~^MaYowUiF|)3Hy~bNnG9307AI~5-no` z{V47`5$VIDGE_p)|?oE$Zno$Zyi)aAO40#h`TpC_}{ji-6pbQ{lp>x9HV? zE{d2F&Gw5oY-hx(3CB=2IX^AlFnDJe0s04`b$iU7|8~!}A7aMm%$kFO${xf7v`y?^ z1A^U2Yqh!H4)?P31Q-ifNNLY|8N&p8o3r!D$v2j<^BRLMC^qe%eXa~e^wZa9)I;|C zw{Kc4vwgqNemof?KaU1?1{&08QR3BF*a1FjIapN~xH7qu7?X5EIpt1vkFe157m|?z zJTKS)=-oBuk_rs>^cHeEgq*O&#%OgGri7GTL#C&3v%Vo@CZLH;h~*zKcphLQmOs4i zNvknU6Rm!@2zEY0KI&9j;<67)D;F7`A$Ly7 z1}2$A(YMdip+?Y^B6?#~@*Lb($ozgu);FQeunfuUTV4{9Ch$beREra1WAPr1ktIbkZD+}Sy?qA4Fs6G9%EBl#aDbS}ZvqyU4? z=@#;N##QriFph&8@3~4u*}fGnIT|-4RVv-|`zbRer~G6bBx{9IQj^WgBD*gdl2kWX z|2TU8!8mDBfMJIE=a9i6Un9Q$f|jVKENy?}%rSQMeKwEHZeu|x)S$dmHj64e$FY14 zMX=_fi4p1j8S})IkGa5e&*nFVBw+G~&<>E3U*{54%v&zuG2KNYdu@2Rqv$g*44}hB4 zbAR7+z%gNZpidHBXCngW@{b?lgNRjCcMc}0pL+C7A}}bk>@hR0{*0OVI*0&!uaK1= z@NGC8oH(}K5I=gBx-EVgf~Q7x9FL?;SwF;rA~{fjPL+K2n=diK!99U+6m&+kzr1C^ zx~#6}Ts`Ko$J`HYkrTcp_Z!Yk4EeIxa}z#V=CYHGI)p6<2sq^F5f^9=uXJKhM*<0S ztV-H;#aQQrXp<+v3WKE}eTX+@Z0(cu)uaNGKjeYVAxAtdaRsaxegd z_UD*?x;I=r=Xr0?JYNHkPJ70KRl~i5fPFk=;f;vpLMU2`dda_82LQNL2cc+3_>vKV z?vsdhs0Teg=wI=B?B`!BOL6_7n{!GaPBwsM0q~>C%;6~X6;|G{4PiuI@56yNCjF8X z#Knt!xUOJV*WLt=I;WlBbj-v^fz7vLtAx@l^@i{-g9g!uhzc-qNwc?C)De*;Ce0l| zT<9ehHIn;Qlc(kXka5&&qEex**_I;3bF3jbnEZ4MDHx6)4#KpL4`CYE*XR+=MM=u= zd6^yd;7n~)1VEb(O~-N6dN)ec$-3%xTgMacHMBP2bk zT@zZI?^iGu2?c{`t?rE5tI{Skq;PAYHEgI8C>Fmr`1`u+qz98fluDqs9fJM=KZm~3 z2YxOvy{9_@c3oI%-p?5U2x|hQ^d+WD0AYpli!Xzj^mTm?t{tnk9Sg`pA}&~o6k+mH ztb_-B+-pZvsIVWyjfrfiL=B3Fd26xIN05k3QvY0VL(57wdyEJQgiyI+rQy`OZ5!V~UV=~S-9x@2SkG<-b6kKq!Tl!ttvd#6B zhljk~a``CaEt)#MU3L)%xH(nVoLwO;W3>)0U5f~-cTg;9ur4s#dkhsZ<*+*;DR&o- zm=*YvmIGGaRnl3+C~K_O&)ce%O{Pa&|7FCmmPPrq(zF0@eh}4a7I;9~@9SJhd9=GC zGf+stqnwK^*lRyoc=B?=glUnH;sHBSU>VpNVlR z^?j&Py@DzgWlc80)#%@pPdM(=h`GkQ2(>(h>={J?{^=gFT_Wf)`x>xJ^jHXa0tKy$ z^m@B#x9<7xQR^$@aZpQ;=RCwG2CvYXvZMzXtk?mCM!*b_(x}{ib=k(YFu3;FBclRsi$;twfs2z66mojyMS%C4E9_QrZnP1plfW&R%3E%ga zJ^$@WB`KW1b3fJ1%k1U;3Y#Ga@J%I@btC;jt+T@|X%>LdQTfk4Fe~Pe!R3F><42+u zIdw~aREfdAPLJR*d-~h8N>VuOsD6xj)BYFamSc})c@-?DBZ>EV10lXxl^>ByX)a4K zCDzqE|8=PjiAQ7w7iG356Q*Vh^xi%H?Q1m#h5sSu^4XtsSd`SO2!&T_-MbHj4xt+c zd3{&^Kxp?uno2QK1ZHBkD>4Cn^Ge@Zt+r~T?g_B&32+?YbJgx#CY1?OGmIcym;%rQ z1Sc*dF{lbd*DPu$f4VXd!5g(EOz!uw;EnI>b|f6_AzK;p zT`GvCys>TdV{v=Gwc+`%?)mSy)J`WcI+Dr9SF970cuc@DCRw3Y?+r1`K&W*nh*$Bn z?Gzxvm!Yq{-!fIqmif|EUrq&<5Aqt`4o`q}OMvCGz7 zmjz*+A`ElaSYd_(K6jIaA?AdOV_Vy9KIK(s49|dd{5fWRVMJD(2STE7-79N*6H5mc z+sc4c`3WuTh-WO)f_G_@8cU1@U`EV0a3w z^B=~nCcR`@75ij491oW-#)OG6IkveTGi>Ts9Pih`4)^LYvpY_8{VthZyvOV*@I$Yp zw38q&2kWxV-AYD~^{6)xG`odfhNi1jkI1+|I+=K5T|BjhW4L3sucH-I}cHHqR zer_FnNo+sl8s9y$+VB+kAz1R4F%z==|9iww40Qc{HwT6=6#?liJzhelG3cwFW8p?! zOvt^k&h?@RG}s!F56^%*6!aYOj}tnWe_IB$7yN?H1;7G;--D18=|!+4bQX<*w&n!+ zv*`yHlP5lWg0}l-zP1tetnvcA4^M$@OM$@44kaDRL)JxP$r28V8ckskg~?ElPtStw&%>@MWqqH=%1+yx zKo+f%WuS6%JKxG8Ht8utFM6Ofn7?#X)zHWChn!@hup*{8>_O*3G#Ts=74a=f*rw;e z*7vh~hX00D79khvM{m++811-2~(j>81T9%DzO?^#*sa0aXj5RJ3fN<>k+Xzljz zTEfzj&)ZrdV@qHy3*}mF9x(EnZB6cZEcRjxE0p*E%M%9g0ek*ydkZ*^tN5t=$JRyb zIy+rLqEQfpg{|~eJoj?cl&hkc@wk^+4_3IQvgOh8a$seTL%Txr+Q@ZE#F6ocA(Og( zMw_1f9y%pIMVxT&)rQ?euF>JPh#mwUsQ)*~PmD_mb=zlYN$`O~V@Al%9&Tb@5!(fa z4ycFb)^F_Hi*8THz+(nA*PG|LuW!>&j7*PhHpnMlW4w1kShyFG;7-NvE-dxFSQi%b zitW||nr)ZaE&1Q@$CDaVr8!^3jRJ6gS&0S|^?ArKF=b{#q?ol*^N>CF^=J1cpAs}=z}xm>b3pGwqGj`UJ( zOyuy|m#f8NlrcT=^*!;O%*bGX+Z7k>TQNcj5|PlYl`ySo(2L4+T_b6QS$+U_gNWWk zU=!L112Q|Qx|7v5+Izg5e$aq2(t+U#U;grI(<{8W*0#fq|$!uCG>TY(x<(Y>nQ^=z*vE% zo(fd({62k8?#p&R0K!EBHQ`gyuVOvSaKWn{JoAmch?@t|V{i+I6N4Y*?;=2X6^E}a zLrr^EhMH{qStH}F7I0K6_lgIO4F^Sb(BgWrdauAh*TGm&2UZ#)ttH36-z20SJok-V z@q-WPkV?+@M9=|UZTrA~L{~;e$dP?0WLkD7_mzR6S$8SMx#VjwHn1kwlLnP&jM9RE zG~E}|2NSNoPKIZ{9U&EeFv+S%W4*>|BqJz@{i2xg_9|dWViyynOsG=#bEZf|NEM)( zn2S0NkcxE%*!kc>!-5nrP5EY$)r051orZ)K&3DBCV(xhMSyRUv7>=`#Y^_Sv1`u>v z(LD#NJTZNtp2wNzJu{+G!#xW_(G1_2x*mI1NMZUv3v8>e>be?T5LO;En!xMM@C3M< zA=%ZL4z{=!Gru?soJs|Ooh30h43}|Qj4&t_GnG!Te9cB4Gt*n83(w2SXjAM(k9i~p z3BG2va-c&sst9Fi?&rrm+le0QIeP}2dykEl;2~zpt0W3}!B4~bTHz|$R!U&4GlyVg zOTk>Vj6@^|70~x{mhcaWoR#E?84nqjw+hbQ=Bl$n)qf!_qA!d5w4Sr4z#WMlkJ-+J zO73p@g+xP27vv6G71wuX-%%^I67Ife13%6);7cyEtQt}=BbwBTPXHJpfvE-agOc~! z%+rmOS3dC^_#t|A9K%_`4lI1W{;FYAy@S>k(X}Mg^1? zQVVm0)P$(NDYa!?b@r*w-OAiUjtco>WYkWxxu51QwQhr3Lgsq5!v`|UUN7r4Z)a+N z@|31XgcR4RL|65yc`OP6rsjMPemV3r{AjpUgvXpb=IyHc+wGLqAjAL$-dX(jZWpe>gHqT99$mA-&t>A@<6G=+_iR z1L!UZS6LW8(;I9cMRK406zs$nO4|~CSkJjA=Jp$~QSE|cQByQ|k>h2Fce-R8)dIR` zdV^Vz!7eh;U{QR(ffgyWR#LZ9>kvoGmynkB2Yoq9k${aVCZeyR?nY;H$-&4wXA5~A z&>40zi!`HMlBdde(YK+O-(_g32xq}8<5t$8H^MyJ~bki!I; z2Rtf2Vd*fl0ZRgOA=GE7dHp?Uq`^WPR4NrODDB%B9+-WQwx2aouI!MIg@?<@kHOkH z>uRQ-zXUP}+x)Xj4u)RfkMn{5FgI!>N|b;YUq|(Zui_}GwHXnIptwd|Dx95l8{kt7 z*29>e1Df(w{_uY5l7qqccxzn4ab$b&IN@{__DSn+GX6%E&qAP)HYGcB#GJ@{qIr{ zM(G(K4UACaz0yN;C+fbMj7-tu(ZQgU8r`2~(tVrCp@#d0y+`qSIDfn zqr!z&rzHbRxfSXW8C(8dg$KyMrQIzclP=k{$aVJRtzHmta5V%jyiCGYYO!OO7MkRZ z0PT{3DN;uMW5mF`GRlbbf3jH6Y8X!}e8h_clyoh_eBwwB@xkyQe@|iTp##8WFf<(j zgP0W)NM~s$miE@LL3jvjqBz;h2FC{TnCUwS%g%IJvo1-&l#eYB z>V=0=E}W4LA%6@(;ZZ;iBLPa-GTt%?osz@DsMoid5JMruH_4O$GWO^E z*2(J)eQVSYqE|l#?L6A|SCq1Y#Eq>gL=OLk4e&54Q1i+%D|j)N3TMD)_bZAf7H42&hSxHU9iTUPy zP`(hpYqa`VbTnbz@s7&LC$tInjFmn}(IL507w7qw7V8p&pPYNM$q=-m+>&KX=?KR(YIWh1L$OP{q4S-9$4c{ZnIN zxglMTtqv8UZf4%G!Ga&-JWUh}LTzy5BNyfu4#_d|yr zlW9N$Bn)aJxR})L%(#=+b5=OW;FT&Jr{8CtkDVY81{Rxo1IZ)>sJYIq9gWCHcrru9 zIe2_>r@HiDM7?^%JWs93PxoAV-g17=akaB&u^cJEKq)8o26GGJPYxn-&2^J1RGC` zrd)n}LZ<5Ae{?t+nO=g;Rb}6V-|f@}QuoLV8G8z;Q|M$cA}aoO$d`^E=3mZ@bt^Ev31{Pd-v=OJegd7Hv8KKb<<$k=2@`@tcGV8jKE8U)?pD-8-( zFr}zk=9&*M+s39=Kfl8IZtht!C$_C#ZFJ51J!VgXJAS;L9`lbe&lw(nbZemV%5)z6 z7_Q%2NSLxS=+WB2cK@3}212Hc|9NIY-K9MMTwBUVitCXEi>JXIKn@n~*D<5xyx(+F z>~wJ9(3WWF?>VS7kPr(HjP~UTd?nN>=PK)w5GfvWN78IV!}wIAcpBUh*{?4yCBj%XohDpgj-n z5ONyK@9$u-yNk_v=7L6zG&t$90JDMmnd#Vc)#Ymz!N-WGffawfgEDSqX@;XbZ;O!Mzzg*Bj76Xi_rJR8r>@9J@ei0gTG>U98KN zhC~qMo6JaM-nn~fG-_{L5w`@DBSd5`o;E*5RyScHK7f^gRby)tWbeRg1&e3F=PU;J z_QAG5>aM?FJds`yv1>r+yrm4uEo5tJ zreSPOyQ8F;J6j=c3M!z*ewdk8&ZQ=%W%OK!IdmS# z+N|k1@tBna`~Ctl^*tm(telzZz{}zOvE!|pjuwUgM8JSw8jfLbm*5yNake1tDLF1r z%)%HW6%BClWR0--1T}g#j+43rexY zdj_Ua)e0T4YJ1@ z17DaV!JZp?tF0fKS2%xh)%z&$zs%E|N~d}sIPF}{Nnj4cTKh;F2HW;6b)V%D(0HKu zVw2WT59rE*n2<+gj^tTsF{7OWho@l~G!gcGH&%cXY4eb1n`>0wAj{O%Sh3fmbCS?) zxkSU_&+Y2eB@I)@o&=AIri^{)i&$0Z1W)Z)N!&v|HK?CR;h_U@WwB9$v2?+u3WbfvCJBVer^p0{*W-(dQ3pPwRe` zFif3sI~vH=9b<;GLFLQ-DU~Re8>cT49$LC3(fl<^7x+gXD_v3|d1T za~}oUJ|B`Wor@lG#f9qyUZG20?W<&Am}hS>;{^OI=AYcNFh1J46t2~Y{xWDSs=#(* zVj93%yI`?xRqCFka@0Q-$BUjoYMUH%lowVZdONgqDZ^N2x^t5FUw;q!2Lr8Qr?}vT z%?4gfjv~iPWJpm7t6T){!=bq&1G)%9^Gg;jLoP`U^n)=*SzRI9BkQsxr3UW0o>C+Y zQ$N&fRC*l_2c{{Orm7>Xh$pY&l7~?n|CcXcLqgk(H-G}8J_I+JchTw=OLVU%O&*5< z>)c!>{>-+}kW2t$eSv^7Vd@8Q#xA8(Vgaed z2pQdNDcFEvp!OM!q&KKOefSme?B(3@fAP=ns-xrYYex;)o$M->{0<4g*i){O%wq2v zOy4zn1t7g{JSD>qT8Gtf2PM-V$BbzsLz4}eX(G;yQ!iM#n`_5*5oO>>X*itHn5<;7 zOzkq3E~6j(N!yiIr1Z)sBP%}-TIuj(rSi8tOlZwo1d*K)051=vG+WWNw7K)UaN1*!@>s)JNr+(E2m+9Ub(N$D7j{m<091TKaT`*(nQnj)8I5dVijQfye@B$)5n!SRE_PS> z*AYVR>p)82+{M1%VMx&x4e;3#|lE>HpD*%!vth*7s}zht_5ZlR{~6;1VRHl zBMozlHFY8_5gn1}0?nO#q(P>Ug>Qa$FL2aWgG3q_?(BmrxALk1gh- z!v$K<_nY>@Xd|FIv|6nUwuqSt2~8gpea>cn@m=lU%S+k%^$dY=J!X`N;u=?GX@qd~ zFon9pBHiIb9^Fj2OD6^v;WpwphKvHuA>;dH9k_l03a9kl|J zboZZ)jA+Dnc4mhi8us9jXNSyTyiuomo2}LU_M9~Y`DnnAqtJJ_op3Rhf%HxqrGJZ;Sc{9QQ=lMT4hW1<7YrSse zH7Wp8#%T!~)WAa?9&-6b$eI*<0}fM4SxFuo7Fm74r0u>n}pahXQdcR(a&U3MWwXQOkWOf~FvO zVeWjS$vA(MV%B=Uy~>c%0;4~)stO)6+NOeV2JP0UP>6ZTWxM+5`Sw@qQi;LAXp1=? zN+WFNRH;yUqYaN;7$FzzaahFj^JoSWJhzH)n^ni0{d<+deJHCTToIF>WvKg%AN=-Z z6^lgSkjrB7qYN{3Nrd*{$?xGq{F4DkLiE$dToF zwWXbhTjE?Rw&AI7?pNHgi~}Zob^0Nuu8<@p>lVQVC#s^sDw&WW_u*3^;Tn`iZqP#@H!Ad{AqwMR|vgBdl zc0WT-M;RV)ONf;Q%#G+)v!F4l$W+4}*SbGti@~0cC9l9R8 z8fxi+`@xR^VF2CRE+)VaGc7oAMv8IW7~Mn8`(r*CS!8^Gkn2WgknHC=tciq{G8Fj$ z{uoenVxK;lU)cQ%mg{}VL1jx5q@QY^|4ABMWO&yo>{0wW4GKF|^iqMqr*9!+Bo2d( z;}-IWhb2m4Ln@L!qw+$xqtz>ynf(SVDC7lgKMpLTwEuCxdML-Dwuva`B*zO+F1j|J z5G!A&0rcw2uOKm1`QcBZfwW=l_S^DxnuldEyQ7SuAEPZ<4i<5fK#P!*5pQon+$6hZ zF)&5U#J;6na_@)}3UDPuKaFm!MqN6th30w-gfgZ~Xb{hD1QbcbFc{t`zL+3sbD!;oXPn2+9uiCqqCas7o-W%cA|_Y?8~z~`z4&J}xFFgX|!1bCtEn0ecf zlonG!j~RJF^yr;8`sNg)1|FEnFQhXP4Sp|69HzzC_qXo=m!h)7hq;7@K#bl#unX4a zLmrvZVdeZ(20qQs(R_gR1GjOJwI@V`b(Asv+M!$=Wx@aEB9ppqwnv;j;w@jJW`4*d z=zfxBr)sIi0tSe1GYr)xbwIB%X~=+fNPMRQ?aX1KXlH{$ z*v(~l>8)Nv?kGqTOZ#{PH6XG?+N6h5JhZMT!&$J=p0JUh;^}*A&~*z58`t$x9AxSA zSFhwG5W|JFos4ts326B9t9;n@b^Ne6m9BtQE#%52hzva1^$!M${VcE-RI-arrQv5- zBe|Cm01URo`hV3$Abb~QSOPKjZTcTWriG)Z#Q76hE6CzH83Qdb%Ye)J(GD|`2QafM zw;VW``!JVg7c;sX8T5$`2DctkYL0q99wzHxbO?q^ZDkFgJ!Fz!-{3HRT^2QapQ6kl zCei}=fq+NQ%<2);_%DlRykk@%BDU&<280 z5Anwq!~lTR+A@iHTc|p zg&FZ7>5Y99AF6ZKQ1Qxhg&aNPeNcPSXTr$uwtObNN^GT|T=VV+T_A>1k|}KirQ70N z6-A0a>IJkE`fKolc1`uxPc|tQ#E_A-z1qvZT$|+S5hss$>!Y%Wmfs#S0~Mr*hW?{G z#d9mHtWc)mi&Lp&BI%EqAdc90w7lOwjc=@1;#I&V38`rsO>S#H0PY_N_znx9rCCX9 zTV0oMNFS!hx%E-yD1s%X9vyw)BaPfa%6>3hB8^~_5HoiigS*1ijpcP74`ITJR}Y2; zTo7(kHr1a+UoTMLR;$80%l-mmX6;JkQRN{Q4|(gO?9)7~v|-*}wMA0G4R}z2)4I=uaTUT6pAFa6c&Fk!9(sIa`|J(KWdG&Z;EbWbJ^Zh{lpk|M;Z|J<0F0lxv)cdF*X_y}OA!0s>57__a6mUs5B{Qoj z0c=r0by}XL*9`AVS)H}ej_CYq{cf*r!<*a1A72U&1MG{v>tQ^{F&?m|zI}ptJjj-F zkK8W=DHuaYiB0cb)tWd1$z#x%(p}$!{zR@B7-p&-aTmCKNhwM+KjTjpFwX6ZV3%QF zc*M~&-(C`xX&whm{In%ui=RMFGJ18rAWMA{HNPk{mK}wg ztp@jz@t9pxa)z*w8JAta?DX?pWQUL~`QtqDDUCKH3d5_gJ>_t~?7;lxnc6Erx74`~ zB#nl-xI{oLMF<;(53yAGvRuCr!gwDHfWa7_z)X_z2iymlaC=RJj5E+^CIT${@JQhg zbJDs(&K~k!5{1Jq3h7bAN|wGYfJt3&5aMxd!gJg@BSOYg4E`$bQ%8yL9dQKT&J_kK zZhFKt;~MDl$I}H7<3qtI(RsOtoWdXgw&qDiHBT0-y@dR5%uIsjY zdmUx#p$m^WpxUMC9+4lV6!ZcjLiG38#VR6Ecd4qUk6pMsuDC4q*snqL)Bj&CObh2n z)#sz4Aw?L-j$6#~@c16Hl^x!A2#d`+nJ}`zEzGT;lW;Kbt-&6U8Mm;@5BCkhUFkg8 z*n7+gSv&e|&QTI>*JGvzEABCa^sl|B9&`7YKZ>H$y$pQs^NRxfHXOUyqE^*JRyyPT z1zvwp%sk&_nc&mucnS>c4`%hUFfuEEaHA?sB3*fQIvGp;n{$=KVpi~}4PE`(;NbVQs!(-f# zaR5$w#&07v;L!H(mnFW+K&SeJAw3wb{Owf03HXdS%Dk`BX82zWKDh(HbIDDrf)nFd zM8M@No9X04*MDCaL+Y#eYxE>m9eZF5zUG?Ki}$RMOB4}#sf#7Bf*x}8khhAc)RV?$ zM)m5OZH4%71zcf+RW{bkr`eS&f&nvsynHzMGPi(4Due*|z3;XxMPE+Zt0YXwLR{jJqG|@01+}-218Y}*7IXxPfcycvi2j1VzZwz@pENy{yqw@J z+#Un7Ot0fC!63ULbW{l^k0B|kS6-FaG$axWgD%5D6yMET zcfc+_`%tZMP8sK`X^F60`ihb3%u6YwDYSYRzq5pC$K0xd=-?P}Rej3{o0 zmlzU+v9@GC87J=>`y5$Icgi0+Y@jo|e-dDpDCmFb;PnDJ397fmfcpE7i?EBd+} z?Ktc)RC{t;z*7YvEVnv7Xz~^dHR{nvxy%vG()I(Pu?o2^ZQ1DuLsHTX>9e=8E$9}0 z_t8n^LuxSNqbMrJ?KNhASGD8HMc@_|o=X^{y#B7UZ08Cp1FRkN+ULF6iNIDGF7{l_ zd7;hlK$wnfkq|^k9A^6@Adxvfj@{hKC6a@ociTfwr+V3H-HYtpSwJyDoSw1Ctya|n zhZF}8tSCK8!r!*D9lUW3;NmpXLq0+NLX_Ff@|=5^tnmux5FiKj@{_skF(<{`_Db%! zreys0gT-uO<6{RS2i5q<#TD)R0$1(Bt@U&!=auqof=0w1@re^!^!iWnz zqVunrijO^Ur3*`}6d_I=fRJ$Gy=+Uv2JH_gEe^@S*!kEJ_E8i&F0tQ;h;EKo|7j z&3du1wH)ZGt&NYYsy*c9A*VlvoaB`S9hox$PirV-dett)%qiNI-OLvQcDudERmf1^ z6GS|q(fboT-FH!T-(5K2@Y9(rS;?q?kz8GTMVvFz>%!j+~_U#9+aB16W*)@}&haaI>X{ zZBKrzUR6Rc;2xhL_wz8k0Sjx)i^2Gy5hN-r4>E(n1P0_3%V}k9MJ3(((#Fi=9wJ)C zW}MR4MZ7eRdCJiR#IQ23F5n9($blH)vX<$916Ih>L*5d0J%>DxS6m^*0FGh`EYUf8 zmm;_FKspC((LE7hJqe#YF_FaERcu$NyvPOt9;?nJc^@{(UeH``=jVyM-R` z*o@>O(vFkJvR<)?Moo9P5;mF)Q+PVCMVj9yuJr>GM?FrO^0}*BayYR=T zXu#DT+fAq*9kV#N6)PHHtL+BpMT-Wi5+hzJ_6Z3YZ$}Y}iBvp7FY>(OT^1 zQTEKYx2iuxoT0u`Px;?L6GLzcaP=8_gD=xafT<@=Js?ad`|eAb1`(V!EQ7VyK{m?1 z-Gyl&HEMTeuP=ZS#}o-^>n%y~#J5**?X~ZNPGQvbA;BCwl_ z?DVL$WE+1SWE8L)E+`WOHur_yTzJ8cu;E% zXvYtg^@Jf4V*ZSrzNA9ak(NVuvTEIDcXF25>Oh;SqknlFi-uwwQUzAM>bAh+Yks>e zgiEPlU>2v+-sfdrIEtsf50=q85%lfZ)2hKE{#~Q1zHG+e?d^aihaW@!a>pGWy5IoJiLw)&MH1{V7{OOaQ#I!~S77@$Hes?aL>yy*tvLt8Fj+N*3_2{}XhJ1`X0 zaV~hHHCRpd8BC%ap+nN`uIV?bXTKd)gcQZg(LfiRtDpLwYBvVe7#uqWvi4CjRb%pk z20aw|dt-Rnz{<|=|6bgCSRQXZQUfl1i5F|(Bu1SUk>_PzZBB`7vo3LO%{Avo(K z2EYca8zxT4>&VbQtmo_*a36iXK2Zotk(Gk~C7&+PTM0=9>Nf^GOFf^tJdo_+vcES8 zjeAY911x%H@WtPt`=9H1B7S5?u4Ycf0mDll-%(rii>`VK%-hlEZwo1?{%_c24l|&l z!U!yh14{c@xeVFwh=Fp2TyThIpTG|~D`dO#;MpzXBUe@>s5=b&@Fn_UTO#x-IU68 zxn4k)bn7sC3f$?G^)=)l5HEIdJ-IsjDxGpk7ACA3@UB~jR1?7KLf=n>{G2gP%qk0A``&8hKH%B>+QP%Z^WB`x3K~B!VAG5v- zt5tChv_yvhVJMo_T}`%t21CAZxb#Srcs7jYx7iD~KivFf1Q4Za@9$sp3|RJM<$P0! zMK2p@ZB%N6!*2uKfg2@;21`|VyY>ycf6jn z)V(ANRa}fdp)MQ*n&UiYZL-~28}rP%)|FCy!G`3ImB!C8SFy_c%a3ywM$z6P zR&3~TT*sLms}<|OwW0W`(m>|{^te8sF$IM&l?HI&1u%*-OnD(1Wojs9(x7-bZa z0OAKJ&$N4F+bLzis8v?WKARI(xh~BYtkz3sHpjPjgyd8-i9WA+h9qBDc>Q9`c2y$` zHMt|mUGqNAaY!sr)E5!-nSffFJJjzhX3bhO0YwY5F5_9K(`%q1!I$~5WUU}^zlZ$8 z(a17QKT7*Fk9l~^ zzd27t{adgSSW*>3maEjLfSNJ)^O3$Cszq{WICKf@eTAH<<}ybWYiI9I0JmG4 z>#9ovUv~8;mPWA&_|yU#(t5F~Ve7V0aC?av+qc$M7l^PbUJ7;(!+Wsy6A|kv!&c@h z2s|d~YTD1>MxS*t_Bk3DZg|X*0WDqA8Cq7%)F}rAf#SMd42R@i07m|K2r8(AN_-4? zv+8m^IynQ$`i}~c`CMm8T%^U8MY&iHIv=dP(}c){nW3hj$WKqM;RW*yR47tllT%Ar z>SrX+^_-OjEnn_2zb<+Pi;T;zN$Z_2*A%o5wL-UFHuluQXnnGy%%W|ra$|sO#9S4H zwmOstC4w3e_VBSH`Z4z7pG*?5qge`)h+OM)*mwcjlFQ(4<{{R=C$wE;+8W1oHwOcPk4@^JRYY+y6Kt2hf58 zE2BvMT}ZdX9_TY}8hew`e%H)7OD{=Yp?A4q=cP}q9;^4^Q4?;DS!pnrz2W}1$s#~F z%(WOQ6hO7lE&K!`2>`YSU!DZ`qz95AIvT9$^YCeCfq0n~2$cQ&IvYxZWe1hKs(`A$ zI5K~t2)`g^Wk5_#i0D933gLdPnE7%AMgZ-#-gJV*-UVM``YNSC%X#S6Pxq!qb8h8lVLmH|BCCsdg)a8ylge~hW)dgpr3{)@?M<2|>vF^Q3hCScr z8Xw3-DP|~ch$Z@#xIjr9#GJ(XFN>_LA*silJ?35CgF*4z$v`yjTA8qA)pPEw;GsCl zGlpA3(l5Z%g-b$l^m+ra=o=CU!9hkbt4UGyj6Mw zg8nS;2`r2Vi>c1q1`f}Edp-A$AuHD=`0)0oBO!ec2vU^R5s;nk9+z+zlNuL470XtE zw-3jS<^CN-F<2L~r@y_N`$2w}9fIA%9oM`(z%*;MmYFDGK+8s>JKCMQ4@$lNRKqPX z01hp&W*`ezO=23`^a~+Z>yiPL$ZcY7pl&gwM zt0u&Z)05}^#V`aLjO?bwtO)I2c*vdrchtj(Z{Bb690by90nZ+VwW69Uj1vpGc6QLz zo!Fmvbfgj`Axvv^NoeMRcqbatC3lA?MrOKpz{(~E%eta6Iru)Ko1Or7*u#83&7hyC zV8GtN&P&6$5ffOM9Z_(<>RhSXaOuI4%j)TSwH?p{p`x<}sg;v5JOS#&ZGlO)vvvV) z;p3M*Vo!fN>fwionE*$*O#x*MN@OoSyu4$iqL&b=!Xp1_3!n ztD+E6zH1ChG^^Oqo~SM&%>d&72f-f*mjJR?6vG}P<>i``N(%>}?PVj~I=1Je-;sGH~{pwj{M(T)o#d2Zumr zLLiLS&ehHj!gVe%2b#;S47o!$*xW1T8xAu)1MUmVnBoh9z{*|rBKAlVio<9PN&E~M zChj=&&|J!>`+kXGDSm)ROI+EcyJH06^Fz-Wkr2#kT6iGdi5V=1y(~*#^>zqB1VAzG z=&m1TUGLlY;>uOc-9I%5jR#~=EU<<&1Mfy#$sFfRHazPwTUKPXt*?Pzb6~X%NZ)FN zvH%2lsjiSc0qzUT`Gz|B@eSO$fx4Mts3nZE@hGZKBbJ7fBHQb!lW(UPhd5Xo#osgl zlR#|0tnV1IVE9!~g@_A`&5AR7%$@xNIgtmuA#RqsS>2 z6dhU;PLm;j;WWr|lyuQ!Kqnu?j2bLjn)d13z(@Q5@ep)FOfkFSzyp&ugXh70sQAi$EZy*Xc9<=Ad@{tF_3yn1a_CLrZI8kFVoV~4@3^nWp1O4Y0bU_>z6L>b<1C5F+ zXk6&fa;aEr`|+^f&hhY0P;PANcpwmiJ&gjRz3(e%&xG|O6TXS4{6Dr8AMUt#>$*J! z6FE4z_w-0yOsIKDAC4_xKvHOiO>&7{mDZS{EU%v1hIj@~g>_Gb+^v5dG|k{Xim^-w zi@$)jrFne#5DUIGWKbM}b1%`-!%w99Wh`rTE!YsLu1BQdM>Q#H-i>XNuuja zm*Hz)H(sjJgK=eq>@lN}7rJ+SRzJ&_QLc^7%JnwI8Q~tYC&RkWys)JD`6K03A9VbbX`8%%{mvnJ`-xC(gH3PWQ#p$ z&xdu-hd7P=bLb5b6FiMjA;sbcQ!) z2l`=#WNnB@l~rQBRS{dU!Vzds9GW6V1IRi49B0cm>tuK;+|4UUq2H@JOLSFh6#F){ z^g#M8z{#w*V$nuo25P^vMM+q|nG)VIJb=R}zgXd)?FXHgQl&j$D|FZBWv%50%hvj) z3p1l9!l#)b(}MK^nysbA$)d3!H61n_}|( zR>;<6q`DXqOUeel)Qr>bx-_z!NIYaugKbNL;G$k?XdownPGzkIA&T6<-B_|8Fi?GkFqhA4w2i!As2e z)zdenCdCN}!5jl&101X%SIP^5@&V{-hcqfB{TqhcA%rl)f%#KC=1L)mLZxDpF1d78 zkSrNXf9JNlnaPu2`&j(^WH$x44|50LJJ_;wnkR0B$T}bgEIsT990g2utxm&FH=meo zApJs<=gEp0#72p#-%bI2{UC4@cT6itq3#p@nLG!!eena{^!uGLDfaBYIU}09Ltm=lH1<20l*?`we%fz={&*x0rTh@#pxa&kvV+5qXVqW}Q?&#_< zdk${pTM9ipy54B=BVyVNY3N~ep1*;r9gp+b0;$CP3bU7Y@1bi$70ee9fZR8Y> z+3qyEn!R5IzG!Bt(TbBg z)KHx#!xP|#4|rrr{XJqU1X1p^;+KW+BC_f9p#5@HBu2m+bTIk z4`BTRrh*D|J!b3wbJdk$|JyGOv480Y`IwX0ND{QN5Yn;Yx{1XzdlKv)=!Xw|1Z9Gx8`8XXB|ccM)Yj_4iq56SoHEmp=Q^91;dNw5 zzFph&iwb z_xT))GDYf3QzOIl$tv|xTfqat1CSB8$DBOo^v9UdL6{WwD`-rtd;yf3*aKL>2G;?> zpSt1M%9YiBfKtb*C0 zG5^@0aBtuV(JGEmQtEo#8=Mb&8*&|*nUmlPGpDlQotqqXte42&3M4dQ8f%yBs(Z87 zL;ZQu$D#6~WlF;|&7LzVo7}NhFO9OMqVQ)>Tcsd+%*-Rt(6UMsq+>eJ3%D&ezQ2OL z=k7kCx1Z<&V8UYY+8K=)LjKJS>|h&*fJVithnMYc1BWIX~3?gpdlP zQh&&|=jmin!$NhR#QYo1BueCqx1E_cqr-dTH4!_;j1Fqug2qHl?c?rkDF7f~0>3jT zF)cB9$b*pc=OE_w1^i(?pt5owErJkd+{uJnHq`gTD=<=NRD469POUhnAI4DsG`;`N$$aqszHbNy8Fb3m{7hXV6N5xqloEsF$DN!Rx|p zHRH|$A~CqK6kYwi|A&DWI?+_7K^A7|F^a**0Av}mOc?yBKmz87D*yqU@U#I+4*~X7 z(=~2VzvzmRV4i;i0o383ERR&|R@D?~j-h-niZgV6ktD1NKBV15IV|J0N6akT@f--% z2{Z_CWMwMd4?geGfwnWq9L0GZz=c;GTC&Gn|03qUhAmE1pR zkq$(Zk&Gp@fHXJ4DEvl-LOqUU5m6A4@tC{ET(+3|%XlC70;>JgKD>!lj3F*ChCSF( z!xqz+AmNY1kPxZl@HDOiF~ssS;PK|Vf9Me~!gYwuGNuMpmT^H@qFD7p!jnH0as9=J z5i&;8w4o&hO77mzLq_T>jm3Rk5krj&%QAZ@ObG@Dscbnq-Aoiol@oD$MqKe^`ivNS zrQJN>tpVw0?kBP3u@qq>1I?ujvu}mfv$Vdc+@wYH!8Hk5@+jERggv zh1H-;ioPr4G9mVAhOY4uwn|ocYLl;sPqw_3F32yF9~IY)T?E;tnCG8k{;8;=Lfg5z zDB$6kn=J`QW96PKMp!|p;sK3HV+C#3BBi&UCj_A^`6DZ9EA|6^oNuqoS(OCq1BqMt z&^K47A1MAzRrco$_Cmn&DJyd=vaU`LzMqUd!8o|z5W=GeBsc} z1383_k|%D>d)6yhJ>>KZncL{)qO)goAez~6=>oONEZ;KuKt3DzDDcQHm)B;aX7yS)M{ z<+?TOhO;^dYad*AEana+6j;|&Vi-9+$c`*czaasu=fJe(z*oCj;a55p|BY58oxtpZ z-yB7B<}BM~tJ|tdVBU(;8`fGdHmO!@$SsM8f%MTagauyI#Klq)YdOR|{q@6pc;%Dk z88B@bkoWhmA98X%tNT~JGFC0IfRe*jrQBOg%3uITb7*}+=C_v;~sW_rM4t83KzRI8MLjm9reLd z$}j|R#|%<;<}usP2-U*2Spq~oqRMFMN#FI5JqJGY$EfG%8o!17({pCyv>j%?IF0RkgdivFj&h-S2$-k0p{arWXUQq-uKt$ML zMxz+uVt4;uJh#}N!4Z$l)fcUX5%yZ4G*5s#Nc;T|P`5EMhLcx~$4T+1hm=*8fSI{)H1 zGjV+Zh_aZlyL~y?Y2?M0mnJ00X`4~+Rcf%;9CBQUbO-*Rv9D*ss&{aiR8y7GxQ_3r zRup5fOi3R>znEMkaoS-`!aTP(Aj-%0&?CX^9w}b$Trtu^qq;$Lv&-h*uLXM0CYr<$ zAsUPc9`TG|bvVwIAoc1u^9zr8DCQ3&Zi#Od9ndV0dc5@fJ#dM!M<<~bJ0!d4*e3hN+ZqK(Xh*6B>88oU7R!U*})S5J?PH!CK zRM5rcx|K0up*CkpndS5i-P`ediuwp*+E&hu{#|H4EOUoqqehe z2SCQ^+&><5QoIngkherkdJHT8C0$GADwC+1i zP(5g+!ko8m@ZD4kX;sK0D_bK)@52oiI77mN4ktij+@2;DqCwN5o975A8eGa49fC|grjp>jH;^9&=A>X#yiu__^SccuHUh1)eADMcEQ+h*7{P%ZUNu@BE-dY=g@Zw$dvk#%Z;`G+_pmVlIR6e*J$O2nRa~0muG4^U4{qDIvLc~Jx&BZDgaVfoncI=VzN|F>t%HW<9*hjFvh85p^ATuV6 zt`U7{xlH3VM6xEW6i4*1uWPOif_#=X`+Lm&je+;Wb7nWZ{R;a5BoyHg1T0_MP5i-h zDghF;^Kw0BT@R8h2&c878bWI)0rjuyse=Uen3V|2-ozr8`}&+Gg2I%eqev^##Q-t> zvg$UY`RW#_Rw_gnqgH8lW9m>|0j$rT1&2w4FQJ=|xtOpd5F>B?oK?Dv1zdyL<@fVY z9(x$1Na(9rl1wzc)3nK6h2xg-0rcR|o$q14;q@w_&b_R{IFmeXk4Xc8- zlY#%EU!8O(oHWhZkjT>Y@0VRpi-g z6QX_h2)e%wzxas`-D1G*;6r7>AZk^8%azN+b$PRyWH&6WW}2i^yNKdj|~TZmCJN@Gk*aGLutCYhGb;Tw8*<-c+72!xqLs- zV}KZAOQ|ZU2pb+S0g!49LS3wLIneHQhImu~SqabmJkWO7VW>%$bNc?(F0}?wey!nE zcYi@(Yaoc7LGj$qkLeNjE#ml+RP0?zgp5~7(OVAeNW5bFz`#ZX&G_w4KZb@)2tJ1V=yv!UID?}^aoBS z0Hw4WCrcoo7f>T>0-tW(REC)>2AmNW9yCDDq3FXPm%&O_C!^^2qjdgaPz$NbS zGiJLvj1NlT_Xc;c|2az-lK~U&SLvbS|p0k~p=y$M7@qD3h*;yjFTM<+2x+pX= zd&Jv{?OzwLQzAIfx&mgk{nih)HZM~()0f05ECCn}ulHD!~B|IrU6tmq?@XGw|lM>ZB8P#LnQXs?C z*K9()0#B(^-T=h;Vl1Z-vHg4pqC8x48M>6kO67xL;)g;o&E zr60p8u&?ALF|xh{WSI7QQ8$|hUAE)=*1bZSVrm9hgUQ5*x|utv7CVvQ3REt>kM#nY zossG2O*w#0W32%m9`?vr(yp|%>v5i>9|n*VEK8FgDARPEZX7~1h z7*b_1eh^Kl49cd+0beetU{{B|XjQ^^^=_(~>}Y7HtMH80pWsZ{v4e5xLO7g}cAFaD zSayhWp-((u&wYF6I$!hk1SEvklqJ6gg=R`8nHwv0pJ!qT4q^j7VPe)6#2~qkvWDDp zM+Y@igqXsy)DG7gxq#uf6a^d%|HQFkre0a;dV2E9dx`OKkVkkSNe2XsH1XxiYVOED ztKljIvqEvWp-19XBv$ebIOYFb8epP*sOr<@OA5jUvK$@#1Gmq=rtAu3ujBf7NqsUl z_ZbROLS?##gw#}OEl7~{<}1MlG?clbb{(NVAh;8=b@6wH=n=>@ThcBIY+elYrrv^G6_F%qA{oV+&ctf0e4KO4mbbxjdo<&EXz~ zR#DEiCMp^aAW~|#I2%uWP6tlkwcm!*nU=R8q$=;ULGgObWskYPt>mp#U~SN-xQ3c} z-Eg#@V%5>4x(18oYbt7rHbmjmO{=oI5vq;mM2OkxhJ!l;6_x<(F6ryz3Qhs~miWrZ zcQy|?d(d;gmS0qmBJzT4)wf?I(NV=?w&7Mjs!_6i7>tvSs-GR1tNOH?8-5S6u1W?L zwB-ce$+?#UBfrH&KPyJdRJFnvCzA1IIT`FO<~p?>zXYhANWy)MkFLLdi}QPW{T!PZ?EFN7D%+~8gqc@kgwM5 z%z#%|!mKec$@dBgTHrbJ5|pufRfqL}Jqw?qXYsf^=%JwV)&{;nhcPF6QBdO|k$0|y zfu@&77&uUtB$yg3uOHtQEcs^3AW5dEtobvFTHGR2ZjGm~uJq1&}17E)Ag zz*SJhCHz{%psMlFp=5+99UtgyRMkn48Q7devKkyy#JBXbhZDeLpHXw8Eh~$2j7`1Y z88Ldm@z(-w9PK)2O{?f*j~RIf`G*t)ehnTkn}{)&e!6H_D9-Wj+4ZtIlft9-bP|)t zn|>|c$nH^uX^{Q3K%u&>Wr$7q6w_??>eW#h<&gX+AI~KZFdLBW{B*JMh?M|i+m1wj zQ#%Dl@)j~2lW~^PK5EV=J|+o4H2BdsaV=@3$r?_?U||UG1fvwt$3w-ko^+tcE^{US zpi5dK;yg~oeQQeIpc>T5uM@5!I{QS?OY$I~CglB#T?(_^@<89B1i`Fvz%!7&xjl$M z%@r17$o*%rgtqVLAg6f9rwSl%g@;^!FJvgA_%&HQ79l2}pneYJiaZlB1*z;p6|$wI zAyAs$yagDZU@S6-qz~pO(t;jx`@N90+-eLTxWQ;UuDb%#bVtyTeULk$u&L8Dc_9eM zhJ%NUEl*9W^9Dl^)=BoH*Zc29%u?G9GG-S@f1nwA59OpC&z1}qGew*k_5t1DW7fQo zh%3O`Ww`}8e}r``Jmbw@Y_Cy(kHT;?wR!cfEC4_ZRqTw69K^~T^stNDx5HdzcE3RY zwo_3U#q)K6yCNcTin#t>#7%7*Xd}j??eOxl?9d@w(4ie!Bl5s)Ggsz<)3P-N4h8P2-+^*XV&Lh%SkX^F|O<19B9rI&T8ChW{;QDI;+Xcah z2XC?l?kL|heyFR+@8D}!d>AmGmOuel9NQk;P8&j2l8-v- z3Cs_+A!v{Qo)to$_n|Vrb!jv!<1yr-P>tw}tyd5DyjTS?wN=RZ7ehv)4A(#$<%_IX zuG_+rLeXptdEep@H<_3Fcmi}TpJu;{(Gfon{rbR_(68jIw3j~`k$>7y+B+xRIN#A6Nb*aUCH7_SAHf75CsCl6SX8^($ng2 zgsjh~Fl1g|WW!mw&Tb+Sk~IZ<1k}2+w%5&GSn4`H#`+}CNL&G^P-;L&SeHF<3{r#v z&bo#C23NJvz=28qk%Urab?B!Z$H7CL2F?m*d*06L3S88Z$F zBNiEo%dWTtuCtq=+_TYjkes2qjsV6a~A z1#c?KX~*bTrYlGJ#9s5Tkqan(m+(MF^b{yfnDi8G{^y9np0H1&`T{+dZiz7nqloI_ zl2v_fk3}Z_KAyD`o46{HHlS4sFE8dUWkTRR9`fgE^&dhG%#*D<Wnx&FvR=P!e;>Aum%J00Tr)IMSoZfG__OiWX-@%3~vse`y7{CivG!3xb zrPv(aY-a#0b}Rs|Q(XU#DK76SnlU;R?2hrv1*F*#N%BVwop%-Z5`#%kEny;lvj!I) z4D2>gb5Qm0ym`i?UUs>?H%awM#SP0Q+)`=tYrTfb(MpcUe=O}NMzj>$8GnZAWiNg&&gha5_W#;RD zmi)0*ZDQza3WWyk^hqg%`g=6-)!=M>L=E$wIdbrfDv zs>WIqKO1D+gdSlR1SSXMp(N6T6laBwf?fsF+b>ifNb%WZ7sy+vkl~PWWc$QtkkVPrILe~hF}Kzjx3AwydN@-nRTS5yI`g)fz3E>G?_Gysdl zPWhpBYNqq;tDMN}R?J;*A4brKTdWas7a^p5i5Y}T&REE;lMlnlMj`j@l1tn#-$M@A z_29{)tO_ogkeRx$I;Gvn@*Dy}509z>9AO`GJ!I>yv9ALllCqSe3R-`iU7ueJwF@`J zuL7Ej%iLGGZeHP6&wYKbJYS~*iABQauLgu&lC}q=6t|FM@Qw#!L)}(>k@w1)c{4AV zAhL>?sY?AO!-W4EbpEA1j-Xu2K6|O2{rY~#z4Agi6X3=CiyLfswLAvfyDsn>XSrGS z)06-$+cuwd9J~W=LZs-rQVB>oYKa+E@e{BHqW^@sd<11``(mQIuu#?0U*9jeS8g^m z@Z)xmIiUea%)sozON^W(MF?hL>I&^mO%D|qMi*RU=n)DAOq*&&6$*6=hUgGEV#byU z<2ijk8mGx`Ij`r-zN377&T`YapEHOgfksdw$BBiKA`~}gkzP6)P!vb#y4({Z4Ul1` zu$Azb$*U-^=yR$>c-7}4t!VlEiMI8aJ^$@XN-o>in2GQ-Ct!aleOu}>&TMOAnMkrS z1_sdF;+L7@RWSD;h+;)fX2oo`^HG-!#gv6X^O$4f{QE2T7z|WTfcusb1&@~mnD8L0 za?PXJKp{f)r{!0`eU(N}APhSY2V!H&I?$cZ9a<8n9cj&i5lZvRnTziTV|Cep3hdsf zEZjLWO9~BH{8i*v&w%|S1HRQpuaz_m%bDxFtR!Y&asvnsKVJM1?z0iuFxL3Gl~x#}6P?-?+@Txvgt+%?Wzs^qRPJ*Q@{QTH5ruh;dA zo-`z<#MMUsha@j(p0Sve9cYGyLCn0$`O{~Cvi*zlWbAXU_kA$T6ySO)d0;%qvH;;C z2?&$zGy7+K<&%}Ye~=J>^`rDiWS0QU$8dV(t#1X z=8qvykg8dBJU}L-%deM;o)eEN9A%w*JE$G;dO~4WPON9%MtKC;CWZl}`phWVt8k3A z_N$;Yto$KIA#t}VeQu?;5IPcq$zlG*WB%)ytzs+SDD3@9RSf5N#jHZ#e#Uk=N{2@= zYZsFiPsgeYJct_fs6sch0uThvW6mCP|HYWCsz%8hRV$}9wVPkrG+@Y#QD@#1x*M$R61yJd%v5VQ3{ zPEP|uLgkDaAqGXC4zC_FNic)1+hTq(a65BEawuO`D>x-&3vtg`b0PFg?3av$`% zy=D(+kyJ`qz6N=ODWBMBjremeF%A?y7>BYwpcUy_EyO^f3Ul;+@p2qe1-v#$nNmw1+~dl9^_%<6DCw z9hm&o(*HT;R^ON!3|5eEgQ3u(Bcg&#Mk|=>#J7{K4kfoCSx$r{qU%0lAUQ=P*YiBp zZEGO;DQ4HUzaBFGHmRV5NjbCd(z4 zVxF&4#fY`E{X`o7s0eELRy)9biCQGVhX2A5+iEmq;r#x(#QiL(MO;5%^C5??HxO<5 z$Slr>M@&PwHAWzxW60pY%7oHyXDPs7Wwpor)>Sd)5inhUB_^u6o$qN^l1T3t-H_<| zAmh-$xeWrr+}cH8`4IxIM7lUX_WbM89n_{jeNiJ#dn@9pc8KiydI6OL(?=utCOvM~ zq$8uYjR}zDG6eC? ztC_JVrUa1ZqPKwvxgMaj^`|c7V-z?tScAnpvN~|AQbPhT`C~!M+W-5(KrqBwcBGm4 z8_1B-2{3Mc{8H9etwGP(63!I%pFr7Z*Mb;iE%Qfo=w?vNWV0e3vjRxWsEhU<8bc)) zQJ>f*p3hl1u!=>)$q zP-n^-9|hoaeT~8}e_ZPm3Bcr!emlQ8ozT15=@qYvtBkq649Z|ECuX&X9IM(Nu=%q4 zt>B_^uP)`b2l;_wQpFJveY?uT^7h5+Du~}qIq%+ViVI?aPmiSk0#|zrIlh=s*+Z4! zoIojzN17roa^}e>0np6r4V3n8z;g}e)?*WaARfO=wGi_H97P~iA9lnY1Qv&X-E&yG zMxTXB{RR7)E#lYRrS(WdOAaf^Dw3BnkFkDFA*6$Z*cOcfgz0N2R?KZCj{ z-Qbv~{7cO!+xrK(2@6PDRCa*G>z5^SOgKLi#Ye`t_8%Y2cKLLQ zz_4aV(tcq^w!MFEg$5wULu&{vBY3&RL~D=i7u`@TQi0APLnD-4?p_-SEv6lG)Lj{qx}NK__x*ZYTV zTyOHHwJb`R!8!o_n6&WhLB)HC=hwkLK1avBBBl^hIj7xB z8d&8)9qQ--_+Ev|*0HM~wkK#(pl1M`7s1QU)Pjvq&wn3v##^gxKmLk?SOG&O zAI;`wPL!*tZ{+AAD(Y-14!BLQ2l$59e6BXeDQKuukg1xhcx>Qb;s;~E7X1Ri#Cy4B z1~Adm8M3Fpofq@^lmXAq12mpp7>E~BW9t2bGe8{1E<8p z3@T;US{wGh{fp(2404qD97Z}Q8M>h>7BG2@6sM=ZeRPY0%S*;C@|MG5nw4~AMao%* z{s>7Mm7{hJyMSzv6aN%uXT@vUr-_bW61v@nJ~CT@+@Ol!TjhN4&eO}(OYKO+g8YU zD4`mn_wU3=5i;%pu1X=IW%F82vM=R>`}ePh8My!oDOO^Z0@+>NVPMOa`kdeCG*K*{^1@wN)g;At92y_toO7QpC0ON40#CQe;c zhyt1;unXy!%J!RULW^Y|4(b;8zPc$Cj9@0}c_thXp>hG2QS<8+6IPlh-gc4z?a=Sl z+$$C>y@^PX06%^OPqBlQEK-aE6|Y-=umE-@J>wGI9aV`4-~p&Z|2I>kivT+5%Xp;IFW()M#sx#~eN8ZADey z5Ipvu_+r~$!me@Z<#mbMbVfgO$^*56pF_VPqp}DC{l1&gnwfG0#(Y{KqmPO9l27M~ z9L~OItTIC2VJUzzxf~vH@{qTaQQnc2ge(Wt4AL9nBF&9}mx0B!0;3i8$Bk6M@acMF zRh1rhGYevXW?h;lvga(=7N#YLfsBhi3hX&cJKDNSa0?&Kl8I7(DIZ|ae+(HBe`-d= zfhL%vhgna>+K1N=T8$!Z==g;tr@E*maLdrRfF7h@j`9Nbh?M|8u%IBJ-Xb12n^h`0 zJ(Efygxesa0gNe2&}0CxyCqu)TQCTi0bLPC8K{qH-RyLqStNL{6J3JR16v72jFDuF zpF`Uy*_ZMG1&4}@10G8(hJ5VHNgL%-d>7}|Qs-9yfQ44IRhSrv@jU~QquqH}@VoX+Qn zu7GW4hV=-0DOSM}D?6Vu77Q#0`G#fvhWH}h5o1wdyf*#<`E1t?SWbOB|I91o;USkj zDA%}x*!wQzZpJ@DI6!&GLFSUa z(OyMHmznJ`PF7x1`L$t{9+7O}U^gik;WFLtH<0YdTDKq|j9Vb` z9S;*&Vk;S8v=v zjGp^;i153b`;Rw9d46##7yLCl*hxql_1>ld8pSd`%5*4s#Q5S#YAOWH+o?S)Vy1iG z*mNwAeqX6Cdg|K|!uhRW{yAc7CC)GD&!Z?ju_dtA6oAMbaS_LhEfHP*ia6H;#T9*7 z0bMT!JyiwGqi|xE0+gGEL}H= zkHx_PcPfr4kP51*Uoa2s!P(PYm`W?Ke3Bv4YC_(U-+N8OBrM)({zDg9rglK3$6r6t z2;)2+gbY&!0`ovabH;~)bP}|aIRPtnf6DmFAQbE&F9~;?#L@I?UXfbQ%lb_rC(nKR z9OH+hj2>tK2)XS02uYYmT@*gr4b#?=0_QYb{Z0&3RQ`D z=v;(>{^c?}MOek}i{z*4Dt?^Hog}0Mr z1+s_}LxF%xG`6~C^P?fLY?QgoWJkP0mdC{6OxYi=HHDUFI881+zh_C5JokO zLAE!%w~7j7__0p1XTFb3<=eUVNr4jovc2uYxe%}Fgfs*FY<=v|fZf}R*673Kb}F96 zH^exoT7G#+cZ+LvhU}Sd-&BIM`VS%ZzK1+`(Yx#s8UavRu{E=Y5UhH`X86|I?A5<#-94@%6khL4q55) zdSTlUUj;!l3d+z(#t|F-X5;M14sq}Y4v$>=uDpGM(Hb^YIh`GTj$}sE#xKoq`mzC%=8Wntz7aGWkJ$)zZXlp05K1 zjYj!alZmm97XcKZ0R$2E;QKM-D$semq%xq8>5q=WtI7+Qg)>J+h6$p*i>oR^VbzaD z_Ut$M--K+Ti1Z(w`d^|CYGJJ)4?h^!e!1W91gKy?y)JtGLobRk3rjn&asHI;o62_M zZ$|YY8{mOkfWu*p96&) z_!t&V`|GW!15(nufk7ZMZKFIvZud&hh1Kw0x0hv zDiHKng7~K8tBa-t!bg__y;Sj#@PvzK1#T&B@P?BW@$(J|=<@LH zWqpioY@>`|iCvk_GAr^U;CiHAJay|7^ur|NsHL}u>u zv442V9S*f!9AKI0SDUu0QYMPmKM5J9Q@h^jXn`@$8~6#PD2o@x*f=TV!BB|tIv)ei zr)ETk?V98!U-To6*_tkAPk{5|mV0^1R9VmE6ZRs?!iX;0dv2F=TC&lHhCaA~%5VK4 znK2|JQ2@B6)MJ)xovcS4>~6icCxm%BR!bmh)VA`kVV^=gp)7$s%qkg!$`WaBVHC z&P7+pZmGoj7ENk9sz3~cy43gX`vN@zfblpa+rL-H;C>JjS1D(g(3Fgo0ICghL(kak z__|Lqif6w$e=+2S;_i&V_5dTcaNo<;Km}niA?6Gx@(l4vcdJ`ReWvze35oDCG1ssc z`Rxr695tYnFe(nO40f_t8H}+l4bLn+!Y@S4NZBF)bZ|VUQ$^Ic&{{t-uDzCyVh+ly z!*x?K(-6xt=s!+IIBkt^1A+=3Gx-nH&0fvDB2|+HSDp8#h}a@+62!j}v$xp++){uB zE1}rSu!*5(x*&-l2#|7T>C4QMp&XFmI1k`@IvipsbbEOaWIE>4bo{e8#7;@~_?2q-3i$dPZjMq!U zy6k*Nl|bnSMTq2(5bMzlJC`PE%kfhc|!---0;QpJ-*NohW+N zz#@En@1~>xLlXYgkOz(-waB>!+DN-YwmuQDu&!yOhg@*IKp{+zGilcgGMAklJ-B~i z59lEeh5T`r`r2wm2%^T&)>(4~DoFxOKR2POvqX7Y?t?|ZU62{y;6-PsuJWjzqT>s2|JV>?s zWKMY8vcN?H*^KaQ_aG4%Ufe&&`~$xvZ6&kzt1@8L6d40nh8Nd8hl&XuH8i{EM7jpj z7;1t)=M0q2xqksyt>6zMVg=`;e96FI81oVH3uSm9&Th{{=y~WRQKLDU{Knd#bxJJ& zhCq40PIE)+H_(7!Put5?95G_-82d7vP|a-bfi*M-jW8eI0dOE|E%9K4KKyEK(CqwX zmIzG!;CH?DtjsUoh^#ynhJG90`#!}bhyhoS}yyKx#dRFLw2Ew>^r_| z_rSIwgL+xCBfgt;mWxN+elcS9Ux*QR2InBYZY@8im+U&#In5PvM6ROv4Q#ix9hvk6 zZ5ZBV^brS>#j%EowR*_?H$&EY0~QKbC4jyUDmhoJy_%M=kvQ>~gP`Rb29KB#mB5ogUHEjL8|8+c0*Ulo&fjR_`ils zZ^AJx$jK?;wX4ogjPV7KV>G3h2NTo0ls;Pl*@nC{g`7ARW>l(^Wh`4zfDre#!QN>ec|Piil*XzUpC>5wd`v zR_W)sBp@?&qu+E=fDt(17h{$$8NN19eS!#R*X?ZY7ssZ-)}0=68|k~h4Z5~GX9iw; zaigy!CpALrh@eFYz|@@b zFNVw%@L-gv6`SC3xAA76K@qkcv0G2u0Hf@W@spt?eb!@UVx9cGWcR!rv7!WEYTnKM z{*yuBC0ua+%9nLgcy)K=bRs;b+jg@Gj18V)%+S`Z6+BUu<#V{KAnnN0JVT99SQ7*C zbvG*o<_~=Pn}ajVRBe~m-%}9agZl^}lt>AeU1moFOBnWpV!z%<2PjZ113Hup?bFa& zvHq(q#~3KaWicO=7y6a=riWG=n#cNrRY@7*Za+B<~6%Pt6#yv zVAJ7Gb^yR6Ukb6j4R*)PCT$>H&8RFf0&#GhJercEEg zq5md3zO3~WWeqgX^-q7!joz?B@vNxLwQxUYB(TA`LxWFx&emIl7s!{^@L_uzji2ux5M62M`6e2Bdc1&mSf`~AYT1-; z-(zkb^T!MLqR{MgDQm@0d7-$#f>klw4Q!Qi*7#B)A7V>kJzw=m$6Xppk3eE%SVQ`q z5y4X-*`?>~-a$CA24oS&#@6EKd2;C%!fPy?h*fmf$;{SaEgTdp_s9FGh0fUj9V3g{wagzu<_-ngX z5ky+&g5B48$kRiPzZkL=4R#Xk$l9d}Iww4^i3xB!(l4Xt6)`lBnU^%1m}!xS?GKa9 ziAQ{&WJ$l&Po%@EV%rbn#2i0<<;(6M81eMixMm^JeU+bKV1YB(^RQ`mDKXAb>PzAU z>7wec6_D$e(-0ivybz$n)87Zu!7jj;D*p``gGn~NFt87j*k^Q89rXlOKNbM;2e*=n z0OJ{9lc33u#KbJ$99Z=dK$p_6i-}p-2MQ?qX2hHI{5L%R?N|p;Z7)Yd7RRT6EfuJQ zxgcNBUQh>PDhK!k8}SB~o$FBM3+IF83=(H0(o| z1fF>r@zAtW&kfnw9hL`{sh35$W{Shp-wt-DZ{-|A7|s`Emvul&$C@cxjso!FNE6MP zfoh{9SR_v>eBS+-p^5{UVMd^klU%@-e*1~31nvPNZ%z8wuG>TQ1o*Lsf2Y#1Ik~V# z@>I~=CV4eU0kgxK}0 z^%P9swhpuM-^UvMr;w4!yp}yR3?FsLFa#bxe$GrmfeMmZ(7{2vsPyaB5GN4t7!ZJq z{BHN)put(3xrDB%paYTpR9GTcHa$MPR^r8Ms@MY~wxC z$HlqhOxB3%%e~VYyQpP9&iS%_7FlO@bIZQaO6z2^W;EB%=UteoL zEMkGcqT2zq7yTE+ujqm@kYt<0hqxVmZ7!{4lG{O+Hwc-Ga0S+B zV@(u6ov+hO3dFc~OM!3EVdlv9ef|Z9niW+-;Go$RoAGH<%&g+^;KJmu;wgONN`Rmt z#+i{dEgSOKefndAl~3{jdu$I z(z?ABa%X#8me}qxY7!FEPBTYYznq5s9DE2P1sH5)e=%g<@59A>@T<4XeXGMJ1{(JI zS?s5Sj2{g;1qFu!wwzAW3cc8EOR|!$G&$QCcPB92ej=TUEaFC#G_s z_3V4d<3&#Fr+i{n(TCxpU2+E^W9$Oqbfk7YW{w5e11Ju`XD~co>s-^S+=^WstS3Pd zg76*D3unMl3#1_hnDzm9_{X3N15E4`BF$bA&-}dVDnojd23a3_%t11EOCOQJ*kqxT zX}hSj$0vD_9|JM(gV28+9O2c4JTpDsz~JUC_HpRpEs_Xp_tBA^EYZ~Xm(RV3Gt(`w%p$uX9i_0KSVIGw8yP zEMT{+j6x>h1qCWBDZKC~onh?>WNkkH0mx-!g%74bPZ(GBX$_+#`j&6r^+^&iEq~k^ z|7i@mX$=(B8k6djrpjj+)*D>4M#l(TdglocxMH???KsDsLQPHd@mMD_Y4-xj$zUF{ zlAyh)d(3Zdpj7j?J8@B?M2HfBDOym%$c#;jU0)Gj_0DXYsU?uP2OP$l^N#!2V71^! z!=B%_l8&Q+|8&vV478B`-tFmNoC!{3myg^P59eM2Dm)u8YHWW7%fb8 zJ2^Mz!D61d!GVmD;bp9m&;-w8#pcSvECMsm=yfR$+-_M(Ixy`+h@!of`w2W2!YqI( zrKj8E;fu;DjP<~_G`P2kx>1H#MZB1PR&~-bkR2oG$+yHT<*TlZjSO!;CW{+I%OwNC zZz~>i_n5bvj{o@kbGBO|K@Il5n@gVurlZ1X1QsA3GrH~prg12+N9}cc6m^38*i)ev zjamjK@yYV^ZG4f3HPmuQexrUHh9)V&v=1=~Yb@Tbx|*dKiMuXLLqVXVFOgCFq!TGx zpFkC-aLgJUU>9zC+dZ+c`4T(Z~xIk7H<^G+E=phx3?~1wYg% zD8&A{c*bI7FPC_g7IdOk~)Jbf0me=gOnwc_Wt@F>F=)s!3sGcz^;K7_xJM3sOJxomhID zc_F1L+=t+GJ!5bnpP5#OZ@n!@cE_~JLyjKucAVK3e18Seu7YY*1&IXKmUNuys(CmQ zv1ljw*vSH)Y^Nr&ln6KT3$gJT@b&_du@qM=OzyNzRZOQlF@x}HyJ({BF(;3CJI?I~ zf*o(xT|Kib*3m$v&n`adp&{sBi_}e6ONyL^tn=gApd`UUORum9b{W35T_n?=G@zL; z5GPGwl(j)&?C-Cj^kCWt!Mwk5pV=JRD~O}2n4n}*sttsI26+||gct_sj$-y;?Hs(h zQtv&L%=Ic-l+v8`EXX7T0**cho17WR+yg92-|ABjxp>IiY35yc3;A_YzU=GRir6_6 z^^%(oV;MFVpz+hGVS|fC#`u)EQj$zMF=Nw#OPKyhxj*$UaZB0(LexJ>O^V0tS#XEZ z0qg(!TVrl(SB?fUIsyqu#TyRb^$Jb^9O(Xo3tlRfD3*<|3<<1D>D11#imnt`$|^AE zz$<3Yf;-2&^%up*gh;z?uofsFBosl+nI|QAcQN+tcUqrBOErrqz6ZMV{Z_ZJ1IKLCgNA?K&LUO}=T3;X>Q>@R{$uqW76McBcZk=p}O%xHX2 zCU6$DceV2kTNklz6#f`kU#}qWTe$@`nm=B_Aa~YTSJ!tAaYJ#r_Tr2|I~oY|d(cBc z?@k5nO<@H*wbL(Q1lWZ|CuEi5&@*DhagWOfPEM%fVW(TPFSdIgwVqSRZ|#etCb~d*d?*^LtcyM9 zsGvVC=-2HlevSuhGZJv39n^raGTlMsZomYfezqO}pe{naT*djRt~rB*@&IrNeuUM+ z6qI|PdnslKg)X-cjDJ?mFKw9qfph-Hn5}vNu?W{3k-G69j-rx9H)^Rn$!ndM(X_Ms zK`$Y7X>RUgVRbA6u}}P8k~mEN06PC;%vmH=dso>YP{Tdj?na$GQ658kUNHv>neL!r z#%S0gsc7Q8YW@~RPg)*x@tE^3#%xE=UMlW1BrDjnT<9aa*(oUpjTsj=F*B*P>ToQA zC_*9GW5ywT7MdWUHh@MXcRv%*hxquEng-w^ zE2FtMkk~9Jc|V0?dSdsr#NU`DjX zoZEkR&WNCGH#8#n`sv%PYrSsoH$gDURzC~>g+lq&pDZ3-~k_lJ9<}o8S zgjlxzd-MW%kQTFq8N-4=JVuO?i0M?mkC-vQdNEo+RgF#sGf2BNk?^M>#OV(JEB>D@ zAH--@@}a}O!hP8_(Wrtv8LWHNPzJ&ZqNCo#7H~1}sxqP`R*gHJ7+&vcRHPBZFlviA zzh!S4H%8mb@RD8k1ngxw15(|vZ=|$vCPMoySS8r+Lst5J3GLEC=gaN{M6-#xGj2L? z@g)G{$U16&Tnu>RZjyQ)bMlzC`76#L&aYMxID($eTWHW~775VMPAz|FX91+e(9$#2A`i}-JY?~=WT!PQp?8M+c4Vwv!$9O}yhQn2 zD}*BNWJOhq3)91@$CJ0^o?|XOEaXmlUk|!^&>N^{z783+o2_U(+K(IA<|6DA=q+xE zCc>bGUv>~t9c7tOz`@_UZnQKSgVE-)4aCe8oMe9wpjW|R?+j4DrH7SS@_5Y6W8Mvv zsae0@cCYft@D)!>S75VV*-eHuHC6Ye&f|vlpz8;64M^?~vBUl^^bfPIhzE{=QHpfH zD2~3b4L#`YLGSL7@f|+(L(meywX04Ipk%#gJ?ucU>S+U@+GAt~f2r|$irVX^!`|bA zNhp6Hpcv$(6m*&gN{1daZ~Z#b!-L*El*6k@5)i(lqp`yVN027EZ-$agMv-bLLBphJ zuN6jXI0%Xre_waNGXbGP=$9HY0+0n%&FcOzMX$qyuCj|?*v8AgE=ey2Puh>5=lAye zrvwgNelI#KP2f&O9M=6Z2)nKhCI+nTgY4)SG}?oW?dZ!D9*=ldD$GXdAHry#TA`_U zF8pv&1{d<5V&036gfc?qPS^S4%DWyk^*R)>)D}{WpwUZ9&M{YQu?D)WK+{^28K&^A za+8WD!w(zfe+=60a!9(^bTTrnH?qL8J~~-wIFIgtz!o@6h(PI%#&MDvmQFZB9WVkw>s)1C~$OuxK^wO|lyWifMRa-8IZ`lwK0Go!*T z@(;{V0J#kS8(qj9bCpk0VErqDU({BuBsjEy3E@H5r5guv;AsU%<~4*ao(og`&5+@E z$pD_!1@-~=u-~dmn#zcaU>F`UgRZ*gX+pLn2&lq`cAW;vuZ`lFFx{E3`PTKNjkVk6 zI5{*-sU#3{(2T%-P8e)cH+@;7XjRB8iagajZ$P=su0{J>r#Ova}0 zoNtvIB0&2FinjYvVKHKlBDgTmWDDx!FC<#A!~6tZYC0y7i0v_tH^GXEaQ{UYv?57O zEZCcgeKp7!84|OsqUV|jIe@CMi~1~*5ZFof3kmj>t4tw}Yq>k@I2oxT!RKn9wwI}R z7A)JHG3T2h9NJ4qP$kQ&ZpCbB%hYf2wJYxK#uS-eDo=W{{X@4D6BT{ zFYx71=oNs~Z?qs-NHINeM$mH5^^iRWmX9j~;pdl_0qQ0+=+PrOB@5}Z3LpY0j*|mh zm(+{ht#)Y)ob2xRFOnD-?%R>je8b)+Y{KTkYGWaQ(#G^3(d?W0 zTFBTet_mYNc0hLMCnE0>p4M?22t&e)WO46x=tHq0RZoDW?=in#a|vnd>+3{905dOx zVMMi}!fp3DZe4SETwrp2m!TjKS<_9tQuLS+JVJiTD>nw9K;mgRaeP@4m*8ht&aR&S z9-9fBjMv5rB5(&MV(FCP+ObFh4K&8wvOg6T2`2@{w}V+e4u5z5%C})nI-7>2RGEdD*{SYB1rRQmEk{If2O6=*ha*ooYG z&k0D{5@lr#AD1{}ME#+;!LuE6G6yjiOyplI!Bh1VSmR&B{MQc}&=PYfL}YrmO6_5y zg~|?7uR4X1QOu~L6~Bb#B*(n~N(p*tS!e^K6;`odJq6aZooC!#K7*U~svPZ{k4!me zP&@EqlcKR?tFFO`?jDsy)o8O_i;1W^+x~Q6UVS@g|4)MC(_C#UOrgSv*$$Omb#s1O zwN=l7H9uo6>D4cuc~(Yu5PLd%UV`!PD|QDDl)Gr8xatBbXecZ)<1JVz-Axq?GGOL_ zl>~3K3aT;u^ybM||M6>Nb}FxX35muq=-$%y+b;gc?qoMOADVgCx*|5zTXF;uE`$nZJ3$rBQ@c5lSA%|ucEiIU%NK_P2l?UZ@U zWI+nqKhFqg1M4As2y57>_T9_e+dx#X@Y7bcZ*|6DcUF|B>tGdh4eNT6Iu@fckgIek z8ipRQmG~SMC*6xX1_+J~3GCil*7(E%{d2qppg2ule6+jH%}*m^ez*m+LC`!);GYKZ7|qdMnNkLs){O*IkfKsK_yW@`Y!xRXY0hX}^69WTYMgA>(;TzYgnQ zY#qBaTTnTQKT{L)(t_tjM3WM)C&}p#s?B;nXw)^3G=WJfJU@D`d>ksK{E2AD!6mNr zGm^ses{gj_Oj3`*B=i@n{>0#(hbjI1l0)fNGK62l4g-<>BurA3(C-n0%j?VSa!`-j z<%6?}>z9Wqz_Q0Y6!Y9lXuBA{_g1vKR-Mz@^M2FlNe|a$%QGm-0%lRS{sE>92Df$? z51q(R^qtT&Ap^stVDK%b{W4}!ke$2hj~M~Ml?$aFV(sVG%NRT5u)yJC@y}?|HIb@h@~9>y?Pej459%F23K%v$55E!Zx6GysqM~b zNYiHn#xvYNzv4K@p$voT8t_XyW;``|{yk)F)Bw1V)u7dI;fff06zi*l&~?FQ8(khE z#aUoDM!?cR0x2a_bsh6{dq5{C#~|AG7uB=f053N)=qRkSqlR$K&$KGdjWLku=@0BP zdOUG5Bt<)YRnM4{%Kt7fcB1s3RL=-?mE|}BG{RmM54n2C+d~!-?=QYQ8HHtL8~&?RL_v>P=?^>S$H}nD z;H7j18hW57d! zA?qpKa}B{M{OBr`M+X&u7NE$y!3AX~wlKs=xPONJeguZ>VKb->yRz%5^D~PJZ>c06 zGoGLgSoA=jzQv3k$D!*>OO%S1gI9A%vsK)3-KP=xLX4%@2BP^D$8~8?qIIT*8Im;H zHCk8N!0xA(8sUnM;Vo(G3@M@>Ev>sD z2hnk0aClo_Gv~QA-5hqGd5r{P#7@hzhU=3cscPU)vSn$J{Spmyh z_PJeDfyweuFqyAjDrH+nQx7C+yA8K3-2a4pHF(P7&8aa^rQML*v(1jEBUYThnD6RfpoJR*ZYePOAi1I; z=|l#?r!$npU;s9|b=eX*&at_j36(n?QbKVWlREA=+%(m$4EkyOIzOEW^5g^CB9SG0 zHrFA)7T>!kC<0Zx2=<9+w0g?UtWCX`o1Xqs+pmoC!H58i|p8nF7{(wM#g*=*^(ec@{ zJONF#6pt9VJ9YZU`8;K|C(Mi3-q*fDCSh0ic165CyB}DRu=-fJ zBm@6iXW6q~+Or>iOJ7f!!7Omr^;Z=JCkU@yQ2$3<1*PX7%0{d)?aGB-4BX)J`T-V| zGb4w0StymkK;1cqmZh=iR?PSjF?8bVGA&!v#Oe7j{mOssbebbbSvzbRtg^Uub018D z!HMI`85<98FH?LhQ-XygRUz95&$I5?hl&X=OuLu{ey}}s|W2F zF#mG~pylc{PW6_bgLB@T)X|vPl%Av{$Rxc0E{k zZf2!ywj;?A&RHTz_OV}3Tj2vC`kf!*YmveY{+;$7s$fPq$P2Cw^?))+o=CTP#5`ix z0nEYEU)~0wETj)JBgR(SnLvQ`=8XA5XWlThXr+1 z7=2B8`qLGcB^iUN)jQ@h6A8)Qld7d9I5;TCC^ApvWJHwUp?hTBD!`YY1XzJ}*{=bf z%|*zBOv5L76MujdPGd5bdyboNd(2fakL|`dY49+9MI%ULU#1j3d(WhewPUofeJ zdN049y=#~srrSUlf*R0y+9JpoJ{Dk#k9C_@#(3EQI--e2G1F@dh}Qjn{hCLd|60U$ zQZAmm-Bn#IsW;09r$amPyj8vVv0z#nn*&v;LF}K(z7w{7a|Mf+Nu!8(1U&!R1&5;( z&T)3$Bd8<@>36xzly+#iA~!^CI4Skhw|gbQl*tYeC97_@xp0+upe2uZDB>CZTEwVg zqdSpUhg8{Z=lf7VVZz(0QpHz~IEAn}hrogd)oR4aEvw`77#FAuA;akrPmg#z#(2*D zj+jweKJ8ao30N)L6rW7ZCDo9rI19U-^c2e#DsI&$3>#N>vgKst6M|oG{EFPk;0&?~ zPreGZG`I^#bYM-@%sP0A`Vxk3#Gv-R07Sw z$LRuYUt_q@>3f2gab#LVRrGT#4Hqvwi^{n9R=`~`XOFr5W6b}4S`;y)L-b(KDcC0v zZ^SKcFeqG-XRdypF(2j7rS{%G{a8+qc&(ESW6}knH~oDQ+^DRkxaxobP0?}oHF_vif0MM;MKHG1rEpA_sxKq;W?10 zf{sRIXvJI}2w~Jvpky#|h~)vv&$RLDXfQR7RPz8xd{`^d5a|``G&jMgz*b}Uiq(>j zxE`DEETI^nnSXIy#C1wqtZN_Z!hUY-$45E2tC*@b(om!}CMQ%qtP*=PwEzV%Cmf zc1;C}(_EVr9g_qBD_FzNjM+Y5mkk9FC(qvi5Q$~Qf=_zZ9)gOh#MX}&f7i3NbYjp; z*+M=7qmaA4yaHB>2CK=Fgm!;gWlnZHkR}S14LoVQM;`)J1!`SLYC#?w|3lno0<2}@ z6C_z8t{;;|yD(u;D=aQT7t+g8iD7fMO%l($Y*K$lM1(vYgt#DNdK5%l&>|F;%SubY zz;IiU-U24~xist&W7j(+JQ{tMjX+;&OGgj-lHK}}UX?z@V)nGOY*Mo{VrJO~Mt^Ft z6MBzU3X69XK;HeR#qOYiVU!is`1am$y8!(I>oDH_0AL{+&0N&msutVcV7%KMeHJNW zy~VD)mtpBe!n0o&oit)**#|~{h*=)d6+{{I0@^3_f4Cehevfyo4f8}5`4>Z`%|@LBpsD?T%;%mqn+3~|$>Erea_IOYG7{y-M3_JdSs?vXm#Udep!{l< zLd<-eQ07n4#P(q7lMp<#zO~~T+JUtBEeF{S;ZHlat2qJa#DzMOtjN$eTvxMv>Jo&c zi3_0Wqd}Up<}|s8*K))8VLUUdcHDkzu%GvdktAZ~lLi<5Ky+YXJrYzc*xMxuaq3-2N!~sCBv~fuDIjrJ>>2o z*MAOKg8k|Ki;b^`7btFp^VyhkRPU*He`z9fn8?A!=vw zy>JTX*;=1Smr9THfnY~K@dezaT~p0N)(T2vuSq&#NNWc}P<{J0$ss!hmWS7K*)!lA z+rc0s{yV>*ZxvchGw9U=cSlydD&PO`XeL;FabX26sQ z(QZ~iwTBmIE(Rf1G004PW$i{K>j**|JJbaNFR{5Uk{$*@fg zAXgbEMyzju;J>)Ib`?%IHq?XDLyiJ}u2LdEj$o12;8&p==m<+I%HkS+N)~25i|qSW z{vI;72yzd#k>p%o=b0q(2a zQ*MMGA;W~GfYgt7-#8DsdB|HL;rktWDQkN!`wvmva>1mbA|GxUVxXO={1SFx=ZLQ* zV4Rn8ZqSgF{z%I-LZ;mtSFUUO%T55%7tq7Vx~9b{w(>f!>QkC9^I2rCTlqjNXV#Qp zS0ZD;-bOl~L2Gl6(`NT0^yj+3`cm5zsCkMRBJVZ&${0;P+r&J9 zI2>HSvLs>Vv&r_D5yAW&Gh1nHBCz-5VE~y_atQ2G(l`BI9}Qgiva-$NYI;?2NG)br zJloL_^sLLOhi#?LUl@NgM@Fry@TRy28|Z=1)?uC=^4L$tL1&C0pfryL1(50=^LTqZWMmH8%GZ8h`z=>I`F+;der2?S=q-_6pL9*gw5PlwuT@%6BFR_je3BU`Gd!2i zQ)cIG@2OSIz%V>y3dB;~xf%}Mi2js8U!w=Ar_5N}eK~UR+?Ti9*AGY8o@qgSUpIjskB$XWkO*nBHy-0{%r!q!CC7l`x>p8?@E3}0XA zZ}1^a3TwcU|D#v|wL&)Yi0PT^XxdZnl85kAQW@0w+gCjMy_j@ex71@^kUzSIU0H9g1a~XRm&1&#C`V@W_ui`n1Q4>o-$X5W&&ge zspxSFW0>?zxI)A64Op<76Z4PRb}%{Mr!ZmU-bKa8(pg=N%0%8MulvH2U)hu2j0Xoy z#=@7?lMs1m=$30|0$jtGt zC*5N1*qcf1!N=u~(`YW9{K}U6xM2=824LgwH4ns^AO{iq$lR{Qg1WRLtSsQsQv76W z$SAOpF!h|PDWT211ZL)C8YLsGj^qVize_y>bW>Ujz~b4jjQu&E=C$CuuV-A#$aUF> zK>P(t8}o8HMRs4zu+b8t>A(z&Kjse0b|GIH)znCYjK_E>X>F`%aJ-MI zp8d-Fbu_+1Zjw0(oWrOU*N{;J)GDFp*r5$+N1Z^O(S5I%B zT|U?k^!2~W%l+esMCrfR?1X1tc592NQg}-$R>2*0iKYW5|~o~AsOL+e>p_uJ&wX|4{LTtppp{R(Dgwv_;*Dl08oWULWXqJH=D_v2pR$$0_*qMz zQ+r`R*Fxhi*^DqC$|z)eLB#;)tM8e3_2gIcelFqxUxWgXza$x9eKiWaeE3LayjLo~ zU=2R8b7io>(76EZe7q!4R)EKf22b$k4DJ2OYsbLsKeG9?Lt<4ugtDct8SH*t&)M@| z-Sc0`-yJr0@>Qfg$u8W!B!T)2?^?h|OY?K6_=Nt=S=Y=T2I@1coqFG_gOLc^|Dt{1 zqsxAI>2~ug2}21wiNWVu{K&K2L-zDnpM_;d#`JJ963SaB&inuDx^#u0o}sH^H*EKn zLPjf#gh@Si9Q5%KV|f6;qF*kG$Esh<8`Yc#HL zjSzl?tjU722O-Q@foyLePdPAJNTRP7@hhb$u32Ehn-xpnr(Pznz`O)#&9>6+_6{RE zd2F|3CnGpWCvgEY0vTmp%bxw}p8d-Bu9xSj@CZ@}f7pOr8CIiN0_K$@-LkQZ>jf<6 zqe$z$N&-|^5?Vn(T+dF#KCT}rc4e!&*XV`e(ZcstPk!}R@;mS=L5EzHvk>*G;2L^S zw~DkG`-KdGMIqDs@u;x7170@ncD2Yq4uw3{)oFzsgmdv62U7;$C<~c}{bCNPAOEU8 zn*ZEyX?=_y+sWTp7jMi1XxH_+0EO3L>Wb^u42 zZChdf6M1B;LO&V~IJH|zqFX0&6Qhv&o?||&wp*tf8&6n z#E%|jVE-R%_Mmzhg0)@QkoU)W`+_TQkL<$YKnXo&YYCATARB|0l;sfPjxp?cE*&(q zZt!Fj)`Z^AV|FJZkJbm5^i-M+bwKh zLJzoICK0w+ygey}NjfYxPu%0N4H}YHaX$X5}Xk2$fcf}(9BRX z)wN*`CL67x!c zxNI-Bz%4v6v`)El-&mI(@=(Zgd&)GFr=(p4VY{_yP?JS z3>@NoS#Tg2nK5fc?aE^YZLdr+}9UU7{J@z)oHWQDtaia0Tn#{)5_|eh^>`s45XJS z#Ddrk?oR96%9lA3qM}5cwut}hv52s;WKD+dzuo)WPO2eM!6KlBbtxg zyoZpJc>4bA(JAn{i1iP0+1t3N<to9Bt@A0AG|6k=KDn;*NanV8E#fIvHC|?RhwunyG6?ZMoCi)6_ZxWD zy!L*0IbpBnmxUBUwM2_xxG-Yo&%?RRUCFQfs^tDtiLbuVt^p>*0Ds?>S@_3PWJ(f1 zI!Z^Ui}NNWrUH_e zld_KWB%}jyVt~*1ruTJ$U(to zaw?bqWcnOfsD1tbaJRYui6Ho)2;t<13lmTqz-}s`GkJ$>Wq4XiWRYGJGMt+7Z3L0~ z@Q~YI4B5UdcNxlCKrKSKajIM-K@^6L(y0in#B8O3{Yb~Da!pc~5%a|R*eic@>F2_V zch7utEAi72cdbbzn)3da%K-`TVuGMou&8pDuPEX%AuXXG+<3i`8=n4V`ioI>17h<|YN;qWGQ9Ap?dV#Nb^r<_ za_}TXjZPHkl(frxpyr0j?V8#7Udp5P6gdBRWQ0E}n8L1!k=>a^^UowL+d?w6XW@Wx z>-4*N**+PHzODA8H#%_UW#O-pkzgcsM=yP(>um$Eh-5Lc84grupzs{ElW_zOvbLDXS3fFubdZ{Tl5 zk|e@7Nc6xbu|fMkBz2iE(y$`G)aIu;D(H|=vw~8SiXS3qT_TJ=1Ggg=dCb&M1zt>D zunYtTyqg+IgU@2vV?MdJqAADN2aE@TcG!aGIitlJB`1)5I0td&!cGC*GiuTJn1pCw zlNdD7NNO{MG;0Svp<4qKQl1*0;4ZB#jRIi!uz*oRiSRv8%uKaT*Rws$(+&b30%=SX zE`KdrJGDLp*HkqhfBa)A5}It9(B+bOYZ5R8f~-GK$;sNKK{L^=`YpiA{!1axe-ZKt zNPvZcq^#MRNC{lvf=e1uEGJf*;sxeWOy-dKQnK@ zltP|Lg71N1)+spDp>~S`7>5WX0dCNF+|FG>pE@z{_IL;RJTmFIBP15o?JMX+r43b( zd&afTxacfOJ2XofgA{6aS(_9xI4dmr7du`0F+7D6NPfQ?c&}X2muz%C;T$Yy>hD19n6PFcrA_V~grU4GlbjIi%$-6163{%dWy7Gc~KWNR_eLi@1an2W;YXsy!99@{amQoU&vL zDro;IlMO(Kc2o;f6}^X6Z-CT?=9QpaJhF+=CvMPqx|}!IAzNj4i9Y2|6rd^OVKCox zSo%Ts4vkfBOwWX^ZqJ#rpeuO2lB4p(f0O6ubu0q7HV@kY99HB$+O|*fCnt zin;Hv;R!!5-kdr*1&o858BN2zrWyj{`?B_RhAjYBK&Zd^Ig4? zRjz)_5{^PbG-XzCw{{e=S?e@=CTv?K6ld%Za+6*FlffkRJtaSr%Ne91kmP!gfEhzC z6f>}lm!!^JaX^L{6dh2}J!E8H7$N$PdDz1i6WG!nS3?e!{vRpE4zg zPm~gLyQ-&bIihkxA^vjP_D491Vh_zkWW7W6kVzi1EbtD}S2C(DLQ$8r0HP0ZqXf@{ zJ^a0p8`^=X1H3_m;BBJ@D#G4=;MR41A|AZ0E`n_h77}PgoS0C~x@0ImIM5P24fd_= zMiBn{^`k^MTyM(|63M0tO&JtcejJ7I?LAF9ZB73>hU`Dt%@gI2l$9dw>tB z86}Uvb&EHJY%U?Zm8<{KV8Sq`OX%CTSC6hk37!J`Rz25aRfh%8=`q`tY#%Q_K`UHB zE}$#yR9H#In)s1gr3U~uWgowNG+~7di!?D=mW)zv>(PaUMu zG@3$uqdI_DMP0s7S*1}o>N*wq)@a=dy(J_iO^3Z^L4fwyv3f&=Fy%V|#9FZhwRnJLm>lUjsie3xV?m1$(v^)y%}hE6zd)_(}d(I z*I;KFLlzm?56OQ^yT1V0M0C!kjLHumeY+4C!6^W zFT5_*=o*if?*h%V7;<{b13z4Q#h_-{ZC#$2G4Yzfeo^Pix-1w6;EEiUUK<Q zz3^qk@~w19uPSD;b)P$I++xlUO=$1+yF5mb3||%V*8edIIz8vefPosA!-XQ1aG(g{ zv2x(CI@m!pF;GTaZj}8`h0&1F1A#k*!|>;9XGxMs`~lri)NP`H!l-=#of&cskJ(e- z*t$PEJKxV4*(B`H*XY(Rqb8Ci7nxm}O$J_)EFEAPf+lH5z?N4{L|Nb2Xmgh-Vo5>< z8puG01vLl{ByWM*Dv5^O7v0xtR3D1C{By*3NLfkiZUeSN$Aj6kaFbWjo8s4~9jIt4ms{4Kje&oq?QGO^cYV>fY~+=&5gPtsflx?>htf zEyC+XNX;NuaVAs~TR*yt;(~1h^>q0CcI)B9_=pbz=?Kaq6s!LFq5XX^`r?P!H^JOh z5l7h?epv~D7*NF9478p!{?UU?Y!Sd|LC}{*KNmB~`OK8%r@^_XG*Rk;2K`5P%6pOZ z?IXuW9g9lssF;GoOj%b$FOsrt$fsRM)p!7^i9BXceq&og)H6P~qWQxMZ{J6hh2m9Q zfmS36SI{^SEl+{SE$Ld>*&mn4py4=MRMdA?$SlFbQj=3jEV)wfu7LAbz_^;NjwE{e z8`};7OVmTi_KQj;(Eo?d3B77Yk{w+$i)09ETfiIQ3NfKlY0mX|%w1+VRDP_ZJZ2=L zTVERg;L5A7F9jOhErvX1Pk>`ffRuyZ?_W4>FC}sH{>l&DNp>*uY{|VhUtU7&s}dtq zu4{E9mhP}en=ToR98=;>U}2l(`0G=Q2Od?DC&0NSz$2r;>Xp+pQRIvWqP^hmr?Lp_ zUm2=J5So0IMOL?26iZ=(fT0Mp(A2lf%lQHQ3#O?{O5pAGk&J| z`0jLCVHRqBl6f0NLPIFvO(eG$p@EOU*)6Y#@sEw05u`^9dkE_+PKEs<-9a!VdG4Eg z?rR5XBl^-G{!w%(F_OO=mt^3}K^_vB4BRTXb+*?i zKWh92$_R3}`Vq=w`WGLrR9Eu@a$w1WiqN-gU{>4}t0d2TbIX0;2ERf^oe!BTs$C&K z5Z}~7A>(#e5eKSH7^cI3S1$ZneoZj&J#1t#2z0|Eu8EOXU7!Z>@)dCg`?{1$hD-q0 zL-y1+x72r<(;_K#eR!P6-q?k^>IFAD-#Rbh9&t_!S-+j_{J`S$gDISsb{6!a5t5-1I+ zU@8!9WuV9)13t%sp^T{b%iV2&UZ9+mNF{sAM_HeLNM|P=lKMiDD6f@33b{mw= z5;Hl&vQvyUFo4N6;3z4 zaKMU=nA5LY`A`wz6ovgQ)Qqf5=ZOS4O7(WwM2mb|E6^xJBR~h+X@0sW`=qsR#oQuy z_b`z+1AfqYo-pGJXSw4qAa*X%3`Ug&BAtA<<__R~=c#Fro_ajHJ z&S`85$rtP?5?d12^lKSw8=O}v_(UWw>T@j@>46Sp16}!r$pG@gc`kV+pj26kWndg< zd;5oa(A9(9rg1o5eP0*|s^RPkVIJ3bSJx?!ucP2+D0%SuCB#-p=yJl648c9{w5KN^ zCF6b#Jn;`qMXwn@MW!RP66}e(@RuI4z2Idv*SUGfuZx*X^8G}uusrS?XjnDH^2x@J z(3Daftx^~OO7V;XXkodL;fqT3(|S;gY!=6hCl=VWq5z)la5B)<4?_I5t%uw_;`#R? zMw$nBkvtM)iuPHZCD{|&7XXL~69xA+2Nkq@Lrj=}{JN$Fg39eRs9P_evL6=VuaMhe z-~NX@5|_-v=PTrvq)xPPWPsGYhO|J=V7&w<-m$w}to;Oi`~7`H$OVuZp#r-jS>dvKoaQW>~8ckmSMz0Vai zs!PB3BazP?w&LOtzh^GRb6?)pQ1HLM4~AtDw26Mp3y4#O;x>dsp|~QjwZ_IVNh-fS z;{fFR@e4vf&?zyHuyJUwZn|?538J3Ay_I7P<0>W*o=A!(zr5|Ca0B~(&@}Rp@j}+X zsbY8aBj9>tH;3D}L&iz8Yj0hpW7J*)L`&otg<9MryYd8So%M~+y_bpu=yq!*sjmEH z_Ts~1_T-nhMHG;VL(CBuOeT2x%YJd?5>`C)cd!uIcoK8577v!Y?mAEkPt1jL1Zo4) zw#OW`yWSw4idjR!+mL)9@U@<^XTP1Xfy3(|W>#uk1DMjt_*P1#D6u0v#Ac=6h0vK@|-cdI?hGLdBAa5ZI{@KB~JGvfbX}+U!f#Cb)P4%zIyQq&PFCLcXAO z@z4tgjgTd1i(4N2qt9#^aY3{f?3t$Wdd!H6(_q1(7%OJBs(Cr`x{$aYv-N? z<(Ahg==m>iZAm^77NJJl_h6-uq9Di3J8a-D(j`S%j6g0YIENR2~3{^gWbif6zQ-Z2AxJjKjw$%^*%)qo)7 zNb+k`coQV1g|6H;v7= zm7o>UZvG8n^_ay66x-itZNE!9Q1B zbgc;=IDKB%Wv=BxXAk;sUUZ;tK#n!IF%i7LGsZ_qgCm~d^RyMS6$z<0Yy8ukNV&)Q zubI9dbWzMZg5(dSMqshUc2s|{09*RTKo2m}3(1X-@Nkyid+LJvwuc#m?p1{i3Mg&m zK=#;UNg&7*9vVr+*t%VL*0o;+9p&>3^j|v9ZHt*f-gnF}vxnp(_^SX9Qb{-DBGf8e zYCjxY19&vCNo7U$P;hbgW<1Ar&^>0};j8>!{^4^Saig6}PAubZ=rNN7<74Bjm^nd* zu@TqC*U+|0O8)crA74sg!n}N$^UJJI?^oz3Voj);RL%frfN-mCMYu!&N_%n9Sd|U| zf9##;3v`A84E&kx9i)x;zBgd2AjW7Xv7*lg&yAQnO7>X!F)w$+ima4^V>9^4q)!w62G;+g=8c4P)!}7K{;MM-T$j%tLDC(_1nn#IaY888e><%WiZ%E>& z;p$9UK+|?Q6A-VDM1wMglf#AclLtHA-8lQS?&RStlXRGszRU*aFu9@G1)zH2S=XLG za?%EDD`GC&==QjR7#I#fK&t>yGa}vHGuuSN)Bi8;AagYdq$HfQtJsDsVv5(yoC`O0 zwStJA;n5IA`5fEgTN8M8a9I32Kf^BCaSOR_AZ9cyzZ-752oRo$^g)!3RpfI}1u}bdYQLjJpU3OHQzg;l@Q(YFQlsT;aP~SNf4o zqF)@71`XXqRt|h41_*f^Mg&9JqHJ<;wHho5iq0~KCVNOef8cJmTM{e;uxl#hxA|>f zzX=1#(bnr1D%P&iAF^ASXlXfl`qiI4E3^AxCXeMKi;6R1{u z%u0bRZdb;CWDY}^>45K!Y#JT=!PV9lJW)z8I1j(0{)65lUg6Il2E?2X=cnC&|8Yw% z2(>i!Xa~htMrkBR1ULg(&e0B52waGND>S5|1T{i=*p-U);~x)}A|V*fP5&w6e+?*+ ztTKwy0d)!dA3yg7+Y|hFGTNnO;WNODW_OgzXsj^@PuaCgLS6h^xYYiTr3Ax=zD0b- zQ`+4R?UsTFfmp!J91XDll3BrfPD?6`(3rk43&u75>9}d(7y=BymZL8`d0dd~^u|hRFtP0n(IY;X9)+3e^QGZu zBT(ufp4G*GbeKCD8;DpH6|IleH>-GrE5ZNXXg_So@n_Z2sW= z2V>85kNJpCYfExp=&4;l8%CZ!RdH^(ZfFklk zb8W~aRpP*LTvLH~>oGs9#UeeJ*!l+EDTu&*g=`nl#Spl$oE&npR#KT+E+s1UM2tbS z5Ks4$rw)z`r?HBum&@c;3uUelWCYV`_aYtAOgRLtbRC=1ORHu-U z2pwhR8Rk0o8>lpB*WWv2&d+zqXBuu*kBopK`GI^wRbKIQX5fz%2o6~*3zo|YgYAK=!at{d|boW!S&Btu(BDO*f*hp?J;ZjI%8V&jpb2}dtA9<{Bjj4QiLJH@2y}s2W{D( zF^iyi8CyTGkf1j(#3G|8bpuX!a{#=k?6R_d?m=@wD2t-KiUyE^=3HEwEfd`$E`m=; z81#91v@gdc`%xqa11{y?1pRNB!-%>u6{USem@9s4PoveYQLE%3+`(e-+b_#o=yrh1 zLk6m#eX?i{>F2}#URQ@CVL%c+L7%x(5m&kku%5A^X^pF9}4Lx7p)(L-9AvZ>=eIdw!WiIHE6k&K%-XWi?$aJ+IF6hw0`_GR| zh``aJAOQRZ+mls_<_m$krm@@Yt5+nkcCilNzyC;&Gflvcr7ZluMEO_D%7gvQhCs#U zAehHoT&^Xw$ujWZBZn1*#4f{Fv`V51{-6yYEp%Z9-ESS60{RnP5A*#}WeEWVg`L2N z4kw`0OcEw#N_8!FZ9Jdt-te++cqSa%afbNuUGa~E_Tvpul-axrHT+^NyD24Vz6iMQ zf{{I8q{aeUF|NxVUhm-&MIQCk!f;SH*^5pS3t-35AvgH zH)djWO|R@Pp$x`7X3vCg==&dp=}{ta0 zg6WPo9Fhl8gbCA4n3H3#JFPm?MQ#PW;=}R-#DZy!H-@LdH}d^Y0mJcy+|4k=SN{qa zK_*Ng0=R4m={I{~7+ngLT3-4HU}kHTTM|Q@6>)7>TjMQD)I~)1sO|p+y_>HKM81X_ z)05yE`2I)j|BlWdx^ns-5OpoAD26G*QRqtx$x6e)1c{z@K5Ic%J00f@gt5dO)K)$o?lI63nGVu`)D`ZcAbGzp7z5l*3ka26mee(xP7A@EcCTOgT?Y&ym9!k21 z&XeV16!+t;z6!sVR!?nU;p4Fz!#;FW0hm82I;59asV?%N#+CIX>bo-5V9R*c{r*7Qi; zS!!OPg8@D83*#a0Pfvlf?;*#Ni5fdu%(}TV?J&o+6r@oSsUxQaa;_A9=xEw0zyabJ zA0c)ZNNOyM+(eBl^O_sT))mIAUAxNq@*B)EJp<0MpXPMhR>h&1{SIao?0%fcPG(Yb zm1SPgMj|3fPuf7Z^5wqKL3nY1u{q3Ys^|(>%&+-{V_8*DG^fb(| zhTU4<4fh{Vi}{vnxxXS)By=7?f3}2d-X~;Ks43JMs!EO}pyZs;Xp}N&<}u4E3~3A3 zoKH0#6T>1M7`D{gQ!eQ{`!TA%cC}_Tuh?YO&lzVBGk}su1P9o{Sq8sn1aMVH5QSJC zSsdnErJb6Rn;!ufWp06^5AQ@<6vhIf$TwBef#D+9Z|1}Egs5}nSC!G0bOw6uC^5C* zbU@*a8S!Wi+a+Ih*ZHb0@PYx=e%rDzSzLO}AI(@C>oJ#Tj*AI+aW5*zoF4LaW2BQp zP{nuQW^BlaL%D<^B1oi^s#zt5^|fdT_adMJRtBHOl~0#Z3~xi|9O2L;~jMoBVJ_J7aNmNRr0F2N(zQW&vu&YICLjeiU^chIgzkOn?>YudZq#e0=}># zV_4;&;KI(e+WQ4bY`uX@_CP8nIxD$FTE(B(NBmm-U?ts91YFr9pjN(OP9F2GqWNSa z%6x(Lf;*GH<9MnZ2+-B;2q?*75#yRf7l<>$z`)dA#``>jk7!lqIV@c~W|%D{&dtn% zlV#~&5+l0*K32(9S}?c|?f2ZdI68_FGG%X!X&dKU>j)f;s-y}bc-Ter7-kK|MhVG5 zTI%%*BITDH25M)!i^NZ!4#XV2Y{&~7C3`U-^#+6R=A1N_2E z@d|J-ld!`MTv9`ar_<1F?&I!e$}%r6Dx z>LSR<{o8Y+cLho(0hRmSs49(sYgDw-gfaoeXicLpQ63Pk6$S`Ag#Oz!s|L@3aW9_2tIPomk^%x_Qd^kCujgc)VAXU!h{qk zF)vl$dX|f8R;lQw}(W(g-g2YU5|&d$YO z7H18fLjyX+h|ZDON`b{H3hpN`Ch>+I;YbYSzc#rhH=lL&$g(CnD&vFJ$Re*;Yf+ad zvLF!(TADCv6W;mHR|c;QuOe9T+9Z|rIT>7u9cv9Libd%_YX(9l|9!;5juJE|&4>=J zxE>%ul_reknk}91yPaOYSuYC&Q`IiX+u}Ml*nixwpvt3(lt%?v!A-~3=QE%~35KSH zc2Jnbqz8ZX>Vl;Uu<_%zW>_;Up4G?Zt4b0EYnMIb{Qa0`h5wA~8j1o++5(tZ0*k}_ zHiMsy1UW*Y&=yU?viiB1F&?q=+B$eAf6BOa&$T^KC!qIf z2U2{sR;398hIWfNo-XFemIH}%mOrkJs*@4KgUc*@qkAoM3NhTf0R%ABe@r+KE9c&4 ziX-!HrtJv6^|=w0?6g#5JLZ>>eU&B*M!$bCWG1)v9W6hI7CZAxRPV>-aszhPvYX5O=^sh&AII%Mjoh&7xXO~aJ2@xqv(Uyms3#Ox_ z$z(LUD?E&8bxgoB=|jIA)~hsOz<=!_A2c)mbeQY=mJ1rr^{YygL@VD>pEYqqj18^q zjs%3xg~%lrBRu~GADc@c6Ksdp;-nL_hpYtH}{Wpw{y@PJQv>={d_zIl~Ae>vuw*~u9de@TESC>OW2+# z3^tFtp`yu5IVQBnR@4FB3X4IVgGDyie&5O)CcTPGo@mXZP9F7s*B#ZG?apf0jzKJ; zf|unFiF;CQPHxqPpN}2K31%+hYSJXc@)COI64WLL!pCX@F^$_52)UjEgV5v)H%Z>D zGF0L)mR$F{?mzh!a5mU01et%al7G0{n1nD~rhF3HNBDcrMp~49%8;O`q82d0S65LV zu-|nOhoK($)t!7t#|I4X2zAVgR$CI7)y_A{2|PH4avBgMERx{qGbtMVZH!fLL;$ey)Q)JuiMEwwaiLOL7>vB?kq4!V4wu|-W3<(y2^ct!~oITgSN}{5Om_=O$ab+@sh{Oy95v0P~l8;`y_X!}fM?qJh>cum^%$ zB@#nDwgn9b@;hkl2k=gy_e?_nPJhzYY$9;PjNk2(L8254$Eimk!9Sdi2CbOka=FFy z?K&)Y26#I{iyK80R2Pj~u40~SJ3QzdJm~G_V4V6Lb2-avAm;ZhQ518ww04P7fJqNn zqZ?N~=xVIw7(I0D(-bt=Mwk}M#R(IuWL*(0I}q3f8-}UwMTeAPkT8A+Jx(I@7Rtds z5IPJN$sLj=&X9T$MVCi8njZ-%?*=;${5VPIXzg+6Eof=jPfSbw9N71ZK+(z$ zmU-zaR!POc$=T*H$JOf}f|gik7h|{jf(TthWhn2=Po>1;^ufP8aEVzC(NuSi zi=jms?PrR#d5yGW3KRG@PleKoVYR!@H^S+7@Bpx)^S=POXI0UOu`U=h)^5HPgf1^{ z6Hs2PtnW@m{9-tc^a+BLOTp%9YmA7lEO%05bb9JD2ynDgiAXh5{3l*GYy1E2CRK07PMS+RMd>9Lzfl#*4b|y7fy;k;-r)DKGcMv~B3aV8ZlC z;aJ9?=P!qB*H)ZRk1kfo{zR#)^rR(87ss0MX9<{l(4G&|mJcy_JlxWMu(PY|_?|zC z8n+Vk3PFo^hWR)32hf^b)P*sl)+d~4+(p=A>>wl%1lda1yvC*E;OT`&_Jo+Wgg8%i z^q+!ejQ9MJ!HguMJBqB<%SzJgGv(mZz*eNlH_&6Y7Xmp9hrn3qB3w+|uI;RU3#ixZ z`7mwya2%`XKV5hTOd`u>>8on`Y~@bIOeni02m%20)36k|0Z5j-smmgzH)Kba1My-? zFro?Af_<3})$Hjo?dh%IsyIw>jgyr1?JEHrT13xvp?BKF7%F3T~ zh$=+VfgxtKvn*2Jr1}HBdGlNucHOJj(AQzM`A$=XHc@Z+u$|=Tz=sm!i&~dQV?PC=AEO86dY?-g2xOGLSdZ}r^)P;_KAdSl zcUbZO>LIbWWgtN@u=cRUli{v|#B}2Dm;=IT6*xRQsfvJrGB`RiK^`;ibU4t?1?3Va zP9m*59_$sllA`Kk-O!s4t+M5zK;6iy*uUzAoGVr7AZh51z?})lS2<1=9v>sIfDEeUyqnduW^6zWSGnT5*`KwQHGwPy-kU`Olj03#w{?K zJ*e2%h!k{#-ORv>D*vaB*G$RoXcT@E@{hcR0e0)fN6*js0H_kAk?5}wLE}8KMjgd- zVcv2fa{7m$8y_OZgCKwt2ag9W-fln%mqadXD?U@Gq*bY6A=dG!l@M!;bX1Ik9jnbs znMs3l25+4Z1kDDJ$#3dzEuIYXuVh$GcL%bW=)u4wW(Y2NKQ4iTpm8*DYKndP3-^wS ziVzO2FXeiG;$W%(_zxih?POsfncKc|!}0(Vy|A>GMa+ zFz;C4#L~FgWtBCJhUkE>Ucq5|ymY6i=}?iFfX7nwnC(_TJXJrQvU@UcOyX4_OyVb+ zh2fgeR8NI@Zw>olLcX=c&(1Nj^C zFEXJ-Q`uQ#%Ar}brP~WCP!peEK$QQS3C5)$_TOn7&vk<=tzr%*Xe&fW>19s zc4eHZQKlzaPe;k-RnT4xcJt629YuN)E{U+(3rx3ITP?!oKAeBV0*co4V-82SCebCD zQ)c`|L#RX*P83sba-8f$dSzEV559IQMFsv>#7O_1RKF$SFzi+1$Sg4yfHHOoH)szS ziF{J`R6&Ib2UHpcGxkb5pTxzTZ?Z8QIs2^GfPT))T2WL_f;;SlmO+75&Z9zfw z=YCw{0;gE85hY{_*bK9a$63Iee_lX7UN$?3r-NSdO{|rPVNp`txpoqA=YSoS$Ia7U z-$&-hg-U>r*FWRukBm0n%@i*9EV$tlS8ZlSgMuFZs~=P4i`@gCGx9QaO)6%qqASKe zn{|1HXH~x+p z#@xlY1iqi_Y_-H7BwWhwLhEU~`x{N~8AR$8=d)6rt zvjB7#5moOBIe?jLPDThK%Lau!u*I6uvAW<}^SbG}C&9i|M@Q=mu;3VE zf`AWJ?$GhGTjM!nk4W1=-%$D7}s?ac+v~@q{lH7T%Kv@uDsZoVq z+JW($@uVcpq22|TE%o27htdlqv2CE@?&z9wnRcCLs~mdPDhmF;GD@P` zV9O-kzWIjOA$DR#%o#85K8`NS34I=DayvwX;%8D(fO0 zj`m8P^6dNBX}6$Rs2xXM(vM+S^^f-kJuhRn467eDU)6aooXpCW6o)dAmh8a-j1qTB z8u9%z;V;t95|SKc7#(P$yT+Q+b!2BH3rOYlCBg17lL+no-VSs*>cT1-DN<{*2fPAc2OYMck^GnwF}_yx?Hy( z8;mOb80D|+Kp*EC9fS0MM@w)fqX3wUOd2fMDd|Gy8kR9>xdu15d_nFp0WM&z4|IY^ zf8BSmGJ-7A?TPFHg0J)=d_{$g=4(!$-zjG4$K>&A7GrPO;j$YzT(Byj1fEhD{t>Lb za1CeB?9zdNz7OS%14Qb{{WXh0FIhfvAxnlI>H5fo(kTcZQ)ntZyS{+>C@#0F^_Zi_ zypNs#+x!Thtqa%B%QTP`C|4lb0_uzxu{wBQosEDffL##~W=it2q4h8oBj3?J zm5fXegBdQnI+m%K^#-f1lYC5uMf6Wa|G#fkqOka^rkM;#2KTd*&_qDv8%7-RRicXo z&-zk8wZjBlEi&CG4!wKabE@=Xn7{59^vOpa2k^oM0?;~YLI^hhNT>v)8D1e-8~Yz5 z?-9u!r~yrIj`0IXf=oePp;pyu&>pz`OLl7dGB)ES<-wtiQ$fAG?`;pdD(D^P8q@Ja z!;!qCpkws}VkBUKD3e(B4|D+0{kEV*ipxN#I>w>1zVO7bcRLg-ROEz6N_ec;)xB=$ zTVpS_T2YrUh6!-xNF@I>rnMIYaG$~6N+$A=}YG#wdhS^3rmeDy`Cxn&} zBwKJH>!62?-U6t#g_OsR%$i1ag^>Gh)hvKuYdj+{8CD_h!QFov^`oXncPocaN~&jZ z#nLZpJ!}89D6tHV1ZUhV4t@rT{cH!noaL*eWbzxZR!I4$?)!uX3(SG6Z)q}3jqc+? z5n(k#m9sKyr)N8eo*vq5uIme|AZnKp+fGU6Lqn$;nuWp&C^dNLFDaS)2A%wAJ6I`P zT10IQ`YSU*_x{1bSHcu%lPY9HyHKdEs^ZHF+0QFsIRo}k@V#+lQIGMUcd{R8dt^FT zvsCZCQ3F~KDhbKt_ug1W^ru3}>Ro#yI(=KAaG%~`3C{}bOS?8 zc2237Kvfx8l07sO^SijCIkYnans-fR;0}4EBq^EvdvVNS^ebqrgs#sfK1$l1XU9et z3bFpL7W5;b{GFip3c>Mcx5@*={@;k>r`-K)*e7w(Ui0Ib(}_aL3oY5L;iH+?2uxZs zAZ@mo^I_WGPQnXNgnoTRas?CU1x8C;ijQR&yTU?G4kXRJq61nN7iLlX=WEcVf|O)K z(V~#43EjoGN=k;dZV$N~gjqN+ychJ?d|ZxH1D9VQ86ynqIL6Q}Ji(ZUfGk1y`##Pv z+a#Js_2h3LwzhU#F6&n;6m$?7S#>++uGeC34EK$P+&$#|WRw%60KFr0yg62IpcNo6 zL+My}VXpNA%7TI-0feT)c-(&=+CX3;ANAm}+Kh{6EuF}=?zt$aLAFL=RUB2!3XfS? zaK3oye~OtkAo|XcPn++-awkY*A8rk9Ca!b|s+W4#?t82MEO|Y0h5_122KP5LUs1@+ zP7n&?r#uFDR;5<4v%RvjZ=GD8)A|Jud4J6R$wfSIImaOiF3Em`M^TgsCcgtxRmt`0 zWcT;28VL~u`c@9hGK{RHd_ohU{chW0KJgHs(p^ifAW@n%*K$fw94p&Y(HWRa1?-0$NL`Ou zxs@TE+lMmeN2@5fi&;lhlm5(PNRkF4q4H64_)IuPcTa2KwmoF*O8CZo0lTCIjFch5 zWR^p`ArwY_g-i;xukL6-U9P`EuD;tD14uKI5*Tsxux!5|(u0voDnn7Mum=gZ5R0Ez z-_4j5;MMRB>VK;DSR4xaRarF{5AERlP(JogoH;yp?1#9B^z z=QZX}Ya9&)U58oP=S&yrn9)rtPu6CE%Y<^^{Zl<;XxIoPz0NEl<2j95%kP`HNl2!I zuqPAnh=+F2^68a9wsM|%@pREux{HLS6)I~Q=7Owc=?hl@%3J(+z=D6rcVRH3O-nKo z?PgRzmn(yvr77$)=-7&j(0b|h4?OJZVgGsskM%w_YxW*9ZL=FmpmXYd^wjteQEHx1 zBMxp#RmiN?3d-ish(oI(OuVcZb;A@vrmp4H@DX&Pf3J9seh;CW)MQEs+goUbzzMO< z7y$GIuz}u0xl_=%jY^TmF5~3Sx}kW=WVF&yr`OIKRGXDeQ4VcB03(Y`Dq3HjLkGqF zXX+)oIS4`Atm#2_4|=QX=25obPb37=M3hJ?TnOq7yWeT2Du_x}TTl6nU^d_cHYQDj zb7<1qd^nyzXJKW3bRGf_QvDnkM~WWu@Q}BpGENF*d{|WGzg2sXsG#HtINW93(4A70 z{kv7!$)RcYbq5b~VvNl>^@0N_1e%}SQk*)ZNjhseOxPpHo(Y>oWl&`Q=b)`TmsgzL zQ+|KU_c$CGL?+-aX`KbJdG$b7XXgYa$!3lI25*t6~5BYoQs13U%Qg9SwGpDiKt??{6S zoOya>hus<5*lm`C5g10G>&AP@%{FPuu-16TOdkC%k_MI2y^7`gi-Lf19$0FP0zr>r zQHrP#tWW4%+NFdB7$ZzSd6EJ7HTED%7$g;rcKeQ1s%GB1MvgW+QBlb)f^FN;q znqbt08p3bj_KJ*_NamRKAyD5m&P_d8`8?D&B4#jOj&f~E-iGBuU#y8)MG^K3nuS#_ z(pmtBcL_Yk9|^a3DvX{Aiw7x>L|xiwdkoZZmBRI!3AL)jf>b1f{2J( zy>oAjh8!BQd{NR>?WNPn^hqX6O>GUV3DB6(vmC8~%Ln6J=yGg7z7)S&^gI~1JZPQB zVHu0!&&Au8=*31|uy`<7WIop=FN~n^sA9Lo+QfdHkLaa@xS8f6seuszxf^wM8Atgj zaakYmUT3SIc{BC+9~@PSo(AKV2LGcqjb19qjySRKTD@>otOucnV8b2V%mWJKRhMap zJ&1v%ft+dVjv{AU8sVx0eaAa$?p#%L>4$ zdp|$(n1ILzAP_ts*1>>I`ZcK|;(|!v42v+)XL00ni=G5uZ0Uk|=E*qBKBvx_qZEe$ z3{C0=M7CLhcW9F(yHDI_D?%~ou0EGDqf+cFTEnxqtVtbKR@ry-5Z$5%$!z)itibym9%BUSmT-)keG<+TUEJhSfH~v1@4KHIZ zxnB95kvs{eEeTfFF8&HSisHv&PcL0;+O9~^rL80gHi}hW65Z|d{-H_Mf_%g7 zc}!xxhJKFyM5ZaE8PXAepZq~5RAq|v z3gkn`7mkht%+{2DSD7X7Gs7|RX^TA&V=n zhnO0HhDRBuNVq3sE6$C^0gW2SFl&M-QfvSMT&Q>{i-I}hKVtH6 zzl7XmutV%8({a+GFnmv9D=27wMLO6#rqfMbj*;rHuMReO4orJ5cyfaMb6W);4=+); zf7~2AUi)1DQB^yhSVV_AXw-X$bs^kjqbTSGKn(4MU&t>EE+?X5-Uk#;_`2*o38pOx zj-wpv9~C%wPpB;*8fcExi``NfatsL(z4RCpC@j=EXlbObHX%2`Tk~(|G+mHi5d$_5 zP+nEb)XjU8@RA}Rua zo(3`2Y_Ol1NUID*JtCpuSvl4Dr6DO}_lTVp508K;!ExwYuE5CK$INLmh_{ zuv4nb+q%ny1(VXkf|GZ`v*7D;&YlHdU?gv8z9P1MR*CzU{T3ZXKuJ~*jlN2a4q23i zQlVOVml{lOg|$S{`+w+7TUl}~nd*rmy7)az$I!3q{`DzsLC@RSQ{c{zPN#bg)us!< zTBSwT;C^S97JdTL;$*LuKO!L;B~%=>Z3n(Aw4V+P=bW zvkM*oiglg$S{^roy0S_36!>x|rPv?eW$4f#{aSqEJ{K zaYM(@a3T>+{&OThIzs{|d3JVg1f>QgH_-n@^N_-ThwKS(-@WG3>W6ygwfZTz#Bo4D zo$(apUZ8Rxvpq&_0L>iP{ki8@a$#|1XA_{6J>&q0KzF|(UC^A|S%dcr>4--0GT4;+ zagoiSr@!p!?}e)?;{SXf=2IG{5h>`iSmL!8wA}#%?#y@tBlh*|x4F&-)-NEym6%>n_mHV>izW1&e9men2x>`U6D`fXkg{2Lb96vGsOir3o zb8Ghn!;dPV)A)MASV4p9Xe=?>3OHyU^~Svuu-H+tuaqbi3c=#f$EGcHAP#5uwSxc4$~9*cF!1 zEt}k*zCeD2Bb%gSO5cmm^P(!iD+4bAJsu)3N`Nq}AFXZGp47R>Q&*5mA?qKrXF4aog(l5t z)WiQp-b2O`8C9W-62O3E(#1>jOW95lvRZsXV~)GVx9dTPgdgwBS3PEa3A;s>WT1v4 zUgJwT2Ds9mu#fY^_MSCQRG2k?DOzjPDdLn5ZW{;}@*I!HUc}FHc8e3B>Bt#4JQQg) z`}Y_9a)G-z!}d;eJ>c*bLTVC@DPy1Lg9|>jtQFPhfsHJpL=bTa8FM;}?ZA7b>_rCh zki>#BJ>qzukb~p}K#X(Q3P(qKi!7j@+IwuPv4$Yp3q#P6j`5hQ$Gqphc5nvPXAk}b z_fZC*7PD#$w(A&R#=zQ_+*gXmfDFf{@LwNvIROYIXM>ZO{Dt~*sG2|M@Kx8jkcqNjbJZSZ)@h{_sm7GKXTfol$hF*D(N3^`+R=No|4uXsVBd&QB8C=Z zOWIJmEI0vio%CnnYJHUb6NoB!G-=vQ8P`}{`CNd7II9tfSJi6=XM5t7YD}5G1~C6E zWX1vZ-0;Jo*1?tQ@dci8Mk02a9R&^K&Qf=MbD#-&Ageicn_UlDX>jg6;5h28r%)t1 zkjV>v({ng<;Oyfbj6LgE_cNFU`=Q_mcn@FqGj&Oa-jzWRu-OI!0zOkQPy08z1k@Ny zGj{dV{g@dy$;OmlXx9IzHQV6p&~7FCrx>8$(u-JQW{N*6IRNqac&?%dXz9^;#?Ag2 zmmTSP!suR;1BBGpj9j`g(1}HgDV0jqpn7&X>`OuIt;`v zqDNg>E(@gs#dF?`v8<`R4U}|DdCLkh2@R(+t@am1-T^-b4sjJLtUL{hO6nh^8i3{s zWNf8UXwUSB5F2(~5W2h02kQlR(61}PELiCcdu4cR$9WbvkT^qy25|y=v%-zRMfR_<^1ktse(h7L)I!vK4y5W zc}}eR5jplOe~Oy)hFDXk*q?&&54@%!sMF>&Jb~`*AS_Q^_PI+w(tChPe~4_F;{M=> z0|-?650;wU8Z>&`o*4W7wE0lJ;|4?rg5dt2ib!TQye61is(l3gAem*Sqv8Hy-Gh>f`Gis)G8XqG}Rg}^1 zt1m-B#Q?N1>5YD{?E<#f*O7nVDzJ({Y`|`!D=v2F(7fHtrsk<}Z(U+JN~-mMflLB> z%!b<@rHT+F{qaU@%tC$NhM5wrGB$a%u;BqD*|D~h#{N)MDp7a-OKL_}8?p*2>2*|7 zK;!nF=y}wh8+-YyQFHA(K`rX$&IgZ!E<`?-6`Y3fCv=lBHvp|R-q4xZH4HP4K5TdS0VS%v_o7%9MDhQ}6se1|xh$PonFlCNt*P-sK)1H3Ei{(x0{TWJxIRLe~Yg-smUN=xy^Lz zL12Mt4*GJ8l%`!?d>g4<(j0<}AU=`k?Mjm9w)n}3@E$jJaPeG`0EH8P6XwHcRWCR3 z#<#V{*U;vny7eW{dj%^k8GsmD$fxZ6hlhN3Z=bL5o=1$9GX!0{S!(!94%o{IKg_(T z)6iOrf|mElE8A66ehN3JnF4p&R#E)JMqqZgcs@}bFi1d+8?pB04~CAbw3C!f{k5Hl{UFPN zt`$Ng#epC6vkJLWEuffXAG(B*5T^tu&wUJW9sAO|M6&XscMRO@PADoznQw9Sqhr+U zGzHB%z9`g8mhq=nK8{jW6bi@ho zD}!whJ2hrrP^=YlMFhjH7{{6b>Y(qF76~hnFWrqMAsOaSfA1+LhAjniCUzo77``yi z)>_i`+HVsbr%eKC7-?*|8ZMs@YCaodw3*l3PAW1ryxDg+wZ-qf@t+(f82)Wv`9Vti zLL0Kl4-eab4{@G}EwZOL1_$p_rbHOa+63Xa$e@{*H{g4mzp{1r)Ysx3^YJMk!SEam zagYk%UAnE5I2rqLkgFN=@MmlXrvn`*F27KO1e7Zf`@uIM!b0X|x$sW*TaNv=PiDF& zzn1>-EF(XR?Bn_a%1n#y4xk)}6cBR1n1_qdWfpswO7~~dh_fFx{OmaHsET7JB$*<` z2H^(AJmzZlR?;i+Co>oEkcX$gwij{vAe?Ni1JBf2->JU`SxH zX98qw{!DbO50SSG^Mov}lCVhBYrcq(gc@j)%$T8ycE;Bu(7Uy}8lL}J`E{BPF;8aw z!19~qne0L7WT3HVmt{tnH2JJwirRJ~F#Bz<3SYcG;8z77VV@&ad*1*6IYN{@nmSP^ z>K%QWwbXpxzv1bxZRwB8{`+9qr-nEa23Sl2X&|^UAl*^@qOI!osx70%5}I4GF>(3a z7!2}o62U`eE<_Ko8`OsMkg+=^CDV;mK^@m*8b6EmkUjmiE&Zi_@*E6Y1WdDvB&LEu zQcS);Zy}4HhP0{emBSGNflw5vs2XgLL0)K4d^G7jco zfY)STu7B`iMGsGZV|)GPVam)adPzEhzp-3UtTfF`5k3kk-2pHe6L;bpvx6eX`0ViHo+T>8&c*lSuY%@`|Uw`V+0FfV=!L}C1YWy;-? zmIUDs?usC}Juc;FSJMDnhQu}%@N+4Hx@0BBs@n5NN+<^eXK@F(3^Yns9@~q_HhJ|? zuo2cto*we{^3D4F?lEHE2%zVHBat00_T2UZ=!oowrp9-RGrWrVl>p%2*!}Q}d!R=L z8j44ldTUrhEQK8ChbD{cYms5deD_u0b1!?u5{m&RxEDlVPZyPZSvIgcD2x&#>mk(WZXJy^4!~^?VZEMyt6Mgy#nibII^sze9^X?Ga9hV!p=5- zNXEo2YJ@k|R@POKJZR;<`5S*b4i`o)L+)z}1c7=0kB+$!00Ue_ns1CN3lxF-S$_-X zch_+PiALb>)Rx*9BL#t(#9F^1x<*idlhLP1OFXUMIk6se@tE^pj5*^8H?Xe2F$=S+ z&%Mk=q7fsjaIZaSX^J*m{P{33bCT=z7*lp~a{nD=w6| z1>MKGHI)9WWZg6Nf6i||RR%r~qJ$uqDDfzXD4;O~u#Z$GvcwM+0_)-i zLy)!}1GRNF?B79OlCY-sYFNF(h6YThA2i|h>1+h&pt?CMN~7UE8`FdSo23!Fj}9=r zV6uu^%!9YA(%o#LrfFVVc$8@HZ)UHmjVuWuuIs-GiQdr!jBSXy?xO+wZNJZR1CW6H zN=Eiy9S&y$=rQu4=#4vp8=y3^&)!9Cl>6sBnRBn>s!g6`A2RuJUa~D#Y(hk^mbb6N z0B}Q9HqODRm|c=FD6sxxpZ%|AMu2=ld&vnM>TbPx#aJsN655lzZr$`6bTEDSDvy@H z21vqy*x^D>Js^0|VLPkQE#wnAX2SnDj0PZbx+QwW)5l)Ho@C`o58E*NdAT!8=tlZ` zK-@u-e0%92At*FSI7OUxDYu|DD5w{uLz@X8%zMP;G_s9HX*w)-IHPGM5+|1n>PNQ$ zg4=$2$kjvMCjm_#9OM54vBN-?7u40;Q-vLgvUWlVzNA`>@&Pk1`!J zC4D{1zS3iEig_oY9Os4+QO}El!mekE-{8_3fchZSV~^IfGT|UzKnNHVX4xFC5loXo z4#PO8_Aa0R1_(Z3T54Vvi=Brb0q)C{OMC-#J?5^M%dgqM2{hGkz-$0ua8fFxDcLI|hxAnT}jmT=|#%I`oj0 z0^_e?em~GKvBbTc3WXzt#;7{Y)>5&u#`8|lvqU^A{2|IlB<0|m()={{#&ps{o*we}dm%I1ooJ}Q0wv)+;Qc7kbri)0Q&10C=!~{} z5GfUKJI(oMa&6ZmD*-_C)XBxg^H4ZK^PJ1GGwZW|b80u8NhN5Q#PoRq`iD7pVFZ zjv)>?7y{eln6E`o0t(Mw6Qu+XnH`NK6>kF>G+HeW(Z*vri- z2MtcS5n1seWfu&TF^p3in6O?JVHLo&r>m6%bCrknkkZ}?+78x0zvpeAWQ8o?>C4qV z`5h~aK@Yln&^!L+-e~Za*6D^JN46HiCNW!G3l~3c!xNBO8 z3Ka*=4nsv~vTh^5AGoFn@7qOLwB}yBVQeecX&xSM{)+*FK*M%~t1pbV-77ZY13vW8;7R z>nZvg06jWqj*``MPXdIO9xN9_r-pt8)xZh~7D!$*2PuBRkAOLWnVZ}Epr%{g`JziD z29WXgki$t<18g+XtVrV(*(7%t-G{InnYBiEXMDphmq>_-Tz2&(tHC(VGTmr`?)=F3 z0$L*|f5mp|4AZ{gXJ3}P#KRoz$rIo{Rg~QH;W38+cHHiLK+;T(sva}I0EW=4-8mT0 z8jxsX(E~N*nU4q1?Id4nGCM?i%tDh?&&`d&0Y40lR8Gc{hiA8$R%w(x|D`?uVHx{7 zWVVK<8O;7i)trc3=muD>OZ@Gr<|3-uI9yo(E&`8V{pCg&jP3!=Ku|*7pq#|Xd-D93 z#y^KlnIAuG2s=0jzgrF`0m9v0p1PLKP%P1oqzZ$4KV=S81xzA@u7_;FT~f&4k1QmH zLe>Ded~pPO^8A;!{Ks73&`wqBOrAfq#GGXW1o7YSzyI(xmV{{0SvTF%OX`6_2{1TC zllz^k4uZF~=2-y|L=V_%jJWDg=snAvRy?52_WbV!Jm_qhX46YU_K_Z)Uq^rg+vPy#2BgBB^ zJ+w%yMLK!pb>NrVsPkfMfN zWK)+;7ZFniwzX?6isYzwf5~&- zKF@z-VOrIbVU7|U{WR||HGYx`cSqO{ZaB$0f!U(|g>8=V%LUAcSwsUgS@RG*UJ9c{ zBG!7Ih*DV0h;CS?01{A-zcVvkFP|sByd^*0{qK;OuN>_xnA<563XztVLtGNICH5mN zoiPOiND`q5UO4y0d~xD9f~tv#quPcavH1>Iucj5Be7gd1-o<&irpLPDvS+`2mXV)E ziBn1sU%*5=FKCY>|8FPw1bJ2Xll+HnF7% z?$QBX1u1%DD`roA`zWI-yMIIny1xQ#b4e(6;u3;n_});ZhZ8JSMKlDD$v3am5(To? z88ZlLmcyBLR+}E{3y?(4>j((ugJK3MdNJbC^{x=UOO%pRDH=Z+kDwUI<|8`9cdsVUR3k5Gf^)q+OG`PqVA}qRM z#$JwXm16S=05KOS>(pfz*Ps`B|Cc=l?%>4ogc*-O^FV%_e-RErM-WB{1-(=y`Osw0 zE`)_WYupO1w2l6eWfdYFP46H8+6rjV{eCZHup=Lyc500>`8D3Csu^9zhVxY zQx>^NBMlyO(}ND$TcS)mqt`~PO@j2ih-|!F934Utbq@CC(T!6%-Vlyf)lA=@1I>Xu zSfwd2T$#fP+SA|;Pt0~je&5eMO1XI8h*9ec>01$TJjUqfcw#BP`=3uW?c=@U4Y zse+amGpv}gbWOu2ikhvHGeFMy*7lP*)w8F;9iCXMwta}%k|hmJh1+8JmTr}p(NHY7 z$I4;;F;RC&RCfp&4Y8gI*&NxmZZSF-9$IKZ$Qg>nV-hd}iJnKM%l4Crt zMalV~k$(eifWWd(L1Bmv6cjc=ikJJ+AF|Zo5B14dA$ua+A&P$tx!7k75fe!+G@9RZ zD%2?12V)mZLRL>9OR%VWhl->b3UTN(f?b+zF}LL^?jd^`Y+D+H^Y#$3+^PWt<4n)4 zzmQWR20ax-FM|h4Btfr9x|4Sqs?0p$Fo_4peGuJ;VNONO=#zh8y=}Y}64JCcl|`KI zbA8(3QF|h6TOza~{=4MQV9XC0L7;HOofOx&nf)vn_8{N(K)j^)0?Y=sx_M{emoU3W&%8TdoD+B%QV0~x3bD4$;Hq+>=ktU7HlG+9sMjW zc(yM4KsBAK_8?h6VSogX9FxFZJqVoYmqLw7<&aiGGX~n-%wm|A;;uZ$dF!DacJtmbr-TcJ6-}3F>l5%7Y*`Wu5y$I zoP#C^r%etD97yMQX(ukL%r0?wwRyXP$&$ZAOt9n*@X*_4xIt6 z4y`2dEymS2gNHg_L%X?QoUyotF03oMBfEZJXUES;OvB}EjlnTB^uj~R>|q5xJ?Oo? zdeqk-Z$AK>GYB<_EV39Cj36F&yA?CP0S$zsoH^~q_iIsj z{YAWEz{bvoHD`SM>M}XxUP`QL2qt%izo|Gq6H6C(S$e+pZVZR2N^PplF(mcj|*tLYL zEwSW^QDk#xYx~J;d6CSwjA7^e9@w$0v9BYP5oPTI_jv%>Eza0T8g><396(QMDqkZG z>BaPqRQSi3t$K5Lx*$NceE=7d4*wG+BxW;yK_^K-wy<+YBF#BuCV`kyYl!bTHFKD@Q zLgZlA(^=eH7jy$foIs~_A97%4Fq!dhi~?%tHc{j1ZApaO_#>&su=3i2et?uS$1PIc zU4O|>8!SFx&cU91RITN$Vq#~;SQh$DMmKXkX8?*+5Q(j2lc*(iN`!vr$AHAi8xQum zADa`(8YW39rsud7Nsnp?2y-3RwitJvHIa9Jh14_dT$Pv9=LK*@zF?MszKfJmJU_bPzJiuaOwW5G3xM+>Xv7398^Nj^ zR!1P5z>@~E!=T5GYIi;(*faq6QR=$`_~P{v;&{RR#np|Ur*3F|TuU1?h8x;$OG})? ze;HjVz8aKD49{v0`cJDtt3c>ID6WH*MHp0HO<_Xr6!%G5EMKV*NmDqXPBY%JR1u(;ujdOu4x7F~ZxI*IOug7=&3q%KnF| z1AMgIqzs9pfNqJ!7t?J^9)P2;NEJd9-TCf4x}4X>y}U|7KyZffCk+nX56C3Ny00`5 z3xc?i^LxSPK`RxOj}75t(A8QGrlFuN@KI!oF!iJ>0N+X(=T;p6Fd3u{c}W)ChS%MJ zdT1qap=RV!(=*U0_-qDz9>7&cv>atYs+QTON8LQ?`*cuMKMkTgIHd2>kupyYiJ%S^ zkP;eAWvIs!p)P1mS6azn&ACbd=@vHh3694=5oMcmK&QYhCojPB%^vMihhgQnMf`{m zg{6OFiPtk}WPre9whV>(2ro88whlBK$)vd*U6Kq5E<25daJxG2&+j7NH85p27+a z=I2$6>UU_8N329x%9aQb5P2Amasg5jRkShC?TTs$LDeEG%A8kgP4vqxr+|*a>W-(p zt~v}#CC1zB=4wiWutDrqJt~wU`vVujqJK3MgtEQyYdTFOz1~1c#B`dUx0ru$^kg}O zhEYLro-JXN^9&00VymHjnby%@q+3xCgN+o@&5}pm9@#?F={S%=A~|Axq3SAaFYS(C zd5@z;sl-^+J0Y_@?A#J!9QGEYexK3CpUoHb1P9?4*IE|?nLwi_;N2na_?t{5NV6zg zzK#Hp5Nf!mAAM&eVSs4YA@;@o=hj=))}_l{_WenRN5mK8YC7aJc-d$+bk_k3VDVbG zwtZe8S}+Pt?m{~1&2b#KZ-9!Wv96+5A)Q;l6lQ1Uzd*@5>x#cG%%y~4dfDZ88ZW?C z%t)T{paL^MJtm>lP{bWWD#PFvX}#^cAHddXWHbvL?3$f>4x|`D?O6{RZb*`0g#LKS zdvRk71c4V&yU1_KWA;qAvwp_Y9GY_7%Eqr@5;j8?RTrLC;{u)>@<@RVa!pc(xt=q! z*1(Vf0=sb|wATy=!%I6pf|!UIQDVjd`Z5#VwcG5T2zTb)c*=u6#tbhT=%=-MQ~i}z z(5Tb_e5B?!mj;bQTrS;1-XDEd}`uyW7bws+z5Cy*LVq~#lxE6PPs$+EdHRaf6@poPO3C~Ga3P0g+?`Sz5QeWzGq&;!;(W%!buzv^x9P>S#KtyL|~-&l8qv1 z4Uv1SQDVK}1@^k4cfl4ZgH%z-3G!Wc_1FN%MY23tRW{^bm-yI>XBRs>558efDx%}x z8@GwEb;u|GoK#lT;sO0b%@(SWALax30Z263S-hdkGmwWauT@KH>QM^n&Ilj)ok1zY zPzE_r22aZ}?rjS+JPE!5Pk6?X0RD&=3_43Rq`9z24d8Y(uPgBOxoX`{(Efpg3m7%d z%9!HzX0YA_3^9^SiK!gVc)&W%OU7&EIxhIya3ikCRW`baydJXWz&G3p&$xV-8V#Ke z$~BO|4U)f47!zd!?KL=1-OOx1vxfIYw^li)b&+F%{RJv8_G>al5?N#bdULVDfq-vA zvl|==TU7mc%PmwW9MolaKA$qbd49|aU?_T?Z)ek%1gAq!hRjiu3 z6Eiv{6lp;!emv&U4pibN#DB~S@1Ym-P)sJ6RMTrIWF#7L>hA_%&NAXEIW5k>sjPx- zdira7`oqiUGh|?0$Ibc)?8@|Ea~c7zB3&Zh!AwYOx)*q+*t>>aR#Fx|a&X4kHR+)5 z%AM9xUy13ICNWXEnK6CAk)~(Awr9WcpzubHJzSoP7yrDM?I@#9f>;%5St>y-(Slyc zYQ^7MS9UyzaRf*_ZZk4){W<1h%UrJVoaR{QsJ=!q)05x6WrLIT(7RSSdGNxp%tlj; ze(X>u96FGFwkBSJs;z@uO!~E!{8A-=3M*zBVDsX=Yet2=hb?WqB;gCZuCAWS)z&>~ z&wp*pe^EQskD#HnAC?ZH3}=ANX#{3S=q2|v<9b1aJYdX~{fC^dAp1f_D?I@^ zRcU0wv+7>#6TP8wnv8hUQ2hC!kt(3a>?yGCDKI?fH6!YQo7`$F{(oIJdJ zjTVb+8@rBVhLv}{g4X0Qe6dP{p_f92D^c|;^3(0t>rzonQk*^Lh!wKDC%kH&o&x)p z0{IudZw*jzP*xE?kmF=@zODfJh%N)m*8u4tJ2a-^S-;{Hv0!;f5;C)x9)<=^3!^8L&NUB&uw<7uissmC#dJ zNSPsninRPZ2L~eq;YWgu&gvRD!(D1%_it2UzhgXOUx5I!UIm^}sd ztp~*M@B7mDLFCj*JJ!JG9|etRG#&u5P8+u{59F@On_5P*>-nV}3ZE$^ef}gG)&c6* z2TQEHrsoA?c(0A7XTZK^!0>=lYhsa(cX+ER&@LJt#!cW?m}sy7XjWk}=0N}9j##QP z)iSwtEY5Fa*;2LIQoOkCu-1`o+&D@;Wm05jOvEF20^C;Z6){DfpOj$|2_r+HM;wv4OtYCtu~Wj3O}vl-;rzQa$iK);}MQc?3^^ zeH(@L{va5dgfU=F0WCaGuj>s&F1R_ft-1IEGEP<=HGBa8hQqo&^GU{@TX~Vd`FVuR za9Z~zKk4kX8D$K33`@nn1DehrwP(S;wSe=%ZPM;6#JIa%@6fgia133|k&Rhi|KT*_ zYYFWftXGcOgq_dX+9!Z(_Vm#4w17uv-+f3Dm%y6#;AFt2IpKNCQJr!?&j_9Y`<4N* z9{!4$NUZgRxY3x{0{EbKfUPT$4+zjy`mk1^MB^QTXT&)9x|pC=kn-T=(-iq&2+Me= z4Cg$$w%LlRGSvovqPk=iTkU8PQu*>?917v=1nSCtZ{5VIck6{p|3}{Ue zl!PdpOOmJ6)dW%zPNb2bV+)WwIYZX$dEYt#0a<%u$9u@kZOuU=Mse#E^aQvsUe&~W zA7>Wo2d=XImk?twDb7XYG_Bent{N&hBDxfVIx9;f#)HmkXmOsU!=B<1CBoOt+WI1tXv=KOnc21L^CM^kZ z2JUS#BaJsTn!26aA2~bUaR(~@L(<)W6%nY#C>o$8)3o-44g*}5h9|+f-OreOeLrTq zn&hG)^Wh|kFm)&eun>wzh507MMr{-i7!M#DN`Z8pXKXou$q#nf^Df6f73lwTw#Ap{S zg5^<}7K|*U`K9&c+wEycIA)~0ACCEaIBIzy?>1C#BYtcAY)T}{30AHQvCXX{i}ICO zd2q0Tu(X`0-PWSY?!@v1jA2SDa{0SPwPzFw$5>IhEsL4SKctl5GM_lP&I;E^0wKVr zfF5OJoK+;DLx#XR#4gk?d%7n`w9Zr;^tD}T8#LJcVEV70kyy%hp)89ION~|} zu9&-G-j{23kv~jhNIGVGknsAGtq)YEYB|KJl_Y_Dq`4HcMk}46 zS39wb;_5TEiCPBVeaaL@)LKzs(jsVP^r>+-_6klW9b9&xZw9heYleI6sfNU3M%pzZ zt)h4`G3Kk7M2t3)dM`gSzsLN?9j3*UMSvVGrkl(Z=5&QlUiJ?mwJpSa>WcN|*jitk)JZply%K4I(Xa>Oh`i$Z*XQA?`|2 z{|>w$mJwFtjY6}-OokL>NEKVmkK%fimQaiQFCLhLH%1gwo*c(+SVcdeqRdb}s`dRBd(C$-q!}#P5(?0AkM((7!2Tz_z<_Cxo|h?u9kny);z5`HFzAG!8Y3X=twO@I z@f0MBNSq>t!b&Z5LCh2Mgv#|@-D9MIr0y@Q=lJJW{S-Kp?j$iJB%`+BJ?i;{QOn4x zBCn2hp>)KmE5A+2uLRx|f7IH@VJFFwn(e58l?eHxIJh&Nd3?NHg1#&Oxubu znx7k>AuSm@E_*9$@5ux5`G-=viQ)b(W>INB0th+GQ{j1BGxLo5C^qK|o5ZK#1!~|7 zJ}49Rngji`JIhmxt5SK;-GlCX&@Q^VhiBJE5oclz?j{^l9(5a%HH3*0ebSFW5RHs= zDzb5iw`UxfCsZKi)+lWj*kRdPlj+PQwAU4Nly32{Gy&el--PR6y!N4KUmnz1e!M^Q z#=Spkn7xPWqQPr7c1}0G6Y)cxat;4zBaCfjSq)RQE4)*e+_fJOX3-x3DOx?{~qZ)XX+VTS$oB`@-^ zHQ99)OcIr0Cc8zAg62O*U6yU{^%YbP4j^?Cj3CaRw-`TS0cff6ocqe;q&I-Pj)t)4 zbMc^&jZUitKx3^q%5_Lr27k{z=qErwKCMqCeb`n}Mw0I|Okg5}>KvYF_+GGZxM+{4 zq)=pPrX!9@s~sK2RF}O7Qh`=kXrl65eq>LIyQBs6@k4D&bw@YP!ej!3@;VO;E9i!S zT(z@-f&>(y33t_2?ba3L*XWQgVB%>WZEZiUKUg5@2l2m2A)-RIKd8y|W$1`=J!(&j zeXBocE}kBBL^39>zv!Rkt^_nlj{1bW` zjBmFJC&M2_a#08rpeBsh6CfnLjFGM4!Lp#Q5{_Yk!fwb_B_A3A8TGJPdRut$-7`Q) zgVLrltRld+eGN>rr^dPaOmK02haHPEnb%+Jd8n*G$23HpC|os}F4A1G)G~0D94zin zLV|tfm@gE1CKx2j=%}utsuIQmHCn013yGx{J^6|NAn}@~OJjz0?R(gNrPx?b1bU4; zW5s)DTsH3cK&}w2Exya**dUyo*c$laB60q-x^KeIjYTH2lv&QGhe!Pn#GrrY*vNBF zKNPGjP0HC3AflPD29-xpTpSyF*bywz4!DDQH8>(GJHmc)CB7k{83r!zQ^<#7jW+tj z@FUQCyIKqQI#Ns$vZtz*MItrb25nm74t(2_06$3n*o$(AOfs3KH%7@X=?!tMEWS6& zY-`3Ok(p8AHcfxPbhIb!U;7GrA&^j&?lcs$s#Jur>W+T+y_}6=2GEGO4`T3D*~L0T zT#@R!JM5p}TwoL(zm&l|;OGHwXrBj19Z3XzOBXPtryqe%SHx7YM{=;z63#OdToOn6Bc4;ieX2F^=zkq#M{W5}sbC<=j$D2If9qRM2F~oi0SeD-UBW+yi z$s$ByFJ>EB+9xN}H#`rcYSVTB`7%^*!K+u@YX>))O;Pfk9v&uPg>bj`HKCD@i`>uv^axJHYZy1}$w|R6GlWB?R1i z=OA#11HiK3*tGR}G4%w08HRgOLM54N8m&FsC~xxGe~lQWAXHWcDw6!UO%W4Z+)iao z3+|8D{^}HOeq8Mqv8Gv0!Bo#^wPBg*FE=Y?gYKoe9Jv z?UuvtTc_BHgM)q!Hi8Icw}hRQoQVw@mGW2@8!|&|#{8A`CYy_m3q3EmF3PGkt@qB8 zUfR|{Ph=XFPRGf?qigmNSdf3Jz>TaMh?wC-MhDKGIi=0G-#ekwE#Klv+0UCTVq=xY z#_d)$4!qn^G^DKRx@x0%!b{uDmLFhWcpyz(y=8gFG&d>&KmgfHJ5+VBR(c+^C#qT) z9p2fa1H-{Mr~=IN4YGQOxYz*5SK0ArvzZ|vM(5HjXB`jOvt8P*iXT`hkKKu&eBd__ z6m~;WmQj(7eu_FnH#-w$1o)i|KDF1&fWFxc>~=KJwB1^9i9B%-Jz|H3zSE7XE4h6} zOjBWn42}-`huIoKM)3#i#+q!=hcwgjg?YNFx_IXrK zd}Z6xBWnB^UDeF7Nl?HJFhVfJpEGiQgSxD!^MgLcI)(ZZ1rhcD=V9jln;1`~^^~oM zk^t+xEQb^IIFubrmw|&5~yGh^hV zhHJEF$5rT7Fe32hD2rTk9jH!`g)a*preW97uqzx*kq%)!c&lpv9(s7q_24fajrA!B zYt*?m6Lya!r%R0L>96c%=Oc)Cg3wc?N`5F1$NjQJ01mbqUAFSyL@)@+{VGMOc3N1; z!G+ZiWLb(|O}n5DNvKsn$0`{_J>|2*fW9x4HC(gGy68Lsmho%Mjjc4c#BZ0KVn!hw zCp-?O$|CDwkJ`l6ZPs4Laz1D1mjL3)dW`@5ITI|HG_Ntmy;98d-{^|0B|Rwibv8T$ z)*bo$q*ZM%@*@Ej$J4=Y$*N5U+6s;XFC0hxSV5JqQ7E#kG~hsQG3rnX#FIOW_nnES zz{%*;k29w!uc>qM6j(o)G>-|zzUxDm8o>#$Xc)qdbDkL+fCWQywrDtX)t>-@C6a~{ z1ELD@UbcRe0gJzDYL}QPTBVKWj{h#=R{3#mo&)QCZ9J_sCBF4^J-?YmO-HIV%!xa= zBI@Rp-YQVl6(x!^o4k)IOh%CbSo|L_r&xev8iI|SCmQ5PR|VQU3x3ct(-ZX4p6p>A zCK^3BuP`y9a0k_Cxq}4l##_+mG5&;lTioUDlAfADcA4_{$$r%#pdDpB&yQiE6^FP7 zcyQTSS}~*2xLT>^NpR;2YG(Qw^TdVa(ypjdJK!;+gNLyMm=Ph>kc0%OL#K*VjrP;) zF;jg|V`04Ng+9KOzz3NA^2ds7xT1~gUvNWxmHEPqD`ZcCAB@32A^EL}1oUF%Bv2&# zK*D@uS!GOf8H!KoMkd++*iDxfnGNW1(5+#yCrd&8n?Tq~tE6k51>1hpl_y#X{zaDk z;1#%k(9qEUSAwm8C5YIxibygZ%F=Vq_z0BiXxLdnRha&(PtPdmUPG&0Zkbo+w(B!s zVY#OLw@S!po&`VX2jzigWx2~<6y~s0iUY8+8(lN&VSp`W%H6Z2McdT#Ju!w;GJtq@JPBU{O>%eMVh(KBddZwKCrnsoA zud_m4H=QTJ9k2Z?c_Vq?bp1ixTeq{FL)NuJHq4^`0LcZXTku^&r?}px(MYQomf|$E z!W6Jin)6l9OEPAf9_IpogZBa%+1598D`L#`sOma z&W9yHZQ)|AwL6_AqRvNk;>ey8%#WvRU@fy8Yb8SIcU|{1IQP5m5e5MUUn6na1Rzwn zk*nGm)`{fcBC?dvFsG<>8yl0}jw~cG;zEcEm!e_y)tn5_cpT({zJa?jLLWG_)8v)LIMNV|M;i?hy08#hiq#E0DUGj1~y4*YJo@SJb>S-UYvKmz$fJjz$CG zw~hvT&g8-sqk9^h`*Fsp=chMEMxA9CVRxPsN z;@^jc+5~V#7YY#XQV40}r}dnb1{vjSF+cfShe|IIC(HxvT9-^U@?xEjP!1BroM4XP zB{6`n<$g~#*dJOGCxL%?1G`;cmsu!3g+ZxY1T7y)$~&#cUnMQ>Au9{gN^ZsTd~hI1 zNUgD7wEL^zUc@+EJzSe95fq2uGQ&=Y|ukOBxBuL#c8A9#2#fWE_(&6 znO>MlC)}i$X;@~(vYvDIp!etes0&EYI0PW^FvPL$4kN(P)2>+FH=I*J1mYw`Ux6bp zu+Upv8$^6X^d6Y&vY^hE&1ff=w?v4qFqbgOYqI(zJ1|7*OV?L!BnWQ7_qN;o zeN5^xPmg)4k%TdR^u$+kG|Hdc7p8R@)}9%G1&UN$84X@!%Ju-9t9#4g6-bi2s`1kFmj z#Z|5!UKzu9;+Av_;z(P-y?>9rsP$n33=P2L*C3l0s@|4CS<{WYL^fs&#->d4)mt1l zP!P)~jZ4>GKR_i%+a;2@Gz!wTWjW&w6jK)0QNl5!?gOO9h(QG$*vYVr27HpVe$RNj zfe2>K+=UWFN0B{?J;;K_+s*dJ*9Z9vCTG6JCiX5fB!0-r3?t$u-w6ja+C^j8+6xWo z#sERxBDOm9p>QsuZ@rJ5UlKNQ!*+XkRRSUO*tE|T8&F9H)m!{D;Z|z-1|2Nd0cZSV zk0LtD3bB>JoE&Yk5}{cwc^>gqJ?7#uZyC@|--F6*LZUy@n#?3PRhMftoW+D(BpPD! zEE2ET_x~_4xB$9_5}uB#_Mw0^C26FkG%II_;wW6kF4VYJ(01RFs{oJm=nDxxq<(l-WrbU{ z?jmRm$mB1^?;-)_b(}p1)-4Bu2m8(@U~D0VOH>%FVs)dX%zdZUZp7k_jwroLiLSt< ze)FtF^l5e`{=%tHVXn?V#hO} zs*t^TW#JIfxlhTbbcy;5P)0_+2HB(g4P?#;2&!ZD;w=^KZ1KDstaz20lvE{94R|*} z_vz8_^jEj^$J+5B{Uzxd4$Tm`;L%OhYMraVn)o<9Wm^=7rW&M@k|bzx6-QuiD&@SK zFV#|6{dRC4^W&wWK}*F=6qqd5HH(oLqsQ#&uYRPzhY_VnTkVj}5`&dB=oBfH`5hfN@sIGV?bjZ3O1=+STW6cUHTux~yrVNbBe^c+56_k#va0!;|3Kc6ik(|Kra!=HlWKc|De!IY<*zTSaI`b#)H3-0q!p3ZmBMGE5( zUEqNscO;)BOOA!ce*M=g_?(YL<JZRL;9}K zX`8{d6=aq&>PP=7Odwh1oSei{D{D;8gu75(2J-P4^kBi+(h?*nf>5ZWv+~HEC1yXv ztyMMCtGsQPVM2hrrnq1ox(uW0!YDEu%E?|sKOGb^WKR1HV4a~wxztT${NgctCfp~_ z_3?@ZU<3;vAhPK181Rt2LlJrVAsXZrYun87W!Ap<21Pb5YSeH1}hd2qQ6m%867O9zld z893HCdXAD4ghj-nV zu==r-`6-rV@4JV*B|@CozsqMRY8@*p)XsqkYp_virkLhyios4I7x0tFL>3BvghbDf zxni@>&Gw(pxd6s6kW`<33;PI>;-*yg34ICtI&qqiXYe$*i`5~w{S-1Xgy1-%92I)< z34t94wt_4VBzpso1-41RsH4c-=?b~Rk3m*t#3)$>JLhQ9rCnrLAvb>Bw;l5go&|TU zI^22w`Cyb!oQb+_Cg=^+(}YEJQ3eZG7i1t=h!>|qP|D^dKl2c~7LuEkN-{8T@c?9Q z9kjtuQSPc7>ZxlC+Rk&f{CEj@{u;7nDB`1>n!<^|^M!3BtY3$Dky7;6PbOawxMUi3 zUKt=#>}C&4HTji;N6bS;UDO}4^g@ZaBfvkF@a#RHo5Azn*s2VxU>}xiP2P%h7o-4o z(JGs*0kkuXi5VKMs`agEW($d{2n4loMId+^>-$d)12DnLVq9*7IuuOL6>${VrD3Jo;Oy3Y-6z^R}1%lh;(8l zInN~nD<$J zdeWi}KzcjAA<>m3+{gt0vrHt)aGxzZR0nroXQxUnazh6qY%#iCgqD+pI7bIM0Hs+^ zd0lQC11|=@);v>!F*v#IAwR%(>=UiR-xHv>P^v9RC32#|Q&6Jn)_RhlL)9{JrheC* z4G1gmDX=0d$qfv#JOzOuRV!;Z0V(IyMQ^h&da_)| zFm`cu{k!q2;EEY{pmblZ-PGh-_JOj!3NqqI5#a^aNK1t58q7_}#Xu9>2hESyTzkUm zC%kdH6>nmw1q}qOk*ko7>@tK5dgC)hOPDZDSlu*Tb44odeJ2nzNkD{gXDBIRiN&C< z^?StWQLjl3u1P|ibSWHWdr$4QZVU*>l=DrBnm!<5WQL4T^^2KpYR#TXPV^izk<#_e zSHyW~(@iPG*zfZ(%zprN{nYl2rL%N?<%I$h_AMPS4#mZ_Powk1I?UdG)FA~0Wjt!H z8Me@hP2db(KWZb3Il2xmeBR;vv?-w<6!t*>VFe7FJGLCW?XyNC6P{kP7OeW{vk> z>N^v57jz_fl(*HCEGj{PG1}8QO*rd=-%mfL;qMZpJ|^H!kBfh6=V3K{(utYx)~SU2 zw0|d^Jv`2_{L{&KO78Df7@5MFYtoKKB?n2H7Pw5GOIBV5?xzB=X}v9CPuZ( zk-aN}b73%`2H5WhqmzBtQ&#%RaX%RCK?WD52uixRnKLC`9s$m>MICpF%RyR2?66ndAUNW9h&6J#75TTnAbSFz?K-XQV?<$Ov~7M>GwQ+8;e0eGcP_?&igo zx+)4ffJQ(lLj^3BX5J~e~hhuuoAG4w- z193>Rr#UT!^YG17MCqAo11n4p2NAH48&+qaih57PQCdfjt1++hVXggRQ<8b!`)MP` zamIkl9#N|AbQDD_WtjOch~*JK+|2-PS!Ac?gX*FF8aNq?HCESCZp$z~fl>o9!q1cG z>Uq&=)k$>JtQyubDC@W+Iq{1X2~&C~V^#+9is&I%Nh^EEo&xg+JmaZf#oZ3YRd!_1 zEmm)0ZvxR~k(A`$f+jm02gDheM)%vLgUi86_o{W_A`l}g430-XKC^=2Cbz4*&OT_Vm4vRn3ZQCRGAK?DGm%)+D2Md^GhWjTRe)Sj6=1Ma(Q z%sswB{z-11KIev%Yx4&_4}MI6Zicti-2etKmE2n$4iz!iBt3_;)C$=W0eH862I=gu zdk1*To&on=_8((zx@UU^Z=VsHyQiM?aVcT8Ox3$WPE0+QRUjn=%SfvGPU-CzMo_K1 z4znk~kNqmVmCxYp*Tf05V~L=qEV+4Ev)h603=YY3>rvsbdAfk{*?F9mhEFY6c|&Vn zWKmFc6;TDB$qPX-xpm&!Yi{gMr}{&#Cpj?$6_wZL-urn`Y#v_|555o zJZ4XTySLBZhMx?g@d7A-Z<`+VHR(#&z$%3#Ig3QbwSBE$cIfvrkl8+_RoTn;((# zj!%i73|5+mkNJ(}CX$?tib^`hNc?!~7wUqJ&*B;Ib10r4UO@{DjH6_dy2k5X8mZ0# zBEo2s(`>)fLBEOT%3xJ`CKT44um(|A2^5Wfnx$Wir*#n8EEJvQC}!|HU7rR@7G4?^ z&w*pV>DqXJbOlyN3Cu5UL@-^ZZ%df9As8KmSfbaaT@+KX0_=-8G(Cv_PiD?R>h|Gai|Nb}a zvf&>BM5NW|QDgh_Y_P>c!GPa8ubTt##o;!2;mr~gk}FVLpPj!syiN(jAVl^abCDG6 zN6bIw6i&wdhoGsv6JQ?58;;gY<9PI-gxU^5z^ssbi~6rxK>4H&a-{2uqLeRq3K5z;bu`W zFB%NafZ2J$VZ8z#TVXmF)H++>$AC5f`Gy4pME~_1?bqNjZ^`=^SjnQ90w5uSf?%V% z5+rp8X;8DvM2kj-*{Z`BlSU3nq zE|rrrXfO~>40%i^J!s(rOaCbQnd%|BzxJ`WGO}cG`}}YdtohO0pk|DPCT2rHC?L_O z>^%p_jGI=LRI+t7KrVnDQry{#aH~oQO@QV!Hcl<8^OhomRop(wN3gw$U|=^=!hLRy zH!Rh;NX(Q-%zSr^tHOdl6-r4yTLp78$si_~8^~S(nNww0O&CSdiz3h?ku}o!pgHJG zL_!SG&t4?~iA0c}?PFN$cC*U$JE^Wur}nGb?p8 z$;{3j^LV^l=vFEj8RZprY}P}Lvy&}Mzj)M=pIwOs7<2+vqo3nlHnl&SxQ2_NS4yaH zoKM=b;f|B~W6&&h&|ad$K(Q;0bV2B#L%}d*I9*oIc5CD6xlE2c>k)K`=nkKdY%aj_ zlJ;!4LrnNY9)d=6RI?LTIty}G#`_jwp$Z;A5VaRaF)>T0WQGP2uD%dUmcm}R(e)&6 zvaAO>C|&vS4MjjUCNz-4`u*U;bo+Mzcq``S*>G=INUBfe9eZag9QFuUt4pL;b%GTV zkvl=Hto2OR(I9&U1ERbE(l9Z%J5V!4x)@Espbjr#4K?Oj+$3Pd6DeZ9qu<~J&2!;s z|6Rz|@S};>!D9yi68V10C;@^&hmye!jXo(&3Ci#anQgcHUIWf}c(i-^uBce}YQA|c z+z}A=4}TwLwxd=X1Nk3tknLayEDX9fvtc3qx*2eifwA<^F-Ns$dS?|@gUA;`fmzU7 zj4zZ(iJ8GXcmW8+NecLDY6l!(J!VgZV@KG^ge0IWNq3;k{ICR~Q*M#`Rs_W=bjs zpV*I}zi$rgn+{ALI)~DV|1JSQ)lBf&tnk)v@d6iSw?&oh5dJ9f>Q%t#bV;RQaP8EH zM7K`Ms~=B$AvzVLQs_TxK@{*-@v|YN81xL@L$sOW#IpX>bN%5Bk9_nkQW?FOb@5bbVDhzoN^;v&Vs=Ia40W zUy*Qy9RjN0YuFeOjHEh*&Dz(TgYE`Qh5sZ~13c-Tq*Kt=CV-pJ+d`?u*lWIB9nY}+ zU=_=Ou47{@Hu=B=VdQx5(y^=%wiPd4Ncx~NOArX^zB=#)=824K3fedMxRIEgkzsbWpii6u>Q4KcyEl>n?@c;X-@{O$)(r#SW5H z$7pQ9BY;1OV=mSq^0?D$27(FkxCEVO_)7Q)Z@oLyK{G3~61MfMO- zpm{&U^wXKMIuZoU%SU&(J!m;E!i1%B*^hQWu1U^n*B#9W*?N6S*p^nz1&neD3;hL( zLrQ?Gaiq=c4>}-m;xT(N+(j#>eV$Hq&Zr4afY5FDjME-nz$Ffg3O3q9rBY`zj}!?& z;SBEnDwRN_Q+UtnaK=fk1gz{snXjG1i9<%4d9Wyi9!z$ShhZRsD{#teW zdPy`PI6`Lxzc|P;=T$(UROM*|7Bknxc}G`(P7$ zldc0|tsk3<%sq!^!ySaeWZ|j4W8XnTVObB*LXxf!1a$GNR6j^d8&(!xC?J`C{lk}f?-G|8Ic;%*X@w5ekMcVk|0A&SZvk!qvuG~@( zRD$slFpX9%EoPKBw1K9@k^l`hN`X-XIR$N%KyuacDg7A!t@ohqfjxTkJuPSBv01=s z3(jO06s#OBQk4$S+ho^@WO0o{mW*MBihxU$e!kq{Bv2q*KFpZbNJ0IX2OT}=w=-?s z?E|qUJZ_U0DeC?T^Gdi`L9`AL{@;*|U@xa^wIr;^gj7O&(TAiBc37w{h!>4&esQs& zKdc$4v|}vZ`b)g+Nj#Ext2|@mjS^KQjRD^Zgaa~J%oVRh2mlxJGYVByPg%%Qa>pXR zCtB8ly;=pdpm;si+?L`~vN2$o-{XA{vWFx7951bWBWZQ)?w||V8`<%5A5xUN;kgyy zsm9D!WQpy82y_RVl)S2AMPzS>6v)+ePwSr{pW6ZwDs#t3+VR%|eyI2Xhey?zq_S!pPqCVPGvGhO6MP_@mBVvg* z+3F0z;F-kX#Bv5qb>EodW!gq33^Iz26f!q65VoYeL(a{BZ%#!@WBN#{xBA^pHK_(5!;(T>3uM%Lq6yIYP0wg699x+Jzjgb6w|sAWQ_-a z1brq;D&o`gN0xHkOU`49*FyWQ=}LaW1z;1w$38WwI~>3`K0k zP7BLX%L;v0*e^ijtqYv%9K#V?$Jp~-9@{Z~7;X(Y-rV#$5oI~XxQc;)Mp4RbW>76) zGsS2IVWWJZG{8nxNr7~du^(fW1opnInLQ8?9&!fcU^T@i!Qvr%zI&e{R!4V!gv{|9 z$K}gtg<&p!z1ah>8%>L8`NM$(vtOeZw%@Q;-}nX{5j%UV6hlS#abad9xEenODZv12 zJfr@>W#Qi88e-2Cvgf?A<-8{gd8=zcN!nA;N|$Mz=R7vOxDGQFBIm(AInbQ4M#E3{ zX#!?V1~NwWQsIB0%Yr^n{+_k1sau7`^g^*XA^7V7%luLk#H4i_5y$^5V!{Fb%q?h@ zD5vF0AyB5-p&)>j&#k4sy0nV^@*y|?dkto#jGxytmZ*s$j-K<%mhO^X&)lH+a6BcvSAPF zC?h&`#_VaYY-z7Nn6P);=iz&!a1CoAyPITVlhCa@586ZrwBZ?kML{Xq4)!}y_W+fN zyN}jbuzh5WlfA@i>>VY9@{(j@l=YmVVh+C&wQIz*vNxpijTH|1YbsD^qQ2HIn$k zgltDQVcEUJr9t9aQH@?=#(>hr2?vO~yh8TGSGL6W)QA4q>%G&Hf(AoSZiCG12Zo{} zU9fCa)*-qv8}!$Ys~{n(vAHXVL|HR$B|5=K6V2v0Rq6(}_ z+5Tk?W)nFwykzo@1024zfN4<)@sN>h6NmCFl`Z$>_Pwjrq8Pm#1SWW^UE~k>e603Bxw{aLomKEojoBOWTy!1ht<0N>en~+~ z&L6UH9TZSb#AM+X`-_c!vFejm6=L!oWQP=9AU84R%%9M^Gqn2SkOi5(&*}TK9!# zzPfjN56vk_8otqRXGSZNtCz_jkC3c&5lU7%h+!~#Mj4hd)LAA+q|*}yN?6BNfAx^> zV*cWMy(Js`Vuu0;vwT|oBI)80Z<#MX>GJYU_lE%hmrnya!AwO5dEmp=5Sc47VZ6BJ z9U0&1V^_p62$`ylwM*LdVMuuqFuYr9Av6`c7jdo+)9RM`;=^q*G}8N$hY6>pmjCA^ zDK}Jl8*~iIBTS3Ws3wDk6JPIwajxo@c1DPxt#7=4`zC}9A;XhoRHXr~I<5CZZ7W*{1*S@6?IFVq zh1r;33S$4tL1xrHkxN`t0CY4O5!-*saa9lb!X>8Q;xMi5Y46DoywNMa9po(bhEM;m zzj2U}lt9p-GPWl43zi5?37QmWH7+_GWc&iLkX&7dWM*Ug z-)@U8kd6fW;pA61IJzz1z+-P}H<7cE&`_7&Vn>vPhQHh+&L9VKis(F&4o1fZR(*#j zP&+n=eex38uMX^$uSP92{l0K@m{$95G5?sV=l&HdTBC53tRIIcJV2a+l zTde-#SX^a3g3U@M|PzS%hzkNbSdBmRg>iEyD3y!Xp1x0Eg5MjaXpY;&a!emtk z?Wr%VJC1OOMeYt|a*2RTG1pyfW$0W7!xLYfzlHqceCV?tLSE&-0uA0&(@y=ujj#%4 z8(csMspw?jnc+No-vLyW|6wfI&A9riBF2(O?1`^!i7!6zh`}YvC}TJ21O&wMAsMEr zdWeY$x^$2^xk}>2G-(*eAn%fZFiiI~6paP}9!E1!cXhik@Iar35HI{mB=2>SJ@d7F z(D^`}8ZryxscGgYC3IaF0k=Wz=bB*o8Q==aOI7Gr)KD%&u#D8uX0A|9i5S&p=ySyl zFVSB_NG)nB1W|M@m8p}i%}Cut-kZJ$U5ddinctqWi|-&z3eF&FVy~?p;`aa$!IA(J z?k7@}4L0Z8t{YG@D`dO6P>&ezqHP*qRE(I?N`7GKRw8j-nASc9hu>8vXl^N>TLwtH z8nyXRw)f0gXifN{mwOsf5wn7}*EHn|)rXgLLN^1Q2=#mki$e%AOJo3!d{6dGtZcH6 zdI3oWW>n3m7p@D_+OIF4J+Q}@kA6mmiEO32PqhFaR3V$Al#$=8h#74La4{(ecHMBW zuoAv{j>6CfG+5V&0rkiAZcFvwBlgtS_p0-0oNS*PKG#K6S5;Z1V=;Ubq5pG*6`{w~ zbJ+D7-*$Td3GCm;lAy|>)VS5 z`}i|9Yorr1*TlFi3CO2T1m&Lqf(x5fZBJ`LPQm^;_I>om=j}#8Hi4+&kJdCd#0Ji; zVj@;GY~KX+`PTpofe86p?4d+d)+6?;*Y~3H0U`3!BW|B51Xa1L@@A+(=IT7Jw}^Ug z>&hZvTUnnb1pg}ue_5LZVMnCQT9LnaSJv>DJ?-^<+VV7oW3>l07=tO*$-?2|QV*IX zH%<1GL@H?2#!v?@r*zhw{DL(7X}GemFfBBq{ScL7a^W!GOESwtH9amyfrCmsV9$De zuQ?w!PebU5F9kO$O{jp4;zq*V8A?QD&x}EQy-j)m?vOh{F0{D91?-d;#21nagIo)j z>33K-NjTtnjgnmlruD7fj1N#2x&Pebx4BfsFftzUcFF?s_&otBKLGomZ#X#J6L#lz z))}*iAcev4#X1X z<$DO4RY2ZMksO9QLElpDoF}q;1a+(20lA08o)h0s3tvIFsy+C%Jf;0zWsqyYw7%7v zPc$P|@cp=Ur_iyRFBstPv{O@&Uav{zZJ77q0QjG#E z)N~}|5QiDEucsHO8DD5jWJ-L0@E&mXfIqf+4{zK6VA!>dihXdb_@7u{w;I3%-nftoal#+uQR- zW6sNPgMUoKdjAj7Q7`mu@?tc0-KWbaf zf8jKR#HU38?=!-Op(e6L$F1IM zC5*6to?iQ4#9-Ch%R&5-I#Rq5|I~Fw43Bp!)}Cbjsk3iQQh0>QakyGd;OCS5%zEQG zC07A)fYQkuN}Z}_WUts{^`IvWc*zTOWcUj4VjhB;s5eP&LFVyJk9WJ$;?p2V4?_H1 z{)3U?^eo5I0T-W#a{;CmEI2c;by9wvS6?R$IVgL8Ow}Z1DEAHNSZB3UTU(*PaW2p8|Wds*NV>$#cYph2M_G%1a;*N|vF}_2gA& zT@%kK5CW%2l>xSDZAsT^hJ1t%6+GM+fKkRZWRj<$9}Cxa86RVyzr>6w_e3R^r;lEB zzT9^P6m`~O=q_LF7qcp%t5p6VL6W3Yzx=mm~{?Iv^umi;}Ij?n~-PlWiAXYt3<%#WKMWo5150r z9G7SM9E zJF0;(hsNd4SVK6wK`7z5P1eRV3X!qgG;oVs=57`2qWX;Dp;9 z0FechD5PnCg===@V_E+@$AVFJMx|0m;wJlIrR%P}~E3Yk@XMq38|D;~2Q5)23}Gc%~*y}3k{Di0qf zT$h9fH8OIls?{9zNZV>PYGJU648-Dz+pkeqm*;vebI1PwDPj>1sNzW3l8$a?zMf3R z5jTauoc%0g(_4^4aQCyblV(=b8>F;V?E{kWm(S%~X8gc6J=FE#hY{iD{7Ndj;PxUr zcVw6DK17OsC<_3fBw1te092s(il1AImk<9W7|H-Mf~D=6z49!FMJ6dnGMk=R@#02gwZJ3Re~LH5&89%=uI6&G-dY3T^Afy_FOa>lTm^em7kW=U@}+a~FJ?)$rS3bJ9=OD7i_0!T=Ui*^k5kQ3r&@H~%bt=9&Sx ze#_j^n@<5lA!u?Mpqo^Z%DzwlbJQp|?S7DM1jS8e?#-wW@8Wr1Z<4e_lgRpJt~YiO zsej%HFE%x7K<1}g7jjJ=@jiDe4-(?4Hzh?-TpMPrLu~m9q1no6LuUfHEUK`M1P105 z7kQH#fptdgOJp8Sq5TSZ9D+6LPqynC_9o{T+{Kb!yF_Z?rzq$hDf9#&`w^i2`R3u2 z;O`9H1885LLVi<6iLsmcK=%a1O>TJsUKyc>Z6e%iPL>73{m0RXM3V4bb z2>w)S{{WBn|LdV2pu$UHP5gp_O>V1_G&So95| zdULT%D*GI#oR1t*zfgL}1t1hRm+-{`}jTObitPSu?hJLO;2v_2Pmrq4k0j% zy-H4)AgF-Jkudm4W`D$fT|d52=ocQ4)|gz;{&g{DJ!DUN`xM|$AqzCE5l{n3^Jcgj z04Xq=r51^cS%?LEUDldQ3scO(e&iO{QMo}vuGBKe$Dsb5ljkJS-D{i22U_{@+3xBf!<~Y?fGnmbnjEo+AEdJ}>JUrZH%mPzIp8;}K&gpnjMc4H`Hc3T```(EK|BDYM@K z&mOQ&*!$}1-T->Up7CbDaVa(|0@!$d5sXY3hop9}pdVnEyXyEl$<1R$|B+png@QlVjBIE_Tez8hF~My#m9%;}7@|on}mIw`cW?~iXSkr=k zn)TCEQf%GQ*M=HR79!qiWO;^uM9lUZ``Qi=>HH#GT|1icL4=E|wTNX2@I*y`5R`k) zNix7qtC%COK-7_fTh=h#pLNk!QSs+ai0FMz)q4ud7Y_;w^3nx6!uNJ9dR*K zjm6caJWUH(P}auzMFD#|Zy!5KB!$W6c~2l3$<7E@qqL~g!_L-0!K5R>M->Y#niUy9 zp1hX^e+%R^xH% zETn|e>v)GnzcenjQ;}T690}gJHonu7UffFL_V4JMxb@PU3iQm6=rjtjHq@Nw)ds>W zWbW-Y*KiX<6B?ep&FQ&^fVOwPKpI4JG+-GGv;pYKOG?Bzh%vY22PLg{i#2IQ8;-b~kF`Hr zPuWvm+HT|iG(u(tgv$%sOJb+^Q3lYVtGCL6g`Lxc@`mwwRJA~DdUn(JjwFeN)U;&k z$Vn0qH+f?@5!Oof@81okDJMk!~9 z9+5F9qdx0gF#{5hQxkw*%j%~q!k)+YB%E>;w}aZvpK^x2Ow7^KL)bSW&oSFiyuq7H z>Z4*-t7he{rhtB!4|dSLK}5jo7T{=ZTf!W`3O5z@fgM%KuGngyFURZ!&W~N>iMMdd zlLzcsFYR}7doUersIUWe=wwYMd)ZqNwDmC>vC>hxxTs*ly2F%|;~dBJ_Q5tSaPEL1 zlyxoullirKPqL6{m8R`n20+&8ChtY`KNIp^y*&Up+fz#wfC=C8EkTFy4@a#PIm3pa zP(P1y#g75elR~?<1TFNrA9$YY$1iJ5JO>fE!)#YS3JnHts$=lX_o+Gc&AYJ!HyNs2 zpk4;KynP)#a4UFYlEU_jEg8U&B(?djm3a9$*@{* z=A7Z0aJqgX2>aIiDv?o4mFO%#1_(o!t78HUgQDtUUP#8rL-y2{_UX|0?y3RqQov;- zhowqay&!4@>JJ3RZbA@=}s%@m19)gp$Jo=d6?5as2_d$&ZQLAJMD&iCzj? zko=*<_0|dGuR`8)-$Tubo%n%h0BlS6n^lG**xZ51u6QQ7)u2p&ViAfXFwTnot*wr5 zY0?0pWtZ?vV#!egslM~im?uzS1gqe18CrGc`-S1TZ(pCbhe@)fUPestD)lqn;D_M_ zh?MpB#i>V$5Y3gUu_|@-in$8O8?Z=Eg6;~QRiNZq*52hIn0yso`ifZ?l;$ye^4lfJ z{!|rFqy~F)aA&Z5B8JB$wjhgUWGY+}S36&-y`%TEAe{+SB}~UycIC4C!XivXl^87Q z6>|D5WB`v(_cC~A_MUL=)T7e1*ntfe86&JW?I}yj3o+w$p2(fYDEo$?F+~rP+ceHn?1F>ipl9{nB zCZpqIkyWf~8O}n*2OkW$zM~di*mire&swa& zxROSi@_!^|K_D@+1&*c31-5PMuPr&sG49^_T39%=)vA4y28ZZ_9{3vgQ!XeX*(YU* zqCyhz63*36JYY|KyCRt#%YQ!>>0|F?cN_Cz!NU;)$mI&zE)iKf1%h+EWo%5reAdUsE!eIv4F?p{501Ks^WDKbYJ@yS#P5 zG4%(@2O%oK9wBBlBEhP8$fxNY^y!y&v#JVdmyce!3WtLS?LJxc-xaBQUkLvcSAt^+?%9}HS+`lGkov#v+%d2iPw zs}Jz3p8}2>3P(94V&fwApp}F>yAxXp6v!tCrd-}fKaOpY5n{q`?ejl^^=W6!4Ulo^zT0N}rX&PH$sIqEK^#6`nmrIL$atf7wMoT>BFJ3PsJB6Ho3pp|u zCY!ClFoO#|Z;@F7I+@+2>X3ayFd<3l0>iAUt7aq|1-l>1(Gw2|L>G4{8R~f^!9jlE z6O;gfKz_d&a~Kac`P+q)bLS2aS>-M6^EX0ox1kAijPS1fbxinhpqi8#q zoI71vqegn_w$?ZiA}3ayRB!THzmCPk@v#H49@$4)Iyhj;{Uw8On+Vvxy`|o`61DiK z>mWA|c>HGpM;7F8YKs627zUT?LZ(Q^uVbKsyN(4@IXD{Ie5fF}m*uACA$J5{J!B=l z9Dd)5SRE+I4=XVM)*SP(EobOwu}BnmJzqO-5=Fnl>x?8cH<49Vvy zfPyy`1E6nv` zhAKOA24z0D^9=zUnp0#-0Crx_+1}OxYz}yGnjSNvc1TL>*;?=zq%IaJ0Lx@Q965N* z`*Z$x99-N>BHhajiR|iaqQ5c>z3*i@(1c53aY7tAf5SeMv1HV;W$PI!7{Q>kJobZe z!JT4`9`ODGJ}|X@40wC)nqCCj3+pNHI#)Y#a%ZtMqB$8%nQ~OjNdok8u-llD1y~8+ z$0aBby%Xq|JJ^bOMI zF)RJ$ed6+`n4!BJh|3Hur!DMra$i_B+5N?6oII#2!|uBdCL=6siv-!;B0&E1u>W7* z{(az?i$`33i#TF&!@L@%6R&${i(Ce_3ef^9f7;?oGRf=YV5&JF%I9ImRL1V=q=(tG z{)IN(z;1eHjs1mXwo3KXNHQ)RVwYfF1J7JNk*T=k+jddu(jcMJ0;RYSdCW8Y~9N*XA5`^J4(@O9q6mtL1LIwzp zsuZFZpwQ>|rSS_hi%V?_#+_5Kyle!I-YpC()KEJr#!PYo(czc%d^mg8Apk)Vl!V(IdV&MAgJ&~=l-xkF)->yLQr?FN=xV~o`eIbE_w*f7F$`J4& z*VX0MiOmJp^#18PW9T)w8tA#b(p_%49NNp@U@SHPb1b`7ehfT2M@ zJz>VA?fUyma6@J*b{c^I4SUT_wn#cuB?oOti$#?^gQIc0l9^13O$~ z;6T-1V5>U((78N(3faX&_M|s{U6}pz_KB5yIkD_&_e!L z8f0KIkiu<@_CQ4Ym!T<*b-8)Y8~@$D42akP4}&5>uDtcy@FDDE=O2-SCG~}61PZxv zU2dEkd#OMc!Rky)4eyrOC+{fY{GUZ!@b1E_8XYO=q2KfiyRqy7L8B5O9AEK4e)vF6 zzu>BhiuBID@QhbIe!+-`7oBq`01;wT0h>8H!%@2Kw>eo;aXw`d(fqEU zSM}`*f2N&u>p)TL4*)$@e`@*W9CcRDc;nZ#NW^cN$)TPSEm(Ic&Rh|>33xI9`m%pA zS-T869ewhS+=G3j9&^XhR0`{GOtQavd=Q1%)5>nB!xy`oe4er3)FjxvDxvB*Z~l6} zfltDstV?MCSU`6eLza(wg@_6T$W9O?FP5B)r-~~6dcAvDiJ0MB>>hHpGdiePd}|Y6 z&jH}$T{xJO>gRJpRuZY6_2$RB_YFp^nB&5H?9P+O{`Nh=TM(GTQP#B! ztFYxHYM{LZGZ0+Yy+M_L?PR}!&^n>9&Ygc z04~l?*Du(?|3vKx(lS0}Yqh{Fb$G<{w}=@iJ*Y3rUq}P`j$x%Ydl4CWAaC%q2FUd@ zRW~{+>UQ?R-RJh1UvVN8PsqzLLNeC?J~zQx4_S$?d}2`_LdGBp_aps9rIXfC239?s zV(J&h9KMKQV$C-0l9{oVoO#ATQJ|cREe1E)fw_8~lj$iT+waQTx-wt3F#YXo!9)Ia z%ZCZ%+qnSht!o+2nbGjcu449~X^5H(KJeC?fDAbGPoh|E9DK%H*&QS7s1D&T^(O;Y zw+Lh{D+jAZ%TU+r5i9kT9o^FZ2e5tl1lxn1=?FgJ%qZLPdf6rO9W16IpNkZnyj~J& zMW5ndRqoCQ)v3PxHXUlper0c-#?!(YV^y|K>nm5?izxLZtz1Z!d}DvM_@Nr zLn294uXc}C8TDkVEG0<=>=F4lfPo4PDM3N_1kpg%z!NU1f0dmrd&t|tm=DvT$S-Wg zc4T?M=QOh$*l|fg^r1p7?r0Bd$!=tbB@payQ(U$R%+@e59J(-s9YbYiO-vC8&_D|b z*bEI~>7P>mt&>qa z6E0d6e0x0NfYo?+LW{K=MT;@qJF9>X`t!!+i>-RZTOt_`$96s`cJPcr)Weq!4BB6O z4Zi|}u@Gbo_mvzp$e#9l0dCGyTJ!!h0{K(v1Z1bSL$ z>jTHDiVe1CIZ^x`x;mfACn;_JfZ)Qw;hjc=x)tGGrPQCE?r-5<#>hcW*L9k}(|2}` zFHe`Xt$ZTG2xqu`!B-ke9`r2H`-zGak>af3(Gbt3N8;c{U!3l1-zw85$Sg^1$YlCvU3;n$8S1AOPJo|D z;Sl$8AxlS^IwxOrDa-&_2f%E#+gJi|-fMfzp6{-T>f=#(=&1!HW-$Csa_>=?bq0$W zeO@cj#5oPeI)u^)d2%~iEJhSE+x-pL3g6H^r|KIVakWt<^`2VjYag_9Pk2`)k-vqU zr8SFvO!7+YMKKvpPD0qpK9sn0hcJMFhUQN>Bi^Zyaa(WI35k;CT(hC>N$;v8(#u0t z5q_yRFTz7a+^rR!u#gM33KIkH{a~&K06k?ifAi*((gO+Q zA$#JxPC4fTzZ2XRR+*03D=QINVqFWtd54qrpoq)TPBr_azBk0*G z^v>EwI*tV}W!h{oLX;3F*8x96ihW50V#x?Kthp8ZGGMHj(|YCBJ@H*=%O7t3eCOLTo;}=aD8!TnXh_ z5z6#KVZE#(ho`>lkaIrd5iOIoYM~1m!e#1;!(tvgi&C^L60gMaNM^l&hR=k9>LFvz zYfqh&2;8aqBzfS;0d`9dc~K?pwS93HtdCo!2OSin?^{iZx+H{3Xc2_S1C9m28EN#MQ+U__QW?XiBFzYx8TrA-{>s@ z*jf0qt_8;+fW>E$$NP`wF|w8c(jjrqL$fvORpMPma;mx47t1vA+p;Iau}AA^hDtb> z>ZfZ;vVguW*;1}rNl&jHYQT0n!OCC)YVYe2d)B)O`HUwmUqnqJ+PtaJNid|;Glp)O zFeboXhG)#K7zize1n)j`VTD{Ae1;S>+RqODj#+B5)txykvj{d>MZ1Nb@06!m=)OH- zPkL7bY7E~mPaPrg@)gPL@w;cipEJ|g8l}A>i zrsd4|;z%7`u%%oP?aq~U3x8;#>>&eM;1$cxF@OMm$8nrJ(lVQjM4R4>=(Y4 z7T-fH=Da~I?5Se3h&&|9AYGLH{kll74Kuo7Oz}AvA~*@A%|8#74-a&0s4!qmj?J>a z&)#CcFI=ysUXi}2Ox~mWb!w6BY?023&R~Kor6VD7Y@T>lU>+KuvWLu)r*EUbXcw>| zjZVU6HLP!pQ_`A!yJSnf;(W*aS|Sjd?By#zkgqgMtLSwxWj&z)0BR!S??{*GA;&3S z+}9zHLdIB-mwV|jo;9ayw$!U!(%)_jWKk%HGvG*9X*kS9M1nwVlKVo=b*vIb*${Zp zH-HMRfgx9??stFuj6UsGET0dAxL>b~d>hzT*;k|d2I(4Y^c@aB1OpV4 zodRa)%6=;Ooi;@6?pJzfs69f*#;hT6B& zyUvRDrpC~!%v~|r%A-v!lm6g`CQWL#TWFrc?Meb>jF5~yq8`uDH;&qwjYyFFli(H&lGIiI6u5=eek3B_L|Q%? z&TfHULcmv>a+u8bfPZ_!HQe4gM7}n0=@BUdI&>Oz*y&{`!2&eZCGbSmvk4+cz-XT6 zVq^RQO10nZ_L2l!A_D8LA^#uCh5Gi=A?u8%jCG(9#DP`G2TyCD?UE9b^1V1hB+?gb zt&P5 zAE3kDQYY!PAZ_z0U}$CI37yrETEX?zT8}QZB>7!L*;isjV;9{KGJ<23ZYiS(w4SjB z9b@4@td_8X^#`1Q^%k)$t3WJEeKeG$*8(f|67mxUC;ak^`@IZ;L%dOFT3-gACLJ@w z4(9`5kpjJ8ILZ)3-?_E8NLn(28csC*rn*rZo# zx%@f^uoDiBbFQIb#c~)j)>8gj^C5nb?)rTTxCb`Pk4E(5H$U$98vZ6r8vgF+|dbSrdGX72JHc5^cvOr#KlRN(IELu4q^R%rm#;aC6$_~@c&HqWE5 zUmph;fM%m-2b!UYme)h}+;=5{{|UOlDr9mnc!1TH)B9F3a%ZsrrORN?P0ZBOoTRnO zu{;m{ml#6oy@`=Z@BY#!}%Xm|!chXVDxutJV zT|v@!M)qaBesj}mjiFH|0ScNNB)P-DS3ig;Ars|@(`3|0%41fJ@tCW}eCvh&@Z0B}j#a9(E=IV@8c41N z3}U!zbtZ|nfM~ox#1muKUJr|^I0#rn9Rd)RO5Kb<@ zq=7u*S?=_`CK-geK=#6{+R316$yRn(A2iq-PJiPOcaJ!KjJS45_&cHu;eRn1EL1>z zR^bAlcHo}1!xP00YBl-G9HT=#3#<*T3~1Ae*kVlR7GK#S(Bkb}>?O=#Y|uU8;Spbl zo#|nyl~_L{e0XGH$;YUSO&f%OjSyOT`v4_0ux%Y%vV6+S;7o+zLBmDaw@(c0nRc)3 z6EIr_KrpN9RB#*W8Ot)y^R+}~>K&i-DOBURjJTxKEk+ z0-~HSU-oMm9}6UW8!F*2Xo)#bwZ+}%ZQv7o70?&>(bn=}qMo`2NwO_5UTtzlf9U+8 zbm|LK&B5X>N&*~}f(-dqfGYPxVI71SN0b2o=4s=&m&M!6634Z>k)Q|cF=n@Q4dU!Q zPkPW1-3&+uIx#N=v$R{_BVB|3zF>X>mO~5t|I@e zi;}0mEA(kTC2SOpT{M~$Bi^Db`f16 z<9*?NzIw`zeEU&`W<0xm2|X!##Gd?axPZrm{d|%~ye%6V!%mIMm`5SX(hg$h6vLK9 zK}~WQvFP9fZ#$ng(Z*N_4>9Jph;WjFtMB7`;aPgk(S)xG)(SRqMFCwq{&I zXlk&@;ThYj#r#bHu1pOC<(js@e|4gW*^9LddUK&B6sX@Md>ZAOx` zThN!fgj}9tp zG9Y$hb5W-prI0I34nAnRYh#2M@7w^bBJkC?PQf2?39~Y`NbE_SO(btrbVMoVtzv6v z!9oOw1Jc#RF_maJ9$TmZvWzW46Xj+VMHLZHKeAFvZtA0g2KQ}QciI0_-J2mvxrP6{ zhWwzp4yDGb8evnYg8~W=ruNf%Gq%&{;U zSq^5P`l23l;-!Tdxf#=w$j;WwFTUIToky8x>8ic>?g77)YnhER+4m!MV$Xx#3GY2kOyUBIV>Jv z$spYhUVpShQXUIpW^YMf(!)E8mNC1X;th(JLiWnvLss^)KK(UhdoEuOGE#WGn0<^0 zWDGBJrs7sWv|~%6DZ!LuILKQKlJtwG84h2M%*ye-$PbiMoWO6P15J*DD`)298b@P#kb^A7oTi*TVvSA0P~% zp4=HLnY=i`!pv!_iB8G}A=~_q}poWw^1CIGQW^2Np z%eh0!6&9!WtbukMzG)NYy&Y*gi=mE+e-bB;vtdsdVF2ex=Hzxp6HWi;!CdwfI6tEr z5Hx(cHbQAHf0R)4yFtWZS#G~aIB8JG^jp@)E61)AU$=LV81brmLCD&#r8_?^70-Zo z7}NvarRRqFk&JyrijN|0$=Aj1Uo#=aoK@YN4JgHz+BUeh!&yWb;VQQoc}IpJ0n|#drLc8W!iQ;W-B$T$U37ouQY%T z^E|7oDeoX_q#L`P^6U!;djsrH`Eizn3sAdT$PX1A#t|7qstKn;2&f;Qj6=^y^~(xH z5{iK7=!|CSrW1w%Gz5hEER3d=0huS^M(ZLunLe#RP6ZZ#O^IJ6u)tiSF-gEB-UJUH z;~lc#WorO5kU`E=$4Wtt#(#q&NdmO2$0n~!2$fo`p7s(Hd5jc>Wal+8;&rr}{6-DO z5g2#&edFxo0uQ-($hWueL9&`IdczbM1sss1-3hgzATu0m=`j3AG{9O``x~t(z+O&J zkab}o%)-`&C4OJWg7q*nBh?d!^+A$eE;t|Wvm{C3b%sP-XkIQc`_kna^KW$q;>fRG z`GI9m-Imm@V6b(vGDZ@#ZHPHLxiL`Nwi~8~g^+7jUvyc=^T<&~aI~i#nEjTMj!V2r zG}?{-HAE-nJ4DA`L`!HOK{^!Bis||>{$$>Z_#!f+o&fF2lLg_bv6w-EjfB!~Uq|Fe zaW%<4dCc8oz8>fFG#hA-ex6po#%c8@%69zY(#|b*JnewuRRq;#oXv^d+K2{VUnW5b zZ0Oic!gu%}e8~d|1$)JopcdGr z;lyRgQ^nntlC)g-@7I{0xM%6n1Q8Eq+)*oSW)UY*6eB?7st!Uw;ZTSsqCjO;DV?vD zJi<<1`e{4Mbgl)SsxRed7o*%GjvjIS7_nT2nYh_MjaL@)3~{ZYC&Oy%%-eX%n)pHx zlJB;ih$Im7xYk_m3^m>}la}YM~H~eI&Lo7>4b$0Xy$@Od&PWf%rJTvvCd! z&=@s3Mdt@;xDCd*zU<%!kJ&Teb(|3~qPxdjku0^`CE{G6S`_&c4ZbMb+03|7C36_i z7o?(ucUd_EUCha&52da0QNm-Pl5T?oIL3? z4zaXYSh6IAOR3(3F%T;3{+~a>_XSxS$&iz$ykB%s=1_sh%LrB4HR~#twrOSc^H-(8 z2#lpA0v?Jv^|<5?QuP#g)$e4T_b}2x{lglYd0F+OBy9|kaPajQ!f>m~F%={vLGOJl zCa}naLq8hq20dohUSOW}^U2o?vtlbv(o72_?j3-~>?!cNo_dbCGv=T9HXq=lgu68C zDhSoz!5Go%v_cod3D7ymy}`u{CbUY>)v;WOH55dA{e13FL9QD+H2Yxu$k+u-f9^4R z4!lA?pJN7f$HW_qJ!{b}r*oj4jNg&Mk<1dd0*HfGG=>=j)T21!5sn~G5#^Cbj8`Up zw)~JCX9TST9w}2KMGUw&t%yAbUfnVN7O|eCB_C#j047gH7lRzAiFPQ^WKqDtW#X+ zSH)iqTLE1AJTXX{)o+aE8Sv_k@t972<9|Z+jAX$Y)-Werkxz(yLvJZlCb&bYXaz^B?1QhbutIm>n&0m`5zmosqxfp%p z4bmqcC`!+xTnocFc2kjOuVZ1gFlkXg-3~6?HI9Yln{DhM^j7VH@mH^T_ABLM#CR1x z*7yyJ3w~+tGYwxX$yq;QH9n{en%QIj7jYQ3&pe1LqKAz6?_hznNcm0|ADUgD5A7RE zdfb(;o9DiAtL5VNtyH?VQZcwGGjNg2NWPy?@rH~x1$UiJ9+=E(EL*p-E;2cfG9iZ0 z4_4f}LbB_+;F_nt(msX^`;?j+r?DZ2PG3!dOHfM(TvNPY!Kh2OYlAA^UZe9^K!XC* zOSiqVY^|ejyAbiN1C7{KMp$U!u}?Fd)I9N({_$J@6MR|gem&-31uK|nTo2$@zGoOi+M zYiPOa_biUGtjwB^i(qb{Sp~F49;z>C1ltEz5_}H=p3SPK4buz-oQ6Q}h;5S(eI^xl zDJzfI^In<%FkaRvV8+hUH{XZj^4# zXSVj+ZJh(&MU=98^~l-Sd7%XffJj+?CfF1TzTWmT&Ug4a(JjjAOhBdSG+QFUauht2#ne;HoJ`5tJrjYI?xDO>==o?@cG<^&F@(S z$}IXTAZVbb6poq-j)Lh7rKA0)JeV6;0BZu^PT8G?;?Hq)WQnJaC=9Ga(FSE*>Em^( z%!5X@bVF%U51JNstxhEP!oU7q=gKi+!x>36;1NeSHkYHIz{1tV&Q0Sv`=Bff_0^*6 z19HUDAwAcn4uv68@dGWzmpJYls=tIx^}or~lL8rD_B;sL6vNomFy+jyXca^bWrw5K z_}HwZ82DK=LiP*AGSpa&pd??A@&6dIPS?9`Kj1gn6(QCup$ycPc+3-25_SnzWb9+m zvO%!3tN|F&g5f#CN`j%buxPs&kP~(9oqz{jJ?PIvjjw~YlWi9Stc8fU2$R5LJST(< ziBP&93fcZP>m3`l?mS5a$Sqa-T&m-+9o4$7jpiYze-|?2`c1_uZf22%^{%bE!FOp^ zo7ycv1+9>&@-d;m@Y5_=XYCW$PIG`KT(^eu;K-k!^7qS=C|wTrCKX{3q{+E&k`mAfVTg73|(@*O$Y6!{KcF{qvhvfRcw{d3(K)3e|WK=-$hnUJIP8(CyUt#ywM77Zhm zf#DV;t>Qzq7J>FxKfVASEJTbi!&vY+DORlc(exD9=f{X;XYnwl%Mjbs{vSVLSyft3 zC7Fr60TfA3DA+WUx{(~nk`4Hefi4msH(7z7E_m-&mQC|(-kzQW$LAsW*Fl4GMt@Zw zGWNg`KA9h9m~s&Zi;!hJO)i6BUsYN{vO59*fqh8!{omAf)ATerKEH$C2Tl8m zV;*>1?8>N-Jm`)wuw_StC}&x-f+;0=`~>tp*E)jst2eydJmyp4I!(`l;|tKkw=-O% zt`HCqo+u%v5)T9cq_qr73TTNB%8}S@x_)#tvK2r)=7|g3hE|9|1{*QfWA-dKJ`c*j z4mrtI3&4w*Ur0?Hup`#&QS#!bJ$QkH(-9(PK1G5tVbLJB8!ex=wQ?;0AJ;|aS#bQr zNjdVZ%003$VWX3G(q)8_Z_oz15PKPQ*jp`7%X`i=}UWXicf%-xNid;El$LgHfh&qMuEclNWc>n z@#j(b*D$F8t3(if*bp6#*Iw?#E!n4BwIfLg!eO|}; zRC&y<1vBR7Bq;9mlgWx*XSMAAmSmz8Ih)+)nG~_p+lA)PFh)M4LHMig$^=2yGQEJC zfqEbHa^PK2!@+l_cheQ7`R@b+!eC~KP%?Y}mU+0)?soCd#-c}TB{ zfmZ?^VRztZNEn$R=`}0eRooG$mAV~wS@8M1>V5#{s3K!AIRM|yg#{8TI zzmFM_F6dF!-d3f8yz`$ys7KUc+5gPw?wVE>X9f%X6-)x13eTp#3)!43yX>kkV}8zr z-^a{O0lX-j16}5Q4?u=0U0Y+RS+Szldjrd7H$1jCsv|E2 zFkZ83o^ltT08K*u9Ng3xEsN_v1asEWK%Q?u8p?z74)OY4Oe(#JNl8FPr4b_7z=KcD z8hm)^xwG?@^D1zPxxs_ek9WTkFx6IsMD}uvfeEZ5dB{qG^9J(D|HnAyO_yo11jeQh zM|bq{;sL*9hsFAn+Li0?KlV>R9oT>?Vz$TF+f=49jMThEu~sZPEG@e%%)DW|o+AGJ z{p&A(v}Vf)_GQ^6K$XNy;~2(JWe<%!BRc)WTrhc<*TJWSVQ&aX;>ABdMIN%t!eF_4 ziTO#hB>eJ}>s^SKKeU~e59~}P^cmLCXxQWBTuE=Kt{1TBO=GyP@6aY_g`a_udq<3O zjrYL@t;5_s=4+_|%Htm1uQ9LgV*kpIrUOta0~ZTgb77u?Iy^4vQid>y3fdac+%}C# z!OK4x5TvW->skxUd}ED-|G0yi@AB*|#VK z7!8YD{p$PN8GI-xUc0c@x~c(#_K>HCe5*C)!$oHachfMrK`5*86xBu7(9@B4x7H{y zJM8&jaKt>XFfZRX-P3BcjI$*p^qjp(nXyUubY*Cl$3vLZ4hbL&KQrw9eS(x-9cJE; z8~K4#%*YZ<&%nw%AdMbeh5*q$HphdZG`BO;!o)zi$r`)oW4Z_&L)O#QpcHvbXXXY% z7_Wu4eKwl!Gu%R=cU>FUxOhI1G>m34m&g1-Tbo?itb^^8v5B`&%JWH;(?*vz@hbN_ z(meM33pV#wI~>Cp<`ck`CRetz8SQ`P2)w8VXC_3{NreQvjOg&J9_uNS167S)V(#w; z7i|-qwGjLqnAlo}>iD#wRksXjTu%}H17dZ6hbVUJW;+ITMb3GwZ27nZHt7`8Zq~eqd-qX~!v}zd zPx3SCbg)9hDF`t=AJy4&#?(f-6`T&-382o%5!c>}u=G|y9<1kF74sLF`}>#$Ysc4W z!p2M(I_zU4ODdR}4#6{{00m&qFrmx*120cnBw2JuFQ6(9x+&=U{T!YYn(Wo=6XBUD zM@ReEyh7^2PnNkXZwtb;NPKWG5GiWy7;X%<*rdP~S<{QgQIHNK0-sTGCh&GO+(3&5lpW)5K2_9nR?7`&9Dgjf zZFM1Jtm%VE>+}d#C@c~w$L+_kt?-}k<)6nq6!Y!2W4L#Z`Pbw@iP|xqpm#^7wcRn7_a=TWTP5 z027-Z0N5%;p`ln+KTxp@AnA6{r6hteoPo{C>Pi*Al2wjrXp?35QVntXx~>i;2ysQNWLR!62&)U;k2K>; zd)?N*xH{ltvOB3=4qihOydMzD8D15?L_2v^L9|;?gUEzp@+f&J`+ty7bkt=Uu(`GB zX3t5*rKs!-_LT`G6~n7>i}?LHQ^g<-0C-7~)s7U!ZU?+wcAYUUJ2>moprdX_#_vRz zV~}Ra4UY%dQ!tBJ65=rA>NaS|fU87J3(1t>^tBhqf-J2Vl;o}s+grr5;a6zg95Hz?nYk_yA|6H(xv)=_JjDU zWF_~6A2n49r;uU%BfMA45JNB3Cdj`M;yu`q1S?Wg01~eRf^a>ht zi$?xnSlzv}Lv9h(Ti?LKhV0U6vKDaC#rnm8>izx>DiPkyIDsg>2aWX0hGkRHir~+Y^-o4C#BG1 z^gBQ%ODZPa+&CX2W;TqU0Ip<3FxjR20MhgL*RtcZe;Tf$BmpBsp*`eKiZC+#y`_7| zV0wW6@ne{$;sA+S2yb%9cX^F0rI>Ux|Ulu{Sc?+2=m_qC8>WiwpU^pJu5 zkFi2-%<$GzX2s||B2c`zlAx4g(#?$XZ|5R$)!GHj=g*BWPBTtW4(K?5HL5Ln#4P0& zPWvEu&?!%LY~^+L<`H`ayg^O=_K=ZYhRUvP3uonYjJ+tpK|XN{q~b@p;=G&ih_gR& z*-tt4b(@PP$PceBNSBMJzZ=lxPY<~T=`Nvv!vL$cQ+F&|62~Q=*(KM-(Y1%1x#O0A zf=fXYag&l*TaZ@Dko_Th`n#b_o8kF=l^5ls<)eK%*mYkN z&we+M$)C;z4Hc3V)R+U|=@T5v<^(cI#&D)(Ma%^3j*ZfFQP7BR?fTcUsCeqTVNCuM zG3L*a%`x*q@U$njG0`kpt=lova>WNg9r!pci#LbbVulX(D=gQ&Wv}KDd*U0P6W{m8 zB6=mqNDU}_criNxE(v)G{}4N#YP1=RTgvxxndLT^2yPjx&)JXrLuPd9jdtVI7vnEW=iWNv_IG>`AENd(i@+X z9sm~RwkV`l`G=<9qTXyDiy#VgH?-KeZgPZ|Z+1IUNQTgcPjHb=IU#Gbzb!>0K%3yD zfAAKzg1auN&kH{(SI>Imi>%ienUDSYMP4i}+6;QR>#sx87d+hT*;(a=XjMNILKF7! zkOA$UrQiBbhLMaZXYwtV`_%ow#>3c*3YR|^d92w>^{h8PXFV&pA%(x`6S@WJ{#Pxv zSzMxLY&TnCS~Jc>jSNtpSOMf2q>l|?5j7`AGVjiMjrN?T$oW431lt;MRZn|2U>W0Hy$D0lu&DQU|Yz6TV)=TX^5`uqs;2sOyyG21P+EvE$} zk|3@9pacgaq%WZ<_tW;6J@4IMCC}Xmm^P;NlRGYR!MQ{)LEAly%7{1DR@SrA4!~8x zUZit%2@6YTlb|smQDKta#*7{u7R?su+XejaBye(PYym!~R)CaQ@ zDCJ;mkd~WrE{HgPb^y<%QB0(KR-Mf6Wgf!|C%IdEA^Ha4LqDc=88+F8w-dA-zGtTl zL6$a5x?5Y8{{4D**4ug*jy{)ZQX}3lhC9zPw_X6X9(hXg&6cKjSS~DCYXU1!g0N_{ ztl1}@*}CMqM_fKW5iaTUOEn$iS}7y2g|x4`|67K~y)A3S9T5Cu zhY#@~7FqhT3=Y;MH$3EPu9lMcExK0G!|804T%o4uSTH`bs@R??P6gsKvX6u#k1S8Y z7k%#20CrHY#40>Y5so;^6LSf_->0PiKp_3l+@gHGriemFxe!5?HcYx%TRtYgQP=_E z)@1h`7a^@NzXk|(_9T26MK>0>Ffgnwp3wDkJ;>V_@L}79csGK_4!eaAi3?8ij%3Xd z0St~}1*}6t?FPZXQ$b4~Cf(dEpEI`ALR&m226i=zIcopi3f=wsliV#I6T74-9!<<= z&Mv6>;~xy6D)>s=H4_`UbH@&lkdg0cfL;7J;|hieSiR8t2TI97JO%&x zsy;mA=;2DmXjxMS8a-_80ghHB|&-P0Umg*lcn&Bf)Qf|DmbKSOu&P5}|He zXSF3PQ;eY%fZI|32>dwiHn|?NG9X*ie-|^f;Kool$hwD#bUQXv!rbyw(Dn2BYTkweta_aWqJ!(&a@pBSn zV!0iv$3d7HPISZ`YqB7VOA6V^W)Z9oYL#sq?;xHo%!yFFwG>Xo1zW6*7LlJW`D4g<;o&@7<`S1XDXh^B_{p#mWD~h;dtH;%kj5PPNRXD zf@P1;ZmBqY!kpPoX2?px#|4pYiFJ4zI8DB#!RBc&-Zp>_xGq3p_TIlVsPb)<${;We zA(2nD3QqewD5wv+5-d`q17V8T?Ki<`+=4RW#q7(6fug{I?=;VY@s-IneC$`0QP(>Zckq4|WfLmF>IRp3WKw9rk7|y3;IUSn9Uj5x7!i z{K#4kM9&)I&xlCb3fOaCyyw7&{mxVwyVrAttKKhX%ZeB&V8tw0B`_gW-2JTWU@Js|Xh;jdr!6c|6JKvw!sH7H=pft?uaLs9zC zeSsX>822<_qZT>6vdVxuP>6Zq40u;EiZrpES~V^gvi)@`2{|<^-=X3jsD{r(W?++X`FWc zc!=2=GT5GzYETF~?J853+h7KhnlysJ$7e%+YzBDokbsZZugDt^g$>!!sm5S{w=MCY zLz|+j;%1byY#8i{PwO#v5BYNw_;sV5?Z<5Dur0p>BgpZ<>;#E3F|fn3!K-E%1sJ4y zYht%FauHm80I|C(_ePe>3o9Uj7<*H0PdPpz9I&-0bV3E<4jr*096B3pOeZu6vWwZ` zvgetg-dRoDF*e)ZzlKgvC@f1U;z%awa-n(bF=yO9QGl_u&xH7a6qqFtgSp!^==84m zj>k_$dKcA^T~UMd^aC?G-5Wye$nyhy15DE6-k9W1 zYfLi0DGyraskG%f1iK()g#R<853RtEPhNMO1Y+{da6Og><1fZJNai)BfpzCvY##EHF_Bx&+nNqgriEw}>6iF@8*88nNyXgR&43bKS$8oSJ=if(us zyzSHe6f!clg~Fy}8CnW!vBzvL1!o-nISqjr-uA31=4Ixofin#I*JaQCm^}^N)>BV0 z53GxDe8j>HVp*K-{FOSpCD7NFgNYdpij5l!XEo3xEgsLA>MyWr)hFQ3IpFWq7uau? z3k4>J`a)kyY5dgvIC~x(_vz8YgaE11jUheT8eZ}ug+)77g|V9ss$>(GJ8oiU+m*&h zo||}|hT`4?!4U_BxkGmBcg)i%CU|nARnLMeV!gMtusTzd^_-Om<89>pr=rf@9f-D6 zAX#jQc?$7R)1xQTCx!upteqg{F6$fNN_bEgF(TjD#jd}o0P+O5HgOW$E?IPwF90e)S7FGQseL$&ztVuk{-$#)OqE#AOg zJ4k2?DbO>a7|kDZ$6|=4Td|={mw3!UBJ*K!tAI1QCS;aCOpf0SoWqwPYx~k95rnBM z_TR_;(jF)PPVLpfz`J4kmz|^J5i0@4FXqi(M=bGOUOhI)8Jgtj z)PlC(P~T#yS-VR+>3C>0hiy@FFe;HroLv}Y`JUjzx`uO7hRHY6_2-D2veCXgsc3qt z1O4Qd23>Hu_=zhIhPSBOq#~zWRpgvt;0O+b}z-(J#6L{$d-RhL4O_`eI2wt zT;wyGeb`m{$#IWaOm7T_EM34VQpj8(XjHDloLL(Csx&m3;#X#bhwRBOeSZH0#~a5B z2(nOiII_Gv{;jeoQDZRaw>PkB#eS4U8I4NnA^_!@+ZH<{?QT}^0~@G;DOlP^8rl>O z*^^)Xd^GHpvF}_2n@K1Y4H?VG55kHwl&_nH15<1l?hrVGQ>t@&!3+Y39?&vka&2J- z3+z>w08>NF(30OkQwl*hSKEXJVE2-T?8&cuE-}6bfPxFz0?Qi)%DkAnY#!pVNcs(V zE!428&mJTjxmW}4t%hAKJy~1>rBimG1kZlubB*zT#7x2lA%%xI_d_|6Xm}(=ty>vy zDP+*&8-BBT%+OFRT{cEw!m@h8_O{SN_Viai*BJjt$e63?)CHD(b`H~#08yB;E{iE$ ztd91p?C>`pw_;v;uJ%!B*i6aKA8tnPSxfK)SUwjS!k=zT*AQ7})t`!cxV~l+_awHY zu`#x*g=E9%_7oa}DnmcTbfpJhs-Y&lxyjW5wx%@!a)R2MB0G_*C3p_3pWngnqqc(w zb{%gER28leNTS z2W1qr1c{od_WAE0h%|0)<=?Mab|B&A79u z<}LWCx8~b!t9sEH@{p5<{14IY5n~Q3^H`O2MulzH3j&eDQpE}k7Om9@Jt$N#HSjXD z0E8$IdJ1D}Y<=|h9VRnHqA;+6{$a?L5$w!PDK=FOd zw^N?0y@#13SpDsT73Ua@B2gIV$Nw(mtWvCLT7<0|9+Agv0EMxE+D^sMM{l2%FJzhp zVO{WnimPYe_(c?!osznWP^rS?R6aAkz7Cmvh@DNUxrY7(OqZk4=AJI%jECrrHstmp z(MTPP={&v4J`KcI^NvdU2fyPa3WIUpzYE!3>5Vxt4QX~{*U?c`g!M!Mq+nLWkWn^k z{Jf+`svrU&XM+SQZ%sfC^PwV181{w#F5-q)p}lz;8bw4Zjw=ovwi3C8J0v$9oAgXe zS?+o$nb^yUU-%5l{Crorl6u!#qUXNy8S?&h#8x3mm(5y2sZHbMv+}iF3+!~P2>|9Z z!kP^Xgv92{uE8EMfapnq;8`4D8y}6A=&7&%!_`%l8dJ~gz6g*ppOMHs$>+VRuF6X58$10 zh!RiVDCtwN)Q2A36eE@| zn_S8WsO))!pDfE>s7WgGaRFloxDeeyNpA7%U6BSN@g$Aj^^ zKR2ybm@%VOiONHvs5tsR``Oft7P(!rYO}$w6_g)Wxdyte{peC>DdfPN0W&ABkUjOa z!A(I<0lJQb>p(+X@Dpx7C8C3Kkq0bobAC%=f6BbwJ$T@%8)@4VB=>QN$^bzd0 zJ0^-&-P4({7R*qUMGv*M3SU4^e|B=JXn^*%g3(@X)fj0yP`@NkfBo~V@qNrg`iD44 za4kdGJ!L_`>C19~#dY+Mxyt9-LG_3yu1dKK;HWuEf}n$s=SuSY*FP7`--nDMGaEhb zjEI!Q*C7u}5SZ-Y z4Ph-cI&(+J6@Xkob%!6Wk{L#cecyVmKO4Q+)_2m$iQOsLbKo~h17C+sLjt;Rpjgsy z9qR{3DhX2yYzk9#FZ1!W+gkNm^Nx3iI}D<I^=!{Bbf7a5r0 z%_$ip%+xDoCV!2pkC>#vr`b+7cZr@=4O2ELCOTcJ%v0E{;%We!oo&00Ig363uk%GWVtxVPy`Cw&!GQ@3mKACjFSiVVuQffZasR7aJArpjW)QHPM<{00`MNar8_UJszBNjzWOy>elVLiCIK*_-5yN=>h$iFox zuUcq27_1>6D#H$I@U`Rd{$YN}T#&P2_n{)j6vYZ~7jXrsG!d?e^eWqewFcEIs|l0} zOumaK{_PkOuac-&)%3*|?Gs=Bz~QSF(L#!D+2U8Za4o%}d1T zYu)3#13vbz{2=|C={1?n0$V%}1=wH!>|I{4?ikWQ%(+q;`&8ss0NUDfK&ts&61zwP zCL^wSJr(aNgukDPc77pv&swee41gSPN1_8cZ4Hr2v*c+NPu!Pjlsk<)eqo8C0c!nU zeK)Twl7T^q_?r5j4EK_o_8~3^#tb@vn*?T7dIk0%<+(lRYNr{%W-Zoa50{}`VZdk`ZBNQ z?8z_9&oR4Z3!VXZf}?3RrX#L8|!~=K%T8sCxR# z*Q@y{{n0T!NULNVRwl-72x|IM7MYD@V?<+9vfKMpF7Oo)5)CvbKjJ}HH>kZZe-51z zdx`_=nKd!zt#G%3Qa%0MC^F9(yF*&kxICaGiF3A|GB+)%h(&UrjZb_J8Q`y#(7ejvC4VHMk7^>UO@7RtPb>)`9*p}d zU*_1=HP5e}0dIEkzdU8T3HFwR@Onz?DYMilL;A*=+Xibu$ygN`o&b>cnA?Ih%D||( za+%v&aMtkYD&psN#N_PypqAU5$6#_oV@kjV5_(~{Y!`!J7 z>pUtWsY}SE+CAXlm7=-7qr(Ts-<~q);Q~L?e~v1A&n4CKU;f;b03eJH?;jYBMWw0>X#x{76FwHnt1n&nM5|{}03F$@IctX5T6)Z$|8DZI zeLTk8u;&hXe_1_=DaGZ0{m=fFAMGrypukZL>auUH_xy+Uy!|}u2f;xpW*A>pVz>SR zVsQ|EgcFbG3VEG@Ox7N==f9h_J9wpg%)b>!d4`uil+4KJ(D>lyglSLRwb1OFO2w%& z$IZ?w=a!CHpf&z^On8S?`9)erS|BK7UdJ^Wub%&I=$HPKOu%_REg?GQ%;0;mTXGN@ z$1t)%w{EXOw?0lY9R&jwG5(9fcHj|!-gtCEP37l)lOoF23U?$w7uNeBwqw;isPXpFO4$d4 z9SHTY94x@&P}R02I44z$!i7O`WtWL(Kcov+zHXlU?huEEfPX#6x3By#1qGO6EtHhq zDgE|>xoofk8HqPZj&qdp1%PQ(=IaWIpmFPwVhdl!9C$$nny0^VzvbQuqAc?O*H3)) zB+2PSTwF~M=>$OQDqXmG;e1100|*SN(}QlTOr#wHrAKoC9<;R#mROw{gWw{1;H<+L z0v1VUV1J^S5Z4v!Hta9D#+34?Vd>_H{n!73~r3h;3o9|QnZ z>HF{UZI;J_<(WCqD2NgXiq$fT-S_M$^!jB*htq7}QdRox9fpQ4lppp5$ggG?_}b?%Q|F86mZy?*}~pMaiD0cW#8I|oIA#E zl7%88hWFF#`R|T&Nbij{?V6=fiR3;H1e@Z)%?AcGZ-_}k|SkxV~ry}-3P_)q!@}G}-$qHEs z(4PD?cra0CEFo=^bnYFjNM)Q?5dOIpfo4W%Fx#w#yl* z9_WutnjUY#?uu7MVlesc1O60qgWn6`+Y*Em;hW0@B{#G1|Kl{<-LfHGIT&5o+jRJ? z*A4NYDwibfQq*V%Y=|*B;KwjYXZavz zsc1$H+UgK=5~3QGeKsIqDAt!~%;mUFGaG$-)8dke@}ZF(jj3V-VNv}LI5w`MQ9R}^ zsv|D`hY?Ib!^5%*Ghnq-^xIQrB8cY?ZM1iMK9Z2stPx@HAtqA94UScxZ-M73g?^?Q z2knLYL6^QfzKRRN+-?(~F){rfAzFHg>J!T$*GU0>JYb z-0%uY70WJRDf$MMW?b&poCJUq8wfi6bo)ie!ZW)Z%-vS|ZxPc6VL#lonABK!MGOds zhb;g27CqupthZb*8lM&SB9=H-(6#jP>=y>c)nM*k&wnbLEn_2R0vuV&RM1Iw7CfW= z1Z5t2V02IIin2w!H`PB=>iOGPtEq|ZY<-?6{$dhe zD48s}#PCb#IqTOpG@_7e9zvxbU0|2b29Dy|en&_T`-^e#!@)?xUl%a?WO=@-Dz~k$@LgPC`A zu?Lq+dh{3iu=Q=tPjim-E?c6=<7D66C4ux6KnnYWo@8xNw70Y!02Zbe-rbw}17Y#Q)zvKw0VP4*Dk z-Ow5(@QCT0b=lvFaDp3GYdn`A+qS#w7`~ixY;8+JF{2ai*PJWC%zLx_myI?TlCIPw z^F=E-&MhF%7NsyuM;AO1r6jHx|3(RE#SU=;#r;i!Cj7CtZ?4wWgY_8f06|Y0VBa?Q8VUdm)}YWB*O!mp#ARUSt=axl#3bphV3$tQ zQ^XfO(qB-Cf)dnNnkrlkAhegssXbzv6A&=g8EPguudTMrz}zj9{}eK}F}l4xXbKs@ z*H_2^gi!~W4X)KgMrIeu;X7!j&9|YsLUtLLyJPa7LWZe~F*QyR_FfirclId^0}w`T zxajhC6Ec#aR%k9)y-M9=*$;P1d)wpUplF%tcbu!h-2IaO6tb+wtzyW)>Lr1=r;>!Y zu9k&NliaHyGup^NU|zlGWGe)kH7@x!2mot4W5ACEBfD-i5%_qUW=b(CM=XD$MRrTC|aS=&9DSd85x0);r|!K3|_ z5C|{Qg|6{D%TioLDrBh<67xh_9r60WzIm`xg(ep8VS9JMRC8IpAfR zQG~Tm-VYxlveb;)3G;gt0KXhiFxx0!vUbs(C%#L_916~HMxUR(%f_RrUxwM|^^ zXv_m8vTv5uY1_*TKioQDw6>(9&l^~niwlR1*8d^9+NLZPu-~v($lpNjLM!s}f-Yya zY+TLL^6gyizOVVurC?_Ne9wK4^kYnnN;lJ7l1Dw&ZAIciB(jLW=tw_ISxDS^%*$Q2 z%9z@xf&4)_cOj%)3TF1t_uTg(BN4=5Wn+*Tp`6P9ny+wqq44j#VRYG{s4br~x6k9A z!*e9BzK{)g+)sulz<$3p9>k?_JhdLxu0}viliH4ZKt`dkeo;sgI%6QE5Tb-_8PvRj zx<+IO3VS1FnT60bWaL$s-Vz25{ig$BtnBiaRRm5l-bzi+fBnADeo&hWRb1Kg1w{IW z@-qSUw2rAWA5hMoNS)FPW!c7*bEDRfs2^DA$|M)ozC8e77(Qo-bY}33RA$;)?vC_= z;hmiV&qz-(-Og$fVvWpTJ1W_HzqB1tlb`a6tf#aNj~yX~EdR zyT$yZJKouHSrV})g+zBiM+W*Ly?&7*#z@YOVY7q;Iv(1IgLnWmBDU)A!I5x;IgE#Cg~hN|z~tOjp-5 zqaZ70se|R(T%4YWgcvq5{P;bc2s}vBy5?vyn=Kx4^N{<$3z;1msECMDGG;^VR0%3c z!X_xEp?al|bHPKtd3Np$3Xv9T0M9nuPZSoAgN2*|srO0@ip z7Y3Vch2PR6V^VIn1}sMV@@NYQb56RdbYSom_!u;#=7+IuqI{Q=9^TC4 zKnZ2KauN57ozq=G3gi@bZiW2YB-9mI*IR+ix#c^q-swkG2Vx7sYmIpL}u=*5R~RYEW&%+E(-gm$*N0kPGpg(4|-vwsn;+td{y#8=T5lpa?npZ_=#rgs?#QN7v!dK?UpFj0aNc8r>% zy6`31%4KRKR9C}zqlNnfv_{W=^D}n!>xi*=sgMA3#}9{1@@`od(F11kpHXUH!Dt=hPm{Q;e1u^~ogKxSXvuD8h`O4sxn2&ZL3V>n}jrSk7al(iStX{>dH@w<7 zaTVaV$zQZ;6-#DdH^c)4;!+S5vzOXhfd00EsFH#ycVXM7kbf|droUKO46V9H(H_Kz_)%5>c4 z3Zi|?ZsRdlL>#~Cq6t!j!2>L@h|kLxLe7X5j9uPV_Cik4_rxWNweoym0 z8qt2~N%t40hfHUYZhG{Dj5lr_OZWfa!dD5xSjg8`a6TOjGSp+|I?t=5i40L0AKPs} zu@)J-oRd%>e*;BZ)IyyNI1rF(AzWl1vEc&WS(C3PPX0!fAPju1&msSMmdooOZjFk= zLxhTA=R-0(M+%HYYDFEjesI|xvEV^T{g*ZaA1ADqAc>)jG+7KN2?BR*;=cE%W2gp^? z*Q#Cm8WZU(g|VP+u-Uo;yQ=hH00v#}j0bS#uZ8nvNdDu?69j8BeCr`O|9uh9hymw% zXcPXK3v-0!n&9v{9AGZ3kH?A6&KUVy-`Ne7J?Q2^-!6^stNrU-U)8>4_YKotrSyVm z_%Xb#2q(yWY$j(AvryrdS%M_=xf~AoG~iHJafa~9l&Q(HVC^46=AL*6nG)>fUn-m} z!RHhtB}}oG&|T0a>glb_<>(0%eczp4U@`AFbIRKYj>w1%SCy^S;=&;`ab6 zN)n)pbjhY-10KbXK|&dg#0e0FahG=h_I_D8?iXG51b9=v8vh4_5#T*gTKz?I2&7eL zHzPR{6x}%F2#4tU_CW2S_#%RgHzMNK>j$}lqU8>H!`_$0kkub$Wx(ti@QS%blJo1= zFW$cLgBfN5^;?<3u`7LXT5oXVXqxoOOT`;l19q7D@j;f#KSQit7K95tCz)Q4*b`v8 z5f~rLr%(#q;O#dF!l<9nxu6#wjF+kRHJ^(pqGT$wj&B3}y7iPJpEPq8I3_$lf@Zpl zUDDbHFPQ`!2s5v7Uh`2Z*A=v@Wqz;?@lPsLGu z`YND5nrdWEtRAYadsVnC}?znzqc|U>p<#7SE)M&! z5;XW?d%!szByFTxVE6m4!qk7iGd%yb&qee15!>V2(1qdkZ!%OnO3)^G_y)TtuvCYS zi`?S2YXR)=Rj^d_Q{6!t6J6A`h{&G*+HG{(p1N)Hu~-OgN38cZ$WIjSnpC&g3Xbs2BR`9YLo zh*P#(%@#bH)o^sVfJC~C;xU7}2oln_GmSai`2tFq3!L^?J~D&+j{S;1X0)wX12fYA z3$f^}FEWa?cnZAj;zxNeG@49!lB}k?=ByH967(t{Rsu0oj9eLdvxh{f54po|;51~D z#JYrf-hG})ebR8&kH@^TRd+MAGH^?2HOhi7`mIqs3Er0RkW}t5JB@hKcLD&i6M;T7 zcQXmYN)JAA7qQ`W1o?!tS!IyY4;i;0J5O2URXYJ1#B`Kcv03nmGiC~G6_M7mGh>y= z0z;g=Yw;|2Qzf*2=qc)k!?j)L7CyX@Dx?N5Mb>R3-Ym}o3BDEZ3Lu#=&D!;vv&26# zfOtp+l%XJ^ti{`;uArDJ&*z6@UGVuVs|k?OqQ~r6@P;9HY+jWGQ%5es{)$IU5hP}! z%TSP}6nujDEej_5)+Hg>AWHNxzeQ@mnhiV+HE~7=x%(nOp#jpg%DGAr3u_i{shU(4 zJY-LT{gwnDLZ(1_aE3q;h)2SQt@2;$V$;_&5}!b-YQO4`Z?LyP$V(9-?Ea`21Gcrm zM8Sv02thJnR~=~ftV6*w0zi6qe?8633AetG$-d!XI~CUUrCbE`c`U(V@Z|R8yA-J z6oER+Jl3&Ixw3~-k`Ol<0ka&BE$H+*7@h-f3(Wbw&1HVGxdanX|$+K=zg)WzVkpy?AL26eIS<_I#1@i6W->bG^FfgIv`8pi@t=>#26U@jP! zIr2!b*Wv!G?CijV3VAeG2Rg)(1Ju@FQNl2M|BwAPl$!I_00a_!L||Q|zHzav<{nfN zlvCE`u!DcwMG5OBL$D#kO+4ClZ47rB@&W#lP5{nCHkkV9kzLPv1tkmvckNa?KcGu6 zgq=uZMoCw(71gz2zc5`tT*={X&r!Dan4(6xSe{@hgzD^TkO}A!;1^(CUbcK~o?sJU zGrBEbM&5t>?EM{-GK~FAw_@Y_5nX;?`amBk!7avqhm+jMTjfy(!sX-0V^gxOZ9DN2|>unW}=l z14po0s1s>bD5fE3Gm`IG?1?UH*8c$CK}Xn*}9R=jl}Y|kteGs$c- zpBD!E^?+J7WBOD)WJ^T$Z5C38#5bi(KVhA`i|^<_^VW5@I|@B{LoO*C|QBB#9|AF zPxTpOaR`A7DtOGu6>U?qISlof(zl~zZZN(oA8ee9kVN^kA#AG9uwq7B0N8CH#k^@u zSINSZaTCn5YyK(!p`HQ~3;QXHS=C&kOyZ$P$B|TmhCY;tff$MPuBhDZbp|vUIJmQE zR;%=9CAE}qT+G2PH3XTV5{@E|UwxU=z19%Yg<%AIYfT;obQMSLm!e_`cBRI2J|h3o zJ!QwF#ZX~$BG>nDynv1JGGKK<-C8v{f(CEtZ|zlmMFJDq5)O^-sz5PP_LCuH7^IJ` zA?Np#0q)kWb~$G-lR)4=-PFi{J}Wr0t}BCE59(jRFDj~>8~bAhH6PKmr9g6xBNWo? z4b0wyU=IKskZg}8YgqeMJhm2qN5U}n6K|>HDP!By-13RwS*Mxp$N+wfK7H0L2gBBq zQx~3y?b$x14yi2rA8I`>I^sh=vtb@G07|ifmtL!T<1R~CYqW7?+z3rE zGilmiK&8LCT*6b;9D#R8KqNB70B%^sFz*)>9Vy#70+>jp3h&y+%f>bHWi|N2=b)6Q zGzR<16)Tj+$(Z!MeKoBw1fMEp7<5`bhMbTe!QF!mA7chaWxAUyeJi4Lte=0N7Xa!9 zA;QTE5HpXEN00jZ3u0x}L$<08Mvx=2Gvj(RV>>fwa4G)tQJL|S-8=){Fn{*l9!`e+ zbKG+P7z*-X!e3iIbxPm5%n`&o^qL{{vAmH|&q^oEa`72yTo&S&BSaTfmbmT^t zKrj_{Tlc#}UGTazJO$nmbaQ?$8oN^0@s%HXC25e_PmM@ohjFy6Q2T_T%dQ^qACqlP z#$5YW?n)d?BF-|D|LgTxR9%nRQ{cR%?fE|JvJcDNlZie?77{^AH1^t9JJ>x^Veaz+ z=80%mk(3xK@^Q>FsI7r0T8+fNK*FGQNzvr>{4Pq5q8dQOw5Fg)5bXDyWMRNBew=66 z=lKNs%iIafmYXI?ynj6AI+!Di<2Mf_?}%j@vl*Us6d;?SD&R`FFY{;Z)$D&B5%aC( zOf}HIbPMn*T^PWFA7lP{Y$OYu!HQ3)1-oSTy;|DPN(nT*bWP16bS${-k{Mon531KD z*MrP*p{}(30#%eQ46Wof<|m=)r(Z;)i&p@FicoY$SjDrZLH4&FXqX1Z-ZBv?Z&0WI zW0z=$K`I}L%}s^ur(x*|8gK~~g40_^BYVj6--TRZzo4dr5Ib6%C&MRWyur3dD}9yC z0mDN?{=LtZ3ltHvuF&#QQN66FqzYp5bA`lb0+BD`BQAlNTD5F53aQ5F$i9o2gNPo<)q|<(*N)*Ok*!v>z{hqT+ zzHUdEA!#Ma+@e6jjJ)xYY7Ze%YpuZwFxD4GwGObDC3TWCy-NKcVN+~Q7A1mF15(RImyAVv=02W!5!K4LF|NaI}SX7nd!AGU%jDB0&fRwzv zY0T%M-%F@LJBd7tpx19N}g&FG7w$^}8V438Meu3X(TGUJ>S zuye|k>D)~EIlk5Oh=)go7t+{Egx9WwDg|URC~!xga&Y&y$bGAMhZzPbaV1@A=+fRnI1+3>#yCU6_1MR+G0FoUp&Z?Qa9QQ_m?vKRv2>MQ*#JkQ{QN3dt_%l(t&l{DWKj_0Duu2z(BYKHBJ?J*W`m(OrjuqY# z8jmckzr@eQYl^B&BSk8ZF@|8kIL@9PR7frbd&{7(3SF6zi9#AJE!3auxm7H5xisFq z7OG@n*dkmX^OHL7kbYQ_zq|may=kf+K?NXV9SdMhVB{>_@d8Z|96*Uj;Y>HeA_K6k zm26yexM*d47k&)GN@inLdfA7@K5=F94r|Oq&K~l0+Y_HaM;)KE_e!HTHa1KGI50$P ze;Z2SLW|qyJx-i(bfn}!iAv8HRf>>7&-=r)qtC2M?O5iP^P73%%jRW8V=BKJiw7rDbjZXWXWzDV(XYa(ew-07;=L_Bld7f5_CNltv8 zI>#0)9=JssqDai0zL5ah^*zFrjy)kWmHg4zQ zJ>=id#p|G1uU_IKwNC9K;uTcXHj5{|ij2dl>Gyv$%G_EJ*J_VL_l z*;6G8V?ke&NqjoY6a%LS=q?u|@)WXmonpnI1NNfB#%@>^FxWaN=7dDS3Jk9ayHi-9 zY;pOes5K85a9H|m@+;-b@PV334^*kbP*UHnxUZX5e&XdT_I#`~i||*$GhqF3fJ*F8 zAytCY0=bdo$7Ds;%|pO_JBSdhh_!zx3~Ms8HvKF%=iCH=A>|e8VEfqMZVp)3?U}^U{l4&t}=}SWR&w9 zG5f)Q2G%jh^{WB7P=}L1uG{1r#~-U4a7OoiE8$)rZr5Qp8V21 z`8{m2BS{TmJi7#>j3+D6#5A=Q23KIUbYD>8Tk+f>z1!zm&ZP+$!QN0^8EANU$P~tG zy!Djj(KCL8@X9Rsef|k~V^Qm-XTRH6;Ey2(JnJJ$yM+d|jpN3Uy^Q_MstF~c$ke}K znH87x4mU+d@C#qgv3yy)`Cd=iv)_Fz@HGFl1cZqd>T+aTm`O!9Eu1q-HZ=0H4s!-Q zE3*NHVRiIl(IYStuN<}p4$g>B8Mo41nRx-*f3&@#E%DxR9T<<<)8EyxCvl6vJ?4UX zHM%hVFR05rW?udx^q=E+WW$8~3?wak|1rp2?;pkl_Oh|GDUJyF58qr|v&t$ab{#1$ zjc)JdTt5YM;%WSrOYR-)500!{B}hrhi5hoR#ayU=5U&8m)#c^H23T`} zw5C}CW6qzB{uJU)@8$CJ^p|fvc7IQQcHPH{w0Y)gbs4+|skrU%`-;zcFIkQz?e~iJU_dt@*l#&WvjVP|Tpgb&!70 zcJ`;qJ&Oy|k8@!MG(BYHz;eY$J@Pl~bjqak$S1O!f=7-MuTXm3wdpa-pxo_t4I`I5 z@~)!+xiTxGbJAR9I*QaqIqqW%EA8$2`vKL18bDp95fdlQ?lCI|f)%{R{GjvRv0T9> zn=X#ORlWsQ>}JVafL_UNTb{El_#k1kC241^(XE0=P2Fumyn|OTC)IOHw~ z$|^5m-m?R2QiZAYRvv|iU60+Dtczgu1UDoTI*Qpg-dzZnLCj~R4X84T0$ONY)6Nuy zkHNOks=~|#=i@{y%y6UZ>v_%~^;P??XgQB{o?WijW3C=^{TQ=y|9m~VS-@uKeON}Z zKaguO?5M4acoxw!YW5i%4V869WT2RraR_e?qEQS<^z(&TrQCH1s~pB_Y2Tb68Vp0zuEESiKe!ECL;|ubemTvgUC}?x zmf%Crr9h5coX>5WgkdOTJ_e27xz)J)zj*D`xx((kW)vaV>;@66dzhqm=%SQL^Q0tk zDzKtP8pI!UlCTW;j`#pI-RnOKTvE7jXIiRh! zwwC}Q5$! zR)65g9F}tBu1!H_V3+^KZ>*TXc{x(JNg75M(!Xm{By|+Y(RBMwddB;ESU?%V2rJ?Y zs!f3d0!YHw?)CjpaRGUSoLkqe|TrhzcHmVvV@fwU%d7_=vE1Lp^L^Nf<^ zv*ck{5b)2cTqub_6oQMoB|Ya2K{nLLXqL+PSbrKUT5n;d+2)%imLskFzeOxSM)v^}%;>>V&t?@eu!s)Hy90eY+GE#(5yf=tMSC9;_g zBJPI+kj=(TgyyXEiPluXK9GcT{c5hF96njcBNz|If600u(~Ty57^p-4uDOZ=Ob+Rz zQ>D?d?un3wykYPH9St}mt;z&wvay@hgXZ?Pf|HR~LFXy1ozKhtJUroXij@8)6b4UpRy&K`&M(}r#`?DybDw6CDi5q)E|1n_v*b{fmjJH-V z7obNxJ>u~>V&MMqx^(s9JgC>Tdn#cs?50a{Wsra66uc!RvY-cdkX7@GH<-5?U0K*J zJp0E7lPJWFKvWUcfSK$DB2C&b4AO5QKP>}if<0Ez@W2ocFgJ5A_UWigP|-@)lwrpP zr@f2R3S%lBCxZz&84c@JNOkTshCdqCVNx>?252-uTy#+jOrTm!F{q@*K9YeA%}Wbs-r>S5IJlghtrl1_ zg0F)hn+L4qRf--e^-c0H_<3AHE)PfJH;8i#Tvegw~0XLhhKl_L5`f)%R-=2!rh zG~Ktn)I~UaQM}654$5Zi!Hc6w9tH*IOURIq@4*eyC@55vNCvy*rePh`v8N7fuzXm@ zcpoePzDg9ZXV=ZX4W=eT+e!+I5LvkxS8K)Kz>=Khc65VUTIqx~!8Hh)(RDCXq2uio1Qr9;2$sE|*T564vP0V|I$UIsgNKH`R#h-fHtJ=Cya3Kh z%T+o<3hT6XY7&P*FX?(PoqO$piF7Q5l_7lN%JB9%D9QW_vzo>m-yqUd4m_-pE7 z*BljWf-1A_2I=wt4A^DWe?$8dPrcigJON&*GLJ_Yg&Y`_k^2J2v*@BFG08?v3Yy)s z2@;7wndt7wS0^)`mI?quvz9e2ZVHyCZn)8Cbp`*@bE!F{4$mP+qDz*f@Zsd;s>8a!!iHfA{V{`jqn zXxjx8gPK>>P$s@SQ<7ZI$%8?{EVf@Dkm8|L0J>qIG3WHnafq^~6d$c4TpNZB*s zjg?y-b`p^b?SHJD2X^H+l0`S9;(<5&-`K=`0g|5-G|E1i*`{XHRZ@r_M7U?zk1lGA zs4bk(K^w?aC84{jvf1v8$sUuWBlWzyYzFJkwG8$%dAnT)dnSJaJ8ECj+m!YAkyl#O zlz6o#*%RQ4mYeHlAc~3zb6JE-qT`IdgcgPi4OdW{0p7}io;o&ak^RrrPX(ao$mv;E zl`C6J)|p8l@`nOlL^CE~>f%W4kHt^Rp8j5}+`KJ7^A5ubOy6!zP&^2&d~tx-*WiUT z>y)zo6>&z(z5?B#>|}mRF@h?R?_JN=&)%CPBj#1g-K*`EJ^A(VYruA4m5l~u9(2sI zB*;>IAPGQKM3N9#z15-D9aovJOX8o}zj?$};2oF$@a-$qy5dB&xE94$0L)9j6mhph0*CdvS_7szsiD?fpC7PJv8TQ#8zSY6 zl9auq^YBTT|7ku4?cwv^8fGL!JCHYHMg-iot)d94HK^E~*`8H|YDyq!P_RA0Fmj=Q z#9tSQDnXL+L1^~u_v8SEKzYAIK!p6`R;qo23AdrTm}*g4;`L0}R?6q71^l4YRLcsY z5>@FX=y!_m*y}02Y4o}NhZ}gyp8ZDo^4d9EH3`G;y?=eq6x?9B7N7*Qqf!a=Hr|FB>u7RIZ4D$}mJfK$#%t*#<3&iW z+|IpwpA98G=drjl)TUK^wms|vmjpl1HJy_IDZ?O1_iN0sWsmXgs&lOuBw)}{@Uf9q z?Lor%_7N6>xC&6VL$b0M(sKMy+t!{hE;1hss|yqfWU5*o^IQ)(Ddg9+u?txe0aP&S z52JmF3I|GYyHg`p_Ht=K4H(&&z|BT3zt8iCf`MYM;NGG*CP|xcRTFYOtu9M}c6wPD zs#~PKNfyQ~y!h+A@zYh;!{;9gBYU3)IR#836g&BoDCiP&1{$_Q4G@JSOArWcxb*oD zU;uz_Uv^pAp~n#2M_mpv_MnRgU4IRFqz8(whBX@)t|-Wj)|=zrt=*i|c2afGC3Ze& zmV}dOY>^QX)lmYECM_p^Jg~cLZ+DYbC8o>Xe_PR**WOjSFc$K=n%i})d$|OvVlFvL zS5EN3=Ln?mL`Q-Z2>Yznoj~!B7dqf)$72t!1N#*pVDT^7U`DaKkZtdlp5H( zUW`%BnefyNS5k{kF6gm95qB*rbr=-dUomf(ftkhTWdIKPLA59nkP^2o z#7D?T_>>@L-%Q7NnKEMYoyDtXNmPUSZ7W@K0%D*a57Gz!dQOks<;3iT9q`O`I3x~( z=*6=S+%S`@C#GVcn?MM&@WPN(u&S_g+m*zt3XTAUspF_Dnn}6AJRn;oNKSL;#3Zx^ zXw4i_X}@HJb}Q*Zy6~}V;WRt)E=A%na(n$}F{7U;rLcrixIhwTTScwWcw?C(xD1`; z#-SaR4)e0(u!u9}7VW!6Z<92PMLb>+|2Z;yoQ=f#$`=3vbPyU0N_0L-Kj+O87IuI% zPoG$`1GDV{!K}pxp+hVS9y7Tov)X^_qcw@c*fsr{cx_fb)&&)A%mt@o{*`?tA3=VX zguGvO4IYYhki-MAF(jVv;VpTt^Imcj`iP+LJNCJ>#vB39^eAW>xY|MGtQE8JU}>+p z;;w!MiSWIF710@nt`($`ru&i}CEg}5mAdTS)~&$+8IH;ruws(W$dRMSNJcD8DL%N$ zz?ol#^{l^{?7RHdsIIv4VsmUKURaBFym*WLo34_xA;wR%4vWL9DIGgEHt$yR+quAz zteu)txPrm(C{T8|+qB&d$Zp9xDlj99C?tKcbH&W{1gGI9=D5WseVA6`?;~d_uib%0 z;_e#W>1YJiNL1KOPS$DOD@?LwXuz3DlXGW%^{-s_Nvd{w9$aGQczD9gKjrDne^AN5^#y)*sLZ zdnr*)!aKyhMse<30|%hBW+l>EuDO}Dha5fR z_G`$HtOZ_Cyz?pU8my#!V* zSOzY03{%Sm9&YFeSETb3%q)*tEK-zh^z%VWSVWN5XjCkn`U)$v%JP|vRALxtKV#lD zDqG>{EDMP1-%8$%AqzrS_JPB{zbQ&n$A0QWH!nD>S}oWZxbE%32oo|hMl{G3mg+qp z*GVNt$?|bD>P9~ZN4$)^3ZyZ+gnyv@R>q=MVAQj!YaqJ;v7*l` zPz=gLzy^Jz_TW)vt`=6UN|1qc#q-tnL~{10Rr@(2pMjCq2# zCge)D#HtCBI~;cjSTYfUcElDl4jIg#D}}<2W{5xqZ)d7Z_JFL0j-@um71-4gnv3Ib zLE9(BLvGl`efPv^&2!)jlU6t9Vxn>gpMgm$bTup>z-JF;D+5{fI2_-_tPbgGSSA3q zE`~f{X|y-wKkWKlNsfDL(WYZH09S$`U~ph(f6dDg%o=%}Wlw=GhWyU8bME*l5(4@B z*B5{o+5*%};JWkq-pC_fuNhhABkHY#VFeM-a{-K2TlEF&8E@3@dVj5X0(|+kpy%@~ zWI9@?FAO@t@L>0*d1IQ=(!;Vv8qQWD6gNAC@Ep~zuEUIC67V`4W@lUoT>IqgAK-y1 z0-$5y;Mv5s1K|sOSyF(WPP%8n`YJUx%x!KTL1M&5z+MYCbVW3{i2|S>Bl97ve-Ne)S)O=$&MYJ13fVK@%dMquuR5NjGC1GHhLHrIJU%*jLc{P%Ke*_E4G>>nU?NnX$oi#Jt} zX5k}F#K|3Bf^{;WM1~hJe0T!T9VW!dPMLqzht~~fSk}%wk|!c z_N06MtFQdGIT%0Uj)Wrn#2r;B>$o5UeRa9Cu(CG#cGIEHlAR^kfg#Mpdg0F+2%}L7 zS#%@ylTd4L_IB%@0AH zCP08uybktjWY?##Itk`9a>pKW(u{>k0Y*M#6~*PdH;>sf;A>XC>-d0zT6>q7>VO)D zx#x~$5h*FV2qKO`IvQ5EBhEBkFr?l-2H<2ev}4OZ6gRL0Q5HY&Q{l(3ieXACs0YI8 z%lHC8fVf^jPk}EVk!?D`Li@Y2DK8l?2;k|>4OfMF zesy31$4|j6lE#%)t{u-fml9UOgu`p*?g{WUDBnfg_Uc{b`G+ze`#5$$!Lv#K;8bzJ z3U`E+sOwk4D7Q9ifv83)Ro5WnQU%GZ(GAzb1+w$Z*t8 zMfSQoKr*DItItMsfhwgYJ`@$r84D8RlYKrnF$Mr+0`c&W-h%$@vNZKHeOiaPD&qIOyhDWAx7)at z0s9l^3=?7JQc)f-$!ws$C>L+-F7WY)BK1sDz=WJkRJ|AWr%4Y6Ae+mMMcmrO7Jw-p za`TYquOV9=o$+;|5{f}KX>-8i1v9EZBTy`qG!P1|71F%`BE>n3c{Uv!OS4x?w*RMje zt8#T4F$?y54KwV2gWyc-owC1wyt_DL`1{8y3{INxufXWmiAmy?deB2bzYtSngVv9d z(t?48d3KSdOz>>NH(+RwzjG4IeC?8uJ-;tClotga`FR zGBGr1zecQobXVtp(wvm|7X!KgEZo$Wdq{N4by0<178(Xr1&BdcS(fo5_)K{23z zGbckB{YBo!!OZT5)lMy}fRIiB$VXeU?}%Bgn6tns2 zwUX)K1(fT9QVvAt{%NIbH3({Xhs=%hS=o@=Utu)8^j1d|}*0G8uuQofnlhkk- zIy=+cnJA6g%~y`LT%kb~hb5jMnHY$j&xhPLLIe$22D>ilBe~>#Y9!xhxCM4pQrFdt zeEvae!gvW0M&u+`q2GD)H9}?1=tH9coruwZ4!{80O3=Io2n%ITG|Y9@q*+2Sxc5Eo zX1nZnr`hYSK*z^;+YPC37Y8KK$kC$pQ{J-*q;%tY!Z|*lMQB0Sr0@zd8xhARqF8_) zwMSjp2t#y5)Si|qEiHm@+Wa<2#h^s=eAGL12{YFNxDy_Ejs7Hx00t-nYAweC-rW~A z=BV0B_n*&sp1bXIsEf0why0oS;(FAw3gfll=UDN?ZOWsLA`A|9i~}}Z&qqBx==MC* z8$~*y9S%0kvC4CUbr_c&`4DqotA4sPc`AprfY$+z$z-$jbEv^0OKLk5XKv`)>;)#j z<_C;t+O=)>4|q)dE+BE%zC~It%$&rHXW6 zoheQj8i6R`z{+ep%1NZHT@yU&g8*+;<3Uw1B>T$z)_xOpf(2-tmCn{wL~R4F3wm+|;Ep9+3`HFx zPgaDCh1*9*kfw^tY83G&6&5O<&W-57)8MnI%3{oKNI$PzMeu z86`<`C%9<5exP)5JjIR&eA%an9#WUo4;dhi1zdSQ4<A{m=d|h%IuUYIBA&M6;hOFa(4=Cm_ zScRb1QC%v#Md|i%IZP_DoBw6sRdPd6je}2a8PruC(L=1+!jLYo-S~^+2-J9Z%$@_| z>yjJ095_Wg#VZe-75XUtoI6@Hc#7iH$|X18rb+jliUE!5%fNwM<2hV^nMb;U<$J~=tKq|}qj6v)WRuQ4t!TaA(EoDFl zHHkI3oe)ZJ`wgzsY^g14Yy>q0_7~`X2DA&HvBW;a{=xvMltsN@5r3WxPk%4S(cH+p z!5Owoj#)TtEF`Twl~5ns%Z7P&akDbC&w#H>oW$PL4~3Wsy~Y|k`bZ$ZkRu8_VCLrh z{085K^2pj2I~zwk2`&Id%X$Sp|2@@K&?^0YXB13Yu^eFn#q_&SXIP#FT#ExJ#53MN z$&QiKr9@FLGglxeTF;~NFDB)GEGkKtby2p@2?5_VNXNi$x!WzUOCN^$&NG$lbZ;XX zgg9nIdzy?&eL=+l2GTMvWSSgdB}m2&vf_nBk*;+sUN#XzYz91`^d})F`yax?tW09& z>VMlCjn<_PL+kU5c_;gBm9fWSEwz||bq!+1pij1o12hpwW61xA0tc<#Ku3FC8gK_9 z64imLA$YSLfmeQW+U{tEje8EmM8RWD9&`OYX1m}}H-LZ&a|2~p2OLo?0u+g?bHCJ< zqY!U3CjS|cVZa%4f%*Y_xM-j6G3OzVEyuA|2_StzPGE?VH_tgM<`+g|=chK&7a5nG za+PKk#T?RuOt9!hRT@Dd>)cBi1Tk{GPBRD-c^_iCtJ92_GJW#W&*jAf@DL#z+LcYF z_2(>>zlU5rsp=&#_u6lh5TZg?}|BUX1ht)klU|J0Wg}csCfSyl0vO# z$LkLXc8h!kX1ssQ=&+r{tCLl}fVa9W>|xZ0F{jEo3?|3ongypW(?hQuBTnMDzL1mw=dn1TbV*d?0%yEiiB9xXLetk}2 zcsK0RJFs(5V7K{6mq3jD#ODHK?2M^0KnV07t#GBBVX8*ZjN-uV49=h<_CXj1o*n6w zg7Z>2MeNHGJn-2CI$~Ee7?}9E9d6o#-97#WjEeR1El*eHpmgcONFw~7CGL_FW+n(3 zA+iW6^lGS(T(>I*=euPx3R1D6ukAC>DZd8Eq=7@QSbchgHc?#%dV0w5--R4$IO&xc zqhMtpZ|Zgfw}I;<9`|B3LIkX6XZV_`gCEo|rr}%7j@S28f!E0EBPql%cl?JjYX^tj zN*1{Fa~8^*O9283YL-jN!z9 z+y$5>$Rr4MGaLfDk!hlxAJ|d`Dh%U+8lcqA${FZ2vjaDTTsCWN3!$Im;*SheAwWTx z_@u#l%*kW!ub4Lo9?*+y8<93bg%%?&nr$@nIx$l#Xcii+9fHHb`_En?UUNDtD{-s0 zOHkFDMj8;O>`KdPKF}EaepP6hCr~Jn2cL~JcIP(m7?jAE5rvP@wkd#!Gt{W^7 zv^$tx1nIg#B1NXFkm2l9BYtp&%+jG}nQ-Rlj~O41g8`{xiz02HMTa;Mq_Z_A4<~W0 zOCe_D=V|`CW}6y~qS@}k3Z1H_Yqutu@Q46EgP7voHrHHO#ByJ)dAALiGq(jIzbCj| z3Nfto|6R!T-81-3W}yYf+Q(xCdRAfnfWUB%naDsFV+My100h>hL1*4}s@Yu{F`D`O z8guPCF#=ZF_rIu*?8ov?BLY)8Ufbo=gG|&QaA+V!gwa>bg{j6u3S*kPp7Vf6R!?iH z8+Ozs5`*^1YeKiF_p4yqSUpJ9jM3*8>Rk!5y(CeSMQP0S0FgsyKuGBpi3waOg{LpK zZPoihV5P%EirZ921&VWy@JYt`6*uVcU@J3REg6)vh~bbQM_Aed$NY7 zsRI=+HG+sH3$=;clW}V|$rN@>XaPYhWY!;fy@ASs%$^=0Zww7&HHrf`rhhD*qvsRJ zVi(Xtb%>Y*Q0{=kh;C$orh9jSs3jn|P(}FCqRM)3)N;F9CXpkh`G?4m-CbiXQ2=3f z-v@SS#8}Mz*O+NGHm~4@d_uA;(lxRw*?t?VT(1rVs-0bTc5yG{EtuBA@b&@9CuVr@ z9I-{wP4;V}JqV^CO&>x~9Nh)ZtFnq`O(=g0TeOmd}<4tt?nx>$R;WYuu6NDV|?n0Y;aE zl4tHo0|l$~eA4K}S`LDRoX46u+y8ZhCHt4)SZf^tKZU8+lCI|^T@{kFVz}pj4f@Y_ zuYCyDi1ZxWVhqa83JEP-dw@{$AUdkr;4m>h&_B*37Y0~yOm$iAa9||Qh?ND)Q^V5k zs2wW;C=iAj6=_Bc_KMy?qiIK82WfT9jJTY_=vAp@ji2RxvqpwdjptN{Vb z&*y#(iEk_S+u|O;4H~OKW$$v zSf>ugit$$DDH=lC!N{zM+}4~a)*;V!{xCwrpHVh>D4}@7(Mp|_P$U&IUbNA_i7PpgadC+3(N$J3F+x|%~=BK>sTlQmS^3Zw_HYT%f2}f zIbF^kC6o8=&TyH&nq4sPcGr7bA$PVt^ivd(RSsZDZ2B6Orv+WLI#=seDGd8+sle7d zU9C$e1{de&QQlBb5D7a3(nsEdRLbNNg&k%AT9^3MjLg7MQEWqI8Xxg|P3h2$Mb?IA z?877UOVF;EKG{b%4mK*Z1IF?*ESWSbSIU|!N+`x+ex{R_zh@36h;VZUQ1Fl)IvbFq zLvM%02%}w&a*^pEG8R;nmZTp;w@$D=8Bs>B=?o8 z5+or%cY#}J(;4G&5_1c4SYP>YMp&o-=X1UcI3k`EXg+2{`5u!ad&ANKnpM}yfL3YO zZ}RK+RNSQdRbLm~wPX1oddSg3enMjMhP7?k7VBO5i79fYaPD?Hu`!mWK5N1+id9&y z*lYuTw-?>6!Sg8>Da%%hi`4~2HKok_eSTX68sKEu0WPvr<;QdU<|;Ib=f9^KBytDe zFJ@k15CaW~N7!hCi@C6g2Z==D()yC!weVf?AOfFp8swlqk2w(%aA~DK){|jU&pr5} zIwUwbd@q}eXTSajw;YmDOtx_BW1(*0s|%zcKr4X1Fz#X*iWM@zPjp-DL%ZDWEr(Rz zO=iB!(M~u*J}n;*AaR;i>Vw6SZ@Uh;Ye0C+p8uZmC3&Z*F)0S_=`G|T7d^7%3d%bd z>4~t5pLDLcCZj>&)Zle#bda_*VLUZ|%nbXJtkL~>P8E8*chl87J!bnf(p)in{(Fj- zpp?6b8O^APA<(7q?L!T;qQP#!HsLs9s|Rcp+bSrrc+jllj6hFzAD`8p0FQx)vq+Xw ziR_RA7-a*y^8vxFo6w6Vz^8Oc-eGS6zo9mI{cE}XB5o>MJq*i5Wt7MvGYadKG~W+b zx19h>HF%_mPOp5@BkS0{JW$ZLtzTN#qifmU2Uece148yH`JV+8f4x{J#ZavB#*Le%6Ty{^-)K~ z^so2Xt44WbY}g75R0c2 z_Vt!5&~>YmR`;zR)T<}Krzqt1a3p|yP^StmN%T1m@uElsfP>S<>0dS(yV}{oBT7%L8odx~Mg~iy~x!I-dQfa+<5`1nW_916n+gSd>++o{p zKZYn!7isc@m`kG7?{b4So zhTV4q$=Z?EZcR|x6|twlCzL$zC^OvjJFj0Ye(l6XO_E95Oj}q@SB>z;-Ayr(f!=R# zA50;?nL#+0C5U`FVWRLsUYv`_adXT8ekvL|3FozFA0M%I#%EyY#!$`34g$4h z-^V9w^)bu^GJ(n)J@UB#{THJ%0!(_$^mG0X~&C zw+&U_J$aanSt_uK= z^sV_Z%wv+v)c5M?@2R@^cL789=yGbc(}~^A2kyN|A+W(<%V`B{xpL`Aabo}{AYg{( z*dFTVxHYW@?78nXP27^zEHnTQ^ZYlPQSvo**aFtu@t6WUunJ=}I>cm$<#@e&s53Wv zpQ!KB5>Q7Y^mgf5r5vo%Igd0y8A)ErRnL8|X=2{^f59Qa+nINa)Ow2NCA0!KZOCgD zXGCBGsC{1sxMfvjy5=uk-DjT?sB~myXE((!>5cYs8-)PIn31h&5U$b^kKY%~bKiL8 zzPwA=h}^TUlc@^-PtY_2;+`zt+!=zPNdWx+0-<7k-mdXDtQCZ1VLAG?2h%o$LWfhP zP&}?G=J+rykN9>1CBv{v=H|(7Jd@u}Ti;HU)rrfKipyU*B*ZM=Y<&Mv%;CzI78}w# zfg%P$(CY=HwCl=Sn6t_s90iVoEYAZ$$45kjA+G!-9&1wf&7)Jy1$fn_hs>4i>xFD~yo6 zcYsNHy67bFbIwthcwpes){V`#ak@-zo&e{o0o+_0fOye3w3n}m6)^>RXXPuw654%V zoP>BVs2Ql+!tKg;$` z)CX`>w37j{Evq!n&g8dOyg<$!YMH-0#UKp~jT}qXJN;2w;-?G9ey*j7ko0YR{!u=D zqBX%5T^et+QcM&*V9$T^ng7a$#4!NVW6i`&ge_xPc9Q71*7e^-0izpZ7iVN-(OUlq zIHL;5>N2>z5d@EUjJoLMFlT~b0~`dDdKP$*24`K%p8w`+{5f{ggp{L{#NY<4cAeGD z)fx#9nK`M?b6-T3=hbZ>Sf!U6*(?<|(3}vq7uEqStZ$+)T*pzq6yF%;y?FwB8jWtN zWm&l&Eua6w*Ix4%lqjQUob0|h%80^Lbf7XKH7cvm2aWh;m$u(ha_d_E9$abs82d$` z_5Oyoe4+rawz&KoBXWYlFe69N{LV4p$$^O>~q~va5p9 z=2&Exl?_7bTXn+Fw)>q1v|q+UsNgiaW*)b;$J{;U=T%p>X9Io+O&ANfs`Ko?0agn3 zFkr~5(zoMSVWUF`q$y`(eNLKTr$}EBZveNrsAw9pne(|}l+6g}W_aWWQ*_0A8_aY` z!vKPP=E3bt$R7W@&I*`vAi?N07w0ibhz&7byB(@lS?#=^8P*JOWi`{);g}I0;^3R8 z6INoc0)3#J8NUQ?=bF9BJ!Wg@D_Uh1>cH71tl1oHoyfRr)8>63DqIK=^|ZtZ zFL*Qh4~)(20wf84Nj5=72HiPc_D+B${*vZi7OGUw`Su9!5{JQh`Wf>M-JDoSvh}AC zVdRo!ONFr<$}aGw*ucmbCyB_Burg#QJ8oTJj2f*kWWBoVFTp|8x75Iwlr8Q1w7C2t z7*wrcv*clr3V8-ScZ3;?87X|6&(CCs80a@-usmqCk;q#D z_7{XhICA^v3(6b|#w@uHaO9l{rlbIMqS?}~ph<-@zOU%bUM+%tN0^!NCQI>k_-hzw zjFhdSGzhR~>blfA;G$m2RX&3b31D4dacL1j-WZHKA8G?%0)ZrvmvV>0j=U<+=UGgyV#pC#)-Hv%D1Bn6?2f{u!7xwr5Vw*g%~M>t*`8X%;u%D{l{4+09kFD^ z_mJs$s6Nz>4@_X}uO4*F<-;k&o53~ad0=5kcCh`E^)Bf)`wx}yp* zx{-b~qz)t1(cjuv4CIbWpNT$4PssgDC-#}2->M(9RJ-JHKA8_)a7o0!g^mjwdo1)52gfv95D;o0{|T9 z1xwry#2?H?$PA5M%(c@C0w+s)8_u@X9ac6CNv`3E=KE+D0rZeP0lqr!?cx$<;e9gf zG&hy|@GgrdZPzrlPZ0TmiB2TL!W>WE6T69U7(^NdY52vWV(xO3vPN4foMq#VM<`Z( z3hRUADt#Cc#{XH!$r`&T;tBp!ApXjUQ)Expg~OoGVeO=#VUc0vGqwYybO3`qKF zT`(zeZ`3Y<7`bo$v!H3D4z!Ap-z=aTZpWl3Iwg0E)kMD2W`&J>gdYJdh*3h0K$zJh z_-X!-Adozag`ECj$Rz7Sg&CZGbeB#d6_itqtSd9;UL2&sEFa9dd(EN|Z=Zq1Ous`} zxN;!&1M4_1(rKjce8Jig!@rdv+HMVvAf|7rg+r z&05I4frXbsrci=0>XUMwC??QYC?f2#NSTcIeXzlAO33N=YeQ_`1HFU9jf!1~7AW>8 z=|31F!($_#%*-AY-8S3+ERBx~z7r9yoY*;z^VUEwBvEgAd(wm{_(Gbg38(MdhzOy2 zdd$&deh)VOVz@uc!Ml#f8wkdWk`xeiqZ@1TjBf60F=S|1Lhz#u&$sw=A2XmEtj8aZ zSSc{QFz?&#Hj6w^=*)hGUS-$lo&EEVMqULtmHk+(^n^*gM_vr?Fy3ksC?ja-y%HyQ zvo8liDOi5##DJ@CaOIFXjFd&5L2nvY=tYNw#V`a9)tf#hN>+c9*&+nYFQzC(Do%Eq z3pk8=m!XB80EO$p`bSd8iJFiRjeflKQ&UcLXmiQ|(eDgypS+&4k|2%6V@&r~z%JA~ zx^U%I9~83THHfib$$uD=atC>JWEUf#OCQA00}s`6_R?U1{-&7^$-@BA{5|A926n-b z0%2%HGj@?l8p&%)hk2E>gY7mLCm4;o%OZP-fJkSyYfs@PqhfgLF*lF7{T?%#K9*1d zZWRzP?9eq`8em+4ec;r*UhP{e3Mjk_L?>42IUtzwBg1EsEX|m@wMy#nCJYi!IjD*I2PgX{xW?rS~U5GLW9o&o7J_nwFRYwb5Qy z6?*x04(Y=nZ}IP9w(2}vtCe#|sCH$9E3PV3YKb(FH7s;V#xX={+xq!Tp^9$0CL1&G zqdaH4x6Zp+DKNigp?#y!l#nwzhMr&WOI~U#C_FS~Q2MZ?9At+9e+@7sc1HkEzV>U# zkVBu0tczW^BuT7_U5t*ih`G`736##mB~ln`RE7$QSpqTh&1CF5lB?ZiScM`zg7Q0( zRdh)xjW&?`wPs()C;GQZ>tyvOT^V2&QmS#bWanX$N z#&b-}kV4FSQyE9x&0;`4uzW(waiGi)Bx@6_k?XjAb1jK7%C8LeklbM39SP(04no(K z1pp$gaiQq!3b71S9;`r3=Z1YQi+y?P&BDeWK95G& z2=yYmOo>%+d}nZC2bBkhKq6XgG*gvY0|V{C%+snlQTlEOt2Esi_gg;bLLMb;v|-)& zvCWoHD<)d-)s8xswMa$h#NWW^Iq)?+nme$ReW)3q(8hoz^ErwX7~P_J;ujLdmnlug z9jS^E7-gMthAb>*$^!FD@zrqJ$Vd4UXv$VMM}DmXkgk z%kMImBh@u>9?_HF6M3|K0e>_Rc~qf8!y~|$P_mi1qH%Rqbd}L3zU#1Dy*xrI3m&SQ zt|tlTQS0;F;1@W<6?vjn(M8XJ&lw%<+xM2rJ~6xHMwOcZYihvE&|L6ZIY)~;=YW$j zE(F;sw}S5Vc{expWU)yIX{<{_mbM2el%Iol2+Ihx77$nOYx9bm@m%+u=fEfUX#1EW z70_{^Vj7jPU@>;XWZ#zbB}r~K9CEc8B4%UIQm$cW0IZsrg+}IYx|=6{q7=${&fJUE z`3%|RS*ukYdO|DZOyZF|2R_G&zzqI8=D|D&PXb^dT+R(tXtxeSgEo}KuDK$ei3kNa zLB^_(pLJVQjF1_mA9EdnP9uOLRYO^g*@(Y@>>phmW+cymFZ9vwqKm-zj@l%7 zZdYt&=%A3nB_U)Tfyw!CK7!m^s_No6uTf}#ww zx@7gl%kW?WNU+CYX8oLI73B(q#07hzu-o>#!` z6*9`LIk*eG?AD-H2Kq=l%+=30{-{g#eMlSzna@|&-tCDI707a2=xB;8R18E5_=?C+ zLbbK;#3bu*^Kz_Naeh2e1VBmHOXHQpnk{+QNHNMRb9!Tf5uw!R+mRQ;3bCwup6BXO zKeC{8$s2J~1Renh$045>2qC)bpanu|#twJruCu=Ms8*?2jz+MJA>1|bva5w3j!N2C zI=yf=?K5yf0p*W%vRG(#mfNRY5*pt=Ssc=bv6!D}(Ej@UdbWF%(J%mQ-Jwy{e&O2U zMZ_As#e@rZ{<{G5c&jcN&S2RM5l zL--z>VZv1&!K;&aN|$UN7aa+_9*?y<6&=bGOiqJC7M+#pAx{sv{(fmNp4+HoXZj`v zoRx$wI4hzq7+VM2IhloC69T|HRrALxW-Uh<2q91~D**ohJm};>zv!3q`+7Sj)?Hwm zkV?_APs?IJSOxSAWJ}kl7+Oiu5y)>?1M%~s1NPhHJlV%7TN0R9z9H~5h$Ew{=zE_V z>pUb51G(W@)Xkj?kB05qGg2f&u(DlCBBL!@01 z&jC-Z>0-ia0Z}m|A<-PG*9C3035^H(*3yGS*MLb14JtneR1)79J3LH|*L0B`U|K~| z_B{9$SKODPad*;*8B^D$lj&kuc>CZG8KsnluKX>A)q^ji9JuB&BXo~8pF;q%)L4lb zGoIQWeo7v*=fRg8UEd;O=4M6%GNvhyGqIZ@+%bMbiNG?5y{~rG!-;o}ha~JfgmV}( zin&W5qSvyRV7@V?=t6t2EM+36B6!T62%qxPdF%uqlxyTtRwXMK`zoL9e+8S|M77{( zz?^9`aNH7TDqIzR0-r@iXqT5H_U&8Q13Snydf8A|W_W==I|jVP8!oqE^R$vZ6TY@p zvu;p}z*7$diTJ;0@Mm+u2h>Wr{3D$d4XoX-=$ycAr|$&)a*jkPA1F5vgNV|?s*TCP z!C}@3Xu|sgX|2cy)#+7gq~>1JjqJJbrI_6|H4;?D1GQ`Rqf#7~sWPLZCwiaGpX7#+ zFtC@3F5Wp_q}&J{5Hu9`AaOVQWnt)zMbd4BJ$B<%RQ5KX;=_u$crHwj^K7U6d(13h zsB(eMRpv2cI9CRh6sk_9%0jf-5kA%lk_vk3*Ws{?hDdcmlamkmKiF#thWx^2Fx`Pd z!)Vfqe(N1Qs|?iO{A?6Yh3Q$>jj;*Y+LJ?yP%zn1me)-OQ~e z5X!ymwxOm;lf1Q=)>B3xkj!~s4oKERESqe;KUKXvWF^A+!t(SDHjRo)c8m!pAz|h>POTJv#A-bzHecEKw`x1!PW;H1^^u4q$WVBErjvSfKL8{r8=UIZ%n2 zNNE3BaM*pOD>uLxW^OfP=>w3GJPUGpX4Q28L4UNIV3-w@RPX9J>BXXpWf-k;qhSd; zmZg(5+l+8ov?1%mlsr3NA~{Qvpap#OY`%j^)n*olNG zll*=!<_EhId*zA{o4$Ot?`s!mUzdY*wb-D8Q0lOk7PT7<-MM1!9`o-<<9~_SI?baa zrV5A6?mK(WJm@JDE-#(dfL-WphEX7v^71Hyoglav6>6>X6UpI04-fkH-s*n{8pPRw zWnjnBrYMh{2}L_aYC5EvryprxnXs-@KTCz5dAVTD6uO^E+8*>&&`$&T?M!q6nEozP zQ9h@*$?5%K1vg2IvDg7od&X=pC3ce*5MG(S{Nb)XKzvL;yGZJPfjK~;qvxfFrOQ(> zBNM~0BmNpQ?G)Q@IkF{~Y5v*!&M8#N=*I++aF8&chJ;Q;T6*;|yx zSkdUKS?0F8k-_HV9Xw-3lS1=yK)rUas}P-u%$?VsyG!E^9_dW#yxS7qyxF>VG$`oy z2SKyjrJR92RhhrI8y})v9r{MXDvT?d3UZ)$JO!V+rJA&>4=~t}QC}f_>21v%TEbDld7dqCW29#CXWcgX!6J|1jc@TjvOj7%48Yl{h}EqaE$mumBsP zqHE)N%n|DbIn|BifI4iUqC5j!U5c77GG1f_fTf7f>hL`7Uei@2!WYuZs+Y~dkU-`8 ztBg0$`r*n)n2V=uO_DuIy4=AXVb{lXFjB=^3iC0`BP$JtmVLj)=RXt51QxN3NaxZO za@(>Mv9e%#?YPtKC?~E^=1?%JXwN{A1-bs>S|=iR)DV}+7h1?D5oD_OoA_#18rw{W zWvxqLF^HCRa7QROtOsGJNmY$*cQId6wtL#^(5f_;o-1QUue--=hZ+0>^GtZ$RsI~g zS7@wmgd)2qDray=87m1S;O`MXqlGM<7uXjs>g4+SkXR``_(EKAVfVoR%>|pP!$Xe0 zhWz6ya{x)b{wQ-x#|kYn{AQT0-SX2Q+A~#UpzHOZ?VRF!+5K#=n3)P%6r<`~6xc(3 zwXao4@a17$wnRakeUD3glO9FwD0Lw=s;A1FV?u|odmbSg%B*GgVHj&uRKnxkCMEwkH^ zZS)6MQCFEl;#4=lmALvX1@;kEsW}H&a_K=kV^Xt+87XCftK#^L(c&Uxtb?-LT61xJG5%Xfq_LjL+6`Y|ON;_C!Z+N^4neY-fs3)P(%ybopb^%r zq2e{$+WpuutLvg`$zy&_7qv{T>Lk`32k#HJY!>SSbK%1k4XWP@ye&5zJ^Z^%A& zIU6cw`^P5A-mk6uY=90`*AvZpsb4*7KtR-TO%aR@Q&I}nZxzh!2l2nERjvNOQ9>p~Xay{qb zF+bnHUB?~O{J+1-b1tk?@$wBWGi5cN9U^p+3)_YW71@K9C}$9RBGHL0s8l4C#lWKa7BhQZ_jhPHh~qDOS^-Yn?a*S(E%JGr{a{Vu z8jCPPue@C{#iZ=RnD+ZF1-LraN%}bxTcS?hhS$L^RAJqsbfYy7`B@#6O%~MV<|wCy zB&=YqB_cZF`o!7DsMJ861iv95w|JXfgac6G$ee0|7njgJ;=YmN>_4cJ2iq4OW-N`{ zTw4i9D(h%;kNMf5>_)ghs%+Hu@y8Vw?Ulr<9lxHT;_ob-+aWz$c~~R&?Pmi!SA^-- z)XR=X%3qT196M#K(S`^8EceH@rUPLZuka8WR=IDLFN0Qcdez(+(|T$&jH|MQNbZah zB=H}$n3XhLMBEZ>rr@~)k$XahFNS)Ge>Li!UdP#!;1fJt@~)->46tnlktSnlRS<~K zbGA&(*nK80oHgwpe5lkch7?P2{qYz zuGy=^29LDWK>Wk=M65@mH{W7R=8qI5v9f6fnmmMdJ*BUwHM9L3Gkj0WML=PA)r3$6$2&n;;&RM(XSlaUYR-uw)%14g(h zrB#SlJ3j}>Q9sBBiCT4MAaQk(fhyX3zOL$?2A|0C?X|(P=_t6-akG{fuKqx6saf=7 zI4dabOd5(?w#Bo!r`yvYljMP{K|3DNi|34ReQ+l6sR77*QDm-#K;cbYQg2w2E9UfT z%sl9A>IP|Vg&M0tjSX`TqW{(hL+V1}5j z&bnIen?ln)50+;htZCO+Nqn1G49G+YlnZPEnGFXux_==zFi=213?C2boqj8k0c3<4 z3(T9VrU^On<%!9VikA?iAFv7p z{EK=NWSnI{jo5n8&hgUN;COS3^VvjqZjmnP1_=lS|DbD7SQ+Ms_pjZv;L~}O?aU@* zO8}8TZoh7J8$hQ+tj(S@)rP44*d11xWRX#TG5W@s1%5&Dt)EleiNkdUs0;F3=UE2@ za*ZxxyU>vbM-fHa*VDQKCcqj!cTa=mnFe=_)r9DE3fEITLxN&;4seT_i|MQ=#+k_v zLn1N{(phKbuHcZ+ajqQCRcuIxhgq5f)J_~yhX;*x=z0S$12YzTgk0aZ#^yAG5kEBG ze6A(n93@7q6CkVRp;Zk>DY-4L{m~2`^pYFVQ0Kt;q{IMVsbHaCj1YP50ZDi~@F><^*sC9q#DP zd<8(xd=rCbQI)XLkvRu?tai3*FPfv^8h}ht2 zQHH0$`n)st1_7~b2e>SsCxi>TJfvkp$cX&Th-Pp{h2t}11X>Y58g3ZQh7K6mvZNI$ zvJ*10yW9QJ{4ogo8PlGij;(bOUfcfAqvh4349|fr{Cd+hK)yGCA2mSoHX?2J zA2qLFH4bqr!SHje&yE{{3H$OQaWGc`M7-B(z_gZs_8aPHR1L}P+phs0hT@AuGd&5u zmV%b(zr|dc8FK#?2;|5P=sB}kFHCAfnJ$6E0_~`Bu%|!;?FHtk8_93W1nGz(jaNYcP(EarBPs!gTd?Li&`}bm z2{8n_bjyckOhmX60U=8)V7CGD*fnfFt@{u$i+?OI4*;;a(3YQgx~UvEU-M9Spzn}D zA4fUU(OYOj<+xT5eRNq_{PUjeFd76SdU=@P zvosJ*f+pfMon41`;Z65aM#)OKIpUgR>mr)u>z`|3%rK%g`l_WH1Nq)dq^V3e`yXs2 zK<{tV)maC^?dVC27>>teMol*1u!BmxVMy%GsCL+yIbo0nQaW&-=w`MOC=KO>G_hZ8 zo=gdTqe&_CdnN=VdyMa6uRJ8B!PqKGE17*2V5+D>nUD3#gpdfS^%;GX1?fSJ0oaUw z3^I2(1VSBQERmKvAmr%}KY$&Do@DEWd%QIfhdlpI_+mOvdW2H35c ziH%^R3sx>|29G&<%+Hgtg=qgYDsLS{OFH9nV!foB+YxPRkZY_=IfEwS%4v-fN#r}> zX@rsYGtjuw>}XI$RblP)<$;j@@R*aw{QFMg&tpa<56CJzHl(~SuQ-iQJL>?*qe-Wk zkAc1_EYJ>{2dhN!69mm0SAkkUR7?*!d&u=)hRmH&km)T$_j9<44T=xy&5riF+uKE6 z)dQG>?u-d3BoVTu9<&k{k)HZ|g!aa+@v5cOo zaYp<(vzEdy(1{%wg|QVx?H&yB+OWB#p~tKg7+&s;Y-jbD7ZR7(Hroq$78>ps;2|po#;2Ug zcJTv~azio3F#-+&aE;kSn2%bb1WD>4nQ(X9SdLg-l~C(Pg6BW}nVwi0_}y>t$sFJ-GV$3jv=zdOmN`PevVA=5oSJ-`#fYGJOcpmKspyV zZL?i&P6%sghI9*g(r~Y-Mv%;QTDRQvklU{z|Cj({{rDq3SV0{NxUL3Lp^tlXM47`K41{g8CqmP_%wbrqG!OT zhu}8mAMd&LdCkd30;W66*eQacoq`V^32qVka=*v_bKYou8}HebK^2H-;}Z0;tI>rx zXH)`wi2#Hvv4kPSm;J?b=51%>m!f~FekHCSR68rU(fI)j=IKnB#5kbURV zkv40~MS^=Gx&qQ{7^3C$S><`i*+YJw=D8yZ0u4Pt<0E_#c>|?I4ZRs#Dx99HHm`_& z!BVd{8^CEQHcg1wz)7FCYjm;H#v457X=(5{PC zMIG5aouH^~1m%BEq7=GIU zX(s{~xI1b>ZpsLXnj5}IX8({47JqJv5}ZSQ&W~(j59@oS|KkfdPe9B1%9ovDE4vfR zF&K5wj8E~MK))28WanS@Q)a(4Y_qBfLZ6p1_zq>WUotI?&yte!PQq7ausd zbeuYz9nCT6Ek;Sjaz^c}AQ1m$9mzpLC^$_>xb&)yXuD<-fo-m4o4JPF=AXu~fw5U4 z38I;$FW?k@-gLu5eiWfKZkF;er1}9JV(Py*&O+{68PjAS#Jk3EX8Ch)2H>M06F{j`$KgRnM zUEiVuOS8#>9j85n0g=zq0M`!YfiVTME|>%#?xRd0?NhR3(~!SXvkiYiLppwn-9A~W z-f%|kH#v7G&W}hQa`ceLuQ#2Y04`k=)R~Ah+y=xj^hvrzjD5S9RTmJw$)C!J9RJ)@65GaW`nhm9VI|`g&a-Xi4%N1MfE}o@gmRAc8 z6jMoM6uW#U@Pa`X$_6o=!j`ZjS)3Kd1R_Xb$$%`wH)Uu0KqY5Zia+TIBhGKSKzk&WAiHGiuiLgr3LT*EgMs? z_>nMU3u9@pppTK0UmJtE5Ws5Cc9enF8+^pVMHQyJfvlC zmt1b*`>>?6QV)7m>5zWfISkFBd?yVivg>T zkH8Zip?#z~))5q{*h?%q8T;J2uh-bCDdtxi+&pKXk@-fZ0e?^(N@lYhEs?^i)vMj( z#ZEz$spQb+_0kW`;ECXwt)h(8w z!t~7aY;vQbsT44#iE_d{gad;{8%RemwnY7^swldK&WIXB(S_h-DrT4lVty;;Vm+l` zxBh*X7Keh)eBF;igW?2SdQB)NPc+#6)0?M;Pkd&A&02SK3&S%TnF<)mfo zv`SnYMi;C=x~Jenw$$FN86K-X%ANzCeCWE{6yu%1lt4>Ku3UQ~C1Q_+1zUqAJ47xG zN(7w2r?aXMuDxbnOnPNgH4vzDB?Ydi;V#7tXfXzx=+IQO(;Vb_`{jU)P{_|5IJb>p z-Rd6|`ViI96OuOv!yfJdexeIBS}^s!#-V`ctf0X53hA!@AG~#tgnVHAcabpJ+ zn^v`Urd9BR-IqD#^q`R#jSPQO^7QIsf(RsX-5SNSV1M<3d6Nawl*PwH?xn22P=>Xy9O-(oI_fe2|LKdu5mb|{__h) zV}78EXTj$X7kuWon17rh_4g1LO@gAtAxta6Z`V7RfWd;IA(rApTy&gEbIu6^v7!AM z1E@n+HGd|~cq?R2g7bAbZy_f8`Tn=N58NUmb>iE>FcD$X< z_b7O0%cK@)Bw|`?9&NdAtx<|6!TIV@c4C0MX$SHSvTWu8b9^?A!_3_*M7B(%cx1G# zqX7oRf+6+muG6gxIt^2Y=J-&NNFf3%xQ?ZI^-}R0M=NfKO7@;jBkH$9%uDR|wYy4TK6k!x}~9 zA!yO!j^|?7N+e)P#WLqNk&P+Q7(nO0Chs4Q#^<#BJQ^_nsD4mt0nv32>xzDNDYnja z*Wr2!I!MR%BI`1?IZk@_=R{PRG4X{=+vY)}JdW-(K`J$5v$^UT*KomnomsJFNLr@~ zSu_B0#&(KCB2frzl*L5Jt^+6pBn%q%nE{Qg`e~MC3|rl2%$w2z zG~2;2z*ENw^Qs8n0%Y%}5FooBsxr6_b_gx#4_G<9GE!>iT9DVOqKTZIJ-5B1P%`rH zN;E=Ta01(uVoaQ4{2p>Ai`%KKI~O^dF~J&|@YI!n^u)9OJa%O^=dbD^fRQ+F0H|_GkxVUs9O; zCb+n+sO{^>oK(4rAR(a%BW<81p+)*ZE0FyTDl#wzqJw5IzB|XFl8s3r{ywey^RUrL z>W8dT2V+L+<#~-5!HqL5S3*?O6?2 z;;xK=T@|-3UIoog0XU@TQG-d~s8_a?6^>Xrqed*2%w8~vb|6wgKf;c+BZxaPD2(I~ z2#i#)9yA?iT02dt$FLQDMBO&iTy&#`L}BbkY80e0AU)Ja^XXATpS$Bh>1nqBlU=AD zw@;Yh0abPwZ6SyoYcf{$3IJV4vK=T=iE^Hx<&SgS6?A>gICd?TDj=wzS~?;-C&&r- zU#qLDl!&`au~fS;0jxGLJ&-uON+mi%#7O14MJJoZCBU2AVb6%yTlyphz=x-<$t@&0 zB_CrkKaU3+zIV(p4Gu^W)aufU^brTBbt&Rfe7J1#fwnUJ6@o1vKnUcx3jF}Htw?QW z?-xxZQWkm*@s6TXMYCY4MqK>ki2}4oJQeXPvFt!Hbj92J-INU2#)I>x=8!r80?^c) zg%o_TQigchsMB+0oug5FoYKNPONxaFGzJPqX+eQ~z^9}h!#d&Dpc606!E4P-6JPbI z^#rn2;zsdWNpgy5mh8si0yeaD?gk67V*5ZC^hQ}UVC3MHu71p^id&I20diTrwg%y| zfIU)=fzAGyacnORt8kDmMP}0;0mdV8-IC9e=y7-)5HiPwow&6RiTrZ~Y~RL8XCy%x zl~n}{whIQjALX@!h4C2F*?ejwdBDj79{(`lM6oBI)FJW8dx}Ia!z>Ja=bFxdGyGB? z7oooc65azwWkx~KT(0?|bYs#B2FQNw`@2UOKZ?F13O^uLEC}S^v-{g)i$aNHaUFc< zl^4qjh^y<)+zOy9Q5ph2z{QL}fR#e6cqz2#RrHH^V^}$=uqwKJULi>~1_|t6pD|0& z<77lf(YQra>Wz07YzA_|%G^mhOz5sRL>1DloR+0RJkSfD^38!h!_cJpG823rf=*M$ z2?t)c{BUdMCJdLjb-U8}r--#1fiwWvsc1@2dBrfY7&MT;ggs=d-XoVI?E!iw zz82(!9srvZas-MJAv5E?!}s!M&r|d}S)wr@`5qy+oeEik!WNaAqJS-UaS$9Yc0w~V zIK5bsgBks7W~KNTw5vnO%=Vc=V%Op^lYQ)VslG5_6oL~k(IYo8%3C>YN;HPF_KbO> zfrMTLKw*Yi__PACQOnJ1810(HRb5(B(7C}Wm*DpWla=#1v%xGZQaig8kC`DUtlZTF zOVEd4pf~ih%J_gTN;Ae{e%^39%hw2jXxj-g?7IHLrHmmb160-f>}GFCFDvz+H!?vD z!g`^Z%azf5R0MlMo&em>6IqW156oJ0dCb#eeqM5IH>vaIY_~oDN;ZLA>ic$!P))$K zW6by^*aoi@jGtWfip6{l2`s?Wft4smA3ZbYnX9aKX&wcQohHjnpOr%RUX`;{V-S;j z1ic&8*hcRs{4AR(-!1i4KW?qzv zvz;o~`2!XF3r>Lbc8Ke6up4$vk92B)SLo~ZPfYi8ncb7%6SqNov+JtnuB(FFpAl`t z#;&TIn`naJWi&W-Y}qbJA@o2h<0VN?c+iN2VCd{ZJRBVTxbDr?Tre>3-iwaXJq*8^I&`B!S=n-|7nCo+P|N^AZitgaY5A&Fag=<;$$+5Nm@A+ z#P4-+ppbjiH5g};%fMms0n8(Q*V&le6X6rLvAv-GpO~Lt`O-cP&|=3VwlJ2ymd0c^ zY-pysJFNzpX%$=}oUjW=j-@dYq5|oD4r)ARPlQk4M%zvEe~!6*{1G2TUaR;M(Ot5- zzROT9T00ya@~uZ)D22+C5n)dm^VtxWNTf@@i1mq{9;3%TCrGC)jgK^tO4*55#;Ow3T zpRkR-R~@z&W0z5CV}FjW*l zCbM*Y5S!&?oHK`K!6$5^<6inLW~F~?gtOQT8F@Z>Z8jk6QczB8!`W3>t06^C{bSWc zx$6ySo8y5Q1H*O2jMMcYF;)I}FY+aRJ1llDs!_DfXUv`k`zsCZWFmhmkyHvav8JlO zfe;i5Xf3-G?Zlvad8HKUX?oh4((*OK+Xswc_lD2?anx)J+rMm#mt4FD?Rl{Oo(F#p z+G?Q2j-Ga0L($2LY59fSBoq6OX*m)s44b3~F1#1?AWHrREmtwyKMfY$LHu}^uMO<* zH2B1A{AJ87!~g6Mj4j2rejC3AoErhkQ`i>|8PU!|gTu+_0=l#$M46cawR($9&EZM# zh1)>W?pw$x=pC$%Ie;kZ0jI?x0vrRRTQWh?fWWS0YqhJ~Bf{;)7J>{B?KVSuS~TvG zv?@wVc34YJY7Mji0OPtDB}qP<5ql1N!8YQqNwMw=Um5$n0AxpeLp3c2F*e~8q2(<= zfsiIq1rCZg{hq=&(q!Uwi=&cauGTWyCF3$ISrRu@L&ebBG3#U4=rMZ^eBw6Xx^Lj^V&!o%|%dIq!_(l?&}EyriFr$LR6Pfw zPv=3016@6i0cs@x*Y1*^rH}-+LX_ntF$3B@Bo7^KCL5Y5ObTjWjFijbdJa#6<9Tb$ zJ#GV9dB>GA_$*5D56B#A#ZjZA?)dFu#1h>eH@0iQ8}67Z*%X?B{8JP&ds~nLx*ve= zB3#y4h*jngOW|3oTg5y*4L%J6THi3)lCa4Uff(L;#@rHyw_3APLpY^mfgm6`sK7+J zl9O{DXyyw*YiHrw_OoHP-N5Q$Q?Ymgh&7b8i`>o(O@Qm3YCfaQjE*z%uB5?87VUVFyRuiu)XS?4>Baz7{ez@p zKaW8^0x@-Tgf<*O%sQs3LtJ8j6a9UwCuu)e){T2ofY~8xx9qiC8>EnW4&gBMpsi45 zy+%@je-}O3&|u94h?i^(1fpM)3dj}c9QIT*<;ry4fm~*X;6z-}RQxrvUT%<8WUy6F zf=9CJy>NLIDA9Fojhhhkuk*~N+b%l*1^%29X2t73D-rgmty0^&T<=9#tkJgP&2$?A z5akA9OzhUM*ki=i&fx~>5s7TO0Y#y52?+XygQCvQfD0I^^2}0~)sL?-L-mlA2K!TF z{V(4^NsZHf7KoPi5tn&gb$#FvS~XkEV!+B&KqBk}lJpF76FoD*D2xa(3n&MN=e<=IuFVn9*XmbaLIbd3=&8t19dH;v%IcS$RvW&Iympch~Dyzp3 zfubgl8MJDVN|_f!40`P_HEtX`V=eh}MwU_hJ3)aIbNh!eN0iSB;sDU;m~`E33U0Ji zPj;f?kfs7CKg*kMxR<@bEV9PZ0N`fN@+SgVp_pImpWQNr-}SgKJ>Uzqm2Wz)lsyA! ze$}Gvf2B}1rA;2gU5oM!FlLDGAbpvFg)QC#kD`AzzqV6&EmLxkatvtSUuQ_HpX%n? zz-mzo7J3(X?4~in{ss^|s0sAbVpljTmZ(J_-WnCMwNOJ&jfzdm;Mx{LM?SE2(9d^` zGLJcX%;_J-oaK6~=Bt8Ygy(zB>JoEOv|7nQ4v(>yj+)=i8DJAm?_jCubd&P)BRofe zE_0B04D__ufN>{Up1|bTcZ8q=zbMNB-EsuNciI1{g2Vb#O^rp3#Yy*8*P~H{jKTb| z1@Ep3P$c*X{G3ZmJ5p++&ajl$vE>@;B~&6D;rAu?PY0UpTu_y^i$EKoj4Gb}J*{Y5 z01NNhrqGH?Ej)#`4m30f%Lmbsj$U;&pSsa)$;$jXBwre8z;^EEdMQ-I6^ zA|OQvo(5S_|sBJ}O|ZAj}5yE06iP0Q$QjKYRChP`%N+ zS@NI)SwZ7Eg!2L>Ey5UU_?2^`wDXBw#}N&+2Uh4YN;yR#Tqq<9Td8n74Qu~$%x^77 z7S~k3aMcjkeU}>;5g^88*&X26CQyMF7s3l#ql(N(#xnEG_|HKaGV;;+ZIJXoEP>FH zK>*d=UYh2QE9fc~gewTQxF~G}Fd_UTZ)BM^iN0I09S4Z8s_0H`RoIe|k(JKB3!70m zHUY)D1Zx-=(%l1Hk@F_NG?9Z8wEbo**1XL|9+f>063}Sk1)71;dzB@+fZk*E+#(?v%@sak?%Oi@ zhe0C>iB?+R*T#0?%OM<8(YovGZpGL9%!h)8F*3p-w)v!yXYrQH(xeeoVOZ!X)}Lv` ztb911oSI%Y>I$+xJ;3E4%SAOnW9D9R*bhVqip62(4K9+Eo#26HOQ%q;)znO^YceaOLz!(-rZiE=PwTnsW1T1+_q zBx?8W6a?P*0ZPtV+4-TafN=}9l?+LPBrK3qw4TMm{zFwC&$u1O^{+#EUy zWD|8RfK(sCM)W3?Z+g6SKM%PHLrP%Up_>jf3baR;ZnCxDm@9&rVr_WB-dZU(q>T#L zN^(kd0n~HMI3c11RD716Z)Th1F%OUVxw*2|Zd;EIbp4>hYVd&cH4K3&k4sD4v$zm= zrd7#Y56n5(l(e%R6$?DU!m|&+H-wlEK%05)VHpD!ew#gI{FsS=uGqhh}d`z6Fw9A(Z;C$tINQM}~xC9aTB(aI9G>MYEhY)}plE^k zmVw4rN>Pu^I2_q#*MP$tF=+bCjR3#v3YuAim9V(Q_T?AW8}R?Qw7@A;y5|&#*_Nh0 zVG5gO1~mJt3**kNQAz=S~4OY zbMct#Gv>038U5uVZAI2-+^iDcAmTXPzCo5@c2q5+BSL_OIP?1(`3&T`Rl#Snkk6#+ zfa|=staxS1#*EQoa;%Kvf+Q=x&6bK@nu2U9`R5ZO|4#M1Jz>GuaMXY)z1bP z5Ui$GVUgw2M9dkU$C8Q1S7z1~v**J2$c1C8wkNTIDid_;y zvz#TknjZ}qAqXk7rD=%GR#DIaRrAtbiai#zXTtQ%ge+&i1syPfK#@MO?=PywInD?~ z!ucx$85YWC`a8J)_F7B^8u#IlC`HGDXlO0MaYoAS=xgP}ia-sYr}%@LTyeQXv0~1i z2%oL@pmzNpGgm*&z8zhlW=w`Tx=2TJxr*z~GPi_tehoRb6_BY6dl z)Dc)C&<+h5mAmLim>9t^h1UG4LwN;K+bS&9)GniJPHI|&mCGHGiJHfpe~+2Tth?Fg zyqq}&N)lQ}Qgrsu$xIH6i|!)GkVr7x?I2zUvQdPj;3*~0X2L(z5oinrgEm1(KJ$Zg zo0mv zC7Pzg5z*NIWzWx%svu7?VKdMi03Jx`Qc>}sJr6!@53ES~eslb!?VDM-KeT=AEBMag zA*Ctgjs6m-8DXr<+B*l|xuL3LpI3M8zu!Y&Lxw5`Bn!p-(O+fHgHPXs@xSO1%Om>! zqnD6XP=jfO0wjW8*Xcm3EP`@HL|L1~Ztzu=i~&!Mv`6_nZLbcjx{~BQi2uck9T{JP6{Mad{E^l3^s6MKJS<3}tGd zw_x!sr-1nPACCm(IvJh^pB(xhBGz$6S9KzT%*2641=tzm61=}caiSIAk^=s^BV0B< zBIfF&W@Q|zh?%zIv(3@89D^sp>(_#m90JBVRm{Qbp5wd<(=Y2kNB0EDfhSLP zPH0SD4bvP+bo;0P5K;CVSUd+leVF-_HZfZn46$SV3ke)~_MtP&$O2Ixm)@{19sJJ| z?8M;9*GzQKpitPss2#;)PC!29LL{LJW*rmrJkAUmHqeYm6z4r=&w)=P=CQlbfTi~1 zQi``ynI)aZi}U`sG_&lDg2Oo=e4`D2L$(X#>LCGAd?^L)!M<=V1+r7^5)88aA{O>q z-dAMrJz~#*`40wPc46&QzLHwBB7rsy4!%SXV`*%U7jVbraYl7yzY60f-T_^6MKW=g zN8_^8#UYp|@UcHQhYIUsvQa$$J=vM4CT)r%ZR-#$1z(R|e)A!L)puR1gKU5Of`~UO zR+<>84S3V})Xc&Qf%z#N@K|c#BFI65^wB3S8E6br&?;vy>*&j8FbC<#&k8S-`#gB=E(TQIei7edrQkw)!>M;hxYu7-79|j<-mWu(z zTDW0uW*^S7IMdV*Z}N3D%NUQE5Z4~j))kmkd_12>MaDjtXF0bOgZOEUg0LJ4V=Nk~ znpg2WkY>aq6H&bz{@h_(a5ym6QLRrVZJ3uhyw2XF;%gM3C@7IAENgcd;&{x;f$fz8 zcRLAK8&Vu&e+~E2e!d9Dq9dID;nrv!7^k8D zp`wtnJzLt_K>58Tz?Ol)!2dVzWl_21=&;x=>AulGYOvaft99yV)(3V!c7CjCa-|lDb9SE)NJS>Mr=>W;*SpSjpnehQ zi|rMzSVH<~E;uCu(?DNenWtNYZuv0L#39^z8_sK}iLi(YVxM?rP9%y;_LN##7o(HS) zV1E^Le>XsiS~(*UB6%mozpf?)1>9)Og1ueC75VA2W!k8f0v1a1oU}82O z3nwE984LPZ)on?~VW-jJQvyUn87@v&BUbM!W>^LaKW;&Y%s^?%c>uPB?*_5gZrve) zn!XS-sgl?8Ja_mXt>wHFWGv?X4`Ut-s8N+cOo5bn3tp}stf6tAWZ!NvQ{ncOmQ+t- zj!Mi^l19tWk)63^aF1D;us>;SV=pX<7ZI~T3Ng!Xvulxp$1ik!CYgSBSd(!uOcG)q zRpR@K&ZHPt6)1g_wKwL9sMDpKIxv++EZ90ARJ}xU3jhNTS&0y#^M6y}>h|@|y>}=o5bA%pniz=ddsyIrxyuz?k(>-wh$a9%YU^URD59%_DYM(lO zB9SB`gYN4e1pTK2q{5M*MF z!LHxS!_FS|pUhPXhq7ZgJ;2YrG?X$sv0h0^OH?00Xa&Rf3Ad7JgWn?g( z;u2qX=^>9<$#6W2=&=QT0qTSxY#CV1CbGA@haHKHStVg31ssXa!R#Fzb}(J{4i?c_ zF#ymGB z>2rQ+Zi!i7oB}etWtq(1Fjus1A!^$9LNvgK{DmL4 zfT5SRsJ|h2X1t`#bC9A;#^U%h=q-m3ApQYk0!%x_3tPV+%|9zHaW-SO{pFg(WHP3Q zjrHpNpiysX7;Ss0D#!`AMR49PuzA6_?Lc`?aY+?#oem|#`MjiK-64_?1J`c5f%Hpa z28jO;E*EvF$?aNv%m@+~06_xL*1}DT6|{>xK^CS{uOW0TW_ezcW;;Cgdbg2<>L?2Y zjkf+uhfEkgg z8@{aE|BtmZL5>|qvh9ZSX_$xoZ|wWI4w3-|WlwFDuhO!+RGE^C0m7#{p!M+G8sh0; zuZ0yhMdl|!b{Iml94lf<40+tygRX$YsQ4%NLk{U}+<>SC;zV}2RCf?VrpH?F?E25( zCD~iS36NgpvfhpCN4@TlrVOj6E$EV8_{Zpuvq|8A!k5$nSkI0$gG~y*h7# zkXn+b6E8jnM<}feh3R9*weLf!k5V2j@CT zcfSI1hixWsrQ*OZ$r_dqSzCVE#F~&=WYYrkn48DEpAEpmFE3$7G7(KIFwZzei9Z2p zE`t}9Qiu|Zy@aSkSor{jQ!0ArPFnT(ZFstzRiPG$|K4z?*pr9e)qmJRpa0kdoK9cWR3E@ke zlhz--8(!d1F&C~AXc9~q>`8aZ2(ZmoQ{49*ikQOsG4JZ#mn(e;bl}rFu&x2Td9|m4 zADNd*QGRP4vnRuSQ-QR>3#y+v5ZYK^CB9*Tg0Ao?bEHUgN)Uz`^n z$3x~N2np8V#Jq?kyU26=9NGhG)qkj4#}JZAUzQ4yXYk?4aM$9%F#RQi>r5jJ)8xZO z-f|QNgCM5zxKWY}?T2w{DC}Xfp%uPf#G=ADddRV?pp#bLi)%dCWUvzglZK)||H|OQ zli@DLG2iTt0a=1{l@WT*f;dT+7(8N?HBm*XhQratvq0v7hLN;(jY%_xOjYR2<~Zn1 zWp`kmpd*bCzC^2`lnpf9{YCsd(w+`?H4d`G+fpdJIG08=S1|_S*0qLKFJi(6F~}+< zHoFRM%>}J01tvvU#1ZF!yulcHKkEWREQRd7qRI3XGws$n+Z~<{cR3EmMsL6*t8#$% z4LH2y!>%TLfGCj#WX4~YM-6$A1*bhT_&wuF;)pI}n8~5I1Cky!n-73Vi@obIv}k8Z z-V`TUh0RLAOX=YmaTnx38R2cuiI`Tz7ZbW2&w{NcN{rBWa+eR24v3Z9bevNj^CPEz zby^X}0oGX9csQn!x;#O>itCz?6=;OV8ylom-`YcbS}AdON*s@r_^Mildo9`-%w6rd zmUVq-q=6SDWrdr~0mS5mM;e%c;Jgh6uxAj1i~*_`vR2S$*=v*)98gFOwH%y-d;P(^ zN_~~3!&BneTiW*apm{B*DF&%5%Umt z(PQ>>I3K0-coF?Y*{rZ6U@C8n}~LYC-4=P*wWGP59k0Js-|TEe$;XEody>*$JbjK1Id^#EK?? z)NY!n>#QjQU~RNP>{GED{X}BoDyJTcNhQso1uaN*K3Kwz&(ThZ5*aK{WcB*FFw$B8iF0;$8=3f;az8(--mWw{|`U_lHjfRVu<}7 zvQuZLsUe-_w6)ZuOS6q(GuMf zL{rR&F3OusKi`E}h?yE6r``|69KY_Sr^9_1Mi>2^S$>T<&31o5=}@IRtORx{mN0U> z@*#7j;15s4e?^T}AtgQm068w*_rWOmgE!DO_HDCA?fG!-m&bVF^y01#Y5_#P6-J2e zQD<1g*qK058Cd7wqXQi7n0G}ox%ksp(CErT8wu=p0kByq0!T>9^>CAV=@il8EpDtB zDRa-5$%eS_?HArVdAc!rp~uIIeMiY!Xf z%A=khb^Z^drdUJPiEV(@XBDr3vzFGPyPzb|7C(=Rl=;8T+Y}Q99b%b&tKs+n5h@+V zRZcucc>inJfz*0utfHsIn(?~uFv)`~fVGD}G(lO)@}W;@ zk5g)4+tYv)Z31Q)qBfUJ^f`?^sO+s)l-3LcoJXtGUutQY{^lf(IAeRd+8>{JWONV* zZuG9s-a2JwLdO%E8j zAhp%(hMXJzZZ@p^xYn15;MIvoiOrO@%itq%_&VY3`2K+Qlm6{G9?)KStd6|au#|x< zj5>e^c0h1%KhJbQdo&3%Rm8)RMsKB}@tD!5(VQkRN*||VsLu;L=ISxe|1#!CUpL{V z4t%pUJv@W9o}69{ljpbqc<5qAIXCfhQk5qGL0dJAs+a@DTx;HgZVGzW<%sF6r`3!D z%TJx{g7cEdHtZpjQZJr-+74MM!j1~GgIxu75^haCfIV?wDuku%n(2LR5c~!TEKjO z#lGj#GFV_~FFKqG52-rvV(N)52p;WrWq7cZmT$sal-5jXk7_Buj{nhpLB0|l=OE`* z%8a8l$Qw9;QkpneVj`|;UxZ3Zb#zus=@9e{)&hv?rMrf;kxNwu765FOEQx1`>Nr7o z#_{ou2R%LL{$B>o#DfhVszQ~goo_|mj)E1vyf)8@8A{ieY73GoU@OyHKnZ?NzdEEe zQ~G0dSmK)jr1ebJVitNk?5!;wGS#GNmep9HeDLKEGdbjw3Od~Em2Y`ymUsMW0gR-; zY@&)_N3WQ{Zg6XAO4G|Br7Qg|b_=Z6P)aknI`6gg>uVTLumGs9X){@_xoiZ!G-T`~ z^DRmgJd7#P7>*Q{S~mnwWJn$!>a^P7cWOSszDnZuXn5!hJcdS(agEb23n{3-ih7^o zMTB==E)RT#t#KC5z?wo8_IkDOHwth@hfAJYU!8YOniDqYaE~vF~|(OIy;Em5?sBWzvfsG=R3`q@8r(L01oY ze-Ym`a!@S7QaQ7xU}tFWIdRy(Wv2l3Eyklf=uBDF#r(qhpyqnDS`b}ikqAwA;eW76 z;9A*C{u&K2^P9QQVW-+_j*^@qvt2=B5%U5&u$O}R&R#Do-r1x{hVPI@9a~FU02e?+ zvr)MdC2jl6`ppPIvoWy!M)w{dEEC``EbFDYgix@`7J3(5XFDA09=xn1GvwS z%L~1tikeARh#DZ>r>6gQH{i6YQS%4_{WlD**(ULcR$0-y)k4_m#izknW+ zB~-uBdQ4_A)cuL~&mJL8@W6f`zOH)?0}m#5A3_`-V=irg$!B% zoIqp0>wqxNPp8Ul!gO0L#eO`m25S_y`5togkhixl+OPWkn8Q1et;ceILC{R*7KM8b z@k1b(w}%aR87L$NGx?lDi(bgp9-DLWeo&mSYw{4zLN~_6t%wqu!T9%|XSpMkAp$2! zi~KQlmU*|42e*9h1eR(y0Q@R?0b$X{1%cHrhUCro)~h<|mP+g33keiUtH@34m=Af! z^5^EgMd{2~$Yl%pWp3928)#Bb3xd@r>z~7F-!37^ihh~Yo*MOz46|DkoA7%5u+kXP z?bk)Fk-uHaqVej7Un1PlQbp71Ysl14P4S3}M_l)azmF{-^Ml0?mlwDISxajV4}6Wg z8ciUJ7$Yl`chRKn43NXMwYO`%WYRExSgS{2odv?zP5y8(oqGL%|MNR8B|g*zybhJf z4BDmJjq&o3QEGuqTCi3N^j1R7$N-^nfuPl|A@rcoL2ZLZ2AbT>(}Qa~K|&yix4J6C z2bj_5A!7;&-#?+c7Ik6p(?3>)Q4%w(7`BLCs4JFaN%{9ztkL|D=bt#xR7r7kuRyJu zw%1!dKk7NR2tG=ev`twWb`C;8s|M258W%Cmh=fe3YnAEp zJO__5K0357;*UIzP#vmPf+UHo`E$Q0>M?oRi(A@@Z~1~^%uW@mAa=VKIyDLK1(NMV z|DCenM_765|0t!W1`qvGSBATmF$Pipy#Qd^(`nYnk71mGZ70|cBm#hQE3S{(QTDtS zx4ehJ_Djq)AJ7ln@CwTzhUJWGrue*gmbsS$i?#%fTLanL&-EZqN1*bkpV*yv%*#MfU;27XC=d0Ea}U-`k)K$kBN;wWzY{q7}5 zm~t&alg;W*yttTWH`lUr_z@qqEFTVXx8i~h>?&F@d*X|EkNM>={}yxo1obUc5<1R$ z^SLY1hl?rDG8V7{6uAK0$oE?w5%xZWr3S$iIVWGR7z~Y+=6wJdlXFAMHrg_3qU8F}-Dli;#|lWr$dod3G|IcTwD9V2Xtz?hrIQV0v5U zA;;{AFK&sC-2PJCW61{aJyoW=B8xKFMD&ir7^w?M@7W^+`Xv{42wzmSXW?1pddzN+ zMv9Q7A^~^Ze-1oPs4Co>jh=1E=CV6kqps|kFSf^}@x5aEt%{4`d6XZSU{njKW5ffewG6RVLFKG?lxQVTLOl+G&JMONqn!#>vxB z=QCHSxk3Snw^kXAITf@@jL6EEg(dIy(j=q)(;Q2UZh}s}=&_7FS3>b5nD!(%!b@Qk zLEq?3AmI{ z?ArtkPr}C$bFd2r84{;Dx;c$vE)34&LSKHY1dHdu^vHqZg`|!xt(#yodqE>r!$jO8 zCSh=4%BQm1FUJR8&}+0(J>HTFNWa1Yk&TXq`UAx{d64;W2H_>OZ3?@LMu6Y(w<=>S zo&(dK1MOFOi@8agqQh*5-v{7R$g?C}LS3yC8={!eo?=~Dg9u@SE*TwNHAV&M9f~0h>g>W z(1}K<9SXSSx!lS!taBO~_dH9{2vKIXgH)GF87}K!1;9zeDGKZT1Mjek=HfXpZ8>nh zAg6vwCuqlPU-WxEfB#GMR~<62|>C&c4UqE!(z4zJ+dA0fj%CeEP?q*hh#q& z@bzOVP&^0b{V>1oB-x@%> zcY_pQP_ck@QR*>@E{odmAUFU_$Vu4&wsf+F1fdJ0ay$W1CSak6lW8H z7`Q+NR0KN5DPmCQ5QUUCTeqI}x-z1aDA_Yv3ObJkwE4c|HkRZN$`Dj}bFI_(e$Hx( z)ze?zsyS%$&wx>wJLD-T&KGzJ4Y-&zOC~Ky_ln%fYY>@*0yVT=GhN_;IW?34SImf? zh+(`)K+QipC)^1$M8=-c$saBf=!=Ky*)Q+KTz~0Jkek(==6`^_30aaT+hJ{>%IR1- z6mRUduEHjUPsJ~`t`Ma$=~XRf4}7rf%H5~+7zsEY9uz;{-KTYle!&w-_2ifLTJGgo z^mi?bpqHhdfBzAnwE-E8ZU)Jj`QS=)$qR#Vck+MbIS#>46!K(DA835-qKn#C>Q7{Z z>i0$U+*h9SjFve$CyjglTjwCYq_Q2$Y^$+|HTGu48}yo6|fAiyA?XKxva9G1^{ zGD=TAbhcYTorztU2+)i@WBf?nXaI9vA~^I4YxY?^`;|TWrI&T(Z;!b=M+4UWC}|B= z^<6x*tCI8a4YnDO9X({(&NlbWJSn9zqpeulrnUIPywZz|>dCL{$&Who8Qrg|hw#L* z!jFeVV;8PN*XlVOU@xCBeuZZ`#0A}Cvh-V&wpjhe{aN&->SK$A*@&;f_NCw&t0%y+CqPSEe~lUcpY1D9?GJh>JG))>Md5A$hZOw*H>bYd zKzpO=L3^gBjH54=4|%dkkpFxvzP|E<4%Pvz z2lt4gzW$oOSb|3U!LBlnEb#*A=EUagCz)}BG|cUGZ2f>|prAe)Rw>CKar_x@dh4UY zd&uP*{oeE`gV|x}`q8ci1PxIcMnndqr6_mzj>XL?J(-=uP~tO+@24Vr#QWa;?cGcD z&34d!cZf8W93b_njswGpKMr~zla&X$=Btxx=xkf^&nc|_TIwF8hVKmOFH#ud&o zCt&-fr8TUIb$GKxWJpI_%>N5k0CoWO-jI*EodHZ;Q|81;rt|=KsQqfN)06S7`ka6Z zEI`2=+xl{WoVX4~^^nUyL;mYZn0^})X@@I|Gie&v0z&f+RZz%AEPR9AV)AL#k6&p0 zh%z{5dFf!Tjl754JmkG%ep#^oc9vJ8bA9CpRv2m#Xn0zy0w?n#7>Fk&qrSpy&ItyV zoq>Zn!x-o=YAg7hT7N}fbw7M>SEV4sa{QkmgOjR^&n$QG#>MJS*&Zkmz!~ME%B4&K zfX~HfSRzu_!5D~`!Lwp<>>*ocW;YBre?i|ASt{*>ISRlh91V|@z^aR+A7dfUe}*jE zPs>pm6L@>HGF9UJo3OJ*oXU=AE^GiTC$rfG%X&(w!Dq9x0^gpsT=26@#yMOa=GL2K zp8)U$EB5Ip1I+>tc`D?+Vtx%7+dlYdOrY%_U{#}#i&TR%LhzEPZWX(z0P!8zU%v&M z0==u{I=mjR!2N$paOnTBRwrP@bTss=JlG_L^&TbtbP^K+lA5Z zp8CpmlqIqAh?!pEMXnB2MpmUzm9s;zr4xaWGJ^F5-Oh9S5W$&a+Q!x@x}_tHl?8wY zf!mJEz@9-`VhOpqzL-=D=2kD&J^j_~Vt$hq;zu2-%INGQ2$EFDX)!IHVbO!muud{M z1$IG5^6O-sGkGr37=e+J*82wr?O;Hv=d6J_MLsm~d~~eHdCc}2o2_c>p8i_dLw>1?n4Y4!T!o#`x%*MgC=dbo z-{=P;0JcOg$cl0iF7N%j9aE$}Sa8Ng?H>RTW#Y|`i4w--(jZcMr{WUH63}72fS&%^ zmi}IGBzBt~unxpycWd= zbbWGO;*0W3#rn*PIh5GBePM$nDS3KLfN=H7CfyTY-?9nXV9)p%huC+%ho8P>rGr6g zg+~Xi9HLrCD3;i@z~lum%XMe4g=&b!2ra(u3=9%1TRbs|2t{MR=`a&$H0Npd1lZ$$ z7cz8<=`KFZhS&{WA%n!|;sH_lIBLfV{sZ?getMT8qEI_X!@=xaYy#o_6!P#C*tc{t zUbYOs9gY6km-zI>dcQ$efbK@o8v4BE0)tk^T@MNKpkcxd{Pb1=4+=pq&Bf?p`{GG^ zcmf>zisubpI|Eq9zBbtf_NERq`^PB(iQqc?mWZ%wwD!yr0tfmQd*I;qp@EC$wLD|{ z4Gt%L&1+WzRF#_qAu@mcP@`GT*t6f*;eGif;!t4`XWCG^Ou_RBEH^~hX7a2|YsZ4O zFHqMMsk)6z3M45rxE-suy}W$14ejWgyL{Ga6reD?JcZ1pW=&p(XTQ0nlKFRVEp^QH z6^&XC+}Y_bB!c_M7`tei`Kd8uD|B z0jLt>FOm*T5R7`xm^-_KQpt)8gESVO_QVk@9t%nWquIGUplOb=NZbp1$Vby1}lEfg(Uya4|_gXR+BTFbbNb>FaBJBjVx`nW`yg5?4N?YPn_t&VGHM=8WW3wXr*@(Nlv za3Glnnux}N-cg`nICJDWnhXk122QMM=!|Is=P6AAGPMNeS0GaBl1#G?1do*YY5K%- zmg+3Jx{8aX=2|~UAf}e^Ky$s!n17ojhWb3u$OlDiBN&WYW=rD&%|)g~)Df&y95e^r zAA|Nqszj+8!~m}9RmSB0pxwz2mE-)pgO}&3W z55)|FD{GvyIcNdsi84mVC&`~PwIw@~bvO}dQ;#`%%;TRiTfId; zB-a2L2aKYOf(|DGaIR0Gxxl<28-o!gIk}F0jbQ8*wnDwIXTm#OF;k!5SFu!WSb>Yd zY(K#6#<56LJ))iIF(;3C-vEX;sBQS=Y&KpyV0`410l7L^rIRAvW=d?QQCO;T`(p46R+p}wSgv82$4NxKDYChi1)LmdQ1bjXiEGX#A;F-$V zi~Vy96JW(M4oY7$#p!u)M@KOLe#t2^O~Q9ANUI|`a+R4kQk;ccl9f|N5=0La1jDd# z_O6yw5^nUCX*!!&-5W3)Blok54j|DXw5?>Hk8=zEInU+G;O>pnwo_ z(TAOoqQI|rwYK;HCXd-O;RA9M=bwR(CM@ zFv5#_ayVY9{$dwzm)^geIYV@uKJZlLq!RpBT0w6b>e8ToW>|#3%(^)WiLptS$FAw< z!ved~juFaQVlQSL`6j3%Ut*S*)=>(c3+sMGr&sf9 zgP!gJ3R{BB=xW+OhjQ=)ZB;(^+0}z8S53AQjEoVD=rWMbHZ9g24fS*DC_7?Wf z^c~i`4)H+sGmz#_5pB)u5VW@RnQ$2KkojSvECg0O8h{88Q;>^qYl2dFRW;#A(KF#b z#*J^L;*bTbGANi)G>s}X;$W0NAXr$ztktIdZuqYOw%{I?cIX*0SQ-0qlOzrrPPq4= z(_g%cLN!;A(18^2!7t&jCVg@DkUbIhJ$aWmQXtaDK{Cw1AOn?_LY7^ky_m=sN~;`2 zNulE8#nL$M*XX%s$&EHBUuoUXcC{U_;{9<7#jIQ`fMs96ch{)%m^}}U$76mWalm%4 z<`ls|?gPAVb#0Kgs7LM4T6an{%Hc#FhWQorlYA|VOM~sf=C2fY-fA>d9UUSU{RUsl zVWz8s%y7CF-2jsmJq?b%A*?U-o+{+L-H`qt`}_s3yFEUD6)93SO0Gr8O0mZp~#0E6`N?1G`mJ)qto3Q0nT^Cp{##K21?_b?jik=4NUO>0}=Rp!6 z_U$XI@EI1+*rKlw0S|Mo{cl!J5D@<$r89m9B%jY*%Ap9Ns1kprfM9CGTCf1%D!ykPwcvZ|dgxQ&hX+YZ#ryfkz z+ykZT5!A3N3F0;=ms5T`hdF>Ghp=dUVwQwsU=CqL`8v*?1m^=_`38Ou??(fW`sY`i zyIG{8FEFr_F3%YwG_@u``>LL$P{HnVEM!y*S{XANgGRlI=h-C&+{gUUyYxN0 z-(!Bff>6E=K5BOPz=rFMu+&8k=9H$=t7i#`0T$Ekj5S`<28d;U=ha+iBjYfln3E^L zxmVBj&cF1q_AQV>n`%eSF@)Fw?z^#ZN zXjV{?D+{j93N0{6G6iO#tYsYk1q$6=x|1|va97!b9)Di7<=h{uHk?kTba{(2w@103 zvveQv0irJS#9d)oj-m?*@M=}asMy<+OU^&XG_?76L#N$Bj!*u{pXYV?WQd<%A#oSk z+jo{dba$sALvh5Yy=|=Beba{e84YaNB-^ymWQ3N#9fFfoVXRBu&qi-=*9N0i@CQha zGWzNi8?Z64ey}vc$4*8;C(zC~s>l$xafQ3)qR4jzmECPQ8%#7GAjkW3BcV*S!pG=uw*Q=Ml^S z>{!aJ0*Nyez!(xZ&JAL@!i7u8W3#&#&jY~6xIP?`K@8j*)Y$7hcaM2L&u>c3zdh$| zGoj}kE3p1gSvTKVG!&?6(wa5*(evn2``M!ww{O z3`dom?jj5=Cu^?he-b5;KV=ETFx%ThenT#1VIR?Y=WpcyxvmY)tUQHO@aKqWI`BWF zQxNaI&9(q70z$+*aZ#Y5!}5JSap2HJ?TmQ6oLj$K%~JL(_#jk`|AW@b#v=98oRAUK z)3sa}0TEo24VK&!6=F1zhmv5!e6gRJDklnFLgZ{f`x0Ws6T@%k>`8E+AmulvPvrR? zTYxJIqPfYwwZh9#!9PI!3G+}Yu&UEb70Gm_HrPayz4Zn%4MkUFm2d9V$g-~|UC+ym z{x;i6+0$U%syh2Ie=avld6pY0Hii&Dp{jzstwoTTz*vq;F%R{E_8=ih_#)m8d0C5z zqVY;zaw~ExUC-IG;A7}T8Wke79COQY&t}(=;V1`AhP6KpEXR<-c7SeIkKcwoBRbyMEuA8I{rUy{nG9z-27VaG! z#hxZb9<%4a9iN?r2zZ2NZ)iSlIop$<#BAmMk9yaT8F)nuFfyt}^}6NQZenT+kHhEW zOxY3RYyOsj8PEz%>ivVcuAgwGQF&b$p8s}yc77E*g5kuA%ucKYZAlcel}cf#fu)qC z2F(b425`{uwA(GFC@w*x#zWsPdB_lLz+vkI3?SoEAzQQv+dtt1sd)a|@!1KP?XQpl zB{$&K3Ec51^oQCKW>84ipJ=a%s0$4rEhBf;<-7ncmfe*doR*zyCxrHa$&TK>Q%slv z#Nc!JA_u1832+~iTebcAm>bT?kV~j*Lh#3oljQ`m0x8C69hj9-Sz-+*Q7~m4S1^cQuK+j}}C0xBdrJW@Sb&!1<`i2ryU< ziCF4f;7h3@!=A44_}3t`c=BuGzY7`t4>VR;`vKmGw+}GX0>qrE9Zlx)gxu7D3@;@l zPnUIL*sC*+x-=jmDU_8-is!x^xG&q_?~p6@cmpzw)`94U2N_89K4r7lqU&tJDydog zOks6yv@^RQXek`=h%hfP+qXiC$oUa=+=kb31BY5GF?>3ZXiL{w_UyOg_5oA=HJOwR z1E~6QqEBR}Ha4^@QTH2HGO=a}0+~i&>&jpRE#{g|Gf@kH1QKit@}zInddr#8n}WGU2NQWS@pEB$r_)#&x|eR|z`Dvl7r*_c zjK){Up8t0BakSO{9P(a7lT1pXE5t3E7ayaz>jfkq4oJm-I3%2h)GXuawH%1Z<+B6D zYJ_Ule-p$m9ch`0r@wtimEz0B)jr8~RE*v1xIxFrb?tj_P_`P$E{7^ZoIxpvW7lX( z71nj02LlJINv^kx!a=ybi}#z?Dhk{BUZiu&fFIkRrJ7)+pQDdb_59cOmUZ?wx*ZaS z2|hMjPxf)Un^rT&-!B@Ms!oVR6YImE&b64e}z006%4Bz<4$gTQQwx58YsAoXx zl{FZso&on|Jebv&n61LKv}>mndk=06#mp{BIgKho00Pam0qkSjiG$45oJ4G-BMvN< zGrB`?`=nF>UbNcN1xmxcx?2VdYtCrR#PT{!)sx`ZlVE=ld|-r(z+Lwulm{(EeP*K8 zVK6ht4n%#c9S(Ty5n=)8zsu@eHbs`X(S|6}8$+ocKllEjw<@59-S>1Sd5s6Kgms0` z)I14}M-$loOjE)mdi%-`KuGxbdn6#5>5LSwY13iX5{!D;k&>M=gG$We4a@+{z9 zwcy#RiaZIrKujHv9`I#*iO?F5eDEJAC|X{a(a#11CbZtN_uBTzG9tY)}}P^N-X(^3jTb>zQq1Iy)4Q1(vbxVxeg-8r)hN152+CM>^vk z5%jS(6eN$iXf;b!)?@ZOIR4!T{ucB2s`k-?vU_E)yrFoyyoS=Dr30==U~rqqOwuQ| z#bV4u&OPiS;c}hQHtyWwF?$*uk4~`snTk@ze83(M&cor&(mRGRJ+>R2O?5AaC9oHM zHaM^mM*M=i3zDIi(4HjebWwrmgxA^dG`OR9?DKrNH(I4wOYp-R-783|fF~Da^MwA~ zqB|r3O2fZErXt+-S6jtkmUGXo%;V=gYq7)m<;T$5Xsj6Rma9o~NPqqpi!`}XOx;mD zs;ItV4!=C-=gt+I^@5NN_%W^WZZFA*8bP#I0Cxkw>l&h0flGRl?i>IOFH1M>zP%Hy?_g@7#;Bf zqK(u1Z8Vx(DW>l9V%BcowKLPgktE*CY77BKPDWI#Otn0w6C@fKb5vrGGRys*#4wRX z{zpHa%nvb(Xu~XH(@$F?H@a zFpuwZ5k+06u833%YKnNuV%AQeHb~RQRXMX*07%SG0|lA8a&8uDgyC&zM6VxH4!m3! z_H!iV?SxQ~o#hrj8*z`>Q{ay7f(i0c9$}xEd8sihLPItQmOZ(baD8j=aflgHC_0)5 z?|*DkX&A0Fl^`Tho#ram1$JIPvABzp935dAc zr-?Zl2>Gi(!jX0${2-?)Z>#Lr14E*Mzhe?cvlrnYBW!8C;B42XqjwG?ikRFZxOVp1$P zr%x6Oedp5)F69OKTE$U~Ozu47=^^hau)P!-R^DpBY#nr0VGiGo*1CeaEt<_tNgsh? z?YvM`W~2RT149CT&OZ&)M&nyVW3-2J^T-T^o}-+(KY+;ixd6JpW}z+>({>dFd$GRD zIVPyc%%|)IoxnZ)%BT(KVbe@d1222kQPak~tvmSTj9D5>_N&7{#kGr=qr9;5GJQi* zglQ*;2&A=QUD%C|_=CqBJ?1?JzNy|?i_8ajqq0l%m<2JVY{P7fD`O%u2g3)867fE- zn;A5LTXYYXW5qiSwY;(L;@O>heM>q}VqczXAiX?oyIM@!J*jeiIm>WyILvsgSiOVJ zMpevKWj5&)AdX0Jlo(XWfyJ&9JZ0~J7sF`|y*;Ds^4^&bsU08cMEYq!6wrcROpXr? z=j3WJZMS!N-9^AV8B%?h+DpauM3n~DT@g=|t>q76^3>go8|ZJG@{v)@Sr8(SBlvy0 zw*}hBvPpL~51Ux(CKjKpZsRIVKi)r=i)lMiKE3HqLy!*A(S$y?=%GF}pZt#@Ki;RiA&GtPIk|>aR)O!d=4i;xhU@^HPjyulzldq?ElX$LgsKP!iCovUF@U+1U9Xo48+U_!eC{!O28@r{ z{+s)H1-{6gS%s-ZtX7&J43iR6(1>E)&*~KreCNgx!eLy+5wft6+ZpD$pJ!_u5N}-i z-lr@pk~b{mTVAGASTU@#;VJN8@HF2bJPG3(D~q5qQtSKC$gD~PyWpi$p#j#7DUrZ$ zun8!qJ!XAdYGPPYi-1xkPIz#v6@gFpfB4rsj9$-z9KN^!&aM~Jb|5+6!tbE100y$d zbPY>Aq!@l!`>;;wPF@oS6Db8CjdnU%@<0Z-&PGLh1?3wd(>!DW((<~}5S;;dTX8$U z!?i43$V+25xm--!^)=F~Rc;0Am|*56IjZO2A)o3(_@OAF$kMvtwhCMp$;fN%L&a3s zOOYRzzs$rHsV{rqu041D5oi#WkLzWFD5xu=xLQox4W6K#eiw8jveUZpze z2%)B}aPV7WFv3KdoiYQV(OYE-h^~w`#Lx8G8QlJ1hfO~wHP9yjAGi!rlXY+b)<5Tn zz|~?}dhEAfcf|<;Sfso2@uZIkD$=VMY!()g7BeuaBeSk4km~Y{A}=CQApR~x!ONFp z=w|dCN&(RT^gUA$;=kvuE1lU&DJ~b&c7vx^;4Qk)FSDb}nis{I3WQ&Sn9OJelAT?5 zUE`0da)!^1mqej!NnJ4)yWT)?_y~$sp^y)xcwS7`u^-gGaUEw*gF7w4{`D8I6f<2U zc91@hS&5!=5rxf;45%WF718HMNv}9x13S+vaSw#?q*V;a%o8`FT`9S07spKPG}t9O zix5HlI43OJJ!H><5Bc}_rodTbYhu4FBObisMT!8eg*y}EWPFh*{?u>;3CpnJ>-SWH zjV5yqHsT1C{y(lo`~4ZQE|Dol`B5=j1&U6Q<9o=|XUv`j(_^y#2BWjv689jWiVfwM zkp%riU{OFJFJZ5}BFg;>1qM-(?TH*II>fNZUUTt8|nhcF+ z^shW*yQ}S2bQnQm5G`j^GAS41QXwcXoID3k&w;zlzO@W*7hS`^2IXM>j_|JbuCkv+ zXf8>qM6bd)T&ouuG|v4s*OwI(k60b4UmErnAdwK(O=m}f{WVP&s_gZP1&wSOG4Jv= z@0UhSGT(D2WiW~oUCF33U`uYbTEs{9hruj58A-;N68pOt#a#lGWKZ-d*X3+Q31z5D zA6fAgq_l`Z5c=z`+KYdHy?P$A=fE8Q9rK?rI;)$|NK)O_*j&u3JPIhcGvQ)-ww`n0 zVq`3-ZwZ-K@?&_iBqYb!vJ zE3m0n?tZ(##$^Z%1y7?;jwR%i>Em#*>|_ERaCN7m{sg#s$esi91LFKbHWyLYYOVDb zGehM-A;TR?P$UJ?8CZJ-ing&;7dQJ0v;f0TSfi6S5ND+TTzH-4s>LgFSAGD?3y;{x zU>>rkz@3$3AKqK#44a#U3nt)135w$U%q~Z3s?`de-KZU~} z=7ji-l@zN&h8*N#dYP?jZ}X`rn_VWR?Z$Ad2Hu+2f*}3%pUDnU3j+|Sn*P8+(=7!! z8JRpjktm(8GojD`0@;WZNljI#TsZosb_&Y?DmESWN;DM`-#X5o1b1(^{D%J{h2nK# zcT|=~k6RkB1-1H|38mF^vN^OPk3kmdB`B8ON?yDUI2M5KfZ4!XAj_N-MwNuWs zm`Zlde<^uoSBYu6Rugc+@0cgWX@!rNTq{RtjjRMHVF&8l9}Ye<7i7wjZV2_JQX#yV z*`gKE4}N4ogqU7ir`bxr*4$8p-tDNUh0d)J%q|ks9!gE~MV~y142l$N;znzyr#ZBB z1j8DN9**Sck|iFX_5p45c1@h^5=0YlqF}~eMT%G!DHENAWd-RfBoB#J8BAYK65R5b zNrJ3>x0sprJ!Afjf6|}2p_F8}3S-d9EC5ThGohe_z&;U!tDuAeD$i<)L0>*eocM1{ zy%LSl*;uqB`!3P9u2~{63_A9h-_%ROFERHgXT~ZzaPE@T=!`>dT^rbw+6F;|6lR}f z1cty5EoK(l$D?r5s}j8*4P4m#1(Zk(bG|*~`F~&r&iyMtkob5!_E|xJMv?4BSyt+N zfUs0(dI9a#h%7I{Is&9SY4O;*8EJHUQ+yk`W{JdT9SVp+O zTb4=;rpAw$-!KFo3XYs|bXePn-h@a%R$z(Jp#zG^sMKaVbEMllzN1P4@-(AeFP5FX z|Fi*fn})(Q?@Z=vTey>pvzDb219R*V^Z$VYmY!rrx?DQG7KL>}q4gSh6#%vgrL>V; zqGGZhI@ao4ilV}P@?RM4m$1%r!_>-Su8O(s*M_|q-&Y-L1ndf=0L(`_TnnE6mqAID z<&26t)`>D&V_MgM2VMsnjxkypU4-}_Enclxrw-Zg4XXtqK~v`Q^Ve+GgKi%5es8=j zi+_92Ge7P+J0=zC6-X&mj8JYmv!IAr%xBq!x(+UymsW191#2&Y6o}Hnb{`&#zVU4m zkfjqtd$z~?rb-uniTTUaj-NG=>;>dSo*UP5X55L5G74!f&?>=rD+yMDzW5PQ#FQhv zi+^LQY67_;zhB2ZT4U3=>BSYuTx z#W$d{wU`+Ti7nnyz4tAleWua9qCHhiAHgd$g z&k4d?`OKjB5dIby@~WA#@^K`8;3dV9n+MG*Twp|m{w>GMd-r1{Eb9ffLP!b7aC-{P z<@;hxBXHcUv{c~I7Te#-#<=e1pkS;dGJB_LE7#a9?FOZPOCwvDLzFFaqR*v zl@@-(>feUK>mJ{jPQ z4rE6PQq8>MZ3)WKB;gCe?e!xscIX39#&y)txn0)=^~a(pMajW~S)|+sTF=kP*r5p* z0|LBrojeDkIe8xJkG+!;R>^Pfxpvc{~}SAL`!QP*GSdFaA3!W6eG(wq{4_V8EeTOxAqK4K+45#_hD1)D z1pDKr`@3LhiO-uZ&xpA}6~)`0Hjn#!1Et+5JbO~!0BVV$`GG^JzCn>g8n8uld?c!* zxMW1;k2!l1d{9xs3)Hge5|vJOa|16e<}aPr4YaL&r#y#)noQ7 z_+T5vzng`Z^oeN+emhGNAxXsx&i1%s9^4LcKA6j{YA{0srQrX*>LA_DICf*yn%zp;yeoRj9_U!+d*DzD_ZT>umhyMf(|s5YfZ};$Avb3 z`1h{M^w4_PpmzKUMUBl?GW^vaZkQvG{?uR}|^7;5KVliNxxb33zpQ?qpBB z=8KYw0YLlT#f(-yYihh#aDJWf8u4RKjExxxQ*?I;IpKHy-PGi-z#xCqHIFjdd0bF6)(KcHUk)A9fw2iy+h5nMS{?oZ^g*`^oLw1qrnGl|WJ9fAhE?e_Qq zOu{*~f~3#7c9|%?TW!3qAEvAIr&A7Ko*kCU8KmEJn5W0w9x=c9|3=wXKqW({a>|Jo z=~`S{6KAtJ*b?>ngP(1Q2`m6?Fps%23E?!eO-#*Yd#zteg&XrzT8#a-=gRo+sk=OhRV3}ho{Jq!GzF|OImMcwR73Z{mQ6Ef&2cBhjR9oG>%iY^0hADT56 zEr^qjnngSD&NMlK=p;y_d8wtz(k_QJ_o6o7Yy@V04dHqJ9K{Ovf?t9$7W4zP@rEjA z`-2Edj;>dTF*NW}Bf-%g59{C-Bnbz}PB@*Te0QdoL`#i=&fr}`hBkLm@#{N!`-B=|s@yzPvUML6JuYK_~N6Rvy1 zzJ>|31=CfDM(yzFx$!;)`F^x)icU;((9tu?p(9#jO{88gAdjlh3CR&6U} z&wIS42B(J%y5)&qZQ_l#rIE_W(J$8Am_b#3y>iYF+>MN1Ve8_Lsx8fO83>M!7WoH1g$-(dqDe_RAK|vD4 zz`jddqjC)bn>o)0ilf@Xi$tZ2Lgg_qeDSscJZDcoy1p@*4o^MjTs;T2@CfBv~HVp2UdKQ6iea0C{J_*p(Bu-fzxFoL7OG?hkBQmw&m=hcbBJY7?->Pc{y z;Czi4q{TSsN!Ne)xw@V0KvyUT;Klvcs1%$rqnQSyu%!!E4w=>dYXT4C6q@5`U92bfEfy+BoH*5(~36ZLZZ3pFRf0++XZg4UP3z@%N9&R3k3adCikzW zV?Kc!cJD}nYRE($r>(0H&6q|HSTv5X`L?qP!MLDO1Reo;G6%kJ;1UV_}7P z_cJ`MRqjz3n1BMPfw`YC)G8GDFjjd7S-T&uKar<)%IDk*qYkL17}%BSCWtgv*%~O9 zCdPkM(_p}5aE5dEQi5k;pqL*Q#|y*wx91%D{*@o#8rY;l6W|A0L2+5eHPIGiM^c^J z0k#1y$+O%53xQ(AX$y&T_Bznb^Wa0f@I7XbXHYYQZmnx+40ApqiiEw9;9eQOB?*>5 zrl%2T*LlXo3O8mrC}+$?e8CTM`6lTmc%F%5;}>*Bn%}#@=85pJ{dpsjf-kYEm?adz zTss?%kg1~C1x*eTC{ath@c@U7=Yc&orsn5)PM8COkFyuG4xi&@S(#KfT^_WG!Y{JC zM>;z!wRN`oex92r!pA1XYOC+_jQJYC$HbzM9&bvyNjlPWpUlDmZrGDUA*e!0lh}8- zhDdfKqgMHpNe(u_6QdnW1q%ef}s)sy*?L)|56;z z%`@Rcxv9U*0E$3$zsn(x1tb}agp&zGw$P7>yt4%e*SK5+E4!by zu?5FnmpTt;0X5_Yy+f2A{0qH02YRwtVYzuGe5fGxzk>nMk>9?;d4{r+rBj&jaQqOX zW_KG%OciTMO&EcbixkPfFGF6T%W*B5Pm>0Z*%RSoFYy*Lx_QuAgGP!#A)GSLm>WDO z`cjikcad@f=x^Wya+-?gy@AsXwI~1-*IdMVK~fuI9q4nH!Us8D$K}oQ;6nw8rS@0M zjGiUpoqTp{3GPP#nJ8yqsJPm6PqB}Hw_tBz@5YC;EP8K%w`Hy%8Vw5r7Txhv4q4Rb zDZKbxLk~+SYdhaO4L(*WEF`}|&PnSVq-HRz*Q|}l9H~9*11`*WNhts>fIpBN?EO>? zzfy|5dH{|`9%2W^>qPDC88Y3n-uqrrv!|YN8Y?A0x z@{&(OKEau6xqBLXh~3Orn>z&97$r~q6#!Fo^(pe4wPz=!t%sZ(!N}SgL|i&im#hGJ z6Ic+zYV>*oxXuB@ou4C83WXb4t7Qq|^7V)S#;TFJ=fSzx8?P!XG)9cHAhE-GUGnN6 zHY)r9EI5=@ER#%VDMb?Ne5~!Z_$kxnI0JKaB|=L{6CGKH$RzG-=J-q#IwQ@s_&~O9 zK}97U1C91G=p0_A&!Dv{gfEQJ8`DlXr5-Fx*|AabcGm~NuAsq{MczF!{JVw)cDLiB zC^x0p6f**gmhqNr-02L40&Rq;zpA7t7`Ml)OqllZGjHkluz)Egup1PkG+mSPjD4gH z4`P|=NfVbw^ng^3zp5BtH#?f?53O^Ox2TGK+J}Jo+y*KrvKpss^pM@N&qJ;ra(smR zJr%Vy2cp)p8$?{1N*6wbSzRJ-*waeLMYB_ z_L5ciQ9t7(eWcY=@L`RG>XC9xOYuRadCP;?s#G4f|BX9SWskeR`gqAv#F-f*UKYX` zSov_*b*-|RWm4LF0W{U6VGg$l-3`bi^@gk=YWo~9`UNfN7;^m)1 zT_NpZ@*!J;Ad;2jHdx#YU}wzUrjp?mv;8xCEZ|*w@!Ty}*D!p~f1`+5e}qFb2|a(@ zgV%E&9`pX3;|t`=E;WQ1P)SNzngrDs6M(Wi-PUm8d_fHXlko;OP-~N`=EsK_-t7P* z*1Q_;IN+>A#;dzzY%yu2@L{hVhKo zsR}sImS`b%Ed;wp4y(D6ehkxzJ?Ixc8!%G_M`&=$d(0g&Y3CBUg!J96xM4S;MDZem z1~p1w^?uNibO8(}d2?ll3%lc3KIwr!JX)zgFGvB~q=mYaeoSMFzlHopLm$>oFi1*T z{ELyMvjLBnZB&Nn#&c$=m*w)LHGAy&+D-5pNbUpC(3bpcupCEUNoRn{1>iG8GiX+0 z?Msn2TYbv#G`P>7nLxeV&)AG$cRtn4&DQ;Fpu8DzK1#`19>eY^l++`8X?&i}g(l*w z;MaJ}W5G>WiK7EC*1U*j06YocY%7xNck#u&M2Wme8lDE9o>ecXOKFzl<2O|-U%=;z zm(Wy-a8QAL$SgGNM&qZmg&Eh-9J#5+te?Gp9o}29RIp#p-!&QSHW96WUysGiBUk2? zx`*e%eE^-`W?wA-5AJ_^51R)4+72QL4|5c)lpz7|0Sl1s31pizRj!a>SulBIpH*eK ztP9_2{$*bbs27h~h6WYC^0~$ynH`2l>{)Q3sEpU2kuC1 zflZ$w17er2q5s8lS0Pt%`e#L8Ok@d$cL$O&Mf$2)w5auzElV~uZ&+e_{|XKUY00q| zW_XLs^1PyEhhySWrM{VA!*k#c)wb5<JZTD3Mt9}zw-Gb2t0YGhKj z1YIHa)Kxhbt6?jabpU|M^4Ve#pC6k+E;qjfmb903K5PFY?HCqCpCOkwtjR!&yNf`4 zf02-Tt!#*)$T(lg9`V6t-G#};-Ro9Rvs(>{_n=T#288jb0@8(?k)(FP^1;mJ;3D$h z1q`~sfD(^sdB^mW{IZy!RnQU_SQAj>@qADeSurU z{y}J_Abs?z-JC%hQ^wA?c&6p_gZvk$Nc|YFm_v{r6iMi|oR2WE$zD~c#A90CE9cT* zo-?q20eYEru1$nuMm?`pnb5>7C#GGkQnYA6h~CMLN7IdAg@ku3>qgp=PiW zh8Qh=(RCIFOGDJbpt|Vn_#M43#3hCKVs}V8hW286%HsvYpI%qV7IFNX;RZ!KHlH<0be!1=k!3iEdJ6qqP7P^QL~I~WH|FSdShwE2U?Eme8K ztM#YAy{D zWk8&?SU_9x!xsz#mdNjct9N`DP&wVZIcg4#wMi>%F zHk8UM^jwhLJhf~GmaLKaKpBEYOk+6Z6xYN&udQp85H)~Aptu^&K_;|3(!DV~>BW%T zG_-bF8+t(18Kfn6>U+44ruM>@hmHzua`EMxnsp8*m`ymVD8DM`BB23FUKvk{6Lek5 z2oX(*Jh3k(XcSbfmRrs^i$Mh>Z=nAameQ9!mZfW1g6F;+`e0Z3t4b@ALMv3PIg;#; zGb9=!X#57O|DtB(!IC5iqvB-N!G~V=MbpVhWQQVH3^b(11k!oj=PE*O0v&@LPko47 z_z<)NPklR!d!!c&iG(W^ld3L@Nck`LHV~F5loqg0n!pHTQQ`R^frN?X6|!|sNPh)c zP_e+wcFEbV7#|Bv04G)~h2;~lkW?PBXTBY)@k_`+KCSR>0v6$E>QYnL7kemd&glNz z9B1weR25lk-pg&eZpOw;@_m8Hw8k#Ewv>Up2D|o{Q4X;xwmB&2Ll~q4&wac7D6Q6a z%YCpToNR>-5wcgz#p-D53LA{z zk*-@qn{e#gd7*^uBxKlc$Jq52E#%CYE3Lj{q5$TjjN+OxdFP#z@83#{1ew*2jS5ZK zg#U;qXpglDXcRPSuEHyDV8q1)NN}xt7(7z!PAodsrNQWh@$cgCMa1aX-qHz}9kQ{*!K*(yv*s%cRpSZ=K(Rp5UxO<}i z#v9t2uTG?cH5UB%^dPlk7Mr#l-k7kqbYNO>(U`o$cqB&r9kiCIAoMGHK)D>K%umh> zkTi|6XHef8GPOdR+1{#ae@P?I?5Bg;SEG&EtM>6}IVvyDaG(mH* zhIdV`g!d}lQIRk#^%{o*ehV`h%n_xbjZ5e;(80rvj#}aNEe;Ih_>3a|R#4EL0VFE{ zzc&gJ_dkNHbcCC{W=5N8-F2=SlRrI3?FxCp(*0H(wP(eQ78hFOu#gf-u;o)x2%(QE z?4&H&?It2-++4Lc+9ZYStO3AGX-&Ye*jWXgtH$I{6Vi$W+n-}TIiBZNeh^GYj}`DU zv}fAcl?AyU)X`b48+f2AX1KHr!Thc}_m?1s0LBKV8*l+O_j)a^8k0X~U6gch^NdoZ zuOw-!fPDrx9bDyz*ri@@K{f1!kJ9638kl+57l*XTTEI#qtMr(%C=UXw(~a~A#QvdF z$$*&Vb3R^NG$wz}x-91Qf2j2H{*@n?z=zvDVGoEc#>HPlQ5MXH{a->PV(<;=K%bg_ zKg*|4nRud5msWoa8f6vEE*X>i)|=#)f#R>HIXsZg+{$((1{z^r8fv$Gos0@X$!a9j zev=$?$oClN^_}$!!mi5rW$7e?$XhXc7VK@0`Q_4xT)IM*bp1UhB|(hrI(Fch;Xu^j z_Fz4a4kSQ@a*Kil-nJkkTcjEkFzYQ!Y9GQe<+ht_K#R5fQx|jQhW-`Ti^)5T4zA%# z&stH(BGW?+WfQN8PD=^EMJ_I&OM@vmYg5I{a_mmqG_n8A=-u=Z65>o)L&b(gzekf*o5!pC*Y?pkG}*UjtU(a&j-a3@_LWMo3}QY3 z^a))PV1pu=PL&=5nfL1%H}=NB_Q~2D3-)Q~;I0iI5#pIjCmwWK{Cs<5>LDi&c`q}< zOUP8>_NpQCheQ^uJR)XH#{@QW3%l={HR(Wdc%>o|oVSM={~{8ofDNiliz^a!^{JjN z&J5lnz{vDmIX`U)uq6v_ju8H+!k*(A=CyFiBztU&1)B_|3pF&6Un9hjey;EnaiE z>QySnVB|U`Mtnoj-25>|fX8KrT?8R!yc}lhb>)N#asb5R z5ZnmE2RjU)@Jka5Gd18w%tLEN>$}`UA7nW-W=z<)RX@xivPN9E0SAw8m|0oog(Ckj zUMnsX({{|?FCimW$4_AHu62RvRLpov6Svx4K(!_VtSa(pZIvFl!wKm2d$erRsF@5(4 zurmH_o+0QvW;{*6YRG#8t>Tplip+9&11p$FI2l$+2-MiGHxTJnB7j0a9J(VdxFfDg zMYsu?yhO2#j@pLW@Sv6d`rZS!@dE2&7h*RUw>(pag!VG62_t;oE6^`Zce9VF(D|@d zZ%HSg;{h2;P=jX1`5rX$^g})v_J@~6z}f`hqmks-q?ymts|?qQ8N1}e=r7oJMweOF zD6bLvT0?_o=9!F>GV=m8t`SuxXs-0G4Y~U(1=@YpH8w<`&K37*D324-@Od~`H*pc_ zf4I5Z#ie4#F8T03hKvo3azqE|#dLs^?x%y!6%e1Oqpby3-LH^M5e-$?QmBwF7Tk8Y zR-Ok7>z?(blZU-eV&+?U1b_?8)G6=^SZpZ{BUi$!$EDSzIGoTvpq{7x7(!It2GJ0q zvxrvH?Vs!>vRmW8zlxs&GP?Mg?udECMNcB^;CSKUaxr7)$(*yq+nsQ{)!^fL`oxEwt=*HEMdR1y+Eo~%W> z0&tNb4_c{k?3HtT5v#y_?^sxL{TXuE3fdXT*R`U3&9cZoQ>+8P&M{KB5l09oXuMfm zQdw19}qV*NPc^o9o9{EZT&S8`fWB;pvq=gtCNv zfTToKhN2TB76B{Gd5turMVkwEKyvprXc8!~*OLXVA<++sn{s*$Z>|4D{L2GY8k}?M zTG1wc2K-Au6;BzD^D94ajbM!+Z&mCSC*_@>TRY2?JsC(bR;wHf4$9zuj$Vf@$~l^Z zq}}0YuPKkk6?6BPx32X~UH`Wp@Js2`K5+TV;5|m$cI($GFqG%4+KgS4OTb)?$(i+`zOIY((~wc_$LFQIfOADEF}}$9i23F9(+L3M2vuMRvMO0f zR?rQZ+JrZ!CNRjm)B@nsZYcYwFHt(Xg({fl2<@_ERYxpaS)Z>P?j*Vv*&TcLqc0=D z=8daVVj#?I(~LL6VtZ!})OHyI!LFXleT=(MwnI$OmH+HM20f0$g#CKh_kB1q*jsO{ zSZs2ACg6;~2im7Tm}5y~|2zb}ELp(?YQEqkMG7&<7<~q8_1P~Ks45*WheJbsBE~*2 zA=qb+CMa7=CPn;gC;~O*^H!#E=c*zf%Bz5oVKx=glPXOvGV2|FNX?7~SEtP?XE~u1 z3B*`6y4`U7MS%LZqg>`wxrFwRL3}_q2z5p9M+&*4H`PHvWW>nT0}{Ek(2L)`$?7ZK zz6!hhNbBvJLdANjmOxAoX}jXu3pVPvkhe*q26Hspa19amL&9yQ>%L%x1=QZ|;N;#d zmNa2Kww9L$c^*)*N%W*}7~A~$sPd%`(?e?ex%m5iQNNVQVIbK;48NuGEJ_zJ$1N^VQ2o5m#k3iOnbAjZ@=0VT2QarCFB? zIniQfe~tQDbLarF0QL_2;7d{A#Vr$z$$-cE5~;&j%zGwzIRv1bP_K4p0II;CdF_BY zL;96H3DeNVJ_f$?7S><$%g}Xc#W9F;tOs!gMIP203<6{EW)wj1^U86 zrur}VBzVIL1*8^BeNf*HK=b}qULshfdg{x29(lVknl!Nd5hKVjJdZS)G7eqAV%4G3 zn_9+our^4Q~ z(qPBye^d$t3$mMq&ccq7&iG0*0D#h&#>Uqdjk{9QpN zb&ohnucY}Z^|bD^n$43J!z`#^@fgpo$)`=e@k;z5e1ui+j~k+%h9_>yGO3Ds+$d5wa}K zK1Cc#d<`HU*w1-2P|y%13_)Klz!d9M>i`=2SWlrk7*xubj)Rw5IC6vl{7$Z(`SOYFD=mlat6W{(hR!0Sa%nR~)sD%e6~5$eh#siU93Cgm8ray1L7fmjcFN8AD`g5k*nvuyydIu$$6c4QdF@xe!^q5d>6HRE7R zATey+*FN}eQ=8|#68;&m8fJ{@2jD>otLiMXqm->SkXh1*&^n^bvSDJ$7OuLpBI^uB zgDuapfd-y^TNpX=;)n0b3pJP7`7QTenkT*z|GSXw3g}=iA%X!q<$%rkgAON!(7zKw3z1`Q+NQNG{ zJgFo*wa&69zp^F2H-48aI~kxcEy3fe3B&~;z@;?!n@VN$xgo=`jwtBHUh|6s1{DxV zELhws$#S~Aj!9yk9>07V?duiaZ({Kzw&|LK_GQ#1M85{Hpwg4UXxmI8FW+>TKrOOp887r zXT-k{2txWCYpJ$pa~!$<8Em1#8?TwN>>&WP!P6fLjbTrmMZ{8%l7}fF_}URa!@Yn=~UZb`QWhdij>iHbiwW9djkb zju_QC7M}Uamifw?d|N6nmk61`0;ZNsfxrIdx$vdWxOU?BU?UcltNbB@r}}xg7!F`@BV} zDhIN#{QD>3vxy6MAUvh-iyZGlymZfdHU2B&Cb^Br7gY~6z*sJRz@f0@cOWiK*=gk# zpo{Yn1L_LE)Ulzg{)lBJgHj#ea9L9Ghy(rQX@=kq)*i5Dy}D(+w?qxX`M7ydb|1?N z)#?I>diIO6=$hV)pm{cVQ7sV@g)~r?Nw}6E0dYK9A&9M z+CR;Z$0PQvSMz@sF`h;!eY4?5A%+?G88JRiY+^yw7M~{L2ZDshsw^-C;ZQINv;hEU&ru8Tdhr>D zB6 z4Vc7d3QLXb0X&YphHcnqWcX2xV!(&{$hKlQy&_i9D`_9K{4eDjo9M%$q&H0nQLqnC z#NbXOIL^2Y%V96yDpRMtDhphA002Xl?-C>Ph;L4b1YdgD%eObFV;4l7mk)6$-l6s& zSM$m#yUEDn%|F&BKuEiGjHH$h`?3fE(X%mLm5)hi6y6f>SuRMpNMX_Tmq zeKn$+$37wQ!J))nfI{pszZfFf&vv>e6)m3HqBGkyN^Og^Gc!wOv({ybQOCFgx2Akz z5YZHYtvcmv>L(*X6zNP9om2!b%-#~5&cN7#cj3>+;80pGytDsG)qgH7AUmT8Q{?N1 zrbfTUa0$RUGNsDA& zDAE5JFvy1f5^y+&pHbKm#N6|Nfwy?6ZU=NtlLM4hdl_phu5c__TShHwn!KF7BwC9m z$kHOd6}yW>UV7a}E$!{qv+Vz34Uf>JH6a=PcIXaz%CdPLs12Y&!@%phF6{2@a25u} zhf|xJ$n9~Auo)g%JB%FQlQ88mH;;MWO2$8HGRO23b59AJ*JN>*gMbt90&4M@voOWt zH9AxTMn6LHZ4;(J>a(NM`#l7Z$_s|V{~7{N_Ti#~azA7eKq{(|k!q4mUw57@g1J#f znu5ep6`Tz!WCP39EZt&0^9W2uv{?LpvtkNKnji8!vfr(&cF)rI;s#6Q1-FhZ?Z#HvxG7dh%#peMv##fE_MhAY6Wx(lz8TBpj=LXZG<)hOfkjrRgU z34r_g0op|!&X;d`#PL6iSgJHy2+Ky15%?J}jWok%xsVUevHf54$=dReNU$fY%Pn*S zAo8~rwgQ&I3va_#*#95W-sTG87cwq4%xw!!$sl!45=jJ(0Yx<16^CDi*U7!QmBJ=V z(}8AyV*Y03OW_3*;4S9#rke?|A5zFzve40Ia2+$;L^CX3h5$o80k;Lc43rZ+voq+y z)BtfS;1$4TdC(06G{5CiV3U2`Po9zqv`@=tFgOdWlOc^46lea`LH+iipBMEHf@@$1 znOa40k;93S1TH&3_HV70nT&a!q%)|WvEAtl&;P*CKeF3H-rn290{|z z%F-vkOcF2Fx^8_R(!^guTS3{6E;KG&$T=hfh3OpQWc#1(d`YorEm2VDM^_m*a5*b{ zwDWV6^hcH>H5k4^h0j`b-YY0j{a7wlw{QK>vMN$|q1*mf$ndgww_T|_lBpyuF1>AQ zVA}$=v$9Tn9to-{?DTQV-$7Ndx+r5D;V>f0*!E8z+`I~n*VB$nMJR=RPF~6w1(b?M z+&$uLK098B`MN$E?OcJZ*BVtsm^_$Z}-e15M-v>LBQuFY? zny3gKu{{l*Cb%u_+3jpI4lD&MYC#_F6nSYdLoh1J08ia9CX4HUJKZM(-#RXejYIMC z#|KD+T=io0jTU7gzckp9`Q?FYkgL=(BJn#z8w@VLSp^2S*Aok}0z769{=ZF6WiYdxiBh z5>qfFb9X5@yXEjcs&-|dE1j>38Eq7ewxPJXY%RAsa!$E#y5czWRq53%@|hgWJ!H>+ zdo5=-`!6A*#c8FDgpaTQQ)$HghOce$O*@i$hXi&f%Tp^^%cVFU>20~IX;uBosIo20 zVX@3$5d%U7Pu@vBp2@+%o(IFz-(Jl9Zz0pmwZ@!|F4|7Uxtx@DymYJz?UJnNzyU%z znO;pymKShCI)sJ;R=a+@lg~V2Pk(zghu^}>y^K*DqN3=EFp}@GKC&Bx-joJ{D?t0y zJi&cpnJXEETW6PnEVU#$n6-L2S0y!v`lk-_MKHoK0a4cEG7}$W1T}d6+o=Mm4m^Xd z_G%yK$t0k4MUs{T4e}UU1GP{ z=l`>ICdiQ^NtV438)Ex%|BJQ0uL`)s9U+X83}#K$G&3`(gd0q^zbwIIF`P}zB75xm zXx1ZOPkwve5Au_hW#Uzstd?Z&S!WoJF=|IcVz|I3mcF>0!oow{2xgZ@+_9qK%-e@7 zp?=;ycE3aIjY1prCkr7F%bC_1S1uKWko>lNi#oVOlzr4XIh_T6BikVr3+3(AU#{M{a%%1)B zE&J^!oD03&ae~a=VP-f#ZiFr*%L)JrOihC&*=6EY_A8YjU};gI-P*gyEI*79v#e9# z1y5RH?%mhJn9>d()yilOWt;R{%zr9BZ_0NnKU>OdO4yl`XhDHqAv0Fa0DM?rc*sEa z5r6gOFYt%e>)cdyyxE}R z1)HY$#O34se{Pf}_CNnYx(Q^;88NC86nL0CRR9erjL=8rVCjfDo?U%Iyx1?f_AY4` z{Bmv)Klyy8=VP&MGkhK~7*F;}O~NjAIh^XAMN0&lTDB$C#lo1}(5!fmH#9iJ*^QFA zFu3%W5BiI%dvykaBW^*F4OrUjY#L@O8$0H%VH3}RT#oRmf|rl z`JFaUhUg_K<}Rhm>cX#xAs1>jE+AZSXE3-5K&m(x%VWMJzx}|fCBaF&YpOW!Y)LhH zS@>`BeG;^aBF*3IXhPCtC)r*dHoiy=srHqcgM25I6U%e^Gt zzU?93(%)l+fn?G*4#UcU)@ZVD4R#5u1cwmp|KiiOzyH!bz~98~wk=n1`s;#)Z9cfD z{V;2X`h!1FK@%~mWokUvsqK<>nKRvz-+EBDwt%_r`-fpkmTem|^4XpA!hX_~U!E!Y-XdVNd(m$SJX1V2g0daogJu36%A}QlJ&Pacx zs}T_~DDM&T0P5)(O;qu`m+yJ+e^~9T&(%(r*V$%vwNWtxZWON`^B`~`@>{3!)^Hi4 zrb8An>4kto5X4fx-9P@vzmOxnc;3q&gQBOk11d+>L17GxQg7E~Aqyj%&N&&=T_8KV zounOuq~!Oxc(C^afG4{H=*=U=J}L_x6W$IC-X=OlUACPq9y5CfCl>YMneRTuf6gP! zfA*+CUeNgY%QtbGkuraZ9gbP_kbxZ@S~n0GGaN?KT_9TL!rrZeDL0>Q>1dI>NG}`%T0~V!I?3onz!eGNItW&K z!~>*JLEpp?o*9ElFFK3oz1;s<#8@_6dAVt#ii=$;&Msxhq8X;#n_$=rZK*nF}7wbeTyl@MdbJ!7}=L9q*b&9{7Qb&UGvi?tYuTE8X&&_G$6wQHUx*4L=AjN7c+S8($&TC*!O*QlW(S@<^34LVk+Ya zeAug}y!_GcJ?;C3#8*42m$+CkPE)_fg-S}0uO}@k7cxTTjpoA6)p3~&uz6G|0l#`+AhtG4)qo`M^1Vg24D@N z3oXUbz^x~tBisgJ5nG#7SX%b54{)Qob3WYP)q}K-zDP$^ZK7fZ2jkg zCQy`K?LC_98iQ|paAjbB0NTWh3;V|#d;tCXa$nj+%nQkUz!@4~czi$7rQ_Z% zi{f4s&0IwsDRV8J@#z_3n%$0xRiI55<@FNFZH+#`YX0&KvK%xZ;%d_Q$H> zzeLPrhxw3I1$MUqLf&UtKMp&j37-aJ&Ps%geD_h`2Zt5{8j!H&N|>>tZXH#mWnRyfWvJrM46)}VCPWrtM&iEV`>ie-4ae1E{=0zgke zWrykJTlOvu7XYmHqW<9-_uOB5N$z{u(OYC_B(dCSO+~#W1sR{als^i9?Q+=B1&2)# zb``+jnOmUi!9=SB{T^@Z&2_;o;#z5Rs7Or5Q?816{5l=_9|l^`C@{-~QJCS&UyBih zC1osaH%1Rl2CMw>UYdH!q9CEu0x)W_@9Lp_Ax|a`xp~Orw~&W36B!CYJy(VH6T2Lo z12T|36&Fl54_KZ+ptu+634q#mj)d(kk}umDXt8|+s~q=*RNAU`1YiRB#}&ZKkG@OC zg^T33N#|crz}c%0td%iX+7c-}V@Biz$QNQgsk-!G2f?!$H2Uzu&XW)pRv9hOais?M z7xmwWd3enEpT*perG`%k`(jc4)Yq&Nln#;xGR}zQ2tEuWLIa1!c#Vc?R-A8UEK@;X z#v3?2*?yVkkcFK!G#a4CX$;voTrVX&ov3akq7E^0q77rD2O`c5Il*mEdK{- z4cqBDAfD;OfN!30nn`|Wr2kqh_ou6bTVvBO(NF?N_)+uHz}Tkjn<7=UQO04=o6uaf z8zRT1!5;c#3KHYlO}Wb6jQS5zSwGFdrc%Vb74v<10d)HN6=Xh3^Mi&gli@YBPVKD6 z=qnP}=?`S4_EI}6#1-FpPgZ#ZUGf;tdU$>PiwFHp9Rke@iF$1i#WL*%Cxu1^lU_mjlF`NTKL-9B3a9~4`-zvK4 zSw!&+5XkC;i702ocZFezg0|lUzCG%f;zWs>i2sg27rt>%u0+z1<>p=XX&qRI7JCN? zyC6$_e+eIi`xgS1i1#8y40u@KDaZ6?n{N7 zFuv^5yFk<$u*7M?fdX6est#4)SVwiwgZI8QKM_Fpz!eUcN4Q}ih_k9^KK=@-49h7V zGprVpAJP!yy?mO00uaYbsDe{Q3ZH|4Dh@5Ro7SPDsbEx+SVkYg9sr;cZ=h$vd)o?d z>^lnUh zlD!?IW>JtHQIYY|{0;CjJPCe4qZ5uaFe*rDgj!99t|#l|r71hsd(9$~;_pO+G|{cU?QP-k;cU)b;t z9A7M-e?yo1@Emx@$1z9!>%3jl2YQ5gFfi#Y>Ffm4{3@N%DnyLGw@bWBEL9RPr`;nJ3`b#zu|Iv* zB@YMGR2}lm)1}|yW3{UY&sJZM_JlI4N9{>)e{4+VL(~X~qm4U@q&ivFXh=X!xTqR= zI(MDJ@%Je{m{7H(37TpGZ29Vxq(glox%bGeC?2sO{ z+8JcnU3?_O8?$!a9gAdNWpl3tPIY)1{J_f9Cwa5c zoN@SMA8VH|C;-JQr3Z-^@zsGybEKKtux#0$Y!Kfcao;HqlHdPX%rnsu74Q|}x1WhS zVUdkNA_ezwn^?Od@B#v3te+kOXX<-v2f_0C%wzF#$8p{s@jVX$H~$O{FW@7M8&6ny z(B3GC2cU)`Spj=&kiG_vzxMV6)V{iIq(^zzv;+5UkhL0X?huF;O;fWCbdPX~(~o-D zI&|s0;F*1o`9TUn;vC0|6x;yz@#s35jAJp@9AWFQaJRM0DWo$y*EiP>Rx0>(QOdbu z(G&q^&HyWGgwK_m1qn?f5Vn_BWtY^81zkVx=!b%1K5D(-hB0YPYLQh~qARjG8xw)a zHI0gVIA_XWMI9y=^N z`^cc#HVuK86yQ_}I0Mrbcd(HsViBc!bl&>Q+}*MSS7X}}*>ZZboY%7*vi>f*jY17; zO&VMe`tnEU(t80T|Iu1KxvN+rvBbf)?GX`s|; z=M@hG5{`$A=|K9x?tntFpM~$7PinBd-4U{~U~eBerTu-iQ9f-4>@m=ISjNp<+l*kY zeHB(PfB`huQnkSV9ccJ2{;KieO!XMN*9V5f{<~ZTHeJFmtA9=yAK}ap;3sodFYT;Y z6qOZ}Ddyl!T6>&laBNJ*8CU_otgnqc+itATX*`@4(?R*L;dEl?sSHf=wla>%PJ95^ zFZ;bAcm@0?BMm#3F^r7)fw)s!X9>=Q9JtoN9e2YXMy$86{9uy{UW#A23}CBg*PAgFHGovU<*(DZPVmN5z1T1rQL|h*^oSf0oaGzkn@Y3s}&z z2gCA#QWXo@edTW2X*(H9#jp{9L^$OHQxYjwEV1q^Ye@coV*9Iw;OW9@$qwK1QszX4~}s!>>eEx ztOB4zJ{heHBZzsUNlfQcmQxCVDB7h+1>CiTD5ac}FV;aBt*|6-am5Ty^T5JH&l3tX zv)Y6L4l~WOO~wn-FAhn-;NN+Rx&QrhzE}Ku&iE9Nd69v&E@i%0NH}Qo*sOj+x#s8p za5G`T4m?o*K7=ZOJodE!l}1(Pt^^+O@QClH`3ZCVr-);xcYWsvk`aU_ar}_-?)AFq zSf?>K#5K=PGdgov?Ce;y1)tR#D`dUsF+#Q-yUU1qdd&CJJpbP0wzf}`+a?I>l=&KN zw#@6!n+|w#Vz;_yZs!7s$z`gcpBg+%reoGnV#(l{o85Vg7^MNTK8Tk2$ubYfIV$#6 zimxUR0s4%j6y6s2XbHm#^;R7`KXQjPV>S&{JEEpUwF;FA+dljf2YP7NGaW;&4+dvm zh$4*3!k9@O?D3?xM}1F(?ZE`{Pxr>U^)9+MHXyi-ZDYb!b6+(-zD#f`81e?E9D`Y8 zScWg+SxSMYm~v-Fn8T;fZ(X;PVAcoQGRwo~BRarCAa(3x8dwlXnuga3#aFfriH)C- zp^08;*&T*2JE*A>s-IbD;(g6z(u!`6*=|b+@=-oB!?f27?<@+na87tLr_gMSnD1kx z`S&Bc`ZcmEppUIiNC*^Jk%CgtOYQ^CrSuwDPpP-!T(P!-naNwYkQ73Nt+a*#bxbj* zE=Lc#c+l(D`x!(Ix7C-le`de}Ijfxx6%`M{Q9uSTud;sQ;;Aj%6sc0t=^dJISWQ*n zqq(dY)NCdkc4VN5qPZCl+D>*n=;|@wZ;tUm#T{-OgVrGOO-=!G7$^56&MlBxK2&2Nw4K>tSDl#W%b@?f{G zsk`2esViQQyJe_3rBV9k-HZq}>j?{&m5+KW1hb*tdJD_MbVDV{NI>o#V^ONtKrTuN zW_?gD0XBSxoaPg|hs%MoAMY>>qye;Am4-$Ms$I1TBzLC44bp)D7q^7KQxrv;MYCUY z1L`~xTfSU4H#*!T1M!N3F+AdXvGF9y%mSqzmy9^NV(S!R!VVG?r9FE>o2t z+g=PLx#*oWnYEDZaz;RzaZ!@1A0am|YIgH#(K_h5&x0YyAS<828Z1e5 z^D$)Hv6>%cyOL5NVl0CsZ=h$-W-o9^dwaz93}`3*A!3-OVd4Ne4J9oypcMy*0ijnm zx+=PXIog2Kj!j+aFNHib%^(besr8X)$A)0wIuKQTSiKi6xrL#Semo+m)py3Mv=sCB z^=3wA`7vuF>51eo8kd@E==HPLvRBaTC@)>FA4q4kfN<&bIztW$Vt@Eij>1{uju>)( zo#i1VnDxQAWIX&3a&iM#u6J6;B4e8Zk!NArhd7zACR31KDXKt31dMYwf{o>OQMB=Dg&fMs7jl!=e6VLN_D@vp#5-kB6Ds{b`8Xxz9k!bxKc_&UPJwk3m(d zCWa~(ld5BWf+u)^5brTliC}Z;`7c90;dW<^jr&h|-x+$$)noohfctx&xdl#=>cMnu zvQKdl)9OfXA%r1o8!OrDPR*FCvtrBhrO{<|(!`In3t*?1g)lnuaFy}GVw2h!Ob;yi z6~<|cae48WJptaSm$Yl&g$80Mu%WJ7qwc_MB$)4wv8YfzpguEpFq|0j!7BmUw{ciU zk{Yr!>BRD;U1)Ix;6JizVeXctuH56IL-O5|_DG%q@8nB+&JV?r-2iV+O^Cu}Ee8Ah zm+v$2wn0FmCOXio*yq@S`hciEBx5aHT_tbidZQc2O*ZL_>D%%!8F6iR4!pB3nFW96 zz=EEKPoQ@E>Y92Dww7FIUGn^Z4>Fw936h~hAW5(3qE&MpZ)v;GEsuEGh8py>7sRHs zC#j_A3%j)z=h<`M$FTfK2pifs9x!ZQr^YPBd0>!Z&<>)Bl2j0yJ8*U;MxecFS#f0) zGLJapt%qF&fB#@7r=RaqZCd__xEgbRN(uYpJZ4XV`6CIICq1+-wq7UOH3~6#b_qPy zux#Y^U%s)j_XvegWE^;;^ODi9KbDMw*awyrPO2j9EbCo-n`sxZ?%oDkg`PWy_5kYu zbwG;0qO$x)sEeNyT{XAgS*8Z=@p$D6`2O@m)w78`yZ zMXEVWai=^z7K-;12d=YrMyU`WE>>ya5q$CtClscse!Q#*w46^E#UGM_QOpauJQ>sRrdPWe2Nj({6Tt{wss04V7oiPJeLS-Jm&iA{rtz_;@6UmTR^QR?~_$i`DF>Yxz(A~qgN`G6+02w z(ZDLz(Fphy_cOA!v-yy~k`el-9&=aBA6UTtz|%#&l~%nqxyy#?M;32LqI2-{bKD`uDl&LDM-HfbLRz%OV;&yzNA>(a z%y94OJG_BFGZCFb+?#52q^lF8(BoLaXk0?66=9F<)pYz~={PpdALi+!N-kC><0YU! zBn$&b?4#iSYcq0t^FAS8b`RtOH4RvSFmD(gL_)zO!a>>ACh0M+2^SkNqxWeotM-Q8 zPYF^GJG6QRy*%j8`TpNeaqH(47iwLj6G#3S6*0E<9<-%?$*jO~qFMCO^UUa?&tN9G z0+Xu9CQSSdXW&6A4d(JOse58s7505V4&kApt0_DIHQI(2fx~TcVNm7?ynB^u1J{A8 zt{d7^p;cmUV$nMY?RhKTDdre1supeX_x3B$4pokJQ1UQ4-yMekTg(L!u8OG?uZn%h zEnmwYjwkg;wcf^g=X8q$VTB&=pko-bbc3X$?B7S^&=-S4@-QURe;0E_QjWP8qhtA| zy~?_V5AR_7FNI-3#%0~=J+Ju@RF^{*2<~dB0f;p&r>vg`O6q#nup4*&S(v2&a9v)FwvIKo zN8LT@^$(+-b+J0-WHjyPU)>eZ=?3>hvPWLn4Rq66ke~|rqv{emMI28^880bs!7BD#l&qmFUv74SWn5CnK1P>+~+lNVL6dpT&7ai4;;a$2S zKZ&KW8ZO%I`4>bnG4W9BYQ57=bgeY4Avw^&t=O$rnNMHYkk!OeJ{1At|G=Sxa7B_z z?^}3s+TG0jtA~Uhnxo-mII1VZ4@S*X$Y^s_US+Zu4Kr_#`YXC_BqkA{)N3fI(1z=8 z2Z##1BZ6Km=D-m!{c1}#a6s)OXYCX645!5s9hjJGWjBJ_d^HS7BWPvAaxXf{<3@8X zP=#{uKziP4-L7od7(o|6yO__b!;-}VJyZc?kk{)(C&bIqy@EaFO(EoO5%>JdMX;En zp{k@_R$`~Mza%;*x zihBH!hJzMz(qRQ&xAx1dVmE8(c0)5#-w(j>>v7ySc_be9jpz#Kw{!a%9E?nfCZ%}}ymwZVm`_#cejM}L?Sr8P^JaUdKjNj>2|&;Wt$(cCU&6?^ z^U;VkcJED38L&1-*=I6HG=rwvkUa&?@)7c5Gl-ARIt8-n8kRyns~y2D zEaa|nvYR8nfB1xSTfQw* zR$OzQ0q?EgbE%P@rEdz?1L%dq$U=Mxd%qFKUA}`uAO5;DU`JtU!5r63sZeC(W1WuA z3)KgUnIhvrBusJP&J`P=?)mTD3DOUJClf#x_PJWynI+s?v&PRE)mEs9GG|gnCx22z zdN|M4wp`o;Fxg$2=Ez@d$F>gSU9Hxe?=}lRlZy>1S~OcgLt-G)Jps;-1o+r;Te7yt zr_9`ick|6Lf<{nMq*vh};tX#Mtv@b6`$yZ=pfK3lGD2LG`NS+;`-7g5pU=z)(`8FH zmOpX7@CF53dW=Q8r@%S?;%t=1O&d%fRl5MQWeX>rF?bNxJGpP*3k-;W0X|L`%SaBw z9_keMz1}DuFrX4g<9l)3Jp;~r2Aoej*!+ilg1R4C^c`79+U(||k$QrVXQs5cYBPIiua}AGxZn8V0DnU>R>f1b_NGIJh;9WKlobsSn;vz2RYdl zz46RwH?2@Z1xOob*;C+MNA2+}+o^i82B74x0HV}g@|3&%C_&ztm@hnsuhF8${S}O& zMqYaRKmpQJt2Qo-lI(4z3ocALf=GycbPV{rXTZDlUU{-nhO+v2E*h;X#=NzO$Oe3Q zq0Tbp8eq54_41)1C4d3W+f|iO*Bp{Ttw#(>!CpR`%&o}3gBm?z&wuNl|Js9H(ga`I zw1mREQf@G+jF{cq8(0@6^;~ge&xs^Og|S98cPZ_It(n+^z&z3w*O*OH8F|VW2r$okmKGU=rqISZ#?~fU?u&yr+!Zx%QxO zddPN4HZw)fenWtWA4K+$-CO5ww=lX>$iuVWT?(miiatXIsCO*1jZl%+$K@fTk8MvJ z;YkU5eS_+%JiQVu&y=E)0>+Y&gX=%wtDV_e`zIV^sy1+ae+n?!$k+?c^b_T+b0 zLMj5eeTK|y-6pu%EDOJt6!MTKhkgFk!YY{?`Up$SvUS+yt;E2g6@N~>r9>f74epae{&}%&R22pgPm^6eZ9Gri%JZrl#GNS z)IliWpNtZtAdtJ|NVj~u)*(yeLtFf$mJwAE{Wz!s@-9xUv*9xEV|ebn3p+nvaSY?0 zs?Q2VvmjJzX(H(?J9KY0@T};}UJtoZKA=5sKRz`DjNOwx3cna&hcJ_5PL9v*2;T8a zRecQ4eCuOq`(UFCk(y<*ef;V{+)DJ2&%1RVmPlA`{z%-SpoAr;MuQ-c+WGQP?hTOb zNYAHQHjMX<)B~6$S<6T*5SGDj*594C+c84Ak*+Ew4~a}8cjk- z%!{aysEbL~<1|sW)+i&=toM&jRkN4L@~gY$z{ctT)G4UMfSBmVzZ{9j@YJ_IhPDqZ z6dnZFfJu8mnYe_(h2t~r=W3@Ql?{+j2l!7)2ViJ>Um;s~_AAg8*ndJp)RGQks30*q zcK=5cjdZw1&)#o3kz;u7+rQ_&3|{XjK|7-uo35P(CQC=HWXFc$JEb{NrjP?a+|#v# zK(^jmf3CXjz_doi^BSZw!=^?9r-EDu1{8|y#XTRx^WR-1>pw;fG$$cA0X#l6fz8iS zPB3R`8rD5oF-tj!k3>H|{C$zNm)%7;VmdM~&a)@L4|1cuCI7>i>vPl$1q|m06sciG z<4<*s=8)(>hG|0elF1<`0!yv4+@vCrMv#PR+}Q~Spa^<;3jE+UJ_e0P8aBXl(2*2HGudqVDQ6% z3Xvb_={fKNoA%!xbP+BFy$rzmb-vln02M_xxLOjjkK1EL9JYpYl3ZxB!;cm`!R4x# z0=lhu&YlH7$c=Wbe?)J*IPF=JqhlQB=}%NgsbRL6O%tHy8)0&`4qNK!UxRq zRh3X3%=1~$3AOYHPvAvUYTN|~h1^4cwp>1)!wJcXUTd9M1=3Dg{^j|QOc3)K z^(^TS(~v<93M?Z`wz+wI*Qqx!u+9wiCUVtoGP#QOFCMbe;QWNd{FjjRLUG#hy+gEf zuB&NMI4hj-$h8_&bu+A6`n4?4Ib}dRWCjvl@Cq=QITt-_+wG;Ydma3B zT7iZURi{jc?O$k^+CZ{kVCKKdtJsiaj6UPvZe|HA+g;FLgjR{(Z6D3yr^h&sW2P67 zy_+TN#0DG7MuzWaM+FrVHqZo$;aBrS{yXOz4$gXQQW36PqdnDb0F<(u5$*88Gserf%5bGOu@njpq+)ju+9dOx-rl|8i$LiyKK*q zVistWZoqD7E;pXENa#>4RNEKUYnBF=#1n9N@X2kJn21NMEQs{lEu}mG;hDXQb6(IR zPr=Cq6%3|zV=S7Lxam?r+i9;3?_^(&5_W^J>4E&p?8IS5)@Fgvb|Cx&41t|_bKSE5 z+P?wmq!|N!=GTx>ez*G>g=;DS%1k$5M-gF3Ylm#jTZm^O3L4m7B&cdH@ds*;4F!by zXnD+?kpwpZKcAdKS&j1`GH}(^*H^bp6BIUS#!wgj9y1`>1I&>L5D~LdaYrwE z_%4ub-yv>kW`JOqO?{av7kQZ#_QEo(lI)n>9CO^L!V^$j6`7fpf z>yi2jdt;&^+nF$Po(JNLq{T$Rzyj=4|JFDFIt?Ig5MkcHb|}f+iB()_3=lS1iJs_t zuO`tLHqgI@3@+Uz|=%J3KU%i zhrNPYbt>>%zn-R5xuMx3i9k<;5{+Tb@(*LSzX@1tw&6=mcF@=O)-FtJY*+wJhwy*~ z<_(Pbz0*3}Ie~)8p&KIi#$(E{A3M8H?yS@E*Rhd z<9e243@VkshCG?|FkpfC!j@?!Zv`!T;qpyt3=L68q&(*&-)FlTPjr{nX_!>aB}`&8 zR%m=5O!WCNRb)r;^R1jlzA%JA;AHy@SBf!I{J)N4uylCZURu*?e=bshEr5UM*l70w zs*%X@>Bi0{&8rN8h~c%*kW#Ryw?Aftbjc|AUmr3G+hi05k^T;D&w?NO%f}HC#t~1~ zGsC*qUtG`jAu&5=PzWQ`Cx* zfBA?Pws+^CU9!K6hJO+Yn=uNXA0o5O#Y`-Rc8Q(=zZF&Y(uvGX;xPD6SnUc3otz?z z9rpST*Qrz@Xw(&#V%nkov+QV}r(+1TbMI9CfD2_vjNMGe9vNcya%6Ugmjgp#a6@p% zKudrHMB%t(xNy}Q_DgRjT99jYAci->rzemr93^m??(Iq35|t^%Jb#ZFtSRf}1=$Z& zZFkLb`xwa^)-54ErnXzCWlCz~()G)n$(tbsww<^Kv_Ls`u&hg^BI%>jXIaeb=5dws zGK5#XI49GpME#@d*O=L)LJ7zqX?Qrx`)<3T3lvk!1}s!K(RQa$-LtB-huPc6S4)T# z018NKAe=FerZR7B07*{CHxMNipr$t}@Pf{Q!-7=IzoW?kfNv(TXc1^8VSkPv>7fAt zTK}3aVt{+-X#%sXZo+hCLN;s&t|w!CKK8qqPE;3!_LePrY9d>hCc> z0C1&pWHFz9RZaBMgboX!b)3?nLg_VJ_+es?njk^jNByEl2yDBgg5;wwdS3{3J$%lY zxN9u4N`*F47MQ*HiZ$ z$rv+~>>7rG2l!OlUITLc{AU~-k#Pw7<6&h3g zNQnhqcQC8qeq>25y!ca5T2x>xaP=u3{6-N6LQoCFgUthN)Fl!0hpH z1N(fPCNDc9O~Naqx6ErgG_>`-@Q8Lh{B8adL^*gxN0JL}B~gZ7@7`>lzs z&*>ZT>*+?r8evJn5P{OHEiS7InJd{=Xt8NP z2avTPb>fi#DC&6Ca58Q2#v3C}$at*pIL<>5B*2G|oKa-FiheC`x5Ap+ z0j&Ty7=HO$`>aOo7Quk8Nk-GYSXAW5DV_)KrCkO0^cgdS(6O{v1uRL?&r_y4v`~?b z()nawCkcN0nN}nrd3~Yj>@+XHXBmr7bV9ruwPu$^hR=(v=jGO5MF$^tI6Vam&=qMg zdm8+hF+Op1LGwLj6#6*(@X!BI>PGK>vFf4g+w z1{b+dbrKiBWA-fgF=GVm_YkvHJ~FLFHxGpYjgi!Ri6mmy_cX4vI1dlLM> zr!iXnjv0rv#9~28ZfF+iY+yu&IOIBA}7q0E=C zpBy|=I~&Xh@DTGPXg81jOUYyQEcgLXn~yggLOPeBG179=&jv*d{!B25MIc3e5ax51 zJ^||E>3q&CBG3_q4c5Y@$eJ5;XLBGIUDG5B6Jf1Dj-`btoPO73PlF#2HMaTRLAymw zLoHa|L_@ROBKQiRIPMBIyp&1^tl+A2%w0K*9?EkJZD*q+BBofSI&Zz}c7hE^$9|elgXtRvG}e zVrC^L7hwH-CovK;)B_vA2USV3H%M{bxN-0`HLye)96lTSfJ1{Tg#|J>(WA;RNhp9oBd>V0p!0Bu@ zSp2eS)bz`K;Y$5R)v@G@C_;?&pp9Kh1$K8~E-lr-F5lV|IJC~*ITV(glg~3~R3vQ* z;EyTWMSl(Lw6wUQJrl0aO!y6LElf-f7)g-XY3+MaM`%BPppb+jkMp=KkD~>`U4q-m zOzYaHKp9ubVb`$RO4KPE^4e1H0V}mRpX<=>DvD8Q8b<|PJQv=vYWCc|Pse%|exsVR zs%L?|-U2ahMsQG(SWR{cj0-{Bg>4pe4EC>0hs#4;CqtD=AY~zoPM6T8_H}rJ#`W zJ>&;-(mytYxWrsvn#yDr!q$sJkbV-M6R*Q^@YxAsa$1avN=ydhPCG0R=EXk6| zYgj^YJC1nHo(u12wOStx@aVX(!|W`Q8wvwm_|~iniRP-yo+3%ROyZYPp9S4tuBn}z zYc)^qaJ2~i(%HDK$0UGQz z^qYgGPX0a+Lx~vy6?)AEzpm!H<+W9IL-)t%f#9&m&?;cm#0g{V0*3#cE$uOT zF1%ya>@hqD@k7sro&(((;!G~SZY!7@@PO!9fyA>xWuLsrjT?c83*1Ag5g!wGoI;jr z!VJ2o{Vgl7)(`L@?PudY;c9g;B&L=MxqsXn|HFB<&um>^l8zCV(%vSkryAm2r&b-{ zr6N11F7IGR*D(S)dUextWI6CO#=f2HJsLiWnSHZwC#<;km_HlBr_v6lrU*lnx6_+Y zjt0mWUMP4b?u>|oJGV6m411^Qo0fva0$~-X2T{;KmoTpNk^=+_97g+%7tH%PKc&{0 zbSvn4CbXyXaGrIKR$XieT4T{e&=6zjc`6n(+G|=28NDm5^l3h>>}}zr96{%2kJblC zgW1IRnApi>a7%*ScPcNtFaU9i`JM^W11$cJhl66{`qI4tq_*L8%v@Tltk=Q~g;5;R zJKPk1(DwO&*>}++J5pGs@t`SJ4hTB>WnK~xnA;bb$p2c9!XkK@Z~*TuLI|+6rsA-7 z5SLG|5Ex63bzOA@q%>=!iCUo3m1xf8;I5E0m!mw?^q7RHqfw-GrHHH2V7ogN{l|#c z62q=b?q;K?_nH+jsKbqkfkBCg6N6^&VHxFYdnp*OQ7O!zcfS?=HG9PQ*NCm=k*I(c&c?D5nww@IW zf$7u~tY~@9DS5F=tuKKdWX0ITBGy|%Y6G;vfjyQ^L2QrlgX-M4A*jrAaszk7X%zGR zi=mEXyo+Wn<#bE|G?HBD$0> zB29Q7NTj-i#TuU{U3(R(29CiwZWw=EC>g%Pto??cijFSi*5I>?%o23h>Aan<9iRc|dbU$Qf-S zyEE{&wL7LbTHfhw5%Tts^S=wZ&?e2vsAbR;^cPxG2@D`|ahV653;QtG-3P9qEJWEl z8ou`Ia}4VkushL;g@Gb2zefD`qYdyQyj&e8?;^_kRfPf)gNVq5)%(-aAh7Xe`1`zT~ti zSg9uLhtBSY88ZPUVy=x0CI)?1*0eCYst@ay#yCDDXvJghzsJ0QQ>-g;`sy z7&=U0^J9W!f1Z6V+$IVRVwO4-H1X~8Dq#t}pfh+5Y@P#q`ZehPr9-j$5hNx4qtM** zdTRwomP*IoVSI<$2iU*tvDqs-`_31C&6Ue zC*c_SA3@&oB>=3!)vcvvI*BumT-Z)8h>59fZ z0L~QspbTm9bviaHfh8K2`>7H$XhR%g^q}oOaQO$=xQ-)UX!mp;xnk~~3O`nw<*5?g z7_~W;s27Pf4PAGXUz@c%yf0mMR%{$g^;l5JUK{#>4De8m-{y%b$Uv@!KhVOCW33;p z@tIcmx*J`C6mzfcsqjAAc%0+@c_{k!61w-+wmJ=bIEKb!GAzDQVUunI8~u@kx`YD{ zb`0TN%)-6W*6n9g?fWd>7+~K==2jgB$IBI>hp1|3lloGpLO7L4#ghV)oV-T8+d4(@FsZ zq#tTr1*z9uz-Iwvic+Z$5Bh$jpTd)l$zyrPP8-#Aek=I@J9D-YA1fiL%BNBg- z(qYeV{)aT~;z0wGM^w9n0@md6iBVH#Ao8#Q}D3eh>@rt3#O4A9=aAW2MlA z@P(F#yglUGb8b(0rO3iF(=j7|s#3@K9?9P5lEF8q4EbRdkBl8;XFBb%^EGB%Srtdf*gD!Teu8BBMx%8rLc&N`7L>UzPpt%`=Ag}z~S zks+J}n%yY1#K5jD=;ol)fc?zSImt{EBIe>Tw|^M3r9X5|pe#~O0K&K?(5y50sHA7n zJY@U#M0VHDr?|4>4GAZ}m#6yT)c(;!t{!s#IL;3%P1H24D}-Kvlm{A2-hH2{Uyylq z)zLy92+Y8%>YWesOy81nWt&;j5R*euGh4Mnsp%y=N6_}~+SPuHu&CsatY}w;XTtmD zsv}wa9W^2zh&Cj-n1f}}gI42*=!!jj_1|!23c4y3%1E$|dNEAx18fD<+F*AZU`94x z1=*z=BM&<(O9>st{C%Gq49|u4^3F=IN91-AM;@&a7;K1${%B7R5&|1WI5XsL%e9B^ zXE_9*?9!RPQNw^iI=H;u_L`QCYR0uLdBxHHoy_`&xHbBEIS5#0@|bU_&>q3Vy3MW# zm;@b50ImeeAWo@R^OR((Na-Ftgc?H(nOVZ2(Rf}ReAaN>77J+A9B9d*^%HK0myvsE zV1AJ~^!LzO-Vt~7@Lc#&-OVR|aW;NP^&mnrWTmyT-_dB1OOd*GH)~aa=3t0iiam1? zRitPQ!=0htN**+M|LEN-qVquuwr7VXZ^u|6zMY*BG>38_@c!GAe%K(xBVp$LIj$h2QYyZ)jC zOvn{S(k@R;7g(mTp{y9wsa9P47~&RjK_x1zlDsq8xAI+xDEi$?FLzkDCBy7 z$`7c~Vo8Et1MHsAWYBR58CYm#K-gq~qppU3aAV|V?>L^77lMNi0u3cASBA*P;4OI; z;N$r@kn5M-K6bO%foJ;Rg&k=6SP{R3%x|jP?%5Rc+;#XWM&13U8;?;k1PXb1e!ZY_K{QUpIK2P&FUfFGogK) z4>^V9W0TemQ#&|Ut`5PfNrE?Mqj8w+&_l3a97Kxhebu7;rj2DYYFkSvDkf7?1)qL? zV0&_s{2dnFL7k{v9v*Y^m~VLy9LrO|0X&{D03JOk-?*a1fLcXMtt|fIHVufI8e>V^mk$Kwf}@%7C}wLl6bD>k!9r?jG|!3yvo{SgVYlG@Y_E z6_o)U?(;J^_8db7r1aJOWns&73)9}I*6T;gAscm%8WxGvwrH~gZ0W4j0}Fw%a@@^x zc+B@KXvyI#W|*_bP32m>6+e0-0E1PjI8z}(n=NcqT=s(5=0j+DRVyZN zf#KUh5JI`fUKd5ZNP_vp*0Da>XM(+Y;2w($h@=S%UP+zMf#Z|e#Jgux^&015h6V`6 z+LS)ei5)H*G8of&hCjnqX9=CMX#^#9kPZAvuk10`Ut|8`d44}HexBFDGlP}4$XK(y zR+~jHCilB2Q;z$pmgsZ%##vS2MrW2-QTE;8j;E^8i|185=J9*X$hICYeP_FRT~o$h zGiI&OmwGwZu^bf^hmB5b-qx`=<%qV>0+@^XQf~rvyurTUu=c~!lHVKlDzqs0SM`|J zU&P#(^*>bzv?89=icL`C{{(xs)ezbri$6jJ(J#nadfDjUr#bL8)<)iUZcx~dT~>%B zk@Pi3f*5?PkY5PvaSysF=#SmzGmp2R6p#N5I|Z~@-O8P_i(nVDFt>7t_9%-)bWc0^ z@Y=_s!fW|>;)ync$BUSPcq9BA$pcu>1MK%YwB6!M02%W;fOBL9EecjcG2(X?ZO1 z<3S3{06?#ynD5jHF2#qKH`Y=o#;!0GmO2E)PJ4H>OUu5i?{>vleOxp&Vyb(Qff9C1 z3rw`YMm|Ua=E}{WACxg$?mw`O8bHz=z!O#naiFKiync<@ij;hVajfO_1~SqD*5cUB zbGDLCZgTjPQE}L9an(o*UPnPVZPhp$&7we!&nbj~%pI5mSw_HDoa5ZlE%Q=zkqAk$ z|1c2(^>lt6Z(%~>`HFe4ngbGnLT!(Nql$VT?FcwfR8O;ZFAU#*-J$u`wY_W~{ z`JAaWB-gGlDA_U1-Nj?B|1M_acp$&B=F^>VZ?+?CDk&NwFw)Gja7+&@aV{ zOsrFM*LujxgC90$Z9L3H`G>N+4u&Y`$TDisKNt~6#Vbjk>PJ>S2YdKJ;FM@5VR~{A zAY#`+pfrEb)|=qUJbkT3LoBuj2t?s8{fk9TB$eGg=zCHb4=@f5j1PA>ySbe43gNd4 zXi?HmV51n8YMoLWFpukkw$x4M4!_sxEuR%Il-qj+$cIshy@E_4DhmJpx0>H%k#KMl}8RvORT@ofk({;|U z09y6oXtisQ$gseEJ^O)SKM?>t4_b+^-f^ys0iT{T{Bg@yB;`z3!3f52csrhaJi&}7GhDl*=ZJy>9TA#gJ<=?bPzwgfrSa)9=P@f2);s%nJT3@f zj_5PraCH_dHxW#kSwQRn3o0c^>ztU(LRicUQK9OcF;|&mqKpoD&6g7hrh$z0Np2Os z<_E<-tM~Q;AYyNi`F7XM$L;ZWPJ~px85;CvUhJ9$8x#lADym{m{v{UJ;n0xbHVRL% zxx$;mvZt$lfy1-(%qgn%0H>#zm+~bsGqhIB_p^~7W42ZS1OVmF-dZ&29o#tnk_{Pb zIVwpmTsWK4Yj$~ao(H;3X;6X`a>g{2Gp5zm6`YW^MB8yUBm_|2i*s(*jf;aXY0B9D z-UfEE{`!oWSu2`W_>Ky*#d|?gL7I@g9s*5neT@qjY*VYvCb~oU6zr6=7AAPGPU{NB zw3uykxLP1?1XV8~#Cy!L!_8fqkI92B9`x<9<2U|Jgjw>^S2YT&?+497sG>B+JZUbD z$qUbt1bLXOUGud9!qJwwz4fdy%k2%|mtCTcEP&Gu&>2!TFCn$Qem+0XWeb)xWuPA3 zVt!hAlh__uD%PJtiIoE2@>wpHmmJr@DiO=Q{BjO!z`1z1g)^#{tqicsu}{aufO(b* zJ7}_oyna-`gf;o>GBDROO( zam{26!y=<>f6k~v9b&hqbQ%j1GaxLGY@c>ZOQJHsjc+lh2dbt$du-k`Wr2$AEERjjF@9fC{%T~WQkNF-l7Ak50})5K9W z#^xvovYM-YLED8XHL46OBuf?c?a+A4o(b>d<6a-|5LnkrUmc1`5`#Vm83^JDqq~Zw zyjm4JUsw<~Ja^%Xo~7MbELp51@@q!b=<*iwCODL3*wa2a$sV(3!aMhPwx>*JFZMp9 zFNO4Nb>v5q@HkLcL6~bGbgR_Pfmz~IV^8TSq3!0V7()p&>m>(%?+2}b9yG5g3IK5Q zSq}M586~Nb<7{{)ykj{2kX0-bA6H>F#E({1p)`Qf4}3=DDBA}4Ggoey^6I=Hh4RL; zk+Jqw5yQbhn3ehwaK|&u<})y=5?ThYMrCDBg!}hI$W8m?#s%oLwJy7!tO*AKEf`Bz zS#)v#zKVY9_8{CeO`#)Xu-hvdZ+G4Dkm2=(oa>vw;gYIMUg`Ic|A(h62eAaJP_`xT zL$4k-V+V>g0O}fkGRDs0%KF5}wPqDG=+iPCn7K0gwtm-1Rwl2HV$?3Pr{gTms3ik! zUX1RI_X1sq3VxD?Sb_!I5o7?j0~bb|hd9naIzZiJ7Q|7EG7tdk?L;y9Te}zt9rf36 zw_>`!w!easm9d0#N1gPCCKfQKHKz=eq(#x0_N(9k1+u_Y)*@ISgIMl5S*50F_v?BU zcIa$3;?+V)%@uM=V3oZm6z{kFAcSB^tj6#$y-dWGWM%C4yyd}JpQbVlx{*Sqd`=We zL!%@-k)&UPABF>6=^1cbVB!IAzP#*6fHCqp01Q3#EbO0y+2Yd|snm3eeyf`7jKTKc z3y7(sdzMsXO1dBD*&avzLc&!pPWR6$NShoC5&0Gm2p2=k@=!0aF-J+aZ-KPVkeP-< zd;j35I2mek^(<)3)!`=O`^{VjNGUExK3;N3nK;hV zWA6Vj=3%!OO%#%-cG(ohnrAJF4HjG%e2&vONV1*}cA^iGR8%QwDG}k7r@)Z$^M-Iq zR0e?AE$H=N`$FQf`mZd~AW)*N;##P5gh*qKwTiOCa77R{7X|f~E5F zY;7vo`N+}Wsd4Mx_L^HOy-Ez2TVUIUtY`DiX_%9Ib?uk}Pe z#&psury`UvYDQ2;cnR(OgChYJY{(N9y)H*+*e?b=wp>XC;{aSLItwuP|BTI<@PU}- z$8d=<5drpUIi=260KC+wmNaF`hwPVb_lE)+laSE)#hC;cEf+Mx1eKksrNZKSdL~Xw zxYq)4{@lfCPoE^5LjqbJvj!q^p&;gkU`YN!n!{dZ;5d96O^)muqf3%9LB-^yd7q+*l{tDNXu02DK6axL4z;yM ziCzG!-t73gB~6*~A^Rn^z*Eq8-e9eVMLbPXRwl$xd^a3;cgVSRsb|=QRnZ~cDNxE<4(0eheUfS~!DxeCvbJ zw_m%fB~=;34c=q6H~w45uF#(!_R37i1j4!d;i$mRwyai*o06csk1Qc3Gwkm#P(S)0 z5F9baf;Y|00cZm|tJs{_Yd{}^3PGnaS^+L-N~<38@R-Lxj2RFKnikdzV-3tA?Mf?F zdNOIE5S)HP^Y4KQymMpgN%zP>Q54V zb+fhigFqK+&&`TRxnL~Km|m(fV3dl~%JBVA%uUYPF;6_rG76a=v6&uJPPp!IHkQY{ z{%Oo0A_Pg}8KNP7-OyxoD$d1@q;-$ED!BZP-Y4dc5abCwdEvH~G-Z(gzF!>m!5zI6 zAwj2x^}ve~Q}-m>Hi|vmtBRCH$%2Siz(@epGut^E%^36%V;7Ayr3e~5eL((+{V}T# zyM(v)6K#eZzBGUQK}%K!6`=cpe$uW+=?uRgd#ffX92loQZaZi|Ss1v0d;P&JgAqTM z9xr5nL8(|-G|>1t(_;=oXRBo>=w=|Dw9SRWSZUq=Ua|m zv@p~(o(rWbV?meuiGIAH(T8EUR$$*Tt!%=}K4N=e^$4d}L0hI)VWpq{HXN0(O!-g`*^k{fdf$B49v=RNjS06NH0Ba0 zL;_S3XOmQDZC?iwBjDUQ(X}RqO^X%)@XG>UV4un%;iLpQ7dZd4q60kHfzz;lzS3=+ z4yD2mT0Jh>PtO@^lP#h)BR8}ccy!h((?KA)z|cr*N%T%TqD@#Iz1-WZezKPVIfL#W zjE_0IX1`0wGje1JutEwTNpj3%?jH00hcWM#fC5=>M1#u&<^^>{xY+JLC82YeWVajh z1zjA4kqL-mwut)xN2DK5%N@6!gk>1k-$DjE@)fddG}y;rg2Whh=z_L%r}-w(v+VLt z3wbscaGQI92H|uR6BUB;YIXS$_+@9u=qN#|zp^(Y6|2>9P#+hnI&n0V3H!b52ZH=m zL$k~SW5kLW(q9o=ree-s2*`mOGOk zG@3-4pzV}by9B>1#g@cnG{U~8!Y9lcVnIOPg_rCyo7KfZ@}8m%viqUIl8q;ND6pnG zz6;mIL1S9k1W|Zo4;ne%V~5@>oXKXNKRA5Lka_v<^4?)dUk2ZYd(ifgdP}a*T_%8i zgI7Vv?d^&bW;s5&gQGGmR6#35)Ag6WI@5OrgVW4Ewi%y69SZ=R1Dz!#Ki zinY?tp+R3vu0O`Qh~Pumb7OK!r4eO^G-m8IzNhg2*cp;j@C3sPkHJuTaopJ3u`$Rp zVRYmgj5jM(mP6DKeW4;jK%+B~b)b(uU+ZwpDcl+YeLYF z$15WC%;Y4dWwi$Czyi|25t;SsSU^-TCrY~OqB8`|w8M01!$P!+MJ~VAZ4B30d-F0~ zQkg-q_g;6jr>fLS34Ecn8`jzeN|n-umHC)kxcm}wT9Z?QJQ8N!bIogq1@MoA2SJ(a zz&#DV^sq?%P%{v=3xZ95r@#vt5$qVxGp%&E-qvoDHt9QJy~AJMO-j|b@BB0jtk5VV z>q5)B@;CRCy@?pRG4lP98Z;XM?hO6wXTZ`O!j;$WyFKXBJ>cO1=YJP4&Z}_2$?%Bm zzc4;5bb2_DG+_e?nCVk@j^jkt0bws*Yr2Q_2@PCQm%&!}J>cG-xNR8AY3rNL8l1dx2WO z?P1r(;0<~=NO9CawrUEDGHKnw^+-pI%a9RlAy?S%#c1QDv`s6!P_0hT9{o_TsKR{g zU7ElmZtwya+wjv#t=6J>#LXkV-OBv|ddc1Ua3(@B@AVzmC8pS6mqH$~8t9A|_!%g8 zyDIGUB4RpMJaF1=GR|m2TUbk={+qDSb$rH=9ILX6f zzU7kf;Gsf$BlNRN@wDw`>4}o2BqWoY-*B_AGXb6gjtH5gYdJ{e-@zi6*|+xdpi0E( z2=lEbr)=)iZp9YLES_5F4bG!HJ>pv;k;URi#D6*%ZNG#0iI}l7u=q++kU;wt@l@Ym z2KTitWF9UgxVl5-+43@4GWJlc&ceDU&K)m6M7%uWetX8{8{PV+h)W1LoZtB=fQSL8 zZG0t}*1kks?Sy1-f*94*s)(no%0uoNRM@TeFEI@8qN-xb%7r7_K0tZuRq|+ z|M>FN`*(f-IG|e7xV!*f*K{={_M|we7`wa2qqdBAeRp@7fE&g>g7rS$DXGsb!g3Yb)X4Q-Y=gbwNX}S9xUfP zVs=V?T?|iq<(BrwLlXJpvAA7vJY;(hkKMJ}!*?rPX|EtO!V#aKxa$naMqvawQ%E++ zx0aBt1Zcz@LwO~G(QhA951B(0KzfWep7*9)q`mxkIQ=42)Kbx z^m-UG5^I2ogz626bOptL+xgsUc-pJ^ejh&^isc@;LCl1R)cs@v+MKjMa+D9A^CjAcYo&9du;*rE6?--f5XdQW@hA!G~g7%{0p zylZIg0`i4R6eEDGy$R?!!E(A7n}F@Fhl~|0Iz%wYBt{I(CqqaY-iuJV6zvo&Swc;p z;erOiX~#MCtXJO$|U2W-#8^48Fa9S*Lv z!wwoUPno*Z*PsPJ_eAjt1>qI}Bh4h!;cKGe0f%FPzT~Cp#isOPYEA36+jxkUdKar8 z2$ZZaI%Wh~eYaD$%!pA!fail`jK^%DaTnVK%}Um}N!-^3l;XHOWC7;(L38czo&8gh zq$L-F*2pd7hxzOu6UbLtfv47yMSekrSNS(;di&=Wz*Ng{cD|Rtd1wMnkUskPQS)f5 zj8cIXDtzG)6VOTt#?Y4i)=cre|fJq2QmMfuiq<`YHsqiG6@W7xYn11nbuylm`a z0s!~77H>mXn^+CJq?-&K$FtrWc1~(Byh-b1_;!SALjkVN^vcF}Ay9;=2XbtjBm_Q{1bgrd*aToxcAP zYg&?uftdf#LbeClKqsP9gtD!sd(lusszh2yqBUL(G3^+L)7}Mnvdnq$-t_^@8{Sq@ zF|?BZEM!)b2x~9^)}x^qKC61S@&jzSoMC4#SEfV_@mQQ`qP9T1@Nj86LdK}ui)2Z~ za2NfvkSo}6lw;7TuFOAQ#wa{tz+BAZ1rx{!Zyrg#uVI;QcM0hP#-*HyfP z0AmaQ!x5dOXr7pv#U-~q`?d00%+g#s0M1j(PzqL6o$yt`i!2nnd;-qSttQET(kzX+ zu2ryH5S!~|#|v2PP2I=5k0^9Bn*6Uus4RA{ksh^UGCXK_T<;@ z*W7;@9HORzdm7%>_y?n%cwKXRAjqG>6!Va+(8Hu+dXtKU9|U%wXl>#JT0%4w%vGFb zPk(Lw8nX3|An!ADMYK`$x*fp0Cn`!jWy!6uKw#Z&wFRm_Y#yWb6iWb$Cs+<^cwcSV z0w=!YN|yG&Qmi3yGWxgTDrTTqmHT*hdH(C^w~(!ttP}Ww|EG#);r)nsYIYg0?B!}6 ztihmRLe3sQK(4EKRB4kS`UmoP94oSyk~Hz6&XeQ&4o3gwKz=vw6gx|9bf~ z;w+6Bb#c)2`6LxF|34YHw(P9S(O6VT?2~cJC~tE(xFn5x@ucL!GReZOxpgBr;;bqo zNpmFks6H-rx3xU~_4@BZ-m>i>9q3V|H=JBzqGqQUP25$ywT5FD{FoEApw^mQC~^#X z#&31e^7Pk#ZLL8SFw242B(EmGD!hG5j3kEdkxRN(>|N3@c3tf9nt^Yb-vPmZl)Lqi zXF;OORfper&ypeqMI2oT&&99h?dfmaAMyk4^G_!^&--_N@VaEjSPFOOKHfzZl((D+i7xb&wlfMEk7(8{uuJ-*uFU@4{krYgSq#9 z4Yr0L*C;{b@8Th|Y?Z&C4h9NYjFfTgYf9u!Lwd=7tnJBf-FG8T37cjZL=h5qNK!a) z0Csa{+Bz8h2`=7b!@1d^r6qX&)nGH9QR-Wey)9zc50v-;7O%2FkNIrIH`uQ}tRJdd znXT=)Z?%6HF{E<@b(pX(nbe)URyd!Sp^qj-c9lg8GS@m}K1pny0Rs&-o#i2Pk&g00 z6U{^R+;;~vJV~tlaSHyKuA6MefvhexwqSQ$>*_&QZIy$VQJ${Zl7SvBUi|P231oxI z6yTm3YwXLSV{OlUyZ;ulRqR=6IFJLV)w;Yc&{$;h)BS%*eUJs&gdw~?k&YVInvWR< zLOq!N)L5F~D12;Jx{|a&)=@@%c_WmdsNNKV*7nr5|KX?zmIX?ic+yhw^%sl?P~s3% zgL^wNEa7VoEDMxbfo-!6DQfeD8h7A`w&%XR{$0pS2vswpu7V0nJ3%gV(j7o6 zo5L&xeRzC>ZTknS;m6HNYinCE+m@uLY1kQIpR z3EACIPQRJTC|qWqm`;TL)k0AJ$m@PGwnkc(L}OS0?J7{Udwaz9*YAPsJmkg7NkUhW zTcLRJlMDiaux(}6b(pZqHI1RdzzzL;{m{P3Fs3?EHvW)dvr%;Wg<(A!wF9KVM1x(z z?dR%Nk+>(~JHBN+nV2O_LU_^dW7mi%S!ZFwaI)*}n`FPj0kjC@IP0%!JW#AOq|1=4AU5B&cp2k_>zDM zdnmdHpjHv|W)I*&EBVn&ya)Y1EUnw;u8;TKu30j2#v?`*R~%(DOAt4zsM&hRO~$da zhlK(BI*sHO$YG|AF~R54>>hISkZ)7O`9CbJ+t+k?mSOiVq!%@HW0$LmVsBzE<+Sq* zszLXK9VM%2M{N7xZfPDqnaYP-G-L-p2amXW#Phd^2e&dDN-8kgccxIB3bc^`O zZ4JSS2Uok)@pC}2imI1%ZI9N9Twr97v3TLqRTE)D(u8msu#SI#@Bx{Vz9>Ila<0tU zcmfbm9jrq;P+Ekn)YsE3Wcw5z#PTXdO1r$a;WRs53qoF!4a;&B7#w{L9qta}*}v?a(NBA0LW*V1822B!A=a%Vkcl3bny6S(J=;Mz`n z)`rqb9P9lSu>Z`I6$$S+&CJRHfj0pBc2Ki|hB(!z>;Gd3C6meYT2hKLJVcf}lX#Ssvx*4uDRpcA{1O${ZgX&E3feyQ zQol@-=vS==?IF(#1tEKjy`=;LzvFg1>JygMnufiJsk~edju^bnJ!(O3K@8$Rlyeb5>Jt_*P2*DA%xP<&9A3A zDD;P+sW>FYG5tw5h;|$TA7~7=0#gE|_5r}`;M-QUT7M8{LwT^@7nWcszQU&1mfoF9 zxiv~dKJF@Ua@Fu)3kAT=FN$ZW!PI_VTf(gP+lqts>h_%ssGvR%shB?w#$bUrPQ|#YS_#45a4%jOa;hEO&_ zFxmnZ`_Q<8*{oZW$I$@hX74=G$cW4!qkj#&68h4pq+zeCm|^kIa=FarTg+hi0XBa+ zT~a|w;k!`y z|2Y@dLk4`5JY-LV_r)c7_xpCXJ`I@IfP>786<-CFqXQ#&yM-9^XiR`&9N;7TAi8X6 z&zS8RL7`9MPA{PG2Bzz44w%D5acDoKf0;#ucY_(#)HoWR1@GNpe!?*0RRJ*-T)O7K zwfL1C&x8BDjk5RTw0WXVzBCuliqxG(}LTt^R1umbTB`JqO;qL3tH?M*OFPQ9fV5GHFxP*Fcaf&}pwxs7oU4;XXJTA0;tiruXhAJu1sd zcfni#v<%tqStx?4)`ah92@LBV7!Gf&=vYK*Egt(|54?bl?)-Ij_@5|OFscED|7cNv$DPJS6 z3BV1oI#L6A%u*m7nk-V>u&F#Bv;8E-v=tri=^;xf1|ME8M6n;Wi_9V})XpuQvVAVa zVKBRR2E6ZDIqctO8T(;mRM^Z~MXy&I*sioc7g8Zf7_)LsNG`_HqCB{HS;ayf0hxlk+y6BuYgH3WAsJ0OnMMg7B4yLs`-> zRjmW>5K5pVOJ7+VILV@WME@d2i>xjv`t_945FMTlJ7cdDJI$9}lC*;e`J+R5SOkjh zd0hI(z?YLAGdmjXaOjIw8-Z}AfLdr;$Zq$wyzI1D2wozY;wQr%D|?j~?1%Tz98dxe znR4?r!D?@h*%M&@sP*fUyUbvftFeBS4*~_5QXLxySaN-dsL#ztXJ;=AD(h4tmzMAl z1(ffv;;TSz4gCIwqe@P3Kg_d0AVgb*9QSs0fn7ZTj{BJ4VHY87Uwi1-yada8tHn!Pt2K`j*;(&Rco*>=_r_?us~zCGy0-1+nm^4<0dIl>UnhF5ZKFf?%iTf$03)22zw`SI&5mN{2Pxx!Fc& z*NPzwQH%6>bZ@}xJl45I!^(Z+AJ)S-iv;D8+&iP#m;Q^)B7TY4u3JDBg*tf>X!V$D zK_lPV;iUyHmkt2)wa{-_ARiD#@R%3d_=#ZvRiWFPGblm;eEWd$x;H?ittVHiE&Uhi z^S6&mCltfw%; zc5j%4@g*mis5hklBD~^#8uOS5IW*dh%NEyOaSgr%*ust#^&xo=B`r-Y3uY0Sv7kT8 zx~YMuOI7cf#;{iTQeVZ@8(Gj@qu}RHcR<>f{EJXtx1j&jSKa6kemX)aApTc~BF zBu^AZ)_k!RC)vA7bD6cAH&)a)^CZIrM+P|qxLP%hPqnKp@fU%nev8=(IZKdMJ)q$& z%irV-wURV>wnCyw9UC$wKntnrtJc15=tE!){3G3a&|@Cx;rIToF+t4DS|`wr(Ildo z9M4&)aP5y~@bC9*=&9bm14Rw3IM&0R3j|!_b=@%sK@8RkyL5UhqsVe#+M%E`;=Q;Y<9n1V?H7$1@3q}S(3tSCu0n)^x&Y}2t`08EBwO(0>Z?$daUtVbf>^faeeHn2 zlx$Wia$Qi+tI9+t3}zA#^d?{$J7v3UdJJ+eF5s5RtarY zC|XoM0W%;Zxj!Cc*y(T zg$xr>ilvqj&`MV27#GJHautEo41Py3GuJ;5?NP+Ij3kell^w#_d>=7NE2unX<-!j+ zhv%3V%-Am`RYozcAdmr5P5v?zfxxD*)<73)yl`Hi`shmd!R{}USzc~56mP0glUq-k zLjnI1Fw;X`9&-M7A&azy27ME?Hi6!_W_9rG7Fhv}zIGO6WeC zDSWp#j+2ne8G_o~+5(sDpc%z1^_Tjgj_?>W9pNK(17x;6<%}wX6uq(i<9^1&(>{d( zsP25u)k@dxvfwEu{D^8vRbQXr3$|#D`{sj*1%mrydeF*)yL}wz2L(l}#QvYPGeNQ& zN3!jPqG_0i{co)OTn9MzeGlMN~UVvSPMxvPwSN>M>N8O-ediwa1f3Ct#3NXsxe-3#fh{4P! zYey_|Q43iLG-!GN{r_?VArwnXo0#N4X}d#aaU-YgOj_$6GOAJ1kmO+k%Tz+qrOq4c z$C>H+%G}a`Q3C(t)<}Btrkj8Wmp*P66?Qgf*K^ z2B4l?CCVp(VG5_aelBnu(E}9{keFL{>-Fvu3sk@#=K8Km0M+=#O?y0Rv-|v0cvKc+_0U^4ETrHR9J) z;HyJxbsi_b%Ye1bb!~VO?B8~5M^v5N;TOhXZuDp0qQvn)b+8Sg#jh%nrVa-#b@;CZ z$mb8*62Cska|OM==tCJ`%y2Bcd|oOgSQ`|U&n}(_{n7qPkJ*!8|4iJ+yDN$ zm(Vl=t(PP@lre8=E*NNg%4jGg@`mp+$;emBOHj-OqG(g-axd}f^)ECf^q4&hj_~hd zw(Di$dD10OgW%kFs%M6v{05+%<*aP4a=>15&Fk#i2MQLQD1(Rl4`5IAH24XFKgMkR zLj`|4@BaoLGBSRSQuar8j!Kl-nf?D6NCUSPL}T4`h(i?6j!@ck*FpNi1vXS)^B}8N zg7(~53twlUFqh1$hi#q)NBM^_TegvcRYhcxyiPxJ4@QB2CH-tEe3pr85zBiS9hyp&9W`}{49$VL_3NVjb#jk}eLl;CT)1aH=F zI*Gzq#2>{*!nosmaK9Q@3xK@u<|n92nsVtt0!4ZbGZQ2j33efr;@>_{<#GPeWg>YTU2G)xtHE3UC@hXy)YF6%cX3u7_oKgLV|2%*O) zkYx?>dRLRuhg6J%UU%NWd7*DU*@&QqcPqpOxY!NbK9E+NO2tek!K#9f!LdrWGg%*{ z>gA!diOx+4!<6uCH{TBZi1eK_z zBY+o_y$O2G_AjmyR>A+WM|o)!^XJ`c-|5eo1*5P_o%@raK8+0$=$b`jwiUg&6e#f8 z21X)-6JQ>6KjuIIk32}HG5ZqfCt@G7rnu^?8wxQ6C=e=cYj|KK<>~~b5Cfy(^E97Q zAZV%~Ly#c#$RchPNSuLtiro@TtRK{*tr;nD^d%BZf>!s6?mrMD^!VK{kfCr!hNmn+ zLaJCxC(`@F&fE7AuW#;@LJXD^pC{wsDr2w4Py&=s2}nA3qpElTvC#zK+5OIdKZ+!` zJ$Fg)Kjo3#8K_Pn7-ffbc+zgnk6PIqYpH?S3y6NOKV`}ozni;fz;Da>dZ_l9w;>FG zo9dL-#GL;Al`doN;0vKI42*&MafOql<11@>fod!~S#AcO#USbi6>F|b7?@N1VmZ^G z*zWzI*BRYY;J4-cJS1)T3|lA_4TePbYIia*V-g6+taIgZG7zM!XcnND4Tr>+GKYK3DUWpbmICz+o5cfWH9d?BBv9|fe<+DCNH zf1j)QbXv{hy`}k9V_q$4k+b>{DUpvb`t+)rL19$P<`JK;cQS6Ot1R9k<^!p^>MDX9 zC=m=-ohSR-zoDA5_T&O8>*wV$?wQ^5U;Rub{V*m^HEWki_S8Qisj2{FzVZAY&siBC z61o-Ctny!FG}>=LJt>`M@yCoDC&h+7e@WYRHUJogt=LX0%_~S`(O|_puXoZb7j;0? zSzsQC^(QBigGH+~Nqk%439b{XD$i;Ru$dh|dHsP59iIE@XYQLPFb`6|Fjgz`kSFX@y+S4y+%7phNP67c#8=`MNSZWaYl} zZQb*q5((+{qIQAW3N3WJ$|W7%D)9nLTW2{@HP5R7gG24^XK=~_xBm-{Js7=$hU7;=)_ z(WH#y!kGoZelCG#iOHTA?nP{30F`Ao;%*wD#cfSoB>_^SIJ{E_W1__YT+pG}%RG{Q zDG|DF^EOsPUM)H{L^d$V6);RH2 z;ej(t0lXyRxS{g>{wevT9R3`$bsg9XtnQDQgDhv6t|Ax)Aw#(j`!2dUJgN{UZaqF& zR)E%+Dzk-K`&M+&A=K=BDHl}Gz7?vxV%C<}$Kw)+;cEY5%n)ZQ6zs_ILIrsfA$m~c z-2api9a>!QZDBSRW&yVp2o3KLD~Rv>9?fyZUA1{|hyj9a_XnLW^w<@26v4=YRt8Mp zW=6-pB%BY&504P7mbB0YB>)Bg_16XlK~EMau==_+(97A`&@lTkAw-A2dBeI1Vozzr zppEpkYy;`@rmi-J{tw*ynRX1cd-B2Y&JN z9QbW$bPO6$;5KRzZ=83qk$6EKM;EFfWB>+MI!Ylly~7MpEGQxuoY2*ppo@bWaaxL! z$ckplIo537l~_DtPl4ZN87BdgF0!u`pQxMZffT2pAl`*EUEzk{*5Cwzf50HJpvUvd z9~UW&(Q{etqjXYv7g1sKQO1%e>?EnV7~=B-Gdw*5ew$>RB915v+N)h86h|73N!1() zI3x3f(!93X2m`8}mkwwxZ~q79ll5zp8icAjfqW2~S=Jh@GXO>PiwzK(*?RpFM%Es( zXTbI?k-PE1U0rVAT z;8l7@!PTnI5uczAvbxcn+R3TU(6$3|uHAk2e5JIhwmQy~f>uh)q{I;I@Z`~Ap7ktR!fR&04>2sXztYoH;%hNr-9+o}H+vR$Geh64lRWMxpU8%zpfFq*ZVG`t0b zsG7_EIKSi_W)(_^k?2a0iB_~!@2|yn;E~W=L7oz zFBqZ$O)VEkWkWWGkX`ns+5P=g`}~G|$(V_FB8dIcL2d+AF*FyNc-uB|MW zJ><_B%=~+0MFd?xe&@?>iVKHxIu8um=ZNncs0!JAXWCem1|a|8qO0ioLQS);z@o>V z(*Jfq5W?)+pUNI_`(wn+CI zSvWDIjX0%wQ%!YD2hyovy68;)+xBXz1O-5$kiT_-^MnW00F*I1idHPrl~4c>4H-D# z?^l$y?MEy2>?hk+4GHRfmaBd?&CSOm6*v57SraU+E_c?8Sl`4bB$>|glLRg1>M?&i z%ZG&0gdkpZMuK;ewSmCt1+RO&n5Qp#>>I^vs8zHo%I1ulB>Gk%1Q*aDy5|t9<|KGypFGQ`nOtMs8G+x!s}=B->j2isYg+G@7iF z)?sd%bXYBES0DV_piwiMO;A1Fx-QLWcq0i*REO0Cp~Qm6+&$*}=a?;#p(X~;Q~T#E z=kknzDIlR*q}+*sGa z*%ik$NL$*9H8?jJm5^06Nv&vQ6HkGkf)6R2w9=&8Y4?=9;zgHk^@a+Mb)b6WHJP3U zREy|2vP4Yz#_#8xE_G5ovZ3aeR}fK|q2#EbZ{rXQvhZCj-}{T{WojX$3> z7%bFwh?_lhT#1{EVE0ax;kxD;AT&A+th_?y-+P}9c2W2dINe#>>J?(<;0Agj^ z%3Xw#n&%UhwK00o%7Nw6F)N+qg=w9@zIW!XXaOa^>)_pCwgdiHcn7*V6iE=(?oqh- z=iUIim840Ag}G87s+y>Q`#XsKsWhCS$5nv0Yt(a_aaD`-)-P0k(Y%XMbv`N>-{{*i)l$r#CM{_mOgSSNmUdX1HHx*aApur(2$N)7#gf-_ zctzkOJB6UVrD8;)U}F!fO5*CoT)}ifhXXk;s{OQ#K3;cV`0NyUqdF&^4rMIcuuCqx&g)n=8gei#K1om21 zL}6mwUP1g7L40y<914RRN

IB}|I6*7OQ83HGJ^+_Wq$~WiQo2#N(KG zML!#ljF1JbOjtf?x>n>I-a#ukXc>~2F!X{g39xSm7nN}a2TcnJtn_ z;m9|5zMN+V!!(Ri?F(EZ#DRdiVzz1!zokWoP5|%Ld7d8gM_E^nRt6wK$foRZt=pgY z)AOJK#M!HF#SoeSUx;7Ut2hr44z&cx@0bB1(Fp=*Ue6g6+r`vOv7v?H9^}v*g(TO{ z0#GmcU6(u$&X2;b^n;ZF2r=ewi3?iJA41GsjFc+-YkS^RsBC(J3nK!$+M;F3v&4i# zS72yjSrftvdI0VDfL{|dQxIOlWuzp*7Z2L=;3plr9AT{3%^wuV3J$}aeYt%|Qz8ri zF9KT!tN;-fe%?Y>SWt5d9`ey+27Yb5sXtI&W*ISJ1)R}?_0rCMMxXCfynD>$Gv>p^ zfs8^0Z5YKqfg4_{$7~;Oj|ZNus1dpf@OQ#zn7L!<4^)athsB3>L|nYJhJ(g;b8>?2 zvPWI*;47Ss7qbWbnF-UuHJR7FbAAP?Ra%kARMr-@k=fu9@fIRXlAwi&jcY%{tG$BN zZQ~wb+qWL{kjl~LA~Q-~kcG_R8BAoN)`|8^_~}laP7UGj*&D*;^NWgu=|<(-%?#zB zTD?32*i;eFU12uh)4BlFCs$o-9kQpasZj6lmpz7smf_9u$}V{-{KN}ezWs?wLon|G z=ElSY)_ui{`l1wei2|xNpD=b}0|sZumfX4RxUop3aYgsvF==#?7n~$M1u$Nhb~cne z1d5ktTCwCg*MU|h9G?=&IAs6*b7r0J@tk3wDoK zIQ?z2GIyv-f}0}e8pRB0!Be3WW5Aw&#(cmM{2ue%#1@4sXuu$8L)tr zwXeNHqAuJGThq)b<{610QR$1F+# zuOayaN|e8b^vE5|b~X;1NiVfXSR9W^c_s9F=Yi zYS$k{M?4G~Vd4NJ%QA0H&*4B}4invu`o9K^F!qpB18IU>Y`BT%>0&95Ryk67bq)Gy z0xs4+dYl3X@tjdeXFcae=Cl)OdMcD|3=Gzfn9FHm&~SiEJk=m02^2DT&a6#H2UQ~j zpW6XoV1Ltc)yCQ#^Rk^k`g+L(e;}*AQOr#n?$t zv{3zXbs*BuK(#E2za}3ZboZb?t`4XzKVL)pb11?Z^>lJ1eigP|7hCSDn3?9VcQH zjS6*9MDU$mtk08xqj3fx4&|;g+6vx3?;%?1Wa zcCT4$KH$h^l*Bz|#O(We3#Z5YX^J@yHwPZ|oZrAa+k08DNG+3Ev14%-ZE{iJp`z z8cYTW3y~Twu#~jEL}0o*=ckF4h+-clbla9!k?Ay&1ahWzZWZ=@7bl62fs)>}*M#K{ z!+R;!Nx0opp>$&`j!%1rBT`fXneg8$W7mAQSd^myuDmtCj{9O^d$D9s5`(dCJwHQ( zjwccrBlPZcMYE1a6EeHsMG(NnwP7l(9XYTP@l`qd6&X!H^=re5?J zyWz9&xPaaXigHMp~`i7w&;R(AGVM9&fAUm$FBcP$EA z7HQN2&K_{v1LmhZ6iG-~%_ylQARJH+)n2gzK*rayZ0l;TF#g4?a3TZw6wnqi>YE5; zV@FlXiWmUTH-||gw!h}5OshCxNoct};&Rk<CD?^n+cLqI%lVZ7x^N#m@e23Or@? zb$^ja`~Ve*9(}T?m^5TflKA@gR3s!bA&arxYiqu7YkG+SrijbOq4-Z;F1cT#1tWUa zrwFR|BTiY6R5k;!VBO0lW!8g!m8tlt@^XP&nd>(_0`b3C)!7|XaKy0^$^Q7!h8?-6 zLtAA>p=CtW(MC}{hrd>a!H=r59m|&c`-t)VMKLz92C#_9AJAH>7yF4+f`kGCGDswg zI0I^E-WOc=kjEA>P4(e|qdc^W2ta_qSuCCi1N~j9yFwm!Kmp(#Mn3kxpob36u|TiY z0_MpfAWzKDy2jOG*lT)^IU}L4J6o@qhsQkcnBfYhqh|+dl{D*CiX{-*c?p69-6LGW zK_VuWy}>RrXXaogF6O5bqz!LcSxuLH0548Ew3xnBzZi=O&(SR*tvn7WyyX@1RLqt- zSImq$PQ7*f1qAVd-ETfHPj>eL+lJbj#09;p=0F0j3BUU+^mer(Id37? zdN2k1?OX)PsM2+A_``SI4NYbw(&88s2;q)(9>_I zAg+UvJ>;^5OtttUxZk`wlD2>Q^oW6AZ%%Hn;0#^}l3gL7k{YKX%J>4)MtfZW*6|nG z{U=W<&NA#wtNXmZ>xkcZ*D9qLSpWM|J_YydQ~vz*rFogf)&cY(J;hY^DdVJ)C5hKG zmHZ}_GDhaywei~|d(atDaVj797=pIS^Nf0 z^{ei=nkq%X;6r74K?7>%uSgEwD%JRQC33IE=8jEW_iR!bB^0C=b!kL|vvp}ePDVyr z51R4QDww4c!$x3x10lB@Y9ssKT$rpw#F8ny6!*2@OVD#=S?vug3ha_Gl96_L^jR1ZKZ({u1{yei-4pCpjInIya;U+Q+aK(v%WQA z*0_Bpm!-2d6_l~ZoIK|Iac`XJ=HFtT-*s>iYrssq7Q{BIkb+Oc3S`v2k0L@?SuqD8 zN_-vBfh{VdAkK8@d*GLSVSQy3>BI;r`Nj+o;IETlURG1j?|doSvcbfo)@u5#VYTup zS@uJFKds9dOluXK0tTDCpZcO9S9hS^UK>4{`z1&w2I1W;U{wGA`XS?i@hxjJFsf*K zNI^Z7^0ZSJG0?hYx`62^P`*$0+#Q{UqEX;1cM=vVD88+aY+hH$)kALEopFQ#(p=iB z-9R)a{wdtG2nT3RBZUaCNadV;MeJzEi>XK<^p2U8Ar-sJl&umJWQLWhI(78#l)VMe+lEm{ZSr>oPJNDK(>?J3X0&h^&|L+YRVSq642Az0Si zlTFfdUugR@rPwvBrBuY0zvoXho$3NyI+hN+CBMGvjOO_-?)lFW{ohBNzk}c{)5v3+ z0j`Gjui=cnX!eBwpagH`7Y6gkYe7IC=>!#^ma(av{a-Mv^Bb;v_KV7XKp&gw2Z|ms{z38*40_sCU3}Vl%j|bqL*QxNd7uz23aqg)XWTNQV(CQP$h%Xuq3{-^dzKX@Qy~ibOH{cYx zmq(*lQw*?ZS(+u_LG_HuZgK9IU?OJeiTmXC+a9qez1X*i(@FIms@_r4bafKz7gq(? ztpUn}vNNO?9>pk>Mg`%}RM(*>3P?1oc#D?j zOdw<`BOrb9@Q7(~%I(NiL2f92k}~63|e`pM@7$F>_I%jw0M$;G&qcBMNwU zzDx1n1#CwLY_Iinus`v&cmf8zIIv^`oS0X@wS$>=%E_`PCg4iTxJdkf=Yv1t;pr}= zE#P{hPx;LT^D{8RslXb9v*pLT!<7?3(l0ds_yBP(F| z{G>bRKi0FZep))(i)}JI-KD%=6DKabKx-HKgs3liE~6y8kQ;W4UpT0V7(Q{;OYJYskWh!OMK5#@+gXAVzyscf&^`JTYi`+%^O zp9~#{79`>-rq0!3Y^pKn5)N*sW?Cp6*iJ zB5p^-nTmP(#n^m^o{E<2)pA&q;g=Y_PF?Inir-cgmSK0pQ&QMrkcToWmadkGTL1vS z5-MG#v2X_Aa!?J=n35oF=MD%Sp6}A0@9If%hpPhjEOD&i z?<{j)3aa?%t;hoh+%IlloMILZ+uc^lJh+s#)qYGNXzlV?>S2yV~QE^Mq{;8lCm; z2`n(Ik`ic=cT0H{ooQXh%>FFZ*e8fKP9E`yt(#!EN1w@)7Kn&<)3JQ|_E|wN34zs`_;3aGq^CXUSY zVTY(YE!*!BPPeNDW7Ze&_Xyy<30}_~9h2l!@9Ft2r!C%en$$D!!y_a?lwza@0+&PV zM29NhLZ_p-_$R3fX_PRZ1PwQnEnO5+t*wAlvBc)m7*^{bWJ$nwr0nPR@%?K%g&c(k zoS!2>Y$tw3D(8`#G!3(5WS2Cf>F1fD<`I}jWJpGL$itgth`AVQ6LJI>cja%!fQ>;{ zVhr{pMNdz7xoppv|Ly+}vV{to1}u%lcSlUJH;3F_;YIW(VtcY6#(+f!zs3J&AzL+hROpcY)^R86JD-c#ONvfeZ+RXM)!`jY%I_PBh-ZRFhZUvyT1uf z7yu;7D=BC_W4qhpax}qa66a0(1C~^wD0q$kXp+GD^N8DaQ>3$#XhnVA3N}V*_KGY{ z7o(^i=vbUa${3=%@;N&TZFl=Oa(gbGKQg%_YXy_An2 z5L!eY@{{?rQaA+s+q64;M?0|!uR^B)-|K*~-s^%zZ$&v{xc?E(p7NYsqD#y8yUR2U zEpi1sF_ma5V9$G{e7t-ADPSb9K=NAQ1!Mn#t%DCKRP?}(QA+oK?T}rh4?W7YwT77_ zH-h9hGO855w28sfUfI)LImHJ17%SELKbQ^Z9Anpj3^wPw-J|0vG2O25e0r&JjE=z) zA+!j}pNNy3*w$78QffkU7YX`yVH)8P>mKolJ?)jYN8Ha5S189;2v*(v7NP1l5xvEf znr@g@XA%{sOUcGMq!<33QF3c4(7`Ht#2NHjNgop-2nSJDr=y8bNAeL?44(B$-wp*# z>YrUxvTL&=xdj#!O&ytr;u?;>ch^7Zn(S4%lIW-d5GB6O&!OlN1mWgwGx{mUCHJb! zk;zp^`WH8mB&A&mZzHB(2x5Od(JCQ&SSvRPALy~FOux`ohP^FsA@uB zzkt7Jusl@@4N{&2sL(Zomijznq2=uhwR6{sClGp3T$=QZb5LF}K#51+C9yg<^i4UMA0Z=1ZV%Am>PGOmb|Bo+KlK(;wGJ!8<#)l=T9LCLzzBaU0d zM^t1#VJ;XbG-hSUW3?=TYJ(T&&fnOqZ|e^F*&lF*<+^rd z4A-l(Q)BdWSNAp#kiaoRgPMT`jpY)wEtfb0-WB2KR;e;W#b;b1@wv(s)b8yrRD3aw zB);I(mIfWJUKAz%Nw~vgI_ZpkJEpljVW^odhY_QvyPCI+A*%O|2_5iCb zOBhSFWv(ae*{-%f2Rx70M1;dxWEhrxj%+10+?#J?4p$5LL_*)R|)1Yh5iVgU+oIr01~qIY|a>O!!j zNLAX(ir9)XmaqOSc_+)4n3HgUmx}*mC#=1%A|6}B_4tJA@d*d$n~>n_A{JRo0sEw+ zF#|`4W(yekQ7d{9Gwc;Gl${XQ6vf(rqJZ((9L{nG{=f4ID0;H1^Ur7EZx8WI(nso) z#8V2Y?==Aj4~#Fo*t`P9*DLuH79f7tRm?>1!iP`~K7o^r9v9I%fXOWa)2HbuEES?yW-lH!&Xfg()M{{>hTm?>3xbAmJO(W8qbmAiWsC1(?C0})>5P`;)%nfI`lOKxY>8_3e)+45x zEDJM_KX&$r;ZpmSe$tu-huOsB*{+p8ALEm1G>bW+LW#|40SU$_V#a6?4?E5W<0IlI z*AXDz9t;5`gJ@yq@h^`)BbM*cFBDV&K`gK}+o_ z!PtZYED=Y=%iwY@=in_~YD_CVe5O(m9r2Pld9rIyvSU7x|2|$Y{qNXVIx~@dh`nBj zZv;8-J;@n32ZGV|N8@_Fbde|?`;F_4(!^V^dS6%=2xs>t;i;~TKfQDPq{nR^1;&;& zG?P=6@I!hMO^&2Pw2L=!6lu#0U_hbY=fQGtb0wd~?7FFjM<5_C)pJ;jsjh3-GhN#= zUHKncjut-l2(rV4T*PlekfllY*XB+`cZ6dl4ea?D~<_8$81^^W3!fm_Kk~UIOBePfU4cHQ`XJ&rx zF_H=3Q%3hfI7b`lsU z&TC-*g?JO})A16VN?vU+XvW`hn3R~C-xSga2# zTM&O<-P;m3Az+*l=c3lXVop(tEEe!ip&;A*h;0CsL{=XZL8;oy^4=Bc>!1me5Is;@ zuk3T}FOmOG46kLMcnEg6cG+nxIs(cHz#A2E1LEW%gOwi1m2Z50>`jOCSXjSqAv4W8 z9Ar%9Xx^t>%xf6*M1YLCM!&SkTHIMCV4)9eEXfS&h03F!7+r4+c~K9!%Zu9QJRR{R z=UyW4i+sp;iTfxy7A(B)kh4n{{Pnp|sl5LVZkNoYSy4<$NWAo*wetLZ%4(>yYcMlz9KnmvwDW{~&OpAc8^qJ1R!c ztfnZ2x084$u3^YF>VFRtyH)QQ?AuDkYtLyHT6B1Slo$)><1OSP<%;b$8ePe5ERYYV z?rR>8;tH6MO6TjInV3t#oh+;QLPP43o<#9PIRaSpw`tIESFK9T4QjU2`xbIUXbcNyAQ1y}QC7(Kf()4a)_$QMYWc>lIJ=a&ciKmk6bse$7V>{pgrJg&rGU}p%pzFuJZ25Ah;OBh%S$9G`J<*`@{@kw^0PAhr-m*2DG1JcV_q!@fcCEFczALz2rL0p8VpI z{AfYuvE&@JSkoN*KSR@PqA23G%heqBWA!;9C%hbRx@#s?&mD; zCAz7M%9KB6I|6{>#=iUday@9|mz);jZ;W4b#WP@R`*Z$}JbD(NtnUFXAZ7T9U7{okT&* zBIDb^V1@pYus_I)&FAjoeZ7U47-d+y@`Y_F$@dM(&)i3{)|Z?l2*lsyA}P%2Pp zIXvag`v6%RkPk3&F*WIio0t#!Cxf>RIE$$W)w`7oZ&;uae=^yuLKL;Y1EXcYh(JaRDYH>0uV# zmpo*9b1#gp^xIQ*_8zh)z?W3<-$NDxvQn20iGa27KIG2#J)}$@y~YPQpRcs42~zQB zA}MrU;u#kw&l-lZBKG|EvMQ+Mj_fOJn=V+*9anptxgCx^tF#gTP*hEj(FW*U0#gHR ziEZ`QSy?V`|KHepnNh#4WfayL*j(`neQc4{C5uFwgBIG&6XuTqJ4|}&Sx|l^_f8OD*mPL_e;Y`?lhQ9c+ z@6g)UBlf)ak}Bw}=b2OyvsOaVlX$5?4V7E0wc-+jnE2Lobb28ZW2N&d7k05MP-(G@ z?uUY+nitG>N=X1-B6dHhAKLJ-de(bM75P_g5DFoTpdlwPLUN2LPK_kj$QDUW6z>4~ zgBkNGxo^L+LgWuXd6lifA_v)aR!pMWfd6GE z>lJiIQevG7PkCu45vC)Q5DlXXB|59EP)CQ!?l%Q!!4@eaDMQ)Z(8LwFhtd0Ng@ul> zunT1|+z`vc!o*1xAi`%Cv9zb}%LWhFGhUio!2gl;ST&}%M3%7a8M```oq3dW87Lq% z=4XNd+Ok5%(iAllt~M-6@$U}dRuWaf%@bbUIfVc5rrwadB&9Si$HE=@V~lQ6XPvZ8s$%jqA6jIs}VT*iY`rS<0J!Frt-C5dg`R>%m4 zUS)|8AUujJ2a0dguDAJvfEAnPyu33B|07ou1{iIf>>?6!V{gtYNIF|Z909WUNk(&@ zDLJ2l<#7{Z3{cR88Hqk!!0UA^Jm=-I2Yj+^^v>y)H-#D1R0kn3vSn%RV{zdUSQMV$ zPA;`7ZXg&)QIS05Ax3uf;o?USD7y}Y-Hz?Ty_gSYKH3%vt9i=HJ8k}#!i~$#(mXI= z_=jxHzcdMgp0F;r=ywGa1*A|rnQHd!t|Qy?r7FwPoRVCAq@A_x0}e{@Wrwf>dDhk02fb ze=oWeoD!zS2y~@Irhqqi%~eniHLRI{6VAwGY4qCtSl2j6k}C-F>;a#~ZodR<57J?< zT)2XQSTTw@Lv;&1O|F!o7AC^;e$SCl;8?w^A;}$ z{jcMFb~gd4ELAboda8ZkDM%B(a#9GZcOIRclC&s6nG9jqwjQudQHS=Bc9mRQ+6ov% z(fxpn2mApAIh}~#jxaTO09$}bOmTP+YZvI<6rKfs!t;pnXp^8m0Oxx*jh{sG`WH1j zeiS!DwD)7R9w@xI)k2is3fu617jZ?sV2V8k{>w^}?OwxZdrE!(xrkwCtU;g(=GO0v zxGjO0=*vD2*i+ru(IC(d|MpB|{EpsZte1{ntq#m;;Aq;b{=RgTWggQv?HU{o!b?{_ zXf%QcAq+Y{Yz#bLPjzF5gB;o1zXV)va;6hPc)+xPV9f2R<_k{mMgj3yCY>DodgE6x zaV$&FhS{c_a2;Yav|8OgTRdP-b@K!Gc%nx4b|BGX7=qLc=J42UKY+2w8poce6j$~$ z44aeUL$0QNO?1_lejUhqv^f9^>7lWB{{e$x57<-PjQ=j+fcA1{U(m5=-Go;eMWL^0 zUw3qQF%V5-0Z%~DYHXseZ__Dcc<7;mJ z3+8%@nrV?*AsN3hxhKN43}ly{4f6ax$Q+*PX8mUYlQ;x42-^MkQ8M+jLF+jEu2>u2iFe&L!W@B9jn z*mK?dU~!-E(PuyuJLmFa(!=BD8u=QgFWc3f)_&`P%_d`XP{jC_oq3{yl zb{`E=dvZ+?dgBpTjG=1ckC`$pqDWw`t{^@?Y9Pt2uz1=+J|d0*vL3r1EP_U~oOWojKfOa93^UP6N+`o<&c=YP zq44AkSeUieBkCfAv^&>&;T6h@(p;fly<=tvS>s8Z2|y;JN92H_P%O-?kg0)_6oBD8 z)jWlCm4XUw@m>k(6%*z{j8ZfTn98@sfgKTI!7^J7lV3 zD^q@k{2LgnrfjY>q40xt7!f6UAt@XPfZcqxJqGZMU3-}?(F zbo+YD*<+5|(Le~{dvN0GUnt^)-mov6Owa=inU1XkNx{W~81?{tN9$0+c;z(&+SF8r<+2 z5lVOk0@rggn7AE{)-7c)Rj_JV#=k*^M|RE0WElSv+#^-P#V#FuC`y_2-`h>&b(7R* z!bey!XL}Z7Iy)YO99}~Z)a*UD(kF`8V{RUE*<#Kt?SI6~?)Jj@hrJ5J`QBu9gYyg0 z2(c{N(*|TNNp(3OQq=OB01?d_&?`WyCJ#ATmI8aF&+*f&$86WGl`u=3`PH|Hl3oFi zznu)b6%HY1blS$_=4^L{OKd1pHA%ZB-zeN!<+*)CDZ=cm zU<8*0DSgq9$Su2WOYRbjVa+zV&ejk!p;tc?GK6}rBfWpGQd69s0JSf@uek_n^he0a z+0SgcBu~XInUI-|+1WsFK0DK`;2Z-x7-h(cqTW-?VT{F3QxJGa!s#K{Wq)y8FCeqI zuESip=GwwsNZ!dMAna%Jn4b(-DL@ZsWPnPvVP*Z7h3Hg*zz97h)h@!Q+oxgr32ILQ z08r)cs~M{@E{VoaV`V^U9;o2H2f0m666+Q#v8rQQ{ZA=X{O9Rs8$x-FtAcx;IR}u{pI-YBDQPyVocE~|1*9&?+6ZBM-I}uj@6HH zLo60v03TzK;tt>;1K+$0g2Io`JY-LQIelDm^CX&YWtlL9AYU0uCb?r}^a+a|MsovB zAl!Hu0ri7~n_ox>%8PWT6T-^^HU;c%nJX(~`4Dr-WiECEEj(i1J%zypAGVA4qLd(D4uh1>UsQv4RF99l?!hM%b zgB}AwuI9+3aeBy>=&-0>L??#|xnbrwNh_q_*)P{Won;2Q$k%x81L0O(2oh#&;ht-_ z6sX5W?GvO)91_0?H-CX`I;Awq6u@)+F;|(EG$){Azi4f{4m02sM(E1e@ANPQPk(t& ze;|F1{U6j@s~RxvO&C#A%N1nHWP_Az7rzkd7sWs3;Em~gd^;0NOkD5+x62iCX6;=( zm+-FCt{2eWU$(Wy@q5^m`f@J?&wu&Je}$>=DP~Ns>4qqR?3%Qrkwk4l)gQ9)q~Ix< zZ?OvxXhl&kVG94wx8T^r<|AeLox!k^g3DjD+nWd7`+)oOKe*$1M5~jlMeX!PgCK?cJbaG6ZHs=HQ-7kTxbX-!ybmtCyd4eP4K0 z=<|JMh$;G2g9Iy`MgiYA0uGk1I$8r5Cj>k1xZS>W5n?=4 zOLjGnl}p%Vf6sD?xLaMsu2lh}f$Dupik|(-p8f1`9?u2-W(7h4RzMW7t|-K%%#LwN zP7EqQ0Dyru7MciA+WhM*bE~jJS7ur@hP`hUzJq7%NOFl@W57dNLZMbI*5SHMDSG}Z zalhu$5yF||7mjUs5ZE1ob*{P0L!io#Lk$qliA-(KK3M1dg=`5$?ZXLjAy3@GR4Pn=0Eub{C$vHn) zGxP9@rUrXrXXD^GTkHyUb~hxgiK7Wtmc3z`>Z3VUMtL0#Pk?3b|N0Txo7f9gK!3pY zfeMkb?M@2P?Pdk%^OsRc!Ey*rOuE}s7_kz@V-~O6;`xsZhvIGUB6CWoQxV&>331Yk z|5q_2MbCewY_H!h;}_(y;%5iR!H7uQR5|LPAjl6V$^b^e-mq>@8EVM1S3y;1Str9X zq5Z}8NCdJ0hneO)ToUl$7q+gB97@p>V0jW?qkpTX1Skb+m`_L+@qIQ<20GVPGGLO% z4fUmUDm^xSU1W%~>BxYov~ND4dlkLM=5M?jmdJ_>-YTg?zM-^azA51#bx+yR(_d-- zE@C`&q@;lk1eSGM^M~MGM5mJOWJR2$^z8hx+Jp}!Vq_TdTKPoqbWZ2Bu@-@AmJk?Xmm>63@q?fNixIqZOelm{6EA)o#l(OMKQZ4!&htF7LksR*L zsakBjz%Rz9`h5zqRbwPie&tDiKwHwOT}41e*f%-K;`BZ}B{^cvUhFQ( z7s3rX%8XH+y^xY;zZ$lX)!F`x7@Q3_^8)+eR)q|FKB6(6hdCHQgZzrkFx<_so#n>n z#)>>vZkSRkWNy^amp_l?W#E+@4Eu&IWWl^z%8-pbWKVuIZXqWr?|+Z^w|Onn;?FM) zKWU86inW6>AiZv0EO33NKf={u(|)mbTX$y_$qSeuD{YM*_ytzdg{M;T+*i{caXAh0 ze~Y-4{%$0wMvEVZ>wPryMFq^W65$*aCEIGdDp!8Phq0*3T;S!wP`9QoY) zAbaAgpNVfA=#fV@AD9X}!tYI4#f&hM7gbD34jwW? zd^`mFAoF~u_t&u;o7LorukM|n-99Jcx;-2ULB^Ruaxd&sF9@(O=-Ip{_WM zO}M=IW$$ReL-yQP`}UZrQxA`sdK9w{3~d-XlrCyZ-^2@3@H-C6k}8#KoEggI{?`!o zvwz985LV|0478vZL(DXbYbOPB&;9~mqcLmsZDq=y{OaEMjdrXsmQ{}%Y9g13x}qJ8 zi8Ke`7R=pw&Oo-%lotC3TZe6m2-Z~1U&Tp-km;SQS!qjPMm%Ic&Gv2c+UfIO@NCMS z{Oa6J1{~PK=mkq$#+!+aKG3q@2p!}gn-y)Kwe^@KL~M0ur86xM(cYOHMQ?{zfOdlq zJ^`J^xfZD)t~CZVYbhivX4mZ@0?AH$j~juhU;ZQt!o_Kvy$TJ>Et&C}-t1K(ThQ zyV^x^*_P7w)(;rXU#Gu(FO%-y;Ze2|Fo?4@x4@ zuCb^0quWv@v9~s_(F?1*i?Njs#_}!1Sr!dAXaxFvd-&7&$;qW#O51xsov-g9Cx)F@ z!g_SF%0dm4&0m(#)C35ZhbVk#YDy2SJJ}Zx*tf_B`)OTvru$uk3@hUi;$9knR78r| z{(}JZ5+O=x)cA^WO*&i1NN zW()Ii-_4VyU_~ennQiY^k=L+8?mIrX_nKr-d2wDtqap+7M4#*6G?3zNj zqHJWz#1gaC38{7M{-{jS@W>t%0-XQTXB0p_ z`YA~@4P3>+GQdxM;o(Ip?+r7EwsZ}Ec;Ia9gE?qbE98nadswv=m!m(wR2_+NH^0qtMV0(%Y|tn1b^U+OKhYtj`pi^)>SIouDaoR}so z!bEF>?v(mMz}U?Ncg{{SS-!{Dbr_x;2rXQ#qJTz{(McDo2YwBUfX{Us!Fe6@1Ctb7 zsI&H{xl&J69iqq)AcowdEGvlyY(Gqvok)|%v7>__Mq(0CnRUJDB1KvvXe*K3nqsC} zyO@CJKxfP_m6t*Tx7t^F%v^?^2BqOLyQW=l%!nZUh}r%&yt(afhrP^(rZkVaW6l#O zHxzSEK9GRP*~CS90bS@~3QBC>kEHBT6|@SMaVa0ejJet0OUy;?kqglEQo52vTrk7j zV?NUokC0}qPZJX0fOn=m);bupj^rhqV^zubT~`pMgdfnmZvpKRu};!nLg%hC2Ln+M zKV!yN% zGOjYYu7=wcT@^ClR#~H4Bz0Z&DM`l#tCf$Cf5E!{Vy2}U(O#=23F+V(C2#6W%UqckfA?`|d&u2G?t94gHk{V2R0+`xv2PS4;AH{713DQG z8DYBF+v3NN@8*{%q@BIdLR4CT+SX~F9`gKi$aa7m_8KFweCRkeX-ZJoktPHQhx%D7 zL+vp0$1ryV8uNNdCQcB7xDoM+bubWhVQRp~WTunWj9SRW?h-059gJ-YkEn}IV!qXEk7Z1C3Fmw2C@SlGD29W z-YaAj|LkY6kcafKd=fT!-Cf?E?p-0rkF(qk5-GU-$yWyM1;t8`tD#(mDw0Z8NJc@L zSuO#&LI6w}RWH}8$QKSPz{b$aLk2nk4_{aF((j;DrR}ti%+E4APtVzix)5@DLS}pf zqxgHsK#Hr9YnFtQG@K~tn0ZsUAosNFeS1NB)M_WzguvvU_fN7&fp(7vs+i$o&WkHj zALM$uUucBbw6GX!`|0*QYyz+`2m(VLUD9=0{fw2 zh>JDSV3RS%s|O8eV6Z#|9jK#RT+L#5O;7OwasVY(=+3!(Cln-9UF?WzCuQPFZ+OQ4G+J7kAg-{Kl~bK z@D=iSLY9QwNj?Wq8MPI4d8Up8Itm`4R`?8DW>b)olq~sK{fSc=Mt~ze3m;KCSjjPa z$_g29M8za!sg6dCfCmO3=&hFT8rBJQ7eb!uI1pzU)i44m4fviA8`ggon2DLc-b7n+3{mSSJJ3rTIiI7=QP3yW8a+Ir)hnzg* z{Ddqaox>%Ey!dIFf#+zTJ*_AUuR<0? zI-BRCkn7naE_=l3gif?R@)U8F`7;v%;docXOzkO2WqL9;3Pc^E0W;E+U?UMDps=Rk zR)!+LMa04jwzL|lcc`h(kqxxekQwH0FJD!Ejf9fibX4C%g$ynQZKn)XM}=HK%P%cQ zT9Adm?w6oXLr4YEF}bMq&m)`3b}CEH{Ubd)&hha zrE22!JrIz!<>{XLX82>szlcu^XQ|z4z!Vs=x0mZF4{(-O850fqDD78G|L+@)`p#8= zm@a_mVL)abY@6xFNN#xMn;)4^CelA5ws)Ly3Q+K<119!uma1I`01gvrJ>x+y2(u1z zt-RkCjU6rId0Fb{83PQA!5=2X-Zpe6Q-OuN(6?ZvJn;=reDgE$^;6=Lnvr1n*bZpw zDhv#t0XW!dX{R3rO5B221=ISm*>1@%f$DxB#=Zhh;Lu&gj3tJ3Dhk-DQD|NK_VOC= zfIaQa{O5pq#i{M>>nsogf-D5UdswY8Wr;)ca}O|}w`1c8z;{2#GOgncvny+b9MmKF zoeW(Cf$$Drh{}3dH^6%F;(mDEn{VE;8m_g&?hmFX%cF?+Op+oQtep!mLRU@D>RPeh zAvc)7ls^4?$jqFrhgz+*H6Gt|wv_ntV6o^$2j#fSsIU=G$RCN%uB@LMR-{;&u`#ah znofz~RT1{UjIA;;zAp=Q6X@|l=xdvMZpWk@-vESP?t_fV^jJP5O03lOmRbi2-Tvy) zjV(^h@WeOU$3rd$TySDxcPYd1U+NS=6BG6*V0(cJ`S?)v5O~E#FK?~SyRB3`R2e)2 z^;r)&Lw0l2WYS($iLX>DxVpm#JY*7I`d(d}rbPAyo$j~0+Js3So?}7dX2rdwkPMi9 zj~GH1fG*|_9x?QiZ(J!-HK!%H;};mtxbQj%zYy_9b%7@C-`>bL-=LL(dVCS_$i58p zh-ifv9p$w7+cRNeem&7Q@`%9!qgLxcX84#*H!@&qX4U%bZS9Wi3laA}MvT1IQ8o-L zDMKlMhRM|hwGTr_2T@uCDc&xX8JJ~0rWGqwqc{dc)4zWfD^Z!cK_+W`fptLluPb?a z$Zv6h=F(ZJ#x7H;PCgA|SVj?qEQ?m|X*4v#3fY39@Ubk1s8ZiTju2`kZ8Pri#mv&# zRBRRkb`C(SM#F-85z<~%BC;=pyfxOAw8wErk{sg)$_#22cZ47130I^G+pW$T<8wxg znZ+P${%x-_G1>;_<5o*PzQE{ZF`~LO^B7;?{5lu%EPy?B)t7|o3k#d@4?_kL71^97 zY?No&MsXR+YrvkgH`0qj=3;0IFm8#T3CKj_Qt+wt$D6Jmj~!DB_$So7B`V zQNk1dWNjpN*QDj+ZDCK@-U|b6A#+=njh`2WRw`Hy+~oz}Pj8?tr%*ZTiko<|FKh#j ziT6{^9&*}4F5yJ`!%^$v-7OLUC$nl22T=>WGIUv~_90sUCzWplWvKM{ut%JeSaxe> zK4S2ZOJ;b_q?TV#KSE=AQSj-v3ze9+si?ll)cB7vla3MZ<^Tk6BdqhjM6|KjUR-7? zWJDzxMJx1*6u({1+bzc;x5&!~FlSzat&|yfEQqK0B8Q5PtW8XT6ZJ zDbz#Q%+7hAWmeZ6lOOEO@yM{-i)Ev12Nc|m%E!8FVrS*$J%)325jIeLiK<-hpfecv zc$f!FxZZ;BL0pnLmE%Y7qQ&%q+l#|IrnCaJ6i48qy;Ppc1wrfA-#Xcd$Q(Ro;bb$^8kR0)mLbPN^q`_ zvxi*vi=!XbloJdJ^LM+@Bp*4%e3!f#1Nkzt5)3Yu0Fc4DphZAY^F$2CbFfMUAd(a@ z-O>f!T^}=%u1~x>2=re|DUVsC6`9c^E*^2+Pjf!H0i|$2Dw4LD#Uj4W=1I4Pnr5c7 zBpROe>jo6)%>^;AKjBX~fbjsMtJ~SltB9F9oSSY*_sf6TW3C=^`*;J7mU6#rO0Z1% z93xt-1fK!hG7+}`Va^v=AJl-a{eqH;C37EWPlIvpui%kQV0Y-m%mPo`tlrZ_9na*F4{ z6!xGI3j6ER0m|*$V7zdtfwQ%0ofY858y+awuz>&yKK-t<=gwQWPDi7)Rm?@;Mqi}R zqICx|=jeGb#XV*zTK$MQlDjSWpgw`-hh5C%ZsbzfB}s`!TVdw&b}hnp&w>wbQw>(8 z95WH0WH2PQ~J1|4~K)M3vgMsn(b&^Y=`}M zBIKj0PC!a1IQpas32%7Jo(I#L2h|E5Idur573~?o;8_(c*$fHww0{RIpZ7ly^7F9MP!W-C;NL}S%gv1@?>K|j?n-Sv6L0AJ)&MNDXu)S!tuFc2lD zgcJH2QW|J?isK@c9&^h-&419sclVNR;3?E?{l zdfTe3(IFfI#7q=128&~jXm?qTrrR@xoA??S7kv#heE&hi5i-%M_g7ORFAVzVhvyQvi*D(T;z|iL% z5d_I{M}~*Bu9F-{Qr|=qUBFZ-Cmu59vR=+5Pk)khcrFah`F?~90_%jyZ=iP@wvLiJ z3{umyN6n56Qzk^--$`f|N0TbIOBoNP5EfA@m#`iJTkh42bky|mjD{V^h3Bwr*FQ4$ zIO1#Ji(KRJgJCG9R00eXx-6;KW#+oZ`b-4TqvP@_&m?q;Yc|BGD?UB4oLw$NUichq z!;#w{mjFp;{;-f-!G6x{K^G5t%h}R7J`d?IN1?f!s#xsZR!UZRIQ~=7Jk1Y`Glc&U_6OXhKhdG;3?iXsxk@6=MyuDhskn~ z@tk6&YxpUw0u|D(ZD_`N{w&{C%uw}-x$bA?@|99Kfj z$)59YX%)~mcHt>zYrC*7^`#qFA6Ljj9$YcECuVjieVk%W7(wChXmt@AlPFb985{w# zMzB$HI{GNo5OfVlcx60?1ECGeK$89*(GQ0eJ_rk~;g;*o6EwI9`@r=DaFMUe4mlXP zDD4m0+MLrcCUOU&z{UT(^TG%PigG4M6A6t9?#KQS3_mv)Mc{n9DmVvL&)czWz@7a> zqm(h1PzI(VMV%nXezayCIL=gcI#h#NKtYfFM8gI+1`UW-g7`s@(&G4F^k^vGilBX* z=z^v`c|mO9^sZh>m_3t|5+Hex8LfWibNU>{Vo?tohhIyb3*GA;We1!~0JD-S)lvpBwXKI7Wa#0sFjW)l5?SNwLDEKG5?7`kl zS#Cc)3J{*c+j`@$>ALvy;{&dNC|F6Z&%v+EtjBB7?0Hbo@h#?gj2Y#SCSf-AeaMsz zT^y9}17LOZnjaJ&?%`-rX7I@MwISoeXe_}w2E}8xJN%kU^m;&&N{Sgi>J-{B?8qY| zaTIgjV+N*tsO#(mUrG})Ixf@IH4{~#ec1_paj~6ClZJJHpvA~MY|0K0ij`Bi3UxB< zQ~M8-5PR|9rgLgMVp&&t#GVC(9e*MQ_I!#M&=>j+Ge~90)s2+VDzm^W1QUM})z{Vp zmxGX<-;6StfWz^?a;mP7Wp~lm(3v7Nc*x~qp01F6M5>UBCqcoxJY??XBd(dTCcMR6 z+m?_)iL-XW6?C|Qjk?#4Mb~IeWx;*TwWcZv_t*$Rk*7Ofwlp$gg6o^OWsE!0-$@mB2_}Xbb^rYMul& zh!Toj6UAJ$zIl3_VhQy9&${YlgJN6g&v%-G~V0MVi7US`an;n?v1y6~g@KNq?%=L6lJ~U5wn)2-0_RKGdLq+n0b)Z{FZz4+pup`#9R79#PqE7 zVMS@F&wuRuU5J5*A#YnzND6*2S5JTQO@9JpA40b8yt9B_|6$wXBwWFZs1(?w6EQ*qWZH(-3a9?v z_5dr_M1v;DFF6SRS6JT14q_$y#YPG)YY0Z$zJ@T>v)}y4e&ghwM)y;%mk(3icaw7R z@j4AcWZNSFN6G0!ATw@QMXT!MS6?+?_k=ALc8<#;a=BNyao+`bQz1i{T7%H)*>8?L zX|D7*u_Al~vg|u&XaC=o(aWa6_GbB^#Wf6;H6xO_zvTtBEOmIP1(S1AY z-Syr*WY2zcejMd_x|SJJskKkqRaXSiy)1&t$7Rjj)4S|}ifzKPogSm4t;_C$#KW6z zPR|CJ#u9utJe3h{V(fZAJV*luVE-O-ISbC^!(fJjxyJ`R<%Uyy7H%(9LruGw-?34^ z3X;9W;Jx$oH@L+YyC6`6boYE0Sa=D2NQrPA=H?;CJ>=BSQUefqCp`^!4a4Yl zo=%bBI47e^H>xAk55xc-_I)xkeMyyIEr2M6j7rrl59Q#Zpr;H>6Y4v^UV3(x0!)R0 zzl9u+yA!*9)ILo2sACZ!a2E--#`RB?a%Din<{NHYE%6OGpy!6DvUL%BwnD}fq2c4L zknbYHK@(!~K6jsoJUrx&-jDswDPLpiRBxSFNEh;3r0Pa!le!~n-(!~`wORCGAXVRc zGMaj9yZ8_bSh)liPhYxn%kk(78A)c=W$EX;LyN~eJ?8Q^G25kc^~XQ7IA|3zIBpfw z|6lnOgnnV(h3yz33ix>5 z(v}bI3=p68am%~z<<@0sz_4@rbI43gSS8K%pD<)NWtkjM5ReK`v}BVjN~Qu>9BQR6 zBpa)l4#p>1Yg+EM1O*sZ>J~jWaAQ!3Tn#I20v<4|{Kk+1j0N2Ha{-3)bYocU0QTFi z)=pyai&;xd+|lj2-~zI@U8YOSawo0)*nBwolBp^SH}=%)*I*xDUy(naaYrTu;~t+1 zY(QZNz@Rt0hivc6sVrJL=^1(_{bki45#vgg7mVMN?&a=K$)?|8YWG%hY@q^kZia7O zdnTT8U9v?^r6&VJ7qjdAqgwKii-$Zv-@c<}6j=>yu!{r9$y?ch=?Wtgnx3pq3JkNR zD~P86C428>U2sf2s>HAf*$xK;rd6`d3JekIOeNc{F)m=jbuTy1eu9ucbMZ5~=Qm*G zF5m4%h9yavKw6zah2FLS7hcVPwmPMr#45}=i|8a|Y5Er==6JLW}M9uZW{2us5RW6@*f+4~YU$V+nYvHLB1%xK9&lIH|; z41NT7K+eY+$?m=<1Jd;ZH+Ro~5_k8QsiRSiImC>ge2&bb26bAJ8)p(hMoD(F%TY+*^;6*C74Y-rA19nyU`fQ%!Jhkfse{-7HI_{(AgNik5S zh}=YpAulE|o(KzB(mf5f{u%R${*|SGABm=oJQYZ7&$bCq8#lz#@>b8ENxZYf3JoW$fo2Y9i$th%1fwr&o#^^DfM z;9y6zX8PSzVVh6Th+c)G7U)UVjSI{wM9>u=_J$A0nFY!pF2l@8FaN}f1`Iqh@oNAxVaqD_s1$F_#`H35g$r7EIBrEOabI|UoP#B&!tAu>4Mddg-y@3Ud zs#XvqnFx_(2(L;ilu#^bf>h7Hf7d?HcS?${QT)$>(BIf&U_5K`xwgC_k& z9OWCzDl3m!xw9~yR>3iH( z>s+!wXI!a4aO-*ALi+6F6Rh3nOh*^1_n18s_Pjsm`oElw;>Nt)Ctqq(VCXl{4kElV zHGOV7+-0a`iwJs(83e`EqnAldjeAtgNmamtg)&xO*?V{@>}5aC@ig6HOmNcUML7q zD807tF(XNe^$&)mMcznL`xA7%u^^;h^ZwN;vP``W)PzCM%K^g@L&}I~w8_kZGScp& zxHw=#CNw%5xOQI*di428&AZ3!nXtD#=6Ukc&JtRIvI956PET_5ZKJgh^!hWZ9gG@H zQ_$fTQpI-2J);6Mx1?QO_$KK%$3Ggc^8WFFwv*NJ z%5)wa^Lm`~6G|h|k3Jn|cGPh)IzuiM91I27UgAChTHweR0M9}|v56K0yo*<`!W&&a z8u4M}rdN<9W7KMBn)^623wO*;gJWHv^FPKM70642xaIozvW?GdF`yjrrsW+o1X0jl z`wXm-9kW(zWy9Z{A02a7y4>VcVd+iVz%f$DyMmTP4CX;!F+X`aAt|1bm}Ms+ z+=7fwqMj~$i(L&19YbzDOuv!9!`R^coKaScZw~;6VYgyNia@k#V(!3xe4c^0mij|j zqevtMR@N=%_2k@IFg}+90kZakjhdD8o3xo}5{DYX_~FzQkgVuQYPzJsIyEq0o^$k_ z1`#9Zbz9xMZKyEgfSjDStKsCW-)Cbf=6aS$<)2fE;55kYq72m&Sl7=xSlQCkeMtJ< zDTVpI72=I{D;jaoLjb=$*{<8tw=6GN>%BzE<;jOC4rlz{2fG@t{M`|vC&gfpdQ9F~ z$O2@ky0Qik0R3~GL2SdrOlpH&A{|i*vH#KijNa6A8e|`vwl>|BZ!Vpf-s){wP#)>7 zxK_N-{h*-Lo8fmbstRdC2?MWEG=3J_2T+KBs32&(OHqtZfRrOP?9Q7hsLDkT3;0;b z#30DxCYbmAiet`>`CcL&k7whT66wP}VDhm&%Blc69rUEkus?~g<4v6f`@;GCeL)NB zu9+c!Ai9bd9Xy>&F?iSZ_#kh(_RxSg6MU6)pM8p+;lXnvgo?%}7IX9PH3?JbwXoxG{;Ux_n;-ZMO0f(sB+vHW` z5!0a?=3Uzr^be4ZWgQMM>Ez0@7RHtwYOlqc(KxOA?!yUu!Di!lKn*Cbw4Vt|5b=pR z=;5H(HE3BG{s{WFCtd3GS?ftl(~j9yRLY5W@ibSfA|=z4<2URl&43{#)5{s|BlS>XZzCqb06yW@BB9><=_HbN8-oimZb@h*W>p zWj{C=GQuZGS%y^L;B}KOAG5b8q*}xRa%%0SkRh^{ZIX=XS3pk|QSfOpL%#X&4Z!k= zKuV`RIU-em)#+fbDw9TZA%uSWRMGL$9q_R-)PL^>3mE;w%gc@)e`Ii)!&=az+3<+U zTR_P5I2>}lhy1Xhhv5==mbYhcqsqietn8*0kfFI6fGtG7xV$y%?Wb2D6hpYCkzBag z4Jn9ojBA5#HAL815OvlHFj35e-S*~=I630~a-+$9KI5Saz+H2r6HylpUgst#XmWW! zA1`A?C*2ITNPTP|Ivx>76dO$p8Ry9RA!mpD7aPsL4mqkZR0Im;kIdN4VL=k?ik0%R zi=;xPUazZN-#?JJnTcuhObno#P4}wQV)_-*^Y2SoQV+P(iQW{hC;fsB)h|cY$Mk8h zVF72)4NhZ+C3Gkr4lqbIY=&)Ka>&&o&uhpC(>=tDfAA|R@ruGYwzsJoQh@U?7-gjM zETOPovIgjbhO{!|`aEWCEO7K_Pi%BHE+J`)98q?loZ5v|dV#vqj|WNSa-&Kvre85V z|3%CV=u~FCS4FTpx0;AJjVY7mR;)nA_NcvN^l}^@?G<=$j2_3_Hbj!^am>nrH%!kz zLs~h8(r)GsW>A0eLO#~yi<-*DAuhNR?H%yOQ%^p_tzyMgbMYaSq#NSZ*-J^QEDQx$I3)LI)1+nB!x@HUI_GJ~)4h8L;>Z2#kJ^7lD6_!@)3q zV;7^UGC-zEDyDyddeEAEn${s-{f44(hswU^B7PgakP&LwwBSAyA6J}$3#SU6Pg5tz zrEwTmfMsI+TEoV#6n*$hlK5P7AoTV{C!v^r#q_Y3=ua=;gb$q_c;|zW3=I>foRFJ< zT7bv|pDh>RmAG39^dH$zTj&(stc)?WkH$m?j(idy#lil^t9u)ZIOgn_Z=8;l9(^xC z2yjPiQG$xhjZbJaBh+E+Xv`6eZV=z6rG6Yn*j1V?nsq2_wCH{Zy9#x5WN82We^rN~=YdF3D`JVAUakpM z*?4l81mgze*ANkxco?QIz8A40D%ODs&&`g{K`Rd~1Z^GrTH;rWXV}^!2F_hlACtfnGLx$uKHoRb( zq}4Ifs33T7G@ykl@1Z&Ctc0*jfCEp947-`v#=SMD}K0XpG@Z!bqS8=$5<}&VEH7L$Xl0;+yfU=%E zpsQqK0PTK)rcCNj(+zwHUkGO+@;KydC?F%|w=lUn-c$?<;^r5Qe=-l@r8+fOvZO%( zsvw)Bm@`5Euhg$6T6Q&PL*y<#9Xg2^N&BwzM?aGo&1i*ZuF0ei-C+V z0uYC$=A9`x!@`JI>xpyp1(%VzR}^Xow0OlVVavHsGB#|xWjaH;3N(j z40lf&!jt0r~j?7XM+Pl;zxjIk;EpT3OnI(~*tqL+@QMV32s{ppOGVFzsz7N5)BN=5j zj)`xO#EiOj7-e1!Pg_#9+%dO*jTtx*gl4dopnU1}J~an^*KE>AEil>ipyS82HTF&g z=}-mD5C&;jL*to8J8t@i*_BKv|svG4!ltT4Uzpfs><(JI7x`r((uaY=NC*hUg#nxQ|uzSU(mT& z10=Lh26wk(E;x?vdBN6W_1RbnxfGvg@oYUBEzX4bmI+yxKAmTJmG=XU*Hpm8I4x*v zF5Ej4+iGdkzCg%9{fCO)PNp%Uu2|g1QH_7c&lwcyYt79Wi3!&v{2!$%TJ$ zBFy7@Z^RRNI2;)~07RuF=*W_SmF|K;fs-GA1jG$#mU!(P$Nfwcy%_nvc1&8L%sj?44K7{>uD1acg-Ghx1E!jT>T zn2wor92E?Bvso;w@QD{_pLGmnNQ?7Lp@NGy_8c|(wL>~C&W~b-dJs3d0f5}YRr!D% z3U6mm63nY`%ua;mmI$$3d5Bqa-h{41oH@W)Wos`2#s-xM|4T8;9)&gzo#HZ1!3|bN zEHoGkTP+zN5CR>Cp=ljJn_F2-~&PFt~FaAkAXmz5#II1&Ysn?j14EpPs0dL%6X1toMR4+NE<5XkeRi&nABCAv% zjwr$9O36258xH4*(afZUncD&pti^6ssxx7^Wy1c1i}@|)nlA;kD(D$Se-;x9cpEL_ z=RCJU8O)>u(3nGJ1dL9+5+0Bn1j}KHpt1chn5j;LrC&ovZv3x9F2^@MUT|W$qD~0R z$HfQ=`$GuE_@5=ul3*op%X~Fg5%N$6=?w)}WN~v~684E~D2 zg|vsE(k597!~w8;(^S`ioKt)NqhGS%z&ZnZDRbyU%!!7fC_|j9P!j}Rkdv4wI?sIQ z=(RctmidXe|BCHF4EE<_6t+*?7SzCfFJkFQA#@}yxr7~k$GrHY2dEY4LMvu!Ddvp+ zu-H+>uRbtZlmV#^hP3te!Eg>N>lSl=j`_jS$}<_He?ZJ)^nCoG#bKBq6)_Y2%awtk z7K=8F%OfI149^f#GgozD(IOv%03UJ?Mo^u!iCUcjjWz+ir40CFV-1oPHu_<5+tOr5 z#REj)C2P^C=>|7OYMKNva*K$|^~L~ehIeG#01+}+r8vv{onrg=<|LGFWPhZee_}7I zyy_Az+y;t!fne-enPuwS_)ZxwtjM8 zV-|^pITpOl4;rzO7h){F({?v_h${qY`&(e4N=F7D*KLZ#%;`I3G>_=Ik7!{KECuH) zHT%PkGf}|M!RbWDE6-kdwx~Dx=icn4gqC$d*$z3;!&4;W&GGOoo3C5D;KU^EI30EE z2aO1~6CIc5I}`vdGv+wPfmMxbx?{p=&GRm@m~f#u(eL;)<@aOYjkd} zs%$E?0i>UFKZuQpNOyVB|my0xK{A0(* z@Emvnh82yc+%Ol_v|xJWyyv#CD%5$S2LD>yl=NU9u_sBAlbJ`qO}~(aeK^zc!(a1_ zCJ-}G7ap)IJaOaIoVq*`LSvQZ2`*sqL40m$fsYv1;c$2OOoQJCtFqPU;@nh^II5K4 z+K(}#1ZC#Y%Qa|L<4*}3p*_Y$toagp!K^l;!l8g<4!TKdwzs>seFUwcUH4TOha+B@ zeLR+eo@c3~VbbGP<*|f5x@pD${IY;a(aa$e4?U8Stw#y_xjXnffU*VXw$SF1_f?uz zXrP4?#U0Gf7b`43<^%a6MJz>`iB`j=j;f>hY(&<>0i2Ujt{zsP z38$LiXs?gq>aL>RKV1^VgQ-Ax#vBr0OL!VeeJ<0bCUg( zvqK(d$nn6}lVvTNT{aPiQYoAz5%K{3VHK9(%0gTDv)GSdoi-q|lS=epg`BOA;O z|B|ZA%>?$&KbD13~g+xr0Uv!K2>Af4F5>Om)rw-!%$2`w^D#F}J(5EVt1 z-o_(Ym)cCmhkn?a2K+{SxEYbCmTj1wbY+n5JcEwYQT`Vrx%tCL4t+89Q4IO1I?tCd zlDk|5a+7-lAs4x(?*W?W=UKd*NTDzIdp^)8?z%u4PJ{9*!hW`?Kst_x`s6i^20HU z>fo522iy3>T(xX_xa-hbLP{^vb`#8D&;Y*Tn&3h6q9d8bT?h6Bh_7B0f$C1X>w<M)OJvt-E$cu?u=Mn&482r;(-!VZ%l0xmYY!-H52xHB&VU zlIUv(vxzf(a z7LY8Fdaz4@ElWExF4SWQ!%Xy>hF}Hg1Z7dYZ%_zAW<%LFDA2E_Lv|K)1M8>UaEE%> zb{DyB%V|EV)RNolE1lFJ{=@K#kqq^?)I_d?$3qG$h;N}P>2tyA_Jz@z^M=~@KM+VV z^2wXu4YX{hli?ib?$uWY5_AuFJIg4lV&VhgqccOadRAoGc&;?F8!#HF@D-mfT8x;2 zadlBti0l zQ@SKx?v)9E&drZdyO){SGY)$Yld04BPa0*Pvz+J?ejbgCSz_E?T)+!2jAqC->UT2e zp(4`Jz2nST4E1ZDqS0U$%L}VnDJd1k(wy zp9v5mYJRI}E;InQo!A~-wfPEc@ zx8DdG&-cl2{_E@ieE)J5Z49N5gR4zV)gR%Ic$t{Jr27*oECJDA?H=$y3X!|e2R+@HN8 zcKRFX{*a&ibg-EfX+7gmkb>{1pF~@`Wjr=$y`3$U@+kuIs@LSC4g{fF5 zQfZAs2g4{EBZP}KnY2%tY0k*n5=JUut|qn0y4`XJ_n;MGHE{Z`tsYsWBeUu(*PHnt zb4eEbc%g*L_6H)+Sr{GYyyMr26W6}wvQ#N=lFyvw1QvRmT6u)zke5TgrN1O0?jMg? zY^}Jo5U0sHWO50MUt1$@xS~azB`(1iFcO5}usw@zIJ_MaM?2+oD5#JDktU=G< z{VH`v2IdB$R6k!pFPHgC7g$T@Or!iZhWVuf6jJ{B6|jrx1riw4GW9?|F0~Oam0P@4F!Ie$q6*Hop^p@6SVVzt((?GM2k(95KsAo6dQ9?2- zrLXfY^u>S1T&#7q#_BD9EDVodZ$j#z-2@ef3Nu zPAuNz#*ojc#V)-zpgW8fd^p5u-_N-y=C%IAn85=tMoMf$_}QPwj6)nmDSG~R;2s@O z93dRSPstGbv6<&N#>Xm+Eq)bq^BgicP;}>O$m@xCfK$f{lNBgM`XG&ghzf7uor}ld zkX4a@tysMbBu~)P$nWt$)DDGZFmfnaW({DG@FjI$c7n?jejf3CYTpvui~;v^ZVozK zgN~H(B>jx6^zo70K!{THQCDXnC&RLRNdXl#=-ay2#yN+HjG=K7Pq(jQ4?|Z$7{eDd zc}dd<{E{(vu>-nt%XA);hzzE)pP0w-uQNJSrfK8g(m-jr**Hd6k_6)t^x@z=jbvlS z3~21-dt*SoWhmyu@$oaR(vVp;j&{sV_uA8Ww%RDVAA%IXT=b)}+;7F}PBDXp>zs{D ztIg`Qe{whbJq5=J@qOZ>KRP=JH276}}{A!ZazE*Np zVb^j%!#KWAH2NQFn@?=zA%bqZE-vjFbT3b}D4pi3zb61? zh;HwopO}Im0tPSA7L_Cn#3cswD*B^%V-zOzmWBuykwDN;$a^K$PWCiz#qvjc%PQHN zh@oUK5KMY?qM_O6{iL&lZl9nj?jDsaG6OY&mjTDaPF(ZOl_wVcp&1Ciz>cjEU{&@`RQz5E)U=4=fy8G`O-(8nKEy?{EXI&}|oNbG5c+#K@!gv^!=O|D-BP@9kL~CEupJuPI0P>Qa3@duHbcj zHna&FZEJ(D5Cb2hO;?u7y?&B4*d23s%W$k|-?Mko?Z6tM>yLGQ$ZH4Ih^F2Ljy2Vtqz-}V{8&Ux8W6N>~^2Kd{;FKv0M3-+=d%R%SsB^}r2(|w1&JMTTy`$bwD4w~|@Ax;5Z z^^aij&^gcoq@lYyTg6Sr6DiT^Bst4*b{cSp?sf$qfJ54|Evk&ys&yZakA(_y5(>H8 z@=A2c4|yd{Fl4p+S7~Ou!1F>6QwmG5<5-hLi=q8;3yR$sn~1)h$WwkSU#}j03^31*r;y zGdRMZDIf)R>(JBe&;+UNXQ@_THz2sxeqsHVlCB_B_CJ9t|n#JRndy&;7+_nanei#**iG22;xOKiEh49fZNf z1;~&2h;L9}NaJNITy$`ZzMhj4VLB6`O2PKz@5q1=>;=oS#XVL%9`#{njvd81wh9^qh|(fwBR8mf4%&$@pNSAY`tt={PqM3-+B^M9lLYq*thDt>C0E_Jc0cZSeF19RtSV2q1JIGNtTl zfdzpRVRj_nJviSQrWSX7OG!^`C;+eo#?%?!KNA4*+JyQSF|RJa z9bMb3$@8TYr9qw$ej}-GH^0OleJek|%|C^)0`1c`c^6k9v#rcrN*6i-<*r z`@w-`nXio~7G7)9O&QY6cg#+M<+#QysPtb4O+kI{ybB{;bSr@;$K7?&>=EXbX-xr$ zlJ|qglB*fV3KmSvZc2~%W%xk!^~!MFop*K~Ea?_>)M$VIq-VQoZ}1Yb^JWDK)iNso zbS4!NBQGTtd~4$!bHPgetFVKx0_rmF?+&+b-y2SZ<(3Hlk=dQ3*^3+to;?6&PSKuO zq@6P}^2?IGWJ?%b!de@`81F~YTL>Z!!ImGqCGHgkU9J!MQIsI+&mu(G66YUlu54Lw zkTu2|9K$M-;3$V=ey3z3^U3>XH!KVYuwYLMD2rZ5h46E-JoToYbf-)m9@lkqMxmaOfMAD3_0+m9|>{_%}u%Pr~u(el982?|6Lz7&kUJNI25md;x zOvoJYF=VRnL;Q36DVzCW_<}Le0s|nl%rv3WHy6yJia4szCdfmY`cz6kcKD_G0 zC8>$yUFPnunqUDCA&1v)(G$+4(>sulKd(EuG`e_DV&8W(gQXXu915C=qC9~Tx-PG~ zjgbrg;$&EF!%=txKVpUw{L;ZfX1r249`Xcc>nx#Ut`b5;-t)^HvIAwWaK?k$hTCuesS}wDT>bozpkho68vN!T*Oo7 zX5NOjpJ{xiPIkguB<}N*ZUc0 z&0|uD?~OWW74c{dO$*@L#+AY_Jcf(r< z1Z%rT{9u`gmEkL{&dDwW`g0NcKmb|=B$O46hXFcr)sZua^)76l7-j*y& z-X88B2ha?B7e1M12rbg#F6*k3VC~m~5s%^TFK2$*y?kct8`svP8Om~3Jo9#ED?~92 znst{NaSF$`s^I~~vC{+@Wd~Bh>@Z-{3i-@|5O>GJ_?h(}#FBS^%??qHTv*6SjBxQK zU2`vXuPaV5n9+1DfDo~Xf4DG{1p2D9J^8k&?JfnqS%+NU{H?uXIpGlaLn-8YH~8pn zC4s>4`SXTDK}!N-*mb&Nu@F`~Lbwy<*l z=IbXDy;WzxdS*a|8~y1qcc?`zz2*2NVxrm^oNCmlO_l|J047wX#$9G*B*BZA`C>MK zAYrDx)AV@>dpzcbZ0ph|<{}lHwX^nV(2NKxF}LIToXdC+HT<>IKwsv&8SI)nHjPFR z$o#A{*`vj60w|0NMI**TTz4#wSx$JXbyG zBX5~)*j*b9QJn-^z6M>NjIFpHWW2o9-nLIVhC^iINWVsp;OBII~*EcP?+wHYawWg!?f4ZoPkW5>O)HRSFX*x6Avh^?EoGW~Re!rx-iT&4$hVBjYP zSyo_?m!4W!zggLm)r@85zB`%|VLKCH{J+oI3eoG~MiLF@l&VwJ5=hJ6XrjIu~hQb2;C2RY5o`?DXUf@| zF%KT|(Y6?>6rTwh8Vi5`_q7Ndz3&Yt!gd>rmZ#JFTgc zf!80UEnjsEveQc@9|{>&PnFKniAX#^Y&noa;{oMY*vqCdkm7A3nqRcCRdcGv?SxZE5IB0WqVdwOQn{?;Ee(MA4 zlY|UL@UQmyBMX&3(w>@91<44ii@CdyFU?6C43vd0Iw2G1AVfyu|JijYTH7zqDnBJN zG*Y__xQ9w(`d~DntQ@ivV81N}^YMf>`E8p?fqt*)s&rHuQoWt?bmGiuX3=|wk^}gk zm;q9YO{ADRAavi%jCRp)Rm@SW*PTte^IyL$1|N-pevSFINbv?X!6=*n7X}FTQ(P$3 zGSC>FRH&ZBu)>GU?m@l;s0An}NVY*k-8K_ikU3^&zs+^P@wq(e?^=x2lF zD4O6Fh;*6!FwGx<~Qvcy-?^@n5u^)x~?pCMhw*_5XUi{3G#MF4hGF$-t^ z?yJVP+Nfi82JE+9upa-*tsz&i>)D9H_@!OM0-H2oRDAlXz9iz9q!ZTMS4DA&!+`V2 z=15Z=!FY_O(U-Qib310I!2W;tg1@3J$M-vkTxQ%ObXy13*cW}Tc<#~pu|%O2I2<#G zuaUMK$i%Bqx3g4TS=#Kh9k--&V0R82H-JoH#rSZbSyaG%>0IuKCneE3%CmXAG4o0( z4U)zvLYzR}ILD!QxG^t`qcv?9OglYY80u1!1+!j4G|cDfUe1z5-(9}8~?D9VEI{>IH4^CJxkY3U=Ig%fh7;kqjYR7c8t~Vck8ekvsBT~fA^3{C296`2 z3mWblDE|o{)U6-Wbk< z6;!EFfK&CgK0`(nbkHvFN@b8(b{n)<_ zC&F>-1?S^)j(d~+{=uS;z03mQrV&3A4392Va5Nq?nq+baV0ZeWl+Ud(Cr5?1atizpvQ#Wj0dY@S2W;Y2uZiLgAv z0eLpqB7x7S)Vs1cdoigK8J`~`_5qT-+TYiX-2y_lpTp6qDMUf*`z3@N+gPUgW#bci z$IP~A{ZLtecdMB5?Lm+6#H9xuE(u=$52D{JfI5at3=zdA7K4zTF%wvn0C96ZnM>@9 z!PQqSVSPH-5;6bx3c_@b{h%3FZ=f1G&kcT_PKC2vgO&#FL(ox|A>q*Unpbm9kTF1) ziRJ^tW9ghEq{$a6v}&=Vv*f^HGd_Jb5!n;-xZfuDDZdjG=US)0myA}iZ!LqkA=4f{ zPiMk;n~9c3U&^d$Fhb10>jdj@<9!Yn!IivA=*a4wyJKFtzNjqHuuZPAoqv7YA!@+%dXC1|@ZD60hBMb#d@XzKVIPEJaxWJ7g!qc}s-rX#xAI z(aVR{%O6h*UVX{YovAYBkLMV70zstUkV+UKCyeFB*u(OQ&8hPs2D1R3d~L+@*!S~v z9-QMEazCETKYyEv-q>N(8#3oWw-+DBI3lBc9<%(Im}c^@-cV58-QJa*&2+ z9(fyVe$4RNbRwKz+`)&_jL888eE0$24#jAdC}6;{!HYMl$gdRpKE#RHxkm?dkvReW zSr5L%*vJ>%A&UQ1fyFKCz=&36oBXlLj3agyoVRu`KS|^cL^-0UK*KzHC1&P7QL$=8 zn_3U~U@8G0h{<|X=J^B@BpeDeoi=WO4jDDdnZ9(jnL8H}x0(OqP49|-Iti}ZW{^_- z;hHNNUUvj~D!mc^%gF%G0!gi)O>Gx!>BLSn|IrzWcjz>C1P7RSwsG>`QBNQxb8A*u z(8PUrt{UU{Xq}m!QMA!Ka8fEiuc38AZoSI&JpA^&J2Z1%s>tjT#?^j4EorI^UJt9l zjVw=#Xp7)uiIeQ0G44kGqpFgSXRvnNkp&SV(LKDP?^cO~Qha=1Z3|Tc;@CIGau!^- z!DxOGoYl>tha^jB#w1nG88p;T%RjPt|B}K=KuTD1$366U&IMC;Ht#*Z8Jcmuub<-f z2iET(XWBkAKxSOkEoZ@XN66&=C8f;oloEw07!O1-fdgZuaaPX<9c#s7xNMR~#D>X) zXX7kila|Kun?lxZoBVNsTrQ`DG{CBp7uL6V7cq-bcwS%`&q`HbXz!vG%c(tgrB43^~zu1lK6L09RM zZq;Xyo-R0+Q{lSdMEfH(WgY#=Z9M*+DD_B#tJ(xRUU*>Qcpsv6d_jpG;JxD?=B}IX zki{I_jrRp|skPPGupz70?ZZJTl=jwjCexo*-SC886qoh}h|kQlQWkfdQmUWsy)k~2 zfE}RqmUbFUV0Z*C2qE~M-UJ{>jnz#s`rOji-XWK_ca)8U9rAR@=|6nR@sM!}j*dC* z6l4_6h+&EjL16Roju_Sad6?HdnLE56aUY7qhgw|aOYV;hgKWgHGUIpkXod=9xhwc%nNpgAr7<03@QlocPK z7wtjXDcHkJ8+j7$1Q_}qGGwZLQ`d0F3^t~PEf!3^v7d5w$ajoreS)Y(A1EGDAM%lJ z+@UI-k>f(|EG|JIak-g`2uV>pPLMR~ax+uM$k?{mJ&a+3l=qE+a^|sb=IE$ku3vu_ z$6OrqZ8Zot_bKLCUPIt!erbf&Tpm?PnQu@JF>^Dc3AEzVjq470`#WgNbBo-K+2<&o zREZ8pM4lkYbbw#Hz?cJ!>j2DDanRL4-*$sE#g9Rw8ZhBG&@VIbBtgJ{j?!xY>6A@r zL3LnG$h)I$W-fEP3!b9|$hNa4hcg@WiEDDW{`Z5vt+mSQ^Q=9uqPiQ{>& zG4aQVH!p5{Imt`S>87io&Z?mAfms6syaNmQ3j}SyVg*p)g82R;6+9TH_GxPs-|Cj#pA=ok$F~;V>fue#+GcMnXA#p zfpY&8(YP^sX>Wlt6j>5iK%?Mk4jLQKs9}!nOjEFm*3~iKsOR*FziX3yG$L=?T{7Ngni3b`;y=k%o1$rT;X zsj}RO7IaC?9+b@GzB7*owgfCS1Z^-7U!TK)1YN?n5WcWyqE!%lhzt5blL@e_5~K3S z>UsGx)!_6@v?r&+i;xULu1{k*)f+UWaY<7##OuP0KhlOKt{J$DyrJSpf*`@jjY>oy z$#?Bs5%ZJ4D^nqboPglV&W+m+d}FeX48yv-)m_Cy?fW@96<%~?ehXPP$ghFJ681@` zsEcBCOsXUF<_<0io^v!8Q{11{5W`I4GA>6E23I6`uR3NFetGfqb8H^xm{F0hR=&ST z*Y)I7c-4{Nrs0+S4*K`aaap&o-~%b8DQdSUO2<6jMF&i~&IGY(W9(T0I;0DYS@(nS z2_z}@uslO4WqS-55a_6#3)8qh>Hdfz{$-Mznf0H4d~?txqSKPmVPy++-W&yQ!itwr z^@(oMMSy^;*f4X5%79zBqJF=p(%5g8eW0BS?@BUjJoVif_{Pt2lznzoHv{{LLsqs7 z&R_7Uq+<@c=aeUl77BzV%!!`c*4s-{LZYtXER3tX5;v<%Qxrf!ht1Vpax%P2$wW?m z2%0zgwM{0}CRbZyB&hibVo=n5FHxxw}lL z{TgyfvZLP%fI*kP542NZzO4tbYyX*6etQi;so$#(CMqwPZ?ip#v(nb5juzrya=^@( z{iN}$LVU(h84En|P2$l|CjNls_T*f65tCtiJf6h9et8WkKJTv~Yj-Nws8U5J9VdbV z$&08*kw?Uu!7&f$4sGiUz3uRhtjqg&+XhEPQ@x$&*~u{9SrbgJ|2k;&=kHINw<=A_ zduH7X&(8!N7hU9N4Y3Rhgk2TY-LYS`_<%e%moUi-p1yvUs$qw4t@Gd5^ zo^VuR=pynCV2N8iZSxc)Q817i&>B=n(|#;rLp!AN6PgRs2hLIID&`$BnmuXT=bY#s z27(kh$EJVG@xD2-lVQFk!{w_zC%JNJ!T)I~CrwWa1ruZn2_8eXCYSksvuT%p^0Q zU*4i7TdRhAB$7#3RN|6;w%;&KtsqCGnk=36Fg zPlU(+9}v|SPzLT{hAoP)g@GKO$IN|=&qKop>rLJzab~yKA9q!4&iTC$oMn#VP8l+&~N-|&=R^2EK7yb&F3lojC z{RYO{yx%})!Ml=7dCGzbKNsLgS;EehZ^~olrHYb^-2jtF)f+N~K`90R)p05W!k8LJ zeGPo#$_^Rl>VE8{=39{%yg`&s+Uauvg4FWeT$}{&Ix^9^KVBO0K|`RoQN$iy{M~*V z%WyI#;#!kkWz=X%#`W)*Tfyl?{&!Ky_ID|YO6Ns$w)qXLJxZs#cbaOiJR2=eg5?g9 zna}kzl-0sca>xlOQV5S3wh0TgEI)3&fzjm0-`Z0WW6$#q#6lDHFdLxasd@Y!>bf(8c(TYMorXFkppwz zqNh=VbWuGrb4tN@5C1Mm5ISV%z;as;f@JyY%ekQ*doPdTF%LTQg7z`y$|rGHn*H7Y2e#h(_cvX?%WqS(mSLkKA{n2w~<%{7++%xFy zod^!*6-aSUgyUU^N=lHOvN;I&cYD^4a!V8no7P+5KzW{9oCV7bCX=6NcnsT~Vom@Y zxCr_Ji=m1iI4z{%#+sOP^NG1@p8|S=o5L~7e|eaP!a!<@Lr>FKlFoGc$19378CZsEI|x{t2?ChYEin{-^O~Dx zb^-SQe`EvZ=Zyctp2`$w!Hb9tJ~jUq^8!@B7ugSwe33#uH2p7((AYfr)~E?K%XQo1 zh%uD^=@iwAbKq4&=AR>u!cUzj2;oMazC>Jj==A`vz25g6R#<5(+!q_a#Dpy4wBSSS`(*GEU}6jimIi%94XEg@br{sBKS- zeNPe|%tx$MBd+L>cF1xja}jikn_wA&a_dIhBfq&9ZPgj@q9OC|PdP3v#{U4Pq~3bs z>Zm2PiXl61Z7+;*YxQKY%eg|O5j=Gmz;0TQ0(+ker@wk%4gM1G^V@eNrKrwWuZF2y zLqBLDnQ=ME3xYtT@mk);LI#JM=!kMr>SaeZG)CVMO9bC-2@Xe5*1Ih!pfK_#qb#PWinuxRwOi(UR-8hS z^My`hA1qtJN*baac^0%w{6b08XsZfUnV?UkvMx9iI&W6*(KPpWi7_O^SJh1e4z(0g z^d$o{&sM!mwC%o>n=@a#u?5q!Ny8z9QUK}Dvv~Ohe@IY|;t2S!%GTqB%nnXPtDtvy zzJIb7DL@RQR_vHzIQFfEg@e-Yf}8OrfDVOx0JHFo(VY9*t^FgzKE#~SMqCHLB4%p` zgT3SRM)S!gx=Hda@!pgy9q`Vbb`CSDiXe_CI%qrO^5Qzyk7=UM`!MJA?Lz2~o%`Ay z8gsM!x*|#hFB5yD! zIp#GY3%X@RmO;-Sw-jU3dUNu-=*HB4FXT`<_P$3Sz@@}TM;tu>7&K|$8Sop+U35%! zT*kn**S)}0E9H=#{n`y1iXPryhiuT^E#wYyUn+1+Q=*nUZw=mmR4(9a_P16m!WGA{ zGqX6Zj#&WJ4c^DuVFQqw^IyA-KpBGkyfxw{B?eDbNHN)7tHy_-gZFl(aMuD8pI{m& z-NW&FTa1Vfe4myF)y)^E#EBJEEhN6|e2ZNh7hwmyrEQn@uDn(MDz&Q*&gwwiEAaJ2u#jGhcDJDfX` zF;j3Mz(!ee42`g=iaGAVqKS$+nJ>B(XhPA$O228R?Fz48HH!xgOoFE80d{8Mp#@uwrvq^lg>W8>$PXu!1{)<$H239j^|?3HN6XK#7826`qeTbo z$23n5^Z+(#faqk<2$+{YQG=&_p1ZT)T|DL)Vp5+3wpFER;9XeM+4y>*hQv0oQi`z9t5#c|bM!0^59kLu(*2~lh4zW=PJ`?7t40gZGtGP}xMPbYO`DM&bg+g$#s}Cr=yLM;7eus!Y9q3%;y)AYx;#EkqiORevb4Kk*Y*}cht8&Jjx3%$-C=`_PNBcVjQ<#5Y8095Ryhg4`;)Rf(${Y zCrd{(8_+_G!`fsVFEoe1>nbi}uzvfca5jv9?;GQ-L6t{{^h?XQs_Bo_Y%^pk`E zg+(3_1nQzw_Z=@pMaLjgUe+|^6EifXNC^XYO)~z7MLdJgFJLQAfkw@E4Tw2)(^7`B z;pkuY-NV`F)K72j9Y&rKh(E5pgY>ozIL6@4@c%gPcidqLckQfcCb9qK$L`R+USlsN)%W=N_Z31B*o0o zm*>Bgs|OQk$LvfvZ)-ukryuURDD+>*$?4vJ`K3&V+E0-$4@^Q~2@X-WAX#wAaOwfL6@YiE!SaG2`ipW?Z^os;~w;IL+R9 z&Wv1{^yi8kU=&QkE9tDu_I??kvj z@UQCR9UmqrZpZ9Icu|n~J!ZbQlptr64WbRoD0o8k!?lzDt3(J>vha8tV1NkoYU0tf zLWvAK_6Y32PJz-u`3|zL%?20q&OPZzR6C^&wv>VlfL&rf5NfMZRd{#@VUfMwqkgHx z(wH#tT-exAJuQismmcjBxJ1bGBQD+(QkONr0lfvyGg=kua)|SBFK(?EGbLJ;>S`}} zry91$`!RQioIWAL+j1W_#512R=~A5-Hlon~!sz~Yd%S;U-!Ms&8b z1V5suDnv~2AK!OVJCya}ooGn5Af3EPuuWQWj(9lY{E4{y(!@f+L?-e5hba|cXT(6F z!H)8U|BqsWO3LtuDiNV^&PEe(x(**EvR?E74!J_18MhTIkgG#Ruv^>fW6IVgAEOTV z5^{SE8Dzzo?A{B_45=;BFm~|vHJ)(vP*{W&RTCxrJ7lyd;~&MczEOHBWEp!`3+`vQ zzDv$Qkqe@1+Q)@|aqg$Q9CE#eTpmR(vybwRkkQc@7;rQ3{d1I) zSQ~}SJ%Y+Q$`jGnyak-L%V47+1^ksZ3jPF4NjwIHo7=&74jG%_p9cd@38qvNeNb(! zz|cqdQMD&11?e)(h2tH44Exo@zpkf@JVB=VQ`Ue2wEhUU1U7VSkjY7(k#-C=T-T5v z{TZT+csduLQVKZjk2dJdvTukt4-7@bozLNnRjMw?}t`2>qCV<)ro# zuOZ!-w9@S)(?UEvW-c#vDL;|pwmLm0%4O6k7 zd`!|y;e362w|9xgq%U>&@+4@V>XY3WS3spD!qQk)Rp8$d#bwhP1xZG*?X+O#c ziR|n#%po=Odh9(bgAp$?CDwZEDcxzo+@%?lzSQBLRV#jL0dI5;YsSD)8&$(WSTU!0 z4&widcZ|cI-iSr8lxuDX%x5*I zp#N`_*I(m#nuwxZ5F{D3U#LEb)WQ@JE{YyABpwL4SI;LNbA>(v?nV(OsD}GEFGqaa zb0dTK9dO(kapQuq0kHatl$9&s!d(iY9^l!WQ#Wyypgh<4dDL2YHS6E!w#0mm_ut9O*xd7%6oIN3{0|SIu=A zx6?4=ni%hKywGj{(J)7l#*;Yj;1x8kL3#Xe2^$uU`PPPil(Ub{L>8C_#w%Dn#C1$* zwEcjse5&&tKTsABqhT3{V(U$%j17;k4Vp%81cx`vldLn7!b>M{t1Zn1FNV8o$EcYDw885AW;h-wbK z^_^wh>KXa4Xv|d^zWlS(LF3v0IGU00L@o8Sb%DfqU;w~YSXmJK7vk;5cAi8!$c_?m z6QPyAv*5?%dRQ~&stnJ(`S>5M4gB=(&zW^6dLHqfWhpycxR^3vg`a^-n+4Ry5-T4e zQeJ>~)5ftaQi`s5FC*-R=b)Vk=PeONJ^A;E@QqyfeB}>|C!C0}L1#{U+97g-qx^ob zaA@y)gQ;u#u8`t9kAzyt=G)PT?&s_@_%+vm1oZs6^Z73Lky)$MLWKn_wAVA_ENd#} z80k$BL~E+AZ<4M+G%tM6^pqui=2y^)F;`jm^2=DCbswu46hV>y6`Jf1w8p_Rt5J-h zqp4eCp_c*2^ngu2KivL=bBAW(@n5qK_f%coa=E0#6vgMugU3dQS-uJr#SChI-rVVwetb zUXPg_DUS$lV8Pz($Mk4eG3KfZPs~rt;>^^WT_Y*0OJiB{W~M0Y(I#VW&*&1cL$F1t z4lf)%KQV*OjS?Ba->7dYra;m@8(sFFwy?^ez}Bw#;|46pKF`jBcVYNvJbb+86QlWP zGzJsrV^-&Gicz2l?CeC8h`dWmhl8v>w4BJPj#L^t6p;Vl9js=o!%8Oc3m|LGH(~ty z5^jS(32|eW{FaRQl7|1+pyPnD?kC4%HiG!$yRPGcNT6dW`!<9)`s$Z(2>kijLB)+x zj@JgR!T60&avu&S!a46T=SQ)~s6{_Og3m&51IXTgs72%7MhirS21u)%>S;;J@F;Px zZc$R{sFWkcXYd1H71jJq)B%lUPYRmghl<&PF;{W;e~-BcZ-HL4T|kj^_b%dOhf zUxG&Ai-BuR!}p_ZmfpfKOM5u;FmP~@kG`}jH103 z;K~W+qv9d{M@X+oQfdE>Uco9GZp5SF#$fw+5e0#$fmU<;;?rISxQ@gbNLHGPgJNAh zbnw9=7+-L~J`C%{T&3X&`X9OStKdMJ7~NMJJB4=}e5=f`13xp3`MtQE0S3KZ|qls0yXAVLlsfVpd zKjyq^-BVe$+CpeASC*40Us68{IooVSM z6wkp>CjJpmMdK3!%(EQyz!EJvW+%dnHav1~$J31e*U{H^EgEN8&dCyH2H<~+Hbs-J zf%yR)uv&x+1rbyi?NZbcB{9J`Y6SeduBus%*?I7y4PS)-ex%!J-$(2sUdzYLNp;(nrf>tV^6fBp zWS#nc3t_SnZl?3uBMuZm%CQamJ_5vXF#;J&JLm?g+Bb(}WAarWo|wn~aN9A?zu$I| zH-Ihx$F4|8;h+0{(2b$=LQA7*2gh3&FZFzBcfi|bhA#OyslR<|4Kd{OK4nNZCSMie zf3;NoUHtUhHghceUQwvSLwSv+CRhoFx zN0ToOBivEsGFXnu4qL+zzBW!WEQ2Q*&yy0TA(s&HU*KyL+Q$(c|Bt9_fAXY9buzq& z!~?549x3$EW4+LUiU$Io`7jwa0j#8=N0@Ud8FJmB0Ra9tesDci-xBmkTqx*c_Bbh; z9N@cF7D9IK@U)+1?v=LdHGwAvSj~-%Jm*qL{#& zL0ZP`!QSZ{HS!THloO~--F+jk4$Aim?cy;b&nP1+g^YaCJ7lNAi$Xjh&xerX<{S)a zC&GGQ53&?2kUVbE5XA?AlhL&zL@6|`KSWbbKzzZpc1au@YatzGmV+<0TzbkW<4wn5 zj%ep=;%CAi8;Ln&C&Ifz{IiJYuf59r?p2P60RifU?jN2I7tr%$n9BeoO08Ym<%vjK z*|0~97jVo@gy{x){zuu3Vx8ke^9PNfo&y6uQ1lz)Q!o83>_v{= zvgO+oMI*cHebVl4d3T)#tJB~`AfAw)W}~uU`KbQUC~pWV zCrXA5PzQn63OHX>J*s9E#!Y&($msm+yKcg zF0|1qs+wW;Ef44{d)j9C44v&({&jP7* z9O9;UbEw>)D65Yfp$YEJgFT)`NmZ=?Vm;_0P-FVp;Dr19Q-YMso(dOT+);elQMDykv2I0f%2#a2*XDws0K9W9)ey zWqp}@jKnk~?|nBWr}NmeT-o|LWM{y;E_{FT21eEaF#Lf-XQRI2b$el3*CxrCS82O^ zqUkgk+jP!GzC7fv;z|x%`NVkE)=}fk$%&yvxFmC#)!GxUg6QXGMYjm}4e9btSJ#V{G{UkR;{qqCT)|MGR>%iXjwFPU;;<(FGDY0b}%e<{gZ`^?Z?W zx|OuqZ$Y~7K;iCXtm`Xq&o z?mSrXe;6|}Q7uDcb-fUd_*`}fKh3$BEIZ~n2=QH9Z(=R~wk91Qx%&@Ih0&b}FVgUF zZ9aJh{MHDL+w58IAc72dD8SsPCU$Vu9M5|<%= zcOJYb!&8{HCowfGc5pC+FrNi(X2{P^WuPG$+l}pspgTPti+pyJr%DK{o}zX<9)Gou zTqM{GUewYiA3eiDDg-6@V@lAS2ur&LU5&TeZjKmKk-(&Vv_e_$IFYlaCzRiiw4*W*exn$ZAB^ z-0%OD0Nj)nDuXqcry?qTo^wrNsYL}hHUpu=ZP{P;95`SCEpwv_xXoAENR&MeanR0$ z7j1ZgUJoYB4CkUW=c5_%DzSI6KPhBlFc=7D3MPXJ?~pcR61S_Iz=F=+3@u-#1XlUN ztf<7jv4w^$wy3-Am`t9x77)Ocv6G53;YAuA3D@85jYv#P1h7Q~ppg{wL`DTo%ZLP| zt}MD)s54dMd0yI-c#jrS*aNexS>J<#36}U;4C&s8V(yju*xcx|<{wUk7io9|WS%HW z#4N5r6u${nfYd6fpvlfrj}Fi;R=tUs0el^77=V~u))I_c5bC3I-*&qc(8mV+;52ic zY<9|&LyAXo2<@(ojgMcCru#<=JDdkE^6=!8r+$$2uvFY5%U(T-;(;C9BXK#sOa8}G&mKqSOncl?YO0^IuX9i?Kwg2QRB-qYYCx(*Rs z`iaCIDhm@Ve630XC`#3ufUc}+?pL}`+C-+~)4M6|HC`g>rxXwn}vu%@8mL|qi8+`~#Wqu&8 zk;&0FK!xb|tYA@LR7FcpiL&Dml$ci?6!o?tNgof`F`NeL%`=mM!ow>VIhBRqhUV5i z-$(c=9uNAndQSEBKHLz+yGIhm4d^_YcY zQQtS6)8IuOzWuWaMv4MbnDB(6R2-l)3)u4g0%B|(huCDR2F*z#5C`}c0L6Sg zfvMYrI*G@i&qc^6KW$~9r%^%NFeX3wKW{6jLO*-9u~ec(>naLfgw*;)p8yrRCOf<= zG~)lm+m1G!8LNWc{tQUAumf4QQ|_3R1dDePoE#Hsp3K;OBOn~#JBbwa@C!;B2eb)1 zcX9{euyE0dKE`q85TpUGQQvXfRQ-XG2|Ot8-B>E`HaYts69Qyu)+X-m2a=X?z;AnbHkTZ6?BRScki&X2BbY?7LZcfHF>XtmT-c6Mj>*M4 z35SfP!qYVe$^qFnI8lZ2vbv&U<1<8zGgc(6};KY~1CkGON>U|sth0H%CaI4O8hqSQ%04W$*vj+V!pU@#UhrF(@ zUwa(JKpw(?8Nbk3}QYVgM%aC!)kF$^ABdz6&wk z`&o`_FnTIsr1>(Y4tqo(-I!dwk9dbnhwyNg5$%ZzgvA7iYSuL>9irYDO2iW9j*t_M zN&}%=XrO(bz!*l85sP$);X5eg1B1NcZqn6pQphYM^4P1wkJtQ=a7->)$Oj8%S70UzLU zbh;6kxOfMEdn8k{Jk06B3yZ^}32pxUJgmnh5G zFW2jhfhNY!BI6emD9-p7^a!382O>daPS~Y?ZVU+q;k%Zl|E#C1`E6Vkip}H0KiV46 z%{E_hp#C@WXF2=jb`6=<`LBzNbdz~jH#H_p3T{;T0hVl^*AJ8wm~`}Uj^vQhA;9Q@ zfBg;PAz?2xD7QZRX*W5RvtRE2;aQGvNXb0(nrF#4pEm{)zL67QN9Vksax|?qZ)4q> zL}uVDAMsXpFTK?PZ;1AC_RHh`lXay4 z{GcZVA^@x&Hw3!JJmt7jS)(TWAw&>8Dd^~mMa9(MXRNks48+Oj*mN};5$Rxb7Rcjg z$j*LwU2lx|u20#IsW5yU`0xOe3*12LI{_V$Um3~jU__Q{9m3dDe|7G*Q#|DOQpYNN z>=J`_y;V;RS?mmDk_1^Q35mJz=*F4Z5j**n<95d#j}hZQ`DRwpN%ceey)7ABG$3p0 zC^M&7bZL+jp$eZz8J!GGBpVY3hdd|{v$@1H2GGH{o9BR{;z|yT-TNUs`IU4%%Ikk< zO7MTWUvc14J6Mwg5%?&-E^4Pp!3^d|=r8(Mpt1sJ>>_D7DLs)z$r}l=#giSeb6?5V zhx`~ZfuTDyD1(uJ<-k$@f?|j>v(zoCSk8EPv@UB@ptC1_0Ofvd)u`+Hj(GB}-e=>I zf{%mT+>#`m$M%kRIrWwD-#z0@`31>wG{6{C8RzIls!Wgs4-1vEzpgNvzUm8pH9RT0 z*R2T1xWArX~HSYy0lL59C-5@}MaX`)< zN`e`*G|+X%KFO)Q&`jnV#+@Ok3v(#Q*WH`1ByGnXvJ+n!*T>A)|N1c_({w+|3wQRY zg_yxJk%-phQz|cNXGriYruR`sRS>sCP5`?0zAk2@^vKo5E>3c>=gaeO;w!hd@98At zbNr;F2d*@pD7$QC-)h3KgdnjY7b`sfr?qAe;#Xsw^xk%A!ohzB5?)*%7>Kbk3mik1~|X$FrEEaPAgpg;_9`V5&K zmvnrH0ZPbh2tlFg^QY%R4jUuxXszQN^p8LHJM(bftH&+m`REW3$?gTRbMXD+JTn?( z8doI!k}Xa1N6-^$bu=so>bncqNx- zF7t5StLb`@=M%jLe;G*$_zxCZo)Q6Em{Mn|YeTwlHvuvQlRRHYqm-J_q)xSZF5qaV ztO$1;Z&6-uixihgoHiHX3^(4lh0|Wmw^y$}0mq|=NC5N?bS9w%PCVFO5?01Z0Y5J#1v<2fHKBx$Br1~)jlo9^Pa>3YK)$kA(I|43%ulro%U+EMVy{` zkwbjL&F6krP8A5n!p38=goo)Mzsr-V~o_4AmeWe{_3gIZ-1t8>Q&pD`&b_ z&M{ZxORxBG=)P(0QD<`6tM`VlKirALo6r_IlA~~xOQ2T^8c%!dYRf@Is#y3cK#W6ec)mz60lJ6vddzLk8p5r~u;OTMq4s_!X}e1g7`efC1%8Y;#Z7|c8gC}fG{t(5Cqqyt%7GO9}z72J*eeC`ax%> zK&v7v<}CTH2TOniwgE}A`2A%k1#S&3tRkx;e1&q_u3BAMSa=Tr`O0r&+IUMKw9>|b zw-}C@=|B6+ZA=@#rea3bf<4I=x9r$%IcDcTZ?NCbxj$n3QbZQ#j*gn40+s+nF(W(p z{;RO=@q94dL-`Nwsi?$0^Ei;care>V4j+xm118$}OoLSVVh#3un*Rd&5Q!@4)R8^IP{1%lu&G=?^4zwup z`!UyC9&TrD&bTA6Btt8xN!OU2G}EUny_nR!+hK2oA6ZwU$gKSRoIAsFR*@W!?G}-- zCf++#3)ir5T9T8Fl*oQd6*egY2)y!+fd5e-B7F+5!10ub7c+keZ$cZ6j+5CdZ*XK;63CJiIz#NFs zI^?({b{5Ref}`G#2ErP@x2uAP9?DsGy0TNy+I_JpgK?GzARZ0o2I4CV2xQ#0={6ex zY+or>6D3<#LWxRQg_B2c_ADTw-~uvc+EgSt^f_i{!ST2?06o8CL1pfEq0qpZKy_>~ z)0tUJe0#aOw0Yn=P0}il4@9NuGEG7c1a>PsfohYB0l=?yvmH9ywIQ4v@nL#Kr6RKt&@Bh+cf3R6;l3(a11dik%)Y?if2Th)=M$lC1Ee1t|cxKuEu0kR9oK zC`~zL=RnKIeq#pw_7XEL^CFj#im88fJtL;N&^|)aM)0ECXB>Or%?q3i?B!cVVb-0r zl^$)!oViYXZt>Z|T%mA!28HXdLe#o2#WJ$jaUL%%Utyti!0m^M3g{yXND1hPoiutN zqMtDIO^9?clAscce|ZsG2c9kR67Lf1CFpn`7(siS51e2UG}nII+SbnlzI5)CVqKUr zpVc$V#Y3>r=>}kcYE#}}Dc@ygd0ZSf(d-%3)nNA{TtIfv99}A;CftMyxWlr1u5n zN=~!lzAmWX;{8^%Hz)lP;g4rgM|k&IpPRRMzw`; z;1Jsc@`7@^RKm`iCIx$wE@eydsO@HOyFR4&ah@OXRYI0rc-cm^7bACC6sF8a9t5xO z_6nXonr^7q-0%olsp;;~rJ!c39z{%TPW^CSDx00oVuh^{nHNH~{9$nha>47F)Vm@>!xEMo@w5^|yCZc@2m zEZLn6%{HD$=vA7@~!MU z14mO&W2^{M=6r-aUiLjjR+C)6(O&?O94OBcvL?6yG3b?amf6534an8--CR&kQCFKB zpHyoIaDGGuVZ=C4(ReLE++q~HFTa~&{j?xVnd=_$YHw**;rgf}&}&9$uH)_3+HAXKAJuIF!v~+&Jh+LE=LNK)l`bC=jilr{qn(E?@=On-6Rx zZlsD_qx3g0t=V((%i(-hXTX*2&zZ*McjX)hOV3ZXYEY*TRXQb^f>{+9o6ZvGPrS{7 zlfX2AdXTS~b7Tf8@Oa9oOX*^c_qtb2+x?s|51EW&_~j2U${L~jIXeNa{Cxl3XeO8` zqfZz&X;a_Oq^p|TV*5BTOPU3^B%H$|qk zw8+3^VcBdAhdX3t{4qlXt|Df%lDFnZ^qSouziC03vL3S|86E$QSi15PXH{qth!3cm zD~Q-~n$w3mOcgd5+QEPT+&WkA&?nle8NIrlP2#u0>)-p} z$)=u|JLst2>Y&qlFl9Zuz=DkR@0c@VFd4@TRBI9Q*HA-PT4q~}m6DFLT$OPSgn}8_ z;X2MhELbVCy>l1Ho?W2Saeu|k>5Sw75}&Ls z`x<@S5q{hu0C-mNU=gMZBD?W(p;cF}sRq~$*gtV@&e}ikAoJVJ8=#@Ax;B_6p}4J& z_aJ5mtsF=Xc~9Hp1)87fKMpM&gfEM?+VU!*lAwIX0$3?9o^yx(5|09CCBWj||vQ9QqY9i>Lzv6hrqVV2N!d6Xpa=kh-Vj z4Ac(Er#DI*Xec)osf;$s(!2wSKa^g;sH3N*kRv7W{bey`4?yQWF>Gr0dG3z6JkCZ* zFMVs4YZa2*$aBk8*}B3gCnM9`5sNW%7`TDREk%V>{Y(~_@6cx?f#{Nl&heu3iH3&9 zaRWO-pzD+V7ZrAXb<0aR=;5Fr4VCt{Z%>*luz{^ENlu&4=a@R*ZMCREYh1W&5>U6! zsCj)42h1&umUyLl*)c~!3k%Kgd{%ehtZ~hVYIZMuHqzNKPsjYoDFD)6>mxwMXnr!S z$}k+J?*cA#`UX^z|7g}5)k6cN*hdxA zhKYk-4*GH1;cokvnl1xpi7Ytb&1O{_3^$T)r3`r|{&U!S@{eSj!@Kz1`!MRlbX!yZ zG4^P22&m$FV@YQce@gJ3d5e3`xHsEA8?pPHftcvg)_Cc30VL@eyt^*Hx-*gF`$Nof~{b7g)X>E%-#}i@u?1+^HYkJPR z&Ns=tfol9Z-$m7n0(e4z<1|M*h^0*A ziukih!JpbW9q1Xci~)d>e43HZ0(QF%>>cAoqY}7a62TA#k2z12Gg6VlVGj4l1&OkR4)7Q8j;zdtYNIFUN z$1BM6)YJ zF=GvdXo8-n-59m?X#g*GyLHLIOv}O4)PFwam$?QlpN8M?7No-UQM%0+E>tIDBJ@XP zj?QW0&;Q;UY8GSz$98MayO=`e%{W2VWYTX>DN%eBKW^whtHIPXp0~zZFIez&JJ=3@ zT0o-4Sh|A7EZ36s4@F))tA^faFEJ*Xmy<|*M;R)1^n2(jI%Zgk@mBs=`+!?vbYSM_ z4N7Mmrlcr+O|&y&d769aX)V$ zJ`+l%8~PCEux!MzwP0#a|7FZeFbh=vSeAlCyzXZIzNW5bha7(z3ti7bVfPQFw^4Hp z_$ZqxgV3d~IZMIRoF5@G%y|hJR0XhiG(XYH8(KvmJb+L;);n3_qlDONKLwCaNcG*I z3%_T$n307##x=PZi)e$LK;xjv7^ zd;!yycx;hRP_zS1&TlRTrX{v#Y_Z#^p%(=TCd7 zKCIX$%@5WMgTpa!tlfu$liPj)0Lg~@;ahtS zMM;;TmV>Ez+z$sAm6)S+K^!Nm@|dheg~Zd^ZYMEE{hp10{_u}%60Mzd16t~pu(_FaLCBR z=M9)*xj(8h3PbLeemX)=i^0^q{>!TlwJ_vF3ZDh5XMF;aa?EcQOZ8eMdc)7yWpYn{WRywd&UIe+&A5s4sg24g3|d=%m~|%|8@YV=s9L* z!IJ;en3<+xZhm5Q*w1kd3F1YFDnDL$Fji$B=Y;Y^**Dr&%i}pCk#xG&z_o3e`8=%$ zQ%m`8V^+D3N^=$uW%b*0j^9klk&&Wy%qU%q?Zwe$L#~)d&d>sW3Xx9>!qoC33rZB| zXUt5;RkASfstm5gTSG$e_P<@!L5?}4>O!`>E@uoAS_4Z`KG#N^AzYM=bf%qRjYZ4@ zYVLjqmrOt%Gg+|I`d}LXjr?6ZS3C(n+ih<7q1rhCx*VVaG5eB2_Tc_Qn>okRxQ3APXU4+B3;7Ey_GFnI`T1(ME4_b%XvKiR1PN&KC}evrg)v-}SVCcoSvJkl zEG~yU9rA-?{;wKR1M){^JU_U>;ii3u&VVdCV`(UNd~?8s#@N93zSC z7souu^^qiDkdyevEKQ1ki3?8EAXNvrHOnI({+N7)pm`2Dm^4jE51bZqbf072oO1Xzk4 z*{4KdBINNOh73;!U2M@!7O=VN(l|LP!lx8Cep?i#2wnBL&XC?k{3FWuIkyV=ji4)0 zmR+kdFDSNCjQf#hYAEFO6v@!^UWvrcXv? zAGe*AqtatL{%1+@8+AA5lSpRSg0WMoFsL?MF*jcOw^0mDX1VDP6qAZ!RWd8~{~_jr zoF|?;@yB-nN!R=qJX``qB~FFeYuq0o$NfORM*~d3>jp)#Ff91*F(bP2I*VcJBZ~6` zLskVEPVD3HJ%S9S837Mowkw<(W&-PD6Onnff_q zXTf&sxc|AU0!lCv4ml_s>3Do^IzSO1&Erz(?E|uG+z(cPK`V>lL(xj>z@%FtgCUwu z+{;O@^?S(CYrM4ESmps`rCkRNv`1d@=aLQ(qB@q;0M939RxuvOg;;D7tU+X~+P|8R z*&X%e!O|Tw z;(=p}y2}hgognzOeKMlhqU&_WR%cs0iiyTF3eMWM zGANc}>QInQ#UI7DGmHP~n4JatbB)>X9Q+kC)9gd4L-;>T)5e8>mjyC{pLK4?#wm4D z)J!vs=1Y(uD&IkwEN7gw2X&D*4gr<8HgM(}B4b90E!}#3{xzsur_)HYmmn7=~o| zRc@@)X|O-|YrVXh!g0zu8508zFys=U%e>jAss%K?InN0>VXW-H-^P!BbKH(g5-s8^ zzthj=2QR~YseKW3mSY2N^DAU$!6)hUA3;-9yj#|J4NsePUaug0b%rfChMsL>otfa) z+V-dxD77xuruoPQdO>c>``U04>`&lgdS&~-Tb2dPpe-vL2+8qaus(ovb8ia-h%Y)a z(_k=JDzx+43l^rj$e8nkdx8WEFk>dYQ#2aoLnGW=LBa3E8=3<9I6DpY@m~fl&KSjX z%iP(cUY@y(aTwASc8SI4w88>D3QlvuqHe;d1qE-kl+V8P=}|TJgHFzaeg2m*Bg2Z- zT*DTrh)?mIh<0F@i7GT?HYFXr^$5r`wO$)$5-&D_6}uF* z?LDt16WFmeHX8M-lS*oS5PF|xgkAI?3D~mi6eO&Wg`+B& z>*j2Z&NYx6T(|q_(-C=>?`xBFGyJ_FPuVOStPiv%)H`Tr!tsN@_RekudsWdKfE%xF zR9rB+EKV)-5UUA6BL&eemkPEM7fu_LL6fOG7xLczELMrrt5&q&qpD*YbGC}ByZgio z9J7)$;dlUg{sP98oKQT6s4n;?J37)g=tA~Yk-ur72^w1T*)jV?WDQ5P@0nfYpLuJ8pkGMIt?LdYt)b^OK)7oRtXmLu+WnlJ3C9x; zzh10|7#J3kcSC+OBePLFESON)aGdGY+(xW(FtK2O87GI4?6*on0}MMuCV6dN9q1lo z9HFzZw`|x%pXE(-dL^gA@xX2TV=9c;5f2j|6U{5&xZe?D#zZpS2OY={t`&FE*0xw| z60Dw9wqqMSw#*y+h5Zsb7vAZ*Y%|kaIogLzl-T5T2?;M>cbKgw1Z{CTZtA>&djU@b zF_-RYdg7L&tB(cqzM|O(;U~R&62zXIR-*SP+iV#Lvh+C{PKDyoV9g7d<}cd%e^C^A zs7^~!XbwC&8*ZZml`9hMr%Iy5%lsVRRS3C5T^a|TGCIyo2XK$)_nmCa`%f9!m7NMj zqWQ+Gn&E$q`Qyy={S~(RLWLuKhKzqt?HhE*Knv-w486cX1I|Td>v2KjNQ>40=9@Yk z(eTV&b7bd2@o4_52TflzgB{Zyzg5JZBNF@cE6d)LW76eLwISC4gB1e`X%t=ZIGkKNJ zQ-$^rel`0!$N4_i)(J;J6z2+RsS_~9R*huFcAEUNBpd_KmY7d?gT_I;cmkjT3_q>H z0aODa9@`1V4x5}L2E_N`ka5SP>qK7eesNH)@YZTK!Cak%6Dk%8j;T#6uooJvpw%pD zh*)jj#hs*MN>lUgpmlT17qy!VVl_&*35gbx6>kec12)By52Jb>G*wm}{AqwoqyX?u zDhWpvsu1+Dhht{VMU&u|x5*O%0Sohm^y`L}bWCY#zP}H;zY)11j~v&@#d}CZ?s}2C zlUwhl(Q!N#ZB9jN{XAzdNB~6n!)o?(#uXTC%*`;c79cqal{(2E=_N$z*SDRdWAK{4 zKW8NPUk>yH0E+6;jEa<+wU{w@qGgaK(&QR50yad}5N&}zjJ*2<&Bm(hMFJwbg9cuS ztC~Kjc-P5;j>_x6Wl%p1tK>Z}kakRIYQC?-G2bnd;`zsS016KBI5ro51jt|nU5mW` z9Q33d!n`W!%(Tzd5ka5$Yq8aenyxwMI6`<)nCFP>D78H&8oor$TW5iR&Mru$9>Zkq z5%l@)4%f9Q78!LgtI%-tl%*>WUk!F$k0L67{03zXY|8H)jY&phanhLTHwBG;J?JIZ zaKc^sNh6Ysd9IF!xOw~TSPr_~gN_>QEok;%H8UhZ3F2h%LaIO~ly4BFUaR3o9f_M^ z8`25UYxS9O0L$PlgdBN%u0RII2@>F{I2fU zB&qNR1^@X~2-10~wDA8Wv1BCF=mt@pj>mNgC8IP0I|PAuebvf(d;Sdk(bD_=MbPo!z{K(r&!BugL=m?&)}0Mi|tV|Feak6id(`a_!& zx)*m7&3RNPrC(`f@?AIfdJQB`JkM*W3s64EcuJbI|DWa{mHfReXIMqo1!ff~8Nl4$ zQbf7cJ~xL`;drFNoL7bno$CV0M;I@}CTKaznXfl8bOZLec z_*V_I8sioZ{IR1Nd>@@5QNHG*rxyHpqD#a=Nrevafa=DFd{&!rH0TEpUTt5{SF=)` z2uHt1Jl+m&7AJs?9%pu1B*~r1UlI2;Vq3EIp;SYLX9*4p^5HU*KXCwp1}^G`V{RDT z*N2*=Vvd7-KzmZmJ(7)i6RSEAjw=xs%;eWw-4D|merwg=91)qxM+r@fHQ6I-KH8Cf zDKZklmu=jTjM9z+MQS-$oeXw~NB+?dClSS)DI+JfHNB9Jb9Evd^ByxM(l45k89iiH zB@N*K#tfBraEc0ss4257WtEPN6B^`kU=Yy00BexQO6N`NDuxs^P?cU~L+}O1bJrCX zh#$HYvZ$X2?MyfxU18L)e|ykT1*{X2^odxh%;e=FS!jcCAo?Q-egKMOMwzc&g&oUh z@undzRbS5>)}!uuBAWo1gM^ImM$g+R^|sus&V%#3pXb-nfGm2Cue}e_oYhl1QpEQ! z^@RO^XxF7W)DgSCdculrFmP#TA3o1aVDMDYxivvT=Q&zRn42Clxw3Z5PJ{E&6S5I` zQBLMYKIlD|26RM9G%*nA3rbq#37#DlG;o_NihA=x;~LxH7#!6J?n-UxYaTt*IizvIipJ=VH!&>Y}L~8?^ zOYIs5x5;5(e9O^9r@mxj6BiMq8FgU4%>$GO&ncWSzkFlxuIfZM%j33tjrlL*q&U|7 z`US7uG9?`9vvW$l?7|Zl)&K}^V9Pli^BD~*X^#KAAkLAdVlD{9rnK#Jkc@EmU7ZML zeVpj}23q?|%%wjrD!qghJ@LdK879dheQ&#X#v*D%_|>!@SvpKimM;$JdUT!WIO2?x zw)_okLf;pM^Wc26gwf-?IJ~mgjUtn=Me2ZNQRriOI9X}H8J9DRd?gZsOc@>!6rY>L zG7H))&{C9|gbba5q|!I|L=;k0H$tKP)(ct9iE#FN$n#C(E0Ma`s8Z;nf^<#+iiaF+ zfG8){fPbVh#4M@7W+EwHj7PeT3c`RM*Ci5mY)xuQ3XM98(@eD}Apz)Qgik9o+HspfMvw1ohz`An+6hMak{$eMQln2j_YQ{bnGLq&pdR z9Zejhxo#W>gQYR>Wnvu8wNXI~WW4LOVQ%#XOe%a$cp@U*s+chw=W29ew{4*KK`X^& z*$l!axQb(TB3$SFaA?K-JLaezD75&AMBJ&88H)b~;X<}7(4zGUMiqj#L&YKqe#fQh zi>!TN!5BAT@jFoXCOwJkIG~U6jV{r{fn-k$mkC^A{b%;ef25vqko3MHTz@lttUxH4Cp{@xx)E+O2fQ0LVX;sYedk)-}6f!32 zb>ACKgDc--Mwawf%oDBN`6)M0#H0B;icuMjS0{^*j#q?q*(t=R%Wf{`9nT;{4l!8L zW5$zC1W3$8~yi2lyoagNrV7o%7G1N%9$U}Z�(3_qR~aRt zn3C#%Sh5Ly?TaES<@ys|u>?QI%2nyz=nh_Q0+=3$8~y$m0Di=BXZ( z!SbNWjlAO$i4qcg1~)YK#yn(0iRu%j(6#dR<65+C1b=^|&sW@OZbXY$W6{irX-4p2UJh;|>`JiF*qm-C2f#7Gn zq%5iiIvH%~%+)ss*BqjfzBzh4_vIr^QqOZEQW%_0zlIW%kxt(ILAUlcNIGFtVab_K zjWOkm8Q(X$ikl32NEP*dz5*7r}2X|gkR~!IurraI%q@^cP^`sX= zi?rPu+`u^K=AhI4Nw@quEnxapJGCwbkOx4G+?W@pjmRTF-PuQf}0x4;QA|bu)GDz5Kcb;xS+!# zr`YqnUDC`EY3~+?K(nN%lF`=oKK2^gWtPjBFzeUlZoKci<)Ck)(de({D~}1>K}Qra zekS>kFgc2#0ri6=XhT279~t~Hpoj{iY6NmA<;GptMYM<0vmA4LK~PoPNP$ZdWM%=F z0u#6SHMkn?-CTxQ~JdYs!eD*Cth08ezKDpT-Bz6IUZTMEzYhbZN6m7q?X zf>YJ46%i?$odTzWNh6p=Y#aKLZRPiL0NiEj5qDlmp7w(!{Uz`lK{IGR@EKG9=p^rM zMY1v|U_B;{|Mng-Is}yjzk=6^o9TPsH5vw~V*rR(%(Wtv`P5^K|4ypCWg`zT{i?fL zk**A=mT$~>TIIKH1?(0uTja06I)F;#3QLlYY{)+JtgbL428@HQN>JQuFPLr~+7#eK zTbx)psmSkpxks2?AdoV7{jpm$EI&!W#mgVQyTYkCdOA%(?`3^57#v-w8tqC$>jeG~`#^dK7P z0=)EoT+#r>BIvzXxvU-6a5hXoK{GG4QpTqB5K|kJb6j|mhzA&kh^5?>X5K8DD2n2s z0-eSU{1T+%eT4v8rY1!ST8q~vSs_UEEOK?>p*6s3=qHT^$R2bIr^ECF&8+n%jJgmJ zj*F+`M5UFg{qQ)G@vdA5N7jQ$Q9=RRy)sM8am3;O;Ox;|EnpoUPRBej5z#S#&gCc6FC zzCP0gq9cy7Pxnd|2|Uo@PKP$o(UXR8*Vp+|lxhv9!_@xoC#?ePWvtt`jnDU2{$Q3w z;WW{QMmO?8HWpCtc>4`W$}4C@TbS~UN3{fk4D$NkZY79$_CZ+F`7k~5Av%UHiwY#^ zr0O*g{Idw{AMG-cv5We7C6}exKi7^iN!*NLMcj@D82>mR_}2^{kB%SR=vM!ln%3z_ zpEN(~A^qgkGMx|8c-|iQZQ>Y34E6tVBgY1!==Q*Qq3(YUm3Re=e{}8c$WWubN<684 z3j2|r#PPW92WgSd`8WnUA0nRjo9;H957VPNOti|skB7|iXzh{sXRn?uLW^dameEX{ zG$(EB?D5t)@qxl0_HwBKrwi#CTRabUX)XnK+YR?dRiO=3@{vA=?=o6l(-|>6=A_6l z{eIMcSyhleAHVVk?7)Go9YriEwBxFmSQTmD2PM`!`*?lx_@(m10584-`5`FlsN^v? zVmc${$HuU{+dMLvC@R&*05+ASor}USmzbMX&Ibq^@Z#j3w1&=rP2{xN&X28Li zjEsn%R#I2qrX0BH7u?8Z9D@*W18Gmufnb79{c+_n=}-8;>eF3e$~X+$yTTYAVz7*!nL84`K|wR@t<`^5QE zF0l$8d-9L9Ypy$HC&c{d4;k9O9gfU~idoMXayRHaXe4L_gO6;|lUb)S)?+ESaP(~b zqvn&2c=jAE2sdLGRu#=DzI5$r_1I?oU^PHUw^8-8+zwq`J#(jHmBpQ}?^x;#8Og5fCS|Rb< zXD3DLi&!;I?m42q!F3V9U@8E%N}d@KQiBH4o?}O1Mme!=J`W058y0P`8Pxv22|VuD zc$EM9*+4w%LAPo0jT^G#MU)|5^W7*6qw;3*5T`sP#~e+|Q8uuLnMw8nu1Dv5&?@?h zzHlfOo9X4TG-L$)zsKA^5R&~Xe-a=_3_fInheqUuLxCL2o|C~$$&Q&PG2y3r(2nct?Afj!>O=5mWB*H|L2(7s6S&aOiLOt8Ke=x27hlmSULFiG6#tVs-PQc z29h#5feoE-9~3mBag@cKBXPRhhr_wBl*fU7#YJN*a(q0PE*B;Yui4e2bwTmM)UqSr z2u2XbHF8zgd>8#6*b>OJdiWm?Jx9#TKRPHq)zRE}Ty|-%6LGQM58A1))JM#i7_ByK~44!utz3od? zmPP6v+uIvVW&6bJOjz3U;&^+`H9CT0eh2B_i$ms6j2k`sSXvCCu=5_5YZ7lPK64#>02VC$WpDFQLG~ z3a98m#O`~bIT}^+^Rza^JTUi3%{TGDRZ&oG2s!KQbZB>`Tn?`3JLr z{WrTR#XQADiK9Wgsj~qDp7j6)8EJgo&c-<9c7Sc2pL6`K&ZuMG#CWi1YEXnz+Qx3| zN4pAt#(|2tp8xm7f!{XZuLvD=XK-06?Qo4a2T%{*E}ruQ&)jf)!qS5y^UZ`XM}YRC zD>?UimWrdc`5>$lb4HqBS;upN2|o8b=uB82bc*+wleDEf`UzE-{NYK*c`xjo2`gyn zAxRP1#S4oP@nQ!FcS*TMF=I^(S%m*wN5J<6rdnL3KWKVP;T?0n-y3*>{Lh(?R`BsF zx;Fs&OjIN@`{R5&842n9dKltUAiI+C&Kzbkus|P zpJSFY_X8wBV@j(PZ(mp4dJ}6bgA*-+b@lp<3a%m5ya~Rdmg%lzAAlW}6CvH&j@gN@ z{-9I5z?7H_i~~t&K&Ld{Su;{hXwWd@>r2T>7t9->ydgp*TgS^Vy~&Rd6;Gs19CW;@ z0HE(>ryg|S(dE5M|@a7D@N;#n0{3W4V4PFQO#oYpeZjK zyWqn3x82y^k$U1fGgaB+#tAG4U8^lyu-cx1Nu{D};Nui)wkT#R&h+|V7M3^RHQpaQ z0Iw@cS#$j;Bgmkog!pF*R!BA=wghoGr5<-4aUgK(9QO zWzf9*5@PHo9YKxh74u_dh~~iWn7uNrpym5g%u3!gY7?p7#9+(1nDG+ILJ%9;rM~mi zs$esL;Hc~YO#+E0o6(ckykLM@kJ3$O1Nlp*4GEJ5gJX6gtn+?0P=I;4pgDJ#Y84b7 zm^jIcNw%Gsz7%aGXjMSpfYx4M$WB-a*Vt}K_Z1y`LJYb|2+ z>DSpxf1a}wVSQ{2*V`WJFZV`V4DESuEadI5oJR4h!MgrFWf&`*PoO`h6(UZInDuyw zvn%2mC*yQW0new2q1R4}&GhyF&*c1KYeb92wNbHmX*}9wW3fp`0rF+yJMuXhfXaEs z(2;MHCK-^-ILjb@oKi5%J?I4#8`5GP_}8LY!FHwZ5~FdT}|3&iEh4F$*nAH=H~EL>={9*GtHf60{ME;p{OZZ)Ma%$$+1Z z*8EaRkt)D%t#h_e4*8J=HE#YDGl-_+12M)Gps22cOhi>M1_OITXFz_`Y2bsnHCN3K zJ!pUv>~({|@T%u*nA!_qs=BvQO37OpIJ&{IQ@7P-dV2y%)7xDqX8qo4ydsI)6OC=Qu>gW82p0g&Hz=1xPlD)%GfkevnFBMTxG z^j1E{DP>%-V6c^TI-@lFpmFG8$73A>7)l*NUnxtTXt(1$qfr>#WSyyl&jzNH?a8Q7 z&{Zg)pTaHewAf5_KK5LnG&)?;oZE_APArV zy0n(*yNOG4PuGHD-E4O zY>F>G7DCX>+`;n6*tzZqKse=aDrKzp^CXU~{0E469~j-tYeJ4%vCIKia`p zSTsw&x6F+lT56wvY9uoc=2r0r;SNhdbH!W5drQk1OUaztPv86u_lCyfR!L^uJ?v7JMqrfE#&v&NLsBRW`RA2Ae9Li^OCr z&}e9;6wh(DPdIDwphnd+<6AuMdZIu;^8Og5exSNuYZiu5r=Bx7oTvbH=7x+tU5Hv} zray&da(|m{uosJCH^E?MK+#2Gk86Hb83^Vjj-GkZK#88_n^m{ zy%<5GcFBJe#Ra8&@l}UsPzJpLT9A8Vh~N)fSDHoV4Sb%Zx)9+^gf1QP0Nt0?exT?c zW)(M!wNBsTrB2=AtIj$zy+6|6KgP`Ntb>O_^q!I7x|JK9)hg=R@#KnQ2B}-Ojlo9q zDCu^U3Y(%=8Cm)zw9ZWL4>|?7fxmQv$X?y3@P94Dm}|pUxjuF1DNe z+kiZ1vv1nBG&Ii*eAp(~d>Z_i`1PG0*%h50*I8$#KXqo(o2tCDw$TJa(FCWLb81hY zoKB#-A%vosfr>Gd24(^aHBJ`(8dH;kCg}@Owf+U}F*~VP zWu`w>X67sMT;L&gXOd82@7x9Pr&EGyQ>7oydFI}T>lauD==vz&m4mcCGI zdIvjGF7bF^R3<(=Yc{{ zSMH~L7D*N7AoY zV{6eWh}Zu|r5jSyeVeO%=GcdgB@h>@0cr?NE)94W}KCm zdMl=M6r@wVxQZm%Bn(7*n*GzRJcxBn1Cqx!NHNE?TUcGX-Z+^vnO;BDraZ9nj@fx| zJc$&q`|iK!fK`c>ZGydBY#J+H?BzJnY1~qZURPk5%*9RmUQQkB-j47J#)m*y@yXcJ zC5P-ZIG&`!zX&}=8%+Psyp7(h+I#MiyJdY9xAZ|hkp|cXH0>|WDeO&hcg6qDG6v8E zqEPlUpVwwK-OtG3pu+vD9kj|!f2z#<>)BvjhtVn{{f+|Tx4Gg2`M!p;Lig{@ z1T2+2U2m{0VE&+UPKMlP!+CH%^5A@H2s2X1N0mAni;jjNwsJQTEU2c^nY7)*MqOVk z@B_Gk^M>B$2F7f>kn(gtH}Q_oT~|>16b^?FKsY*YHJ^9~_e!%m56(v(q`Ck7oc{)t zY4c9*<+7V}9w1tyHkLQxNAxi6hehd=;8pP+C};+*$LQ{2xxD)(LQXC_Y%TcfHb=6` zOrMXrXnhOsZ!ckS75d35x}i~YjH`LXIhR%a`gSS|=LS-bvu>jVxKZ&2#QpAtD@6cH zdbB3uMyc4#>tFDR`!#eXoKK|8EAu-uShJNP{BP*08h$+#1P#y4XifqYDN<)?-&6>3 zhBFGGt$(0j?9_k)DYUPc2$~X$jlrgVB)Uh(>{K`(3qso3mzWcaexPas;L}BSS9Xz3 zs5@Y7i}?Wt6uC}@!Y$`{Gk1vW0U~e$#P-cm`Tha4y7fNg?WdcAT5WBf!v0wtvoqlj znVI(LTUihm006H;TZg(636}Z7fm` z_1tR+Pi=K|a7U+)^o~!ug0|31{~|=8VYj@%SZ@BR?rz7g#&>$I6wc<6u=- zQF~wjt;9n+Yt8ieV>WvJKGJg2K6pNH?||2*S>iRExB`RmM3%@)mFTc2DS@J)gVb;4 zmB^?9_5gG+95f7gIHzVa7447-8jdB>AFet&l2|^|)|#O;3RC!CgMjVbi4@B6a-y9=OxZT_5iqJ4TknP9+cgASNKc7D`LjIpx50M!ujgn zYg%ijuk-n!-ztCBfd|7O0cJ#V*+AuV*?u-^A_WO9HV5GSd2ON`CA^hTWj5icbd{Gm*-*Q&NvR*>2UoRkiHl^ zzix-29aGsjmvnKCZOxExf(0odSIaxGEAlsM3bLer{Z8~eeX z=cCEa2WSL}@t>$WKV^DSgW^7+m6-dqCrw=aE?Rb`-(_cLX3qqG>}t=e1rRzHyf5%>qwN|B0P)|@&VbM#FS9U?+R+-wzvwj36Yb99wQ8z_ z1B)Ltj;dUM0`Q&^SN}X{G-c3JLB3RCrs~GeAucT_Nb52hMr}E+AEcwBGMS!7 zbLD~2;$zrcf_F?P1>6=mm$Yys(M*weIge0N}T_^SwUoM+O@6A zmnq7)qUC;pll8s-a>U&cKbyn+2E>F$5*H@59PUgyVShdobZHC=dJSicg*~!47z=u{@MuCo z;9GX^24=>3ol&*N9n3=!8`lGccq-LK5Mzuk%MW2bE_et1n3GcY{Lfu@egrL)E*7p) zFJT?aka|S*^SSG)1RF`=8Py(lv@4zlJ&Izh$iycFJ>>C_Hheenl{x6;pr5G_^@NwQ z0|E(O&O$d}&;UqQ7ez$YQv$t9UY=o0mNQA*x~<=q_LR2NAqg$rO$>^(gGrNBBL<5a zCqi~bY15AGUAPrz##3?TUt?y%!(9eEZFKS;CFBp^zbqcKzbZ@2PX1i}xZQ`kc{NWf!%n;*og9MDw zNrYD+T?Eji{Q~yjp=0ONZ7a(SQS*bI@($XaE>PJ$qOsu2cnZ!W<|;4EA@B0ZfM@V< zAqObvNHit#%(Q3~N4hc$14;wnt4Qzib9XSt!92OL?cbEbQv}|h6FgaNAVKIEjUbUe z(N>%pH^mtRU0!+?Oa@q$MooYm7Ty_Ko`Z=${8;@Twc-5`MLqhlObS`wl_BWJ6ePIRx?~U|XbgQ3*4H;6$%lQUoeI+<6^`<%_&R6~v7yYMyqj_6x{fo~ z7h*mV@~82g;2R|_hoR1u3Q<&Iroq43m-OQOk%Y}!ABje#!Y(?v$;jlayw??0oEdk; z8Ri{xyye0u)|f!YH%lr)JYq|V34H5dlBTomu_HC56SyU3MtY<}^&W5ea1k}yoM0>ws0XdPuwfmLyWyvts{Ogz zI#3i!1+w+$QET5bshtr+(2d9D87*1g(jUh{jBvqsQ8+4S=$#wfXvvxJl$-%{`xbNJ zYk$b@a~~kRkkPdV-Ym1z9^W@M%5evQiot2@JHw+!6pE0n<0s7o7&xBGWyD=}sg!_w z)O~J-bov~$^I>}A!$i^ka^=xwO;iHWU_)+*o{D*LN89ydQwmZurKi zc)CKXKxuZ+3Xs&$X%0@em z(((ZpluCqIY+JtaWLpi46ca^q(RJlfbkTzkX`dF&69*Ajj<2kbNJMH1tBo=QSKK2p)R=s-*#{GOqTak=C(RmA^wjF4;clisY94MxBRPVvEIzc&(`p*?nr-Qyfy4~ z?z#YR%`T~l^QAH6x{n}2kms2AG6Z; zMl0SwY5;x`pa#BBX%y#kKV9H?e#xDW|o%E#~cqN9zME0U@2LHUSvpF`Sel&!_5x~ zqzLunnv|Ke^7jeC1xTt%AXpIls~|3JNA7n%N3EHwfADWd+#lX5-&Wz%sW3lULyT{J z2YoVWouHl?9ukO;in*d;8aBmo=A@CyekDp(?UPUPC4$sDXb}L!yJ8>Ypec>w?ly%J zfu`kwBYL`#XgywEROP3)ELNKt`OzCjDt-l_V+jgROSa?eagZaA$VN`vP2J_Sf)_#FhwvOQYZYd}U~otT9}Z$fB;Hz@L2D&Lxe$1fXPko*Siwk2D~uuDJzlwu{;RIns!oVcS+f znra0Hmw^TCmgfF$SQy3@utIz22)D#(#dI9aQl_^(;OP4cC?p>T?Oa%%^uqjRi?z`DMfW}_BT61s z7hYVXzN6@-L>#-to&zNgj&GOtjq$8Y+#1!qQi zw1%XEm#C?3kTHjZYd83AWLW&?+j`q3 z#hc;rVu>qg=uD%Ys;T`i4vQscMybyivA*nRiFzK=4#Z9*gcf{e?mf|Wiuc2{g%+9f-Vxc0w#aW~JjrSA?LK z6t5_i7~*H{ibF%k!rWerU-gDap5Z+R?+J=7ns9gMN}L-T|8NZKG2c=b+0jrb!D0^25N86pc*lFifN%xVZt}pm%Z2O7Z!{ zE$o4Iv#~nZ5Cs}B}ZueGAsr2$dV;zMtN{6YI{2y-2Fi7KDv#h0-oHI zY781OS?(g#A87@KC!z$OpeHoniIt3?K@K|Z#bbQjrwuG7=qlZey$RnSNC)kF zc-NeX)KFf;*BtcZ1(Z$%jzUt%1Tsyf*)Y${zVYzP?r7nG-Hk@((vDzATB-chu`6iI z=D{uR#&!FL(z4)zSa;AF%c<_5oe#?+AHJ_Fkdb*a0=yHP%m|4W=l}rLqdZA^Kfhf# zOQFF|uJS$XpwSW2Qb0jVIFO(hN?&=?-)`a&$*MEssX9~ZThM=L03Ny`wqJ>=wo_n0 z59?O({TykngceA$wkI^Gxc7rSjc$l&CX&EE8O01n-ufVkMVh&utU5F5lV|vLI{qH> zN2YN9O7uK&EjHS+w&Y%OgQMpGte!=9-GC*)SQ4jn{r`1K&Txvg%FuKEsxL>(PKWi; z8lpq>YM~%+>*ueYB3V-y$J-6&_K$VJ;$Q&aMc_v&Z=bTXA*YtM&zcFHow+Q+p!|X9 zQjc)IH}`{Xsv;e<(_t?O>!R&K%U(ORx&z zHk50kAi@7+2hBuilX^P>Nl8z7;GM=E$%%zI)Ns(whV_vRAppGuy)u5uSOn2PFxnKJ zZHj&sZ^bCP0Z3IG%_{dq(#SMON} z$-*G0 z89Ykh1*qcTUiax~fltJjgl@j`zJezA!$tZrl15t-4%{{oz4pq<$}^)r+QWZFcT)n7 zp^-bC!nIdMZ7!-#_)opH?M2p*i%NN;O6w^(GiC?iR6ytOSF}mRJKALBnQ>E|sejXM z{M!PbR;7QvA2eA?VBQLglVr8kZ_KE4FHIUL2^@1B(mXKkM_ew?JC>9>9tb?g>}2@V zo?!>`8goO&Gh;9#2}R5EaY(jP_^_{~0KekBSiXsq!kFSEVE~=tT0(A8^N{{gZzJ9|O*+WuFZU zGu$Jb9|Zx&>}1$}B*Rx-PrMoO_b(|%Q%4}*sm8kXX60q{KT%9NbqydTf0h1ADW$UX z8_tCV_h^=Qe$J>;ukXdtumR9{rWW4M*}3p0J<~PUcrE=WvXFKE4W&e9VYJJKD7V_CM6(&^o<2i5S4>OT-pJ%7S_L!84`0_jE z=; zizJ@h7WDboDl1ufX56G_i1~GS4@DhZU!r@ZJTF3{Cy9l}W5RO5cCDv&eHCm%k78O& zs~t2j6ihuEs_i>{Q??>|U~4^chYkk`6|bD#7i!e$%g)*}#*=41o7nu9m${QCIoiL)LamHS#tq3 zIm>2N1M?VfK|?G$BFUOj26)a8>16SlaTA~6EnNR*K-}?u7Q^C1u=*Nw;Pu9k0rE}% z_z&YfGB&gW3U1r}!$l1Sp z8YSU)P|UxYSO=A>w5t>-fJIRbz6?-?ckr}<`Oje&6{gDaZ z+d{M`m@~&KUb8%_yfQ?tS{zvw9^4#p!(dBA0T)$5n)jO{k_RvdB*W)&%zbIXZ_z3? z)xu^bMiIx_E5oge?wFkk`;Sccmnw;G_oE05z15lUQU*(!bVy>e**GkUACag&Q?Lf) zi$4IIsn0VyZJ^orjykb9Qp~6xlymb~kd7VuC3Gh2k0~jY`CH7)Y(7L(R)#jm+VT-h zyM(5fz0E*to!vN->uXt2F>*SYgy}2rf$jxP;e(Dq4nv0Lcw&CCV|FI&k4%{Ua-i8e zuFs$YkOOA})Lp@!07T*79i*K`7a1`&5nR$GREtu$wDPzRietu-llzyC(cDNJrwkTpYHj^djK2Nqy zyZtt(KsQI!OHm?jNm&+AhM_0R&y1)1%)1I3PC9Wz|yf>6<57SeOCW zLsss32^$K?jh$=t%8(IhJ(zo(=Y7w~m1tCrQyBXL_k@<88U4YlfH&}$o{-xWS(zy0 zPRxfWIX>Zv%C7Ev;J+uiKy+r}2EN9Pt)hS@1JrK#4Dyp`T=Q+(q!lMtj8~jddYj12tLGtQ{;>;)i2{n{m(i zBtmJbGMo`>z%ie!%=S1C2bnCIA=jj;+FQs@-j<&kH~E=}nd|fIIkQs2I#@2OfIhqG zp7_qm85z)g$@$Y)#fNi^aa!ag z>ksmx+lM3iW^AJM>$fe11!%@ofF`|K5TF(WSUG<7Cdqa`XeAp)r7rOPaPORz>{GZR zkUhrbcn`o90#)%tmL>aSpAImA=Wc>Gl6OPAt^dF6$^8yoC z01ZfbpMRLj06x?l=NPS-ZmF-H(bj>o8jJJ^xwL~mO4 z>4Cx52n1zn$NXg7|4r0vVs*9uM>(oqh2jg`9?GQs+=E82D7(mLa-=ZeD$G~=m2lm9|*!euAYYXb~HU2jXQU+9P^fWXaDw{Q~1 zxO4)dFF=om(}94%9)K;YCOGCPms$$#Q%-_jiceIgckgWhnsF1L`EQ1H4RWbC>Q%~i z*K_8~Aj!+LXvf?;NYAIfE;Pn?f7098a3;J7(ENK=0R;&%qT~9^XymG(!FWK4~$$F|K@cq<0S^_{Dw)oeAeN6ZSU%TS5$HwB4fVNJ@YP-%s3eTL$8x zcTo36ouc}~^SJ#>Sm~YrW&jn09Z1Ft3;a*ABy)g!uqCFDis@9_(G-k|-A;TugeZ(3ow5d9G5>uviQuH4}xKT zHMRkd$(Dl#L;xqU0*8aMi+%4zh+8v`jztftsq?G-QgFn-0I!n>obp~Vv(P%AsOoUY zSw=HE;HL*F1P(balnwN;_RN@%L>OK4i#mX~$xMtWB*C|&p#u$TDaqof$x8Ik*k(mI z)q_33$N4+|0(_SR$wat<1HAjyoR%oT=zQxgo`WN7_Y6jm1o9N zdFCHuW}8^!@PS6bTX|kBA+xe#yPfE%eL)WZr&Q;P8C0B-ca}PCInV9&fcAqYNfw?N ztNfQS$3?EjZ9rP5*t`n6c}moUp?Wqk88=G`<+aBJAUXV;@gZW2s-NWopC`-Cj8*@` zn4?G&)tmhilOlw_zeN(I3D_2>XB()SqP$6cj}wg|R?O;4%XUvrvMqJYPJ};2XXfi7 zC`)Z9p-%zAj*;UZ0UZ&K!vd*oPE+ep=cy(u%(iyDgm5UdM2kP7dB%Y;Zd?${0Ktsf zr@B~_lC?PXSPZ+QeQ{WGW~?WAbi7qbQLPW=Et~yF<-#nfvjKt#f);?*u_&n>?2efg zf~;JZU7Cc7DevNXP8-MFD`N90-`_TFXdL3>*T_jwcR8~dbi1mGFvuTb!OaDX9~w7zXlym1q(qSi}aaOywfO~ zvJLV$!J5oWD1l5E8A$>v{pN25u@h_*5->i}=pWhX$JbrK-AWHS-p#{I0d_(0%X&eqjf6}nP~HXny8i(kLx8e z3)NtJwIuM*1}m{xK~P2Jd7q%;XRL4t^}bz~2gN>c)Szh2mLVc{fifFU&40D zfETvW9NK&%{+94uWfQ>Zm`jU4pp@vK=i82g?Pdq1fiRV)Nm0EO-H-a1gwdqBLRPME z*{|KjNLR=q4~JatAxr4}cgS(!9@0Psd`}DAg)m^)j5NRmQ?5IDHtotNAfy0%@q-w$ z1El6{h+rHuclzi*?Gt!+*BdP%S$AgMb!Vb|?r+9)fbYfEfocIIB5MMMuPKim24s>9 zLq^7g=zPsWK)oh2)SU4XBOPbcLb`D=Ze2uY_8;n2GL#*tbNc*?)08YbGjFmpaAoI< zph1KhT^iG$fjxQ>uwV5W<0LXxlyY`jWGg&Gdm<}y`KHf#hW~{4BfzEk;TDSj_r!Yr zktGjQo4z%4P;)a^Hd%LOo{vQ#+^%0iBa?xiA}o|iSDba6At@uhfg@m+tYAcg9fFKy zDTmgzM6M{n*ewS6bcakAsjW26x#NdO=9TJ-WTW|XR8P;HRV+I*&&QfDuBn%MgF6a* zAFe5ry+2I|&v|uZ6dGn{#Wq3!g7G9T0Jr3-`I*eXYQTe&io?yykdX)1k&i9AXf=gN z`4#urAs-(DMozVPSE}VbPg+6P+Pue2ag_+`DA`DVP#cD7H_? zaJ*11<9qLFz6U&WDQ>XbjCbwY)mw{;sqo5u$BgeiY-*j23&0H`ISSRXEldW@i(_^o zylc*gRs1&XZvrVW$B)aHnFrw3g9kEznz2|BfV=WI=?1wpQopu@r-lFx>Ms%)E;pE^ z!hh4Jc(ta8sv#JQ@1KsoSEs_61G=xAgTZ$ci21K=qfY%o)arJ2{5P{MavAs zH>PvFQ+R%>QA|G=RsvMt1274Af|Jo>h5<)43Xo>-YHnN-WP!a1vf#}8Avn_zz4{q- zmX#ML4pVZZ%$gvLU9N2iH-cT(ZgWA7$4r*-R|bXlZN3?1Urgdn|SyDk-lO9JtP zunLo~Z+7+O&pKx3!Sv)5vfX}*IV02p96M_vt5xO! ztTnD7;LXWYw~F~MZqlqS;Id!%ZETZ4&qaHilCjV|-X3YvnkY-ZmXrwV)FkM4^0wa0 z{Gm4kgz4?(m~zId{Pd0bvmFIpva7sqr7k#AR)k< z%?`ts58B5ls@IBLf5(${aVzbb72M2{accW~n;Do-~}5l%BWFgAb7#a*=H8H@F;q10jKd1w%+ zo9&lFkLIo%$wp&Ki?gE5eGjellUTv(w1Q0`iwFGnt5el62EgutqBB^WbJOw zSP4H|%l%I;u+W6=zsn@Dm82WTulCAvGxH`l!|?p19e#t9YG zq95a!+g$@=xV*O%mYbP3xtaf9OJQFO#EK`5kf^PlpPM6bnH0!WHGljykou0c+~OfD z4ySD&8dI>^+BRj0mv(0sOU}&vBo)Freu+A1af!`|)Jo2-wh+||isC@z zA4J!Qal^RS>L9+SH4FBFll2uPSh~SxGzH5n(HZXQ>Szo|_FL$5m>3NGBDWt}Q!qY7edQ`U;M_BTRSaWbs3umTgJ*v7P=Ai&PTGG@0}ILZ4tTXAMS6=!(eU(<^AHn26T?%C#;KZG$U zUH`GmP2~4@o*;t2Dt(zj41p%{UAWZknBzypC34@yAo0xmW?puTHh&EptvECDBNhH5 z(~bAxU@S+)btcjAKSA?lMO+1q-Ig~WxyBvADv-}1Bc^Ok5h)^+ZOTGfYCWQ4#hLk3 zoM8s^GBW^ioaG0if8g}Pvl|HCU}}RgFZmmaAX**F#$biai@Ql#4fz%6{At>ld`{>$ zm8awKS$q3EqN`w&zbRM@`kYuSI5VGuGx!0#RClNJhL@&EOzN9d0dNpTh8>VzeIQA_hipu0nHrTMo1#Hk#u)(d@P2 z&q$pMo?0c%mcskmyx8Y14K!;01D7++S0J^>L*Yuv9v@+DG%C3uvmJ z<~NSn$*?@Og?+sCE0KADI3*_0sL3$?*3AJ7iW7n+Ewx?z$81|9eOI8vUWL+NB!FNl zGisN13taD(1O~2B1;vaW%$~%4%#`hWVQ;mW`Ba->CjWZby$N%-n^>IfI2RTi4V^Q# zC=l4c`mICeSu;AHmX0X9KcnXW|VLW{(WW81W<^X`~l2&4_o z&MO{YQE+VLCL{%*^`8gSow;M>R(S^<02#j zM}~F8Bb6MjctNlwYb$hlMMmKl<@@Bjjw%zSi19(&u`On!;+K%GjpvL8{-N3A`Iz@- z>&(phNQ3j87L=vyJ@y8xvRa~4i&sUKX=rqgk3v->R(>*6tZKRVR|zyIwgho|BzsH= zNd>xm&$6~~+<{oOP(RUcD{dFB!t*C z;)s@!c{K`x9q>%QXzEDJPe@9ly6^dDoY^C7)N}kPL*DQiU4tpUG04m9YR-XS`FaNd~^G z0DivvE6b%%$yCpC$6RPubN{hdL7t3Vs<-%Y_eAY79JBLaZI9Rz0vnM7g#}E0^;rSoIxx{hVgU$f+ASWRkWVmTn*9I z6|*&FX6^rF%=G{`3e*DXIqJ9HvJUZRG^@>U@|cmYubn?Qy@=*A(DepC(SYrgVu_jg zLt^HAQ@`NLFEQk#Tt8$#zh(wTVQ6^$7J-CUxUfqfOO0dULdoi1qDqZ~eLTzc9T4{=w|6~a<0ULeCgboDGI{84b^(`l9xuVZ!=djq{OFxqPiKDI8kM~p3)!7fu#JfP-+#z0^M+D|%%7O^Y=N116PStq zedHJX_Jke)IS{c$X`s=O9MO()Sk8_Lh%RS3oP?wWXB;Q(OFs~icC>w=eN0&=+r(RW3{$UgL(97*!WpydYgL=g&!yoc_|%u-D7`jT;BD9p zGwJ6dwN}e{*8<=Tj5-%*?5Jsw`2rdC1^6(QjLZ9sce8FOZk{{0{zefyWH$6CIRtY?A;ZEZbL`21!iV@LPuY9PY`H=UlSz@f1_&cEfBh? zRa#&8a%(~v|8+CGoDpHacUD8GW&lcZ%niBmv=KgAlf{)Ne1y7T#n(1ATVQ6k_J3c` ze;aN9g+g-CTJ21}bh7X|O&WXMGK$QxCe2v?ByOB~kNR{MCS>67Y)zeMWa{ILVtJX_ z9#c`oDqjX)2)KwP%9W@S0cMu3$ zT>I^gc;*42y&4xy-Ht+1Zgb4ef>{_xjhbg4Ulul_jxMz^a9br#Q2Zps^=J z&k zW#Lg7B}T*C^p6@3bhJorc#P>e=L32?%ov?UP2ee?Wm=yk8)U&^%g@^sG^*ZwLDtsE z{G2914Bp)iGJS?`N^rAE{fWZ?vX;(E-vF=EPAb-ynf=)gM(z3%bi!MnDN>xlA^{z z`&@QTguVTjF*mlvz}6~qPEq4sXb2uE4=_rhGC%F$gq-=)`43P8yS-m3eA)6c^CmAN z==Q5o0wYFP-qIW8YLW#mOj6D6iV!q^*t;-dl&38efpuPlUPxdF{}w#ZKH0kpUA=xl zslY2TGOuo7#o_YVu)56b&;8)}|4?wGha!$J@(5=y`NIuGypmRIPuV#Y;I=21<{VclONUj3mmr2FEC@WD%i z%|P=RhmudwP{^=-U;tShH29RrD%m*bi}isffHrx1dCb1n)u`oVW`AVD{yJmS%zW1U zKjvIjGWd5LfUdPw!bgI@CRtCK20Lbb;{`^}lJ~4))-1kl7BYEIGjqUy<&e>j4s=2| z)G<2~j>lZI{l8SBb)O3LSW;My_u;_OtTByc@0~9vOZJM0U1I;dZ|H?wC2MqLmG4dy zQ;dnW&b|ak`ONFAFEht;J&5D<&zR$0#8Hs32ICTb`YH*L6NL0a!G<@Fs()ae4Hyq~ z9&8D}Nk#jME|3Pgy&e|y@?r>&IuI+1b0=>VA`aP!aOD3mWWEjDh+y(}q@OMr6|+tt zJVPea4!MCc1r~LZ?a#Sq1!(QEz43K|3gz6V*?Dk0@*vsv^?E*ULYU}LO8slfmI2@* z5;MAUOZXF8r&Bq$D9j9s4sT9FjB(LNY{0TjA_&~j&bh*9dZ`! z&5Zhslb5Y5Gsgom`u>yw(;lB^%(YvqHLS5a$S}G_(i|6Y8;0VQv4526^AeOSU1ML` zr}L8oqw+gMNLhECLqSdt+STRvFB&q3Y+;!>9wX7{gkHww(GJBoPF)1ys9@czyP4t3 zj8re&j&7 z%FLUt3>`pv@h3r{BDGlF=4g&Tl#TqThb|!fmC&|Izv~bv!vFm2VY~Tjl zeu}KS3@UjbYHXx5=T9ncwyw;4>dMsDndo1n8Igq{8GFQ0|9I2Q{uKq3t_$(|oW(;O zST<<*^@+K~**Jf|rz(Dg@w3mZ-=hV&V|E6dj|`aJQ4kHCDK`C6%9hKro#`$LXYG)L zCrJFM3+NtI>g6#Y^#B9}xSn^pA3y#tn^$7i+<05lG3zdQKWAsanV!%2|3Oajw>)ZP zR#7D>8kZqx*vs~|7q(@fT6u>Zb46EXi@yOwnMOfy)__d<9b_ZDhe+0ynNMAr_A*0C zR?fwARR62k1nVY9n!qPCFAJ|=K>>hK<3!j8PR;e0(R!e^!duGfs7RKwUNoksi*w_V zs9?4a+Ub4;odV|*AoI7!EX~Jw!dx82@NEK?WLyj|ya?n{2W#XvT+ghSjncv_! zM&{p@1}u$f1Y^l@$!ko&@^&0h_7t;=Q^)KaI3FX?_i@Z$3cB*q7|qh9;yHt&)CDyu zLt(srpEFBOEz|@NQ_S#d4!PVff!FvQe>6hM*j>zxof3-IF*^x9Wo5?uqPyUTENhW? z9E0LW(oPv_Wu?3%>HX1wEY1*4w#Y(OxToLi89e~xDLRLJC+^astI9@Q=4Od#V#dJ{ zT8Uz|I;~>1tjwH`EExChdrCoh0tFt(ZCpj1=jexUo+yHI=sCm8MjZ-%Jbr8KD)t%L zU^6i|?OTO|w)N0d>HH#Z{hXm*re7fQY+0E($A9>oBk3Zyf%RfMJ*e;3wNX&TlxBBX zA5IPS9A&G@^mz)tO3ZP09<1H;`6l-|W~agV>;&I|8}YqHy(l+CjbpRPc&z+^BX|K1r9oU*uwBkJRf!d^0OM)kR;UNAlmaUHnn___>y z&K8xK>oF0HFZm4v!6qspiiMb1R@p|#o!cT>RQgflaVsXVq;5&<=5^aj@QmX@vKXwp z*l6*lA%pP$vvww0awA8w{h^vXh&|%}f9&}+i%bAn;Oo|5QyNOcrmDP?ld_s-NYPLAI;#kyE$V^La8byQTh% z?{Vyyfe?>PYeTiTYD7>)4MHJ|KToI+ru_yw34UwJJPym_tG&FJPtp+Z8;Aw3Ix4g| znqmgWKZTG&j2wFB=MBWy4}yHBqkV5+L7xtr&Z$H6?Hn(BBBQtniPvJ*{hXZz@0v1w zJSuh`WdT7&a+B>SuNYZSZxbI4wz--g#jPRASjISj)!#YbkN*v(4}juZeis|7i@c`q z^D%I%j09dFh;*DGL+*@XO_}+nDf2ki0Bwsf`To@oZ;jCc%v9m>n$S%b2MbX!*#Sl= zc452BAZe5J^3ai_@pJ>l85>m(>?K)&9!Mmi)BN`WX(fK+7YRvaFD_^w6 znHvmZmwJ@w80i3{@@sVSr$@o8XyR{KwY^$Wv37f7XA`;w9n?aPg9Wq@l0akie!T(>01%kU6$eB7^h zN!KO$Usdyfor8gbOfF}GVO)osgt~OS4!jQOicD^V(svme_cEvU8v?;6$4ugKV0_V8 zOlDrhWGF-bpo;p4EiX5P(d>a2io@7daTDaTc|CxBH9)o#o`*t)wf-6#Q8Gm{^h0JA z4gXNz9oNv}1$w-rm7F-pllv}Z0kR}NbAbnNJo01|JCk#;? z4Bml}_oabrwM7rN4wz$Zjyc`$=0C*D-T>JHy4$5WH?*mW{IcH?@$sYTuEVx=`v+DEBQW~ZM!gQ?=cbp`a?J7g)KyVzgx za(XXMSAiFZ8^O~aJ6lO+9rZuGo6!@_lzuozw|dcpKqpE5gly?{4#Z$;Z04xU=#w9F z*PL#vSTHBqs8%bz~&?gK1o`&)#rT1&QEj5F((R|De_RlG1&V6eFbGbF_#( z2C%g*uR*7is9@IaQ5lX@frslM#j9Di*TCqJXcV$_WY%%(10QbyU`dG7u*8gvWAS9qioC0b4xDDzA`Epin`rCKneQF zu!_t&?z7ORfQd)GOVsoYxN4Jg0}iF6jHv0L?znqe`RgZC3XPVf|x;-$Hzg2KhP4* zm)a=OgY_dz?r%&hwPxGK0djjAb3OM}nRKu1~Z=)USMo5A;%t*a5KvyT0kJKX)%(E=Yw2><&NWG=BEFs%@+d9DiHJ*%0siUJd=MI26gVGmBz!{q zWp1%W^bh+Uh0gTatL?RkcMjPZFx@iXAE>W?F!82=Jy=9y#n@HpS1zt0-vBJ@ua!Rh z=``fXy(7*t7~0NCZ<*XGAHTd+w5aVOsVZXY$E>@4%wI;#x9Zq=6u!{F9{lr=7cxXq zYOp$bhm1hmFH#4>c>PHwH(NYr-Nj=bjZ+eSjjxYy3bilI6K{xr2K_E_;~~5}Wd0;s zjVokvV)D4~dzm{0(zXL}{Ic_?!UQlb(Vs(T+4;ocF)Q6t;2&U??eQ^}_)nvh3X{FdlQ=quY!9XSQ_Ax=6=RG_Oan z6sCHxB=6F#5_Lpp6;7fNap9_%L3EdF)QDC!1^aAt|#Pv`325~6kG+UhN^iH1*GzoWHb15YlsZY8_l9 z0nl}QcZOG-vxQ?;PXA%Vcc-JoQtp)pW#4U7Loo?2t|+2 z!vUOZ%a#m{t8Fs1=OD&s2j*+bb;3jSuz5QFT|{I4K4vfzX@SiKL&Z+|yqc2?j~I}n zqUs^cpkggsXr;)_#V^lfeZ0Ni%|}tahl*- zUCvoDW?dv>{sS2WDDJS9Y1AN#TpZowAxE7N2T8`OjycjliPR(%55g65M(Md5cmz$o z?Y){MV^%r-!_)O^1Rs8n6oa zU`C_C5%%4TQ(bCA(@ypCtF<;Enn;oBLzb991rYgqioF*^yC^4~q?0fLy95}i7> z%I8D_m;q*sNcZpV1isjd*&E;G#%in`0XDY)nU%lOw)JAxRWGLftkNE+Yo(!_xnSN@ zwk0rUxNeswB~|VZJ{dS|bF?e0sVoJZ&vby=6evtQ)~Oc|EfKk7?X3c$_FFJ9=${2mS$P%%al+3uZ*%n7cG_yx7i`Cv(ia zRArNkfsXkNEY^!z<;D<%(fxQiXV{00c_7olDb{(pR?b3&#(&3@1`*%JDQfcqJIXRS z8#t_Ny%-D#p>FzYShH6#M@jQSc3ID#57*nvV!fDk(Tge4F?o6iE0f8ZAbrW@KDp??8_{aPoSJ~UdWy=#!Qey-EKE+wnr-8=y&7;Ui)soj*g1;VpjcH z2G+-^#-x_5&<(3WgwlGGh{r@QlXqLsnYN0V3awyC^&D&9rBoXuU8)sRUZb$$>wW`b zIQ5I?Tz|#vBzV`0;n+XKj5i)vjFj79JKLSDqA9i{Gu(<431DnuG&x$gsqjT#L&kpq z7{(U1L>~!fG(*yg?1Ds$h_fTtHWwkZHue}V){9vey%@X7hodbh996ri2A$47i6o^yxt`rhIh6PrPC^$)8`Uobi_#FjbSj{=DGd5$ccEQk+Ob_F2s1^gO?K@^QtL z1sLxeKTxa|vueGc<|jb{6j@)ARD`90V2Wyu=v(8{YmCAH4CoES8YxrgPgrP|=}}Y} zkd;(dY&$uIyi+tS#jJTF83i{L-gw`1yfCfoo6cFV-gkk|^-%*;liqU4$cHMUAnG_; zdBqF?GM*H$LizQD_ZP^A(iH_St0)`D;9ZIoU z%&PY+nDWzeW=+iQU3&cSs-)?g4k93T7xa8do?>Mh-4OET67#t1sVX2X{m^wcRlx0D zE2l5|wjib01ns#Z^LD?0R*P8|wU~_E=YxP9OpZluMG&15D@@ zdBkJQ*iWF;vDy86OyoO{3gHWs zvKJ$3z*1GjR-g}FZx^(Z(UU^Suk&%A_!7*ts0!n~s1{K`Tc|RQ`I1?O+Jex%5%3e- zj}gPgiZSc17(=P^blHJdT+*x_(&{kRjwf`;^cB-Xm349_!^N%u&_FN0$=GF`aM_KjRw=SOV_1F2X#;iZSb=7$cbfHYN53`CV-Vm@+A8BUQojf)O{c*{g~#p9-MiXwOFXQjl<@ z4!m^~powxkB$D*P@!C0(;p2|lx$vSH6Ez~Nvxm2ETJ5b?ydt91O4axWxs=-3OU^%0 zWWNwV6&(4<{h|)f<;M$v@GOKqo;2W&7Z7*F{K5aB9-Cpj?yEzvB**Mrc+rf>bc9cS za`8xX7~uaUUc)ZhIb%%pFA`A3S>998xTr<;!BuEp2IdreooQ~|zOF{oM6a~kDg|AR z%pHw&0^YV`eq#xWMPt@gGzOB_~Hw{>m-ZDtaeL=I95JBXIxm)$A5mv4mKlT zF`|IRIZ@Xg2Dp*Z!Qc?RqFJ6Xd(Nl<>4hQYHQ-Z+yII5YMX`$n!Zvr^1+vU6kiY zSfxsn!|&PwXzlQGrh8}`&ttJK$Lv(tZmF<7dj9|eR&|cM1w%|Jmmn1;0c0o)MHBPL zIXq|j5sWL*w0Xy@s^bldoMIx(3xt|s*!tUl(caT(O$mPVhQYJikDEZ~QGQK^Y3@|48M7{$F`5>Xhl-24G^`Awv!;Klu5cb0M7vvF=|vfWue$0;T6n9Fwgwt6iJvP zuaMGKYHbi;QSrS>Y3Lo)oMo%d&ZLxakL(93wyqvDI0z(+zg4}8HDgx4HHFU> zrO;gF=NBVORul29<4vCLRV?>L<=rWw4lqf&Fsq7G=~s~jn(qy~!Y32!uijgpqIlh0 z?-PY=$(Yq|Jz?B0kM_p6(Zs>UBNMpu5OAt~>?Hcs+)+OJW7b_VruPTKFs;n75g9lsNOIDu)aCl5bv6>t zbs4G9czk%dU1l6d1PMU&s9XG@0C7c+(?=r?u7x6TslkSI?4A%z>5kcX@GcqC|CjAx zJ2!(M%Ohr5bb8|zwKE{Kb?LpSuh2eaGB+J^+y|%~eDMUkgiPYw?1eI{Q>ShV#;pHT zFov?OW7$C4JkdwKF1u0o#kK9&ZX-ZnGe5Z9=kci1&>U486sYQkfze6sn4Jc{1Y`13 zO3?ti*v$+Y-^yye>vc6Dw{C>7(SxIE5(BHA?(?L478j+<iIcntMnZJ|%(3_y2LCD~^QoAm)Zs_Ng!%e@2bmK}mJ5+p0dn zwAEVUYfh%7#5~YCF8x~?zF0M8Sv98cMBsKmnzE(i_uS*)X2sh~V&6@igQ%qt<{jWt zsQSj|EzJDLc=-V7jyIIU(c?XXT~LmVxMG)}ay?UskGU21;`QxqCl%*G%f={XTJI>W zeg_S_2(G!!b6_6INe)e(nbF%vXr98Z0M$XVTyoB!$j?zfISCcfZ2gV@LsPsljvpJ2 zOJxmEn^8)k`1N{-lB;@0U#uImq#FYPVq2Wm-#14bh)m=CsqA=@{T3EhZ%ZAuMOdh` z8+d|7!Hs*|J7@_0An$0!ET%1`{`Ha`_aXQjYNtO8G${D!i1=o7@Vim5aLkf$%qM2L zy@!~4vpsTEqgUV7#$qdKLxKDpHwRY5Y=;qZNU{gYpFtylPfW_$)M_qMXp@d@`GZOsAQ=@XgPs5EnDzgD}q~-0LiNcVQ@X~;T0=nZs zGZ>1X&vsc|!M?*liNjAOEZpr&;ABWVWX_C z+%y}y+#56q3ngXJua0w(EP#3DZ%81B0{lbD7TRFPZq!%tAaqGLWErrV>2o zqd_|y`#O<6l4Eurly1!V3O)}RsWCy|B&0GJ;%Z*UNIqUYWD2KF3nDDiw!%G3c60eX zg9Z^@Gk=IrR7*Q%2)l4|6f>O-J3uHM5p(+mBQ6$>SrU%_?MTXDh0IMY$x*#(fasv4xVK)vi#$~*Ge$H6yzATo> z@aw=Rhx1$~XK9n~bh|nYS~zCSGo={C_~dNtdSh@G6hu~%2OJcg@ersZneb}Js1AE@ z&;duKlNpvYdBi3Gz$VowaH~i&Gy=SrDEZjH7_Zp{Q%#62>GddksH); z>1;XA+IPz|lLqOWih^GS{ETW+mscM>Ig@dI*yFQtC7(1PF2&6tFuk>hNLGzmbN*w% zRQ%&bqr*69up^Tb^PuZ5pjie(7A`t`gySJIAY<;mF8dTXjW{OId~0n*$jH#wcGIlD zLW=8hvq&%A;>DsdB>jI1`QJa|IMc7G$1)M@ZC3~*Y;*j{S^WxjNeV=_Y;FhGNHay1 z2J{Jp03GourBJLHv(|Av%DT{hMTZ|HmXfII2>gr*$dBfWtfsVxigHxV;FKZ`E=!0s zqwV#6|8Sk_6grt~ulJ8^SzfG^6kU{+ApW>%SbxoW75j3~&Vei4f(B{$@Su5skfS75 z0k;&*qv(q(qt0r>!LDxbC1pR*3=CQ>h(IjoC0~jNt13D^iK1x(-^GvzrN9Ug(;IIG zamv{1AFIZ!mH$o1kxST?GJVYQ1CT9ge~h*VL(9Jv`A4fcE44$i$!DBD*q&$F=k1A<^LZtX#B*g zI;w<;%==g_=Ng{j5cbjdqXdmh@P!K-JriHLor)Dmv2=XjSo$8rAxA~a+Qs^G%KnRx zr>wxuZ@f536f4H8)vveQ--aAH03!dw-t!QC_I)m}pv{Qi!0_KEIX;{hb&^7Rw)cx&B~3~)1RiptLsS0aq} z&wK!D5V){NS#XLJb4L*%n_*QbaH8`sIM`!kx z%XW42I>;e+hkVa~%@1Q%Q zipUZGxRmGD}7{nALKOv+7**hRG zFO8j{hv2)DF%DDE%r-He;zlc4CV!r@AoU1ZM(Aya+-p<=%|zENdP~SMS(w|Y*1Bm9 zc{=1<5@a0t5OHDr#LbE@4=P52PGvMen*OAwZuVWXEjM?lv@H5(+?C{peMpZ1G&FA@ zc*gkqdndRBy(FF)N2dO=nJ?0ei9hYvQE1$VPuLj7))CJ{Af2C&pAc*ekCV|r91iPw z@uRUPYuLv^1UpZ&Sj8;?KT!wB=n+8ncID_Oc!2hT)wF;G{ZiB`(u`qDcut(zNAxG1 z@>NBk#B$wB^d_qrpi)-UtM;eU~uSLFAgJ&ALVn~C^smN8a5Fi+B{jFDv`4$ z&V&6CUZr}>+?u|fB^$%^`1Y9F)4G_(0i#XoOR@OG^nr?jKQa{nh{c_b>7g?-T-k~>Ey5z@tj`MEj)VqTw^>A@aj=5V6(y1-k; znF7uFBSb@!8zLg_sy476L~9dq;RC?NdDEex1soc{fC(N<@UlF${G1O-SSe-@wt16P zHo?X*I}2KZ0E;8$G(Q01d9p~@PydTS&CqE^ z&aa~3+=cE$^qb)$3xEk>B3)3=jZzxP>|-{oB(sWbsQDW&u)rVS4i=>cGx^;2Orynz zvuEVPInV+u@2A}B!$vU6Z-voZMpW^DHz`~z=DD4X3VP-FXA70bLq^#=ew1sqk5GB^ zi=??ayPq=&CK748OSC35Vmce~Epu`XoQIR36<9typY{k&i%bfGe@+B+;;Y2R$H^$D zD1bHMkSc8-+|Beb}!OX1>RMD?(9qs1Zi?d&9&+CRoD zt16x|Hf8aO!+aO@$E%V_Z4dR3H;^>O5NOD`{9>P)4rYc@oRY3HN?r38bX5@pTj++J zUWGQwa0*QQerG)KGArc=phEDR!o?+_hf#%%%b5o1*z1!K9Y+P8C=x5mW1qsARbtjl zIMcr9fQZpL8f!_`6S^HNmBb``n#~qd(9=mUjq7nnJ@a?a@xAJ6s|ih;br3Y$(Wu#) z$fNd+BNOv@`7=-r-2MAWvmztnObTj#(iOY#wRNzL0=sYet^+)jmTzY(4LN9M!F0=l z`Dup{K> zt;5ohANB=ZgdFu^1y$;09f&fW2GhD;(0DOD9BAA@4{n`?LpxhFq0<_B9nfYA$QG9! zd#VY2g!2NK_Z-r3v}VB@uS#vB;ZMX+Z_5xQUKeFSJ_t^uPlvV?&VtifFdx^D6C1kU zA;-1DXal7H_6(G(3Yq*7Ndo%ku8`vINu2`CzysU$vqFlCnF<8ukK&wyE)tqm8w3d7 z;84u*N1Peob*`Kov-4n1*RxTnael=Nm?TcG$$6zeSDHilb%MA3!K?M4Kteg>i2;FF*9#uN4nQ* z@}76hPK3GK4@Y`B&v7oqv9^LJvaBL_RC*n*0w!ZFIHKqQ(1l7bHD|fROsB-8f#tIk zA#%R((7kw#BM)v`vyK@T&|z!UZIS4hod|QiKIipBz>{eurY15@j;z&WG6HKCoysEV zZeMnBcj2iS)sM}$&bp4(3j}_2s2YzM&MC9H`K6MjJQz(;H_1)X&%3dj&V%{PgPq0A zGoUWM#&+bM%%1ynUH1W6#&sj$;w!2==K6(C<6<##;HCol4!nr8kUCA;f`I9vSKLSL ztAJQ!nJn?=$fPH0WC?CW#AhB9MEmg#jJtt3Fmq#|S@cr8f#B{B2-%%P%dG*lpa~s; zcEL4sBZ!4V=ipd5VydzJEdr4w_KAA6YdXw^H<4{Q3Fb2iQfu^wV?h)7>reHbeHjIG zcBO+gF_04u=7|lp=^##;)$}TC%^LKob;UF*Z=>}}v#vi!nR7qnX=zE^?Au-m8lJKxct)`g3 zyBO{!m_MK9m2D(8KQzI;@8gVXS)Tsc!Bi|4qMGauV;147=B=o(oB~U_J?HhXsQS}$ zPQ_32pE4b-`Slc_BEN8%S z%YgHVc?Y-gwSl1wt(J_F=tZFZFRibX04aqN2E~!f87W)_i&0f%L?fHz0C&g@+IIS~ ztV-lchW=YW4S3W$WGBEgIYl2bNn7tSa2TV~%Sx zL7LYBpF^fe{tJH@nzFe5kS0_@S<<76a+$&p=I)tLDF4}M#7~`)XI}C|Ilc_UlVt8+ z(H6R#t2ky<$Lu6n&Ljvo^Y3Dg>ggpeQekNi%Ih=Ns1{JB)C5fBm<1d^wj3Z`7z7Do zrkzad8%9ti9fPLQ&mCd%FsRG;glgN4wvSjygF{!6?@$|k7HCIi^GKrZ5Xcp7t;i+!Z$963BH(Z1*V33QiXF#^HuVqc`l z!!b9<{I8Ha16p)}L{b@FrY5@X&=7dYFLIA#;!b(N|A&H@$O@<8jV{5~<>vw*RY9ZD zv*vEOAx<}MjC0cTK;Iuuf>-lZ;xUMa{oFU1>G5zx9YOj)PoVL&R3pg-kb9T)jo^RS zo{Bazq9wtn_O!nc^mQ>@Nhr|haLk6#*^zE_9StWVtM2j{1&86?PnCEK#M*nz?SZc= zO+pa2WB(h;KOQu5gDhI;C>rn=IE7$Y@oJaJ+Gzom$$2b;HQm#5&a(K}94ZVOkyp$3 zAwmJ&fO1~?W8cuzF@M2%o+$GZ$&M^lP5q99F;7kmQ0WyS*RAXwFO?=5TpW}V=a!q( zPnD!aWipz8s{`j9KTtYyW^s#6R>ZuWw&F9(9xqnO$J8=!t4xZr2k3sDz}q>;EMoaD zBx|U2pi1JCix5{8JkM>Nuo-yVnospA&#*PmAq z4ZgS~0gjh#TgA<;Go#qzog22=0wx?${F*LS$;VI@++u!aR>ftHQ_TKFr>_>ap`afz z41yfWUaTQ6T89$bK^6p?O_@ql^;r~d^8J^j`(lmIM&xl|&@o^PT7YozPeKd+= zzA>ww>E|dwzPc0!r@2$A{4o5>Bx?x$vAKn%OGoXD5!Id}QHFxp03hP9vQV zk*GFK{6Fc#N5$Urp6ztH1)C~S$*(tw4f;#kF;B-luQ5Mw=TWPD370NCudBZULl7&`39TxYXSGfc+*c6)Kq%R#Se(9d$~ z2X(kDC;1(wgPRf(p8# zK@-Q7#LWTV@CD4&HwXSO!!bJ(UUa93`DrSH&w89MSnr@}fjJ~iWndx})UsyrZP&

t;K)k%)!6dy@mdVHiI%Xu%kB!~v;Bf4?1&H9KLYiNPN?XV5On8xS`9n-8hH>$|XK*mTK;~w|4vo*`;?7Ovh?l()X0+tl63HB09xf=9o{Gz!-Xgj6|^t*p5)ni0&f- z5jRpHFLO4)79l!{fsYUr|kKQVrG|n+*P$5vlHP(bSh$Q zk5}Cv?v2u~zcd-eCWV)WJsS!9+;!uOidu$-wPVLz*;;j*+a;VE?byycBZVBDjd&^M zZoRYfV7ukP{uEut#^SXVrvU9lw_zXzx+Q2y#mi$?ZfK~9RSGI@sLh;m&mibKADO_! z``$=yAQiK5{=|%*J)jzQD&}}QX6M0n%Y)Av@d<7UbQ~|fU)$%I`emODr@?khgMYATi2vCO zKC||K99RjlV4D&ZWz?L9cwT-7nWR=ef4YRT8bxp!SqHpC+T2?FQC+>LxA`{lO(gtB zD>s`xH~pi`V+*m=;yl=Ic@S0fhr2GZl=;~Hz+a}`K)&zuZ_OFwZvm65i9& z`#^aap%E|PHY33?I}i3-9>kjRVZtGGFB~NgJhP=iF2x(c&VVGvAL4ENqiac6DkHcpzPK5oI2>;p^5u_EP+$eB> z>(rrz4^FlQ+p@MvdV1syGu~RHr1B^`xS9P-N!) zEBgE*Udkb}_7OEZs&2aM8t6~t)8x91;`3*%si_Otr>?xlRSnnNO1xg zeow!&iG}1bU>oajWb9wtR$_rwh@cddNtnhGg5pLQjAr+3=S+B!og#IXM<_qyrYuD* zYywqH6~_VhKW-^}`-(=Rtk6X7Vy#Im@6BdZ_q7plEi&No6cZ%b3{K2guzrcGUgpLYo7ClUG?THRCBTVZ+#NPvbh$D7ni*^o^ zcv%Ou2t<{)%~|wn73T_F9mO&eyoG>UX@p!Rfj})gW~ai7@Dwp4T>LBMc)8KStMO)` z7xRX=BCvy|FXWUg?-5Xm2ST`{NM4o`vP~%}xuHWgw7xke#D={>7S&S(gjJBVNWWc{ zYIQ2S2v3Q&{zs!TEOO>;XopM>f+mvsDO^%MAWEj=9tTYFV$ub=DLTPdNT00n|6~BgfPcQ@W=>XE^tD`y@UX-T@dW=UG zW`;iQR6x`rl=dS+?q$Xy)1s_#8xYciRVb~{`-+wya!2`j?t(O)xJ94ur-O49#a-D} zp9_tPomZ-p;YE1r?_*|v5!J6uqq*zKMY0YryT~aF98=!n+8u-eI&6HOQ>pq883|89 z1wh5QE7Iy@IO=~Gw3eV`j{|%-(AW1RO@|hjVUkq%v6EpF&f6;GP(rm1ko` zE@%$g$#As)Fld0PFE~Jm^inm9`~jPHMu+i~Y2q0{67*Q`7RC-vY*|mwk+00fpMc~H z_pGrx8;)Bxq!s?xeIbnKJC?&6ESxI`U=hJKKJQ_?`H(%Bu+HM40pd!ms(cIpYsqpq z$GwWGv6VY7QU$d-9ge#{O`DHWdobG&hvA{~q=mF&F2f3+?VmG?7(AjX@vLWlT-!Vr4XU?O^n(-=Y zpaf)>#8QXeE@I9?lvKvKERi)!ct2~VPt8R} zrdFrJaZ860-s7I4!0-m-3WtKjCx-W7G+kk&X&v)}F&M)}Xa+b8p2bpUWW;VV4*T}% z=D+4wyoTTT5c8B5@CDs?-pVTI=6pDB`4BMm!`J|+e1Tm-Gc0~G@g5PNLf2BiBy%sf z7o^=1`+bHt=Pk{|A0j$3pLTa-sRjMqcgIA+VCh5`zTbAP(c^x{>~uKOe;9Lo9Xa@9 z>^f!f`8m-Q2^sdZ%+QNH&lvNHSF4!!N;YX)HeXCIoLW9;^V*yZ=Petq{Gh##gHn9$ zf)o$MCf%}5wDeSf`#?ddzNB$bVvHD7^Z|9@Q!7PTSMfQc$F08Z7^4AQb8Mz6=`G}J zq~5QZ?2g&laNe>ZH|PU+w6MjZmV<-@Ov^#Xhl^AM2lcRaB;r~)9RkmdA5XZv9rPjD zHDk%*qVa={+u@f04sR;k5>$Wm{rS<>4%*ppUQB8j%s$Ngvt}KYcOi@W0}V#izjm1i z!~ChuTa{2wLOHxML%)cIWR^#rg@^3AbaNaSyWpYWYmFXeDj7=Cuo>>pVx`-Tt2QUY z*{(6;N&j$jOwk!=gt)CicUI0QJ|w(Ji^hqY15sZ1SOE4>or%xo9dm<_Gvt7s%!*x2 zJTJh!iVZ0r9D@^DNLVgeGif2lymwg5xp3Zu`SCS>4KrxYg>zhk zhAa5k8df}3*%XW{s)n>7CeR#~CYe2-4s=xQRMwQAh=imQTHM*l0{w_8V)eHn*TO#N zYb}eGYFvZs*pTD+_Q(4~I~mUT&q4p8>ZtFT;QLQNgYfpm2T*gz6795#LNy6p(<#b~ zPe;QWUF>ll^xH|3-B)KCy*EOTyY~LOITy}#jhXJ?=|rOriyT%%S^#%6-a=fwVWUA; zT((`J*Tg53X%#dM_`Z%B)(uTT#8U+#R1;pIF(LJ;@5CU%1{odZ2Z%zwpG97>in==) zuA3?`Fo<74!?r|A5tI(|I<^ShVEX<8jeDsc#oq)G4eSa509HQbTvZ%0P6Nw|kAm}e z5q8ZFniW0jD2z!bE_`n()A-4bcgW6#>+aUpp3KqVY$E)Fc83&A)fq-P%q7591iCQk zoBLg^o-B0`$vm5^%otR5!oAz2hVBZG=C+jZx#hbt1VP<*1Hl9Va>!1F>tPl_aXAnILd5NsFcpfj1&#|hm}g-cn(~{0hrrn@1y;U zsi^?zep^_`?b)4GW!k!#)I1v{C{aDHlv=6rPUHShvZap6>!mCd)4oDYJ<+{1w;ekevwE zO_{$uHie)*pPIrq_D8>aiIv!r5AJ3*vn9QCIOy8gcLKCRipYr&9^xy{n^fzMgjo{I z*e#yKrt=-N6XCi^^FM<*A{E5_oZ*Y;chue~N8_|GkVZpg3dD_Sm4#-Cw0`<&Xe$O7 zdW>qjY{DCb5Qer}64#Z5?s#=fY14vEBl>DtnYM1y{N*vHWMR0oZX=apGI!w#HNBA0 z7AAGy5S8T(l(0KakrK|05U#3d)Y<4!F*gRXa|3!lq-m`FN@XLxl?$S*P5a((9$f1d z^CQOwx1{Llur^Q9G_vwD0`uoD8&hg{g~CXqm%2H3Gn8zQt=ikPG>$B9#jP0nk!9kf zeOT8`zGAkn4610iEcnD_f|?2LoQbY@K~21%A{&8<9UQc6SN%~yP~dl}GYp(hoUZ(y z(2U2+O=UleBTmg$<@_|?tZ|~?n7>3zLs6Za1E*{bn&_()0J%Qwfz9X4;}qdiVyY`X^r7MAHp{^ywa z+vp%eYvuPXv0Y%nM(RbE9$M=G2AmQaAr^VwB^Gk;n?tiTAY<2xgEb(Cl1^9d zm@&iR@9X<)ZKpVk?8=~k`_EAq+Y?f2%k<-x3F{*VIZ{=o0*HzO4It>mdJAD0152ku z69*Yw-a-W>G6;)`dh(`==R)v*>BD_EFlCFr@EcQwP42h;y<={Ux!q$<57K+=u2@k< zLBwqB*fMq$BJtJ0Oe71rMhbilb);Z1F)lm%STL3Ffd+|U_%#i5ZR7M8~;m`md*(3BJr zH2|Ac-57l>H?$^>!gF*z|31ED0IIcR`Z4~)m|Hns3%VnS=wnLf`+YW06faOcsgsi@ zjc6Ih`?hrzB;({6$2er}s_)-1Q}%e&+A{r^_n7~%!~&fiX@Mmm(s|48;I&E;r+zH9 z-^dw=sy)k(_Z`o@rTM6>Be*Dk?`s~493Jdrf&KN-clRTVRf0F zZmIBj;2-@a`l=8`2W2~h7#?&-z>@_{>be5~AZ1 zO|NMQEIj3WMuXX4yKlxfi|f5vvA9f6_e@wHL{Bg_=YsBWfkL%GkXTd-$PioxjIOj< znHFqf6NDTJ1cOf|jHf)cC1IQ6(K*!7SJ^DhB!3<*JE~SjC0jtG#MNTs(rRs)p7K}B zPee$Re({(==yBhgdd>%AJrG7o$O8e_8FvDnh@a8&@H^;fByPN0m3G$kXr@1IMpYfs z7EvFI0}?|iXF{vfI%sFYbkBrwGd#Y96$1e}ep%bUttqemRw70VS5_e31@(pc(krSL*b(+ zXw>JT$b{1=6C-rhUT~%s0x@~Ot^Q2F(5xffG1%XEg^D_k_N6}3tl4jb9y+}Rh* zDuIWARyd5SstBrWx!DUbA--ZkoXb$niqW&lEUly`Gz%LzzuXn>(gCo%R<)zPQ~;pE57vQc-;5?>5P3GJhH7~c*3 zLVU{fvs4`G+^$S#!*t7rEkCG1^Hn-pa0inK)J?i$*1Lv$O%(N8d?=C_G;%D63b$!J zFKO{3S&JYfufA|%L5LKTV%w^&x?ZuTEZd&aTKJ0DDll#I9CS=BO=qstsh=7 z-=uu>7G}V5iKGi{Nb+Q#w=ko2h9=%&eYnNk7g11G_~-V!pd5fe3bxto^m4aH%C1{W}B664X@*LLz+*|d~~c6_kh(2FwXh7CG+QU%>n`<&@p z*_Bx(i?>a+Ifd`5g=TubrNd|Zc|IO{EWqpd%Onf5aH8X3u_l__DT!IaTJNAy^2;=Z zIKTTzH>STY_R2oGvl}W{@kpc2+2a{5P#1Vsn(6tL4k@Xgo;0dJ+ohCqmbJ65=mueN zO&@A{ufW+2Nf|5=7|wlOLnHy|XOWaX+<{kIQR^Pxp72Hxdt@RzMu}^)?`SK{^nA;P zkD&QKULBuI$hE2t999R`IYoeGHff(D&8dgMhs@hCd^*^!@P7NgLmNd)EG&{x{@ciC zf!|y#S!$-|TQ-b(@2T#HZ~x-@Vs-(~#9LWr9|V8hudylKOXck{uXt(=HmjJ+mK z;PekZ(roUg5IDZ@GIh}pe(CYSy_A4-c>`o{Rcf)Bp8GxMC#yMDVN49C{~d3`(&mkx zj=ekPu{zR-CP3wdw})6HEMEtW1SrzW8L>u`hX^`ekBqKk@!qF*WK)00x$GY1+LPTG zz09sVEH~5h-M}>e;do$gKfU_Nx^OujSCdNP<_{TEAz}!g6rlDeg^$YFU@g8qqbUEQ z*M6^GCF9z)sTiD^vN>7|sowi<>&^6hH!ywf4dZ@g)c_Z*B7>E*{}xvW=p0-rX{Ew> zBizo$xE5`W-o2qLijXl4A(BYnC0@EvIgLjCR`%+kwDuLvb`jJbzcye{&$)tTEyhM1e2U(@HS5jva?6GNu?1J9 z#8a)5?J(KY&N3*E$|*WL$c36I#R&!N!x&VRdO6YDO$HArJ7#(PDQJjLs4Dq}D8=i- z_)O578G8^0al|--X1$qSZn>~Oy83BAGo;pIOZFruZ<#5Aqv>5Jd;lHP+koP5ABA3X zmUmV54tQA5=z7*c{_fkj0r0{QaE7W8n!O#7na6|Xl3NKC-XvU) zP=PP`B}p9|)n%1;@e@T^)&>j+xvAegMJO>j;;Yy~}Jum87 z&4M$%w0{no^`wp@n2h*J$>p6`#__*oDqpiT76f-}9`QXyySX%hDAi#@3$FdpGQ zInnX%LI38=B^6_*j$i>Y4{s$iNLzaxozhDT#pB(VWM5RZ@`3FoGvYe?igqe2w^SH6 z?$aVGE}WMTnUpHANXjM6!tVG@06xCBYGH8&aF(yPCq zTv6dL!MF&a9ITD7P^6SEUUJe4LIL>F#ROFmKYQE2*U2~4OsQFKhQ{L>^K-iboo(;1 z_?-nc&l#joePi3XIVzGQtXRRWO6BggfpyM0cOsIA*89 zn(i?_NpNe@0X3(ht_W+O^AgHq9P}W~v+$S&gFCPdd|{YyAK+_#NdlKTI?iwQOGy9E zNjEkN-72{7{IpB0*YSXJ6uKXtpsCXek z8__7Q{Fyk$+goL!ni2GH<&R?7tGBzd4<&hq!-roJzcc~&iMHfSueV$nKlIaE2-vg9 zh+#qSUtTA(ft|Yj;xz?)@PkFW*7NB5LlQl0N{aa0SOdWcev2^BBp;iSH%UCg2?FPQ z;WMWng&NP@O0(olueV$nRqq4QzK~Cmv!K2QfCQ+5k2PMD==%|w9g@i*e-C`9a7rYB zv=eeC+wZ39`@O56D~)HdA$P1ftJ=b7TGk8Tyq~`$_#LxTVZEh7-qol4oh1st*o(3H ztujeKNr34xSW!e+50vm5P3O)exY2`Eod;2qa2y&bVBYXDP;kC{0=298thkjI1u!Dh#<$2f?8-uN^bYv@yQV z1|1d~ci$Y4L=By37M$tzmI>D*HvvlCMQ}#$(h&xVrrZXo_8poiWf38mWyFaY9F6yN zmt;f$1eF%2xRdQrTwY~wIZw3_&fZH1!E5Qn?51wj)> zQj>97Wab9QBb!22n0hwKU1YI927c!LI4m+QgVG&g>gt$K&W>8H^DeHArj*?FB$6u8 z6US!BnSPO+*-<}2QBWL%+r#hzV23P@CWwBy>9Uy6g~w`S0`ow{I>{*O6E(tH_~4a+ zL!D9!VDLB~_EUsSsp(yon630Q^b48A=CZ@8Grir?VG?rXchux9Kwb>GKv6*AHBrO$c`XX0PpjW=l4 zo#`#zqpnZlB1Hquf}{y`S4*1*9{uVRaa6=jo^_{WxQc0YSQ!cOv?+w0l|(4F1i#Z6Oa# z)n`$~ymHzUaX|L(W9^*SZaEQ8h({?zRCCB$FwHe-Kf+7Z?J` z_MKtCkf1WMC_nZaV^kXL0(ntXh|lrhVy80f;2RxuhB`j>sI*64GaPj5qB{FQpNb64 z>NCCFl45)!=>Z^({=*CDO>Ql2O1ZpaM;<+6oz!7TWgd2hXzfwdVCj^`XL^uWR3w?n zFh210fiY>?iVSb7-h=}qRz+)XJ5642(9Vh%`5A;VpBOACD!xAAGo@OQ?*%yeG7sZy z)B#@%1zyzu@pb$Zc|`;!ID1ih=rv?3Uf_sZX$$DK^cb>M;k4KK{`komYuv0p(=X~X zO~#Lp%g)J~3VvWz3c%l0?LkHdp)Dji$Nap7827P-Vc2@S;dc?> zYn4r)!1qn^%aavjob;{Hhi{TWu+8!_{USfpC@t61@F1bm+s8-BWr@v6XBXWe%;TfU zoPuf_FTjIkKb8J?E6s~@KobFH8WcT2W10+>_6y6#ikhoqCG#x?pNJbo>(BIy{!BwD z^GT6GUqhfN{aZdZoKf1=iI5I%2v$RkVgkGxmgGbDj8hGf`Pg7m6o1RRp*Z2ZKg&+e zaO1TLm!VuMtK2a;?0KCH)IAqYKLDGv4@j#koP@|F$i)vT~ z2UI18^3D6|Aj$di!7o==2m6j!wDaz%SgM%7f(3{~bMyf~+c1u%S%9Wr1ZYrxWs&qN z=08w{dahqoAwr^)WC#~`T0g-*lu^kb$%H4~PAqZ3y_Wo2xTF`Z-{uO%gTDFj>}Jaf zH2tDL6JIH+#mB1yST|pht{VV@trHp)R}7A-4)AL>I0Ju~;}r|THt2brVE+D6s%U{Hftso};$xI$HUsHo-o3$N6yKhrPz zGw_}MPGW?q87HEWL0E-e{2mSip4cjHh!rXnudy~vqNAd*6-EmE`F2pVd6PqSD!jFEmj@r5KB0xjbNV7gv9b~Nov(0Fw!AHacrV*)#7Ee-h(VzSP zphqvCo&YJRd|n*~rp#5wAs7(vt|fy!@eU3Fz^Y2RlYGSU^xOGC(KHLtjEn0L+ExFH zw@v$&ykjnoR3Jv=MS8WLh&$3?2&WYmbYbpb4%-_XhN2)^@nzfg;w6#x?BC)uN*H6 z$mE)%XL)odG-o;k{Be=IgO0U$J?W-(aU|_kA)N7Tw)CiC#_*x9y|vY-)KkaW9P`Zr z_YYo82RY&6)};Q3f@5H86Se82OC@AnaI$9Tka^M8`h*-G!P2%O-hgAvrg|#%s22WVJnT4zMcOxF4!J6 zAIU1sP$FF|hirQSohmE6|C!-Wh1Z^fun>g|g+G+4&d=xeRUz;@nHoyyr z@dfPm^{M$Y6Iy!p_|eU@r!&kRv!qu*LNEVSmg!jgj~5u$JwK`+>zmiK(ntjerFUX&>4 zbHx1=Wt|2FR1R!qL1Sn)i|;yPXYwl)!9M0EXyn%hy(4sQbyt)BS%Q#rPlVz(Q*n5e zwa|O8X;Jx!J=)OqGjCC70Ofc}(RZ<~MNlM9B(m4D0S>d9ydIME_ z-gX+Kb=@AS?4qKJ9{{MgPeFW)v?64rj@S9dRz<0RNR?wQj(J{VZjbX(z|OANIzkWV z*GNZ|c?C)=OQ2HC3y`(~!^>%92y~7bnf-F6u_QXCV@7<4RlZNIyfzhc(|~82uJ8iy zNwjol`XPSPCuW@T9%4SwvAAgLX3KlVXDrvsiRGp`m5!|wGSzY$V+Va!N!dFL#3owv z;W)rG^`mdrN4y+t!4Cm6Uu)lk;7EswWKF^|QJhjG=?B8`AwPgJ8FJL+z8H3)(Rc$DD7sMjXtilAi_H`HWLF<0euSoNyQ^ zNh9b#J@%N$pzg(+BxfS# za(&KmWj>-%O8nd%GDOWl6pKu#Asi*iBxuPTF^^~sxR*d9N5p-e^E!EZNrHY*%sJ*L zOJusH@53##d}$nr_8sXPf8HcHgLvXC=4b9o)adv!p|-4@6U#cCjrgED5}ugC>p6ob zC&Mr4fMUdZK4}ck}{6&Kxk%;`2(o9i++M1&0J@(9b*1hTQ9) z03Gqoa7&%MbDE+F3MLVV$?kqUsx74 zqjhnJK2UkzsOYycH{w^(qUE{8NHHqf2f8~8rg4pVvPmI9j$$J zQAN{#Y0faDAqk+qMu+^lI1W}w2WP9M9dm}|yKM9a0z>T}s%_dYZ*szf0^y6JI}4^W z3j+CP>--(F?#ajJjJ3yAZBqN(u0Ei%*8;-%J{;)e3={UrD3s&M zFH|0+_m6uPyl4~;LIv!Yc~b#;umysSurmdFh|-qGztzbH@Y)nJ~JV? zJaXE@4IM`oAAwEUY|J8dt1`5$i1X{d8`0!0(nyqh^yK9;HRsNPsEIQ)*!TaFF%Wc{ z=?DG6bD#57R1Ydd9<~22>oEo1= zqzg*G&vn;;+eZ}*qokG{bR1E}iB{OEQr{$KpbzM5kA{ zik6{J1@rFfHAEzWqFOr8a#zo255d8LXD@m7ca?+`QA3lMv2y`sI^~p`ZB??Lf z#$>%Z<}M2O*xo8C`W5pO2;LPRDvooH3x-o+Zr8_5i}`Ri=yh()1mAX z>0}{DU1PYd{7YDi6`&lzr(~S~G7WhKjlN|6e%i`Lbrg3Y@B+p<)9D-9dV&7Jy9SnJ zs8In1qS=~)zJN%FQ(+#r2R;9=s*hWKDLl=%-CQw2p%IOny2Tbb^;Q)3gH}Ft%fMD$Mitpxcwo9VAi|i+2&HAN@zv z(}wLmpmJ&T{Qz8{DdoCrT)7v5P?Yzes9D-|nXVW~#jfjXJ)yZ0UJKu1C~Y_s=1V37 z^8SEb%a+dprrK#VG1T>Xg3AsH(voG74x_h40}ckJ>nFz-z7TM`c>k!Q z7l{t>dEY_P9e}P8`XjmWN23V!EuZMON(a_GQ*%t;D5k*|WT`-{AZ3mXDz$jp`lq z;w$0FK|2?ge0$PQ{4r_xz240VeUmi}=%O@%1csvOE*g;+61hB1uH#5TpDG$qH6s}g zS=%wk0gJ!CpC}h$SBsV4tM#|f+eB*Cd1W{imU4|b%7llQv%GUqcF?~Y0;s%MP(o4@ zSgzRu@PIhU3&lUFK&C%imEPrZiBnvZWAFEnK6}}A1uILG#F7Pg5oB^jif+a({fCob zx%Y+niEblw)BNZ{ABXi&&>u~2BBwCMV@r#O*#_P7k_>@A!h&Muxtv&l8phZ4%zz5z zKrI>_nySjysZ4Wd@4cs!VYwy4C*9?QuPLJdH?s}X*sL<*)L+Y{j~yD|91>l}ptPM^ zLi+SxBsqc3O}eIpy!6)3yfvX1N*Q`GoeN99zJyPsB!pP5NbYtB3WyFo zizo2=ks^gW!CyL2MWdBebV0luEI=($y+ZIsq+XXD+ULlN>jacT$3O8}iznk7`eIGj zrZZu=HHG3a{EGQcJMUS)8Z7uziLHRlPqe2RAmyPFs&`yQrmI|er@hj**P7I_tdjS_@uerD` z^0CcWKQm~A0IOI(*0;uCs?}E;UY`s&AyfA=78aZ)Cly%$`mUSKgd#Pu2+4HckI^Ok zFF@UM8Ic8dCWOra*QOzuy2XI0TT_==1Jk{81a_$RN7SeRI3?zs<#avFmj(_;u@$K( z$^)*G@@>)DrW2t^O^%u8oE}Dv$ReRhF=YPECsu@ZWot}YiK8NQI1V)a3K&NvltmQZ z=WxIgh}VfB#&XG#+3LOkMe1x!7+jKyM)(kTlN$nP#P6V;2t{i81PxUD;Y4dBMH&SO zm8lfPJH>=6Zf8EcZ095Ra!_+Xmx2vFArbHpCYs!I03IhHFGAn;1(t^a0JZArEp#Fj zr^zt`9j)!Dh8~!Su#E6CwJ2>=9MV%0GEf61Xs0-|bv0Ndhw`RFrdO0q)V0i_p=3Mg zAsz8OJICw75}EK-LH=wo6)Fbqz9)&0m;ZXA%Ohhw(Ua5a7Y1OE3sgjBy1J-OX(mQD z1%yR5%a*90hZxeQ^-*H4h0J`y-qJ@pK6|_)O|wT{U$Ys+SILCKQ*~bGoe3p6Gm=4CE>r2|AE`n z=bcHN_(U6<0Cy{Kvv1+$Ce0ZfJpQ?~Yk-@gIEs(9V8X^&ikOdi%0U_a#TIl(^pY6@ z_0A`;&@W`@W7?!Rv6KR1;_c}6rZrK?FmwZM!3PlOzT51fNpprc?t{B0Q;o<|sL^IZhBcYy=UT?? zjVx97=B!I|X5@MsD5dhi{=oXD;KF zhvUZ{8eq$`jDI+hNfaY$_^%=uj=4JK`);K?DzJgzK2HMh3MIp&!ESt#WAh=kt>o%O zy#QbMdb(1_%?o5AP6&1^e$Wx@q{}q|qRFURGk-ZnA7jt_dwXAa(wu?Be+#-jIgr7o zf5ATnyeRsZ@vgt{{U~*!vc{Abpmw@Afpj^q9~G-&=@>)*#MGhQaQrHw8)~F^D@U;H z-S?d&XRzD-4+nP$n_xUGE0B1o>C=86P4EZ4KY!b2L(t#5>88#`!!Ukr06m+9T_{O# zCPMDFkozM&1WeOY24_$q zm24OdLIB+%XNNqlAwP)oyHHlw31z1!|ZBEXdgIO%q=lN30xJ${BG{r}4-(B~1W)00hIwWt)dmP*$sy zUqzM)6BQPas#K_~iqF@tk>v+|a4kvXVt}+mOk}So3Tx;5!@UngZd!g46WHGNv8axC zUL$4*`S6erY`=f4CyJOsnRQ%r%tS199P3}aZeR|dLjK4ztI~@f1+?b>LHnF$(6K==;kpXAv?ZE1t2wJ@`p4 zyy0~zGu%9MtCdgK+AR0J(fOuU!%|45)4)$GiF~WIl?AL_!*%Pv@+P08Z=Hn}YTb@Wja`?Qz^j6<~JRnICQb;3+)X4`)7CpYM0??*f)08!H~! z!eC~5E>b|%0fz;=#HyQ!<0QYv_OU@Q9IPmn=4djHR8*{Zcf`qguio+=vQ`hT9-Dvo zF$e4)Y`3I{BWqryNuo3y+E*c*#xfg89t0T6sb>xIU;9F!1M%VipDfH1+9ro7uo8CY7ve|o!&Wi;V;$j*DNJl`REFZC627ZoGF z|JAT%|AFiX1nB)cd5_N%jTP`oQS8)H=lrO8>)2hyJ<_=>_=}kn?x7<7>0(RpCLkrd z>s;x=I8!I*y?V>kk^Z0hDEN}QwxB>>QePrC{t`S%HnqMmqHKHhe03TSYfvy+*$^Fv z)ZE&xl#^3myQRMRSl<7M7={AlZLXiON2pXH9maY4;HK0iPPr68ly}TbHP#E9CEwrt zFGja0i6N-E^-&S!s{596?rZ7#n9CEC;EypQYH{C19QfijcvO_o087s23BXrtah_%`vgOy|Ul$zM-Sel1^PuIWizxo}L8eqkVw$>Fe3P=YziqH41L zpJm64!Bsa(6cM%PScq8z5iw5nOUwhu?EKft{cNZ&o9hjg-1PE66Umpz-FmFeLoo&ZgjEzH=W$QcUc=}cUC{-z${GavW zDe>&(2MJ@EDzW4nm&?`)XIJi0E;|FZc8~c9f%M0ixi_vGAJm4hjuWMct#CUf;aGx1 zxeoCyPO)QV6}KU`Oh}^!s5;IlCF{$qT}NA5p=YPSc1wY!JqbJg=@l&FD`q?pr&L)y zD9G)T1VIiyET8sQ@pR33!nL-ogc2BfPJ->${ym!4#J74n8DR1j>P;*O0Gr1ddQl2v zz&aD`ytB*)Qp8FM%=y}OJCPKX<`o!I0>t{+2CcM(Nz}H1OL4@`f&Je8t^Xln_!}4j zimt28L6|NkJYtmO&SdsYB*ms6g zV85k6DMEcm#{~5`1%CYr7%?;f8Xi#x9Kj1BCXzSUpy(mpryVM!_% zoQ9$<8&M*zh<}Yedtt-5FS+6b*l!6CYubMsvF7zSyiC^KVr3?@fZ5o}nubNs=Um8{ zoUP$tr|OVFMBUj>4mnQyON0QzqT)5uxfkcZ-tOn(e+apMUOhbDe>7NnfgVLP2JB=s zs-LGUjSDah6H~n%GWuTo^FQeZydr}h$GeAkEYmdqUY!2=E&a`BaquU!C;}>&zp@!1 zm1*}tt1q`F2au1^4b{O&?rN?${q^zRy?&ix zEfX%N5!jubXSssGD9So!{19MXWRm z^KJG9CrRmmkg?E(Ca`^$3;2L7J&Z|fdWSq7l|g!O^6R(cm-9oTjd_ereO5*MEk3`Y zbv9i#B7g~#X^Svs8sss69wp0Xorf9aTsAywAB;i!)Io0CYUTyn?2zZSLPiGsePcNL zjr)G*38K)zgM5}AaU;i$=Q#H4jSq-ud}DMjSoCDA4;Ao%WJ@FBM!T}+H^`wE=e}{9ej>5*uOD)*d(r&bKj`fhymvR z>xl6rx%~-Rg0G38BwGW~V@`AwSqByVxRqypha9m%f8>8o4UK_tgdBPOg?6vLETx~3 zbG&2=#0vZ&=2AbRs{WH7ypiLXAe-C8UOVe$W{y=P!71RK@C~q4`rKdS zEf;gJH)H_1n;_%|_QL@ECuPwX|^)H)2)L^loY@gnbEkTqV(a32j95LevM7Nr^y1flu zBIYuyeaFX3??B@Kp?sJUss7r_F8szq&2aBIbRmKL75I;5KP@&}*$~F3q&WAZM zQaOimC@msa2kLz}WLdh-?yh7u0X)0rrY}Yd`u14ZTU4Vr=f8EkFv_Fx=OHuOA+-@v zz?+`3Hi;Flag@<``?PS$bSmn)shHm(w?j6BsIP-(AY{}}SyvnzX3IbBKLAxAM5eUM zXz)`$%FXF--7bvBX%UO}^#WFnSr3w+MU(u5I`RY(1U5r0_5kC?2n|~EQQHacqih5J ziTYbozuH6qV;`{7T;YE}$WgmSx6-dN5DwYdZ{02ofv|pu41lg7g*mjRro`3p1Yw9a z4+FJB=?~r$suBkppin{1^e4MPY+sUnyW_bJfs5*uJn*B2i*4g}eTm1>b|z`ge(OHS ze=LmR{4s2W#RM4~FW{krAiR@AU)ED5gQo{7xIfnQ~$o>@-uk|ejb z3Nt4>F2md+}xNDF2O9*QUtc6IxJ1`As47TwipzIvTWDk+3`F;89Pi zdlXPEzW6@OWWRabCtQEIe#gP~uv%$Btm9JT$8F5&o4+e`r*_#a6)_9t+aUH<8RN6R zlK0IojixS%7*529W4i+YJ+Y^%16;AlkFkuI~ekt3O36p!e>aR3&^(B9MQ>`%#PE%6!}nM*j5ABGaz`xS;GqC z%APY+HQM#Q_m$8)m(6Rt^kGQ3x0s&>`SGUJ3xil}FDLD|%CO}2@9ML8ZVX!S55S(U zemX$vQN$1!eTilQgOBXBvcVZ+$Q|-Ww@SR3htWp~u)!X{NFD|z+b!lt@qs_>h1r_j zr(8|?en3|c2xOe|In8i8gbqMlFTeM~aWQTl+JK}!yvv3Ww;tvhl82!fxaE`j%$veO znngy_?~vwxL_u1JQg@`L52@FSafZBrX2gI3K8Hh7M_$e@2pi`afiGOQHXRp{fru&& z%K*;Rw>0%>KHnt|BN3VZE(b2*S}}g3CgEB;iQ1g1A`l0d0N)yMf-s;oj+w~fb79_D zF&i)d2^IF$_t6*%`3`ePo3>3hlZSK9~tn&qh}Ym3h7^ghdnL|2hR%2AUmZR#5-}hYwbko=WO9mL(#S zg-%W2rUe08OTc$2!{FO-n+@Qp`zvNuM|de#{f4fo5TJ<(EvzZLfc2cE!8ia4#YK*9 z)|LP*xB`>d?L(tPwHejqw`C z)$GX#d{-mbgQ~6wTg@0e6z^H%x%G`E**&;pRthZX&M|p(2cQam zA?1yA3Pz-8LB!_aICBeN2sgGWoH)O6}kjHGeQ-R zN%-~&@6A1iktz&em0QeD0|JrTULOoL!uws%d7e=6Hf%bB!zV6+R23EU_UCNyx`Dr` zOfn7!9W6K+$P^fW1yevHA?jXt0qXqyrb!++DK<=Np}0peB|rq7knqYLIkXr~s6*v0Nq2-98!0fmfW7c7XqbZ$uhjfASOW z7EXSkGmr=12l*tyEP0zObCLeW+Oln!whxRRWJ!953lM?Ey744cj3LLYBzWCI5OW;3 zhlEmDq2eB%(J6tSD4q%M%))I;eoVV{6+5c~z=`vCY8-)eYT}H7PxPu4o2n@4k3Bjv zW05uBI+VBh?&O`kSFI9+!Q<;1GJos$xp*GKR5VV{-$*CW*Hqu38x?8iBH~QO%W#*b z3R4{nbjI5Ivx1&R6NqU+jW52Xh2`AhlPo=$ShQbwHD>X}FwzH?;uo&Z$k~L(5rMF4hCyP~5FuaV{XN&{LLyZwd zF?07W)2Q;X0>i^voOT4PBs1_5=o1k<_xkXXWeIIIhPG^&vj)T*O@N#N~+(jF#!BH%2HH%yj|C-3kMVt))Zm4mtm0$V?3rUL+L?5uoU-PO1UeKve>= zrZrgkESOI*T?8?H7R)GB0?Fx3paF->TCq3J;HDV7kh}^m_fZtMjlJYOiNHv;;1V+4 z(N8r#GaOVV;_g9@vP7i@y=7(AzA*z5f%$)|oe7fUIFe;Ay*! zrcMK)+h5ooZ8uy!3X3IaEO*Z7K;f@7#|+>YrvWCmQyk?HnUrF+NBXj6@3Co=n)3jx z-DCIEXKw{2#j7lqi+uE$=_9+R7j!wxf|E!C#$w)Y|rb77e1Q+&ZLXf(> z;Eb=_^N_g!#~!6VOpPB_Xx3~uLt{n1)aNfKVYcDaYy3s3d!InKK?-G2W2_RXel{cl zgB0v`WwetT8e<;btou)sfI4uNL2>|f>|SewISnY&$XN$ba>tB3yflL})~AkxYi$?v z8i3N~HH!jNBkPpzn2m^r!a5q$li%oD$VY2QsOZ;{^~5I^QyGN}0Z|jpG2Klo>SC6v zh9wdSkbEi(9E9r>K@AqILT05?7n@`tp<`_ccJQQ_P@Ky6X#2J4$?v_*u2Nh&Oa{;m zsLQ>8l7RLrNU#A_TYOnvdIHTFW*nIACN0#SlVSBMUUYN_QyPj;dqC$zmv+yHoagx? z`{{yOh93-_6Yu?|r@yh~Yhd%IIu5QFds5i}kdoA7BLZ9bO37ec8iTN83)Ru-33NkDJi zZ;a{r@3qagkgZ@nB|=kqHc#`&=}5u#cCtU{V&V6K_PbL-zdln&qo3 zI$an5JFa)n)CG*PsJNtQ^BEoMF+&W%Z$adIWDf4fT!QA8yj;~K$mKb2ugLO_pR$)$ z%mek&4N2~UjOqFBwa(@+=abYsY~PD{nzcY#cEhqMwvxtrd=iU%(`chGZ!H~cS3+4X zJp)_Zs|QzYMvCM|_%o}jFY>WI9!+&oyeO(F(_klNLlXLg?CI}4mit4<+BIJD_U+{F z(J~FVI#kwPV7W_*h?(>IUV6W|M|$snOHUmWP5k+T7pQqyO-WChc{-ol?}vL#`h3b~npqh62Z1qf@9<@;xwZGW&xn0_~?-fUP=1CqN~wCTqH zUwtvvrTu~p^%n6t10s<0>{D+^u1tRwsg!0=Ho=4gRZjanHfeOUPXjnh>})deB$mS= z;#g=)JNff-WpwaxY%IR9RLO%gKOpB3`(khhCDA9eK8VTi;$1q}YcuN!E) zUcO6bjlpG() z_2>)guwTljJvMu^b~qL?Pr0jTDPbq-oPtA`9axa{&!`rL5}BBgr5wz$h#;Rm$uTXZ z5a?*@WZ)X#Tj4J87qsT~kdK%02}RBgH&`9A8$)7{Qmzz0kR6Vec2x{iX9i1lI z-Y~SmoG&-?>gY;TfvPY@c&{Nln0$*S&bg!fEcao1wd_S{Z(Nt8Oa6sb=r+m7N57D4 zZ*YNvCqF-MN}LQ{WqV@MtV!MdMXC962UZRfj8fZ!j!>K{m*SxM&rTNx`3dsQFF6py zJ~*j3NQSYP?6|pR3HTW z3Y{{-ACF6*-G>w4DpCXavlK4&IODQ?aCK%v&Qw=R!}PU!?~;F+ac-v>d8ET>wkLB* zf7Jft>|lp1EI75`m>Wc`DOxB+L&7<|%U7~KwpkFRx@L1-#(Dqa4X_7mPuZnuKt-`9 zi%1HM!r!x?M{2)4=HW4KC!?NHovH>fS6%Y10zzW_jQ+A9fc87w zhZ&uD1V_L^i?Y!*Z@F+B5X3E=Wyya6bl|g0Du~Tv}21Ppn6dZURv=6i<`4J-p{gKR4NoD5KXIFp_ zIE~uvR$P{Z)X>pW*T=|z3M7d=1AFW6+VS}_UHf{@l7GQU;4j8(tt&>kD)KNqtPeAr zVJUzXXcW1vm;>UbnDFt(YC~9##LQZtjQk!adCW;M?_=hCu{n{houM;%Qsr zFEj03_OUh!Y@AwM+T5rGXf96bWBXUYmneaHcc94G(dao z8T^)Wa~r^JTtwFrU4?&(&WT5?{AcC(7V*(&k4V;fH3RYM{*Ws!-}WR?`;}i-rw2m& zyub}XZ26%qPKo_=?WHCCg5HW9Bk;j|%!ka1ogZ#Nb-86_s2+aF3AsG;-bx)2<44fL zdmIA`iGeMobt_4deI|g6{u0JZs?{~;VpXPR45kb~wE9x}O6zekxG-zCc{^7fKY$&Q^zq4)1tvw==8v z=n;31css{OD?`xM5KD0Yol4i70RYR)Hw#rvau>CTLvCcO*%8CXs`3*u0){1N{~DxW zlmt|ca;M;PBAra|8;*o68w27Rz&|`;OZWxJy?4wftUv@}bBXw1SrDiAB~HfHzxFZ7DbaRE2|Fw{KsLhOZbJ= z(L3aMxZn^*J!<76)l;ymOV9>1`y~I`h1VcuqZb_S8;Dc9RO)xcQuT$jW`CZ1=LHB7cRPPN+ZHP)PLPybHKN%Flq(;iU3pDvplL zb1~cF#7q6Wf5=oDE3 zn~*S{u^dAcD4;yOT3ktmk?A#;GNsjdNZ;~ljPovtTcTIA}Dsf`y+ul`#BiZ zBi^6#3B{G5Mq`#eRE>ev&AOW*n%=u&4KrdwvaEY8f`;8|{U?!^3b+8phX2{iiR*-Q zva861jnr5MK##w$Y1EJHe8tt4Nc#olhp&*2J66;tlc8@z ze=bPS^T9ZDt&0Iz7Z%KV{|bjWN4N9sTm~p#Yp-P)b6s;4A=h=7yT`n*|KdsFF`` zGMysI8xDVY9EiKrU*^~L{Y*bX$@-ESy8EkR5vFQ~A{XL_)i&y~nUbM*0iZmiul#_| zN)Qap3-%%Pr7DLrDGBrWi{?B83zC6>e*CywcFDiY@3j;<9lt`(s(F0(2ZMpKg~tp= zi9K54flW_={3cCfX~-GjV*?&#y4)oIZv|cS6v&CXXrXj8A_Qvb{7`~lG_ZU=ejCkM z!(9q6^Lxot56{`khJHP-+DA*;j*2%;NNPxA70Hf^dk(?;!6Eq=z9m82*>Ku_9|Hqk zL4+u}r^cxjx%}rEcXyUxtd8>or0i0Fu}|De(Bsth&m&O2)~Es^iZu*el{8Q#rJ0!? z-M0pcj}U{=oJwoZTtHrj1qv=oj*LL&`l#@Yo}fxM&u zqKBNUIq+&u@-MTt?~Tdn%3!RC6|Db*;DDxFmF*}=4XB~-E16B$UotZAPiC+8!N3Bu z0CWI4JIH{5{Bi$^K27{6{DVsso4k6VFXM-GFq8pn-(J6b1i0HxV~>x?wS6!rPeg1q zCD;#G%gIJlBO?@jD5E(n5#Y#UY$*j`jr6l#zeKy;QN>z4Yv%IFKR|TRYsOkmuOBkA z>oF?>)*WM8jx8WF4E!f8n*y-m>ypMXzMfMi)w+Wb<{FG9aMJ{|Xz%s|CYgw3kOhIY z4?oQI`~Z6Tlo{?^2Nul2`(pU7upX1vF8LP_SKDCV2w6p(>O#-hPMHg#cHuv95TF2> z{@)KS=3eD^20Iu;+#NCko6t}p)l`4V7#4$b@q*$;GE>j^5^3)FPx3Ep#J8t>x|gF? zh~aZD-~1BvMcEf|nGH7)suv|Mt146--b#K94DDBL5*dgKdz~Z;wD6A1_M5QRy<9yl z9q%D`V2^lu#M_Ng&Kt`=MT`OigFO4DWdPWvK!d<8IujAw=R0E~`;JHvYco;yT?y2h z;WaRV9;Kr!=ornhex8|+QJPnn3i_A}n+3ZQ&_}8rl7f%R+1k5aVy~Y5c8Kj!;|hR_CNS{c;qTe? zT68`UGMb{vB2Q%hNlUe;0wXZk>6*e5GOrhPG}84`mK7{DJAByv{j);LN{_Jg^4Sc{ zHRr0H{&t9MJ?Yp2$|2=q<5Fe$InmT1xDL>r{4A*APosDp%w#oP0-k=qf7<)8Ww&&e z#MdXKL)M*(t}ziJuu2Y4G4lfNu^98N&2aVXw-@<;U_a2O0kdKJCoI3pqQvAH4@dNu zWWR~d=wuem64-9-_|l%A42-~)F_m^kT441SS7`PP@z?(d?m8}e8f%#?a*v1X*>A_# zqOf!d8BNb2BSjWbm<)235hr@0<|)G@vx1ZzQ^la-dCJhb$nOw4(&-r9*76$Cn@&^_L?EiB$d;Z%|wwW!~ub^24T?Jox_;jLWt1+=2 zvM{lb2#G)gNMOKQppJtq^AeeZ=%jj=1&Pb$quzl1z|zK$#y>HOx*%jYaTOHjeKt@% z1MV4w(Ao@Z zo2{6&M`T<^T%@XXYcx-RJIof9?c+rU5)M7oB!9Q;YgUciJ2NG_or;e@FL9_kv>}{r zo)kFnFQP56yQcdtZDJ<-6+E4Q^ZfRb?ag!G{K|nR z5KM;157UuPl(Rb1aO`0@6x5~7NBV_@huyz33g!@AYy#ZX=m9i7bha=a=8T8d2nG!} zv4zRGR5r^2rvYg8kUagv52aUrtg zv)0^hNQ-$Oat1YGZ?qW|*u8P(x=>S*PRo;E^Cb8+ftiPlBCI^wRBk$48pHKp5J134 z#}2w|ED`i%{sMm(=+=D7W?k6>@FlwRq6=35pVWWL91R~h9&3Avgr_bM)Ua1EE305!ObQ zhPw>)(C4;ys%a7~k%0+86>n8W!1frtGCl-$icN)jsw&4Y>2ax+M%YK7vWT4&YCta$G)fiTGL-&w zIfJz-9d`f=ebb$vRXmWwscF4b4iL(SFIE%0hrmo@WE%*sMDZB z3##`YjWlHTA)+BVli?|kBrF1+YhaG-%U1Fv)H(kf-8g}e?H##fd&eJOgRT$TrT+pG zY)gSh8Bj*oyl!nNM)6AgXy=4?iJfrJEvokI1i|qXpJ*UK`rbmIY{^j`%HBSz#u66RU92~a~%uaomHZz441Ba#?9`{!*pD10?=9`KWJOD z2Z9|5)LF|y!3aEpZH?azb*R}U>vW8KmkQzSn%1TN0ttA(<_;`CZuvT@DD&YtWt zK2O;*VBE6FQH2-i=EQX?u;1g~zMcY1MzMoRqR5v&gwWXtfjcaP5x{dWxEuj{%+8Vh zA6xeZcqFu?XeCaiMB5;l&P`|9L-qt1_le?3HxbFkBL@PluA;+PSvLU2y3lW=03DPY zkCX~V-Au6nUo_uaR$3!g8>#5#Qb#SGDE-!SXh)30UZlLFYHwfGl+)iJt{ld@= z;+1`qo=SoW&{THXBF~jEgNyS{ZTeRWI6VFB`!rA+rwPEe9_6RGDZEt0v0+L4@e0;E^RzAitJefmK=PE<1In%F?;%pTlzzp z;TUsptSkm@yhz?oA!0N%D6Go?u#C%XadB9p;d>m&?0qA}Ff)gmat6a;ZGa6Lx2`ISF4O!74>Xn%H&*f1up;jP(b~ ziD|wBO7c1zo&wWXM|Hxkrqg^hyy#S)+Ni*tWV}psDqcJq7MNZQwPhkl|7^&BBq=B55fK5D-Hq?e>WZnJHnEcNc71 z+@bD}k?WsG2f5e>AqQ^frEAQ#%_`R)QC{PP=B2-Ya5p>!q63rB8Tv{n|DGTtRg~>1 zcUDdVT?r`971rqe1|sR$1SFjfcCZS-hLJOym0mNn1^Ei8Y&{AEpgNkRRX>;MXlqe)2NIIla;IXzj(%LYYwAr3G^wN#v>v{+%LH3>xuMvBdQ=^TGo8)$b@NKSfzj;pgOXB;Y9)-Jucsb$jm zgy}uJFS~YMQcO6iKcE?SvOj z)Lv9K=Z55qdz`jHN!}~WE?)3i2&%ipEo^V3F$KK)@bro?#sr^E8 zgGgM$?cwh-OzyTwo4iId0ISw6a4G}Z-?Y_pf2cDoBhm3q)*D^Q#2jTR1NKa$;Ur!w zLUBz-i_&awj}?n$awvIFA5v>xXRs1MC4bp>F*Wsv+`yGAt%r_dnGZpy65#hhF`f_) ze|XA>9Dm(%DDz-}W34@!?r2Iq*@P`IN+3|!q7U^G`h5#o^r6C&wV}xOwdC-IcD;W} zfnWW}d9#fOr4=zi^Kuaazi0~ja={H?kbY3Mmf$G2FZ0GnA>H0#ds|^XLqc{i3{Zos z4zDy=KeNyo*riNbEg$yFyhVk^2*E?%vi7k(Ntj_=w{iw7>$bXWre2HzvexsgiBV&d zFawoOtdDxPU5>2T?4+_@yC+8pb6Ot}Em;-NHEJi@nj9re;yh+$z}C0NeDph&_9B!t z_Tqu5V-mF-C|<#-P5)Ll$;gmLTwpO`#nktH1&3I>%u%~5p^+>sHXtPaJjI{;vFgd{ z<4XWA{rHxLrO5~MyWbh$_}N@g{xp}ZEFD4TR$WpQ@28wSkRj&_Lz&uJhzzpv24a_OTO38;-p&T zI4P!Gpy~%BSz>14ii1;Ep-EkHpA7u&Db(;qLL-RBJkgt41dfUPY$4=~x+@?~eLN02 z-ko4BO2|39L&m}C5OSxPh5N{MhrdZD15F?1J&4p4rxw`zWT}_th;)mekxErw-s`HhkQh@LIb^M#X2|!T0rM-NI{P2Ocjd+ zmW+KFG}uUML79B`ixu#pvQYxu$0FX|fo|ESFA5!U71GGFtikxor9fZ19-O!par%o9 z2gK?#et%$4!F=5vAbL7*4X{Bif@mP2nB?iJ&$%V?a1}+f#a}+F!tB2Eh=)g^b zbk8Wpy@A+)_JwZ+mRFeTU<}YnUdo|_%M}MR%nlzjQ?D_gO|QBrdiHyfM2pL!dHH)EC?mkc)VN6~K6X80AX@egb$o~s?uw6hp_&cK z9!-iqN148K?NdLfW8Ym1&mxlHl%zMOlN*v;Cq! z`UL(Sj)aZ|O2R8fCI7m_6CWrjcm>70btb4`{C){_6&*V5@7ITJs$JBVk`)Hx^b&kT!Wzi2 zlDa$Vfum!{v~dBoF}AZ&mZb@(rByQ{1!I51PAv!Sd6EgDCVVbCAaHsK2l8P;cY5vd zL&?ofg2|xF;^+OK?XcD`d1H~9=qj3X7L(SOmjJ!twqg*;P4H2?ePp`OFeK)&RT`0` z@EtO|bBWWhkj0_< z!5kxHO4%hK%t>4!lLO;hKaol!oJ7*4?Pu+VOW0sp=>~>%30x%5d^*k{OPbuW8?}d6 z8TSkZQa`v>`snC0m|#6Q_pncGIq+3879N7!SD9?NNFp37ItE-ZM+FdX#D*_9$)$GfCsT+6S9at7Nm zNgFk0Fl9O4E(=k?u>pnj<@#m^tUK&|APGav~6T}UYJ`hkwC&^6F9|) zpu(FLa$mz#3=F$MZV=_0OTJ4Be@zF_gvn_0|C`DgxdjYM0a)8*=t}8Hg!+b`Fi;3y z!Ori7$vpJY+TMnobcGlwqEh2VbxZ*U`k^W-+?CzS4aogSZ1~X_ZAqo`o)hz4ZX8Rb zXgAwrT*+oty3}e^0ansZAvT+2w`afdMCHfI1197Vkjx!3J(JL*ewjmTHIf!U$#>o%?jy`yJr0eY7v2M#v)m|d{P!AMw+af;i zhgmy)DvkVccjoqyxe2H=(d!tzV!cG84D1#cE-{=_4{H9G!4(%RB*sqWz`$51h8%vE!pR*ST+a&L1r=d$=*n;~Km@e<5aA8XS8 zFmjnJDCGPOxu1#8pfe#WKyXI0pJFgvU;x>_YqhQ=L~L>u1#yAB6?yI+!|=c|gFL(8 zH5?b5pKj0b8QGbFxSw0oNh_mIf6a~Z@QBMh;&j{s25TWNEYSU*3Q`s6Ivw%)U@&cWApn3Ys(_`N5xTB4F zgxq^Qt;vm$%DNO#r-7QrS)K#o5vpr?f;Juv?<66siii#RS3ZcL03AzTz^*c!4HdJ@ zuYPL?50!4QkG97=4sv<4Sr-lmoJ3XzNNmdH@69RkNF~s_!TiG%{VAG}N|^i& z*fEF?7!f7{)VQ=3G*E{olQ0m4@UfJ&1fTPmqsQF$vvDMA7w!V9@)7ur5`J_|CLT$L z_X0Uh*@SX}DX2ApS>nvE865>Iuk5Ofqzl?EE*wA3E~Chf7N8b}qWWD5-J-vNC3(!- z)qFHph+cJ-C9sJ|y9S{tAcfP|iWc9gRRkLfgiHB@m)9a5J{rgfTIcM9Ks3fH=m}r%BH@q!o#$GZ{%z~{_ri_&Y(^E3bhs91P^gZ#^FuxGmVe!;H*(5Us zM8syzIanmDJHr#;+}=NQoenWKu@k-r&NNaW6Nsb=^p5)=7X!d|D7#$6#x`JdMh%@Kh% zt%xT%Kd&DwL1q&uX?w`ld|!-j^!c*N;3=b8e{mQ3A@AT2JY>&+FP-0oQScRpGCUh9Mw@oTkx91LDds3%Q^%{`Vftd*%pXkF z?Bzivf=@@Jd?^o%q67%CYE8Q;*2Cw=mPF)q~!$pp^l?M~Wy~s9Y(4EVxW1P=YGO zKms{1DO@U>R{A9^T&ec;g54)tT7___@RHJ#Mtfmi)>kcIUiXV6XlvIm&G~huu+#N2 z6loYs)OC9e^HDPv5j>b)0x@^kQBg>J%y$qyVju4aaxWjzOYn>8X;F|~rb|IKD7nUa zg3yXoyq6n{NRg$788pZDa>irsig|ChkNR`IcLlDFx=xc{mIg7@q-%lMTuU*+h=As3 z`IWkE-g%JU3pgscf+(3yX263h$=UCnVTmPYl1fMB_LpMiKp7^BpZPu;R-GP_N-h!} z%8D)O+fubb0%{@!$i?7DpI>zLcnMJf zxG?L{cjY)4k9jKQy+ZnrQw@Z$Bv)a7FSm8Nr9snGc`YR?3Z+pq0&KXgr0QeULK*2G z#u{KbQ!5Lp|I9&AhJh&iTy_Q*Nd@tcK84~# z`xM=hyAUNw!!STJ!_`ayMbRR@=beRDa5hLBzs-Cp`iQwbWnDe1(-Xo4T*UuxVU$J4 zI7;=L{NFmv^hoyH5r!oX=5k-p6rQkE6RmH|1ZV?IPRBw{iijXbipwA}2Pzt)$3+n;vcZ73&cDSseh?d=JoFoYbp zkWa*Cs!&T*s4(%(GPNH5lr_?_s|@8lmkTP;0fC%W#9qqNY9|f72P(2fQl?3c=2ju+ zr8AzGP4^$3cVp;UR@ZVnS>R@;kkdQlc5+L$PlHeP861_R*acMtDhIDQ7K8FDpBKFe zaynKXLnr@S7bpu`m#smxbm@7;0$5pbJ*E^Esi+ZHNMzx$3XMmYezfK>=f8Jf@LVsH zm?!qlPy!zVfQmMf-FkrN?1JEA=(m$DkjG{*f<^;!gTpAw|N37%-FE99^IyEa5nq!~!Hzll05owsNDhQ{$@iA!r7f zgC@|DC3NjoLN2PAnv&o^bR@eN$T*u7|A18^ch7la%XyK<`72~rs251orhd9iAG~l_QI!E&;&2^Q zm{7VFbB-vUx*nfKOl77_45EijTK^TY74}wpq14Q$uT8Os>?!ZHMyulT93n=1VlQDOTL9lOXoem2Vrdo(c(YalNqzfO?x#G0tdD^20S)kz+@-aj{eGj(O{_`~ zV1UTsGv`N6Yz)tMuN7J)X&s*OpLRR#P1xrov&n5F0=!nN*yxYj2J;Mt3|hU*Q5|xa zzhwGrKDvoq_YC%jQ*z1ZVS(I-r@Yq!t&)$AdlC#<7k7|9D}_L59bVnoQRX27RjBk# zsK*V`+jElT3V-)*4jx+1!rS*JB(vOe<^p%)0{znkdvi{j6LKG-Xqylt#JxNX*DzGo#rdo zD7Kh~?0N6CLgOqSJ>dCEuKJX3iK__|=7+h`;(}$N2&YI! zsSsz@!Wa|B^v6>caTibksJZq9;6mjiu7-p0CzkXwQ7RA>R__Gu&c|@WbKl&`p?TD% z)NDG&Y-$Md-q+nh@yJo@AW(II*sys}B2wM*J1b4aY$w{aqbDOPMi+E8# zEb1~om(EFIkX6=%7WEg9^4r0nIX@ic3cu3o#X*1C!UDZSx)P}C9oC!1X@23oG^H<1hfLZ>2 zCqHg#HmwOQ8s}GHH^p4V-X**^V|!MsfvHh-^+v(u&T^@*-Osbf`e~QBHk*Zc;@}(bIf)OXG8<9 zGzaO_Ce*$V4KyPu+_y4atY~$RF7@tl$-;<9-aNtE!eJT7?li^v(X*FdreAQNQ zdC^&T-Vw!-ccwsC1m<^k;toRD^p75}=e)Sj0gjItONTOWU7_o&VYF3QfI`VlTV7;Q1ppr=SLT^;MQKz?y7biF0DvCzt0^%`!Gy?XXd zAYd96pTsT>CR-k{r@ff}MZ`FSlds(T4;vU~2}Ah})ba2&iFjOH8%jt`n9D!!UW?fE z!j8ggP7yQs=Q{Lv58Z#^@0l6GLHE@17~IUDwAaQqtw*!uSHRYoGg|uw6XD}h5Ip3g+^?gVb4{$yP#;1Y^ zPl+arY5t*z!+cO`?nB1yZ%aD(irk1eyCxx^K<;1_S+{|GNBf%oV0C=%VDAAJ54i3D z|8Dqz&sh#Niqz_YR}fRL1blKfCTVr9OuXTJZ`iEv?}Dg%(guF{AK)2Fhho9gJf zS^bnGok_osYDp-IF^7nAK?yUkqVHZ0!EKu^95yBOl1JJu<$M~qXma@dQ_gXJ|HCt; zzXe~2fG5hn50a1DUz*C&6m#Lsu4Vk1<76GwCgDtWiGAsl5_exOo)RBukypeg-3G86 z^;)bd{Yl+dWo%ej7ojgHouzCK2Rb`v62YHm@f5U-f>YHbai}#zg@0XK)3Z@~7Q#vns>=2Qo0FdCFR9JTVR8*XX z*A^H6C$=*{Ua2jte7nHaN0~ii{Q7_aK)0cU$b7VE=?lq+naXm40b5s?bb<-I7Eg*P zdR*|%DVdi%_j2e2RR&;ky)cpXA}CXL5*PqJ{;i~EY0JJ&;Z#7HjrJ%oCwa*tMQ0Db z1xK|2mThI>$8;w!604{T<~5sLIB}0yS#Wh1QeXN5Xc0z~oAvTyhzc@ZxkZ%~oI20Fxo3QM;97P#_|mGr(=ImcF{X=I37 znDj;_pj$oUL`)zdg268xM>|A3VVpUe3k;$*aDie{%pV<9xYv6# zKm&S~Y_-fP7?i^z<6=QWf_3%Nq(S5Cz^pJ-_ zPG5t7Ly=q&uxDE_z(toSqanCZr2VPUN>Me0BPxj)HDI1uf0hi215rE_Nu(g)!Y%k8 zIY5hTk3D^ih4q?`d;+pP-D0l-0?oFw?lrXlu7mwITyV6OW z3@_Wz#Um=lVB-%)h^?(o1t;Df3&k%Ccrbi-!{;_8_VtiHJ&mBqe&I%-kYNc-z)M#B zB{KN8B-@m@O9^BCW5^IDIf?d&xPVF3lJQ4nqG=wPyxr^eD#6Lh*hJ<0+EtSa3cO|n ziuH^!u3%La7vAmNK>wRl_u zwzJxzIo65dlzIqP6l4+b*tpXOPY0LFpm~k1xHNFotZm7pWCkO=OD!RKy*n0q(Ak6D z?~8LU0+aeCZ`~|agf+6#rzNQ2SbG7gsT|}6#KnB4YuZ2F$A~7LOJy>?z3`7BfE$G> zeD#$>{T*}hnD=Y>I0Co-Ix6BgN?=%7%RyY*4l4Xwg}taYHODKRY>~* z91MtzoNr`AeP40`d^bC1Pq_-Yqm&c;Hp3K)y>17Dh+Wg-HKRn~B34tvF1+sh`**C0 z?71K^Q-r*#D!Fu=GYbqR89}$m4;&6VD8+R>*pR%HUD)tY$;ZXT=K}8{H0WR;Eliin zB38<{YovVpGEE7)SjhXmd~{35(2V0t_q@xu`4JFD=0YaOtn8Q#u_Q(G<nG8))!Hgu(mm$)rjz-9dv=;a@L)+RV+)_1-;?@V9b-#trZ0;_%>0)(k7Xb?aVjcozanWhn5nnhWhIPYre^M5LFEU=d>U#e& zCJKRAEZ+^$C-w2}N1%`;>q1ktPh9$G$BtQUU=-hm{ApZWmud~&FZrk{%^&bSeePVH1qri!(58NHy@Ejs)s2jLVd+3*+vP=y5h?(UFkZ_SCs1o`bG;h3pA%pKbl&Y6dL#o7Jc8 z9eYnmIYQ7zc43{}7}9|_v_AgWjHv>xKC`<*m2Y6gQe$Ltv} zmHlL#(+M^jXwC>VtnX1JD5C7L80a4xjdsZx7=E?YMlU%G>7y6nc+jXPWGnl@_78u| zz(TDu`LPs)jTQ|qpC0*oR|T3q1ExJ`vmE>tGMY{}%cY`!(Rk=?wmY@is|R~%N_B*G z4*fn_MdStG?%nqsii6x)V1?Wojj79(+VVPfY?iiX$T-e0zg@^@_7s@f*J(cWf2S6U zn9+r_>$aCHQ#$M21f%7ZLdlxH^eLNR?l+0LR>$Sk%pRCiud_U;On!iL+K*G;b|)UO zGT_(;15Rc9j+n_IOw#oa78kmjQLSb+0=PmENAOJeF|-Ixk|FUu_?$G5z>n;nY%XMM zPkbObw;yH(dO2Gq3r3nhN&d|qG%2vg{4Y*(PVzwZo|*xl8`MXsl2VRg=IM3`ur$#? zV4j6A{7ZNe!CI^7C@hLkj1ZZ-kRjLSbB|>qtg&q_hZfLf`C|RLnokNIsEJ+mSBewfRtam97*a`I4h zJ49FgfwROC#{aF8ArTR*j;*t15%@@wCJC0v>jY|rDt-Imw}_c&nh}7zFMX_WWVYrZ z7Z17akNMb7A^KB3BRHr`t{5%%9XI@(YFm->8#00@@`@Y}!=Y&TN-E(ECYwz7GW;%k zodFhYAiYqQJLu!*J*6a305b7G=2N%G_{JAR?@?d5w)!>SHt=7jmm2$Gnbn^O(1eDyhf$6*K5!jDe^W z;Lvo(ynqF%Skj{AChJM9y5sTvtpMmE9uTS({s8qN_jq;J{>j~Rfe zr){abfUnwO{{L{!BJg9MR;#jEkWm0DjE-c?6zPvL7Za7PY?}dTf`MVl$^!$e@n=G*>(fz@6xqD91FQ-fS}@z@1>v%% zk7Ol#>5d0(8LI`bUuR)Rs^`GHJUYfqy9T@%;|%Np0-G+cEA4xeVNDbX`$quYfo3Uc z1wfG=CO*dYc8jnTsji}m!~^`LzPWSZcg;R6t$m7|)*ZJzt0%$vb!(iuK;-H!bRVk! zg9U;T3jA20PIP_}Q4Q!NSzW9=M%j3uje;B9WX;=|XZd2-USHNzu1J$K)Pr@0=H^(S z@prRbJqOP5k0JA$Uc<|bA?+V`?7~Wmt^*!+b}qib3DZaP=d$)`AnzxH1b$d0ov#ghUTnM>l<8@Xz{Y&~w?5 zt@Rl!Ctc0-sPO!mAr&2FgzpA2iHN{tHj$shOwZahwXlTdx<3rGl8%6a3mWVFAp1$D zl^3u!gID#mEnye*HU7DxL-_?o6n8b{ypkpk= zl*sPw=uWrHUPhJUp?`Ox$I)xEq8?+BW1#h~(XDh{pfYVC&r{Zhw5zYmUgr)otc!z2 z*-M%)D)^NF?S5ha!+5CZ+&>%`{1z}nZOx@H;6yh-U(toE*(u>(rsQo6a7(|3iV}9I zX&>sRc2M4$IF->A08Ej(X_O)&uoQ&(`0|Q(fgtf|rh}w?#tYUyNheeDEeYKJPwQVG zNzuE#tUKFI2AwRZ;uW&%!F$L`f%EH{%f})VB+d-?KjI2;n!{j-M3)?dF%rDi5_v>e z2&JbNbB8t|AW76MwzyiVWzf87OEAPi_qr?*KS2{cX6d>}>20g^k6oZW$m=17qsCYL z(mkRzmRkrgxjhsB1mn5RH?V)&D06~FlIJmPnZ#4-*(P>Px_ zeBfUo;_bOkekgPd_&i*66ns2H$Lt!rQ_?Q&Yp-_Jm`A1qS{`&nWM=1dy*{KOinJ$d zc7~z^Z!;=Pf^@M{|HRxSWz08&7ABL>fomD1$#4-5ynL{lK+ORh#3vnC%54jmD0vq~ zJX_GGm8(z5!O(zhsbI#6ui{~pGb+asPa=b2SgD}tu$4sFM+D;ieTL{D+=fL;r*npo=CH^u4(2Wa~H zOMC}p2Fr$Ux3XeL{D9^l`OyHSf3>jS_xPDi>B8X*CkQEj=vAHWHzn`Fis>&#ENyU> zDGg0ZBn_VH8HOl53gau!s%0QUij06q#h;h%>pmC}X5xShHq(N* zTRChIH?Qe62eBYz-O83~uDxc3ALThv`YsqOY$20L4KUr=G+G(NhykE72C1mu>2|L%$h2?j*?=AG?d$-0=}ji5_nNT_>MUoVhM{k%hPD+lb=vY~)kxCZDq!h%5lyEZm@zh?=xpcXGBkd=z zTX14Pk-4$?{2}={4f=TF0T1grGbCS&Vu`$1%xQnl=ersHl13UDh%zG~3}%f(O9b>L zbT^|yVm*A70Sj)!&)p11VuGnbdrNmS%GOt}JA#LNl0htl#UE$hv!+MVc|mjk>pcH{ z&R}3FGh=#$pcpl4(nRxq8ypix4-TNy zYAyX_F_fg)tj}kmw{YXqdTBs|wwO;2y-)+LjtQc`iegnbdh@;}iZvWxN<|n{y{`Aq3QdQbP?JG;R3YX941!U%ltR3Dstf`Q!WVGDN z;-xjIJ~r+{Xqw#(cxXNQx-&cjmi=z-$HEy3I-5|t1?lgt&5%QA6(5bP3O$YY4+QPN zSSPbJ>rZxxSMUh!%WJyOIt_;}12h5aK4b!RavGc66JXsZbmvtBh%E*ynZkf; zLI}DfI3nCmSPY`_B(Qyxw2Mf?d@ebldw5MF1RXyN2#Ol4>^)-lAAkWdCMzmG$PLo> zikSS@!!CT6|1h~d-*J*o;qOFcR9m&k&fXq9Wj69aFJy^a?Af%nAR!vcjEJT1(%yPh zfUFu!EQy!2BcgAg`(k>``ESOY*sVh`p;W_$B0MoS;bA894~Le3o?uQ@$4j+8ImeQV zXHhKQkXs49*q8hDppV^2#7JIOKvY$*W*Q)Q(P)tDthzvk9}|rP=u#4EyXPrgV=aY0MG}}YcRV6~DMBv{FA*RAy~@yUO1w=E4zO%sV6Yfe}*59k}a5Eqhu zT~-zfYqF;GvRRTZ*wgOiTskqQNL^7I0?qr3!$|HK7|msoi%}|FHtasp}eY8wWyeC+TH@ z#fYL}K**YEm7uU>V07q%7K4NQi4Zul8u~eI&+fuArTW5I|0+R`Jm(I9IW8wiiCU`! zeez!u?46l6n#u?TEV%HUwe5pJp4mxaPOTgWU>Rbxmzv_gXXp^r8GTU>Bm0lFiIC_E z`q^8^#}OU1AZ#fnvdpsWrB_FV+?HK_MVi*yUvf`!m$Hur6P!M3Tu?G9WZIe}73G&k zlhX4TD?vwLp@5k;DQf#F!U@nG^YEDaKgVoIsbGBZZK#3cFr27D|Lu%c(K68r$A!Y) zwR~UBoCvlG0QAFHF*6D+3rP8~+mvJwPE#*#=fcBC`2|m`e~cMm8QeUekx{)F-5OOT z5~@}P;oLi2d>Q*HzJ|fCBB_YaE2!*YFB$6Qb%kt?kcpnI2OTBZQzT$AG5nt1O8TYe z9bQ?=8C-%GyaRO_yW!%^Hck(SoCssWV{VKnz(%koj%4u19|j3hyC@OsvcvD-5;WHA zOY>s0HI>st3a^$K=bAM}$blYm^pNWw@=1Of;>86j=q3A3$oT<6xN%-8SiW;U0vwEy zKkZbIv}r-DhDB?w{sNLQsa5z3KN}xjz>s-)yq$GRSr1tm@T)f|XGk^~Fo?4N{7@4^ zg={&AFVJ4l9GpT0FCHxykd&yCJT6#WV-7?cvP7=QfK+rWX8HUNABj5%h13Ntq5bYF zok;to=e89ZrJX4e=!(H(Oz=1`4)Q6C`w=YS7k6_&>X+YuD>0x-|BRc_Hm8N+p-D`I zIt{%V#(4apR-A&=@h-*{0nv@0T?uV-!YG)2^I))y8AWr1o}P|1=clFQesitczf%h zwo3Y8qDk|NLGcZejsoLuPumDrvfy3par=8&L(y9U$reR|AG5t%AvX_sTTV^tjxp3!gsTqK5;lpX~^;Ac3H0kJZbBu{v8RA3T>H3hI{Ai{~D z(iI%nOVcFFS`WE<$orjPFVk^8m!*%u8V?{(73>e|&4#H`;&&42C~zNw=m&#=e#2wK z1Du@|SCW{F45v#{+K7IdZ`Ej)Sgg`VO}~Ox3Iylz3c8=vj1Z}>Twpi_PkF*<8z}pA zmIhOdBcEtc)@a0;rOWnVi}EO7h%-jTq}X*c&`2gfFR5C#x$Vb!YIvZo0jUy;$2>je z=WH~-+(UH)yyHSXNpVoti+hp8-gm$tCF}KpX!Is)Jl(e7&e+<*=h2F) zGOVHWggqixojc^omO9`bh0&2z|B zu`@(l|9mE0MZ-nRWne6-*&cwh@T{z;kqp$KKcx|nRZ10**2(b$K|N#EJo0$~sWWD$ zoz=%jRt6fwfOhhjw+uLsBAQq;9A;fba%CUH*HA-cl|C^2AlsUFvp8s|s*4a*guJ?k zY|W7MIC(Mn5e-oVYCYB!m#l+O650c{APE>eiME^hSk2kVkR9mavIZRc6a_qzPhHwP z1B$(b6eqwQ9osttBB>!Shg8do8Q>YJru>odOvf08@fI2IOBSyMslY%A{>Rh&hlwJC z0ygYLT5K{+$VsRdd!jfn<(CUxlGQY;c#coeL=kku6_&6EWgcZ)2_EgWT3V zV)CE0l6yNf&kL$#{Y?>XugN({Yi({9Wa9yDG&j42mxEu2i$$XjcZZDTDn`y=S9|io z(a4`y;=w6mWuv89cg^b{5ajTfn_~Vdn*UqOqBIpH%*2XJ)~TPqm2#v>LLnw7b_9(I z6Z2mM4Me|b4M9{nYdY%}v z(lEA{CvJ_J62T+X=q3lIKs(qEYibNUMJ=Yo43S(SihF>@L{uI+E0>*udGF z9UWyDTb;?gi+Mcr%=IshG=9vyYmiiP3oj6lOtOU~mrRz|8bDB49qMy@A?(Y*i5OE} z7IhpJKOK^ULDhY`IF18c1oRF;RvO z2bom6ZEIyF)E}$hm>1fwb3bR0CJ0#-(Xsq~mNxL*wP9tyXt!NnZB>F&m_6j=A#b-` zKUz3v*`s2*Yp)hVRj)%q-{1!eS}AFNIVrJ&L|*Ac(k(ehN>X(ML?JpREyG2U)6}Ar zu_0sb1Cr8i&Eb_E4`m9I#uP{~?-kO2w2+m|G3YvR9mJ-30gndaJOSWY6rBp967NZM zZ86-HdAs!0L4Jeb%b$CIOKqm0+jepM$F@rDdAP(w!i2T`n&1K@ZwMWO?;1^g6<9oG zH~vInU`>g=0PxPg1T_$xRm{7C319u;JfDHtuwb4)w68QXT}XyfMdyAfV6-zR_6I?l zgC7pu#_%D~*$`$5<%AaG6;j7C1^Jkm0H;>W`wqnl-}7^(WN)C#WT_6f5*;C!uJ%_1 zN;G#<0Q{H4V@5J@JgT*N?SCO?1G22bTXxK-Hpn~F1%p=RI+>57ykcr>VQimDe zJxV=;_Bp4}T&4^C(ty(WBnjmL)h>OBV7JR&A&PcN%-KFpbO4cy1k(k~R$tYnZo`%7 z*dsvL;zp38=n?#P89vIH&#@NZ;yuju3Tu2OWQlkRByJg-OMh!GT|-g-}*XnI3ZALQdz9HNnLQ z5g+f0VogGOYSpuMSr;y$fD2&$5_$FR9uXUOp3Yp|#Fl*&%)9A+tjsVJ=Ia zkHrnrSqk~JEVhtqIF1%kT}6-`|55IJ42ZPJvCAki(q;WX$o3Un+*r78$ZYW$AX&2q z$O1{kVzKLFbRY{cO@Gy_U$H05$&kwH$Ik>*S@qK_g&6Qz@0f@D(!XN1_bOrPI%5(v zc24CyNQV&*fk+eOHqNMzvV)_HL6YKucx5y)(G-V`6`dc?U3X#C#>c=eu&xE+{H_PL z>GXQY%7XRQ0kMPf2bE?EqRVW)X@^n~K;gTtR1RuJxIBm$>Q=+si2X9f*JG$4dFHHN z*xpjjoTaY{TtFXBDaV*R0!qG8bxS09RRy0CNFc@{ZvPaqfHuGPR7@Q3rXc;f!Jdcd{fHliKkI4*X7-8w|W+2ZfIm*Hr+aX0veO*2MNgW2e zt-lvB8e9~y)|jw)vY;MsZ~JzDR!(tdL>W~r3FOXurvO$>5rb-@-1W~Fu)rf$^0Ut3 z9dSJA&kc&J-%dga)-RfwT%T1n#;{vuqU3-Qd6k#o=S~(ot&;@U20I)SVJ-A~6xi}o z04Pi|8dF+44ycmex=I{|_2~AHPpye%>v)L*f^{GySK&0m5EPDViZ(YPTPCw>5X~aa z@eFSSD>^o;TO-;mlyc-HyZEwq+g(PC7{^A+Ekrq1DgBYcrmgaj``-(hrBINsJCAZa zgK#M5a&{B>tHP@A6oSRUx+|m$!;^mp zoK8zXDenEA8eu@mvc2H?)<2F|ofZ!sT$G;TQ^T>{#ep?L+wpTeabRpNRT^judSB<* zZpl&?coi{&6|%Bky+<$#`6O1^!8)XaT0(&U%nYVxw{{zLj3@3fkx2x)u+N*<(9mKO z#E#3c4xB(VwG^4f28;Dqp7d@}7{4s~!D!QRg&+(l#Ad-JB-{=8 zt;-ONSp*N+E?w}f7~WNw4dbEKaa9!AzO^EQLcufQ0KM$HVN}dpRLC^+s8#FZZ?h(N z93FDoLPo0YJ7lE5sO?$$Hg%m^ry&H)n6p<-hH6f$+AjPzr37ie%L_KpKrtdA#MSGL z&DiV>-VjfFaNZg(y8XRY4$%iFu15CoawvP=yH#QQET2R^z&~BDZfUuLCJ4IPk#PWo zKzqMCa56@u#pJmoHXmP1ZFDXXH_gB^mRuKZ1so)=hutoSh^u||S6j9>@BTV_-n%tn z{3+W99WJ;GScL|PT!tJQ&S;nV5bj!>GGr$lK|^8;Y>ya)PkY;*!z?-njxFc`5VK}u zm*${64k=tMyQsOcLA32vUUSQkJzF!ax~V5~i^*jVZq0-#=2iJQtvW z3hGgj!YYAx)}_q7ny!Fa&4dgQ5>(w1Gx&Ci5bg`XDn3(~;s* zZdn^kYY%jbJAL>=1+<7e88Lo{w9x6wI?A5;(w6zO_5TjJBghMjwFR`#n1)FA3X7wN zjYX(F_{696nuwvWE}>H%cb!bXCo?3zD@`z<>WqmL`huv631dls$v9M>HNa?$RTOgZ z+?V#;*M1L}S*>0lX9Bk5$qhHzs>S=?%;OSP4~!@P5nvSgTo+98*|J(?qUo~ssrAA- zN%1nqK--9UWt!Jm+A18R(*05{p7~zW<@RR^1Rw{wZB{|7vc$#E?%V(|KX4qmQn2|% zk0(6cQyl;Wv(%=cJ`!_-@7LCjhglzL*P6BsaDfh)gG-qGwkV$Z@_2^~z3Lcpl%6j3 zpA@uy(G0GD`yMi`CykV>DX~qQY_{O<&&w0do zd-;w4BTH-7=SF6wgYBLd;f5CW zKFB0pNHHiuh|LNL48xe_day}LEh4s;O>PK&6Ws({*svb)R$QEQ{ly}d{H1oJ zfBV6a9`$^d|AqeORa*q@ejp*Ro#jxF<4k?dvR6)p+@uxc;@rcoV3-T`Gzs?S>x#Dq0To<`?{k;MZ zcsW!(?Uk?MqMjs;>_xg}aA{%)i?u3MYoEbZoY#*!+0Fw(M=Ci2J-{Q#$_;w1JmCw=e)K|AW zl23OW9tmJWT&=&$7DIO&aAUSdEPFJED_zLp9udx;vZ(l+42ZX5N(&=PI7;%}?HiKw zL$_)-ALd#9_*o11tz13x)xEVICnb9OM;8LHHNF6`D*%`5qCheNWE*Nke;m>yn*TB4KUEif>_4#=fgLa!3Gy97!~K~NVfw(*19{Tm z5htX(yH~CWyfLf?DVZL8-dm`i`0CzQ&jS?Eu1yId!Op=UJ%~3OBx!+}5!m~n{S$_p z+$T*CW&jV*LB`t&Bnu2S70L-7hjq0}?vtH3V=yd}kkf`6#GmnT=e3YM^VKc$*`;(k z7WME(3Jj79wIb?*)de+~UKZqcAfy8$y3YmuY!>7Y$eM?2U&PhEAUaT1Y2tcbhCSkt zddQypYWoWLXcB6zku19P4;kODID9LkkQLZpF}(S#SJNBuaGlh za0?6!OiIf6%p@CZ545Jk;uDdIiwq>vN# zF^iJ%Bgb2IR+LH}b5(k`y8>S^JmfGHfa6sm;t(g_BWdjGGF13`~%1gRQ=%ndEc1>?Q;HrSA~mr2-dARoK#;XgUeUIa4^4PV;RHiOI^sn_-k~KsY3D8qZ8J=MFxSaxe5Xo zRxrm8{t(@{j-V8FgxPic;GHloTN5`9K5PF87Oi~yT6)OSL#}@@)9{zn2O>Q~qoG*sr+8=E9G%G+$=k*T4TQ~T zXK+XfV|c^?R90ObDHPEZfA9xkbQIU7L8wx%l%@Cr?*AQeJ4Kw*p%~@9$Oz?wRsd6| z-a6<;rc8(LG#_OvSu5bYk=Ow$Vje3uc=S2~W$Z$(1~7VwNym>Zhg#F+5hsth>=B=G zwWNS>Gy+o^5r@-^2*U(vf;Qht{m9M1B~s87WBPle%aWT=v&w|=s)r230Q(!?^s!a7 z-pCRgh~+xGPmRL4tcRREvC`-lk@zF!nfC2PFe6 zNN9EqGE?4m4SvB%?q%kEpK}bEAv%^XC9^;RSsjEHq5P&PLmb$35P12jBq?CpVh{6F zL|N*I(SF@N*2_m{zzI-_`#3gp`V8Z`XTE)? zJWjk-d&=WNorReK^-Eb#8ShX0gBe{?+*>AwlS}amRo33OkKzjy3`ST4Y{i>v*hUNu zC=Ok|Z!!JsEZc_w5cE>H!GBx_!*gHxd+4$#=gr}`>ka~AdI%u**VLS;%ykFc}X-p_3hKc{}i#+3pjZol7rGH+{inR zz>cwFJf)T1KM+1jpSruHRS6u~kNX0)!zJ+YVtDG?$67}SU-Vt!`iI$L@;0?oBV=gZ zxbi`KVY1dGcPFk^{h$uxHBmHfcpp)HDr8-a7YoeS(*)UxJL23$20Ua>efwPNKcWsH zWE7z5*g{qjEbbwZr6GJOSOtId53F*!@-ASkgRJqmzmPJH%%1rq^g@2xI=*%s23YdB z9y)uO%^k5UCzGbo@R8O(HkMOjgWXDYYb_{eK2N#AV}ZQGf6G%}nBo=0MfAiGj=Gb- zci>&Ms0|N%T}m&=k8Lsc6J8{or-vndRYF14|CUD+>^(?^^wa*X8R#7$fl92Glf zyM6OQKRNCY_iC9?E-?W{_SG|=bYASW+{cH<`2`}}+I+}%1f7@S{%)4y5ERIQeQ+`` zP>`%zhZ+gO<~|wt@98(;Maw?FDA)++^2VwEXeb0}Y|V~tcVP=zsjsxJIrwqc$7tkH zVul~#-kS(SqVdE6!4dalfL;;63GDFe10}Ne2vA%VPDV;g7>iVD(ltP?cybnPq9Sr0 z!MEAd-DW-L;X(I3=>IZU#yQJw!C}!cjbX%bkBJ)8z9h&TU|1frgvIMJe20Hyzb%7h zn6IchDJtwl`?{B>M?C&9;(tH9uQ;5tyeHT4uk@S@?_c=d<&&&gI7?tAIDEWDFqSNt zg%<$+i?IrrW9_Xa^D@7%)o1jRwaXU{QVajY%}iqyhh}jMHm8g21{7>?8w36%3F(K* z+_R|H?9-FPcJW+e9Gl&gH4YaX2mfRj%Y|mT2cYel$E@`Cg)vL@FxtXzCLuZRV;)(z zNP|m0p9nId2&-nb<6t6pT*U+MVo~b+&&m?(GE02K> z5ipvrxGB{&!*Z_V4}vQ_F+Q4$3k6%-r*V>bVWaVmIG)CFQxnKv5cY^rr%-K_?4&>N zCcwZmi*W=xKLO)x523NbbPZBD!v+`cgyriHGD>M?H#`>ZpF-1PMnaK`0D>~wQrk;$m9 zAuZg7+PbU&xj`4N zc219ZhgYA(@&6Drn`bt6l-#*^uZmlD=CD?|38Hnro-?k_5g8>*axKaz+rALEEp^F! z%0$?oGgVmmxO?9kXIw2Fb9vu!0QL@*9JY;MC^Y;H{0l^b9CK#m^~<6({~!d#{&aEz z(K$w&Zw+ceZ<2Wp;1^HaUcb0Pu2@O4abpsd( z_9HI-BXJ3d%6FVJ?LSEcCX+nCsZWE=mxl&vk}3r-6GYH~TwaL6>j)GY534@;;;05jha%L0h%lfcJ*n2udl#wZa%0_ab_M z-ae+HR`LiWhT=qxYZXW@wJzr2F{gLTv;7_lFypz3HZvF;g9_Au%dSt%1Zu3Kxq-Sg z6|r<4(9^g!ZiP=8xC+L?vYUp>(1Q6i9F!E9C44+ysi}0)&P4>4bI9T!g+vAEk2HzG<`=Bb{?~pcz;haM~=MH7Y2u%F!0m-E>FP0jx35DR6!9A3Il6k3(vU(ujZV40K5bW7Na~ zMICm+!h5>Uz=z{NPYa+HDFyw!(nS=HID5qXeKN4I`VQFcSjgunpFo$Ky2}}3*!RcN z9a!LLABAxj!0CWNvVDFF_rb8+RRCm;9EIbCh%(iF7qQ31wk12A1E+AsI%fEZb)kEI0UkN9*u%mZ2bv`K=Q%!c4%GjX#I;O@Mfgr4T?o}lh zswH+n-`TZ0ShZn5)!c)iBU_K54O$I|UCv*$s2Dx}#jOFX=gR1WPh_6LUkkPxxROSR zR-Gbl!t5OOh)VMHr140HKN_SmZ8ky3otYmjz&qy;^H`#XF zg9q(NFm6dOA0XnR%p-Sz1Y>0r7upKBG!#rTFow=*Vx}9sJY^XPOOj!==;G`y;e~q< zgsBkM{$v8!5TN%@dKLQ7b70(iz~f_vws)-b8>{?r3_SmO#>rFQ4lWX;?mM=L)`KK;!1MASEnem` z0k8v!>AUw*AS|riK%*I_qnB$CjZ)#McMO|X#MF*6#%=mZ#KMiw)o067)+6==xMPdT zaW0n{I~t+-q+LTb&JmOzwG8DwV%#()4Kq^EmWumBf>D7YOM2{XJ>W_)-y8=lBUy<8 zGvamX#L4t_Y=w3+w>00=hN!eZ3w0T&>+lS~7lc&F3SON(0sm1Q-a#+f+SGzD} z4VsDrYmtZ??VbQ!U0_J-JCMl2W$@i#QaOI_W0RSD}WMck5*3JYu zjvUFN7h;74cHsUO8-L#s3o=2I#?-2s?rBy@=?o&^+h1VbA)D=w`9w|DWA^;_p)E1O zMi3FW@qw1Ip9^o1td$Z*qSG1Ws7Zc2WgT0wo&*}wA9V>pLgXDQN$_Hw&shlLsc=0t zNinZr!vpJ6aXrMu5Iq5|@)Atjc1PoTx_`c=&iXY&rhKR@MId&K@Cun^%mNm%6c4#l z%eB+(uXN0_9&;9&sm|3aK-hUSJpILw`RB$}m|EoMmj@khiwk_RGL5(H1oKZ|EEt>d z@m0ddSI8-4FsTuc_0XkE({3LI$(T=}@~*5)5O~IZY?k>i?Wzzx`K|gA_EK$b3|^G@ ze8KK6SKI2im@ziOcJ~Lhk3;sliJBQW{=~_^W%wfl`+SYrOQW5k4Cjnl~TV z-KLc=TRq}+{uws6azM-A;FfY+J2{=FjHVX2Z;$~}&is)F%_(-3P;Jc9a_I zg~f}V)Mu9gDynKqIkQjzr7PG$ui87~;{x{FVZMK!`{L67Y0dr}a}l@nMqJbP{&>@R zilSxraMt^$=hme;gL5ClohxP<4Uk1ifC!#5gopw4d4fBqV+nH*yWyFx>(?#i4~@-Z zUK+r)JprA*?}(VGovUR+%JPgE`Vecc2Bg&!8t{{P+W? zoz~@O(>JkU%pRH`rUMb;rL2lkJ=q zWY}o`d($GI%9Ntw0#F1I)Z^sp(Ca6Cn4>4xC`BZw`szI-Pk(6{%azSo;5Rtp89reo zRFN2NM2YjU1i5e|jM`DN=?wRKQ<(v;6@iH|B{B=p%ZR`PFpGE@H$$76?O*cjmzMgT z)$I4Z+?tF~uw#j;$W&x7$CaE+)y2o#XSJyeL%|-FC^bqCIUbddqOQQ(Td2>#G7{|m zjE#PsT+Hh7+(9xz^6Zz^OD@z+!fsLsp~LWdIZ53`?J|54*flaU#mNtPIvToNsi431 zB`mRFA%Udxkio1WRpYDoGrLo;9l_Q&#)KBKXTKGv%EaMsPX;Pb%U6D!35o1w#AiCy z^Eu0nE)?}irl5j}1BWOK4E$U~Sa=!ngUYac-f*3k?7Edb`=xb~u{Bu1X&VodPXWj3ojM||{!B}4frw;@MZ&ub;d5fLW@NWF51_PrU zriy4CjG4WcNjO$e#OFQH;EoKN!Dkc(m!j3krIz<`{wTLsCdNJwTZbP++tNcBUt-S`zU2>W`LkV zX5L~B33ax~D;vU#J-=tdthqDrQM>*o)fRZ4y<6UWOc13Wb7SG<6+XzS?)f@<^2u0qjvu!8=T(TV=n$&8e{f6fLV$89TnWi~8 z5xJf9au(;xW0sI$Sr638Au!0AP=N(o@PbJP5uqouW-pjky16+Siucwh4 zOJRi^$r*MX0kx81N&r7sfIMKP8E)-T%Dh`xKU4%QO$rvM3>7>)DtReU1y z!uaF^ud{v1zkpxdueyL|3F@OpV=#nG+KB;oc(l&B#7@Dso4D$F%5tolcpZ5D*k0)= zp97A>lzDlIPh?*5`LV{{o80~~$d7P^3xA|G(X=J!!JsOFx`p@o?EV-rQ7RXd`UV(E zlt!XG%`tg>s00Vge!LfSgwtG1$azmC#kCDq5#Y32ym#zJzJX_)6ei-&b zQ-F?Dx&({Z3fq-dnjjZ>s_H^+)<9e_&y0Wm{XX39PGB51z*A36uj9wyY zNm#0)JRMp5M-4x*N(Pkc5RZ*wrol6HaUI=*UNqXLiWLB2VR)WvJK{oL|;UkdYC}7?t zqz;Q?x_IHiR%fLDvx&rRcdC*^+VJaS#zfNfo9OA$fxh6BUbQfAQg&|Uk@MM>K+lbS8b4LK|fUhJCKC>NvNVuJB*OxolD?#VY`WY zO?2mD6igsojyaU;fF^(FO3$vIhYy03d&YUoDf{*OF~_Livll#{j!UXSC#>l0Ye2K? z$8YCTkO$3%g$U;c3)pEsFfQ%`?Gb3COIEuoIZO6Kifv|WiU<%ib5|_o$LjOtqU_h# z*Kf;*vBF^NFd6J%SXBeQ8XC#b0Qhj8U z^%}`pZbQJO3UB$JRSs~xjxk&RCfHB6SGX|Su%E_kqvS@ec@izs2lB%_( zIW(S!_`e(rgaUny)H49YiW+6l5&kV$6l(N{mmvnU-pzHfGYCC_WfES(va7q}afH(xl=dQ^ zoRV&A12&-8Fb>QGlOJSU9KIA(8DDp}j#ChkAIj{nYx0;E$^+`HyO_6%h-kD)qZG)a z_EFp`xL$J^0Xm}OnvXfNAVg2a3Wi#Q?n7RZtItc!nt>YSAAHQQ^~+)ELKV9)=D|?% z8)3OFSTBEvj7ILZi=tW=0r1Cs@_I>xZOIKc_c;3{M&9g zaiq{T83+xiqdQf2%0L_v8it1m>4v-Tlw%R4nFR4vc;Y>Aj42D1ka`y!KcS0oU_j2- zU%X1DehPV=)Smmp+&AaN(ivXw%p{=2sV*WN!g{hE-YN}Taq=Ct5~UbCmP#DNWtAxd zvE=IEb|v5dZHo=IH==;)|E*C5#-k`JQ{vmn zc@{iKdVri|C1tOt$DCNr3>UlwX9hkCrh&bV$MiTtrWGxFkJ-~-ST<5)tKNX|^)6;N zJ%<0CCct69Y?o@0Sc-2-jJ7~nIML4v5^QfadcfZN0n2vd41`GRaLg6v^p91@%`;$F zGN7zVze09$EWIOhs=*RlWDSZL6g{n6oE~VD2keM^873Xl`)mY6h&cg}sB|_|B^?&4 z-@*f{a_O|&)yYP%PTv|UaOa6`o&!T$gWeYUDapo(a-QYnWc{H}!;4t5OwR~9qfCnE z1(Y&5G2Pggj{KMXGcH2l-Wq1G%b}g-b0AYTvFJ`9Qg#I<2e@~1=jN04G#HjNNHenu znu=WW0o+-zQR=?QX5T}>QRxCL=%PyBsym6pO6dA-04u{;oSu`w7yoHrggZ~pP9&M` zT)={H?E%-Vm_cXHjY;z~7?w1c0pxzi+#zw$MQ7iQM>!>klvM=ij?GU8xL_bLiJ~;3 zV{{*B@uw`wU{P?2GKGGJQ2nv z5mGGvb<8n*GMrIAKN0d{3n+h;XF8YU?U;3pJ+FWw;3oFgH6g*RQla74g8a2tqE4mq zm^~H7r42;wZc}hTd&AD!3UrAWm(y7$RJyE-)6zhqQG^Gp~&M*5rl z!LW97G$2Icyp=pP^Bh6woS<*_188CC2XgYSemJmE< zPlPKvBi9Ym4~s4NnPF%(f}SiPpIQLpmfWyEQP*hS8?Xy$cU8!T_w@xEzX8j(+A}Vc0s2UN$<14m=`Tx>$xq`p^(cc8cVHyU1-Fz&^W&a zUfr``TC-r?>@L*;*^e4m72vke*om0QMaS~ReyZ}aLGm5}H-uhQ(Z7{R7^J=D7|3`I?4AQx;0|Eq?~sK$ zR7*M}4CLDFc7>w(o#pVGCTX!A0Bl1<Alxqv!Q(#_WP8+NrhG7Rlp_3vF;G7dJd$t~Qx_gUK*THa;4}@n&(d4S>*q#Nr zKQhz^u03dn6H0lm3wS^l3khR8&*q5U_8GFLz`SH_ezso`pZl#gI=}C)U>SrSY{u~~ z0rxH89w1>Y$8LmaU7mgq$ktmToysIddNMyP32HLt=4#IGJYo_cV5jx<`xmT{bVm?` z&J7y`+L?<{CqgqtR_*)t|Bo>Pv9#yklCotIP0(XToK3|h`*b!XiaB7c5+|uZ)_4i|L945vgHM@s za_ofrp#ekDx=i+Wj(NYmf$vSAjx*?YHm-?bHojuxnc?EN5h31YoG#dc|3|HaO(Udv zj~S3~`azL}fmrZC>3ijh4h)4@USi&?)_%P;+WHm1JA=JSz)Qh(1+V2(X{`(a=x{+G-Un^FJSRA*Z_fY*x5i9cNJQjFB&&JP34P;Qp?c z^L`_dhUjJ2UuZA>2ysg%T3M}SS+3}QX^jChV`hZr@4VgcH)H37u!CmhR2}iibL}TZ zC#%@34CpeMEq z)%PwQiqn9Ei^W3sB?=Oh0iG?te2lLp3SOpt(sLb!>k)U4czOSJ5`E7XvOh&o& z{}t@=EI?@v)oI&{gZScnxu5whs-cQ`dHKd>y#s*Zxcw6_5Y%vh>+|^~FAz%#2h0#m zM;nreIbR{$&Cs<;1g18%1`*5ph)s4AUh(nL!=t68XV^2dr}>3E0tY>GJxEFfqVWp@}Zt64+iS zA{}v-`5I?LIzZS-_{~g3DSou2d&r*s%DP=UH)A92SPDYgC^@_)87e}gidp4^oy)51 z*P&W#>4vOFf5t|5A)}f%c$l>+OJ?5Z6=E;R6oP)qD3x&=xSn{U*yV0$DzX08XzmT`(& zRj~G~A_8|J%57eIxCN)j?CGy8=?|mm&yatckEix7=Li|mcr;vqBB~32P|X;#U~B^v zv38FbBSL#yodzg_3%Hg6Ibk@k6K}#Et9itp{^}a>-*;2tyPK+j9uVEKoP3Hb`Ai1v zT#UkOKpNrHaq!EJIpw-28dzV-$hm|m!DK&oH|C9}r@y+^%W+%dhmHKzDfu{1PV+y0 z9MgQ_cx7!@1y%ikVXQEB=$;rQ20%@SzCr?0lMTX;jnP#4;PF>j z!<}~&ot%kKR3qyld-khK!Y&(Q-rtUefOxO30Aph?VC4-$hjv2Q;#^I358AYn^QANK zpFD{f+t>9e%g$5klndI+WA^k{my8{D-5+$yojM8lW&lXkHyVGofs?mn@!;5Hb}82# zhxi;DIi%ASaXNbhE@SV$=xb8R3Tl`rw5`3m zLvLPYUuehn*-h2Nj0`PIdR&j#>Z@bS!E9tW%3Ll`I9nZs60ITz9pyJ%@Z8syguP?* z{CY4xzGB}lEGVXn4WKhPjOQ7HRc2w6Pp^v5G;NMVI`?cIP8X4Xft0sI+;%*#j*#v2#Ln#+Fmt=orJ^{4=ep)&{5XLKU<}D}HUQdMo$-A zIs(xqts!rF_!x$<3po4k3wV_mbF!N8ANG<6?U&4w`=g56_E8yWJ@`W^HL1`ATxB8- z`LHDiuJWQop=U8!kf6M@j5wQCUL&sqO6KwRbkv&E*T_C1k;vxZ3_AP32l z^EP%k1=?c{9`pK~!%kyd%Hviq*u}{Tznt#)$1Mk(S@Ho|m{dlYtmLh9Z*o|j^sRQjkEfEOC`!Dj+V zqJWHwRA8KQ!CFR`$T@hMiuhw$vN;wAMjmw8z*+zo3DLmKS(y9=Vd2z~r0TQ6B)d(> z;`haz*{q=)7wFO*Zkv)8x0AS006#?Fwm2?dTt?LY;&qaXhrG_?@`fIacK~=SmJAYW zjT&P_6khC*Sj-71Ex2@tS=>~^t+QWpB5wb5!?EFN^8~C9RE+3Q;*pi3? zGObh-2SRp?_V}YuSh^*`h#eLRvFMw;_3}LA<{_^mxx5=93he$(C}2cZuvdu!N@${c zpx*}~P&4k=QD)g1K?fIT#)_D;gCCFg9+=CJ%#hO#Fb1c>DpjrL>)1WwgGhZ20=q9e)fh`LQ zJtoh7V=3`t*zkj`IxlPo+WbGuZ48*fjpJktIl!%B>5`7fP`d)NEV@c&%w0wmrv$}> zK9isuPbm1d%v(dMUBoNF2m4cg+@@pl>^H)CGygvvZqBbUMwIm(brM>9xES0oV3Q~q zyd@?|sxg4h9BnELMsyoe(-_~Hteq-eOrHM6n*Mfk3!7ari z$_Dh#eG0j?V7}9Tz~z6Aa%94dTn557N$5|^0(A)INC12BEWkYwV$e@uO2&TijQA05S~n3Iq2dpe0~OQZ;y@pkALQi z2XWW)gkIo-+SOq<7I4Q^Z=R#yzM=zqhNOi-jr0GMhgbJJp1 zO8+jonv*HUxRZ$-7Yj>ofvO#W%@U?gl|k;%s9lL>FZh`F$GZug%gt1W$c;rgSB17vo&~2g=P#|+O9OOAO9fJ(} zSNlO5tgo}Qp5-lr0@DamLM|u&@%VVfJHVd%vPfmdEp+g`b%<^JKdP!*&kV>+FF~_1;G#cYz{`EZqJYOo@w*^BkbG-)8U#oLhF3+# zPYm)iFnpB5XbVp0t z2fgONoiMCDfSouqaO^3J#(k%EP_%ZMKW!$#3qS9meK`veT4dP7&d7eMW6tcs9JC;v zV=D!zK&Jg4dhzqB%gICj$blPV&fs_{)zP&9kaP_+yUXlPXqqO+Y1Uie=}7OT;Uf0Z zz{Zh6z>LZ~^+)JWW^)oS952&~E~gu3gL7n@RmlXAXqbWN`FnEA61nM9HP9;(3tFfH<(1Wg#1U z`G-BRJYe&hx9&tR~iT!*Q7(wA%$7Zs^=jua`JJ;K?Hv;g;_^nKIF041(bC# zc+U3In%=iBVe}{+m{`w`9&jV*=L6wev-CXO7M7IL z3am*Uig7-tfpOI7KYrAXgk+8)`NRpN6rI|WcJTxl)&y8K36MGZ0q+sp^C3=cQ*)w; zJu}vh4;l*QxgovIGP6C#WYTG6%FI~l zP=S43y@~zgx&84!S_lRnv1h-yoQtrPG!o+66;;qs5pbP5?tB#)To~-q0sgYa=wR9N zeUxEv;Bf+8z)d09tul@}FJJRXD`&b4m(Inxrtzsq?8z^#RZ-ngN$fW_$f0qZ>UfxD z_?`zyUJ~1|XaX~=WUy38<26K%dh9|=8(B>HOasD0=2Q)NTzJS%TKvJ_z!H)rE3fhc z>MZkEcy)mEQh`Bm&HiAj9!lU@7FjulydF@E zCb~0D!U_0Ae;1kYr!XcPTt}a-tg(3Viy!&A?J8!L>i7v*d(zNW9X`xIWrzoFE;*MD z6E4J`&}d_%mY(4NqXKMv64K1#cyW2a!R>Q3GNSw#7#!iGw%hU)&wjD~Ip#pj7#7JL zJy4JfNr^fe$_L0-`f3VmZnmX92!F9zF?qvb7EvMlBWB3WVM=^D>-w$-gtw`6ob?-d zRy_N~HDT|JK`P!Nk81m^+lHU2=!B4Fi5Qvss9hu=oLpW!oWP$I_RHc!SdGxMGlG2-m*u{*BH-y`4eB5^&dzB1H6CiP%A)oldIEfBV4o@U-gfXA`@+FAXb6-0D zcgKRf$-bKDG1_R)^aYuobV?zHa?m5zcq*I@Ww27%_40v{V90lV!APp7zVwl;H&k*O zxdV^f?$})YFBT-(Vf7z@$&K z0AkQzAx8;#T-OCD+qE<)Tk`xRq&R!*qVcG*%NZ|n7g#$)^s(4uCoggrZ$g!ZwmxUB z(okODXC3qGRqf!k>tr;={8?gb$~gSG<&bIVBtn!fjwGR0(~J!VTul-Sy?joAbtnzX zOEVZlHwqcG^=&0lh`+B_e7NJG2%>*#|FkLX#2qI@x?HHc7XX(t@EtJh*Em+JA=Bh z&KHeu9QjS|j2vLCPm8w(LRuk9112ph<0|ksDrhIHddgzQFc&M6#Uj99s$eUCf{Ntl z5st#gnJbR5_Vbh}%nK4BL{>dy^s$dx9Aji%`bokjWVo=`Rq|LYMk&B(aIj{--NE=< zR7Qqf0$;CF%v5=4Tp`2Hfjfa${Rj@rKrf@OU%Le06e^Ei} zFlt7Ag29Hk2UkA@qaD#WN1u^{cdei#(SqxCr~2W2&< zh?0K+^6|&22q?xjWVja~{Nyr4=NF*fK$8;Mm#NHslm`L{EQ`@52@08+8>WEz^c&$9 z)X5)XnnJ+M8WS-f@t4$AatZ$1-(`{2z6=2H`5+;mQAgRn-G*8a`ZGgzF&Qr^AIP6v z%V$(%2^;tO zFyoU=&uTwJBuIJA)`tPD)*Ohnc}>rAW^Kp%#=b*&zjG4+T0o`0CZ0AZZ>w7wc=dV zQkzu}zz%IlnL{2qO;r*^^(I+E;x8H>yko9A5-SKi(I)-Z$z(+B2KrkO_s#0^TviGI zG-O*q;lQ-7l;Hf@_K)hb8veB$9(@!!sNG4Qjv%j>3Lu!ty2mg6-XUHg-!M z_{Nz=h|Zwii`J8^?fsv`9MGHNs%16N`r8)L{fz9DV4pT&J0uSlS&Es;l_M53)CCyo z&<{oud7kI)S#X6Kr5!kfo$?0I#VoBsRI?hiNxIu^i~*n>H*ai&v9k4;<-wx)v$lit zInx3wmnyafZ>`y<6@>Gl=jqFmS@dGRdlp=gM*paf4(5l=yCBb2JjQarf+sSBC`{01 zx~6*ob$Lj(c~EO)7M*Y{1UQ|joguIG`IJ2iu0W%*Mtu`kEkQ3G~Xv7Zb+A?xH3W5v)HY!*2Bjv#O*{&YAgW!>MGJxqZ!q?+0 z?90=STyMH`==JfKicHja_bj*~jev!JXKox#>}A1W8oxzqHXa;KQZ2x2sOngdCBbQm zG>7nB2~V$0^Jnb~5`(S!Q?4LP;N5w9(p>R25M-BBkAHkXO?Dn;&w?w|2m!nAd{T0y zrNTy@LyGm;k3>FXqJ~X+lsPgObrOetYiPmtKAu{ivkANrtRp;P#cXxO;lsZ1ux~Zn z3b?7gsZ<`b=fD+f1ajp&X547IaBm`m$c0a`=QM?p`F&7*(|9}@sK@ZP?E7*uqY!fskNJ9V#N6>msF9@m!DTE?v;XR79L@RGe zle8Selli3ajIeei2|ZdT-jBK$$}yh0c3tC&3kM1hn)! z30f{Yq`ONJ#Tg~)-muFdLlWwUUdU*;QHIik2HlIVe8Of^d=7*Nb)Xp_;O^;yemABP z-!FRwal<+NTcINIh&>06@xO~0wPIA5Sq<~(-gD4~8V@+GmTUEhne?Kv$cJ1UBt={h z)t^(v$A~3L{e`j367kq9TD1_hOCFaAStFtzaLS~V7QpU5ADAQT&N>O{tHy2E9~3Ci z8#*1NEOMF=pXe-wRpg3@x&BVa40J%jb2TjO7drXn{j=NmJL1T}(sYl7B!eT*CU%RU zNCk>oY*wl{_FHUB8g7?Qw@n?yM?-=@B3mJ&HVk@MFBwbg=nt7xAW(|F6)KH+kc)@B zF4VTdc#w8vD4XEJg)0N%QDQfi)#v;zp~sVd4=rjSitwynw!Iz11~++O_9LjD{b5M9 z`3Bx%!#7VvK&4X{Z6my7c1@T5Sh;uxm$y z&+M%-5OJd?9+IeEbCs#g!E{Iul+Cy=d$6Lz1J&QZ0cL4F=;lE$DbT{&dCKBhrJt?D zWmuv+)B&qnYG(B3vYIOUsiHH7Nh>^ThQgLGRe?rp`baD#?%$}354q(q| z&ZcpS_4h5zSFn4~YZj~LDvO*p#qwV&pk*d7@3mgEo-sV;H3@FjjL@Uw`N5n;RE8Q@O%;6gGXGPO zn)dR5=LATUF(iBL4OS8Ch8YlObqV+ujj38b@EOc!F$ySC0R(KA4m3TlLSFTk;zk(= z5KcVWRliA2SG=B~6?{Uy%3(0@E)IrjEQp)7|97#GfZWOL3(BiwDziL3<7CP3CI?|E z?cx9sITvgG&3MqkgI-f$|Me||5d!WWeJx>Cae~JR*S;h+HqSZHaA$7lGYbFp>`=6~ zZ?HFH6;IG;SYopKS=Q0k%013^Zcka4Bm=`$vjlx^^yi_DY#KoTAAtCA<&11>}fE3q`^(S{|gdk zjD=TDsbNnI{WBat>}Lw<>}~{^HX{y34XwpCEJk2`*%6AurTK^e?g#FjKBEDRIp)#u zJote(8XMJd2~;8+Z^sqz=_y?+y4lDEk7ZDC@nAa|sN|ds{CTc+wC^&M+r$FP$bbqW zY|WS4&-1i|gv%s_SOhA$yn@eglgt`DW>18x#{w1aW<~%_`y>(C!N&EpYgLsx3}QH0 z$nNMk0|jLqUO*y3;%<*$fgN2|h)fX9;(%Kw)To-i*JwZJSlhjGfLhVl)zQzOJrjnH zOt_)LTQA6lASQIzpq58%su;TqeG3Lj4;oiWQ082HEC63c9aRaob^sNNqcmz|WO;fk z0xkzAt!$idlIhNDoYp5Ev8TbXWR&f}9Vpk#4d%vyA?)9E=dw2y<6{l>Qa0W;Rg|c=d$;Tv!exKz4bkWlAUa97ZY+s~CYa=~|lCr(g+P z2Q;0Y0>e6@+Z9O6BV@o!!6_n^dRNW}zH3>DOENx`% z;{#L2#2=%Nk-2Vlj&|wZcIqTER`;hY9hm&VYz0~WJ&5V{G7ND}*nt*lKeN)LyhW}( zx^X#oq#aG>@b(8c0nhG2<5bLz1=)1#VLbtPz>y`73K}Ck;5%u`=X1*amXi)l{=kmM zt@E3mFBAaA#90llWR=d@%3Yj-SW>9aaH*`z?sq-w&zX>Ql3j(|`3=Qv7{?HcAJ*)bJkKc3Bg2`{_Q~zsv;Ir5m9>bcBRo}FIME@BU6eQH0ceK z6E@b9kA&Y=0BGt71tSl~Hdp(`g`8FZvH&U`G$}BD=Iyw7&_L(6EA9e}L5xKhGrH^& zE?7VqpvSj(!(tdeaqy{B+?1S2IRz2Z$hjEq_HdC&N3iwC7bj2$eO`7=F|S+sj0oIk zbbx$;HQCLHnvdS)A1(Qq6O$o2bOBAgh9r+H47S|$=Hy0rj1@OJE7W*^D))ob@Y>w5 zA|#aL%0gL-QOaD)LpYzeUH6#R!;vo%?0Yl`?{cPc? z@ajOqC=rT?GRy%RYfWfMYFT(B z8MojWl{Z1zsbs5`7mO@C=*;gAI$g~v9|Vms>j7w(&u{uU;F^_bBCuTjDv_iKll!XG z^^e^v3pae8yY8!kqV1)wiK-LZwWiVYyz2mi;SBG08bDWduM*Wb@)RUIeLmz3%3uSCd7g4Ju(oWM^s)RF_7s$z~kp6INgL6g}1cwznM zUnNPyU z+5TL+FYu6FM7!*A!78s^Gf^3wd;2PF7$ixT=e(=z3WT+dFcVJ5Qkst#u5dOm>;aig z&diAay%czQu98v!j>b|ViVACIW*Vx|pxeKXsu#@fHr1LtlAZGn>>hDgB2GJ%vE3Kv z^^gEb34zJ2ks8cwxN;2ZbO5d_h|)yD=m5`w(<27ajDwIqev!kTX^Ra_QijQFTV78&ZwWKOk{iY(os}PU54>!4INAL(pTS5>D{f>h zh53a(r#a#iGWz5I_o=PN#2;}A6By_7nePwg`4lJacL@&Fifs=$c*yI9dna?mG2C6v zc(dL@+1jtMQ9+pyf~ghA;9A06)1ieEsnbLuQ-Q>vfHI*!<{~#&t_)U%R;&7BmhFNU zNK%GjL-vljZexzSLJ#w)>TZy6Xr06ECs0+8`xsQ@(q6lt!p=xi`aqt9KEeepMMr^l z_29&UJo2$xC;KfYWf*2`?~s{7ZH_Z24fq@^)|oWWH4rlvAj4xEel;`x?O2Tu?T|{=)|ac+7tBa(S-w%jbMCUv;RoVW=9Gn76K?I#!$K?DW(7mqv>RV{Xuh zxR;H5j|sHCA`T$(4gd@ir5E(vehCq8?XD7@j5~cABeIrXbIB9nDi`~YW+CvPK?vjI z%?%25`FaCEdVuL;yErcm8Xhjj`345KE|}zEOvY&63lO+Zv#Cm+0KWtvH}!r*S{Zvm zBr$0;Ivxi?K{XXIkw(YK#E>!UXL;gP1>X5ahvF6oE}DNTV;&(bM`&MGsKYAQCM854 zE)Iz>deEK$*D{o&`YnqM?gm7j49How!(-Ny<`Po1Z=a%#M3dytU^5s%s#?aqd+s4A zUcl}>xs{BTXa`FWf87{CU|`Nl18o;?QtZJ`1Yk;@1V6YlVGG$nz6c$jsZq(FPfn@8 zgNUVJRhqp%!iKIe%FVzEO1?Ef3KQ!t1Lizt&;$$8>kWCfpc6r-JgL83G8`VX=fSqB zyj%719rUknA@)W~@r>aKWio7GG<)Jb6-~Ue^sgrle8G>0TwYNdm=fe*8;3{3NNoN9 zI3!LTP1zG+Tju+AQ*HLIaxwqX81fRcj&#VMg8C_YDqNk0+KzMpC1xA*DKk2>n$9y! z$y+OhVd{Sj2io>f_j_vxwIP!y5L~k!UP++{w_0xBBgx?&Oil7vrWmK4A*ur zjO~qwiz(&`Rw)f@s+q#j#5Ulb%E)xJr#G?uxGRKzb*T0)KTT|`UE;!tGo{&Ac3Aja z0v7hrnhzGKamHEPaV5q1s68FFB^~zj+%4J)+6+ipa}Reh1$cNkVKGCn@2R_e9sb97 znpzW9IS8*A^ia_OO6`WWcJYj2`B20HUKsfi%qgQ&cs*!Oh;2=XW#?v2(uExe!C4Xr zNw%|vSw@3<0%(Y&scd?z(_`zaHpYM)S91qw)Y=Nd$ zA!W8-)7cYZ`%vmVH-|bxtbK@VGI~=Mm$L>&XauS{8W{gzg~;;7{_sbV;Dl7d_KL(00SCXfeB#&V* z4sIdo2FUy-yCfi4)eDjvWE8!agFi!v;36xf&uMJ2>6 z%od}2+2Qj0Ymed?aisv&oh=oI#tO)!K>(mS`|<1c&_!z%8QP)Ej|Z4-R92{^m>N9l z$f%UWA!8H}w>s3ExTA6H57wL50wF*q#sEZyw={$Y?J4oKk);XWoQ_{cjps<`>lg1~ z!W70FPN96!7p&$qHqf3UpK$9?6m#O)E-Enas;!=?s^^;Lm?S@I5 zue@Ykc%)FQ$!THU9L$yG$?#F;s+)+R*U~!lWdKHn8--7X!KmF8f|fK>Tn^05 zb9%}%N+aow+x}{%?F=xo03RnJ5A3Lxb&j^cI>zRL zE}jZk0uUK>)6d#>hPO92PG_*7p6WnR0$I8teZtcx9XKmh{HUyQun({IIu?Q^+9cc* z-p?|}?{+p$SJN8+nJAQSf1*&jTp8Ve+k^I0_(1_08_Qfbj_3_wOp!h$5*^$c)|t{{ zbp|nv4Jvq~#-3A{{Wk9D%n8D^2*6QLUlQ;OiR_yD9QMmj2D~UrLDDsxvgD6Mh`hrh_*n$49%p@a29&F1$%iroCBo<3Z6y z8uXCm2X56hB{jmfeGYnGY8$C|8eADb12E8c$VI5aPBM`Kew73u5*||mo|4VqLAz?P zU90pMh+RHI=&D-+sVO&8Ml=qsi!`Nf(D#bjV?HVT&mLluq^H&?*bpf# zPsHJ?|E`_`R|*ikYP5pN9Sb);?RoOYDuaMYSTj6(*hYa1>S%b*_-3tTlPiEE^|W?JZxCswcsf1oV#& zIzahL=xE9`p1tRjR9F)Z90o}>9yE*_T*Kad6hX6}V68j#v-#=x%%FN6TuDIoUTmq| zpjQhUc@@y~@!nrG*$EY#Xtj=I1`v>v%b zXtztSxAE>3J!VgYW7!h!=1It&?Fyv)nkH2jDYw>pAU}YQHmWKwHZOgy}2H8&?Xpz0^}5E zVp*%$Ghh*ztOu!&rU04_i@(bE=oH3IGsW9IU z8F1F$mZ33EF4XlERDqJHxX3bEJ7fRP{RY|<%g-J5YdQ4>0*5$RUrvrL35W`s-82u$H)bklcaI&r{w(fNL@j5{V0XN5>8Oe zdzJl>YdFPth)aKhoIOz_@#Adeu+^KZxbob1}`E7C(c zu{y`cm{I3>yN!;6Vj3VIExG*-niyzqKl+^9Vh4gjqI8?BI2_s2qxwK^1f?MZS$B`aJxtAbaeFVnRo6&dWNmzdK=4PG7+Xa$LS)TukAm4)&@ zVi}BRRfuLfZf+v#5eCTVg7Zg4&}@e7pA`O)LO!7nmf}3vi;QmNCWMhXmns1VmO0Cn zh)iMJ{k}EgMpyRSh=(xwNw2@M&j{>xvHD@)irbY0Uo!&ayn-a`qBd(x`qcBw-aaF`0Dy?y+1p!=mCkP0p86YdQwXEc6U$GL(s18!|!U(y_BQ{eo zXF%IHIR(x~1dQP92n6{VOz~I+j-MjANxGRHv?sw26*b(mwn0-w+*uf|6vh7J~S3HA;Xn-8lBCViYX+?OMB0i@Usvfjw!BwiY z@0NttgxEFO>9wP(xL$oG%9>X!k80nl#xd5&9Ck0jx5r6|@lQp#2_Ie`P;n#Lz3DM~7L03SwF4wYIb%QN+bwR=A7Ni0wYr~~CS!xZ zk2pa@y<#39YrtRfog=P5%xs-TcEX*EKu$5XFwn4rJeRaAg&dgMJq^ay5%U*uleAL` zL2;nbww&E%I)AucNz%03k_-PLIOnj64OqauG{a z9x;^X(d)V^*lY}p%s`)=8tz_)1EgmLxWq}4^%7szfi6Nf+o4Hs@74+1#|l3!%ua$R`3xr*00UQr_9slP?RBaj_0vY}Tkz&O>wL<8Bp>|)wClU1Uyf%~v+se55M_5vzFg;+?@I$fp zk|p+aZP@du9r-Wh*P8=RsHl%IMQ)HxM)?Gq>WDxkKg9u)lw@#^{T~Jmy#)b520v;$ zo?9c}vx<=&vSrcbMC~0*#|V>+3DYP+Ag~u4E58ZaevOc%BU9Q+()`D5H+EZ8{2j#^ ztDjf{-DgAUhn5}SKRc(!nkK%-;;R%Lu(^Z{aQ3GT1P|(tmL1A!t2Y2(Bh%50S zGbzN}*|G=G5O|)roLA9F2^xq?rhSIL1byX(*+m-O#%_@00XUx0ivDLT<1GY51KvO5 z{Pe6!QjuXizh;zwTBS5f%j~TYn5gn>tgtu(Yj8p+Yr|J53HR&lx`p7+r3_DkM~NOt zG>qG_S41N$XP>IC!xqYM&=T3CWZtZ?p zc0Rr`#*$SJxr0Q*Jfu2H8hVrc_z|ju97qdwM;zqhkaXXi#Urjg9~s?Kel@+Bq}zdf z1!a_?@(H#_tOPjH$24?HnAqzWCRoMx?sP%_$bXhz+9V z5l=ZO!3oj9KpCvE6tQeyv5VCwp-Wq?ds+FEA~E-6N>}#~q(aYPcP&yH$Ph!%g4O_&15;L7RUR`s zk(NyC;u{bw8GO7%H(+~1Ej@88($N^!Xaj)pDm{gR@(Jy`ZWC@$lz5oWC~HZY|aU_j|( z=#O?aSC2Y+)XSVM#hvH|7DAwXdAp!6y4JcqFTfc{QpgNKgHxtn8OfCrW{i2&i90>d zM)r`GcW^JZ4o`n~*J+pycN;Sj#mqh($-_#(GQPOWW~=3hDQDoqQhFvzjKkC0(dUP; z@Choyzxo0`XGzGEH!_Bh$4+_bw~z~*4AgibBC88*B?4)brX7Oox!i>YaIlJ+Fm~(x zx}DF0;F%wRDG;wEN8)?*!%Pd~z~?Llnes-)DCVuWLSqpc=3f+IuK(7oWUyz~8F6aj zWq09WuOXK6ILRPPdCv#HU4YY($&rwYU3xX8P3D^ALc4&_w6Dk=tOx@S*^}T}fiiO4 z-gNc?6$tT=GuT}Zuif2>foZ1GmKysttTyntJCO^0$SH7hGYdLF1pKCB@c>+r&k;h@ zb@)$Q3G+Fp(E;&6kJ*#pSc)TSoj1)1POb-lBGpIy;Jf=)A^C1Mc1Hn=$IPbYU>+|F zAgrbfvVlSvV*_jj;8OV;C?)>Trb)+znxaj?zh`Q-yzFW7>1l8*b#vW0ng#ZI8;N+} zz!W|}M~0>vR!nGF0)yE4MbsyrSCF}^B(*6;6?4!^e46K6%t0}{(-AKP)CXmfgJ;2! z{vza&cE`B@xNumYbizm}9Y#r#x-eXwctf5Mct#QiFfLqIg^VRRb89_LAazz55B)Z9 zmY+k796Sk*B?-c7`3ji=7~^3(P59arx8jpaGVEm*c~yCPppaADc(QR})jMLLqwR`8 zfefV&@z8yN=vszzOe_2mI-D2I@l5h>7qu+^c_*w zj8tCGfX;Fa+V`>>VUp0|JvyQ}u?K9A8Ubh_OeFRBDK)ID%?PTFnYFEyJ?CK#o&v|3 z0(Y7ls4<|OW4-W@&68!{pGgk0f)qw~ZyFuh9e2Rlg(N{XEst;GkYG3^AsTT0oH409 zm}u}ZNf<$|G?<=Gse5(-NGW>Eo&(2PhweNYeku3Cn6ohEB1jS#!c79@?2g|D`X1vF zzJUkLplATMY?J+SPDaG^Cw76GAKASORyI@MiM?T*&)JjUii$yXYx4#|`MO>}yg|GC zF&T@(-?d~6hu(V>tDO^82UgW!uE$D1_f9Tnnws3+WV@IWNIvEyFE(G+x=I- z<1%{Co(0E}1^-nlgp$tg0^|$;@28i}WfRpH`8~P;j~U_6F*RgF($$V{h%caxBEPJ! zX>lG7(jecuGmCV4Qb-}bC!+_1;EF1-Vnp= zIVbj$31lVvc2b$1v!yk7K{86v1)}SG1=~s#1X$hz^mMsqXyURMe^)GQTKyP=>a&x6(9r5J zXYj^e^Gim?VqP*~-I*Rhn9K(#9l#%Q(-Tb^;z9)T$ya4ni}~fiDH9+Z1M%lML)}H4 zvmjnAEP((~n&LSS7vY0b&l!~oGU|ky+=H(y6&U~_f6-d))6K}1fZdv2ib_MKo-cJ=&125L zHeIG>T)y&S#{&)(cNrQ|Ru4VBAaFsuei=U7tz!{uFjKj;J+zGenkN+de_)6Eh8y_D zEbF3Y!4-i740v;Cz;v=pohcT$Pq9px#(?oGY{xj58r4NRo$`(cVI*^$dsJt+&Wdlf zqZS7kBqb#WXd3rbU!ysqCBbi{HMBhB`=HVg#c_RAvA*1oZ)PVZ9 zqNe|d>}J08Heg z1=9#C!*mZe*i#}}j9{R^p)wehe!^s`O)UrxhULFB#W^K$H{U;L$k-1h{xRggpYCHz zhP7j}f6~#&djL}a7HFzkkgJ(OhFoE1e~y>k-~5N;!)AK8uY?@j+B_J_f32)IOZyi7 z_9^3ux_srwn)1OG6{UUL7A)P}D@^e!K%&{j6I?d^o6RFt;;Ema`=ia)PoAEbVIDrh%`wzkvq$z z6hCNgY*ll>+@mCA`J8}{x0NL<^HbhgPi9HT;2`@y%-Dj3$b4P~EN}QHz}&vqps9FyXcAv$~{+3{q5g`A0piiKJuN8)8XoQn%v)7NIba znuNc(G6jgS=VPDFs0zbA?q+;E2T;KZ_zcI#y8?x64}{*{0BCjpiH}FibNYIxF~kE! z;41WXl%^RF*pPWNBpt)L;)%IfZ}HcF7|{C5SAOIYOf3x>jRqPSyZM-{JOlVrC2y%0 z_CJ|Gm2}ucbPW&HZO;Z6p)@-p?9lgHfNF{k|3G20dV5i?WED6JJZ9Zf^W z3o_gf%pL4q#fVh~E&s7(PAJ6Berm3ytaC1$jcXQ7Y8qk2oE7tX?OM1Q|2AepCEs89 zf$Tus5-E?&*zS{oZRyZh%!>9?+_lo_D(q+BWS@C82bC5WzfV{b^y^uHN;JkIUQR~c z=)?aO@%0$4uUI!_^(R>n)0!m1#;2QVyn2+T(#KQ8tdhp(S!Tt8J1&H?lQPV*&8+4m z8Pm?boQu6DaN6cx?NBO~mf>B^HI(aXMU9h!j4PuQX#rGU`w1&( z9Uz8)h(AvhtNpJ&2_0F2G1$SqLx!TdiP_Qu7Apv0NkAn5?!Xi?0I$hZDh8D<-Z5H^j1zWi7MXX(XY82pa8?0k%YVKH4p zW$t9t8#M$yrMyD5)w%0b&Ykf6S?d9GVKi`4P*}AKTY_k_yB%PiAW2StqSIj>H^jo5 zGASt7BTT4<)M981m!kO}MGV>WG4792RS<{r7A=RIbTaB6(mW+-cApU;A4M1O`(PW$ z+LcGrrkXakiQZ^SEXINk%h}kWnSbl2(x--r6&?LR1^Ly3p$Gk zq&hEIo-P7?$Q%V`UV6~v$a-imNO&k;2dhGhJ?f5t%X@?DQF{)2_a^{`zoWzVe#4q! zEde)`SxTRRZ%no;9e`5z`OGs;$}wbQ0KU4;6h7UO81@8c<}#c$KWXxRMnWA|BV# z@C>+aT@jrB3YiX?*Ip7#2vdXI;liy<^jm8pFLO5dcNj&`T99KIr+d)ZxoDuof`kYJ z{|h`$pY|Wj`BufXY6uswB;Zw+)@gH1pADEIt9b#GIby1UE(2o4jlD= z7cx*N>R|N2@n5eu&&LYAQiZ>+bb(jM_A(xMVg)Ws3AM0Rn@++pF2_^jITufYV@ZNx z*KD&3gcEliXMVz-QHs?50skT= z7`oXNI^Y#E)6z^}NtcAjY<&&0-UVezJJdRsh+b_>i*b+H)8H6?j@c^WWBSktBOc_4 zh(cBYd%{l#1I?dCXJ46GG#Lfwt3Q#xGKLwT3$Tw;$iUW6n_Q6(Q8S!_f=ORT`gh`Z zq!t5;YPp`n&Oi>gT1e-x<>=!eoztP%=>=quas6~4fFt7 zIwQFABv?6i-o7wo@pBpMvM<6!4lQ4Z1`63OPH9j(&EQIdfl?`m<>8|kOgHDkM{+S- z=xc}a*O~jAj*<6Qez=(7$k}(6IRt21++z(n{9va^Yvm!c&cf7VrVbevQ_W_W1MFV) z2R|gREVUSPXqJ#SC*#+U+xit)9}(*bm?99#<$rkPZM(;~M|<}LvhM8i_8*YikAkDwtb-TGn+M%da_Ii2a|IJ-z{~k^Nu!7(hm&ew{o;v*G zLH>?zQzUP9D~0lepCLkzeTcoHtLOB^JB1MM`01*RN6mxMbjbMVkJnV6#+0X_MyB=}zh?jdV zZU$RwiN7uHP6*@`UfsY7h=@f}?bv`eMEIF&T=}H3q-XkrE;Ofp|{+uM-p6$9O=M7$Pc}`yb|$U8x>(#h}QVNE~R; z=Hwak6svYE4%r9TVD(CpIv73GtWE8Xn>DC(Vp<5xg)uhH48Kk^mUYjM7F0Mb2(G}~ z4n=~i4b-0i1(r6nI!ePTBj|J}EhuIV;GlIydBYOmH_f1W0u0NA(KpOMJVSOdTUp#h zz-v-oqBKHC4DnNxmgvc!0XYm;%u&$632q-(a1gv^_qRu86bv5!#yK$|#rqZ4Jo$yC zXx>fl>mCrwv;>}Cr#z5EGHQ^}A{e|$w=Z0`GQ?0e1C~$lV%F+}hb%Q}7j`}|A+Z9K zX@hmMQ0w(&H)8XMJ@OK`T7oGaX z-dH~s=mUb6ZC+ynXht~7ZVPPwQe4*D9{X%b%eAzxbwm&$ba zu{XF*Bxv)r7ti&@`#uyn6&xZj;#Sx$onF#3SX6q9KE&TZ@C02fIY03{A3AQv#Et}@ z^vQd70!OqacAarm?qS4?eIW`P!5Uu=*mGW7$3;6%_HQ}l{JN0s&j!#0xeJ>bd&Cb! zm@AUblR<){AcLw5SkkW2i-TiBP-jreSmN{)A_Mn%j+OS>O1k92-n1iFh4zQs%2@b^ z;fP)GvIIV9uXxH7xE+WV7e5rGtG175jbQ>*K{+IMmA9hZKF)66*(`}DC8j9fON?{M z>=w)(wDMl7>jGY0d7n{ZDQpcw7r$HD^;t5Zg>^KNN)4l%q6u@m;Ktl8jc)GFHfj2hB)vai`sH_7jusGCSv<2_MUM~_BYnM?R7ZK<~yV;6lt7v)6G!?>aq*AeHt5hF~tzD+u=RNbR4fp`1DpD9LEh z40Pa7O62GwK`OK%@AV;{H-0^)23gWDt*`gozeS9{Pl=N7mSzlSm8-%)AOvy%e!sbR z#E}t~NcQIxKBgoBcyx?0uMJqra{(w_7^V_S@(bVmjUr~xbVBJ8>+*&qqBExTO%sRT zPCJSecs7C_?;+kR6J*ALVOM%`7yCPzboZAk%930lS}4EJshzLq@=2 z0`#Q`)B0F)$u|3)>}dh^>(XV(BM3G+9+Y4?p3`Cy*|-BW$AQ<7wW;Y9GprPTNZ|i8 z!muAuv~n$`=?~pdTuIO+?c0Me=}>ppNas8jN`GTr@`Q6!75|z|-jE%i2jl|zcK|a@ z+@O!wdB=D+)4_7Lsqn+zu1 zwR;PPO3H6Pp0Z9uXVND{jVch2Rw_A7;_tJ}52(O{M#2FV*60&XmiX`bhun2yku${(^XJe%n&j64ER)SK*w36?1HJLIJP zIC9KRM2mOuxW^;yP5T@g`~#m&y+}P$gz0BrOVGaAq~U41am1u`z;GDNS1K%$NtchB z#7U#pBR6Qya&=+vmZbpgA(I~gjkqEVNt5&^Z{wp+Gcbn3dD1o{2-DBLPF{Ay!rwwB z#We=Ac+L2}5=H|sTY;s(!8|2KYADH`SQ(7T)23i;(}ew!zGAPyYaFNiFWO-9nv))k zMV!`yu^S20EklhmJOO2(p{iBgpS^xv+-53cPHDfpKiT`p>7~1e;K_tGl4X_}gDpm9 zOqVC6r*K#J6hneA{p|T8=D$wb`3&n<fUYC{m?<0==D`M--P+;vSH@8#pgzG66s4gJZ(rsNfkg+)c z_vy?w#9COsL#v^iQdIV?)G240hv&Z)u%r9sGdh(04g#?h;rK0=(8wxcM&_f0Wd^&8 zCnwbxL)r7*2`2!+ibeO$TvoFGKF&G8KVh?F#EpR4aK^p)ei>Qk;rVZc?1U|&&dwP_ zmFql1w5MQ3?I}9i5Q%Y0BRhv==K#tQYp^lyZDkVNhXFIwbKm?i2}h~NH-9l|fk+Qf z@SF+rNh2vS7umxz;0I`@ZwSPeOj2Wn6VX@JZ3U0~P}7VeR|KW$f)ov^J_51=^yNn_ z$bN4{h#Ves9Z}n*z&j+msKfCr--la_0=`3XlfTlsAD zJWj^`5;9M+-VUpD&RF)o&~9qGg{p__Dewd2um@qwjQk5tVmA_MemGMxNMShO(&EUK z!xj#;+$$;GUe?$N>~ItYw32hUwjF0wX|S!*V4>B}Hu2-kRMGYF%IPWa1LUyPDuIBw z%YhkjYH$nUxGQa22g!^D%^IXwdb!&Z*hDATm;qo}3mz24Iu?m4oas%WvoQ__w1{9E zPoKq`Z!62`NpM9uKyLa@f>>K*XlIpf$?l@&YI!)!@=$wq;CN)mgt8H%3)ao!Wl2R} zX!R5gR8mKU3ol1tOdgDe=3qml0<(h|6=}j)O|U-a-DI5Kcu4H7H9^A8qE;K_Ox>|9 zN5tQ#xLx)*?|Di0sScc5KcDqK5-P5BWskao|gnq>&cd=D;{z=d8TbT0 z8nub53@zI8fc{EJU6;zxCb5L*Z{ zrzT1HsKv0ojmSr$E+Bz_`fdA(FhK_(g;_`{_vDEA5LLB|IfPw3kx(u`_nkd#rBc>- z4xV;Ex!+&Hh|1l(IJyVD4!d^fsIj+`&tmFazckiRPlk{e?q4t>9xZY-Em(~}c|IM4 z2ImM2X7~9VispIzkXOq9gZ2s0FA{}86?(Zh>ShC2%Qobs-jk03^5-@_1HUBPMo@a_ zbYoYIghl~2YmhPhXrPA2kbL;BYtL$TKfUV(`@nrGxXD_PD2#=?G*w%^3E%Lh-pBhH zcUdcO2v7qrc>bVV*k&ex8TW*)0Ip()$mlmap3-_5l;+%WVahfSpluiwwh2E%zsn!8 zG-04UEfJsRcdgNIpnyE7zdATV@(EUDk=aAD+rx#VitNdw1P<(4lkki}&Q$ft4d6~p z(al*-6ms19{+un%BNB%>vHZ2>PDTHGKIG^juT53iEl(JF;sKI2&jwzYm$ylL#l>d zuI!jN8Vz8S;7<+5<^Bk0XdYsv2Yv!nu`)`c3p=NiTEg_LON|0P_u=xGS{lPD@{o&% zyzaB(=4xhSvAg9&2UfYyi%H0s%dmfD*NU$FZC7U14#Hj;do?7qPLCP9nlyxn&2IkW z+Mq%y)Ht`#Ec&lE&{JSsQ()hC_ymmd4t@fNbmJZC`_=^Tk6DHOOYEr=pEpZs018>s zrw6zi<+wFa&gw4djR6M3rs#9pL?4B_3>``ZO+WF$QLYIdwCBM1kpnj%7&=ds1%(~L z6WFDs1n8wkS69V5SgZX|aY6xsgW~jU&6p3d5E&+`K-DfH*~L~FE4h~)*5??yMs)3= z_4ry9W7*J5-w(S(@ zxl69so}arVMRu@!+$v*(Rx2_B#npMy&>22iEWvYNT5=#$@b8%IcZEaC7wsMRarw*( zWnE}9mRFn4yb_E%SZW+sz1-K<&zCkoGSY?K_h4$SxDvu} zUTQ>7f@w{HTWbroRhB70jUkv30C$quAXoxJwbWhvoYSeqXkwN_nR?CXa0X{2!_Z?Q z{UBJ2gOdm2p3D<~iH&zP}-U^#gbH|7l4vtU}^z+LwmB`}(x_R+_~0oT}zd3WTEg8!+88;MM09ju_JkO0o}-p0cK z)Z4@?C5sDqA|^|_<{jUN0zVD+rO8t9-*Oi?j7%cz)jRA8wuW+|U|umeR?9 z@{bjXA6g^{KnH`8vYMq%L3P%2SIC|Ob6#J-EjsuY)-&X5&I`^fT{AE6G+Y=JO;{Ww z&PQS_19C<-!|FQO;Y4s$2-;7F@PLtR{9(J=jRLKIIee9UQs|UB+|6o+L1< z0X~0c`1;Pg8P00i>wQ*A8kWCH%!v}ZpM*~B?w$e&hv@;8>9>b1|uk_ zd*sE`vPJKSKxn2$pz*v{KDA#>wSjyot5Fashj~Gf#a^|Kiu>}u^fJHt(@^dXhcNuWNT4x%S>7US=jy@p3h8P4F?jEX* zP=7*%0LmZa@-*%_jF_$RA_Acu9VP`Jnd^^_xhz_OJNa<2dI18w#y9c>Nf?f4|Kr`v zP+>dOsE8`ztbn4H6QA25T+k`oh|%i(0s`E!vQneS>WUNyQV2q`dg0hv08<{y)aufB z#zW2?^7tQyjEHElP6m5BhU?`;h_?#gTG>ud-rAgM@M7mQmFFtxluF1}qT&QFF$7S5 zX2?`R+*0q5L6LojY#)tUeq`wa$!Vpl4vJkN{p9U5-#51B}Yjld7 zf=&oW1BoUqiY8H!fi5w#AyEh5Cxh|PY^jihA?D>|>}`_5&N@OU7f`X+-^{xZCG5PJ zB?ujLi*+R|+ZiB&yszp5aS*^yJk4G41$^MiW{^&CR!3lLyrn`DhM1S55s)YQ3h!4A zaZT@EoDH{hMk28!t!B%;_DMqI0L2g+lfywGYL)}t43td)J{tf`fa$+Cg0l}q6b7xn zrKbWX{oTC&8g#_a>U}{&l!WnL>385!FyVV*9Nfivp3-A&`#Mn9%;O&qEv0C#KPx20gvCgj5o(tAC|nSf@(r8LgwwT;mh5%1C+RT< zkNJ~dzLR`sZkbXRvJ<|8yVzNC0g5mSWh;7XmExBy$s%^C;70Dr2AeqfaZJ`_)D3(h zys#c<3!Hnt%|g`Op*`m4F|UiCvcvNHcA(Ko`+N(F`md<@zJA|*L)-Jkku?B9C{+uI ztmix&md+#!>u{jaC#EG+7X~tog9%Db9&`C0-geOG5X}o1Tj3vX5BoYBxGiV_gFC6; zc2H{Y<5*?tK@MkW>FI+UWIkig9`jN>P@b>elpnp&(rLAaIKxU3f}M~e;J5cmqABr zt@n_AI-7)2z%L9GW&1;o2(-4HS&kLWy68^P0FE&c8y6~@X;j&daI>eu`~leDe)x>; zx5G>mw0s35`2d{Q1asHi?VfD(0l*)_?ttQo_C8%IM`28yGqn5ggQ7_s2a-1WbA2G~ zL3wiFd zZZeb=GQNf{3A$1|39ijx+fG9*WGJ$@sH5mZ5~O{NfcT-So_G;TvLvu(4-}EuA3~wL zV}||P0CCWZXD^>KmOMqQmhBFk(Gqj7S`uU5e+xlK&>; zeLj&)f@I}1s-=2{PJ2Q%qZG;v9`EYeuD*tNBHy1cxUpxDQk8z8ehp!?Q>5XB;p0$- ze$nY1$oVVgRc9>hjz)1Q`Kaa1%LAHj13?`OB3WaVuM<)o%z66_%}&zouc|5!T{B-e2y+ipljBW7U#8*4w;K~j(q7LnHP zRdxPvQJEt0i5d-UoW;Tf0UAzN@qo=$em2)cD42*^`_WS@B0uVKHwCzRqju&lk{xt$-8%dMyE z%pfX|N#XXf5Yl2a+C`$JJeD9G2tna#qUZGpr^Da1)`fRAh3p|a+ur*paKa3N=})YH z#B4wzcij2rVfGwYK5}4;-~H>4IS^ROnoiIF0%or5H?+D-hP9ykMPkG()owBpc~z%zp{q-BO|>+mM9 zkIlE9O_x;_n!&Oa_o%_W$$L_NRN8B3%o-QIx_%pYkJoMId9W^dP=NZsN6pv091!5O zhoGx=(6qP@chrfUacCXF+f+MJqj$isBLHAg^lYH_?M6Bn5hyZf0*>Fu!d+3X`2D^E z@c$Tf{G1k`BMzki`Y0L$<0(fifq5&)FkQMVkhJ+8=fG zTv%5yZrjz+KbCgwv$>M9uqECMqla7ODU(iC;vKaptKe$$pcC4Ba|ihNX(a(j$|_Od zL3=i=Yc}kC;}s#Vu5Ujr%XLFSFd+7|P7!RE$5If{m}-?X8$yG`gAeS!Jp~0Vg&%k= z`XI)<8Hn0>%7JjIaUu~gJpoGfbXb>kC@bkr)LoQJ z%_1~G5sL4*si}g%OBFV0r_|jBj53{R{%CC8B$Q@f6*`Sm_z&~xID__txH263xsmvW zkPxt|W@Tr65yi1=W*R631_mO2`c2KZTA1q#bMYt)BRC7Lil5_KCD0{+eGN(Z(;?># zU&DfDuVb!fEz8W!arKP2YO;=;lx9jkjJtfw4ZoX6gfImt9{*Vtw z(CV0GK(=2+;znE@lnmk?BwVJ#O+UvAbD+}%PN@l~CIu-r^dF9gq*3fTs{a`DXq=Tt z^@LcLgt$e&1KxmG;xGs#bgIC0I4M}f%dDx$06oIqYBZ^?u-xkCXiv8_vON_kep2GSIo=iJ{TXrdJlM(-aoW+i z_YucM6NFR2q*wP726YJpX}ADiyl2458%z4ry=d*d!J#x?DKY?Hp6w}e>lrbX=>`{9j{GjZnumJ>0F%gY=R@1a1L&MvHVKTeR3ZYV0 z9UFLQ@MgrTEN8~YMV`_V?@uZC=-R-}2+^mBwBwFmd!Oi6%r>-I?9= za4t`Lv-ZLx*UIQi!3iNi*b5SD0){_8PxBo9v0%04G`@4`EPWB*H8C3gYz71&$x-oXV z)?W7iIW@QXSUBs-*$0_jE)(5|v0kTPjq(*#T}Qo&($TrV0i|FLjK6&izz~iRnt6$N zmr@W%*~VPagk%JaAa|6-jbYdo^AJ=D0l0|Igoeh|e=; zWc+BC7KNRdVN8|-N2xA4Q&hw8y9n`^$%810{=*3v3m^dSLJ>5F(O=J57oS}S39U^T zbdaj?0GcA37VxP6m{bf|Sa{zdXT&TULvQ?z z;d3B!TCIdV;8^fM$l9n+3G#yg?PNI_JR?i`g3t+J zce-f+uV66yOoTk&4Ag}l>N(Js2+<$rezWhur~Tkl4)ziHoPrWN#6kQ>D8$2r9Nhk8 zr5BHRsi6A?M)i|QPy3RSt?1_pfXI-eNr7@64a?1vz{vm+rgnYA+o?(i82pXZ6@^(r zVw6g`J8ea75zf-9hrE=~Z3Dd&L%K~<1Cc4Sh`Ul{K!|`Ope_YXz6!LQArVDs>#Y% zGRtULp!gc0y@3bJj4&`;ywN?KZnagd>Z-GrqU1q)o=exM4v87)+1lZj^PqBZXq|_- zd&uoQWGfWDLvDg^SgWM}<22K9vvVs$LMN>Kl(<1ZksSFoIxD|>h=ePHRT@A*KyWH# z*tE!IfAAc2=N#>u%$_np&Q$y^L9Z( zWT^2xBJ>s>-Y%31MrKH3d)}Ttfmbhr;0%wM;Q>hgI`=@0S%xR>;YsjqPQW$S%J&G# zz8s94M$uM;8Y>mQGqiNgGBHrh(DY+>8RXV9)xTmc!q(YCMWkg)LD=1HFIxW~T4|Jq zu4VC|`OpT~WA-H2!h6i%X*Lg9`sQGi<@Q}@>ljzCzr>W0dkuBK7YzF$2)6*3Z)04N zPCzZWNG*-;MykuwKv*|p;+=kJONZoMHnG>T%xV!`E4E86tvQWg8OTLGr zy5#B5)*``ilzrnhLG_v${P$#pc#S|*ik;v0N{~nN;K}G?gT2TDUEDT6f_{;=5tum5R(5D#3<$O2aQ_yVB^F?>`J)8&aiLfn+FzjRs3St6nW<042 z7O52EE-x%AIOFA3b!NoJ0A>$_VaIcMu*hNqgvgquceUN53pC}t6iUz$xT3kF-AGq| zpubGm_V7&D`ud>T=0PK#gY*}qZlD#Z_=9d5x*+=BM3cr+l9fInE|_EFWsjM01tg!Y zmC>Xe7v@PQ-@Kn(esKz0*;VQ1=-e42G4Olpz5u z$oN_v*V8j$Uo&C*j!vC1Zat{5Q3@0napGPOA^sFtgWnCzBqT;=i&bpo>tI+R$|$JO zXIIxAM$)&^2>4S5-Y>Faja+n8RDQ-qg7lC*4fZ7s?#5os`FQ>2+5|>R@PmQNdUsr? z6WTg&`Y9b|YQ0A+5)iQ^Q0fzry!4RyQhIfT#fuvz^YNOGJcVVLodj268LJ7~lot843LO!kycG~~v`Ik0V`x4U6qSdkT)?kHn!C2r1wq@(pY zx5BeMW)TyOr zjaHdt->`PaWzvG~*vEBk4)j5=v#CUxL|f49bk>TKO``|xIj}D|(7w&@n6dk_Q;?BH z=cQmtEhm;|1M@ynrqc(5aI3ZB@B{+ zL5;1d{wCyPFY1BPGoJ#2`)n@X1$zedl_jFVwfuvEc;{$Mh8d#G8z9>+kcPQ zbKqEVAn>PM%xPH3pF*6g;}%st1FvIoj>YrH8a>;knDm(WBv7nZ%y=@>@n@CV!(+BD z-=4)JHbS>ksZsEVM)5z+PrJ-IYVagDmL#|rjpW{~$jDSpyJ1lgMf2GTMD(i1T$oM5 zw9G2}n55i8TvPx~3~Ocm=|@9*!QiMbuy?BW?F@M{?nj2h+Z<(HgOXqlYsfMF*_f7@ z*76gFK-j%ZRSHrfjdagru#o_nr2Uh7Npwbca?#?SpFY2!aWGyRb*gn^*>#1SJ>a7hLELZHv}LBt|Lp9ihvt3E7y$9DyxKq zx|LQPK@i_>H!G=`=Xl1z2&nNb*|$S0-`^V+kGOfn>mam!_flM0IG}>039?jnn;d3` zEP#^!KkB6rWKeNFFiV9vpRWdx1*P1rHNu-A+tEE3isJ_Q!fPnBow;~Mz}nw^Pvk8)Ct~4B483!$nXSN6#MMn3c!ju2p05+>*Q&9 z(Bl1!hX=flLF=Dy3Z&1Lp9r6lr5cl=*YNJ&0fYIHttf~(AvFLZWh@2tk1K^}eTkb( z(Mn7IgO?qOIG!HylJ_`ne+@adfk`f zBB=qCl^Zel#Y2C9}_U-WskQGq=hBoHV*YNJ#EC**sb zbpfQRaWOp{f+y^fErnN|XvProT3&3H zfH1-jZH3VX%46z7GA#lnzzo2>bAi5t#R$^jLB{>rTS9VUMvW$2_q`=kJ%G+j?;&>&c}XQZ%>GX&<2{jhfnj$mTzN(XOnxviyNXVd-idr6>;mB{c@haa zpc^tk>V>YsS;jeV%=X&)ns&}}F%)q=*N8VwAF_{taT+3L9Vl1wTbaEXn~dhD+l+|5 z<-LTPS`c{b#z-}=d+hbFN1alqY=|Hu`H{_8$T*Cu21Zq3ro{)0RwWt3zG$5Y{QV)n z59IvyWAG_49+0PE&fOOVM8J%GFMvviR!S5IRgeku045WtFp^Nd?gM3C3?ns~%y=IP2Krv!e*>%-b(TsQ~v2zw0_W)ox^ZQ!NPCbmEK z1;cW&A}RyL1FW3Cd{}yUB9UH94C`)qY;3iDddMSv@`|lsfH%rm9~>ZBK7QDg6_+HwFJQ~eJRgcAg-#A0Gt=R~lRzq=zH9w0GPm zdst5;(u={7Jy5vwmd1z_97tYow4cked@D%fL2;G!cbgq<5~&E#CJJ8 zVs4w5e|QJeY}xOhyfDvV@e^F35){kbuG;Sz?T+a{thBKV(hg)2a;-2T8uBm6EZRdF zGg-ZfI#=n%#CJKppJKLOQ@y@`ks2`v*HuS)F(M5k_hh~$dkHDZ*sH5rczkC#2Stwz zA@HP_?VvGQavF!7bG{;vIkU+8(x$7Di;3@gdOyV+w`fc5FT{qgKY|kV_c(F%>}Aecp;P|T8xu?lOs?d+b~36wwt}4BSe2iqI&W5~h-P>62&&SsRwiU8wCr3h27$Z8He0Z0 zrno-#dYffPE=H$*iTUsAKct42pCAKJ4s08xx{tlqBlQLhEpwe`shTUPpt#4Y>@7n@ z_nxW{Oa;t0ugVb=zaF!)V0zOVE?{mqCFn`SH&~q0tb+lyVPGMM2cNPa099w*w&W=0 zt850gff5Vu2&}aAoY`yIUDqaw8!UwNgfB$O1fY`=AezjAea#29d(PzX4gY(vNX_WI!ZxC5zAPty?_nEjZU-0 z>TJ#CIac~hZ;Duo_`Axd^f@Lls?kJbly`s|0;Y_vaU^Z20(2ZZ8HV-Z{@t{KC|##O zg15VGo@2EQ$8--KCQy9Q0dPE11UgVrwcWACEl^8ar z?;&s4byjZo;~gU&x}Gx2G#)VWux)~{*>^Xzfq(^cl*4AofUxDHQi`^)T2*qdP_p_f z0jJUOp1n-kU5s@=Ltc_!*@4}I%&tCvDt)(f3R0V;z{;wU3xGq&P_s#{`M#A$ zYBG+jS#yN{$%{8r%}sI_P9&qEJBFzN122EfDK%Gthf}YZ*Y|HDNe2SXY6R$AU7P0O zP}|VNO<-<3{8ol~CJ`e^IU*Bs&0m@n)Zj3p8dfgZG5f*Mri<$}8K9hpUfkl;g?u&- z#dBX?=lFYK&t7f6B&K^1LdDv9DRou=-`xBHti%U1$Ku^eAY?hMZc-0usT$OF_2-Nl z4$Largv8D*PN_7jTIOjkp8WEPXimGMA@8c&Bc}mBlc@oy$wYn8P|Tz`>Buxy=EOy8 z^2d0)LU#q3$XLcz^aAZD4cMw>$!~)8$d_VhEuQ;w|HETWTV+g?-he*9V-CQo zVLYP3foKz+{^|iyf`snYzNd-B(_dcZpO&3=P}>9+4B|bU zFuT_qqfydxv8^d3W`zzZTJ^RzZTDf>*xrP?oH5QIQ;dHn>=>39nH#)&Un`(6xVENm{PfgmhOQUFB^>769UhW z5(qF6;STgbqe?w}uSMb2&cJk(r}}Coh0mtapiog9WZ5&@s{LS9@Y5GXmV+F%*nehuEq1-m$Uu0}T!8dJjDl zmL(IWot7Tmt|hE<_>7=2o*Le7qY#_vKu@6@P#3koAt8WeuZlHAkC$$PyK28C>bb4X zmI|eZ;qsv9I|u^`)-BR%O?#ihDAsGF>Y1=C3vF1Qo4W%Q2`-)nl=9&+ZJLms>WQ$_ ze;9GfvUh@Rgkj_PXbqo|aJCPWBG2qw8@6AgPC#vwd@2ta!ie=QUYbMknRA%xd9W;b zkcxHp{zdTWLgEa~sW`f9N$f*eTgpR7<+Htj)~a>X$564maRbbMQFur2Io7M$PWFTk z3O7C<1#+?tBO^>x!#7c;R?md%$hnjaBhdb7$oyaiU}z!TA8^I^= z4wi6Yk@Itq{Fo$TPR;^*SE2oe%P|gDqXXVTiT4QMH-Rt=3tiUc?#5{vWpdyC}gp!Rarx6p_1a8XLC@j}zL0UZ# zt|V8~J->TGJ8W>+5gbWEQi%VYm}0>xO7JPQtYR+`Lv=neih7TJHcdd333eH-Pcg(h zMVZ!5hn0P&yaJFlPKeEVMe1hA9$KLnSmo>5b*S|c9an4vHJkd zn_{-`_yWBgwTO5{Xf*IhIL?bpDjfoEzMCh*mF8-XVFNG$>BfYfj-4LD7lTG3>40rRabX!zDj72yN}>t>A~`2U#mw~m5P3pp03>|mIWtQ=!f=9BVAwc!na#7| z%5z1N=sRY?ZD8WE$z*ksi(K z%u6CM3D>&BDq5Yay}?B^w#=e6tB$@dJ2-{baUoT9&Z4782xl$;p;5;uHX~%3!hFXO z8&;2BcaAmq~WA0Wz*zszR36S%#H%spzJVC1<0<>l4*nxCnfWyGZI&TEauIJ47 z#R|&|125GnmPQAp^(C=QbNL`~A1k2hgmP#TKHovlge%iEZ=Z9JFKFjwIo*v)?iX14 zQp2BUNeE`r?1BM4g|Zuv(0nPCNBjq=pscK7nxW^6%su!Or+76{1GDn3Rlvg7`MU{{ zX~yh{uq~s}umSV@IDr0K4BEwdaQ|bR84yE^_pN~$hStG|AZU-$DYDrkI+l_-g55)} z&O}G}8mALG#K!~nEZEXN3mCzQa>$a+qUcQIE{&Lh{G%Y_V1>I5GaAqKmN1dy<16{K z$CvfPmhAXIuTfFZnyppy9N6-2AvZ*AXizEw&gjO8cVfAzNk0XeLzSsDJpmvuyPARI zQI3u)WKtaL<*atspE8b=N1DJy1g4l@^se6=;FLaJdn8YR-BVyI|14xs|2S?J!M_4> zG}j{2u9C_Gm7UwbJ$@)=++f+V`Vp939i2K9ah&0Qbjx`m+C2rnQ(W0reIEiQY`c>Y z@FlnM9NSLWLpQbzh=tlE8xSphJnq1C;L*-fNVcgR0v@o>$=U%z4y-Sv z>yROQ#s}r{GUHGl>SV{Q-hsdPQ zT&CnErkITh*_WtW?VkDivJ~9RZ?R|FzIo#GV*{O2)U*q7Lu9s$U=V88=RMSrj8V(>ucKE5X*-aef7LCJTdsY7r^8-4lYy}v=Z!% zN9(Uj1u{i+#pkhz@JCTDu#=F&qyj>pk0@q&kr^cO{9?vy9i7#ielF~~yi#@d%-7e< zx9LiLyx%_GK6*-k0)dGJK#}trD&nGM1yY6GpfZk#J19RU`!1Dmf^f8Bk-*$Z171;` zy_r%xpZxR2Ps~3Fbi*DTRWLUTq_gT)Fb8f`q)-GI(6VDW#@yu4XB>9wjXhLFJ z#K;fXB{Cgp-)3FI^Ik8%Mf~Sy%s-rQIP2`x@kM=14>f6avza2|6u_7&BD8PTn11HL zL5@=EpU$2_-1wmwp7eVCX93&)huK$EoyK#j(92FQlAJ7 zC#-qAp7Z*e^EN`$Kc3+)N)M7XXxz!4Q3R_iWD(N&cER{$w+XkZ$bJE^1CF>wUj>Y? zoq#0itjPAjk*oEp^mT39S|Tg zG|p&4wA92HuHV-2SRcVa0<$M~042PE_f)8puz#ug0S~nPFDL&r8mI8|jyThlaKpWF**(4DeWwm{n^fAJB4;I!^E}S)L+nZg}+9 znZV%z{{@hu7yPBe736Q{W9(Z2(F5opGR>N%B6BL>0ei9=YqHywZ3A8#6YS?;c-e+6 z42}p^yQ*cX=z0!0qaa6w%+$4dw}!x;;DDzCzjdOFr27D!Qo&8#an?t6xuH<+FW%k# zg8)*@AMmqHacmbjM7Rm(dX5Fg>t)EUPNF~wL<|6UE;oua^^zWQXF6z)D`F4mkR4!cGE;?JPf1Ro8PdSP~fy$Tr2#E@Mo zP{^o~-oARdOVSAs)VnT41SpG0?|@-r?k%dm1JFh;4w{>StBmy^-vf0}0L(C45uu%) z^~O5tj2ok}fOIX_It&W-JEznrF>PZx$DpLMA(DddkrCVDDeEq0o3;NxP~B>sXV%X`dwAIUQJeo(qtm-pzi&JzKbQuJ5N!NG!P zM#&E{wh8Aw&q5Ud10WF%RB__MhI>vJvv;yzH8kMGuqhCr(C0g4)ML&b^SW*ryRji_ zWxAw_lq!cXNY|FmqeIjHqsm3cM>VMqP#1#9qn1&c?#E*pCIZmOm1B;KQ3Jh%?Bw%AFka!mqJ?sJk3X(h?v3qIT< zSaY&%0F=b*#$hIY4DY7c>cyHO!E_;L{KsNzMUS|8#LElFOzAsft_Oa~ShAo^lccF> zorS$o%s!Fa<#M*8DQpc*tKGTpWPSeTu9+O7&og4XOITs(y4~D(-BwKYo z-@fJ%uW#Q@QInB3fRQ3J2d}r_7==5Np(BP@dijE6V?f2BR1f&#i5Q(!J5~6!J1;bW z9DvAFr)dv!*9ZkEvJjm_a<)bBddA%&UaQW(Gv6;h+5M9jPbskmOG2vPrEq%{WE7Tq zM=b;YbtMzj;B#YUJT=bbtcFioV+>fP?+N-WZXwyE`Vx^Te2;n4@Y|OhgbDEf4){>2 zlzG4LfJ9VND^>VsRy1@}3DFTh`z0^{iY1^9QW(LDgZ94wl;C8>Kj8r2a0PC_Xba1i zJkk10Nc{Da?hF1HYkB`4#>vZ*=44bj(jeOta8*0=DLx~uLTwG51J8D4z*1!u876I& zI}rU2rnpJZY1Vj;BWjcIOI#F5um=Cm+B-oeeuCMF-O@uQOUgS|l5 z>Y#!VP2e#5m* zFdYuV(Wb!QExLqQ7Q!a&ONhQn^TispHTA`vRrL?tBcA5UJrWBQlVZ#kDU#w%v_vyM zNVz5hQ{`Y(Ok|EQhc>caFJ0UtHo$E-%L|K|IOc;ciunT_V2#&znQxuwk*DMmLVQIN zW$p@oX8~cVHf9maD1;Ib+2Sca6~-xRqJ(;Isg4e?63)IsOScZgpgB!k04#jq(#5G1 zh3~ePMN)oYvi%5=>LRh-L4!U;Cl40` zH-mtW2x|Gkm&ut7$R^vEIT3jCs%{d0L2&x_pzY=Fa%~Dw9?5$`QD)FrMfCU7E_ah5 zRhSe{!OG6Z1FmA<5^(%$7jgK++yD%he-K|6_y8c!yv^2C>KnkfZ_I11d(bO}Yp0G7 za5*|qc}m#V@^(pokV2H9b^>!C^C_Y|z@#Qf5MZU_4R~RTC0vMZ1P{8hdx@v>Hhjhc z913(YW3ovpe>{nsBw)anz6T8va}zX8N&^b1=1XwPXou98F2D|>n{Pb(YLgpr`|la!PT>NMGYl`Ci1St{_X^z z2vAf`Qdqr*_pB<#_l#JO%`Fr#+V-JiOJ9PD)S0K0hA;#ku`*y-*?;}-lUf(MdVT`K zGP4Jh8gG@=@H@kj)hp7#UG_(M$W~&qvz}Rd)}ICYLzrxn7(=`4FqbC%mxTTNFJrm$ zhmb!lAb8hsT;-udmq&);dd3X7Mu#R>gO^5H<+P*KnMw+pP347`PfnlKs2*_jfcq~2 zBL;VPLF<3IYvw~=wUSYjJs%hWYVjTx{A|QDWEL4QaIe4y&Sdy<`Z%0I^RP$irvhO# ztiWp*U^+O~lL1|s30vYXFd6^VBoSMzgTixA7J+uUATH&Ic+@fSs8ZX~=o7ZrrxUeB zf|E7Z`rKJ&JK>)9B>jT=)qB8y=jv;;_Wl!qttYcgD=jMbGR~+M2zY8CLT-c;qjO9R zT?5yc9;O40!b?SJ0tr9+)n`^D?H5%4ehC@T9vl!SmI3)PwSIhW=(aS(`RPc2HqiUq zwEzn^35GtOF>~{vgFu5bC-^6F8QE=aP)bJi2;y31(dTGprjf&80Zqy;7Vx?^`@8bX z`7ITNO9`5n^lx^iEeEvwdV_7o985~5)$a-juZO0gydKgmVGzQU@?iO@A3sJ4EqTJL z>*j1z--D0_)ad_BdP)3Tus{J@%FKe0t-}Jd3=b7m@r=y>JQtDeLaDMJ1puiEKd~{v zc56cNVVSlUY{5>}YqOI=qr|V|r|umx>gCb=c`uMe3=OiF854E zwTu$T<#hVUrMvuMjgP$l=>&D8GHaS4d){mRa6wrSy=HTQ)hy=lP(>9oI%fKY$&uHt zq*Hn`B=eJjHfsldfn+7Ry?$4-jlT}FC%(^}>i0m-ZZ0cwZU?MF?Kv|awJm9?fNyw_ zjNur9bVa5gvG+@-TQw_=Z~)9{vvkR^vcgTnL2(@`54$n&{lMVaC*o{AgYQ*a^33T2N&;~*4z@~Ps6*S*gXlPAA* zPq{;ELGe4DPMRCZCtTRoNVAXVXh*;n@pr}`=V>4&*NP_}=#=uyU|CW8W=;c6D8o5_ z&h`%4fvw^`9GIT)`OIk2tT2*izp-9)|DjI)#!K4QFU6=VyBDgtYm?TI&>JXwSi@D? zm9RC(DlXy=b(5l!LB{DjC4TxQl;4u)ztR3#$jG4_=yS&g5j5e1H%~LNeCQCO>6vEb ziN*;ppzBUWP-vBc82LJkBK|X666$GyTxbUzu@$R8FC;r6Zn9v+ zppmDjkipLC?%_{EK~JF6fS4hr`C-zBTgbg~3rb5D9Inm7DPz|c)5Ib&mwx)Dy3{26ViB*e-=?6j@15OP@`udqugx1n zM20xzbw&CEEPnu>2l{L8nO198`l~4WDaSEeaVV|U<9X`-poVQ_Au`mNY9-8DuA}Vd zeTk%BP;XtHa@yc@PVCa}R!TrNJ>`x73S+kxeMnSl(>QM6507?;T@rW9GAsqbhY7A0 zJhWsW)?1sonI_W84C`KKd&kuB!|U6@`n^A?)=!y;`#@9_R1X=xdx%HoC0 z@kTMSdk1nupg}pk%%_M#d1ngtMfJBuETjX>tA5M^YmREA{E`-}Hhan&OXrT21kRNH z-*Umit=OU~)-pot66>CT^e89O8|H9B5F?V@Xs(XRcOd&9C`*R~HF)`2W%%}j!t8bi zK2?02;G1+`Qe35Kc6$eM&#o%UP;Df+&tO$YSvo%Se6rO{ml+n40=VFv05?dN3Yfx- z5&i;81rdRZ?zdT?eU=Bj-WLC%Dal_=NwvB_8oB7#*hj~Ec8F^vQ;Y)eFsoK(MQy)H zo`<*&3Ey*}sac&iJPhXMOu2a8%fDV0KeZ&-%;P4U3p6~&M2QYjZ=7A82t_=u$jD`q zZI~B?;sF;p8r8Q^msu|p4Dfgpl-l9P%vQB{*8AwLH;6tIxsQhIn*J+6QN48>FV=S2 zmT`vBc7V{p-%%}{k4p$B9(Ha(*W+slJwofVJb(y9hgd<8iz4Ejb?e?$95%TCZZHYPB?3Ho>nJ~RZ|XqF-+*{oa+?e z?0z2?&wAxtBmOQrVe;+9E;x|jwRjd9R-Q6Kjt7fLJiBBNb5(FLNYb5|sJ*f!c?Si| zP+y>fiW(9G7EBS15ZVB5K#;$%M*zud#_UVNm%V~lLJQ^3Y0b~o}V14!@fSDLErbL~r2_k$h%&2{>!1%y&5fjjYWyJKZ z1g|njTgB5}S*zp?3=yz}{Sf(W5RvRA_4dhYAg}@+$w9y*mP1u?0*ne~{+=LmTv>u~ zI-HMTuUF${=+kNrm|Ua8wXZ=+1YXz!Aepm(>WQ!9HRR2)5Spu9hZ)+A3OJmlE0&6^ zfyJpsKHeUWwfvD1fO4r`%?O}442IzLIOzo$+e~MDPVEaPy>#3dL26F^4*%e+?5n4~ zvZlVB&lvV8FjYVxiBjv;P-2n_?JXh&pqf*Is)7J!k*RDcS0>@mOI8~4wm)Qx4Ds+D zCvs0Z0z70|6r8m5kgIIqJYvs%WzBt?CiTaP^Ln4>PsBO4Te*NHguvzP?0m>TALzB{ zTw?T)ail%k?2|4HSW*txPW*x{x9YjCeB{1w2qJSm4(J8ZIkQ)Ak`^ z9o7qso9j|8mVm6#2g3oTMw0-xRZxyxosAZ@(W7F-aUSO-4~%Apo94CZxv#9bZ#N9@ zTUiO-b2=hf5I6=H^CCX0N>&`{&I@gAWwxa>yxkC5aoAQ(8lL+dIc^jpdIz=V?V7!M z?yGCvxygM#@?^!Gg!w(Md~J7hlJTF_%vEDrF$-DT1pFv(7BB_8-0dZ2Wj7)b!&~kL z&z?`2UDB(as3h|Dd#8it!)!&Wr@mU&OZod;fIO$vmcBNBMckQyp|3H0B5JYZEQW)v z87G5f`R(+8Q$#@<6l`xxN+Z^jB-oz834E8zE@O0jR`R5?gK}+N#Z^yyb$$8z2I$G_ zd)d<`5}!w$1aBKC4f%c&zg653LMRi0njt)LupK~E4lvb?rq!MvJ=KUrfR8S? z(s7hdzK66oie3Jz%X{^xG0w|K&IBH@5+90>OL71A_9=Zr8CcHJaYk@hV13_C#gJbx za&t6%dd93$t>K%lut?ofjY36%{(R1@Gj>_CP?n$zY9PNw47hCHKjGcerC!(djFUts zq%bc+iB)0OGiG4`aLk&mC?&@Lu^HRbHbtl1Oa%mDuwMjnjLtEF_0F7Zl5>GY{Oj1l zN~Qz#Jx0Iky@G*L+oQ zERk7FqLdk$BbHI3N9BUMh|j+yTyQMy66L z3{kzMXJJnn4mq7Ol0aEo-0LBOVXcsRHIJ(PkgLS+=Q~DKY|qaQE@he` zdS%UeJ7WsWIB9a`5ROcs0XVeB$Z{_t2B3!=LB>j?k8t|q)rBri0R*3*&qNi;c1#8+ zDc}DhlRPMr?L$ud$UNm0b)FM|Pt^v+5rgzMG z5cdW8+3(TNDQ04p+>T~hf?hxXf4{@v{|?Pb@?>Mo)w{>5j8{ISIyU9zk2i%hr`*yAk*j}Kbl}o5-uRh*Ro<4a+lW$xI!3PXLOurzdBnpb{-`!LDUURt>4fxOZq4RX z3;830^X!fxVr~u+hho36Ebljlh+CUJTMEstxLm*=9e^lxET-m++?Lt_b%Rg0>cbwo zcOepR0Vn@kecafo$g~?d6B0=C?(~$}`2c1SC1IA?qT9cs2`+*b<}HN}im5PNWbq+I zU9vO=332L#+bato!@f4!sShxeN34`r*RmpR40wN>43$s#p8Y?WrMP{;g=;#|w9kGz zf<6U>jeymu-8$X5J>)6&>j3s@Hxqx~(S-;b2#wfn=hv|mTwwA1vyd5MfffQGz&aK3 z^i{ms%Qx^G0i4!+i4)~MOv$m5G3+ZtO^?z~|7MM~ycUv%OR6dTvzV=DP)E(fM4T0M z>#NygW}8qX=CaO?l4R^Gsf;lR?SjBC3eFfuhRN!a4S@F{(r`(**erw2zgL`J1N)5C z)iJ_y`~{C$K965=qIQltTb!uqy2Yy^Dl-%*uRq?L^YXY`n2< z+pu0TZ%knc&B{Z^8Ss^TbVVnQ-zZ%2(AD}-9N)2Y_0}I9T`0aB z-pJ$gJXeo-ea;(`N_eHm)jP$3rs!Pofts{e1>;>2@xi!tK?>APu0m{zhiZ|D9;FJVwJu1?t1o*e1Gen{Ob7iTtul$gV%(B zMe_5rjD3a%wYj-9I=(ldL29$|9cj+XJ_9@~6jg*8Vb|)Gvs<203yrH2s8H0Vzm_0Z zzRmWjd-7W);^GFvz>LINUxunO7yu%2B|mBmL=UTL(&DWJjT5p9R@}dapMlemw#Xdz<`$-KmX!W0-MZVn<{o6 z*+;u&i+qkU9zX4ZX+=4g*fW;KqbI+J7(4S%mwvdEwYZF-0Jb*8N3`Jfh&}nOx-)TO z9L#+2SbC>f#aWzoia>>Ql|&F}PmRu!Ye(>u=0nDA7c>QUSUGaZZ2$l+q)H!jB1IZy z?1!?y^%CE-+TrPM)t-qvBT##fSO&}+gYn8N?jes2E5uL`An23(+d|-3N?Y=d`S4>; zm4fhr2Ay0((8=HZjvLZiuz}LIT233D{8pf3+$iY<@baxGo@WCGH`3Mp&jiw*@-w zgK-+`-V*2Lm#IT`E5d{lNl7n|C%{DBFXZ{|4bOZlN;2(6hFk)=i+RcT?%baQTs<@; z21lA)fHTZelL0)K;iz6BaX~I|wXhtbm=`zt;y*iS@8_ws3TAgWTwa^hI-({VjdZdRu*@EQJ;a1}3^1mnp zy>x_W9ep7Vn^?s31Mls&hwO=OZK8IM`KNPHKev)-@Ew%<6#N#EmOgVp1T0OvclLq~ z2Crwc+T4z+kL;(bCep24R>%IvV;(c>`{9XiRiKI6Mm4-)aV$)BjXD^}S46&pA))Yu z@3ei(N#+L>dH1$DAhVc(aWi>_WEOPN4mPWNinR|3L~lhD6Ro1|6Rpx&4SK+y_eT6J z;2&ST_cxD6Y=>HYqu_km1KJt60?v}ULkF|b!+5}S>^)R}lz22jX{dO!(4YJ14%8mL zc^aPfRsovWcA~jBNH&bPhn8ibIt~YgcqHf>_%*+h;WsmckTnN=-ZKh_@Z2+QR-UN2 zE)fkVlj#CYLsEx!GlQBu{kC{^W$YysasKT-9#{b6`%gh#SP^G@h!B88)c3_0$=WC4 z#mA0L@X;=|zbQ^(D){^vvd&Ku#a0}e}> zN5vo+l5`dI_Ar~)Kb?tRa%v6$5bGCUQ}S;Jup49ydoqJQyk#Hnypeu-(p%xwhxC)h9od3|gq2|x=TbpX8~P+-!xqGp0ajmpA}TnmQDE4h+)OHVI%aQ%WWJU_rBlfH}R$$8xPtBQo3=h!Q z_F@Q=y>k8a1x7G~+k?~{D0?g)-a7Y;zhs5Q`b*EaV|8mu?-Qieq-}gJTUcc{%kr+L0?I+f5eS&6XBZq2$^j+N^D@drWAuz<+#3SY&skAVRd&Y2>J<^AG zk~#vpqVaE?zJ1z6V)*OFPQY~;x^!F;)BfcoZ*mBbsZEufu`9<6qXGC}4gmJ?kX5t1 z!W!)H`T7+>rXuG!NTP+446cW^%FR1y4_H+KzLZ?mm~a3~?`2+c-D6(!-iE`@Eq2sZ zEKX0k%K5H?C61Z{aN{BWh1gI76Jpok{q{9Ecaad|<@;&9oE^E2oTncRA(IABvLPr9 zAB98K=~ZW!k_&nxS7cu&|JAYYw?%{fy6X2&49A4gb(*DVPo z?9P%;!I}T#qnRdVotsgwFw{g`gndFQcC}v^(s4=cTytOFPy?_amAvlIU%@PT%NL=? z4W#+13%V9m3}X;28EAL9ol_7j8{9Bx=LUbwbXXv)=4Q(!h(!*-_T~^&|5U?mEn4=V zg9p7Pz_uX=5cK;DD|v~L1GVyq$Ri1+1=$*52z!^{E=X?edIL3;8B*Cji*KtfiNIc( zwv>{rwxcB4xcwY|6op0Fa&ADEmJ3ja^=Ry#Gd`pOUIv-LQ6+fq!&_9jD#_y3uG#I< za4^Ov6*Ga0HYsNSSTb@v3%*L_=~`>O`lBFmFKd$IcpP^K>YlWv=91d^(e!;|0x-Tf zL}Hf%=(BD>uI~OTAtxyIAWq57R{O?#%LlMqzIp9ZWxwJVp{yO}gPLNg%GkU7dRPgTZQ7zJkL3{1vUpOMdw z7a6YP(pK@O?Eu4G?!*06YnO##_J#Gx@NwY+SS|k&YtqVP_<9*h5~_^LBTCwPMY9V) z?ej6`#45Zy`3oQcUbP@fDlN%$ct>Eq&HB@oT-wJTs&4SJee+JLhdRN(ac_3% z=sxUIK>H$ZS8i?&Zk&bLQRb;BW|md-4z9isv#@`t{IJ?S`kc|7(#j|vv!}rD(f941 zbCGkzdp_}d4p}m*6UJHy87uxYFvZBM(FO zqnN=xLU6QiTV^_zyo~?^PO8oSHT+$;! z(DHwe6*(eQ;)08adMxGh4Rj5c7C#EQ4Wp>gk$o3O0t_ZhQ+v+7B+1lg2q8rZOk^zE zJt|V^6am1+=C?+ZmY6+6?@WAyYITj3E>VyT{rFK~@2=z0RzhFgU`DKA$hiHW<;}Ce zirYi3AV%!l#7~ZpftO;t6hX4!C~!B~z5+K{*HBQ!x|%6YKtwd@y*L|)o`$*~o+ z7~!(J(^)`)gDTY3uGfZ4NE8xZ|Q9zH#F~U*S-P zP@Thai2dOE#g|A$#QpZ2vesbc*(oP=k|{;3gSfnEu@$mZ_2Pm+F~7dcq9l*m^WVzn z`+vnOOl3{%65uNWYUt=cQ0q{1u~N+gcPDnxp1!S?JurY&b>@KL37>ZZ+-U1Ru$O_U?n(DAl>^v5IjUi z&Y7Xfv=0z%MaA!necxTj1v!`Hve>+Ncq3YhgB#BpXIPu+=^7vj4IDmJ)NwHBPdpnU z5~J;^l}}mOp~P#yjveFZpb)ohvQ2lJ%MI@jsNYOioHO)X3| z16Kwi>oK+aZG`c223ddd8stpaS#}ofNrEqo*BNe<$`Kbj)G~Z+M*Vpp7p%9AL4U6n zM8t4O<>_;@6|q!Y(3$&Z5#y#qp0J98wF{=bk9;5sY6Hm&mL5KIi5OBd9nimEAUzrF zQ1CWeEt+SaI?(p>h=U^j;B4(6hdZHV-ntv>$w_;WUaL6t+(q_~dw6`%A3(SAA7f_Uvq>>}inR-36bz6kKxnpg(N_#zWMKg$!vvBSF||nQt9! z9IAD4M+AY8#UiNU5ux6ArRWYB6lY~!D{X4<;ct8Zg3t%eXKaNtll!z89!kLl8t!jn zBA5wBx@EQV#Xf}Yh#((w&uXh#5u*l~WmF4B_Po^WIxPnya0tP}n^ds(5rElz$}X7m zq8<^Ca(=${!d`Gn!381dUqgmXT(}sL{yK`&pE6&5#)Jm@Dnc&sl#vIewU%DQCB&|w z4>cHOGl-k(-Ls>akN80v5z7G=yv1$MLoOb2`RzLX@!f0dPhMQx?3Y`G^N+#njqMCt z0Rs61e}2wgD%iK=f_8T4YQc@jsPv2{cGkX&mS(_J0k3oLU5akueM0+SQ8Pxvo!)^B z<4Xf`t9UxFL(5_fVB9^rK;#>9Fewx}Dj>jcINX7YX^Y+a0UQG})B|DW831cOkC=>? zKlCnko75lIl8Z`}=0hiZTYN0Rq_gX7_k0NbaI5w4i7En0W`cx?;?*&~LA2i74pwc5 zoG*6F9&z`G%Wo0WwjB9^5V0%MZP9Ris;3+$bz5{+71B7A7o#fad)k>WfkLHEqesPT zc~2DBF?S8zOIbRj_75NPN_I@OL*lyBTk;1VJni6RWv{1P1mf*vyCV9N_8Lql;Ve)Z zluK`oO&GYRMnQ3{N6@Ge_Qw4L#AM`Er#3pyOR}G8(bXfm#9Q(QAv|sPod{0YB@ph; zX$}sp;APgz0*8MYmvYv!5iCQJYGAoMUYZquU?O7`v;Oq<^u*3SO}S2=b};OO0t~ov zzT48<@?0(Pmi)m9PaEt-1FAI@GxVn>t)Y;iLKzg!x?}?A8)l!Uu*AkX&+qldk!!Rfq?+7!bpNhlHy^Ey#TpUjHtNwIYW2 z5?R3c!I*M0q#so9!t78VxtT8Umi)n^wG!;__wx7{wQw7<6A6eI@D4r(2nfT2V6mdO ziU0*W1d>^tS{#?j1jur%=4Ng8M$YL{Zpj}k+O%8fprZnM@l&D$*ngA{5gRR7w5RB= z6*OVt7+;chxZ_Y(bh_;>S_6(scBtXt%&rb4K`T3pcARHz)5(EX)a&Hzsc&V`(ztv^ zjA{bQtxJ&s@#Z;ak(54oj8a{Koqh;0OKYkviIboEH5$T&4=EE6In6OS3H0fq2hXuM zE39_Q`7FE-Aj}Hj@!;;+liy0CO&dFFc2Cx^X#y@-quXL&=8AL@RIF3SB7p{Hv5Ut~ z#4Y2J*k(IZM8qbJWha(R+^4P2BJN?)_Tq_e-?*k`1R`QX9-uqo zmysZwBSZ}`l#THja-w-kNktFq=Yk1R!Ng{Esq^gv)SglA7+1uozbco z{0*n9T4u?qw{IZB*>GgMN6n1 zG&*&OP+M6h0T;F;^2KmzM&J%A@9kA6pZ+=?uqVE{CcdqafPF`x@E~qVpFGzKnIrUL zmT$J73~4QjEZJyOQ@l9>Amq3U@y$6Wf;NL_8~Fp~LYcZ>2AZ}X7t z_upy5B}jYr1%T1g9fy8q;hSe5UQp_N7=2y-I_VViU9RlF02_9yJ|eQOPmo``>bR@B zx2g7o`(z;Y;;CiMX}8YkIHW$3&`XvA zmqKP+cCgu2$XP407gHh1*Qv4mCRp8z=e`f>$VS=8-l#3irSg;@ye24QFOBR0E~1bc zgraWs()F>stkCtb_+!2{+AT%WbHY7~Ff?$NGZy5*@&-87(d%@>tF)K-i?sst5rQOPpAal^*5@LwcF1 zy518T2&-w4hPBIuS%`<+G>r6+J@>Vb_iwk%*I=RmAWBf%wMY zv&|dFhg8{d>CiBZ4zr4rehW0IUuOXfd2bc4c3x7Fh}g&bFM9cM6yYVvwT^$_f&_Ht zgaf~`0>t#x$P)}evYyLbR8KLi&X+cZ2<-aDqoosO4_rNMRsm#D7X{9q&CYcFMtd;~^ zAlLj>C>JC@F(b6EQ{Ga;%g&0KQe%0?QRcFM0dmm4kEHhwV92~Iq855kUi7AkR0K91 zPmD<_x`ZT{Jx6LN*Oy>?mgdMs5-t{V`!(jVx%IdJ3NS5T;m&YJIR!6yH@CyP3@rwa z8S`kceWXKO*V4;H@;4phbhQ>OEun`GF+dTj@?&umC%Z&ktfM)9iy0mLwkzZ!%ypVz zd-pXzl(4m3VPpV2%=+D|QoAxd93UL1Sh+D^c||Kp9Ib`MB)=o&y?wEOGxg&)9CHM z;#w^02+fl0G~(2XM{loi!+}ODHBa)jhRq&v_K3$nix@p{e4Tje(8}l><|CHfBy%k! zj3Ugfh&&X6X0z{bTS<&h?JO~a^pOjq>~j<+4Hu-Vf6LR2!Pt&tUHaRE;3f50hCT)1 zrl1M(r4HwNVfnqp?z;wdXqGta5xaU)6v=Yn2#6R>jrmhxq)Wvmf8b}+&bz9RIrAk5 ze#?Q|8;sVRRf>gC2yW-nvS9FqPPTl>uSDIfy+H7kDR^z(jC8d=WuaK(n{BtGtb`S? z)krggNW?{S?j_*A^HN*>;H7pK(N8A;3+o>whcurtU8<#XaiO{&E(XAM zJ-ix?l(mS_jV0d10=iUOP!E2OIq!T@1eg96I4IibK^(}#3qKXmH};N{+HMpPb5@XKSix4u+|87W&;*6>+k%-U|~ z$B!9QmyAnh*t(pIzbm8m@Nvs=h!4bYPK1UM0;i8}s$JbU-3b*HecOQc$x*UvNC%h& z(C-7CHlH^az{t6H)hQ8|+}15r4&M`6&3LK&{6E~SQ`#Q8Z2Niwqvjt@ zvLY_*m>ehCreJ_IsX(_NG|{=CQ8(+MlS!a`-S*sb_FY3_^LX?RgYPktXusEv8t$QwY^DeTkphmezWybv@*Ig3jJP4PYzFkuOQ z`id~q;(A7t);HOpb7x=OJ@u_isJz)V{G3MK`DZWbCkcY!Z~^uj-DcTd zr$(tPAH=M;=t?BbQX)n)_U~sHGP!0}+M&zgm}(jrG^iwJ1+y?ub7&!Q{V@+ue)S{y zZ4{IkmgNUz#x3lL1nFoNAvgo*ieuHEK@B-_IbB6jWIER{z?S{17=1y|Ju6_{Ex`UN zt3w(VxMq2AfAxqx^?fWGHtcZGv8?HrIVOOw$pV&9F-mUsqKLRiMKTt%nfJUYy`mP8+({MOk$>NTG+%d6oX?V zq~lUPXPrCWRC{AU(SBOzkjhY`8wH>Y;n zMUG=eg#T5}?Ron=^GU=79s2bkZS4F5u92Q&S@|&Z97mgSZ}@p6th> zAs%fh0idw&1yONo4V_j@qT-VlU2mEH(q$AMd!d{^Ui9 zL?{5Jbn^Y*HM?L;p0pIE@_)(cr-L2u=K`&^iqYza!;;GT)Yju|igy)#LS^wYv}*k* zvPhq5u5fJOi~;+0Z?G&yaxNr$cN$Z>JK)Yn7?~#!_r>SQnm@nIW)bO@p%kjLUs|JG z8ZH*_N8bAn4|pj=DTgAq?E%~zV@oXJu7KrwW;Y5&ahEkw#6Z>V<2lY^VF7}#IFGNi zskZetO&(-Du-(7)sO2o%(FIn3yh;s?AU$ENMLN4Y1j0p}yv9R3G(02)g*zRE%=e`b2)zNkS*(wJyE`6W%jP==|Kkty-K;{&1SOL zKZ1ZTh=oCt3T`+8RkNWJD6wAh9y2ze%BRq?z{xIU2Bz~!=3*d^{ovSDAddf(CTdlp+YT=v^NG;DZ*L;XC?6 z?HamhX^K%Gc3WU=J!E!c)|Pt6726jk7y~rtp%z#%-#mdKEf?6hYslXR8o8d`fvybQ zST^xX2(X1>x+NNfXig~>To(qyWpFpDl&D|sv=u2vvdT*eXn08wp0vB2u83?}`+UOL z!(Fq;&gHIUfkUGZ6&>*khXqK550EmvCzbZqE&wKTcB2;I#P30zJ@%6gN?-%1L7cTK zutDq8u9J}j`p@=G<0%^_vhx=B8B%d6Wu-vn|DbKZ06TRg*fABx$x^k8{YfDrSw?^m z5d$z%9`iNY!-*}NoVb#~0oq&Wo%T}+4QaTr+4yJi22_ouT16oZar8+c4Ny3xB+bb1 zfX{{@qD%2d*-Hln4DP&r?Qw=ATrA-6TfjAJogyYfz`@ZkZucGxKO&AOVN~ahyje;N3AkW-_0J;C5{Cpoqs2O!8#i{A zwut300tv(UPxcR$#!}2@00B!^7V8y0qRXx<7|9{|7Npykh<8NEj4jO#_~zf@O$f7p zYFP=$^VWfQ1(kq28K|&wpJGwg5tYDgV#@CUpMzKL6&g5Y$g==2l)b$W)4Ah%#+|VQ&b6M^5GuCb6E_;<9NIZM*4wUXNVugi zoqo?8absgvK{0*fsS8<%K{y_&0<|=Tx<1iC4)WwhQpB2?;AG9?Pd;S{$OL3sR(-mI zkgeLRU|6>4Ie4yHmm+z?z+t#{TpC1?;wH^$J?PX(o7N=2N3#HfS7u=JMClr3;Tr;X zq9Kzjdv=CzfJ;bsz7oN1-AXs^I9RGZIrl}h2)`qd)mx-`1W$MCR^9&Y zuYd#Itp}FD8KN5Bp-b>V6~H#aisUF#j$rC^uoeVJvm}DiHAZf%$*7NuSGwqn;{HW+ z-ZqJ@tTdF+(kIm^YStmh^PkO7INUpn;FCGn-sx}zuq_!lF3;)@@NZ=*00(X)_1k4ZWB&rkP#wQlHfBPIp!J%*7@nZl86=-xI7`iS z=8@>BFMg!H%?toK@8*uf2sKH3sCoy2G6&RCN-m23`Zi>#h-(8c0aHr6NQW0{5g%lA zct>DnQSmwY?4(c}k1pjiqUXI;OvLVv&8e{8n5Rd<(8{f#%-{ylEE}-GWsy%r?}!LE zW|XShRlZ?3kF+-bim9cAuPsee@PZStBD&fUp-wK^$zMktqt8>}iEky*=JFk~HIsgbf~(GaPd{6;(@|T;Ns*vAZva;=rVZ^}(>eoqI+T08A7ECg6_ro+i+; zwZ?lX&jmvi=fQ*a+_$Q8Y&%mBJ{zU#hT{~#_v8W#fcV(PrLA1~!S$ow#yfJ+C8# z4-P!0=xfAB0L4if0A3~Ii}4yv6ZEg04n74tQCZ1DSW18O&>--FD0<#o9a72$oK-{{ z`z8{Na_1I_`@HBsAvt*$6cER~RjLC>T42+COpFLL0rjE%!=}-0C#&IrM0xQ9GbA5dQGOy$Q#Faw7%a42SKaC*oARrV+m zV?M?*JHpqf%m6fme5Q{_bjPtnBYNUn{ZV!!3k^?0!c2qzV^-;7Q9 zm-60R-{==Uy<3^Zk!sa`xhgs@~98V-VHvOAaGjFsOK^ zR>4G0=A3rU%S7}}Ygc>4aft18zJa1v`Pq$VjjDMNKu50c9%S7I9*A(0$@p8 z6)~fXc|-RCnWr{XcCBJcLR?^@$(88uNnu9cU#!W_aR5`$xsZIb9}J1NAY}b(vaaAv zz8^BC7MTOwgcr6i3mPwCoMM*YEqY&Z3|r7TLCQQN9~kPgx7S|*W7}?T<4f*3nu+_{ z$9LtRvLWdfBtw78B0rS&iwwV?3Sh4Xeo5pLJASELI|k|I;DHgUmilw+giBWGVam!h zM4pkA%aX$A)6wPej2qH!sc}6O|G${+dqwbwy@)*P<(oe1PJM8sh(^Yc3nOCDWhtgR z9K7(>NvMS+oa7;tYwmfC>FAVnCw1h!K%`ZV|nD4Y-uttMDHx z;!F5-L5As)>w%Ffdr6r2kUhkJcsm)8@*(fn>OB;YxS6jd-(nTiufuxSQrr6i7_}v% zjQF$oS_!c9!CC<=fC{GS8WROqVkY-t`#Xb1OH2qdeOqpMff0LSN55;XrQl-a)q0wD zR(IzQr}=9Z2R_IOVEVnt2GTz5x|i{apbtPsSs*u{s0}S(?0|ir(BN=oK}D*xN+%!y z37bAo$MB%@Z$TqMcc61W3w`%dMo$qO;`P^;<_}dIybPSavSz;*4ft1cp0fn2lS0OO zp3#zzSln|Rq)2ji&SkQwkR{<_eeinIZI-`3Kj#k^xbQD_i7O96p>K9@JZ8of9kEbk zu8`)inB}?CSr@OmS_NE-G!gwNga7pNECm+`QESMXxiW_wQj-LJs3Ds3Mqu)t(p5Oc z!Qj9irFE_%sioDc`HOz|?b88>oj&vg8xHq=xcw+Yc{Hl*Ld+ECb08C#5qMJ~0T+y4 z*NS=bklDs2`Mxvw&O_R`>a7}`8dkDRu#1R-6C^a~=yeG}O5;V@g}* zK+e^0v@nAlJ=~w>O%Z%Zy``p){P+I~I0!94UmdwN*s$IQ+5Sx(i?xLCX!nS%bVl>l zZ?lBD03}96s((xl`y>r`#MvW`zea4;2{nQPTVxdHQx{sJabg`jJ#3F;k6L)@W0cm^nmPzAWLP@^`dh|bwIcqU$g_o7~ z5w`e9_e=oEb)=I{{X0BjY+w({Kz&Z-marfqB1(sxGtTo}z-36l1vS6lBF5(7K>Ym! zr3F6;5toD#|5S0cu7u6H8_=RZJfAYsG8{@0Cd?p(ECXnv?fIM}fg(c4Mb_`%1-=wq z*qJOL?+W~iP2}xsfBEN70>Hlk_S2Ia-66t9pChYLOC$N-uEWuTiG{3eoJMy{+!&F0 zzDB3ylx>{livx*4eY|}@n$4>8TaX1>BmR5p3!idpxDYYL(vu1FOBe0ln$_MVx6Kyl z)Ir8YiEq!r!H7I$X5I7(L8|LsE+hCeD-7wk)VyNt%Z8~8+HS8DAccjFG=Qx6kb?k~ z(D{P1Si5&aLeT-s1=X2ae7_#Dlx&=JZ|xLwW$q%(!_)Kl# z6EKSW4izx#L`ndB?0w*g$tAx4h(kM%gm&F;^mtYahi(_I3lZ66f?s2sR@GQXQp7*VZqUI-#MC)SQ4 z(-4`4>rh}ytBZX~7+}TJUtL;whu&QMLEC>mtzGh|kWV&q3==@CrLtbJeF~@$#jnwIfrxrQxmWx0{q(u%>^HxNazMuy=Q}fVZhu zl>i^v12-hAaqPim5f`qSbC7u%-l7sR-4FFNqljO8kY-=N0$`#vKvq6IMDE(bhC|{l z7V~nw)y?W`pkH{2+LKVkfzwF_IgQ86S)~n!X-#70dSWL8GWfpU@bV~~L{y~y$Ffhv z`V|I=6a&bp;{upttQY6>q7;vKY5I2E63o~Q`w3=9dXT9!eTSX-K~;f3QZILfOiO2P zT*BYluHP5BNsLb|x6Q&r5cnd!ngYtV`wHp}Z8)Ud0)g_kcqw5X_WJXLHS2AR1g+KM zuE=a{5Sn045df0j0ZVr#;p2n(od=9GMxAUu99XP=^?>dD4K=-=6c5-l-ioo`-o|`$ z?cP}9QtxOdh^}2y&KMkWxnZ@C1(&Vx93LzW8gihNBT_1Cf2lmHXp&wX+xG@yPO3Tu za*AKZZ+ar5c*0xfhIOOX8DK{ru-{}KLyj)Z^T%mV6!kAiN-x%dC!$R#QFG~c4vWW( zv-Y5$2j5$K`Fl32nd@is%$?4d6mj@z8Bn-lJZ4XME5d$ziZPi+$ansSi_4QV`lfjO zWFG`nWaZf6$SnuetV?NzO$TizT*&UAy-1}Dxa1O;o$p%Og>lU5DXB3Nc_UQ)n_c_t(*&d1r9XKVl8054Eh1bS=G)d8(WClt_>hzocB*enfBf(1&G38rTw?kQS*Gz@;+&waj{% z#$nF_>X>yx<60NO#ZGCnhcS;WES{*NLCJdH@1e&ZKnTz0?1^ucdfKHCNLNSqeYKR^ zgUIWFlACsS0H~G-3ZBa7RNz+xHw$L^ypz)*sXqHXJIqCmE;=3pf%pYWe8`jOI2dH2nvXYLv#op zt)H~7ZvMjjsol3`vSzSb%fc0msM84vVo{J|lb^(O$7L)MQSy>-wq~6Lz%Q9b$fb#k%stO|%Tq1)}(98l8k z`o37Q7SI^g`#tMP8+bu1%<*6;q24oPN+gNh**$v}UjPq~OSxBHgVLTY2)%kQUesK|2htDmYrb4hBRrlvMwSLCLrew@%uX@4rYQ>;1C^D z#6emU_V@c!uJUkrsho<_+lHUtf%w(HR@@!Z<7=4&Fq3*pXB-{H?V7U={4Ty57B$S-z#gs_`!1{{P8X9SG-`%G&HFLX%NFTjbim%8TZCZ{_5azQaA8 z_U2sPYd~!#9S%eiYJ?rzNS-i$MjbE26LjGTNacFMI0V3mL@54rY8mF2bX8MD5=KeZ z6Amc96n6?kAY*z}jpkXee`JtNrp6|Vts5Q|8Td)?V@&4+J4uF|a%*fwWdxlZt9?LR zSEf#OvLJjS2;9U*m3=$D+71>$(+8}6foGkt8kjh_XKc|t>3uA7%Ad)opz)TUh?~L& ztV<9MnnJq@7Br@j8sJ#EHW%}V7! z!Jz+$(5d1gGnZ%Q9J-qo3r85~a7w3oxBq26X4cr^H$}9VvG4b0OpQ8VXCVxI%q9Ik1z2UyWR?LN!EJv zXdn>GWf=Pi@?|4v7=Q#lF|^g5Z*5Kok5K?4MSxvwp6A(<-}tqQf+f4XGSKY=k-M3*1R2yiU4bmcV>*yPwRgs(U+umUdNfuUBPIIB>?O@vvqyVM7r%`@Nl z=%RKrd%KH9A}8afG$1i~N0KENdg5*&tz3rm2YvPF&)zb|Jk9Zxk|Z(${9{Ge95Twn z2l`aY%EuG71I-eM)LQ1kj7gZMK8d$roc_-qvOxaWe9Qfo8CSZ>dplYPgcR(6nYZc< z1aT19R{5oYwr-&%K?EB`+G*s;BRJ>57>fC0ow@@voIl(e%K((}-hxC%`Gn3(Pm~_k zeHG9dus7R3U$b{)y3|*ns^YPHeX;86NJF_=Bk+ghVhlstE$u@rciXFu?NjD+0Gl)a z#&rA?U>|cbS0jh`^Eg03`jCA;TTUc+_r4^jy8XZ=k+IejjUL z$)1sViF0G7Bsrfk>93`g*HHgX`VH}m^b1y!R6@EK(2lQbIazyv2?y56;sHANVu&v5 z4_Q>nk?d4ZXdh|1zEYi6mu?x7Zn22lZxMs{k6VonDV^A*ipnghq)E_P6!DD8 z!ovu+JSVXkbSaQ5j8cCC$B^#DZy4xMOBArUg)R#-D^nwmHHuAw3oj_c$U%fT%(si9 zPZXboTN`0GvmfgSv0J$6xD!edOz2rx@ePS4-+@d=BpM?xIv;wctD$u@!hYl`FU1%^6 z(o;~xxM&}(m8l9C3OJ!oMLLdtUbqgOWRJLc#2?4vKfHRM7xHLUIi0eT!HqW8XSvSE z7ENAMhaA2KYwKIpp5Bz&zBo{8K>nKhJ;}DT5B$O|UUmaJG@K>a0shBcJW>Ly>e4i( z#0#3GsO9TR>H?icCP#qwfKd8S%hF$$(2qW;p(GM4W~&A5-&5<9XR!ad%$Sw*@(N$C zI{@vuf5s_%l**d;bq1jJs0{>}PLrrAI5%Pn;sS}>jHw-T^jzZh%|9}l9V za@zH!!&DAP`wBRNs+|D`4|x0*a1@d}(?x-?pks5AG7fST&^_$sq3f6q4tZ1>yNcKO za~&sU+=>6uic%I0#ko~X$Oer^OM+-I^98xl--iPpu~HsHz+WOpRk|ElQ{muV?7pq; z4~}R6Qu{%Eo|+HA>(3~=GacY&ecn9%%@An|{Afj-)or=@{fVQprAWpv)?oI_M;L$7 zx%QP{3$%~-h}&kM#jx-HSUVHs$dMz9UWfyWeYyX|#^3h{emLT}W0`c*QMI}f>f$hY}W->%H+ zmNE(KwF9_-Rp#&^L?+N_wR6m9roS{$SRmp3MA=Nmfp&7F;^Z87XmSW(^@~JPC~qQ? ztF4x13&`x-L*5t%3~6UxAkOPf?znSgr0jV9KhpfMh7&#C35y!s(=~4a)c`byLc#gq z_WxN+ZatMaPM2#3(;Z8mSatZ%pE#p=#N8vlUvL}GYO8}gDr8i=nZmVoJ>%|34p|*U z9|R!E9_1>ErXF3=MKfdaZ67;wdsBk|yXXYt@7*TB@U{A$X#eZVQH{ z-;M=R#=9)SNw#E*KPWDjK5#*bbrAM>{*bMhjtz2EdOsE{;8Fi8 zc_9L1BIgl%+PhbryNIW{&TDcZ0-_%a{J#t06~iwK%WK>V_`NZ#gHL%zEN)Rml^W@% zkDv{axTGp}8$J>yM6QTC&kecx#T;QS8?iT=sKzhHCcaQjM;+w)=?qk`2<8svFXEn1M@@2>HN0jge z4zD6mT|x8JOOMfBH~Mb-O^_&4#R-_G9IWm2EKa8?&0ROji8VkHq583lxx#zu& zUlraDd{7I0gTvOsXh~KS;rJk$nZ{#>8#pi@7lm%cj25jOZ#%`H@Uxf633 zBtm9QEcE`qd-s?<@s+QMF9AF`)+R^GoMm+Y)Y0zM-b4`kk#7K*FVW!W<+?n!5(|^b z_LwzW(q;sj5JcL!5(bSzB$f>SOdAPBEHtx+?3wSbpS-=4?OIF+f_46XATeFvpv%Fx zgM-$r1!Et~xXO?+&Y;UU%ZtE%4}h_Y?4B1kGUF-n7XbzZF`_K^JC_|#GRetzk<0;J~ zDc(Y|3D>#ExB_GZp&&B*K8OEti0=}h{{ns&{nuV=T%=r96RDi6d9sH33i;kvZ!B|u zZTZqeU6gIaK=p9a1K2MzU|6l$Y!OemgBcFO`a-Iu%tz;vtFNgf-lDT|PkIs6{K}J9f5>&m|Q6|D(rOql&RZkW#WldGPK~txQ6*E{DRuU4zfMe}>RnxkjH`nWSTr&%L{52q1? zc>vaCeyz#<3i#5V+lkM&xUG#h!u=NGVj%R0wZ0pG2kb^%)FEIf*6Sk)k28%l@*xXh?Bq4+#B~J!neNIy;uzThWnte2P(W|EkxU$ZCriHt zAjvX2iuvR~SR>QgP|=`nxr zNd7$7ax*;)!!_{+V|5xdB-uR<1UN7^k5f2hw()o(W@n~asR9Rsi3{FaZHa+LDqDZh z(r}^K{TlSh^hZ3H;Y!RxCF|BI4LggV-<=Xa9!!oK08fk=Uz9D7AHdsi&@55YxWcXs zw(z_A-p>>;80$kH2jFm({V_|zg>lKZi2pwEL{5!=9JD9*biRagpz~%_8tiSGZu@H? zbIdRxdY6~^nIgJBn{E#|DdhMFc_WG%ej9_ob92=BRpA1r$|Y%Qow&osnh$wiru#{r z+tfrIc<)>`f>zx(T0h1!NQUIOkaFkt7v`;EezdE*eRck2J%aiM!ahyvdde+sz( z4WjEuL;$4Jyw38VDGE|?WgMr7adbMuG7lIH1B?sU+8c1?B3qw}O09)84zRn)elyTOEW30wUE=`cHU?7L z=tQkMnIXnuH>4AaM0G;;&w7F;sIwmZCAijuL|jI?Z%Fn7&(OBQ&ybRu2n=A&ILP*K z(qxEW3dFQub8yOEEII(OThJos6!D_l!rQaBZ`rrM$Rs=sJT2ns5q}+EL>SduDj!l2 zyuuw}Y9h9G?SM~ax3p&W8m*;Oo+c_P}lKwV7l!A+O zVfTZ)v7qVja51a5D5PY#tf1{Nz<$HLBKsB!C^~Qe$BAUYI_SlQ*PHZP$VRt_H%?~1UKa0-wU-xsp19LxT)gbuj%yfDGzjDr zhPhZ~b`eT5bCDXBF%gFlos_udTA)r^_meCIm+_Ee=o^be`+PI3B+i~5!EjE|&}{*9 zI(GrJxQUX48#6*lIF6hxpS^uaQjV3EusFRM#xJY3?u+EJTDH%S(YrK*h&ghnt;d`_ z=KERRzzzrAVncJPF*U3ydif^1K0Ccgbjp6MgOmjK2KOIPzHrXMi)L~7hGGKf%wGr& zNtnNPSwn~s03t?SEEqMBhjUP7?6*i#%mq#X6HoNU=ZKZrjHJ?;q98 zf{e~3&-DaEac`P-zNdvvQzl? zmkws^js>@m5&B9&x?KR5$Zf-1xdd3ycF(=E13|HIC2L|Tzirseb}aHLF9jm9Q0$9< zuNLd|WglP>caOM#iBLQ5%?{S9FilBmg4KJ*Y$W7b_YpcLAxE{W2 zFWn6@2%1B{Xdoi;qJR-wsw?2(0grzcF#K+K>vkmYX|V3Yl@!2d+_4BTS$3_h}aKozotTQEewKjRJFUNSa! zjFV?-R5m(5JNiH!G-))s1)_yAn&92BeYxPv_6K-5O%&mLqsbRd&qMJnvYY#AR7 zgdpe<8V??`C%*gOzL(GT38`Ur1^On<$~Gxy2M4&hpFuBm388dYrIuS@eIPA)(k87u z0p^YxWgOCw{XgC01!VorRm94L4D#_|UhFY@=DSbsq2xYe27-3H-)3&|6X9}e5MsB5 z3s$qy2?GR9po;^oaAuJvqdJ7Pks8pf)Bb6!mzG9gMsgONUp7byar?F^Xhi3I3spSv z-6!{b*FJTfxvMTla>rl4u0R%6wh>86VtptKcK;-kHHDIT(CzQ^ExL)-c_kE92_jGKeK;>7ll_9CA1&T`mIO>P1B5R|K=Xe^qg0MBFDCyIEbOm5zN7 zjDF*yAf7ffSQW#A0hXwPfhAsC2cvn&^Ph!m?LLN^dmI+svEilPW=CA-XWZ;F^{ zKkO6;&tA0-#p^_L$j}vYxSW-wa=qHCOz`kCv7Q_bFflLsI6jT(HgI zsdOo&jO!#jZx}Fl9!t~*0ziPc<5Ht`gprtq)(Rx5FK!(ER@Lidske-ISAX6`%p79Z zq@vxW<>o-fiQEU(tT7s9!q#P*zD@<29G%i1^}pVgt-L=1|cJBjsm4qoveIe?McY=tB009A-s_$ zEo4$3p6Bl&kN+^#dcTtO@=-t>*xVF+H>d>8`D{9>eNO0OI!i!D8Pbs@sD*yB>!HHn zRQJk)bG$Q|J>sm0=k0Apu*FB6sTg9CPi+q*DL^n zfGz-xk_1U*-*11vv@`g_@v?|Pm{0OA_K5reQyjdrmVgWXHMfwri#~euPdOAj!?+<< z7?B!ZSObKf^8~49S3j!#FChu~Co!y5w&}ir6o<8=-m@+YIeHyd#4|#kI zIqc6xe|&|?Q-Y%CaPx!m8;q}EAJ*to=th6s;SR)4ElxAzwN7%l15+O7SconBFTLfH zgbT7<_kceq0SrtFa9;NX1J34HBA6q5)X*C>3ef#eqUG|l0u6Pg^CY7Z&L)l1UVRi` zZ*!D|=S|mVG!&rG`1L!E!?FNd5^;enehWG6EHP*t*f>w>Yy@MLkok;aVE}>Bx#;l2 zP(=+4Vk#u;OOXMZ8O#fCMy@~$g%Zu=oZblxKZBYakKpCFebIBMAwA^#b+Pek=-QfL zNQ^OMrAKfiLr6s|&z8L*Ve*UwKnDz6hM*Kzn+kFz=vOWR{RaE{!e^T*5gR}OVJv}3 z{Y8&>dc?QP2d-utF@_0joDk)QHpMNQVdo(+#88B1oa|1vH&w1EQ*s7Z2?w?tQX;Fg zg^C+6Q1w#k$T|ZKv}DA8u{IYpa}ygcFC^juJmG#WK3_A0WR9XG-9U+wysB>575SE4 zBPW^0r!kIqjnR1C76GldAz}NWZd~)0j<+bUh5sBn(C+FhoaA&HDSE`wBfd4Npx>Sm z+c&YB+L}vn54ctH-SzSTSEBI+Z0b-3CU*8!Ylk3Sz{yx|AFh6xcY!@ClJd$U-0R1j zYXOB27h=j0O-D5N)-RJVWA(aI8ZK<(?m>SJ-7uM=Ynw7{#c#STs}xjoAatUir+I*e z$~b0NaUcz&Yc&~VE(uRPx_B9*WlI*;^?4ydPiOi0M}s7wI%}VUc*m;Zq~O98@GV(G z8{J&Wb{$O7#q^(&sj^1?pnqa0YE?!J^}6D$0mtt?Ve8&{oHrN%{ z;eR5~eUgrLtm(_7j`Y1w6FZB!Lyc?+x@Zs)4a+9wE7z!6@q_ zV?b;HUdHw@X?7@EI2h}B$>DJIjL7=8F>+1rXch#zW2MPkwjTALIp| z@ih=X{WMmlAyFd1B7_-||Cd+G=z^n^+#z{e)bX4uM+xo@T-Lc!9L!+`mwdJ1^+xNCf^&*oA!s zrb{!Z2-2L0H!<=%`g69z4>R^C<$!s#1cGvh(P82BhR(fiL z*pc86Zx-?U^gcoqj-4_h!)H=Y!rlgQvI`s9Rc=2>J&6kcwxIV*u)#z2{FlC7&A%4- z^D%Xit`?MTZZtNb1(u|rXB3P1Z6zUwq7Tb6wkc>YM+g7fyN6e){f8atqn`Y0WGIv0 z8d7p0p?$mOcx86#b~s8l%uWY%3m!AAAAsMH>1p$uawoEw;Ki_T=WfuYVORQ*ga796 za}Z0IfS=(vxRh?hWn*2;l5#;0`TqXx28i~J=N$~Fo&?U1+-?De{ix&%_RR1NXP<-d z;c3QhZ4q-_)(4g;V(_J%u0Xb4$awC_!;MxDC!sV zQ?{dL=QkLJ!xr?5t~e}xib8@c(v?iWh*#Wef-E2f+5(`=7WhU+v=X#8&T^cKTqIp+ z4_WzdJo4XeieVq!aS8m8x%(1RwuBd?r!NufANmd|C^>L&ey-4@p# zar21h_lP5W-T0xK+eL+(paSh*ltmp~Q*3a+3^AR2J!4u%`_%3Iq?FYBu+m+Jbtw*7uQYP0pM3m^@x@D z<{g-`;~WkomM>Z#1Rwc9#ef*9-E|1f1PNC2s};&K*|F1uUMLqfEcW8HVnVvUWNNzY;$d(r{s#cZ+y;y`?QKhhiBF2Gw|W(EzkXfa_tP)iJ-g zEUc_3PB0yK(m>vP9?*1TlRMI2EmXQdBNT$jZY{|}P?vteNyUYJ{#(qyl^3_!y^k;s zbZqq0VvTRyNp3>dN3`Fr2opC@FFtUc*FRoGr-ALs(jvvBuvpQd@d{2FE^yQCr(!cb z%rNUe1W~-CNQhRlcjQ!93rItXU<{w9n((tBfslk(4j@7YGg$o*hgb#t82Ac^*8mZf zrfc){OY}Lrhnzj+dj&UllP!xA!3E@GV2G1%l|$h1+6N8s$d%0Ly^lhhgx$Ga5AE_v zu`AAh!^&J?!Q#+2LHDOGs(_nsGvi{lMAf3heEFoH&F@j)GvC}8ks^?(^T~`&zrEOq zjqxOIF?c!YLBpPBtw1*l(kz{NzmQSobjhvPhe~A@-g3NO9?(gu?Su^U^9XlUT@Sf> z$oKMMr(uShNnj2F#V#Ny1sS=GUP%2 ztI7K|{fi zhzD=I)fKR)Je(VD07Rb#{U;_xOE7*({n9fI%Px5>PDBFoxw4d8=Dgz>uuXi%OT)W+ z!Ziq!)sWSeawpUFV*&;dY=D~d(!oqrCRKO{PSy|Jjm$G(Zh6fK_>NU+(0x(D^1TPK zxKj1-#CJzC%(Bx{PH^w+m9YTXDA4MtOtuyXNCLJxQ9GRhJEp4hBSV5kKhH5wi;viD zY_bC(!+yaf<31c3))(;w~G&D4sEtm@kBk#VW(Ij5dne<13L^-BhZit}@6irWc6DLAvlO zb2+$R-ALbA(n{5+o31=EJ@u7aojl{;CtD*wCR^m)gOkUGv1;v*&tn0#9*Txu)#CUI ziwc_7-2^de2Us^Q=Lp6sls_tYlxBFkHz0Bxbd{2v7Ze=6Ce<%UrL;dyj4-{qdP$FX~A+jg3(Vg zuqb_{DxQbJ0{xf$PDaT^+lTuNx0B1s@)kb5Brv&g)oQD^Kw+Tk++4VGVnUs)lW5X_ zo8ijTMOPm61@ccSl;yT&HA)HVaa!#x-#8$22k1_v<2_Yn*BnzA&H1bNw~OauCXCHE`)o(EH-Z* zbgH8w=8X3K6>gx@pnb;~(nak$b9n08rX&IlYXyuNErzuyPvRo2!rne?2p0m3pgeD% zB!xW+alI_RS|*5for$S{?-VF2q;_WlFJ$iBNLLz8@`xQEdr)>r;u;`9_{VtL(bbdr)=RQ zDmjv5M=1S@^|BI=LlNg?QN+tHO$NE~_T@lIoqh=IO>7B9h0DLWexGl>@&3T0AYS(rdoaqt5`z>_~v6t3E&T?$9l9cf`0-gY=ii(Wo8qYYrgBw8?EYl~f8LeG} zKE43@M93w44H?br<1{N`{E*jUrt>2=WNp=T3duU+&Su;K@`Wb~ve%8MlvRiRHu>xv zC;o{EHCXW`t!Uieo*fCuCnEmC4JWeq<|*^$1`yo#6q3Nd5u;*8ScA2x9RpaZ9yDWK ziwHIv_%ruyC`q-^gZhFo(}YB@z_biMIRNhqUf;8jIk7Cs+i! z=G7cC^CXoXkU5Z-ugA=?6o~*#!11ir>xW!tSpI=J7)_$e2(Fg9m9a-m^0Qm!{+Q!N zK$ptkfPZfPH1I!k8i*K~`l=37{AuROP&cfFPnc22Bl@a8nR=IxHnQQ(K~cdTN0(0(H2DpsMmo;gABxeB-WUOZJRK- z`XxM?Ir+4%s7;`m!;OK5R>6HuSuW8-T9SYV%eQGuHo(oqJ?82$KQhU#E*cPDV2w5D zk-?8v$f)n3plu(OyM|kVdaz^9Mf+VlvzHAiSSz^Rc?c}RV`jlnxl4Q)3mnI?A_W_y zgS=GPC?35pp;=eR<$f?Wqas=ZHc?|)TJ0eFM+nX|BBl6V-%({8P(DO#4Hx{J&8MH}lsxF? z#j#1;X(v#_DLo;zn&f&DNFt`{4crUt8{eA1%I0RsW7&~?@VN!Ij& z{=|N(e%x^v^#@cpRFe+_@eb5XAwTYp4bjhfAOQ1AwS%&yI^BU+4zEnW0<27!B}@BW zQUcajUHb=o5||WHO5si8{YgPl86YV?29ymgK{qkV`>t!9*aHH<;! zrQr>Ck2?RE2%1uRKoafV)jFGT7GApuBb|j(AJQAMgWHF*DhGgCdkx1}{DuS&iYIN^ zV?xjOt)(4F_s;Ar4;Ay{_SlFZFi=0xir2q+T3(MfAVVwx0oTjLNOmQK5%VTUs?s%Uv7>Dei@(v>F3zY^LK(X>(|=TaJAm zXod-@%x#T(m1NMUw?SQ0n`_;}O$fn_EQw^vitkN5Zt}gLO*|CKalg)H7 z;W=sdA;dEV`5hd|)vDC)Hab-<8o?`QrbTv3_(eCsvr$2hp}|LKi>cjlmGG!N2j*u! z`D|6tTRVK?DxL}HO;N|yyns^BOw_t+V5<`@ZefT%P8nlxXoy6sl@+f+QCmiu$4N9= zezkOYkZ3m6D%hZU)Q^m^85poOvKrjVW4k(>;N;bYv)9+Ym}hM-`vLQIGW@X6U(}eR zN|h9ic6?*K8nra3<-_^aEZC6&a=$L)QT$BapeB2#73_-$yJAMfFf&M@?9{i`K z&m_ZR$cq9}b%ynNR!DGAns|WI&36HnvoPsvkk5|SuE-zo?WDmE7Y!Lk06Do6L-{oR zT-1GbKtsdN&Wc(mCQR{2fI3MWd3hArCj?xPOs?1A<~Y|BIVLi#}FRR>D~TBVMo=JGTRynt{AZ zTiQ#A9(Qnm3Jyk|-R;n{us>yMqL^RO_z~$BVlMwMX1j%e3~7B~SvK{T&HyixKuIn` zqmUb-KdV1L75%vyE$EtfsS-1DKOZTwd zG@OU4!3-TL9kyk3JXhPxh9Kiu-f$vlbgVAMJi&N^S@egxJP9LpFTdmL(WP3BjIwjLF2{>W4c8zMiW{T*~)%* z|CB`?J4Nab4g1|y>SZBpF;|cIQP}lA6Nr&`y?q71S70jC3P`CirK%>>l`8g41*Qxyy!m#q|kudZt=Y+Q8S zK76(cqW9>=tuIIqrwWf{Yy*qlK~t%N$%)mfXtc^-au&*N?t3g08QLu_6+z~#HNj_)WCxwGkN6SK>~0( z89+I$3I(*%#d)>_0wGhEYhwVNuNwosKF}Eq%%gii7JI@4RjGBDGlS|M(E_9ovG@o0 zHv7qFo&g_Q*t~%c*+xN=&VryA`a3II-hc%YERJO zY%1sModxK1#5G{Fw+}`?TQdd^;6uI4BV9RX29bBgd{2RSb8yMG$LnPa%ZE;uf~>09 z;dKdKVVH%03T6T*8uzQ(cT^IJ3R%~$w3uXWHXMmYPJ&Y}F@Va{*lkVTxKw}{yc7Kz z@~LZJI{n(;R(nvKWBrV@Ayaw|S8*ZMV}9mLo-Q-36xjZL9`7?m#} zJSdq_KnTs|PdlD24L6V2)87N_mE&f=R&j}G%mwv_21TEBK{S=ZNY$=j(fEC0FjsUC z!d1;t<8y~nW!P&eL_sb{&$pHL-E2&Vf~X2>*=-IHojhdEe-A{#{}ghDmx?;xbPy>X z%ja3Ouwiw7R=;8$K;g7j{0(^i8^3Lur{FbxtUtv;3SCO%3V&+v5-0+yO zdt+ITgfBg?#>z^BKs(nl%3VD&$LU>hk+Sd$hT54Q=-iX&T4Zi_yt!srBgcX(dD~!li z&D@KJJpWzD6%?;MO-p`uIYX;D1s^kAIqJ&|By{&)3dK-$I6Srn@_W`$1JHoFNyq9xDz2^XyFg1c0X2&tKBPj5DGg^7x^b5WDhU ze_V6h*Kh1!KO{LqO`_&U$pj%zhXQQDNECFztNqIu98|>F*cXDs4XBWS^74ryzlmMF z$TY6elYWrP(tE^8f0n$yM*Q~y3|lRMnW^P68%NFRG7r zk`T}XhLm-|a4Q*UxZoUJZm<6K72s;CE@I;0nPe#Y@f_|Ue=g)@JBpDaRLX|#Y7nSA z6gZ$PUZvDU$W5wiOe5HDOZD-LSwlAFE0`lsX`!*pFQB6rq?KBa?ImL!yO@`m0-^9rDO(UHV=$*oq|L z9IXMi2}cv&dc}-mF--`HHFC5_C-Q+oCof15kUzc|M81*&Y)(qjLZnIL`$Zc52OO zRrUZ|J6v8v*fV>imb8H-f@oROB-#4iNLlMn7js z=K~F80GgI-h4ThIIa%MV_&L8hUr< z!p2+nrM)9sIpb&LPY;>R8gw7Of|tV^YCfeMX(?e#Kk&RTriWbrVaOoS#h91Q1ls1; zxzGT>4H@ufaHt|a7kNpd$<^KtE5iBqM&#y*f(Vmst)`~qs7L!6auO=%`BkELeB}r7 zco9rC!k!ey{(Q=~4Du>rw=voZ8K=m$fEePLaSACp09P#Fz~BS&kfVp(zlL0yQhtj2 zCF?is1&lIsb5M3|RxzV0m|0$H1b(G#3^0m(AYdqIV#_edQnN2}&}RiBMwzXKZrO2S z$+-HGnLOn2J!HEq!Gx@T74-XbVb~Q`>?;Wc9ib}$0t__!3PSrBc3xLpVr2re84RKW z2iny3JiYU?dB}E09%Dfr-f_YR!w8T1xZ?i9eerBq8#=`uhEkwSsv3E$e2u0G&LMc( z4@ZR7BvtUZoNes@GYMv++_n2j?9qRSJF}e2n1MH5a!}lG-dF zkj=rcG$fTeIG2#=^0i7EoGh3zKKxgaF$SYau%`O?8ZrZ)%lJ4VFt(1yV4>}IhSXuu zJ-G#4cEf!19y0SQ?4q52`=cqd3|}>Y%igk11d0Ty=I@8n^_mP&U64>f!Fm5zkP`cF zrep4r<)E&xTujJAZXWXenk$>!{M#}Ol`ACXy2~YT%LPpbQPZgmX8OD`Hfh{0%8V2_ z>KQE4s||-fs>92C{InBb zO9Z4r@t=55tMITW$J@D%>QMbgS9%}>sFMK?Mbr-Lvb(BJ>~_$3&$#dE&R~pqh{uKl9r9jhl>zt{X%_pfQjtifu8pkhywKOD z%c6X$0PD|nnn|eMPtEB;kH=}=y3?^G!x5x1aRuA1MNgqN10Y_<6u&@F_K74P0IrI$ z)1|x`rNm2G(>juvkv&V8kj2}BMi!a<&l+bS%jnc3S{lVXzhBPbkEIdHY8Aa(bgl&d zevLD@EGi4YB11fumS|D{LS95bR#$-aA%tT};ul?!_mW2(74hBIgssp=aBas%Q3gcq zZ2d>mXrM}`fqn%_uDxI{Z8TPE1FK)o*IErjLk=rsPtpbWYD0;CuDc)Pplb*x3B;5q ze06u4yAV(Ilqw=x+|5&nTgH6I>Qd#)s6b971*Lq%bkLhPd#Q9#$%7Z6&IrpUgiaE3 zBK>%YUHLW*PiTesMa^3V%SOphx{t|THazstoPg6Kh5@NSyyI6ZNWzaDR=^m zj|3P#K?75Eai_d=pUZoi>qRJWbk1CT6}Kt`S<&6(CMlQRkuX!Fg|4F7A2J1=rJ4FJ zn+Wg+7SfiZVvlpg!CIo5Tp9-vliNj3_P*w73^!#2JLrM8Yy@VjE@|+aVnTnRAi}( zl#T%QzBS?Pm?+HQuc?Gm$1%9!26ojFKq`F+k?0b;G653= z5EH&pgKB-=be;s$OP?M=k;J`j9T%u9>_m8t@0V-Y22f6uewDKI^6jolQq>JTlJi`b_Pk~h5Z7r~{T;*vSQTB0o&wYJ*4PLrSgyuQ z2>)6gI`2=IB88kK0VdkKc&&->3MDZ{i1u<+VqP~gIjAS$Xfh@BV1`)gIoJ`&>tLaDC8!a!sZjL z49(Qut;Q9Js7PCc16V=+0!Gh)>HB!V+Om1XPw_5}@KlC|W38JGAjrf5t%+$DuDvCN zWsszdRjox!_&WU(UW6FPV)hq08IS32SVGRNE?>PAJp(@2qIo0w_iJhNu^eXlh7Tj! zMUZPT>N-0r<=!-Sk`@1Wd&+QyiyV6O9hTr2qtT%u-^bWCNhpS2`s-uk+wPU(@=-Yfiunp8U^>s&@c*xa5{(dt495Tw8LWr{m zQ^!~@MPU-B%zW(y?u$uWGcCYkhN3$KO-8@c1n2WE!|5S65BdAx=+7ZD_++985+7fr zmQH*|M3AHd7G*89KxohgE&J4)G`c2=T^*Ibe-IMRr>q3nA8h_z$RxVsvI=QZaZuR| z73Z`R^DxS#DHTYcuOp z$kK=@eLe<9V>39av}B-L8JS6CIiJS6ic{Nwjt;*b^Nfa5> zKn_b|s%6lO4yS@F# zstSEGq)W6l)OVdBGn6Z`gr;N?)`1CL6J$+KdC3&QU+M_3pHcR&C- z&?uw3Qa==WlSE-^c&JzIBL00j)!+VTHUQeYLu3bO%0lf0C}Dn%Tu;O7!g*6n@EIoR z$5RRb0VHHBKu)=_7dALa6NW|8J>-p@1+O&V!bvy9=%KmdUzZjnb2beL$o)ga+FzX)UiPR0P-+bsYQ-_#5qo+Dvg7845$$kV}`aBjkK_)<0l9P zg-MX4pH6j2sxbA*c-|cXJDFS1Ky0`@*awImo=ygN639Bv$rbysaGhrAv@Qp#K-2Ca zXMsk251bupqV}&c@bRo@DJCpld6FtjeG;CxR|d&-HyB7#33cY&blon*m@PZvRXDI# zxS;Mjn)bKTu68esq?km%sF1MgLG#cFU|56ax9on(aY`V* z;VD!0^!MPiavVQG2J@6oQJ65@;hTw3)n*Bmqbj)|Xi%hZszx{v?PRo8qzIKpc(g8M zL*^OvfV|C*Nm>@$3&?+CC*qE{3@t4KddQys9*owyv0L~x{oO1gC^8UP>HvAr_`o{r z#Oy@9mOS>sMe8#4k}Bu%JD=zDb{2BG9QUhaT^gSM9^l~ZVP+60=a*pDM$wYoWkLZC z+GWcOTo`P0C=TEPmNWu~xxC2m0A=Xp0_s!Zw1VsE_PbXf+*=RL17?%hl2lsbB6I{m zBp$S9zz00|f2uPeOIU3Tn7lE|e&ae@{!FTOEuP_26C_9B<*m}#+7^*xaEYTt@5|a3 znIj*-WY2&Pbg)$?pAn~m{3oC?tT*AyGG_+Q0w*4+qoU3PnEJsIUBa>hFS2W%&(;h8 zIA~`}@jq^v#nG6HIgV0BsN&t*zYmUpA&V;pF~chOBi-QEKaM9a&{KQ~^gg&!4)@? z#7gN5u-a7ZzX20E%bh)2?#$RbGK_phK-Fmn-e7egE(|uCU9L8 zQ9q%4qVa{dwZ0tfk}R$I3f`7kI12b{PjH?MoMusVU5=et>-OsBxp)$Ma2HW-e+Fmu z;W*?MV~>XEJFgbSJGMYU#X!^8mR=v>EtGV?VvX0W0Xn8Lm}%M+G0kV=!fw`gt*g+t zUyK*9^u;KD!O&9i6!;)6)-7~==Ojs?L6siQ|Dw^htX<_dC0PLoLRSaK>Y-uTYd>0} z@m3*+qh0D4P#sQV|HsZlMJU`fyF^-P z+T5z1!%>mx8tMm-_uuL{JQxPjP$Rg2O@)*Asg#|O&eCE@Uk>sS_Lw~dK8TBLV|6)I zH%HVrur|FgCA6mco-CYr${CH4h9Py*+ys>3H5(X$W^=dq;Ntp~Ht$Hy@z!=i3yP%} zdjwFRiw4M~Z%tq%2O|dAKRe2(bsxZo;XjiE`l+SJXpgE?4w$3qDQ7g=h%Mi+4u#;`{@n_wBKF#M!KSXAp%m&~U zc0g7T`lF=2=DUttk`9c80E<9$zx+Ly{5fO`69R+XZaGT$oxW*3WtRT|qZX($%PFZ~ zDb6}vKYuNH;Ji+$!}#dk@jMDyDljzh|1#thHMa`DCj;gQ*PM&Ok&Xdbw6Ks4U{4Ol z1$xR$AAuPNEQoLu{PvKehx|R0{5fP;MYSL&oS7HdyL}B{z#Zb0%^DNQJ5_Vg7Li9& z#2qo;rfLous&UVL9jhV4U^Bs4Wz8r+XvwT z2^#d6JY?+m7}>sCSp2Ytw_0g*zpW#iF!w-Bl7O+0`@aj>o-BT=%oqn&%6;bRU?6x2 zP$q-p@`Hh-1CFxyT^dR-h;ex zbCh9-&pzyoV|a_@#bv~3xfu6m6dm2}3mx$R7$|#eCpL-+9%?^xz1-|$)|6QqF!jkm zYP*d|kksY5<^k&_Tn0Vm0I&p3O9ul3y9#zmQgj7#nDbzCwC*_ch2@!F%gm=Kix)J< zQP{F&E(fmXeq&(Y<^{eqVDJmNhnzP9P^4PCBDx`M#fWE=$h^fV@DLGUA_s;j89>ol zV`Mv>>=D=^vTk*JKFyY0mPL6kF@mzbqk)SqxJ9q_TmCl+S}HIW^!+rq%{BMiG%<_v zf{QmL@{d}sj_CvJ46+6X-($|qy6qCMa}2T0?+l``2ikA?*LDzxeL%;|i%j*BT}={! zK^gECa^D;c23Pi=xrHjuh2&U9161}!`)Saj-L7puL@rZFzv}S*+pCdqu&pK&V@Y%YpVo%OTI}HaN6!^yqejlj;p~2 zJ50Nw=Rbx*M!4ImC`V-^D5Ic1L(x(qZ7Cp)1Ew&zIppB8#i|9S+fZWE*E&G zV3gcDz(9E^&!~zkL(6yfEYxusO3dmQ2TLlJ1Uy| z^q7aod{2MK^*m#?J7BU7fZ5!{C9G372KN{X9@GP9SNoK-S7s8Hx#}+e)^aeavvg;r z#>i_h-l>!iEWvdGPSAJ+J&9p^dos$CG+^43X|g>UEaXl!GxZ9J8^nya*T8TE01HP0 zKiz8AD3BONE%QZyV1bCQ7Om7=67QUB;4e#_QZi9YZ0*aKU#-gMC8eLF0n?sTleQfg zjs3tVBm0j?gSDs0)FOq20~)McVSL9P!3C( z5YLHq%}D~LJ&7iLBU>}@r2`%zGhU$n^hKAcySvwOcsQd6m8Zhn2GwES7;{uy>l(@jK_J>MPPq{*K zgFu-VqsLm-Vt-Ip9EDoC0v7KNGGD7@=X{OoauO!~7yB9=k$i{ygV$*(g8k zCQ(qzXNI+pYjxS(GvI>)(f%%|ne$Un)4utnXy(ZT)C|IT(^U*ar$j8Qv+F`e0bd2P znmlowT;~M0AA{26y)e1c{nF^30UsQQ-D3tlb6m}ol()L-Pnv(!vba8mcT?Mon zS&SZ?X(DAowYVvpuB#a^|0qbXp^pykR%4fqUaIxrVDIbVUd<^@MExn=R~7pGw??T zZmraf$OgT4!$^gZ*L5~rc@U~9drjRNbigbMR#AUinA=h58UFyU>ad<)t5zw&wDE8x z{+~`WTI~(sEi<03VdfPv+dsUA@MZLf1%^JLQR|ZZ#oIVVE_BQ zJoi%2|gsowM=vl$8X>c;0lI zGSpu90~)QJ2lgII3p-=XB;W|pN%m$hAwsK|#PfmR;UiG7^66(CQG2Sb zR?!>blP>?MYWJd#K&1l1EB@~S<~pri;{J>-#|xPuC#QkO2L_i@0bBBcg1eBx618HM zPYws8;MtYGf34Ca0Ry@EYySItpFPo$g@#>tq!mEh*_?E7l2F1DIC0In=mCc-WH@mZ z%Eqkn8;y$=ky%}P$Vz{B3*7tc&*)m;kBp@1=?!(32ro40rnQotW(;m#i3Dx7jPfsd z#4IB<5-Q5kzGmo%WJ_oqFMy+sl}YeuSap#kVEPlxHFv9byHN@{q7C(MYt^aVxBvpX zbc9tcSt;a7_LX9nkM3Wx8TQcoEONqSoKM79DGwHDH;|v$!ggBfhoM4}1WbQox&F6^ zvAM82ib)ooWghuD$yL3gM4Xr+6EeCQ6rXFDC1)XYGXSd`Zt|)V&KSi*o*r`lL&!KY zze@ZGC|MyhUgn+0gG;#lF%G?)tPbSEa-E9|x=VE+A_N-0U{=KGTKqGs|M67UE+f*e zc#V(7@OsLUfa%XY_AV(4S$at$ToYT%Tf7OF%33-VEFT|5LEzy^P=39Rh287+k%Oci zOXgU1-7U=9Tmae}5bjfF=Z*d@0T}Yo{TZhXTam;$87R21$(npdaT}t_tU0_}okJJg z#6BqS_l~o`r{*a*D$4}g_h?f-mffu)t)d{w{0R43t%3iikk{vtI)bi!5)PWvUI5kIPrpJ&LWk z{h@<|a>Q_5F0_x@nlMWMMpM0SFCTaL8^H^7j}HZK$dH^Q!wJoc*b}o{VzvnC;X29a zY~b!-kC<(vz^d5(Sl#qqS|W=c!~tJx_m?q9lK2Y)>c_G8T$V`tTmR!~SxZdBJr z$>^wj4pGv`byoFuUCQ=*aD$!af^`<45((Tc#~778IV>97^8qI=L`V?WHSdtN-&lg65u?o8O^m~a){a0s2V5VO2G2hHp?NwkPj`~es+be4gP zz=fG)oQ5XtEc9t9!+HPMm4ZTS&@*&0 zvebB*XlXDTUXB$-bT(;>=;UiCXWtx=cg1|#W5p=FOsLumsUgDx580DnyI0C%$Gv4f znAlWmGHxL^4L_?0{46H3-pC(o^bV~T63|Gp)CCrBZZjh90_6*k$d290&WB_-1N6aw zc>Va7F0)Q-ca6A;L|S>jknbaCByfVJ`TTs?CRUjeG#n+$lGR2bo)JB0 zPk|3X+p)2DR&9P@oWT;2pDxOpZemlG6g8 zQA-?Y3HL2~o}XT#pyy$Y(58LPZd;Lq=fH=eZJ#^Q4B?^2JpVPD@TvmWMp{CRMJZUeMuR((w~=-IS$HqdFfJ{q(DDWISyTqmlK*%P_v17fL^iM)4^Qmq6f^>{RLbWqS|jzDco@69&-1P=f4X%yQ!XC zSdyhWX9vu-1eK=$Qo*6VZW_2`)o@ZPVIdCLR24J{2_)*TAqm$F{`AuMt<4 z0F3==@oUTzIkwHpWYU08lJnmJ*~0#0MT%!VmTC;)JZL&CJXi$xwTo@7EfHHy3(G8l zgaWI&Li0h0#E(XUyrGyS0As&+_!{%yJ8ckU5W!01sn+;rdTLoGX+6(o$UE)Mh@Rz$ zA7=*ie}Bw>@3aA<3VUS&?#&r{SxLahgOkx zI<)A?Q=hh-P&R!u_bxH z(nsKGlei{DmaYx>78tWhN{XTInYiVsi#HkNJsfOe&gvvmzpu1`f}|)+v)|hl2Q$B) zB?Hr+liRri2-6GV>0*C#g#aRHD{OayBsHPCsOQEZ`@r8FFIN;C=80*pXf%KjC!5EG zDk<=-4%B4z^SySaCqhFSP0Z(vE=van&wzW(8)@6s`J0x^uJ2*hc9KGpXWhue%?%xl` z*olE!MSk$>B1Mg-4T~Z&A*>t-4|oYhzd8EhQtx(WfpD)^JBUoFU5y>_O7}LQ!X6W0 zMP1R{*IiGVAqUQq3vO9NQ&-T*Ghv_ipyTF5+mSmiS(QX>Bb2b9z}J7O;()7+X9=QU zRPZO}C>=s@A*Nt;=7QYfJ`34uRaP5zgF_8ytH%^m%oB~){=?WU~(()`{zl;a%$?z`w zpTeHnigIpHng&tSlI9!8YfIl^i1(t3!%m`A_DpI-0thbxakY}JN@@f39b$%eiyZFK zeI(grMqhSwST2;*j(!(r)qY1O&xH@+|6KyFJEJo0=ze-tGkv1uz@QOI0Wvf66EAsp zenF^~cDk4cXe5)Qtm2qkrn_PKNCq)TT$T9x+wL+a&w~%$|6Rn`#B8z(Uerh@T5`aC zg@{p%9N^192h!ZV=$1hO4xp^;4Xhrr{rf-(fktM3~_VvH2ByM@1C+AgOA4h3r!U$oidBoBjgll{51gNjzFy0P`0|)N z3qF+pEh~PWj3U8I)Z7K04FCo?84f`rrvz=P?0S+cbgxiCM?t)=UvmPA5-nZ9NDFb) zC^C<+WCvkNu<`?OWS7n{))H$t?bL(zEI1xna3j|ITO}G|c>BZI;K1N+Iwgq`-vCEc zQx=0xQOXN&M1!F5EUhA+;S}H~WK8$G*5G}0)NPg?%&2{SJvupNV|L!rjeb_c}ELZaDuKb9o{-ZoZmCJqLKJ9Me| zu5a$LS!yr?uz2aMN-#bY^$Q1{kD!Svx_{ zg%zfpMwHNGGU_@kVC`3IJ-_zxQSKoHFd7-2gMnu*osVz-SZ9Es#l?72qH1^SB5 zVk8GM#-pd&)f2xog5b#tPNG&gF+`>sLEny9eZ>8tBI12MX4G8@uy#y27wJnd;Z_`x z0h^!Flq=o(R}IPdN%p&fi1C=4$K1Zg%zkSt>o7z81zalhrOoCz+>(n^DUcTu<{X|#ZV~7?Xj{^gSF>y zKS1PY-}TcIu)r+GD#p$Qu*eHmS&-jgmdM1DVpt*bE*#8g6tefIxRqPz+%bx3jlw+S z;USO5Y2Jj4R{FpKk%bt8SNFuN!cC&-!pc|83BxKG(ehq0FS<&j2v8psXr|NB&5W&i zJI3O~tT*jPmRgxN z2UhHl`BgKUCmN8;Slk2EI|gUZ0MFz7r)mTZu_N}B?d!RaevIa zGQaJo&em+(CykZ2MZ%qd^^Fw|SlC;23ViiS*$j0V#b)3~j@3w#&sd^Yv?HJ~V3tGu zgtOugf06?|V$Xk%X6k>67>ip}ml4Zr(lC03JUJPOQVt!|Gh}3C{m6Ft`E-Tcxq9vZ zDi7K7-@TVg0AN2thK7Z8G?H1CZ-fsC($LgGupoyZo_5pPN!A*`V&4FC)_G$SXl)U1 zZ4~msl19d@_by(8&l+gQ(bnV+Zv8qJo&fL76gZX7W@^WT<|vcTz>83nG3~-p3AR9h zeAt536)(&ms4AfGAYlBCBUdw2&r84Pbc7E;=8w4UzNPozA$$J2H&ZEZjE7kmF$ic# z@19A;8$dYQ6cyZ|8Vw+I3O_pmBmlf{x%k4ss!;YPB-a&mDVa`BS4M-HB@Pu1!~DRs zIK-FicrKm+$D`2Lp{2sUG|D$|2aN`THO|r^aO?}e$~77Q6k|O(U?o@T0#Jh{rE8U@ z3DHXc0M_D1t>vR@EuI0#BLi*}Y=+>D85wp?DNv-gx>gikE~@{t!yAKmm$$ruVzIp^M_Jb2?@OQJ3GmUG#Q#u%esUoyB%pzGQNs_V zzd7sydBF4=r&QKgxRnPf#h!Mg%lpkP8+*dI*m==B?9E)`jN%D!%&%`?#f{^WDheVX z;@pkylizdp`{K!(#CSz<`C3!4X-6ATr=}zU2mnwZVWgjufx=i{-b9WC@#cR-Mp_Tq z^WVJZlCpjCCA!@D>Fy#3~=F);xaO573Ho|@T#yW13p=R*ShGj zJyQ6)KvVqv12bV!5M#90((BS_XR9pCL-q7`Utrp+{`c3f+=^1Ye%SbCol%?~E}B}v zkD}3TcB}m&Lb2FlkeQKF*N?{}z&jInSXsl2x4E3OV7T@k$718u3Z{wck<}B{CcxPO zl5@ybBf^HEvt}6;X@i~7q#`G z$IxR@jr*I8J<6g8gxn6qYO%#as71!Z*4KKEMy02b5NRzTG}$X;CmuRnU(j zV`qmOetFCvZ=YP;3X`)cap`pFXQ;-9W`*yND+q%aYhB+)F*lid)3MS9rG?Y?^`PI% z5`&qoJwl#4G#UiKDnH5$#SKuOx<3lLhKObWObd22s5Z7{XMi-I0Y5J}DG_Agc4JAQ zO^w74Pi_H&4i>WVZ~_sKKNY;QQ65jk;5D>T|d>IR!CdQ z&kVpJ5MzIYr^{_a%z0?cTk{f%WgnE+8#om5cyz3r=vc+4V-3Ki(b;;}c?Nb^oOmXk z60|c8!Gx(ks@NPJbcNc3d$Qh$xIjmkX&tfO(P+qmTFfP^-4p|Yv94zFADhUplL06M z$4lKGJ$P}E5^5-Pp~#>J;mr25$#Dve7rSH6=gfg)$5v37j*j_*FoOwmU*4w^;0fr; zJfsub>k`(?tX~wfBw}?2JQIG5WZZ*T&oCO|QZNBnl~-vbK^UeT_mKb2`YIn5GR!yS zJwCu*OSu11H=@)okjWX^yXGVOXm;1_rXiJubcA~1H{HuyC`%A#K0Cm=t3TTYYr=B_ z5*slFwU@AHGJubfloO}0o|wKU>A3-8C_yivr5lo9^QDPpXF-lJ9BM*$FB}BB z;)Sl1BFucYfRKuw;UNizJ=D1%;dybI`TaGeNXWKunxPkkfB-C7z9(Q#tByN@vyrx4lz6B(|jNh_EVdk>~v=jH| z<2-L(+60_YQI#AMnG995Gh!F*3yBdN`T<%&fY7kw^iIY_tu7x(>gfe+=-jN++&$uZ zKC$$$dB*k`9?)wmWin}7iWFj316ZaU5>eFtD*GQgKCWG9t#zqM= zVZE8f@Y5fa zxax!DK}$sbn7gOIN81Vn?jvRq3|J;<+T2h%r*x+OBp>4JP_zWh6jvRIN-Nocaa_xu zcrfd=U$Dt=Bmzcef&CtpU5|z`MXELV}x01Hlt?KlLxJitGSq7?=awDKt}lxcr8yX{z@6 zZhR9|6k*^A9V?6C!?^c2Ee}o=MY2H5aJ3g!-$Ku82--aZ&hifR30j3T5s4l3bl zU1tJ4B>tbo-9gh9f$h8v;xxsJ)WPJPJK{A!17C>B*byym}@$`WZxM#J4~1MnO!=A$T^K@ckC3sCmES}$P4w{N5}}C^9`pfIZy+jRl@1qb!&h; zu-)v`MW6x85{-e`>*E;IVTk!&^0y7Ri@p^jD3N@Z(3XUt<|=*t?@`xLk}^AHq1&|3o@j*A%) zk+=3;1^DSTLmJA3&w)(e&|59qyVuWEc>-k(a3mTj^g~*kw1af4r=~t$3qV_^ z_CJn@i4G1dV7&1DDa zprO2GM_7G|U9T8BpydT;A^>)|&NKg%y|!$UlSce#W(;f)$13jKR1`G=X*ZXpYl`CN zTCk1jG2e^+zDapQV#>(01Jy z73?J^qD7~)A{cPp&{eiJRu2r;Q1)uTShw>-rHQ+*!MBH%h%$_+sV_Cy+@$h)7lbjnx8#U$_iZ(GudI zuIbuN;e>l$cd%uIFQ24R#Z3Q$>!nlRPHV%Mgr#PL`M&-3m^~FfmMK#8cs}STTP(O3 zfb>{6%-~}gkT=!uL5{S&fLtg;32!9%j-4Y8OmPuQw%l1Iho#}PD24j*D!1qg?eW?# zZ~!gyn5FFHF?%X(&s6x?6{3TUn@VCgih~`tJa%)Stphr=Or}F>3Uk3Ny;9hqFF(R{ zHfTA}M+5`i*UdqJdPoYJKeRbPq9FD=0ZLyWmcq!x)5`Qz*dD2H^A_6Qg$pylJt`z9 zQ`$_BcB^n*RKh^2yGNgoIN!6KnB-hoU8fn}nJwRAU@<&($kneYK9*f9+l$?>XyLDnon7>y%KLZ2C- z)r&#zAb9&kp#gNCWN>0bv+pNCLBKb6d5t8DNMEqkQ$sJ}rr7H-mh!i?kk|)%%$^A! zxM2X(A2Hj<28W>!v?m~;$dM6K5P1xsuAzH_UiYB-LHU6lz%@!@(1L#}yDVhsiJ6MU zo)A=Hoef0yXs^K)BG|?}s-+pStRBvgoX&fnIq-SnMg& zcOx&9LeFoo#mYVFYoXG8#!;1{$ExMrj>_(JI1?NHI>ro&_oPEsf5LSx>_`0YtXs?Seg`A&cw!b0bwqYDby;(>h-=G0G0QH z1+5sq@1sPjJCZIlv`Kr0RV5=gw;r<3npu~;hYS|S2hY3O-noJ>GHc+d^RwdH6DqQ>S9qtNvR zc4e+gzQ{8X;LoJFx&fX&Xwsl{3g4#%Y!o-3g3@K=7pb6|H-s9|+iR2x#T#3-D|Or3 z!{b0XjOh%ozlJO|{o{pgM!-vo_4Ir!Fs)B( z)m@%qk?RPmUk%VvxDE%H1Uuwl$@5wqbCT`#EQ=-svA4pWvAkBFW~m-CSrFCB_n57m z`pn$cMOL^(i2Y|??&NcG+7J}b>Hj1_Hk7@PC*+ATDV(q4jAniks-tTQD`&eP)c}49 z{$>De=*R4rQr6|`QSHtOd3wmV$DFt18GEqfIKlgonMqQY0@}K)e~a-Gam{A=448DF zlJ#1tSgV0DUL(^xc}*}HdRu2m;0)Z+*eCPZNen)%i^wQzJ;-gNkn26<&2}D>BRDPz ze28jJ4;dtN!G+AhNSx*%IRkdam2#7)&(lm`zzhIpOt&oKRV{c{JA52kd=wIiSvt%V zj~V|t&x0{~%o(sQ&+xdDiIGB}Ru2Kwq)*4>Uw1`Ru*ROGX`{kwU)pDAwHV z*4^03(&II;_PN~rdL9tAn0;laW%}jV)+S$PNRCx5JDL8`VWFY zgcOa%MAMy@2rl5k^Bs)EgP!;2yh$mbc&*~kV19!H@1wdDfKHro#*e|Jc`PjpzcFN{ z17`HpM`qN30xmoP<|J-gW<}>@61YGzL46`Z8!};chAL+=ugWee56-(a0EFz_lP)OJ z0=Pjp0)%AnL>Q(NikOXRNyq^uf8i2hxkq|(t4+bur|53Xv%5KJppCbWFu#i(VH`NP zantH-9ggWSH;*~q-@*-k1J-3D4_a9abC$WkTC0qYCEo(T2r(DT4!IrhF3%wQ&Ve1) zv<`9S&U38_desWCVkrv)jOpnIHU=+YUE~@8QP*?s9`mh6%60*7V(tUC%EI&ztpCjL}})kD^gQ>cZmDw=6q zfPJ;*GAPUYI<_RwhxheW-m=+nO!%bvV}HStY9RGhq@RX13`jxoa%sS>q9bD_&jvq; zaVTg!mNVhpL#!Dz%G4OK$F=UXBOTqOxFpYo_uZ8Rv7P2NFb&TA;m)d>%BWYy6AhlW z+vK2KB;_cluK?C z-WV{TK0Tc@Zx?%(ZWFTx79wd0zA-e89<%4d`>0z{BqOfm3rV5*k0uRs^z*>kU8p3Q1Dx%w?OU6xE>+*7EhHV9L2Mn+9!y|~ zM}AL`9&`7Y$M={S3!*E&{v}+J>VC$yldh|I-H)rrI`->i48?qRq_xbp*$`SCVjpdUj|+kyXC6)luUX`2;Aa># z%Y{*3XTK}r%98t<Fi*sR$2>Ldx*JUL z5I?)vwqdzxFv?g77Ce|lO_GkP-^|`ibhzFuG1ZwxR$u_sl(*SQ9H^S<(AtZ}zL7_Vc zL8s!ymnbO4U_JV{n70$gEHwzx%lq(r{n(+P^IfTomU1EbR7YCLIms`YU?}*Hx|GTx8_t!q5shIe{fznZ#`ryH zqgL>)r&l0hgXg2OpksXzqbVyPdeB=33B7SP*bK&HNjn)P`PqPD)90GV6co1B+0cA^ z-c5A#)~OLd$p%Qw)}J)aXk!$|@<+g|l$gAf;mX-0z=mNi2xG*v?J>hI&Zs%v`E0dG zJtZ%z@QELxFRV&d0z_l?J>;>W4Kn%_K9aV_I(^|i#53k5hE~T*M43UNv=S&W#mh)4 z<_l2}*^7(JXz%4Z%_u-KSbfKKX;x>~#KF*9KR?;;+Ww!lGeL6XNUrFGz_i$x`(I4{ zzDFhyK(sYw!{&&RYRH0DR%H10mvuC{#~i<6K2-Vv*@MVd0~uy;1il$W;jW`HYzd({ z#=Ma!A)a8rji|+QHb`8;a*GKh-3tB!TepBxODWk35T>H`!>ny4u8%H3R`T$m_p?!s zV5BPgKN~9qZ{+*%5}26jKcq~GT+VaD%L&myRubazJi0Lh+ryb**o8%!0OW&w?%Jl@ za=1KjyIX@(O#zwK`*2K;dC!0+++~EK&t26e$(O`E^Y#R&7RYtGZhVRq*>%&0Ab*vZ zvCMmll(3|=S^{QU^C=QYA^Xj=9gT!>ThjX3o7V{#(z9R*9`v3C>tTw-SoC-BXcxzi z$GJB3mwTn!n~JbpeKr#e7S-%EApmzq1vl-`Z*_`OUX*t4trbiU@3xR;bzk;~q{`q&TpuLYY73d+ zm|aUgB=}&@LsVDDTSAz=s@-A@3s(xp>H9 zf6iz7-?L1?{)gwxRxja(Y0(7)@jfsGg(}4E%n{ZaHo_D_RB}^Xd2z?tmuFdK;;!rE zF?%B1b@g&Tk=hdKBa9a<=LGarP}UM$6dEjT4Ii&zowasIKX$7wid`}JURv>82ZLS4 zk?9^VGBvn(`g{(AGms=)_?0`*tzXeS=&t>ZduZ|(c)#q9Mbgo^ioqU8E!ux)h-nVo zAdy*7Hd#aEXPtt;4-*h<&DNqVFk`y%s^3z!pIC$3AQ+a^W{A1s3hOa@Cd^-%@F->< zj|5F%7FIU~&Usd0hi*0_4Em#hQd53xY1vrFOfF+W>%(We*dk0wztccHTCD;#ZX!Rp zhzai6zFt93gn3VdXH+hNm%x}9MreK{^mC>hLOvGbwBaDe!KjJRRu%&!z5TX|peZ;t zN-{{#8QGr;DR9NMmay#htr?&S<>M(}mr!ddo(OkT0sG2R#lhm3OW>VE6ti`xl@S4! z8zjQ&l&`|(5}Fg_pZh$6BuNPk{(dV`qacsewdX;p99c<$&J-Z7ddnba&7zpA=fS+^ z!G3_&L2uw41iUdJ`+%?W`x#&fBU!uIgvzxt&EBb!#ir}XalA2K(lRUb=%`Al;NY^p z%JNxW)&ShkP4ivZ|4832MEg23n4vCCNn zG^LRBw&RENU#e%pyl26ZPIVpIXLfLq8l-7d^6ICu)9)*2R~Vd8Bq$J8;T?Rr_6?BpA!i@e{0(ac z3TH;MfRApCAzqWt&&*msB80#GC<9;lOyH32m)Ws^`JoyVy#~(_3gK z5TXDEG8(#$;+x|FAPoKnOL-b^yH{z(?M<5$X&()trF+y1@P=w@H;5}9b+WUIu>uNO zvN2+Yw7*?}9<%4c^3@QYN>OpX6Vf#plfnG24(7L)5YOHYI9m*aj<0={;Wp)Qi5~|# zYg7bSyN<=~M!}Wh-fPi-tdsAndc?qQ>B9RU&x7_v_=W8GpAK{y{BV*(txymoFn7mH z2MrZ(vYqzBQBgs_R6>Vg8K2aQQx0;zVgXsd9As`8#ItMd*`(OZDw@3g#s8&{sfzS# z(Z?foj%F71GBz}0(XHU5ED&S!O!x)usR!~P{J@JecrOO~k_DVe8t;u6FZVO@DHop^ zU>SpHySXVsKN60w08tWzahC+q?v9ldqM74q@e9W)vQ4hmLC@y5{h{u zivsPKA+B>|_4z`)`n}OS4}PI!#^E{Jiwq!89g}4BxD?c`-4VXo=r|2Gnkl9T1ucIX!)f)gfJj3l^=x?>g%vI!Z1MaJ{{t zAX{1g4j0~EPK1kB%p^h<{QshfwO`@^#wfzO)m&AI7~*MW4kC!u4ooV{w}+h7&vLGU zCmY3v1?wF!w(?RL#3fX9CeVTe`oNSuURw(l#AK*U_dM8+N8?1mQZdRFmS!alXYjIZ z$E#ZM222z41Fy51&zi)6hy>Fa^(g|~YnV>VxZO+Z8Nx+HHp?%Lw^0~6cnZ4wHRyCy zreYcO^_3U-_<~q4X$@iPz5)G9{|&>gxKLlvC!($-{(Y3u>@t4QEdYwHKT3?ua)`Nq zHG~Ic7OH+xYN45-yfy2hJR&G%-x?oG$>YL?#a;m?mB95po}?1(J9jp-MdanxT>%ua zc1-8_-l)*h_9+ua#RWRcWqS&0GLY%N1{^0O62C6C@zD7sVU&H4M4yB+`vj+W^|R&?16Op& zTGw+%<;_Ys`tP!~6HHkeLtD>y)!lO_wM@&(OR;jHXqDBj{bMUBuNcnv$0gSw$uKC2}Hwul#6u^T&g( z9(4N;gSJeCP%l29VE!5B-Y=n4H)cjzMvDT)oVt9f+&zbBMsc&ghR5-(SMWBQFI|c7 zYiM3h*!Xc0)RGWVrr5$`i|rkQetV@L>jl}5GarBM4cu|;ow9!#n|H1{IDF+=aPr45 zv#wd&w$NHvozmb}n^MwAYzSH%7CfkB$|QG)MXzb7jLM?=%AgbmPn1C<`jueto>$OH zb7=KN>lc3o6H-x@qPO`o7c0k{cU#xS2S!GEGWn}du{QAp7G+t0@sIzR_b3SpF@sr1 zg4MTecE>U`55?spQvPtCM3D@)F!9nosZ_KA>}U3*f&hd4_Sr8}h=irsLWMEby)ixL z{Uto<$t1a(@|X}cs!+W&E{F^}2SY4-q{69H85J=L!l-V<_Gn%Le=cMNNr{ZxoEr_% zxPbe}ZG!kio|}Efey;@Q~{Z6)jMbS4q;7$={tyIdm$KPT@ihJ5h%sOXeLR z;5r)CkcT5h2jl^u8&KjUDe|U>6fqUpZY z$C8uDUnGQbl8^j@RYL)3#!jJP4Ysz&G9tGAoT|f;!y7>*QN@B_4*#8=GD`E;rveMY z@@!DZYjZ4YF>|N&l(R=X_j}`bGV-|=#SjJSJ=#QpPC)LlAE94`$w=*V$ISeNRs}~& zCYy@ca@~&()pS~K8Qp&tuE@2UkeW>XYOP?p{zS)sht)!1`B*h5CS(z3m>fYF6NMfP zH-uLUgPV-Mkj@{_c7P6VU=Q35s6!*lPTJ>-k(Q?VZPuk} z?gMiM>DXBD;Y+y8BlZlqlMk$YJ4q|hn%RBE+kxVWeXN^+|c8Oa@o{Rv(xQ zKFdSfZv2l|&~^?kU(+zn?~+eIT%ch5l2&KiU{`zQ9-aj2S0#F=g;-xB0@5}4qGuaA z(6_)7L>uXoS<{K`Gw(g@#-Z8z-N6>jZnH?e%PYldqK2Z!(wF6VMq;MFsTbwHzK#db zIvmrJVEs;l0E$3$zlU{7Wr+t#pNT$iQ&CapQe_#jsix6a!5Fn_+-B*pFcl5=b8hlz zL(NCqamDQH{IVLTTXz75#8bPl7x7pp3(7$by&}7XwCotT}m$lswy;olFg^l(N(ql%1rshx2>CDLeQ`C&EBGjozRFWQH}Ve@G3d!d1~0TL zcyhUuYGXNIuSM=caB5M+pMu++-_O&t;4W}NH*_2nAlZkK4#O|xx5P@Zx3cr|K=jg} zAYz_?BfHp{05$Hl6^#I!SUVLoidjH@l%ZwuxO^rBEdfqpZ{daNqd)(*CdBkC*uFCN z(c-KG%1e$S9+LEWDmDVpcQ_7HNKXBe_%9>!MO_v}9er+SyRt0iDy zh}beMU3R4(ny6)ZBHUFW*!KP&4mprOLPF3R+qAk|J}u7xDC-j1<|V}a2c#kpF&gr6 zkLwaEN|v3NRu=bvEtF^2JZ=K~FWv2+;$3$X#CciVu<5C=@5#F!r1fw!99M-UrT-C+ zk(lWk>^c)MrMsDx74S?F@SH==Jih%rXzOsPrIZzc7mozU4%VA2r>%%1-ixVT8g^#F zQj!sI&SNGKVgcJ1!hrD2*A@o24Pt7na{vH<0ip886Cvj9W09XuRLp=y=&(mHMxREFqi*Q zyhQKPQMpxpDctA3hMcgvxUjD7)!s%?f!&(4a?q#_xIoob!7R3r?Qm0pwE3J2Y;2&R ztEy`vO|WYmIF0y74s5lZBtk}Xq%H)hrs~l{jvjLVd&qVzMA%bEms7)m!B@yg@eT<( zC1H_T1qeo2Oa;Kc?J1uT8bczupud_tVkUBdPKSUi^14kCqq%_B4u2dv;}Mes?Yr;i z;;5|<;?WtA764!fcPT{zXh2IF3^svj+He0utvYK^k0$a!VoHjJmh9x2s*iV{C8U^H zH6eE4&lp*V>Jev;`0o=hV136vaH80Q%pjT1^|BZVV#vUr7j|ZQ+HEL&cyu%vnnmX# z=~5i4eeyOiy<`GnPiXxlz_Y4n?J5x&Qt`iu`HT}~p;Vw5@V~XpjPhD%PQhJ=AkkAD zAy5mP02P7|{4wLS)tXlnS#AlPkTC{^*X%JT#@!yW)C*hs`@sMh%>MQM3!tQHn`Ba4 zlrp@G1W+OZiviHsst0^mpOeu+7r?5jyuKc?-P^!6oJxZl4SWe?Z{SiFpP#>tJgO9A z*fZ@Rr{nhZU@%8*G$LqIDDXYHzEA-uKUuRw*BWo~9hSrcdz{L8L+Z)kzw)NRu!%99ifr1Fsx&DKLyrc}7otG#4C|hQx7xe_t&)(jA9_C-w7K6gM<5sn zYz*Yz26P9on>s4EY(?Vs5c9-Lf1WcEP>oB9O^MtZ7|{)8`2L)+=4HD^${Hf_`NI$z zzj@5jW1jzE%)nX^+H9g0#QvC%01V?kvr=8^p2cJ44Fu}17jPgYA3SE1O@0LxYV-^^ z_hRmUn}kL?hD>Lg@F-Z5yzjXpWm-v)`tWwrf?n8&^9?l$gMNqn5BBi*mqS>NA)s@ffb}|1MzpAcGpmC|>;Qcab5*L{`V1#ysLA*$^*_8jm?DVqAOT zx~`$p))ld9_wH)GXnLFu@*J`WMVcNGTJt59r1lvkLQL}22}Xwn_y*-NH|8BO0J=fr z7*Xx*n!wPUUu7YL?Ka`Z2jmr44b-K{`N7z&QjW1gcYDe-?T7SdCzB}-c(?&;t-7wg z6%85iegcHcJ|1kDb=gfymJuiQ@$6jTJx*v5EHWJkUs%oAf6+ccbIe^KeIwK7<0K&5 z>t>d83|_6DL1T>b8#HoE0HM|&Ix-e(0LT%#@5~5=(dOo$*oFU~BBI_NOV%XV{gPOx zW_VW$+J5{Du6(JIvmpgoa)S z3ebClg9oDcc{5vuk;&I+97mP;+F`(y@mI~g4Oj)j@tyn!ua^26yA-F#> zcIo^!q7uq^NOgfk7+G>bUz)&xGX&I%GMyeX3ZC?dAEt!Il?gGf;cIMAnnla@|{I8$6OPcmlz||HJ>Qj3ns=XnGR><7N6tHczt4*fh)#RoIU2P&ae{kQ0b#FL7hf@)&+lea3~i>W>{SHy3+$T9L)g@!Ndt~ZdE{o z-HMV77u!m`@^Xuz_i&xGCY;p%JqEqn8jh`np|BD+@|9#zNi- zje4Z8p@nt2=$bUGnA9^Xr=enmiaawo{R9y8ZFm5?pZ@|YfZSYbrWX*$xX5laapnm^}&Zu9@|uGzAs@6f^q}tC02POh?k8&DTZD&p=46q=JZrD149+a7VN^SVYpal(QaEW=)<4ch}5%bj@U%d^*vk zuu3hiZ&s93Af;urS?9vZ+?6QO&Iur~B%aqoK8srTDMG+`PPDZ7cMg+13+_`;#$%`J zIpK{nBo)T#BUyz@^yeYRky_kWf{7%bF|#zzEd`hRG4ng7=>_b(vY9K*1lwrc+L%v?r+l(QRee$5mB?}!QD9Xf2>4f#u1!@Icekol)PU;70)P3 zW*8kRH>_ouKa#D!8otJIr<`nllK0!$^Wg5BIsRYeM*pnpRMr(#9`%-Wq?qiLek4Nr z)anc^=k9U}wC!@}OWtq`T2iz<0aVMbMIV*Xm-gE(dm`Mu*^V_5t;OjU zC@sbN&#f|B;1Z*$VFi91nrnd8U`f)Eo&^B?lp6_DOsC<86sd(z9q?8`it;hHL>3nX zMNeKU!osY^%ew4&aM$P&dhaJ>T6@^b_F0GtBK+g!#(R0Wmac4YBrBzn8#Cs&tUcOT znejDC6{kp$&#&0hLan+HETBrvzO7O9=iE^H^_-GD5$@KRsMQ?WZUlfJU|S>Y${15^ z_mE#=LEtD%kzZ-!kY5tWfwA-L3I)i|Zc>oLuKDVHcZ4&a95ICySVSi>$y*TR-ES4} znmrNj?wNKlPd7A*Rt4Y(_A@Ln1^=T8M0q!0ST_9PKm|O|u|*^?(dKzB4pjWB^pMIO zG_^8Hx}P{B;2J;>F2M-(^#=!EvnRs&)es)Vo@J_OH8Ju_z^1iIyR?#$nx)=LO>r>| z3lP;{oIs^{6gjC%tkT2wWyA$Q8ulVcxP{M&uG=g8ESeuIniUuW!FAmg&xN~E9mAA= zf87D<*-8%lq0j_Csa%dU=`F=#{dAC4GQJLa(t-v}6dCmiD7zGu96*{tpRBt7t!rP4 zC&T%b3=h4^A6swI)fP0Xl1o#W0rg9={CCieBF@@9R`Jepv|k67PMEtXXnUeoKM*uf zX{<{9j&{Q+589LA9Q%vdPg{9j@{H{oON1dCPL2nU2+|qZEI4wp2a#oDZjQju`^FoL zkq}Vem*7gHwAD~XdaKL= z;Q*|ZfI2pR(x`XRMQ(!`bU5rzyvCwR;0WJVHk5=6yR5$kovP-mjUGtsCmekVx?mk= z2^;*0Uc?NlHGwKGtY6FH2^-W+5BojQCjigXk!~PFraNsld3I4M0r4i~IL>5AS9{FW zW8TwYIWT|zJmskG=j;y}P)n7Yas@ar;+y#c$O@b(sy70|LnF0>Nq@6Rn?#Xb5j7|a zGlSZM*LTv8DPIC`?X+$EW6=3~G?U;OGi=6mlp+*mt^39U6N5n|rKJd^Xo+`bIX;^4 zBHvS)U9Fd}u$&IN0qsKapt}dXUmpF?Yh&od5-mfrLLG)_yiSLlpsfp!QgdX`0Y?j- zC{k%C%RcTjRGATkT7cn}(7KEQRoLf!jr&=!3VpoK8lwpROqxPWOM@zvceS2+WTM;eK^LaTLH?p8sk2(IAG2_EpC9h-G8PdaV_#%rr zq*w**?jAGPk~Z^#DQcpjn5*c+z9ahFxk*LFT7vyN=R;DlS2x1;!T`8};w6JcgqOA-b8)*%1a-R z-`mip5MsUT-u%PtQLRCkbY!4Ze`Uf`8O>XfsnM|uKoHd>Tp5ERqEm1I;w_vGmSK$F zL7l5DTA8pT4*{VU3a~RKn74}}y;D;dNg{(8*RJr*n5fc`Vc+{72HiVS&e987&on$! z|IP{;B@|55{k|Jma=~j@OKx|ek7%P<{-z+A{u_W+rl2Jx18!ss`hQzhFx{EsT@uDOtM9N77^=)Mzyigy=T%$Avd5LVF#s3bh^RJXTF$aQI`dC~z6(`(wzg65fAaC~PP0FIlG0d|?H49}V>F6Sh$(`8yXK z(_SQI{5zudoiz2Y(zeK}AwU3qy@L{x!P;-{unvj(&mC6&YF4^zE`po@tX2aI^H?RK zr)WWa zf@FY?=|CtSAaigKY_b#VNq^7`)_`&Pw|uZ1Q@%d=cd{!Xnc8=nM?0Z5{@fLYuNs<7 zG43csl;Na~{f@ctYsRZLLZnz-VMLW>@x!`H$J1tj2f5%D@kuPwYhN#+l40M+{{6VB zfar4Cak7y>-XF_2=~bhAbOF0#F3?cl8*e#O_DxB{;Fev&HK9s{u;C}v1YI`#jN;v2 zt!X0!V-vqjoIinq#*Z30$tD{T?`U2qp*K^;?=BfnQwZN{lz^CZUUPpb$<$BOjD>ub z1-D};2^OBQ>+W+jLJ{ZIvK|jw<0Lo*$UY9_bA?2El#vj9gw1a6SC<6>Rdp@^eb%}P z`2}4Z1yTs#=abIlF)I&#t+9A94p;O*hC0ev1nWjrFq**(=Ig_(=)yK=;+V_s6#;$Q8r@60r<*N9i)b9h%zG@ zk6dV7i`fqe*D58M`nAV`q4m3~_|tV~6+_w=h8z_JdUh6N-@(xHxuWgyaqTkFyB#vD zH|>^ie1dNGInY*(8?lCC0IRQaO77!PJnF4X5?tk9N4;Da-(SI*>0&A0MAU>U`e1Yc zfK={E#(4`Rj|d5`vtM_sG2}pCX|gz{pErlJWa`%@3rzk0Bj);fn-Fu!75nKb1~G=f zA1lKy&C`HvkKN*mc|Z zO39TSYmjAq62U8S+5!eo9Rd@86V#~CEO{;!3m%oKb}74z_9xUaG1acTe#_;5CG35*;zY9E5`!LaNK@ z*nY^Im#S1kTLvmXk`Q&QYj#fUw`%C&sc_E!FyaKj9H~P~-7xptTY!UR7}F~-LvpEM z9Bm(_A~}FIkhHxbCOy_Q9)<9*ZVf5P)UO2=t_1&n?Z!H5&nbXiDU)z0ghqh}!BcX; zH-+ceWPvDTBXIgFj8%=Im_pgl3IhjA-{sr+;9l~evj@E=LL`^}eb6&}0irWyBs)TA zq8Q5Cw|jzyxq^WiB2(^lj2=|G*oiA>B!J-Xa*9DFxXbMl@bsXI2fgLNaa4`R$Cec! z5@WC=m{V|TWUJN^u1G_=&CL7ZR71vLjS8^$U5`qsVxn0%T?o!)Tqm{?OaGyZb^v#b zYaW8O0(+}oRtd@gxY_E_lQnFFsmFB0Y9Xdj4Ab>iahjjMR3r(H0QI;-GwE*=KP%^4 zhNt7oCmT&Xj^K)nPwoL1-9$PgxtdlaaV-qD1Z5^w7B{8S}(@DKdAjPGWQ3+=-lpGn1*TPp+EPs1G# zx_i)Dr&7Zq=y1juEM(F1l^6WB2D|}JfsQWTvk6K}WvtoiDty>pjldS=>ZL8XSB196 zYBQs0W4D`^sKOR|K9QP?MZ7mE{r52A{7Xv-s9()-*6522hNY9%ZO#cw;PNmMi1K}< z3|^OW$E{o)4&DsG?Hy}@6%9>6u{}>2!#d<9e|&7K#ANE{I=11L`Fm;n=_xPA$mc7V zAMuNpkFEWnRg$>(oq+(zL~LkCyYL@n;lae!7ZDGnir+)D7PfjPU|)pHppc~{Q$Lrn zJm&iELte1(=POc30WXHRU(9sTj}uUWJ2^6_NnDGfyTTS~Cd*5HHk_>$!A4pO7KN?X zxBdX0OH8JIZey87AJ8W?4pDtD?bRHhRoxlbpARkpP$61+Tl`&^ zu_OivQ<}~MO_O8S##luiJSyhqSr)4-A-xiPJ9pRViST0`tDp}D8fmzm@2IiSWNIGd z8ctqlVDT(y%t)<{ilEM`Dvtgvz2VQ=|2w!k+~OFnqurpGsq1mNlmeG?#%!Fus6M}7 zl;*j6dK&x~%5XRiB2@I9D56CiY8eCqv<^}nW4$}Xev?S2HRerb2bGOrAA+d)bM6FP zXj?2bqV}VUqeC$p!D&HEag!+1IF>TsUXwgFn`_iRJq>=a3AvvS3OIJ#b_iTpW9918 zY)*9I|6;WXAx$#(%!-&DPjTN66MO2=%&wj>8ibj=?q``!%Bg@4dIThs1dLFUn0`M$ zdS7*V8jM>SJS_yR;6+Yz>91$LyCz9e!J=P9>{EN7rk5DJhoJH7vF^h$)sKPEhdZK> z>1e6z97f<}fFW1H01& zjjc{tw}yBELrDeQtU+GGDMS;QgwrzW>vrohW3A;bH#*{}i1SgJVHBX4?Kq1|_DS{E zcR`H84w(NeR+Hsb@=s5MaZ7~hP}Ma$JiIQbQP@WIqI&}%rDZHImsQdb!26XVP{7O# zZr?i~fYUr;oNbi4?VHF6XgR02OHtuul!156TuZpOu&BNA9`Tk2(}6D0g1v!Y$?>h1 z9x?m_w2Oukx@?G4A>mTdhVa7(?%7TAL~POcJ|%(rSrM}$FJtL%Bss~-V$rJ8)_)|F zd2JQ(*w4l9*bB*~>pm9T{k+&jOonBCz|-O^12X2L0&8H(zc$_*O_{4eVMpgl$0EZf z{+SWru-1V5FOTsLb+Q&b2gbRFd~ju++NHn$G#N<~a?1sSl(Cku1IK9@GEvvzN;&V4 zhrl#)*Fu?Eg)?3-myG84L&WGX7$8=;aZ0l&}!`_ir&`4u%y_m%XU#Vg}4sJ!H>-Y0H4|0M2DP zaWTQlGC!T73OD2tWbDX3}*@kh!k{EB>rhqEg}FxZte7q_wB#j*AdG zGZ#CGqaL%JY81%U-cna%5*h$(!l(|JQzZR3IbpLEAM$0I!R36TU6RTk!Okw)6+% z={sb7XFh)YXPpdqCmhlBcOEkh6DlwQh_L}0kA0tXiy^==2a98s85nS)+W2+PRb-V( zK3?s+0Fejn`7dqx?_}ixS@HA+qDue%A1)0{i)ohGjv=1*@Knkr*d^=)_N!iI-~(e< zeu`_lywV>qlgazj7ovk1arclt{iQAaow#=$OM1j8IB#72Nv0T}SMAP%EP>qWOJnlM zM-`;;ShnIyyLzhb_$hncz%+QsXmPQ4a1BPPVW-S{N@f_;h02Ny?FWOqS43W)!Ypf5U%q0M;ZqpgtA``& zTJ!{%_XHSz6CjWPh?(n;eta*C0NYfImt8bOdZNH~kRPkOlW!U?md6S0fr2lJLdI;e z0!-QL=egzr71P+1>^x*ofO$)R>EH&7gQxH{a++uUQ-PEn3&5%Q`iBEoi=F}VmH|;Z|A`sV zpPSgm$-uf^B9Q1$>DeU_>7BZSW1Aqk8SS$BFhgA$ZRvxg`!OS$6`Zd7;1?6Jc=myH zNu%jc9_kFtMX$0L0{SNMV+QDpr=0(9?ID17+KqtTHxn4U9_Q2lVZDJ^ zBi+SV{omBO-w8@=53Q)yqRgs8`_VU=jfd*vTtfv!MFk-TCeCmUa`Z8%l@b`qAV;1h&~iWKj_LS> z)CNJu#mlinms8L(D+2rwmH&7QEE*SxUv{D%v**9Ok3moF;t|Ri;GFgT1#FqPnk#vZ zbud4RuI2*&-QGRdH0p zWl!FZvoHN#zLkY08@@TbEqMma^RF=n82UlOGdqzCxXQXUxL!4sNLic|2@MU2nlqLe z;YOI?-_Z(XPy(Wt>Lr@{l|95@qdzsCHgUssbTvJ!emWWjh;3;jDDp(G#;> zi*`w%?A3IjE8}WSngi_W2?_6x8L&x~-jAI9w}Dko#pDGU*IRBYYX_DHpP6$x~q2j)rBk!(&Fk<5y@;QXWq~D~Wh( zA|N;y7OMk8><{sciSIIV6+2^&4@KojqY{UgXiZQ618J5T#v1ms&GX(Qc?zssadbq7 zrgoIxz*1odwsN;o zG%fnw1Jr2AQ()bSqkgh;lv;@AKljbFI@vD`m$oJQN>L4F{w1U@2NKBI%}5buE=V*o zu-Q|{*~xd==K!~FW|a>8h4LyN4;s#1d=J@EVBKq@g90N_@{R32s=}B`mf(_T8hWyn zWu0@Ou_NngMi)o}*83g)$2Tk#XU<)!6p#`I<87mmR4KWGb95^f`? zmOb~?tu8uc46EQzX#|TZJvf8_rQ!sf9fc4oUFJHEmoX$+Ogfm$FwYb-0!neZns&c$ zJZMFx!zz;I%!n9N7ka>+`073sKNt)CY4}+`M|DDUVI4<7Q=4?X(}Pg7r;FP!yrqgU z5)XLFW)^ps5H#FJTAz0qM%BV=P)LOK)TTof$budPz{c&(Fw5yx^exc5b) zJD+j|M1PaP|E;CKGp0;H0IAVEDrS^7j|bl-oU$7b&);o)h+EI z-~SUdU{WAr);2@GUWR4?rX>ieAxk=f1~brv+(xMc=ZNPq^Jduv34j%cd4&v@klWA) zw(w{q4??FUgB8!zn5?YMFMHZ+UqkW3N(#x4gbfxe2BlLK7tLNiO3QX1WOQ|gmrHbB3V>& zQFeCeC^qTA1eOu@9XQKqU%`X2`uQzZp5b5u)*e(fa?B~nRA2JG3pY?aXjzg6BFalC zx8XAAC7gs~n5KQke1^?YD;!=weukd4xq&lD%xGRohByvnU*2-9D9EA(kVxZw0sXKz zZ(asb_H`-D4m=94Q5QKAaW>zsHmSz6FR}88^RfdMDl-$>*n49XodlG#iQ(Br67 zAkVWFNN-Q>CeauRI{lYHPx3lSCJ^;A@^5dKAHfZ|XzjA3d zf$Ed|b@rg6g5G6uV>#mm+gK ztjv~Uu~!-pTkQ=5hv=q!j(eZT80BpSASfDy7kgWr3Hz~vkZ??EU%>ZzB2@hm4Z49r zxuv}ysA#3nBtOdcEuDe*4JZ?q5QPP`UX0by&_EFnaX`!HeoBFTIn8T!xe_+k)m4OJk_X@lC<2yFkN90E<2 zhor#XwH=;dIJp2O7wE6qV=hTH9r`1!QEi%0ExN!)>%-nmjwaa{gj=?t%K@W7Edo&v zT{8-<;($=eO-FP#&>K+Dz)whfID|0>O3#Wa6s{E1%&fKXRXobmG>FUB;KnJk@0nr+ zt-~=9YVeSi5c}S`9``-7o%}`~*-P(fNi0@MTq1;FB8Xc~dmw*3aXG>}0hX_j9l3^I zk?suyCLIYwIt82TzgIcG`gxXUOzV9Iq8)VKy8U?9JB2(eD*PK+IHGs!PZ`gu3zmLU z0pFMvd(1dw*cETtG2;j7=z#$e{+e^?;3AzQ-8Xqh@`6khr*2lhYJ?PwE z^u)OAhVKOJ{e%h!oEJdbHW5#ntk{5$z>tLnb!#92Lf0H7kSWMdT2cjREl1xuusECw zn$28+Yv=tyjia^|w36ZY!Z#oE7l+nB8V6#pRa8t+_tQaFO@fN%&6pR1@kQ#C`FN}E zjVtE_ZRi%XFk9M2OJ_l&Jv9w?`{*iQ}(uGY_Cv%L&l>I z6)P@U5~}C+;-+KIi3%B=wH5$RNm>vR#Q@o!@lfG!ks@Cp13bRxtwIdyG2kn(h(C}z z-3_WqGo~R8@Hy@}+;n!+4m@V8y_rRPJvY3IBa5UwkxBC|)@}=HVHhSBO3XIzIVkjd z*xYcaqEt$BZQxgOG09WVLxy<5WFvTo+^4=?Bs}3kR}VV;qsv_+fr_@ersYMQV0j35$*eIg(;b z8(*{A(*P+P4e#*CKq-o5I!pc(ipIrN$OIXVE^~8*obhgO5m3Ng)2AD>QkP8Tc*q$% ztkBiyEuny}PjU*4M?5^@ZMbm)@B9g>{|TN`ab%ZUyrymxNzv~7x{B)%v)-D+&@x;XuT>jrK-Tn8uj z(9xkm$y8U0*KQ`KKTJXVH6hMNWT&ZoMKtm3zvgksvK2)NHf4p{7P z7O5!dbGrBv7G@yY3leo^tetL=NU$*3Ucrh@@H!fx4io&pwTFPd)2fTx;0jomrvMs* zuGrL?=f6E^pKQ4sh$CjQ(hG$zAdnQbJfM$J99qQB246=8F8JeS&hx#zgkuEjatKeE zm9)FJo@}fXwEaX}J&{GeWqGCwil8A6w$6rUz_FbTHsJsEL1Xx~eTCg;XE2ALo5XG7 ztzc5cN~6l;Qt*u{n06VUJ1-3%NHKf@I69VEeVLoF%JX8sc?ulcwGmHnG!@QGq%Bk% z82S_)Q9OFP=2_a$lf3wq-~(%U-11f$PbbK7W%5=P1X&a_)}X?$ZZ;_h#dm(+m^sWH zj@CQ_&TS|fneP3>Y%eZ~go!O59}GAI3L4@;73bs@Xxg|r)U=$Q9))FfRekh2x<~eZgSmE9dZ54Y-WWx(rNEH;Bpz*r~ zyj}zvBj`z1WBA6|B%9S|Bm)4S(WBL%)LDwTAOR}@-|%!I46`t4zUUY9b*%1IPHCP6 zXZmZ**n%^uS0=$t|8U%>Brq6S}}l{e5B0*Ob$=oVbqj0(X9b9Ju=0^{lUIR*qdgpMDh8@au1wv! z=fb&nucJcDkX@goh^U|APF*`_IFQ)b5DlhK!mpM z-4RQ8{&YtZr1u>d-I|T}hdPHD4TAdZh9AK+fCR`a8#&DNpy380$<4+b3T zKaw!2kG>KxuU(y-g*SYF<7z@uG3`q}A*BPJ&aQbOFR->5!UNEn*fm8mqqnHCwS>7= z5lDwy9$1cpOS(rggp73`iX2S&Sx|8N%W{C?N0FLWqFjVG`nhjgPkDOCTPmcO{0$lE zd{zC+virt5ix!F^Naa9EH4T)AT_HoVSjc?F_bW)9iO7QnFMe%I``IvA+{Z{sLcM%@ zZ?J%{xD9iYP)z%hPXKOuJ{kOec1s$OgeN6trlg_nml1$w%2W?|ydQIgBZng*(0K0& zCC`3w2kB#Ae`U=Vaf3x2Gx(3v0qA+i(L>%6Au0gh5kvjGU_$L2d8zckgedIZTyzCV zj08L%qjn0o8w+9W62qIWg>yxmgP`pKsc>4CtfKNACG>P*-LyFJ6`NJh-V%#xUjhmc zUJlvYUO6Nl!IqM*Q23|$oR{nNfj0%DV!)DK; zt)|dk$f%sc6^Uw^{{~QjSgtfpVlnMYLV+pjDd-YVTT191^OC2fM}Xx5@RtNBfS?&I zFj@?bskBn)EsKSIKMo$E342nh+-dO3{7#emA|D4Q6>$vj3IRB-i$h{D?Mp%dveV&w z6p1P=_&y6+Z&vDp7Fhl3v|{`A*ANp5La$|%dzc$9x!SR6ZICIwwzDUyqR%T1CVevq ze__=L>>MxrsS#IKI6M)?udeV=MAIi-+Wtsb8sPwO?kFF#Y{ar#VSot{(BDPNr`$;t zGb)0BzUWkF%oHhpPP7VK+y9^54qoKf}_voqre1YZGp zxK^bJP2{CV*?j_y=h+2n0JxfftVx8l;in+9JC!%T?586}VE}cUT|{9XR#%n` ztY)xB!Nfsm=HekI&UT^!(P^P6v@~HQXhR2_-)MWz26BcHq{hw8YYyPNd|Gmh50-vf z9$U#0H5_)ke~bBoD*o6X#+JvY17JRGrBIL%Qe-pSPg8CNdd z;Wj-F?z`jv=>^2_Fw<{Rpu+TeYvERw;?W_Bb}|$(oy&!^kw?ttAt>U3vugE+OkbPU zf?|3S{L)c4YVrWUoVQ*R*QjhTP}WOQ%7zK-8;VRR)a59N{X@O6xq=IpB)c%lY^Z+D z@=u7(2T8Z(4<@%TdB&npBn);|%$@^xQG$3R(b$j5;ky5-T%$S~oz05%4R!@f{fL3h zWxseaZ?SKIlD~pRu`}`L3(I1HMhu#5;4-RhkVOhs9AIVPgDi>lX@}mcy6HJ^*Carl z{x@ccOwzdn2L+ttTqR*&6IAgrnkPYQ*;>^E&TceRMIYBbyd#h(!6zUDkGX>(lodU{ zyvDo=-`{NA%mwPg0}#Q2m?14F=C6g@|HDoqa4AD~Z0J6^EIf)aVk&VuIzWc|ITw5O zgJL^qA+DGUw|-BqSaB2P>AmcX@mpEv{IMR_1dSd} zs7#W4sRDkP8bPO~@Dr^E-4KyySt6^6w1SpJXzEKFW=#t!)*A3tmZI@{Ue|*s!ThyT zIVgkl(4(i6hhB@M;slpM$lal zs#;g#w(haE6|*P7oqm2S>LA~(pBu?wRO2*93IkCUDz{dusL|E|LT1G9hQ1nB_M@?` z!6Q8bL|FAHnc0Z_7j==+x%}*htQZbxpR^>KT3dX<9y|%|h(Ha9dD;p!O z$yi1n7?|H>JnUG?6$|psWMi_2)45nL}SPVPN;BK)GDmjeUuPw0XXztIIut)Q~$AtMfdQxPgG z*MOk)l+c>LgJf-4KJf3~>16weJjh^Vd;`X1#N zOKk*B2dH3TX2L?ffR_TG<@k(pad6P|+L96mFe0=`D7*VwlWH?9UX4BBD~~nEdy5nF z;CXOoprb-^$lVii9RzKf$%HGq@?e*6g>)x^AQ8B$!5Jbx?$`_)>AveCKOOW%D^v2y z-O%jE@(Fe$6uUMGTt=(O7ErK@&jKL1mxfVIYzL;iR zXyJCiQkjwU+eMl(e|F4~TU_-9%+721F5fZ)#2g*lw7&dU40h?p065*Rx^%L@0QhPj zR9Fh&-kw~aXM$5inhPODx4s*LAvgtUms?nTpqG|0AQ?_pV@p|f;wXaxx7$KW6kI%vslM$KlG}{=g}xOTBM9)c>(fNm@fa>j~+!?pP}OI3zw; z>Uq#&E_=|VLZmVGD(N7x-d)L!WpH-DUKF|@BQLJSH%tW0>+Bz)!z10$V`MfF_q>kb zdv$=r@X4tC=B!Mz*V8wIz%iUv18nw^4VV54E6~Gw51WGigcrag{0VtV&-+2b)9ndm z7u3XC?F95kFQL^^+}J36jVb5G`+|<5TL5Q6XR{G7iEmE#Pq&<@Bz3pz516?eWfGf!*IkDOIUs7oVQ z+TDnNVP#=9!JEHrM(6{PohU_&Z=L1}t*WIjM|Ah#y@1#2^O38a>p@SCd1oHSQxp5A zg5$#veficFJoLx9pRpoqk* zprs#!>dyY4519}@m8-}u86RtKz%*A-Kq(UNlXSWj_wd_q^3UiGra*4E!Jzt zdGCPiY=PA9!x1DEr|GlZi43=WT7aj9YkPI+$8f=JG55omf1qdvuDNpAAYUQcf5xSl zu?)tGZcv0aBtISPxQ6NRcKab6GY>_!Ysd}y^^gAm^+E-L4?^G$c~M@5l%^FU=%&!e7BM(708v%Z_L(#s%PdSahrPxC&*6XoBbaX+cWz2o5zX}S zJZj!)yNSb6Yjrchmo`~(aHlLqI4L=K(Ak4dd(a29ERb*VKLQ0sofLqo3jj77Dyvqj zdAE{fuF@!o8e>cn!+k!0oS-EPVkvoAp_Lrh{l0x5eC+nIGgd)_MCrL=g0@!llsg)JS zfOlh%YBMMf6?YYUq}4YF>WRSwUS~q#wSEP3cf02@)Sb}4iqLxSkN%+^vTTitwMPv6 zh}OyCDr^YbnsIbixE^r#fZN{!Mwk8|u?I(tp%!!IB#U5#)JQaV-+)JY3cDaSARgK1 z=h+qQ0pk*86^!$|6C$b^3xFg~rPUCs&{+Ww4|q$2_EP^Q!o)Rz=R(E;7Z#LO@-k;o z{b22Pq2GEnMw(5Pj)b3kx~Gg*V{sxn``JER;xdV{_alp2(R(Y(PGCk%! z5uRkJ6G9F6Zoq(nIlwqZ1vDg0%XX+)sk=htziF6@K670L;%y^J^T?}s&^Spe{o(9wY z2A&in{}42Wsh?kA5`vyz!$yYj4(aYW8W5%u90l-tIvR!JjirlkCxR5^Uj%CDWOT1l zS3dEGJqPZBt#YjSj!sg(j5Q<8r!ax!ZN%xIa3UuZs!|}!!6~2t+?J z_K7*tWydj+Jq?Z?FFLPFQzgod)v9p4^;!X;+J<8)Oc@po*qPoZ!~Q#H3+O*&=UfRF z*>SJ*4|37+7d)M$ams4xrAzHGd-~fa=K17}0+hI+f7&4OH*wd7?g8w}vfTmpHjxR|aHW5)Q@N(f+g@S4`30Evy}bw>6K_{E{` zhgt3*RsCweW#H|ZU!;zKif3|K2Hk+MkK`|(;YP?TqKcO9&5s5@(5|C2Rk^^95<*I-^dk)NdWpwbXrMo{}bB<42 zN;r$_fk8FAB@3g16~Bjd)ZJDVO^Iw%?hrD~EHJFHZH@s%PmRNtU^U)Bp0(iLzaBvWe|t0Z;u-LBU{1`3<4i{SB){Syuj7o9 zxZRyX=WsN%9}B8Vo4ri*@2d)Br43g`xO2O(s6y?{wHV=Bd8uJdIbP8Aqv1ajmYCi0 z`SFlF1?H{PK;HU0c-mZeoOf_`W5C(uuK|y0;nzL9{ORyDZ(*}KKsj4CB>nX5! z3fwvWIUeLqBCs1;A7Q<~EOZ$m+V46wRh4P3sYX@bYPk;mtdKIsVfWc6YPFOG;YliJ z%X{t8NJnQQcCCLhJ;^odQtUyrdkxEr=fHiHay$nEt>`-gzBRxrvP~@e`Q=F91Z>(R zJ1zjEII_Qe1?^WM$~~+6rXm!82O?$NowhP2C@xNI-IRtJKHX(3d7o!bf@Pl%qyzmx z2-Naa_H`{%u=GJL1#1~+rf>`5_eo6>ks~Yd4eJS3n4o11Hz)fx(=K)dxYx=`N>o(? zci^UIo$2eYcjz&D65O{x`6yPv)cz?ol9v1yGu$?NTcXtdJPQ^p64=UfFdHbvThTsX zgTj~tTTkd8irKQB{V?lY)(%vH+6^mUdzb5?QizMHn5$>OvW?3#8p}U1LqO_7`cv>l+0F6uvy7>E*nY2$*UEA;IU;P@jN zoS%*AS#TGpCWJ$^f!Fr$bGCn1uq=QgG8EDOWb_-90tzeV$`poY0TLc@R1tmHc&G!RA586u- zi!cFq^IBcwGmH4ThR&8#IwbDpcM%Zcc!^e;8UthRT%Zc|^`NVQ-glYDwubCwsE-6F>0lZxgIT>=arEtxk zCj%HvN>^H@IxMMYSeNru%ww;e57Q%w;wSiKP#{PkUWgWY6i|{A@G~!<@Est_&?bYW z*6&%2{qCT|+D{H8I=fRXW2VCP+hx_IX=go6L&unv=#M~r*GK>c_1|K)UtGE*n9-st ztrERO0SQ=|9JLkm1U|tenxS{pKJJkVfrih(ETPirmorckOd1#5i1J5iI9tcVyR)>X zux#_EEGZfL?QKm}JCF|0FuiEjAZrM~AKiA@E=lm>NrE++g?9Gx_NaiiWBZ#PrelY5 zQv`?r?#SE6b4_SZsR(6AiI6(t8_clE;V?@{W+0*Q5pqARxZ$%h%)!8bQgJ4qYuKR$ zmw;4AZ?crI3J7c1h+(z$o0!_(6&*vdNd<)Zkg8CvgNvM{`S^|!P9ODdOz z=*rp>lF^LsGv;t$8pmWMJf?OXy*4B)1odJcug+CM7Al-m5f+q66>ttjy*q7ZC`yvg zNw^B|oKXhM%oKL(4mNU;sZw5q6bP(7*N~9RK=glm&L`Jp+{bP{X+pYA$pq2X2H6Th zem@%0TxZ1rOuS%_^BfIJ<=743mTTWeM}t`c>$xT7#YR+*8AnUFHsWIUB_A7r=>F({Ic$_ z>VRS&08s>^nD3C0?Z`N|Pwo7ohYYmqiVNAy>?T|KsSJ7PwU#t0@OtN?bg9T-H@{tT zhZ-s5~K&`>+ng1p`KacVF{+j+gAxfHnjP znF*ALT1Vq2DIYO=$iqY4E)Dy~juQfwQY=5%Z7{wS(HI{&K#j~DicbivJ%Q+LKOC@( zQEqls1y_R~Axo&$22!{*Ie2<9u`3(X?1DCDlzgc^|E=lUr6Ds|Wqclt!_+ed7e$h? z@JO!k;P)KX2A2J;_?9r4G=ykH8Fx>92l3V+#@V`J>k7BC$CUwF(9C6BXz(tWk``$% zGrIA%#Z842v_xch99z%_QYKI<>gHcTQ5cgXFdAYr_v0uR>R2?*AV0ef` zr$e5BAH#cFMJTRr+5^i-g&N=wdGFS&HY*}zqNEXABSiC$CY59u%Rp%Fi;hbd?Rp$Pyll<@<_j!W z-@Pw;c@%c6vVRo85vGA&8Am9fmlSqyCP zfg3$@aufft&Vo&v{~0?Wap2msNwTi$uujN;<+cOou;@f#c}v@5m^rj8HH(M0dNB35?p zWvTIKB>e&&&&nsQW(rKoO4{8M;MfviIW#A;9$Ks*A1KaVu@fGhres;feze*JV#HYK zj@ar9aG(hS2)OsI89A%TYc5*B&7Oe>jV5VvL773Bz7Pc6^WWI>-@z+Do>+%FjyX`b zhQ}huB%fxmm7(QZN66P zp8ob`%0A`y88bD9$ZGE?u1Iq(z)`k$zfs@SxTpr$NjLEMQ2ni-Za4lmGR&j0Pq0&&CA;P-o*7Eoa1{!)8l8dLCKIqwX3V#iR3F2x;rVYzIiDz0 ztY$h0Nq}US`PvocOIN1lkr7dCQYElb0dhBXz_g%Qu2$=8Nd44)Mxb2oIoY7$@?wuo zNug<#bS-5y@(k2T581Qd{JJszHQgut(0!u#JC)xAkSgWp4^$|>Y0JrAj912%;3a+s zjbf*B)8 z-mC)VRNkXL&;aJZFq&}zPDlBYr6e*#Xy@ez<(w)vYr^ubI2vo;y!{osMP)GGy}T${EFsepphBPBl!3Mtz>`?wgjWF zF3s}f(?_DepISPaaH{kk}4 z4;P342yl0PL(?q{E;x%Q@{`q2ZxN*o3_5gpQC4BG-4Z6U4v7*|gEA9*L5#8o+9ocg z9WD1XRuHHc0-W|#(zQ+Un1{!_btNZB+&>+PC0+G=#WFirEY=czQWM`ijvyr?B(JDa z8P+W`HqguN61Q|hWyTiM#R!3~en@e4>BLyPTSHO~yEFi3nD4B=9wrr(No(EIF1h|# zN2C(TBfDJl)b;iZ@)5GgEd3gC_*$lcFVbRmQBSPGvPX`1hPa0 ztC;y`c=&1nt0P5EMV`0mdb4L9&_yXbjjH&Xb=-qQDc*Q}A(a>lW2-ML1N;PSzrJzZ z04x5qb-me3$2Nx+L985HF=Kw6=F|2;mb`uINpv(2DH%Lf=9wyq8skN@dxf~R*q$pH4KLIyNZ}DL zMBJ6IhN?^Fk8U9Is{iwB(l7Vw1Y^hN@s_Yu9g;3~F{RTHA(LaMt_ zE*>x@V9?ytTHVN8X;8%+Gk};~wO*xpxmICDSAnrQwt{Kl-K8_?AuH|8eU5)Fh!_^R zw+L3bXit00l-dYBqGqq^f|pCOiAb}gRVq$q-c zmje6Pqe&!Y%(-35=W#8QU@KVhIY|g+Cx@Yd*$SSrhfYS6nq0@|DO4f4>a7}Tr6)Xp zChXZ64m!;hXnTvh?Oj1IcQ7nk`ayO$+BzKMKd2V}S-ysd4@C_ge3LKPL$ISfwFimg z0M(x-Y{WB|I`S#ejiE@`AobExeOqh;4|pixvKJVKl~_gqCHku7MI7BzE3TvF^8 zjlQ72e_H3_?Zslyj^U$I4tpds8yygqeDoQmW)^*4={g{Kp%5NNn{1s6bS6FIsgUay z@)4KOj#3YSx1V;K(jjS&hS*9(B-_%yRYm;`Gm;Ge<+C-mRcwAh=%}JrhwPB7G#te8 z528>0Mr8nL1d0^4q6i@JzpXHUd~RQ{mz{Aj=I;`Km2jPhoLLo5Im4r!wp9O`Qy5)z z?(KvKxZC=azJz$79{W6QNFZj$u)q_H2lxQi#$7T+6*G39&2{y=U zd@H1=hnzj+EtSlp|29@T5i}$Tnjc(x3HS~HVrbIueu+4R;C{gePK2)t%;~O{ky&EI zje~~+Z3p@!QiX7GE6y}pqoKsoAPMKid`48?1&(_+}xKtj{K!$?X7BrCsmqjyCN3n8uX@$x+J$lI1 zL*51gvmCk-1ntL9%I0iKo0JM~=sClhhUK2RGqpJ}_ef3zMPwC$RNmuo#-4c-rg*{g zCXWPnpTtW&#r2SzN4#b1lf939!vxuqJwgvo_VRf^aBv~+7V;5{Ow&;!pxBR~^xmYp zfst3&s`wZ$RSx_WV!wuU^Ju* zV}jUGV8{IpNSTgM;#c1 zacZ3P4C1^F3nT*xb0x;7$?~YDN4;Mg2d1{Yq}KJY3-6M8wI?ML7vvA&W=)ac9W-aZ zM&T~mRwX1BKPn@Q)*5y)cxq`VhsUeT?-o@%;1Yu+IGqLZG79YN5HO-A!C3Z3eLNp{ zyD(b!|DdKw)DgC1$2GZwAE61fknKLghBQci^%>-=VPrBG2~@KTN-PQ($1>aq(1O^o zRn2*Pf>}LcPl5X^!!F!^o3-P;0lmNSN~q{uHHySGB|33;t&x7L4O#fL4nI@_E*50S zu{xHks(*T+ULmuoCGlYG)SADH=t*#IPUcB%4B`XKaOR$tjtl-4exBb0em&#}gy%wt zQ2UwSwj1juq(i`;qapv}EKx?#1=U5bHDG;PRSev~?$&fq@&i1xbuv5)?lto~;G!aS z0QMWSCIC_Zn2+M?O4cPsuZk;JCUQFMsa=klA*}u9KF$dZOzI89XQm5|v07u%Fnn}@ zurL=oK1_qUIjjjIUSfVhN6&(Lt38gIe`mol;fx-WJN6Ikr6EWl_JTS|duvJ|x`%=# z1LGo-I}E=@xsYDbapv}kPS(oO=J)3u*(CX`5j_d+98pkEztu)!6^@`5Dl`E2gp7*R z8KgvNUWu%Lb-TR4lQnOCo-z%OnBw;D1E*Er8c@=>%EFS|OCG%2;F{L??Y=gmXTh}R z?f&~XL9UWRy$z>h>nAvCLR|6qu>A}8ENXgyxEIGqA-*!d#!)! z0`cm((}vy5xi9xaa2EH_PD4;cRM060umPp^VVc0j07ZoXN?M8o_;iD*ab<@t?Ufg$ zD1O5|FX|!|1AZ!`2ZK!6e-^OtVu*_rnO0+Va(97IE7OARFg(z<07j5VFX|-4*0DFs zINMZfI5@|8$Uq5K{*xTc{6e3dYJGbw*59Ptu$W(!ZaJFvi4Y+eE%#=R{K$1^2aQ2v zyvGB&Cwa&X__QTBujYm|?#z=G&I~KM@}jGZ%o7%U-~W4$S?RBYuk`m@8v!YWN?7sC zOH%%oenvp>#g18%PVY+!p_Mr!OIL6$khDEy6hcv;Z>S3-M^ds$gV-F}XQ9bB(Vpa$ z=Gw4oChS8PNx|6lv8BIp7--=1jkvy5nMh#Y78jP6G8Sgw#dKC)U_LLLEQ(r9txukp z&)%6T|0a+!dilB*tdi_h#L|d;fvyJJSi1ipj7EH#KcoZ08g#FV4rkf!i36vcm3BrZ zmYYh(>;qLaP76zUm;>d;omIA#xD+4-62|JYS+!jfP~*tbujNd&i?F_SwEFr(!W|NV z!A)R~`1ekh3|P{w#b11LoeE^Ya419xKDu@W0B|&(S;0 zw7nGCuvofxobUkT1*9JZ3+MHemHW!RdH)~#5=6^~@kxNzW441%Ljhb0#5DA&`!Q!r zLKCI7Dm_uAMsmFatgVw_R~(>Efh1%X-hX^?hNNKT#sJg|^k2gT(hppKDfHEZP{39g za@ynJ85qJKc`VI+pMfIViFCr&mpH~9L5uo5%pcN%k%#E^pbv1lKR)R2HMi|}TR>%` zI%89pZ-5_KP?504)t1EA%NstlOZJ-__ABf`M}xu zQ_OvS9}cM37tTpm*@5S&sXPz5f!)KQrbX&$J!p=H40jYjqr;Q^ue}_+n{^2V*`4R> z;UO^?3wkRv0NVWPplA7%PSD}7#toe#v`@uv|KKgsBUurR4W?gpo!NJhf2kh=ak14T zvj*Ikj-COf1|t))kC@r*|J#_gX#e~QA4gY@l{gep)+`?&BOMC6;80bS?*faJi0011 ztJ=GXqgJ584Oc(pK*_-{%iW%H`}YSr{~TzjLo`Qprl{4#TX3582qUU4h6Y3i&NGG5 z<$F0Gh?6N22MkEyMd%9aqiB{IjKCpV$OqcupF+;{`!RDhPz7fkGf^}hchKE_)u5k|V7z=v8?9u@w1 zQSS~AH9Q^dCcX^;fLXf^HRP-4HXDTk-xRdn)Yv#gR{QayC83#ufJ)aZh~(i~O*D0d`%H)0qgoujoNSXFS90 zs=u;y%=dGKM<~{nm7+lM*EYg3qy6(s6bN`h&3qH7^Valv&OKyLgnicvI#EOs ztdpdL|AlX-+=m)s)?8W0%oUvtm?JO=8oJcA+?=|g)uFV#q?P6oN9ZwZe)KVTlhOEB z%%m<^G4qh$?wzA}8tnD!H2>aomcHyTg2@u49H5j+Q5?`H>G66H(w*AzLZk*87?wWi z7R##_DrtE50QHNGbf+r~!Ugd$2sKGLOzZD!+{KI?c6%ZovM0g*b!nW=a@1zv2RV+g zgy8Fl2)dJx)}N4x3TV^N-)KKT#F+HqsXDQ=~m|Kh)N>CYD4rg6>Jqr0iK9*lI1bpi*9+?Uw3_ zh+wAv6*IRBU8cwU*5)0>bKp)-i{*etV-@wg)eIlXCH&nniiP@$%E$VGB;&u;ZeQpP zB{2A?!njyoknl_Ct}GA=Mnv{or=6fj@nQdm+Vm)%1m`}V%ZKO8TZ5NHj*GnE>PAUG z9_%V5&c(0`k!V!XAlV@z^vLdDErMM;!cZf4O~l?5sw260^F{J3_=COIB+=$+yX@a zLkn1?IDC#-0=CkFZL-{N(f7Z)#FC?m}}X%)EI9CPpMe4f}mP7=x~hd3wz0 zuQ3bMpgl38x6IU{xGz=4*xasSKyy=tRUEQfo@l7e9s_Zf1=tNJJ8E|;!bdN4sFQ!-%2rY*yvE{wjx;u8!+3s%h0W8U*0qQl=Y z3%_tZ*Dyz8>BVN$2(|CFC&3G7|NVuC2t@`(P`}HJe7R>W^ysm08g|#%od^)jrv!cp zqaTSPBn^W;Uu$|l&XR)BJa}tfPXd3Iqh)*g`9;<}%)Bv^glQ1`YUU^I($dK|i{En1 zT+KDQZqw~M6y<$==~m!RlNN~ms=3;)79CS=*J!ybBWc0ldbow$58KNohRuW1U>@xD zsI-Ae0!Pz95A<=cy+&uWR+{|cRv(B28&fd$m(GvD1W%jQ&la`doEOlHUcLn%MlC~H zFcPr(JkFv1mimctDgZe2N@b;0+}zySXW3*xWp(Z_GGvVz7Pm6c&)a#ZUiLLjRlr-$ z8xGoWjciNW$bQ8vN9^yGXfIK(_)#$XSx6~K!Km8ZQs7Bp8j$DPGE1PEmw<->n>Z$d zZYIe>2PsG18R&jY>Q;3$*#dRmCiLals{bRGaq{y%!GBSVl!=$8?_1q4&SP#K^RB9L zQjkK+=>pUxgJ*7k0n!k8K=(Jod+&}DR;hurHpVBG@ybItndsl3FxEj!`8#MqhbmX3 zr6C2#uiNK^sHS!$$0;FY589L97rcbb`yDjRBLZmj#6Y~bGIcv!!^S|oLH!mN(7L5W zj}+ttkKEu5Z;miK&<`c0*P9N3y8ZkH*uGG;?c~AX6C|Gaec5>)jPb9h1ANW(2;-r< z>?XyEH3gOX60nhEIyDxmy6msoT^~s@9q4w}6g`L$feiS#?0$9rKD!FGK3sxg$t-Pb znE`poo(ALI2FkDWD`cv3oIe@Q4$0hm>ITyZCg1Xmwak)sC^Ca?9PwDBz5B$BWig~Q zjKJ}N(EhTb|5Vx{@H2IQST}HnJ+*<&^WYBRiSdLWfOUF8rQymhPpTee(=MeiXfFs0 zz(ve&KnxgA3kvH?+^IZdWFFn%U_QnLpnLHN-EHJOWKV-%5T0Yms1F`H6gY8!zp>d- zPGOD=k%Y=kjp#E!O1uYlA#;}S9Q2TrLo62>M@6*G)lrEk1sFE52#xD*w!*_6i?>wGb70)tzc))!yhs_Z&gyld=9*UBG3`DIOwr!ehz!nb71ov z7{7AhQ57^FhG4{Oy%fJsuqB#zS*?~XdIB{es8ywS*GIB2hpB@;wwH8B6XdJat*Ihr zJJh&Fdk%CDGmqJGVEk$W&pIUy{(VOs1GClXvY<%qXa~l^L}*2%SCEzf)i2$Ta%+Bo z-k_P`N~2~_%>3JMQv43S4ScMC8S=5IYjpr8$+JoG6u5)vP_{qBY|&mUKctFKSW~Y$ z6ec`0?X`HdOMrhJ%P~622*vvDsyOjOwg)WrJ?4tay1mk$o;SqIZsnfA$NyvPOpxP9 zk}P|nC>Pt8`(Lc}eKp?#24S|4teos=Gz(C8n44~Yc_3MvXTUchFwO0Awi<>>q5vPMM=E>IZy*#Iuba@j8pu5@_ake6aY{C4rx za2r|a#8cp#Mg?De6SIAn18$I=KULw`VFaya?JBLfm4)C3`!u*D$he8lKF*FCLn@kJ z)=uPa#mv4N&6|f`pq{fmSk!x#xC7P`YvkNL1-`+Gacs{Eh!83tY*q8L=kTEhi9{dT;kR>a{JSoXR$nWOBK^i^^MQxg09H0&u>R|~bG@!SB zH=_kZ)_wOUW$UdLu|3AW9xkigA$;f4qiQS(u&3HNPtijKOxfi=oU$KI|XRhF?0fP>;Myx$!k%J9t;tu zXT&>qB2)0B|CCI@LaDD~6K}u2k90L(2l|mEi6o144MI)S(!Ab_yD8;MA#{%xb9WTTf zWOxAHSJ&IoK#{7(;~hv9exO{)$YSj#9(*K}U0)rSVJ#hR+ zk$)EWFdk^fwYlabDdJiMo_ht{TZ;yE9_gCPR9}-$6k-^8l&oJ(A8ZRTKSgQht0u5W%foRLk5b{-5 z(eD)p=;*p0aPolrE8xu$t_d-yYn>Aoq|0TC$RRAWrL)7VgBm7*cnQ+gzw6{I`6NcV zHLW@s^N5tnQd4noFfxaDbkvolgGdn`arTJEGvc^$*JBcg+hDRXEyxf<6(=0kAp1y` zeLP~(t(hxXeE@^*5^Q5aBTXGnYVdOi$4wCXqaOo~-^vEM2@38pQ*ie+sxx zdBHY(MJ5VQ(KU9GRJhNnvnDRIa7gMP~#KVSNKW}w}A%Rdi zw(0vu>MFm8ho`%T{w^2AMy{>FRKd4&{b5(Divk1#%6EeMYP#G66-C6G@koF8)B!t6 zay!JH!-b42#fbjnO{zW@ix`jrIFiNY@x_Bj?8$D%_dT(l)5>0@$;YoSPLL?xDD=_D zvGb!zb`as9hC*a#;Tx_=K!F4!t}31;+{IkRY<|Cl{s%NA=6MSj%6e;csKayJeC4{h zfi`HFzR{OM6b$eo7S!5cXEe(=LM=L-HD6OWsd z;So19eV1IVz0Z?OHc+IB2%-48C(An3BldJR%RAx?giF%%kFT6YH@rn1eHxfrYV)LG zMgdM+HF-)`n};nbQ(~NaTqugh9M?KmL}#_>5wm|~lHk+C&MWNi-Bh;gq5Sct2>a}@ zc$?Q(fHhdn*5%&}j}lz^)l3g6GQ?oV>0}SnI0ByXZ=i%`5wnZLNV{9b6 z&6~+%?*A<2gp?90F-aQ!NL5|BgO!avzBr8i1b4t3YsiOg`G1_I@OFs7&vjv&?N6xS zk3Ht>G5;~?{r8vwO+fDFJaWw?^xMvuJJ312F6EKu_z?-4wk2fDTm^M+kZ0&_EMj)h z9NOQ%Sv=-H=Dq)(sNoTHXn-6NhLqzfEuh1pGf$(xL_cAD;HkJ|Ul)c_<~UFum%O9& z2mFqk%6mPAe-^PMG^M_3iJ*czn^zj?YD!V-3i47T;-;xpb3p2;S2H9M10&RL`&}UW1{Okc;%KoP&;Lxyfu59QG1PpWgd1t_VlEvRZ0@s&) zIlHpye5jHXI~ZJSC{#s%%(u8PGDiwJ|GS`3c7YQkJwhh@qg-Jq30A&7SIs|xce}u}m5+o8C&L|a%qGaA^PXcX2(g|<#;uRwdNVj) z+?wp`Pg=hrwVxmQ#xr;dob^u;M;z;q)%XE?lLjqk*;3x@y4R{3hXNzO%f7N_Vz2iM znZYY|+GCjwCrq~Nkhk$3x?q!IUk(dEdAr51>`AOp-Vb?07e_MdxS%eqU`q3=*?w&- z@9bc7H^rjCZ>SJk?MIn^wbyhPg<01Gyra*sTyz}4A;qBM?_mf5E#heukI0qNq4iUBO1yZ#PGZD|Xyw>AF zFWVW5um{Q#H$li1#VBBW7$s>s=Kq)JIeSK>zmeV(@J)EN?I++`OyYyhZe5#6N$Rl| zV^{&2^tSp=%&0gj?B+fDWqF2u8RpSUL4874K|daGTVL~G0IP`KBk;|&%xVU;!{Tyc z)qd$^j@;1LX7*E>4hHrMMaxU{&+K36u8SB8A_iq;P4qpx{N|3j5Qp@FU^Y5Br&gkm z7f;(GP9AajXAw(&h$ezM-A<-8BA2qbv@<~CYhd9KquFf_b1AIi+Gh1Ka6l{0+RNtK z@8p<0;`+}brWLin$XpG;Z)vSx$r=wbTzD`yOrAxM_{7+uEm*ZVwQUuM~AsC zxTwrG^7~Y5#&Il}H-IfMitxw-i>@pJ=LDN+`FFu@t|vi5l_!;8602@)8VbOPu^0l- z0U2*G_(y*Y85xCjn}tGpRLJ8U@}~Fe2nt$;tY9z)WtGpjRDM|mP@bLCC14y&lQCt) zY>DK&F0|8z&%?KI6flXiVt(tBESN8r+XpPMh>qAdK?5oTA(yYG{GSP|q4gi^X1iF9 z0iP@=kv(rX>DOX*gbe+9%ne)QJbh!Dm?>0zWG!QXWavvL14V;X6Gcyb<#j9XfH^~M zf{0M_PX?^K9vwA8{IS0+Ovv_%y7|& z;+3oGj^lBoGql=Of1DrG075@xsKu9Y-|}JYjGp^y`gb9tyoM&QBS5kSgR8psK+jep2JbzKZ~CGy*%fi}%-7y`+{O#!x3k>8%lnFoIeQ4HK_V=8 z>K9ph!H)?sUfgcFm-mP{GmiGl49I|e;;gIDNx+y$-&cE9vi(pzm~dV38zVy!W?#&YKU)%e188}J zOPIcna`N2Q-%oi1+C#u<Kn0E5k|zM%0$EjGEZH&YC@P%L2e z9YL70lb@J7!SiX$I|12SKgr2+Uw=R3zge*(z=}zcrK2VU2s5E|E+&+dz+{w-v`5TN z5^Ao`WG6aE<3m~7ExQ*tSGOYuh0-JT-1lBZ<&6y0puqe>4+e0~=Rqce(U3-%!Nw z9q>+8&fakZi|OYf$_7LibX#!yViD62_Rt6ep>Axln!wdntj%+TG2kAdW>fi06trO2 z==8c45Qsgy?}3NF-Al{)UE&_z_9Z31`JUC5O(Oa2!WiG>J**8pq8Mn9_%vEuXBk*( zP3WwVJ$&q94_Gk!zrtfy@|)>(G|C37MV4y2_YZDH0<^-w zaH;#FRVrI&rY2>agl4JxTWf&YX^!hL7fB9&KV}Bvdf%7Y30$?dZj9j}zcNYrf85LS z`(AEz;n<1697kFjm!I|i0l%g8!$+a$G?yU-E4YLF_s_Khtr+81z^?knUg3Gj(?hO* z3K_Nn)3NCP4~(As{S~noD%)uHw80V5VnzlG|0Zz&Jm!JqT}4(-F0Cc1EMhuwNFs=* zT!cuJ}EdqlY}+A@3H#0W-<7D`C{GAqJ?shRRi0?p=(p4mQoQZ?}gE zNcXIYWDE$h2QvVjL5L5zl`YvE9W7a$dn0Dm(pkNbm zWs8nQ$^aS+sJ&borJYed3s^StqMy;!IP`Q8MqI+(5;#J+40?QiixbhhF>>*k)1PAQ zEL#|20zzQelD%7PAgBSg2I+$^Xvz>k?Rrg8WX}DrmfMujj*tS52#*Z6DsB+EKQl7U zR#x_`RMO*`(hV(;JmTsR=Xb>aeS$wj`d$Np&7(&wjc8F=o6cDpnuw-A<#B zL+M2S{_q#kh~hcTsJiW<3c&O&@Uq#vhH-YQK$X!A*6W96U+5yf>W&L*90v|~mH64S z-@C&un;9aL75l)kRApdMuuJvFOs|`#hKBMFO4hPr;u$re!iu9@Awy1RY{$azsb>~_ z2ODJ17`SQJ*`IjW!EW&1#F{F4VvpF9UnzfzSaT=_WcDMh)U+I60 z7>xJ^yhVdja5-!O+wosc(gr{+5A1Jh@roFyv;hdtUWT$jleoeDP{|jb$LZ|1)^X6P+5}4wS09U5oQ%~+*eVt$&IbNH$le{{sxYx@o$dJt2B=dl9M+fuMu-nf(}Okak|m{ouw! zDV%D-l{_-oKWqFJ)HBKktm2;<(OLj}$$3cy%R>*@Q{Q_LybC$XGXgU>{gc4OuY*Aw zB}VELI<)}+6bb-Q4#qX{8Wj!H$rx>E!lrW}iIjs$fu1s{1Y93(Rdg!xDLmmJd**w{ zBX$*;yO763rWV|ktfR9x*oAqORipM|Rkt7qu!$Q5>quyIs7S4of#n&V&9rS0|GZhn z+X3qq-A33Cqtej@X{QSF&X1w{niUn#eeL}M{vD)Nl;jZ9N6^Wh(wRsUPo~imc9x$E zMlTpi6u;x_S7k=7x>^p^oZ}RL-pL(;~zt=n74}( z#1_~(r0PP~(UrONKV>tGw7z8rXl<-h(5$(#HMKJrG1^>b$d;K8c2oY8hoEec<*$`- z_y+jHM|2CDnYK7T{9ac>OrT8v#JNATL5>srH1Po*?B1dTiDcH1xCsm z@}Q)7K4r#)4SNc`ekdVTH{z)%Q`#|E*W6^N<{^9b>*Y@&qsl>9g``EoEw%c+3=;K=lOp zp4IMx=9-%~HKV~v(CG8xCyJZE*?<^;o}j(4_L>#?&NJ#Pfg`(J`;@!AKWdzD4jp^` zc%4bBAOaotkwO3n?V1?mzBHr*_lP>}{CT^;1~Y!KK6(AC+{0n|>qN6FnUM68S_w4L{I$YOj#1hn)Xi$WhZf_zB1_QG(vu z?b=(}2`2Sx_JSZeyRM~jYHtcjNW@d#LFJqI^$s=<`MtwN4Cgy!%SPCFB6gGcV9`tA zu0!3W=)LMu!b>=39jH(h>LYYB>!mMII4hB*f5tk*Vs6at>bEM2q#>yDHqs*`Y{mS> zBkokXVI6FsMTCZdE->~|U1%_Co(3INde{f>wjJshlH4==FyOjT8lCLqM7`u{60iX~bkNaF9r% z)Y%wpRRkc{Xx9D)C0(RN1U|ERmK*ni#0w$6QcByQ&Y%Jv^W5g(tmta!4Glsb)(}68 zmjR@l%rWc$NOAHKXRDMuD6^qx=N%yNKncF@VJ15h{gc7s)wh`FOs&ZP3NM75{zJ%# zmh1;!0ILo=7!nMS?HGkW6BWC`iv52nhAy98RKzMfiP9Hd0MBpx#x2w*jMhR1QVtJk zalMLNB0ft*;f0W2mxg_I|Fvmli1qr)2h{`$&qT4ym3^z|079&=xPWB17cvz%66?{& z;>atDO34MzvT?naD0MCr2?8%f{JJyxZp3UC(1ERZW8E~0hTTh%28=@sA`v-K+^Qq! z(TF5SQ}@c-mdOk3N~~smVuZQ`8(ClS$!o0Z$^fx*K-}=-BI=xnoIT`M3he)V$8$Pm zUSIjJa%+g$s0yFMFa`&Bbzm=|3`r#1B3t$IT|i-;MWqW{9#ws(9yq^_B+0eH8(6da3a$CZg1 z&|LpP(ii#g3@sUn*u_`Zu-rrT^!M(kc2fWgc~T^du(`M@oqpMyd z&~ab|>;=V?d!8Pou1oD9d-AKV)kE72#ru$=8pCnjm}ooDOo``5CsCuCsZ0bk7()aC zM&Rc|1{24Bu~No&@EC=8FYTf)MJ690WxjoMI2~akqOS|pzTQ30eD9tW3enGyBijq> zEe5E-sl~=ecNzV)+v#OjWP>$5s(v$if_5_=kd0E^ZOOvNFLwSdQIMZJ^RdY97@G?1 zb)dtgNWUo`IK>tY4~j$8{p z5@=_J8Au?hE%V3hsf2bXiJI-#K47B-i0YpFTKRLxX*Xmf`@Yz~>zxn z+0$QpW3JN%;gA|Ypo*)2|6`qqUv!w24k~@b%+yPva0qb(02Ld+hcb6TBD=_FIy-}o znfl=v4c-tep9j7_9ePUr38L(t{@R-j8n(q}$BF#wt3m5Ov{zNSb;rs9Wx=8iH`Yc~ zag}mVXSvJldgP-eWJwI+1mhtuyCWpu;xU%&UAzt5X7~KpzVhG3Qp(;aFyVOk4Dzf* zfFabeQuKq?u1=!QYXGWAIi3|*lKN3@qBWK!`s6c1Os!y@+An_E&lI5C z9d#?*k7}eM7V6F(uPiHL(@2zLcMJ6~&t?t9@6sjU2wSZR-Jn+w zY>(A0&~K66Yi_~=ifJsiQTOcEU)iti__n`D-n~#Sy5Nuv$Sg0pVeLHL;aZljV6*9J ztA~rMC!$aMmzOWeM^s9&Nxy|?X7|MR9wYX!K?2+D%4$@LfABw1>_ntIg^&c-S);dn zKp?Eyn@tu|F+5s6)?p$p_OVzyxNusjw5|kyzgS3tk}D%Esypqj4_$_*z5Ysjee*2w z)aHE`n~gK6PS%5)MKudFF9vh-dO4NrXU(dXDr@dsTWMpcXj zSZXXuGXRCCPv%kt?VDJ=GshIDuP~>-`_$Bh)4+(N3J4s~&^+4GlEUPw0BVN}UD#_c zfOvn!vI@gEtkUi_Y)xrMi8B_X#db9_I%eb(IS7+TwW-OI3v+;<5 zatT%G5i^KPL<}#Dz2)>j*Fb!D((CV}7k9$|dzX$XI4rw3)2OU)gYU zU>H{R7 zmQy7!gePfm8Mut210m#c;#6chE2hEeHXjEd$8@*=PwsWSd3InUyCA<8mhmH-b-Ms4 z=yj0UX0C12@SNA*@&{>iDR(QhaNM)sRsRCft7nY22O!kELeQ@Q0c2Gc z!!zHP%3av)+{4~nEX4O$KC-PFbf_SZFwDFScla>K*Vf}F0p!>d*h|*eHp-3zN}9^m zq^+`WbBXfHp%~LM-&^HwZlPPhOb(xrzM{l8!A<&pvT851KVxxD zie1T7=rkf`unSah5hmH#((YMm>4PoQ;#UIC_S<55)_cpa_07T^ql;a@K%yAB;olG) z(KqIy#U%i!ESBwcBjW*+T(&w_M>VjVIck10^7;S7j=slJ5y&G}+AD7iV%;=Omh+?a zHw|YcoS9|GM#OeyVcJj_Z0Q(V?`(i$8l_GWE?MDT0y zF&v;IUOgWVR2D6sM5OP+8tE1C=6N<*6AKj0zrvZQ5#C0-9^kzjN1^u_+@-s9CZ8uh zhv^(5U=~z>@ag~onnEUo-qeBqQw7&sY=`{F`GZvUy5OYm63d(8SN}WElX=|hD`-j& z35im_b9<#*o{wxsKW%rl{RQg}?&z z?8yaUKNu6!`yfL=#DXD#v-LGQi&d#TJVImM0NlflOZl;voYO;opX3e96ZI^8XE)lR zQ}zq4V*7+&2~ylVWNb+|Da@YBkYLy~=mfA*BmkApkQqcu=21V#?Gc$yacx+~w=~ai zj?|i+D_SAH_fKt?sKtn3vv22%0x=JN`4ByT?;_VNO@^|pe1W;q?!z`ZFXbScX85Rp zrk8{jN(~x_=;t#}wI}FE$1SMML&Apt#S>c^t0KE}zgkrnZKY`$2xd z2i#uj^G4r!UKw(Uu0TKw7R;)NipX8Z_?l`_kAmU|X=!Il5p9L++3!7@-Gz*_`f*B5 zN+Bz*3WKp$0ri329}BDoH^e&nBq;#)rCkrncb3?v{GlW3X#zztSa6V;Nx)4 z%7TjdS(Yu62ki;)J)Qllpz*&$5pysa27A@+sl8o}IChbyk%w2vL-HbPP|*P`7d_`p zf`DYDpO5#D>;)`jPk`_7>|cePki9Qc01QU(q22YpJ$s7#B3rurapmm^*w@t>coprH z{mAYsq77Ufe#S~zdas~46mbuKidbiLcQd26&PfN4&~?qJ`?15^q_6k`*K;{G) z6-{10aAq0h39pNQ#zV~DQbk2zIfFMqseWNZPk-+bZQF4_0|2%RLgfqNLbE_;VTVx? zIlA&ya+TULT7}I;K?SEa54M8)BE`vf`gp$kl(PJ4PTDe z371B0OZi1c?@8cSt2Vcz}ii=O}9L)zV8S~LhOT!jTCDcT1duUifw9}*0% z4?e*_H^sVZ+{pOpr&fbN67n@!8Y)ppFAv$1-+SWOwiWY4sX9Ya=O1B0l(K z7CaU3A!};}a)p&*Jq-~Uj)8=bqXJzEM}yLcCa*7&yC66p0ADcATm51>j1WEjy@wcW zgL7e%HZ13-^(ROhkkd?)WAR~1Bg~|gVmdLAUAsN*^3X4~{Kq!}>X|B627+i47@d#f zxXwYH1B=7(cR4cM)=L(#r@y!O{dRzu$-}3#X93->fSIZ$Xr;`hbeOG`=vcaPc#!Cu zmzgG<7Iv+$TVUyVF2M;IK^Qk$T{`zdx-bl%OQ!F(p~s8FgRXxHI&!nzQB!5QAQXm6 z5KBRu28KnEb^5_vSqFn&`$Wb81OYKpBptAjaWvZ%14x%$X3SvcAM2ksGy&9u=9?$K znxp5xw?4bQ9X}tm-9ty|E<=W%Yn00)3igYwNb{sy11Vpf6{`|h9rTkppz#mT03_O2 zTYiKnLU)ThTCpVo7e#Pnm4v^up7Z7N$N*9?zXi{C^CD3g$gH?=2o*jZ8wW7;`j=wn zZ6A^}K}c>sgkNVu9Y4Sm2RN*|nQ94+tCtxn^O=WFsySd_lQ%Dg(Zr7s!PR1k|my z0rrY{_G?I&&hFf}#ugCxVX}lAQrEATAVY**1B#9|U zAn0baC1@tf8lf?mf);Wf3&b0z{f-p~Ll}xU!_Cp2F94TRH$ub=lNoS0BA9z;Ws>B% zZ@!1iJ5*}nI|CZ6P8RD9m}Dk`mnvxXtVYUy1(20!&;5H<-Lp%E4TqHn}LU=CF+T9oyOr7u_wMc{#nET zMSx{hL8NJr&z7X1P6{2TfD-M^BgUQgfQ!VBu}2S;^n)uQniI>y_QtSt1rf1*B7ce) zIj=?`c>Xi(F#2uL5OoCzl3l9--yud4b}39=`Umr6B*=Y?@U;ohu|Rmv(&UT%3&@3> zmCJ&D4(ZH!$iqW^=aBNB9ipiJUSFXR06JbYcLQ^l!(A&wDhI2>7TRlNJRS$y^!|?3 z7Ij-d){Iy^_|R)ISjg*6o*wc$iR{3Vg%W_tU(p*+#jPYF`3?q%AmcT}$nYQWMNRDP z>}9%m%=GmXBSqzvvdEBX@N=ck$p^m)(j~2B>*VcTnOf2=%qIUB@}P0Z*dPv`P>3!p zIFT}_O&VFMEkI2i+T6(Z9{=l0^T!@4u>F7uq#xxhycrH%`Y{>D%|_Cal_@i?`S?G0 z$k9VCe+ro$8+P&)nI9UG>4|R&XDXtiLohmq@lD)j4dQ1xNiWDAFb81bUu1#tKV^PA zm&;lMTX!-g`U9O6dYwy~Mc1PDkdue}zT&nBGcejHmFquD|C8g1tO5gmQIW>b$xt1V zF#7~zXh(WnHwI>MLAt3aFBRZ~(ivtr*<+?Vi=R$UmBfLbOz+n0e3pdsz z1eE>C8$oNTQ$_q%!S6d1djWW86_{nuPFoYRE{vysM{uCa1W3T$UAfBXRL6>LGAp)jX;vjw;*tQo@^fw*oB9qK;?{Z^>mQ8MhbprK9v=kPLA_1YfeTHbr$ z$378&6p2P%AjuZw*RETxCk{81aJvM2vuY(B5Z3u(xJMx{0R+2vCZ^Lfd3P;!7Yq3f zDB6NutOQ2W#flsxJ20W~b_A}9n8^;JwNi-m+t4$dT!`mBih-cLRrIP^BYEA+@&>UY z+mCX>7Dlq3_9h^#u_zfn4fTjU`=!_GH~zaidu-n_VHkq}5UVVxF)1DO8g4;?x8ec1 z!jgv;by%DOKg%cy1`1DRaPVhbq9+1fjO!tL_Is;AjcuRGq#>%6Mjv2p+<_O2#Pdar z-KSf;sD&*7_(*JY<~7{{KtGhaCS-eJ#(Uc?@(`Zn3l=kA5$)z#gF3pg>AiLK^!L_- z+9Az;eaznue)w}8Fmi^_`S{XY7Tp5pSse$Z+-LX^++XL@(%2KxRC;bY61K{7d7>fQ zwL0tK+3&p$9y_2JpI@^>Yb^yw7ZDU)ax6a~$o7@6DF)c#0R$iLu(9P_*-vt%)M_kO zU4&Z~1(uU5+~>=>t0 zZL%LI`wyKURc(aasOJy#a`-vfZbmHGXoIau$mdSmirBJRsN#9=&Fh=HBw}wAR{&0| zpn`(ba%iDCur?eoYVi$8ipP{b2V)pa6s`>=bD9Xgd&nVOMckB#Y+JXOy}nE@NYzls z*=i^(wzI3gD4zGeh<$$(G8Mc_eZpI1Z9LadtHDH_U})hkuFbX7*e$fB#(*HBM1a9; zXW5eYak2k3ctcV=@x6(Cb2q*iWjP>1N7r{($oR<7#bFPYnGtdG*q13}=qi~8T}PQ? zjckzqTci6^9xw(O8S#`GvkEc$z=0wf?A_pFNK`!Wy_fB~kfA{w(tM(9q*6ZX&Y49} zFEp8|;wW$uXwA%!7LWGxU|8~Cxt=j>pJN>iJPq6QVJ8NAQS(_=FjySBM#gieT0HN) zNpic8kvk}q0b!tY0yW83QP=@CW;s?$O6~xz!hwT(X7y!nW4kTe8EJ^^XEpb-pXea; z83%c~fSu2}9mR}_CDIbe7{scOt0%rUKw$330=!7ag8l-_u{`8DDGg^n&LZH#k1ogz zah&oFXnVd8eG)WISdFszSTuYoc^vh07ji=Z3)yavj1b#WXeca{J!DUOZ-l_#g^ZE_ zrH?&D;jZTe-2#FPUQKLU>*pihg`{VuqCVjD_`^RrawAmFeQ$)o{O=}L z@g*HcA}LUU5NPcJ*5HhCxdNfC8tC~E^;l|mSvNy)c?Kkb?J!G;&5GZCx~-G*tCyYC zQ{Q{nzBg<~Mo;=T`gaIk5LtdJ6lBB^MZ-@*)ih?R_L3oPbwN`hZ!z;=kFY4J6>zoM z4u6;fRx5WL^xY%POh zW0mN@tsrUCA&(bn=M>5>Ld*Q-|{|5{aioyw%$}7M}XP=mKH0Ao=CxOQF2KLK7g7B5k<0$Tn8)Pl~zL&}ww@EA#Hon_B` zZ}j~>W`xF%_R~ge$mj>1OSYDpEL-Z3)aRtLv(PT`%isvmX`%%*7s&xwZ%2*KH`H*| zn&yyA{?EOCKWJBUsb41DVLJ}TM+&Vw7Q0kNRTVQJU?iaJf~A@J2o29-&#Ll<%0-s| z=bF?arEHCx?2qb6QZ2}L#x;*)=Mu^Xu>e5hW$heBX20Swd;0tG>E1E%`T5p8NF#^F z85p8!Ih+STr%;1QSdhHM2)Qvd7}AG3&oe1QnDu@QU#_Pcj5sERviE&yZq8Jb;UJ9oWh3ZL_@y>530y=i+G3@pPdPy%g8Ywc0Vs+ z&&>SOV^#ueUna*f?mQkdAeOQIK_Z0aFL7izacD0@y@GgP+NIBZZU2Lc_`)uW4wIxq z7=3?Mr2Y7fk<^mX{)!cI%Y`E77xI{k$NWATJ7Eb+a|LU)wWY)nD7m!f1!>^ly6XzE ziIk~94k;x+?mCLRPOH7rc2*CIW!C~V*hhpAx2)j68!ZCbWAN$1F8r`p(EnY#9~}Mb zE4pD+R4|VLUt#ygMOU@I-QYvmilN|{;xB@QLhF{L|03991Ye5V}LN{F^+7 zj;lg`PZR%=HJ(LRn5snv=k}&x3vSjMSr4S|$4N(+tfi%|bqSB)#iId~KV`eCvkwSd z-^FUiKZg9@#Zs_6=G>!+(E-Jbc3;t`1+pvRf?lXIW-+88=LdHf&+tG6FF|xrKZ!lf z0wlV?OMAm>p_~5K%Pxl=9)C#QNpt3gqXfTCJ(Yi0rb4z8!J2uk8bRh82f_#Z*QFuP z!RX-ikG0~lLJ;2p9}u{_OM5d{;}&%tf4iP>_kbnb#Te!xrvto8vkH*DWu7YHJY?z# z_hULo>c+CNa1r`RB(eA?TBgq@*J3G@yy~^hU>eu`4#eJ|A($5c7||^Gh~NZqC-^y z(vI`rK0Bi4=Pd=t8zhr>&5qE*V4%mR;dcha`GXyc-ao#J{gTtMQejE>0gX=G=b$d| z(%*Kgko`Az1_=45|AhOusWT+o;YX-a)B;6LCPSfS-=KTq9EE1PMuc=?C%#y881!&4 zF7BCC-;gUw7(+FZf_Bd%4_Z0!+ai4@7#2at007nVCj9J z14{H(-60yanr`@b752EZZlSFO>22cp$4FkkidA5J4V+!(1=!d#=DFEhLVlw(|A7~8 zU0a1o@lZ8b3>f86XRr${1aV!?MK+MQq=%Ccibx*qxW8;U@Jo>b?FSwx+v+iQNc&#Z zxzvlL#%IV|iKX8ZNfAnZE0V&YWGEpBhrQkHVPIO>nO2>iwuA-L1)@yk=nSwiseUk> zCHse^i$7G8DrOgZ>2FoUv~w6^zj5&1$hL^is_SyL_o*Nvjj^<}Cq& z61a{t%O0}K6tG`GQ~M<;X)0((yMS?za>Fohw%|#1LHqNDTHC6gKo3b}nW{`>>o38U<-oG$G5E;t#sPvZcc3=d;bt(h~;= zgb{i5rO#tS?1C>a8J!?Gt#gHa=^dZg$aZaH`z{itDr-}PwUlQRSAD_X_6|8p z1o3CcP;SnqPkTI<;_9$$Q8~bd$R9ITA_^k~;gfoz{a9^x4Bs&6wuhS(GM0V_#yU8- z%4<#`(;&vRsDN7D&%-=C(o*wadMBI1e+XSnT7T?aU zR3VYvAY%N(fj0R6PQF-ut!FV}n-PxOF2;|(zw`b5FHbwM7g^jGcgWzgY_ zH5!y64>;TF1o9o2wVk79z$`9M@a`^wXW?b*O^S1(;8ifW&g?zy@dTf903$p{FfRFG z)zb$SG`F2q&wCm{KO{f(_@Wm@(mq5)EBe?7D{K~=(ir3s-M1UlbgOo7xpJ+{h6HQ{ zvg)HQ(w+T+Xeo|ig~!Xf*#piV@H_*yx+ZQ549tu3Mk&KSJxgR3IP;0&K%)pDqR7c) z$i(Y<#=T1dV{aCyLiEbuz;W4 z?p42vUG9a^$Rpmdvq*phXlWkr4?b7G>%?oPA!`-Mo98l__M@0mFf5^rx38ZOOT-b% z0p{6KT53sjcMUCgluNFUK{WEkahax*I@WI37wUdutJZB+cx5a zRG#uj;NlG?7yVFW#zjyME8&=2>e{3@}pU!h%<(vaU}`4by)&x za=JK{)!drJ6_41HUF(mCcejM_>xV=~-5r*Tml!5D6G|UQPmL9DLlGUXD>jm`Jp$Gd zsywv10!F^GFRq!rsS^2@v`52Ab9t{`q`BxSFH}B{WS6()1fwdjnnVAxdO=A13=;!3 zbz#h;n>eD!iC!{LMX(=_)FGQI%bch?L_ZX=^XqGN#YoV)7#=amuI?BDa;oK0kJz(a zn~z7FcVdW?EkJ119~V0|bPoZCDp@(&by<9^Gbk~+uoD>HSjK%%Xo-T=b?@%v0J?HW z?Zy@R0Sz)jMqn-cXbhkWSqn};0m zyw{Q!dWfnHx7R6*k>oSXpAMM36K}J=0}oq$`NnQVS9clD`L~r5V^gsGHve7(mFp|2 z*WkS4h2EMbPj|hBnvXqq5b?=p73@(g@2)+QNF*Pjcmy_5Ot+06N^c%;dIg+!D>M5M z5Oh15beL~X-?n32imbK$1eVGHH88-G7>L{LGy8o<&}~+PT2YkLQY5fcImW6l&jUR0 zukXyTmgv3Qc068BbWcc8{Y!KJED}2%U9B*E$9)awrZZ@-U3HUEAa}5}+7}^FdaF|V z@PMVm!C|iiCf+Umb-Y?b}0?vIoOoR*~xxAq~aydcol1t%Ono< zI4vn)>o`?G`H67Q9%Kdl9s%R>!yjrt(KTJhQ{t6F{WIVJJ)&LS4U>CO53MkdXXOsu zhART76*k<`OO5@ePX;tQkaM%tV0Euf@W8hO;beXY3;F7Vc6*^W#wjDZqRV(9w(8#z z+G$n`pmaOe1!@FDQ z13S*aFEysnhfEQ|y;Qe=htzLZgM{>0UIAwh_;pGA!YQ)i32|WzyqLNd=b8BAW$@^rm((zOtLy3M|h1j#6@dL^)aSQ=pehNoQv*hIAYB-!pVE|eN}dn~Dr z1xD3)g0X2>fZv?EBc7sUTrA+%Tq5pniQhmi7a)3l#j>Qkydrr)rFfY|6LCSHJ)zm3 zRjZYP=-YuBH2?K;Fabv&ah_J!A^~lc7Cq$VA;0dmzuZ7#m(ryWH4yxTX?w-o0bf;G zI+i9RJ8%LB46LC%va~YA0A+jNHt0{eK`!u+Np@VXk7_OMn~qC;&Izh7GESk-bAk$(xRhlWJOuzrwE$Rm6N5wFgDqnSgjXAq5xvzUALWT%0Bi z0tw6QXVZZO5nwACPDPB~F7=H<UOcP8hBTq5%=DVxt+QPgvOb8?mhi5FTeB`ACm6t{D&8Ob z8dzO6VW`-8z*k>a|8`yliWx4x;Pg{=ac981Qi&BHm~;_;v5LjZIWIAs7PXY<)SDS! zvt@~ZJm&C#NqDFLf9N*slVl{=wr4_Srr%#B3RF<>VH|KgDJn{EiB9}qraT(2qQX)y z{y>Pd&{X{o<7!+b`{F7Chh)-%t021UxF73uOVMndisCWHXUwST?SkHs5(Cz6_E{Dj z&H-Fe8>1~$Kqup%1)2AH&Iujh3FrexWb&Z-zI9D|q+YwM5CKM_*QlRVBt76kllM?t z`EV%kBC)ev>}YRVei9LVCIw;7#BUL~7kS9dL+0&E$|m*hX}0w#q_s*AC3K`zz-M=Og@;8(Rfo_WaKLmpSi zOt^oMk?2##27Fpz?VW|eK$U3+)i~;~RB#86%3jE>8}~u}h5wz=wnw=!dBkum!7=;O zbi-wAy5OLf`Mn~I(r^K7^o+RfL>iGpvWM(`zk^#PQc3`tDxgvUerGLeXn~PA#7z|3 zak-~$0J$N?VIYkcm_nww2-$~M$Z+!l5^_aOVL{)JWDD#4n+jQ@l`CXqPc{#E$er-~ zPm%CjkU6Pk0ehqq5xXSDIGY=~(<ilROjzA$gi@ZD3a0!VxkRXtF;i5hlVpeXzJq7*KJ!B*a zXK^m=nf_p*f&HrK%U#Jr&K`2PLgrW8@z{6ezII&G9+%xa03C&?uy>SffnT?@Pwr<- z7l0;i*A#X=W2@y43JSg`Q?&}Q*J;!07*RkS_g=6gXyS;##y5U@y0c)=c&OXKF*IV|q*W2qD zZr5b4OO>1xHFS6^Y?wi4i|J>pWiHWzrh$eThT z4=nKJ`c169ub!#1r@h|)*_mKBz=dtU6T}M3l~=q42_Lj0Ba%4l5u@)}<5K7txG55^ zy~KbozMQNrUe9@5UH&uPV;8y{s zON3HDmNK<~Hl7e6af$*iafA6wgr83`3~_<>PQN>g*|T1s&zQ^hLgp1X?9=xD04OZ* zak2&(T>Z)INbEXq2a@F!>(Wk|ck^Tos(2#cr=nt}3$ga_XUtK?&MALm#$xugH^MV! za?`d{#^(zF_t3k-A{+Q<1hvGRH4Coy!M46Lu;OSd_uWZ^sgC_lO)dw;V@C2HxSRgC zX@_D)2&|nz8>~TA%*FHGAn#ePOuYwr_oqUfw3|V9FIysX)w3T^>{Vz8*SY@4~9wnoXkWC(fA-x*U{$>S*=(+^NsY3x$P(-fNBpu zQ5eTX-Y!affX1vGwuD85A1#Qj)~lRAAl1n(tt)2m&sx_Y7gjxH-m(Lc41SIq=K@lX zOHpk3HUNuR*K+aHH}Vy;HGXj?QU$e%J-_8oQZND|?z{zwkK15~;mFzORB=;kw;Z5+ z!^U7%ce^QqSnO(TjzW^I9kk}`$l=joZ`lYluv6M;fJZG z)v(1yHpK6vySDPaYurbj$_Ds)2P?HN`?F>_zh%XY;^84pv%s!q3QS7Oop-*yU>6>< zr#~9&GiII0`7`EU#)omuRFiFD`8?o&-mK#@u$%{q~?=)NsX|a5+ohN$q8YkzDSXC#{=a zO@wfgVg~bOpUZSzlq7z(PyeJuyW|jW3Q;Vc2*-HFj7`Ch= z1Fk$MPQ2EfR7}Lo$6+zMzShLFqOXg?6X6Wcm#}Yatx@bQhu|o)QTZ;?GVK~eIfRFC zX+Wt4{sQJCDA{Kz=$(&wG81U1?!+r(tE3N91r;(Hz?uNTQw1IT^A)U~2j?pfV*T|q zWF{1AEEJ?S16_gkSa!(J1cRzjnDcNMnB*0;`Hz#4L6&8tD4S>^CP4;K zG+T#WB$@Lq1s$uW!6{TPDm6OIb8|b(;c*F-_=TDMWH6M1uLdtcLL=nMjL8Ru9=%j} z$ow!6XzaD(67iH!&4H?^eh@cS$~?8ge!RMNY((Z^&A6&(!8x8G3+MhL=0ufc=Wxi# zx{0i7p$Kww6?K;P z#X6)!YEu2B5JWgH&GiWatQ{W=ju_ddHDSa^V{Oo+<^qE93YoE7-CT2ojM#CC(zR{k zqj(PF%4k3riaStRT~kwvQoCo9Rv(K8*C|a(sp?8RbpL`1tTP6%^7q&1;fakbXj`7H>5|&e(S(*;qrBz5Qw<9;!*eb-+a) zG9E?JAyUj3OC*Jyhkb-=nDJQpNzNq$p?f}MRBd-pneFqK8l;aRv^=}VD#U-o*IF`y z3Dfl|4FUFI{kinBuanVa{5My~)M5>HG$Lm96q!>;(7j<5O-y&@>b0fkVj<_(>u0C? zmj;C?2+fmsIx6U}AnMc2BK7)3@d!lV49Iz5?R#Ar*7p@9ntn>$-we_|Axn0p6?&h&%2O|ex(10p|XQUYL`y6bHFTQKG2CS2b;n40!Ipf0VLIK zz$_O8`&&SHG1&>y4kFQgfNuuGo4)+4$ntAJb0$I$T4S^}I<;#KH_%Rt?X zCE5`1iK}M79`jmG8tH+P-0ke56R^@Xo(0~UNXi9mhv!Mg)p8RuC2YsYt6(Jw5Qk%t z&yy|OKfN}+GhzS@UY_(tZx#-GOvzl<s?PO)1Z;4;O_=#_)as&a?Tk&+8#)$=Kr zjRz%9W*q&e?gh(HyYkS*84@;t+k&G`Ypg_2^tt64DSYwx#JMS)j*e((!hi7hS*y>F ze5F|uthNUnv?G(Fgj{G0pCM;CS$@aNECMK&1=k8p*(`@^JADy4i1keD80kx>7%&3h zO#ub_FqaR~Xw^UkrY#{;s$tgcs|VzWCR1bTz+?Py5eGS?kfTaZ_5{r4P~`d%v86EV zFzs!^ECP6=`>ApngW;=SEf=ra+7d`jh*(F8x$E__q#-HW3@5+=_UJMOB&!@ga@tK$ zZ3a!@{lEZ#S!40$$uBDT1v-VQu4(g>e=$^z38*kC;xtb>8FrmgQ6~73OwIc>W!9S{ z<$xI-D@nr*R+1SD`4o;zf!YF|_-Jdx3T?ZrHCprJ7t<9o^>yDW2_h?Be=3DD07VfT z&Y}C(^5SIqFo!tb6 z1_{+{{bOlDTthTv?LBYu?wmeo#)%|J<&d4t69wLz1|MY4>L?vdLRi+PxJI<%-Fz?# zwF8>Vvh|2?WPHcdJo&|P#mvpT*`t9TJGi*?pQQ8k@r6P{Ofcj1=8zY=GWZ2(c^WkR zbVY2Rd#+M#s7sBZabvhih7QKXc@jI$vVh~`D(v9(ls)^!`h3b|yI)Ow;6LdXnfW{G zY6NBkg~AaOWl2a+gMrq#=Uk-<>jr^qK{Bv+n1`sS^M*n}?z3WPq($7jeZyk+^cUM7 zL&nr;H_%UD!^jWv{g%~PN5ljbLlzEj{_nFq<)%=WXjF&22+n+*s#Ma!(&8PlLiV(- zVugK-E1Spe=`Z%@EmtJDLtP8jK>g_1ZBOV|4}ZsM%g zt_+MSrop}d?8pfemQ*3=HwPp!=x8lsjrArk2{QtZxO&9n74c3ll_I0Uv<&_alL(jA z0uMq70Eke-&mrP9<4H!Dl&V*efpRV7Hmyx|d;>)buj?AV$!nR_JGMGwDHH{mv@4ZJ zy`}g};NDsO-5#6OdzK(#CIo`NTEB{%2>L^lN@eW;t-!X&=mW0PX1;^*ql8&=ug_T77#!`U`P4cfcddzpHgpOQ}fIw+eey!qi+&m!XFjAo-*t; zl#t+*0ubs=g_bqms833w4u=!*o~$YZthqIMHG2tExO^ZW!qPq{{q*CLtjQI!#9L5^ ze1<&tA(yS!brw(^YdT0W~( zSRXYSh!by)%-Yt@MZ!N!=93kOZH(tG4NY!*tLzqrXzL6ZG(GyE@eq%h`Lca1$ObWA zTrN?vrC%&L>9&*_>oexocLF(TSqHw_^1Y`XCjr9gvNr{BEPzrv7y~qcbsoSrfx=w9 z6xu#VDgv5@ca3){c_D5Eyix2yj@ z04e0Zz!6Ro+)JA5;~R~J0w4@%ay495yEvG^3J8FkG5__!z({EKW#<`H8G2aA*8Ran z{NeN&CEHSJyvHwpJ= z>%e>!hliYntYqbukt^Z>HZ8O61W3B!-D(Klb?M{S)ys@2IHJMcKD;6T-C?oF2jc*= ziK?4tZArHvaruGyCBHUZ&6@{pFVlwg!0=}v^e$BvS4z!TxmX2Zd0i0o`vvq83JjDT z9tsT*yA55t;=`fZ<#-gy5_XrQHGo;JnhIIkE%w(r8v@T-x&N6vfhulEyF-zTMDQPZ zAT`?P7vpD@z?4Y*7dt$4K_HZ)tc$ODF0oaPxc?!1$Jvm)4C7=E?bP%M41q1?b!%9q zXqSdxbdql=O|!WxX8XVuPq2=uM7_$; zKs{)?nOSBgPl5%sl?Tl_Z7doO7{QeWCF5d2$17;s4pz8s1T~Kya)trCplAXgf$E~T>TLX@9}a8e;=%??#-%ik z=R9OCjvcR(B^rjVQU*n}buM|yagRo0UAibuhAk)xwKi@bnp}`kTgU>%6Ed_WC@5AG>3vz8gH@20RYfPQQ5kL*?L z^*pdhL|&Qqvy7`gf*IPOL*ctwhsP{XV_6uOQ@sr6fCPl+w=_zWmX4av^+s=S{?#FcBJt3unf@U#!Sqp9^lO6RRz~} zQOtPUTjKs!_=%EpkwE$N3jTG>2r;AZTd9OWnBT|Q-favip$tUlY=C60nBTpX8WeK` zA?Owa&whJ)9#n;N#SB1slLw*cY-nC%YUGYVL1_-2!?H7qh{1~LA>YAw#w5 z!Ls*3n<`WhC>v0_P2J8NqSOy+Gw938=q@<%QixFRw*d?&=JAZ#y5UV9h(03*wWxhl zb3v;m4dR-MRwH6hQWU7d@6k37o?9-rLkU})%(e&P?VzK<6vO&}R2HreQ7%6kK#&;m zdm0px(PQ>B80YIb%bVwC(CUks{)oB(!9+k|Y^wac&AMzJDU&mf3Ii|ca4Ra|9nZHA zjWi7pIx(Z0@x==z=zt-0SjZiq1@0V`f~Ub0{zK5e=x^f{asMF=BAdnrKD#t6DrDD_ z&O^otiPvA89+dbTJ*rDBBf92K8Y(fswPIN9GG4w8ZO3T;~tX(oXnV|a8jqX&@eRV?1%$~fTXs8-7B~&Yb`Y=hXg3gAYiy9-a`VbVt~w8 z+bj`d4>(y{JbV(<5hLiD9^p;TQd#j*_%AuL6g&&2I}1`E?dbZNYtdN&gp}*4b$cHT zLlew3Kyl3pC;YGhJP#RNdc9lthsCi_YqXDDsax6#3{0NZ4OAQWnhN*M&yPY-L=W22 zU@Fg`t#aKzX5^dgZKE1t1FCz2TiHeGw$1PP279 z(7hHAt-^#00?)B-1}>nOZ#U@_JPoG$jJa-wbQ8kD8FkKzD>%ju6rz?g0UE-h9-2cV zbw~M!a4R)uv?KM<6KrBXi`!F`R8XS8$?k1mL(r->!jiGNd37mx9!%{Yo(?D#nFbw! zU>0mQd@gn-O&#hWceP?>=+2nTPc&BBDu#ttN3X)+Fqr}9y6ZdWy1%twc-uinR+D=TLXSE z@Q-}Z<6eZ=*I);NhuZ?xTamgz1SxtN%y$};q{Cl@Tq#+R`Am{roAIUtW;n*wr%)R1 z0FXd$znCXue6NvEs1#O%kH=o0zSJ5U~K@>;9Q_9{!V_$Jx_hF3*q||7{=hK%GHcY7%YJx(YB6&X|5nD`wcy z;B>5gtzdk|qY`BomDvceG*irg`^b;Z41_V^g96-au>o27OARoN$Lwh^*Vj##x5wFz zC9=v1E;$>SA){sppO}Kd!VnVv!%hS9XsD|60^zW)U_Fr8&w%1=&Sp%U z0Nm_Jz633IY3u|?D@%v{tTx~Xc|JpiEbyO0&LG!ciQA3?o8>HLU`vAS&Vr!y8x(FCzbJ77wx#QK8V98lmb`TG zLz=8>R@XZBtH&RXTJnU2RlQBWw zy%{D7xnu6W#*4$v4LxK}g5{M2|MFxsjAga>Ngx0aQ@Dm3nHrnc8b(m|qXD1X0``qn z0cWLaV^W`@hNbW8S}`88C&6+jK{y9k8-7RUw{z$+C>3WpiY}uUe@IC^+NDjgF`=2! zq8Cib^NrSL_{~+;@QY4^zJ2FS`(|ikPrsO%WD<fGhk`2klW6y(yk*U?pcK~+&`6qU@!x~1~6Q;F$R9mYRob*;OzY1 zMAU3|1)70xa_tGXsntF+-w0#zka=k}rWu zUY?B0HO@8ey$T1z8h!kyt*U0*az5wAb%kD}oh?znBsv5R;8g@sr4tsbqQ$)gwCF8W z_5>(}F`XxweUu$x2J_qut(LL}O9@9gL!o0IQCaEIogkP-%+R7WxJf6Eu^dvKL}wZV zx#;{8X9#H#dNxUnSTx%N*#Tn4+Y>flc|B*(fKnK{Vn#9Izuy|EJ|VcO^%GSn?#J8- z`FS{agVcXnAgqu15%*oSjM*Kmfw|rJDdF9yxd5bafd7$&Z3xP%(?5&4KRZ*dr{y zAjh#emoa6}fi*v4#=343G-LST7Sk{#g02aMQn(^UCj8B}+|XbE2X}0QBl0iToR0N9 zJmx9u<`wj$RbFHh?AwF^j1Z?-$gEMhbbdW?XU~GQyn^1Yt7;lYyVRu6^b-g-AubM# z1t>g|axIB6%_}ONIDntL8T+i+@3CM(p=`yBcJSd4_(^Y8^%gRqEA_Bfa>;cwS6wIC z^I)y7o5Na`-EGH*#YSAxb3E;$n^-Z8ysK|XBZo_W!R>uN;r$YZv? zuzkQo|XnGjb2g*p$R543c3TJ@9`Zv&wA_nrn$53mC z5)Xq(F;6VZzU`Qzob4@Urc?R@qu(!%;+e3%G9l2G-Pr)VZ=W{ac6^eOz7|Oz#oDaK zpOzblK9B?yUhPUs_tY7-9jr8cq>O|l)XRsRfdmwsk#T6$b$c`{AWB`VAcUOgsCCYaZpK{EqIVe$gY`~AO{gNdNDju=lj_G0cV)wEW_rpTEWS7a0Tsou-$o3o6H>u zDRfbE$4PlbW6YB`pC{C97!kCuW7-iyM0NrZh3a)ZXjISv>*#m!SFq9Z0WDI@z%)?4UU`sl@%BOUp+i+oAfo2<)sMIqc&1XgH^qE($vqALf>KC0 z&oebvZ+MhVw=tFTjj$g+TVyMcbZb~yZC>NPX>voot+L4xt9}EBl=OYz*mf6vh z27Hsu>Yivs-_$-5kHkin{Y~Hy}shGgh*0#)p0Jy=BvCP5cdUsar$Pwus62Df& zow>%s=r3Xq5sN8BS)z#DrqCny9N1ntaHbtZbl;>{KRUn$U>K7%BZw519ZWL~K6(l_ z;k9=VR?;Bu2%ahC$r436Ys5Sd{?}8^NFCNCb&G(~c{h6wY_A+x_LXRsBrO1K{aZ4s zc$pv`QBhC<0;U4VVyGG$TYX1)e=j8L;RBGR^;7XIOuTe^mfnt=98*F9uEBWNV|MVo zVy>P8+p8Pg`^Ef{12JmG1BODq2^=#Ex`Qa3>9z{}=5_EH;rRkd*B+tAY}tp=u6HR} zZ4WV1d|Pc8*8+qQ?uyxSV4MH&IiuGK1~Xc2plW;&`zvbx0S$*P%#-qhiXBk>3jX|ERS>st!v)fvv*Y7gx`M{gDL)THZ7%zjT9mg1o*0 zY9k$hOu&&7^MhJUUxxC33$i&}O$u##_PMho&v`_MC|9mlpUE(HI1h(s!T#z7bKi-9 z#Kh|0&*dAaB)JKlOWzWIa>IOc9y=a>nd_Gd}rrK1x;0 zMPQtT<^V;zX64nhV9(D7&8PJvWGE&F^U6$z*Ek!})_^L(MZ~De)lCIONE9YPbD41J zdSh|R@~H5OK*n`EJaQ7?c=$OB+BiMV?x2&_r>}jyS(;#5TpLJc_al6G?B$pMS z&(WnUaVbMzo@qtpeB7>zNF1^0jsVhqj?^`Ksc9k91oqX5P9Wk|etd9JQuRF8UwIG= z^){`5uk0FmGnh&a_Ud4_8NXSo5F%bHV5ZScD)|8Uub2y;xy1=6{_J3J?Wn^QV-X9m zx7y!AsA6*&_PQ;y$LyJ~x98zNy!z*f<^$z;u!HATWwatpk7RkF9U(d8#b`tO+>RWp z04rMK{iG+T#|#Tg7A=Yz7CKuwpK>AIsMnCs8;qduD+ZcsW8HV23wwVb>G9tuNfqhq z=T~^rz|I2iRJC7)F6J5*L_{OFP{4}%qek%epgZ>`>go>`G|*@3dRNb7#mjQGNX?UB ze~(7P-tKlHOK0C({#J}(SYI-Eq)vv2!eC%c3)s~{vU2U|n=&{hd@TM4iJi;>zY(bD zQZ2!on#=;a$3EJHs?x}EEn%By!+vMOEP2*VuYxEHG+Or5^c#HtkI)$GUk74g73}DT zYU)77f@5lt%ehHGCve1A)D2)o_G>F>G~bT8q`ZduHhcq8U{

E2Gb+78BeXlKEYkv8luJ4l*%BMDkx&Qb~Gu(`wuz$UP_LUqA9 zCMS~x8F$9>ba*-(@fma6`7BuL4LqWtlOrEMpb9FL5^xrfo$|-@RhxY;`yuwg%O|#yVk~`Wrul}N*FNWV}}3>APfaPGQ@e8tiQB-S)$lMhg_kcqi%K& z+Oy%v|1xLbkGQh=1D}ubvAH!8p|Y#Ei1b#I~#mGo(@_!p)EDfg`+-0 zwt{L`D0M3FKI9zZ!!D|h2Jp`^+CVNWJ3Fi&7+Z6jVKdy@jk>fP%oSsAAno9K%t%-F zC4zKzxArYFL7O|~7_H9y0MKXfPv&UTc`?-2o zh*7+VgBjA>0R%@s-|uaY*)!qj&zQG4Z|qu_piwiVRndy zCUcKi{WN0`4nJ16240lxc^FQh!9RY=kfrWeq9a>hdKfwjO{RD&t7iWiCG5&Ri)$P%|GF|-IL&WwS@T> zNPOiTM$!cezQz$0^5Ai>XvHm7BlF4&C~!HdOE|?{F*905snLD7vgbg%J&sv?lsov} zfo^bj;7l}Dx$!{AbkBkFJs6d|>Q~GnRvwJ#A-_4M-BCSul{H3+K{8#z8F)pE^TJpy zKiK}L9@_E6`VA{ZV(wr!zTC0(oTEgm)}95WxwkR8Y-*DO>_jdG$akd{kL8~dsD$7EKLP#e$}ZUEy3~k+1I35 zb9vjte6GEI!LU;pGe`xU_$2!6#Rb zVYL3tCrFEK9<<0v;#D@Kk0Jykoie0hJK;;bB1?-WFdsyLC_ijl?ek7Z&oYS{)nld^ z`*Q5{m{a!KTz~F`x68*MJNdXZev6sKC_1P95B0pRx**?P>gVagLik9tsphqcIE+2U zjPu0%w-DDT37@t1l*ze#~85S_?)|?hYa_C0)uz>K4TbrSL^(Y0n{J{!HUr(xP z6|?KdwD}&5mbh~+L&v-KWjxFJYAk3SDv=n{N3m<{eim9XSOdlN0a@|BpW)Su6%*Iu zitQ+zM(<$PJW(-Ax44IeJ4a>R?+q7_Y4bfA-5RVjLj#>d-6d6(-lchpM;lv^j47+U zazSu&m!YSOc;5r~EZG?*lj!k!>b7St+Y4QFOLGG>`;ZmIT;Nu1IXq;gLG&-qkZbtc zkgEWm@=pe0@(|<1eG!#9L}R)SH(F87Eo;zkA0uFFg^Wi~J>dp&;`5NRhy3aU|1#uh zPp6@8nMum?;pG}|MFgFhS@4t~1+lw!L(RbRrp? z_%$UMn4Y3Ugax5)I(SJLVOPy;lMh5cj3BvLQ(SC9*R}Vcn+N^Mf^3w3#%$?6QT_%x z{mQ^fg#Rq%9`FP779uR6)Y@3qGOvRGa#tI8=%DF=zqTxB5o(aql8YFM00(0!iP_Ev zw#3ztmiLU}A~HR^vY>sQn^7(jzCY$4nN~?<1|q-LhN$w!m9hq;ej)UAYMu zmuA^4WY--ARWQ4d5N<`dJAsp20vm^T&REOpo}b zAOl!#6LLXRDO~?ym#Y+kSQxW6E58I(lV?*zRsonQKABg&5Aag5)u=55=5zzyJVfTb ztvc-kBP(Wr5T*ZsBDsW2mxRm}bKk9D@tvnt%@|ow7jQ_a(lYo$sA7e#12qvV_gV5_ zc?Qer>EOa`&~*1WdJ6AROPRo({SIDu6E?*aPlxE`QDd3ow}vaobScPq$ZjCG;lP63 zunw4Vlg%Kquu`xG7~Wajp!nIH<`^MO$-0w5xZdm^U?lwZD4q|&dWI@LG!67T#dH-f z%>E)2hP;yCK%voZ4OfuqQjocx^G++$vdqsmoZl=D=HFtvI#}D%Z3PWmK|ElIlJCb1 zim-tH$xwy=rwSI^>f&7$B9s+K0RTG&|4TxPGn`i^=<+dL@-gc%gVx@_h?96lQJ*0O zN@y1?KDdWWOZQtQB zdlHm>%oTGETjB4_U73V_4D#9=?qr4_Z>Eaq4sXS$gI$o6I%kx!!?1unsh-K@6ojm5!R7jEXFIa(ADIM8Wi+*&>l|J!m=5dC;B&o$n7+N7Q*t zufBs$!cW;PIH`l&R@4nq;6FpNV~43d3Oqe4NPr1qa`#ZhwMtML--Lgt5KHKATDJDfd?7yV5bb?JjzIyv(Zrh6GFt! zZ-GyKoeg?1C`?kllk`607W=-{Wyv)tvfG*OmLRXrADbW7kLk{v_mJ(<$QvCssQYMy z0HTw{6C=2f)F|vIixykLlvM}SKCoNp(N*3vSK3CnA}~s}dkc=0JY4LW$)_;uq>8~3 zSDGIus^?kkyM9b}+Wfx^nYlKoj)~Snd4|l_5Y|N%Ss{1d`#46!HNFWMrvH~}8zJZ5 zDbQK-|0rZTAZp7?(iR>_>~)rz9d-oYv9%5>WR~-3c__)Oj3Kan1#_Ras2`--s?H zOS_CudW2a95VB1X2f33>rz?h$+bbI$x3F?Kw=h|#_f%ALV>!MTfwduK1XX7Y=! zghZJ=W{5tBKHQ@t^>iq$0>SZ!Ey@ED2tVbt5frN_VLIZcg%Lzt&)D;y81v};6t%5k zzwsd}-Xo3a$0A>BpyG;`q-Knha4NPhpjdPU%w(N*lnO=J4~u7rLTj&vvP)vsC7^MLPe5UtKqb-QnabyFjW8N6;X>0RFZn2_KZp?o7g5kg{x2X?V<)XcJxH?>doxrv(^MV1X`ZDI;ii((bEHLJ1)EElHQuJ!m1q z$D%{fvQLqWk$1Z0N+>T0(Ja-N`c}vi!@iv))`g4>zx;AaQUL28uFjJ%f5T%qlNfq= zJ!!Pl@y9BbCaZI~t%m4^Cm<+$qkPG? zN&gK&!u3q#5v75$hz{DyDN^DOl7V4>_sS{B-nI(xC%U>N_F)CFQ2pje*tL&3kA;j( zfZy9%A$!Q(LmvNK$Uqj6RH@>>HiB^a{clPR^T4Xg0&!C@JhZ?FdB4*c~n4U3fR_q~COE})hM z0MFH?I1bk5t_xyPh)ZBLU}Xi|fN#Ilrm}Qn>RTbJ3Jiam!$?K6;0yyZ?bA|iSPf0+ z(1(%-n1n27c0LTpDCs67`vLGLSE=KEA9U4T3(>lRr3=E@Ts<#VCY7kujI(rOs&6B@ zsQ;oW9ZgNLA=t)Aw zRINuIHaGJ0U4r^R6W4&CT5RkLJ>&{!h1Qj-8jl%0W1qi9yy4S zJxi)c)etnH6Sh$h0>o2fE6GDHwUfic*R5am|mqp~&L2ZNpk61=sT zzNQ}*V_(m?ddwSM@h>66s7zBR;3`w?W~`4umem~~oMl>bi8_TkGXlw8&o46T?4p^*t!bCE(k$!aoOwy4m2lR?=9orL?s{OV;3I0B6bF9 z5~r-W*V&lV6kmB8a2~9m&-0M$#yT6_W8R?}CxaY#W#IHbGmMJ*6){7Y!np+sm!t{o zC6dpX6*Bfl_3_f$$c$d2n3`6>3ibee`QUVrxDVt)vl6%FiXQXun7=hmj@5HSWJ~sy z!tBiUThl~!XtBnVW-oD88G5|x&>*V>94*q~qQC~ZdR+SZSjA90!|Py76WnN-YBc#e zFiSh8_PlGF%s*HPvP>P5MKlwut};|l1{Hw@2TA#)Vrg$D1<`yvwfUBtiVU$PIH-Wd zitARuuZff=uX@vQJfSl@o4?w@>`Aa}m_^(uPnVq?Fa&L}N|vf)kqwj;7FbgN&k4R; zE7smYWJI-|3{sxKzGZm(NVK$#X%Qr>lD8zdlHF&w#!HyNEP4?l@&eTRC^jQR#w%bwWPLD;5Q?#f0`M{xE-hnRBOhz~O5KOi)HVgU z#(V6wijC}Pu;xl+#GhQU!Yn^R5fmhMgy5c*Wq24LH6&Wu2vH zib8fY-8qij2=>8DAIWrxU?QL=DZzzW&gATC^xxYyBP_A;-)t#r`&{nN9B)a?3c9Z7}Fape@uenOm7nd|= z&xGa4gjMM5e|kItK4A^h<2wnDwk-Cp1~(vru*?I zNL^!xKOo8OEXh+xm%wgitHO=%BH9`hv52ks&)QFY+7mzv+_oJUIU%Et3cza>SsD`| zJVU+*^!RJKFU=S_wRgxUO8)z)29Nk#Z3>_@$RadHA&oxOQIcy)@tFr5m0dlkgs$wo z2n9dZjSKJ5=QqVaOELy8$9Kq(LH>2fDZh2~xRGHeuNffaR zCrCPo*~8*~A_mu=0VuR2$zl18BRuKK&ioyWIWd-KV$Aqa#>b|uh?7TL-vjmOqCiNs93+nFXZX7c&1G>YIODYj+F!1{;M zy|=}fk)V%5c(ez7xq1eHpye;;L* z!=PC0my9KO$XF15Y@R-DuM>$TZ2mmEtcj9`Ts-9d4jHt|;VCo7VR;>`iR1MygQr~8 zQj*i;O8nz8oJ0C(xEIIyy5bUsf~cpU^t&RCUafjnghqm8N+RxRz+HtgVx_XqMfHfs z`$ldjMLj#oS$+(kuiM!7~>mIm8ke!u`vJ z&r4W}e0xPf3NH)h$G0&{EXG2f?~sq>MMep#M3u4hCNQc9IfIFz9Dvm-lwyaNE?Fmz z3p|cnn~rl4JNPF?BA)jUh6mg4F{2M83^`q*EUmxYMRM`PS2p3obY5Wo!8lwc4hDmO zd&Tk5Y6viDCbO}LycUDNl@(amPujyc9Ie7_=+Q+3;u9gQl0XVm>U=C?5-(2<}7d ziMs1MG=&=-ytX3k|Dbbp`=x`35;f4 z^00ch%BM)YLQ5s1)2=Z8dCEA5XI%+Ism4RLBm7(8hL8a&LNnkCAhPS%=j!>dl>HSv z9OizgJopZ9SRN_!AJrJTG^$THl8C#{#caJYs1f$C-mp?R544*-X*A|dNf84DY|V-0 zQLUuEfYtL~sr$J&Vw(%<=b#I95UT5F*hh+@FiQj8cg0)~A8SbCGWvmd{2UBB@K~WR zXcSU|@?Wi{w|J5jX4s}1@#@u6w%&+!&sEQVrEMXHQ!;^XeYN)_&fmXBM5wxTDmEtK zIWe1to$+wC(cxj1M4{3pG1aGwdv-@deXK>$ngwqh$8w!{hU3-qU+G)OM@EF$YSoqX zF;faM{Y7{2ZN|VTBgjz?Y=d1I)*(JBiwIoXzsnj;a&-!svB0;A(3FG(nk#Q73=i28 zU>WWQ%=@ccNwdw%Ddym3dgy>uIGyke}oVxiXR&OshM3NeUV3EF7@C zE0xknP{`Im0!7rfT`ki?_5@hwJLEi0n(7&_<*kBCGZ}rat<4SNLzq!NXf+`u<$Hg0 z^FqESpg>v}q83KFlD0u6By?byzJf@20u@5G$4V|)2T{&09Q=0a z%xgAYJ^j@!{UH|dE8;(NB}m|I-?4{mWuw$5_^c=TZ}&q^)XC6&f>wi&A#gXoW?q*W zJ608rNmyAjzrJrRMOdTp>dCKemC@O~CG!eX$snBxI$>RMY})NR6?}Db+7})jEa`^; zBrh`}OkPoBWXS>I>wio+trWpJ!pHel12cPYf+FEjudrZ&tW8hz{e1pI}-bQA;cwlSClp);CdoJcW@}$~Zwmz-F6H$asugQdHC7cbF7M zJ1HgkSuQfQ^^iUJwXI)0c`#t)eX%>&e|W~OL2b2J6J8-V^(lP($k36hVN1P0m2iz% zd)qtMH23rl7q*oTSKO!Ur=tnSAb9Od5Lj8aMf1$pwp@J_c0+pb;%Z|lphbaNl7LEH zMFS`ZB#VeFwzynK8ZGnv`^_8L+u;t486puQSy`@qR$&oWLCE5A46x#r0fR^EiLcfF zE@GTEaGGR*4KC>oP^41hv*!~MINu(fWff>h3K>MBoh>4cXu`I*@*djY{^B*yd#$}A zKCT@C;!ZN35U2}HdQp0`ltVq7A4#U>^sy&ow?t*up5~fGlJzO<8YtyB#5ioVtBv@c zY(gd!1`VeGqN;Yb*YL1;+G~A#@4~UTAM%*nze|a8tMnq~%=N|z#30pfC}~GM^cZei zP~w3(zS5r38XkDdE7uYzwY|$#^VckNFvFI0EJ%ASWdB7E#gw4SYof?;sQTue6&>@1 zpzXHKh1Elr$1S5+3b*>;C2ZPI66o;KBRn(uJ}cQe`U{>cL|)}&O4Skz2Yxzsi0N}K zx5pZS};uPP9FC(N-SL*52Oe>ru*zp~*vYnc#vytfo9R#Oe% zG4|4H>Jnif%_Z#}DLyoHVeCFvo$UHSidbSWD9&!J^(jxY>payKk(T$VHs6xd6?S$9vIVuo%VZ|DS6tIrz<)3{n8hH39G8HUo3DAqQ4!~@vOl>}!E^$L zxBg>~P>9vQdgl3mv?9o%+Z#y<3E@_R$~ALgH5Q=!bh$aI<+J(~LySdppxu>0Dlq1b zx~`8r2VT0~@<|H@8~S~Iak?+;zLH7F8V2azQE9e3FOh5n zpqs=TtK`#ZvXhu;ZO_$~yX_rrbL(C`c>}#zIBvIeQk!V zOs>aUnVBnY@jWo}>q6=A;9#=$jC~>37e^z586OxCVP(VE^S+^#m&aR}&RJZ&H16u7SeG+A~R+LpYSp#wiW zd)FH6hQr(w1~X;J9p63Q#DT*{e|&l6;Smo-JhrDSQ{-PEll)H?^KuYe|J3|q$ZcEU zWEPcUeny^FP9RT2JDsze?@cbC3p$XF07#6SsWEsj>+%9Xsxz(DS~4&_rmv>&z@=kO zDtm=xa=5HoXm}0mJ05hrKR{!xq- z0Bnk5oe&IDfp7PkT^WGF_&Eu7pjAayLI=e2))-_xdk;B!$nza?jlb6<1M@IJnYDBP z$mbnNKylt`2@;hE8;pZ9lNpe$nL*U;(gJV?l61UNx(3$eMcM*V3)yF6vj6zCeXSAJ%l%s+_QS73pFUporFX%oieuh}E za$!_W8L_qlHvn$;p$kWu-9UDnKwwnh519-3{zg*0b}sm14QX;07=BmFl7O+0w{vkC z9zs<(T^Bf0Sc;b`V+#4MiBM{`A8+M*RLDsN^>w*k-hOZhJlk`tOX{y9W#a{g z#9shiy+fv>J>(Jl^(_|xE^L5>5P_x6;hmNja+Tj%U?z>@`3TZ`KvU}hjvx?Xx4H@k z#+|g!6-sY&)E4(d!EFe(X&GqB`u7W*{}uD_nDcg&8Rz|e&Z-1jw=xFFuR>p}x32+P zw98DJ2nI!nPcSB_j8-{-4t{ZeRKN@?KaH|QdC^JOgO(HLAU#C&>{v(W?TCm4WFWit2|~%VzbT5~K*$x?5Ykbl`TF|e5+nmh zk&2!dFv9C<5~)dY>cox)-^=F4YKUUlJ*bF9-dK`R9m8jT|EA}@8)xRqrTKST%1dpz z>x1Xxg;OSB0tgB*Wo{+UBxoxm76yh1Y)pGHNs>4`MPP6cR6(kjoy9^R%3bznXpHlX zjq->+_l^E_D<3Kh%fAON3pUJb0$3juiOi8^GuG@}sTD!77i^2CC10viyzv8ShOptf zml3x|VTX~OHJb7v{(i`w`^NakkhQmtzYa3Gx)Xm>6pxij1ZoEZmD%;8Uj7{90i~T1 zx)sI;9y0jD^5QqM1ja#L!A^ zQ1n29Vf2t*u34$zW{*q>9o7oi3Tw236|fblOf#eOO@`B?`5G+u{kE8%`sTB1Xn)^b zU(^EZv4OwD*9Mq94n%k1g8S;NX`-`Fus%-2R^uT&*HT{Tr7_C(fIaigr?-}?@5!PQ zSROhjLH84qLq!K!Twu#%_J6LP`Yt4T8Qyb=Fz|i_EN35v#KYOEk^OIr%b+tLw^5jD zVRc2TH03<^q<8-L) z)rzo@M(P8b4y1sXS|FD64IH)i4;|r9erc!V=}B+q_uY2lzx)v_`SqP2ifN2aQMKZv zyiSB&0{Cl_#bR(w97>Mgph$+&%$&ehJMzAxXtQE&G z*bCZ+>j^NVoDQb9wWaG#9|e*+N$g^d(xYG(zBQ3 zSIn%-uk_hVM$OC=GPC^qA3x3_nHa7CAnHA&XQ6{NSb-pH_e%EW2}2W#a!0>)#NQZd z;e28j^1&>!1W$T%PkOceE|aTZXK;IIM=JOsVNy}e8S)yMLN>6Bk6cZNr!o~l%k~~> zp{Ig$6lL^SlvPV(fPH**(|yevu@APw00fxgqVkNzWA>~!x2(s4@K7exgK-1Xd`TTb z3u}=kO9#l#rsl`B=dsroTnvKeypIN28e;!~=L>oRfvbaw+lhC zNieyh7<2W_4(BxEglE4>T&RpjJG_oY^N{2Im=B(uxawVQ-Gm@zMWb9H7eEG0CXZfq z7B-|AD-Slo5G`MYeMCbCSy(vE3K{f;3=etAR39s3i_>0Aub$Ch&t4A|3BE9v+nT;` zu;<}6WxX`rZ>KEZa)>whWp%b&o~&J2%@P_zZe*1o)m`*Yk@K@-!H*?ojO);eZMz(- z4qCLB9go6w9_Kn4!(-k?v`1VHTP&vU9jgJ&ES(ZX^E6p(;a)?`&1!?G6)=KUDdhKv z7LA!8u6C;nF3F07QNJD;6E|f*#`P$aEPy+m;pftr9&*`3KHv-?Q3$p^kP4afl?r(T zt#9rijT0+XJmadQ671fN@0BXK zoNJeJ2XKOOeTA_WT#aels80eeGzgm)LktNp%CB z)f>nZ#Tq2g$snoA;|w3!>mfuAoxOX^;F=j$c-@we)EjIZ0H4jJLW0cITvc=Q1Q@>( zU^>v;89803b?$Nk$!^jP<0xi8j-2O!Lmdq~^qz`c*Bvv<5p;?`7rJaimtYM7ZvH$0 zzD712)EmN)>*w1c8K3j)88B`ckdo^6D+uv3V}pRTER;EyNNijI(6xkaBAZweMi7X} z8=AL$+_whg7leS=pG$7Z^`q@^X20kVolf#tXF6t&C@j?mF`PXCMo)k-e}#PT6#0f@Kt26_UFTMLLV#qT8e!`&>_LKX_UR@oA~+G4@*o7D;h4VQ{`q50o&satFXvNpGDKj)JQFY} za2hp%=nw%j0?_TlA{g>ap{R6t)-m3DRXMd*ocA(!l{O{Kk*Ui;^ux=K07M#!I&Zsp zkJ)oz+;Sib+(Q${F}0hS%SsqLw_X9#6!1o}DijMC1U*0`fOG_dGnrc5#Swa0SoKV} z@2+eNu$6tJ*KLUI2l949E>Ck+eZL`8=Z$OfBpA0OSPqv4|I$GVFNpLK7WF~*oTcP~ zh$mhkBt}Z#b!kur0dnu~Up^USLT(_v`hWlhMR(MLV?@>Zt(;Plr@^?V!6VOsrF;9$ z7iWkc8<8i?7VYoj;7W=XN!0N6F+rhTVplY%lAY%ULYrZ@v>YCuk<8uDZ$prB)zciI zbv8T;#=Q$Xqz(uC=EY6483Y=}M*Sk>zl+Xh!6wbuv5$racGNgS9MJkc`75cI_3&+#K$qfX)RsK>;@O z!@$NqPi7KWHZ=ea&#a4uwpCIMohCmQsG|eIb!~rYlcpvaXg*EOQp~t9FC}>jOmPqS zpmZfvLLox{!c8j8wO&n7IOtgLe#cw(fwKYnj1139<%4bwCBJy{~uI`@g{~k zN|j-tCdt%uV?Nb>!arGn<_M>nnDs{MLerPCFnB_C&*9*^+!Y*!?=gE4OivPIsCe*s z!_1ML@DLf1>4nTvG@vc};K+)V zfFTG|guviv`RQ??yAWQ|%c0-u-x!`hh8Q0dBmipD|#5RhKKh%>TUuU1t( zTUV9utGS2-g<>@$3!%h`va{B3cCaV}_5hKDw4Nca@whdDOH{68Pl0J~0}rIR*|edZ zAE{EvBE$^*$IdZXw+ju$_L&)6gWd&%>v_sql$OXVCIjdH0lV&yT*p!hrqH+Fyh^G5 z>Wls<|Jb$y_WYN2So;x;h|bnwA#6WBp?c>3E3YO&fvt|m>jeDMvqlqb2=QzH^_&YV zaYSbio5D*)WE!;VSc3C6F|lM%er0?4^5Kq~z~!lMaRHRXiF~M$@Ca)7?I8)eT!hr5 z(!}w@lHFr21%xWVYhc7Et(44EJ%hW@nZTkND<)a{fWuvEeR=tMk)J*Fy_l3NrQ%Wi zz@7@j*bepv^N;RY%%D?>4CwGVQZqHNlC$>_WR}YOXPlwsLyp?wkV$Ypi5P1v%MU-V zFm}*xZ*>8SEYjxt;F3M}m2I4l)YmCwL372N#U}*;N1cjAiR$obTwwww8H5M3>;qoz zn>1kw;dDznQM5$4i&v$Z7TB16YtWQUSH_m!=Xn}^8&<9d4)3d{9Yp$?!t;nHi(NE`m z)D^HNzOof@<7BtOPdnw1CR!n!Ts*aZocUQgVqat}`-S?eB;tyJfHY_ch&ba2Y4t_i zfJIX(d)jvB2f2uqN9<{@?AWanza8Dq(_LZ7qlISsy|ScK7I%1J zn&PxJ_UmgXV40DLEihW-mx&ptqjB|(FByNZgQzl_THZk&3YtPLp7(0}$Hxqf`E)X% z6j2yjxzK~IWMD;f;vjcXKzd~4Ah=@4inXO@J^lEfT^RWa5~ zpm^4+`xxV>iYT$M-=(8K>_j$3$*3V}fwN^aE6JPzR;r^g0etgP|1;s`#P(r!l(4}wSb*-etp(lNo z*$}j-hnVPf$+!|T9gS=a`5QmQa+B+(@J4)_=6D%2mEx(dmj5tjT!19VhD8Mssr0CB zA$bZK*-m<$a#CmE4k2jy8p#L4UNN}>FqB!Y@S5d%eP2BL)vb!l2Qbv1-oNHO!~LBf zOWpQ+fEGqZh4cGpHK1ua!QMzXlf#UIy)>is$3Kt^nym?(cuDL&Zeyi*?yFDkYky0o zOliuT0F34kY5BoIaUbxWMZ5|n>0iMhF-mrNMuN7HAXAcH8k7{iddHX3Blgr+w;Jvb zA_A;pP~h+{%~i<`V4*5(32>3F(+BLzewqeL&TanO7@C6NN)EeECm9JA`xRdt7*QR- z>LN8C-?DOEcNWinH>7hr_4et=QoyMrRNi0?&cSb0l{)(r+FGzd&U3jurz1GA9EDuX_f`9^p zj{u9mtbPQ`5!k?#Px#8dIIE1B5jUIif@QiTe+s*oV_j#~V&we~a2yg)37?6hIlh{{ z;@Pil*^h<)cgR3DtOoWR#aB}mXAL(N!opTG*(MBXCx9U^0x5c)%^x<4L5c^}$DZtl zF^1@E>5ew$ky?N?>R0eSe1ZCN$;nbZ_q8qeS=IRa8QZ^xIe2AZMhA*ip09WCzGCEx z>e?zW;y|^565Xnzt-ydu8CsB!vL10`EDY(Hh@E%u_@V(MZ~1Hp>F5W!dhTm`?nCAL zSI7<2g2w;$g4E#ZPsoUXldS%~Dm+7$x@!Ve$S+c!@dcxQ3koP_luQa9uDM=|g~!#$ zoyS8?K!(tu;HNK<8V}i1U)xh(K8*0~!1imYnd-~2I{1xMphSmN3ILQq zYrhisJqrNMEN@o0w{3;YI6SYLT@Zq%kY(&yeG)?tW1onJ?3u4^nXer{Tui}Fra|_m zRdxd0q7qhWm_!4{Kv-ssx0?-XV3b=le{62ELVmu=F4zAftT37*$(@Fm{hvqdd9Q7G z&%SdolM0S>LU;uge9oQA%iFP&sw5_<#5}QMiK0OQHc7x(R?Hks)DgH4-J~8x} zH~pAwBRf#>iM1wk*@6u0o!#ZHRL^{EpWpZV`zV8I<1C{ph5kKSP!4Ff#|sGD(30jBtG)ii^(a)8O4f}CE(8e-&f^XJ@vJ%>pPPv zISz-DQD};uyP7J_*%_>82NTQofWwh(t2l{)1f(9KrpsXP7Ve1#H#ITbNuV20Zk-EH zeC=ubsQHdsui>~^4NQ(PfI^F{Ye&)~7Lkz6ufi%k0pl}|7FU8?%lN_q>riqR`^*jz zssr{RutvgrMgbS*;_J5XwAbc4;C{F)01_j?fMh_>CQ7#M5JVzY(}R(I_q(+E>=Ap7nZoM?8)rt#L4tQV^Cy z5iUmWhb+P%9tjn!ZGeEkf!36w^cCH%;1w{OO@_Jr@IJ-dKov(}bCO2p^DvtIM8 z*Y~;o(G12C>dBG`t*tQce`wY@s7-0Os%pq^XKK_gDjp&5Pl{_x@G&sT(~rM}8iXIe zunEw&ADQLSJni)jxSUUxOe{Y!bD>0*Y+QHjmJ+mmZYXjDm7I2ZSj>Q>v{Z#X=2LP4 z9U16!ATObaF-*SFl84Laz4Y?K-VoKe1FE)p*6VxLE61%FAzMWTlCbbObT?$ms@7Ru zSi1JB0v%kio|*=rPI6~z3l9P?0ug?Yu>>5HmeFIgC&1VSFm^z*&jmdvvb<~5**xp@ zz27@=8~_$ti+?-CQtYm^nOtN0&`{(@hJ+0?2@nwGpZ!tCteM|VYviR)gm$Fly7ki= zb&9ot{2Eqr*m>}6&a2>Tp7nbD$A~37evqvSSkyzML+dUx3BdQ2bv5>oKn~~g@?|Ii zu>SNS3=f$Pg~7UF1H5R(10q;?;sAP+Mls&FZM8l+{G+UKOuwW1*}c0HJ5+~V1hCoZPxGs zSwx3!<1u>RClh8>nEm5TF!We&x_(Zz4mk%)u|8JI5ArW&S z@G^B-pz9IipgMrt!#I&F*=Ib2h)v=(O%U>ZWsNuDh5HLXMqV2e)Rz5Pjy=(jf8+y- zWL+2{?Gc|Q%G~xCg}t7#9y04aAUoPF|G3{V4Ir+og_|X9e#aRB7=~I==D|F5>ko_f z&MZXO&SSideEPX!UN1uN*)w6AbZd5SyJPUeM`73_OWOq4!oH1af7vfJuEnnVpP_yKEnHQk>N38Fa!33xknPhvIY?QNIO*QVjb+Cl$WXhZ)m%nO|jNGi{N$kw2iEBg;?hT)LEA_Yk1LcBnuV`Wla1guzJW!eP1}DV;PU+0VC{!FrHqE-s?Kf^89Kw z`kfIY;?%h3Xs|UTU9@6mdW;Y)@T;yd96hfn3d?(BN;U0=I}$|Ft|;d*EBB?mvq|#d zVn%8ocFlmPi)W^l!mcuD$pi*!9!v-r1)$SH=YSwAvh^=Q7d%gkS*b=P%YZsI7!Y+`_j2<@w~2=^@8|44KWZ{ng^w7cDq^ zKpXXl6Ev6{w4KZd8zTT$fE_WqeI{{{^%_1lOwr2<8PU#AU5L%DlbRGV(qVmB<6)Ry z-7%_2*Tq8K(;qbC?~tLZ26a14UR7!(h{9XIf@o{iFaTgVLkKZ!8}fh8TnjaD^nN?| zsphH&xvC0RA&>^5!b7SD_A{;#*5LlNgOaezcn^uh%{WZr!XNgj-y*Nss$>!e>aTWH zO`hy}%rFJHX{>{&3?+O&X^&j|uNMH7u`-}CR7ZMTc8XRluCpO+myurlcCl6uj7n%R zLmN+N$^@TlvChVX4-Ed&HACBECy?`-D$dMTgK&^`2`Nmx5uGy!Gm2F_H%VvT`zTpc zSkqD95-D&1k2Ldm7F?@o1q(4fi&q$z77eb>>ns-!xW5C=hsix#Cu>3TaP2R~M+bqTaG<)t5-I z95iZx;rSZp?uw+BNP97TT-{{}!>=uoqnSNue&=iUH577YjsrX!`-w&50j#_bP*Qf0 z1Jf&L2por!*^0?)-fEcDfxZ`_RSCU^Nhd^)U94}bwDFLeusIA*!`jzI)vhdBbR;pX zezF3nrF{{FuuyXDt9}=&O2$gr(sq#r(<|n9f*&$@mAUWz)rU)^yxElO`>gA{gw5%C zFHuc;dRAoRsQyU662)K_AMus(X_4xI;W6`0wZ7z`#f$NnlgAw2F^_|Sl>^y#R|KDj zqjh6xk;=_ywJ_At(+#pkMs@4+XXx0AB3O-;H&-9o* z|CO{o=aa=FJ}+0?gC=I}Y$ZHeruI5)zAhwEDH)(n=Z}+EzM!{6I7vgc0*V=XG`M$b z!i=gz5O)kb0(K+{8A#QtGNz}%7cy1)sRx9B1;mwP*Qfql7dt;T$p*3N0ClD3%s?eU z(Tf97?echON*@>X7hEU$(xj1Wd<@?T_(7)b%>|cbrM#w})05z<1kD00pWZ z!FIByamKF5J(8xYg)v`;G z3qVm>h}!8%uxv>%hZA-ZFTq0<3O^2yu+Eqn<^!!B4ogU@LAIpm zPVxdA0)m1@nvvyh#pR1F)v-ddb}EPj{v>U(NEPlKEq99-T~bX%{Iy;l^g|ZJb}9bG zKuu48WqjSshbL_B)VN5|K&Gk|2tq7JOc>B`m@=wUH{Njt;$K2)&CbQGI9ak9jKSu+ z`6Y(|1sIXEY!NA^+$kpH( zux=R;n~}p=W>$%81OgXq&Z)eD&vn2oqvkoaeBfhk_~lilH)xQbpye@#vKvWZNpErP zVU&At7!+i`<{)7sxTUYhf}#dbfptrP`NYeh`~G-YA&=O6E2TTZvNrn?_1X5`VAGDI zJmMzf@eAhB$r@d?Rav)h+#{GdX`Ez6FOF;DnC_In8WL6YvfZRJr6}=VcIH37syMB9C1#m1RMaW1w6u zrI!dxlM%BX#Dcs~97rB&DH<*JM-STbU)}OwrZe~zG{=tOh8IXjLt_0^N!p5e(B;CFya*^2rc7a@>cV>U9(NIv1bIo9xz8EhnaP9p{8zX92ju4P zq;p~$3Ic$;lF_0njZUYXfeXk;l-?ES29xjxNgNX4eLcGy7Ngwc&zaJt0w(qs5JNW! zPfF|LlFE&~&%%El4$pwK{f8k>wxd9AFxmmb@OlNic2xrqdi{iKRSD^xpW@U^7ALAM z0El|Ygjujpx@zzgSho~7PW(>@h!}Ogb<~Jr0C{EoF&Xr5&*7_l68fWU}l zaG0U0N}P=ySMK0WmQH(Pm*^qqf@$fJ!?*u+b+#Hj3)U?QG9&$c&)I#3FsA)!gaRdB zuDXcHgOwfpt-3WRQdmoZ4Caa|FSK<*Y7$2q6dgTe-5O&J4ij48Q4JN3|H^TBbG4aP zvt6U-z`Ex^J9ED$8gRRznXM)eYPS@2GXnwvNdk0k7K*hn9l=Pt#m(I`V{&i$gsS~&hq!5(V8bM`A>2@12fRXO^39w0%O?YK-C&O1-2~( z)&op6oaeUjV+*jp^Mk+{3zp=r^bA{HME5C{S;mrUI?;VHMY7n+TES;*dJ*|-BpFng zywHzQJoA`63$`r_w!^R)X?ooIkb9;z;Z7pxsgXvd(YAkZoS|biXOCpWKku`VFCjrQ z#q?0#_#cE<4A4Vc8*PbL;HMciRm@9KW#~m(kJ+{`%S9q%u zeKkOJWKy;30a{)U3YT zUz{*P#;5^RxdE?23u0JrXfd$hWJLe+O^hTniP`pbn9&mF2sm=&<6(ovLcxz@WPx7Oc6i|I zf;x@wCz%E@Hew2b$Uul|YNwH|$Lsm8?IZo)2YE0OengA~PbY-HO9;_3Ct1(g9hV1t z9{9s_fw9%s`~|PMO3gG~Wr7hI-TQFsw$Bn`M){_aSM+S?HL&fOGAzZR84l>u zAH@6FciA<0>g!wTs|RgTU9>ShYo0b-e=AV<4EqtheR}PZZ$}wy*kRAJ-H*7*CmnQc zul|U^kXuK=2E;>Sq{W%!j%O~tvJ@78KH{p$6JOsFUphQwfbc*>uvJDm0t0jJ=L+k8 zmd(gm3Wv{h*nW6|wGk2h_!Jn_e0F;vRnwA(Z0-KAf4{rr1M@OgUQyIJ>u<}#Tqk*M zc*vgj`ab>qD`_^CPPE40{n0E2^nRb@4k-zxIp8gxt8vP@VqM&iDtwy7%<|TnmEfdd zF^}>(%AWZ8p7`>Cpi0S(>K?dKaJ~!71*IPO2J8Ir<@%AFTw^({^%IEo`cdSLQo2iU zZ@Z5&<}#ySc^7fyxfhcCQpC;YY2L9q`)%qlJGgw z{1sT9gwEi!3K^)<=c8sXai^ zo4h?0^Kjo$7f$`KHJI^B8#XS2KKaX+tu=cN99s@7ho}6fR%&i4=)8a6W^p$bpeRMr zZB|!;(j97_kPzLCiM3{iZSCFP$8MGCoV^5g4tyU1(RBEA&7K3to&yhn@jr!J;uj0s z%Hs=L;O-rk9EsOMPUyQ#iJA5)G#9uL*H~JlGfUSJ2Ub3Thqo#t+IUZa*;C-yQeZg@ z6aN(Ps9z5`L)Ei*xoZ(^0Z{bZ%-oRpJK)*ux12C@_WnAcMEZ}KjMIm}_OIkP2RO+M|33e>oPx znepSDFbwqZLGK>gzh|bsAQ}BwJUZ7kd-faq?6VwZ%vP{7b4SsZd_ch?U?LdPqE9Po zNbrN09RvcDfHS3-bUc9vutprkg(HiFhko849bR0qL0}d-fZ9 z<5v!v(X4flJY_wNe&7c*Zs!*Xei*GzC9vQTKt~On;Mui>nmzfAJ^3AP4Di=5>xEP=u*bB>Zd20dhzpG+S&O28B`cEFoJ9P4vE(*`iel+LT5^37h_@0^0F9zp4dP;Yh+}W~uKx zV8dhfQz@Bo z1ObIA-y{%y_lOJ7NaP}6lQQJSYp2E9Cf2O(>W-;wXSr7ZJlfl`NL~=VvtM+@6X4vg z=5fdy5FJh|*2G$o&ld)+m?j{Dv2|(4vst0>EKCZlAGlH(pG3WZbV1s@EzvOM7nm*w zyeY6p@^3SNSph5imH0K1JKW5FNPl)Rzv?3Prc8A+*dz3e%DngQAxOEBq&Aakd`f63 z0PjkwT!+0gV(?b>A?a6%y+}Fw{frNDPvq=)vk?MIS@2iiJxJZvu2D96+!*xXb_6rh zd#o!%eY!vXodPtmLL%nMh(k7|(M5|a{X_1jxPoT^Ue_P8tJZkL-6J0V6frNy#r6}# zW<$r(wV~khvGB-RDCivLbb-^LzUT706}ULZtk2M42TUClF${9dBJ|Tgb~Z5l?S9H( z&G4y?Rv{;)7wJa7TkM=ppr`=WNzI66upC^~W?ViMAqgxkSG~oPDZAGz1q5(87oYCNh}EF*~c4039!5bYkgRInAVQ->!%$LuJdJRQt*S+ zx=fnUJfvrS0d4UZ?hU#jWt1RzIEm$8Hgl7k)sbn);Q!!!*F$cZDkpibpeNNj_a0|oAn zk%;ZLzv6HAk1DYjiAKMtpZ~sE{-C4p?`Sz&=)0-etvT%vy;%x+z)k>Cj;_TYc8URu z?M3v%BLM2zgn%>YZk*)x8VX45MVis?m=DmiKgIl#f6;eX8bXn>4*|jp^P>AypbtD` zPsYutcr&`M--fG*&1JD>7w8WqDZk((^&-LOSG@gTz0;(f4g;V^Vem`wcrArBvQ^Bk zFAu=oo)#?~P#pn0KOKn#JW)b~DBL}X=;7qK+2mRO4H+o^7RabldXZlAJBggIeO#pA z1J{4?lXjt6o&zQg{I90?h{&UHD*a4&dY=c3J@625E2G^?*~uZl!iV5s^<}gxs8ii? ztuHhh(kg8oVo!SM3yN{TLgC@~QAR0JZ56VJ;-QO+-86&wnfNJa&;_#+J-d(TfP~`9 zkQD_qeLuqX_W~2%)$kEmuAqAIuhn(+oVRmJPBba7VweBI{^e~oSW_J7F<%-IX{V-P zsDTHqP$uKUpR?vd1Sy1USobPofSieKgk!EP)GTHf15^4npVC76_`GzU^LB2@QQpix zpm^Av@hPG`1HL%88xuXB9c(n!QqDQj z?h`>3yGZEKJY?&?F8s6gH@bQ}AxGwL^Y@6TdCJRM$~)$0Dbt@qh5!k*fVx~uU|JS- z)&=Hbud?>IyC){C;5{+X^ry@iiN%h0smkt+komBv()5F>V)c+c=jF8D$A>-yBhD*I zb_(xQhGsr+LCI*MHvz4V`fcKP1%?2<)CwKxjyQCjSDVCyRR~q|R?yFM(63aFyUs;Y z+c^CfDGWpWTr|&kdCPd^^o*HLUC*AK>dl8*Sd$=(3$0@o1B`|>eVKwS*uIy-WR?<&~6xxZE}Cb(`~|=`&jGk48CS`X zvXbw)0yq+s^1uz_!r+thkbAaH?$zrBF!&6#Go857bcBL*S#RRVoR6DraCUub%YqfU z$7=Rm=%wsDG+dt!?J4#H@{K~00}!GH7uXgRR5@7RiEN7&DiCSbu&}TnCR&+jic%f{ ztx+k&;@?V+x2H~V**l!`c=h}w3!LvEd*aJqW4MFgBOFo;7Cs08XyJ~-hchQNE9>RN z1GO>}Ntaf*mU;9&-l-2$F~rH*jJ~|qdMDZmSgKWyspd0RhiWZR-iv?I+3_}X>jpP0#OYERhBGo`=!$AfU_ka@(O`N}@!gvIe4ad)3up}<|T zUPF7h(G$LqUB6Spo<-6&*uNrlVi~^0dpJ}f;$wWore60O@{^hN$tj3{hAlWOAv#va zJFU<|Ch^((ya_lS4bWtJb4`RuhBL3w00B*ia#P?&!sVa&{ajYaT8j_YJJ5BVG5`L9C;5%>Pi zk3B7`ldTkEGX~-85kLUFi(40J`4rV!|56a=6`I}HKxbJ%@%-V-FPbfbgB5Z2h<7^k z>E*+yZsFqO2OP6ko!E|Arn3**?pBU6Bb|)a0_n4D@*^zqz>&an6_!sRejwql&(BT* z^{qaozSYwL1u#Z;zG{`o%iMG_|F%v>2qenhBg*KL3+r>i0p=sa<9#&RDwL}r&|WB0 z2_hzMxsiy48|OyGuG}koX}rv|W6VzJt=qkGA~H8-zXron7>oT-E*4a?vD_`ic zqkOSo<=@|Bg*J(dTS)UL*c=n~uU!tJqRQg^Qxo+Gmm|V$0GuJZDmC&|!mb7k?Gb`S zTxwAPDE2~2O5+7VlKo;nF_}}QF+x}dDH_IURh!hv9L^4LicE)nAwX#TG(jgdgUe;bvJjR+9`x{_)BA8(!*a;j6ll2m=!gzr z=Q3tyZc*i-Taq{=sOtg0=Mrut_ZR%4SAFO>ji;s9*T-bdo0czI7HXJEjzb7R*1JKO z1g!%-J?8w5IgJyO8CSgW+Bd-tRJ%;2Y-wBan7TRaH#v~#hV7a2oQkm z2E0I#AbPR+slu6kp0m{)!F7OGfd>~Ysu5>x*ToRPQix?MfkH<3!B-9l?5**ZbY5n8 zq0ET69gJZmS_W<4<8y4E{vsGr3C&it`Je!`+F@w_t5>bX^k8WVuO_VLDb+n(y@ zC+8!HAM)A`+jY7I%+pih3u;!#We1@b+#O*Wq015lpr=&>=|a;MAPAsHrc@Z4;LS)~ zH0-9I9uPugvtz^f(MnDio3JP$IvpDQ5KL@X`6CLWC-;TC+EFjTm)vd&r&&UtqJMXZky0Q0{iai$l%s z#=)Kew-fsal5ks6y2gx&$rrW?tUqr10V-vP;}J82v>2d>eheve>F3a|ddSVOW?>x- z^o=~JOizS!ON8;XG6Oz+>Gn*rC80gzDU)>{vl30Zc+7aUGn@@to!rNn33XwTX9t0a zEgWn#Rk<+~^0+mCfZ?EX;|&)QaH|}ho(Sib2yuk?4jC1Qi@2=tl#gzd z;#x}>A6B&H8!8{E%H9lW`qqoF696e#(RZbHb{j!PhWV)-MxP3J^5qm4eB%YEh2Kl95Wz>$pM5H%OrYxFixL(v@nRVgGyW4oX`w_6uDNK z1U=9Xcv6h>d2u%?F1$H>-qnI* zGb25ZUK!QXJ?^4S$=I%R>~1;F10>ERYa1RXd!Dpj!6~t;bqQjq5j|v2gmX)TM}B_g z1B8zpnN5M)Bn={L!BOrKzT_!`&an0XqB95wxFxp|GdPCM;FN)_zk(Sg`z3GsNo9rL zD&i@Y*lObq_gkal8B#rD&x5mX$2tB6FQZUpr6gW*S&dMZ=^U!~7?onAIK->8+ZXhP z?`~Pbr>A_j2bG4@c>~O4LM|xC{XWcDYC|${Qdn3Ee-4Ic!MT%dk692;bMAdGV`M56 z7*z8k-GH(xW(j?j8{NA6jE(^ix2Hs6jbe`&j#+hCV{x!Cfv-ER-P+8?0&i*kyR2>U zm^}&3`Oh($W=NwAIMt^1#|I7cE=670FcW8;qaF?jMiGfWspH!AyaWO z!3kWRK+u%}nMz)9U%-0EN`W!^X0NZo!r(r>a zI?nn<9P#lv(8cNr*kuJMbkl4xStpI}#^46bpdjwdP1}ch7e#o}g1AGw#rkcX0T86K z3ML+qLTh0Wg6ZLJU3D|15#>jJO8ym ztXq~_gPg9CM=?{TFhkogpV68u?%T5H*mBowE2B)0c}s)#r~mbwoB{Io9g7)*O-oW4 z_oG01x>L9P0CbI*yC4(f&$&XA=xM*6B`7?vym&HR5;)l}h(62=-%bs(?dq)ToxxJ+2U}cwle^PeIew-2q@YRfh1uHPSe?jS33U5J zw{wUQ(p-$oDsl9cGVP$83876^OPEs%d7A6>8=T1gO+sz7<4WCGB;2d5!3n+xSebI+ z;R&@AyurmRJ-jBt7pm_)=EGk5PjBG(<`CfIhCL$1d&GqGc4>;3C;&|zcp9v&>%dC* z0&}k;fc1&`rpB#pAJx(wNw1xsPpPeLlZ|)9EX5_)}e>or-091YS17w z#)cI!sSD9GfA%+MwMEZ=UxMi2WGjVTu5^|$_vD~DL?eO7=dVT$R?3cD?c$I^aMERa zM~tsK`sA+QzaqAaxqfUD8FoxX3_~-n75#$qc*LIlzA&ptnM5WT$X=r*NsA9!gor`d zBR43+1YcpI)Suut0V^oCKolitKo%brG>M3N$WvFMU%#%CsgP&K%WT1UBz&fjQG7wv zek=5k4!7YCaQts3HZIha;u!9F1*gUG4631x)EV9U}hz|(8npGEIKDfq4_+gX7iyTB<)}teK zfy1SzYg`H#k|%51aggilv{b}w{7OdgW#TKmUCCUkzhZ`Z$PoU^E_N^%wVn;JEp1&< zLluY~VOsXn<#A7-eGwYo?if))?S6nkVwd4UXwYi~g*;Mpb62i-pPyD^~|$Hy+Z>$`W^QGzed=e{Q} z0H9H8`9L&Ctj+{wnx>HVJ9!*@=V3>p)&4~!$O+zPN8X%yr%HS~gb8Qy1PIZ()c8z| zK*a#L?>HPK#VnWmy!4?Oq8;5QUFdYo&;B2Za$P5*dd%BlwvXkskOy!?eP$OVy4&E4 z{ECy`T|tjR?Uen>><~10)vscu#3x(ZTSm=;=Q5=O6BwEW7=JGJDHvw<78$gV+}!lr zNdMY{ZVLK6HL8E-ofqk$ft(>6`upK1UQ0<4H;nz3&HEe zilQw31ONPl+zB~_@ecU}0ga5ZubckRC;%L8Eo$0;8Ic>;=7 zQDH)SeXRpimZnB=_e39dN^*X&)VAHG$2>gd`HnfBz#0(Dt{q&Ws~G}3WL$_Fdd{Fw zKpfMN!+MU-aZXZOwRaB4!*V0Qw&$wDwSYQ*1oafwyb#Od+N=pkyRltRffq0d;Ikb}k}dQKCEL5S%=utD)bf>!$Ijqeq>#sNv{-M?G;}$J3Sl0_qhl z>)MEdKMEc&t5-(d?p5lC5$OT#n3qrgH{m?s(nWq=>f)AkGG59aTeBab^Guhx%uZh#yg7=q4E|0mO_0l6O#g|0f1GL4Cs8XxXomt@aX zm$tjTj?gwe z%#nat5-3^LiKc%6G39I5`#Ed21Lbsqd>|yRpo<4xx0f)Tyec4rpv^|rjmA10Wz}@B zRRMJITs75)Rg5z>3Tzo;vr{89st=~I2c+(7IW^Zl{@L)Kg|_jkP^uX)a4N zhZ$)_B_-FfruzP?c*vdwg{}w15o0kBzL9(yEnZ54hE*;BU20suQv5imSm|K~%1|0F?NY4-6b!58YBM+=hlTnHHGYn&*f_ZLs%}_wT`K z;DHA)u4CTf%ah@5B_5fqkML^}pc&1nzBb#18KQ^mNic0m5SHn8#E_Z6e1fKCN>3A_ zgwknHI0GCb$R*C{0x=bQOBE2L>nn4EpP+DM^=aMB1su|U zo6H>8gZ3<#^4CpwxHdYI{sL$oLdOlYoGv>&7*xo9j7c$n8pHMuews^e8D+Od!7)rR$UmVP<{AgGdrhmHhEhJp!uU&)dTn#L-4kpCPp6{+_- z#fD(KdiuA@2d*@Vc*}u39&p2S43lmMU2tJTU6&-VW5p37&s`UM$3>C0hU$mquHA6d9fnJ6Huh})o}Sux2hYt&pk1E%qx zMa)WpNn#4pd3_EtV;lVf^t961CSs7?+I8|5KEM)a@%EvHrMv1f=^n8sz_cg8a*!pF zSK{Tz7zRFTTV-t$AVBzr+KBX3r9y_XW`oj~(O3ICW!A8u4de>vM;SmKpqD*qV?Sz9 zXuPg3)_|V0izmRmB|vy8-yx&b2ud7CM$wqv=Uo^M0(_z75lhr=3aT?=on5Ticy}kc zBZJ*(Eu;kfKR~c}D3=AY#ovpw8ilZ={9BvL*F?X1{>xkbYbU@1rzL&9B8lJ0brDH` zY%haVyQDuj(CwlT0wO?mY#){=;LkCb5P-jwcx-%+Lq*EEl~?4 zzvQZCz`SKZPTcRLZI1_sqJn#S2MOuOk}01)0Pxkt{jK7=q;CbXl{bFeOYKx~J+6pi zk-G_5QzkqqoJUpQ!a^YiS%D4gvILpZjQ5Z||K+_4%m;y0QWkjY0wWUYY?E09?(LF} zw_`p;#vK#SKE#TUf1wt-ryBfL5?f&Hi}hHP9#gs;!#p9U*^TaUZD>QI$fJ<09O;hB zMo&f|Z|Sek!_h!4apE~jjlyIt30xVdh@5v3)woV-ZY$FPu+kRV|LtB+O>L5^sEqE& zLuZauX!;WDR%fZv-I|5o25+dsE95Qvr31Lqt{p}acHKz4>Z3h~w@wsWyx4oFVlG;i zL~_vjr4+@4xU*k_EIhj;K3sTLx{>{%(o-9f}eBY*)Q+e?=T(E z{0T2iXc|HD3TXxFUB=yz-@^eKgB1(t9d549cJCg9MzPHs;)S(1Ukwo9WT@z9P{;Lh zsWOE7uKzt|Pk(vu0Q1qSNewh)AMR!Jmo-(CR0E^cNrlGET)?a`G6ysvYr}r`QvlBr zd{L_v%G$zP$IcvWZBLv-%orUXZ7n+ZdaZ}6C&0WVz=`g` z8Svzm4OTY07(85U7&5^_1|$OX*AAlAC-%~V)N3@=h>_-YSIkI-3>aY4$tiot5han} zWd^s=@RKnlFP(p>;wgw7jVsC^q-N}hVDgN8F; z?ARR+)#V%5+?pr9x?OUI1r^u9uWts~moO;j*@bnECw@-A?JKIvTnqO(h6*hkFXV!M zkd5MB!*$VTT-Kyo74ieE6(+;*X7$CCY0WcV?f+f8S*w0oN?X(0%8Pti0r^Ia@gyat zcrhJt1wZTJsqYl8oVS+L$IwLGkk9 zI;~9lVZ}zwNlpn}ioR<5D5~wPYjROTQ22rCU=E2f0C<9~Q(U3GTM?cX);$ez1?heP zKa@4zDt2o-6}~l3du^-k&pKBiWbG+M|Kb@<@1ivFl24}Am_Mv|E@_}(2$R{D&ATE3 z%i6>gNAt>0MoW#B)Vu4&EsxBrENQI`{Co-fBLJqL_xaX=TlYsfG4Q*aJ_+;j3;A$B z#8B172j+(_qrDR>X8TNTpI{ZX-5@;Bg+9YXCPN&vyy3hMJ!b~a>$dQ`*Y@h(>ek;e z2bqvrDudnvIkUL42IhhIqDvxAbHqYhB)K-LX%4^ub#sWH^ZfqUNVdcxf={`bNvo^PUwG!%MitXG)o^hdfy3dLrqb_}Z5E(h>ZLUNJNn z%t%z$N|TZ{&5B4UGTl9Ttqbo`bSQ`hN?G}HkP|nCWFfj%*`#dyE4h^&nE{ft3CNsb zfEBqC@uL7G`hC$o^|dYar2~uqkK4+-`|@F;VAp)Uf*)Ft)K!A;!MM*K|Kmaj-B3aA`<;^;Ryd!GWjlI*hov{Fzcf}o$;~N$ ztjMi{tu7^1Bq-!Zqobgdm)#!(LsmB&4ZHd=mGQMOu8>aEX7;R@_v-%tq42N+A5?Z` zNL>SoF(`f(+^q!z2%5ox97V(DUhcZbr-y90SnP5ZssryHhh}I!;}>)H1lYF(m`>qw zWgbt5y-k7bQ&5rlBh;K-8VE<=Ws4u{M{W)fP6uI4b6uBCHzXC-!g0Z`5gQvn4Mm2G zG_fOAfg`UOepmiOWN0gm4rK;U!`n&!TAHN^K3ed|oJ)|UkBaxMy_a}t4t9#5!fW7WV;{cn3TMZikVINsA z+2y0oFEO8kp$uDClb3`6Lr-$)rC@E3wGCO)ei^g}FkTQ~0EpZ*!gA_z4!I`Gxnm!{ z6g63Quf@Yq2JCwVEQiqxV2|s4tL5fX3=E{v^pL&jkG8`0hmpxZPLpB8-6# zE+Rbu_`qxBk5ijKE#%5ze+Um<$K_GcXd`*V`wa0^GULaFGYw!0kOKf_bz^`Q?-1j# zeOI$OqUCAJ;bptfOV;vp;f;a&6&xt?H& zz-;3$j2~+R;DpEy)wQQYw-gOK$~j>WZ(l`-mrdQX9o^y3vx6PNewClBd&ZdL$xQq)m17=&v&pI4P#^npE zgOv=xjLdRdbHyoqIHw*@9***5CZ@Nx(w|oFX|=PAhaW37rhn^ z1F2F=6!={`9gSD6sD9;#e|$@@V`@MFJ%wm*xJu=zq&Hu-l>~g?mH=0~J`)U$FshPX zf>j&}bL$?Zx!-Jk^C$cNIOwI^N zU?`SOgfYvO%1k36628x#LHS{Ap2V+S=&;12FSoG3hv09>=PpX$g1v(NsZp`h%;8fWICHIU@cl5E|U1a?8YK|%9Ze)9l4XitAHZLzwt z!SA5$F2AS|c>iRZQ57__O?&HE(m46HvzbM|Z3^O4kZ5@Si+*M!$kH+zp|AMnF%v`4suESsEu2#ff}XO z?80TJ)+ikf+bR(td=0UOpd~|(`hq@1U@wV3dtp85@{aoSq^tAOp0DWcE0QI?|KSh1 zfe9t)(FK47{6NOJ)k)r5^kCifs6nC)45ocSf=E0p2o`CLl(Q7y!Cq#aY0JqT^p*|B zVLC3TJUCPgTc(Q1rC!7BS1n2B=*xE$=Pr1*U6WDt6x*jj0+XNgULg4HF1G>PlxFs1jAOzK12+yK!^|gyd|Iyotdjv{af^&id%*P zTjOn{j_(eI8m>`TSIHrQS%vJ35Un>lAddB*IqYbItsLIf9DC575XX*~s|Q>n)vV<$ zKE-YY4G0?{-GLpWyhNg8PsWhR3JE*e=mnsd8v0}7Ec-{sroarc2aQ}7dKO+P+1+4I zhM++KU5r2!v?bQzw+AFy1-&Q4auUo#FpgPK#@q<&9QXdimk?bX_vI8i%2FNQp1Hu0 zV!3sbE`haZl5Z_*ov)f72}6F)twaGcT{cK%wY8b~x(DqE@vSdbfAYzE8dw;Uc^)XD zVpXtF{1vbtM5_T^T^(vfxRdNP0Df8M(4G+ImJoq+9FB)Q%S$H`v=EQQ#k?s<**Vy2f+B|fO&C?fx1;$-0tT(B zRpfD@3271SvRP!L0&&7hWj_WqYSg86^}~9uV$x2nJ4#t++7sg35@I@x79-^Di^L*L z`K~faRbDFS@E{pjWb=*6AQaLR!**B-Yej(b=)}OOi#zPjHx2wM<{S2i z1O&B*g8LHrZ4Loi!sl$TYO8RD$Eu|h3e?47YdfX{jvLsWwgiq|L^bwEih0Y1{lGXu zo&*gJIL?LcC(4|a3pQggE_*UrZ?F~vhS&g+aR|m8a$v(#ke|ufNsNK@pXHVMr4?iu z9L*xEI`s3M_NtJh=fb(=!g_Gou%|gM{3q~@CHE$kq}(|Ga5(^o9>Y#YCkV+mW;J&5 z9}y{J`=*i`TsZ}tC{e~T3jvHIu%A5$i;+Hg>Dt&G68#xRPlR(%gom>{!hu*!1)&ua zc(ZjZD2y(icwxFoc^dB0Zeplbgbo$clX{eN4cE%Yq0Id?z|EG!lYU42CSBNc582b; z+=m?-6v2_7^FvC2e-a;gsC8nv2bO$>ngt$!$;fLyg- zj;;gUpYoXY!og$aDEg8=X6sv^J@qvYy$zkM5uf4eVUTQ~qn99YkUBt2(&&I{kmAdMN=pf`ZP${3bqh4yS833~3(^e813x!v%GQBA-%mLTAkl=1u{wp2MbPl|tmc05qakD{arS5Z zFvH*W1&Ta<33*F@FhLG?28CslP-^3m;S^{>Aq9%3)5FhzR{lrMwU(1eU zxQ9GFs9%j94M7mY!m| zz!9Z1v}fT{MkG!bPzp^;G;#g$NBRJN0VN1yG1vVupXU3}KkUA+9v|ct{fYO22=#W| z&_U@0nhvgn2sWSqS=&c^^Zck_7}4RvY4 zFpJ&ZzyoBTIVTpKylQU{lsx>HD%JLyO05aa1XSQ~1SW zi)du&*d`FA37R$}Ets$iTlr`ubcw={#<%Az&GKJCla4jxlA@+ig*<3vj&=KkLzeVM zw;zV`W=3Rjs`&XNlrD}f;sp)t2|=gf^>|!LHauYN4Y2QWMD(GUoU6S*kt__PkgvmW z+GElmR`!*>Xavv&x)riE%d?&R*^mA>c)2#E`auz2?@9k4?UUr|)J9T42cAY*tfP-L zU=(KxmW-zq`-9mHzq^ECK#Ojj;E4^vx(f?0sPG8_p!_B11eM04oNjB-@u*Cj@khnx z1S`1bcyu~&EP9wS=}CjLp1>a8F40e+#611iKNN_%+T6WYC>Nm`Q7?>U@`VjF{PKBax>P z$!;;oh^VaiZjgFA>O@<0R3yi(@7rsiKhN1SVcardOTVv#c?6&WFU)y4`){`A=+gh7fO)!{>zBUI)Qpf3coR5DcKGW|F~7#^Ov8eHA+&$UNzJ13{YM zCS%8`uTh<5u-#7pg=+G48_SvtTDX4xqm0(GC&Ku(Aw2DY!f~frLjOY30dfYUD*^|! zsmFj=H8OpeYC%0_hW=K*)r}MCB!23URQ*?ZO=7a=!MNo?%k}>n0GQMNv34fd(c4J2 z-jIrin1TIo?8SE@$V_HJPxf)k?&>bJ{VT)-5z`&|N63{l+F?q;-Rh*m+nJh&nq2pn3W-eO=dFR8Ig%cnwvuxkiBz!^Iz67_SOEJe&*h?aMkUnUwR`K3`j z4W>sLT=~0t?vTLKWr7MZK5*HHuxA+%PtEwTxd4YMXPJ|ET)nqe+|(G;v$|Jvth7 zR!zpJl@Ou7`E{8EZKZo=vUzrY%n%}vR{O`?*($DrR)r6|=%d2PeiYAv`OyoeS~ky_ z%{{`=nK3wdNt{5$f3RmR@_3iIjOu6ni8V~XNUz2C2zZSwod)3J7?xXdbI;2s(#uXz z1>NxUtMZ^d2j)i(>>Cb>6_A)mHQYlXZy<}Nst%nJk$jP0P|449g>wq@4|>}h0I(tL zEd41i!dOb+Ti#u18u?u`eCX5*BByXg2)S^~;%s;h%=vjX>ZVO$ti((oWx1})SQ1!? zqO2pGE@g0!Xn4eM!P5hK`KLZCjY@U4Q&o`OfG$}7mbIDs7c?fhb^ zjp9i#KfA$mV?}IbKt@poxh(k%G;ggC6R^e~^)7lM#&kfP@hU-_8Jg$yoST*W1#OQ; ziLdPhc1@p5VOdGTpOS{eWjK>#jfdMpB+8--h zHs@#f?S$CeJz5<23-La2_xe-jqHDtqIkAUE1)fdM2?#L9$gxo@`N^oB1M?#XmR;Jm z^7CL?Z%+*s4E9qBg2EUH7qCG(7)6AtE>bgQ)M7v>=6SGZ>D=tR!p&bmxT6foyz;V; znUf}&CLx<1PN1|IjyW0ClVE-%!L`xsLWq`{(0VF(*ih8fzas6~WFRatd`-*-O!Ta6 z9DB}m=fLJ{l;%Gw zOVKzZ^8=&$(dE*S62L?Y;-_G*A)&EC7B64nuVkjfi% zGfpgN>I%=2j=M{JhTk2{Pg>Unj~D~sB?WB7eBI0_q-hu$V_n~Ud&r&u%QFF{jff3& zZ^oV@dr8`6bZ%mJ@#v z?&NoefTajtbnQ_+0haVU8Rz$Nmih<2(S`GsG&fOol!ZTJZH_c5l?JxY69d$NnG&1TD6H}lxLF@YhpF73rlfCw-pzbOOZ{gXTb8Dhvp5{4t$v%Q{Ei@ zZXuXpmFL9CuFC3C{RyQXEzCm85_n?2Cj?NN(XlDuCL(48{N%2z=d1^eG8%0q;yW(N zv!;GmkJ&R|d1k<}6%0ZRr{YmzA0rQ?stT2j`;C@_a6g@Q?TnSMbyx@n!Rulb8lYBrUDP-mo&n1<1D4HH<2O*bi=({01L6bY!v@)t z|KG~@wZT^HRD*XSO$Xk2up6f(_KVKmuqG`VOtIMqeOZE29xCKV3hWz)mfyGr`IA$H zrZBHbm*BD_Gp?N7HPjr_p*qUh_A1-i?_r{ydv;NnDi37M63$b^*&bDM^ZfTz(g33Q z6&!x&mL!ryD442FIkd3FMSG6Ip=H;mXDWs-9k6iRMDD(olB*0Tus|iG7gUi~JfKhM zScC>S;vcx~vDnp*M+7i-Yt8fDQ%D2p;_r|Vw*h}_KQ%$+_c{aW3GBHO-LR<@CO($P zRKW0_6l3>8&SVF>|Lj5(a}8pl}Gw(n@SGp{sQIF zx+eW6YB)qu`RK>>pImYb+bq+_)~PZVf6ZX*N8|2#3PPfX+~6{OzGJjE_89CUpPpmv zm{{tHhwS<9O-6%|w=x>YskcjnJl`-49Am(IqjVvvEBg>TzXL@cYjNg!?N5^AC#y6; z++KUi^W?xnW2| zXRdNGR0FMpu^?94OQ5j@^y;DO0^$PmkL>eA2AEOGHP3$aBl~Uk#J}Bemw(vx9gDg0 zIsvv|B8ykktz&~Y3-TtJF6N3k^#av07-04WXy@t*r-Ib;h1jcOhez}5SD)E$JJm;E zM{XoY7V;ZpLCX{URSNah8lXj>sHes?>`vQ-;1N2sqKSsHkK^}ALKzdb8U$T{dJ>Yd z#=fE9sh=-7*4R@uPk;51{;YJ_#f;C>E%ApisE#xEBYT`k$reYnqTU23S9cL>^!v_` zbplqXE4f?=3_w)3+X&t$$RI_G>hpoyv4{NHQZ-M0^_l$IW=%!w0c1VCuyIpo!bp_2 z2(?~u;}b^jasa@E0MDH_ZzQOMKPG{(%YHZ#ytyL@An?iyqJ0H&C`IeYnJtWC$~xI6oOn zzRW`Y0rj+x)PEU9z;SDIPk{9U7`izaxWisj?{6v~pjBmkm6ltoS#2;O`wXz^gXQ!! z8L<2ry4nC&ebP19+BM%I#1|B+9OXVeL>H=I#lwKKs8-mp!l^atk=$ z^Pb(&FpLB;l8)%;{it~as>9?62_1~??z0SvScQX~-C$G!6-J@aS3Lv6r7TK61Vg0C zy!zk+>we93Pk?V^JH3CK?bNw{%H{kZG>+;Dz&uOvTh!6l)V6E2z<1B)HNMq*Sd&pT z^Y6?3Q?m?v){>+P6;pd<>J_pl!1gf#{l_Z^cEgYF{NOr@VQhfxpA>q)B-BX_-q&_HoGoF( zev)H~t+5|*$x)}r$?){op6PE>F%Klkk#}T9F5T@UiA{h`R5bV#RNq^oWn7up%QCGZ zyX!GS2toQ`Al7VEpzaLF5{M-`%a_(lt&}|>4DQiFR$OoM&+ZAZJrZEu_YVAAMKaqwky1dsX@ZbMdI{=ex@@QemdU^xReenYK4icsENE52by=6Asvp1_M-I{BotUJGB(z>^9m6#@?z+w-PxZw`7%Ety&6a7JIJ_ zIdPDD5oW(6cr5?X0StGwKlS1zKrYaPLTw=WKgblV2!6%a8?Sf_Pk$ebwT)ZBZ$-xX zEHYr`TFBN}u?ril`)+RFiSXu-{26bU-aJ{$Ogu6IytNpb|H#6LgBc>~OFkYRv!}oL zaV!6GGtpT-D`r+JumrMnne*#`tENZ*yoj&uAy*JZ<&!qbQ|H=?PjT5N7OQ98}23utN09uIVS!unFkVRiu8?Y?G zQyGKLr^t15c2zEJMPWX?YEK3^vT zjT=OJ5eZ3G$OXu=BVDMdDKJ5GBybhq3(M(w@5xldws}*2+J}71w}ROfcpx}oK+Rrn z$gl^C2env}??QulY4TP}xd6~`%yEHR>JndM@n>pWVy~4W1vg1cR=+Wm`x7795LTj4LhcH;b|C6}@2S}(BI1=E@?@WS_F}8B6)6CcU-kUjCean#TZTASC8kF?_wSqdUL1t^pV(6HM(+77VT+}<#`Y+fS;E&4 zbR}l_E;8jId-{7))bh?ohB+*3SpOTr-Q^#(^?3LO=B@>bWqSr0*8P_%52f+i@FcX! z-4(i_4C2B0}zbKjH%9Y>+dDnYBl{lEY*xUOYSeouy48XHv&bmL!AQV0bmwbb0g4SQjd8t}T8SEL8)TxIFo-$5M({Y4`edR5`A{PM;@>DNK`XH6}w1HBsx}N=SIz zAV%=QI8fJ740oJkJ(CQu?eO@WR>{fjg0jegDVJFNVW;WIZ+Y^2a?~;utk013SvkJ} zbUr_zD`Y-?A;Toq_#;k%oP#0c*y|%^=G{XT8o|aLQ+>qDM4#F9bR@};%7t(l_5m>9 zk9WJ^tQ61L)8BeDBxPgCg1rcmRM6z`27$q$p#XTuiLeLNF$tR`c!h2P@?xcOJ5M3B zi~A`sep(Pe&7A8)Iq(!&j|a~aB9$LhGWz+WuqW`4mHt3TJVO3H8AG%>6sYFfUR*@cy_j$%2WBslPt9k@xiOdy z#-;RO(AR#xfIF~28UmVWVp~r+-0=c77ZhPjAgu&^S&t@*tI1Ak)&3eWgA(B$K#|$! z0VgL6(O89c5%U14!@zHO*7zIw53~eOe)hkGY0y*7XjZd=;Iz<5 zY4`&NxXV{$+=|U^SEwb59-Q7kd_vJ~@~IHu!LAh#-h(I3yCIGJViQOk#zKCizip9$ zZ0oKtx}5+rO_Xn?PK5qo6lbX1K!LAI14IS?7;MBP(R5NhnBx$TvQmI~=?^dy{1B_x zOYfu&X~R&fJj%}<;R|6ph(uU5qj3QAQF|#`ek?=5LA8kafa$y_d&M<-t!q6qMTz^WV|+M0WNgEdv&t_$TSA_!!A2-MK(GlY*IFL(GXd5O{u;v5fixaK zRn|&V;Ik}20eN^q$e?1jTvD?%CwQQ? zy_M2`8OZB2YzlQQtVn6%bn7*f(ro(CW3?V~jSx;q*g|>C%6|P>Hq-Qu_1oc0f1`7t@#c-w=+&WA+gjI_${3 z)41r7A?=f z>tt>iw=%F7qt7_aN`Iq1x<7h>&BYA(^I~kURIeK2Bi{#F+?{77Ce<0U*weDaJQ#hx zRBjb@%~(gTG6T1F(hps1LThrvQskG=vd9v-i9A5;A24YvvSA1?l+ z7{*)+&6y^J{g*}%KqOr4;OF>8n8hi(%Ho4h7jvg5(uDz+T;Hbe_R@1o1qM0G=NRLk zZ-i_9n1!=aJLte!Q(>q)&-)=`JjR^`wysM^xJWsh+A6pj;Ei=nTAzBrvEbVh*7t?O zlm<*1AF`DjvH+gs$DsAJoF>4*>7J(rUu-6S)h`P)usXBaCUL>c)%4QDmdqdioYK?R zW5yKBit{o96J_^^z;dY5G2eL1ojvH~LHECcMi}>C+=Mi@w&9{4areXUN|IL66w#U& z#sPx@NQN!9)Ml3E*pQeWZmW1gAlilwi5@3oywoM6pM{o%&#K4VtyS{tLK-k>JasGo zQ^brh5qz?$7Il>K_8g`ug~da+&+_VucvW_ZuK$R@+bO7=eL~jSgr3GJ3a{T55`n=S z;Sur1K$}VB;gW><&(&Se)T&|hM5qfmWo!mfzUu{47qt?gmaD;*EOnQCt}CjrJX;;* z;qf;2l(S_6a)*g1-+n8JrbJ*+ICykXTL=kCAHb3^K;{{XDW$6l>m15a-}m9o2*jf? z|6^Ft?_RZ$b#dD+QkHfN3VT1eN&NE{Qj29Ux(f8X0Z4Rr84uYr-*X^d|GDsZ2vNPh z1IC8A6z06dHKnNOG54cMR1tJnfuuuE0%yc-m=e~eTwb_^EH)8H@I*n%-R1>G^33;C zy4t}$hp&g%ZBwpN9>2H26-@iz-EWw@msnj78O@Z}*pq*YJlSA`$!>U}Rsw`FhC&jp z(aX2A5uG{ao*B^ukJuC6b0E-nI2}^aUE0$|6k+k1LEQhN83uw9OolOaluK*574l^C zC^$r`mp5b6MQ=yMO^*t;~RAO^d&g} z4|#aVkE6UZF9dUPyo`@tMm-sn^!1;*l#%9S8Cisq17domYbg4FE#>1DijR<0<)5yQ z7lyA|l(z{$u)nJu#T}>QH=itWyuCj|rkl;Q2$lu9hx&+L8veCBQ*#m1@2kBVL#FA$P z=o76A^bqW|5>OoKDY`%jcrv~b`BvHiCMU^bYaGWV=+`rxU`Hcrz9I=zY!@)+a?Br^ zT+LY;(&Y`H6$bskLwbRk5A1^WQ?C%@;Y`??{^-p{4Tf_&r?$W_~bu z+D7b3rs3e%V)n_l??+g1%CU?Kz^N%lm-$sf;|M+y+o|i;K>Kl`EUb;CCqNjE_!~S| z4@tOTNCZy%dugdm7l4^hHVlp1<{cc6N3)C)Vdo)Pq(Eoc(b&_A=9_{jR750?w;l z>WNZ6wxGzZiP~A~N_aUC13;x>&6DosUpnBEv?4R)c1eL^4#&auj+OUAPUUpAJQH8B zCKcLopp^yf*+1LA&B{blVh7U{dv+4~kR%=xBbYb^YGSM2v0A-@2xLe0Gr>`QX>{^Q8-gKansQ@Upe# zs;e~sQLGm|4Z8lzdMDAf|1=nwT>yLJy@6Qcuzg(`Al+qpN#*LMfD9~PD*A#o3kt}p zF?W0m*7>QNI9>c@z26z_r|!tj8_yxW!xZQKOYtIi2R9AbYb?jEWr@88mie))uCR+} zSXqBruEcldeJO&YJPtZgxfB#1jO!sxSAJP<47&Y^zluBe_C-x3@ zQT5t8=q#@M>s-;0Iy7`SO$)-bnU7y>zA0Kh9 zjNTbIpEBXlzAY{a-HyCaaK5-7iJ4psGa>39i9EBALc0sp==&JM53m2XCLqOrszl(bOC#1F4XK%kkhN!%N^8Vzfv`~3VK>- zxCN_ALtd8yCt!BXRgNlFn;fMFstZg>4CGw#W!3V>RWZ><-;hcuB?r}FVO{bgvLMQs zjs6)Wd2r3wRl!Vydljm430)lqZ3l`C9xw>)MT;?j`kXX+v(41y zL~tA-EWqN9j~mAnopzu(13&q`DM;ijP;qA0x&hf2#KwlhowD{0gWQ_rds0SZ62{&g@%5}sruOJfJ|pM zte3OGo+c2R7~6SVHz%JKN;sFeCSFn= z(OrC`g_w&IpnjM&lT~8YjGTXq(V=U+yj#5y^Jb(B6LvlQef%Wbl>~a- z-gY%j4P~mXsco}ES5V8i(nn^hjdFZ}55YqQI}8^h_2`}Df&3%;zz%=Iq1Sew<`}lP z#LH@r^pQ87URY{=drzw}Uf^X#F63CCFMaTSBU?&dzv*&lK~HvteEJm$+W(dGC7;i9w{svUV{^83ij!pA?LM#5`)I2P=qBtZgZ)Op=K`@$ zEFhYe9!#LUY(s&1U;!6vY0Xhl>;x^DpE?;H^YED4|Jj>Yi*PWk0~*jimJsonvFt9w zY#{QUh=j*mN?JV$=%{^8Gs>hVg8PnmQ zwgVQyvY{a@fh7#JUhC@H&d)*?XyEzA~4J-llqk`X_x$9kZdC!za0zyWOO3!APC!uwl3sX z%t9A)w--yG(y5%#VO9!nHwx&3zDr>d8S>VGY{QQTqq>(F@|3Piey5LcD0UP?a?>+~ zM4ATmG$E_IVFFdd;WrzDG(=qQC!7Q)qRk*_`i-mwgLMSu{Y-R$%Tf3bWOb*@^oTv_ zt;b!l86p2VuJ}?&0Z_*6#v+F~3*@Kk#k2Z@lGu9CtC6N)whzVL67>f5k|JC9gG3zO zGA#u9?2@aF>zvK=-g;aW{hzbV(ihtd_ZeKnD@6gCsO{zyS(VSIlL=N1;f@J)Q7UZw z`^*mz2nV}apgdL|YO)0hSXuL=xAI>%MP*2Dzh(fNz%lquVei$%h4NgEDU*=^=r-h< zno_{Luj47f2=t`s1T@ynG@b`gMShSQ43rr%*! zdk)-fbX`cUejt}e#R2?J0lY-xru1C$18x5wL(a@mRnjahhdU&gxRMcuV!Otn0aXMH zd_mi=%EjN@@ZTJhbe`3G1`1t~v0xnQjxXo|CYn~maeA`sMqWozl?j~R zBd#9tqZMi2V-~=nN7zSkLa5l{P%JoymF`i8!cr)TvZqw1_?WQ(_K0CYF_nh_s_`A| zDMK~(W^ZsqnmuT()YPsPVE!ITR5vOv5oZVL2^QX&mXZ=-ZSoi;0`QBd7{qfC3+hoDHrSn z-y@zo_o$k8s1_Di6O@(JX|CfrQQvMf!+3`e)=9S>18i>K=VNMG$D4$fg*AcT4Uw%%r)<%~dObg_M#x@X( zAn}!@lxxMYMC+<>IG{FZ-tZ>R5dGRk|3&*idKvtlD6^}AqtZLTpz(8{y&{S?fx6m1 zA9C$)?om@RE&${o5pUkTx#2{4b&=UDVqBA);!;JFVuv#jBWdlL%Fcr^ZD+v&*+Fg& zXoZ{_4!9_7m~>J0$Q;R~*Ys)z)Iu6A7IFS7Vmxc}O=h7j_h$_E1!Le7YaJrCtV_ws z48X1yOLTW1!j|0Xbns?Pl9&VgIq7Z(I*32Y!sRX-2dij)HsJPak|p&P{GlJ=Zpt_O zeAgW>CqOSA?rc!0arBykvIq#nL9g=SAx(S0^*~7!-&hH6>BR$3ua-3=%;1(}h=&U( zF49Uq7m(;(JmBIHKQhQp_CoE=_d1V4Fe7{dC)FuLIEhp?;lP>Jco70XDopp6g^A+< z7b!@%vdFC;kIIEG#pgS@!2_-y@T2|TKzti7K|N_T*ZC5uLfN3%r)KVI(OPF z-_ICFRK&Hhi)DU>!Pb>QSl`%@0QE#^qNj}g4T4V*no`9N^lNnK*kbbY6DYaZ{tr)j z?Xkbv*^x9xz26z+D`cEz4sKN>Mi6vvFK#D^n-`Kt*8580DmdnCQIWolVJalF_#l?jL!$@WU+)ntAy);(}W7!1~El5Gkiy-{%5 zC1nrM{sk>$l&GP~CQeLLJ>ll3Su8yLfY_g)?jmMSdi|L~z8^Eo=i??xqUPhCr7(*+ zlo5^gm}J3koG7(`0Ff-^R^=V+jPTad};=QYaW?w#Vcq~Cg|3(eCpcG={c`I zuH+5A9@mt5Tp|HX)L0D@Keyfh&4H z`?X(?vjtyHtM!OI_l;-8xpR1g=C*O)m7$Iv37k>g7Y%7)NQA5e5W~4%KOp6$KzkUR z86OW-oQHTs?+POMr!o$k$DD4A{=UVTp8TE*hD|16U&KHJzb`6G`ckiwPie%TTwT(e zfnsx_WrC=37q{9YhLS_ZXJ|#ddie%YN}$`9fBxP*0a-Yj14hx*hHGXtw(?B4dDm{6th z%pt*+TxR+s-bt~#kyktIMi#cb6xS-l3FBDWJfaO&sSfU1lQUd#B?4T0M!*A^sN~~g zhRN3D(d%J_Ro#pPMZ6qHA&Iph-S*d!$g+gLzivmGulWk)8jgYJGowpvm+Vc>>d0lW z0oERDO5mwT`59Y8wf<1{7_5;$@KYN>q^>x-`AkS^ExDe5-D=|f9p}9_ZQvaJ7@r{h z*}0SyO$d9JD(fOKLCQ7U>^R(2Vx+4Ys@zKAt;JH>U$G#RvGWm|C_-)k0sUr^T8oAJ ztSB~gvdsJO_MH;*l`J7`>TWpil>XTwQYS6^aBo^)xT9TKE8LoLYUybrLfL zs$y<`#XNx1&;F(Egrc;pEcml@#o2p^yB!c4gp&FH+&+Eqei^OOWEZI$a>0|@S1idc zI}G|?Wd2$TSk3|%IXYrS=P>U&nmX#>~;P;%UgNS&PTiKJ%H1R)q=o5{M$ z{y2*$gQlx(8&4FbaG+!d>6%NKQseMXgEV5N$60Ud^u+fpk#_+z z_(!Vy6N(INl?|*tXFG)6nA*?k%wtX&ppARV0?8ls9xmn~r-UE()@3L$m_j`Grp87`n^HeY{*)E;v_>l5$NIIzhpCEfJF8Xemq^~Q^s(K3=Q9Bfg zNhPdvk?40h+>58j61Cw~=W~oCjl781Q{Q;LdTH~ND{4l0efbJXg_Dt*Bq7<~EF@Dg zQpcg$T8erzoY20*rJV{6^YZ^O3uiwaFxguS2f?8U^e9@Y6E7DRK3S(Hzh`B?d&qdi zW4-Nv7m8iIdF);5$}+8$Lxa6@EmGe)J@t+GcgS@M%z`hCc{LPAzu%Y+A0QhcU@XBj<1r(0Mzfdg8Cn*v zu@k{|5w;FL9vNHAA7DC>{4gNU&$72~cu}-YPk!$*BKwnJWySaKg_uF*H54kRpNxz= z2C~_Z#!zRi*H(nJDuOs&^qQPv#lVnd%|I@odf1T>NiaYU|2VX;m@RT&^4#~X5C2QZ zR`_nm-&3y2Yyh$}zu4#@YF8xJ#no^L8OXkjr`160g%Jk2+Ex?!h9T@;rErl@h{`L9 zU2AzxXW^{msqfkL?LvlBzkA9!)WW8t7L_JPhj-9rbb-i_^pdaoUd9KbfEmEK%b)V( zX{Hw59b66&zsVp-wD~OSP2FiFPkr;5`ZiXi)SE}JoN$VSQQ!xoK-res?NEimlvTnT zh>ei@UeXJ~|5)V-!K%gX33Y3`%>wDMpk{bUu+yTOjXPDQ@luV7)XX7^3P~M7Mrpk zSZa2}urkr}_oCEe_Wbt*N2Z(Zn3XdNgt5L;Cy0Edhzm7#kKMwD`0;eVR)hWpy z=b7i&{vx0OZ*s-4K-ym+ORXh?D*r40{nM1)kw3CugZIjD-WO?>(F-(vB(tnO&QTd@ zk6C>CPj_W60r_u04Gq^K9zHM~4_Wz-8RTF2Z~bl_K01=vF1Yq%4G=;!Nvkoon77l9 z@vadvV=pQl|oEpo!|0G*^Fp22I-%yfF-S#+@GQgyJUhz?r}{77-Z)_GN@ms z(50p$Wc%?4G&qUuTPc(-;*+H_tsA(?=jl5>)Mw#6Eq5-4^N*YI1Q)|r((NY5;5}L? zNwvUienz~3i&%TX;ynK5d4x(lRU5R- zPzp#`x3iAF!}+drG*X_-sJ>6 z&n=dvP;xa=HOpuoA5YEidHGHpRg#afhTRixs*BqsC~F@%Go!Qm%Oh?casDe}_CSNB z&es_6M84e~8Q59vNE+J76B%;u+H$^>0?}E=%Mo1J@ZQg2>w+tckC2lVvgr(Ts{J?L zN-k-%6v|_X157j29H>ouYV2^H!LE&wH>F$e>RrZev&ISd*iZ9+V$B@NR^)v z=mmN4a(X=(>K6P@hrs9m6OT(0B018Cs^TAH*HN5^8+n2gk77A{;`;~FIP`~in;n`= zX_ZvwDH<+Ugnue$53gOV`J?hYQD0yc%C?+}^+!$^cne`Fpa_B{Ss>_lyLTcFuuFF6 z>?)r6o}hsJO${qx- zs4!5`L9$^LS+bN8j*f3fqj>WB2Sdb+S<8+0eFOZ$gf1Wsdf~MERQ$TxKTl-ksXbr1 z+8pmw;2+t+$x^`KIU?H!?@23 z=Mle+uX}%u)EMMzFur;R?Fd08!UX{qVSc%H0BsZGeu{Nt5%W;3^kd=1kGUABb{|^v zam+JPwwjZ813mve8L7K@?XSJxyMVGXHXNeE{v?d+C!!1G!u?v#2OI!6>SXfE$)Ewi z;S@+Be*&|`C0K(UbLyoYE2+*~?=gDU!U^& zm(UVBF zh0Xl)8Se~r(Sg46ADu&N9x9Wr;OE$*Ws;K!W1|@%hOgY z(ikzCKG>=$Mq#3(VLD|hPu0>kM z>kQ3H6emhJ%G;+#SBY{1k6AX*dWmJ4KEgK>Y4OwXl1thxd3;O-%J-E458)VZ$60&6 zgPzoWJ}Af{GdT*-C4+X1wDC(u8TE=;OuC87MNVN7HYrn&6s|5;_5+&$1O)J`0&vG# zkGXox>#vJhE;q-Ue+vvpFXsv% z5@#du5?$FCsTt@zQ1vk(6%r1BQ z<&jy@Y?34UkmltQ84Bp2)slK1SE-NAn!Vo0u@u@@oo8wwi0%&sxE~-~*obb187|_& zBYWI*-yz%YxbIFZ)!DTrb>t-}I}Fz`YfS@j&{1Fd+7MjS#Ugumy6ELVKLw2x9e~hp z#m%GY0r^PuWl+0Z!DT#!eYOb@@1y>lae2yq3AngQ=QyOlacbkupyTfUKs*Qnb;`9C z_3%HC@{yN9MhWzoJ9|Ud0T82r4G(Ehx zc=tfkqu4T}gYRGgz_Ip-aO={!07M7f0(3+|62tEc*C_UwmHy^OpS_dz$vs)uyIx;c zjnDi^B^eHsx-h2Yzb-u)QhU0^FL3C~;EUv*(%qpCY(1V`zQ~q>kQNW*?t)Hu$ZDZ9 z7%^v$`Qzo=xnW>Bek0jYXo+0HTz-H~Z+gxkne4F%!fs`AXTox6#j~seb0T55i$?+m z3F<_s;SN?qgAtH@BuHq63}3^%#Lu(KxXdT`9@4>Q&>cIP4f>w8_>^c?ap();&#T^kPCp&bEV;F=w&x?IX-evAgTF%KFJ zRxQ+Y=uNpvUuFYbK?8SRvWfyiuEPG^~nH$@F5t_Q8R2g$-klPU3 ztv!)K{r}vxB_R>*O>4K)pe-v)xO_mb)Q@syWe-^ikTv|{;@E6?tUlOf6Yv=G6dAu| zM`qZWMVfW7-^Tl?U6W=(?os&xbcuH=G2>XN*;pW8l+S;{g2W!bk8|Oi)e?_c8E}0R z8XLg_On>%h5>Os)IIqoADsCpD3qV3i^A0}v&$2>je=fyF;FAiEdao(=KFgEe(XdzQ+j{zFVkGwsxnc=@B0X+duMx~LY zKuk`-2g4;&nIl!EGa;vCzXT%oq!#NZVgC?-Jx3HgJ!mDu^_jW9E4qa!{|-+=v0gD7 zIZr7|P{>dnNjyTXRQ>XOwHuyWfqwy6Om`AsS=GL_mLQU9#c$%vxe@Ij*i>YkkX{4V754@^oxuPk6`6b}X8R57W&4D< z15vE-0D=tjhIDXMm-TnO0WKVqo=-xTB>`5gc2hCNAP+8|mv+cpfZvf!kC;JvF=@#t zPjK%tpJRi_;xY$xi(Lsisc1N8q2=!;hc9Bz9`m!{*hunEssd7*vk9n(^_=BiFp%kx zte0JNRw&!K2TsfEmaX;;LhGmt(wTSMrS+7NI!`#_`OlHIrsk3?@2)0lbAr}W9D@-)=0}&KJlDSEaCm4b9I;X z!6(@1u*r$wTe1Q8MMt%jptT4*(Mht8+dgH6#5X$e#74@JCds7Xu&l#8>_t6tASwYR zvhIOcQ8eomEMfaiIr@tQ`qVqI#K} z;mMBpUIzoql2tDtZu8dgr9d>>Et;Kt#1y5K@Pn|R21taWiV>?Xt<5Zen7`)tv!9z~^arV5n7gzFS7rf~57V@nBJ&^~jBHe=FY z_`HkFK=iJz?(!kdzdg)-uWQD35=OW3hWnm(Y(Nvn_X}r~H=xnLG}WFH%0DjUfr^7= z*6h9`moh)g?Ip`&{T%!4roAx=*u`Bwg!$7>SqY|X!TXfIt5zHya33Mq=n^{Uu>&wb zBIoRU7T1LVG6uC1XkX_w>*^4$5g_!7xx!@XEbzpiw(i?EuK3aiG|JUoKBW0~r4bJi z)ra^SuVf#CLc$rylvku#LG28AUR6{%rg&60o`g}BtY$iS-78RVsZ`C5+5!zO2n=-Q zaX@U-_pKJo(FVH0%ZE6>WvE^2%5raAe{r0B2vf48D;Kj(pJ^0^^h~yqrKaP*J;X(R z&-f)GqT?|OOw2#1pMQ}|B%_CgO4ve4nb#|Q*LeBR=eM?J6LYnI1a9=Fb(f>&N7giUWU@5VHc1!85GMJfyO_olMpJvox5yu)X=sATl;c}Nd z0-RTWF9DV(BLWN&?j{PScs4Q$*Jcc-6<7tsEJ9{rTdynJZhr;R$sufwBH)T&kn2fhf4 z#Z8e#TU;7QFP#{6P-9FV9;Kq{&wfFFp7y4kBxC8P9ij{BOSmbI*%M&A z{;EkQQ9oXWwekLW`fDF|#`gook-Ho>qKj?8^l?|_2%Lz`+!*Wz)6deE{d1N{P`SKX z?F5$qNddMAf+uEHn`9~9H@G-DqR#lB9ra0A^O!yTwU18wUmypN27Dq1GPrvCxG9}9 zyXvp;Ky6DbWhN5-oGXg%ob#vdU4`yP>v#I+?;DKO^B^9y4Vt&ZKdhg~mCm11y)$8IVee zoO{Tg|Juhb_dSP`b-k!s{x^guKNqMyV@*XTFF9*a;KI{N(8z+k2tAx|;HpV`1eY#` zj#UN(=m&I8NLa=vF@q>cyJo=h5h!>D&bSbAPGt^^zIy9JJ1Bc8_aIBnR(% zmjJpw&T{iYLF7Vlu&WB@unq?BV3e-?)RLSkDSHWnz!XMdz0_%zlwLG;{G$McF*}a= zDnaQD{4t}NlUd|2dZNw7%$RzvmW)z^WzMLLP)=It*G`l)?Eki)i`pEHl77%-a*f;Z zIZ%i4ld%AVdIFT#3-(8U9gSb#z)z});0r_Sb4GKR&E9j{Y5gsBD71_2iHI|;*lEj0 zaOlx6L|$zFFs1au$dO(i@$iW2UlC8_kal}``v{xx$vkKs3_G*5BnSp&ZPQU=r6V}Fl70ck^sMr~-!!|H@=p6D%XG`m zHYhYrU+k6Y@Z8&=dST3RsfLY1jOYr3hZ4(c=E;7f2H6&tN9p+o*{V}&JdU)qKJr>m zN&E$|n7=~)6^0$UFIDCp*;iQUuezH zu?a%Y%jSAX{H1{Te#E?ibye)RUWm$T-O4DXQ0B^ikv`j=$5EM!TY1!!XkJvyhQ1vd z((CH8fjV?jcIZ#ICXn4Zk_jxA?}=-+dC1j6evSq@)jAB`fM#$LbAy&#T-)Y0pCr%deZw@5#eT4^!4V@cEF}3b7vX%Nv$^8+s_2b`9 z`K0#8;2O(pOR&iP6S7@dCqsxT9lcWkMQp=?`hgD~48iUy->wVvN`UVWFOlX?5*wHu4ueSs5u;tk(h}~V|dK<|1M_K1?>43X~g?&rQA3*RCQlUPb z5i(cx0eXo)@sf04zq#<13tixs9o~`vOvz7alDq+Fux#Enfb9RsP%MK*&xXZgC5`<% z?&xXFQjd@kbmU4ILVQ-4)*v8d8I5*U9RtM_Wg#?8KCR{sGjP9h?1$I#m>+lZ&a)k1 zto>ugL;#5@q>40YPLq|rlqMz;6TkuQNi!I&N$)f-1dr90Na~@8D)ZJd-roV+nzki-w?hK*@#y#Om_lK*pXbAqR!dSZ{Z8!Vn$$ z9KfC)DzNCuljk2)q=n8~r_A3pJ=1JW~M@~z%-m5%C_gQ;uB0cV0-kbu0eCda7~J67!Rt>P&yVOK@Ssp zVBu;OW%fWNOW(g`#4Th`fKN z{){~NTZFmRRVA3+L!xM&Vg7?A6T&_;0VC{yFpDeAdlw~ZilDbw&gGuM%+ITNV~zJ)GO3?@a;%;Y*BKFO3pnWYl&7|2ji)xM6CvEM@_ZuIED@Ollp0R+GlA$tP+V92b09&$M1+~1M&XF7x$0f*nXcJtLyElDYL zz*{XejT$Im_nAJyB6PNxkT+navz$^`G>O+)_5}D;uF3xbSlPaSm1?~}YcvEM5u&;3 zIR;(!Os(d`k0p`+>8g0T?~2CxyAV!I5lAW$+`?o4pPv;BnmV_i>np+U&Ih{VEb zJuwh@tW$X?|VcL}$w^HdNB{ZNd;uW(*)xS=2 zl6@_B7Py$oCX&BD)J*e54`O%BA}>}sQ|c+BOI`giC(nOR<(l1{fkqL^GoM!mLfbRz zy%JvPM_$YrElDc5O133#49VgRtB35Dx8I!(T0sNOJrKs>=ifdL z1!X@(VI3w6ExKhdjFM--r*uu;0TdT|n(J%wr#Q}`H8k8&%v~A|(5)Vb+Mdkjuz*~* zHYJ^$)eop(tw8N`wh>1Q*bbfxKyks6;3F#HG+z$V_K-dQeMr~L@1!ka4{Dwen33=u z-TNufBKAn9E>|iedmPxVC0@ZfkTJe1BT((YPvjf!0DVgnRssRw<;S3qhjlpY6;xno zqxinelS&*7Pk{4d)4EZ+W=m$LGybkzmQm+ZP?DbTUgiPWe}g20Qdfa5+%E)-g@%r& z{W}b}TxGR`YhX4O6VL(~Q;M4SAX#f(!pu}dbC1~*;FG<$E9WqLKLlc*{zRoZAz){P zw7^O`c{f#Y0M$=Nc4^(#V)?+{UIih@3pXKX$QjXsI1IFK8}XPk6*oSs`nKNr7Khmr z;1g~8pF*}L33CJKWiI~mw&-D0Zn*Rf7rZL|3ju?-GoPD3!UB(6wD_+=l3%n3?#h9 zha-apyLi?_ym%1?+Q%o;H9)>sE)jbRgb0v<(DXyCYuM|TTp#c9Eh&&6EfKUH(?s1E z9<=Ab4+*CKa+Z;sCpRO|0RK#aEs;tFn*b&=+|Rn>5a6YlpJ!~XX%&(kWf`r=f0-{K zrQ$Iw`IV>mb=nvw;2(xs2mEN6bJpbhcVJ6d;u1`Hs6N3R91#3^xkXM*pTJq;csqFrYVoI}N^&V#NV^v7fV7t7)Gu^fgGe;_G`g&(ki z`YPp`DkX+WHC628>I0GHgQ zXVk?{W2%2-FU~u4bGoRD^0Pisok3!UTgPH%;)bAfdX5Gpon`-gaxl+}xM49X`;`w? z`Q|YHe};*l8fXJQ?=*q^lVt^w&G z4-ffcn!f?S_)4zEwb7u+_?+cyCCHw9f=Qp&JhWVgTk-Ed=n*mX&FUYtR z3KXRXn@y(<10n)5(wzlU@Wi7!fOt%E6ZYB&nditP%OifyUefo=x9Dr+3ZwB$qk{9J z%tt@q&kct%Q=}taqp}z#=$Q8`U;avX^3-Wp86g92f$-i}sB`gQ%^!|*X2f5;ShAuf zMeV6`ZXrL1FB@)*)dk-fk^5r2R`Ooq<7mM$(0(b5Vp&05$3kX~vT z@s57~`+b238_-KmO-Oxkf1rd={kj;SAGEQgb3~maOk2QHOQp(ZLHSH;NJlt|g8 zBP|Ys&rKg#n4w5F#=~y~bhcv&z34>F?~Eg?ls7&=pPME%@iC$v0Vuuor16M?fa;4S z(Lx=;^R%0|*$HfjOoRN6*N(ywWCYsMXLNjUg%6at_47k~2~?VO>)Lnf3zNX+XxUk&TYbQHh)X!O`bGbFUj)z=I3P2c4Qtu{Ji>V2n`&=nf2ut_4C$_?Jb9&HPMiWftFWhC zWgGAH8y}b*3|uZ@wXNZ4x{40#5i9A9`DZQkk0YiuvzN)b5q7>v16%KZPcMX>ZT8Uv zh49M0^QyC3(aQ(E(QeHuFX{t}F+a-{7h;91g490eXJv727zF1p9pC%1$LGq0Q64+o z3~=AxuWPZ29Vlnm;t?uURWdR`5JIEaw%?KM2`N;1Z7CQ>jlI5ytfV)ejHA2}(fl>! z2V!v0Koj5Rhk9p8r=bDhB!jh1DsSbY|bBrHtRlwwTSnEHE?j4c_B~lk`vqX;GvxoWa&Op1AMB#+4^Bx6L03h@-8{gh!6LOkkc`bx zj*D@Qn1`c&WSOE-Yg?h~vrrrwdUQ|{e?d&@@BH^0APRxi#OIr<0Dgnsz*;46k9pF# zT!8$_=ai@q?Eg_5+5poB=`qwkIJSM@<18s^iN!_*16Xi)29)*-k~@Eg%%tHOx^RV3 zPby_kytUvmG!+^6{vz9funOKOaK^86QUvNlHR|+j6mTU5z~>58JZOEh!vsPta)z~( z6-9QOe1RtI7lzZ%kpIQ4@wxLuMhtbT0!q(b8&Y(-duxEJsAI5>D(bBnX96{@fjqQF zz>Kgh(7FcWA1;&JTW)iHBr!n8HlGUumj_du>e8v0f4Z#{;%CP9kmi( zd+5Mug_ag}mUac^m@uq8wB0;r`^=_%K>+cw zFK91a5(u|bmUIx*WW5I9SiglxkFj_e)}Q!(c&n30(|Z% zK_Pzz_iM!MqXuO*0ASq?BkJxfVlM~@;65<8MUrPrjBJVb+KH<<*6a9)*mERh1MPZf zl6cZ?o&leWN(!vc@P3VXeh!yWDzvu@k+9R3@%M1q!nf3mN9i1*{qgqI)eiU@`tcCf z#?m^tB3U`=hyJI9>>2Q5Pr0R+Kmy^<@sT}%Z)ZN>;K(?qAU?s#u!iCgZwn4zbLoWW zv;pZcszGTG{Mi2_>}`pl^iSrk_VuhvqM)*eDYyjfyxu>z zE9~$p9I6Txy2F8^X2S>gybBEp1%Y_RA;xbxXh`;=Jr!DhWCL!eoJD}*x?#-de|XH# zdTz^B#Pa738Nz0+5i{CQN#;kMzkGL9pTzXK%D_Q6R(NX9grwB zZK0SgOBX8BPrvkac29s$zDC~iHCo*=x86}rD+si9mogRmW-l}>L9Xe?xqAY9ZiMp&lW*_Ud4y)E+R0Gut_X?_ za2CVa!f8n~i7k$J@^1pzc3DhhZRAOgya&olcpKuBq^GR6LJFWKLJ2j++8vp%02g&n ze;*6s{}OSN&yu8?S?`l9u84ug^I|Pg`->vZ$VKIgo*)v}sff{jvj#g%k%-!JN%!pc zu@ByHH7pGcM~2XdqS@hfzCFW&j!S{QD^q$#Dr7f1&9v3)t2lg7HI@@DE-0GT{U z;QBdNzV6Toj`AfXjc~3<{LFqks(#YQ4Q5UQ!-3U