From a1234a7f932deb8d7305f1437c3c17677cc74312 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Thu, 20 Jun 2024 09:57:43 -0500 Subject: [PATCH 01/13] Updated envy model Updates include: unique color id's, noisy cross sections of branches, curvy tertiary branches --- examples/Camp_Envy_tie_prune_label.lpy | 404 +++++++++++++++++++++++++ 1 file changed, 404 insertions(+) create mode 100644 examples/Camp_Envy_tie_prune_label.lpy diff --git a/examples/Camp_Envy_tie_prune_label.lpy b/examples/Camp_Envy_tie_prune_label.lpy new file mode 100644 index 0000000..d11fc40 --- /dev/null +++ b/examples/Camp_Envy_tie_prune_label.lpy @@ -0,0 +1,404 @@ +""" +Tying, Pruning, and Labelling Envy architecture tree +""" +import sys +sys.path.append('../') +from stochastic_tree import Support, BasicWood +import numpy as np +import random as rd +import copy +import gc +import time +import math +from math import sin, cos, pi +from helper import * +class Spur(BasicWood): + count = 0 + def __init__(self, copy_from = None, max_buds_segment: int = 5, thickness: float = 0.1,\ + thickness_increment: float = 0.01, growth_length: float = 1., max_length: float = 7.,\ + tie_axis: tuple = (0,1,1), order: int = 1, prototype_dict: dict = {}, name = None, color = None): + super().__init__(copy_from, max_buds_segment,thickness, thickness_increment, growth_length,\ + max_length, tie_axis, order, color) + if copy_from: + self.__copy_constructor__(copy_from) + else: + self.prototype_dict = prototype_dict + if not name: + self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) + Spur.count+=1 + + def is_bud_break(self, num_buds_segment): + return (rd.random() < 0.1) + + def create_branch(self): + return None + + def grow(self): + pass + +class Branch(BasicWood): + count = 0 + def __init__(self, copy_from = None, max_buds_segment: int = 10, thickness: float = 0.1,\ + thickness_increment: float = 0.01, growth_length: float = 1., max_length: float = 7.,\ + tie_axis: tuple = (0,1,1), order: int = 1, prototype_dict: dict = {}, name = None, color = None): + + super().__init__(copy_from, max_buds_segment,thickness, thickness_increment, growth_length,\ + max_length, tie_axis, order, color) + if copy_from: + self.__copy_constructor__(copy_from) + else: + self.prototype_dict = prototype_dict + + if not name: + self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) + Branch.count+=1 + self.num_buds_segment=0 + + def is_bud_break(self, num_buds_segment): + return (rd.random() < 0.01*(1 - self.num_buds_segment/self.max_buds_segment)) + + def create_branch(self): + self.num_buds_segment += 1 + if rd.random()>0.6: + new_ob = NonTrunk(copy_from = self.prototype_dict['nontrunk']) + else: + new_ob = Spur(copy_from = self.prototype_dict['spur']) + return new_ob + + def grow(self): + pass + +class Trunk(BasicWood): + count = 0 + """ Details of the trunk while growing a tree, length, thickness, where to attach them etc """ + def __init__(self, copy_from = None, max_buds_segment: int = 5, thickness: float = 0.1,\ + thickness_increment: float = 0.01, growth_length: float = 1., max_length: float = 7.,\ + tie_axis: tuple = (0,1,1), order: int = 0, prototype_dict: dict = {}, name = None, color = None): + + super().__init__(copy_from, max_buds_segment,thickness, thickness_increment, growth_length,\ + max_length, tie_axis, order, color) + if copy_from: + self.__copy_constructor__(copy_from) + else: + self.prototype_dict = prototype_dict + if not name: + self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) + Trunk.count+=1 + + def is_bud_break(self, num_buds_segment): + if (rd.random() > 0.2*(1 - num_buds_segment/self.max_buds_segment)): + return False + return True + + def create_branch(self): + if rd.random() > 0.7: + return Spur(copy_from = self.prototype_dict['spur']) + else: + return Branch(copy_from = self.prototype_dict['branch']) + + def grow(self): + pass + +class NonTrunk(BasicWood): + count = 0 + def __init__(self, copy_from = None, max_buds_segment: int = 5, thickness: float = 0.1,\ + thickness_increment: float = 0.01, growth_length: float = 1., max_length: float = 7.,\ + tie_axis: tuple = (0,1,1), order: int = 1, prototype_dict: dict = {}, name = None, color = None): + + super().__init__(copy_from, max_buds_segment,thickness, thickness_increment, growth_length,\ + max_length, tie_axis, order, color) + if copy_from: + self.__copy_constructor__(copy_from) + else: + self.prototype_dict = prototype_dict + + if not name: + self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) + Branch.count+=1 + + def is_bud_break(self, num_buds_segment): + return (rd.random() < 0.02*(1 - num_buds_segment/self.max_buds_segment)) + + def create_branch(self): + if rd.random()>0.9: + return None + #new_ob = Spur(copy_from = self.prototype_dict['nontrunkbranch']) + else: + new_ob = Spur(copy_from = self.prototype_dict['spur']) + return new_ob + + def grow(self): + pass + +#Pass transition probabs? --> solve with abstract classes +growth_length = 0.1 +#everything is relative to growth length +basicwood_prototypes = {} +basicwood_prototypes['trunk'] = Trunk(tie_axis = (0,1,1), max_length = 0.4/growth_length, thickness = 0.01, growth_length = 0.1,thickness_increment = 0.0002, prototype_dict = basicwood_prototypes, color = [255,0,0] ) +basicwood_prototypes['branch'] = Branch(tie_axis = (0,1,1), max_length = .22/growth_length, thickness = 0.01, growth_length = 0.1,thickness_increment = 0.00001, prototype_dict = basicwood_prototypes, color = [255,150,0] ) +basicwood_prototypes['nontrunk'] = NonTrunk(tie_axis = (0,1,1), max_length = 0.05/growth_length, growth_length = 0.1, thickness = 0.003,thickness_increment = 0.0001, prototype_dict = basicwood_prototypes, color = [255,150,0] ) +basicwood_prototypes['spur'] = Spur(tie_axis = (0,1,1), max_length = 0.0008/growth_length, thickness = 0.003, growth_length = 0.2, thickness_increment = 0., prototype_dict = basicwood_prototypes, color = [0,255,0] ) +#init +trunk_base = Trunk(copy_from = basicwood_prototypes['trunk']) +time_count = 0 +def generate_points_v_trellis(): + x = np.full((7,), 0.45).astype(float) + #z = np.arange(3, 24, 3).astype(float) + y = np.full((7,), 0).astype(float) + z = np.arange(0.6,3.4, 0.45) + #print(z) + pts = [] + id = 0 + for i in range(x.shape[0]): + pts.append((-x[i], y[i], z[i])) + id+=1 + pts.append((x[i], y[i], z[i])) + id+=1 + return pts + +support = Support(generate_points_v_trellis(), 14 , 1 , None, (0,0,1), None) +num_iteration_tie = 20 +###Tying stuff begins + +def ed(a,b): + return (a[0]-b[0])**2+(a[1]-b[1])**2+(a[2]-b[2])**2 + +def get_energy_mat(branches, arch): + num_branches = len(branches) + num_wires = len(list(arch.branch_supports.values())) + energy_matrix = np.ones((num_branches,num_wires))*np.inf + #print(energy_matrix.shape) + for branch_id, branch in enumerate(branches): + if branch.has_tied: + continue + for wire_id, wire in arch.branch_supports.items(): + if wire.num_branch>=1: + continue + energy_matrix[branch_id][wire_id] = ed(wire.point,branch.end)/2+ed(wire.point,branch.start)/2#+v.num_branches*10+branch.bend_energy(deflection, curr_branch.age) + return energy_matrix +def decide_guide(energy_matrix, branches, arch): + for i in range(energy_matrix.shape[0]): + min_arg = np.argwhere(energy_matrix == np.min(energy_matrix)) + #print(min_arg) + if(energy_matrix[min_arg[0][0]][min_arg[0][1]] == np.inf) or energy_matrix[min_arg[0][0]][min_arg[0][1]] > 1: + return + if not (branches[min_arg[0][0]].has_tied == True):# and not (arch.branch_supports[min_arg[0][1]].num_branch >=1): + #print("Imp:",min_arg[0][0], min_arg[0][1], energy_matrix[min_arg[0][0]][min_arg[0][1]]) + branches[min_arg[0][0]].guide_target = arch.branch_supports[min_arg[0][1]]#copy.deepcopy(arch.branch_supports[min_arg[0][1]].point) + #trellis_wires.trellis_pts[min_arg[0][1]].num_branches+=1 + for j in range(energy_matrix.shape[1]): + energy_matrix[min_arg[0][0]][j] = np.inf + for j in range(energy_matrix.shape[0]): + energy_matrix[j][min_arg[0][1]] = np.inf +def tie(lstring): + for j,i in enumerate(lstring): + if i == 'C' and i[0].type.__class__.__name__ == 'Branch': + if i[0].type.tie_updated == False: + continue + curr = i[0] + if i[0].type.guide_points: + #print("tying ", i[0].type.name, i[0].type.guide_target.point) + i[0].type.tie_updated = False + i[0].type.guide_target.add_branch() + lstring, count = i[0].type.tie_lstring(lstring, j) + + return True + return False + +#Pruning strategy +def pruning_strategy(lstring): #Remove remnants of cut + cut = False + for j,i in enumerate(lstring): + if i.name == 'C' and i[0].type.age > 6 and i[0].type.has_tied == False and i[0].type.cut == False: + + i[0].type.cut = True + #print("Cutting", i[0].type.name) + lstring = cut_using_string_manipulation(j, lstring) + return True + return False + +def StartEach(lstring): + global parent_child_dict + for i in parent_child_dict[trunk_base.name]: + if i.tie_updated == False: + i.tie_update() + + +def EndEach(lstring): + global parent_child_dict, support + tied = False + #print(getIterationNb()) + if (getIterationNb()+1)%num_iteration_tie == 0: + energy_matrix = get_energy_mat(parent_child_dict[trunk_base.name], support) + #print(energy_matrix) + decide_guide(energy_matrix, parent_child_dict[trunk_base.name], support) + for branch in parent_child_dict[trunk_base.name]: + branch.update_guide(branch.guide_target) + #print(branch.name, branch.guide_target) + while tie(lstring): + pass + while pruning_strategy(lstring): + pass + return lstring + +parent_child_dict = {} +parent_child_dict[trunk_base.name] = [] +#print(generate_points_ufo()) +module Attractors +module grow_object +module bud +module branch +module C +extern(label = True) +extern(seed_val = 0) +rd.seed(seed_val) +# Added by Camp +def create_noisy_circle_curve(radius, noise_factor, num_points=100, seed=None): + if seed is not None: + rd.seed(seed) + t = np.linspace(0, 2 * np.pi, num_points, endpoint=False) + points = [] + for angle in t: + # Base circle points + x = radius * np.cos(angle) + y = radius * np.sin(angle) + + # Add noise + noise_x = rd.uniform(-noise_factor, noise_factor) + noise_y = rd.uniform(-noise_factor, noise_factor) + + noisy_x = x + noise_x + noisy_y = y + noise_y + + points.append((noisy_x, noisy_y)) + + # Ensure the curve is closed by adding the first point at the end + points.append(points[0]) + + # Create the PlantGL Point2Array and Polyline2D + curve_points = Point2Array(points) + curve = Polyline2D(curve_points) + return curve + + +def create_bezier_curve(num_control_points=4, x_range=(0, 10), y_range=(-2, 2), seed=None): + if seed is not None: + rd.seed(seed) # Set the random seed for reproducibility + # Generate progressive control points within the specified ranges + control_points = [] + prev_x = rd.uniform(x_range[0], x_range[1] / 4) + for i in range(num_control_points): + x = prev_x + rd.uniform(0, (x_range[1] - prev_x) / (num_control_points - i)) + y = rd.uniform(*y_range) + control_points.append(Vector3(x, y, 0)) # Set z to 0 for 2D curve + prev_x = x + # Create a Point3Array from the control points + control_points_array = Point3Array(control_points) + # Create and return the BezierCurve2D object + bezier_curve = BezierCurve2D(control_points_array) + return bezier_curve + +def rgb_seed(r, g, b): + return r * 256**2 + g * 256 + b + + + +global profile1, profile2, profile3 +profile1 = create_noisy_circle_curve(1, .2, 30, 23) +profile2 = create_noisy_circle_curve(1, .2, 30) +profile3 = create_noisy_circle_curve(1, .2, 30) +# print("Labelling: ", label) +# print("Seed ", seed_val) +Axiom: Attractors(support)grow_object(trunk_base) +derivation length: 105 +production: +#Decide whether branch internode vs trunk internode need to be the same size. +grow_object(o) : + #global profile1 + if o == None: + produce * + else: + if o.length >= o.max_length: + o.age += 1 + nproduce * + else: + # Apply color + r, g, b = o.color + nproduce SetColor(r, g, b) + smallest_color = [r, g, b].index(min([r, g, b])) + o.color[smallest_color] += 1 + + # Check if it's a trunk or branch, then apply the contour + if 'Trunk' in o.name or 'Branch' in o.name: + radius = o.thickness + noise_factor = 0.8 + num_points = 60 + nproduce SetContour(profile1) + #pass + + + + o.grow_one() + if 'Spur' in o.name: + produce I(o.growth_length, o.thickness, o) bud(ParameterSet(type=o, num_buds=0)) my_bud(o.thickness) grow_object(o) + else: + produce I(o.growth_length, o.thickness, o) bud(ParameterSet(type=o, num_buds=0)) grow_object(o) +bud(t) : + if t.type.is_bud_break(t.num_buds): + new_object = t.type.create_branch() + if new_object == None: + produce * + parent_child_dict[new_object.name] = [] + parent_child_dict[t.type.name].append(new_object) + #Store new object somewhere + t.num_buds+=1 + t.type.num_branches+=1 + if 'NonTrunk' in new_object.name: + import time + r, g, b = new_object.color + seed = rgb_seed(r, g, b) + curve = create_bezier_curve(seed=time.time()) + nproduce [SetGuide(curve, new_object.max_length) + else: + nproduce [ + nproduce @RGetPos(new_object.start)C(ParameterSet(type = new_object))/(rd.random()*360)&(rd.random()*90)grow_object(new_object)GetPos(new_object.end)]bud(t) +# Added by Camp; bud geom +my_bud(r): + base_height = r * 2 + top_height = r * 2 + num_sec = 20 + #nproduce SetContour(p) + produce @g(Cylinder(r,base_height,1,num_sec))f(base_height)@g(Cone(r,top_height,0,num_sec)) + +I(s,r,o) --> I(s,r+o.thickness_increment, o) +_(r) --> _(r+o.thickness_increment) +homomorphism: +I(a,r,o) --> F(a,r) +S(a,r,o) --> F(a,r) +production: +Attractors(support): + pttodisplay = support.attractor_grid.get_enabled_points() + if len(pttodisplay) > 0: + produce [,(3) @g(PointSet(pttodisplay,width=10))] +###### INITIALISATION ###### + +__lpy_code_version__ = 1.1 + +def __initialiseContext__(context): + context.animation_timestep = 0.15 + import openalea.plantgl.all as pgl + curve1 = pgl.BezierCurve2D( + pgl.Point3Array([(-0.5, 0, 1),(-0.375458, 0.67033, 1),(0.0128205, -0.593407, 1),(0.505495, -0.236264, 1)]) , + ) + curve1.name = "curve1" + parameter = pgl.BezierCurve2D( + pgl.Point3Array([(-0.5, 0, 1),(-0.166667, 0, 1),(0.166667, 0, 1),(0.5, 0, 1)]) , + ) + parameter.name = "parameter" + panel_0 = ({'name': 'Panel 2', 'active': True, 'visible': True},[('Curve2D',curve1),('Curve2D',parameter)]) + parameterset = [panel_0,] + context["__functions__"] = [] + context["__curves__"] = [('curve1',curve1),('parameter',parameter),] + context["__parameterset__"] = parameterset + context["curve1"] = curve1 + context["parameter"] = parameter From 0f0e1fac0161f46fd97f7745387aa48e8b13323e Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Thu, 11 Jul 2024 09:05:40 -0500 Subject: [PATCH 02/13] Update Camp_Envy_tie_prune_label.lpy Added leaves and apples to model --- examples/Camp_Envy_tie_prune_label.lpy | 266 +++++++++++++++++++++---- 1 file changed, 230 insertions(+), 36 deletions(-) diff --git a/examples/Camp_Envy_tie_prune_label.lpy b/examples/Camp_Envy_tie_prune_label.lpy index d11fc40..1804e6a 100644 --- a/examples/Camp_Envy_tie_prune_label.lpy +++ b/examples/Camp_Envy_tie_prune_label.lpy @@ -12,6 +12,62 @@ import time import math from math import sin, cos, pi from helper import * + + +class Leaf(BasicWood): + count = 0 + def __init__(self, copy_from=None, max_buds_segment=3, thickness=0.05, + thickness_increment=0.005, growth_length=0.5, max_length=2.0, + tie_axis=(0, 1, 1), order=2, prototype_dict={}, name=None, color=None): + super().__init__(copy_from, max_buds_segment, thickness, thickness_increment, growth_length, + max_length, tie_axis, order, color) + if copy_from: + self.__copy_constructor__(copy_from) + else: + self.prototype_dict = prototype_dict + if not name: + self.name = str(self.__class__.__name__) + '_' + str(self.__class__.count) + Leaf.count += 1 + + def is_bud_break(self, num_buds_segment): + return (rd.random() < 0.05) + + def create_branch(self): + # Leafs typically do not create further branches, return None + return None + + def grow(self): + #self.num_branches += 1 + #return + pass + +class Apple(BasicWood): + count = 0 + def __init__(self, copy_from=None, max_buds_segment=3, thickness=0.05, + thickness_increment=0.005, growth_length=0.5, max_length=2.0, + tie_axis=(0, 1, 1), order=2, prototype_dict={}, name=None, color=None): + super().__init__(copy_from, max_buds_segment, thickness, thickness_increment, growth_length, + max_length, tie_axis, order, color) + if copy_from: + self.__copy_constructor__(copy_from) + else: + self.prototype_dict = prototype_dict + if not name: + self.name = str(self.__class__.__name__) + '_' + str(self.__class__.count) + Apple.count += 1 + + def is_bud_break(self, num_buds_segment): + return (rd.random() < 0.05) + + def create_branch(self): + # Leafs typically do not create further branches, return None + return None + + def grow(self): + #self.num_branches += 1 + #return + pass + class Spur(BasicWood): count = 0 def __init__(self, copy_from = None, max_buds_segment: int = 5, thickness: float = 0.1,\ @@ -26,12 +82,22 @@ class Spur(BasicWood): if not name: self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) Spur.count+=1 + self.num_leaves = 0 + self.contour = create_noisy_circle_curve(1, .2, 30) def is_bud_break(self, num_buds_segment): return (rd.random() < 0.1) def create_branch(self): - return None + if self.num_leaves < 5: + self.num_leaves += 1 + if rd.random()<0.9: + new_ob = Leaf(copy_from = self.prototype_dict['leaf']) + else: + new_ob = Apple(copy_from = self.prototype_dict['apple']) + else: + new_ob = None + return new_ob def grow(self): pass @@ -53,6 +119,7 @@ class Branch(BasicWood): self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) Branch.count+=1 self.num_buds_segment=0 + self.contour = create_noisy_circle_curve(1, .2, 30) def is_bud_break(self, num_buds_segment): return (rd.random() < 0.01*(1 - self.num_buds_segment/self.max_buds_segment)) @@ -84,6 +151,7 @@ class Trunk(BasicWood): if not name: self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) Trunk.count+=1 + self.contour = create_noisy_circle_curve(1, .2, 30) def is_bud_break(self, num_buds_segment): if (rd.random() > 0.2*(1 - num_buds_segment/self.max_buds_segment)): @@ -115,6 +183,7 @@ class NonTrunk(BasicWood): if not name: self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) Branch.count+=1 + self.contour = create_noisy_circle_curve(1, .2, 30) def is_bud_break(self, num_buds_segment): return (rd.random() < 0.02*(1 - num_buds_segment/self.max_buds_segment)) @@ -138,6 +207,14 @@ basicwood_prototypes['trunk'] = Trunk(tie_axis = (0,1,1), max_length = 0.4/growt basicwood_prototypes['branch'] = Branch(tie_axis = (0,1,1), max_length = .22/growth_length, thickness = 0.01, growth_length = 0.1,thickness_increment = 0.00001, prototype_dict = basicwood_prototypes, color = [255,150,0] ) basicwood_prototypes['nontrunk'] = NonTrunk(tie_axis = (0,1,1), max_length = 0.05/growth_length, growth_length = 0.1, thickness = 0.003,thickness_increment = 0.0001, prototype_dict = basicwood_prototypes, color = [255,150,0] ) basicwood_prototypes['spur'] = Spur(tie_axis = (0,1,1), max_length = 0.0008/growth_length, thickness = 0.003, growth_length = 0.2, thickness_increment = 0., prototype_dict = basicwood_prototypes, color = [0,255,0] ) + +#---------------------- +# TESTING - CAMP +basicwood_prototypes['leaf'] = Leaf(tie_axis=(0, 1, 1), max_length=0.02/growth_length, thickness=0.01, growth_length=0.05, thickness_increment=0.0005, prototype_dict=basicwood_prototypes, color=[36, 117, 32]) + +basicwood_prototypes['apple'] = Apple(tie_axis=(0, 1, 1), max_length=0.02/growth_length, thickness=0.01, growth_length=0.05, thickness_increment=0.0005, prototype_dict=basicwood_prototypes, color=[36, 117, 32]) +#---------------------- + #init trunk_base = Trunk(copy_from = basicwood_prototypes['trunk']) time_count = 0 @@ -155,8 +232,8 @@ def generate_points_v_trellis(): pts.append((x[i], y[i], z[i])) id+=1 return pts - -support = Support(generate_points_v_trellis(), 14 , 1 , None, (0,0,1), None) +# points, num_wires spacing wires trunk_wire_pt branch_axis trunk_axis +support = Support(generate_points_v_trellis(), 14 , 1 , None, (0,0,1), None) num_iteration_tie = 20 ###Tying stuff begins @@ -175,7 +252,9 @@ def get_energy_mat(branches, arch): if wire.num_branch>=1: continue energy_matrix[branch_id][wire_id] = ed(wire.point,branch.end)/2+ed(wire.point,branch.start)/2#+v.num_branches*10+branch.bend_energy(deflection, curr_branch.age) + return energy_matrix + def decide_guide(energy_matrix, branches, arch): for i in range(energy_matrix.shape[0]): min_arg = np.argwhere(energy_matrix == np.min(energy_matrix)) @@ -190,6 +269,7 @@ def decide_guide(energy_matrix, branches, arch): energy_matrix[min_arg[0][0]][j] = np.inf for j in range(energy_matrix.shape[0]): energy_matrix[j][min_arg[0][1]] = np.inf + def tie(lstring): for j,i in enumerate(lstring): if i == 'C' and i[0].type.__class__.__name__ == 'Branch': @@ -252,6 +332,8 @@ module C extern(label = True) extern(seed_val = 0) rd.seed(seed_val) + + # Added by Camp def create_noisy_circle_curve(radius, noise_factor, num_points=100, seed=None): if seed is not None: @@ -301,7 +383,88 @@ def create_bezier_curve(num_control_points=4, x_range=(0, 10), y_range=(-2, 2), def rgb_seed(r, g, b): return r * 256**2 + g * 256 + b - +def make_apple_curve(): + y1 = rd.uniform(.65,1) + y2 = rd.uniform(.8,1) + y3 = rd.uniform(.4,.5) + + # points from apple curve + # 0: (0, 0, 1) + # 1: (0, 1, 1) + # 2: (1, 0.807331, 1) + # 3: (1, 0.461907, 1) + #y3 = 0.439871 + + base_points = [ + #point 0 #point 1 #point 2 #point 3 + (0, 0, 1), (0, y1, 1), (1, y2, 1),(1, y3, 1) + ] + + top_points = [ + (0, y3, 1),(0, 0.118695, 1),(0.909233, 0.146624, 1),(1, -0.0977491, 1) + ] + + base_point_list = Point3Array(base_points) + curve1 = NurbsCurve2D(base_point_list) + base_curve = QuantisedFunction(curve1) + + top_point_list = Point3Array(top_points) + curve2 = BezierCurve2D(top_point_list) + top_curve = QuantisedFunction(curve2) + + return [base_curve,top_curve] + +def make_stem_curve(): + + # points from stem curve + # 0: (-1.48289, 0.982887, 1) + # 1: (-0.559816, 1.22861, 1.05),(1.05126, 1.57262, 1),(1.70403, -0.0245722, 1) + # 2: (1.05126, 1.57262, 1) + # 3: (1.70403, -0.0245722, 1) + + points = [ + (-1.48289, 0.982887, 1),(-0.559816, 1.22861, 1.05),(1.05126, 1.57262, 1),(1.70403, -0.0245722, 1) + ] + ctrlPointList = Point3Array(points) + stem_curve = NurbsCurve2D(ctrlPointList) + return stem_curve + +base_height = 2.5 +rad = 2 + +def make_leaf_guide(): + + x1 = rd.uniform(0,.25) + x2 = rd.uniform(.65,.85) + y1 = rd.uniform(.45,.55) + y2 = rd.uniform(.25,.35) + + control_points = [ + Vector3(0,0,0), + Vector3(x1,y1,0), + Vector3(x2,y2,0), + Vector3(1,0,0), + ] + + inverse_points = [ + Vector3(0,0,0), + Vector3(x1,-y1,0), + Vector3(x2,-y2,0), + Vector3(1,0,0), + ] + + side1 = Point3Array(control_points) + side2 = Point3Array(inverse_points) + + curve1 = BezierCurve2D(side1) + curve2 = BezierCurve2D(side2) + + return [curve1, curve2] + + +def reset_contour(): + default_curve = create_noisy_circle_curve(1, 0, 30) # Example of a simple default contour + nproduce SetContour(default_curve) global profile1, profile2, profile3 profile1 = create_noisy_circle_curve(1, .2, 30, 23) @@ -309,6 +472,8 @@ profile2 = create_noisy_circle_curve(1, .2, 30) profile3 = create_noisy_circle_curve(1, .2, 30) # print("Labelling: ", label) # print("Seed ", seed_val) + + Axiom: Attractors(support)grow_object(trunk_base) derivation length: 105 production: @@ -325,24 +490,35 @@ grow_object(o) : # Apply color r, g, b = o.color nproduce SetColor(r, g, b) + # set unique color ID smallest_color = [r, g, b].index(min([r, g, b])) o.color[smallest_color] += 1 # Check if it's a trunk or branch, then apply the contour if 'Trunk' in o.name or 'Branch' in o.name: + #print("TRUNK BRANCH NAME: " + o.name) radius = o.thickness noise_factor = 0.8 num_points = 60 - nproduce SetContour(profile1) + nproduce SetContour(o.contour) #pass - - + else: + reset_contour() o.grow_one() if 'Spur' in o.name: - produce I(o.growth_length, o.thickness, o) bud(ParameterSet(type=o, num_buds=0)) my_bud(o.thickness) grow_object(o) + produce I(o.growth_length, o.thickness, o) bud(ParameterSet(type=o, num_buds=0)) spiked_bud(o.thickness)grow_object(o) + elif 'Leaf' in o.name: + produce L(.1) + elif 'Apple' in o.name: + #pass + #print("APPLE NAME: " + o.name) + #produce [S(.1, .007)Ap] + produce [S(.1/2, .09/15)f(.1)&(180)A(.1, .09)] else: produce I(o.growth_length, o.thickness, o) bud(ParameterSet(type=o, num_buds=0)) grow_object(o) +#L(.1) + bud(t) : if t.type.is_bud_break(t.num_buds): new_object = t.type.create_branch() @@ -353,6 +529,13 @@ bud(t) : #Store new object somewhere t.num_buds+=1 t.type.num_branches+=1 + + # set a different cross section for every branch + if 'Leaf' not in new_object.name and 'Apple' not in new_object.name: + #print("OBJECT NAME: " + new_object.name) + nproduce SetContour( new_object.contour ) + + # set a curve for tertiary branches to follow as they grow if 'NonTrunk' in new_object.name: import time r, g, b = new_object.color @@ -362,16 +545,49 @@ bud(t) : else: nproduce [ nproduce @RGetPos(new_object.start)C(ParameterSet(type = new_object))/(rd.random()*360)&(rd.random()*90)grow_object(new_object)GetPos(new_object.end)]bud(t) -# Added by Camp; bud geom -my_bud(r): + +spiked_bud(r): base_height = r * 2 top_height = r * 2 - num_sec = 20 - #nproduce SetContour(p) - produce @g(Cylinder(r,base_height,1,num_sec))f(base_height)@g(Cone(r,top_height,0,num_sec)) + num_sect = 20 + produce @g(Cylinder(r,base_height,1,num_sect))f(base_height)@g(Cone(r,top_height,0,num_sect)) + +A(bh, r): + curves = make_apple_curve() + base_curve = curves[0] + top_curve = curves[1] + nproduce SetColor(230,0,0) SectionResolution(60) + produce nF(bh, .01, r, base_curve) ^(180) nF(bh/5, .1, r, top_curve)^(180)#S(bh/2,r/15) + +S(sh,r): + stem_curve = make_stem_curve() + nproduce SetColor(100,65,23) + produce SetGuide(stem_curve, sh) _(r)nF(sh, .1, r) #Ap + + +Ap: + nproduce SetColor(255,0,0)SectionResolution(60) + produce @O(rd.uniform(.035, .05) ) + +L(l): + nproduce SetColor(0,225,0) + # Setting the color to magenta to better see the leaves + #nproduce SetColor(255,0,255) + + curves = make_leaf_guide() + curve1 = curves[0] + curve2 = curves[1] + + #produce ~l(l) + + # This is the line that should be drawing the leaf + # however only the first "F" actually shows up. The {} section which is the actual leaf never appears + produce _(.0025) F(l/10){[SetGuide(curve1, l) _(.001).nF(l, .01)][SetGuide(curve2, l)_(.001).nF(l, .01)]} + I(s,r,o) --> I(s,r+o.thickness_increment, o) -_(r) --> _(r+o.thickness_increment) +#_(r) --> _(r+o.thickness_increment) +_(r) --> _(r) homomorphism: I(a,r,o) --> F(a,r) S(a,r,o) --> F(a,r) @@ -380,25 +596,3 @@ Attractors(support): pttodisplay = support.attractor_grid.get_enabled_points() if len(pttodisplay) > 0: produce [,(3) @g(PointSet(pttodisplay,width=10))] -###### INITIALISATION ###### - -__lpy_code_version__ = 1.1 - -def __initialiseContext__(context): - context.animation_timestep = 0.15 - import openalea.plantgl.all as pgl - curve1 = pgl.BezierCurve2D( - pgl.Point3Array([(-0.5, 0, 1),(-0.375458, 0.67033, 1),(0.0128205, -0.593407, 1),(0.505495, -0.236264, 1)]) , - ) - curve1.name = "curve1" - parameter = pgl.BezierCurve2D( - pgl.Point3Array([(-0.5, 0, 1),(-0.166667, 0, 1),(0.166667, 0, 1),(0.5, 0, 1)]) , - ) - parameter.name = "parameter" - panel_0 = ({'name': 'Panel 2', 'active': True, 'visible': True},[('Curve2D',curve1),('Curve2D',parameter)]) - parameterset = [panel_0,] - context["__functions__"] = [] - context["__curves__"] = [('curve1',curve1),('parameter',parameter),] - context["__parameterset__"] = parameterset - context["curve1"] = curve1 - context["parameter"] = parameter From c4e2c30136565cf040daf564d9034e062ee8e436 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Thu, 11 Jul 2024 09:07:33 -0500 Subject: [PATCH 03/13] Update helper.py Added create_noisy_circle_curve() function which is used in the basic wood classes in the envy model --- helper.py | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/helper.py b/helper.py index 363ca52..d9b0eb9 100644 --- a/helper.py +++ b/helper.py @@ -1,6 +1,8 @@ from openalea.plantgl.all import NurbsCurve from openalea.lpy import Lsystem, newmodule -from random import uniform +from random import uniform, seed +from numpy import linspace, pi, sin, cos + def amplitude(x): return 2 @@ -78,4 +80,31 @@ def gen_noise_branch(radius,nbp=20): return NurbsCurve([(0,0,0,1),(0,0,1/float(nbp-1),1)]+[(myrandom(radius*amplitude(pt/float(nbp-1))), myrandom(radius*amplitude(pt/float(nbp-1))), pt/float(nbp-1),1) for pt in range(2,nbp)], - degree=min(nbp-1,3),stride=nbp*100) \ No newline at end of file + degree=min(nbp-1,3),stride=nbp*100) + +def create_noisy_circle_curve(radius, noise_factor, num_points=100, seed=None): + if seed is not None: + seed(seed) + t = linspace(0, 2 * pi, num_points, endpoint=False) + points = [] + for angle in t: + # Base circle points + x = radius * cos(angle) + y = radius * sin(angle) + + # Add noise + noise_x = uniform(-noise_factor, noise_factor) + noise_y = uniform(-noise_factor, noise_factor) + + noisy_x = x + noise_x + noisy_y = y + noise_y + + points.append((noisy_x, noisy_y)) + + # Ensure the curve is closed by adding the first point at the end + points.append(points[0]) + + # Create the PlantGL Point2Array and Polyline2D + curve_points = Point2Array(points) + curve = Polyline2D(curve_points) + return curve From 8b9d01bb27be6e9df4cbfd4203ee10074ea0f094 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Wed, 17 Jul 2024 10:43:07 -0500 Subject: [PATCH 04/13] Updated envy model --- media/envy_model.png | Bin 0 -> 339385 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 media/envy_model.png diff --git a/media/envy_model.png b/media/envy_model.png new file mode 100644 index 0000000000000000000000000000000000000000..4b9bb65e01fedc9adbcb0fc2b979d42d75aa83fc GIT binary patch literal 339385 zcmeFZc|4Tw_dhNrTV*GTtl60uWbDa0V;y^zBr(?P*;8a+vW{KG3_~bu_96-)#u7qV z8%wfh|J`1%$ou<#{C=PBpT9po9*;5OzOVaS=Q`(HXL+7$gllW6TqI*6BOoBSsHS>b zmw2E4A5oCmIGq#Udg5L~cFC@N~JDJrsRyE;EWI9L-9sD>vQ5*xwW>9g*{$Hjdn ze4$F(K+4{rO8P>HGLG*Hi5lyR_ee@Thp-5;60_T{bBov`N{Hf=loqXZ7X4r6yebo- zr&XHKP?aC@pYfgBo$U_n$=KGa5#1U;BVV4v|9m>fgkU;iEzjlqyH75>SeP!c{Nw96 zXKfz4dW(?qi;I)VGcFzqEjugN^9*IunjT&~EX{3U`1pu`m4;PwuJch1rNo)X&eLjn z-UO6%KAi|}Y9gUvBSW&Y!H=Q|ZTME4h%^l++s>p1-xPmuct#uLTGIz30JF%;h-Rmd zdV^&Z7ujbc-xJtg3cdN5dwP}4;JvK0gjWP%ilPJY5*KC5qsLx5UKy!@Q(D(1=UhcY zUx}2S(IKa5=al@)cxZz-sGgqvNbLXRtumcD$0Y4`3)6Ue7B%**URd3GeD9426UDFm zll%*p2-K-MIH;303vOt&J=-{YAv+ao(53eeD|2v4-Wlh@ zF0z^n#D%mKIaI0VzsLH$sASX?hoa?rk}mz$|Lw!sqj?|udxC`MDxDlghZUy!3`zJ} zzmbQR>E6Y#OzYv5=X~ipM7KQGbE5TF^1~*`CT|Aals0OQov~4Enbh0lswsQt_qzBN z6}L$U#Vjced*a4B&9ygYS6WP86%pRxcZpMBy}}@dB)6cXF8sv2Kp93er7ztOU;pjq zjA;gYd$|7a6#bKohauyH_q>b)>g|NG5{Vh|nR-uN_6B8@wDOH#p7!oj z%D3lSzx2JMjU&1(Xy#$|OH-2i{2O^PksyMbSnyNPcw*)EznCb<-eyyhK6bD*|Mj+j zU|MlMg{^pX{+!5pG(@0;>HMDF$(tC<$Wm*56G- z6n0GrBW)UV-$!B@5iw%H@E7kX@1465WgC0t`(Z@lR$9+L#YKpOc*E%TASB4EH+sBp;s#m=mJbnbWZ=U}NW zN+colF7cWRQPx|Eb3xi5ruUD}#SvbA$4CAhlJW#`mmWzRp}=c&X7I_yyX0Rkc|P_3 z##(ST`Wxp>a-pE2Z`a>Y7-~s9BCUPr`#F@Ag!BcQ`+Le8iZ7{D-qWop6UJ$Cl7%bk z#(_C$s5o5j(~Df=RWe|^66dH&w@U6xD;aJoZ}PnEqg5V__fx-HHxeV}bFUX%gb;2h z8{2ZGJ=VM}+KaV4Q%hj>EE$#b!@PoCCfxj%bFSkLXa(_EB&6-_ryJa#u2@;!Fyc!N zQhP0FL~8I%|DKr9S-gXzmdhfrEy`ArOSRQ+$!;{ZpCB|9KakH ztf7Wk7pzNP5GJUv@zNmA z08^#1^kzh?lEKdZzF?WyaLQH1*#w)olmxH1D<2I%E=|iuh_@zBYN_Si*O}Gn;1x?0 zO(agNo}ZtmpO>At8c>=KnV*>_?(Zp*GdNTocmdHK?kClg^kDR0s0{Z>*-2JL4S#-O zi>;6z5iy}#qFtgYHhfz0{pGvfZ}y)C3O*MMyuqxfC%i-yxA$e_8Rr;dyj9mC9;DD4 zcPd8~w+^JC^j~=BEmRrAiktc7c}97bZ0at_j4)J4xvN6NAuk|)nM9CL4^6x@+R7aY zN$*DWa;b=xxsXyG`#jo@zaVwP?3Ev?M+Act#QZkb@ZY zS{WB5ekJq9JQGIhlk;U~qxM%%TYfU4+Ag)Zw24MnU$GGXdESO9@HqKI;z9 zMUgHMGb^936}TuT`n%Uf?pS#?FH&Gw5?Vi5CW~r`)^$a9aeSJY9sP9Y)2@JnAhlqG zz~&w4iaaBqI}eOXUOQARR*94|S&4NPj?8C?4UdeP*fwgW(ydUkQ2v+#R6gpXOM=zH!{&$C z-zUE(wKz-ZWEyF1YYu3}W-@l`bSrgxbeAd{MXNHuc70z%Wnm_5>T2rw=Ib@AsO$R2 z+~*fLCf-2ateWzhI=|`t+Wd94cA&1o)61RVjk9Odl)~2Ksn;J-!&8y@Df#{7ZRNPm z4*o8C)R3dI*|O0xdVJ2GME0Gmn?IAk?2gaQ>^95#erHd+@ThaF#Rr~IohLd{$}$_( zzvgzF*PO}kp3ft4xM)ibrkFl&a9)drx*#-0njyIW>c zo__09+^@L!xMc0j&+k89d=c9$&@9qY*izdf(`@rhLWz={ox?!+>n!r&qYOUHE!)!G za+U0uJmoeOr!YV28A`5byUR~w7-b%8Ac=bidnbR?UZ!jbH)dV~4T^i(EtXn^TUmWD zi1KHV5OFg2TJy+fZ~C{)$}-Ipnq=;;S{2YlZgFnJbq&=*^_{q@@%4N)j$gxE%0HN? z-%zJQ_vgp!Cg^%$Hlrw*n>_t?&&86q(l}{UWZv|j3{g`~aJ|l){!%hkYFnF$O;FNN zYsALsLUsITLbuuka=goGZE(eW_33Z>-XJk%2NG%eT3JGc!u}ldQ z9AWjzqz;+bmf;$e7O9ud%B^)Tp#VCLLDrycjq}3z2kFJ%Y;-?w?|S5LBSCPlqP z(`{0F(j*pE90nI1-QpziZfSES-DaTb22lOOE$NQ>MeioM8rot$9|<|{fEL08q7d>d zp$is9W-oOF1REPZI`<~G{=U~cnat$`9TeU+X%?J3B*-)DWuz1Asu+fRuM(E3z?4JNA36>`8um; zs^^>o8#xdkYO)&wOGXeCwwN*QbJA)`x zthmH)v8&qy+e2p2v(a=P)?)Z}?Ste)sF{%$v)BjVn)e3^?JU;Q>)J>qywb-CWm!>TNl*#^|OmE z7NbmJEy(LVSA9NiluO){5E_eW9QNT~8O$7|ajG8sK7oIe?zXkju;=T)MShKvB~iNH z$7u88Z=IRt&8B7NH3zB9o6{>Z+$&l?J;@ zMX{uhB416DO!Xd7v#)P%HHn>h+)wb90TCEDfjKx3mb&}O>x^w$q4ZO}V3M8-ch1uO zz?^BK++*!n!+S{{d^xLh?&r4;2Nv}Cv8JZ`wUa>g5n*kl_CP~}fDiagLU8U369EzM z=?w6aJ#*#cv+@}pg0ufzCnO*UMG&0(Ge#45Kl+ISUPsUT`+he5838fy7d7yDltXwt znh2J2_T=+*;2wbjTv1I8c!yiLT3b80**d%T5`n(~7f2tf8oLn?&~qKV&Zy~f{sQQK zLFgH|8)?8GR?dz>miL|SSqnXKd_!^etcuRA)~w<}AR!RDEEy{+tF-I=2N2!c%6}dQ{*qz0b$5RV5f=9H z@)GhA6>@g95xyZQDJcvR5f%{<1V#wDc{{mVJ`!|t;!;Hzeb^mrh#EH9BA3m&>NM%vMI(8;I1b@D#rW~I{WXnKJ zoBk!`37=}t>}(URVmx%gL5oSjr)zevJz!)R@x^TN)1YfYzRpSDIXJ@ zV#S8ujNIB_+m>?9YQomkN~$ zEKMruQH>`Ab8elZ#L(FZ6q5a=6-ORDj7E#8GX3Clfgr1}cWZb#zYg2+&T9B|Kgp-c`Cx=~T13RHV|kn*xew6xqdmnW z8OLLg-~~Y<#lK@{Zv%W&8byShP@=r6Dx3Xx?F2#dRPsoJ(yoFVCu|p7IKvL($LZj2Zyof61Lfc7@eDJE%;EbFof*Ud?SjT#v-tJ;&AScbYrk`d!$Hi6m*-9*>=_aP@iW2rd({M6 zp(oLiT>h@C&WL%4OE^v;7*S>-vUP7@`u$7s!<-r7#HP|cBP$DkpZZ(XI(%}c904l` zN?-};d?I!d;a^RYT;Nk5Jrl*JIY)!Ra%T3MahI8P4&1$dXG>(3!^CTx_SQb>G(tIy z=x?I%_A)6e>;p+c?nx3TpGp$N2c0U9V%P8`#Z8MVC61%&1mIPmu1?(vY4yH06+9a| z8}Vr0=V;~IPfk`rd07rv+3!?c_7mbp?u1kE=xt&~2F#DQU>yw8_jtvYM+7*Al18b?`FUiO7T;2Zc_)uY>+{F{)E3B?r$&fQ!FOt!Jtac zE^>HjQ-3}PARFK>lT8pIcULjoG(Tx>draPRI}tqJZKjMm=ufL?Umc&rwq-Hpz4Q zqo_2}UiMZMqb%;yU@C5ss2yy8?;T=)HBYW=!_L~{m7<* z@-Cm))aPjVGJyVd=A_@y(A-f7q@!;Yq-<;_+3|VLg#=eG5S`nvTsgAWB z+cnoa81faLpL5t@Xj%z<*9?}f;O<{83e~%6Q92cHaE7|&7xCj(>?!GS&;ZhliX;5H zxts~xcN}o9tab_KomXJkY#*exKdE0$EJkW-yGO)U?u$jL~@(xulsPgQ7 z7exl;r6zyQ`t3p3BY0ebLI69A_(f~YsfqtfZSoX^c=D`V z$Be;n@kkw{k2yR)16({I^IJM|iW1|k#)MKw2~=M7sI=0f&i4F;Zo&fHP{5)*scIcB?J(+qVLjhCoAhzZ8O805iKTwo>>QkfgHu#=IE0Ckb~?fKLRRIY6_@~Bz` zV@qEPY=~eQHimb&q&QVJT#GhsdrO{ULfwCwl@EOoF+N_}QR#X21yIv4M1Z$~{y4#J z1)On>KR({-kMD2m?E@>Pn&){?;I>u_lbVVgXuLC5{qVcgk#crnt(GBJE*tasox$;{ ztIGR@GNFMjtfwYjZz z`guT-mi@gg=a)9UVGXgTES4as3@A90i8t<7`~^qJqa`RV0!}BPHgx zhi>BhC&B0eb2&jxtHgqoMsx_42oOMHv0D_Vk|)}@=qz_I{_V#%r!W&B&;t9S=FFQD zR}RgVFS~&-QiHqE~ z&yc5r#AwCI+zKpeq}h`2&iZBWeUyi(JVtRGO7}9 zWVjU#HlY?7q%$##>yOK#t;cm|t?^2-Sh3a`1!r7j_Kw;R-$?0PlL8IJ$hm(6!4FDqwpJ*Ujk8m5!%!*k&6V&mkUZH`%gC^Obu z3fgGjEW7bpOdT#|7K!75Rzh5F{by_-I7g2JvV))?H>u-Q#>f)lr7 zO^0~Ooy1HQc#Pr-NnnMpPe!1VP z8bho&Dy7Jdgb7855>sIsXO(7dI%CmTv*PLxNp=yBFQ$Oi6_GKKd^4v}Ff{-L<238| zi-Iu*fjjyaV(2%t_ipCn*^2LEw5`V*Nbkw2_rGasDNBER^>$h###K;NP~B>?c(t7H zk?$A1wJ(Qe(M5FwUSG;;F8$4V2ndw`&q1${Byy6R$P*K`uSAIW>k~`&kK>uFLp^*< z{b0nElP`At^UMidDG@tWKk2NoDVi?BUzmQ{KmxIji%QW8z5`xwq#n{8JAtEM(xwIE zeF2z6l9K=jp|({{&BC@&@cRDjTYzMZ_~t+RIh21Vbh6q46b9O;^n5cFm$&Vc*W6E& zXa40&B&Z8#dF-VDDmgC!mul_EI8XG4_A zcx-(xew0(&s_d#qne;|&ik$Z5ZB&f9zl!%;aJkJ}@@LXxW&K!QSnNPs4ZdWZxY<3K z$o}|Yz?5b<0cg>tPMiN^OWY$ATm|>MYwj;w_ppwHQ!E6k4ez30GPxTHP(58 z7Gq!G((MpJi76K_dV0$Bas#ecax}!`LSwGi4d9C7M4k=$kik7J_7WCDW}zQB%)c&dmn1 zF@E*8uwm8K1d?ReD)P#|WgQ3AW!0=UDJ5?v4xNU~NM#L+n=_XC-C3ey5x7lsX>2>y zOYRRB*C z2%);HmQ!n>li|aN(w%~$1$3^hsTo7`JG)$-0wSgU50NGTB7G^S*zi}Rgp`+!vua~> z(%NRWTXJB33N1i2n1B`D^Czojw{QP69We*YR3 zNtFeA*HIHCWYy~FiZjO)*xoaC6n1~B4t2%5w%#N8AhR2yG@Ajd6zXgBdVecFz`Cyk z9TB(VHU?m)AmN~ZX?*{)wlBLfTlFG$#%oMuJUwytH=1cJM>;|Tk2e9}#Q&SY0@@(Y zpb?$qop4G_lAR&nsYZi*FzVe`g028{dMuW4G90=?+GJJpg6Fd7yVw)T`M~ zed22qlL3iVXehRxNR;5*GuFo-W1EF58MDA=H9q$!^;6-K zkhcvV2Q1Qo?^Ix;yetY7u*e|YtH+)i`c$6pJomal9q0K&M9EEodESIOTzqn4Z!BDc zrl%8X4}(JL0{u#+pB8?Ys2-Q7G2W2O6_u921|#0+c)-C9LnJsl$lQgQfsUHn!H7%e zi%xk(^iiA6EJ2&?nDY*KR`1y9Z;*la_kNuZe|I>}M-f?QRi>G{dUwj)JXW`?VAq3R zV*8q2Y|kgzat@0Y`{7}F%we9Nktw(bVQ5*aJGZEv#Q~E*s2*@Cu7*52l_hJ-0-JfY zl2q(icsb|J#iw(U2%c|3?^UhtGAO5Azrx8!r<1nWyML|Mztr)zi=CqaJizX;WSP6V zzBhEZSr12a+p=~p%g|)uQIxorp%V>87T@J~hYE9E;h5}EuF4EJXna~Q*|CELfS-0^ zPJzr#-X@d-V*dNKMP_tuf7a{#`{luSa%xPBP^GQk1Uo5Cps$h_Di~`elE4EKiv?CR zzmturSFaIdgN;6Zb*kRbW&&2z2PUFBw)h+vP%+x6{a6g^;L#9%{&vsRr4KA=p1U6R z(`NVwNf*BlInKRgpwoT)!OS)OqQ;Ho81tt4sCk#y9d68@-tr19<9x2eWX#_6Kij~6 zm!!gcu-n3Rkl+$2FqB>MZ>)2fAquyQx)@-X|hp;m?$^mO= zCWHL-w~UGwKk9Hbg^%+Vr%XWPUSy=?={%4v+%KFk3dZJhhHZsG>8=G7IOs5y-~Z7s zXcmmk{(gT3s8&A(H+by@X|f)x?Z~C&NFVt_1i2mIpL9oFjf8VKNuXjeGWT;QkA@&r zP$N?~C1Y>z5r;+s&V3n?wDjZCSchgdJSMjyUBLg=-2DwEedP7I!b<^l{s-HYsZNKW zy4VnWdWW+rGN3*ZWR^e04R{Nppwre$2k5u3f_CG$1Bm&1*k!F7|-3Ilh}q{n4O+U=tvcab}rd^VF_PV7u+h`&g80UD6VC7TQ$5gM$C$>_`9?u6?stBX#VExH#j~JBRdM^N>x6sN=*H z7)w&}_S|jG%zuD(F05xT*-Z#Z;Hq)XgY890Jsm#IC(By3IS05hlI-+>kQ_e1==2f1^T#{> z?Gq|hr{s!^-lbfDC@55sqO)2cS~5aWCG~-G`B3izb!l$AMpsuiza%0pBX6zxM}??c zzHIRZ&y9xB4R3Qv^*h3XH@HMqGU1iHu&I4NVeX-KW&M(}<)S7scS^+b}Py0%xiFN398q1Zh zc~E1n)E+TW+(80YIK2b)0Ia!!Pf$tbxI8if5#l3bO9q!#CqZPLHkD0gNcCh)%PK{8 zQj&(H9l{6gTAiqriYXgxUJqV;pKXhGoS4AV&G0}4K~`1o^?r(rJ&xH-(zS$O;ZtjE z=n#ZwtX?8y5)6f3b0&d1|E&2y_bEOXnlEH}ZS(5KrOrz$efcEeT*tNm9A+5?3XaY} z_I~2yG(eY9RW?VpN3(fdNng0z%FY=79UoI6&1vkN^At3Oc9kZ^q67pry!gG;Vnj5A zK5x_K#dJrtH}+2IZvEhbwp=V!3`Lx|cVk~5y%{W9x9lrF++%0Cqi8J`x+R6UgafCC zC(H>%t1ZA8UQ*oQ=5DF7?re^*$%<4VY_14@LU+n`8bDCJgIq%s$#78jgX_#+<1+86G0o()BAgogZaO2P_Fl%` zygK0pE5Yr@4yZ?oY-mmlm95{LapvDeCd_$Pf;Q?)ZrsUGM%0=$yK^_|-9GKE=>TA( zSldcR|Cl-Y82MGUa7F0b%LvAlr_ zrcMJpq|}%>4w%xD)4r4q@TFv8^!mp~UG7?vf>AI*=vp&a{dQ!h!_9z4x0>C3oPx3T z87~tao1&9E5lj|~(+T%hf9)rfU2OWL#tx3Y8(jt#R%^&odgEE=WzZ)dxn5&tA(!8| z<58k_T^HNs0_=^jWt-zGYMHQ8o9nT>_mLIh z==+az>7aNj)c}QDoZ>eC5sSoKUO`ySR}U`F%Ldx+P-6!m-0HYD>!vv_ziSPoFpsh? z>oXByQf^Fq-XCY~T(q)T{Vveazx6x5jN@Jk?_B8jYSO+3!HDZH6xfjgBkV9vJ7{YT zmpd5OVuywNN2p;3#6vB1UjHPO@H-dpNFC~{S6VNyQHv51ydem__JhT&5XDA^sd`F} z23CqjX_jxRZvr2rI7p@K$>ORwKS00#xm>r~*q0E^DMp%r~ zXi#|Vy*K{o?ykOmmvY5bd!H3tk9nZX%Ty$ZJr#zE>NGn1-$u+4m%;1(sAPV|TV`$2 z-DI=}Y82obV43<-pHT-nn?jEnH#lb(3EKFYlUx>aH~M*=i;R$%>BLZ!6jwF2#KHhO z$A7KVPkvZ&W$N?po2V!Kz4`y$*ZQvlfrlnYk3B#~%qQEGHa}31Tm*o! zplaMINk8=hbcW0N<{nKTI+F8mH23Ek=oBb@)J?h?pUwqqDo!d&@()x=Q&t;6ChJMf zs?|Epr!a9l>wxi|N-5Nq5DL*t$Ivv8Z6rPcd>w6$4e#}fy|vbZFrY+dgoU?e!zC#O9X9bjWcpVj-RPCOO0 zY85{Kq;Y_UBl^Avc+RSWg{%~;x*g50e3-iUx!h4lGN2bn z`ZOgJ#GJusc&bcFdzc zHCJR4t81#?+PB$=Q%-Lqm%e}KGSd>xtQ3jEfX1-9-aiLlAoAu$WOkNefI`i;0vras(N7S7 z@0aeY0J0~261d`j1g2-e`cEG-J@ zr;t|3fUK@@%@~$vC}q}0>C7PDNGEOMT_!>aNv*zq;XD(Re~;Ma((g)(wWZqYfE2+0 z-%?-(q)>0P`m5B0<5pzA6UoVbw{&H1yP!0h{E|-4DgeBh$;a}T1Y^%UKh`uL)np(y z!0RH^vd$hWN{KB_y_JTGv#IJ;b3cWYN}A8yXopTlW5EXF4BHGM5+tM0^LwMaCk#Yq zMg3RfZ{vZq-b_TJ{pqo7y}Eo(7i;u3GW)!Da?B*qhFZ&LV-Ro1-4J(~_x;4+J(7r_ zfo!n_V^jZwp`#-SeNGlx$JlBR5i7tDi{cQj&}Y?63iX z)4Aq<^={CtaW4l)zeyDG5hn@KB`x6GtY7e_tG7nF?>R%RZAp@6`b5B?a2uc}*Vpr- zUm;8U(sY35qwauUym)(`+RO(o*bqC+P2Tu8+#OYoIj4{|rOEg!5J|E0k#7GJ0YHA7?Vr)_+ol4Nj|Y?BPn%O#}^<%qhhwQQ4Y z8cRrI=-)#dz~NZ{g)nHk=uLPW?a5fq!c)FG(E{YC^urp!pZpz!FJ@Qwmr~ zup1QX;@8|arO(G1R{@yn4Aw0)G0>Q{x#BFV=P5Pl9f3Aw8Y->F`5#ZbylYu7)*68A zEs(T89A_AEe~yXVo8%sNX_ID{0f`ta>wlgf@SwB_bF~%0;0^H@^U3U&aqRU&Uua+M z4&^viQ_dWn`84#^zH-dAx;*PJr?JmVKI#xGN^q^Y;we}I1%nE~qO0=38>9i6Hl4aE znLg@-!VODTXRrpNa0!_e_n>KX*!(2==SUJ;2ssmm;i$-u;)+(>1vA~N$ z8oa)K?^8P^8cLpvfK4LOohnb5$GR+)!{vJj2tk*OIH0e=Zl9DGx(Tb4fAf1It41dhJc7W}S} zJoY)(oN*bsDY8JxLH{%}7>k05ft&b*1JYu*)^6Z28^}17TE4mss31jEarN@?%A!K$%S?bHA{`OU;A_@)RA1DPCe%)b zRoca$BeV5JOR&O-`68?L*c6?N2dnP$ld{41Y*l2N_dT<=$__7n-vA>GkJB~Sg1RoS5z|~w<){{-r<@T!Jr9 zMIf-u-Dp1iKT>%BBrTTbxOk_P-qI&B7_S_Re!E5pz-QfK|-iS8uxg+ zE$0j1HYzDjdYjt}YU@j8Cb`a+T_Ba#nRh?3Ef8sqCJT}$bQ%T&8>VF>Je<;EN3R?d z?K zunk&VKRLI^p}{PX4JuYc%1U$&Q(=U8CSLlLy3%6kaWUW-Yi+{+KorveCurLoX%r9% z+7AoHzb3&cIb3qO_zxyU#~$aW-P}JZst)hejf9iS*igK4X24{%tlytuNJ{w_nZ3^G zrdy`yaL`6w20ATqRQphv?Vc@@OJ|DE+s`a6$gdTI_2$I4iqi^i=viJ0&iIXOZ7TLDR zfffbx)>uipc;5=y{9apXAfv>GMh7a4kW2z*>^@ct&kH-eO@+~ceXt#m^iS&Z?|87} z(4DpV%`F~-Q-wc2opSyAC5|s5v{yp#R5g8>*ZN|ufM%pE!~DP9hXK~OZmU{#58w!b zh_G_%j^i(&!ae94O0bI$8ld=hW>XCL zZo$}}k{)A_iCX)4URd^X(0;s77Zhh!lgskCHUyEe^9@owAy`#U!bco_Qq=-*k;~EP zvV;fi9c3Uhw6H@0zy0?NAp76oicOJCdinfMDV~@t&tzR|Hc$?hQI;f=>C{$9^)c75 zA&09RHKhF<$dr`Kl`ZEFxt9kIBe!Jt86Yn8h#1hmSkf~73@0qRPA)i5+P}W9V%x9g z!(}z(L2)pijV_r1=M4Y_%;g|4`yM)bNx_4S6wZ8Sdl&_!oT500k7u*8&lODxDaUZ8O%YlT)W z<2Jq>UXxmC)Nu}O(i`k?_G>aUrb<9v5?tni%D9i|R%2fJG^{?Q%nD!+US7Hyd(%-i zJ0cdrX}M#;31hCgg05hk3&A?CT3M6B<t zmyODYg^hVc`=KB~3n?9rf6R_YBItfy9{&8miV@H}jg%pm<%ZT9CThj+eY)7Bg`OlD z*{YVb^Z}s8^xAJsnb#6RHv_G~E=*|r&qIA{jgEM`pR2!~k!|)(_EWv;dG@R989wlP zVs{^SI3ajPPx1HsqBpz_%nS%QH5e<2v`@q&=Pq~YTQv=KjkK&XTl%D~PVn0Zhjx?? znV)hJ1m~22fX_^7Q6pRhl2Nuuj2YD<=Wev9(z8(BJop8lDFIjhY2+rx$-9>4;ZyWq zlP3-FmFiYSxxYto+SR>+hD<(KI-JV@H7GZ)hrP_UUZCsP22Lg>eSeQf3y-mMKWZx3 zdgVFf7?OvV;``j(zu^YP)SmhNcwA!xN15fVx{QWY>t|eNfFfmIsWz``alv}@_XU*J z`qup%=WwWzux7oUc-f(WXqu62iOox!Zf3dSKc8P3+y!o4zH~bCdJH%n!f3Dq9SSs7 zR!m=IUgWIK1PKE%Ctn}>GwzmEHw>z(WWU3u74vYBa{=f<+~9i$*&w|Fz1SX@9gNQl z#wr!9u`KJC2}I*NTh!nd0b^~WEp5dnD|%;Q!pyQF#W$|zH0Gy7i2E-E5ZPvd_%#xs zT;vvm4O?5>M8wgcF=~7hf?m{q_7RnE2`6ef#PhP->>!MYX9!G`sJr zRlZuW1NMX3Eu=C;;7_iJqEfXWv2t%iKNc!C8 ztg1uToN(*ttm|*xkSr-m={{qMYs?6{z@jN<86mI2ZH*?EL5pV453=d3rwYzG)qH6!DFdw-!6Lwdu@|~#LsJu!Y z#!?C48x)4~WOq0L4T8`>OQse)@_Gtxge>Wg%+i!>pdaKdY}H{T!NnAO`IFjRj*u_A zqd2_PmE@uE;!$`o-dTbj)&tQxlpDu}btu;G;CP5o0v>|(vQNMsRLf?bzF&S?{*3u( zTDoWpPuax;7=cZ`_}uBm2>&Git|r-OcGv?rY~xHZZn11(DUo>4KF8SC-Zv#hD3~F? z3c@FAaIHPJpQ=%qN2;&iE%g8ujCVU)0|evJ-skr{3@3eY@Hn9dzE%ZjqG;loSvD(h zT+L>nd4B7D^ZM>5%MrTE#D8kev(&0WpS3p;q;;1RhvC=)l74L9C?)1j^-y!W1aIyt zZ>j?MEhunYA+i%WS({>EP=ni#d~0;uG;5!Qh(`NS&v;xO zr6){=E2rx%yB8abZ6sdW7ixB=#hCtSZ-1mw6?*_qx|O zgwd{NE*RU2m#m={l*p`iKWOX-Z~*hJ{Tyf`%iMr73c=gC&}QqUL0tPy2YDa#Be8dEm6&cw*HWJR#xiN zoho1Uk6};@zvTgUZIBI3D`emIe~5xqb03<^7Qd7e@3&aoud#1RbUdzQ3KfB7U}hE5 z8w@>$zdv=<`}=L=8zUK6NnFDg2aNc9JJG*MaS#h|cm^yG=v;JD4TY=1vxhffrLHvh zD=i)%gYin#m~5P~XFV@W@LtAhr?6T_6s7eD&#RTSHX3J&1pzi@$65vNke%}Zr2SWF zUu>ym40?VFP8A+%4%)r-W-f8O4=fDx@c2PzJz{?e4&8Fv$Gz$qO}?iynr}D8X?7QZ3|P8QteVjc8vr~xttvO0_e4!*EB;Y1{{ENUU9Y?W zEv|AD0P)IbF39ONO3HlQX=xtb)&KAd_fyxK?LPKEJkv+KPTZ!)@0WibmM2k;YjmS- zK{8;UKP?5lvQ@KBl`Ak%`f&gA?*QPxjkKH~ago5evD)8`+C~?3EekJw3rQ&?E=Ykr zDi|GiW`mKR)%^GSrw{e0RXx>fGqPoN7%D0pUi-Zc(*aW4aCR7lq=RmIU%&Ax*Q1i# zD*h&>5O2n{lv?t4>tERdOv^VnU(Ilu{gBi!(^5$<6sml>^TH<8+h{aK*55!OW2-y3 z8Vn0C+3@=vZ=jZ#g4w@~6tZZPmWIeM55i!SRcg>_=HB7h@qk{(cz%DZMa zac0H4u+n_x6MG1P7VUz+zEykHVxQ{w`93|`j`Vo1g{?uHlu zNS;K~RME&Q1>80MJHdDrTFaf7;z(WET>6A@j~8WVEL?hah9UB~=$uUdBi{b$il3G) zby#}49)xwZ(_zle#gaq&!p9cx^Vn8ST+mfab0UcJyuXRd?zhmW=20Ft@CXs=fZ>n~ZdUnugA~d)m(9cjMTjusw@f6v(V3 zYgb7JIj=^m}a9TsTb>~4J>=3f$0V2wuOD^>?O z#^-2b={R9mBuKw^q>i?PGax#JAL~{imT1R}2Av-?UFcgg*&;^@B!KTvJom)KW3*&2 zeEbj(ljojw&I1AHZFbl$6(%~K7HGZ@&iIZh&o^!dX!6-{dA3MY9NI*3z|4l=NlOV! zW2PFNeMqgL9Sb%Mr5Ap@(PXjNf`{WfYs_vhO9Bt2Q%VBOnDx`{h+MUh{!_*R$IAg{ zwQ}Am);9d`Nel3w^Zxx`0D((RR2biW4>_#{;Ctn*chcwoiLCO*q?|TTm z-Q0&PbLRlaabVeNKfETpW^d-@adx2Xf7JP^wq)}E&Sp1MEff5#P{Y50YBpXO*$9<+ z=QcoNiXy@J$_;pmq@Ms7Pvv*7-N1=(!7?Xb?TtyOBb`#h5e(oP9sRkpV;w+!7x>~4 zu=UW0t#_j>j0_8H5#t%#S)P*aB7bl%_?s?M_ee z>e1I;B#9o+GaRbEtm{%E=Y=`%6gnNs&eSD#?^49c8G^(O>nE^QjowUP?@7#g`4IjdMLZ%bAie z{;wl?{~lcJ&}7|y#Xcl0bY~Kj`K^!6i2*aDhRhPWf)hgcm7s3=FA)vbwx(I5*}wa= zD`egntXO-_xwsdt{9JTmps#1T_NJ1{w3BiomLAKL5^%dECEHh1p~}Q0qj3fR;bRn$ z;?`L9z2@PDR9ZopvnwsW3xIOcl>i^a=#AG-$lPjmu+0D5AL3wW2xRRnLIca#?OnIA z1K;0;o7`)*Z+mJ?h2fntWQh6+hvRMwDgG%#z$A(P}kzS^Q!fJ>a3!iL8HR( zXnf2@k3fBnnox=!#9050p~tI=XyK1K{<^R2gQh(?Z$)xvTMaL~tR9p*tX~yf)$wT@ zI+&^j8CceS>_tn+pl$Yo%Ce<8bR#A5H#gm{K)eyk^d7Sq-V3!|4TY#YLeji!$Lgn} zLRIM~^nU8k>+1fdftOj?jjo>P3kaVT%@@bu$oZP9)@fuo{{Ab{aG6I9Sg&O{4nSek ze-x&!nZv7oO;4$(osST~%kvbr{ZPxFt4IV1TQI)b?*w`MG-T3u-i2v}{=Pt;uXuU_2VET2$ST;wY$L z!B_Iuybo78KG2!%gaY4*dcd|P40noCu5EW*rL$HUQvN=>*%_(pD2`I^>Kd|5)PiU^ zUWW<-vDWmrr@mmaI}>KfxzDe@>m&ZM+PrmQ!LZLh>r!Q&oV4_x19Umjz=|)b4u~gQ z+__b5QrTFh*d-=0xSySQfx!ZswZ}N$evQL&$1xZ|th@N9I~)}v@0xJX^pb6ANe82Y zGF5$0pg&xhH#B4S{w|E`e)iLZ3E`J#FGE9gr zY6b05;q|ghL$254x@tN!5_g5E3AZBs_juTm1B$42fg@`b16)R1Y>f`~x73l1Dh=Dr z)R_5i%bB;3RXX?nocsZa6S^2Rk~^s5OoQ=^Y4E)_k#;XU5yXi3NC6uG_NKgg1#9Wy zJD28PHtV_;PcL8J;5vw|rTTxE`s%nSx9@8j0RfeiRFO{U29;*WA*4Y>7`i(Zixa{i=Wx&?6Y&N^-P6Us|R_jZNGg+vl(26<9;|E zvt~tJYzX9r0ySohrK|H~=X0+djZHC=Ge%(&9uPMNujVNy0w@o6AjAydhBfUPbB1u) zK_WPjhP3ciYiHn-iH>~Q^X7mhYLn7EUDb$ufC4l1JQ-DFdZNK=+S)MD*iE}?v#B2A z#2UCDa?BI~--cAFXHMh)4`OJiP1#GWr|hNmx}?w zv51IG{=4uCi6{FfF3n}SiP`oO--4?@cjh4`@t_Q=fd4}Fx&{5Y%S#MTiK4A*ts9is zFv|3Sdi>U$f7_nzGh5j9V-#h$=^4L*7HW*^0et{M2{ibU-tTCG+hRS3b3*6P9YsNZ zGnKIkO#43aOln@~ya?1%jhs16>>p^A9t|}Az1zko<#$>7dmn9`Hsiq2cg;;(Pi;U0 z5Ze+_X(pX)s;lFd*+%oiy2Kng5%-E5)kVrOh69(jr~FN295ww;Qg5DH$Nt?5zRLgC z?&&uHx3B}L){_v)7#Mud?5B2nSNmB|>3ZmSQDrmO>@}rjW!=WL!5_qdPNwXk>2;^i zWw}j15u73-zU_BIzvkSGNvbdtcxWXs>1gzq91}1bvu#qh4iq7nd&=FIQ$SDiHYZ}- z!?2~y0{-UN)>_eeZf|MyZfoFa5wLLvdc$O>)79W&cb$B4L`H!sShz7_U%%c#D?=kW zS;fm_>Q(fi053>m!5?(qzT{JS@QYJ%2Ib>0{W_v%;!@({I2)+GT;{W=!^1Me6RZ0* z6QKFbn>$8{Eg!ENF#@!E5SkIo&jKR7T6`nw7}L!t zSk4OqhB2&R(V(IW}vY2Uy*tSY7-^pm)Wq^e+1 z31NB6Pyn+*BH%Oq1hk+0;ZQ6d=HzdKVUaGM0<7PIxJ>i-Un}MI+Jj0*O!RxBR#JQ{ ze7iqTtjH`>D4eGa90kl-!5ZDP>$Xu=wRGWCGh=>MS~U}L3*~z%ehPP6ebDq>E=#)2ci^p0LCn-S zosO2MU&XqE;+@AZ=9Y=aK@v#-@~g$r!!3vP1I|W)QT=7*V8DhAJ1a*?Bg zVv_h}L9NP+TS^P(u07-ax_iUT)Sdqu%>x$PmYHXKS$!Gv{fzv#_8H)${238O6JqW5 z90JWzIBWM}-_2`tl78;^P+?KZ#9;#tl}zE@b@c@$t?VomW=dyVXu?v_YP5m}W6w;U zk3k`#W3W9hMPB)nqfrA_xlSnJW;>e5j+KSxKGdPR&S&J9Yb8S);TIoG9^etnKMg)unO&c$$%5H~xyScH~|7=B`Ii z8(+PkNd=ue3_9gdd0DW|auP30j`OD*TxPq4vAwd4sqL9gk-Uz_XfF1)+~ifE=u!0e zGr%HJcy#d(PVv_~c{5-;6B~+12zur&6`!F~8QyJ|J?6gStfzhdmmo#zOze4E^$-1< znyCcm_egT)`d4fvAQma_^Hi%wh+pCsLC<@Y~B9@U+Um!U|q>Bp&mc@_fXy`s%h*fq}%}Krudc&o> zkmv*8A(3LBfccPd({FOL3J?BHHWl%Ky$6(Y0T^sjceR5@q#Ja;mCHLP3pgk zQU{!PlLr~rBA)62ulaYHPqO$<5dGDc?;k)%?(%|6UW>~u36WhQVy{x?qd%cBxwkTCvo{A+8 zy#mv$Km`M2k%m*ywH}8`K;CZJ`OQU;6sP}{%=Ludi``n(3Okm+3wg22LxA<>`vnea zixZA>c*pmKMqg%n=zgsX4}+%@1X+Zgwy=BROAfuUUrX0Cs55{CCG5(yIriiLImPk?tni{Z z3;PTZ_X5x|b8*n&K(HE56o)$8V*j!ROX3GpdaLgAL0M<|QfBQUVC56g=6CHB=a8D+ zByB~2WgLpYq_4ZS9rUuwpPkwOlbe4gUHe5Zd&z_TEXu-oJYTNjgP56S`gmIMv!iO~ zF-n~hs+HcsN2{C8Fc|m<00!Y1G3uL5578VERv1MqKx|!*_AW@boi=XJ9NF%)dgz~# zT-P{2s^)f?i!OV=rRcuNoAWw+Of|^B8DA^ls?KeTWHreQP8vkuHr*SQ)mgIj-*yNX z&>i+1W^^Bm6Tqw27rBLb2?c7!z+SNZN0G%>NMgH|4ht1RdeeQM^pi@CQ{#*HnJSTX%sk*gmZ|t$;q!vn1 z_pJo@xANRxymiYOlbZ@o=1AC053;@tVi6%^#LW&4$p38 zNA>>T;TDZ@o)X_YPh6vFWZv!_p_o=<>W};#)Qkup{Mk1;C*JbT%Jcfh z*nh~xO9bvwf7`!r`i*2&)o|o?->GoBiCdjLlWnie`ET#{;qg8Bf-r>ZOzW!NWHq z<2eno44QJ-k*=JZ>SVZ?mNP)E`x97*Gd_;~Gf7D%0UWV^)^%FlqOs4}dMT@W+TwUT zOTl{oY}|~5+~*NN5{n4)$i#3nk~xuRts+N_GoR}*SD7iX)AzM8 z0JZSF49yYqtef-;xka{yEAfM2>;AK`T>|sa>>W=-Fq91c^P~jo1^qEH_zp}UI;0~0j)z(CpBGvvdh9H z;^}`>3qG8XH3j*AN;~5%HaNIpvik$)H<=iS-=sDK+1PB9Y?!%Gpk|U&n<#JrtA88u zq^_CCNO`efv)cXBR3--mweAbRtaywlZF2&kS}oyy`ZV1 zj+M(Gc@gRMr@)v52$tMhm&9|Af5^P+eYQDFsz*Vyl#q9n(%cQL;FP7e#)>NlH`T|;|WVc8ReP#DO&!v z^0V*`F8#%1A;x0lV8d}J3m*T#4gVeVOo`*G3hF&>rr+&Zq zvjr-dub~IAJB>j*Hri))1y4`-WpHE^GDtX-SHYv%aX5bv-Cbk1tg(2{y+(m)QB(^ur%sl}KxcLLlpK@n6DxdVyWQ8{aAz7VOG3Ft zhK1ALJC#eDU)4bxgb{@n?KFh`t5RZJoMTfM?!b<{`~`9q{~Be=_32U#O9~?Ew1PnF?Nc~ z%e+6H4L~Mpnizne58%<1ip*HJa<0!3R;Y2UD(7l3j#80J!-8KOtxvyJK_IPbotY?y zn1-N(B2Cj_GKX|eNl%1iF(^G6*p3vjz7$onTEF`SsFPF^XWu#KG|(UMr?h+=pJ(ST z6KSv?a+HMXDsr|st=sxOG)sg{zRk~>kbCwsDe$r%C}*{hF>TQM2>ov!2zlnj-hJpuczJJdDR!~$GxKB?UlLhL9dlKg^5x|DWz)0+Wayl1~dy*hG^4|T32+&$QT z>l%q%o$578Hv~!#3zVsX3-aXDJ==5o$tgR)k0pWcE^P2E@LC{;RUQ8cy4*EvkovHg z#Sl4OG0>3RJQ2edReU+_-`QW_e)Y=dISl~Wnc*H2K`Oij#;hkvPIOBS8;Npr!_T`( z{%1*-*1wPZ?cOB8C*9*MF|VCfI%^e7IMCy>QuAeSmOgSYjP_;vmY4eB6RNv5=h8kR$KV;oBD`N-LejnxjHfE z@7lNe&R&sme4=}TH$a@l50PMYzD6Y@WQI!QZJle8knPyVv!We38E}ByGeD{q@OgZ` zdFgh^wqgCB{OWewy>f}m z%XbpHd-ICVfT!Qi%kVOl5D%gZF!A72enl5JUGcs)40u@gfHhit%+}K9ouJY1o544) zYVG`wQlT{y^dUsF-%;0%{87tZ_&qO=SKFYb-)!J)>hxhW;JIr5{XO9nNGqSzYIcex z`w{QLg-hRts8u8&EJp$}Gq5E<2I}m*G>C5zUOe^v#O6^42-cXk&@4RAuDG?pX`gpV zbn(|_qC)Hce+#!e`FN<~K89zh-tE6%&88~2VQ@)ytr~74iD4e|p(9ctddNc zd2#6-ZBs>FRhuBEU##q?8d&;smpy>YR90>Ua>@Dp29uc+a~ zHLLX!2LQ-V69>AAG+U3{&^NSqroOZ0utI2x$LO1@jWO#i|D)N56aZR0z;9Vn1&UsRF*J`}b#sPUTo#ca+$j?_k{>Wc;5FLeZ00<3gJYHyT~v-4T`^ z3LOn3{bPhTUA? zP}UK%TNJ)HXY83)tfM$C_z#~)+#aX=eWaE27Qi-l^@QC)3=z2RqT(CsuBcG zxX4$P>Xt;=wDJB_bcov~qJ+DZ0LXiaq_}RI3t1P_pS?Dv6_mU`@=@T7YdwF|tY`L1 zBuaYcxFopuCD6PVJ&lb?_QJJ>l3Ss^X9Y|NwJ-Ke2q45A4brQWTqAFWJR)8m(*vVI z(9$UCp>)YHy%p)qND-S_D*ki$v~jsl;7j*z0o#JMI{e^W?b*k zmFd~@FzgGp-~Pwyxu*rV8c(`ysx2lhF?x92VBC+*y-<85eKfH0yFJ*%NYe=PBdx6HyP;50R&!AmL6v zhk-mY_p#G&0hGU%zC^z~=2m3XkM22SobV-wC6}t0gux_)g_HNbisDSq)qaRFO!?Ye;7iet}2RR&_eUTUCzqq;yV|Ngi^s4+*YS9tjIF*~7s{Mbr^U^%+KU?9098EOE?F)YA7Zj1-*)~_M?HDJ+o zh3DnF0Y%9PuCyIVZl9ji)16cR&N%ryP(LV94sAp3+haC&mF0YYhVlNd%{S-T&42j~ zn0HDT4XUOVcA1m@k-d6iZa|YDadi{@Yim5qWfP0{g1@?}tJy>Y3sRTxBJ}+A1Q{9r zV~mgoWJ*>VpN4g${D=oNMm$)Te|^IqI&(6+D$qX9yvfR}jEQ>TT2KhN+xKbwI5$Fu zy|s7M5Fk$!eb_NdhrT@Qgo=S2SWle11m;YK6U3$Lb~sO3CIVPl^`{ySDzbQWhFSH= zEYexEvrYhXd>pdk+upGcY?w?7{6Bxdz!`V}1m)!9?~_b{1k=!fi!;`y)tms0fvk4t zvODlF%b~0d)_d~UW}h~!dmjP?q7T7S#@OH=889^5wXb<6`RK0B z2M*^*)uQW@AEOu|f*_u|0)`tKqFJ*GcNiB0#qO)4_Xcb8CswkqpAwiAdm?BrRiX+O zf?D?7U!L_?N{m;;)U9^JgkPrwa(F*XXjCpBv$=6>V$1kVw1HlrzOGFCACwv>^u}&~ z_IUCs6=n=q4WGvy=eyV)Z{m=1yOCW_bi?OfJYv4bRI-tPzkIv5)YQZ3Z;sC}_-=VA z2~~SsCtoj9bbxbx&RFPU%Siqxx2nI9ZNe*AkWbkilS(n`!z#Lq_wl<{v6%zp)tfMf9dF>fQ0-k zULh#shTl1!V@;Mg5}dC(I3Ye!bQdR|d`t0BVqV9@t-`#lM2HSbR9t{oh5;>QH;^mf zzSHzg_u!S^!`-=qrEeQInKt%&v~U%g$97u2N;y(3>$wzrC^Cik{zOss1c$YjD|mZ@koGiIz#Ab?;R4=rFq} z6fEcSpih|O7{ttwdQ-A#bwXF-WwPBmr1o7~0KpB~)V5myd*;nPQ5AB6G}%-y#r-U{ z`aiMRAHeW1Yp~GWZ;=^-g4%ivKbg2|&~j(A*=h-AoEJ1h1dd3=4AB3F?6xbt?Jteu z`4XaFd?wr$zJUd~7B>#6KVgzY(_TY*Z&O|0R%HiqU!RFaChjtWVhlb%naK7R=XUlT zgjTD}`Jq?$g`7sop`7)cBBXXlI8|5gYc>NW+bX>fXiUBLF39|_#G)35zOC`3(z$1L zwkxUiQR^z)J?`9X1#bg3xrg+A{{*$%H2j3`Hr6i~pLL}1kuiQ3dB_pP0@`d{e@!$= zX@LxWE1ybv{V*qnpzkl#^p)Z5f)X;qDFA7)#N3YLGLfC0x3$4?*|Z?{ zrS%wAc6~v_4-pCr-{!vLyS%~iLJy!BI$f>s*W--xXxipg{UD(opDXh_+kT3vhN*iw z*(7!>EZv6dd7&^fu6i?r*M~eG-{NL`=ox@E#C9K_@Rk!M=Q*i||Nh1)utF?#vyE_N zX}k8lGbpJ0<Uj&UZLzP`Zf%w(fj3mM&QgI0Efw~rr#)^ ziYj$i39+pE#Rea2E9Ul5>c|<1%h*&(SK$-?K3d>Xsb%`l@o#kd6NsJbqrUpB1B(`^K_SPMNBIj6y;RR%GU^`zS7$C*eTtS3`X(Vo^`A26 ztCm|Yu%Dx4R=@7eEqP;rlsiTSb|-k; zWq;&mZj>~R5R48JQh`_WqA#h#5I%FZD~jl;f4V2Ygs)P+Wvc0q;=HzKk)L^S$i5DK zc^oBgxY8kbEnAW%2*?!x7X49`{au1M4FxEbWmE8_JWW#)2mr?gKehf$k?Kg{k| zIrSHIF#F7AliCHT)jXqs#l!kkN-L8z1Gp1P;Nf@_rR`x5zw6agz9;qaslK*&%5FDk z#*a1sG4^gHyjGty-&vn$aS{J{+}p3&s@IM*&c{xFuQfhNe-^-1F>|9Dj&?N}SKMwj zygRs0OTh{RRc2=AUJV%wh&+I$Fm0X7=rdce^Ns}EAA@^b+##x;i=R^@5ihI{HW;$E!3RSkQ(OC&1;sT~fLuZu z-bFzgAei|GUVMfQb?yk1lps4*C#AAVS5YK2YUB&h@p)gfAy9$tDNhA#Edp#+<;l2n zhOW7*XM_|Ahp2T6dh-mhCOJ8_^37#x#D6P`PO_0+mm;&6S$8U|rTuzcz}0$^p}<}n zF}3L1@I;3`i{o)R53`O`-BQnWG3ivdMY}yxt%5Po2ps8D9!8vDYp5Rj5}6?vhuWZB zeE_>*Ca@Smmo?h4AE0l@vH#PYqGkfNqSO{VVfl+?Y;dw0FZr~McOqM%$*opS5}T`0 zRF zcEyJQ1KCqLFB)!U4piZ6ATKkC`=<*4v&DqLHt6yb2Xw7vPibnL@mfVY$NyI=Yqv}B zL^s$>?13IKD12M66Ja=nODp|L|2c8Wy`uLnm%l%l5ri{ekji*HZG$!Ia;w9+V952g z2sSM{i!>Y`4lRK+ad@%fg4;IjkcwJ>@80GQ{4+CD@sQj9r&!km6bK}$jvq}o+2F+b zgH5}R0kVY<&KQ2jg@&7y<0vgN68iSfZImQ|yGpN$|5*vhkrMyPew3Pg09MWdLiTfl zLM>=|!m}v;1y~T=OfwOY_qYHw#fdU?imyVKKUM;~E32HQf+467kPI+owLnF>$?FLK z6V`}obUmW_?dvB)W%_HOFbf!ZtcuOV%atkpIEis2RG(4&!B0DzCV7Ob8W`Mau2;T3 zXRe^+$NUt+EB>Cb^<)jLg{9klJj1k7y;jnT$e@Hlp4wXaE#N8U8$#7Xr;hQLsH0Hd zw%fUolEi6c99TmC9}fowH2u4@lVfhLX{=B|O6k7CwOo%uOdnl&oh0PPb)t;>Wb&E7=!Y{o~ zoIh3L8T{Vebe_5S`m8^L(^n4cj-#2jgM=2XN0NqZb8w{Fl%GsKnB+eh0u^pNMTSb_ zQI=4`T#<;(62yE-Hc1x~Wc*{`Wt%}bJhp^BxB72^6+#KDT`1}7QvnvBZd>yF^g;KGMSB@U zX8?j(WrbNjt%Kh<5po#-58}M$XB%=dM9-gpwE(AfXmlT2_7H)m8WRK;yrBiktUa|$ zzN~bCwhD2DltuM?Ffp*56NF*#Xf~&=r(uy$#!+j2g=dE*zN@0xFkdCxRtaq}lr&2{ zyhQyI4c$=m&_Np3H!~wQh!a-2R292bQ48L^;0IBu_ez+s)?EM0{~iFNaFcgY;?asK z1)!jp$wO6=Ll1y3Trzyv;3mT`-e^k4e3Ze@)hV8%W($Z^92nEK}Dg6K72Ch<;^;g#YhEBaYbTE(V)IW zx;y`Fgyd1Z7r!#c(_-a#b(`<)8@b^1mlt`}|Zjj(Y~n zW+u8;bTPjF@FvwQTVqke`mO1rDt}s=0B^KZg0ken(+H|AWxBx{X5d47cAvT9CSE%v z%SAk3cUgKK`-osUKxWc}DnMi&_w04^`85gQ}yNH-X zJc{?MGG(m9=CdVd11L2tXs50ipUKgfLgVHV9=>yWjY@2t{NB6YJj-mJux?D;4T3U{ zE0ZGnPVE$ji(pvzH{UGJ?9zq6LFrL~j_z2-CY-0b^wxS1c`UV%n3DSYzOCu_+u zY&A5*?g{ZoFbfI?r{C*gQNsjxk@Mk#Ld12tf+6Si67L#;B%w+l?&P|Wx7dV?y; zt}?+&%FF zttIAqqp~YhVH=24mo?|~f_aq_QIO`8ZuTw(^7vImJ_el9=d|MHRl(dT$sH%?5QUn_ z^z;@~P{T7!5;PUqGDd&p*=gjT_kH^Wt0;V3jS&7ziX#1$Q$*us`Y-C#ak|drWMYsM zS8tx)rN{`}kVB@;VX0lov;?ap)O0~cnO8@e2L36ivQ2XYDJ+qHqZu=h(H!H)QMHZ* z-+6$WBrzdl5fZ-FyAzmG&9iSA5$eP`t-Llne{;n+s z+Z4ySexVFJ`r&|?lh&*x9$!|4L;V7ic?-LgMtBjih{JiiX4WsIW(q?=imON!t++XT6Fz8V7Px{lRH~O6ri;2A<{-?DZh%?-d^u1Y^Pv+$t2-mD*Df`(=9Xs8qV| z$}xYX-b~naTXzvROA2WU0Sm z{Yq`V-HW*|HWUh~icDYQ%}8){x*^~xYgS0OYU`?l_3vKDkhac%cXRbhGb^kCqyM%2(&Rn&ybcrmk?+|~!;MDs-U3!h`+>Q(;Odl=m?9$q<(=GY87iOL@x)GTfnYNqD#Nc#R4rtBPpQTOdBngxnT@ZJTwz~3CnAdb|wmdob@22&+xBvtx5++i51xUj2Z z?vlzKVFr7v-KBjCR8) z-D7IgB+gau%J`x_a~p^Ok8`BpGdFBZX=q{HXa}K{Orf%M|GT^Jgk7qVAh3{(+hL|N zn8KYXQ@8eezW}a!r-0`dn9yKVPsW&fKk&cIXDO~*5tbOk{0;V3D;qmZDRlj_`;*PH zFu*7x3Tm#297qeq_pVyw4QJhCbA3wTyc^o+qD#8y9G5S>Gsj6555O2Jp1 z(d$#g%Bfv-Knq4=LVc@zY)Tg~#9Q4O=RWIf)9cYlI=}Zqu&7z$ftcubI$IriGhpe#^!71 z#e!~&6wV9eRNhO~?#Lz8wXb^dn?vne3c@==Fz;-8^I|jO=h8j&@6gx76rS?tj97*w zHoi~D(otswl2rS17@#Rz8Ub?}ggM%cyvbqN3rF*kE*c(q4@R9kOetGL5Y)NX{4$(4 zcjJyV(SJesSs@UUp1D8!hRR#E5(g*cO`HTcE;COGmYB04eaC_kuR1*^#XC-i7!#)A zcuqn1r`iQah+#jTF=`llC)MB#YGQg&ensvQ5j$mpiGB-cIlRP?mYz zQZPJ+XuJT!+Z-&c;VGeh(u5!;c1(W}i5H;K&huo3u6Us!^$<5ZM-~Ld%@Q~3m%_W& zuDMukmx{ZBdDEEFoc7*K>)%zo7FVseZ|r`78;nRI{Bk!HkC}@nzsrFKujEj62(RSs z6QSHoe^HFdHjPMQjLSbR-$h;`8`6Rc&C@muVQCn+M>yZ+7n$+Vy7zh5bkDD2_;5hu zOfKSH&E$f{?l!JE?3K3So?cg;62RVn7FC~- zx?+o)v@qQMYrb)WRxpW%>}T5)#5q(mM8-Rd;R+F)(I~v$ut0U)8{9-ilyoJiDcBBzJO|gq^y!c$uBJ;MVz?qc=qga0bUl4CQ&E73H9yL zMv*f|KeXArz8C~U%zZ0@5sE|@V4==4wL{i2BdH!IR;){>)t&c9 z;~Qs$W!E6N`GDV#?K0|W-!v>p2-N!wuWG_*_xg#@kJ9ok?)J`Ab=!OFZ5r1Y+ASii zh()8P!LzgRhrf@5QL^+U!8tUN6^FewLw~B2i3%(ad{BT@HkS0_eQyrUbKUBW)54cY zJM9t;P4H69I)|TlDePOEq7-+4k~F@{qdM)>>QLOIFr6hJYdlnIWHq?W6EC_n8y1LE z7}%~`&BB7t7w}{I#gX(}=L}m`MK-)?A<@?|S|Tq2g^<$6r?8vmhBBPpS+|xVAyzqzc~8~S^@tV%~>Ad&fq=Q>_m@#TkmNx2gAl~n_^GW9Qf_+51yGg&g;XU z$4!}9+@45ZSKa4G4==Kh=^$RBb$T_`cx05^_|5j!8^TW|SPpZIO=>x#JVxZvY;+F< zrJl8&In$)NvY@)wL)ho~YTIPtSAu*2DZvQV{w+5L_3<9}x?uKzN*4S;6^0Gk^c55N z=KJOm;q2MaM3=4YL|5izQG|(#SiClHS$oka=@W*McTmA4 z{9Fbp@nw>diyMRhd6&vFV;H`}=C@A9%+Kt9^PxEwCvXgcd#w{x_9rJoCg)a$UnJGa z+#0L=Tp}~_2H-Dp5&pQ6JUVGxzAoMr^+>ub2di@S(ZDcC^@E=)refvy{Ias8I5ywt zs)JjCY}Y-~?cYHbV|!W!B>8ZKuZ&kr4jKaU{ZD{Iw8Cy@mw}bUJ}T`O=|)t?WBler zw{jTSaQp9EH(pbNi%U^rwH3Cm@t>l2xk!_og&YV?swuNM%E*!`6}e?{nAPP!`}=7x z2GsWcN(h3Xcg<&R)hbgaJ@$hubM3accoOV9@oPb0y0`ZkdPrEHfRIJYtw(nowq=lwiIbErp( z5BJx~rjETAgz0>lm%wJ7~3~)lo6xs;<^LJ@+G}vq1 zI+xpDE*Oq%t>ln4HK)Kv7e$vF0{psk%c|hf8A-f9CZyl! z#Hug3HKIbR(a^3f;AlU0A-HxKV-?djg~Hl>8Ar-@0y6QSv!8f1aBU*OnXS02CY5an z`5g4pwj*MMS{(MfDTJoJy$feooIJ2txAczOsKqw?Cop)FAuND!irsvK-5L1Cn|!(& za6+Tm$j!f60FAe&HKxDZQ=7kWxq!cQDR?TY+rg){Odc$rtF8g*2s#!O5!a(mR_L_8 z5eZI*h5r{v8nI4rL6B&4Di3w8V5po76yg-@!!h6SmO-nhy`EPO+_mnOmEl&@5IPkG zg_L^k;15f=TUaI4tuQ21$OMxAHZ2zPnK)7s&|aEPfJT=_d3FjeLm|hT4rlU<_j*E# ze{wOZg*(yLT7GwKZ;%fP++KB{;iKxtxZmu%Me3rdJou^r`>$sFZ1W~A5xgBXXA*?V==$qzx$K9a| zUrM@3rs`h$Z|poDMa-g*B0KWeK$(?T?Oo39+_$FDn&5QW%5dUDBec+mt^3|(I1-2^ z`l^ge{+%KmPDyT8cp8IRgX8IcIw3_|BvI*Ha6JS6Zj5ca9eMB_{jYO;<}^eWaqN63!gCf>q&r<(BqU#h=w3kT?2XB$ zr#;(#dnP6bGwjP?;#HcXE}JDxvi@X*Jn|_|dYWrwkcryiRP3WELf_PAA#-2tzUU+R zF87QV7*Ib!VsJiJ^NYvR*m}^r+OH%}Db8ihCj2|k=om_Dw+i?m@!1Pu#EvT9fnEKh z>mJ4TXAs1uaZwGA$z>YfD!NmDN969S#Wc^hv7apo?(GCn2{9+LY3gH@^OTLCBfpJ|i}ivm~+% zHGSlb%KA>0uQLLVHiP#iHjy}W362X~o%s}J8|;hqz9_tw<#}~Fba24eYPez*Hc0+@ zuo$-FnDL-oFE+*K!{-?0g9q4^567oJvGW<@&Tf8(CsHy>R!Pn!`rrVcR2*++<>kIT zHZ^vmxR~)AcJ)Hg zaUVTf?++t1NaiK|q4K&G+La1k?h%mLj_w@WRA*4~&N=PBbgz^S{`y{VcWPOy-MWBZ zUyRipqn@swtK!eOz0%DM3`VG6#yR$bLWBuGh~kJByt#rn9HgNcZh67U=}EAz@KXnu zgaiKG1YFtfaENYxiz!>xYiRusP{>_eNy&Aejm3N{B1zrm>mQiCtoZYZVntuz(I*3p zJY(YgWz!1cp=bu0D_J++w{VlRgS(wF;IioE@z@w`efBnJwf5t|(FV(w@r6>xiJ*Lu zV72l1lghQ@Uq7yy^*=*^gu!MOa=MOHEDO%wRVKV^Txi`|mUryshR3&VK+=^+Z9d>x z@4p>n>%7gY(frM*?>=8Z<6-IV6@}tBOVpitpPWO%7QcK7VqwmRc=T>oyiO0auNJG3 z*#8^-+~lV3q-3YQ2TS^%h|u7r&Tsb`B>0k)w27(j$ECZZnWcp1|1ws{A$bX-ISq=J zxJytL91Qu*HG~Jn;@hw?TqFjwoeZ@$Hl=x|VbxIIQSsb(xVe{M?Ayy_ICztR)l69D z6g$N}nmAB_nmc5C9$d`P=+&8r)!t=PoBp2iP_q8*#dv9O5x(rj=La}8gx|j=s4!-1 zbv)huLdv(08#}Vbj?AdUQo-cJO#G1Q5g#lFg16t@+?( z#|Lq^)AL*}0M3M2*rk1F_IkkB5RY%c8~lFm#v<^$ljTrPVgcRwV4^?bd6*ITD5-3w z!^Y#BihqWtK4N(d#h$^IA&rutgn*o3{iR}ziI?w+y>qg4;Wvj|MbD+s);?vgZ2!yP ziR2}`=BOr}!ru(J?6`hdU5VX1VP;SQ?<_3rXfNAt`zFG9pva$NlF~PWaaU+AW7qkl zk?89g$;4po((XSDEe=n@a5|vQX7Kars<-hyJT~@D$9u2hXzr-_YG2Iv{RSf#BlQ7a zw#DJVHhFMv6(u8-jQ*7yeXuf)uw06Iuwuf-hSUa;af~F;wq@7NYPpNmhm)LuB*ghMtR$jdO0;l_IAMz*gu-#UG7PxzzFv4Gjm)WC_@Hn*{$4}ni#61)wR(T_&s;f`)&=l%#{0sZL9F*QPL81MP3E-CnA$eu6nyPWy3%G{RC^6ip}d#Z3F) z^@o_*>RB{CIokLIh#Qv^37Nt&PlkiLxf}O;DgU%kKsA4Y4U*xCiDNA?5#}q>j1j>} za^*mL^-jf7C6MB{o5N?$!Cd;9(c3OE<3kGjwOXaN<_g5T%56#f?Pwhb)|`Thc2^G= zFC?Q1|JL2?=I#i%xT9`o5#*=qV|BdGjN8R}LVF0xwr=ak;C3LKVabih zgU)n58}any43!kcfXDJKJ$OzKpALi`J@ck&K_AHz4D|rA0BNo`iea5DRWrtzCDeMb zk!#o^M6Iv!$^AF$^oD^USeovYHK7g>?+-$7GzXl5do@qBee5JL;B>O3VCO-K4Ytr2 z=}Vz@b3Uhm@2rfIhXHz?i7(zlWj|nfHTeG|rSm|RphR>T$kO-W`-rQVsKrb791JAJ z`aAv~%aDh!4YdD6>QZ)1nXY4POfbcH0H!qgJo{ICbCuplIzL~!`G3*gx3IlVRr%-t zG4<9DO}}B=@EAQnP(eBjVss3U4y893jFwiE(F(}u4J8ah83?0mln6-oR1gHo5lXAn zKL51r_#O^9e5m%Ny?t#gr2Db0^ zK%`u+({Te5;F`^ivXOTQvgVzYbPxbE{A+V-zRH&MbP9iRRRCARyU7?N93=Kkt+k{Q zdL6m%vB(t#;C$OI11oe(&{nv`RB2u%-=!x~?Jfp~!Evf}O=!H|JQBn+e^cL1ePUaR za_#dyc@qbE{Z3PJ{?z8StC&wb-TDlCEl_%L59JzJa+pJM3r=0+X}(0{?ur{%bxn3k zKmzUk&obLNp68L_TypWf%-`|x2P=my=3ekZ*wI7Bzd^Vwn!LVpj|!&VQpbHb9zj!P zWsxKjvba=vZT*f%{}+J`28}RFdznUM1IcMSvW1HnQNf~L;)u8qGXVb>g0y%bub%hjTy za4+kge{qPyk97Qd;|8<%f9&)b#^VMgD#xQE^u1Gl`SLB(@j$=qZ#>JfBB41#RBnbr zMr73bhMNaI4kF#BG~;_a6zW*WBKgqz!w<#w?4qq(1nZ@d!(KbyE8o0^$^W_sKKBfk z?WgCUv2Gm5e2Hfi!ik!g<4Vr{iHpJLV?St40}#fI_j5sw z5D5nI2ijHy(~TV(YOn>0lFZL2@Tg1*n737;jidPm6cMqxC*j?QTkmT$yO-w@S^v@< z*Twf_Emx2R7E@MH?#N3$p$KA~W75gG9=)<|(OKkhP0yY+DAV{>0+Gk*<@Zq3=WZ1f z(YZIeh#AkD8ZfR(^L*dq6NUNa>z8sM@qNt@Fj@9?2jl+5OcRXxd!qxoUV7E76aoJE zMBvtfgt{3eG-#I6gc8!X(pxh|fGqv+7eW4s+|2c?0(QM~{kG-UC7vw!tF`GzW;0{z zLj%`pyru=~K{s>`nXM88hwWRa-<~Ye%A5ZIRLzvj|MZ1O2`pZ~eIh<#tKRuvzUdAa z?nv0N7oBg*Ar?wQa~?jkB2A!_&3|l0=e+O%w>QvqChho1>WT%W);P@HMLzW9pNcqb$&xm4~gS(+yPS)2V_Jzq)?K z$%Ep%nG5L8s!>I(zZ0OwFvN5mC^Q2U9X(%ry}b`ufE+MOnRPkzPVD==0)|UC^?1Q# zfI|9EIvs`vfzXXZdK%caw!z)&=eGnHea(97B){#*mMcj2g@{iCOf>jPfO^>)P&`&C z3u60+_@{lOm-5CSV1HcZ~%KGOu=JtCM#Veu(Vr-zEPC`0JPW!+NDUzPRbMYkh+kZAooNG$#3c7q(%dX~Zo|e_ ztRNm$eHkbcMK2qN5Y%Bjn9ILUg##Yx=K1vTz+Y(6Y0(X`zQHFFn8B*DChQTktK4)G9zN&&)#=>FvE%jko|1<&KY=%ac6 z^?3rpaG15Byh^AXy$nx$p3W7V?D=UG5c;l+(cj|Vbw>wZ`V6Q-UqY|bJ*oFRsf*JI zPm{*G^XXr)H8}B@@KtZw^O<^*C*NqchO%A1wdD`$<8d)aMiZ?>^Xyw6N)XP;e}*Iz3DQoqv26j{a@42;APFUI;_>em6$=jlCkJ5Il zDs?J|TiZ;FF@rW@ZkZB0AV=-y#ufqfp5=5;yst~BRLv#`hHqDwNUiF;1L zqUThz2E`Ar`j%#WAmsC-!Qz(`*ju0mv+^`KB@s`RlrlZbdu5cQuU4_pn`$dTwY}^e z_@w)Oeo(L){K3plt>2?F=fXC3vv%xGh=LqhQE?eQcRHQ@xNCMTX}qMZy=R*>RypDW zZf(G4V*`uHKN6`xi6vftp8e;?95O{f!Q+1zfkexTnbSYWa*8W^{As5q5nx<04bL&Q zJdjTxH~+b;I+V6Ae9yWKSiko3_srkNYfqd=AZm5sK6Aqd$F#2tWk`?Lc;E#~BBKf> zjZrGfO%LdW=Z4o=(r3&R1^q<7< z)Ua367i+3pi+Wp+fIcB!GHu-E5FlWGQ^i@%`E`gFiC)U*mTA&vfj@n^uKonT_kBOY(5(Td%6sf<~1M7G7VEZ8hx?x$v`=lC6`Dw?&<^JM@UWcIU ztTl;3(pk=dbqMHAd)T$FDpRF`F5)Y*zPl32_bhUn96ortewdN3-R4%Ko~U5CEm)D7?`uur zTWWY*7$EHaOGfPp-vB7%Vkd7F< zSl(_%a<-JC{)hor;LIerai32)wuPlN0O0O~g$<>bYy`7K3OvX5&41+ARmPUl%FPxZ zOwS8vj*o?vS+ZKwYg)?c)_>Oh;~$M5AzQ>^Jtp2u4acIb=~z1`Q$KJBNi!92!Gkft z<6qh=(UrE@=Pb>2+2ot#^qlQrkX3#<;f+n>vX05$ z7qQ1nL5>5~oK8)9HJ2Ii&j%yB~fnArGw7CM7l5W`IjTdUJgZFiJTL zqgs+Y``W4(ji3Bo%_2>$eL!Kl(-PtvY~CB3xBcB(PlLOXqrxg8ly~3P33;0cfH{Xz zIf=~Pbqb)ew%-tPRhL$A0V;?Ru+Id^FS`H1kp8@+z_$jUZPlcF+cUK2c_{%P3se;w zz6$a@XM7{#Lw%ji$KHlQdI2b)?3|^|qRQefA^IR?oz?7XN;>fB9Zd65=nU^qGW7E| z;Yh8J)Rtiq)?P#$T_?5O30tcqxGO!}sQJIh&u+e^Jq1G2=xLPNA2U-@5lg?52}+kj z=}Ha+8q?DrE-#h`V8g$%NK3or2Kgs6>h@5iJH7rqh7#!ul5RC4>=0y@BwK8`Gs*;* zYd_duegOW+K&Co5wm~(HU|&(qU(>@>EYqB99ge0gcKe6FHiNQbgzA+UmOj8)4)i1G zvd3pM=#0XYj~{_vM*AoY*o#V4llaYR-}L;%HGsb9O)Bn~ zur-{;&`c3U3!IEBws&s6Ce~QFUR~`P>2*0@fnxTecrUjQdRM%t<*)Oa3_>WelB1ie zoQf=_j}(!anZ~tf5^*@HOM!~8>`DEbCHnW%n@rFE>mj}0+3rAxZy^Vip!V1zi?8(d zi~&<6q4bI1hKZnC=XyM|@A>P3;y&-QdLsryTDB(-i7`(I_(YKeJsuDJ$MsELop9VzE8JZ+(0h&oWSB4k&Z)kSj zydM)O%68qKZ@^KeyS?*8Bi8Ur-}*p>Nuv^DlW!V&Ft9!AT7K*4pCJgpXCPC9R|L03 zfh7o=g)7~x|1kWd@vn9DNzDTV(?_7GfSfNd+w!EymJOce%N(m0U#)IARVh5}Q!H7o zrSX)l_?q+rb<)up%D$^ zl*4NC zTd^?8-J*>%M9vMgiy>!Iy8jm*3Kf9|5?FuA<+zct;^4BnmGnr%MQ zZj?#BiJQ&7?B;-Kb~mW8u){vFw|DG?y%#j_ZTgom&?s*-YIrEI8|xbrUhr*tHB!Iz z+4!w>UC&&wv@u)5YGMvalvg#&5>2b7I2pcdp2~M`Ka@s<8vEXY<*ziyb>8n^qkt5t zGiFiwg`4#6r7BhU=);!8ev&WQ6aRKNAhpzpr{(i0WC6Fz`gX4}%PZjOZ!NGeJ*Utm z;S6X<$;0ku$?w_xaG_Me2H#C#GsyrdmvrgpuUet?4#~8sZ8w}I{@U&5HF{5AzFaPF z&AigLRdgllMC4ubMJ31+z2=0N-uHS$0&Z{2C;dvnL!z$arS)un+?wNJ zMC(YOwKBrV4(z+o%j;dZc5Fb1p@K|Hnh<&O=aD!{L-v&)DR)0|z2>m0f5+?jUb7Yh zZeihWI^r(;cBbJ@z*17Y)eaf8{n~zi*L1k`&UFshF0*JNyB3C0df{%8aI^L{+Uz+z zqrxEkAhGGGL63YGl(4g_<u2=`D791LRwwtA!b+i8FkdcZa{=6ESzU%JDzNE{73lL_(VB#vcP^bFIk`9G}%n znsb~8pL^za?5>iYt6L#%wp}P;5XO(Vo}<5g>>>()RxL~{Vi(-sL{vRQkHSi8k?`2I zV_L=x!%Njih`FOMUhfoj1*ki*Q80%j$E>oya`fi-b`quG?o?wh?QYg`&`i!11^F4) zVg>2)of8iVqcGy(u5um{v^D16qxjaI*0m-j$f2Dm-mdqn6@<$CEHPVzRx2hbbjP3z zsa6iI1N5cL=qk-&W@^%>LEh?YXi{_^c-+_i+2r24Q}6BRFz;0+Vy)SObbfWx?DoA` zb_s4OJXs2T9G17nu-IU!H8K*e@BP814O{j?f}E2vLx`Ng98;r(u;2}Sh?}`aklPD# z8NZt=p7tM(nqQzfO-X#>-&c&P%;9zcwG{FtwYDP$GE^44!H-VK7}G)F{*nm%m4iXA7ph3zW2MpaR_pn3WQ<`Yc46h z&tZOBv#77w#XLE7Bb!~qECXFYB0Z8-vo(m1N+?VJz%CtDAnVlR(=V)WYTgG%_k zgw&mr6Qy)G>j8Xwz3GbzwTX!vp_n794jMOy93WBD@58fK3#m0Z$x*;qC0_Dh6v&&A zh3yp1el4(ts-eT_l{<03X8z<(0C9Iq8rh=T>^QmH)Kt3qkDlyB`nj>*BIsUl?H)yg zDRud(Rp#1W7{8xHdpVa&yQo8?zP$+-gf}^z@YEJTJ#p;fR?19^bZfFA245?shHXch z(b#x!tIAVed1m{=JWPZo2WbyL1PIRmyL?LP2{d8QLfB&L%2@sezyPMBTrQ1;^Nr#hfC<5-x|gnKFoMrjgqP-ziOZb$Bj8@XS!Bbsbv zS*h~#RHZ>|&7^tI51WWN265l%FMVL2(z5chs{ zL4RN}gbFsfdp|+cadtJ(9#O{Nncqs*%{uwBx$(#5f+-~^v;piPtUIa)pK=t;Q`+aL z3neBbeXm*HkQ2B}R!6RyV4A4#cK9x~?wi_lbJ*EA?DMkJ7yl$WQ8E-zDGPG%TCTJq zO`ZCCI*Y3EeFD4tl~kZ%npH-HQd{^YAD&oLFjd%|^wdntaqA<>)PJ|jN3O_5a)*|EQMXhb@zAqvk5 zwdh~1nqmM@rTU=_*>X$2(D?TIA5@{clKs+Q?yXBFv8XtC^4_Jhkf3-3uWRB+4W9I2z>>R)kk>2PWhA%B4mv1Ce^&AN_-kVCg) zn#kko`!_f%{WEdXuwci3PGDg!G?-H3bj52)Aq>t?B(~$$?!&n9BmA52JZJuujv0#a z+G*Tkex}VScyLCIC!sYMaj_guaL`UPhu}kV#5Bt@nLkWJs{g-01dbyM<&B8nihAy0hI-4l zvl*;Jdw!f0-(rGoF4BKmiZWMH<(qmlS( zi?T^Ux1&5QVu3=w(sbQvJ?L*+i?%%`?)9@yO7Eqw=N7epJbhMtPb2Y6fPMfhqL9Sa zuXcKK$)T61+Abi{na-LpS^}!#6lXHDR-FLda(-BKpYxI?Z0%7&4zku6eB|F!^hGJm z?z=~YI}(i#h6Tq4hum0@fe|(M`0w|FTXF%?g-YRo^4rf=rj4qPGg4hEN<94pwp-s9 z&S;+(S}h;oRH&fm142bKPY(FI%vW3S<(GN_sOaYxD$1eR;jJTq;4nc>5+{gtRzK$ zbjFsG=gms2E^=_PD5${}li zDe|8aIw1A5XdtZmSLsYuo6iGP*da{d^O977t3a`*HRu-XdAZ|Qi|5kUDGxq0scF=u z@@TN>-+38hYMt9)5eZbjGB|J~9k)ZSLz=B3aJqP7i$?Xx{L2Df<_`Xg*o@x;mm0Dh zma^>RWiZICrrF@V?X`{7C1O_5qhv*?)H1E@MS#iibU2fcMLan*>q!{>hx%#a$w4T$ zD-tB>qoW%T-S4wtDQP&fOeaj0^1&ke1#F!i8}wnX5=*2^?N52syHoPyd9!{LUO}Ru zy;ISj@v#QJfMM(`Tno|SvPar4621oUnmn7-ikAJeqS?CjRGI5oe4VZ=sYzj}k)&2+ ze~zqTrg5at!v8g#AqN-7_eY^n0QRHtXT}tvj>>PPU}+vFTY7OAAF6TAKRyRMY7iWn zdzmtU#dxZ=5(gyeY{`cCyvbku0~+*quvFG0-Q4^bC_?l0ZT!B(Z;$R_U%rah2dFBmmESH$VH#MnCtUw}JeS-(PhoQ|h&`o^ToJudjengyOcSf>zz4 zk{3#eI~lmt5b5A+nx&hJR0g!>W5_i8?2_pB>yU;B^^@eyCr9!c{gX!;>zDqKr}08I zhav(osG58FZO~=a>A=+2E&k+@smU_sg4cplu#&6Z>tg{ah--*2l`%ih;xUH%Dy^##WP2@NuO=TOACVtv#!wfpeHL$U0(F0TV1mBCYeWL>p+Gns;fu@^+~eP>Tu{ z4Ai33_%Bg~zwCOV@C?+jpc@v$o+1$`*X$TgmJGkRazR$Sg0j}s?ml#AB1fyem=W@#&R9`U z;w>8Xg2W&r*R!tP4ijVtS~|b`GDAi1KaDEYuot5{-0CKnT~cN|@lR8|H*2PWe>YPc zHS)mXMekY{cIO8#t@E0ekhx z`$;N+#!<3CO8EP1gTurZvkDH$1eQiu(#a#)zy3B$Y4Yh+#2f8ut-CFVGI)$0Rc@6G zTh}*N(Z3AJP;cYLhiq#_#qf66ss&NOp8XDj5ECy(aj-6YR;UKmvsw-RXrJ-u>$a_5lh6#PbaOHN3>+6mCRR^h8 zRC9gHfaE1H&1=_ENUbfq3@bW6QGecr-N6wcEl0>c5eylg)!zE74Ya2pYY*#)6e3!2a@JOHHWV5DkeRO=k zTZv9_-0L;w;ak>uXcxnilrCD0`K{~yGL18EWo&vpSJ-v29YpSeXVrPZhf!4n@wC5o%lQe^F2ypW$vlwB;A& z{W(AsEh>(fh?5Fvc=&?#ql*)=O#KqI5Ang(u!()2;kr7t(%q^XGljP}NkWHbeC*O| zp~WpB(f8%$sD)kvqvqVUAE4bB^%qLiZDtLE7vzIW*>B^vX7T~U20idQh~VGXXguT8 zbck@)b<-dnHjcBS8XqDW6KFA+u+}SZN=Kh4Ec_3%$5FqH^NR^O{uZ$di~81eIR7I zQk!7TmZrm9y91;KL48(G(H!OlVQXEPA@2-5X=&}ollG(gm^kab&NEfpnIm&lHO8Dw zNyp8E5;BQlDGQG$rurMix0( zu2^Ama)-~m)Vqgu>?v%oe%>|4p|tv+TPHOj3g)JZc3X#3e-=C5OThg9bZ}candDmp}UHvz053 zL_90GQzEAjkss9RlOArA_2;TnFRii4!=5iYDAIZ*SqBi0wTj}I>5ay}57C>tn@uwG zf@mVQtX0%=R#W~3WIhzXBBs=l4Bs5+0kCf(lCl2w+y>MMa7T0OSyembDP!5JwS z)^h|XLg8d#i}eQls`aPhGb9d5{25Qe@{cSt>s-Gug>Ab(`E}i_sc_KzvwSRb%Xo3t z_MF8_&7+WQ5x%Oj^=QxT(w>HNSi^ zJ|s~?2_3gDZrVE5rA^7BC9qZ`Gt6rRI!NAO7)R!U+@p?U$ZwwiD^ve9WysdH$4Ew$ zO$^@KiM1xe*HV&5;|@RPjWbsQ)!GI*gTjI8immy8gAs60FZ# z)<&&#L-?*b1j1rCK%Dp&jnl*1n?B1+wc~diX!L%5NTJOj70Cyl6?h!Tr|2ncOsA%F zv>(sEAT4Dpt=n>{V(`8%9fRL+=RvmXsk?;IN2KR+^|R~LAl7liOUFI}^4X&I@2An? z8}42CAmt0Sne&IB!7=O~YYK5RDOY@7ijNb`%TONdwE2#}8(ubwFje_2iI zf-CrFPz}1EIdax+ZMUu8X*BIfEpVSDjlNi{M zbtM#&MES|nN@naFDF_s-BO%JOHg!<1gRlkuryN*;k#D_xQ{Ej*_ZhQKr!U?}HPEgP zA6hBb?+6{yAL+*RhcEXYf;-j{P|By{GOOJ2H2vgl`;IH(Z z-khVWmwWsK=l`?!O1nnAy^}@MBC>QIMG(Ez>?P(VYOT++XrXwe)t$wnQ|?zwyx^8B z_epC8_*uz9vBhZ(dB^c@Z>vx2Kj9pt5~0Ry-RxuayjNLp>m&QAv|d)AxS&J+#=e`Hs;bG?|3E(V?AK%QOL2qvgoCZjrTxB7VN1RsVZQ;*I}YM4Gfo~o~Y}6Bai^| z7@9K-e)z=+N_pfKVLN>)Evq&lmxx_zuvtj_ba@5gP0kk!BZV%>&)&YBizzHG_w zhS%;6`9YEdj(h$~SS^%cL=gd@`VvzlJc7-Bc)a8b>Xwlmwv$8Q{ukany0Bzms#r}N z!~##`L|fK*8b7NL{J)qb`^`v5AFe2Rpce1=C<72Q;d%VTI*(+BXFom3M6&z)TGwkd z=p6I_0u6WhG&n5a7Mg**>D#ycxW)60JI>Bg)a{dwl+?k9p>t!5(`L(2jA00$`=q_b zxl4=lE1@Rfzjqz>P+eb+4j{9GW}fn@^WXAPSJJUqsc?V?DYJ_Koy7k zdWTGUi{LF=3`L7D3MmRqr(>sPPgB8iHX1?nLe*F-LF|y zT470NbO3sZbbu;~@-Shb8kgq-{ZeWjCHg?|AJdJz( z-QP_PrCg)FS4Qr=Ui*+2n&Sz(+*dOAEPtK;nqZ#^L!1b@yN6Uek*aHB3h#u(mfjL> zequ9{KpGBo*X>)X3u_G~pKOy*pxMp9tPv}scjvqE7xu2Gb;@U<-%Yze`-@yX2s&lx zHArI8vQaRg7tt(jS6tsT$gtDRy~-?5cav&xSB^4U#Mv^0T9)8WV?Nr3IRH?lT-A16 zM%mrodvkV~oo)b`Q~I;iv(K_{)k>g1~vOJA@MpafNLB|5q!e2J5rEKizw9hA=5 zM&2qmq_(li=g&lKvrH!M-`F=;`Zhdckqks!5}cyghV*5!Ie}$tL?5RENgeA`VHS~i zK56%m zipC$RLT@@v^@^)a`_;SUXdRGis00l2rt)b6u(;&Yo; zv5jAr|X%?^_pnHkO$73pX2BIqQA^H>XHQV-2yK(}Ij8|?-HTy{#?a&yzG%w*_gqDQnMh(^E!%%WLG($cfpT6x zD^QlBeGb$a?>2(ir{_mvuhs}OzAjbRrieW1F}H&il{C|4AE~L8yRzP}F^!7q;Y%n_`+?njG6)*xK#Y2C zGl0mKEd(G2m|~;S+mu(clo2`MO9DF2$t~i103Vno|G$glroc z{8+V*w+2cvrUN&ToYB9!Efsh!or~m3ambAW-C(Ab)zwpMI*(bk=ZX(sAo6757jyuqEyqutt_F&swy!s%ax-wjw9B(|Z71*&)i(EGxV^HUy$M81uFd5v1{ zS-P)Jy^YKAhFWorVDgXkghX;x1z|ylPk=F#@wTk+fYl`-rWY2unefyPW zSy*O4?MG-Ke1>Ug_(9VNk;Zg;^{o%`k~B5$%1C>FR`1HqYIu{GGk7)WA5D58y-dBo zK9E>w%jd1sDm(nO^^-!hibxXeYd~~wmxj1bhC2nKuJ)+$((F5uKPJVmN%I$u+UK#R zyIY>gwO{GWf4p$CxUu0cBeO&+k9HmbObdO81twj1N;7na)mL=%o^44V6jOQuUC~qw zu_!L{sZA%58`gSsRQn%IPpo;$ha8_No?HwbJ1mbJju?DnzhBc$yb)V+Pvr5&Z|~7 z6QVO9%`Xg06~IU8`f0o_h7X#Uod0e~SJ7CwCTY;JECw7Vw4rcocfWEL|v(_VwOgr$1q)HV^M)fHryX!olDO&e|fzW23NR|w+0q5C4^ysvCUI`espy%5{5xGuRW@@ z<`mcHAgZwW$whIC(BO?{Ix-WODl!Vo$@>CIAXZ>L?5N>~sE;Yl#HWxNi}n8MEe;Nz z=iuP3&1er(-KAFDC0*Z|H$vO1- z4Wu3QJn#4iR`9;9E?QNgDD0S-Bx7R3NE&vcuCF&L_6CqIAb+g4KG2cv? zMdYnSuVf$*BHpThuO;U;WB<&$b;kZujn>lEK;b)nL#2cODgR=III_9J72Fdqw>qUe z0<>rxRgos~OiIh=W*JzTsc#dbldG!LVubm76DtOkwrEetR2v=D50OcC02^VdGf745XWEpprGe>r0xPQW*S)zJR#>J_E}C2LkiLPPPF|2B3d`I=YTGl%J% zlfV0f7(lgffcPh}s7B;=*%8Og0Ay05tZ8*}OJ5#kd%WrtazV+yK@iZSZe(V4QG7!2 zXTwiLiKbVB?nE6GJz?0rEKtrGdu_tmx<7uKn+yiUIylI(jMf!5h?~(T7&2tW$T8Cu z?yX{qQ>dj4qoP0O)R2O|I~8Lum}y;#*$#dmPW51bEZsaqL(!0rZ$iqdl;e-HErXXU|q?SM)kl5|uY4b@JU6x*mlX+-E6HdX!gI>7?5p5f?K%u*{joc?Xg8X|Ns) z+h;!4p@LE18OU;m)p?=)-~ptf#r7!IPRXCI4XTCW9kU`G&!<7x6LLMZ;Afi4s&DSq z4NH;tSmMb5um~l0u#ahr?)~+l>Xkg9&~64_>?0TVGWFZH=9X{uHG_k*x&x6Vmw(?k z{N7sjPsi1{4=!XWU13UcQh3PfmJJ>t@-}W@$&EB)R(#s(1KJBx?90Um-`FYZnb2v4 zf#)=qrpA0mL5Y{LzUFG=>kXYe?G5y`AN7gC^-$hbvecv_0dkI3Qls-I;(@aByc4@W z&eJ3G>MmsLLK(n++YxeGBKxqDfFnMRn&)cH;9o^0VqW5T3=qc#OMC^h__MnpeZ=kNyT@lbMX@)na(K=O26$4Mxx z`ZWt~POi^GFxvunky}>ku@67o$+T(1>YBP9q>(J*#)*k9c#ShsgJJ7`)( za#(Kjl0*dJI&vzM9n52Pq{sMCsIa7qM3$W>-pyv9UCAIlxV244HXs96gaSgW+hDIJHNr-7x_SvNLV2Z)quSw(zV zE7O%$Sw%&o`^d+yvYIow&-FG7Qa=BuO}Gpvp9@{AohQ53q{bhGb5fPdx2Z8HM*h?f z7VWuR@w?4`x{jxNEMRM&5_m+KW<%+{gUs%;g>aOz-vi`cR}jFN$lkkvL|jGZuCG8B zWcae&UHQuh_EdT5$9Jhrk^SxV#GiH6lN~qLYL2FWTUeLfG3@LeA;-t#Kd%Z?4zel^ zs9MsArvQz90nFcZa8A8N;ewoy*6NB?8Lk^qE|!wgurFr)X>H=oE0mFk+f8Om1*=wN ze(sZJrUU*8EeM#DctZBWz#Uy5`Y`N8?l}p4BY;HVY09jwnaHsl%o_@+w-)zDf0@#>$fUp4N|61DAB%V* zywUhrH&`qj^7$g+6ih71ZE+?gW?VVCmM2pKH)ETY0xWxKzD24qbod*WYKNK$P%}50 zdA8g!pG^SYm3{8%RvNBWEy3MEVfc(~Te2_;*&t4ldLsaUKej0wVwD7y>q$d@j`6hj<`5vW3QeJ>U@DbXO@Wp@N9Kk8Q z3(qd!lG#%OL7cy$$lJ1T{*s+LD?~vIazk<iXDhm!Zk3e1x87xQo}#)v+Tmn!vxD`3%D58 zIU*}W+-`i2x$ST^*LQ5F^!(#62Smb1(#Vtidkaee$~+(<$G4&W*9&E;yJ5ddw!Mdj zu_32yvHE0##f)5}AWO2ksZrG?4P4DF(#7l-b5+HGheHJ$jke*vzc1cBe{5jg^x$cA z^PlV8=Fa(XREAf9(yqbbE@U6ET>GzI|JJQUXd=R5Q%jGR`!v2$;c3s8W4RBcGX_nQTlaHFMWy5W@J-g80 z9!6w7HIxBks^Me)oDL$(;da~X(|UbdE-MJ@>}i!3d);) zU4f67tTrwm{hDPid2{Lpg5IV6KwebJiY^j;MEdesK=mL0=WU3U#IvGC+>a|4{bU=t zZ|xna@j8C=M_wD;^qmQts>+SK6nf9XP?SP_*)i4F5@cO>SDqEufr$N5yt867^Xy&w z!XuB(0W?y=yw;0sKSA&%uX1gq55<0-p|rSngAYEFN?|H*Vwpu(QI;mdvK#deJ`TP2 zVedC82WZO4*}}@b$}-A)b}MlXLuUB_=D_s?PS6j&C>1FeL znM&BO_BkNG_~q1ux$WK{qvI<>_ehf_PciCLyfav=_v+O$F{dV7;Q|lqUh?rsUcHN} z*WtsTR}Z`hIC|tvvmgK3MZZ!`G=}H6SBol3X_?4LfuI0;p%ag~?)2N2%73AWO(Hty zJKLlRFXCMku`vLvj&C1_wEDJNe%phjqoy7e5%U=T2zAB=id2Tv(Le>i4k}zB)Ufbm z-awl;=9~HjyWVeN4}Nx0OVswg%bFf-k~2j--tOgbDl@=9bE4=uD(<(8p_RFf??{Vo zOdI=OD@0BruyF&jrK(n;n)2}Y(N0T>JB^8vMb9uh683o z2~B>#I@InjXZY7hbalfpt5pYVRPsKhMeBc5+nP+Q-Or2j#5K)dgDOQwkdbK<3j54pcI0jPtj6d{?;{VcKZ?UvE`=@6h6(;u1Q)?2I7ykb&4pP! z;Q8Y!8eaoS^*(pW-j{UE;F?<&U*k@DNE{REM(wo6K3w@7>{RO9c~4le(O&HlMDsvE z+I3Kvc^zYhM!aTI9+d`!IMiu45YWmgTHs~@OY1m z*NUUfT+$ zjE_KJ_me6PRgH<)E50<_tTF>p)B00lRMS`OnNM4VzF!D=CqQ-)^MTVcL0P{SVAZGJ zN+%`Ba^|IZs-3;u@MlG%*QV+&3XhpH_m8&SxXHPh++n$8CAKM`_|DXO(nuh!81XQnBjrEC z7wJ86D|pWRM9++`cNu~zeNzv-SA09E?-6Zb(1MMC`?HXRAj|HW&MgO(qE5|`6H3FX zPf#-Il`YHu`f~64!Q9iJ{7 z@IQFCf7`qF=Z_)&jc}%|nhgfwn{Rd_9QSfe+@CeBzDAc=((&Q#9j{4ykz&z8@T8p6 zf?hq`cTABu!yZ;>CO?rmns5Ax=F-!sxEB!RnH>drl7#Ad2!tJ^M1lRt6xF}hFH(Lg zRjgTfaSy#x5M-?zhsEBX;DA>;VXsRoOzqi^co*K*i6H2G{c);#+}&SPc}6QJUSHw2 z5U6;B+kz0Mx^Zj48)Z0|iw(9R_*_^_#5k`8%WhDxWOPyQy!gl@_a~x*ty#+dGvtFr z;rj&t1E-qAr_a)M*)&ZlOh1>(i!LCRx2PYV-ZUQQ>P>=U7imTWC>eLFEN_e%eGW-9 zLmh8AikJqaRBYMKTmu#1dw5o^jJqiZ2pAtfaGk@xG}~|xZLvBQyoZT@O0pEbsro28 zy)T{Y>8g4Bc{Wy65>qrkKqWe|vMouQvn2{goU5tOvp{ z+ji()%?Wl(R&ASa)bVteUj zc;k)rABL(tVl+lSpK_5+1gK3`z_U9`(N=h>iiMyd9{zh$%Rf*sDrlPHsa?z;b&WS} z;R9QqMvC9008oSMJ+fn-dpci+Z0lW$d}vhEZQQG~?blbV6P{R!gnaVGWTH}qep&A+ zG}wT96BSr}Q~N=dmT!b~-kUo$ZA2`&FmVm4O=mddB#|i8)k&0=R66;lE1Py%jCbSG zhbi@o7Pq+;g8#_$&`PU|J`Z^wa+5Gb+g8f?pUt5MsAk~gPM~j>Qs7C>TuIiU-%;iC zRK}Cud2@f|=%PnVS@E^K54-MzMlyi`)KCvvy#>?U#ck9JKD9An6Vv2jF7uE0N*F2r zHtY9O*~LE#sF!0bFRwM-oE&95|D>&9S(za#6hQx)gZcW()eWjz;7*EiaV)>lb9|eN zvFph(Xc-@8qjOgo>&(kd4XqDMsfrdPFMDF1u(@ULbLU}t3O2OKye_1#0n*p{cnDwjr|K4C0RecPzQ^ zvy+$zWa|BL^h-#sz?CB9q1G?}reZR2Y$?iCYlb1=G&1M)ii?y^&Fz<}XFOPahUi}Z zmhV|W4t1f&IO2zw-11vsw5>W8fTbp&-lou3H=4rE%K{d*u)x!~vWxzl?5S*uX?}Ef zW9Rvi0(DlFMUZFd9GFZqsPhJ8k)3bNOn8CBJQYnO{K^bfDt_?<0`TeHS3;G|xSe`71E9oH-Q0XQ z0et!Y??@-q(0h|6A=J=o5Ger>q)IQ+1*C)Yme6|5<%UqT)>06?x{Zf4v{{{QX~U(!G+aAhjbDQ*s_=uB zQ7+B)8Li2Tp~J8Bt)3idDw8KLQm=4ZLY3P562Q0^6`gLXwt!2PPsb;nvM*mfz-(+O z0OaTI#I6CgFWy+3U@x>Ey2Wv~Q2r&SZK<-7Fj;kgV>OWZ?NowE#R(OP`+_ShJhNb~ z2b8xDtgJJC(I~P$8Id3F7g6+6&({?*Wnw?`d&jH>9@ocO9Ye<9EtUU>m6c3vzfF&d zm6!V`J+^rhj>N0SR4L3=Nl#*nspZ~~WKpM&U~Wu{n-t!JuTK748u|Q3iTV+50D_za zKTW2NF^tWQ?H&?U25_?_&WxiCC zNi3jF*btA2un%J0cVt>B&4w|OA^RdE+uTLh}n`vG1bv40;%q&MEvO< z*8L9^NFjBp)Z8xjAcrD&an#tz;f<3IT6EaN!uEuhWtOF=<1)ujH&4Q-1yIlt=5NW+ zckDtuc%QH|RjOT07gYT}W<-?O(lrp|AKeBX5_7hV^WAjZ&Hc!keZRv8hE@qavMy$h zBOf~E_HJlHzDoD!sf5?EqHivf4*TnzF}ys6qAAAo47gr(9CymTiztJ_TNQ`%SJ~AkL5w^|Am-Ccoacj=iaGO|HpUCt_0_z{YG0;SFH{_yE z_&3FaoucyZYvSOjDh{i+w~pHJRyY|?$>x4PsGDw0wzGc9QZXdfq#hRcH+*zy!em2E-(V}8(damUvKO__luEYuGzi>%fAP=xGi-L)OBd$h1Pbv zIXp+2YajKi2We5(T97B+7f;9(7$p6q?PGc{I3$}FqTA|p`A|DV?*KBwk|l?fe-OEg z$CDl3gyh~)()}i_)c8Dy%gO>{W(AG(7D72hg0A@$5_{Vc_Gi(4jn?F zZk}g8yz?P!v6OhYg)PaE7lSBR#BBctJET%Dp2GAc!7n8e-HD1^)utO`zamlC%;B%# z_mVjIQPbdC*M^xjxUK6R4HU)()H6XfcWsjqeB-`&6c%pWXm<0oT|f_xAe6^z6r(hf zLGe)O%Q5_>zBw##d3wF@1b{B(eg9Fkf?KS?JZuDfuTsGG)|84W`|X|5Xeu5o#I-qo zQM3bUny9R_rSKYQP*QjicXaQ>%;Yy^JflQVgGBWm$I{ zc+_Sx%Muj9F@a!cUf5&<|3y9rj{v?tQ1_>K`~LK^%n{~SRo~4zOl-p*^SC_2nrfB= zj;1QJ@NmUB!rQhGN>Sp#0?kCdRo;Y&N`xL4ZF+NuF?0hj?mf>VQoJk6w+2GWcaCR6i1e0=P;c|po^nR-a5 zM!XV-m2ngxAdi_`xtl9+!DuF@NU(pNy(XjdGCRVC@+x6vkXJoY(C6imS&I7{3Ri1f z0RI*2D-8O|UDBnNIeyrV|qu|EW+^A`SW z{J&p{V>tuL0MPsLjA!`To@ux(&+9tUaUq8eE^mCSFcUsqrZ+rafotp&?X_FKYA&S> zJ9@<)bemex{;j+m0m#u)oq{Wc?L&XpFyPf*mf+euTqJ}h923jZq{F*xD9C^S9d9Pl zH76&Zf{0REv%J3Pau+=LYQJhDmZzATU+2t5$=Vm>)+K>yngI#m0!@Dob4NTW`cr9o zWqnskQjHdzN88C#c7=O+cp76aViRihYJczJ8{z%Rrtd|+NYH;woaY%{hPGgsecm(0 zB+V?oB!t*4ao5AweN9gN&nSBbHqx^3Z0t?}yM*%dZ?+m09+{aM>1vQ}z{v@_cG*#s7`ZC_{xPLtmSyT~H`zU6z=f<sS_xBKNbh)C}Zd}y$%_?pT;^qrcn zJ61uGTb+cFlvN43=~nyp+~udQG3MQTm7oqYoP=(OX3wvSXOpULV|G+Ln0>3qGBCEo z%+YTlh7n+ve(>xp2+xx#&`+1*&}$y&t}xQ!FP0*T&&T%Fj=hxIpOfNxm6tyo0NeEP z%O}cbo))>3W4d0myp|%(r=I_0fI(p>+06!dWekun0{-F_)dY9<|Ig#(f1 zH%~M{6Jep7w>V`#=!H3aY4lJO#DjJCsJwQW45&Qxh!u1fGtS<)I>xQ8R&Q) zzL=CRc%jaM;t_uBoJ@8YFv+4+xn0Y$Tt)b|D8clBTd{p5?uumF)^lYMT$fn+DnP_g=)9o z>v&$bV_rc4YUd)+F^A-Ozx$c)rBs-lzRcsD5W=kdkpo+LpJ`!>q*R7C9x5bTf&3Gn z0t=h0SJNX=KRMu!ZA!Y$y5!X9;Ap3KBojpr5dM-Zl2ohcb{Y`(W zWOy!3<`P?(Jg?k(MXV9$t2Zt8>mg z&aX%%YxTNpfUa#*AUx^ z$4?-U5{7?pct{UF7!C_e%IUgjJ5|kt*CM*heU6YQ5GBu-c$*+kg#6D>X~Tt7J_q#f z1ZSe6PCu4T!iePXYAKr@1H4^HAYn+4z2gth=6~0GGsmD8CM+$y`1)@E^qa3!YYxtO zwa795mxOEyK$uM5*x{52DP%)odDes;v=aEU)H4n5D-hY^p%VWGVx<|3a#>b`$L(gT2pMllhg$VGt$$fbonV(>9C2`gD}JtJ`#Rlpw7}Gmf|b5MeAC0a)$vKwZ4;-oe5MkS)FuGX)^ga&}TsGfo<^L{B#Ie7dj4taS zTkDTH@HD(RJ>Q{on?oVRO31W#%BIsb=;NIiU+bq&zLMIWR$21aCbDEG9PIwe4jy(qDak3EjiDx8&a{l%XHqLBbCI_M#30_B|2)`u>lN` zfHv~}x@pT$bM&@H*XUNau79UBHmFM%Md?BTvSPtPOU`igNH1{o#Gz(ZiBWy&{U2^` zvs`}HVHk4W!gshOsp3xCW|~_$=-qd3vS&3WOy2w&E!XUtOP>G9k^LD*Ri2V_?)W~x ze8q{}c}+GMp2X9>P<)YqPiz15{Qoko<=DPrPADD>IcNUb{Zc{KC^}E_L$5$ShN8pK z075n-agZ0@4G7Gz-rsiXt2VGbqg^Pn#VLjCQRK_0MhP^(9rG3^0NAjTMmL%E{e~^u zU*Bo9N~t$r6)U4r4giG#zjfI)6_>Cx7%{k6i@Q=Y`4MjtmfnW&x1Q(8$pmCG z{Gt9zU&}shL}oWT*q_yei=KqV`7RaOBbPYb&12JvzzaV3{8q(y#3l0g2{IZZLBG)( zt~=|8H~#CICBirmNuw>slA5%079n)I|68FRW&chiY*3KW%)!c(LdO<00C~>rLAFef zke-t6e2cK#kT=87EM0lHB@nXmf=M)yyfE#6XBrvB&aYYRzurM9za- zKt5s>Knk{YtPz&)JS`}lNLs>}H(Z*);qUer*fQ^=!WM;dU!A4Gs{(^@Zua?5;bG*} zs{)0aXFV23tWuw@d_r}Lv;|#fT6eKkMU&9v`*^xgThB$ut#d5`2fF$+vX?I3?Mw^> zU>y!-BigfTx+KBq)8($kqo1aimUM+%DL-jPj+Lexn# zHu4}Q@jWGs9#OqV+ogWo5{c;Vx&0;ujwSA$0$!Fs$ezYgFMIOddbrn<+%H~T`2C%s zveRm5@O^i~davwX(lrGyj9EI>XT@eR(|^;Kg{t-P>r3tWqt?nP|B}U+U#Lpi7KFKP zgc-Rl@9|WGrHv>NZ+OetXrHf6hwAHM=3*a8-(UJWoHV13DU4gDyk}a?iDB6hh$2ho zkxhX9$ni`~?7On@5xFpb$&CxWyZlS5u{FAW^)Q6e^aB7w7_`4^;~#0}qJ8g}s#i^B zc7WaDVeW(Pi<*Cdm3devApM%IQpG`sF?y@@^aBDrPS!Uf@=|-QG7}4De2vpL-<#;m zrlNq7i7rn;K>eS9N2CuIZk_Rzfz_5tv^D7$im$S2t@&XcA{z!rVoVgMlc!9Mv15lg zkH+MhdfUM$_|GA)RE1z4@eBYYgza$~>!PDItdfD#`@r@bMS%a750dT~xE-KuAMb2= z=T0&#CF4s3dN)@Xu0tL#B46mZNn%~XJ0Ib2`YKV!_#4m4d^w6odk5pGt@~HZv+8eu zwilx!Y2ZAs242pSk;FS#{Kt+BF>Ux^7Jq8$YG0g@PE)%I^L zGCfM@N_WBN%NL|g5DvouKzA`hFcuOwo>#5h7@*xStT^3sO4QpV#*pFs2uIy%Kd|MM zni-Hg?PBCny_s><2&~!rpABzFR3SDz6nq@?hYLU%nvJKM7aZ~}^GL}m+oP_NNQp`8 zQgI*ZFSmOs8sdRh1gv6#2A}KQo-5NQCF=mDYV=}kBxXOch5lWXDQV05A>*=k47>02xnv?eX}rG5c1o=Q!Zu6Maff;n$Qvvy_DJCs(=h z8Qibtnmm01<(U2YYUM@eUIjTgq&gaZJzQ)A#u`Yz#s(&na~fpu@B&J+25{Arp5Q(K z;1c4`+=jgWYI3vVZRG9ki}^c0PkwLHeb9Z!*BQ{Wdi5&^V00}_J~#sdqT3Q`FQ~0} zxB7~~B~79I?hQD~6_fp#)n^_l0gONREU`>bR8IBS0S-6Dhr~+&!~6}}i5CoHRFASt zxeItA?6p*0?Y%ViT7syBch}g3X+=JRYP(}}hx^Vy^uh@rnP=pPs~|XBW<;k$w_B~4 zSP4EXmeNB2&q0I20#*lNR%<)2-Wk<3)zvp=Ssc2_yH6{9-)u<MNdij8b^MCuYBYa|e*ih&##GzwxsHx_DH)+RotmW5+jB?mQ@oIxiB4Rz54b-yQ zfj@fL!1mF~ceRvG67#d&@&5Vsm`7NzF)C~uwi?Ej8}ew}phK#81*w@^x>X(F0-P1U=$SvIP73WvIWQT<6M`gz7mjuRW zp4&DSYYZ8^q30yZX-znKLkfIdES4d*>Ye#oANXyPs13U|lyB|tLurY34MRe^Y2Ojg z-HVR(=~ByBoKXUfQuFu9?Jg)1YoSLMEght#yBf60!VJ`&NA!DmjeBM6ZxO5E6^pik zkK-(k|M|S;*MEJ@q2Vbg6pVL>G{DctHnj0CdXUH{5M9PpDd!WI-_}RZ6-sAq z@IB$HIwvo?SxLcL0Gd-)wlCh7$oBI^#{;9_nnaL*nr`v>*{gR{bxjYwLxj)2vddt- zZQ_ouCxQ9bV?9LL1l0Vw0(}}cgs*z992mbf#6ofg8B8H&Q9Sx3aL`C#ba2@~`P9*& z`uhAH)l?3%TQkm|;ic~{2UZ`yv>pwwI>f_TqIhJ!lU-8aJAclY2>x%UiAux14~d@H zudJ&#D}(zAMH}sOli{{}GC)o#K0*FLls4M{7zZ-#vUSX>o!U#xwQyP0P6=Q#Dl9GL)p|n>G~0}oBn()PrcI=`-6o$M^m z=(h|eXjY1oFz%6lLz|FfSbxP7rmfJKc6$%~;py?Zm(7O{=r?alTEqkQNQG@Gw$7`B zST$fHZuC;w*rm+kyzLJUq$E`Uk9rc4vU*W$#e`h zH+orA}y^3jhil8+|;O zsWCmw91Dx>)BK+svCx*cUbsm*b6%8gA@HB2y*$TdrPw_anle0iYIf@yTR%IFxm>+G z|6eHj$7HpCO%~-lms_@S)7i?hBZY(f^8o(|7LtE`>3c>>){u#9KCr@iw{p6x_UpRF zNbtjq@wr(+KHn6Lk<%-0j7On<8^I<>dZD~DZ0Dg+K%U}*N#h*lFx468V)j^F zOt0U_gjR@r4nC#soT*eAKZq3c6rUYhNRJnff;7lm<|D#BpkH;?kTC9F{xWIl9s5@x#xjAG0@qMpv|nF(e!e7z zB>$iRqo%|_oY|B;)KYPZVQ&3$v3>?N)l8ukaHERlSvD8m{iV;|53^p(({Xq$>c7~O zmUsInw&SaW$&2FYiPt^@VpD|nvDo@1r@ zblC0D19*oGpU-twoyDgoLExSh+O+IuLQp1j^RD}8?MR$h#>g9@HxZo2ZbToM z36Q+zhc_HmII`Ww%iI?(nAtLHEc9%95_HGETmdGNbcw8fVBU7wcFSWxe$_pq%S58_ zB8rvl0u9ZRVZONS7v!;@dhw@UD6Lzf$DoVF!E#y_v?A#Z&Z=zyZza%EalNIZAjvY% zw};X*@};+N<7>M5_sor%h*;Fn4KmbVLtNkcm*o-2?5@n7|F8FB^B*%ve#vcKA#H0_ z8R>@sbtrTw?^Eu6KA(BsQ!NS0UQKl~RYkz3>%txGJBv$=)s05i&z5M3zVD^6!gv`i zFe$1emCBZgF;7^H#;K71UA|G>H9GD{F1_@eGOTU=SiTqjZO~GxBq*_9^7gWAjgCpu znu-SCU2Kpm@-^P*86@@MJdNoARhIuIzj%JfkGhe_22al-yPzOcbF#M%f9S0qL8=&~ z`^;FAU$qZy{m~Wm2bUzEn{GBp zdl_6yNN7Ila~GN7RL8)uKbvlQh(#K+p@`O2a{l{$(p(u!*TSs)^#A1N|DK zGbaCl{t%UZ`|0&kV(lkoADw9Eo`83r1jyg~TN<7#x4GAX2$t@WB2#3W=||7>BR_q< z*iV51?Z&T*hABT0Jqc3LOC!U^0&^2~BWx?NSxfd6^>C3(f|Hrc-naTWElr`nZtn)e z;$zL3lj%)%bVYZV;+~xfhqVeV4by|v=#RLuG^F3=jTTl2%3kMaZALa7r}ssfQ`w)OLZ9?*{aVuL2ILp}2W@#{?xs_Kp_Dc1>V>tLj&;x4+Z|NHi+_L&Nfb6*N+!VkVWN&+ zgd<@%CumQbO&w2-G--$Z$HO>mjUhcOL@&<}&v(&2{lUa3lL?%u@{IhsaYIY&S_IHt zYfC81u=NqcqI`{;cem*aX4g1^I|^n!N(7AD6hMw$a-U; z=6v#xvh^i@!t3a~$<%%{|5mme_}#8fdrE&~`uN3*WNobS=Q)KZGzHddRz%>fK2i&t z+3W{CFDO7a8na>WWlhP>4_dchl4PIFG_|#SU!8A}xCr|AQfmPo(#ZYvIe2pk_Wjh8 zVHsB_{NJucib2Ql*Lbd(d-Q~m9B*x-FyIv8%Xzxs0SnLbsD5W1&Rd3VaTYJ6#@ZAS z%g4!`s4Og~?;t%}nd5hi;RWJe!TnD`z&H}$^UUF%upo`X0Db} zu?_b+koeUfb=Jqz@9_jRc8jEa6T6rCJ(+0LMV=7d6PLP7+Vs0kZtmUUly>%Vcz#9KBp8h*ESY zj4aE8k4n6Pq-#Q~R)z|wC>VL9#9`nSoRo+$gKKpFbVsNPy(b4SAa|$KbB?`CWIk-o zr^)}D@8&PZrnjdTC!2Lq&D8vA5#C@@iRfZd>Y1j0M`~CMA10T_tfI^ZR!bTnOAEYe zS%VE)HIs_dBq+**-*&?zvi<~R2~mh#x}HVyU*b9(<49#_;B7Pmi8edPswSSwZzD0+ z%N_HfVXe@=UIdThvMT?MrI?;rE_+(E9_g+_Hgw$T#6+f<(yOnGzNdl5vEDzkR*tmt zC1p(HozHG{j9LSpU}Q{pX!qiYvIN(;sEo<3ZzK_zb**YDTP~{gV0Tp?!B957uZ$Bxv_ zhaUz{OMyyMOLx+9JFm~0s8|Cval(KdU+cVT3>MG0iDl7zR}u%_@YR!}E==zEe}yOQ z@ZU5x=-abW0tvvwtj8L|%KAQOo!6l+UI=f30mpfDIMMw414SQ)xNh3QCNTks&w>CM zv-Y<*b1exCn|>~~T@`Ls*JE~%FN0Wwh*7;y!UE>nm7gT!{ElGL5P_TI6LiHTK+>J= zy;?RN#=Ii~=)5|2xgLAhfzJjJnxceVCWdZfxpLE|gTEz_r-w?g%u1CDX+>Xj=uG>D z=dbTX3LH1H%SKfym&FdX!@2bQnM&+G~3!NbyUQv&v+@G+#ygN6a*C_c_ z)Lm4Il@!h<(2)jxP#BPDU=x4+B;&nWhPlZXVC{+;Afw0 zohOfvZ;lmxtl+?UG8X$WxtRy*$+bYRE`?DPz?u}ph8Aa0Q-y7h5Y&>1a&7dz!(^fh z9GP_^%y>J4q%*;Pn3U`)j60I@c^s-}giebV`_wt-4ogx-wj1o0QC!~R$*baKO-4MB z51X!C>aKoQZvRLex}=65SWkJjZGp`)uP9={YRvQtK*+Wpbn3^5A_Oy9TiXsOXOtnjW_ zMr@xdD`O+q9Auh36I&rL>u58LWM>UL@^y@=yKCq(uG=#<0 zmf!d`FZ#mSVbZHc>4>uT=;qGT-pQOe>+9X(p=pRgv`3yLJDg5PN0_Ldef;!5cN5R$ zPUNuU-$lGTo_Y$lD=CBl57j8?RT>8MTF#@geUMp&HPA?=px+&xZmr*!+W+P{$zYD0 zyS%4|3O!Kl^;!9&=0{=ivUFe~BQ(yga3)tX#~Iq}Jnys=kb@i&S~=G!>DvRgyI<}< z{_<=JVbjy_ozc}+SHpA9#>(xgJ8&!w zRxvWM&W(A3|?gb&=9Z6cq?O(>OO?8e6#Am&E^c8Y(+Kq z0ID|!oY@OUpL2wveZrCLOZ)dJ%kms$)*-_U4P$TNoA#W$EHTH{w$~zTpsS;R1=oxD ztgmIRQf^X}Qq`1L(d3TzxyKnbk?Fa^&f_^g2eWMa8y^`uO0*oEE(8*y-@}{6&j`JT z?&cD@HrHkUab`WtRR~Q-LLxz$v^Z5Ar4!IpDSZwlA4ATGfqb+z`jT_UBjo&dMCoC1 zs^U*kaV%t2s^A4a1bwytj`dZgu=GI(WA?Idi9*B9{U7&02~pc}43r@$oyLB^Z!T zJYRCo1ZFM=R=Ev?umoNDG}PGcHbNPwc~(3*KfD!as%x=&o~Qfo9O;f1m5J?20J*~M zzVzn7@0ICW7LF;T!Md%r<|;asyEclRcfSL>vb4!6CyIx;*C9ye&}y)hSIdqim^qsw9{UGb?lfoA7( zyp{h_g8cZ_f4K3VRoM98Dz(&FvpizxD?gPd>yPCRAH7mdC)f5L{Y`*CI?`cA9p@D_ z<_lD_78M{2Q^7^GMI$Oc_3VUB;2Rvt(ytZvErr0T661oG%t!Xlpp1%HH;Cpb?di%0 zfmmr`JP#VLI8W#nvt+T^F#;|L3Ic7X)Hw@TbKB>+pbYIwqWr*(!8mAn>|FnL^U?2G z7A^WRx<;!)kBuVQ2ZvN^5D2&b0$ox(lg6m#hvVusIpIxVDj3e6zokS4okpvjJ0@TJ z`K6e((TIN#zV^HCxvB2sbnN4y!2A^nM0G{gO5VJ^NrupYpiOnacEs7ommBZx#@W>- zsBNnJO+$*{t+KZestdhn=dRC(P$%gVo=6YOYgYgX1zH`p&uw3&*a3fLd=C^i&EAtPJnR?f5DR{0&?POS zdme#&$wCw@Wg-I-UkTdzS5!y28x`84nioLL`3$PEnXQs5lhi!Is$7=$)g@CfyBreW z9V+w7;8FRCrf;X;-X-7Xv#(&6>`PIG`b%Kz6lH9FtCY3KtQwX})peYQTxhzz=ew90@Vy*TupZU34 zw~=0Ez-&ky%;p0Z4cBq?#=?guy0X@K4~@WL+hgn$Y2Yv?02+vmWWp%c<5U#ztlds* z^o=W)9Pyh|XM6Bz8WsWc8;+#h9#DrmPo@FAt!!NHD6ytjWtqqrYGj_re%kVUS9^ik zbfQHFLRj2#yhi+JHPn3AWvUgr-6fM83a5_AfK_0jwOZark?sU`a+}Ul|F1@fZJ`o6 z3@#gL@IhCKNQy-46Bg1-&YD~(X&^fzbr$p?0Z z6l93>!z>*t5Y-bGuZV4>U2Yf<<1qX<+TM~{$rYVE$V*6%lmv{30}=GGxd-#FAIcLk zR6FWDcVxH*6c}bM^Q!{G=u^9_?hF8Q#4=7W^2ZBa=4A$c`?}ki_JL*b!HSMOjjQC_ z>CFd>2Xbc5DKdHuRIi+tMR8AG9KM852n7BcHK0I-g%zmg+4>XW4?jQ8y7qj~EfS?G z*{*dXkB9{0qUB0em$GmRWW^pA!sDOKoOZWY(RNlWAWeT=a99L(*Z^7Otj%P)kQ>d2 zA|OYO>PG@NV%ixIPs#@)8lEFN{T)KjWG!oSk3oTlCgta}h1+M#7NLKjo}LxfZg7vM z-NU%nB9HI8<{^g|G&t=1n>%M zZ5(9KOL}^QD|J@wJ4IH@;H%!ag%DF0DtC(ZmGx|FNWyTJSbR}Mn1R)cDQJqyZ)7JW znyuDtvS1l!#3_;7I*IOe`1kg22w`#e$~xi9cgj#6iC6{>ZpHhkRwz2&2nUJd{Y12E z8~rq-*lKz`Q{j}mqz`U&e3nPPX+jGjs6S&}woJXFr^+(e1kIGIU!Q3+jIZ0l`LK$HTv6Pf-Tr^93@Q z>)`dw#?X~ITo7WcL4DhdlY&%Ou`og!B(Sp<^6#`qizI3m2Sqj|ui2Z8_UX62Wlkqv z7kf3=Cd_1eot0~#@kgj21aWUkgf3VA8E045r#nARScNj0I~oWQc#R1Ci~z?To_?`f zNND~aEdbrB9EEO_lEAsjMksgG>t3%~@~AJDw5nbT{MC^Z^iuMOi@zSIkCXy={ORWe zQ&p3Txkf{K07ALv#Rf2X+HEw8_Q9NT0ug?PVgIxii>jX7#s%vddtK+vi6 z#2C$em$rAQk>Bf?L#NyQABYN$Im?^;I@$uu_hj6Ih@ZJc(-XST10W1WLU~t@1u18g zWXhKObhUc*kD^7&aO9pCzW~FdN_a9EjJqi@?Cf6+CFFIFTT(Sdp4p&b#=~ z?Pr+K)&P#}HMZ9#K&BqC23EhS{X;YI9F-RJO^TD^FuYA;o6ME_e+9R16@QnDvlnaG zx^Tn;Ndv9V%Jw(4w$yl>Ln%#Vj0?qdG`9L^v1UR}RtZVVVSgx8f1Z}A zh2;@My(noTNyEk{EZM+X25*^r(cQH7q3~QG90bIb+3|I)w<6RWiOVBim*8i>={^$F z7%F4p8%kB}u5@b^TME>_97^ym znD_O<@EyqrOhrX?X^MvQofy7nl0&jO=ur0Qu+3m0)(ul1j~ert-w@c)n_-jwcGf}} z?njE7JQ7j-f1@_OSDtkqsAC|_nxkC%t*F0*+)?MVF1em|x5 zsnK=RyID`ZkgcW-KdwoyM%eoHok6@v4IbomC_EYq8r<*lW?`0CYhh``K(6t&2XUyi zpF|*z147iO<_v@a*?#GP%~~W3ooNcZ|GR-zOw`N?ip=Rmt=j9dMF$R2Xsgq1|#EiTy&|R!WY|n0VtHOf@=+5w}v3K1ewA82CoO4aJ zaV^9!fnI|M@)+Vb9mLD=QNa;Ne6TAKzx`LFSBq?E#IbTEu1+k6xQYu*;yjE6FS(qC z7g0?Qvd@f?E~_}66(X^XyOP;=*L$jf>RNzGLbBN_@^3 z`2-~5()e^G&*H;`s?i!#J0 zbc^-nduG(h!y07GVK(_=#NU-;&RS0DvT=bc|6O$8+k{2opw(3~`)1>7gb_u$IqA

3h)DNC$w#DG=;PhcC2EBvX`h&+xFM96k)WVZeuzo@VbD=GridqoY-S`KT0 zj9^1X`XV~peR%DlklHzYnjmws>3K2r?VI~x0uPfb638i|ZqLV(vEKbcp!wMfJxs@A@B89Zm!iWBg>ipQ zkl;rLq{6f7;6`fw-1XO=9P?5RA%#GlF)_|+`jefhHo;$CuWWK3XytxJ@j?X?!%e53 z3sm8oYON)_ehAf96K+hiH>;vQKdfq8X4LX&BFV;1MeD>!vo9B($j!s-gbSG@V;Ho> zW+@RL+iF?KAQ#_i1g$5pB;OJ;_57Mb_=Nm}gw^l>2#S-vw$rTQEE`12TPT63L8U6SypJ-;+@E!H|02e~ zMxc!5b%PFpa|&=!F1F*L9hl*%@8NX-@|QrXsDiz0J+ytJyTpFS@~FAW}*#*j1m_wJvU1`;LX`tpGe_E=t>{@{RbN3TIb2eyQ>ECgE&~1Pq>Q)-dKnXg~Ns z9ix4)bNp`#tqog6H%u81*=(=byx*V?ZpLiplt7G4bSgvtlf?oIKnQk9m{s;OKLgpV6*#)@8me zEPle`CMcIMNvXk4s);^cmP=@%cH`OD#5Zf)I7vIQdzGt^ZVZe~#K=Nl$xKhCRsX3; z8qi2Lw-35mNz2{O8zArYMgIitToLUj9nhYeOqwq} zH~HisX_X|pDWH#CeBN?*_kc@g`TA4pO9$fBBp%hw;N8JZ>KRYpzwI3(4Bv47Jb^GzG6FLomSUucQYkI+j^6L9&Nn6sv&17pHjxZF{T(Ka` zGN>iHm)&Pr(Oo|iBQikMbv@Qq%JhoP`Al?dvao2XFYTGbsqAE$f>z!+wiJa2|<2f8dVmu(1j{k|vL39Iyr|sqa`i8w|@LY@rBsYF# zWjrk-`{~165B7FCAC)YF43jitj^k~H!N8UiJ6BnRSM12`zRs9e4i@wmXY_jM(N(XI zW$_GTcfyTJX60o52LT^nC))vp<;8Z#0@f4#hj+U~@r-yRX|<+l#G+w}{^~u|!UbfQ z%b|Ip25jJ2dAYMg>lzw9-z(4Jg`WF3$Py#RT7=duNek6ih_$N0Fh|f{Rj&cxs&_cD z`Q@dHy*@I7&@HB7Z#vdLUG+w1Hbi|p<(Gf{CGD$B8^OsZT@btYo77C7?A>2qnQ2aj zj-G*+SY>aL=5D&ywog;Vp$kZFuZW8h^~hm6^=M3aU;(Qkw@=2@fGs=oQZM{Ff|MiO zvXg+vW=*^0V(NX$`_*I>0}Sfjnm4&);Vy!svNfsjkA4Qjy>K$BpvZqG71s(>Ar=&y z{z>x|d}vw+Kh0dE6=}rj4$kQoI&1c^E{srA37B6TPhT8cT<&)k9}n1D#^*bGeo^x@ zElNR0KkieSuJ75wMC8jH4^~OtA}&QtPcq@v3jnEKV9&ls`E56&g0rhi&5Sk+_x%s8 zOR;vsAz_SC3ZVnqO&`f3bM6YKhnnxkJWhO^6xn2bfcx_uI2#-Jf0|&^kEHx7QAApp{aJs(NNC85F}>^apGeORUiC@l*e(-GxBYiMGtQRDE3XJwwNG zKg_z+mol~^N631_KGu2tr0gNd`jv5up3MirI+W*&qO>r+9n`W=d${d7yIEmT+07pW z(a_hZbh7_FzT?vo%c4(*r`cdiCfZ~e`#zR&sCzfNmqzBn_K|@Jd-V0#kDAFFSBAmd%+Uk|j;G2d_uLu2p9&*cLi>(r~m6dZWe~iSNs9nD_sZ4rh>mYx zZyi>Q?IOS`{}Vk{e|v2WwvtIb#3s7>@y*p_=1YyFL`h738RjdJVBztPcx|UxW~s!; zO>A~m_9jw3o)5C2$2I|V#@z!kDJokX8M)PJbXE$&`s$nk;ud8;Ov=aCIc>!Q zj2WDkO>u^H{5m!Y3@()#svlk00Uu+6BSVU&E z__}7hu2Y{^9@KRw=o7X5xOY^^-BaDv*Pt?RR(&}pRcn=1$tPcHeCegV;iY&U(#7%> zDml^ep&53cOy@pf8RJkTjgxtt&Qz@fb^FuNg#1m(5q%CYmoNYxTr=ldwGVTp6x%o- z&~v%&o(_hl7^!gG+|;PTz~AO5-{?!pjw>!sC&_+)hrt>qVJ@pZtlh_P6F*#3GsIrN z=O=o^yo8)$GCSEod8I@YPk45Pe(*7`yzen8fe7T#i2on1zQQlcXp5Hakdg)w5QZFK z2x)1CW@w~Dq(lViMoLmeV(6TqyQD`D5Re=i5fN$W?)Mq@-uK=g0KYlk*=NVvYp-oH ziY&t(+k5;jV#GJ;==MbBMgnWa=sqv>SGuB?W5pbfj5@~1_iWAbEtHPX7j&TN=5SQc#2E`{CdS(5Z$r-Lp5q8s=Ll41kpXE);F*DZ`_d+RBf3?=OA8b=Y z!quXwQUbl0zHu{tcHy)b7D`gI9tn5Zn7Y2Nl=98fCO>-R42WB(TLxBJf|cZRfo39X ztnM58cAZw=dI&Unc{}yPxs~7*g`H)UWYLnMYubTX8;fto-_2NW*^n}SXLb%=HTcF3 z;L+bw3&RFMTF{{Esf-ZWbOwwJgtO={From%>U7@D)uo{$BrsZst?97p> zl5*Q)x8r|-7I>7nxOlkmF~emgSpYPDN`d4=_9%pt)(;>4vA*DIbl>{^%seq%?RXPD3K@Z3*pju%5Gu3mQ7f! zy8BoY^ulBN%PAtUFd@M7d)>Q^!jNla=&n~Jlvk5@hr9WZQOuC1x$<9=hK>Ul1G$8w z;m}gnW=ifv>i3=s%*_3Lb7%RG!Pb%9iR3FKUD(dG#t|p0-`!64+GLU2PE4ID?}hx7 z)Pp-9I6uqtKaN7U>(97w)q^sA?$a_5tY&9v-G*43JVhOpoA>WKP+w<1~zo<&6X zJrOD$mx0rl7kY`@u)CTs?!3s!8u@@!!O>h7RaS&jT0>9ThN!wD0>Thq`JSsvG#}pO zA7EHsqkg%0<$@CzEr6SxHbJZz1ZWDW(-n#QIN6KJpNib0-K6a>xDjpVag~+s4_TLU ziDljSol(h!(r{zKL>^CCJ4~@#I_#R9C!06N?;L#=o(;vD4k)QyxCJ)nD*9kN z0QqF^jnLE)DbvTo8?yl4>93n@EvXI&%HMiQc!&QXng~^=Ahdl7V}1+SXPAl4iPU_y z6svokWChyfA8q)^t%6V;E3L~47>swo<5xrWeSMN&ZuicIuYM?BJtpD*!@Z-i_;Hc1 zv0k#LQQIp?CZ(JJ6oJ_?wTq_Q(cu1u=T0~zr58^$XYY5&k#%(!e_6(%=_#4$fNls? ztUEb&50B`N9G-OmpUw?q>QNCcHZqpBfA56b75zdYXWH{6gmGw9+bP6>F!|mpzmh{w zLJ^;ba(azlJ-IW7$q^i~?-hbA1HB<|8+$p24>`E+(b9G_AU(AHx2^dC7tbim1&7-da-T)Q$;D$C5=K@V&QR z9cf=ovrlBvF)a=o#SO|G*bjW0S zSPRfgBqJPd=dAoB5fR$x9tuBb^Vbq!8dc$(eD*f`n2oU1?+0p}dcXKjKC+dMG5m`V z%O6!2XH>F1E}munhD-*ml*@AD?^44&K_;v1*(_QsY_+S$nPUyK364$jS2}6sy?xM2L2LoJr;_dge)a*SS68~GDqZ4vMdw3I(<2ga!o@JWw{I3LC{?<8lAy^n_wGw>d5*D#Xxpoa3!=9MP&+l&vHh6O^Nrm6un!_b`RM|Kx zOsddiK18lyA_9UD$vgeSfuc#e%QFygW;x#XOPU{V>cm76pz&>kj`kw!*I*B1+!4g_E>S(t5^Tp zEB(~=^x(`QbmzCVEhTNFdtxyrtUP|pJ!jo&rV0z$!Nvt`Hz$8DtV1U)Dz$606UlsI z$}#@@3;gBc;nr$r;vf+-CcM3@PBqGPDAvAm(!b}6b${9OwZ~z(iuENQ>W5M+^PTSP zb5>s~ruV$uV=D`OO`<$t<1(LUZrhI z)lr{gX=EFQtuq}xN^R7_%sC`8;gwFup;=PNv8O7?1r`Z9N1w{WohVUpg3;Nd`Y$q^ zNQO5hM8>tp*BST=KNj6~k{@SXGY)t%@cRWa6v`PG_s7K9o{OER--u0#*GvEI@%)~W zO9rHYK{<(sS(KP$U%HlNKSogTiAa}<@?{Y(<}#{;m#6fdnU#K`eY{NaL!9Ys^QHB- z$YtwiV>Rvmj4gHa-G(+C&MWSSDG?i)_@;YSro(6Ztdv0E(MlbFSvXq#C~s+X(yM)6 zc*5fR&}k|XJF+_)vD$w$dm;hkBG=2a_-BUye#t`^hLwbpi|@h|;{xe;Y6;^ksIx8^ zoFoU@diBga%@W}Yo1$4{qsPJvdA*L~t)HGliBpE7;U(=U@oP?zx6=N$_4${bEP|J~ z8mo>Z6Zb0}=Ai37MNMznv9#|(N#6=BD}kr#fMVwi!={$R_^HPio5rUjJ+VG!TH3v8 zg=T4fnua(4;f`G?q=r^%CI%1wgX`<&&34V$Y0ckKMec^iUL1_zPU^W2EI(6?60q&B zsWwFi_=gL61Qqr9*SH)r%pw4cdfH z(FqUX*W?)@{&ifp`exaUmr64f%cw*ASwn@wFYnsdh{h3e*Rb>XtdSkJur5@I%-|bN zc0uVwm)hBm`R1_W%>OhlLSlb6iCe>Zw|TT4SGuGP?mu{Zk!bPV7n3!&_+F@E7fteA z$HB(xsEu$Hl}O8Pj|f(;UOtrS3}BnFOM*l=#0NSkT7y>{aGgB6I3xmU-G3}!IpHi1 z!`R;oo*>J_UN8(7f2MV}A3s`rQJI!P97+AL#<7X+kn+JiD+Tzf85=!bzGw2sx@NU7 zvlh^Wr76es09E4fmto_HXB?P6WXw51S8$ENAo9o)Him+9j-_~fT7oi6+AV}D**j7o zhi~3+bxO76WP0SL(GELg+m0RBI|YNLbjM!f3NsXzz7Mysz)Q&yYOzG(aC9>z{?1cL zjqco7*W3CugA zW(4ES9+25b$SDVdo{`-agNtTZ7q6Qh#g%R4I4rXH7}owI=m*7$;imE1`<|!D!)r9& zA-~qe)^}3G%;R`bYfHU7uw^bV9f54my?H$uD`gua{`Gy&O6S}Tp~hTf7E^Mv!%yNr zS#(`KmQ;rw&&F<uBeO`FRN`8vb|`I7cqRJvG?P#TK=K3 z@pki*ZuYc|$=c%Na?~oWnMNW7*WwHuB4+hNL!^cJnUe!)@`6qdt)65=OJGBN>M`#`A?GJm zBg-VGwwtE8Gm4f;)PfLxjGv6GY_@peIKsiwA|K?_2XfNSH26|}Dh5Q4 zyEds7uq!54*$7OqasPO*1EsAa%Do?cfAMITnG~I98NXK59S6KNw8~5h{W9fcJge{H zP>bsx@`so@9!_1H%{@FzEsmuCD6s~ZhhM=%G)v$Y;bs~&qe}t}TtHY=63l$aT15Nz zwOAtoHWSFV9vi}3oCCS?+Zvr#bSv5)?=nu5$r5^K{`J8Rdu^r^;+-~20<&KV+G3J?B7=WvW^ygOsF(f~ z8(qQ-Q-1T^JX??BWC27$R!1kT?b`ACxSZP8pr&iA>nCwVrO^+LF4Grso86Ko7s}nW zqMo8`C04}-<}l949c6>r)XMglol`b~aOI8oH}>7<&>uP0Azwno2Kb+N#@HuoNPIj!z( zcJ*uS`%i-QI88EG9xz6>zYyR%W&K8;x#0X9n_m=fBD`|cvba&b-XXAsN$LU00Xwbd zKum&*Q?64v;7*@RCmb)(^HF{wLbR)`Kb0F63{t}wA7VXuP~?H9j#((k z4XUY2gfI=E#oV#cVmA|`U_yTSu0%Gnb3%=QI$cBQSfTrPk|ScahR5SP068Hd7VEgB zk@iXf`TdH|KGteVWdeF!vocn7s44wM3o<1J%AB+N=TVdsvG}o(NXPt-#i4qz1{ZV! zRY4ce12R9+`CD40m_j~DQrUg8QQMA+QA~Vc6<3y{8ZY@ov1qNosI?ztMQ zye-b@cF&m<3z_da`2-k+`%>>#pM(z#0lKXM#=xAMlWdWYAU_uR=|??Z zR2N4jvZZ-OZ}1C9pf1m%4!sh@9>rwa{U(vGKasZB2sEGj#C(qwE)<~K7YuU7M--lT zVxxs`j_u*z?UPiTljK&8C{-0B(Hwr8X3Fq%5))K>`FQ+6Qxn#p9_pGj7RTNcPvec+ zCmNEEMk})rH`sLFH;darhaY6V58m?8e&=#sO$15MA*0V$@)dy+jjS!Va{l0+7 z-+>Fb_Yk5_t7muPbn;!>fZ3j8Vy|+12hrYsxpm4+o9BB{&}ax zh;#b7uVo>e!H4SE3#;ZK%Dh%L_aY=Az=fXQlfyweS}wi$RIoGX<8`Tg(<~+X*K1-@ z(@|TcCAZ7&jz4rT{kSrSzQr4>_hI#!&mH%{UbQiAz>O@CQ+J+NoMo3@XZSSm!t;K(79Ws33&5+Z@h(+>u;{GL%NAm zD<|p9=e%oMbk>bF(r&z$f*qb6Ee4cG|cL|Kn#kI73m0-9_0 zz!;}G+S2Kk99F*Xl9bW-Nf=0+X)Iv>(<<+%(qs;3cRwcq6Naqh?bEt8q=2_yt*Uf+ zqgL2BLl&QfIS}Hw>hLc;8lQ=UK_LQ5^aW*EP8wU=wH2thFw}MV_?$Ac8!en#JSa6w z>C#L)L@)hhZ7kQ-q5s@uC?Q zBev#}4_+>B;BkD98~74+4?zO9UHHaOAU?@RyWFY1(cJVREh4D<>`EkHZQYDaV|4fr ziV>2F#27xZJ)a(n>Waff+UB@d=wqI8Hds#Z^W7p-9r;Oqj;ZNfwhtWv%bKI=;)}{^ zDyr0GI=j-U0nkh(1d+naY$Rk4bs=rQR1YcPO2iS?wy?xO+TEPwTYqILw~>-J_e+tP ze!N9mUOXJk1xvign`_z6WB$^ycDNa<3yOKs2nc|B6j{_s4|J9`W5o#BmXJ3}@G+No zO$==PasMMaz!>bv2klT(C~*3ren}G$Eg4s&Yv@oWvH3!a1Ijk$Oj}QMGsc7znNKzF z>Y%=YZrOA%RA=^4xo)&g=6l8bpOEJl!2p*ZAOlM9@qaS`I)%Rj%LpuZ^?ZN%M@V$U zGsQ5#)Df!@`=Tw{N0HZW^1p+Z{gkTu2%%m_6luzzcjq}mOJh9JlJl1BcuY69W~K&V6yNBN9P4J?ftU?+K%a0+JT zY^nX2gvDVbgfoqXf<+gr-;HIKWPD;{D7*gSGleGuKL#q~c&V#AC00u&Wt^2Bq`8u{ zh*p&1Xm#WZn5?7Yh zow`I@Zh4vT?T9}ua-)By!j){-K$K^HmsdS7CPNv+wWlUdFJl8y>$W%zihJ4ka3rx> z-G~7GZ3P8k&-}~Y1wWzwKGW`ofM@5W8(J1UKB-j?r03>*=5El4<5k?OL(161Zotb# zV+9QZJxh@5H#^7H2+F|@iIeM{FZOkA*r*pam4VTVD}wjfnH8*qlTG}fyq~G8h;DJt zIu%l0V2gwx9ISlx2W)UOPJme?Ny}Sc18K9Ta(eMx)&y@w!>ZgheHBhxC+6mz{D)}h z=!p_%(dS;mk9vgTrV3V-SKlXP!`PRG&JF&}m60F;!4rJg6`T8Wz+NogapeoFhE%Mm z>G#RyY1p)@C(-Jb)_nBzeC%_(eqr;yH+H=Dx%2Or0 z*J4b`$b$X9^;Sd%meiaP;d2(4*a3k?%4(DnF<1CB`eIE#6psI_=oW4diOO{Np!B%yF6EWb=Mg`w8e5pw|058Az2dpaOxqt>)LDH&cB zMJ{c=#p>Iy`tvV)gG3GJ4meE~g?0}B+kX^}nAS+)$q)4^Ol?eiD;u#%sajNahv^m- z%R_Y&Fc2Dq^0tzEqjZnkSW$e8euusN7#|3ia7D5BO}t!v+8E!k6-*Fy_C44WKtPXQ z875={ihpYesDo9%DCKDW_z6~nt!H8K2e~1K)!G=`gvX+`SqHAnj}#s!Z8*-Yz<%J*|R5rQ{k{OEstLTivj26(Q&j?56&e4&h72Ku6jj(;qeF7 z91;CJ>YZ+OA3`LLjeL>E-g;NXVe$9TIfRbx6`v7|l4jd$nY4(@R6lZy z-FxiE3k!@xfrcJGCZC_AXt3aZ^M+h{{zuig``%wHS-}Ko-ZvkyF$LyIfXfM>w3{Wx z>{Knnm?2fF!keDtyuhecYl!|`?OH=}2!9NiGt`nBQ!^wk_=^El?TT@Yl6-owQ=LdY z6*Fs<*FZ>)TTpA5o7oVH8(YH!pU-xUrJ314q2@60IBJV|oBKx36m);6#qL9J2 zOc(EQ`Wm1enMD2CdFDx%P8hQKa_(^FQuM~lV*UDD;$Lw&2}rZld6<&N2%E5%?IuVS zBle%Y&cI~o-zygDhpdFWbhpq=_=bAoS~+d45<-0Ks#3z!(S)tgG z*pe4nlxT<)Zek~y0nJeraOajhj2n&#N`V#?XDvzMgi){PQ4r()cDa7X`F%_E25cqz z)$}X6UTS0LW9iXCl|+(ctmi=mpT3u6ym>iu1~C(g5g0`2^)I373KE7tVA0T29iIc- zR>SAMIrZ;@babCsuK$i^fHuZ2nip0Qzg%3G1mE^(EPAVW|14yCcBa|n?oZ)W@1LI{ zf4WlXsFIq@AfN6|GRj%w>3FMqzxbV@OOt2Ee(H-WZ(1>k@{F)dD)&+Y-wFB=hK-R2APQx2&A(cKeqOKbXgd$8?c-?p@wFztY`N*GA%ux5shX~NjK zG?_;npWqS%EcTWFI}c{=*Zwi65r04v^!ca`zo2aC>QyhLalbIDPXBZ^2s_y#z>mPo zBE>ZIODBFYmUZaM#4@pS|G_ShT2k|OCy!Ly5QjH=(1BwueyQ>^J}~F`%XfMbo#RA= zIJkyba{K{`2T8I1!9BlvU1M#0H9+*fT*}E<8auj=e_;j}69(UTiUH#olGn>ANAUUq z6MZvh<1}>ZM4vpJ@5;9*z??!G(_O%0K?;FaeB$eksIXa_AVm;DxKHtP#Zn~Huy-#__|4`?y27Rb|6D1_&y;&IOg%GiN6x6&@QPFX7x+eyG1yxUM;6ZGW z@sC(|YentOxqdjqDO5H_PuwHUvry0I$P4NW>dt8$#bvr3`HdNF(i^e z-Wc$*lN~BP@Y@0Dad~!kC{F=dR@)hGH}-#CII2oFhd`6qda8q(6!#cWh6ANBFntw| z^~Ng@QV(-XzM~OZFaSH)HJWDYIW`4q94!hkuDpfmrmC~w!ziE_c!-INOq}GV2QUAm z#=#(h*ve84a4=(6eYr^+Qpt?RRET1!2W^faUE90fB(0gdDMrOC15aD-DIcl&120kC zc;1q!!6$zN{iJEQ>s{)LfvNUlf5#vrC%=rtBk^A*0d{bq)M1r$vPQuPP6hyYgpA2~?Tk!6-@D zTjcx~3LXw9V19e?JyjC?u_(X5(WMy;+$}I?J<^v2W_l34LITeky^Mh}0%hWDb4Q9S z40UXTdo9;Gwr=L|VJyZ##`{q(o}E0s zq?N_|w?th?Ah(X=(#EuBD6;z5YVo7SWB-Q3CB3U#|1bfg9P8hq9-hc9%+By2yvyxo zrSBj&{hI^gY*`ms%?44~+#|D1l6&Gh@clY&`P0n2A)gAu4NIf2*wXe_^c!Ifqf0a9 zWU}qdgWA8T1Hhq#KbNtbn8U<`WnB<=pBvKL1>3fcO;54tq(;P-+}@$a_&h6Ajsfo^ znqbR^WUoY;nxlEJ(4<(&ksfr*cZypVK>$P8guR6N7GWz+PK7Qsg;~{Ah^lK%N*_0vO%`}XH`E3_cjJw-T{UG+<-gR$cah_tOm@xf95>OIEa!%=JI zA=5*eo=yN6i|4&c%5fle0QtXQpA2ZX)Ga5FcTibKYMGBmNzL%l>Qq4_b@n$Dqj5{^Qht4BpG5Yzg6Y7H5vG0^OFd`8P4>zIturY{XW+M^a5{juFEF!0Ym zPRj)Zy5rnd7W}mq9<=J%nQ(tM8R@!F8-&?u=-+LoS|hl{(YLL!k?=!rZ^u`Y1dgSd zWB?ke`Je(2!?Dm&SV%l|=d{+#&3EjqHduOC8WU!BUup14juy&k-QhfH=2Y^EV4%pN zfPX6`p&wgObX|Z~LSh=^gR*tT=)(6}Ut{nsKS~z2t9MtrXkgZN1d_ea+*ZLg<-x^W zV{8W(d$0b&b7Ry%%pcqKrm9HkF zOEa0OEklh>9LRec3@y6>*vVjT#pxgPXW$?DBSnLeRspM9GZS?DunhsEZ8qC1)!N8_ zDgNayoz2zv0ORSHWHFUM_byQR#37t2SNz$4+aRXj-imuF%FJ--lx{2`Cvqd z-p0#gbe&A0P@9Kh!*fMItD>25IbLftcIp zT$SstJoK=d1bfpUewD1zfT?JYQW;r)}?UDBf7kJGB z*n%GXd!cde@9-aE@sK8CNvZwvG8y*Oby5ckShg*AD^uKP0iIc3D7RkowQRY2k{-kB ztn!*Nwm|<=h5VEM)qwbraqvtLN^|P4by-5hrMOx z&5HpxN2vDIGVHu$se`?}e^T(e2uT4SV_uMf7fjrLMr{TC>44k9VS*1?9%(l;o1A)bUXdI}?CH}hKi$HF(ArBDNs&Pjq3OIMinvge-YQ+JD%$%xPU2*%KAT@N z5moE?H)DH&>kGga4waN=WJf$zb}L7Vag9XQv!+cUFJn~b!OmXBPzReO=XXzkwwm~a zAe`ziqkEpDm+Iuuzbam&iWWGkI8|NwBLR!5GQzNGe%$8$gUx`PcHNB>ULqzRTNLJN zYUJ+=x>am~4d0$zxi%Fsc05}yTxqd(U`P{al-7diR}A_r5@e|N3cdz=XHnKWcyJLiCINf<7+lo>jB4Uq5R< zKaVn;EF4ew8Hyj)MB{3+j0@LF6!te96Y3r3TbrLP`$peu`y> z3e7^;NUY$!P;K|#UbyDgxYCAfQ+nQ&4&)(QW#RBfE zzl8GYlgk(e{WQWs1_^REoA;(Ud>IQ!Axi#MdW6Le$42LoT~E>2xDaT0v-H` z4f^GmTvT2L+L3-k&54qpk~7X z<0cP{ct3L~PXD3&aqMd^&Z}h-uX$e>Oyuy(zw~uh1vt;+3DO-_^lM>4@YVQ{aOYIV z%T|KB1|o`g9I7DF6PKB=fl5RN1+q;kW!7XLrZ+Nf1wuijU2HHhv?esaSx}m?1Y{~( zrD5fJUbce(jUi&7!L(H*SDNb}#R{y;MmjpR{7aiYU~QEF`Lbubq(a>@C)QcUNx^Xy z-(f)uxv2w7MoJ?}M%PV!eI>%Ji~M+RQb8wpJ)sSx479l(eM1_FQ26oGm+j9Fw|@&% z{^0{h?Hc~>qmfDLt+!-6LW9@I>tC(uQND#>L!*TF%Vhzwx#2*KZ}7T#xB128$rC#Y zxu1oEX-LdsrSy2>#rIPiwc|CFH}(C3o0k))TqO}J2JI@#An8sBbTQ~rh^Kyz!APAu z%TDw{yezih`+v0OA7PzueSm(SicZjUUspwJ<4C^ z6P$hxd%+uqe4l3~c2%H-bHlNS^ z3Y%gGMqn&EdrtmP$sV(TYmJE`8_(&G^H^sYykG(%W62Mx<_Aj;AO&ix0oXxm!UU9O zpno=?oC6?sD&I9-jyYYtyS`iwx}Y;20A!X>`TtK$b*8c#e^b#($r_rno@m#E-RdJELtf&0%3n0=}OX>)pY*$><;$TeJ&k*tV3STg&^e6rG?P%my6j(EOUGT<3W%~G``C|Py znvU6kMq#0Ebmn%BKsxMa!!c0m6kjiQJK1*sAdwf&D40I7O!-1hfrN>un6hqwIQK^wF zkr(1{J6SnZV2!}KC1+i*9iH3|;HAktBfswn4IIZ;@aoBb?&-JECQ9UxNr>oKz%v(b z^&Iz@jH=q`WC_I( zACrkw(@+QyXPp4g+a}Kyb`L_AqDwEZHPtDQ8PCk`XP?5BQb4S!fuWh{)0qN=Wt}xPJcxf6xKQK#wD946a?@OlFWXUG8P4g zB)KOCgww3s1bm~R+aUTBM74pqwRRmCnX`V!YoIV5e&<}=;$bkaEK(>+>X=Alm}++d ze@#-GrX|NsGkmjuhs6BH0s3HZsI-4d%-119r~r)v%Ts@UB9z8EE1mWz85pcpx6D!i zw6WC;c^^7rB6a4Dpfta1F<~;NkOZ0YaqQ$kXqO8En2PZtm z73)%|!Q+5PkzzU7tB>m#Me?5d=*61CBmC)9V@r2IOxRs$p8|uDRlhL?Zz9jMDmK!@ zIGRH;N?^WVZH%kk_#vC+G7&^2^qMj#-Yqwk}G zV%@R(*;*DWzbbZSh)%zH9TZh<%C;{Q+PUH&(>>x{eEptUd5ygJck6T-Kt@7_JnuUF z%EKv!3VmEy9d)a)~h1y(&J3i!JDx z84af|vrfr#2x>Ga$0>?wO6dM4+ml==fl8&)s^dQdqhdq=5~imz?L+M(s9 zA;R>mjQ2T%#B_6w(^+xy&+&o~2b|JAEi&DK@%?b?61l*%ylfl}cJOjj?8M?Yt=F?5 z%MBv?AJh-O)@P4BfRq!%^)gsNZN=^)#6s7ZRM!0|@ObVvMuywgMA&Tbq{9fkHau=l zaN^RE@$ZkauO{1JJY-4_2Bu(z`&h^{@^6_~H6LJsWXzo76@t=}#!}2fB0yEEM~w1| z0n+VYcD#)q@jzrzW>bIdI8pDmalGXJIJVV)lDu&? z`MFcMi&SC0wo%?AeGcJRo#`liS*!LO_{Cdge z5LC|)x~kt})-KWdJj`-1hxctZ8-{y$^gFri=ut!><=Yxn2SQ>44a=Hs|If^Cc{WZr z*ec{M8*@{PIjz!OIk#c9Jhkw}K}vjl5;Eq|Q9)19*Br8bHEXH6wCKk9ixwKJS9EVg ze(s#g+VL%nuiyz$Fh3@&Mx{SWEw3?vpIug*==-6N)v6n(A%~&*O%nMUJ=fe3W8V<3 z2u)a2_)J1s>3tuU$yo4tJyo0h41-DC5t5G&QAGjgd0e?kYx!)m#%~emBKT>|=X}P+ zL?Z}+OY7>`BIlYyHmH4Q5Vu@k@Buhghhe8Vft7D22{n$`CaOwKX!+F$|0mm3R}OfW zx#LNatyj)KUScez5V#}%Q0+k&mB8E3GkZS_SjK_~gVELm726ks#*g&sh$AlQ^*zl< z1nfYmSL|X_vbgd=%aJx_`>V|BS+DN3G2fc&3eRRevd@Eof*bD!P8`T_$8^UG^BhOV z_7-}`>uC$LUkI%!rJHc7d}|Q#14xev{dFwd+}}rzRJYE{4tJRJiX}#RY)HxNuSGat z1D`NA=L!=UtVwC|HW+bu$Yr+jPLNc?DE=Iu_F%rWe23e7SxZ$j)8A%}TSp{8!n~7X zW7e=ci1&Rx&U)yja|3_qMT?k~gs$z6r7?_1!15GkZ(_&r-#azIU@bC}YN6K{Ft`c> zJbtQ1>AjG2$tMR@zAiPAWVdH7$$o}@e1<<{3Z5;nB5n)Sa$1!vdUxJOm_P@Te5)Z~ z(uL7BnR%+&!vv+d=i5NK_3qqGWb9XkZtiA#hr^tk-$y`+a&M-;!)NO_B38u7T z9^DzTv%b50QyisZ!4PRnPsOK;GW^);NfO#*tZ&~oK`oh{5-C~{AzDgOh}9pW#r?xE zVe)qkg5adc180=`tKhDl;UdLI13RX2^Xw#xSg8uY#99(h#mL(-a&YQYCy!|0SkQNo z?uJozVlzmpF-8sp52IIzjN~Q1S~}b2M}C;n!iJ=P!!Pzt!8!U)K%98{DOp7oUC27W zMDXfY2ImCnVNvIeJ_AvLc4R!3hihYQ(*Avaxr0{T+}}~|-d}qgTA~jC zWogr_uPX+Q+4q%;zB^0_*E4^4Y6+;~-c$P0TJ)J#=CF>+E(yqfSWT)R#L$Zp$!p>E z-OX>B9Rllj#UD>c@uKfBXgd5Ve%|kq4IXD`*o+-zA%{XZ*b_3Og zjAC*W3?G^=KYV-zEcsYZty;%RTCduuWv}0?r342+FG{atx`_RaV8OfIoZN*L9LE4x zNe$p;a!TeDVZwf5$0Fa~zIZ|bcVyZZuMo=Nw4DeBwJ6$4XbNwbQ0A-iVi+B(o8chM z0qI)0;SV+T_F1(He38oQHOIDr%h(+z4HrW(9%vQ9tZhngTW`Mlz^A=%B?@gI#|ft6Q5#g zO?w7#tU!eOy{^28dZN=P_YAqNl?A;JvLj$+TOnY6j7fn-IN;@3oZETQh@h$Sw`S7A zb_SNC;!>mdmY+3f)Gr)K(fYG&YD+dbCikn zvBCg^D?>w4L`*I!0xw(=Z!Tg`iR3Z?#(>m$8wPCOusswI3A2d*&s5t7tT=!-=fJLi zD8<8r0Ws%Nabj|*nRvV5>$)2Zs&db5CTthrdS0LL;XZ^#R=`R^Ugl8$jj+YuJwxLr ztP1Pg?1J?omVRJb)w-P4K_U$DJLD3H3|Fq3*1QPLO=avmc}6R(f{S zIOv&F>iMD43wKs2WGqto#rUAfYWG8t76nE_?uR$YytdD(Le`&Reyry0W`&HCVC0qd z5XTBxowptvaX9D%(5Z3Z=%2wSfc@EFpYquNaIip?nA}+l>4^AMS<4KWwWV0rB9#U?@Y{eoZdtihW9ZuFHUw`4lwwM1j76U?6SK~Hl#4n zZ#H}+gP(Vs7(>^+N*DvDp^4uXYSw_8R}7hE&RzwPCNk3w152XQ~wSA;dAG(T9}8#z4=ATYex*P zFszEos2FuxwvySc-@u1B5RW2arMr)N7~v!9Keon(q= zj}sV2V^@q)KmPHAmWN_AOgrj^kG_kaOameBJRoS4h@Zo9#~nc#ug>Xb!HdfT$R>p# zP_UhNOEs|N)DV%P-8_>=;DMsp{dwd3@s2UkW_MyOWO)KRORiB3Y&CUuxXaxlAQd0) zS4)%kC&LNbd>lN9VAAGzAi6)?x{0MkQF~WE0^M(^xGeGi@UpOcE32e|=O}O4=gT5T z)<7`qr$|&P(E#Z*ux54gN@8a!(L9bDT_`IEs>_Dk-7iMr-;i=ry^!X&H|?^>lHlwd z13Kz{hZ;k(3r@I6jDkgYyMFyx=*;LL;@YExh(KcZUVdiS8YDOx?(fPR)ezSzQRfQTp^%@UWezS<8bV{YY zw~Ftmcg&>ZtU4CT&L;+pyiZC`cH=GaC{sObZ39brHkS(nQ=>!)xaXe4F2eoun^B2X zbyRWV?C{{n%Xfc<)Sg_EF$lbw6y#g3*Z%s7^&>0eLA`7QivAJb?b@aK2C$;pV1)hW z>w%OvPo^a=c&^)TTlMeac{gymK5%ACLnV@)7s$hk-pKOKKQ>oG=0&W9ZoUS8(E zW=t_!oA5a4wPOX-_i$>gRV+0Bl(h&?$L)BPSRrZ>4RV{Cw%yZU`-?$Ab>$CDC&FVu!xk&%+8^RlxmVZ&$>geUYWUOv9PJs^3h zp|;C&7f{I7JxM+f;UQ5^^}l3zT|+;K=(rM~ohZgKfT6x^`s3ijYqo6>)j}_CE8j3M zHZju-H68T$yZeuqT^P}Md0m|JGTlOrc}$1(t8T2_m)sySkfYJT)yFi*iKo%AGVP@m z>@VZmj_CgJK2-OfgJ`>7r3s$g16#t`JEx}7M?4VlLWK-CGm6#CZUkdiL$$l&RJOte znA}bLKt|d=9D8;W)WpF~S087@n*4uw`pST)*MILVe)S&D zs_kvRHATO`-0v{gt-3gqF%Q>30>;IB!tX!iN2<&3{N$v<>+td;{$sM-_6u@}&SiN8 zm1L@UzS5|G*9=Q}K!OFulb=_r;mA-uOBijK5CUfT#ehBX=J(HoCO;ksYT1ukug zcZ>11S{?Zv){Uurf2@C8M+Mlwqog@DH}alFb4Ye4F&VR+XS2*OZ0+ItMxGfE)402I z#ntiGZFxhq=Vk~&@7`d^38nrD>n#v!ZL0SnhXk?og0E(T#d&$3Y0(Mz~!#)k^0mZ`oQIMtiLAW)%~ET%$sA1| zSeYAz$?YI!O0UIg5m*^t(u&dvp6JO2#ddW+_WwpSn7v^C${$Ss&Y*s|_0#U+E2~~I z==;Hf3=x9F$Z$m49n{_;ycCNrx&fDUgP-kjvljgX;b@PYphSeOX|BX`qcsdaQ$RDH z9KUWm9f+_rBmgnM;^=xS5tTd8_I0Cw=qlc970rw1E*wpsdhm0UbHKRi3i`8G#m20j zDl?D8ezz%|a!j`X;aL)jaSuO)-W5*$coWV@8bCTG;sulmk#VlQ#|AFYZusZqLLRF6 zP{iqRw|B^{feLSAw17Gz{-YkEQsCKiTt`()ikgA+K=D+mbJvZAY`bf$po2rJVCyYn zzp)$I1$n!kGd!cm=W{$M(%Mchqu2IL{~s*vvP3#`qhOSlcP=PKB5FA-UBAfS6&$54 zGH8Za6}z4c|7W(kZsEJoIQ$_aFOQ$b73BPscf_5fBI&s!q}U8d9b1SqZv z&PD5328WY-BclVgLc+KT!R5fpAclPK>~|m-YWoD#Wc2Ngr{G#C4B^azgYIpOdJOxG zxrVZ&&N#}zyIQ&j(VJTH5_=-WZ9nDvM$bcj*7l8Te;EoY>0rh2w-WkWT%(O=mddf3 zaX$U`qbv_(m~R<&r`57X-W9fdZ%0Spg*c z@`g(VG^80k0G?Gxa43%iA?tyEm`_7yXRJ@tbhczbJePx0IIiSEB0;giB~|GN3H2c# z4E(IT&kdZ>eQ!H|yxA;!SDO|MZZ;+Can#*cS;ftSuCgN$LhvIi}Qs$4W59C_zz_^dDU2JFy zt$}{HuvzT@Pd~4~u73A+1{G{jRXBa%?8Ubg^lnh@jS9`4-^YzG<%{3!oS)m0DVFc; zat6=745xWb&dwp(>%^~ft2VviFqfOJ_^*}9f!ozVz?q9KAh%n9wXEdLcA2dpagbAz zX>9!|Mx$$4!{&K^Wpa8?@?K|1#0(8jS9gr-{Kb3aMM>9MUA!K=cXT?#9%WvQtEetu zXv647k{8B0e|Vu@6cQHCKI0!-Qzm=OA4pF4rX;~xUgGNWhnMtB z4bv#DEjc=o0;|(vT1sIbfJ5)!)46XOVEEb*0wSyV4T;i~Ai47_aC@C3kr#`DF29_i zEgNLtmqbAYtRlpEbca1^4oyADNm#;Xj*(j3E62gA^%yQfPD_AfoK*08bJ?O%7XvEy zmfs-{tYKw0tkue#-wXbphbx?D*rh$O_aqx$q9`2b?oX&$FQ<1juK1cPEPI|8BPs3X zWO(fO>J+xJgj=kVz_G=y2cdD~HM02sZHI030#(*RKG5X8(F<5OcaPMhn|X8H?kNanLM0hGB~$6D{@{) zJrPB;s+Rr~|2$5#++*kX+3bl}myVLDc*+pMf!-c%|Kw^Hin%#8S$9hL(yzu`$6+3t zLm3hKw_PY9BpsH+PVuZ1@*Nm@{O{R3`UKzBb?mU)b*#e&Voda~vU$+=zN^mI*I`G& zN@63VqpnLf!@}s&xD)&#E*`?KV-DN+=&%j0>r*-p)zkqTkAtAC-Tq}5RN^XPX>h47 z?u8`gLcz$^bi!QTmGfplpAw|j#2my(e~yn4kVQ+Us#Zpmh0w6>%)bvBzH%xBop)I1 z8t_=jn+Q+@NCzj0EFQ%j(RRyJr3yN$!Ih%LhjCEN>z$(4lg)ke>P0`j8SX_V`;cBb z+h657VYdFZZO5{aWi^Dck-S^bV}(LQzn_)x;W%&p=Uc`A)`fMlXeZ*#if+t6W+6Bm z0@{g8Q0Z5d1}B}Uv~#u#PZZH~N}GZMf3G?f%pWhhi8H_dlfht#46@3Y-_v-?YT5|G zG8xereWrR3b2XN4?k$H5TrAO6VaaM7ebeX)>Jv>lC6cc;`Sxf&kwbeTrCDbvX50Jj~({I>p#JudGqU9$NNng^c01c-AH*tx>Yxd31>NzG1}9`El`-FOky?Z%TXopcP#nMv z{tpZj3#uMGU+-O0*y6^kBRgK!<}p8QFgCuT$Dg&^V}hs?N2*o2V8bCcQy5(FDyHIApCp2v_<2vb_m16b{u^{lw>FW>I1I^; zn{l(>flv!89Vc}fcb1U-K%FRks8(WV2~Ht?HGUv-0{`Kdk*)ey=a>C~VIpxgKZBP3 z{7Ji2_jpq{3J9Wdac&?gv>guW7#V);*p)}zkUT*GW5;#8VbT>>&Hq&nu1r|vAUXLg zt&&@wUjbX^K2P+WE^URe)Uiw*F5KRSAA#O6(_`b>2t+pH_*a`*7juqi7lUJFQszu{Auwin z`k91c{!gJ}%%ge(t=z_X=jCeXDe@D0Otthr+ zmhe=*?{tm8srO9}<_FSFYgCcDPp zb^C{U(9{yLsQ*+7wsttc`Fd`5QwD&XcDjFMQ0WHafng}bwKis2N4aW{Q(RW|tEhkn z^)s*oRn%}n`^Urlv?(BId=JR?9pqbBn9OpoUn8LfnA2MvBzNM~MP@q@&)7#MPO}Vn zVV>O(@w=^eap>oNjpBA`+eYdgf6WMISsPp%W-lazd#C&9ZaJY=sKF2^6U%01B-wb` zCA~eO8XApQ%9+1x$Ty6=bHabt5}I=tRhOJv15~_!YxaaEL|r7bg#y);)=S6vw1#%p zru?nP9-(w^6Q$W1y_gV?>e9x>7Hb?nHa2_~7kaxVRP%+G;6HJ(W@u8~K)C7mWC&I8 zaHe?c0=Rv&tXTgOR-)hCi-Z(MA)UIUbMCmm%xp0;ot_comPiJM!khjdrkYInXBu-D znR(c(a4wP6-89JkP7*(w*G2_{Ehng1f{@8s0Kh(;cCmeUKO4_6#XFKPnLJmbUn5;< zELOBj8;hz?kp(K1_>>=Q$zGT2A!=uK*=#B68B3Ua19KgR`>GOMW$Ouz)8v1q&<7{O zEAI4*vqc=70kcs6xEpEAI{~N7I41NdXd9G=T3ztF?@Z2kh_nKLMzFmJeuiK*+rrk&?0+!_9D9N5Jgit&z^bPgudqKAee9a$P0^u zU3OgfAjM|U_wCl@|35`#0~Il$yj_pO>2m(FXhrP3Z+^>M!1ulU^&|o4?D5ED!sRbf zC|c2db`50u*=A6{#ZuPu@bM%k$c184=J!q?F;(mIcr$FpQ1@7R=y0s=RQS~tgENJP3O}DqF0s|XER(M z_4?S05$XnfFFah>S$(H6Nb*Mj8f{}tCd!ZD5t80Vk^b|{x=-066cH^!CCu}MG%}qO zw&uN?Ye9q%I;vp0ZJ-Q_z#Br75iBe|{oFckbaK~4B?GDb5TTt0j@?tBA}oj+RE^i- z5Xi5BltKu~#?BbL2-Dk~yB3`Mfil)Q0l=AwO=sbm6)GlYVbMdJ^escZA7RRd%iZBQ zGlm@$gf<|N*#Nh|hX@*dhTBC)j@C*o160NCPcy<8f!so8&(Gi2FTM@TX@*rim2Z8w zy8#|C=w(bR_Bj9K2``PaBi8)a=|k|XC_$Oz>1)>qd70LndR6OJze)hv81RKS`ETof zy)c~zkSv&oXgbG&Rc45*=h1wYcUjWcU(VQ}49;@>ju zDygzLB-qa;qeggy>r_J?luSl>uGn-h``jl@; zY`_i?18h|U;|{)>t=q#fm4N<4%yP2sez~=#ksUF@`JlSwsys&O?K^-5zk{7Ton>1G zFJ>JRenZC0C>l(tawrZfNH~1;qoNWuGC21%eD&tKasGSWyT~IE=CdfdlYF zozDjL^fg0kHp#~P@KcfM|B!QpTK+-sfwuB%Mr&Bw%b-FL&wIH{o`&DR*?7-5Pi8HNKl5{SUB`PTWSBUvITjK!@TPI($YR1XkhxseNhVzt1 z4q_=`gi^K)XqQUs6@FH?{IM|;+h8?WklK)A9G^N^!4=hpgvPcG(?qIZLiH5yUyf`C zOQI--++y{<|ac~Z!{?ldAJe z;yuK0uD{)ci*&Evt4~5)DQp^_P~lC^?+~-^loJk}=JU9SxEtcQhY6$DnHKP+GXQ8{ zCQACRP^}h9&D8hL9q2O-KUqXj<{RN@pF*>W%Q}^eoGWWp_n*6=V~4^c;Herm#Pf)N_l+yXz!O`RmlG z2!=`9(WA#a^!4tWC1({>|GuM_PnMa5_F*^K9$#qcBNO}kGy_G-AxVEL?1b^phAr+SMFC_mAu;JhTS&l=4;x+nC9|Vs7|S=2I=*J z>K9gO;U%e0Ukx`294jr;AOl1a7)g}6YPlqG6o%|a*xS0?M^M5P5nlZAXxl4b7I%j5 zJ}1(Vai5z#Bh`rUoBDEj)H87BjC=qEi@F2%0{0v!(N9HX=0%o<8eX!HV)n7!e1kz> zS~@{_nVEu;H!sC{s>e+vAaEtdP1i^uH`FA#aI+=+*}l(wUfq+0v)J<9JD%-5+o14= zCJ7T{D2hUSKZVqrc)Y(^RA|uc`RzZHVTJAooVV|$S6B`$yIX(9)Lb_^2u580DV|0X zoewK<)1Mn2i>DP$Ut*W2!qh6YG<7P(g_vW>X#bB6;EI7kZ%%`e;6V|Hu;7OpK%oyo zIT0{AwftOt$&8@T#iIb;mvy=3aXMVomN($ZWY5vV`36BHG@>%^{v4BuJ}C?cT|_qM zAR^$m+IH_5p*a}qqkojfzsznh1-W9Z9`Q^T?xFInkA`yx6plzV&CnC1a|H7CHlRl- z;Ce~Ea|T0QN3G!CtMjM=x-98D<=Zsz%l$zNAjRo5nObqA+56DQ!mmfLg=CNdch+rD z%GJrDwXF#14KuHnrfbtTsqx=Bk*%9ru>(Yf76K zDDr{;dHvcU6w9|KNtFIq&VT|cQ6roO?5z(AZ&2a-+3>s>2X?=P0x1t|vDQQvehFb` zzO8Mof-2Orxd+oTLzg#{`=UcjYJ;`l*zk220Gg>6Bm*yiA`hX6xcMW}C+s^+r<^A_ z$GYU1a8r8ExZCXzcsA|RXxz83;wQ9T2l^9H{@;pRO%UV_x=r*I7#dRvd zRS|D@9xvkubMQOoB3#IBih}2V7;6ZAxdaF=oxo`dG4)08={w@7DEjYKM(D zf8^2=mwZYZsn0ZC*bF9ccat zYouCCC7f_q{TEOvjX_kXen0$+9sX5X?O-k|aCAklCCobTCh`l?s8iY-&tTVmS|gSR z6Wyh0#PY>>a~*=A$&_V1XPm>Shc8E)_3rJKyuJY{2F_$?BophiDj(&ACkQ89ORtPo94&lp++?0lycX0xH~ZXI3b)nBaRE<%Nsr>5@-GZ&A4 z_HQ{)YZ*0zebjn@>Tbilyghmk)qSVd;_7-Cm*28K#q$fmX$TuSkAMAdiv$sY+2M~m z-KfWMY#sqP4?SyiPdJESJ0B-~L{jZh6c1GcuDpn#ltcIBv__{?#M_W#!$o}&%>E<(;hY+5TfRaZfvsA?u z`Lxs0)8>jW_Zin}H)shjgZ;93IXM|B_lVl>s z`Q2`AnN&c9TP@wn^2~xwuL%Tm_h0Q~pI;>W7Ga{pS~ND@)4w2KY=VX|Cp$J=Hv)2G&KUE~3VUNKho zaCJ+!MKY*V0jsw+i2zW;JJ4Ix|O$Gkx z{LA}D#*=_suEw9Y}`EAY22*4 z;E6fci5y7Qp=10ubDpe^yiqH5>4G;JFvBx|LdW^NF!;dEstyjN6QoQ=#~z4>!qka= zF}!iWC)DTd6JWE$g_oR@K1Y_A%r6rC zM6Y<#Wcwq52V0-eX_ewKc-%HyR`1rOcmucqOp;Qf&tt21ozT|RyVlZ7Eba?IE4#2N znPP0(#MYiwHfAX8sscWp7AzUb=QsN^p)n$)UUtB-8ODP2yaixb zmlm>njeAGrj>-c}@A?~G<*%+}(PsIbRIB{hL-Y+kXSG~e!BHjI5uP<|66Rv)%G0Re z?+{h3ox2mr4|=DGxpxS8VWp;?Sd189+FI7F0LGaQK^4s1A9Ln|S=qbxkrfWQ0m`?G zUSIN-9YaOIuW&-Q-Z;6p2x1JT6=#yly1xh`OzCgqjYDxA;dFd7gRMoL-F*G&Am{w9 zHe*$NL?b^r!{KLMZcjOBMQ>??`ebmMII821s#`Vwi=%$j!r1yJVyXH_G9-Mne7z7a z06{sRVmds}tYEq?`MeR`tl)Hg*JE2*x8RajbQyk54uP@N$e;wSa=9+aRUSTm6sFbb za$;g}BBI7qA6;x8T#fW9YJc32Ihu0!n5Xkm)08&RasQ1CJ_%Ov|O?{m`qbA7yA;jm*gkY>BJ8 zLGOBvu#hBT2HiyW`^vY-KIGOD14Cd7h1W5+Ut&mLn0NfinK9|S}u zG2W2{fIem-H}R?G0I2`sg^!(7u#&8P#}=+BS2Co4j^A!Uu-7+|Y_G{?*u-g?eu%@Z?WuUnqvxc;PBxNUsKaeG-u~vdgjr#UEsqX;%d$CH;V-bq|JvfK z!y64^>Wk9R3LViWG3Uq(f9{qc`Sjd7(ZkLeFnNx?;9vmBr2bI~(_+c?6U)^fb*~Vm zu7&fgJ|pG6>G5+nrgb5&t_6fdd0AP8+~JvvOkf=bIrHhQEG(-yiudw;7AM8s?r;-T z*D3>Zg#p8IXUYb~GD!f?ctQtLhVZ=$4gM~< z)Md5Sp5F{xz1J8~Gtq+s(BMG?D9K>>tlnAsGo+SRCn2jmJ3I+a#!`sNc6?L0a^JQ@ zeY^Yj`qj{;AWTOubXL@e*b~TB7BX86DYCf4CW@%)k1v%NQX6HK&NhqFh|8K!EB(d9&CM)d4OFBp$Er!%M@fi;09&g z8<-e^iEPf-eEMGdxNZYIf3APZ0C2uET?wPk!(CE4CkX-tZ|7 zeolGRH9)NlVZPf1tO7 zFKrMJG#^7%w{^l}u^pcn#Ju)aG3Y z-;&Cp#r}M6QCc1Lj_t$xjfzxCK-Z~7+keJf!)=2r-jh~B5aJ`T1sfOMb_#xwVUahq9-Z^nT2%@Z~! zw&A7d+TsUVr~1`X-VaDsW}v5b?eRLKz@xy&tZT_jrq+9pVESsgl2fctHc5y54=^da zd+EwR5`4E{RjsW2=ci6V*8O0d@u`kqSD4?M$fdFj44uTkLSbp{3m2p0y);L%FIK&R z+1rzuq32&WK|YtEm&9K4osl4N7|t1ex}kVyfI4w$n%ArSd4}O%t5yUV!>m@wYo)+; zuY_#VnFQ1S(b2hYO854f52ePBv9=r18E3u&;B3njS%(L5F&u>XB>dCVtAPlmS9617 zj-|<3>$CQ~+}rLYu>924W-zqi@MOo8P0X$xXN*#%%xWZ_=B87sWPMwuf{utST$hIR z8~*EusLZ+8Jabw}DYJg~uLhf~ey|Gc4pG+&4a%YHw+FgP47`yG1M|mD7mf(FMQJh<^W3kW0R-u91tIc>~fPtfd4L zmRFFAR|9DTi{m9YE3||gJLCZ~ry1Bo-?5QBd{Ms3J|WGTCCS5UkXgs!9QKIG^tRU? z+tZO#A?`<@M+jU09$?`#8z1O8_O!NO3ML?O`6zzP-0GPQ+>Q+eGtN#aN5ZKHJ29-@=}!W_CCQC{%7|a@KK9() zlT=&#sD@CnwV-qXRmF~=w4n*goGVX~#OnHM-E+3C2;Z&6bvQ@LPenK?cG_ivaw)|xU6 zlfk&a$ZX~|X8H7MgkhGa3#A9Er=8jb(5>0emCcjai`rxQJ&~+APHp0IQuC0mu?h-3?AZ}UHhY(o-2|if8Z>6PZgEhlbo7`P?K{$ zad*LtOx2KqN#Q|Z1`6z-+|ESEPab8Fyt$=cZo4MNLok;oe-=^7SHiav0wF`oOz&#L ziTba#X%*m0HK^-22H%-gLzgLRguXRO!fLomJrJlMXfZgJ#i&qgEB`Bqyc~>I0E?No z1C^16Gq4O+SU$QZEySo16YhgTke3F~5)NAWphVXB;a6@%2?H^1E~pYo6}3rx^?{Jc zGX^~;!FT&LsA&({sGV?%;}))9#MH%3D9>^9Hu&JZP98MaxD!Kk?0kF7;A@Wtf`Xk` zzb|(Uh$Nd@AiRVcyhm!WIp9(i#GQ#MoNdTe3Bym=3>!do8bQR&537?c_kFUSCPl&A z))Q%LQ8VpCGNfh!IEfx((HSWEb?{r?=!-wc`M#O>8+`4V^Qii5VQ)=X>(^E(HbB_{ ztyg1FRG)}cp}C#XHwUjr9jLBnjgv2cSg1q19pT{6aMautnS%nIS`M4!ddHSh6p7_r z4dsXSPPZ9fVd-3@fbubu9jd z%%+lW&`A{FLVlGHg|?cjjtP0T3VrHrLn(gq4x6@2|abElhsCZpDUwX5n}jR6Ym(4b*THuRyuWT=}C+({v^br3oJj zzccMt=-yf9A?auiwa*`TMa{QH^nA*z!^yI^0UG7XIZ9eAbQWudl_*Sp5|BbA`cBS8 z%&&^{SV(JJImYju>*LaF3N`c_M!W^I9qqY-<*w*8Ry=&kv^I(SWSt6RoGbR%{&~nJ zpsCIwxr9?DN^;v=@o4Qu+p2Qd;Jfyf7S;g;M^2#)gQ`LJ5=YoIv*fP{MqQSA8&gLU@R90$!AZz_|s9`(a`KwN52_jvwZ}W zSnpb^3XNbj{EbIj3!9_(nKgdN;CEN@Ntui$z%>2 z%?L9dQN3gcI-XHLyqf-dO}}%Oc+4JJ?ZUF*jkp!>4ToNKlRyj3dAu}=Gh~V#9IffgWZ`2t?TCkR zX@@kz^vm<2bA*ywC%98`R-&uCJ&aIQxYB~UyP7*H9UoKb_>Ln`M+HNPb^O!Od12UCRkn`yJhQ-ELAE~Dqm`z z{9g|~4vBaEJvnF=-ga1-dA&XTpz92rsR8X%A*0TyTaDQr%eWwvTA|V8{ap8AI@)n} zb1Ec>y-}<{Bb+f&CM)^of>)Oh)G`U9sSMnBSydA|f(Zt{eO&-2gXrXP+zJaf}C? zg`)UATA!PqJre*_{$QVV`yC)Y*7m;y5#IkzQ~v|5-lYfZPF~{#A1KH^M@+s!rp^01 zZw|X~Wx8B_PQ{kl%*5s{=e(OdlpW|nG6373^y21{=RxM?KIOGd59yKPg`b6IL?*WZpE*g2lT7g*;d%(=`*fYf|HAadZyXvb_MD7 zJ=Q!=s%r z{zCC&?C)j~iWG_hwOdPnAvb!Q1+eU?K=nP-E`71sFrVR*bdOpog^cG@T9@Pefv9G_ zDn5)z8eBmzR#xtdIV389}8H$Nf_CeQUG*K4bTydHbz(r35_GKTw!3vruKn~^XE*s3W z>%W6H?o;6+wWRDBPIE#oJI>aO>fXBQY1!F@lPWiT#6`HrIi4 zBEO;}Y%0035U^f5>S)70k>j7wus4%b4pe1;Av}5REGA~#@XtJ@WT-bYj5L2);}F24 zcik2lrZHcZcsd8;B7HVjKJouu#7D{n7H=WV;w$AH@bT~+Owa#QEKA&y&WjwtPa`E( zc%CMMu~v15Vai%0x5gjvuR}nIAmB@cIPsAKF)^!RFhJ|BN5Y*|QASuE|3@iAVE=NB zJeZpva=@Xqg`gtvMk8sic!mwW5xRB#p2m5JXQyl>B4O?h);Vn4V`H3h9xLg{GpcnJ z?FfS~NceI!=k`KMqXbn6%`SPJ?+-(ro~ecxReD$m@7OK&bYzK0SVZvrHpbm-Er(EPi?9Q3+M$pgVcl6^h#3ox~?CQrAv%^ z@c&4a!DJ~gv>>bvQ5ynN9-e9fSl^n+|4etd^?NcJMoNs_V`Q^GUzUw70~ga%p3U6_ z_I)oAeKuO+F@$k6Vld~uaY{L)i-$3dO-L%%;XY#&sQ89|PSVTwM<^t;e^~Dy_RE!s z+?y-_)op`6OULUJ#+|D-o)sGo49@B~ZvROs8;?ZlxFhCr(f{7B2q<6QR>fD~snssD-{@`LJ z;v_5SMUwGF;kK=wy#%skH4p{(5}lP*ub-$T`n`x=HLvoV>__a+GU)Ud5Jm{qX(6o(J|pyaNF5|5Yn3!#nYb9r`&#) zeMmf|A?B?bI=h|$E0R1aO;1+v!8S0bZOpXc-E2in#mz6= zsN>erJzTq>r%<9=RdwyrO>+6(VTl<7e_KZC+$80waLJuN5LO!DZqAUsTwE)tT)BUXW` z;QVZdiOd>pEhUs9 z%HW-sLgGcptm?<2RZrV&CDt-o!sAUMs6W6@unbi07P(Rk0R)R^$4;1EK{EEk{^bS&kmEm(xM^N zc7cUxn{)F5B9|E8G4-J)8?m&wz|;W*bSi*NEULgH&mV;lA`53;xZ?dr6Q46{_F>Ps zOwLDk9{M)VmWemq>g{y}Bwgr&#sdrNjj}t#f+){-$ZJ%2PsIJ^)6>{I~kU9Td& za$6`-gn|wOshDq8--NZFpW@`x9!Z#rSlJwbcw>u#awbY8X7W!>mKL-RkE$l|%*p&{ z5uk9id|mW8q-V@hkKHDyGw*}wn+TL2px&k@wzS^jCTv4hyrt}*vrmYMJ3Sa7@ zj6o(#NJrE2-4jwUK4XRs(!>6b&Td1xea%IB$H+Tl7+auZQ3YTlQ}x2hsLM=XP$>c< zGv#zrT12Eu-olkiM}J+kF@fm`Jm-VeWrZNadu6ydatgTy2sP~1eUHOafc8s{l6F8$ z@L_B?c$A_{G3)E`IGPG>mWjE%?Ym*kdhCSW^xc=Yybwyn|QrL$OBvvX4PR4G>fz`GiCo}A(w@B^^cU}Ed#%kzH} z?zicguKq#9w3(P!>0ZIuIg}*s@V;z3CIc4A-M1$y z+5w~jAx0Ts)tNJN!TTAXs&_)?h9xA^F1Z%y%-885)9Rjlzn5pkUcUlOK^$Ug#FU70 z#Tz=uF3Pskj6@Ualm`P%3(-!vXJM|dCxsaiN@xUOTVz;JTCPC31L%tE_1t<@zIqp*q^1%VPZySHeOJGDuzf7oW zD%ThN2w(d5do5fhhiHu}oLS0IHcW4hL8<=3)|P0{r_e?QXc8vi#LW{(VTjUMYunw_ z>YFY(XUaM===^BNZhDs+y&hsa@o0u>GUYhi)=0$czCNT9lwcNsL^IkBKhYyI1yomh z;=*@74jY$!?2(A2N>Baw$Y_X;vd-;vE8W|@K;*~_VH*Gc=(O>i#e7E5wv%}BoiH_o zGJ4zD(K<XXuql1=F6;dDHkA=@MNZUS=FT*X1ZJIEM) zJJ2iLWho8qd_aAZpFW(90AFH+bT!xzqi>>@Jfp+^fgm^R)_Qi; zwxS%YSq3U`o!k{Um6*;ek(hQ`s~1y0l`&H%{+vjw^mltSkc5*t%$(rU2kQ11_z>a_ zeKZ=#H<-Jd@uR8uGtP46HKzBo#%5}EE+A3JD&@$+&0_NIBErvIc2f-V$K6PZn2fCU z6IAk`WG~0Tea_drQ7nKB-n8#TGC?hcV_6=y$}eF2ZCmmUt?1=N2!G8=efU`~Usc)( z7RLACL{?a!zH5?xr_m$QaOW>@_roNtLOLxORC*%9wn`z)W*EK6vUJ|d=uPd}Nn{ws zMg8w1mcnSLJ=iFl@r3%(w2e*eUgf`08^)rqr2}$PR|nmhYg-ifNK? zUvGg-1;LOq0bhar*FWl%XyxSqm5(Etcpa5jh!dG^2n2aRIr}tUx1&OCt4rEev5Kz@ z1@wjsOL)SEu%Qhnc?mTX6m@vsEzj}2M}$>b;h@h6#tT;A0)()(RN>R|q_K3i+1Fpv zp8kF6*Zh$;2j!N*K1BU_7U|49Lb>#D@{tkyrQ|h&2Ew#&0~Ji(@ZTDx!)h}-W~mY zr#my&mfw;yj3B*6Qf?|GUCI5g+vMwb0c8HK<2^{RmUpIYC2*?Yz3?r4`*NsMU*fDs z>lvtLWOBDl1-7u)B`~;@g_Qa|wa~7>1DDR{-8vHC*$*F%LzHRcAfJzQKRxijC5ZWu zvHf}Logpz~@N%<7X56n{?3fp*@G~jW%;RY$Nk)47lsUIVQ`%M)E>eWeor+$KlXGu~ zi7p4|z3$^b;AU^jPBw2`<0GsNW;5K-ORZ;fJAUp#?RC*cPJL^RJIDS4>T%Yqn{KEa z%W+IbU~ctXNvx}RR{MJ}H0$w!*Zu(h(}*-H;1EAZ;~T_WHhqNZwBz)N`Oj9ks_V`S zV}NG>W*ttUi&}*^ZEE2{6HwKjaMJw;7RjeL_4K_@*kWA!YS9;McH0!eHl)FInUac( z2_eM}JTkG%y8+Y1=^5P^scCfs*+3h5v!o^6Q`6_Xv6P|v4~qnpO056kgWG82`*<;uuKVfK;m<(%J(l6QHhl7u+?RCn!<&!wP6`HD zRvE9KVLNLL^ks_|7Fh!g!k_k-za18n+r=&Jo?U-N+}^6O@qT?{IUpq=N+xsu-+ zh7+3BFtDSgXR6rkfLDiwpX9A`MCGIvp?7Uh#nL5S%Qy+ zp|_$*@w~lBjSy-S0iOQ&Ty6b@kR)XIJ>1_sYU1 zSGq^I>I=}r?o1U*PRg5lnuJDb9-HqBB6Gr~%rjKVzHPvGKuh+{aI2AvbjYUBN88Ux^Wo!}T~1NW+q-ZxxrSo_Ndz6nzL z+wZ$~Ei>eIH;O&89={F8C=w|`i|LEyz8ZKAID8D`hRes3bB1aLO~1SPV6jFsU`Z)l zvmBp>RppwbtVNi*bzDkhlF4I1k4Z3$TEAvY>4wp(<`7l*l8l%WNP~++#L+N`|5~Sg z`_l&<*1FIq?Dsl?=8&AW(UtD~#%!W9SoHMsqRG?iWBe6NW7fkTUXC%pmn*^QJ23># zyM<-w9Kt$28&8GqB-e!81xvd(S}GtHI<~s433anVa*(93>!5-3_M8%(IkV~o387gj z4AsL`JbIw{uHH>~G?^9ED|E;DUdiq787`H|hiVAkHtqJA#3Zme5f>Bon;rknzNQymSKv)3y#A81&5 zeEd2Z2GU^L&pT)W_54*n8|Y}$v7MmA>oTCQtpJomat5VTJ>^4x2}?cM>@UpQBrgAM z`^Ss?)}(ZPmw!;U#y^ak3ClYIma{?}ta|zM6YERiFtJ4tLK{$dDqL!*4q~VX5?Z%0 z)RRl$KDkhV1Rr>n*X&i{! z3J8`l%AO*iW$jW2XfLUpeB}9$#$Y-`*bhZD8X-GC*mL~Ns)2l6QtS`<#8Rd z+=d&4LScvBvw%=kMcNKy9v$Mf_)%jDL`Wy0l~xZO{mC1jeJ=dTIE&h_^7@>DCh1*) ze%^b&s(mKA7cM;ofm>2yZO~^` z$|+Q*kv(z;p`HpMTE_GC-NgzR08NcLI2usa5YJ(lzFL~Pr_|_uK@|J zSVO9WNP^LrUh_Inp9rTCg!f~ka6sGJ9V|w+Y+~JOMt*6Z3>;a2O zC1#o^OQ;V%+v<pH#cm3jw&x^~)Of4}OG;MHz ziS`r#PMB^>1f*z{7nR?#t2gB^DFF^Y?tjNTV)qlfB;2-C%&ZVHhgZiNzwX6-8)=~7 zUdpxq{{C*9kG|T!1v0TNMER9l12kk9JfL`I-z=IEYZIb=%U=;zLNv2CpiIafapjsb z1;3bVLkt@lhlM%ijWqRPj7^HzL=j9pfK_-NbGJ?gtY9E~P8|2)CZok26M&(|da{H9 z-83#q0DrpxhXoq^O1A?0VGp}oUvznL@Vg)7Z>1MWlS6$``6X3u73xk4GsPSb^PpGa&k0!Txh9IgUW-t5>W-r=?}6)NHq zs3@6LkhqutA7N)i^^klhTSU+lAD@r zT0T&~)yasCKcn^$=zZ?OE{hR4Rq4p|Gg~_8$Mx?qhn`AhBX(;s*z`hhHz&*P+K=4-`3S(YRNGa@iI?ifr4DMNSBrkxPpSUr1=!6 zr#iy09ZJRj(Uq`5n!eozg#OF@;>?g!D8aOmHq-huZFS(~3O1HeCRFB^4+K}Wytfq` zscElpv3IS;L05(kAy65N|G^GgUuYZ{^2#N-+-t=+9yEw@!SlyCOHCtj(B5Y3U);;~ z8kMMZjDe`atFzl)$73AXMs2B}OE+Q`tuhk_8+>Dv$jySN5 zp#K)o*1`RKQLrBq$|!CRIOcT8e`pPMJRqkg0nH!V;>09{jq%xKq+uwf7Ngb?(WFb!zQZZPPDt9>P}i5E7Oma-GSlMp!x%|1f9cc38C-v08(DN)jF)6Y)Ln4&&=b$FlskXY~4UuT?8WSOvWk|{12Q4k8| ziQ95G@@tUjTf$2I3)b-O6jC zqOC%Hooo}zxTajq=we15AjZt} zZtz$rlM4T>%0%sJ+Jz>N;z=&LPA0} zUOU7-#LL%=envHa%#E#kAo_x}Y1J*;81_f-%nBOu(v3>>sT~B0%=>4qE|#{Vs5;4= zNy*;(B;(Jj>V%N*0}iqevCn>V@*~4M*n7trB=b)35(*8i%T%784zU1JQ`XRw=_+Nj zmjjEG|D;$j377jB%f6F+LgajdP?a^7Xp6liu>kgYnU?v5+|nl~{x#IU>)2iwEw_K) z>;Lb$KhBdi$Hi=T^R_33q75f#4wqxrff<2)?9(y!q4G~6+ZT-yX<9njH)9$^k{K|0_0B{SzAYx?e_#m5EiG^$w{4(`CZ@zEpo%Ql{NdN zanpBYL{gdBM3!PY%aMqTA9#@hn0LTIyYenf6LFDzJPbmxFG_4u5iQRvvX#qu%LTQ(TpS9 zTMVLDsFCz9;&;-9ug3(qAKt$CK6`bXTLeb20kw9D@go|Y>|Yd0xJ8w(7?C<09UGSO z4-=D$hyutk3FJIlUqpV8!89G9zL$I(Ac4dPQ9l#WzmQeIx@y{~K+2Tvs)L zw3V?Ei_NhQc+cT@zcQp_7TT++ThUbIy0D%$V>qbbUUIs?b`Tx*VRVe9R4F<&%K2gG z#j}BKNa*o>nS}2FZXGm1oIwIO@4&FC2n%2>#SCSNW^|K>?F5ReyMGT4E$V`^!+sXN z7mV6z#rVwCb5S}w?sPWwE-;F^^E&d)H&UVHMe9>zlBlq5_giU=07)9rPHgVD=bQ1* zV88#2L#a|uaE9OO!Z$Z__b+s^H7C%10aV$^KlNMi=S(Q2_)tq9mI~BhSMJi&M_Z?M zcE5Cx7jIGl*2DLrUGRe?V;Lc0 zL++i=YmVhN9SH4+k!~Ba>Dc`s^H~tIx5Wj%tqV;KD2-h|swt<8BZ^pDf}E9Mj?Tt5F9LxD6=et zc6IgsXJK6y7oyEQbq&(n;|JZoGyb7Vo(G~Y+?NTIr(4hbg&b(-6m)Yxavui@*Wne* z`m?bNxs1W%H+q~L`F{#tl$Xa!1Tx~9? zL$aTHzet7+L&gznK!lGQ#xc+hY#;eXHB9fN~zhz)hz zOPYCcNsSruxz|ej-33eMH5b?xnH!T3nx6l&CmC{Ms8N4?fummrG=?;w|A{Pl%OrDX zHZEvq=0!(Fd%rWQ)rhyfdp7J*z_T$&5qI%O8Ez0Rw56&$=(Noa-1U?4@Kq(sLR%p9 z!9`ai2X|5t!m9*u4mnzS;aLI7<^R-_klNt!p`no@8*2)AH;@7BX z<4uEPfN5&N>K{bvvGg#~IeO?a)iT4!lWn=eBK7!rudqL1=BXS_%E6ouwKVn`IlgLl z^U>l$3#3%wjTkF;yLpguB8^X^HCg5OFL=#=t=V-;$=3O`5ApKX{r9D>TE8iBzcn%z zn)8Cbv~}PZ8cpLqd;1Vb)LoYf`U?XyN5Zq{c3+J>6m9{RGNXCB&QOQBCG;s)r*+(` z;VKv9j%W0RG0;L_dpA##6~F_ugxvGFp&)UpO(E2r0^$F81XJCbBjcIzfnWY+uPe`M7sAPmva;uEfmDLb?=dWr#Ts{14skF<@G`ks<_BGl<@-O%bm z55HJ5u^YDL@fwL%y_f@ie$E$3ViRl_ z3LM*ms$CY%7L@@!rDZ%xa4$h0UXsAO)y@eN9y*1*FN2ZMer&uF9PZultDfcKP-jhF zFsi*Qul`Z~6FzJIR@xgKFS$2!L`RnZ9`p@1qe(GORISN+AcnpbLf8h0Zt5jJNO8mj zFx)fdtvGm62nhEkgew?o0MQ3dUKg8rL~vBcnTsfub_0Nm-Fky6r3FsmnDEMk5ksl_fL zcYhT1k#1kVzW)p(MBF9aD^fr&{i0}lG|F-IF z@eilxNZN6Mu~Ks0k!gz9wpP}Y$Nvd+OVNU~9rIZIC?>-`jnxpx;-q|tg`f?y#GU5a zOQdEy6Hfn#du4Wcu1v&^eu_V$=>aHedryXc;m?i(nLV8e(zQ%=c8xv8=Ra?DaT^ZX zQ|=du*zj7JSf1_B_DTa;9e6rr+?wd-&Y6~k`Rc4NRHgU)U~@wrc*jTxb0hD@4UHl9 zCa$X{;nsPxKDA9a@dM#++(P2jA7m zuL*Ue;`$uGhMaGf%I3v(pUyT z{GZYODK$ly<{ZvQencX^D4_=JuiX#Z? zCKJWwpsEBE_BcuqV?=LovC>f^w|m48bYiPdnoreTbLuVstSRt=;&P1aF0+INWtpp* ziL3edsO*`*-vYw#QGJAkT(INjEA`-&x!|9Ga8rFUFsF>*n7P0!oVavp=I-(-?b`yw zp$j(7zjBm0%;@|l+=pBF;P^R}y%4`^)-+z&_ z@?!nTkmG>~!}8vR3lb&uM)r-|9aV1V##4DVxXXqOBn z-pC4F3xLhfKbt+Q&+Jm|K5TXrq0(sABYGR?{~V)D=e)zd4jh)OqpPWSdri=^D%Z*9wdH360jorw%(D>n$&b>0ANF8+Pa$8>{XX6v1L6xVIs_2U%5oH zcPm)EF`=y0!4{J+DVm8IiGP93DM$HJfcFE;J~bp*!ac`wI~azA^B>bT(30IKNsD;RE2FS+#9qezq496&o?R^ zN*gN(m{aH5!D|Uyo$l}=KJ?#pZ)BmK!y^uOaY!*(yVa6Nmym84!^)+CU&8+5VzH#s zL}Bzy{?ie=U*!N~D(TVAuJ!5XhTyp!?;DG?;-<~?Apy#($QMeyOyF#`8X}q5v!FRD zEUB{`fe)=kr~ysHo&eXs&_-gG-_ZVsw|WNOV4tS=^fJZldZ`De{iTU0RFA;QU;z^8 zw}w=yRM{OI7*g^VEU&gStN2irYl~f#383gcS;U8*o=e6gV^^9KUoR0j#)OA(l@ z+lyadq<+pf8+`A#J=t^X;X;7O5?rQQq*U&B0ajYt!VzIrw0yJb@zYdl2p_!`SV(>6 zZJV+{=`HsH@zBG^gC)nR>K8!vHL#|J)sz4u^NBie_%gG1bO0D4asw%U$O9@*t3i~| zXbF=Pn&)!xMAmVX={}W~v)6TZdlt342f~SqZy;$L#P#6*y}R_>LVEUv0MRpK*Uu+s zv1SH;c+R$-{=)T3j`*2&#P^%&rRI!aDO5zf03!~9sqnQ9zMyyz4)i{MwEQxZc$NX{ zJzF#McjH_rAd~dp+u-)yN>M~+mPz9|?B^7=QkC%=5#2ViM44R~3Nl(^5Qpjhb04^S zZbZ@}zE>8f>>P$~Aha6-?Hpct6Tu|()x1E%aAK_l-b$X8Rvr^LyWDmRnepZ@3P)=- z%XnA6{y|h$P(k;)k=GnqYzJ=;s}gD%AF1Xw$85w)i7UVV$)JB!pMbhk&|xA=3WUZ^ z4@`6%&iRx=8G1c>@FAX8np1DNgc5s_7>4-fVgvg@Dl*3yef#InvM z54}*Lbt&1`0P52JJ3V%CSB3;QpA6$8XK zzn(4GkK8f!Bq8@MZrC9BTt*5$c=^GQ;F6T-=cm;J1QTT5$G$i(HEo82mUVZz?W#}nVVfCrI0zS(#%(2`MU3@Vr zoBbEQXhBW)fC*Dgc1oq!82%5uo+7WzW6;n}6`lYW@1a9$bga(`)$a{?4WiuZh5~#6 zVMhFih;LmMUysFjKH;W4%euxd{WS4ZB=>>xmL%ejLHZl%DyH+V;a62eb?YyrcMXyr zCNwe4)JjMT70HX94ldl4W`@W37IF#Z9rIX{S)sgB$)6d=f3{D|yrH)G0&C*|Fo_9-#Er{!TrLmO|-I z#A!$GZrx_S9km6ii|H>mNOo*SNRu4WHZ(G?L>oz`jX3TYpzL`c3x6o) z9e7Gon-b;;sOxp~m+1%HHL*ngPs_LuO8ovjtEGpq11v?)A@cIOF*=dCDatVRj16S< z46|8wh{H*Kc;n2M{{6wUf(-G5Tk>8L!=(q>{Tb$q>cXxLK!J#s zG%PtE9Vbx9R(HyfM5uz}_mn}h%y>WNm2ndwv57jv%Zy79w8pv~iTR02&K~Z$I^8dH zlfaQ+%<|o@zM^e~YE<;g5-~Rl!^tH0~UZs0% zr=~7-bP2#YR(gL=Yz3cUzHxZW|JRafPmKplnswxIN;$C1t_-97Zc^he0n6w4WcLtQ z=a?^QW%51}tyW~aFXZM?az~kKbx*sy1R9X2s=e`$(lR5&ld=2ByqQiCSeMg9_P^=e zpYEH3y$tqVovmI(ZB>12CR;{u{4~9ldVIY5&~11xJ;*hkjr2yl=5ILa$Ff!WXIa=Y zZ|Dn6BG{0{Wd@rfpw=K!$%y z=E0TM2ytE;T$uX^khH%<8UeXLsl%qwYC%n)hLWrIX%)tu6tQ7Y$2Z8Cv;$BF5nxTS zms5;^QlUfM?wM^B_6rAgRMkLfN+^=A$pEl}HquH5kUaB82R<#8)$JI<+eZlJf@?Z= zLce=}bbPCLAB`?fL(p8R=HX=H1j-vjUD#r6xgMuUdos$+9(}z)L*$fH(6!g>^Aol( z3%KaH?t-nVa?0yHC3q8_$wFbUp5>%vH4h5KF-e{Rb z$13m6h6Brkm4rUUmI@<)+d;qZ*zUpq1i(IN0&hxRRXo=q7lVS_>B`xQMqU}F`)v`pELHcD)|_V} z^;r0%^!1FNM03A>9KdbPP|?6VVW%D~!|ul6GKDH*_6})ha;J;c9-;vM)DG z^iFn}{t9fr|G&ety#)?WQpuOmLVV&1x}*pVhMG7;yzwC+OeWOnV}T_*AWO+wCU307 zv2UTro2}jXQBP4%`F=k?j8MzA(dVAYAM=+D(GvybzO+QaC!T-Xc_Dy0M(_E61Hxm& zaC!dh%T;&1+;`gh{~Gw6S^#0}Ruj4kGDznHT3*JEfB!3v*iZtQDj_U6FCe7=Q!DLw zZ_rW;XnWN?Es64WdF4ISo=+KqvePo9;P%tGg9VhS$N&A0u0NIxHvBMWjRxm)H8Kvn z?^M$Ip*~>pL*#em)D7}-O5og$-{qK7IysWdsgUn-iM-#<*}){fvR~`gfI1nRxl)E&$VUNZJWq)YHpD(%W&r}zLGFdJ*b&Rp!RQ>Lb~u7 z-N=LeC?BiIUx__i#TD~E@+Bz z>g2(zPJ@yOL>5G{7M&Ne;j_D1s1Gk*9`&Iv#JNd+Z_HsCh%+>5{qb29C5wM}`xi_C z%aLs$?b|G>gt>^l|5{`9j0O5+KT(kFXNn6B-h^|B4FDJVSA~y)VNUirDNFq57 zU$8z}4z6@}{2?YKyXhtERw`=k@f}8O{ct{Y?mmN_H?y0=K-C+!ML~->U(=2v)=xJT z)DRm7@gp*RY=q-^GtkEDx5WAtgFmy~r{s&~$WVf!!VAHWyYe~cvpekv4~7a0d=%aK_i@b$SqAvL-YLyENSc%N*pttmD;0I8;Ull2%h>? z;j_DA>gt&otP|2$;IKa`B2uohVeDXIl;2mp&sy5*>$hWX3v%3uNlmK2*sV_C$E6PN zfC>~92aB%xUWPm^Hb}RcP@bGf0@o5yu0;SK;)Rp5n zfXVA*&mWr(yDikagxZjP)d5%!gFY*DfBxs%e>DJkq9_Zyw>T-kzC&mi#070=nv zJ^F+dW_}e9gq*Jqs zi=^w06t%CoxN=2+KcsWpMx{p=`=l!vCDTu;l4|LKBPJzj7xPchN@k%bNb8Mamw}FK z_QuOGUI|eSzOwPH{Buo6uC{FEWwckajDW#~8}Dv^-C4t#-lhB-t2bCp2nQPQcN}nKyX?h%%>zoYf(EAoe}809b@t%Hl6)03W9mUxse+JPWEN`DF#x# z8wR1rqbutam2c6F3xyyZLPD;Qr+&@=!G~<24fVt;KasV05O>Zc3Xa?0$Y@rC(Fz*% zUC8=aP`9CQX1{Qr9y-ga*CEt+JF};fvp4ODb5W0;ASs!(A zuVCVR2P38m#eMk0$3jN2Mcg4mq5$uoon`2Hn#oTqq>7kT)&D)sE}94#JCV*#_fbs{7Q*sy88pT9XW0vdkf^)IBxs!UofuJ|_C9BP z_OVl}L4Q41Yqv>gI?&!ynSeufETmw^r)L9)5#JQ1ZvhorxlTJ1-&w}~w$5sIs;`&1 z@r~zspaISQ8+CfPNGMLISdR%~}V2P&mZ== zN$W73?kRWcEB>;HO&w>bIQod+FFh#B+9PH;MHZdbDgjT4tmY8oHhim^4Tcg(rbhX! zwvw!1$RTLT2FbL1j{A+^g8@%o{?%{@O6t(hdi1zdV0E7s3VYJ7lm_pW%<#>)@A9tqO+<&PU) z5F;F6J;V@t%Pq;RwqeAH9n?cZIIxy!OJ>|6J+FP3&4_R~52-%jSIIRk^@~s^JY0aX z4c;fsEK{5PUiv!EiJWVX)sND6FUwcfmEkoF0{by<)gR{QdD9YvRSF(|`B+PKA^g9F zf_800E=F5u48W+CkiV(C$NJV&XFE}Wgv>N#Qri6r<1IyC3%~;6ufFUXekO`r?N0=c z`9U{603i@~(Jz-*sWhSh)tbq-_$d>dT&QnUdR0U<^Nd**FPb!p^{(^g=IxrPynRZ2 zoY^-8Y7^YVda0z z%$%Ws2K1J)OEBuldQlKGTI=DNC#iFh@}yE|E_UEyQqnNQG$Mt!b|HZ-yX3|YG}$$5 z=Gktr@)xUGud9fI!=_b0bGXxVfY_iNdoACJLcPft-PG4cuD+GcJk>-NwMd+^@>Y<%7wbut!`}4!Y z#0EkZ_ZJ^1joDIv2m8;uDfx-Uw2LH!g0$o&fB>KA67%T4U>!?33XdH2rg{7sAB`m4 zlEbK}i@m_$xMt^@8TivfrP?Hvl5k$lLc(${I6W z;!R98;D`ic$2@F9Qy>LgY=DG`C=TPHzT{f9fMxPkN0yg|tU2Az;dsC_Smgm}nVq2F z(B}{0F_>ChH(2+K>Mnaq6tu{eRPrmQWPAvXh zP8p=S>TV>(Iv3Joj;ulGdI?)l3hC^a)wH3(fZy3vff$QzpK;prE||D;A1(^4^psd$ zljm~lpkscFRyp>yywfrV4AIMTHl*8IEMyonWfNV|@m3GaI>ZU@L&uj_#DKwXyuSVP zx|!eN+{vVX`w%jNO$>DYRE@LeWGVpRxe$~!&Q2aZRaJGimascAxK45qZ);~EsbJq0Q+R7s=L#DezC zEYGw|HZ3#iHkYFooa?lol?cBeYI-@T*;cA?QGurTVQU$Y-gK&N&JW_`F81fd=6LW4 ze^jXv;KobYA;Q7Jvb9+_!YB&&_E@++Vn*$vbo&k|H``98TCL21v}vtd)QCtbY^MN9 zQH+qqZlo~mL_cmGC*ou5i6iGN9lLDQ81w)*#?#O}ePhIYY_~zsp_DjfZ)>xGnQdJ~ zY9_BZFmm>)!14uqBCd+9P9Kx~lIsgBji(>OWgwwUah-3Q5;_N{@=+AY&ikIG0>#I# z-GwUBQD{y(xXv^njINB&r(jiq{!pJyNG_$1Z?hSM+W%EJ-twZYK@$B019ek_?EQ7Q; z2$DljH*gGoCBi{#!>8X_%$b;;NwH%RRFkZADFTcRi_4zsLV6T&q)STn=FZ1kIgM zIaU6)T|F0qHV)jwuNEh$Zv(-hy*p>_K(l+FmJux#y0aqzf}L8h8l*QbXoEPK4x`(G z$V6um!OcWYmHRE-;uGFj^mo{M z*xPYAC#dauixcP?c7Cbv2n#05*SraV0p$f|W(Z#4-ao+ta9TO{zcvcEIL^=oZ!*<~ zfwKgSp<<{|1^B?vspF5T%uROXT7m<9({X+8KprcToymUfUy?f=84lwfR|G&fecBw1 z7Gm+375QLnAus>u@DrwU?1P2;W5?xJAAl0gU46yq4%0py&LzSe#f&10LQpnJsUFeB z)KjkJuwG?YT;i7a%CyztSh&=x(6^IDp<#z^;3Z2nVG!g#bvbCx)r0%IfA>AT-L+c{ zPdJ(iEk=T5&k*|cFX)zcF7}7Pze5wVXyMb}a?8Oe!5Isy@!M&;FR^|V!(Ba=GInDh z!?UJ!W#bq7Yz25iu<;Wp@WG#7nc-xN#v!xul4$Z>)Xy`TgR`a1m?9MyA#AZMBPYwy z$-M#5y&65Up&|!~KQX7+@IL>AQj6EZTON0Cox`ZI(2Tw2pFyIl_sr1#P?k+_|3qsr z(5k}Gs8y+v~oWNj28ii8G?kV}(rLSz3yD!pWBozxy`Guz9cl#NEhwcp0g zNvLujQz`d~R2U~#B}5oLYav_?eOZRM{P(LHPosj04~HUFpAariX$lKyQ`%iFtO!RJ zKwst{Bxmd=X%6)iZ`QO+RZfp|SN$0kQiVu#vT1;eOqKUG{PGnE4CsbTDQ`vap8G)_ z;HRWDr{TU;+6QKswUGyu3uIY!oaSf;AVCoUmR(Sg;^68d z&;m9bAqmWvhO_s-Dw`ODD^3^bUN5{9sRtii{Zh!-x3j+S{c=g3qV^Tci51R! z=H0Y6Pd!*xn`A;+2#~#vD)jL_mVu?;>&X)hXvMvM12ROS18 zdn&!n#ECF;3R^$d%PD61c^}b{kNYZ@X}fek>V_-bA%Ew7eg*ds(%B7>s2an47>o~w zLYn@zpRii@q(5t;EEztQ^yZWCqjhseauTQ{|B6k81O}C##ZG+Cy>kBC=5l00ZV2}0 zd8?MS_uNAtP&hy!C>>4tx>9uCuC(zse_Ni#v+lSx2Pf_O>rM}>%K))dNlP|!OX|8Y z%bF>F0%be8A@}jFXaJ?I9>uuNEVF(8MhuyX@et_x_w+k&Zbzx9lOO@A1SpsQx^^e_ z`^S6_LdKO2uzxT@AQVmSK&hRhl69Tz6X!kDzCGTwB&bl&xrAJLrD@Q^@E+vfHTma6 z+bWDu0Fl7a^Q&iL67s;8qpi;Jq%^Y~(lvlxzIX2qyu9>2t*B%C9T%PVH9w?pjWh2} zS)%@-)(n)uD3z>##I)jvzdAsuK+aRS5yDub=bNj)>5TsY#x)8Ml2|~3K>F$=&@0p+ zIcA;`E2wz4q^po}FwTS>Q+t0)^S3Xp+D*bpQ^L6y`5XjY$tUb7B8ti8+62y&Ee1d- z;~2UEYK=vk4{$n+rk z&f*-BYJz8T;Yw=5fpKS-t~BYnZ(dPKn|1omn6NZe2U1)LoCiqIW}t3+zNhtv6iIK- zA8u@LlmaJ$5)J(2gutG^oFlkm%txpGY1VrUSKiW`?>xG--c`+h^8A;?5F3cZ9oK*U z6xr7NT4c(`n4;(-m4b4D3aC^bvVV()v14uBA0Dspvy}|t9O=^#dk{~n?Qd1_dop@`0?XM z;M-TPt_~uVP6Nbuga=;eaTpo`W3}LT6&y0yBruePgAP;1#o{GFU17QB%3+sJy^N1K z==9U(gikU$KrmK`7N#BXsgncf+5E8GH(Z%wmzC^|JZW0wCQWnP`oHKxW$A@fIW6{yP_iJdNNTauc*?{VZP^`k%oD~--{b~seK2!W5@ z0-^iQ_pri#XY9hY5;&;7elA)Sj!j{MfoI|&7E)QZm83A!nlB->iD+2}q;t1W?n{s= zD%>A?a5J-t~U zl8rK4>Y2~1ru^Q2Wal%Xn#8s$+)w-5^ffG_I(IeOolP?-E zF<7&DGMPuA&$TcVg$l^nf45OzV}#$XHc9fS!r2)ghlRwyXdI33$$$%*Z#vBZ^8@)R)wUU8EhOA0+VIIj%5U`NuXl0Axmb>U-yet)x6L|;~CxQ9AhAvY~6 z1JMZfI8BV`r^>T0A^K=}Cv)eSeLn4vD3j=j+lQD^Zx-s@sSMQCVnpg#13yTsSy~us z{ZoZwAy8e9Uwrjx=>#grb{unL?mGW+Z3}fV|0D>NaVX$;*#5og=yExbE#N}j&yTn3 zK$nJ3)!uxcs6-Z#lS9$`jjXjmo^H@$y8CPVh9t9tUVz4coYq1o2e7ttf=tY_cLY%X z&`aK#cC0+=G+~$Uc>;L$w35eiO9>9Tx|{%WRGcednaOF86I{)gNPWMR*tBok$`XWT z4QK9Z=MAD~ib=vP>-MhN)pOs8B(v`a&N(az^@0~aI^SJTjh@^40VTHP;~C9KyJZsV zNWZ>+&P=*3_BLLz&i1P69idmaah{!Uje8g8LK&<|$ORjwPOph)V?e^U?JeqC6z%q4 z_;2{d+>@UgSM~_hr4wQISH2waZ(E3|ns*s9(zO;6W@=+<@BXmehubt^R#iF4EY3~(_w$|KitfQmbjLMgM1e0GGeSvE znx>Y=fRobJUIr-+6Dj98?#)@=NFo1KKK`RT zaa&j$=eD^s;?3L9IIgt!3Tj-5@6gp zu}-ri24_Yi-yAc?$%v`Sc?UX@V95On1P+$JDYOd*JCz`RrFGM)VA&_xAHm}XLYp-M z1}u8j>qx+N?+AG;JQ+?7oRPDb4%c68AHsR_$LyGlIMpgY#+gD5d&0cQ*Gv*8AL7 z^1Z2=bz#lNVukkkiK`Prj>wE8_Ti(u?;HO4sV8ccZ~TI`)-21wb|@9y{^>2|4JRDq zKKAf!){Cb$$}=qdbmO%M+qE^`@nL0ex+_94k|Z=3U9#7`!@?;PxZ!eDv1hC2!`g3~ zJeOo*%Fv!g$uK0%pu-i#4FpO<92~4lk+p%X&e=cD2ObYbNE)T(3iy0>9*( zRj9S(oOMqw#5)=9PJ=WXu@j%UCwh{2qrfWg(gDt6bn-@EPyFdCWQ zC)E{qntNT4PvE?6olGwzF4*v`3CN&z6}k)as^x$iSe6ut7nZsz0=MYI)q6dk8tzVf z$yDy-zj-)O)49saxNTW|-Om7q)GE`2mTPpJzikxg-0Z(HJ{;+QisI_qZF|z*ex4xap=#u6=Ho6J*724y- z$h=F*_vCyId4U4zZ~wcv&MY+rW~uFS?jS{lEF!P@o8r)y$`-Rax6^^THI-v!gTDRJ zJNIw%=^n0)Uyjrol~HO~v0LiqIV83p!yz3O`kttP(MoLznGYh{p?Pq@yz|p5M7G3_ zE(scUuR=12nkDgA350rtmy+he-jpH;d6o(Wqi2w)R2_Ho7&<=2?Uhpvt<+)mvAwId z%dJWNBkz)~#wb6x<9^+4VQZ)o&Mp12=hpnm1k2A3eZfEJ6K_48;h2o|-P6OgXPBc% zAw4f-_6JzG8nXg9m$4A*a#CQ<_{vU0QRtVL-F)VG-`20t;csT=%a`IJz8es6UNr7u zi7xH%D;YB}XF80HSj7f$`|bI}IxXclTPAE0@vhq2!%L5oE2x3K4b+GL(&=C1D}fp1 z=FGU9^ZSURUh?_P5BS?FBUjZ=-~&y%#|!6Bx9F0{-e4{7>^qV% zQ={X034y6EpUXyG@|&2}Idu0^8YULs56ZUd`OlPzFSnu}k%yY{V!_e{bVzkS~1^*?xVL`J?GY6nj9OL|WDn&2^0H zf)FP8=;y$;yW`rk4w}*lm$Y8@d+jr77d(yZ$3;Y=y)_O0=Nt{ZU4DpUNB5lxo{y+; zP8)XCpgS83>!c?RUhIl(e1+kpIkND?OzGspQUk3}3pOD1BVs^%8txM^AO+8DNi!C6 zi@029zp!slH&%S|a#+jO19UD#L$VKoMaq+OO}16@)GhK8nEj$i@q-ein85H`{Dm`8 z$nU|nj*0f1}>)_9G!RmjZ&d6 z*2$fs+?rnnk`;;p??W>JwdPoq<4*phhzlvguUtr!ogrbLF%#~h^YxO;C)RrQjpL#y zS;xjkJcHPS#Cn>{q+)d{{<>c2lSFLg73oP<*&9bmYPa4^E#|XoVWF5A4ZkA+YbeYdQa*cVEBbNKvoZe8 z1cH0cTB#e6%Pmq{zRvC$@>y9-EXi@nB)!Si@pB<&?zWGFnDyJ9B+O|V`t=^?n@0C? zlp3(Y)1G_%ZtYRbZu08*O8m2(#Jn?X*i}7the_i(p2{Rof5TLJug2BPvmuSEBjJYi z)Y6$2LaCWo71rXW02ElEh^s3?Ur*msVUB3D7}VVyhd#4;(51gE_U)8J7i`dQcYXPf zI*_LL55GezU>BiR$Rq#h!y95=Ug9K?SGN6iQvg2lK~@ZtW^cIk-A5CR*SfiyrH$CI z-^v`ax#%ZT;cCtG*fF)Jw+MpKj00(HHWL)5lYuS0jbzo_dWlJ(96}-PItP`Oij%e9 zgT$&e8A4<4GJR>KKlq>OD?YL@%VFm;fJmQR6wLa0z}0B^7|W72uBHACRK6M)ZQGsu zJZUJ+E2WV{55T-X?_KoYQ;SQz>-{xOl5&p|YnfoY{e{CwAMP{xhRoDWhUt9QH0(49 zbt`yC=AypxVa`Y){F&85j}OV_IrZ=8#Tl3~(BxW=BuZYfv)E$;LWfB-SzGo5KC;p% zR8b?um4sQHoA!%JC0KEz1=J2x`ug0dG9J?>nZEkZ&;cr>hZN#dZQrxmGvoHv%HE&= zfFoY=-;euye*4O_v?OZ+WS`{_+Km6YyjHmwwHcDPw%h`51Fubll5K1I8e<>6F)cOV zVZ_YUDgGzneh(e3) z-1(sRUmJZT&+cW_x?PULNQCZhu-lQDo?6H>YXfC5 z`P*eALtO(fd`-qw*6-{`2CIOx-TeG1N+DC$F5Y~xbSAR-(dhQaX1sdLJH1D#9mGH)M8=(?u$*2b?b5(6;Yv3*wAU`j+Q`wf(a&mo~YY1c~& zgRmtxt}?+CnKX*i-+YGd1 z$i#{GT9O5>>l(hQ;=Rd;k~q6!$#fDBn4E{3Tk1&g4X%lg>iNf{4p=rNxWZq*jg;WC z_X$wCi3OqC8Kf9CS~p+GTx;wsezj-s3x+jsQ|s5i$OFIEy9sV-TVBk6=TLldCcW7# z&uZbUEaieYJI}x2lq8plWzTp7{F#UU$e{Oc)$qbI6o9~x%Fvfu=YMAitjr8vbI*v3 z+$A2tx_S$>RMfIXCxjU*?ut{mJ!B|XF8tRjWlkb`(~%-zRBj&_MF}s$!Hx;n7qV;M zLwEvCu#Q-XA2w2eOeikeBd(T($TV=PJC^IXvU0;W`{HBRtg$?|jrJ<<^%CNcRmUlYeggGyJ&2#gdm$(e&G;lhN*5X(!Ri zUzA+xb@yggRcIW=35ITdQmGn#WaL z0y{O|yZD@GYvZFLX;=Am(iAw)x4%t0iI&9z82S}QT-K@NJP$vRZgq3-TIm9A5O12J zyeCAW>_OL7(~?5q7LGy|&7;qyWMsMY%12j*j*vx9jnvz%KK}vzU3uor3Y(xqim3i8adMIOXg2-*#mUFTK=EXd;d8 zLwsUKVhY+Me)Z?S$ozkp`pU4V!{+Oykyg4vM7l#71d(o*jzvUDx_fDrM!Iuhm+po| z1eC4?>2B%ncYXf#eu7V27xz8CxzC(AbH>f-Z%j9v%oD3lM3&Z_q$l!YiV_Y;-3w>a z<3Tq?hCdZl23)+~a%8qr49hZG>hw-u42_vuJau$LmUhBd7tmJs&ceUOy_@0#zq4}l zCrPhHBivJ}*%9rfy<-h~KcX2d^im3&UHgYdKDL37@BH4z??^Ysy(TOJ*cce9%V&)< zrH0a7oOAVk(G|SQgP%67_DA>qGeL}UX1TMY^2+?ZtB&Z0QtClOF;q^i)ketKy%)%J zcyZK^UX2-!PLBov{$ZpT5c)jhrZNg$NiJFQeV^TXmUWun8S!F57e~nq*t#b1?NYqU zX>8QeH;3QmP&>R9lr8H6{1mPOYIk2C2e7RZ!b}aD;}F1t_whe5O4gri{&T2Bb-sX96LXK!BP>ci6#S;HXC34CQX-YsvPd0_-=27 z&qL-!)Z1WS-kMOw>ML=%idF`7P4mp`iP_pZr@&-B2(8Ac=wks zO<>gq21U=Qkf1r49|D=Wa?r$NT_j;1-+O^*?|JSf^{#H^&<ARH@Fide!_tWq&EF!Y^3?k2rh z@#09O`b>Cw1r|hRa%hzzZ3IN1lQQqc9|Xnk*HF<*Z5C@6u$AUY(*XW(;(0S8*6#6q znqP@zC-B})seMjy6w?N}hqsrkGbL>e6}aM!`3=ZlQN`*)*up0W8tIvL2Rue3FT=!8 zEmsq%DmS`49iHC*zG$2vp%}$ME~}aSwB0GdMX2JTe(SxW3>oqPrAtcpoe4G8#+jg? zL6~MLZ7XjO`}thLP452z~iw*>(@y_-BNRYx0VA7cKomlWYhJ;J;++@XmGbX$Nj zsikP>qHkWp5x&Wx3#Rpn~Bb(H{I=`9)ts;j`Bt;2!~Go>RDJ943i*VKFYsb1NW z0*;tQ8mYNbJ9Fos#|2({AHbS(cw~Bi$|k7?ph|fR*DsU2xQ%bVy+JML{{H$3bhao> zm$$c|{%#3P_wCf5!52afF$2GRwZ;L z^&`g(e>uNbk-wz&GLx|*(k+Lt+O4Qq>8RwJ>pAyt=Gd^!3XYLxYx5)LL9#3tr_ROa z^sJvNoK5z2PlX=G9@vpMc`9jUY{A}Cr}qYtVMV%&|3i;);+0||e1dRqmZ)1h+mkA7 zV9l@hWoJwKuN>O%D=Zcz2C~S2XMRV?Qr~}-i9HU1T&PCS^W7aw;hs9s4ke-ya(6OHazI2! zc7upoMywG?2<(hxQ?zmwWrP%OyXTd1Dr}Z`zO(@pPUy)^Xw*uNjT(ojTNOvAZx|cW z%h=Ft(PgxE-JycNIfnW#8ddA&O`++o?ADo&p|#ZufQ*b%-&XZb zUQ^I$?A%nt6tO(=X4bEjZwXFa)xk|t!xL{W_3}~EyI-D50&zHrZr$2tA;SCf_`Hb7 zJajF@6Hbcc-p&AqK?Y_qN(xSz*|cgFd}A%wh+`FA{{b_g3*27J-;w!ue-Hou$8K(FiGfeyv)F~EE4p^;``$;c@t z!VcG9ElSBf(Y1V5Y7(4?5xAuXJ8yQ|HW}Fveu>P{hn(@%mNFs-`a4=QNYAeD^gQAO zApyz0A4&B%yQ8aDKeDNOi_9QNvy!@kR>E-~JizG~jFH3(xcf;RYm9isY)h3FMkQ>5 z1yDhLsK~xeWK*M7Q0<~d-Ky7^y41FaF3t9g{J4KsGV@HTlKE?gr+tp-UbXQd)~a~OX9_1p2l}LofMZ|i#`;h?ZU0?EIk|e+_U_>MpuH$& zeebbgM|lr=snPyzyND&_p!o)JkG*gTR-X%T36Tbf|1Rh}<8GuzY8s>8ai@U0a%}~CB+N7=CE{JI%`$eShP%h1OtyYAeqD#20iz=k z#Q1x$sAJG|BM5U!@6xR_G|Q7OW_#$8V6fUbrf+N|cSAeeFwVb%N=%&CP;^90;>N3E zx!=a|JPX^S%(s>U7aB~r*p{DzlbU5OT>wC}tHieX6;`|GIgh7Hr?wnF_16B%1J2A; z!?cuSNIvz{34+Fb8z3-G$+!}^NzYv_M`Z+diTClrHd0xYLu1bt>;-i7Y<~jNj~~h4fG8o4E`dV%y zr2p9<)#itox_DJWoLfM0_m}KIFq0dmfda%B+A%@o{+iy!s4GM`p5uX2vE-nj)39-< z#qYDbESsUj;w#O6&sO^{C9GDZimymIPVDFuHJfqDdE9k$2qb#TZfjG1E{R-d`i!?& z_6nYasasn`H@8RheMD}8gw;dPb*PmDAIbUQYs$dg1$tb?kn*ZS0ni-aYvjlDsVkVc zl?{^(EdR!9le$F;-;KBxF^sFifil6B8wc2(EiCr?h+0tR<0EXjl{XogjuSCeHbPE= zID^Y+HDZadd$M%=k-iE*D`Xw#WdVt0abQBKPRC1j0W?qJES`;`s*yU*8}l<#2_8DO z3LaHkmw5!E*}rD!nMNC0uF46~xq@P0iIPFD3Xc7Q`hpfEEfS4#)rtEtP$iGi1JzM{ z-yai4sW+tdsN^Oxw%7*P&EE)6f?wxFdpe^E_tctW2}U(N^Y%FYYjcF!+Gl}vVf)1z z9MB1e-WP6OzpH=D8o?&V8kZe+^)(hVYd05~$8;ZiQF&fi@J?0_k(BatHO-=ni2aI) z+!SvRK8Z?|Ui5X+zGX-ZxrnTX|A}*QAZt@}ORn6GG)KIGknlYd^ZC4Hd-7wF`F85p zGwK)a)2*d=t7*{F@O2i8tZAL`_?&q9U!pmMr?+Z1M4-y*F6od7x@tS}Q=C9nlMBO5 zX2#VOicwtq_~fW0SKDjRR|u$e;UBZ zZ19);b++{qPD}Xkyy(aXz!TGkN>&Jy)ZAG1eC+ict;7DElEkYgwG_k+P)=Q4<5Ty9 z;47d>_NQ>H@t<4V^4Q2^@IZP@22t^j>?X=t2t z1#s+_a%A?l*1up_^p-30%dcAgomi5TDawLcZ0L2D|$5^S!&B;-@oK)#zkg7R!e|rX>76_>hse1M$Chs!`*h@K*Gnolg)eL_i z3GDy2@0GK00JV`?zP}Yw(~kYs3LJYh`JC*}Eu)Y0C}*qEs3fW?kBmrQ{%kO+^?v7r zTI8(X%;nd+HVrh5-@GwmL4$rfvQHB&^IQ6XIb=s=Y^Eu2+QS?zpDv4y#$gD&8Tjv$ zZgcOnZ%}qF-6)B;++kbzl79YU9ry zb31Zst4OsbqeJ~IPIyZ-7?X_w)at=T`!fnZO;~ZQcJ}p{E;v4-3M&joZF}$Q6|6v` zi&|tKRM&eDXfu{ArAP=3%f!G=3&q&|41ktfO?3zT&3AKDXF+<@F`&=%xQ%+q5u(Rn zDAXiXGhV#S#-&DXMaDGPt8_TL90><@wicG5m8(~6m6+7U1`xO%MSs89VV4_M-p-AD z{f+tfJH{yAv!2!vs|jBKRp=O0bvJ+Yh)$E;!Y~)b{}VWy?;ej4uFR`Tmi6o!-4_S^ zsdOaKA44X&38qB)hn$^OKe)y5>0C%JLjYrdW327Kyd=*$OTCNZ=9~nu+O#!epDBSG zR;wx%;1180;@?r{yOpz$21%oqxvxvu#DK~otEPA|IvK>?`*Ui@uY0Ug$gdh2)~t=X zN_2>5vPMk<)FQ(MjO2gXe+xhN6z+|+oSu!rYBs_XV-ChDPAx=~>C(T^3|bJAIOiO( zCOc3^nQVg)b~$BRHT_i$h9DEMt&T~=9!`RL8jo{-bL)hdK5r^i?6PsS zEcQ7Tzeq%M=kb}_A*=ZZjkcVpUoY^lOh)!@>$!)C=!JMUBNOf>QgPIK<8-yCS7!j*a&K zf$w>BH3c&S>LdWnPW&(0MdjPhr(9(BN+)p)57B)`Orp&bT_&euNjbIOPIyp7VXRE@ zaAXIM?hMR6A%};r)|TT|N_L9qE_%%{W{zg%roG#CtlIsle);13VjuHOOf7zp8TT}k z-J$!OidB6Z@BMnCA|OCwMB(J4Danzw3$5*ySK0n`%NHEebc$fV zg^^ut5n?WYAu4RHx0(^~Qo!zKPS^{P{8SKX5#EfO|DxGht*^AeI$hgl`FHuA=jF8_ z`z^75NHJAH>4wQ-G1EL7>YHOUc zubKz2=t=3Qj_F0ubWFYBR5JDw%T6eYn}A0OMstEZs|g#V4N%5uNawmCgk5tXRHv~R z#je_j_Dh9c16MgyiA9!rsqh=4Y9lS?xpWO`^Hpp>cAN;}lGcsV!u?M61`1AP9%&e~EQZfPe!% z@ZS0LDY7)Angk7rc{|d`DGo9L5Uj3QIFnjzd9k%nW%6Uh?W5MOYL7ME*IkYW3cI$S z8OZ^b9l5xhfPUD%(PEhwEV7VJDSxt`?c-Y*}aKoblUuWj+4Ule@sV$|oD{ z(nBs}bK$Gi%r~J8_b-01x5%5)7|$Qbt5rc8TWju=UBbZ2RyWqNhyp=mKFyu^jmIxp zVqq?xgi>PRc zdO#4%Zf~ab^=byv;nnC~!b& zQW25j_<;?n-JmhiAXG)9&C`)KE@iL1S6LC4wo8j3(8P}7QriWQx1D%a_HH&=>409c zF~Gfk<3x8-Or(pSSA2E1^AINw4hi2I(y>0eFb|-g`=;k1^)uPTFb!ssc<>ad%9S;L zlgj1De0;J>%G4&j39ubCZ)h?1hc0K&nIo52*Az+-%Kfz-f`qXbiLq=S!*P~REWUK? ze@uVhv>vKX#hh^WILwKMT;F0ldX(TudiO{3K0ie0cSbAfWO};|#@-F|^%8OJ$|wL* zWn}Fjm?{pK{0`_HJU^v9P7{~(Ra5C1*Jifb;VM%h%#EAg4^^rqN-i$td`~<$B1pm< zcw6MA5M0pj?ZPc0<|p6B^#>jZ)^bWNzbwuwpVubRJz0qBeC|;9gw$N|R+8>4-ePG{ z%c&6`-OP-tRW`FzYpDvw9f#s=N}pVU#bfnLJy6PDGp3Y>gMc@EKCGi6RVb&DXqsvO zj*~zuXc42X$utaVMXE3xGqO8emlZ*&r7LwFUd5>Hi`MWUd(Wh6y!%b0(E>H$*aVMfl0BWKY+&DK z0tkQ2i18C{yqze%qLmdp?!=u6+JyUMF=$tQaCZuzT6UxPR*WYqt^$<_1;V}>OgU-l ztJoRT{jI?rRn_a~_DR5;G}il>XVGpM^}&Zc_`g$)gB!-m!{6<=&G2(}`HE1XjDhfv zoaYn{+u6It?+(Jn^68V9SafOS&^$yP@%VZmgly+DQMHQ zVx={jW!R~eqn_h<1X)-9Zl>NpIX~g-Db4kF3}ijRe)S{IZ(WFaq-U}Lka(Bs9~E(I zU5GFL)bwDOdAFH5+EzE$_3N4A5b3K;G?qt>%a8&CsO?Uw{U*GYCV8e#`78-1e#uV& zw?R~B!Wv}gt;#d>VdjkfOMI1KDyDpfKshyUc6Su;A?2F(I<+jdZ`+UM05!ABUzgnc zDiv};B$z!cSy4sT*0W&jHW<2NhXRE`dDRqsah?wwm+y)~02Bp2@`@Ba!*2&%|ANrv zG2UPNuS#i?DDbGkIMY!(QbzMd!IQ0t875QC+y+-CN|_fNC>sO$FS_OpT2>r zqk(<1yExd6j}vj(+is94-}bL4%OzE|MoLCX|DlKpj!d|=hbm7Lj_8twZTy_vB!{6d z>QmtTcWG7E*rJr1?-QsP97Tx5wB?|^R>z0+(&5jjPA$oD-~-Yk}(UU@5S~0gEDmTT1daZ*+~s-+}M&*btaV| z1@*Ld$X@AZb9A5vEuAXJ4h%amSXAIm4v;mI2MHOJNSNh+gKG+ zrKWlEZcI8dSLsss?ir#HGZnIS5MSTFHM#*>FOA=h3sN9(lWm7CQvLsMVJIL1#jA~- zlk5_1T`oxdXN@LZe|<=UkFpJ{x=NQiJ!lpDX&m@Z3WR9pd7aVA%jh1|jJ?)j-Tqo4 zTMi`T>xY#CuQ2R^hR_c+ROLVf_d1%+GZRuGwP1uB*w7HU!93^nUlxt7boU47jqX{z z(40EAl?l3P>iFS&fFj}cDYrwhkyNq+A4XpZQr4Au+{&B{GCcYG1xMt$MSdg%5C4qT zEyByLIosUJl#ymQ5Z#8I0-X6p?49+eC$)bw<8XIj9>Hldd26rH>n3hehQ%)!n=1al z6sPqzO-2cfN>e9fFvtjN=&UXbP$$;-UytHA5VglxOpZKNeiL$)>>@VWSJJcfe%F_4@#O;Iu^v& zVq>*b7A8d*Xjj=Oiu+M=V2}hMz$OD@ytu2OlMJ*W5}8~3RQU<3TkG;-k~^U><0eXO z7TG`l*MsF}A8Wgbvn?D~#61uUKXtV$>;qj$@U+Gq&^jvw!?sZhCk5|=d{t<)6(S!R z;@VH~Tz&v_N2`x00rqn*JpiqHgoUPx)N3j?)l-L|$-!(2upPWoy`+9&;g)|F@E4Vt z7Sv$A-qMEmg8ypQ2~`aN=uf9hAh=v6q2RzkR}p$;{gtz`x^hTT;;}+S1z*}UZgXSE zYixBnjGUqwJYCphI)B*jbgbm*ubf*LN1NiqGAFh$xJ>I@lKwvLPjXmE?at3r_Zgm5 z8aO`wJh{YT>p+Y6R?M&m8SlY6r+^M)^=Z7QCz>(WGL%}ygsmrYa^(6*UPRQh!2ZWa zV;%3M%fCERg%jFT@nj|T4y#PBWyaJw)d;g~xT@($8M4FWcW5G}o9vgyNoXX8-Dxar z9ufzQ77C*NRBFAotJyD0de@})*mY|ffXHWO8%Fw>n z5y~?vq5onvN%T+7@NPQ6Is-82v60`h?mVr8G~Y#2^?NBP7-_alJDm`VsD_i+G$SRc zx5``J26u^$=%1#GU#P-$=~-IN&+1>-)So)*_J9#zrUoeu;NkUj#prS-;G$k?vaY6H zE_2iyl4dwn(6;_No)vPLU%W$sFb3WG2_<@8msFS)ZQGbPnIEY{fN)3&RbvpqyVVMj zcem8uXX4d8VGB;tVLO~ZI~spbYx6XRnxg&9+Yz>=@s&tJ&TV> zs-?To3D+ic2U+=Mv0HLD3dxUE^bwSZhTqXAD_@eScf zj0^fFIWCYndY=b#nmOUAKPsI>(*&00KPjNV`fqG(J{D&%MoSqKYhn204aC}!N5$Xr zIu)~5`wCkX&uLH*Y9}YvKmUlRWPjJ7jzPPJ?5t0WB{%kwP%!-)0Z14_(7X;VMlIei zkSq_4*XM4-w`uKm|IP7%PY3jw=#!n~`d34aaNBBSF1$$xL((EoYncYm;m>h<$P&S*Ll0jq9j;9UaWr->b;m+#_UIMTt)*2J zesenYkCWCF#Cl9|i@FPgBJ2ZGHvV@;~uA>!z&VdE&P| zRN=KA64tlQF8)bp?sPLUL`l0 zb}S4)GNcK|ttJpvx92gW4z>3B%-S-~*L5r#73N!}J3aWq0~}`reU^y@8~3F36&wNY z*-X_1ASu~yCx+nSDHTUaGg^}@lu5D65 zopE$=ynHVtGfj2w&ksq zVYROj{_(XhJL)7DxQ1GsfA>t*(U_0ECJp_3p_TI{_a|$N*fpMBi3&=|a=O{A*LZqy zW#tOlQ+NcX!Wo3!aFpfdN)@R4}%iTmOX&kP{+Q|?#RaR6Zqp|cS#QhjeDI3%?WapoDuiXEA*$IJ+# z6oIvXG_s=syL@KuI2>y`qm%^6 zPj@d`u7@lFd7IG$AZ^?!;(t<}^CIdVm?iQ?cbPzNsghf3@}({shNMX+O*2}q@LO8u z?8>QH8GB#qGm@(VhstGx2JjSN#kO!916$9_8XV+P*{zV#ZpOzzN|B5KRrh;9wCg5# zwA4>}`X6>0e-Z4%_Zp2Xq~gU_Hn2e^bO`*X4hUQG;wdKJFqZKN6=~>TohYhXxcc}^6{yWnnZluw4?_cbV(N12 z3s5#v@pi!VMT3j&h8zdU`xroGQQ9?si`^+^wwuz-e7HD2;Y_I@hZAP;Y)$=0v;Ru^ z5b0Ijv*<`|0(K*)jVO`JbVjgLS`A17W(5rr)HmhS$2I+a$azch2)=mB@UHqJTl{%W zRb9bJrPtua_*;L=lu{5vWhm%cc8V1d|9}CWJQ{vzEJN4$XgW9IW8+omyUhf%l|J*9#--4`n7=w&cfmS#!j&9p^CZdETOBTQ{T;A&KL>F zsmcjWzxcz}#&>lRm+`k;B|Yw0zC*_4r+)k5e3!m1=RXmsicI@jZzrPnldMF+^=@Qu za#u?7_#b)QD39jl-3g8smPdsH7NzhNj~r+i)YREybz8S5ZSm6}i0Xf{5XdoOjo>AG zTMnS)l&$6~ndGZtth;Q`-bvF-Twt&+{!MDQ-TA$BuDiI5UL|KPa&5MZ2Rz&AmF~wF zs_w~;QoxCeJ5eAajW$~#PfYBguV)E4MzI1^20_JWsE;$6aIKGdCM=qtW(mh@3POpp zcFB^e$4DqTP(z9bKZ!Sa3;1*x>qQ|GLm6x_Zkgh!AOf_+<*Oexe^qMa6JANoD@KT` z6|6n1Cibzk0|1p_qxU~eDQXJp;0@(7*;~XD0gCIGl@#bmtSl@kScoQ>(to95pkeUe z3gVIo(r(=h!sz^I#}NtuegyYUK)6@?y061}GB*hH)i;-T5j7u=}*#VWC%z8d!HG7+HAr6U4gy zWE=tS5-EKS|IhhD;MgQPi^nB5)*U$yzM45KFQnJw4v008Pae&r0@NG26U@$}2T2%f zdajsRPg-!zFgULHgd$s8Sn)hqC$V<;%t#jhg7B;~HgD%QH>M6TTc5{I@GeHH|1(a+ ziO}-YKq&*}!%JG&LvGHfZqLM6xnZ(U0Fb4#jv9{$R)v57IcY_ zD++g=ZL5V{G`kbh)>^p(=;#X$ZG4Ut(%qhA)`b?Olow?>$qFUduRKP{176ud-J~C7 z-5-})N#Mj0>sR+q_kD-et;VPL+wC4uPTb-XjpIELZ0^$!g-0bZ2+cg*LnG7o-P(qH zm>^#V7Tj>hpKy1qo2)*8gV6bJslbMEH4hUp{>Lo2(ld>IG)}e1-GhyBukso(AckVE z$O&B{I{`y>Z@ucRw{fPJUu)m>TZYnznXZPYRQ*)`;_lvZ4YUa?Zcc_`L5vZwZ7@ya zzbHrM{V@QB@0&hep?X}BfnG9L=ujy8zU~dm+9Vj7J#<+V>$mYD#yprw%d-vG8^c4tgg+>L6C{}eq)(l8I)qz)8U z8hs*y(ePhLwk^|QmhOdqr7InY-qrxNdV2>^LD&x?@AfTqWe{%lZRi@fTsnsR zoy8S87YtQPl&TeGW$#M_L31|YDjT^-3QXjjFVt4+WoQ8NPuK^br#NkS!%Y~((hN5$ z9hFH-X1aKgGPVmlEm{0yb$wPuv5YO&WLQ>$yvcxvI=w1`ZA3)6rPPm&vdh3U$wAa& zD!aIF!$VYp1`SfbpX27aJ{|i+e{j`ffDw8~C*D6)-~+svp*I)Z>?Wf@n{TGynfqOZ z+f4-hUMNOQAzYCTd*U;L>(YrVf4NabAQl+};nmdv&IHsU!JC2YfY&J-M-x%~WaAz5 zkzs{P$A>Wkvs^Ir{U%;%ta4|Dr!dIqyGfx&7F^q^0lTV?Z-l|Ts7LW>-XFpQ9Jv(0 zh+s#m0S;eAe5owyd4!=%*2@+%*v`~Oi`TSOZwinOHp+9P#ksQ`_k=Px()SI%&^(LB zNg8=MrFj?GnIQEu>?>}L$yKybz6ge$f%0oWg4BzKl^LwX>~_I=LU`V9Uhc9M$*Nf5 zXK7L)sTZ{}Z6Ii%{;B>%PU+b>W-mOcu-X1-W7*2vRR4bDPz*5H1JE%{={sv7j>?Ky zzavnlVK=jDnYew}adrKeQp|)>MCB+QC%h!V`R|PkR~>W_%LqDWJ$tBpa_&smCDX9}fc(20bOF z;IpN{t_>knVx-0;@97J_acV_vt8qDG8_g&4r5Rn5v;KmfgK#?&928<)D&#Yr5Qi+53=Fv{^f zz^fpAW!j7<3(H3izGO7%YTCZekC+?n$4y+i@X%BLoEpJ0BRTA&f^`E>=fO;?{S0@% zUViII3)emKS&Hi-c(QB<>|!0q^|_$v8m3RX#ExiJClz{o9jJ#CdsnWGH1wcNs+TK~ z^Vx2j_*e5LBX-?W#IXekQC0O5mr-*A&W{{J22YgwL%l_LVS*OMRHf6{DnP8Q?7(Wd z?C779XK@4HbbI!y!ql5FV&Uok3KY5A;oeqzvb zwB&za2L$e|#ZaqWT+ja;|G>}#Yi;$hgpiPT>Zx74u}PY0uj)p}y0H~%Do7(MUJUvr zO+>C3x83=_pkdF{O()B&gcAo0Rz`yJ@3NMw#CP%sj+G4|n~9M(n-ytLRNo zRS^kf(PPz|S-~BOk>ih}l_hdM&swmxe~#4u2Y>38fI;1yfBIX?c7~2_JUztK;JU>O zyX`8*3&AXix!-NVdHn^O;5Hc5iSUsYA#1gq$?_0}thKp7%s6H{$(#V>B6@|B z!#Q&7YRFPcjFZCkH zll%)Dq3v{JtH0Z{18_yBa#k4Xc%)MOIhIRi?j`ODK=Bz16~pFV922NtC&Sxz(3L+M z@N@Qm0}XE^`&a_8fT@?}z7KOs{UvtME`I;MiyFNe5_#A3jgUCkFW>0mOt>nQ_A~#=JyL^22?)A}Bso@u9 zsEjR#-p8d3T{l-8gW*qxatA{6yUGl^73RZ7Hc0v<4CmEZDkkWbf)Z-M1sagtuTZpJZ!jUC4b%eH#IGTjxTJTAV%&X)Rg_?a zq$rWyy8mMJB6RY+dUChtd0%GQ4TfFf0T9L|sJd|nmWNZ`rCqt=K>8rnIf=h{m$6p{ z1^jcYHR_v|dT4MX!y>81-KZYY{ziQ$ya)}_6}T3+P_rI-_~$Fi(M5Qjvg1hvo8wVc zgi_K#9*H6sxY+L8Y4`}li(Gfq@uBxDeP9i8M6cqNwdbKa*iVv%jf4G)6BIa{oND>3 zA;{GrH6^5Iu*%WHX`w1bX=%53PS#0jpn497fZn(+M;?l=26E(;&i%ZM|9}CFevOJzw^6cOPxHvtUy=a}2bm1@AWHXU)VfW?x^^ z$Wi}pDimZ_p!x+Z%u|mz;{BQLINPMsv$o0rtxevvnd31b<5Zl5ku%9mFgYp6{hcpm zX{-8>txj#PBi;Vk{Z*(vrw%y_{2ws(50hCUIZ|J+-9#f}LEqOo;SBEN79Bz~9jkm8 zV)9<|$>veFV*?)mv~XOhGPI~P!%-Cjv9J1$-n)Ec%%gv0W-fGwT=xPkNlWTV%&f^n zRP<6^{1!*(P%a%@Pvx^FP$5E!aa{75h`45-eA!mS^->cv!SDa7?&pPtLu7m~xP2~t zo1Po&>77*v*sUQA&EwrKx@4mF2GYQ zl3fGMwx5kXn7@h}RtaZC%uqA@(^>u(6Z#L&+F(S~sZ07e!+WNPv2GWMsfSzZb7m}E zQ75N)#%l5=_a$Aw#ohMR7_EqKt;bFB5u}vXDpzb6*~)lzxxxHaS@@4wJ>{+zPnHSD z1rMXHsyD~k;ujVBzg77oU;M(!@yi?u9Bf`r%g*6mNibNBm@owyXZuoe^fGd21;oge)m-zNW$<6tZ-I9&UsSh$uxf7o<)2tf2}2&xshaUp{=0@x^&SIvZFLINspXTXmQvVaGSRbWtDu^3;i`ccX}C>KY9P-V|H*$9TpTv+=kVjB1LS7 zb0Aj=?VV)h>iu(7N$L8k?2ow?UCfztixXUT3nM{esnQW%ZH-R{$6q<+fjA$%#(taV zqzO6%Yd7~I4OV_vfWbWx4*tJ7G9wSlh_TYhLMK$73VI&ao+S52>_h?vhOI<8wwMoI z5COBR5-_P~@?ggMTWk8LYKJ#Qc05rTsFui$xE2GWywTb&JTJ&!B_k{WkdR`Q<0GuJ zz>+w{4GH&NoXN$|nIrK7caC4?QCNDA3URqwL00_ziB(G=!EYX1Ri~)nT~e*e&@5}J zG`ouTT}K=tkYpJsWE|UBcU2ei?ghiaL{?Quoy-Kv`vUCv&I_F7wR?|=9W;lzh*8O7 zE~Jp~zf#_R|3CuG?{sM?t;ZdMkI@8J0HB`yS7tk!+=4zqGveF+?C3Lh-HDXa5LkGn zv(IfiS<@$lNWWXNi_Z~Wm|BrDr6%7P&(age@@z#LK0kZ}%8Xgy(+i}xQDRhL;w+g_ zk$emaO(n|MLoL;giyIJBKKh^tTUWLIbAK{ZI-}z#oKldH>fT3_Kq_3?DJ@gVV{G5t zF^vR4R}E8UWI`ByX2FT@bKpQec?VdA9w#T~Cl&}s_&Olo@6u)Zw{l{x8ww}B8gck( ztEB9&LE)5m=BuMNau?Ss+{Eqk?pYg2Gf)M0Fx(oUkh)^ z!bejM4s^wB&X00W}T5dTV=c`bzcm0+D{gp4TtRD?wr%<;;+e6--PBRktmV-$vM++z4M0!V6v6p z@dQTpM&G=K{1w6`1nqkF=L7knA&=ti%FOGBqaWxtbQsF0I;2OW?V!920#sx;Wk|{9 zPY>>UahGW~05>+*Je6NSETC)MJdDVxFkZ(g`1v74+Tj<1S0LESrBt!Q`z}SUpW}Lc zv$)Zinqryc(ji5Zk7V(8ORO2ov^@+^RS&FZ<#egGxPBr|`v-3YhhkvIz7c4=NK zB9GFvSuTUZU#{x3eM$DhE8p2OZO_n#X27JysjP6~Z+p4c=MP`=gdgIv=bWY)A6T ztnbX;G%InOlg@j zI(M0V7OyPOxP8cD-j(nl2fY7%5|L>=9?2#PCKLoFEES)$mzL}#c!QPW-er6B-Z;yg z#6O})4f)gTP;JRe=0gGO%>-0W8Ppfa{U6n}2k;kzW-fV>l|^i)t(KKa+<@b|r!JA5 z;-_xyqz(=8I-nmM3aPo)d#f&H@CPPU7~8pvcgB_BMqK<7vg3HWl$!+Uo+K^Z;;5~@nC=PC3j5F&P!_i(j|?`i7`eHD7fU5mZt~u zb$1@4Jv@rE`n2HQH>wdp0rE9`WI%<)C0DZozX^}n3X`3j>G#OaX!kuvV-UkM2ekkj!Uk0 z6z8ZevZUsXx`z#?w<@&gpDI;VVQ$}_70vlW5D%|85gY%s85qZI7KGazrPZl71Uy)u z`LhshZ8uK|tQnXYv&BU|M`IV`89$z8;}XcKwJKETOT2TD;Niq?eqo6|>Ttt!X6RR< z`z0#7PVlP^eX)0o&>O`~A(C9in-*jI#4TW*0n$G{d*gwR0iZ6`StkwWtUr8 zVP;eiCC|RLArPXVSNe=GH=;PCh*<`TRe}ofujr(DV+Xor!U=MDR1|;WrzhkyOjh4q zuy%8d0+&@}?bpcpm#X(%V~J>Gm+kRqMhYr^`e%jof3XE;{r3&xob1)uA0+->PEdJ52yiw-i8WiqGMWV2D6oC4+EL1yT;=vv zP;=wW!>g|YIWdbfrIrtK?vyP8rr(=F8Ly)BG`$U{pg2?Ue)uY6uX=B%Dln1NZ8DBR zqZ&lUja8HPLf$3ed@=|-NUit}SgS)$}YE6vQ$GGjHM~r;fdH8WqWJ#4ESLFsfV&dMv zHs&zyC*S(4@_*RsKgR|?{-+Z*E9BD{Z(Ca?F)EB$z29SfhCXKN?Eh*&oNHZUfC>pf z`)fW*N=FOXaeys6G}`=jOEx1e6lP1FG|=NSIQD_AAsGF`@Na z==OwTw|2w=n(};)ex;QX>{WM$?pdPLJ>r}jX+V-;7W~&eM<*Gyxtj$$-|+7 zqO;foe@DM3HT}Rq&j2+GM3;e8V<$pV%Nn?u$&vBYN(^c>6P4$NYa1pvx~Wg5XS%=U z@!8rdX4!6f^4TWy7x}jBC}2P}h}_cj|HqOH?Z3XR0v~lY@aThK;l%!PK_ZD{Qadno z6-|dKq=fPD9zR~!t&q-IT^IjA-z1a0rLu*~@#2!;>Mt6#Q={C{kH zbySpZ(Du?Hp$I75ok}m=olA#+ND7E_rvi$wbSzyVPer`JVaBAU(S)1Mh8!bWv%Eymop zJn96V%A$1X1hB5--2l3sc4PtK#(S24iXWYBK-?LpFUwY*7h5o{*OPW)UaAc=&A&-r zP*jz7ggN}iZD$Cly~1~&me$NfrwgyV5uw(^D%QlZQ?Y(V6G$`-Sf#r_>`6@JnpaIK zTQDl{E)%;o=Juo`?kqii-6rOZ?cr-4DM$$9GTK_D{8~Es56pNKT|#WX9w6uZkGW!= zah+4`yYbb|zL}J4!rR%#SIfR5%#f&Z*MHV- z&i)vp{#Qi)A2bhn^3eY+S0iw*(WZLG_%6D1L<-eJL2o-&r}Wr_@*EdC*+Ho+yuleH(TMS# zhX-7dT}>HWA|svhxF)*+*kTJ0B`G^-Jh|1W_dr7avc}3T)*ZJ{Ij<|i8)x?Pv@c`?`~v2>CnJ&^YBx?jOKS;0gz9kEWdgRZ)cuD1U5@IK<+fY72eADsh{a?fEs z_V|XYyrAu6q&1R5YDFO1mW;!vOGg9{H+txo`rn%k(205nAXG&MTs_@tpWG;4M(j;A z`}6IH6UYJxf}ly8Fp4x<*1Vv*9Ur@Uinl8%^d?Z33Anb+)HRXJ&n-S}NU2fcQcHhD zu9^yK`#`V)j^PF+cp8qK28@>LPsAJg-vAHSrO?8D}S2 z&>eeiU2eNKu^{O$(vbkXj1%D!_vkPon?h;$Buf@b(pCPxUopVYDv38OW8-6&hLm$H z`W=K8L021AF*GW_??|YlO|1NBJ)gu{nBWoLThV{Z$Q!V7p4Pzc=?fM8cn#dLh$@7S z1WHSt|L79lUZewQc{fqNn&S&h_*n1 z`TMSMUdhsBjHn~zrMBil9GmpiU7%C>UmH$44-Rf8uZ~9ZRo^nNXw;I~bC7z9HUapp zeabhOYGp$s8*dizV@^O;A~_i85J0S;@9@(t^;-Ev#^M*0uT92x@%$(he&pI5fKt`$ zHF2&oaB~)`0pN_I|7|=?jO4rbQ6|{fyBPz~#a4FLD6jUsl~gDrfeHmm(R@dDs0btn zi~;lo0qqoYeBbBWx@tfB_`BJ@E9K6Ap_GJKxZ*Ms2sH$7N9yGKNE0Vzb#v7NO4Z5J zD;Z`UHRGnPztVgj%G3U=$5*^P>QxSQ>Y&+E43hhq*OuV>ud9L1(+8GCg4|IOe;F;B z?<8HHFK^|%`s&PUPp%y45)TqfY`PFEQ(75=@d`2UM=Ec!NWL!gq-;-Z5k zasdJizDVYtD-)x!8q^1ODgK;2)!x&1X3rHo$+lM*L_WWAJL?>5FZ3~;50K`3%J#gzBU4FqG?eq_=UUA>qHT{9FZ+3(m)8e?mUmSq+BP;g6(Z<87WNvky?ZQbpcjx`_FwZ z4YwrRZl>qXSo5ia3O=*T|Rr1bgbPF>Zk%>RRf zKznB00}rVPO>nuVJI>!`fB?QqOh%h1UmAWM5d#Ciy?_*9=!DT64D}4mEY1EQEq8Kj z$<`nJ>S+*d?cgasX2;+&6kpU&#?M9cowV;GkYsD7VT;HGmGIww7B!EBPj0lTVsAkm zL0yp!ndPb&!Wi$?swU?zvw{5!9JE=X+?*+B1xv2{orvcd1ntUn0yj&3XH(DiXl`CU zaf5emku=)eM>}s21)7J(gu-D#1|GNCVjb&{QG&*OuBNn)k5<{cbdvf_(r{x-Z*V<+ zBWFvmwMYwVxTk!jA(<3KTl^DLzgTHATI;mPr4_m+e58KN(W7-A9B6q4};3np=QICwfd9ocNy*HNfY1 z?}+;Yg?Fy@YQg?DW+EKbY`lj+CI%l?9;Rkk?t^^=Y80%!+tI!#bbjFdnNXU0ixkl@ zI-#OLHOkqLc6gJ?t~#}1IVoz zkaBZ=hUZH4SVq<)ZI$=j0U2)R$=q@KR>8&Ct7f$2F!W`|_aJl{3p;EpR%6^m<{ja) z<&`vUultmN&I~rKAPnEEmM)KXtMJDKPx;rE4#u1%=|-~`#?!Zh#@O8`2~ye9(P6m0 z;m_g>gjrI3c1Qnspu(T6nD^~`#5A3dUBUn0`xTkSUe#}R(N43u6Z#i(@7}4ra(Qo6 zcu+=fAm$~qw3>JEJw>9y`rq%5Kncipztm)Rk+S5PpO@Cf5Q5(ygYePLD&8As5?U+K zmRQ*1CX)8yXXHU21b}!ketbd=1hZrr1$b>_tFIPp>8k-hr=kO%nTh`FQYQQLzAG~g zqAC#Rk@{2`tK*ZZ(i)u=+n{2d36?L9mkfH^-TK?*@~`KPTGT(H!<3Gfd;$vUVmL1i4cRvwq&-aRkBY}qm{;7!o$yK#hG_Qz#A7f}h1AL4E^y7%L7jG;#D%OTTY?`0O{TtEF_27FDD zh%)jqDJ(ZDc;`C;|B?EwhT>9F$=^*2T)sBwc7v<5UN(-o_FSEb@%rvFcOQnqJmP#! z9Sbt8IVIF?hDlc?FTLOAt?UL|AD>FgTU;5pcI+A5JN`)Z_d{1_%9k*tF=eutJ7OtX zI6IHm$>HA(frs(bYOFJ7p~Uaq`L&yzzW)QOOlL)WZcvtQS#rP8^lgP!)~o3OA=+0!87|?DWy~M-iUf_)pcdk{K>mZ{->>VHj#VAwpHNOUdX?R2S z2IAvNG`zRX*u^Vd_w2M|lA9DcsQF0?Kws0)M5g3t3wstCgb_AvX3)5@koV(lM&W!y zB(`IJC=@DWy@XbBDKP|lr@c25Ea0^^^t7T57zp{rda%Rt&YcQz;e;En!Iaok07?&> zxW3$d9i6sALt$sEX{dr+eCG92Z`t|2gHRz@H=l`g*~5JMvgn+yMzA;F&-q64=v@oX zl{X6S)Y)!LZ9C=Y{cUR|eQhQ2HmSf}RIl8%?9A zKQrrL5O3uLa@Y*(#q)4XRFFEzKxd^M0hI#VIIG?}<=g;$q4Mw;2e!MYz|JOYLVzQrmMwo@XiO;p)fu&Szfm#*B02q7>N$g5039Qby+wjL>@I(|G8%1iwHY&NngbJNW^LuITMlYe64f( zu__VX`JC+_E=;Hyd3+g-JBP%eB%KW`Zz|{YnO$D8(LnrEmm}ZV2KIoUNmd~5BSY+) zCmVvuyxC(){qzpBdALu0;hs11|Dvo^4b$mOf=__Ys9NLstIKdx!@u)9ep1H_5r)5X^>!R>L86dcNAF!N2lpSxd=oWIYVen zy$=|l(2afZ zy*;OnCZD7!vBJ>QNGAED6PAR!`D5uRbMfMVjnA0`;Fq>89&efjdR{#U2H9&gk^F4B zzRK+{)t$~m%}3L#x?;PTW?;poTxYOH&3C%G1&ZL6&+uWSvikN{MkAIzy7V=SW~eU4 zfQTW{V93XkfL5Gysc}WV&})grytS?UlfGk zXAZ+sh!!gkW-Df;QgTL1%%N1YyP+DmE>s}ne(>v2HKda+F;!HizY@rS?$3!v-cOVT@!|6kN&;j*ck(^ zxTq8m(13z~w<+oKLM(_LwDF0|{Y6ieLYDM8b@30MshzqN)=1#%RZkpJ33&)k@j2zQ z6pa*8rppv*Eb|9X@==%L7S|9g^B248wMfr|PbGA2bB0Tf8c%O$wKNbLR)BkIaPX@D zNhW6s1x%R;>cIJZ&&D3ZNb032pq=qggNN|xDg{i;h~cev*Vss1eR1c9;18`C!GJ_s zR&y2I*fXQ$PurN-&nI57XS9TV$iB|eTM_f za>nE53Xjf@Q~T}l2+Dl;>avjOC7=+NWmXDCXF4?;Z{vB)UgQ)C&+tRlK;t$0*(|g* zmeucNhuC~U$!q=2U}EqD1YHt%=p;g1G{G*ZKUI!XvpvhooeC!;<5VxP)&9qQVEQP( zV;1Bx0}SpiC+a@dhXT;pSpX>aA`4p9JiF^z$67E`eUqsREaF?i(4`1(_Me~xR4u*! zJTFEZExn#QaXIy1_MtTsVQ8sm@o+s_FF4pJw5&GyTeI!H7EhzG!S&(bdh6TknL#J= zlpWwcv->2mMNqsUkl-;cy7`ugHmc-ZlF4Il-KD0KPy^4xRk zFQ`$0u@QNWY&&>>9@Y;*{wCCH;bV~^zdpi&nE>AO-yOlZc;C)l6L{Ulz1rKy`0>d^ zRLm&%dBu+LJ9Tq4ihfxKc9E+~#)iXd_@`Fs4GZ6L8`#rU+AiYW3>B`dmOBcH&4p9N zYjQJ%Amh=l`Uk79~`#Bv38U@-T1#^l2q@n_De~9{tZ06ig8?+#8AA zc2QtdVN|a=9tdZt2bB}8ZW)LLI_`<{RsJuP2DEIomR-|1+*xiM*bf7u=l zOGorVCA64gw|m}@<-l7Nk;YrRevP;myK4;M2oMG|ApeBYEniIc(_#-!$}fI8efiCX zk_IZEIbsn5TRc3ey8N5MGP?WRWu6xndVwq*ZxK~ziFZqQpMez@yKg*ZL6>nN&+O*j z_571W_Kv7`Th2wf*M!q!!)33l5A!-b6rJ5O0mO1&q z9@jh5q^o8TGxoYL^*RtNUa*=Of0RYnJemck%<$x@$(?9)xzC$;X; z%i}9SJ0gU}R=)7!h%0x+&uzYmA?8Pwnr+(L1V&dvf7d<#TrsMQm?o_bRKW*Oi?O!&tS=RfW5_-crN>5oo1U}zU9*9`OIUeym-@_3<3qD3MG>^`nhI(fCDbNEJl=gq4E zjY_OC_afO0J^QLsc`m}S7aE|qc>1SI*3x>H$CRSD^`<)uWp}K4H~F+rCtuVM?~Hc! z6A>Rw5cF=*Ch8S)%2?0tWcEk2X2>Z2k!Fnp$<@EATJR&45i?|a+mw0A_e+s9-=m6@ zsSlR^Xl1y;gcZd%v$LVp|*Si-#r7nLVIA%4Lki300;cE@=^&{kpBf#cM8iO3?U91Q9G=J`yx3l^x_LNIr z{|9_Ok^o=ydE#*?X>2C(l{mNa2jDO9eJra@bi7(DSVuEHl%2ec{WRg_&F9 z`tng5@LHH6pLz$VQ#as=lK$-g;y$Tha`LE zcdkXwuPxo33p#b>argU(&rMUbBF8CGpOy|j<^*;?S7YetEhf5B%Q$1nIBdo$ZI*#m zM-#Qok+UJdf}m+&zDFD9_!Em)?4>n33M6U#VR;!4ot@wHI~y2yHbjoi%8psilD^gQ z{Wo~rx9L%utG?Gp zpm~|4LesRV!uaVrZc0sSm6j7%F!e}1EoZ*sp~zdKL>W1T3x4b=%1=wR;^BEs5wNEp zbh=A3-fbNf9=5ZT=b9v0Bp2J0TtpvdNByEh7**D+vzfJ3Z)IY^7eRv4!wrUzr&?^ zNVeKe2#+#1csoiPk_&`(Wk2(3q0*PunmM#BTLo8PFzW3b+6yhzOc10nx0!X;5&v>T zVL*q)F73?#9iuz)RCO8OCe-`nU(|`=7ay%2;!BGplmcP%dBQQbTJ$H@>(Y@)AhMq+ zg+Q(B!Fq1@pXIg-F?rDZGmEaTc}d8aGn=~76-}FsLrT6#dTbp~E96R*OmpbIK-*uC zHLcY9(=>w}rZAU-h zxGV4Ks)aPO0yp^iVhZP-GS$H3PyZa@6wv>*7oVzY1sGROIcnRpdueoPbY2Y2ut(!7 zGKG~Q_@a@#k=*Di&Mj9XjK=3B`AdwaN5WibO`@Em`>G*xxmd;r zMMq^P=8yGzV1*V_+R#^wH#m4$N2N)nZ%^}7mw|V*gPJdTuJ$eto%|DTUfzw4teuDH zxxN=SDgU@_<|TxTp&(`hwhyU?43r1IQ!K@|ry(l>N-HJwS&n=rc8~f#? zU;)mIxl(*Ba{02s3-6I$-(tY?N)PMsPrlDx2Z zO&IUXmgBH}vMofbbIJZDvSVQ&P8#75z8+XRe+H=J-Rc@LpBn2ns*8>V{d+{wRN{lr!=^o$uIum{2*8B3Z;NL(PVn&PMqc z+6N6CO_O;k01l=wu3k@S`zPHZpV=BANa% zmUwHOZzBgoRVPDL{UmISO&jHO(ziT6CsLCZL*dDzGdj^qu9p54pvH&EeJ-Fn;lS$ z`7&C`=8Vt^G0*U!g-Mg4U_P0{5nI2ID5<4ZP$p=qOo2-z@fficHZ3agfMeQ3>V0+$?#G&!i#0o(2=!KK+8G^j?@qx;S;bo4l?jsnOS3VbM_0fl&g;>jN$LzJZ;;r3IE10%;z^f(!k((|1Shq@|G1z96uS*jh!q z_B_$J+B!ik%sk#1BiZ2)HePt+tly}+iArG;mhs4jRQh=~8VGRh7)TEOe2jD)H*Q5&^G(ol4p-o(@P%^dN}{d2q=R8r8OK;3`!yviZzEy7uq6 zUf-3X1>*;kC1Pyrl(#6Sw7Y0xPM*|uTQnl7kN93>*3pS~yXOf@^a4h3%>^9WloE6F z!@p15R`Os3KHfqrw2LOe{KFyg4y|?r0yT_ea@s*u2>8T3W~;w1uH??Jy>9F2^>|Cq z_-9o;>@Ri%B@uYNV#U-ipc^!PRhCROV~Kj{Xllx6%D@mRy#Dp6Tnc=~oCF3BNzEiA zeP4R$8;rzp+KQEo&rWVBnpoMGfDFFOncP;pK1fI+TyBbB4$=x-fZYM)n2QSJP$`$V|A#oVs! z%Dflg*zCB%ycP6cG(9m)AEGzaG^C(9-M|8u^CSO@R&cGPoLEKTew;Z|kTC(M6WNdO z(e#SsERCTHR-&Tc$5W1ws1m3oRFq{`d|Rm-0(v|QS+T$#UkiYT%JwD8XP5lcxBI_PyUS2(8HYC29*jy<@0GNgom$MO+$6~a1P z;jiUV;i$ze_+9j}CcJYZ!F5|dJ-cqI8ZV`v4RS#}Re47Z!C6Vh!oWQ*;jT+ZPt@aR zK>pM|JIwx~c_P@|NSdUhOfeB+&*b9|1HRvy6bcqxL>M~@;~z-*>H!CBQOKNU0aM@; z=VeeQxIShPb8TRT*07;wG_;zg>7CL5ZGRO zU0%`bp&a7Z0U+0DG$3IfpM8ftDJfuPop-SwhQH}7o%^^w&1$@mmnDkZS}D%47xuC6 z+puzONeE1^x$*aF075P50*LiI8%YEL(IS=Qq;-X+&YfBw;(KfrmoeImy5S}Z z+}JyU^1a*R^M$wSe0@w5zB&ZVBP?ZGwjgm)@TN-W)O?KZD&nSUA*WPcypTZ&58cR} zO>0YMcfU4s-rQ-tVhDHPcd-#+P4%4Z(uLZAS4PJ<>f# zjpgi~lw!q5c9m(mkP3{V%-^%74%7GWo1>&N3PrNWCQF1Uf*cyd5(XB0#7XIQeIlkIZMuXrscj=(* z;Su%+P0YUi{B3Ikml5{^1={3sq8Ud+qJi66s~cLQH!^t%LUAmPtys*APD)sCahE!= zsIO8%?8}{XlF*j@`hQ^Nq)lu8H!FXtV$X3?P%f36*ZQJ;0sQit*L3cSoO}ZBw9JXr z7n#t+J5%R4&GJWl7P#o$A%%@gpTI|cSa6-ZeaD@<-SHc1cG^U$Jm_Brtq8s4ldnJi zY!V7q477#9iEV#|7gi74H&7(P8w?wj;`C!p!>|fa%zpK`iuOI96UkrMf=}RVbQ0&n zBQRp+nuM@%rFuhDD4n+#AFbJpvRWRKd*`{Vnu@aWY}i8}rZ1PCLMi@E+D%lWti6%Ek=x855c^@3|8^Z2^JK^nO9Ef@)cPb& zb}23e9PpOHi$L+2S#GGJEsV8b_J!1~p}2il_McB1xomk$JTAtS>P)Qan{<~d?!NR$ z$$p*`w{{Rwu=!yVpD)ID=>_TWLe)Rmh>*p;ytZcq3T^@tjOSi}9I5YyxpxFxT!E3D zirHs0&6I)RyK?m7m*P}rDs96%T&z5kwStWJk#o7eXN@zpI^7jLxWuGocZH5RBW#F7 zlR1*ct_cAZgW4ipPpJ271v6A#b1s%ZO`V9Q8TG5w2$0BOwP=54-#-9+P71LSd5e2E z&kipym2N~hRG5s@TFKVNT#V640Sha*=f<8P&t2M~o4U{`fYTf!Spg`GE|ICQ&3Fw^ z5IRDWf6h1`AF_Za9|@pexEwE|kq8$?nTr+2AuT@+gMX90HE*nr6&N84X0sVf%;kUH zR*uShyKG3z7JAS*W{L%uu3Ne?NG+-XDRnnlTJTQhsgaq}3sLBW+GnsdcCmyN+G{y@ z?6JT!<8Arn-<59@>*%Ob;kt(f59qE8 zpt}#4JnPwi=&lB!yQ-qm{^7PeORh^Bc+b8wO(UpWY`p75etzwe!k-mxe4hCIM00wq zZ^pJ+m&jIIdexA^IB#gsPigQ;)9p<mf~NP>}y;E-_2RF&MU8c=-XggN7;clshJi^SOD zMsy{!=bBar;bQn|6?oeG#a6YQiQs1zgV7}~I$kg_Er5%qST{N9r2Q~HB^ex5)x~`A zFLu3-PnicNevTI`KtuSh9r-+b#7BT*?}l!*EB`wyJPK9W>RG?H{Ig&-+K8C?5FH9s zccuN5q7{Nnx6a~OY9{>wuOWjW$)sA!A;W@%wpwDXEBU|aq8*iUH6{ckjn`{uc4s-b zUqBYYGX9ToLElB*tF0Zx=GafRjPZA((LTQpb8}8bQFs?G$;N`O#Fx`4Jf_<-uDX#Z z8GqjzT;g2i{h{P!py}gkP|-^q+WM=hZKXlfk?J2PnGJ)4{h!A8=1V@HKn5QVq3P8E zG-l!aG~Ky7+JA3MS*6j#Fhpx(#y&sHbz7qBctQxJbY1z$1;HiD=h~}x^LdLDG-(I2 z4~zvYO_BXTv@f-QG$s)fw%H9ZG}DkQT>!@>P^MS+sGz(RCx(IFAVG#cwFHEjS0rpD zG>|KTONmR2qcGQGTM6*Kk)f{&BE~mDiM_FqxN&#v%x;N@ zzidg99}8J03bcSo+BqlcubagC7}L?nzhsv-A_{LB$d3CJc}75pFjTm45gOzvJB@6N z7x@`uT<_#3&l@gvGTPzCtA=R(C451QMci##G4EyB@zprGbSyYLxMeMpmZEl`tEyNH zF&vM##Zg*8r);awE6q!Kz>Aor460`77)r2j)|+^8JmtQ^;sXq7Lz4$jfDhfDk4m6+ z?5!)N`HzvGM55yGGIdZ)bp_NNKau|EM`Eoam*BBRW~{h0(ONbMKKl)sQyZs!G7gbT zCL*&vHtNe9k&G)0*6~-n_RcxJF6L@kHw{tW$5Sj5Ebc@J2g$hUErW`)Khfi$l0eU? z`SHy^+nD2}&WWH?qJ6gXBuM&^x5dEZC;>-Nn@L7PJcaphognSj2dcLwTj}n%o`Tmq zalLR-@0=NNJF%r;p4&PU4ZcZqeRCPECdqkBgsFmTb|6qm?zzl9K zkHsGSXNFQ#9}wKm;EWsL&Zzs%im+s*dZqjc{^@7`+6C}!=LFAMFhCuX+q5$;^1S{4 z$wMIo9~I7b5_#C0uDi8mcPs&s*#i~%=@p+Ch@EQLl-xucCt3#EoH^@LtFD{AMC=F= zsiGm;U=Ew+c;gB@p^cwK@$lqS*P?7j#!C2sJ?f^>gafvtFcOlW%QD{V`<*OQy1Yrj z`$Qs4B@X-w=XD`8IA<9>&9<8O``BNBg^h8Yt%*!%g&>^?ykQ<~W9U7U^4wP+hy>-3 zZt)kqP8Qcog3q6o5%I3i{I$9SC@jqY&9hO+16$#EU@O}$-ZuYnb#e^6&^o_eWvdht zj_$-5Hz6?o$G4MBFN$RqvtpV&wrXWTTc|#Bk(}1#;|1=^App9T_I*J>OScV#3@k!X z&*kUyQ922s?@%L0l8&~p@*@<{U#N13zD6aeV ze{stvIHyuM`6_ym3-8y>=f7n}MTBf>%K23S)8CY-n2W9lJRsM+-FsRr&pW-5MzU4P z%{tp1#DwXKo@*)cElRPSmWSws?+>uOGii3C8c$xlG7WJ-1gA?G zHs7Sc)ov<%+MIZ`N#VMoaE_C0SWya8F^&0w)FjEDlmHeP^8hU3dHdKK^PffRI#53j zhf=xQyZ~3*xZ6~JbfsO6s*pbf694po-zH|u%sAIVae$z=RqUh`Gos4mIV7%tX7RIz~-ChonBaZGy0;u0@40k z4@hYMAmtr2ZgcD(QZ|!dk3T^|DfNsea@acJNX6<$qzh+R(vzhSdN9ZnkBaiQHBRbh zevzMB)ZE73YxYd2*q>!avhabWDArn6bz_UuuPu#^EZ?!a^o_6B?KRQMH-|i?S4V-? z3IwWsjA2Feh+x9~mGDiNY2w{tKy6h?D?w91`C%TY2m^FA0}P3*w zSI~_~>H6316Ev930dUsZLw_N=i_i=^@omG!U=`Yuu8DL0Xg6!M)4fzQR<@OCON@9= zwIroJm%zsX6%;s`VmzXpvhzYIAK{L)w}y9bnj6Gr+hzWxMDmBLPFU#W-+vgfrX4cY z)vhms=D3`SuUtfD@0)>?Lp96S=zKctp__oYk6}C-zvsn_yMyi@Nm;m>g;|u8!?w@8 z$Tf3!+^!?x{bvKWPBw%q8(-0uXGR%YcJ0uAd6hDnW=xqyOIIve(~f+b2)$8>;QOD} zTyB&c8+;HZb^RH(L@$p9s8sY## zR=Zz{FRYPQn{%4^VY@AVaMd6{C}<$ic3RefZ-1LF1)`j>4+Z&j_&I!-r-COfB-I7jBM)r?K%WoJ?BXGF|A1J$-C?z}+6EfT2Dd(vL{ z%S-zEnbg_j<1QKzz0S&5$lou6%fA@@7SbHI|7zBTH1(DLoz%$^i*25nffx~!lcMJjOOHxQ zozWtWF|P+U)FQhl`WHAiLOrBg69dcsVD))$4=27N*YLspn%w>OC6yvE`xEZTEB%c! zg!V5+rzM^C$>)U4UmRGUKLPKTou-p%Ysm?Va0%T}C6(1f7E zi0rTQ+H-)0nM$2NpJyBja?6aP`(v(-(bLql3 z1ydU`?rfbW-J++!9`yaplU%K zWAi?61c5V{KhUX2|M%oD>cG358p0izPGbk_tX&;sfLa-#Sx+(?iUtF`99ApVeF8k{ z%NNiH&oiivGdn5EvFzW8inL^2Ks=zbv z6sGcFqX-;~aPHhmj+}gUODC+LJnn>A#0la?-NP~*+b3aiF{Uta2`VoiG7l3P$gX+j z*mlPeI!LimO)Zh?im?Zlpd3a?B^to{0?_!($$^so4amF9Pk~-bJ&-J@uV8E^-*$NI zw$baO^OTz88pR_o+*Iy88Vhp%Hn!>btBW)pu*p92-0|_yQDYz`?AsBsl>OVO`)7O8 z9^aRWJ3W=n>Fy)GU3=oB*0`IEov3pi>pP?g$Nvst!)^932`LaiKubdWj!8i{Z@vY; z>mcH_4iZ}I%k23@nF=HN_enDzKB+C%_uAEepR^74!^mkgjKYGQl&@X zCsh4F!QOx3t}GjfLsP!GSZ%|@hQiM@cv1v0@Jb5NT6(L_2&@N|o%gqW9q_7A^BRJL zx#yNC&6y|r?)odfzu$qQDz``pp(zAHUMaMsRR;d@WU|}ttfPr(-OuM3yMBn* zTdOU<2R0v2Dz&wCG>!-UI_-lI{~Av+&LFG+*nn&l^xDN)^XQ^9C1< z(VUY;H_H|Dejwf?h{I)l#A$qch=gFIDbJOx6G@rbN`w5MSEYXV#w*vp7;?sHUZ%3C zX7oLusyS1|lpboymOz0C&&Ew!TF;zx1Gd_Z6tU0Tq?dycX?Y+Bpa7|pw+sdS2 zyZk}RlsQ(!dZS=14S`y^_HYVt;|>vH1wJpKV%PD*VZTZ}#U;LYjJ5xm-*6DT6-*Ov zfLe&D?9?x2GUa3UgqfM@iA5)7(-C4DT%X*`IqT``?C~?7sSqb~P|^1|%M+uN&E>Rx zWvjdQ$|F~UXk_uDYnDnz*&(6((RK!B;H8;&Vn|8YX`XgWeSxRC*?59%gX zzd<`WkY+c*8@<#0^~bcHo9vy{9!dWrUiCSgG}kmglp<|R6AZX%SWPAGz#wE)Y}VTU z;pxCMWB{l+fYW5|TK-jNVRht&Ts<%X_OPS`x6Ij*Z|#9g&L)R3zZnOEgK-4!Tz+h}B4^ z{-jB-h5~2tz%%xzr)~39O+i6;2_*IV|D|%`Ira`fMr_|#1Zt!tsUS)#yMmA&7{ON0 zw%}tvgc&gkS?}7S$IGep_qvY=RMV5HorbJ)?c1Ph5pRihhtk(H^(xVJ=hk;SzEQn2 zj{{Dw1XLtm;r-*KTiO`7k_IfMUzp^m3q$P4!=N<6?x zQJ)m3&1Wv#S|~&L@zl;Ar8;z6W2S!9Hmk6Lfgm|065ywJhM!T?_OVM2gWjhK%^JXu9BzC6;fsIQ_nGYhU%=-H(+ z$-0vYLP1C4%)VJFPpS}VBg#|q`MZ>_j41VP?jvrz?RVj?QxcbN8{(5f_>dD>`^urK zyOev^sdk?DieFv4#&JyysjF+3tJ*P3!R)0>h4-eV5}XQ*7m`{!$Sz^L{bulKe_lz< z-=L?F;CEcK%9LiG!W>%uV9c>ZMd}sFs_~&@v=c)~LwyXtBR*nurjA>IGTC$RUb7Gt zvzK)Hs&#whU0&Qd1&8Erzljd!D#g=XJ7^t)c{@SdzVUdUO?|L^F`oc~(^PltTnDA< z4Y`SN4<3KL?@y?g3WMfDU2X_KK_?>_^N@crlBu0jr5~+8KkhmB&OkOE>iD>+&U95S zurQa^K1YEx$DuW|O4o!H3l0K#B*L7kn5n4rGX&}PBYpoIuK$89hI8%98syC5nx2lh z)VYSyvT4J`vPRWGImn_=xOw)c&n(n?4y3YgMkmOPa$+upKP&Li9oIXJbV}99wcBlc zv0DzNSHr-+X6{b(>YSL}6z1c%Xyz^?L)3f|{p@L)m}%(KO5*L1LsxzYxz(gPw%Il+ z>%%XuUE)D79~~)qF$Ev%GT; zw7j&V`Rbo%E8*q-RXe~w$$;~o_~)LjsEm4|Lalu1=K+v+f6m6m%;=v+b=ep9=>}b@ zr^%6NK42#WfGTsCPmZf_-~OHZ$V}+7T`%^Nr&uaFVizqv+ zi|L4SbrK&pjiyQ7sLWRe{5|$=vj=-|2F!Y*LLgnfH_F82m997=Ag%-->qi4!n2w zUIfw~@o-1R1TF^Oq`x~?((}7R*`Ec)mAR3a6-D)~W(J|d=fV6nw<<1mS?d(LA0}%x zvinHviipN*f!0o=Kf^u2h8CM#z6Uvr~`u$V0-xPQf*o|gi&XUPt`Oxy5ui}J06;!LQJ>hAa(hu=Ij+_COz5bsa&{#Ib22!=JRT8kTMdC+4y2pORij-+H%g3 z)TI2;zUVOamK8l(EPma|68Q|^?gaEmO|_rueL!A1R3h`$=>{i**`z>N$*w=wcS8$} zO{#q7I0i(kjs6s57|8Y;mjqR`H?Tq|Sgv@k`yDOA>c}Qf3`)adKx!!Tl1^OamVGzB z6WJ_yzu=?O3ij?M6_{3c4Xu|N7_&8$|8R03sd^a?f_!zO6iuUQd2Fd7K7h~`gWVTo zv~zz|ebXr6JQbVn{=B2iIWlV+9Ai+am^wB5FV8DHL}a9~NJc}Ie6$)j^{*Y*;1X$w z$2SFy3wbpAISdsegSl;FWWnZn9mf~}2Cf&fmBm$YpLaMc$-|J8L-8{~eQVOKK3i=V ztbf(*xG$*Ay06H4kR%EWD#2_mceyt|4PgFuSRr<|{&;Jqz^{~impD6Pj#FK^Q!wH_q;yzQ_)eqONG zp|&&brg2y&Kvw&QSncm8wVuE=0eZnR%$=sw5i&sjy+s}5(S6w1^t z-kO(Fo&0PN$1jS_Y$hW1&*GRG25}9^N*<-6%6($(%}O%KPHFyAN2xR@hNRp zZ62>bTezWf_zWi8ym*P8`lDTT{1RdxErZbCUR!I<$#dK%R)ZJj5uhEI=C^H#htu>| z+~VF`wN3`ATiianGSiy1_}ZnT{$48_TZA{v@{Kinh`mnoug5faI$^CzM}rOv;3CjE zBMMyZ*L_Z%lW6!ykLGEY#cSjC`V*6rym0qc-aLSbEhNr!2FZ*tT*3Be!V?Jobr=ag zz?J&oNG0nhZVZX#Uy^Gj*a(+gqoSz3p<5jFBBEr>wo~ZN4P6ABIf76$M{0|;0GvVf z>&>uwqKB!&u=4i|iSM1!8FfZzBI3h{uTmZCRfoGyG#On!4p}vPvyh(onZbU7z9ijM)8H1Zzx;pRGnW&_UR%q{1YA>qK&)~2+G#LsQRVSdkA})zuUbtt zi#b4W$v6m$V;o=RmBr5;G&Z2GqY>5V;r)X`F5|NvW3;TvWh#*-)EtDnSvs!H5E7*@ z_j}sAxq2W|<}_`U-pQ{`h|j5RN)f6Df3jcS*Pyf^>0ghzzvY z@K9*_bR}tO6dZK4NyMaYNz}eCJKg#m3C+OWmUT|{Z!}jN)znlb&aZ?hC&;;0Eb6qa zIJ8O7P|3AAY1FWHGFZU zA^}-u+9zyQ%x6|dcBkizkH@WxgONm@Oy(C)_r+H!B;7a->7m~Xx|DCrt zM0Hpx0J9*W-94emUf%l#gNnqDcBqykPV&V(=KN#&d`AU^`^vJDr+3$bRbs4M5u3zE z(H=If#<^n-2bIPog%Vgb6xJ%F4(U{EX~tAph_6n{63(R2>}(Fi=9COp zD8mdGzLlAjUp(`;1ZiFrFBqw6Z^UYvI9r9+R!*a?kM>YEj(@ZckSz_&cj(3Nvq>NqSY>Z_!v)qny1LCn4SJ>#9&4Bf3M}MeI4JibV_f>%E-o#6&5QiI`O^ zlyHw9f@eE}T`3@7*!5AR4-4n^;i^`knrH#_s+Z=R!F>ht-6>o#HC+v}4mWm2@v zDZ8-VGrh2fur3vmNf5o)LomsIqIEs*0;*()jV7fJdIBM)ml=?8>#O&1R2rqD%bHM6 zct#4OVj%G2ev*n&pjF~S)#eN$!(JnerYw5c+(O{aQ6>ET2A`Y~D|pqviET!BB+yvc z#sG7Et-wO^H2U0iD1mhIRPv7Z!ov5)yYqFUTgqE&3Oko2HuS+K!Q(R>>N#4z2ec#z zHdz0BHqa8}qR9iXP0dz+=%DJ-BjPRvYzfN|eKB#MryiSnekfdvaVg#l%xq@rd+bBv z?<#&;G|$QY6SgCbl=|@A)^YU<_?Fu9E9}fP1|xvC#mirZJ9aVz-SF_SUbi*tvuD(p zo$a%)`A33OHD_6}1(d~JfIrA5@+1yx7@##wldlX)LpY!f!r-omB0ltsCpM~^5r6Z^ zg_-UHP6&(`8LAbH_~;$!D!@a16arK}k5)?nF0S57g`X5Kr%4S=aLP46VG+b(s<<;0 zangr8bbBdwySzhZ-+t&sB;5hp5Xe0(8k)$-xx@;f;QD&vit;crW1F=Ph zIU~SMr|rQoZkrd?qY>dxpqo9nS?P&cbTkTN-{)eZ!+i0272FVlBisw`Z>S1j_3Fh^ z>L5Z*lE;EqKc*w7EQXCvnp>V*_$a}8^>B8W*<_S0)!bInFY}1O_*I; z>@s(;FWr_-^X0cQOfb7wUk-+^jH}C!y>o%?YpVRC`i>DG+A3g7_?-%&7o7g_nk?gk z)SoOD>^B*hjTMJe=(4BGA#NYka)*+mI9_zpfv|Wv*)#-R)L9u23B-Vi=g%uWSeI6G z+ql=8aqQ>T{_?g)mUogt3wA1=3psHsw1i|!v0F32sxX(OhQf=4_D_u{cI!SCSlO{* zf2&O=!a~mD{ii#8p64JM34V`9DeqJbeERiZ6wqKz1u7*wbvi!}(P$ex5&25RJBO}4 zbeKt{lmrLS)y<1BenFfuZ9?~CO83FMGv-cJ9B$8@O{d6u;+0s9ga7G|B`6AoF%ju{ zRY8^xG?}iODThT!>6M^h1z7Aif_@Zo_>e>wk?xmP*1nhfbKdsMT#OmubGLIO>17VEc8WqMQ z;J?(|a~qr=Ocn6iaPIhWP<67R_v78v#srRzKYs5MAZqM@Aq+Hm^&yMUxaXbhn~0`} z&%}jukBiG+;y?WVzqJH7BycL+$%iV41{q=1l&>o7gR*Ql{<@057{UqQpvpJG)Q>FA zRg~1CqDLfPScl$~lUqVr(4l)+df_h@U~R7QpU5ek!)Wj z{5^0R;M&Gp@$<=ipT?w#Q%2363EPJ|+e*?@laeeADO>YoemmgYbwGZtW0EAdq=RGY zaQDe)_<()|SrxJT36`WtCXGSFiF_%`#u9+G4TS+<7(a=QDu_FUe6!J{1KN7ymjciw zxdzT3r#{>CMfM2+C1L=|W&>|xzIsKp8FN0F^|P?0T#Nn9_Rr$sZ2yD3SbmR!#ht~a zY`o787ZB z&ENQmQ>0^ks(_RfXyQT?jqG?RYf5p~*uU;!fmOa;qA0pe91aF|swEZW|^x`S*IjtcHy`mRKz5+|gKnSn4t*NPfa= z7HWPwWHzBTMGijSu%)=kc^cdRKQO5?{ZDFqO$X6{{%Crri;Ts^KRhKj!dHNMsXFWh z-1AUe*wWmtXE4p#x(%v5CuRskHo3HtyqNyCQ&ml&nF z_@Z8M(paAAOXM@tlZgQN+a zu&*rtWYfal{v#wDe=}oZaqw|<8e2OVL2WVoXa58)ti!_!(XR<$Mak1h{qoL#W;#glHtCKJf@vYY1~!ZM{_0CU%%ULOgvi zS}Q1>obkL72qVDvk-Q6482LBqj+g9Atgk4+B6-mAPAffLS~esO%Gb^35u8S!}Zn`C%9&tHv*aI`c-q}-+WdbUsEh%+S4t}D>oD&#nw#5+RI?LhCc@?sd`3XQjT z`^v5P<@M{QV9`W;lf}o6+hxrj(km$41O^>yF}Y&>5#cR3UOdCL+wECq5tP^GpG}gT z?u$KdW}Yu$*Zcx`iPS6iUfJSDi>3>!#QZu`POX1cwQ~r(r+Y1oS9Oy?slPmMKjCoF z(}uYjUb|=i{xb*DuihIUo!Nf=_qN&?D8R1ZEQ@$`YwlcRDF)!)HX?o94t68 z>hBdG1H<-Mf>xOX_C;XG&TOpTgL&Rpxc8H$j_p-F+4bW@|HK$&UXqwQvU#I#=V%b9 z+_JLqag2n^YlWSI16btFr9)A7J;7Xc2NC2fc6m@~Y#@0k_o%Y;v;QH9l=_FZL6~Bb z;2U=0!{_#Sr4b_=>w2p2_)j2!8*xnU26`V=6p&Njcx0xD=3!(SqMM?~8Y^Hpprm$w zVOiw23}1Trva_lg$*1-TNF=qGHD$%ft$zncPdZA}UDB~Hk!RJiq~>5H zIr(=LMkQ1+|0tFpf}JXOF~nl0^l=Kg!l*_a@Jz8mE<+8# z%{3LR00ST8*~w=7?z}#wDPI9F=*?xXE`xgp_q#r%5g}4K=G6l8hML#P9!*+>Uuv9mg&%>tz3_nHE zYO-&Te~3lwg=FX@a}uYcm1;msDp-@Y$g|8y3bpb@b6GmG3N>6aw^nuESidxGQk=y3dS|AsN^2a(`Oc}JzY+INCHYKOzlo8# zRX)qOH3wda5oq3IC_r5B^zTP1dh#y$ZvmN%vb!L`6&CRT+C4EZYwd;1K4j(NNTf_B z3a~Vj15q`>Dr1o)3~lx)wPfA-@xI<)G_|Ly#ptQkLnT2sOo;j_z!?A4K1NUh*M<}f zQ!52|nKu1(hd`*+)LZt$wiN7^Wi6q3NU77(VaU_r{@vOcGA!XA=t|$|e}ZcJc%8m8 zm^w%bUBpgw(TYB;G1KVbdN~cK>DEL}qzBlR9llJxp?){Ml(Zq&k8qynyJq3@=ZFXu zj)mOj?WVY1Wug0_%g8825TnTn>o6UIsds;pt@aauzldoO#}JgK+ySuEu2W+{mZ8_* zuYM8oHE)}KP^DnkM0m2y?*=6m&-Sw1h*W!Y^7eI`66Ft?5?G+467o;Lm-E?RH(1MS z!t{i@4Eg?h9rrTrgr;NFnX9w6n)PA@Sd6(i<@~gP$V8K~fSKbFQ~I6ZNvZQeP1Uw= zm|H0_MDZzsenTjNQ>wjD<%Pcn_c7|nV{8d_vN`)+KFPs%y)dglf&>}eRbo`Z56aLW zuqHi({3r>NJ?kw8k#butn~(kFH^@c25w~lD>?=l4;q4H(RlId%Mv-K9j}o!y4=lLo z&uxh)qH@f59K(N@Jn={Obq>79+Xfz%q=!(OwZmSM^nI!C)W^HcD)_|$iUiU>*g|bD zMvzif_otae#kU%WaFJ#OTe5UjvmDJSQ9ev4rtqV(Z@Z0KKYrzv-cQkre~*v^!*-Ox zgqFPQTfJBz=C^XqM3Ea~y8tyv)Y0VaG7%I@KCEcYdUSh~7=V|4$lf(oMWVL)|B|r! z#0uFr8FqJWmDm=~0qEO7S$1n)?ptC-G6OR0`a_Q|fWcc{Mm)a>`Co|px5QOW+mtPYYG|LV?gYGC{8+FJB%@O-Wgf~g%Cj*`rA z0k`ne);Cedhe`O%vu0y2g)8bMAw&?xxQ6x5VGRb4w-QS&qJ-&Z2xQ0x!K3aP48HgW*mren`)=gItZ&2a*po(Ef)QTA}7&~>^ z^a^_~Qe01m)yDfpXnd8$oKjJo_>VUf1U-J(i4`-h$!A7Q&2H9P;}-MCXhR0$Y>-_H zNb>EvfAQzqY~lc`i1lcvR)mX}ooOOU?(0*8+F6Y_jZ4lb$_VC~ys+-8P+t9fSL2$3 zRg6beFgEuT^J6u}o~2G#S@er?v>1E7pN@t6j~SM_Ph6Cgt@@*J2i1ug!+;rrpZsk@ zLZ(I@bqi2UCDbr=Zu`E%J(c6Wf0kcSWA8n9*pzM~+QJ*P^su|H%)X(55Z+RId}~r6 zdC5HP4by%vq$>+B?Zoi#y=QAo&cd27VntTqKCQo%yyY50tcH8=F%{FV2 zioWVw%cb9}8)=)}J*^VBt4eyv-Iz_pH-3$*8X;E&Cce_KaUVRjUpa$+gJ&_8osGMt2;-o8}mEQAY*O^p?mj{ zXUUjwia=5$Rdf`GyU{7tcYpM# z6|IS%88%)v@4BTT5t3fjZf?p2F$z zWDN>_XTj*_0=46wgqgMlp(~CWKu$r3Rn#*v@rs|#9W-1uhgtUUe(J2ndj9mo9urvE z@Nb%GORoM1PfuSx8mXVMCxKsc5~HS%SQqI-!VES)Yn-}WQjxZzvQ@P6XfSA*F^jb_ z*{y0nf?mH={6a59+i$!)fH9~5A(O{SrsYar3=F3qQbvCxZgRoPu)Swi{V$*OxDD2L zFs;JNlx&rN5IaB+c^;%CRmWLetQ0e|5QF==Fn*g4b(THI(@y}YXq^s6D7(BxNPHx) z{0cn?7Ji})tKlc^_Gp)!sd=TQKX7X}UzHXC7Mb8!Bud1sRtMe`1m*%zwAB1ln%xep z0xBw%sP{r#eOH>HfGwMM^w9ZxKzO1m&L!!+RYMyBq?9yPyMmoW-;TPZ5Q@q_HC@Ye z!OBm;y}hI`xoEGJDMJlnMjt}|^L+7Ca=_%24P66h9Wp&2Yj4ZH`b_@;xOp815Prw! zdx1ERQXjwJfwFvw9lso!ylwC-($T^YEe*VVrlJd(nLiszk`r9I`dYl`F4S&!zSewP zU-2#HnRzvDd|?Kon_wlZ#bPh+S0YJ1vLD~1wq|kmhO;;sMA26&?NZuzp(AqQeU)6F zR)1Um<_>EE;)lURCL}>YQ4gzfIfL~o>FJ4hVR`ERIL|%IaB8pvxO0mOf9E-}DVd8e8RKr7=)DDKVT4w+lF5eU z(b9ZMLgD~g$64?5`xa|f<@R<@llUG7?4%o=P5tRyx7=3SZFt(J)Gs}4>t6?WgCx84 z15Kle{Jt&}4c4ExETsWqo!Yfu7=xq~AanL)A&8>t0gf5 z8V%6>U66uAtZu4s_Z4#Z2bbSZl);?Dzi_DH#?N{*S7_H{%2PTwd6U!wO0OtVv405F zhW%*hdOv;Jzd9>^MFZV8;gLM(u=6(eR4GC3YW`*`O>Pfm9?MlIHX36N+gSdcSZfrM?g6;~exj+h#sLOr_lO9ig6#`s z=Mfjth>|mJh3AcX!GOsXUAR!7`!)<+UXstfXwkhn7xRNaDupJznN$7~&9t z!SiK^a_DF`A*RsyE< zIuUAR17X?fwGNCyJxc2v*aAp(jEAB{QK(L;dP692e5&QnSbV#_UF}+AF+Y1iFbmme z6yMi_D$p&JFHbuqiMrwsM5>-Ij(aA^Wryv*wG(4ZuNhh2Nyg^7rFq|JjhOB^c2$Z3 zR+%;wHoniDpghg#D$hY-MtA~{MA&+fI#Pt>=k$!?joL(uzw&eM6dPTs9yofcvPewo z)?*N#miR9mvEYEl@<2C*_XHQ@4qW@(vJl};%PuCrPPW`X^xVsgFd~F=z*!TxVrobB z5tzQ=ZaO2FwtqyS;A(2`sRM*80U;%*qMgWuiD0qJ06;|sTR>5uvK`yg#J}jAF;=y5 zZtGX|pRynrWBw12YTB>rs<5=m&eh+NS_%4|wl4%`1SoG-tc7uU9<-Pub7pSYmPphABCxmu$*{H}8s z)9O99?a!F6|GK!E%bxIrblKYTjz_u}vuTjHpIaA(05f#y;8h8+nw5{~3e*Xb$9Q)Q z_+%lR7{qHg^b2XkK`;c-$G)6{>!(hUq!I~CB<^hym<3&Tz0q&;v-d$C^8p>Tj@9!W zz%6zIrfMT%iu>&8MUB;XQZ0c@Y;hynP7K1X& z{NcP&?nxEtZhL#e3qLf8Vjm}~q&HJ;Z%YzT*ELx#h)|2OW5S;Z7U@IHgS&$akFwyO z%l7d7{HC?MO+4teVTw{xBlNUs-`4RFS|T~~6C+e6zL@pflDldqm~t-~XaB!cb<%zz5T> z)~egesh0$(9oiR((ErZXi;~DZj3A@hi5UgVyupSBGwplYC>?P(?me1#Hh(Qu<00<8 zqAL(CaaOOgJhNS=mmxtvtc;;oGyM}Wi} z>OgKkeM6whv9D9L_i3;Kj?$K*x@{1H6wTF7{W1m%S{nq(6^3l)H`K$2%UF_TGTf|0 zOdtMwXHWB9h2FT^Zs==n=ySXME}N&A+iI#u<1XxP^{z8k9XRZLWWJAb!0fAECno`? z(&7Nwc;YI`=?+RJ6e~F!)W-f&QCO_c3p?_qFh(?e11g*8rUuZwA%?ISH@rP!$*#LY zDOVL#Di5-K{;L3rJY}$}2NpR|nil;s4ZYpz*31ZfV?3QoAF?D)Spvu0Zi=Ufgan)IAOR{pTBUYZ z@pm}WrtXZ|{8>W9I*Ty7CEax=lMXSf&I@nd+8i)x#fD z=p-2q_eZ6^WGn1?BlC&=G>YUl`gWpEp*zt{5G}0CwkURlIYE*!h!?NfYi$7XM4;oA zo4s>#$J`~i&l3bgK4o_gJMex-$Q>iuue*;`#Py?sM~Xq28W^VXW|5QX~jQFcQVbPR5>(%B*PRuu(Sp%vmUOskdhQ=e=NLAe1c&^mL zVLw2wofc@@)>|J$Xmd)~X-pTndd+)JaGWAY5;X3(X?o01Q{Nq9;GQfYwzFl*FMSm6P%-18rxv5AjmO8RAe#av>H7nGNrZRyc@@>Ixt+%W!HA}>&>rS z`>*dhP4Dt@NEY&$tsZ&Orkqv`MD-Nq{V4+B?uxQSi|jfd{<`s~1La%T9lY5*Wdrh_ z-Yx|z|KM-{GCagUrckmXEY2JCedqT3Nfb-eauuMcB^j9?-q$7uPuJ_U9TRwwntxQ) z;sCPu@yZstzwhqy-!Pt@@C*P@nJN{1M@?gHhM5|7kB{*LC~)DW4&YaQIu@W(G(7Ng zce2N7Z4ZaILs$u8g-M{-{pUrrna4kJo-)i?(gBT*7`$U0Mfeb6 zKn$d!zD|5v7v5bw;0*FPk?V14fV{tLjIq<=6tq_0B>t?*>2v+k38~Rdi%q4e_Q1lm z!lgx7U>vA12eCGLl{o@1BlfuP@zpoj7r*HLe4?-UQPf+`4A&G`;uRZ%luZ5-N9(G0 z`oM?wxcL;O;C`SG@=0y2*4rqN1`R4ZdI;&EK)SFNJEX$kSvRNcNFoZo;A6i{E(=Q# zL(dl9Mj!a+I$=^4OMtX8K*2v)HCPF(n;0V{5fkbByHok6>6UNxas@xxF>f z+yO;=lqtSWck*p8+QTd-R2d=6aBbk#2O*8t@V-GtL7;CqGf|R)#C_Dmm9!)GFcA=h z4$z7XWEDn@rM<&&NA12+Iw#R+)!r8|AFi|xwAg~xc@y+M|E;jff$=;?0A{{BpBDSc z3kY;F1rD+Xez>>pSC*$6!0g0rO?4eE*rvJA`RC)k8RHgPbN*K2arJoARr`QyVION{ z7pjmDO8G$>XG4-9&b$$e0H`7-Z^iZset*bRG?A~Z<}AIz*ykyTrN2!#$P zlJaLbnyc-UL4NvHpF$Meo%e0B%X>^`BrpB+*xAow;s(y?0u zH2l3k`uTgGQXc}+4FE`;^cf(=YPB{;dbwD{8Yll>95M!Bw#1m7fqbMVdnJNsE9sjT z>B@?bKX)*l%nq!Vu)ysCz>w@>imR`NpA_k_@fUlC(x^2da>{$dE#@BE=I3PQ58au# zPryu^oP8$OwfBV#5g+1Dq`w`2y|%YLv<6PT`^Z9#9U9GWC_5rZ=&`Z1+8aPrO{Zr0 zDf+v1WSnOc@jadMYfq*CMTu$))E@vD30m&^Bex(#+?^O6RM(H*haE8(*)UzYoBeM$ z{BRtd`DC|*H97i$5+Cv~b&TjK>`K?k)pcIhj>*X29yPmj+cv@{K%BCNGBD2YPc%xe zyliOSru&YKR0O$2JHMD5VmE)Sm-XNqy&qfb@Q`rA0!nqOyu7mO)adEWG1fH*7{8sz zaKEqG?hS+}1{yOauNJ?9?-M?;v!EW^mpVid?h!^v>yCE)&_FVC**7b}EN+a^!6i_A z1%3D#vsQoQiZFj8^^%#tX)Vh1q%Uwy^eq5sSD~(Es6Er4)UvL&*FNsQJ`#1k6;*tf zh9Vi$(Zk+|VCb&mzUV4nF3Wg?AJ#4u?L#xQ%G5`UkaL-)OG%8IO@invk_}%?EEnzP z>vGlchKS2*hWh-BPUU!^e;Nh{%LcW-B`jKFuVK)E+x8Egj@4j$m@lU-n(>I5QH z$2`%fe%aGs+>7gvz1pECT0;2fOp)Ij3^4u`oDlKtrG+-O5>yk&*=60a@IXp#KE0x- zxDCO91DM`rrY5F`d55NqM$TS!St3Zd+;MDh)!%z|yEFtzxve#L72bgbIEH)%tJA^(0w2@gC(25gW+O%`ez%pW43uNsbwO5Do^ zs&kva1J!nvM7sze4?V{pHdZ(NE>Ep=>do9AbsQ7IN%%$szt9a(Up{WSWNum8W%8Mj zNJN)K_0t9hgfV2D8?rz~Rvg}BG%v`0rA3>iH~;n3GGqVM7kAPlnw9+#AEDgc(Np0r z-=`T$OQA9RcQoVV-^NvVYy}g9JHUOl|X5$|9?k}q$De4Srfd__L8e@Q>GRbmy z|J`et9`oUe!4=e;naUzK!sX`iv)a_8tFgFT!Ojmg;+i zWH?tN-&L0@M)C=7h+bU|)#!C`08(xej@cvnk)h-3#?BFw;ysgk&Wg}p*&LYL|0ZzV zR*|NnQ)p=*;y{W=8-pG5_9AMVLsdlg8LoI{y%n4!`20)y4k=UhO0^)V9ZOQD`}hQC z9s0;aJ1*z^APINZd;yFe4^4+x06N04jAwvb%m~u>szI2M=yWai_9K(G3P$ zC}d#nP*tAzsjtWNx{8A64CK{BMF&bKT)LVn~W+C>3b6MV1xle z3p>wO@=0Ae&9}KM6RWPq-@ZHehIH|KO}p7LI}kNQ;BU~oM29E2d~lU!I{p4PbN715 zQY96=4wPu<6kko>3+oxFf!MPc2T(}!nawJ#9lHn9ZxREF`&6SbqVwr{ zoqB>B|0_{y5H{8=OR&C?-@921>!xt#WT49)E*CE6?4!RapU=%?s=h+RRBRVU;@p2< zqXx~>>gS4dO%{K{H(4^M^%B*G00tByBywXV2P=S;>zq3j-oT^8rW&F0-p9h_fZaIs z^N6C>6*%nt0}0Jy)@rY}UA~tc0)#ZAkpIx*{HfX>-Z>*`q6Y^?o;c438BG=~yOC3B zUU*jnO3|SaM`mEPA6!!sme8e{5mVLyU{Lidf}&jiLcqckKnb|*;S7M?jC{%IPBdV_ zWNvWpzsXO6qc)McNn|&+%)iZZ;+cXM$>td-!ZEZs^noF|XWX4RcwluBu_9&7@gL<0 z>k0vxFgH?ahf z8M~v-J9N1s%9Lx&3cH^XMUsjrpIYx&&&j54I1BgC2I_(LzmtfPE?0gT96uUjLPm_a zb<$pxZNt#bWeR!cR6em95^#T_s@fp}z}j?%zODc6w@n0P?l9S$%n(0(wa5?myap+g zpcUhsU|#oE`@&*?T5q`!9(>$?IgnkXjZxwX|4_BSaK<;~N;a~X_7eHN>l;$|_Z=hI zrK-e-P+3tqvHjf#Gf6F|sYPSxNc4OZLm9Gf;&5>mJzN-cJWCb=XD#+dCie)J zXcPQRc3i=6{JO|sVYpy5xpw3LqKyS1b)EP*$`i*AkH$$C)Xc|&0SJwWsC(*Z+I!;s ztXf@AfbaK}{Ybm}l6MdTK=QP<2Pyl~4RY-!FN{gaIg7T#y)<~~2XA@HOrKVP!Rk1o zT&xW+HT6oVgva{(H8{cmbqMx?l}Bu4&sP;7KT35fL#fPyvhOUHxG z09wHn;*w*m#RTehMcgu$?rxf}1T3~@g7`N8>m**L~0eI`9}rf&3{ifDpxG~RCQ zwIDYA?LP6NX-Xb9*%wpk&k1cK82tU;jRKo)X1o=aNa#o_51jx&?j8~a>3tx zi>L5TN!>g3%y8WMuxhch#ZGFb$&;-)K9xBPgVtO`p&wpj{0Xx5?>)r0+5wxZ-d%5f zY(JKFR^QkWcPCzsaQa7%JBQA_y{b-A%%MF*f3APdB?9Cx{7K!u*{{?u+m<9X{yl0c zW4SNhm??Tw7622Sx1|5I<2Bk1<1Quv06;}iW6A12dZ@|f+1X_2OX2EpGynu5$Bb9{Sa% z8xsObsK~uCPs(av5(s!nLlH7LyL&~o%BA#FscXLjRwgRgR-=ld^`4vEV0i|lrI0)uG zC{!*1Fyl3+G-5|Sk)fklhEt@0>p@usQtk&9G%kukecU=&?rgu zDz`X}LcLAtW>7oDkaf8MZsm~4Dq;>Sy{p?rOdo*-a1sjmnV@8nLVdN_gw^)EfNBbC zKhpu)&syPkKjT4ea)(z@9mv&mDi=~o3<@h-!CunRub;J5yZm&1TUngdu0r?c;(LLM zc|}M_LFaFu{|rkVEdDi}pIa%t?`xTzFmaem@t)5<=z zeeAh>FyGt+Qw)lei;qinWsz;4>IuuNiL|RXt?U3I43^X*;p-0H4;MLSz{L|y@2=9X zML!1^pjIdPU68CX{`Xt~Zq&Y!MB!MZzjHDn0B3S1pZ%bY+58D=)|xrA+|B$ZlU2` zKEqrV--v}cWHVyAC%YLfTO|E9d)n^l&*qikotM{C_bVIxt;%0FDQDES>aEL^W(pFM zbm)TgsidX22H&_FpjhQzCXX;=C7_EhOc7ef}E+=h@+`NpH|Ir)aH<6qjGn1MZLz> zR{vtxYf$K*r;0zeg(De3=MUsYxT~63YV6Y+t-pR6JjIbOEs80p_m>Itu8$T0ut@GJ zfT%hNY`m`KjJV%Fd}6;XLKYZIdUuxSF%EKMW4+b;8Nfgyh@%s(U5nO03?)5Wt8Sqo zJ_fV2I#nA*j{;T903u2i&Mx|l-*O1G8Wq`DVZVDjLLOt5O{}{Ub+;$xBx>*GBwzVE zVQU_e1$+;ub8|qSRy|Q!o z1C_WI7Y{bzSCsB8E2&VlQbFZ`vWbHf3L!Hc?FO^*0{NYkhB>=LsVMF7EsJ7*9J6{x z+gb9Xpu%|{>d<-4@Byr%Xi2)PeXo`^yCojA+PQGF2m*Ef+< zo(eBLu7Wi5zZx7?{IL)aDjpni-?K?eaP_(9jqJuRy(jp6Rdz}aCd*S zTnHZo=rsZDom+{tyrWzqjvi1LWWEs70><^&e5`y{d~51=`;L-(<;E}kul;qtWhmUW zrhnDvfY2@+cfbHUB*x?(yOhhHU&1hO+vdBZ%;|lct#(Z3;Z4;=SR^0B3aT_``vhd$?tN%h;UB079!>yFo4epoD z!sjUo>}Y>F!ohU{3$nCdNXc)MbOv9@yr$+aJV|eN5LVOzQB%FEv}ST{e`BoTboy6t z$n_HPQvgz5G@<**O&R*av}0<2QZ4@Kug57*UZqFL;N350yZqAmHN}&&eAEJez#P22c<8)w^JrAxqMm3n0On`=j0jGSxj1oN>-)VssKzYoB2TA37 z0T8y3xDuaFG&8tv@MnO-tLr3drSW7BX2all zfW)2lg@ftBI`^LDOShg3kTOxl48$N6-8axTLu4F2jV&Afh4(EozoSflU1=3`{-q`X ztcZ#xdR9MuUYY-&&exJ*Js1;_WGox|@OBkXIkoa$T$YB+J!2h*I#OP3UGntjf#i&x zUTVNy6*eLrAq6NtcK+J^M=XhFa^-14(IB(<8C_6eB1`VG=HQoy&Q8X&W^Nrs+m2uyZx7KA!j9Bq8(0Vo>l)# zTZMDBrZ%m7^tj-BnYsJw5brAxmKrg$cZA#rEgZNA{0p|f(YWV0C+86dcyai?U0dXV zyD=gj<=52qsPbUH@^%y0@<+oJ;%0e{yIM}&i5eP8#OJg|(|?j=jI zELwP(`{}zJ2@~@+C!-V$ih|u_c_kE7lR%5j=bgWd$g*n^qO~=V7QLS7*RMb!{%L}w zd&4zS)FB^QEFI>u51eZLR>?c-MuHOaX8I&CEOlp~fmE~-u5>==;auIeL{nD0dHeOCL6)9Jw@li?xq zq5GC7oXjR2LHUQ~l3-E$3Ja175WaSVH90_Y%ZZ=!cRb+HN!=?O-4((Anirpw;#-5nniu-~<3>ZH&bbe_BYtnbuiJqp zGMZiFx}8Jx%ftfEJsdC}TIal{P`aMt7+p0`j7nu8^}FTfrjMNv3)Mop27- zhbk~)li2bOm>eH2j)QL@BRYGH)by8i1Tdqk(5X7_2;(y@Vr=TSwR`)gb2Fp;hdZ1_ z!`_s8X^>`!rfKDhQ52dUr(UVb7X(Jv^20|05_85qrF;KacU{Lzl0!Fs;5K}VmqJtB zAxUuS@u*<+|2Ozxt){mXTq#sq90-{6n{YfKeq}P53;8)H7&R(5h=niptKh|cyNgD0 z?^BY7DFh+c7AaW~3r+#VAs7K-!7<((isMt&^{!pJPF)Q8K4IfkLWh|?CcWK~KlxUP zs5I8S+Ic7I;R7&r`^SOL?ky%zOvJ)eKsE~PT8 zGMeZZi(H^vdgobWuC%U7xTdv3@eGZH??s5);&fkaEw9R{8CD)vs$XmaZ@xZ;vPL0& zi=kQbzM3FAsd)AtEbXd#UT1{2!(m4DU-dyHyQy}+I0%erkyO&CxG5a&Ee%*~&;)nC zYarr?Nw8PqYx~KoSGW?t%RwNB3WC?3Pf-OaHGInQFy_yi&4xzNUUtZyR#$oe?&sfg zMaZvT4#o8%O1q9uUY?WrD9o3Wd8Mh%rD0%}(pUo8@{ssjqU6R?XL9h-p9TMB_W@3e z$@#JC_%ofUZ{5K4slL-Y-IoQvm7uEbWjyUKGVSWo6G6lG>Top*T;-{=wThG%dww7P z%q1*$^Y=ZI22!e*rZdA5sYn`ry@ji_2+cP``z0#|q&B=ytYU8g?EQew)Mk9XwvO88p`&uxWk;54^7a^;U}O{W17Gmjl1wVRJN)Ro7^NED>3yE%3QZ!L-gFt38!@^CwZZ4WWlC;VT zUkUcj?q9{(j|Qk9msa?+y5EeOh%TIuu%MvOVTJD~^NnawoaBZ(L5*w(yv5@-F5v0> z451pBZTWmL$Q`hu$Q84-UU_?Aq|ApZId=FlX7( z(q$dD@Q~8sLYwtjm&*dGG_QbITk@pr46hZ6vX}8%PX#!=Sm&WQcCGkO%Sq%ssX&gx z<*!4)+&}dW%e5hhV=4qJHz8Z%XkRz8jlZHXr_kb4P99+s;CS(?jEfLYCeUn+|HT}J zLC9m6DN9wXF1%KhF)p#ho{8_i>G@iOD@n0I{}dje-oK!z@dE6 z$KngAeyOh*GSZR`oU~N^kF*p5kK*2Dh0OP`3FE<&}w{rpc^{YeF7?^vg2 z#TIJHxaJ!F9{>YE{Jy_}FYP2ASZcfH{M(bvbhHoZ>>rFdA2KQ|$fuS0$Hn{m66dnk zyUR4>rx@58_w6!WcFe%OZ%AVreA4(+MFxzTe{S3O>c-LqY2-g7aWdMaT8vW#4*tHh zW3#e>5-0|kQgij?ipvDBd3JyvOwlCfZNf4gnF@ypzPxwAk!v$OS<=QYs@BXt~%xK9Oa z*!W`%;@iNCCCSc>ljoE|i^P}?08_r%fco~w8)MV_3b)axb_yzT zD%&NPX!Jcd>imOMnwP0zzO6JR`DD~!bRzl=CMG2gwQai4`2EBx)BI^sK#fs1u+&$Y z{)!w`$;N?%kdc#s(+?P89%D0hM2rt}Di@uR3r@K(7rgOsU$FQZjm9McOMiA-Sh0#< zcb%y^Ku%{i{;CjMR(04*AlC1fdZK8-DpRh0-KVz%;{^6O#~r60LxmH+TP%mX_uvnd zDNf-E)8hNt;{&EgZaW-|9w*y(ifkb^%_ofG6tNe`wySRW)~6eTcRve)c?+~4M6%ki z{1M@EfTuIHbZGBE+54mZ%@yVWPMr=dEDkoU4hww1l#(Q9N?E;t)3_ZC0!(SEyGHbI zt$W))q9~@-HzyEg1&v$(6z?gW^mT`zOU!U_X|%okW_5skqu2j^fDx3TK`+YZ~&PWH#;s$<)nzB-C-Ob4yLIhp`VwV^q`^}C~k z9jpGo>Q2|DwFdyF=BJY)0y+WEL-(CVJ}{bJB!3@Z%_D!mSDa;wNWlDCf4BRN=`NKp zN3m(xH<)dh>FNWc+H~}ZekVnF5~lLgV(MGarmX8@`Wbc;DN4!vOy9Cis=8m@5FWx% zNm3^Prm@}Vz(o^-js5+8GmXbESm*6vyUPrKKlT_$m^b3Iv0}!C?1y`3@|IG@8@gkL zn3J2Iv{!ld8B<5xbErp|j2b0@3@~k!WE*_mSV0ls%*}v`!HRpZO7jXe0HtVb?RhlH zpbOD=Ft1;bel9kfON!Ba(F08LSIT*MS%oNAlqwad$idLEFo}O#6lllS&oXT#fmlZ@ zP_v?Uetf|6yww^=<8r~CeSN`{iAdiCw>3deiQW!7IB02b`XwfcVq>`X^BeVgOF(DCh<_Wz{KQ zR2sRUKC$Crjfu;*st}v66{b)cU`lyCK+{;CR|%N9v8*ev`CU961>Az)g(odfrD z0=SxAE`R-PwH@$-abZL4`hI;L&#%NSCPC4(ddWJ8Q)HW-1O|epj9`t!OO=jS#_TSs zfu^La9`%WpEqb6A(-X>J7p;%k!KsY_ywcc!QudKwBi^LLZcti;Iu0;p%*#f#yPZyo zd$6&;e?CHVqpK_vrMY{RSucJ>%(%0$hk5Y<)2Fp9o#Au|Kq$|e&JfGSIFetH1WMhu z>ZRG==%_5Ig9I|bv<^aS#VKNgDxd=DG$j?bx_y2Jt2D1Eaw`vdN|a z8wBs+s45FT>I0?|<$z(VQLG$il`u?;#7UB(?b+FrEX}rusRUvj!IN_gF5^bD^}Aic z^wV;|8CU0m=YDcR|LmzN7|DKp&$PGqHdm+8A9oD`MtKUE4ysgYS-ngGT4^^{`W>(o zCRmFAF(;cAKKxqw$}Pbn0d+Z|KsoMxPfKyII_f>Kobui;`$1C&mi|KJiVi9TOs5E; zncCGAoOt_i@a~+^!Td*w2s}bhoi3i&U)D(7;{J(?0@->78{hhDW3cOp;&0jQoX-83 zz*2zI?y3F2Dcfn32An$G9gUA-fT^8pFu-YSGpYqldALiTY20pojOed40n!1AjuiVT z`MK-*SDC(fj|X^4jsS)}1K9b*dC&VbAyxQH%Y)#}KN*#Bja)G4RJ|hq&x&+_f5Is5 zR{8qno_zX#s*5pZA=0$`^+yAy3C*=8ldij4=!+E^G8u1s2T-Q_@2~6S<8oEi|_9Sz0n0k;Nb~zgez-4osa*b~{??{c40BIDbQ{B}iDWfJk4lrFN8+vz-yTwlW8EowD z-z#Cd(G`}7(%jw3Fm|YfKV@SM-;XlTR?_FhcJLd@9~RFQGv?sEVoVndplU21Y&iU* zINfo}C<9DeCi>bh92-$4n81og1{1Znva^n?MQO^nkLl_-SD1NFn^$750ZHjE4npaX zQVuIV*uO3;-s}UW(-edNn3_VhW9O@^2xViTh+u|kvC|bed`ra9fCVsJsekk|La*TO ze7P@}d#wiKOo63U{<9}{?nyfDyi5m43K?Y*s7eA3FlBDSIM0AEMlA$PZ#;I3UY(ac znkeI>pssI{HV6c9_Hov=!lAeC2Z60D4IWV0QZbG`4`=p>Re$Tv7_LHMg{c9iN0lG* z5K(A?2pR+|y6<*HyBcNJ;{SMkrF7Vj>L2Xgw0C3hmR{?ezd*5&0-t@KhQKLcX{mn_ zH2^eK7Z{*k3NXdRAXcvxG>v^r4-oWaUu?DL>i~W2i<4V7bQou84q!2p)SUYZ{ZZa$n_fHf6=X@(}euP#`E>Q#tAhJwj_h%Y|u3X#L zKkYX^Z1d#_pkBL;1^}e&@MO~WOI?6Kl~Wv3gK0B2RD>T8UX(bB`uJbIT!% zN?krm$LM5$H{+E?2j#6|4@sK#?FZdHFK4Gb+-Kdo;6nX+66n#O~%Kp?BHP&uF#w$}$wFhNod>{oHefu-DvKw;lj6u-On+EYvH zU+fNik7rGyk^@XBW4zheGtiVV27r$5vt7)?(dWg~eN%j?81*LKD+Wp#o6i1(Y4-h6 z$)UlN0j3QWa3fA18&Fn-P47%4)d;x^=A5-CO?yCSZrT-z1~>)joOJCdaN4!aL3SVp zR*LUSp{|_MjAeed08@eiv@kpD7@W=&>O^CeavNDu9VOs&1>;7+BcKdm={TVwOE1X< zpMBUTP(rs5_B2t^B%lvvm%OhI<+HkaO-ys9iWg#3?#RzlU1RB z25Y_j8W$hDI5GxAeNYsT6yn&?lK;sH6kR$p7fha{9R!dkb3L*7PJZhAs%W3@V=14@ z$(dpdovCsAs3fvq?(`eE)tQSarwfynwHL0%-T?di49ut0P$}Ug2$*7yiv? zSI%jS7z++SB~_Eaw!2girr|bq4P5O9Si{c}oZu4xx~{{4b>4p9)~--KZ5E(fFxL{z zDh7lWJEmCu#A%1+X7{#R2HZE}jIrTf&qo(9fqiBoE9PRpuh*);oBoKU^FeUe-TOkl z#0KNm<_B|waqW{guKi+n+$Mdl<%akxSp~ao!}Nk}w{z;o$50Wn}ELafd`Q$|O*o1Y*Dx#~GyMEU|%)oa#}{tz83y5O>`5 z+W&wUTY_DHNc}*KJS;m@%Rd8fD@Y#>kM9$Zk4L@FAc9&?^UMx%ksfZH--VX-B0gt?XT*e zM7hW85O=DZ3V+}A3ey%*%hAbt|5V%(Ss(6PO zBKTYDa{WIV&#W{ZCI4l#g29s|@6j4d=`8HsSZBf~5FZGsU_DWI$=S)&EPJ%VhvdNtwckz(zgO z0OtuhUPR$T~G z5}KjA;|2{pa;f$KBC(>CRGgbhv@c?A&sFumA16RndB9aymrqp)T-EWm;`q1_QCoq` zidLTtM0EfwP0*!A0ItHy_k*h8Dpdnf+X+xDm~Z~gDPIf(%>%3>w-hRNOiI;ZQ>rDDIil)YZU6gBnAHE?} zpQx{5WO||4{&p#k$FLrf*4sum>mF;3|E+x*A~9joAj-^KyMpM)Euv!FFopo@?MWNP z1e*tAM2r}RYsEZo@_|z9;n9BX`K-A%L02A@lmVt4*6p!^VuCI2TqV_RVy{JM;vl0K zVSL7~iH&k*G#^rl1!aJqK64NZp+Kb+`!4XD=mj$5Q&mn7!EvUIl^sBO9kS=mOlb~~ z%P=p9^#vcZpReHc54wW$R%*m5(ERx0zF^vA%Fj~J`IFl!mXtfEo+t+kGW}Dr(6Wk| z1QHU60aF}koMe!e?c!_1kep?I)qtyy-NzPSH_Y%T>++;#cPz!xR)AeIVEVX@m!sZy zOc&F&bBA?e3n*y^wvD!sr#)wjxwhJOqMPNFo zQ4%yoErX|=DMp0l0`Kl^x2jf1t8WIm5^*g+Z)Ed?7_5sj$Wrp$iZRW^S3#~9i9PDO zO@cOH)CWc5yec0Qf2Nbs|BJhV+JL{*82;I&)KI2IKH zNyEL>{US1-?dU6&vHr=QsxisDPt19%Ybk(P&l{cL=WRIiH?`DReR@D|vdoA8)5ve= zdqf??aAVwnW|H?=h-V0>YKSF()lUpqRsDW|6>v4@woO(ch^k>M{RBAXSj!7Z8Mfi) z1qK4DfUPvC{0dcnGU&O%s{dk_t~gB{i_y`g0MJ^GtGHo9sA4J5bcJ-xUDJM0aJLo< zvbvN9C;8u*9Q6FJdqcZtH5ou@RH}TF#;d?mhCHUH7@1Bew!fXq-8kfCWG|}K)9rE} z8}#7J9&XjrCaIH{G+bg`j}1an3*s+Q;xRi`ScR?9JYeKV5D^0aLfq`6A? zf8;4USL{;^npz=&4nYV`xiJTt#ziqM>F?A0jdG$1Brr(S!Kp7o**GX7n5;Nl4GPdA zo$>DXM+CF4$OYT(3jf*DNpcv2r20pxkk{zsFKYWEv9-l)7%6@U*H=_nHDHQOBz~A9_Q+)56%8tzKSi>{ro!CA zg@vc9*D6z|E2Ss@{J)(aU%(e!s zK!@pXiO28b!P*#iJZ)GMo;N<9iVBDa6${1OUqtl;O6{Dah|K3Jqn!qhzx6ZMz`paxDSxIeB8d5Mh3mF-X2%kFz26!;3~T2ON|kP#p+c9Q5j!JVAaY5 zsIp46?@RrYspA4#HSj+bsLJZpko|mo$!Jw-1f=Rx0I4I>097@|Uzuv(Rpk=^l~O4% zHI_}v$x4ByR4;Wb`^z0qo#8;GK+_$o3IS8(K|HvAn=*_s>2SK*tq#17y+sH;m`0Qf zEbS9mS_zp>sHAQy>%?PE^6~X|E8A4-wX2E$lh?rQfzSr?qm;6F;xuyO2pfps_i_Ix zAE|JJnX>keW zCkrS6+yO`cFnwQqi8vzWSpEjp*{TBU0JZ{~fxR$R))Dpt26SLm7S1-TvYrFgJJq&A z(w$?T&ck=K05F~qTU)F>W&jB=X@k?^%5q(_(Fr~^i-3PVL64Om|{afFmgVKqWcf2Zpl4Nj_ z-eaD-oM@QNovV_jR&l^=kEV z*}G&*vT>g<$Mt4h-*W;?-|PoWD{a(Js5=|6ywj{sERQ8H1{t2dq-9lmJs>`J^0F4)n|~lzoWQM9Sf=sN6Y< z9XFK9s{u_d9<)z(@IY#vgpreNa2a1PrTUtELl7+G_T898p~)`!`kQ^7M%Lezwwv2F z^6>yn3;W>dRv{%d(DbH%#S_Cqy6YK%0I~z_6D{btqY(p?9*Gz`EY84E$)Smq0j5n9 z_Fyj+8&v|Ag`KaY1}l$x9$$^Z9HR@H!knc%K0iEL>{IRoZO!yc68ZPEO%P(tNu?n9 z=Gi~`SAXd$yH%z*nI)*xja7+T%XZa40;V@!`q_wJ`Pa0vXEISlKUL~XyYui=baAG8 z`lXlU%1IytOp8k>f0}|_UQ@7DrXMPggM4{(%+Hkqs0t{FK`Zmf%?MGIzzk+30@K@p z2~ny@uNE8Oz(t+Hfwfu*;U3byqSU}fvs-2WyS0xt5WI`40!%pva$uPxvWTdbcH6PZ z)IETt?L;^*pc%}=XWH#iJyw~bFO#p#dzUDiz3Okef{`mCB!s?>0MosCOJMR^kfC(i z`a?QqAhCk(B<%tq9VLL2{4tG{V*->&&-qq#POfEu=?>-hia8~+A|-HxZ2Z~Sv%cpv zj6b~r#dq0_?zZ|Wu+`+wrYzC;ytf|&bY&d7w7PNYjN&T=Gxq;(nDU$9 zCm#4`SNbQH?mw+DF42uiKvml@psLlamgk$Q{tDGEbUfQeUD0Y(d*we&7_-IAPzjvle&f`@da@jP{6t#rvO0G0D{osS92*kar ze=WHZ#0fX)FM3FnHuuwxHhqw`ubs-`u{Krn_{q-GM@d;)Unk3pZDR_J#w)`Zf)|L* z9l~uZMf5d3iTzVCt9#dG0j5txTbC(C6&w-+l9KKhU*A~$sViiZB7qDrO%X~v7R3sR z#zjx=8|iSgqYN6^rfL+X#d9dg`C=3#dD2N@pNg(B^(&G8OiVB$x@m3r)Cthk1$k1A zMd^SP=jP5gSViwI+c9VfnC{s7m;&ufJ&!--%*7mPJBQOf3hEpYz;il+5CUrj(%BPF z$swZx31on2fj9~_+_wu^jmJY!K%!k@=F|mZ=uz=lv4NCkY%n-R1ZT`aKq^ZOFx6_) zTEA}<1E$aGyzh$vo&XxHE!ZoI4lslQ2WkdPIX7VGbg@VE^l{w%JgAc=0n@Wph73I# zEMV&N^wfa%PsxnSnMK*5#nTUVihKO3g~rrz6^@L7#dr%u*D zrekTE9w5YiO|)$ws(a;M^?3b%j{wy#l>bslDD#TEtt?G`Kebjc)dxN#2dknz04oZbq5}n#vW$Eax<^!M{)aWf-%bHb zX>F`~g+(NFs((+NlCRbdL|yA{?{xiQ2H|e8xkQ+tVwCLb+yCP~FR02Y)1e^Of}0uw z8@V-W)-c60YI6x}`Tmx$g*dD$!|a;1Yr;(STNep@XUmq<^H@xPA|y{rjBAQ`(#>1<7mvc#V~0=`feT?-$XlNwIu?&6;Gx%;R&ze%2`Oc=11pq0l z-zMn(Cur5(^r<>P=Ww5c7^h)1oSF(eW{U7fScNhNBt{LJfV#Z}e$#YmaX)&MAujA)!*pLdl zbk8`p`xTV06d=hxrpf}9*L+X+{qMJg|20&;-kR^P(T;)S?p^a_&F`!kxU)@5oPMKi zn%e-T)2HNuSpcT$^HTlN>f3qfPqy^~sx)Sr8qAo+zhSAU08_WEGW%{S-%hnWVCt9J z_eCARR9m5HU@XlkMZf>#1^x4=R7LH>zZ-7!{fizhddstge%a9Y zX8qIpLD!>y5>%-!SldCqPppFpc9*pGJWg~+(M{{;q7@Q5WG-XEKo~>JN#Z=5Q#^;GCiHRL7Tu z$&|8Y$<@C;`C?C*hz%g(MN^EEl($$Bg=u+grsu0`OUDpIR6#eLe|q4)WAd!}c}Gvd zk@<1@=>OruvVsbU4U=oDWSVHsklE}cxpr^c=)P5V&bL4_s-Rt}d%gHUu?=h+=$0}e z$df{hb%F{7f~=Y@wpvDeQwh0dV>MMYgDPyLT!-=s(|X7?KRq9=;$xL5fa#m!MNxOZ zq!hygLgUXfb~D!itq9~3AgS9{*`{l?;3)Bre^k37idUGvq3R!qX@>!(=mXOUXDE+q zp*^G#AG|*ZUjGfDa~_QrVmC!RwM+jAeT&dOh;srM&tjvH>bc6oef|KHi|g5aVBAgC zzMa-8p=#`GVXLDRI1K_!w|NBL@Ja4x}EdlZ@4I z@9007pCZHu;`9La=J+6&t5MHQ_hu9VgApPQGelmmyoEI3u}#sBM>8X_{PRI!pfm z>TAr;h|)k)+h=K|Kq>W;s}1cO?V85=SoW=)ejV&RpaY<0#02GR0qsEVL(DkbH3;*A zT7&gms3I!X=T5fgO0GX@td4J{Tq_bthg8Y{(+WGv1{l?wF?s!F#R`fU8LcvCw4(B_ z-^jelwb?Q)c28+a(?UMPKS4~2e{TLD7&iG*R1IhfV0zlPk-^_?+3ikQYhNSVc9Cl- z*>u{zPLnHu={QAli_cd~IY%Bh&U`r^Th34nlo~L?Aoue&0Z5q?HVHU4fx{6Q{+*Q@ z{!Wvt?yw`M)pE@M)6&DlfeUj~2T%d;`&}{H0#DpOSObl*d8e!+<`;mJ&wwv%TdIc^ z_6;?aRt=oSfawk${E^sDA)*Fr5ABsoNrI)69asCibWhthm<81-(g4%3Iv#_{{d-ia z-SbWnXPu0>4uC1m@d4BMakYNEsDJKJ47l=Yr)KdX+=?XW(7LTKvErnSbjke?3Mt}xK96U@_{?b-bAZySJ?)pRM;^6 zw}RjkbuQmeohTtNXVBO5wFjn>KOucx3QXm*8Gxe@-%RDz{*fABE>&L7o#KBsWgu!l zpvnNNj0{X2PQYn3pea&}^`r8oK+|=ViM->0(gGQv^Y!4Po;JFa*w6z|Bjed(cEHRU z*GKK@T+l)KX`p2|NQmGT=ntCH`SlDXW4pqRko^s945y*hoEs!VJEuI<; zr1zCFADL%H%&THRDRVetR+lEJn$@Oef86W%yL2W4Oz}fZCjd;LLzwTR#!sl|u!4O7 zW?yQh`OE+F$=aC$m;xrSR0BZHjI6RywRSH&D*e|1rbIi^gYkWEZSG~Z*vK%3K>()C zUz2mN$v>~1zru9#cft-Y_>4*fn11+YBZ5Pc>mjXfV}%*7*Yge13F@EmGv%8sV1N`S zUX3=|vFc9C_5%X!jsVlG-=(9q2=W`U6(%oa=I3oZa9Q*}GK6)A8>aw*QQP^{(A{UG z0H%jjNB88$73YBLJft?RNUsxH9c7c_#L1ueBl#!ysdNAp^ZB@QMlI6`kuY=^qBe}! zXY4gcrR6F2MpOqG*}Y$)`~%{n={D2dmmJNW=X#=p+b?l?jQe3sAT$YP>pkIk8!urk z)IAABph@q^Tx3Tx|ctpynD@G4@6Gz z&C~;|NENF*{01=-Ln78`MrvuQfv5(k_5-JyKC0ResA{Eac&Ix*{U;pJJ68Q|`tBi8 zS}SOp2AHm^LMFvPvno!}lBzKlfo^@c`FaRl05vKG^KAiID>+SYQy|LCMPqx;R(>PG zpIN9n;S{pcI8Ez&lWQvd+alL4kFoo54wU5%QUDVI$xvWet&&eE?O@k*S) z)RVPAp~<$@axEnalx7$v^e@3@WvLM{BFdD{t)UZP7Oqr6r9jiPezl-AZC~%H@lVuBFI!%GrtP66%YfttCOE1xgT_DLTsOf#|j<^dPsDJ~{;P;uqUToX;`Ke6` z&P?$4RB6Ww*|xJj;5Isy+CjD%U|N3kxVhJ@dS{CFiys#=k1iAgPBFjm(hVpj;3iL+ z%(Jb!n^Gb;rtzm0zM^lo$2~;ZrUMlO#6TG*B6{$FEI+R&i+%q^`-L){PXcsz8;ElT%?qjCd$Reb{0;XDhvx$DIf(#_} z4@m<|c_n}BN&2*b?q%{^)gGt80g@+KyA`C$=k_rOijxnTQVZZT_B9!6Nx+nU7DzvF zPcVQO?B|gsV}Nms9LWO!9TGFHBQg+{&DETj{;;K)91C&0u|KX<-JO@V?9v!Xc^K#J zLw+)!c&Ky?`GK;Ibj0o1P$88mb7Dr+3|oefv9c9YZo8@?W0TY8%A0(iRQ{6^_oZOG z=U1iesm{j3y0sB^)yR0v zYyqZ?=>VheF+G?S%n@bep~*g2O2HhlK!P;DG;IvTa@9k{R?3v7LyeSec!kdW%>Yxc z@7i&o#FGi1L*KT5+F??KEvfvs9c7!=dXqO#5K)*AaTW>^fD{5S#b(eYC{oLZZlMY) zARjn2#hR*2FUiLNU9o=e6xmiFmbR>dd^;J?12CPVZv;+Rp*J>P5>|StMy!l_@8g9* zi(4I{)nE=BwP=wbn1M~2Wkg#SBATLTDeYOe>Ha@|zmX@hJJv`753c$wG$ zGUhicDQH)c6P*-p=EtK5!a?v-IuRVvV~3 zaC4*1#rQ&QHV%?0V-*>yDK6#mN5pf*qJs1B&#DfpkTJk<5XUi|I7iC3a%G&8eWU`3 zlKtf5KSTS}x5ey^_7;!@$(T4!3*p<*EQShsnh97+Nki3 zde+-8^|uA2YtZw})EOFm@vHsX#vVjKDl1Y?MBhr?Cm{8h>hZl)15-~#OG`(jtVm_* z^{+||znOYm^#NDQuSf-4{M&loa?{RL3N&Ta{`1RzP|y~O5h-Lv;07(QDMrL}LnS_o z?;E=_uX5d5Og8l>H`#Kodd3mh1LA!il3{9iK8LQKD%Om1tdPpl_^naKlI7Zu!APNG zj33KX{z5rh)xGVvHOKy+l(RObs8Oj;`vrF|pkdfD`;ue2&<_5CBfv49heX#y~PQh+JORk~;ZH3Bf5EZxTSXctQc(Njb~K1K3JCP`cCS1XlwK7{;-Qh;d^ zB;|Z3Nv}GfRP8!0Ir7T=S>HsU5g~uo>D#6sI&r7!tv&9#&#*VEnxoHt6$H;c*cGh2 z$vcNtNTh&T;|aMaX#C) zB28oJs@#B6C;yo$)3~ap51D^7gXVC1oEC5tX2@`9%TtdjW2|gNhXtpk0J z@PN|4jnKQLuh`yuH_ZC&Aoy4#6+JsuvSt1VJPlW+YQyEDZ>7pc0H%J*id2;!^Iq@& zDq33VzLToHvse82hjLK=>-=H_ zYX$dQ0l4Rhr)k-G%lA~-1I&nADz}=H=Mt!DJ@0YT44VLr+8UJJGR8lP7@bGL7jm zv$f!Bw+#MjjacP-A08OAxK(aMg9N`g%eAI7RhBVW6!nC9W55Gr2{0-IXn|^h_Pr%_OX^l{>V5C7_xnfY$(uLp-dlIc zyHwRZRdFLTGBYybM8t_W|2z?)wrU8F6mG>SKorF&BBkLiI0HlU0aqQOIcX9)mQQCn zq_pc;2$PigLpbP(e=`}qKI7)GTS;cei2z75Q;p!3;I|%tDVDTe15)R$^a~ji02L?Y zAF_`+!CCpgehi^_vCu38m?nYJxHYK&(-V}TfKq`Gmrc*)TbKeqiT^`8x|j}n-j6#> zR3}rI!NSx%gHt)Ge2?MECEdRfM|$D_r#N@4O1z)?MbEWS<>e$|Jm zAksRO36btCRG(Cj%5(xveHoyHO0%``5@%(RSr+Ma!v5rxEL9gdb!C%q)leQ-Y7tnu z7$08Z0)4c=R0DwRR-Z50mRnJIzATP<`q@RaFO{>(-Uh|%bAag;E8*ddTmXT{9J%27 zc2}p%q%C{v$&+Tq-P`>u&b>}87TTjqi!2!qq|)3%YgF$e_xB$Ym@3OuHj~5GhZ~XF zt3Xr%sJ8J`FpZz4$vruT>{5dnfm#tn%?C|~XJY5pTz!pnMee7bRls}%S{G`d>ccTBRE9F~Hv?_)yPerOBlL!4_{?FB1Gx-<0lGO7(Pu1668St|h zKpKm}AF3@rf90o>!3{Y#-s)wess5(LoN)!1j;6wn1e8iTY*ad|bO5Ml8bzatze%1% z{0@~JT{m7|gV5BtV=hhu>2T~H7)D57b|WB@iWkAdMuGi^@iXY^dn`Bju@l0w(7pxhn^0n;VigO+P!IL^wZ)r|L) zEL9C9N1&-?NqpC}N~s`NYLQU(9)(pKLwWXnFG_bZ?Y?fQy(}MojnJl(PoLVo>W}K2 zj$XUJ1M}Ms?SH-GB`--`1tLe`EU7vLW4VtTS$#ody+%`1b!x1 zCzU=%K&sZD-goSxpVl8t?GHAa6SuU%)C5iM#}|+)Fee9|a!i!6UR79V#Hz;&cjvt^Y6ntuRMDltp)~suf<_6&j&;o(ox1`1UfX<{wiH_na4hne z9JdU$`CI>@NR!6~mc~>4-mh_Xi*uj**jo4DKYK2?q!GG6$2W0%aT=J*3H&Pu1miYu zxh5f?c3jA*4Xgbk9y}O}%!o*`;0Bz@00CA>aO(m3z=MP<9-(;x4V7-CQ}-(USk&$N zg(-oB=}RGCN^qRix77>FV3({*lR&BD zu%_Hkr3@zFY^QsH39=^DCQg2BQpOT~iuR=dOM8TdhqMWw!N+mpQL;->20ptta45Gv zf2t=&Bh?p`-$oo|T?{Z)RNFp5B^cyjAx?uL)h#(4TRnM4jsesQj}SThUVSys zsy>PL$$F%^Wllhj%1Za>Ub{betm{9<3B(mG#myT&j`P>b{CO8+J~f9KI8|NC9_%lh zY>a0!go-|>_9c1?j&zHXV?1BC#EWIaulWa>{F7ZzyHb5q{Shq>JOQR)YHlNW+sj9j zr9Vl%evAU9YWE$lzO6|Pi^kfRE#O+?e|zWtGGEkbNU{#mI;jzWN@MeYD$OtiQ03bi zsRB_ANL8v;)_I#v5tZ7E2U3YD2dD->>X5&xCks;}LDT>+m2fFe2AW3WjfJ`l^HSksLs&f;N+k$D_TG zM7&-MHyLo3;`0X)m>Lgid@kP$%oQBW$q7l$Mx?kPEp>C8$Jx~kNUsX+E|tbo@wKlN z=79J-+Us$loCz?U#6ahA>doGlP|TNu6D&fgAXECkl> zwx|kU%o$K>BMFTvPSTckk3*{hhs($hYbw+YhbOn^z zx%{(X*gkx+E`8mn1ZeHXf(h@zpVzD=#;mHG&wvJL@yt8dc)(bv2U+#GOi_Dl*8-+z?3vG%+e zkBPBOb>Kknj9;eUXn+z2mr}S1Aay7Pq7KpD9Kd>2)A`Q;h!>jHA6TW*4G~{3tv}pg zDzrqEj4W=An#*9lfYi6{{8@M4umnzVDg>HV1DM(yREI^arh`O!ffA<=W3=m5lRZjW zIaCiG=kZ60K(8_j+)4q`iCB!3-0dI9lQ)|QLa|TQt?brpuqK`W5DlEA6q&DMIcbv`XUYi}xgi%%p}Nc+ZAy^? zZ62q{%py^x$>Vat(n3io382~oYKH=s)K0&N(^x|7w~!wX)3MsKo___0#iR#J^+8d9 zm_X8Nao@#>ZjmJ-fCviJL;%ytvM|&;70)F&lL>}A3E2Hv0MlatrUgi{r=Aw3_DT=( zkap!QZUt}GEA?&p6Fq0vqykANB_M6@EPH z#KPrO0H!-WsluzAiUO#WN0t8sS@R#^rsF>Xui05zl>H!miq#GCRbR_Jj@>J;)W->6 z?P&$S@HW|x1sALPEwvlA#h4u9#pOkO?B?%J)H~k~tF1wW((SMFLEq613tjgQHt{FB z9o}mkt@36(EHc1U%Sr2@m_K&qzo?~hIE7m#Y8Xcs_{P3xaPRFa)>YgF4{N?{{WS|Doo zBcU8A@j`*7d1GhpHQ83;v67d>V^LD?EBR0zFGl%Oo8|*oE6SZpv!51^Bi_Ulzz62R z-_uvm;*|T)m;gv+LHclDL7D_e&rQy_eLK#$)$1m>{x|-lc;qc|#dxgbv`Sr0gEg6+ zo*oTP+SEcE7`SU7mzwa4vI4YrWt-CDK*VS17op{5r9Ad=Eamxmx$?PhV8AExhMpep zr~MP3nqO&p(@sk}zSiczUEA;XYvL_`d&WKS9d=#5hV-sr^fMDY^Fu;CoQvAQDo(Wg z2UMzF4gB^%0Gb%EqQR8fkSVal(eqn91hlEmfi?$08?a1&wuREt!)|u z9Jucf9%IcF8Y&ytxdlkD5IoKKG;!8Wy$GNxKbY1ZOzA&^rRrI#hDe}Nu(_1LRE~+t zgQ!Fu_-shUD|9?0Sy6)ScxYRRtHm$fwSA!Y#n_c?x5Z94?75>SKVX!eMY2@s*N4y5 zqf4IFo9%i0313!dUD6Q&QY=TOO=YQ`m<8#%NdibuyVaLZbT|ContErY9e%v zgZ1E18gZt@=US{wE6qn9fLiIpcK>}GXe@FPhmu;%9rzMSfr9h)By z`_b_7i^k8Zd6s^!P`|{LhEq9m!>3(*N$pF)} z^SE>qZGd`|*&hQ;u`qS-Nw1vB;d4BF?c?e=P${2#FZpFQ{i6}99W&iHZ(9Gk;hRkD zKN@T@bsAJu>!S)3mF1~GRBe6}_(9swBNK99DnKgdX1zK*cSI7>&aHoKhb8@TtWEPk zQ{-9S^L-`bEa#$lENa%cE|R56MED`673GeSR|}QP=k7=TZPC|kyX|naiBn;KG?-@Z zElA@4>9Q_&k`D#vCwI6v07%yWkd6im(xQwgal!bkTbfm;OC+zXOQQ}j9Sck^RWf-( zic$37-8u8_om)R$>e1A%8Lvlcsj7XBagn%^8&X}Uj3AO0axH29@H{l;0NKyzltF# z?;H9K=K|XVhyf&e;4}ojhCalU{C_+Vfu_f&Pj%DSEu>+9={0~mZy@W!>EWcVB8mg0 zQr-irQkFqgmav{$3^2N2IkHyPq*yw7pmY~YdwxTVE1&WJ)AApy>`npN09n!IP2|T< ztHv98fr~(+8F;9VMh znUYg0l_NWR+67Etr5#`UI|56Uh=sUCt&=Y$$;f|%2*(f>W`OAx%dtGak+wkF$ecuA z;Cm;TLD~21A6}LgN2Pu_ysk9P_Wi>-P%EE%yMNWWS832Ear3DJW{s-45grHDs92=( zUFIO`s2YGOYg7TFqQDYWKGvx8H3F;zpyq(oU~?(EKN4=i<9WZuK-5Y>(`x&byu^ej z;fsd<7 zz_eCAw?Wfltzvk1t-Kx{&BIMn!K(QFn#a6Ou4_Q^1P~hqs6;<=%f`BmTnQy`YgxmO2i;> zV!&zW4}FO+155>)PIc~ypPlSB_OtLE>B+ng@7siPdZHJ=6ceKU&wPe}`dgU#cZBO* zR-)X-fl|dW17%WR=}8p&!>1Gy(6$euv6HXCFQdKJNHv3|Qh2B11d8hWyOI=3*3gp_ zlFBD6tNy{ya}rRc_0*nA`o(}#KYrTF-2w_@Y4X6RB2m4KyC0*tm#_+s#&(zUobn5$ z(WeD5)%H7*{P1Z{SaJz075VA-I#`HnLBQ0HMeiYP?^PmmWPs_$_3Rz_x^o-epK+OU z2nc~B~o>iEb|s!VgSm47r6ugj0AeP<~Sh|i)l$9uiA08$SjKh<%~LMQ-^`uY-r zsJ1rh1*Y`B35Y82R92{dqbYsRgTPMxH2!F9ROH)552CVE3g)VDKy{=k{RW~o6Eszx z>cMNpTZke#s*B5Um$i-@EtK9g!pa3m&B|Heyaz}Hj{05fyWB3;Al2qfT7y)(*>{8% zq`?$>0Mhki*MhW~GH7I-t|ooSXIdICHD)T&X$s^d6I$imgj6MfX|c3d3Z#w~UK@`+ z-Ov$J=55?-xSP4&q*Q1darrd8>ih&oP>Aph% zCs#3&q~2$C3)O&_wy3pMNy!n4herlx!CawliVag(RsMJ9UU(71&|T}dE9g2ry38KDjzl;CfqVOZO2TB1*J>61X{}jckSwrFr zlt#Z6#8mrlFc^u=F^!()~KA*Gz>(w^-&LmQ~Cv@o(530Df+qT{DC#9 zy2KoKngdct0#ThiRy65zki{!+4lb9|uM~}_$c1|II+CG!zdoXEX)SqEge?^ZR|Akv zp5EamdvG)WNq0Yd24Ga{j|w2|bREl?V$b@$kp(FLY37pG#w-sjW_pnaRHuz<#YHTh zdiX5~m>Tn1nQ`?f48LV#)+ zeEK*m08G>7ciYM|D8oX(Y4f_!J6bu+6#R{A`4Woq_$JE9to0}?ogrAN#Bab&4suaT zJ5UVb_jr`q0rwjJ+va!Uc%C+|%T>y&$>Dk)5?+Q{8R2I0!iX}}f~K+v)70!LX>hX4 z9Fapwz?Af8O;cHynuTe-*Dp0XD%%ZiX^;)?gDh_fq^g;lN#;rtiR~cXa zBx}R|pM0RFP~EOa{gm!~X`%I5`Ix6=Vno&l`7%*`+lV8d7Os0rk(H&>7lVnxo#j4T zD&DlN72GjXO#C9?7qhgr-6x@!MWfYkhBnr_CAv^-ld2)_|eH%|sw} z;S$!U2B6voQ>UqS2BO*&eQhYEjio%8Dwz#Q?>61rjtz7T?kMz|529*a(_(!}p{FYe zQ@s||W4vuL$iG1S*s}8FuYaaRf64|(sRNo`?=47YbOhF;OtYWD+Pk|S1RxEqN9AV# zNKc&78l>8!>8x9GMPNai$3tXeEA>GwT0Bv*>RGp=msEMsGJvTuN%^RU5U7$rO?j;Q zkze*x3eX|EufcV2Oal#5bROw#YqZpo$U-1$E%CMTvyl)}r+8(M(pm+XkFyNG)arNI zbvt`iHnI>@j%v+Mz?ISeD}JZV>(Ry)0j5&8H=sOTL@7Bx6(giIj0BCkInWeMsMdPZ z=6AryM*X(=-6&26?@62AwJPX^a=(H=fl}(;bZCiObNW_=+w(++ zw;ml@%*x(B7p3UAFizbVkGJT94ZKi@ z-}ZV-zX7IKZ>0R+j+N#?&0mLF6)@FT8papyAte%`um}IQN}VNq0s5C;mvQGPKM z9zRc@vJ+aDdcgE>eE?IvzZAb~spra_>a#utDeE%u-Z9RtPQ`0cGsoV&bAQ#j15`j+ zqb@)Q$E{Jd!4y;ZF94i+5S5LnG?hO9Qn3sS#jLH1DiBp*s`PKuw=cwW@6sUZF_zLm z{#3b6wrAuBKlR|Z$si9lYz-37YBF>Lw)o5C0;B>)eL3S#o+*Gd07o^=eis1gv=~6@ zR(84LECX?lhQIHTvu@o+0MdQ`H7_|4{}kGdL&qA8{L9N!6Hcsd>($MaC-JN|9WXVf zvLgpZe#$e_X&(ZRD^l;)~NB}xxLA`om>AhcQOW!@`Tt5 zGBhX1RIP%{$6Eq0ZAAT!TbU|XwdN_{%;^0U&)f1uJL~?O^VS`F;e4K{jon!5Oj<6r z6}l9+${+ckTIx)j-#I=u;;7Bf-kWvCxu)%C+N!1a&7<&^;UMeSA{0u+{zqCN@yNs2E$WidnK~F5MZj9 z;&nW&x*1QffF)&L`(Lpfp4<1yF2DpBp}by+gW~y!#%ubZhte6p=5H?Y6FnzjU;Kp1 zeKxqeF~4zs$KPn_AN*3Mn}yX}cMt3OzWTWc(07ZuyG(FA9&bI5eVSEO-x|JU2R>@W z;QtB=z;A%|E*i-)be4JCxRdJwOhfBZzlP}uawm+rYOfH#)2QdF*OI?7{+0vVclVET z&=eNr$rGJ7n|fD#)VbYAAk{f-FeSa(Tcc7@IkqYN@pVy8Bc3#!-#}E!cn_|jY)k&< zbZ%Lr<_wtfK~(B}f_85Gt3*icr>ftgTJ;{2KRz;5Xl7xyqWtvfOZ;>{@^4}x!})F( zRfc9kI{DH7Ahl`syB|26vml*L9NiP#v4a=fS*(}$vq{tAi~hn#Q;gqv{A;m~TbBRP z=ojO6qw~@fz|=CY%+}h#8_lprzpr=AZ@SYjopYzyq~+wXiylN3m}){p!M^SkjipdLK0MOhcd zBq&0PdfW*x)iwF6aOF~e1qyz4d)BY9n2cL}j`cxFkTia8HGpY$JywxV7q>vuwBSlM zjj0A8_0#iU?4+0*S_f+O z4Zi|XSw-WS3c*snCc6M$?H$fbtK+rQ%R<>uSEH;;_g0prLkc6l0AQM~CgRN~222H(iZ)%};U-=IVEXW9b7fv&tm$vA^N*i;zf6h3{S(eB z9-%MegT1(0aH7WoZ}4tODJDQMt@n}}d4T04GRtTHuMlX{@lS9}`xxm%jpC`5>QTp) zLs^(I%<^?y-=PJX{+|kDDz}eG62C>QJU;B5h&Ad-B-A`g(m+%RDuB{Bhbq4(44LkrR=SeMFz^yppyQp!>mq)#pj z0McS_h}ZEv-buIG(3-p}mY2~GZv0kSn;};k3Yc1En~~AcP#MZiWAD1(bm!l=;7+}I z-ksWiA+ko*+AKyA+<8DM7cvA`xS!I0A^0k0&s6KTI*=L(GL1t+YX;>tjgG*_ofyQ{ z+G$l&4%weUkqyS#{_!;OR!usZ^-ME(-mJWq`(6R2^H9o{ZqK-<9vE^PZVnVvnD|}nd3wAoH>P^=yc%#yIE9pS`GTC{fN892<4XBd5n!sFaG3s{h4h_5lj1U<@!- z_%WQsubjqdUMa`dbn{((t~X0Q3Q)XkqH&B6nboE9Tp%hRlwAa1`g&slQ%j4MUlk^? z5H}z9Tpnmj0L+Plrcr(c)B(Dc(^o~$v^Zd@+!m56O1}WpRc!Qh>H9le|AU{^tvSGS z2`4bG9A5YbYxv1tMxDHY2=2j|(2?MYA1i(tA;bYwg+0wTgTK>_e4FLN!jzkMkY3NSs1)5iqbM!nWBCH6e3M&{;4P~b#XrgEy^YMKH~bsTTIoQ_*6RL@(P8NHJM zQME2=o+T^#W1FZ&9T zu)YE?Bdrl~Mz0%*$^%G+anSXK;Ha!fCu@3rxJlEl!Tj|{CtpHA0g$?Roo?Tc&H|90 zaZh)DYNVtTyq?E9-N6{CRd`o0!DAq>+In6~*6R+KTBel9N*i!385@t!_AdF207L~y z)k4IY(l2XNBMB2f-jRl0TosVqt# z#fg`4CVcEzz{+K~J-F?-7!BST6u<^7grDDyaq0)K_*y{aSDinNQ=8C-ghTmlmyo(q zH8QtUVy1FY_4`!prnhh`HRDTdE7OQ8$$B1L7$pb2(*RLfyV7By=*ds#=O|nsRa5y5 zL_Kg65EVfe0I9+4-V&8Z{ZcLfdD6E7;50XtU+1MZcCOS4RXi7!J5G;ej2=oD0V$}F zR4za&K1KlP#Eb_=CsRgRhjiCqXhAx)!&{P0B7A5`mm9hafD~|4AnCJfs{=@ryvXC- z8m{uiq?P-fWco+*xz%&!q1?J&ZGP(pm|7<4oq=jIJ{F%do-1$0_ujR?>CU~5CF-k8 z=|7aSMh(_w35K$9&@^s^>bnLBcE&h1t-lt&H5x?C6Jq-0D?tXODaiagn%ubrxxxxz zO*VB4T8q0CebslX=dGB&W~WJj=_-_&OHo)d3mA>5L38ZqkKt9@4jRFC4~V>jL`qqH z5GT3@C$Qn0fgcA*2pQAV2%e8=23DE5H2I#Lfqd@HCFGuUx#Mz=gjcM^38xTlCtS{) zaJfpUQm|C6F7mUaln*! z$=a^(XkieOt2t0M_6~(tL)lpXrf(L0SK45b(x<7)mStgm;0WHrRBM?EH+%W_yWBB> zXGO@bb1MF+txO)d&+_G=Vjm@dsj?lHF#=4Zjhq7UAi# zDb4z=Dk+k2t%xOw-K)4jqjK&&9E(NO$X6a4lcahs8Y^S=-kBez{vzF&((U^P15ra? z7N{OXMZTLQYN6@;Hf3DA$+JYIsp#D5l&&YK91yh}zDM#!FHq$U`}an)OTDsOfHYVF zA>6^9o#`VBQcbb{!5KFt1V^V%&A5qkI^Bi&0Hj>g^!j~2I^&+d;?sIvs+7k&b#ja& znr%FlY6eG9WaZTLTC$TWU}}j~g2swatcAIade-<}3D0kx|L<5A^_)BX8rG-?^y7RX zJB2ec3smnDm8qH+?;3t*5kCTC(vzOo``#{dp}`w9a9+%;yX-h3Z3j7l*hY4hCIZGmWNhhd$*XU)h7 z1}E~%4GSbSCk#)=iq4$EDy3=^df&Io@~qekQ4|MfDs{uDV!-sLkOyJ_Bzfh*QuXI@ zk`Y2BuERltcLu(8CN4#LzJ;R2^JnLQhwi2*P)t=E-M@ga(ay?Zr~uN(@E74DL-nry zf4-Z8e2T^yF)-85^mv5(6pzv=UuhLEX!1+Qp`5@Y#$USDcOqYoMRDu-&FPF=vhx8< z-^hOtv3p7rP_j5>X$O0Kwik!Ti}00geG7Z)ce~sIHa9wm~h>6zfJ=KY$S5m-7KUaaf^Se!`5M*He}CMc_@E-WRT)Z0eoDZ8BZ*UdY{ zOPYfBUkrVPkxait$CLQ1*=J;6>168ey6qT|0+7zXmCApVJ5=BG@!$v!Ahqvc;rhtc z)F{omt$J%DI}FJV`C?0aX!0J;tC6ofHm1qy`&i6m@2rnf*{KDZlP@537>KH={DC#< zJ}g!Rpvn@}HkJye^3!F6)5?QANThG)TcVcYT`>@~6yGEHqKKs6 zU*M=nPROwVuiaG_0Y4zwl*27YTG0M7(~Eeq0kkNTz&$iPwIhJqpG zEDQ{(YPzAPr|M@1{%)Y)=1)gJ;xld7cTOcpL8PILQWc z0wLdl3#nYd)b5u*bP0k+%$$&MJN}e!pNtb0tmS+$;S2HK(3nS%AM&Mutn~dqR{U;x zZfxP@m;t6LYfG>ElQ_w)IAALD5J0KtKlE@AP&9s7#5w6ms}CRe;{n%mXHWQ+oR{`g ze2aMj2PUqS6>)MNP9j~k#qca0hU2X-r)eJSvNqj`Q|Za+ z`v2S0!*83$GY9Vb)FB7{?Z)2(g+~!a2-oJ{rAlafTRLQSFGxCH~h}J(l1EyY98Mt`{;Ah;#rExY)6$M2dcI( ztrvouV&2AVRL1)>k@I5A>RtC6?mU|qoMv6rllZ~9sC*>W+ASgF08}X#>JtD`xn|+P z22*qZH7<-=t|e;TS04eTtAd24@l`&_d;hLbsYxULkfk+wej1gOxEQrc+G0tn_)xrW zM4hiVVJ-N8tV>1PZqsnSa_ZZev-)TR-~BXSl&i?HRN}>)vS3bOcB}!V9h?6qUwC6{ z8FI&{rbh67R5PfKiBFsNeq+A-NU%UOxg|m3?^z!B`Zbk87@nE~)!E|^QUe5-%Arf- zIZmshTCAUZzbBxi1QnW^KO$iI6%Z9`<2MocJvjB@SgHAA{6lH-FNiVyUs;!~TFORGKi%OnZ>W+4 zWc4koYs(0q+t@tGD%oAZd&N&bu#frAax6LU3QpIT;vfS|7l9})d?yc)Zohu1>N!o^ z(Y}N(HlnXivu^7fimawpf91%YuirYBf!SW1nzc$${uW#_ z&|VZYt%*91Mx%;iAS%8obmy6hzYl@=o;$h@l0>l01W|94$oBQMQvTyv!P)>Y4E*bz%-4Q zHjG1K>_x4_``*Q$z!LR>w?;j|I$xzWm@?or?z6X4v^MGpa(%>7j0358f-L;%V-b`i z%pJf8!XKlXEO^9LAVrAVg0r5I&US9cSm6kU=`WE`BVH+rrI{hv^vCw|6)wz?D%&s`u?dRdb509=!K!n5vE&=qEr;8aQ;%(!kfR zR0`cD-DOJX3@nwe$93IYP6Z*bOsZ9hkN10}UYP_<1(?po&FkoJ=kQ-Uf1a6(naE|n zCNu?7+g4kCH*OHO3ilvRsDv1xzFh##HXLMtDN(s)AR2RTBv4kIRZ>#U#m5zPEeZ>P zV;f)iWdr8(VwJC)mABF?cN(X>DSbj#3@|;;u|9MvU*QBBi<6L4sMwTz1C>6tZMOTB z!9z8@OGRWNT;Bv#l&a?P6>is+P0`Umnc()YEA^W04tHYTkUPM!K!Sx>{~qM{ut2sV z6bDYD@=(JNQWZ9gw0T%0DOCsCMo%kNX56=DeLf$+pl&JsQQnsEng#==%2@U%0ZmnJ z#ZwiW`Ok4IfW^Z2a3C7IQ#WMXD$;uCdpHIq&n%_VtF8+yMY#3-b7T5wtJ}P_CR)wY zs=sl-R5Ds*_4+W!YTBynYTl~%waQwe7}HdbzP8mE7Pa44!mJ;$px#LzWojS?Vj|yI{%q$I# z=0`0X8f(32Dk|eplW$wyl93m{`9q%8=NbPxTAupUkA z6sRQFN(#9^(>P!{oAX*IEd@S%IepBgky8=}O-BSw?+F1@YyUzWuEX7jlO>MO3IiS` zGp@{mrJT7-Vb=U>;oSqwlK&k7BolVyG&E3LRglTHxT2)6=v-!HBBgB_PJob1&kQh) zm$lNad`ONdJvtT;B~b7fZW(S(<;oXNl||VVSeU*%TrLV!5?E?f3uvlXRD5zvamp&V zSrn%F94D)fH@@~^_xdpbr%d67hXPJd!JkC}PMNm<=E?X|`NslIqw)}sWns$LQq=0> z9>3AkCKCI$4tK*Zye(K4KS+9Dx%_mjt}W+670S6qSBsyw0hHR_3pmwzeH_ra`28K) z<3PxGPG=&xmd-su1R(P?kzN9h}= zVFsdVW@l)P>Nk|4!pT2)B$&n@fT&oh5<>t`3P24&RO#8ad9&BEX^vNZP#t4Ps=ynA zbA(4fng(cll}dudqRr2S>vx_7jwe1=UV(&E%KMUlX{C`BNKZSc1`doB{@*(H*WIaCu}0l< z-W}&FnXFMI*o^`JH4yM|09D5tdTA{eKdnC)Z`or-{2`{~@zsn```}*&Lf>vo3V#bP zBGb(nIxHDpyInY{yt7TlM@pJib0WeDaXs`_s_!9MIYgW zXLtNbj#FAsan=7##Jjm>reGXaMFL4?4ZRKoff0}CoNY~*6m(|r0gO9)7SImViGK!J9C0tw{VKv__>!$#udLP5pLax@G~pEW#KW!;)_$+ zPg1f@-uUW=-D^x&U9&3V&K?AR21Jc4PD=o%+ip{3f%Fmq`C(bK@|eeO^aLQRjh^~< ze@>~-0l)r?`Va@_mlN15z;qpbwZ^(CZ1Hv{Zf$sMVfcf;A27ZPfwkrR&b_vWl`cA{ z5w~zJ)adf43NT$yLX|&dMb0X>d^yRcoA9`1K@v$u3JZrJ?yG(I?ahBU3wdGpNB+I= z=V<=@(Y0}KP_KTs6<9Y6Yzq@L(il0O_THtx<{Zo8`NccgiD#!YxvLeOp zdg!d13TSG(*f(Q?rebNYBs{MS_2uu1^yFDv=dGk9(!JMsuUJdzUBdv=avw}Lx$W4D z1LKANy{nnh{~{YqA^iQ6{&0gS5dWu@=4s{&2S0!(*=Pe{h7olEWrR5YtiF+u1A%8G%doViP2 z(!%T6c>8-K>2|=7@l1XVERHnAoKbE{42a%W2=l?I%kr* ze9;uQ@^4=BVdeg)NJJWa(cO4o#kVXxR?+F2v5Uiql7OjQ5ODe`mQw;w&(nYTU8U(G z7NLyG;`9*MdYncZU}{tGH(U#-umQmI2cPxX$y3S+$pcJR5P+O$H0bCP#!vQoKvT6n z7351e_2;xHe=e}}4|65FdM$187S3sJnb)WdD;uBgO2JZc;@G$T9o#erK9OH_#W${?9 z|4lE%G7?aV{}EtX>ZUT@(Y~cd4z&62T<@AsxU;*lL=}k2j)69%U*M?7k6ZZh04jrf z0jCC_%J)En&smcaw)$xu1)75PB zbO{?h^*{L8AhF?Zo^l?)vVxO2&COFZHUDMOqBfzr%Q!>)9{i(_>AG~Ib5B18uJAFy z;D7i+WI1c~k6Y?aRRN~=kgT;hf>LAsEe1Vlmg z9-Q0m=fT@@za4aBT_|P~P#EQ+W5T*PpZ$KRFgZH-<%~PFAEkUBV>A?wom=x2$K0Kb zIU0+DqsDNq_*(>+sts&HA%7C(eKQ(tM#?&!eg8|t%ext6kev%av7R)M&O9YV)in-; zN-;6zq}Va{*Bfvk6?LU%ltEoHG|D1x1plLH`2x}e?!+Cyo_idpb_&XLY7+_yha*wu z0q#H%5>Pnwp4{D;`#IJK&z#zoj^)Q(we80Df9m_x2bM{Dr%oxp>5~DbPZ61=Q~45L zdK{uyi3GX%<~Ypn;`DJ{tK4 z!ygZzzQl>jh<~-eWw1FWwH?L`%a&W zgQYX3bh@<*rnn7Drn*c1NNvVwLyT5Vi@Nz z8Vx{H9W&0snXfU=IR-icQfmcKeWxSMKuRN23t*ZALnlq6vzjsF0nZ6&93BkC7XUhe zFNg94l%7G6JcGh;+WTyHu}d8tIv#EUx`ICr{n@|Bx;Fh8cO0vL6SzsF`?8gc(@-b{ zpdJN46^PnM0Cg-5ih|nE++P8vUMX8Zoj6Pt#ky(=%9a3w{#}6*V<~KA8EEHb4;n}@ z5gCwUz^Kmc*c6lk=c8TGXl5CBzPEo|Bg(*A8zGzXEDwb!DGWL7{g?4kV7x=l4>3S5 zMj3%{0urTkzYRBtGqNtx+LX@i*nG7m9e2@xz1e3^mhES+p#5$r`*wfh#p%=BIfT<| z=g+%o_~tSOnChJ(>?Ta z3$UPBd==M(=phRWeJ~268s=qZl0O6BGN+*IKBFhs5J23z*2ioek%Z{0!**oOaiaL zy7Y&ijVI3^4^z_Zj+Goxe6@@-Evj05pGEI_OytAnV+%1V7T zZB*1~89dh7LBPe)_1gwa8(d!PN?$*QYhBdSJI@7E`WZMMXYCeE>o*EO(_l^1;5Z*d z^_Hk8j}rRjQW7xL7rH{0sPXuQ0i)BI&H$L@9n;L@pQHad^7@c_{i&fmz%veh3Jmq2 zC`w_+2kH8hY|~caK5_Y7c%^hQ-P29v;$_@#13~;_{{XMhk_4n`eYeRdm}Y@mFDuk` zTc9lJNCHenm!Z*4qpoP|KWi~R%TQuo`=Ty+QaLnxFsjW+BEU%X((1D6v7CWAaiG+W zZ*KhH#WOC&pH?V?6tgpGqiR$+WT#W#1)>QkHL%otQ_5)F9xVMFp#q@RoHa+xrYyd^WfnU@n$vdFtYFEoa`f{Eb`?g zekWZwVJeeS?h&qQ%A?A04emkQ^w6oyRkrZH-U^t2`Vahm0G8^5^76|jxphpz|H;38 z(Ti8HS=B-QtGIGW#cow>ZR|LB)5x)u1DGln>(AmbcJRemYn)Cxi4kB3oG!uQ^eFA& zpgtfA$SOh208cgkn@m00upO}UP3>9)@U@o=A%x0 zNt6+-OMk>O2A1;tc;4^{PL!lZ_01&{kpK^8x^o!r49)KJ;HWG}FTbqQuZbF85A|F)M(Z7y}eonY5Mo6>J` zuV+N^?HFs+XfXI7$Md*0kIYJ;6Ig{i^G`Vdb<#pWw{Bj?U{K(x+))OOJFm(g4D)2! zG?oTGWoNnxH%f__gmShFP2dDd<-%1YVgaDR-k|JStsK1doj@WfDI%-4rkKc=Q#-h& zxdRtckQ%jGIi!}cQ4~=l%fQ!j4Zr~xBG6RenH&Rh@4tyJAe0XtW@+l%#kV-$ghOQe z{z3N$sSCBAjr7cW# z=PsPmC{RJN>l-+%+6Mm{en{TB6q&K$=Lw)ce4gp}0!uXw|1$c~r3RM5&!lC&#W9la z%L_T02bfAmCBt++AE&ZWUn*bjHQY0}>u{29qE~VB^&Y6ktEUp?*OrDKA9&YnzaE{| zD_sv*I;rQ6+)df6XK@@beUkK)OZo<9RZZ1URZl~Sa;RLe)Z#Kw&d%j)?4}Mw7N=9F zC$AsYMxYsYl6J9pPR1QNhSh2QP)rZxQ6qs<0j3LPX53;dF#BKnd|o>2WSFvU7Z`^% z0$jJ(74v=iR#Ruc5y*>pxvaZ_?*TVcDAe=*fBeF*DEzau&%UQCmo>v8DxNURW6oSxv4o-xPxtkREF#Ume^SJX#~ z#sXMWtc{lfO)CLNwSR#Dq!UnPCt-{;84FRr{wP4{D_Df|ASR0RHU1}$b;s{|c-zFTKyQ}6XZ7YqP-jUNcw;PA)1Kp^S}R;bFCrtnYO zGvxm9vhoJM@p33Tq3s*1=71C#4Vu<1#o7vxd*v#kQe6csx#2gjZ`qDEyEYpD3IZV1 zHjLhbQt{RD>Y6>$>b}}UyMJhYDK)wrJO~GH;6c+uz^SewUp<<28NPtFAL0Ol{EoKj z8uZ~{3C>7>>1Ld+#hvt>sW|z?96)5Xpj~zy?R6P(>w{edw3AJsY&yRDyeavLXAe&K z5U9|NBY%V6!w*T8q)TpeZvVG={q4-+|J#hWINifci8=JG%i>_^?&?4A>2(pvEtxcu zQ(v0ANBsW=?iQSp`g@gUBP>j>ri{>k|NR}y{CcJ5w*P@og#e{@bEIlv!;l|@$Nq*A zKPnOxkA@@$mg=0>ltq;SriwHU&e==!QSj-_Uvxip=)>+bQ$?qfnNxtI$4?HqleCeQ z^I7MV559-^SbSU`noCfU>?%;BJUANoFKg{l zfuqPq`2tEi=V2+zhZ{G)%Y&l=NS|8q>9VrYJN?(N^g+_IA)kS#ek=lTdJ(Yn0`*!T z>Onx%06?XRpI2j{NzsOKAS%|Y1Pe3`mdK+I;y8aQzZzPO8UdgVD;tfm_z+s{_$Zh9 z`W&_O>iY0C8EYFbO>!iKbE~|Hs;vm8z|b0^u(Bwp9DatK1yAih?@sbHO&d#TO8?nV z$SVo@I(Bg=XR6SNRxoWggY!9HP#@8V2`j#DcDcg)Y%#Nd_(|GJ0J@BSt{6CK;np8*LK&#xLxfi_kSX@zFqx!M=WnnHl!2zh0Mq?E zDLqSh7D(|*K47{;paviA=6?wJ_FsZ^OEnFD7U1OaEnHiT!y+uc1PLKkQ_-pU296d2 zO6{8Yq^%G&LK(~62x!XK#xK3_T+m+&P`W9RpnDVN#ZK38K~+sfw5r%mCBoAJO!W#` z6+gBi0L5=Tdb@k+O)#i#K73x04LG=Jn1(;s7fpo0| zP<*{GV5%eyQ`!|MCi79E5p_kcD@HzT1pw29ix2_tqq%lv+*cp^LczzQd@(led%X0R zv0wyM1eOb$UQXPCXXKW>$d8SKlRjfAzoxQoROMGal6(d*)zT$Mbw?Uyp@sR4wCntIrgu$4K{fyIYha$c_%g=edj?je(`PcRoNd zPF(|ik6)J*&?mBLdRKTaULL8xF)%dl8!#FVvtvNXT9tLLWC#dchNBOxgh~RYiU{D# zD_(m5OJf*}w=TUYXI=Wn7cy?|5sc^I*~%DLntA(BY59M&-Fbty#I{fn#OVVTI!oX_=7mW<$JaTvBF9>5>P5--G(olIab$ifT@bU z5~>C)wfN%}jTR<zJ8ip412=V=;snx;zLf2$-TXB!N;}UaQ{VT#%}<^;<99!f#~wat<)fUXIMv zN5%fWV5R}Gr0+y^vby_`UmT$jB&c#^)9RyjM?+9F07pCAu7}QsQ|klk(Mg(Gzqr$# z#JYZndk;Q!&bt>j{Z%f~oQ4DY002M$Nkl_-bF%VM;oyVcW~>FMdQ z@lUI#wVl2;2kORwyS9HfihCkL(u1ON@EK4~z65<{mmD1sgQ%G^m>tOn!0D^$m{_>q z50n^mJ9ZBAiqBHQmlB<|Ecv)+|NRs{{XkRsCG<;uF^dut9av;Rz#R`=9bIYk!F_%A z2d~t?aW|P!r=kJl1N4a~%Qt?ihm$t70tfEe{vEFXEM+>$83y;WD647nNLe>i^6$L9 z6_VIaLz@F_4#0td|2g2?;|W&W;#|)SJw9;YUao&LyiWKq(scZ{Bay8ftJ{}bfUA^l=;^8Sk-YoWw-us09xB|g{qu(&aL?=;a?86r z+*GWej_?8EWvixPClLuzEz(_P!|cUNDTaW{PG+LDn(buE6^ zDo&{Pjjk*4Bt+?A2&!~gIZU0#43?i}^EEzj^!|R~GO&1}IFy%P>apOu`kx#aC@cQ$ z+@+?f`abz^B#W~{Ls$Kn$-IOTamv4Ond%g z4+m{(6%Gvi_JDKm&9$?E`#4wssxp_;*Coz-?&{&7Fx|C%N8td@Krz1yB|29Cb+gJ4sp_|*E$qE2^~Y54B495}l1t&`jhe{e;KH#O(deZTee@TvTg zx5(p*Sf5_t*rxKIBJA|Jj5`y~^7Mc)`3yFc3iRh_8b3?q>9~|meaA!k98#PjnPj)9 zoY&x({n<=;YsqQ*&F4Vd!nB4mXruTwFs}}emQx;at5GFEU*j~TUcl%y{0Wl-tI^jU z$7+<$%D~a7HzPfn>fjX~c4KvK@GygK_in;9Sn>{ujlb(ZPi38~A-@2&-XW5epIm%B zR6CcEW@!*rk&jF}xBm6WH>G&TjYC;?i8LhujTDek45 z0jSHdnz%1Ls|jzNp}t^s!IYH@JU(rzpO!ytO1?dH60r0S?Sv1O^wZ03rVIWS{zsUK z%|=ht083YG<{rIYU@2>pyBo;kms8H8k|9v`UYtM_0Vw7SR54#lmz=urbGVJT6F9Rn zl@fjn4r+!4OZFz}6TEe*Hvm6oZL0JnNm;a!$XhuUP%5V|hE5exE!L&+7g_%n51R<@ zpV?BnZ@caI?QS>LwU+{VPsSZRoSU-0gtgmk%D%>C#i$yqQ(2c@%KCw;uEV-?|L2QE z?ZbyzJ1JCkn>N;ry5bYXk53oliN43Q&f?Enu)AUt!@!#vPf)mt92LGHjjt_sUTu$ZvE*xa-aAd2|;Qsh; z0E|+lPy_{(PGXkgq?v%D9whB_ulz7vcQjmcRBMlRvS#Q7^w5rlouTFEdADxM1U7N~ zvv|}kaa``Ws<-1~1*Y=TnCLHUEmTeE--l6>S)mFXMbd=eX#k>%hY^6vb-xxW@_U8ZNRh&R<|o(6-=w+BjuDw94K9}tpk9R z1R-E$HLCSSHKkrwqcd@nKTNNv0g&7w#O)ineH`D!1CqX>1n&P|f6qyA>RrW}s4t%P zn@gPlKs}Do*EBFA0j36;+OeJIgQ(#P?ZFECdV{DxGc)Tt0pjvN(;w2&!QX#4nVzCr zL6+OMCO9CaMr$3d0^B}wjM+L;y5^(Qyir=IOhnT@O^E~L4kS~0T|1f)I567E!w>HF zlBp1A^Vt*dwhbqsRLWfvFtsrCX3yUaJ%D1(;A?rhG+t)bkb>hjyLAhLHzNH7+5I_lSQ5Xfk2Sh7EtNiJi|VaQ{d_ z^#n}yZh_~IhwGV^O3SSWZg-EpHsqGAV*E!2&zuDF(neA6!*3J?0H!JX$7Bgul%%>l zl<&_Ly~8dDFkQjYPICYj`=1)cfaxmg>NoQN)2rVH51waXc2p zkB$YDDje6IiVq)Bq;mUn516Wa=sS~Tke!ot?wwp4z)9!<-Wgar_>IaWo{VHXI7)vY zaI}jLGzN@%AKg>n=w#L+oiquHQok`%N3iZFQ|piIzu+!T3#>=GFK6A+SO1K}j1DSC zH&5myn#!-v6974y%1@s@64fZzvVKecNs7 zpkoA3>X#S7Yet_OOG&DS)s#o72^i&(wE@!#3b0+-DqvOvZmpy|;(+OFtVsoq%1!z? zMmka={)Z!t8wi)m_jtXgHlitW8c1lvr&r$qIPHcT zi-YoNZ~WBQnxXP&Tb4GK=OevsG?t02sTSo;z?(h-hW%9pno5a}gQstz0K8crncV%6 zkGO5$$4pVP4kTYHpgh3z@90my%){zaL@2a_-wO`)E9=swSZMAC%sO%k1(W;M7+6X_ zo;eB=1eT`U_e1~>;|34Riswe+{Zn>=ue57SA(B!a-fPx$9xxTiEnZ!T6W{_hOF7HF z8=i~!pmxvl;Lv^r52zZ+sd~LF^zB^VODmzYz*2i>+{)3yDB+Ixj{~i_SM(#Nox)@06 z!%mRzwow7hNuSE;)3XbadGE-*J1%>*uK3`+m{EI**M!{tg^r}BMH@14GC?3H7Ng$H z2&_k6c{l(^;{a)wHf37S;ZD4XROR^4vlqMt>GK=@s?cjjU6{&4RISYFo$~8U1AsSJ z*an+P(Nbw^HkJRprt@QvbO5;>Oyx&c4jXweh2N&~XIKs|n7$tXsll=I=?FBHAdsA; zEC=tL#fPv@b27H5*76uz+$cXcZNRh)UbQP%8BA*6E!C9A^)LUt-wfgmU#KqmWrVH= zMv;=2BNge;JZZFqOA8z=mn9L1`sxL5-7p+P9rA#wI%5M*I~b7ZT+mKDTBps?6$*CI2y)8Ufn7aH*C~dIR z-fh60otwXNYjypbHj3JNlHrU#R+G`AfbarNx0BYfhY&4~)us^pyt< z9A)Mr;Hg|@Zil;wU^#x^q8nmKxHq3a@7)WV|JtG+v;IhBQf|h37k|RJ*BIQKqDPu9 z5S1r2tAr0+aVykAfULnZeuf2H(;BDJh2mDIGEnNiS<(Pv?DV5A%qnPw8r-0n1Y-w4 zO{+YNH)Gvz1Exhv*ea4PSNm0@NYw4%8aSYGsii!6dq0vJ6(Kwu4UU$Zbq}JxBumuu z9z;FH*RxX^bcN)>Qv`huKvhQ&fT-vAf@W)?+WnRJLv#v%Q}!cPCcT$20FefT1%%)2 zStHNKP_ixqG(FHB9G1<{6mGOKQB+bUH7HoO6o6qj%jhkln4}4>qyE2KokE#H631N> z@iG~AnQzeykA*UcK!*Z6j)QXrE~gqKz*Mvi3mUhOgL(cm@8|I;liXZ{(L6e?j^jcP z0xAWV#=%l;>a+yF;s9XPsk0fkZX?eNEM?Y6=4F(pGaOF^jCeKu{wCtH0NTfK0!{b` zrT2*nft}Ga!7agkJ9BCC*A*X%ny645!Ik>|CZ{R~uupEdB(U@voVs;6VMUcty}(jS zLm|*q)C(V*wK23a(Fu-)?B{YMd;+qWM)3CCeq>eN%=TSPe#XKx)=s(~ z`PWrtM`Pzs6s`aq#Yd(DR-;&qhU<>L98Re>P;@dCY7%RXx&@u?9Q{NGz5%0aHnHaD z>wjKVTE@ylRwilYr+4PZojU}GI-3F#GKxGlYt&#vDOsU1b`Xe)EI&oVKWiIG@yL}Q zM7Xcy89Kff{&2RtKvY^2)vtw$uPBSrXa`YM9!9m`D;CFC_1l1HqGYY&v@1=5F-<;g zmkT?Oc7M#B;%nqdS)u}<9%JBsMx#84t~mlv)xk%ADknPkASxX|q4isQ1kq3NULgsh zCd*{?kFxHn8;MAYWE?bofr$T_~8&fBH>(Xg-RD~=|1Njy7OWwK^*>zxN#;rH7bQyizqaj#&Q~f~4IJl$! zZSZe8-L^lzFd_(&_gu(~czI-Rr0f8lM9l_N<^Ui~Asy(CeoUb>iNyW4`lIT8>J64E zRo2fXQ#chc`iYIT_j9)$yWPEVgz5R+Og-N} z)s*^)SbJkTsrbskLN zXPAXSk{y>y*JuS%8&NK$_}0qT+JI?TI_*l*n$@&jE~U%m*0~?`n@XMBd(i`^0#a>y zzJz=ZIE^0%Q^*9O+OC4ZTl~*_cJ2qA)$uppHmptf zh#UNKZTPW(suEEkwW8Ca2gy2ad1_{UiY9i9Tu1{LwH@jsU=(mv0I3H_r+2uQ9yrTJ zO!QlmI-)7{owGqyS#R|Cex}r4+Tnpw0i>JX4mf%s00GAciyM-SM(X&zbFe~X6D>Cp z*##JG;AyZHDj&iCPz9tOjHdDrVT~HFK^DdaplarVK86JrsDP=VE;)H7-`0!zyQNsGnP22YD| zruuLzm+E6^KUohBjKy-vUJdw$<=aS94@JHZV46%v95B5=pR@b?d2d}ho#Uj1sev<6 zRHT?J!sP4FiHzH@fmj6`tpqInW@Ero+@@zh68VqDKjrO@M^%-;YUi=sC(WfrDIZHBb&SI>ckD`n7zM&(G zrI?x>fTtr{p%xo+8-j77MYmp2%icm$BKCn|{&t-&-Aj^V-D{ z@^*i9@mRWQ^((3O#p<}_sUC8+*8Gj8=er;Ig(AtN&W%8HDS@>pe)+&C)}(-G+O2*9 zYm)M1&z(n)=~_M^no=)tblZR63yIO!sk80PyNnxE`;ud#xWPx&kyY?u@5EncEnE7D z_=Zw^@Dhk>R;cp#9n*TKffcI8BdUS%4W(q6Yz9c0#(y3?TIa=Rv{;}vt6Yllt(oED z7BFpBf@W5`;_q&kOL5**d!={v$K1KsFL+DTmh05kqA$V$G68JWq z-|jERpE~ilTmMe(l%**H{K(SuX^s~Kpy^j8GAi&Y;P{TmGBnO@-AsVM zQl>>W5-jzJ;pZoh|GewKiubA4a{Z@WE9Dz_YCuZfz51}YB^Oc+U~2KES)P`nN&qB1 zQw&71_!{BImvON7tz=1>e_mGqF-Py2f8pnMKmXE@n+<>}AhlL2)Ce>U0n@=d3)?=% zr}JCBYxR>rsm0et61M!db9)|g?t2Go2cXR?1JM`ESJi z#X-?hZx>t@kO8Az1ZgV0fU60t9~xMR;sbmRw-^mTQGufquqbs*qt{xa6P9(lBQIa@ z?kIamY<$~9rq~}0j6d{B^*u>y1Exui)O6nLv03kee}_+3;Z2G=|sAjx0S^!fkOqGjhJnJ*#4lr#Ox>f(y^P4RwTaP34 zOHuEtkGV6i2t;L5DZZ`=Ks~87UP2OJD&Zdhr@>}Y0#ii>psFJ%MH2u`H@}NJ3^ZkG zi(ee-89b&So_~>@L_2C5XqS5bc)3=KMd?U9Y6GVuaj5w9wmd7&n`U1b4`q{G2WTow zi83e+r9LgdG!D>Ar_Y#7|8al~Wfon+UQ$0nX0XQWZ{UvFN%md!^oP6>G@IShC(#E! zzc<%!ChskDzU{UIk}XAiYwpfg157Pt*_)_Onx1$P$6B6_53gy|8;d_pzYt(L2|(oO z&CMBaq-BLF9u>1hEycfTfz)_gjK@D?7TD4Incd3bp98yU=c$2<{v9i*SKqEZ&Ukv8 zacp_&xua)XgAC$*b)aZ|shK_^P*i$}tVRWlPRg4`FL1QOz5IPmrRSLbLw?+1^qc_I z7%+O|<@0WnfYIv#Mn&JkO~Yx2JJEAEKrpvTCk5zb>gx|je|;^Gv!(^L8cx$Y_2cw; zboP-IDy#|DMAe2;=fkP|`&pJn>!8Zn(s*Wtsx?tnhYdh|Y{RFT#@||A+-hZ0OI|8{ zcH97_KJw-bS^Xk=+>py{*d^6W;K+3Vb+JEpmvTR+3aHdVp_wVO1pN{hX_ z4Vo6?OzCiy&v^bCTbet~y*ggXCc7Ds3$U?Vss#Y61u)fgd`-*W@oPfk0uoSq2@47y z!lF}3$9kKJ4^Y>?yEPQltpZQ!|758&gTC!0HUlb$@<7uR08_ow0Ge9LaHO>R4XX5^ z6l-6t+v%8oE~@7{gEv(ETL|o1HP^XsE^SWT>3-zr+|^sKjPAVKm9j#;h|;a~PYbPu zdird}on~Binl^9&@OnspR5{hUzF+7(Wv7ckldFnTn!7&TzDf8SsDV$4pZZzN6+jtU@E{~{W|>HIA?(N3HI)8#rT zOx1kkDjZWgG|qum#Rhtp{DyO{B7oWC%gv{9$O_d1sK{ZC%?kApAgc#Zbt~bL(bAbU zo_Tunr{h^2b;qq*HuYrWm#OK&3Ld*hKOj#XR-+8aY9xKjF5<tK+R~vRgvXl)-u>R4HhY zCSWRsLSU)Z4AWHnZl+Vu+D7WT0ZSiB52UGtALZP8yNUC(&#onYnMa?g%*`53RiZXNaMpVE!LNS5jvY)f-_apzRO#XlZl|j-I z0!z_g>byTk*2jTR0ip(w?tJ*1o507YiRca!+4ye)?N|Op{H_^1sHybm8(m9-sq_Ij zip8ilUYAycphY79VSprJw0 ztQE)H+*RBlOVb!=y5nyP1E$b}+hpSJ)7AAsrEJwZPiXMY5mN;#KO4h`NJ9&o&KYh{~S89<|W$}KnD zTM4QC418%I=oF+B3N)3q=_wpkulEMASN2;7G+i^F4}^;wTZaUgu3!m=IqwB9eY!AU zn#@_!3U$`iL7Z4bNrq6t7 zx;uM5x7Le)pn{+A2%xHbss&5S0ZQZS7icQA$N*D~7oTZ^rg0VxJFcev42z^4P*)C& z=Q65fUDISCj09k$0hs>y<0st|lx4X$0piquY+g-DR^gW8mZ5C)k3Qv8Q}+d)P6Gg# zhVHa;Uk*I=py`$5jc`#MFbzV2-*UjyBtR2?KCNSGKiQuEY!I*@&_LFvfZ44!MZXYW zDlq=B4UMfs0!+6o&A6_u0H(Xk15DxOFzUVdFFkPc#A6rT%=sBNbDkVKdB2eWQYjNz zp`KxU75Kw})H5NVIvhwH4w!E40r2_>bbiKekNuHG1(i{`z-qky3b5+?YGcc(vRsvS zx8=#?r?sE*p04b!^g+7x zXC#hgdU|?tBe#+6ZeMS6pv{3c2g=~UH-GyvZ-sjNP%w>OK&og<&vB>SRb^%R#Q&b| z!PH=ij=${JOcjV~I|&A%<^A6AkS#h?-u>9&kPH>=~BWzkcU;J$SnIEdX6uO+EVP zklXeL7u?|gBW=7qy5phiirzSI*FbcwSXo6kq;N3sRo*86L7?eLoPblxt`YC%O(W7> z+Xsf-b2%Sw-}jZCVd3=(xNH0U?#io~hP*1{ZupINr2d-we&u1`K|lUDK&n7gz|>3P zKq_T2#Ec-D&R+~jl_jdyNIiT+g&EM*H{);P`6T0Jj_>mA5n{v+#9f2?y{Cm?4RgTF4UJST*{jx9|7 ziw~X0Dm0iXp9Dp_089mlx=S+d6!LB&)8~(eV5lrb*S!S<^%S!G-*2vGHVei*aK`}Y z;*x=;n(+2RoIcQ9j{7=p7LFu(hvxxP0j2s-Bo_jv?md+64Lt<3sm+0W4yc~>+|`pG z*ghL|92nIWrehh&9(6UTNP^pCRD>}t6s$6;_t!d2zc|xYs*pprFO@?8l41R zsDnk`!!=ODft$j#>68FeS?5$kW5o(pWz=Y})cE}v2m0`?F{4UM!0A10OH;UzPxWd? z+MJ-hPF6mzt39h%8C9E}W-iz$1&91GJpV0sb2bXN$NzV?aJPP@p? z04$ZPKTO)D@nP-qHN?IWw*-gq>A$bfUf0sTw<<$u_B}Cjdi}bmKhfciy>`)clJBQq zugr!aX?bcEZN{KvIazouezG0;&7c&aj1z@*36Kv#`Fgyc*vqCuR;F4X_ebkTE}ODn zGQy3rFrCa)J;I&oT~-+l15!gU^}-tfSHkBD0I9nV24JZ^Y;OT9ed2za-`xM7 zy*Gifq&n|B@5{{E5~!70s4A!pC@A)#kPup&fCNZ*VawOx##(IIa(CN(+++2OW&8B_ zcut@3>CtrenK^T2#-6r&#+EF<0wk*iDi%RnLI^<>TTy^0C@7#7pr|FQDzhrr`TuXk z7w<-7#Cs9%MZ6dB-u+JAyf^k6-*@B2y}$R}8}rmSz|aKjJI=2{BR!7v1n1{Nag`5G z5hk(p>SZ?_|Ble$YpHbh^>}wBkWU%mWkOH~ggOv32tS==2Z+9j;qrZb0HydLt4{|> zW4o*aD8(;c0E<0p68nzgLpOaZ0Yw2rPaNRz`6+ejCud(P4@wR5gHo;+Dm5ow zr~Ktx(u^n3SP_VtOv7yHaL%p&s^cR46C2GhqhXg&Zcey=)b9JRfxr}PWDQIovcS}* zDzTAoWl9TdY*mi8u5+JKwrifId>hI#`dF3kw(h>Nv{B8Q&FRMSHLwA^Hg)H(i98Ar zYZRCs`GeEiv-Hyc)UWpb(TE<3&$|Bdb;#7Y2xp_HY(@-kpQ3a)${V0tCm?#`=XI z8Ei?67f?$j`Sl1nd6X{>Tj%c6g9chJpe5rz5OI2c&hmMKx*!xEQz8fz=s64C30~S* zuQ-S38K{gA)0U?(Z|>Z+y=wIElp4i{?M6RB?53}}aZYAK=d&~ue~{Kg@aah^(Da{> zzSX_zD~Ry}i#7zxyEhE~5_h{BC9UiIN86=lHBhU*YxdmD9Iwk4ete<_a*^6F&D?X; zv9uATUCbdWUvbwL3YZpM*>R0hE zS8|z1o)gQ{1CS8GhCuOop}eSv=d)0jlfdsA}wIbbMd<#><<%~Lhb5% z7Mel}j)Un5x|xu@Frb* zKF)R?!b;RPYY|fl08KTlyxPgGJj2dXvj6;O6yIrQ!t06ip1x_!dm8slTkfj96w`#3 zQO{EO29zcKvPQ7LGBt_-FGlToiYU!I;B>Ji445uL8QZZjyZS~lM_{^Qeo3vm5%ZVs zZ5=S>^`q=0c?-q_se2ENsx<>BZ$tCcTnwY0hrG{)haKZn@4zz^9(Qa9XeiDfxzSFW zL>tV3sSZSSV5&1ey$4n=$49FG-J(2ICnrm48pU-AVH)i@#uRD2d9c-8DeLv3yCCa) z`-be#RZc6$NyYikHjfrB5q<`?NrS>w^!B9q;HNBO6W0su>_vUp18~XMNe8yUt24O% zjh{{EA@#j54%^2L5OqMP;~`pwq9qQK*D$oCq4((#fY5aSp#-1=p#nq^UwJ+1b$pj# z>#@Jo`R~Mk+RGF_%&El)GCZI47GG%x-I(Q(^%{Q=T905#0p3eyb~`oA`i_z(AXh#U z??n7?p>EJw^V;>!Qg{B(qn+YdBKN>l6w8~*(?bwPx!tx;(#Bc0=_fDuTO>Q(Ht%bC z82@oh22U^45j40dY+UMLMM$u5sMBuD208&M8}N=uGg_9T<2(UW(@uE+rferd#g4}V z;`=Nx)dk74lU|X+zw&%EvOv2DT-cbe9Lm09pF+0loBJ> zxc+$v{HV}j)Hyd+^V1B3tez#iR9e8)%%OZVir`~DfYn|=jieGBx}Ws;;Qmq1Q~6^k zOZ3(vU;zB~d7EOf9ndrkm?A6c(p5@*e|dIw4zEFAdJ*OnJ!1gCboaNps-+TTrzDxs zWg38)^EysH&<`k%1{lEj&h3+G9-!)6z|?tws!mL>ijPpu1)yVtf%OW%6peV2o~Wo} z7^;BPSvNUd@`m?wn7;<6h%eaE3xMh@n=n5kplXgc~xyyQ; zPCM;h*-v4*2MuK;hF9q%uBkmj*V7}^^#;`*p-%dW0aUaEp+`FxgwhOgrMw*V7QD_q zZ&N@}g()f2Q3M*4!|<0PL`dG>OA*=b$knX#DD7rOy1mOE5ZT5ZK%iK-?&tyk^I|72 zLv<3l1*Sz)WF0+s^k!?TVwkrR>~z=C-&G@fC)G)O6_x;%LA(j7(9~^AqLIUO^ij|s zJHTA1jYvBnDs5%H>>B~5X?mB2>20e8rindx!t@xnjvl7!VQgU|ogNQs0UDmpwquX0 zWG?!?OoV}!*r+nktfbo zIu3ww4A&-LS&lCjFW-O+tVURlfc2$KMuu|S;m}}-!#CahX4Q$l0z>yNyaqr7Amrs; zjlS2uV<)bp=6c1jyu zo7W0U*RxaDF~N1ZT(5!MV$LB;LQ(FApkw@F?5)FgZyPR5=*d?P|CzCdp0LenpvkEYCgCVB58!hgo}gnG7C(;Q z#Q06ZSib5;&>84z>qmcui&|+!1LaH6_S)kf$&mt_zm(+=#WPB>s^_DwXV=Hm0P8-A z*_VoUWIB6kV2U3&H8A~j^_;f6RCU2ryY1x9P4rUkfN4<_7p>Cn*??Rsfs zsU;5MKaCGb5uzT47sD}h%=nQg3LCK;w(tFF@20tp0G0c(A)QpR2B<+>H3Ca{Pgw&~ zUZb0#Y0ys8M;hXJVLpzt-GJ~E0_H=g3}@T1Pb2TO&QZP{9T9laXdy)5{F!(rwY-G? z?3A#>d<*W?osK|nOW|Kuwn`yuxjIF83v4uuEYS`PN-bz=0@K(2yHPb4{d?Ba9EN`i zWr82$IiIlfTm=45a0uH!J2N9`myelOXlzXu-lg?&;(Ro!q=w&{R(&J*Ude$5UTU~V zQjiztnbOdd&p6AI4ACbvrROQ6mEbhW%k=Wqm|kXCwsk9^X;6~tJ9vDO$#2}rmAjp(kI`T)ZUyuxSj@+c;^sSGVOe@2hRuJHEbBNY$Ec-#yY}P z9bC}L`2pyi>R<2tXs^9i1N+avxYzNN#W9?6z=WG7^py1G&pE)8&&$?f3q4_(wuo+n z$(3b9j4TJ^ZFnv^Y>xThEf#&b+4`^1``5$q2~1hXU1yvn$3OZSxomlocB15!RpbVk z=3P-OFF85BptV(wjT6XPH`?lsv-mM7e4!KGH^Zm!Q7QaNPjLWh)%#R~R5Xt1g?btd zXwHQ?*#JRJ6QI&w!Iy;vrh!78lf^JwrI9rcnEn`NBV=&FQBgj46Qu*syA)7Ie-MTp zQwGY*2!tx^$fEO{_Pu6hE9AE0L=UMZ)MD8~M?a~=1*UKQ+fn_oCxX%wxRxG@zXn$W zRN=g(diW!tdWm@<#HDbEB;_Y4BL{248)wJX{nt>5<$1Gn&2~Ut{n04A?v^Y;9}Uma zZhQ^B8L0>L;yhR0$DrJ2+vjbH%(WYuE=T?Pv-7hpOV{kXTO9@@BxnmtJsk)4Z*)11 zt)k8?KLkXT=~|$4%~A)FzKb6}=EHlOkd!0(H6-1L_*%fh5D=@cX=dn3l$8e>v(w<5 z-*mtz;V8n^-ghwklQ`puJl8a>%Q82A2V#av1-?DRmTHs2s*mVVk{&!=sQ0dZ7}Y(hGH>MF6$d zvt@y)Hdn6xrSWW;UJNE6^nfWnOX+!oP9{G*VD6JEWyHu#`OdP_VSODt6NvHQGXsGs zfeN8109u+J8)?`Ix#~J;bY9cAz;yo~kE&7Fn)8;@`;6YDYc@d5s}ML0@(79u*6U&1 zj9Fe-Ms7mLVTVI^u$lK22#_eaHh0}1+>85cc^`u! zfQQXBG=<&u4<~%)A+-RKvq$s)!@wSYFumejrS3nwF&LL5S69D#w>k=N*bZVQm$moE)yEtthSN8YD<^S-7|?EygD zH-&lgFpM8TxM(kWPwYSupc14yb54QdprcNJI*yM?C6#&}sP$}RfoW2WXS;trd&Rwa z`EzJY@uM~(E(9u{h4mPguAV_4FvTcEwGW-ek?cE*xKbwKd6)9+{J;}EeJFUwba(|Z zVHi8r41i*3H7L`v7jo5gQobBzkzmV(T5%K*7nr_6g@z>z&XCo{_fQKZ@ zNr~w<5eQ6KW(eGV2?3H;`EbtG+<)m{D?lZYJmv4&-FNGE9Op%xiw@i}=z0R+Zr3}K z+s5LrKmD0R9nbR3C{KKavOLKUeaum-(}>yyO;@5GesX>5>es9G-mQiK6I%^V8>tJ; zvduCb1xnY#lXMB-=s|oWX94u7huX9504Uh{Mq|45u8q@Zxe8_E{>IKFr>GZ~Z$lY< zDVwqwyq|jIy%BrWyFa_Vz6P|NP?jq%IAtvqnm&r{N2_I#wxYBG#MQq8yGK0@WNj~9 zW(Z0JnBoT?g&#>g$>EQ_Ufyz+$l6wMZ@1;ZG%q(ES3%vrpS4%9N`SRja(fM~`5NXy zozh;Y4nReJ&LyZl7{{;SDLU&WNM*;<8OG1vUotTPD(zLTfz>E5Wv*^cmbJutciSAM zaqJaWiRG2(n0+#^HyTkI8gcl}^9Tf{{5tVoG|meOOlNd9;5q1lQY6(I2!y4CD1@cF zXT+70)y@dkG%RV_tl>-)_`vdJl+%;A0osVbGKNG!Q{Nn>e+Xa-TXQJ>5|r^}>v7_9 z5a?aXGO!871W-?ZfP?%Dhgk%xO9gJOB2oe54y5NKDNrXEDXUQJ0D@asd_ zdi{!Y>YF5)yJFAX>I49zUwh6Og5JDI&Rc8Wr1haL+x#rQ7YH~eQlXOS~6=?9oH zV_R{5ru$1irf>TzGs6#!mz|>Pk+yreUQm@}E z`=uGT1emt_Ceu_{x139C){a8iEjmv7KC`O$)6QoR&Uf4F-v&UPQo|>v^)P<NsnUn?~PSakQJ(eg5}H6+zWP zbSl=Y#d()1wc`oIhHUvWEO7p>XAuZYDFkevmfN$Ao|+u;X{tX&| z_KMO>KG)M;lpycWZS;sN*K42ZV+l(In6e#nq5ot>ZPWYjqCHDdHp?V|V$n-$N>)@Iq;?DjK$M~z}0)ZwGf5dP6|r)wi0lA;&ty0c4a-_a@UkxGEdkC_mn zCY2ySwZJr~2D90p&snfR)y$Q2gNnaA_aguRdBQS7k2(s52I^m@(apYe#4&i2bU>dUhKB)+uW%<8n^S340P#gwL=ipMWUfz72(@=)ogD!#B@2L~ngVSKW zC~!0?@BMS8)y1ooIt<$^1|(I;8XR$k8T+WLAZ3zgTixkm7Q;)1!L z%{+bBM5-Fl_JKEGv-9QBUX(Q3jH%wJJ=qKmh|Pwc7z(e1XB>eQuOhsK@)8&UrrY=U zaY;|9g?5hq;g@Y0LyFp_H*TTrNwHZgp0iAVX)AA_?bhm$3|N~L(~z`VD=La&YA3r~ z-?{L2)X3YD>iA&?pq@N!0916IIsa)NV>fUJ|0#3|`7x=aa_BEck{;sQKg(hH-7+LU ztLLn|2mlHlKy{sAGL{kH1Z<4)m+AFrkmYCyvXR@m$r->Do>U$zC4+ezf%i-hMqo-< zg3#=TpR%$Ua@W<8WM0$f9{^kZU(x$?g+uZMn7)P~`SdPbxegnb!MpSk*{d3F`8?8} zahG31jQUi=T68?N|Bvqa$S7UF7j_xXyL1({uBh%|foWA2^-^2D0dUIKC+h%t{s~PH zwr`b+u-;i3-R^%OuUVqh6Kk>oWl3^)@vC>MG2Fk?s_-A#jK^s`Fv=^@>zm%TOYpJ5 z{TL0f0CPE>0br`XW}hLb^xtK5DF_(3B`##Fo+VjIUo%5b*5EzGy&wBdOJ>KUdwX_C z(e~D6Nv+WS{q;P?L&(Qx6XxZiDmc}^6m_TurflQWIbtn>Aw_M|8@G^~B%d=%mOLa? zVA_fd=f*l6lo4B@7tfgXS<9Er?mGKxYV_?1b^OCAb#!D}op3#5oFV)!I7RS+L?u{xewyvs&`DRBV<`ak?IZ6;!YX>)2VF90y*kR3Lt#6yi>=py&LyAhK&ttloj z)s4nm-FuM;-btRb+J2<@3z+@aGLLFH|DaOmsxK_w)_z)0;vo5{zM(H{co}crjkr$MSNe?tAYa zf|qRDvInvx2Y6>zc4h~*^9oFP`?kL(g&_UdD`zPJQ?VK2EMZRi+UVXh>UJw%J$w}~ z{&YfJ0Gw(eFh!lJ+xG;f=jpZ8f2i0i_hna)RWH;%sVvz@D!??$40ey1TYsn4ZmrjO z8dtOprZlve?K$pR#5qvmfqH0K9RWZcAqaxh0;n9qKh6$gK#~GecDg07+s;5I#ZMrl zE!_Z2vwYslX91XU*bafIKo`OS8jSK50)gqO4g#i}3sVZ{0i?+)1em&@g!5%`h?8!( zUgF%pCjS64>POBo!68ss>ys?)=DSdbEtG!+W%3E=zs{5hdAD-N+7dv0B=iH+NqkYun5`fW({D9G@ z+wee^u|r(1OyiK)NqxQZPzMfW12bma4~kxrk4)KjTWnJ%+ELpjp)HbJz}hW|w%WU| zZkwCX^ty!kc?kRChaI&Lfo*)$!EDC|#d?_rHImLUpEXLFKT1|<{Mx2o&hA_QfciG(K*bP#dZ3QFogW`SMdy=4`PmUAIOY7OjFSLU>GIL5 z6sOUFyp8W_GC8APkEQ0N(}5|Uxinw6L5+LEcG$3@fi6aP7vWq4%6kZGv|+e!5gS(J zGXd2;&l@p>kc|bE;UEHmDSuF4fLEEG!;t%Y2BDUa6QJWCrkAYkRx4XY-=?Qfcm#KG zBXs*fZD3ITIP6ORPSB0IN`!!P%TH-gN5X*V?mr#%V4n%@H0(p!kag?+K+fXEhY)71xZoBf= zkq77W)p&|Et|7ABSQRT7_qeIRj&f7Mi-fHYS-0cwF#q;!7mDHqqTwiG)IS=K&MIkr z_uhUZXvOCAD?vJJmzoR8i{68ITd)Ta_1U*H1HUHs%U_ zE$FTCi)_x%Yy|HoDF7~t-D0Y|?YnvQSPr}YEIYefyS3fau`;0B=JYU?z;-y(;@A-9 zEDvEPLQ?TEMLXVX>Mx*c-XhPFX2yY>*L!b~S(vVBhh|kd+raIrI=O6P*c@X(DCch8ek3&9L zNDm_rvhl|Q0yhS3W4HlL|kHzm0v4^MnvL@?vw{Ja;3Gr)+&{CQx#= z*#A))7`*ac=Y_)^_zY9{Op4S?WBc>}FzEu=DwLfyx1?tGGoaisz*c)6oveDi!gNH` zEH}M`tEeX(z&bM~^d)#DD4j%s@w`@1UNwM){ih~NYJ$rM6Da!xv^wpso5VV9Pfw&^ zHh;zoR*$Rsc!%iW^w+^_^cVk-=%hucFFl}T+*wk{XdGHI>0K-3q1om|y=%xy6z0ks z)pwYzt`!%-Zng5Cr){1+GPJqeFYQK21LDXzZJfRa^bh_5Oc@_>ufewOHaC3>;&%{s zB7DJJXGVmkn-JK(UuJG_+E)HGb}1_jr18v^1_lPq=1f+3wdb`Ouo|!$uo{Taz@vZo z9ER{usbk0BfjTJw6c?fA56Z6asTt9$Bdu8bBL)E<1$_l{gzyKaW;l4Kq zROtTnB4y#j2Sq&ZQi2w)XE7%z{UkzA%$ACzCH^UPM#D7^ItpgHNXz=`u*~p}5derd zWLJARyXCQ#euw^Y$eDL?ivve-qz6sIfNANzQ8f(!HHGUi)@e6pdJ<)Vo}x?s4bK#i zCzW~`Ha~?jboIZ+Ha;V6rFZ=o1_C?V#iDEAiU0Fwj(1NG$jb9?#LsVX)*l-K0@obPw>DxK@5 zB_=H8cE0cBU5{i#(#amC&DbufGWA?ZY)ml_nv!apLw8({I@5C#d$e3U@58uPMuSk# zLpoUYA3?`M7CsCa^}I_>Sjzjo0U;;?9VF)VXA$V33Me6SZnn~P%t9xLc#^88a985_ zdy{*I??A^tuSDMN`g`w<+$I}L57VAUN7bPM*7_ed9YC%9TeZ#e0yHj|sh8<$)OkP7u6~(uKPXF;-N~<)$LG#4QSOtT z9nk)&yp&x3&DKmMto@2_za$TGvG2C?a-Vhs_O`yS zs>kmjNvbXE3lfSFm=cn5C_ZCCQpOB?w@W~>A+fNuA+?1bq#I=fr6x2z$Jmu{2%+*s z`x;k?VX2#a4&nA7oZJ#Y919?eGvR3vmVOHBTyTMuBj)nUSOvHspj6TVl+%9p+#Ga# zu{$x}w{w&xPz&SldB|e4a z&HoC=N+$#mp|n)aX2h=}KN-zoXk5i66KJ55pS{6NUj%GLp&WB7BSum$x#?XGO*()T z_4ynFw7&hA3t7>*mT7lp&F*ogoxn?*khKr3U`KSlWbT?It*?cutMXd<=azhg-A|(cxRakf(N|WnXNMLH$B()P zYriPXv}b*JRoQ8y(hDUl2sCBPAe}0{3)ntAj__#&3Y-VjwFqqIvvcM;6Ch=!%^Kiy zCsL2O%mAixaJ>WN0yfT<2CV(^Wsjt}vGz-W7%m^tNzdy6cZe)n&iso?GB3V_uJy7}DZB>Vxj| zDqf5L$l54ez|mGR(13mZ{7Ti36(CeYRu`)3J(%W4!Vtf*Z9>gkP*VL1ONik(jrg6% z0a&qFf_Sj%d3`ltb>@2IT&x|X{xi09?VL0>Dy`nR?e_Q@C|`>9 z_&eC2ZIL*E9V+g}D$l9*oc7ahEZ>U2cJO5gD-qZphP1mq@8rV%H#NZelM>Yj^nhu- z9nF*4bpAA8?Uz5BB+Zd+>?GA#zV>g0{lcIr-_=AC0!SH?H*g&Tp()q7?`fo(lTL-D z)JiLC7^Z#g-G|PyVi0IbC`5S(jjNNSJx@;`6(I|pWzV<97 z2p&NoC_RkuaRl*}l79VrSm#1f4e%t*Skh>yRt{TW3XL=+J}CJjPDTCFMkf#m@!65D z@lg^2(=89cv(&UTj^93?g~bum!*sf*NAd;_5inu(u@ypH&8;_Ci2P4*p2)lkbq51(==K-qr<2hmc?h`It zMMs^0m7c2FW0hbPkDkER$!UDl3eWWT__T(s<2sFHP6^=&7sF!1_r(8d$n9DFw>} zr%Z1|2onHP-(05bj|+$+DBX=f$i~K{2pgGPMn~R@gJ~`UEXYuNEVT`I^V&rh4@mMx zb|Fx|^aLg_Jp*AqbX{XUzZt;vNx;$@Sy-wfz;r1;Z4O|%7p`yuOEoY(NrLW35SYq( z-NC&8d3iV=&xGX5#*PNsU5|E?9R@G|vh(AUFiys9c=;g*u8QaC8H;+)XWxT)wra z5B8*AALwhrE3EQl`sbGHhu#l94pVui@oU;=P_$b=_Vm9NI)A)zo!7rovOTN~lj$q1 zy*1Rt^g|kY3J^uTsA1_zHoE5;@;mG#22xGjyYO9`E)?SD!f z>z7V|r|qzzUyI85^_g=Vna~u&pea%C$l2Pu|DKmA3z-x!GtG79&CHMFUpE+cV>`V} zFG2`6NH+*i9l1B=kJ1 zNDEAzr~y{FPge7*Zn=vTA|T6AKm9DaehTazYf;xXY(QO#b7Ma4ti-F=j0-difbDZ= zC^I7I(|ZozDYPL)fK9}0*wra(pu84fQ=q88QZC0$vu>5+8FR$I5CYpm@1ibwI=i|A zSFn<@2IM)kz%*sWw&HYRJX?vjLfhG0!!~HL(`~EH+)f*=a-pffQgSP%g=0y~_jR*U zVgmrO{TnlZsk6oTUsQP7PCJ_V(}0UAre_};SAOSZT{$-hE1)n~N?6W%g|Vaw(kaMySeb7Xz;H5Q z|2L`u`z$u9x%M8Xp(^WH7p6-5;`be>N}wuW^_?G0XsF6*0A_I-0MrrUsmk;;9{Mqy zi&FrMp;{16RlN?&V_46*R?`pxsN3(G**o5;TT07>!3eD#s4~>|OfTrvsFz}r$>`KxcG19CEEaiEg z|C70Dl5iuYG}Bp$d5NZX%Yz+j-9-7Sa?P)k*E%+d5#0J;vhSgfyX=fKWCjC0!>rJxiT4S`SmvgBk0FKlNNs=y7Vo)wi*{7U3lXd|ZhW zAXoN%cr-q8PAur!X6Yqe3lI)@&nHN5NNT&LbX-nEP! zoAol~slse%T%v1}K7B8NeV_HeZ}O%XYsc1Fq`VSsTz0JL!BW|7#!O3_2TlXhR?%f{ zGnVhmcUfz#ri*hm3rq`OD^`>g3rY)MtU6h=FTFYnD#+$M*>Q^tO$kTE!<4)#ZCFav zyz%Gr^oJ$bPZ~KrtxhHI5UJHM;knx(d9q{F{p&_n#vU$F*N$4RAsGu;6eJa3${3Bu z%8x4Q+yCKr_34%`n5}O7+W)50MO{P#MzIeQk&JleFQ0sB05MoDPKj)R+i3)B-2ygc_%$#eIOtA*$E zs58$lsk4@r)ca3QIxrRWi}q60FqKdh(*Pjtc%`}^74^U4scHb$v1w!2KP#eig>4pH z?_@CCKbTXmels_u1ZrtVitR&ImFv@YLEb6Wj#c}$B2~TsZ5*~s2tesQ8Wx-DSOsyJ z!uIMiw400{T6CF1SsS>1fP2{IQEQ<%|12=gxviRMu;l#Kx+;72Mb|mz&f_zABcLhY z=j0-3z|yUiin?pzS5?pFhPB~d!rY}30395DC!w#Wryb=W@bSm!}g6OKxnFqH+8P39kMw_C1O4p>s^-paV?H*TGhV z+_W!kCU)D6^acdlj-Ye|;W)wt2m(!LTLvz3KUv;_v?0N=?sabIv5NBrw;PArWKJ|- zpUIpUqRDJzWyiq{zgc}pNd18L7f(z8ruL|_2vrf@<UpR(rk)Z$M)m(Tc4)*=UL9v{N8MU^)Bi)2xjAV%D_bVbM;`X~ z^i9CU`MEQkqc-jPwRTKfqtWLpUyk+;+c7LBZ1XUdAZ;KnOFM{l8QQCrT{EBCU|XJc zq}U%av>I~%&jQn&n#ev#IWg0P<>JUEU za{SaZKXUEOVb<%yQ+_CdV0DC@7J{yr(hhi^^v;0$%jZbv#pN5vZcB z;~c33sy>LSp(>aL+9;F!(WW6WE54a0XcVS;^_+Q1!n_pcJZy(8&D+UC+Nb9;px>ST z_e~!1ST7H>BgMkDdYVdSd-+ndefR^iw0#(}8elBK`UF2PR}P1lCtdE~VH#||SX+t$ z^Br4Ynlt;@2PbC+X(Bt;mQ5%xhlkRhMQWTRfu~WBG|CKjp81<<^sOm%_~^9y=;XBa z;;4F_;)htn`}8C_CiFgyE3JU1MYCo3Q<%r}$?!&4T)n2TU!#Du-nF9uYQ5vQy=bZ*ez#fSBH?uOkqWehy(b0=WJB)@H)4=CV?r$-0rNg|MR8+`&{PDB8}%KueS7t z{ZFBCU>$_8>ydFae_2T_Sk|NCeehT%Or>`!hxrRsE#VN;6P0N~RBv6)HcM?_T1(Tl zV5(QwnI}L#D{rLx?$4_|&D+j0?b9=U&tL_q>5-uJ(m)_E!!|` zEGtMFX39puX%X!icJEoO(_W^FaCSmWK6eDBs}U|l2+CtvK@ZW-BYcFw`Aa#ZoM&-oyI#JOlA^ZTAXlz&@KnjTCpe zXto?&_f@B^qRL&E`rLhEYQYKzq|RU7qds`rg{d6w?|P*&o`sLSaQ;*eqUyB3RA+tT z-l@@LV9Q;c%Vegc@$skNS&L@RVE!9j_TDFQf*JrzcFB9(t+vd&UCjJ><*rV7qb(_x z1)18*N7@3@9N58Db~!LYidnGsOi`IRIF+?$G9%nE=Qq^|yiY$m?s%VSa2f(oc~%bH zA0?pii65Ano0^5EMYW}FY}ILKnR-eq-AY(0d8Y5qv4|o2vX8_?wWs926|n}UoZf(* zq4XFfG~Iwe@VO2_yi1W(PayDlya|Exl=(%Q3m`Ij^an`xL;%@j%5~WAHp>`V_WZctx+;@$(r3 zH8dlQz*E|^hz-hi0MmBBQZY20Aj#RC1Gh;3-4FWhc{vZMY z>H7#&E1hPS%vq>Ptpg`=Ji^g?lyb2TEC56PnSD9#z{ZoMtf3<*l%f6S9v|o0@F5F#y$XT zP&ksi(9i8@u?Gu>x!E0l7ud|Lr_fMe1!8ne@ zfu}{bscvj-Kx6CC)->+h0ZYlm2uT?}Kp>x^QzLQQ&m+KTk!_0G%0x6UU5-<;=T1*2 z&c#RXQU=1)ClFlNsXmUh!#k0H&`XqFS3Kr=ghL2B5C~6sJp1i(EYFSS__o`e6D&HT zPyNjhEtgOLOOFrEQ)iS)(ZG}dc&&3@3rrL0x6QlTXSB@*Ncr;JXipEaZNfVkA0Zsv z_}f13)E)PasfFkCsD&#qcPfVbzyDKyhzh^+z%#W^JW~iE7%^}%s;944mKEPxWiQ^)(%8Me>E zPoPsVI!+Q)Uj&|Zf?aiks|6krt$?Mp9DylEhZB?vEakMBgr)*a2~Fu~dH~^R3rwMf z+TsCIDwL3vbC#Zsz|P@81auHJFx`#V^b|#BecR1gmy+BP=kWwAee=#a+Ow3vlpdzN z?vQ+6$CkwW0w-e@n5JZ)7M`XP>fRQrt1y@9CcAp|5r56Y$L|`chX&XDw(~OM4^nR3 z`{EDanW{l*k2=6V|t~!aT@cbN}>Du(;w?- z7~|QIH;f+-E6+9#uS92gkGttP&9g0Z*;|M*_gwR3jy9!OaN1gnTVR^8zHMcdv4Y!h zdRtkwLFp~HqYDGl>Ji7h^f6yxt?&9j)q%ZXlkETC?iBPFeNCJK-$cq^Hese zvj9^n^9?}KPb1D)X24T`(g_T~?|Xh!y?MnP?OjS(D!^1v0bu5d?#1UiD;fb6=BaGD zJsQa4^U7zXGSYnKwLKbb|5fv7(=4^3-@mLk;q9JwJ)~hO>uC8A3-Qiv4oqFRqE{W= zIjQDg`)t(feV8wmAeA4X;_e*cAB3ocspI46X(P-dHNCU9=1e|V%1hFY_jkwh&u5il z0h?AsTmI?tw-ROU$@I#cwQFllSsEA^h~L|6ZQktFtOl$GtOl$Gx?BT~{lT+(=>7-8 z(|X=h!c)$7YI>eBJp!+bdDSzR8uexSNw zQ&s~_Xkh41hd`Q8pMG;d@ws7a#cCi*1N!~Tjhj$rzAzBATk7kd_@7^J>U1`3+_3w} zakXeA=1fKS@Tmz6Q?*wrUaEwty%_HAc%Z@?)g9JvdZk9sm6|O3^hhm=c=lt4-S>)p zpA^M<#m=W!_ArP1z%2vCzL_r0z4b6n+4z?Dr>xK%ovzz{QO}X;GtG*%Yo_W=_2hS* zfsaOE-qVkcOsfx1IG(43r=07Q&{QDmDGYl%erj4x)#azo4tqBLU8?!a>SX21%1T|7 zzK4sM->in@3;dK=JW3@dQe!~>ZU!(l^G7dJ`^=gesir*-(;zUV$0@<%J_I}`+u-TY zYN4GM&6!gLrmq2*VotyV3k_iUW8!l|2zfU+%V~Rc8CS8%j5UzQ=e2w$>Qej?LoZY7 zZQ6JN$fIo=znkbIJr70v$fH(e`wouIg@4Q71z*D??`XrgAob;k$JC;8dNoWv{DK2g zO|MjbfQoa%oA8t$o|57H6Pzv}1<9L7s%Ja7w|*op&W8;pORb9eyi%;UX{$7@lvn;T z^lG+t&EB3Cn5Lv-TUb+4WDZYbZJR@*q?9Gv);1hcQf7-!Gr0IGYIM((I(%pvL-(gu z4?xf?*Yi}sDdTa>&q&WxepF$m%p|ILhNtBX=;UwCuA!e5EQJ}gM=ASbOcR<4C}rP; zX#u8;=@3Z~&r)Z}`G5VufPH37g&1icFr^|X0#7*{AHa0mYQ454|7b_)gEJdvAuK>x zKMzCl_qZOW^CEyL3kra$a^bE8rqD%!C2#NA@_f{#H#>D{c`b(Lzg;P?cH5WryxBD? zO?c3QLm)E#(X!cl7`zZ574yIgNZs)OKq|aZwO8snJ?j0RjBBq{XL!Hkm0Ch&?SNDc z@kbgzILlD~@tAYQ*UNXiK&odu$>4fC_m6e=^WH7bt(d%>u~+`scE2y%a!0#TY`->r zi(6pYq)u(&Y*K+aKis}la&Dj|vS)4Egz|EB=-`sCs8jDut7GqT-c!f3v=3BHhVBbM zodAL3oTy`o|^v? z08~@x6?=Jgg$1TnT@*2uxA$#%0iKncTwpo~V7fKij%*Qa7B|m%vu)gbC)v+~9(*~$ zTfd0qW$@hJQKchC)$~%h?z>*8uRdNK-hX)eq?(ILo5TBO;RQ{g+B>_XP63|M3pIU^ z>b#8hZ2p@hrbxW6XFDFrAL25Yhc%tQ-U)BQ$kV!rvlQrPMjf;4D~AIdJzjuMHAt1 z`7VHPCs6Tnf>ZqM#PI&bt9lW7)RE^WG6Jcr=%XbKkm}h? zE;9!SwxR3~Bw8c3uPX&3yVxs(89F;e<-Qy0<*0j4d%Xpw4QSL>FbycJK!?~0ra;DO zAgk8C4JfT3hlJVow&^dc6Yox`58=jm67zM*N26xnyJ@ApEc}(NzNyAdssjQ$s zm#jV=JpXqw@hOfIkh%>Zb#(|xMWx<1&-F-!H>xwFzuwS(sUYIqMRlJfAl0*(9L_0T z@WDg-P7#GTaW_1_{yT2nl2-=X08Dw8v@OMYn`$*Q{Lcc@1gf)zE`hQNxU02q0gaY0 z%eGOFP+KV3c^Ca@amSPwAN&M_TQ9T0S2g{fvf` zr3p+4OHE)(hQdHtMu^J(8$l`KBw~SSZEfk!@io|oeNlFhUw8M%^0rU7>5QTvFr~c- zOwU9hFlBjQ-oNx~P4zSa3ju?$5Q(u$9Ydh| zF-Upkt@i%#QC^CAbO3pA#g;MAMB{P2_iy88&c~4+_+W*$u^7-zKbw5vvchE;Ko~*Z zA58xInf46@sp63;ADrUQegmZHVf}h;RL+-*A^!N0nqea557o$dq=Z3K&t7sA>!QuY zu$yFAV%jn5ADK-1%5`nryaseR%t6_seJK{4HfB=`Ok?QH7P1&hD)=t;MNx1A#>l?4 zaSSCDc$cL1y|eF2YGm)UIygM7=QW+%2k!`U^ku$N#{6K^F*fL9z|&TNQ{DK==$C4q zdmFtIn-oG&0j7)vmI^TCb^)gB!zB?5OlxaPcaX)y6lGYz>9$3+k4s~#X>0V!H6#^a zO501Bpv}oi*@q}?$3Ih;XL?beTU}{kR#g{yOX(>fofu!%@z~Q-G^Z*=RUYDWF+@J3<d_e>wMX?}j#TZ9N{~u`szEB#n2R1iUN^>I}XYGjeoDnn`Qpq#ASfx4^W9-fW?& zp_~rcWNq9bhOBWL*2XoI(;=H^<7OIocl3Nooy13@2v0}Hl>UOO2~L^jhoT5iC#ULr zo@NP8bpwnIuM|6LUZW1>p%GxpwxGZ;#`GX$;B;Y(*7mk*HDTP?GF)5 zAdDZ^vi1PO6>~4mzKipGgXViuU5uQfa?3M(E1!ij&X=$}qu06GMVW7=tR}H>`SZvF zUJTPa@dD!T0ydujQeXPvm|C*BPc1pOM;(Qs*jQk@S@5u!3A6%U&7 z9k@=Z?cX?4?b-a-Nl(+Z{mbV-hZyyw&<3rXh*wWFo7p5bZuVN8e7sj@@EN=!U-gBx zak7$UfoX)kY(a`pOb4yDHtrx}M%;?EafD(zY;~G;zI__-^u1|y0PyrQI{0${a7=j0 zq5G$>{@5ryAY!!L(}t(I0fr7ffl?ZsHLpR(GJ$*BwmEs>AU9yYOrWWNGp>_B4i*N> zusXI_SQ<}N8tPnweO*|p?aIz#%ECT?gcC@I!BQ{<4NbWpWeS1WGQ|U?EJzCwHdME! zQO2uhv#GQ+P(BZxcs|fHtaz8weiGzD!$=sgl<8J=`Xvitad`#uk2+MniGT{LayS}9 zc#w1(_LXPKyw6q6d76PxI77!sn(yPhDaCtV@<*MO>AZupxJM1y@Z*GjDa$j;cLL=> z0Z8ptAN_n>x4&k2Aho2% z(dar&PgED4Iv%Mw73Qa}EpqYbz48cA%fAX8K8HNxo(W9#4^Bm(=ln zQ}8@>hUd>l$3x~im6#r>$Iy7^HxcSdTJW^I5sm1}n{Rx1jX7qV(Bn$y4z|_rTR1x! z{{@VShpBjzn(N6|8aTCg6$?x~Rn$$CKZ7ztxZ{SjJxpmw_QRzwPTO+$y#UgYz;Y0h zVzVb6Fy+ZO9G?Kn6$?y76Zwg?2lETakNg56<&1^Ge87)mnXr^_L}Ju4jSdIKSyB@X zl$POiyPZ=;0VI8|k6<6UN5*oGj0w&Nd=M(HL_=5X(N&V=d%2y8^xl~{pU1Sk5cNMH z4PVHtS6OZ`GDS-Yz?A2yWn=v#!_Cg+^nZC~UcwUV0|pK~KnQ#G1~>c*A4q-UDS%W! z)RV7I=(*?T;J)aM+6S0A3o*f|Gqm4@sqP%9)%j5+1Gr{FX%|S5VSGH!f~yJ(0>+~x@xh7CA55W+)8Wbjx%ZK z4cQlbs9HL1Wh?D`+xVB%@O}rLPQp!Y4jQraJT<*fN6-nN=V=^i2A=9hSd;UZdJQ>d zmUMGdHP^L(DWMqK?_?$7Q7SRvsPxac4+B4nE$ewqGh%^heC?H2qr*&3O&9cRt)1TAuS)^T|yo{#0Y$}gNN1)+_;PbuJXj{-}Dy{y2oE-a;|YVaIc-$UNd-^%xM zt90SLH(B=a&a8a5(yB|xzK$-td{LXg6hE+fk`gfG`J!xGz8%k(h&(S`ei^}lr38U- zpPRvzzl#?OPR1q{!jA8rQfHsns}`^BRmWc@NJaYt+xyU-p;u}NAN3TFI*RK!ADME7 z^~d>vo7s($RzOt!qmH~l0hYCgsav16+Dkvm&QbcY>m3bv^#$8BYx4_C#a^^C#e!4O zNHy+yU}_6TwJ>yg%2xQDZei#Ctevf$v(~_`o%)hGcF=*RY`D|&)C8wYpF{(9IOcp? zN#SWTz|?ENiIV8SuwE9b4Z8Vdqr-#E?DLQtNc)}rMZ!@5W70R1Wnm3wUkST6EEbj~ zSDoo)x{aQjDTvsU_9thTa1v<&rtGV8y9Ab-TB3m|VHC^aTK}FFnELgR#gYarx8ls4 zmy>oNkhrB<7huVg@)uAqyp2UZ@O;R*KZ6tucI?@y4}ek)NnALRhj+Aw5i60;H3*O3 zUX8f{wLVz6u>iC13NYn8N?3-pz*5E*m_iAD$%CE!Ick2%_x`*X=R>8Jw>qjkAI~T~ zU|Bg!83x?-Bt>A#a|Z3KpP!rEt4X~e7vF`12~06JXIx+^rwGP_s{m2~M+KzreE776 zs2tkQ`BCR#n+)rxS1Nz-=8*nT1aD|R(&MbNnv}Fas@CCRWJVfX0br`mhu(Iy7S_|w z6bsX|8e;wP>I?q3wkm&hMbu3MpXsRmx@mn^15;Zdx}&JuO1?Yn%)7MDw6%4sHSlXA zUs6Zjci<_$Q=n#}b8W&?4&6VF;bF%C3+hQ+aH<<&XfSiW$0VIKukpr=up@Jh8xRH0 z69lH%MRO6h-x-7_5Rgg`Xe!&t8G`*KtZGOsFioyD-RZgp$Ds^vTblg%up`8tv@rpx z08=x~a&QuX<%Iop^0Zo_fhl(+gks0Sm0+3V>acPt`wv%I+kuqp7Bw!P3$Q{LZ~=ny zz|zQsrT`n2qkf&1H{ci!FXTf{1DmjvAcP?dma@ZtlT**+;XSQ^>1yPOlke_DzT9~M zJy5{P(rxm!Pen9YizCW9l8?dz&kXoo@(su=^RyFf@kzB zoQoB)0MiSMb3a%u@5b7ul4d{4^DdQ_1<%a%ZUm_#SRb%WlmaltSwh7d)<1=dqdxn^ zPsX%I>gXN^qRyG^c%u@c_9E?vsK_2h3lXX&7xTsyJ}~uP5}!iXPqdu`saK_Lh3=%z zN__Gr59qXKx=D4^Jlv}<*1=vs^1n-K9+-oT<};mx?6f@#T?tHWA!vKKYgq|qxxJQHcp9x8 z4F&liOW=dbH0uS%Vq}6qELYyHcJ#^@qdf7$TzufUKLbTN^a4aACKz$yh}pq!cO70{ zj{8`Hyz$;&zuU4ZpwB_?{IPDC#(qlBf@j|HYsLTzcct!w8l`Bv{;N+@|@wVq0T zru2`{&o-Y=dYG~tvohX*U`htSR8Ft2e>0ZkS>XmrzlpTe2Q2`mymU|o&-s^5-NnWj z!V5n*rIuh=|Jj%yb@)YRSU=}PmAO$T@R2EJI6u5mU4TlkI>F~YQsjmscc=+bwGQcB zDzKDw6x)ovCS&Rj^=su=wO+=WmI|L~iuE>)R=ZbEaF?rKulw6)ujpLX-(qd;=%}lJ zsWp222cuK=u(s|LOUAno+S|Ukvz)xro-+s(_AkM4avHqy-Rs=dhDI&-@Vpcy8b<*mn=B->!y4i$^z#Rq|O-# z1SMwL1cZbN=$u#Hs&@3sSKxR8L;flvh8C|UfuxKDjJWAw=f2(bczG%AV?FZ8GItDN zFT%SB=1^wQ3;Blx!YG1L6P6NWtb(2%uIdSEthgFzx2@AQg!fM6Gr%7$b2N{shHadF z#RR5-dX?q9@<=vibp|jMcK9ChWY!C=cc~gcULMFMFSufC8C?G_ooCtwsjoljc%zQI z8Sag$hw}rVI$o*x5!@Z#?_5xBI`-xDj^c@0z6o{HYglFe@+`1a>RJ~#Z-25E@b&ML zT`0x9JMGy{Q8mh|CwS5V15?onZB6OczIImt({4Ai6!vb3Z3W&fmUiyb+Piz~T|`?C z_J2{G+B>Zd9-dZ5G5n11lwPOiuze2KKZb4f#000hF?KaN8#TVV>1(j@HJy#DnA16|uVGxeWFx_ot6ZQIcJnaGX^LDBwzSEe&K*MpJ7!q}q7IxGxL_Kq#12xK@LuZ~mfcr9*4!pop z0i|Y)b5xG|p-8*yay`%ECglHIgnvTd(0tD0`ZNLyI_pZ&h42qfMIf+LfGPEZbme9L z{b8*YLj&!$w~>{mlfL&VfGK|^iu*2Y`r>s?pn>HI>|{=xv2x}?S>;z>{}%Up^4xH7 zAA$f=fu$qRTVTo$_sCpCGrUnBJdGj!J=z=f*b4xuc=6E_l|%aJl{!92FI3Djfcw)R z)di}PtSg$3Ex(B`=&_z*kb0Ing#HLjDHfV)HRS4_ub!ZDgZmE6RVEwAOefXlNp8QR zfhmnj=~fz^q#$(4zTNsDcZ&Uz-iNh!QjHaR|DxOb&e9jv$#(;LG!WVDW+ zrA4=QMyhG}v|--DaZg4*Mvf%V6pX+dk}sT17+TzOa=+4Z_{Xxj41q&j4M`K2lK&mG zbDTQRRCN3-5;U3_*#8!T5_s^J5_8CUe_82@fC@EXsR>BgnRh*)YJCN}ozJ%hJC`A! z^uF7U@IC?yHN9t9$OV{E2MqMsi-4sB8I@fYm_kD}rJeS!nX!Z$eeYJn$aBKq!3j^B z%I>;cug0n93C&-(R?IwY(s%#NGeocPfGM9D5vKPeNS(kRhZ)e;sSFqIxe0os?*8eR z9@anl1|e#Xnls0NsD!Ef(M3KkH7Xvdh@1Vu)RxZ!qN1MN{)7Wep-r{=+8*`ev2QWi za^bU0vAm_Kdas^f`KO0zhX7OFVK>^lV}WU>yqK$xo=w%#KsP?Twe-;q+w3#m4OXt+ zW2f2swo%M?dT&gTG9nDBHAop27>Cs+*=4NMnd%X)uj&1eoA29ThiSA5d!%V*9&i}cHOWthIk))T7sQd z`431Fmdcr#&%<2~O|_S)C?puajTNRbX;9W5KSdqm&hd#QRlXDT0AZ;>QWKC06k!Y~ zVjjn1O=)+XPOob{EPoer^#KC!m&2I}OsNOnI|B=P7%W8{t-Zbu;yynt9{54-TPp3g zcUm{=d&jyzL^k?PO)F1w9t|wlVu@`7R@kgt1CnK4X8=>aQ24TtxRj8Wmrm0+0piqeQHZ^t9 zzO+|Q@Evj`%6bO@Q_(8xbV@gX@{R+h-DEr|u-zVaN+Yb>?U>~Lt<95YtN8nNvb{NE z|MYv)>V3?2dUym5qa5ai29^m=PoT5G;rv0_Qihi)e!1TM4I(V1G(B512APgrzJ|3}i>_cN2_C;CAvP;b}-VB>H1dJn3=-qm1%o zSpZX>m-q9&g{D+ReIeAKp?`$%8FcuzRg?xI9J>Ap!X^aqG9@%M!72CuZ?z#}yPxs$ zg#f1fAqhWPsRIb?*s?6XhQLBj?^;69Pay~}6-X*E?%#TsLO(I3-8PSz&APjJFoc!l z#Rzy#(s;Mly>N^j%9~KGmtjZdjh?2aJcxW|3@OWZ;QC~F!t)Lz?f!tGJxf`yAXJXj zt{=>77d1V&?)UJ4I8-F8OAz)xH?BeI@s}r5KkPHh9nw#bI*vNU4^sKTscAJ8@uPWF z!O_~;v-$st-k8xAKI4>bfM~T;=+zN?hvK^dd8r?2<+;&qol>vYy8n&=ruG4?W#-P@ zW^LY?cCB?+*5=GEo|MzuPe^x(@%&!U@V<9g7P+=v{L{cXmCjAksr zltrvj@jmuM53Lmlyoe!b15@UoeO7V=`r*9Y#n7~-mnn2JLtexhbokURgiHJ#zw)mF zjy&cbK|t~a|8{pvWYo^*T*F`HjQ92)0t-9~$Q}g#8bC-&Fv|M&8e^G|nClt#<9-iy zKKQ|%rY7yQd0IE&!4Q`DjR+A_j6E><*D<7jDLhe~A^jya+a1!+c~PhEGCqYN{63Hh zi0TaK7b2ZpHLU=to$#C|*KG9&ua01Y>GIAm@3c3iQ$cy*foZ23NS8kQZ-xfCy&|5W zkSrar`w{SS|$55$HuNEO4HThKyAM~xje8J6#0q41md`qQ5b-(c6q*1*s= zhLpMq4l>sd_>LKR0_zP4ZZ|gNBKb!{L%w|6>|4rqp(L%&S8*M}(x4|4!4>7!#)sw; z=JNLff?W#JWV5{VN`yNH2JpYTC0J%dwE+h+q_jV{)V(76U$D0)S z<}*9=AF)jDI1Ym)fDl+p=tKB(3BowS>wdjpjg>Caz|c2`s&`8-`3s!#Q(f8K)X>+5 zbp7e&BJdo0>oZCWeIM693nw2zpjYW(gg5Oo11;2)p+|?5+KFAevM}4&8 zA5W>JYkM_F9p1?y{UzU!{!?QPIMpAQ60cO&TTRHHLen@;n z_5f8#57Tb`#iE${n&lg3kOEx8onjMZ@!H-(Squ zACCI)#I!oePJRv9v-w*!wzhXu-kKpD%ZYcrOAeJE17+Q3gT>23hXMecNI9P)KvqPP;dkb38Ze zQEo)$Ah8hvo4Ym1n73kFoZ2Jr@ajlo}trDYD(o`^zF-J|A}D zuX==RsAot5`^f+RKmbWZK~(fG55CN}j&&01Aq`O{@J8dh>1nm+Sq$l4)2B|pHa-KQ z^5da0q+dKy88;)1dZKod-F@`~hqtWHPu0&pQOL3V}Z)yl@6$+rpQDXfd=<&HW?4I_M5 zt&0X%{2um0B~C~Vi2C|dgs8ph)Eg6O9z0QJ8y}aN#6BF-F97wFn~wgt6wX;k;zCr~ zozm$X$EzE7vut?ahl4!S4a`nEq!a932w>U?if%^%?SyMu+joK$8@mVEzSCc-jcKOy zkFvIpZ)4psyAmFz|I2K32;QYgQF%e#fP3eAu#<+ z@fycb^UZqq)nsA@Eamyw>Em$Lptw5JtI;XkCZsdCU&J!`1;YY2UW%AJ5K{r`%W)e= zJX&B1CAgv?3qQv43<5gnmG|qzmb9R0yPkPncM?vlLUK247r+%A%X%= zdwWV4sz0qhVuQPmvo9dXLEt|7|rlFv;*4_OS8`(L$ z&fN)MdfPA8I>6aR7|O#K*uNwc9IBi#NYKQI9P&mua3lH?F33%*@u=u>W`R`@1EwL`w@S1LQ zS=HB-JLbI9_`p*XES24gYJ16lRO7fI6}AEl?`j49rkZHv+jXx|A??|F)`AfHbT?#hO$zd{p|tC zXWFq34DnZ}tCC;0h_+8#k74I4p9?#}Q&`=Iz`5!lcH+u#a#)HZwXA>cZb^Fap3UD; zgX@0ZnTiC3_=N{YwI?b;>hKHWXy2CZ93VxOiPj z9XYPlk>P1|I%3%OIZI1wK86Ev){x_c&(=dm+7-JSqa#qlsb3kUGB z3<65oe`lKOWINZHVu7itjmFc2raz#fW5|j>>Q#&T@u-Zz)YtZ?`^Ube+EMrWfGNr< zz2SV%bKqWVhc}>*6c^iJ|1`31Let>++67I^7vOz+rSpCY<|(aZ@BP3NqHV{ofH(7e z6xIG|>9gK>%9oT?Wmn^%)I9&CyYEpW$4$Ji6rpKQst~oLcKqXrS_UsvdZHeGi655& z!zD!R?@>Kr5EWjjqHIJRb$R^~71_vrox8 z_sb11EsDYtmjru2EDc!u$5K;A?_?WH#WU|U`+i-my%8+|4oRCrW!;r{u+)mb*<fqe9}s)3_idFTm96sDvqiotG5|S0nr!fsF9e2yY|6yHtOC#D0TzZ(Y(@;ky&zP%vx3e;UTpe;r^dr{^V> zA~2?NE2|y`+0JyBSYR5amB!Y^ea;1#npYt-ZFM_9mv27DL15Zn_7BTP859q5GtV}i zz6M%d2GY8NC}_GEKLBsv`1fgDrtW!knO=w8QkpZ-dk4ss*{&l1g2ZWSID5wbUsU_Y zzr$pE>bA&!9CN@qPJYx$c9!V9gV2flGy>Nxa#28UUJI1!#QOhVvTNyOQ|H`j_ld|ZApg4aY0HRfN8BE zx!%nYlztrH9Rzk{n0^ZZ-lh733?u1!g5a!e5wGFTPBNh>J8lG_7a{~?`<#G>X+L&Y zgD?jnidGuu(7^Ns6he5?_@o9fW!H+u9z|6LW|5a-059;?BN-_cm`185@rJn1xd}{V zX#SNLn*Z7V{K=Mel62V?_(Nd29(Ctq)#p~%1JuB+$?Md_in9lJ8YpsmFbtZqj%wvc zpme#u6cVC1z0wm6N7MeM)oUT?}UPD1(@bd31S=@w@w4L475(ydA^b@2YI$mYw{LV1_sA|T`6>; zJBbb*{znF7>tC-7QhzG%iTV12E;Sloz0La+7;gVG$snhNOVW zx-4>N;+qH`Abg^68{p{NiP!k2`{suT1fb_3%ttU}1~8qCjjIs2AHh@|(ZF;Ufa%)6 zj@vMY>F53H2q8o`>R*8A3OCK|S9cg=(WQ^~VTJ0Z(i#k#(}9A)`?$pMX5 z*GuMDk@DS!xYf@_QOkg+F3Y%l9oi=ct5-of~!TFs%83PRMkb~q6A+8+&0gYF`J6Ux8^G7kazHK!qHM3FFGGN|AmT5g)|0P_3??_jgfv2Ax zzenxaX_i?0Hu|X^H8k>VIeqG}AEIK)Ed!#S;d-L#A^m`;BY>y^PbF>)qVmb)4|IQ- z`u*^PzGn*UWzPHF&gUqTn{4q(^S}&R0!;I8qb;_ry2SDelG-Uk89|X@646052ynrRa}8u}?z%pqyy0R75Y%osD@$ zOKNEeplY-VM~CMDm|}acu?~xl>_!CV@@*H%3MXb!~=R6FUF2Zwm1obwD=07m@t>!WkakRiJdY2Ll(8KhMl_gbLHJ;k=)`&~n)d@9_ zM*AS)B~#m7%30V6vxcU+u8sl!XVmGeua_XKadO>g8zStUn^{-na?s3uCq1@2fHuoJ z{-YX&r>*cd_2<;TG`RK;oNpbll131SIzmrWd`zkjbE5Xb8`YT;)qtoY)7mR_VuA)?6HHV^~hDPbvxk)NDa@4SoA#O~1jD=>8byB#=mUpLa0<9^}Qm!z}v zvE6000JQ4OgE-a@4wF3(uxma&1PKl~w3_g1Ap*S(!Nv~#!z?}5=@B$k2|H@Z!M|`l zxoYf`7huXPmgl1b!p1HGX&!apb|#VX3t{Pd2-hUjz5gWnUGh2r;$_O1!}3`c0^&i_ zpN%y7qUBjB{%&@^~wL5M1I zqMqcOs4hh914QjXoj!{8sCb~tu>P44HEt^*xhJacIb-|z{LX9_25r>J<#yBwnE+GX z2&EkaxRnO8*Q&1pTNdi;s9W}EM+Mg{x-Hs$wxTSA4&5J~R>K&&zx!?H7ibRMe;Y&h zcXzkIhm?G5q`x z=8!#e4!i9A+^A1u7Ig{nG%)?IF*=RR3K8OcK*Xuo!{j;z%nZDxe9UGXk4B-c@?f-5jG?nXQ<%uUCYnFTIjVnrO?k@wF zKHHhkuIRI^8qmS0aYm-;6U{i54z;Zxo6>Cf#m`Xv8bF+4z&enh}3!QD>BzI@aLK1Ct_P*^X z3p0l9<4c@+=sx0?Ud7OT*ZJ`ZbRfRl|DD1bAlO+7-pBpH}Z-3WR>}uvsoR?Sq@&B!I}lW7BGkQzb-5 z7&y%nFlDyOXQ9I(z*J)Di0Q|<2jo^KDnh5z$!TN%eVqWFf_hkmK$sp76PTKtg240* zc%2fKMgmioAHp?+Z4PtwPG>kp=_2ZFh?%g!G^U~w?3M_ay64^g4L>x^dT72tEdIzd zjdFF>MhwXx1TcNDTDLK4<@3v`@`it10#(>uQ_?^?+6yUVT}fFBJ6~4Nw7dcDtj)OM zj*zR;1%DX=>upHU-dQXQlvV)}eX$Psr@c-&br3&NX-FJ+dfA)zsFP^RnX+lHNB!W< zZ=0)Ho{lODL5RAS5OrOjI`Oi6SPBreAD*bQjX6=>q5S;N)MSk|Ypt6Uh&rR4v=T>Q zI84!=wOaR@w{1~nA?bu2dTQTb{R4cxMViaZaL_9lb)zf z8>u#6sPsa5k`j!v14T$muToMinGBMU^!v4;!Qk}0YWxESoZ?9R#p^!9>-2qi^`1D* zEzuJENL2Kmt>02!gbpa-pb1RH`<5UXz|hon>vPzeD|#IP@iJxSdkw z_4KGWCnlnS>B~6p#R%-HAq0WxCymRpxF!(`OOt3T`M$b?{xclM=L3_?R`ylv5WOvM z${;kAq4`-rr69yQXGuw|z?2X7_c#DRdu9C`86kj=R@u5#}8+CPE0S<5k0hjN=~Mx^ulP58Y|^sJqTvdHCf+ z_o#UvLpO$<41&`VT2z>NQ5{Fjq3QsAM*&mcIRLimdZA*iIva>RB5uBD~Xg;AS10XUd%B<|D%ozSy8|_S4H0$9qHaAH>2f2zU%B!TC$M?neG|g*+gxSXdfYQ;qHC!BRSo5}2~y zybRCFQ`LGU4m6dkrwx^OUV&KjhUZ+S8_zANIbTCYAHqf!CYEiwFthxHKvUKU7NkNq zEtI^q9g^I-l((>Bnl0Zm>SdPSD-fPT;QM_8f-9W_ZHinT#2)R8bsfALIba=aNG*7p zXK2b>FhQBXQm*F@aGZi=HatDo@t4+h2(Q3PK#yRVRy)2wqL#x8b=kUE>iCOeY95C0 zb0|MQE;WtgOo%!kX0cq!oAx(&eVV{4>NVr&1;HK9tJPH$C;aw9cDsQ08`!JXTyp>ksuZ8 z#zq{7dW`E_S%snN%kfL{eREn5Q7?P-pQ(j_oeKf5=6w=*+{6Z&ld)x3cP@tE>!H)^ zJaGs$8iX2@0{(4%s0uQ$HWj&JnCJ8?T+0NfappPA8#wi#Dd94_chx}v zAb6hX&g#_;oK8h?IX}sa&N<4D_D-g!a)=}brVqdc`evL+IwOpYu#MMq<#Uoi%ttkj zSXdfIOO5YS{*|&)&*OM>GIbDO3Km&8;jd@Hpeg6u+x}NP7!L3KaQsI-d*!t~>VdIu z>2+!S6M#iv%Hnm|S`5?tDl+*P7I=Bq|A4$w_A38`XPrNs+=_LShj2e9{rBT+u>Z5t zKoQyxweDTYT-ZL1K+_p@v78vsjrPoUmpciP$}LJ<^fDp$(eAkXdDLx$rvXpOFnAgU zO_~2ao4?cU+fZhC5MWABI+wr{KkTmi1hRMu+PwFN*WH6_|BVMxpZjkkYQ=_G+7os7 zxiK|&F6Tpa!W7;Q{y9+rQQ?gmlr4ksHpM8J?SJmT(%^Pkwh&b`kzUNQKuMEPHUvz~ zLYdy}*)tVY16dTzqUyrt+tGlnBWy`9HBj{OFu3U+r}In~IRH}+qK+U$ zHDgHsCHRGz>vxSe2$^-K8o`(95{q?Cy;(XC4T++yt9$7B{=YW1e{Y( z^oa9qeKfqWnBWqzca?cg_hFvXdC=XgUgrZ*1Qi@1bpXTld9P8DCvd8P3B7laU-2%} zoz{a`w;JnSZ=GJF^p*Ac8J%>JO7;bC|JpMzBm*Wi<>MnCeKLpSdmg6u;X%3uJ4xSz zu^F(qjnEoGu9`$FEKQ=V*{*|4168;Fvb_na^^(dbhVbTp!^fHkr8|nJ^E#&C1KUcwe`&Z7o zTkZNM|2|yG3pD-awL>~{96fLbo{QOlrE9OnDmayH{ZX>#!i1=kLTaF?h*6&M)$WXlxe&Mrx2chS(g^j~|&i2WoXlKX;CnS^qzKZvrgG zb>8=$xxmG8vF`+k^6z*7 z>7Mz%sx#fw%UQnjo$fxr{?2K{N8rgo_{lJyq=|j}a9}5i9*?r*I*(z8e>&3Pe|Z0G z`+jo|i8w1!vGbhn88z?i8?_%=nTYbZ^PGMJaC(UPixf{^t$5)?MwjqL+sSyQ8U`ht zOm3p9=(MvhFa=>D0zH>&h(Oau!1TM{_=b(a!Z)s6=SN5rco+fDYP;{OaihO0&O%{n z94)nejIA%$3$KL?at(5UDXxoAkTDXP;ziWRzh)$3l2rQ_`xR))PW2>QCs)JEw0|Yu zhVa_Suoi)KN3W}&Ac%Jxc_a^XP3Vo~6w4bUZuv1ClPk7=M=G zIr#o$uGua`eepp;RL>K2|4&Ysi4*xzDbEx26z(0zjuE7K!}tkNk01A*XC0NsUR8)1 zTUAvD@)|*D2b{(Nrb#4Jm3!S#Xbq@M6uSCS%e+3gq^8=!M%+s_5o<{QNjxx-1u&2x z3G9?5w-H21$6c1(Hl05Z^y_V4XI|pMaoZmG4)^9-zPSI(X3r=1VC#udGXPNGg3|+d zp!}q2p3}+)%%s3cQc98zt=o}ED(*bSBjpY9MktR?Nv)4R@wj@x)OwftbC?P+lBylct?1dG8d816fQd>|7=`KL-T1b z2Zy6O$6~(%OgUteSD5t+F^}nHADFJi25w~FHI`vM!s7_15C}{UM#qo6Dk*EA$j=lm zFy-Ccy}QZ1O>DHL8rjB{BKR+lcpL$#J?|X+!Lvj!0aKR0$Tq?J=T+>r`90+B!|ELJ zndizQUo!8#QoXMe-li@rojHJ8(jsuui;%ZLJR9Ga-t~Ix{C|wMZfMQ+o-t}(-g(@5 zqMm&FQ!`~k$xPsIehX3iFrsSI_e4EohxHSpp1`wktD+FKInA|mou~^;88M|DBHLV1 z^yngJpdEuNLise0t!Y5*qBXsB^I2*WUhP&4>7Rp#BaYu8MEDfzba8T_=g#~?&vtE= zcJa{P`;ndJl-{M&;0fT)b9(&LsQK`K_x#yEZqyFn=a)*|$4cp3wwsrB&v!ewy#P(! z@><;y==0+un8UZ$$Deo{p=p$dX&hk6^Id4#2$(7;rN*)m>s?AOwl^{21cJsI zL)jytDNY^v>Nxw+juW_EhTFVr6F9V{xbW24FM!g>J-q1hx`XQqE-dG-DVe^FJ}_N{ z9lY2Ol*)1*)_;V+vcMZ&fhqLRAu0NEg$qr?D%^4#8%>1pI!kZ$aGRzS^_jKCZ)P<#U&`w72f@{Sk$mD8cuDN9>bB?uj z{y%XbsxiNK^qBpq)X6tb!BGGZ)gQ_~4j-2~0VfLA3zZP{BpoZ75Cy04mBs4>rCGKa z2~1m!EPi(N$RcV$?V^aamVTbqF4EU=5mTUDG&1oQP7q@--6?1eqhU;UV zQ#(1oKhG&aMqg>vyn|ucUdRbUDwbXLOmkhIEX{*mgdysyPaHQ3R*W~tUps}lR=r{T;{j0laVbL6qsPX)P>*6* z|7qS&>xe?rI?9RIMVp|+?Wa}&(>xeeM7eZRhc%#f(cucnY4U0pIjxu+WJ_%$2bGY+ zEYz|KndkI(-2Kgxu)3P}=} zRz$3SI;MfZyAf89FZCd3a38t=2jiYu?^ubiTbD(*iz3xa`PcEnj9#Zl zt8?wb(?u8>|M;irjGhu$IvcR`6xz$0A>;*9Q*8U2%KJ)pKKmf3pW0YF(#C@yQrPcbZi9^8c)#-mbShs%UJB>(zLFRgK=ZqB0yc0IVu zm}il*IKY&kkuz5r+QV5LQ%F1MO+xu1g;aBG~dxMz4OVdst;&m%Uzf5 zvS-g4z`HC=?X>;|{DqhGHP;QCBCCZem1Z^(4aBAHi6o|x6iNemd{b8_1$J>})i%1g za@#Cgv$pY@2k$WZ_Zf2ppoJc%^fo0p<+QK#IHe~lB?_E|=R5R{Oy@W7?m_fD>1B%g zFzBqp3c8UfQjG1FQw<-j^j`8} z(BG^z(Cj@W>-;rJZ_LXSQ_`Rf9rvB5=S(S?r`LYF(dof{dk>-=`@mE@Oyf>p;m-3L zL|X8bqT5DM)nEPs?h9`q_lK)XKzO?L*GlHTcjMc3bu8W%@hqKzmtQB)b~fGwuhL(} zyDk^aHnuMR1Mk}hye}cV{WC(;esko76J|2N=?@qFMJ+Yy_9iqyyP!ld(W)W&O~k8* zcCiMEb}{MVs>of@)HZTgCArFw+DERcBUhPe)i!?f&>iLg!090Xm&pJ$0#3OkI6dt< zoOKGE_B=49l@XF*?l3znA4B7!Bn(X7fQRX1(5fj6I6;AFl-BaQt-J&sk!1NjH1UMCF%9k(`kpDICGM!LHynGoW zf!7xf=jY1+q-`*~ba+R+jyaB2Nm&D}-d9r2R_y4L_+XB`2jPBbI3ypk-G2$-{cG;G zo8W2DZKJuG%h%EN`n?BvdKbZexy>Ao+}nn6G6E|khXx*(7>18$k4>MC4@>Qd_$j(= z2t?iX&Yww?Q5XuH<n<)ZrT5*IKk?s&g!DA>)jkZ(cY5KW z{ZW4{FeTVOA0Y%x`>~zZi}jqx^tT;g%H$b1KkwrR1it$fmO>M`ktFUdoi0oiG;PMq z)ZT;W<&ELUly-or7lSd~0#3WZKBP{Hx-5SY_lh@>`-8~=Q@-HhE3*r}2w3`hYu9Aj z2E_$qc7y(?2A~1gJ`|X$Ndy|un@XSxU5U_u+DC*^bW@-KwU0m*x)Py*B<3g(9;yd_X&U0E@Wl&(>84e%%`b(3DSPF=LZEkP6Zyx{Dj8`Y z$@@!2S*}RN1*Ve#f_M+3#D%8z{zEtYb@sGGfGJ~AXzJ-xf0NMwpDAAb8m2wL^8y2( z(>^)UeB6DdQTt;2!mX{tQa9D2Uq9Tk=z8)RpnWJXO^nLd+siZnrf1{yvk=}k=CNhoDEm`BG-br|W|Yj? zOEDGeuY*|8vy|Y9%Qq0%v0sJ!Kh-$@I8r5J4Wx08$+8G8G?jE`V=mK?26LIRtyuf! z%c>RLnMrtjyC-sEstMvEDmgZKU_=yqOZGZ6CKCyTcp?IQ``C zsF{KZ@MV}jmmeM+HAew$1e|iXK7&Y7L-i}bAtEojmudN?vN2DhAUB{a+iC-%igJ@{ z4Is=zAV{Ovp(6@R9c6UEYWYIg2tVvW&o)9+@iKLRsXuS2g{2sdIlQ;FEx9Ub1Wesy z<9M0|z;rFnq-~ROz69V$pHSA}gYoi@qg682 zK-%}2EQ%8aP3w7?2C$Twx7Uz%*-(=O{hB zDCDRza+(#jk(^dcjtQ$(OL{vIq&eaO(+S6po7XW!UqAZfD5!v| z41luhtl8uwd1Fl9O3;z0NpU^)>) z^G^`iL!vxQrJV$}y&4BjPac-?Jp$XwN5kD=`$e}ARE0{)8c-WaS-}O2UV&)=E3Mru z^FlyTxAS&2+1=;s4Wqm3H;K}zjU=JP?vEpDJGt$|9p)Io>27$JPMKKgar!Y}>OpwD zasDh0)%QG3$6QX|*!-QADx?A&GKS57EB6+&gK3B3--0qcia=o6;3GE`WoPf20FA@) z2~5%H7YPGXZhwE$L^A~xn}>e)8{d#aby*M%lotS)(xaGOn1rU{RZP%G?^1f85|+Ln z50>IcBOr+Du0%mo+26>^G=NGMdS^U?_D`V`x0CeaPGn0^`5PSV$L(Njrzi1ss80bTyVb7W`IgFz;wmjl6m@0PBI!T%*u@;&ORTQ{v12NmTb1U{DluqWjc>_%S&d$ z{|5Iy4#hu!{2wUh%MYjIJ+<1&`%V&yj)JD{(0sRz1i;1Xzs>}veT=S@Qi`proKFnA^7~@69b3jQ`E!MS56l! z%CliNSE3+<=75Zx1GgSTsa0fwDL48D>~Ic@@-m&=U&068qKD>J0Mp5cXoDBoJ3cU_ zc@mgD>&#<1itE9K#jw#W0Hz{q2+nvbygO1XAkF^W2IKTwpo@*VB`sq50BA z7`FwcG;{(}yy!|2n6fGJ-5D?G80~N7AUxp%Q(N}?v4IEiodxn3ZtuZpg&%tR+#yXc@y{2?d z_eDxMZ+1d(dg2pf=y5t3bDVO{!b#&t?MI?M0N^?0dzhX)?Sa$Ek3%&cs$T&OSy30D zllb3@<(U?AaG8I4<_R#}SHBz;Wv43=$8WNCP1huj>4Zc9Q*J*nd6Evvry{yQ#C}=@ zNCH#@mWEYAcp3#wd0eew`GE%>?QuE6Axx(V`a@7EFz6W{nDWI5W#h_{nFtTlR?FeV zqQ9NgKvwsk@~;7!et?qV-jd`?G8dYP9{FE;o9&vpiRW?}59mv_d3&1wO#+~1 zWhc#-PS41j2GmyaRwLQvM}cW}y3RZ$Hf)N%5y@Qjg-cLx0)?xxj%8SFrDLiuT*7&^ zm93}mFelMj+k0dbz!aTAfKwTo|Mos_gdt(+DR`WoL`RSwXOu?6^edpDcZx9|dMjbi z8`+(=Wko0VdE}0cp!{&pHRuFys|`&n%1)0X(kOPI83qs_3QRpcbn|cdHvo@7S?bwJ zz48;7)`F#SUKBK)Jy0@xk5+q`lIL76L-JSQ52p?|i7828pJe$2Lxe)l{2`5YOfI|- zdl0sbd~0l@t`$xLS>A)>8kjaT<IxWq1U%YB7-B+h+mPqX-P3?A9+kR;FlhzM-c#;hF`4>Ob5U66|?0DkSGz7D#EE*2q04{aH1dvO)56uQNebtAi0Wc+igd_n> z*>1=*$ubE{2}%h}mq=T}dWA6UM-e!606+NlIRpy9DI1s@7%|~4UqoWsm+iM=nXt41 zPP4X^go~`vWvBt#3Pl~#GE{nplTu*X;R;APd2Pf=YqY!L(+7m^uHU3fr}mPxM!Pq@ zBH7B;Be$F50H^!mNjVw4Lh&}`T&4u4)9}G4&TT4loJy@lfm7))%Q5DBtnEbLaDT)x ze7G7U1;^%Kr2?4#92ugADS;`5F%KWAo%g}7d>O#>lo`34-D+dDJcVBK09N?%C-k~U zW<&$i_a{v-==+0XmCSd)aW_v@DX<2_{#{@c7nDk|TLq>w;bpoXUZw|pU`p6SYdl{d z&pG%57)m(-o8vyR8;Sta88F64*s=I}0Mj=Vn0neN_HWkrB54EEn%fRq)uIbc-8lGS zAee4~g!5c)ZxXn z&g3MViP%a&&VP3d8ZF`OfF`$Hb4C(P>;`^{v007`*r zSaZexFKuA^me$G<2beNuft+qCWHID0CwypnnG1Y2V+Rj_e2OI*j)=syU{=ZWW5

`ByP*UCw$_oHdvqzn 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 literal 0 HcmV?d00001 From 6e503889f8f6e101f2b563f31628fc8e126040e3 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Wed, 17 Jul 2024 10:47:09 -0500 Subject: [PATCH 05/13] Update README.rst --- README.rst | 98 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 85 insertions(+), 13 deletions(-) diff --git a/README.rst b/README.rst index 78fe0c2..4611faf 100644 --- a/README.rst +++ b/README.rst @@ -2,22 +2,96 @@ TreeSim_Lpy ============ +Description +----------- + +TreeSim_Lpy is a tree modelling tool which is built upon L-py with the added features of pruning and tying trees down to mimic different architectures. The tool uses python and prior knowledge of L-systems and L-Py is needed to work with this tool. This tool is ideal for researchers and developers working on botanical simulations and robotic harvesting applications. -TreeSim_Lpy is a tree modelling tool which is built upon L-py with the added features of pruning -and tying trees down to mimic different architectures. The tool uses python and prior knowledge of L-systems -and L-Py is needed to work with this tool. Python version 3.9 +Table of Contents +----------------- + +- `Installation <#installation>`__ +- `Usage <#usage>`__ +- `Features <#features>`__ +- `Gallery <#gallery>`__ +- `Contact <#contact>`__ +- `Support <#support>`__ +- `Citations <#citations>`__ + +Documentation +------------- + +The documentation is provided at `Read the Docs `__. + +You can find the latest L-Py documentation at + + +Installation +------------ + +To install TreeSim_Lpy, follow these steps (adapted from the `L-Py documentation `__): + +1. **Install Conda**: + + The L-Py distribution relies on the conda software environment management system. If you do not already have conda installed, you can find installation instructions on the `Conda Installation Page `__. + +2. **Create a Conda Environment**: + + Create an environment named `lpy`: + + .. code-block:: sh + + conda create -n lpy openalea.lpy -c fredboudon -c conda-forge + + The package is retrieved from the `fredboudon` channel (development), and its dependencies will be taken from the `conda-forge` channel. + +3. **Activate the L-Py Environment**: + + .. code-block:: sh -The documentation is provided at https://treesim-lpy.readthedocs.io/en/latest/ -You can find the L-Py documentation at - + conda activate lpy + +4. **Install Required Packages**: + + .. code-block:: sh + + pip install -r requirements.txt + +5. **Run L-Py**: + + .. code-block:: sh + + lpy + +Usage +----- + +Here is a basic usage example to get you started: + +- **Loading a Tree Model:** + + .. code-block:: python + + Do some lpy things + More lpy code + produce something? + + + +Features +-------- + +- **Pruning:** Remove unwanted branches to simulate pruning. +- **Branch Tying:** Simulate branches being tied down to mimic different orchard architectures. +- **Model Class Types:** The model generated is built with classes of different material type. ======== Gallery ======== -.. figure:: media/envy.png +.. figure:: media/envy_model.png :width: 500 :height: 300 @@ -30,17 +104,15 @@ Gallery :height: 300 Example of a labelled, pruned and tied UFO tree system using TreeSim_Lpy - +Contact +------- -============= -Documentation -============= +For any questions or issues, please contact us through **GitHub Issues**. -Documentation is available at ``_ -Help and Support +Support ---------------- Please open an **Issue** if you need support or you run into any error (Installation, Runtime, etc.). From 3f7991d66146b44d6fe447fa23128cfff1673bde Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Wed, 17 Jul 2024 10:49:40 -0500 Subject: [PATCH 06/13] Update README.rst --- README.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.rst b/README.rst index 4611faf..4bae705 100644 --- a/README.rst +++ b/README.rst @@ -66,6 +66,14 @@ To install TreeSim_Lpy, follow these steps (adapted from the `L-Py documentation lpy +6. **Install TreeSim_Lpy**: + + With the conda environment for L-Py set, next we need to clone the TreeSim_Lpy repository. To do that run + + .. code-block:: sh + + git clone https://github.com/OSUrobotics/treesim_lpy.git + Usage ----- From 37c5e13b523d3cae29d0474cbfec30a93e4566e5 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Thu, 18 Jul 2024 18:39:59 -0500 Subject: [PATCH 07/13] Add files via upload Final changes with documentation --- examples/Envy_tie_prune_label.lpy | 454 ++++++++++++++++++++++-------- 1 file changed, 343 insertions(+), 111 deletions(-) diff --git a/examples/Envy_tie_prune_label.lpy b/examples/Envy_tie_prune_label.lpy index 22207cf..7ff3deb 100644 --- a/examples/Envy_tie_prune_label.lpy +++ b/examples/Envy_tie_prune_label.lpy @@ -2,6 +2,7 @@ Tying, Pruning, and Labelling Envy architecture tree """ import sys +import os sys.path.append('../') from stochastic_tree import Support, BasicWood import numpy as np @@ -9,65 +10,142 @@ import random as rd import copy import gc import time +import math +from math import sin, cos, pi +from helper_edited import * -from helper import * -#context().turtle.setMaterial(9,ImageTexture('../light-tree-bark-bl/light-tree-bark_albedo.png')) -#context().turtle.setMaterial(10,ImageTexture('../white-spruce-tree-bark-bl/white-spruce-tree-bark-albedo.png')) -material = {"Spur": 9, "Branch": 10, "Trunk": 10, "NonTrunk": 9} +# Leaf class +# Built on the BasicWood class in order to retain the same functionality as the other +# parts of the tree. +class Leaf(BasicWood): + count = 0 + def __init__(self, copy_from=None, max_buds_segment=3, thickness=0.05, + thickness_increment=0.005, growth_length=0.5, max_length=2.0, + tie_axis=(0, 1, 1), order=2, prototype_dict={}, name=None, color=None): + super().__init__(copy_from, max_buds_segment, thickness, thickness_increment, growth_length, + max_length, tie_axis, order, color) + if copy_from: + self.__copy_constructor__(copy_from) + else: + self.prototype_dict = prototype_dict + if not name: + self.name = str(self.__class__.__name__) + '_' + str(self.__class__.count) + Leaf.count += 1 + + def is_bud_break(self, num_buds_segment): + return (rd.random() < 0.05) + + # Useless but necesessay as this function gets called in the bud(t) section + def create_branch(self): + # Leafs typically do not create further branches + return None + + def grow(self): + pass + + +# Apple class +# Built on the BasicWood class in order to retain the same functionality as the other +# parts of the tree. +class Apple(BasicWood): + count = 0 + def __init__(self, copy_from=None, max_buds_segment=3, thickness=0.05, + thickness_increment=0.005, growth_length=0.5, max_length=2.0, + tie_axis=(0, 1, 1), order=2, prototype_dict={}, name=None, color=None): + super().__init__(copy_from, max_buds_segment, thickness, thickness_increment, growth_length, + max_length, tie_axis, order, color) + if copy_from: + self.__copy_constructor__(copy_from) + else: + self.prototype_dict = prototype_dict + if not name: + self.name = str(self.__class__.__name__) + '_' + str(self.__class__.count) + Apple.count += 1 + + def is_bud_break(self, num_buds_segment): + return (rd.random() < 0.05) + + # Useless but necesessay as this function gets called in the bud(t) section + def create_branch(self): + # Apples typically do not create further branches + return None + + def grow(self): + pass + class Spur(BasicWood): count = 0 def __init__(self, copy_from = None, max_buds_segment: int = 5, thickness: float = 0.1,\ thickness_increment: float = 0.01, growth_length: float = 1., max_length: float = 7.,\ - tie_axis: tuple = (0,1,1), order: int = 1, prototype_dict: dict = {}, name = None, color = None, material = None): + tie_axis: tuple = (0,1,1), order: int = 1, prototype_dict: dict = {}, name = None, color = None,\ + max_leaves: int = 5): super().__init__(copy_from, max_buds_segment,thickness, thickness_increment, growth_length,\ - max_length, tie_axis, order, color, material) + max_length, tie_axis, order, color) if copy_from: self.__copy_constructor__(copy_from) else: self.prototype_dict = prototype_dict if not name: - self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) + self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) + Spur.count+=1 + # Maximum number of things to grow off of a bud + self.max_leaves = max_leaves + # Keep count of number of leaves to not go over max_leaves + self.num_leaves = 0 - Spur.count+=1 + # Every branch gets its own contour when it is constructed to ensure + # branches each having a unique profile curve + self.contour = create_noisy_circle_curve(1, .2, 30) def is_bud_break(self, num_buds_segment): return (rd.random() < 0.1) - + + # Generates a leaf or apples def create_branch(self): - return None + if self.num_leaves < self.max_leaves: + self.num_leaves += 1 + if rd.random()<0.9: + new_ob = Leaf(copy_from = self.prototype_dict['leaf']) + else: + new_ob = Apple(copy_from = self.prototype_dict['apple']) + else: + new_ob = None + return new_ob def grow(self): pass class Branch(BasicWood): count = 0 - def __init__(self, copy_from = None, max_buds_segment: int = 2, thickness: float = 0.1,\ + def __init__(self, copy_from = None, max_buds_segment: int = 10, thickness: float = 0.1,\ thickness_increment: float = 0.01, growth_length: float = 1., max_length: float = 7.,\ - tie_axis: tuple = (0,1,1), order: int = 1, prototype_dict: dict = {}, name = None, color = None, material = None): + tie_axis: tuple = (0,1,1), order: int = 1, prototype_dict: dict = {}, name = None, color = None): super().__init__(copy_from, max_buds_segment,thickness, thickness_increment, growth_length,\ - max_length, tie_axis, order, color, material) + max_length, tie_axis, order, color) if copy_from: self.__copy_constructor__(copy_from) else: self.prototype_dict = prototype_dict if not name: - self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) - + self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) Branch.count+=1 self.num_buds_segment=0 + + # Every branch gets its own contour when it is constructed to ensure + # branches each having a unique profile curve + self.contour = create_noisy_circle_curve(1, .2, 30) def is_bud_break(self, num_buds_segment): - - return (rd.random() < 0.1*self.growth_length*(1 - num_buds_segment/self.max_buds_segment)) + return (rd.random() < 0.01*(1 - self.num_buds_segment/self.max_buds_segment)) def create_branch(self): self.num_buds_segment += 1 - if rd.random()<0.2: + if rd.random()>0.6: new_ob = NonTrunk(copy_from = self.prototype_dict['nontrunk']) else: new_ob = Spur(copy_from = self.prototype_dict['spur']) @@ -79,29 +157,31 @@ class Branch(BasicWood): class Trunk(BasicWood): count = 0 """ Details of the trunk while growing a tree, length, thickness, where to attach them etc """ - def __init__(self, copy_from = None, max_buds_segment: int = 3, thickness: float = 0.1,\ + def __init__(self, copy_from = None, max_buds_segment: int = 5, thickness: float = 0.1,\ thickness_increment: float = 0.01, growth_length: float = 1., max_length: float = 7.,\ - tie_axis: tuple = (0,1,1), order: int = 0, prototype_dict: dict = {}, name = None, color = None, material = None): + tie_axis: tuple = (0,1,1), order: int = 0, prototype_dict: dict = {}, name = None, color = None): super().__init__(copy_from, max_buds_segment,thickness, thickness_increment, growth_length,\ - max_length, tie_axis, order, color, material) + max_length, tie_axis, order, color) if copy_from: self.__copy_constructor__(copy_from) else: self.prototype_dict = prototype_dict if not name: - self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) - print(material) - + self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) Trunk.count+=1 + # Every branch gets its own contour when it is constructed to ensure + # branches each having a unique profile curve + self.contour = create_noisy_circle_curve(1, .2, 30) + def is_bud_break(self, num_buds_segment): - if (rd.random() > 0.1*self.growth_length*(1 - num_buds_segment/self.max_buds_segment)): + if (rd.random() > 0.2*(1 - num_buds_segment/self.max_buds_segment)): return False return True def create_branch(self): - if rd.random() > 0.9: + if rd.random() > 0.7: return Spur(copy_from = self.prototype_dict['spur']) else: return Branch(copy_from = self.prototype_dict['branch']) @@ -109,27 +189,29 @@ class Trunk(BasicWood): def grow(self): pass - class NonTrunk(BasicWood): count = 0 - def __init__(self, copy_from = None, max_buds_segment: int = 2, thickness: float = 0.1,\ + def __init__(self, copy_from = None, max_buds_segment: int = 5, thickness: float = 0.1,\ thickness_increment: float = 0.01, growth_length: float = 1., max_length: float = 7.,\ - tie_axis: tuple = (0,1,1), order: int = 1, prototype_dict: dict = {}, name = None, color = None, material = None): + tie_axis: tuple = (0,1,1), order: int = 1, prototype_dict: dict = {}, name = None, color = None): super().__init__(copy_from, max_buds_segment,thickness, thickness_increment, growth_length,\ - max_length, tie_axis, order, color, material) + max_length, tie_axis, order, color) if copy_from: self.__copy_constructor__(copy_from) else: self.prototype_dict = prototype_dict if not name: - self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) - + self.name = str(self.__class__.__name__) +'_'+ str(self.__class__.count) Branch.count+=1 + + # Every branch gets its own contour when it is constructed to ensure + # branches each having a unique profile curve + self.contour = create_noisy_circle_curve(1, .2, 30) def is_bud_break(self, num_buds_segment): - return (rd.random() < 0.05*self.growth_length*(1 - num_buds_segment/self.max_buds_segment)) + return (rd.random() < 0.02*(1 - num_buds_segment/self.max_buds_segment)) def create_branch(self): if rd.random()>0.9: @@ -142,25 +224,30 @@ class NonTrunk(BasicWood): def grow(self): pass -# Pass transition probabs? --> solve with abstract classes -growth_length = 0.04 +#Pass transition probabs? --> solve with abstract classes +growth_length = 0.1 #everything is relative to growth length basicwood_prototypes = {} -basicwood_prototypes['trunk'] = Trunk(tie_axis = (0,1,1), max_length = 4, thickness = 0.025, growth_length = growth_length,thickness_increment = 0.0002*growth_length, prototype_dict = basicwood_prototypes, color = 0, material = None) -basicwood_prototypes['branch'] = Branch(tie_axis = (0,1,1), max_length = 2.2, thickness = 0.01, growth_length = growth_length,thickness_increment = 0.00001*growth_length, prototype_dict = basicwood_prototypes, color = 1, material = None) -basicwood_prototypes['nontrunk'] = NonTrunk(tie_axis = (0,1,1), max_length = 0.2, growth_length = growth_length, thickness = 0.003,thickness_increment = 0.0001*growth_length, prototype_dict = basicwood_prototypes, color = 3, material = None) -basicwood_prototypes['spur'] = Spur(tie_axis = (0,1,1), max_length = 0.08, thickness = 0.003, growth_length = growth_length, thickness_increment = 0., prototype_dict = basicwood_prototypes, color = 2, material = None) +basicwood_prototypes['trunk'] = Trunk(tie_axis = (0,1,1), max_length = 0.4/growth_length, thickness = 0.01, growth_length = 0.1,thickness_increment = 0.0002, prototype_dict = basicwood_prototypes, color = [255,0,0] ) +basicwood_prototypes['branch'] = Branch(tie_axis = (0,1,1), max_length = .22/growth_length, thickness = 0.01, growth_length = 0.1,thickness_increment = 0.00001, prototype_dict = basicwood_prototypes, color = [255,150,0] ) +basicwood_prototypes['nontrunk'] = NonTrunk(tie_axis = (0,1,1), max_length = 0.05/growth_length, growth_length = 0.1, thickness = 0.003,thickness_increment = 0.0001, prototype_dict = basicwood_prototypes, color = [255,150,0] ) +basicwood_prototypes['spur'] = Spur(tie_axis = (0,1,1), max_length = 0.0008/growth_length, thickness = 0.003, growth_length = 0.2, thickness_increment = 0., prototype_dict = basicwood_prototypes, color = [0,255,0], max_leaves = 5 ) + +# Declare leaf and apple in a similar fashion. +basicwood_prototypes['leaf'] = Leaf(tie_axis=(0, 1, 1), max_length=0.02/growth_length, thickness=0.01, growth_length=0.05, thickness_increment=0.0005, prototype_dict=basicwood_prototypes, color=[36, 117, 32]) + +basicwood_prototypes['apple'] = Apple(tie_axis=(0, 1, 1), max_length=0.02/growth_length, thickness=0.01, growth_length=0.05, thickness_increment=0.0005, prototype_dict=basicwood_prototypes, color=[36, 117, 32]) + #init trunk_base = Trunk(copy_from = basicwood_prototypes['trunk']) time_count = 0 - def generate_points_v_trellis(): x = np.full((7,), 0.45).astype(float) #z = np.arange(3, 24, 3).astype(float) y = np.full((7,), 0).astype(float) z = np.arange(0.6,3.4, 0.45) - print(z) + #print(z) pts = [] id = 0 for i in range(x.shape[0]): @@ -169,13 +256,9 @@ def generate_points_v_trellis(): pts.append((x[i], y[i], z[i])) id+=1 return pts - - - -support = Support(generate_points_v_trellis(), 14 , 1 , None, (0,0,1), None) -num_iteration_tie = 30 -num_iteration_first_tie = 60 -first_tied = False +# points, num_wires spacing wires trunk_wire_pt branch_axis trunk_axis +support = Support(generate_points_v_trellis(), 14 , 1 , None, (0,0,1), None) +num_iteration_tie = 20 ###Tying stuff begins def ed(a,b): @@ -192,9 +275,10 @@ def get_energy_mat(branches, arch): for wire_id, wire in arch.branch_supports.items(): if wire.num_branch>=1: continue - energy_matrix[branch_id][wire_id] = np.square(ed(wire.point,branch.start))/2#+v.num_branches*10+branch.bend_energy(deflection, curr_branch.age)ed(wire.point,branch.end)/2+ - return energy_matrix + energy_matrix[branch_id][wire_id] = ed(wire.point,branch.end)/2+ed(wire.point,branch.start)/2#+v.num_branches*10+branch.bend_energy(deflection, curr_branch.age) + return energy_matrix + def decide_guide(energy_matrix, branches, arch): for i in range(energy_matrix.shape[0]): min_arg = np.argwhere(energy_matrix == np.min(energy_matrix)) @@ -209,7 +293,7 @@ def decide_guide(energy_matrix, branches, arch): energy_matrix[min_arg[0][0]][j] = np.inf for j in range(energy_matrix.shape[0]): energy_matrix[j][min_arg[0][1]] = np.inf - + def tie(lstring): for j,i in enumerate(lstring): if i == 'C' and i[0].type.__class__.__name__ == 'Branch': @@ -226,14 +310,13 @@ def tie(lstring): return False #Pruning strategy - def pruning_strategy(lstring): #Remove remnants of cut cut = False for j,i in enumerate(lstring): if i.name == 'C' and i[0].type.age > 6 and i[0].type.has_tied == False and i[0].type.cut == False: i[0].type.cut = True - print("Cutting", i[0].type.name) + #print("Cutting", i[0].type.name) lstring = cut_using_string_manipulation(j, lstring) return True return False @@ -241,16 +324,15 @@ def pruning_strategy(lstring): #Remove remnants of cut def StartEach(lstring): global parent_child_dict for i in parent_child_dict[trunk_base.name]: - if i.tie_updated == False: - i.tie_update() + if i.tie_updated == False: + i.tie_update() def EndEach(lstring): - global parent_child_dict, support, first_tied, num_iteration_first_tie + global parent_child_dict, support tied = False - print(getIterationNb()) - if (getIterationNb()+1)%num_iteration_tie == 0 and (first_tied or (getIterationNb()+1)%num_iteration_first_tie == 0): - first_tied = True + #print(getIterationNb()) + if (getIterationNb()+1)%num_iteration_tie == 0: energy_matrix = get_energy_mat(parent_child_dict[trunk_base.name], support) #print(energy_matrix) decide_guide(energy_matrix, parent_child_dict[trunk_base.name], support) @@ -264,84 +346,234 @@ def EndEach(lstring): return lstring parent_child_dict = {} -parent_child_dict[trunk_base.name] = [] +parent_child_dict[trunk_base.name] = [] #print(generate_points_ufo()) module Attractors module grow_object module bud module branch module C -extern(label = False) +extern(label = True) extern(seed_val = 0) rd.seed(seed_val) -# print("Labelling: ", label) -# print("Seed ", seed_val) -Axiom: Attractors(support)grow_object(trunk_base) -derivation length: 350 +# When called, produce two curves to guide the production of an apple, +# returns the two curves together in an array +def make_apple_curve(): + + # Generate random points in a small range to produce apples of varying size + y1 = rd.uniform(.65,1) + y2 = rd.uniform(.8,1) + y3 = rd.uniform(.4,.5) + + # Points used to build the curve that makes up the base of the apple + base_points = [ + #point 0 #point 1 #point 2 #point 3 + (0, 0, 1), (0, y1, 1), (1, y2, 1),(1, y3, 1) + ] + + # Points used to build the curve that makes up the indentation on the top of the apple + top_points = [ + (0, y3, 1),(0, 0.118695, 1),(0.909233, 0.146624, 1),(1, -0.0977491, 1) + ] + + # To make a valid curve for the nF radiusvariation, + # make a Point3Array of guide points, + # then make a NurbsCurve2D with that array as its parameter, + # then make a QuantisedFunction with the NurbsCurve object as the parameter + base_point_list = Point3Array(base_points) + curve1 = NurbsCurve2D(base_point_list) + base_curve = QuantisedFunction(curve1) + + # The same process can be done with a BezierCurve2D object instead of the NurbsCurve2D + top_point_list = Point3Array(top_points) + curve2 = BezierCurve2D(top_point_list) + top_curve = QuantisedFunction(curve2) + + return [base_curve,top_curve] + + +# Makes a single curve to guide the production of a stem for the apples +def make_stem_curve(): + + # The process of making this curve is the exact same as the apple curves, + # however the same curve is produced every time for the stems. + # Note: turning the NurbsCurve2D into a QuantisedFunction isn't necessary since + # the curve is being used with the SetGuide function + points = [ + (-1.48289, 0.982887, 1),(-0.559816, 1.22861, 1.05),(1.05126, 1.57262, 1),(1.70403, -0.0245722, 1) + ] + ctrlPointList = Point3Array(points) + stem_curve = NurbsCurve2D(ctrlPointList) + return stem_curve + +# Makes a curve and its inverse curve to guide the two sides of a leaf. +# Also returns both curves together in an array. +def make_leaf_guide(): + + # Guide points for curve, randomly generated to produce leaves of varying size + x1 = rd.uniform(0,.25) + x2 = rd.uniform(.65,.85) + y1 = rd.uniform(.45,.55) + y2 = rd.uniform(.25,.35) + + # Points are Vector3 objects instead of just tuples + control_points = [ + Vector3(0,0,0), + Vector3(x1,y1,0), + Vector3(x2,y2,0), + Vector3(1,0,0), + ] + + inverse_points = [ + Vector3(0,0,0), + Vector3(x1,-y1,0), + Vector3(x2,-y2,0), + Vector3(1,0,0), + ] + + # Make curves from control points + side1 = Point3Array(control_points) + side2 = Point3Array(inverse_points) + + # Make actual BezierCurve2D objects in to be used in SetGuide + curve1 = BezierCurve2D(side1) + curve2 = BezierCurve2D(side2) + + return [curve1, curve2] + +# Used to set the contour back to a circle after it has been changed for a branch +def reset_contour(): + default_curve = create_noisy_circle_curve(1, 0, 30) # Example of a simple default contour + nproduce SetContour(default_curve) + + + +Axiom: Attractors(support)grow_object(trunk_base) +derivation length: 105 production: #Decide whether branch internode vs trunk internode need to be the same size. grow_object(o) : if o == None: produce * - if o.length >= o.max_length: - o.age+=1 - nproduce * else: - if label: - nproduce SetColor(o.color) - elif o.material: - nproduce SetColor(o.material) - print(o.material, "material") - o.grow_one() - if 'Spur' in o.name: - produce I(o.growth_length, o.thickness, o)bud(ParameterSet(type = o, num_buds = 0))@O(0.002)grow_object(o) + if o.length >= o.max_length: + o.age += 1 + nproduce * else: - produce I(o.growth_length, o.thickness, o)bud(ParameterSet(type = o, num_buds = 0))grow_object(o) + # Get object's usual color and apply it + r, g, b = o.color + nproduce SetColor(r, g, b) + + # This sets unique color IDs + # In order to have the tree semantically segmented, + # simply comment out the two following lines + smallest_color = [r, g, b].index(min([r, g, b])) + o.color[smallest_color] += 1 + + # Check if it's a trunk or branch, then apply the contour + if 'Trunk' in o.name or 'Branch' in o.name: + nproduce SetContour(o.contour) + else: + # set the contour back to a usual circle + reset_contour() + + o.grow_one() + + if 'Spur' in o.name: + # note that the production of the buds is here with 'spiked_bud(o.thickness)' + produce I(o.growth_length, o.thickness, o) bud(ParameterSet(type=o, num_buds=0)) spiked_bud(o.thickness)grow_object(o) + elif 'Leaf' in o.name: + produce L(.1) + elif 'Apple' in o.name: + produce [S(.1/2, .09/15)f(.1)&(180)A(.1, .09)] + else: + # If o is a Trunk, Branch, or NonTrunk, simply produce the internodes + produce I(o.growth_length, o.thickness, o) bud(ParameterSet(type=o, num_buds=0)) grow_object(o) + bud(t) : - if t.type.is_bud_break(t.num_buds): - new_object = t.type.create_branch() - if new_object == None: - produce * - parent_child_dict[new_object.name] = [] - parent_child_dict[t.type.name].append(new_object) - #Store new object somewhere - t.num_buds+=1 - t.type.num_branches+=1 - nproduce [@RGetPos(new_object.start)C(ParameterSet(type = new_object))/(rd.random()*360)&(rd.random()*360)grow_object(new_object)GetPos(new_object.end)]bud(t) - + if t.type.is_bud_break(t.num_buds): + new_object = t.type.create_branch() + if new_object == None: + produce * + + + parent_child_dict[new_object.name] = [] + parent_child_dict[t.type.name].append(new_object) + #Store new object somewhere + t.num_buds+=1 + t.type.num_branches+=1 + + # Produce magenta spheres at every junction + if 'Leaf' not in new_object.name and 'Apple' not in new_object.name: + if 'Non' in new_object.name: + max_thickness = new_object.thickness + ( (200 - getIterationNb()) * new_object.thickness_increment) + else: + max_thickness = t.type.thickness + ( (200 - getIterationNb()) * t.type.thickness_increment) + + nproduce SetColor(255,0,255) @O(max_thickness) -I(s,r,o) --> I(s,r+o.thickness_increment, o) -_(r) --> _(r+o.thickness_increment) + + # Set a curve for tertiary branches to follow as they grow + if 'NonTrunk' in new_object.name: + import time + curve = create_bezier_curve(seed_val=time.time()) + nproduce [SetGuide(curve, new_object.max_length) + else: + nproduce [ + nproduce @RGetPos(new_object.start)C(ParameterSet(type = new_object))/(rd.random()*360)&(rd.random()*90)grow_object(new_object)GetPos(new_object.end)]bud(t) + + +# Simple set of productions to build apple bud. This bud is +# made up of a cylinder and a cone +spiked_bud(r): + base_height = r * 2 + top_height = r * 2 + num_sect = 20 + produce @g(Cylinder(r,base_height,1,num_sect))f(base_height)@g(Cone(r,top_height,0,num_sect)) + + +# Production rules to make apples. The curves are generated, the base +# of the apple is generated, then the turtle turns 180 degrees and +# generates the top indentation of the apple. Stem is created in the S production section +A(bh, r): + curves = make_apple_curve() + base_curve = curves[0] + top_curve = curves[1] + nproduce SetColor(230,0,0) SectionResolution(60) + produce nF(bh, .01, r, base_curve) ^(180) nF(bh/5, .1, r, top_curve)^(180)#S(bh/2,r/15) -homomorphism: +# Productions rules for stem generation. The curve generated from +# make_stem_curve() is used as a guide. +S(sh,r): + stem_curve = make_stem_curve() + nproduce SetColor(100,65,23) + produce SetGuide(stem_curve, sh) _(r)nF(sh, .1, r) #Ap + + +# Production rules for generating leaves. curve1 and curve2 are inverses of each other. +L(l): + nproduce SetColor(0,225,0) + + curves = make_leaf_guide() + curve1 = curves[0] + curve2 = curves[1] + + produce _(.0025) F(l/10){[SetGuide(curve1, l) _(.001).nF(l, .01)][SetGuide(curve2, l)_(.001).nF(l, .01)]} + + +I(s,r,o) --> I(s,r+o.thickness_increment, o) +#_(r) --> _(r+o.thickness_increment) +_(r) --> _(r) +homomorphism: I(a,r,o) --> F(a,r) S(a,r,o) --> F(a,r) - production: Attractors(support): pttodisplay = support.attractor_grid.get_enabled_points() if len(pttodisplay) > 0: - pass - #produce [,(3) @g(PointSet(pttodisplay,width=10))] -###### INITIALISATION ###### - -__lpy_code_version__ = 1.1 - -def __initialiseContext__(context): - import openalea.plantgl.all as pgl - PGL_105553169227360 = pgl.ImageTexture("PGL_105553169227360" , "../light-tree-bark-bl/light-tree-bark_albedo.png" , ) - PGL_105553169227360.name = "PGL_105553169227360" - Color_9 = pgl.Texture2D(image = PGL_105553169227360 , ) - Color_9.name = "Color_9" - context.turtle.setMaterial(9,Color_9) - PGL_105553169228320 = pgl.ImageTexture("PGL_105553169228320" , "../white-spruce-tree-bark-bl/white-spruce-tree-bark-albedo.png" , ) - PGL_105553169228320.name = "PGL_105553169228320" - Color_10 = pgl.Texture2D(image = PGL_105553169228320 , ) - Color_10.name = "Color_10" - context.turtle.setMaterial(10,Color_10) - context.animation_timestep = 0.15 + produce [,(3) @g(PointSet(pttodisplay,width=10))] From b5dd7d4b263f5023676c152b5388a78dfa17e488 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Thu, 18 Jul 2024 18:43:58 -0500 Subject: [PATCH 08/13] Update Envy_tie_prune_label.lpy --- examples/Envy_tie_prune_label.lpy | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/Envy_tie_prune_label.lpy b/examples/Envy_tie_prune_label.lpy index 7ff3deb..becea5d 100644 --- a/examples/Envy_tie_prune_label.lpy +++ b/examples/Envy_tie_prune_label.lpy @@ -2,7 +2,6 @@ Tying, Pruning, and Labelling Envy architecture tree """ import sys -import os sys.path.append('../') from stochastic_tree import Support, BasicWood import numpy as np @@ -12,7 +11,7 @@ import gc import time import math from math import sin, cos, pi -from helper_edited import * +from helper import * # Leaf class From b9597b9777759b1fe8dcd0a65b20e38563312855 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Thu, 18 Jul 2024 18:46:01 -0500 Subject: [PATCH 09/13] Updated helper functions --- helper.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/helper.py b/helper.py index d9b0eb9..df5eb4c 100644 --- a/helper.py +++ b/helper.py @@ -1,4 +1,4 @@ -from openalea.plantgl.all import NurbsCurve +from openalea.plantgl.all import NurbsCurve, Vector3, Point2Array, Point3Array, Polyline2D, BezierCurve2D from openalea.lpy import Lsystem, newmodule from random import uniform, seed from numpy import linspace, pi, sin, cos @@ -8,8 +8,8 @@ def amplitude(x): return 2 def cut_from(pruning_id, s, path = None): """Check cut_string_from_manipulation for manual implementation""" - #s.insertAt(pruning_id, newmodule('F')) - s.insertAt(pruning_id, newmodule('%')) + s.insertAt(pruning_id, newmodule('F')) + s.insertAt(pruning_id+1, newmodule('%')) return s def cut_using_string_manipulation(pruning_id, s, path = None): @@ -108,3 +108,20 @@ def create_noisy_circle_curve(radius, noise_factor, num_points=100, seed=None): curve_points = Point2Array(points) curve = Polyline2D(curve_points) return curve + +def create_bezier_curve(num_control_points=4, x_range=(0, 10), y_range=(-2, 2), seed_val=None): + if seed_val is not None: + seed(seed_val) # Set the random seed for reproducibility + # Generate progressive control points within the specified ranges + control_points = [] + prev_x = uniform(x_range[0], x_range[1] / 4) + for i in range(num_control_points): + x = prev_x + uniform(0, (x_range[1] - prev_x) / (num_control_points - i)) + y = uniform(*y_range) + control_points.append(Vector3(x, y, 0)) # Set z to 0 for 2D curve + prev_x = x + # Create a Point3Array from the control points + control_points_array = Point3Array(control_points) + # Create and return the BezierCurve2D object + bezier_curve = BezierCurve2D(control_points_array) + return bezier_curve \ No newline at end of file From c2dd9768c870df6dea532e7e8b626d2a03e02971 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Thu, 18 Jul 2024 18:53:45 -0500 Subject: [PATCH 10/13] Add files via upload Very basic, solo versions of the leaf and apple geometries --- other_files/apple_model.lpy | 94 +++++++++++++++++++++++++++++++++++++ other_files/leaf_model.lpy | 49 +++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 other_files/apple_model.lpy create mode 100644 other_files/leaf_model.lpy diff --git a/other_files/apple_model.lpy b/other_files/apple_model.lpy new file mode 100644 index 0000000..f8015d7 --- /dev/null +++ b/other_files/apple_model.lpy @@ -0,0 +1,94 @@ + +import random as rd + +def make_apple_curve(): + y1 = rd.uniform(.65,1) + y2 = rd.uniform(.8,1) + y3 = rd.uniform(.4,.5) + + base_points = [ + #point 0 #point 1 #point 2 #point 3 + (0, 0, 1), (0, y1, 1), (1, y2, 1),(1, y3, 1) + ] + + top_points = [ + (0, y3, 1),(0, 0.118695, 1),(0.909233, 0.146624, 1),(1, -0.0977491, 1) + ] + + base_point_list = Point3Array(base_points) + curve1 = NurbsCurve2D(base_point_list) + base_curve = QuantisedFunction(curve1) + + top_point_list = Point3Array(top_points) + curve2 = BezierCurve2D(top_point_list) + top_curve = QuantisedFunction(curve2) + + return [base_curve,top_curve] + + + +def make_stem_curve(): + + points = [ + (-1.48289, 0.982887, 1),(-0.559816, 1.22861, 1.05),(1.05126, 1.57262, 1),(1.70403, -0.0245722, 1) + ] + ctrlPointList = Point3Array(points) + stem_curve = NurbsCurve2D(ctrlPointList) + return stem_curve + + + + +Axiom: A(.1, .09) + + +derivation length: 2 +production: +A(bh, r): + curves = make_apple_curve() + base_curve = curves[0] + print("BASE CURVE " + str(base_curve) ) + print(base_curve) + top_curve = curves[1] + nproduce SetColor(230,0,0) SectionResolution(60) + produce nF(bh, .01, r, base_curve) ^(180) nF(bh/5, .01, r, top_curve)^(180)S(bh/1.5, r/10) + + +S(sh, r): + stem_curve = make_stem_curve() + nproduce SetColor(100,65,23) + produce SetGuide(stem_curve, sh) _(r)nF(sh, .01, r) + + + +interpretation: + + +endlsystem +###### INITIALISATION ###### + +__lpy_code_version__ = 1.1 + +def __initialiseContext__(context): + import openalea.plantgl.all as pgl + bc = pgl.NurbsCurve2D( + ctrlPointList = pgl.Point3Array([(0, 0, 1),(0, 1.70191, 1),(1, 2.01708, 1),(1, 0.192308, 1)]) , + ) + bc.name = "bc" + parameter = pgl.NurbsCurve2D( + ctrlPointList = pgl.Point3Array([(0, 0.0195083, 1),(0, 0.994923, 1),(0.289506, 1.07946, 1),(1, 0.903884, 1)]) , + ) + parameter.name = "parameter" + import openalea.plantgl.all as pgl + parameter_2 = pgl.BezierCurve2D( + pgl.Point3Array([(0.00549451, 0.00549451, 1),(-0.0018315, 0.204393, 1),(0.106227, 0.243688, 1),(0.106178, 0.117389, 1)]) , + ) + parameter_2.name = "parameter_2" + panel_0 = ({'name': 'Panel 1', 'active': True, 'visible': True},[('Function',bc),('Function',parameter),('Curve2D',parameter_2)]) + parameterset = [panel_0,] + context["__functions__"] = [('bc',bc),('parameter',parameter),] + context["__curves__"] = [('parameter_2',parameter_2),] + context["__parameterset__"] = parameterset + context["bc"] = pgl.QuantisedFunction(bc) + context["parameter"] = pgl.QuantisedFunction(parameter) + context["parameter_2"] = parameter_2 diff --git a/other_files/leaf_model.lpy b/other_files/leaf_model.lpy new file mode 100644 index 0000000..ce1afd3 --- /dev/null +++ b/other_files/leaf_model.lpy @@ -0,0 +1,49 @@ +import random as rd +def make_leaf_guide(): + + x1 = rd.uniform(0,.25) + x2 = rd.uniform(.65,.85) + y1 = rd.uniform(.45,.55) + y2 = rd.uniform(.25,.35) + + control_points = [ + Vector3(0,0,0), + Vector3(x1,y1,0), + Vector3(x2,y2,0), + Vector3(1,0,0), + ] + + inverse_points = [ + Vector3(0,0,0), + Vector3(x1,-y1,0), + Vector3(x2,-y2,0), + Vector3(1,0,0), + ] + + side1 = Point3Array(control_points) + side2 = Point3Array(inverse_points) + + curve1 = BezierCurve2D(side1) + curve2 = BezierCurve2D(side2) + + return [curve1, curve2] + +Axiom: L + +derivation length: 1 +production: + +L: + nproduce SetColor(0,225,0) + + curves = make_leaf_guide() + curve1 = curves[0] + curve2 = curves[1] + + produce _(.0025) F(.1){[SetGuide(curve1, 1) _(.001).nF(1, .1)][SetGuide(curve2, 1)_(.001).nF(1, .1)]}(True) + + +interpretation: + + +endlsystem From e76ec0eb2e159e23f6161b4bd023a440ec8c9d54 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Fri, 19 Jul 2024 09:35:04 -0500 Subject: [PATCH 11/13] Updating README Still need to add some explanations in the Tutorials section --- README.rst | 126 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 110 insertions(+), 16 deletions(-) diff --git a/README.rst b/README.rst index 4bae705..6eb6ef5 100644 --- a/README.rst +++ b/README.rst @@ -14,12 +14,13 @@ Table of Contents ----------------- - `Installation <#installation>`__ +- `Tutorials <#tutorials>`__ - `Usage <#usage>`__ - `Features <#features>`__ -- `Gallery <#gallery>`__ +- `Contributing <#contributing>`__ +- `License <#license>`__ - `Contact <#contact>`__ -- `Support <#support>`__ -- `Citations <#citations>`__ +- `Acknowledgments <#acknowledgments>`__ Documentation ------------- @@ -66,27 +67,120 @@ To install TreeSim_Lpy, follow these steps (adapted from the `L-Py documentation lpy -6. **Install TreeSim_Lpy**: - With the conda environment for L-Py set, next we need to clone the TreeSim_Lpy repository. To do that run +Tutorials +--------- - .. code-block:: sh +There are many things you may want to modify as you grow your own trees. Here are some tutorials for some of the more common changes: + +1. **Changing Apple Geometry:** + + The call production of the apples happens in the ``grow_object(o)`` section: + + .. code-block:: python + + elif 'Apple' in o.name: + produce [S(.1/2, .09/15)f(.1)&(180)A(.1, .09)] + + + + The apple's base is generated with the ``A(bh, r)`` production rule seen below. + + .. code-block:: python + + A(bh, r): + curves = make_apple_curve() + base_curve = curves[0] + top_curve = curves[1] + nproduce SetColor(230,0,0) SectionResolution(60) + produce nF(bh, .01, r, base_curve) ^(180) nF(bh/5, .1, r, top_curve)^(180)#S(bh/2,r/15) + + The parameters represent the base height of the apple and the radius of the apple. If you wanted to create a completely new apple geometry, just replace the code in this A section. However, if you simply want to edit the existing shape of the apple, that can be done in the ``make_apple_curve()`` section. + + The apple is made with two curves: a curve that marks the base of the apple, and a curve that marks the indentation on top of the apple. These curves are generated as different Curve2D objects, then turned into QuantisedFunction objects. This is necessary because of the way the apple is produced ``nF``. ``nF`` has an optional parameter ``radiusvariation`` which must be a quantized function. ``nF`` produces a cylinder in n steps, and these curves work by specifying how large the radius for the cylinder should be at each step. + + Currently, the stem is produced separately from the apple base. The stem is created in a slightly different way than the apple. A NurbsCurve2D object is returned from the ``make_stem_curve()`` function. This curve is used in ``SetGuide`` to mark how the stem will be generated. ``nF`` is used to follow the guide while generating a cylinder, and there is no ``radiusvariation`` this time. + + .. code-block:: python + + S(sh,r): + stem_curve = make_stem_curve() + nproduce SetColor(100,65,23) + produce SetGuide(stem_curve, sh) _(r)nF(sh, .1, r) + + +2. **Changing Leaf Geometry:** + + .. code-block:: python + + L(l): + nproduce SetColor(0,225,0) + + curves = make_leaf_guide() + curve1 = curves[0] + curve2 = curves[1] + + produce _(.0025) F(l/10){[SetGuide(curve1, l) _(.001).nF(l, .01)][SetGuide(curve2, l)_(.001).nF(l, .01)]} - git clone https://github.com/OSUrobotics/treesim_lpy.git -Usage ------ +3. **Changing Bud Geometry:** + + .. code-block:: python -Here is a basic usage example to get you started: + spiked_bud(r): + base_height = r * 2 + top_height = r * 2 + num_sect = 20 + produce @g(Cylinder(r,base_height,1,num_sect))f(base_height)@g(Cone(r,top_height,0,num_sect)) -- **Loading a Tree Model:** +4. **Changing Branch Profile Curve:** .. code-block:: python - Do some lpy things - More lpy code - produce something? + # From grow_object(o) + if 'Trunk' in o.name or 'Branch' in o.name: + nproduce SetContour(o.contour) + else: + # set the contour back to a usual circle + reset_contour() + +5. **Changing Tertiary Branch Curves:** + + .. code-block:: python + # From bud(t) + if 'NonTrunk' in new_object.name: + import time + curve = create_bezier_curve(seed_val=time.time()) + nproduce [SetGuide(curve, new_object.max_length) + +6. **Changing color ID system:** + + .. code-block:: python + + # From grow_object(o) + r, g, b = o.color + nproduce SetColor(r, g, b) + + smallest_color = [r, g, b].index(min([r, g, b])) + o.color[smallest_color] += 1 + +7. **Changing Apple and Leaf ratio:** + + .. code-block:: python + + # From Spur class + def create_branch(self): + if self.num_leaves < self.max_leaves: + self.num_leaves += 1 + if rd.random()<0.9: + new_ob = Leaf(copy_from = self.prototype_dict['leaf']) + else: + new_ob = Apple(copy_from = self.prototype_dict['apple']) + else: + new_ob = None + + return new_ob Features @@ -101,7 +195,7 @@ Gallery ======== .. figure:: media/envy_model.png :width: 500 - :height: 300 + :height: 500 Example of a labelled, pruned and tied envy tree system using TreeSim_Lpy @@ -120,7 +214,7 @@ Contact For any questions or issues, please contact us through **GitHub Issues**. -Support +Help and Support ---------------- Please open an **Issue** if you need support or you run into any error (Installation, Runtime, etc.). From 75d9448a14fbc240ab042d2501b8ed8ad4f0cbe2 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Fri, 19 Jul 2024 09:36:58 -0500 Subject: [PATCH 12/13] Update README.rst --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 6eb6ef5..de789a0 100644 --- a/README.rst +++ b/README.rst @@ -93,7 +93,7 @@ There are many things you may want to modify as you grow your own trees. Here ar base_curve = curves[0] top_curve = curves[1] nproduce SetColor(230,0,0) SectionResolution(60) - produce nF(bh, .01, r, base_curve) ^(180) nF(bh/5, .1, r, top_curve)^(180)#S(bh/2,r/15) + produce nF(bh, .01, r, base_curve) ^(180) nF(bh/5, .1, r, top_curve)^(180) The parameters represent the base height of the apple and the radius of the apple. If you wanted to create a completely new apple geometry, just replace the code in this A section. However, if you simply want to edit the existing shape of the apple, that can be done in the ``make_apple_curve()`` section. From 9b8c08ec3e2345de3f69575398829767608a1cc2 Mon Sep 17 00:00:00 2001 From: Ellie <167230006+camp-ellie@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:54:09 -0400 Subject: [PATCH 13/13] Update README.rst Adding more info to tutorial section --- README.rst | 93 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 82 insertions(+), 11 deletions(-) diff --git a/README.rst b/README.rst index de789a0..b4b8e8f 100644 --- a/README.rst +++ b/README.rst @@ -111,6 +111,17 @@ There are many things you may want to modify as you grow your own trees. Here ar 2. **Changing Leaf Geometry:** + The call production of the leaves happens in the ``grow_object(o)`` section: + + .. code-block:: python + + elif 'Leaf' in o.name: + produce L(.1) + + Here, .1 is just a hard-coded value that doesn't have much significance. + + The actual generation of the leaf can be seen in the ``L(l)`` production section: + .. code-block:: python L(l): @@ -119,11 +130,23 @@ There are many things you may want to modify as you grow your own trees. Here ar curves = make_leaf_guide() curve1 = curves[0] curve2 = curves[1] - produce _(.0025) F(l/10){[SetGuide(curve1, l) _(.001).nF(l, .01)][SetGuide(curve2, l)_(.001).nF(l, .01)]} + + The parameter here serves as the length of the leaf. To edit the shape of the leaf, edits can be made in the ``make_leaf_guide()`` function. In the ``make_leaf_guide()`` function, a BezierCurve2D and its inverse are generated. These are returned to be used as guides for the ``SetGuide`` function provided by L-Py. These curves are generated with random points from a set range in order to create leaves of different shape. These randomness of these points, or the range they are generated from, could be edited to change the leaf shape. However, a new geometry altogether could be made in the ``L(l)`` section. + + 3. **Changing Bud Geometry:** + + The call for the production of the buds occurs in the ``grow_one(o)`` section by addicting ``spiked_bud(o.thickness)`` to the ``produce`` call: + + .. code-block:: python + + if 'Spur' in o.name: + produce I(o.growth_length, o.thickness, o) bud(ParameterSet(type=o, num_buds=0)) spiked_bud(o.thickness)grow_object(o) + + The actual bud is produced in the ``spiked_bud`` production section: .. code-block:: python @@ -132,41 +155,87 @@ There are many things you may want to modify as you grow your own trees. Here ar top_height = r * 2 num_sect = 20 produce @g(Cylinder(r,base_height,1,num_sect))f(base_height)@g(Cone(r,top_height,0,num_sect)) + + This is one of the most basic objects generated on the tree model. As the buds on actual trees are little spikes, the bud geometry is made up of a cone on top of a cylinder. These are both produced with L-Py's basic ``@g`` primitive used to draw PglShapes. The height of the two shapes scale with the radius (provided as the parameter). The ``num_sect`` is used to determine how many sections each shape is made up of, and 20 was chosen as they appear circular without adding too many triangles to the model. + + 4. **Changing Branch Profile Curve:** - + + Every branch on the model has a unique profile curve. This is so the model doesn't appear to be perfectly cylindrical (as if made of PVC pipes). Every branch has its own unique curve that is generated when the branch is originally generated. This can be found in the actual class declaration at the beginning of the code: + + .. code-block:: python + + self.contour = create_noisy_circle_curve(1, .2, 30) + + Every ``Trunk``, ``Branch``, and ``NonBranch`` object have a their own unique curve associated with them. However this curve is only applied in the ``grow_one(o)`` section: + .. code-block:: python - # From grow_object(o) if 'Trunk' in o.name or 'Branch' in o.name: - nproduce SetContour(o.contour) + nproduce SetContour(o.contour) else: - # set the contour back to a usual circle - reset_contour() + reset_contour() + + This code targets every ``Trunk``, ``Branch``, and ``NonBranch`` object and sets their own curve when growing them. Whenever any other object is passed to the ``grow_object(o)`` function the call to ``reset_contour()`` sets the contour back to a perfect circle to ensure that no curves overlap. + + The ``create_noisy_circle()`` function is included in the helper.py file. It works by creating a circle out of a given number of points, and then moving those points in the x and y direction according to a given noise factor. The function has two required parameters and two optional parameters. The two required parameters are ``radius`` and ``noise_factor``. The ``radius`` determines the radius of the generated circle. The ``noise_factor`` is used to set a range in which random points will be generated. The points making up the circle will then be moved a random amount in that range. This can be seen in the main ``for`` loop in the function: + + .. code-block:: python + + for angle in t: + # Base circle points + x = radius * cos(angle) + y = radius * sin(angle) + + # Add noise + noise_x = uniform(-noise_factor, noise_factor) + noise_y = uniform(-noise_factor, noise_factor) + + noisy_x = x + noise_x + noisy_y = y + noise_y + + points.append((noisy_x, noisy_y)) + + The two optional parameters for the function are ``num_points`` and ``seed``. ``num_points`` is used to determine how many points make up the circle. If no value is given, it defaults to 100. ``seed`` is used to set the randomness of the circles. If a value is given, the random.seed is set to that value. For this model, seeds were not used. 5. **Changing Tertiary Branch Curves:** + + Every tertiary branch on the model follows a unique curve. This curve is generated with the ``create_bezier_curve()`` function which can be found in the helper.py file. The function works by generating four points to be used as guide points for the Bézier curve. There is some control code to make sure that the x points are random but are still generated in a linear fashion. + + The function takes four optional parameters: ``num_control_points``, ``x_range``, ``y_range``, and ``seed_val``. ``num_control_points`` defaults to four, the standard for Bézier curves. ``x_range`` and ``y_range`` default to a tuples designating the ranges: (0,10) and (-2,2) respectively. ``seed_val`` defaults to ``None``, however in the actual model ``time.time()`` is used as the seed. + The actual designation of the curves for the tertiary branches can be seen in the ``bud(t)`` section: + .. code-block:: python - # From bud(t) if 'NonTrunk' in new_object.name: - import time - curve = create_bezier_curve(seed_val=time.time()) - nproduce [SetGuide(curve, new_object.max_length) + import time + curve = create_bezier_curve(seed_val=time.time()) + nproduce [SetGuide(curve, new_object.max_length) + + A curve is generated with the ``create_bezier_curve()`` and it is used as the guide for the ``SetGuide`` function provided by L-Py. 6. **Changing color ID system:** + + Every object on the tree has its own unique color code to act as an ID. The implementation of this can be seen in the ``grow_object(o)`` section: .. code-block:: python - # From grow_object(o) r, g, b = o.color nproduce SetColor(r, g, b) smallest_color = [r, g, b].index(min([r, g, b])) o.color[smallest_color] += 1 + + This works by finding the smallest value of the objects RGB code and incrementing it by one. This is to avoid any kind of error where a color value is greater than 255. To get rid of the color IDs, simply comment out the second two lines of the code above. + + 7. **Changing Apple and Leaf ratio:** + The generation of apples and leaves is random. If something is to grow off of the bud, there is a 90% chance it will be a leaf, and a 10% chance it will be an apple. These percentages are set in the ``Spur`` class declaration: + .. code-block:: python # From Spur class @@ -181,6 +250,8 @@ There are many things you may want to modify as you grow your own trees. Here ar new_ob = None return new_ob + + Features