From 56336f99e380a1ff79820e588244cafd64fb15a5 Mon Sep 17 00:00:00 2001 From: eduardomadeira98 Date: Thu, 7 Mar 2024 23:41:32 +0000 Subject: [PATCH 01/10] change grammar and parser to new syntax of args --- aeon/sugar/aeon_sugar.lark | 20 ++++++++++++-------- aeon/sugar/parser.py | 15 ++++++++++++++- aeon/sugar/program.py | 2 +- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/aeon/sugar/aeon_sugar.lark b/aeon/sugar/aeon_sugar.lark index 7da5dbb0..32fbf486 100644 --- a/aeon/sugar/aeon_sugar.lark +++ b/aeon/sugar/aeon_sugar.lark @@ -12,7 +12,7 @@ defs : def* -> list type_decl : "type" TYPENAME ";" -> type_decl def : (soft_constraint)* "def" ID ":" type "=" expression ";" -> def_cons - | (soft_constraint)* "def" ID "(" args ")" ":" type "{" expression "}" -> def_fun + | (soft_constraint)* "def" ID args ":" type "{" expression "}" -> def_fun soft_constraint : "@" ID "(" macro_args ")" -> macro @@ -21,9 +21,18 @@ macro_args : -> empty_list args : -> empty_list - | arg ("," arg)* -> args + | arg (arg)* -> args -arg : ID ":" type -> arg +arg : "(" ID ":" type ")" -> arg + | "(" ID ":" type _PIPE expression ")" -> refined_arg + + +type : "{" ID ":" type _PIPE expression "}" -> refined_t // TODO delete later + | "(" ID ":" type ")" "->" type -> abstraction_t + | "(" ID ":" type _PIPE expression ")" "->" type -> abstraction_refined_t + | "forall" ID ":" kind "," type -> polymorphism_t // TODO: desugar + | ID -> simple_t + | "(" type ")" -> same expression : "-" expression_i -> minus @@ -84,11 +93,6 @@ expression_simple : "(" expression ")" -> same | ID -> var | "?" ID -> hole -type : "{" ID ":" type _PIPE expression "}" -> refined_t - | "(" ID ":" type ")" "->" type -> abstraction_t - | "forall" ID ":" kind "," type -> polymorphism_t // TODO: desugar - | ID -> simple_t - | "(" type ")" -> same kind : "B" -> base_kind | "*" -> star_kind diff --git a/aeon/sugar/parser.py b/aeon/sugar/parser.py index 55e215b8..d2ab0e58 100644 --- a/aeon/sugar/parser.py +++ b/aeon/sugar/parser.py @@ -6,9 +6,10 @@ from lark import Lark from lark import Tree +from aeon.core.substitutions import liquefy from aeon.core.terms import Abstraction from aeon.core.terms import Annotation -from aeon.core.types import AbstractionType +from aeon.core.types import AbstractionType, RefinedType from aeon.core.types import TypeVar from aeon.frontend.parser import TreeToCore from aeon.sugar.program import Decorator @@ -19,6 +20,10 @@ class TreeToSugar(TreeToCore): + def fresh_var(self, var_name: str) -> str: + self.counter += 1 + return f"_inner_{var_name}_{self.counter}" + def list(self, args): return args @@ -67,6 +72,14 @@ def args(self, args): def arg(self, args): return (args[0], args[1]) + def refined_arg(self, args): + name = self.fresh_var(args[0]) + return args[0], RefinedType(args[0], args[1], liquefy(args[2])) + + def abstraction_refined_t(self, args): + type = RefinedType(args[0], args[1], liquefy(args[2])) + return AbstractionType(str(args[0]), type, args[3]) + def abstraction_et(self, args): return Annotation( Abstraction(args[0], args[2]), diff --git a/aeon/sugar/program.py b/aeon/sugar/program.py index ddd2a94f..981c3585 100644 --- a/aeon/sugar/program.py +++ b/aeon/sugar/program.py @@ -54,7 +54,7 @@ def __repr__(self): return f"def {self.name} : {self.type} = {self.body};" else: args = ", ".join([f"{n}:{t}" for (n, t) in self.args]) - return f"def {self.name} ({args}) -> {self.type} {{\n {self.body} \n}}" + return f"def {self.name} {args} -> {self.type} {{\n {self.body} \n}}" @dataclass From 5364ae1892b459972bad5e4c899bc007916163f7 Mon Sep 17 00:00:00 2001 From: eduardomadeira98 Date: Thu, 7 Mar 2024 23:47:04 +0000 Subject: [PATCH 02/10] recursion_test.py fixed --- tests/recursion_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/recursion_test.py b/tests/recursion_test.py index fbc395b1..50a9e292 100644 --- a/tests/recursion_test.py +++ b/tests/recursion_test.py @@ -14,7 +14,7 @@ def check_compile(source, ty, res): def test_anf(): source = r""" - def gcd ( n:Int, z:Int) : Int { + def gcd ( n:Int) (z:Int) : Int { if z == 0 then n else (gcd(z)(n % z)) } From db7b435410ec6ee8afbd39a5ca9022391e570309 Mon Sep 17 00:00:00 2001 From: eduardomadeira98 Date: Thu, 7 Mar 2024 23:47:54 +0000 Subject: [PATCH 03/10] liquid types syntax test added to liquid_test --- tests/liquid_test.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/liquid_test.py b/tests/liquid_test.py index 3011a6ee..d069c85b 100644 --- a/tests/liquid_test.py +++ b/tests/liquid_test.py @@ -6,8 +6,18 @@ from aeon.core.substitutions import liquefy from aeon.core.terms import Application from aeon.core.terms import Var +from aeon.core.types import top +from aeon.sugar.desugar import desugar +from aeon.sugar.parser import parse_program +from aeon.typechecking.typeinfer import check_type from aeon.utils.ast_helpers import i1 + +def check_compile(source, ty, res): + p, ctx, ectx = desugar(parse_program(source)) + assert check_type(ctx, p, ty) + + l1 = LiquidLiteralInt(1) lx = LiquidVar("x") lx1 = LiquidApp("x", [l1]) @@ -31,3 +41,16 @@ def test_simple_eq(): [LiquidLiteralInt(2)], ) assert LiquidApp("x", [LiquidLiteralInt(1)]) != LiquidApp("x", [LiquidVar("x2")]) + + +def test_liquid_types_syntax(): + source = r""" + def test (n:Int | n > 0) (z:Int) : Int { + n + z + } + + def main (x:Int) : Unit { + print(test 5 5) + } +""" + check_compile(source, top, 1) From cccd4ec6cbc0e159a72abf9b0f95cf9637a6b68c Mon Sep 17 00:00:00 2001 From: eduardomadeira98 Date: Thu, 7 Mar 2024 23:54:47 +0000 Subject: [PATCH 04/10] [DONE] TODO if the names are equal , we must replace it for another variable --- aeon/typechecking/typeinfer.py | 80 +++++++++++++++++++++++++++------- 1 file changed, 64 insertions(+), 16 deletions(-) diff --git a/aeon/typechecking/typeinfer.py b/aeon/typechecking/typeinfer.py index 8a757861..91accf01 100644 --- a/aeon/typechecking/typeinfer.py +++ b/aeon/typechecking/typeinfer.py @@ -3,7 +3,7 @@ from loguru import logger from aeon.core.instantiation import type_substitution -from aeon.core.liquid import LiquidApp +from aeon.core.liquid import LiquidApp, LiquidHole from aeon.core.liquid import LiquidLiteralBool from aeon.core.liquid import LiquidLiteralFloat from aeon.core.liquid import LiquidLiteralInt @@ -28,16 +28,16 @@ from aeon.core.types import BaseKind from aeon.core.types import BaseType from aeon.core.types import RefinedType -from aeon.core.types import t_bool -from aeon.core.types import t_float -from aeon.core.types import t_int -from aeon.core.types import t_unit from aeon.core.types import Type from aeon.core.types import TypePolymorphism from aeon.core.types import TypeVar from aeon.core.types import args_size_of_type from aeon.core.types import bottom from aeon.core.types import extract_parts +from aeon.core.types import t_bool +from aeon.core.types import t_float +from aeon.core.types import t_int +from aeon.core.types import t_unit from aeon.core.types import type_free_term_vars from aeon.prelude.prelude import ( INTEGER_ARITHMETIC_OPERATORS, @@ -77,10 +77,14 @@ def __str__(self): def argument_is_typevar(ty: Type): - return (isinstance(ty, TypeVar) or isinstance( - ty, - RefinedType, - ) and isinstance(ty.type, TypeVar)) + return ( + isinstance(ty, TypeVar) + or isinstance( + ty, + RefinedType, + ) + and isinstance(ty.type, TypeVar) + ) def prim_litbool(t: bool) -> RefinedType: @@ -154,6 +158,46 @@ def prim_op(t: str) -> Type: ) +def rename_liquid_term(refinement, old_name, new_name): + if isinstance(refinement, LiquidVar): + if refinement.name == old_name: + return LiquidVar(new_name) + else: + return refinement + elif isinstance(refinement, LiquidLiteralBool): + return refinement + elif isinstance(refinement, LiquidLiteralInt): + return refinement + elif isinstance(refinement, LiquidLiteralFloat): + return refinement + elif isinstance(refinement, LiquidApp): + return LiquidApp( + refinement.fun, + [rename_liquid_term(x, old_name, new_name) for x in refinement.args], + ) + elif isinstance(refinement, LiquidHole): + if refinement.name == old_name: + return LiquidHole( + new_name, + [(rename_liquid_term(x, old_name, new_name), t) for (x, t) in refinement.argtypes], + ) + else: + return LiquidHole( + refinement.name, + [(rename_liquid_term(x, old_name, new_name), t) for (x, t) in refinement.argtypes], + ) + else: + assert False + + +def renamed_refined_type(ty: RefinedType) -> RefinedType: + old_name = ty.name + new_name = "_inner_" + old_name + + refinement = rename_liquid_term(ty.refinement, old_name, new_name) + return RefinedType(new_name, ty.type, refinement) + + # patterm matching term def synth(ctx: TypingContext, t: Term) -> tuple[Constraint, Type]: if isinstance(t, Literal) and t.type == t_unit: @@ -178,8 +222,9 @@ def synth(ctx: TypingContext, t: Term) -> tuple[Constraint, Type]: ty = ctx.type_of(t.name) if isinstance(ty, BaseType) or isinstance(ty, RefinedType): ty = ensure_refined(ty) - assert ty.name != t.name - # TODO if the names are equal , we must replace it for another variable + # assert ty.name != t.name + if ty.name == t.name: + ty = renamed_refined_type(ty) # Self ty = RefinedType( ty.name, @@ -200,7 +245,8 @@ def synth(ctx: TypingContext, t: Term) -> tuple[Constraint, Type]: ) if not ty: raise CouldNotGenerateConstraintException( - f"Variable {t.name} not in context", ) + f"Variable {t.name} not in context", + ) return (ctrue, ty) elif isinstance(t, Application): (c, ty) = synth(ctx, t.fun) @@ -222,7 +268,8 @@ def synth(ctx: TypingContext, t: Term) -> tuple[Constraint, Type]: return (c0, t_subs) else: raise CouldNotGenerateConstraintException( - f"Application {t} is not a function.", ) + f"Application {t} is not a function.", + ) elif isinstance(t, Let): (c1, t1) = synth(ctx, t.var_value) nctx: TypingContext = ctx.with_var(t.var_name, t1) @@ -298,8 +345,8 @@ def check_(ctx: TypingContext, t: Term, ty: Type) -> Constraint: @wrap_checks # DEMO1 def check(ctx: TypingContext, t: Term, ty: Type) -> Constraint: if isinstance(t, Abstraction) and isinstance( - ty, - AbstractionType, + ty, + AbstractionType, ): # ??? (\__equal_1__ -> (let _anf_1 = (== _anf_1) in(_anf_1 __equal_1__))) , basetype INT ret = substitution_in_type(ty.type, Var(t.var_name), ty.var_name) c = check(ctx.with_var(t.var_name, ty.var_type), t.body, ret) @@ -325,7 +372,8 @@ def check(ctx: TypingContext, t: Term, ty: Type) -> Constraint: assert liq_cond is not None if not check_type(ctx, t.cond, t_bool): raise CouldNotGenerateConstraintException( - "If condition not boolean", ) + "If condition not boolean", + ) c0 = check(ctx, t.cond, t_bool) c1 = implication_constraint( y, From a2c21ba1e855d63f51e381e6be2efd55d59ff317 Mon Sep 17 00:00:00 2001 From: eduardomadeira98 Date: Thu, 7 Mar 2024 23:55:36 +0000 Subject: [PATCH 05/10] aeon examples updated to new syntax --- examples/PSB2/solved/bouncing_balls.ae | 4 ++-- examples/PSB2/solved/bowling.ae | 2 +- examples/PSB2/solved/dice_game.ae | 4 ++-- examples/PSB2/solved/find_pair.ae | 2 +- examples/PSB2/solved/gcd.ae | 2 +- examples/PSB2/solved/indices_of_substring.ae | 2 +- examples/PSB2/solved/luhn.ae | 2 +- examples/PSB2/solved/mastermind.ae | 2 +- examples/PSB2/solved/shopping.ae | 2 +- examples/PSB2/solved/snow_day.ae | 2 +- examples/PSB2/solved/substitution_cipher.ae | 2 +- examples/PSB2/solved/vector_distance.ae | 2 +- examples/sugar/function_main.ae | 4 +++- examples/sugar/liquid_types_main.ae | 1 + examples/sugar/math_example_main.ae | 2 +- examples/sugar/test_list_main.ae | 1 + examples/sugar/vector_main.ae | 2 +- 17 files changed, 21 insertions(+), 17 deletions(-) diff --git a/examples/PSB2/solved/bouncing_balls.ae b/examples/PSB2/solved/bouncing_balls.ae index 86215538..a6055286 100644 --- a/examples/PSB2/solved/bouncing_balls.ae +++ b/examples/PSB2/solved/bouncing_balls.ae @@ -1,7 +1,7 @@ def isZero : (n: Int) -> Bool = \n -> n == 0; -def calculate_distance_helper (b_index: Float, h: Float, n: Int, distance: Float) : Float { +def calculate_distance_helper (b_index: Float) (h: Float) (n: Int) (distance: Float) : Float { if isZero n then distance else @@ -11,7 +11,7 @@ else calculate_distance_helper b_index a n1 d1 } -def bouncing_balls (s_height: Float, b_height:Float , b:Int) : Float{ +def bouncing_balls (s_height: Float) (b_height:Float) (b:Int) : Float{ bounciness_index : Float = s_height /. b_height; calculate_distance_helper bounciness_index s_height b 0.0 } diff --git a/examples/PSB2/solved/bowling.ae b/examples/PSB2/solved/bowling.ae index 38a551cf..b8937b2f 100644 --- a/examples/PSB2/solved/bowling.ae +++ b/examples/PSB2/solved/bowling.ae @@ -17,7 +17,7 @@ def String_eq : (s:String) -> (s2:String) -> Bool = native "lambda s: lambda s2: def List_range_step : (start:Int) -> (end:Int) -> (step:Int) -> List = native "lambda s: lambda e: lambda st: list(range(s, e, st))"; -def create_mapper (scores:String, i:Int) : Int { +def create_mapper (scores:String) (i:Int) : Int { current : String = String_get scores i; next : String = String_get scores (i+1); if String_eq current "X" then diff --git a/examples/PSB2/solved/dice_game.ae b/examples/PSB2/solved/dice_game.ae index bbc46f12..6fff5d16 100644 --- a/examples/PSB2/solved/dice_game.ae +++ b/examples/PSB2/solved/dice_game.ae @@ -4,11 +4,11 @@ def math : Unit = native_import "math"; def Math_toFloat : (i:Int) -> Float = native "lambda i: float(i)" ; def Math_max : (i:Int) -> (j:Int) -> Int = native "lambda i: lambda j: max(i,j)" ; -def peter_wins (n:Int, m:Int) : Int { +def peter_wins (n:Int) (m:Int) : Int { if m == 0 then 0 else Math_max 0 (n - m) + peter_wins n (m - 1) } -def dice_game (n:{x:Int | 1 <= x && x <= 10000}, m:{y:Int | 1 <= y && y <= 10000}) : Float { +def dice_game (n:Int | 1 <= n && n <= 10000}) (m:Int | 1 <= m && m <= 10000}) : Float { a : Float = Math_toFloat (peter_wins n m); b : Float = Math_toFloat (n * m); c : Float = a /. b; diff --git a/examples/PSB2/solved/find_pair.ae b/examples/PSB2/solved/find_pair.ae index aa4e28a4..c243eb21 100644 --- a/examples/PSB2/solved/find_pair.ae +++ b/examples/PSB2/solved/find_pair.ae @@ -16,7 +16,7 @@ def List_new : {x:List | List_size x == 0} = native "[]" ; def List_append : (l:List) -> (i: Int) -> {l2:List | List_size l2 == List_size l + 1} = native "lambda xs: lambda x: xs + [x]"; #assuming that the list always has at least 2 elements that sum to the target -def find_pair (numbers: List, target: Int) : List { +def find_pair (numbers: List) (target: Int) : List { pairs : List = combinations numbers 2; pred : (s:List) -> Bool = \pair -> List_sum pair == target; matching_pairs : List = List_filter pred pairs; diff --git a/examples/PSB2/solved/gcd.ae b/examples/PSB2/solved/gcd.ae index eb44f0ac..fb17a4e8 100644 --- a/examples/PSB2/solved/gcd.ae +++ b/examples/PSB2/solved/gcd.ae @@ -1,4 +1,4 @@ -def gcd (n:Int, z:Int) : Int { +def gcd (n:Int) (z:Int) : Int { if z == 0 then n else gcd z (n % z) } diff --git a/examples/PSB2/solved/indices_of_substring.ae b/examples/PSB2/solved/indices_of_substring.ae index fe04150a..7ec3d0e4 100644 --- a/examples/PSB2/solved/indices_of_substring.ae +++ b/examples/PSB2/solved/indices_of_substring.ae @@ -10,7 +10,7 @@ def String_equal : (i:String) -> (j:String) -> Bool = native "lambda i: lambda j def String_slice : (i:String) -> (j:Int) -> (l:Int)-> String = native "lambda i: lambda j: lambda l: i[j:l]" ; -def indices_of_substring ( text :String, target: String) : List { +def indices_of_substring ( text :String) (target: String) : List { start: Int = 0; end: Int = (String_len text) - (String_len target) + 1 ; step: Int = 1; diff --git a/examples/PSB2/solved/luhn.ae b/examples/PSB2/solved/luhn.ae index 78782960..4166575b 100644 --- a/examples/PSB2/solved/luhn.ae +++ b/examples/PSB2/solved/luhn.ae @@ -21,7 +21,7 @@ def Range_new : (a:Int) -> (b:Int) -> Range = native "lambda a: lambda b: range( def even : (n:Int) -> Bool = \n -> n % 2 == 0; -def map_digit (x:Int, i:Int) : Int { +def map_digit (x:Int) (i:Int) : Int { if i % 2 != 0 then ( if x * 2 > 9 then (x*2 - 9) else (x*2) : Int) else x } diff --git a/examples/PSB2/solved/mastermind.ae b/examples/PSB2/solved/mastermind.ae index 0301c9ae..8799f145 100644 --- a/examples/PSB2/solved/mastermind.ae +++ b/examples/PSB2/solved/mastermind.ae @@ -21,7 +21,7 @@ def Counter_intersection : (c1:Counter) -> (c2:Counter) -> Counter = native "lam def Counter_values : (c:Counter) -> List = native "lambda c: list(c.values())"; def Tuple : (a:Int) -> (b:Int) -> List = native "lambda a: lambda b: [a,b]"; -def mastermind ( code : String, guess: String ) : List { +def mastermind ( code : String) (guess: String ) : List { items_eq : (x:List) -> Int = \x -> if String_eq (List_get_fst x) (List_get_snd x) then 1 else 0; black_map : List = Map_bool items_eq (String_Zip code guess); black_pegs : Int = List_sum black_map; diff --git a/examples/PSB2/solved/shopping.ae b/examples/PSB2/solved/shopping.ae index b53cb979..6812cbf1 100644 --- a/examples/PSB2/solved/shopping.ae +++ b/examples/PSB2/solved/shopping.ae @@ -16,7 +16,7 @@ def List_map_Int_Int_Int_List: (function: (a: Int) -> (b: Int) -> Int) -> List = native "lambda f: lambda xs: lambda ys: list(map(lambda x, y: f(x)(y), xs, ys))"; -def shopping (prices: List, discounts: List) : Int { +def shopping (prices: List) (discounts: List) : Int { f: (x:Int) -> (y:Int) -> Int = \x -> \y -> x * (1 - y / 100); l: List = List_map_Int_Int_Int_List f prices discounts; List_sum l diff --git a/examples/PSB2/solved/snow_day.ae b/examples/PSB2/solved/snow_day.ae index b374b912..cac3bdb7 100644 --- a/examples/PSB2/solved/snow_day.ae +++ b/examples/PSB2/solved/snow_day.ae @@ -1,6 +1,6 @@ def isZero : (n: Int) -> Bool = \n -> n == 0; -def snow_day ( n: Int, m: Float, t: Float, p: Float) : Float { +def snow_day ( n: Int) ( m: Float) (t: Float) (p: Float) : Float { if isZero 0 then m else diff --git a/examples/PSB2/solved/substitution_cipher.ae b/examples/PSB2/solved/substitution_cipher.ae index f9eec583..17445565 100644 --- a/examples/PSB2/solved/substitution_cipher.ae +++ b/examples/PSB2/solved/substitution_cipher.ae @@ -10,7 +10,7 @@ def Dict_get : (d: Dict) -> (k: String) -> (default: String) -> String = native def Map_String_String: (function: (a:String) -> String) -> (l: String) -> List = native "lambda f:lambda xs: map(f, xs)"; -def cipher (cipher_from: String, cypher_to: String, msg: String) : String { +def cipher (cipher_from: String) ( cypher_to: String) (msg: String) : String { cipher_dict: Dict = Dict_zip (Zip_String_String cipher_from cypher_to); mapper : (x:String) -> String = \x -> Dict_get cipher_dict x x; deciphered_chars: List = Map_String_String mapper msg; diff --git a/examples/PSB2/solved/vector_distance.ae b/examples/PSB2/solved/vector_distance.ae index 390a365d..b90a0347 100644 --- a/examples/PSB2/solved/vector_distance.ae +++ b/examples/PSB2/solved/vector_distance.ae @@ -21,7 +21,7 @@ def List_append_float: (l:List) -> (i: Float) -> {l2:List | List_size l2 == List -def vector_distance (vector1: List, vector2: List) : Float { +def vector_distance (vector1: List) (vector2: List) : Float { mapper : (x:Float) -> (y:Float) -> Float = \x -> \y -> Math_pow_Float (x -. y) 2.0; squared_diffs: List = Map_Float_Float_Float_List_List mapper vector1 vector2; distance = Math_sqrt_Float (List_sum_Float squared_diffs); diff --git a/examples/sugar/function_main.ae b/examples/sugar/function_main.ae index e357a76a..17b49b74 100644 --- a/examples/sugar/function_main.ae +++ b/examples/sugar/function_main.ae @@ -1,6 +1,8 @@ def ff : (z:Int) -> (f: (a:{n:Int | 1 <= n && n <= 10000}) ->( b:{m:Int | 0 <=m} ) -> Int ) -> Int = \b-> \a-> b+ a(2)(3); #def fff : (z:Int) -> (f: (a:{n:Int | 0 <=n}) ->( b:{m:Int | 0 <=m} ) -> Int ) -> Int = native "lambda a: lambda b: a+ b(2)(3)"; -def fff : (z:Int) -> (f: (a:{n:Int | 1 <= n && n <= 10000}) ->( b:{m:Int | 0 <=m} ) -> Int ) -> Int = \b-> \a-> b+ a(2)(3); +def fff : (z:Int) -> (f: (a:{k:Int | 1 <= k && k <= 10000}) ->( b:{m:Int | 0 <=m} ) -> Int ) -> Int = \b-> \a-> b+ a(2)(3); +def fff : (z:Int) -> (f: (a:Int | 1 <= a && a <= 10000) -> ( b:Int | 0 <=b) -> Int ) -> Int = \b-> \a-> b+ a(2)(3); + #def fff : (z:Int) -> (f: (a:Int) ->( b:Int ) -> Int ) -> Int = \x -> \y -> x + y; #def fff : (z:Int) -> (f: (u:Int) ->( i:Int ) -> Int ) -> Int = native "lambda a: lambda b: a+ b(2)(3)"; diff --git a/examples/sugar/liquid_types_main.ae b/examples/sugar/liquid_types_main.ae index e32cdfb5..f50e578f 100644 --- a/examples/sugar/liquid_types_main.ae +++ b/examples/sugar/liquid_types_main.ae @@ -1,4 +1,5 @@ def sqrt : (i: {x:Int | x > 0} ) -> Float = native "__import__('math').sqrt"; +def sqrt : (i:Int | i > 0) -> Float = native "__import__('math').sqrt"; def main (i:Int) : Unit { print (sqrt 25) diff --git a/examples/sugar/math_example_main.ae b/examples/sugar/math_example_main.ae index 7dc67012..5af6b006 100644 --- a/examples/sugar/math_example_main.ae +++ b/examples/sugar/math_example_main.ae @@ -2,7 +2,7 @@ def abs (i:Int) : Int { if i > 0 then i else -i } -def midpoint(a:Int, b:Int) : Int { +def midpoint(a:Int) (b:Int) : Int { (a + b) / 2 } diff --git a/examples/sugar/test_list_main.ae b/examples/sugar/test_list_main.ae index 83b6d5cc..200e4b69 100644 --- a/examples/sugar/test_list_main.ae +++ b/examples/sugar/test_list_main.ae @@ -1,5 +1,6 @@ import List; def consume : (l: {x:List | List_size x == 1}) -> Int = \n -> 0; +def consume : (l:List | List_size l == 1) -> Int = \n -> 0; # def neg1 : Int = consume(List_new); diff --git a/examples/sugar/vector_main.ae b/examples/sugar/vector_main.ae index 64a1ee17..f219c3bd 100644 --- a/examples/sugar/vector_main.ae +++ b/examples/sugar/vector_main.ae @@ -10,7 +10,7 @@ def List_cons : (v:Int) -> def List_extract_from_singleton : - (l: {l:List | List_length l == 1}) -> + (l:List | List_length l == 1) -> Int = native "lambda l: l[0]"; def main (i:Int) : Unit { From 60f5fdd798a476e05b755df738e12d9f36daeecc Mon Sep 17 00:00:00 2001 From: eduardomadeira98 Date: Thu, 7 Mar 2024 23:58:05 +0000 Subject: [PATCH 06/10] ruff fixed --- aeon/sugar/parser.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/aeon/sugar/parser.py b/aeon/sugar/parser.py index d2ab0e58..f5fe4108 100644 --- a/aeon/sugar/parser.py +++ b/aeon/sugar/parser.py @@ -20,9 +20,6 @@ class TreeToSugar(TreeToCore): - def fresh_var(self, var_name: str) -> str: - self.counter += 1 - return f"_inner_{var_name}_{self.counter}" def list(self, args): return args @@ -73,7 +70,6 @@ def arg(self, args): return (args[0], args[1]) def refined_arg(self, args): - name = self.fresh_var(args[0]) return args[0], RefinedType(args[0], args[1], liquefy(args[2])) def abstraction_refined_t(self, args): From 2a3288153c239a13ffc324fe1f6dcd777dbb63bd Mon Sep 17 00:00:00 2001 From: eduardomadeira98 Date: Fri, 8 Mar 2024 00:11:11 +0000 Subject: [PATCH 07/10] dice_game example fixed --- examples/PSB2/solved/dice_game.ae | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/PSB2/solved/dice_game.ae b/examples/PSB2/solved/dice_game.ae index 6fff5d16..3461849c 100644 --- a/examples/PSB2/solved/dice_game.ae +++ b/examples/PSB2/solved/dice_game.ae @@ -8,7 +8,7 @@ def peter_wins (n:Int) (m:Int) : Int { if m == 0 then 0 else Math_max 0 (n - m) + peter_wins n (m - 1) } -def dice_game (n:Int | 1 <= n && n <= 10000}) (m:Int | 1 <= m && m <= 10000}) : Float { +def dice_game (n:Int | 1 <= n && n <= 10000) (m:Int | 1 <= m && m <= 10000) : Float { a : Float = Math_toFloat (peter_wins n m); b : Float = Math_toFloat (n * m); c : Float = a /. b; From fe05e4c6f5217ca90f489553c9af9c58607bafa6 Mon Sep 17 00:00:00 2001 From: eduardomadeira98 Date: Fri, 8 Mar 2024 00:12:07 +0000 Subject: [PATCH 08/10] GA updated --- .github/workflows/python-app.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 708b534b..a64f966b 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -50,17 +50,20 @@ jobs: run: | files=$(find examples/core -type f -name '*_main.ae') for file in $files; do + echo "Running $file" python aeon $file --core --log INFO ERROR TYPECHECKER CONSTRAINT done - name: Run Aeon Sugar Files run: | files=$(find examples/sugar -type f -name '*_main.ae') for file in $files; do + echo "Running $file" python aeon $file --log INFO ERROR TYPECHECKER CONSTRAINT done - name: Run PSB2 Solved Problems run: | files=$(find examples/PSB2/solved -type f -name '*.ae') for file in $files; do + echo "Running $file" python aeon $file --log INFO ERROR TYPECHECKER CONSTRAINT done From 6a8ad8fdea4c71a87f2d03d12dadf2c09eb30800 Mon Sep 17 00:00:00 2001 From: Alcides Fonseca Date: Fri, 8 Mar 2024 18:34:04 +0000 Subject: [PATCH 09/10] Removed invalid monalisa demo --- examples/image/mona.ae | 50 ---------------------------------------- examples/image/mona.jpg | Bin 170842 -> 0 bytes 2 files changed, 50 deletions(-) delete mode 100644 examples/image/mona.ae delete mode 100644 examples/image/mona.jpg diff --git a/examples/image/mona.ae b/examples/image/mona.ae deleted file mode 100644 index fd743f20..00000000 --- a/examples/image/mona.ae +++ /dev/null @@ -1,50 +0,0 @@ -import Image; - -def monaLisa : (Image) = Image_load2("examples/sugar/mona.jpg"); - -def random_int_color: {x:Int | 0 <= x && x <= 255} = native "__import__('random').randint(0, 255)"; - -def random_x_coord: Int = native " __import__('random').randint(0, 732)"; -def random_y_coord: Int = native "__import__('random').randint(0, 1024)"; - -#def random_x_coord:(img:Image) -> {x:Int | (x >= 0) && (x <= Image_width(img))} = native " __import__('random').randint(0, 732)"; -#def random_y_coord:(img:Image) -> {y:Int | (y >= 0) && (y <= Image_height(img))} = native "__import__('random').randint(0, 1024)"; - -def random_x1_coord: (x1:Int)-> Int= native "lambda min: __import__('random').randint(min, 732)"; -def random_y1_coord: (y1:Int)-> Int = native "lambda min: __import__('random').randint(min, 1024)"; - -#def random_x1_coord:(img:Image) -> (x1:Int)-> {x:Int | (x >= 0) && (x <= Image_width(img))} = native "lambda min: __import__('random').randint(min, 732)"; -#def random_y1_coord:(img:Image) -> (y1:Int)-> {y:Int | (y >= 0) && (y <= Image_height(img))} = native "lambda min: __import__('random').randint(min, 1024)"; - - -# 732 width, 1024 height - -def canvas : (Image) = (Image_create(732)(1024)); - -def draw : (ImageDraw) = Image_draw(canvas); - -def random_color: (Color) = (Image_makeColor(random_int_color)(random_int_color)(random_int_color)); - - -#def random_coord: (Coordinate) = (Image_makeCoordinate(canvas)(random_x_coord(canvas))(random_y_coord(canvas))(random_x1_coord(canvas)(random_x_coord(canvas)))(random_y1_coord(canvas)(random_y_coord(canvas)))); - -def random_coord: (Coordinate) = (Image_makeCoordinate(canvas)(random_x_coord)(random_y_coord)(random_x1_coord(random_x_coord))(random_y1_coord(random_y_coord))); - - -#def random_rect: ImageDraw= (Image_draw_rectangle(canvas)(random_coord)(random_color)); - -def random_rect: ImageDraw= (Image_draw_rectangle(draw)(random_coord)(random_color)); - -def random_rect2:(x:ImageDraw) -> ImageDraw= \x -> (Image_draw_rectangle(x)(random_coord)(random_color)); - - -def multiple_random_rectangles(count: Int, img:ImageDraw) : ImageDraw { - if (count <= 0 ) then (img) - else (multiple_random_rectangles(c-1)(random_rect2(img))) - -} - - -def multiple_random_rectangles2:(count: Int)-> (x:ImageDraw) -> ImageDraw = -\c -> \img -> if (c <= 0 ) then (img) - else (multiple_random_rectangles2(c-1)(random_rect2(img))); diff --git a/examples/image/mona.jpg b/examples/image/mona.jpg deleted file mode 100644 index f1bb17e3488656ec27df383a8a6666eac6f990fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170842 zcmb5VRajg>(=Lhyg1b8ehr!+5-95MuF!&%LxD(txxVsYw7TlQ-G}sI-10)bg4&VOH zzn^n1_QmdXvAS3F(^cKo^;S!*f8YP@A>gSgsVX5LA|fKFygms3HWB0zP*L8XzCl4n zeS?aIhWZu*4+8@o9fJr57YmP+h>VPsh=hcKnu(Tzl97spgpQMrk(q^!osFE9i-(Jq zhl!Pq^*@auqM@N-yu~2Iz#wF$AfaIWzfS+YBH+J8K|tCl?^~;+&%O|MOn;%caz;~}C=wWSIv{9k(W60AmQ(snNl&R8`VH8o6 z`k??GOWW}$^;PdlKOM0bPzMOg__0RDAf10~i=wQlF_!nv*2T8?w53DxCM$sMG@4w_ zfXSQPu+gIQoLj9N4=^v=B1qwYG|rRbV}eYfS1;Odvuu!9+T&%w`c^zzFH77 znCiq6)mLMMqpB1zX1bn^@Vb7UM__R#xcni;!=^g_V9iHu4n32r7d6yCA*@&L>vgqM zoFZZ!j&u-2Xdqis%pT1iMhos*wvH4VQB+u$MJwpFK9HZ)dgKptGDoj{r4k$=wG@=?aIY`2V%v z&h~So%$sjFiOLC3Pnq3SU%tlG4hX?Hw#m&jh(Tfc=>IN<2m?khrq=6^NQ~%fAC33c z+yNO`k1Go!sa7#U)xT|>iH9V6q@}KCh{(_6>RoM@3@>kI5#lBhqcH|U0)8fnsB;H) zeji1o5kamZCc7c^b~qQdy`jXXF!%d27g$C0Le~O6>~}6Vw<>k7Lpim*^J%PF2K6e) z@4)56e#YmnQJVMHR{r;MF$`^jv+Hw&NMTcdYo)& z-Gw5MVu3Qe`wC2JDHR&@qLqCq83N(n-0QvF7}U}{nA=s)fuu!S!4ZaAT_aqvs+KEG z%>TOGX-jqJ)^cLZE=9ASWMZ|cvA5|i(Nl10FzCx=fld+QK?%dzGA$+%EN>#&%f1WD zP{#h)!j{YABJ>y?Ok!I3 zF1w@a8zpN64w5lL>7vXCim4F-4?10rzY%9;4(N3fw~DH}`~J{aV%lzHYN{$S7_YCI z?sF&BHfxwh7#6VLAjY~-O)s~2$I-Id6t+NK&HbV9SK~uJnOL#4-E^}|_M98$dl3b(Zl4A+q{mgl$j1Bk!X z*{+*>pH9NlX)@?aM#*7KM4i%!U^UYD6z*GLUU!`1tHYJArS6g5tfa|r^piu5Z*1k1 zpVGvhk=&RydeF)C5Raf zMN@#eGB+qIIc|{GmiO8ueIDV!*Wd-)m{8$-DN3;}fPug}3(fGM_SCSLbBdq<_o_pr zy@a+tqfnO|q+cUj!iw~=;Y(>;%s_oXqza&S7jm=>Bb@n|3sJfU-{NLczLs$^PjKz_Y z$@&Kx{*A}bP?AGqzzg!RM~-4;QVU1=;Ja(it5{YDh#%U!lxF&CHU#3c@Nh6&*KC}7 zWUBWKqhAuuJaX+QapN0opFC}=Rc_Euoxd~xgEUaw-!o(7XuCtG!aGi2{fu?4n#sz} zsI882ohDgl;lok6XQ;(TKRzSCYziV}3#X&Y9R zmeu6x%F8HbVU;S?FD6l(BIe;dd)LBbR9h%KccP*XN(Y*ik9)rd_xT{gK!y)#8oh@H zCtR$9d$0-0x9a`@Gw*wgVg}ChiMvbq%W7=<1B5M{K5(y__U6`|ZyzOHK+T(_a7!*9 zW6h?P4j%$a>Q}w4jy6s`OFVObiJNuC1U$abN`F94twgX!Vam9eH!>oC-ZeTERe5SvspmevMOaaNgir zWc#8a)2H{Y*m|S$BUyo4$#DOqqZLZto?C;BSu69mK5IE_Z{b-5K8q$7BHGLdq*5_k zE|wM#6q34Zom-lpQlNz!p4G=rxo3nGg7ZzWg|I6OcyZ#qR>cBXd?ENkLc8Po1!;Vp zbBAPZDu4cw368lfJmWuh&%06*iVWc-Gzz(!i`5o7V=2A}YT5zPWd(=WlVa9K34Wp; z;tmisnv+j)4Re|(Rq}u@vPI$|SMGMlFXk+|9A0Hk8441Crd!0>gxD*)8Zu>#Z98@| zPecJGTFDLSR-N9zDvrf^PEeJ`F{*^?^5dq;^g7FeE;TpiN|!R^br${oM9;?;%zS;& zd>SV{7H_oOwfhxaeSqUu1xXH~mG=4yn8l*k98B2m1d9j#;T_Z!nw<|~zJ&|GyBApU zu7aAC3j}BG9#2&a*9a_0Vb43gB~BLl(3$#>i+i`efxR?0)>N>aB(INaTikTs_br7L zb!PwW7#6hyf;PkC@NT}BVmAFV&ACB%RxUM4I)efl!a7Jj6u8Zj}7iq7-7 zRpZMKBtd$Od|MUWTr3=LH#0Xt?~*B)>J)O{673>V?r!`XnXTw;U3cB8{i$Y=s)oZK4JlU&tnFam&*I9 zV=azyR8*E5$$h#Vmb1F|SG=pGn!vsOY})b=4s$unm+FEoCp zxIn!LVgNFTXt6_5xIzNHl0R?mTe(T1FB8*W3=;9_M2`%hsOdO{&NVn_S=O(o-$!+A zWkS@}H{SfN8(z@z*U9_-H>@(hsJuOD#V9si$Wtp+79cEk|IyTFae{3>(>V;=M}Pmmlf%(ktW0G3^#W2`oM0-mPoh!#_T$Kj;^=yKf$gYN z9mK3-{wZ%Qp9F}Bs#fTd+|lqWuj633Kg8;D{+X!8*F57gQx0L9ef-g&nj@hjtb}$o zu1^KbtdtBI!H=Nz07r8F< z0EU{h=9%*?IoJ|U#H^is+n|*5@3@t6(&cb&SyRrHSv%j#Z~fs7I#h8`rC-0ZqAu+F zQ#fSwcr}<)D3;&M=a-Vgxz@0qA()G8P%HE%QqORNK~>dQ*Ry$Yn}6wDb`a-SGQO)r zbap;$FKT_D!L*Tl#ig70)oA*@e~`~2tX)u;&o)EoLlU&(oA0$3hWPKHY??+mVC!EN zN@^Jtsn1l1q7u5x^sQ-$o*7?5_`$Vr%gg1p5f(y#LB)%JPp^+QT2qCVuRMw zo@6ws%+(Z~+<_Ls(L0S~yVBZfH$zr9-5eqCS3~jBizHWE(iMPiFcwaw@NVEtcG4HQ z4J!erC`!SLJ=}7aDFHrRjY(qmQV6KeI9TPAf0iB^nU+#090s+|n>(kYl4Rj!sB#JWL#bC*31 zO3W5DSoC=<{ZQ5l8QoISRCqpB78cH%ybBqGh7YRTJw`dWT3P@)0L0Y-P2KXzYtUq| zmXoo~JO-;WN<4~Pi$AA6%yEU!zH@>!!k_ZciTP8M_z&BcWda$P*Bji8VW zW!EFhH1}RUxiF{$%%OdXyL#?ENDshu zgt?x%J9Bl-uVm>vmqnmHsGF8=9}U^NzdrQ|d_2GO8}JMezcViIEEvKIF@UFZ&jn9Z zOAI8RT=1HqwU<>CtU`&w+d1@UgKT(1vSb15V!%?@g+aanwBmY`$D)SZam|cSyixw3^o!EX2PFL+?Avza0;C?Ev4M%U7?!_ zW{v^LmNcOu^|3*Jn`yg{-@|r{XD)6VtY!xVq3aFh?*?bs(&wr zzm`>!UDuH&ay1cm{q&0C^;V%_<7w7Lz_Cln{7`UVooztol5{oG{^?IcSORwjaue|9 znP8)3lcksctzRHmJT!#z`ERTxRrYXyx~fH40I@rg-Y4Mu5tB$wC#c8qDd=~o26ZpL z)Hy`#H}w#p*S_wHGI`~8vH4u6Q~*t{E8K5Ftn>bGXSXEG5}3+eJCS|pK5^?u;8RU+ zxtJp=V3%|`1;Lhz!r{CCz~Parlgk`c9R#=7t|@C<~4Z8Zua3-~__!aA&a99#)Hkzu_q_;7{6kRgo3$dkGV-L~G{`kN zH=phewK4_vl+2Mb@YOfD}-Zhbs4C%XrViNo@xb9Tl{32Nirk^#04k~%4 z0P96qmtS0zYfabHLN^jwyv-J*t+Lca0&F`at$<@!ySSY*pXa}3NQGwkBy{@J(~?C( zzFsB<_4VMYd*MHnV0bd*95lnh(*(=3ObKdG2`BvDgv^v-Ei*s>Au8udr z`FypjrL-C`AzVJp=PqVq>Y3_jGz$tPT#12KKB7L|LI-Rs$Vy^5Ta56H?&@zFGgXe_ zykOB^KC9!+oeQSa8_JTPCvI1J8!Rz9@e}`iu@TCZu(stb&AH`?ggivYN2SKMZ z4K)eT6p0gKCL;{B_2*`Wi4voe7CE?X!XFg0<5=yJ5xvb*bLWXpX>~|Ik)y*-`7T@4 zh`)Y(;Hn0%wV#+kP`R|=wpmir>I!WITB4Q0*mhCRppQ4cs}#Lv&#_3H_tY_!oU&a6 z&+8?4?^a^V?XCbbLM~f?KF)8M6%-dE0_yG*h9x}(ug1Us+@KEg3B11_q+SVQd1u>%H>z%kD^wpk1^k#Q;^kgI^VDfhmFVLTKKg&O65^XDOqBa2U z@Ih)h7&!{*q_#3yOFA`><)2SdQXO2WlOY_Z$T?`K(A7DxObmhN^@A((S< zZHf16{^X76#@(Z#Qv>X`?8M)M4-)=%TI#WK1D;^^x_BAg8RFGW`2_5 zTqt#Yw-5)9OQQ`$%f@5v?a10!MxlYb{49^vsJPRoD*)?@5<@Y zY0Cl6)grPx8k}YlA*ZEz2zC948T1F_*x%<4OkQAJvP3i~n?DuBp{~y%(B_01R?%4^ zeJt6Xd>1sa_arjiPyeROvd^+Laz@G2f4cBfr%>yLD9qodFQJOsP7nSAMqIdrloI~c zMAbpGwI|4Y=Ens%{^!LJP%R^9@lAuVj5ZgpL@#J7=OmS;FbkpXN0KRX6w!P8ER0?S z`U*?Yo>RmMfeufSlK#w~Ggwd_ucJTjXW==5v+81O-S*ls80eSBQrduI!5zrYW-!Q& z-@#UMLA9`c9eM6@VBMe)0m_}t_2Z{frIm>*L=gHrGQ3Nom!%9pD!c_xL$v&CMlx24aW9Bo-~Q z5iw`-Ft`}iA0Yh@tzrY>?Bd5{{hIx^bx>OFFkJ0<5=76;EKVWpoLUO{4eP>Efx7TlVnYZgN@4lXT%Jl?C?mGnUxx zkG-Q&Fx8$ZWTca@zi`TbGi|24jaIJbu{)(IL__ITFu4BBQ_ew{5?FtJpwYiqQk2`u ztl2coQDur((%<-(BgNrpjr1xskUZGh7^rPE3PJyQpI7TwNVl3D@83%g-k%Zt@3guMZw$C z$F9LamX=4zlEe%AGX#34&35Yb@bj3n=oGFMcAn7H`~?v6G~u(GZrw;8;{6n+P%~9` zKr6hF0$u3*^HO`%?>0Hv*V-)Q?@Hcd@nCfm75qmqRdVsJYUsm#-!2c3JbLCk-XqqSs{RJ#`Vm zyY7wUxCpeq#0XIbt5sFjBYG+1NY|!+$@OkenU#;{0XxUTc z`ETawH`6}jLdK9e)z%=O)yD(2D*mj9c~|zAFze6vqJy~7pW!jt0gkhUZZwM3`ofsq z(|3=M0xQi!U;AxbMU{~sKkpJDv6?ux3mjs3{!Cx!Z7VQ=$pPE{@5_m zyFF9dD|_?=aJ(uE!Fhi8LeYD7=?c#`y>ft)iTPZnV!7Y-1TNuN`a)r8>d;n#`tU}n+HLskwsj?7YUQ*imtxw9g zMxIQ#o}QYSI{&FS7_t*;|Ko+qbQA^`dDv&s6TQuI=xQ)B3^cUJ3^T|r7 zu%m2TsW|9^1Qcjr_aTh@agfHz%G}XL-B*^942y}?UnJDood4>h{4}#8sD_EA(hnE5 zQS(84CTP%<-}mnNZf~^zoo~FlmN>urxmS#o$La)VpUxbKy zw=aG>bW(WcZZ2(4{Bd!75Y()G)ay5wvvk8XvyNr~4%7X4)bPwwF~s*SXY&*0N`pbU zDhOq>r?Z1elh_rko{>FfLc+QNaHA8~W%oroVtdPHZZ*sIMO)(h>C>@O#>yOzlvL99 zC-Uxv0&SYD9*h&`yT_iV(Adzh5A`Q+au%MfYJ8fcirU4#i97mb2 zsN{%Bvm>$}mPS*PgjI10N7xlH9Z70M%D5Iog&!q(P3eJ1T5 zNSnNJ$(Xtx6vi#_soGn2>;AUJ&?6T3^4O7dpY+&mx9Tc*q~4z+R%IDjZ?zRp%&ot& zR8jm*2LJitcwJN3wt`r_#gBE2N#M*hFPa15|BRX{?Wt?g<#n}4pwa7Vw+*2#PLB=w zMI$^qwJe^eX31}9(eIbQ=tni*LD1AIi%5QTy zi}Cq&n^BrfXAe~N zi{R(1G?h91(=#P!Aqm|jy4CT!N08&|UPR1K+UK4CEi4P4_iYdpfXB>C4H-T;#JXT*AnQYlNF?}m>yGXfDC`k^pM z()p+FL%IC4G|9*7eoh>fQzv;w;v?cXudBFbsV)8awM({Od|Qg%1_2qH`j1x8?l@*t zl0c=3h_6RwZn~(@#-jqDfa#2u7!dwPaL%WH&`Ma+R@d)WvA`KTBikxbF$h!(yQ)BgUKu|B!H2`5b%(c_hixdGot-!l8 zw(Ux&nz-W4(yMy^(bzV(YIQ2ub&qi7ai#CUTeYuCDHW9#Ps!gjDlq!< z+1pIMEA$DHh-Xcw$Ec|SsIOa&>ZU4~D=M+0vKusV%+nnbo6Cv@Lb1=TTaPLtE}<4I z=Fd%nTcY{GcAMj^MHiM@p@du2UiZyHrEv(TJE2A>cvRu`wJ=^9@UvS_#QgE$?t1ZMQ5LS z_l}(@ne^SeY=ckfa;iAPZ{TZ8ISt7s5%ql(o$EDXykN(!>x+cm?cz^Q&+|0wPlY=} z*AX;#Y zDegmQw04D?&AoR5%G1*n;G-?I#&^WehLNWnOY5k-UvBMi+42^HN=LW>IfzXEV1z0zR~&e zL>TzW84-KA^j_Ajc`;cU_y1u$9 zDR#;+Hx9vMET&|{vUr~QEK~~jMRhWeYcgg^xa=CY7P!hq)A7oQQCsqtSjc>A$x>@s zNT0~E#}HF8w$9c-=HtNgd^NYl?&{+|1Z~q_jFXVb#U|SF$sv=Kv?7sCx>JczHn;D}@U#LToFfJ5m)H;(y^E?(q3?fjmRKd$4R#dczwv;=CwNWx{ z+FIzi@>F3($K?|2@ie^E$uhFYma~lFODw-Qz7ePC8F+c525(Mw;e7az!@hu%uo{%d zG3H^S&XhEnKR@NLnNmp0ayPGRMI+xmI|s>W#}$Me?W~?<8dCbq4sLDxzz&7ynBr{G zJ*FJHZz}zJwXOUTsR<@}uj zBQQP1lJ~c{Rp^#0XMv%7d%k~HkkyXx`pTA2?xM!w4V>r9GLW^WkLppNBh5ZPd^KRNLT!O>~C~<{I64?x`%kCD{qa1IPk*y4w%jcR+3}E&bI;=UwL6Suw`ZPZE zC*FLg;EwCg12xOrr`!8KAvA@4j)vBrqWQr2bWqe1R{q>{R60Qu9>l)B{4m-gDxFA= z7!-p|gwj_7N~nwKYunq^jjoPK#nO^MMV0Qj zNgW**OQ6Z{qoug$*7Bf7fW%M?6jCs=n=kr%@TMXS8L}^Yu+-4#E0#SjW>sB!v(r8Y zTZ?s)F46MjZeO?yT3Z_(65Y7358@O%(@CoU0$pnPl5v93jZ3`iR*KTn&$Ae|)tM~V zPYI4*8PWsF0A+skpoUs{KhE0M(lXRVq1=wM?$t;2^)XG;V+jCg$k^)LoOE~8jObfY%I>@|0?1zkT1(L!i(Y&w@g1J2E+r1LH_}<{|?cAUla%> zWObHmpXzIf4c@)FDIHj}(ieGYa+s9o;#rJ=&)K$?Mt8c%MsL`zRML3p^Yw*4uhJVO zgqcRs(&XCgF543)i%yS`fmT1kJU_IW_XcYOpI_TiNLNgkQ;$}ERmK00-T#!DB0*&A z=c>jEuXIZb_M;ruVGt*%fhgV>MQDiyXIu_p%7{0>O{a-D-O8gI8Ksq}cIC)r)>73z zeYtYEm-GDi`cP7FCi?%(;?+1_IkW%dbkFjt^|e%IS5dDqeUpAl@TwS6rl>A-dm`ug z_bO%@e*~(FcQ`Z_EBo#X+1E-;O*-5udJKBxDA_3$VaDc^Kjo?SD@gvoWA;Ct_@AEr z*JGtm_qCPj>d93uy~42#dbptyx(Xt8mf!oWwzx8TYILQorr?jI=vfvDWSCXM)XWhdcVBUN+&K@%}xI-M9}q&`{|v-UrWh;%tix&M{@f9E%; z9&y0?B@-eq5*1lGKvSIFaQf6cdcab+QoC7)&k_MpUzhnKbJ6iBb~Hk~-`gLbYz5TH z>tl3f-{Uu+8*|or+o!!tb0B{8u>Vn(+<%~N^}iXv*D!+ma#hUqcmRPKhT$7Kq|Wbq z7}BqSiadA-NJxmtC`d^E31<9X5sgR)_{b;(^mq)svV?SR_!xPJ_~m4D-U*-*%fEk( zUwr#o4e?lNeKoGRW6SIc@q5{^XKT<unmUPl;VndwTj4e0CZ1 zWULlh-2)azZXSwETY;=>%O8yWx*Egth2Pa)5~A>L;e)}od-r%jPvlo4P2k}AKY5l2 zr^>P`tCHHXBC)4o5wC=+tMZih;qa>`l|vep%YO(NhagwPVQS^#oV%OlM>v{1g$2Xk zibyCdEOyjEAyz-;%iLE4h)rwVIPs`D%qA;T5+@5y=@g8(-a}BSB^Klyk}4&JxLjR! z4@Y4@WG6odu^S+fIW_yO;tbUpY_89G3MxIG==CAmzYQ^v!hDl=AD8wIfj)gxyw!S9 z3}Fn_uBQj3hF4HD+jf0mvR)~1d(oE~;h^lGT2fh?8RvcMFtvH^2JI)M@CY&7#?U&0d!74VSPw1ml{FAJx9|m*hkW1QAy5+V^ye<*4}4`o z?c@@tx-@HyV=={cwt>j?1HF7UBdM6Zc-un-POyW#UZ1fr?{V!Q);#L5S-z#)&-{@3 zEZ5+Anle1}Gl&|r6lQ}LnkuQRc5-#LZ#ayz?39ZImy{7{at(%w86X+Ui(1;iKN^jPq5tqw~k9=@tCD2dFb(6Kfxi)b!lxNWs zX~@O=g_Gsd!7r=hG;_fg`eX(pc`f$KQ1Y7;Fb(}NEvN7c|KMu;LmR&g<8(B)$vcZeDSpBuKyIh*Q=u1`NC+$3_ zjW4kf3cztNKrSdnxtG-TlYA}JHuJVn8Od=1D^zTApRT3(}op{ITwbX-z|Vmhi0+KzjU zvKa6!V$Tpg3|AdmDZ``|VJyFRBRL&8E(^I0s(C*KIvlP~vcq+YPa+$SMnKnTuuo2r zVoS5L%k#$Lvvc^HDj)g#{2u~*6=mSHTF!y+xQMJBf%=`x;UYfm~o`c6o| z5n(7iz9u$siBzAZ8_3^mYgybBps^O%m>~(TnJF0kBY?Hoh8hbmh22MJ;pybGw0N_+ zI5w{iOmVbXp#1lohF5m^=taYa>h>mzgRfcijdp-;ucQY5b@Ow%lx&Z-zSrRT=3I)6 z>vYJ=LN5KuDK7s;xG#Pz%2%ffNtrER{4Cy!c8 zXx_uXIK^OVsWBS!Nws1zGBY15n`@P9H~hVP;pIxu``fS3bVXG7_$n3U;dIv44j=WS zpXgM`KZGv_#@-`ivM5cVxMfjt^i*vHY~+EP)PZXsCG!6Sidhs~(>RiLa)V&mFlKr6 z>K9P)7PA4I9W1F$xR~kSWwTe?BT=j)&rw0+(G5^(VC`Wlh*(3<51e=_=6SK@Nw{@~ z_D+6`7a06Y-&0fHNTRWudh6%Ev5K9%qGgDW;C7NESYc4K+1h>6jxuG z?8CErbvNbWwv?7^4ZSOt`_{B0;kHiTub&$K5Yk3?m9d<+T)Zg#BEnf(wOQhi#q(~{ zhckrDfdzA`e!{b3Ys3?4uC|U&AIm8WfxI0}fhQJ-`tA=lRB8G~K({t`4PlBf=D!ja z!%PN*kfF-49p=X&iEXM0e(q%1oW)Qq{u|{k)MEpND6R?VAAh#Lb4;L@+EEta9 zDdl)44do`ee>(a}+ds|CIExo(hhAyD!RH-PZ2R2-Xohw*VHY+VtUk+JAoN)yNSG4U z;Mx^;r^lLW#?`Ft>~Z8{L~BVLaBUA*>7I$IOWb6wOP^57rd(Q)+$>=U-=?^h$KY}?9tMM&?HZ>_VjOwl zVJw?2WOO9LMT+A12pqb7LS^56y>$WyL5>0H=2SK`9GTzers0V+!b>3;j6R>fe@ly{ zO%O2VLA+-Ws?oj`T|TWt?cC-+Dl3p?tbFF)({9{=z!wW>|uS z5@n-G)`=!BnS0?oop>wPZmy-Aah zUmTo}02YTc_yo?i!uzUTCWOy8=ax!(c)KoRb36$ZpisVe=?5Fae1`E)LvT70M6yY+mC%d+9&SFMbVG6M~GLtG2jbkeOTGN*sP!Tpd^77n; zk4vA_J3EBFO%iTJl1M_NA7{4k+>BxUaqkg7m5xvXf0k+h)%nXycNurlfp?u9?L@8k zyk_f{^$WY3KrNdB#SE&~pb_cAyR}4`yj)nzp?t+;w~(%S^KJc*-O3ePwSx7u3;DJH z5$Vk;FO1~I*}IJF>ukHof%Lg_*^Es4w{qr(f_Q9ikkTbarcCAN0WLKzQy=;H-3^5$ zTLgX1^Lx|Z4fw zP$X(7KWekwvh>H-(#aoO*FT%;drkN&&$ixM9Be5SvE7FCwQfb&4wlVPwYGWpbWA42 z5v`kMJ4r~~qqn2!OX*DYa8UJ^0+spWZE4Y>C!C%SF22P+63tYA#yL#w*bRoTm9u67 zCm@s)tXpNgC`5EIb}h>1foKocp`tbB?r5KaRNwrMtNIT&llFazF}l5E5#A1R`nq+o2UFMLW-k4 z-<-aVr_@k6d2AsXk%cb;61Nf(4NGo0hoZ;0r$6m#-d+hc3Ve0Cz(GB3UHgPId_X;_ zIAJR%{BB$CCsn(=D~LApV;9JY-k2p!n$u;Y`^$_xeQuS$zS{2eRgh=D(cmFOdpLir zak)=Gm+x;gk%mqnUOs-sq=W;%(XQ^DOF3nWUObGt+Pk}Vn>6mh&~)VTqt>~7d?J@@ zmWm@PG8!Iy{b!aVu=kh(Bc_a@C*i%m6mw$Ia5Zq0BTJT@Ruo&kCSt#LiLX`RGQ&xBnbW|ln z1B?5DN)i>_xuTuMKG{x65tR@uMALt5KOp>Bf?tBUki4f9P6hzd0Sl_&!gE{MJb3|< z@+5?$lW~tiqiGLG4dyf;=9k5&~7dJ!?G5+oM{CoH1fFU#fj_DT&}2 zETF&Wwy*|E`i1j@o7Y^|7a}())K<{Xq^*W2KJuX|k{+xcjhv_Huh+-(cX9$R#lu+KeU>XI8|`bi3V_n{X27A>23 zcFS{7*{l(dZ2A3--O%I48+)Z;Z-mbqp_8@}wDl$_g6HQt*KpLx@WudSk_zKdCgq|- z5U^>4=#VMn>YVHjv3j#n6H>Neb^{&SH^}n-`@F{H*W!V>KC-^i6&7NwmZd1 z);L$x5XfLH@zpHG--K`DMp$#@DB0fJq*5c#l>pFnps{7YApcx|%uha*2=(+Z_@?U7 zUlnHZO9QhH4H4Ii`lgL~@6xPr!lT8$1?RxvQ2ACgO2&9kcka%u+JKM)-5)XT;VE(# z?;=$E$3d8|HouU5B>V9jL2zGk)9da6FuC7$IfY(hCYnbf8Z~>oRtggfe0nUrnD`@u zGIEe^SQDXAg$gB@Msag=jb*L!vc08R9aV7rL1)<%%s4o>@eiTUvE1tZUH)OWu;?SQ z{*d>r#Ta9&XvQ#7UhwFr&OQ)%aOuy;3tx{5V?K&_dBU(^0|T&7Wg_P{O&XF>S&y_h zL+P4hoMp%4FNu@}+q`gEibG2yi9VkKaS}MMjblm5sDG4f&L$EC^MKZNJ&e+cc|pWYgZ=M@uvwVu>z+E3Jp9~*kh2SdAHIEId6 zE18LGcuM9lM)F2iO$-Wfw~O5heV;vYpG>J#N~W5; z$t$}RjeU|lNUFM~&Qs+aaoz=P8ey<7h?E_&E9n@>RB;mwqhz0adGGHOkwamZN9bCe z!X1omvv3*4mhukMMueQK#n91QKVt@;EF9Cnd<)2XzPE<6yg{U3>*W3qA;Q+4j!fiT zKse$MM{g>>YXetbV1oZpBH%7LPQX%%=gWbOONM-0VLp|uPzIShIK;n{6E7DU%bO~i zJR4P9JaS6^)SOj=t`jqZvn)=oF4IIGuFWgE=}TM%!zN*;pRSkE$ivNDxAhk8Ng3ZZ zi-1g7(_=8@;^lRB(_&g2x+Ov>{6#Ojn;s-2_LM1S(1%ldtF|%@cs&%0zA#>BB(^`i z&5@E^asNH68%KWg58=_!-fP3`<_}|4tklGKrhrmGzt1Hhpn^_XNS-U78;|#6mNeJ;$yP4AqgSP;Rlu=QG$Iou5B4$PA4S``&JylbB`hk>XZNRMuto(=4`7Yg{q`YxCl7;udE zn~XO#TWmo|BIpw`-VPI=zrKAkCRDBc?sd3Dn)Uk^>e7}6EgI@~qe@w_2_SV7Z&I-N z$RFA!Mt#bX=rIoE_w`kV+k7`kwj1#zbA-~R_?W*|#dC5n3!iiG zZbZj9_G6AmCw(O&**7|9MU@uq4*A|q1!P6k|5icK5Fi(AhotqLZ0BAFkJlH00kE4S zo1`6E5(AK|&`mbyE#*V>s?;1@yjynF5?XP>=~=+9Ygama;vzp7;BxHoFE#sH{C7yq zj*bdgK`2mPxHDo|?zN)h$k-QT>s)Nhp10Xkvt>?}-I)^4jc994&wk~#B(Z$K7Z;Id z;ng4Ip9)=k}T_ySw{H}!DZ8A>ib5p;YbO6^sLk6 zj>2UAal?e&b%qz>fY5WYW+scifLKQI-H&hs`#iqu3-4knv*i2(;dfuzg|x_<$fUww zaIH-cHok;&eGI>zU?olq)R7XPDk0W?-=6ADSC3jXIR$5r>-oN=WYMLh!YeQ=gXXOF znX07S{hdR5Fb>hyn4~d z+I-z!;T0)8mT8j+58wfBrw}r3QfGyP@ph)rdZ#F|hwxylgDxfK*j6n;(p1F4a4EYT z8dIUeEEf8F*M3mqsIU*>yoAFpe`*eYNFMgv$2WVP2Xgc;b?FIm3L z>D5!bgX2KN99r7Rl6wdG)`oKJ4Re=A^n_MgblG21O(uao~fA7~5tFu%NvStkn z0hv-DG-&8}>SpVD)On&jP{D|hF(hf0Gap0TunvD>)QV-U&2IXUWz5-*LFgyq!KZ-x zp7OnY0s~q$zZ^2tcwq(G`qasBDSTz}*0?J&r!nrIg!_6G7$y@eW1riM<qdI3A62}>A9Qj*F-+&s|jWE%E{O&URm*ZTQsm+#L zE~~gBr^ZhekK>OMGOD+x%9}W&I8*-+oJ3uc1cP*98Tp7YV^a#6Oqpx?FSESOs*K7( zH}R2a*%^msj|!sLXru#Vnn+cdydSMWm1>z-41yz;f+q7C+>4PGae*w6clO>yX{-iG}~eCLzn#&%ru8WmvofvzCGEyK2YqKZoH)^3vw zdz#Zuo>F^Z*y;D4Mnl;`@?g(*PmRP6EUpoCs1M~Vc;2GS(A*tn?Cu<)--s?%!zYWOq^(mE>6CvK|BWHc7|cHY{vkt@>=KiqJ{fseIroo&1~YRZJXCE zf%`|>VNph3hrG-#Id+3S;8359s}vQd0&ZY5yd&?p$`m@d z^}9teUM!uxyUX$DR$p(P7~LmpS~k`<`662LS-07FD{+0u_E_J&!8=q$)3I|k6RIq~ zbRJ9pSfx>_eG4M26pv}_p@>YO>ZLG#TgA4K_Gd%chc#8vAET5BA!x91&?u~x&m5>@ zP=S^AHpDFaGLJW_X3tWyWjdijsWSnPn=|@|`{2198(=GGOD!478`-b*Qk|g_sp#sl zUy5&J%w$7#thvJC7CDMY93Ue?V@`9<0&|#Kp7Ug|o%KZ6+29MYV{Rn@)KdL4L~|}7 zOJXM?3KJyfV`C(uj$~GwxbP~-k>wkDM}5v``#l%d6JF4KU7zsKK0ju*APIB;g0Rb&%jAHO5S$Wwt#Uke{9Se*n-xFTV!PV50!I z1;Pa6%be|7Gng#KG`Pm-#3>$iIc#CT0QiO1@w(hTcN}puAel3^L&1k2E9J2@LKw=n z9z-I#dY+VSICPxi!xtADDs1CtH7ZmBZRg`QQq4w6nOCfoh5YEZcG*0EUcXGhtEU*0O_}1Uj38A(&F54f_bOPWt6POJJ$VAiSFR0xZn8m29L(AOr z7=X1&kyx+7(<&EL!L|Sc9kSfz)wdW{v7CR&pCc|%C0r&0YI}kJrqqpN?8we8pG?(ML+@a=IRk9ypnWuCDiN z<1MT5r%-Gs`&q7g^aUXtl-jVscmmKXiKof1rI|v(#VsXr6cTXvHYzm2G8RY~+^z0A4m9Hu%{Bwa4zsly_mR)OnCP)7OQmg!k$rBkeisQ#g8TT>)wB+aZh&fN*gvnu(iG=OPn9Ob8ry(5U;C70* zd1T-}F2aUIBxGWXMC15PVjYEhcGDHwry{H@Na!wOUDF;bOiM>j3uMLAc=9?|OP)aS z4^m-|!PPd{F*6lV8!~NQ0XWB>_vwd9`6ewmNxv2`n>k|H3^`*P>y7r!yVY|oDrw+B z4lUE-;Nk)kx48q*ub_&F{wj>UssaXp!3sDiYl1t*`nhvC85*bQ#{J9 zx6{P*VXA4W{T$qVwUzBZ=jA6J)@R41BqqVW8dJ3})V zib-$w3WF^!Vs|46aaorTa5WpRpbKmP8-R@VG7j9kgj?DsL))myQ`cWug`6w6RWf5O zFk)1IUrLuQx_bVDDmM{_Iqj#0?fBlFIfEA%F&h5>AGI;#QIWu(F)*B_5Z2m!o6d_Y zZ5~;Z6QmX=2c^N2wB>E1GcXxiCZ>F#vCBb=yXoA3a;P{mZ)}-Kh3Ry!Sq@G{M!p(t zjd!<|o?sN;9kxpcAly?KwN0niQAJq9)MOJDRmmD`AXe6d+YwVIYHD+Ko=gJC<_ObF zIn#in77fu?V=BQa9=^H($?8Pop@hafpE`$$kCsyLu@Es}sHGM*S|F1?H+9FSsK86a z18NjZ+VKvzm((*tN&5JK=~P%_{C&o6A(`1`42%QkFmGdt0?y*ejo79dM8u#H0VDyq z)e_1l6y!kw=W5T0Dg9^1-IIo4%BdwsDt3`h3#6^kEzgXs+jCOeQum&N%($p>HkeE+ zQAEf40Y{5TgZdUnwyD$+z=qJYCncH zaFWr~nAqcaxC3M^X)>~ag|}nNZVk-5F0(JmlhhqQ=3q2*r(<9{rZK|tJ=a6TJp>cb z^F|3>Y8c*I%LvL`P*~(zDa$cq3l31R^#-!*MLwaJvs^B<@1&O*oO~)FQ7EIV90s`(V zG4ieud7A{iqXIJ(?V8-*8hJe$0oMWpF%C3&_O=&_dJcLRPeCf6o;r~$j)or@4IG{G zD+P?rk}7~VsxD02wxT{l(W+t(Susk-2>y>hP)H-aem*wTHUNGDT;RvT8e?p@rafz9 zo6JK{=QHGtXTE5Pm(J-##m09{;@5SYW|c`J6!?js5ra#@>A;M39Y&>b44Do_m(+@1 zb;1}pn8$XTR7Az7Mi}1Wn8wTSF8UF{@qBvfdi!^yn z1Qxi|Ktz0^{z;D|!H}5QNQXBKkeR8^@j~R04~RJ-c#97WilS}V;we%XGR!*GS&Le% z7ce6>UQos60X^{tl6qfDoX2{Zvu%x%I;-fwMmi7O6Wxzn|nXEbun+3 z8ve%_+!M8d0fb&4#-?py4~AU~a8_#{epu8L z4!$ED#&fe^M#MO85B}V*wJ{+0*6p%XN;7OY)(m@3a)9|&hJ1o1x}t0NO=vJ{1^)n- z!|Jy~oVfXF8VdTN!8heU55ldLL}De`qtO zKkPaVpmT+Lv5m#@5^xCSCUY?mz*X%8t}`}>L4u$$PdCbpW(C1DtA}n-wkNm* z9XNxQuErZ6hzL24I1k1*0G0gM2@W3erz)hXdCVxE)y>fFKe6ItA){pHVVQL_tMX); zT{FH++ATv&`aJl71aut5T5M@Bjkr^}&|KAIs280_mKBZ@6c#LuhGoa`xAfr(*#17@ zyLGSvnNBsE1h0-{cQ^&ip;@+dFwH()vws&wUI!Lf&BhbDcsqatAP{CrtIWH&`f<{s z;N$&>?#OK5{jxUH^2~Yv09?imVoE*`_TgiCk>mBvx44idGAjoAcK$mks6IIPi8>u2 z)a6x7L9z&Qc0OyLkQJJua@ZE*w%6b;5i&N!U|TjNnv>q&t_?HgZ}9P98jPx{yMtp? z{{S)n0NUfa4WRwB&$AE%!$HsK&d@n0wTCDDyG;eQJ^456o4=0+PmLML3%dBl z2`@4-sQfn?XEri%F_W;~{{YCI+)KNqZHfSVr?C$ivU7ukTCJs@Pk~WRYB^b***lRG zF4~zCh<{VT` zI062&Wgn)SFUHH3;%4Ps70Ab7qt^lE2ege=qyfMLc9V?{aXwE42^#ge^2q z{zT1Z1#_p;K6b^SM1eLVG2fkp#5;1GtQb7VpqIi{3=U#xOd0}0Xfn_64Q2d(Q5zXp zXc0Z~C5Zf=06?U^JbxN(1@kQ6%;3As~D-xH&U#^MuDgSSwZk09D~ zz!zdjuGK~}Pog{UY115V1JtPMjWTIAoO_hy(6bfMUN!t}V#oOWViX9t+iK^}x)(E0 zJ8+tgW+P3IcjGoOxZD<^Tb>qi2#f;{$bLL+9V!L6u#)Le1A1&f8j0p86Mqh^)nhvOX;WfZvbA$5Ht8F^1TpvE|_6@O-~4{0v9CB~2&l)1QOF zK0vIka9c7cSbL2YHn^0TklZ0bMY)lu;qq?Bx0;*?a;Z9uR}GAK@H4iT@l@D!nDNbm zD4E3cUTQKO*et5>RW1dnMarS8d6~P7nTt(FGOk2iHkyT|9i>*vrt+#rOd*+XxfbUg z4A1t!~Gd&CsYnboGt=c?gPIT{68Mj^mG4fFP$r_fMxWicR zAO6)+v4pSLe!vA&;;<5QPWN8x6NvL@pa#K@fKO~7ad<11XcpC=&g zA?AKYE;3?0(a#y)l^MQ#(@eiEqw<-Gwv$YWrN^n=INs)D{nLo1;c1U00Q_&6^@AMC zl(}4~8!`itmn3SwC5iGwlb@QW%nbQL&z)h+C(U!@qwNxhkbWOWXT7tdI zeqSv4ZFLP#neB1haq*k8RPE;rd||I{pi~}14WIXp_Ldu3<|T638lY}Z5ZnNnl9Z=z zJkPlF{C+ZW)b9aUPk3u!<{h<+ShSrZYC08=~gNo)4QPHd6ms^ zR|Ga&(J|a^Jb}~kFTYI97|jVJWQJs$ghSn`{{VPso0>Q3oM9wx*1z%}IE64{yLDo2 z8~0phvE*V}sXK{k5zjdB?wN9f*BG|^exKsTK_u{9>Ia~x%@-FMCai6egXG;ZWTAbW z?OL4H7vn>Pax)$TB5DZ@m93RXp8>YfWYkPwix6N;IQ4%x$?`O8owj!l((~kDJfEPR zCndI+Nv>m5sY0r45Gv6E9BO7x3z1$vpZ@?JW%%+fN|>AC%cx==%**%-8Qa*4~I zEUii-<=LqDtyJDTqqR+|1H6iN6mgn=#*gA?cn^@3Dskg=?|F@`VJ5eky`yA9GK@fG zU?6&jH!SzieLO{|SWo)qP>bfJN*yX4)!kjyMPs$G`e^bTTAaM4*m5m5)%EexuDrUez3r*s+^Tu7{3>x>%+l!;@(?#Ps5&Md0AeyB~?P-k`*pUX_X7 z1=Me7bQgG)3NWUf6hmtsSL%z-!X?`m~siW<0jbQ zX2K(INf7;&>J}4!02liBp1gH$1-A<71biJ4dV0Pbkrtg}!zV^eb^JWOl6 z>>_!b6--faQ+x(|B+NQuM#wRdH5n+A%}iJs=9lsFOMy}dO-%VHwxXlz34se8p+@Us zJ8}Zfy`viZSc$Ae*}BeRHK&Y>=3}Y&=l(Y2=I<^GX3Ui@ZePqTO&**&V*UfH(y?|% zP)`OCJ#=2GNrY`?ZpAdG>r>c_Y#835QOY zf-S`qE)z94>=O>#EzK5~(u1A|Fm}P_>mU8q!n}N!k0I{M#6l09W z#xS+bT3H&JA@{``GX;#-2)V$DNtwT8<&Z;W1K2Kq$TJgdYu>oBS!4}03*PJAjw>b? z!;}1qiVwk`ndGUdwh_<$w;_ciE{KP&}GjAeH6)3r-v z+&6Ucx*bYlLU=q(z?qQ)ICaK1 zmVjK@AN6P~DX71;Gh=bvz*?@0z{bM#E)ENi_w2XaE--!*xrH)eB6FX9g46mkEq|V_od;0+SaIr$LR5NCUK8K5{Vp zxT5M9PxEoXk#bGM46{IgkV=Ru337>nWlEI*l?u;9!q6G*iJR^cXUlVNF@?<7_YBy! zz)W0~K1q>@fH5mc39KUCf6j5XFX~!d%cwXyZAZrACguc(IRQCN%(<~feTOznR5mGL z^1Q+~V8SeFQ?(-qdUz^%Efn&2nB8`kfuV<)l=ph|?1vUsSx0?f@fm70A?K#gv1b2j*<<6sO9 zF-3dwL`Zm=MlR$l0IG2 z$;YE={{R_c|~igcLN?a?kqM>l7h9(Lrfx&wJzE0@L8=0+6RYjcaYdMKM+jIl4SDt zK2{SZYYzS1i*bCb03Ri>%65%Gr4(2~CyC+%T`!{^YnGWmW5^KCZN%m&+lK`Ra`9|t z{{V*uSKe@Gi_Cgp7cQZ3t#)*yMIe~d$QxjVk;r{^Hn1Y#?ZYQd(!B~iv?u>w(pswH|8J%VARt558 zaUAgomPAbM5BW_$$cHVDlbzj1&>DjzBp80eA3SZyD2_)H-z2x{vAdfw7NE3Tbotoi zIJALa#X~;0ZyKbqb7q$M|v%R8O0hZNYy|3S>^rryQ@4F8E!iHl)mF zY{|%8Lz@rg<#Xi!0O&l%>F&*XK2Td>9p}yt2EZ}mMNpW=Ij_|_vaaK&!?t8>pzK{D zXUp;8{BDos+A0;9kydi7&n%ZGWXX`xFilae`=G5kIjA=0ZL!tdh zghC}sjIokzb&7bsjE`aa#_D6{c#Xs5<%4#uvC0NVa|N=gBy%?06h=dGu6UJj8YBqQ z#NQpPAMGA~wa3|v<~I<4I$r|JsPRb$&|YzQ)8jc`@)>?ix}VcYhqdzK(&EjKs6V3{xiDY2cv%;&gx4;89EG3V_! zQe8*7MycAbjER$FGl0S{-eP*&em(AnBH56-3g(L zbC2}Plie%4JkoMrm^5oWP2gUgBlK7! zA}Own57XD**H1!mT?b!ZLvep!Bhy)oXaNuF{{TnKULf*(;6KVw$B4~Q+;VZI%iJ}s z{F6Q2p}&Vne~cNsjnd`7U^3u`-8C-)L4Wz5%L#l~+kDSakJEPm^6^h;;CVb-`Q#5X!MmRE zHpfcl_`Dw9cxUU07Gd?ikNz=-;Z}HkTlLR`5zg^ z6D-T4qEjkGb%QGi*wZ9+WCcS`^oyu*K6@^AM_;0v```8Yf-j5a8Nf5phwD&P0s-9w z0vZr-SW$zCaF}Ks88XDs>=->BQ^JJL6AB_TvR$d>qkleT+JvTtzH%;>HZMm({e1Wl*YSDz zBzA|*MH{04(;}29l!>=;V`GV^p=9|L#mspb3o_)2dl^K?wbJ@o1?a=){{Rr^qm?{A zg)~o30CXGsK^ddWB&ex#vuKU&^V-Kp4^5ZkR`I?hL5jTwGxl;>xp|9LJEU#@7|6?KN6( z(#{sekT6p(oVfRgLV*u!=4MXZc@8s=Cj%g?jmAZ=`?0p4P##^(b1ps0mlNX2iS18~QLK1Do?FDt`}jm_ zMZ0zrtLx+j)3JVb6CfL{?v+tb7zZhJ6F8<>*-jLS%+j+st8 zHyfFg&M|p6c4OhoTxd+dyHvCSmD)RTa^o3s&lq($&KKF`wNzZqBR!D3BHO<-2tNy^_~x)q{HXw>!R>u8#DKeZ|Qw( zLf1Y?@W(^WXvyrII^-Z z)T>2sVIn`2&QfB|GATSwRyCM4Cltq*bSx`Y*Oz&QRW|FHo(`nn+W!Ek^!4bU>0doT z?rvM_<{zk<4GkKGWIW`_&TO13lx$gc<@q~tn+9Xy5qFj$21kzd4q68@8CjT&4r6J# z{{S9};-m5L@p5nos_GBO23&a>94w`CM{}Z-TwfP3+OAVi-*i3 z`^mYqQC=v|9YC}A{{Y8;Au}ffQ1u@p0vopKD41B*GXq;)#r`zN_ZZyD<8=wd@zTJS zAR>zixL7L`iP}NiPI0Mb#ec;cXf9T({{T=lc|8xFo@a>0*}VS%N2tQ49DBx7jG(IR z+Fr?H(xQULL8JKNJZAw=_hra8YO`BWGKD_aTHtx4%ii2Jl#9yzUCm2ug~?qz??S{g zWfu9s51hlDiA_Z*%*Gt1)!fExmU3mLY`G&jZh+TD6o2+r^cd_#@_hdQQ!g|=F9BMY zZO@J#)In}>cCzgwXh%N3u%ahjO6ncHU^@Lwgs2^`Xr%Uu5e@O&@!vvGa15D>C&v$XJ6Cw0;8%KA+r zVjIALtYkAQ^P3^I<{Ok_UdA?hEzn-=9~fBB$-`zFr#Pk#(~}~IYj?-Fh8Bfc;K2L7 zHc&vDgEF#!`8%0`#wJeb@BaXRtq)K7{*lwyO_1Sn7fX?%emi`}_{E8dF$aUlZO0?n z)an3)+&q^;20T|A%%fGpi$IK+@nr1X#-y@_aq*!U3mvVD42T5&avL5%yIs!GWfh5A zcGSuNlqe1e6N=(-FQweRThIQWvB%u~ubzX>i$on$7+A{?MUNYqk)h2~F06EL0UeOE zcPx4;mWhV(?xOjv@%G|epssAHN1@0(3|USyjoiBA%1z~1xgHUaW40u-g|q(v#}_Kn zd;ZFw^`~vvM=-!dS(MDrGUrhrDQ=sMUvYBn516UYJA7uz#g5>jkNX*O+y;-xcWyGt zmtXwEV?F)r>U_#2wA!Y^aq7^i&V+oN{OBgDSB+Obr+akbC=<+X2Z^(oIhgC?M*cQd z`0;U-nF43W{R*VR{{YMo`TO70`GRFWSeLnwnO zjPUal6m6de?Fte7Dy5>N4guMZ;3J{szxuV%bTCy(i!t74m82225a6BLWv7Y?&3ud_WJ$(fCFo6grT?1FXWF#OEiVJr?QPAr8Cmo8ikBek37r?KSy2VW3!R~a*rKj>6x&gWy& zx{o~sCg;AkW!&wyhQIlKzpMYm04osy0s;X90s;a80s{d7000000Rj;a0}>!1Ffl+u z6Hziy1R@kdaZ+Lb+5iXv0|5a)0n7fHycNM=V!TQ}DRH8?*CdUm(`iSn*PZ2YqKYW5 z1^tV&Y8+`6S!c1tt_gW>>j;B%FMy&XLMEqUS@dqad-xPkjkV`^L}Dn9O^;2EEqr># z6~eh!3L&O+i!7p1CjzU2`IXB}TRyUgjFC0+mx-Hc8aUc*C_`f;iAJ~~%Cop{gXMU# z%ki-yUX3NzEV9J$Lq?|-Hdwkhb|=MQm&I~SzD=55g%fE-7K=kMd|#}wwr*zQaD?$? zqVYmlmljap1Voaie~%;B`aO1UM15hgnw+Z?HHs)j7A8?#niqv4KM4~mtqPVED zVYIBS7FlKRp(asSMew2vXo@JJhKVXDqFh=Kh~iQ&#G+N3cvm>W$iUiH7Kudf*)`~V z<5+Bblq`B|a1tuT61;kPciFd#%OoiN$r9wKztMPnQFxf*MmeH~&M+dlE?;E2Cz{~9 zDT?t%(Z`A;&#p8`_EG3~glvR-Ok|BuSd2$QtfhsTHXn>}8pr-&`VhECQ6Kt^-WRec zqWmusX5GSqDPfNmZWB5jkl3Vd#b%A7i6lofdL=8)oNb7BMGqIkLwp+?joe~UXS~^H zt_g5>o8hO?9?--rH;dsZ4Ty6$viZV$PT!;d07^_zm(jVS{fosL8TiUJvuh}%PIPvhliyBK`;CZ?VRY z$1kE2lJ-kkKcZT#`_K6Lom0m~)HtJIt?$8N!Ys1!2%Awg*DA$w(4Wx%0Q|(~W$@7c zWwUv^4biI8eR!<0_-XnYC*n%Qr)S|Dc9DBspYm7e{{WE}^j*F>KkDrK=jA^!`He|# z_&QSh#N(8#+EU9DY_Fw;KGFElp%FzP>7lB{3OS=`Mx*)^TO25i2M#a67udTRCj(%j zS7y>s>o8s7{{TaGhPY}hZAV8%tR^{+wk6Qfw-a6Peg*7Ukc6}JG6-mY#M()gS+=MH6YX+HE%B5p0Vug=SvQLPXH0o*3|o z@Y4|)HSAM~>|%h|Dkwr&T^F0on9pQSWs(uMD=(B{Y+qxa)J41Ol8FsXrt9qvW#0-Y zqK&7aJnm-W-Wc(?PZx{q{Dqa_Lb6vbkfNf0FR`Wi7Meec{{T{~*v*XCD4RrzD-8_^ z;%f?2DcSTf;?3;b%i&{w82T*!Z?aCh!+-TeASk7YMA&-8aG{J{8;68hxW9&l-HuyG z{{ZyyA7+=KaH58Vmc~3hFOO!Qp}Qz=yg;(W$6-wyhU{gGWr^bcMdJD)E6iU6UL^u= zZ=>=u?4~g*7MZa8V~GArbSbhe{fJDwB36j&cS4nuR#DMK8&)W2woAW|qhiwik$~47 z)Gp0UAJC;Jk)7rAd&5*IkGwdNUl(nP0_zbyjJzgoviAEFtek9Wg+JaKu{sowWBnbW z$WkX?5;3-I63W9G79k<6$M6%fak2G>hwM@tF2-2?CY(CL?<*~yg*zD?LS3E2jO?5@ z7GGtSZZ{i^-xp6$_I(qT5S0nxA+gBZHp(rQZfM?zDt!xFZr$SkPL`M3DAd&2hVKxW z5=@-SHyh37^Krb~U&vY7Y3Y5l(K*p6Zpt*DWQmK`Xs??c8y12i1hF~MDLHVWGNMu( zgv%`4ZZGAdPgX4!hct~%Z_wTFScxp(^cGw2Scdpj{{Tx>;a}1$x5~@@k$+GB!~iJ~ z00II51OfpB0|5a600000009CK5Cak*AuusP6EZ+iB2Zyc1abe`00;pB0RcY&%JSFr zuko+(k!9xmR#|12!u;#OW#Y^6P?~I`X+tP{FYq5b@GN^h6PHGio@m)cU$RlJ&Auxh ziAa>JQ%G8fQcsOpC0~hrFO`>-`z5H^d9gAx6X7L)(AD&6e-&Jih(0r4Kb)}_{Ec6H zmLkZ?_)F1QufTpJHff_#_CE%j?~4$#UK-%=yi3_1W~aV2g^fRaU%V{73oA9kiYtmJ zp(EsktekE}(oy}Mh(w=Wh{8;a6ZT3e5n|yiEWQgX#atE>!bAy9q;GahQL+0z21as9 zjq)zY`xgoDvEqv0xx79VlzJiTiK+KIUpRXg2bG70yss6CD;s(e8Wd=YHNNixG}jl# ziYTJF*t}LOGA6ph5wVR{QK#Un-v!Ixk#N=RXHHAxmaph)%EBSa`Bw$PxvvvehtoPb z7SXlwltYuk?)YJJx5QPyUG3M55 z7GFE${A+}?lRlBK+9=}u^@{K!is40Na+KPTrdhb$Zy@|gv{`24U+XSIe7)k!!z(M^ z7Y$!!ibmq`842-cd|Zpg(3wp6qhsYmW#J6nl)Ec~bWQHfv^EQ8|xiX`J%N3s}^ zyNwP-h`S?-9v2DfZ6!9#FNz^7LH5XI&B)$;MoMoHLc|ssw$XHMMV2-;BE-n|h1o7T znw8Qlv9im>;SgOCkq?qQ97kw;6UOmLv(g`~v0`LoPFxWIvJ8;2=1JS}C($29n6Y`E zIE${!{pI0%8sMD>zKFBg6^Y24hv7tN3G``u#PtxHV!TONELRIR3PPuf#8+gB;JX

PnE`jR}^@!c1CX z(n3|jSaIn4elu9C)-Mmd=*Q=Vr(~6Q(#q4ZX{0LWDB0FK8ch0T)QZiHW$}iU`x34b zA7;-ASd0z0+u_tMg*>%mhv?chSVa^pX~%Qo*!w7GOZHMWBk8kiHnV7=Mk0-3ymD5J ztVp4d6K2FqOseB%i{#2Zl31=3C?DY%uQuY%!$?s15?P!^hZ2PnjWtVy5m$;DC}Kro zDAbo_vrYHO&-5?!zFM7jZtUDe6~cbASfU=eEYU?3gdi|E`&LN1BCbsxB0F^XAi(|ERaQAHFeHZGAd8?O+3c_q>tEP*55 zD2WwFn-dpuCEKQmqK&07LHwUgT2+eUv`Vq4M-epqC|K2fVuZ%Tv!=h6CL-u=#34tG z_;m>5Opm_`!)B|(#dLg(L|r^cQ63Q$;#_Ci7g&oU@4&Fw*(qiOn6X7410p#sw#dmy zh`h@Z!XhHg!=rVakjc*fwqgyn~N;mdmL<7+HE}{ zAqb(sXhc>kp}km5zwJ1nx_4v4z^ha`z>KY~(k*oxsp=+o7%n9`8pS@)D} z7g>YxS?|Q;Ighfkip3kKt=@_wAsc^Lc}KA#h8MlqKS2cy%Xii13HQ*yBPR1gPp>$wr7uhaZtgqJ)PNVYJ)$b&XwLgf7THoO0Na zM$v6X^mI|RGh-sHc0C`^mNx!QwztB@lr4!?Ck!M)Hd8jU=`-mw=^sp5X2QQA=IGVd zzLp^iBO1#!5)lW{FL|_HEAW?wdg(et{{Yb0jk<%j;9u`VB?27DA8Yz^`roz81 znwnBf+QkNG=>E#C3`~%}q^}0iiB|_I{*|}zCHpRmGKwgmfCxnqtt)uBF#Qt-=OS&Jib3gJ@icab3RX@ zj(5wy%$6(6jVm2aueo;J&p_oTa_K28OGK);ex_$*s+lh1>RaSs?ajQBc`bxbBx{aL z>)hX)8r=E}-&Mt0K^QJAN(#5knm5=c1sd#4(#CPr}`S$vm z`Tl-I&fg;Zi%;k0`4T~5!aNhB+he&8 znOA$*O`9E*{&yV(-mjg7u@`6_Vi%WFR}`bLkNa^DIA}^xk zQ>DH_qdT437t4P>m;12A@-M7%tsuyC3 zKb6~-Io%WLLeuHYo3|~wJo4rUBIjY2(;8TCNzyM4+FX^b`4`RlYb4e29SO72dPuD_Jp7M-TW?|5nIy@=%LrOnUm=X#dR}=a z@L!hNDd*zRYXmW9$nLcBuKHI!*@3#LQcrTHmUPg}RQu zSMri2+{tGjo?Geo<+B!#l1%9@OK7xfV)#39TS(LCqMfv!TMOK#-CDNrQ$xySOHLKG zN%C-|eH~s)e;QpPC|_=S>tnYg`BX)Vi(DO!@OjtjCCxU{PZ~Z)2E%$(Jr;|S1}M|W zmbTZ%7hGQZr4bNm(7-NvbpC4|{$eHZ8$ z^j*G7yb!CK_93*{8+SMMH`6A0@ual5V@Hnu50de=^e^NWju}xiRN!+|uEX}WBL($WdhxhQI_;hoztB6PTokt(Gn;^o&* zVtW|hOz5w4A@tAp8+N%>oh3A{MA(kj9+!rW(ll&Gk@p{sJd~Z>n|(^XG^SoL?l0<7 zQj*G%!b#+{qv|^4AurrXbH0@FMOQj6@XPP|1|bNK3O$Y6>^`3m zHy{51AzSD!B~K1wM{lzhP8AE>&HNVFxb$-$Qe_sjW)P1Q;M}Wo-IiKY#4hFS>_!h` zsy^mXXn#?{?^$mPpq4`1?btO@v*2GktmuR+_ z($vK~%jU0gD{}l3N}7*NNc8=3D^&v6j@!tU?nkTG>a>?Fv4gT8xw6t=ZSg7w)z^}1 zv)f`gcb8i>`nW%viOsx?$-_J^OUcqX!TY|%ZAj|!FYTsDmL+T*H(p4=+ex$+Ud5Ft zRdH~+#0sYu#g9}z$sI{G-UU;thqOVwKcVDl(j=*Z>5sOTn;tZgYWh*>MVtGX)6$u4 zN22C`BGy}t^-^`F&X-rPy;U(ypy_Z;RZT^*LiQZnUCY7L@L3@x1W>2@5jfe2Tii>6 zceyTOvN3PmD1O79B=dseiy!XKZ6SXoB?r`TR%}}D!D>Ibbl17m(bEdW--69s$(#5l zEW8<1p1M4oGY7Yk^t7{))m1d7{ExR{IBv+|Y?7s}5!tqbPEB8`pS$k$+B`-bwXN=$BG+-zAgtVLGKAx8}lJZ|W?4 zWmJ=o|F(rFC5^OzfOK~$f^?3QZbmb@m2PC@NNGkodQuKX3jbyldYVPP=JSEC?hY9TlS7UNyAh|`%Ya7szeK<(XVh)3PN`{UXCSYWFsD3!`sPhoh) zm?b>R@fLZ3J9fBL`UWE;Gw}D{1KHW&ot`p5;Q6PD1&Kb=Mr-k<7{g6el5%i8!qsmr zk9O(tZ_8JE>G1|qeNwWwHV7(u0aBP*pH7@aeR9pd&2JkGf#{nO@hL%n1b;_}@91Tg zuLC~JYV@$`5h6-9W6h>R8dRK-tt9kI>J$nFSqZErS=Tk2y3p+ttZ`QA5 zTv_02jCCn0@0{a0KkK{2dYVs}twzrLB7#AUS9gnkX2}umY+-qmm#)iD*WnRLh4ZL6 z&@sCvKD#E$fiH%z8#f6)k2PM>IC;gskrGzEx$$rLKslxY#{-{%rXTS1a;x3 z$&2Mv0!6)yI?Zcg`gO~%Q4dIBiK;trsduIB_R`kfta^Dbyp2-XC|^xxa64*1 zfUL}3O@il4=n!b5tW>XbqvfT%$EgI{6B2<%>UnK~($>a91=cP+ZzBhcBZ;zv0`}i$ zM=lCymVUc}U>$H)d5Hh+y<|P`E{E}-^|cA1#9S-09j!tU{H5cK&$!8k3Chwx9wvB@?MsX7&t39J>q*#VW zF{|dH$|^vKwNQYSNtG9X{MziR)$;7zG}Wc(qMO6-P=k(7QImP0e76&+$!#Y9;#e&) z(AnECKZzA!M=ji;g+uS*8C_A{jH$c>N+x1!(02u*H6Z0uMezhl4vw~?jkO@Ozgo-{ z(AWc#*Y=0V0;w{}hK&6W6e&FeV_r1tmL^1Y9e@kH$W){5 z_Rup=PG!DkxhZ@u;NU4KoR*njpM*2mm-_POn3X*v(!I}R>-_CsbaM9}r1ZWgri}$k zvz@eTQAjI-LCo)PCu8i0*NU%joGeUO})>6EXU32VE4+V6#Q7%hZq zC>O`ck!5~A=O})i;x3EnNdBkUc*>Mnl{6D*S#O!kZgF70d(HSY@$2kez)G=pG8s1@ zGnh9g91?>_*?;v9E@5k}n~lK-YNG;Ej06^2@S#26;UTQS)+tAI4L4)YT20+G=Ax8h zEmcOk)+D=0ha-|;#91>?$+entoY&X`U^-~sKm#~@l?_2|KIieBNdRDAl9$ivMmq|z z>xx5s-)6=o1uEINrMJG$f@<&@o+V|s%9}Sj#?o(-%eIo6AHGZ>4HS6@c4NJtO0nP= zE*-XEmxpk5zte(M+@{VPA3jj_?8vE577HKB_8r3`h2!J zS9b^hj(Vr{2KL}>OrYeXKqkNq$(JXczu6CBI+L9RPdCnqJcBv zmkVKh6_N>fa#kA0bAWe31Jz;W3%mzgo_xSb)t2+NCn z=hF~I_o5ttEHdrejK^C*`jiRlf}wrXpjwQ z4X3EdT85foo9a4~c=kZvr_u(S+5!S#i2vA?lCMthB~|AkOqF`i@rU|V5`XTrR~Ek>;zUdX$hsO@@Yo9+y=KyL6-Br(gb zQxk{wGj9jt!j2N!!jzW)VfM!KY$b<1?v9ch2%T>ustQ3M$f1+LnX(6#qIhDeMx4(% z%eR1S>( zJevnBSa!P=DM*E9jX&7>TMm2BuijsMytSy_RfFiaOZyWc->1>rf-<2!jpD?5X7cys zf=3J-C%3q)x+s-PCn4pfpD}2fcVtpM)Ze<3y80soUDWx`1oA&J$u*9%42`qtmW(>m zD4gg%I({rgKOaN)GR;ewmdKM+eAn^@zPnZ=M+-WL!Wf#Sd08+7Z3XSQL_G#pri(}J zjO)M8dNOduA;tV@IRiF_^1Pkm(nie!rR%?%@Vag^!-uwsrGL<>Qyj`027{N=6;S^w zw_z7t4Zks2>`*hTmjs7b{f;@N^x{gqicf2hccX(~k*1*o(LklgkrE(~!1IhR!>56lj%_kAyE4`ETh zWrthslU(Kz2`nWVeCY#!D>nAkf|_GP1W$ry`{y=R)=CraQnctCqCR3K+T$v^mRG;+ zS!G;EU9P}i)+c>ylC9jpR1myBtNc?(Y;|2MqCwf4+A53Li?TB?tXn;s3oW{ID!kJJ zNV!z{IELlR=5|fb>Z%k)#Ad<>hKI$IKLd{p&tu{`U$WsmJU-*_^hzfY<*%nuZBg^B zXsT^Z;x+FXzITg!E3KxRNuR;DdJcMsL@K=}KypcM5n53wnfh&^EV)k-g>>-Q8)mr$ zOV8`4;j)S~00k}-Vx}&JyaK+*X?E%*1Eny@pARbb{Ajp{IJm1+MO8(R=Y+7}Be8gb z1h>=oeQOLnS+tt%M|`g-2*H$D!08C|=4f|_Ko)~lH~2MJRUw1(@;W2scj8q!+g?Vg zr<0xonYpoere>~=`8ik4C7ls%u3VP_|9&hsbKv8k&70v!6?*oBf0cHhS}_}qoeMsN zE`W74RsKP>4379Fs}kg&2!V!w6=oh2ztp6KZc2uCsjD9CtI=(>xi;85jL#G}=2Y&6 zok)Ub#z*YO89Zy!qr5yygyrsZG5`r%de@9>yis6UvKmdnEw^kfpR~!LKhRt=1@YTd z4p#OT2!~sg+C}y8O$s;Z5l0Uy?S zNy9@hD6BrSWaO<%Zm9F>XGcUBi2=+#&o%e`(CSvK;*#SCI@{M*bkcfgS7T;q`5?e} zAoL>cu}*61JOd_8ijKn3Mtkogg>tcM3P*B1knxPW^cOx2)6gYj)6}8$mgYcoZ0JZ; zG!)Fl$%)zHi9j{AEyBGE?Tz*pP-Mi+>U*+g(2Gn>T<9L%dv=}nFrcH(&_avg2~6_+ zJ1s+H+5D35Li)GfxrKkr)s1FPIb|z?xo1>2Tlvv@ty>)>GXEMn%;1HPfL?*hzHEOU zCMnjkB-wap@vk3|5^Z@pwD38|%w0mZ-SZy=o`x~75XS`s(Q!4g8R|=us$#j{c!aTB z%DGL)mKNGKgjq0Zp`gI^clXiTQfN3>S*R+Jt~M>!ChPH|)uR9v;sk=S5J7XTpLe^J zxk6V2jFd706!Z#hu(|i>DT?Q`BUkC|QC{x7PPgKdrB-ruGeHZv|H@~s1h~KaiFzA% zx18M|(;wZR)as&>T(pvXBXguky?0dtJ)7-^VebY~_FO7vmNfYn>6ndWJmR#Ab#3hN zL-MUcdinSCx`ZAMN>M@4u^HpzHSIAL@o^^6k?TF8?^dh_mTkj{?eH+zL9&0S7rxS@|-s`){=r;c!9)j(L0v1a|ZGBt;`2m&$kmu3BH&5_Kb8+FK% za3gKgGw|6BOVzp9B})eEsW~$@9kTu)D#1;?{2%;|k3BmD`R63sdT@n2J1aKM1ylR? z_^MD;?)K3RJ?V1?03PI|HOjWZU0-6aKNX0k(6vqvsiulSf#gYPeSpSw+jXzWeJ4FP z11m-RN?^f~&MH+xv%7fePzs$FE?y--%4!4psfa=Dq ze0mMq?~Q+hpVYIx!V6EN9?etFNNDb<076r4lWP5MUX^TPa%WTGhL?mMUeiiwl1qCZ1;Ji8Vh1FIJ|Dt{YwbbMuQ)U~guNtVKLI3#~9qfpb~R(2t=ZGj0`XaNZm zoQ)Y_E|l!G!D@5;+?rX?cSZ7+dcl{bC^+~Z=d`2!)9M;I%aqAo{U(pg;DEklmXcy_ zouPd>zw>EeIPu-iR{GZLwLTVYKn+O}{i?s@898Tgu-AD?KaK1HQki>H1a>5{7Y>cp zv{aT%F^`o`B0YyhFh*5#xJllxeO#kqtMbrrQCc?&`Py_5eO#15s{ z3k4RbsaCMN=OQfI#(^Ax*VKWm$S`8MuId+_yY_HHNpmf(?$*k6ocMMQZ=Gf!>wEjK zr;(ASL5!lsXm8G4to7_#qr9jQ5rLnVqtSJ~06|KLe;(X3g)enP;Uvuc;829SFY`o+ zKvgW+z*xT_!Q|OZQbeU6oRM5dby`RcIH(GJAE9EI`L%V{f{dS-dUoYG8< z?7M6c0>^8toEYHc^wOEmw~F{y`>v7oCTYd7jmCg#BHeO;Q!(plPQ$BLy=FMIECuzW zPy?c3Pn1Cf$Ms%7Rh&WU@3Wo#H@m9os*9}VGjc7}ozuks-J_I4oXlKo#hw1BYCz^F zcP)345dyj$V5Z0nT{3}Xp1puD^6pF+d6;XbBXs?2`bO$^L+=HsyKKpIiW91YCt|>Zhioi+sAwCy3zd+{z&(KXEWrZvk6YKD4WI0^7p*RL!#+?RjYx z=FxkQ_IY3{9_*V%5;+J1zmsWH?pjo&}xIK%lnT+pz-^D){v3SxSn`P1Zr%`DD-ziZKM zzN@e*LiH)TN77dETzPZSK_3QI>7`@t5)lDsA|tAdi>s`ZA~cjX!u&yTUkKH=vI`2% z2D@}5YhW~-*sCxG3m%$M0=a_x-7V}C#x}}w#0Y{E7q~#~-&@q`L+HBebU5YsT3x2n zgR%(qs;6_~FKtU-{zjD&ta8j0$YH<+5=&3aU#`z+b(1kzk638O+JLJRjO{=YfS9Rh z_FWotNrB1hJZabQ$s)a(#P{q`fqBx&k({&}`onzoga7tL3&LO*d|qd;DA;YA`Vg3o zI-Qdk7pw+X{c;zieO0<6?Wvy@Su*>!{hV;Y)6AA9vo96+B@(KPn#;C)(-JTU4F|dx z%Ww#6k&mo%4*BO?q>%EsA|e$$db^wggx%Fd7*MZdS;+dw;{sJcA*^5)Nq&n6o-}&R z6%5pPZ=voOKDc#PEM4;udZVhN@jf5LM8nlXbEl@~2jdC}wXaKp9s>On6GL6V7XnqO zf0AY?l@ouY(<2z9nki?b9IUlfoLc=wYg}dkz2jlM40<5W+vJVyDFQy%F3iQu%W!4% zv%4J~Ex*b7*yB|*p3G||J=KR%q?ip8P9l)zb1+ps2c5I-*pRV2B`jLEK?Go-S-zs@ zh&PIEX@T?(-oj|*_I~_ZNDc)Gjh&(j-9;VWTUGqjRB+uZ?dQIeHERk3MgW=V-nOS$ zl|5S}AfAMFrhZXhkU$zx&NkFT z^qTVh_6|ulZ_}sbN-$EO;nPfP`c@zcDO=Yf;HIYY9A{ai|NfT@b!JtYI*g;{41s&M zA>9q+y_zq6nUO$nv~n7~RGN3MJ^@=rU*_JwB<_i$V1 z*R5DVWY>WOCv(PAT1-)5WBZn2Am-!T=Izvj>Y{h}{g<}-MX4r3OHC(dl6x)6KIA17 z7e>_aIV~A_1-@Y&?J3OEZB^yDPUKiGmjG|ir410;6kk^VVmhlpuQ=<|iHlVP;&tnL za@Z5rHjYf`vh`beufl*!TEuEJFRd1E%BDgZq2~UYK6XY{k;HnV`+THzftTk$CsT&g zGAzI$DyeT}t$OmQmW6fHvnyI;J7x@FGgpwO_4F}up*oxIjh^?*&WunTQm^{qy$Q-O ztoD!pOzQ31M7-3~tUPbwDj$ua_<_9R%z?Xo+hdh{gYj!(k}y9QS|jn%?xF? zUb-A*)K2*!F%d&tX9}@nd;PwKbFB+--5=iy4aY;HK+<zwm-?y z2=0hwt-@w3OPBUj)*6uuUVpyK$+00$qeL3T~+Tf*Tjs zIz-nBN8gS|+xq18 zU98c&Ke}{a6D==AR#;dWl6rVNbIBxEXf)X?&v$Wt2`Xo!eKZorBIDR!<)unQo44V8 z;4!YuUnnQU-#Ju)6Xeu7bK1t^kL><$c&`zk&0ka@5Y~|olMv}05r#6EQww$7ZTQvD zm0%~Zu&jePr{|u?M&V)2g3XF3q`mg>&Vd8>+5Y`)Ouo4w!9e%Cfk4n&r zxp{v#Ql*5V&PYUys5(1>U0qtZPdpByDucx4Qg+n^;9GsI7A@0&j&1SAMbj?{Jya&! zQ>>F6e!9u(A>?yF`|ac(ONWMe4|m#r?`rIHl!)iWfq3AEgKVk1ZthL4ReKufzE+Ds zH1b9>hZv_#<^YO= zy$snvXyZviDX9V~PL=iCYvfiaL8ws)A$n6 zztXpwC;ogwpzW3vVCFbXVWcBd?@wcMq?+|yE~b5SJjkQ!dj|H#x!6K*+n#1~ z66;;Xh0RIJpUD11fQ8n^jpo5MSzTci;|A-Gi{;Xp3-2n{4SxLR)5(pxzPg*^b2%W{ zRs-z}OP>Uk_SZHwASl<o+34cC@FW*4B~6sk$BVC0Y?}*<3=d(!PXOncC|#^U*)FKs>GN!Qq)9%o0vss&~lN zRlP^O0`^-yHyFPu*))F5?Z2MnsRNoCwQ+lDgIeU8)z(PEi@FfU()o)Y7e?9Bx+0qR z!KvmVKy9!_ag(ocYa{r*pv#mDl`^*;Q)UKxDp`_KsRn;RWlLg+$7Yq*FY$;D0mWf< zVlwdM4<*x=dr7mX2i&SPNNQ(TSazK*0k-}i*;|xXzmM?S2_GxnU0JhoXIEi2xY;*^ z^WS)B?xMT91Bx+sq~jB6(1pN6y1@xa*PqBf1AEl)WTBtCbau5AwDsgK1JAtcHRV_Y z%4^h#WhfwMkLn;?qSrg|!gE~|iYNF1S1iAyW_{O--JWoY8bl$4eV=vh$TQo#g#$t6 znDxd8wdb@MC&9B3-bV^>Zlh8KF-(BYBB$aIi(Ud_CEx&hn|-hsIWnkxOIef^E&s8_da&@-+&V+`C{_Zq+!(#hguH!6=rXYBH3#)k3g3L#l5 zT2M-LdO_TX2F*-*@)|C&2@Je-N_n%YF(c!}wrW1DxsALocGika-X*n;2F7O`DiW#O zaB8tl&-kwnviZ-cs-migeo{(R6}u-f^Y@Nhn78dI)noQ8w#AQZ@*-6m^!vJ*j7{g) z`X`QT8weiVMRvP(Rz%jq}4^q?Ou#&uikx4r4IK01Uhl{o9)ds`iOx7x=SKO(J~e8a7? z{bw@0OiCw?eC9OSo3yW=v;97CcSz1kOelUaC5iw0{k*e&lX;i)Gn4eIUywZAj?84@2x+DDW9MY zy|g>3kVUs_F(TGR>(jxz%p;DII|=x*1#ovq!E?{t5s>au>F&_^vY}Xc2fsfxi#QFU zWTSB9)|grPn>pBWE9Qt7U9|{QHK9aK<&S~|A|z*%s~T9u*DKenEX>1aY-AUb;q-K_ zoiE+mjw{4KS|I;(K{M}Q1_!!58*VV0Ugi|aP5h`h~#VG=b82-D2WJx?K#CJv*1EAy7r{dkRy) zuSWVUkIhsj`I$rX7HD!47LP`(+8heHm}f%<4}~>BX(Z@Ieywbh)PdcN>+ z;*D^dPVQWv`qsLJ{R{%sPXvQwCc=dP>-4Kju!j}~Z!l#KAgQH~0mI9~_ zeqvfwQ82l}uaF@t?0oLezLd-G6!Y#w{bzoRG@4~#-|HFlNiiH*i#MZkX`K zIX7|b#ujE~9AzL_lwK$6obJe zeB8NKnz_)iq+$)ScKFhjd(F(tmWgH8uX*&BGxhnlS56x8!1@Y#By^j&G@5M#$Ke$C z;s46R(p=%xqIlw^m}eMI`%%6-e8~}jsTPq^NJ2bg<@9SBN{K4`pJbYs9N(q=|Bm|v z_wff_F@2AMP2`P%oi90FD-C;rm|j0P6n?G$|Mk)LmDrxQt>hpF>MOcTsN6q%0X6Ti z**Vi&!UPS%hyUDs)_?7FU372-VN*cvq05evXr+YWAsAs{GB&*_avGaoK66q%+}s2S z93*A&GHqjf<2X|WdDT{O>5|=SVSC~iXa)3!-QkX3zGJDnfj6iXVl3< zEZk-hD#eo8KtC=g#RN#qYeO_M9@H$6R24PXR-@T}Shv+C%tGVovnTpvMQ&&5@=k?@ z^u%4!q~8#{8vrtS&6Z6*VHdG-JLE4&hL|slvxp-9=;N;R2wl4!V$l&lvL`R82K2Z2 zTHFm=&-rN}tr;RS7S=W7-a!(>w(>e~yc7mv1+Ilofm-nBv(y(?klTaimd?|3P`7?U zoMYjAjSiCFK_a+Cs}ydYOre?F2;3c~EmtxvZ--``vbb}haMcoBhlod7TRGkjpRO(B z{4CabSWYVU#ywI5FJbp1-JT19f4Ti)^kM#q=GI54lC?n7F48>jL?#iWe1Lh}Y~o;l z@~&YA`cxFddapACtCTIL1$^S0NP^JEsEDxiC$cz`uuV0mRzq?d-ab<^Z0!jk;Il~# zjwJshY+aRuW7tMF;zr4w6W2p;-v*saO+N-O0-QV^5x^)M6UeJd%baAq={Qn zSQK-5gRE2P@nMQ0zrTzggQ~||+xx9tW{3~Q`HCtx7Q|0!XEOR|f+AlKzaw+_l3NeC zEmF%d^CSJ4G@q2y2p5Xf6&~+F6UL`_9{j@ zf8v-nb>`fcbak$Y)vF9xp6W|VXDUVHt6A+wm{CqN+$=h&SPiTcu(%lu{@9(Hr2b*R zIN^CVt+mSo82@bXF!Y_19Z49(jU<$<`@7lG`JI~Nd+tzEZ6$S|*<(&_^ zgp#uRFXGm|O(wN<4e7dgK8BB8Iy(-jBHtPUd@+m=*&mCh#@C6BIDMW%jM`1UM|qdd z3VhDeP@#3=+n+v88|d(hrPLNjK$^4pGP>m_?{B7_cXS({uivLi2tE(g#9~Iw9Fq30 zA%t9juo+-l(G7vc1Ht^X0}CSJO_3#nwr>V*zF0fIdkl@1YkXM!otGreFT_H~J#rhS zR00y6N<^#VHAQdep9N2nUl*+l%Uva+V!G&0VRS`W_*@QPnZO9fP`>rSny0uJpMdDR zxLrf3kHOrOS?P}1SeC9^6)F|0@MD|Sx*NwR82_2F`B9*rN?E#fm7rgJ(!y>&E#4mK zAMWNz?Z>BwX5$Mh6vF69=T5ly*OHb}Yc9VhbD}A-_7gG7L*dGH4VdXYVcyMM`PNy4 z)dEGnLieQZKdRf1jbze}Za^da-CXks*RNvYtk;~v@~x~!hSgOO>$2?DW%eddfI;xA z)RT$d5DTmmaQ+Z2U^Vx83P+iPtbT5KtvVvy3E;CF$dYV^e@0WI2oUR!k*xZDd>f&U zLfS5hh~Z?PKF}P?oIlajv`bD?4z*M!BYO2FW67|AOnbuhYyA7c13Bbwrb~9iKQV*3 zE41h^v2glvK|DY(ioCzCe99QD5NIFRj$t4IEzi~5XwgQ%q#o6xckN_S#V-msZ?(US zC-S8s<)_FU9$Q}&^#fzZrAdUao_KFE*|MB-=#*F=w=9muq3Vxl-Lrea`9z7$*_zU+ z6mAd~>)GqbwfoHbx>@*&WV>@dfiY_pB8jvKW9!e<=$L#5$b>KH7fw)*rsB47-OWJ5 z&_`7eu~=l`(J2*-WT25Sfr7$pkL|~kUhM|FDT~e^qHi;8+_l_- zJ}0}@o$4o+;5!vV_uo>t>^k$nZ2MczuN_s5rQt^Y0A!uW_B|j;ta&$@HWJwQR-uYr5dv*RL}9vTg?I-5xd|$Ayo(&SE|BHjik@#&ew-k|dLz_5StO%)W+u@!&=GsHKMk~9=kA2!Ph!Wv)_gl1Q z!rjWCqLf>8O{+c^W~v$xeSw% zKeH7-Yat=@AeMnBVGMui_Gs@|XWeM0aqb_#a&4dM_|05>Ecm=*6zQl~kvDLzpq>G5 z?>>~0vxCpn2)mFUOy+ZtOYk661|_6xud3=srKfgivm?16|J@TiIA=ULr3*gg?Yd5v zzbeW@*F3WHB&azn$hrA8;ujCZd8AGnqi5$TN0e-y+s$^A} z&QndPi0vJAxMpM?y(U`qyT`0${hl#DOw;{soEkH?&u4v!qeBP%g z#o)Jyq4#~sC|ajQ%R<<#I1$1lU9ZP()lef`_G7{L-$FUqVxCxZaI}?O)eWht*lQU$BI^;7U1fb-ycTXkNLE2TbY{W;^yh1mKg2~uBZH@ zhAc%E=lU4d0|>sO19kAil@%=#djqWbDnCIhe5P7Z%6vIh1r}v^n(#`j*jI9!vvKol zipFaYKZ{{2XiJ$4qW1Wu$U1UwveI)*rErJHBdH%7OnDO{6I9$}+?~^; z86c<@Qs+Pu2%h|7ZMS?70}S0Uh>2&4HZ?enCPsbzU|~u?Fjies(Sf}PBH${*2T_Zh zN{@h&r}W3ENa}hgO}pHz&KI#xULpDK?C8$|1XIWs-nj`Tz}CJC+E6m@xX0whMRW zFM9cFe*Osm_8_26>E$QRl2O@OX96tNOEHmNuR!d6dsL#+dQD~Y1 z$A?gR%b5#UdohwUGRzSN?>ISS)|@*Q{7g6nsy9#~nUo+TmvQ+~u2LPtteLW7eEudc zopYCNhrsEf{M@G48??o;D1e#D*eeR6>7I_N;s;HV;YI#s4oS{awX#5KI>FWK_C$B- zT$GMYZ2-PKGqh=4>VzZ$dIBj_TiVW0&?EM4z&C$aBIHAkR<=9mWU>pb-E1Cl>TZ=Y75?>%7Tq-@-O_rCbW^3QxO zv_SDj#x@){SY!-i)X>%2ihR&`G<@9_Kr-ZJYXBzpD8#3Pb@h_VDT$m#kt4Kl4(TFP z&<<~$XY?`6PMmaZnLa^hgwI<`uIrt;PS8g+43Ag|A+37(FUPs~TLVt-~7} zec<|GpYc>=I>Q5xR-6+0>`C6br~EmTrrh~h(FGe+v@7V}Pl5>(4<8DiVw_V$xhs_o z_;qEIJYOjw zS^B?wG&Eh~1{R3Hdmn*85y2l-+nVSOfD|fi_JPW%AuIXGY?YAESHa`27~ofo;$+i-*zL3OZei zDSg+mB0g%Nu=7|+aKkP6@YPR#1nQJj*s$}1-G=ECJGeoK6W0$@{SOP6%I?_R%M|(X zL8byE;yR@i9(>{Vu<9EssRaa)xj1%vyqzkt=quxJpcyYkVW$zf6&YL@qi#5~ciBbC zH^DS^WlN2-pMD?XHc!KB3EZ&V0T9YKZ8xz?E1iYGe*I3|;zD~TjrC4br3h_21h@Ky zM2QaGl*QmLCvrNvT-#=CqdJ3+t&t85Z@IhZci4RtT3-#VY}j3m5x$MwAp{0hI|WTV z1Uxn_=M*akq>?vr;wv&v`NvwNj(-}wc-xJBG(GHeKU%Kk&m6uadO@J68&ekiVn-V5 zfp)1S*z{PCY1-*W9*96E`Q0SCN5iyRZcd**=J6A?QkfH$j)jM0h{c;{kN?dmp~S+i z0zz|PQ;^&ugds-Fq@A)Ll1xPM!q~vXG{66lesIoYH(%=DP+C6VfeD%=k<0Q_0E%NwkbS1IG5J)!Bz_XdyDz&JSY3dLkZ!gqK$sW51qJn9&~Q+(0M$&)6Jo9 z4t|oX+EXhftJbe;2lRL*1sEd1%JA}TT!#xX(5FO*Zu<<_bV*TGF{s&$@!8t1Km16G znZTOZ{PH`v366+Ht6-b~z(-mpn+S=O7 zNC?Z9!(7|DDl#9A#@@!hiT4w#0cAUg7bTR~*8foVa!XFF*3pz||M83xVKt_|bCoX~ zRx}Je7dnk0tS#tc!}_5qe&dYBeK_M4wCQY~PQvb)q1(f=j#Lv8H@K9_zG%PG3gBOP zNzD8;Tm8WBytE%5r-xawc(XTDptqIn-K3kFX76+2s&)_G)T`Fq}`qCQ%iRMPa}9GXNy{g zk1<=)8x%ff+n;omXr4yWS4$4WRD1KL|8jXYEn+b-IrMEg01~N{)8Q*D*8I^SV*JtF z%=x@8rKvEj_8{2JtdS-;JICwnHG?$fe#gYX01>;%g6>58lQ@_?-(3zh{jb?hHBnk+ z(Td~`Gd*PwNVOt3c+bgcYk5pdHt#5CZZDETNd5qrh&BXB9gaz08kWw_CE>PD?)PY! z4j;4z4B1;gax4_eZ#(1{Gqp&&%;UL`x-ai^z%~NfI49cmeE>j?@uAJy957Wo&qN*@ z*7tH#j8hB@CCfl;eCG7xv&4U6U+HJF7*D7yl;ntdLq3soUFH3($MJ2U`&R6M12@|F z-)=@=^Pfa`Qil>``2gm32DYovca7PG`Li($<3E!el9fO>03J&tS82jeYsE=b*?Y80 z$oT;M!WH*gh(K7wj7qk(AQ4g~G-T=s-8eU7xp_>J*dC$M^aKj@EnsSimyvo#41i}2 zyZD9V*p+i+RoeygL!gf4F~Ty+7{^>!SqgUB_wr&GVbkCyPF^EP>sNU-Y1;TmUc>LT zyO@DB5vNlkVxh;oa=mZ#Sh(pAyFkxfp63NTu|VDjW>h)=B=Z^g$gAg4-hI|R&0k*9 z%IHtyAl;;LkuH?f+LBJU9f1e=J5GOAEjAHA+VJ6?VAxRkG6HA@31MYaad}vZaPwbY zA~>X>+YC0Jy6!FdB}$CT|7|yNv_Wl`f3(`iWStQWbGp$EYL*{%jA*^fw2C^ip%eMY z-k|akv!PXweshpVzbs{0LvkvXl~CKeiv8U4{Fuj^8KDJ&YS@JI8+;b|I-%Wp@BZR5 zAX3da+KxCyo3iZlaxaC%Thpb7G#>u4X+-0Eycd|(U~6XzShnM1wl=5^EW+_nOb=%{ zng}`;8_1+lbXLfePGj|Rg}|L0r7oTZO6ywB`6S5Xy=wcX^EhrpNCijTO6b7kT3qSn z1=lu_9Mt)@hN?y2UAhFV?tU$nom3yurd|`$+45n676G@qJJ)e)xEH2AUL7gKLfkAn zoagX@=lOGAg0YH|PJa+$sbwlR=nEbm|D`D^0PVNApoXAWH~JPMmf|;U_czJwrq9Xg zQn6&1H>c0+G=Nua`GuDM8sEpe7%#dbqK@$&>9|A*uV;et=j zr$h$@L4w%3ryH*K-2?Q;J*j^=O?R1g=ys(MjNYn_KdNd7%V!NAEGjdsl5IK_Xblpx zi}#iBef-3=f&!dD9vN@Y9;i2-;GepMMQBQz`7v-f^7_R019Ox>;D~RCwbNIByYsIyeubfV-%ClNGjy!+ zn0bpr6VA_dFOMBCDYWJ_o4w4`Nm<}uPI&Ev334zndu5RP4u&16F8i?$D*L30W?6eIvja|^bRtO`@x5Nbn7b?R6Eyy zrq3CxoM$=0<&H#JQL#3BW!!syf16(dKWhgbsm5&SwJ9?qq59b1NGmpX#utP90g^@s zd)34J(yypQOCPpaWgl?$Gy_CiTABjnMUo4n7v&bL*uRW9md<#wVis}LU~KiphPnDC z7l-BF_`(&P&zjM;L@!$Yo!J@9E4=gn5sqw>==b&cLNQnnAU5!MfMD>DUlODAgu>c3 zR;;`%M|7Ed%tP3yy_&3?xgS#gb;Oa*TjPx-Cb;siVtJi+ZK0JaW>g0#(EG^o`jaf%-suek|KR=ETdiFAa-0rkJG&xE8&l3{89F< z9}+JZ{q$}1OnZLqso%X(BPRpT95G3=vjTHx&sb4B|0MQcj6Qkx>3Ixwrk3grm7$x% z>-bDwUI33_t>@UU0ha|Cq-cCKNPl=rWP^DOTIix~B2t=aZj)3)eoRXRkN<3l5Xk+< zVrv%_Yq!A(e{PN}BTMn#;qeqB{n?!o>^JvPf}XUGeG)TV&Lo#3j3^v=dLFKK>}97G zoLcI&$yeItGIg0FCeoMG#Qu9j1RivwMJMI6?fD{*4!cIW6}e;Yl&7kQGA^VaDta4` zkLQK>=*pnGfyabN5)YywMR^#5amyY3I?Mn=?9vQ-OQI3JPDmxHV+Uje-S<{AFmb%l;&cEjUe z#hL6d4|EScA)I~4*c1?!XUmXoT;fDzcCRhbo<_mlFuJAa{yA-tn_#sxMRez7J|YI# z(6@;gN&Gd{_2r@H=l*N@OUfHA6*CU86f{DUu*-bWzTc;MS<~#ld!;_KX}@g46gZ{q z4(TXTe1#ttI=|pz4K?`hUPP9pz}mk=Et=!UfGB9};*Kd?HFjdeV?aFeyE!)$LYFoo zNr<(vIcoVR;Pj@LyjH$Sd+6=9cvm>{m}Ma(O`BrQES_b@K}^`RAoa9XDC*fG>&0Y~ z@i2(?8PVGT;yFKaWinN=-SmC(=67~&V7`oi*JCpGpOyTe=hr`XzzMf$+g7Ha{ zodN82s4WZcH#ex^Ieqv=hxM;;uUG-+64klTYR^E=8*7gq1eQ*cMSiM`b7yCWq zjUw+19p6z$&-rX{LFx+I$Kfl5MeWe5aN~(XhjfPoeuHTUi=rJyZm3b|o$XaBy$#a4 zu?zvkMSJn=1XHO|3DS}6mE;qr*y({LBDd8Z1s(3_3rR_nHw67m^5A&)2P^21W2^0I z--1u5Xk*;5y(Bu$M-T!2=^&ViFx6u3pISI~Ag#fk%<2HF@$_{>Eqvusj#Fn?#dWe0b&H z>vJ^X4zrx-_~*0Le9YkWjKvK7#QYwS<@h_C5JMjE`|OpgM7bV8S-w6_ot1N5JD-d- zw*Lc^Kx@C8$jNblI`auj&rs3DZgfPs98`*&aLY8!vdWgR;b3VPFvhoA`-nE}2Zt`;Wz)l%U~tRV z+{C9-jJ%IA!1*Kc#X_iswe=FI4OdXz&O7V_RT@KC>GE;;I9gSY^{2 zgvDp$iF+LQBWg3vI82A8GD?NlHf59$bxIE6<)e$6ZW(Ut+-{mv+(BCmRf?Z1K*sTG zBeOwqz?;hu7N1iH{YPjeQruVWVArxL3h*z8w6@;0D%&mAc$oO_!6}#-GsJ3v!FVNB zw~FC_Q>?Sh1Qfiz#O@Ik3lfiIVgXkp7YKKo<%H#UVJ;^`zd%*KC6Ck@e&$1qflzaK zfl%E?SS(UQcK%TuX1nHPDSWsI)Vngv@M3Lw8@eZq#rVGG0vMN*XbljeQA( zB!3u!y)N0+)%JRg3ZuMbp!G%lOwe+_6D}l*g{PpYz9!!9%%DTgD@sR5xw&e%fwX@} zi@?PwD43xN##y_F+)U8XsB?#jehqvd5vaXt5|I0bQ;B(;&LNphhHDTWE*7D#Sz*Zx zff#P0cpbJuWK(|Sn2Zjk)=wf?Dx_>U3+7a|8naFwJVC03g6DVRJSEnvXOz ztxP~>$Q3$ah3P7`gD!^U1b?ZdveM0NTv>3H+FWW-(KI`rLllA?u<hVsQF$rI0hMquNL6eO5b_dv+-9gZUBZo6j^HX}?l%K0 zVp1ITCc?Q1O)DIpV02zqr7HbJ;b={YuM-iC3WwdUUInH}oeM6Y#UvgF!U~|TV3P~I#}?+38@Qb}5t`%i zy~l7ZQES99)O(%Bc#XN9<<9P7v^7Q-AD_#u2~Y+#)TrgO+d-JA#CFB_{{Z4#2w@uA(%=if5C|@_ea12^ z`c6VIMs*A*=33Dk-kEhJ=3RL9c!4~qvBz@CSY?5MOfUF&h$A+}LIjGcJBwBW0<(W_$C4TMZH>FKT?tV1OO;awefTy z>Eq#;t4+(##NuN}1=(|%PR^yv^E77^Lr_YF#tS&+AXWNsgO_M-XKwdhdWiCz>6pW- z3Zx?8SUGA}o@npfDlV3Qi$wCwvMf7?Gy7a!YMvQo75)=x=}-$oGT(DDqYLqdIGN5u zKLQ+)6p??wsf`8X`i4iNQ}^5fPbrzty#j5;AMTc`Q*|!02dH(S_*nBa49aFwxtlg$ zF@=QYyNXfVQpt4y4PpV^584Jnbi6_-XV6RCW_d(`Tn-f! zwf!i&iUUSs8!E?Ar%q_V0Ad@I9!;y3IO*7bFo}<&{@j1MSO^Bi>nyVp&STearU6MJ z+pNa``&pC#{URiF}6-H^)k-(aE1~20o+UG@6RC+R=WQHG3&PT!Y4PxAhypiPvjujsaKN{f;ChE^ZA@+#(?5SAl;@RvB2utM9_LsFQa9b1@}+PK8TGS<74(y>5hMd#-dq(14@MuCCFW~QJJ zma^1r9DPg!SNI{qPZ-U8%V1m?)Os2CL}zYY^H3~S8(^wrc_2D!?+_899#dd^3uZKE zJ0*o0oK-H@wW4B8_yL4F&G;pcTWzcXRC^J4lr@b+@Tx0f8jd&imGWx#{LKEFm?PN1 zlv;5PRS`r3+^2D!ZZt)n=1e@zzloid8WV6g@e25yx$b5c_be2tVMkrFQI2AimciD( zA(t^TiN{ih4SXJcDUP!UFHFcXa|}hjRm!Pf?qoe8sri|_oC&yo>G5ku^`TgO_hG z(BEYGFYhH-x1Pc^;bTycm%FH%Cvi~A@?u58D>M5{C1{&!v_e!< zX>cBJ;Q*NnDjPQUJB8qjb275eF&SXo#Sa8mGlFf{%bgPKxD!e>0}gke-B4=ufcZg9%7-v5nZV^Xp5iK& zmT-rOM1rT3(Zn$Z#mZ1&+@O5JaS9q=Vqc;cPA6FEtzb1vii^S;0W5}6`9d1_KB`%%#Ah=u9 z$65i&Ggukmh;j$i95!-b-=jc)8}*=VnqED{YQ$Rr11#Jwj1_95mQd7O(s2XOPvTPf z(Q73f(~;3l@9{{Z9?2fkcP_<$g zh86VyqDyq}CLqwm)UlN7pEBj}{Csm{!(wHBH$3Dl1eSOa6gD%ASvZ*wICi4EORtxi zcXH&MOq-QN(C43nDs1|O$kvka8oU)Q#2Y>vocwhqN~+X3W=#R~fkXol4FzQL_bDLZ zT%ud8o0pcV+W!DZqBQm*TdF-2VQ$rC(wIl=n#F{M^Z zMf8@mIn1S3!F1*kw)R|Xfb5Hgsrs6Bec$sItd9z*kXm`l#Um-umKMb2jf0g=;dGzj z0QHp}&7nogb2cCpr;tk|lZ)a7$LNa`2G3H7VHZmw1_Q!8_}gS+l@y%7U^P9hFIZEqYNJ@Qh?axf|SAfiY}IE2ziT{UlH<*E0XRi z^Kf40xN#0P&|&i`l(z|mq9c6w@yGl4yxq*2j=`u)nC20=HT{rnOb7YYZBJ)M0RRg{ zs8!AMQM`}%h9e%AQL&kn@F7w&!>d322#DJb2kvE8y_H=;ZbBgA z?msig;b+hglwuC#qh&#jgL&f;`(9OuTHsY+<$~r6!OHC!3}3}?0yf2{BR zBBrwpg&C9=m^HUL3W4wliMfni=I1c#a|*wl)DxBh{nR>?u$9*0YTMWo005l1nBfC? zH_Qix;DZ9vw%+Errr7!uC!Nna^KHwmV6q#+2ra<=gyse{;oB>PCj$z~$KqEekJnQu zWY>T70+yeLxk_8;*z96>ZgM&R9! zWX;473g*~_L@RK_+L-#{3E3_TVP>^rs1LDNKNdY;x|FW69yh*x#}ADyw3>X z+|hlxfR`wVn*)eRj9aKTP)p~CIt4sRmV{=++;+A>z{9@c$Y^j(sxVVuL$po-<8Z*4 zQXsuzc1Kg&%vIejK!JKOX;LhPI#@9#X#W7+#{F!owE!qIjRF~Mipiv9RywJGbmlmO zEh%tv#0$;7XZM`T^1m~ZJ?<1B`|c~urp*t_0O3RVW3(TZRhE8J24s0AOD}Hf z!4%eGrUK)61H@mLF!cIuX=&i{<)o2Vt8MO4I@zz_85;|f(r$}am=tP zj+Yj~*}*Ch-%+4WRnaj+3oC=bxKfT@BV)Iuq9ysfM=s3DEd#Co;VO=BP~7`6)4P~) zCApU`(B?*#EOOgZ8FR8#(~r#YqPTbaNGVPo-w!&8Km&#B)^ph&-CXnvZfJHJdt_pegQB;e8=pg27_r z7((RTWJ_&F23L!5QmG@eQ309QG?mx;2A33R9}`jrrMYxtH?{uBAJ5&l4i9NfTToO9Kk%96g6xV&WNv{hWl?HXq& zeeuLRLfov@D~S$_S^IoEP9x$fmPT23Q!93*o9bXcwBAey_=Y9wQpGsRyu!p?OP~V5 zheb-(LBOeD5bh&M@0n_c2Qja^@SU-=!L}^5smynXVk`8TP*p)z82E^Pc)3-Se4!(1 zO0?4i)g$mrBkyH_FVim%;tMd;$`QAjvV*_|b8Xs6?bpW;0y23^PDB82!R8Vwy7e(C zoYSz1=`WRAN`{pUM93BvN?RrZyrji?>R1*c1Fzf=vs1n*Wt)!)PA?sxaMt;rT)bvp zxC(>b{{S0-X^Zs_X9TqwTZ)H()?k3Wtku9;m9~jd%06!ym^$P#*LT~AaHema%`(}| zOrsO0Q)(I^vRuEiQG>bWX9j&xxo#qCrVmM#6y}J`o1A>tF>|ck#+0atFowbPL$ zW(vf%uW_f3<&NYrvKgP~mTr^XRm^h1`ha&{5OiexCCXr^oWbe`YWtRD#(o)|d9g5S zo;zIN3n8o(>xtxm3R6D%f78rwt z$Ldo4#2?Wh0qtGKZtArbBLU3qw?b-p{$h~Xj-c6ZcuJdT7$+wQj48CT#6V`Qq8|ah z_bj#A&Lf!QBb!zbRUKSjrub#`xrNa=paSI~Xm{clbaqpaGnfo4Uq%&N-dq@o;cb3ZdO`nk*uRk?+9 z%_UO^JtI&$CLRakDy(oF^%%l|#HbjU*#k*s=037alN7VH<^WBR=v3>?%Ufe8iD80K zeSYU49vJTYE?m)lle7m9iMTjIXOZ3t*4e`W@OhVmC7FtvrSmnjJV0AIn!`#iJyv;$ zqWWtW6Hrre7(cAQ^8G+-=v)!1J9RE?S@y(MeMJuAB{s>jtxf)2XSwzZ!8#U zDiE2Yk(LDB30$ZVb(-MQl|vI8hEK>wj<{2x0zG?X+wl3Y!<5%YXqn zbj=O*MWaj$?-9Km?gH?~nD_j%X}^6yT|Zm6SJ3>%*P!O$tRDCh`Ov?DQYT@S0_Rp~ zj1gCf#16mAL`AM~Rju4=E|u;i5;Cb=rwuM00(S(u_X5PW>X>!|v^i(!f^7=biB&EC z05Z*E+6H$8EN{feP(sXi0mQ7e&wWL`48gi<+%pMovP13h2-2Qr8dLQ1 zufPrB9T*o9lH$FwH4SlaU{l~kIY3-~6uv8K(pCA3#JawiOSxJt!m^z zTlI)#AN@)WU(BVs!zel_!3TmziZApNLpC>C#8f>vIh(sJdWqt1ob?&Nd(6354gx+* z%UNJvm??wARG;dNPwbVLa5n=EGDl0}P%+|I!X+#Zq~e8siHy88nM6zGyNC+}DD@Y~ zXSursKf#!?h^pk~ENPj&+tjvPoe_2I%;&Cy0UAq(`HAozD&T{|VdX1DE^Y03zv?5_ z)!Jq*YMrI!zb4{~kXN~mLDZ{Co0%%$P3Gn#^iwzvDjs8M(Zp?zRd)r@WfNb5D$vf+ z02m<@#KU20D!X7RS9~$_=49DGcDvHh0Xev-c4&z95e0_ypremmDN-!yD=POs{kT#G%h83?f{{` zaCP`fNDEk7&G+0ow^<|fG(Qk`(z!UnX!Z~UdDxc4tVfXrV7wj~SG0n027_&Ur&oCcYP`EF7>3)a>NvC49!k;6C=zp=4CO=-ISnNj^H#a*%B<( zq8XbWKQe))1@3QulnXVed1~hkO%ZP}&r+}JnOozTUEB-S^i>hO% zE~*y}N+2-GZrx0ijmjkD&|(fQU&Q>?>R#(=m(iGN6=gBvJq>i1jNo7>U1Moe19u&G zODMIN%*6`NXwk+wgYA0E+7WJZ6yQ_b%+u!O5P^+p(sN2C5IBHQ3dhnZk%@oLz&OR@IG3M>tC?1B>NJD- zmzDd0xTg*N3C`n;McZbMrf8z!zOM|XoE^nO|3P|cJ$W2?Mfb}3&eHgy3DwpVS;A-)Epf`Ap=ItMmoH7hAnoiz#Cg- z2$a(>XxEIas!HBi(IY|@AM-1{!El8)@2PO-rOvYip{#I*8o_I*6sd5IZ;OQ)TlG?w zv~%t<$*-vUN#QN0LTwFq!Ic-> zy_j!3F)K&b9r`oZJDCM;3dLYeJ0{HF>*B28!I*iCc$S%9j^(yf?sr^9^%sIWskb-; zy(UY{O&Nyr;$m#Jz%vBjm_!R03Z=g==M??LO~ayAS+_fd4Ld!+k5U_dxuj<*(<~TkP~pKsu|N$W370!9q|6Al2*%ab3_%j%zpT}U$iCK zXv{z

!llZZ!(ISS7;mnR=yLSOJjt19v|+{--+p+_9$?N)83Pg7_YKmC}IyPh_H} ztV%7AyicY0j$%;hdPBCq69WCmBF{*brk)74R1|9*HwZqrZ1|Lzv%fPo4j%__*N6x& z!Qxh8)nXyQ5}@X1QMp-}4H4H+(CppH3~#BuD72Lzvbpj|a18D#UX8Fr?SAhcm0Cx#vN25vq0AM9} z3+T;uE41X7k{zm~;xgEz!Wl$LJY_2xoI$V^7A@PRF^$?)O<)|Cx z8o5B0sa|1`ms2XWcNH)U$G56pdHlm!-Tg|SP~BX@FQ7-FAY$iuAPd(l%u4A+QCt|f z0Q_A`u)9~!e-%`*)sukASF|v9R>=-TBdce4bWVU+Ycm_JEQp`xQLJ?>quklC;}d2z z48>~(W*Z#7qed14s!A#5740!E@MBw+i~ePF{wBE3_JVjf)bsC)lv$pb%)k%$2#a^+ zloP~Xh!D&kpzSW`#-?8-$e8uL{{XZN&#c72FI>wY^%*08t+9xfK*HaH)Vre}Y;Lyj ziEXdXGcsFzPJ~^b0R}%LX6-hb<;KH^;_afP8+gX6>oTsT{{RV-5l#*}mJ+QF>HyNp@G za^nr-Q0U>$iQj5Y;G|hD{t;f@l^2ve8D2dggZP3G9I96X^UMc$qcFw;aa0^O%4x}o zMOw^PpNO`Q6kh#BoJ_0S1^tqV#Bv)dZ?{>lQIb>}Kay-$C>uphQ4+Dl9`QI_H<`b1 z1ot-o08*yZx!q0i0?u<1?zg$8F~nARi=nSDqWtb(#_5@{L^1-odzIt`W)ZNdn~xGI z+eNWQ8ICSTECM+iF$bg#=AccU4CWaFIGA=hwxHafSxkr97vJ`o1%r%7l_oMl1?(9K+xzKuBFc0i-JO7tC-ec9(HUsp2`Zp}smy6JCaR0Ol!K%@6^K zjbX0XrF~;ce&E_x`I%m?Qj4`vL3e-D)SlUzS=4!y#ZKf1Qx()|Exaj0$^zy*jPuMH z9XW$=VdfNV)7+w;sDgu1>3R8vLN9Sj30LviFPf{C3gRJU0hnupb}mt}o>0rl)$sz` zK}ui-PuggvrFt_(=eJXB-}g*4@x97DTs7(%UZ(oOIC1qqx?$}DIfz{|muNw9y$>>q z2lAg{&SopfB5VNMCkHNVNkJFi1|h|6B}1@?aA8YrqJ_Wm`n@qXa+iE zpX_5%Y`u{L)BQknMwYDCiCYCly8X^80TE?p0h0leVa#5QdyFLyD1t5FGdg>l5VYoC z0Jok96SbRQm@jmvGN2ZI<#vc`#T+n@Sze7|ndX`<&B%xyJ*u`<4t~#$$sA)y1WKtXVHp++Ub2_bVc|4u@KsIf9bE6M?2D7xciG zXP7Y4Frh2dDyWz6%2Sxm>Kw#e;%zqNxRSHhe^UUTh(kigClc3jl5O`C?v|;WsQX!A zvd03mIba7B*Db2X2B=%O|V^ldx)j!mDu_@m2I|YDOz?D)5z}?!lT3z9m;NqxyK8O!Wqi`8s&vF?pS^Ia~{ZjPDPS9f*xi1L)1*Tqr;i)5B~r}%4{@p$9s8)K0Xd>Ih;bH zYtyN?QzEn%0z0H$^VDbe1CpbCbmb84_6Tt@qvk{gsFBO3_wnbB@wrj^F!+PqX0)_lqUEX_w)w)mM{mGnTb?v(;Y_$OGtE~cP< zBUk6BLceUecg?J=3#?g|TlY2}{0unxto(b9i>cA(Ig1;Oh-qMh-$X%Gm+>)7W0^-q zLm;WfC5v%XKFFO*XA%DZYIS}Iq@`vY%id)&Ow>b##S33IF4*~)OJVMC9dRfEnJC8C zk5P;Vys&r{AXyenXijuS-n7LogFa<-!{3iEU^;k}*E=%gZ0%shkyp1L2LTz;f;xca z6c;AbRS7p#Lsx<79OTS!`f^8GOkZ#XJ>}ns=sy<<^AxA}KQldgRly0~^DiFTnzo`* zQ@1cNmZmabn0PVH=E2Hgw#etoJhv_4k2CF=d0}4RtcNn5Mrtan3&-jS9dl*`9oU-* z^05nH&k;PYsFW3*<{DnoTU+%q8yJJW5pXjtTu}w|VgCTY#Qy+^bV9kBmO_A~cPT$Y3ockUnh>#jNVDB= zR9MR^u#i;-yv#^Ha2Oaoqq%2@Y;evcLt9~r6~Y4{`f(zNdm<)DQBC%5GLD%&=!^OPR}0WzDdXr1hfLB%2sz+CX?N&3(6hH_#jf%;FKG>xX7f6nY~Cc5Ya2C=!Oxq z4e4!^GWmt62e>tI`W;VyFZ370JkEST1DdT9#0!7S&YbyxF54&$ipMbO8`K4c7HPop z!0NRFVXf3iO|i2w+%!k>MPFgYW(dbRzuFeL>NF+^X6jST<}5)AzT?WUjAzub%k@6W z+~(wo&@|Z}cDt5h>!Mu@1j(HfK``IaTmxqc6^epYg5D+{xKi~zLW9leCWUO;d784c z3W1BPJO2QfLXC_4M!U5mpY`P}#Y?d}IpjN|B$5{MC zDwpnfpQt$=2bkDh(=w=GEL@S~8l0v&X4cEbgUkvZ_^E?>dVo1YP{6A`vQjM$1E`7% ztZ{Ka1pwwCP1F>qlogAA1g6P<*p%c4jrfWFH~^QVN4ovNT3)Z!fu%Q*m7%R$*syK| zuT^Bq$(aFPW&Z%I+@l~Z{!HjD)#5d_V8%ng*X~wQ-tqqcKk`F!IivtARYG* zIB<#_lEue8$2Rr9>(VPtb1YDmU%!qgGYi%_hZ50&Qk2KiA$<>%1ebo1sRi)>t88C0 z39;W1wN%V#>sLA)YIqoPE2u3-nRh35Gmw`u-f-$BbAUODN=_9@oi|h49KWEClT#y~ z=2iay7^1M+3AdLB)TpirW#75dRzYErc{+mh{3n7u!0)VhN^hmq$Q6)>TIInSg9b%F z=cxUaGTc0xMSu+3n}JhyEN{$V@_$TB1B`VW5e2sRCD%k5Vh4M!(7uW7s?vVqD0T#Y z5ZJ8+rv}EfMOz1)lDZ2TE?QFJ7V$s!;skw;;?(S0WX0_2;{m=rOcQs>F&1E4YFAZ$ z4okO5?7Xy-M0C^gTusj7#cX zO2_m%j<_bkw{-vwF+WOUDREN*Wlec1WTwiIK{RD8+-4nlmR<3 z&KkLs;G4;oY%@LSW!5c&4h$!_;^+X!xRqVp!cP(Hg#-bE`It319ZKXHRhyVp_qiiL z@`V)~s0&*AlnmO3S=<>LZ7sqYd!yD4O zLM$~eFiG!G{eI=N3tlF2sDxpVyNs-S82COAgTcc!EbV%05Zpe@2{c(oIJpL8n+JT% zWo?R_B9Gb$5{x$~_bV*rHqXV!LvsjvARp-jOd*qahirEmalRs8rEKDZdV!6qISAq@E2s52CHjYsc~4ejwv63HyP{FO58MtZyylO!L=9DD zVmRclQ#5(c+|M!+dWEHttH$NI)@hPiNM^gbDxl8n*F?9zLd?IjV>U;^jzziu0BRw( z+|SwxN1DT^`|1txYzVL~+c30fy}>DhbAv?+;dq7H*JJ$51=6$Jzz_RSEHr1-s0zH~ z+SEV;O6oP`1tZHl8(5hhLaxIKrq9^TcZR&pj^C&q;-xKjuRde86n`?& z@3hB#M!1VZZ^F@!2U$qTUUt7VT+2ryhXLZ)@RljC$pxI+)zN zLm%+Kw=qg#A3qDK;uHeGF8Y|zCU7E=!Jj`23KhAUf~BOmfK{`!-eaKVRuSn@${9z* z;`cX|y<%3EaPJCkBCkyoC0=(g8CtGnGlj%Tr^Y5+j%Hp)rx=Bf>d$bmAkM@qGV-}) zdkYi73WTLvMj7oJ5AF?*X-m8eu-a;Ha`i0u;*sEl7@iXsc$>s7<|+nIvntNZ4>1j} z`eS=bsHVgBOoMXik0HSDiV@CD#=<#XW($Fc(u)QoH#aO=n~3AE!4+?^YAr~n8ezc- zkdqHRPbnR@0a>=I%qrErLuw$Xq)8F#bk#XAfdD>2WIieu3v`+o;>ne!DL1Kn#@V7_ zp?%I{mzZv@Rd2vyl$JQm9f&%eW^svRTNjR?Vo7*l7Zlcmi-;=6a1E3J0J^l_m%m=55nOAQdaX4sky z1VFd<5z9M@?bu_}ut&q4CJfN~mNK-*RLpc~n$p)$%iyov>K`)etw2}KW_98s;T$y9 zVL`t!3>b~~+G0|Ts~iE~{HG^|8Q_i0Wy$-P)0{@LMlL0-P84?xO&;ab(VbBvFB7;k zc_Kv9Z>RmrxaEr$2~43GnP%pmulS6o5T0dY-k%ZC`O6W!%gE1B>N3tadt%d9h|CAf zzoVtL2P^Z z>HsE+;}F{SW^Q#j0kX)^;dPh8%HwW2ZJC$5HItGhCu~MlyZk5TY5k*#a=02ULUZ7O z)~4oB`x^l{bdKS4Ryvj~)O3v07aR9i7>rZxn0I~ol*O|tW&3X`H1meR`uKf!XkUgb zg#&V(P>c$OIGENu=3d&_%3m|Vxx)?3{{RVf4`5*-rVCHlAi9 znmOszDo4=+E`GWou|d_*zC_xXnO``Y$_{c&0TUj|7FtwMZT!t3c#aPL06hH(qWFRZoJ8DS7<K2nLH40m! z>Q~eU@hA>OM)0XK6whxg0=g9)BV59)MwTq`iF4_V#Q~;w%>Mx1>1u{Kmd_C$1pfdQ z9GU6{W;x{n8RWui!TMO$X*D9C6rW z^Wtgv(OQ>iyyBvLSsW>SK}GnBQ2c5OS4S+!OYrI{C1VG0f|$6lvE!V=j=%LRT$Ccm zL~jZz7R+U@6QXEIDR_8b%V1Cix1WKU%QH2&bnD!{E@~OB9Pua>aa_6Y2YaYS_4*KS z#pmcuTq$H$CDdBxRXIfseql3(gi5A+OflbAG;Frx%6qu;rZ8>64Pj%TPx0$(psi{Plpa)wa1 zUGoND#c~?<4svQ#*jdKlWBdJy;M~OrWL0s>f}rj$x%Cc7V5LwM=I3ha_sK6U@EPn*c1aq83;e2=0K@lD0o9SJA5j*cYqTD=zwTKH$ z$0JB>8kL4yM@D3BSnZ8RD6Ss@Y~p%c`;2Ojxtk*yFwKt<4UPV15HnH4%7wz}d}x^n z(H+>Q(p=!Z%BKX}Fo2B${{UG6*7;htwJQ(MskWoUD`7oHb%n&n-zjsMXnb^)Z`9?8 z1zL3-Nw=7l%M7`>bOi);$iz9sURX@4an#&sKUg&$^ST_X0n{KOW+p5X~%&>&rNd9Fx5@KzfSN-~EVH;YZZUkbt#smD4@pqV59`Mwck(iFi|& zX;%vE>QkW}ZfulXc+O%`2M9E`SJ-ULk=zFfnYHlsZ*N%$g>vAvQ^(OQJ8+Cs724CFo!mUz@9RS znHz&bssOVdVwx>h<%1*4dqpX7#hUHZR`|x&e6E&Yo>q3m)|reOX5@|i)hJ{x&r*m% z-NTJ(!J8om(62B7Mpzwto1l?fbZqWD*qaN5>oNJ16mTsTMmW^KN*3^koQf_KZ7mH# z#ks)_l^UK9>a?H47gi@D$50MP>R_g(F{!en=k*>r=3@5%R>2yiDzfu30eOoQ1g>TpW^Qov0L;lMXHHGwt9`L9Gb#83h$AVukP8fv}_Yf?dE7Wrc zh~hDZrST6iuR#$9r0OL|5qS6p9LDn8Y|3klM>%+$7I=soU^%^TS%CWzq8l~nV zac@!V&r|$_4NPysWXz${5}#rR+%J5pSe=-_eG?F5txmrmG)tFB))~IcNpx7nOq_4a!>wo0_vQ zXB&o|z+P?yW&-)Bw12Kr6|OOHRWFjHzey25-cvtwvN&Sq%oJEN36k$(>E{ z(1y!%w3I|wOK?e=sK56u$V1?93_8?GRW|nyTyezKU#X?C#xv?3ZA8%qtxQhfZE0Zd zaWoNEbu(BF(=@^kCPtBHR~Ey2ijdZ2lLv>Hb)hwty|pY6vec?wYb>fB9DfqR$`#2d zMXOQ6v>8L`?qm&N3Oy9FIJM2@T8=UYGR!q8#HX^NmH4MzrUa>&m}64Q=;mVkT+hlT zt9_%IEnLKKb(oXkVGp z1i)fqvGK?Z&NUoPr1dI;t?N?FZ#$cTa9mV3xR%?Bk3?)(>Tee2Roo`5z|S#xNUp1{ zBEqiEaEo+);+Y_>U>Rz1(bRR8Cv}$2u$6*_PHsR1yNxV-Bb~HW$|fTh+6-%~!n6x~ zLO7i3)U+mt5km1+rE75F3si?uOyq%ecP*NLDl4S5rwk<{)G*inrg_R-8+b#$A|%2;u_kfr;q@%)vh-*lL6|4V30FQXF2YWi&M^z6s&600f5lUPd6nUPGj(0HgLubIHFHv*>MF=H(zDtMQOwp{!X zyoM;4ptrd|873Ls`IO4yV>Nyz1^p%gVSKXT=rK+o@FMwXFy!Vi$;<{1+~%<<#^wsR z#)2aTG=;MB27E|SvV(B`@xgTS2F_46iFl&~%WSGA5%C|DRIRLX;w4_#m9k{U@c0HG z+yoG9YUP1|gTD}Lx#}avBOn^CTtT_ZRlk@@(qZub0EnxGKN83pV3jn%Ux>0)BWoCZ z8$^UT3j9PY7pYAobTeWC>)8xXEJC~@r#t(Eb+PJFKhubtrG*nU-ibhLp7C3%4sM|a z@Od(hP>*D%!4-1cP7mT-+^|;Jd%BhfIYYE2c^7?V`y;E3(^NrJQ=>V?W(7=(%K*3S zncEy52p4@*L;fJ0BKeIGZ`9A7OMs}+XBrS0_lQ?g(9QeZ(}Yevmdi z#$oqg#HqE?P0ol)q*&u?%uzZvJg4mhyeqjvKGQN)Bq{}o{*c?8FkBIz5`xC>#B;NI zk0%K8i-F_wEDTfb7O0}E!ni}&tq;V^A4Z8%&F6CHCg`M|97_e_A-ra9YuN(C`VcS+ zqFI(_M|+P&}&bJSeQ+0qi){#ZTe^BsfHsAF~TTvtwtmT#;kdHAT5NOcy(SP0_& zpmuFP5JW>q)oE;@}|d%KAC6K~)lfG3ABkz9#lx9xy+(SL-& zQMV5g#WF+d5ea#zhTr(EBcjcUiX;npzNLiss7bSrQ7yc61flsfYm(RXW>BGd}j z$MGv=nF=9UT40uza&Zm^@d2_1>Q)0Gypr3qE8#X^n<7hr9C?^4 z%&p__a}BmDn0`sELhs*C6Q6S26Eb*|(E5RPkpi9PsCNM4b2od}QP+>15Jv6ni>iOP zNIb)URrSPDZND0nH<@4pTBvmnHbH>S&Y5-D$zEmxB`V2SH@MW4ZU=~FAD6((#8{L_ zaLOW7ePvKv-xqC=BE_LaihH5Ki+gdmQrro&xD+eyP+S@uYFMFY8??9tg8WJ;5Q3AS z!9wu>FaJ05KD>OnnaND%-aBXSv(Daot@X2}uK?iV$O?o1bea%W2>5_U(T$hHv>!G60jrw+7u zK==fxmUp8;FMDXp4AXxCRW8!FdUX#F)ud^hcxchgNUEDApD%bJ8yW>lni~$hqb?#l zbRlck*`q#TDO~zCq-&i3_>B5NTI5stbk4G0%Hp!Pv+mIPeS78>Rc*|di^sdBeF15I zz*YU#w8uplylno|zp4@=E}VPfwNDlW`vomNGran(6xiY0%{Abngw>E6B`3=I0nPFo z6~O~2xx6fUM<^@W&_f$2W}t=a8h)LIC#uHlFK!~BxNUhcew5CSvIWic6?|s zCl;$WCMtu zesh@Oi#tAmL);s(!&mE(EvXhwyKFf_^V=RC0f>J_u*&|sKtdp(jV}cX!)Cu{+LV4A z{g(^Q9XKA}oJ~TSKIs9VO}AuE*hZ!5H)GyIkpo{)N9q>I)8)9=zVfA#>+C; z65sGyV?3c;lV$SO`(`(l&w3g2AIra@CN|4dUHXpb7V~&J*p~qWqvf3uwHW<>l)xw- z+B)tbGuhA+(YH|N(txuq&Jn7K_7G`cR99)zr|!MYK2GMcGohmyPR7}}485a`ksd|; z$Wcp>4+A0m-G_~L1u|Fj3jHCxyVT;Q^)K!LgpXYNuL=rG{2^Ooxexwsy|x|bthKT; zsZF`1!%M!*2M}F?&4ihg2#B?o{>u^ca!+2PQ+1{q!)^nO%I&%vwpEmaL%A2b9E z9l!Fw<9`jh6BYZUNkuhYu?=^6o#VwaZV`~gGKs!JIzAtalq)pXG=AqS#eE>E<(-s& z=*;Ux_cj5!6T_)jlmF|b!h9a1)kk&|Dc7Lg&!|6*$Kgfzo;s5 zdP^O8AJk!=3OahsDT&#xop_y8+5@}o6E$a#hEEK&u3Huw_vqTZkDgE!C|ALd4!z3 ze@pM_VyLK}985Es zGQ%hRpUUHOD|34WhD;^(%9N)gE zcjCf;jiU=8ma^=zU%+dB)|S?k*E?xG(REpw?rgOAE%Kw|7VMOiRA&p9++G2b9@rQ4 z*QmGvlsq^{Y5T?Wmgn8(*bDC8?MVuMoCF=k--ODpri65J%Af=e-7NisO~H9En)bWz zKT&(c@-H)pA6$%cUr!ovg-%mfE(}*O;*3+xX|4T2Zv3e0E!>w-ZfmT4yi#tD&KPGDJ2uJoH_x$l*ZTqa#~Lb6-+yKsrbw z`0+rIWFZt^?-#jw0E&msT4P^%Zxkti^k1a(Rz6|{q4ttM0ovm%2sc7@N z<$10VrZW0(c5}0^FhLP^ddn9PfxkJ?n0T}{7_otp8JE-uFDCra-TaZM$YQ4;QR|WP z)|;{RXE;@v5SpW*cOA$O#%=dGI_`x1fC-Nic4;fq=(#PO*dKwuH9U?>CL>S6^JA+i zx3~q2yCOy^2jCiNcGzbLVd;P9pz07i+qV9AK|j*wc+h}h#^I);@6zWl6M)F$3CkLT zuS&8-5IYZJnX4tx_sI=M=YQO8PC*i#J_CvW(xJ))H(>83Dd}grt;TD2ycFUaN}rul zBt|~ZUdViC8)cV18Df2Utl#>4zf$hM&$WZy*CnaY zzzOGb);=7M|P{Y&V5(d+vFWKeKQ40K1+OO@rn4a2FRX z`Yjh)U^-NK=&7$LCg1=ls(F+8v81B0-c!Y&D2J^w(D$i_p(Ihw??&1TvN70WnG7A_ zV*jUPSekbK4fjbgUz)JTVF@Zg@-7J5N9)pXu&no!dbi{L3C7U0n|r{TlI%3j3Vb3< zGHlko_!;$z|GLo9WyOI`b}D`;?KcNM5jy{kCtF_ZbaJ3haNr1c0Ye6C{p4|9O%o*% zXEn<}zKh9nYN~}1^#X`d<^$Mx<0U6Gu}s6-ckxX+k)mQp=UP|W4eF*jryr*U^6V_F zlI_3;ZVJ43!b{>SkFm7x?Hym*)-5t5m9ICgk8tXKvs?sz94?!Dz$;4bJW75C?J6-%so4*uT>sAn{cmvc93Y<+-AO3)R_XF)Oabw8S5y^Sfd1vLz$3R&weG0 z7zIs)$m(-DVjtJf5nw;2Sc}Y?MXgEP2?o!QFCSHZV=SXeRMk< zL1!i|4M6AwCCHf1-$&Nhs{H{)idAcSnBpA(zx!08=sz?04vlNI(00NIUqAM{Fy3Al zvE955y?p$#cW3ij$Kiqc(vnU8rpXtkFz_e*McLY5Gqt^q&O_HkD{kB4No?7QW0@ZH zU?$4>;7~vijYDZf-$(tHOXnr%G4e(DauctPmMZO=DS7*uY0JLEvpom*>5Zmv`-R7+ zfKu9v)C~-Gvo&ZDCRw4>v}G!BW#h9y3RGy`dy?9orWrJL7|@$kq)?(t2LTv}>ZDsP z2U8gDz^!G#RQyx8wgWGb_Fz#~7iFEL(E3vjy}-H3kAvitwg&avS;d*X)z)qzqqO@D z4D)CH5)@jZxF*TX?S`hQ4|atl0xI_nxjQ%ZoieG*2HyQU0lWU%52# za6>kb{(_eLL8EC0N6ClY*~SqT50L%Ve;a_8K@)IBrlMch6@ z4tosbX+xU*k;63U)l@q)35IS}r7r99u(ErAp@I4{x}2w+rawQ|O?)HutLsYqqseg~ z@pR*|uzP=Kp_jJ4iux~5OCZjSZt~@~y?}lRI>HB&GP%&Sr&l9yQmc5sPqvabcfe?#Z?T9YY{~W0^|Ua&JNACVZu4R+2D4pr zsDv-NRjZ4ytzTjF8{}IVX#c*H9v4j86h9ao*8S8=?T0O-fj><%TrE8K){z8yRaHo6 zk;}SOcP)Fh6-Y1gPa=NnlK_LA0p7#Zm<+%f5<_Rp4Nhz}^t4#=7U>C4)aiU-Mt zbLw_VK#^Cae3ZvS1y!n|$~zyq&0Fee!lBVb|W}9GIh zbaGbkw8x2oln$9b2%$`n63;)SU%Iuex7D7eixZ8_7*{i<#vBw%2>3tQ>`()6$A6>- zkVa`YvJ3=-eyBNN$z9kPGWWt1*T6E(EPN`FeM3~D1%z`y4@rNBx5{8O6L<4}c0`zq zIcd067Jdt48~BVixGLb2A+;`NO4Vc|$$?=FkYV~Kfpm3_Z#^OA>7SZC$_6#RU8Nbd z*7y;MNZ5jHak%(`eP@Gl4i$E}u49WQ&cf+gI^o!xEA}$keep!7({nWt%=Bu&{;_s* zwLXpN>6UT#YVC)SMGwJWg(Fpz%0M!`WPp3RMq8tBDJ$*ub7wkJX~Zn0&^J zGeL!%HE_r=`a|U#=$7pm&SYKxS<%g)h(68tPuhh}SXsA_r?qvXqLOYdLSmYhZ8dQm z>wCa6oCyIMzutK$Hzo2~Aoq!X^x~@v zlX2zOD(P5WV*#nN2ce+lQO|a_lzt+%Dl%Y%;lCDJabbM2JplF&HYW5$*Hm3>L%rM_H^ zbie*2#?!xdi_3%U^Ek;nFV+|JGlPyxKZzM0mdY9K_VB(~bbI(hN%?Z#xGqBDgGSNi zh6m~V=s~fmlcO2+#Ac@5w_dvEfq@SR9(qpDN?8t}94OdXmV6)5B{tc&1a4TVrWnjI zPka&ksYg&l!I@ToN8tpY7=M2cFg}i+U9~kx^*w!BobW9@ ziqfFJa;dhn_V+EzWA+)ErI%vfmgyx9ar0c~KzGmKAPIZ!qiY-gbpqOl4;WrsR*`>? zBo^;$?xEqux2#miArnpuYm{;=5+GSn+8l?enyu(RQ*q7 za^$UVdstR~yv}E3%C+w7`YjQt>m&P=lb6p8lz*qJ*LZF#42Kn1%R0}>%W2jczgV@? z6ZLi3ta;7=j}w(>SWHJ1Om=Gy7WhAvfB*9{pliuvlwzDNHBSsZ@P$Z1GcznJy6R(e zn2+a8Y{vxipPl@VZc!k8wjqzdQG9<~@W-D744!6;Xht!mzQ9f$pOOyj;xuwwIR)~% zyYA9hrUP+)%Bf{!EvmXx3kdN=v88da~60qHls4s?nc2T;L9LTH8VaCg0&kP3GwseFjyOwg7H4 ztA1%JY5ytx7G4t3cY|(+2R`*BJoN~mCSp`?sxZxX;toVOKDO)}N>mJV<7ewZ8Gkx^ zJk#^pkM~0de0cAblE=4y_kgQHsTc1Zf(RltLL;@PJ%?~v5>X^MR8{dGPOyljq5abO z&Tr|R2q9Ty(Pa9I#t>tZHy!HLkECD-}t`3=tk>$Kenu{k7b4(U9 zj2?~*+U!|9p^Q{t;j}s55D}@FAbDo-zRc0aPd_t?gCXFxUbo^<=TgjS>PzlT}`Yuw}sq|usWU*e^oeR%S_Yn!>z*SM{ho~bw_`2(Z~teb zbd?e_M;O2K-NQHRUA!We{r5ybUvY-rME#>u53iM86Z0plIFA;jJgVSD!4gcm^xo`6c=hi3Sg0eH__#^;NIC89hF|C1Dkl)|*O0rnH~&g&C9OaHyA)wRuB z|1YT^^#w7vX)XQW$C=-sA3jBSwx47UN(&e}IqE8?z{>$A!US~5?51T)>vdu@`-W5^ z0dWHVwpdwd>O6t=C(~x~-bL@}>lLtUQ6gKVo2Fe?8@*WKGp3X$Z#GPVByU$|u*xDd zzJ%5d95c>atUsA+>*T16RhWWAJpu~{R;xvKve$U|D_F3Cpqn82c)M1-nA@wgTS4xr zSA+yvVzh74)$Pe(^hNCS*3GgmkK9I3*^0##{R|cN8j;r-yBNP4Yoxs@$@hRP_PaPTvn{emz&m!PKSdkLSgJCS6q7XC*~h7%cub-cmbhF& z--tH;t7=aZJBht~v1G$1*Y9dl>v=3QEE?4=2x7=wOcg$~*0qOo`vgzKAhCa>m4 zm1jQouLd6k0v85JtU6lgW1 z-S&`jocB+P=#wD(ExU66$1m)tZCZO3^=#kzJd%+pz$~^FNvXT@AdV8Rfgb{Ncj`Ih# zDU<(DT>qH9Q0tLui3YLXih2Q)@u>z5lO~7G3<^0wN39&~b|$Kcm4?c|A&+}N0-e^g z8d*o)^v?xFUHA@OyX>s0i;t+kPf3#hdzy)=pyd5C-N2%?zM@3<1N0t$_fn1OgJJEn zfj47f^%8COfUV^uNsM3#4zGT%_&w#m5gvQQS}mIvYsL_44tv^TK<961a~-E2NT&De zCEuklUAlW<#@F7Lp)cvFOCB;Vy}{73-$tWCnxNmu&d2` zK%)EFUE1D*tkhTozZ&zdlL!?g=ZWjkuLpIm8 zn0sf3-L~13>k5}dBO(ObJx!Bv+gPn>eEuel-OO!-jrkC=M!K|SV85ZcGq4){FUd2EwmotRx*?AT7E)~| z)a;{g*m|*Aqttg0|CFms@mQJCh?n)_QBqr`j92yt=J!fy>p^v6W>naf zLf-85+LiL1+4gzw?zTy-X|tfY40t@bCRnya{*rNvNSgf6UwFi{6_~QYjk5p@EZvjb zG+F*M-JTS<#ML&YZLQN*&Z$OH1=2m&c+#|G+;1-2WKhB}p;z^wWgCz1q5Wpep_#Vz zsF--I&leqJaG&bR7Dx9arQlo7YudJ3ypt$i+>W8B7B)YaXmTqux$&rZ$lC`6D>u!} z_QMmF>W~(IRK3lwE0*?`APD_1OX1kMDeCP$KPn`Y{FyIzr!!4=n!Cu5c?^H&ak!r9 z6K82W3uDS6=2D$vtq#k!vsC3FW->kBHH>(7pHsnyv}#N z_kce}CK9*AqjZRUe6xP;rq=u7SA5kzQf4=bn0E^RpjnUcyII=S_ZWG=kMvJ#!9%vxXg_U_B8q) z5avr9SxJBVQ>q%q-USP|2N>wH!CCJC_W<+Wtlm{akQVFnz!&AAgTOo0vW~m=H<1EX zxb%-}=yxYmo!dS5g9=>QpC!S46#XzCuIXi}avx7vfK zl*ye|ct$M#_n{G@M;UP=v+*zBbk_I!Fp3Eaoj!Q$dRST%&91aBehO8Ho-?;wopkq= z`gyn;*gAVAeN+%>M+dv!6Ba0lZkTWDE;uS%X^eJEwr;sN3MpYbNCOAj?*#kz{M`V* zI|@9XDLI^u@SFymRe-;|Ty(eKjb{3Ox20;<)*!IrjMxv1!D?{tl@AWoU-U+WjCObQ zf9Oj04w=JsqKtyV&!8>ax#!i8#|$brPq}UzKh6Lt0(@Dy_FTmWjP7vBEll_x5Z)wr zQ+Knv$+-W^4olUuUm@!v6uJJY%PRW!={`0Pq4)Xn zu6NUt%kK*?$`v2V=YFjy!mC1Xfh-@5czga@mVF}X$Bd?@Y#dJgZ|pEyWI|?Pg9W`C zO=XLZg@oJ#rUtH%a|SzpO0e=Pr{%fn$jjb_&Oxi*cRNR@%Wh;(^UAI7U<0wcLAdg2 z$4-6tFQ5Dh)uUybsEP<&Si_4BD5N3@!x^mi4)(G40M@Asxs{!WvCR6NR)@Vo5!BHS ziHhpqQHX?3GC8g4xl@2ZYX;9cE-3+cRqns|NO1IQ)IEUblhNL1hjC%J zm0sHq(MHLrRj#W^*YH!NZv`v9zkjYa9CUi*|GNlMopqTHsmStnNJi8jxu>6OYXoDt zB7<<+Hh15XZldzWuUmVMyYTlx(Wn+&!1liG+1+J3bQjsl_s%?)wy=JF=c^Ftt=jsa z$2OB(x!tfDeI9BcSv#GlTfZy2-)bxlq?@^f42554+cfN zxpRv$4C(66?`(uPPnq8^)K?;u7A|aiv9mM;ElePXlVRxFXo+n|_v$tZI|VsPi#+w} zEw=YQ&FXdeTed$n7rp9t-G%){`ok0svD;0TCgASYc*XLHX#4-Ua&AUnBOgvf`3&%~v8xr)jReE4E!DTl2yX z5x=9`4_(h^m@^F9)4tIc@AusKHOd|Kbj{zLFFP!y3H+^4@!YRyjqXB3LEhCs9(tF< z4?Zl=Yoj5iVSQbJSzA-BaV! zX+;6KIc%9UYHLSy4GP#_GbM-H2Ee>~I*!V3_P*8a$60>;rnlYG+1OdqSaD%9VLfMY zEfQ+s3qc(9T=`~p?Pnr(dy007<$ZBt_YH`Bh23SQBxL8ss`(8%cmJsP>Zs@XsOORc zQoC0?{wDJt;M6#{Uy4HtJ=hBw_&wlS@t`4mv;6v~ymP(h@~B77qy2sez)geqzYl=m z|6cz04G%!WDMqbo!r>(9uM%sVg9AV$c(|XHsb#Fn?d}1`;Mropz9jFF|=%o`A2y=snyOHpVcQZ!q)Hpiy9Xv5fXCkpQ{#+l8 zVGk)2Va=4dY^xb_=ZDf8!k{xopZ_cnK;gZWP|&WT18^e5yJqwgCab_Si*JSos~FJ zp0hQpg^Cja0ycDc2Pb@<$?)y9k0}V$Ru|T-&W$ z=v@(f=c9Y-2kGEok|KPOb~4k#@W&ho4kg7_uuj`jSuQ2~M&?)E+lVHKy;BlmJzdl3 z*jIUAo~OISpN(Mt$pv?C;1v;UqJpOxL4TU-ol*Y0GYro!Ug)}o(yGcxC`ueA;y4{k zNUt@ZKaqftNY-@*mIN9M? z&TSUn1tS@|Mj;hWX2*b3kA2;RPhtTxbM6C&7^*)(-kjvErc>(PS~WUPXSYl(EPH1z zdgxM@w|Q553h~l2y>@mb>lv%)+of{4X_@Yg!?@jaw;}eHlP23DQe4`uJ21WE*>1FK z{k9^l#JPb;0YwNWq_oHj+kjyCp;|y7q>!L?o3PZPnj)I6*ebQ!m>zbVMV4oZPci~s zOm9G~)<}iyO?RNWFTK#G^iFMIGU2RVXDzOq2Ze@%Sr|J6H7}n8{WL|JdLr21d~ML) zh%^$te@GpS2+yTzzD>CO5dSOP%0Dk;54JrRiE19;;j1F9lRNnl4v<8KfwRG-`H^=D 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

m;VsMOzz! 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 O1t_s4h2sVsXaCvUZU83$ From 3b0fd946f06d927e8df858a1d3ff768b6c3e4780 Mon Sep 17 00:00:00 2001 From: Alcides Fonseca Date: Fri, 8 Mar 2024 18:35:52 +0000 Subject: [PATCH 10/10] Replaced more examples of the old argument syntax --- Readme.md | 2 +- examples/PSB2/annotations/multi_objective/gcd.ae | 6 +++--- examples/PSB2/annotations/single_objective/gcd.ae | 4 ++-- examples/PSB2/non_working/gcd.ae | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Readme.md b/Readme.md index 6ed9b1a3..31130d57 100644 --- a/Readme.md +++ b/Readme.md @@ -40,7 +40,7 @@ def abs (i:Int) : Int { if i > 0 then i else -i } -def midpoint(a:Int, b:Int) : Int { +def midpoint (a:In) (b:Int) : Int { (a + b) / 2 } diff --git a/examples/PSB2/annotations/multi_objective/gcd.ae b/examples/PSB2/annotations/multi_objective/gcd.ae index d692785c..316250d6 100644 --- a/examples/PSB2/annotations/multi_objective/gcd.ae +++ b/examples/PSB2/annotations/multi_objective/gcd.ae @@ -4,8 +4,8 @@ # output : integer import PSB2; -def gcd ( n:Int, z:Int) : Int { - if z == 0 then n else (gcd(z)(n % z)) +def gcd (n:Int) (z:Int) : Int { + if z == 0 then n else gcd z (n % z) } def train: TrainData = extract_train_data (load_dataset "gcd" 200 200); @@ -13,7 +13,7 @@ def input_list : List = get_input_list (unpack_train_data train); def expected_values : List = get_output_list (unpack_train_data train); @multi_minimize_float( calculate_list_errors (get_gcd_synth_values input_list synth) (expected_values)) -def synth ( n:Int, z:Int) : Int { +def synth (n:Int) (z:Int) : Int { (?hole:Int) } # def largest_common_divisor ( n :{x:Int | 1 <= x && x <= 1000000}, m :{y:Int | 1 <= y && y <= 1000000}) : Int { gcd n m } diff --git a/examples/PSB2/annotations/single_objective/gcd.ae b/examples/PSB2/annotations/single_objective/gcd.ae index c66b2fd4..11e18221 100644 --- a/examples/PSB2/annotations/single_objective/gcd.ae +++ b/examples/PSB2/annotations/single_objective/gcd.ae @@ -4,7 +4,7 @@ # output : integer import PSB2; -def gcd ( n:Int, z:Int) : Int { +def gcd (n:Int) (z:Int) : Int { if z == 0 then n else (gcd(z)(n % z)) } @@ -13,7 +13,7 @@ def input_list : List = get_input_list ( unpack_train_data train); def expected_values : List = get_output_list ( unpack_train_data train); @minimize_float( mean_absolute_error ( get_gcd_synth_values input_list synth) ( expected_values)) -def synth ( n:Int, z:Int) : Int { +def synth (n:Int) (z:Int) : Int { (?hole:Int) } # def largest_common_divisor ( n :{x:Int | 1 <= x && x <= 1000000}, m :{y:Int | 1 <= y && y <= 1000000}) : Int { gcd n m } diff --git a/examples/PSB2/non_working/gcd.ae b/examples/PSB2/non_working/gcd.ae index 04dfb228..28578138 100644 --- a/examples/PSB2/non_working/gcd.ae +++ b/examples/PSB2/non_working/gcd.ae @@ -5,11 +5,11 @@ # --not- working - recursion problem-- # RecursionError: maximum recursion depth exceeded in comparison -def gcd ( n:Int, z:Int) : Int { - if z == 0 then n else (gcd(z)(n % z)) +def gcd (n:Int) (z:Int) : Int { + if z == 0 then n else gcd z (n % z) } -def synth_gcd ( n:Int, z:Int) : Int { +def synth_gcd (n:Int) (z:Int) : Int { (?hole:Int) } # def largest_common_divisor ( n :{x:Int | 1 <= x && x <= 1000000}, m :{y:Int | 1 <= y && y <= 1000000}) : Int { gcd n m }