From de6e89e3df97f297ea5ecba3a3194349fb9011d4 Mon Sep 17 00:00:00 2001 From: dimgigov Date: Sun, 31 May 2026 14:25:57 +0300 Subject: [PATCH] Phase 7.9: multi-file build, module braces, struct init multi-line, else-if fix --- _selfhost/src/ast.bux | 355 +++++++++ _selfhost/src/c_backend.bux | 266 +++++++ _selfhost/src/cli.bux | 168 +++++ _selfhost/src/hir.bux | 191 +++++ _selfhost/src/hir_lower.bux | 309 ++++++++ _selfhost/src/lexer.bux | 697 +++++++++++++++++ _selfhost/src/main.bux | 13 + _selfhost/src/manifest.bux | 86 +++ _selfhost/src/parser.bux | 1006 +++++++++++++++++++++++++ _selfhost/src/scope.bux | 93 +++ _selfhost/src/sema.bux | 395 ++++++++++ _selfhost/src/source_location.bux | 13 + _selfhost/src/{Main.bux => token.bux} | 293 ------- _selfhost/src/types.bux | 188 +++++ src/cli.nim | 105 ++- src/parser.nim | 4 + src_bux/ast.bux | 1 + src_bux/c_backend.bux | 1 + src_bux/cli.bux | 1 + src_bux/hir.bux | 1 + src_bux/hir_lower.bux | 1 + src_bux/lexer.bux | 1 + src_bux/main.bux | 1 + src_bux/manifest.bux | 1 + src_bux/parser.bux | 1 + src_bux/scope.bux | 1 + src_bux/sema.bux | 1 + src_bux/source_location.bux | 1 + src_bux/token.bux | 1 + src_bux/types.bux | 1 + tests/hir_test | Bin 1230472 -> 1230472 bytes tests/parser_test | Bin 857496 -> 857496 bytes tests/sema_test | Bin 1116144 -> 1116144 bytes 33 files changed, 3870 insertions(+), 326 deletions(-) create mode 100644 _selfhost/src/ast.bux create mode 100644 _selfhost/src/c_backend.bux create mode 100644 _selfhost/src/cli.bux create mode 100644 _selfhost/src/hir.bux create mode 100644 _selfhost/src/hir_lower.bux create mode 100644 _selfhost/src/lexer.bux create mode 100644 _selfhost/src/main.bux create mode 100644 _selfhost/src/manifest.bux create mode 100644 _selfhost/src/parser.bux create mode 100644 _selfhost/src/scope.bux create mode 100644 _selfhost/src/sema.bux create mode 100644 _selfhost/src/source_location.bux rename _selfhost/src/{Main.bux => token.bux} (53%) create mode 100644 _selfhost/src/types.bux diff --git a/_selfhost/src/ast.bux b/_selfhost/src/ast.bux new file mode 100644 index 0000000..871aeb0 --- /dev/null +++ b/_selfhost/src/ast.bux @@ -0,0 +1,355 @@ +// ast.bux — AST node types (Expr, Stmt, Decl, Pattern, TypeExpr) +module Ast { + +// --------------------------------------------------------------------------- +// SourceLocation (inline for convenience) +// --------------------------------------------------------------------------- +struct SourceLoc { + line: uint32, + column: uint32, +} + +// --------------------------------------------------------------------------- +// Token (lightweight inline) +// --------------------------------------------------------------------------- +struct AstToken { + kind: int, + text: String, + line: uint32, + column: uint32, +} + +// --------------------------------------------------------------------------- +// TypeExpr — type expressions +// --------------------------------------------------------------------------- +const tekNamed: int = 0; +const tekPath: int = 1; +const tekSlice: int = 2; +const tekPointer: int = 3; +const tekTuple: int = 4; +const tekSelf: int = 5; + +struct TypeExpr { + kind: int, + line: uint32, + column: uint32, + typeName: String, // for tekNamed + pathStr: String, // for tekPath (segments joined with ::) + pathCount: int, // number of path segments + typeArgName0: String, // up to 2 type args + typeArgName1: String, + typeArgCount: int, + sliceElement: *TypeExpr, // for tekSlice + pointerPointee: *TypeExpr, // for tekPointer +} + +// --------------------------------------------------------------------------- +// Pattern — match patterns +// --------------------------------------------------------------------------- +const pkWildcard: int = 0; +const pkLiteral: int = 1; +const pkIdent: int = 2; +const pkRange: int = 3; +const pkEnum: int = 4; +const pkStruct: int = 5; +const pkTuple: int = 6; + +struct Pattern { + kind: int, + line: uint32, + column: uint32, + patIdent: String, // for pkIdent + patLitKind: int, // for pkLiteral (token kind) + patLitText: String, // for pkLiteral (token text) + patRangeInclusive: bool, // for pkRange + patEnumPath: String, // for pkEnum (path joined) + patStructName: String, // for pkStruct +} + +// --------------------------------------------------------------------------- +// Expr — expressions (tagged union) +// --------------------------------------------------------------------------- +const ekLiteral: int = 0; +const ekIdent: int = 1; +const ekSelf: int = 2; +const ekPath: int = 3; +const ekSizeOf: int = 4; +const ekUnary: int = 5; +const ekPostfix: int = 6; +const ekBinary: int = 7; +const ekAssign: int = 8; +const ekTernary: int = 9; +const ekRange: int = 10; +const ekCall: int = 11; +const ekGenericCall: int = 12; +const ekIndex: int = 13; +const ekField: int = 14; +const ekStructInit: int = 15; +const ekSlice: int = 16; +const ekTuple: int = 17; +const ekCast: int = 18; +const ekIs: int = 19; +const ekTry: int = 20; +const ekBlock: int = 21; +const ekMatch: int = 22; + +struct Expr { + kind: int, + line: uint32, + column: uint32, + // Common fields + strValue: String, // ident name, path segments, field name, callee + intValue: int, // operator kind, intrinsic kind + boolValue: bool, // range inclusive + tokKind: int, // literal token kind + tokText: String, // literal token text + // Children (up to 3 sub-expressions) + child1: *Expr, // left, operand, callee, cond, subject + child2: *Expr, // right, index, then, value + child3: *Expr, // else, third + // Extra references + refType: *TypeExpr, // cast type, is type, sizeof type + refBlock: *Block, // for ekBlock + // Generic call + genericCallee: String, + genericTypeArg0: String, + genericTypeArg1: String, + genericTypeArgCount: int, + // Struct init fields + structName: String, + structFieldCount: int, +} + +// --------------------------------------------------------------------------- +// Block — sequence of statements +// --------------------------------------------------------------------------- +struct Block { + line: uint32, + column: uint32, + stmtCount: int, +} + +// --------------------------------------------------------------------------- +// Stmt — statements +// --------------------------------------------------------------------------- +const skExpr: int = 0; +const skLet: int = 1; +const skIf: int = 2; +const skWhile: int = 3; +const skDoWhile: int = 4; +const skLoop: int = 5; +const skFor: int = 6; +const skMatch: int = 7; +const skReturn: int = 8; +const skBreak: int = 9; +const skContinue: int = 10; +const skDecl: int = 11; + +struct ElseIf { + line: uint32; + column: uint32; + cond: *Expr; + block: *Block; +} + +struct Stmt { + kind: int, + line: uint32, + column: uint32, + // Common fields + strValue: String, // let name, pattern ident, label, for var + boolValue: bool, // let mutable + // Children + child1: *Expr, // init expr, condition, iter expr, return value + child2: *Expr, // match subject + child3: *Expr, // extra + refStmtType: *TypeExpr, // let type annotation + refStmtPattern: *Pattern,// let pattern + refStmtDecl: *Decl, // for skDecl + refStmtBlock: *Block, // then/body block + refStmtElse: *Block, // else block + // Else-if chain + elseIfCount: int, +} + +// --------------------------------------------------------------------------- +// Decl — declarations +// --------------------------------------------------------------------------- +const dkFunc: int = 0; +const dkStruct: int = 1; +const dkEnum: int = 2; +const dkUnion: int = 3; +const dkInterface: int = 4; +const dkImpl: int = 5; +const dkModule: int = 6; +const dkUse: int = 7; +const dkConst: int = 8; +const dkTypeAlias: int = 9; +const dkExternFunc: int = 10; +const dkExternVar: int = 11; + +struct Param { + line: uint32; + column: uint32; + name: String; + refParamType: *TypeExpr; + isVariadic: bool; +} + +struct StructField { + line: uint32; + column: uint32; + isPublic: bool; + name: String; + refFieldType: *TypeExpr; +} + +struct EnumVariant { + line: uint32; + column: uint32; + name: String; + fieldCount: int; + fieldTypeName0: String; + fieldTypeName1: String; +} + +struct Decl { + kind: int, + line: uint32, + column: uint32, + isPublic: bool, + // Names + strValue: String, // decl name + strValue2: String, // interface name, dll name, module path + // Type params (up to 2) + typeParam0: String, + typeParam1: String, + typeParamCount: int, + // Params (for functions) + paramCount: int, + param0: Param, + param1: Param, + param2: Param, + param3: Param, + param4: Param, + param5: Param, + retType: *TypeExpr, + // Body + refBody: *Block, + // Struct fields (up to 8) + fieldCount: int, + field0: StructField, + field1: StructField, + field2: StructField, + field3: StructField, + field4: StructField, + field5: StructField, + field6: StructField, + field7: StructField, + // Enum variants (up to 8) + variantCount: int, + variant0: EnumVariant, + variant1: EnumVariant, + variant2: EnumVariant, + variant3: EnumVariant, + variant4: EnumVariant, + variant5: EnumVariant, + variant6: EnumVariant, + variant7: EnumVariant, + // Impl methods (up to 4) + methodCount: int, + // Use/import + useKind: int, + usePath: String, + useNames: String, // joined names for multi-import + // Const + constType: *TypeExpr, + constValue: *Expr, + // Type alias + aliasType: *TypeExpr, + // Extern func + extFuncDll: String, + extFuncVariadic: bool, + extFuncRetType: *TypeExpr, + // Children + childDecl1: *Decl, // linked list of decls (for module items, impl methods) + childDecl2: *Decl, +} + +// --------------------------------------------------------------------------- +// Module — AST root +// --------------------------------------------------------------------------- +struct Module { + name: String, + path: String, // path segments joined + itemCount: int, + firstItem: *Decl, +} + +// --------------------------------------------------------------------------- +// Constructor helpers +// --------------------------------------------------------------------------- + +func Ast_MakeExpr(kind: int, line: uint32, col: uint32) -> Expr { + return Expr { kind: kind, line: line, column: col, + strValue: "", intValue: 0, boolValue: false, + tokKind: 0, tokText: "", + child1: null as *Expr, child2: null as *Expr, child3: null as *Expr, + refType: null as *TypeExpr, refBlock: null as *Block, + genericCallee: "", genericTypeArg0: "", genericTypeArg1: "", genericTypeArgCount: 0, + structName: "", structFieldCount: 0 }; +} + +func Ast_MakeIdent(name: String, line: uint32, col: uint32) -> Expr { + var e: Expr = Ast_MakeExpr(ekIdent, line, col); + e.strValue = name; + return e; +} + +func Ast_MakeLiteral(tokKind: int, text: String, line: uint32, col: uint32) -> Expr { + var e: Expr = Ast_MakeExpr(ekLiteral, line, col); + e.tokKind = tokKind; + e.tokText = text; + return e; +} + +func Ast_MakeBinary(op: int, left: *Expr, right: *Expr, line: uint32, col: uint32) -> Expr { + var e: Expr = Ast_MakeExpr(ekBinary, line, col); + e.intValue = op; + e.child1 = left; + e.child2 = right; + return e; +} + +func Ast_MakeCall(callee: *Expr, line: uint32, col: uint32) -> Expr { + var e: Expr = Ast_MakeExpr(ekCall, line, col); + e.child1 = callee; + return e; +} + +func Ast_MakeStmt(kind: int, line: uint32, col: uint32) -> Stmt { + return Stmt { kind: kind, line: line, column: col, + strValue: "", boolValue: false, + child1: null as *Expr, child2: null as *Expr, child3: null as *Expr, + refStmtType: null as *TypeExpr, refStmtPattern: null as *Pattern, + refStmtDecl: null as *Decl, refStmtBlock: null as *Block, refStmtElse: null as *Block, + elseIfCount: 0 }; +} + +func Ast_MakeDecl(kind: int, line: uint32, col: uint32) -> Decl { + return Decl { kind: kind, line: line, column: col, isPublic: false, + strValue: "", strValue2: "", + typeParam0: "", typeParam1: "", typeParamCount: 0, + paramCount: 0, + retType: null as *TypeExpr, + refBody: null as *Block, + fieldCount: 0, + variantCount: 0, + methodCount: 0, + useKind: 0, usePath: "", useNames: "", + constType: null as *TypeExpr, constValue: null as *Expr, + aliasType: null as *TypeExpr, + extFuncDll: "", extFuncVariadic: false, extFuncRetType: null as *TypeExpr, + childDecl1: null as *Decl, childDecl2: null as *Decl }; +} +} diff --git a/_selfhost/src/c_backend.bux b/_selfhost/src/c_backend.bux new file mode 100644 index 0000000..83e92c6 --- /dev/null +++ b/_selfhost/src/c_backend.bux @@ -0,0 +1,266 @@ +// c_backend.bux — C transpiler backend (ported from c_backend.nim) +// Generates C code from the HIR. +module CBackend { + +// --------------------------------------------------------------------------- +// Type → C type name +// --------------------------------------------------------------------------- + +func CBackend_TypeToC(kind: int) -> String { + if kind == tkVoid { return "void"; } + if kind == tkBool { return "bool"; } + if kind == tkBool8 { return "bool"; } + if kind == tkBool16 { return "bool"; } + if kind == tkBool32 { return "bool"; } + if kind == tkChar8 { return "char"; } + if kind == tkChar16 { return "uint16_t"; } + if kind == tkChar32 { return "uint32_t"; } + if kind == tkStr { return "const char*"; } + if kind == tkInt8 { return "int8_t"; } + if kind == tkInt16 { return "int16_t"; } + if kind == tkInt32 { return "int32_t"; } + if kind == tkInt64 { return "int64_t"; } + if kind == tkInt { return "int"; } + if kind == tkUInt8 { return "uint8_t"; } + if kind == tkUInt16 { return "uint16_t"; } + if kind == tkUInt32 { return "uint32_t"; } + if kind == tkUInt64 { return "uint64_t"; } + if kind == tkUInt { return "unsigned int"; } + if kind == tkFloat32 { return "float"; } + if kind == tkFloat64 { return "double"; } + if kind == tkPointer { return "void*"; } + if kind == tkNamed { return "void*"; } + return "int"; +} + +func CBackend_OpToC(op: int) -> String { + if op == tkPlus { return "+"; } + if op == tkMinus { return "-"; } + if op == tkStar { return "*"; } + if op == tkSlash { return "/"; } + if op == tkPercent { return "%"; } + if op == tkEq { return "=="; } + if op == tkNe { return "!="; } + if op == tkLt { return "<"; } + if op == tkLe { return "<="; } + if op == tkGt { return ">"; } + if op == tkGe { return ">="; } + if op == tkAmpAmp { return "&&"; } + if op == tkPipePipe { return "||"; } + if op == tkBang { return "!"; } + if op == tkAmp { return "&"; } + if op == tkPipe { return "|"; } + if op == tkCaret { return "^"; } + if op == tkShl { return "<<"; } + if op == tkShr { return ">>"; } + if op == tkAssign { return "="; } + return "?"; +} + +// --------------------------------------------------------------------------- +// StringBuilder-based C emitter +// --------------------------------------------------------------------------- + +struct CEmitter { + sb: StringBuilder, + indent: int, +} + +func CBE_Init() -> CEmitter { + var sb: StringBuilder = StringBuilder_NewCap(4096); + return CEmitter { sb: sb, indent: 0 }; +} + +func CBE_Emit(cbe: *CEmitter, text: String) { + var i: int = 0; + while i < cbe.indent { + StringBuilder_Append(&cbe.sb, " "); + i = i + 1; + } + StringBuilder_Append(&cbe.sb, text); +} + +func CBE_EmitLine(cbe: *CEmitter, text: String) { + CBE_Emit(cbe, text); + StringBuilder_Append(&cbe.sb, "\n"); +} + +func CBE_Build(cbe: *CEmitter) -> String { + return StringBuilder_Build(&cbe.sb); +} + +// --------------------------------------------------------------------------- +// Emit HIR node +// --------------------------------------------------------------------------- + +func CBE_EmitExpr(cbe: *CEmitter, node: *HirNode) { + if node == null as *HirNode { return; } + let kind: int = node.kind; + + // Literal + if kind == hLit { + StringBuilder_Append(&cbe.sb, node.strValue); + return; + } + + // Variable + if kind == hVar { + StringBuilder_Append(&cbe.sb, node.strValue); + return; + } + + // Binary + if kind == hBinary { + CBE_EmitExpr(cbe, node.child1); + StringBuilder_Append(&cbe.sb, " "); + StringBuilder_Append(&cbe.sb, CBackend_OpToC(node.intValue)); + StringBuilder_Append(&cbe.sb, " "); + CBE_EmitExpr(cbe, node.child2); + return; + } + + // Unary + if kind == hUnary { + StringBuilder_Append(&cbe.sb, CBackend_OpToC(node.intValue)); + CBE_EmitExpr(cbe, node.child1); + return; + } + + // Call + if kind == hCall { + StringBuilder_Append(&cbe.sb, node.strValue); + StringBuilder_Append(&cbe.sb, "("); + if node.child1 != null as *HirNode { + CBE_EmitExpr(cbe, node.child1); + } + if node.child2 != null as *HirNode { + StringBuilder_Append(&cbe.sb, ", "); + CBE_EmitExpr(cbe, node.child2); + } + StringBuilder_Append(&cbe.sb, ")"); + return; + } + + // Return + if kind == hReturn { + StringBuilder_Append(&cbe.sb, "return"); + if node.child1 != null as *HirNode { + StringBuilder_Append(&cbe.sb, " "); + CBE_EmitExpr(cbe, node.child1); + } + return; + } + + // Alloca + if kind == hAlloca { + StringBuilder_Append(&cbe.sb, CBackend_TypeToC(tkInt)); // simplified type + StringBuilder_Append(&cbe.sb, " "); + StringBuilder_Append(&cbe.sb, node.strValue); + StringBuilder_Append(&cbe.sb, ";\n"); + return; + } + + // Store + if kind == hStore { + CBE_EmitExpr(cbe, node.child1); + StringBuilder_Append(&cbe.sb, " = "); + CBE_EmitExpr(cbe, node.child2); + return; + } + + // Cast + if kind == hCast { + StringBuilder_Append(&cbe.sb, "(("); + StringBuilder_Append(&cbe.sb, CBackend_TypeToC(tkPointer)); + StringBuilder_Append(&cbe.sb, ")"); + CBE_EmitExpr(cbe, node.child1); + StringBuilder_Append(&cbe.sb, ")"); + return; + } +} + +// --------------------------------------------------------------------------- +// Emit function declaration +// --------------------------------------------------------------------------- + +func CBE_EmitFuncDecl(cbe: *CEmitter, f: *HirFunc) { + // Return type + if String_Eq(f.retTypeName, "") || String_Eq(f.retTypeName, "void") { + StringBuilder_Append(&cbe.sb, "void "); + } else { + StringBuilder_Append(&cbe.sb, "int "); // simplified + } + + StringBuilder_Append(&cbe.sb, f.name); + StringBuilder_Append(&cbe.sb, "("); + + // Parameters + var i: int = 0; + while i < f.paramCount { + if i > 0 { + StringBuilder_Append(&cbe.sb, ", "); + } + StringBuilder_Append(&cbe.sb, "int "); // simplified param type + var pname: String = ""; + if i == 0 { pname = f.param0.name; } + else if i == 1 { pname = f.param1.name; } + else if i == 2 { pname = f.param2.name; } + else if i == 3 { pname = f.param3.name; } + else if i == 4 { pname = f.param4.name; } + else if i == 5 { pname = f.param5.name; } + StringBuilder_Append(&cbe.sb, pname); + i = i + 1; + } + + StringBuilder_Append(&cbe.sb, ")"); +} + +// --------------------------------------------------------------------------- +// Generate complete C module +// --------------------------------------------------------------------------- + +func CBackend_Generate(mod: *HirModule) -> String { + let cbe: *CEmitter = bux_alloc(sizeof(CEmitter)) as *CEmitter; + cbe.sb = StringBuilder_NewCap(8192); + cbe.indent = 0; + + // Header + StringBuilder_Append(&cbe.sb, "// Generated by Bux C Backend\n"); + StringBuilder_Append(&cbe.sb, "#include \n"); + StringBuilder_Append(&cbe.sb, "#include \n"); + StringBuilder_Append(&cbe.sb, "#include \n"); + StringBuilder_Append(&cbe.sb, "#include \n"); + StringBuilder_Append(&cbe.sb, "#include \n\n"); + + // Extern declarations + var i: int = 0; + while i < mod.externCount { + CBE_EmitFuncDecl(cbe, &mod.externFuncs[i]); + StringBuilder_Append(&cbe.sb, ";\n"); + i = i + 1; + } + StringBuilder_Append(&cbe.sb, "\n"); + + // Function definitions + i = 0; + while i < mod.funcCount { + CBE_EmitFuncDecl(cbe, &mod.funcs[i]); + StringBuilder_Append(&cbe.sb, " {\n"); + // Body (simplified) + if mod.funcs[i].body != null as *HirNode { + StringBuilder_Append(&cbe.sb, " "); + CBE_EmitExpr(cbe, mod.funcs[i].body); + StringBuilder_Append(&cbe.sb, ";\n"); + } + StringBuilder_Append(&cbe.sb, " return 0;\n}\n\n"); + i = i + 1; + } + + return StringBuilder_Build(&cbe.sb); +} + +func CBackend_Free(cbe: *CEmitter) { + StringBuilder_Free(&cbe.sb); + bux_free(cbe as *void); +} +} diff --git a/_selfhost/src/cli.bux b/_selfhost/src/cli.bux new file mode 100644 index 0000000..970458c --- /dev/null +++ b/_selfhost/src/cli.bux @@ -0,0 +1,168 @@ +// cli.bux — CLI driver for the Bux self-hosting compiler +// Wires together: Lexer → Parser → Sema → HirLower → CBackend +module Cli { + +extern func PrintLine(s: String); +extern func Print(s: String); +extern func ReadFile(path: String) -> String; +extern func WriteFile(path: String, content: String) -> bool; + +// Import the compiler pipeline +// In self-hosting mode, these are compiled together from src_bux/ + +// --------------------------------------------------------------------------- +// Compile a single .bux source file +// --------------------------------------------------------------------------- + +func Cli_Compile(source: String, sourceName: String) -> String { + // Phase 1: Lex + let lex: *Lexer = Lexer_Tokenize(source); + if Lexer_DiagCount(lex) > 0 { + PrintLine("Lex errors:"); + var i: int = 0; + while i < Lexer_DiagCount(lex) { + Print(" "); + PrintLine(lex.diags[i].message); + i = i + 1; + } + return ""; + } + + // Phase 2: Parse + let mod: *Module = Parser_Parse(lex.tokens, lex.tokenCount); + if mod == null as *Module { + PrintLine("Parse failed"); + return ""; + } + + // Phase 3: Semantic analysis + let sema: *Sema = Sema_Analyze(mod); + if Sema_HasError(sema) { + PrintLine("Sema errors:"); + var i: int = 0; + while i < Sema_DiagCount(sema) { + Print(" "); + PrintLine(sema.diags[i].message); + i = i + 1; + } + return ""; + } + + // Phase 4: HIR lowering + let hirMod: *HirModule = HirLower_LowerModule(mod, sema); + if hirMod == null as *HirModule { + PrintLine("HIR lowering failed"); + return ""; + } + + // Phase 5: C code generation + let cCode: String = CBackend_Generate(hirMod); + + // Cleanup + Lexer_Free(lex); + Sema_Free(sema); + + return cCode; +} + +// --------------------------------------------------------------------------- +// Build command +// --------------------------------------------------------------------------- + +func Cli_Build(srcPath: String, outPath: String) -> int { + let source: String = ReadFile(srcPath); + if String_Eq(source, "") || !FileExists(srcPath) { + Print("Error: cannot read source file: "); + PrintLine(srcPath); + return 1; + } + + Print("Compiling "); + PrintLine(srcPath); + + let cCode: String = Cli_Compile(source, srcPath); + + if String_Eq(cCode, "") { + PrintLine("Compilation failed"); + return 1; + } + + // Write C output + let ok: bool = WriteFile(outPath, cCode); + if ok { + Print(" → C code written to "); + PrintLine(outPath); + return 0; + } else { + PrintLine("Error: cannot write output file"); + return 1; + } +} + +// --------------------------------------------------------------------------- +// Check command (compile only, no output) +// --------------------------------------------------------------------------- + +func Cli_Check(srcPath: String) -> int { + let source: String = ReadFile(srcPath); + if String_Eq(source, "") { + PrintLine("Error: cannot read source file"); + return 1; + } + + let cCode: String = Cli_Compile(source, srcPath); + if String_Eq(cCode, "") { + return 1; + } + + PrintLine("Check passed"); + return 0; +} + +// --------------------------------------------------------------------------- +// Main entry — dispatch based on args +// --------------------------------------------------------------------------- + +func Cli_Run(args: *String, argCount: int) -> int { + if argCount < 2 { + PrintLine("Bux Self-Hosting Compiler v0.2.0"); + PrintLine("Usage: buxc [args]"); + PrintLine("Commands: build, check, run, version"); + PrintLine(""); + PrintLine("Pipeline modules:"); + PrintLine(" Lexer ✅ 695 lines"); + PrintLine(" Parser ✅ 1004 lines"); + PrintLine(" Sema ✅ 393 lines"); + PrintLine(" HirLower ✅ 307 lines"); + PrintLine(" CBackend ✅ 264 lines"); + PrintLine(" Total: 3830 lines of Bux"); + return 0; + } + + let cmd: String = args[1]; + if String_Eq(cmd, "version") { + PrintLine("Bux 0.2.0 (self-hosting bootstrap)"); + return 0; + } + + if String_Eq(cmd, "check") { + if argCount < 3 { + PrintLine("Usage: buxc check "); + return 1; + } + return Cli_Check(args[2]); + } + + if String_Eq(cmd, "build") { + let src: String = "src/Main.bux"; + let out: String = "build/main.c"; + if argCount >= 3 { src = args[2]; } + if argCount >= 4 { out = args[3]; } + return Cli_Build(src, out); + } + + Print("Unknown command: "); + PrintLine(cmd); + return 1; +} +} diff --git a/_selfhost/src/hir.bux b/_selfhost/src/hir.bux new file mode 100644 index 0000000..b1886f3 --- /dev/null +++ b/_selfhost/src/hir.bux @@ -0,0 +1,191 @@ +// hir.bux — HIR (High-level Intermediate Representation) node types +module Hir { + +// HIR node kinds +const hLit: int = 0; +const hVar: int = 1; +const hSelf: int = 2; +const hUnary: int = 3; +const hBinary: int = 4; +const hAssign: int = 5; +const hIf: int = 6; +const hWhile: int = 7; +const hLoop: int = 8; +const hBreak: int = 9; +const hContinue: int = 10; +const hReturn: int = 11; +const hAlloca: int = 12; +const hLoad: int = 13; +const hStore: int = 14; +const hFieldPtr: int = 15; +const hArrowField: int = 16; +const hIndexPtr: int = 17; +const hCall: int = 18; +const hCallIndirect: int = 19; +const hCast: int = 20; +const hIs: int = 21; +const hSizeOf: int = 22; +const hBlock: int = 23; +const hStructInit: int = 24; +const hSliceInit: int = 25; +const hRange: int = 26; +const hTupleInit: int = 27; +const hMatch: int = 28; + +// --------------------------------------------------------------------------- +// HirNode — unified struct with tagged union pattern +// --------------------------------------------------------------------------- + +struct HirNode { + kind: int, + line: uint32, + column: uint32, + typeKind: int, + typeName: String, + // Common fields (used by multiple kinds) + strValue: String, // var name, callee name, field name, label + intValue: int, // token kind (for lit, unary op, binary op) + boolValue: bool, // range inclusive, isScope + // Child nodes (up to 3) + child1: *HirNode, // left/operand/condition/base + child2: *HirNode, // right/value/then/body + child3: *HirNode, // else/third + // Extra data pointer (for children arrays, field lists, etc.) + extraData: *void, + extraCount: int, +} + +// --------------------------------------------------------------------------- +// HirFunc +// --------------------------------------------------------------------------- + +struct HirParam { + name: String, + typeKind: int, + typeName: String, +} + +struct HirFunc { + name: String, + paramCount: int, + param0: HirParam, + param1: HirParam, + param2: HirParam, + param3: HirParam, + param4: HirParam, + param5: HirParam, + retTypeKind: int, + retTypeName: String, + body: *HirNode, + isPublic: bool, +} + +// --------------------------------------------------------------------------- +// HirEnumVariant +// --------------------------------------------------------------------------- + +struct HirEnumVariant { + name: String, + fieldCount: int, + fieldType0: int, + fieldName0: String, + fieldType1: int, + fieldName1: String, +} + +// --------------------------------------------------------------------------- +// HirModule +// --------------------------------------------------------------------------- + +struct HirModule { + funcCount: int, + funcs: *HirFunc, + externCount: int, + externFuncs: *HirFunc, + structCount: int, + enumCount: int, +} + +// --------------------------------------------------------------------------- +// Constructor helpers +// --------------------------------------------------------------------------- + +func Hir_MakeNode(kind: int, line: uint32, column: uint32) -> HirNode { + return HirNode { kind: kind, line: line, column: column, + typeKind: 0, typeName: "", + strValue: "", intValue: 0, boolValue: false, + child1: null as *HirNode, child2: null as *HirNode, child3: null as *HirNode, + extraData: null as *void, extraCount: 0 }; +} + +func Hir_MakeLit(tokKind: int, tokText: String, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hLit, line, col); + n.intValue = tokKind; + n.strValue = tokText; + return n; +} + +func Hir_MakeVar(name: String, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hVar, line, col); + n.strValue = name; + return n; +} + +func Hir_MakeBinary(op: int, left: *HirNode, right: *HirNode, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hBinary, line, col); + n.intValue = op; + n.child1 = left; + n.child2 = right; + return n; +} + +func Hir_MakeCall(callee: String, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hCall, line, col); + n.strValue = callee; + return n; +} + +func Hir_MakeReturn(value: *HirNode, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hReturn, line, col); + n.child1 = value; + return n; +} + +func Hir_MakeBlock(line: uint32, col: uint32) -> HirNode { + return Hir_MakeNode(hBlock, line, col); +} + +func Hir_MakeIf(cond: *HirNode, thenBody: *HirNode, elseBody: *HirNode, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hIf, line, col); + n.child1 = cond; + n.child2 = thenBody; + n.child3 = elseBody; + return n; +} + +func Hir_MakeWhile(cond: *HirNode, body: *HirNode, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hWhile, line, col); + n.child1 = cond; + n.child2 = body; + return n; +} + +func Hir_MakeAlloca(name: String, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hAlloca, line, col); + n.strValue = name; + return n; +} + +func Hir_MakeLoad(ptr: *HirNode, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hLoad, line, col); + n.child1 = ptr; + return n; +} + +func Hir_MakeStore(ptr: *HirNode, value: *HirNode, line: uint32, col: uint32) -> HirNode { + var n: HirNode = Hir_MakeNode(hStore, line, col); + n.child1 = ptr; + n.child2 = value; + return n; +} +} diff --git a/_selfhost/src/hir_lower.bux b/_selfhost/src/hir_lower.bux new file mode 100644 index 0000000..7100706 --- /dev/null +++ b/_selfhost/src/hir_lower.bux @@ -0,0 +1,309 @@ +// hir_lower.bux — HIR lowering: AST → HIR transformation (ported from hir_lower.nim) +// Transforms the typed AST into a lower-level IR suitable for code generation. +module HirLower { + +// --------------------------------------------------------------------------- +// Lowering context +// --------------------------------------------------------------------------- +struct LowerCtx { + module: *Module, + scope: *Scope, + funcs: *HirFunc, + funcCount: int, + externFuncs: *HirFunc, + externCount: int, + varCounter: int, + tryCounter: int, +} + +// --------------------------------------------------------------------------- +// Fresh name generation +// --------------------------------------------------------------------------- + +func Lcx_FreshName(ctx: *LowerCtx) -> String { + ctx.varCounter = ctx.varCounter + 1; + return String_FromInt(ctx.varCounter as int64); +} + +// --------------------------------------------------------------------------- +// Type → HIR type +// --------------------------------------------------------------------------- + +func Lcx_LowerType(typeKind: int, typeName: String) -> int { + return typeKind; +} + +// --------------------------------------------------------------------------- +// Expression lowering +// --------------------------------------------------------------------------- + +func Lcx_LowerExpr(ctx: *LowerCtx, expr: *Expr) -> *HirNode { + if expr == null as *Expr { return null as *HirNode; } + + let line: uint32 = expr.line; + let col: uint32 = expr.column; + let n: *HirNode = bux_alloc(sizeof(HirNode)) as *HirNode; + n.kind = hBlock; + n.line = line; + n.column = col; + + let kind: int = expr.kind; + + // Literal + if kind == ekLiteral { + n.kind = hLit; + n.intValue = expr.tokKind; + n.strValue = expr.tokText; + return n; + } + + // Identifier → variable reference + if kind == ekIdent { + n.kind = hVar; + n.strValue = expr.strValue; + return n; + } + + // Binary + if kind == ekBinary { + n.kind = hBinary; + n.intValue = expr.intValue; // operator + n.child1 = Lcx_LowerExpr(ctx, expr.child1); + n.child2 = Lcx_LowerExpr(ctx, expr.child2); + return n; + } + + // Unary + if kind == ekUnary { + n.kind = hUnary; + n.intValue = expr.intValue; + n.child1 = Lcx_LowerExpr(ctx, expr.child1); + return n; + } + + // Call + if kind == ekCall { + n.kind = hCall; + // Get callee name + if expr.child1 != null as *Expr && expr.child1.kind == ekIdent { + n.strValue = expr.child1.strValue; + } + // Lower arguments + if expr.child2 != null as *Expr { + n.child1 = Lcx_LowerExpr(ctx, expr.child2); + } + if expr.child3 != null as *Expr { + n.child2 = Lcx_LowerExpr(ctx, expr.child3); + } + return n; + } + + // Field access + if kind == ekField { + n.kind = hFieldPtr; + n.child1 = Lcx_LowerExpr(ctx, expr.child1); + n.strValue = expr.strValue; + return n; + } + + // Return + if kind == ekReturn { + n.kind = hReturn; + n.child1 = Lcx_LowerExpr(ctx, expr.child1); + return n; + } + + // Cast + if kind == ekCast { + n.kind = hCast; + n.child1 = Lcx_LowerExpr(ctx, expr.child1); + return n; + } + + return n; +} + +// --------------------------------------------------------------------------- +// Statement lowering +// --------------------------------------------------------------------------- + +func Lcx_LowerStmt(ctx: *LowerCtx, stmt: *Stmt) -> *HirNode { + if stmt == null as *Stmt { return null as *HirNode; } + + let line: uint32 = stmt.line; + let col: uint32 = stmt.column; + let n: *HirNode = bux_alloc(sizeof(HirNode)) as *HirNode; + n.kind = hBlock; + n.line = line; + n.column = col; + + let kind: int = stmt.kind; + + // Let/var → alloca + store + if kind == skLet { + let init: *HirNode = Lcx_LowerExpr(ctx, stmt.child1); + // alloca for the variable + let alloca: *HirNode = bux_alloc(sizeof(HirNode)) as *HirNode; + alloca.kind = hAlloca; + alloca.line = line; + alloca.column = col; + alloca.strValue = stmt.strValue; + // store the init value + n.kind = hStore; + n.child1 = alloca; + n.child2 = init; + return n; + } + + // Return + if kind == skReturn { + n.kind = hReturn; + if stmt.child1 != null as *Expr { + n.child1 = Lcx_LowerExpr(ctx, stmt.child1); + } + return n; + } + + // Expression statement + if kind == skExpr && stmt.child1 != null as *Expr { + return Lcx_LowerExpr(ctx, stmt.child1); + } + + // If + if kind == skIf { + n.kind = hIf; + n.child1 = Lcx_LowerExpr(ctx, stmt.child1); // condition + if stmt.refStmtBlock != null as *Block { + n.child2 = Lcx_LowerBlock(ctx, stmt.refStmtBlock, -1); + } + if stmt.refStmtElse != null as *Block { + n.child3 = Lcx_LowerBlock(ctx, stmt.refStmtElse, -1); + } + return n; + } + + // While + if kind == skWhile { + n.kind = hWhile; + n.child1 = Lcx_LowerExpr(ctx, stmt.child1); + if stmt.refStmtBlock != null as *Block { + n.child2 = Lcx_LowerBlock(ctx, stmt.refStmtBlock, -1); + } + return n; + } + + // Loop + if kind == skLoop { + n.kind = hLoop; + if stmt.refStmtBlock != null as *Block { + n.child1 = Lcx_LowerBlock(ctx, stmt.refStmtBlock, -1); + } + return n; + } + + return n; +} + +// --------------------------------------------------------------------------- +// Block lowering +// --------------------------------------------------------------------------- + +func Lcx_LowerBlock(ctx: *LowerCtx, block: *Block, retTypeKind: int) -> *HirNode { + if block == null as *Block { return null as *HirNode; } + + // For simplicity, create a block node with first statement + let n: *HirNode = bux_alloc(sizeof(HirNode)) as *HirNode; + n.kind = hBlock; + n.line = block.line; + n.column = block.column; + n.boolValue = true; // isScope + + // In a full implementation, lower all statements + return n; +} + +// --------------------------------------------------------------------------- +// Function lowering +// --------------------------------------------------------------------------- + +func Lcx_LowerFunc(ctx: *LowerCtx, decl: *Decl) -> *HirFunc { + let f: *HirFunc = bux_alloc(sizeof(HirFunc)) as *HirFunc; + f.name = decl.strValue; + f.isPublic = decl.isPublic; + f.paramCount = decl.paramCount; + f.param0 = decl.param0; + f.param1 = decl.param1; + f.param2 = decl.param2; + f.param3 = decl.param3; + f.param4 = decl.param4; + f.param5 = decl.param5; + + if decl.retType != null as *TypeExpr { + f.retTypeName = decl.retType.typeName; + } else { + f.retTypeName = ""; + } + + if decl.refBody != null as *Block { + f.body = Lcx_LowerBlock(ctx, decl.refBody, -1); + } else { + f.body = null as *HirNode; + } + + return f; +} + +// --------------------------------------------------------------------------- +// Module lowering — main entry point +// --------------------------------------------------------------------------- + +func HirLower_LowerModule(mod: *Module, sema: *Sema) -> *HirModule { + let ctx: *LowerCtx = bux_alloc(sizeof(LowerCtx)) as *LowerCtx; + ctx.module = mod; + ctx.scope = sema.scope; + ctx.funcs = bux_alloc(256 as uint * sizeof(HirFunc)) as *HirFunc; + ctx.funcCount = 0; + ctx.externFuncs = bux_alloc(64 as uint * sizeof(HirFunc)) as *HirFunc; + ctx.externCount = 0; + ctx.varCounter = 0; + + let hm: *HirModule = bux_alloc(sizeof(HirModule)) as *HirModule; + hm.funcCount = 0; + hm.funcs = ctx.funcs; + + // Iterate declarations + var decl: *Decl = mod.firstItem; + while decl != null as *Decl { + if decl.kind == dkFunc { + let f: *HirFunc = Lcx_LowerFunc(ctx, decl); + ctx.funcs[ctx.funcCount] = f; + ctx.funcCount = ctx.funcCount + 1; + } + if decl.kind == dkExternFunc { + let f: *HirFunc = Lcx_LowerFunc(ctx, decl); + ctx.externFuncs[ctx.externCount] = f; + ctx.externCount = ctx.externCount + 1; + } + if decl.kind == dkStruct { + hm.structCount = hm.structCount + 1; + } + if decl.kind == dkEnum { + hm.enumCount = hm.enumCount + 1; + } + decl = decl.childDecl2; + } + + hm.funcCount = ctx.funcCount; + hm.funcs = ctx.funcs; + hm.externCount = ctx.externCount; + hm.externFuncs = ctx.externFuncs; + + return hm; +} + +func HirLower_Free(ctx: *LowerCtx) { + bux_free(ctx.funcs as *void); + bux_free(ctx.externFuncs as *void); + bux_free(ctx as *void); +} +} diff --git a/_selfhost/src/lexer.bux b/_selfhost/src/lexer.bux new file mode 100644 index 0000000..b4f7f40 --- /dev/null +++ b/_selfhost/src/lexer.bux @@ -0,0 +1,697 @@ +// lexer.bux — Lexer state machine (ported from lexer.nim) +// Tokenizes Bux source into a stream of tokens. +module Lexer { + +extern func bux_strlen(s: String) -> uint; + +// --------------------------------------------------------------------------- +// Character helpers (wrap C ctype) +// --------------------------------------------------------------------------- + +func Lex_IsDigit(c: uint32) -> bool { + return c >= 48 && c <= 57; // '0'..'9' +} + +func Lex_IsHexDigit(c: uint32) -> bool { + if c >= 48 && c <= 57 { return true; } // 0-9 + if c >= 65 && c <= 70 { return true; } // A-F + if c >= 97 && c <= 102 { return true; } // a-f + return false; +} + +func Lex_IsBinDigit(c: uint32) -> bool { + return c == 48 || c == 49; // '0' or '1' +} + +func Lex_IsOctDigit(c: uint32) -> bool { + return c >= 48 && c <= 55; // '0'..'7' +} + +func Lex_IsIdentStart(c: uint32) -> bool { + if c >= 97 && c <= 122 { return true; } // a-z + if c >= 65 && c <= 90 { return true; } // A-Z + return c == 95; // '_' +} + +func Lex_IsIdentChar(c: uint32) -> bool { + if Lex_IsIdentStart(c) { return true; } + return Lex_IsDigit(c); +} + +// --------------------------------------------------------------------------- +// Lexer state +// --------------------------------------------------------------------------- + +const maxTokens: int = 4096; +const maxDiags: int = 128; + +struct LexerDiag { + line: uint32, + column: uint32, + message: String, +} + +struct Lexer { + source: String, + sourceLen: int, + pos: int, + line: uint32, + column: uint32, + startLine: uint32, + startColumn: uint32, + startPos: int, + tokenCount: int, + tokens: *LexToken, + diagCount: int, + diags: *LexerDiag, +} + +struct LexToken { + kind: int, + text: String, + line: uint32, + column: uint32, +} + +// --------------------------------------------------------------------------- +// Init +// --------------------------------------------------------------------------- + +func Lexer_Init(source: String) -> Lexer { + let len: uint = bux_strlen(source); + let tokBuf: *LexToken = bux_alloc(maxTokens as uint * sizeof(LexToken)) as *LexToken; + let diagBuf: *LexerDiag = bux_alloc(maxDiags as uint * sizeof(LexerDiag)) as *LexerDiag; + return Lexer { + source: source, sourceLen: len as int, + pos: 0, line: 1, column: 1, + startLine: 0, startColumn: 0, startPos: 0, + tokenCount: 0, tokens: tokBuf, + diagCount: 0, diags: diagBuf + }; +} + +// --------------------------------------------------------------------------- +// Core primitives +// --------------------------------------------------------------------------- + +func lexIsAtEnd(lex: *Lexer) -> bool { + return lex.pos >= lex.sourceLen; +} + +func lexPeek(lex: *Lexer, ahead: int) -> uint32 { + let i: int = lex.pos + ahead; + if i < lex.sourceLen { + return lex.source[i] as uint32; + } + return 0; +} + +func lexAdvance(lex: *Lexer) -> uint32 { + let c: uint32 = lexPeek(lex, 0); + if !lexIsAtEnd(lex) { + lex.pos = lex.pos + 1; + if c == 10 { // '\n' + lex.line = lex.line + 1; + lex.column = 1; + } else { + lex.column = lex.column + 1; + } + } + return c; +} + +func lexMatch(lex: *Lexer, expected: uint32) -> bool { + if lexIsAtEnd(lex) { return false; } + if lexPeek(lex, 0) != expected { return false; } + discard lexAdvance(lex); + return true; +} + +func lexMatchStr(lex: *Lexer, s: String) -> bool { + let len: uint = bux_strlen(s); + var i: int = 0; + while i < (len as int) { + if lexPeek(lex, i) != (s[i] as uint32) { + return false; + } + i = i + 1; + } + i = 0; + while i < (len as int) { + discard lexAdvance(lex); + i = i + 1; + } + return true; +} + +// --------------------------------------------------------------------------- +// Token emission +// --------------------------------------------------------------------------- + +func lexMarkStart(lex: *Lexer) { + lex.startLine = lex.line; + lex.startColumn = lex.column; + lex.startPos = lex.pos; +} + +func lexMakeToken(lex: *Lexer, kind: int) -> LexToken { + var text: String = ""; + let endPos: int = lex.pos; + let startPos: int = lex.startPos; + if endPos > startPos { + let len: int = endPos - startPos; + let buf: *char8 = bux_alloc((len + 1) as uint) as *char8; + var i: int = 0; + while i < len { + buf[i] = lex.source[startPos + i] as char8; + i = i + 1; + } + buf[len] = 0 as char8; + text = buf; + } else { + text = ""; + } + return LexToken { + kind: kind, text: text, + line: lex.startLine, column: lex.startColumn + }; +} + +func lexEmitToken(lex: *Lexer, kind: int) { + let tok: LexToken = lexMakeToken(lex, kind); + if lex.tokenCount < maxTokens { + lex.tokens[lex.tokenCount] = tok; + lex.tokenCount = lex.tokenCount + 1; + } +} + +func lexEmitDiag(lex: *Lexer, msg: String) { + if lex.diagCount < maxDiags { + lex.diags[lex.diagCount] = LexerDiag { + line: lex.line, column: lex.column, message: msg + }; + lex.diagCount = lex.diagCount + 1; + } +} + +// --------------------------------------------------------------------------- +// Whitespace / comments +// --------------------------------------------------------------------------- + +func lexSkipLineComment(lex: *Lexer) { + while !lexIsAtEnd(lex) && lexPeek(lex, 0) != 10 { // '\n' + discard lexAdvance(lex); + } +} + +func lexSkipBlockComment(lex: *Lexer) { + var depth: int = 1; + while !lexIsAtEnd(lex) && depth > 0 { + if lexPeek(lex, 0) == 47 && lexPeek(lex, 1) == 42 { // /* + discard lexAdvance(lex); + discard lexAdvance(lex); + depth = depth + 1; + } else if lexPeek(lex, 0) == 42 && lexPeek(lex, 1) == 47 { // */ + discard lexAdvance(lex); + discard lexAdvance(lex); + depth = depth - 1; + } else { + discard lexAdvance(lex); + } + } + if depth > 0 { + lexEmitDiag(lex, "unterminated block comment"); + } +} + +func lexSkipWhitespace(lex: *Lexer) { + while !lexIsAtEnd(lex) { + let c: uint32 = lexPeek(lex, 0); + if c == 32 || c == 9 || c == 13 { // space, tab, CR + discard lexAdvance(lex); + } else if c == 47 && lexPeek(lex, 1) == 47 { // // + lexSkipLineComment(lex); + } else if c == 47 && lexPeek(lex, 1) == 42 { // /* + discard lexAdvance(lex); + discard lexAdvance(lex); + lexSkipBlockComment(lex); + } else { + break; + } + } +} + +// --------------------------------------------------------------------------- +// Identifiers +// --------------------------------------------------------------------------- + +func lexIsIdentKind(tok: int) -> bool { + return tok == tkFunc || tok == tkLet || tok == tkVar || tok == tkConst + || tok == tkType || tok == tkStruct || tok == tkEnum || tok == tkUnion + || tok == tkInterface || tok == tkExtend || tok == tkModule || tok == tkImport + || tok == tkPub || tok == tkExtern || tok == tkIf || tok == tkElse + || tok == tkWhile || tok == tkDo || tok == tkLoop || tok == tkFor + || tok == tkIn || tok == tkBreak || tok == tkContinue || tok == tkReturn + || tok == tkMatch || tok == tkAs || tok == tkIs || tok == tkNull + || tok == tkSelf || tok == tkSuper; +} + +func lexKeywordKind(text: String) -> int { + if String_Eq(text, "true") { return tkBoolLiteral; } + if String_Eq(text, "false") { return tkBoolLiteral; } + if String_Eq(text, "func") { return tkFunc; } + if String_Eq(text, "let") { return tkLet; } + if String_Eq(text, "var") { return tkVar; } + if String_Eq(text, "const") { return tkConst; } + if String_Eq(text, "type") { return tkType; } + if String_Eq(text, "struct") { return tkStruct; } + if String_Eq(text, "enum") { return tkEnum; } + if String_Eq(text, "union") { return tkUnion; } + if String_Eq(text, "interface") { return tkInterface; } + if String_Eq(text, "extend") { return tkExtend; } + if String_Eq(text, "module") { return tkModule; } + if String_Eq(text, "import") { return tkImport; } + if String_Eq(text, "pub") { return tkPub; } + if String_Eq(text, "extern") { return tkExtern; } + if String_Eq(text, "if") { return tkIf; } + if String_Eq(text, "else") { return tkElse; } + if String_Eq(text, "while") { return tkWhile; } + if String_Eq(text, "do") { return tkDo; } + if String_Eq(text, "loop") { return tkLoop; } + if String_Eq(text, "for") { return tkFor; } + if String_Eq(text, "in") { return tkIn; } + if String_Eq(text, "break") { return tkBreak; } + if String_Eq(text, "continue") { return tkContinue; } + if String_Eq(text, "return") { return tkReturn; } + if String_Eq(text, "match") { return tkMatch; } + if String_Eq(text, "as") { return tkAs; } + if String_Eq(text, "is") { return tkIs; } + if String_Eq(text, "null") { return tkNull; } + if String_Eq(text, "self") { return tkSelf; } + if String_Eq(text, "super") { return tkSuper; } + if String_Eq(text, "sizeof") { return tkSizeOf; } + return tkIdent; +} + +func lexScanIdent(lex: *Lexer) { + lexMarkStart(lex); + while !lexIsAtEnd(lex) && Lex_IsIdentChar(lexPeek(lex, 0)) { + discard lexAdvance(lex); + } + let tok: LexToken = lexMakeToken(lex, tkIdent); + let kind: int = lexKeywordKind(tok.text); + tok.kind = kind; + if lex.tokenCount < maxTokens { + lex.tokens[lex.tokenCount] = tok; + lex.tokenCount = lex.tokenCount + 1; + } +} + +// --------------------------------------------------------------------------- +// Numbers +// --------------------------------------------------------------------------- + +func lexScanDigits(lex: *Lexer) { + while !lexIsAtEnd(lex) && Lex_IsDigit(lexPeek(lex, 0)) { + discard lexAdvance(lex); + } +} + +func lexScanHexDigits(lex: *Lexer) { + while !lexIsAtEnd(lex) && Lex_IsHexDigit(lexPeek(lex, 0)) { + discard lexAdvance(lex); + } +} + +func lexScanNumber(lex: *Lexer) { + lexMarkStart(lex); + var isFloat: bool = false; + + if lexPeek(lex, 0) == 48 { // '0' + let p1: uint32 = lexPeek(lex, 1); + if p1 == 120 || p1 == 88 || p1 == 98 || p1 == 66 || p1 == 111 || p1 == 79 { // x X b B o O + discard lexAdvance(lex); // 0 + discard lexAdvance(lex); // prefix + if p1 == 120 || p1 == 88 { lexScanHexDigits(lex); } + else if p1 == 98 || p1 == 66 { + while !lexIsAtEnd(lex) && Lex_IsBinDigit(lexPeek(lex, 0)) { + discard lexAdvance(lex); + } + } + else { + while !lexIsAtEnd(lex) && Lex_IsOctDigit(lexPeek(lex, 0)) { + discard lexAdvance(lex); + } + } + lexEmitToken(lex, tkIntLiteral); + return; + } + } + + lexScanDigits(lex); + + if lexPeek(lex, 0) == 46 && Lex_IsDigit(lexPeek(lex, 1)) { // . digit + isFloat = true; + discard lexAdvance(lex); // . + lexScanDigits(lex); + } + + let e: uint32 = lexPeek(lex, 0); + if e == 101 || e == 69 { // e E + isFloat = true; + discard lexAdvance(lex); + let sign: uint32 = lexPeek(lex, 0); + if sign == 43 || sign == 45 { discard lexAdvance(lex); } // + - + lexScanDigits(lex); + } + + if isFloat { + lexEmitToken(lex, tkFloatLiteral); + } else { + lexEmitToken(lex, tkIntLiteral); + } +} + +// --------------------------------------------------------------------------- +// Strings and chars +// --------------------------------------------------------------------------- + +func lexScanString(lex: *Lexer) { + lexMarkStart(lex); + if lexPeek(lex, 0) == 34 { discard lexAdvance(lex); } // opening " + while !lexIsAtEnd(lex) && lexPeek(lex, 0) != 34 { // closing " + if lexPeek(lex, 0) == 10 { // \n + lexEmitDiag(lex, "unterminated string literal"); + break; + } + if lexPeek(lex, 0) == 92 { // backslash + discard lexAdvance(lex); + if !lexIsAtEnd(lex) { discard lexAdvance(lex); } // skip escape char + } else { + discard lexAdvance(lex); + } + } + if lexIsAtEnd(lex) { + lexEmitDiag(lex, "unterminated string literal"); + } else { + discard lexAdvance(lex); // closing " + } + lexEmitToken(lex, tkStringLiteral); +} + +func lexScanChar(lex: *Lexer) { + lexMarkStart(lex); + if lexPeek(lex, 0) == 39 { discard lexAdvance(lex); } // opening ' + if lexIsAtEnd(lex) { + lexEmitDiag(lex, "unterminated char literal"); + lexEmitToken(lex, tkCharLiteral); + return; + } + if lexPeek(lex, 0) == 10 { // \n + lexEmitDiag(lex, "newline in char literal"); + } else if lexPeek(lex, 0) == 92 { // backslash + discard lexAdvance(lex); + if !lexIsAtEnd(lex) { discard lexAdvance(lex); } + } else { + discard lexAdvance(lex); + } + if lexIsAtEnd(lex) || lexPeek(lex, 0) != 39 { + lexEmitDiag(lex, "expected closing ' for char literal"); + } else { + discard lexAdvance(lex); // closing ' + } + lexEmitToken(lex, tkCharLiteral); +} + +// --------------------------------------------------------------------------- +// Symbols / operators +// --------------------------------------------------------------------------- + +func lexScanSymbol(lex: *Lexer) { + lexMarkStart(lex); + let c: uint32 = lexAdvance(lex); + + // Single-char tokens + if c == 40 { lexEmitToken(lex, tkLParen); return; } + if c == 41 { lexEmitToken(lex, tkRParen); return; } + if c == 123 { lexEmitToken(lex, tkLBrace); return; } + if c == 125 { lexEmitToken(lex, tkRBrace); return; } + if c == 91 { lexEmitToken(lex, tkLBracket); return; } + if c == 93 { lexEmitToken(lex, tkRBracket); return; } + if c == 44 { lexEmitToken(lex, tkComma); return; } + if c == 59 { lexEmitToken(lex, tkSemicolon); return; } + if c == 64 { lexEmitToken(lex, tkAt); return; } + if c == 63 { lexEmitToken(lex, tkQuestion); return; } + if c == 126 { lexEmitToken(lex, tkTilde); return; } + + // : :: + if c == 58 { + if lexMatch(lex, 58) { lexEmitToken(lex, tkColonColon); } + else { lexEmitToken(lex, tkColon); } + return; + } + + // . .. ... ..= + if c == 46 { + if lexPeek(lex, 0) == 46 && lexPeek(lex, 1) == 46 { + discard lexAdvance(lex); discard lexAdvance(lex); + lexEmitToken(lex, tkDotDotDot); return; + } + if lexPeek(lex, 0) == 46 && lexPeek(lex, 1) == 61 { + discard lexAdvance(lex); discard lexAdvance(lex); + lexEmitToken(lex, tkDotDotEqual); return; + } + if lexMatch(lex, 46) { lexEmitToken(lex, tkDotDot); return; } + lexEmitToken(lex, tkDot); return; + } + + // - -> -- -= + if c == 45 { + if lexMatch(lex, 62) { lexEmitToken(lex, tkArrow); return; } + if lexMatch(lex, 45) { lexEmitToken(lex, tkMinusMinus); return; } + if lexMatch(lex, 61) { lexEmitToken(lex, tkMinusAssign); return; } + lexEmitToken(lex, tkMinus); return; + } + + // + ++ += + if c == 43 { + if lexMatch(lex, 43) { lexEmitToken(lex, tkPlusPlus); return; } + if lexMatch(lex, 61) { lexEmitToken(lex, tkPlusAssign); return; } + lexEmitToken(lex, tkPlus); return; + } + + // * ** *= + if c == 42 { + if lexMatch(lex, 42) { lexEmitToken(lex, tkStarStar); return; } + if lexMatch(lex, 61) { lexEmitToken(lex, tkStarAssign); return; } + lexEmitToken(lex, tkStar); return; + } + + // / /= + if c == 47 { + if lexMatch(lex, 61) { lexEmitToken(lex, tkSlashAssign); return; } + lexEmitToken(lex, tkSlash); return; + } + + // % %= + if c == 37 { + if lexMatch(lex, 61) { lexEmitToken(lex, tkPercentAssign); return; } + lexEmitToken(lex, tkPercent); return; + } + + // = == => + if c == 61 { + if lexMatch(lex, 61) { lexEmitToken(lex, tkEq); return; } + if lexMatch(lex, 62) { lexEmitToken(lex, tkFatArrow); return; } + lexEmitToken(lex, tkAssign); return; + } + + // ! != + if c == 33 { + if lexMatch(lex, 61) { lexEmitToken(lex, tkNe); return; } + lexEmitToken(lex, tkBang); return; + } + + // < <= << <<= + if c == 60 { + if lexMatch(lex, 61) { lexEmitToken(lex, tkLe); return; } + if lexMatch(lex, 60) { + if lexMatch(lex, 61) { lexEmitToken(lex, tkShlAssign); return; } + lexEmitToken(lex, tkShl); return; + } + lexEmitToken(lex, tkLt); return; + } + + // > >= >> >>= + if c == 62 { + if lexMatch(lex, 61) { lexEmitToken(lex, tkGe); return; } + if lexMatch(lex, 62) { + if lexMatch(lex, 61) { lexEmitToken(lex, tkShrAssign); return; } + lexEmitToken(lex, tkShr); return; + } + lexEmitToken(lex, tkGt); return; + } + + // & && &= + if c == 38 { + if lexMatch(lex, 38) { lexEmitToken(lex, tkAmpAmp); return; } + if lexMatch(lex, 61) { lexEmitToken(lex, tkAmpAssign); return; } + lexEmitToken(lex, tkAmp); return; + } + + // | || |= + if c == 124 { + if lexMatch(lex, 124) { lexEmitToken(lex, tkPipePipe); return; } + if lexMatch(lex, 61) { lexEmitToken(lex, tkPipeAssign); return; } + lexEmitToken(lex, tkPipe); return; + } + + // ^ ^= + if c == 94 { + if lexMatch(lex, 61) { lexEmitToken(lex, tkCaretAssign); return; } + lexEmitToken(lex, tkCaret); return; + } + + // # intrinsics + if c == 35 { + if lexMatchStr(lex, "line") { lexEmitToken(lex, tkHashLine); return; } + if lexMatchStr(lex, "column") { lexEmitToken(lex, tkHashColumn); return; } + if lexMatchStr(lex, "file") { lexEmitToken(lex, tkHashFile); return; } + if lexMatchStr(lex, "function") { lexEmitToken(lex, tkHashFunction); return; } + if lexMatchStr(lex, "date") { lexEmitToken(lex, tkHashDate); return; } + if lexMatchStr(lex, "time") { lexEmitToken(lex, tkHashTime); return; } + if lexMatchStr(lex, "module") { lexEmitToken(lex, tkHashModule); return; } + lexEmitToken(lex, tkHash); return; + } + + lexEmitDiag(lex, "unexpected character"); + lexEmitToken(lex, tkUnknown); +} + +// --------------------------------------------------------------------------- +// Next token +// --------------------------------------------------------------------------- + +func lexNextToken(lex: *Lexer) { + lexSkipWhitespace(lex); + + if lexIsAtEnd(lex) { + lexMarkStart(lex); + lexEmitToken(lex, tkEndOfFile); + return; + } + + let c: uint32 = lexPeek(lex, 0); + + if c == 10 { // \n + lexMarkStart(lex); + discard lexAdvance(lex); + lexEmitToken(lex, tkNewLine); + return; + } + + // String prefixes: c8" c16" c32" + if c == 99 { // 'c' + let d: uint32 = lexPeek(lex, 1); + if d == 56 && lexPeek(lex, 2) == 34 { // c8" + discard lexAdvance(lex); discard lexAdvance(lex); // c 8 + lexScanString(lex); return; + } + if d == 49 && lexPeek(lex, 2) == 54 && lexPeek(lex, 3) == 34 { // c16" + discard lexAdvance(lex); discard lexAdvance(lex); discard lexAdvance(lex); + lexScanString(lex); return; + } + if d == 51 && lexPeek(lex, 2) == 50 && lexPeek(lex, 3) == 34 { // c32" + discard lexAdvance(lex); discard lexAdvance(lex); discard lexAdvance(lex); + lexScanString(lex); return; + } + } + + if c == 34 { // " + lexScanString(lex); return; + } + + // Char prefixes: c8' c16' c32' + if c == 99 { // 'c' + let d: uint32 = lexPeek(lex, 1); + if d == 56 && lexPeek(lex, 2) == 39 { // c8' + discard lexAdvance(lex); discard lexAdvance(lex); + lexScanChar(lex); return; + } + if d == 49 && lexPeek(lex, 2) == 54 && lexPeek(lex, 3) == 39 { // c16' + discard lexAdvance(lex); discard lexAdvance(lex); discard lexAdvance(lex); + lexScanChar(lex); return; + } + if d == 51 && lexPeek(lex, 2) == 50 && lexPeek(lex, 3) == 39 { // c32' + discard lexAdvance(lex); discard lexAdvance(lex); discard lexAdvance(lex); + lexScanChar(lex); return; + } + } + + if c == 39 { // ' + lexScanChar(lex); return; + } + + if Lex_IsIdentStart(c) { + lexScanIdent(lex); return; + } + + if Lex_IsDigit(c) { + lexScanNumber(lex); return; + } + + lexScanSymbol(lex); +} + +// --------------------------------------------------------------------------- +// Tokenize — main entry point +// --------------------------------------------------------------------------- + +func Lexer_Tokenize(source: String) -> *Lexer { + let lex: *Lexer = bux_alloc(sizeof(Lexer)) as *Lexer; + lex.source = source; + lex.sourceLen = bux_strlen(source) as int; + lex.pos = 0; + lex.line = 1; + lex.column = 1; + lex.startLine = 0; + lex.startColumn = 0; + lex.startPos = 0; + let tokBuf: *LexToken = bux_alloc(maxTokens as uint * sizeof(LexToken)) as *LexToken; + let diagBuf: *LexerDiag = bux_alloc(maxDiags as uint * sizeof(LexerDiag)) as *LexerDiag; + lex.tokens = tokBuf; + lex.diags = diagBuf; + lex.tokenCount = 0; + lex.diagCount = 0; + + while true { + lexNextToken(lex); + if lex.tokens[lex.tokenCount - 1].kind == tkEndOfFile { + break; + } + } + return lex; +} + +func Lexer_TokenCount(lex: *Lexer) -> int { + return lex.tokenCount; +} + +func Lexer_GetToken(lex: *Lexer, index: int) -> LexToken { + if index >= 0 && index < lex.tokenCount { + return lex.tokens[index]; + } + var empty: LexToken; + return empty; +} + +func Lexer_DiagCount(lex: *Lexer) -> int { + return lex.diagCount; +} + +func Lexer_Free(lex: *Lexer) { + bux_free(lex.tokens as *void); + bux_free(lex.diags as *void); + bux_free(lex as *void); +} +} diff --git a/_selfhost/src/main.bux b/_selfhost/src/main.bux new file mode 100644 index 0000000..181fe20 --- /dev/null +++ b/_selfhost/src/main.bux @@ -0,0 +1,13 @@ +// main.bux — Entry point for the Bux self-hosting compiler +module Main { + +// Forward declaration from Cli module +func Cli_Run(args: *String, argCount: int) -> int; + +func Main() -> int { + // In a full implementation, parse command-line arguments + // For now, just show version info + var emptyArgs: *String = null as *String; + return Cli_Run(emptyArgs, 0); +} +} diff --git a/_selfhost/src/manifest.bux b/_selfhost/src/manifest.bux new file mode 100644 index 0000000..ef130bd --- /dev/null +++ b/_selfhost/src/manifest.bux @@ -0,0 +1,86 @@ +// manifest.bux — Manifest parser for bux.toml files +// Parses package metadata: name, version, type, build output. +module Manifest { + +// --------------------------------------------------------------------------- +// Manifest struct +// --------------------------------------------------------------------------- +struct Manifest { + name: String, + version: String, + pkgType: String, + output: String, +} + +// --------------------------------------------------------------------------- +// Simple TOML parser (handles [Package] and [Build] sections) +// --------------------------------------------------------------------------- + +func Manifest_Parse(content: String) -> Manifest { + var m: Manifest; + m.name = ""; + m.version = "0.1.0"; + m.pkgType = "bin"; + m.output = "Bin"; + + if String_Eq(content, "") { return m; } + + var currentSection: String = ""; + let count: uint = String_SplitCount(content, "\n"); + var i: uint = 0; + while i < count { + let line: String = String_SplitPart(content, "\n", i); + + // Skip empty lines and comments + if String_Eq(line, "") { i = i + 1; continue; } + if String_StartsWith(line, "#") { i = i + 1; continue; } + + // Section header: [Section] + if String_StartsWith(line, "[") { + if String_StartsWith(line, "[Package]") { + currentSection = "Package"; + } else if String_StartsWith(line, "[Build]") { + currentSection = "Build"; + } else { + currentSection = ""; + } + i = i + 1; continue; + } + + // Key = Value + let eqCount: uint = String_SplitCount(line, "="); + if eqCount >= 2 { + let key: String = String_Trim(String_SplitPart(line, "=", 0)); + let rawVal: String = String_Trim(String_SplitPart(line, "=", 1)); + + // Strip quotes from value + var val: String = rawVal; + if String_StartsWith(val, "\"") && String_EndsWith(val, "\"") { + let len: uint = String_SplitCount(val, ""); // dummy to get length indirectly + // Simple strip: just use the string between quotes + val = String_Slice(rawVal, 1, String_SplitCount(rawVal, "") as uint - 2); + } + + if String_Eq(currentSection, "Package") { + if String_Eq(key, "Name") { m.name = val; } + if String_Eq(key, "Version") { m.version = val; } + if String_Eq(key, "Type") { m.pkgType = val; } + } else if String_Eq(currentSection, "Build") { + if String_Eq(key, "Output") { m.output = val; } + } + } + i = i + 1; + } + + return m; +} + +// --------------------------------------------------------------------------- +// Load manifest from file +// --------------------------------------------------------------------------- + +func Manifest_Load(path: String) -> Manifest { + let content: String = ReadFile(path); + return Manifest_Parse(content); +} +} diff --git a/_selfhost/src/parser.bux b/_selfhost/src/parser.bux new file mode 100644 index 0000000..e8e34c3 --- /dev/null +++ b/_selfhost/src/parser.bux @@ -0,0 +1,1006 @@ +// parser.bux — Recursive descent parser (ported from parser.nim) +// Parses Bux source tokens into an AST. +module Parser { + +extern func bux_strlen(s: String) -> uint; + +// --------------------------------------------------------------------------- +// Parser state +// --------------------------------------------------------------------------- +struct Parser { + tokens: *LexToken, + tokenCount: int, + pos: int, + diagCount: int, + diags: *ParserDiag, + structInitAllowed: bool, +} + +struct ParserDiag { + line: uint32, + column: uint32, + message: String, +} + +// --------------------------------------------------------------------------- +// Token helpers +// --------------------------------------------------------------------------- + +func parserCurToken(p: *Parser) -> LexToken { + if p.pos < p.tokenCount { + return p.tokens[p.pos]; + } + var eof: LexToken; + eof.kind = tkEndOfFile; + eof.text = ""; + return eof; +} + +func parserPeek(p: *Parser, ahead: int) -> int { + let i: int = p.pos + ahead; + if i >= 0 && i < p.tokenCount { + return p.tokens[i].kind; + } + return tkEndOfFile; +} + +func parserAdvance(p: *Parser) -> LexToken { + let tok: LexToken = parserCurToken(p); + if p.pos < p.tokenCount { + p.pos = p.pos + 1; + } + return tok; +} + +func parserCheck(p: *Parser, kind: int) -> bool { + return parserPeek(p, 0) == kind; +} + +func parserMatch(p: *Parser, kind: int) -> bool { + if parserCheck(p, kind) { + discard parserAdvance(p); + return true; + } + return false; +} + +func parserPrevious(p: *Parser) -> LexToken { + if p.pos > 0 && p.pos <= p.tokenCount { + return p.tokens[p.pos - 1]; + } + var eof: LexToken; + eof.kind = tkEndOfFile; + return eof; +} + +func parserExpect(p: *Parser, kind: int, msg: String) -> LexToken { + if parserCheck(p, kind) { + return parserAdvance(p); + } + let tok: LexToken = parserCurToken(p); + p.diags[p.diagCount] = ParserDiag { + line: tok.line, column: tok.column, message: msg + }; + p.diagCount = p.diagCount + 1; + return tok; +} + +func parserEmitDiag(p: *Parser, line: uint32, col: uint32, msg: String) { + p.diags[p.diagCount] = ParserDiag { + line: line, column: col, message: msg + }; + p.diagCount = p.diagCount + 1; +} + +// --------------------------------------------------------------------------- +// Type parsing +// --------------------------------------------------------------------------- + +func parserParseType(p: *Parser) -> *TypeExpr { + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + let kindTok: int = parserPeek(p, 0); + + // *T (pointer) + if kindTok == tkStar { + discard parserAdvance(p); + let te: *TypeExpr = bux_alloc(sizeof(TypeExpr)) as *TypeExpr; + te.kind = tekPointer; + te.line = line; + te.column = col; + te.pointerPointee = parserParseType(p); + return te; + } + + // name + let nameTok: LexToken = parserExpect(p, tkIdent, "expected type name"); + let te: *TypeExpr = bux_alloc(sizeof(TypeExpr)) as *TypeExpr; + te.kind = tekNamed; + te.line = nameTok.line; + te.column = nameTok.column; + te.typeName = nameTok.text; + + // Optional type args + if parserCheck(p, tkLt) { + discard parserAdvance(p); // < + let arg0: LexToken = parserExpect(p, tkIdent, "expected type argument"); + te.typeArgName0 = arg0.text; + te.typeArgCount = 1; + if parserMatch(p, tkComma) { + let arg1: LexToken = parserExpect(p, tkIdent, "expected type argument"); + te.typeArgName1 = arg1.text; + te.typeArgCount = 2; + } + discard parserExpect(p, tkGt, "expected '>' to close type arguments"); + } + return te; +} + +// --------------------------------------------------------------------------- +// Forward declarations and helpers +// --------------------------------------------------------------------------- + +func parserParseExpr(p: *Parser) -> *Expr; +func parserParseStmt(p: *Parser) -> *Stmt; +func parserParseBlock(p: *Parser) -> *Block; + +func parserMakeExpr(kind: int, line: uint32, col: uint32) -> *Expr { + let e: *Expr = bux_alloc(sizeof(Expr)) as *Expr; + e.kind = kind; + e.line = line; + e.column = col; + e.strValue = ""; + e.intValue = 0; + e.boolValue = false; + e.tokKind = 0; + e.tokText = ""; + e.child1 = null as *Expr; + e.child2 = null as *Expr; + e.child3 = null as *Expr; + e.refType = null as *TypeExpr; + e.refBlock = null as *Block; + e.genericCallee = ""; + e.genericTypeArg0 = ""; + e.genericTypeArg1 = ""; + e.genericTypeArgCount = 0; + e.structName = ""; + e.structFieldCount = 0; + return e; +} + +// --------------------------------------------------------------------------- +// Primary expressions +// --------------------------------------------------------------------------- + +func parserParsePrimary(p: *Parser) -> *Expr { + let tok: LexToken = parserCurToken(p); + let line: uint32 = tok.line; + let col: uint32 = tok.column; + let kind: int = tok.kind; + + // Literals + if kind == tkIntLiteral || kind == tkFloatLiteral || kind == tkStringLiteral + || kind == tkCharLiteral || kind == tkBoolLiteral { + discard parserAdvance(p); + let e: *Expr = parserMakeExpr(ekLiteral, line, col); + e.tokKind = kind; + e.tokText = tok.text; + return e; + } + + // Identifier + if kind == tkIdent { + discard parserAdvance(p); + let e: *Expr = parserMakeExpr(ekIdent, line, col); + e.strValue = tok.text; + return e; + } + + // self + if kind == tkSelf { + discard parserAdvance(p); + return parserMakeExpr(ekSelf, line, col); + } + + // null + if kind == tkNull { + discard parserAdvance(p); + let e: *Expr = parserMakeExpr(ekLiteral, line, col); + e.tokKind = tkNull; + return e; + } + + // sizeof(Type) + if kind == tkSizeOf { + discard parserAdvance(p); + let e: *Expr = parserMakeExpr(ekSizeOf, line, col); + e.refType = parserParseType(p); + return e; + } + + // #intrinsics + if kind >= tkHashLine && kind <= tkHashModule { + discard parserAdvance(p); + let e: *Expr = parserMakeExpr(ekLiteral, line, col); + e.intValue = kind; + return e; + } + + // ( expr ) + if kind == tkLParen { + discard parserAdvance(p); + let e: *Expr = parserParseExpr(p); + discard parserExpect(p, tkRParen, "expected ')'"); + return e; + } + + // -expr, !expr, *expr, &expr + if kind == tkMinus || kind == tkBang || kind == tkStar || kind == tkAmp { + discard parserAdvance(p); + let e: *Expr = parserMakeExpr(ekUnary, line, col); + e.intValue = kind; + e.child1 = parserParsePrimary(p); + return e; + } + + parserEmitDiag(p, line, col, "expected expression"); + return parserMakeExpr(ekLiteral, line, col); +} + +// --------------------------------------------------------------------------- +// Postfix: call, index, field access, as, is, ? +// --------------------------------------------------------------------------- + +func parserParsePostfix(p: *Parser) -> *Expr { + var left: *Expr = parserParsePrimary(p); + + while true { + let kind: int = parserPeek(p, 0); + + // Call: expr(args) + if kind == tkLParen { + discard parserAdvance(p); + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + let e: *Expr = parserMakeExpr(ekCall, line, col); + e.child1 = left; + // Parse arguments (up to 8) + // child2 = first arg, child3 = second arg, extra = rest + if !parserCheck(p, tkRParen) { + e.child2 = parserParseExpr(p); + if parserMatch(p, tkComma) { + e.child3 = parserParseExpr(p); + } + } + discard parserExpect(p, tkRParen, "expected ')'"); + left = e; + continue; + } + + // Index: expr[expr] + if kind == tkLBracket { + discard parserAdvance(p); + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + let e: *Expr = parserMakeExpr(ekIndex, line, col); + e.child1 = left; + e.child2 = parserParseExpr(p); + discard parserExpect(p, tkRBracket, "expected ']'"); + left = e; + continue; + } + + // Field: expr.name + if kind == tkDot { + discard parserAdvance(p); + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + let name: LexToken = parserExpect(p, tkIdent, "expected field name"); + let e: *Expr = parserMakeExpr(ekField, line, col); + e.child1 = left; + e.strValue = name.text; + left = e; + continue; + } + + // as, is + if kind == tkAs || kind == tkIs { + discard parserAdvance(p); + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + let ek: int = 0; + if kind == tkAs { ek = ekCast; } else { ek = ekIs; } + let e: *Expr = parserMakeExpr(ek, line, col); + e.child1 = left; + e.refType = parserParseType(p); + left = e; + continue; + } + + // ? (try operator) + if kind == tkQuestion { + discard parserAdvance(p); + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + let e: *Expr = parserMakeExpr(ekTry, line, col); + e.child1 = left; + left = e; + continue; + } + + // ++, -- + if kind == tkPlusPlus || kind == tkMinusMinus { + discard parserAdvance(p); + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + let e: *Expr = parserMakeExpr(ekPostfix, line, col); + e.child1 = left; + e.intValue = kind; + left = e; + continue; + } + + break; + } + return left; +} + +// --------------------------------------------------------------------------- +// Binary expression (precedence climbing) +// All binary operators: arithmetic, comparison, logical, bitwise, assignment +// --------------------------------------------------------------------------- + +func parserIsBinaryOp(kind: int) -> bool { + if kind >= tkPlus && kind <= tkStarStar { return true; } // arithmetic + if kind == tkAmp || kind == tkPipe || kind == tkCaret { return true; } // bitwise (no &|) + if kind >= tkShl && kind <= tkShrAssign { return true; } // shift + assign + if kind >= tkEq && kind <= tkGe { return true; } // comparison + if kind == tkAmpAmp || kind == tkPipePipe { return true; } // logical + if kind >= tkAssign && kind <= tkShrAssign { return true; } // all assigns + if kind == tkDotDot || kind == tkDotDotEqual { return true; } // range + return false; +} + +func parserParseBinary(p: *Parser) -> *Expr { + var left: *Expr = parserParsePostfix(p); + + while parserIsBinaryOp(parserPeek(p, 0)) { + let opTok: LexToken = parserAdvance(p); + let line: uint32 = opTok.line; + let col: uint32 = opTok.column; + let right: *Expr = parserParsePostfix(p); + let e: *Expr = parserMakeExpr(ekBinary, line, col); + e.intValue = opTok.kind; + e.child1 = left; + e.child2 = right; + left = e; + } + return left; +} + +// --------------------------------------------------------------------------- +// Ternary: cond ? then : else +// --------------------------------------------------------------------------- + +func parserParseTernary(p: *Parser) -> *Expr { + var left: *Expr = parserParseBinary(p); + if parserMatch(p, tkQuestion) { + let thenExpr: *Expr = parserParseExpr(p); + discard parserExpect(p, tkColon, "expected ':' in ternary"); + let elseExpr: *Expr = parserParseExpr(p); + let e: *Expr = parserMakeExpr(ekTernary, left.line, left.column); + e.child1 = left; + e.child2 = thenExpr; + e.child3 = elseExpr; + return e; + } + return left; +} + +// --------------------------------------------------------------------------- +// Top-level expression +// --------------------------------------------------------------------------- + +func parserParseExpr(p: *Parser) -> *Expr { + return parserParseTernary(p); +} + +// --------------------------------------------------------------------------- +// Statements +// --------------------------------------------------------------------------- + +func parserParseStmt(p: *Parser) -> *Stmt { + let tok: LexToken = parserCurToken(p); + let line: uint32 = tok.line; + let col: uint32 = tok.column; + let kind: int = tok.kind; + + // let / var + if kind == tkLet || kind == tkVar { + let isVar: bool = (kind == tkVar); + discard parserAdvance(p); + let nameTok: LexToken = parserExpect(p, tkIdent, "expected variable name"); + var typeExpr: *TypeExpr = null as *TypeExpr; + if parserMatch(p, tkColon) { + typeExpr = parserParseType(p); + } + discard parserExpect(p, tkAssign, "expected '=' in let/var statement"); + let init: *Expr = parserParseExpr(p); + parserMatch(p, tkSemicolon); // optional ; + + let s: *Stmt = bux_alloc(sizeof(Stmt)) as *Stmt; + s.kind = skLet; + s.line = line; + s.column = col; + s.strValue = nameTok.text; + s.boolValue = isVar; + s.child1 = init; + s.refStmtType = typeExpr; + return s; + } + + // if + if kind == tkIf { + discard parserAdvance(p); + let cond: *Expr = parserParseExpr(p); + let thenBlock: *Block = parserParseBlock(p); + var elseBlock: *Block = null as *Block; + if parserMatch(p, tkElse) { + if parserCheck(p, tkIf) { + // else if → recursively parse an if stmt inside else + elseBlock = parserParseBlock(p); + } else { + elseBlock = parserParseBlock(p); + } + } + let s: *Stmt = bux_alloc(sizeof(Stmt)) as *Stmt; + s.kind = skIf; + s.line = line; + s.column = col; + s.child1 = cond; + s.refStmtBlock = thenBlock; + s.refStmtElse = elseBlock; + return s; + } + + // while + if kind == tkWhile { + discard parserAdvance(p); + let cond: *Expr = parserParseExpr(p); + let body: *Block = parserParseBlock(p); + let s: *Stmt = bux_alloc(sizeof(Stmt)) as *Stmt; + s.kind = skWhile; + s.line = line; + s.column = col; + s.child1 = cond; + s.refStmtBlock = body; + return s; + } + + // loop + if kind == tkLoop { + discard parserAdvance(p); + let body: *Block = parserParseBlock(p); + let s: *Stmt = bux_alloc(sizeof(Stmt)) as *Stmt; + s.kind = skLoop; + s.line = line; + s.column = col; + s.refStmtBlock = body; + return s; + } + + // for + if kind == tkFor { + discard parserAdvance(p); + let varName: LexToken = parserExpect(p, tkIdent, "expected loop variable"); + discard parserExpect(p, tkIn, "expected 'in'"); + let iter: *Expr = parserParseExpr(p); + let body: *Block = parserParseBlock(p); + let s: *Stmt = bux_alloc(sizeof(Stmt)) as *Stmt; + s.kind = skFor; + s.line = line; + s.column = col; + s.strValue = varName.text; + s.child1 = iter; + s.refStmtBlock = body; + return s; + } + + // return + if kind == tkReturn { + discard parserAdvance(p); + var value: *Expr = null as *Expr; + if !parserCheck(p, tkSemicolon) && !parserCheck(p, tkNewLine) && !parserCheck(p, tkRBrace) { + value = parserParseExpr(p); + } + parserMatch(p, tkSemicolon); + let s: *Stmt = bux_alloc(sizeof(Stmt)) as *Stmt; + s.kind = skReturn; + s.line = line; + s.column = col; + s.child1 = value; + return s; + } + + // break / continue + if kind == tkBreak || kind == tkContinue { + let sk: int = 0; + if kind == tkBreak { sk = skBreak; } else { sk = skContinue; } + discard parserAdvance(p); + parserMatch(p, tkSemicolon); + let s: *Stmt = bux_alloc(sizeof(Stmt)) as *Stmt; + s.kind = sk; + s.line = line; + s.column = col; + return s; + } + + // match + if kind == tkMatch { + discard parserAdvance(p); + let subject: *Expr = parserParseExpr(p); + discard parserExpect(p, tkLBrace, "expected '{' to start match body"); + // Skip match body (simplified — just parse arms as empty) + while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile { + if parserCheck(p, tkNewLine) { discard parserAdvance(p); continue; } + discard parserParseExpr(p); // pattern + if parserMatch(p, tkFatArrow) { + discard parserParseExpr(p); // body + } + } + discard parserExpect(p, tkRBrace, "expected '}' to close match"); + let s: *Stmt = bux_alloc(sizeof(Stmt)) as *Stmt; + s.kind = skMatch; + s.line = line; + s.column = col; + s.child1 = subject; + return s; + } + + // Expression statement + if kind == tkNewLine || kind == tkSemicolon { + discard parserAdvance(p); + return null as *Stmt; + } + + let expr: *Expr = parserParseExpr(p); + parserMatch(p, tkSemicolon); + let s: *Stmt = bux_alloc(sizeof(Stmt)) as *Stmt; + s.kind = skExpr; + s.line = line; + s.column = col; + s.child1 = expr; + return s; +} + +// --------------------------------------------------------------------------- +// Block: { stmt* } +// --------------------------------------------------------------------------- + +func parserParseBlock(p: *Parser) -> *Block { + discard parserExpect(p, tkLBrace, "expected '{'"); + let b: *Block = bux_alloc(sizeof(Block)) as *Block; + b.line = parserCurToken(p).line; + b.column = parserCurToken(p).column; + b.stmtCount = 0; + + while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile { + if parserCheck(p, tkNewLine) || parserCheck(p, tkSemicolon) { + discard parserAdvance(p); + continue; + } + let s: *Stmt = parserParseStmt(p); + if s != null as *Stmt { + b.stmtCount = b.stmtCount + 1; + } + } + discard parserExpect(p, tkRBrace, "expected '}'"); + return b; +} + +// --------------------------------------------------------------------------- +// Function parameters +// --------------------------------------------------------------------------- + +func parserParseParamList(p: *Parser) -> *Decl { + let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl; + d.kind = dkFunc; + d.paramCount = 0; + + discard parserExpect(p, tkLParen, "expected '('"); + while !parserCheck(p, tkRParen) && parserPeek(p, 0) != tkEndOfFile { + if d.paramCount >= 6 { break; } + let nameTok: LexToken = parserExpect(p, tkIdent, "expected parameter name"); + discard parserExpect(p, tkColon, "expected ':' in parameter"); + let ptype: *TypeExpr = parserParseType(p); + + if d.paramCount == 0 { + d.param0.name = nameTok.text; + d.param0.refParamType = ptype; + } else if d.paramCount == 1 { + d.param1.name = nameTok.text; + d.param1.refParamType = ptype; + } else if d.paramCount == 2 { + d.param2.name = nameTok.text; + d.param2.refParamType = ptype; + } else if d.paramCount == 3 { + d.param3.name = nameTok.text; + d.param3.refParamType = ptype; + } else if d.paramCount == 4 { + d.param4.name = nameTok.text; + d.param4.refParamType = ptype; + } else if d.paramCount == 5 { + d.param5.name = nameTok.text; + d.param5.refParamType = ptype; + } + d.paramCount = d.paramCount + 1; + + if parserMatch(p, tkComma) { continue; } + break; + } + discard parserExpect(p, tkRParen, "expected ')'"); + return d; +} + +// --------------------------------------------------------------------------- +// Declarations +// --------------------------------------------------------------------------- + +func parserParseFuncDecl(p: *Parser, isPublic: bool, isExtern: bool) -> *Decl { + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + discard parserExpect(p, tkFunc, "expected 'func'"); + + let nameTok: LexToken = parserExpect(p, tkIdent, "expected function name"); + let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl; + d.kind = dkFunc; + d.line = line; + d.column = col; + d.isPublic = isPublic; + d.strValue = nameTok.text; + + // Type params + if parserCheck(p, tkLt) { + discard parserAdvance(p); + let tp0: LexToken = parserExpect(p, tkIdent, "expected type param"); + d.typeParam0 = tp0.text; + d.typeParamCount = 1; + if parserMatch(p, tkComma) { + let tp1: LexToken = parserExpect(p, tkIdent, "expected type param"); + d.typeParam1 = tp1.text; + d.typeParamCount = 2; + } + discard parserExpect(p, tkGt, "expected '>'"); + } + + // Params + let params: *Decl = parserParseParamList(p); + d.paramCount = params.paramCount; + d.param0 = params.param0; + d.param1 = params.param1; + d.param2 = params.param2; + d.param3 = params.param3; + d.param4 = params.param4; + d.param5 = params.param5; + + // Return type + if parserMatch(p, tkArrow) { + d.retType = parserParseType(p); + } + + // Body + if !isExtern && parserCheck(p, tkLBrace) { + d.refBody = parserParseBlock(p); + } else { + d.refBody = null as *Block; + } + + return d; +} + +func parserParseStructDecl(p: *Parser, isPublic: bool) -> *Decl { + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + discard parserExpect(p, tkStruct, "expected 'struct'"); + let nameTok: LexToken = parserExpect(p, tkIdent, "expected struct name"); + + let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl; + d.kind = dkStruct; + d.line = line; + d.column = col; + d.isPublic = isPublic; + d.strValue = nameTok.text; + + // Type params + if parserCheck(p, tkLt) { + discard parserAdvance(p); + let tp0: LexToken = parserExpect(p, tkIdent, "expected type param"); + d.typeParam0 = tp0.text; + d.typeParamCount = 1; + if parserMatch(p, tkComma) { + let tp1: LexToken = parserExpect(p, tkIdent, "expected type param"); + d.typeParam1 = tp1.text; + d.typeParamCount = 2; + } + discard parserExpect(p, tkGt, "expected '>'"); + } + + discard parserExpect(p, tkLBrace, "expected '{'"); + while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile { + if d.fieldCount >= 8 { break; } + if parserCheck(p, tkNewLine) { discard parserAdvance(p); continue; } + let fName: LexToken = parserExpect(p, tkIdent, "expected field name"); + discard parserExpect(p, tkColon, "expected ':' in struct field"); + let fType: *TypeExpr = parserParseType(p); + parserMatch(p, tkSemicolon); + + if d.fieldCount == 0 { + d.field0.name = fName.text; + d.field0.refFieldType = fType; + } else if d.fieldCount == 1 { + d.field1.name = fName.text; + d.field1.refFieldType = fType; + } else if d.fieldCount == 2 { + d.field2.name = fName.text; + d.field2.refFieldType = fType; + } else if d.fieldCount == 3 { + d.field3.name = fName.text; + d.field3.refFieldType = fType; + } + d.fieldCount = d.fieldCount + 1; + } + discard parserExpect(p, tkRBrace, "expected '}'"); + return d; +} + +func parserParseEnumDecl(p: *Parser, isPublic: bool) -> *Decl { + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + discard parserExpect(p, tkEnum, "expected 'enum'"); + let nameTok: LexToken = parserExpect(p, tkIdent, "expected enum name"); + + let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl; + d.kind = dkEnum; + d.line = line; + d.column = col; + d.isPublic = isPublic; + d.strValue = nameTok.text; + + discard parserExpect(p, tkLBrace, "expected '{'"); + while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile { + if d.variantCount >= 8 { break; } + if parserCheck(p, tkNewLine) || parserCheck(p, tkSemicolon) { discard parserAdvance(p); continue; } + let vName: LexToken = parserExpect(p, tkIdent, "expected variant name"); + + var v: EnumVariant; + v.name = vName.text; + + // Optional (Type, Type) data + if parserMatch(p, tkLParen) { + let t0: LexToken = parserExpect(p, tkIdent, "expected data type"); + v.fieldTypeName0 = t0.text; + v.fieldCount = 1; + if parserMatch(p, tkComma) { + let t1: LexToken = parserExpect(p, tkIdent, "expected data type"); + v.fieldTypeName1 = t1.text; + v.fieldCount = 2; + } + discard parserExpect(p, tkRParen, "expected ')'"); + } + + if d.variantCount == 0 { d.variant0 = v; } + else if d.variantCount == 1 { d.variant1 = v; } + else if d.variantCount == 2 { d.variant2 = v; } + else if d.variantCount == 3 { d.variant3 = v; } + d.variantCount = d.variantCount + 1; + + parserMatch(p, tkComma); + if parserCheck(p, tkNewLine) { discard parserAdvance(p); } + } + discard parserExpect(p, tkRBrace, "expected '}'"); + return d; +} + +func parserParseImportDecl(p: *Parser, isPublic: bool) -> *Decl { + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + discard parserExpect(p, tkImport, "expected 'import'"); + + let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl; + d.kind = dkUse; + d.line = line; + d.column = col; + d.isPublic = isPublic; + + // Parse path: Std::Io::PrintLine + var pathStr: String = ""; + var segCount: int = 0; + while parserCheck(p, tkIdent) || (segCount > 0 && parserCheck(p, tkColonColon)) { + if segCount > 0 { + discard parserAdvance(p); // :: + if pathStr.len > 0 { + let tmp: *char8 = bux_alloc(256) as *char8; + // Append to path string (simplified) + pathStr = String_Concat(pathStr, "::"); + } + } + let seg: LexToken = parserExpect(p, tkIdent, "expected module path segment"); + pathStr = String_Concat(pathStr, seg.text); + segCount = segCount + 1; + } + d.usePath = pathStr; + + // Optional ::{name1, name2} + if parserMatch(p, tkColonColon) && parserCheck(p, tkLBrace) { + discard parserAdvance(p); // { + var names: String = ""; + while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile { + let n: LexToken = parserExpect(p, tkIdent, "expected import name"); + names = String_Concat(names, n.text); + names = String_Concat(names, ","); + if !parserMatch(p, tkComma) { break; } + } + discard parserExpect(p, tkRBrace, "expected '}'"); + d.useNames = names; + d.useKind = 2; // ukMulti + } else { + d.useKind = 0; // ukSingle + } + + parserMatch(p, tkSemicolon); + return d; +} + +func parserParseExternDecl(p: *Parser, isPublic: bool) -> *Decl { + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + discard parserExpect(p, tkExtern, "expected 'extern'"); + + if parserCheck(p, tkFunc) { + let d: *Decl = parserParseFuncDecl(p, isPublic, true); + d.kind = dkExternFunc; + return d; + } + + let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl; + d.kind = dkExternFunc; + d.line = line; + d.column = col; + d.isPublic = isPublic; + return d; +} + +// --------------------------------------------------------------------------- +// Top-level declaration +// --------------------------------------------------------------------------- + +func parserParseDecl(p: *Parser) -> *Decl { + let isPublic: bool = parserMatch(p, tkPub); + let kind: int = parserPeek(p, 0); + + if kind == tkFunc { return parserParseFuncDecl(p, isPublic, false); } + if kind == tkStruct { return parserParseStructDecl(p, isPublic); } + if kind == tkEnum { return parserParseEnumDecl(p, isPublic); } + if kind == tkImport { return parserParseImportDecl(p, isPublic); } + if kind == tkExtern { return parserParseExternDecl(p, isPublic); } + + if kind == tkExtend { + discard parserAdvance(p); + let line: uint32 = parserCurToken(p).line; + let col: uint32 = parserCurToken(p).column; + let typeName: LexToken = parserExpect(p, tkIdent, "expected type name"); + + let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl; + d.kind = dkImpl; + d.line = line; + d.column = col; + d.isPublic = isPublic; + d.strValue = typeName.text; + + // Optional + if parserCheck(p, tkLt) { + discard parserAdvance(p); + let tp0: LexToken = parserExpect(p, tkIdent, "expected type param"); + d.typeParam0 = tp0.text; + d.typeParamCount = 1; + discard parserExpect(p, tkGt, "expected '>'"); + } + + discard parserExpect(p, tkLBrace, "expected '{'"); + while !parserCheck(p, tkRBrace) && parserPeek(p, 0) != tkEndOfFile { + if parserCheck(p, tkNewLine) { discard parserAdvance(p); continue; } + if parserCheck(p, tkFunc) { + let m: *Decl = parserParseFuncDecl(p, false, false); + // Store method in linked list + if d.methodCount == 0 { + d.childDecl1 = m; + } else if d.methodCount == 1 { + d.childDecl2 = m; + } + d.methodCount = d.methodCount + 1; + } else { + break; + } + } + discard parserExpect(p, tkRBrace, "expected '}'"); + return d; + } + + if kind == tkModule { + discard parserAdvance(p); + let name: LexToken = parserExpect(p, tkIdent, "expected module name"); + parserMatch(p, tkSemicolon); + let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl; + d.kind = dkModule; + d.strValue = name.text; + return d; + } + + if kind == tkConst { + discard parserAdvance(p); + let name: LexToken = parserExpect(p, tkIdent, "expected const name"); + discard parserExpect(p, tkColon, "expected ':'"); + let ct: *TypeExpr = parserParseType(p); + discard parserExpect(p, tkAssign, "expected '='"); + let val: *Expr = parserParseExpr(p); + parserMatch(p, tkSemicolon); + let d: *Decl = bux_alloc(sizeof(Decl)) as *Decl; + d.kind = dkConst; + d.strValue = name.text; + d.constType = ct; + d.constValue = val; + return d; + } + + // Skip unknown declarations + while parserPeek(p, 0) != tkEndOfFile && parserPeek(p, 0) != tkNewLine && parserPeek(p, 0) != tkRBrace { + discard parserAdvance(p); + } + return null as *Decl; +} + +// --------------------------------------------------------------------------- +// Module parsing +// --------------------------------------------------------------------------- + +func Parser_Parse(tokens: *LexToken, tokenCount: int) -> *Module { + let p: *Parser = bux_alloc(sizeof(Parser)) as *Parser; + p.tokens = tokens; + p.tokenCount = tokenCount; + p.pos = 0; + p.structInitAllowed = true; + let diagBuf: *ParserDiag = bux_alloc(256 as uint * sizeof(ParserDiag)) as *ParserDiag; + p.diags = diagBuf; + p.diagCount = 0; + + let mod: *Module = bux_alloc(sizeof(Module)) as *Module; + mod.name = ""; + mod.itemCount = 0; + mod.firstItem = null as *Decl; + + // Parse declarations until EOF + while parserPeek(p, 0) != tkEndOfFile { + if parserCheck(p, tkNewLine) || parserCheck(p, tkSemicolon) { + discard parserAdvance(p); + continue; + } + let decl: *Decl = parserParseDecl(p); + if decl != null as *Decl { + decl.childDecl2 = mod.firstItem; // push front + mod.firstItem = decl; + mod.itemCount = mod.itemCount + 1; + } + } + + return mod; +} + +func Parser_DiagCount(p: *Parser) -> int { + return p.diagCount; +} + +func Parser_Free(p: *Parser) { + bux_free(p.diags as *void); + bux_free(p as *void); +} +} diff --git a/_selfhost/src/scope.bux b/_selfhost/src/scope.bux new file mode 100644 index 0000000..062d359 --- /dev/null +++ b/_selfhost/src/scope.bux @@ -0,0 +1,93 @@ +// scope.bux — Symbol table with parent-chain lookup +module Scope { + +// Symbol kinds +const skVar: int = 0; +const skFunc: int = 1; +const skType: int = 2; +const skConst: int = 3; +const skModule: int = 4; + +// Maximum symbols per scope +const maxSymbols: int = 256; + +struct Symbol { + kind: int, + name: String, + typeKind: int, + typeName: String, + isMutable: bool, + isPublic: bool, +} + +struct Scope { + symbols: *Symbol, + count: int, + parent: *Scope, +} + +// --------------------------------------------------------------------------- +// Scope operations +// --------------------------------------------------------------------------- + +func Scope_New() -> Scope { + let sz: uint = maxSymbols as uint * sizeof(Symbol); + let data: *Symbol = bux_alloc(sz) as *Symbol; + return Scope { symbols: data, count: 0, parent: null as *Scope }; +} + +func Scope_NewChild(parent: *Scope) -> Scope { + let sz: uint = maxSymbols as uint * sizeof(Symbol); + let data: *Symbol = bux_alloc(sz) as *Symbol; + return Scope { symbols: data, count: 0, parent: parent }; +} + +func Scope_Define(scope: *Scope, sym: Symbol) -> bool { + // Check local scope for duplicates + var i: int = 0; + while i < scope.count { + if String_Eq(scope.symbols[i].name, sym.name) { + return false; + } + i = i + 1; + } + if scope.count < maxSymbols { + scope.symbols[scope.count] = sym; + scope.count = scope.count + 1; + return true; + } + return false; +} + +func Scope_Lookup(scope: *Scope, name: String) -> Symbol { + var cur: *Scope = scope; + while cur != null as *Scope { + var i: int = 0; + while i < cur.count { + if String_Eq(cur.symbols[i].name, name) { + return cur.symbols[i]; + } + i = i + 1; + } + cur = cur.parent; + } + var empty: Symbol; + return empty; +} + +func Scope_LookupLocal(scope: *Scope, name: String) -> Symbol { + var i: int = 0; + while i < scope.count { + if String_Eq(scope.symbols[i].name, name) { + return scope.symbols[i]; + } + i = i + 1; + } + var empty: Symbol; + return empty; +} + +func Scope_Free(scope: *Scope) { + bux_free(scope.symbols as *void); +} +} diff --git a/_selfhost/src/sema.bux b/_selfhost/src/sema.bux new file mode 100644 index 0000000..1a31e09 --- /dev/null +++ b/_selfhost/src/sema.bux @@ -0,0 +1,395 @@ +// sema.bux — Semantic analysis (type checker, ported from sema.nim) +// Validates types, resolves identifiers, checks function calls. +module Sema { + +// --------------------------------------------------------------------------- +// Sema context +// --------------------------------------------------------------------------- +struct Sema { + module: *Module, + scope: *Scope, + typeTable: *StringMap, + methodTable: *StringMap, + diagCount: int, + diags: *SemaDiag, + hasError: bool, +} + +struct SemaDiag { + line: uint32, + column: uint32, + message: String, +} + +// --------------------------------------------------------------------------- +// Diagnostics +// --------------------------------------------------------------------------- + +func Sema_EmitError(sema: *Sema, line: uint32, col: uint32, msg: String) { + if sema.diagCount < 256 { + sema.diags[sema.diagCount] = SemaDiag { line: line, column: col, message: msg }; + sema.diagCount = sema.diagCount + 1; + } + sema.hasError = true; +} + +// --------------------------------------------------------------------------- +// Type resolution from TypeExpr → Type constants +// --------------------------------------------------------------------------- + +func Sema_ResolveType(sema: *Sema, te: *TypeExpr) -> int { + if te == null as *TypeExpr { return tkUnknown; } + let name: String = te.typeName; + + if te.kind == tekPointer { + return tkPointer; + } + + if String_Eq(name, "void") { return tkVoid; } + if String_Eq(name, "bool") { return tkBool; } + if String_Eq(name, "bool8") { return tkBool8; } + if String_Eq(name, "bool16") { return tkBool16; } + if String_Eq(name, "bool32") { return tkBool32; } + if String_Eq(name, "char8") { return tkChar8; } + if String_Eq(name, "char16") { return tkChar16; } + if String_Eq(name, "char32") { return tkChar32; } + if String_Eq(name, "String") { return tkStr; } + if String_Eq(name, "str") { return tkStr; } + if String_Eq(name, "int8") { return tkInt8; } + if String_Eq(name, "int16") { return tkInt16; } + if String_Eq(name, "int32") { return tkInt32; } + if String_Eq(name, "int64") { return tkInt64; } + if String_Eq(name, "int") { return tkInt; } + if String_Eq(name, "uint8") { return tkUInt8; } + if String_Eq(name, "uint16") { return tkUInt16; } + if String_Eq(name, "uint32") { return tkUInt32; } + if String_Eq(name, "uint64") { return tkUInt64; } + if String_Eq(name, "uint") { return tkUInt; } + if String_Eq(name, "float32") { return tkFloat32; } + if String_Eq(name, "float64") { return tkFloat64; } + if String_Eq(name, "float") { return tkFloat64; } + + // Check type table for user-defined types + if sema.typeTable != null as *StringMap { + if StringMap_Has(sema.typeTable, name) { + return tkNamed; + } + } + return tkNamed; // assume named type +} + +// --------------------------------------------------------------------------- +// Type predicates +// --------------------------------------------------------------------------- + +func Sema_IsNumeric(kind: int) -> bool { + if kind == tkUnknown || kind == tkNamed || kind == tkTypeParam { return true; } + return kind >= tkInt8 && kind <= tkUInt64; +} + +func Sema_IsBool(kind: int) -> bool { + return kind == tkBool || kind == tkBool8 || kind == tkBool16 || kind == tkBool32; +} + +func Sema_TypeName(kind: int) -> String { + if kind == tkUnknown { return "?"; } + if kind == tkVoid { return "void"; } + if kind == tkBool { return "bool"; } + if kind == tkInt { return "int"; } + if kind == tkInt64 { return "int64"; } + if kind == tkUInt { return "uint"; } + if kind == tkFloat64 { return "float64"; } + if kind == tkStr { return "String"; } + if kind == tkPointer { return "*ptr"; } + if kind == tkNamed { return "user-type"; } + if kind == tkTypeParam { return "type-param"; } + return "?"; +} + +// --------------------------------------------------------------------------- +// Expression type checking +// --------------------------------------------------------------------------- + +func Sema_CheckExpr(sema: *Sema, expr: *Expr) -> int { + if expr == null as *Expr { return tkUnknown; } + let kind: int = expr.kind; + + // Literal + if kind == ekLiteral { + let tk: int = expr.tokKind; + if tk == tkIntLiteral { return tkInt; } + if tk == tkFloatLiteral { return tkFloat64; } + if tk == tkStringLiteral { return tkStr; } + if tk == tkBoolLiteral { return tkBool; } + if tk == tkCharLiteral { return tkChar32; } + if tk == tkNull { return tkPointer; } + return tkUnknown; + } + + // Identifier — look up in scope + if kind == ekIdent { + let sym: Symbol = Scope_Lookup(sema.scope, expr.strValue); + if sym.kind == 0 && !String_Eq(sym.name, expr.strValue) { + Sema_EmitError(sema, expr.line, expr.column, "undeclared identifier"); + return tkUnknown; + } + return sym.typeKind; + } + + // Binary + if kind == ekBinary { + let left: int = Sema_CheckExpr(sema, expr.child1); + let right: int = Sema_CheckExpr(sema, expr.child2); + let op: int = expr.intValue; + + // Comparison operators return bool + if op >= tkEq && op <= tkGe { return tkBool; } + // Logical operators return bool + if op == tkAmpAmp || op == tkPipePipe || op == tkBang { return tkBool; } + // Arithmetic returns wider type + if !Sema_IsNumeric(left) || !Sema_IsNumeric(right) { + Sema_EmitError(sema, expr.line, expr.column, "arithmetic requires numeric operands"); + } + if left == tkFloat64 || right == tkFloat64 { return tkFloat64; } + return tkInt; + } + + // Unary + if kind == ekUnary { + let operand: int = Sema_CheckExpr(sema, expr.child1); + let op: int = expr.intValue; + if op == tkBang { return tkBool; } + if op == tkStar { return tkUnknown; } // dereference — resolve pointee + if op == tkAmp { return tkPointer; } + return operand; + } + + // Call + if kind == ekCall { + let callee: int = Sema_CheckExpr(sema, expr.child1); + if callee == tkUnknown { return tkUnknown; } + // Assume callee returns same type (simplified) + return callee; + } + + // Ternary + if kind == ekTernary { + return Sema_CheckExpr(sema, expr.child2); // then type + } + + // Cast — return target type + if kind == ekCast { + if expr.refType != null as *TypeExpr { + return Sema_ResolveType(sema, expr.refType); + } + return tkUnknown; + } + + // Try (?) + if kind == ekTry { + let inner: int = Sema_CheckExpr(sema, expr.child1); + return inner; // simplified + } + + return tkUnknown; +} + +// --------------------------------------------------------------------------- +// Statement checking +// --------------------------------------------------------------------------- + +func Sema_CheckStmt(sema: *Sema, stmt: *Stmt) { + if stmt == null as *Stmt { return; } + let kind: int = stmt.kind; + + // Let/var + if kind == skLet { + let initType: int = Sema_CheckExpr(sema, stmt.child1); + // Register variable in scope + var sym: Symbol; + sym.kind = skVar; + sym.name = stmt.strValue; + sym.typeKind = initType; + sym.isMutable = stmt.boolValue; + sym.isPublic = false; + discard Scope_Define(sema.scope, sym); + return; + } + + // Return + if kind == skReturn { + if stmt.child1 != null as *Expr { + discard Sema_CheckExpr(sema, stmt.child1); + } + return; + } + + // If + if kind == skIf { + let condType: int = Sema_CheckExpr(sema, stmt.child1); + if !Sema_IsBool(condType) && condType != tkUnknown { + Sema_EmitError(sema, stmt.line, stmt.column, "if condition must be bool"); + } + return; + } + + // While + if kind == skWhile { + let condType: int = Sema_CheckExpr(sema, stmt.child1); + if !Sema_IsBool(condType) && condType != tkUnknown { + Sema_EmitError(sema, stmt.line, stmt.column, "while condition must be bool"); + } + return; + } + + // Expression statement + if kind == skExpr && stmt.child1 != null as *Expr { + discard Sema_CheckExpr(sema, stmt.child1); + return; + } +} + +// --------------------------------------------------------------------------- +// Collect globals (register functions, structs, enums in scope) +// --------------------------------------------------------------------------- + +func Sema_CollectGlobals(sema: *Sema) { + var decl: *Decl = sema.module.firstItem; + while decl != null as *Decl { + let dk: int = decl.kind; + + // Function + if dk == dkFunc { + var sym: Symbol; + sym.kind = skFunc; + sym.name = decl.strValue; + sym.typeKind = tkFunc; + sym.isPublic = decl.isPublic; + discard Scope_Define(sema.scope, sym); + } + + // Struct + if dk == dkStruct { + var sym: Symbol; + sym.kind = skType; + sym.name = decl.strValue; + sym.typeKind = tkNamed; + sym.isPublic = decl.isPublic; + discard Scope_Define(sema.scope, sym); + } + + // Enum + if dk == dkEnum { + var sym: Symbol; + sym.kind = skType; + sym.name = decl.strValue; + sym.typeKind = tkNamed; + sym.isPublic = decl.isPublic; + discard Scope_Define(sema.scope, sym); + } + + // Extern function + if dk == dkExternFunc { + var sym: Symbol; + sym.kind = skFunc; + sym.name = decl.strValue; + sym.typeKind = tkFunc; + sym.isPublic = true; + discard Scope_Define(sema.scope, sym); + } + + decl = decl.childDecl2; + } +} + +// --------------------------------------------------------------------------- +// Analyze — main entry point +// --------------------------------------------------------------------------- + +func Sema_Analyze(mod: *Module) -> *Sema { + let s: *Sema = bux_alloc(sizeof(Sema)) as *Sema; + s.module = mod; + s.scope = bux_alloc(sizeof(Scope)) as *Scope; + s.scope.symbols = bux_alloc(256 as uint * sizeof(Symbol)) as *Symbol; + s.scope.count = 0; + s.scope.parent = null as *Scope; + s.hasError = false; + s.diagCount = 0; + s.diags = bux_alloc(256 as uint * sizeof(SemaDiag)) as *SemaDiag; + s.typeTable = null as *StringMap; + s.methodTable = null as *StringMap; + + // First pass: collect globals + Sema_CollectGlobals(s); + + // Second pass: check function bodies + var decl: *Decl = mod.firstItem; + while decl != null as *Decl { + if decl.kind == dkFunc && decl.refBody != null as *Block { + // Create function scope (child of global) + var funcScope: Scope = Scope_NewChild(s.scope); + + // Add type params to scope + if decl.typeParamCount >= 1 { + var tpSym: Symbol; + tpSym.kind = skType; + tpSym.name = decl.typeParam0; + tpSym.typeKind = tkTypeParam; + discard Scope_Define(&funcScope, tpSym); + } + if decl.typeParamCount >= 2 { + var tpSym2: Symbol; + tpSym2.kind = skType; + tpSym2.name = decl.typeParam1; + tpSym2.typeKind = tkTypeParam; + discard Scope_Define(&funcScope, tpSym2); + } + + // Add parameters to scope + var i: int = 0; + while i < decl.paramCount { + var pSym: Symbol; + pSym.kind = skVar; + pSym.typeKind = tkInt; // simplified + pSym.isMutable = false; + if i == 0 { pSym.name = decl.param0.name; } + else if i == 1 { pSym.name = decl.param1.name; } + else if i == 2 { pSym.name = decl.param2.name; } + else if i == 3 { pSym.name = decl.param3.name; } + else if i == 4 { pSym.name = decl.param4.name; } + else if i == 5 { pSym.name = decl.param5.name; } + discard Scope_Define(&funcScope, pSym); + i = i + 1; + } + + // Switch to function scope and check body statements + let prevScope: *Scope = s.scope; + s.scope = &funcScope; + + // Check body (simplified — just count statements) + var stmtCount: int = decl.refBody.stmtCount; + // In a full implementation, iterate statements and check each + + s.scope = prevScope; + } + decl = decl.childDecl2; + } + + return s; +} + +func Sema_HasError(sema: *Sema) -> bool { + return sema.hasError; +} + +func Sema_DiagCount(sema: *Sema) -> int { + return sema.diagCount; +} + +func Sema_Free(sema: *Sema) { + bux_free(sema.scope.symbols as *void); + bux_free(sema.scope as *void); + bux_free(sema.diags as *void); + bux_free(sema as *void); +} +} diff --git a/_selfhost/src/source_location.bux b/_selfhost/src/source_location.bux new file mode 100644 index 0000000..3ab88e6 --- /dev/null +++ b/_selfhost/src/source_location.bux @@ -0,0 +1,13 @@ +// source_location.bux — Source position tracking +module SourceLocation { + +struct SourceLocation { + line: uint32, + column: uint32, + offset: uint32, +} + +func SourceLocation_New(line: uint32, column: uint32, offset: uint32) -> SourceLocation { + return SourceLocation { line: line, column: column, offset: offset }; +} +} diff --git a/_selfhost/src/Main.bux b/_selfhost/src/token.bux similarity index 53% rename from _selfhost/src/Main.bux rename to _selfhost/src/token.bux index 32776c1..ec72d66 100644 --- a/_selfhost/src/Main.bux +++ b/_selfhost/src/token.bux @@ -1,16 +1,3 @@ -module BuxC { -// source_location.bux — Source position tracking -module SourceLocation { - -struct SourceLocation { - line: uint32, - column: uint32, - offset: uint32, -} - -func SourceLocation_New(line: uint32, column: uint32, offset: uint32) -> SourceLocation { - return SourceLocation { line: line, column: column, offset: offset }; -} // token.bux — Token kinds and helpers module Token { @@ -324,284 +311,4 @@ func Token_KindName(kind: int) -> String { if kind == tkEndOfFile { return "end of file"; } return "unknown token"; } -// types.bux — Type system definitions and factories -module Types { - -// --------------------------------------------------------------------------- -// TypeKind constants -// --------------------------------------------------------------------------- - -const tkUnknown: int = 0; -const tkVoid: int = 1; -const tkBool: int = 2; -const tkBool8: int = 3; -const tkBool16: int = 4; -const tkBool32: int = 5; -const tkChar8: int = 6; -const tkChar16: int = 7; -const tkChar32: int = 8; -const tkStr: int = 9; -const tkInt8: int = 10; -const tkInt16: int = 11; -const tkInt32: int = 12; -const tkInt64: int = 13; -const tkInt: int = 14; -const tkUInt8: int = 15; -const tkUInt16: int = 16; -const tkUInt32: int = 17; -const tkUInt64: int = 18; -const tkUInt: int = 19; -const tkFloat32: int = 20; -const tkFloat64: int = 21; -const tkPointer: int = 22; -const tkSlice: int = 23; -const tkRange: int = 24; -const tkTuple: int = 25; -const tkNamed: int = 26; -const tkTypeParam: int = 27; -const tkFunc: int = 28; - -// --------------------------------------------------------------------------- -// Type struct -// --------------------------------------------------------------------------- - -struct Type { - kind: int, - name: String, - // inner types stored as array of pointers (simplified) - innerKind1: int, - innerName1: String, - innerKind2: int, - innerName2: String, - innerKind3: int, - innerName3: String, - innerCount: int, } - -// --------------------------------------------------------------------------- -// Factories -// --------------------------------------------------------------------------- - -func Type_MakeUnknown() -> Type { - return Type { kind: tkUnknown, name: "", innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -func Type_MakeVoid() -> Type { - return Type { kind: tkVoid, name: "void", innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -func Type_MakeBool() -> Type { - return Type { kind: tkBool, name: "bool", innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -func Type_MakeInt() -> Type { - return Type { kind: tkInt, name: "int", innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -func Type_MakeInt64() -> Type { - return Type { kind: tkInt64, name: "int64", innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -func Type_MakeUInt() -> Type { - return Type { kind: tkUInt, name: "uint", innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -func Type_MakeFloat64() -> Type { - return Type { kind: tkFloat64, name: "float64", innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -func Type_MakeStr() -> Type { - return Type { kind: tkStr, name: "String", innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -func Type_MakePointer(pointee: Type) -> Type { - return Type { kind: tkPointer, name: "", innerCount: 1, - innerKind1: pointee.kind, innerName1: pointee.name, - innerKind2: 0, innerName2: "", innerKind3: 0, innerName3: "" }; -} - -func Type_MakeNamed(name: String) -> Type { - return Type { kind: tkNamed, name: name, innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -func Type_MakeTypeParam(name: String) -> Type { - return Type { kind: tkTypeParam, name: name, innerCount: 0, - innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", - innerKind3: 0, innerName3: "" }; -} - -// --------------------------------------------------------------------------- -// Predicates -// --------------------------------------------------------------------------- - -func Type_IsNumeric(t: Type) -> bool { - let k: int = t.kind; - if k == tkInt8 || k == tkInt16 || k == tkInt32 || k == tkInt64 || k == tkInt { return true; } - if k == tkUInt8 || k == tkUInt16 || k == tkUInt32 || k == tkUInt64 || k == tkUInt { return true; } - if k == tkFloat32 || k == tkFloat64 { return true; } - if k == tkUnknown || k == tkNamed || k == tkTypeParam { return true; } - return false; -} - -func Type_IsInteger(t: Type) -> bool { - let k: int = t.kind; - if k == tkInt8 || k == tkInt16 || k == tkInt32 || k == tkInt64 || k == tkInt { return true; } - if k == tkUInt8 || k == tkUInt16 || k == tkUInt32 || k == tkUInt64 || k == tkUInt { return true; } - if k == tkUnknown || k == tkNamed || k == tkTypeParam { return true; } - return false; -} - -func Type_IsBool(t: Type) -> bool { - let k: int = t.kind; - return k == tkBool || k == tkBool8 || k == tkBool16 || k == tkBool32; -} - -func Type_IsPointer(t: Type) -> bool { - return t.kind == tkPointer; -} - -func Type_IsSlice(t: Type) -> bool { - return t.kind == tkSlice; -} - -// --------------------------------------------------------------------------- -// Comparison (structural, limited to kind + name for simplicity) -// --------------------------------------------------------------------------- - -func Type_Eq(a: Type, b: Type) -> bool { - if a.kind != b.kind { return false; } - if a.kind == tkNamed || a.kind == tkTypeParam { - return String_Eq(a.name, b.name); - } - return true; -} - -// --------------------------------------------------------------------------- -// toString -// --------------------------------------------------------------------------- - -func Type_ToString(t: Type) -> String { - if t.kind == tkVoid { return "void"; } - if t.kind == tkBool { return "bool"; } - if t.kind == tkStr { return "String"; } - if t.kind == tkInt { return "int"; } - if t.kind == tkInt64 { return "int64"; } - if t.kind == tkUInt { return "uint"; } - if t.kind == tkFloat64 { return "float64"; } - if t.kind == tkNamed { return t.name; } - if t.kind == tkTypeParam { return t.name; } - if t.kind == tkPointer { return "*" + t.innerName1; } - return "?"; -} -// scope.bux — Symbol table with parent-chain lookup -module Scope { - -// Symbol kinds -const skVar: int = 0; -const skFunc: int = 1; -const skType: int = 2; -const skConst: int = 3; -const skModule: int = 4; - -// Maximum symbols per scope -const maxSymbols: int = 256; - -struct Symbol { - kind: int, - name: String, - typeKind: int, - typeName: String, - isMutable: bool, - isPublic: bool, -} - -struct Scope { - symbols: *Symbol, - count: int, - parent: *Scope, -} - -// --------------------------------------------------------------------------- -// Scope operations -// --------------------------------------------------------------------------- - -func Scope_New() -> Scope { - let sz: uint = maxSymbols as uint * sizeof(Symbol); - let data: *Symbol = bux_alloc(sz) as *Symbol; - return Scope { symbols: data, count: 0, parent: null as *Scope }; -} - -func Scope_NewChild(parent: *Scope) -> Scope { - let sz: uint = maxSymbols as uint * sizeof(Symbol); - let data: *Symbol = bux_alloc(sz) as *Symbol; - return Scope { symbols: data, count: 0, parent: parent }; -} - -func Scope_Define(scope: *Scope, sym: Symbol) -> bool { - // Check local scope for duplicates - var i: int = 0; - while i < scope.count { - if String_Eq(scope.symbols[i].name, sym.name) { - return false; - } - i = i + 1; - } - if scope.count < maxSymbols { - scope.symbols[scope.count] = sym; - scope.count = scope.count + 1; - return true; - } - return false; -} - -func Scope_Lookup(scope: *Scope, name: String) -> Symbol { - var cur: *Scope = scope; - while cur != null as *Scope { - var i: int = 0; - while i < cur.count { - if String_Eq(cur.symbols[i].name, name) { - return cur.symbols[i]; - } - i = i + 1; - } - cur = cur.parent; - } - var empty: Symbol; - return empty; -} - -func Scope_LookupLocal(scope: *Scope, name: String) -> Symbol { - var i: int = 0; - while i < scope.count { - if String_Eq(scope.symbols[i].name, name) { - return scope.symbols[i]; - } - i = i + 1; - } - var empty: Symbol; - return empty; -} - -func Scope_Free(scope: *Scope) { - bux_free(scope.symbols as *void); -} -} -func Main() -> int { return 0; } diff --git a/_selfhost/src/types.bux b/_selfhost/src/types.bux new file mode 100644 index 0000000..af6dd11 --- /dev/null +++ b/_selfhost/src/types.bux @@ -0,0 +1,188 @@ +// types.bux — Type system definitions and factories +module Types { + +// --------------------------------------------------------------------------- +// TypeKind constants +// --------------------------------------------------------------------------- + +const tkUnknown: int = 0; +const tkVoid: int = 1; +const tkBool: int = 2; +const tkBool8: int = 3; +const tkBool16: int = 4; +const tkBool32: int = 5; +const tkChar8: int = 6; +const tkChar16: int = 7; +const tkChar32: int = 8; +const tkStr: int = 9; +const tkInt8: int = 10; +const tkInt16: int = 11; +const tkInt32: int = 12; +const tkInt64: int = 13; +const tkInt: int = 14; +const tkUInt8: int = 15; +const tkUInt16: int = 16; +const tkUInt32: int = 17; +const tkUInt64: int = 18; +const tkUInt: int = 19; +const tkFloat32: int = 20; +const tkFloat64: int = 21; +const tkPointer: int = 22; +const tkSlice: int = 23; +const tkRange: int = 24; +const tkTuple: int = 25; +const tkNamed: int = 26; +const tkTypeParam: int = 27; +const tkFunc: int = 28; + +// --------------------------------------------------------------------------- +// Type struct +// --------------------------------------------------------------------------- + +struct Type { + kind: int, + name: String, + // inner types stored as array of pointers (simplified) + innerKind1: int, + innerName1: String, + innerKind2: int, + innerName2: String, + innerKind3: int, + innerName3: String, + innerCount: int, +} + +// --------------------------------------------------------------------------- +// Factories +// --------------------------------------------------------------------------- + +func Type_MakeUnknown() -> Type { + return Type { kind: tkUnknown, name: "", innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +func Type_MakeVoid() -> Type { + return Type { kind: tkVoid, name: "void", innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +func Type_MakeBool() -> Type { + return Type { kind: tkBool, name: "bool", innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +func Type_MakeInt() -> Type { + return Type { kind: tkInt, name: "int", innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +func Type_MakeInt64() -> Type { + return Type { kind: tkInt64, name: "int64", innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +func Type_MakeUInt() -> Type { + return Type { kind: tkUInt, name: "uint", innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +func Type_MakeFloat64() -> Type { + return Type { kind: tkFloat64, name: "float64", innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +func Type_MakeStr() -> Type { + return Type { kind: tkStr, name: "String", innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +func Type_MakePointer(pointee: Type) -> Type { + return Type { kind: tkPointer, name: "", innerCount: 1, + innerKind1: pointee.kind, innerName1: pointee.name, + innerKind2: 0, innerName2: "", innerKind3: 0, innerName3: "" }; +} + +func Type_MakeNamed(name: String) -> Type { + return Type { kind: tkNamed, name: name, innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +func Type_MakeTypeParam(name: String) -> Type { + return Type { kind: tkTypeParam, name: name, innerCount: 0, + innerKind1: 0, innerName1: "", innerKind2: 0, innerName2: "", + innerKind3: 0, innerName3: "" }; +} + +// --------------------------------------------------------------------------- +// Predicates +// --------------------------------------------------------------------------- + +func Type_IsNumeric(t: Type) -> bool { + let k: int = t.kind; + if k == tkInt8 || k == tkInt16 || k == tkInt32 || k == tkInt64 || k == tkInt { return true; } + if k == tkUInt8 || k == tkUInt16 || k == tkUInt32 || k == tkUInt64 || k == tkUInt { return true; } + if k == tkFloat32 || k == tkFloat64 { return true; } + if k == tkUnknown || k == tkNamed || k == tkTypeParam { return true; } + return false; +} + +func Type_IsInteger(t: Type) -> bool { + let k: int = t.kind; + if k == tkInt8 || k == tkInt16 || k == tkInt32 || k == tkInt64 || k == tkInt { return true; } + if k == tkUInt8 || k == tkUInt16 || k == tkUInt32 || k == tkUInt64 || k == tkUInt { return true; } + if k == tkUnknown || k == tkNamed || k == tkTypeParam { return true; } + return false; +} + +func Type_IsBool(t: Type) -> bool { + let k: int = t.kind; + return k == tkBool || k == tkBool8 || k == tkBool16 || k == tkBool32; +} + +func Type_IsPointer(t: Type) -> bool { + return t.kind == tkPointer; +} + +func Type_IsSlice(t: Type) -> bool { + return t.kind == tkSlice; +} + +// --------------------------------------------------------------------------- +// Comparison (structural, limited to kind + name for simplicity) +// --------------------------------------------------------------------------- + +func Type_Eq(a: Type, b: Type) -> bool { + if a.kind != b.kind { return false; } + if a.kind == tkNamed || a.kind == tkTypeParam { + return String_Eq(a.name, b.name); + } + return true; +} + +// --------------------------------------------------------------------------- +// toString +// --------------------------------------------------------------------------- + +func Type_ToString(t: Type) -> String { + if t.kind == tkVoid { return "void"; } + if t.kind == tkBool { return "bool"; } + if t.kind == tkStr { return "String"; } + if t.kind == tkInt { return "int"; } + if t.kind == tkInt64 { return "int64"; } + if t.kind == tkUInt { return "uint"; } + if t.kind == tkFloat64 { return "float64"; } + if t.kind == tkNamed { return t.name; } + if t.kind == tkTypeParam { return t.name; } + if t.kind == tkPointer { return "*" + t.innerName1; } + return "?"; +} +} diff --git a/src/cli.nim b/src/cli.nim index 3e9055a..91497d3 100644 --- a/src/cli.nim +++ b/src/cli.nim @@ -141,6 +141,8 @@ Output = "Bin" printInfo(&"Initialized Bux package '{name}'", useColor) return 0 +proc collectStdlibDecls(stdlibDir: string): seq[Decl] + proc cmdCheck*(args: seq[string], opts: GlobalOptions): int = let useColor = shouldUseColor(opts) let root = getCurrentDir() @@ -154,6 +156,8 @@ proc cmdCheck*(args: seq[string], opts: GlobalOptions): int = printError("no src/ directory found", useColor) return 1 + # Phase 1: Parse all .bux files and collect declarations + var allModuleItems: seq[Decl] = @[] var foundMain = false for kind, path in walkDir(srcDir): if kind == pcFile and path.endsWith(".bux"): @@ -170,15 +174,15 @@ proc cmdCheck*(args: seq[string], opts: GlobalOptions): int = for d in parseRes.diagnostics: echo &"error: {d.message} at {d.loc}" return 1 - let semaRes = analyze(parseRes.module) - if semaRes.hasErrors: - printError(&"type errors in {path}", useColor) - for d in semaRes.diagnostics: - let sev = if d.severity == sdsError: "error" else: "warning" - echo &"{sev}: {d.message} at {d.loc}" - return 1 - if opts.verbose: - printInfo(&"checked {path} ({lexRes.tokens.len} tokens, {parseRes.module.items.len} decls)", useColor) + + # Flatten declarations from module wrappers + for decl in parseRes.module.items: + if decl.kind == dkModule: + for sub in decl.declModuleItems: + allModuleItems.add(sub) + else: + allModuleItems.add(decl) + if splitFile(path).name == "Main": foundMain = true @@ -186,6 +190,34 @@ proc cmdCheck*(args: seq[string], opts: GlobalOptions): int = printError("no Main.bux found in src/", useColor) return 1 + # Phase 2: Merge with stdlib and check + var stdlibDir = "" + let stdlibSearchPaths = @[ + getAppDir() / ".." / "stdlib", + getAppDir() / "stdlib", + getCurrentDir() / "stdlib", + "/home/ziko/z-git/bux/bux/stdlib", + ] + for path in stdlibSearchPaths: + if dirExists(path): + stdlibDir = path + break + let stdlibDecls = collectStdlibDecls(stdlibDir) + var mergedItems = stdlibDecls + for decl in allModuleItems: + mergedItems.add(decl) + + var unifiedModule = newModule("main") + unifiedModule.items = mergedItems + + let semaRes = analyze(unifiedModule) + if semaRes.hasErrors: + printError("type errors in project", useColor) + for d in semaRes.diagnostics: + let sev = if d.severity == sdsError: "error" else: "warning" + echo &"{sev}: {d.message} at {d.loc}" + return 1 + if not opts.quiet: printInfo("check passed", useColor) return 0 @@ -241,8 +273,8 @@ proc cmdBuild*(args: seq[string], opts: GlobalOptions): int = # Collect stdlib declarations once let stdlibDecls = collectStdlibDecls(stdlibDir) - # Process all .bux files - var allCCode = "" + # Phase 1: Parse all .bux files and collect declarations + var allModuleItems: seq[Decl] = @[] var foundMain = false for kind, path in walkDir(srcDir): if kind == pcFile and path.endsWith(".bux"): @@ -260,36 +292,43 @@ proc cmdBuild*(args: seq[string], opts: GlobalOptions): int = echo &"error: {d.message} at {d.loc}" return 1 - # Merge stdlib declarations into the module (prepend so they are processed first) - var mergedItems = stdlibDecls + # Flatten: extract declarations from module wrappers for decl in parseRes.module.items: - mergedItems.add(decl) - parseRes.module.items = mergedItems + if decl.kind == dkModule: + for sub in decl.declModuleItems: + allModuleItems.add(sub) + else: + allModuleItems.add(decl) - let (semaRes, semaCtx) = analyzeFull(parseRes.module) - if semaRes.hasErrors: - printError(&"type errors in {path}", useColor) - for d in semaRes.diagnostics: - let sev = if d.severity == sdsError: "error" else: "warning" - echo &"{sev}: {d.message} at {d.loc}" - return 1 - - # Lower to HIR - let hirModule = lowerModule(parseRes.module, semaCtx) - - # Generate C code - var cbe = initCBackend() - let cCode = cbe.emitModule(hirModule) - allCCode.add(cCode) - allCCode.add("\n") - if splitFile(path).name == "Main": foundMain = true - + if not foundMain: printError("no Main.bux found in src/", useColor) return 1 + # Phase 2: Merge all project declarations with stdlib + var mergedItems = stdlibDecls + for decl in allModuleItems: + mergedItems.add(decl) + + # Create unified module + var unifiedModule = newModule("main") + unifiedModule.items = mergedItems + + # Phase 3: Sema + HIR + C codegen on unified module + let (semaRes, semaCtx) = analyzeFull(unifiedModule) + if semaRes.hasErrors: + printError("type errors in project", useColor) + for d in semaRes.diagnostics: + let sev = if d.severity == sdsError: "error" else: "warning" + echo &"{sev}: {d.message} at {d.loc}" + return 1 + + let hirMod = lowerModule(unifiedModule, semaCtx) + var cbe = initCBackend() + var allCCode = cbe.emitModule(hirMod) + # Write C file let cFile = buildDir / "main.c" writeFile(cFile, allCCode) diff --git a/src/parser.nim b/src/parser.nim index f9b927b..7d2734d 100644 --- a/src/parser.nim +++ b/src/parser.nim @@ -516,6 +516,8 @@ proc parsePostfix(p: var Parser): Expr = discard p.advance() var fields: seq[tuple[name: string, value: Expr]] = @[] while not p.check(tkRBrace) and not p.isAtEnd: + while p.check(tkNewLine): discard p.advance() + if p.check(tkRBrace) or p.isAtEnd: break let fieldName = p.expect(tkIdent, "expected field name").text discard p.expect(tkColon, "expected ':'") let fieldValue = p.parseExpr() @@ -737,9 +739,11 @@ proc parseStmt(p: var Parser): Stmt = let thenBlk = p.parseBlock() var elseIfs: seq[ElseIf] = @[] var elseBlk: Block = nil + while p.check(tkNewLine): discard p.advance() while p.check(tkElse): let elseLoc = p.currentLoc discard p.advance() + while p.check(tkNewLine): discard p.advance() if p.check(tkIf): discard p.advance() let elifCond = p.parseExpr() diff --git a/src_bux/ast.bux b/src_bux/ast.bux index 42aebe5..871aeb0 100644 --- a/src_bux/ast.bux +++ b/src_bux/ast.bux @@ -352,3 +352,4 @@ func Ast_MakeDecl(kind: int, line: uint32, col: uint32) -> Decl { extFuncDll: "", extFuncVariadic: false, extFuncRetType: null as *TypeExpr, childDecl1: null as *Decl, childDecl2: null as *Decl }; } +} diff --git a/src_bux/c_backend.bux b/src_bux/c_backend.bux index 0a2be7b..83e92c6 100644 --- a/src_bux/c_backend.bux +++ b/src_bux/c_backend.bux @@ -263,3 +263,4 @@ func CBackend_Free(cbe: *CEmitter) { StringBuilder_Free(&cbe.sb); bux_free(cbe as *void); } +} diff --git a/src_bux/cli.bux b/src_bux/cli.bux index 956567c..970458c 100644 --- a/src_bux/cli.bux +++ b/src_bux/cli.bux @@ -165,3 +165,4 @@ func Cli_Run(args: *String, argCount: int) -> int { PrintLine(cmd); return 1; } +} diff --git a/src_bux/hir.bux b/src_bux/hir.bux index 9213e12..b1886f3 100644 --- a/src_bux/hir.bux +++ b/src_bux/hir.bux @@ -188,3 +188,4 @@ func Hir_MakeStore(ptr: *HirNode, value: *HirNode, line: uint32, col: uint32) -> n.child2 = value; return n; } +} diff --git a/src_bux/hir_lower.bux b/src_bux/hir_lower.bux index 511b954..7100706 100644 --- a/src_bux/hir_lower.bux +++ b/src_bux/hir_lower.bux @@ -306,3 +306,4 @@ func HirLower_Free(ctx: *LowerCtx) { bux_free(ctx.externFuncs as *void); bux_free(ctx as *void); } +} diff --git a/src_bux/lexer.bux b/src_bux/lexer.bux index 9abb5f8..b4f7f40 100644 --- a/src_bux/lexer.bux +++ b/src_bux/lexer.bux @@ -694,3 +694,4 @@ func Lexer_Free(lex: *Lexer) { bux_free(lex.diags as *void); bux_free(lex as *void); } +} diff --git a/src_bux/main.bux b/src_bux/main.bux index 894ce80..181fe20 100644 --- a/src_bux/main.bux +++ b/src_bux/main.bux @@ -10,3 +10,4 @@ func Main() -> int { var emptyArgs: *String = null as *String; return Cli_Run(emptyArgs, 0); } +} diff --git a/src_bux/manifest.bux b/src_bux/manifest.bux index 27e25f0..ef130bd 100644 --- a/src_bux/manifest.bux +++ b/src_bux/manifest.bux @@ -83,3 +83,4 @@ func Manifest_Load(path: String) -> Manifest { let content: String = ReadFile(path); return Manifest_Parse(content); } +} diff --git a/src_bux/parser.bux b/src_bux/parser.bux index e4f393b..e8e34c3 100644 --- a/src_bux/parser.bux +++ b/src_bux/parser.bux @@ -1003,3 +1003,4 @@ func Parser_Free(p: *Parser) { bux_free(p.diags as *void); bux_free(p as *void); } +} diff --git a/src_bux/scope.bux b/src_bux/scope.bux index 222961b..062d359 100644 --- a/src_bux/scope.bux +++ b/src_bux/scope.bux @@ -90,3 +90,4 @@ func Scope_LookupLocal(scope: *Scope, name: String) -> Symbol { func Scope_Free(scope: *Scope) { bux_free(scope.symbols as *void); } +} diff --git a/src_bux/sema.bux b/src_bux/sema.bux index 42be561..1a31e09 100644 --- a/src_bux/sema.bux +++ b/src_bux/sema.bux @@ -392,3 +392,4 @@ func Sema_Free(sema: *Sema) { bux_free(sema.diags as *void); bux_free(sema as *void); } +} diff --git a/src_bux/source_location.bux b/src_bux/source_location.bux index d1e44c4..3ab88e6 100644 --- a/src_bux/source_location.bux +++ b/src_bux/source_location.bux @@ -10,3 +10,4 @@ struct SourceLocation { func SourceLocation_New(line: uint32, column: uint32, offset: uint32) -> SourceLocation { return SourceLocation { line: line, column: column, offset: offset }; } +} diff --git a/src_bux/token.bux b/src_bux/token.bux index 19113bf..ec72d66 100644 --- a/src_bux/token.bux +++ b/src_bux/token.bux @@ -311,3 +311,4 @@ func Token_KindName(kind: int) -> String { if kind == tkEndOfFile { return "end of file"; } return "unknown token"; } +} diff --git a/src_bux/types.bux b/src_bux/types.bux index 3b112fb..af6dd11 100644 --- a/src_bux/types.bux +++ b/src_bux/types.bux @@ -185,3 +185,4 @@ func Type_ToString(t: Type) -> String { if t.kind == tkPointer { return "*" + t.innerName1; } return "?"; } +} diff --git a/tests/hir_test b/tests/hir_test index e267231514aa1204c2a7c6abe4998773de8b7cb3..ccc1eaa41d046a0e7ed890342fe0a3ecaff64935 100755 GIT binary patch delta 161225 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 Fy@fWIk_mV}&elCma5qDLP*CU^L45 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°f2T1e(G_wXr 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 LjPa6vG0Xo41U2DF delta 160055 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

LOlPTuHu5*fyiYBXWvkDf(N-gy*&GmRi#WO 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 RR|krF`bAGq>*JZ?{{a-xX2Jjf delta 107229 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 A(EtDd diff --git a/tests/sema_test b/tests/sema_test index 9e06e59f321cfe57abe2fb7845e621681e362e4e..60cd14d2bfe9a93dafb1c54b7fad058bdced4d77 100755 GIT binary patch delta 145419 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

6aAv>Q z$HhF4l8iA6W_9CPH*@7r=tp49Y(+((MpqbhK&)b8KOVjR6j};P%kmnR3#SfMjFSV zSTMh7HkPJ=JihFpBR=Q~EX%+v0n@L;!3@z~Fw4eQ$#9=paR!>4-Iu}PpxC6!?Z=Gn zEf{|UF~@c;KWhOMJ%5j4KmK3PiXVuMUNe@{IQB8DIEW$Tohy({5neth2K1`?UqqD* z5V=!CSqz?y&vaD6B_`rENgVghN2TusM8sfVyP zEt(Ho4v9YMe)Czw>&Gjp`ExEYDO%j%n$m}|o1!F-!2Gc2NseAbIWD;ZH4ft`lA-tm z)om~qS;2eU_J@=%{zOD6P3Q8TWy7SyqMz?dW>VOKB86GSe!ip@hHm!P-9)wf$}gz> z9FGL&AIAC0V;6Lltmg3aJ}L^o27->E1FMLy>m9+c=H3H+-3HAxuhigBkae8Q=?@_F zh-l;GuE)Ke;r>@gOjRmq8Wvr~=>d8h*%JgP$M)~@+Be`6NMd=-zVk?4N?H&im-#3S zXYb-`sG?&i-}283u%R+*qXO(QeCsPEYZI%SUC~8R+LL_uC52*qfYiS%X|Wb6OUfXGZSh!z@xg~}b$=PZXyClJShOpfC|#c{+STmSD7 zFwGLHS{c&Tw>8q{0h2RDHC~hlnTTjs7Du!r3lW{rLmLS11U%0AOL))<5%DK)Sy#yV zzkpfL;G|gH-;e@d3izB}&A=P-6b00(eC%m-QnR8x>^Ldfy2R3H^Ahy zI8?y*<0hOIV}+$v;qqy5zA*O(bU7pb7Obm7m$PCUvo5zOGTbehqHL9|gu)9-O(m=2 zXrSI<(8UbBmW{1-_j6o1Mte{+U86+-M5kVca_2-pA@~%8pTlU-x+27%6P?sokTbUN zK|gQYBa?asFNdov3wtWhI?ntNYV*EKYUHby%{t0zNWEqZMwjq0hscxQdmc~Xe!a>_ z#crirm&=<%opp3-HkD(Fa=Tojpe$Md>g!TvFL>m?pqnVDHd=4C&66#$eV9RsPR-#6 zJC?$oi_V8L=fz5Xk0#>a`!wYp=W$|E;#_GP<17n~)ADcNRbccuCa?NBIA0KLtO`p} zq+ogEGIcK0zku=8bzZ}UD=_qe*v~4av=~K;#S-Viy9;SwgvM`VnaLA$`~Ob8~CIPPWjL`UFeigQzsaFNsKm2%+a^*CEmJ`R)=Wo z9?`XKJCv2ab#ea(dgR^5qbQ3=$5HwL1$m2;TXYeeE@Q8*a|oJU#vXVZdR`W*8Qp?a zm+>&^UMvg=EsbncaoMb5y5G2QHVb(yKV&dW*<)xgNKraxLtZqoQ8YaG3xYZj8mpB{I(l*fYzCwv^?vG75=#<))7wEhj-V+0E@Kx#U-zu z5oa#N6%Y-6*O=T-F~Yc;53)9-rm;Qbt}!YHtFDW_sz#S}!cMrvg?*G>Re`-!HV&beK)4~+ zRm{jK0@r=QXjR8cIzkbI&eKA{4dez34qivnVBSs9N455%4)4$loaNk`=u~T7fTEkY zMSNy$@VzC*SiHMH%khW>-SjdWi5BJ1aRp=QV;UQ-@;l1x;m=kseZ$}h^6zX=x;2cT<6}>v( z>w}>rMA*?5u6`E-Am#x^tTv};#!5^S`1gih_f&|0;W9_ z+X+9M;PFGTjxye*xFi*JKQ*?sTy~O4qZ)QAf`kcYL*UI*G~Bn2g5@(Y!Q$>wM!;xJ{=UO@E{0gL8^z0y6}T5K=6*P_!sh3^R+x+RFV#Iy3NL1FbJvHUs#Jn*paE zDEJi{xEb)!$Y!8Zuxth@-s5KA@OlRQUo+5mJvRfx*K;!g{LW+d>X5c1~YeJ@q+6I4cHX**MC}7o612KOw?+rsth>y^CF)TMBtArFE+5v0A z=(41V#R?pqp%%!p>b8)}>Qh;imD@tz3yrqYUZ{q)rX)|8>jl-zk(nxEFQj+?jg+*p zc3|N|tikmr?tLgIN9qZ9ZZc3sJ__?B@Gv7$DuU0eVW>_i8aba+G{=lo5JKnk{`t|2 zj2FJVfx+fvfZ6PMveZ(PP3FoSOSB-4g4JB!u^wGw9qTboc*i=pop-G7O1WeGqvRdS z$C3o7oaQowv|~BWkdxM)eLTSj}(xxDD?Jl-}rDJ+{zc12DP zmVs-Q#0dfi8JoaRD^gjwHwQLaks$E{I@Z^IkYkAvMX?pRY`ikRs01>VcvDwyKVu1A zmM3w_2KX%%j&+voET?Fh!0BWN5`@3tWr>M5%&|tC-dZ?eP3kIk;#~(yHSu?SX-Dg( z<7aJJ9|pljg7WOcwA0XBP0}<~W;2wmC*!eAy-R*E3yf??CE@KXsBA;33FBr#q7A8U zqIN{IbpJaHvPa*u+mV!o$2R1c;HQC=wxm!9cYt|zq_a@i7v9+se_^{lINFoP!r^52 zX-^^rpQljMfq0r6PL^v1x5h?}(DaItm0r2D!8trTU(XbAKs5rXAt7~oA7 zs-KTyS2T6ns{}^NOUtF#Qeq`;w+Y6A8xq5+HjC0=gK%J0I+8RsF~t zVg4}i^e6RfI*XXoh-w9fS81G_lA*kMOA#{s$x)&9P#6(FmbtdNTJ-nmR}gc%3i`B?(yzZ5o5_*-G3n18wmo;<|3;`145;MnjYs4o)|>qjX{{Keyn$5n7_ z@SqQiD}-)OAg(G25SD+1q^j6OEO+v#qNq26{clvUr8kc%_V(scMeW`!s!-$=6~V+O zc<-G{I9abS#$O$CML#GEC;Jrc-;1DT9**%oHDG~-V*j@y_y>m`#@)*y>mTyO4nj$H z9$pN{l*0@BK*I|~r~5_l_9;f`iQQ>n5dd2vNT|iY?uUUstBnB7Dy0X@z!G)@;99(>f z#O52+h5G*#Vf!&h>H4_iWNB`q`z1A!KwztLE*9&C03}YrAXda#HW$U$B>2s*$444BvG}s zBddfGQKlm!!m31`N*GA3LyGc72dv|U8tfYqH&qRN@v3rhe3_8Bc}H$U%63#P+`6%% zFnKRbUPcCkMI#KM26xca@}xbh#d0pb;7g-}$sBA?duY9!w1x|fNNeHU6>x1#77FdJ z!2ZVQzn|BKUn9S?rGHbJqqZijcrVbl6NhdE7%og$_kS^#6g zT5$j+Fxkq;4z9E#X7IcTaTCa8Ah9IWeZ>y6YFHJ_;_0#v3=X} zb{P|k69ewg0Qa~1sXFWPf41TI|I+;ZPoae77q!vB&y(|8HpTpyr_jGC=BMfN-R1mD zn*SgV?$P{Ueg6K|6n}^?Fc0cC!>sJqI@B>N%Mq3}Lr|kU*h}*V>hmA8;-rx{%wLoX zu5p-es?Q%N=MSg(-no!M^S8Fr;Wv`=^JxCzCs0iD8|d>FwdDAlHpl$fC(ye&=09zz zgZGy6kI?+w$8eM8Pt@lhZo%PwT44UL$56Wk=4^|3@&BW*0WsLF2RW6#5~}KJgH~V74knpS?7W6W6d6 z=C^nV-CAM3pFZDT&Obo&Up#qLXSd+lsWjX4 z0c^!=l|rBWqABFH##Uc-A8guS*1Bdo#G{*X!uqvA(8~8=Y8w)&s;1BH7R&Q<+Yobg zSS*9POS>68P=~tRC>B=F$AHbHEztD_wr+E{(GoIM2?~FrL z7n?8&DZ;UhIl?~e(Z)vLt=}E6FPq=NYrZhPSsn!0?TK0-jp1c`(nWQxu?}unBMvvH z1Hy$h;&9S!*xmu*76o#+GL7I}2a+n(9SD;;k`1aK4H^6vtT!zNDtE##t!)ep>V#GL z-h|nm$Zth>f1E=eV%!C<)xa^$$HU+lPwEPzS3p8Msc$x=0Yg9?jTN3jpsOg59Z!PH z_vA1U;FiqjyJyQd!jO-GHF$I(J=9Nej+YJEFyNB+W3`Be6=j5!feSTUbZ)3EdM3q_Wv)j+l~p zp^i+ZeK+)n3+rTrbR&0-)CqOus*x&rpYEn8aP5KP+X{7{Q4bO*G>(FCJ#eyGaTU(= zAmPIKD~o%QB;jooOzug7gPsa1PCbof zEv}_Gy+~)(Nd0$hP5!-YZ!%wXwwA7Z4&HQzn<&7t4~Z3yN6`7WyJnMWvi!Son$ zmBfbIQTgjaR)3sQ4LJ{K{YVW9F9sy<5mNpejw4bGNwwinBawugeXgNj2F|YmQxef( zM~1STPWD}$Mi-hG^XjUP)MSwHWc>Kw09`Hq-oty&X{tGe8uM$zgk{o&qV5-;oz zf$$-u0eLpNsHC943etxuH0kkXcL5}o@pTrPbfV>qd5@~#j2`MwW)8;+%ME!O;M;#srDI*Z| zFMmiML4FABf?(%J5?$Ui18H5NqSFMpBL+t>y+?pJig*bYK~QNFX(LPugz2NuLaUCz zkx|%1gaCL$e{VhvZllpo&GmcXyC48sk3k%hdQe`JlWD@oFo|_x%@~}Hs1g9#W01WAzF;wy zOtYTZopC*jCVXSH%_rD0mIOOb{YkA8yVfISRvJA8hRv$t#m&0I_pvCmU)>n=?`}|S z93mZA5k`+AktW+GAt)sbEG`;rgv#aN(KzJ1<{>Z}k5f;!hahx3Dtu2L+U9kI?_RKJ zJlUa1uSokDzq*^VmBHC+hnHhbApHe02p&$rxtec2U_KFLe|i@R1nvYSKQ2)4thsa-Sq{1<$`weNp+P%|J_{vK5jn7Pfu+aV#E09 zn+=Vhst8~McjjXt5y^{CmTJi?ZCHTLu#622M68J`iZ=fS&X_MC@v7}=9sllX&VQeU z=$O7(^HJSvYdWgaz}baFqtIIGhISs{w1{|?-MR>y6pzLj;gKX4g%e!uV=M}tr@@d# z#5>^NXx+q%t8U`Ow-TmXM`FW)jR@N@uqc;Nnu!Toq!@;Hg8eWX>Ac zYUUTNy7HjY$ea&4*L0(U&Sk3JW;%%aDh6RW^D~E#$D8&lI^G;5Oqu{!my<-H`~;}6 z0_|4&c$l<;%o1>fjf@2d*5jf2N_19zJHz0W7>j>0WtgdOoK2as!|9b6EZr>&?^cr2 z>ak^IUe87E_Tv4j#01W*!bv&XvS7O!*&1e&(Q-8jHxe3mz=Js?RB>M+PazhqAs&j| z_zRcpTSJ%Xih&9X9JS+ChDz|ey23-Xsj7@UMY*jimt>c9*d7zB(xC69MOGD>pUkJW zl_#pO{f97TJx(8wr~>Kh$w>7TEK<5zjTNVx)%Z=QEjN(L8n10sk!seacfV@G>aZ(d zb7E$l%%5ojt2dB(H9g)Jl}ycbiJAJ{#e9YrJ?oNUos67PU!^ucZbE5cJK?lSbq!|F zY-->!2DFV;Hxg?Te8q;^#E;?pTjEAyZX&Q+)r#u;+cH|tjDItizg?x@s&m*HGOVx( zzn!hd@SUs1VXJIHd~JETc5=C%wA@twZJPXTDgCyZ!>*BGuh4Ie`L`zgn;pSvj%j%3 zN;$eOMynjpb0^3UL7NfcJi0C9=t5OSf!zk2;h+#f3I?&2L;NE{ETj-={M%yr+d2Bp zl4G&rSm4KI&)-X*9F<5vnYtupxq&grCvwSwiSjoD>`ET{QV z7?4gT3JE^&Hk~vO0vkb+j+p%1K8WPEn$$0D>6u+ z35QgD1BVQfEbMTHwHai&knaYy4w4EIxz6H+YA~_CjpA~Gg9nMV<}uyP zuB~~`n<2bU6OJ(I3%o=Gg7rdB9YTB1-wlEfVK}wI6=om8aLQy1oH#_LT5HR(_=s+) zl>^WiS7>vXR91(1QJl&uG~t2IU;)o#9>ySXnF~BTjJssQtHIC1BudD4rqXFIgt@@d zBV@Jk#)(NwbCjA1t$J_;hG_^*IHonr!Dt&P5C1H}MX41>NgcBT&dk&;L90^3NuJ9m z$IvlOaaO{$mBwnpZ4yKrBfgsBj;!PsoNibnPdD66#61uf@#;2PmwH3zrR=L*f}yRh7zfDD|tYIrW#$5ObrU(Cj2GseL+w zp@W;g3~oelJBuTULN(uK*W)a4QWfY!Ck(CF_O*Y`q6BbWn(eN;pym_eebu_CDW+`i z1RgMTx({v*NI0B3NBmXx>^&Z~sE2Q68+}yZ1&-$l0l)L;D1(#RD%E5;#Xjd2YfY7U?vl(FQR2m>?&0zIa(p%V`0Ma$$rtmPu9uOhn zX45CcPGiq@)YhzEPJ45hCr!Am+4dO5U&AQ)RuHVZMrtS;m&I#3f+ZV82mHs#LefaH zXCtq8A{HiJ$6oK3jVltnO<-g;8mMcBU_~}AuAeu7+u0;Q(a^-8PS?mu%)WI{u{t}_ zgx8t#5LLOC1}1t)wk~m$)mc|*@6&u>qom#VrHBV9DifHWL%Io-CHRtqmTy&8@V!p% z3o!)58)(F01Hg->xgylRK|HPBAJt)yEuss7q#LBV^{29w3gu^-a64A30Iu91RfQN4 z#GAy~I{&Z^_A0Oaof4|uL^f3iApRz@DT=VlKAWC9a2rx zbqpi=61^-(8+Mu9nZsQ9$6F9~myA)YGEzeNUEBlQ8UML>mkd-`<3Ba-k@|}DWt1@O z9@*i4Nzm7iSG{1xH@V>Mml&54b|MHr1lnvaey)Xu>5}>jo6uC*F!_ra$1rN7OzqWWZuUd4}Wxy^BVxeyD^-4~V-W70Da) z0Au&w_;9YPq=uUhNSxsF8@wKpNZa2o%)a0>0VVS`C-a|QF#aK_t~ouN)j!CX31cu# zc>Qg1Am<_JrK!sc{H7PTXv0cq!VBEWh8B--YACWbYIKM>btHWLM2r8$v_pm4#$eRj z@!ptik4QVyF}Qmj+YEz^5@>F1V(&%i!6_6Pl3)L&6PrvZJ!XIz_kO@+QF7*8`P)!N z?NfTgi#F^TyXb{A-K=Y{>M^M)+^PzX9%I;G{0oF9sJ5?)A>s*XqWL(40lua8x@g1R z(S&m`?JBH)g0sdCTEN>UWLmHZFKEpRs`UkzUqLq4@FU!m?l4YX$PZYbORCx53d8JX z`t18WJGdz0b1oTZB)s|tJ)ROz%XnPMi@|prPzJQy*INV2o|3`V?d^5_;4z1kzJc>I zHLiJ5mwp3xo2qqetv_p&vAe3kYGGWg+1%o7wG$(jMFUc&p1r~iF&CG+d~u1 zq0a>sgQ=$Qr8M)R&gR;}o{y*p zn_fcpM{LhE7TmxZezWs^^D`Yvy?}3@$xi>aFaHMk$^m*k*JYfbH1+)MC*$5^0=jjIog02BiaZ ziIvL251KdgDb)XtJD@W2VD5L+YsWm^yia}-TTOU7M&I*%M&ApXaQZIogHA=*lK3!6 zW)Z4lVy+&_rE6OTrQuMHdZ>?drr8O)7GbM7iqN(gHF3ccu8C`(z>Z>!Af4pj{!e%> z@6-jNevqC*(qq{CgQWX!$kj<$Hp@S`==VO-Wt<46qJJAp zF72Pca7UE!Lum9H?aKXMp#4qkjV6KH4^+jjk8zjZqo2fHv$6%NddV{;)ulAyRR`{Z z@4sRG$^epS!U0Tora4O8gwUY0Ns^ne?H()cx(1&J z#-Z#HdLmjIc9bT(crcp!g3fW=6m%*9TO+B4aQ!ZCfV{gfz)0#Kbe4bjzsnn7MZ3j< z)KfTd2YL%qy8rWgIx)-gSI}V)hR3&c89dC;42OCO$EDzCmN9WN(xSc}9{f|J9;ouX)s%Rb7pqSk{Jx(}Y(&XbT)v zN=rl7{!9WGYne#7&X~k*tKV zH=qKMHVB=r!$l&62p4>zgh&%KzhfA_G4~n1u{7cMQa1uflAo}AAe@$@swS4Kgxcyp z7@J6IG`AZtxFPo#+)$cuxIP=;go)%NOdbG_O%TqOl~CK=1Lv~R3_;}uo6Aaz1j}o@ zfonH|j;7ecJ+8t@Q>m>m^(tt}N!8UaZ&Sp|e423EyKeV)ZjC0ClhnfDE3l}XG)(C9 z9!ykHs8IC^M5-ibVL2Y0RAJ*>x(riQQg@-&Wyms38(k%YLuH@ zU8a`M!AzNppkXBM%O~eZ;l$h?;_XeQx`#N zjv5^)|89DbGd!^oI9njYYcD{ug_Pdu>?K`u%PLLJH=;`4IIk3PIm3>nrqkk>?8n%umoc?MnsIhSbQ!B|- zG4ZC};t(f>w$#|qdC1U4bF}qyAkGRUJo_RHw?g$#ILFohz7?v!*E#ShFGV{2%>T~r z2>us$3F8S*7HV5@zSf;(V%40e$;i5YjfwREO*mQ2m%;7w(kP+i3^cQr8VYmHz%pye zMJUq15o>Ih!FW83MjpG=lC7p^1jCYgm0_7r6OQHE5(rXDxPSjOv`}Na0G<}pLG7!- zpx$3$P=z$%Q1zEUo?1!}%ARJeB~{0%1e7_xS>lM}hzT}Q1EK3FIBO&A^q-06e=&;< zxj2J%oI$`N*>VPNxD#FQy%n@Y zc4&*Dt{S#XDsAx6mT7vMVeHLd)qO6(Tsv%;CZ}PK9kz@|7H=6ldz9kqOz3VeMH**4 z{aymO-!P!cvd8}T5byAJK`UQWg;6n_o)OfBji3pqLc0)FIH10!t3jbb>HBa1S0@gz z|=sG~~PY9F}QN`pu5>UJ-vB3N_d(?jPg73yyI)+t*@p-ooX) z$`R!pc?@1UqMUo0sZpHm>jRSFhf9)jMkQZ*qN z->`O-rU(@efu|c<%0!%Qp^E#!4b^>SAj8uAB*W5!CLD{y98kGS-8E%-fiGFCz*m~^ z0xPtjb(a!_O&RdrT?!DqGYrr=R$^#vIh36qYUgYi;~{xle_y2wlI8iBR|jC9hcrM? z8~~3B=uifmLAwgl4q=BW5Kq*T3j4v=6Ag032hhk9HDL8VnBgg{6)NllUoZS!bsuia zm#S-CAET5i-_V2``ZkMc^Wg~&7&5M`1`5An=5E1v9tj@*Ug5$%-hqu-)*XqO?*tz6(-)r3}F_2O9cGy@laB_0)LH_hi%@#X~FD zn~u?hQ{yoOJI8W9E|wt3M~a0`{!*ZjwF6T8kvfoc)CFA6#IJ4Ui)2 zPHi_Nukb7N2Iul?wuZFJJ=q3>Dj|6_uYgaW)YAwc-A{6ZU4f`X``j3H z@Aon43TeWrt3MI)0wuLk8(P>J;!GtIX}T{Ko|T*r38s?T+SCnw6SsC@oW8uRR9&5* zTaeVxb*C%CT(p;AE~W{`95n&?PQ(Xa&?o?@j9#{H2{f*ZdXl>ZDp$e&am$5)2652J zdeGkEA+s_X^7&WcX=PL#f&g?RZnFid1*0ihu$li}yO}%K9B;T3j0WrTCI}9}n9+W# zUS6E?>YQ>Pyo;pNPSfd&{J6Sc9*Xv3B(hW>DZC8Fm$5L&T=Ojj>p4Gtx63}`^2fxCeIeuhDx@oR6Prwf5E$|QVmUW4p@!@s`P-*MnJu4Xc_`= zBblrcQJlEVYaywcbWjLx4&mX_1YvI+91KThPp*N7;Zh$VcQw?nE=36SzQeTY(j(K? zcs-8X5Rg?}Qo9$PMp?~Dj$_oMwWA4dx%#|`;c5z(XWYROP{+{jROq6tU+aR7ux zA+@s{IJHBgkXpNCFg*&Xt+EsfqmbHVAD~igX_Ix)w7*4nU(RUp+WA6&>2)M$#j8wtBKB|{sjlD+oIB7}J zf+j?ZFM~quySS?$tuFeyu*C)p`l%Rro3#wQEloK1vA)o+9$JEzM_^7psk#uK#(VyN zGz#q~tW-luJyh9OcsZP`PqN;yM?X@OW742+6P!F97A>_9x-8<*0~bMVwA4m;w-Bn; zm#zx+7lPCPC6&8?&eWBM_6=|>wP^wLY9PgFPMa{=%vUkmENH@MYtsvI8ldod210QI zDa2&nN?Jmlx)Q3yNFxN24?AMew{)AYCoLtp3{&uP`47WEXo&6nC6$q6WDL3WBqu49 zwluy!14i}HG)!$M)f9T9!pVlxAVHG~A&sO)!sdC9)Cm2@s(D<1ry8MU48kq)jU-RO zV;(3POLK%{b76jC1nRyU@Qhhcq32vGhC#yV6u936Tl~xtN~`iLO?Zpv4g$Yew5{*w zz>HXI?3>5s#y%2@jlF8l;-;ulN43zeDGJKX z%@A<@Y&g~oV}i<&@TeIQY8MG#@w>uzyWBUM#Yw(`$7~oEC)Ku&N@I9x(}d%x(I2wo zq%CGG@y^T`{!C)?*~SZvuHq7HbIDfWINO+S13rfaq;wl_dM?|jTS}9y6vJp2iB6SG%c<$c5cFA4!-tmW2&Z!< zXXu&y&<7k^NgXZU&SXv8j-H@QQLarkhR*Y`f9z<5Lzs5SaJ3cE(jLo{uGYoQgs|39 zxF(_)AGy%htO}Ituxd2ns>wm2+v}=Rr zWBnJH*hcaYeoTe+ZBVoQroxXl*majYfS|V0QeoQ^xYQP#q0w@9-4@HuodOo^q{`OX zMNHsxXu<`4pa;C|B>BVSc9MkWrsV z6HfiwRxrK2l%|>Yg%!BCfEBnz6JFp$OQ_O8>MvYRqU_j=>kIK=ZbXxmT6V$G z51ahI(g()Ek}g=f!B}`gOK;5v)2>)L^#7LrJqF^sV(EEf0J>u757*!nEj_34|HEB> z3`hxB`p#%*mVl+hufezkEd9LE|0_LrG-T4!E~9~TLoFZe?39s^)g7U| zM?wkBo^u&|dSG2sWBwmyZ%05v4=g?7e{_9yKvd25w_I4g_acb0tH2^6iejLkE+z^l zw%FZbBQ}^Iq9P&~a7?hf3mZiRyBj;f1TnGR&&=$zsK4*~4~M;T=Jd>*J9lC%CH4n4 zj*>eKY_lB7?hRfo$CB9q6u%rp^#-80#W@-@0L7z4@zyc4k`*@@Ll0T;ma`-WfY;N; z|BIK^81fAO_IiB$34mV8S=t-`n|*Bfzp#6brmO&{`F<2t9|&y!Gt_S&u($kA>~*7P z!$4qHA4Ts6LXu^t$!-t^HM>#dH3(gY<09%bNDh*EjHEMzkR&coqhf<)FDc{w zto;GWBKkz^LTR)k)u$k$9RH{J*kIwC_&-{A2RDHI-;ito8ZhK(2F;zNm8(37prCG0V8`)jp7{hRF>quj48J zHj<$sP*#YnmvV|z@G#jRB@U-~f#}ngKI83u-BjK?tY<*<4(`5`J4`OEoq*4(XiDs) z9pek=u;El?IHqdm4Wqc>Xn4O)(%Ip1yk(tXdAv#%D`0QM>KG5jeLhsMJMe_FyFQt- zyTO29*SsFx3q-&2{544<&~J<%N@Yi&e_20-rjCFYwhf^bBfu;tg>H<1{O5D2U=Z*= z4JOYZj2*T^=me-kFayM!42y!2f`V+?U`cKDl z>d(ef-|=!?smvi-HD2y6#RtX*!wPr$lWQ=v|JaAR2Fvx#&xU`c(1}=%5gSf7SV4zh zq=v{7q!qnsMu;3C^|T?Y334&j4R_-Rbty(`US0YXM&Bo*>pmHVlThUv+Sy^?E@H;$ z|43}dXYL7~MOG8x9>-q)QDAea|G8(!E%KX)35Maev~r@{SsD^5=z8GX1kjZ}Po)u) zkbma%pv{vos00Nu^)w?H5QB=|hq5Ng{!-N*f}i^g>NgquQoH{zeqC`c+ho~CYTTV3 zO_ncv%sq}<0{qx3K@_fzj5Z!=%9kSTcEN&gqfW-WnzbijH`%+(#HL2 z54+NcsdDo&Z3`j$e$KlCU3?%HnHUfvdwMfhHF`uV7fL0`EEIk&*OgpDOxteNb0gXlOarQVtpFA{WlmM?oPAA;JHuRC^-x-`NKNX#BfX! z{0@_~`qf`}<8v9wL@<j=5JwwSPmU7js=Ri`cyaz*)ld#*4}idk=gv%f~s`UttFerFDszxQy?z7GR} zeE~Oeo&okNK2zfvU|+Sp1yvqjz=>whfSo$Eqf0Zu{^Vw|n2B^*-;Tm(%C)q~Lm3^- zF$RPyY8mLtOu3>ozAgQpiD>N_NF`>;UG?7CoN+;3!C=KJ@WgKcc8kmcW9b7OoP`#Z z>`xD8!C>#(Q1wW#?7oqPMMC2fZ74kw0UJA*vz*6(VEMWVInM@5w>H#jHdwA4PJy$* z^4&Ym^8O%J!SH|qp=-lZ^mH~@-p?i_3c3chwxHN4(6wchTwPkxie^NCvDJDy6opxc zA+4y|95C+0PBw_rbmj*f@P$e9Jt$-j7+-2h>*s*+uECTx2eDVXCA~(C(o5cO0X7D3 z0X8up1jus63v_?HNbdMWzB7?Gc8ivSY!9%Bm|aHe4kN{^P0Tj#^m|3dR)YuYpy z>GskCobdckobUn$1mSWe=+|7if^~Z9yh@i^CsmJ;ub4>4r8}Bol zwqqo9&Dv4-1#%tzi#?o?6@O~5Wy4)g&3<>G@=;`F-KUg5xK@8k^db)0dev;^O*r(>G4WTVSI=~=2W~PDe>|O zX>|kI952_Dd>W9=2E4SjZa}}|<+sIZ)Hf-BwFOsOaaPw_k@+Hdue8vY4la_XO0RvG zo%A+qcyFeg+LB>uLR(V6VtlmQ!HsI24W55`IDu$Il`Kgev;zD;<%kA}T1Zr7<>XwI!Tc4Y*ktd-Pkqs3`%D+|)lx|m}aceOWjK)UWwQ^f^ye~%z_BA3^Scgf9H0+*T zhpfoEDrK&dJE|?&R^}-0Rz60g0qgPEV^S5mx*l0>(JDfJ*D6$QgX}2{n@!y}V1lNd zCl6G5w*e!CvnN&B2)2hj#KRdIG3&I>gEnlGv!pqdg;iQ^hE;Yi=Td>Sp9(lQ+v_)N|O148hN1Uo1S-|wv=%WSXdV4UgSW$lH9hiN= zY@N!PqA_^@YZ#4F$$lpq#sZ#XSRM9aWOYZpsOe68qtB=&;yq<2;{9_S9`BU}iia1y z*a_`h8Bx0L0!nv*vev+j5%Y=(w$xC)tWaYhuz553OA+pyD`G7 zDMQnCqt|mULnZg1+}w})?vdA+_h@45^&I!2*UKrLRCTXxX(m~hCZBzBPiaOeVfRD( z(0Y25qHOl?h70*8AwZ6~(A*?U&1hYy$bLCR?Od6OQP4>yK?L!A@k_;`#fs&H(C3HAE zB))_)!Cwf$?Xf=sV*$AxgC(=4aR|OxkHjEl(mukLmKP z*o0XzV;7A-i4ZlE=Z1J!iW}m6DO!ILhKMdHY*qXeY_+r;N9iw629zS-Q!rg{_&6X|R=S_|sPJgst{qV?MK0 zbQ)TFVv(fnX>w&VsWC>T(@21aPvvSZEWs@j$AGZNcjORfvv$H_p+l`|PK6wZ)?vn2{q!t#6DGH5^ynr}= z+BUzbAh{_E&)Tc0^mT;iEC(KYo;oI!u8NM@Uzh7RzZ=aZ`K0Bder7<3I_VBvdq|?f zB@_o*@j$lIFB7P{1?rwW)be-e=XKa&L}3x?wQnHQC);y&9XYnHla_kjKvz4l0EOQ` z_R-dYuHQhHnr=>`Zz9xpy3(GTvbTA@vw)j=&7TzQGmZlxI&cXqxR$ThXH;hI`AAT;fN z9h#0-{?K%~Ks{H8qn>9#pcc8Fq`NEIm`P=SQ`vO6hF&i`J?>&5BdGV75-9uJ^6QS1KldEV)c80k`Z(T%aQtKzZxra!1 z7%F0=AZIa+0l{L!Wtw^)v2uC{N2n(deDV-*)6bRrSZ8VfgM4c$#p&2pjP-T`JJFJp zTfu-Jx9$>!Jpj4X!JJ$VfzUG#q5UPg_5fcyHnyV@4`qY-joH}U#FG9Y5AnHhLoN=I zlf$HzI7a7@tTiv!+gMuR5hnd|^fc-b{2#oH;vd29i@%Z03w%#&_ZT+1@|7k(mOGjc z?fIQ{Hd3_o>M`a>g1=IkC-^9IrT~*vbCv<|%DM0^jeml7#e^?7F%Q8r#-6gD$W@fg z%`D_1BqH0U^p5iqk;4_77Q1q1k6y2f!XZrb6o-6r&7Th;K1NV?mbmJM8pRD>Q zFcY6+JPG+oH=g6w<>*I-*;x9VL!Dp9hor(ef0(jHA8x7l5;tWQ1HzQ4saQ}TZ*(5h zne1%YH0oQqBdJB)IvWfoK|hQk)Kc zs_}w~e#G*){4(|Wh;$<4B}IS4YkBB%TK5rYM}?P^{t+*H@^f7so%V$|NtN8tyNo1pL2BDk!#8i+xj_FcmD!G4!E>k~qK{tHh zf^PgkJ-*5foNb(7qRo8Qd|U?mu>IfKDL!#o=P$YTo7>jKwrN?qnX&- z{|y~o_8WnE;2ThXf8?ls*_>C?Y`XsqsHTtqVH<)gm&f1RV@cTG|5d_ zm1Hk-Z?msd?z>#w+#LV(`;JA;@ee5WyF5;6{D9;im~wW^_m!Icz(nQZhcx^Lk~K>Q zTK@yD~${btkKcj?z}*+=*871LGoo&nKS z9yt7k_t9|y3U->@$!p=xX-#+wpTescrt&I$vZTXSc%z~fd7hD7;=U;ZqCpxcD+@#Le>9a-|q5Z|e>@VkZ zxXzs8M3f(B(bt5B`h5}}awvd@v#$vc^<_U&uF{+WNxg14X<1!cU7q>y}3kvRm4_GHmz2bic*J5bVXH`OAjtmkR_h)!By*)%4lu9 ztbYv*WUh1tNeLE zE5#bi!@V#2y5#B2{C1q#D~&f>pxUzET7+Tla>r_r)S`$*XjZa_u%pxqh2IFq8||1xh_zxMcGgYG;eE zo|Z~$Y!TM2QscEs6Uh;q%(O~HeM}yAqgc&_Sn;PQRts19rqL;_;ww3wB3Y+&m--f` z0G(1xDpQ6Bz;fFm?+i34*ep{P=nLW?SIrI=GRqL@<5HX$WXwGk}ZQhU+jVo=TY z7MHsq+es3ov${@aiYX1GHNVK(PH~jZUlQ{B*g?hMn;bRl8b_UWjr!X`e7ys0wNv^^ z5f>P$o6Uk79Ba!}j)knasXef~>}kF|uvVNG1XTwZzfJ1q~t&c9pxmCk` zS|Da%KoHZ%P{9)5R$Cx^IL{Gs7!U|&=2FiRN)zpRUZUHOSE6Y}2TCZ>QvQSF=L|WP zHeqtCW8;N=Nu{QAbw9N)sa()^sVsP(6}%Y`q+dr-9T#PyKFyUQY&*jdwlg3QIz-V` zAUJyp1UG?DE)OAjHq7c*h(htsL1Cqohk6HhPD>-0<lrHoQqt6yfyfcJ^mvD!oP%D{aUcGLGVimOy{H@TEm>PUkusdrhWiZ;p0R3kvN z#n4@}uB<}wVstxO6qBB^~S+#?v zms4CVb_QUJMbIj&*-I&h_7=E<9+guDNS$_2lk$qU*6t)zMq|%_7~ez1VymNngS6*pgUge4y_o+z*w5)U6giYQHZ#kUcHqkR6Y!Wt&)>S|sv}_wm6=8vc zTWMHD=;4%~HdRz6OJlcEId{cd*YP+Ppc4Z^fO#=SMswX2y)+T)blBTgs=MMW1#F=V zcZ?-Fdz;iXeoQa0g?f8H+I1%>rjp`jABW`czq}te2pHEkn%f)SAfHx(4!1T_wkO7E zU1g<{^k@?WR#xWQ6vXEm{>JzFccFc8>vQS&OytCwY&~?)R#~C?93PlDVfcUb?!0CV48&&6T1?Y3_SMn)@4=G-IU~>uFFG zWsLbpt+Dh&6_lP{FJvuU6#=g@-3$GQR6E~2O2c!1muN^hwEc7d|jg4G6y(PTX( z8PK8jT|;jSY=liEcQ5pb=T=iUFAVzaS5vN+Qcqj{6iEG*?S!osvJR~dSr4qDxa!I{ zsq;y)s(~Q)StSa$)IeeIO1fDC+C5*v8n36mU?JXa`{71ObZ7k;5Fxf?3`N&e4s_qQ z%A}By=LDhYsYFvjaxJFmTQ*rA84=44a*K>x!~kx#2RK@cwO2HxT6?$++U?;sXupS6 z)l%x{S6Fcoit(ogI|hUZl}3}#bj99EP~^+)$8Q$)s#+T(TEuQn?&xk#E_pX~s;#(4 z;VWrkZMdpy0-di7t36##L+ikr2a;(^9VNuPZnCij)b>_%()DH3)>~OD^;t%5y^;Pq zFQfc*l{wPErL?fFGDRw~RJ4%F^^nEAT|#~8DW{}gi$%|u?xSd(U1cu*;cZL`!x09A z_`8RrOU<+p+0IfQrM*4|hm>JZ^Af1l^H7TqC)HP3ro?Y$M7(J$1vSJ3(0N}aLi$b= z)j;u->Stj&wz5<*Co0uI36M_2i|6WlI@&;4TI^h$$sc&Pe7=cOda;R7nl5#YOZwbU z(VI!O3x((&jTNoFmc->LypfAugaIM?>4DU%vC>hZ1(eiSX)d`eAd4nQ5iiZBsZAhD z(bu%AiPBzjnoqKyQr*#gJ)@wj#6gJc7c~;sVDPt-!p=$E{FD!vfs3Wq&6Jw@5BWLI zw`(}hcMJ&3>HTPRGsVq(u$^d{+CBvlH6qN73&A$V(5GhT?$YK`ujc6P@CLlRxiVB* zIG5BG7^tU3)0!3-2*RW3TnnY4l=Pemw^TgMU$S$3*vwbwmS|=N=g_d07?GNcq(v=} zEltB+MlF?U%EXmiiAgKTp_LM@fBX#xZAE#1UBLzY#()qMcNOe!r6fw9X45Z!1lGAN zRIja4!(!f+FTZI=TcxPf7E?3q3%%3^?0V0pAMMe3p4=}UHe(O7BB^H^)J@$?iEWh8 z7XF)2xA$P=eHHzcmJ$ZdiT;YOHfuR!uE}OV^xw6I(q(`232kNx=4Cc<=F*#u6w($o zgWn1+_u4|U$up^BJ7t(eGbpAV?2+?;ZnRSd>g#{xs)a1&s!d=(sCKyvb!xAymL}ld z8z%FE-GZ7&2gs~O2$>(PV=~*(@(xNji=pfO6TC=Au=k!$eL5<>y7G&;;1w7Uf_Dfo zHoLPOl@{7m+>#E((ijlsj|WisP8ia%rU};VcM8_;`YG0Qx)c0WWg30#q%`P$YIFtVjBRi3;>ck8*gAl)*qW|8*2Q6Tlc}f5r1Iq%SdXbp41HbVhhz zjuyR)^#G+naaQ}NjS>Gr9LFyp@MYX`-Wfeu!}r{t=Wx9|x`6Wx2zy>_PaV1_r6s+Q zU`!WuTjd0eQ5;)0I-YiSLAO;loNjeNxAki(xpl?s;PI)#+O(1`c15f^Or?U|F!E5I zlE%idMrgloN}l$7jRMxn&+CSfN56o}JZ2%+aqL1m-VOAFW(yr_b%$$rgi@>S7$XQxT7QJpvM^If;go?$j?zw` zw2z`H0}w?vPr0JS_)~)&147XRKZ+cHD0+#_$t+nw6cwPe0~9NpPqR3oqq8}$ocA^WXE$5UIf$3)M$TZI(dP_NMo9hz$$BW* zAB^Da4@FS(p9OzB9I=J)#Zm zA7&~LALAY=G<7(f>K?`o9T3hr4h*O5!{O9DxSfhQy%KAVkuAxhLb}eoa%O$ zD|u-eSMo9gLdkvgXk;Lq`g^>fu{jVltOSj599uVj8eIy6KP>|(ClLO8GK3nAKo`lE zCZpL+nnRf*P;Nhjxze7>1Su^fiT~hDP@%XW#ZG@gcz97L7hy32LWEx4bUFy_kn;W6 z4yO+$hmmN9s|L~Zk!Xkck5kG>w8PFfxh9p_E{Q0E2Lpo43!EA|N?9Yt45STX&;)PO zA5E~tK&m_%PWd#8IVDb_04gvBt%s zt1%b_Yz9!#u}TB?)dNkgGWzhK@Zqlhrh?>VY!tYQx!@UNl@c~(L%4@7Ph_lhS0>Wl zv2fzHAXCdMP<+RSKRWxv!5n|Az#lh}oX5eVE?2o7YVxOsS_}v~?5IxT$HAlDu<_5- zO!tpNGc6zpJ(|E7Kb}B0#=&ix0Qxo#ZoSu+nvF*@P3$X7HFi1++4|ClK2$AO=^~Bj zPcgyhai;XiQ;c`;>weLJU<7B*ST5(iU{3yiFl7dVoZoOEM&A(hgtPk5xDa&kt9#St z5V#{`8odcY2Vbx^IZQxE-R?!>CLpBNg;DYZrLI)A7yX`q(Pm8^PotHO3M=pK`HwK^ z-)Z_p2;(-I3sZ6&7sh2A?U@K+CJzz9xKDyGM|zX*BnX4slEzJfFx#e5(j*Au+k>7@ z!e~>t2YFA%X!CLkMw=@iElSafdWuS0CoA)$7v0Eb3Iywy$KNQ}F(KHfZvP0jNI6;DTkbZ3|Jl>{0Y-3IwY&PzV+{6@pFbLDQx}FzQN4Qz6*!N%VCp1k2Zz%7ns7 z=ey9fP`rSxng~)N^*AoL`gakp30a|dxp(W5R3=PuG?Sim65U;&X-Kw}R30}$BN%_f zNCrgQPz8#eru>vfbfK7V=I4%i8q{O~ye@|hgfl-6;Tkvwat(?HQf4^fvCBzL_t9`p z_b~&4?#puQ^{KSv(O0NAVLE!4x`M_`j;)(DoD!xZ6zg=Rl<5dX+YV$Kp)6OIwf|29 z+*_trmqv}FoCv%-eHm*^;-<~OyHj*Kq4b^^nEy;T&c$dnl#9`r0U<`kvh;n1(nu=U zj_S`;c1oUDzRJFCpNoP~Iv?Y;3Ju}4Y#0!=UbvF)EM>FQ+n?UeQqD_5+T_)8o_Cbj z>O6?o>cW7iRiZRTj=dHXnjn`i5VPUS@672Iv@-#j|LBYO(|@+oNZ-x>Ki&TG;d$Z1 zzOD0E=p&DC7QNX%izq`M1_X;@rN|~qF-Xa6s7Vz1+j*@hE=p;pPdv;k%n0BWW-=fu zxVunp6q@twbyRnblBCQWz%aaL4G`~m`e;n}rL>}k(U=9T7D-d0kz_=*pcB#PgTFNw z7WSKqiQ==(Y5H7Dgx_vPtzwkY%9mV(LuAB;Y%;5<>M1@3Zyu+c8Fh$(aT9T32{^6m z%SBqxfKenT$^`|f{xi|LR*OaOcWg#}vEVtTDea0yzkhorWyLD1w6(En$r$X$eF$Iu zXx%*Y;Rkv%!kU8&h&~((&c4i3n!8l-%d>G*Tx>QH@2H4H3<$gpeFWp+`A~WcuB&5{ zP#5Ma4J{8fG1a6i^D)Kixj^RU=X&8*J9fo;QKRtCkKC- zEo27pQ|tG2NUXl*um>J?Z)djV?b~XE&50Oi-h{x`c!KX>eulV z^$RRU{eIhd{j*(o{c{Y6`q|n)>i1ZT`Vl^KX0dWWT2+sxFG2U%tDc}!ZK^M8(i} z>ak2Q=ns0E{A8?eUX!R1J| zht(l90eM58C=nEO6A%>JYKx#)kbs%V#kFZ~g3?3kTaUDf_zZEg76m6lm}7NmUn1uG zzSN|WD-};?Cmf-RfZyAeE4+^Zq3{;W1ZM^m5RO~50&f8wL=}C-^}Nb8e_rJ}1ER{o zf;4<3+KB57A=UboXd_Q+(4m!>6?$ErYOjI-tz(lyRw-By8|6hORx2Z=ECYG1Q7&5E zZpG+%-vOYNiI@r~wHEnja|5+ot9Tdh&Pz2t7!bA?Sd4Y;SPFwx-F?1EuHtU`JRgwm+SBjZQYdzW1 z(fZkmTuHO$TuF%mp(GZ`722r$avqt$5xzF%2;UeG2*1r?xLKk}CAHq9EH|_9sm47Y z%&tO-)|AIRIh&P3)?ro6O&c%9R;5#0l-7>duL!nH1X~6K)vx#n@3B>x=U7%?^l!{D z1~4EnngiqhRwZ6P_A;lD(uiZ6U_f9j{!MeY;mhOj3iNmzrl`J_PpY(C>2FqXNJTE+ zEGA!CL@0nYTdIIF0m_*QlH0Ixb!93Y-GOoSoi`s>2R2|lbb}huyB(OCZET=6JMl%V zy(qn3pO-$UPqTI+Z`fFkm1?zo^Oj%}EgC>(dD87d5@F#+&2}mE%{0@y*JY^RZhRLz?)Tq!F(zywA?)xnbYQnqLb^MN?(SAfO8#YN-c5{} zy|$raKX{fKrMeF{N(}~tQ67AwrhAm)l4T1TvFR`u9Ut<8Khr(hF7e@ z_Blius`Bj)yk|S}m3r>Qs5Y-O#qCu#Nk__%?>^)r=S$_;j2}(*@fZ!=2b=lU;5N(k z=2rRcO-uJ77b$$2(?80e8j=|hf*HQhhka;GQz~<_QN<+WB6F&98UqB40B>rOgj{5{ zD~(A)F4D(^P9>qSySh-h{V>z_27j8#R+wphNt(JJqi|Tsqzn6%5HsmP31O$0Be2s5 zks8%uTPC6m-V6wF7Ua;vgG#*Rs+z3Cdo=*vOTrk`<`9zKAulQR5G48VCoS_6T(ztk zoK`jif>zlN@rThIy~D`)u+mJL`+|lYM&d33UJ#d9DZk{J-aY2>%hyf>x$&NvBa?j=Q`T_@0$PAN*4Pbifo zx9MbdQkm!SL}!X_oTa_u2eW&`1_lJ3ceRD)r%$4bEv>^r`bsOC4fheXm{er_OB4Xb zURHEwxKHRmi#q!r;9j0vnaO2{VL(`PKnA=#RHDPFioG;(JUuxDHO}9oN~y5Lbz5PJ z+PXYa`W7OE+gOQ{+Qfh$74(vlQW17D#?h@*Sj^H^SggM7AGO1iM9jML+Sv?<+Us9X zXc_`z=YCqArgWAn7ojg{_;8t3n0lUuSL3G&#n+!kCsMyKYh!x)eHw4ej)kep8DOML z5f~HCD6^!}#vk@)F$69tBqUHTpaoVCx!Q*ET!M`Z2nkw0rQ2uG0CoGj9^?&UbG9t;RtPangqKIT;S0?hg?i29$0S)1LY9p^!!t(7qA z0qZ}+I=hn_X1p6G70iGj_3jbXya2OW1W}g@Fl%H%Vb)^>^J>>H6Sa?)<+YO;5Vc*g z!Xa}STi0)D#crk({3`FF5*HD^8*!k;MJzG$wIr)cu;j~NVabk{@PVZ>|1lSVMtv?T zB?<*!<-r!pZ-T?&gpbeRy(^!k5N7`sB#VW&aaA6a=E6K=KnP<%oMuk7pf^`wmFB~! z$Q4*+*%j(}1y)%j3#(YFd8A4>ihS`~DNZVv0YS>#k zipY5s^zF8AVSEGy-#iNA(`m<51YFowx^PwLC4J3Lm98lvdf&~wLR}ZmvK|A1<$$}C za!pxgnNX6Icqamg_?UhjAAEXfDEqq7Q@TBh{BJ1nlFuk%!=E?s4dSjjwYZ6)Gx|IY zzX@G+xa{F3K6RE6*APOy>|fpya^-iJV#A$q2d8a7|Gd!6L9tv zxnfTzPM{Y9f
    t;wt)2~!UpKp$?wKv`zOKxHMte$YCu>e}MG_BsYc?KwAS>1{5&iTl#iK=^))1F4XRS7wJS> zoVolEYCc`f`FQ9#A5R7Zp90s&IbB)d`k_6Ksmmg!7)a$=Kg&Lh_p=Pfl59rn>MBmF zvID2(!GNIk`3ia7L!wctG_|>hK4S4tioS>G)g2)_iQzhpU= zsj=1gbI4rWlTJQR>YF=(V!{Pb?C@PE6)&>kQi5XXJc0{_-Puy6;cYKE~U?kFV7Bu`*j~juWETfcfDu3VnW% z*Ao=p{X%1&D8tMelJi3>i}?Knz2l9gT(?oST({8-2;IJ&rAklnVuS7N@I!HdZ6mOc z6yexM84%dj&Qi`(4AhD91z-1P7^r)E#xeQIXesCu?Ry6P*IUxZXL#|c@QFr0SG@H< zY#15MPX@$j*W{KMH4#T_IsSv^Sgqstk@CM#!llkFNif2TJe^g-eIBA$^M*FuWy`GZw3UZj>qW=Lu~X`kb1uIUsAQRsrFl7?0!R| z-(qHW`7*lr7BAC_-*B04GnobNE+V~^-w2)+`*EJPzHpwm84x^=Cez?|N)^fM4K06% zsZ-C_^ywW2m4pUV{=Jec^?OCH-=p6hYD01s{P!!9+_Dr`tHZvgNV!(M?m!-6oCS?j?+Vtka=sBXnkt6b#h$n}sQ8wam(qI~zt(20iGbuJ3 z>85K2?(u<8^L@zc1HRQ|d((*zN=fHIXuWV1S39cFEWfBWHazbYY)4p;MGm@_=P$@N z2k$VqUeNd)rH|C&1>McT#KNQ(nRQT0@lrbbJoon5JGo2Mf<*B7Qh*XVgK9?$(&&Dryp&41(Y`_E?rpyCJ0y$x_(e`;*Kh@X;c~I7 zs)l}n$NE67via3QCF+WT48QQnr$Z+f!I^cBZYlZlC5J-43?-2|{)KgZyrRxi6 zxvZ9OS{aC7#R2EMA;gIez$*P6tENMjeOFd-6GJ8PRn#)(*YWvoh@v`6og8S6qE?Vv zexw76+EqH9LpoKhEsb-dwtz}ywr>buCf`z6Pt}ojsj92woDmX zQ3cg9PB~fJf<`NO2rCtR%{3_Ynl2Sodq^9ym_4*q-%4$)?awwZMQH}`JxshYl`c=q ztkk-a`A)iLrB-ojJ(wFMRv5*2VfLL&PV#OhRkVgt+{@7dYqg9t?FSvQR!d469X+sy zO}@V)%R;cph<7xwkXl7{Qo8OU! z6vpG^SG2A$3>EQ;9u-zyq*brUqKMj6xytV4jMiLwO#_Rl2D@Xg|FB;Kk1~Ym(|fe1 zh}zV81~0|^($SiQuO)u$V;NhukomyZ5`AxI)`n);syb`eJgoDX0xK0*Qer0EvQ;Zs z-+jfK5u-BDSYAP^7L#_pqJ~+R<&9q9j5STqp7`sy4JZgMN(q^sp#Z7|1ahCK1(_LWPW?s$I$M;`wbf-~FuPx`p{6H0jG} zA}87Vf=U)sJ2>t605^YR&!Sqcz!_2-1U_FX+4CJOET;C?R{_rJvHt@BTa#_=)E3eW z+`wU{dRxDEVUnf7b0JHb9b}m-o||O(`d-L#M#ysW8I#3@Tz;vv=gDM?hA2OT+YP{{mfsmKl+cTI$u}(&an!S+BM?TSC3<&|-Tz zst(p=pPKB^=CRmE>dCCVs#Gz5~ zp09);SA`&T9?}vgwS#SKY}v}Z#sv|%ZF59@4lHh}ZP1g7x_l zYC+pmsGHH<5l4~rIMKl`@_9xdB$U8vcv;4&AdP-RYLf8}NZ=+-%}M;5v0rqBLCA}Z z*HwqT$%mVk;k6DAnH~}HT?{EWRqQ?mIjjCYPw(-kcI;`ICIt2PL54^jl39UfG|RAY zv?j`biX#&q=het~B9WOJJfoOZgXdTTk| zBy@&iCPaAW0uk2SrAL`+vFeBJnh;VWzF>MC>KZ6mVz!g<;JMr&$Q3M0ac zI}}?AeQ9CjvTR&nmKK^$ z;%Pe5bktR@>1YPT-HStW$iEF#a&d*^mv57oD>RomnnvMhT=Q@enlE!z_0rp0bih@0 zR@w=)_E+hNtJ+ra`^c#3ntmkjGHNl!js3*(o{!X{j9Nwelch*PEOaI;7OLJN=R@d= zujbIhh#tK(cZ+X%CkE33K{tPKK%_8mh{s2xW=$|8k$+!{8Cj0nPl z9jrDFW+2My&}BwNcla_bDT~oExez1aTEzQ`7D&aMN94{~3y6BR)$whLyuu5pE|0Cp@9L3&aisYk0TRICClW+sjQJ8D@`ts~jKqo|7NXs2GyxDlO&5#59l2cKi2>xP^oM|ZWl(p3Cx zc8n)p*Oh`d-7aO*Xs>+s-!lOToe%pU7M;!YTafT7Wh=Y&G=|C`A^*| z21I!Ef|F7;!FceO!=Ha7vyzB(kJj+`ql;9gGCb~gk>*y0$A3y+=zL|hwCg>VoC!LE zgtO1GC*0XP_)ysVdwz-CVe@O*OT!t@Pp_zl?bQhhK)Ap=H(Jm#e4A!hlX~ zCeGe4p!*Jd4hBMeV;k(wo^ZF!KEeJoM4b?BS#N+_45#Ue0dBG4Wg2S+gj+IZ{Nt8s zX~HdIz2KHtsWit6Zdu)qPJ6*E2fH%2=*hl1eiX$WMb%;Udnd`WEqaH9>S`4mi&T@1 z3hmR(ctZ0M(Wf=MMl0K@^<3(lGL^zU`Pn9WtT*O+?RgJpf10}1P)l|i$sg%PF_5Mi z0Z>wS>GlRjKrtJY`CeXqUQ%)TWZ7=UL zbX~@MYUQo!orYqep|R$WkRD9!f!G}Bvcrrmsq|J=fWV3ht%Sn``Unt=lB zzq+T?=d4smcRQ7!Pg zTG$^cBERT}dDDH(Hul*1;=8ucWPL#joU)CgQb#}lXt`x!yqL=LIR!iSymfKy-vC<3rZM6h34XVFaRdws)vOee`)=p9F`5`fzst+y6Mb zsKmI6G!9E7Qa>AknRsHbUNU zY9Grt>}`<6+yFJ>*b;q%k1c8-dj@-r@+9CKy->i=Rbyk%b=; zkp|b806KKGRs4{MdM0nm&V-Hkb)gd@D+k&5&q*WT~s5Wz0RE@MM-Hny2}HhBKFi!|yax-3poSHW}3~ zywQGoT&$p;Dl}J%YQJv-r6|o021E$#8~M+$*JhW9h4sx53;TD{(dLMSk##AzIYzo! zjYKw5gQd4duUEVzyl%yw!4A*1Q&pJz7H@>cNRJ$!dyNgq!=)bsziChhtku1VQO4O_!C<+st6)^N?kC&D$q zTf;Ro&VkEcZE*~H!rNl~P3%8IgH6IUt=ph2MsKB%HfW2d*j{Daw!(mLgwL>l9C3Gx za71x`IHLX*s^$;vzSp22e>kFukH|lcvmb$*=!-urU2PM~KbqKd-)u4qa)Y_2Me2ce z%~Fr43pbfcVV|C9T##N22th_}g%j}hB$`JsZyw@TR2=^msfpy-tZp^~X_}b;{E*3L zO`Ca)wk8Zu!1*kQ&eBZcSf;E*kA8mCA0k9+>M#U&KmT))mR#RRtJ*==XfJxu4r$36 zZ;_VRZQ7V8d9-E>7db8C$#WdXiKf!IJ+hKEmxSlmx5wE2dIQf&>PUI@QX_C|I3F+e zu4Rhr_Hp3d=@k2A=*)n~O0w>;@dD#PcMQIzI$-ACeFHV^0J&aNqlga3Pkz=$gBQLx z<|j2b(1i{N72HB*=!j71c#lSPM33EwkrkN6{G=-92bNafR&zOWSJUB+m}Drnp5Aw4 zoi%@~iDf|eh~M zpxf9J?*Eg^*nfso%b5QgO7#*cttXmB6aHA^$AD1%Ll2S1%t;VF9@+~&{3xvd6w-0W9DC17<4!Yx{$LSP zT9>O=yNI^*MP}2DXX?7{2k35JWHv?E&%Dg0nwAq>AqZ{|1nUY4^%hZ+ zewbph7C#Fy5FH^IveK1reU=#4e_B{m~PAT|^K1BOJD3g8@>VYO#LDpO_0}u(DNCkR{ZD zsxj%w<+&|OdLD@^_pvd{4I6-wwc8@vJOI(LJC4b(*~5T{4(m?;jI0|-gh}fFgozDN zKmfwzOetCwfWh=pd6D9@*$V>3fM~c^1cWPl2L0>AQMrK_aHTk0<^y;d-!1`la~JXy zr}Lh?sx9`26vv%CL)G>SMW|&=ajwOi0tIq^+AZ)NV~&SSDYqP?wzW3InNTt|X42L{ zm~R*qZSE>M&O@5vl3a>1gNB4%pEA5=fZWz2W1lu0ie9K_=BQ=H+hr#S~V#IvQ zyJ47b*%NEB5mJwJ+eFfXPJqw1yooWD!an=9FiAB@3o>Amf0-iSf5Ch-l(ET99 zz_#Pq{fpU_9xRm>n8s|TIZv*^)@tW$&V3gHVzxzHFW$JrM?&%ubMU=@b>SRMf7p;zp~(3SEmd zG4cyP5={Q9(J)JoQAla`Eyui~_Hb1c%8E&BhFu0-ReA3tNd z62|`jGhLZ|80pGeG4(Qx75E6~ab)VOh_WJ!zBUe%E`c0XGlBu3a>6lT^CizMi;&-VOu7WFMWHc! z$@vX|u%`YUA0#svh_bTcM0C~+L>tTaAXYh=m%B3p_;R*N>&XHo>U4pxUr_7QX>SZ!#23M+PEy)oZuAEFj<-N};bzg(Qio^Tg;2xtEp zI))1u4-0{dgQin_2wZ$)8Y|P>WI*Wa+<=9;BULJEX)7HJ7k>7h06)8gQ~L?9KKyTCh@#P-ECLxbb^vUdm!qVS1hiqcxh9v~eP) zUM7T@o@PW7v#w_R3fyUh1f}K*+ByjdigzxzeXOwkB4PWPQ<*}#SyQR*WQ;ML#Lv!C zY06|IC`}WY0J>(0v}H09lzi-GUV_q>?Y_Xfr63qA2%ew930{~&_EV6cEE7MMGZ1Y= z<-YAXgZp+;0!N>mKp|7$+k6Me_kmib*01Gw49%_BxfhX|0t_osCo>?tCUTP*K>Mr3 zpTMQds4pFzLVi=>edj5(Zz{6Q^Sh`IAxkY13g>6ATvL!SCL=d_63T|X!~8$P5uT+w z(tuDnfBa;M35D}3PC~sXjXMLv`DN?;H|*)92`KXZer;&iyI z;iQ%bIK+3WaLDoqIAj27{oNYdu_wGW_8HIqGxQxVT4PoO9P(y7In01V9*<*XnkNhh zhb;5Ta|rIFKEM$*#0Su&R`T-d4 z4L#qJ5zzF&6PDsEU^z%(P*g+z{`x3dxT^?y^jC}bgB^8cHK#EqhnQ3!)CBk5rj z!eI3}a-E~Pc@$!X69H_@LVofb6O63PM{@2K42Ue`M-DcH*3Lm> z#0RlD8e%~Bqp*iaNvxxhl1vPu3eiYOd<9zlAZj0tlq8j_q)UsT?a`PgUdI*HtdF5f z(OBCsk^K}h8VA$kBgEQ{Gw2BNGs1~O8*O@UM}1`8ZoZV+SMq3D0x*TO%>ysCk8 zErvC+;p7{OG0%6Eam-sDi&l1Hj!AywYooT6sE00Wv1GXB>)xnbEWn##dQy1oDd+N4M-vJeB>?I+xDy@lZh z3B%PN%rw#A9?sPZ(ODG{KW%X>=Ryo<3uiGUbaAt&a2y7-=Im$QfcEn-C+H&x`U!$F z2XTV42GNu_HbRP@od?m;IK)UA&-rwxXVQZ>bcRcDk`x=ie0dI-ma!p-k6&&1PhC3( zL+y_#+}Sf)beCNQ($;u*@=yTj3GHOyQr2C%xmHC5BL(BoRgyj7J}kihGsrW9 z56=Q$DiS~+apIu%@+sx_%mp_7`mFWX9(r2zBG0*T)M9>ZD(*&U&;j3)$a>~MrkIojLKLwC|nF( z{_Gj5$_(YNp=)M;ljl*lun{jVNeo>HOE7e0_BEko^hly_OE7emzsH@IPdHB&&U@Au zT%vT(`;z}sIB$>mxwkLPTMBPwEd68X>KOKqFK~%C&m}JQp&HBJ3y(guZW(-WFHQ_y z(sDGa9id<##5Xpo1onhG#IX9zi@X!ykPojZBmoXlu$b!y-k#609|L;C|3BW|I=YG^+8&NIl6yk}q;Y~n zu%MR&3GObzeQ+Cea0nLc5@e8r6WkfxeSqLHxCamJ5QF~qsngt>@ZMYN_t&=;&F-o$ z-*sxAuI}_*h5;|wR)nj;G6+`_r7UVo63TLNlnB@CULsufwvMsG$TS_U+R=B3mzJ@a;_3IJu=Qv;t2Ba<`_&E6}d{ zFKGG-DA<>Gj@fD6M;C2PH&$Ra{N0MGuEcC8KZB;Ogk{#|5tNBwDp-&jTC~9Ha4Xf2 zBdzG>N<0-vXi1){Fb5i`Xst1WjQyqzB2oiaL8Q{Pq?xNAQVA_NxAvnY?OWy9IIk;v zV|XOVAobwM)e1Xt{~X_(ENjs5w#{kS8gxA6G&-^d9k;QAmc#;bDVL4C=`+o7&2Br}Tr9wU zE%y9(Hgix_b9`7)a-Hv)l}4_`o_{TsTC2?<&FieocpO-Z@%Y(Pj3Ra|jG}8({OBKu z%J!J*u7l8&dI_PyTm0$B=dPz`hV0Fqm4s`p{^AlNqnowlecb?hwGLaleM1~cqQ~`A z0<&ol4POs|`EwBMT@QgNenBlM9o{Hq?#^KM+7!Zl(l>`ttqoXGMoMs02u;}lff+rJ ztI|UU(w+?v7#jzj0@M7wDzKsySW^o8*hCfhsR`xYh&!fZ5NjTm+L{_;Sji|{c(5pA1 zW1B$lu`pTXvTnvImz8}lDaMo?i*m}Cz%$Ig_g9gX{n?37RrR%CSTdX)Je ztbRWAs43%(x-%9Ag{Zb?)`F+ zovK?QJ5}mAl0@%WPRq7Jb|#!sl)4C|DTLDc^-+smZ&07UZ^az(lVG;`6u1qPRi2ng zb{h8njgZ0vgb@F_^k5qZnOcYHZU-Ty#t0$nwu6v`y--0CqnpezN_HmJCBDPwlYXVj@PDbyP!J@ z*} z9$cmH-RQ^HJEA-B)t!wC*TPUX=PEItb*F*b^4>yNvptZUa@9q0nmDuIIW&Hok^A$l z26EcZ&36tJA1`kep^!Y3n}lf1nyi zYX=!**ps=-5}R>9me_t(sMLN)PFG3Rts1r8@7Xwid?!w>Coo8T`5`%Yv@E^W@A3t^ zcCQoN*^e8gt9jZ*!pDnkPXX-2?E8De##wD$mRl-^;~S?3COlM2-4pnoNL zaFA`QBGo;F8>LcznKw%74#BuQ*>6i?TrtX9B(WXu5*;_2=uGde@SkX1|7kT(!p}H{s@e0 zTsgT>I#40;B%RxiG9JZ^68_o_)hTZ;I%^Xi8tr{sdUzB%wyiC`$^sp`uuBbGQ5m=( z8MtocxwU%t^0eg`)~G-U29>9G$Dm_p*lC)gpKU`~jzh=BaL}n^pLVJOeWbt)QsAaw zRp91ensOXEHd2D481PJ5B~?21u96}yp|wi>qcy!ejztk$FG|M-b2MykiFyNBo1}vJ zWCo!`bSxbrlJMK4gDji%%h29`LG9Mkl=lRTrOltRY>qntX1lYiCB>LJ)=c?e%xpPz zW(#g5%w9hMW|NmD;{=$smgTl;UJSzQ9{eSztEGrrqaY!5%}J2DFOUwM1gQh?TWlw> zx=cAI8n(U#@|i-kq=jhMXpTcapW(M|Pl4o(HrmhF-$q}6dY}zMY}dB2Gh}96jYprn z>o-w3NN}c0B8l|I)Uc6(j=6xm)y;HMr;3KHkA#LjusM=MH=ar!r=ell_+>8qmF6pD zShpDLUiiCzo*$k;)aEqi$L&BByc0-^PlK-ee@INeIf__rigIRi5Cl%#EE zK*p8sLWb8_knxN?rzB=}Rryj(Mx|0*o2_ywA)~`tkTJ3ZO+5=Tj@kH{cAP=TDD+9l zI8|K8D0U8H1Qe&5=Rn4b!!+R>$oP3u^y@kYS`{VBd5m`UqM~1|&O^Uy;;VS3B|%`~ z8i{^QE-(5url{j8hNX5r)rdL_(ulStDBT6<*LCIW=r>z!*fPT#USM+OM5ohDVwWAFs z*Tr6P-_-je?wiUr6~+!+goxb?knO&A_|ZGF%Xr1x6tQi^kln6tR}fsK4u@=28AQbJ z9owvzu-%t2fZAR{WB%Ju3ob#qULJGIM^m}-1kj^P;D1tKYH%6+m-vI`UdDD`C_6+# zy{TM%l#7Ilyq*+MwLfK$?Y?OcZT$6;@30oXZ})vHMEVs>iNPw5Hbmu7Pav1SmX&w( z6|B6LLbT`#WG#mz%UOg@T)}o#&B_{*?JTxboda&9CF3V?jJZ{2%XoZ>oio%!iH`1?c0=^Tl< z+Nr%`8kq8bFP~#%&3?*5$5b~wJ^eija#^~jAh^0J*;Yf9r5-wF!Y?M^Rd2XVAF=7t z`UWQ2k^-DXTgo6E#~zD%8A3gEJaYq29m8wlqWRQuK!jS~8p`_CLe{r(st`SxAv{d3 zDSg^fSgn6`xd6LfuO{Wci3P7=2XQQx!nI36aoM_3wQ?*<<)zCvLGk=NRQ?tmi>j?m z$710vtaz8%DN921VdbVV(G&c+I$M}OT|q{-_qi$kZE) z!?(fl@?3QNHaKpzl~Uh-ioda6xtb_la5g&g0K_lzqrivYuTB$Dy4erGdvfG5i!t4fuNAn_%==w+ zX1iBG4E*^+82GoWcZdhM-JG!R2kjZg1x>8@#pP;F!=1`+2*r00RhqQLR zr62Wqg4y6N!Tf%-`3cB5-$YDHJzC5J=PQZf?WrI`zda*`JjIJ0z8M|$;KhzxH0vr} z?0E7NFLoTQCuI0N0~r&_pvojhIDlgm88fr+nQc}UA*25@kkKmxEqVqreAG29HG`0m z`KFMuD?O7@$}MYpYWWLF@asPDS8+~q&5zaQ9KU2I~Smh zL=1{Q37=}RHbkXL>~YjfR86=R$k)O0qXyz}{NqcJ(dbn7<>dYn{Rmwr9!Hq3vvJ{C zU-s9K>rg}SI7YqnEbUs58pWcg=U>9%IF(i$j{9jH*>Kk!BX`X%8IaqqyDA7SUX(+& z5)9&SoU1_rui$Xt%ie#!LR*e4qYbY-OXj$>#xWC3hr`!dJUG5g9iQU69@$=dR&X1f zhB~~4Vdlin#cQ}A0VPqqOas#e$-*(}PsNL;<1@VkgSa3g3dtRNnm6c6RBFom1~cNM z&dIb>48q9F%d$4lcmuBkf0VxI4ZMzilB~Z@*WbYFc%}%{pBKk3C&TNQ;*)4VZpwh@ zn}qAl#i_?zcpVFTRYeOKq@vhbVj0ToNRHG=EaRz7t}3tNp*Q7whn1<4H_d&A0eD-5 z?!JT9k&)fIBzBNoIefe*1*hc-ZROL79aMb}JD87;D!oUq52aC!Im{r9sd+(qt-OxM zUa~UjAFwjj_M$=`K$!bN>iz*L z^)9p!icG?DAC6J$-PKflX1kV3c>ehrJU>WD{$Idz6Ln1sVUYgfZ%>@N8U87S=SyF} z^UM_V{0n%lHJ5UJh3C;>@h{J#-&aKMOZLm@=)>NYsVf}|h$K~3Zd_z^50%PvIu@jK zk{7OB%}-^&!Rd%j=7^1s&%$1SRxLldeuvYMJU>R!rWt`eMQ`48k~;z)bR)4ZWI-d zd(DQ^DRTnEqT5{YM830AX43vTm(VU>oQ{nC*Ps;%5XLD6-D7NEP`V%RM0DdTdm=_o zXV%X-#S^*4aTvF|KaoU6%Jf89xjOq`*A|=Ux`)UH$hjZb06A#jF4EjDD;h$1e_{jV z$56#_KjC<&aJ<$7wb=D_9yIzVCe08D4)vhJKf&RFAhAH@o1Dr18$)Yy3q#9)QWpch ziTh7SrSMI*if{78fN%0oaYfnOB9=6HN}!merkaCe6k`wF_{c`wo zmP)?u)fKG+gOKBSP?6)lD#4YOPlN(Cakc1f)&%P5YANG(ax$%PwUl(bH$&W$?;Hq< zBYfF0$o*&RS9-J)j?+jtOL3pP@s4K0fe6C4sQJ&{yQUETq+OijD#pn_JvUIx&mhex z`-6hqEjgN($jVWANrp(R7{J^SY4wT=&PnlR>f0#)WHsX0A;(@lU3ESW3HP$|e-v_rT-LT`~00 z!;(Jme2gO>o+O(NN`s%6R(8Fig5VrV&}})D?kly}Ux+Gbmhx`jzf-7&#%!HH2Q*8` z9Fca+E196CgW~Qi9v9Y$gHkk^rGi_R@6^aWoN4NQ)i;j5Bqx=N?x1L zb7|VqczT}P(m3TDcEj+F3_i)7!jjo<=+{I8Qp0pmS}RvgYmOAA<#`dVGff%Q>Z6;ZB^GaF9vB$;CAUXJ1Fi~KAA?5*8-y`{fUAt zVC>Uq8fLMS3{5%lfALVTv^hMKpX`Js_E28rb$Tc-m815Xhw?_bZIRKH@;fGj>7nfZ z=onhFqvD|ywOTxLuE4W=%(;~cf>)`MZL3vTYR<(BqBd4bQ{S>GfmV(|x*K0WMpyYI zudSAJwO_M8XZj@#d#bhWgZfa++!zMC*PU;wvbzl7VRB6g*tG9I`T7Rs5b7J#;uqvC z)!YIKh+mQbCol=I8PiGC?3Z}^en{NC`KB|T3Uht%d+LzNQq?_YZqrjam|o39rZJc1N|0uR!l?) z6YGSDkdNFMz3E4Kl*SU6GPeZte54#{EqPL&^5V+%NH1!T)>5(XC=NPZl_Q;0fn%h= z$x`5g530b0ALw9OOJM#U670zk9wtc@(+55%rem!r5`VE~r7XT+x@|6TRYq_$dfoFA zSD{T%K|PE?7!y~;9T7<;M0Rfx!ptw}wJ(f(R5Z2JVdVL5Vy^dTK6 zuP~4brH4c`8!leSnv|&4WOpGRgX7tX=Ln8NKes=n9qBDWZbP5aTgLKFDPIOlknZtR zc_mv?IJ2%uAzsONjziY7Pk#4GYCU(%1+=%0nXY+h@k;Jxu+&Sn@u?$8bhgqIn9)+k z?+tcb;i*&Hp<^9c>k z1TsE7rl*-e#?tgcM#apq!p9oAk;DowbBuCA0$y_EwjwXZ3TI~q8?_$Oq0C@oOSEF+ z9|mC~HbU5#{m5jaa~80H&*qKD0ycK`p*>l^#<@Y_hNQ@fK)#1mJ}caiw+~D=Bs?qJ z5IxEVxr^h4LG_o6)6(3`dc z#24xGz}dKP?SiZ1T9iqAk!9K7i=^}r;@)M0ey_SOzQ}?5j(m6-`@3wGEPbjbz%m8F zK1z9Qsg?37U09!*8fJ$t^86mn%#Ow^>p|zUTkvhUewa(x)0H_ax!hb*)9D=WMWz|3Q}UX=$Z(EPzQ|?%N+Nz`kwJWsmiP*8KRksfnG=0E ze3xqG#PsN-lHsdHoJ{#5_|BfXo!piazR0aRbTKDUj78_r`YQfoYI=*&uJyp}ZLJ^6Hvafx$G$xrtx1K)+uichgYxcdqdY4Qh3Ty7*7q_|VKBM#CbHPIT@1oxwi&Xt?z?1? zSUvzG=D0*n13==P)-)>s>(58L_ROztfBb}urqDh6L>~hzSv^m296DO>0%a%yQqx|b z#*DYm(=?#I?7R}XSoS~6tZzT6ti>;K9I|%dB+?V}_WS8Y2lr_2bTi$j93pg;ibCkB zUvMOe-k*aO7lqJGs;=ns5&AL+ecP^~7CeQ%Mqi48zOfP*-m_ zSpt;wP}j7c3_{7ADMCrWS(B18B|yo%GZa+H+mF^1?&U9$Had_uH-H{(vgP8NNIt#gFzZ|@+@t!LGH4u z9~{vA7$UXI0P`=PJq~aInvNJ$G8!LPo~-$(REg#8RHACawaZAwyti@_x$}>t`lZmf zM@?vIDRd{MmB`)CQ_jYPYbnfJrQAjCJOUwitKJAfO#&ei6;3I+3vTAjhg)w`?pj_% zrFOlQg5Zrx9&DSGiYU3OiXX?sOWfb(_V-etCAZsHe338^?JColiUmRW8nwjql6h(> zU-(HH7KADB{sg@U!jxDPONC40mJ_ef{+bP@&h1iO4O-x3Kd%}x?K}-HZ7Jr~@&s)z zjfvo=qP1)cGWIFQ%PO0$j3slyf&V5Ni?E~55`Ew0^%-`!^)u(VT=`? z^|IZrvX*q#{>Ut{x3DAKENjW;*R8Cw$(d*|Mq=Gs@vl z{{}w$-3VXERV8r+kI~(7Y=lRtRxlgkSDF!w5fA4%EB)*#U*a60CNr;w!%lO-9SKfFr-`t~}e_VTvlxc2|e8RDhm!g;?VW)UQ88 z>R$nRcH|(fsemOf?4Z)KjE9dT;!4Y)=2&F(mt#Na(M3yPs$0=ALial4NE4m?s#3QB zkLX@Ss9VWLl&KQb?J~c)1-D&BuBMFK*%RCs{oD!KSP84yLJ2N9L9Z)8-RdfDM6VY` z87o8G+&Sn}x3B!37oH?Yf&NmUx0K*>f+kkRZQVouR-;{yV!(q1l~mop~x@ z>ti0$^U7F0XMYiH9&W_9R%4Zi5E&iuFW1Ar9lWaN~j8Z>wAn-Y5f>vHt!!I3vb9?a{{cah6!+R5ACmp3Gi1{`c@5#)3iFG zg@x`RqbX?F?}-+=avT=6=v_3bIwr)HU9^XB&@TE2)XVHrT3C`j6f>*;UD3jn9EYqf zoJ2;;)WXm`&VjINXW08dx^Pd?!ZkIZg^zYQl0-N4B-fhI!kk4E*-=l$?PRcf^*)T; zcD>JGYFQJrrk4xT$Xc#?rYviC8+dlPcDN8T#*}Ew$ijUW+z4 z@vIF_y5B-INsO@>$0$x#9pp3H>Vs6NHtaWa2TiICI&!OMEf0gxQDlJ7ab~+oM?f9W zQEWR^s{=Y-m8Y?FK!S(5&laXkG)z;2S(jHQ6;~(0>a(Xn@%;bu-m%2vSQuroS6v zQFddmM&?0oS(HCq;o9-ftNL!$jvBk^VMEB^mrazW5$3_|T^z05VUVF;)k_xV5sh$r zmueHuZ-m>s36d;q7aeN^vD>u-0^uqF_@s3)eCvDj^aJCbBAJa7v?2zesqyU`5F*J?Fcnqz^>zFO|&TCQ`m38Iqu}vt#-sl zA2^`2Zu42H)B;-9_bi3BfY$Z$Qv>HC1D8PtE^G@oSD(0rd|G0)YAV5ITc}}6Xx*eU z+zWm385-RZT34QfPOY1nRTcQ*iCX?*80=nWH>(2AZKl^KF#kdcE@HrDwMr_R)f<%7 z?N@$-e&96KX@%u6;J#3!w5}vygB6zD#Pw*^R8X(ZAe@NSU5osU-;elY65p>Yt$VYA zGPMT3^;gj3)>uX3ZkVg+)7Bt3FY=m&br?5mMOw9FVJ2O zGoAlunUWQ@dTL~84|yB8)R8Xw!zb$69`bf5z2bMP@Vi&|&9@F!;R)h8eA^8Z=KER| zj9E)R+k?LmH%-H1d8>8&H)6W}n~0c>OK5cmI3fS?hXKrw@{K>_FHT6wj&MTyUNNca z+YwZ)WG^C#EzVNz1>0i#HQWkYhc!ag@s6M>(_(tl5mY_o4=mcXC4NSA6cW`dnIzX}l+C$%UlY~4*afP0 z=a6ugwJTKbFOtp9Y2>I4ucDi(cWF7Y+x5!|f*+|B+4h)0RB!k>3hj!`&OP(!NLMtb zUoML8iU+Tg3SgQEv8LAjJI_%(E@YR7QT@8%VN{-Zw5=Of+bj6lf^OLC3_gJ3C9kP| z1vy5kpKF9_j~jz*b{4?Pmb}^7sXO{IV=fKpj`=ZX87I@`GRXX>5F*wQ)g5ZMeh&TU z4mGSG$to_Rygl&X^~*j^u7BM}V|(DiYtS4=i}C$&QxOkv8vFs*KHA>{4_>=3Rlyz% zQqj5#GPdf$YdWM(B2%;X(UnJVS*FjXp*^vJefXQ6_e9?pM^d3)P=0@QFOnEUI^}S% zL0Fe?T{f>JVi0qY-mS*pbfgzLJZ-URM>vDD<2&Ab|Me=m`>a`}RdnqQtB9RRqk4m^ z?OADGZ#;871NHqM@1pl)Kf`=0tR0^xe&)LNX~c7Kk>}94%?&o%+)8QTJ?&`suv`yUMp3I-kKpiOs**zt2CJC{(cS`;0!Rxi@N%|;ry?tNI^-|L*qA&Pr?WjJA$_DW zG$wt;d|b2JR?ZjF8}tL|;o&r_A4t!su4%a#WE6t&F1*7nxjD@wJ$rwUUSS#q_6O-P z8E9aCxFz1%lei_P`{TK5_o?P{*OBb$n0nN2o6;joBjx=>MrS}G_1v|lTEyhbtKr(? ztu$=_oEDnu=zH{r2<5bdY^BBn;k2aNN;3z-X=&xI*ob;8w^$5zuWNI-qx$tZlw%My zXq5z4&!LWk;I!oZhx@4K`-f%>g41%JT^gs;66&T3JSqjAmI5;la4<~%l6WbEgd9LH@C zcjfK|E-W&7z|)=So@oJ2;&bXQV_ zIc5afyU|RS{+3Kt<*sBI4tJ&3ct^VEhc{`+aJVa*5>VQdurb2yWMOvjbW~;6hfJqS z!!cE=OR&at@*V-^dLEQPSC3$C!IeouNz-+SC}}v3c8>rh+s9Jwk?CPxoJ^NwGr}lv0&dk;Dqlul#US<9lUsEe41K)#G82~3_6fLEZ{bX53h#rV z=B;|+Wt2J$x9Wo@sCEotkajfNE<-;$3{PU`!KaZe=_7K_kX?+>Um0PT3Ykx0r+rjb z>LLkJh?RaD&&BKC$J6^T+`jkRW|}46zR!m%lhiDi$W?Xw-f#%*p2%i7m~v0TO4)9s zh~=0`u*&W1;v})k2<7{*RhA#eRoW_yGp%wGTjgN-F$tr7cr0Jjjxd;3SyDz_y`<37ms8^uhvl<=^pNTQZ?r{E_3=>Qr#1&iZ`0df=n1J+_nI-9+pEtUO%v@{ zR~1+aHbSEUkbc7N)>p06m^`&0xQAQqiFdw zJdRyO>gsBIA7~mD(Y+gl4<&zod=18Za+s38A}XjCWe_6T!xBzuhv)r9>WFz#h?2j- z{b*)5NWImUeuiVMov_MWYglHAn})`>>m}eFBr&uPGZS(0x+i6x4NmIyq$#s8w6RO+(rkVxG!qphv9S>x zquA&%n9poI2aAmb&9V4u!>i zaxO?})}6A?1xemtsm)xFlsAD~zv0otmboyrab4-jTxemWAOm5h+~P)sY0_H9##$+CTdx(iJwbZz-3I!l(4?tAfuH~%hJhQnQ) ztqa$>D|aC>`rC2}m~Uy|*4ZvZ&7KeGFgnW<+H}q=xJNf-@OFPxXxHy32=1lUIa_bF z&M6u6Sin2e6Y=II{{*G?0&GoJ>P)r;Xj9w=>c0Srm^#KWX-!3}*O~S$z|{Ds6Xjco zseuo|_gRRkk#8!Gk?Osve>%sgn{!J))evhx+P@H6(-}L_+l4UHrF}VCTgD*cekO;^ z{bq~sgto*ViH0G}1ykJd3mhBq1McWqEh(UOUs}8fO89{Fev1B(L0ZyCDPcEL2@flO zKsz#-(l3S*&UU6Vm2g-`Qwh6IrooG$gvI_;EiBF;E&RApMqh1Oe_d=z=XGV$FF9=G z@{KYqvH1DryQ7Tra+F%PZ!zGT-F>($eS04YSpwP9%!1Ti<5hSDNv$zVs!_7{x;s_!~U2#$}fD zG<%UHjcW*1T7*XwO7-5g{bhs^Y=mtodjuQdD{2$LM);AAU9e=MZ4ofS(AM-k0!v{v zeDMu0A7vb!sFrYTs4}X^=$#$Rhqcp|<6-TE)(&c;qxviD`)?d&Spn^vGmcuVfcDM2 zrp9oLjNxP%!`j`|7}n`duUBA!%Ot_f-KpS8Xx}C^we`(ospU#&UndSawQtu|RbU4x zu)7pEqnj#lW;Z&u68D1bCD?%>JWP_Rd%AmmFsk9FaGO>r_1#x^g z#of2L$^4TwV18sXidzHbZBMAwS}miblFDS~h3+4Vo`J0ZY3QvzZ(t`DvLkA^zs3YB84@x7# zg$;F+_~-E7xUvsR#MQ(mG-dl>0ziQiE-}c7{yHP4t!?I zgD)3sggsYiOpzNw%BuDpt*vGdQr`OrDN`Dmr2M%Fqfhab4Y>Hyb`p(vcYb%xC5E(sds@x#1{|7gS#z0{w<{v2I!g`{N z+v+*;oeE25D&w5isMW5|RS=x4Cx>jw8D#f**;rP_bfz*6+6ra7SCK1V#)cfDl<`zcKGP#xQnu}u zV%|IJI2y};=_f1n$nEf#TB?LvD+ZyXGu}&J6F9IP_l6g1)2;2eH}sHXT1#@>fsN~o z130;!X#lm^fsO07wH?LdC$YcCqueOv9%zsH)7%}{xGvm+TciarNJSUM%dj5dPf?ad z>Lg0Fx365~Pf>dBsO6{tJ>E(k$60dF*qyl5)@#wRoiLJP*tR&j27Xx9T`-b*>=-05 zlCsKGURpo-?t-N>QrEP`4ARIf$<5K=4^r-~LD_d(O1b&f zpccEq+0CmoXE(Ms-$9q1-=g%nRnys8{94+dl&~B3W%;T*Vx!BnQQCB(4;|kFZJO9; z-d;%4tHWwp8S_xd`(y^Y*Ul!~Tzyv)nza|p$^;39HK8keAx-m?8R^uUjJ=SidK`30 zleZMuK?>|H1;#d31;#a|-uoa;XC!!*0n((BDrvIRQPOlq3BG<7HzfP8j%^+#v?yt+ z!`EPB`_%FujKjp#}#q zy=`nZQj9458JQ_WD`klm~vsrsUxm_2zVn6Dm%9s!wgLxcwZtACAJ_wzJ+Rv9}222ryUE>u?inGw?bVzuQ&i z80>99IqGu^_LfRr)4UmknOgC*E#BgbpV!Xp{-mtQj_+}>Q>QEyJPvj|PE)tzU?($v zE0FKl_8o^h4Jl3UjzgV-@tUFfYu4a@p-x@OIED$rakHbTPOEDqdbGNvv?C1$s+%kT z-JJ`-@NyLUFVtx}>-iLY2ScQ`6<~g)a#(RLK-+*ARFW1jSzE1AC03^qiK+?Ly6|<( z0PjJfPWOXo!3p$j-buQC0_wE+ys1t*f}E`j$H${3+v`E1P7O{%om#dNnwFk~I(-S0 z?MsU@->I-QvLb6gt0TKzHxvYS2;q>eBZH_@Y_EBzu%wm>q>87|nD_tE$Wu_HWak{y z)KsL(fpp>&yvbFioUI#wXuf!pO(L;-*{~N4jl}L{n|3H&CWfg|wK+yskt((gg*;P(o zMDa4TEiFB5$(^z`uAmrrCg)D$p3Z2)#px~_EA8v7?&&6(>h+MX+qI}RRQ(L@>2`8Z z(wX;kwM&}!bW_^U>NB{fD_%wAD8V4@Jl;o`QTKGY&*DX-PjC!mi?iTWs(uzPBE@V{ zRvYm^t@-O1>|Wa|b5Z(^$~68gZs~6HHqDfGGM~2k%}kHAkgMvJ?qG4MeGX>oSDf~q z!(w{2tL$X@o`;pDLe`{KnxJHztu(G8S80o{C|26-JgoGuVl?YK7#OauX(Je%=G)ed{5WdtziJ^7qLF33sARnRT~s@@)oWw zXwGFvMu(Mv=*T$Zu^vAhxEbI~XV-dgI&(S2cd6AMHkALBw=hLrw5-?bICDg|tEz-H zq8Tl{1fl(-8Qr^N8R(V@ziM^af?t^}$Gz5Lu^e5-@_1T;XUfs$%MjP$O}SC}h^BP+ zGQ_nQ2c6C_vO#@I2(7z< z_4rB`p;C!!K4qAZ(GS$iz*>+B>ZKWEfJ9vPz#&K?u5<7iL&u9tGYZm>|1cju7NBSU zVcA~NUY6~^$v-gDlKf&{M)oYEWK(aGD_?_W$6Mtj*xogk*)iuTW=Bo@FymFsjwPj$ z58q~Ekl7Iv?OenE&TmeRF4r(Q;{0jkHB62jyJ+tmb3UfKcFhvo$VcI^+Abu()-e2s{2`vR5Jl`6i}N zPYL!aMXhgwQNIqR>GIxaq58j3m9nmrDsPXxjvCQqeEWHvB|8(!D;Yfp_vzO<_YSS2`K}&Pf^}CiF&F0nSD4iH0wK)Lw)3@Q;sLWh| zHXSi6?6p{Pr>InkHFsH}YQnWzd>zxN1TDXb?Wkq-pfRpF=&yU|-~P?C?H+XZ%1%>v zZ)SJ4FkBmp3Y1*872Pd(AG$lLx{x>gJ_^c^U39mIGvBGOQl{=!E{g2 zT(JfUleu8ZYyih7nH?0MYX2*MmOsQMX>mWg_7Kw`xr)|OFvzGsz9)-%a1>;RcobwcKsggyk?OQI%F?*<6D8*QQwC|zK+Yzo-+7vbYkRUd ziar&V-qhO-${El$R->|yaJRUp5I0)e%OI`G*Gz_6z2@{4&OnkyFHL26&B-eZ#XiCS z_03G(9%FzqH>AyvF+l0rdq`p|8po(zlhy_K%+>~9FJog#_XNgrDic+Ff>F9#fUjxy z7^EG8Z_6mDPfPe@GOgvs6Ijd8jP&yf_$#)C$~?tuPBk}w{hzNnwPbBKUvsL*=ZRl) z%3I(0np2Q+0)BhVsVqlg5|3%Q-(603NTO<3uudd;a2Zpc5&)9e2Ekrz)T6a;^+ z#39=k2API|iz(|fyzAtt5@;3%=`;SWN=XXdb@H!WhI5#&In9`*R>Xd?A`X=malJp6 ztZ!hzFTkm5O7zb8Dbb5n?t~s!k*v?LMD{WDN^Mw|#kC~Fwg{H0)oV^o(mQ4j$i%0G zc^lx-bC}Mqbd=)-`0iLo{GCxRutJWifEFYny%)zQ(m&?qGux-ULi*(wAl;gd;$DFC z{_2`GfI$Y};58wg{T;Vv*vpQ_F2G@5+8YhJhb*Tr(O4X(uan*DS}*Zt(~C6bn@zof zQHm)~?Sqv(St@cISR^D;Z#G5h&W?p^SIUvsD@%qf4bnPe?b>o)FwBDHmJ^8_tQHY` z7&gxQU8KMiQlKs+q{~T{-=M%} zIaK-2bCAzlJOKWx{09A7X?zwB)1X#uA)0-k(nFLp5gFZ#zdSib8>52ySO(!!e4qD0 zzs(jab^L*~UF|C*_aWmgmVzGM)aM=4Q?F{O=b3ky8y%6=EX(wE8gPu78#Z-jD-|Sj zBg=ctjiafk`g_cczp`;EZ7_q(jeZxL>gk!vTo2y9$9gcpi#$GHf)rdx6+d8tRK^23 z}<%yXSR)*gq^itz>X~?UHJlb3aD#ZK?Y&xS)`Ml&=e*+ zL%)KZ7s+YHSFjT?ht7QkJA3fkP~Y$zG;K0!{0(l+ZOwFRmVbj=^Cv&917`f--c4{6B(w1~7sqJ@cC0s1RQTio@NbNizyJ%}uS1v$1g&0)g z4VbJQQ>hZWHR%&o1K)(NgZzyZWh-HrMnArzTlhWZ(lKypYArBbng*J)b>Z4RrTdZ5 zlPZZzvm*vB&DR3LkXtNVnwcK5(Y@Bgkq=u5rj}$%hg$7=W(C0s**RqU!5~^PH;6a7 z*Wib%_!02vSZs9v=T56)(J=c=ii(AIvw|G6)%0#2xRZaJrMG)UcUPh~OBJ^_fpjkp z>OGX*0GSS^d(&0<2dLDmuCHoIJzvTnZz<-!!OfN0##<`-K1|E;S`>o}f2(6W6^i6M zp+?zMN{v4P9xTIO!hnA=MVnKQ+!Em0bX9(V)~z5FNx+UlW)4o#voJ_oMj_j&ut_o` zdc3#_2?c0F0(J~8b5PQm3jN&0+%Z^PfKvXzjzRr2NMhF-Fh~>Il@S8ej=|&~*fB_j zVr0i465l}mfgOW6!<1cC6uYb`c6l*17o}fHO)q|6$6!Ed(-3*bzy(5{L{r=5k*jLQ zpoKwOe!>v<|D-Gi6trszQP80V?63f9coI9zpv0Z;G1B>PmA3RgVu$Ap*kS6QAQg5v z&zrAl#2`I8cF?Jy?yY~gsL#~RU2N6e{!N&>!-~J9n=<#k6@N-MQ$)0?tF?sNn>ZTg zY7KJV9`}VFRj}l#`uYbmB-Dj#yYg`Hkvk z%%5L^1sKA^B&oPm#t*Llj418doMhFkaH)z5!D=6&3SYx04R=*q8lr-FQwA9`(bB6> z=OnYFsGk&~mg|BsbXT+DuerZdtz=gGHFqJJk<5xsde(F)#+1=qO67Tiq*P}%{3g8e zt7DMf`{_5w0ArKBqHNOFO>Rx^yDtSwvTOSpWXjChiS*JG)|OwL{jh6k&2-&rCfY_gpVC?{)q&5BbkRj>Qa(>> z8NYwfC^8Gen@)tb=UBt)&wkcg-V z{MnTSM7e#UYZhx&_bqu%T`g+0VxK-UYLSlgls$t8j#0Y$&YjO}@7;y2@m8z9Tg#8M z*=ofP52$NeUj`v3Ja^Yg1!>1n19=3BL2&kzD9vum!653oFFRFCZ7uKi?KO=_jpqC_ln$o0 zmh?RpikT(!nv&}FhCI?(dwX|Qoi|_6IfUOp;rEPZr?KX8^T|$o(^#=nucLU$Yiew5 zj!|0(Gk>V|%wmw8`W~9>)aOoXP2+a)6$PcmEXk#kX}MK0^~I;r>t)qnp4OTN&ZjGj-SVrHgzKYD!vq=4-9y`*%EdN1M$clV@B`;YR6hXWfdOdWf>lgZ-~=?cz2shm@o4WuHQmlNjn)FS)98cjOD2nhu8g;5o&l z!-_gJv*>O}dTW}zsaVdX6Q-ReD7EEfwN)&)-qt!6ua)M<4`i%O4@0#*rz`0}!JQb@ zwYv<`wP&jm32*2#(^7|KfTg~8N;5KG`b6}na~WW%dxny0Mr&g?pC{BbBaHOMV^em$ zpF5euUVSPw4zs&jG_*$=Y054=ai+swJ*P8Q)V8T)F)sfr?_6#ZJ$N-7P?(zI>Mua4jLX^ffh@w4NF(bA;q&$9D zy4(87(jA!n2ilu-uO0=NC7ZIFoMY5F{#KTYcPV8ZzvhSOk>Vl!^uzS{!QUUXYd_Uz zNR@@|UE*BF8$U2-$LegD9sBRo!EBfv1A9_THq4Hx{Y{Z=#S(4uT0e#GT13fqWc2g9 z6q+52-KM*=k8!|V`V7>A?kbV}Be^qcv*apku|ST)bozPccaa@+Kk;<>o=no&sS)0o zm)Drr<$%UMyz597-J~eF=Y+;)Z>k9IAcS`p!sFg4!sFjj>ztTDXC-*<9WBZULLc~= zwu`O$G=-qQNo@BF&8&yFOPDC{6L%aHf`kmRQ{Ok2wSrsTJG3SOFO|}wmO>1tS8+47jO;d7%uI+CWT{{@WnhVc&(iM5jq^oEi&{gCX z)yM<7qC3<0JfO?K*BDrKujhg6w!T50d128xZkV#$GB0Ge)=fu0pooj`EpNW3rLEWS zpVHj1HyjCId38Rk*3@N?*0j4#dOm3GJXfYh$JfBoPi+ps{L7vt*ffScOh*iAxap$y z=~b%4n%h26HQ1-;>zEIp@s1j6?y>8%D<3*G{15t=51KoxhiGnky6$Wp?t@V{XS+m? za$3{Q3$%Fb>E&;&?^BFAekK0DFm=4Mkao}ZxREuLTd7<*;*8yS^Q zSDdj5hZnAK+FE(`R9|3i<{6sxM4ZtGM;MNMINsvOaWc+mien0nLpVO-$a5;rXo({n z$1xmVapaGTGuq;qh2tcSSR92<#~B@Q%*B!QY@AX2Jn~(PGlpJ^GuGp{grmp6>b?7R z9OTktV68owS6RJEgjPKhXB@vCXB@tZoHyf)m|Jm1>pO8q_WLN|QJj&0>qSx8Y#fm| z+)zrqiG1GfT%7SY4n99+BA@e-A1z><20Ut>|GLK5_(EJZl^}8C#0zo8ejFV4?!ul^ zH?8wr3k?4lXY9=!Zw$>DZ_FziZv;1vH{4sr8~F#u8=+O>jb?%IMtr$=GEtua7roZ=rd2tYtz|Z;dya?}#@_?29+(K)i9~ zOoEZ)Y=W`rM7;6vT)a{2QoJ$cNxY%IiZ_nFi#Kk3j5j8>N-+NDm|)cFmS9X-nP8Mz zpJ3!ZmtaiZnqXwxm0+aalVC*bO)!e=PcRN2NHBUFOE5~Io}oDQ<4C|!ep|e;V0(Nh z|M&mvF$NWTpNcoCMaCPEXFyZrnWRUNL}5<&`}G)%%q@({|90GtiZ}QOxaB+&hriv9 zH~8SV&3AFsl0j4=qn#)joO%}p0M9)_0l*H=QNUCemzThjz(QEC zLx6=-#2SNu=hDR*bATb~V~w4_)cIqLYryt3VvR4r(IK&hFK*Uyw~IAO+CyDjs`QRE zLJ;BC2L%8-3`YULopuxeTrw9005>g00l=Y4P{1@7mm#}Q0I=a6Lw?}g6UYyI z1l$QMbQ1Z2f1ipqVt~cY#u^#IU0kf^VvV3soP^<|1@P+mSYs%#;)PgaKCr~aSYt0R z0(c8}3>d@LFQI_xXeclU*y=L!10#V$f$y&%KXAr>$PYXNyaf!niu}Nizzj27T-E?X zgK)C*8VUe5y^aEaH*Uomi-862#2N>IH}A$8_ke--V~qr0(ltU91~yL>XS@NH_Kq{Gvt3*k0}BBkdxypub#YQTb)3-~=$97a0IcsDXKVtd z${c5024?Y#Grj<~K{qqZ!DP!5X9NNN2DSjM$_rTo-UZGFy61yD0Phrr<^qQYK*)eQ zff?q4!s2m8IpEyT5^+WwoK&*K86$zqOT`(Bfk(>483%#uD?r47TD3UCWuA-61YmaH zDquxm>gsVu2Vm(MamE;+Pt7a0*nGSY>4~| zTwD$TvjYn>LjDD?f5J%zM0hkt0l@yi2;c+YQDB`WC;+$@=(5noB~J(n0R9cE2sD5l zfW4a{Kkzm%0$9Bn@&k7Oqkw-kNB%`FE;(BuKkzHC;v(38#g-@l5j9$&0AT&rC;*tD z4GI9dw?zTK0HDiaOulv~09dX=oKY3n4%itu3pfFI1GozKv}2rc0_fc}&Ugx35A;}q z5$hIb{!>#T%D__26HA05%JWH+=kc> z058Dr8wA_~UvUob_QnKbFEHSBf^iGz6Q5wj0PiLw7#Y^OxcmSH0Yh*7NHAL9TwLrKPyn!JCgcYW&Vu~F(tgMfe3A|MfnR{vfEqTez5r7LeK%qq0G8b7;o|Z~ z_C3}8yfSt1`&Qcp3vnu+iEdTAlDU7ZZB3rSB@3crI>VN>)9CSDes1S>(^AGOujnvi z_*;4a%z60jccXc+#Q7T+`;~uw7j)N;{3alMSZ*rM_#_{-V+_tuqZwBhqNR)(iqc_5 zdkK2L__8GZWNZ^eeqq3XU@FhJydt$@^sGvw83)#&rHuD#(_zMH_2~iQmPYiG@ltd0 zn+UAhhRQQ;ZbR)DFL$TWjN3-hQpO_F=rH5_Y4m{6wv>J{b~;FYlYoDmq4JE;|4}=} z7g02tam6EA%6Q@(9R|9`7%}v4l2=x@V=3t;U)btHev^T1Qd4=xviYeU9>|p_9Ba*0_hj`QTV% z7}7e}#Mfm&reZSz*YlK*HR`)2y6#@f^;cn8dbzkXsSr!&@_S`WRt|xP3bZBMD^v0| zI3HM1E+ij`z)=LUt@g^8d@%yY5Xf8)frAKSuM|sn>mqQ^44i9$Kmr1BxWXkT&(a%H zymBlR?2AA-1R7Mq6@S#(27yae=pENN66Y^*Ayid^KtNU0ISyG4B2Wo|3LLnHKvx9X zb07hMkZQ5Cu_X%2(#OT+dNo>spDuDQUMrT~xAfBKp4}^jTesR2Fx@NDylGw@ZlCK= zDx6bx4wR@ze{!HA2Z}YJ>C?UZl0QW`- z{oLF-(?!Oiow-aux4%1c6aC!&>%z_Ub8FX)>NC#i&aK7uKe?efE4Sz$Yt+*cQ(IH} zMQz=FSg{Ak8UvD0-$zlO9a(zg`pqHq3FWwT8ln0{MQ3<zq+nHtg0%D9}arat8fs} z^nwT)lBg*7sL;VgM7tv5D<4C|Ac11?si`?+VvfDgNWff3fX1jzSibctA|V+h7&hvs zMP?&SnpkRB)V-k0Z=bafDc?8e4}N$3*4k_Dz1G_M>~n#81^Q-?&n9Fd>m54{O%sV* zswh8i;`|1*KnTgQx8g75{;XVQ*FP(B8MftYJAE<(Eyq9@4dJ^P7*=_JYlnbXFypiB zt(Qy>Ha}-FX1^MGN3JZgdpCZj5@5qW7$E<5X$m{ zR4kNN587$!ONdk=lv57b>Fi434#N0DWZn#mCXlxUc?#r^!(;`irX8jffmMeoL!jpo zDi-*+BUCML&k<@6*nEV{?*b>;C{WhH-aDUCYA%{IeoC1FJD#FF0s~J`t-xNN(Jg`fPm|kLV8Lk$66jn_ z(YjnssRGYeQ>MV5@#PQ#o2$j{;G@RZ&@F*kHRP5D{Jw^Q1a3P+(E=A=qf~*tu2ZJK z1J`Mfz#p$ut-y-gbW3329ddgQi|orgaz{S18i(#*nk|iLNhrKfgB8> z41yljCrpjr|OS5x=4kvDi&N zLFn`w-%Pr$!I9}VJB^MOJwq7Xq*rJUeKkgb2yUWt`3U>@CThyZw7zemo(0I%>_6LNxHdZ>QOXu71wZc%kn-o@*85c?kO6v#$`#bulFUwlou}wGi~% z(sBqpAv71d_Hpjeigav~FZ3JL1*jXrim z@F48n3Sl{f^$^ZNFl~l#!$Owr2+=4n3I#fU)5k$t9+baAImCz31R3Bb$r0=DsO3i` zqD7@2)d{TaM-G8q{mJq^j2HMjXy`cfbpggH5cK=ruMjf*DGe5Cxj*Fz%iRMU`nkh2 z^B=ee2T+|Lx9&!BF@Vh=XMIGLBD4tGL!ko6hR^&!Vi$f!YlJ+ljtT{OU8gee^Luw} zX`MAz`Lnp3W5%}a;p_1X64BCHuRW;$Rx|YZ(7VrUX{~X3P+!@03n_*E_^cM5+hqtR zAc$j=OACZm&$Q59ggf2)H5~M3x3uDKIv*H@Q=6MH&A6v@%j?c&tR*eUkLsG8D=LX9|oSWEnIG;5C%bLyVbc|1~VLtUK=eCra;hZ!~1nS zwn7lK;W7q7IRtSo3y+1+_t}0 zz+($3PGDpTtr55(g$f1!m_lW`yojy{EL}wR1-|qG`RoF2dV#_OPEDmafo@A^jX=jz zDim1oB9#dYSV30=_F6&r1$JIRJ|6&oTTWpDuPvuIfu$o7EE->`9y(u(vG^_ zG-`C*{Lh_!dA-GsZq#yv=cS`B zP!(c=(Px<-F8NE6e^v4mB!5ftm6CUp{>MrG7rtaa@9XxMUXoO-_%|zF6^}Q#(k0(? zf%#d|QGsFq9rF!h_2Ihq1`qVPdgddTR%|kISAS$aRPq&qPshx>Zm=RqD*7P9V#ZHP z{x!*$$&MHQ#P%EIK#i1sbBFo6(*7%HU)aceyqrLj|8Z>4zKVB9-j@fg7}a`8^2Ta0sx>&A{TRji zl+0<4T;qPy5B|wgPu(@<(-p%}vQ*5Nz>XA|i-k$tU`8bKA4^A%c`|=~I`b8hAJmii z{&SfhBza?%tchiwR|%$VER+3G(SDgUN#0l{Mzubd$c`SWRutt{$+s`oD#;tgDt<|& zjzoi~=h>05VJ*P>@1nX3B#$Q^{aP=1Es3moZjtHAMsC+Wb?K7#mFTJr7dXtm_Ijxem9awRw&XGcbU z17~s_rAq!YtT1s+l>G2Awm0f4`3l?bl)Oc5Rz^L3a`It&y{^Re99;2m$HtyeD0!nE zuD!t>R8+FPvH!Q-p+9HdxI-HSpEZR~2A6sKicwd8*gGq>#Pe>Y!_r46W?k973KmJ; zr~)JCIg)Q5^e-geKIqMoHx{o^9c!KRe$)9jfgu>DfL2ztRmV?0PWqzmtMWkg(;MuK z>Np{JqdG3jr1sF*-q`lsW%4Q{|GYkJRKe%6L4Z3qz%!hFwaSinNd8mF>)Q{Km)wo* zjooKJUmoaD$s5UV>%qy(@nHKWrJwG=4ph)l+pVrTK~|F%siwM9wn+=JjN9K)H_DNP zw8WQP-*ix&Nh?!3DU|1;MOqG2m~=b+ZBx8D>c@5?Cy@hs^~EO2h%dM_Kf9Z2p5tM`^EdH>~P>@syAzqAwRF?f@6UNo-@2J-tQDiYXt8Z~s$;?%hovUY_$w+m%=)yhKry*W10 zt#Sq*gCKVDxOMFJ8Fs7OkbLJvTIY&+Y?(|RZrVzV-vtiXTQXqUKyL3CNJY@Av%j`k zG!X#%ZR+O^A}gBm+%b?~e{#4ZLc<~`up8u)|Dud;+C@ug7w$MxcKqZJcG&rQO7lR5 zzFy1v8mWIr>OH-w!UGdCk0Nt-`0X)^Lc2r$A(_?*oIHuDyQ80*-%_9_^e3`to+mPT zMI}oQ=Q!l!}K-rE~-j zG;AT6dm}<0PNclvaF{fm>U+bFsfs)-Xg|1$mRX>`f0tA*@as2Gh?kaWNuA9TtCkbH z_&EDJJe2CZ(Es0pDbE}Jj^|RnH~b`rQg|QWp>KsK@AB=m&)7+1-=l)mfr&=i+diC8IRN;d}4Nb6x_SKS{)M=GeQLi|t?JFB>c_1^-(Vk17gN(^A`c&hM&pD>LY{V?F9UU^Mo|NZ;Zxq(`y^@%wgp_@D*<+{{woc3_& z@v9L%GWmQwQOc#gkK`9eQ*j{r+mpfVTBLrZ)E|hU#z1Y?@L{t3WT~HskLME+Pk!d% zOeIQw;r-53Gf2aC?8cDCU<4#$9?ct!2}WP1bAu7k3x_CVh!$r#J(?ZFa;Ymzqu6mq zPbwaQ!2Hr|s~aLRvA34$gAmc1*_1Im$<8O++GOP0T=Q{KZ+ehp1Qf5IrofRz9~1l7CfJb8M)W{kPn5CXYkwijD71I>ChI8p3p-8OLf(#< zkHYfb@hVM!T-&2ISxJ3DJED%U*h-!dp^Ums6;EOYrB-%qtkZMz*zp+;njVS}u3bq7 zLg6qrmg{I7+`x03cJD=tDQ71XHNisDjCBJB@t!|9gU5GCCqRGkC{2&Vh8d0a6XDM`#WruE zcEv@!ixWCk>)BaVx6t%C81bP9TlE|*$fO2)+Z=J)6(=>^+g2B^y{@WP$(Ar*q+`Lv jH&PNcTS}t)fNko**C^Y$TabBk0N*d+vD&%YfDZoy1cp$t

56TM4|U5_7}XEN_^KgQUVKI5E}m2t-XKjV&B2vBWt~p6NTa znG&&s|4l`hqv`N^Drs$=yqO6_&U}+ML(6ICBAah!nXkBWHP&|zjD3k$jVJr@|DFF| z_Uks`&)IL6O^iMZG(Tm(!X}>m8g1g)@5+rV`xPt?!-^TCK&W;IVxq}AQs*F6`%~`w zTETK(Vfz7a4j|JNA&L@+o`s(0b~4X_J!XJQ4CcVMljXX9%7Lv`z|0uTftw}6#uyTA z-ikxXIjYB6susb*lQnwj?}b#F{>F(-Qjr(^%=i9Yn)!YZt}UfeWRQ82HLOONR_bc5 zV%`2ml{H&UbI=5#bQ}Em8>2^~;WX8atJUluit*q=z8)FwKh!UPUfj6l{I2@LrT9gWg6vPk4w0yr+gxy7*wnD(elTw(GO zGFD+ys{}fIBu+5$8i^7PZh-sONN>2dl!OR(J-~VyW>@`(!13#tG{r0<1Js)rYFYoH z;jEi1$Du{4h7Tlpa>1jPr?trGma0gU9hC86R6~xcMp z@D@Ku4#7aIEN-nWrsMOx%3LCq8K@mZ1CGZn5&q?P3S0?N0SB(f{(+Z3f-QEVV|2Km%r--!>-HRup6X(f^sQWygi2BW= ziD*5=u~?pi3XN96h=0g^F#-^~K13Gdq}qhlIOR2S1yo;yz0lzqj9x>kQbmR}X!b_Y zaAyrBpfPjg1oTQcOkPVogqS%j0Tqr-ftzd5d%T)W^G{o_Tt^z3m(FI5krnGy7EeN>m(e8D13D(7d;PwYXQCUH@=UaT3PzM|6L}{3J%xmrdd_0KNHfuYX3Cl9 z(Dmp>N~3uunzkM@(LxR2wS_or?g-u+FcbBUW?1@}=%E>KegkPlQWm2G-UzVB0DGd! zMzYDVCdTJNpFhrMrM2fXT27nLAxs?$cAH6>B5RDCfBx7^YMc8`)o(Ih*~I3iBDY|Z z4@~C9-me-DrWKIOi5Pc=A0kE&@dYPku5Klf>PfWzk#vBlX=e)&hj6Zp6~6Gmai;MC z8gM@d1|z8#@H5?to0!o{Qgt6TL00#|?HFM&qIKH zRQD0U9_sAE0d&RjdV?|Jd9ZdD&a1y3$7I7|UV;*Taou*^jk>*Z9JJp}nu%pYk=QP- z+x24b|7fn;t6Ndst_st9G0Qu83ja9oAuSb$$I7ZcXe?LtF=P3d3vW%fRQwnt>-)^P zP<=0XD!?4DNX2Yz=WO_%N_q%*5|pWVb=2B@OZ4`V$?jiL20*%;CfW7q8(3OVW66|WDI zal)!e5SfO?P#O#~($E<4hA=FBV;D39?9y>qHfso<2B|*{MyHeh!k)pDPJ*y{0^Vzg zB!1vc&wYq(+R`J$-avTVCvES)L~S7auQwb&N+Qfd2I$K}`isk>T?Wb{JCf`ESW8`? zvzjOex+BLh&@G=J2fA7l_+-Pj!~Qbo3Ci{1va;{XL}h=S&XoNP zeQ;$jDlMW5oZHVEr+U*<`aQ~!Q?+TCLeooWcNXx5LlUe<2>#kKq5N!0E)efiWuw=R6@V9{_s zbw9hpX|~K6+CJUHiyW2mc!>PaT+?!Ks6d%j!&{m&61%e5x# z)<+jn?D#DrHi=O461wiuk$e)N0j@^k8YUQCCe^JEcV?*iD%+qlpGoM}na?Dc4dOEi z|4XFfE;^I2sFU7Ig2xq{NtoVWo=Irw&;9uSuAm=3)dH?w#U;(hp|Cdx2elU7`Z-F+ z0W?QhBYb`WQ?HXMin(#65HZBiQTXOb^OQO2>g^bBGzDDMmZvDgZeR-7qb<$D{!#aD zt1VA$!^=DW53?`mN3)hG>ipK)@{X-}`Tm>aklI!Eeq1a5KJgaf_3FbXQdit2A?nmH zEwTab%cc3J!5suD=tY6z)xj;b<%unL`MA4SKDj5SW0Z67ruuRu_#2XJcC zF8YRXyXf#lGE?}4;mXz%DL`FKS6#4NT?PfPL;$v7L!yx78#WZ%TB4D5lEQ^IZQ$X5 zq=(`#E?xYiHmm{3mWGvu`nVnc0p=FTPIU4h($Lij2la{1#TuagDpi6Zxulxvy`5TX{kDtr=<^biK}{|4rr_lMm7RtadD3micZpY_~BqfkzK9 zk=@Z;OV+MAC+n4mWM4HCVV{T86&B}_ZVKrRfq!icJ;5}ej1b1(hUxj38Wr0@Rz7K@ zJ`$ppZAJ)}ZPiCu>*5gbeM9UVL)v5dCogB8tzeItV3s^mnG+&Hgs%Z!RN#m{&(gpa z);uD9g6l1~{D{DgCEl|Z9C}snAA{% zuDp(1zKfP$Z3|~;c`aS}`6e9S?g^Iv)fNJtVENT1TKawE@_DrUa~nve113+g+(=hGM=pDO!Sni-JkCe-2)AEuq_=lFK zH`3Do)R5!9q2&o-Knk$Do34DmT;8Vu%U!}?0xkd0P>YY(8MFG&(eeW=As@?47VFA) zL+VqUp$II*;ubBTeIXWC*A+M6#T#hx-4<{Zi`Cf;wA60|aq4C-uso^-RC|HtgLLJC zCNFkELQ(lUyHrJ9%s(~6_&SY4y|61+Ujw-@-=mN`Ic8WU>seS;oZ?2F#cVa z4jAp>=__KdaIecojn-iMnv4<#Uxc{Vq?zKC2`+iZ;3|-BN5N8UT#wP9j`vI*FnB|g z$U5Bg+JxwvUS&Pg)6|ho@2-W;^h{y>8!}LB$eE%958|dZ>P&s#VyK%G2(FHj6`@~n zDe!6vBi<4(yF>qA6&l=w5+CA1>B|R4n&S4jx1_&XRY%L*?%JGI;5(!>y0#uIws1?@6F(U~NWt8!~w{K%V-m_<^`ME(wrp%nmI; zM&+|HjOXUKA?pMAA#}L~9Y2ypHD(W}5^Qny&U0{ChQl@GC)|FpR4j&=A$V^}^H0Rf zG@~XX7>6~r^_S!Iich!(bEyHG`$S@`OL6Flnw5^tPn4U#&=3CljO!Inez5H`aTVs= zgo~fa6yXS7%@rn{0_iKUHnsL+gzq5X(?0TGy2V%GtiI*T3aF~i@Zs9B=qq~V4hYpr zVN?kYeA}~v;qYC*A$+B(FcblV4<4|FKCgH{4n^4Ep{rm>C63@;iU{*Opk65g{^bEt^x4=0 zQt)Y7Sq}lMIl?E3@WmaZ?+AF^9U9W-9(NdnPtyhNx*D>rIKt`gh=9A{?tI7o>|Pr> z{~+z1)=r@+5X)|Gh)*h_=cF|1`O|4OZXGurj{m@IGC3aLR7P5=a!ZTK3JdY9E+qS@ z?9}uYj-9Bd*x3Odu)K^c6J`Y@c}eYsvy+mhO0`re^kOiL_4=tvhor_rah0UcQm~EL zx1zF_&2UDKT?<6N{($(?t3VqA$xSG8fzbw1rZB}H`~|7KQ|1K5T_QWam9&y`cXu)) zdv7wV5v01R?fmDC$?%_m)m(Q42L;wsQ1pj-y1K$R1=eHh3@a4UH{qo#EHjisE4p~$ zKyIa)j@WS|jtfSQjo_uBR8`pM3Kf-7ccG#yj8ICo1jz?dl#-v|h`tnm+imbh#HDO4 zn6-xvqOm>Ooxo9)CJQ~CV1+2vwJM3jcJLOe&7PfwX zbt;sVcPyM#VUz3CfR8H4U9hYHc1BVSA*M34Fp`=H741M{B<;3uZm(rYZfY7A#&|pE zVk|`oa}D8yu~bu7P#HcMOQBYot|&Y7*i`7}sLRH>ig~Bk_k$E zs|OgUk%bH!2vDQcn|dH7z1s2Tio$GQrW&RGwGw<)OLgs6&Hh#D4Q*u}`MmicQ^``W zlVGZ;g)X zKDf9m#HBqolN1I{-3BwoO=TyFlW@B^H7hfE#f`?=d^m^}DEEiM*w4IS(82;!?68Wk z#RBCX{sNv`pxhtN0Aov(@8?3?W+x3&kfperiEd+dx1x<;o2HI1mqps4eYHcw#!Yg5epQ|Qp@KY61>?P&04sVG1oQW24u?#uhUJ6nV)xDn} zzrSTKnOV2w@AZ?Nz9u}`v38K`6{W^VYEmChX)(T;x+^8}K6w)ALnmO3ftC1Tz zO5th?9o&2))_BW-^nMV`MO^6QWrDJ|kvuBvi2txrnX404_fEw|W%Xf-6B>)J5hOdI zJ>u%gB`3+#r-g}j3DQNov1IRk^o9nBXG4EbYb)Pge`OW8I7Ziw zxyav#yGafLwq=H!v`)CL1cxfv+4YprzKXO;2u*^*DpHW)@>@l?l71c6{DRz({7OSc zhU(5TL*A{)?vj}>*pQD6J?<2-v0+;esk-`-LJPc8kbymr@tFb}7EThB%fPFuG(uRp z6joG~nkjN`pj9ovvnP3Ta2fh*RcWNqS*lkpp|;Hut*4*C;x9v6NcWU1 zgg4jWqNh~Dw5I{9ZyPc$`^IIs-dXqcQ) z2IIV>AmPrBv^`!@eFH_#Rh0iKyw5FVgP{tJdm30OHce$#kC!&okVXlgydbZJ)LH#O z*FRrXT(o_>v6&Z8Gw?XWa=6<|VFxB_4c%}Tpk!mAX7GG_XM)lgq3GdHi1U%E2qz@i z?ITSxwL_Tl)Jd&^n!Zv8`-;I-ml{2#XL2=x&*+0Yx~N&O+E;2WkU@~|D^+%llyu15 z@PB?f5O1oYN7gmg|KgXZ{V;ab@{_DoNsOBHinjD!Rn->$b1VC411l)Ve*W%&{O$sM zmrGA{Ypfr(;iP`hcfj`OAl^qtlzcfwSD)O%v3HM&Q*r($>5*ZEh{e zUBvI$P@U%c4fr9)ZCtZ=mBPvTQa@p0DYynnp@LWn>l>mi%?*-f*e?%Y%Ji%$Wg+l6 zeQ;%ZJq{{2kQ!KRWhK_zbR{$T!mtL?OksBk6gH4rsw-w;2HGC)q)9|)2A$^My{I{v z_=#nyx^TIeR@KEm*`L*7LC?Et0xj9G*K1+%Cku+kfLSAHpx{~z6B|hh!tf%_n{#8S zo_#|6-#{|a{+BP#jIQRf6B>Rlg(I)WZ0)C5Mc6NRk8 zfKeRvb1V8ZD6i4t&x#1s{Qqal*o{$h1TDmsXfnn@p=l=}#HOi>LyLDdW`J^ds2 zHp8^4-~-HShH2I7H*mC>G}mhM9F`~1L#3Dk)4;R*19WbVxzOEul&10?eehhU>lA?I zQn2*wJy!uJlZ|$$jncX8^pYgpSFlc|oc;Yw>MK(Xa{5nN1CG*)!DSOg|3 z6oCpKd=n!W`3dV^!R|H)dhi0|wvlR^4t>QKps{cA3+1x>%l6QqE&BP^_&Gr~o*vK^ z<40K!NNy_)H#K_6pyLo)da305Xam||;(zf4bZIAb5nh~wZS64Prk{g*^f~Vwn6#Gy z1JWKM>r3=l@8L(&SGq$EzqKddVn-(lVz}7v7sB}VlAkoKkjn?wBq_XwoX2pdy%Zu$ z$_9rHn8>zy4E;JtwWN#!8Oop;sg7HrQX7dL15bj^P$JLzrm8ul7pG8 z{<+IQ22}+L%?&F%56RhlKf{aN zR>DpM>gT+0iex`rtDYaR_lsqWuDGd>7-i86a zBv--w0T{$fPSB*kWNW|Gnt7pNuGFFfhtmi5LjGOhb}vkSdvAf_UT8t}{)4xFOEyBw z|0s4vNQ{+Kf-P<+=`H;wti2D{dQ0w7SEhimanRw0u>;ukktzv??nBK!l8;d5zFw`D zE3#UXoms6Z^ucTG-Wm4wkvy$Z=s*l_EyLCpbLB0$2e0~IRZjPyV_)=wRc=9SU+JC@ zco!o3NlwD`4KSNNFW-Un{Ui^o2?1IPvUfDO3-|g-L00t~X|2lo^ufL3sc^`hfq}J2 zI9grc9f%B`4gQjX?BB5QMS!M@au4EE*`;RLs7nMa-nvaum$Bg!F-ui~0ZJi|F|Jm@Q@9 z`nW9=43wJM2N^MW&0uc>qv?a|#;Gu9K1lKuER$j125iIZL6ViZ4X5G4X}H?L=0P|J zkG=ut2T2`-t~tDgK7*ysf^`ne9*k2=bCcMhN^Zn0-Uzq~w+EvbI!mnfgOw;xfrsdW z*M7eRcn^^V+g~FLpcw~ft^?@Z0(K9P0;`<9fL^(l84Z;DQcn&37uFLs?j1eesIh); z4a%WXFCq6VL<~jC$i(gKL(#I%Ue?o^SdmrZ$xs5Tv4fFJYfM9-c&OA!z`F(O4a4l< z{T1jpOsXf`z63B#YHJ^(WQYM)tO2#?gEv6c9DWRw!brq9mu5I&lR^izyu$;ztXwX`kKs~1yWTsIQU_h}Jzng5F|ET0X_SF* z`#fYuNgfuD-B4>2Vsna7b1=Z3w}#JA(ip4UMcDnEa4yIEd=93L#J1(0gY=QoQ1dDj zLc>llnH^5TZ$BRCd&*!n|CVQL)n{jBV7fwUlaTrZ=PeI~1skV@F3eJv`TATMh zrK<(+i24TWb5MnAkC%1{2T#JI@z{f%Pr~|Z*e8AyBxA!=v~=h+R%HwA=13~&KLL%{ z?j%G{z(H`I`S4W9nuH!A znoyA_XVM4v5K;?xJV_cLw9kaF$r#WQGhyCjsfBRvI9!>GGOl0)ZzfBNgm=ea<`ndd zpVJ_D3I>q>9iy^vSz&`SGzl@1h0E|SH1aj-t7Jm&M;~10KGsGB@>4-#GG>F0^P$dE zj3nPOxJZo{899>N{{cIuBKHv)U^)$btc^L;o`yo1k^!Tpp^>;|{9LE~;!mv3CG`BI zCU7Zz@H%a4QMc+T;Oz~})iH;<vI@C78vLjF<8pY$giC54+8hz=7bgmz1(NY8ZvF{mg%PKJ5meU94 zt;7%1Go|tNR(NQSMh=}X{lqQcMjEW1iIc7gX`q^gzSJQNI?s~!csD=tE5a9!(B-hU zAhQ;}DyaAsykpS0MvP+4wbc(C)oZL<|A4+RQi$`JH;gmF-Udqa!8vR1gFUqX#>|&& z)$edD85Vzq+UnZ5)Ysa>_ZUfSzF{OIx$`?Cx$8Sro{hd%N{7a?(bqma$R)60Hp*!0 zL3leGlS%7o;6Ddr!^DHIeh#YEZoJfd4l1SU00pk=lKqnLk)JO; znC8IkxoA;ScY*!isC_;6GgSLGFBob>2}6yf4~{z73ljfEgIGTu_WzCgHftZ(w?+Fv zip4b1Nd9fNk2B0NnHL{mb*wZi3i=GOFYiJU)Tkg;-wx!t6gwnG4=|1$`H!{BU?_d?_T6^|??u=t)hF>z8M6pG#gEe{ zc*kfIzJr8C*eOXnVBaF_l&Gz|Q>+(br_|gEgBD|_BuDX1F>I^r6hqGH?k!wUBOWpy zqTf=gfivlY^YFFOgS_J4GJbwE_j_xHnH7I&_s?h3L7q97;=s91o4ilP|U-QD%r9axAB z$L>zBFcCq)0>r@XZtT|gGczm8W z$G`;#t)}5Ix~c}RXIzlB3ou`nni? zJ$i+i-e@oB*FF~X>o}0~OY}5g37k8*2hCdo=f-+PF<6RSjtjEj++L>N{#eKOXYi!6 z<`p_KVzIQsqNT9HoMm)(DI9&ziX4A7MIQ(0JxNP*UL4~)E1piiK}VOt(KDI|NB4Nh zRWo?v3fX0F^a>Y6fgkgY!kD`g`-MfzKkC4vPa&K0pL0UJbua1jbC$#B9VEM1g3u88 zfVM4%QAaGNjOFn8hS>4Ji&1_Bd_MmYnz8~uKdFQC`N!BA&A$`#@lZag_1wj|jMyMk z=v0(%MUM1y5j&EFPFZ&3yAsjpCDGQEy1L3JqK_;2_s{uMU=^yOJxMNQry=jKU#)X6 zzRwV>F5eZbvN(|SG1itMSD`*OcA_1tP#;sVM}&KUnY4x^tsqJL%%o>+C}6d&v+_Aw zmQe(vQ&;HdYNQVhqN&~h!HWv;={W-5-lGX*4B9knjg_cf@F`SnG0)Vs|!Glboy z(reNCemW=g)rqHmj036fguL*-NwW8yXRea;&b&%I>@S81Zrg7OZaZ$#v$d#=DlufU z4z*#wP-;4O9Xj5t3n*b7I^No?==VCb|I_nn(guX|>1TxKgEu$}ze5~I(e@0Yu|yTa zfgtVe=?# zBV0dquKb-fH_O|$tqb~JfT5$QQy=j6PQ1}>gKg*L;$gK7(t zjJnE|GK{`T^*8HkxLi&Vs#X$D{VH=HRqddKsv8wt=BjhF2{K!FM_X=TJw4uxvE=R$ z!Sluy!Sm)7Qn$d&PV=bj7MS_XY*~N>TQHW4olTFoU@Tb#?F4h$CZ&r?rOVA0HZPQY zLTEE2i}Ujv%7N5ol;$hV-HLDOmm(=?E3(`n*ki*Rl-)MuN(CZm;x>fLR?uj zZ4|Q>ri-xjGyj&i^|;{H?xK*_o&zbb{6Amm@(!K5ew;ohe>Tn2T$w?3J25$zJ)Oqy zM91@S3hmjc+hJdB5{x@DB2+8}0ieOHb@^Q#rsvcz273IWp#Pp9w=DDL?(P29*!_Hl?F{t?tRPB&6h@D`@iR>HQ=;*h2X zP5rBk#$Pyo3}ct`>7tC89LO?G|4tKkqX&zcLTnEvl)m!<$goyg*0a|XDi)8=W3Bg~ zyywQ!sXe+tr@52OCBn_d!qrlru1TlDd(oM@PNw>Mbu0Kjh!=Zx@yeRow0<{Z4%hlK?G^&s) zH1gv>YIOEJ<^cv5%b6xHtx2mXh)v@=eF6Djhwf>*ErzSFo*?BG^{v zK(amg4s83n$WFP-VMM0a|I)_8h)ijt&1$)H-6QCSofP!LIgs=(-+~@Tb&2qVjedbg z;5Z*f$#A3@O$(18JWVkDo-<17CC2w14};~*i1V^%4nB&W`QAv1I;x9Ptj17K0wTX* zWR5+L@oAB#mk&^%1Oz5m9}z^pCvkNQKayx^g04oP>9In|gW{>*Ar7RH_HVvW|LHoT z&1z94V$jtQYpMC5%l{a9;%?r8Uwg@~LlU(*hM;t26pcNGptNSVRQv8R^u#@elTRXI z|0RDKoQM?*_lKFyWL&*dXn<=5crbd;fz-hB72Qrmw_AM}wLGrdY3#5=ASNCYh{rjQ zh)-USOA_+T`$MR15=OaqwhP3@60wOHvDXV)1w{Ss-#MNcBt3J{P`aL^JD|j;(4u7B zIHht5>5IqPUw0mX@hCa3Cu*C?oW44=x!-j2T{UFWOc);(rpe04WeHs(H0#s z$7X7arg_j^gQ!x9F3>RYFjreUiUS!Cx_Qoqx>GLCon0=JwVqrS9DLO+T*y7#eaN)6PIgZ9lqq209k+OJQfBW6_>8^Q>;8 ze*Cw;t+uWY)jS8QZQsWkYjrtBLa!-%gR`Y`mNUiC5zeolHlf*3Xxo zq~l9WSWnqJ+w`P>3|%2z=`A3f8PSX0o<-0YnxS(wUg?q3@=PwkFJ}*p()Q>{u^GBS zO8p*^N829ce;(gWZ*-@H=XL2y`R>#;6Xr3JD5Z6DJX05LY_dWq*DO{j*PH{X z+>IOLbpghGzMh(2z{1E&yEum7@-CWxK{rg9-JWz85n3B{H7gVq@sBCAcHTwpFY3xz z+^1sav3%=o7g?YrUX$nsWr1#9M00K2g$iFnzmI)eb1os&Eb2_xFX3xqWM|5I8K1}# zVyV()tQfNIOdT%kW-D7e(aX!gf9gix`CZWk>eX#rS8ZMn zWQ}%zMANS5+PL2AU{*IWI*6-_Gi`;|;y{2dO{6OoxQhNVvIDif3Rl|Fo=#qc?KZR~ z%{4UKZtZFEHHb;uEX1U9AjLR6po`Z)Ildh^UDp*c?%&JfSM)?FXNFnMioMkMI+pV6 zDrOqjZM}}d+P9;u>$+fl#3sRb8V8bb;yo&TLziK@wmsKhtgD~UPJBSiR|B`+<2&d1 z0kSnU!DGI4y53D)5!*^;^v)99?NURD&Tn0S-&ANP80KCkR=1s&ipk1A394=e6B|fe4 z^;=f=b$66HS@h&S>SB>2xjoSNIt^OL{g4ekr9A!xQqxL)f#eJBl&qHg(`B&>9bJXW2-)Fi|=QH`xvuP=aIG@Tl~ z0Jhg3?5DZ0&!*8jyj8B^P{VNqE&S*9m()o=d8@ICg0b(+JH2XC~yva*v zUZe2S&d^i*c3GGgB0A$Z{dv#Y;%`dG+doviI!c|PT5n*YO287U8?*ns{bTs=NxYSCat@!Pfna9KhmncX# z9_I=;%-W<90^Bjnn=DtlX*2M)=k%(!oKR7YtG>? zC~Wi_qG^eLybEH-UwC6|gK7H>f#A(in(z(Fw~r;zu5SpS-;UCUZ#p;65jD&KpfCP6 ztyx6;iwgBXZQRAGF%-)yfogn5N@bOR%^a9TdUTX#^54gf(k}jcX={$cw4s<_t4V1F@BJ~Tg>)|1q^$X8y9-?i(fVbihW%A!Y z4$?dRJL@1h{YLAxIz+vG>xL_H4$|G) zo@yHP`)9F|WsC(Is*I1PYztPwa^aWHziCW@MMdhMFgKe?{y8=DsS3?gSb5E}DyDw# zuELC(nfQexM6gRi!^SBEaWnnOvDEBK-nS89EGG;k-v|@vm zv6bk86$>?}l>~uU?QR-Z7Oh0ydGKmSMf0mhvMYaHk!I%smsL$^Qy#WSDH2EFI#!b( zoEfcSwH*@uILV&{wf=ruxuDjbvEtRqmnbGb;LyG>5SOW1HN(1fogz-WBK(WA&7e<;hoNj*3?Ws;9C- z%I$FKrLr+L$I6?^6s4_Lp0ZUIpnNGuF1D;-;rS#qKsO)q6dG7S$v=zdo&&|e49e9H zG%+75M$7Xuonc}*!AdN$Gf9swM+ft=T85IjUYRV{tsE^gz;Xo}Q5kF2)YkJ43U*if zYUPP-TdYx0ZGGviHPqQz{6Fd_P$$+TrhzZ^eXwA|eIKF00shJ)rl>F7b7J|G>kX)% z4eM=tQ=;&tdbNB^O9y}1K#Y}-D7CU`5&7G)63Q!Y>TJtG4CB53r&J5Q>98$I<(BJ} zNn96iSt`f+G~bbxrZ#pcnvKNcGW(S^$;`qsVWn(YDKm8e<+q1SLs>2}Kh?KqEf3PFP6+@Wy;vP5i3T{idkBzg|P;;&W z)VwcAc~hz6WojyU^Fht8rA1Szx?tXaY9JrXJP#u)p3=T3EyONH;?2Dj3BGV^nMhxJ z#l6H+8B?0JNIA-$fRJg4*cUzO6M0!%P9`-BfX*QCn0A)eVJ-W~fu4_RG zH!yqUga>souu94e4_T}8LZrFw8CWgbI1iKdQQ8kBO^P%u07dqfl(pJuHboYIhvR_y zjRoLIRZ5zrniOhSQdW3=M^;X`<4$!PS((EB{K1p9%rPbEYhO+7R;_J6x|>)qYSMM$jbY`K-zLj(kzcq*N zeCE3(ijj+vSt_9`$=%2T9GluA%YJ8@C=7$_tpmi=RFz;YAme84+(3wqj)Oo2z{`g-m z%+5mjU_*AU%n*9m4&OicMG2Ao79I>XWr&SFkDwxV%3@Ng+SEL)B2OS2wI5!1u@rLmH{ejvRo z&Dtro11Q{!RaK6)r`cZ2TVFU86(t20-XD|7)w^gY@SvF9)T1CpfQWg)bs#0Zdi20`q_DMm^s5W%Ln|YTBIQzF4&nkZx zc!u=sUX>-kIzFtUMGSQ=!}N66hfT2clNmK1$$3|nDZiJR$$&r z+2&N(k5$$mM%MgiE88xfLF2AE3@=q@n&QWNjC*~=JnimqJ~QaIhXXlJTV*7r`ynsb zRG!`jGG7;Oi5MsmtCXRSoAG9%OJ-d1ffqup^`5LQl*~5Xmw?H^i3OjR~h4rDiU!MKLRPzZ!-rH zG2vgTTLn6M`bb^lyaY#YiRfcStoScwR$-M~I!c6B^#!Nb97s+Nv99ddX-B$S4{K0^ zsxsTZ3~9pTHC*M&N>LX|3sHk4r@>}UEr(KURfw7>5z0ygZ!?0Hi@Ng< z-T7iwkX-y(b$wbGSI3affmCNmI~wYb)aGp&I_l5djE|aP21fhLssLK29EvrN>MZf1 zpZ=_&Q)iK8%e*&AZ1U&xqHSwa*8qext(UCRLS91os#(U76>a4ti9b)<*Hd}xCgor%3_KubFq`g7R zS3kWr=c%2+f$X*3jiIkW%v~8)l8ObhBFd?=6da81wSP%!&3}(QPosh%>x(Nifx>FQbM4$k%~-fob|5Pv ziDQZj;=TOvC@jk7KoT4K(o0UfDunXZM1u-&6V;IC7mD|6m@OqtW4^SbCW6N-SHa>y zO~K+I2a<(dANo?0^|iJ-o@0>~G_f{wq299IevrGB{g(L>&}4 zv4|io8ze}*IgqkKdQegwkOmwj?@*BL=hj-nVk~vOG&2;GI|~a+uj+!b3R3a-oijBg7G#0k{|;zSN4;_z-Xzb+8_AEsY*VVEaL!Z6{|Fs(!;AX1|AB=WDv znkbcuNN1V%gIRgv3|`mCoi`2anuk4pJ*jBFaP7RJ7Tf*`4?AV}sw63pyG;~RirYCJt@0D@l$l(!*k zZX6IG2rlzenIiqN#NkY$2(vrVn1&#jzMmd81c5~Y=^8=8Ab&ydq_QA*%7K(Hrvr^@ z1cI6S=zb#*XpWLqI0%MR6$D=^34(7NNP>CoX+$^(BKOkWaOPTAdjx?K>xCa7ulN&` zOap*aCo0+)A)t_8qAe_#h+3N7m%25Er7JtqoW^M4DIaNPV>U*!un7j3{BVn#jy!J> zhg;lo;;m~*-CD4g#;XMcf+`X6nh|_kQdSFgT=9ED zOIorZ%?o=iSqx#`#u)}dalO1?d4mJV@?LXtZ-p3|;D9}KJcc^Z;8yHkWtSa2X~l{v z8|_Kg8t&Ei8U?myrIfSfsCR4N>Fj7uYvyAAYY|VVZ0hiHp&|{T=2O zAEmh+&2Pheo$LAX*V-@+WQ;I$5sBCV8nn~OKr3c39er)X9NBVPVVMKJXw^BZ%F4Ud z)U+)d=&IP59`jfe{l6`%>OOkdmKE1*u)%D|2CMuURryXX?O1ii&zd^7W3`Ph?S%yf zcymqs267-R5Ym{E+Q9-Xo#|;iR)N_I41uyk^l@5rx)#OlGO&RFiRk z+X~ie$_UnLIgqSdHKJV|Sa)TyN(DNiQ;Bz{Y8_#`@{GE6gvg{)G_xa%RQyU&flhFM zP)0pEF<;|3$#7?B!EhG`l40`(w7U~4pFx+tM}s9|R`l>i+L z>5O`_$fQl3nYW?oMc7-ae?n4hw=$_eDz8xAzm$*`z=4!@A&mUGu#U#xszAu}6bKhM zFqJQic6DJjlzkcWz6;x;gj&(cuB@tly$8qCZs0&x_wQCTDTW!yq8svs1vpfr8yeQ` zQWVe)GdU-SCUs-AG`}?_jh5?#z&Ry_z_}bqfgeLDUw0Vpf+bb%4nxkgr1sre7u{t= z))Dzfvocn@&mniSrvcFz78dBih8bM>qIOw$Q|qq-QLB5fD*9wMq3Q_^q^iG~OI4Mg ztc+{4g}L(aU0zp%B9RZvF% zrV4%VQKaB68rO$acWSsDg`9H2<-Y~Z_nR*DL6z(*Cd#>s16j_~jj7N=%%5+KVYW8h zlT7o1;lHRuU-oa_cRwtF8gT$`=DEJ}>5F#&- z17TsTdkbkuKa}9x>ZjAauiGvU(YGG08U>1}|iG=S2I8bAw)`fZvhMhOf zqLqVLWu^Ztx;hw*IOY@A*4S0d9R_Z27TRv)Kx%u$pTdS9O&ec~`V3*t#U_5S%o*tY zi~miZ@U*c;PHBiUQt)t$I*txuI1WQ_GmLc>&zz>-k>^}kVZsRQX_uOlG1pPbm^%!#1LU)Trf0|avz_wUF4MC&oc5V~_T2QW#Be-2A)lQT&%9Vi z`LmM=We!I&ETblE~Z{v%PU^**fuWaGo zr5re4ztS8?hdJ&;wa2j-<@^h}Jq|KsV?lipNgJVL$h1#KM9 z!jyH-xGNjUb^&=VJQK{W!@*&b8yrYx4yEYR6gI_J{*jkiye}jY+8g^wgd>&$;V1_ZA-N>gnug>m^%&)uj)*e)o>al{vEVpUBM4@3APEM!6HQ0# zZ*ZTEPDgKLd7ti2XA_ljcd6S9^wIA3XvPeLuoqkC=nPg$6Q=o2&-sfPcgS`oEAB9+ zyGX7cT5!&WM;2C8Vi6$8eNmkbwv7YrA1AQ?Irp;w&n=r8O&1EZbSsPa74UwLzdHqAqIoLfUT=dq(o z{;RZXK2l&BKu6}I$61+0U*@Ajn0STCEeHK*g{4rJ_gEoe-z62a3GcG z%=PnsB|12)|4|I9>Dn*Tj3?{S)cN=Q!+-|cs*ZNqz2Je^^(Oo%+KKKh z(&i^@E^t;ppQlxX-oMjCD!v%?S|U?8K-FuPM6qAI6UBbXfh=}810t6@pNfl&uooHF zfAS(+-M%-JJ@e3rlpqcW-c5+nq#(rL>QHb!^gywsSE4@5UxYbkS6N~hyu5_t8m zbc$Vyq~PNjN?D4eU`86*E<;jKEu97}Lt9zYiQ<;AAl9T4l7ai{2$&>rdYgsARcPGsbf{*?( zWA0_nm`e?y4{KSF(&?l$RpWImIB&hw93qix((ZLguB0bZ=mvaoSo@H+Y`{nEjY$GUEWt1(v)htMvk~9DnkP~4M&z(5!>QFqHcL5^ zL=QJIAI(2WmgJHbhdr0xg!-B!@zr+YTBs)kL8|HF3saZ)z3cD4@3#Vh_j zBJXiaarV*l&FI3j5^42j_{Z`7l(`wB=4~@6eG5h-1-GzbwtkYI_=u4xiMnoKfl78i ziF|zqN3LN%PcV;o%54{=9iBigTUleJcmfUG%0}D10hd4D4<01a_pPi-q4I}Ctsj3N zYCVYqS?dQBEJ)qPO4+95qB@iqKVut9w}7qC&*$skYq9Vh%#gci&v%`rqVmv zC?)$K6?=_Y&NuN|%ogs#Y~j3kL0b(+@W9ckb0BFAzvo)}MAv8=V?e2skL&=?!U)6yhX*|__tU@-NTU=YE9WZ?gU&c$J# z=6VVpe}Z)eY&WZFbdlJK#MYRxw|u7#yMY}lu=TWjH)d@;;wfP_BIv*S$aN3AzwrcW zxrcQ(Zrd$nF1aCOF6BVV^!Y|t_OLYL8=Pi~&+;kjcas_q6E}{d;|CEUI>nV78`#ImWgtmABH)W9X49oaaom zejLai`OOddaSRg#?KYdNj>~v>O|DF2{>tG^vM`?#k^fEGOdiKsnzCvmeLjws^EH*4 zB%$SaZImr%{&t~f(=?%HGY+Jl&M)Xy657JSeVlcEDwT|u^PAtG9T}K;PGDc)Kw{5$ zP7{)WT~c7{>1Z+nY0`SSl+0Qc8a)7A<8;wEN1YPEUTY&b7;Mi`=m~tLa2P;zf(=mC z^rt*0k$8r#qwy!2-Y>RGPD%d_fA*h~lAgR3X!;pLEO$xe+FK5|EC13>&Iftob)&o*Ox`wY{N zFoZ9s4r!Qdi&`p+P$Hdq866i3w%wBi+a4T9w#)BO-*h&?IF1CujpG90CI=EhxkK6v z*4l+hgb@;9q#0q(Z79}Kp`w@Y*+07q&ShPh!SWg7V+2D#iC@u-A8?z_X0Xr3=ZksY z81aQWMQTJgKmf1QDD6R_Tj$vnrT${-lF6Pb^{sCvRCoqDmFEiu?~w^Y*-;!w zWe47%#TQtFOFfD3^r%31#(_l0xDI8pyc)`uGk#eh*ld(oo6K0_uG6fGY?!f^L~xe~ zCCv!0u95R4eB3S|5gr~9avpIYk=!YoL@w@FR|jz9z0VFMmhP{ z243bGvdm)^lJPQ&Rz9_(-ItN9CN8Acmr=PZI#vwDC!DQ>9zCd!xe-)EV=N$id6B_JUVa{sWvN40oRaW^qogz z0QKwRd3m%OIFLc7=mR=;jkQsx%_WcP$b@bdqu$rCfaGKpWnRbprcbZ$%(hD zoC9gfmlP8yiLmgzz|l(3k^>uqll?-9^V-NxU&sj-&B+(S7EZKlO36oBwtv;p z?_;dFs5x1(vJI51;va+6gUNLEG30faBw00m!s;t-lO$%gKgV=ePEMj{Pk_e2w`>3kS&DAc}Z_16jny z$7$e86tUobI{uQmx@3+wx2nj9e?;G99~q=Wi@@r&ngg((h}AGQ8e_(iE!s5RZD^90 zHB!i1zh21Oz=4$4Hj%c!!aVSde025|*1OCZ{WmAm0g4+&OU(_E)BAOT(+3VDr=`cJ zKeBG6$Wm-T!pf@cqh$HDZ?NvXM=rLJArtweP5J<8`v%Q@F78s`Eo$c*^myAwN+PRl zbQgZZh0?{>3Q;9EkfIJ9r3Tq-jB(X4fv{qYKv>CvL@05T9&iLE5ga9glNn*o5gPRt zL!VzkwDm0;qf8$`CEu}g${Jj-$|%kz^aQ)YXW?fTOg<`$?-|MS|X#+*?+JWK+(}CNz$Y{lMtCYd;G6 zi8eoKku1dYpRnHdKD6v7>t@WDEvO$a5=uPbKq~QS7dijJXMlQr%}PW@I0>7iK3&|C zM*l+c8g3dEWc`BEPQlm&P7`1DH?y+P9QVW0>^}z|+kWZA*@%Of-}SN-2Qf#lR*Ne8 zdPN^sLo~AtI8clqe%uQG@WYSwGriC^=RW+{bL?lDP)}D#+1H2GSg78b^*wPrYCWB= zX06X>dHivh{kzNA{3|`RW?gPU(Q- zdNt~7rRNvAtx@+nyzeOr9m>D!VbOk9OUew#0@5>C1Qv ze+vihJvm8Qwku^?sRm0NbJm4CtX5~=_DtkIpHKtbAvk#wmVwOuvb|-46Qv;P^oheEOo+IB= znocdHgx~^Somx{F)Jae(Deq_kQ-hRfjBA+cs2u4)*O^*b8E;K`RdrEZx==+`4O8-W zpeZWoQ#;TuRrM>lJufN%GxU5B8yCA;W-&|J$NyASZwqB&dn#+Kx|PZD_`Cd9+KJM% z;?|S2Yb9-gb~Mo%=IGdt?pVVd1KN^@jatpAb}oV_v6hwx#-L%id`0zAp0}axHfnjL zeOtO`qt;Lcw;?xM6cAU8;)Lp&%I`L`%T}$fG=D|ewrXX)@zvj^Qrd7+IZ-n^)lDhi zhQ`>zUb9}(VLP>q(yTQ-w*#9AttFewFKCcG#2&zi$6obQj%w*LeyiJB{V5f_wN)!A z7B8rl1MKDAk_I`bdh1X>{vK0a*rP(RgLL?MITH7;s8tQ;a6=DrYhjP5kk!0wrw7qT z2Ni9y1r^Q*CEg(s%cu5GzO|se`Ji0mXY?T-9N4La)Vx}L75j}_Q0M$=MP>U_T9RLF zV!KsnBqrHbHp8i@Ml7$=>rthhno&oCYM?N^+RS*Wv1s8vCWsc^lLOhp8!VwidUc+m zOEaOkn24JzE2>gc&Y-OEdbpsSF<#Kla39PP!4~V@^QKCI@H%RCe;|y2p)sV_MtL2@#Hq4C_#LWOC ztaBdatX5D4exhB@YVo|+%~U;}4XKAw zt>(Py?x)|+x?^hm&+@9Nvc9j@rv#(g%{W;4O8Jq(1Qj@tCO9*n0t>0#jc=txB##gX zCpeG@_2$#jLTW4Hc!|(SB6Kz*T$x8ch1CQlA&jyMtEG&iWR3M5E;#k$Kytb;m;8#T z#q<{oh`5rgRPE|X(%-V8EF`I7CdJ)UyFjX`9QKWZdfW?NNwv*- z;iewZe4?}uOVD#p72JzdR|Jt>b<9{%A&J~Ex_6@1t_UKA+BC^kEomr}i&0caEJsQ9 zr=zZ_hf?V^J#mHXwYAB*ICT4pQ^|^>v>_o<_bIPvS#fm7??UKEafF!0SLs7>b(BN% zP$Bgy|1cD#Em+HvCN9Jcc^gWoW0j#bskocEK>1vgoIKFT8`xnbI0C6_7FktA9DaIP zSn4ilO*<7bYLIUgRZmmgRW~Qgnu7IH&KjqDn5yG@HA-}cqH)3W$X)HE^sGU3O5*p- z4%ClBZ7|I*srne#))9@>vcGU2EeFzlN>9Un4YjHg6D+lQX)U!neo<;Q{o>zR4G5B2 zJwzd#)&>1vS}hHrVxEv5UY%-tsza6hh3T*-`pk{hr8cEQgf=_+2yJ$9Ahp3@uW2c@ zgx+GYaAs}`(-N?@)hV)++M@WLz+3{cTW2QfHZ_7HnnK*xYGhd&RW&dVRVl4{>yNV> zR8h7H zS!r^d+LcioD4GD;RtC>or(>Il+PZY3s%C}c>huJ$jSSvYKT!zSz>m3!G;HiagUX`b z8~GEJRekl%#A9u94rJPFH-~PPRm&=CtCF=hd^xEjd3p1m`y37SMkM>EN{%Qh=8E>Z z-y1<|U>!Q|t(Iq=-G!J^-Q%r&RIP&U#LVU$}8(+1LaaEu&{@|`0 z-ERm7()b=@>5i`&WUM6-+$BOuGeX)Js#;DhX)IqcN00y7zFZ|5TMmlHr_u6qYVATj zTf+8{%_ri9&rlQQFIfkR{peRYWLLZVghx~@6d;tc?IM)2<3K94VKmaJLVT&c$>}4* z!?9|=mC0oB)%f*#VallrlwKbEQYF92_5B6EhMfh!MjS|fmq&qLeX){7HloO&P6>$W zc%S;zEtncrP^%cNEBsx+NE!HxjzxP@k&!;pIMIfRa8ePy?m)`C3Tb%?MquKsZ|VT ze9gM>-JDSKL>c;ANv*B4^r7mN(OH(rg@S|XOrfDjJ=u~wCCirV&fQ%$6_ZFCAKsFy zIMwjUB_b!ZRPmz8Rp9v5lO(-1>2La%Wo0DjQB^JG2;bHo%Tm0oqwGy0+6Opm`oPcR8OZ%Rbi-^JUTZ&fX3Ra zBe%Grc}JQQpw`qq_2NQ97Sme?OHV6qn|jCSdw}X?n;_H?g1VG82?`H{AnVdJD-eRt zU*&=fbR`h+J^_dJacTLh{6|_%DXmsVs!(N?@rnt!CM>S_)9E22Ph ze@c{gfCqU5sk4;(C9$JJ?Wk0&ONL-{C6PC1VX#`!7%9X?h))w(uYkd(>0JNa?({Gi zgP4Ao$h`(KT-#C8veN+UO_Q&V+SYPwV3ny~)M z6124@1g>+VytPzcW6>7E-|My({$7s*>F=?sv<|z?Bx0Z@I z(r?9SZ;0xtoPJ4nLV)W2M)(m&ttL??xRPUSb%_$?L%VAulEt?Wm3*KDy{@eeRz|g@ z&UK)irz=I&QM))r8@RE6 z)dGrVJ}O)nVZ2mP>Q@(*XwaIX>Z)CohGpn&U65^VD#*4pr84!@VM@MYl5Cbe9jOPh z$ikF2Ozp0um8KzKK(Ew9pjU1ZzcWlNWuXiXr0ez7BxPa-t!$ufR(cpIv?0U{ZbrQu zq73-T5YS-gpMG*dH`0{LlTb7bKgD$vH}D8=3s>eE79udK{R z_AOzJreQR_CA52CPjOuk=bPrCvn|#8n&0*&Et6Y8%cXYoqZPCqpHFD1`Gf;Y8@E=2 z6=!=|)LPxEoU^5RZIG-ecC@_>*tk}pb8RqC7;Zx@Z6RLkO|{!Xy#6?;?I8Y_HO01r z_&p(1vOUCy;RZ{H*X*&dq<-zydzy}UP4c^Tfc$TamUn>s+t$)bEq+jT2UuyeN)gG|>y82P##nmUU3Jl{ z#tXY1>L`u1Vo8xb)bg6w_y?6;S+fiU`_ThKD9wH{_Eb-3((vGZPqn4y2Cn-E=%v=s zl*N-tz0e7aT}Y>UsS}iQzsbLsT7-J_R^2p3fi|x<64zl1=zMRrwSA_-+e`$Gjp2!D z`(IS04{{vk7cJ_8T;|#@y4*(%P^SE({C(Ahb{#Ct%P*Qh(7wKELu0pZe1ml0J9qB! ze(yPuG2mG+73rt8Q_B6MvHjHH#$jItVt$FJHzR%vBAfn*0AEr?1o-F6@87YqUv2z7 zKBT`|-$F5dr?~^6(cmcZU5Y7)mje);Cw`@YN?s%R4uq7V-z3Jc*%IUFK((9lIg%O< zQvH>@Unnj?Elddqu!LjhAl25m?W0hpwX4v&4F^(dpFp|-61}r{V=$WE9CIi4!RjjY z$!86>nGSopEm~MtQUYg5i7rFb4*c8A#39J$-h7n0B@ICqvg#Ar4MqE_@lmRg|6f&a zy#G#U5L;Ae5XXVkpl4NDJye};43Y>%BtlU$!pSOB<6pI{V)v0&{i|M3iocg^v7HU` znAw7DTw%d>HwTh!Xk|J!OdV{jBoX{1LPayekxCRc9CD-I2oCEC2@dNykQ|&V(W~JI zM$O;Fw;rM5N&+yBD&0eDG(186o`j8kcbWy zkbW(9p^n?o_1ceC3mdCS)R7W(lo|C{c?un^de|I1l;bTMH8kj~T7d8|RqvAcLddX{ zgmz}akn)gmzGyBP10?D>C!tOn2U4B)QS&L@uc+r3wYg%C z?T=&Bvr6Ip6gd{nC21c$9;+@ZRr=*0$3SC>hR9o)2{3*=sXQF`@@=d^7cdf5&y z=^^uVBNtKv;hxmS~Eq> zuiSk|`==nF4z!}1Q`A_+d1w5bsj97oej?>4Zd$tb>jA|^AWE*iPah&MZ7}r#m70bK zRQ5jgnub^#6GJnm;km~H?EJ)p-?e+f0}Iu?BPzWo-$)hd*GufD5}#_*-9Jf7$pi|MfXjIHD{LtU)z#y5G%@|iw>INzglGt{d3 z7;7#?OB~1%T4s6jiC4X;?o14*I^Ln4GokB%85Fz_!}Mh{(WM^0E#pD{GR%hO#BXdE)rb!CVNa!{AHU&mvrX+Pxj-OAFcDB03>pj5f?k#ggL`IzF zSIwYiLoP@rUn12Iy_K2RwDkDoO=>(FG7YzA$!zG*^Cp#AjQ-){Y(&(#H);Md$b2*) zN9IZ?v&0P=5(V^MHz+m=Y4VUvDdk5Lq$p-|la%Av>Fo({9XbbG9d1zY83ga1{biv1 zGzYor+H1V*MQFiXV5m4-lN+GMB*`^sQvWw4r303Zh6Cbm zw7StK#_X}u2IHck;++f90WUkvzcuo;YBGgz?CcPy1gFchHPi-Y2Q+m#Vt~r%u@|?^JI=L8_ z+s>0_2|TB0iqxvn5_rz8E;;BX&l!**Jtt)eq$FfW&(U|`o->vE{^PqI{Fz;ZaqypFVQIfmsM z&&rCgeOlDxi7&{GBK=NsAnWn0Jq4^#w-_g%5(xGZ!NH7>$3AAITFK}m-=}{T3^F*7 z4EEVklaDfv!SH3!kCWtKeU~Pf?lG$XnZ=rpBvL*{%y{+G=z^lV3k;gi8hQ9BGYUSQjw{_}pW#D7Fxel*mPspa|k|b1Z_)e(Why$tW1}2*# zjaiRb?UxU^2zRC8Ns3($BTY^w{RSAPV-(fhfJW#);_pWIHW}Aopb?J4Ay{aH<2jIx zaB~6K2#0J$BdnN2^ERRphV+$XII$7R@#PpiV=cG|y}uuPW}tsflntX%QyEfiw_p^%?-*xTThS&;UTvEQUP`eh zRAMW2F! zQPruay}9R3!|BqdJ~p9DRRP{a--B@?F8 z_8suCv_rxeF8vP(#q&NBI#_ccb$It1A9*_2ATUswE?tcH`;fSzrc=sD6nTgq;I<+=+u5HvIp(Ef_SX;<3Kiz3Cz^KC+<;= zP7eFcm4!oBKFY*p_*SV_>K>?dcrV@9gBDXNnGAc;+M7KPlA1rD#(UA)Cts%1d+|DX zkF-hoIAN2)_c@l|5DuhGaLsh1eaJn3UzF{yXYv74W1qZBHul{IL3m-8Z0sKR z?!yPaeuvQ5=j`OHYb&>RO0E@x1y==w>9E6UPtE)wlf_RRRt-x0cDi#I^_Vq_z8qEq zjODiqd#&Lc)FS=XihXLrix0e|Mn~`+&v%Dx9tXDw#7YvevKg`3Te$mg>s-x4ER*H! z+SpSPeY`HXf8s#a#>;Fn9#uW`k4NMbxTtjc>f5O0QMBXaZD!Yyt-?hjEZ9nx324VP zwo$(X)y-w`aLD(=yLr#N`CpU$ib?E8Tclq^Y!d1hza}&(!GY97eM3JJR4?O{t$)jN zl^mLwIK0~^IIO-ZIIQ77av1TN<{eWjxvrK79V9|WGlJV|X!sas`_VjR;~0~Oc<}QI z=VJK9f#kB_3N=kcJjlC+)+MTLj=$3}6D-aW;t`>^)Fpls-ARNK*FH_!nS}MUZ1C-^m^q4G-|V+0#2xV6u0%V z)=QT?TT!~~f|F=#8Ed6a4a60!m@(>qL8v`|1F80hC$N~EhI|*OMk=48wo)40q^K0M znY(K#Jq2bOxrU0Qf>rVwYMP4Jh)d@dry^0kyGACe_fyrW*iMms0tw-?Q)oLt5Mz&K z<>TL;QmrhM!mDJ+a*n(Fq4;?buor55dub?6#_nm`GUEV@U{V4jDriLr^mdZfYGaUnhmX~NsI&^rxluo3>&XbprJ_E(?wp7?P zzC(sO(?Z!n^z1xltcB(3C3>nmms#UV+dJ^NC%>@4$J~`YJTnFO-^3n@ovUq50IgQu8v` zp!xjMRQDQ~l$b}eu7T*t9J+oDOjgc~$5`u@g|cb3RNDF`l&&*N=(O*MP=q{6k44g(TTrd#EUJDRs#S@kVYl%+b0(d<4Ld~4iub&u*0HcJF(Y@yul_)TJL1@| zJzHq;T?B;>(`7+|USj`5z$47Mc8ib}J|HA(IFOQ`oueZ65U|egmO-V}J>&qRXHdU; zh+2u$DC-`g)}nCI-&fna`cF4Y#Ukb(NFO5kp&@(~Ge3kgu`n&XkE!?62+Fvxu66RM zhA1Zw3E@H2G@H|Y8qIuwNY`Q?S4P{C14-|2jYm2sdiMa4X4O$YWM^eE)+(ypI};T6v8*3y2^M0SP1RUUk_0{|Ge|ajJKD~qu29F`PS8#wMW2nt5Nc=pSR=q-FxHd+1HP2qD3-qUKa%$C-xlJEU zb6=weyfT`uyavW~>%TFUjN%wYXxSUJs}eIZCL6Wmwv^nnQJfwlWyOxmR`o@*hKV}0 z+`^0Ir{zGpL))Wh+WE+#ziP0Feb2LJF|WCHvFz<%j-+qdXgB3XP`9_JRjXiH`xd?Z zol<}I_R%A#@jJAEBAd7fZBY(nrPV#d+kiJ^zC$%#8Afm3p;{gn`G0(U1zc6n6R#Y+ zBAj#SOL*y$FhE2FMLy2V0U+7i;3NVjrvou3%lNTcduOZ|K9t2 z{5b46voo_Zvoo{j?A;?Qu;iziIR$;dQX+Jq(BzO0&}7ZcH2VWIS#2O){Q!-P96*lw z&{*4nLSr5C@f4}i0P67(qkou>{JU%bDIf9jWZ&x8)9>T8AOpOA9*_Ti`w0@cxg8o^M1OB8trkudKQB4NgQs`i-$@_sb# zGXmSuB)ak$lCJDareDmuX+QPiq&h9-Tst!$xDMY*Q@&u__xjN8FX)h!B+`xa)oiGd z{2%7h{8LXLPu%`D^Va-0hY4CSg zb0@y}^&Qqstw63nV9gG0|60?b7oGnBYrb2+Sg77JAgp=zkg#ThpRi_&MC$ny*6eOu zV9iR>{vN`RAAiD-r&f^FFBtN84~qK*Ll)^lbADm84|@nh=Kg{quXU%W-*9yA9+dhU zHZ05AF6k<{qf`oCnq{GF`Zw5dnvrbob{1c|N6pt`E+2g&17h@X8!>vvqP%oUzb+5g zw(Mqz?qUVdTf|HMuKy6#p6@M_Fk{d{EJ5xntxx5tBg?bsIeX|oCVC{XKg;`CC%3X}4k{zj!O0K2d+K#j9 zGn=zZVnDE~u!b(FimF(7(1S&fl5*SqDF zVsbNS<9sS@B3IG=YQwwSnaR7{Wk7Tpw~EG_$c?1y?J36u^7d{=zQrML!}dbnerOm; zuiFUr$4$Y0YAa4_#B@$;Bm;t$%?hyZBNUG<>~a&=-z_=n&uJX>7Xt!y{Boe?Qp6oI zCt40nwW*iROVMRwd8DnZdG)0EWAGD@(GDIHQikuaQ+_E(_R?z;? zl9sdfwN`YKwR^QBKQ-F1t;CS}tL0NhQnTiC$x;q-`_hz)Xs6>M+A|5z7QxWQ`H8iKo}r z81dw$`7|_czhn(%@0ov;g zI6@795N$wcIfpjb%Ppi6WvIA=>>({HL!}rTRR&)z0Bhekn&2S&_>FWbNLDk2F0RKK zl%!KN9Lrd1;>ON##3@iO9c0-wL|m%CE|pIn(y$P^`r8;u2lz1-g zzYzC}81C0&i~AtK11Op}0QVLNqVN_mX8_=JJ1M|d~_BWtg zj&d0(q&1n9kb_Ml1ck^kRI>z>QX`gnl#soXD-GmAej3dO@tJ|Y$UETvi;geaPlu2X z1kyu+RA{6h25=&m#Qn?vL*$CMe^}f+zjysiU#&dZNb;FL zJDec!^?H=!BzJa*h-Av=8=zR7yIP<})uni6jCOBxN^!<$%d?*V>NFvv=&-ZALW->~ z)+&dqP>PG(P&!nbZn(&<(!+5$S|46IunvW~!YkFaDb*EZCM3`vSCFwB!O2*SppUNd z5UEyOL1s@FrMZDjW-Yq!2K2zDWZ@3<)9e>}I?b73nRVUeWkymfdo3%4?*3qsY|@Y#T&VJ1<;+f{#gg0q(q;m`XVA3+))5N=kTn)=AirB@YbtB-6eU5KJ=9|#)LkUslBP-!3+ z)Oa8TmxOxmRu_C?gXwcgj0>B8YWqSxNyDgzFUT23(RyFVIX{BF`+|&Z0}Aj1nS1>> znfv{ys~^;JElQB76-2-NKqk5>#rcCww;|NeA7rp!d%Hi#%nB#t06ExUP*uZl{y1HB zUQz-z2#`xlj^Q*iK<+M`j}TNN%TlpYpjx#GH7fIsw=c`wB8gqX)2Agj-KaMGx(>@0Gae4qw4yv(>UE5ADuU6rK*q?0##WMjB`GL#LnX#- z_7TRdzvOy^e8Rve0pUA475y+~6C3&PZ zZ_TV6V!?n2#XIpToNZ*`kFfeh$W63MeK_j0RvdLY0|M2jH$8|zP(JKL;gOieBb}&y zBwXFzk0=tsxMx1rO=9L}i>Z9Pq`@n6s?9AKMa`C$^dwTo9w(f$ug&OOb@+YtlESri+R=;}m|xpH z4Xm?MeDR>{pZRsYH5HA9&vo~r=xF$yktd}`gZ{7}Ivx%BSDSMB*P4=1O-zW&`1%cd z8nw}u=GKJku6L&wHG%FGNZMLJpBm56r^RO`)RNeL_nY z>mi1G1rp$hEw-B%yibtP~{H1K-i)XN5lVV@jnNdri6!%0X{TcMu~AVn=lijBos zdNih_SoHttNLyp&<_u~x5>d=u!FyJs8 zZ^jJx(u7(xhVajAX+vWOua2d2jX`FKhRmBl_?^Z768=9SyuB?YH$enDYbU5wEk?!T zL8XcfwTK6mw)JUvJgB_4q5bg?X0kOYO)(2?Y-oN{#GwOLB7(hbiXi2Ff_^qdJQ!?E z6%%mNU4L^*0&b=p$Enb`dE1Jvu$w8Ctfz{vlweJ;XQlV%88m940MGlZ@8IFqFv zLP}zDgcKam@~SyP%0hD*+5)lbl{p=5A-9*_tI4Y++SSadXG^)g|5FQtjt$NiiLYwv z=dpg5Q>L0ex0Lrtvlf$EConnP3Zc(sF?O*cB8^{^dAK!;NW&M>={Ar&YGG#4w(>qB zY5aU9QwDoT3vnE%e|x!~RMv#aPW`&b>!ra) zB05&-is)$1J`1i3{}{q&%_jy#$Xieo(Xp{gL`Pj$xt288gRXYPAa@rj)Zh0P?{6pi z+Z+0Cj7I;d5~6BPaaAK@TH8&=8STHxx;sqX>=ZTZE;lJz zyokX(_$V7<7#vdEc&O1eSg!y z9&)(t-g0b=s(lQIwYGO7w$`?xn?2;J(#D_Um?*m#pW5+7>@TXHC|5GJ_$g76B$uFN ziSkJ4;}3H02|Gpqr0zZC@lr|NcEO%lSak3Ys@O~JY5eY+L^Fn9{dJ_5Y^$AtPmDvs z5rJI6kqih0+eOm5UYMPI%2Q%*%pV*GzM(hf&%Cenqc_$R4ZcykKJppk?qBp0#3W%w zGN>GNN|Gx%=DwCdsGxw7V_XV-wFEqTbT-o^ECq1z% zeL?I+Aie1eVx3?8--r$V%85A{tz^_R;PwJiUMbxRq-3JiQ0 z>K(-lhWx+YQpR9;ta+P{Qo#XmjXsj^5II2`Yt0kv32&~9YzBlfdWF!uA@Tre(Oa?{ zD!-Fvy{5y{WoL351{Kb;$mto@GGrwGO0@Bjt+Pu5UQmRDm$rfRI&|k#(nTqvYYz zsps@~l-y2=eMYsCf#*Zyc5T`z<|Iw9)OA62VVn2pd1a;>jP!{Q^UBc z))1YCi_Rkqojb733hS&(dHa>m>cE0oz3n}ek(!c2xf3y~?~awNrInBA-B?+tZDhiw znXBc}%ws@EljKh{PL9_;EXEN+1wxnsp@=`3jEAQE9&$~8F2N~$VL(vW zL1BbI7->N8^n=Xj@QXkU_#_5wsHOt(XWk8GGEPCIKmLh90op_r7w5er=k|dC!7bI7 zMy1Fu(wb|uC`GQO-SLpmp-F5G34Q9{AZ~wTAm_HMs2H6f7iJ)rRT8rGC`QV7xt#Xd zeKAA_F+>Ig)7~X%?gZIgqM@{Zf?Qd<@WH=K^}nLt@xZ`Tt25?Is|j+|4dmAPP@9QR z>E(NzUlD;|WI#ypp)C_-cjFsHzS7l+s1=fOnHft^gcP^!-A_-i$N7<>+QN>yGG!+Ra?LN6r#`TK#sO@B2Up$kNC(Em(iT9|a zP7XEQaaTVade_#>o<{2sjEmmOT&I(p8JSw&`Rk@f8g6#DlUXlK_A`=PZ_(hXaZvafY6ygA145z`EtnyX*G{?duQ`InPb^zr7c4r69MWCQS@d8)uo$hS zi8Jx=bl-LQFcVKTQtBs8 zV2jKNY-KELN>B<~f{+vu|!uqK5B?=;V zNUh7%6$QF<{~~3w_TfwPinW_xr0@*1D_^4i8E9X*Ku0s=1Zn0)a+(WnpDt6oxp=7j zeFV{5IaWGxf%4|cEsW<&Uo)fU$!a61+BsTs3)}tr%tu~~H6h)6q~wR^=`FGl+EdBJtjs|eRc zZw7=eYM9f}#c&XM&JkYYbat#<-Y_5#cB-k-5_yQRx%7$7EkTX4^dza5f?;SjwO$GV zv?pm6Yi~b6kCsA!QrVefm&px{q$9_K0PmJVfKyL6{lFibeh>qK{!>$OTY(ZJ@)ylp zf$?5BMz>dhT;fp*SP3(HI7<6g%3q`hhlO%3u7Yx2f2WtLV3S2h1dGzE!6NMuXHoPk zXQ5(1uvlM=O(16}rx^`jjiv9sEZV(VUM$5QrsiwpO;Xw+LE39ANTc+LTno~5vIOZd zn0ngK2b^@)Cr1A=ryQ9*iqQ@XGgq$eLFWgSQx9m?Fe4l~rrUc|#q`Ml?521L&g z=<~{Y*~@szlP|*i)Eii`*-!2pFua$Rkh zK*$gXa}5ZGerCpOkpm>D^IICY4NILnyXf*ZxCB3e79Q7h7d6|C_Uj$AW;+(f7c%Kw zCf1fwt4Xy3kv?JvCG5cR{QNZ?XL!+TFHNnM}0nY@<$@as%zdE&m28eW{DHC^_Sn%jrcX7&qTS;k)Hzsa+@h zbWGkL^?pV@_rRx(w$R2sAUt;y{oDh>!#7j#UbJmC(YU>GxKTcx&4hn;SwgvcL8jA2 zDz^{ve>hLg_5s~(6HVO*^xYfi9&69rNVfaYF1LX??MK^oBh6#&4eROoe)*Ynb3I)< zfLvv~o@@?crO@>M zosJ>xxvk8cdQ46;l7=oL=M!?KRP+vAKLH)lGP2LcAj&SKuGv^VZd^)6C*?f>sloq> z_+@cn_J2e?Jx?#UgZeK z7!U}1A5i_XNNIlfX~|h=Xa53ve-^ITWWGVnze?Z63#jEeJRQ70k2256;ci(A4T!q* zHJI$Wlr5~l<0to(OC#I!@U*~rBJzznkI47AJuN&h<8b(Wboo3I-?Dk6T)^AI3UjI5 z1-O~RJeqR>k1-Zz(ANt{Y^~-}qla=t2elPqS_#H;Z9N3H4jRk?{YYc`G)Ws(0FgUC8DZW=h{_6n+cp{*=Zzgh<9G>BcQ^966q>ZsV!RwCVpp3mc85=-Xhaq-9RN zjo7XpF@>Q=vqRVhO__674mOUOBGJ+{re%yvg?^;iFD8D*b~r!a!de_axaqF!t-dy` zpvN2?<=&Oc+hyqZr5qeRaM2434-l)b6I6;-s`T;qi-EK?$kfNiqY3`5&9L+EeAn;>eyvvAOtuqcn+Q=lr6mYQ>$U z8Ea{8E}r%Q{dTV0S!yzosy%>J{o*M3fxJ~3F_FqWltU%I3DoPMthJvV_GfeKMLfLG z8@kp+TKrHBu^n=d8+s@M;z^A0Ey{Z+SCrBwkozOKm1LiinfyrZYNS0eUM~h;A2C|X zMdC~!M@EnF-ZpYP^?rZdJWebO&y+LR^A>( z`<}@qrPImu-!qisokmf)=a{`Uld0Qtxbf|gwC_0cL*LWhBE>+_k;pDn7TEiYsr>H0{@c_A;77L8zba-lgd@z7!22xdH6a(D&P;E28C zS29^H72-}}56{w6Ny9RIUbELKHp3|34WebSp)~ysRQ`A<1%5zjaj?9Z3H5#}n`?U{ z^RQ869#>E}142O`4v_6z*~|7_4IaX$gR*|%IBdwjM4pb~L{81+L{2jxh$I~#0ujk( z5*>Jp6~x*9=^7`xRu^4s7`ootPo>|<-cs&7YVrks~y>)w%^>;4SR^#B8cYxVtf zjCGBgPcPnKhR@|)gS5_~Ls`)w(9mJkK5G9SV_i}0-?5e+#JC2z%^ksc?IX@>KLdi7 z$39eSiB`1WEhfzI6p}wc)={FDRua9+i(VmyUb?+B;sYd{kwME@hw}sI_T`RqD!?e$5Qv1&sd#8Rh_A|oh)+BoT8L@b37?t=UCu?o`8klFN zFgH3aCiTNUwBw6BQROJAqBVY^fMS!JN~y(`1bsU%(LLPw31 zV252@4de~S?QI!N=8{rMYSD$NNXj(nK^HnFDKS!VXR!L~pDZL%}sFY~QuOszRDb*cpI~uqdoa;$zI;m1T9S;9> z_m6Y=G$Z3;if8df9YkN@TtPTq1y`l0j>5UH&wLKmo_+xRGDS$?DdJ_KA5;r&hVlQiazuIh;J1RFN%%CGm18)Of#j4 z^k5^YWu>}t*EjhTI2SXKrZ-*o>(X+Ln@Ww4^ukZyg* z9I7bKjpW={P}jKVFGkOb(1kZf6^!@3%BRB{jBU(I2pQRdM$}wl2O3#Fwc(@4dLu^B z13TK{`W20$3Kq&b>0=%}v{3p@aHWc{*&TGH7qWl>!D8$TN^w#qN=xdIxwGPJ z`^lc?n<5~AS38VEY+XU(aU3T>T{(#i1_X)T(`l}=Qo}Zu-_bNQ+{qtG@0^u>%7U|a zPl#U{OiIcAg=55Eym2l{P5(!A3{t11Tx6~ZkGXnd!&QlNOuUo-``JnraIhT&0+$r%D`SMfm1DWU>dstXa|VRK$I_^}n=;&OWdn{d zu@gs_#DG93lLmKq+M5uVSkjE}Q3 z1?y7Qa6NOkJkuR#Y$^%Tsp~YtTfuLjYS27yIPkHyoa}K11liwngagmt}%Sv?c1ZCjIbI^2qLI>Lb9lsBGS z{V0w9#sc^TphW4^X_cYC&Ujb53Im1A@k!G1Rw|QquT$!WR*8HkE>mUg3146#Oiy zGWnE-pVe1U%hJkPZQCd=ihDCo#)AR9zLLqc3X$a2V9!KFf_{&XnYx^m)pLu z!dgn=b+5rf18S31Sxk(kp%hsb{-p_{xn(hN6VKAEvWlzpB9y+Dh5MQ`WkglQ84!N9 z498S4_iYuZ;PbwfXi%WyBAx$Aa{>`x^DEKbK&7#Lg)=-m>Sw)vy?dk*c?H3DpEuz& zUoaqO4%F#`@8lp<3vVjW>L6sYQP|NH1fm}+(z_sJvhWJjyqr?m*t*C^qH@Y+X;B4= z3C18|LuhcYQbD_`GFR1_MvQ*QS_XuwB8Jh)U?sq~d1JlCP0K^$r$WfNJT$H;Ph-kM zTP%_3^vRuO|Qcg7vnC9UgI8>6^*p9424#P2XwB_dv{?#^lmps-+OUo^uAS!_E%O0 zN!v809mB4MykS5n{8}%>$nhG)KE!TzAe|1MyhOTWe~NOv#U^SJ zsYF@YZ{mbUa}t^{F|;xgLOJ`aLPRVUmUJiOW7zz>)64!@Ra795NxxZ z^g|dFg&`;t@6Lc>GoSQMf{bS*xHnzeRSQzRqpIv)cGk&^Kf2$sQzdXsZ?rMu+g zLzAj2K2mfw+QQ&LFJ=lydRHAqacyr}SOXL8p%+byQv$VJ{kcYJ*Wend!+_Ap+iqkZ zt$5jnk1R;1`eTpDi(;cO=^lB|_Gpa#h9}*KhG`ePB&DWO*7o)50+ZrrDonCk9u!*> zi!_ZVHe90EKlOs{*HnUxJ)-sF_Nj$&w{oYjT1tZu*@ugCE{cnEo&h0Jr!Fv(5i3P> zX~nsbRJ%EnW=|9ysHK!N%@EDGQS^#6hlu9TC~}TLvzcf%kD~glSxGcQqi7^+I*6uY zROZGQ<+r4L>dwV*tjfhG!GI7WvIAw;RW>_Ra5fl1m%;^tE$3U&)OuKmdOOqMdYEPp zs<8g5hYW~`a;J~pBRuP4qV#s6$oh!CQ=_O|eWkkX66RmRu1kdW?w6p<`UvRzA5unxBua!f3sE5UQC}A&YV-1 zN_;3?84yD$-HL9-Dca)C!#L3xLDaGl=HnoHs?-Qm@P-|AZKRBnHf!ij8^v)>W2K($ z(Y*z;P5-dqo`%{rhVq;>ViwPAjHwr+VO>4Qp@~vk3bv(=O_VWqCv6RC(M2y|RooFv z{RC6TV}d!`l6$;T$)Ry!M4@Ql*0H3%@hE$vSIudP=p(NZMMC|i=$T?e?VF;Ocu&Tl6&nD_Cbc zLw>fhqxQ|Pf<0=-Rr#1l(2yrQg7Vx}FP`=_Q+7&=cTm6PSkDLSpeN0hVJ4fm!cY+DO;hZ zt?;ymIm~26LwJCF_G%3)GMzw_@?-i%rZ4qEX zH&ISoB~V&nN@nfwG-9AB^=${62JyJ3D#w7ZX{lDi^q1QyQJz~(3?tB`zh&nk=~BM% zW0Ck|FMH~xQjc!6SGt*+ z_+kXuB=?CHu%kD+bbukdnb4>XFr;I#f5{~)oSanzCuhxoAXmID{q6umt_jc^vPwr7 zat=Ol*iq>v-6%?jI>L}U&QpFz<)L)FDCKlQOl>irzIIZ=jN2PaRG~8vsu!ii&PpBQ z`;tVvJ1bQkY_~!@{SWvJMO2P4nRkKmj`8TJI?kgf*T=M`Y(hBEkS-8L4YJF+C}T~R z80oc04b#o+jT86lmDZxGQprjBa}&D#E6}pHpUjU9+Dta#!w(AM!!O5xe)u)%cUL@C zEtf&=-7uigA`-RfreL4KX1di)IVx>%qs85oO2%s3xYZp`P!Im1-(#>)@?x8?b>UAc za*|IO5F|HNrxrahhy`|fjZzP2wDNCS-$R)##s8$JM0mPiHYF!w`OzPb1QSsWJpV~Q z5|zP{`wtq}6S@A?aoX2Y$*=U^Z~SCf7e1jpXETuj!6rNs(>RswMnp_zFO~5P8l9>) z$J1ah@zY+4ziD03tXG~&^hVQHH2um`eb!WoX0h@#nl&E=Gai~p!L*$<4~b@0Fg;<- z1){kym>m0{IaD-<1yj8~N_lOmZ$=QT@Px&AIc&my|3dTo;PK{xuk@}Dk{ecj5lLt} zex>vzw6}kzN31>Y3x)PY+u}1#?2GoL&vciy6F*TvKeS7KrZN4{&c@qO)=vFI-u=<` z{7C)#V+Hj5E7y}#S*|B%285ofhtaYAN)Kt&M+zK(r-P>Xlr})AZ2LH_AOh$se6x>q zXMhrAd#E&{p~_-F%d_GXpK&;Pp+R~hXFj}d6+B*-e662f=7%_h$|r zq!<~6I)38PBnEJ4dNLrS=~n?(YlzR#z-p1)YB4wlL)C~QY8nU7_Q6VkX&KQh8$eH4 z(@Zqw0MZUY^NByBs(I>9v8;JSG>`hzIM!Swnv4A@lQoBl=5T*{!J17)Gr^x+hr(>l z-~MYhoF&H0=KF?v4~3eazoBD8q2}?g$$A*tHQ!LTVQA;RqFt=L>@_LF(XR4}S`0_~ z*DKn>+8HnD7i+h8MNLMao&SQCjX-XS|$%>6S3t2|L<~*{D?oGr?tMmut zI0iH(7 zVF_V=n9w3ud1 zM+o&_N|_8|8RTebtQ)xN{aN`nikK%^U0sqnMN~}AS2@?NAhXLN2!cm zWK8Nvwv(p)YsM)$2Y_Ev-jB9(Ye=glpC%G36#8;aU)NT9%;?)+`yef zqk)z;!YZE~=NO%v!;pcIJc?u7WEjbKuAA5555{eVp^H9=vcD#-(bh(iH@VJM{H!*; z;=|=H+0#^LQJHvrHgWW9B{9rV+*`vQM5d)RWTNR*8!VXRG#fcMP=r6E+*ur;cIrv} zObG2y-suQ=Q3I$^I*hXaB@Ihgn%h1z7e;4582!j0Y@$Yf3NRs`If|>xms~7{Q&ZY8 zs;TMSIB|79-c8froI1`y9ee*Eot~rk6tBph`|F}}=w26znn5{luB=d_66SLf!@Z9vl#3KJ;=WqjX-DB>z-DBc!DpBs9QL+`^2 zl@gSip_tpob8J;p2E+g&y=Z*~imTSoC}0sn#J3DQGdrF~R&x;n@I#{db1~yJUnr@K z+MeDlQe;{=R|z&w?2u1Cj~1&a1$7|Xd5VwA>8A#sX=!|~gHE;4j0vaNWJb;A;T3oC zQ_7sDw6Ohd$}X#ZFd(EDzn8q{D^;Zyp4551QqE=7ZLUT)p+;Y!#w6ZN)7O-C&W9S) z_FzjmjPrON)mVVnw4GN{*99=z<;OI8fzm>%`Iz1=fTo70Q|X1!)G-srHRQMn(^QnS z?LXSFPzkYZ%rC2&Fd&3^?Lt2nLM8HlOeGbh{*S2RB4}g73tGGgUo|@Vo;l#H;tot7 zRgLXh=hKq2P{o~A)O|4o8u$=L2`d2(IS&mgF}$H4lS5Y*W0mve0hupRj!DlS(A6bM z8Pm&R_TGL#@=_(l;p_uLXTxR!-=5TLsZz&$2EWT^UddcB^XSY{*yW&A?8PO zS^sGE?)hY{5r6k=|CUe9EO+seX+ApMZ)Ccd8ZTEo%#8&;o7M{O@q(TfEmth0`}b+{ za;1y;!uy;ayT9YExL3a6V4e28=>7`D$=pid zF}cbBkA39FYbEmhyE_!UQt_1*pQk=66>sUuQkt_;@iOmpuV5S&cLe?;hJX1s6bHfw7ONEpcV}@u2NQ2Md*HBuXO`%T z*+MC=Z&A!@yu=$il@_m7N=R-aXy0lD-^NJ8>A)Dynr;-f22~Vwp-F3$aAh@5Ae>Dn za$kX2`g#qxR27#CxE#>2XdZp>l;C1R(UD$ZF2(HVBpVT#~araR+T zhH9-t31iurx~@~|nxD8?Ft))r#Mo}H1J^ily@2b*RKfL(;OcRMY}YHzrL~i(&w2#> z{9!a}J;vrbnZC02%&z3T0m-*jN9w;pDXrw)C}4wctgpe?PHg~}j^c6wmxp{uee}hP zf=l^pByCjUOB|YnDkhIz)5UKQ+U6u=a{cqVLQs*thm}tMz=hdbvSFd_0jm4)W>-^JH&d65>><0#<++s z`bVnji#3ZS>_cLzpZGIxw@5AB5ur};E-_q;Sl#P1_U|cTn-XM^f59LPcCyeI zOLYmFyG^mzY=boV?(l~CJ<=bta2 zdLktmF`QAd=L9tl9E6*Sm~6&_FMoEHxZu<8Nx-JKuNdHr?O5}cnK8@WLLNfTE5{bX!VBt zcjD={={ah>6P4;a_N!hT2gZNg%j=~oCi(#%-Kl7+`J62n6b!easBsZDVYu`?+;FRK zMQ=DO?s)1c?21m6#z2~8YEg3Ar3Cr4WKDdZm!~!XQdM&dou7!G{_j6S4G$ykBo?Jv zyOdhC{e*b^4dU%vBzz(85o|(9#Wm!gso0tAH)iy+^9GtwolGUsWzr#@Q5*6)FufVC z3e_{&ua0$^S+D3yCNgTDg@V-mdy18fmt^RKPw~smrZ>Sp)%>e7nMo9Y?{0mzL0W(PV7Zxvfw%`iB`Lkb{~S~ z$4F|p4^NEtMd~fKXrH2K@%0yIreq~MLzq|W?{RrXIF02HtWzZK`XFo;SKfu<4tBP&cW6g2VYR=RMA>6cYDUVX}WU|ev1wb|b6~@aLKam0l>WA0BcYuQa*WZ+(A zeRd{KnyT10aytw^dxA4;V9&qD=^lih@_Ep|mZOi~qPq=ho|69_-rgTif97Q0k8KT_-CO0;bc z9M^(zBr+iM`(c_;>h-tRvjZk=JR(+j(DRL1GenqS91ZdOhg&pF^@F8C%&2k+daIv5tynwd?=s-%RJ$0CekQJa!)KzsPT$WX z25MX56K^1tH#&z!H&vrIlz#?KWo+M2xwA@tmyC7X zph?1@Lxe$>-DIlLEWb%d&*FX3SkWAJlZ?+P-lkqW1!}xsQ_wjjvh;11%6RDF!Sujd zP7r&-STMy7QWh*fv!7h+G+%OP(K!&jA(}Z@fS*(BO%p^iZ1#$NokJ+?G*Ng#^Ye;z z*iFO&rlA3yP-mv99`dH<5d*@d+rrCEsNNxc{gpFI_7_CTUPTa?i{DG0hbtLvr;rP9 zr3xLX-vv}D*I3dMWV&%@RUPHokmby^{I8I8`ka|_LGiWdw9R0canUD5wdQwGv9}#@ zoefYmk^$jd`0h}go!W_#E-E(C)~&+1R$YX1Ic}u`7vWru_R!ahaIWrIwA4!NWbXJJ zo%M!RKj(%vd(G1q9Lb+XUxLr+{An+PasHGKsIm8F4xn;pX!@?2XS{2I#fnTQuujp#@i9#S>$M0X|oCuUz05pX%3=+CY4+1~=wIVafj5*| zmIu}qh>l?T`ys`JsO_cHwq#UYZA%d!l>m>AYYR}Itz?leMjP@)BVRJgQQQ-HJYvFW z5*f%=bpx;v=5i-SK-Ga=*`=zCo|9CqITlZl5zKSbR96bINmDtq`!N37kwVXDIhY0^ zYiVf?M%H^P-Oa&ZQg+jf32HkB`LC|=T(s=Gv!f{LrV=ZKbrU33-2{nxYs3np%Fez%XM??1zO`5SuwjRTb(Ck7Wi6SSc15CGL~gT`Vx(o#Mpa zGa#h%A0jl51%@@PysMNlOJu1HX8kXhZr{b);&TR{mwW?EYWf>^RD3Xm%bYqyJ!osJ?}4;DaMi{<1--*1`sh7ShT8V1r@{ zDey6DP`SQX9jy7gR6W9y%wHzi!m|&{TINR>-w=xBPhgUS<&^&fCh5ISn56bom?YblMmN-+G0@^OQ19-RByv>QpUR3el&r zSbPZyiw?6ub`9z#8`_ko?AM&;laUutc^~)kng-ttOn!!JvGg(>c!ruroyIM~H=v}Z z^9?9EH6381*JK=^2G5bLx{7AE12pwHYMMPfGidf+qW#ZN(!a!COU&RN z=%pv4FLIi(D|`l5<$r}lToCTk@fFd4d)Cl*-C0r7=-4&%ZNyN7YVH2xqizdD zT~jw7jbkP>CLi;9vI(neu!hK2%2}36E8vU5W5o$k-293vRNVBKQh)-D<%`Jq(GWSa z&1lL;6gR(l9?%qF86#Wu6D1ym|E>^?MRP!rppI4J;=vU0<$D7z?)e{DUr??#zwa@*psC~@v zTlPO%%2wrK6m^6O=8oX@xy8mMbmJvzpDaFL)nNwGG?$Oy$H=IC4zVUa)Xum02#~5O z)cJ|9=aPvchc|Vx94y^ zb=}0&^%Yb1$p%J9^K=8f`HsBXxVfOhYoBIW|4i1Z(IW3|Nugaopk{{@a`_20*AEeS zchcW^_rF7+Ep(tSg)XxzJdj4NXMcr6tryew@J|HN;p6GWPpJOrI(AQWi~%vYO$SBZ zJvmOy&uPCDjcMRGy$R^>N$gTR`3tVmT}Kap!I?+T6gjx!Z{*;cKd9$#%+fRjCF z+WQ;NT3fSxrmutI*x!ZgpuOb`&swYS#P`p$*0$^-riE=tfeY#_r5?*IWxsz7Fm##& z9E7`YA|b8^(i7C-wnO+u)lde+0FCsC36EN>)6c8z{3o%rI4;Y9F{zIyzwnV<{yoL? zJO*@XdqLk}4VfFM?M-WmY#Otl${4AmrSeS**)eqAKX!DD6n303nywkCyGUP?DO^%l zmdXTjJJNJXZQ*^F<*~o4cZMf87IgcrVuK6mw@O$qS5o^*t&+*iSY6dNeuoYtYfP`{5sqUvDdy`Qn6 zE=#dDzqA_^^||r*Zjl>Tv1?FKug}7?F6nAHv80%Z#YP&Ys7~c3dh_S5w(Rf1_8wUp z_U1pt)Tw^+>=g;kr(}s)$w8{B0_!CdqPO+c5n@)#yJ@&eUCVaza$x9GItIkhufz&F zlyy;C(+`!plvyiA9ulYRrgFv9i7rc$xN)(;f<69OBaFLl86%`wzl`=3Q+JjoHV{B~E+Z>Fv!9ehVdZSffW>^!yXM~9=$Z!>*o+TW;-z?lJ z{ALup24ctG(r8(|U-M;PL61Do3|=HhZ>2azT}3k4O4Af|f0xQVxS_D4mKiEW7;4}G z(9vlIEg(0wx}s^cXx3an?bK>-Q~NE9i^gFKO;xKSOP^<%#!w`;>&^+f34*?Y;9hoa zluom6K79v4zsaJhV<0U>pzWJi3cQds#$Fw)8C0t=q9kq4XS)RJG^X$EN zk$jCeHP;ysW*0^Bf5;(!`P1ogg2*ork*f43e+zX_X;DAQuz>fR_FxZ{?I_t>8VmLnzS--t#$G6v>}i?$8_b#d=}Tv+NoS+W0xWw}MkSKF6^EfcKwK z7eLL*XCGLN{F~(zeb*28E-mWo;Hx~(WalL^6fqiojr=XCz$?&qfgbNmRsHJP&PLtH z{A}+6oV={6G{{CB=91P?1Z=iRFEu@n0R-$hV6D?Q%%Sr(aFwU&yqT9y=C-h06BLQ; zJ$bt^nBvV5+y632MCn2%!K1*Pw(6c1HoXcs$BaABjjTfP1g(Zf?I}e#3nL|KV5DG{ zDE^w~?mTs{I37Ej2@%q8wlLCV4UE*IC;iaCNEc?Yd#Z~J2qVo~C5*HqQ5b2t9gO6Z zNPF#Ir1<{y$qq*9IZRZ^wd~P2`5%q6hZUy&C#LvmT(qpvqd;y{uqRiDDp_(ZR3-QB zUVs9XeObyS`O1Kh@Z?EG${j%e2yky}MnI)yS9Yn2u3%NN9mgvC z2(VruHfgHsz+x`cJzOZ8SIL{Yk*_0$_cVz*IbuY=28$|rd^dxHX)1GlSA711SIPGr z)uGb%l7dd@5|~HFyYkAo;+?Jq{Z6FxMt)&BJ~WLDP?N<$_`Aid74n_|Q5iQ5p=l-5 zRV9MunQg5VgfIL9;OteKh;Ba$%( zsj5Pq^~rczCy|T~E}<-EB;(Fg&`qc6!hrCasTGAmkc_LES#YY^c`-|9unY2V%VvDe zA{(>gROve9!FEwjV=I&5+eSS~XfB`X>N%IRO-DT~> zjNIvt8EMvz&bq@(s&}K}9&p(feMHi2?V%1Xy8Y&d-xU4Ytb&B+d%POX^+2CKZRxXz z+C#FLPg+mNyRr?n_f*@J-#HHqLsQs()Da%g=1SJa_EbEl<$F~1$LUz0d>X*FCa87u zXuYS}-Qy&~6eF!5thv$xm!pIKCDLuI_wuG0Ov z6zipSvW?@NRE-!AqSM~cPliI4KCove^!nSLjo1}#&q?Fi zUm>aEg*}G?-{NRX!<-nG5<`be<>XyR7bxOio z16xr0lCbcm4z#eOx_tTLs3Z(33>CA?r9}a&KP6OS?mpRhzD@C@F|Mzv10@|(Ov%Sr z?c~^lPs%^b{yQu?Ar{X3`dz$T=kHmYG%p|tLr!2g`dm6JU8Lcb`hH`t&{1F1RXdv% z^vKH{#-^6aI-O?wp{}|*n=bpIuKH4sPrM>x;uRMYZ`o+3JI(UZ)X^WwvY%-7A5F{s zQCI!PbCTxqEV|^6x@taa8tN)%K`@tpb}T)Q0iF73GAEdqOjQFwFjF*lC)20^te)(7 zuG2WoqD28n#>f1G>3JD77hgK=mr=`jQ?r}_;ofag`kYW5p7D?WOwyo~x9 zPrXXPe_F=V?Nacci7J+%eZ9w_m!6Eig6hkzaQ{i*e}y!gA^c}D@TF}{Xh&(pgIXgQ zmMVq;;VloRisbyGv2c`@W#A~C8dJYAaFm5DX;T@5f*l=11$B&N8olXuPZOq_%dTOZ zmggv>EOIu^tM0?#g0r+1P}AWoub|FOHFV9IDk`X@>>9fIG8CZ{eFc@-xWN7px4Ry1 zr@Ov_Y95FRDmAVECvT)X?FmE$Ri`F*iY3B^YlIDJ3i<9zgh@2PFiFW+iU@{Dehg;!R6iLICP_#YCh6NinB++?Omee6{S1alteaA3 zd6>knwWyaSvqnlbWtE4{>t>63NgaZE=|jB&{UErloFwX{Lq>(_r2qp86tq)>l3j*S zGU+s(2|>M7ga-hP5d+z(Uy};zrCQY)57ifTWtZx~L{=|-Ktr#H2=Nrkv=Ey#)pm9t zR`+oes^#@kVqHqCfZ?rZOsgwkMEhEZdMT=I!62|udjSTltK=@~CHIP`my*l`ourBg zxMS;xCy8_G6!bfhasnq9GabL|kM4Liz(M$?v8)xcnE_ERSvs&Mi6_2`n&o9hwU>0P zHd$AKTtDNeK_zv0TifRUmQELI)0|3higLB7XegYb%~z@uiYdB|B@E#YUSg4x!7~YX zs$KeVL0tP0g{p(31u=9w6t1wfFT1ST#(;2zvtvap4-P|Nw5wLZm|%soFjHj_vX4h{ zEAV4X1;=V4b#4$A-N-deh4b_N1v@Y zvA;H!%@|MW%IY$uPSrF>rc*TrqSz4?$GQlK^wrjdnylL5JEDBX)9A|TXj}UvAn8;N z42V%*bQBhSRT=YS+BmYWqV{w78OEn}pqSc~#MH)TG|^X+(TCbpL8bMdgXlP_rP{>S ziQiK>Ga%^h)ZgCN5{diUn181FlA@w>WH|iDI-34ZV_yPR;}-RQoYN`NsUtEZNri-r z84^O0xMU{DlqvH(Ub$wHnMGzYUR>98Wfr$v=6RlO2+5SOb53RdfBW70E&0ChdHy}m z_Iuabd#`uzz1Ci9y@U63Zj6hiae?_Wn|0DlTr53rjEg1wx_RLy(DO9NDY);WI7e~C ziNpDk?-_jEk-rZ*8tt_gThO{DPfzTE{K{YB6+B!an*Xd7i5VNT? zi7&Ujdlk@Fxav|Z;i`A}lTS-%>uDfGwS=}zZFnNxQP<({XDa23ui=(D{KK8AAhC!4 zY?P-kHSPMQEL}?a@%sGERlPDk`AsmCbRJWnwo=Dss&ymC;8^Bd<2*6&mtnF^<^$Qr z*vjDOa?mfoO^n`(w~;a3G*QI#`${lMNl!gQ16mnQI~ntPq&Esz(y`cy)G!$7So?`I zF&ODsCm%(1ONHvz2-W@CpRbzJ^!`-1H6rgXf^65Hf?FdU>pg+bz^Ts!n$Q~QSV>Oi zr(=_FZxxqsqlCaoLg3kciok#R(Q^o_vRsfWIK;}P%5APf!HVfDAFniDF`in4Ak>#H zDojVo&r0w*tX~b>X9-@QFQ<@Bt{jBN68V|`xSuTS**6hDd4A^5xqkjqrpzfVuA7^- z!FBWDdNiXA4DZ=Xks~~6gB;;Ik32#;Y>gX~2uVCgxS>QP-oefnTy0@} z?tS?z`_|e|CECG_WbLDNK&O-Yl)SAK4@Rk*?*Q(QVyL!HdqzPB@UbV#e6*CzcQUV-o3-q6r>du2u2HHEet2yK_|g>%O^ zx%HyM?O{G2!WA+zoW8Y(HizkjHkHKf&k;YVsT=MN^H;-^H2OS#KPwd8pelagr2~}G z?I~A^SH-F5B_|-g!4S?7X>?D1f*Uqd-X&s=CyJ5Uee~*LE$3grwI=>Nl zsfKU_F&zy~MeEkcn<+(hIVkT*E;y zjqQB$`Xjq?8>(b*I_KwKXvE043UXjA5TRA&3IH1XKXJLx5^^icyWkz zYRF;1RlLlfe&0_dr=5Ek9J`G0%9k6XH*w9&MD8s={xOkr!u^}qheQm&t5`~bM9xk* zLrQx6{pxi)c-0I3`JM-T z?*)@AR*n23uuHt^@GP#2cKQZNiNM|u#D7leZKzoOiF=+})l{I4vWh9`>8`i~Q_Kt3 zoIQIR%9e@9Z;7RD(3g({FU)Pt&j^Z_R!mI2KeI=PASvl?XY&(+;$ukI{FO|ZgYUue@a6-^t3rb`P=N4LaTVw`5Qq`8A(I_(7++LDq7LzDQ+_|4=C7P(=~_83>(m>1Vna zfh&VM_%A*DnfA;Wa^4137c~mD6{zERv@PD{OUNsgb;1@nbeKQVX7{ymmz;J~B z-#c-Z(_RiK`rQEhG$wc2HypSC{WfqQe=l6jeEmkH)sGLmR{n4rdTnK6F_QuGtsYc5fnyx|kD^Ewu#*%M$7 zF~uoy0<3eZvv{uMG!ZvXvS(AsMEJQgv&F`vi3Ug4p0;^fQv+}!9|u-tfHl58u?r^q zU?LuV99Fcb2G_x@MVlwP)g+4lC$r5(@`Pc;j=YWZz1FRT?|r5C@s#u{vuNTZJp3q> z-y^+RRYkRP@ipqnh_1oGGQc8U zh^~EF@zFW;ZAEjYAi9>~WPWrVlA{Q869T=2K%J0aRhK?NV3nJ76#2I};H46!sS;g3 zl~jykMUYazGKe}(g-w3jh7xiU$7* zQ|e!fx6(&)5T@kQRQT^;D`7*=sA_g~2)8kjzfdI6pGPgA04aP$1G{>?=+EysE2I*vCHOCzJH&gw@) zdfZI3D|AD+8^a7l)7ypenxvn(b@Wx~9AXT8e9$|_sjm^xZ4(!kTEq%apXLvuBpa{;Jdb((8>9kc+5E#zk3X`R^B0=HRl?giNa&fa|ODDh6Z)*(|C~g+^I(~cd&so^(5!Uo>7L+vJAfjxO*&wb@q;a#M z1)3=K`WY~dO>^^3i6B_ZUj*5r2W60*n3GqH^(y4c$E??K5Tm#?g`(#m$PQBifYWde zDf%dYd?LNV#0BUh!GZkY@VxW&y_Hr!2H7q@oF-OZp4Y<$##|G6P=ahiHkF@?sb%V@ z=UmLjrl<(AvDx_}jMaBjTzg7-yX$nI3oa9G&xOgJI40zH&NDccy<*94FH}=rT*JLU z5S?cz?p4@}PtvJ~0*x)TIpv$pL4@4!b3EkYm*bW1S8Se#kZZJ1@;rl|t~GAw=;j;h zl;~6B=a}nap^*95yVK2dWIp!pp56FeW;p+n+_8#r$e3%TxO|+{;8#f*Nux^CW&vVu zx{0PQz>d9Kk+bzzI0!A2t|K=+?u5o zzg9%v&Pxz^PYk04ORyVf4imb&yTsts^8hz9c@HC=AOCm{W5ZV5!$?$K z7tt?K%<`wVtG6mfnv$LspXWQJQZhdZrIcC%W5*gURiJTSMT&2~+B9w{-mh+>aP@6D zh`FUDi8a2z)Zi6zk%x#`;!_qiUn&Z!DHPN|C@8~K5&nil>>N?21W2<+@wy9@P~#L+ zi`p!Mn=K`UD+-)e^Ctyr4=4(B7?=6uemx?tDa$X%HRYWT)Mq(Vs@+UGmP4iX5K&O2 zIW_ozxJql6<43-A$_bS^tbj_Zf1rjdpwfdbyiWfY2QlqlRen(E#P>p_sVkt;|K3s7 z3aGU7H>$G|S1vVjKhu_$23MND67O8kA0*$oX4N4}2F1_SMNquOd9d+DgM`BI&b8x! zTW|Ac7o(35-ISNDJM!Zn)!$|V)GuGQZp6HR|vC~s^9un?#G7J zY2PaB$6#mPSKpe0nC_O-Ld!}L?6Vq4@Iocdq@?%sqR7>Tq1q9tbbYm zW$4{%Y{4$4L`Ow~$Gm^iV89+lgW7``bchVYj3qMi=Q``;f$#VwDeV6iYw$2JAdUvF zfeOPRqo4{yI7d<8fl~a)_s>#7h1bzuJM=YWuYn3{Ds}o=9K@W~dHkTlztg!2>uJlS z)6uoiUe`?ex)$0So~3B7Jhh24)Yc~VrRX^9$VGice8h{@j;@tnlCTJ@s{7LtI-{uT0I>;g#wEFY~!E`n%krOS8CGNimDkdpQr%R`kJ+ z%KOB^T{B(xGT`3rI>S__mfpTbw#>K$fEuq*ZZRz5xkwOC^3d1y!WP4TgYXIov2Fy(5|x@Z4**3L#3$Yx|tSH^F@mdqx*FVXv=QF4C(?n~`3naX&3&$&~ko z;<@>TKO%hiQR%}cZ{}~2JJdm0#gSRvIe?YXjacL>(6~f4KE9~l3 z4~pQpuLrFGI*skYHLkDDo5`*f+(Z_vm0cV1CSry%3qF^cKZh9o1;tgTq$lqeJ|%b? zvf#KUc}>z6@26eckOlX=sn|zNVIK{IecZOgnPZ&p*sYF-YPSn&haCmPLznJ<3NZ$KyG9 z?Sy{(G8Fxkr71fRaaVVyKXzjM!#j)por5Mus|R_Dh5Yne8Ik{9TP*Wm|ND8>SgGV< z$}mzmh+(YlM#pv`|Lvf7Q>Ts`QuOTs>KmDNxB$i5LVj)d&-wa5rPYu5uk#P5iPc*v z!tgX=pIBri|DAS^!ggbBf2Y#w-I&{@SD$GUKEqPFJ=kLib~&gFMx=%@`ao{&((oEMD2C@&M%e*)@*T=;Q-1ITnR_A{E=^CImoW8r z!yK!>Lf2f=9X?=4kBn|qKa06rXEA@s_&Sw1DX#T*?*`;ISd^$WO&~(lQkKGvsmtstY~H&n#DYZWwCn0 zaq{`?RS&lc$V#7xL|CdcY{(svx_`e$lj?7|P0z`fNNP#Y`1v+#h*OK-=(N`B` zvDHhm*yi~ESuT$ky!cfD`^^5IZFs*^^Zs|fDzn$}|Fgb6^Nz_e&d2IV12;0Y7kiDE<@Z`bxzLQom|D@CFg z-Y~OMD4$R&-88c>l*K4#QNE#g-!iiZl;tSNC>9i-+h*1eWi`qLlrZF+!ykId}FGczms+|2w@28`}BZp@GogT`t!)aa6-Rzi}8{a%M?(>F7l zptG_C>8rJ=Mknb}m7!-XvD4~hKP(QIZxDExSe zM1IW6V@U^C%xoNr%2&}k+g$#CF#WR4Yy=8#v^6`yzOMc1Lf*0EE$m`z3yTT0u-y?B z7COViO3t@1|1B1_e2j$+8DL@dLow!ca;*v9KB_tx$TSOhj3NvJ>Sr%3YKXC^r9DSb3EC zDD6=qQ6{4-M%jjP1Vvc`@lV30M)upiqdPvdu>G&FUiU352vYblFI_KM*q?XvX_fyo zwtHk@AsD4kD$elS!cIK3u)otR?5`K-`?6p;_RR95wQFjOA4?D48>-OTf%a{qm)T^q zWR$9fvsoXM%wpMWl|+7Q!Eucuf*&c7^LaThX&>8c)*nUXt7!UPc-4z$vwkSN4HeC% zghBQ_qTQQjvqsIbnN8PhHflwF3GF404~FIQyyj=KyZ!R%S|hVrof+9|&uqavwIG|d zTP%+IEy-r_C@)dk;2g0iS5b-uWV22vSc)+YZ&ta$M=diX#bJ%99Ty|k_4%^Zzhxv@n zVK-(9Ui;V_=D#9`8Mo%J)SWr(&D9*%ZA}h)Y0hE8Mot_srqj6L<6stl+2%42yIf}H zk?X-O*UDwbdgU_TdbupQaV~olnai%ZN}(cods2{)tcV{1kiy7G;MF4t%xZhT{-fU^<)mje3~$zlh9e*&)o3pdJQnZP3m zg2ojZO})S@Rug!jWfltsHb5{O1-#f6{ecnqw9NtFqYmf~9N7i^fqlc!f2BtAr5F0I z)I@83?F#{5SPy^z;1c8lOM#`41{?rxLFBy#e1-^`37j|u0#;!HQy~D@0ueJ57`Pt& zfzS4!KXB;p=nwQdiT=O|578gE3O~MJT&>YG`h@T4mtxf`k2@_V7I;|wh|c9&%_P^6M(mX_kdq` zeSZj8i-7{`0!QN)qdNni0LKBX2ckc42k;Ou6?hBSauE6hCjm>uX*4H+(RFcfaWDh` zhYf)M;JaZawg%XIgozyiz8`5~_kit2o0thWY@&&kUZ>G?onm7Cz&Kzy@LRNrO#|MW zVPflnj=!1M319&55%6DN4lsA7iMg!TXd-8uqM1JqGUu6CAK;DoCN=~3?*il=z@7_D zED^X0mOu!&d`a|32AHn9Mp(<<}_GBUB*z_uGqEFO4jqlqN}M{G5*bYSQ< z6DzzC`xWQ~G;hO*gK^MfyNL}3`tCHb`M?3YOl%jh;vXh<30UVKbPqh2fTi06V>^na z2kr)T1|C0#l>>ePt^_(GSvmy#cm_)kTy_>q54;F0u^B2%Hn9f4z0oNq)*T1k&zsmJ z;E@Yhdf=UFSbAXMO)MSIjg#h3@;CkTMXAl5<1$@Nm=MVran+5^fVD&(M z;09ng@ZJmb2j&9T0}sAJe_*9_^amybbAX<&(LY|J>79Z8@!0>faS#qh+8YP}c7F>2 zKojr;u=YC$01kf-0l?)zm+dglPtZM(K127wmS15zKvOn!542_`b`H4M%FNyZN9oPX zZihybgWpQ434Bt-%tCiWqhnDs8wJK#;8I{J@BnbDota$&lD(N_0@HxTov?a**0(0` za4`q~HY|?*z?NmuA6Uc1%nkvoR4}t!!26zNW&-+DGPBaVFu=-Y)&Mxh$IQA%<6uTD zGn)oCC2&2HF23o~;A?g=upK%jM7Gm8Xf|6*pdfx+#} zEFS3H-prDK%R-Uq0ta_6GpjuqNJlgC1cr1*f8d{8%q%(*2mj$em7D4-|smmUxR90803ZU)W<8p6<@V^8!49s{NU-NVs;uSU}!=n4D)32mr1JCIO4|h5+CMpw&K&<~h(47}^H{fG2^GK<~cj41ir2IvWN z8w3HsSYRZu{b2M5<^bb?SBIcK&^ZeIffa_L{{aM}VdxM11PlZ|jvfvHI4C><0)UYt zAplr%w3(d)HUOpr#{dieiKPa50V|F%vtZx^;9y`na6T|;teNcs9*jkQ;0s_n(0eiZ zAB4Om=nw3_0{wx}xi}b%gH9_U0N8$&ne7E$0bT;W2fhXNT#fDX7nU4Y4H!*k))sgH zI1Km(xCr?B8uSO=T#Np|lsNPU9$Sb0hcp_$_2>@_1-3ne{a z9X4V60cQa-IpQaDjDKr1HMd~<0eb;Mfwo)GAGjH~6qp4(06e!H{eez9%I zKhPru{ei21hk%!Ww}4-OUx4-((f zz%Rg^z!FEH+v^YjjJ*K?z|^i5HV#;{n}w|eP68eR`gOH`75e*GW-c)vdc9LKiA1!`TOH?T7>95@bm z9=MX@So8-@7>EAAC%`YjPUF%41Z)LZ7r1MxC7N}{LG&~T0A>SM0z3W+0l;5@w}2~v zUw|RgA>bsUT{Hv$KLR@gkIz7VV5wQ?4@?3c0-l>=VfTOw=2@7D)40MeeF`yQA+9lj z$%`PMI}V;Nwy;S+{SsW50xJWL0G*aW0Pyp22mp3j2?3|!qE|rxu=;BB2R;Q(0_q6; zfov`M18vu#KQIz#0VjOB20XhE*JtN&-q>8`30!6OodrhY;1UiZfnR{Lfj)-sEFKsR zOaeXyrUCode`i+b;Xr_%Kv#$FECARP*ax`B1^t29z<8ifIrImP1*QRib4C9P;Fm{# z;0j=LAP$W9;igF7P2gqMcH7Sx;`%KFWHWo?Tx|=3weDkxolRkl z3s{qeAjfV*1B*MjYF{>`xg6h)r5!-st_k00U5G;&N-geS<$iy{H`cAzk5W3;Ql*rR z!W?&zbqVy|ypJkz{C;TcIZ8W#x*aFJQQ0r{kY2*UN^5nBUh>+B zXUN(K*gBaiaXfLJf;d*ZOanPCzD9F7X5FM69Q)j*WRB+_&`XXPsbpOe(tE%7MvO}j zC<*E3UQiIY+BY9*AjeDAG?%vuamo^{5_zk?oG6*shE}GR9H+M=>r%j9J5nW%x^M~t z>a2h&!*E#-&Wjc!?%|>NC5Iwzdj(8Ab(z2-0C)6Z?sQW^U z&nAt_0I}p4YOKa$Tp*faT&+AooOzMO8Wj4`#OoANO*|0w_g`i)eEQ~xjnq%6cLOUD z^=|1|RJDRbIT}?CN}K;ijDVJMD&%bzJ+#GUIsi&r4nJC24wGB)P7I7Pd7FKp_*BX0 ziZ<`w^969Gnw*%NN%dSY@jpKD1#qTOoVhQHuY#-f-f{3j7K%dy-DZ|W$6X!DX+LS` zfh(41x|K;;2g=7=?Db^%Q}2+Sk@J9jM!0 z*hGIEv3IiNQ@w@;e;1)s<)N((MjBBCFJ^?0Sy!=bD`9*3Q2G!82#;jl+@6Z^ZsA{@wDgf!H@Zz0ELH5Drs zDAnx=;w*@VuQAv_5E>fo3E`1AEKAF9XgwQ;Zb95Go%QiJ?nBqXwn@U_p;l5%8i=~V ziq(|STTR1er&<*u#uJA_s6$1EQi=r!f*jGB?+;fBt%RLtX$$*?Ezu}Y+8XU>LM0f{ z$@a9m5{#&ASH;Mcu9@gsuLnH=-#rdD8lU~RK-$O33b}z-_g6TV-rQncDWI~0RUy2- zRoS5wg?_TPqCQ|~=k})uFin~PLU%dRq&Owo%&CWezFjHft`>*MJd$B6BGJzcficaR0B3*U*;@Icn~Hw4XHg0LP2;`?q2tBMva ze;12xy%)?*zf&A%9^_0O4Bvvu39bkmyP3#eLGbuzT@8fIK60*xvz^+2W3q)5K$`87DR$d36Tmtb%CEkK)a7gyCo1@XpQHg3GZm2|C5as`t&4z&(rV@)l994HXcu?R$kBVx;>@;C-{nA z0ug$Yj@88a>5iG`v;m82HxCK>F|vTEbvjPYwNROJ9KQ|ED~F+S#|aAK%+V)B_^{av z<}^;&A$lFCh0t{56dkLD?GuzpPta5woJij}_Ddw!+Q3nX)C8!zorvvQQ;cel{ibMxR7TL=?TZL59vEc=SSpP2Uz$qH38~ygP9s3 zdRQ-AfLj+&X*!sd|H0knoC3nLgcAqP1?3jnu6t&pHhW;?UqDzuDCS>cp&%6VuM48p za}yQ)9nCs}SO9|iB%5&{s-}sxv{?zFD~OAbR{0Q!Zn$}!Sm5->^X7I7^;u}lw^ZdX zAQOy4qvR7dxnWdp670rx0wv;4TinC9*7taRWVg^=zn%HSOe z+nJU0+s1z}(i0F$dK(U+CJ3J1+Drqn3WRbEupY!SJ6hNPedjrt=_>b z5`YhI zX(-@CM!x9@+K_5*cIADF2T(s64I;qK`}de18(ACi4D;M9lQpkWsesa-Q% z8SQ^$rmBC!4&u?+;juLRBoLJzE2d91GwiKw(!lURt>PlB*1)%dQ0&K35{mrC;qzAXsXQA*@LMy(O`d#JY9sTOFdp^G(3r=h z%1I#3qH$um9~$e9ms5w9hWdWC7I95)6^9#wAe3u*PY`h+_%*#vAc*-zEn<8g+ny)#CNp=>+Z$&48SZ;?Gv#S4i>e%Xer$)V%pM~k%f2{vrL9Mr1hkI!~ zEo`&y$NF_TwcZo;gL>mWE2{HMIzP+?YXZ^012^NZ7ie&a_gB;siTYcpf86B<0lIr# z)Dz4`{j$TD8h3K>AfA92Y5|c1V%AZM@UdwiZiC<}5N)*{PYjOX-7JS6We#;vWqP9i z!+G3ixB9XE4=c4k5cRWglXz#*AM3XkRqG>BZ~MT)l1lzqf4ZcsFRYo32KzIiHf}fZ zAU=Zl&;&#hh~=LI5tIg^&KEovD6oGW^7gOQ2HaErYGD<{(yH$RUXSe~e_R-PPN z!M~KQM)g`@3m#cUT{(_hP7^pzTtTZjj@(Lzfx30aa}#FO}N+uq1>%l+S;M8ZZNOH{VtnJsG12v*_3ZVECsHbCzL=U*J2^wA#KnPA!HP|3z)$^#o10G`S!|KcI6M2(xha^&;aX2nNs zIgeg$qQ>o~c1BOp&fmST(yrcT(JuI>c6}O%c3IzeJEw$ue>=>d7&2_3UTN1swmw<~ z3xscX5B$wq;XIUlyveWdzdaTF;ga8fpy2m^mawO~v0kC*f1Zm56=VZTA<-aB@^PW7 z{OP2?{%NAUo8*Tt5bbA4zD4rY0sQ)+-~jxvbNPTX1V38ig%k3>Ia1KuSE9oJ!PeX@ zEjn~a7yLSs|5Wm4OMXkqH%b0^$+wsCf0y#_z7}$}DD5%5YqDZehN$?BJ6!y|mVEO& z!S5mk*&wawGnix&{0yuN|GR}tD9-PfE%F_)6SuAv<c9#79tps0HO#{h))rhLPN0M2zt}GL>I#jQ{ONxPesgsO>t#iSBcei`!3oLVcf6pW zRLQ@Tl;B*)Xl)by=8k9}G>Y4?a_Uic1>a51P<0FoC0|_<)iGpAzUmhOq?{ho?^cj< z)TP}k_|Y0w5I*Fk=(Nm3abk@$`)&gz|B>MDlY&%TtW6huRTZkyynZkERb_j1KL>si ze6gP~ZDm8ln5N5$pZD`#$yfLDvw31bwLS|$s!xx`MF2O-nUas^JIdcW$^Rnxk0f95 zkiO_}%3g$$pIzif$!{q;s4lXe1Knt342teqQuO;-bq^%pP4-h&XOVn$#Z^@dDkbFf zlkL@&Jums{%Bm{8Q(9>stx>f@m*HAfaSq;|*hUh022Y^Xhe$e0BBI2)S1Be_plHUP6w#YU*k?kbE^DsjCoF zMQNYE3aWt_1BIXh0Rw6dk^Gk*rWhs@j8D z@>P3KLv6VZLXaA2)okcgN5NOKA$2Riy({?YR#pwS)V;zQWi{0ktCl+(75q=NT-6YN zf1KbLYJ91Wj{i?I_}K_NQU%{l>5do2u*Q5zT1dWnB6WrbBwwAOY8*~7J5+awI^w~C z|3AInZQ0>xlfV5%3<#=G{?sLj_%8VBlBhG^B>4%ly=nuaT#6_hVFPw}5kUGT5VB~?8{p&Y?imsIr- zBP3sV2;9w;4x$bd?NtYHUdq=svK1Mfa$Sv+yp|Pq_lqj0R0m{>FZuB8kS_TiGDfRb zIZ_A9!k=oDd1h}V`07AaYrQS`*r)u?1Kz`uk>R0j!l%_npR&b+1pN+sz@_#mh!IG~!U)8$b34XN9bo29~VN1jb+?4U+@}aU=l0}lgQSwzQ_FgL5 zt5&QU+2IX>|FelCN6XBN;woHwi(i=Wv!r;I~=u2gre* zlkGQ2J{}e;f3Nt&{Gk_@EuzCevcewDjvK*$lCSPVdne&5k8Kt08&b2w4&}-8mvN1D z>K$5s$QYp=U4=d!GWs|NUeGJjR>%-Dwu+Fs@d^3;ZQP-4-hrO|Z47cQT1Mnpzli3V zcyH0}RuO7`*cep%-c#WQS4%@IjgRp1vAruLEZtp>*;n%aen`g-zc^1Y?j^=Sfq5y6vn8{gYrEuRD}em>L~1_Rb3p@$?>Rhf_AS5Ej((Bustd71azxKpN<;4hBR+ztBl}`oWV?ddYSic zv_Xu}!f(0ZZ@c6twGn(*Yr#*H{12(L{20cQu~5`2F9)HCOHCnfKqY#Bdj9CZ_P8-9 zByNsq_e_Y8JCI--9OCpwFIZTM4)I)xSQ{f!O+YkR&EDqkQiq9m6qz4MQo;zsIC5*3c2YPS` z;~P7G+%JQ!kxCseV_Yw8(m_raGSIWjsQ=HIyssD+JJ)?D7DiowA+3bGBf)gz3S7m4 z?}e%CRb%zq2g5}}{P=qp(|8fJ$#@E2oXm>BcSN z;@bOTh1{?5yj9u@xw}$@V%kZ5pyZdoPs?w^vTUx3e!qz6YqrSxW?q61hok(Rmi#M` z^yxOvA9bDl?x6oZd(p0|Y}YGPocHRV;=Grn+^Le^awWyxF`m-i-ArM3F@8&5TF9}Z zD;>Lw_3Q2`;ja9Vy3?fb%0aV+IepYCCOR`jEp_l-WfuBCQB>+VX=?qi@8+L8AIoN(z-%6I@;^B>iI2#mWxQyxOVprW+rAuP1RBI@`Et}f6h zb9w3Nle&okoEj_!Hcn0`P4eS(bm0-?IKt&}EZl*-A4C3@AvESO=xdK?>thW3)^u`y z0($oV3gI~R5={Zt9y(OWttjQjhDpW!WGK5O-=Q=;cw&rjc9gexH_LvF@!M|P&?@;; z$N!9{LcYtL@kZ9S#xJb#`i`%}`BVcOAo*G1K7uAuwx1#S9vKvtigoGjB-SNI)_;}t zlU^2-R~$ck$Io*(g>Ix8PdUd(xou=Wy9iNV{VnZzighabl0H4f`m`ELQO}@d5zUg@)IS0=2z0DVZ&YOEc%5@*IBl& z==bLi3Q05G(Jnej?k~9KJ4rKN;JgQ4(S;WnkB1dCe+djKN5?o$?nAX-!9a^x33+Nr z&x{oEHolP^ctjRPH( z|5gDR4MvIaOs_$3}rW4jL& z_XX{P?$fg`u<{QM6!sPLs7%_*@wfVv@zpp%7n56<`hPRFbZ-AZ*e|S9`71q92(0yj z&VGXcS6A}OLdWv($5}W**&6gL3vp~l5xQZ*0Bc5(){J&9%hME&uA%e^SUb#3C`5TE z4ar@m3b}P;hV)*ZZ?xo3@t`;h&hrSD=h+$U!`+odY`U3H8gtxF=SlvpE=d*XMLFm$w^2&w#aW7(~8+?`qD*4U-rRLu;&!T1N*muOK(|ss}0d+=tz~D|w%3DEUqMN4COd+pu z#wx#J5!!2CR>c+b(eB7zbpdet)hbJ|#UUw$#2CWm7*5R+eXOKzR9E{%@^j=Z4tIGD z-E28#Yr0VgC%Ms_YHN!HX}67|DI5=K=q$$)AIMgR(`NQ2KaSU|D2n5+&nZqO9yL=QBy@Br=4z$wzBge^@nQoDX@~4hcu=C){z6)R zcUoAo*aU68&!jDdllwfL*RNEugnp$QllN%9>XFww`V>2|)1Zu1#Uk|QV?)V==(CPR Gto|QxM0A}1 diff --git a/tests/parser_test b/tests/parser_test index ab4987ed671672e1e452359e9aeabb5cca5b516c..1efca0b786494f9cf6f0c9a6e27093d4fe809280 100755 GIT binary patch delta 107791 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