From 8fb76e65691e273559b182cc28b5e7a93886be0e Mon Sep 17 00:00:00 2001 From: sophiathedev Date: Fri, 14 Aug 2026 14:19:04 +0700 Subject: [PATCH 01/19] feat(explain): visualize MySQL tree plans --- CHANGELOG.md | 1 + .../Core/Services/Query/QueryPlanParser.swift | 298 +++++++++++++++++- .../Services/Query/MySQLPlanParserTests.swift | 155 +++++++++ docs/databases/mysql.mdx | 2 +- docs/features/explain-visualization.mdx | 12 +- docs/images/mysql-explain-analyze.png | Bin 0 -> 637152 bytes 6 files changed, 462 insertions(+), 6 deletions(-) create mode 100644 TableProTests/Core/Services/Query/MySQLPlanParserTests.swift create mode 100644 docs/images/mysql-explain-analyze.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ac0b3477..0c5573ca7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- MySQL `EXPLAIN FORMAT=TREE` and `EXPLAIN ANALYZE` output now renders as a visual plan diagram or tree instead of raw text only. - PostgreSQL array columns of a simple type, including arrays of an enum, get a list editor in the data grid. One row per element, with reordering, add and remove, and NULL per element. An empty array and a NULL column stay separate values. Enum arrays pick from the labels the type declares. Arrays of `jsonb`, `bytea` or composite types, and multi-dimensional values, keep the plain text editor. ### Fixed diff --git a/TablePro/Core/Services/Query/QueryPlanParser.swift b/TablePro/Core/Services/Query/QueryPlanParser.swift index d2acc3bfb..03f2bca6f 100644 --- a/TablePro/Core/Services/Query/QueryPlanParser.swift +++ b/TablePro/Core/Services/Query/QueryPlanParser.swift @@ -83,14 +83,24 @@ struct PostgreSQLPlanParser: QueryPlanParser { } } -// MARK: - MySQL JSON Parser +// MARK: - MySQL Parsers + +struct MySQLPlanParser: QueryPlanParser { + func parse(rawText: String) -> QueryPlan? { + MySQLJsonPlanParser().parse(rawText: rawText) + ?? MySQLTreePlanParser().parse(rawText: rawText) + } +} /// Parses MySQL and MariaDB `EXPLAIN FORMAT=JSON` output. /// Handles both MySQL's flat structure and MariaDB's nested structure /// (query_block → filesort → temporary_table → nested_loop). -struct MySQLPlanParser: QueryPlanParser { +struct MySQLJsonPlanParser: QueryPlanParser { func parse(rawText: String) -> QueryPlan? { - guard let data = rawText.data(using: .utf8), + let trimmed = rawText.trimmingCharacters(in: .whitespacesAndNewlines) + guard trimmed.first == "{" else { return nil } + + guard let data = trimmed.data(using: .utf8), let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any], let queryBlock = json["query_block"] as? [String: Any] else { @@ -205,6 +215,288 @@ struct MySQLPlanParser: QueryPlanParser { } } +struct MySQLTreePlanParser: QueryPlanParser { + private struct RawNode { + let depth: Int + let text: String + } + + private struct ParsedMetrics { + var estimatedCost: Double? + var estimatedRows: Int? + var actualStartupTime: Double? + var actualTotalTime: Double? + var actualRows: Int? + var actualLoops: Int? + var wasExecuted = true + } + + private struct ParsedNodeText { + let operation: String + let relation: String? + let properties: [String: String] + let metrics: ParsedMetrics + } + + private static let maximumInputBytes = 2_000_000 + private static let maximumNodes = 10_000 + private static let maximumDepth = 128 + private static let numberPattern = "[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][-+]?\\d+)?" + private static let actualMetricsRegex = try? NSRegularExpression( + pattern: "\\s+\\(actual time=(\(numberPattern))\\.\\.(\(numberPattern))" + + "\\s+rows=(\(numberPattern))\\s+loops=(\(numberPattern))\\)\\s*$" + ) + private static let costMetricsRegex = try? NSRegularExpression( + pattern: "\\s+\\(cost=(\(numberPattern))\\s+rows=(\(numberPattern))\\)\\s*$" + ) + private static let neverExecutedRegex = try? NSRegularExpression( + pattern: "\\s+\\(never executed\\)\\s*$", + options: [.caseInsensitive] + ) + + func parse(rawText: String) -> QueryPlan? { + guard rawText.utf8.count <= Self.maximumInputBytes else { + logger.debug("MySQL TREE plan exceeds parser input limit") + return nil + } + + guard let rawNodes = parseRawNodes(rawText), !rawNodes.isEmpty else { return nil } + + var index = 0 + func build(parentDepth: Int) -> [QueryPlanNode] { + var nodes: [QueryPlanNode] = [] + while index < rawNodes.count { + let rawNode = rawNodes[index] + if rawNode.depth <= parentDepth { break } + index += 1 + let parsed = Self.parseNodeText(rawNode.text) + let children = build(parentDepth: rawNode.depth) + nodes.append(QueryPlanNode( + operation: parsed.operation, + relation: parsed.relation, + schema: nil, + alias: nil, + estimatedStartupCost: nil, + estimatedTotalCost: parsed.metrics.estimatedCost, + estimatedRows: parsed.metrics.estimatedRows, + estimatedWidth: nil, + actualStartupTime: parsed.metrics.actualStartupTime, + actualTotalTime: parsed.metrics.actualTotalTime, + actualRows: parsed.metrics.actualRows, + actualLoops: parsed.metrics.actualLoops, + properties: parsed.properties, + children: children + )) + } + return nodes + } + + let roots = build(parentDepth: -1) + guard !roots.isEmpty else { return nil } + + let rootNode: QueryPlanNode + if roots.count == 1 { + rootNode = roots[0] + } else { + rootNode = QueryPlanNode( + operation: "Query Plan", + relation: nil, schema: nil, alias: nil, + estimatedStartupCost: nil, estimatedTotalCost: nil, + estimatedRows: nil, estimatedWidth: nil, + actualStartupTime: nil, actualTotalTime: nil, + actualRows: nil, actualLoops: nil, + properties: [:], + children: roots + ) + } + + let executionTime = roots.compactMap(Self.totalExecutionTime).max() + var plan = QueryPlan( + rootNode: rootNode, + planningTime: nil, + executionTime: executionTime, + rawText: rawText + ) + plan.computeCostFractions() + return plan + } + + private func parseRawNodes(_ rawText: String) -> [RawNode]? { + var nodes: [RawNode] = [] + var indentationStack: [Int] = [] + var pending: (indent: Int, text: String)? + + func appendPending() -> Bool { + guard let pending else { return true } + while let lastIndent = indentationStack.last, pending.indent <= lastIndent { + indentationStack.removeLast() + } + guard indentationStack.count < Self.maximumDepth, + nodes.count < Self.maximumNodes else { return false } + indentationStack.append(pending.indent) + nodes.append(RawNode(depth: indentationStack.count - 1, text: pending.text)) + return true + } + + for line in rawText.components(separatedBy: .newlines) { + if let nodeLine = Self.nodeLine(from: line) { + guard appendPending() else { return nil } + pending = nodeLine + continue + } + + let continuation = line.trimmingCharacters(in: .whitespacesAndNewlines) + if var current = pending, Self.isMetricContinuation(continuation) { + current.text += " \(continuation)" + pending = current + } + } + + guard appendPending() else { return nil } + return nodes + } + + private static func nodeLine(from line: String) -> (indent: Int, text: String)? { + let leadingWhitespace = line.prefix { $0 == " " || $0 == "\t" } + let remainder = line.dropFirst(leadingWhitespace.count) + guard remainder.hasPrefix("->") else { return nil } + + let text = remainder.dropFirst(2).trimmingCharacters(in: .whitespacesAndNewlines) + guard !text.isEmpty else { return nil } + + let indent = leadingWhitespace.reduce(into: 0) { width, character in + width += character == "\t" ? 4 : 1 + } + return (indent, text) + } + + private static func isMetricContinuation(_ line: String) -> Bool { + guard line.first == "(" else { return false } + let lowercased = line.lowercased() + return lowercased.hasPrefix("(cost=") + || lowercased.hasPrefix("(actual time=") + || lowercased == "(never executed)" + } + + private static func parseNodeText(_ rawText: String) -> ParsedNodeText { + var text = rawText.trimmingCharacters(in: .whitespacesAndNewlines) + var metrics = ParsedMetrics() + + if let match = match(Self.actualMetricsRegex, in: text), match.numberOfRanges == 5 { + metrics.actualStartupTime = nonnegativeDouble(capture(1, from: match, in: text)) + metrics.actualTotalTime = nonnegativeDouble(capture(2, from: match, in: text)) + metrics.actualRows = roundedInt(capture(3, from: match, in: text)) + metrics.actualLoops = wholeInt(capture(4, from: match, in: text)) + text = removing(match, from: text) + } else if let match = match(Self.neverExecutedRegex, in: text) { + metrics.wasExecuted = false + text = removing(match, from: text) + } + + if let match = match(Self.costMetricsRegex, in: text), match.numberOfRanges == 3 { + metrics.estimatedCost = nonnegativeDouble(capture(1, from: match, in: text)) + metrics.estimatedRows = roundedInt(capture(2, from: match, in: text)) + text = removing(match, from: text) + } + + let presentation = accessPresentation(from: text) + var properties = presentation.properties + if !metrics.wasExecuted { + properties["Execution"] = "Never executed" + } + return ParsedNodeText( + operation: presentation.operation, + relation: presentation.relation, + properties: properties, + metrics: metrics + ) + } + + private static func accessPresentation( + from text: String + ) -> (operation: String, relation: String?, properties: [String: String]) { + guard let onRange = text.range(of: " on ", options: [.caseInsensitive]), + isAccessOperation(String(text[.. Bool { + let lowercased = operation.lowercased() + return lowercased.contains("scan") || lowercased.contains("lookup") || lowercased.contains("search") + } + + private static func leadingIdentifier(in text: String) -> String? { + let trimmed = text.trimmingCharacters(in: .whitespaces) + guard let first = trimmed.first else { return nil } + + let closingCharacter: Character? + switch first { + case "`": closingCharacter = "`" + case "<": closingCharacter = ">" + default: closingCharacter = nil + } + + if let closingCharacter, + let end = trimmed.dropFirst().firstIndex(of: closingCharacter) { + return String(trimmed[...end]) + } + let identifier = String(trimmed.prefix { !$0.isWhitespace && $0 != "(" }) + return identifier.isEmpty ? nil : identifier + } + + private static func match(_ regex: NSRegularExpression?, in text: String) -> NSTextCheckingResult? { + guard let regex else { return nil } + return regex.firstMatch(in: text, range: NSRange(text.startIndex..., in: text)) + } + + private static func capture(_ index: Int, from match: NSTextCheckingResult, in text: String) -> String? { + guard let range = Range(match.range(at: index), in: text) else { return nil } + return String(text[range]) + } + + private static func removing(_ match: NSTextCheckingResult, from text: String) -> String { + guard let range = Range(match.range, in: text) else { return text } + var result = text + result.removeSubrange(range) + return result.trimmingCharacters(in: .whitespacesAndNewlines) + } + + private static func nonnegativeDouble(_ text: String?) -> Double? { + guard let text, let value = Double(text), value.isFinite, value >= 0 else { return nil } + return value + } + + private static func roundedInt(_ text: String?) -> Int? { + guard let value = nonnegativeDouble(text), value < Double(Int.max) else { return nil } + return Int(value.rounded()) + } + + private static func wholeInt(_ text: String?) -> Int? { + guard let value = nonnegativeDouble(text), value.rounded() == value, + value < Double(Int.max) else { return nil } + return Int(value) + } + + private static func totalExecutionTime(_ node: QueryPlanNode) -> Double? { + guard let time = node.actualTotalTime else { return nil } + let total = time * Double(node.actualLoops ?? 1) + return total.isFinite ? total : nil + } +} + // MARK: - SQLite Parser /// Parses SQLite `EXPLAIN QUERY PLAN` output (id/parent/notused/detail columns). diff --git a/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift b/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift new file mode 100644 index 000000000..e84c39151 --- /dev/null +++ b/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift @@ -0,0 +1,155 @@ +import Foundation +@testable import TablePro +import Testing + +@Suite("MySQL Plan Parser") +struct MySQLPlanParserTests { + private let parser = MySQLPlanParser() + + private let analyzeOutput = [ + "-> Inner hash join (t2.c2 = t1.c1) (cost=3.5 rows=5) (actual time=0.121..0.131 rows=1 loops=1)", + " -> Table scan on t2 (cost=0.07 rows=5) (actual time=0.0126..0.0221 rows=5 loops=1)", + " -> Hash", + " -> Table scan on t1 (cost=0.75 rows=5) (actual time=0.0372..0.0534 rows=5 loops=1)", + ].joined(separator: "\n") + + @Test("Parses TREE hierarchy and ANALYZE metrics") + func parsesTreeHierarchyAndMetrics() throws { + let plan = try #require(parser.parse(rawText: analyzeOutput)) + + #expect(plan.rootNode.operation == "Inner hash join (t2.c2 = t1.c1)") + #expect(plan.rootNode.estimatedTotalCost == 3.5) + #expect(plan.rootNode.estimatedRows == 5) + #expect(plan.rootNode.actualStartupTime == 0.121) + #expect(plan.rootNode.actualTotalTime == 0.131) + #expect(plan.rootNode.actualRows == 1) + #expect(plan.rootNode.actualLoops == 1) + #expect(plan.executionTime == 0.131) + #expect(plan.rootNode.children.count == 2) + + let tableScan = plan.rootNode.children[0] + #expect(tableScan.operation == "Table scan") + #expect(tableScan.relation == "t2") + + let hash = plan.rootNode.children[1] + #expect(hash.operation == "Hash") + #expect(hash.children.count == 1) + #expect(hash.children[0].relation == "t1") + } + + @Test("Extracts index details from access nodes") + func extractsIndexDetails() throws { + let output = """ + -> Index range scan on `orders archive` using `created_at_idx` over (created_at > 1) \ + (cost=12.5 rows=42) + """ + + let plan = try #require(parser.parse(rawText: output)) + #expect(plan.rootNode.operation == "Index range scan") + #expect(plan.rootNode.relation == "`orders archive`") + #expect(plan.rootNode.properties["Index Name"] == "`created_at_idx`") + #expect(plan.rootNode.properties["Details"]?.contains("created_at > 1") == true) + } + + @Test("Accepts engineering notation and averages across loops") + func acceptsEngineeringNotation() throws { + let output = """ + -> Table scan on huge_table (cost=1.23e+9 rows=934e+6) \ + (actual time=934e-6..1.2e+6 rows=1.23e+3 loops=2) + """ + + let plan = try #require(parser.parse(rawText: output)) + #expect(plan.rootNode.estimatedTotalCost == 1.23e+9) + #expect(plan.rootNode.estimatedRows == 934_000_000) + #expect(plan.rootNode.actualStartupTime == 934e-6) + #expect(plan.rootNode.actualTotalTime == 1.2e+6) + #expect(plan.rootNode.actualRows == 1_230) + #expect(plan.rootNode.actualLoops == 2) + #expect(plan.executionTime == 2.4e+6) + } + + @Test("Joins wrapped metric lines") + func joinsWrappedMetrics() throws { + let output = [ + "-> Filter: (users.active = true)", + " (cost=4.2 rows=8)", + " (actual time=0.01..0.03 rows=7 loops=1)", + " -> Table scan on users (cost=3 rows=10)", + ].joined(separator: "\r\n") + + let plan = try #require(parser.parse(rawText: output)) + #expect(plan.rootNode.estimatedTotalCost == 4.2) + #expect(plan.rootNode.actualRows == 7) + #expect(plan.rootNode.children.first?.relation == "users") + } + + @Test("Keeps nodes that were never executed") + func keepsNeverExecutedNodes() throws { + let output = [ + "-> Nested loop inner join (cost=5 rows=1)", + " -> Table scan on users (cost=2 rows=1)", + " -> Index lookup on orders using user_id_idx (cost=3 rows=1) (never executed)", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + let skipped = plan.rootNode.children[1] + #expect(skipped.operation == "Index lookup") + #expect(skipped.actualTotalTime == nil) + #expect(skipped.properties["Execution"] == "Never executed") + } + + @Test("Falls back to the existing JSON parser") + func parsesJSONPlan() throws { + let output = """ + { + "query_block": { + "cost_info": { "query_cost": "1.25" }, + "table": { + "table_name": "users", + "access_type": "ALL", + "rows_examined_per_scan": 10 + } + } + } + """ + + let plan = try #require(parser.parse(rawText: output)) + #expect(plan.rootNode.operation == "Query Block") + #expect(plan.rootNode.estimatedTotalCost == 1.25) + #expect(plan.rootNode.children.first?.relation == "users") + #expect(plan.rootNode.children.first?.estimatedRows == 10) + } + + @Test("Wraps multiple top-level iterators in one synthetic root") + func wrapsMultipleRoots() throws { + let output = [ + "-> Table scan on users (cost=1 rows=1)", + "-> Table scan on roles (cost=1 rows=1)", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + #expect(plan.rootNode.operation == "Query Plan") + #expect(plan.rootNode.children.count == 2) + } + + @Test("Rejects malformed, oversized, and excessively deep input") + func rejectsUnsafeInput() { + #expect(parser.parse(rawText: "") == nil) + #expect(parser.parse(rawText: "not a TREE plan") == nil) + #expect(parser.parse(rawText: String(repeating: "x", count: 2_000_001)) == nil) + + let overflowingTime = "-> Scan (actual time=1..1e308 rows=1 loops=1e18)" + #expect(parser.parse(rawText: overflowingTime)?.executionTime == nil) + + let excessiveDepth = (0..<130) + .map { String(repeating: " ", count: $0) + "-> Node \($0)" } + .joined(separator: "\n") + #expect(parser.parse(rawText: excessiveDepth) == nil) + } + + @Test("Factory uses the composite parser for MySQL and MariaDB") + func factoryUsesCompositeParser() { + #expect(QueryPlanParserFactory.parser(for: .mysql) is MySQLPlanParser) + #expect(QueryPlanParserFactory.parser(for: .mariadb) is MySQLPlanParser) + } +} diff --git a/docs/databases/mysql.mdx b/docs/databases/mysql.mdx index 44b79c2fc..384a8cdfc 100644 --- a/docs/databases/mysql.mdx +++ b/docs/databases/mysql.mdx @@ -58,7 +58,7 @@ Turn on **Cloud SQL Auth Proxy** in the connection form and enter the instance c ## Query Plans -**EXPLAIN** and **EXPLAIN FORMAT=JSON** results render as a visual plan diagram. See [EXPLAIN Visualization](/features/explain-visualization). +**EXPLAIN FORMAT=JSON**, **EXPLAIN FORMAT=TREE**, and **EXPLAIN ANALYZE** results render as a visual plan diagram or tree. Plain multi-column **EXPLAIN** output stays in the results grid. See [EXPLAIN Visualization](/features/explain-visualization). Visual EXPLAIN plan diagram diff --git a/docs/features/explain-visualization.mdx b/docs/features/explain-visualization.mdx index 8a7db3c9b..5f6e9e0f2 100644 --- a/docs/features/explain-visualization.mdx +++ b/docs/features/explain-visualization.mdx @@ -7,7 +7,14 @@ Click **Explain** in the query editor toolbar, or use **Query > Explain Query** Databases with multiple EXPLAIN variants show a dropdown: PostgreSQL offers **EXPLAIN** (estimated plan) and **EXPLAIN ANALYZE** (runs the query and shows actual timing); MySQL and MariaDB offer **EXPLAIN** and **EXPLAIN (JSON)**. Databases with a single variant, like SQLite or DuckDB, show a plain Explain button. -Typing an `EXPLAIN`, `EXPLAIN ANALYZE`, `EXPLAIN FORMAT=JSON`, or MariaDB's `ANALYZE FORMAT=JSON` statement in the editor and running it opens the same plan viewer, as long as the plan comes back in a single column. Multi-column plans like MySQL's plain `EXPLAIN` table stay in the results grid. +Typing an `EXPLAIN`, `EXPLAIN ANALYZE`, `EXPLAIN FORMAT=JSON`, or MariaDB's `ANALYZE FORMAT=JSON` statement in the editor and running it opens the same plan viewer, as long as the plan comes back in a single column. MySQL's TREE and ANALYZE text output is parsed into the diagram and tree views. Multi-column plans like MySQL's plain `EXPLAIN` table stay in the results grid. + + + MySQL EXPLAIN ANALYZE rendered as a plan diagram + mDk>|S&hOoO*m3XPO@~8+ z{LWuIr=oHo?xCC73D>6e#M4JNFIjH?`@vD?Rmp39Ke&9yY~rThHmk2X7_YvkK5={5 z^+2uFxud`BYyYp(Xleh+u>*1_S_D9VB>o8 z^g|nun`W9lb&a8$@k>-rX46v7Eq>gt7IFOACh&Nh&&Mi9!?lMt31hxP%z|#M8r-+4 z_xFu95RX?h7v({SASh$ZC?g6#vix}c&J&*(ohjLsisUGr8kMFIC3gm(xjx5e_ixty z=6fpw_rTJ~Del{5{5Hp=`0FP&s;t%0P@8&~mi~OXJnK$f zrF>wvadyuu<;mofsv~2*JtqyB_Yfl|($pBQ2T!QzD3twe-HU^;QlJ|U^HAlk#s<3GPx>H_tzzqy;~N~B!?(sDhv;+NKiQ^j3N31f4ZsNv*;lI z*|aEWGgZ}RlNNK^vWHuY^tW7hxVKtaYlO&Mti9JX_ltr+0~L5_Yo4u%)vlk8-#-7& z*y5h{?<+PhTYV`+m7yl8sU7$RI_{s9fLqbXuP08YwK-ycFFrVG$jCA^y`M0%b8*-n z`QsUHPxDAc4cU9-tiXotxCG@AT3=^x*3C48!@tkv`;zh{3x znY%7<@%G7IJL3y|V;^GA*28t&Luw1^HRn@Q!}sT>o1u=UJC?XsxF*pZj(JrET&bKn zH$=ThO^&lHm^rB{Zd~;qyXG3(=21aP!A6xY%A|3D@Hf9{%60QzO7J1PYL#@fs;Y|S zRos@NA{*62s>fCa@4hGwJfhm)viaH{#~%*{58qUw=!S`fW2(O1nisuc)T))(MaWgl z|Jbwkwpx?7&MZPB54|C6>BzPE$4eeud+4qAa>?ncD~DBuSLKh@KVE0|YX$4OFLA5B zR2*4ajc!x(i~%jbes7gd&F{0T!F6liJ7lfiJs7jZaNxl9`|-~GS3xo6z-R_LmJs$@)X6A^4pq<1aNY+&J}wePs8SJ+*Dvu-`J`sP-D| zXTqSTt{u-QYu`U>6RBTu=gJdWJAQ@t1#Pfpy{`H0hWe-P)^1l#@zHp9G*|acgU-A4 z;w&>?j}vA>O~~MitebXK>vXR}`WHu;RH}I0avQY58sXPa;#rN-Y1$H<>U-X(=`GXC zQ`FOMoV>B-52z1hVAH_bsMJ#R{5X5VlmO?jSl*eP7MV7w#qq^)#i`i%?~YLiCLzfO z=C|PPTW`Hn2N_N|cwpm!GDio;)B}Cbiq2YnQ14FHwRhQk=<~jz&`>?ea>*KrxpGT=Zynbg-)3cHWoZQ} z)V6xxV_5i0Ve|$64(^)@*RJD5uAJB8*V{T$-|&tiU*KKk>k{@CJe9N`4Ul{s{&=cK zy$9ZNdgZNKIm=LcU%o$_b1>%!`+kFl?aj-MoHla1#@O(z>a51Br}Lc`4^7-s@=Ja% zI4HO`65fj6ajSF5+h5HE+mEV+H+$-PdJ9nj$g|!n(92RcdvEud z^v*gHHnA!^Hymr*ZF|lZ7iJqaA66Ld5e5$TpEy3I-#K;WjMFxgr1WO@Y6h*mAqv?L zu);q+pyjK@N?+52h#c$VG!*KY+v_4X-fJc<`VsyyK2hLD|Tk z=uZ*1B&P(s1qcoB-Q{;9*3Ydk+P?MC#pdnJbC1Y7SSL=NHa;00`0eam$0=Hdzej*a zP;}!hKX#xc{YB5nogM9uE@k?bH3^^UUEo|uJ?C}~Q>|Z!DbVT-`oPn5(B@dU?97W~ zgsX+CCGNepx1u)M;e~IpZ?bO+`!0Vy+qEHIhY%_Ahq#g5$$BnDkO0*3?8CdBoU0*G zuTU3re&cKdp9ja7m}Y&4@t@zVxcm8BLGwztTY)zwit;Yykr<4=vzJ$1hI7|*&vQ5S zw^j4BAjAixc?#h7-uf*{@j-KXL>36k(m*KilPXN z@;&iFH{K`Ch;Ctu?Xc^Q@mMuG{P?NKQ;U$8S#>MZh_Fw&a zHSzbUsvA{bs&IS!_N4Eb+Y?=#SB;KIy1D9)nm>-;bmwf~FDXCe>GcvfDr-ye8TSeC zdFTVGnW{NAuw!+AeL!8tZM)=0$@f3M_;pqN-BaLj>mJ)kzge0^UD{~c>$JxA;4_?h zVxn)IbJCl;I6a;L#ZYnOy7P6zCp(gfX&EOn#U@)foew|SHN;Qhpb(^s_qMxScG>)V z%Zo{;G13~FbA1oEe|B};?+A2#OQsSduVhqzWSoyB)5!v|!2zRZ#?QY!j~;U1zmdqt z%4ZYCq8I0RSM-;(p^A@xH=0@hc0IglntCFezl&~%cJ@O(3OXKfJU?w)-dakFW)t(i z+ywHQzZ>=U%SX9PSg7YI=H|FhTO2||Z}H>1Ep49*zpgpoZNvhws+m`J3(tj8d1Nz{)I_Bm=*5*sqo8> zk3>tSTw3&DQ}mwRKLj`HHOjP>n!P^hcYu4Z+l z20ZwDFpn@XH}!}&&8uUDZ_h3ctNluQUh@@w&gI`M%~- z{m8?*hxZ?L9hc<2KKZt=GL}6k1s{J4X9eiv3X=zYk?x)wLEEk67 zJ2^kGPLE9RRvs>+d;51&QDs}oN-vxVbm=VZ>g?Rm`Szv5#JV|nnJdPN0e(j=seap8;w5baGm!zwVKtNtXAhsg z>(*RN(jzdxUFbO#enK>T$Ed@o-eFnddi^P+3A_^r6Nqa+ja@22IUz!Z&$cury84i* zvNf~Kar7*@0}V?$51)t-wn2p@F9er48+$!^L5lJDiE7QF#0CwnR)$%m`^B-Wj)@?F6^8cH&gIW~P0cqC=YLX+DscG%PXg9;{UBXuYe^b}H|#&(Hp;^7On)9Zn@|urAp)>d{6R z<~NPi#Fd}+M<1jeQd7QoNqy!eftM~lcudQ@RIYV3G-h%C+733by;$PwxcBgil`4xa ztFn2({hf0s9Q~Y~Rel4mm#ZvUq@%JFxLO2!5Q{ec>w5p9UsY6pv@cdsi9N5fl<{*)aPu_nRBMtOTi0t zRA5+J;PTSBFrQ7>OBXMrZLx5}9}u>{^+L0m;iexTVS#YN6V8V>?F|Y&w`sSjxv9A! z;+IXEHo-#A`q>_}-~Tr{a0fRG2n!3gH8aCtFs2ww)1Xj)GYcpbYG%IEZ0F7$0K^V- z#N{v_?2gN5qrZs!L&yFc+BfukaM<~v%bOPH`kV<04}%*TE-?Dn-(PZ`!=C>)PM6Vt z4+|Ke*+P$*g{isOzi0!fu!UCJ!{@Q*E}pbMe+keTzyo1nZMhrv1L6PD^=~Zy9qNgH zL)~fhKcfD-uKzRYG4#36y+M}%reTPGo3Ow6{`=0q5n*NvWB+%$_)F10S^-TXeu0_& zYt|6IY>Qim113`Uyglkq;2SWrg+JA^z<%awcg_Y0J&*eTGecjgNck}@lgKYKTW=cu@PpL2))3{ z6oORRjrk7@T`{^u$YROb)${Ox=EM$8S7VL&thpx;La?C-vr=&>OI8&p{(13J3I9<` zkQK-)qYd8l{&+Z*qv}IGEi@AJHW?JbC5pj#kte^L-4AOI?JldUo{^FMb08u=o zrAxEZgfDPURIKI0=5&4tHO1CJ`MPQ@AVMhpSZ2uR0{7rq@@>wmF6{-{K?Yq|oy^b$ zM1*8%qablFXn}hUavuy;(Xb#CR$AOZ|NfwMLF^_o8zM$Ga)G<9eCuGuxYe=++P#fd z#D*8T3y3Iu^-q=j@1+v3aI13Y{r4ZgVqyoE{-(Y2w85-p7lSw>E?Aq{+nw;Hx9H1L zH)8iD1@xsbY&o4jn}6!$e+PpgjViWN$K*1*3Y2Karyo8U9(oM|df}B3_4}x_R8cj) z?ED#T2&PmwVo3$t`wA17B+y!Rcd!}xvVR?tly=YQSTy4oO z|J;X8BnIGpUrDNKbM1!zVDCyWT{A8za%5<~uE(qH}7D8fdzr1?Gfk32VlN#fkdJ@CNu5l-njo+v&o zj5p6;*poDhfWi$=Im`r$)gSrx-E_|%an_w^-3+NY)Jh9)X7V;z zfN6IbaL#Dli1nik16a$V+8F)z=+H>}kBLJA)8Ormr5Yukt(i8RnR{Jsq-KyN9#ya` z&zKOkN^sP6aBI+ZD1MBblDu>UQB!0E+V|o7WF=Nn8c5lG2?=qKfWbj;oTT;PMUYLXWO-9 zM?!KX9jHMtl2QbbK}0nXgGD0B6+u&Z+Ej|TE{H=Bh=^zN%fXWybjKm9TeC?xlo-Xm zDX0tLvE)D(rW{;xr~~yhx~ct$G!NVvH4fp&v6vJo58mV%0r_re(}6O~utSQ7(_*(`_1wq8Z-LIH&dFLMtbne37x$psGi53<7cUK?ZW!Cfv zGEQjh;4oF@azgNmR0qN1lw68v3vM{uo7R6A85h8nF>p16P_wLmy2{wuqaIK3Yo-n* zCiY;m-;KB;<4`i8qL09H6n?R*CRRVeuW4sUN<=r5L!LJObX{q*YcI2xZ|O`CKsZ8q6D$^L+)YeN8etfO*YI|A zl0so|7|)UZrH@9-r5*NS(uFqgTMSd)G27%CvwF;U#7X=udXB=M-(Oo{&tzG9vI2@z zi$z{3V!ubMfHb=hU|y~+;=h#~(p zBv|a1TG{>%Q`bicT*GRa*|-u7;mR^t37_jHHXO3aKeeB24Rs^(S&uYRM)pSP>sYjL~EO zi=4QlPW=aL+cmpVlqM;|W}vSTiPf|Xb`UiUxPl?&Qn4Csj~W+PMWZeZ-oO|r`=O&% zdVP>slylZJmu&!3(<{!A4o$y`12dy#F`UOgnf_GoPeb~TKQb;Y&;f63jVjq?s939| zFxsWU4iv?Owb?yoSLO`>4>7XB0M2(4RY@`XSV~?gJ7}V;R?3rq8^H*aD}!k8P<(32 z$l04$#+McuL;+r39CW}=xk%p}Jy{*iZLGD53TADHk8!&&QT9Tsykh$5UJ~}}lIA^` zjQPB=rA20QaX~~uFcgPO`7SB&oxBk^OGkmc2({vv0a{E7L3F1f9%|<=bhJ78<@X92OHe>VnlNRzObv#nic`G32;TLr3KDR z_XGkYVfwlsUzMn~SVdr`toW^HeUN5P2V>Dl2CQ6|As&Gysi|GMz*Rvz>wDsyqXb!v zF)_QXFjq@VK=~CWKiU6O{!i2Ue|hkl_%?H=K?b^)#;GyG;!2GYb1`GWGnCCZC$>A@QE%(u(Vn$Et#umxaM4 zG5C*UW)nCM-VYT@ZRV~Qf@}p%$l)1@_@Z!;w8K)r^FG^o2)(KroG>NtI-8c`&rY`} zsv|R|UGNQ86zQXabbL*pgr|^{34Pn~IEzm#O5krO(s`*Ir^xN$(4?446hhY$p+un2 zn;%M_QO8gSQn>(giG-BOnwFGzW{!eIO8+lt8CY0FH&kGtZj2 zrxcjg$rT4=L_XOv zp^@$Zh$pKE1YE}@uoQrdWyHLbx^ydsgd`+!KrAhSTb9?xu!;T$9#WC3f*_)}=o}}5y`J)1^>ySte}a*d93$@N*XVjmXfwNX?bV6 zd^WUd4O+LUx=gWIEH{SZ`!QikOm}93%vJG5%KzA@BWfaii!I{Us!w_&bx*WgQs@-o zjvmzWaH{hzZaK6=p;a;hq4A}=mZf6f=c_Hva0Th}$K(t>y$pzca9n_GDRTJjlid`H zNc(xcKGIC*;Y^k`+)$p#MMVU@Yz>OnPsTfl$mLcYBi8$q4p4HWu1uW^f{i&2&sgp9 ztwAdbB?;|DUwNa72SvAfWDTRM$1q`pFQ@lj!u!tNp0)c){-<*O`&f=Rag5LN(rsV$ z_FC+23waiuLU=DcQ^B>5A?oP2>sOL0jd;~MqLkj+k_hl+>IlJmvFxehYW+d0Yn~^% zsK(G2t*eDH+&g!+qc7ZX25*Lmzgo*Izt%Y-h zmaGye6=Gl`H1C2k>;>7G?5LS*z94jVt@Ey*T|c$)(>DHVABSG@M4TNzij0=p1d;L} zmjy4Q{b!WYUQn7*<>-qZY$)tA;ad_?ZO3Yvsp3v=bQhJ!{Z2Hw_hd?PaWVa=vkezD zA1rygh8J8JCWee$_4+o^>|~G_SR5V1=B6~ps;!bG23MEiuX6~?zKQzzZ=`fkm)a%s zkyW`NVR6xfk5Gv64Z4CjAB{?@)b6pJWI1!2WVQ7S!Z%$PV2=S*L>BHBV00)rv} zr}2zT7}{eN8ArzRPGbMU0KA|gDJGhPkJ^eSK%*)6Z#>>f@n3x`id-=z3Zf7qnBqwR zClV29LPZJ2I2Zr!r?H|HTmgnek;>%!1G28>G0A-XNKn%&7Oi_a<_F`2zCI2QK@dr# z>|}9%DqS$=)ylf>N+A^ts0G5pT?QBW%KjoHYBb_|nUOgYlnjb78ISa@1$AP_v+Dk4 zLr@5;S!R_vq$p+oe%yRT9mY1Gj1Vgl8E{ji1EF4BsE`S6sBBI8j%3eq1eRGJFgaW< z&%lkNzUN0l`dEvR@=(QkgGnue!6e1kw-|09%0}BFiZfb$yT7iVO!xZLrW$=p4GHJu zwJ&4KKcXU|`*#z2;4^f&+`LX><=j?g2m{STxYCNz6A+lLDC;x}Cdv&#gv1x|o&^!% zKQDjk;lG0s#A4@Li`3H8-vdmR9&KV%<9GnHY5m6>P;oXAQ=_P!seFg#$Y^& z))!S>69Z9BMN~CpS(}9t_Ym18OADIcpzeq zRX^k{4~2wi$BO77<1vt@i!v`v*XeRG&MvGuP&>~oO8+S?Q@MN5t+HBi#A3>+46ZAy zo^k)&N=R(|K5%^2@<(aD6@lV9gR>P^QISUo&%g%y@;qdHPLQ+jY+N7a5*5tI8q$^C zv#Xh4J%P4lXgdpHo`m3IpEsUIhLIQUs>6TY{nW%yEBIgJd2ps$>~~qwSTcbM2~0sx zvSl5hWwGC3(@~0{ti0;lCgiS`5_V1_3A>emzln;qwNQhvo^%itX^Ha&+G-~>9gzE2 z$Pk4PdutkntXQ6xZ3*#hLK96*WQXSRCiJrs2l!?;QaG1cNg()a@KL(Pm3ght)#!eY zZ*v#6M`$ufucxPG_&S?o`=_U!qGzlOOkt7W%d{~(Gd4$FteT&aBpE1Nw!(9~Of_kF zY6i9@W=iffQs_!%_1>K$T6h_HTo_abeG>TZv{OzVq;gpkyhf{J$wQvjY7;B|4YgjL zK}t8z>x!}eLS%D-(@?kpNvScad2B+Q_Lj0{c8KyWT4Xk4I(Yh_2*(bN#_6|R~| z%VTYm(UCl|r=WDdASqt1A$8CkC;~+nt>s#nnVs=lMr6Q0_9>6)8Mr7G=_xmX;?0&= zB}-kxMKz1qa&bkGT2}w`DW2y{83M1^F5cgqjv&lq6qsnPW~0az68b{Qw;3C&k3sMr z>L^{E%|dt-mXa>JqR3x)1_4BFG073;PZru2R9q&N;(7q3lvnO)0h9`;*Yq9e;^$W{ zQj7m~#W~82DHIDb4^$CF809VeTy`%NZZ1nkzs{%5mHx~1CsVf41#BR-kCcl1m5MAS zQz$y8R8*S0Q_A1}^RJzDV4SX$|3OnmueqpHOtMH2>CF5@fs&Ub6=9SLg|$N7ih1B4 ziR4KXF7gpqPIsIC%yM3y$XUr%;JxzXh{@GiEWIqeq8m~&_lnFTL}E=sbCu76^gQFR z+S0}${Ym7=-ia6@Uea=7pK!1$7W`(UeJ|$g^!l%CjT@+m0h3Q|EFVqVz~Y?n;5JB& zG1)(h`Aqq6Bkw16=g6KEIguHim!VZ%hGP`VQ)?}N(rF&3PP4;qtu zuhdJ+*wnQ^UTP%>!h)3e- zi<_T5(d?2q25yglEyS|FKd+MwolTAUzQa&wJUE;5vEhEBFA$zi@;KOna=FqJ+h_P+ zg23a*n{}gKrbif-_;btW21uGZT(OWvdd$)9VpPk?#P`#=A++L%)&bLz4hy+AN|;|E ziRbsrcR?z$DpTh>R1ejeNsvNpoATLatm8~c8TTaCg?#e{Dyb(~AK16i_g=%FVX@$_ zxG{`=Jk4>%BVT35+o?*Z@PnzYL8N`;D;@$F#fsV8ZsQJAjAe5R)MSYRL-xFw-4>v- zGTL>`)<0wHxbm)DR}{=UT?*d97IwkH0TV?k6YzvHmBjRZxk#H4qEvX&zf&jxl<5?U zC6|^F2qGR&A@8G5u^_vtJn~b^Wu=1qZ(uaq0R?qcgrAF5vF|RZ zR8}!kwXJ~h_hSH9xLhg_u$B`a+7r`VS8|I9guL^UEU%#Y3FRXug+fqLC>7G~B}8MH zBEqFSsA4Y+bdb zFaieF@F#Q_eDy{dWgihF#~{gG+qEq$H$ko&f9Rjp9a9tRL5qfyOq54R0jQ7IqrJ)p zB(V^Fe(+LX98Es$f`Du;GkR5 zU@(Ibz3s8{uSeWqEh=ay0!Ntg?ZyFMvn$IxzAvrpz^KuJr-N4{8n}x#YA6jNc0M4~ z45Sj~bBT-YuGZHP#T1-qLc7~hO1lDK;@AKxy--OCA>dw6`8c*d*JXvDOW;wdQ%3M; zH7a^uRvnG?s-7M_V73~O@zV zXUDsSJkjTNSKEO`pf!#y-4Y6IGUE$P8|^$~?iL9&FEfj9!JR-`Fr(Y1%dW@d&t=DI zfcluUEmxG?ujq-|zWI@uosN-zlbw|F1Z6K~EF0o63a8ORw-%FZYRr`4+%NfbyP@>z z3-P6e19ZFLY9K*dGcmgYjy#cYq-b{(fc~9|bj4;9pK#RPSd4exLh&A`^-BB!Jj+>` zx7Gf>p6Rjd8E>FaZXi7J7SSNL;pOR#hzeKziyYF{au-^gAm*EPcwj9V^Cf0VW_hz~ zY(pgeolef>OX69Vh zWEW{pGS#PeCCy^e##ofcF+5SGXIF!Z4zL>^Anul&6Hn1u}(|dlw&oEPq|GI zS`CYlT8fsDA=O)u!oq~=IS)p%r(kSD(RzyO4ToKgCqgxOa4SrW^N>hYX?n_^6)+05 zULVDyjMTZW!6>?%J{VAJiM?Ew^kbUy;ZVbth47}CUA5;H?t*989Rq2^70_6sIE&23 zL-uJ4k;|Yf*DDS%76O>g2O{e7S`h>mq~YTA z`(U3RVbN}Np<&2EG@w-<24!YOD=Ja(-AjxiHGdHVPwxBcmmiJ|Ew`4+qDk5X>IYqJ zlmHO|s-TO4<^Tk)A5gljMzlxyHbEzKS#FUHr!}ng$@<@$G*+%QJF{!Fb|88SAu`v& zcRN&#z#w@&D{mDZ(0_n(hB%TpFn-Ewa|SwLJ$o< z6#QxmQ`4W>1%T3Na8)-fza?bybcsgtN>;dy z++d2!j@1f3Z{Yn{WYu@$@w$dn4wR6tfk`0aehy^A1esrnvwi=*vpt9rZu7&z zQcV=8#(O+`Peia2I`bZCNT2FxHOblm$oxl4S1|v%%dY*1ePLtL*=Vw@th0Ne&V)`J3Cj;G zjxrrj?BkV6@<_obU0*7@&q{O+%qtEsp=QV8AO@oB%n4bY#Yj{nrJ)tWwaX^iG-OHj zaoX0b2*IlbjA&4#A#6}jtF^8~5X>85SEA8BfKa@yVhJ^xEC4sAp;^8l_J~~&VlK|N zrG&Q!b;F^Y{WRSMqtDHbVqh-kEdU9|&Ulq4y&HGBaGQQ-wp6=hR@$dLq(&*YU$Iv|M_oJwHVs?Sfn>o>@VD8|f$ zuu4jP0Fgz30M$ym{3312~)~d!`oAX}Olq2W=LL_YH z)ktuV4zjf`3jo`2MOGlAitB`rE7@1f!kMm`m3m|HO>#vICm69ds@yLVv8U8oXqY zs;qHvbScB)Qs6#i@~uqYzZTgV+>l&F`Q9dS5yq+aR6F6>z)0GU#rwYz8&TJ!L4m(Q z#ym=AW7=1*WN=-{$~SCW?Y@mNE=&2*43Q|#E>1Y2>=v=@_A$+(StzCj!y7sZhEBgy za*Paw1VzlK>hvMQ*K_$Dq)adKD2Ew>y1|x!+sRvas*j{6KY_`(a#rwEb+q?bt<`#% z+V-qUw%Pzj6Yd~NDdUJ%XQ>i1%2H~d@D8w|-q}xAA}e%pUY{j}a~-ksP?O5; zBavpphmwlgF(A>4kA)+lrxIbEjIe?1K3-|{Y#Gbc6#t4fGaJ&d$vXRKZswkw}aTbkj`nin6?gJ-?imm za@29dW*IWM2C+5|2u}X8K5?!Emdq#}ny!9@ve4yTXYrry-3xNQ;DYYAtqHf++U_nM z*#a`F@X`Yg=68A$X7Nlgf{ZIk(&xnl>;M9v*Pk4U#uTU8gb==w!U$Wb_Y_|bDVUC@KgRVqykq(FQySo8oW@CpuGUY-Eel8@UOJH0`NDZ z$XMrLeyJE|YqS)0kX#bWP%PU`Mo8wTL;XvRF#S01%w-N4wTn%bSt8?AU!mk;5>l8bq@%6~rO@#RaKK{KfVv@gVa~1&LqNt9F4X2in z;Z>Qvb8!GTlhC?3pO`7oVrQ!|8F{Gk;Lt0IF5Q{&5-7of3GHv4ny=G<_;Y@O{TC`^ zVH@Q)Ks%&(LsRV-Si3=AvmoNZbiFn2JX;#KXe^EKxYrLN_In%LV47qE+Nt$q3F! z;;!YDPj7xoq2HiKg^{tGo1oS5Y?G`JfRvqC)a_B;u7OOJ?{@YkorBxqKr*G@0RH%5>*po%TQVoOX8rbO7E;1@gEW4h}ZuQ_A7kQ1B zfz6asBi#PRY^qdI2?Al;Yo2IrZ&Uz>#B0zbT`!wXV~!~s2qLr3b6F<-hY6{m4pOX_ z2`LFkY9hqymRkD!SjUR*DUaR{30E}YG45DV1q)*2G zfQbS^Oj~wp(c&aFL_h!Bx!L%bfieNbB)J6Z($dJ^W%m~*D_aS8LG|b}h(vPthCn!+ z?JefY@*U5b62XEHSS$6!#MlP4S`3HaY>4J(r6sY?UuignqS*-KBwi_>-C>XsHZ~*seJ9;g^A?Z#zoBTFxg2f13NN|zZh%CzwK5+qyN>pn z>3=n~mxxzN!GTRAhJhLPp#G%`<`-Zw9Brh}m@-*Pa6c+q!p?(`NVMPU3XF&mv?$YE z9dXcLWv-Ne*BTR?G~ulTHyVr*23IN-CX$=vFfOgiUtqS(6fW)<>A`({f{Aw!PmN{h z>dlSeZNx{xIfa_crh<~->4Wybkz63KDPX3 zS7qL5t;)hzN(d-MLW&YZ(iOUjbNoZ0$ekC^?0&gj!> zytPy5mAs(JlIa>~A1G0c7pKjD!q~2aL4+i=M(9M9rJ!3D9m+x=b?1dU8?yRY5jDn$ z;af!_|6jVgC0=N6a>d3mbJ7s^Jq9@4l>$nuxIR272fWNuAR%?#WAh8aS+|-A==JVx zC#YbQj2O&TXDO1a?}x)0c%WXP;hhH(&hoV zF$q=;L>Cd>IHfe+G8JOkC-FZ@^INAc_+auK2%%quk%r(!#O@Rixa8`T>@VJ1DX9>5 zzwES_7lc$d(Kl2pyh-A*x_S-Tg!@X(FW(zlP8mvph{0Sy6dr*TGBR`a1&}Bi@6N69 z_3T{I3+zf0I4R|vPD|W}HxPq&*?;pM7R}sf&IO~}W_dH?mGiGkAW+IS!xLwyb?~{W z$#vUfMX6CUO9(X!qR4rcRCi)a7>DEt&pd{0Y0mIgj>(&){3hIdj#5!ex(mDxrW3=L zbeF_wd7!5r!cMuMQSjnQdWp1YD$ams7i|u^%{6X>M7RjJFtd8u7hJ#QpksAKU2v8w z>7zGUbkK~?#S0Yo89_p`l4(@=jXi68PVG0MZ4Hw(i~ip7K|(S0@JG)$~aWsM)Eo>vSj-Y4Mo&E%?frWOUbnO zJR{LZO&~UkQ(CDDZ4+R0rJ51wONYV8`gQ8&YkFT@^3+ylCEJy4c zVc1UFc|_VNMe1|9tTLoqOG$V?a+~QEc^2^7qvnZA>~}p&eXB~LKQ9veB=kS0qxL?! z6Y9h+aH7{d6t2{W9viq;bPIuCOawTy#WN*w{ggXmD^S(}q!k%gEyWAkp+wkMwIU|7 zzk0sSZlE{XP z{JX5Yn3K{t)1Iu9hVS)}6<=|i^W&Mb5~h^;4M}dOj;%kQVH!-UC6}-wiy$}spE4!m=j$UDJ)->#s-gnG18oW=nsBtV0?3W;@G=g)- z^sy6f9VEVDryj$4&pSZE zm8xA%qI*DEbU4utkqkO~y7P1jkk&H^%jo(RQ6Y?{@9Bb1r_RGB0P}uAFNc*40Z!Fu zshYkfXV(OH8O4{Cj1Yx^82aQgmozJ?G;y|=jO%|}WFlcMh@SsO5IMDh9FvFZH=B#- z1iY+2$Pp1&ns5!(zz|`&)bpK?75K(VqiA3N#c&r)ws~NdNN+3zC8|0d=%u9(AJ7KT8wPBBg_Kk|)atv_0Hy%-f*07Z_r&%|G)rTLKI~Xww&7 zlN-XsJZl8>98_V|BvN#(fWHY6v}C9E)E1+aOcQ)?poymqGzG%bVCoeCuR3eoN2%zq z&&HG^*?6u%KGlr7mNF_D)}>|#O|)Ny5V^aOWLrTBFZ~T8UU+`3Mg&2w5eSVjd66W% z@qVqiW~!$+y4WCIdD3ZIyz7>ht|9MX*(*J|B@nNCXKx^`?!RYEv*A6F=Z?WL6uFQV zQGdIr#D&R=K|~@leIoS5_8D#LG}rPAmt(oP8Nr-6X{af3yc)+F+;bqjV9n zhU^A;4usg3aRVtlkr^Ee$D}vktn`Ef(X1a;fKu5&cRKk72_#?f#N-w#(P3P7`b}g- z4^jdo1`WzmcJT4Dnn%F3kVd0$P4Te`&nZ&WLUmMM(<3Z0@&{dZvaOozwP(H%RSBdb z8@Xo>l^Xzo$GYhz{()>&{IPsDDTK9P{Fo2M%p~UK3unYb*k{y5l-FHvb5w z_Zpr9Z51xYul1KRI47gk*ag@5P(VJ-pe-BZ)$4Y7iC3>42G(7+M|WMAsYMVvrw5dW(&}P&`t7jr1AH?}ykn z+VzYHs-Tkn{>UzBW(>rF;nio5m{i!H{E%fWOZ5<|nVs=Yd_QZ}NK%)%b@e3auC%Iz zpnRugmD3qdd7EMnUGj<~2M}4QB@HRkMPN^J7go>?UGp>S4tv3U4qlNeD+c8m!5e4U z)lVGcTb??$KqV!ZLF-#dA&4S*ttG^&Q5GCZJOjxqM7H1w-BK^~oI5NZc%0M8mg;3C zd2kM37P&AjS|H%Sw$RgW^tpEt1zc9(apGN0ArL$s8FQ++oEJ!o5b>~z}t)j zVJ1G-U4@)-sVL(iXE0(4IR74DoANGmq6f{C<66I<`Q=xXc}=iv$M3D-Q&66w!f&_) z>sdzVI!mN(nH(tnZs4+ts+oDk#KR zZ$BL)luX%;0|z(Xnc-qE*3LO?EjvNvJ$_5<*QP()_kb4(&S9eB(y;O^R7aOm}$}gQ^m(%YE*SX!ck3VGKc}!}2X!&sX zjuQH%EA%6kVd?`%5I)E7XNrEMxn*y;$Ei&!*G{ti&8xiByo=VH|Mjk|h3QGGDFueA zd1l(ew^a0n+)b-5Hou}2%yIZ+X?We-eJ`Xwp_IMe;%-P1(s;2x0j`LYO(7DovN<_~ zLJ%u@<)v`|4v$i)yx=q^2avYpYNPFcAT?%bYu%b=C`;MPJ)w9m;V<%1uehuE$RvPn zS(1@HAzInQGpJNvp6_H2BM#aWf*7@W9v%s02=q z85HLhPp9m-`FWe?a|1!#-VY~V^vpji>%L=qfr7R8)1$x1uf@$hv~PS%#LdxHvH&mP z76)xXy;jm;{;wLKr=C4^Z@hOY?|B`oJo~hA@Jn;=Z;HAbe+GYb3}0Kk_?YYj;p|M* z^JG`|(ssX(u8_O>4wJurxas0qIa3FDyE9qK(Pd2gH&kR;!wLKYus(~d`ZpwWA;yyC;RiBuda6Q)Z@HfeEB%|oAsCb5d1M+;+IYOuMUE`@jXfK?xqQ1 zm*pe9xigI6jRX;894OXG|HA`yP&%K9SMtTK!d3J8*1clgBNsP%B~cdiemr4=j?vl+ zPDgq~1}ws;hGG4i`87MotpTMa@sO2DvBK5LFQELecH@R2=&q3fr_H$^o<|KgnVc6< zF0|Z8{=@vngWU=)VRmWqU};00+e`f3Qz2dieF6-a(ziO6yY~Ou(zu#Mh*CZYy1h1k z{Ltq*{IlY}D6^%gZ)r~~{_xTDzsK2xdWL0S)AGUle?kWx0BMf7Kbcj3zA>WC_)XOF9QUFbhq!)oj{hPa;li$Dg;Zr-5WUFmJS zQ}M^sge3Dg`4PF}=2I3(6epBRxK!SAyQr~8mjc@XTQ?$!uuZj8G>{O`Ih{ z{0l~0DP{f?lQ8pfKBWfs7c*dfUcLDu{r9G^wFU0OKlqO9?dM8wo-g}d#(u;)N zoAdyJgx;iv&`YSHgx_%Qd-uKf-|xNeTCOD|Lozd;bN1PLpEEOcmqQ>2hf7N)Mo)i5 zl?`|G;8*>F!*yx!7C{5+4sl!&9CZPL7D=-Ixj$$e8YiFGgSdc41n-it@_yg==V3PE zrrfGXj!)ptiO2LtWM?sM>&mc8jb^{7$_CzVJuWbq)YOPm~&%m%~)4q{i+^Z@zNZa{2 zF?<;r+Z*cA>4@!`yRdZ{ml#hg5is;*S!?g zohd9zBveu+_=bFN3I5OQ?HaPLwU4M8Ds=k`Lk~|j_JkrM+aoNCBVKjx1HX;`wXwYu zjg6j(btOke_gsJ&t{0s(Eb@xZ%g+tYJgp{yamaj-!vcLBJGjrB^|D;)_(5;(RJK!z zvcxfcev*UxcSkO$Sx0?77s{DaGLduk8*%~4^|Un1rPIU8hI2)>iE_|+y*E_Uk&a@1 zsZe1yL=6jTM)Jm65!Igf$HGIEiM+fTbRY+eF)Pc;+$%+%%S?tA&VOLYl4wmIqZAFl zE+-h~X}>7|OV&_qy_8calJJLN3xhTl<<2?8>h2|g^mAD74UanGE+`rC6$5JzItEcJ zoOQ{O_6M@NS+qGDn9f0ItM`9I2pdH?(dcQ?32J6Yxy5v7Q||u*2{EC&hvRfYR6-Ek zRguXP_u0L0Jw160A#g-CN*iUsE79~BK5jTQgL@f1D)fes%iZ(#ed0k${+3^!enaZ} zgaMzSY-EOCPhhLqpsQ`;wF9pH<1vu(&+viaP}n52VTKR6wDE>lW|#a=`2Z-p7H+gr z!>B*Zeo#{U^5DFpkr8sKH?t3o$olN}0jIe0GNVg1q6kL0PaajTh2elY@O~GrF2vNi zn6zl6@XCOv3VNAZdc8-Adf}WcaRywOwWcQG3$o`iVc2Yj<@J+*XNj48%G#bz!Hy#f zN_74<@U0}(uavl+TU?9LrdlX^;L1fdge>DwEK(~tf)aFZbhNJD`ts-WmwKlPlD^`w8s&m06w2}I zigOg-kUFg)UwPJPXSFQVo}&jciOZ;x9K}Lytq4~QI-dzVNB~h2ZdlcwKVVn@LFUJd zV}U4)0xzCro*6d2Bh#LH9IiQ@G%}YB=dX7bUB1GPPKm7A z(_2Q__08EhRf|bRyWc&$dt5AX`cEbIO7e za6yZrp@q|iQ;*}N<7Jqaoc-awHU(!d#fulGN?E#j(tm#G=F`w3+xv2b8_MgpNbN_n zqO_Qq%b82#Of@|(KOS{`Lv^3HX5{MFTJ#k*QJjS@u2cKRte?i7rXD27)u;wRjwO#< zCd~iuyPmb?)0W7y2o+TaowFom_VsjEZ-&8nrXGTcS(vB^9qS-ZM5Gj)HAT?{X;Q-H zB$73t3l0gG^ZDC)@}FiV^%_{d$5hBwsdAE~UQWC=dIX1LZkF{T<}yZwM?=PunkTCm zvtUB3?%mJnm}_{s7$L4H+ihT%dGpn%#=NnT{W9Z(5-CTdC-Vv8q}pem6|`VHNIWNp z9_47OhLTO6i9`-%Eb>C_Cqpe3qkB0uwknW?eH4_gJ-h zrB`MoN(POp?y=v?+5g<2s9djkPuoW=b9Ka)S$8xq8$^{;WU7@2L|Eo&*r`mOH`8RH z1j|3Ry;|!L!x50^AvNOFA^V!5+#1L01Qf8;dAM&9Lj`jR)rC++D4&uxqL2$%X~{#1 z!w_J9%C)?d{_*`+Fiv7N>fs6}BYL#>J0U-*#koEee(Gp{&l^L618ebBt z_4+D8*TL(g>8BB15YH5{DzVH7Q|ro|VG|5kt*ZkLj^$ zhI}w@Q1fP|d%K2c4NLO@0mF&IL0qJ%mV^Uu3IA8q5c$|Ad+W=Z&D_g6k&ER4R@uqm zGr}yIJ)84nLyAG`SCbL-K>5+KU9;4ES*78wrrJn(6bt8DKgdt&gS#AT-Zb1TVoD#> zW1SKJNM-2*B4TOzfW&D<_)QY=+;QgG zs*Il3<=#d26~FZaeh4~~%67{P_U!aP$d4TxGQ0{T5t;)8!{NpFvEg4o)Zl4UQ*xaoh+j4T z_hM4rmS@iGtaJ|G$)#bXg%_)Z=kJ4Ror*9CL3;f`@JcCD#!P-@>K@tiPO$%HABT)h z6rYHp#pdxeZbtBstn)OO9@f)&q-<;Tl|!KVIwxV_^=FU(b&b!Zk*6^~t}*_nEHH)L}6Q2UwSy^7dj95wI3A$kKkuG*L})zmp|*l1u3S!B5@j*Axu zbr+OKUNN35OOOH7`GRFfTd6M)E@|lFe4*f_@EyO4##c`zn=SpQvnHqrt}&TZ7M zTu4A{%)LFWhepgOQaP%n7ztVj#T6KdodnUbL>VUDx} zM2#ElebNn_kS6e18=c!%K-d;X(|>29IBYrgDXEN<|G-)o>O1Hd1W6_WIP- zE3@xXtzU5&HhWHI*KC!W^}XWKuXmDNv{nulcT-N}Vn5NXvGKZg{?0({-C_*XOE^Cj z@!y{+;Pm#p;@JsKCwrO*vd$%=HPV*qp6FJS87)%mkx8_`_E#7)8(*XfT0izb?teOH z#jMhZ&h$QAyEh1W)8Z}O9av>KZsT^c5F~_K21!mHwB8`LT6SBGkr&K1S#lf{uZbx~ zmVJF)B9(UB6Gv(oT74cCERB&>R}g!Q#L!`;PY4+c(!H7-%`8gcpM;GCVPe=}hpzN}FBHIf!%(0mo%Q1PgJB;)mG2q$v%8is9hDMbseF#?$ zj93-ZicyOycu+&Xi*ALS&g>@MJ1%L+C{xB=#6os1>646)T5nF3IQzHS0p5*8vM{%( z-fC8`N4(nW)L^4UhLSpzip?IaO~B^7j%TqyZN2xoZQa_bk03`ACd4ly-9Wjt+p0=1 z*8eiW{+W~yNv>N6HCqD5?Am;Ju`_4C5I`Y;8HIa0Z(SVEUCMlVt1oIdWr7x`Ir>Kb z5T}4?d0=SN`*{VLQ`wf!X>ic;AnJbaR$IH=a(mzKt_&}DokLZ^UQI<_AEgXkD+?_9 zX7Z%=b@C(leHX2Cyfh3MW9AK-eN%96H2qd5WVxzOf0>h8Un(IB;>57mr{zL@y48qm+qYl5rC3VhJbz>j8&9yW@KxGV2lB{=3D{ z8;cV1I;zO@T5Z8?w9vgsk$lm8>NH;*WJ2eE8OwGmMxremrJNDnsKEQgD}m**K<}0p zW|@o4qfV~`OwSpB)X2w}f!5KYus4Eo4-5I2IKOn+{eGFFMeiF}zsL*zOm0~2;2)P^ zY63h(5}L)-u!_jFVwYiEe}&+nr=8RcHlY(kHLaR~Jti|+&Kg=8b}S9grZilqEb?5L z=`yPYsQz2v{O7v5KYu%1@4SIq_!h=pk0H%G>9`m-^totPyd5O&GG?MJP9mWi-L^W% zY|sx6MT_$4gNW(XsR(nFlf`z(37^ZaQ5xgVDwIDl=m%u@(^#H|kl5=V!qrPYs`)t@ z6sMXN^~=^7V6r^9H0onOlREOt9Xn)6;%UGY{7arSe6$`-OSC%^zzjULCnku_eHEOY zj){zqmHr>2G`#gOL3aA#*bEGvZg_suE$KZ?(Q?vx78ij(yk{zk8Jz2FJkP>Zo@d0v zUpn{?6{uoFpzfHTp{E@Q^w>p3c?Le-621jaI_FLhjhNby{YyONsBX;7yAXudC@%)@ zLnY~ck(HvngFkF?QIT~jL~Q*l#V}BBvZH7sVVlV{<8|l^kJg<_+)j&C%f-=I1dDQF zMX`#veh*wB|Fz7s88ngC67`(hHc(nsU*-Pq!6kfuq7k+~N@3u(fS$Y9 zcAcwp*_!guNZA@ih$-#@uhr*X3!a zM}@Iar#mr=jl3kMD;y#;fwf~QH8H2l&lr;Wf+?QIiwD%HW+X<4Hg76$2RhqZJ%M&- z*t!p=5?zesNjR??cx)Y}5~TjOar8GlI0m#z1Gi~G)1S}d!%x<=TTcBn@m+?elZmi~ zYTqG|U@}!$4B)3-soP~&WqIm&c31*9Lkck-uzJj)Yi{z&laQW5OMpKS?)l7Uyl&O3 zppgyQ#ANukjY12-8O5{0S%S$DM=64Gfx2`-!P<2#^J3GS7={*`!)~Mck}@Oz4`DP; zU^P>_huI&LyxjSH+RL?$us+TdaW8ugI*4W@>q~RnX$Be0B@!+8NkZ9VI3R6o`_`z(HL#>tWY?n z2;;uuT`xg+kbs$D2)*EwSr7QY#z zDPhqG*rYv4bbP$3Z&0K`@q+`fhNcw(xX9wCJKQIdE&!<}Cac4l{8vKZ-vBt-4v)^~ zd=HuqQ1VOIUMIy|V&SQd=x*NPN3sV=`*ikd@jqcF+KQPkaj%?3kx^d{hJH$>b9yYI z-Ft&FljzNg7FP>53(rd$b=9BEI4x3+Klhz8oKKKC05y zNVi8$&lHPEXfR@-B%$#8DLql5T6-J@Hg_(Id!*$XdnlqjPqLXpD4ctu+||6<_8K2Z z^S)7An+S%erhI_dk19g0F-q`#OUvUo8tEHG0%V`#jzoDmlZcdQ(enIGV%mNr4wKY! zKDJdehokX-@o(q!|68#AS=6wBt;0~sizr)<>1mvZ$l7e|dSqONOMknoQo{&IRI_HR z;^wCwQg-6Z;(Yiy8z-I70O+S0>Q3P7>KwTfOq@{u`A$seUUg2j zRcfA29t6=3FWqz>J}Z3lGKu0WXED|~Z`LOu>mMaXhlaonS0+4Ap=%i%K-xr&6s(7T;>?_?tKIl+Pkd?X*= zbJqmWL^^0O>k`JO0jI3-`yCh@Hq)K@0Efvp4M_;1roh&Jh_ z@m?+j-TIm3%9%(*e%<}8<|3z;M@&G;CGV8wa z-4ZF{#z!mMB|FZvsMP(^`_&>#*{8x~#7DSx9#Tz*El@JuRI8-z%UGzAWKCw$oO-gg zOdx*QZ~;R(g_$vAg;SO74~%9yNm(~t1Jmf0N`*1+Fa>BD?A12tr(4Bq>z!sh zhQfF=`eI&5*nS|VXj$K~j(={ms;Ra5>rMf0ez`^VBH`$6@~bqS^|uDFj<3nvWKq?@ z@{=>FGdZ@fUdZx#5nN&~J5KeK6HorRJ5>{4EQ~3yRl*1Q-$Z`1oBmf!u-@?H-}qq- zCEYRWORP%EV9ol}{yktt(q7HDmSti}@9`HLr@T1wZv_|k=_8sx&Vf~r_}}CK*Im3u zB0eGX5U~6|ysC4!$2K}IoU6sVPvzd)Gx2DfpasVD_ARf_vWE0jQl&d^<#n_V1>yv& zi(F=x3~Xc$wJ>Ga!?@+~i@L96yWJg%$cF62v(m5^#I|!Vf6A|w>IKrGci92xt7_S% zq46F;78luNGNm;sK!yWuT6}%#I0-ah=_t>g{XX`V=&X@7O3tRnto%%UlqzJan4mfu zEI{?nsM_pb7(kDQyo+z%1RQp*N$O2h{&>b^yrfF9B&bthi{e_^!NdA2ip3(Bmrd22C&*-!#SgL=ZgnKhprCYy{B{pM5U0ocJr zV4o~^pl6e=SpWU=?UswGDdb^3R~=p)Cpc>%@z1?(F3v&XTnrd5A zKY$&Z!du&<-|Cs5{fH$_DCFs2%Pr!29i*RbzX-sp#EO>G(UuJk#q4egDxzYoI3B4NS+nM6xSAN;I1Om%sZE|GI@>75@d_ zEs%J1c?NOEx%>cZ|7&x}(tDEVxZj>@Em^YdV-bJ4z;89L)}O=lpS9pG!t{k6$ay63 zo2O>t@XQc|)Jp&HRnjvYtJeG^P~pD5L@5TYo&V%|c|Le~?)rf6I8QpWKEalf0Y5%y zcey7BoVd9ARnNcz^R3adeqOrAzLlcWDZEeQzQ~>l+r`(wGUIk0nrp%KRz+L_9EqSw zN)B$3wZ6nng-D*>Wp`e1Zz%lbQP$l?TEh!KK^*|r$!YpX3N&$VGO#iE9U8Lp=&3IA zciX?Sb+?Z)?I76=%7@^M>bxCCa{sz8a9xiYBhVr?OY z6mqi=Zr#VLU^nKr>&0bS3c z6B{pny+4!{DZ0MsKcK%B+^~8rIqf$Ac@S|YEhJt(7_6;DC;F0GH;FrE+J^-{h|lS_p`HAqSM`!or8PJ@g@o8r91>-hR>?BMkfkVry~lZ`xf6){k< z<38RHd3KJL9L%$Jjcc`%5<~yICBE_K+CQtx?EPdJkT_V$Nz8Hp-&akN=aJc8Z|Ue= z@wwW88ePl3*Ot;38wf0uyO>GF_;KK{RMKbgc-Yy7)J}*^CP}g(LA(jN{NQF*jMe7e z31AMLZC{DkF8|(or=B`hZynxycG;*P*+(J@4rYbt${9e6rEz#C=ot`M^v3v5Rm%)X zI7GV*sir)gH>9F_>GjBNNUr!x@BPPWK<1fHVtKiBVZnDbJ1L;pY{v|YagUM*m8wD_1Gwelqjb5gs`8a*fEmZRV=R`v0|5t)@%> z!kA{#j}QFKPypchA_E|9y2mHDG=O`C@%r*}4ZjcAActG&D3W zGonwPi&lowwf6jY63A=7!ekKN-V(+yAI?P0zT&!Q!X!#4cged};ECkWfZYhvx_Qs4 z_?vMd+tNP&9E1Q>|O-P3P6Da~Y@{#qiF;pFm=!KB*=&hI>E^eL>lnjze?^R@_HAu>Lp zuhp-#o7Z{cdrgM(l?g|)ViioGD~z_D{Ve^Ix@b(`dR)LCVlp4DE9FzvA9&D?=!`$7 zi|zjTJX_cZlE|$;HQ&1CZxZVgqCQLe=UHOCcCAY_?SS$r`co~jo$X_ODqnAsFLMr2 znMFA24G%zBlY6~(jI&O(9Tq+>ZO>9L^Sn4cjHsk`P3d-gR?m7o<2cwAW^nLL2|LL{ z4_l7uGKmr&b91yFut?ET`&|E>GVrp8JzcW&x}N5w zCXUWyb7=l!wsM;1=_rXjjoNg}mHg-eROGDA=K(6H-9cwNv2CW~=ANhP<;5|D^Q80m z>;nli>N3EEofdNW4MTUSifw6buw4vi;woET_x+Jpbb}ZY%|Rps*dyYPfdDyO3Z(}5h|f&9*^4xSaePKng?JpDs#@- zGK-40^p@AMx}x@LB%$5o}bm6 zp;RwK+j!qpk(M#OU4NMb-O9_{{7e&qRu&3@4oj=T%7elQGER7zC3DMe{P6oW8~fD1 zg~OB}_YJG&(0eh#>(3FIolH=N@`RvR7Ba=anqSv7VeU_#P@OE2P#7*8fdM}x3cKyv za)vI*q6=yL(s5k?Y+Eam8r~`;^|86hs6B9uS6el|QEyR}yt{hZMl7D9_0Afk?g@~k zTsC;gc26Z9f)~39ZXOee*hH1-P*kH^5InK5Wl!m46_!FJ-^u9#vnTaw_BR{{X zA$fY*Ft$ZugW1FZS~)g+^R}fZN$)^Cc=(PdS}X#T;r8vmc9VT}Hr$1A{W-n5m;K|2 zLxoKC_w!B#xTt*wbo`kz`9h=fp!hM_QNH|}G>c832xxuNhY45Ym}6E%gQTETy-qCk(p0gu&;)^z#amikBZq5dBZ zF21eVSE6P+8d&On5S|>b3#(+l04U9_%{JHd&YZH&mGN68EaQM=0x*-D5vqqD_M^8? z+Ei8x)62vxIi;R)qQt5BT1k721CB1$o7{fg2zsu?73dsVc0RGIr|l2}eufdcp6#fM z%%kI_ZzggAuHz9O77Wj8+_JVkqY15GNK0HKdQeejrq9H4o8VVwrpI>O;=I{dc1+sA z1bfzY=R)@AYj2-{*%tpzv4 zw!d|I-VUM{#}98)yE!eqJ^%7nK{#VfPC`%?C6S3p+5Xf|A>i)0`N2nu1`JTuvWwLU z%b7kyZz-EXwfWH*aT;Avx)ail=777o_GBTBCM2KQQCuotYy4fr#NnMFg& z2;LGUNsOI?SyEf$Wf|u@U@TC}ns21hg(9*-z>pGW!5+Z1RD`>;mG8xYPWfTk*n1c;T&(XK%?&(14wZa?Nxc5Yf(Ek^CHagmy;qnJFcO#XObXvSX$4 zta5lQa{NQP+4MmX3mmeyj$Gu7hcG}CjLVRbtv_*oncOzSWh z>yQ?gu9s2iMrfvO5g?N3R0$WhEhScLAa3OJie1$wxTn;}-~N2i6z?J7^+AaggHCbHD{(^|SKjHAJ``_-;yOVe>46mVPQkMJy&q%u2_R$qVo zE_+}ef;lUT7<*uyR<9~~aWF-HWA}ESF3_Q0yhdP{JQDsXur5y1X;;0;jSEdaez@;j=ts{1lYKuJP?WIZ#*O=n^J`(t1bqdN6e+ z{Jqeh-@-CzrtDnW*H|A!ii+$(d`(gax|!2f9($FjA5K2?;@GcU$>UjlEa4#ASd zTIT?=SjG&V@R>JbS9S!(;D+OE3HB%9PY2$Mq%NKWK21F(BXXamshSc~cYg|G_;M^L7!=2b5V^n8~WL?cs7Ya8yMR zlNafA6Sl-C6BeRG=j@G#vX*kKg>} zLFK~%V?k!5`ag_?l?T3cfNNehWkDvBnjD_j_G=k%15DHar2vA4 z&1q9|jwTti7WcAgRwMmGhus#V-IS7Mjto!gR8%AN-s29EnHFAzgNGONGK_lWp0mU@ab ztlm4HPI(^o@F)sEdOZh%Q3+1DTrLuZkbbig{q$e zB|mS1>V*Z(hTSbcHox-6n@gpdhuAj~9@y0^3v=uWDVf-7#6qC?Ly1mZQKtmwjufIi z0Xn2(+w)bAxiff-~sPV z?yg9``)+L%V|6b??t~hSc1;jF;g<5G@Fx{tpgN;rqF&b;+41qky4=&aWwj19GS2uz~ckL@~+9nN|mH8QXywh3{y zaQHTJKaDMb*l62H&IgrNNDFy7;@!*dnt+#t93B@arie0dUTFSDf? ztg%zmeE5CLyrQ5;f?lO1m-u~>vXfn@e$|JBk%mCX#)4aqK&}gqfxQ=cMEP>iSuXwP z++>7cy7}LH%J9}&lH@+;X!{y1)K64n2E7_)Y2{r0ePL=lLhdbhNmAV=JkCo{PYiHd zR_)*}j>Z^2R&{M9HL~rYeT-FX zq**9f9HFc#7_FfPi~Ww&GJqQK&%{aHFXV)vIlq_3cf~LA#;1k$?&B%M7lnp(Q?oc7 zyi@d)ii8l0MEW7Y-9ARZ1m78oj6PWB*Snax2J}6=%mh|~YX%s|;fO|O*yr1YW6!h} zWT`VjCi3BmOfDTK7Vc^-0ud^ARq$WXYI+iWK(4Qy0%NQ^EhLmbz{a`P_$c=2S9FER z?d%5I*aPe{I{Di;@Utuu46<(zkT)!SqK~8{T-bkkE0Qpz&%%s*;gR#@)<`vyDnNg9 zssXJ?2g*3d|HF0GS$io+^4w@)nQ^lDNCRK9@D5OjWk`(mu*d^HeHQ z5ZPh#iB8{s(5#q(h()MZSw()QTv3>Vr4KeUtP&6*taZ9e#zm`GLp3@7}t6vZkl{ z;>C-zG+yWXh=rK?XHDB*f;Nf0cm29%UFTj@z9$`LZ#XRTpo4MHOAxg*ahIx5xGayj zNqtTiH3Yp)8|NjW#iThU}TqeLr#-Fr*dZoxFe$e($ z-t-12>OBF+N}_8SlQ3`e{Q2{@Jr!)08gJtAhv`{;X2$#Uj>e4^-|7CPTLZ;ia$nrW znV;?*Cp{>1&5@3Doq6o^N9{>y#mDdGn0H9kZpbnN0vKDjK(WivtBZD-HQaxXd(Mq9 zp^1UaYHmDv2CL2{>?rNceI#WN9{>i`L!$WoA@Zs*;8ceWX~7lF7i>V&*TQW&cW{{| z-6iG3YCT$m?XHyjf=Fj`EkUU;a^udKw;JU*{1$cw)Zn{dI&9&pO~*Yk zd)u7U#ecoqqF}Ci5FbWEY2T~^NL`ZNy&T=yA0+bkh#s;n<*78R5sCS5d*4&0wv+pT z_3IQ$n{UNn(UWE$l&5mmcb9pD60)ZbzT4^#xgAY9n2VhnmU-wu6%&1mh*A8!N$}8h z*(CDWq=V?!bHD*=LP3JE?g!BT!AgT4M1KmoXqg7L?9?trc8OagNstgJ7iq&^mGjBq z08@%yB zV5eGM)IR0KAK&^#&3^!6lKIZKXfKOXJYF>ZBPURml*qXen%~9QFaHiYs@l?A#w~ro zvKW6WZ?FsY-ifU}aX0T$IzE6YNusG3IujeT`8c!IEKkn6m9fqDfxP4?=fL|kpWdJv zz^zrbdXp>`6Z3kkNsmxLvd0pTy0-&V7rrEw2w)g?3#XsMXX-GM-_C=DE(|Qi(|2ta zQnCwfkALV8EBg?_>#KhtX!RDtv1hKbK*N`-L7zX3_SwH~$M%j(?X1r5l~=QlJM7Y& zLe?cs6WjLMD9=(&(3~{V633e=`sN?a_J8t(yPsP1zWd!(AD>+BM>XPNkLftiw{BinYcAfhLFB;l``|I-fR<*fY{|rg9Nc(X&UU#v?e1SZjVe zDDx6vK1K5T4I?bZ9~x|@{CU#aWuB2@jix#t65q}G-4tk8@f(5l4XI$d%?6XauLHKA5w=yqtV=?nCo2Ic6GOyxO#8jn*)e>7>b8MZ^Okd?Zpvq4*Nwab#q$0+0 zvCB}2vE=o~efG+3Ix~JPp{l9X@W)HyG+BoA&pTg0LFH19FH+tJjJh4An1|_;b((np zjC9h=bb#bYyaa(n*U$^VoCMF$vIJYE{iX|ERwhS!RXF!z?c1< z{P{D7ceFobD`=f&)4!&7933gu?nNgzMQ`z0+r9KO%N11Bx z2H8q7V_$6*FpfJ`h`OMEo~k64);HE0?-M@d z^uAR*UM5Jet>wSOv_l5-9)F{eFe5d;H}I(YWg2<6;(_*WmSG?HN!RX4)+7NjJjy#e zFASMr%wGEMhPw_>QI+vMAB^h=dkx3pGIZH0QC`mvK_~3=hw{>y{`{d$-kXe$Av&QZCc<-0bYT zX@gYptbI1{pQ+<#b+j5 zu!0dw$P$im0}p+^`l^Yl0P5mDhbwuk@J@1mmZEP!Xo$<74J%KV_T`R-%m@J zU#DIq5VY|R8#q-!TF9@%vRzyI*7j+usXX{%k#8QK2OEVN3w#cI<5wD!S z8Qbf4r8xRMB^ii`v1?r(j!%2Ke*KB!;2-f&nBK-NVhV;%$!wK9F6*YZOlScd;l;*> zfgfymWH}JUxFZFl?yW6 z-?OBl~(JWaB~r4tr4q9&U*yDJx<=_D`#| zsS_%=IKby=SsD-v-H(8bnLsju`yiQva)vz2zoJ4!cqut`AlYAq~5CBQ(f5D%ix<%8qK2Z|muJ zEMDweg_zsz(xAG?mTC>;CJoDePTkz7v!|^lJu2>-&+dM6&vNcghz=Uv^oJyOnzAwE z&$d=^>IYgY?v1C~W>4wz4L|us))fxc_IY6nK-6;$SPxV^bKh64P7+qvvhT{nqN`(- zM20-6=f(xxx0z>@TAFgzmCDoVt5Q^uF9J*n^mM6|W7m*ga2E9mE+G=(m1L8^qYTqz z6SNNw_}9B(czGJ8kq-MRACX#>@i3GkeaqoB;+H4tc2zQnx+jDg&d&fjkR6h%EUI0u z&tVxC2oG>2-+ugs5RvgH_hn&I4+E3PfvJYkGJ6RmVAsAm%Tp>CLbUgd3+ph(l%~`Y z?dDM*;}snKJUGdOCX3Yud8$HnXT4Dq)ni!u^kt!{iu*|?e#^5BNwzDR}+!)4RjmU~FACajG4mN#5ga@O??aw`I>89`I7MAp-Zv&=4A0yTES} z{T{zkfda51CA_$LEf)U+4JYe`w*Xtl{56{>Nt~O}C&vNv$5$R?8-wlrhP1h$VQ{-0 zcL;iE!X%1zV&(DSTcW-jOTvl+Z1DxN1rv4KAypRIZ3m{;s)ZSN(OvfUiiPoKy6tJc zK?~usL3EpCCw)XgFVz(O_BSS4*pP2o+^h|( zZdRvxs?bG!d&A(ko@!8z!>?=}7@?AjvD)~kk)>m|l!Qsox0|xUDaDo-_EHdwL9&ME z4`8}(PlC7!UyQ)B9*QOzdc*n@Bi-lO5F&v(5D@)0?zH_YiKNgi`9%JQ6RtqXAd0@C z-N4~t0Gr8ZAu=ScQ_W@VhH_QHEXIx|%Q{B;m}*LgxbwBYLB+clG1-uZDfZ{2yeq@w z&bT^*d=1rg@NU7KOrsUZe0=Xjur&c1QWDa~-O%`6(({zhOB7UM+a+nrcDbyfYP0b3 zDOm%b)N%z|WW+g^#;VefuDogUO^6<|M5)Ff`cJlOsaA1QV*YU7ZNHl{V5 z`JR~#6PNT4Q*|$n+2yw2eXyZd+(hK@GwD$OyZ&A3aeF;*);he=#7tbsHPBQ)$(iuC zIp%y&^fBKE(*uX|+9c=nfM>-mrGarZj@;8-^>-{=!+dLTlhL8l-mJwesE&FHuPA5v zu{L2$RjHo2MDCA|&cE(;*1!Gm{7u|a_wKZ9reOD*@=66EiicqvWN_xRL&A;+HhK+; zISQoX?i@P117;>|DSMVX2e@0waSC-f1?G#nQX>)Q*~&j9B)L)0eP2ar=y6(n77QM)l1=f z%%B$)zvVyqhK7BJ?@%V@er0goPGcJwLpGSHoeXv6u5NU0>Kl9=QEuBmCP->6Q8Tu~ z4P4W zjtU*$rJF>Q{i$}LZ}%vSx&1Zfq?l=%?XLUUu`SU(Eta)eA)F8PBj{+lbGF2|a_7LX z&0ejJNpFo=Y0g+)*u}aL7;_5aC?(hf2D$2WTFn^lO}$G+h1Aqfz@nki>bkiQ;Z^%! z9nS_#FQ@J}F**zyfOMVIhkqFvOCL7o5i@aSTAA)g3EN36iY`oPVpo?ub7_BK24f1( zRZ;(srnB&C!vDhkS5ZP5lx`5DyGy!3L*;J z#DnTMZYa>mKjZNO@&?z`E-|aBOm#Q96h701IUD%L4@55gH7@huAi#|Xzhf8nNY8J} zaV}ZY_OMNn5>SYgn*DtmrqA$^zu@+ajvSTd0SNyYV7DTebE+OwDFGTWp%Zx^I+3Q;GsXQU{gE8u%|bDP=f`H#(ZOY#R0iHnKeE)P@BoDl zf`b>dedn*X8ENQv z-iRVtxPswAs$W7ds~Z#Cf2o3g?3v%>%nZr^@l9dUmHaO4XWLhBqc5&m{NUS1PE9O>lrdBb-M2*WMP3h8M)bJz>aI-*A|URuzT@RUskx!` zsOG~&3TyK;hD4M6c3_3^U+vr7xmszONJ}2T#8GVtLyRj*OTRUU;ihB~?JG3gfyhC? zs8Ic^V0N7LiFx9*fUL~1@7_+ac@6^>DG>jk4#6TLng7(72I16?Y^8S<7B|B+$eDLRsO0_tmvpA9S(#wI8o$Oh>}YU2=H}{U=d%C54h6U8$x_BjKG~A&|SHwCRaPLEHI$&r|r4P zGff*2e=s8Ous_)zQ~<-NwjJmoOxA~BEU7Th7!z%Hhok6Ye8NZNC;R~?kv&MakBi>t zpdr(h3E#uN38vaNz>1(K^2Mg~StO*tIr&hs+r(fK&?OsoVZw67W*!^vkT7T(&J0&R z%2k_h)j!A=AKbHfek)oY6eNCTyZrLL!+g1EEsM{A;$H^S%=u+5LSP2AJ4lCVW|4V}zOVNegkD^At z)BkJ?FDj0C?$|RupIGRgs4o-Rou_2}FH&qR@?9w4r{O?Em^MQNY`}9g_t}w2F6ZCQ zJ;iR<#rS9&4OM0zk>@y4iYG7F4LdN16byMUh703Bq+_nV<-ddRx560j)*0`Lw9oIo zhLVSOUbdrnZLS;MR(wyOP3W{RV@g+EQ<49tkY9XW?sdJ@A#q$Tg#$fCkna-+h9^Ab z_fEZ8w{8%*l|FB@DwG^LA#1n+W$>8-!ud27TazhIXHY-vHIRSI0kOkJ#R)m@+~ex& z);oCnR&DGWV#sy9eO6a4&9t<4cLA;EKNf!pX}ey^(0L!l%SroxMQ(lUXxrWG4Mo8) z`aMq#{;|TgDcV|@z5nS)SspJswaCc6A+*KO?-e{`?qZ|+>B960^jU$~9CK}x#nTD4 z9+OobJ6WDDF>@RnZ15cYz9ps#ndYeld(>u*b7WEPF<0LRM${zFjbv$uz6ZFE(O$6N z!880W8(&FX?Wbmb(zTcBI4;t;{hi(u3R5G})|&`c$?-@EVt|MAL}HZg-U~#&wYe_w zRvaaNx`>Em!7``n4uVv&BUVdK<9ehiw3xqcuo*SD^s$h+3GOpRvJ##J{S`*Wxpuza zHt16#lFW~_iD?k~7`d58oO9*6oDe#v!V^Fyw)!!$I<)E))hN~h)znGFrHr8CV{mP_ z^0Lb}$hq`@MNw0N@Bz$daDU~EiVtmESB$`Cx}WfpK~?vu$E%bDqt>YA1R8vEGdL>f z$J-q4fc=U6Kq+x9qg${;SnKmFPkbC1InKp>#-^@R&pCs|xvFm9(=f_!*_+AuXvsgW^wK`#Qi3xK9xX>2avY(ji*F5zcsA6 z&ByE-k9&b6kPxM>th1mOcZpuT)V9y@Q@JiyYTcF(npYB*>6`~V@TvW%f}Uw^9YKah zk}g`7h-NXEM9Bc-)WJgfaXayp3QhQJpmB?}VbXMj_)oN2;i=`y49Ai4S06-gZ#9;# z7DHAf(#?pJxDU?pSOUKW&?hQ0;xm1t?BH8QiSLP_eOt-KOLD8Zho{DX^1NHEjHtE& z|1|zAgWW6&ZJF95jkY^K&F$TM4J8%kA~ojOP_)^&whp-6Gv~izp5-4kD_uSIz{++` zTdf9k`C)r%T(#rK30TSg9feUuT{g}t^x`cw!p~6r*-tl!$^7j2{o_S@LjsQ0(P@$_ za2vYr>n4k%pJM;ZBS{rstI7$h7&<<)-CA}o$auP(ejkIE2m$Hy`%~2d=WLSBs1_#n zh{@EZWoEp5%pX;SlFjz0zTcMEcZJr7nL$=<9eGInarSo-N~OJMt`UJZ2tyoCR*T3B zX-G+0MK>5K?zogV^DaeHSMqEsS1c%+Yo-uc`LXkZ!+F-TPf?#oYS|9LYgb!wM2G@T zP@?0y%~_|RlAf&?6oU62W$SUs-dmsjXFWgbJUb2G{gYXjgLzj!XG8kKW7ofwr$&AZ zp5P$fWjE3sKCO6`QGj8kMh_|pAzc%bd7{f)2Mt;`-As>P2FbC_Q)%j=HMOu?QC_z# z7;Hqsi0sAEJ@GbEw=PZ1{ArCrn#^k?w-0u^#qt|!0ctj%BC+C+-DXGUCiFNf2NPFd zAlA%gnYkl72S$u*x`9Sb{Ct`nM4av;yq2Q=>A!KXBqC6y@g?EY;gYuyCy!V;*K{WL z$)Z8{OHqFPKArt5_b$TOLdz5p0O&X}a{2wcutg`+NpA^gs(JcpZB6zm-Ty?%q2K=- zp&nPTdXo_~FTq1X6q$Nd86w*qnF7)Z80@kOm!ur=b1k2ADwD8l-{`;&OXCWoJXG6s zJ2J(^r;t3Ch!5A*A&%;jn5|apN5|-X+wdH-A{ukFV4Cr&KS5AYcoo4csMLBuhn@Uo z9rTtl-TZRQyZ-7|kOPG@R?;@?t;`p087Q8{3xFRbKL^UJ18nD_9NkTqK_4Z`2&0Uu z&}<1G&vCQ-PGrkqE$M;_TOh4!Z?}vZgsYL5iA&s6RsIkrW=6+NIeGe9U5M)+QoXcQ z*&?Plo2$(F>nV~M(qQH>V> z7{B=GmORL@DZGl7)QtYR)K%_0d>#wN`a)+^D7jW}*U)#klTfm5&@xGfmylIdR0Jz< zvZzIeQSOMZg50cM04qBbDrWVTT+22`SrfzP)emgouX}+7UdByI8&d{<_+xhHUi{qA zJN(th!q5LVEy1d-GHGEHJxY&i&+t=aTj+LcavxwN%4V5}0-vOmN*zsXNR>3}4XA$n z+sY#inZn5K0Qwv&u$o_`qpM?|d%3SL9R!{Q_YKa@ec3ZYs@&zS>_C)367NM|OO^FC zl*W`n+aVg2b8zv6N7ltdp4~UTpl!@BytNa(tBP_gHzmaob7gs8O?QVaM|?zwL1y?8 z0|MA*yPGQaJ#pV1@cmHcp32(+6OJ8#)HjAV|4_dU5};03OZ;Cp%t+5}qE|1Ye|vi_ z+^*rsOOzA~tlXh7WpiYBRIgE?~IsI8b8adt%n>WvAmfQfX#ElN} zmw=Lp@0`*G!YhJD3!=B-?{PM;$z)83*Xal%-Q~jU5}Kobx1EAUe4js|i1I@dPe=Y^xEu2_ z;kFzh6g=A2Vn8OtYj1!rm5z>U014J}HNCTNpip^^h~C*|H~sVFzgdx!Z=RlY4>?g)h&ukyAmB_Onr1e(WIxfG)QA%=C1c zt8WP3Q5l20ZokiVw?N~y3C|A9wIXLbc3K|H!c8QO(>ZnLEc-Bhz&px-LR$Vr0QbaF zqBZ=}dO9Tqi0JY-FXroh8p9jq>auE<99lO(%<2DiPOv=gx)LR@BE6`$Aa&!+3{ift z5=Q|K9z+=@CTf6p8<&p+#q4o7=m`H#67C>FB$g{H^;LMpn1lG*765hj?~~>rn|6(VVfovLlV_bgjK4bd1Pu{4|??ecs5J#Bcczs;57M{>st70DJ~|Z za4Yg6f6SMmS63r(QtO^G>&N9&FEo|++M{dn`n}^Jt!*#YwF0)vX4p^e4{eVNWv`wK zq9v4t?kdCCw2l7k!SieXs}OOGUBJ!Wtnz-l)o-L}bU$5alQcxE`j=RYd4Euj8UAkM z)dEx>%|iskHB|Y>IgJzBhsPchi6TAtpq3^P+#52A`MakL%hGp#sbM(OFA6g8$ve_etz=%YAZU0R zES1t-pk^AJG5D_axW^Nc99(v~I4hApiI>rI=N{4VHnY%TL>{}SXPfcH&uYHozO2f_ z-}ler4ajOpHbpF%{#t(GqCISbpwD*@Gm~B}UU(SZ_qME@l^ZtmxniX7qIa8mclk-T zY{Y2!Py0v%OjcMDNX^7)?U)w2nn^1}CgDF>J zDjV}uB-gBzM$NqP>PkZ|6^jttiUY1>HdfdsC8{zU=z7p5D>YVeH;cX z3qqNvop(!2ttOUB17pCnqOLav4jycU& z`p_It`zk8bPn0PO^4O<9U2VQt!p87~l|OJJx$q^e5=`n97E5$_yJ4%Mb^oe7uW?QS z;3tTxm#LPSP}fvd0BBKSNEg7eKu`*q7*1NSm80qO$92uQT zQ2EP9bO-SwGN=63ZsUB>$@!~xPUFgg>!uTttKH`OU;~J}_N%xl=&o4uhII8VWN~!v z;J3@0rmNyk1>*73@2{ZwI`_$^Lc|%uTqyvO!rc9*{7ZbiU)!v$H+rHhhaViu0G4*+ zYDZs0I`2tmw4j4A8(eyR!y@{r00RNjU{~4?0jZGnuYHHAJcxF92bfZ9nPF{6z3|=CFM}*iVl_D0wZP zbtM|Cq@@`h!^|QH#udQVl5J*XS7%&}usJL{1uP$!1oykMVZRAt?@Mi4^re2XIf5OV zbDlHmkNn)mhu;B`o;)%`Me4p=H&%b>=dBLiF&-h2tfOv>c$m_BX)d<+>Ab#flC1YW zLiK)M^+ZN_zWE$(T=RM$^7C}0oANDd{f({lJdl7P6E1 z5J5qIIhK=N>^YVvx6g3uP7`Q#Z$;2|Qb{X#SL0W_Fr+2z8B&_((CV*abt~oBrex_* z6&oE?{OX7wqXXHF3IOxm2Iw?n^5bBkb14AYEYO40@1|wL@Qd(V{iY@%vq6GyF8#hTos~6M>~`I+0@(kuNF)H63PW zH6s%883w+;1V=gme7ao5te6=Jb| zoo@ANo|Ie~F+8FG_QQe)(UY&F(RnsYUWQIidWmE=I1Nhd01rjMyX^9m=#6eCz6Hu5 zy0D;?hq{l#jm8tWe<8Vr0XBUQ2!}DqU)~YreLjGur0UiTPgT zFcJNK7J%}8@BE)05x##Evu*d+ZTtZuowkk`QknQ{I+j7^TjoQ98V}ll^TY+(`^q#b)d$KQ z;@6UYuFHRARK5gUAkGNWzwcCVzHRQskI&oSHurgJ5r6XC?dkXR_}atTQ8_=#)N#fN zE49Ab{~F+Oc4~cHMEskfC$`2`wpXMV=J||lfs)fZa_M6-E{YZ%rCd4;`4E|McY+8l zy_+wL0Jg8(jI9{{)$t$MAZ zp&lOdQui3j%BMtJfj_0{58w7zUxxBB@YL~ozrS^HX~dNLk)`iTKHqcq6bo(tD0~`KT%@59lahx;nBJ2jc&gWm>mj$ZZ@T5ULeR{4C{^+V7<$K>%AvQpRVs#*=5 z>E@|hl8zLRx1p?SoJ`*>g;^(voGd-kbzM{O8v}1~%P%N|rU-kC=uR+4ji`)c`*h0J z%g=yS2>pM*YmQ>RQRn2KP@%G&3djb}W%2US6zQpZ{h~)r{E$ygp#qM4!O3&Gz8R9s zrJHeK=^j_94z^|E7-`=7UiAV;STX#x-K^y#iO9;~!xl2H41tk@39XBXzCZXC=16hi zGLgr#8$u+FID`G_I}DM)Y-a@7)xug>SZ_LVEB3Fq(B@T^EuH9hEW2U(MOs-w3}^`( z*f$>SrlYlYI0JSD2Wp`*(P<%XF1zZK&8LMKO-PRr$FHK^Mw(u-R#b-%2_|^6Ng_J5 z-fKn{EqjfTv)kM9Z&}HERSsRtZ+X!K!s^1I7GnaKbT(`2V1*>U^Rk*}mY)==@>qsO z^MXPACjs?6v?84z&*@Q>UFCKXCbOhg%Q$k!-+$k0e5NAuU4lQr5h>W4fw2T=r%e;QR!QMRr z!8Dw0yrf}n;q4N1C^?MNpOUv*ux3@%uJ`3Ok%UPla$7OqLK?xV9JTZZ9r9m}{kBP@ z&+BQp<221o&}FwUs=fhQ_T8X}({W0s7bA{Ym)-S|9W}f$);ntTF5gC%CKz}hX7(B3 z&Qbg4k{bj4?RCYX&QG=5KRoXiR=5jVHSVp<@=*O>4m;hDouOlzc^$eHMdvl1R{=L~ z4R6$Q&GdL1E;nW8SWB{d9A^9eO4Q+7P(XU}*(&-j!c?GLUl0%m;rLW$x~EL4x(P(( zuU=?omNZh3oVh%+=83V=repoR&(_P|f~tny-V;gxE0;H{JLs)tsOFQUb(3qpy`=Ep z)>z&4SNb{n$J}Vz29v9bH`?+~;P*Nky7Hy`sz?P#GFZb^HH?^V%*0X>z7j-m^U`vKxih5j zfap*$>XE8}=@eLiP?xsu&6mD(7bWH#qn0lsFSFRACZHS#zdNiGG@f_kD*|LN^79uv zx`B;NE=XH45rW;ql^V{`vur|N$B%$NJ0ZpyE#8(jSx+jB1CF5bx>z*)y$xcX^FFh+ ztXqdYkz&1}yryDd5=2!?((xM~ebyhw{?98U^P6e>r2RM^(l&2~!M5K3}z;c{r)doB4F$EQ(1~e!nKAnR+y6pR>)8f4DN< zaoYrk5%k8PL6Ks^+vyE@O~0YBkB$Imwei0YR&_eJO+@}_NA4K43dJg&4({)OLN?VkCtakh`T+LrDF;Ujp`J zl_5u+)LpSlC)bw}W6BTCYraJx_2_|)z-*>nqEJkQ$RTv<{m6LszA5FS|C#8H&t22w zz+Op7g&kylG0uj)IK)|-D3BN@tPO#pqGyPNf9Hdn!#{3uPjNVDOx_h&X;eRJ3N@}F z0YDSMPKU;s7x(qhYQDMY%bpEue;S-YO7y)K6-46kY_kwfvn~Q@4Y^J zPe(_I>r`s7c-bpv`ov_K6i+=+aC+tMk@9*&KZ$&S`BSnAM(dXeqonmtCTiO-)Pv%GL1Z9hl(Jok6oFFPA4x2Del^r*(Lldc!NMBCl(>#b{w`8MC5q*1<6+h+6N zH?tNe_LFp$u)FJEyiw2>Lq_t0*73_Q^m+feM`1p%;Dk%AmgS?Fq17g|HfrIS#rx-6 zlaWsR9={;E^-^0Nlf#Qb>b{vozW?|yyUPGDuVVhjV@YSZBs@X+3ICP^Kp_M$GW!dj zrwR69zl`sLl-l=^?JhyYlOhk^ZO!+X z6Nw>bfA_!m`-u_xe(JEDWIk-U33n%fwdUI{SV$`qzRd~nXvB82ZP6WZpR<*r>OKmw z{m{F}Wy#kq6YiiPvUq{47T!Ic*c2GNzQ@e;0&$?U&W(bSh%$%LIWb2upleeQpz!<{ zu-$wFNMR4qqVYRuQrkGL9onn>g2}AAZnGSwZArTxYEmv^8(X+IL}bA{ngin)vG7|% zW+mJRy;m#%DbreH-PjBCv8(KZNBUz(yngx{&t3Q5Uv21m6kbtKZB)OvHNxcF>|P?7 z6TGM2yqlsXp1IvN*Iot>O$Ht7@2Fn3O<3pN3Y+tss}nf+0%!9y^(-Nv^+zp}`J_rq z{dL^RPN^w+=*Vuf&}QV@qQ#*EvkJat2k0KkZ>wbm$}(-@G)C)aTY}_B38^erSq}K% zGAb*tN$htariOAiSaKM(Jo%O}|2KSK97C|2@wRkyeWuQe;ZzOLgcVTU`|J)H(NBFy^H*-vgG(cF?~DS^j6$$foqqbYKPbs(GF8#8 zV^-xTwLp~GQ$LIjqby}5p4GawhtH5CCQTyr^%2H4Vd{B*RdL@u0nB97{6Z<~UPsQc zXR@zdh_=iMV%&0ZUN>ldU?gi$=pHd%&-MM32xMWum6)m{u#QtW`2Kz2L*3+RN-L_M z_W`L+Q2+#Q3dfTiko|G?88W4j5U5%F6>$8Gz`^x_d|~Ql;r&J&2kH#kppC8wI4kKH zVJlG0bGhuuy}GwO()q>9J=k)zyeu+-%SH69--Qpet3sL72J*b zJ1s*;8%Lq=%4*LO zw)ecM+~6f+XT<|(H<%D+bj-i;nYqmZK6dJuEyd0oZukr`@BQtb2x`KU#IAxWG( zGHukIV|d;fH?#s{b2daR`jMiTd~eUp?>zuCVEFGRZ@E%k98)@Flfa9y53a0h3~uS< z;lFX}k*{I0@)U3bqcj=~yhEDqU8F41VW${-QXJy14WD-M3=wdeK29Txr+Fd*)zi85 zS8!w$6;W`0w<)!??MN34O}B2t9Cp4ELn(E{2zCLKkK;4d?wJF=Nv@1%+)bbssSWJ4 zyki_>e!}y^zd(0!oU`*B``OA<>PL-yJgsu5?;RXgJHW)El7Da+Gwo%>xj%1$dmD7d zXz#xz(fzlrbSY7%(HPh(ruJOxQx?Acrl?#VE_cd4;&j?)k2e?5Xh05rosE^`)UzUAfN zai6pa*5x7&#D2RNtFW-#>$!9&_NMf7*6%9aa*8I6;7`zCko#D~rhdb;XH$LaNN$%a zIw{5IVkH5)cY^+NL+unr5aiQDy}%<^o%Gl1D_z4;9uEP}+8pHI=sbFck%b5Z;<_Bs zUIYwBKEF*A3$7URZu%7Qd!mcVym{JDjX_X(ZDT7u#dEi#L@{Bkq7w^u@o^BQd*+`V zRc7Lkt>L3-4}St})cZ8xmecBRlM9Eu3iQBIcF-Bi)6vOhhqdbZWe%udbEf^5L`k^t z@9xAEI+l0eYIxmiecsU8I8(KJaZ4=| z&&-0*XWS%?`;f}SFZ)i}l6pu*4s(EF$YZUJ*j4QDPLS{J754nE%dYrQ9^0_jh7SaE z6Js7d#pLf#g2vRYANGdj;+V(i0~spyQ+{-3{7cg<6LK=*?0bZ*0_5A2N+3b5^Rq{! z9UF%>DIaHEBCNMyjO;>M{6SD$-|;SsQZ=Al?d9_7?efx5Qp~h?!2Ly_Jcpj_+0<@I zz)p&*Onn>@m&I(^n3VBSacyU-NNbS>)d(z=KPwuk&-HL69bB<7b?uxL_2CB^JM5+bBP1?>DP76X*#Yi43xir@Un9&6z8`8b@fAr~YC+CjyKK=EN z{0oP+a|cPkg(G~A>;E1F3#KYOsTS;XdvhDr?7H^rrPG0eGhVI_HIB(bUd(KLz{Tws zdF{+Q0qf7fRWAZ`I)&HcwfJ^E3p3=skZK;31doON3_b#Srobb&yS=@zRu$Odudu6* zY=k5B3JxyboY5mDGreIEP)}Qg%vEXZFOuwouJS7Z6gJ13*O#fk#2FeP4MKtZJ8GdD z+5cK_H;D5zR1&OL7At|xo4e!vvx3cvNWhq6o^cQOay!tb>&r?({yE&>G89AFOVNYo%fA(YRN zo2Mt>K*+U!zRHqFjACU znK0Smi_+Yz!^EfAi`HwXeP6F~xz7D%HC;6xaXm2Pidq}K!WLZ_aJX+V>xKPlk>QC~=Bx#issK zC0D43rjP8i=9NLzp{wVx8S-Yn_t6rnl2@AtXO@6u7x!4R^c!|u|EF;_QTufe5vPAL zhYmt1Y!N#T_lPsZvcK!RUKwHhQ-F_Q+S+d@a1@BrdNTTw$4zyg4(FRlK8hy=%vxej zwr=@H4Ma}rN|#+_U`Epr9a5C~n%z!K&h6Kk`@xDE&7QDK{Y~B|Thb?T?ENH=yEQuv z#lQ$WHtd3H-mbfg!265ohuxgnb7K96=}?)yy;ASX2l|#*->mV9)80(kyqINm@)KE_ zu0HzMBNBEpCTE4xAXKk4)oJ=HvT03Qx1h=bJGV6mS;AxVl7#-@vtjm*s}_|rducaL=m(FN+D1j>!LWynHuWrfU`L>pKkU`4?fh;AnkYXzv~i> zi8h62t^bLw6<*_CxXX~j{Nt`)C|ksZu?PmFAK{;Py8#6F3;b06(Xx%q5hLI0xS4}8 z|KrTQ24&h(IA@FKPiB+_Cy7()L`tklz9ROO3=x zGDfeMHxl23MdQZ*CuEZClgEZA!iDEoPnMKO{l=ul zH`;w9xp02S70FevE$5D0d#>~+-mWif(7ZEGxO11UX1~yjlO9^m1rLd8-qUF#3`$n1 z9etcOjB``o#MBqb+&)@4`tyE7XO^3LUiJ%EwuIx)#kkm(!wz&i2GxNzTEc;O7W_-F zuOr()z&b(EFFDDhePTyh18xWS6VUJqS*;%cdO>2c@NlM0ZXyQ3iYV@!H@~Z&O~&ob zD44Omp65=KwS&zilQ|ATT6dbCT~ibbzLB+I9THKgN|NhMQlnDwxOkSNCJDPb(^5j@ z@dhW(%R=8UCIEKtIeXN|026zyT=YfNZ^8@6uRPSLtPj+PHvgFLC6S0F7FfWDo#aoSbV;(`R#DPSzdQO)3+CYUUpMfs7pz@d$JjQ#E`wpoC7%se*x!# zCsjNj!Y;DjM{ZeFdN(AAweJh=Lh~BZ9>3g?lwF<4UNd}qmK$ZTeovW>tD10l|~*KxQ|TjY$J{2 zl8g0KH#X8Pc5i+RG*0Byv8#BZnwjE9+n~no$E-9-<2b zsQaIcb#^M=C82AQDUy*oV;ho37GFAik)N^1-=D+m$=OjeKRKdIOl{_o)44BlhM zbNLTJ`*$sqS5aD8-TRG)|Loy0*Co-!CV$2D{Wr%lBJ$aBeKAZqSFeZ<>Q1rCY~C%O zd`z$8y&qdClK!A4!}FarbJIE77H^Z>^Rb;JD}434p;8DeM;T1sZ&L7D?AK9mFj+9P z+8GZ>c#8LyOmDC`F-8mAd#cUo03_7MPHo!g9t6Mc>*oKVR#ax%;F&`A6yJjP zI{wCxZ0We4ct<&b`9wmT6m=}Y{+4!S6BbO)#sWbzgT9?|1fFu(559gP%l?rmz&=g) zSq%@z6aC-_r{uJKjvzYm5glC5%&tr&l94$%vIq$b3fnrQuQNWA1TP`>qB5e7oIi$T zM+L@~4c~Mm1HrWYz~R2{o8h=%c94Cj>*+1k3r>pbB9n(Q%fMN;`(_NWV9;5v;zd?dhl?B9FGOM|k3v~?0#=MMoRtGRh z!sl`tQM}if)~ffYF{c+O136vKBL41ug&D$0_o2xnydN%^ohox2^~P>W+|{lZU@)0N zr(|cyM>L)F%!?W@pXE)=y1NOY_BKWmr<~TOaC51f{I*euh_7m2WRyJGuwSk+5inb1ES{eDSm{E7nhRv=F$Nugn+ipAOvpKx{)jk{$+(^)6+ft^gCg zMCA3{X)gstx#i^DlST{+2Ci&ujF3KK%m!YqeVVgzqbA;%p9$55`PyBBWbbc~EpFGK zDE(Hg=pd{kP8o9&TzQ*&pUh^XlG5IWCib0;3v!uiI}`Ky3FiqlnW&oNe8FuzM4)I~ z&wFB-U=udPx};wAD)aF8>fa37@c^=3A^lPGK&B4QYUDqhnOod*8??e;w^-R{Gq~0H zuZsk|uO5?-Sz(4s({!YK!0R7?3y?OZfYe$Fs?Q(xv%PwATq_dV{(1sTvDl|=d6Ub& z46ZaXQnh&@w8J6oPUcS5gSWw!i>fww1>H>!*c5Pb-_(4oAgX@WL;sfHjN2S|5F74_ zAe|>I22H8Z!V=Z2mCU3?cP_NpYYo1ZAgA+;Q6vs#Q3d5 zFQV_rx9ak4ui|SZ8zi#M?N6`|g z9c*~=cnQhl3Exq{>E)|NfK0V9Jhv=@BM_WIDU`%oYsatNvg}cn-h8U%+&F2B zyYL&3X6Q^MCjSzPJl_8+_+AF|`dhp*%gEyD-T6&N^y%~7Er3Zc#i+RcWonpJNVknV zhS9kHY=WFD<#1EtG)~xY6N|B)+pg1TO6=I8@SJk=Lu}a`AAm27&hHMHlLIxb_9x9_ zdZCC?fVsAtjKdh!Rr+Pf9x}liX-czAyaB`5V1Z+m3QUp??|0VHNZmI8V3!409`mcv zRmTDXe!Uso$V(mk3ui!JrH^ySqx0;?>sPea@iMd*m%{%qz^N#=shFaYl$7~Ytj$oT z-V(zXA#(v&EK3`Gq}eZl8VKMnP2s+P8>#)v^-Qxz8p0MDRJo&N>= z3(m0HqU%rovA3l)kNhC!lZDninSv)K&#y%KnJ{hoXww);AU3+)-w@9ig1>7b`!`H; z#ch7|ZKIeZMS+OVYVf~V5lZsCU;JfW9b!k1fV7U?9&(3Oa0a^<9aal}t4;f6Ta#rF z%fQ*{mrh6OS}Q97eSsW?k2did$)ttT60g6)LD~Szb+LWuXf^Tc=A;-ZJLF25T&J%F zOd#UdEVH<~I*~L*Mp#VF#NP;|yI5T`y&^7!mQU8ZLLykPUVZ)^+pZOz=|tL}YU4NP zVgu%R%&^7%Ej%+y=6_6`Np)~l$r-*y+=VCk*V`m=6Q2p7<-Khr+#Rk>%meteL zKKMLi%*4)$(J?3HFPo2xB)SW$7;sOZg}e(KQb_)JM%DmGZ@5pJTKv89XrX25Eg$h$ z$mTfS!u_{fVLV692J#@hiZGs_u~=Sj&Vq#g3c6JG=vIwHz5W!PAQ?o)?r(Yso1Wra z7zVjRJs~!3iJ>d54gRPv8O6C6^ z^j?MkT#*tNy7kL{90Ey`{-#8H@fl`{_L62N@FBIHD1V+@4x@e-fBc0Ji%h-ZI}!VL zpQ`z0kID-Bp#weB5ByO<1OibD=XD&2;nfMgJO=y};RnN4srZxLgTVdEUU)Hm!^aN? zr}?wC2+x(n)Q#x03=YZ)a_8m%~^W1o+{pBr+3 zoJV$8s()nhdM#$q#zywb+MH5xu&abb@gqr3Y`Dha6Ir=)zYcsrY=glCPN&iGPx5j6 zltC4<0@kQaahVSa0-P^>p;mq@7H6!86MZ&i@faM2%UThHj`(t-cn6R=`4>)+S~ppp zFaws%I0Tt>^v=+VYDk2J_wz9+%ah-iCpK&_&~Xr>*?G*bD<-H}QnI3QBj4QWD>IJM z(_k;*@H||A3R9=xpU5z$IlsYV)vPRk6Ryq7i4gjp@6+7 zvn++YnOVkfCj2V+JL1ZR4H4}N`Ib^O+&IPC++5%|&U!+}CoAg7Q@sCP4{&76WeS+_ zB}FxkG%=d{Y$f>&d|t5~U*FObdWI2IsrV4CZ^a>rELKfaea)zGFymNELqeB>C`-Q9 z=KS!JPWGa$_PH?wan8)O;@7~XhQEyLBQ={Tf#{SlP9aiLT;HH)%KW6L&7?1})!t8O za(;;iZZK_}?`2fZhC!luCsOKBYM)4c7hgR=l^GvI1Y`&MNa0F?8WrzDLBlwMf6V8~ zaiHfFm?7;fV(!UAAS!g3xCDTP82puQhZJ7DfDUR~Wv{T}Fe89`Fwt1_cZ-mwnNzHs z>KG#CT`dz?Ev=;(#Q+Bu#7@^KS;il~zF$wE`s%?pw1%wyBk)m;;5@?VY~qEyvzJcP z<`xl)ygRan3@9r3U(Pu;aaa`wYck-oEs>m%<^yD$pAVW(fUDI`W`lB~PsChz z>quQboqIx!ZB=yVH}van=NB~tjjpFww87zn9+=T=bqC;#vs}tLPfGQfl}+BeH)5L7 zrbb3~kvhxgd3?!n*#f=u+w5GXi9(p;WM7##G&n4?Cy4Kmn00K9X3&=-^HK-Ir?*dJ zv1bwgP`i*-moCETG~4X?n&HAsS53^&V(g1j*w4trSfx-#iSiQnSkKucT0^)eailTS zAEZ8O`mcfF$Fr;ujb}kcDFqdoUimRFEKjYye$2^udY^?Z=++M;fB(hz<@)_(j;9N* zNZEl~k7Z04Ys){LR2`dKqwW{{*1Jg^M2<@ytsN>zZ7MFw^@E=L=~l21xfbS}u}3zd zYtcT-!Gqn1S_EbTV!$1vX%|r7&yoB8xA)va+Z)MQFLLe!F<}g9UAWo5U^`vXd$(9| zXIytHzhZFU+L=)tjjyFl*Wq~&$Ly&8od30-WG;LseROM4xBlJF=px|e#WY{v&1V)A zz1ec$p=n7p*e9UQ0_;y7cf?pcJPJzr8AGS~HUZby`^=JBy;os#JR01jEEeC;q|P^C z-A2>7Ciz4tIDlLk|H{N0UnxD@O0s5~nEZveWayXzog{iQfm^1586kgO1>R~rXXT)| zJHETdoUxNRVr4(2QkAis5L0l@ygL3D8YUJD);QKS77wMw^VP|&muQ#|3=XJFmW~SM zO@3@Wp!@{F)TdzF_r5ykvbCpBj4WThXO# zX>LIYU_`SbfRbYZkr5whTtlSx7%klU`$vtDkWVN#`3twY%3im|2<>yPzzeTwYTL}X zA+>mCa)l$zuySB%Pw4xCmMSx1`lIc*!x|f|FJ>$%SmwZ=8s!$X*v#K;)8R+Yv30@| zuq~XEmSEpiyG%J{*y+Q9=($bb_RdJyo~+J!2;+054a*=Bzw})yWiW^2m0i?Jdjhvu z*U2x!{d5+nb`|+Va4>?AWgPi_k}U1^+^+(9{^2}VRsI@)PG|%y$e9D}9~Ti2*zq&i z_nk5IUy5yPvJ{_GB|vD-I~{0{q0kr~^Qr3A1;)y)Eb8?eu7OjCX`&k*7j2ixON5GZ z#lHxb9GKbO%PQ?!EbhU+3qcpVT`&<$GI^s%0!OiBfvKiXtbrO1+H|^zt#xfD&z?IZ zYk>Hj%J{UGM@SzV&>#M{2`TV0tA{YR-FMg;OEFH84PUd9IeoCn<$b6aR;Dl~GamZMV0AgwlwBbgMK<4X_FqDt^+>9-QL zQD9ob1>{Ra_ezZw^TA~fdD*#%!t(m$?KV8AHZ@d5(&{P`4*R9tJ5u@HN^v6rKrA3IYWIUm0He|$vTN?Ud};86RgD z5TY+|rbmZnPVmJr+QoSbnLa5p7XOlLW^6##qQh-0asK-CwNs2W4EwVL(Esq;77Tlf z?NZJFoN-oY!_tG)Q%1~KrZsjU#0%JH13=?DK`$m;*#AW6omwTK#KupU9`{KEB0xNPM?R1WsbB5lqYAI z)>9-4>#ts0?%S>I%uG?9{zxTqWKzktCSHrbJYyca1_2r!K(iUhEI$a-_GB<-@yk?w zBE?FUFowxwxnbIhuYUe~ilv`eZu9UN=~j18xXA2>=W=z0;EI3|;w=r`QJN!@>W-=x z7OyP2LZ~$Ain#cbt>VG?!yioyOA%&y;h%d#OxZ4nf}BTWJ(jv!hqSHKl)yDEZ-_)| zKHsP=H7jGlHahxt=<#-`V%fxut{kw#nqG+m$tgbq0|V1{kAuTgkl>Bt3WnA)kMy1D zSyXoAd)Eo!N_%%qQPalq+AYsL<#;<%PrF0Y<7_Zr3Z+9m3sQ2(&9?Ki1E z#8Ad79iCgS$mFhr-IHoUJy(PGlp>pY+&{AXycYpyT`ym}=cpBxKmDI%(q3YU%3J6> zC9+U}=D26`2FVgTJ8+{LC|4gDeNpCU2EI=1EjF^bz|^)}t%`GAl3R%n*{=6A!oG|+k;@=w8?$RyePH%g#dRmkXr z1SbF`K@Ip)ZOzu7wVpKRFlSa_ll8OLY4JwkLiZ>KU~iJ%>&fXv2Bg6vIxI2h`j%)& zeWS4#Lr@(gokZFxXKNx$ULh>-$tNwxN6T!46(Z7HJj+?Y*Bjqf0I1U`5PbUWVGZyD04{R9$Eq>eAf8@+YCpwEwV z8P@T`mDDOQQvfP{*o+C{v;sEw(r4faivkr84|$m*2h+cBJ+= z8B}RoP#N43J;Tk{>=#>`dBs=e#MovpUR=#StK_Bv7;PMSpQ7mIGeBlW>Dg1!tGy@P zbQ|S?`oKYMt9Q43T5xeXQbEU2L0Cl5CL|T`wo$$;9J<2(UN~?)=b2%UL%Ru02_AHk zJ*vJZTl$NN+{CWBWw6>_RE+% zUk)wIi)tO9UWqTjFuZ3mK`W_Nlp^>!YTflxBJ#GtXoYJv^9LH}+4 zQx*r)@&^~-HU`%Ei&131%R1rSmx&?sFMENNRW*p$x`{`mS!Xg_9efCm(`U`1bh)o_ zGxK#e?p33QlnU+!eP*wt@r}`pvhGtj?mid!KB-C7xwh1#QGtoMW*U)Z8poe;1!A)0 zQu9o}hp|aSeJw-c(W+%_guN3zq)IfBgdloL$L;lDlq9eFp2?(sx%nK>;48+&T~)Dn zf9Ezt;c%eXA{<8TzW$jVL|q!Ob2q7N5JZ?k+4!BQP@@4jEOu1%y0gy1DwCvCYyWgc zn5m7U=@pu>p?!q^`g7_K9KwOrNga}%$eJY*P~ z7%sEe>Xwpc0+@WrJ_q@Y*Lm*Iex{%@jmvRSo+@e@MPv(?i<9d+UYAtsL?C*WK=Kl? zv~B9*Pbg%oPE35h7WzY^W*HA1qxgb(cR`xf85P5@!RhK8>A_*x8~y2p>!bcQI#`pP zC0RY{(&tlqN!?j5xJT71m0B-issd>2-NoQise%q<3_N_euNip}tKD1J{(2d{KUwTy zsd(|?QzIMSxHlmp9VNa@L0t`Tn^&3*6?C?}FvD{lZCitck&jp`uJrMuoZOl;ww z-PxAi;QZ9}(&a>%NO}at64T8eK;ELnRn1Iz_zllCIH0o$pL-+8&~>sj)DVkzKfd!i zfo{M^N`>!xCdC*hg6hcpdC}honU~@l(#3pZqUz^=@V5A0ynVg@eYA-CVr}#0_A1S) zQ7o<6yddQp3+C@fcL~)n>wV;nPDL^!J0^$a-#|2C%tTrKc#w*) zUZR-c5`MI1^iw4u>-bor{JOjHb#{dWZto3<2NN0xgFdwAkdemWJyW8mf9)7Mh}}Az zp4h#3j(-r*KuZdZew4x!atK5azx3b_uL;5RKb?4myLU$Pz@wYz_|K`b(l6(NaHVPS zRbIq~JHIL1$m^BgI5VhFLD7%ay$%e$f{m;BkIy!|KsiOjWEy@jt*g@#S_8(H!hb;b zPJc;U{z{n$3|>e0T%l%f4(fo55-*5?MeQR|ZYBWXS4&juUQ1crhb#+vqXd84-3G!% z63QQ?titXm9$Jwft6=!q-7$3G0&O~$` zm~Id1Z-;$f>tdn7z27M_F3F9yjM_DantPWrolS2_>r|vjkaPBTJ@%p9)tNwS_k;js z-}1`~H5tciM?$j68s?EvVt{q>+|r*{)Pxr;0IfXBcCQe`*bN|^!DI6411fmv~$yHijPG?c*WJ!U|NU4>rS$tW&1p zfZKvL4YZ9IuJIK4eddyQ_cHn=d`|xBK|^*0aYuvP2qCHYae(|L-PdjRvW!kB(e6*% zDE7^|rmZq@_XYoW7&x)7iUAV2six+5Wjo_a@XniJ&kfcW9^e$k;?&~)75|r^O>?xk z^xpI1U)Is6nklSD&#PN45`c;FipApm+7hi{`-*Opo0^*9#8m z7bcSglH716uO_?E12v*o!WZJ<=HmP|BbJ8>++sPVC3Mf}g6L|0yw6u!tPkvuj|by4}wt0D2#_NvVdN{tWH zp(~Kq+$2@}IHS*p5UTk6Xiz&u9`rS5c8E$jc$s`BB#t}72KQ9K4y>j^_@h#N@|mN3 z&G#L7!72qD!9ps#Du%|Y@;>??9r=t$j~@M0bF7(V9|%%ds&}+*wS);tGgE0&yfwdt zopm$=FhKvO<4SlNbA`u|ieNsARUF&z_vd#p?ArydM(#!OcKMa_Su+ppGmeRRsXSS32LwjX>PWNfb_--R`w5 zu0L+{4iPK+@xedb0jXyzd6DM*-!Q~oY-!eH8;css$1MMW#9{>C-7KtNJkPQ%D7i(0 z&A&JPVP!>+>r~vw>qz0rqn+cWZ;N`TmUb!d$ihVM{faS z|9L%{)^$bhhoP#cHS79L)v*%5;?);T9YhXjo`TPAwbHWO-0v8^{1t14eZ%O6y;&_= zktLSV4u91juAWEfR+lTc$#e5VVVDvZcICZljX$S~EuCC$+kIl^wggxJFNaYsHV(Ec zJpae2=Z8gFBxsmh=WvF2ace7q40kusYPw5eaPJhI`^;Dk%vYV(<+~mRb@xf!pd|X~ z5?mg=lCd}n2VX6b9WV5S=E;>)TT34lrRI6`N?wO3j2APs1W5G$K8ZEn%%P2WxBvPK z80+9VmD>n^oeS~68PM!vr>4prE|VOXkRS9JuqE8fcK;d+C(21m1J(;4lMTs}pKFd|Q_|@7|+{qrB zqw5~V62vlteHdJ=aPMBcfC6I*UTnyAJhIqejLM4!VD!m*xt$un#{mv#RZ5KM|HUC6 zUT*Vp9oV26UT4HC=-Bzcf(#QC^|IjSA2bk6+y4*t;InINz=dlqXWs_g$z`XttxM@- z2fTDnO?KI>DD#s9rjI%1So6Wfg?`dO=(w1pPYo9I(hY|%wh}sR*a<2*O*~}2WiIMLz z;~-i>72>WbC=8**VyY9r^1621hvietz&cF|%R()Bc|WMip(sX#*_T06sRNy_x*OMM zJye6Tlc>)?^up_uHlfo5lGIv5Os5KKsKuQO#NFlK0jQHM2PnU%%qsv)zKLO&D{7rM zaDtvUz=*gv7E#~xD(?@|gnDq#H}MS|mJ(Ixl0us|1gIda?=tv>zkU|5PbHoA6b#E{ zECqyFU#iO)n2H_((4`lYz%V1|MRxq9?G5e7>>G@?>$@$ z_XEb@=>tW7V4SFN6%EGru>R!Z$4!oaT=-q06`;|hrkiAn|Uj?W2vSu89-4!2j?Dd-uViGna!+TTX@`l zCG%B4OOzo+Z!a&bF3so)1wiO%t6|7(@Q9c+XltixWeNB#bAH$^`L{f60h4VP1}$x% zu9Sd#075AZu+^xx4KXJA^lIV;sGp17Cwq;wQeB4ezDV;3-HD&jwJ;#Nfr3#UnP;?) zyzXthQgS(&G(Wu}$@0?LI%@d8UI5JniSqVVGHo(7UmXDPWQx#uJivW}aWqMd(f1o=V z0NWukeCKild@K za&d4hZ~1AmZPr;hC^wUrGSb-}sD>o!~)wp)wjf`N@kU+^9SgT;h z->f6cvVEkl4f3g}Ho5l}*_HZ&g3MDdnEcCYVJ?xX_K<$ZX?9mmU%Of#95L{N3REmz4@}fxIJ{9p`z6O zw&fG2))?mo-}O+D%8C`)oGXVRjA`W{gd@$+b=g(xseZjpAd~mehInPp6w24*{avm^ zfy!sKfrlQo1i%C1(K_?bh~G7BHP~hSb8y8_X2o8{hS3RjsK;^1h!7S#y?2N+_D;?f z(8M)O!MBugIQH!6QQkf3{g_OXSO?Gx^hx)1w@9ZmO1x$r&}dlK6Q zMaxhGdc25Zjr9h%9n?W44K~eMzW0j;ZKk%r#h_T|9IB6tE=Ol~zKk(Hb0XAM@g-i6i>jp_b`m>WAJiBj=Ngr7H^ZRotu*KC!Ld)l zkG@)MDneM;dnd|6mMi<4ReM)4h9uK$BT*HJFa(++*IYT&dz{Bhk(G}jo%g)6mX}U# z8_4K^!{3C!abzBZJZ~MDF6bMM)+RwOU*l23D_#mT+rKxC&V;m5&<%V$=BQJ%2<4ae zjk|bOP2Mp)7-Y0V#ca=y<6eeQco$=2uI8S*5yvOl1#Pv)JH_j__jcb~ZaCOBm#Fpo zJszZd2$N+@mH)bp4Y{gAINth$_`>%4Bg{2ewHWrw6~s42X{Y+GKR#Z(X=C1HhJLpm zXGTD0Pd1&YxmOjEb600plT{p*Yl`q~H>c>=7ommBHIMGS4W6(0pYDYR_WdWiDj9ZgznJ!NxBQBgR3tRinq19G}NN~O4sYX zd;&=D)rYs!pYht{FZQ9L6OMi33F?!Uc-+cIR}o-`K3>|HkBzmc<+YQ5YdZ`$Fd8(F zEZ*-;Ai@I=QZ_P}j=no;-sq^nzy}S7)hyRlDG3r?uF7cH6E>0AGe%18L={%u&BKKJ zw=3~cpDPfNtkmVULp}Ks=r-a*CBy#pV>zk~vv*1PkqJOKVMf~9E551_oUznH{+(;H zL>iIJeUuxgQdZF0s(NufoZZTuo3?5H&f@Xnmk7aR^-YRgJZ`9S6zntA@k)j-z8y85 zhDvIBzL#UIHo5(xxJ{RTZ1bY=N-y}r@i>R>md8+iBUW*{mJQ^~qLY-E^x^*5)DG=l8GemI1 zSMTK7J+V^7R${k`Z3SD1JNR_g&1WhpBh>b`sV)LS{ra}q=a$~ZAK?ts zB=y0>OicAsSg(_z9Nl$*83kc+t-#;>YYyp8mm0H=#`$vYk<>*WIF5bgp$ss`48YY( zbYEmiPU@^#dB5Qw>MTdeY6Xm@{PTr9fLyxHYVhN3J8?JkDedRF-*viul&XKx0BVuG6Qky2Hr^T6AwKBJeFitU7{7Q9^;)=)w1y2ghae#rDig6Nj z(D%*?Ys5da+Hmfta#fig@O_&6T{yew0E#|tbNpqH{B1a|^xW*h+lb(N=!5)6hhx3J zLZCgY1Mg6F);|G595o>u56WpsX3dWI1v4^9Ap_|$vG_Q!;q6s3{(>h&nW$9osCe5x zo;7x^khm8(4EUI0QTI+sO~)J}*4{+C6l}RJOdntLG@0|9ICmZG6Mkqk;~y%wShpe$ z3P*jX!4{E_ul@D%r-Pe(`EAY#qE9UUg4{E&h~CvtXqI;F{HUga@36CAiLiC)QQOo`v8)Ao%oT|`a_X>W>ywdT)O@i%w}t2MMHaJGTSyWyN_@W>mF{O<&; zGqUt1DUk}Gt$j!Nc>>|Z08%YHER~0Z{rZ`Uo21HCqV=0A2Is$S?Ex}RLN+odJ0 zzIjUs;nn1lO&!9(d}C_USRu7iFk;-?8wV2TnJfAOMY{Q+KZpz;C+4TVC_C#)Tl)3$ zq-GnBQz0b78onrU97z+`V8jYU?e4MX4~yag?rDuqh{Hp-{SpV$&2ed;@v zCO4Mx*QjbgIcXt@-z%?h2WVG+d+%TGu|x>IPjj11Uu&AGLZ~jyrL6MIrGehu+D>Jq z4XZ8J7=2cymb(5VZDt~VksJlB`Vh~+aa=#tT~`vZsS#rPy#BD16DudIrxYXXop!Z) zo*C0+au7Y6m<#>TbJcG(GT)?wv*m)n8A)9acJk%b9}*}Fj)Rqq-gu|n&%q&=g||}X zWlHw$zcq=awCA-+3rBzz#!x{$ebIC@Z)bv*RPyRV32J7cJ2Sgb;&e|qZHJz_%b~u0 z8s~oYVsEU1&m<c3=0s*Y5Ug=7`^m$Y3R8?|>47q7y)DC=#;_z>PPxzS8@+ckT#7|F$5Ovswua~_ zcOd7uoJ=xVp?OX@mE&Y&eZ`Di5=xDGP=v=!nD~-Vt=mrd_^R2HZ;)7{i_NKT&Av5t z3Y+Ux&>IJFDTfJbWN@yRj}GgrbrHYfF6|MV0eDEBI#>Pj&}NkAUKd6*!2ap<`>o6S z_&TM!BX2K`M-ko=2alyBd|8s4g&x{k=q)8~1vzC%Vr(+ichbVB;1;Zvj``lh@cp0dFa-j&~Tx)%ztq?TX2=PnrZ zb<&2O2kn${QN-XK4Yn#`WG(qY$)g>U{U}J&O^NM^?ApWWH70_oK9cEWC3@;b-gwA^ zP@xm;Q6pz%4xNZ5cexKF*9dq=y!m8-(eaO6uERg8dsqE?@9zdmwAZ?piFhRK9Vco& zGV%1`{01~8;@f~ci-(Iq#-Dd)-mColZ6hk zMq6Xrw2~r)XcsM%d&|%x?n0e3AGQvJH zz=LI6WZ=Ze36%cQ01_~fklR2)8Ul|HZ95no`lvPZ0exp$HA+)CACn9&yqC;8+e=$@ znHbR7!8M6%Q=H(eMWTEzs!PN3lREkAehPcEN-XK8NUA5$`Iu0j2-IHJiYUQ-M?*`Y z+ncf%bOTxV8(9@T4kF})78?fXZS^lByM5^4uYJHROC4wkf}szWI%fCrmn4<2kI#?Z z3j~F|`&2dbFi-8->P{SMk*CxU$wrRK?>mkb>mfkSyoioi3VLr8sU>d+jBsQ~?NF@Q z=@L-M9CyOX*uVn3%$dkgMmj^?H?Fn0br{2u$AUvDODoUCW52x<&{*Vs2tCSybou+5 zDJB;V;m4>F2#T>fB)?u_)gd|Sm_X~u&hC~hq`{1nr$8ZVny`D;tr>6$&*b!a5qR^k z3ZVz9C85OC{^uEtBgVGa%2S(KkAs*PE9F~+!tQW&5$E5|kUBBNs3yEx%&3bZ-9jIB zZ-XeIv3k2b=-#!wMd)-Ob?X8ZHyM!*{oah{QQtY_!8Qzw=lLhOML1a$HYS%?@1!=C zQ3nh2;THnvqX=T7QU;=O7g~Hr&}PFJRql+C04SKj@{i97i)e$z5w$qbBB=2Xi>?=% zU-y?-0n%e)d-q?rD1l^n5=lnR-2i`@5ShR? z9sNN~lz*RkIuzff82!*)#@6JmaO|*!#HA$F4g+5b6%n@?|;vs25=7B6G8*;oN&*p@$X$N_!H7vIyxF1q@cb3 zaMuF0$I(anh@^pZ1^fA9z!nR@iZjt5!S7iG2G^7`1P0f_7 zh$6VgGPuYc%4npallcDCVAA9n3RF?Z8I!bRxx3KhjQ{fMaH2Bs@MY57f|uB?&8(O( z7&uT(w1<#2GPOTkP*st`NlPhAF_PgS7stfS$2vp3Q9P>($Q>fZGOvUfBg=#Y@iBHo zTM9u9>p{8i`23@!M`YSLkQ53;noJ|_b!yKyYJrfUfD(@L(&nftoA|HTu5X_{^Ds;e zaOdq&m&vGA@2QC(P8PsSW)4IHo~`^e7&ryW(Q10hAL>`9tPdf+<{S4m^6UXVjmd?6 z1E+L(=hW`fuH5OM$o01xEyQmwm+;G$;C-j4*ZSOXb%h6hUy?>Ej8Q28Zk#yFBseeY z*4wk>#qm-TT6!7$?eShK_hLUXqncJu0-vf2nwFwRHE!?~-v`HIGemGNHG{cV(?xT< zT|k@Ojx#V_gFau13n_9Vn6c3tC_pIuJX0iDdfHa3L<-&7jUT|QtxJItWCD)MaC-lv zoe-v|uJI1|niuaV6wJDjla%hUTRnU8q!Wvgr4zRhzWa-&-$mZ*Vk#Qdtera{>z9e+ zw&0BZBWG?8EyIp|5y0(`lfj6&&u}kSGQK z;nK@l>6|3j>Rk1|P*J{GI*fj;nhOZYLf(=Htb7oG* zRh<%CsHW>sU$H3!O|Iezl`pfr{s{nXJyp#CgNP7sA~y0^^M+0icd^I)c+cc!oQrs( z+pGP^Wv3ok5~g>rQCQ=$MLjY?S3P0aRiMYTg4^$Z%6``Tit1@H>s(#;>J7V$paSQEx1>=3|_BkQoH(7!LS6c;@Tux(xq6_F}53WSA#TA(eI zCS2ge7mn4@mrS1g#CL>3A~z$^Rpkqf$N=Sxk6o28jydZD2pgJz0KJX2AsHmQomsxgbBK)+#IikQ* zm-TDtFX{A;FA8d&fjbgd-&5DZQc1LFKW`=)ne~DWD_Nhc-6p8UW+@%S1P}mF?lFMaKn{9&b zc>C92%qhn8lFvKSdukZ`r>C>4LRds`It>ZPsvzPzvl8@*)$DDsHi;<}I@+RmA?^n9hz1y2TI9N?+F<>UR&8Y272I)Fcm(O_K$!-dc z+lSVLpa2NQAJUo38+87fb+Gl;_In9!RuLKx(1m68BdU<-k-*);U;RA{HKPqTW!waj zO=S$lPp=V{)8>_(camt}>;HQ?K6ud=KLL(K;CAliaUJSqM=OPj@S6_tqo_VLlnDz# z1ldBLH*oFs&YddN!c|`q5_Ch8g{3=Qp23J6ji}jDFjWfxM(o1VmMSYYw{ybyN~dgR zr(BZ`WfAe6kGm(CZT!IM;kX#e<@XL>W7E*@Crmu{ILe!IDLC%tx$ry6W4;DuF>WbBk$=x(>EGvWY%>XEXk49N!3bz0}KE5#K@>hF%I6WLZ_JbJw-b_m8etBCw3j>(?6Q()el0~bQ?WBQ zwKHrVIMQ`4m67*aF~C!2_g9oOD5@p+h=wpIHY!tuwhU-Xdav~W&VfmnqtNGuA-+T+ zx=(|-PtO@?80q}I)3=nVUmv#V)5%CB4seR?em4a6n7izU@(a2xGVosI|J=NH{kbXn zVl7~g{i?K#bxY_Vqf|1j3o1#F3?$S%Uxyp znx3bTRD5M6Uu!lGw`}slPuhB4^@UXM(ssL-#;G!#0OrrZR8jt<&AX>V3WvjwX=Q=2 zmIwSvDGxB$O^=57de?+7A9p>i!_)cCp~CeQz;z!Hu?7=zF_eg#;L%Ec@WagYeH94W z>t56CR`a(AAd07daL`hr#rK`N`eJ9`E;~sN5&0DM{yerxPF#jP@rM~biJE;hl@c*; zVgEE$h2R_vVzkLm(nBHhF;xFT;EzA;3Ct=7FPHnmZhH8&rPXV<>{le$GOxp3-eKqR z;CK-#fdgrswoASxb_bFh>dZnfY2cKGiH=!7@qbu5DLuq+C?IKXut)J59oyNXi8{U*uT`av9<+ zy2|p=p5O?C9ERk?i7|Ys5&53i_@Xgam-e0b@wYjR$~qYp#mH~no8L96t0W(OV<>Sb zW9jEkd?#-9UVN&Z^7Z74EWQw%TjLpOMM=t)$4kEahf()5LD2oNZ)p zAvfmP{h*}B-oKcY+j{(m+)p!KDRuS%se*4l91~fjWn(j}01?beGW8RLM)lVRiL0c( zDro{=k)qo39<&yjUMG_&^jM!C@g;X@OI-kNEZ#^h_G1lhh`PyIh zyZzx}%I4=BeX%stN_$fL(B3}J!1<4C%JO8HTAtUti`6uH1zI%M)&}uz`Z6ctlmqm8 zv6)zy-0-P7L878~Hvfs=zzof;Ge2EK3MHxJgd3E}%j-Bj~&hZ?n& z`A(~rY;K9=W}${rFXzY^%pA8F9{lhw@BU1zvxnmlS$$hFH*kNi@&CD2RilZ;0ZAS(`%q z+D;Q*6F-`=q=N_1gKqk*$qJ7al-Zcf@*+HCrkM$2yx7VQxzF=#4eQyJxUAk+{h>E) z3nSapY)Dcu6yCtmOze~X0+GXw8B!HVcqfwhF0&^#zv@tcZI;1Op~5XUZrS1m<^R1T z_%U@D5p;2gVJ_ujss8Cwv)(en(Vc(Ck}2=olA^FNq?N-&uJ&6CFbF}#S#ZJIuW5EabTSiNox~PGiDEU+NBJ>dU1%Z{XosFu*zF{0 zFaMAcxCER`QWOmD$0uq!2O3VnP zrpUt;#BnAP2o}}`T(b#gvQCcM$`H|*43M6ebj)fYUO@1aL`Kq+j|&0UBnR9Ty-=p& zIbw%fNPX75IiLRlAWb;GvF}@p5tNQSs{uET$$hA(XdD|49~hq$0ng|Ge$lN)p5yJ<*|UHDC>Mv6KCp_o@{=+TU;$CgYxPE1Q{x8=b5(zaTyO z!j)(pR!~It`ROl4h&nO5jAoLSF2CYNP4wXpe1 zkX48K*=`o@Ave0I`|H28)E(t{CGF*#Y{Y-z3@$Evu64#jhFO(8rG<=1k`$Ex4!1Pn zykg?P^`q7IpJ^E|!R(Oz=kQ5mIY}bbwYy%>EACT0lu8tfjqo@smd*3G!<|IB^o7w} zk&?^n(kYKDuODonMciIj+1@W<@noUe=xX}eYoXC3T+c_3syUc>LiBCk(V~k3e`75^ zLb|~k!yV_~Yb$2@OC&`qnG4J12oXTcO*Cl-+!A%%m$_a~HJ8654i^{+;Xl;QSthwW zXq1yd8wzSYnfs<{A#0)z^vsRuS90?SE7tU?rDgVyiAhiAeQswufpC~1qyc=U?> zcYPU=P2+Rj#Lt2BxZTLdUH;Vhu%Zu68+l2qW`V*2+fD}ePlKrJz7?q|E$rTYlhZ6i zumm0$SOERBY}$LL5}VMHvHyiLU5RwIpwX7Ed#*1mg&zL;6J%LsWGsw`sxwrA3(&MD1qUUnd`ntg!bHB>sMyXI9{-*y*|Q`JLfV3H~Gr zAL=yuRmySFbCA&W8xm6V8^6B5j}-S5OTAvYw0IVg-{V%ZP;ogOT} zQ4Y)QJo?m(+w}~9uP^RLe}m~p+LF&qu+AM>u(t?A2`z#mg|9z#9d7kBzHH~4)ppzncx51j)NEe z&wzX89-|PxeuK)TzI}ap&2p?#%{4J7yM*H>2$#-zP;%5bm?ly1JaXA~Z?gc|zsyrN zeQ@udpE*CMutbf+rNCMZQw&GnZPrD54ojwv?s{Er)_M&{Z#HfT<)?Q(w-b*R*oBanAtn6N2l3WSJzyX_7)gn)(Ze8BaXeC zlOEKUj}m9N=|>qBl(L8o_BG_P)b4+*^Z3jywrngd2EG_dI&6r;vUVW<>N)7^CPqwK z60<IkXRK%H$c{JxI?v*Cqb1&q2)z{apxM7o@*O@Kc@>qzoNUT zwWeAIodM7`3+BwNPD=~#|8si-5M1&@YKP?4d;F(c`HRn#?Ww-*xF4L0)USoc!+mOV?p5e#M8{X~ArWPbQyD}^6jfP8UF0e#Cqm`ZILY;)LK%eC{@cE_Vg zZ+`Pp&KRX22T15lRol-^|J+VO?oWq|J>m{U3(duJV9xkU z4Zu1Vh>!73|p>n9uX9t%ce?c+1{;9(?*e6 zF277_Tj@Ky{uBq(x1U|quRnKKKwM-u4|^O-)#b%_RYgd4yM_^Hrv?#KLZP2#}{Ow&*JF^B+pug)9O(8 znv%wzyTWT)KnEm0%=9Iweo?_T{es~UBTMzqiK_{PIbRv9_h!_s@;#b*3=<_jdMEtu zoBo4J8L(SxrR5Al4vSVRTndMx2oDbJg8I2A;$%VKTqIXAZC?MCll)7sG zl@rd&d9=05PXYB3f+IqiQXaMOxzzEaY#E|Qnvgg)w42@odU z9Spq+B8Vx%gJdoR{CIc#45_R%z$}?U?!v1|iRq!j)mAF(6fN;$rdLZ~>b3HCyJpg1 zJgW>j6(`MS^h8@}{Se?t*ejj6si8L=Uym+~gv*F1+^_^@@Fx^gYXC=sgeUE9-p1df zVI9?EMTDMEAXF_p|C||$RoEWBq=(_8nzf=gUgLFL;R8JTT9q@7)_hxae2#deqR1mZ z?dV0BDTwd_P>m}O#^pCa5MmYcU(^4xt`tv!y%QAl`@z5E@LvWN__)Nr$3g^r59@Zv z5q?uw2`LF%?Q2_C86I;?Ogz0f&bt|DLsqhHzi4Szdz*s9Z_8P8RhK~LM-{D#^@ zN%583ZHQLduPF9(I1~Iy-!!yPbZS`wV-M7!0yKS&H0KzP@G0MnI3zF_ZpP=oJr5v} zhnh)ik_#*w`+qa|jSv~l^9+1JwWXf^)q z$Sn?DL)9G_QTXc0eTdx45FI+nO5c?BC!=o&1)>x9dh1QD43(*-ilgDY&WY?o{SEmdZA(>##@x3p*s{kUnb4i z(jDcV$5iB~j=aD+YVvI#}snq59Lc72hM{QK9(vA-YB)75<* zAQ~BYIPX5*Wpx0F(o9%3wogQsyo-wEB$1*id&bbRoS`Ms*%Dhj!ttS5evPSG1M_Oa zis>*#N7&QIu!x$-Z0jNG;P;Ugx>HI>UEu_2Bxv(3Xmbk(KJlX{8R^K|_Jq)#b=^1M zKTroanmXDzg%2bNKk1%mFpF{eRu_Fb?FVunj=zKyxcsNEq3~5;TDa-VC3e03Un`}8 z^M5#d>$oV_wQX1t1q@&SMWnkyP>CT&x}`x%fuRu*h7Jh{X=&+h5Tsk_knR%6nW2XP zVFx|>9}p9*fm4NL)N*EBfNY(A4xb zLw}1?_WfT2-JlK+=gZP=mRcKZG#UarIf>~<9fq}f(0{O0H*bF94zKK{gAfq7&5jTl zl8Hs_#+2TGM)xj1Cg8meu5W8)j(r|X}Z zN7tBOPY_^@dhFQjrsv6t*FHV%twdiJOvp)btax4_XTLg*Fa~@M5%P&3g5=K z*WB+#Ce!1qvZDc&m#1OHLWguM9gV!oO+hw71vxpE3ht;JdJT%}EHKpw$;u}P)3VCP z=yv|RG(5M*gBib4HXmLPCS3DPZJoGul|jTSoAYDDB}rjJqJsxKc83uK-~VK4Q2`7C zkBZFbiSh69ollhvpf}bIH|NTX$mhD|k#0>uR1xmJR@(^D`HI`$3y9hSF8e-+$%u;K zZV)@={^HBvN@l%PVm1}95<{VAY&=y1%LqHiK8s4~=ezOYyzNm5Uxy!_YWf6h-nO#k z2)JwM*KT4s79H4r8g3SxE<@GABHz_0TN+*BcpYj)s&-9i6~qrA(D-%dp{?~2&j5;d z(5dXm16^*q2juomG;IFK=05?z{jG}+*^=r0Gtu)GBygll-y?WKg`+#WyyA5>v-H(& zqh6V$^gG}Pty>;+9s^JM`t^3=b@Oivi8I$B+`vbbN{*y-JB@te2@%^o$gy~@7eW4CKK;UqwBTCwOJo43@I?QK*uoj6N>Ca2D2yAzlft9EIPAwGIP29+ zwc`Uz(1rYQWuqOZP}5o{87+iSwvHAdRF~3XRqR+1Wq9jdb7iz4?Q#3DDvo6RU6q~} z&Ama6GEWaH*!MHNCSwGIMbHD{f`xMqgCbdXV86{bKnIA2^-+At8cX`hofYD|zI?%b z<$87APN93}T+>_#l8spAr0MI#fn34${e80wFGqS}82>t0L#Y<#Y880?Ak#Xk|jR|`aNAOXn*TY(4TA1ajR3L6mXuyM`iRF=gv zGIWI;dr%UH#q(iBi;I76tglZ(IeKR+l4-wxvR7YkE*F0&L51E{+6rG0Tv9~RzIA3g z2D^2{rrjE)Mi=53M5mx|LDQBa3b05ft|pt?nRzw_&8QEQvc`;lBtzGXWd$F}x;gTc zI*x(XNu`dXbn;Fu%3f8NoV@KTEoMjFCVd_;ge^k5_1gvlPNAO{VrM|fvQzv^b$?b1 zf4}ZE@RzT+6XsXkd3i0 zJL$pO$yN3;9*qoXzmA)my#bvSy&?5?wa*G=T(6sm?&UKB`#En1>NCHVtfh}|sg&zU z)}peUPJaL)ko*_*YsGGYId?a;{Y@1AaizNHxthA2db13A zfrRcop;*nt+$R(j77?~2w(Q7W0lu-@Z6jtpSZ=cZ>Wl9EIm}j2KTa- zT+5;t%hl9c)u65p8sVY#RE)RprSb2j_fL10d_`~)OcKsvxa4FC*ZCrDX z>Hb0y|KT!!p8I|vE(x~C;gj~-yPrXT@*9Hz)^Jw=Bc6y#WCy;g7xTDWQ8Mbbyb8;_ zv7@edimYWGDrN3{3)_?EDn(7Lu`>NiZd)8BiT5U5AG8zi${QgqYJ;4Ifzqh9V8=(C zCQ2cvWXRR5-fCMyu|Imh{wfM5Py#1SN-SHNG17u~DY~TD~#G=gT zcDO!G*^y;1)+JC)6id(PdGlLf!N6VZV_ptmbWvIO!D^Na=_uSv>W%dS>zE4dRUW0} zG!$T*I%2hvJ@NUe^^S?mbX3)JGX*amug2Tw;2i*uPxAYWfbIQ%czob8K`V=49Y$gm zsWz5*$RPW@pQvH^vt}Gk>%E z%oif5A~Snp^~-?$>8JjVS^p)3V+s-9O|P-FSBON?eCnXqJsA3aAcIqszxD5HF z`Rbz3P7h*Q6$EGEJ`dw9VX2)9ORFKH#M~@qm-)! zL*K+h(Q@stW-RK;6LP_^QJ!=Ds7%Ui!D)b%r`-fhgz9yZ4ap~6W>Z-xMRXC>m_NH; zXwx9mKB#J)(ELisc_LM4bn;0}_g|2#m5nA699{Gwc6`45g`Sh%{4KYC4SoJsE7s46 z_30uAe4!#16@hyk>^~W!%+x3AnQcPJ#x3HixDtm^3l#aIrup!&uxLQ~n2rC5Y=)tl zc7bELjZFeNhmwzOxWiW39WCEg>*x;^&Sj;iOGVExArkUVl}O~VAUi=@vo+pydD5p2 zJJs$o9Ceru#YR2P{wAqEZGes#Za-1fAa>J%gQ1(szeF|vA|e0!Lu)n&mkLdz_K7S+ zEDBD-regU99+eQs6~ME=S}s|uPUY5t_brT7iHc5SmbfhR31UQa0<=6~8;?51)c zGumJa7J(;*c0I58Db6~20LZDVnT_MLz5z_^{ZnxdZJnbb6oyOD-A+Xlx;#6jX$H|T z;;HaKMXT8q^oisg*%VTH+sM@$Ip~G<`eWi!Mw(FN1+&tn^mqE-ih66Pa>y*3Jmo8t zw~SiPW)5{N%qv#l^B?m`!F6VRF9kDE|K27GHTEjz=C&8&g4oT*5TX^k`_|w5_<8OG zE9~4iA8LU3vp`g3PT-%JV}S2a0hhyVsDZZ%NV4m5do|&@Mx_Iyn)H@?-<0%#M+N#V zFqTiAJ%W(+fO4z1Wvbw2T{dWZQf~Y-?2T1LL!m`pm?b@3-SbdoQ^9E%yBz2d%Y;lb zQk;69BwjR^m084o9Kzyx6Pk5@P1Vc+Ln+#aEfS3qsQjg~AA?(;zB>Rc-xr6@628Bq z#h>2o-#M1ipjJA_&f76QPJ8wx3Xh7T=+t={Wh&Z6t`2oaU9z0p0FtLIY3#7zDm&#Z zt9*X4l)+k7s#wfDQxaq{rGU{KD-(vr-wKCnh-IL2N)^@fHg6w}lzaL=Ipon;xT0pd z$@pUOvtMekE5+lV5th%f_%qHRATa*YRkz&qzn$)1G<5W}IAkbGE^-+Ms?HzjB2O@n6>>EMY8U9=ZtVt?W*6>P2OeCLy`nnC8E1@?a` z20+T~woe#2zZS3!cBjBHi^JaC2xDtxbIF6}OfuhEK1&7{s!$&qO@PC3F?<^n%*UFz zHB37df3OnzUaW#%VKz#)?iOOdvmsbCN+39`@7l74;53!T*ETtmD=@2QDfTCEG?&i*G=UF+4m8Q89{^?Td;GfD-+t)l zSN?~~H@o8_<-6c8iZ4FoC(Edof@_-{On_1_WA81Za1BC6ND2!WSI}!brClXNWlHLy zr-~N9LXJ?%VXm%%?D&|lLWLq>a$;6|gUWFyl3pz+w8$ftG+5aQW*JMXA!>i75s$(H z*+3;c956~EkTTm>hO-BZH-Djx2@x#YXyi<3nXq_+?X+59@;?@5Kwv`s#ovF8!D(_Q zWw)SP4c5nr4^8WSS&;|K>d~v}j*Jwg=KE3KIar|`30BAjn|>_^NTpI8D^yuLZS!x9 znH{Qj-WnSxhE;@t3%L(^wS&TBoq_aud6Yo`00mH&-#)451;mBE+V1Q51?Ze*T7i_Q zvnnS3SQ+fNAKzqG?Z}?lE zzTY|hCeYnL3x4J4T&-z8Lt@^E-^uHL(aV4H!+j2{s}L22I*0_Hw%ZqVT@;Bn?)Q*d zNvMLz@vt(&LdHwcM4cHbQc=JeQV~CP=lWG(LW5obN+O?U%$7wcvMSZ9F6$NACkmXo z^NuQu2rYP;Ehe0|`^w19E&!rKrG{pm21V*Bs?S3oe<06M)Z2oI{5nVLOWe@MwZNa2 zX(gsl-k@Cn{Yk%m=Rd%$`!}&HMfdA^&flUps@iSQ0XWVaxzoubbaNRJA6A)F?+Lj) z?^O>fWmSO@8keE2=P*kKwz~MJ@3P}ZYj

M+0!5_=zK6Rn3nSrI}Q-!nK?D16}>wKv4dJ-e>-CKiT-n&TF1h`O0N;A&y--)a6xK9 z877-v!*hgHDWCC0*FFHRg#jKu|GMX!f#pgre{~cBv7*l%(A@x8{!mUOiizgAl6fZ} zh9e@*`=?OsHR$dwpNHPAR&02X2*wxRU4?~Sxu`^lb=`vOx{TU5xE*-H)( ze^+qpj0p#4?zfVMcufoJ%QT~7^Nk8dkB)kB&yllSt3z5Ow{PVVeZ<_)N0uj{VSHiq zdb(B=h|6#GG%_cB%8)2+RwBd7BITA5W%m@v4;@>Lrb8QnvXdcp+@hDB|IW0n5%?I& z0v&E}e9WFEwLCGJ?q2Et!3YAjWP#Ug$b?1KK1dd}`^ilZu8xsPLB`-V2Mx$j4kV!2 zhUt}T(MuVzUiQK^@0iYteOC0fk^bO1d5;2#mlF9hs$z&SEmjf6dVx4cR0(@dh`-Q5 zR;Zf?OqSaSZDTKFM}~G|9E0s|n5_pWkY%d~2F(6?Q1Kf+5ZPDr7{`w{P7Kdh$^ga= z+HWJj)bl^M{$Ig_&vTIMejJYJv$(&nRa~x;N ztT4MP%#LJ5=Tql+K;ui%n(oR4;SM(;AQiP#n%Y(J)*8!xfpAQZHsi7kioy#SNR?3{ zVH=BLRXFC4J&K0d8REJ%5v_oaVHKB^dvEH@JI&hO_8Kz@PO0u>QJ7}^1q-yyvFR== zALw*q-dmR@)}(0GO+2;M91{x0OddN{Nc}K8Gp7E3c%y*|1~`xY{6saJcKs9CGNC26 z<}4VAVm$y(T3}tn!I^|C2S$x5#-AROHtSY)VC2j2A6>hv0X_&L)xz}Tl38)xO9^)o zDK9(C3E7&`K7flUB8 z9Ou}2Ynkx4w1BgzcPytm4Sgi{uzJS+rsFU_CZDQrB%aUXqgt70ip{i)X%&;qbdqwm z7va1-^+7BFb4;na$c$uq2sjKLh{3g=>{wm=)}QpA_CR?A1o+| z&%?Yrb7X@sB_R+HLVJB>47M!%+88raJfL|oO5jd$Bzo#DcN{8DrMSpoJwiFNd`zpL ze9Q=#@PXW;oJnQxc?n|%K1FWwg6g4MO*~UcB+Sv?3hjwo%%!UCjAX2($;DcARWF z>Yn_+>z6|;j10XP(BU^46clJEDTEC2NJ699NU2?(u?-i9!5A>=T`h8?wkYULhC@rs zr`{%M`F6x(W~}7*>+|A+Hdrj_D>{gpFnxI(dx506Uc;sJo0XsgRT1{KH08rr#X}{U9T`d8fyA`;G%#`1 z2c*uvu^DLnf|E6yjvi?Elpq+5Q3a7U1PUXa$;{vT2f_i?jb6{~BTI4EuG*&kC1 zm)COUBjJ7Y1!e~!TRIVEi@w9s8gVetWd#viJWn!qjB&Iftk*?(rpi}6dh8aB0SBV& zhQ-LT->u+g&M)$MHht8TFiNYUm^55hCCrpj^N4C`ba=3hz23Xc+C`R>&0*Pbf%jqZy=NCi9DWe*h zA5(bch!(u^j=dMc_n2I@pgcQTROrjmCsOvaA=+WFiH*$?ssr!67K0R|ftJN;66(#n@1>ojkBU^dw3QBRwGa4AKn*#B)ZL!|m;p1FuRIpo+tM|$5 z*AYg&-%6qh@)4T*hW|0hK}oWK$+JB>DFWab=bZdMDE>7c@gaIYsz$D;xy6J6N(E)@ zcvXU?Q)7eW@z{}`G&QxE#e|Hkm6`fr50mK<6{^N)^+w!V9Ntx|QtzTU57jBj4_L~n ztC@tnf;OSSBFM}ZB-$uMOm2mImbfRKRL-eHA@QuHhw8w_@`fNc(kx;r?pN{U!w~4T z296x}3+GwMO6!puelMJe(f%`6cT{G11Xv>D%-K0wGS`sR=4wRmAr4Nto`m_ zq=mK+xo?>L?s}_OwfcjQ&a5%lRsLnQjX*Wetd`DJWy*qmYu&dk$S3&@ABBUjbxakc zZK41g*m&?k0sAnd!bJEWjL|8KnKxD5W-LqOFo)}Fx%tqBbiQ?k%-P%9?7V_I)w7cK zR`2|BoT06SL9I`%OJe2RLhf){eKjPWE|n__PuXOG<1xnn1Ht;s;oJ-nf1gx5yA=0a z%EcEa_lhUOnv@7E>S#qK*pRNlkqw&n<+2I~5ynEHOq4B}^<*@Tpnk*=9xIAz zUhOI0`22`zh2J2-=AH}y7D%5fAL?|1&ny&x)W%3xxv{~ajxr-)tM<>&zqe>#Oy69U z1G>9^id8WcuJ}O1GUbj=NnLJpZ#K6WYl9&xtR6nv^8z5I?1lZK=joTe)ZAH8v+$mP zh;2Av5E3l;qH8nt1)0wteY&go8gYU8J6uzM-eN!|*_`6Xc;!H3sozaNr|ccTi{Tyg zk7oUWDmCCA3+SiXHPtDbI&;EfY!Maqorc=+X-vjsGQM2ZCI+IE3b$r@b z0*NCwI&)8Ha3gP;robi&m_(=rB!)~v^eQ5QU6_q28Iwzur_t}~l&bxhbLo+NU|Y%N zn58(V#D{UjFfF<$x_%FNx(0u^OVJjZ*?9LDhRhR%iH`IH?n%~Wg&T@iLZg+PVvk~A z7#cQc1hle1bmFF4l*MFy}R{!Fh)h*H!Ffda&@1uE@g~>!Oy^ zRqjNQz7YF1_pc3Zi@8Z!dN$=997N(fS+k?RFzj6%tYRx&yQTxwbfZZGc9p}@MPI+1golaW!g?u21J?y?Z@?w&Cb|Awxq@=IZuTL1 z-7jz(xx;h$M00L=XOGoXvUg>d>}dv)Go>JhbHSohpmEkL*$Cxo0W)-p=49)~m<(0^ zAjk4DF7X^2D{EQAqib&6_NZt|k%Njb!}FM7WpdS)iZCTlQ;C{8-tT~DR)-fZRbe2i zzLz&Z1#8>`BCIFJhczt*p6fzisaX zz?&c1*be)vf6AiHIEcp2@bt63Om)$ylsR%jluexy%jSy}`pCm4YK*gN$+j`kr^`3ZiheI~a=z7i`nrqD1B4arP3 z_s7U`Q_rk|Y>^6NX}V)3Vl#y3YQ^^2V6#88@|+_lJk+UX!L6v@Gxmas8HPdRt%thI z+I&>10%FyJu^;g*r_h7CK~Ju<@2U}Q8W$5Lxp`hn%GAf*GKF7(MKVfjx)>a>qfg@l zLOaPY>XWIi!ix^|x&?Mf1VQf~!z|OlY=OgJlP>eiw!h3lpU1N~Pec=krFxZ^&~2*b5fJt1*y-vC^Q5SNj|;q4 za-{V5h0b=hgMV-YU+JSUaHZS4Co2kf!~y~y4Q-*ro^S*~yTFT7wdE%=W8r6}5|i27 zo)7tQFaI&8FYveZqZx<>YwXXzTyMBUtb56bK zT@y8Vscu%=Ewe8gG!^2xN}8D1f1*?lN$jJ~{p$q`*OF|o{q`fE^r9vz&wb9_Mh^!5J9~2ou zPu?*q6aqWi6&#Gea@zfPgmp$QPQ+-800!M~u>e2vBfde&AwZ>KJ+{H=)~m7<3}E%R zltckpZ8+)|a$SorD0%lyvQ(W_Z<@deQ6G!yP&wr}hzcVDk_VdPLYdVbn$^W0yCS*b z!FwD~i-)%uJg1E?_uGp%0hH}k&x$ZEsK*39V-|tBF0xY|ybBFfTF#f05&afrXHVYa zWO=HqX3h@#P|;(`8{`2TxWwypnOeIqj@S!XMVQ|Nt@tOAHyDS8guri!B7QT0*vz8 z5hZe6jMgPpS_i;K)d4;9R1Ztl6>ap_o&rmV?AG@|NuFP<4b_!Q6rJ8-Hvwx|1fe92 zxo&$QM*2;gP;T<0a-C)m*FW~~Mjt2(ZB;gYa9R8`H;jvoy@(%)7&gYf26>%A7iF0$ z@tn&d!Qi3$Cq~b;ax4h8NWFNyAN@q1kC<0E!Ca~ATr`0fE}sYCxMt?4YXLoS(yHoQ zzDuCcB!kOF}HJdqONGVg{0q5l(0&(!k~c{=;Af@NwMPZg6!4fo>z4`qPYmF@yj$L&M7g*=gJ#C<1PIXEk`K z4PU6(6Ip-LEfQ}~c)#E2x~X7@|86_8D39F%y9i@HbO0icU@;Ax1_tleY`Shx0fcWq zVhz%E{h3$ZZCo)o1vdGV%4XU8Or7870_>)Ksl~9lfv|as^5F>Itxq(~JL0(PJ%ROR z@on@k0mr7roaXWB{Kav;j7Z^(eHZ1)z=u;{uL>>q!VyBn`~6At;#Ka1eGiIrdF>_; zjU+xs#BE%{Sru`K&6IPwqh$gYnGJO*_>n`S zaUz=5QeJnn>?o|2WylmHgfo!k9B1PbF7_6ua7y@cAI`q#wgYv+36~7d zKst8Q1-sAq_m&@Lrx|y&RmMPQFMtD7(>w)W5-H8uCSQH*fYvWR%9Wr7rIN%Ipc5AytN-qX`g~p)X08ejE;`{0CIB`TF14pFm z*OP^KJA~k%tFmE-X#d%s=RT^Bd$6df2W&xxe|cGu!fX3y&hYPnVV2Y)VCi9;a<`W5 zk&On~+5%JERm@QQ-HQocSf0>)ftp$n9GA>8gtIzfCM79>+9YJy9`F00{`}*3ASNpX z@3j-}bKL>7Ume!VnzzywE7)xr4Y-Dck4$yDag(h^YWiFi6p~TTjJ;Le zxCo;!aN2t7wNJ5vOIhLI!WjpZTADMw*{zD&I@0IN?*Lf2+Eg3C33L^T={Ka5vAlZvp#Ep0w)FtGLO<=^eAJ0FiZeMuLA}b6zSFCpnq=Sns zvIbf{Tv~QX7!mAF$ALs}-)!vIkR4Y{P#21;P|YMQSC$k$mTuAMGQ93NydOoRa2)F? zPmMu<#{$*73T0-K!G4ZJ2FV^PWg+T9GYWc*>F}>5;Z0~&J*Zp-Q1PH{nnAL&)!Br+ z8wAASnVGZuGU*Yt$Li+YoeR3X{c31V(@$r7+sq2cMZe9c;`ib$Sj*ySkdM)L>SaY=EuhW{RBz>s{A{hV{jX+Jn zY6jD5)`|>hk_+4MMM6ZoVJS{uBt;VPFFl%cO^p9qks3=0SmqXQ6S((F+t@ zMy!4Y(9nC@GEN(IC-T?}01#i_2?(V2IvUd5sl0kaZyw-<;nsJ3r$7u2-0ztZA3_KW+oVVhl1X3g zRP>dO-?N;c8cFpRa7txX`FLVI*DQVDL(teVL)*k8|2#=w*6f)OF2oMlr(8J2lTGT{ zdWC8zHE_Gbn?f{;2@WCA3XKrxC+c4UO z86`$9lx9;YC%HJC)nqKkC!ILam6k{moKxZla2Wl>__V@2UQMBE|zm7aQh0q zRuwW^R=$SU%vSqOfSu^XudFo!DPDEAx<3g?cdlueFIgtQ!*z_po>I9cGEcxxp)7JR zHaBNmGjCP%eN|zGF<$>2K`s>$H;28y?>l&liM}!wdS1x5)!>^7U8i%&u;9rY50U|g3{%sb22G*z zS$O9y3_#hh$3r0a_U?SXoy9wBkqQak=ic^jlcMZjO&U1MnKlwmDu?yE$ST7V*M2;^ z0#PADceC+#zo4drM}5edooH)p2EvS*(0iEXPVz^P2!AotFZ97*KBk>*zIAELDf9yN zl{mk7o@86Ci)bSTi)i;`ejkZ%uB2x+hUN{A9o?jxR^z7?_3Y>Aa&*vp;`B}lSnlWQ zy0L57t5{En>n1#8&);J&y!!yVsc&QodQD_uns%9XY}rRyQUp0HO&RQIslaUnbajj& z+SqSLeeGwj$w?lLudn9OfOCt*e$qGUC|B;iY}`;luSHX2c! zvm?%Ig4EbeoWzh9rh0R6rb1jC@+nPYw93@52*3H`7w+#?Y&c8x_+iS9f5UN>%;R zTlNtwKe0g{M<7@zp2GUfD}V(s@wr8aj|0r}i_JI<02j!s+;1NTMTKxel!i9QA3Og~ zRQrd-XhE>MBc*dIpPT5+T>e&7=4s0WFY$d+qE#b#t#mnDh|7)^_c@MFGLBq?qLzv$ z5IbIv2qs34Y@T(H{-7~=3G58f;-7mdF_1vIo~4)F#MVL;4)}cCU_)#}cE5#b%aGY` zxWF*?AwaLH)~0MLXyv;wwg4A4(gAqhgIE}Z-|9zPY``18U^Tw3{Hd0a2t7ra%j!q% zZ?|Tw#pv2bz7Sbc%j8aLI&TRgMn8>^Bn65euLMF~PHIRSjkAKPGzWXr*BJ}#vy@=+ zovqyAWV1(O!KVs(wni~2*_#@Zxh-6A^*}yVMvrJCN13lzr>o3HqBuI=Fm7ttQaE;` zK+IKIyMXgW&y#(zANyj7`p(_7gC(*>GiAwM7{vHs*|}?#V_(iV(1p2R_r3bZLl8Pa zXYB^Xt1|cbB03S56pvMQqXL?h@~2A|D>m zQ`bURilQ%Oam!wr=~t{gzT*KPApsog11O{wnA7Ed#I7Z?ZxFJ7cDgQBcGL_BFzkFg z+3GoVM$>Y^3}EyFGr6_b&DQ9$x8&qbavOwxc*liPuex}~G+K$Rx)7Qn$%;+Vx>CPU z+V{Oa zNaNDQ>a|xKQMNDg5ca7o5WBt@2sh8o?sVrsp*dROq@Z=#pe)pTRkDMzVfN0hSYEij2w|Y4=Jbrj8}-YXVZ~ zDC;9Ybx-mGQtIt7v~c@91nr8Qmy(3+vAf!Ru}h%uz<%d*o#mLQbe!jn!RcMM!{v`W zMy)?g^57swZ8yE}+?Hzt>aE8b3Cmh6<6arsj!nK_DC%+PXn!_;r>4=Wo>Ko^Hw-0} z2hPbJ8y?{9N+c3HE(!%BgD|lwaKv=Z zR?GNvIjg9qWhJfeB@x)*y5Skud_U{aywzskGGZiI6V?d%0 zk3W&%xn0mxHRK9zuTvZX$KP@?zoT`r;{w{7eGFKTtod9NfXvD; z7gUN6WHVJCX5E8H}sAO?62;tS@T`_pNAL=vi8T@e# zz=5)|NMzc^GBZGjBq@&GUijYZ?C$g0u`P}fQbrN6^BlVko%R0pU50kliRC8$O-RH} zolSI~)_o7V)l*acfYw@IqkN4YF5#MJLh~q5_5uK~_m@FsKCOp1qPsqdcl7EVE#1j) z;AVKFLD>_$PrJPPA+LBJA{!q0a8)RB>sBz}Ys2W_d!D=f4+i`FrM55oV0Su0u}W46 zW(I+9=(cWw?(HTZQ&=^4yUgz67rwrtP1?7I!<`ImtA9& zj_F48K8euHW^@|dIn`dpg(2{eb>XnOX7#Sk!V(_{y%5U_--`Nx)UNEX1w0Ow-jbYf zbNiKGiH~rh-izQ}vHvlS+(wC=r!`*-LdmX|$I{rUkvZ9ML~cBoIW>XwPLbFi8*Xwt zp8`U1h`!q8Gaj=>+Ht?RSx1>5sR@XFg3cwZ&z)e$K$xmg4D?Z^`%)bM;?^-yGE};I z9*p!1A+@(nR*#Q=oPYgM)H~&|J+_OpIh6qgT=Yggqri>T;FJg4Wp_>6KG17_ml{$~ z`GV$(DgiiBq?Is6?PM ztUr7oTcnhnNKEdI+wC>Uga_Zs5mNrT+|7PR*@HYxt8sZ(e5vdfDd_4u+{Q9wGE>~5 z4V%j~3_O8Ws)#$Ag)-zYhC@4`0VxSRY_6O_JTBLG=@^b}HF*#MKDOkjQlLh_mMe4G zYHTEOi#{qadml@QfF(s^P|3cO-9Ajn`~lBx44yP=uBHTV5lI1xeH`+tZ>yX zvdwgGd5#Xg_og(hsig}twA=?(RGCBPb|*2}xe)FrB=AEbWJdn-&HG`O+EaMxNqpX` zAstbywm>uqviOFh9up5_H;6mn?OOURE##Mi9NScO^<@32cKjZJep? z*@5+YamLq#OF_O=V!jIprOwcIVqpIrO~RqflRtE@eeb*58|T@R4$h_ElA3Fz+n{@9;-n{bAKgT*JNqfp!zkM6_uQO@eAOy8r< zWrOQw%vj1i@F~El91w|@kcX7h3Wx$#?$oOBYYg{&$@FZiH1S*E_Z&SH;y8Lf@nSvC z**znEHN~POjPy8L`t+!P8(Y3vq3bI%9sJ-V0r{wZ1DW>YIL-X3q5w1GwrmsjHCjF* zIOP3qyVFGt&pg@w+PL6nhv2Sjjf~h>i4?&*oE1Ef&ysk5ELM(|fG!`myW^mGwVNx> zlB4Hy{!M|R*b7%&{54@47LV~`-17TOlSV+f_R1IVLY{!ZZI*FGPLY#btiio8UOUqW|W7woZ3q-!fbl3&bf4D&B^c<} z7v8Cdm3gZ!+n9~7k2;>J^q7{^ixOTY0IEr+3$me9989e9Yqx6SY=d-jYfapI*VfB$ zAJwIxOV&A4OV)SpSYF1k6MwsfwZ@WT1aQ2r9b?{bd(aYpTU2IAVvpEwIp1hm8>D+j zAf7LAluUn)pK*t_x>SH?&trkqbwHZ-g^EYg6wl*KCTK6i+80+EBl+rSvn2i1N1u`v zNbbC70ZKUC_QutFZ@fPX!bFbVcAo;x~zYiZ(+uoXMl? z^^=}t>bqz?S%(cKdTQKc(~CSNLQk`JYy-uKw^{BW-m16rD{GM@YyA-4*E7DFB}q_ac` zFnOkw_V8UWKYDx^5A<)<(066@jgF0geD0%RLE5=lEJwYlyeP>uW_c(1x@q0ZWR7-)x);rZ*mOeY`zSA$c(1BgT+UP!6hPUWh88kuI&51aSbbWuB1FMu z*O+fmmJPCy8hO~`6M`C+lZ(Z zEC}KPY2j>82!C}^LW(S26siZz5-3NhWjz%OKd{BDXZ{|c{#)F6DP;fXi~ONCE-x-w zRd+EC84fF++gk&mgs9hfzV3Z)9`4DqVYm$!QxCip!EZ{tq{|@loD|!bshuQ9>1Dq1 z91fiVD}&{yKmp=C0{n4r%xId~V^W9q3zK(4w>(UbNp5JC7leMHV!seF>Z_1?(vWTA z_$2uq+j7m?z2LdAH4z4AZ*Gk=-8LhvqNcj}O#;sGI%9CY^V+nzmQ3DFw^e+$re}OC zkcjfMlezUZ9T03u@x8kFH`WF(nv2i?rA$>9bsm(ScL-z@_dly)9>eLGxJIZV#0DRw z%De;QZvCQtF?BvDjPhmcWkKabzyY&F!-Aq{fknp84lt7~qLas?Hy{Kp7m2AZbZ`fK zWF)QZo(HpZH{HgoZ91Vl-Y%hDafTAY=gvyyy2cUhwpp#V0`Nt@Lh^GL3AM7Q1wDRi z{RHxpu!;p@h+V*wYdbW9J*~oWr`M5D--oRn*n1Mr_dUE_>9)h)QryOKdnxgL%_FEF zgrk3Xz}IX|R`$syo@B~E*=onLgUR)q;q7x#7n$cjR?Hu?2N)fFCSBtUr_Fd^euXS- zotwb{ZxDK?OG4D#>&@iG73!nbWS^*xK~q}B2?Dt%H^xqA;RxZB>RQT``bXOzR#|Y} z8qFdUr`cVFX%QXA5hx5--O9Vhgk(X2pten_v5-)t;FM!2dXCv|AqSxo6^`EAabt+r zU1^eSB}OQNJ;;bNVp1{vMdhBN9+~Z4s19X=^$bq2aRs9k1*cx=42QBz;*N^V*@vm< zy(Kt1N`FitP$cz6)9H}4;&`9h*>D$6L7z6P^DNL&F(y5JfPW(_k&ozWvFqi%HG$CG z)yUv)KxY_l*gWR7e{53^Q^;u2f&nUC0*=^b7d09W5*KiOc95S4YB@(Qd}+RnPx z9C{37ww@*g@2NS8DEcD(a?l0VN$J{wZ()B%KKJFYX(HiW*Vn(KjdxrfLu4vg+F{D? zoZQr7P8X*U|4hKcn++q9eMJq#J?3?hmLZxtZA9o^MLlc*pw7Eqb%iq0ZR+W38Zs=i zNdHQ#;_!5t`{C4)*_d@9idvLk{Ekj!A4BB(qw=Ek_tg)gQpQ6fgQPhDyV8K_WoNfN z0lH{Tv@U47%;wn&khJ-*E05r%7+7x{`!INx~jiW#Ba0u36-PPuNZFx{hg9W5cbS>nDEACY zV_hC5QUyEggI^Oe`RHBtN$$EN1}$tGa0s8`GTA-PxjNs!Mc88A?AN72hJi~o-pOQX z0Q1^G8t)Bnl*Qk4tCPTt2B-6P!>s3?_W`h=_8M-(v-XX;;B3+!S3=BUH=2!@2EG+r z`ld1!=xwBF3BDwQr(J}Q%@wRxBb^-sg$>pQ$s?x-4P$bQ`1(&X275`jH+hCO-fQM1 zoh}~_)kxvnN~sP%E00ldg^UyxlQ&Svh?a*gztth#Ds-SiqEyKZ#)?Xa#6bJmSxw4d zY2~41(=C3ZdvC_3Gx1+hva?9jZf<-rbyD0fu-98pJ~obyQGB)VvMsI9dX#}wLqwFt z23+7bJLA8l=0WL_kWUHYL)HD9r|>HXVM8 zb6?Lncf99*_q}5<9Dq8;-fREYnsd$hJijTHA}$t=UxXGwgfthQs)@5iKr4vmg#07% zO0kVPDL0Hm`((PhEb;r@06Hyn>P$4RN6nQ{k^{1=b~pR<)UU#xW~tHZdjHN@bth(I zQ2<=P_>;#=t|Pi$S?tay@VlcLgX!xlFkK;_ooGhHhoSCLaHNO6w?7i_Xkm4T@G%(S31!^y8cDc4c8A^b8WFc6+ z9`DmVnYt-0=ZDTO)f2XaW9)!7`+I}F;V`fJG!9jn%1Mjt%!M)}+>`tlh zRZwj-m-v#+Puo(ru)}2CtWR#$6SUXsDn3LLO0pcp-5D(fdSOsLKfkP^E#;^;E@Tn# z_PyALkTgAT#q3@cUi zflvfSe_vy-6_Jz28jn0x=mjX8aN+en72!N^9&_Mtp+|hwIcAxI3o-|Oqnt7{8q3*H z#X<0in)?}jibbT_zCkae)QxvdIk{hde{u<7ROO9?EX=h58MfVtZi%Nv<&Q~0Ld|ol zkZFc9I~Tw88|RLZ-yAQ>@QgFHxmcGDt3U69s+sld=e5dZvr`K2Oc381>C==alzY`g zWCt(if|tm|VbO&R<<|S~6V`hSeXxvjZ5u5u$cDS9`z~l?3j~rA_6B1c%S%&X51I^j zm|tJ*`YrkepFV3G^K$Q}KsKMEVL@46iTutz6|2hrIq@1xel(pH0+lmNokI)0Q(v=+ z!D?sk`+RwTjRNRi!l-9%zr9?&gQ`YuTyVx2!l4VBZ2#{&Q~dQiY*S|M#}c9kOLP+e zTlZcmFsE2iw+T}gu~0jWi%mU^Ev5enQvn!$oRM4WY8BRLBDE4>LTj9!wkj@k5Ga1F zPnb=7Dn2HKmYWUEXOQ51W4@l&epYW?0XYKUHS%jnQQ~%gJt)mv)GxQ85AU^diSXEw zbRKgShHKQD_r=fV+`gXm2m?s+NKG$p`fc0*>B!|}^22&7_w{-oucOq`?OS!LKen@0ay+gf4tU6^@C z#atde){^KyZ_u0_>t%7ldhbgx*DKCn6xSbAF{bxMVsP{>rN-2nOiC=VNE zp4F5HHit;xPh8iI;j*I5h-nXmalP%Y=&SEB7f48r1A4|c&L5LKh&}bn;BMkjdfg>%n*tNjLe;#GC9>rlIl(9IK5) zYMWe6k1W90ZAVA_kSwg=KZ?of1XrfM`%B%P9U2LN^czwx|1v&+M&vDBy7)~=j)*DM z;w?+4ne?LSWKyfVSuN460|kcX-a)B06vkRYIDACOAffE?BNW@alDVA)G^flQNOVda z$%F;YDL3L_PyIkyl+MY-T*a$Urs9wsZCqTz1$8niR$Sf?vjrmRq;A+dgu1kd*2A{_ zXve{|)703RnEURyT-=9OssXH<1GN-^Mhn7RhCqDQTO%eAS%cr-8htk)fUWeyR-JAtQ4;@ z4@utAQY_=Ht?6(mTv}0~Ifv7Vd<5zF6Q;0jtA$>pu2hlhedv0HCM&afz;`Wudv3=D z79{1Uu;?vQAX7SfY1%$G^D~VAE^QgKH19N&5pn&Ap~_$IVDVLk^we=YA-JBdXC$F{ z$yhBVAX<~DHy|w}PxFb17by*$*wLIGcasckVMCx@T(pxTLN1%AHJb$q%KbJ3Z*BJd zK-oZ-UlfsxrHSnx?#wOs2~==Be_fqqKOseTtP{2dKcmnbyFKeqJt?khb@I8?eI{!B z_RuAv73kL&EazMnHv2ta6^Yswth-!@;8r2IP8LLYZAMe=u5?%-fBmJ}e^V2_b3oS& zrF8V3o12ZeS4({rVD)m>(mOT5l!{-7+9=yZG+gm@4yx^WEil%^8-PIX&Uo17X-1*XA)S=t<6Ut0*UP zErZqGxRD3V4B*pCRIQiQkYW8B&B$w~X8{N;`OBqevoEHAabyq|NUDtw2vl6JVDD@# zMlbB>TMEA>UKYNBiO6}`(ZIT%mik;gA9`;{V9b{q4z2KUnZ`z#o?>9^b%bHL3e(d; zu#DTDRv+Zh9`4@_Lx+q8^{`8E3NGSh?FC;_l{q*4iJ??RKK&s<$?o@FFY5vj8b;Pb|0k}`*~h)=`P&WmC^U|04CRIe5yKLPC#2EZ+RQ8|cF0yUdWVt5mw6gHtcLd8Xe=PGjU9J<*KW?A&$kS- zs*n|lQzqVFfAn~O({7GWlGiS9Bp^=gWoS%>{-8PB1So}$B4ya81P0B@*j{_=j&AAC z%}use!uM91FM)Fb@|Zi}1^V}-j>$T-UExSV_N)(Ig3v;-_t1*oANA6Z?}w90n%dq9 zlog_&+KXe0)!auG>aDZ?tq1*Yu9;g%mwv&D5`%xVL~=G7THS(yQigS~QwBpVNwqB{ zlcDIgYyJ5+>3m})YG8V==&}H;1cuLrAY_5 zH8CXm%!z)-@vFaOFEW$m_>eLRU#U_N;}TzdOZU#qdcpL9e;uLDz@!2{;AYmCqk+xH z$$q2iXg)@O-hQ+l;YZ{dvR+*l zo*TPqrry|i>nzS$9PsFz2Bm?_btcI-v|ap~>-Gz;=p;FC+eamRDb}Oo)eor@Jf1y;a^FDw81flaA(UMXRl^Q1Z74C#RP!;_~4?q9v^U7TGOeV7@E?N!OepFSS z0;Vc_t||j9!8+n^d)1-CQ2Ru7hJTi_DM_TZ+}JK=xgDtU2EJ?n>8N&KOY;E2OGy{D4+)e1Awae-xwBu_ml%Oa7C z-x3w7Ikj@aZe}m)T_71{C?+4<&Crb9;>?GBwahY$VBAU?npvyR5F)X182{lAJ?@&-0B*9 zPQB9GGntIc;*|tJ^P-c(dG!ccIPQyw&uM^u%0%PT7JP-54O!U!WKMyg`@m1urnX_yr!jGa1ON~VY3V@*Y*e{Qq@Fv4*Vm+4 z{t?ii9kmgPe1m5Fr{*c z32Hw~8kL`?@Lnq@*XDUYnjmQCG#@s5&fvVM8pFSqsyG`d0H@wi-L30pBd!f+I;rhu z>$9bNjKe@P1bh`T>ty@k`SOifc*=ZKyv3k^br*=~EhYwxj%$7FTj-@TpFhT$U(W_8 z5bSLyrRIEm3m5_Ky%1=BU~dV6fZ;miGGN0GI)3y z2lX-MvDP;b;f?5)#`#eNUekOW+5sG-hvmD~g(4KNxVr@LB3Z7ZE64{F-B&^?FjEzd0g z3!hW1Y<<3=Jn+t(a?qs*afv2gF^sH5$D^ypA$mh$T}gkH>xtNrF2h6X@SpS~i@t6Q z6fkV5rN5v>^D+pN<=aow*_6$R#t%hCJ;j-#y?jP{L8#_nE!U2zmdLT>{ZRCJI$i@8 z-ODblj|dkn02?KLZz1yG_PH`juA*ojD%D2K7l;9OpEzp${zG&pP!5>@x_Tn^=LJXB zR2w*UR2am#6zU7Ckt~#2fr2wpyWk39j@QMMCGoxcm>y&g_IF3(*Q4qwCWsQLHC5MT z-~fW6^nvZhNY`B^I3!`&wbQUDG6%L*1;-W0_|kmQP$a48%s2?lsK*q+kj?YYcl@8v zNDh-AI4$ggqbBV>ecnnxVKO3gt&;QELi5`2{6)D@10+(HEzH{F&e5^2say^&BRbBe zwNiHU(V`AXX-mp-;<(7MO#+AILPcsR{^C3Ri}m+MyF(KB+xcXJ<*WP6(qha(EA2z* zdPI7-i0U|Ql{u4I=ZBHs!#!hZJ8L;`o^3Dbe)ZC#FLG&)yb;8E!m7YF_uS#rX%Jbi zRf*3@LDyj_a#QtsfbC4TR$Ra`Pr*rT>dFl$Vw(pxuDbUIH;{ zx><89k`#8Ad+b)xBBOZ*80TP+-IIC?QZ<+ZE2WzLye}?U&*D10n(w8qZ}vjSsrLm< zP4?_5@F`4ihxV5g$Gn)=vRz%AwkqVAa2eI@4-G|Ox_GIEv%R4=%WbgDo?Q~@XF>L9 zTE_lJ8%6j$X{B|81*oYCGaA6{>Y<~NEAG)@rWAB*`3sTsPwuHpW?!ahr%8Bl(^kXZ z&^zP-z;V6IeEM96A%S|M`@VS-W?)i9^2&Eq3>Ks<PasDA&%&`DBU`S-9sr>Js;qfrM+!9!(Pd z=yLqcW-&0OBPSm7xI}*q8C>#|Et1lT#zp(?WHLd^bcAEkO!MJ7(g=~K*mDVtwu$~e zW>z7jx&(C8Nh6jOKwCv4+7`|b6msUuN0rx5Ovp%z~$v#(IwA1KL9?a=Dy1Tl`>&z?9*v5lMGe}78040jC?J9Eyr8dH(xz^o*XO>5q#;_E8c>FOe#AzvNxVE z#9lB$g(kK|vMt|GW;l}e^JumR_F;Gx%e6%yd5KFh2s+@PGW5#meqegNdTev!;M6Y{ zug^*ZpK-CX_@m(7H`tC=F?YpDzUp_IMl48>S~3ur)=;P7HcXM;aq|6{FwN)8gcgw* zzA1e+JJptqp5KCcptt5a_yHFxMOiP7mMAvl4UA+7#)2E+WAU;9o_Dw;;$w4ZH{zm? zZ(JJ^ds!G%@t#C%)f6jDhb9u&oRF%!CT~tskcC@KUcR`y;`yUOsJa2n;^^}pd2EVr zfl&Iw`pDS#sn&KFjn`2z+0Hb!3p^XYn_@<_ywd63l$QFPsYh0c2P0xlw>Agb3We)6 zi=psD((rzrl+43Jwotc<0c~IXMHfB4gA|oIYXf6%$+;?-)4rVztUFv5eDZ8>2{qS{f zRe;q(L4FtcxGCI5pO4TZ_8r^3x!9Kvyhu^#Hf}Uco;4D{MzxGv7sSf*cm%qx8namU zz`DWt_3j^Hy}@{P(P1iexvU%MU=``orVz(gdRtTs7?AAb^Xb)g)Ehs>cFp9o8E=d;hsoU= zlyk}YM7<3WIbm1xruth4{8Aj7--ECmtUAV16RBUTF(^QY#b_?*bUET0uk5u>q5mM5 zAqog?_x^U6rKn}{nJO3+jUyY32S0RF4ZlzQ-CFgLZhd9TLBFE(Eirpfh58C0@g7Qj zEQT!E9~F5)nX)JJIwK6b>h*A8ND-@n573Eo;}c&nC=Ju_z&hl6d7FPW+1fr9{xV6o);Dth2~SDc7=Ih-uH*?atm ztT3kFmWuc6SQ92XPU?1K*8o)<*Qbt_+f}0IU-3-eV{eiJ%e&=hjUDZ)z&#Xnd{Z_g zreXpr6>ig%E3A7j$5rxa0hiMhLt_9|6_R0dA1#YBSCyMbb!>CA4s}dU3aiBQC zLTgz%FQTh;^be8iP(M1HKcK+~$bp$b#DksW1yCLPQwoFF9B4ej{3>N=R*LEZl^|Up zv`3YMObtHLH>nZEPH^#qA-8HfQFdnXbVKuNjH~}s*@SnbVnIFeZKn~J1TgU`=aNKa z`%BH@D7Vek{CatuJr_U3e#zLA+a$8`$pSWz~Cn6_FME1X2#f1w?p~R z^kWgUuA(oixi_1SIz@neaPc`B4|7smWtDm#R7~qpatE}1OhvR+qhSshZ6uhvD&*wB zKdM0s#*Nybt$4T`=1Pl(DL-shb2lLG^eVuO*uvs>Sr)6ONkZEwVKKVdZATs z(CuAelbjyX3RWSHlo2_I^Ca1#$F112Btz=FWe ze*L1r1N53|aUm|RU#o*m3=+===JGxfvpYo9MF-1!}BEn>xGPGKOtsuy_GnU%j+RV+1aIZzxv4Hz8AGL=+4A*Nfqj@^V-}zewH3O@Y=P zHUG2m5Bcmz8zft`a;P7bZ#|Q#R)va;4iL<3q(b!5L=a!wIZ7CVq}Ba>OE;#-FFs4J zeW8P=^}PS~SBywS+XJ&dq^P`lTrmo*rA@_acuv+mt+dkT2eYJOSadpjPKsW76@zz$KOLpJ=%FlzLfhDV zugRe*n$M`>P&nh(193{FxA^&AOSUeDh=NV}4pY~6`Sweir<{a}T-U8f_h;$DJ6qrH z9OXb=$4>v5c+3dsCRn;rS%(?xD~h7p22N5^YgJYvhi@mqFmI7CAaO8_=W>Ir1U?y$(pcl{1e!4EUGP|azJ7xL-GUt-Axt!1q;sz+Z8NRO9V&g2)IX$YS zkGGE2q19iAKYFw6h22PL3(-hte+#bZQ^=g$XkK0RIywDA1Za4_Y=^o!JS$_LS3l;- z$Q+}vsG)f>osc#D3%C;29=9UY9!%BD+r9sCV0QO5RH}#dG5sMqZ8KNs{kUEHDi0}g zEF{9Y2?N(gY^q!3(m0eyS)PX=7+;OIFIB%}^nMjT{ zXhb*Vn`blS?ZSI(KIr+6aN-P{dE+0Ik~j_#9ldX1S*V8H&i5aWq%F=GQ86=#^qK{z zw-?&!hu_0`$ra##6h`(V=h{elf0=91f9*ly#;U3bn~C zeyEAkr(mX`FCVaVa@h-5WWmg%A?KwChP8?DN9o@5*n-TaX+3NTFGF?s(E7?rBYB{B zIns~=G`>XIfnVxHJ`3VZ&vG0eBqoRizA{7}<2gcq% z4no6Vh+ugqk1Sm8cnR!A+3u>ZUmO8R>g??12e|QCuVita5dzh-KlWrr6A=T_>HEtWaFMOD_Ot+_hg^H}CazlZrbxy_mwq# zOmpzlg&K5{K9&98>|2ljYVjvj@Nc^;hY)#s=-_6eZ?{`fEYvGv!Pxc9Rbrv zsw>pa_QE~f58EoQNe+nXdbodJZFhs^jnmhs(OE(Mgbuaw~!x&d#>^nD+RRB`?g#d z`RoBaS{_f97a7DcKboh%{KYy82HECWRogkd<>;P1d9@VBZB(th2lLO59*Pdher^Ml zn6-&wU~6_-oI{18j{MB8jlO?!r}X8#^=z~8mrHLV=$Ze0pS%AggRuE8YzQ#Rq8?t7 zbGC5}O>O>+c+T-lW_uOTw;UL>=ZYQ%IQnksPpqaG8{KdmCcv(ooYJffKhAI-DxD5l zW>WE#?uyPuuuaH zaFmIg79f1D6RS$+ek*nta%;#QW8oE_dPWAT7XeLm8Fl+S`k@&3oct=;9Fic=F-Yxl zv>`I@hZ}qAS(#*5cm+dikFBm1bn$#Iwor4_*h^kg03O94xTDs8DAnAPzDi@^5_MFR za05}K9!y#u(ei&xf1W#qV?SDIELR_C)?dVRtSLOJk*$Lw{Fq=QB}%LO+VO@^Z0r?> z$WW>xSFruv30I^+s>plD@A!rL=mV`U74_^eWu_f`G!p8gG>nJ4%mM}V`i%Y5?~j6c zdp#=(b}aCBPAmIqe)nMhCjR~x_cIDNV09p6osCx)I9y|IQ>aY=Tdm0P&f59M#}}1G zXo_h7+?LyX;P4652Q>(dJf8c#d*A%V0zfMLAzF$Ia%n>_m^L>l(x8I4P0V3@XSB|u z;1|u>?j4Iw${=!TF2EQkQ>ECN#z~@HDP^@k<^1>vrfEE5YJ8+kF^day8+6AnY!6cW zwE8GBB^j)lH}zvw&$-4b(lvFD)hWKnPkk_>$V}im{>)IX;60PfzMAL4s!-4nVLrSp zPV+g&Ey3l0#Xk1%H1<0s%bUN#eyTEZ-43mBphCPB!z)7u{gyGKs|_YgR{9JQyRos!h0rLh3gLoTONe+M&UbQkPzNYzXIB6?xUR*Z7T`D_qa1kZjos` zc2@Bh0aH5iRxrP;XY4*BKU~%YpfThCx`EOANF4yvgMs;&d;M6HL&ARic z=kt98SKddF{|7R3071$!fQUVn`>GPEiFAAI&Mshi9A|Er4X3L(C*N?p-8W5M;2f6Z z6K*Qg2}s(XMY7P7_-$0nq@OPrH_4xwsZ&JLWWUINEPNebqHb94Ml4vDBqc?N<4gQ( zM<<0{qSt70bFa_Sx3dB@GAnz0KxRL&uWh`^I3)*5j>zB{0rl+r)M^Ih z6PFF?#=PDOy+Mf5zXQA}eTn4?TKo$2vmM+rtF(dp_$fq1w(%c|wSVt-{L5KmhuoXz z4rs6%0N|c#|8fA0^%gP#o1VtI_d^1BGm|_WacgWRiaV>DjdWytZP+;5FPy_Yig`qU zCD7}`YCg~P=ogJSGfCluMmXM;sjxD_X5MHU(P>_D1!Mt39!PvaecCkC(;--v9bNJ%-byn{<~NGUkZPc+iuJ)z!7}-`DcjJy13Ank<{oE{RAm7 z=iu3y$oPfU8|c1|%iO9hsdjp0sXB_VGE*(74<|ek%qJY9BB7%erX#K9BX>i0le`{Z zRf*`8*1xXF%CxkD2UR9iov(1YrCBgO8i9Ux#YwDrtUuDakjQTSaU+skRd;f~>U}QW zzVh(~iT$)|q8ETl0@Ul52uG*%q4dIR-fbga@1rs9zkNzQ(ARCW?t zguLYZe?IxhNrzrnNHFT+d3#?8{(W=PBkw zmj&t(4ht@Wa|8_r9HZ>Hl@!1HeDt-KKm8f3+e@%F!o;Sa>{C-!{+=rI8%g1f|Abun z^FREzNd{o@2XJeK1_+{*#?;Qm8LXWq3e3uqmKR!Ynnw!w(2f6ylmgvVRSMsUFx-gx zhSK*rRQ(}_STsPqs3#ssX0^VWOIKe zqW}C!{Qfw>KifbJc$!^$->YE|5m_LlVH0_YlA<86T{l1jFNL)gD*1MEs*{MixB?!L zpgsC^JRt2xyPmD7ky$b|KQ*Pu6oQ)?O5}EG*Vjfx4;?xfbBbVfkrqv-ry&Y0t=oVVNbh6~=JNNBDa0f4y?5 zNO<*n+5z6lr{t&PTTmS3OEv5y5ht6HW?yTxJykH3%Dk*oh)Dt_8qO>wr@!I4m$$&! z6F&7ftnsiQQa&HnBMzCWVOR)6YbEwY)5?{2dc?>~V;=;~d79ldz)Dz38YN{^!*7 zzpX6zfrAmr+RwRa{AAQ++}?==$#{BxW~>hnR+mar3SC?h*pCym@VGM{}0NZe|$1HRFOwX*RwW*2gYtg zuwsZ&C3!vcsK?~8HQvj5j>2%Wr;B0|3tdLb-^Cx=l1{iPCB{!13-r_bBHpS)@5tmo zzLn|Yg7hKZ-;hl7Y*gFztn8hd2=MA_n}bRIUzfz z>faKGYB&`Kx@p$4C;xF)@yD@lqVq>UDs*yC4&$>*q+WM=GhJkK-X~*$P}LGViVzv6 zgWr)+be&-wxITy!8U3L^7IF20ceCb0^v97-icF5=GTW9Sj9B61{lutFstEf{GbZoS zeE+(MiLG9**(EpllMQsrBzibH`ky>x0uiJH+BI~x|2(Vx8IRQxaoj!-pRxRCqS6QHnW!J>?f)FlxdiQlD#sDt3bpG#)!9Yy{$&<``GO zqS_x3o+vEm%V?;c*spf6zpTz*#6}R;udH>lOIx@TH{gz|P)_y|Nh`LHHH|VjqgHg={#p$m1JMKQ4`{9jHNXwNAB@Ia`jo83XDw4q2%ff4xu+Z7;b zLac@rrWP6Lx4Fg5f_|@c1QiEcaLYlc(l85-(_baPf82q83zGp597e8<&xcE5X=t7s zKVE^UR$h`aWT+;jmSNVx%ChEp#QWSBp`I#gb3STR4s+R15`X z0FZH8a^ry*%PTy_1_lu?*Ty z^<{QW=|3&ZO{o`qa}Z+x738Y#QC7!>ySIWl1V(=)C;vf232;CgG#_q$dbSXc>0#MQ zdOtE7%?&O=;*c_%C|fEM_HIa zaEH18qKY5$1mT~`Ku5gUyj&M8eTHxb?N22MU|3D-xwRe6rDRU|R#;U}Oo8C0hRyvC zOanoO15g2EQ8cfi9Mneyf4(%658_}d`vm;Q@t5DR@qc}QYp9aCaCO+u1QJ) z2-0wnrd8SPb;@VjF?TbJ5i#eJk@?k@Mq}L=UJe|$->aqD2yC)iNJs=F`tmWE^Jccx z*)~oai>MM_X-qYqc8l03gk{s>?iQqoiqz&OWR4Oe#EKyfz&QfHA*|Kc#v)t=J`08&XU2_D^24bB_g(Jtnk2 z>rd7Ia|q&Vp*`_Xd4vF=Z((s)Xvt%Jh312*?bg#ZqemXA*v_^GBXZU-yd+_HZ@Y43 ziU}tE*jk`Krk-;0o5;sd-h zl0N70ZisqjeT;_vMLC7QwuN9!5EgZ2e@UdPhXt4vhp5csn zieSBgdIK&#DgwN-9LZ+L#gVI%+h3Q?Q1S0z)CNV_Cqa;6?fse&#JW}fW-B_|VzcBm zbx8>h{@wA{hD^r<_{}D~^dlv5iig=c`KtMxJ(a1`-s~luZ(6(FwBnKU7>S7mSUh+C zwVv+%srm5dw}xg`+ojq?+TAaM{8pAfuUZ@UUVah=jbqCH{flxqR{~YvrnFGn`|yGP zmm@-iK6YnrjPbWG+jjXeW_-zRA60B25;fD2ngAOI+rdlaSe)b0^kWC%gF~C{Oqn+Ur2U)8QDiB_}6R(>?fh)n`{% zS9j{_!osq$vO)>{rl>AzYCN19K_!8` zG*A^KCxJQn7=ZWJSdh}viLygfMRS~F>#R89^PuNh`(%6Eqwi3LsAV%jsaF{cG0UWT z-EN3wr@d~!;~Hh7XJIvrQ4v?wu&Y=0U7AZ@FxCRZ9K$gXKVRn-u6|-0W@#FNik$Zv z0fpB04%K?ws#Z5u9m}9ptf_^38LX}88Z%2M$!f40k-onEoEUO%&1%mG#ngMNuRQCH z3(fA(FBWr$YhT{KePR{*LD0PiR!sf-Gabf75?HFI8-FVOdrAIlVg9E-bHZO!I5h{& z8J`d$doglf2Z}^e3vGNpVCS{qd9zA%hXQ6wKC9|%)KzV~vd-64Lx~x(9B<^CeeLm} zPSuoRu9{aT?9TVW6h1x&n#vld8d3j!QkX!D6iJ8(+Lp(@9n4g)YrorRe|oxyZ!(pE zVvhdF#t-_#LVhIS@HtQ#;=VwPsXQP)(V>iy2yF#Dg{-1y>mhEf-Y1yLRAmyn=5bOL zj*D$PFNSks%eaWH*hC%nzJGQJd4%*yE`fdq_RQ&6~qG~wowq0kmZrbwV%J`a8w7-STVjCV2>ec z@t~5r^3WUVOB0D^gR%84lvx{Siiise6dVZ(P*`FXMUn zy?u}rW5?@w+j^{6<*Sd=9qNy{5@D7_9`o`n@62n&u%-YKTV*+ zlHe>Av(Ikp$+Z15iRnK`h1COpZue(dVw(1Zi=UtCC)({YU#6(Qee?-gANy2Ed^N=W zJe3#PJ%^ul#)C}fC_=id>O+f?6It|&z0pJhT@x3tBR)h8HE(X}oXiKN*ZIj5S;abJ6s#BKdShzJH|ert}d{W7};T|;5gURb*qd`7qM54^sop8ARdKW zgYEX@v12D+qKBf8_BX=7bg$)t=x(RDytK#;!i&hYfs17k7;M=@qVIyT=??O}10waI zq5Zul$@PuL3}ZZv!lX_Z0VKf=jDRJs)0-NWZy%?G6)5n~ykO3z{GB+7W6dz;Re!(y z*5W7s-i#Aq#SgphQJsIEglF*PTp5mmt={!g5xuJO-R~x(!X!TX4&xv1jXeQFd+vHy z8MWH2^v2~z=esZ{rkZebb3ecOFsV1dfob{~u!2Tnqp>W;OH@&Ca^L(ueZ&sY1}k?S z@fbWCQT0IOB$sliJwptRjt1=iSj5t$MXbR|jwCP$nH(O1w zxZ`pqzgQ@rlj6sq5%HfKXVyq@VpuZsOFAm|;Ll(ke8*0o&UoyiEFO^DThAwRHJFw$ zI4G%YlQ#H9J~!Os5hEdL%;*0t#_y-x3tVxtkz1I|X>~PDEn@f9mOk>waIeKIo2;`O zkMuYZ1&IsJm28@QNo|brwQESf?}gpH&o@(;tk>V<62QaB1OQ$pYjXga8h8r}C_fHRhu0MTVcqfO~KG`)Tf@ij}-T)vk%i8<;PR;!MN9WG1(&DUp#PIK7w=l)|62Z!D zyY#9Nrhub=Rsu`-p(6IYJwTY{l0hTydi6G)0H$Uzk@-I0-c2lRZi5kg{j~>>ZPXEp zn6B3KEbm%AQmaTs-$rTDu=2lR1{abhw_!p6BsRtF{mUq}de6s63cl40tpG@XzY9qx zJW)R~s=p(>*g&!w%4s{ki^(ad4*xKA#FCkd?A14=xci^v6!z(2Kt&54&QQi!ma^vx zxS9Kv`Iszd`Htp`qUP)RT@_FeJMKGLt7eetXnAkQEklNJi! zX|xn#XFeVYO`VPr@vVOU@B>xaghr{}Zx+CE^fOr)-?-0n%({W@;h{(SFW!Hx!QS{0 zJ|~DXJgTOtIWe01j^`%;eAR*uD%D^Zt9!3o3Ok=Tfy@Fm3t3DQ8}ll%7wFVvJRlRO zGe-;d1HMo9UO!YA7?gm=wUmUnaRq?sJS}PJD43)#$}5{}(0l=5Z3l>i95^a$rz(H+ zF5JF@5^U%F0LlE%;KHZ?p3&;ez{|({LzDV#5~hONb)$yFJjzsKWR?>5&)cxj_BT8Q zNgcP2G0AnemaEZWFQdv|>s9&X@OIw+JZUrq+!w!2|9a^EeER?W8-jb_2w)dk;_;nL zwHQ<&r=WMgPh~J~C0L0QA#%^=&FM7Mw>r0rr|!%oUIZ~ylzqj=6T$4eKCjdrqH0j$ z^5)!Vgto5RY&o*)#VL`tsJ>}F1$PgG5w@T4#F!?zUPlL&=oDg3#R+4p?mtRQ=# zx1nOYn8@{Yb$0{40TGXxW6SM08?`-bG9+G7&d7XI-8Q9wZv}D*;>kjlAr(GOKU`Ux zHu4}I4FK0|`4gP9Pt6gXs;$__U3X77eNJCW5QyUc4$A>+IASQm;FFXi`MbLn%RFT+-Kg0Q;&vT+v?WpCu3E3 z-|N(&hc`%rK)R=l+BgidOC-Q!vVYbI^ z%T2`FID$_MNXL*8o1XG~l9{ItTI`Cz>wFo$8+xC(qcqKMYI1TGu{pK_WQ6E}!lVI_ zwf)TH!P@T`)N=k6gX)~Y2EX>c_jp>yty#dl4g*Q3im6P&KH|mKg$O7mCRDiMwUN&eYA@1fPQi^~I&k*9STrla zOaW!Ix9<%~7ams@M)lWyCsB$!6iZ8IL=q#UX3z3D$nASxzI!DyO`KkJ*yiTcwX;3* zeh0YaZb@v7mnPT)y-;p+!$;@!M_t}R2lW|ZST$P}?_=0LjH|r}JpgdQySbzS)tyka zpW$<0V#BoW$pWEi?2ZG7K=+6*13xboDQ7-1+Bn&o`Wh?eI9q28iA5!m40M`o1qZ>D zkw4j6PBt{mDKMsLcryL>YKV;?TVCKakoho#ntMF_aW^gtVonnvv~lCqc3=B{I#}k}nz)?YnoF)R2!A@D1DlwB;Fv zQ)JlI$v1CD?B%no+1I!4*uAw#MkhXcxxLN1=yS)JF&Z5K?q>Eg7AX&8`T%b?MR!v8 zJ}Hl#&R(veat`Vucq*;cixeSaUMD~8dkau&$n6>l?%m~`F~`#f$^CtqIpD#2Pes1e z0n*#qrAT)2$}4aUz(f+^qZ+!&(Za|6zS3nj%|&xEc3+?Q46KL?(0(qLeZOuY2%Nlu zvRHl;X~=nTQ4gF8?9mQ7OsW)ueIKuN4za#sAiM8iyrtbFph}F``&j<}IRXCst3Qqc zthe>45G<9us?V0CsK_t&RLx-m$2AWqvbcJAERUl>yA@Vk3N28p2o z?2BP+50!iT+KRFXzeX$xkS9RHu$Fj@9-0wrj~8Qc&xJ=`NZHTwg>R0;vH)agj1KF}Ya(s7?HoQRQ+Dk1F5P&)27&g>7me z^a0!|2!+)lQ{WYbktn;~gtP7T3P$$5ses*uYr#s(JLe~?57MCD^1u3-V2NA>d`+4E z70#VtYj5{vj6M6s6H6^YnqSX2Sg&4%TAq%Yx@5X;kAIHgf6*CVI@Gu{!$ENJX-+FB z<9Rl&KhfsA^5vZRQ0b(=IjaAlN*HgrHCyN9w_lt8kFoCzYjWGR-l7zx+2|!8Dk@Dx zdI?2DML@O%kP;v?g#eM>5)mm%i4~AuL{xeUp@tril7I+-&;tadw@?Df_j=CV<$TY* zci(@nPk#95nrqED#~fo!4Bg`mmUXdy>nnQi8}r}_pI;O6P73gfAma=u{4Il8*afKD z4wu#DyULUFN%dm4@8hAgwBT`3a2iajtTUm9*I>p4Xtemm%oI^b@S^ zwxiYFU2S>de;nhVz1)9(upbU(3Kex{M_Gz})f?^a)Dvu(hRtQSc%6%HxejsDlV%^@ zq0oufK|hJ2xF;Ns-w_kckBtdfO+2=>mzH$WuIE;V3WOnqaY~E&CHw|K!ly`YB%^Oy zX|dF2nFARM7PqumuR|BxH7>HW0`QrK8t4iZ#QqwN3TzvQoPQ4PA5=Qx1q zy&B~@qx!DUx@P#5xL%WdMSAf1&Ei(3I-o^punC;cv4sT8yl-AB1=i_2Y`0;BqC_>D zOv}SqI7_)io+@43g|Fh6?X|7gOJ}>26s5d$Tq=L%vqi**UZIML3UPWfH@N)g<0!Yc zeZWJ1T-|@wR?qkE6~n0;SLSx9(u--Uvr7b@*CIc>8dLUazuqXDw7XNl+I;HP%@n_; zLhg-oUOuZg7WGTbuV*p)CguZAWr#&>oE)R1Tb|Oc>dF z$sQBToj7GAmb)@3(LiY_C>{z+h^rWj_Nn;tJ2gwV##g+i*-(6~@`rYD?kA2sU`KY(`Kz+>%gvfH<- z<8K2sw6w5Bc@ry;@Rh=7P^zK9_=<6@-T0d-CB_=3l1~J~x&fz~;x}`V^nR!Ji;wBR zFtm_^dW#RE85A-v%*i7C)DE$N+(_TqG6~Zzl4ZMEq~SAY{XZ+Af_yiCl^HF@t=gAJEN|sFgc;8771lN;*IUTAYw?Ud)9?Jo$N9Zr0<@ zA*kA$d!gb2!sNF8KR{W$qD)`3J<7*>h3L;NA2qSOv(BVR+=uiksPDl!_EyQ^O~lO? z+DaZ%Mq>hRD@%acVZa^RX27R5;>}8Pn+n?WUpHkgwWqz`_BX!h1r^byS`=SclF1=* z#gq~yi&K%bT4MBrj|R6|%uZJt0BW}+c>aM~Ww>4jWxIFrN)UDNI0=9!olq|hU%c_W z!9$0A_Sqa4ZbV7)u&6!!z+C79+?R+#lA z4R(uM?h1>U?be~+ktlO%IA6XskYF4t!L_MX|xmtt8$WQ+c(E4$=*G_7cb&0Zte1uUZ8&wT5J%9ryzX_Kym{=N4I zBbvu_}x{$)HwGPe{WI6k$#)7rsH|4Uguh3mGI zE;gI-dq;~9wIjG-$fe@|2yh|TH#53l*gJ**mUPu2D!NFDZPORqr+UxaG52LDQ*(Si z%I9Qg8j|(5VFq}aC1k zTA09pkzmqu-itsYPj}P4Y{JwPr#) z9yEZQ=#$qu8}0blf&O{2|M6jKCw|DSjgPF4awIzD^dE5!I)1wFAgoHM8o$U9cwbYaVyo!6>A`NSAPiP>op2a&PMXKJQ9pq>)W&NCTX7^Xfd&4GeKW;k z+dXyB952T5>DA0R1K(%Xnoop{*v0P_SGlf?Gn&Wz{cg?4p7Qtq=Mou`!r1t14hnE2aO|v3(vbeJDfMj)>sdT{T)k(7@FJ9+d+@|_a-nxy| zuIlXS-y_O6uh>e-lBDt@E6;|Bwpe%$4lx^e06Tae@Sm?zdr2@baLey69`RVG zbfwE7zSUDDUYYVP^|rcGIo^aMeC7*2qX4=xH@N{Rw{%wjnZfx+wJEqb;*nl#dWVei zz717@KjxnR+|cl++OlDyC|rzw0LGAd5z!3(_?-p3w`=BRpe~xc4VMOa7o${&FZWWy z5Stdq@h9;DxHec@MAG3~F-G1~@>Uw?R+urfkp28GNXK$9lJguoJ6(fWI@Xb6A=pZT zMSfSyO=Zd#7>sDZbUWD!Bhh)b`VV=FaI67$;cKV3%7#r+! zo$lI*iR{D|uR}(60oFo z`CulIb#xr4&Lcab2zoa+SfFq-H*&v8wss=LbG|)8*|#VpIfPLlNeCM1siKBAz+Tu` zFVUlMEOFf-K}$<=Fl;tm;F=G=f>Yl8r5k+wnHq~tIS@ee+O(Lr!CH}QA`R% zw##0lq066VJ-f=C35O*e9@lPXjV5binf?K5{q<-b-5lEtvIh{a!Hrdu&ClZbdM{uu z*;mi^HA55qrOBpV8VhZ1QAbhU$KS=D5ek8e;ASXM^-K>y~gLKCreEi^d-`yF1+FZ0pQ?7F0+xOP~N?8t5 zo-GBSkfh*GKGa-DY$?p3!2D!bk4apzExwNW0s;*`u$?~Ud+Y40XDY7KT7%E!j?kTa z8bRnpIXEw0vU1UY(m^jLwZa+NJh(cNtyBp~NpVoU*47XyH{KlRAJO>f*pWc>{VDWi z*7{B}dKElWG!Ap{crRr-Xqla?K8E$+7Fzkhrk?YGM|*>l=Te=jh}pBR7pKvt#> z$+r1PH-nPSxns7oebS(1Z23&3vB=wLGKOB!X2p}}o!_#he0r|JJH+Y36H(A9UsdF!IlqvU z@Vg?_PcFfx(r$2RQcP=bN$kNH%f;vex4Tg|0DNx7n~g+*TJgT$PgI6JAN#X980HDR zgwIG=lCR2sVn`SbU%GoKh23J~QuIxiKb52O}_c=f;4DIkh%eu&Q3?@pC=eDW7cRM1%N%> z$X;oxUn&T`fb2H!LygvMH|^rb6c3VBbz+ox3@Y{vN@rgo&~!n=p>g-%izAjM-~q2% zc66Xj#LDfEjyOy!g|d)vYA)5Y@suwq%!B4^>D)<^uOj1zRFls-5J-3wrga;q(}Q38 zG<0^%e^_BlBsk0YXI?>ZsMKbu5WPA~yhddCs67F@?*wgLt2cW8N@s+79%99HCF}f2z8(K8hNs)T|Ua-3GwQ=6sl4%?B)@B!nZy z^-FfncDgkdLi(9@arFmMa!4G>Ap5{jFxEi`mR){LGm=;WkO2C&O0?hT_v$B^H(*&P zpqd;2ci86$Oe6<01TaJ-@9M6egBpFrIzMPI4!zWDAB`he!?2kmt%4t3DcY zJ4dOD3+WNA&oCSDWxl0|-d=RdbRWs4!s~$FdOvh9*V(UTWeNzhX{)dQ@UUeRoV>vt zsJ^p>T`u~$skPd`%pIB(C@x%bAxeMJyj(R6)_-A_U!!8me`m-^ghaR=iXu-X4ITyt zceY@3_|tt$;l%A3T8xaJ{3@TdwgxvPBlaMe6FC-v7-Pv4ITo_X2M{3v5=M(e*qAL| zB}>9xt|VwFeauYr>67hoz$pl5 z@p#lJKPk)`x0L7wGSqs&5IWuBaG^bL8<);mDWYsyMgP<{pkZJij}(KcA2WXd8KiS`NOUIzk+#A``o>7go5nyW_+};X?5nMeP_UP=`I(D9eSX zfg$_vtdaPS4R#C>vr5QP4O+y9n(ey{T?u~$@^`|%J=jaSBpxonGjjYY?(&NV%vtTMm;CJUp z&}1|nQz5dLRW8W*upG7k_MlAf0qZlC5!H@<_B z`z3^vp<~Kvs_+^;j|u@+sTK)k-y!C>Q@BI5zY+PHnTaTJ z^l%hZx~;U^oNA%K5;A<;utWrxX@a!EkqJ)1P$EtvCYJ2k!*e9i?@R_j(fL;9^tXYE zw$Pb7z)y(AdZDl*%u^>ndtb6jIox>v!XqJ}$JdzEnFGYNM1;=Y&h=(epn( zckZrJ)mCW(x(0E4ZnvcLsedRapay3{V+lR6T>gdTp%^+=P(-X6^ry-`rItQ({>+Z7 zTjeg0o#8&LW$N%s-5aH-XVptW#ns_#{K;h}2Op*xt-LvfzF1Q7)`8$PX;FRW_}mPT zxmFdx=QourY4Vwhlhug%rYg{KxmxZGlycp`PtQ7foseJGzOzZQ18INLiRSk0HY0v2 zaYP1oup$Tb)7p zplUa6^`$=N#btx>iig*hYlNCA%A{XVmxQ1aa2U|52RxEY#g{W}PuC=I;1NEn1WG%QyVGgF^ zO}{c{mnP+o?Cz=mIn+?qgyLH^?``}_=??4UT3s2jqveYX8`XvE?<%7girR7wW(RgF zHY?fplfJz-biY|<9{5`!BS=NJa)QDQer|~pwvF7`*8N-4_-CH_`v zi-36Sv13iswLCc#TLUmK;*fzl2**DF=V3_d0jb~zD!;#0lO>2DfO4zX$)W3 z_4ziWcR4lldyKLy|DYSxe`MCXxTLr{$+y240MJc>tiGpLwtBV7!)tEj<0JrqFZYqZ z=AFZwp%(p<%v70kCDn3`Mc(0tIbhg_##3%&br@2UkEhw)4NuItt{3s;@_GK? zo@)-L(Ed7!k*aU2iWk^FX{)|yapG)4V-Q;-ssq20)&Yt}n~^1uutVG9NlbMB9;@YW zhNDY?e(1`?`N3%r-q@0(oXjO)Y!D_mr4hBMJ5anCR=r%54I?~l6>4d^bN8|jFj)IuqzUfq=v3Q|FD@T9F3^odplb1#g1>8npv>qM)~%`Vazi2VU{8fcVc zepFy{KZ^8fvbSjW8`#6y_3D!rnInOBox8ZU8O7|I^&b=meYF-JBvaf1y%${kVo5R% zPb^(4rJ4>BPGJ;%jf{4Ar|GW`c^YCIfA}>zj}3PD5b$uX8>1sPGGaJgTDW0ULFTv@~}<3M+rU`V|zu42R(Ntbx9WQ zgmK|MYvNHm;TlMQBg&UtJ9^OoPpvc=Pwb7iDK!`hO#uGk&U$CrwPW}98)Lf=IFMS_ zqScc>EAapRL)-Ek&f9C0<8!ln#CHbl>ipMBABGFrKkROXccm)6H*v@UC z=w`u^bRdh?#(y+h?P(yk-n17QF30(p-X3c!`5e#~)2Lwmj%X~jxc0DEfy=k{4pH{& zJYYP|k^Kf<3>BVT`dOqyKMqWYg#RON-nmb1x`MTCpMDdu{p^tC*{i)b4>D&wI-X9j zlWPGQTE*qq!4DdE{fBm+Cc>iRuANuViRE*8L|QPzr!FvQ?$<{;!)jKaki1q7l0q2o z>m{~M+4EtnrUW*7YN)%{Cg$>Mc3yv-JPZ%LZ@ajV@xtUWuG_3c0#R!-q-at<_o(I( z6XMIoUGLQw;)kuO@`HeWIkm)WcZ9CGXYdm1Z?`l}vv+o(LYu6ZnwkykvDM&c|P7b%uakj)=w z_(v>x6Je927c?yJxG@K=ohWH132RuxKKr9wzB&mU1ml$|x4>r7-PNkejplSDhLO!Z+~7-k{NsA$dg7yC#+sz%U}4(Fx(Nzi z&AV7c$)Y1}zhf`9M>6-1@$3IEj4s#z1q!obec3i&>2Nc1=f8=3a5ENpOKw|NBlrS; zvu{0q&AC zHaHXe>at7#yTD5E!Y%K6$G_UXea}{S`GNzVm(Zek4=gjazB#6G-di-RWU`!$ zdfma!lB8K%{B(lNIDqhW&Xr$>>MVmD2pbaajmwSqY@-$$qUSI^c1$hTKMy;zpmctbbzHYh^t_oGBeYTiD zvD1Xjrpan0+)GcWP0k$pjm4Rs@PTsE9o}bsD&?wiz|>t`HfGYw>ag$L@pO$&8J>y8 zwnWS<5#!{h#dXo-oeuZ&zokH)(4h)hX)m3dL}R zY8tS}PPd-c%?bVjm+x1rfjsi5|K5fh{@(g1+S?@VM8PIDyr5Kf#WQ88SSJLw^`15z z8A%5Qz_Nsz^W`Bg#Rx)LAcGOa-i$P9_EmDz-q1FI(rA_GFR}Y@kFUpLGZ0+r_v4BI z^^9m!p~yj$+3DcqB9}8^qE`qZ^8kH}4ywJ{kr7!!u{ubxR-^y$6tCIoZK~8<^)<&r zB^?N^nxSLQ#u&Wd`VJJv2$=0vA;6_uPZ;i#8{?0n-@|GlV1IAVR8rY%Ah`{)N+DQR zKTOh;fw_TOb7p75kE|#CL#SaeC`c}*)$eE){?jo83zycKP0*|(cz6J-X{~u`M#g#B zrE}Bz*`wAvVF za6HB_m2VcFhH;X9-1R!W)9BneQA1W-TS)mMXCtJQS3U7TUzYgkSQTn|@w%79X&j9Uq%&cOI;_+2x9Z?o1d7pX-WBrgjhP{#1w;!=Dn3?4o zjO@u+uWn1Z0U(nr^`J6I8(-#^N(M6Xko5diMvx`Y*MAC<9O~fHdcl1q_-aBLCbn*4 za_c)a+oT*&zmeSdSgS2&ms^@M@wR^}D=YrwuQ2;0|3!J8-6hG%T1W zZJ`99dY@{v@e-o9P*M7;F&}=Q4>FZWgJrXVPb#}NuqUVTAn!uC)?{SZ0~zhVvB{s` z0ecUni60g#bZk?`&@K1(^7NE+9X{#Jc1`bXcgymdc5Vs}qA^GkVU?hc)H?Peb zMfMVBIqt^%L&lQ6cO;7=&|@!lGRjgzS2xs?YiUPc-L-8NI)%_;fj%N@d|o3)kO>CK zN}Coc@rw55FWWB1$r}xZVG#Z~KJW?AQQVY+uA9a22#tkqg;9n-6X& z+Z5UO&RG_|YpuE2LUa2%E?IbDXrmAe^X7f)p`B6r-LCT7IMUB1;3fMei_#eats_>+ z@!=Ul(B+eJc4M8dMhObNna@EyMN$W0NNPl2sHLZD1L@fq@(I8$YhZ}ue~Xd`w3u4R zEy#v2TITlnyhFN#0EU5|*lt;7p*~J{WABb$h98Q3Q|y>%$!wo5;*`Lq*1?lcOMA)c z8qjGg(4>X9ndLXxmR|Hu)75OT=$QbzDj8Q*#NZesJ(G^_Hoq?Z4@qY=_580ke^jn~ z7~-$dm%_Kq4iA3PCO=1pEDRaMzNu_xftX5%e72Y}AHL&7_ZLNzRm$xQCi%;STCTA5 zWa%P%nOn8kM%U#xvp;dW65^B$$0D>KQJLVvdECg2>!BxU7we&%pkd(z)Y5c)BmLEX zQ9WMy{Jk?A<^uY#Yv#QD0f?dF#8y^PM69r{@ttK;9lkwreh<2?jzjgDp0v|Zy(Y__ z#`aaZck0hJzo`njXK9744vgDcNc9x<>zzSU(rC&wx>V{TSD-knTd)!?n$PiA5tZc{ zmMKrB`R-$Iu>CNPNY0HcO*PVvmmhj8`rP*BY|vd;`uOGVNaORjP#w`iJC zZ2n_c)S86*-Odh~({r4D@CQ55;Zo&2YEQhtW97(1`BU({W2Z?vVgrYe%^T~n>|d2s zC)AS7-dZ&ZFe<;m(0~UHAJ#gAvf#VNbE;XH_e^mOqdpm6@fZldsnBDoORv%9hCnK9 zhFVTkwreY&bI4E#QjsJiYdWXJQl-7`e%c-9>Dv_}L^Hb&HOaV?w;cdPDWF_w1kxP! z7C6Yt_`Xjpgi%0kEw>l~9ZJ0%iB?ElfsyEB=x)G6;9ixc!3^@Q1e-no+v!rC@V2(-1VxnvU} zm4G>3oU=wqF$K1nc|9~8p8qH;-7C9?ucsRxfaFh6o(&tKFs)4q3z7I)A*$*)`0}c7 zPwZ#lje>V8r8i}m2)Xt&YC)$27ZkW)Z2Mva!1#r5=foeQJr}bhv;AUsADsWd4qGfP z4mhT(X?8(JEbR8<&tXqx*|ydb#S9xgV{Q$%7xT3!a%_#-5yhJLABqcyy{XU@<~_46Ftg*c^8TCmG?nti6RAmrSYNh#sO-uOcQZgg?)Ipc#Ya>Cj0vaDRE)@-b|BP z;rJJ?9G~UHeV(l7$`$;JBF`4snTF;QB|+~TGMbr`jT0Smt>z4JnO-xBvXNS+iadbz zGX-z}NwQ>PtJClfXkNfhrYSGs`M@Ik{(1TNs~k^h;Rx4!)Qi#;ZQK4G3TmZIi$wFA zi0tqav%0Y?BMhezYZ}$;yXlCQCElv2z2y*-+vxFB`VIRVgGHP8cJ3Wt%Q^?uBRkt5 zFiEJOE+v(YOg;2P~0T#WOYaPH865Vpc=2RxD|87)alfhe`2h` z616{Y1Y#tPEw0MVx|PW~hl$9YMh{WU_x2$>WdV;m2ctSjzu!#+A-eEMCBitZpTRG1 z?{=md&&56ClI%b=>Yp=_d7~2m&V7kfIFD|Hy8#llRwyx-6E5vSS&A{>I4Fh-KXxP> z7Ws=y?rZRi4PkWb+PN)V4X3WoE5kbXC|U1{f85fy9Z5UCUVW{+uhAKpddLX8l?~Ie zOY+u|7Q98WMiv5#(vzJCQmRvEfo+tuZNXce6(04$GQUYV&3)31GpC-s{+QQv(k?NK z)uZUuIZlD~#~QRz8!Ro-C~5yas=%w)8eFsa5mw6Svp0EUt=|}nk#VpHgH3D)l6(-? z+;Zgjj|4)CjzPHdk$rLo08}FN#HH-9u!q`{aaSug!N|egh*54!>WWAqXpr;cg&>$R zk-qYDOP2<4TuP3jOt=<`6jiF|6BqnRdl^DY8(+%8oWlSFlW*UyQ~IUF^p!9<^Kyi= zF?4ZOCnF(>whqw9oyKY(g0J}1hHSPDPHKsbJ(dZzaUB8b=BkcQzdCw~!fz1^+j1AR z7$_~q`H?5VEifRMZi*Awal(;2s}H);m+P!P?jpb3c#Fnp?WG`xtWou+>KV<058HY? zu4VXbfo&=kG-~X4%-eRR*v$nHSRWlpx;D+5LSxf?h)P@h9^1-DIQeh<_-K z${#T~9tqs1c#T*Z1%~-wYT?_T|DLg!K0L3dg2O45TdX5`TKNZxy<}o?M11y6Um~iA z%I{tQm)J>5_L!XB7HDRlVkU^^ zb$S2A>;Wcqz%{IH&LYTquSGDy-@Rz{V3t z+}t@fGG3OhG)DBX45X|36>eE(MMEB^TKlj4K+}kI00LCt)3P*EiGA!03176XI=Qo< z_nUFT(ynu>vasYDbpy5dRaxlzHJy69)cze*@eqVUvEoLSOIsVn z9zXP3d>@hRZc5)@h;>^yaagye%A@S7XYIUC#NEdwFL27@A7nlp8s`koz4X}nx1S3u z3q#)#$xbGu=}2Yb=7+R{ZappmbpUJ*aT#(%sWXn&kTWZr%*yZPa#45g2U$>zZ+wQK zw{(<;oMp#cA0Nb}N-cg^xK%a|n}K2z)ug&M+Gm2ChK`1bhtP6Cm4W>hC}z6(#{9w? z343y4e7Pl=Ua3YXV&qxG6*q}ix#e$Jm1lY`rl-X&CzjE9cKluxVigB)A$Z@{v!3{@ zsFeqI)4}#sk-DSxT=g7JO(6j;ERr0P5@p z4ZBv|NwUC>UrqkGzD8H@_gQv64zY)fkLwB}>8l3Q&CDN;m38$0_g&Z@spxp9(k(Hb zxmao^@;gLjN{JVr8H-dguoDWYcR{(9Pf|1%aT^U0xnK+xEJ|BtDxMPQM3Us|7Pk~YTM!>*-noYpESY3Pt=(W-s4#S!L`md4t->aMd|9b*?LrjvO$D*kLYhh;= zRG>mF7xmOZcl#;)ZORXtBbyZ8+N^UWgE7*{rgCwP$utyO*Pg?J-Ewcl zd9}h*4%ZXo5E@+dM7-8O2m8;k*f&T|lD+w^Xc`TW;d>{rLFXkGfz zuOt3l)oO4a&q|M2zSkB1NPf9%yT&pO4I6^VvQc|t)rL7CQMYq%Q#f=rx?Xqb6JFTL z-Cp)sat%4Uxg&GuPYVBkQojF;o?jn?fukRp>O}UnZ2n8d-IU!{tIb_~xxV&8#RqXY zD%@?oy;LiH<4Le8cqt0nxPRgEq_f>G5qDdw7Fxc(QBAm^gRI6CM@qR6*IlV9Cl`+x zw&3g5hxoT8b2+Hvb~1O@`W$J3P`TwmIc=$D9tBz(g)iMBR>YHTuE5SL{$*E$-}(> z$8<$;Un=76UuEL|c5_3~x5N^30I}=u=8=}q09iIS>+VZh@Z+}X3oJ@;9fJX&gJMbU z%XT*hoYH-O3bhX<$V|S2aq5%uceV}9Yq@ti0U|8#5AV%FXk4T?7=ds+TN_%(sK*U^ zMJRek$olR8`B!~6LkAN=u4IDMRQj%4ii zrS`~-h~OCRHwMzh{+bK9+wk+7#N!c@cXo3Q50idLr!R$y*7N`MKldM}_@4(1O9kYT zz!gpSw_-Zn@}r9!Ix;t^%6#|&k!;?-*{V3~zcvXKj#OeN6AilIZr}Ov@3-YY^$MQ4 zdLMJcG`6G`Fc7)wJOp!z@A2mb>?|7+ya(4;MP5)f!wIuV)+TC-{~kp2ix zlT&0qw+p8icy=dD(sd&+)25DDd{WMol(oCJ;KXDa5GP^+Fh5HJh> z-y-v0zq-(l02GYz%^DpR&3EQ0k-6dXr<%LcP&(kaOpxL&-~kG;{V+72i^{6MtRjM! zFVCD+*)ykv2){+;)_rU{8_Og6dtn=KUwGG?ZNk4Se}k+NVP6HrYJ_W698T=~GUZ@b z3u@}OJ_rBlt$`HDJaXd)d00yrG0wGZ zBg-BHi+Zs%_nlSU&{QZ(b&M_CJ4UaYZ&tg;ieoAN1WJh}%>IjjR(I-cQIfz;1%9lVyox@-M}=oXUKs0f!#@S5&kl=Rsb<#xDdp9iU^=P`)%oqyGps$7=d zzZRs_A{2AWZ7Xk}a%zqsEApml!-@J<4S|pF4>K(>g8lQc0_W~RI&$gKCEr!`C}4~n zCVx6=j4&(Zp_g8d`IM@tAG|0Lzf>+To5_iAX_->lG{qQ?prCI*_xbgFzh}kY`ob{x z^9qlVuBAr2a^ve&d0;>;+$=~Idq?&k-tf^-;vEp@lIv+!X=(8)HVV>UC0Pe^0IUn! zH}SkjHy_?ICjXh;=w?SQ5ITJw5aJ!P(t#9r8LN+ey5p7R=X_Nrz1006;`Ni3?O*vK z?w(HMn87#<&(%4IckUXWnIdom)zhtohLv!_S*;JBA zpQ&z|Ud5~@*L{gE`N|E`wyLgl#lBRletg@EAg8Xqp1L_WQqTJTc8JkOtTL2`i-ef! z9wR3+LC2VV=g9h#BD5$wb!uae7L;h90ehs7EP>WjZyiNM*v{q^QA#cA__0guQ_ z?(Kq$tM+9o`}X@2c=4=Y_WcVn2FYu|+6JJ#7!-*= zj0uD*Mpa+nrRKMUU4iOI#F6dut8M@?(G$00Le1mIlN0;-P@&-{x%I~DlOhLjx5cpZ zqFRxV{|-}j5ZLq_)Cl4=LWXlb7|_m+Y1hv}sv4KNSih0W@Mt ztAA8>tfHIsevX8@j`5$A7$EUqI5D@I>P2p=X1iWjRR12up2o7=e*DGSR7s4j2#r{{ z{iAXYDx$$T@_JIeTB`_B@el3nzv&LZj2f^XazDg9|3B*X2+^%ddv|bDm3Tn@+*052 z`)bbwliA@@P*wTE>mfvePX0}@3ffNYWvj|CIg!ZA&RCaUU(a@anID;o4E`4Z~PY z82iUjG$7w=Clp$j#hL<8#-zSy0;T7pfWYOaqj$)h=M!dfe5=DG;MJZ*2>`1ZnQks;(VKQS?@m zak6rmdEBH5^#ssD;98b8L!FgC!B!}*Qal_EQaat1CGs!nNQ+}Qu(VM@aE)J96tH*A z4dX1?oS{X9$xxdkPLg_2;eI9Q@DzzSU}j386$7>&;=oM#@LP0wFrX&OjV(f3rlmOZ zAk3N{%-PoQioaR+yHAD;89?%m9!f6MS+d{t_y5%Oxh!EE=Qp|-ne0;&1>}!tl9ou7Rwx|>f1y=_lY@p%1Q?YoKN~vby_^YU236uT$1hA>160m5{ zyxo^s8deA14Y354E%Ukk9?Sbr)uGE9?MsB9?}tACJ`;y`Z?#<=U^(I|xIYB5a;9Ki^AwBh<{?bRhF`4E! zD5JOY`B1+q+ol>qRm;UQwpol_Sj=JROL|@ce5>4P_V6nb5D6ssygYVR3Wi&*;-lZUo~N|=kW`w zQ%ZF?`#mRT&sfSIy55#O)vgBa7(mq-`FX>yX1hQ|@TW=qkcYSv@MP11N#$2nEK5UGMwjOQsUv%UG~Gw zrl}r#3nV1(_K4)4N)I>GTpz*x!h@=d&g|wNY`}ldK`I`V7@cH*Ctv*%p6}H;ZH)-3 zQ)_eg%eLf~!7hV8U^6p8JcaiitO#3V)pW$n-I{|;zoqdNq$49uV^q!i^Q!CoBPqGT zPDE|zaiPSTLR#uzoe5%MJ1N*^vhD?qHOJJITG^Y-5tZcBwkGg^kBoM zW(`E}xg$R;E!fu0veUlV z+z|5C*y_Ja1xywmZZD6*%DRA4B1>z`V#M}%&fOdlH7bqTSr_TlnI5tg?K`U|cRs7vX$-8@b>JuL zfUCJwn_>jl4TBN)RodB8V|tRlmF}24 zr+4wkHtScR?gorUXqlfK8_Vi8OqxeGlhz#XM*S<{HTcD8KWTv-%*xhik1w@8D}BW; zGpc`1NXMNu=8fkFGh!gtZKHSXHG>vcz6Ba**hkys)1C1nX%rHmQZ za+y^|WJ301>VX-?6OLVqB!al#Ys+c(|M8yx_oUK)6__87^Z{H8e?EXVf1w$m&1)2A zCdT?3SuBsrG!ov~aW5!V}*;_67ebm8X2a2|+Qx(cr&Ke{I0b)BYkbci)^xE%*x$$3Qt~iIF96E6GZ^(*m2kN_z;9-$~?>48v~>rPh2JK@t{fX@Mo&NV);yDNg-f1;xOO!UqM zV;>d8{9siM@J@40v(oCS)g2R?sS|<{%ig5=nLok{S3RikQ`_*%=sIbOcj*bNa&l@Z*?VnSpEs zggJBsqDd3J7BE`#V7LRzpLT5E_uuEu4)eG>*Swb6L4IG@76%v~vSyK6C2c&C-AI-? zW(!8nO~|k@w)(r7v21xH2phD+Jy^OmVE*lEp6g;fZM-CJCGb=NuX~0cUY6RRUt_+~ zT1~WEF)14yPyM;QV1GTByEa(KF+TN4M;YK2)Jzq8EG0Xr&?S0ipVMHc5ZyOr5hM5y zxBp+gvA@+l`C-+G#x7yxIc~_Cq$v&CXQ?6O8}JxA5uB~?(j$c!ig17s2+p%hHgD^V zNK%S1620~VB1Qf-6qatxqI}=05r{J=S&8y2HXKO!*%2~mT*xpviC!y{CKdOBq;Ib& z3a=qJ5Y!Kz$`0gw5X@8c>P7^qBF=a9s2A@(D|w{Q9al9FZac0E^hm-Xw53Ye`gDg* z46kg@c(u=hQ?y(?rT{(sm^XUslTotMuO&*lM8Iy=!%(*BY^1|h|ChTQ;pytju1pJSYuGQ>AQ$L?ajM!7u&;@yCG7H)`1*GJwx*DV zzbB@L0jx;0kx^_NeQ$yK%a3u*=8E3Bz*O3=4WUW*qW^WX_qmU1XPA{HZ!%cOc)xeV zG;9k?eTw*CL3&ZciR5C|9oZs?rKNM_NbuY4Ek+M)A}DSV>pX8X0+>Nj-!rx=7*{%p zz*ZuwXEM)Qlr5)V0nWc10|1HvjWScU9!&2vCiW>=S8nR8)DT5I$ib3;$1-3Pa_#0)bJcnhQE+se;YN-ROC9af3cA`Z0$r@URtO7d#)deAh-4A>U8)vBbsz5>_k49D{FX}sEn@Hr7^9yYj2 zaY7K_Va55Z>-D-wgNh>eAc)R(=4jC0m4O}R24xv$Dmrrva1zc@9Y{!9BocSi{ zdy)Bo>1tXXb=Z}&jqqEh=m0s9wt~f8^KMh=_czA?Ce}{pH7>MNOdhhXD*gF2Z@3}! zu;GaRj{kVbHnSyze(=k@t>bwZTr9Xfo;B0jR42avgv9l${uf@bh96gquaR|V5>kEQ z@B$-O|LK?Mrq;pc_c!M*67+;i*{8-jd4jL+>u$`Lqu1v9EE>7F}iZfkEf zwZ6R*{KGp@${~0#9A;KOEg3_DtBaV~?s*h}y#{Uv?My~C%ft%G_XSehY>wdC&#!Ec zGcwrM!DWv7SiF!&IsD0F>?o4oyybiy#pxbOYy0&Qg{h*rWNX)bZ$SyY{L@g8KVW`m za4F2hs$rT5&50eyqyHac?;Q?zyR{8RCwhqzod}5*y|-vdL{Fl3qRlAL>jcpmL=e$? zB%&Kc??ms6-bW_}gTeR9zW3hG{=WBn_Wd45{>l6yG1t1*b*^)r>s<3L7d#IoET?dM zWz||Zi~&W!L28*qEHFNW<6HMyv)wkO7PuAmDYgFBHRpAUg&Jjdcb%nn{6r5B>h#8E zdlDz09|F^}dpq!>$ZOvv5yiKSxIs?dhk4tuSxw_?8n)d%SQX4I$h5=k&ZGMcEHL|K zulru(;4@S--vgrW;hK|jDUwG1qnWT<61j5TDKjsHWG)83-5<5^(uRXCsE-_qSAgqY zEvX!OghcwN^(dO=*xdT#pM}1bx^`LK?F61{>S8`bP`{P=(O%=azu2?$ zFb*FwvD|YPLcPLCxeuh9=|79>Kce0-mWu-hQ+u9j(RiJ`Kgq*LHpa6W6YL#Anx`l)t$ChQ9}Y zdQXV-JW>k>oJpP}MIc!6J6b;LMubD!`F-mpX0(NE%w>K{CGXK;x7&F*#CTVD+S(dQLzN{FPiah%umK zC7hIlN!QwnXXw10yp~WMw~4jigDa4Psr*y(io(t=^Mj?X$z;yLvCp}SjrXgbGf%>N zab>I{6=4!o_``4XEkfh>Ni6yC+hs2idCSp4le`h~q^XPX#UvshAY`emM)=q%y*Foo zPi)v}e7!U3XeDRR%E1h9)jm2RTg8=jQ4IPVXNlLTkgj^X3D_o6RbD9whnIMe;r_NW zh?;AEa6=uvVy-w9rx1c0TH@LJ`y41}K3UT!sVG=;ws}~ZJW-mG|I~Pgj81`Nr~}?B zi0R5wNs=4Oesx60GKcRSb6@0f|C`S(4;d<=2NZe*BZwemoU4ng!!E7wF<`%capTF! z7NLIre%j|!@lUr6R2c;Vo;2%L!TX!S)2c6-=#Z*7e|RgU+j? zC0eu?=OfmcG%zH@R@;1+Ni<+5EtC|rx{ z#K7htK*RPebh_m{fpRYvDLw~`*^EM^>QE^-4zL;+v5_1*mIW%p3F{uBN_LV%VZu)5spKbK(M|4K(cOmo#g+Y#CoWJiP35!T*i zFrKXE-bM3)7CKxzYHLBXwR*pNJX{|I^mzU4gdUcT4z)=h&T$7zIiK*+4Owcq6VsoyIg{%lmhY18wk=Wj+?_O4^l^?J_4G$8V}G8($vu*`dO6IE5KyDNPT7BH3qtzyjY+{INK-wji$Ca<8EA^q3kyn7gDL z)8wDi^f!3eKkIrKa?`Zx6dk%fJ`p|I7G{`lC05iI9+aMD$zEabQR|EUs3BYFUdzz9 zGD0qs&vSvjwr9uWqX9rZ8 zF{j2XrdFV? zoBo+~P1zdNEWc5wvpta3zQ=LEibxTI^MZdF8cc;={UyrxKI93whtaEA%Bf`mx1{bP zqf0Ak2Y;n|$)4S?%xya1=-K1hxlCaHIN!*XI_l=IaePSBXMB{2?eG-Z|qk6DIW`_tw_i2+-`=8`uSHn zs}=4ppn26a&naY&$W}C%18n?Cdxf~8$J3Z5His85l?B?7`a;PfYrn5&G?*Ql#m#t{ z0lV&w@TY#p9e9t@uzg8ZAiO}Qedk%iNO*JS#+1fiC-tU@u6T7 ztD1?Mnl7-o;4q#zU$4w`rEVtIhxL=Md#ibNYmUF7Z&oG5@!ptV*BJO;CFc?`=5t&b zP^?xR1R3~qaNtlhF_6wy@Hwr~){93BPg1FdF#9x{Y9_*&R<+=Zmni3Txx<^H*Mr{# z8RX;~*0e`6L_Kf&82J%bB3|m1dBc8!tOxxGa&~2c*(tHKu$cXy7cWGu3&PrcOEMT- zcYy&Ox;lJNYo&~$XpPIpla<7iSMO#ZF^k^sSG;HHSfUqpG8Op!SD7I7wj*=i`!}x7 z^7e5IAghj9v!6Q-NtT#OASc^%aJb^7=ucB!jl0MlbS5`C(^h__iy` zB+xH^a>~bZ=Rjuf;~KP*Y2jzG@n&C&vHh*@vCS>R&fW|b#G1aO!Z5O>MiPZXivLpk zu?bP#wdY)@l|gjnVwWQcv%q|&|LSuit5^}D7A-6bBjcOHqmKQuqAaGp8D=ZUFC8Nz zdO<;UHRN(zNC&?giApL~nS+O3$45tmDyRnB zo01u~VVQlv<(~KW``;~9AtVeE4p~eKloMa2j!VaXKU@Co zsgtek+y1Ksj=hDn0hJxfK20QIi?gUOM17CVZ%(i@fD^xRpFbd*Mh-!it(W91uCXlH zp$rumJi1eqv$i3V@zQ(C0dVDpM6GFS8`e13K$X==lXVG36kC}ELzlyZ?qc4Mk%cdd zTy^IxN$L=ebi}I6i+9%Dd;BWfVG`|}djM!iUFLbBG6si8!cO{|@ouvqH?!6p3b@k9 z(_|b%>XE4*M(Ud~)~E7qKOd@pv9_MKi=~Q>pilJHWbf5*8Y{F_rxoYpgHDy2IBvEM zzQ%scGC~S+9oLPf(87EnPmnHyjSl`g4&N)Nxs1OVk}GS=Fg8DQ^nc0_lBc4D$2b=M z^fE7qt)W#&KyFyzx^}zTrl0y(_wA6$V4I@P$-3+2U@KaqC(*B4bTj0*-~Pz&WSh(O zQDVQcO1-sHs+EpUFK*3?k?#xi+L3JaPao2@(ILZFLNW>3vG}mpk2&udv}^?QPbMKY zddkX$mBOJe?@gsR(jW$$~7m>3jUM`$|4>ZU>#1xZHy#t5d`Js@2ez8;za^85hd zdvMj=bmPj9?bSy|G%^=o9?RtKir=H6GRn)FrdzZN|F8nDu;o|3v4Z(%-#0Uie(d7e zB&1E2J$)C$mq-Y5gZWl7Tu$`)5A!(uEUQK@hSMRbi5kc0C+DZT)4CVGH)5F}_?EY> z1ZU7mpR$`(9iI-mdZFGH%BK}5c;{$T&YqI!vNDGhs>_n5MElONb_?AEB`tF`mI zPet#<%dZczZ+B)(sdkg3kohj$0eJu zE-`KTDKOjSGSWw^z8!9eiTw5HkrkAo3LJlpiHxtnraRCmT=wQ?kVwxIu`o8Kgc5fj zw=4#)-ISX$I6E@a?46Fo{`zvzLfB|b?q+vWx8a&D021Jr4ZSZ4dbZJ@B=*i5*4lcS^J4#!w>I&f*aL>_8+p)K03ccGsd2QYl!S`DMEtg2F{7u?&1QkU?(m8;5O z*RN@`Zo{7n9lgMni3uwSU?u_eVfbzjXL~(98IGINsCCb>j<>ui)6~Ol;$z6B@xG0d z>QJ2@GOUcjZN3V!SX?`h`f9&0GSF973i-B7s&^DF$Q5vj%(=O~Dv}U6JNlU9v)oD} ze&~45>yRb| zLZf>zI{poKzHS^CnyUv>TL^UTE2#juFy(l}8u#vG*_Nq}R)qicA3wOB%*aZsVe&6k z4}tC$Tgow_F>#;BeT-Jj|!RW{2c$n{&uN{yjDq>a3fzLYjFoY#?B&NrqVEs z+Fvu??ZZW6{6a(cmNfR6RXxo&dru&jI@}JushFAtz2vpDlsS>&t7k9Y0)AqLn!X!( znu8)lfk=gKffil51~-pRlK?Eq0c0n&{kd9AH|Z^XW9(CjvKGoAIz(8l*o0GLE@#%B z0)Gp-@;jZ3udv7VSXVVA1;tnW3d_<#YM1JLfGdhWAo4vRul1Tw1s=gYgJ>#O=#!fW zA=C=KQA;q-1o)!Y?9)B&H=o&^yUKj3HibRludK4fU30%G?lc@Wr^()+C`sf?ETE&r z0uG9Qmlr>^`aEp~7T%V=#N2b4mbWfu-_A~HAYxN9y0io#TvXe?Q>IP4)79vXhr{~y zEfYokwUiF4gNH4=lsX?IzL2Uh#63Q1%g6Uj>}&F*8$aNeg$6`55teQJHURf_m%7dVb&t>s_3taSd{giKAVPC z(mkBcE>dTw+(sN%KyCkLC|5}sN0jr|$0HO46RUeuP=x^3{+FXcX z?y*g$p4#@kq3o0aST2s+*nA?2DDUTSw! zAg{?g?e(TSWWSvZ_~xna#+oMaEe&&X7GJUPqddiocXCp|fb+#kG0-)!hi+pdBxaAl zh&XHD+@*RFR5arpM&*CkYEoTnp|fXbar?_6(W)V{V;4 z2u9R^OEhy%!)w?%a0{#!qrluozi`0t1*|K~7aYak^Xt4{H1S$e&H|7LF>oH?dLDoG zNV{Z`9TALFVQpz(^HGYCuVeTv^99pebBflfL5%PWqNe$*BI71T`i&9Xz7yp+5j>)* z^#0U-zW(a`bmHPlbq{0(AHmO*7MV;N7O3e0lvHBzqH3u#P%m5Cta$V&D9)n+w^!6^6^SsMkK)i+{z!MrOQp-@y6CoQU!tV%S z`{XRwO*HzPP&mbFuF+d^B?Qmj+*~;uHZ#x(kCTiDX#{a170jrdkFu~4tm6z$zx?{0 zTdq~E&JQ`Qqa7!{CQO6i_?X5pP-;S&u>C4iL0YDHT?~V3bfmROFI6yo$~Nz|fv%wy ztN0Dm9Z6*r{Y~zl|{_h%Nk^sLjAp~!PkwU;yV2T{M%IKQc{8K%X0|xS4zGY^rKy*-C z9e5x3ZsgM2nBDVVll9tGs{X$6-I*w!sJ0)k{`q01Cx%Xu(Wz;&@fK)k-*bf+*1ULa z*lc;xXEU-kOpT9=2Jqz5&1(9Ytj)E6?NO_q?a&~s;_0d;P!)F^gT%+1tEJm7XTTPL zujXyb!(V`Zi^wkl6PZrr%k20*Q|%Sbe}$94gDuWXfDPD9v`vTYse2wVSkH4PlGA~G zA{I+oJNVX~%`xFgQjIVfa^*Fnh5Lsv7jYN#b12XciE^?=Go53$h4%4Mz=)0OLOTK|fwv$K`=(_S8 z|Ju?=4z+pn_HVDh>vTokEBIba$|$KM^mc${emxEf-Audsv0!xoqD}}V5xSpkD^y)| z*0^ZATcfjp2`^e<1c{GZr#> z`i?5gv=2WhU&tp{+1Yq?Q>#@Q<`~A9(@Z;H*V@!akcj-M7q}f*f)t%Ls`lQ`2sMP& zMct*oi@PH}y&~N|DRDHPy#Mak@2ZZsqqd29$Aq7ro;p$$@rPHRF;<<^S0ToqbI0xn z3tk|$w8iQJ+wMr@TH?4Jk=Jt4WN$IJ_G9=4r5tw92;R?5skkt@_LBaw$`kat#e7l! z@;Wc=k?PAg=a(#<*G*}q0oK6;Lmk}5z56v^uNG3mP|w&Gtw*lHQh&c^7(wliI2KRQ z4P@7PZ1L^DZWbLW(2UIg|H$oNN)X+$xmU9ha5WJzZ<1CK|Uv{2FdIJyWS8`VQ8JQ*xqy7 z!7s}D@S41`77|=w&D+hE+-;86VnFy~y>BnM^(5ugES(qAA`cR!1uBgDVg6r zTA$_riw^m1n#Et^*$?xUm|-q1;`_qcf;PYMH%mqT?z(7U+7buJzh@G(;#v85fj$cZ7Ctlk;1auW)3i70v{7{*pr#hec9mCh#VyeVI zk^2oxd~(&vMxWwFe~Orb7e2Z@R>C@6@%XJ-nuOa!+lm$XDr4X!m*4o6ln0uvB!|W; zQ%f^cJnkZ?o~yQ})&k%N@C|&nBWsB$zdbz@fuDrBu3La?N0p=QgCr8ef|ASZ)`0RyTe9U zo^tp-c%@k89t~J-bNs16W_IkjK0{f_}zjr)RNdc?6~pU#w+sN&C>~J|Bj+% zl(=gaLbg!hn`T38*U{9jN3zZYz@2`v@he$qI;DN9WA!r6CBdN5MTL*koM14q>1Kpm ztw|(s$Iutl>-?#`;az5CX5FsN&-21>pSbaEa6`Gal?2r@YEzj4UGE>-Yka;_w)^E( z{ z%K@|FE_C4uB3wb42A5*#3Wqwf)Toz9)`5qfh*@B@N~XY_AZ3UaCdmcp{ehpWS z&Lh80>C3(EPwXpvGw8deHFN)%_bSvc&9OA+`4Z$1n(_sZ-O7EIyC0CjnpXu)pq!p#YZUF#$=xz4HNK=1TvKr^5MFH&0Xlh;+DNm4?pN@4(_oCt5(iYt! z4dkdQGu`XmH$Uuuf9kV@>YI6{Qf7PE_CWos_j<^$%@Lz(&wYXRQOq#6A?!ZSin z|J8TXSc*7Koh^+Fd*oG~;@&o3Lv^P~Q$oJX_w)-x_7)mLtC!_Xo^{{HYLDGFd2N|X z{6@7KrMdqb=kaegB&aIv&JuqElqTekj0W9XC#n@F;a$rCmVQNdo#?C?T}L(M30RgH zy(HDKo8gdN9 z8vRKtsj|BU_Y7>me0KktAUgNB6K9Q0{;*MU^~{)Lq$4^wTb#gOan8un((&f%8LS8Uqk4mvWlBQ zh26;djMU&aTT(RNPp&;w`M<7@{4!hRH>Fh^<|iE$&2@pFkR=3xMlg_oLYz4_4hCUe z{bQUSN-GeywuAN`=8h`}5+{EYVKlo~&_sRQS>}Ol{e1t73Qv#x@rTa~VcZ`iuc|wB zHZ0&mZweG*KFr7S3+_|z(0yd<&>`!JHsMU8P3%22Ry-fNk* zCIBG?Z(JiIeSfNS+)`$M&>2D{OX-PzVXh4!VUXSg&CI5ANJe!x`>H={O$CbLyX6u? zUy^EnkqszI8e%UN9KDeW)fj0UcFIHhq%VumL6S+nA*&{6O_YAvW>iH0wy z;QQ3k@4T<_H}gn~7TJgKq}S-XH(U=gZ^=IJPg9{S2+sijyuFk1tu#R&K@&&^@uo7s zaHY=X{gNetlv5P@AGP64)VtZ5T2M{?%%^U;*i3ud0=*Wzd9n`F4V!lw8Qu>G=-S;B>EIxb711u!(JN4-GB1Yj^gG<9L$`KxYB z?xP9vD3PsJN2`NR8E#p-MJ6}*Q1CK*ke$)mr2&=!Ho&b6XsV3ij=tA`C^(~614ZC| z?1~2A&9!MV2|^d9ry{c^XnS`30Nl~=d$z+peXX^5J2m75^{0MpXfH>e>U`;Z`pa`7 zsTVjWWa>K^H+in?We@BWSZD;dS&f*Ss9&_Hw*})6>crj`X@};9k~&?oTH!%wKbk*b zFfposXX7SBhGEa;`JM?bxD-ZAKQQ`zBqy7{atC<42CYxrs&j_%RXQYH*ND34v+)?6 zs4Y$E6zo$NB;I{4@db$Z@<|ohK(zQugaDN>zaXY>G{e1U_A)Yg1h2RQ^=?OO6CfA# z9ek+9G{wmQ=rP3LtaRVbZzHDzva7jR2&^P6OzIP^= z0{)-s`%s%sap~%xzY|6WsyQ~b@n$EW`UaV{#wU+S&Vtk;4tUb!1OyVgp>*^!h9@uf zA^qYm_y&8~ieYs|&il)qhsSbWwwGp&EmM2BMwwp*u0AVm+P32`LK~G<;zZUX234HT z9G(vDB;h*L65YNdupKe#RoilWg5lIR#I@Pw^7LfSQU9n5{0b1c&MjdhYHmMqDw3J4 zUr6+2D@>(gAv3Emks2O>Jl1_XCdk(JX6o5&Qx3@o^??HrkB&;=Mm^nM-9c{>0JmI` z-S(dJFABMK^S7lrYD4C@G9_!+wvzsvgSB?EOS_-56-W1Mu?_`{b=}>Cn=f?)F<{;X#;dC zgEoEotiyZOoBwvo$a%Ese9TKT*?ae?Mz3X+ez8K6!SMxaPj+Q_ zZf?&>#c9zPS_h_22$EP$zOr)8f|J*xh(>(z~hl>;0 zvOXE`60$pSl#@iK#2D2bvydW`lUt>Wm7TBTIl<2RHIa{|&5f4MUa!%Gq5Z4y*4?)W zp3#tkwB^TnRm2u4iQh(l!_dZ~_XMZW)JZW>X|>GxVsd6rtssVjJ@8xU}T;01qE?R&H3I}lwQ%oBZ;n9l^IYfO*k^-&w(gX0R?^`p@T z-#phip?OycEKj5{Zz{2;D8K%ke--O{TVx7QYAqVBfpm!F6{Q`ycO)w_OKXuq!%jgL z{5*+SU#57KHJ6N1&e@9(6U0C=^6CfIVPzk%y1WM|7we!G_dePW>Bq{f))kN2&-0Jl zlj03x&}CmtgQHBFS&xaGkjb$MZkw$ecIfsU13}Tj@_=y-sH+6;PL6{TS7K%IY8g5qe zp)&K>mK(_=K>KI-<%vab7NN(^M5HYGNKuG?GwxOEa;j~nz-IMl)%%L4f5(MoW8d)p zX;=XbUAp?CuBPkO$_IACQ;I6bL+ES@3QRqR&H9JtqeMj38OAAInn2zxz;)Sqp;poOu7Q?jA^!uT~R z?Bi_))xbw+uzV$?!Cy`;5;rD+DB*U%0e6W}QT?0!$fTU2k?mjj3AmBI1mbkabO9Ty zEx8aY^##tE@m(-nHUpf*i>FG_S5bJt-dy>d*q8p%j5{OnVFO9&vcB%QYX(-@dUkC> z@L={DT|CsKeBPJj$z0w39h;TjZ-nAcei%neKkPjqdg=9sBogFKPeC#Uyu~jI8x3jh z<@nbhi%D#0NVF=rrJ)8s$YD|KlCRN(ZHZ~uZciNV6hshmwyr8RrVJ>R5u|0Az0y*=H;{2bThf_xUQMN zk^T-?q{gLB$o`Y?>CMxMo^mi-mKYuKj@4N3gUfesDY~3B3$47rX9ZDooa6CxWrj+c zrpA7mo>*=adaob;>YpIxD2~iU2vJ|vM_w=k#ewOUBJP&fvMY^sJQgh;-$|I=@wYMxiFWiZxjD+!s7IUy@I-ua9y>-QrhDcB1 zw1t$kZq3VVUggV3b%z=MW8jd}NgI0{0Z>`8h zw=hK0Gl+Bw)akm{#wci(QNd57Q2d;8@(WHplWDRV=Bf>V1!#II4;~ zm4xGb&+4hFg;^c?(Srw-CebY~9p;qqn2q9KGubJtoa}ZQd`g(xouoC=PjJ_t$>yfq zzlks44Iuw>5G^5!D*dy7;h4&F>Gl5$1razM3&A?H8Sp@uR8&eH z;n4k0AZPY)PuIb}KJ{!UXEBBHi92dlHpMc)yF~mZ0ovhecE3H?dsZ?jNq&=~95gHF zFq(@4UaH7|NFNFChE`hlJ?-lo+H$e`ed1cX)*YJ%XfD!gv)>M-KL_Ba==ANJbBp#` zcYMwN*|-1qfAgQ;rMMS93gBw#t+-HQ%$3rOlGR;rr*l&bgHid!W(ioibgJ&aKE?dO^`;zn#!`FZ8W2{nrEwJ0drp4ZUC9-C9j`T1|Ni(Im5XT^3anpz(cpO~N<#B*MjaQy&rqzPOc$#US?wJ~(*=NBJ z6wCXe19rD(+HZQwqBFHwk|>gb_ug*7O<2nltKd#@ab%m8+=6XrCIfEj~m#4`9GMQq{-tty1l|$^2wlCon0`i_t!u2&NjM2eKo5*zww+wCX0=+}a*WW`Zx2%oAKkNfp2k zNdS#Rm(`xZkr75(Q~$(izqVClSPw{GtOH8^{jbpYL^?Z1QTZ%9gx(cCrs_bm*1 zsoXl49sWJJ%9iza2dLZ_gXGQePQY9)(L_#?$aC}g0oj&NJ>~!F--eF@9~;qi4Ce@8 zI-tnS?pDM+&L>X8o_!9UQwk%leX@T)z(O?vo?K8?e@fSeC%PRCAJ*%pGAqteJ%%xY zTbD)su@9{U<4xuk8gI&3QG=%9?yGooT~5(4hStXkFfiq8DH!7XgbA$#guDQHI{!a~3dNj5)hHoAAe7>R<<4!fx9>wO`WKOJQ+=d-P#tewjzd&B4@$(N# zdIuxts~13Y!3IZB($Q6Mk6v;#3zmy}&jDeE$_8IW5;bM<5=zfh0C(B1!*uSvpE}t>fN1^Kw5=y7jBpL$mf>XsSO!t3oc+_&o%}edgzx5UnGC+E1Hh@2 zk-{r!Cn(4`fr$Z!20&BQTOJ+bs+AAEniZ{x)^I>5tMCTu^i*nKA!&oD{~b~+ZsZY> zu^wV7XXLfbRMsgyDyr2~2o`nSHG;<^{e*}v5D_#1>pYmg>ZM!@p~~O(@%|y`17g9& zi2~nx1W?2X1d59hv*Ycw9h^QdBYEFRBeL3R%`^9~GK*2vIYD5VUm*wB9xX_77{?dZr?IYGlIxfSa*oI7zi4GeK*}0uaB5iW@ukWi~5otNIr& zUi|V>Noy<0Q;mCDUgW9!KfF?Fi=sTVuEr~2NLH|XsF#u+lh(IZTk21{5!y5pw{{;+e^Cqne$s|d$l9_gUm=0laVu7 zkc@Rh+4REzEHUYYieClBg(#S@f;R(szc87E^_TE{Pv+G5so6>*oDAbT z?u#%)e%XYn4BT@$1FXvI<9)p+dvpxT0b~uYCFGqkC2jxzp3Y@##H>+G>kI!^-ImDY z(R(Is3n(0soV2zh#~K--HS~(otGvIJO8qlS4k=>>-D$el=n3!xX+gi`%^9Pr3&Qwn zSY$fAW&^sIMY`pI^0Xo`7MBa^I$M~{gF()`H8f28@xn5?SvxTW(ARUhD*Tcj_f_f288 zceAYfdlqp$-C?!fks1zu4~#f(a%%Q1`d2+X2l>B`{oiK|(tl))2Lz2BgHqC3T57E( z`S7#Tvs2h$c95$@$HKFiXgE`Nnnf3E?#2R&5sLELZw|E(r4YT?@nnz~FLsD5w&G<8t z-@3v3bnI*j0VK}-$>(I5Go1%TwE-Zx-Xm398EnKhc`eb?|H$S(_~O9PhU$<9tkocSvH7Q;%q2&wej&7?hm5Xfm29Wk@>-}8w5e3lBWnrWd@Q&kS(Djt$J#$CS+WRt(2A*Oe8f zLWm&ff22KK^7uP4vR;2q%Hyu;GL0t<^5c*635;mr0?{iITWI;Q;1yco^JAduaJf$a z^m`K@zI3@E`R;SF`KsCfVqDx8rA0tMAZ$PO;Kn=a>5sYU8~{v)NfoR7?Tgmx^YTxj zazK@voxCjVOfOoNg?a|QdiF+Y+v-X_nJvI2M8~=!=j@C|Zcf$xC^W|MTv6&HljyYF z{cZ1$1p9{8bo^tOfK2x66D=O;BTplwC$DE2$u&4FYmcUcQ*|B?y7}N#{|~<|h=YNR z2;F-q@%4k);3gd0M5FR~Fz-k>1aLqD-Ln-QazF8#buc2p54sK~NzDqEmT-%Dyx{Tf zo#6f=KfZ2hH#!QY}bwZ6X?dZ2!02u!_UwuUuspgd$1=J zvmyPRmWgm@=^3TN{cw2+DkFYL#J)rhppmzEnQ-ku*TJNF@Uo5BcY;cH(i`l|&_*D1pQ0^)E z23~c`V&-;tV=yE7*FAm(uj=|JhgUyY*uwMkDUq|EnC(ZuO;WXZ&@;+;4q%7B=6W6c z?RCjB#vq4cb zkL}jAmtu-)(!_Mn5Fq5sl!iy)wj^|K(bY?KQ)A-ehZRyz_e7eGyY%7J0a6h0wK!We zh%0M!qV7jv;?6`Jbr!t|zDtd@dvM3H|AHc(CjBGl@A6 z#R~9qsr($FnTOMHnSKZL<1)(M);LZM(`B89aymO7oLPN~say(4(FUDWW8tKf%_+(a z#1ysMEGnw$?dK}0LUn5h36HNz$wYouKM*N4dOTS_Y`b=l{r+r8dS0 zkW4oXqXX*s`;3|Vu!Z_GN_dYZXY*`5DYS0#k9p}on=8Pp&?^k6%sBM%=Gge&ifw}W zj$$avu|4ylgB3HCc>=?Q>~hNZ(p6RKIOokKTu7+dQI=RBXVMqtMny-#ks*wqDs11q3kRk{|GJIriq2 zLl$p8Oo3*4GuyJ{e9YcW&?i08j>+8i7fa$MA7D#q#V9nnZ0R+r906t&bc%N8RQwsc zZ_wOLazSy<8^13T<3>YmUeI4ePKS+tLlJLYLu}K&tFzE z_i-+SCy_C*N5o+w;^y-y9$r_M7W(q^Rf)d9A;qx%)o|VZM03N5q(q|9sNc1r*2(42 z?mhd}$nk0I^Xa!P=C;co=Bg)-49*I@X#ZPYk*~H}KNA9*RPSFljvSf_q-{3EWRGxt z8?||o)R?>A<7(nd{x`X1T)j0>fwV*IeLD8cilZ%+{hT1kGR5#x)j{!ap2GDqD(goN zLvDBsMKSL+1OJwRzYWtIuEfVh+Of60c??%-j*wYN0{_H{J)Azw&WG3eyfp|Lo_Z}r z7p~ci1*O~!OLUxx;+bsc^lrG+_!ou$Pn8iwE4xa4{G_m#>G*RfTY6Qo%?T_nYxBFaggO1~=qPMy*bN|4u#7gWA8L!5vTDmm0j{ z7d7(yX0pNdxGTuTNW$fCc!PTz-}Xwy#VE($XFFpnv+y%$_9X=S%wt=u7uis6BeawL z;{D=u%gem;9>{Q3vM%D3DNd)L(q@2m!OSltxh!srd6z3O=g@?tnY)$lpwVV#%j)HO z(_+g|`&WnN?-wJ=npcQ?rDig)I#6^il%6Nr74)^N-%al(aT$Mzq8b<$tR?I0xxF`# z5|`O{MRG{xbTz4GRsgu=d_L=pq$~!{^#+AI6^(NZWJsj|Gpm9^mSv_*h)^0+@z}f~ z*$K5gnvq@sHDa~3KIua{-BeTmYKu;&*-iPEOeV>3r0b&1kaH;yLrxC?u|#0vl1$L~ zQY`P|F-MvEstmjSB6|iB(*VPBWhR8kC@ZTpP5G~AttjL@p!jZf@oaX7GQ@}9k)AIG zD(a>nA3>-|G`~a43S;zZ)~*9?+-=8N)@W0Qin*E?+uf(@&uYy#f>(GdO~Q#*?PsiB zFw^y{Idq@FM|z~fP&1+lU^6L{#@^U82?EfJm$Qas;v#~Q|6d5kMG(=K{NgNbo&+S+ z)SzC(*v7R!6T_pg5s&vt@NT<9uwjo0Xf^zDFY~sCxp1U(!SAb5#p*=90p%|W@u-uL z6-8m2F>A>{=>)!Sz5pEK$x=lClqu-={k#8?uaKCMB`{d3RiM3U!TRZ1mQ0TF7 zt?0hmNpQK`@Em!{KQ7^BaCf6GDOz@CDZCOdcrQN5X@0VH97#HG? z(LZshmN=uP8;IhEDd&zytFkNjjP)F(%PooeNc>gt!lZiz|}Yn81kIba|G574AkKC6f#7BKIrZ8izj; zSBZOETJbQB2U@V!-FrJ8mqvq!S7B3NI5TRppC7*kp?tEHJ)7kj@%iE)OqFx&<7%KCa{lMB&4mE#jWX@~{q)tTn;#@ou@35zE!2>FY5YPeJ55MtZ4hz31C z7|Fk6pZvxou1<#DjLqb~R{*vILBJx)dyNbLIhz*5g`XY*l2hWZLHP#k!KU#7lsVV3 zH>KDPjO{v9-R;y8nstEAl^OFfWtOm`U#oD&tODBR_p<=Di%6zx^!kK*d8CQ8vr%`= zVWT|kx_}h9ipL0Oj(@Au%B&_U{3qi<8l*pzy~S$}K5M*L^n3=H&Hcs4Q+_TY%L;AN zX8RgKV*iZwdQ@IQ{e*dg#~OfoLW;md^XC^SBr<~UE~~ezeRioI8-FD;2{@f>i^Jj+ zXrVLC61*2w+Z~g4XzOw&NRt2a$7{8pyI&Kr+cUxF3=w-z1@NKi%emv!Q2 zPE3mvI?DiUFO@N$1~fB!spZhM3}>t82}{nhYQQ19c$+oLcVs@ThQ1qZ>xgte>UAAw z5dp>t{`f$axUfztHf8Fkvdw?fen%(3`qYZt^@knksLqwGc-t-X* ziM!P2rlfre=vdXC%PL&0rHnRvsBsm_yFS*hXR_(fSTZ$?NOwoFFlt1QBGMssN9meV zkk8XCz#p&-2eaIZ*%RtQ3gXhD&;H6!yA!%^PWurfQy%W1CC^{U+{_zXI#VUAmLCe; zC;p~lce#&`EeJ4|TBzXrW?qF`L8&X@M#NlWcwm1KUSLbGsf>I1#YGfx4b_~U`&S!( zKZXRbT<=KUGv;24=2h%GGxCO|U=Tg#LZhsuDzE4Ot8cFk(9GDtUx%lW{#d0KY++&~!py=<1+23p?~6<06gy^imJ znC(I7{m{=0lRhhVHsiu;zQPzZtsFo{w9K8;$x6b=QrVrZPRMJGfw2)@OyrZ>5vGNC zcBd?FFzt_+CHVpg7Ux~4NxBDLmbPTs9{>arRz{`@?`V%=hbXkwAl|aN- zVSYVQUwy76i|fN@RAOiqNM+FR7ZMqOf>#7Ydto;n56x5|A+heXZR`jqrCd+s3Yt{J<)fKtt?y`yE!_83F|bL;G~u( zcA=p@$9W<=_XZ(MOa4i!L)*+TGsg=e|FMSTb%C7(GrD=rpL=@mvo(>u4TB z#uD7^WA2Xi)z#Twmo0?%bGBq|qc#i-syr+wm#F7o8th9e@=MCCc!h(R9uvRBtld4A z5B?H#mQX4`#fz5by=BEsx9>4wr?0XIKY|(k?WMjG$_L#sJ2H4A#^QRVyNNJzc#j%k z5^cqI9({qoeoeReJ?LX!Iq1(f*~S4YpYBx>s^5Ejb=+}MulL;M%bFD}`+LFZ)3e`^ zV2eNT9Cvd#IT6!6gg`%Q9t{zU1)8-^O}8big4UWmYD`_XQ@vn?>JcC4WnRlL_^iel11s9JN^B?&D5QHjyVCiA)jM~3Oa*cxuQ1Gg4pOw@#f?@MD2^oQ}q=GTp8 zAoRYm7^@+C-vCN7d(EF+C}o(`aKPRb68fS#@QaN)%}XyMT+20_Ka7O0SyqqvQ$YUw zSZz8rcngyWu6z$5_@N2KH_0TlHS)0C%_%;PGq|tElE*E;3#lZFK!?5nU4=@ z5jDk&YEHL)W@OZl*07tEjzRIr^z+V#Olu779$77j8($wzu0S#!6vt1Vqb*C-GPU+1 zj&2}(0$Y7&Zf?OCcMDRBt+r;PUKc1>IWsvL9CYoe+f<~4Z(>-l$KXqEU%XyAr3lp9 z&66-U=8djDG=qVLk_Z9%X@IwZ>vPseok7Y>590CRAIh!_!=eV5CN1K?fiDJ(@(ue# z*=^4bSL%{6+DJ!WOM9Y<9 zM5JEUGfC}2^i+${Z3-gF1hUv>t@OedS+@y}$zQRnGCnt~OjMy|u?Y5MkTOwr-7LR+ zZb9Gb9;bTE;r#f}A$@`T+I>HFj-B_ir6(oQbsX(t zng`3{VT83~ zCX7KnAo^(gO6=n!#JbXXjxAeFFZ+$icd>sr82_WeeAO9!^_aSR$Ke3k6K@)|9!ty8 zyOgd9(B!~ANJvJJ`NrltwT?>+(5{=!oQPDqL{o7GN1EJ83pJHPzp{2R^#`omRSlvwK+??+*mWaft5=gfI8HK!S!LinqCvpR!CxjS&7a zmK&64M;S%>06yT(G|i!uE&YYg^Z)2()Xr#-RMuk!nbgO}AnG<6BNETHWjpTli2?r1 zJnOlNu1(DG5zF^^8zm#DanAzUZ1 z?*}JK9SAv%VR|}1rMe&OLoO$`!(aN7+rm4b>%1}>m0JO9v>$2UA@5!R3j%*TsBo1u zKd8o&G}a2ZY(;uYMH3hIZ^=$rDLFgAZU*~2zJ6e~VoY3r)}jKWKSOs`4Ls{O9id8# zE_@(|^hZDdm_?X1U_&2L|edC4d#jZAKLVm4n6Bgq~ z^Ii#iOQ(f>Ka-+jnDhXp995uR^^c8fG1jM_Yf2q$trO973H^kuMuw`aQ%w&@^Ipo2 zv2i71g_NaY-(;OlGF20p+%D0d*v409Ji6H!Am|{G2-Q42!mr-vY6Rr>8#@^lzf_s&32a4UQ19pQTvyv$BWUEn zc)aaBBRJpuP`1`LoK)-+jzB);Y;7ZBjDAxB>PKIPv41%o8m+VmdPbw#XuZHnrun+& z)OmQOlvRAu=4;3wuHN?L>oVIYQJhymOo1-nu8lUA16<)rTwg=DW{xD&qw)QH7C7y~ zZG-78cl!@%e9=|Ix1cVaqFtMWZ|WxD+xwD5&Fj;*EW>FIPx%}xC|qJm>#H68b^IpN zF@yfS$o01UH0Q@EeZgERQ9s1)i!?I-wltMpt@(!uG;sF>w~wY?jS6iRV;~589Uk?r zm3Ow#{jT@@IyncF756rrgu|MKEMjQvWp-B33z@O4laK_( zsciVKmq}2!)}OB>+JJf;-QaxJnFRIH%X*g7hH~J^{&I!nC4e~yXFXDc{nqd{(-{u) z;`$Wa!VijoNsR5_d55qAJlj*t02@tAkv-(W7$c^(hv`0E6Ge*6#3Wj^Bujly+O2*Q zkP1OYXW|Fa#IUIZS_C3q#{^rSuUznz7#!Q*-39nu_)GU6<6xKdp4REl1IKq-hn+p5 zEHUnS%A$&a%EH2%Z)J3v$ifPE_CuZt4vz z3f%YpsyRA#u~x_>$RIrjz}`jEWr1@uWD4U&3WRB_Ca>Pn=x0s;(829Htbw%M8gN_? z@lHg(tFu%g_$4)!$9}|~#A&m!p>lHpnW{y7*fH%pvKZXnt(KuLogu6q3Nimc?kkaN zyv8ND<#+>mg*t0Bvo8A8RYau6J}n!K@_QkEi+1V_(u}oeEy#<@I=C>uabkOJV<;IW z`QkSGO#eOKAbj{|52Bnajk-?^L9aAy#FP0?cufWpS7t!{3KN3GCPbe@m{9s__vCS1 zgh#C_C{9nS+Ju~56EC&>8r1(q9k>iFP8%P~Oy}m)!?$EVfk%ZyMtO4|!M3?ZqXU=8 ziO-rCh&BL6T~T0jPBkG~?Yr}i=0h#%)a@~Ie-hu>?U+v=pMd%PcRQ`{JbL}^>*0}N z{4};#j~8oBKy87FivD(FCd4}M-^cAgPioDApTR?Pd&tXI;U8HSQL_Ty>Wf4~g8AP& zKNNzTE4&sixlcqeGAF^qNjE>Fd;jSw&6hj{n|MPWj3;EWjL|I?Y6U(){?1g&@Z6nM z2zp8WMbF!KsDwipE#WV^tJG*=YineEHn7wzZ!Vni&fE6YqezA-6*gO2diDL;fRP_l z2)6VPbXL^Ko#Fcso(jvKaHyjj1ETFO_GkpND-64kN)$8ax25H;!lPEf-}g0Hs=F3KixjoAx)KQP#QjMWo-TEdEyq1L5i+wNreUQ zg@<{JK-{pimIP)ZgAd}q-{`(bI(MDY`eFQxMivggo#p-`Y6 z;QO-xY?gqOeP-hN)IVQmDemFLJ#q{_TX5Fl!`m{g7Ai<5upvw39!h4l45*+>0h*14 z>2UmWUbiE8koU>+*QTg^t_SEB_@&4DSM(43R)IGhx1CGL#MbfCx1rqG}qyOSpHV1C10rHsoKSP6?7xK2AKKrp;cX*1(Jcj zc`5f@-aZly(3WEJbNONRUMAOb10?PgrtFkO&%-NniwiEX!TYHrV);VCS~r`XtK)*w z7!KwP#>QIecjik|wPE%jCuE1mXK;iBo%;fFdnUrsEU97Nz~h~@{Td?@UvWQS!v2N- zY=Z7vH|mZ%2ww`3{4@l!*U4qu(@WH z^cZ_gJqJE?**B&*JdawDHBhg1Z;B?G?S#W(JOMD<5bQd7U-at7;s+CZiIlHO+&$v)9JU!tW~3Y%(5$Ze}+2;`~yL%v&+(`^tAYSYSnljcE{Rq1FK3Nl~!)?<_V`YeX_O_%UvTxi~_nZ*&Q>&w_9 zQjY1iP+->XIfvt>lE^oqC-ic*+LC0*YuDBH!9y_%S0t>Kz`oIW#ex za+JS6+t08n04S44Oj{*8T17|l&^S;BJa;z?9Nq_x>0ST(ILqt2&?O6=k zy}wztDQkU|PBaL;dci(O*(^Kh_s@R00KT3Y&nbdm`MOQ%G+xN8*uglvps!OJrj(zo zoen)$>-%WFj&!*AJUJc9Z)pUX^b_?|ZKX;Y;sq z8?$V!T}=SXzXaP8gC<9@;*7*_&K1yyhX?@9Q23Hufq>_pKsJ5vDX3S+d(luHpURU8 z`woPEPtawjkkj1YIL?>B0`y6bEndN6Cn=6#)b-|YS=Qk18?!-xgZo=Q3oOyL&s zj6@4anGb(~yS2EKOyeid!i?v>P9tw){^fJ{?cAZkWrB#j1vNrSP!Z9oHQ$=&T=ksm zDRS24c4BB3av7ywa+|1rg^0QerR64b9SfBj91*V_4lHrr(D7~-edh;liAJ^lpm@_i zlQWP_h--;lb6Nfr@d)vQg>REkx$x4@Q`LAWz(s@pX-KZULggGQTEVqsjncm0OO$Oc z!4iP;efgPNlSqY$)|{pnkh_3G~)a1TPU3-XxFJX=FJ^oKu z_r0sm>u@2wCo14EK`D6Kg(Ts&d)_H)PMsQS83`m@nTy+ploG~sjQYdW z9q!OQ=HC*9<%7A0f@k*^SG=Bk7i-&CianfVkjrUJi31^rZV+@j#V+!J2Ng~n+;Z4- zrM$DF&)jH5z>yPTi$b!nOAN^mi{Bjp`LQ^mY>?YB(WuSWr#x%9*e`t!54kv+?>hv4 zypi2I$BAByWSzUc1o0ZP?kCb|Qye0DZiniiw)X?QvdhDT39c1yF@PJ87YL8mxF1IG zCdGa*r80w~9JfrXI%!E25+00Vu?_O8Ad+CvX5Y!SYPEgbQg3v&*js56S^`LsyS&?A z09{byupwzVT|@i8>tb0znNjsvn#*P}i1rN-rCq9?dnIIVUNH$ibAl1T;`e?RSjE2A zuuaXe(|;}CeE18CW*6?|8o4$P-wOBexLafY7nLQ8{ftv=;`9)0RDC>$SpZQh`@3uM zbBaJMlUnlb)@B3Q8EM5c0d`llMDc1&JtgpFoX(HmPXHd$rIJ-ORcf$e=d*NGrXyMn zZ$HiNtE6#EM37Tw^JuIcnj;*nw)#_!$BP&wgY>xlS_D_HnX4TXh+8`LSylqz`n`{k zTn*Lv{^XZE6NPH68+-kIr1jg+AO%TJo$Q@;~~lVWrgcpU=f1x}GO zSKrjiG5rvS1vRehVbGyIu41JEPE=|_ zt7lC{(h|RFl(e5&$|`+Y&JYIpol|oUM+>DMExe=~Mbqv8sh%5Y`C0Yw1tF($DyxaA zQ!$X1{I;16!Oz3IKpF?As=Lcx$AtjM>$ffmp=a3_U<6OLc)7_+&vqLXDwk<|IHtM^f29nzW$Z6szBrs?qJHr{6FoQiMVnPU z+*cwNEsHfxH)VO(ovWGgsV4JtS5)IohyKKVxp#EeprBjG>aI7`rWw(jUj0qdwx4f0 z+mVI4-sz37_S3{2KPJ4m<0rjoB9EVv3Ts!85wuC>xiwk#W`E1&E6Wr#Y@HonB{@kl zSY2%0UDQO4d1u_V#RtB2nT}?O>%M*Jo@F$7iCwn<*!0%uH>xxi>hjJJ%*qQ zby*BR0|MW%7=TG!n?lPqLwsq*ajOK9W`bSQBwi{EsZgDM8&hKJ|DSfkqcQ}V2D*p+h@&}NvOg-7 z*IC>-gWrLPh-4^w(i&r~`>8k}HU%FiTx#Bd4|wYXjFzea5NRs^+yPxWyNxWRT!Ov8 zo40z+DeLR&G;+@DOO8%nsLKv8W%9?9)Cl-egsBnjv1metrARnwXxuT2u1K}E?x{@A zh%oMknAC>g$#@KLMEL724-`UTNH)GlYe4|DNUq@vq|X;CBlx$x7sSFn(bQG?*ghQY zZ@OMae{3y(lB@C9Q4AkSidx=Zhp?nC;RCCG1RnL{+gBth$U4d067v3|$E3 z_~!IUk6IJW;IN2c(x&(6dV_Tb6UjS({#^lc)H=DH8vXeux87re$Ni6m5{U;WsF*jA zZHmKgdGW;iqIL!Xkc5?N=sbZY|1KaO;m|q_M#lds;t~|)mm3gdK9aT6?0kQMdAQP+ z?Rl{$LB32Nl6kZ%4#>zkZ>5#~P_*@>v_0NhS)QQBS{Ai@H+eTS2i?7* zkG%a^^^bvor!MOvr-%#pbRyf(lrNN+PPN)%_Wj*7W8NIB9cP>0H`fCtle8s_ZP*vx z+Ji=Gou_&tlrC0PZ{BB@ZNNq&$b!|G=l;2)_VUFrHke2Ru=D@Dfng ztb7z=kpAmmj2zyh`tv0!;(%ruEmODoe2x>JsZ%NeoX;>|XidC1c`E}#OsT$;6)LU7 zTR`*lnB^Rk5rT?fwDgvAQPp10*4kic0hLA8UoX*66y`-gbwKhP?TtAto&Yoa$ zdfF^H_iFFUxk^a!*>31{5L&85y#tMY32GYj0HVZdwg)TRRtV(@Ukv6REb`mBif zW6BrrfNG@ag3SV>glcmS)PuXEYV>VzNZ|{yPt49$#y1NL7@%YT9?Ut=Nw3ZJ%X$(I7yaP4dRGIs|1Hu!=xs`*Ue zld(30#*54%44zHFLq`J&8`M6dNn{V5R2&CjhA(XpF-znx+Ho>uQ;>b)U;7bFynk4F z7oVS5E%9;0p_4;0+ASM<)_@ zzSz3h9pkg*V9i1$=2-*Hk3O>$W>|f3dAv> zb(VE3@#1{jH8cg?_zz3ABh#n^4`u0+A{oY3Ouo5TXt;J%d@ULUoSDTF5~TIzkUp zi-x+ojjn}b$5Fx3R@2{$kQnRRd#TSq=QN9(I{sM>k@WkryrHIt3BfO9bPX*R?S!6&N}F=-)7FC_YjwuSiCqBW~@bT*zb)xKLon6I;?T~MV_n)^Cgaa?ym1=`KjLZ$p} zJU-%_N$hTJCYvcX|^$hsVln{swcN>*B$ z`B*>YWO=2=TDn--=i~0;bw5q%q>fT8xNM6l5yU? z7j6PN_yt%p%{)e<7`*5jX&bv@GflO~MDSF>g5G05>!skA?W|Q74ZolO6;A0F%H3DT z#U=wuz&+z;bCb^&4wi*GWBB!~N*C}n8_iE$1IYYn$rwjz4J4ems}OIup09rLnRSOe zA{W|7H%yV;7k0uN{T@=1cb72?(94pW$J{p1bP63#+eFQb4WH!G2780q@cCV8&psN_ z^_%q)&pvbcRbI+;!@Rzy#(mqI(sunvWyjA!} zuyg)IoYTff1_KgY-MHTQa+e=f62tw-@SkTEq?0`xw_P5A!%pJm^93CaDF1(1)9 z9+34E4)6dzWN3{z)|%q@yU(hi}y6hWVd|ZTS}qZjR6jd#7;j&>)pH{)Q5ti0y=s z{Ij4hLrqtsC8t;xGi^_4PJIGT`%3(>g-5TV#b?4M&VMX`GcA+or82W^c6si#s89u0 zz6nVg^2yye8W*E2A3=7h`(G1ssm-8ur#-l>vsfiE(HG$*1B+#g0WlK6)6Mw~AXA<) zT*Qs8HXX{d@2&)>Zud!8LxkxZXTZkL5}-*%Byi078(>iM#Isb@ZFdoo&8b`-lY!kz z8&8>=7@t*OEVE@~yZXTkEvtxNOAIzA|r=UZHwjpgV2iaU!*uIF7?mRc6m&QlZEchv3 zA-6}iV{jWm9W(mfRX(6|;4_yNw&Jfzk+Hxc>2o(4{a-tg!~46;#h;c0Hsp9)O?Y$- zf4&)RQ=dD>XVsfNLor|GLm4D0)F%*``^Jt!60oz(v4J$ta$&^lw_cHor5F}ZvD51( zQ3}C2Rt*k_OBr~EJL~2eVrjY?*Qvd8-}8uK@ny!Y*9Rp#*;Zt0*GI>Ef$4axgVHZ$ za(|YM0z-;$@WWTC*Ot@E;!{X_5LILX?$E~OrJz~^cGrWaF<|Q|*&UC0FbKH;=H zr*fGsEQcslZAhs^<-ohEV?UP=#!!X>zO1^6wnyab9OyH4jGn3NS|@@iB20Jc?&w?T zdA=PU?|g-8m*e^CMS;fuy$F=?=&X)N)KoiIa|y( z*=3UsG5}0mnzPl~ls4BxUg%ZETmp}pDWI8qy)~G6t}X90)XhJj0(Av(OL$#ouYa-& zEBSZ?%@|KX>^(!gPa7iQKB0_;b6cBjqhct-rDYoB^VJCrb~`$;l}+M>rBq0#RSeYM zz94V0Uf(RGaRI|*pbE%jbce|mpA6tC%)L&;fJrvAsT>kH zW>(h|NU~x-;B79}DYbW5w+d$9<-6_Bm%WA$6{x@y-^oI7#h3QZiAPipndP)-@)5U- zp%xSc&=v{k*Zs5WAfF@qc608gJ2l`EN>N< zv8S(e{j``JHBgUJQ`VQ8YxZEPwOyK*AFDKyvYekJ@1L*z@F}_sp%WG+=oM~}jSg5D z;6|HI?MsTkQ&^7t7N#7*#TU1IUj5Hs^baAJV#Ulnp#OPJDFXK!EDOk#?H_P++35Zz7?cdfM!Si=XbO&-hJKO;f{z0qo5`m>D6wowjnsg_8i^1gx;{BLT8>ObECVT^hVgtzZ2K7E}jQ8c)xcDh{gQyT&n5OlISEB?*#|9v&2 z+Y#y!JZBMY$NkkqSR3J+;BM+&%*75WiK6nc(#rzN5%yLi=6EY}Yc9a$P!YsRo9ONh ztqcKq5xUbv|E`XuU_EcZZ@r+j2dv=D%ZAv1bj+}x76mIjZbX?L3K)IjD-{qukpsg2 z{j4tPA>ajMeaP&aUa}d3|1i$eAN%7`@Pk1yLhA%*yG^`0Dq5f&+i~=xSVcDnXByYt zJ&Bw~;-7!so*bRq=a#)}y9O-XrUxK3Wiz->quvJ(m;RSyjEMLA(YKP8$q!bD@f5a` zKQ#R}Ve=x4#HLgXO~hix0Dea9)`3H~89EM%R+XY%WSuNzaJ}y5FNp{R&D-kNDc)XF zpV8MFDxtQ>n@i^iq~C&+q)l{_@HG`_lX`$z3cn#)-rz ztjIBpP)2%iZkT69laJw7SmE^uOnzqk0kF){0BX99G4eGM?dWA(Lk^by0*P|Z894Pix|>YAg)=+SzsNGN~IW9EC3h7^Siz;45JZ+iEd?RXsCXD zWOas+pWv|1#J z;`(edb(3>*;!%WmY$FtJWp@FvGuE*+-)--&L$fRYm?jir)kPdL)#(ukk!Axvf~Q!~ zhXN3e-nKKlxXC$X9ceX$y$qoD_i>Nwd;);d?*jHn(=fLcA1?p*C3%0|4DpapVx!eeQ{Dpn z|HOpoUufRr`o^WTM|7-m%w^SW+;@bQNdEb%{3Fr$4`K5!AyqmQ;Tpk{(BlwO1dR)J zYb`d4Y$2~l!$6FX%#&8+Q`Ozio~5ML3K?D5vD~Q2MbA3aN88G~?#|z|kmP#!iiO!_?bUZd;{z$G^F|FW75+JHas~A^^G`&?f*2yYAO%SU zddla5WBoka-==q6r>_|Z66m!39Pos8Fryw1F<hT^Qh7~UjTt=?SgEKCt-6YJsB9b8m zHBwbB>!A1ZB(A#6wm)u6-f91rIPyP^QXLEoV*m-5qLXj2`4?<}DuQdS?83~_%o1nd zZFdlg8#xQ3tQV2(%P^a|hd?5qSEp_Z0(YYLiPF?=v_8$ZUca#;vbx?ZS!MBHU{m#+ zYbg?jlI(RpY7_qf=Rxe|eLbb>qQ<^s($5>_lxcFxLM6(I6oFvxaC#BD<1qwJ=M$bR z`17ueSzJd_t~gRsOla&n4h4TfJy2QLJxc>tD&+%v`|xyu894%l!0SI_#WREg>8ybA zFZL+3GbpW%`dj6lh|GR=KbV+Y%M#pou3q1AF) zXwK^)s`Fsfi#L_Tfsu?s*M<%yO>$$o>DPI-5jspZZefD9#Phb9u_v8Wu1qb5Mt8ZW zen8G5!qib*Up7A%_L=LO5}j?q%$g>CvJpOgiU`!Y03b~NJoB-fw>q9+%! zXXg9ghu=S)+~yoR(d5}wu1xTKI1)&Lj<5sUQ=t-tq^(_V5pw39tei4(i`*b zh5#aw@uQH&>#&#_mgwtwUl}bwIq}h^DFjdXv;sh=jILS(zycG5$)q#5S@e4FkZ#xG zs1yifzff==GIa~N9cAF_NWWr<$_cqJu#Sx5_i$u;**4bcZet&5>r+Ya_Op{UqUUKP z)5idKd!>Y4A3DCfU;&%?nk?7yvUZSrA)r+~uZ8aA^ZxTh`IlhCw)teZC6#{>eL^|U zTat)=o9w81`*u8G{KGM?6I_&A(+CK$X!>un^}jqjzkf$?5ufP00D6k3@++Q^rQo4M zYC+X`LCh(|+gZVq2x-t_PD10Xa^qb@_8~d%H7^%0>|F;}!g3_Jg zaI=#w`R=Pa?Ka-$F<`y|8N}D4kpt%SG{ECj6kQBZpeMSc2p?P_!m2c?1qi_2m?


M-2NHvd^TL5VL{HC9-fl{`hKq7q9~wk~xlu77l_7A3mjSvCXr4BmKMMbOxrGPO+gDmYeUo`4eCzkiy2Y#J zO}gBgW!jPCjzPt{YaQpNq2q3ig@32C|Me{p7M1vPe8I6*+e8joOL{|sPP*suoA8n_ z4o@lGEn*RW(T)}`NK-iUj(mJ%DY}0|Ao@D*bA6990PEz|{+bgMHbnA)3I|A-H#(?1 z-GmTJP4*?IA39&QOtNG}(z=wZc31Qyj9Q(9kWh9jbj0L&i(TU~ZoCaWaLJb-gXoU9 zd_W3V2G(@|Ltp{Yy627>KrMxmtC)eVYjX?TEkeXx@rQ-)G?q=zal1Y-xZTP2gE?>| z_j|mr0Y)MDXJimSN7Nk)e<s8h zkfL;XzUQ`+>81*Zsaxc~s{OOf34IRph~U|+$yhg9vES;?ufD#May>UJx4)0W%bV>b z++;Ijw{|nc=^*p46y9(tIakk)Vc-O)wNu3MVB_Gpx)wM27a6KSi|jTD z>k+@p8PJ+<-}R_ifjBW|DDeC)j0Fput<+ch6qH|wD%=;^ysXOZ?3kW&!JlR9VvLtr zU=)kmCy}~8Q0)#Ho;LCx%l({k&#Was_cIH`}}tt(sf;^~(`Jzj7E;+kS`oCsv!NN=@^BR%E54Afu)By;I>@NIW&OVQ*mEYYlpy)oRonsq4F%#jh=?6pK z<03?&$FfqG*n1x$!SRW655|(hKF5lEtZ<71mWW_5cUgr`{&a7N3&0KN4Genq8dKAW zs2#O0TS#chWkz?q7Ova14LEb-#BPgg$HjjHUH=sFSh67Tkqce!ly59MUyw)88wx@v zUs@6|?aw)H7Ng^myCyXETCFU&_#$zY{r@B(h(ymd;RFsO5gch8sK*u+pu0;h3$_ch z0y)`B!5~{sS^ZtJeH*_?()FDhvW0OaD7bvkXh9jR@M^`Xmd~9>3_h-}5IZw{j4~qG zSM}%0k9-C)Pkg!UPkPoTLByP=fhaDgm2#6yXs0fBYr{~6*CKWr+3E?HHNWtBd4@-| zix;#u8qAfAp;eGZ5H&vuhnSws^1v|et!I8fD zX?qoA>BFjFEyom)73nX)@V=s*eM#j!r)I{L;|>PLeMmSM`+2G@AjlmrNaL`=>`f$V zM~-_TLItN%1qh@J^LU)L@xJJ%v0Ib?Z@I4k-Fr4NhCKbtgEIxt(p= zW}!nXuuFdh^V)8Ol_vln*gdOW>vTxaPezNGthCBcJ<5_SB`6JUy4U zzx^bkQCBh={X=z6f*@=3f{u3~wvgMxbOcHvzww83Z?gsEWIHk-5LWmlOmKaMqYtr|nYx0n~KybW0dsq_1**K~N*3an08EeDU)W+PPS5cIV& z$tVJFpZ*H4B@!^j4%OHMWVHy2AB$mg*UbvzfzE{u8wIc2S#0!CL`L+^rw-_)qKSUv z)IL!LLauv2et2ZWWMl#DJ2>dq!kbQ5r`yAsa@2|$%oGafcQ6yojZ$OaKVs4cbbB($ z+BgE)Ow8h?Zt(4^o`ds~vH5#J-+c9YH8`x3pMzTj39PbkGi0^VO|zY7TZimzfdPW_ zFyZaBBCEjCH0U`~8#6U`z}~V~dDyUzjcFr~R7>0)==7qF-D#Iqc0|Z}4>}pI-gu(R zMJ?S(rv&GEv?wzoc=!EAMIBi3@Y~as<@>eS0|W0AWw>K2!QW5#YI}mAWYESH6_t=P z@+At1yac!GQ%|oXVa+R6#O5 z9{{?X$8h*O-^CREG`Uag0&$Dl6MFttsu0*2uIg52@_}?C7hpTWw_F<#p+m!0WNB@& zfQpH)g`qW6K8>BWjlH7^*mTG13_&ODUvBZvM=``&wN}ksA{?9ceR^=q7qy%RXm|6b ze#H6+jJl1JHHVd)cFXea!hom*qJ(CJ-AY|xqub(HYmrFzuHO%fnQFhfC(P!-62WuE zQyP#<_*X7=I4hx$b=cEgo>9%YU8t1wx>IYx; zM-=NMc+Pa@oZRTY=TMJ3J_TK<#dHii&jhFNdxA=^i+=>a@h?HC35m*v+ES^}Fs&D_7K1LlGOe=!t zzK31L#Dvn9U%>iBl20(Mq_bh=d}Jh0^g0sWS$j?8+wk&Pgg z%^}&OS7i1Kn{B}{UJ!P6x(g*P{Jn=;1=nH!pL@8Ifj!(|Yn_G*LEhAq)+KU6bxiL+ zb^)mZQnEwR`OZjBgPpg__xU-Qcj?NAo}$fiS^PXx<@!PtZ(Tq0k)F-Laibp#w>u4- zZuBU;(uT+-Gb(tTZ8|iiTmr;*3t((pWQzs3>CyDRbgMH9Zu@r{`>+tt3@G(l*L#fD zJ8V2lhNv#;?fW2#Fag=JIuQCl)#hS^=fI0nP6zjbZ2K~J*bMl^RmA&0{uxc{NmnIC zH~5der#h46K8V|s;wrMFlAiq>q1Ofg9tHV@(05p~_X}XVorD8w8Xz%OueZkl>1kFz zeH2%BiXg9WevrKNy_J7zFjYhogjXq&jmvO6MZ-SZ8C0yLPm1|s?Y4Vna_c&;Ut_pI zHQyoRTi**;O(BD+CfKS+r(5!-)_gHmmExCOJlTs~GNMvnq+ z?&=wWEiirze0*OK3O<~Z@i8X&AM>@@ zP)6K*ojbod1DK5QuI^4>;Q>zStzV-KsBv)SJoe?gZ^{eQpr$m^+G7{V9Jk};$$Tla zERM)8)Jni0{*c`JrJ4*LLI!u&&PTTuo?btB0*!B?cKi-^8G%4MpA}9Z0Ucd21R4Je zvmU=5V3qZi0lX>e+IT>|9uKewvp!DydLLTO3*7MWf(>ai=PEOWR4MY@aj2v2F7LsJ8{6-nFdyVw7R7hslf~6Px%t7E{~gHKqe9 z^HuxYTfJX`WncGq`rRGpNbRjiq>fX@xDvViqkZ&$H^wk|f8RnvchDP%i2VTh;$#M< z&E0cCTbb~f!x&z1;O6KzF+OzZTaPxm7>XhK>)sb&6Cbd0%GUMHj*r-IWiH9qRo9rn zcscF@o((jxvga%sE!__{X@E2||PIwhLYHdto2axo_0G}EXPj3_% zHcP$;jvm=5NyO$|vEi(wj45r03?4wR7RTm`)^fOgVy3zg-1pa1a@3;zKA-JAPt_cb=QG9B55N;mI6d-JQI8aMSmWzXxiXK02xlP~B zzt|tIMq|fNQ|7VgetUbrqpt;$%wM)PleV(o}Kz@Aj6M7)_#mI=Rka@pa)`78##@AWbh z__}c0Z8%JYEGvq61M<$$pCG5{GWCw{&o@Ql41m>CT5?J04^Q0Q=#*OZY(RLFO ztyyKA7+apL&}Nl75N|l=@%+#Qv)D85vK#Vs5@p}Vb31m6ZuyPmhv-45%vBvMP;UOd zPd!q^?vD-TEGBFF7sY9dQd(?g;V}j-k$7)DftuE&%z)lYE_IeW*-L={-4pzSCAX&W z`PzNRZ&P^^gU(C7pi%F;!#Z};K|HKelI$1nY>{EulHcZAAU)>3#lInHZo@DcN;vI) zyZLg6*W=8XfWs2|_1pKcw^zq@t=SDCa$y%W^@873@?Qce^(VxtJ_WdeS@BO%7oSfj z*C6XbH3f%q&OvN)*KIi4E#fD&jE`XItQWydbw=gZ^W}FNkT2^*Hn?3D-cJ`>urrDtuBVIRB@O3jcc!;6@xi4gk z3&&3eG1wQa_=WO+*m}#TD8shjTcuUHM7m45TRJ49q(Qp7YYA~WTU z_t4(amT4_ea#}Gh-25uCDp+KZsh;cwk3nroDq^c`eA_&ByUig(! zwLoJ9Nd6`M6J(r<1?=XAi|^0Leo6cC;KQn~x~jwS_rmZ5NO3z&Z%$Up2nVSRP_DS_r96;>XoDNJm6KH+Ja^vp?*wf zFNjaJZ~P#`ayVC!d6Cl2&Rh@W$w1wrsL7`=oM6ycWd9 zX7eYzSICb;;Y5g3?7g>E)!=co$LD)3;X0qhOj_5vZ7uf^$`ls)Ig4h})+fn4wxW23 zYA%U)y|U=lidhhy2-K!33cNCRV)j{tBWNR{mvQ{D?^Z`~0y~-WnKutHk7_21Hr~Cd zE!xvLppwb`)7sUeW;+6l`x_GyU^{m_BVw+|BR{xe`FM|Upt!IkQ`;`)Czs|5{ zhRHz__Q90&)X?!((;}!v#1r^MjrQO4Wkbr$!0NBM1Vwf&5cy-aJC+e`*uVknal|`d zk1SRkFRP@9-W4&{E3mhMHz7dvbbrW!pNO@u!m3sN+0abs3s}sbKW8`PLqtcI37vl= zc>(atw8y`x)TvP=;Te1wZOEvev=`%=9^f5d(-@=4ieLk-wsXa)WY5s-@U3UXqaOP+ z>VRQBQ2ZaM^Bs;tqNwb)wr&JyV!#CY;n(MA1N_D7`C=N&h}HrxLn#qdgO#k|rfvp8 z<}J=AU<0zvNJ<{2X@|meuU0{ay9y0!92vJ8UeLHnBy48sIQkiIPv0Ue9%bIhNiTIN z(ZAfqeuh;10~ZqT!Cv5W9o(tPvgE~<1rNkY#hTuyS`<{$yZJkbBJ+EBGV!NhJR;lc zSi&O0CnD*_rc-zj5}A(%{G@1qL<@(kIhY`e6{717 zZQ-Ig5!9Tk8QZIN4N@*w)lcT#T3w4XKw~-KL6xpZew$tQpk?2#U4x%?e1U@d^1|NN zg^NM0G~X&t?W+*t#;JfbHkB*puiQ`f&_b(Db0-MhQGu;_C)*r61l>woAUFCxsJGSV z|9LjlnSF9yg?l=y$RJj-X#>GWg#9c^?J+IYw|hYel)A6slCq^J435d_%&wjLH_Jji~-0RfE-OVxXKi= zmMZ{UJ-whT(8|TO6+ZzYV+s?=&72-eQ7K$h^p|8WsF-ZkJmcGt}{^~&z z@Z9|pTZB5>G$~F8zEE`CuvcoZkUFjg zWF&>Fr#zSLCxP8J~_QhbR3Uc5;9NwnW=qCVi(i)zxBnp7VUwQ%|6wF7QAYJCN_P(s zo&$_iLH4%8E$E>$;##35^d0Ad5kuvP$caJTpc%1h)QB$zm` z30K|>1uvZ!S|UH4L0E8tC~WSZm23`MIVG+Nt=}0q2{=M_(I5D|#eq*`jEPgSX4PJ+ znb- zxGAym!D{{;`0KQ>Ek`EzN*J5FZO01h3e4z|CA|4wF9`KlQ}1RTi;LFGjOWRhp*Z2n@pH$hM5Lj56=M0H+8KXcFYaN#}H zk~e!=qvKkMG+w0gCX>0eXn?uFs+3eN76fPk2x*{*2MJ*4#hyJ|Kg#pZtkl+f?v!a+RO_M*et94L0Cpc#s}vd%RUMT~hAv=&~fE|>$hPEjD{1O8xb2%p^g!usTF#;M=SLNG8QuXg0h-ie9L z=XlGBh)qb6y}}U+3nnanU!9#I__nalHD)WhgCFXYCoSTA!V7_{i$s)z)+6RNjfbML zvENYQ{sF4uW^tO?%b0I@^XDow;W{y=Vn>M4wGFDR+nl0`&tl6>jzxeQ0TwzF-+U}E z=at4;bN;yt>`=%$t={H~tj=>h1s0QCL8n8tO?iVJJHYq;@po(#1zU%oG?%1gD|Tu#+wMig+2cPHy}18Za3gjAwkWM zP-h~qbQaAkbdOmvOF5;8MgD1G9kGVz zy2G8b(is=$Y#__bZCN%Z%c_~ARRBSoJX=Zk#f-#bENN)XIi#)W%zpGH{bnL8ADL8| z&nt9t;l|arFhL1A7tOi%j@}37-i*B}aCzkVbMD9rojbX*%CmJRESX#EtRbI1KkCWx z*k57(mk%u&!@KRX;^CCY5vhx3&lQ(bOe))~eHpb>-{G>!iD;1q{q!@I5ZnxZ3zTD+y z;Vcp&9jxGNxj+k-ITITR!xMzZ+6lkA;s^fd&+z1-bMr*n=x&aS)r>xRjCwBf0 z$-A`5fIPV3l4uH!FF8f~)`12}c(!t}Y%X5-2i(j#&B#?Icj&B9k-K?VI0QMFpi4rR z)+HV5Z~QoOv&CUEt*^RBlo&BPnlkrC~l*} z7_t~^NbV{G2RZOkht(jeP5ddw@p@k3b{)y@m~S1&U8*nixP8j9izG)v-pjA%gZz`O z7Yf~PK7(db?cX6N54HjH18i$gATs`6dEyHvtXJWXBPn8b;{ql6D2>TeZB_qSzesBrUftW6DWeCruYp;BaJv91qY1*QZ2zT2GpA))~C48vGwwTz5FrVS-aQ?%3I&H?$!`Zx+un zB?@?2ydP{q_xp@*1#PIzyz@Zs+AJgFC2mRCB3l$~a{ zecJt0y3}Y7W}s=)`Jt<>{D@~k9uODuaMp(n1ODKS8a>uC)u&!1=fENn1RVS4(w%=Q zz^U`Q`lF+gr4$h6F$#pN$^ks89Htb$I2!d!a`B?)K{3hM7*`1RRT)6!fIt3~i@O-( znVixw3Ec4!K6wO{c293O^TzkXC0sXKsC#AO-dl;EdbF6%)mgrJE8vuUOz{y?YaV`Q z=vW%r^FS`#P-fZ}b~p43yXI_>ggaw)tLthP3<4XGNPt8eZKgw-3FI_E4~Y~3XOhcg zr=E;>8z{-_Z>|oh@gFlLrbUUTYPSNg?k6Myj??01iRNqcBXj*ZGhm^fMjalR6ekOd zmk-h}FLBA2jAz|(B+!5OPKpI|;XnD9qKxm3q4>n!a6czSW6=1LZhhgp+;n{F^OBCr z9FfeZRw_?{!N7XF(i$ysb6P@d>=T@@{|h~yaPX9k=e7l~iK>gXtS|kzB3HA$x-RA7 zo~o3OSamt=xG_tp=UwXwu6OYK9|Kh;Pis# zTsDr;S4@<)Po!+i9&c7eDvkNk0>$zrzmUh0lck=1H#zG%d2saE`xZs!DWINUVo2b> zr(E1<(q+Cow23L1I+=RV39<@Vl3Nli5HJ#cg~vZRK1BCOl;VFZHlkl(`paV@ePT9C zO@x#ilKN_oEa>D*a}lqy3+vs{Go|zzi}#egkNa>YM6)@4-eF|L^%+XaJEL7H${4ZB z*b$E%8k5PD%)Ap4&ed5)_Df2`N5(3jC++$tJF%dGz*l8cxr_LM1Kg*VpReYeVIS*-*yHUjP@_)Y!`MU*1_Lo{#8~nB1MB&&@ z>Cj}f^hT$v0*Cxws@QS4pn19A;Os*TBT)=e$QoPfCOfs+c5MtA&6-4jJ7>z52DCzoewC@viMZbICIcKrw0)P8bq-TmvwHD;d@wg~D-7!W z{L;O>7lGZB!m1O8lcTz=f6U5`EcRm`67*C83|3hRWOZ^Yw;oS;6arI)(VwXijsH7^ zi!MXOJy2!1hO*SDzxn&7VoU{%8PT=5u7mvP#n@w5Hy-q88c!`#N2&X};4NWr>a+Up zjT&TO|Auu8?%u+0(PNLKe0F2SfvklxywbAf*BR>C&A^^ddZ=fh^Si2b8}a;ZVVR$F z4Ziafb`mMH{pV#_Pkb%uxvkym3N58$S<>b~4~qfM4lYNcwYqe1DJ5$pZZL|54(3Zf zsYuID!8d9aVa)j3XV2}n!HLLX_>%F81lk``i$!h?Z#^dhws;bLhk2!l6mK9xHCJ}s z%35~H)wrmk!5yfDOLwn`nFXGH?G{x#`<`6w1BYWxrgBO~5ND|U8FXgZEFm3^RVt>; zj@~yUC$pnB{Yam4-_La zDdVBC-2ApwmN)R3E7FR+@Vqm|RT<@}3Y$V4tI+^7`KiOrMzW~UN3N+B$YcI#={WkW zi!;Nz09(f{m9aou8B61x31{Rko;>&kaC27)5;(H=XsnC>^6-&Q2))SIsQ!bmV65_1 z!1Tp73dAobGrJML^J0V*wh>PGb|+r>1gHRpKYYj>|Jov~3=2M$AUm%FQV$@o)@zKa z&(AN9!-)Yi^!8w`TKfB^nu~18EvgqH!#-XxL8zovrDj>&{*5@kvPlraGl-6J0VRkN zTaKp(&CB2{EA;(deyq;OyV;fn&;8KGw#bkOzxn;D=InXMp9=cq&A~uKqX#z2`69`7 zS;hpU$1fJyCXLCmwR+w0ZF}Fy-hFy z-F-vFrcgeOC6TrqNxQzdM+R?6*riy(AkE zesWRet5A*To%MG}` zb|qKZMfhy?M@m|BRA`oITs|Su1)-6TBhQ*ta)RoAdz>nZAOnsPg_DV}9lYM8$%63n3uHc;^xFta!UO z_IO)2mN}_hE2UqG(#>0(qDGTbgv5+13!6#M@Q>rCwm&5R_)_EM=7}q4_GBa{*eWLW zVcFDq{ZCi@{*A8)IU%JF&mezMNNd$3TGJ(8Ii>CcX%)Qid*r?EH`=)ks(uKBM$M~8 z1%jFH@`(Fl0*&^kYtfkfDH;x}m&2rZr^uwV$X-&k&%|9EEvbyZfAkFfWU|I+rXjQ9 zpdFuCJMCBZetTJvA}IrG#|c;KXx})cO!bvD`{CVsoo&NK;Nx=?Y{Ro2evf(S<9Dnk zQicN$;h)Cx3C)eUF0E^>sg6w|4vkuAT)k-FlLj?}gn<{UUs|VipM|Wg#ikUzUu44Y z3;z_HpB{VgI**ulFp$NQqj$aX?O}@N;3mB9t2+#qu!#Gq;E)-d|o4>+Q$? zCjhHi9*dD8oD3OL*ZM>_*(;u%UXO&u~qC(cb;dV5!eSa#9KfnJ?0gq zt^Z;P<%7&RS|Ui5wT{ipA8U>pDDzCAjnk5U_J}@qnBO4QmRLS9?tmrFT+5Qv@Z%g> zoNLHq1ji$OdX|S@B#ZxCzRbr)_iL6x?#wcpoROXA;B0kQ8c9@aiew8*YbkA6ZQ#hx zB?-*sE}_r5cdDGi@9%l>f=DCsXsL1ZY2aPhbD>w$CpaqOs+KRn-C6nImQScqczsZ^NG>*{jcNzy$p7YqZ$Ey0odIg}Jy4NFzxZnp@r;usi$TKq zOtE5LH%krqXYqkVrN7liAH3S$3a($tS26|s##+(--yYy*7|>@kuy&%j<%r*on)PNT z?gvFXe5tkC5!YoLFV&5er`3RCt7FR_qL?&aNa3w(Yqd)FP2_ zVFZCkE-*p$*q|u8CumvWKdmM>c{6P?wa2+bj{YU8vHyz#{A|BE&%9ud`xW0dT65I< zx^#DQ*OMr1-m^>BT{`>AZutuJt4iwUIn8E#n70qC=FYPZxYwQFY=Y(ql?y1k-y=bD z$3&uXOA@+YSpLxbu{V!ojmo9`{(v|VbnNbxRtkndpK#Yn_a|xOP6=YyC!plt&}kJLG_DCqR-xFU zP-oH*!&Tv3On)E_mWvDf`gL%*fRX`4eoDIGr$AsL1gGjWR$z@Yk4=*E?SKWZ3_K(N zppLL>5_Gbgn zC6g&6iH2xvXK!nJX5a(E5(T<+)4I<@kF9qnvJCIS4w`yK(0*OX+$I2b0upKG2b=SX z9_~zooYR=N&!}%7_K6ab&lV?%ez@PdfGF1yNcK0@E=Q-Ts+TWc>_&5RC;%{=#! zPLF-=2CHK`{JRRH_NKXLO(gTc3~UKEBz7Nizy+PeeMFt5PxyL=z$_lm!1-cc*OIAx zK|W$(Vwg+~e9+3hNa}(y81}6E7eco=r)1k(HJ|24-itd4I8=X>RTm4QyOzrZI!D;L}!%i4lY2Hrq@Uru+I}~OC8-lV{ zOho82|LA%5CwaB(vJtg_Aql+L_0zw2(<7&OoVc)quCt8+_W3i(4#vq+ zV*Q5&@FS(&%3Z0?_7gt6q8y`lb%8@_7IJaG>Y0k#5`wsU{_;wBH|geMMMsd_iLi2R|L~c}+wbCb@@Q!f zR@HoVZmBixpE`EEcl z5^T8s_i!gd!|_aABzyf-!HdmL!SE8PjaP%xw;3k(w)Q8f)EDP3m3okUJ!F3c8h z4e(r0$~zublKarGGv~fLVzZblG4t>5{qb6U-+(W<+Em2u zIY?1bcIH)-BhfGitB00@r&K4pQ+e21Akgd(mc> zx(MO9gJ1?~_!Fl&QQ(LSfA$m5?UbHcu8pot-Ds%i5S3P#zP*~W-9^$b`=q8megR~- z3ef$Qg-|vRL*+6M%{Boh!vxK5iYFPfOTGW-yFaSDnF2??s|fuYOn zS>6yqro;z}SSskB3ZvyQY$KgI4s1AEUL}i{i#dC?&cFqKvCk2TGm{)`?udI!}7!^UaT;})fF zi(;j*{}(KYUk_XH60dCuPo*)`uOEfKed>g#>G_pvSVEnOn+IeAUvK-J1Z_63&G~M> z5Fe!#Bn5T`%P#&hYuQC9O$5t-aOd2XMyh z%ETUT^Mo~>;5VM%&Q{AK%Elre_A{R8G#(az>9PUtf$&et-ZW6IBSp=UvbTs*l(G18 zo%rMTXhevy8X$z+++7s&jphAuI?5_|sv;1~EG9qo{Vn$Z5ah7=tx*b`+l_hGc%<8IhjBZ|O(Wt4LD)OclNu{ikp6--nkKJ9N%) z6kHgP{riO-Kn65(V9D1GVh1=JIXE|;)7y?uPr^AUSG;Z`hRJ5+FmeKHsRIj|hoqL9 z3dpO5^VNk$=#1&_e{VXp&-*yFugZ~Q8x$WmZ7j2mMb2Dfl%zjiRAn@*TDnnSGO7G2|-v?|2H_#1~yA=950J-b7@ zH+9b+=3_{{+Nda4nskE#yNBK}K*iRG=0JFgIvTqr2*;f zA>4E+d>H@Hf}(Sr&*ZK6s7#0aA(v$Q?5-H(d-q+!)tlx5YMh40lXRw*pEB1tTyQdanEjGJ zZ^elZ)19ruz=ys4d%3)ldeaRLE}by3`Fkdr9+$!)@6{YFgx2h|Dg}rbC3!({ck&(e z556Z`za{Vse^aZ_AzP3r{>jQJ66gDFFj|bK>VV4;=9(fXJ+-B+0?+~FkUN#KH=D|e zfz#3XhQjV+3EsanhU(TbSk*PX)5R-B3R0z}visW`v-b_Qw z9(IE3J-Y1Nt%8JxRjkFVIo%_TCKky7I0xd5zMZjmNVqARX&8PAT+uZo3C4UDQOhq- z#sqMagEAawEC#Fw2=7jN>vl%VO%bTDa1Q-;m;f%!Zl3=Vdjs7OFH-G@2{*OFSWH~t z&9wyRsgKxn>^kB{nbH8V*rV(0A3PWi;wUfZv4ALhlivxsQ|56lH}U%`BWbz-88x&= zsWkjkG|GUf>`C8D(Y9pB=%&G0=uhCS<+gbpD;YF9@(p3cxpY7xw>KirI`3hn*0~^t zr7e^D{)T{3e@bD$hhjxBiVLy_H_>t9rfiK;1yy{stDT6T>6}njo3nIC2FFy`rI4~%;|$K8XmZ?pQS*~zm^eyCzI-BZ>fRHv4Gp0!k`!~B7XLK(}%DpUYw_R@)z^M z-Khfl1vNM4_BeRnL$cCdWHUczOPhvf4+ucp&g@WZ^3m}Mb@|b=1#BoX*ccVcWH%Nr z5ku60;E7pB>|yH@vHy56NwgQZ(KDb;w9&V)p~9QIK4DO8)#8AVZ8O&&za2ZfunB4J z44Wl;9wX=puNJ?>kETMCu3%zPr?~8dgQe1k13<9>KeH_%+qx7j^Yz!Nzq0^-8hf^& za{aOn53%?+%0sEUQ-A8=r@7o%-n^nQ>OYQ|^KzO^QNfEM*X~)X+LVoadxo`X*}F|n zub$qZr6YRw9do*SjG0|(yg)dxw0Pe?N3H9K8jXT*k=wnrC~9`l8EQ90$K&5V!4UEj zeA$tQlbhN7K+?>79rl+Y#`eM;ZbT)+DSSX2sEwn2I=7qg<4lTe`ALRlSTTiAo2EgJ zz38yL3ivyY_Nmw($G`u(EcAa@^9f#vhphRn&C!F<3$WMf2OMLKv%I>c?c+KWg_Gr<9_Dp-T7W zJx!Fbi=U2#$si~aZs(kOl!_A2j9X^7vRJuEQ*eESQ_9}13>oiM7Qy~Di$ZoV|32w5 zp6Qj<2N^bdhLX0D)NJoYoDWg+EiuXbj`~2F=96KY9p!&o`BY58=+$~Ec2w@;hwTr& zshJh`tnAxT`x^}W%sJJ;Z2m1^e~`?lO!2_5MZkmOV@8A6q=`*r58%SEzU1o+N98k$ zq;j_*mUV3qUXq^=I=+!fo}#U>$34jew4Lw0Ul||p9SX;a_=x-C`=Gk7@zz`e$?d(` zwpv`iz)NJY>(jM+y-E#kUP))fbq?&Wf~wk}cTAo?6yyh6TT(^tTtgaj;rie@DuCbm zRIYjqWe0TmzO(5D+dYc5b`K1{bPPY7;yQA^N0BwDH=VaXljEj=R7`*RCV$ey&zvHS zE^!;do2btr#zlbAha@3i+?pSf9@AEM5ZNH3r z*620rB`t{jxa;{j`;=KHt4%ao!8q?ws*i#j83Zs*8wvwEQ|}( z?ls$)%Bm5b7C#%F3@SEx%2ksE_RW-wRM`G*!}P$Gr#@P#q>r_Hv7rX+2#$M~xxa;j z+_`Y_)SXH2Qmi8@bX12pDp+`#YFPM=a`z^SSrcUO!qjW2`w7An=*+*h*x7E|11t>bt)+bs;KfZP6^*K! z@8E!?{kJtb4v!d-9~7YM&Lg`iN9-yrgqieUG3EKa^bfQ3G5wW zpDNR&*L>x%4FVwQt+AS&r$zOm6mhH_CxWOhqWP;ktuJ9S=81G_p9aBSBAT)y-7+{P zJJrBiHPe_NpFi*P#Sdh+(mItiM|2xl*6dy&S2zi%Li^e{S*Et>SzyE9=htT+h;2W$ zv;0fCjA#{eYoCa&Im`PQ;N0S*)=Z!mr>mSc7q~TE0s#(t_RA3_RS0PSo4eVvlK$K& z*L6gG(j-=X_Dwzovuf0GY|2LUh1O0^WFqSKCNnMjxcog@C}xheUIfv#Uxez3{*cTZ zffnq%x@&&vrmZj81TGd7^nua)2Y-_vWp#nf?~eGQFTsuf110SJ3)wFcNL#N8V;@@9 zmtUZ}+$K0ke8%fE3dfdFx_w_Pv)WW}5&(^xi#BrbGTG+{oFYmDnI+?SEfbBHz@F2i zMk-k(eWbr{8*+h%JYxi>&aA54qw7t4cf3gyQeO&OH*a3`@-_%i=U$D8x+Es%!mjzU zXz0cxGv&^v2*yAT#?NkgZJWMHqo5g$F8+Uv+4qJx3Oxci*{s5FjdB0t_t-1dUQULj zr_X2wT&$y?E(57oqJPr;;<`|p4*G4=+Ey7X<~;V`zBg792*1|wV?g2KR@VyvZw-uR zj{`?1S$?ngoyN+b#Z$GI-Q~5+=L1p30XDDrat{(A;as8KyKTKLQ+%Ucf<%RMp@JZ1 zrGdm`2QK8-ag|>$F_}Lex)L;ftn)ecJK($K;g|n-7*1J?WF?bS7=_WhmniCrqB$-gsncnuq|04*u~O|ga|j?ale*-Py9f34m6vp z{*})3Yt;v%)|uQnvTWSnEEl&J)r~1%($+BR&CpSoIs7enWwbqKl^Vq(IY}%zNiBF% zxCz?!10r887~f0ta6qY3_WbB61eNJ}AQ zyt%a*yrf)ro}l+3!)3@qhD@SQq^X2v8VFm*jbj{9s?x4)Lye|y{gp|~wO89bZHbbL zasLo(Q*bOcIfC=@@nxpK1IV3ip32STnkz)S;>nDFK?-ap?A4 z9@HEWPX?K+ez=bEj>#aKfPBTPJ*|<52=pY%enscynK?-%zC&-6O6mL!tpfz61kQXdfjj` zJ9S%_(Lb?q?XC0C{RTAdbh~qZ4y?(y7GaNaV zk;7GmPacGrQOa6#ZvGTeM}pL2Npl>Z%)$X$Oq$J~Jhwj&CLTu6FOeX$8K&z9BN4P} zqamtYS_+As%DW5_QelI?fs3ivW4SiyOO0WZMce!JI1zz7ka8Iy5i*^#bD-JEPq}2I zjIi62XjlOr57ggiL(ha()oE@63AS6mb!KEw9&((oJR9+xEP8&Z`wJJQdK{aT-yF~& zGxbWizlDQ2I^XQ3HBFY8onWp(~;xvGyns{FP zk4Lh)r~$5ARXp%we&nuj#3v7M5L+?}HSYf&=ltFR5aau?OGITTM*vQAFQuogIoX`# zRJ$b&^xXKrK|SB&M&Q11OBPBxA<}#G_I>rXA!;)Kh_?MNK(y?{TfO>D6|tYukfTo@ zmYI*OgNUmm(u<mY2_)_3{qUWNV5<7s8NlN6DFuOtGvUPc8GMwHY%z)rO;DzI7{JlE6g8GX>6}PnBAW z#Z*lj;kPI%0^jolwxfOKKyBNHecW!mvx$bF|+TzTF9e!q;_b+iAR zyHh%e{8xQg=1pq2RDwk!$X~E*Zjg(=q3=+OS2%>CtdIPG{((Nqvf4+lW}fQuHgKOJ zE7ujj|O_sE!(xIT?+lFegVEGmz6oQJnR-!amlAkNMJHmyi5w zolvNHnzVb7Gtf-Nj9iu08VPx)5s5=W;%ZE+0-oB-8r6)?diHbWbyM%p3%m5zbRN}DxIB4B8Ia@Mcu5_y|%syh7Nw2cO3KU?4td5YVbX5q#fED98I>i{gQkO zFL_oiXy)HMmd;ZZ*29;g<*XO_CnYk}!kb{S|A**3^#2gO$xWHwPtBtHy;uKl)|C?} z^4I*mZknwe5n}7V^@dd>S}mqa0g;6H;kf*NNB^XsV}p{wgl@A#KDz$_c)MV)9HUQ} z6MQo4yOZpKgJy2Rn7-L^>TGid$cWiLW(&D}REg(>J%=|x)FP!W;|D`_**|aou@DcT z1w0!nr-l=Oh$2^+H-&$RJKNQ{<4PIbQZ#AB$18BDZ#WC`N8QyTnacxCmlb(EA8Ev$ z`k)AQ@_$8oveko^Vq?X%F5;Y{1k5sk0MA^W$Ak(JpGY_6kLe;`0MEF+RZ&1oF7!-S z>{-70_DPOW?X=@2G4g$SOp!S8WM29whb5)fI#fJZ6EF<=d|eFEVs=VgBC`J#sZ*_B zdH~nA&t%9yTC8WJCZx9@mcQ;BN0e`GXYzc7btfdDy!!Z-Vcicy10sIs<;~NL|NPW< z>-x$$XzHu&?6`mL6qaMT?qh)Qs_kTOC`_Z98ubZ&S|L{>8V2qsyK`Z}hk2bAWD$;N zlv(S)UHvLiI@?k)I|d&|@;u>6JpO#!t*8mz6QY6weX$dxm>M{96CBO;;+%c;^&>X7 z;t#$ux@){282%`adDlMSb(Ry`JG=9lP$QE-^Ce)KxMidswoo~7meLFYE751-G+SNS zsiUPtoPC3abUaUHpAi{g!+o%uE61H8#>DwU=U5^Vl9Tr^w4i0FvHTSSpUI>v;JG6=YDr^a)gq?GlpDZtRoy?8)rcWx0a2sCcD z6y!FtPq_F)wA$3fb~@sp&yQvD%mR22MPhctd@l3Bk6`}V_+Nyp55N#u+Wqvn++t~E z_6KN;?Jw@-mH_0fY23IMUWuBAGzX-Gx&L}5x758$7dxXWDdo_?_z6%}(Z0l5N&B5u z9ZB-#`;@CB=d$s9S3$Hpx4mQvXVSvz^gL*GgnxwJZ<)hG=^`y6C95Q7qe;- z(@5Ap-SL7JON&|nhD}Oemm~9W&%40v-NUHR2D4C7AG^XPMJP6T08d7vnS+On8$DEB<%2@_Cx;i3H1%x~{0~zV#KM93F8|0GCd;0oQaOySFH)Soy zr-_?Q7&%MznKRq$Qh)pr2gZfA97n4$suzM00paLAP46hq1QE@a%q0`*5q2;DL2GOD z|J&k^d7X#PVhZhglcl7RjinMkH<&3{`fpk((SF?cs>Gib&`Z@8KXs7>WX-D&Ed*|rd@lecv%CQN|xac^r4ieZI zrUAt-6bTBmm@s3Ia*DA7H&M_-jQKK^G+MhOKINzO$3py|1v%G6UsUZ;ese`i#Z5XuHQSz)`3x_wSB1Se+2_DY1+W`jgD)r;LTRv!(~KnzUbaJ z>r24^7?UT3U=QwD24e8Nj1c8;(jfFDISrOIx3@L>upl>8PIeKirt!6Exd z>OrogiMF0|L&=5Q`coogD;8k<(o^Pm+J4;70#QfaykBUU&%kV8iTyvPEm*ZdQc^F- zMSZ4HTG>ARc(XeAwetPW9GLV89EHU<3=$MPB-xgjbodKsZ z`7TBhy+VAu_i-Wo77?2?1sb=QYTtcpeh)wGUY(f(b(PJu(mO3OH~IpYH}m2A3~c1n zvRpqF2fLKdgK&&JByOf9y%&j9+Tz~Ee*5%$^$ZSSvpOAsj_I*S?)|1W$<0(zg2-< z&%gQGD)t0+(JTygI#-{Rl$a984SAXowE<{iS4*Nia-T+~)l6);_a$rHPjTBi5M>WH zC=y&{Q$v%yCHmUsq8zL@B znOGBDZ$;1U|x7 zMZyQEeAw~%zCQmqUauFpbU+DyquKLTFA5OYq4x#mo?`xFdg`nFsteyP1}gfqbvRSS z>qsFOfPx)|D0y{I^`b#9z@DY-nAab}bh3+;e!ok&36Yq){{%8@>PytWu1#v$DB$Vh zN$Wr_1qFO2+!g=?8iMqTXD+A?)lX%dyWC~sFP6WF_l7$|7Pgit@DH!*{RMO$(+L@i z=5;yU9=A`?`w6y(91GQt4;E;0rZnDYAkQJ0V>SD1~4APg*&zaNg&qFpC5nCXKV=>)y>pZ7{ zJa`3w+6uQ)6qANSme1NkvK(0E3`h%@cLt?8gx+%UX)IqHY_Nqe8xVKXcN;EHVX$u1 z`&DcKuY_V}80<;3at?9ICykOo$)xQe23yUNrPtWSdVQpD+qm|VeOd22)Es)pHWqGJ z#=%|LNCb6Ef#s>sniE?pRm0l5k1ew|dx&nwB3-VdQoRVd$USQh~zJRaKIQn6;N;0=# z1(5s~KFcF*ZUP2KqCY&wcCfgA0j8xG^o$J~191U34z9v@{i{fUW;4V9NlaQ$;o$4* zJcNj4oWbh(vYV6d%5W{S#tvB)y6d%Zr-3f_4Ytp%pn`E?gqN6=jc*SRmfRHJ;&NUu zMG^1`(TYw@B0N-QRoW0;sGLDI>N~YJJCU6!dCLc6 z@N{5|R;W1AetlosEO@$rx^XkFJ_*F$ODC(zrDE6{23s!DMb7jTl*dMl-0vQ*C=>0B z$NNhh7SzB6x9AHU~J}e+51aZ0?mr!*yMvtB%pM?aT6B z@;=3uK3%#28Xjkqr+q)P0=pW~6%d&KWcalJ22~$n?)ve4boqcbd z24tV6)0x*#3&h`M4dqHMU1i9`=(K4)N#smSZlWZ-xu!W?w)3iT%^GQvYAR~+*)L&{ z9Twfg+g};4?MHdvPI_|W!=gq{9Od)v$=l_+{QViHl&ePWo z(_wZF(kZ*!#Qw>q#lZnL>80ZYCTtXtfQs)IGD<#h*VNWr@=yVu5Fhlzs+8X6cPslL~o+VuR9Pqid{nAnLub53&Tl zJ*zQPO4cM1&FthwpOlQUg%e9VQWkL@bGf5cQ!^$9yt3;zIt^@)Jnqb(nj;4DZbP|m zZmmap_2|mx00f1rhx-}H+VoD}`_&}1k;30*8>x>U@&{14Vk1;Ov2E&quk%MIDqVDA z>w880D@gyz9s1P0Uxh1xnOHCZe{DqpIfe8z=_=dYQ-!*uc;Kb>ohGoudo&8>qnA#%OiR@-LTz*mFY85PZ+c z?7oM}-LmuX<|zj0?i5$uhlQjc!6To}as|m1vN&oq1|v8VHoUKa*~9pp-`>08cLmA= z?k83JwKoS#W+jaf@t;cZXwF>btPz{Hs~1dzDW>vgZM1ws!J;08V#&4rJ0;kw^T~=3 z$$oqS1$OeOg2x344wkDX@B6#Oe12gq-aAzIaz4QY*59UVUXVWYER-1W%$QE)cETZK zfAeW^k6f@}aQncQ_V9LldWoAMMx4xcyf&wm)k>;@AW4Ya)l7C zX`J%h8o!xGxoM3uKMmUHzjo?!ljL{C(aDmjv+cPX(8N=Mo6(-B0qZ-FEPi4!LT(2p z+~}FUcbCC?!CJA|&t96`)t|_Re2H+vv$`^6jC`7<297=XM2wLsC}_1HHcNC{75>OQ zZ=2rNtOI2+K=WuzmpAzlnmB@o(J)J@?!z5cr}>BdZ^S_qI4_V=$)SRy?$HK!y7E2q zVKo~8{53CA1^k%0wj3BI#yxP2?ptWpc^GU{vqR3&iCV5#P#KGJ6WABCdII^pE-(mu zsLWST{3g;z_b(i7j6ZUtykm*O6oZ`45Jyv*XjGuDkzW1bj1Fx3&|LXhga%{z3NVIA zC&_U>#P#JlnhgscCP;{vMjHmK@t?ddqDeRM{kd}50eDKD>oHQg8o7ki9zqd2#c!Z8 z*r#w@SD`X-Gnog^bX&R{1LS;$a z<}Fv{jUc0}?6F6mK;nTrx+%LVMiKeiP;)F#>)^88Q>g;sd6`j%<0nO8@wc)NUjH1q zWX=@bnk9rusl&1_@qjq25jxB)?!#&bjfZ7%in z6VoJn$%@_^Uq0h^29)v!Rsr|Y8Nuph_57i|aB`oUlqBDyO2N$(>)Ef?ryrTmj9H&K6M#ib5TZHAb!z@5#2WPOmJWC zI6XCQV$w|=l~M5H-(BhdI#XM2j(l*BGva?<6G?qBir$Q|?8nIMBZa4JJ(45G=?ar_ z_3^UzI#L=$5Q@PqxJx_I>|B!;5q^V+^HW0K<3uVj@8QfS8rDIJ>=6ee!7P+=^DG3r zdCCacC}1cFYFw5>tnFoDJttM|IY+%aXM7Q+42B&=#3t3Es{i_3SK}*?Wco zHRRcuo+cqs7y$A;Qn-C^6%k*`+kX1BGR`{h_6cPWpl66aeqmH(RRYl>%!8b8*f9;Q|g<-FDoT zeqmHFjnOjS12Qb+3(2?^PZGota)OxK3u9%s=Jf5FK zEsQUSA-GRtf_PU0Vp6d_Qyic9{?ya?_+FT|pTtOfy|Hdu!)$nSZF1{|M@FDR(v&eL z7vhv3Z0)Wg$Vvr6x#)k>@XqGSBU@_9FB{$yL_2FGNOZ+c-@lm-L?lNXMim$X*<^XNha;|`b70 z3pn&VdXUUzx3sk#nstx3#XXD`|m!hPwSE^&;>S%ew@=q23OVKF8jzd6q9t<{xi5{7r-wtAZ{O z)8eEIQ5u(@>to+8_c<2`%h9e~6OPCI+-^W+gra+o`nHXL`71Ulnc>&i*RplX%E3Lv zz5Szf1WbJ!M&4d`!1~$l#KR;)Z6SaS@{!j^Tbz9wi=gObiJa{Dp3&aLssHd>NR2XP z;}?<_GMl(q=bFmtlEuvgvHI}1O_Ye1)lOkFAJCmO(C_{X3t~t_V zHp-xLux{C%_ZMp#bAp}=ngRS;cU|3I;4bGELysMofCRL_o7Hzin0$y8CL-+nFmj+{ zFMJ=Y(OY}~2cY*roC{6z9s$;z^zSj>yBW9XtPfLkWb|G!1}w7nWD`qIQhA3w*45I) z>DbARNp3wttBp3(wi?Q=g7F)#?75 zORF!749Tjc!otC`IReh>%r2xa0&ysWtjiCh*72*xRPWB3XxlSrqm#v++dGMIFk%vN z>c++h`pFZsN=#1|Q>xc%uF{(>6CUi`ejsMX?ltNEF#whWtE}w( zmOb5Nwi3DX*7|wowf**eHJI{cU1PmRlz)=__7Bd&5n{1BDF%S0spbt17S>7w0;I$i zyT1I=P=;*(R7qYyNOa1rdBkvEe$Qv;4Z@dRy&0kHyK^O)29lv2Gd6y=vZsRU^NZ$~ z&DC#He+D}VsOvPivRB#6CB5QhHE2SLB0sNV;Ue!ffYZp+SrN;3J)0wb{XMac{`B^I zK?UgIy2`7cT*Wggb4!th#Zz_Egiv|KR&$eLmFi(7Cw_nTL&&@d+>(%oB8W~83DZTY zVK7guAm<+Ob4D{7douJfEEr3hhA+y;nD=aVIwsZ-Q+xZ>LXl z>}-E-+7&yVdQ1Hab67Y*p+=FgEjjpzVl{bQfnTv;sc z=~ij4de330MuxB5i${o(hJ%yfbSG8?>+ikzL`IcEI(fK|A@NXr(D zIq!jLV*L`?4F$@*ZJ&zOb`b7ewo5v}rEV~_kG~mmje4h}+9{eTY$f{b!hmO2>_e4q z#9@9G)z@}<{_mzOMNfwyk*6wC-Qt=S=O~Hw^%@<7YCAsdmFE`wnt9tZcX}cOzP6`Z z2F}hD8_%^Bz+0@0IBuCJha;l1aZYWkcyb>lJ&KA>m z7A5~Ea!0#SY#$_Cgb|khZVXbCmTH*TAfp=he#KWdW`9n+zcyh%T6%mI7v5$PF2+f{ z@k2HKxeH9es<2UJH`OZz+H(0O>wJA0$3{niRdh$C;r=S|e0VzEZ(58)h4%To3RJz3 zdSPkvM^GYox~$7Tww3;}835VEI6Cj$Yz*1BX-Up&!Nwd%Z)!wqdLd{4`4B>-WI`Gt zW*uvo%-P7zX+72<+XYzR>ICDQW{W44?X&KZ6t%=(7{boZc93XWgLF|b5vwEpMy__( zp58B#0>n9+C3+fHV-{_VWI4I_o*7f|lK!0*N(GJ^jmUy)YZv`%EMKjY%G1TG(`J7r zPNV5z?Ixw*M?#uLrJ{OlbMr}mplg|AP)SQ~Nm>e3nnn^&pvx3V?VSrN0pjt-pcNq2 z5}cYK5@#&Lo~t2{A0S#*_oC_95I4(n`o0gazyNZRJir1hR7iOZ2NI{CxX(A$C^yyn zi|rTtxyIcpFMOo8y%;wN60_qw==0fy-9}{?sdDqFUkB5ib%HU}e5}m#IiT0c#xotW z502}ixl=3`8amA0`0mYcg`eY*jdSytTgp8e^twDr#Y_0w7$}!dlkB~su{xDW+yTKR z=Oa=7@X?fcU!X^ee8a+zRNhIxPyx?3|F-$~X&X)X=IyvChiQy!RziY_{G8E}I|!9v zuA4P);HX&l+0$tZ9zo%BJQAqS{Up~=@}RJ5nn7u}gWU4{xgcF_;TZ@6-x+$v?68Xm z2b{#LO%jy!D_pVloL8g+_Z+s=+sjII>&EcV`;*u`f00tCC3$v+6FTdcoPP1DJF&dF zrn}%>jZC8n-P{^3mDV+@*D5nIlGixIs}#Rcp~XX00|b^I&Fk+g3`=#~PO2uVrG8c1 zlMt>u)+Y9E=Itpy5J~OyzI{#j4dDO}`d6-6Dj9cDdEIAD=#*4+TseSc1;`{O$3#%lydG*Uw1+Z1MYU0asseX`m?f?VyrNWm!GVR=r zOi{JX&!XNH770M20zpHf5rD4^e6VN_!7T#p=1BxAL`)I4bEOr)cH4Kc0kW(MY4Iq-a$cSE=}4|KSC&fbp8>wXTBl8Wvb$M7Sa5YEMKc7U{5V zi^|D9M)ZpLrPZd%jZj7&P$`Mr0(`GG1@eS#=1X-G+(!3XV?JkEg#Vi=`1hau?w=zm zj>KbuyOBLBx?&>TX$#FT}U_lLR}W%XlvoDz+-UZL|R& z?1!{{Z_r#L*=%>MwF~`mnv71PSI{$TLU0DBjI99(Y{Nw_MRgW?`vIk7h;Nq;09uIW zvIM8&!^a{ZUB3Y@EzLoHqqQQ*uI6zQ<<&%%z#bn28K@F~xk#Ec=XiKZsG~za{yp8~ zCi3fq1U=5@ym@ehnjC7ADjzlzsi$YIfQiJcCgOIWtMPcogmyh!E}rQ+NlK~TYv=S{ zvPEb0-6Qb5*dCPi&nfP-3{jUp)N^!%Ruak~^zI)_?SEvn|MOJ=8<;e}?rkfk92#gI zD*-*!#ezGDs$L@weso$w$$AIlLQjKN?@by;)-{4lah%-KDbtC332vn>5vKlo_) z86KNMF$&a|Xd6DPUumKCtKO#AiMC~&CSvA`THamNNy+w-+-AfZ|HawUGzC6MicuA@ zTPYwp67$4Sj*MfIX?T}0I%3kyn|-|C!2ptm@gh}^H0DlC)ksUD){A` z?RAJC+SAp;s_QNZk8h0Pi~2@4tG8Y`72eWB1_S21CVNE{Hr0A2w5xKszCAzt+o{^4 ziH3369jvlPnEtT>_UcKGB8ExSaG$1}V^nwsx{2n-<8A-WC^J6~j{|7~m{5u4rjD52 zmyfZ3D+XG&pZ&BPXWUsRCT4JY_qChKbHHR=ctLRDK1(_qe72L2lJXiLGv!*9LZ{eI zFNaIMRhXk76>F9j7F~mEI1aB6`wE25-}Ho9xF+(Otj61&=*FY1nmw-gA!RfBi_rmWKC5)b19VN*21HXxEzcyk2hU0>WM;fly>Dq!p8q~Qf5~tD!)0x;A!P!gTq87CzsF;d z%UWOTIBpRU_uUoW`1(~6BUi0BOZm)*=UV45;t8c!26;w~!%-5y`Cwj)>e_9|A+>n`SRE6z(%5h1?ehrt3`9B z4c^&6iDO@+%dU{3ZJlz>JRh=vY)_pV6&wG)v;X{z{cBv(m8OvZLK1!lvQjA6M`%Wx z6WWn28}BhPX9AjEPauJFn~m~@okpu{Y-PxLjpli5{T(Ix6PX|#RL91~w|%=A0QlPr z;BAapLt)u9(}DUo*~x;^h+R`0&mj`#x>jm1JcXZC?D+}y3d?*^10@K|yHG~<<@ewz zyrtRiQ@Z#t8%MGZ$&BN2kJsP$oFxk67!i<+Vc{H5^~U|tm05Z%{p4Q;R{tg${ogkW za*YAlm7^XaG1$hSx+3FKQq{6-GHk8brrs{+kmeB^^jILYi~_G2P98++_<9dPMPM3$kg`!Z8=K&;iVhAKf>(lDJ|3 zH%tjU6O>@yeF5M(qm5Np-|@g6{@(5X^eomAuP2Q#EO69byJJu{N-){PT?SJNNi#os zuxzG0k87AQHtSi!Kvl&$YNk^M8}c{2RRC-yYO00VF_{d;`gmjPEQU z&cIuW)M&vi2NrsEY37u?OgOZW!DX$~t}`9Dd_Aki=dn=S<Jd#WLW1x1M#Xi}yn%KsouJUV#642IpmIV#V!H4^bFw9eD5t|4u42DT{~! zA$B^bL1}-I3Rkm3*n}brW>3YL_?2m|J440xEI%RwEg#|eYKy2V(u{0eNN_4dg;9KH?kK09PU~i}JYa;#s8uH&@m~3Ey7n6QPf9Bl*YWkWybd_$=G%y{DRCz6t!m#I+ddK9c8g zHqsj0;E&JRWF*N6j4~*}VP#uSW)T5wZZr%s&WIV86SV%B%#Maw8|2YJ&k>_!0Z+D5 z1x`LstPI#KxXgGV)Qn+@l1FaCL=mS z=$QUgWCvJ}k8wa<2+1DTRpV<(83J;XuqxB}v4pxD*#K%dcL;1x-{d%6-^ehzZqze< zfZajA;Sl<+v?9{~pQnUBL!Vx7%c1}r~W&?Iv4y5(vWofJh3 z56&AvHS$lh`s8f$*A6rFx-vm+9}KdC-n*mZ@h%;`;&prS$Tt;0@uEK)2!f+3;Z6RV zR_p&HrvLny3Yg;^^=5|{6Z=!zQiQX4(^JCTv%`RdgOJ>|*2BdpUf;H_mtt(r6}HU8 zN7|0A1Rr9)uIE z76F_SI7aYA<@Y4!rkrmruM@^1D&~aIxD*b#(1VjE@%0P{|K*7N^Hu(SFZwx=JfsHD zx)6oO*4S=+>kox%bx9&hXS6no1N74PWj67tw{w!K@L0icV1~`cCrb{nd)|8~B`8ur zp6TLKYd{pxc*eEJ|8VGG>lxVj?niqVT0lwnRvtYW$B?8 zJzT8fxENNyXPSPBVXvmXA2-_RQmu?VVy97He_tnL9KrBDPnF&5XS&r(f8lansSqmm ziXVr2SBhEuHe#L_di|k~|j@C7m zSx6`?oTyLPG-4}cq9}5qo5ZdWw$@ithtq(NkU6|TyaSU5e~dVJn%7^ z^f}A<>utK(jC4Eh2o=uws}zYh2&qMq$TCYYsN%EZ)iwTVZ(2a3!^Su2r_1yJV+Dt= zr#gnx{JIrAM!@IIDtW5La>}AB95xCM{s{R!zFGV&A8{ z<6@9_)6TXk$THyZ%>E-AU!9l+Cxm}>)_|Y34XDeN0MLkJeZ2i$KrJ zcu2~EAFF#~d&nxwuKXc5JfIkZP-5Vq1!!b>%lMXFrTg6PyH(h=e^^tMlwB{D=fSKv z=BTTD4p3TqnS|W^_N^3)PJmnZ)h4D?AT8#B^{YCOkedD6}g^)EQtwALs)JnBu>@J?|bYo<{TqJDc~L8IAq7?;<~6 zia*O?>7-+16i_9-&$4S`a(0N0)yap^#2_~FIr?|Do?%Lxi5IV3N844%HeX5NHt>>0 zEa*$#08NchTpd{?6UT;{3>$66a&Kt)04qAH>!`vZfAS3E+E+Qhhi?|g=Oor+PfLf% zXUv$YwA5?_+2}95I+}4>ysVe31|&iH)q;7SI3jP8$fR29B0E%U5dvAN-NGcu$#@Ie zwRZrQ$?|x$(^-EA@+MnVd=p@6f383iqBO9SQ3Iel%(OY7?Muc`U9YQGv9!+tb4Zit z)WPx4pKe<_392*=$Yvi%-GX*0A&#!#x{cIh#WBj-hiGL&)vZeE81>m|N68S1>{Dv~@kB4-|^9NssR z@}!PvP_{}Ff3p#%hh>2TOe*TdR8Xu;em+Ye)7oV(4*#bE^dBqbn+gmqQaDfwg}P`x zl>+h3Cw&e95gBE|eMCp(B5Tfnb>M((r)OPB6*!x?lk|-`qp7f6c~i$pFGV8q02`N$ ztt~wYQTLu)A7fATR1I*M9As(6ilB|kE6ADYGzTb^lRT`U_;3`5{og%FK)A z)~{CAdAMO4dwZ^OlU-buZbm$qqP|g8+OgNOAf5YKF*O<>XqOYb>61V6$2Bp1EvmwOU_xY*1*1!8&e` zhv$GLMQoj#(aj8D79Cv?LRQ__zGP6!!*()@NSZOa?1eT6W|7g5Ez!z8(~p#w5z_GnGfxUpo5Y9Trx3zf5b4E?&C( zlQ>c%o@^2pTuc^%LNm8^`N;32pEhZEdFFVn(r5v#qUaQpI9I+AV4-=LKDO&thJ5&5 zP0nqm&9UE@q44Uy-h?!f<9!040R2TVE;qDO13P@H*fB3|I?Sm|oWw#Y8Yf$^)$;It zIT)LPO2itW|BabIpLFT9O?&lz;PgYL)KhIjX^)|PIY0)_Mf=BKxOv(xTkjetWx7l^ zY}L6_n)piDZFz+DeQ(p8>wZrDI=y^PRu;$d8b>UX%^}N@oQh}D&)sgG{@Uj< z5!qujF2&9l{>~C8($T{7S%1|~HomMT#$1O1Xj#4(`)kWm3PXSt4#DmZ%D6{R?tb<5 zkJGo~K|HE{TTKCxqwfZPq&`lJn8>b)^Ou|ktN_b*mmfzH4mS^^%UVsB6hv^;r*Je~ zJezJO@?Wgo!=f1eO8m23MaLC*g3&;>G#`{aE8eC(0`JxUM_qYs0rOgp^JU(1KzgwW zEjX`%pZfn${QT^jliZUld)Q0Waqj@1d^;a~yY*a1qTQx2zp7$ngU<(lO3}GS=LCw#$IM=cT%OTM5v#n=M-Xo$sS;ytWR+u52X3+ppYj zr*)J7M|hJJLDTO^r_|*`Juh(HnEDO zQibGE9fCpDx1-9Ulc@ADhKI zvHSNMB{4If9|c*i6M!TO<;?ImLJWLm<9#5~vN3D?0n1lhqg)f~;bhKB*gsN5$dp?E zI3pICj&G_&zZlsoCY=4weoHc;#*(07{(|uRYt^YnWkes3mW<@@aQOcze0;I|9*E;I z*fIoAO(B)xh1R6eJOYYBCvzJ!yl$M*G2IYagt|U>k;WQcMo|1vy2 zfAnPkS1*$i$rcUdwxt|45nEnU%gv){RI&^fmY@fHH;Nan3a#+H&GJc;)8Vr#+TJ4nbA(>uvqA?w$jWZt+?TC+8JmG`=pPwG#cQFzU-7je%u)7s+xxTcJV{ikVg zbxcOs25yA6eGk^vM}!cgr?i7vr5AjocrZ$(0-b4m?4@U9)7sgF$xY+Z03&MVYH=LT~x+kb8d`?w>Q0gBYv8{@_ovqm#-_7F8u|6Jk zR;xpT&wZwZc;lczBiS9&-7j7&@S6zi3);uV#5SkS+kTGT;og4Ujb39v^lrk zIXhwgRp!>Ly<~S^=d_ufgS()@5P|Z@=rjc)U_a1+R?1d3>g->!QP*-@--$`cJ^Nt) z%s4l1kZZl45*&S3X2gI^a?3I7034uxsagwBG85E}yJMlsk29Zm1cbISDTJ@kgGFWM z5PN*0veAwrvJ>ANb9%ppcgx`~Y;Cmw1JcC-DkY!-Ce0p?YpJ@9=6~>($ zT#PhF^rzuU;4pFA4Bpaam?T)3rUQ?p=UE)M)?@4F>QA$+MRF!CiKJ8VIj(X>urQh^ zV#ew`x|106@$K6wEbu4Qzv{^tQOdiVQk9%sObxzW(&6nqtjG8w=0{|-F8*nro^-f_ z-Q5xvg_%kNvz5!Cx?j8k2tpu0mKDD<@k7DGaU;h@xOz0FL-I|if*%owZiNoZ7%$F=+)tuc_I`nc^if7znwj)|mAR?!} zCT4A{DC|wOJJq+hFa1Oz^`8~O%<>FG>w6QFYzB5q7AmvSUNTGSxKYu^KDiIW0@HOX zXMe5ON-^df+;|hWfwQ4CZM!H@LBy6jTy$%J7jFD{o=NgLB*DuC1ALe|BYwWrseK@! zaMSi_&mA|$J&pknZu^)H2EE^yhR?c*r3jKaS^iRHPgh&i-5SlIlO6a4>=fHhh3v=a z%#n+E2mx!+l!C4hxz8-lpL?w{u5mXAXv5Q9guxM;%7qf=&>ki^pDgtsz%OVM5Yok- za)k8(JoAJsv00DeuVHzm%>{>>w`NnavomhjV%tf_8RuK-WCB-|r&oDc`?vhno6}Cj zQ26#%Lfh9HK)vkpgKVNvTyJrSHx2rMt29>P_HbWfl2wy?cjXaErzaY2-kL5qv1!mD zw2biOD%5`og;oVJ~nSApIU?QeW;w=mA! zQF;`qBvVb-z&E}pI<0yVmiM%C_NuRXM}~pS<%6!V#dH>r#h|9$NNW@gS)uAI5$+i3 z52~S_4Hu68rjbk2{zrc^9=|3<6T{I5Ye4_@VT&uEZ;D80xmIIEyv4Bf}P#`y{t3 z_<9!SDW@#4?n~y`MHw7yhe7?S$c#lFS4l0r-ya8hU2eRQR}^_=+LyppU>mO?P(jQg zH%mo8AgMX=O^!h!0pojY^;!FrkWwdgzhHnqP!{*~Cb=#}5j#8@-&5Y?H#6(Cjr05N z)hqHQU136AGHeb_ca^U%_OV8f!icc*I?5UO8D`YA?c3!Y(Qq^ochrSn-=CQ?Ddaw8 z7kfdxo`S1=XlqNRzereZw`HB}iLM-C@r#qXYRz~+#s!(dHiB3vMn*(E#MbAA+=w>oOK!VWV=_QHM*vG07C{p99~QR5}!Aohn7NKKUcq4AZ&9ktngd&81SVt)c3 zhiljz6=lFI>LJ+$7Qu736G0NCED@ehj%NKbzFcx;*P+P*96?kKP`a02T)#F9z?U}1 zov6L65ld&AF2)xR2+;d8H+YiRY|H|3!&Q8vg22ws~@G=kTrt z4OBcSL=zZ9@9D$GFvC>3jtB*5(mbTlg>Bbnd`R+og%C3cmqv*!)69t*MWA&oByGRW z9|qggnhlg{WAw?DFVaF;noX_ZH1Ib#nU=l;1>)=g#f5g3AzZ>laNaEHCW3muGvGU`^8$&tt~`RPqlH&M$Va`kZ5zK)VDGARtDRKzW>1GH%%jo# za8N_q=qKz>V*XWki1FinO%@JCt4~I(5vtQzCBKf^)P>d%Ul*_(OkLi}g|n+4V%tb& z>f1h7=|R3-awnFeUaPg69AnE%FA*qB^-jlsW3xo1_JdaA}%ZQ-~ zw}l>%eROjn7@}b|(3~$&CsZ}6CM1B{6IEJkWgUEs7ZN{gsB0eU&x(9`?Rytz`zFUE z?57K#lT3XBI>=amNBKvZ+8kq4WDL;!>F(+IuKA)=l8vI3^w8(#7Wa9(0QAHi*H}ef zJ~s&jPFM8Rn_GG{Jpp(z=-)b1c!SJ2O#9QKxQ;F!Tw)lk*w$yZ8k6<9 z@MLg_e_a#>$2XtD(5D%3JCE&r{%QN6;;Ru%vyr)h0;jcABg>8TX!v^ZDU6OIL?^e$ zL-FZ=Jf`MB_U=w%;dG|O>z8(v3Uh9hX8!s_?}b)~noY+Fcud~|NIqi?0jFQ=6C-_l zNlA~e<*<*vo?)$zeM!Cq20m4OJg_KtzvNe8bAa_XF@2F?RDsphm@#J)8p+^pEWakl z#|~3nHM1)9ZS@3UbDY|OU$Nq)Z)5bkN?r2MCJJ0m-xyOk&U1QM_rg0dhw zwFR-HWuAsy(j@x5z3frXnH}1> z`!ZG2cCar+^NOY~|C_O&-#t0f&77#Ma(2hQgHMXVWt|F656PMzS6ZaaKN)7&ZpdMI zjdU<_d*#pa!Cpk0gy`=r3UmackOdX|k6{L)_0<+J9e9rM6vI;43vk!a+$5qVl`R+N zY+78j0+d#-wEtQb2%)T22(5El>vHt?`?svTM^YXl8Mbg#GaFo1Hk1|`I&iYb33Kz- z6Nj(|J;~t89HqazFY|F!=N^Q-9RKdQU68C^GG8Y-Wl(J`$o{@EHn(nKUx|OQ1Km7) ziR^x)sD&!U0|jX;l@Ca$0adGSMJP9MiyIKy+H_Z^v^!J9f_{wZ+D_=Kx-M)YPkaH6 z0;U8(sMgF=49`(Ea>u7JPtFIwyqozv_Zdi<0v4~GpRoi@E9Ho~87ODy7{Gqn7~WLA zg~Oc0DjqwFNIQy|aiAv|04%`Q8lP*@y3D&3%>JxP_fuCG5Hret7)Tf_numvk4;3^f)f zd$Zl%4vyg0Xsz#NZH>Yl0M+A|+$q_M8tx;ol-g}SM@}?E8>seGCY2qN>WLOIu)sgY zQpD{puBjcW8&DHibzHCDvk#vXHCwe*RGLoXd>b;gzeev{79xc&cBV=ihhP`(-K6@X z`7gSi`V=ViB?J9k&;f+K9t6Cf=y!hQQ0mzj+7B-qR;Kok6~2%gftYxGp1JN8T!Tae zbI2cJ!xS!0*Il=&PzS0kuW^ihvu?+J@i`7;^DpHnLD=z_zCwK->K8ji?J!mtPPyM) zmqgm|c=G4u&GD-)K2Fw%>K5yp>2>*wF5~|bZ|_52JqPqJ^b$$!KiGO;qkpjmAoBk| zTLYkK49_UZ z>oi8h%%eRo8Cuio0^T8g<kXY9dHz~aSd=pBqvD=0HRiSu-2Zp@`4aiTS^K>P<-g{-vm9?dO zi#Cn`d444`$Dn9QMH=;=Mb3kr8V00fZ<&mEZm$ieWS^72W!FsV?_As(nu-L-MJpaW zu!a77A-wfhN62?WOi#oD7>G&yM4l&1A5hNK&0fv-BDZ-5$c_Z>>nLruK3SkXNmCIN zbzManyfUV}ZM5eC921goC_!Ya2G4R{K#weHLT9ffAS%W$iZuy@8jV34|Bte_4vVr| z!@gCJ5G0k52I=nZloU{Dkj|l{LqNK_yF_V_9=f}PfuRu?8f55tZ})!m+50{Ae!ucgrGN+<0TTC867@{u>B=EOdUxLWNg{ubh6ik-#aNbztpS0oqd7&< z0GRBPNL3GB&^<9G?(G~j<4m1}*Bj3~W6r8Y^ z{S*$_S64|VmZ4~T0s85rK=~J0Ve3nCpuz? z+l>_6I&UoEroP@F_B=roZ0eByX`ZpX-<2K1B*9L4}zH5->;Bu@6Hjq zrF0VR{G3S8&?Zm^3-+?J@5X46X&pP-y9i++h+cXWUP_GD+S0$6E6zQZ=3iW=jh~}U zQdn@|YKm}6Yx8<6%)P^06HHoPD@grt)J}MS5?N=t`5-3^-{9Hi*>0Tav@aYgv;6Hg z(mArY8>IPw5rb4j@#IcdM%{dDb+Vjj_;_PDD^kSUET^NF6$ufX1pG%^>fS}}IyGt{ zn~NGufY}Xkl(N`|hDAqX_A;2D1eQW zXB6&gD9t-%;IY}^-exw17msRxRdKR?RF&T{_N=K`Nx^Dh4wbWdgb0#!R;DL4hxRQ0 zs>^4vzvO>YEmrQsJ_11PZw^Ec3k2XL!Vv1=zJGW}hyHj+(OXl>aEUy0?5^d}J-DEo z7G7CBbA8W>a12s4iCc_eJsMtYb+=MMOJn#BzkH)4{U3Zz+L3ug4PeyDCaGlHVF@{X zmwd|ELB}xmf}r(k2It} zm|d>(792?t>3Xwbv)J_1bX6_caW#~h*KSFX)BLVm?b$cWsi3v>%VocUI*~_XmA|lN z-@HEolTui=qEVI#g<)A+=xXjfzz#zWkXqsZe4|w_A^b^$>N!T5^738Fgo$u?Xk^i$ zf!%Y7yIs*8d=J;3j$2PMW@VGWPqLUibs9c_0tEY}Ua??D%v3uNdQ=rl+5;Pw3uS=* zv*fb<_b47{@Ae92MRbN=*3dPTNlSlm)l$XP$n8OPzG;vg*ZC>kYdQ{XvgQSxr_-em zCkd*j-Jw>aAJ123mkA@%zgH-IXL#$Z2lU|KR}sV@8`pZvRfQ#w`yo46&0$e$N-Yk2 z;jtzg;ik);n30f&d3*dDHak-2-XKi?DK30GO;3D@V{e1`^6hxa_2N{j zm98fJ@Q0qJQ+PjGMat=+-E2_#R~_g@!w)GD?_OcSl!hf*Ged0^ixS4<|?ZKpj^h|~WXpEs_b)kB|hRMp| zaU4%-NqVP_2>uR@vs{dNCg9R3LgtoCI9+WPnpZ8I_t`|;k2`>7#`5pV8Tb~72_?rT zpi!!OCMa0Q*f=KkVMJNbW4)A|T1RCl+IS2%;z8=O;4?f3!>*p6yK}4@)y*O_weS!! zy}6=|SDw5$#-*d@5B;L?Rc2#Ir%=&-fZu6rT!4ln(^VhCYN_RNdw+QmwvBd@yq`n# zdJXUWPX|S^_%odPT^_O=89f?A{WdxvP?=0(T<2z%#cFPU=woJsjg^*1tGVzwIj@aU zL9Z)2jjjjYZZcC`_!6O8p^lL&XL7~<%`|4M(XGCd8{L$^_J&!8^w_|p##Y@JDxwH6 zubeC3VlSZxSVC=W9mygggmVC3?mc_n^PQm$#b{Lz_grjC2u3kFHx+b@0=S=xzMab?asMgs%uOaPzh9!~S~h3`YeCoU{nwC<4XQYS~k`jAIZEt(Mpkj3O0IJAgzy5$X>f z-wnuzUo-HVb6T0*yYIXU%k8M|J{b}9y>9#>&Hoi}IHh-uWs8a~o2cj@r8#|Q^H}(+ zL`ubfNbkU?QGkIn(~mPoK>f?v*ZCiueGOwN>;ZMQi}LL3>~ES~Kn(9{3Cx28UorBB z&u9Cx@MxSrAJWJf`l3feq0H*^ip)wlKNgVJ)~&O;=+&>+bu4LNW#;~R0l?jTILHo3 zm>2?5@d2Wj?0EVJa7m;^k8Xe)zKZB99}p>Ur6TWot9eGRo`GsIJgPf{*#4450WFRQ z&vGfpSuScJjw%Gn;&PX8Y0sPgfi z?xfw?uBd&@_P!P-;rCd$lJgKKo!yk4I*vOqNTLGUT7@ft11H1OLacsLvF zmf{MzKFkoW`}nL%z&*12_Qu%==Z?(oszOc&ZUmm^4)Ieh1)2`AU9trYI1Icga|~p2 zOb7dve4?CQo&Wk-v%|mEdrW`y<{aVnu_Glf@l?1l84VWm#3r-81j4e%Z2x*NW^QT5 zTbz-BkaM)RWv{b>gzTdyR!iLL`z}5=bnlPwvWp)+(eV8=5POd9ljOo)g_VlCtE(NT zJyT&G5@ua*QwZpZ3JMw(+;?R}+&L^|$I*xW%*W$~^S&rjW6$D2SU*-i-ME+Bd%IRW zp(RsIf@sccpdo2ZuC-~XA8N=D-mDu{kAp_i)DqEHR+v&8;9Fn5!+YS_DRNCiQbH5k zJiq|PbH=OTo_JY|$x_<#B4gyb^jrLf0`^3U@vJ-}Bg@(Bma~Od&TA|BHLo{xuBR>| zInHiGPe@?s|E*;Ix1q>@kBQ>Zc2Oy2@jr87s$!OpBwJzc`ykhqr!o7Q6-q{#>4Y7P zE6AA;V0Z=A12{Heg>z2xz;J47QSwJDQw9V<89ZQwm`PonmgwWCAYNv-{NZ=uz+66N!-spIz6bZOV7RYdTN6$CEtl4#kD<*Z1di(8_EKz9~{9q}q-D-Ju*A zNVZeJ=8~=aNUlCd^uU<&8Jqk)SMjGm>7xf3TX<&O?vlwZ$cnP1?!qRhf-Z1J3W`5J zDXW+VzQO*$RFnzObVTqK~&@)dyck1E(j9I58MQy zbR_`lnJ*rWaUy#4@LlZ8p{pGL=XzyVY&8T_;y!jQO2CCXkFCEb5?{GW@L91gzav4q z5Q(r)#+7}NP(pQNt&im>2H%fdPYEN{HJ2lu!=n~eE?d6j25BvGTeY>iFSG&r;Rn&` z9OgefLpWi2#z2Y(=iyi(d{28c+)+u=6|!P_ekOJE1xt+nxQQoqFZmIOT2Uxy2WMd?wmj+*9G2{{xrY zNx+=6ZJj`;#cILrRw9|ZNP)~F6S?wV#?1fgR5swH6hVB12!8Hm(s$uU*0>)m$@Ap< zV;>Yz>Q|Ve5zs0jbfO`l%1|aSjLpU8Q*f`P4*-_|?{8&xouS22-R2$s({tPX|LM5} z-%Eu;HzlLSM{nt;w}SYr^r`SJ3g)AZZnI^)Gt*s9vV=ceGI~}=n`h-D7iZ;g1m?rm zNjuU@>&6-x7{w2Dy*JDaKHD5iPY0R0{7p#r=qHbQ>{8*;&usFZ9Y9k z(I;N(e5z!YxHNGk3?&7=hJ-afYaLQ)yso4GmjH_8ACt>y?e$KcE>4WwYC4BW>nIvu z&A=dPNAX&k(N%RfIQ8bS3uypP0ICOd_@?|+ZJhX+F58JU=XRo*vjczeO{uW>Zg5+{ zV@B8XaL3J;ldNQQ`8V$VrkYh}M8KpAZ!dE$IJ7S!TP%iAmiU9syV#~>k5GCF>oJ}C zD2H0ZYjLOJHfJMQ8aL_Ipfbo$NfzAnZfYH4%j1TKG4iD0mta)U(SlIX(Hvo9jG(>M z>adLx^&vA`OASv<%7B9NnQr=o5JlUCyhalyj!`}J>nC5_kEN%N2kvfOI5aNk*cH(v zYb3MP%ht6oBM2a^lk$WHA{G~Ddb66%hFwWpPCe%j|n zQbK?-o8GRqJ2U=@?-Qhm_!sdte=^3M3o_u9R# zV#~wj6Z*h`&lY^RYmS>m9J9-^)GwChC$x@E-~Nl*{O?}KzkWJTb9Bt(sSjP=r8Ndjk?_{4 z*I8d)#ndMgw7CKOv5i4&5B|xV0O9qvO*#l)E5vQGi;QFMXJubyKE+6vZ(cWOUq3kX zaATrg#XNsu?lE3XUx>;!H4HSLDZz^_*tz>2T#I{6N!qVv^4fn%3vL9<{p%gyT(>m~7mT^}{+u%p7%F0K@Y|GNZ9s^{fLJVzj$z0aaYF6mFbgy20HI5UX`Pv}JK6 zQgA=na8gYOQ2gNSa1(v1<3gI3XnmfxJNc8^Y3dR+cW!hvaG&&j++q?*GoOxu5HKGi zI#R&YvMJcev^VN~{n^N(t8mE8JeU0vmZ$?3@pKZbow2n`E-f6l4czE1+m&6w`jQlBGBe{gbSWOxBv|6wW-}UeqZUfBwn*1y9YTdg&RfC z4O)crL7K*WQji(Ti%%sd#$$gM4F6UG{pT0$KTu-z19N$|weF#og$&15)yBe&&O!U_bpbXH1dd}Lo7h}mpRUrj zrZ9RRCsx(20X(u5Miar*UxxLWtl-v*(C7$kSuc?2GFi#?mw@TL>W7;0{731a$+TU)El&=ntdR%kNG_g+ zcjb>sw8Z8=ss>Fq`J}AoV&6e`gNdUt{+0#)`yAaNJ|~UL``qxhB9C(`ME^zDIpRb+ z?L+B>A4jNp!ReIg#499-QjbjS5bUbUqbcO^0vfM%8V{i{Z^3rtLn4#;UR9m`sbd|Peuis8*? ztl{$hJ080wo0;bba-RU4AuoH26j)(y`7w*-H^&Y6`5N+4dsAq{-;gjZ8`dom@eXgQx&@gvOYDF0hl z&xBeaNYTc{UQ5$v@~Y>TiQk=kQ2bv^{3(;?*3>~H>S`5$hrc!?-Jh)IGU#Y*p;sqn zV{aJ`7@<%(SeFOxotvEL0dhF=n&HRK@4y}(c-KjYV|#2T3tpLF$ayup9%7{0;lj`M zp|Suk9<2%*;QttHvPdaCVlW!WAiQ*xB(2?o+ycNO)wya@(A$jj;Pn(iR~8aM7bcTd z;r=9MqPOL`bMGt-em|HH{9nVvoH{J^Y?ar3<01^lPKq}+vxQF;f8hd%#z~>K)^6TT zDGe{*{@FDChs9j(gP4*tn-cv9QJ7XIMKTW|7K68^<%iG$a}AjgmvQY{xJWnY5b>(d zD=!$uWF97wl-ET4K7nLTjoreW2#1DOH_aUfkKZ1xL*)k-gGbOZh$%ZE6jac##J6T% zkAp9u6Mc~Nl(J3)K}oKy?GGZ5xge z)8Ukfgg)s|&4gTO8E`76InE$NB8CK$@Z|L!UN<t1vqq$R!tB|N%m>i)uk|Z-bs8)+ zet(?*{nqo(zSA&>ePlA;HGv|I!F=#CtvU1|xZVy5B5DpEuIW4K8j(q5Jh1`qM~g_^ zWT@IRok-bT4+_*hy_NGg*Z(TqF-9m5!o*SrYl&c)YZ;EmyK^Bk#-31M`Ul?t{~vq< zcu$}0#JNcK>~65&)a)B1a0ysVRel^}oxFGy=lizHq}%9zIs*nLak95;e#wMRF-}5` zc|0VB`Y=hyHuuMXBxd)hzIpu0UgN8{m$`uV4v6T~*J^QN2Z-ripZ71aoS0FZ#9g4_j(*5;KNu2P=zDhbzq*%^S39qa0P%3m&|MhM|xYEtIzRIp3 z9jxX*R}%lR*sy0N|5aY3ML+%r@WBZ8XHLy&9f|jE-~+RioOi=RhLapw180J8$Z<|U zbjULCF@CnDj^O*!(LM6JYPSOZ*c+*6cc0r7=gLsMtEH;$=NzQHv2vb3sK*+RUH?;? z!NK#J*?7$ml*eMcJ;7yTmPQevRH^`Z9MmRr&8IUuk&86#a|HsP92{e}XHYwtz{%P| zh2**sTe3oDARf-5*QFG|X5x^>0C^ZV9INgdKz&hbGslt7qFxk1KM^ht)EuG-W733r za@8gSbgl;r3Cub?l1Q~Rr-aDfYQNDQEVzEpfT?uGD!o1TTkv|!rDG_AhOM8q!8-05 zK?IICiE~IHJ_i{>|J&Nu8bj~@&d~a^7yMcGkv|JY=D{M-Y&c6!sybC7nA_P|Cw1^nag_8(mDWn=a1?k>O^G6?|tRmvPCo9 z{UtL~?VARpxJrnts;cUn3Vm=$C4}(cQ@=UxidYN6!!gESKy{(E$Ys^3W7-%>9@{nQ zrB%r)5WTzTf`j}?tFI{}^>rT~S7E$lxeg$c`=n`pe|Jj|B)2)7N^iH+Qq)pL#?RKR zh5TF46C=htqJlYOy0%)a4N=?XHO8V9^L?sexw)y{(8Athlu`gS&0b&W3ptnmFKYW= z9hNRN3L*!rY;E5^2e~6t9BYT%g1wGxd^M@y0&)kF><(%j{&vk_aMObXSbcbEu^>Gv z+7lftRTCc4Mnggsi@+8;tJPcm5!`@S`(X`P=OuVJ9wKps`zUi+=tABm-I-Rvk~%12 z!h=lH;AR}T1IRwGW(Zh1!l0*PNNxYv6~R!KUrPI1+Ixf8eYT`pscQ) z#ZltP5Y6o)Ndfa?vWJ4|rO|)dVZ%2^(q*sD_BpTRvqikSZ*!%X_xK%uM2uZ3pDKvwM-}xyp2ydn&&k64v69A~YlyZ*i)m>$k0L zm}ObryIeEgwGrJ`(7l**GGP+92!(VDPK1kkbz@{gCiI48Jfye%WM>b3KXzF#UC920NA20ilp|# z?mGd`847~FTHix2l0UQ0vA<{>4}-@Uhkqe9f*w1e8zs$rKvUI3_{#VfcO$F@Dgbad zcK^ZM*a@@y%)o|ISi81Y7bQMC=`rk=Yx=FJyu#&wIbi;D5r5G*nz8t}7U<)V_f{MY znOcpE6Du%Wun&ntsYNCwSgj4qVH2H5v8@nd(2>@j!!dWwOM5mcHx(}v)rkGT7S0wI zPbTl-SP^X@@}+mqYm7exN?E<3$lituhEcz89F5}!z{BGxe4O)$9)r6&=fPr!ag?yr ze8Y$zFGnk}kTPnTIOc}2>e6$6bO)^(Gj8weZJ>GJG97%T&cS027`=h?4C5%qhqm*z zmd-a94ib1x0Fe=ryV#nUJI3N*jeGt@qe7XG)699RdnR=E&L|AQku-`#s_R#wHj>6| z?5Ocar@>-;M4zXISkXxd+?)BvvOer$)>pFMJ1d|9{Tm5n|CQ{#uk|g#%-cVQ)qgx) z{{2P!ZxmQ`4$W!jk?3y#5{UOgW`G=-v3tmp?L@HNT0bNTfkeuAa$cYr(=mYrlLveF zd2`I?7UNJ%uz`V5>O22WbO;E7A0g7_^_7Mc6m6juFw>`&8{{VFqTBi3_Ve(`2o)F+ zg|x^#uCZUSid1h|$K~*T(_oNKB_8i#DZbc$T?~D-&R1`@pz!@b@P$(3l0ae(B6zA; zW$MR3{D{6pY>uHEcXy#6ouzUpE zj>tz+Is34%a%)gM&hErwzP>AaL9LYbrYOw?80f79y00l#{gwuLr(cJY>smLecCAHh zYPz7SEzr2dY(rJZVVMFS!hTiGGxeZ(jX!79bH8Wwd2UZwqV2a4QQ?JnWxAPFJv+aE zC6tggZKXaEEf%0~Z(N#jjndBk-Oc?!1nA#u-p~5sueSI(;4<-9p?R-pBGmYb?h}8+ zesGz2JobbkdFy1o4xFMcI^Q8H7hjx=mx03PO3vk4<|`-kgh^a@r!tqMUl7@txHen= z(SX`QWU%rEkAH--n$y z0`8OUB;w@5u~f)~%9-=9k5AE*8VfyHji{r~9_1h6VmJopeMQ)^nMWlLpRxvz0iAylsUb-2H6Jx>Ue=03z=Y&+y0kgjS zfnz#si?NA}*7|XKW?N-t5KEBfDB!pYJ@V_!2!;L)1h;uZJ>p~=s zrEaCRo!x7Yi}rF(10tYaEOQ?eI#3R^~LM z;9X1d2%4On9AFY2hT$<=aoo(svzYn<=VbnK#&_eZUBOB`BB24sqw%zui}qbl{m`Y2 zCf@yCp&?|CRO!`@0##wA>6}ksoe=Y?GTaDLkDDK6V<)LQZpd5h)KadI6^96+U;cj1 zD;(I67I#kJD_H)o@_J{yRrtgH%svOz4&3*JACOrW4M0VQ+A5yqj)~s;hvBo{so06n z{yhiz=ac&LVTRB?dWR&O(D2-dB+u_Na>u@yJH(h`^VRMaLgw&soqjqb7ddpWZb(!6 zmoUkpv1dV1DfzO9^QSwWESY-9;MiC*pVv{0^lh)p>rnbKh)LGp;Em()utjJxU)^0A z5OfIdpx3TvOxsC#B{9aUs7$D~&SspXZl1qAs$U#|E5F_=jX@k<;3#8G)QKS~lfMDFY}BiF@-DN> z&C`=^$Mjo7#+W?Er8zOs3x!2ly)Ci0Yw@xD^4HUQk0|hAPwudFHd~Z4AC>T+-e$?@ zt_r&Gk<)CLK)cbAdSftgDCVApHfc1H5J)Y=AjlZY6tw2xt_SAyM6UO0QfPaO7TbK= zLj9I)4#4O747v^WOq|pIui_ifNG^B@0DfFgH0MqGi0E~PWOA+f?nLm#_NPkZW;n?A zPzcMl#pNQT{{@E(S|*l{2@BkXDFQ^)TNQ>FIRJ1atl3p~0ItNE`~De$w~$S2)hyB^ z$;>ke(#>C7iA@0AIWY%%)<@T2^7(6P_kIQ1n0f_S0O8hy@x-K7Oj*@3HB^PP=1I?) zi@!_T74j96ai=Rs!>#B@A{E(>@?)@y^38wT>|$lbO0y4Sk9 z;zIm2dn^>U&vLQpgBJon_Qq&tc(v&eUV|KlN4mZ}Oh&1HG;Jgp7S8VLBsUt`ZzF$V zhg3<^dy|n;;gegT&d<82N+pVJSnb}Y`a;C#Y1x8X$UBgL9R8?5L0lk*`mqEdYzaxa z#H}O3&?zUS%?L9xqaiEV5rd=X^suGy!T0inzQ~%DLoj^()3*#uc5Ksu7=Hm#?T&AA znXjDcCkyzY!{MG=%$Jfz5T98q-?^rz@Il#t;oXbQfO9o4Lt^=NN${6wYhdez1Idiz zdD7t)+i}#+cb$(JG|Gt+Sq-wXyw9|N%HcKS7&KQM=mCfM@zQkTSL9!s&raJ6e;ENitLO+|2Wx;!i>@DKe-~X$9_l!X6A)F8c8<|%pFt-J??ngrKt^JH|VvX z0J0i)F*BKQmSL@`u`TbK%4RuMumJ=`HY69YoSej)l- z7Ckg&7mzYg{2h0^I3{_-{jQL==&lfG$uo9zo_G0$6Z<}RsH%M<8Tvu6ynZUQAo#7#WG~P9j*jnqZAmSVwk)5- z6!wCrWhy>aBT8o;617~_x8?q`1q3%ar}ryy+y6*yj=@nuGt*aS$0htd4;>iX<3qLG zBP03@?Q`0O44eoB++!Ga=F+PWe^$*9(xUXZEn$Ga?=te^_8+M<&`_WCJ9)JA6dpT! z2$y?oMwuQH4>msw=?y(73k0&J{jdPjw z<4?D^JJIQCRla}tOUaH1$7dBEN@mS3copB|vYo-_;16i!LtPeEpc}WQ+bF^Af_(tb z0pO-52I6T;^qTA7?Fg86eJ-xvHpp|6O)mQqjPGug0NytGH>(eq6#*15_NuQ!@wWKP z`d;1-E?G%807N$|KU#z%^{X?a_2(cze2CGO1jW>`JI^G8kQhurnStm&hfE@MaWDkv!bEkXSbWTHKV2lc?Y@%q5+S!c7a!<@Vtr$mxT@E$9CO8%& zl}tNEc3nLdvzz8{YS! z`Elo!D4k5gcW`s(W@S|7#8|v;`cRpVUw0GhA&=%1 z1M6Z2P1y6y=8HbKi9h^UCH&Y3H3E^gD~!AdihijXUG!sr_zz zK*H!FWRIm*-`J6Ok7~{>&7&S-Hs0K%FSz)pZv4MLVqI?(H~EFN2cO8dW+j5tr7qk_ zFe@;fv8p`#jB0eYyEKf#fq^bE2n9#o`Nl%`lW#*JFSBZ+l22_^>ZXgVRpMF~!`f^H z>q0R^>PU^N#97y7ku8-mq(Yq6g5Qyb`1!mfn@~XWg_|-tiH`&3`Rr9JgI}VVSMiR} zzm}eN&krR#wc88L z78CTm3Wt0jr0(feIGMG8kyX;#LE3EMhsR+Dl;&f41=`V(1&i0p$B0Y#W7e)JT3-y9 z$;^-C71g%@L-~SHlYK{3p-Q}e5hh4xTa60!8;Zy9*y3+DYE zJx|Q?&dM@~)*3EYw8;^k_a`bBIlfx_Hf`E&Bk9)UW=dainz3mmkKOAFd%jLC*ONSB z1EMxPj(hM&wq#N{Oi`p_yF)WY6}A9H?Csa3;k!{!CeJ!zfa@qQnzR*j{1S_!x={J4 z9#`ZRx`(R;lCa;V=xmXEVwiHafVAEDLD{bj>?`j5Q*O}wu!;T@y2o+f(Q*di@UJE8 zd-7rY+kb0!SFXf>OoJMQg|#zG!~$OU#_D%NfDZ8-Tr05#NLz(uur$8B0FwF=8_@`g z>L}qlZ<2~}^HALM>{Mz$Nl8RmA8{%3vBZFw)XLCo*!Uo^B|E0;OOsX@xJ-DKW~KuZ zGnC5bsLEK*0PcdmEqe^KTs{&p7hyQ?weXD5zw2K=U$lo5utp7&7VNFHVUMJ*+%>OA zQ`ilR0%3-qB2OJpO>ergUw+j`c|IDp;ap}uv{~B09-G7}75zc;7_+?X{hfq%n;}WO zP26~<>yonNl;ie*f}SYG-71QHQ_+&TvE}Vdmzfa}5b*s42>9+#Nu1uTxnwD@6V`|% zZK$#6r)(RAD2}xXk4&%+j|tmTfiEg0o6sE4(dW<8#n+2$*;rMXSv0P{r=Q*~M2wn@ z6SY&@BCyiSGvSYBCedKn%D>`6%aM!8kyRXTt|o+!W(dn#^9io~0=*eT5x*%F6Oktj z6eYabK*V)$*%xiUky;YQ`1JU;)7_B>XU1W);M>aK+ghh(5do(Ip+c4Pw4FB%p&W&n zIM1m$mdMiG7Qdy}t8Johm%Lf^PhgOKA`uGJcq$(KS@P?((QuAyY(OcrdW2XqDPp^1 z_-P&bu#Sgj2Z- zRt+|gx`4X`TE=5Mqw#K4UmjT>| zE4;n9>1OYF3G|no*6Revm&mVDIjH?gQRb?Qk(u>dKGlJsR&d@$XWT^Qbo;_Vzw_hu zzNfv_tzI<7n2@1DluFV5!+@|vhNiypQZ3FGoMsUNoi1hO)!So02&XK$O-=TCgjZ;UO1W-ruWTfx&lGVOtKe}r{k;U&QKbG;Tq6dm({F+ z^HKZN+&a+A=G#@{rCYZdiuwx!;F?v8yJ^ID=eZlu!tSt!DAH=dpm!$20JQu^U%rFAHjKG~4avf{ z8t!uqy=h=&Xjt$p8~rf-8u^7fZ|fJgy@)LqG;eJU=edqW@K&#VoyX{cxu}cwe zQeibm3Xz5rj20-=526%AGs?(>) z;)nT%Nol7QZ$foqrkBW$5y}>;14j+sb3|$h&&RN#ZH-E^+FQ=~H##C}`!YW;}=nr{sdA>mI_wl9*VdZ@N(9W5;JeJIhv*>CHRMzP3Y%4~cBw~r8c z%R4dURoHjCme_;O?*jF&KMepZO*PfAM2E^lSYXb6+&4!g8WJ&2BysN z7P!+?WAQMw7$}nWzkkIC1F_LGFXaT)Bqo}Bfes0M0xiVZEm!!|_uhNG8n^@gVgp=n zOf9-DgF>jtpZVn^ahe}_0WwhvG3w=MvOy|=SMfIOkE!}Lm7-%#^9jHFzJ(LAEhD7S z1y`N#VQ`D}AeI3pirGZXe#NWJbUU@>R_~`BN^m#XMcuL&;Om2C=aUiM@OhB9+*kGD zD8hh*0GuxUIY9gDAVcP{`a$<-ZjcceVkw%{_l#`4+$2i2MuAI<=9|#_*RT=fP zOu=GhNpmaO?gT#fA!ghw<4))I4N?V1zix6~MbwK~n6I}}@x3`l1}(MBWhT?A09>uF zc;K-uMc`&zPgnrRuBHX9_|uQPMQj)Ntmb}_0)vJqzEQNf7$gD&Lc8C;_7Re1a%>Ky zyg$9%%AV@N6eY%yMe@DB<^6E5kZLxX@k%y|nB6MoUhK2yS}5&jrF5RP7n4i<+3G-2 zmy@#}f-ihRcH8&U&}8WAds4mnjV|~Cd_NGK zZ+SMk;pH~E!in3R#Mx6}gGeW^`c!N>~w&D3btvFL2px z5w)!z+1kY}QKjZft$tG{A z%TO09&ZqfkVC;=i_tssAV2x~)qy`Y=j8?mGJI6gyXHhF+$%`f9#{ahE{5$1~i+zsx zmu#*x(_Fi|N!a!Dh{D9C`(f@D78Ov+D~$UO+#g8zW=joPHQ#C1nPp$1(R*&b;kq5d z%P8w>OgJ1fbwNfqu$u7&%wONYya~j34t{(uV%YZ*F-3E|`#T@|liY0~u%)KBMVv5^ z#3y)&-g9k?rBc1zflDjE^6h*d7{rfeipp-W`cF#1-<&jWhqH^G5cr-vd@3s@<#l>I zqu7Fm1NX@ii5DT_k20>T7`wW3GAm{lRP9U|&{M2!E|aHwxJ`_U?SXL@hgYFLa>0Kc zDWA0v6Tx!iQ|W_5qtOD*CE0+RPSB>GQAz2OEmP~xq4|kh z%M;dYtdpM^v!i>{TC^{&%^XdZ=Fim!f<0+qYd{PK!PDEH3i3VFmeHIY3^W6P`wIkZ zN_@d>DY4!g#a&LG@U}#|XYa704Nq-R$F8tT7Go-2Md%e!SGaWXQ`@Si&l=s>wN32T z%hC)q#k1s|oU*n}0kR~!+XJ?b6#DS?%jkp5`h{WY%5(#X>4s)X1ii?e@0O(N6uSWg zE?JybsVC8r)LTv-FXE3|UJAp+#skPUud(4`F^C<=B2==R;?YBi^N$>fIS9*jd)f%A za8Ya@qdm(}QiOmB$gh5kW~OhBW-5>m&;3M+Uu-o~BQshD;V_hPlhFX+*kC^O6kaNl znKrOELYlC7l;=%|@sf)l-bQS(a;CgXk{Ge4o`}oEb7t*?nR2~wOPM$hpAntffQ*8Rf)2Ojpqi%Sd2-w z3ADKY>IZLjYQG8cLvhSGQ_&Yks{L0G`N$n^-N_t>*5P8G!xqVkmYeG4vG)y9@b-Z7 zsUyR#0ETSR{@h3+?!4vH4CI($1-v5!Giv!Ht{?r|iVRE|twPi$fbLzIv=^m0)UtWg z8oqgmu?8Q6Fl%XqV9bhnXAapJM~oY=y*aCP`xadujLXUc>zI)wnNSomK% z+W$+O^ZO)4o`mk9Dc|pSfjZn8YIJTGA1sXQJ(1rtX5}ITk$xW>B6_tJjYr87(X)I& zRQyqCQw%@8Vwk;5n7(_35aNTvk}hU_-m{r{fYF10Ze?QtOdfh%AD!2TBNIvO)m4B3 z^houEd&yymKho_)9f<5EaO#hPlxhD?4{C4w1cWPL?jqZEr?H5pqA^{6d5VNxvE<4$ zC`L5@Ngtc?;BEDt@+jRIEiNT`sC54uFB@`VlOI3*-=$NzJ0XF|#VZtRR-JFA`2&3WW}bgu^uFunRS$C^$CcHz5AYco!&I#; zZ(cfV@*Uv*q7{%fQ(`IKU%uEBSu+_)a}iSOyQ2RE=*4r8vklBgd03t|yxep;=PfQJ zN1*Le9xQ!rq_100OOd9n2#XUvubHB7A;A{r7(XV+l6 z>+opV3mc$w*VHa1)fainvcYKx%qIWq`89^m3fnn3ftJkL5{@(=6 zB6FV`vtqf|x&&SJYzUp(esVXci2mYM3&U|l8m)li$nCWj({hBC0(Yle%Jq;-QEhU}HEreYD!8gvT2*1r+@9g)zDD zj|*tk<ow>V@p#J3@4=GPqaHtRgt}T<1ictF&sA&p-3%VCj#)=jRzzV_R?JmKugtbTB zUMlAI2(c5N0|JImDwLC&+5+>fdpbsS;9WeSk#KZ1rp6*7FBZx`{%YB(pFiY)kExV z**eG;SwpaGe|$R6{>pBabhzbof~8j)b>1`80gDTr#YQEc%W!S%qbou+FR^nX+*s-% zl8|EQuxC{*lFh)(A9tZmG>PEoVU^UUS==p+v%R?y_v;0xvD7i779Y2Y2vdJ&TpIbW z|DnqIqaErJ0$AO~USdMglyw93wID)LtZg)GmEKC!0cC9{jW^_oDtgg~We>}8zje4r z=pTY{l)sCp!7;vpWv158_4tU=cm7&mV#*<=CpZw>eN=s4hYgQ6-A!9gS)7+=B7N;ve9)gjkCwURmdy`*s zj`kha3Jt$v5j8w}=g~AvcAz>;S zw0Y^p`!A3w6?$t`;akZg^q`#|a1lT+4ng&BdoJjJ1a?6M*j3OhFpV{qkp|1#j3&`j zDTpfg`V=Lt$sW6cOzE)BH%cCl0c#ThK(K(@ekf}DO_k|RP)=V?1oK^IiM~tW^w}i7 zN>S)ClCNp{1`BPDy%eUSRmslf0biw*%4pt8XQO*WpFik0df@lwTq`-bk;ypj{euH< zzBSJ@K3Bg9@8jODy{z37Y$=T<^x)gahuQb?on-R7c#QHDwYEJK;y~HO(62}CZaA52 z=e+7fWlTqeMqn*FU<@5E>I6jwEI)+Yx&a41+x zu+mFA* z1tPdi=a<486jJRCPwt0GirVa;8e=mepEMk&^!a ze31g0K6nb#Xc$YLaS@9yEo1&4%HA@r%6`xOzZE2;LAqPILAs?|=};OeY1qV;knZj- zgYFjTF6r1bo30IP`hR(5=G@Mi|C!%wo~aMO9oIM3XRY^Idi+Ff17h@l#|sFx1+TBo z1{k)nVS7aPjX8~WR#Hv11%@3JDBp$Lv1X z_wbFFU-`0VTxkUKCTI}#R8=x@Nx;0sZ6PB~_T3*FCXopI0Q~!tE-alwx|+H|M?x93 zOcp0K`(5-Sp8>=%RFczMfKY4SRaC z==ICDY+6Fy+2aV zIN>-w9rH^9@I9q}uW>&v{uAFr*6hIwx;h(r3%3s7Z|FN!_ENaQ9jSXo{u|%3PvL+v z+c?^ZDNO(C#;Vb7VQ#`~mxg<%ir3DQ5O7S-z#6#IEN6z(mST!qz0NhFNcbWtsCpXP zH{4`%_C-e!+t}oWR~C3V4wD;2y^m<{ZDDS!%z`)<`|45pGgo8kJT{}+3}N@3V6jtr zULNFatd5jwOGQ8u#XKI)tpeL|@+UUlbNAvlWJ(@y2>umD(fp0*!cHeis6#xWJ*O5^ z0ScW*9-LIlqSp z1a4DBML}0azwTxhdLg$#=&ru65XkA6y|{1gE@oe9t&*MI48rf%AQPKjs;|Ev-@?|> zE!P@p5SGVHdNTm|vss|9`!KJduk>vL#j6Ww6~lwKG*Y3}ZM#*n&qY&&{`dd5U|v7O4D}8YQCJU=_H!E` z6+`>t#5Kz^C7o3ODi}`}wKN&GJ2e7{`CuZ`n+69X_9EZ-$&YCkv5kHJ=I;D{J1nbkZoM(S-X!uNV@pagoGX>vMQi0&s0 z8R0%Boyf1F=b%+HFT*R@j z>CUr#Sy$Sz<8n<#EWUo0vASJ@*I0~L8b3O=KLqQG{u)djshTY_TY2oi1P*3G1#-P2 z=2PFiZH>~oy~0VK7tO~w@7i!EQ~{g$uL3!&!J#ehQ{QdImpga#DK7jwH;Mf_&Db#P z0`Hh3Sns|g{Bz5?kokCq0GL7)E&%}SPF9{e^sgeJ8-wpJD%+@QNV!R9y53zoXG%Jr z=5yx2nblW_u?$Wgex`foa+sY;GQ5su$5X67T9F=Wy@;mXtzR8Go{2g_M{A4W8GI14 zEx(3-@6>x2XK}0;e%}697;n0r=2u91Mf=Uy>jR1TZQt8VV$-j)$6BND*UF1l!``x} zAY<46#g{JeljcW<6*XQbvtKUjGsq!VK=QG9Bi2hU0@2>d5DJ=y$q;h!jX@Ep{ppkv zD_nt+ZCzqKrD`rO#ciArM?A8v-8gI5iO?B;sfsYfn4rc0$SMa`*&&r-uhW&o3+iMK ztc$Q(U|XZnk@n(?4DJ&OXl<~G@SIw>Ri`4*XZq&vyW8rG6jgXlLH{$2?|RFd%rVr? z&B;$I2gYkX1Hv7dk^cjMBrl;eb+hPU2ehK|3{RWC9UayxRj0oC`0)45R>lU-;pl>;!Gt5ONToI`L>To$jZ4(ul2YsxVK!SBmFxA zI&?Iy#@abwxt(Ccw%H#uKo}1|eV{|r7qVsDH^$O_9;fZpR--uuodvz=enX26MKe)d z1B9GH^q?%4^>Y2`-82G~k<7X5hn31OAuznEhAf9NZL(y;xgKA+xD)po+Q+6v-m1@` z4fn9MHW*`q(i4eJ;RW@Ha>jNzskLFIziqXq+On{)mh*zK;mM*)qB}?~kPhFewmC zB=*H9)o9B>(Ab-Hl{q==m#w3{V>!NY*4ovM>N9)Ix*Kc$?T|=U;J;V^)%5AH zVP#Ba+l&`Y=%;k-(wXDLu)CR?5;vFRvRnai%I7GhQ?yu`hv8d~yKF&a$N|REqq!kh zeAORTJ_hJzO$27_Aw&U{qGKG}Bve`;#iS$&{IB>h^jJUt%R&yhBc8Gn4~&lkISd zTeYWh1YvQJxAgGh#j)3Im}OyTZ3Zy0yhAde1#@9|{P1Hx@sS@49Lohatglz2 zUu3;XcR1n>pCoMNlDt%}GL?NW)Rh4o(=>@Mq7+DY8?zWx(f(JoAlz59Do-bFewhZ1A$pp^O`qbG^d!Nac0p$fFqeUcKta%yA0`!@Vs1Atqx!) zRPM({$!838#s(CL^y-=H7jaH52h;qHigw@8?YJ1!5Pj0Ax=qvA0yIbk* zw4Z&BV!CvHHK>yd`(?(K4XXizBUP7I1l3Bw1bKLDi*f=$+WGjYiJiOyw)my<5G=cy zVLilvyqr&!f_8J2KpZ3F>Pi@bzSAH_vv+>S^CozR_;Jw`;Fz0p3xdHtug4J-@Xe=h zF7~E^!ti_=+TV8}HRqv#kv@uykQIWYq;pr+a}g@;*DM`U z;h65Hbp{48?V_``30|RxbpxPkLgI)VQFlw^tEejSsY@V9Hdf0`Ekiu?BiqdJP4T?D z0kTO|UR~cw;Ap)xa@7UVVz=-jyB}`XWzB7+ci;HhsHp-2^gbx}6rUd2LnxT_$1?Ir z@Dx*W%-g270B zl&R7DwKee36fH8)PgnImm~}l;fe^UFztk5xd&1Lq{KdCpH#j#0?NA@z8JGY|W}l_3 zb(9yEBM1gkM5v4ld&1DC?L_0lxOY-L<5Q2mzK!iwUa_75@5VjtRuw@Su|Vdd?mQ6DyXNG|a9xJ2SBcDI9t$G5XutOxHt*S_2Ou+Z+!QPKB!+T33l z7T++&!*x>6Ea{vlD$wqW4J+;dkv^WLhK4U+k>Hm;mO7SZ)$~nPj|o@l@V?y@isyd8 zytD7|We^DVO!mjoGI?Jf)B-11qLLKWx8d3qh6;6Q%9nkVU?PY-qA1bv=6A~uC+*Uw z&z}Fb;|^OrH|{zGV70_!xKefj#u=7TUlb10+uuK?J`!F~@&`;P$=sW)YmWPr(|jb41B$2QYvMyqzg z(R8Ny#td2ymjt8H#0iEUkVIo2kub^RpP?azW%!-4aGibxbVOIkz4AEedpy{lOn+`4 zV%xUzxS3SG{H5JIzzs$Wps?Z|PNPMByK~@QT+6KX^BSr1io~^eEQg6I>NRr}fbEuO zzPsKTy77p$Y=euXp@Y!2`}Eh{h4A)mr@vYxr}41>&0%L-)~ESBr_0)Nt$z166a3%4 zSH6pKnZ^Pm_NQ{uQcIgjg<*d@)w`c@Q8P%>#ryDCDaH)U-mSe}j|nbbccJ1BFvc1E ziL9KI>#pxDnn!j6%wa>|bqVF7wO=|JxL0x^;C#1dD6G{;|!v{?#r_mPd zc9SXEu0)IC9bqfq0#{frmm1+2*B@bcj(>TR*^tAP!^F3{Cy=ZWRNb*=J3kZMcEqYRrpHEk516cHji9@%EXrza{^*O1T zY(mN9Oes71h$_}V>_#n~)5h5up_(PiiXJPPRCJ@C(I(!kwL9+iJKfP1S&xc%&|2lT z3|x4@>%w?_PgPw`jq2=FNhTWnZEJ+>A?b=6Rt|iGTNdHw`8i@A%rm5KIAHe)e(CiC ztsm={doq8Q%e6R%85kytyXv6sO|Yjr9R^ggVZFTf^x+V{FDk<`k_> zdm}#P-9hC!nRcKQ>;VSo@65h>_6&n|xrf&}rU(VSr@uUGlpM6t|%$wXx;H7IRJedmb~|_JEpMt^oNa zmsxg`3i!)M{kq_0-!t)Y7=_9qWn;{q9)#;OECt&|BHn(kG7lBs07(?yNvT`@&a^CN zwI)w{Bps>KX`@$TqxT`l&CliSAG_cGI7EN6LGeTZrLuMl-~FKP_>_kqU{pABc`fEeHc-E`- z`Ux#sE*5cgnEtl%zE24e4JHo|{-(b^Bax@}_pkmaN*zlR9wslJvThvx?52G1up5oQ zgWn^_d<*fpuJQ(`YG9^os$P(XV{1NZBr8bw5%y(@*Ydzx+E_|&2w3HV?2z?5)wlW0 zf|Xrw$uR<2Vru>R58xPn4=#A3kR7!h`b}{j2F&&hr6S9Zfg|Q;%hDC9uF*MZamTKu zl5Bg=lx8pPTq!V!8wROWoZSl{$jd4{&&^$T3Tj*+s0kyO=Hi*mDtj;Tv5d=!*UhjN zuCi1&itTy(OoZ#vK^wm{dMZ9#(P4TA?^-v-C7Kn~(QKWXi1-UgW zuYZ|R7Nvp|MJC-boN6&cxpaX)n8jv0m-xsP_VM7?uBERdQd=7`)rQ z&&3lK_&C2%{ibf;8iE3Ddn6*)70Ze*8d7!>3vGH)=J*L^kfR+QknMSf>SE{Ee$C*v zyRL>!2HU0jaHVW;-tM`R=H9v zui5`KIR{)ZDb_s%1Nj{OsU=1)XF0787G4R zqH?_4onnm7_?E-@{wdh%RmDy<@DAAM&JsaaTj(9LMJyj_Un9m$#NzGG zqQgwNv16ao47nSnK4(Cu)WrGpUejLR?w$(H#sbFcR5PG7@wAupSB;KZxMFqyFpW_8 zty7|1uZ2)*-d?IE>yP9TBE>NOz4`w$GxVS519^3Tc@zRBZ;Gevr+Bg^th-IfdDl%o zCG9iu6N|=WBBg0k4(;^jq@w4@XAZc`)?@mj*l~|J;E+Bgmoe?1n;}L%PB?_tdG)Q6 z+VE7~+W&~A<&t4Eb3|(a8qstZ=|rl+mem|@=lq~ul)roEfMWrA&>wLRLvfT>^bUbK znMZNwNm(k^T_Y3Y-#wi5`gsa%_1oiyQ|z5Px4Q9=1wgut!-4pZ(-#^JXD4fcK9LHg z`gLCu89j^>-X0!z=uGatW$}W9mA)B>cio7J?_oWF{)~QfesPPHm9L0(_d}r4Uu42w zV5eX<=c}@pOJSZ?$rv#HpR(S&JM^c=ohW_q_!u^0cNA~nPF`S;LnaMCPE>Db+Sn{_wQ(~?kYJ>!@NQ}*?3ho`eU2e)7~McNo%V)^L1`b3Rp3-{?wS5JOQ z5mq030T)o0+~x8_88Pwi=m`tHgnk%2K`Kju7@Tf>t2OJ5LCPV`0p&PrqtY`SnQ#RX zT!M!)<>m(=ueWkYU9TgMXnu#Co)fYU7siSv(kl@>)o4IWk*v1>z+i7`EZNx2nv#Ae z(@6y!c-v3nh8>`e%gxiVpT-HF=zW!sqhY8aafP$KF0Kh;c8W-)jE4I&jHWq0?D<`< zA%D^CIa6;5IMA=aBC$Iu)2@Hv=DV&jyFL5F-(jxuJp+Xpzr&7mYrg}20uVG!K^Ot1f_=VoE3}CsGNqf5ElhBeeKF4L&W4-_^I?k45leNCL{5%v} zKoz{tbp{lG3BReg(+gP6=mBgC?yv#IoYadL3end#uQn{`m;gl1zBGg{a41JLp5z=ticS6QJ2y-UD_`t%tkok+XPFPQYis1}romXESTs z@)2v~=>k^9^Q3nt!G2)Ct1v&L^>cpXDgSjT~D)s^K;3ZZ9wf*j514rB0APdqXspBSYgJJl! zetg8;&C0E!!03rrIxeG%6lKR5?$!uJtM-p7ch6&5{RTHQ6BfGs6+@&3yEsxBsdr)s z!B{*g81U%kjcDO(p4HjV2S22eZZ>YHtQIi&248Oxe)!cta1h~gg&-CJj3KdehBSi> zQ9=Ade{&c9$FfAVh67ZO8uY|vovChPhGvYY_PfG&QLsW|S7mnW*YFg6<7ZA?UU%~4 z?wF(+wZJA!eQRk>E)wKH;wCy)$nHr?aTpSeV%47_?ZF*lcilReUg~Exv)ls)s8SNMYIzc;AbZpZ_Ge7Mz+5^q48hRIXp> zN^5J+c$LO)x9D(b@=DDi;r+1EilqB1vhzrKC7W(|7{h1;7KAchl0)mpH8H#<*ULh@ zI;!oSJ?qtm`E%A}aZ0|gZ@Xd<8xH4{#Ff*3zRKj=r~Md$e2m8A6ya%B{GgB%b3Gpf zgp>G0C!wm$+MMEm^cA3OHzyBKNgYP)KugS25HY#jdrd5|nV)rg=|T)a{ zuQ=EIc1s>W(Q)~zgxe+fOJa8QsHLPIXsbZY`uZlyQa77NX=Q*I$?=`@r2EQarUi@j z-S>GrB^fV4;nfl&;h|bYTdePyJ&3J+*J{vn!+b7OK+_NSo=mp`>Z%g*u zbU9hNM%xzgOd5Kr!=a;HzrIMos{VCBal9oBMbef5I zD}o@VX05e`evM@m06gi5AQS*)ej5|JWfdJEzSDF`7B&|GifU3+u2;`@Ml+cF09pDM zp6L?Ln25Azt|3Ez65z>Zaa)fJ@uXbwIUiBh?7Ak?%l6x2x;X#`j+_Sax&k8>p1hXy z>-JY;bb1{AcyZ}`wy({4Be^6cC%e3!nlj8BFPAhZxqchiNm7Z9kRRW;zXTtP;t}?- z#EW{nCp;UC=mdC#%G+YVfBCZ2!Dm!-zBr0n`Qc*Lq?nGUT2=~ld7uE;2NGh7Wr;1x zNH@2?zO|W%@A;MQ6;V0tHjuCZkz;7hG!LlGGz+dA%`w0r;pN=HI-%sXj=lElvJyC; zVqVDEXaik1^9ax^(pDR4Z%P^Cl{^ z@doHsaRJFuxmsEOn;8N}%Sk*9ces7B26MxT(*G#W@Lc0=Jts5r$Tw6HSa`EEYYxCvM zvdS9z@*51QyxrVc7yFKG<1X?&e|KwwnE$xd8BzZgVB9}V2f^l(VSU{><1L9=F9$m}TNUwHv~U3&3E|gj z4;K+G^2ArY15>ATSv{qz2w z7_q3G3cT34TXO9Of~Ci3_Gur9^cT*4tkJ^yN!y0W?8d1RpQ2|Y{uLDs)nFK@`>vDH zw^nUOj-vTkfTkR9X7D&Oh;KdE+M(PJ$TOs`$E7a|bi_!2E-ZdoLve-tZWyA~n60KT zulI`Iym-eaD#e?!m<@2_8o8_5y+N12SbCJOyXFpHu}>%&lQ9%0PC)P$IY&%7PYk}q zAi~-@dbVLRZ^gmg8K?lVY>yHjRTy=czfl>~I$!Yw_kAiUGsv#DPy&V)aR0fd&d(JSq;S)7LsDN}+#TuALZ5a_+>L@;AG2FJo-L08 zRfu@8ld%(uo7*3hKk(40OawK+?>fG{mnM0V+$|-x_jqwS|B{zBtnqj&j7?=csj#Kj7JBMzfwFF&0hOR|5yJ-mWk zubWhxGck{LPiQC;v}vP)2vfW7_kO6^^xUYthk(!SGZHHtZ$z%plV0jdG1C^?aT4K6%l0_n@p_ zX)2IVn7Y}+5tK)LLNYzHQ)rx-R<53FS7yQ)izh~UEg%k{bqYq^%CLziixppEIbF{a zQZkSAk+ee`!3IhdzPyXrx)PgR@8|ayIlw!8%#%}WN-YMlO{o*j3QVAl-NAAdA;Pp* z+K*qVGJB3f1v`u_;~_j(hzfq|9!+fWAQPZGgUz5Ny53n&&xPtPF=Xg2iPE&_IE7s<0rfgu8;K@$fzNZynUiuB^Ho$wH z&p$$P8_!(%sBPq}d&|XGtVc<;DxSGWbwypHPdDG{B4D+bAzzbR{w|(u^snpz@27%a zpIQmnPFMO5d?mE;lY(Bcrgs-PfOES@lgFDjLWTv?MBMZhbt=iW%2yJdwe2&phh!p8 z=dE%yW*v-d9@`N{PrDKzc)L>;x#dPC1wgy^=Mh==YJlcRau56kg^od75=k&o@3V3$ zr~lq;#qo~2Ub7d=Lovj1G;cbiVe&MgSzK4P_B#JsStNN$orYT`A}seDuK(R<;Cvv3}kY}Cb6p}7sFoXm`-u7 z1SyucU(Ku6_#9UHgY2ws=It2mpxoZ%@=vBI`k-I8jhA*GQNXW zy!U$p{%Jnj;M@birqC%f{49~k?hE>=QGkR&Au?yqCxaGG)BkQZ zKiB+v?#q-7Iyi>R(zMd&VZ-*jPnao8cO!WFmag6m0?ezZLukB>;%H=THe<5>O$nm2Q zo!flirE4FTJg6GRy4&07P02|rO!BhsA@p60=0X&LhtB;M_&T}Cfd#Yt=TzJecNX^Q z)W}1AO+!br(;9;?;KU*4Gm-Z>2m7F#f$czQux1Co+btkCHUWfr)&Kj5NV8Ca<~<5~ zgzoTks*6IfmHZFfMjAJ}=pFzccy7mVru8Y&T#t+g5|qU1+i45gck|^CN)bnTVm`7h zU2D^)F__MTk3X6aJv8w-BF!4s-1<{cqxEq+duCgVPl7NQPCots<3)S;D!;%(mZ{ z`#oM9y397+0$)CFtmC(>b$csqSNgVCJHlO}$C+dL1F0Y51kI4}h<9_+DbGJ0oL;RN zZ4;>`(d%^YYe<#Z0C>aT%;3bF(E216!iqH#+|>s0SY~eF5_(MI8V*NVY+p_&;yzDR&_P(nRpbo6Td zQNToviVCdHIRqHi#yWu$4(i|yXeAI2u`7oS~hEDD)C}-`8Emm;vCn!Bux5^av_VVU7v$; zW2wsDx$S?s`ul^QKT$&zRYo%5R+#$@( z&#vX4f@Q2c&KwZV2iWw(%b+F9)LR6Gn?Tm*PZW65QK4`wHyK=3_1sTYyD9(6)Al>T zde?xxYUSyUC@Qk)LIHb*3ev4qnUOZ4zz7#t)rURg>3L*piNT90*JfTU;q?R`BGM7+15&;;6Kcvi0 zHMN=w0=NhKtLf-J7rZ-C6nGJO97ox)3}XdYee~+dM{HvWRu%s5!9YsMu~vKm$G+>=(Z}hVy-e&% z=qvDR*`b=(C_?&!68O6ZxaW6kp{1|?*O&C)Uv4AAKVD#e#4|~(0D(ZMR_U<%dmI4h zF!xXjz@(dDb^D%0OlHzp{**B8VCaG7-a2Cu?6Xnt>s@?egB!2I_GA6F(aB`gg8>T( z14h3}*-0gFVgnREsoe8@WE0{=hUG9-MPliNmu-~89Db#NtH=S_fRTyhk7I0X>2H2< z@QV^#@Dr^8efy_guyZDj%tTJ%ub3Hsf z>TSEwoNTMFIqPX0E+`GnS2hNhKlE46wsj!HG$x{AmmUE*1f?P@MmfA*G_E0J)}f&& zT1-D}NwnWm}dy_$_@)IU!=G{&P4^H3VNt#p@1bHrU z1K|?4DTQ`(Y@5X*(N9oWtCY(3H2;A`#$>XfEyNK2Qc(LFi)^FBgeZ~*V3F~DW05WC zp--f)T-rxWDZ~V3JR=#oGNYslpLLfx3_=ZZci$xR#lu>B4SBdZG?-g zi(tA11!0bjdc-4-vP}YJjRtrC@poq%0-+dzNY`pEh_ivb#R1}Pt%VOf0@E$D*8V3s%w1TM+)v@OC%{Q!oaHBn zTZyz&(eIU1R`rh;`=jHt1ZPj#(n?P|?y0#L8QvLOm0!JC^f!f9TWZ*$s|=v<)^=-c zCr$o?!mE$U)q>H0yLT{!tCpstIQy2&P}Z8Bz@@aN{@?E#|Kn@yZ;SGT0Xn_8<*h@EIN!3lCk6WQrqL7$Midk^K&-=mS9a&vWf~|i8cLm ziG^azXVW}`5Pe>$7cBe49_dR!D$`k|9M!P|^%658KYmBq7z8apzxJilNcz8gq$4!% zWXGk$4X9_{drSNRlC!x!2ld$Jg|Ksf)f-Qx3YCNLKo-E6!d3)VG*H}SaZkhsNOi?i zXV?FQuN4;bIf+xaU%1TWE>1K}@bj~;P(krN!Jo{E4ADGTX^u48Ps(Kswf!fc^5xU8 z=T8KB%Dg>xw9zr$mHq=Liybjx?PcKSFkMDhe$Do#_Ur%RU;o!<(eN7zA`R4j^CD*p z%lKiQ(k?mn(oS>_TRaQ<@?A>v;qf7|YU(T|B~BW!kL5{=hr(o+DTZvNg|*`(&72bz z?i67OJ@f7zr>*WSQ9@$%@{6_zyO=J|sj+-lfi>mczB(Ivz%3Y~p{up@RQ1obMH%H4 z4lI)`nN;}k(BnJTEuuH5O=Yp9rmT9uGp=x3*X$CTH6LF*q# zQO({N+N!bR)q?-i;#n6eLDh4}U@S}nm9%rFFeX_?0Ja3ej6|va1Y96b;MV#}h6&UX zG;%bgvcc#(P7nv6FLD2qdr6NJreGc~Pk#gIJGlw?E9BV%$WgosRd2My{>tBI!JQI% zz<+1@Ap&D7>W(QN2S)Vl&rj_Qup?yCe3WAZ=BonYzobK5pFCpI3glmFM?R+1Hg;-A zlLdN&AF-K@PZ^*cdSwkCFU#BiZfl76LErxA&TEgiNGWS@+GcA(YW2>fV+w<5O8rfI z;q1)MiiGL)I|VPT=Zfhv6ktO}(&CJ~|Hl{k(FRe3$)QS{y8k+9+<)VpTIa}YwEVjBY3t5E@DeD{w3;YwEeKQ4Y z{7~7uJx>rTDUDiu4_1*6C(>S=j|>O>okmJM3^*b(IavKz`*%AC6%H)Gwc#C`ouo74 z4wvWjq`Ttn;?YavX!cjOm6qNaAZx+m-=64-a{ z58c5;>SUj>V)9{Y3fjv{{6+V? zGqLJpldbvIY#(=sDm;_G=aIHZB`Mw5e(4jCEe0^GsSdK4I7GbG*gze43_#YG_^pBA zv+8n=`c9uhLtI`3yKZBEf*e=B612jNz=^D9n4ClivX+!6?d z9<*2EOycpM;*l%v($e4fzhu0ZJ!U&>=dZ%_gZIB$N2c^f{}Qo6A-y-y1nd`6T>VJ^ zOR@Zg;Nc&ZLcmZjHSTiU?@2v6l6Jx7VQU$;#A)B&^L(NUg>--GXb2txR(R8f&78@X ztX0>}mcfG@L+q9{Oo`n36X%VJsmyAFSs(Pg>HHe2^yQ7oweuS)tLS}_;3sBcMW4mX z^Im2?-svok>nx~0ELI%bw`aRUzd+o_C)wY6B~&7WRlfj-Dz=LJ{B^;yhBM~@<*b8u zJRHebgs(_0X9&10hShO09?atQSX<4C7sJ7yhjL_ z-HRdfGlaWP5xo5O1aH(xi69h^=Q~!)?-Ko>QfZDtVWuqP;XDxZgkcf@qTbtOz$+In z2+8lvDS&HvDAr9FhTDWRqv?JjJAXs1aHFD{EJL*~S8nZLGu#xV%6osEa=_uX3mH+U zB?gczBKsSiN!_S?ZXC|bJ zu-sW#R$Nsb{m^nRlEg`9a0*ESA3ylI!k{=-r>)&Dd$)1H8^O5U(k_gHNreiIxh>(# z_*aKlKb+`CRD{*W8MOpXgetKK+R>2GhU`g=Uc6<_%A#oEAk=?fZTqN@&S}eHKj#$5 zZzryr!Y->7*Gl~5V|L`5jt_p!sVvgElrOa(okJN$7e5#;w4BSPb}aY`elgu$TykoE zyx{ch@vYj+n4&M4O;2*Rcei*LY~yw8p{Nm!S;=8BM_)V!l~q8RvxM4i{RN8`_)681 zh7#M21*Yw0LlR1+e#t5|QjGMy)x2r+W*l^O>D>oqRFp&sU+p;Q-wpb{@LkIkY^Z@e zzQVV^nGvrJ%kjHm`kmDCyV+%2XtqGx8qCU2OnfPs^zBWtRfgz(OYnPuE@V6VJr9@` zVdqEtf7)bBU{J{iX40A~K3=;Q>=n07cZ{x#k2et{9{Yd~46yskV5PK$EQs89gH7!p zw`o4ima9w^s}$R^ z+@6u+ae$8b#j;FahcDYbn%IA(&0Fj0XxT|vZa|Z+#Mk>uqgXl3^yo!Ioobd)kgrZ= zMVKu-z2x6B&?Ka&e~jtcp3IS6yF`oo6Y8*2W7+!zQ8C(U6SvJGwZX$eqJfAi1qaxtsyCx7$LDAas{cp1fB zQlBJM^~f#6*^Nh3G{6>kd)U;q|Gqu~Iddn1zunup|{Z?gE?sV5(EQo$Err)%x|__Oi41+1K7VG^Gzhh9dzo|)e> z+HVf)2b%cXuS(M3NCvb!ePh$DOUXX0`myxa1_$~ou5P}~0CUD{OQ4WAp=v-z^G9Si zZ!7wHxAaHt_0b7sb%me%35UwrtW0i>8o}A++EjLuc$W6t?L*fbq#@slrtZi|QgTzW z&Cg6F7>1W*j37ofGtZ^gpki;K{_zdr^K8g521>`u@OeZVpSpo%nCbm0QTddcAs1rX zd*$(sSm#3$5wB%DSoDKmeD7GMbSUDbdYUE-MGhnK8!+bzE%s?iji*zQ%4wbW>>!`c zTW&PXL4h;ZVfXydRNy7Ja zDwWF&9cRoPK-Q3qq=|-9NKf$k0aU>8$~=4b{ZMN@>s5*75@lkbo}lR4BZoG@_XmH4 zk#D=n0O0jK;D_X!8hPxocqp*Nb=Kr!VDyjmYC}UQ>I!a?_Bz`xZdmb&sJ0vdz0E)m zFb-P>zLOVk7`&!616JOy5gY6PR=3Ih%$dts6F;umdL#^z?iqS*Z@`LSGx&??%|W?o za5tGPvfKZ-iu_aJTYZkR>S4my#DW4O!=zWIaf}Vt5OAu=7EJNl;GrG0MOb%sq{d-k zDn4rnarJO%#)p^GrqTv?hs{pU=L)f0xvmu{wSY=!^z7inkWLGnmxs-BBFoFg@Bmh; zTPdu#NrRA%91J1qm9XW@I{V6@zHf4*h;1}vhtgV0+}MBKPCT(c(n8-Sbap?N!Ekn* zSqewSt5|7Z8J;bg^M)mUXu*vVq`x&>L`^tHf^S*~Jj?_W^ zb&R;i7`%y;Wbx9Qs(p!pW>^&B;y*P~INAfDX?%u>vb`e=+1V#3Vy6gLDZF0%(ghsF zZXp?;8w}39OZBp7xW6(n4lmisyN}jaGY4Or*tiPRRilEGkM?gypMSF1?x2N?@S5pf zaIWW5Lw#>*(kc*QPA9d(B6Ay}XrcbOeUq2FH*bm#F32Uv?4bC5QE6Nm?RS=9SJC+c z2$1~Efs>tVfJ7xR4cKD<{!we1Mk2eB{te{uLGBqEL7~0R(Qt-93NY*Yz|K>o1d#^n zlF*xaKjns$ddC8Jh)JMDjmhh5v)CS-mY9HmtU)Y2zOkP?$oE;|aDhzJ4xrZ>w-S}L zjnYEtyQ8^qVBsm89t2cgOp+Yb>Z)^G`@g;@X?a2Lt@4Yq5l|!QqRapPkCk-ph))sQ zFd_qG#=8udQ51cG5*h91g3K9<>=T*+#+wrCGdWF>QA+#S~LrnSusv^(v~P!6e{GGZsB=Mc3rKg3Vfvd z@fmVlK)nIZk09i-1WxV=naR;#w-UM??hW;=u(ohuLtj1pw!qI0h_O(S!! zMv+_ZCw__H$c)!q-EYmvspTl(b?8~EKB0#iv4dudf1|5*f%XgD+t!bHKY0O0`(O%3 zP74=Mu171Qb_>|ZBOTVe!(ek}F-?~rVnn2Bc7~leGVX7$7-LUcCr_uNc|ZOoH{OCw z*YVc4rv7mQWtB)`Q=rhssAc;`)hPqJiX+I7L`iq#tYbdW2C~3f)16xYTKpUMwE=>R0`;=l$xjg_149 zaI@kaY4FaE?2VU$l9G$uukBxjjrJbqC%URmw}Nux8`r}8!1JiD0qoabC9nDkz{*QqmZhqTfi(%m4SG(&fHNq2*E4<+5*3=BEM{`9CKaQxz4qI>$k@LW&t=wP0gf(Tr(yM<>k>6=%n!{UxkDgQ2P3{ zG&w%`u=xTY&5@;Io92)|*2@a%s}J9EZpLTpQ4jl*HgLrT%UZ4{aaRJh+`@C*FFqf{ zaSdV{Q2p^;L(T~U9pVLffo#|o&v*ByU=J09`+ui}kz_~Hhj@x#dUv`u?&lRMauoa| zlk#?QsdP9dO(3J-Q5*ebI2x(_pYcoSv=x`flGBLcO7QW=uhoQa%O$$5U>1{~7p9Ak z$bTQuJl@3m%(n+T-W)Q~#qr{85BgY2^>DNxRPtV4<2MjHJ?HPHw zD%ua8LMP-@k`Vx(Flt9l<||mEV=6ywPSdWqddg>B;4ytpc#BW#J4O^o>%ErpZX=yJ zVoLIA@>I(=Z%-EQqs~eTt#dtJl>)3k0~OmFn$x5(Q1xNPz^~uy)yO0=9)pztBU1{eH$kBVgTWta$J==BKwsc# z%`-Ba;IKWU40IqqENQ3zTJ00W(Q7eoK_}wY{}Z{%Y$Bs8SU4YH@o>_asB{Y)ru*+m z5l(K+h~IFndb!hrtN6*XDRPYe8sF)DWCdN^c|>Npp4_`H)H-q<^V|?_uQ^uQWoXAy zd_5zj*6y z7W_}kfM8$5n`8-85*%8a@e8CLzTm_xBw}5;U=r)%;WuyMT!>wEf2!MQ!?2>Ec@fHY zi_Uw@Xo$`hi|wqD_OHD{NKZXEAso^?l z&+v+HXZ!WjlX|M>{-EURMxVf}YkVx2+asDB#FO?p5X90%#eZrd@7HM^@ZEf=|BS@F z+N_XMQBb%kd2b`WiC*2_sUu|Ptk=K_&Eo`qQc8@Rm%OegpRZyzerCsPIQL|hQbX?)Gwsj5CpVPI)<`&I znmw%8GZpfC+{@n8F z(z{=4RICS`MxO15crt0wbE%kknN@j)gBebE&&j>=sxZLV5H5M_Y?Cuy5(@&8vVEZn zk&*G%>JSpNUXj4s8FAblPvRs-HNSpma*1Io^ec_ovK;hkEX^cGdF@6t`p5OCsEMr7 zaR0&QYC7 zZ}BNfupl(x=M&ScH*5Z=GmZA94kIfqMo;`3xuRmFngVG90*e^a(UgfjrQF+(VFdt4 z?=#SZ5K$@$NtIV4^-02I0&+0ZY}4gByaar1b_1V9AhJcs9!QZSxxz+*+lQ9|)bDiJ z9SON_8(3_?N3io)MP@(HJ;C4Vtdgnr*e>mI!7Hd>ttjD;uO~RlTDqtYD0?smLO8V^ zm*4uJpA@m=2a~kFlo(5Yo5*>|0R%-{zeUabsn8>>g$8n2PsRz{pNZBmNrb=eLKNT| z?w*%(0=#BZfNxYzr(J=i>9QA3FR#gQ_iv%Y7vf&A(>&Fb@mob2xh$YmVQQLIrTEKR z+J9wG4yKE-yaB_y(|O)SOY)EYXW1t}TBZy8JPdNCG z@}Wl1Gc4G*b7ZnT5IRcwx=?vQR!@Mysif7%Ufk5NEAhd5z z-MIRJFOZN5YxH7I-k|qQ>pHbJ!<~}}KJ^{5uSm6MoN13)dS>gh8LerpbBOP<%m@WM3b;n2mg#M^>`Jaoc8!n8f0mdtxJV#Re#_iV}+RN`u zKGBu|2p#p|63r70_4um1S_u@juMDN%nu65O*)a9H8deFsdqZ((2|Gs6u<&Jvn1g<( z@GSw2+re4=Ei;6|6&|JdM6^dqO(7Cnd}5G`SU;mb5YNmCwgN3%Y5C#4S5u-M4~v(( z$R2N8D|u4r>=4@~Si~T3r$4v{=VK0RzEv-h&6hdBTYbI<#!Vn9hQ~Y-D#e|p<`zVL zk~*W<7+~7Jp@QG{^(4&(dJ9P^Wa#^ZiRNQD6kCx}G+kOw#n_m=D_{uoy${KSgAm&~ zFrOd1+Y?lh+bIzzl}{H=OxpU6cW+85{6)qgq?z5CNCcAFe#0yJgKdJud#8in5_jQ( z5SgZDtC|MnugfgY;zYIwd$hxTXtb|kL-j3`^2wdhGmLq@qu3t}e^qBKK5sMlgR%UR z?gducC_s>t9Mjb|B;AbMt~X{~2vRY%Q)LYL2$*+XBYWujXIpnH-OW{)VIhb5Eb85X zDW-G9Yl1~>j967tpNk?a5`UksbrT&?hhBZT(V*1`mBw91`_}<{f{qaVcLIZ<;mKN~J>pxm0vnCIGrxvfZx4U}E-5#C_Q=CRc z`&}1VAXhjThTGDw_l^29jfo)!#X-n-?D^y>MdW!NcV_F%+YB~ACaehp)WeBigjy1D zxylH1=W>cF4IPY7`N;UmDO&s6ktk)Vob2> zcRo7+QgA)%5)lOAqZ!*qA$Y-iHe@=&Bj@-T0Q>OB?T7RryJ6g7^n5_8LOO4Uz zc0&%)KR)a|^eN%;wq1}AgM22}cH18HQG@U2PPg%H3F5>PjAhcEE_s~nDfX&f&62vC z{#aN8r0M72-${^j;Eeg){R$OfOGLqaObMQYIWd~f9SWRDC$bLob_gffi{Vr=*IyC6sHa8#31PfxU^`V!*;b=`;*KX^HgFy{-ZIKC&x8a!`IirimD^ zeuzuDam-cS`-)(|l%Y`Qb@5dDVu$nLpQzgLliy`S{m*AiK-5bF5Phs?O?SWF zF#U}yM|^u-__|!JG+_olR2m%GXg)#V%Gl(fFBbA)mkW4E!S7)gO+?G&;ElV5#nY*E ztd7)WW6o)|XE~Yey*-C%^CG7Rd^Q@>M9g;2+7_T{ct~tg&z=B%2yz46G$Oj@ds3hI zr4+k!1|s8yEO-Nzi3US4@#D`Q(`m~Q+um2H=KiOJqBj2vbwqxjIb%e{wA;ZX_?Gm- zj*zu2be+WYtXS0VV~e=yu=vSRNnVupFFi>4*9a}gX0z*u)}ldtIO0iJTpAWvbh4*Q@?rYrd}|8Z4JJ%r~3^{ z`-3Znej$>~^^z+EBa^}D?GvOScH^<>jq{_N=4Y&1oU#6ROpA*zVc z-RWg#ALSkd@cUK7?SC}9r5^p(=VY<(yFIMLNS(3bCi+hI$;V^uWW)56?Ng}*C4V9E zSoTgEe8M&jw^8*ICaiL_|LLaNN&F$K>5chLHO|gG;YvPbVfPkx@~?iDm(njMh;77PkD>(X zr80llOx>V^wTd(foS0~psd|srau78$+T?qRlz9yBH|ldP$q~=yVM5bKV=t>q_u`j0 zJGBK$a&`+%r_Y>8AIa0XZxfTBa=Ds+h_A-lm)G)DdeN0V4UpGU$;SJIvY&`2pOg$- zP-W+KFy^8fwM@=qNsipV%sh|)m9nFx(xrr?b&|r-2tDm)oJeXY(X{AhIo5&a^p$Ff z>foA-<%nE#Pr{V z_hSPC5mB`D%#d0RIPrWw!}k1gqmlg8va2i0H|1OclR+moVxwxv&Ab=;lw7GtYms77&;hB2^vicFipLp$A&& zw682WwAkcW_?2`(hXb@=@ZmZ1+wJ+bYPt$~fYlEvn_#k6%7n;YrCh^Qv&h0jTCWx? zsm}=)07`q#^{Q_sK!>u-S&Ja%O=xyKwHf0N44~Zmi3N+A#QD&UkY>my+7})etPU_- zMPtNEK8rnSbK$)-hbGE@#P5t{d2}rllLsC#joLs zfIRbIpo^>6l%X#fJ=l8D5S$gX$*t9eb97|c`9FF)nV*1&yoX$!fX?7H{S`P!{2@| z3BD$J&*ehoe7q7dc5#X>!PvFiNkAG?vj0o(KYPA<5MJDCV?0fIWBGpYCn1p?kkox8 zr6n`+mT&<8IE6?`xai%uEl%Qb7R%D|)QXY{g4%V7@7oNoBf>iN(Io|;X!;G5mtEY^ z_Y{|y{4y;}E9V9QTh^JgKw(GfKE09KVopQ<`GJ1-B0iv`!u~HMHD-gea(jhWw&=m> zQ7EKvdH8Cp@nfLz)}ECu^j&(~l~ldLy{PPBcX^n`{rD3SRsdiV9>fxx;J=RBz;?KO z5!)-!@ry2dI7my*BnJ=KV?xdi!0|ffkHqaVY3ID)=xgR$wXLI7ynISrbp<&l9v9$x z<0hxthSz-ijU}fqyMJh@yu`R*ftL0<-w60Du^V(iy$m)(nZ>$E1T&w+)U*_~k>!A0 zkgS5N#7u5&aSSHK9x5DAMUQ5)?e7a3mtAj=+aQIc6Y=>6MC}wf(6j&zIhh#33?c(vm*)hQ=p%sOQ7?Z=17w z;-}K8&u&+|_j@wsAcnqqW@Xycaam>q{Bq2Q*=9Y56@k&ND~~YQ6eNe|75lMVJSyr} z7qR)4ZVyH`NuBOPXuWT?HZKLc;bifdp8f}wqey6M!lz)7X|_P@h86K}pf6`?+sE=O zjeG6sqed0HUAtdWjsw!%xOAhQYDD!A-Cu>o>&j)E>E1suHz{(;VwOCU&(PfM)G0PPl z3#Q&nDr|e2-924B{;cLnR+4)~_ylnu&5dU^Ysu6*x_vE7;EeQKW)U$mD`+}7*eR$e z5&*sDQizBC_=Ku7`5O0=l-c8BDnU<7xeBrk*>(PwB@M-e-w|#sHof}Dh$kCX2?hfr z0#=;0aLL!GCOe%A$~|wOAWZJ#uc2KlcKLe;3jV7(BNx|LRy4zL(8dJ%1#Glp%*3TRQeQKs>xQ2q}S`~e%#RIlgD$G#+sxvWGngNq5ch8PE{bf{3MH&ky7-|2dNVQ*I|SzyRpI z%qT$38ap}Z-e)`j6ZK92V;@gt5&HIS!|z>R9qA`&Uue8C?4z}Bm8UH9`oJ45f*&hI zV@vCOe+R!6F@wwKc(G)Z#nxwz)z7;WZ?=($$rN`plFsF!@gmw*syl&KBb-Z{?nKQnECJ)3tH6^ZLSjDYYHqu3cg2@HkVdF#!zlwCWk?5hXhEiIPb`WDhu#|5G9{px^gezkFN$(?p=CSeQM)0 z#`gxf5{^5EPA9HKrCby$6F#*imhsSaC+;*{n*@ zh(IFa*9ZNF;ROYC-#)hm0Xse+17wd(I|807(a@2|<_-xiN8{ckjDybsIM{xIdXH=Dbzj)M5Jul!)p&q23rAKs zRt@lG`ieUyR4}*e!H%t!9X(p^S0!^TdYdof0#vemAiW`+NSW#nuO<|LWf8Nan&kxy zt6YIFb~*9)me z<#N~3aRPqIOa4n2bDMGn8^mBKYbg!_X-?|}KkC)F*yx@%|njB zyeC;@TJ;bF9FnzQi?E1Hv7#3irofFVfk&!$q5jLET)6cq-4b$a(7loLZ7fue(qs=Lq>dA%x4T!CT*8WTW|tnHeF=ctvKB8Pu8?4G0u(cZQN`>srwMaOco75$6;~ndtvz4~HBiB4{$CTB6gEFuNVPFvqnUMIwOP#UC!V zFO~_YPjKB*BmBPEd(>5=wq6_&KPP`r+uEk!V)H z!28L1=e{nu39pCsO8t$5=G!BmHU(H>H`U4 z8g@e$uY&9F?bsOg^!m#VJC-y;k=?}`*_pUtgDtTYhkl1svj75H`9QnNUyZmsg2R|5 z1q!KS#nMd5O5h=<-SprQr`yF-8`l?VCGE@+^+y6-xsD5v{*$b+aUM(j)w9_J1+9x=O+5KB@Ef-IDNkOZz`|am!RTqNg7MVSL zb<5v!VObiv%vi7?h#zHP(MC<|J|7mcND$R@^!Darrp(6z1@7W`u~ zri6O!=+r$)R9D>pW^{w^Gzq_EPnMcpgt{*}Yqp@H23^^%wrv;l7_5lwINIGC3GI%z z9y?d7H5u2H8QLAvKv*$;LHQVtC=85{qFTFMNPA5@ZaYFh;+o`}uh+|oj(?$2Fz#^P zjqi>X+OzF`rlz(A?-LVbmyCXIxaFR+M5dSs_bvYY@>V4{bZb=JotvL^fEI<^%vVq@ zY$1`WUv5QG>+_?B@Od`>YB`8>vVaNn8$0u9+jBH~dj4UsbrPUZ3s?np#|!~pZtRA@ zEWBVBTtZ=6KxMTt=1R>9`e;PP#$ovs0Jk%L%k4fZ1rP`fH%QRky5vq0wKFO zndEfXDze8Zt1xynd#+oDBEdlap9rqk;p8Ui8qJW~H)h3rl3|Aww`6~)-Zc(jlyx@O9ceV0o#>*#=Ua6B;$Hb6-vZa-#42ZRelvdm+< z(pCpPI$C)>-kJfP4-X!nv?)wUZknH2t}4LVO|RQftD|Kds@=u%@R4+}G1MApHB*_} ziQo>f63nT5fK4g3`$#Qnwcob|!tgUOVO})wp!gjk?Xg|50FLBSgqYj3fH7|&GX-Mb zuBas=UZhPUEIaMZ8!$t!wO1Mfv`Uv)^xx9SzpwfKirxr+&rByT8?nl!x$c{$#Bw^@Z;&`70VKaAM6o8}ae=+^RP`aNI` z6uUrm!gjW{N9QP2>2ci|d{aL~kC510pV{HDkeA_%qy7>TR=_5V{-Gk&l})%p(PWrF zlUOiTWyt}Ne`K{%g8bkzMzng5?cDRuZK$HJ$$s>A9HTQUK_IfnCn&LS#ZwYW?T=jf ze3{;2WRQpE2Nqh5DDs zc{5nw21gbXc)L{I6-!QQBd@8MH-nniz4K}FHW#W9b>BqaFL+qG;)&jNABVL+$~zmw zK_qMob7MpIDoLQOKB+7m5N%RUr=>0N!pp6~TNwThz1z zL>PR5vk`R>!(1O&iq~l`S7Af+k|`Z(K9l%Ye<(sLtae860JcoABu{2%r>j>~%>mLb z7#Og=u{8MxyIQ7jgJIo_j_aUYR9cos3^Sh_!7t4p_`lXw%f79J>&idCvUOlOyL5rr zI%k9BaiuawtLstKS7zW~q~B)q<$Cr6OG(nzNE-HtZR~@}%hXEEh@n~60Pu(K zoCr6l8mN z_$3t)p;l|1eraQTJ}4dtAe>_n1+L^!6brqpuyq1#ZW-pUFj#G&>077hu zYH`d21AucETYF=V%$~76-MmR7cSf~0*nV{wBwOnEh*TE55Cm)Saj*psMcMF?BHNSVe=Y+q>@lr2Q#Z1)Fyjyma%lmYC7;L%H zXus(-{(Kd!MD;(86M*Lr;7N1ZU)KOngOiU?Aaa13t}$MMk$xOtPc|ue;IjBwR3Tq*MdSbbJ*bWjRr6V(u`(y0SqV>dL z{#+Z6CqOAG2Pj1!ddq+>y8l1F=;j#DvOjIv#HlU~}>WN#R|^#MD$$R*)?dro$VK`x&29i z>=lyCij2`6-_b&AyrP*ku#^}cZ5-z#_^?OJ>mEqQo+<`dg9{05d=UZ(?i=uGKqHx|SZD z##n_=uc&tsO$1ig%wE{v*A8&X%^t$!tay7s(8 zXCgGq)gJ(oP6YAi7VD)Z7MZW`6|CZ2;6fTJ%u;LnflOW|}@UK)BPWuyfjROj|y@qI#A=t9hYjv@ph>?}6N^Xcd#^3`*g z?w2~Z8t2+ytJ(TJgGvfc7mdYm ziKF(jD3jIX_2Y7|7aHfL;~8^ifNQ@Ush#+nV2Cubha&%FEog_LG5PRoZ)p4+kvvO` zYBJxOoXmp8h#z?e|9L#X2nJG^ic2pPm$h>;GSP-H+TtKk6$cGtqPQGMV)W>|$mIku zWS+u$p9Zja9urG?DT!F=Np1q6JuQZSIi6{8+r+>8BA7Vs8(dP1ZL)e@C&;3sFq02t z6Ct`;kJiO=B(ETG3f%+N-AH?*60C>Z|G1S%Oo=kt{Eut|5YlEK$9M-FZCn10J5ZKb z$00xmb(Fie-p!9Mf1VS?9+2-U)M7o0!0)B{v~$1MU{k2JTCst5tpr0ZjFQb{Jl?kL zn5S;4L#1#8)mh86YPIYKe?^+?Qg0E|kh%_&qx*Qfwd-`Qcuz@{lbAs#K}-;D=S|S| zh{~W-lesvdT0U0>vsf)DA1!aa@eMP-n$+1rYc_9}W8WmEc^z|1>73V?-fTy+Y9*=i zGbT7oLtM^)N_ok}+x6vPZn07X1$A#3H!ATHRvW<8{)YZV_&Ur2JiOuX^i%<54a{`Y>2p@FTFDX+I$m+Qn!oZg=^S}!%l z<{}nkE3O``AJ&JfjJFRKn^isN`mZdEY84%NQjS1pi@%CCcZiMj(5|AqkjZQGK8$5q zl5ta3lso)h=6>pvc5)LOqB_0#bJx((^%zaqHXHQV9$qP^vn$j)kJOU%EHPeS?IpX><%p_9SQAox=a_chorCIAgzrj+XPd}U4x~#E28p}PgnFqAFCh6#C0ns%$SdM z!nOYq0SJS9)2uu|x`Thp>~4KZoh=iuqg!FJ(a^~dbdG7a)`=PK{5YgjM~m}owbymz zm~AE3S|zZO6w4OwBTLKH?`4%5>`BSJLGrY%Q*Ze@zmebjt~ON!wwk#ALp{JfC4ZnA^=y;ZeAO$Bs6<>`F^U&yW;p!7{!C&NJFA-X-2I!gk_ccFwGd1w_7k5N&ToGaY zfx~VE4<>t`-V*>-xOHxRC~@I}IVYgJ_Op4S>ZRA;AZr!`c%swH`+q%gsopOh|0L=u z7ZdDrwh;0WmmXMLJdQ%A3g8Bmrle;o97a`@yZGg{J1@F_k|#JK%o0{~z8Xd%eOriU$JZMWp2nA6!0_8!sFwWT&GSW)g|vVQ zC%~l4sPuEPx7aB6RXs@ffNZZ!w=HG-XHq0p8iL6UY3Q?x3Thwm%Y&H_ zI723aoN`3e&|E|A|EEHxQ4aBD8Gn+AthemKVTgRfPb#QT=p*zaezZ634&Q( z@XdUFIDj4MzX4M8f<7ap6G)uF%l(Q-ys#UyaVh&!AbyGb&-f)Da-Lm?R3n2Si>uKX z1AaUCbJ;cUbQK7<<-~lXVShj`LyBhO`6P;zHTb<*xvtiQ(M(NyhOqDbEuM*yNF-KW z&q`h+0OuN4!)C)h%}azcaw7ZdUyKH8#+_clPJ)O3kmLpG>_FRlQ-bg67!(y%QQPxQ zL0&i!8DqYbe%gZqj)Ai|{!Ofn4@w}rEo^>>(>onw2ZC3{5Bj5Y zD^9ykBZ8UV%iG%J)lU*tjnb#O92cMk1VMRn_VQ^ClthUc83LxQB!+;mPxlLl8ZPhSU{-K*zj^s<@+{kHOBg6I`S&1GS_#~)q#(uesl6y+N(ZF?*XmT~NLqM)@AJ#=2$Em19H)|bw z3K2xJ5s~!01;^x%ip2+(!!E1hJM2RjGbL+{a0+|mJFy#*E?lS=j+YxUS&gL>TU<{I z*exdKWLYjRh|-x|PnMj%=c*ORq^CUIUntJ*MgwMxB~VSV^b|EffX>zCr;|GT+GuA$ z-3L7PY+9q4(WKad%klK8xB4@S1Pc?uJIsardTuLG%56rr3r%6V2CPh5!2kc8V^6n2 zR?3s5@DLERXMbiB>$V>ud+2#VU;Yi4HeA1`v$$a8zt$f4Fz*RESPI1%F1A^22L80X zs5+_5zm~R0!MosdypKYuT(-E*UuZG+3@NFkCGU*}Yb~arn&T6e6>SngCnHX*mcLk1 zdTt!aCM>TvGzbf(>%NUcz-P>C(oV&8ylb=-NN8gR*R|>W<-7g*+kl1irU-NE5_Izb z__W0l+xEUt?l}XM9v;{G^0YDeS*vId68n?+Z&FS7AlZK%g916h1${=Li?TBlmzgHWFMTRYMcf6R{rY=5LwgSld9XCf!jqBs6!+t2c61Aaa9{jt;tB!8^;2qDX z{=Mk)$Lr@`1_4n1es2Q9ev8R)vGHI_vfRyclfjtnYP_!na$hw^pWf#Qf18e<(K%-aG`+sY`^=M`UTcB*G{iT`hL;@`&LVEPyLBpB$!!Vq4(JxWAS+<7Mw zwZ)?I;tAiU*YA!f>azP|Dfj7p>PZ}fNt~tf>S2zpX|~XKcPqk!XjmTx-fm|uQ_V;G zkv}L<`Mzqr4{tD1VX^gbIf+%qqS<(aUIsz(_xhqbUPteoPbIzDe2}BFfpZ7(pXZJ? z@`qjQ1}V>PVkc1>&xEBCqa@sRnc1*Sm0LI7s!kjer1+9{v`WhGTM74uqAPQPe_>lZ zRM`mDKhSOMothP~OAdtX@alAGHXR*Lmx)_6^IH<|c<=DF!FCKa8$I;aesW5-;VVbT zV84FX=|XxFTf&|xvx|BQ{Crb4E4mAu)ZE#;ZtJj=Ch5=;;v#Ny-$R!Cp0RYpHDGY0q#`TUFZEVAzq=n zBJLY#OUkR9bdDW!v#6!{nu)9{CKU(jjo|M|b3ZAkAF8bj=N}C!>ht*;Oz<3~ERa2N zZ>R)iwR6?I;SZ7Q=1XP;ip3N^i##t(7>69~lAWf7&P#_myvAtdA0ig}PZ4AD5jLs-iN&lvPM)So#58}%%xxCTF z#qF1CGq^wz54^EL{`NQxOWE_f_Rcn@I4kwvmX z_rFieIrfJ>0Tyt-2h|2;agTD&43M2u*7um;AG&L7Ww(wUQ=nLPiu5`SB+jH`S>b5 zJf4`xDN8s2smc|bJVj$LhDubMWhdQrMcNEBq&r2OUHn6osL2o6X&AI@)g6dxvBbUW zac~K(myM?r7c9SxRxXs02f6_A7H!^8NnRf>M)J6x7+?8@Y*76kkp5R0$Y@H+YI3$M zI+d7F?aQaeXNS7=hWN`V$A8}E9-(xd?H3v;$bO5=#Bc_}^_woTz;O{B+8{AXUaB;8Y++@0W)9c;Yc~vHQig2U7cRpsP+2I}Zb;HvO zZ3nzg)J^Iln|0bvB{Yn*N z75DUgrL-Qj#@kru^Bm#PFj2rf_XKA`8if}CqLtyL-bfP) zxCNLT_67oUrddYd%2e^s@RR!Qd)dDrxJBy!1A>eCFAyAC&NGlI<3|&08r;y4oqu8A z90J=WGS^-`hCJa8vRJ%0&yWr-uF z)lNOSD#0(X=G3txm?QYO#ZnyQWJ>3(-VyV80F>zg!pSOt5X(XWL_t~70bB23gY_ndq;XdoZ2D_MwsCs=YzQEU#8A%W0`4>7kJdzUMyw;=|&E^4%83f2e&-= z*JAG%eQ%IYGtKY7l+VDKpxLy*inF_mfay&+xnzo8q!)T+L`LUG6whC1V41{14Tym_E3N9^|syiN|3^p zqa2F794}Zg-v=~_I*JYD*G67r?wn5kVu@$+Nld0`ZwFgzD+s>*HWbOgc%BlgeDcIE z+Ysj#d@b^h=k8E>0eWf2na*~D=L^*tQm+0sFg-DmxEGmzi0?@41cmxPIBo6ztTm#x z#fntkO3sMesTVSq5g?7p9}}Xj*?Nt?`HcW*%H`VLg{233^-U>_5^xk#NmkHxMlZP7 z-R&un`pRYc>_q8LnGFcFL@6(XVo)RUcVIVsnXNMF|7g3?N==8m08QV(H8OkxPz4BT z*939t6~Y}*j=jG|#NmuK)2B@@A*bOFxFL8+w)1VX`nEn6_)jw(R%@31UVW6In*6$v z4*0B?dSdUhoQhR`rX!ecbj|`oGYM9t zM2rmL5Q~QmM~-cSN8;Z+V(qs(gx{tcqi=P-05bB<`#{vgMu3egr)db~_qlHj!46>| ziy+|0!PE1Kw%Iw{0TwQ(&v7R{h?jHulhl{8VV(W4UWY#u2#h*u?V?1VDoef*`0kr3 zkP43=H}6hLq+~%me(!%QDCHqQCeuC5dxiHV1Ip9K%^csS0*ZHkxSQM0=7;qH@@Z+>c3skz<4a+^i9zm< zx6+ZkcnfEk0K#%oL*^#<<`Pp78d6t_6h4zo+@nVwIZYFjxi>LhK@y9`StYx?m|*`i zJjmt4BnfOI=wGxk^riww_g?=Xi+@PoS;*S5$a(tbAsU7)^A~rXi{ua6xN0X$FRt7B zXnI(F}Q$mzkz4xr{A3#98r~L z96bViJj4N+n9In@8c$BQ*Zl4b?1EXx zE6=|YtrSHRuxfCH3#)PP`diC$$1H9VO^hlE{XP)5rxYc-NPX&>q(X_lB0DCSE*vru z0fO_|vp=N+50k>pHf_hzMbIf)XG+|B2i^%`Sp7bXL~FgdP9=r+e|-ud_uedJxi2kd zH`-?v@sJm=s#u`nSr;0%whGzkL3 zl@x64v|xR>68u-T!=q;AO&qy3K?57b-tnC8_YhAU?G0cvAP)CS zu(9`3g_CcYgI z6OGH5Qe8X;49}C_pCf3;yZXGZHVJF>Y1qV37qY3HI=>sWMb`mRSSbMUyDW#)=f;mt z{g+gsV&?hs3yWLt-IVCRpTDZ^L zduGdWB)kHX1>HLYL(P7^dd)jr$)i208t+De=aD6@MlT&ar{|I<11CCLd;+!%9C;>= zXdi{g1KK(N)9dbE?wPrp*(1W6ZuF&5(RX|wLyo%{`y?N6N^XWr@hkwk_dMSp z)XZxYT~uzHs@BY6iVvr(zJCF~SEJsmt3~$MTl@+Cy;N&z;E`*>EqwY;@~rgyx9URG zZXSqQ&r&l+Q^39upHrYi;mNx%st{w;YP?JId9@Pz_L{kz>(;1sPKx`Wd(so4WUqUH z788~q8fHH?Q{L$n<$-2861|xA`E`d)-hNo(WCgFw#8>LWwfh!^3kKDnlxuPHE=YBI z%d2To#DpAKq4_dDA_4}ar|_6^rQfvY8xe8HTs@)6jSQz!B5_n`#J=7h!vAxM2GnHJ}YPOm(9540%AVJ%9d)~w5QlbWZ?$OSef%@YO1xovP@ps?l_Si9eUo&7v z@vNL)o<5r>k#p(Ij1;!uJ+odInixHDYVKF$=|^mRWnUuJisK&Fcm1ag4V1%}1lG=l`1pQ0ApGq)8n&M?Iy({XjEn>)qfu0u^vlwn4D|MQZ3m z>X-p-fb~>1dktxWF}$ zH*ho850+(ae+;_?QLO5&%mT7E2kjRfBR(|@amSJHdFuG%@&F`vRkNqv0f#Wq3g$dk zzrTh8wC*ru79%>^9&GpEH+Y0eQvIdNE71IaxZj47VD`Ho0=I)9d!6~j5`eonjy?b~ zR=L+JzL5#u4QZ6?)Ulo=45 z)C_M}9l3nH_{PCyov*3L{_-333lpowHlu#Dl737wUqgzIlj4eL+|fc&VbUIFP#`g{ z7#Rk;5aaZ7j69+HfKIf&>Qo>!5fsss(EBo;tq zn8Xuc<&>!yxXa6&wc+uM*EO>kM!edZoc$9*Y84HeRP1wExk5y7@_AUJH|i!eJhV#H zV6vv2z%!B}#kfBU6sO!{LH@@JD5~+l(9QwYiCTG|iT($)GpTXj4fuz1^q`fNOL~?L zkvvdFmiqDZc%Rm2VXHc5LzRTvA(Yd8Nc*Vr9yFx{{?%n}U{A2dV|RB5TXov%K^aP7 zWatQ2e2BD}cuB2!?*eD3|9{3r2HW4ZI;ksg^_Haf<(3MNu9yw=Wr zZ(+iAKT5aWmv5rB(d@rXtR`p0q(enzAim1Xr!3UB24&o@T4_VDJQx}|(*Y&SCp^xj&JPu zBjd_$B1E=YhH;2QJ4t)0{9nH5gWKv@9o|L^s*xp;b5y0Hao778BCWgA#Qs8a6qEQx zT5N+AtG{YH-Hzioq+*oH*9E6#ZnTv^otKKW8dSHV8{z*NV~R zbGPIhVbsKtIA&RVE&HDd*#~#u#4!OJ`!hd-;~j>3ylhd!k7QT-}@aRJQvgA1?HG01;a3*(Eml*dq6d{c3Z>eD2O0MK|rO6QUnB) zDqTdH2q*{$p@?+p9RdUa0THAZ>Agsm8d?&O-a{_|LT>?r5C{PR|MuK_&Ux?m-uI0A zkCDNM+hN?BJkPV%nsctX+G>Xx)*s(`N-p2HdVzW9<-Ztq|1Y@nk>H(q1!Q%YYucqB zmstb5$vmV_pMZSZJ9tf4w(iWy3MC$?ki+_d;W^41(!Q>4!)&s~4a_DZdY2BV&7tke z3;@Cm+YWF1<)*!J5Lelpf21nMK4HqQ1@(KuILvbF<<~5>aRmmbWd4U2I$+crBdxgW zA^c-p$}{;8W?5ub-(EsqH=FV*kCH_wZ{>fuX|oH5h%qO1MJ_N@a7}vHI&iuHJ>VB6 zZe5VGpHiwoh)W-Fml8l?yWDBy$vk9ITB%$F|HFZck3ZePEIFz+nRBdh1je>eex%6w zB2V5Soc`&j?8CI2Q1S!HHv`~|-(UQ^uBiBegt{+`gW}`+toMPJpM?a^Vu>Yd2ctOL zmVoVrLlaM#gU#UL9rOS-Y-CU`#W2T=c>W%d&P9ezZxlsGdTdLZ(BA%?_K5#74q5hA z8SzjF@j@Ye@Jj*PSN&t}O^}rPCa%e@nz>q1hvV^u|NZr?pF~8yBJ@)K&_&S9akp#q zw(Wzshjj|=Nc3V>kc{NvS^!PTMk(GM9zk~V%=eqVLg~~{u41Q{9L~AwN)=;jTL%QI z`35{fkg=*}K$S9+M`I`@?Mx_e_(y%X|NmSnd z@ydEi+tm%Ym)FbuD5EoYQU|l%-g(ZSvHn@B_DhRn_89p>m+M0oa7}C-#A(czGk_)G zdnqZp%bn(2s_5v0Cb_T277${tVXh4U5ybjmu-yxYVY_ezPj@-^`2O zbsARX?q+gqzBYG(l#VPjzvzqA818vTJuuj2?-1p9Zn^e7?7#2mzwYZ_f6hZWqE(Qo zWv;860io|nIhUpso~V6kos{#1r5FmcTw1lQLMtfk`(04qrGSZc9lfRI*U0SNk-0%0 zm|G!c^NNk-gig`yL5E`JhCOSzcxHVi_R19gz@j>ty4(HIciNpdL0czB&Tuwgr}&W| z&`cmL6M6J+f4m-t-MKouI4&^f@Xd}HS5PbaR^84y3?;1IN$%L;1hphUTGBzj&2pgT zP@6LRUANEa*2Gc1rH_C9djIt?{_VX7 zv9qqTd_ZBGt+4YY6Ssz1G7k?+73@dTP7YI&lWv`TfFmlP91^LWKyUV&{ev4P&ff?g zOlIlUPgvd#^>soOuu;O@yL_J+?Z1$bgUb%GcWhr=hXM`hmG#*XcYpu2Y=6B1%hj~8 zU`6%QT1@l7v&jCPir;VcLz5}}rX?AEGpivCz$p=di@rX%W&Qy$no%faD*Ck*w_{bN z9hsce{eh?h_f;#I)v)8LK-Q0yG5_^t{ze}E=)#nQ1lTMdjADqOZLHa<{&AIa%_SE8 zVQl~HlZ#k$N<%F-DZ=qXm7+WU+ui@aPZ+?G_+C$*1~g;vmZh953~cSiY#l0B*Cvfw z^3AILV$D{Y%mQBi1bi_dN4Qws+}r+0Rw@sXRN))#%_(LPJc{&dj7H3|kL-r(E9JiS z+rXyo3pg;>>i=N%<=+@sRd75kvfDobbFJTWKK$$S;QaKszTMu-laV4aNUq9IqHv$e zrj0@bJeOf|FXTzL0Xp|d%>Qluy#n0E!PN(+;u`^>{$~NbRe3TdG&lJ*tjK-7rEZ-l zFGbTa)V6k}l$o00knGg`Z`n^=742^@PTLI!GTX=0vpRdYz-1iZMYC)Q9Sh=2%JwRa zttpAop*N1qhe6GmrB;%N!EuShc?RhBZlyoZzZbEWN$7Ebe05AsM;Mw?(i4umxpNN8 zbXz695)yH$0kv<~_G?o|^Pq9Dt;iugg3J0<3gBWUQo=bd4d7O6=pH9_3 zu1j6}-7y?gk`-FAAGdevoJPr#QA!|lvxWp_OkGslrC_;r8qE|^dB9t+;m5LEB>_&{t8TTv$?K=8CUWzwdVl_d ze_Uph*T^~Q>eF-AA}PSu5EoX~TZ@l{VS=gsV70DlRydqWi1l5LI1Jso+PR4&=u>u# z-yg6WZ{0x&5mIIIJ2^;2K^)pqlk3bcO*p>!XB0m)djqXxyO=H)Vj^!= zoh?|RY^#gZrm*|hHKyUAu^0&qc@#2%6o+ySbDnBPNOnzt9ug7u;i+k&?GL>RZ_EjC z$>eIiTh^$8;OR<>bk+E|=k!1da5_6b&J@caDuVWzkd*+kxyz87Jv$0y! z(WjMlNG{%RW*Pq8uX1V`9|cb5Y8dE&u7VFN?+h?Tf4=Z?kg_ zCo{8F0SDPBzY49KI-SFfgJ?59FW9;~aohhw?Xmok0J)JnC3!Z9r)t(RvCsH%Y8bDc zCaLIhT|8{#^mWta@DKf`&qL?lmMSyTuH2u)4b4Rz&|&67TUQ^-9UZxTu><>4$5o47 zA_rHP0{zik>-0&?OMivcv-=kkvl!=MHo{26t>#K*%NpWF1DG)Ux}R8;CSN&v0`uI6 z?Zunq?{HL zOUZ76)f%f=B}JH01lU2#uH?yNss}uHLx7Uc{Cs3QkEjU&dD41wO&Fah3 zcuoHGkk4oXfRudxc$#IV7cQEiLT-r{~%F z_(yV{=GyMTy5dOMdO#-!}`96M+wnyFN5;>zW$%S$HZ- z91VmE=Wx&q%fF)YJ!g_CSC=2D_nX+&np*ei2Y7bd_)=!$3D6L+q=SIM^OUsKMFsSW z2mYE1ZEqsr1zQ%duZ z+|D2|f7!{hmPpI9=zcUSGMUP3A8*l?)nfTjOo?snir?gE){C2Wk05nl4(dLlJD)GS zS`9Ln2oG&ph0aaLhxn&aNvbsqH(@a-pwqv&^9GQIG_;p#z4`kAUy}Tw0N1}m`7q?L z?p)%#K0jYuB zDq@1kRt}H6X#e9X_1h2YZ^dHJC#Em`C!kYKTAz+3)KaFjy}G?1rQWZxsOK8fv9VL7 zo{1vWg_9Z+(0wb-KVsT0=JIpI4zK=kM~Rk0(yifzx~9CWds06aU z-HoPJbzi?CHOkq~UEF%3Ka&qhB3Vt4JTeH1@O@}vC5D5~;cIW;tl|8~w&oPq2p)9{ zz?xs;X(uwZg79YR1jw<{1Q(xUPmUzzehO}01f>b$7_6$=6SbM>aMv&Vof>!FnWx2V z?eq!ANQ(LO@Ec|It>5Y>%F-a{HzwG6g|9MQ^!dcIl(!M$rf%*)3B@0nX(aRhaasl} z(gCAP1D?yCecatg477yyK=5+Lr{tn8t;6km2WB)4j!Y?OPQ|b6M|Sl3JKy}%5j&|* z4kVN`u(~Pm@}?>M&m3}ay|479uuKP+LR83HlBsfeQv260!;3fu8s)elki$)Lrc@Sq z9ksdbYN+$5cyaX?r|cKmfrv-Ax-aOHvzKfU+vZ5nleB)@vvs1S2ac=NL1T{69WQ*T~5%e>2CArplNd6A{v5L2)xVf7j?m_E6=fCmvenPmBiUuh6n9bH2xe+Vh--CNtr|PmV&Q2&Cn*xb7Zx)ucG+| zCi%pUht3D$N!1|Eas>`2;_?{X9?Pn5@ ze$2ZZ@BEX`f9f7oPNKamvoO-BS5N-jEABqb)$v7Btcc@l#Y0Ds-a9=(w(^_w<$k+& zr<%RPi+|6aKalb);_h^}Wlaw>14;>!03G3io;0$Z9~H4Rk4}8Qy3e;rT~Adnfy9!B zvT+bn51QDBD%PVI5*z>4GQ{RB$nlmLVLfeR#tM}YuPuZ>8Rd%PC`qMi_U_o(nxbXQE*{N$^1Z;%3`Tt@+uu0{$-y1T8;evTDQ5l z2_jVR)@pU$<3g3@Ny8f{6^@!Q4^`#)!NaSLbg0SIU1F}-(UD|a8Gh}73Hs7h$M{K@ z$H$f%R35+)F|u^3*7`EF|E2DV46bDrqXFtm`phKGARKG@SI)$-yLR;(zXP$UYhG5! zxi{h6kvq4It3I|rv3O4@W4(bg%|eOFTi-`p%sm~W+7ZgNCid9^FAZJsak z)edoyI(oG~g;erHP+-A z-Mq-w$eL#CIb2lpk{k<1m#E_l9WLo1K95M*Bm}#*)%m&|@wg_zKcmTU9lv`evp2f1 zaO06mN2|J+)=#YtkJ*$2iIw2EJh0BGxX_(&xXInnG?`&jj^ObfxC?9 zqs9Xmlx|N#Ez0jHNtwl7^!t6G!Cg?MXDaif``CsWFo-LP{;fOn!Gz^GTIfj7Ti z!(io@AHMw{z5D%Q;9wy+9oOmE6_;R<3u>L8V{G&eJu_{$%VDaw@G_kJRz7<7Aw+tD z!)Uk`T*Ju5`=^CgwtTLMdyjxTb_TJ@tRF}M3kl{}SKoC1P_v|g;~qe1_5}5GB%X$JN)-gLECHje*-t88rnYmjdWE>Q2ztGz@54sfQ&$6t z#=idk8qUve%Gb#8cb=Xnmmm@RI~ai652S`$hDR=tr8|aF_fMGFX)gMj>{rTeu62Ir zmJFc=&D4#Pz$UI5&UBE#7Guqr|6I4d7v0s}mkm}b84J@0%$ zsjjDP2Rb4ez*_p_*2vg6$!bbK^Y=~oPxT|~o#Le`iW7Reag3S?p-O$xQkn8D=_r zITBRwR_i9UW?^;3g!#c!P>RWq9J=(O+Cm*T+i<*DVkQkS8JlkjviSbKgj1?1ZP&3Bo#b9H{P?N{?dD0`< z%7LuVdQ$bjg8;4KZHsVJTY@t7es<(YdytT(Tn~Pf!ZyV`n54XqwL7)-1InWslA&AT zLs*G1_-bD*;xO}+TKZeHv653F;Jz6Rj789fM$O*qPZ5ucG*BJ1+j%>ywt2vP&>lCy zB=U0ZY#o#oFSfiV;PPXEpCZk=`8dO8>1n5b=6LN&ep93eIaonNo<_XAC`(*c;TN`~ zo(%h8WRH+7s|}okEEp7Jc^2v-TXmc0`Qj7&i6%k;0!R9`iqcS`{Z$vYBrdHwyBDM2 zh1jv-gPEkD^G`}>CaB@Cs)6W;ec(Y^jmv>jvh13&_ukl4N>Qz%PK(bP0TmS;xvd>{ z4RmmWE44O|RpT4pw5g}XN8BmAy)25~6}7D^EbUM6m4x?I>20QQM&=0cAvAEp2w`%E4haIOFD`$8TolCYOg%#xx2&^KCKmF;MJE7t>gERD~; z3;Tag2Lj~MA9Dc8SF`EOsw;!#<(+S$>+B4S-hs} z^Lu@A@1i~jS7lks56!(@TwLu^@Slli7RR-&?s0pi$_X1Usl;dnoqN}>sNEf_hh0lHhN0}e22%x`L|s_C{|?kaV`jN zULK`(nc84Ui+JYEHgGi84R{f$O+zVThccK&)f~LH=wyH{>y@I}6*>O6msf==qacc1}`RmSL+O#NNS7)o{{k^ddpqb6)E)iyT z6PhVuXSi5*L<3*mpoL@Cc-b-J1)|!gHU=}G#&!9}puKaGJ{=C{a6XRkOw^8auvzf; zLfGtE65b6#tDH7yhKn@pr(pVYv%u(3m(z##0F^4_I47;&>{U5htfS^J>#p~;f}TaV z7HBcH9=0jxa##$#{VU^{syW4bH9XlS|(oQCm){k10dU;YRAYGmZe z$&1nR?=WcZwRD$R_X%5CtDE|O#Nydy-=27$I5G5et*u41OJ{>l=?%n~aNV||BD~6? z_Ze^#+N%d-fRZeM)ZiK&*{a=i&DR>csVbF;?ZN81y=V*rRJ-B{DeS&FlFv6BCB4#U z*&+>F_We4OlMv6Vr%}g?{gu>oWa_HqTQ)tb9k<8fC(g_TzYH*ZHWJ42O?^9(>K?~C z1uLoN`_6(%FO?-rDeu)Shnz<|vLbeUN8Hgd*k;ei`Dy1BWGa-nmuFgOB<&sC>JsqT z;k4k@(coC$V1OQ*!q@tP^^mD~^tkctz&QcYypwYPUcG%Yp~fPtFJ9A%l>Rkh1IN_M?u!;g}OJQW6tnnMdFP#PLVcx(k(x8K6t zE)+#S?7#8yi=YOzON}_ok3PmKbPkwF*{AKP`weCH!+!WwA8R4r&sVN%SD93XV;v|> zNn8E~@mwyGfM&QHcYg3qG|9+iQ??I^2zJ!YDgImz?ZBtnl~e(ri8rjyv&iWG^ZY6ULG{o-^$?t%tF=B<77EnUoeL88FD1Ip~ z>wVaU)cx|!dgGSFQ|M;gDe~RZ>ogIQV#-4ccyB z?%-UqKjRU`wa#+T$-T}`bPk@8@%`XS-1e+ejB7R=A(<4?&(GIyJsv)fk8@*M2#kx+ z5_rc%hW0;)Q8GVz5kkc#01{accx{4a?K${j7L_1{ZB{d=eYWPZnrzhr*vz($?VhA! zAqzjlFV~KIIL!1v)BiP$CsKVf4s(#McmP$^-b-Cam49f?@D>o4h50j4KuFJrJlmk$?O^t!73x!ZW$yz@JKs^iivj{ z7(+8CcRn-9L%br`JU`%?!Nu4Zu4(AcqF&SHfk-k2+k847kaVKQUCIhHhSxB8Rg1_j z#9t6}pIQ#v(?18eAFIO7(4Iwc;{?uJlbF-yvg5N6ij-SMbuRQaGx+OMuyZ+~fm)mP zD50g}->Xhr@i@Qtc(&rm#NolvKZ=Fn;~v|5tr1I`pWdnB-IGLA{lQNMs?-is;=myM z{@8TQm9gXxgmdp#43vIP#BAOcl?m!wF%$_YG(kV#eOH2TXjIUzE#W05>iiy~b=M}t#3XYA| zY*xbQ=+p==Tdv&BV=-vAhsJuDe#Gap!8~yvJFMoG)Fk<1E7`jDpZ(4s-Gr=$zmDsl z=on9>=_m-Q;6&*&cUah*MS+m5iaBpevkE1P~Fq4^Qbv}W+1dZQ< zDXZV~#y@oU6j#p7mpNd_<(*%ZXOa6(Xs2>1?JSL{qqi-J(RNP`RYivadq@2vFNp-nD1xSPU511)BGIYbe&Jk^F+4m)8b+3(1Qw8u>eg#f4qoE4u^n~|*N9Ue-CI<%fbO4Vc)Y{FjqYJH zA%V+hd)3ohpMyjieAPdV80)NH#*>0fZf)~U6X@*5NMPbpbrWc4a~n2OX=5#{%zwW6 zuBg1`Hfc@p-H>iZDEfL^XQ|0ofw;FH%@HEGo8ke@)dx-N703n@7rD z!0W%i@py9K7$(NL*f(Sr$9fnn2v!@=9@?;{1dR^*mg4=cS{;8_U$l=bqBdzh`3av* z>K}AlR}b~-vL135+DNayIh%D^ur3SOa!w|78(GzsRR;yiH0c%i&H}towX*w}Av{X3 zlM`ba#RV`hGXI)||3(hx@r+CP-L(5QT$X~fpW)@x5P_MEx0G-Savs#lv5MF6I^8Un zE}eXem^~L&jnH&rKgfJ%!qp<5izk6!TQ~C2-sP{fQ%{6P4wR=HdcBAt{KEx&coesC{Bg%-Q=ASO`HVkbwZ@o8f7`E!%6CQUg&kmz>T z)O7Y->fh9h3DY#6Tx1{zo4gCm7+_RK`jEIv3oFt^Jl%X%Q3M#%Tqg*9Yv-rMJ#d6; z>`oI6a+E* zVg3S#ibb~~qtQL_S+}^+qL&Il3;JDPQ~|=_rcc=w_-cyn@;Jy*J^6CC-){AIskdr-SRejO$zVa3&e%j2#0{q%vRJCtK z!g=wl65ge`Tin3MSImQBaFe;6m5mnI3*7>G8j#Vl@+;GKCgdt|y6mTGV)UzPtMbpz z)=^S1MeBKQN+nNO@5=Yzs+&-1Z$p>x``Jc3XL1UYx@qT(%8Le$Ei@t17u@Z=;}-ow z53V6&eo5qJ4;|HfhbbPO~9@XzkG{NuTkf;8FKCAgog%Jni7@t%#d zuH4tjyyViOql*N~Nq_T|ny=I^dc&jVJ)NK3zeG3|rYvfRxqoxNv9EsT8H@FpdRdlU z?RyHa?P`C5r^X}QDxC1;upD&_2?Y-sq8(2mLIL4R2=;YGQB_%%bFD3`WeI!KZ+O^D zRs;9i*v`+po-jfIp5=yojC=bR(ER^W(g5fmKr4ScCX2BwE3`syJ9VeNO?o6ChG0OG z&bg923m$2mfOFM7Vrpfi0wbpCZ_D``x1|VzMN;qnBBgU3t5khi%tucA(llRLRjzM; z=qC$vv4+pNAx~`O9RUxF$HEfj;!Sc^HjMOb@==faQgb_Zj=!(DZ->wR;@P%dU-~b+ z{ue*=JyRZFL)RFfD1J&`31`cPy!%(4AAjn*G-FDj(&y|FP_-Q*Csqn_Uod;+KYq+7 zB5!qyS~6uMZQ@Gj7IMPgSVf+Z2ZR*oxUDd|K(P&yy*Q;CI0KD$$wX zc%vnQp2~8t8RT$`hgvKtp{jK9Ot5u(gOKj!lu(n)b=~dxi_$3@x(z#4<@;HkQF5Ae zCg0{NjZ%9p3f;fglxGJTLtTw^C0?UB*S$eA<)~=BAXdU_V`g!|%Scs+Gaqh=?JuJg z-eq9w1ohPYnd7nI)h+=Y9D|%C5uh(D+E|oT`rjSV%|mU_{2&3wQw%li!~Lm3cfN*= zALjI8Ak!}4!R}=q?E_xL5JPZf%{WIry2{Ayr{Z2$Yn1g9{X|_eP(mH)HfItpDfkMb zN+`8Y!!j&zT)+h0eAX;3iNKUMmEWE~ddv~lx*3HL(FN+M>mCiQTE)x#V{KdX)dY>2@1h`L(=nqpfePtzjBHFuZZx>WR5glF#OlpWK}LdDq)H*ZEE0 zhQKJ3C0T?3;=bP%qgSlW+jXd!8YmjlR09~jIE203aFPYu#TBoHo6t6^){v$KFX8XN zfIa||#QXZO4o9CwdeP||BNgzz{_)jJ@n=D1fxKzS1tw<$PYJm50Z#-bA4eS7uKgKn zRO0dJWF{1w&=4iJ>}y~XYZMOos_HS~2BVU@pWxE;DhYCu^98hz(@xAnjJ4rOZ}h{90$* zMjs>kv>I@Is``u9j=y(7LSiZm0~C&8p5hEMu?zJ4rm8bBm+HPR_6Bso8Xx<~>*_wQ z=6xN|Em2axR0^CoQH|>B%2g1ef#;ll%GKZ=$NCF~>a&vW`D#fQ-EI5KUBZf66T!sn z#>pSa6OnPA1^3-Cn&9FJ-{W>6LT5U*k=JcZl-z!}Fnnct|1gP;#*uydM0Tw>diyK= zrt#P_cWW9Omvl9xf=j*{*Q@-V$xDp=#2Y$oU0T;p4u(izuG)0Col$!i7Sg_e#JwfW zfmx`}m76Z!N#B)C82QI2z-#YFVQt4JwI%#xC9jYTd&`BH;yro>KOM`sZcZN`*y_ZR z8>|QxrV*jyEw9SJlnMPHrySA>nlm;^sh67*#WylqE9g7?j>2ZnPyJ^P(0=XbswG^X zM+%<0{|cI`8rZa@s03O6jl|V`+w1aLC{am8c=KKlp9|o*&gj$liJrITm3*WlJKTFY=C1$>Rwc*`&opLY>FN!|j)MvIkuCl!hVBUeq4J4I~?wGuH z3A|N0(B$pW%D9rF(5LNkIV-EHjrJdjd6PfJ`OCrzEP(N=ecLqEf~nFkWikHnlPqgU z$5d4(y_aA?U0DiFq8tN>t?(-gqDdg`_}?GPjvhLXlzBBScs9T}&Aw3ntnScpzZPOr)kihSMAjWlNEq4oAiVfeJQNF+ep z{AZT-&!pp z-{i&E5TVR6ed3#;+#{t~g;)QD&1VR(n_U!(2~B9u<-KrWCOW$zwK!fr3vV*g_o7~r zZo}Ay8sgTRMjI=ng4YyQc-eRGQpaxVOJ$Ymh|o1u!9qHG zdD)`FWkOBNURiNhjL_cn=PRq7vI*QK1g*UT4bQf1<(^4AV>fcbvWdcVjMu97q5*rw z8hiipVjQYBh7n%iIYJo5d|P$F%TarTH&TE#HPs$erb155gM>Y4X%C;-9H$@N$eeAe zH3a6c?B)RlC`)6z{e=>)LC!kIvD&R;wT9=2`x5eWq+~{Jk8faj*VBp5V#cw<*#R@I z7K~qO)xe9R4hHg$YUO8s1>7HNdlJS-;9m|Zck{S?RJS*c6IyreK5*ZId#x;%CGJsv;T^y7(?S5^(r?@v(09JaWPi8Xmplyj^YJ9UpUYQclmJ{e z^8wvu`7~4AJN|dAK0ZLhd%Fhm1khnx0MlCo%UqpHjhb|K5a$rWW=Vs~(ZcK%btIFt z*Eh-=58j|?aixKCL&}WNS)K)yOk%GVX>s3IzqL}wk<)S4;|T&|p4VQ@NbPmqU3m|% zS?|V*>FG_va90565MR;SuaMVL`I9^co9>o&Duh@2`l2GnjcFh8S{Eduzn3H^m*kH2 z;{#1p&_zJ4f2_w2<(ltn%Bil5+b?IW;e>OeS9#ZobRdznCVq#K+97llFQ?=L0le|lw+T>bb8Ia0{5uyjZ5 z$3@aO)6gweRU5~%0zI7@G%P6qFZ|`MWYU#gKcueK^XqLkInSKbihF`r zlGYiZYw$EDcgKwPH|8#-SSJPdiP<-amUB7Ex}>3gh%TfJZ;vnCEPE2-72|(^P00bdMx?`1}IC0Chf8n5SE4p75Nlo0~D6Uk-AV5no}XNA1Ta zdQHIdKu~B6&c3(ZE4V40a;b1e&0Doj{@|r^!Y;M%xUBH$l=eziV1~m;$-djrCm)?F zDo7uEUPje%iM~O)qb8KaVe@&*dXm0LmrvoHpAXaynO^}ofV1lh<$q$nI0GK%{9?Yw z)xq_h^wTHg-bezNCB&o4Qk>17c`R8DEK(X2(y7Z3`p|sD)UH31M)K%&c=$vAeV!UT z_x(|QmOeDY;PtrfLEOjixGTdgmL74rW~mdgKOcl_oq#BDt7I&+I0FphnSoZ`5f#18 z-{-Z;8|6FEx%9Z4vTv!dB7e6uT1RM+2V-JA-d&a_vRhxMD2_TK0|Eb-^Z)>T2T|}3Yy6XGG`*1+T7_^^JFbU z?TmlUEYyEhJ8jba9%eaihF8|Z&x^N*be~~PDkB`4PPe zAZ^uF<3WdLb!U3Cqe2d7v~z2{KScC7&6EM4*<{&$*o01HamCE(loLGE;MJ^RT?~u| z{3UfVIQcG&L&0141Nn+C^Edtib$1J|eN;oX)@7;0|1e71vA#7ILBGNgCk_dI6|N>( zpxMMyagGQ(kHaPrZ#MzL#k(T|eg`R{dmWfuolLiELSwg?-RuHC%ODv!& zu9ui)fDS%)|Jfu~#7md4PT!=P$=A^}Dwx!SZ}aw>E_j7hh(%uoAOqb(up;4Titg>& zN9{&_2T^$%6{l9&O}N>Cp{?Wu0ZqIUYVzRO9!~Rqb8aMN+Hi--$!SJpSPNP|TMC-V zaak%$avLRq$(0ArncY?Hwv9u(t{n}}`>O_jX`7H%kH`46i&j}+7&aQQb9+(38lPd2 zXe|OTQmW~x%&R&dEbR8pV*6AvA#FN5#XA&`2ekx}R$FA2fSwba=;=wHKyg?$YRw@3Zr zHR!IjG9br1`nB&8u6S+a#|#&0VgrMqEz1s)l&!n;G)<(BGq}U5^PcKA{Sm#Yh2(9cS4G2l7bQ^AJ3V{ zfi~f2OWVlhZ9W6P1=@!-@zdwj0>l0jZZ^S^Ro@L-oDk;_;rGc!k4Ds@E(txpxR$&) zS%N)Gx z{o}x%Lhc@j({3V>W?O8?g*AG(EGcuE)#V$H+cz_Z)j1!_OAg@`1UPwt1EiLZ$`AH7;6P0)DDa{I; zYXH_#mWjM02`#RMB6G*g0K~WM*Gxr^1Io0iyR*lS7WA;#Yk)Z7=tt@~x0&4Q<+CYYEO z9KO8Q#O5^N{8QC$dHtePa9z>+w#IOQMwMR%zf)G3u$35P))=5Tc{*EXGXo^$=~%z^ zI8MxXIX%aM#XI`3I!NoKn-AW+pMjigC(k?~0zSekxRF7mGrT0;b202I{q=p3)+)ex zZ*M6|uE(^oeH*1Xv&aCj$K^)a^9|Fgz<{bD0~kPo>+X%|6{TcON3T!R*l3r%Z+JQl zbzG~<(Kxv0B?3A1(j(Fs>lwKxWNpqmjvXIv^A-7iERbVOx|`0^elwHtXr`zH8~THm z#lK{quSdF<+cwbneBX&wK%#<31uY0(Ict74C%g5y8y(Ac5Gk#62q(@V*HRZWdrPIx zS32w~;PNSHz6RDo-z;V&y-%Wv9FDz~UyJE+jnepMpJW`qnU`{{10YR`TR6(<%G}~% zFN&=D$FmrXHj(FG%t6AFEcCt4M5>Pw~1QGN_$) zYj+-LjuGC->I|@~`piFWcTDB;sA3~W#y6+&Ll5hEK5o_4S*-2`A~Y&JwZd~SMC&>! zr5&xme7)IQwQsGD-T^|dC~-CuMz8!1RP!#NLbsDtn`~uG#Q^!bt#RV$qAzy8suo#{)@wIO>l$Ld}Z#5`o zO1M)Ti+LXk+F+K6Yn!qDx-}AI&5v{k`84`)$Jo>ne;(bC)MN*S)I> zZzgm(FBr%lG}+ur#nR%qq**hwCf4@E%{RB$j0_EcMATX8=qrx{F=eb5&_!?u1Ab6% z!cht}fvn@54y6^|^th{1`xyG+CEBuQA4ewk<<5|+E`teVh3ZY9sO&0twTzSAE9Bt9 zvjBP=#PFax&70T{rqVY^{sy0MC!DK#=%0pNtKm;!7Tay5z=%FUePXX5D);W|KfM5kA%ij&%Uv;A&q@Xf z+d%RYtIX!p=4_aoz#6pt5`C8kIzr)UVx0g}qGIaym07ErtL1>j4g=2mzwCp&e7a}x zGk1Rx+QUV|;ezmc0ydf~jcnsa9rUrl{CDNyTjl2q%B+c31nO^F!0YAD&xk7lCsgE7!xVNnyZ!8#urTmPx0F0OQw{9m={H+WU!~FHg73KqIuw zq5|OjuKTF6-5()=@el_m&bC_Gc?gMoDDYRz%=UVtZ$?)Yi zj&(w}TT$Kn0`z1k*_Kz|Z|Q^-Bb`dg$udPVJAwU5Rxs#FB|yh9rF2_fsp;0MW^A8O zoNDXl8Rp!tRD5{I_(|#M_SvL)+m{GdGJ_iNbiyLJ_Nzm`+bHdON684nQ+qh8=HP32 znx}sk56`X#q-~`w8@&$Uqj5MBLSHBV<)kb>ihur1wsrainLskj2>(lU7v^VNuMt$3 z!J$pVk%D)%kJ3^*tQwx)Q&*E0l_s*qvNm~ab2V*g@jtY6iFrX0{GqpEtK4V(?oC-q zebKD}zDAYIR)c!|momUmBIKT^#MWd`YFE(t)@FwnIUtvF#|Bvfc#S+gt^h*FUADPn zgs>)+0lLWg^y?zH>a25eN)8i_$nP`=$gx3}fi&KgTeY@l$|(V;L$GU-p^haW@PE$QpPLZT24TL1j$exS*=@FbG(@YU*dN&aZbUyTa6z}YvK>GoTP{r0`7iYF>IIVGpaC_kvQ3^UU@Kk z3#uB&Rpq>-lypz8+H%v!yzS#PmmZ$N+fP$OZMlGvnH5_w{9O4vwD6$xT^iYLS|X#9qkx^l9yCQyJJ<)=u?8 zFPCQY;PKrUp(8)Ovdo~S^mG3zwG-+peRLE0Gc$YdT>2J-MlFGlo9wff4zDPUZ0-X9 z-IqNcP?ecw`*RJHtBZx-vHq5HLTyb-30R0H%2YuG{I zpr_`(0!z|~2w~M#;+knfb>3{PxN1V8PyL|H>t3CbL@iFor9C!tt%_U@$5{hU(y{5C zjpCz(p{HB5DS49Ta#3C5?o7CS!AYf5a&T7HUzNhYmoSen{3O8-VeKqKthaxvWI4w7Pp_ZABtUQB;Gjyj_z+-g` zUJ5#vWHe=XNT^E!t|SFqq`)v8?&^{&^TE0ETK=sQR>tZ4;<9_rAF*Yfkx7Z_fg~+# zdiK#oO>g#Z8!5!|X?X#eGKKm^HKdQyFZ^kO-y!CdVdB_OR;geB(1-#xzwxhA&+pmV zHz+Nb<#sZ;I7+~@V4{_xIGs8jTzb zetYgoh~XS*!MEDYub`RLO@BA~w*$>*HYr)2`|T{PljtXtMParRvbg#_<8Ke zjo3rDV3@G9EwQi)RZOU zHGI>&`uc3(e0fCe8$ed*usTQh$~i>9v3oeY9O2AU?s=IdbTFDMf5(Jc^C?%8%|!wC zZm$L7^)R%B-xZZQE?8ojq0V?;>RlbYb!r`;Q4o~teKdPv!f^q=B1n@ZVuAm$%OWED!m(pd-U`D=6? zJ-hMC3Lx?Z8m&H$n9PFUa|o9yx+CWN?&qHbXO3VKKdy!s$M9NxPvDmzd1a zojA+=PGkZww~kn`V-lKOPc_E;cbNKxasBcH7??%0iWoULhJgwxb=3_Xw+l@M8MuV0 zxI=vrw?$-S8#FrTM=eea z1Wm;20=YC_iSrMKE(a1P9~`3KkF*`m2d_hAhZpw%ZC#!~Us#XsgL-I4d4*!1dCx~} z^CVt*QkWwG*i?f`fyTSle%ohe`LhmR$A%tgSEwoX;wp6O4|=VG;Zd0~51;P^`FW}% zQF-KGMg8*#)^7gy*G@pS2gmsD$cfIbwSC4esG7eMf^2@Q$e6_@mwt8N(V@y$gRffI zz1d)6>>SJ@MAzMRtT+L6hhc1&!q&u}SgU5}18Lh2@m(d?OH2+kx0g8Il zkw+(s?cpnI2JSRthwu}JO5M}mSZP0mm6cU5K%|K{^EVK=FYH3E#;)!(Vg#m&R0EET zDhwMwl}zG~mZF+!D?e`mbrri=CtN?z^)bEND@1Amc~C>jZ(#?O?%2=bGq)$&?H-2P zTMNRE-g?_CtED_*I!!hx)UYRn>ozr=!%xh2=Uar#yWZGT=*$*q(iFcr<_^U34$z}; z17jpJ=Dou`@2SkczyDpp`9VtB7aU(htPZjji=Ok8;Yigz;|MqQ($yVI#bm{gldKv| zV>#6|9<_7sw#Q6YL14ZINSUg2#NacCz*+9InBf&Zl`%1&ccjhoLTdp{7E>R@^N%x5 zR0^#`HYRNwY;~JRV5NYDl8}q_Jdm?J?ok0x7g6io6OTjTx=C#!IF4mD4PEu>WBYtJ^vVTIIeQe zbFMG+8vAO8U!*dbL;dfj6s<`;kl{?ns5pKu2e`=jJQGI5z3BaHCK8W7NaU~zfM@pq zo?6j485PtIMcu%Br|EZVxhHYB{f)5nT=jb7X)#R=w z7xJqDgqA1$Egdnk?ab6q*ca1fMF!K~5^=q`mfY;$JcyU{;qMYgOLc3JpS+U=ynz)Y zz%CFc6DO<32hZ+VdS--3aaaMw<=Q+T2F2F!iD=)@Wl@d-dNG>1=yW-M_`c&*l|_Am zU@Qh1-FAzkih*c&HQeh9|XPm-$W52n_s0x2h*G zhT?!}vu^ybut}o=ONu`m%Iw8X0sAy!UjUR}4D>Vo^bu%p_$Qj`P2t@v^wQyIcuKzV zu8CRrI)jQSEi>yuJ4-S3LE?P?snK^~gWndD0Y~@&jng9~K9g6YEcZ!rmnXN*Zbc9I zrgkF>%gla%pp=T;>fPnLHvm=EoLdCMc)w7gFn5nVu9NQnkGi*vifh}tc0(XY&_J-@ zAy{w-Zoz^(!6i5Z3l4=;2m}f4?iLc<-QC??3J+FzQG6@seEaOZ&-X>jz_ftA&x}d>cUHz-U!uRA2#R$-WN)aPUH1Lr#p56R!pM=d zrKdPS_?)96rF8d=uNw#Q<@0657N1y@-ro({GHP7Zn!2Ncf)d@imHWskg;%>rL9-oB z|J}@b?E?6&v2`Qo2x{ZC0%fAU2L|-|x?Y>eRaFX)pzwzTU#g_cXZ3E%uG*O#{MOm( z{)XZJPGu+LoJ38hQ1-m<8?fw}C<6mO!4kuFaj62RPRAE}a??xBT(YuxDwGTYi>3@rx+QQ$h z1obEj)BW%|gz)ei**pcmetyRfo6H3nCm8H#O3NHDMxha;Spc9$Hj5|v`qBv69 zJ4{%8XVS+DGvEA~}exr(`v-?^IS?4hb9BVS7p|L$9}Kq#`;+9K0w|8e(&b#*=CoMSfbf=q1o1#+RN$ij zNN~#5KX4qm)HJ`h=sC3C;{WslaH>VWftzq2Qghmx#em#@YfAcV;GWdf4NvniWsN8e zbWU-H$7FTJa6Np+8is^awqptXzl-8{+5NcIBv`jd8RP4i01n5V5m(B^SIJoD1)}gj zeDc0z!EMPmhJ&yN!F~Ar+{KWOYW?;vfr-6yz5n(=en#>Ue;mwgx3e1yXfMtC-Q7P} z29{o#&5ak;`U@TahSK${e38=bdUT+X$EC%+HCic4=`60K&o1+qVbJ zx9#Z*!9J1wKKAgM@AjNzUS2{y=6)+WsiC=ijW}|-oFY)y4_JLkUh?)rFsj8lgmu;hMM5?hW!r9_k&^zYApKvL(SKfS3zvS22Lp$NurWDdO82h6mG_rVHQ{Ed$$b83T! zQ22EpaU|PUI!yIK;a(6E87GJzIVJ$3xtZgQ!33R$U8(^0=@YX*pFsfh^V{*?UqMn) zB_L?Hp88m+DSKWa32bfYq)p*|TiVaZBn-uTa(?w(5u?XlvhteD(VLm>J2)4Ku;c$B z{-+)7xhfDbWYO>FzJxMQes{y+?E0Ok=Pj_q3tFD<_$|LUw1i;K!;TQr=7HMB@Eyhr z8v+v(s6)$G;4t>nIQB2c79ra9A=lnR&lSytrQ<8ziEMlhyva&&K)oueOPp5OWPSBmFN?p1+1A@W+5&S!kpJ_ z=H znE_atEo3-7za2Sy3xNNmZT)R^{I}&3INJoh+Fi%}{{wU5Kg<07xeNlRsoxw8q2s@B zG~WDwn4`gXdJy=5{@>TQKW@0cU2hAQ`Qy}uO8&xJamr6uf_e3w)jfY}<8ERwc>r;sTOEh;YHq>zI}%EdX5$T${z z{AZL#R^6gK2YBAI%wY)q&olCyo10PrTXw_WO86n^fPX1-0VTY6TTR`?@k_tEzAk3X zAM3Mexx;47Ji0#yNIbH43GQ2YuDVfi*u7TJTh@$v(~l#vSN+O z^1tj|IKaH1_G2(-unJ$uq-PIs$~x&`EtF{{mT%Qqt$bCIq3HkOzxH>X7mIL3o_wG#POwbnZf@yL`zF9I!l75&-t5#hD8vW8sdx#l~Q9_SRM75I7XN z`aEWBg;flt3+e7p|D?0X@V*=Yw>NbdN>YLkH0G~29T^M@N_E1WRPmCuu1ByS>KmR8V^kZ7y5}d-aRnTjdyHJw?jXF_U3opPR95Gf(tb$DjaOROrgO`1ZHi5>`%EVV$01N{&5c)F z0PH@jCx-u0P6B+b)I-u{xe8BpJr6Og_gTtJOh#2tlM@J6pm`;Dptz=s5J{Ii>||bt zYzzwFr8LV@gXUbR2y$X2(0H~ahvgWh_s;gk zZw~>~^LDRbJI!s?<(PHI?;(flb-c*S}Pp)=_>5jd2YjGg)wdsiRc0KnJjnL57*{Or z^HrMu62BUV$2@o?7xVlIyv5M}dK)|qZA@)>HTqzp-D;WDC^c9(tNi1*y7bV2VWd?t zieO|C%(?ThqoRG#K5P{=p?upjeGQbhZ@jd10vb&`&6XJ$Zk_FYAd&r3Np}o z8NRd-NBIG=AYG5k`JG(vJ68sCELY*j0I)m~h1~t^$qlzrhyM}evFF7;bI!Zwmt-~P zNJ5*MEnXhPB0ezJPJ1bVD8M-xTfI6Ile%BM#fm4)1cjb+WqsWLEC+P{YF{bgwO5?j z7r-}DGDx&X_vdJC0T`84Oc*ZJ#B_5J!X3%`N2_DO=YczuJBbv z-Jt`e44+pSa6^M;k4+dRhiQTM+*)ju9qg5{kXJ}z)2^k11sHC{xK&a4}XPo(*X zW4<2oc3fXIz0j=m)25y^Y!Rj2yS`Q~9LqH7d0)F<4Zfd4Os2n~08||$XCmg`e)T*% zw^!>4{$}*HyES4|K-?#ZhbJC4xE%V3-*#N`0 zuBtINWqCk5qik*rjmx<4li;D*`Ktw;z6cKycewYWM@!Vpt9s(&qS}aW` z9dA~FVK6%|eNx|bn$b?qyc*(EmA!F0TA1FOwH8|~;&U>+U~TpH*{&Gu_r6+UBF;cWyuKGZ%Bm zPw8^IA2<%sJsyf;UV)uXytVIhK(fP#{Br5Eh4*ZBp+CCf z_82YArb|l0XMecw1+V>XesiMStIe?JMb>e=;@RgqXg!tk=BDG$e}uGX1G<_rsL%mp zt%b^dy(W&G7${wBE#47P8#TPZf74%fV12q1k#VYty~2zhD01`zQeXP!V)cDjHLoTf z6z;=^ENK_>Ms$=WY3BR;+^bJfbou`YO4g>RL|M_zoF1E%RlC)+OH>2M>$Cuv9-4Pq z&duf9n5p%Y3V>-j`y1rx9OSlIXN5g)p9CH04fS~|TEV<~MN2)BU`xJRlw{MqH!i+& za9_T6zjCOOCX#TxIq1+2s_AA1da{&%>B&-kMrw|2lzEjzBfEWbOCR}0SK=9Q!>57} z_UqTLT5XRHMibe^TT;0Omz!oLiqBqf+0mzP+eF(F_)s5|k!9I^oh{bYOvr^e4LaYq zjE+!JBcKIK`*>~y(`}_Xjhw#Eg6$P#48ZTKxoDTl8FL$4_WNefAz!D@hRVy3nzO_+ zqV^kHHUPm3Q`ZHM8sXgk?&1Czyv!>gpbJD}F#?=4#na6XJ5)HdiF>0U>ged27;`kx zqUV$5&#TkXX#h5W1Wx2*&2>`*etPs$~e4pl|70iDUrMKPEglwnbg-07ZSZ~+iQ?wLN zrZfDdEi4Jf9-p@U5$_roJqF_@(P{wUu50SOyg$85vQqyj6bG*rjZo>tbsR zC(=@+dSo}k2O4OO0YOeQN8Ia1v$HpQCpk_^leXZ3dhkbJszp`kxx2p3@WFbW6=n71 zYRgG#h}4Gn4d^1*x!$H$f!!`79OhgTJ7Lb#ea%ICHX+}F?@f@@e}CKGlqux4eJh-G*O=GV4`v3s~Z^ri#F|X#m%&XZiE3n_9J4Zcx zSFqxpQtmpo5a^#?;kVbny}~sGfg;^4sDGM;0rMiD;dPsKZT#xXN*CGneTbE9k1?HT z6Kl}keIiZz_I#QkW$Fg~+OdQBotYC7t@nM}>}rF{&!+2%km!Vj()VZkgYAK&hqzD6 z;SJT+Tg5!R{g5Sv3FV(p$fok-K5abFZxuMDFMAb5row+z)jCi)DnysY@9JnHe7%Oq z2T3$Bh3-QAar81;yNeqQx*d+%to5_Q!S`Qjb^*ID=5hdQa;AmT66m0q6{jZBOv#OE%}t8&ZJO1-w`aJ;B+%aW@?Mx9dOpPyf_(D+pzOO*S&wB?BYfx5V9E52RqhZ$`@AtuEFp)aCjp zA498<>vAxo;*@0qD;Wk#j!$-tA3JbMax%@qAyoZW0Nv%cPrzUxo|*cmW~uA!SL?Qm zb^06`ZihwsyK|HDy~&4+=7UF(*;)%OZd<8-xzuztvd?2FvnB8m5JjJ>ci0nzW`3u? zRz~PDCA&PGwnn*^%8i9G{JpIf7aAl~(t(Q$QrKS8#J7o_%MnX}&TYIp}AXU6ra*<@0ze zzq!&PaiZe-PJ2&;LUrX<^emCGEF8@_rG>~Cez*+lbdNDou%Sz8<0*E~Ki}bz8eUL$ zIZKRQdu$RSIe#sY_nJ{ofL=9>)|N#$nVJ=u>lUrA{tp)l@T6T};%oBq+3#yj9- zE&gNa!H%l>g46h#5h~iNCdn_rr)zt@1Rs_(MSPuRDHQGOndm5q)2=RI_rP zyd77a9Deh7V=@6lXXIvWz5E+`i%;?x{Zk7+T>n$**V}(Y>3FR!g&I8)RT`-JED?wT z7AJl;(phSD=@)1oO2A$gJZBQzp1L~-+hAojHu4K%y{#cLL3KWPR_^^u!>fxH&JnLw zi;tqYzSq~~%E(fY7<$A#(X`^xHEL&Ouxld(AtckeMr&8Jndo526%^=EqHDRX#-Op| z@*`JPS3&wCg~Zp??``rM=~o!-w$DQ9Nu2EZPcYE59=qj+50}q*OPQoAP>S3{pSh#K zPql+6N4^9#aLSs8e9Oiu=N;=W-I^>qHEWQ}j9P%Y*)+&jK>EJYf!)JY`TWiCGR1EwjwRAxb zF)tRElUX?86u66iq0WUQ%|wi-3+CrH2qWlENJy`1#m66U+ph3KcmSe~V}K$=u0SO@ zmT>3w5Cl}LlG8v{GW}hJ`Yy$XCPW<>j$P-guzLXro|}5}hRnJgGEZfq6ioYD$xU0&j`) zMo*rWb50FbG*a58}iY~!&UQ?10uB^ ziGsBYM&$yF9#C#{>Ox-VOVZKy3aQs(sOG4 zehkq0&S(K$hSx+Sx>5$;Q44$y>~)RLp!(+Uf+rAHTAwMn-)WT1=OH*qTor?Icl*Pa zbUiSz@Dv~*B98&~jr7>Pl5dIHdK&~=`BV9VyG!m@RUTV}ReP-z=iLO7)ly-3Q?T^Y z0SK!|0oTKx$<(y)3t7I8Q?B}OQaEw3_m!bLbZ&APXTwnJo7*`f!%DB ztjMyse5%&*V+DKlgpmwB$s3YY$-E4YmFoF4hU(YJs*Uplnwc*;TPhXoz?*awV*wE> zI|m})9M8yq`t(WEp3;CA6 zxWkl}=&Tsu!6~l{|B43ML+@3+F|b#e`6fSOq79dITi~+`y-~NSx*jkeOVP^_1Ol*A z(b7B$SGKf`64PMTgbIzD1eK+`yYvl5wcAbLKo~j=$0Iv3t}jnT#?ob-J--=GG@cItmI7V_K7P3u#Z#VYI?(sD)B zVju$JC?@{5lz9WxTnKJ0gqV0F`Z5!S;Fm2L+4WY1K`gI zpj4@`(RQkdqL!MtzY0u{sN&pZ)~@ge+H+D;aA7er0b%(JtaTd|1cVy~M7);{NiadU z#mA}dQHkHh1F@jpWvuj#O2N9b!2*cL7^Y_vco3ZwVO##`LbYCQLsjsVuOAfF)?Rgd zvc4v=>i+KhmXiTLH&I@m&Fk)TM4e6Pmz>TZD-lvxid{o60gKLV2}S2t*|}cBv&Tzs zV^jH@0{T%cVtorvH|fTjulW7RBVi-ye1mu4IY7Cl3P1q%*4o8KNaE(z5~Xb1i)|22 zkD9Mmoo1!pRdt4{cptRWN(8V+F&-~^9-j&e0h|XAE$)h#=hY$C0d*%mc_6kEL4Dh; zp%m7K$CClFx1y6WYf&XA`!PXh4)U&wZV1)CYSE< zl`7=EZ&kTl71)EOsGo_y&DxI{B??)st<*gipb%la!y%ZycCcIm~g*)>JDZ(Je;D2xx2ZH-I#@>YHm z+H<(yENcZ@{y=gZCv|+n5njbF1#7*))piy2B0N+Oq2|Vn>DVH`NKKuuFFF%+GdQAu z{P)9hwW-!j$2x7FN&KSlAg#m1d=t*Mwmvb?^zPKyn>0q7 z^fgNChUJ-6J&$vE<6IZ^(R3pm=#1=Mt!lDc(J?Q(?C7^Qs_n4l=k8YI4G!I;y!j}W z#F4|4pE`aF^KApm_+gmPlc94A1MS_R!pLf@djhv*h1G|)yvIUcIKBf%XC56>8xpRM z&xIaf=d^b#Kou&D>VqZ9>UWyL>tKx9zYFNxbB#LdyKEmLHLv>Ig?*fb6sZkOuuJ^B zJQ8Y@S-|nn2=r`~^i0e}A=e!K#xo{9oTB>caDMj@-c(B}+gG2o*3W}N?^I^wiFZS0 z4f134%r6|DO3RN5o`)t?0NII16*CvJhD!9+PnTAAms3VKRq{Wyf2jgG)#B+;T?*ot zDlG($9jBB`dR1-KJD_9Y*edmo+w$`&rnQZL0$yBN?edm>o8SH9LrfM<5)2vZg#>H! z$>TJ$i4iilCDFdmyZEtM%*vUc8B{_i8pIP*(JGdJ*lkPb?)cPCP1Y~imk|eD1Z&vQ z@!}mXUvwQ@Y}$Cb?;OpQce--j4<&I1#(4=1AQ4CIvMFiM)_VcYV`qTwm2!ZieF0EY zrGSu0u6aU>kyIJLMURnG>lyJ2s@UolTB2U43W3#?sPMaA2R)lQ-%dcwi=e`Pt-gif zE2r?_D3m7XG4a6`YvE7 zYV3p672R$r1HCtiWZW%QW)r60E307r+ojE_g9Nn0XOe}L+iQ-s7JC>85eogL7e#SD zRTNoTb-z#F%g@A=TE04)&@p{2(IeK>N7EoA(=FiQLbt?c#8eErc*5^?%M@-mf}L%A zK}AjPiN9kXad5cz`FXt`=dS1rW^Fl@(BrsBlN26eW9l;I@vm18(w`pa<(l@Z6L=e` zEV{bj^C&w-@KygSu%l)sls%)?vbRKU<8lKPG{V)?-xOb~sP<(g&i%+m@sGX!pC|sm zzJeE{p12M7W%fQy|737rG#q`(hi&5V=}Hx--5U3KwUQ%o0ILdu6v%n9HsXPK)KM`^_JCV z%r{dr0PH@7TZ`fU?a$cqR}@H*WCM(7%ZDEK&6|<#^^$RoWo^x+r)UlsBe){&QK2g~G{!uWhM)_x66@mT zwyn}8Jr3977H=xzfwwOZJ&Esi^&;g-SJ*CczgGVq$?kV@0R%k1b8M!+#~P`- z+)cS3Ixwi0X8;|QhZ~(9V?2B_XENxxr3dZw+o|VE+a!+W(JSk?i2)u)xv>cVgx@eXI)n z>^Edd&xkH0ZB5LZlF3Z@QMjA<`b1-IzLJj1W^Rl-vCYXuRYyI9DU3P|mStB-_LO>Dt*hq~qbtCcZY4Bt#Pr2#< zM~?Veo3Bfs*n;4W z=Fri2BstNAPc~f^59=l74xl{b=~dgICE3F}uO{1RLg@3}e}fXm%n%5{>C@)Qz+Z+(^*Wa&@+42}{fF!96|q`dQ@fcUsiKfNt3KId;k zjox}Q_E(V$r3+(fO-^3$OEvXebs_vJyIfHP>oGoM#~qzKutQ2W#oWn$YcL zWxM&k z$ihgZk-hsK*Xyb1%HcDM@muVb?R&7zOoU=uz?ET!t5W(Sy!T#r`VGIZyn2bX72)0U zGz!{F^t8;bS-6BrqV@)Xce}@!)(rZ;1f9=m^g5&5z7zcQLH%=c{l`P>3ub&QKh~LG zZ+-3i;7De;ObcnZ>rn!7k~Y2iiTF{xnnA${tN}FSAk?0k4@@lvLOsSITXe#fNA)yV zAZq0!4-3?(q6;64gbPEdeVdal?(Kmh0`R zH+awLPST20(fx$1v!I)GRCDjP zKruagTqK-bfA6aK%CNVn#d%?c*Eeu#}VSot$fbI$kQ~Dp_>I|%AZ<*$JM=3 zMbFOh^>nfBtc}+#bT8kA8M)6t;P7M39F1MA-MrY7q_;d?*PlL8^w|Zv4_RA`g-DDI z2804L=DEp0s7k;aE{n~_un57kp#ErrjmWO{SPyiow(s^HE4-lNB)adWSznAej}~e( z_?zK1^|btN?8TV(XVK1Oei&2WodXfVP4}*bv;{8MDNlugWB(eD3u!gv(2a);@UP^{ zCv8MGM#^AqD@8f52qPrDc8VWzzMZlf@wzfpOP@Pn-I8viGk0WAi|HRbcs@!bp%5GS zbtr|0b*p&?lM_gIAG*%?Ovt;bWsHCeRr#cB)3(?zLyDE%Fljqx;{Nh;|z&B{RKNUfw(`Zx7ojthb6BT zhEbj6Z7>C4nzJZQjbl4_OnZ5AsB-^6Wew zD_7wF7xMOn-pZzoAEqq!PD`FJGk8yXK`2bl{5(mO{j_%fv(hfpX6@RuL%#50J2sNga3;!| ze>R_v><`751;40t@d)A!D@b&#a#g{Bvd>Z=VK{W7^Z7Ssi6`jK z-{kS|*v!2JQ}7K*OQ;k^(-a!#$s(w~%rNYG`FOQ@N%*EK=FNw-M*|(XCElJ_$*P&W z*r>vMj*!gGKrFQsZd*&Fgu5yl|IA(*W|fZTruhSLj4ARqmW0eY5_F2GpDIgk@Sp)| zuC%*ZT^6r=nJpA?<~QW~<<)vPqt7LGQM~Vk6w)g{8{YE1SbkuZjl+FtLdDm6!kq3s z9?Mt!zFe?*EX($LCrv2i6Qlt+g`ZBA0#3+)_3MP^~4-KR}#HHYsjrS7HC z+IV^0X(TVU;HRx0kbxIpw{m_ydjnLo!W=jGXU@N_(au}yd^xx9>wcOA&9>)-Sc)bD z?mjlm7%x;)>6{;=PnL;}EX1_SR=c}Q7G8NT_DMWr&j$kQ>GP(BT@jYMG3nR_+(Cx& zzv>Ho%HZr4S_nf6Q`_qUd0i1oCCSESlc4y>TAk}jd73NcbSnuy<#~Ozzo?$+fsRM9 zhX$8qR{Xsf3N@^ z(9Iqy-5;OXpYSC#}XGTsBN3Rq9vJj#v9LH3RQA<>!|| zhBJ3;G&25cyWBTK>T|2emHAlbD|O$%Z2UTLL;le{Iu?RJ{};hK@ln3f@Q5rKC- z*?t+Qw?MRbr_|w?45<$6OaA|CmHmzuFBd;%L!?%bB|(k?Ld2^|bb~rxXz8C~zJKyA zJ60ogd4@emTPK2#t*S^v(@XrlZxlV^QN7d7?yMo$Wsqe@A8_fuG&}B4d5?KHF=yPp@QfgQvBqWe#I1a>Xys4ZMhuIU0=Q~}`py@lNnkvB~kKELXQ|cs+^|U*xqGke5 ziDHl^&kr!84x@Ni>`x<67Hh2K48yOZOC*AI4^4)Xx$>(@{V0N5+E_>*y4C}6+u8MA zUT4tl0)Xk@bTHhb;{p}o6t`h+PKy&>D}2uf3A{#;h6j5$j=Q`p!j>Vs3P+X~x;Bm;3xi z|664#{=wArXx!kgT@JCre#%AEeeqKZ&-0iI3djC=D!<`8?alL2dfmL&J+=mco_ky5 zv~{O6A+6u9bzghKH``3bXHM_t`!jo~io}tdQ(7tPH$;2xid`xrfhpip^}!1a)lb1L zr~}h48Ob3fx8uqK+IU@%z6~5GuOImXvvq}yQ0KRY7EV2gusdrS+i62zIApUyuu58c*a64@DsnK^!fVv*@NRui3ta757K38+Epv= zokbx(@A`cT1}N+x>1&AF{t)q9di;~B_y4m!{g;xpg#NKGl28h-n{XL#3wsR8A&fbh zIHYuL?N@=HewTGZeV3HZt{HRJH*#hhoV}3Yapa8dbRt7M8a$K&)Z^d?rf=oVkvtvN zwY?Kkq0sRSgwvXAJVTtlChtWQ@9Vc~06v9RmEs@!r1RhR$w*q4B$!l{*GExg6dK7u8ZoiiLBlKx2b>oYY6d06a>xME! zC=!mF=9Ag$f)B$ltVI`|1&kDSDt7|Ps5pbZg9HJ4Gl=`&nNX@if1U(e5ByifIU#szU>UJ)YB!4nx zX*%s8!Al*$fxcKVpDEQWCC_@p(w7u%goP(f0gC1GS@T5^gXjaitM|n^Vc`xnJbLel zIZQKC>|2r?cSdZ3K6&yr&bY05_15sp3br#PqnV!_!y>mkkgGpVZ+Psek{gt29O;-p z%rW+T2(bJJr}>yZq}_76&nQdW7i)cAStQiCy4x>zl!>Gbiza| zkTG98chrBmxDiPuE>==sc7PrDAt2U+84;y}ORE`l0p52%EopS>P^vnVj4Z5sZr>A1 z>tyh5B$q%&qj^50#`_9CB~66I>TE0PhaX&SB~fO2aNL8XH@(0I@du0rZ~JAR$A}jH z)%xAuarI9R6o*vIQvA4sX}T{w<94(tEJo3kGpy%JgX-75DBj*ztf{>;=8H-8)&qj* zt(Pr6gg+%b<_!|t=Y z^Q(7#!3+s?WrrgPC5aRs5wjc%vMGP{bs#zRY6 z#(?%uix;!`LAM?0jg0Y8`78zZxQz9|p>WGdg14wWx^Z_n!3NnNZ0znrAyTma6-SM( z=i~8^5j&$!v37gG?#1!J7ZU?irWp2nIn_tmgcQVbAzU=?ZixoPFKJBd89m?qL=ws@ z%0~THH@hFp_l=e6d6Gklzb>70=5ekU+Dclvq}^0#ionxp{+hK)Yc4Xk=gz1}DErn< z-mx(fX#MmfCzIb*On}&@9KIaSji8;{%({TaK0BIiW0h!bwS0NV8?ga?=iNxEaM9ml zJMsLe&8MQ+o5jAkwZ@1gl$=@WCZ(E&d76gaVXV(+cf&H?(#yO)Tk`{&#!{DusiLgF zpiL#`-5ZAq2`Ba((~p2l*zB9!N0ECYrm!^jMZFfvUEl9J_&905j4Pg?nz+~(NsQJs zt{y~hm8%&~Q@scyx#HwP&}I!bwisKibD+j&)L?2)B49O;fB%CwsVrY9qrIz47dP~j zAJqf%c2xLoC|10NlljZF`M~wrfyhp6S6p3~5eFuR0qwiwH&$Ysy%7bvcJ*I>XNn}^ z%%Vv203Gz?Q@2%brK_dQ43{#W``b6Rw{LzZw|u$t`9xRWrFeIFWOaSAZXVxvJI748%=b95JK$!p^A>2f-2D;&SiNzYwmo(;9OXLT zU&1$Ac%ZE)sV>Lqs=J;0cj)z@R!j3v&pW|6KfO6ZD>S~79>d{8XH>-xV+;tGy}AV> zIa8@BQ}LaQ36rUp%)>i|SsK`57pyHGQC?+?j-5viPW~qBS$6)AW4D`hZa8pd-|lZ4J-7GG4uR}_H(66g(MU!C9zFX*z>T9bTz!eeI~SMl5p z&UDN?Fb@tnxo6$rsPo(z+B%XNx1A(Z{!ui)p})6PlIC9&?2d2Z;H{wdJ7ZKkGSrx&sQxxCN{%5T| z#(grA`6?xPd{(n1t*BcJ(vg{j-AK*M`RXNP55VAJ9LSs!rHo1EcNs{eRZJy{{;Gru znor8C6?qKkN*2GAspZLX>6CqFX&$1vuwd3#vt62+ECi+yv}&ZN5ft9gsQy=UuJ-7Ub7R$g!h%DEJTJ}~*dUF& zfLwt4w#Ig`!JogBdLTzOptB1X8cxb5mc(hnt%ga&_L&?Eb2zR-3lAY+eg}rv2g@d~ z*veLe5F;gz9^l6hp&*u+i;q*Gp@u*xk9?tKY?7c4j3{qgH3O|5;19_iw=8BjZuNC1cp=|w54%cjC^t(hIx7a$~oI+YzMhb)GCMct zL^MFrQ)<3WCfF!-`xx8lv(FIX?k^&I&1nRG>dciCaN%DL7 z57u%!N~D`MwhX&HSHjtP8o>+Fcl=ex#0fdJ-E@$Ol3K3pfqUeD`V!Al)_XqEB;=gJ zGfxWD^ajihueZ;2;b%@&)*V_VgBtb840$hNUYNrB9N|+kfF6P)=IN+%$!+a;*!_Lw zxh>3{(iVs|Nv97VXdRC@URL25yQ0|9P0d@pO4sbX z?UOwpj5Vw)+DDL05Kd!AO8z2)PvusV&e;bS+P8KMVsZmyf}D5Yhx@C&V7l}ZA#@wD z>?C3D28LF&UP{pj%f*`CRTzEY<2--4cqSRTM0%u+0z>3xENo$ELttt?k7~x={CI*` z+KT=h4WRqt{vH|}#BZJY&`wqFgepY7yg5^Ouz*LXYDb$Ei&t|O`YskF$9R2S`B~0PsuC>=lTdW`AIHeSCO(rRfO!EP1^JruSo0ON?r)3Nf z#zhZi@L*;jpNWZy0&>@5`ES~_K4d_61lC7Qpu=HZLH9CeS=S!GsOtEeC;e1z5iDL) z&8v6X&Mx*M%dJ5brK^8sK{jGj`)SbdjV-#(6PPG88x^RgY{4Zc7nJ(c}DJZPeUNmrT;B;E&9jB z{&db)bOPSh@Dp?g>w8_RwKm^?Dh~!HL&kDCH=6=J+vBWByRj3Gq%Ba56* z{Z^?V-S~t>BIyt~;hasT>&v3M!}Hd53cl%qS8 z+ARP~E0RT75xS;|{yeVzdBJCcF7eZX}mX0f7t?hk( zCOY9V879axA)O>bVUEj6IZ~L!8cGze#dFe-WdlU-Aln#WsL_G+qfmqLv?F2IMo8t+ z%CKB&RSoMcPPwlZT}ncWLXBUB;H#1FYL^WYaiy)ka-UhyA`L#S>ZP2KsD?ZJv>ItwI!#+e ziMCd}SgM}2QKTrZf+y2O!w_10WCm)>PxHPh3w-*PU z`CB zgWLdb01iv@U>8mNO0(xAKoZ0aa!%%1aqpZqI&$MhCmUEH7XnSirjvEe-aXNK!~|4{ zJEqB|FfD#IA2Nzxma@F)J|P4wZ%RcD(bj7%M#%>T>x^neVf&mu<dm5Vip28ruipVvfu_D|qa2^1Sh)ojd1gI!O}2@=V)xf{DzNBl_fc=(*`a#7A=0I8 zPd2Bd0|w9O7gUpW#9XNwSKiCJz&N1zu#!~;LNYKObzyCFe|Nt-cXp2$}w+)#d1TVM&7$C*E!wA2}|4CD+A&U%UMoSDiq zoo`9INUqZm#O-s*kS5|YH5Vd07c46@uP??b7jjmkMlzGn38;mZp1x^Jd0NvHk*$`W ztuGRhr9j=nwiB`5idPHg4^(AKn!)$6|8>2G!au6bHf*8y2q3{W8AFWw3T+|`XL!OU~lDTOIqsC2lXm=fUAaZfKB#m5+T+xiw+h`WQ%Bq}?$ST!zW zsjz|ZzYCP8+g2;N%vb^8K^H&Lm+vU;wV%$)dQZMeAM7BKb(LQ1cVUCPY|R(Vn2N6l zv~+^;1$0mkagrv9Zv;bfA{ZpLcXsqih28tIeM~%6lhky|Wl~q?tSiCeVyiVdtgiNk zFq>vvD3XKipFQ2*(xmu0m*Zbc;qC3@Nfcf;SOdE@;zY)$FPQBIM~@nStmONc0>!aW z5v5EZ4<*?~yH9yrdY8Be(X%1=;@n@~Ox$!-oS^xjv~{KG)D~NqzBSm!eldyZaXII% z?Q#QGQ5UmUIGKQXpSNey+W+C~FQek>wzOgRPS6C0;7*X>?he5%NN`DTf)iW=B)Ge~ z28Y6_0)o2+D=fHc;r8yFr~BMFqq|S{_x;K!LXELEd+oL6yyhj}ppP$bdZz%!&a-%c zO)Q3qazppRs4PP^v`VWOPC`HWNErF+j|4^crbVZ-X)Djod`i$v!qx`2&It)p5N&e( zw{DKz-HN`}ceJAo1le4+3kg*f*#^mJ`lGl7->=~bmw{eT9^l?NEM}OrZU=Mtw7|H4 zeC3v3LBtY85`y~d|}@j$-(SI1817Bz6RrvoOL!kmy~<#a5Hq#4$voon|^!ZZ3l6wvirL!LU45-(LPu6^fl- zpK}G1XQWbByAx=X*VMGk<}^nSF1@l1+ZsF4BgK=APs=|#(HRDR3A#hj1?4#jr-E$c z7H`h=vo3WOxF>E7#7LGKk9c1T^{eLdEL}g!yowiy#NBoFtI$iVyCQW8z}6-wue|U} zRj_i}dYNi5H2c~T0Hq^G?R_#ZQuhZ%Rye7ToY2rKwB=D+g%r1&K=muP6Qz^yHXq5~ zRW7(lBt@*ZujAOgwQ`Djxp>eWEIJz9&g>$sQh+KI_HEdOK2UNfc`~mOV@hYa9r&gq z%i9~{_S(LEq>Exvk-L6=$<_J0+w^n7bWX1bkzgi2`nwtJe~Z<0g#U#DixJ0w z2T$F1@FoI`eLEf@y=akc6}qp&bA|SIUhBhJU*FY+WOF)YnW0soJ7Nm}6!8%;Ea zH`Ar+awyYp{=BM3N_c=!GrHC^@B=Nbop0vaCm`0)p7ZiW!+TdzzIYgk^}Wd2{vz8# z>NBMbmFkMxyUx^tZEf3Z{?A)!aasKhKLOH7Ok5W5orXZO1?x5`x%V-jC}L$*F0o=? z99A^)OX8ULJ7rK@F&nf1$=j7Si((7$HwSz$q|b;=l?JUu^^I?t<)ZG`LT) z;w;H}L3P!XIK=YbXG*Zr90yNZyvOLSSKzw*vfeWCK8iyh7i?*J4PS1IO7S{ecJL?> zshQLMprKAr-3WeQF=~jAPh?R7IDr+EVzjSP_+N5PteBnk5#e*TmgeJ@aTP?CG#Fm z7KS&|QWM+(B)r#4pT~q>5ffWWsIu^~S8W2+Ae)f%p=8$Lx(rH;!k}2v{hx;55<1a) zckSpEFEuFR8a8HN13 zp3A!%Ssk0u0`3KS+9{kXm})h78f;=0-^?0w!&Z8(U*-ty^;Re|^cq<3T?O|mk;Hcb z>H~X~pp`Z$6TL=uGv$iEiizF)HNijAU85edSTaOxMNrt)!(P$T15w3F^NTyk@SCM* zpC(Fuyq>G~wu|sM?oWF_Xg)PYJ|^+_a(z)ghVEBlL^+{aJZHY|2-L`{^CN^+*HNpU zUM>6tmEWy98{aj=T&Q!3x7_bPya}c|r$`dNYzh5YNf$#x8v1m%)Rl!Sxs&EUSFS`ZY|v%3VV{VSb4qVQX`mi_+t)vcsO_^|zc0qaWlx9bqKjJ66eKNQa>qZ|3-D68^X4Ivc6 z(_;<*Rx^@qg1Osxs-lI1ZQ~*4<8Wbrc9aL04xBs9bjcaaO{6G`#?1ze>z;y{vYy&K zw6+ph13o@TywY_gFJ9m1|UoJ zmwr`rW;5M=In=E3yT%VdrKpCQ9HdxI!spO|dH?Q+fW}-(Y%QQ$i%i@5@KPw=PK*uC zACr%omdx6Axi2e{_ag33hKL=8{^Te)$UM-ChY59x?idB+TYr! z8&py}$8XZuU$OQp#u02#Ul8)3SD1Gynm)kQ=P=!CI^TAG`04C4s~pzqkaguiYQ~@w z^e*edkEZzYD7Q=h3^%SBc9C$|;{8-s$T}oY?D2%8TATEgTwj_xDTyH*G9916ZaX+mGdm_iOtP&eJ*f^N}6y%-Tx~6s4#;eSjYfCj1EoY8oL@+%Kn@B@n0y8-Y=qpXJsHH_^ock zl(eIEg&0Pudd|x=*B$7wHQ=gM{7doH1IexUnbaQ7hCt@}-39THL27oT1| zk9*H3>xOdqDrwsmWegf$ z)jch#e+b?FJhuJ|bSs9{w1A0>2|K`Uy#9##e3JO~>|~D(FMTP@P?z#_fB-Uy;XERg z7btxFzO@dq7gMK?3<`!&<3zaNJj=HDC$|PkBj**?~R&lnZk=E_@e?xbg zch%rpu2ddKPR0>^-PxBVd7Ia`9V4X)v2aH8c4F5G}dpY)WATynFU*~8B zl|hKj1k&?zq6?XLfAeVQI#?8#Phm1-a3@dIXECSOA&!L(t5JHEcZFHoKD<5PB@zD# zECFDI<3CfOH+7xe*P5L7aaZ8uM7|7195#^Mof~UcTTM3Yu zW40ubdm2q=OZC(I1Yq+M`g8Nkz&v@q!@r%Z#}@HiLqKmcz;xn3zZLpoaX`m}cXaB- z=NjCB4?Y+q0vi8zjQp?9zETQ4C1*C_DiXWV;@Y45fr6qtmlcDue}F(_ve9;YNZZ>K z)o%i!<%pz#Y>_>*=HUQxGJ4PiI3NZ4$TG6qS*tL~PYgVJ8?8x;O}=CL3`W_Y)N4pS z0X+|mj@jx)VupusG+y`f#i4ngUNjh{0~q1ppEq@YDVs?f=@n1IYx>d6z2OHRf0lbt zzf!7?^_$Of`|b;4o&40x7cPQp_VkLggzJPO*jd=fwBu?AP0(cMLHu3)`C9^9UdCP29yx^!7@TRqfO z)<*yj=FnYBQhoRL5$bRH?Mu2iMsd4o z$nbC5#ed!5XQ_Y_c$sLq6}YXcub3crWGt25>K6mbx=>o5xf7hCB`Q4E5Rj{p@rX(` zmiLEvZICa7qxf1LMYvng74$4n@MPB=KR)ze2L1fD3-K%+?6}j7;S(a9B%-?;9vxwu z4m+H=yox(rr4z8qRT#lwc0}3u<8KZ$l9&?X>+wU8=^)<^@V1> z3e7EzmJJg%!6{VAM0Uut?pwVlpNv*4hQ6!)|M9MYlgKS@C<#y7;Dt%hL@z?gOm-zP z#I3JBBF!qSH4#(!0?kK0Y~p1jst;i}DWn$tmTE1yW_GqLp1_S#tCQ5ramS3kwf+Gt zLNH`L{*qF83)c_S5JFl3`V zZn|Zq&~`;8lhm%utA$k)pi-<54!&OCfdSZu5=b%v^W;P09X6xqfhgiLCJq_-qvWXY zaAFIPoHvjcrGfpLTk(%W&fgF58NH+Rij=@rtiN96yRJf8wXL|BG-eI6$nwg~EKubz zO$E0?$sm!A!H}?(L8`(+!APF!zg>|3yu<%jP`wZTk|=(x_#u9I*qsCKjM!Hghg5>? zQp861*0p?=w#J`aXsLM>DRb_S{dPQ@)C6ls>VV(YsFf8`l=ubH>^YpEG+v{Nt5H#a zGWuVcZcGB9i8Ez=bF|CzuHF4z`xb!DtzZy3jolEN_%R(k-TQ=`WQ`3j<-c$8ksh8T zAj_u=Z!R=?P&;CoqXj62m#-1Hb9n=QS=0;1uiyR(DUtsB3;($n{&(g4KmM-?4-2RO zW=@xB0?B+)6Ock&FbNe<47{m@Pg)POPi4aSDJBuh=))vHr7a-}Uoje_e*vF7*vbZ76oELiKV=|EvjL`o~~5 z`p0`6Gv!`R-N4agxh5PE_9fahAK0!&jb7rh0!)iB)BSEyP`&U0#NEJPf2i_*VM+b# zZ9bwQyCZw@#bF+wtdo*qf+U*4rxzg0+Q)N>L@D?@_e7x{6AR}jY>GCmhvZuX??T#V zkBCvsys5;OHI47r9=vnwdNHKi#bV9DD821CsSXQ@Ok7Me_vFN`{0=0+|?#@RmAE{I?H%dkxi|^E&Kn=gAu^` zJx^GkC-S`prWF{0v1EKPF&C?Fo!Yn9NZ=iyz54Rn99jri6dVAh=ct_-aEOuX5<&%F zUEQvzoSv`N!bftCZKZMTY>U{9Npw^t^#X&jZ>i&1S zpWFA#v3QJ}j6{)(F8_65{o7Ce)_BhV#q_-zvN+?0&@ll|Rra;4^_{GyU}%lcIDRa_ zy%@buP3}c+c=q9IfolO#=b+wB-nixA*V3G_-SJG8jgvA>OUb)AII$2=o(xK6MPpxH zqh5`d%cXup^wQPqeYsFQfX)v8{_o46n5XzFz_5Rb8fWvmXg*_Q#_QROI*(UbA00%< z11r`ddI#)$SQ`X1;a~Y%llwF4HM|Q(C$;Pe!-WB$sOnf&mHu7uB+mcbK>g89hKf;0 zAPV18hakNT@$?m#lVYvt&iU3aWNBMV=DU$V0OHuH#0ou+T0cJ@eGRdsT;?aOxL}G( zVz4nWuA@u-){FLO3V56Y}B#aS)it9X#nm+8;i>#^So*|%}E<`LNn5|$h=FS26kqvn$ zE_qF8d&J1w%Xq#yfmT)=XvLfvJ0aAzzyo|9lD#z8Ha_n;%qjpn!3oHmEBIz0>){%a zt?aGth$_DbjQ9RaFKrbgOAr7gh=bOq zB0N=QU>@bhujrnw-PJPRBZJk=lOawNPeIO+r7nWmudhy4Vok#=?4I z2rLx;itQ=H&BR=ZQ18I-35}nb$px&d`}J!PVa9=?2i2kEHap?bOL@mWAyu;&?TXfj z!ieI3wES`S&r6%TnUSfbH_+*^Fu#8Niuxn4YxrG?l=yQLXRJ$%%4i=T**-|KQeO@q zRW-6i`eN^uUK5)u9&OodIeQ@^S|l@iW6J&Ub33)S#W?_#=NqOYwvgZ4ft>oVVM};R zyI`;@xzN$$XNeia@nPJ22D9^VuO(}Bi2m-9RKtOQgbO**Is`N1nW_pcyD%+NkrKY7 zfnH*9lv{G{bSX7^y&&2H--C*$*|?B^>t6ZSwAoqrlL9NXzH!EA%|axiL{vn_<54=_ zBHVq9lnW>qy;PN31(|VjXY1>viJU6Uv`pOobboVnTT0qJ(F|Los+gfcH=m4lr_@C* zSp97RJ>276#t@x)v2vjv@#0=N@mChpXE7H?;46{aW53{cEzaV3s{k?LqkQfUKqWBB z<$kgn!{>D}$XGR=Zr?W0)H~tFCkO?&P$ud1ez=s?eowxhyM@WSfLwpVBwAS77TN#~ zb1l~U`&9WKYpi$hl_bya(?c@FF+_!bJqvx?A86?N5z7x`Xq+`{(%2xnbu!xX9ka%y z=Py!YDI4laX;LwIM$xGU^qFp;0l;xss%!cQmpfUAU`|$ zDZo5r0!BEsyD<=t=x0+5eB`p3V{<#+9?LEU_@$GRg$ndiVXqW-ZZqYRP-)nIcx;bm zYP7jKa^mY=7s|VMga#cIf%5;41&|mv7P9HMUf-`bj^Wud6cVFd+GKgjn%+G}yq9~J zi~^}h%)ZF+9&FM^&IIAI<)Bdv%c!5M()ZLNoikZ%;ufx$emX*GiqxVLuScuMv(b5K z6jlV2JibK)J5o=Q!PbI3PKGoInH`7Tl>B|biPcK{Wy(=S?OeBgaTO)Gwu$%tXz}?K zq?fLnolgPYWt`IAP*w;r26;c5&m({q@RBK3$>w3{NhSE^RG3o&STqG1o1h4u&YVwM zsaqXqffJ}`gVL7fGwKHT-wGvEX9(}}o1+a zekv2Ed1=PZlhAGe@g+witqW4l60vZ0C;EBi`rVKvnlM}BbJiYvr~NEs-P|YUwxt2$ zPc*}1D*J^K|G2;{n6>bH7#*HOhqI_iC%ciY(1N`)QzdE})steUM-^IBSn8Ji>0NMW zytw_hiN39ow^P9j@L)68Gmf1aZkZVn>{qx;#L8*>w&lLjo7UE($GOW!uSZ&5{33DI zMPqN4zIe(VZp#ldPlMxQ9Z5QB>~_rI~e=CcYNOuWc;p}uQ@Gg*Se_+i&?4}6JhZ7Etje7d7FZL}3& zJK^pw1VeBl#z2*6Vpm#a2L0wu$858skTJ_k1C{3#wJ|1qwa=adz*8r(d@K@gz?!o=#PlmO*nn!o$O9vq;s* zZ=^3eZx0}!U*1FmQhbxX2h-ZzL?(kchWF(gN91&5qP{|;4|i|Oh7$%8sMkao5uEyuq@F9P6trTqb9Am_0uCN$YpoIzUaHKi;fDwN&_WE>)uvnZE@HF^2?Cb;am^p*_Bkd{ z8G$eszQARq3~>y#In&uzg&&GuNB0Py&VRhptsWeROW{^0(mfjiQ;H;WU;+__DFQA; zIIz7SC0@Y%+w=ak5A9Jjl2}G5jqAm!)kGdbB;jEjI;Z(?j$TSNT`fS?`>s)nZP4W4 zzc*bWIaRELKZR@MM$RV-bvw?@^ty7iTGL2iwNR$D#rwd)@Yq`P+u)fb7hvY5TxFGi zQR@J*DJFwEL02FVl?VuoxxT!jbdW z{@{Bs#~#1L=JF}{s~4cr`2pu8pDm(IOLYDv!~?dY>h^Rk)bVtx6ELPz zq$9CCnw`(UtI7U3WTdLc@bp;q11(L$SeCFtI6f=w2b3QUK*@bC@&1o_$e%_1-`mu0 zyhUFV{<`(FNa&ZY@0T2;U-rWWYnev0!j#bY4WZU(e$xn%tu8n!pL=)&@`-RX&njgb zOUml-Y*1dH!ItzsZmQl|n=8)2d(TWWCX~5wh4Km<(K)JJ8s)9t<1Z(;&ohlkyv^*c z#ceWe&-cujn2pVtVd5u16U@2u4DAo9yR0U16TGlwSl7g61H&uCJ4EK`AFm0dyu08g z7T;3eKS=JAi+HEV2@R!2XpLZgU~x!lw1?dE=Ddr1;rR^(pNB5~JdlJ7Q2u@1Fjq=f z1xDo(qwS9Ch`PfCMEy%{D@y1!bZ0j=qL_{^glXTrPzh|;kvsN=B)rad2fs-ZY{NAh zBFQ4GnGHU-nj71nV+^YsF3goOs^=*q3|N*FO>uwIi*7Rr4?gHM7p?dB$T6bxn5?>_ zLCNZKqbWIceAernb`8}$l9_O6o^*6=^Lj%|doR%hKG)W5+>Fs_m%b5#;U=ekTkIi( zB~?MK*MJhMhsJK5atCk#ko08aYP&KW5UGTH#~$1Vck#3M!vaFyFis!k)(I8xz`mv8tws~k)XE- zd9#tc%d)?HajVd}DMbVX77~6ij}a18eI*faN)WlV;~Fuj2~%0qZ*-?&brAI`Qk>3G z;9b#WPPq4IzWhzb*R2mTlEfX*lCNWv!DT_BGfv`7N>AFk1JW`RtqpI7$A^V12VJGT!Bcwe3QQD=4@5KTBrc< zEV@m4cbTd2@1^tq0Y8diW1awwgwEFw!P$Qmu-a0S!raAx;x808{X9O%ky~ZWqVdFk zPC#aT=R>d(FvyJ%d25`hdNLpN;!`tSc+i{IsHWKVsCWqTN_bZbW&(nS-Zq(sbUvy0 zzOE4wQb?j$FtF!oaP(YmJRc}c9AoES3J1v!njHjXGS6T_f>5;uwgi&EltPy!iC2Jb zHq5?+fepJ5w06)CB|ba}BvRy>)wis9WpP^g=LEMxiMY#Df6Y;KLhWXl^&k;5m3lH0 z8Myn)UNms&oLE^`_x0&TBPr&_d+Z-+Rk9X4-RnZu_YVhe<*dBgu84gEH!2SD*}%TQtSU(*yHMP7ntDLH_|$&_ zu-!vfyz4N)_k#-NKBj>~>AY1bi)l5P5N_`m)1_|0tLjc3aUSfhO}GWoL==d4n_UEX`fRD%9} z3Sts?cyI(E=VXUJ+{m2ocYtk~fY^YrSsLr%0PMEq(pxRlLDYA=7BQUoZ`#EGE4y#3 z186#1dovZ*$T1wnO7&&$aswzg0G=an|RUmSUdMzYqPejydDlg(}| zie`Vi)0sWX%X=Q;I%7i0zL&KE4#S6|aZOLK3;QX_%q3g0f0Cr~j=RjnhGKQAhLN~s(8oAib?vZNc z`QMUOWNXR8rnj!Bjqco?HPHAdkpIOPr{tj?izABSyR`;~Uq2}KSyS4-@YpWD-JL8d z7Cg4G%R8V)Cx1+*RVElaRdvR(C}YqriSc^Q*9x)gQ*@M5xw=dlF4W_%BOUY5iwuCt zjd|j8X9LwIh@bO~j>(F>;-*4SQj@UP(et0jTxqWNE*UIrv6Z>?qZiDOymdN$N&c!Q z)Z_}O8(mRC{*S_7E(a0GbyGBb-UhTnc|yse?nQ@V@&EJ!IBfATf8fzyq{IQLU5t?!(}ExCgsl3Ovi^Wn}(TBuMI$gFoJ^bvJIlrjiev$136+N)Sj*m{}N3f?VB z=TqO*|7|@vK!S`){$bIs(uWi9P5lbsFsuT;_k6;)mN6wkXSId$iA6wf20&RlyX(=S zvvFsOkbfDzNK7R5bq2aWAHn+MLF z{dkW5yl6;BCfV*=Jzjh6<9KpE)Ul2bYxM1a)!}}Dx#rInEkFwI@WoVx9xovIqSRa8 z0Z#bB;w;a>>%I8@oRa+krv8^#!=V`qIibm*?>w)&La9=cygg35Ai75At$pK87t4A7 zTo#f*$WB4Miz|71)WUfuZGd)7{x|nN4pEq|4-T~oM`*<1OqLiduTF2SItFvSTMJej z1ad+q>{7Y4v~At#k?Ea$`AlUdc-i;uWO(!eVFfnqOYNU53_w?}%_87ZVsFuv|>8e!zbY6^&MzV?VbM-0iX2yYC-*bP`D4v`9LAm{8dub0c>2n>- zVkTbdHDdvnWB~4-kf%qalk*b!LU{%0tRWXKx=n*^imP`@g4R(-TTymWK{3MxB&aVpd6QzRdI>k zg@-$SNeZ0CcQbgYr+~XMv7=Lhlg~j-Uj$gUeoucdK`s(?F5TyL9EG(Fll@2y)nYU& zA8!oOF~6|(MzRIO1)5bz5MhpYW8OWVX9H|7IexsYa`uk-p4_@zYq-oJUo)ECXWF?# z(93{^vkiGYKt*6hbI1MVN%(3JXDzJUQz{&r14UdiihT5ct-`M1tzcPjG=zn0B)+s3!yV6G-G>~wo#m$P^m;&se9 zn`=7@`M<5=-*lpxGjEF<|LkvTuh%=#v3`*BUUtn8%M9V0oF+n+0KD9XB=Q^;jC^~~ z7=k70LoH}*^VIRGQ<@g-)4kW_+hu}?XJ4}o&EwrqPl=(B9Vo=r$R@9g_0#h&_brIT zw++#x7I&RU(Hi$}Ms(17JK0N}_NGe{RIz*0YM%_08-oT!h+<;0kpsX8Me63C1rbmm- zrG^i;;y72;B5UoN*v)*$k%{&N0BbO%OaI_Tl2-YH!#2*kRZp+aSNW6*J4We;tV%N~ zv2yE0+l={m%JCYW!4L4Cxs>ip2>naUIeu5y+YNkCc1-EvwH66(1(l|?j)$T9PLu@Be^C;Nns<0fGea~S}EPS@Wwe~$T;{7XTg84zp zosUn%V&mb)lSXoqkLTgM@ZhSZZsu%C9;5#Ug%J;KQw5T-w9f$r{p~njuj?6%f1&mq z8I8Cx3X<9u8{MHrTji(Th{Is$Hru6-gAVr^ayjn=9^b%go-(m z$tIEE{Z_e!vb5NBPjByU0&cUZ^&2aeNfP|Bl?E>im!tEj7uFuu2A(%s^qymaK zTWnTQ;*|z9LO7IN3a}sq8dcT!I_Stcs%H#P7bOC?a^kAu30x?P-{XDI@D~2bZ)Gh2 z%Z?JF?@vvawzshKS8FveAqPADhUDUH$G8y%=v1-*O-t>R91DUsVB})8RuF2KT+NQ0 zM6n}0UWDeu9}rr8D*N;MPs@qCZ__O<*0)4DLOuo7vz4^zMt}kMZnTo$S9e)NFq2O0 zI8dVTsecH=6#R#6!|>P7C7*uoaRGG?TkCHk;{Q%E8uI@lH7*HE#twpz;7K@v`71OC zGTUd*#J)yughKpw##wrl)A?E)$xESJHe$v5 zyGy-@UU5_N54-I2(|?~{puAlT!rxz$>kk-eZ;j@#khKMDE%*Yn-Z2;$eNMN@>j>rK zo##%SyEMGgP2enxe})bZ##Ra@Rw-Y(Dos<`!xL`@C!07xBY5aJ8ZhhXM>3>*^ zQATg`FJ8J|#RqLyvGz;SG$ugI1LHH$r-Oxko-rH-hNX0AqPHb);a<{k_`NY56!P=l z@{l!8q-2PDX@yy+6BL&Ru?JeXLwK!Xxt?=0-xvt=Se4s1WCVCIAeI-1&lw1xd zvkb!L)e7Zpxycz0BFThx_ogdf0}62G?&&XV5#*6fjYrVN>;_`8HxxA$y7hzax!xejO_Kxl)`NFF6mR-Gz@_qikkxq@>htzfMqx|??_ogomMgZ9(sZNoz)qKgu zFjBqR+6W;7%_YG2uW#v@C8=;zEu9F$f}v|2h+Ln*sTU7heA;a53`CL(L`2h1?0EGW z|LqrK%x6?$@F9O;Q9S=|Ke%E)zjeEbO8Zm^5gYHCD`yn~g<``_u6qp`f@)(oz0-RZ z@|o&%48zAvd4=z7D3B1%=WOQ|4j#$2wxNpB-U}jl9|j)g-7d`(HtwX&hOC3RTX$`v zhRk?`)ats@BM9L{9*1VdM>j0ktMBe8f`EM8=Scs&m})5HI}JuBGpQr~!1Si>ij11o z2Ex=0=A3xg2=Yfq`sc@{sNQPMt?p0Ex`=k;Ih{wZM$&nb4-WP`w=El^sIq+p3?R2> z*7W)X4!S5x8KjA2y-~#5c076{j$bv()VRm?Wrm}olxG3I?+Gf+==mD6C?OAZg=DA0 zY~s!7{biT0JRsQzmk~sr)2W3Mr}4FV#Q~~X4ZX#N$(Nq!ZZ2u*D5F$H^~OwK`p$ zWD5)M&DWOG^*#l_mTpq59Warp6d+nCC9A|;6S=0ydTZvdWZ(t0s$|~PGP1g8Z+B44 z5K;GR;~4h|!Z2_w2#>3!~YLua=8=yzuu^K}a83>|Pf zfCoEUmQeopYw(||(?2uhiOSN0T+T9j6ZB)H_9=-u z-RvZXvZYb8!x}xn(Dm#{H@e|Nr+4bjyv6Ei|E@&_EdokWL+t%lx|uw7THdLS?#E+3 zz_l#H4Xnz3p_@NrYhd))LG7{qKyxJBX4M5Ydw1npliNkh5@+4oPQGB??%0sPqQhtD z2*qW#bJ_U@Ud{(|eFqnB4JAGaUBsf2wvNZ{iFtb+&*Ky(VPD)&$eSdy7#&`=Ur*mU z4SiGc{`}^O=#-jrSQnS>aCUjU zE3uDi3(S9Va2$P8&gGw9)3o~LiT0i`X;QPHX=ygh!z_GA{O*`W>9Xog@Jtmo?%>fq zPtCwfPn}AaPbA_P7R?8>Lj}Ohz0wI<)&9s(SpP}4$Pvcg*Y8f_mG=o6LHNur)!R+u z7}=8*!+CDW&4ZV}TG<=7n{>%SZ#{i~Y#GoKF_8*5#{i)RcIw)gobLhY6m`t$&HDDM z6}_vm>F%$lB_+H-UJ<>1Q}qxjCXB@)YlYc}#p{@K1=0u%bU9oP_yD_)in5vQfOB_A z+z|jjADXww-VAX})d$!DyWfBP3VGlF%}E^q>2j~)aWn=KZ_d?Ucmn&c6LS-^Q8Wu) z_)CxYzu6W4u_FD5f9Lz1!~WX8_=aTsh_YS#$sIz*A)PUb>{Xq9a3{0gR{WfW{NS-# zI8UJaqqbeYZ)FMEeg(Qh8enaK&HEZ1DPW{glAKhvwY|Yz6j30e1g${uAawp}prFxx zj@^bdGyHo6nckv6#I^K4FXliR86FoFfYLzRdOd_u?r}%`I)B-Y6z8DKn?H4+pd+m@ z`es4t(4xbx-#ka&YU#>uLqs*Y7=oZ z3I%}Jx$*~Dh!}w#xnEs}PjQ>*qSCky7{;mPQDj zx;cy6;|S6FB!3Lj{f!+c?v+ZMDmjzm-Yxf4Osqr#ycAZu?8e@`1c9wit&m2lR zZ@1UyblILTS9EC6X!d0o>A7B6QiUl{nnJO$Z`%MU!wJZ8YP|p=Y&L)r7tI#(uF6nY zCc?T5NIcB%yDrjhE^TPaEMm56)D*V|9M9B>6bW_OeZh->1BTNOb7S|G*W=ChW}E_x zW4oVbg+2}7K9BrR-eZeYk;BVT_0qHI69O1+Z|K0bT#>*|%>REookKc!sA4E~a(gP? zk4qM)44%(AayYx!ZnfuhoxJcg$6)FdbS60IT4ye|)nr#X-lvdx$UP6N#d%d+)B^M30=S&5TWvYKUmN7NQ zQL0E>rp6avHJXI#l>-UMsz~X_yP5br>pwx|x4Qf{LDzk9x z>mW2@%Kh1j_%qzWfto%te8csHdOyqhDy#)69xWi|R7)4cCj|14Bl)Y;5fz!F z66Ys+nrp2TK6Y4|uE!9oJVr`rU`JZ^w&hqOon~|BReWmTm;;#t=$2G>5i#4f64kFZ z9~*XwoZq@6sM_ldi!>ii4Dh@Xx@=Zf%l}j>bs#*Z91nTD_3bX&*x2cEezUh3ecS_YVIqgt>CG!L~GJehjrjV zXIIkwjEAzy#g%x%vMI+<)AIS9p6~*e=NwH657|rfQyACj-iTMZ5R(YnE_$DjoSk$n zz0YO@;?Lp$^;ywP${GRi= z&__$oYJsza2>5I4`_8=gy+5VfNVBd~MtL~xBQFH3vT7aIi)<@% zg7F%siv6f8G85gx^=!;%y$9)w`-$z_VjDzX0X0+)5w_qh@CW_nEqXOj%AIF|Wfqvk9uQ z4~*zjOi?->tG=mearVUvtVavyOdqMfYfyYFQb~=auKJj6nubL@f(2;W(2-yl6MS`q zIxKdFeI0hzz;5b?*4{Q_-W9PdeODKdmDln2etw{d{EG4Wp~%uw;!>>{YEqy+zZRSA83q#_mHYun76mSig}+id8f+A=$>!xFV(c07GSEcU0&TN`(-& z#VGz!HxjpqHh|5)PEP=xPxO%wG_Lp*$2L0+PuQA`fk8^;h%{k4G-ujLY=`J5?Nv)9 z8;!gh$t$z1oQJAKB|@dtV7$mH$7WvJWhxcM7f19ygsY@_voUl}J_U7wIkUF`yzgC& z;0cRxVdHBvy$7sXgP~gOq`nfF3kSuvmT*p_-jEyLND>#yemD87DVNdZ!p%ajs8|wP z$?#`RhO>gb0|7McI}A;ajoG_zkPh%Qo^IV|Uh?m6O?*PRtV&il^jw*d{(h`Z^eZaE zZ8I=_Q{6U@*gXW+R-Z_+LIs^ay|jEvl^;(hJrX@FRF{BOVm1^8EH5^HUUJ*JTJcK; zj*ge#*#S2=q4m=!ky}fxNP8_%(^8(%H0PsF`h70$;!E5&6l06tff{A{?3*^T!j~Z5 zAcf4MPR3TbE?sW*gU398x+T6T=)EWqC3vLm0gN;PdU)E1b!@E@x9>F`>bVbqp8?2P zwCL$qeIFNw0d!F)fFZjSbTR-AbO8nAMvhfsXH$dO`ei!z5qDoDV(i95pS(NC2o4wO zp+$I&6gxg=12cMyRNH8?D-_WpmnDKv&J`)h#`&U<$6IUu)h}@HKQA3Jf#|=Bk>3zu zDvN9d2rIRs>;|f0m;EL)Y}df(p~hF??D&COkd2>otYY`wqsv zc=rX&g?wu?M;<>OLP!$Sd7}OXC{3-O^h0Vsx(*X0jctkTgYP=C7D9bv1|Dr58%pgt zNxi*=XUqear87_`GYmqoc84+Qz%g)6wB%DzRKNa)25n4WLAX+roC(fY(cq&0(Z$`z zV^+WPlxxvblW#?DjSnZt`=p0d_jH7mrj?^`l$PLaPgflDb*p4yrt_dZn35qyE2qw& zB7kgoq&`mDRau$i4OXqyl(~2h$jI*nvc6p_*>tj&^61uRDb+npV4_aE8(t|ugkCHX#cBr z#WX(Bg=;$0yhG8$@6sM)twPo78_Ozq_)d!#Lz0i-sn`C?KZCX?#q6JOCb1$S45y?;F2hG zvk~t>W~~JThl($!T|;0V)=fV$XlTN5lUWX-1HM1M53X$vZ3d2+58xYpA~t@|XH1}H zd^mzgm675NyFX@R*i^_jzB0nUs!3!q(ABIm%$y)cj9KNeUD((%A4wYmqH8ulQ_482 z=5Q;*py()Kib`(FaWTmKnZgDA8{m3^t&zfcssZLm3=kUGAI=KdkvMMNCaYh`irWIV z>K7t7!p?oorl1($j=5y<;rFuH%;wRr+ySW)kN0tmsVwP_dQ`p2S+s@=~ zfV587!por&H)#M8HDQ__5k~+I$d3z(ycVwleC;Z!C>_#-y*C`{}O7?ZJ*EY7zHay^wai|H()JNOedE3J~M8neKhOwD@{RG>D zG^*w>1!Dox8ByxIkDTqM4Pq9q!y$00qif6-&OueX-o~WP?mA@WfzdbV7&b*$pHuWT z4k>mbznJ(Uz3{w|igNtBms|Pv1q=2=kV9D3;qw+4x|AkZz_O@oU#A9R`%&cCiu3t# z*Ix7esI22?*AQ;Va;pW(} zW;bES*nRKRGU9^wW=iSMh`F7qGhvJvT=cW;Xzpf%>-)U){)a(*A~C;k@DS#j)DbXK z$wiVl3d3Zd?iL39UE*-h^bx?73u`>jb{#5mX2;8Ng0G`3{8%lP5-6y5FR~XJiiDgD zP!yQkKV3k|$g-H!MG!(U1fOwvx#ivIl4#hodT5rdAHJuocUpW|QR~(lc|2H4K4WQ` zwA_@RXzRba|5XD4ru3wxx^C!o&1YLftg(&45uVdyJ0@<#mu+L)E?A>N$9Wj%aiDGM z2spA;C&O_xJvNP~2w!jkLkWMvP;4wL_s{Yk36-81LmgjwY(i9bB)&0~k4 zLc@;CF68N2EB^aStLXLMDv18x-k6jjz?FzvFz3Em5dj8#iXyi=`E3##D^HJ<CN2 zN9k_ResDMf^*fYCy4o-Jk`(?Y27n@y=!qXk2_DCI9XIn{KduK0jl~vb@4`R~9> zsslj-r~~^*^k=|uC6RL!c|rY74`er`ORJPYeJJQ0(4;YyshCjTxeU>>Y1OA56a98hjT~q9lO@nA6l!(*$(FEQIX}(dX?R%GK zYdX4b(yVb_GnNHUzc14a0c3QeV-5UzU?#|R<8HwpbAM)n9+3b*^;qKx|Uy1=N;U^94g@)l2a+ zOV?cCSJ-ah%K{PM$W|@{R}vit|otpf`4m;5xwxJsB1+3sxB= z9jYtgt5EOuy|Go27MCQB^1%cKhRFRRny2Oy%u)m4#1xRC-ZYuVGVx&F;3V;ZKH-hC zOsP?w#KMGt0jIpk-5H(C97D<53M)9}WZ^-p@QrRU1km>Kb(N5yX~TVkdHyGt^X|t& z`B#afbkni>0^|jWvj+`JRDm8#w>$;l2`v6= zv!&~y&$5T&Z-2C7e$t?Sy?&RGv3G)BC5CDZ5OVfdJd*+tUdr#P6~ZSH>`#}jGi>Mj z>^Gol7!d;q6^TQdKAiOLZ11S}u-& zk>aR+rM?IM{mGWogcSZjsJvJNu?(pT2-vm_mHB?b%Wy=T^B>=z7x?{uoPA|j)a$zU zLO~EDL@8+jkrq%I21G?#kWP_i=w>JZ0g(nN>5>kKp+P{pyHjH5&Vk{5*yq~IwfEWQ ztaH6z{4f{7{AZrH?_b>wC|i(w-D#ZcPQ3b@@=rANf5LgaC|`-*hB2BD5*+d%a6G@Y zJ>jApbtV(*9o^-es1UP)9(;dxAsa)`Oi@qeSy(|j*B7&(-@JdmA>)Wxuqti&SW0ao zHT06#dxkI$-yV);aA(eFBRh2M(rraQga4p02u-)k0t^c<@R@Z>w;OIHt`Lp$`Lneh z-y(Rdk+0?)X~=6}>f~JC#E+5W+*TaVbv4>=J3--mzSBWLOnvU>eddbIcneyquXX{k z^<*etgD86AOa$yeuHbU@TIYFr=Bm&+TMe5+^Ecy`jN9R=xyu@Ntx$`)T6ukw6U&(z znTjq|S>rs=nt7|Tt?e-YQQY_}dsHV4otorQtPGnO%&N58BcUyZZE2{ZhNPIj8NlmK zrr&-hmSlWoX#p)eWYf6c(&=<5`mDPpkfbXVff@6Uq|fUXnGG~m79wb5-2QY zYF@B!jmpA~wkg-Iu+ct_0U&HLF%=#`p^zH+`@w(j;eV|ve?ZW@3Y7Yr8A#RfLXk96 z`Vd{eUI4dqhRKGK;ZI(;6;FMjY`&n4ZxBx5CLdkd>H5_8q36AMFn=$}x%H`7D%Y#s zOLOjci+i3Sk_$>JK8!fT_&&=O6Juh2o(Z@Du2OoAb7K{amPOfAP$7%SWHw78jNkR+ zyNc&D`6>Q+uQXfH)mdxRaeT2@72G!`zXb3*NY&9Tq3(XDqQCLtoht1vC^bIknP)eo zhnTts<)x9#kQZ2JmYXdP`(WZn17V-=degJNU43YP@ukOt*(sM{!w645k1x{=gihmnjSz1}z1S?hDE;dfIymf>=pWbVs%u*V9}r z4EKuqH;QUz%Mrqe6d&}Zy1R6*+GVfmCF`#iT$$1=@p2D3B_-p`PZ-cKT$3h z;sl=v4z10EGH&MJ9gOO%N37f%(FD~g%My4!dyTm=bw~p_>ZOvHovzMjkjlSAI zwo$|}|JMg#x6&OBYTI@Y6S?F;xxC(RAIE@*psW)Ytg zv-=Rd@t(a6n|3*$%;vaArKFSU_rVK2mkBNJ=+}RDY&hO{RKiE}_Eo~{;(`g6(XVJR zc=^Nv6e$YV^H7s;PZtQh&5KRMd>Suq6@LaelcUB-Jf8_Ho9M9%PGs|DtgPRR!BS&! z`OfN8x1~UQDlb{-*@Tvi13iKXi{f{kxa})C@V=#qoUWn8f)(2_CaYES@IF>?X8hi* zsKI?g7`LGKJEcXP{Z{jeIS9Jn4Y0sHF>iqM+VD1NS1lc~-Om?bwD)$*z1J{@_2KaA zI^CjT<`Ix*AO%BOg#-T6_x>*h#)Uq?Yb9XlwW_Q4_VD{36t3;~-&@%FmwsO$jx6Yk8q<#og9cmmrn zxRA*9@bGtbn|_#otdS|*ArB5N)E<1HGrs$j(1jD}VjsujR>p zn{d`im$)ivxje^HP7UKwYce7F5<@b3n7Mrqw&j6b#ZkWXmlgYO3+i7s6oJ>3Ec%y} zF$H-ZRb3l4%e{9`hHyv>41`bLy|XB35wj9#SD?23=~mOhL)RK(VPS(ZU-jy}crrCP zCMHK-um6=Z?TIc0o~=C(Wm7jv2_y}sDPjEcg@c-e!>cCl_=#WOoZZ1BLuG^T3_#Z~ z6a4iw@e%D`6BRTlYt(MR5`1uO+S`)V?4d%r?frdL^VSw z(+_WcBbER982@eipuDi?nGroh>A->C_QBZ;;V1Fw)i>_C+yuPRwKThg9($BI*P=yi z5E)X_GIC2M)9oDUA%WiaRF#f;4;+_=}Ysko~FUO3?gp0>$-Vo=Pu*&rU&N&>n&MF2lG3SGa@ zst@I83qQ(lVPip{iT$MY*9!jg2~jy%2H7e865h^wqzW8zm_X|QCj|%}W~uyWv$$MfqdAmlrnnLzz|mkr zb!wwguI;94f0)V}%a$&*{%pJDi0W()_u3MA1=r=uOx#OS_txrly#CjDZSqy6*;^ z8aON-vf4S+n>_d2>beR&af%7hRQ&x({I44b?cr{p1n3bckC*`x;=X7mn%0bi-;%Z@ zB*b>0TWt^RUcn)2*3}HMX<&sMlJbcA;WoR`A|3NNQx2%7&qRo!B1YVvnl&#_@%*O( zy6~SUbH}OfQB(qx)zi?kv(jbX-Z8p{wI|JeSdK=eWR7&pXPhz8^WQH8YxLf-x!#oZDWj5jtgfu@#@%rr7MTznSAI>psd`V%Twa8oLyp zeoXk^HqL)Mj7o@f|zv?~)(aFx-!qn!Z z(Hv?FW6^zw^+j91rf7@@{rfa7KkykNo|xOk%NqaWUH!7_V{XHP6lh01q3$wt6}93y zZN`f~YrHk#c0p!)XjrcR5sEXy5XSKO%ahd+JkDjaEVXv>)pL5?$lQ1GCG5*fnA%q| z>Ilm!Tbf1hB!^)p7M*N`^;n9a1ai4OyGdWIH{W~{2xd;L6~h<61Zb*+=OKZdp5qm! zr?)E@eq2}_$Z*D8$b?q%@pDj`8}ag2!)sr)HVfP{#fKe;QxO~<8wYB>{Ok8rK=2r_ zF=_fxURQ-HgaE^=rNUM(n+^4bnj%c5B5-4St2@+54H{IjpPrMPor_OWcOeflLkm=j5& z8bNCp4v71>@bYB(>Ts)@18gvpQq6=0_ysslbj6L&D?sz5S7ux3 zm5+cC+wCt3-DEdL3%XP(eE#zGcAaPmB>E$@>RLJnrx+4#9ZJZvEcnxB?my(K(@2V; zT|+S4TLeeDz{BCcxuO32rCy%s|D~2Fra|a|K!v+IPxQAMg3OIY>LCVqO2y!6x~+7w zUAV%xE>bEez8x4x_VgJA`p($uhv0Qt*eJMemX2nZ7FgW$w39|`bmPNiV1cF6uXed_ zXlqfpu~o=db0_vhH;=}qb8K39gk5_9Ljh@h>t8xO0>VQICcGHS3Wb~}r@SUP#M+G} zbUZ?L3*NqJn!9R8v8bY0L3(a*&A0W5kxXE$-0s}3Mk%wXc9a-)CFmY)x;K;h(ATns zRC!$DzxaYfhNHpdCYZs{rP`I3PTXGmvY~z2H_xDSWv<~BMov}{_vA=~z{K)U$z?69 zPH5P;dZ=c@eo2Oa_2^ZVDB48U``bAR<@ppE4G~KDZyvIFtZ(iZA}W2+vWDD4V8Rcy zDy`8vaui#))N5e;Ib{;Ce1`aoH7Bn1%a%q6P3@(RUptIgHb*pe+`2D#RkK|s9*@%Gtj}zVB3O-nISisJ>*V97eJ^O<9V&3nUR}xC$mn;aeVi@ z+~{_@I2zgk%e=F=H-$C#-YrHt`Z1Hk#%R<{JU-F&u_6xFt#Z{QS0U8tul*Jh-Hg-u zlXzs665A5nIk$%BDh_+4=vQ8=q(x{Tt+-$NPsw|RD?xn*$D8UUC$p|ywEh%}I^cSX z1p3K1=;pQkunTDPQ@)oPf=K@A@2D|nhYiW}SHVl);w>XKH#f)mnE$T5dbdiG;)%bV z9e05Zdu@&`ctJL45YN5l4N<3?M7dFRt7+y>>@sd=_nPxGw;2Gw&T-SUw8%dQ&2@TL zUvU#|`kAY_DdL5GF;lxG+-2Bu?ZWwB&jB>t(Ig%oK?Smy5c05e*nxlOL~1Et_rDiR zcwS*CF_pG8zwSf_L@`;&i8DQkomlB-d%3_SG~o7D`T9kkRcpLEMsWW3a;(C69JxZC zD6KQM(ajGsX&Xj8_>l>l4{|CN9J6vJLgu}>WHk?+_Y+b#QJ3_IgYvEs%pRxtqPYup4G6zYhFd^ww;r`pi-|$y<8`|bj%ey z8wY7_Mw}Ky-{~WULB!R9z+K%m6WXea?pL-89Y|@QkNl~zv>bl0)T=XOefE{^j3XI= zGNx3Owrn_k!?b;O!@NRAygrQT(rBp)va6^QN}h}-@b>s|ym_CS?8%AY_{Wzn+xSnv zQoK>v-gJx|E~@gksC&C&^Q*OkvyI}HNH6_IK2{Y0%&SQ5D~E5jyB9c$B?cYVa{zzs zI9qiZfp$enbJWSejyK6B)0%)Ql>LO^wTm$95KB^70a6(7dWvc%SbS zAKJh?J?+rdt%tJ}6zgCPZ+*EvRIig|LOxb_)H%q$zSvzL`SO{DQUq`q=cSIOq!NEC z({W_K!HF)M%vZtxot!Fd9LEvKQUcELZ5x4cix*qbU2f)nv&YZ#*EpN~^hzdfSnSVi zPAzVvvD$FGtTqsVGmWBN4SdR;(TxuxjpY30dpA+mxc*gPGwKmiBrLT}RA!jb?BG&O z4By21_iFEI!5t1A^e+cyp)`r+$PEsb(STQc>X8HOm z2n=s7@f80mfg5!2Q*Hp^>$7K(goi7DKF+#DLSlCBxxv*Yv*EI@poVmhdsn9O@dF`E zsx{uXP7~)S&BL2tbI|Lssl;|BC2n}@NGY;DM6RwM#V{+pp51atQ_4$lA}TD?a(PT4 zRd46>reHt*&jcqGioSL!8_wKFwnFF;&^zby-&hrT${{Yn*k!A zkYO{&Zh+3iYk90wklz84n4Kr!GOQp`g&mnbOU3~4C{pG+x_V={pI1~L0m5!i7xsVN zlW#8{(;;8K)>xQMSAG|Sc;G>hn|9@ER%F6$Uzpx5?Kb1%yEFY>0{^-2_|YpadWGle zZ4_U`aWOV5;(}Kq?9D|6b-;o&uT7H1*_o~ z{cRo5T|LqCFXPlsZvzm`6G(o@&U)Nrtz5^=N%WwnaX}Lm@w0B`7NvK0%{>v9s*mc< z#^X36Q!u~q|E>jQ@Vwr)d|rR{>lmv-j`TJe!;nm{y8ldeW}#xa7uy+?Mj}CB1fHJC z_!Gx16j+ujvy{TGc=B~u9gDPULL$V75iLfNAP1O1P>_)?LSyR?41Dts@;K2}uh8>J z;!#~U>Aq3+SlR#EgUHBq&Hz15G3!dM1G%^{t8vzX@*A_ClSivdz1?ir)^Ias7LZb@ z-WUdhhgQqqV<1D!p5wY1T5DNCHdOOtOfc$3NosEoP#!eqeKi#vPa)dom_!|y zod*BE*iksRc@nKkZNB<`i%qisolo zL!k~x)NFhCS3gz_pvab*l2r=rf7YShyw!f2aefEVC@PdIKkG7<$X>5g2Mbv;bNt(e zp!k5G-efA~H_Ik{y|c%G@hVi7BH{{CKLFDFhZS4rU(KGkN( z1gnA=N0oH(4hIC2v*k019eq8Rb=U!YaMN3Z8z^ZaBkP*SlBex92Bn)!P>T}V)C~=8ZB%J@3^Mb(N&!Z zde+Y~@-J6AeR0krML6hK+qze=iFub|!^Rs7_L}zRDteE_mp80DqPnPJS#{UUkqzhb z-v{#*mivpw<~g)5gk{-Xqd3@;?+DSASp>dgv$VM^h*t`a*&Z=-47VAWxo0rlHdnbJ z!B970m5@pQ^1?|#P{hrfs@)k(p_Y`!UK~^__ zp`D-(Cz*6xIQ!7Ul z@Bax*?ViwvncF}soHQYUF3j>>;lbv3bUn068Q4rK)_1XUdO2AR%G@pRwEyv1{n?nV zhcaQ`s%>n6~vbZ()00-C>`~+;*IML3Yrnc%rvir+PbXa7T$rO%(qg*;X}fBuC7}dV54q zEw(KUq8u1{UgZSQA!tYVuUzCsF3f#fSET}Po`j=myu@!-?%#OUv!z?BCKiWODannp z>#t~;D~RSHVZQx_gUX-PJJsl=5iRYx@$^k->J&)-x^WvxLPMy4tr~4=9 z$i}`&uGC~iS<77stk<7`r9w&PCozvGs<{uZRa~m9T5>A6H5j-prN(fot1r33D_2lX zg{^b+Z)ZJqJv8ekGnurq!=9QCzb^Vk=&pS~Mq|=sq&Xn+QHRTF5)05>#-_Zd&8_ru z_D9qD`pk-*@!$ck$gXJB>%4JodxeX$NHVxCHWrMZeRnM@DT3ua7VHV|!AbO` zAU7~w&z57lKm=f937N)p2sN+Hcgx4go*|AUQz9@k_D!4w$OVEt_5+R(6=^ommWyu%;9dSm-C&jdtf(}B3(sWcP$=?C&NQAevneu zmvS_76!Fbb3D>qvY$BhxJ|X|);OHFbUP5`XX=vk-U&IZG4`*E0eBl7P&EbE6=e^RT zq{QP#m$t%ZY#!O0ZdMdDMs_dLyW`}owtT!b+d*2HfpFYIX_noYP7#xW4}s9YNv*tR z%Bm)tqns-@lrR*jbGN-JhYz2WRTeBz%s3!4b;hWZZIESK9MrUSB&kOk?GtSy;m9&? zooVN?E93n`XzBDa*l3bxh~=S#DMg?slVU+s9jreC7mW|_Eg5TkW}%9uPyfbhbAHoo zo7M^vyuNhXTgQsv@P*WUwhW@f!P~Iin#0+E{cV5g85FowQkD1R{3nBxe2k$Ob$!DC zdh5)b>}D*QxO@1BO{v%}Gm7x=d^VDPTWuPMIwI3KU@RAWx|Iiy`KwJ=KAR9%u$9sw z%7t6qUAXU#QMt{dRV|NdY6}nqEq*fNW#Qaf@UO{}FRVRZ&$As>H#YTc8?a4KxooOT z*}w>)UnUmZ+XB6&%HW_n-j%}!PkU>y$s8+}9Ltf{>0wvVkN-=y&6UV9lDz=&AjWVwD z=J!>qlJ{qyfdB%BnAJK8)AMuzljPQ*1sKCSLskq4nJdzT@T*EX4-8a0kjFiBNlVD& zn?H!lH>jDneWutDV~P0q8LDe0y#Wfgtc)k#vp{sj0dNti?-Oa@rjzP-WuOzocL@a` zPve=5&V`5LsxGAx?@uqT#JS`4zFM`s#VXOvdU-gDQ&&7{k|5cZMzB5- zkgzZU6KjcLdq;VU2LVRIsZWE~e0)cRb7zHAUrM3n>?N;1z7E`UdQ#qu--0K;rKKR9 zhhWQG^cY~lR8c*BW05JwuWf(dl7KR8BCc4N(SFQFaS>&+oY2dgK^vVlaBzI_obx^^ z`m(}&g4G8Tcc3oHJZq$+q_i~BX$B~h)wsX~nzJn`EC z%}GME!6_9sL&OCiPNLnAmph%w9TAQ_xgB;+Wj3^hK%|*td8IhH=qQ)bQeZb&fd+ua ztv+<*&9<}V8k4;4`REyNHwg}HQHP!EPc8CDvmi_Zr$D^jJg07FkGz{fTey>J;$sK9 zPX7(cyAec(C1oYkmG>7Pw3`;y9e>Ref_u!s_*WC`C?r`d8%8wt3P8cM5A?vD^&@#* zwN-YM3y6lRL^_b$;`p<;Gm53ncl&9g?i#)_$`7BK9l2GJoZvL;GFYr9K9)p;E}%qf zmr?k$H`H{b3M6!jsaDwzN-|3B%+_HTznmJ+Dr25vtC)Ql&tqv@AgxfvDzII9AXjyg zw}w9X_Q=Z5;({_-*~3OXp`+C;k?tW@pv0LeBblg;AK z0Mk`@{%%M1d~YfbsBoq-UQy-Z=OD5-4ES>=>*tp*5+IZC5vfr9xvtluhwkZIpAyRV zX2zm_lD07o>_uN)v}qgbY=yJQ1C1ESHJgii1N*FE?KU%<@OOCSyp<@80uY&6*6HXv z)2uXDKcw3_gSC^|2+(adT9)ik2RA3zraPXF7YmyQlL@%~F#g_;tSUaXP_uGS8?2?U zh^!>DaRk>#42RjtSlHgaKiC&Sjm=51?#Tc`$4|Pz;QV&5n)Vf+=x}^d#cTez6u^-h z-5VPyODBW1FGes&YuzKl6|5>kZXYYxCv+PqzU!H4bK83KY;7xJiOc>_In1u$K~kq| zyy>&r&4iCu^J_@Wh+^-g2ih`na*L1nuYYXtxs&s3u}$gl+No6RYHD757g^gV-dO$a zti)V9!-*W0^3bgWcA}HVw9=}e?Jl(P<2`Op-lV~;!-hexrsDzE*BWL9|gY{6psAkm<~%y8xbdfoP=(Id;< z(u`LlTxevrfjs2B%qdrclW9ED^?~+$T$+Vj36qOQlM=HrdiRL=UBL!5)pg^DnGuxq zK)EL#WCSIxwEC&qQ0*1t-n;&fdoh3FKO{xP!w_7PoprXl5hDEG*pl zYt-eACu1;k>WCFkE>bS+c6%l=72&$EwakLZB~^vOI>N5m-aPNwKMGQuMBU>qTS%Dp z96dHei5s)E5co0PQIZJgOZqr zU{VyL&PL;Qkm&xYx1hIeiF`)<}+zbo5}EPR$JiR$;sZ>V9m<6w*9D}%$++lhl$qR} zl=-j?u7!wJOiD!VOdJ*WF}h--)bT{YGKU5{MX!2EZ8h@n`bY7G(^^_OMO^`QmBvGg@xg&Ph4@C@+EDPMpua7*>q2!>)3w`JO!gfpH;ygBd>{;rM@GEy)X=^E&2=d&f`Nl)hT_r0(?WOSWc6?0akmdS zKZP!JKrMK>eUHi^Kx?D(TVe9f>3NFU!219}ff`7U+ffeHs|@MWEK&!(3}zy+H&P+@ zC3f&Q)8ub`RLpJDE%khZYZbN~#~@2*P$Pq^i52sq3=xw#hU`;TJAk7Oml=z-Cm{&AWL6DvA`*u**ixl$qT5T+o_jpSLBt5;xVhPkbNm} z#cNG17DP|a8!@ZS?&ZPdQO*UCox}CVN4CtBLUsObv@=NW6q2CDmpB+Ba6(-wr}t3` zUK?fbXUj=lU%%$X7i|?19X?{Wz2ag{*`dMlmW|E3n#L|vk;fO)C27lD zOdrSOH)F%TUIK6{#xs&8PctF2F*q2Z1AhgjmTw*`4tE;k$QD3IJ0JC26fw znL`~2>PTDxjI4~(@I5hCO(n&tVm+TO&y9i#n1YvctxBOQ@EAn>P}Kw!T2ANi<$^D> zn+fk7LaN*c8Y9ofHCP%gBM3LYLZKV@kPCv`GMkk+whj{lg7VMr`gH21oo0HC53UVsy`jYQ4ZzUWi4rVPE3pp%kpq?Y!J+H~ zns8|jVd`7CXHkz8nmU}tkyCq8B*p5eWmSY;VK?x+j zfwHqA4o{?>3R)^=MJIR5w3q$oC;Juu37vK{{>acZ3qOc~rY0*E%)~~J5bumKo1*bA z;yo`_xn^;!7F=uJ0x#q`h7g_(QvT(q%tEeQ)<+c0h5C}-J?Ly^#2BJ`Zz^vK0sVt zE?A$>MjI}FTbYEKSzB<6I$jTP>TByB%9Ls`N^UF}7x5BQGtt0bmaT+Ie|Ssqu{O#1 z^Xxh+ezMC=$@#?0Ae4sKPN5FiF@!DHpv5kIy9pN!oF=D6{)py6_LOGY-=6jhJfskk zh8KYT~2`YThNaCxNcq?oy9S~U)K|G1)*oi60I+&pBMO>IHbM?Y(TlH-{Xu?wdsU057~; zbR8;lNzSmeRe8u3915(@`CFbRLm#FK;FZD(0Zw$Ug2Fyeww_@YJVoFGq+N6R7SWBj zw}a~Ejyto5uS3IK5UKtK%bm&(l30urZ2X4Q3m?Ax43LHRrD?mGO6GuXtABrvQvvf? z-?gcd9gAvC6i$NYFCl=MH1PDJ9wm*vtKWQ4%tNiqscp)qP&muP; z@UM|!MWdqs3^syK~PQ=CL&qC$tSaeIQfZnVvmtJ z9tlbYqO#|S%0i{dc1nC*FD1nb4LA z>6wOI(Ojm38I@1?Yg-of!{Kc&m7j$j?N3tA9bM;(iLRIE5$*0jL^y0utKYgqN+4Yf z9jT6zNqVXtqUt@D9faP{8!|tZA|_t&BLg(`=-WLD%!Bd>-k~?D4y<{wIC$Z>Rh2Bb0HJ0)6^h3#vBL<* z7(%1;3SIEyPT)uQvEji>>{1Cskgj%ex!}_PM{>e352J6E)+yaFq?>Cr;@TvJ3V>08 zZ&j(?ioK}_7XQ*BlmEkf*)qjOs&e~ta1r)huJd3!>FHFL5V^xqJ*^k7?e>UjEIrHe zC^NQRi1kDND-5L)M_iU2N*52?*P6&jucLi%6Hk`ApgJZpvVgr3V`PE7xglD#j(e_V zT0rGn_eJm4h>T`Go?EuI`FYoN@?&s84WEq^)%gdxt)s72*thHqu3zv*O_3_akr$r( zl^$xAe8#T|`tvBczuHg8VJMvGOx!zZQrhfgEx-8CZJ1}_9DR=mZ-2CyJ zX9G4@E@N&yX8OrI$C4fc0?nyx<|T4wi)_p>`5}-H*%w!sDZV_Pb(JCYIBEt?+>91W z+>)W#Sw<<@f?Ji`5+&YApk?3tPIOp2XV(W|oMB&E>E-v(GJ>3@X+PfIHuFxB=XtSQ z|MeMkk084DVNt8%HDY9!v)PYCIv{|kAo!4e&)Fg;>Uis{OwfUpjwV5X-8h5IVlYj=cmB%tAjgDFHeFCgArx2rH zXG|_2kp|j&m%zP&&t-3sVIR4Zr;VHfZ|P?h-^{g*=LBNifD|rK%VRRCnHxykik#{g z|Gu;4V1UDX!|1`ab$>`su;`)IT)&p?>9Zf zMbG7(D5791kk4tp)m4uR(~J)-xC^cR7#od$&g!lnw6of^`(4lF(&3Td;cmsm`=$x} zropgtzknPIqdU4yi9YHiffd(LP?VF4#7L4M;tIPt z0md@1A5kK^O0SgExAMXasyZ%) zvuG}Ayq43CX-qE5_8F_LW|5iuvr)@8EUYx2vwU;EYQ|Rt70Eb)ys$xs%6*eFN9}uB z3WHhdbKm!uTucgL_(Z#tECH4Vt=P^WIZ(5jDvW3O!AmmBt%Bi zU9)|yykFEy6-u>7A3JgVlUbCmO< zt-k$jog;{b=6>wUj2p*{(8HwbS{T4K=q9bdlUUd7N7j58yEop_hgpL=&e=^}a;6W+ zv1>nUFOyy=DPn)WoRk+S#^l%DbRupmh;F3Iqe(BM^_8RDww?o+6eJ8!+a^-D7ZWGk zb?0u?)TP1l#rmgoS%A5!;KpC-_)QV4k3@&o9gopsXaaqCp{WFo^tqwh@m!o)ayd>P zujr8JnM?DHKKDQ8r##Sclv_{CZhRN>4XQLlF7%oOu{L8=`Yk&pi?i2KE{DW&@{8d6 zuJ}+gqTP^s1lvRzS)3h%YckjVps<9rTvUqtx)Y=@9A`U$28Z}+b318|v*Gd|Mtkom zi#1z-$2G<;tU@+B@bm&T`MObNnF-D#Q@tcsB31YsD7uvnZ9p+PWxe?R97r|*dJD-v z7r!<~AG+9u)I#iBJ_O9VsLrNm)XtsUXVPl7?0PBM@0w8*(f_nfhv+jjaB7PVp*?hY znbK0A;|aB}3EVho^K}Z2*?SvPwSg&VeSwqs+|8}wq7x*7z#k;VfB#1k(2?MXjHnTd zLRv#CB4&W%>`MMl7Ki!dl`$){sJ|Ig+cay<7ugmou~`0ZGP6qT`%u zK3=RK`57OCOeI9TKOs?lES7KFmlV?O7hSI38WawA+qXKdvK^&luNpiqo7Q3SB4-&| zne?ol^Q-q?G~kPzz5((h>Np{n2rEa6fB_NSBH{|bW`sb4HNjU2Mz(K$IRz>@4N*Dt z1;>@{IH{+CPg;N;IkXGtmRCJ`T9soD`tawVg;kFjs8%J8MCY+&z!-~!_jBRCbcltM z=#Wa{iiRsxjaKef+yF6YdJZb7nLn+$yi(bgVshTnDsT#fV=2H65etgoPEwkpar*o% zCfVb>L-~sqd{dJj$V3&N{IPHs!t!GcgvL2UU34;=4pZl;6hz#_%jSSQ9w;>%VJDPZT=Eb9jMZ)>qo?CjU&qHmPnn%dt03R>$OssWx?2$gtgq!)+ zl+3a5++5Q6nd8vJ9Zdyy;4=*S^_O}F_zbaNuw}?tzNJ$}_PTE=e^r5&x=zab4h-+?OOZDpo?@5q` zVLqF2MrdsFY6ilRmm=gSj>DfLi(BcJ9s{p*&zKAPA*+v_4kNvIhSvMh3u?=#goa*k zn`whX9R#Iz(bb%0w+$TiSBZ?-7U`6+OyWF|;6FN7VE&c-N0n`-0#Y)R+#B1QDdbEm zXiUl}+u48M*MP(_$QnwhwVV-9?b!k_=a<`988%hdeS<%hV>YrgZJSo4R6!$g8?5wDJ0}69SwRqTwUk%X z5b+!Xr{h{ZeI4cojr)xK(fz!ZhNJ#8;-C&t76~)*e%N5RnggO=M|1ko?VNgfFemTG zj)Gt+&9N9>bt{0Ntz`$-tv;BX*D-_ZolmDd2KN2?N`ugTn!14D0}ESQZldE#{Gt z)iGU92LmCuZwD(2kjmlQ1biWy?AL4f5-Akf^v`E*6vP4g&{Bf<#j_?bjkc50Y5H!& zeqqA`Y;EtgDAu9fo8PqX|FG{U!HB8OFJr#9Iniv|S?iCa_nom% zXTk~tmRfBEkDUwz3;g^Ko7yozI;TvU;CXXa7$4v-hHY1EvW zgaymJsS2q-zEJ9uCa=D_%NAm-eDo%jJtW1S)XAg8dh6@6<6p6_iRMF-eSPo+)OOu( z4%isuCa3r(SXTUuZlr2V1FF`-&s3lMZJL=8nG;W^>#ushZNz+G4fy;4szbt4+9uUT*T7W*UF>N_aChz*>$uG&zbtyjPuzXoKBfCv~0OWzc%U$E<{fP&q z%ln3i&Cs84|7Bn5SN6EtPw@oqKvYxqW_u7hgE!2%L97O?goPt%_p46_C;Nt7h63G> znvJ;j-;Gb699S6fCie8l2Tfdm<+=Aq8DzlJx7a>So&=}0UjV@T#WmAov;c$dl=$1`s~ zk*>u__QcF<`nbDoVU@xSzid!t;f7+m6n_rDL~|nF>hxObGG?wPHZ;)SFkd9?cBg;kWqnV5W0%h8j7WPKSpC^q z-c-5DWJC353$D`Znj^TTHeQ+Q%c(I7GLzCk;wqZ&sotrH^=9Q}w)HBf;zZ?-zvH;v ze7@u?u}d!U-g#3cn_#@*stbl2tkqJHeNUtK{SNP}vp78EPL}s|>OFsMkHY>JmHv&{ zx*FHzksHLT0O0Qe`KL25Vb2>^%##A7A9<9*#Tl9t`TN()&+C!vD#wzT69eB!GlY~L z{agk45*0#IT+~j}He8@iqT!Q?B4~2hJs7Ld)#V51>Ja-cAAFIpc&mE#Hx7d#K5s58 zMU}z5$sPshIUcs&``H=JfW#2ELH#K!nm$hyEk`peB&Bnftz!E9_TMWgIIa~G_-qQJ z8#tk)PekjRcO{*RC%VjIE0kA}4_lGYr!q_~ToZ}&Y3-%%H?HuUQP<8Df`?fh*C zVfU1$gQf>(#6o{`8b4|N%MRS-r2*3D%bNCi5iXmqD6{eJ_cYk!>&$bQt(F6lTv0E& z3`=7el$Q&H2JHHhO{&a$b)zjlYkc3wkE=i!OT^|zYU|{xNU2CneM7f@cth~h50Kz& z2wYAfr>fFZOKClbLW*p^D(AiTWAEX>|Dp&wMs2t-N}JCU<;J9#@o5uOvS*WHy`k_Q z*ET&M&tGNfgFL$)CSPJQ@Nf*T3Mi)wwXJn5!qdlYmmmP&Y8V1XV2A+<>RSz^pMp%~ z-`tg(%;>e)FmgiI^9-SEbBiTjAz^OH&Hr1i6F8@Nv2-j^psNLA)2Zk{{e+KhfY2 zQQjsLdw7;js-zVj8Wu}B88)5qdRyqquJLud_Y5i&`<=9A)68V4Zy?Inq_ZBwXTC25+wxU%Tq>37msVER4Q>|4*gs7;`soH| zb;B`uvKsn}A3j?9^+z9nrlzw79_coaj}AWk+IMfP<)>j44vVpazwGi~=S?#5)*D(Z z|NhOlAFX+J{U7}Eis{xdm03hw*un-3X4jZaELw%4D{wBhhAz8Svt{?wj@KU+RX{1D z`O6hhRJSGvae$uZFx347^lH9VrR|8mzgz6`{pw3fftZK9Q#-r{f53}IW#+k_#DaOP zoOR|F0orMsKKt#De--m=Ou3Su$T794&c${;Bs?fUjye%0zS7t!4hn>D9p@cKAC$3V z9uJO`O%)!8;Rd&F{j(eRXid~7xAKoc<3}1zX|-M1d&ck7gdP^MD=PSB`r8Up2TuCB zHJd?Gk7zcb6lbmpZ-%Rr3X@T^*N>g3UismN9O?)#es!9@+z%>4>NFMAe91a5>)gJO z3~w+>86HxuRQf!8^?9$}!sUHyv>Do^Hj>>Jp#$Tz0td?N?BdP)7bT0fgCQ9fuo?E? z){8OkuKvwXzw_X4-q`x{IvOp&8{A+t7wt^jNeCXl#VgEJQ|e>8g6OzTk=oqPf-1C4 z&viaUR5rW(N@!-y?E~SwMqWO+BDhIL*kN?V_770m!gF#s=e$t`G)Rn6CVIp{Whgsl zA{m?UFn9IYtA4%no&9w--cvwBfDN-&YJW7;g>(Yf#06T56_JEwP!r6)JM1~VK7QhY+@0ZpT@k7%IkaH?h_XX zF0|I^6cr5AQ?u9$JT?w`e>b@l4q;8d&1zK^t{waV%bZz5K`D~RX2N_n6$N)bYDK}d zpvyBv*G-9@tI|U3v6b6(GKDs#>$pKf~+GGZlO#$AK2d zpfA%?+QKVcJ-q5pxJUdDz3!h@d-tv1ISaSoHV=Wlgn@0or>Kx(%Ju>&!Q%l6o1Xzg z#szNSjD4DoZrUfp2nA~LB;eIjY87$} z-y<##T#=whYT|G{lUP2N;|@B&X^n-XfEHfFIoh@5rY@s1R0M`)gBCJrn#2?u&ho*X z#>ANkH$yxQx`$i0)okTx&3yNE;vdet3knLH$=P4LKZRNr0FySD^G*0D_Ar=qA3TZMfnI*8wEZvK72#X- zk3?dl5)x4Y8#oZ8aKgh$*&<<|MC6&7ReZLFlU^>>%6Tnwf|Zz)mLVL`Na}2;Lg5P2 zOFf+et-tHsFKnzlkjF@zI?9+#Bu1gk@SJ}P8VIz>snTtUQv{uC4jv^kqdgd1OZ(y3 zJNLd)`k77>2!VfE)A?p|UIlwuJ^9|fzOn};YHg2g#OqK8t_H>RA33yZ7kacLaY|$Q ztaHSC%FG|y=DjCgao+mGuDvTALT^Jw5{V4zwa&Ritm+iB2T|DES$#h(lc?>InE+G2 z38!Rp{l`O6i2CxAn3Xu>i2Cl!2up0r#l=^xC~Bkh-q!k?#|dl%(Yy}YTU2JS`U`iUXWgYM@9>8iX*Srik! z9q;ev+GHMs$_(rP{U7Ep~_t4 z1pU0%ITo~!&>2ge;zV(RFp;HimksSPai6h`HGAy^@Ut3(J*|v#ceMQ?#-c&3(v3^x zw1t!jjl|8yU!6lWrM@5tM@?-SvTDdo{;pE{%wy9N2(oT;Pfw3-&$+el1L)?jZso0`m3`%0 znBA-Q)8&n?W4pYjI?}(}&LXDZy>@O*EVti*TXx(V^6nA*w+Y_e9I)9O2pSXLO}`jP zyfd(gI%9V}sE+3+BoOpn>kY=qZB#cO3_@m<1fmN|^le1U^1z}YqI219A{ULuN?c(X ze%y^C4dz$pA<)v$a84)!{I>cQBHyl>XbR@{d5=T!BqU*%I^>RlTv`-Q35?k%C48ESZFXk6c=xI4>5MoXh<&sEcQs6&K1 ziCN^1$G$<*AvCW`fDvAIXO>TeCgWj#++4GGUWhkcnmk;Ejk5uQ)z}BOGFgL*bXyo1 zR`>Gm^MM@CQ!?@E%Z*iQK9!GZA~VanI-6;JpKNx%^qP65BkO4JWWe1bkWngIf5qN zHaI^IHIWJv2-li-TzT&gH`iWDak%5!OUU&HM@TDwC{O4=(o6GdKr;K0m0D6|Z_Ntt zlCZWI!E>jG4D^O$e|}zSz8td%2t)BIEdtWhg;^po;SRd5ZjyDLIz(&=B3fA}$#sCj zdqSHb)f#=|)U@Bomn&shW`j>CX7*9aTa|nL-BV(G_JHXSPI&Rv@u-p_Gtqqrf{yZY zrhd#4F-XOs;lj5>pLXS|AM(5P6;DqH(V43W&oDg7AACGFrL))Cmfc&hOEQ)j+v%*; zU|}75!kLcq4d3&wfcj@G|L#%z%cnO@z5wd-`G)ezcpLqXIj}~l&3E9|W~Rfu)stQG z%{R$&I@z!h0=rAmGQG!D|BzA6l5|LR0_NrY0*JQ8Y*X!plvSn z;v2}jUA#X+RN0@wFq_d3D1;i+fS%~@@9#Oyo4D-i%JhQ< zX^SfgAH!h#jd`zK?yl&}r5lLZylKu9FGnQx>)JK%G#Ybx_#3B)rR$g9=Z!x!Q}6Dz z=Oc+gO1W$9sxo0vo`HiLpfMkmxehPQWnEKoE3fExm(Bio1iUPGn>3Y{C-agR$uOC? zn*M>?prAUqHMkj)BAio;@uW|>B&M&n9qC9uRyqlm1ig3Jz`-rqN%}NOqHk3Ve z5$T6+e^_}D+5OIMZkBwuiBvT=j~F%$@S3eZaolb4x@n)o(MQ4elFwCvF`fjotB@{{ z(|n%Yn7W7OwyD@l)l#M@!;+7IO)~K<%^=bR;N1~b0RflwWV5-J_6Yf;cZ--rqfMGz zvkHBIH-AJ38HyI%9){isPCb%bR6mD$;f%B_S$QO}-+?VL+xAWOK3V;stU{noAF=_P zb1J}CO6@RBL*MHAA{F)Yh~7GC&G1Q`WPgaLSs-I6Bo>QzSEi#FuA~}zDSe0$r@JE8 zuB(gp6tv;_XDz}-LKRMnBu-LZY);#v@oI5e&TwXgS-yp~xg1aQS~4}y61HbPZF}t1 zrANKQ#Ed4k44_DzgY`R(S5M8YJSrTRe}EimIVX7PE-xwzyuD&3yH?mp_!C3^@{97% z!AHV|^$;;ON*I+bjoFGq>M^K43HwvO2$8}t;P~#A?>8?N2^+)?#Ha})Gbl`nG90Qj zt^)CLRXjkuJiKC#M6#1B-CW~1;OV0bf;JHUY1NW8=LN2gV1$9LHkKpFfo=9eAPW9$ z@Gf3mHd({a)-E+r@#i`fNZSly@Y^?13p$2!EzSKOKW*FXn{-%Wep*zp$A8dP-qJ)~ zNtgUXrDjNvX|~*&W9`o?WLvzP1G~5*-uBLw7R*u(FWHEzZ+TlR6iP;l-^R>CuI0}W z=^5f@5tb2y3Q5Iaz&RZ@(e16N<;su9`EugZ@#u(YS1_LA{^n5#;R#2nY0%2n*;yL@ zXywjWU;m7T+j5~qQ-6gTK2`3v%#`GDr+tEYt#+4QP%L&%>%~J(az$6oN>-jD`x$y# zE0}4;x;_Idu@2Zp(PHuXTXw|ow5!8FUfnI0C-hoMB#5z-4+<)q1;FsSaz0zJYm zVoUr}WRuZ~do@6(iCB^sCo9uE{X<71Wd8B9TU*!vNsQkNSu?)Y95=*{MN^?h6Fy@` zam9W$1}x+uD+^9{Ssbtq<*w1^%|#LiE8=W?pV-yIDD0QT%AoHwITze$Rmi~54lPsY z1VmRI#ZPi=;+5pOfcc>o)=e2i6*!HBs> zTa2oqAusUBiFQZxfR|i-vbw6SRZy^C1kuNIR3 zJ3I3#By2FjfhoK5I;kdhw0g`n!r5(Q(6ZNpPOPe~AR82iO-+4Em3RyWJB5lF!~tk1 z8}|6vG$o9BKU>nc^0rnY?r9F3UU>szEG*B;7wKQc#jT^M+D8uDDjYN%JCW!X#t=&v zz@QT=M5}{`XxkTYwuWQNtvgDOO{Z~c3wb!cdy~W}38lAEkDQz;R{P2-@(;uQKQlm- z)~%_vG~7(c;@ZRk=7BCnoiURqn+Tz}l0+k2Pdt37%4@+R5O3n(T(u*sP6zMt*k1Os=;nt$ zXx|#~28>u)=ql8SG^U0#&tCKf&wn2fII3LgzH-ky$vl_1wXYu;v~Z*}Tp7DIJWYAlO$9X8(B2&E@1rtn$D3_E z`tkG~dW|;15OFwdX#m?7E6@a=sK0j49w0C*jTH=)SJ)ohnSphIj9bT#3oS%F(?2WE zS`2ar=W7!gpIU|@{B2~=j-}uL!;g(=@mDoy$m`WJF%EN(^<|1Ce_G9?JgO$mnRDCs z{8FnrNqh$Vr#~>zjYymhV6P<;oWTl((aa3U10)o;5_Gh;Cnvca~U+;v5e( z&Ddq+Ik;aYaw_h}gvPl{tH}4c3R6ARQMMWWE2n(#&)wPa0Cdrrbxt@@M9^TDkx{Yf zf}Ba0VWa)1SY(-N6O3DZ-*mWNS^ovObDy(%L4f4*53q_KXcdj*$Laa^JAo%MWXH+kz$lO`qZp61mJ|XWaHhoYU`hf zbR#^h3=59f;j}Wq8gw35QCKR$iwH8FFlBgmn2YK(VhR^P9Z;`~pqPzEcRUQ9f~ZuApvx@Dk_Pp0VFSr|QS+A= zFiw=oei$r_vb>;>tRD(|c7quYV)dQy>LvB31pe6Y zeG8Wwc;(@h`TdVf3g$w4qIP3SAjhDuj|?kUf~E(|x5e6E=zQO)8bJJoF|oXW&lN)| zuzZfCrg1*J8-hDmq4;GmEr^AaGrH2DJl}>2oC+NH_%@Q=!HbbYw^wUM zhv{6*Jqh7(-EG>gx+4k`p?F~c5lNUWZN(3EDb~($;vG)F0yO`Y)_^YT43x*)jDwGGJQo(*XD$e6{iU!o^NzJ8wZeT`l7b5#$@2r&Y%a`ec zGMSViC88gas+PZ(vSdp)X2Te&%z{g5t>wT>f<#>=O1eQ2K9J?{m7Jx48iW?eEGQd0 z1|QrW^-4F{fAKkkVfivTD2x?)S{8`?e4!pZa4rtA_zF3U0gV}vdilJ?`ixEeZ=$*E zU_s_=G&e#vX4PUexFGTB0M&h)E2QOhOe=cP0w#Ttf&3nOI&?wX&73!;CN4C|nE8a` z(scs=`06yQ1yE=iy*_;Bk4*Mk)gHC^76iabV$=2ch3RuyjOiRx8=0Y>sk{GP)EO!^ zMwp6v!54Cc*anwjfY0L5DR!u{ns*E?#8*EIz7*rXSLpj4*D;u!bF-G6VX04)CTFgr z0&x<+jj+J92@M`>rjW6meo(bG*&eW7$Or3fT}7_uWwcKddn!6T9kysy^v%t7Ykiw{D8-Bxay7)@_kdBYdf^~hWBmgClfNfgsZ zqa^g+l1>lG@;fhSG#BsEy}Y3#d}#h#yLNep`(iopbx@kpe6?-lfDAR=t%QM^y-t-3 zhEIkHY9f~S0UB0Gl`EVb$;0&7C&+;}IP zE@D!dwB#bodHb?RasP76W(Ff-ZZO5$>~qkVtGs_&KN$N9tKtSko-utWK6JtXTp7&p zuPwzcRq7qI+KoFC`r0Vs2%4ce7&a&$CCki!{p!DW_#3~t&)k%&dz;c=4=)2T3| z8=D`TA~IHX$e60{G@`XCbA3n}&%&*tBWkkR9|B|5%3X!MBq1s;eUzY?_sE4MR^v*q zNlYtK(D$Icn8WX~+pV88OKQtH{mW|ir1!n{v`XyunsBI3FRL}0bxDDHDbz=A;z(R= zCN%CO9KP&ZrAW9;H+yMxZ`E&!%$VO!HPLp6Cm z)pDcVbnn#kWEXK8sS5X;m&e4knKD3@VNl4FK}}1Pet0NkIc(tE)LXo~WeaWAM^L5j zs705scGAP#-1$m}?8Y9y63mGWKHUmyF4HdV zgi}`f!WWlU9#usFx~u!n>HzOfGoejdgf4`DeAk9QE%A?m#w*&aieVP(!$x;`1Fsdg z$O|(D#cJ>dJ}v|CseX3tVdLCuYuemee(E@z+ej_ioN*=iqT!eiwVZ^zR{cgvmGE$f z62>%Ge6Z4G&Rj4DATchp>noE$mgA`=$EL?59qIo1gNwC%0VhI2KsGMa(y*hXY27Bk z{V{;aO+-+04|y~<_~a9re?X|A$}D*~LE~PRR8iLr zw>P(9q3!9I1K2;Y#ud|5s1Fen1~dlZjfL|kQUbw4*1@f|K`8)IVnADJKHM6`@Ejg(RH=H;S8`INty+_&ZTCd zg}qDzk>ltRbr&>r-m#@pZ3n4pJLLVj-+1Cm_ro2~DWLM)c5jdI4YZr`gAE`n-$q6S zv!vBPblk69t=w<#k=G-s<%-CeXl^BaxwGsm?&1;Vq{^(B4=Bo!-2$wuTvE(JS9JDn zNzM%y*fYxMGpgx@MPzr~3ZHU#d(D%!c)r*<^U>6|(02K<<#LqQ@$h*tHncT(fENZ4 z_284CgNov|h+xIkmbyxpuzIneW~F!`>1~-`*V89$^TjJ8)g4*E$k4^$+9Dom`V+yJ zKwZ$NP4}K69DVLzE`r*25*{vm0!&?W$aBSSd;H~(fv}7M^Uo@Vw(CbHvs>tSc0lo= zM5;0m>H>}B#r;{aK~Y_$6;u{Gc>Crj^2TD49uWFL&YG+qj1$SDFV|(uIOeA$T%5I6 z1QQ*bbuzAk80`*%-u7}~&b_pI0+(fo)cPPS>XLnRez_%p@FSKAP}|a5k_XXj*Bb3> zhGU0E?&qsG@Z zR!I@qrW1lA)8Y7gl1cX!@tvNQ4bYt#Wt;&W`k$SjFy&ucFy+a+um~6N#>BpL=H^)g zep&;x*Ar;&eMbi}hBhLteKhaUGL6~qh!6CC5Xg%$+$2sOt(>pUaeoqg`~D96 z;9buLQowF?yR5-4L*0Znqpz#7&<#bf-AY`Dev?`y>wLKAKC|3qgT{Z1D=)h_j)PCi zlq(ar)iUm0DL4@Ixu5ZQOXLY>H(_wqhNsUJx62#B!V5Ko>2$a--|K1Lsb#aJIgOaZ zxS>m|PGAf^z}FwNbPuU}1GLl&bqh2BiX?Y|OpIl=Y;=F~0@>YiPOOJ25N**m_p{CI zG;}zEyqPeM1sY{hx-1y8putl?yxgLJhL|w zkt^I6rZa8LnwW1gs1!;N`ju|{>U5KH{E?AGM+_NH?~Pja;dPkYyiz$)N&f<4@1>neYW5sebdx@9Y)7!UX_XFh$)oC<&Ml6q`*2#M^X0 z@^_RH5-Hn*Q9rt2EiSEGNmB$z=-IWKia)Xg`r%eLpv-T)E(8YAmX!k_#NaN_7+<+S zFL^cnk0om|fLivPUe(Cr8}kcpQZZE9+guv`2*2tf?%Gxw>ZB^y>9w?|((oezb6v!T z!J#3}yB)$4ECb{q{iC_OU~X=D%@+~N36DlEth70hggNv)Rpn64Td_ z35}#5Y5m&Ejs9=$fg{UVX-Bq9E&8^@pzY2v%CpRaHNhkv|14OP%vm2r^03&zLkGD*lTZ0qT*Wd;nwu$86hubYS-V$18Oh&@MAA?qaT;&BP;;u zsUXJ$j;3Kw;cCDy6HJFTRlem-)INf?Dim_dj&7o=62?EYeo+ZSs#|tX7t*!Tre)Sm(&9Hy&iW`T5t)st@N%rAB^dCh;NLff)3TkAnz>DNYUPM=p5rRJuN7E{y6ew# z!&(D%nN^cHNM)9YluYHc9}y3({3KyA26llTtXM$;EYi}-Qm#2`MVPrPy*}rrkl;_i z7aqD<5KSy2rY*h|NEgKZfU)H5_v;3a&8!hG4zAp{XFylppeA+jt1r5ZP_%6^3N8TE z1fwHDzqxD}tdXc5=I4hu3Jy`Q9LzJZD>n1972Y)J@=NiTGp!tVMGTsS882anFUL}mrxb@s9co`{^SJqZfnkWw~he4(hOO}cdS+ct#xp7X}azd~S;_~<_hI4)@phdB^^h8jx-0g0F_i}Az?BpK{-!G?3D2P$a6ql!!&q@E

hVBot?mvz(?fEx8jCnEU(WZ3V=VVOu<0f{ZBo!{xcm1l|@?O|43*K?zMSgo)Xud}A< z=XL{CholUT!;^AC3!8<5o%U^C838~B^KQT8k*8eTDe#WAkUII$RD@}FNj)Dq(`O*D`!=c4Kss7YC8#4Z382t8YU@G5;<89+~gAj9zUIPH- z$-TA$LP;)ueN+^CB>X}mYRQW+qgH_H3vx}V(~udO;l-1%trH}|j)Xj|l z1L|hk=oJcLM-O5xP5s{I1+f?GFLNnuRu5lgq3BCGEMUz*R||Bx#yhy~yk7W%t^gDvPOGyl){165&3^#Rgv>!t zuMM9x$~_S|(B)|~Jjrpnq!=$>09JlN1lo*q45{j@-SYgPcEJ|xBeT&lSAhqf_QGDR zeQ|l8wJeuArR5#rP6&MR1&>PK1xER6J#cb5k%^M?(v376+1Y6GYBXxhac;@(QG97kpCpu`FZwQ$LOokdjvE zr&7QFSM<~3@z$8Gp3&GmO3faQGlZdct*fk$L4mcl;!Qt_iVlMxpvRw@S(D=0p5sZ% zjmeLFbEVi4v-{qO12aSsLY{owp`m8W{w_Lqr*V!bfBxm|d?{TBV&H${Rl`a;+a)z6??-q%&XcbcA2 z_I?BKe`s5~vkiJuy-7pNion>cJHmw4HVmeDT*aFE$haO|L3496k4Nn{nt(X_FQTs@ z+jyxSp-BD7R6#d3rq7*|cg{{zE=~k|mM$GxAh2_@gs)JG+_Nos_w!QnOZ4g5FY1nt zq%=)TOr*fH-i@O_TC+ZKbtYC`Rq1@VY=GZ)n-K~>817wHoS*l?GW4js`Bh4J_|D=% zvm8p+rq7tL~48TLYS7M$>z$=bviuZi`x2R+q&Lhi;Q}SECoS?MxI$TqYwTVC&|4p=z24hGG9GYWIZ9t zs$m|MX9-`cu>?jV!DnPK+M{L-S*9SH@i_tSDAYd(a!mj04{SJ{H4LC{-7h8^)*kmQ zLPuEb*Yu$H9ni5VA3I<3oM4@rkvV_w^vRPMkjX50lW8}bMDsM;c;=T?-as%P?SMiK z*b^m5pB{LgdHg@h-G8@kiTZ{M0C?R-7#ytz77aXI4aPCaLKg??qc0`juFOl^Pa|L%8ds5ZB?*lhIdAIGv#t8Ow3ji|1W5 z!GnU-zy?ErnP!mj&?=Jn*$0-(!PS9$zlu-D%Fdw5w!+}_B6Co$U1vA>#3uvi>3pdU z%s~7Lyi47=drnDd!~Z;Tt9Nrt41H*NYt;+?rArM<093k{twK%91G<)#j^VO%KyD9zXA zn9DM9LxF)(6qL8_)AxV|fGX{`YcFUznNB-Or&!GmJjMvwVvlsfxuI_uY774;xn-P> ze^eUF_V-V9e^=@MUby(DCHyRZrSCRmSbl*YV8cf{BM-5Zg2;K$mx=C~^NifofzPSz z>Nso6hzl@cO%#?ArCD;NEZ8I?h;(5GmzmhTQIM*_pGXhlq5I~SQsO+FE#$db!%o3g z4yjTe);ljXkkeCbsu|>KIOfW4tJq&krBbtxe%R%B_I&R*Jr5n&*X~wq<7R&W+fy6R z-)fGre=^k9CF$IB{2DT7;&HL1&D!_H)gR<7pt7KR`YXL7pd1(wwx=Hh4_LP_@#$hh zqBI+3a)4jq$kDcC=>l|skp;DRPal403i%=rWy7vV)sW+$b+DpDc-XDlDp0G1P|KJ# zeUv3$X9;e%?a|_(ggK^i9rGx7^J3>Bum`fv(r7FIP|NvnXb!GYNV~S>S}hp+-rM8f z-k4CbZ8lYBI{$bp{H=5Q+;GI#TWSADY(KN@FZdMv_?00*UA9Jba(1YlDlj80Q4I^Z zK}8;z*O%mK<+C;r*3}2Y5-pYix220?cyT76=-k<*1Xgj;P~7}aH( zFv$pIn-@!vv2b~kFhO;CGPn+@hGzv>13MJzAKc37p?|xGh^?)k1gNdv2P-~~(v?3= z(A;H>p6cy!401YJjfX$G$~eS(pp|w(80VVdnVX#$*0)ZLQurd{!DDMN>f9fD*}Fhj z61(Ay;h3PYdVP&mSNdW1m;$^F1*N``lLZZkr#7M>P3Oalvz_Gow|A9HT^6Z_s}G(* z*bAbgw7iUjA?Nx+A5kC2d2^}0g*FqNPqJ}LG%AB#NknDUjN2KZ?bK04OF+g|`H*qr zp0!9?N;alTXT_ubimz@OpATDC!zsMXbab9F_6#5L%bMR5RP0!4c3D(huD9neoEPvK zV2I@(Cuf5YC@CS3meEzB$Hgx@o_63#dzsQ#xmQV^^Pa9a&rpj7vkRiCtdsDta9Qqb z&MQme%b=9dHF7cIyn*h>C|KA(ZKSjO1trC9oI1X+D{v{MAlNzz6)dr6!VfMDZ ztCg?p*-%)h(}aSBWfdi!%#}Mo9mqJbFRxi8%;@-T+|zRy?d)DqUg-@{CA3ZdPpUiM z|J=NOwRNovNm&jU-~S7yEhOA}><*+))}r{#sNP~1vx1l%7)$8F0Ax|~EYXSV#-s>0 zGx`m9L4iBesoJ~M?3}Bn^A>Z#!uNn8Y|?7M%_}tZBBhBoJyQyfv1UQ4^@Lhh9CDSN ztFv>BQ#3%Y0Crt;vp2tQ&(yZ9nFAqk$^%#W5ZSbpi-GW>mv>AFuo+Tz_>mlbntZuG zgByq=!jIOwF3C4zLkF|G`Y9zcJ-@ZJkrhxYKu2F3$7P8k&a-Skdv)!R+Y ze}(9Ka_!?|{{Flv+km`d(BbD*-K2{E{h;DO@!2qb8xk_=)aF6Y5~7!DtCm}&XK8nY zK1I)i%!>E8YBm)zEX(6IZY#91V^SsT0>;eZsH-=y@CGwUNna=wdYKAjNLO;3h0xKL zcoYwi{O`TP^Pj!=5&&bPV>?2)Y^MzW9J!z7_w_EZUs*1Xhbm{o=g(#)B}{+g9@`H%3VQBpTj6(P zlu5IQU7ZFT+dg!wQdkSRD?^wVSj#qt&UZcZ9(uoO@KwyWE79EWV2-v@lwY+2c}DPT zQz<%9%TzGuTdc!gjQ;%4pC22F_CJ%$%0g2%K0?;%QSGBI&xW0m0W8g`IRa2Qg9_uc zo9bb`DM?VY3OSi5%=ah*s}Tcf-|HXVe^HqJ8+9;S)KVX$Zr_!`4m?iuO*+DwUgQ;e zy93PLrabJ>C6it65}eM~Tk~sa^U<`@^l-(m+(F0x;tpnQ{*^m;Ey$Aw9ZLo-vLo@} z_oF6HsK?xi<*n0vhCcey}59<_XSJx@1 z>KT=OQjLgTSz!^|HhJh$uFXU!bf&%$9SrEzns;v8Q_gNoj%r?x!!K z698lb1w`_alAz{pnC(yg@3Ey;d$vn9c^^o!>wkLBm%8&;_);_Re4bFf4!3JFxZuaGN_kRD3asQw8(Q02fTI%YW(ZT+KGEc+h0g(4(0m zy$%b>@DuWkVN0S=fMAqwHWL!_JZ+U?B#OG3eQmV~H%iI3&m@S%#h&E0SaeI5Ae4|x zFpEOVrD|+^=E+r@`~H7N<$uzQsuF&q86gheYmC!nzbbxs?e)S`K{IK2CJ&Q&smjoy zAZKtJjPo-Dzd3OZpbn*cz5CB2nOfSfd!yj+y1-!sJ5i6GKBXh*DiLF8(X9sK5-p+! zb3-u6pCsLmiWLUf#aUOn%Xas9^Gn@Ee;jbss*5HRY=C5aUvl5mk0FEV-L6tL+e6OMWF5G2m4nFjnsaX0+ul{&6L6fxOALIlNibzc^#WDlB z2&jEVNuufuk1)40;X-y<+)T9dIj{FOaC2>n!=**r6!7&UrnQqd?)RTr_6@O5sk}pE zl(n_e>($89sIUfEbH|gSB6lT@KVxp#}YV=~U9T!S5!pFS<&`;Dh+Z z%Vm0`;Nl3FD<`1K|_7l9O~BE zdG|WR;KVR8E=}N4{DZKv)ndGb6w@qhG;Km5;+t_zS6 zK(3lx_WmN%rl2@S)?p#AXW3HDI$tNK0%%aL{6-d)woiTx& zKjKD4-|>ud)VLNon(DbqWoX(%t((^P3*C(P)I*>u(;VBMkv6dpOx^2wAa}l*{R&k< zWD76PYjKWK7aPi02F;VKYH~vNt5Wun8PP~|`#nZAv3Em-E*+JjX)1KYM;vlM&kKQu zCN=^ccg?<9Qp2Ref=}FA_wT#9hDw-$3|R+^tLR7}qnWm1*mu!c71?i-VE;Mr4}DT> z8NjIe3w?|FZ(OZ~h6+nP($5Y+vDGn~&kFBj3poF1r4CKZAzhzj8VG`ETZ?R{m1n5% zreqO1E6fBMl;JFQ>C*2u{jT{gW4fWNRfdl98@!jLI%HNX-7mfA(n%d+8^zxd6Yw5! zTyHHp+FIyHz8(J`H>FctIIEhu6wS5%d_ZubcrGk7<0RlvV!5z(CfV)@{sA9oTx zyvK6MMMbXskjl5^K*Qf~y5;>-e)fFNFHqj7>-C!WNs7zxvs?TuVcD7TSl8y$zNZJ% zCV&aC&c95Ei`u^1{^!NnW=Ei$q^+l>7eX7$#iL-Fc{y}{nMhlnE$lx!+CTM^wWF3W8lIQA@i+nS^w-(75wcP2swe&) zW0Ahj7Pz4xC;(t&5B+y?`JY479RYuFcUOHwpc1e~O_Ku%?xxx7#-mEy6iE>$D_22w z5n-*{9$kGf2e4#NJ&OKZ$V37RoH*F69pKxod_Bx9cJu)rT-+Gm>{77qsQFn$*2Z%G zXAHD-iP&`*U^i{EkK7F~lWadU`zNjdyws^?QARe;zRu??v-KhbrCWDhl|=hnE#z;t zkiXSJdjCSj^tW2b-)bR$tA+fn7V@`R$lq!qf2)Q3Uc$Wcw_3>GY9aq0s)e}i0zoe` zXQ?T;d}U12<-V`Y>>7XkcS6B`4TQb`l=Sv~0VtLX2l@Y-oJMim|B;+VDX-Ss9L&{X z;YCRJJcM;#+FcEd97FOO2mzK4yH zEh?Y7`A$CNcYgbCH+O}*^%MXCDOVy2yQELfL5~-Ig7f6YhNjpI7ogCafS_XqLm*dzz!9=xj?A3V@VmHIYLTYHKK*=f#|g-r%#!YvW6?B zLd!_&%$2R)sb!U%UAqY7&DYep`Iua1(2%kE>%D$1Qa#hBRqPPvS;~f9IQti%H`fin zN>Rz_mU^@$27WigHmpzI)uTmt$Go9PxJ0!xzlwH&>~^cCWMT8WZWhe~Itz)k*Ke{! z`!NYxc}E9b;-GB~P35|-4!bF$)U>ImIjWKinFK(VO6X-SFLQ~5*a?&?Uo^j;ktTfh z6f{-=os8wrN-I0&PNg(0dw5rVF>L`?m4 z=Q~G-0q!We4jUSxm@Frw4NpRXD3AIEu_y@DEd$2;27FP7;h(`Ssp-Dc0$?T%I>hw} zsnk9@Sa<1B5G%oh4Xh<^`!EVp129FJqM388scPFwM^GX68Zf$=?JGLWDt_XTqIywh zaZy*}uYjTe&;U@UAXBcOF`to9Gn!#{_SFcsdO0wQ%0>ckj+^i4ep2?eYU9=eETb}W z7eH@o2x6>1s7UDECsNWs49%wyGnp4ZAt1hyi;gz&bikfMl?J#_MOIc+JLlK5FSxNH zN_qCjf89Gr!TQtyB$$KTfJH$SK_CYzmM7i(-) z{qwmMH}zXU;L|)>btESXJ2BH)@U1I44yzK!p?EktIgo{vVoFA4)g3X`J%8q=%lUe# zBV}MV{cd8-IaI=&PR8^JRI7#HI^C~nWFfV)$56OFKr=(S59hOaT#B5myiga&B?B^Q zfT}{pR?5*!4i1%0r{Axce_?WPE%wKO_9^2VN5CT)F592{It@WRDt8(znRqCeJgI@7 zeccbQNtRXWZ)k8V^1qC3M+Rla+brG`Q}``QT>R~!!pY-Ne;&N%4}1e4=Cqw%XS>n^ z-2u5+566E0@dFmzmWqMAHnVvx^6pXs$hjWS^%PPZhuvA_=iC6oM3em{cK5z{fs^HJ z?d>Qc?moHn0-#Lk;vb=lf+Gs;iF&MIGrGcI2Xf;d z#fE1=`+(%4A15E!!2y}*YB5LW5R&^f*ofrY&_a@-PBT)-*L9ph_XKyDVVm>o5)Z;&6HkC zaofj;)>6Tvx^;w@PtE9_^VSZE3ui3A0}vtr8V9&nxKjYWH?SrD@Pp1KAZY}oxx8hu zV_txfYN6Y??^G%xIw|Fe9tmHKkGjszDZ5?x^Ld<~)hfNkHeh;nGh>6%K6Le$EXp-R zSvjzC88g1!D<%J;3n0BrhP&aI&F5Mx?%P)ryQ)(puH>hZIZ zQwHaIuNTb;X*0;8BRZ(o#V=G1n{?7wXDORI=5QW=MNM<751I7uv+duq{C2Cd%R*`uHGe|b?-w;|U>uIsd!GIQ?6R95*dN2pO{>v7z2 zv~%O9f9^@*Qvj>qO>KduPhJj?eP0Xcn8oKf;N}?=K$Pb?d%Ht1Ui6)MtQK9Ae8aVq z=Gh51CA$=B^6Nv(M7(}sTKJ=ZFHgIHB!?RM z32W6*JPR9HkA9-1-u`at`- z%mDx1RNbXT^PSuNf@?un*^)r8v?R}Gzg{|N-XJ2hEv|i4eShK;sSCslcZhu1+$>7M z-YV+nU0IQUMWynzj^Y2Io>l3K6(1mdHY57 z1(xRnuU$3wle?4ZjCxRx2>4g|f9zWCCa^bOt(KPN?fmPw!$dfkJ}!QMJCyK#`z%P` zOkSM?A`SPY=+TGE%tsbpp+*6=S7n0UP6+rLWb6)BU18WE+0sXn9tw_JQMg=&8g`8< zXmrTH!;<{Xa1n>y*^m z4~N}E?XwGj$oD?*z_=hoPstk0YfFSwl8eM%od~yvS>yB4)1#p;2)iIesrOdXD5>b} z^&)~uX-7||k^LMn1r@jeIS||D9oB;PfFSs>A%I2>xvJPtn_RlOkq$rm=G|j_w)e}+ zj&9Me_ZOaEBzDuTw6gs=IP}2|JjZ{rQ8ep#w^EVvx8z3bL2uKTxh)VA@bb@rGOBF(g z5JCt92+6zH-_iZ;cc1;7^FIH)mKU(roMVo0k9*v645gYYfKqs3rS(UxHp85)%Dny8 z@^wX^JGA-YCrzN^yU7=!)pE1MESx5IQERLRyeuss+(Ro82KR#ZJ2@abfZmyiF}Iq8 zFQ0>ooscOTobbR7B-|t2a~=@&$SeUG^xqnP;d^)bQe-8Utj|GQn=43eFz>kvnAkJk z_^EL0tNc6ha+j$`WdwzHz+KF@?euN@d61*DbpN?*SkCwVX}VT{`m~d(nWN``h`QXs zcb2>GTV36Shg07bYE_gU7HIrV+9|=M@ag zh7Xf3g<>p_SYb_t$MK@@G|xqaw(PEH5$(N<0rq53i_>Hi?sZLb^W?& z&{G^aTI#%AgS{wC5Zl{3s&nnXa7ZRJL%?mRk9XAiyZy@YU}=k-ov9dotZ5wlLqO$C z(B(WOA)^r`(Bf$J#J0v_rCt?*+^u|87A+K9Ynd>7Kivx|j12SA-WQzjq&SZwvoK|# z-Z$`K@KEmJ9}T_f|1^F!8pl2ktWf4%aoO%}f?dd&he8GlSK&!+{IAU1-{YI|EJ|Ac zQ@0u*9rqUec}r#HCh7`ucH5--CIHWGE!e7{=70+;*gGjR)nn$Mg7mhk*o(x}Jh=l! z$tqjdt|H|sR_`tkM{w&}!Rp}U?AHg|?Z}b%X}`??y;c2w_?&{zS9Z1CO>M`iHfo$VCdru?}VZI=D! zJA=F3kRLWDED!T9AlsDD2QRL_ycjf_07x=l|0&62gc*Ii-gI&7LaV*EH8w$~{-W83 z@z>==va!VB0kZ6Ky!2vR)oy(416<9gRbkgpzgFU}sqN2W20R^Ip#1`%ziY0q;7`p6 zvPFcEYUh1XGe~cO1&Bj1==m6GDm4u%d8T*7_$hW5&}^6sw|(d(?BI;yjlUNMUNoQR z2g}vTXqlyZju_b@x0F*cRkbh3F;^_yTT`=>JQp8cLDi+2EG~Cn6aH(f21^B?LBfa0 zH!pl{<&~}DK0SQcmC*fc-u{A_qg;~oi4yo=`rY=gpQOXmJgL56V|yhPQFQ-BrWkwJ zHGZmV*Cm}}Ys+-_d|bYvUr$*s2SFK{(DP=HlW00~G1_$Xu~UiIWUzKy$yVTZx&D2h zcmdo-gU9|%Np8QUZTf&rx?Mcm3%FRC;rMr4(g#qhj0eFiMyvNs5YUkBBg>Y3-zoY( z*`G+&fG6qY8W*P^FD6~2S0`y7gD9@(9MoZteg*Gk>Wml2|40MNM9H4RRoQWbWla5=&Ey{2&K1e{R)x=p;& z-UEbxVn2(?Ab~D9i}n)lkrTI6X_#L<{)c~hLqg}zZ;9h@&%|7JB^Yy_CmgNjAIyFV{ zgX7-lXg0+5wQt;%Imxp$D8l4yd3J`@zuo{Kp7d4>`<$?_`n9rMmjDea`DOC-L_!FH z%fsLjH>yS>7%mRT%Zps`~;4kOpcSccecRBXRz zf!2@pkgl-gxCG)6ZzAARL7iMq<}E%~BJM)#Wqm?;lnPjv%!-wVbz0x4h1ssy3IAH! zLNi)4t^Xv~K>>`KPxbl?T3?DJ&z7b;b%CCHnxl-(*=Ovn+{F!956C$YORxWFGk$*4 ztA>2u!rCWOHV3Wzea)nY5=~0C$B5yh;tDcI#RN9uR-PBQziX5vxw&B%MRI)Wzj^N? z2p^^U-59M`FALr?a!N_{*1H2uKavCTYx%f40J7Hn!Fps82Jw*gK0n!-C}sUY_d9ng z#BY#^#McKurebgZbEQSkg+{2lF}Av|?#eg{zSui8)^Tf^pN#`sH&Fxnc#?8qi+pgD zA9cawoN>7E?f=QN{`eZp5k@wn>j)=ALkz=NeW*fr81ksL3U*63iebXo!s-g)ohka3 z5r*_t8|d;@NJ=!;tRDtzqJqSP&1O>jzw)~9=)D{j6L!O}=Wj#xh(oo5(&Bz)&@udL z)|{pqQXEuomc*Rxc}!*L&oAIS{DR#cL&}S)iI>vzS8r>FKGWChH;})b`FmVVe;M%5 zCRTX<9`8)Nu5Xpm`>f=NH~I4hsaN8ZuO!l($aZe(>}D1l(#k*oYlHvs7_C{+2+*Le zrq;OZ4wF8J(z%zKmd2&Pa2JV8h_WCl1CM*Ny;Vyb5J5>%VoO4;X1!2d`oufK<6y;> z6=M&Ndt*d(7lf?&_~!v(uiIyH#W32gEncY*VzQdbd!@Zn1sBmEe9aT?YuA3h%7vH) zEjp;;p2=u@jm6%)+g`!r9D%$=`+$4eg7fikjQQ=i>6ME8{xRjkWxwBZ9oZd`FW~$6 z!@msdZx*;FOVepGVLoLcXEI@c=kx-nHQ&ol6QCI16Ha&U&&T{|p4B!ADvQa_jnNdn zIo)!ls5}jiM+}AO?Z#g3&$r>?rH~x8qF6M@2@@oEOng;DX}fk>F&YEa8@nRV(7B5r zu}+34RM{T$XB__d8n9b5zzpNUdbePeSwmsxs&te+Vcdx4%22=YvduHcxTQO9OK;x} zj30fU7P6dwaP>d%rX&W)1>0a)iM+(O=F&+8$#*lzX%+$R0jmO*tJ;X=isDFmvfEa$o~l9Py_X0E`JAN!blb|ZwCvQEz~dI3 z31Bm`>hRO4knLnk@xM_Isn}i32`xT6x%oW+#B}(Z~GhgL+%C^PeAZ~ z`!BZ5OgketqwPWk)37^)o+tr6+jV!GX(5ZVvoR6u@*U0GhA_xQ59qy}DAoVyHXG08 zE@~}acC${%{ZeU@Ou|TdDrZcpXRaAtchVIW?fN2bjz~+yMEJTCx6Q1J3g-8E8Wdwi z{J)Mh&^cVEyfTgKE%*5}r=y5*Riok2obWt$(eHw8_tJj9uu6XZ^8SC}6AXZE@k?gI z7StKakLG&+M zPs*Sl#A=AK#+2d5KK9%d!^*x`ihd%=eE!y|W2G}D!^Ye`%iuW9~zm>sbQ!MTwY#GWjyS1#mhW0K!xM%b- zKTTT8oFceuzkNq(OgY(J_kTb<|8hP7;i}(fWkr_UeeTB_j$3;L1{NDI1j5cQ3D%u6 z+Iz_$z~I7$jSupAQ@{7AVwd#AhPgi1j3e>VD84GS#tGtXG6;XMkA zO~G@W`%lkr6<+O8W4Um|gzRz_n;a)EXkb0~?fG4_g*JfEh(nEzNYdp25GKpndU;@> zt^WPPS7oBYZw>k@xH7vnelv8tx_d?XxB^qBP1Km4xku2_3lpbJOkMRC zZXUsei6}0MaUli^QLMk2wfkmaRH8?_N!@TytIF?A*@I4R$)>+Yw`%GU2lP&dIOoRL zi_0;a^^|{CR_xa9XL@BJsn2 zv#e7B62+}9*DS-QJ}v%O$U%5pl|?~p)B_#jQuaK&-Ya#=+qXD!y8s6MK@h_! z;|=UuyQQFT)t1`jL<+t_(7MI&xfe-ZN^kS4Ry%b%g@R`WH${6DYknhH%P4a)nN%9fczqU(6>XIwEh8nJR9!*VyKr_1tT9wv z?b6h697N2V(0*OjaDR@IXbJC^;MIr$#OkfL z;JD(moOXd#p`Qz_I{X%$OXM9_BLj+zbJ!fgfqpLrNah-`gO#us*)plw7(Cx^F+=>ZiwTP zO{`nsrNLwLTRlFJ$ZxP{OfOA}IQPNK`twNfLWPy`=B#!E&N8I3Rc!9hEq)1{@#p?kD5L*u ziCu401^O_i_HB$qcez)W^bO`q!DBEkr}mOL?cBYu(RVdL20;;b4MMtgd2Z*T6O;uk z;*^<<=Wn|n*Sj%}Mo!H2<@zHAh9^T{SeLJsahr;i5dgqky4kNX+6 zis&!*ndFX)*Sz@~KK;Lw*aqbjTQsOs`*_eQ0_b%vGFwKYB7WqI5xG>q4RLo^(Y@4s zdBo6gGzoH`rIRK#Cbi-qtmoRJrjnpM=Hj}ljckt)imAH?je!W~*mS$W?H8>s3xs!8 zwrA%i$lI*6=-Y9MVv`N6Bia&~LssJ3wf*kl^fN}(`hIRDOqAy2)`eAI7LMRQCI>%X zS^|0)NcsAdCU}^N`SP2;&?8_mEtf}DbE>wk)7@mx!RSN^S0u1M#q*zZ#(YZ^tUwzM z##J^MUBqe#Lyl&riObYSzt#`>oSkcZsRI2eJFWO6c8TQ(Hy*GJQWYi0b4kp44Y#^D z>E6bbczTMxo>S4&9-Z#}b7fU&#?@3qr?wyMYmOu!Yq+@ZSk^q1lrxd?j*yI;=6B`$2Xpv`k zIdD#BxV*jD5JM_l$u@iLBa>bmb(i3n<~xoCFwo)-4Jwk|(?CB%PDEk<7dv1^dv3{v z)vx!zI5#NGL!9pyVrO(6^hEylGcOqNZrd>P@;ls@pg8DT%9WAL*Ud0sqphQc9jA$N z3O|&WkuHhTTE!rgCLBIa-jZ6i0yj+3d0%T7Dot2B(>b`G)kqNm! zTP(2a5?BiADHBZ_lL|ubA?9ausy+)R;=h2fk`~cJzAH?#S(lKCc+N6iPNh*ES9hh1 zjmSS?60n*4sIjS>pHKdIR~NK10M=psV<5=6$u0J%a47|X7IxUxkFz# z@aL{9>#sUwTZq9`NU@r4y@_`%Y-HT;7rI|cjLe)$z<(2~8q6u9l#a)O^AO&vk@TRV zmNwu#FWePIp5J0zs%mv%xbf54EZq;!aq7sJ(tmM|Yfp$49A<3XwEp&8@{HB*23{tK zQ>Myp#IuHowSRV5ftjFLL&mNsgrK!lM%3AJ4ltRi3k3=}D_%b?b{+ent*7_OyPGE` zF41)FV>*DIg~Gf8=WaSD2A8rF*kCnP{Mxlr++$4$+dIJk!jJi1x@r6J%IJkCsafS7 zi}Atn+PM$83PwZXL5^pMu)Pc>Z57Fm@{mnOy}-G9ZH|z!0dk8_Dlery43GyxfHL#EtGzdKA~7%0MICX3efw{VPs9026YG(dq!usH#WKW-(ys>H6je0 z#=eEUV6*Y~Y+aT{`4(&wNQT{BX(^n$SKvOz2KKO$5e|xrgKZAzO>4b<7Lob+;SXaW zL1FEhgaNcmo0hqlw0PZ$9hr2wJ+eW(D85CYBPR$Q*sjvI^Wbo0pT7UK+f9cHD*-B# z`=3dKh9^u*UJ{e91vIP2U29xC9{<=LPu#lQQZ}iZ!POB(B#!@mouxw_v`6dMP%zx9bCwdGrAg+hLEy0QNCrR18$-Tgh4i<10~|O zd~Y^wblCjd6^xTbyQ%YD)}{Jkhql>Xm;xQ8<*T5cs9(z`;p~LLae*oqZj*`XC;y8O zX(>rxcxrB@IjqLS4do^2I$C3@VM(PNOokq%tIne+7aCn>NHZ*bI6&)1`sN`hXCu

gVRP61@8Wvo(=6`|`ia8`<`wh& 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 literal 0 HcmV?d00001 From 651fdb194a338ef3678f682b3ff2f39e3f6f7f1e Mon Sep 17 00:00:00 2001 From: sophiathedev Date: Fri, 14 Aug 2026 14:37:54 +0700 Subject: [PATCH 02/19] feat(explain): add trackpad zoom --- CHANGELOG.md | 1 + .../QueryPlan/QueryPlanDiagramView.swift | 51 +++++++++++++++++-- .../QueryPlan/QueryPlanDiagramZoomTests.swift | 34 +++++++++++++ docs/features/explain-visualization.mdx | 2 +- 4 files changed, 83 insertions(+), 5 deletions(-) create mode 100644 TableProTests/Views/QueryPlan/QueryPlanDiagramZoomTests.swift diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c5573ca7..f6c8d85a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - MySQL `EXPLAIN FORMAT=TREE` and `EXPLAIN ANALYZE` output now renders as a visual plan diagram or tree instead of raw text only. +- EXPLAIN plan diagrams now support trackpad pinch-to-zoom in addition to the zoom buttons. - PostgreSQL array columns of a simple type, including arrays of an enum, get a list editor in the data grid. One row per element, with reordering, add and remove, and NULL per element. An empty array and a NULL column stay separate values. Enum arrays pick from the labels the type declares. Arrays of `jsonb`, `bytea` or composite types, and multi-dimensional values, keep the plain text editor. ### Fixed diff --git a/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift b/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift index 3257449f9..d9f516a82 100644 --- a/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift +++ b/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift @@ -28,6 +28,27 @@ private struct PositionedNode: Identifiable { let parentId: UUID? } +enum QueryPlanDiagramZoom { + static let minimum: CGFloat = 0.25 + static let maximum: CGFloat = 3.0 + static let step: CGFloat = 0.25 + + static func clamped(_ value: CGFloat) -> CGFloat { + if value.isNaN { return 1.0 } + if value == .infinity { return maximum } + if value == -.infinity { return minimum } + return min(maximum, max(minimum, value)) + } + + static func scaled(from startingMagnification: CGFloat, by gestureMagnification: CGFloat) -> CGFloat { + let startingMagnification = clamped(startingMagnification) + guard gestureMagnification.isFinite, gestureMagnification > 0 else { + return startingMagnification + } + return clamped(startingMagnification * gestureMagnification) + } +} + // MARK: - Diagram View struct QueryPlanDiagramView: View { @@ -37,6 +58,7 @@ struct QueryPlanDiagramView: View { @State private var selectedNode: SelectedNodeID? @State private var positioned: [PositionedNode] = [] @State private var canvasSize = CGSize(width: 400, height: 300) + @State private var magnifyStartMagnification: CGFloat? var body: some View { ZStack(alignment: .bottomTrailing) { @@ -58,7 +80,7 @@ struct QueryPlanDiagramView: View { } } .frame(width: canvasSize.width, height: canvasSize.height) - .scaleEffect(magnification) + .scaleEffect(magnification, anchor: .topLeading) .frame( width: canvasSize.width * magnification, height: canvasSize.height * magnification, @@ -69,6 +91,7 @@ struct QueryPlanDiagramView: View { zoomControls .padding(12) } + .simultaneousGesture(magnifyGesture) .onAppear { let nodes = layoutNodes(plan.rootNode, depth: 0, xOffset: 0, parentId: nil) positioned = nodes @@ -139,21 +162,41 @@ struct QueryPlanDiagramView: View { // MARK: - Zoom + private var magnifyGesture: some Gesture { + MagnifyGesture() + .onChanged { value in + if magnifyStartMagnification == nil { + magnifyStartMagnification = magnification + } + magnification = QueryPlanDiagramZoom.scaled( + from: magnifyStartMagnification ?? magnification, + by: value.magnification + ) + } + .onEnded { _ in + magnifyStartMagnification = nil + } + } + private var zoomControls: some View { HStack(spacing: 4) { - Button { magnification = max(0.25, magnification - 0.25) } label: { + Button { + magnification = QueryPlanDiagramZoom.clamped(magnification - QueryPlanDiagramZoom.step) + } label: { Image(systemName: "minus.magnifyingglass") .frame(width: 24, height: 24) } .accessibilityLabel(String(localized: "Zoom out")) .help(String(localized: "Zoom out")) - Text("\(Int(magnification * 100))%") + Text("\(Int((magnification * 100).rounded()))%") .font(.caption) .foregroundStyle(.secondary) .frame(width: 36) - Button { magnification = min(3.0, magnification + 0.25) } label: { + Button { + magnification = QueryPlanDiagramZoom.clamped(magnification + QueryPlanDiagramZoom.step) + } label: { Image(systemName: "plus.magnifyingglass") .frame(width: 24, height: 24) } diff --git a/TableProTests/Views/QueryPlan/QueryPlanDiagramZoomTests.swift b/TableProTests/Views/QueryPlan/QueryPlanDiagramZoomTests.swift new file mode 100644 index 000000000..69557d45b --- /dev/null +++ b/TableProTests/Views/QueryPlan/QueryPlanDiagramZoomTests.swift @@ -0,0 +1,34 @@ +import CoreGraphics +import Testing + +@testable import TablePro + +@Suite("Query Plan Diagram Zoom") +struct QueryPlanDiagramZoomTests { + @Test("pinch scales from the gesture start") + func scalesFromGestureStart() { + let magnification = QueryPlanDiagramZoom.scaled(from: 1.5, by: 1.2) + #expect(abs(magnification - 1.8) < 0.0001) + } + + @Test("pinch clamps to the supported range") + func clampsPinchRange() { + #expect(QueryPlanDiagramZoom.scaled(from: 2.0, by: 2.0) == 3.0) + #expect(QueryPlanDiagramZoom.scaled(from: 0.5, by: 0.1) == 0.25) + } + + @Test("invalid pinch values preserve the current zoom") + func rejectsInvalidPinchValues() { + #expect(QueryPlanDiagramZoom.scaled(from: 1.5, by: .nan) == 1.5) + #expect(QueryPlanDiagramZoom.scaled(from: 1.5, by: .infinity) == 1.5) + #expect(QueryPlanDiagramZoom.scaled(from: 1.5, by: 0) == 1.5) + #expect(QueryPlanDiagramZoom.scaled(from: 1.5, by: -1) == 1.5) + } + + @Test("button zoom values use the same bounds") + func clampsButtonZoomRange() { + #expect(QueryPlanDiagramZoom.clamped(-10) == 0.25) + #expect(QueryPlanDiagramZoom.clamped(10) == 3.0) + #expect(QueryPlanDiagramZoom.clamped(.nan) == 1.0) + } +} diff --git a/docs/features/explain-visualization.mdx b/docs/features/explain-visualization.mdx index 5f6e9e0f2..b69e76a2d 100644 --- a/docs/features/explain-visualization.mdx +++ b/docs/features/explain-visualization.mdx @@ -33,7 +33,7 @@ Typing an `EXPLAIN`, `EXPLAIN ANALYZE`, `EXPLAIN FORMAT=JSON`, or MariaDB's `ANA Toggle between three views using the segmented control above the results: -**Diagram** shows the plan as boxes connected by arrows, top to bottom. Nodes are color-coded by cost: green (cheap) to red (expensive). Click a node to see full details in a popover. Zoom controls are in the bottom-right corner. +**Diagram** shows the plan as boxes connected by arrows, top to bottom. Nodes are color-coded by cost: green (cheap) to red (expensive). Click a node to see full details in a popover. Pinch on a trackpad to zoom, or use the controls in the bottom-right corner. Date: Sat, 15 Aug 2026 07:35:46 +0700 Subject: [PATCH 03/19] fix(explain): show plan cost, align diagram rows, and redraw on a new plan --- CHANGELOG.md | 4 + .../Core/Services/Query/QueryPlanParser.swift | 166 +++--------- .../Services/Query/QueryPlanTreeBuilder.swift | 54 ++++ TablePro/Models/Diagram/DiagramZoom.swift | 29 +++ TablePro/Models/Query/QueryPlan.swift | 14 +- TablePro/ViewModels/ERDiagramViewModel.swift | 4 +- .../Views/ERDiagram/ERDiagramToolbar.swift | 4 +- TablePro/Views/ERDiagram/ERDiagramView.swift | 2 +- .../QueryPlan/QueryPlanDiagramLayout.swift | 134 ++++++++++ .../QueryPlan/QueryPlanDiagramView.swift | 246 ++++-------------- .../Views/QueryPlan/QueryPlanTreeView.swift | 8 +- .../Services/Query/MySQLPlanParserTests.swift | 55 +++- .../Models/Query/QueryPlanCostTests.swift | 112 ++++++++ .../Views/QueryPlan/DiagramZoomTests.swift | 46 ++++ .../QueryPlanDiagramLayoutTests.swift | 127 +++++++++ .../QueryPlan/QueryPlanDiagramZoomTests.swift | 34 --- 16 files changed, 676 insertions(+), 363 deletions(-) create mode 100644 TablePro/Core/Services/Query/QueryPlanTreeBuilder.swift create mode 100644 TablePro/Models/Diagram/DiagramZoom.swift create mode 100644 TablePro/Views/QueryPlan/QueryPlanDiagramLayout.swift create mode 100644 TableProTests/Models/Query/QueryPlanCostTests.swift create mode 100644 TableProTests/Views/QueryPlan/DiagramZoomTests.swift create mode 100644 TableProTests/Views/QueryPlan/QueryPlanDiagramLayoutTests.swift delete mode 100644 TableProTests/Views/QueryPlan/QueryPlanDiagramZoomTests.swift diff --git a/CHANGELOG.md b/CHANGELOG.md index f6c8d85a2..2f8f65d7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- EXPLAIN plan diagrams line every node of the same depth up on one row, so a tall box no longer pushes its children up into itself. +- Running a second EXPLAIN in the same tab redraws the diagram instead of leaving the previous plan on screen. +- Plans that report a cost per node but no startup cost, such as MySQL's, now show that cost in the diagram and the tree. +- Nodes in a plan whose root reports no cost are no longer all painted red. - PostgreSQL enum columns whose type lives in another schema now show their values instead of a plain text box. - Select several databases or schemas in the sidebar tree and act on them at once: drop, refresh, copy names, or export. Shift-click and Cmd-click extend the selection. diff --git a/TablePro/Core/Services/Query/QueryPlanParser.swift b/TablePro/Core/Services/Query/QueryPlanParser.swift index 03f2bca6f..39e49cc02 100644 --- a/TablePro/Core/Services/Query/QueryPlanParser.swift +++ b/TablePro/Core/Services/Query/QueryPlanParser.swift @@ -86,8 +86,14 @@ struct PostgreSQLPlanParser: QueryPlanParser { // MARK: - MySQL Parsers struct MySQLPlanParser: QueryPlanParser { + static let maximumInputBytes = 2_000_000 + func parse(rawText: String) -> QueryPlan? { - MySQLJsonPlanParser().parse(rawText: rawText) + guard rawText.utf8.count <= Self.maximumInputBytes else { + logger.debug("MySQL EXPLAIN plan exceeds parser input limit") + return nil + } + return MySQLJsonPlanParser().parse(rawText: rawText) ?? MySQLTreePlanParser().parse(rawText: rawText) } } @@ -238,7 +244,6 @@ struct MySQLTreePlanParser: QueryPlanParser { let metrics: ParsedMetrics } - private static let maximumInputBytes = 2_000_000 private static let maximumNodes = 10_000 private static let maximumDepth = 128 private static let numberPattern = "[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][-+]?\\d+)?" @@ -255,60 +260,12 @@ struct MySQLTreePlanParser: QueryPlanParser { ) func parse(rawText: String) -> QueryPlan? { - guard rawText.utf8.count <= Self.maximumInputBytes else { - logger.debug("MySQL TREE plan exceeds parser input limit") - return nil - } - guard let rawNodes = parseRawNodes(rawText), !rawNodes.isEmpty else { return nil } - var index = 0 - func build(parentDepth: Int) -> [QueryPlanNode] { - var nodes: [QueryPlanNode] = [] - while index < rawNodes.count { - let rawNode = rawNodes[index] - if rawNode.depth <= parentDepth { break } - index += 1 - let parsed = Self.parseNodeText(rawNode.text) - let children = build(parentDepth: rawNode.depth) - nodes.append(QueryPlanNode( - operation: parsed.operation, - relation: parsed.relation, - schema: nil, - alias: nil, - estimatedStartupCost: nil, - estimatedTotalCost: parsed.metrics.estimatedCost, - estimatedRows: parsed.metrics.estimatedRows, - estimatedWidth: nil, - actualStartupTime: parsed.metrics.actualStartupTime, - actualTotalTime: parsed.metrics.actualTotalTime, - actualRows: parsed.metrics.actualRows, - actualLoops: parsed.metrics.actualLoops, - properties: parsed.properties, - children: children - )) - } - return nodes - } - - let roots = build(parentDepth: -1) - guard !roots.isEmpty else { return nil } - - let rootNode: QueryPlanNode - if roots.count == 1 { - rootNode = roots[0] - } else { - rootNode = QueryPlanNode( - operation: "Query Plan", - relation: nil, schema: nil, alias: nil, - estimatedStartupCost: nil, estimatedTotalCost: nil, - estimatedRows: nil, estimatedWidth: nil, - actualStartupTime: nil, actualTotalTime: nil, - actualRows: nil, actualLoops: nil, - properties: [:], - children: roots - ) + let roots = QueryPlanTreeBuilder.forest(from: rawNodes, depth: \.depth) { rawNode, children in + Self.makeNode(rawNode, children: children) } + guard let rootNode = QueryPlanTreeBuilder.root(from: roots) else { return nil } let executionTime = roots.compactMap(Self.totalExecutionTime).max() var plan = QueryPlan( @@ -321,6 +278,29 @@ struct MySQLTreePlanParser: QueryPlanParser { return plan } + private static func makeNode(_ rawNode: RawNode, children: [QueryPlanNode]) -> QueryPlanNode { + let parsed = parseNodeText(rawNode.text) + return QueryPlanNode( + operation: parsed.operation, + relation: parsed.relation, + schema: nil, + alias: nil, + estimatedStartupCost: nil, + estimatedTotalCost: parsed.metrics.estimatedCost, + estimatedRows: parsed.metrics.estimatedRows, + estimatedWidth: nil, + actualStartupTime: parsed.metrics.actualStartupTime, + actualTotalTime: parsed.metrics.actualTotalTime, + actualRows: parsed.metrics.actualRows, + actualLoops: parsed.metrics.actualLoops, + properties: parsed.properties, + children: children + ) + } + + /// A TREE plan starts a node at every `->` line, so every line in between belongs to the + /// node above it: MySQL wraps the metrics group, and node text keeps any newline the + /// query's own literals contain. private func parseRawNodes(_ rawText: String) -> [RawNode]? { var nodes: [RawNode] = [] var indentationStack: [Int] = [] @@ -346,7 +326,7 @@ struct MySQLTreePlanParser: QueryPlanParser { } let continuation = line.trimmingCharacters(in: .whitespacesAndNewlines) - if var current = pending, Self.isMetricContinuation(continuation) { + if var current = pending, !continuation.isEmpty { current.text += " \(continuation)" pending = current } @@ -370,14 +350,6 @@ struct MySQLTreePlanParser: QueryPlanParser { return (indent, text) } - private static func isMetricContinuation(_ line: String) -> Bool { - guard line.first == "(" else { return false } - let lowercased = line.lowercased() - return lowercased.hasPrefix("(cost=") - || lowercased.hasPrefix("(actual time=") - || lowercased == "(never executed)" - } - private static func parseNodeText(_ rawText: String) -> ParsedNodeText { var text = rawText.trimmingCharacters(in: .whitespacesAndNewlines) var metrics = ParsedMetrics() @@ -402,7 +374,7 @@ struct MySQLTreePlanParser: QueryPlanParser { let presentation = accessPresentation(from: text) var properties = presentation.properties if !metrics.wasExecuted { - properties["Execution"] = "Never executed" + properties["Execution"] = String(localized: "Never executed") } return ParsedNodeText( operation: presentation.operation, @@ -421,7 +393,7 @@ struct MySQLTreePlanParser: QueryPlanParser { } let operation = text[.. [QueryPlanNode] { - var result: [QueryPlanNode] = [] - while index < nodes.count { - let raw = nodes[index] - if raw.depth <= parentDepth { break } - index += 1 - let children = build(parentDepth: raw.depth) - result.append(Self.makeNode(raw, children: children)) - } - return result - } - - let roots = build(parentDepth: -1) - let rootNode: QueryPlanNode - if roots.count == 1 { - rootNode = roots[0] - } else { - rootNode = QueryPlanNode( - operation: "Query Plan", - relation: nil, schema: nil, alias: nil, - estimatedStartupCost: nil, estimatedTotalCost: nil, - estimatedRows: nil, estimatedWidth: nil, - actualStartupTime: nil, actualTotalTime: nil, - actualRows: nil, actualLoops: nil, - properties: [:], - children: roots - ) + let roots = QueryPlanTreeBuilder.forest(from: nodes, depth: \.depth) { raw, children in + Self.makeNode(raw, children: children) } + guard let rootNode = QueryPlanTreeBuilder.root(from: roots) else { return nil } return QueryPlan( rootNode: rootNode, diff --git a/TablePro/Core/Services/Query/QueryPlanTreeBuilder.swift b/TablePro/Core/Services/Query/QueryPlanTreeBuilder.swift new file mode 100644 index 000000000..99e7abf66 --- /dev/null +++ b/TablePro/Core/Services/Query/QueryPlanTreeBuilder.swift @@ -0,0 +1,54 @@ +// +// QueryPlanTreeBuilder.swift +// TablePro +// +// Shared tree assembly for the text-based EXPLAIN parsers. +// + +import Foundation + +enum QueryPlanTreeBuilder { + /// Builds a forest from a pre-order list where each element carries its own depth. + /// An element belongs to the closest preceding element with a smaller depth. + static func forest( + from elements: [Element], + depth: (Element) -> Int, + makeNode: (Element, [QueryPlanNode]) -> QueryPlanNode + ) -> [QueryPlanNode] { + var index = 0 + + func build(parentDepth: Int) -> [QueryPlanNode] { + var nodes: [QueryPlanNode] = [] + while index < elements.count { + let element = elements[index] + let elementDepth = depth(element) + if elementDepth <= parentDepth { break } + index += 1 + nodes.append(makeNode(element, build(parentDepth: elementDepth))) + } + return nodes + } + + return build(parentDepth: -1) + } + + /// Returns the single root, or wraps several roots in one synthetic node whose cost is the + /// sum of the roots that report one, so cost fractions stay relative to a real total. + static func root(from roots: [QueryPlanNode]) -> QueryPlanNode? { + if roots.count == 1 { return roots[0] } + guard !roots.isEmpty else { return nil } + + let costs = roots.compactMap(\.estimatedTotalCost) + return QueryPlanNode( + operation: "Query Plan", + relation: nil, schema: nil, alias: nil, + estimatedStartupCost: nil, + estimatedTotalCost: costs.isEmpty ? nil : costs.reduce(0, +), + estimatedRows: nil, estimatedWidth: nil, + actualStartupTime: nil, actualTotalTime: nil, + actualRows: nil, actualLoops: nil, + properties: [:], + children: roots + ) + } +} diff --git a/TablePro/Models/Diagram/DiagramZoom.swift b/TablePro/Models/Diagram/DiagramZoom.swift new file mode 100644 index 000000000..8fd1d2d1c --- /dev/null +++ b/TablePro/Models/Diagram/DiagramZoom.swift @@ -0,0 +1,29 @@ +// +// DiagramZoom.swift +// TablePro +// +// Zoom bounds shared by the ER diagram and the EXPLAIN plan diagram. +// + +import CoreGraphics + +enum DiagramZoom { + static let minimum: CGFloat = 0.25 + static let maximum: CGFloat = 3.0 + static let step: CGFloat = 0.25 + + static func clamped(_ value: CGFloat) -> CGFloat { + if value.isNaN { return 1.0 } + if value == .infinity { return maximum } + if value == -.infinity { return minimum } + return min(maximum, max(minimum, value)) + } + + static func scaled(from startingMagnification: CGFloat, by gestureMagnification: CGFloat) -> CGFloat { + let startingMagnification = clamped(startingMagnification) + guard gestureMagnification.isFinite, gestureMagnification > 0 else { + return startingMagnification + } + return clamped(startingMagnification * gestureMagnification) + } +} diff --git a/TablePro/Models/Query/QueryPlan.swift b/TablePro/Models/Query/QueryPlan.swift index 250b44b47..7562f3799 100644 --- a/TablePro/Models/Query/QueryPlan.swift +++ b/TablePro/Models/Query/QueryPlan.swift @@ -33,6 +33,14 @@ struct QueryPlanNode: Identifiable { let childCost = children.reduce(0.0) { $0 + ($1.estimatedTotalCost ?? 0) } return max(0, (estimatedTotalCost ?? 0) - childCost) } + + /// `startup..total` when the plan reports both, `total` alone when it reports only the total. + func costRangeText(fractionDigits: Int) -> String? { + guard let total = estimatedTotalCost else { return nil } + let number = "%.\(fractionDigits)f" + guard let startup = estimatedStartupCost else { return String(format: number, total) } + return String(format: "\(number)..\(number)", startup, total) + } } /// A parsed EXPLAIN query plan. @@ -42,10 +50,10 @@ struct QueryPlan { let executionTime: Double? let rawText: String - /// Compute cost fractions relative to root total cost. + /// Compute cost fractions relative to root total cost. A plan whose root reports no cost + /// keeps every fraction at zero rather than dividing by a made-up total. mutating func computeCostFractions() { - let totalCost = rootNode.estimatedTotalCost ?? 1 - guard totalCost > 0 else { return } + guard let totalCost = rootNode.estimatedTotalCost, totalCost > 0 else { return } assignFractions(node: &rootNode, totalCost: totalCost) } diff --git a/TablePro/ViewModels/ERDiagramViewModel.swift b/TablePro/ViewModels/ERDiagramViewModel.swift index f866ac0ef..d1c309f8c 100644 --- a/TablePro/ViewModels/ERDiagramViewModel.swift +++ b/TablePro/ViewModels/ERDiagramViewModel.swift @@ -495,7 +495,7 @@ final class ERDiagramViewModel { // MARK: - Zoom func zoom(to newMag: CGFloat, anchor: CGPoint? = nil) { - let clamped = max(0.25, min(3.0, newMag)) + let clamped = DiagramZoom.clamped(newMag) let center = anchor ?? CGPoint(x: viewportSize.width / 2, y: viewportSize.height / 2) let canvasPoint = CGPoint( x: (center.x - canvasOffset.x) / magnification, @@ -516,7 +516,7 @@ final class ERDiagramViewModel { let padding: CGFloat = 40 let scaleX = (viewportSize.width - padding * 2) / diagramSize.width let scaleY = (viewportSize.height - padding * 2) / diagramSize.height - let fitScale = max(0.25, min(1.0, min(scaleX, scaleY))) + let fitScale = max(DiagramZoom.minimum, min(1.0, min(scaleX, scaleY))) withAnimation(.easeOut(duration: 0.3)) { magnification = fitScale diff --git a/TablePro/Views/ERDiagram/ERDiagramToolbar.swift b/TablePro/Views/ERDiagram/ERDiagramToolbar.swift index 6e426fbd1..4f1f2d71e 100644 --- a/TablePro/Views/ERDiagram/ERDiagramToolbar.swift +++ b/TablePro/Views/ERDiagram/ERDiagramToolbar.swift @@ -7,7 +7,7 @@ struct ERDiagramToolbar: View { var body: some View { HStack(spacing: 8) { Button { - viewModel.zoom(to: viewModel.magnification - 0.25) + viewModel.zoom(to: viewModel.magnification - DiagramZoom.step) } label: { Image(systemName: "minus.magnifyingglass") } @@ -26,7 +26,7 @@ struct ERDiagramToolbar: View { .help(String(localized: "Reset Zoom")) Button { - viewModel.zoom(to: viewModel.magnification + 0.25) + viewModel.zoom(to: viewModel.magnification + DiagramZoom.step) } label: { Image(systemName: "plus.magnifyingglass") } diff --git a/TablePro/Views/ERDiagram/ERDiagramView.swift b/TablePro/Views/ERDiagram/ERDiagramView.swift index a40594d6a..d4bbb28e9 100644 --- a/TablePro/Views/ERDiagram/ERDiagramView.swift +++ b/TablePro/Views/ERDiagram/ERDiagramView.swift @@ -199,7 +199,7 @@ struct ERDiagramView: View { magnifyStartMag = viewModel.magnification } let base = magnifyStartMag ?? viewModel.magnification - let newMag = max(0.25, min(3.0, base * value.magnification)) + let newMag = DiagramZoom.scaled(from: base, by: value.magnification) viewModel.zoom(to: newMag, anchor: value.startLocation) } .onEnded { _ in diff --git a/TablePro/Views/QueryPlan/QueryPlanDiagramLayout.swift b/TablePro/Views/QueryPlan/QueryPlanDiagramLayout.swift new file mode 100644 index 000000000..5c0185af1 --- /dev/null +++ b/TablePro/Views/QueryPlan/QueryPlanDiagramLayout.swift @@ -0,0 +1,134 @@ +// +// QueryPlanDiagramLayout.swift +// TablePro +// +// Geometry for the EXPLAIN plan diagram: one row per tree depth, children centered +// under their parent. +// + +import CoreGraphics +import Foundation + +enum QueryPlanDiagramMetrics { + static let nodeWidth: CGFloat = 200 + static let nodeMinHeight: CGFloat = 50 + static let horizontalSpacing: CGFloat = 24 + static let verticalSpacing: CGFloat = 40 + static let nodePadding: CGFloat = 8 + static let cornerRadius: CGFloat = 6 + static let arrowHeadSize: CGFloat = 6 +} + +struct QueryPlanDiagramLayout { + struct Node: Identifiable { + let id: UUID + let node: QueryPlanNode + let rect: CGRect + let parentId: UUID? + } + + let nodes: [Node] + let canvasSize: CGSize + + init(root: QueryPlanNode) { + let rowOffsets = Self.rowOffsets(root) + let nodes = Self.position(root, depth: 0, xOffset: 0, parentId: nil, rowOffsets: rowOffsets) + self.nodes = nodes + canvasSize = Self.canvasSize(of: nodes) + } + + // MARK: - Rows + + /// The top edge of every depth, stacked by the tallest node in each row so siblings never + /// drift apart and a child never lands inside its parent. + private static func rowOffsets(_ root: QueryPlanNode) -> [CGFloat] { + var heights: [CGFloat] = [] + + func measure(_ node: QueryPlanNode, depth: Int) { + let height = nodeHeight(node) + if depth < heights.count { + heights[depth] = max(heights[depth], height) + } else { + heights.append(height) + } + for child in node.children { measure(child, depth: depth + 1) } + } + measure(root, depth: 0) + + var offsets: [CGFloat] = [] + var top = QueryPlanDiagramMetrics.verticalSpacing + for height in heights { + offsets.append(top) + top += height + QueryPlanDiagramMetrics.verticalSpacing + } + return offsets + } + + private static func nodeHeight(_ node: QueryPlanNode) -> CGFloat { + var height: CGFloat = 18 + if node.relation != nil { height += 14 } + if node.estimatedTotalCost != nil || node.estimatedRows != nil { height += 12 } + if node.actualTotalTime != nil { height += 12 } + return max( + QueryPlanDiagramMetrics.nodeMinHeight, + height + QueryPlanDiagramMetrics.nodePadding * 2 + ) + } + + // MARK: - Placement + + private static func position( + _ node: QueryPlanNode, + depth: Int, + xOffset: CGFloat, + parentId: UUID?, + rowOffsets: [CGFloat] + ) -> [Node] { + let size = CGSize(width: QueryPlanDiagramMetrics.nodeWidth, height: nodeHeight(node)) + let top = depth < rowOffsets.count ? rowOffsets[depth] : QueryPlanDiagramMetrics.verticalSpacing + + guard !node.children.isEmpty else { + let rect = CGRect( + origin: CGPoint(x: xOffset + QueryPlanDiagramMetrics.horizontalSpacing, y: top), + size: size + ) + return [Node(id: node.id, node: node, rect: rect, parentId: parentId)] + } + + var childPositions: [Node] = [] + var currentX = xOffset + for child in node.children { + let childNodes = position( + child, depth: depth + 1, xOffset: currentX, parentId: node.id, rowOffsets: rowOffsets + ) + currentX += subtreeWidth(childNodes) + QueryPlanDiagramMetrics.horizontalSpacing + childPositions.append(contentsOf: childNodes) + } + + let firstChildX = childPositions.first { $0.parentId == node.id }?.rect.midX ?? xOffset + let lastChildX = childPositions.last { $0.parentId == node.id }?.rect.midX ?? xOffset + let centerX = (firstChildX + lastChildX) / 2 + + let rect = CGRect( + origin: CGPoint(x: centerX - QueryPlanDiagramMetrics.nodeWidth / 2, y: top), + size: size + ) + return [Node(id: node.id, node: node, rect: rect, parentId: parentId)] + childPositions + } + + private static func subtreeWidth(_ nodes: [Node]) -> CGFloat { + guard let minX = nodes.map({ $0.rect.minX }).min(), + let maxX = nodes.map({ $0.rect.maxX }).max() + else { return QueryPlanDiagramMetrics.nodeWidth } + return maxX - minX + } + + private static func canvasSize(of nodes: [Node]) -> CGSize { + let maxX = nodes.map { $0.rect.maxX }.max() ?? 400 + let maxY = nodes.map { $0.rect.maxY }.max() ?? 300 + return CGSize( + width: maxX + QueryPlanDiagramMetrics.horizontalSpacing * 2, + height: maxY + QueryPlanDiagramMetrics.verticalSpacing * 2 + ) + } +} diff --git a/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift b/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift index d9f516a82..ed6359026 100644 --- a/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift +++ b/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift @@ -7,83 +7,47 @@ import SwiftUI -// MARK: - Layout Constants - -private enum PlanLayout { - static let nodeWidth: CGFloat = 200 - static let nodeMinHeight: CGFloat = 50 - static let horizontalSpacing: CGFloat = 24 - static let verticalSpacing: CGFloat = 40 - static let nodePadding: CGFloat = 8 - static let cornerRadius: CGFloat = 6 - static let arrowHeadSize: CGFloat = 6 -} - -// MARK: - Positioned Node +// MARK: - Diagram View -private struct PositionedNode: Identifiable { - let id: UUID - let node: QueryPlanNode - let rect: CGRect - let parentId: UUID? -} +struct QueryPlanDiagramView: View { + @State private var magnification: CGFloat = 1.0 + @State private var selectedNodeId: UUID? + @GestureState private var pinchMagnification: CGFloat = 1.0 -enum QueryPlanDiagramZoom { - static let minimum: CGFloat = 0.25 - static let maximum: CGFloat = 3.0 - static let step: CGFloat = 0.25 + /// Derived from the plan on every update, so a second EXPLAIN in the same tab redraws + /// instead of keeping the layout the first one produced. + private let layout: QueryPlanDiagramLayout - static func clamped(_ value: CGFloat) -> CGFloat { - if value.isNaN { return 1.0 } - if value == .infinity { return maximum } - if value == -.infinity { return minimum } - return min(maximum, max(minimum, value)) + init(plan: QueryPlan) { + layout = QueryPlanDiagramLayout(root: plan.rootNode) } - static func scaled(from startingMagnification: CGFloat, by gestureMagnification: CGFloat) -> CGFloat { - let startingMagnification = clamped(startingMagnification) - guard gestureMagnification.isFinite, gestureMagnification > 0 else { - return startingMagnification - } - return clamped(startingMagnification * gestureMagnification) + private var effectiveMagnification: CGFloat { + DiagramZoom.scaled(from: magnification, by: pinchMagnification) } -} - -// MARK: - Diagram View - -struct QueryPlanDiagramView: View { - let plan: QueryPlan - - @State private var magnification: CGFloat = 1.0 - @State private var selectedNode: SelectedNodeID? - @State private var positioned: [PositionedNode] = [] - @State private var canvasSize = CGSize(width: 400, height: 300) - @State private var magnifyStartMagnification: CGFloat? var body: some View { ZStack(alignment: .bottomTrailing) { ScrollView([.horizontal, .vertical]) { ZStack(alignment: .topLeading) { Canvas { context, _ in - drawArrows(context: context, nodes: positioned) + drawArrows(context: context) } - .frame(width: canvasSize.width, height: canvasSize.height) - - ForEach(positioned) { pos in - diagramNode(pos) - .popover(isPresented: popoverBinding(for: pos.id)) { - if let node = findNode(pos.id, in: plan.rootNode) { - nodeDetailPopover(node) - } + .frame(width: layout.canvasSize.width, height: layout.canvasSize.height) + + ForEach(layout.nodes) { positioned in + diagramNode(positioned) + .popover(isPresented: detailBinding(for: positioned.id)) { + nodeDetailPopover(positioned.node) } - .position(x: pos.rect.midX, y: pos.rect.midY) + .position(x: positioned.rect.midX, y: positioned.rect.midY) } } - .frame(width: canvasSize.width, height: canvasSize.height) - .scaleEffect(magnification, anchor: .topLeading) + .frame(width: layout.canvasSize.width, height: layout.canvasSize.height) + .scaleEffect(effectiveMagnification, anchor: .topLeading) .frame( - width: canvasSize.width * magnification, - height: canvasSize.height * magnification, + width: layout.canvasSize.width * effectiveMagnification, + height: layout.canvasSize.height * effectiveMagnification, alignment: .topLeading ) } @@ -92,18 +56,13 @@ struct QueryPlanDiagramView: View { .padding(12) } .simultaneousGesture(magnifyGesture) - .onAppear { - let nodes = layoutNodes(plan.rootNode, depth: 0, xOffset: 0, parentId: nil) - positioned = nodes - canvasSize = calculateCanvasSize(nodes) - } } // MARK: - Node - private func diagramNode(_ pos: PositionedNode) -> some View { - let node = pos.node - let isSelected = selectedNode?.id == pos.id + private func diagramNode(_ positioned: QueryPlanDiagramLayout.Node) -> some View { + let node = positioned.node + let isSelected = selectedNodeId == positioned.id return VStack(alignment: .leading, spacing: 2) { HStack(spacing: 4) { @@ -125,8 +84,8 @@ struct QueryPlanDiagramView: View { } HStack(spacing: 6) { - if let startup = node.estimatedStartupCost, let total = node.estimatedTotalCost { - Text(String(format: "%.1f..%.1f", startup, total)) + if let cost = node.costRangeText(fractionDigits: 1) { + Text(cost) .font(.system(.caption2, design: .monospaced)) .foregroundStyle(.tertiary) } @@ -143,20 +102,20 @@ struct QueryPlanDiagramView: View { .foregroundStyle(.quaternary) } } - .padding(PlanLayout.nodePadding) - .frame(width: PlanLayout.nodeWidth, alignment: .leading) + .padding(QueryPlanDiagramMetrics.nodePadding) + .frame(width: QueryPlanDiagramMetrics.nodeWidth, alignment: .leading) .background( - RoundedRectangle(cornerRadius: PlanLayout.cornerRadius) + RoundedRectangle(cornerRadius: QueryPlanDiagramMetrics.cornerRadius) .fill(nodeColor(fraction: node.costFraction).opacity(0.12)) ) .overlay( - RoundedRectangle(cornerRadius: PlanLayout.cornerRadius) + RoundedRectangle(cornerRadius: QueryPlanDiagramMetrics.cornerRadius) .stroke( isSelected ? Color.accentColor : nodeColor(fraction: node.costFraction), lineWidth: isSelected ? 2 : 1 ) ) - .onTapGesture { selectedNode = SelectedNodeID(id: pos.id) } + .onTapGesture { selectedNodeId = positioned.id } .accessibilityLabel("\(node.operation)\(node.relation.map { " on \($0)" } ?? "")") } @@ -164,24 +123,18 @@ struct QueryPlanDiagramView: View { private var magnifyGesture: some Gesture { MagnifyGesture() - .onChanged { value in - if magnifyStartMagnification == nil { - magnifyStartMagnification = magnification - } - magnification = QueryPlanDiagramZoom.scaled( - from: magnifyStartMagnification ?? magnification, - by: value.magnification - ) + .updating($pinchMagnification) { value, state, _ in + state = value.magnification } - .onEnded { _ in - magnifyStartMagnification = nil + .onEnded { value in + magnification = DiagramZoom.scaled(from: magnification, by: value.magnification) } } private var zoomControls: some View { HStack(spacing: 4) { Button { - magnification = QueryPlanDiagramZoom.clamped(magnification - QueryPlanDiagramZoom.step) + magnification = DiagramZoom.clamped(magnification - DiagramZoom.step) } label: { Image(systemName: "minus.magnifyingglass") .frame(width: 24, height: 24) @@ -189,13 +142,13 @@ struct QueryPlanDiagramView: View { .accessibilityLabel(String(localized: "Zoom out")) .help(String(localized: "Zoom out")) - Text("\(Int((magnification * 100).rounded()))%") + Text("\(Int((effectiveMagnification * 100).rounded()))%") .font(.caption) .foregroundStyle(.secondary) .frame(width: 36) Button { - magnification = QueryPlanDiagramZoom.clamped(magnification + QueryPlanDiagramZoom.step) + magnification = DiagramZoom.clamped(magnification + DiagramZoom.step) } label: { Image(systemName: "plus.magnifyingglass") .frame(width: 24, height: 24) @@ -216,80 +169,12 @@ struct QueryPlanDiagramView: View { return .green } - // MARK: - Layout - - private func layoutNodes( - _ node: QueryPlanNode, depth: Int, xOffset: CGFloat, parentId: UUID? - ) -> [PositionedNode] { - let nodeHeight = estimateNodeHeight(node) - var result: [PositionedNode] = [] - - if node.children.isEmpty { - let rect = CGRect( - x: xOffset + PlanLayout.horizontalSpacing, - y: CGFloat(depth) * (nodeHeight + PlanLayout.verticalSpacing) + PlanLayout.verticalSpacing, - width: PlanLayout.nodeWidth, - height: nodeHeight - ) - result.append(PositionedNode(id: node.id, node: node, rect: rect, parentId: parentId)) - } else { - var childPositions: [PositionedNode] = [] - var currentX = xOffset - - for child in node.children { - let childNodes = layoutNodes(child, depth: depth + 1, xOffset: currentX, parentId: node.id) - let childWidth = subtreeWidth(childNodes) - currentX += childWidth + PlanLayout.horizontalSpacing - childPositions.append(contentsOf: childNodes) - } - - let firstChildX = childPositions.first { $0.parentId == node.id }?.rect.midX ?? xOffset - let lastChildX = childPositions.last { $0.parentId == node.id }?.rect.midX ?? xOffset - let centerX = (firstChildX + lastChildX) / 2 - - let rect = CGRect( - x: centerX - PlanLayout.nodeWidth / 2, - y: CGFloat(depth) * (nodeHeight + PlanLayout.verticalSpacing) + PlanLayout.verticalSpacing, - width: PlanLayout.nodeWidth, - height: nodeHeight - ) - result.append(PositionedNode(id: node.id, node: node, rect: rect, parentId: parentId)) - result.append(contentsOf: childPositions) - } - - return result - } - - private func estimateNodeHeight(_ node: QueryPlanNode) -> CGFloat { - var h: CGFloat = 18 - if node.relation != nil { h += 14 } - if node.estimatedTotalCost != nil || node.estimatedRows != nil { h += 12 } - if node.actualTotalTime != nil { h += 12 } - return max(PlanLayout.nodeMinHeight, h + PlanLayout.nodePadding * 2) - } - - private func subtreeWidth(_ nodes: [PositionedNode]) -> CGFloat { - guard let minX = nodes.map({ $0.rect.minX }).min(), - let maxX = nodes.map({ $0.rect.maxX }).max() - else { return PlanLayout.nodeWidth } - return maxX - minX - } - - private func calculateCanvasSize(_ nodes: [PositionedNode]) -> CGSize { - let maxX = nodes.map { $0.rect.maxX }.max() ?? 400 - let maxY = nodes.map { $0.rect.maxY }.max() ?? 300 - return CGSize( - width: maxX + PlanLayout.horizontalSpacing * 2, - height: maxY + PlanLayout.verticalSpacing * 2 - ) - } - // MARK: - Arrows - private func drawArrows(context: GraphicsContext, nodes: [PositionedNode]) { - let nodeMap = Dictionary(uniqueKeysWithValues: nodes.map { ($0.id, $0) }) + private func drawArrows(context: GraphicsContext) { + let nodeMap = Dictionary(uniqueKeysWithValues: layout.nodes.map { ($0.id, $0) }) - for node in nodes { + for node in layout.nodes { guard let parentId = node.parentId, let parent = nodeMap[parentId] else { continue } let start = CGPoint(x: parent.rect.midX, y: parent.rect.maxY) @@ -302,10 +187,10 @@ struct QueryPlanDiagramView: View { context.stroke(path, with: .color(.secondary.opacity(0.4)), lineWidth: 1) var arrow = Path() - let s = PlanLayout.arrowHeadSize + let size = QueryPlanDiagramMetrics.arrowHeadSize arrow.move(to: end) - arrow.addLine(to: CGPoint(x: end.x - s, y: end.y - s)) - arrow.addLine(to: CGPoint(x: end.x + s, y: end.y - s)) + arrow.addLine(to: CGPoint(x: end.x - size, y: end.y - size)) + arrow.addLine(to: CGPoint(x: end.x + size, y: end.y - size)) arrow.closeSubpath() context.fill(arrow, with: .color(.secondary.opacity(0.4))) } @@ -317,6 +202,13 @@ struct QueryPlanDiagramView: View { "Parallel Aware", "Async Capable", "Disabled", "Inner Unique", ] + private func detailBinding(for nodeId: UUID) -> Binding { + Binding( + get: { selectedNodeId == nodeId }, + set: { if !$0 { selectedNodeId = nil } } + ) + } + private func nodeDetailPopover(_ node: QueryPlanNode) -> some View { let filtered = node.properties .filter { !Self.hiddenKeys.contains($0.key) } @@ -328,9 +220,7 @@ struct QueryPlanDiagramView: View { .font(.headline) if let relation = node.relation { detailRow("Table", relation) } - if let s = node.estimatedStartupCost, let t = node.estimatedTotalCost { - detailRow("Cost", String(format: "%.2f..%.2f", s, t)) - } + if let cost = node.costRangeText(fractionDigits: 2) { detailRow("Cost", cost) } if let rows = node.estimatedRows { detailRow("Rows", "\(rows)") } if let width = node.estimatedWidth, width > 0 { detailRow("Width", "\(width)") } @@ -363,30 +253,4 @@ struct QueryPlanDiagramView: View { .textSelection(.enabled) } } - - // MARK: - Popover Binding - - private func popoverBinding(for nodeId: UUID) -> Binding { - Binding( - get: { selectedNode?.id == nodeId }, - set: { if !$0 { selectedNode = nil } } - ) - } - - // MARK: - Find Node - - private func findNode(_ id: UUID?, in node: QueryPlanNode) -> QueryPlanNode? { - guard let id else { return nil } - if node.id == id { return node } - for child in node.children { - if let found = findNode(id, in: child) { return found } - } - return nil - } -} - -// MARK: - Identifiable Wrapper - -private struct SelectedNodeID: Identifiable { - let id: UUID } diff --git a/TablePro/Views/QueryPlan/QueryPlanTreeView.swift b/TablePro/Views/QueryPlan/QueryPlanTreeView.swift index ce972cd97..09d85bb75 100644 --- a/TablePro/Views/QueryPlan/QueryPlanTreeView.swift +++ b/TablePro/Views/QueryPlan/QueryPlanTreeView.swift @@ -85,8 +85,8 @@ private struct QueryPlanRowView: View { Spacer(minLength: 16) - if let startup = node.estimatedStartupCost, let total = node.estimatedTotalCost { - Text(String(format: "%.2f..%.2f", startup, total)) + if let cost = node.costRangeText(fractionDigits: 2) { + Text(cost) .font(.system(.caption, design: .monospaced)) .foregroundStyle(.secondary) .frame(width: 110, alignment: .trailing) @@ -143,9 +143,7 @@ private struct QueryPlanDetailView: View { Text(node.operation) .font(.caption.weight(.semibold)) if let relation = node.relation { detailRow("Table", relation) } - if let s = node.estimatedStartupCost, let t = node.estimatedTotalCost { - detailRow("Cost", String(format: "%.2f..%.2f", s, t)) - } + if let cost = node.costRangeText(fractionDigits: 2) { detailRow("Cost", cost) } if let rows = node.estimatedRows { detailRow("Rows", "\(rows)") } if let width = node.estimatedWidth, width > 0 { detailRow("Width", "\(width)") } } diff --git a/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift b/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift index e84c39151..529638e91 100644 --- a/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift +++ b/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift @@ -1,3 +1,10 @@ +// +// MySQLPlanParserTests.swift +// TableProTests +// +// Tests for parsing MySQL EXPLAIN JSON and TREE output into a QueryPlan tree. +// + import Foundation @testable import TablePro import Testing @@ -124,12 +131,58 @@ struct MySQLPlanParserTests { func wrapsMultipleRoots() throws { let output = [ "-> Table scan on users (cost=1 rows=1)", - "-> Table scan on roles (cost=1 rows=1)", + "-> Table scan on roles (cost=3 rows=1)", ].joined(separator: "\n") let plan = try #require(parser.parse(rawText: output)) #expect(plan.rootNode.operation == "Query Plan") #expect(plan.rootNode.children.count == 2) + #expect(plan.rootNode.estimatedTotalCost == 4) + #expect(plan.rootNode.costFraction == 0) + #expect(plan.rootNode.children[0].costFraction == 0.25) + #expect(plan.rootNode.children[1].costFraction == 0.75) + } + + @Test("Reports the estimated cost even without a startup cost") + func reportsCostWithoutStartupCost() throws { + let plan = try #require(parser.parse(rawText: "-> Table scan on users (cost=3.5 rows=5)")) + + #expect(plan.rootNode.estimatedStartupCost == nil) + #expect(plan.rootNode.costRangeText(fractionDigits: 1) == "3.5") + #expect(plan.rootNode.costRangeText(fractionDigits: 2) == "3.50") + } + + @Test("Keeps node text that the query's own literals split across lines") + func keepsSplitNodeText() throws { + let output = [ + "-> Filter: (users.name = 'a", + "b') (cost=4.2 rows=8)", + " -> Table scan on users (cost=3 rows=10)", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + #expect(plan.rootNode.operation == "Filter: (users.name = 'a b')") + #expect(plan.rootNode.estimatedTotalCost == 4.2) + #expect(plan.rootNode.estimatedRows == 8) + #expect(plan.rootNode.children.first?.relation == "users") + } + + @Test("Reads the index name when the relation is padded with extra spaces") + func readsIndexNameAfterPaddedRelation() throws { + let output = "-> Index lookup on orders using customer_id_idx (cost=2 rows=3)" + + let plan = try #require(parser.parse(rawText: output)) + #expect(plan.rootNode.operation == "Index lookup") + #expect(plan.rootNode.relation == "orders") + #expect(plan.rootNode.properties["Index Name"] == "customer_id_idx") + } + + @Test("Rejects oversized JSON before it reaches JSONSerialization") + func rejectsOversizedJSON() { + let oversizedJson = "{\"query_block\": {\"comment\": \"" + + String(repeating: "x", count: 2_000_001) + + "\"}}" + #expect(parser.parse(rawText: oversizedJson) == nil) } @Test("Rejects malformed, oversized, and excessively deep input") diff --git a/TableProTests/Models/Query/QueryPlanCostTests.swift b/TableProTests/Models/Query/QueryPlanCostTests.swift new file mode 100644 index 000000000..37ed755f6 --- /dev/null +++ b/TableProTests/Models/Query/QueryPlanCostTests.swift @@ -0,0 +1,112 @@ +// +// QueryPlanCostTests.swift +// TableProTests +// +// Tests for cost text and cost fractions on a parsed query plan. +// + +import Foundation +@testable import TablePro +import Testing + +@Suite("Query Plan Cost") +struct QueryPlanCostTests { + private func node( + _ operation: String, + startupCost: Double? = nil, + totalCost: Double? = nil, + children: [QueryPlanNode] = [] + ) -> QueryPlanNode { + QueryPlanNode( + operation: operation, + relation: nil, + schema: nil, + alias: nil, + estimatedStartupCost: startupCost, + estimatedTotalCost: totalCost, + estimatedRows: nil, + estimatedWidth: nil, + actualStartupTime: nil, + actualTotalTime: nil, + actualRows: nil, + actualLoops: nil, + properties: [:], + children: children + ) + } + + @Test("A plan with only a total cost still shows it") + func showsTotalOnlyCost() { + let totalOnly = node("Table scan", totalCost: 3.5) + #expect(totalOnly.costRangeText(fractionDigits: 1) == "3.5") + #expect(totalOnly.costRangeText(fractionDigits: 2) == "3.50") + } + + @Test("A plan with both costs shows the range") + func showsCostRange() { + let range = node("Seq Scan", startupCost: 0.5, totalCost: 12.25) + #expect(range.costRangeText(fractionDigits: 1) == "0.5..12.2") + #expect(range.costRangeText(fractionDigits: 2) == "0.50..12.25") + } + + @Test("A plan with no cost shows nothing") + func hidesMissingCost() { + #expect(node("Hash").costRangeText(fractionDigits: 2) == nil) + } + + @Test("Cost fractions stay at zero when the root reports no cost") + func skipsFractionsWithoutRootCost() { + var plan = QueryPlan( + rootNode: node("Query Plan", children: [ + node("Table scan", totalCost: 1), + node("Table scan", totalCost: 1), + ]), + planningTime: nil, + executionTime: nil, + rawText: "" + ) + plan.computeCostFractions() + + #expect(plan.rootNode.children.allSatisfy { $0.costFraction == 0 }) + } + + @Test("Cost fractions are relative to the root total") + func dividesByRootCost() { + var plan = QueryPlan( + rootNode: node("Nested loop", totalCost: 10, children: [ + node("Table scan", totalCost: 6), + node("Table scan", totalCost: 2), + ]), + planningTime: nil, + executionTime: nil, + rawText: "" + ) + plan.computeCostFractions() + + #expect(plan.rootNode.costFraction == 0.2) + #expect(plan.rootNode.children[0].costFraction == 0.6) + #expect(plan.rootNode.children[1].costFraction == 0.2) + } + + @Test("A synthetic root totals the costs of the plans it wraps") + func sumsWrappedRootCosts() { + let roots = [node("Table scan", totalCost: 3), node("Table scan", totalCost: 1)] + let wrapped = QueryPlanTreeBuilder.root(from: roots) + + #expect(wrapped?.operation == "Query Plan") + #expect(wrapped?.estimatedTotalCost == 4) + #expect(wrapped?.exclusiveCost == 0) + } + + @Test("A synthetic root over costless plans reports no cost") + func leavesCostlessWrappedRootsAlone() { + let wrapped = QueryPlanTreeBuilder.root(from: [node("Scan"), node("Scan")]) + #expect(wrapped?.estimatedTotalCost == nil) + } + + @Test("A single root is returned unwrapped") + func returnsSingleRootUnwrapped() { + #expect(QueryPlanTreeBuilder.root(from: [node("Table scan")])?.operation == "Table scan") + #expect(QueryPlanTreeBuilder.root(from: []) == nil) + } +} diff --git a/TableProTests/Views/QueryPlan/DiagramZoomTests.swift b/TableProTests/Views/QueryPlan/DiagramZoomTests.swift new file mode 100644 index 000000000..6aeb36fbc --- /dev/null +++ b/TableProTests/Views/QueryPlan/DiagramZoomTests.swift @@ -0,0 +1,46 @@ +// +// DiagramZoomTests.swift +// TableProTests +// +// Tests for the zoom bounds shared by the ER and query plan diagrams. +// + +import CoreGraphics +@testable import TablePro +import Testing + +@Suite("Diagram Zoom") +struct DiagramZoomTests { + @Test("pinch scales from the gesture start") + func scalesFromGestureStart() { + let magnification = DiagramZoom.scaled(from: 1.5, by: 1.2) + #expect(abs(magnification - 1.8) < 0.0001) + } + + @Test("pinch clamps to the supported range") + func clampsPinchRange() { + #expect(DiagramZoom.scaled(from: 2.0, by: 2.0) == 3.0) + #expect(DiagramZoom.scaled(from: 0.5, by: 0.1) == 0.25) + } + + @Test("invalid pinch values preserve the current zoom") + func rejectsInvalidPinchValues() { + #expect(DiagramZoom.scaled(from: 1.5, by: .nan) == 1.5) + #expect(DiagramZoom.scaled(from: 1.5, by: .infinity) == 1.5) + #expect(DiagramZoom.scaled(from: 1.5, by: 0) == 1.5) + #expect(DiagramZoom.scaled(from: 1.5, by: -1) == 1.5) + } + + @Test("button zoom values use the same bounds") + func clampsButtonZoomRange() { + #expect(DiagramZoom.clamped(-10) == DiagramZoom.minimum) + #expect(DiagramZoom.clamped(10) == DiagramZoom.maximum) + #expect(DiagramZoom.clamped(.nan) == 1.0) + } + + @Test("a released pinch resolves to the gesture's final scale") + func resolvesEndedPinch() { + #expect(DiagramZoom.scaled(from: 1.0, by: 2.5) == 2.5) + #expect(DiagramZoom.scaled(from: 2.5, by: 1.0) == 2.5) + } +} diff --git a/TableProTests/Views/QueryPlan/QueryPlanDiagramLayoutTests.swift b/TableProTests/Views/QueryPlan/QueryPlanDiagramLayoutTests.swift new file mode 100644 index 000000000..e6e223638 --- /dev/null +++ b/TableProTests/Views/QueryPlan/QueryPlanDiagramLayoutTests.swift @@ -0,0 +1,127 @@ +// +// QueryPlanDiagramLayoutTests.swift +// TableProTests +// +// Tests that the plan diagram lays out one row per depth without overlapping boxes. +// + +import CoreGraphics +import Foundation +@testable import TablePro +import Testing + +@Suite("Query Plan Diagram Layout") +struct QueryPlanDiagramLayoutTests { + private func node( + _ operation: String, + relation: String? = nil, + cost: Double? = nil, + rows: Int? = nil, + actualTime: Double? = nil, + children: [QueryPlanNode] = [] + ) -> QueryPlanNode { + QueryPlanNode( + operation: operation, + relation: relation, + schema: nil, + alias: nil, + estimatedStartupCost: nil, + estimatedTotalCost: cost, + estimatedRows: rows, + estimatedWidth: nil, + actualStartupTime: nil, + actualTotalTime: actualTime, + actualRows: nil, + actualLoops: nil, + properties: [:], + children: children + ) + } + + /// A bare node is the shortest box, a node with a relation, cost and timing the tallest. + private func makeMixedHeightPlan() -> QueryPlanNode { + node( + "Nested loop inner join", + cost: 12, + rows: 40, + actualTime: 3.5, + children: [ + node("Hash", children: [ + node("Table scan", relation: "t1", cost: 3, rows: 5, actualTime: 0.5), + ]), + node("Table scan", relation: "t2", cost: 4, rows: 9, actualTime: 0.9, children: [ + node("Filter"), + ]), + ] + ) + } + + @Test("Nodes at the same depth share one row") + func alignsSiblingRows() { + let plan = makeMixedHeightPlan() + let layout = QueryPlanDiagramLayout(root: plan) + let depths = depthByNodeId(plan, depth: 0) + + var topsByDepth: [Int: Set] = [:] + for positioned in layout.nodes { + guard let depth = depths[positioned.id] else { continue } + topsByDepth[depth, default: []].insert(positioned.rect.minY) + } + + #expect(topsByDepth.count == 3) + for (_, tops) in topsByDepth { + #expect(tops.count == 1) + } + } + + @Test("A child never overlaps its parent") + func keepsChildrenBelowParents() { + let layout = QueryPlanDiagramLayout(root: makeMixedHeightPlan()) + let byId = Dictionary(uniqueKeysWithValues: layout.nodes.map { ($0.id, $0) }) + + for positioned in layout.nodes { + guard let parentId = positioned.parentId, let parent = byId[parentId] else { continue } + #expect(positioned.rect.minY >= parent.rect.maxY) + } + } + + @Test("Rows are separated by the standard spacing") + func stacksRowsByTallestNode() { + let plan = makeMixedHeightPlan() + let layout = QueryPlanDiagramLayout(root: plan) + let depths = depthByNodeId(plan, depth: 0) + + let firstRowTop = layout.nodes.first { depths[$0.id] == 0 }?.rect.minY + let firstRowBottom = layout.nodes.filter { depths[$0.id] == 0 }.map { $0.rect.maxY }.max() + let secondRowTop = layout.nodes.first { depths[$0.id] == 1 }?.rect.minY + + #expect(firstRowTop == 40) + #expect(secondRowTop == (firstRowBottom ?? 0) + 40) + } + + @Test("Canvas covers every node") + func canvasCoversAllNodes() { + let layout = QueryPlanDiagramLayout(root: makeMixedHeightPlan()) + let maxX = layout.nodes.map { $0.rect.maxX }.max() ?? 0 + let maxY = layout.nodes.map { $0.rect.maxY }.max() ?? 0 + + #expect(layout.canvasSize.width > maxX) + #expect(layout.canvasSize.height > maxY) + } + + @Test("Every node in the tree is positioned once") + func positionsEveryNode() { + let layout = QueryPlanDiagramLayout(root: makeMixedHeightPlan()) + #expect(layout.nodes.count == 5) + #expect(Set(layout.nodes.map(\.id)).count == 5) + #expect(layout.nodes.filter { $0.parentId == nil }.count == 1) + } + + private func depthByNodeId(_ node: QueryPlanNode, depth: Int) -> [UUID: Int] { + var result = [node.id: depth] + for child in node.children { + result.merge(depthByNodeId(child, depth: depth + 1)) { current, _ in current } + } + return result + } +} diff --git a/TableProTests/Views/QueryPlan/QueryPlanDiagramZoomTests.swift b/TableProTests/Views/QueryPlan/QueryPlanDiagramZoomTests.swift deleted file mode 100644 index 69557d45b..000000000 --- a/TableProTests/Views/QueryPlan/QueryPlanDiagramZoomTests.swift +++ /dev/null @@ -1,34 +0,0 @@ -import CoreGraphics -import Testing - -@testable import TablePro - -@Suite("Query Plan Diagram Zoom") -struct QueryPlanDiagramZoomTests { - @Test("pinch scales from the gesture start") - func scalesFromGestureStart() { - let magnification = QueryPlanDiagramZoom.scaled(from: 1.5, by: 1.2) - #expect(abs(magnification - 1.8) < 0.0001) - } - - @Test("pinch clamps to the supported range") - func clampsPinchRange() { - #expect(QueryPlanDiagramZoom.scaled(from: 2.0, by: 2.0) == 3.0) - #expect(QueryPlanDiagramZoom.scaled(from: 0.5, by: 0.1) == 0.25) - } - - @Test("invalid pinch values preserve the current zoom") - func rejectsInvalidPinchValues() { - #expect(QueryPlanDiagramZoom.scaled(from: 1.5, by: .nan) == 1.5) - #expect(QueryPlanDiagramZoom.scaled(from: 1.5, by: .infinity) == 1.5) - #expect(QueryPlanDiagramZoom.scaled(from: 1.5, by: 0) == 1.5) - #expect(QueryPlanDiagramZoom.scaled(from: 1.5, by: -1) == 1.5) - } - - @Test("button zoom values use the same bounds") - func clampsButtonZoomRange() { - #expect(QueryPlanDiagramZoom.clamped(-10) == 0.25) - #expect(QueryPlanDiagramZoom.clamped(10) == 3.0) - #expect(QueryPlanDiagramZoom.clamped(.nan) == 1.0) - } -} From 765c1773d94d4f560692dc20d4a2f7f6d23c7536 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 07:37:58 +0700 Subject: [PATCH 04/19] feat(plugins): let an EXPLAIN variant declare its plan format --- .../TableProPluginKit/ExplainPlanFormat.swift | 22 +++++++ .../TableProPluginKit/ExplainVariant.swift | 9 ++- .../Plugins/ExplainVariantFormatTests.swift | 63 +++++++++++++++++++ 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 Plugins/TableProPluginKit/ExplainPlanFormat.swift create mode 100644 TableProTests/Core/Plugins/ExplainVariantFormatTests.swift diff --git a/Plugins/TableProPluginKit/ExplainPlanFormat.swift b/Plugins/TableProPluginKit/ExplainPlanFormat.swift new file mode 100644 index 000000000..fc7c0a808 --- /dev/null +++ b/Plugins/TableProPluginKit/ExplainPlanFormat.swift @@ -0,0 +1,22 @@ +import Foundation + +/// The shape of the text a database returns for an EXPLAIN variant. String-based rather than an +/// enum so a plugin can name a format the app does not know yet without a PluginKit release. +public struct ExplainPlanFormat: Hashable, Sendable { + public let rawValue: String + + public init(rawValue: String) { + self.rawValue = rawValue + } +} + +public extension ExplainPlanFormat { + /// Output the app has no structured parser for. Rendered as text. + static let plainText = ExplainPlanFormat(rawValue: "plainText") + + static let postgresJson = ExplainPlanFormat(rawValue: "postgresJson") + static let mysqlComposite = ExplainPlanFormat(rawValue: "mysqlComposite") + static let sqliteQueryPlan = ExplainPlanFormat(rawValue: "sqliteQueryPlan") + static let cockroachText = ExplainPlanFormat(rawValue: "cockroachText") + static let indentedText = ExplainPlanFormat(rawValue: "indentedText") +} diff --git a/Plugins/TableProPluginKit/ExplainVariant.swift b/Plugins/TableProPluginKit/ExplainVariant.swift index 3edd0ab50..97e47dba7 100644 --- a/Plugins/TableProPluginKit/ExplainVariant.swift +++ b/Plugins/TableProPluginKit/ExplainVariant.swift @@ -4,10 +4,17 @@ public struct ExplainVariant: Sendable, Identifiable { public let id: String public let label: String public let sqlPrefix: String + public let format: ExplainPlanFormat - public init(id: String, label: String, sqlPrefix: String) { + public init(id: String, label: String, sqlPrefix: String, format: ExplainPlanFormat = .plainText) { self.id = id self.label = label self.sqlPrefix = sqlPrefix + self.format = format + } + + @_disfavoredOverload + public init(id: String, label: String, sqlPrefix: String) { + self.init(id: id, label: label, sqlPrefix: sqlPrefix, format: .plainText) } } diff --git a/TableProTests/Core/Plugins/ExplainVariantFormatTests.swift b/TableProTests/Core/Plugins/ExplainVariantFormatTests.swift new file mode 100644 index 000000000..2afcd10bd --- /dev/null +++ b/TableProTests/Core/Plugins/ExplainVariantFormatTests.swift @@ -0,0 +1,63 @@ +// +// ExplainVariantFormatTests.swift +// TableProTests +// +// Guards the additive contract of ExplainVariant.format: a plugin built against the older +// three-argument initializer must keep compiling and must report the documented default. +// + +import Foundation +@testable import TablePro +import TableProPluginKit +import Testing + +@Suite("Explain Variant Format") +struct ExplainVariantFormatTests { + @Test("The legacy initializer still compiles and defaults to plain text") + func legacyInitializerDefaultsToPlainText() { + let variant = ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN") + + #expect(variant.id == "explain") + #expect(variant.label == "EXPLAIN") + #expect(variant.sqlPrefix == "EXPLAIN") + #expect(variant.format == .plainText) + } + + @Test("The format initializer round-trips an explicit format") + func formatInitializerRoundTrips() { + let variant = ExplainVariant( + id: "explain-json", + label: "EXPLAIN (JSON)", + sqlPrefix: "EXPLAIN FORMAT=JSON", + format: .mysqlComposite + ) + + #expect(variant.format == .mysqlComposite) + #expect(variant.sqlPrefix == "EXPLAIN FORMAT=JSON") + } + + @Test("Both initializers agree on the fields they share") + func initializersAgreeOnSharedFields() { + let legacy = ExplainVariant(id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN") + let tagged = ExplainVariant( + id: "plan", + label: "Query Plan", + sqlPrefix: "EXPLAIN QUERY PLAN", + format: .sqliteQueryPlan + ) + + #expect(legacy.id == tagged.id) + #expect(legacy.label == tagged.label) + #expect(legacy.sqlPrefix == tagged.sqlPrefix) + #expect(legacy.format != tagged.format) + } + + @Test("An unknown format a future plugin names round-trips without a PluginKit change") + func unknownFormatRoundTrips() { + let future = ExplainPlanFormat(rawValue: "someFutureEngine") + let variant = ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN", format: future) + + #expect(variant.format.rawValue == "someFutureEngine") + #expect(variant.format != .plainText) + } +} From 2b5a1e0cf8d106ebd761eaf83cd991b591865ace Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 07:49:54 +0700 Subject: [PATCH 05/19] feat(plugins): tag EXPLAIN variants with the plan format they return --- .../ClickHousePlugin.swift | 10 +++---- .../CloudflareD1Plugin.swift | 4 ++- Plugins/LibSQLDriverPlugin/LibSQLPlugin.swift | 4 ++- Plugins/MySQLDriverPlugin/MySQLPlugin.swift | 9 +++++-- .../PostgreSQLPlugin.swift | 11 ++++++-- Plugins/SQLiteDriverPlugin/SQLitePlugin.swift | 4 ++- ...ginMetadataRegistry+RegistryDefaults.swift | 26 +++++++++++++------ .../Core/Plugins/PluginMetadataRegistry.swift | 11 ++++++-- 8 files changed, 57 insertions(+), 22 deletions(-) diff --git a/Plugins/ClickHouseDriverPlugin/ClickHousePlugin.swift b/Plugins/ClickHouseDriverPlugin/ClickHousePlugin.swift index 203fa8d1f..c38c177e2 100644 --- a/Plugins/ClickHouseDriverPlugin/ClickHousePlugin.swift +++ b/Plugins/ClickHouseDriverPlugin/ClickHousePlugin.swift @@ -22,11 +22,11 @@ final class ClickHousePlugin: NSObject, TableProPlugin, DriverPlugin { static let isDownloadable = true static let explainVariants: [ExplainVariant] = [ - ExplainVariant(id: "plan", label: "Plan", sqlPrefix: "EXPLAIN"), - ExplainVariant(id: "pipeline", label: "Pipeline", sqlPrefix: "EXPLAIN PIPELINE"), - ExplainVariant(id: "ast", label: "AST", sqlPrefix: "EXPLAIN AST"), - ExplainVariant(id: "syntax", label: "Syntax", sqlPrefix: "EXPLAIN SYNTAX"), - ExplainVariant(id: "estimate", label: "Estimate", sqlPrefix: "EXPLAIN ESTIMATE"), + ExplainVariant(id: "plan", label: "Plan", sqlPrefix: "EXPLAIN", format: .indentedText), + ExplainVariant(id: "pipeline", label: "Pipeline", sqlPrefix: "EXPLAIN PIPELINE", format: .indentedText), + ExplainVariant(id: "ast", label: "AST", sqlPrefix: "EXPLAIN AST", format: .indentedText), + ExplainVariant(id: "syntax", label: "Syntax", sqlPrefix: "EXPLAIN SYNTAX", format: .indentedText), + ExplainVariant(id: "estimate", label: "Estimate", sqlPrefix: "EXPLAIN ESTIMATE", format: .indentedText), ] static let brandColorHex = "#FFD100" static let postConnectActions: [PostConnectAction] = [.selectDatabaseFromLastSession] diff --git a/Plugins/CloudflareD1DriverPlugin/CloudflareD1Plugin.swift b/Plugins/CloudflareD1DriverPlugin/CloudflareD1Plugin.swift index 203930317..d7cba31dd 100644 --- a/Plugins/CloudflareD1DriverPlugin/CloudflareD1Plugin.swift +++ b/Plugins/CloudflareD1DriverPlugin/CloudflareD1Plugin.swift @@ -33,7 +33,9 @@ final class CloudflareD1Plugin: NSObject, TableProPlugin, DriverPlugin { static let urlSchemes: [String] = ["d1"] static let explainVariants: [ExplainVariant] = [ - ExplainVariant(id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN") + ExplainVariant( + id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN", format: .sqliteQueryPlan + ) ] static let structureColumnFields: [StructureColumnField] = [.name, .type, .nullable, .defaultValue] diff --git a/Plugins/LibSQLDriverPlugin/LibSQLPlugin.swift b/Plugins/LibSQLDriverPlugin/LibSQLPlugin.swift index dd5b72a5c..3658ce525 100644 --- a/Plugins/LibSQLDriverPlugin/LibSQLPlugin.swift +++ b/Plugins/LibSQLDriverPlugin/LibSQLPlugin.swift @@ -37,7 +37,9 @@ final class LibSQLPlugin: NSObject, TableProPlugin, DriverPlugin { static let urlSchemes: [String] = ["libsql"] static let explainVariants: [ExplainVariant] = [ - ExplainVariant(id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN") + ExplainVariant( + id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN", format: .sqliteQueryPlan + ) ] static let structureColumnFields: [StructureColumnField] = [.name, .type, .nullable, .defaultValue] diff --git a/Plugins/MySQLDriverPlugin/MySQLPlugin.swift b/Plugins/MySQLDriverPlugin/MySQLPlugin.swift index 1ed5c077e..e548405e4 100644 --- a/Plugins/MySQLDriverPlugin/MySQLPlugin.swift +++ b/Plugins/MySQLDriverPlugin/MySQLPlugin.swift @@ -30,8 +30,13 @@ final class MySQLPlugin: NSObject, TableProPlugin, DriverPlugin { static let urlSchemes: [String] = ["mysql"] static let explainVariants: [ExplainVariant] = [ - ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN"), - ExplainVariant(id: "explain-json", label: "EXPLAIN (JSON)", sqlPrefix: "EXPLAIN FORMAT=JSON"), + ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN", format: .mysqlComposite), + ExplainVariant( + id: "explain-json", + label: "EXPLAIN (JSON)", + sqlPrefix: "EXPLAIN FORMAT=JSON", + format: .mysqlComposite + ), ] static let brandColorHex = "#FF9500" static let postConnectActions: [PostConnectAction] = [.selectDatabaseFromLastSession] diff --git a/Plugins/PostgreSQLDriverPlugin/PostgreSQLPlugin.swift b/Plugins/PostgreSQLDriverPlugin/PostgreSQLPlugin.swift index a3544d113..d7c759765 100644 --- a/Plugins/PostgreSQLDriverPlugin/PostgreSQLPlugin.swift +++ b/Plugins/PostgreSQLDriverPlugin/PostgreSQLPlugin.swift @@ -50,8 +50,15 @@ final class PostgreSQLPlugin: NSObject, TableProPlugin, DriverPlugin { static let supportsSchemaSwitching = true static let postConnectActions: [PostConnectAction] = [.selectSchemaFromLastSession] static let explainVariants: [ExplainVariant] = [ - ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN (FORMAT JSON)"), - ExplainVariant(id: "analyze", label: "EXPLAIN ANALYZE", sqlPrefix: "EXPLAIN (ANALYZE, FORMAT JSON)"), + ExplainVariant( + id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN (FORMAT JSON)", format: .postgresJson + ), + ExplainVariant( + id: "analyze", + label: "EXPLAIN ANALYZE", + sqlPrefix: "EXPLAIN (ANALYZE, FORMAT JSON)", + format: .postgresJson + ), ] static let databaseGroupingStrategy: GroupingStrategy = .bySchema static let columnTypesByCategory: [String: [String]] = [ diff --git a/Plugins/SQLiteDriverPlugin/SQLitePlugin.swift b/Plugins/SQLiteDriverPlugin/SQLitePlugin.swift index 1c8e84cf1..4e48aada1 100644 --- a/Plugins/SQLiteDriverPlugin/SQLitePlugin.swift +++ b/Plugins/SQLiteDriverPlugin/SQLitePlugin.swift @@ -15,7 +15,9 @@ final class SQLitePlugin: NSObject, TableProPlugin, DriverPlugin { static let capabilities: [PluginCapability] = [.databaseDriver] static let explainVariants: [ExplainVariant] = [ - ExplainVariant(id: "explain", label: "Explain", sqlPrefix: "EXPLAIN QUERY PLAN") + ExplainVariant( + id: "explain", label: "Explain", sqlPrefix: "EXPLAIN QUERY PLAN", format: .sqliteQueryPlan + ) ] static let databaseTypeId = "SQLite" diff --git a/TablePro/Core/Plugins/PluginMetadataRegistry+RegistryDefaults.swift b/TablePro/Core/Plugins/PluginMetadataRegistry+RegistryDefaults.swift index ea2541e55..6014deb47 100644 --- a/TablePro/Core/Plugins/PluginMetadataRegistry+RegistryDefaults.swift +++ b/TablePro/Core/Plugins/PluginMetadataRegistry+RegistryDefaults.swift @@ -518,11 +518,17 @@ extension PluginMetadataRegistry { requiresAuthentication: true, supportsForeignKeys: false, supportsSchemaEditing: true, isDownloadable: true, primaryUrlScheme: "clickhouse", parameterStyle: .questionMark, navigationModel: .standard, explainVariants: [ - ExplainVariant(id: "plan", label: "Plan", sqlPrefix: "EXPLAIN"), - ExplainVariant(id: "pipeline", label: "Pipeline", sqlPrefix: "EXPLAIN PIPELINE"), - ExplainVariant(id: "ast", label: "AST", sqlPrefix: "EXPLAIN AST"), - ExplainVariant(id: "syntax", label: "Syntax", sqlPrefix: "EXPLAIN SYNTAX"), - ExplainVariant(id: "estimate", label: "Estimate", sqlPrefix: "EXPLAIN ESTIMATE") + ExplainVariant(id: "plan", label: "Plan", sqlPrefix: "EXPLAIN", format: .indentedText), + ExplainVariant( + id: "pipeline", label: "Pipeline", sqlPrefix: "EXPLAIN PIPELINE", format: .indentedText + ), + ExplainVariant(id: "ast", label: "AST", sqlPrefix: "EXPLAIN AST", format: .indentedText), + ExplainVariant( + id: "syntax", label: "Syntax", sqlPrefix: "EXPLAIN SYNTAX", format: .indentedText + ), + ExplainVariant( + id: "estimate", label: "Estimate", sqlPrefix: "EXPLAIN ESTIMATE", format: .indentedText + ) ], pathFieldRole: .database, supportsHealthMonitor: true, urlSchemes: ["clickhouse", "ch"], postConnectActions: [.selectDatabaseFromLastSession], @@ -574,7 +580,7 @@ extension PluginMetadataRegistry { isDownloadable: true, primaryUrlScheme: "duckdb", parameterStyle: .dollar, navigationModel: .standard, explainVariants: [ - ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN"), + ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN", format: .indentedText), ], pathFieldRole: .database, supportsHealthMonitor: false, urlSchemes: ["duckdb", "quack"], postConnectActions: [], @@ -918,7 +924,9 @@ extension PluginMetadataRegistry { requiresAuthentication: true, supportsForeignKeys: true, supportsSchemaEditing: false, isDownloadable: true, primaryUrlScheme: "d1", parameterStyle: .questionMark, navigationModel: .standard, explainVariants: [ - ExplainVariant(id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN") + ExplainVariant( + id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN", format: .sqliteQueryPlan + ) ], pathFieldRole: .database, supportsHealthMonitor: true, urlSchemes: ["d1"], postConnectActions: [], @@ -976,7 +984,9 @@ extension PluginMetadataRegistry { requiresAuthentication: false, supportsForeignKeys: true, supportsSchemaEditing: true, isDownloadable: true, primaryUrlScheme: "libsql", parameterStyle: .questionMark, navigationModel: .standard, explainVariants: [ - ExplainVariant(id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN") + ExplainVariant( + id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN", format: .sqliteQueryPlan + ) ], pathFieldRole: .database, supportsHealthMonitor: true, urlSchemes: ["libsql"], postConnectActions: [], diff --git a/TablePro/Core/Plugins/PluginMetadataRegistry.swift b/TablePro/Core/Plugins/PluginMetadataRegistry.swift index 979bf5840..b9e36dd25 100644 --- a/TablePro/Core/Plugins/PluginMetadataRegistry.swift +++ b/TablePro/Core/Plugins/PluginMetadataRegistry.swift @@ -730,8 +730,15 @@ final class PluginMetadataRegistry: @unchecked Sendable { isDownloadable: false, primaryUrlScheme: "cockroachdb", parameterStyle: .dollar, navigationModel: .standard, explainVariants: [ - ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN"), - ExplainVariant(id: "analyze", label: "EXPLAIN ANALYZE", sqlPrefix: "EXPLAIN ANALYZE"), + ExplainVariant( + id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN", format: .cockroachText + ), + ExplainVariant( + id: "analyze", + label: "EXPLAIN ANALYZE", + sqlPrefix: "EXPLAIN ANALYZE", + format: .cockroachText + ), ], pathFieldRole: .database, supportsHealthMonitor: true, urlSchemes: ["cockroachdb", "cockroach"], From 48969ebd8e192c273df0ffce4ecb93eae9aa4c30 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 07:56:50 +0700 Subject: [PATCH 06/19] refactor(explain): resolve plan parsers by output format instead of database type --- .../QueryExecutionCoordinator+Helpers.swift | 9 +- .../Query/ExplainFormatResolver.swift | 38 +++++ .../Query/ExplainPlanFormatDefaults.swift | 30 ++++ .../Query/ExplainPlanParserRegistry.swift | 34 +++++ .../Query/ExplainPlanTextFlattener.swift | 18 +++ .../Services/Query/ExplainResultRouter.swift | 23 ++- .../Core/Services/Query/QueryPlanParser.swift | 21 --- .../MainContentCoordinator+ClickHouse.swift | 16 +-- .../Query/CockroachDBPlanParserTests.swift | 8 +- .../ExplainPlanFormatResolutionTests.swift | 123 ++++++++++++++++ .../Query/ExplainResultRouterTests.swift | 52 +++++-- .../Query/IndentedTextPlanParserTests.swift | 83 +++++++++++ .../Services/Query/MySQLPlanParserTests.swift | 11 +- .../Query/PostgreSQLPlanParserTests.swift | 136 ++++++++++++++++++ .../Query/SQLitePlanParserTests.swift | 85 +++++++++++ 15 files changed, 636 insertions(+), 51 deletions(-) create mode 100644 TablePro/Core/Services/Query/ExplainFormatResolver.swift create mode 100644 TablePro/Core/Services/Query/ExplainPlanFormatDefaults.swift create mode 100644 TablePro/Core/Services/Query/ExplainPlanParserRegistry.swift create mode 100644 TablePro/Core/Services/Query/ExplainPlanTextFlattener.swift create mode 100644 TableProTests/Core/Services/Query/ExplainPlanFormatResolutionTests.swift create mode 100644 TableProTests/Core/Services/Query/IndentedTextPlanParserTests.swift create mode 100644 TableProTests/Core/Services/Query/PostgreSQLPlanParserTests.swift create mode 100644 TableProTests/Core/Services/Query/SQLitePlanParserTests.swift diff --git a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift index eca153462..f97b03f29 100644 --- a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift +++ b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift @@ -85,7 +85,9 @@ extension QueryExecutionCoordinator { ) { guard let idx = parent.tabManager.tabs.firstIndex(where: { $0.id == tabId }) else { return } - if let planText = ExplainResultRouter.planText(sql: sql, columns: columns, rows: rows) { + if let planText = ExplainResultRouter.planText( + sql: sql, columns: columns, rows: rows, declaredVariants: conn.type.explainVariants + ) { applyExplainResult( tabId: tabId, planText: planText, @@ -238,7 +240,10 @@ extension QueryExecutionCoordinator { connection conn: DatabaseConnection, queryParameterValues: [QueryParameter]? ) { - let plan = QueryPlanParserFactory.parser(for: conn.type)?.parse(rawText: planText) + let format = ExplainFormatResolver.resolve( + sql: sql, databaseType: conn.type, declaredVariants: conn.type.explainVariants + ) + let plan = ExplainPlanParserRegistry.plan(from: planText, format: format) parent.tabManager.mutate(tabId: tabId) { tab in tab.execution.executionTime = executionTime diff --git a/TablePro/Core/Services/Query/ExplainFormatResolver.swift b/TablePro/Core/Services/Query/ExplainFormatResolver.swift new file mode 100644 index 000000000..00c28b06c --- /dev/null +++ b/TablePro/Core/Services/Query/ExplainFormatResolver.swift @@ -0,0 +1,38 @@ +// +// ExplainFormatResolver.swift +// TablePro +// +// Resolves which plan format a piece of EXPLAIN output is in, for both the Explain action +// (where the variant is known) and a hand-typed statement (where only the SQL is). +// + +import Foundation +import TableProPluginKit + +enum ExplainFormatResolver { + static func resolve(declared: ExplainPlanFormat, databaseType: DatabaseType) -> ExplainPlanFormat { + guard declared == .plainText else { return declared } + return ExplainPlanFormatDefaults.format(for: databaseType) + } + + static func resolve( + sql: String, + databaseType: DatabaseType, + declaredVariants: [ExplainVariant] + ) -> ExplainPlanFormat { + let declared = matchingVariant(sql: sql, declaredVariants: declaredVariants)?.format ?? .plainText + return resolve(declared: declared, databaseType: databaseType) + } + + /// The declared variant whose SQL prefix the statement starts with. Longest prefix wins so + /// `EXPLAIN FORMAT=JSON ...` matches the JSON variant rather than the bare `EXPLAIN` one. + static func matchingVariant(sql: String, declaredVariants: [ExplainVariant]) -> ExplainVariant? { + let normalized = sql.trimmingCharacters(in: .whitespacesAndNewlines) + guard !normalized.isEmpty else { return nil } + + return declaredVariants + .filter { !$0.sqlPrefix.isEmpty } + .filter { normalized.range(of: $0.sqlPrefix, options: [.caseInsensitive, .anchored]) != nil } + .max { $0.sqlPrefix.count < $1.sqlPrefix.count } + } +} diff --git a/TablePro/Core/Services/Query/ExplainPlanFormatDefaults.swift b/TablePro/Core/Services/Query/ExplainPlanFormatDefaults.swift new file mode 100644 index 000000000..71433da72 --- /dev/null +++ b/TablePro/Core/Services/Query/ExplainPlanFormatDefaults.swift @@ -0,0 +1,30 @@ +// +// ExplainPlanFormatDefaults.swift +// TablePro +// +// The plan format the app assumes for a database type when the driver's declared variant +// does not name one. A plugin built before ExplainVariant carried a format still reports +// .plainText, so without this table its plans would render as raw text until it is rebuilt. +// + +import Foundation +import TableProPluginKit + +enum ExplainPlanFormatDefaults { + static func format(for databaseType: DatabaseType) -> ExplainPlanFormat { + switch databaseType { + case .postgresql, .redshift, .pglite: + return .postgresJson + case .mysql, .mariadb: + return .mysqlComposite + case .sqlite, .cloudflareD1, .libsql, .turso: + return .sqliteQueryPlan + case .cockroachdb: + return .cockroachText + case .clickhouse, .duckdb: + return .indentedText + default: + return .plainText + } + } +} diff --git a/TablePro/Core/Services/Query/ExplainPlanParserRegistry.swift b/TablePro/Core/Services/Query/ExplainPlanParserRegistry.swift new file mode 100644 index 000000000..96ac68024 --- /dev/null +++ b/TablePro/Core/Services/Query/ExplainPlanParserRegistry.swift @@ -0,0 +1,34 @@ +// +// ExplainPlanParserRegistry.swift +// TablePro +// +// Maps a plan format to the parser that reads it. Keyed by format rather than database type so +// engines that share an output shape share a parser, and a plugin can name a format the app +// does not parse yet without breaking. +// + +import Foundation +import TableProPluginKit + +enum ExplainPlanParserRegistry { + static func parser(for format: ExplainPlanFormat) -> QueryPlanParser? { + switch format { + case .postgresJson: + return PostgreSQLPlanParser() + case .mysqlComposite: + return MySQLPlanParser() + case .sqliteQueryPlan: + return SQLitePlanParser() + case .cockroachText: + return CockroachDBPlanParser() + case .indentedText: + return IndentedTextPlanParser() + default: + return nil + } + } + + static func plan(from rawText: String, format: ExplainPlanFormat) -> QueryPlan? { + parser(for: format)?.parse(rawText: rawText) + } +} diff --git a/TablePro/Core/Services/Query/ExplainPlanTextFlattener.swift b/TablePro/Core/Services/Query/ExplainPlanTextFlattener.swift new file mode 100644 index 000000000..facdf867d --- /dev/null +++ b/TablePro/Core/Services/Query/ExplainPlanTextFlattener.swift @@ -0,0 +1,18 @@ +// +// ExplainPlanTextFlattener.swift +// TablePro +// +// Turns EXPLAIN result rows into the single block of text the plan parsers read. One rule for +// every entry point, so the Explain action and a hand-typed statement produce identical text. +// + +import Foundation +import TableProPluginKit + +enum ExplainPlanTextFlattener { + static func flatten(rows: [[PluginCellValue]]) -> String { + rows + .map { row in row.compactMap { $0.asText }.joined(separator: "\t") } + .joined(separator: "\n") + } +} diff --git a/TablePro/Core/Services/Query/ExplainResultRouter.swift b/TablePro/Core/Services/Query/ExplainResultRouter.swift index 60a071e70..9c6ba7dff 100644 --- a/TablePro/Core/Services/Query/ExplainResultRouter.swift +++ b/TablePro/Core/Services/Query/ExplainResultRouter.swift @@ -2,14 +2,31 @@ // ExplainResultRouter.swift // TablePro // +// Decides whether the result of a hand-typed statement is a query plan rather than a grid. +// import Foundation import TableProPluginKit enum ExplainResultRouter { - static func planText(sql: String, columns: [String], rows: [[PluginCellValue]]) -> String? { - guard QueryClassifier.isExplainStatement(sql), columns.count == 1 else { return nil } - let text = rows.map { $0.first?.asText ?? "" }.joined(separator: "\n") + /// A plan either arrives in one column, or comes from a statement whose prefix matches an + /// EXPLAIN variant the driver declares. The second arm is what lets SQLite's four-column + /// `EXPLAIN QUERY PLAN` reach the viewer, without pulling in a maintenance command such as + /// MySQL's `ANALYZE TABLE`, which `isExplainStatement` also matches but no variant declares. + static func planText( + sql: String, + columns: [String], + rows: [[PluginCellValue]], + declaredVariants: [ExplainVariant] + ) -> String? { + guard QueryClassifier.isExplainStatement(sql) else { return nil } + + let isDeclaredVariant = ExplainFormatResolver.matchingVariant( + sql: sql, declaredVariants: declaredVariants + ) != nil + guard columns.count == 1 || isDeclaredVariant else { return nil } + + let text = ExplainPlanTextFlattener.flatten(rows: rows) return text.isEmpty ? nil : text } } diff --git a/TablePro/Core/Services/Query/QueryPlanParser.swift b/TablePro/Core/Services/Query/QueryPlanParser.swift index 39e49cc02..3d1db9efd 100644 --- a/TablePro/Core/Services/Query/QueryPlanParser.swift +++ b/TablePro/Core/Services/Query/QueryPlanParser.swift @@ -691,24 +691,3 @@ struct CockroachDBPlanParser: QueryPlanParser { } } } - -// MARK: - Factory - -enum QueryPlanParserFactory { - static func parser(for databaseType: DatabaseType) -> QueryPlanParser? { - switch databaseType { - case .postgresql, .redshift: - return PostgreSQLPlanParser() - case .cockroachdb: - return CockroachDBPlanParser() - case .mysql, .mariadb: - return MySQLPlanParser() - case .sqlite: - return SQLitePlanParser() - case .clickhouse, .duckdb: - return IndentedTextPlanParser() - default: - return nil - } - } -} diff --git a/TablePro/Views/Main/Extensions/MainContentCoordinator+ClickHouse.swift b/TablePro/Views/Main/Extensions/MainContentCoordinator+ClickHouse.swift index 36ad1599c..4d4fc49d8 100644 --- a/TablePro/Views/Main/Extensions/MainContentCoordinator+ClickHouse.swift +++ b/TablePro/Views/Main/Extensions/MainContentCoordinator+ClickHouse.swift @@ -69,20 +69,16 @@ extension MainContentCoordinator { let result = try await driver.execute(query: explainSQL) let duration = Date().timeIntervalSince(startTime) - let text = result.rows.map { row in - row.compactMap { $0.asText }.joined(separator: "\t") - }.joined(separator: "\n") + let text = ExplainPlanTextFlattener.flatten(rows: result.rows) + let format = ExplainFormatResolver.resolve( + declared: variant.format, databaseType: connection.type + ) + let plan = ExplainPlanParserRegistry.plan(from: text, format: format) - let parser = QueryPlanParserFactory.parser(for: connection.type) tabManager.mutate(tabId: tabId) { tab in tab.display.explainText = text tab.display.explainExecutionTime = duration - - if let parser { - tab.display.explainPlan = parser.parse(rawText: text) - } else { - tab.display.explainPlan = nil - } + tab.display.explainPlan = plan } } catch { tabManager.mutate(tabId: tabId) { tab in diff --git a/TableProTests/Core/Services/Query/CockroachDBPlanParserTests.swift b/TableProTests/Core/Services/Query/CockroachDBPlanParserTests.swift index e99174430..bb898106e 100644 --- a/TableProTests/Core/Services/Query/CockroachDBPlanParserTests.swift +++ b/TableProTests/Core/Services/Query/CockroachDBPlanParserTests.swift @@ -7,6 +7,7 @@ import Foundation @testable import TablePro +import TableProPluginKit import Testing @Suite("CockroachDB Plan Parser") @@ -96,8 +97,9 @@ struct CockroachDBPlanParserTests { #expect(parser.parse(rawText: "distribution: local\nvectorized: true") == nil) } - @Test("Factory returns CockroachDB parser for .cockroachdb") - func factoryReturnsCockroachParser() { - #expect(QueryPlanParserFactory.parser(for: .cockroachdb) is CockroachDBPlanParser) + @Test("A CockroachDB plan resolves to the CockroachDB parser") + func registryReturnsCockroachParser() { + let format = ExplainFormatResolver.resolve(declared: .plainText, databaseType: .cockroachdb) + #expect(ExplainPlanParserRegistry.parser(for: format) is CockroachDBPlanParser) } } diff --git a/TableProTests/Core/Services/Query/ExplainPlanFormatResolutionTests.swift b/TableProTests/Core/Services/Query/ExplainPlanFormatResolutionTests.swift new file mode 100644 index 000000000..aa07025c8 --- /dev/null +++ b/TableProTests/Core/Services/Query/ExplainPlanFormatResolutionTests.swift @@ -0,0 +1,123 @@ +// +// ExplainPlanFormatResolutionTests.swift +// TableProTests +// +// Tests for resolving an EXPLAIN plan format and mapping it to a parser. +// + +import Foundation +@testable import TablePro +import TableProPluginKit +import Testing + +@Suite("Explain Plan Format Resolution") +struct ExplainPlanFormatResolutionTests { + private let mysqlVariants = [ + ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN", format: .mysqlComposite), + ExplainVariant( + id: "json", label: "EXPLAIN (JSON)", sqlPrefix: "EXPLAIN FORMAT=JSON", format: .mysqlComposite + ), + ] + + private let sqliteVariants = [ + ExplainVariant( + id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN", format: .sqliteQueryPlan + ) + ] + + // MARK: - Registry + + @Test("Every known format maps to its parser") + func mapsFormatsToParsers() { + #expect(ExplainPlanParserRegistry.parser(for: .postgresJson) is PostgreSQLPlanParser) + #expect(ExplainPlanParserRegistry.parser(for: .mysqlComposite) is MySQLPlanParser) + #expect(ExplainPlanParserRegistry.parser(for: .sqliteQueryPlan) is SQLitePlanParser) + #expect(ExplainPlanParserRegistry.parser(for: .cockroachText) is CockroachDBPlanParser) + #expect(ExplainPlanParserRegistry.parser(for: .indentedText) is IndentedTextPlanParser) + } + + @Test("Plain text and an unknown format have no parser") + func degradesUnknownFormats() { + #expect(ExplainPlanParserRegistry.parser(for: .plainText) == nil) + #expect(ExplainPlanParserRegistry.parser(for: ExplainPlanFormat(rawValue: "future")) == nil) + } + + // MARK: - Curated defaults + + @Test("A database type the app knows resolves a format even when the variant declares none") + func fallsBackToCuratedDefault() { + #expect(ExplainFormatResolver.resolve(declared: .plainText, databaseType: .pglite) == .postgresJson) + #expect(ExplainFormatResolver.resolve(declared: .plainText, databaseType: .redshift) == .postgresJson) + #expect(ExplainFormatResolver.resolve(declared: .plainText, databaseType: .cloudflareD1) == .sqliteQueryPlan) + #expect(ExplainFormatResolver.resolve(declared: .plainText, databaseType: .libsql) == .sqliteQueryPlan) + #expect(ExplainFormatResolver.resolve(declared: .plainText, databaseType: .turso) == .sqliteQueryPlan) + #expect(ExplainFormatResolver.resolve(declared: .plainText, databaseType: .cockroachdb) == .cockroachText) + #expect(ExplainFormatResolver.resolve(declared: .plainText, databaseType: .duckdb) == .indentedText) + } + + @Test("A declared format always wins over the curated default") + func declaredFormatWins() { + #expect(ExplainFormatResolver.resolve(declared: .indentedText, databaseType: .postgresql) == .indentedText) + } + + @Test("An unknown database type stays plain text") + func unknownDatabaseTypeStaysPlainText() { + let unknown = DatabaseType(rawValue: "SomeFutureEngine") + #expect(ExplainFormatResolver.resolve(declared: .plainText, databaseType: unknown) == .plainText) + } + + // MARK: - Statement matching + + @Test("The longest matching prefix wins") + func longestPrefixWins() { + let matched = ExplainFormatResolver.matchingVariant( + sql: "EXPLAIN FORMAT=JSON SELECT 1", declaredVariants: mysqlVariants + ) + #expect(matched?.id == "json") + } + + @Test("Prefix matching ignores case and leading whitespace") + func matchesCaseInsensitively() { + let matched = ExplainFormatResolver.matchingVariant( + sql: " explain query plan SELECT 1", declaredVariants: sqliteVariants + ) + #expect(matched?.id == "plan") + } + + @Test("A statement no variant declares has no match") + func rejectsUndeclaredStatement() { + #expect(ExplainFormatResolver.matchingVariant(sql: "ANALYZE TABLE users", declaredVariants: mysqlVariants) == nil) + #expect(ExplainFormatResolver.matchingVariant(sql: "SELECT 1", declaredVariants: mysqlVariants) == nil) + #expect(ExplainFormatResolver.matchingVariant(sql: "", declaredVariants: mysqlVariants) == nil) + } + + @Test("A typed statement with no declared match still resolves the database default") + func typedStatementFallsBackToDatabaseDefault() { + let format = ExplainFormatResolver.resolve( + sql: "EXPLAIN ANALYZE SELECT 1", databaseType: .mysql, declaredVariants: mysqlVariants + ) + #expect(format == .mysqlComposite) + } + + // MARK: - Flattening + + @Test("Single-column rows join with newlines") + func flattensSingleColumn() { + let rows: [[PluginCellValue]] = [[.text("a")], [.text("b")]] + #expect(ExplainPlanTextFlattener.flatten(rows: rows) == "a\nb") + } + + @Test("Multi-column rows join columns with tabs") + func flattensMultipleColumns() { + let rows: [[PluginCellValue]] = [ + [.text("1"), .text("0"), .text("0"), .text("SCAN users")], + [.text("2"), .text("1"), .text("0"), .text("SEARCH orders")], + ] + #expect(ExplainPlanTextFlattener.flatten(rows: rows) == "1\t0\t0\tSCAN users\n2\t1\t0\tSEARCH orders") + } + + @Test("No rows flatten to an empty string") + func flattensEmptyRows() { + #expect(ExplainPlanTextFlattener.flatten(rows: []).isEmpty) + } +} diff --git a/TableProTests/Core/Services/Query/ExplainResultRouterTests.swift b/TableProTests/Core/Services/Query/ExplainResultRouterTests.swift index b802d155c..ab0f40a14 100644 --- a/TableProTests/Core/Services/Query/ExplainResultRouterTests.swift +++ b/TableProTests/Core/Services/Query/ExplainResultRouterTests.swift @@ -4,37 +4,73 @@ // import Foundation +@testable import TablePro import TableProPluginKit import Testing -@testable import TablePro @Suite("ExplainResultRouter planText") struct ExplainResultRouterTests { + private let sqliteVariants = [ + ExplainVariant( + id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN", format: .sqliteQueryPlan + ) + ] + + private let mysqlVariants = [ + ExplainVariant(id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN", format: .mysqlComposite) + ] + @Test("Joins single-column explain rows with newlines") func joinsSingleColumnRows() { let rows: [[PluginCellValue]] = [[.text("-> Limit: 5 row(s)")], [.text(" -> Sort")]] - let result = ExplainResultRouter.planText(sql: "EXPLAIN ANALYZE SELECT 1", columns: ["EXPLAIN"], rows: rows) + let result = ExplainResultRouter.planText( + sql: "EXPLAIN ANALYZE SELECT 1", columns: ["EXPLAIN"], rows: rows, declaredVariants: [] + ) #expect(result == "-> Limit: 5 row(s)\n -> Sort") } - @Test("Returns nil for multi-column explain results") - func rejectsMultiColumn() { + @Test("Returns nil for a multi-column result no variant declares") + func rejectsUndeclaredMultiColumn() { let rows: [[PluginCellValue]] = [[.text("1"), .text("SIMPLE")]] - let result = ExplainResultRouter.planText(sql: "EXPLAIN SELECT 1", columns: ["id", "select_type"], rows: rows) + let result = ExplainResultRouter.planText( + sql: "ANALYZE TABLE users", columns: ["Table", "Op"], rows: rows, declaredVariants: mysqlVariants + ) #expect(result == nil) } + @Test("A multi-column plan from a declared variant still routes to the viewer") + func acceptsDeclaredMultiColumn() { + let rows: [[PluginCellValue]] = [[.text("2"), .text("0"), .text("0"), .text("SCAN users")]] + let result = ExplainResultRouter.planText( + sql: "EXPLAIN QUERY PLAN SELECT 1", + columns: ["id", "parent", "notused", "detail"], + rows: rows, + declaredVariants: sqliteVariants + ) + #expect(result == "2\t0\t0\tSCAN users") + } + @Test("Returns nil for non-explain statements") func rejectsNonExplain() { let rows: [[PluginCellValue]] = [[.text("value")]] - let result = ExplainResultRouter.planText(sql: "SELECT col FROM t", columns: ["col"], rows: rows) + let result = ExplainResultRouter.planText( + sql: "SELECT col FROM t", columns: ["col"], rows: rows, declaredVariants: [] + ) #expect(result == nil) } @Test("Returns nil when the plan text is empty") func rejectsEmptyPlan() { - #expect(ExplainResultRouter.planText(sql: "EXPLAIN SELECT 1", columns: ["EXPLAIN"], rows: []) == nil) + #expect( + ExplainResultRouter.planText( + sql: "EXPLAIN SELECT 1", columns: ["EXPLAIN"], rows: [], declaredVariants: [] + ) == nil + ) let blank: [[PluginCellValue]] = [[.null]] - #expect(ExplainResultRouter.planText(sql: "EXPLAIN SELECT 1", columns: ["EXPLAIN"], rows: blank) == nil) + #expect( + ExplainResultRouter.planText( + sql: "EXPLAIN SELECT 1", columns: ["EXPLAIN"], rows: blank, declaredVariants: [] + ) == nil + ) } } diff --git a/TableProTests/Core/Services/Query/IndentedTextPlanParserTests.swift b/TableProTests/Core/Services/Query/IndentedTextPlanParserTests.swift new file mode 100644 index 000000000..b49d96720 --- /dev/null +++ b/TableProTests/Core/Services/Query/IndentedTextPlanParserTests.swift @@ -0,0 +1,83 @@ +// +// IndentedTextPlanParserTests.swift +// TableProTests +// +// Tests for parsing indentation-based EXPLAIN output (ClickHouse, DuckDB) into a QueryPlan tree. +// + +import Foundation +@testable import TablePro +import Testing + +@Suite("Indented Text Plan Parser") +struct IndentedTextPlanParserTests { + private let parser = IndentedTextPlanParser() + + @Test("Indentation becomes nesting") + func nestsByIndentation() throws { + let output = [ + "Expression ((Projection + Before ORDER BY))", + " Aggregating", + " ReadFromMergeTree (default.events)", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + + #expect(plan.rootNode.operation == "Expression ((Projection + Before ORDER BY))") + #expect(plan.rootNode.children.count == 1) + #expect(plan.rootNode.children[0].operation == "Aggregating") + #expect(plan.rootNode.children[0].children[0].operation == "ReadFromMergeTree (default.events)") + } + + @Test("Lines at the same indentation stay siblings") + func keepsSameIndentationFlat() throws { + let output = [ + "Union", + " Expression", + " Expression", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + + #expect(plan.rootNode.children.count == 2) + #expect(plan.rootNode.children.allSatisfy { $0.children.isEmpty }) + } + + @Test("Several roots are wrapped in one synthetic node") + func wrapsMultipleRoots() throws { + let plan = try #require(parser.parse(rawText: "Projection\nAggregate")) + + #expect(plan.rootNode.operation == "Query Plan") + #expect(plan.rootNode.children.count == 2) + } + + @Test("Dedenting closes the deeper level") + func dedentClosesLevel() throws { + let output = [ + "Sort", + " Filter", + " Scan", + " Limit", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + + #expect(plan.rootNode.children.count == 2) + #expect(plan.rootNode.children[0].operation == "Filter") + #expect(plan.rootNode.children[0].children.count == 1) + #expect(plan.rootNode.children[1].operation == "Limit") + } + + @Test("A single line is the whole plan") + func parsesSingleLine() throws { + let plan = try #require(parser.parse(rawText: "ReadFromStorage (SystemNumbers)")) + #expect(plan.rootNode.operation == "ReadFromStorage (SystemNumbers)") + #expect(plan.rootNode.children.isEmpty) + } + + @Test("Empty input has no plan") + func rejectsEmptyInput() { + #expect(parser.parse(rawText: "") == nil) + #expect(parser.parse(rawText: "\n\n") == nil) + } +} diff --git a/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift b/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift index 529638e91..5c88e77a9 100644 --- a/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift +++ b/TableProTests/Core/Services/Query/MySQLPlanParserTests.swift @@ -7,6 +7,7 @@ import Foundation @testable import TablePro +import TableProPluginKit import Testing @Suite("MySQL Plan Parser") @@ -200,9 +201,11 @@ struct MySQLPlanParserTests { #expect(parser.parse(rawText: excessiveDepth) == nil) } - @Test("Factory uses the composite parser for MySQL and MariaDB") - func factoryUsesCompositeParser() { - #expect(QueryPlanParserFactory.parser(for: .mysql) is MySQLPlanParser) - #expect(QueryPlanParserFactory.parser(for: .mariadb) is MySQLPlanParser) + @Test("MySQL and MariaDB resolve to the composite parser") + func registryUsesCompositeParser() { + for databaseType in [DatabaseType.mysql, .mariadb] { + let format = ExplainFormatResolver.resolve(declared: .plainText, databaseType: databaseType) + #expect(ExplainPlanParserRegistry.parser(for: format) is MySQLPlanParser) + } } } diff --git a/TableProTests/Core/Services/Query/PostgreSQLPlanParserTests.swift b/TableProTests/Core/Services/Query/PostgreSQLPlanParserTests.swift new file mode 100644 index 000000000..57a6bc13d --- /dev/null +++ b/TableProTests/Core/Services/Query/PostgreSQLPlanParserTests.swift @@ -0,0 +1,136 @@ +// +// PostgreSQLPlanParserTests.swift +// TableProTests +// +// Tests for parsing PostgreSQL EXPLAIN (FORMAT JSON) output into a QueryPlan tree. +// + +import Foundation +@testable import TablePro +import Testing + +@Suite("PostgreSQL Plan Parser") +struct PostgreSQLPlanParserTests { + private let parser = PostgreSQLPlanParser() + + private let estimatedPlan = """ + [ + { + "Plan": { + "Node Type": "Hash Join", + "Join Type": "Inner", + "Startup Cost": 1.09, + "Total Cost": 40.35, + "Plan Rows": 220, + "Plan Width": 68, + "Plans": [ + { + "Node Type": "Seq Scan", + "Relation Name": "orders", + "Schema": "public", + "Alias": "o", + "Startup Cost": 0.00, + "Total Cost": 30.20, + "Plan Rows": 200, + "Plan Width": 36, + "Filter": "(status = 'paid'::text)" + }, + { + "Node Type": "Hash", + "Startup Cost": 1.04, + "Total Cost": 1.04, + "Plan Rows": 4, + "Plan Width": 32 + } + ] + } + } + ] + """ + + @Test("Parses the node tree, costs and relations") + func parsesEstimatedPlan() throws { + let plan = try #require(parser.parse(rawText: estimatedPlan)) + + #expect(plan.rootNode.operation == "Hash Join") + #expect(plan.rootNode.estimatedStartupCost == 1.09) + #expect(plan.rootNode.estimatedTotalCost == 40.35) + #expect(plan.rootNode.estimatedRows == 220) + #expect(plan.rootNode.estimatedWidth == 68) + #expect(plan.rootNode.children.count == 2) + + let seqScan = plan.rootNode.children[0] + #expect(seqScan.operation == "Seq Scan") + #expect(seqScan.relation == "orders") + #expect(seqScan.schema == "public") + #expect(seqScan.alias == "o") + #expect(seqScan.costRangeText(fractionDigits: 2) == "0.00..30.20") + } + + @Test("Keeps unrecognised keys as node properties") + func keepsExtraKeysAsProperties() throws { + let plan = try #require(parser.parse(rawText: estimatedPlan)) + + #expect(plan.rootNode.properties["Join Type"] == "Inner") + #expect(plan.rootNode.children[0].properties["Filter"] == "(status = 'paid'::text)") + #expect(plan.rootNode.properties["Node Type"] == nil) + #expect(plan.rootNode.properties["Total Cost"] == nil) + } + + @Test("Cost fractions are relative to the root total") + func computesCostFractions() throws { + let plan = try #require(parser.parse(rawText: estimatedPlan)) + + #expect(plan.rootNode.costFraction > 0) + #expect(plan.rootNode.children.allSatisfy { $0.costFraction >= 0 }) + #expect(plan.rootNode.children[0].costFraction > plan.rootNode.children[1].costFraction) + } + + @Test("Reads planning and execution time from an ANALYZE plan") + func parsesAnalyzeTimings() throws { + let analyzePlan = """ + [ + { + "Plan": { + "Node Type": "Seq Scan", + "Relation Name": "users", + "Startup Cost": 0.00, + "Total Cost": 12.50, + "Plan Rows": 250, + "Plan Width": 40, + "Actual Startup Time": 0.015, + "Actual Total Time": 0.132, + "Actual Rows": 250, + "Actual Loops": 1 + }, + "Planning Time": 0.183, + "Execution Time": 0.201 + } + ] + """ + + let plan = try #require(parser.parse(rawText: analyzePlan)) + + #expect(plan.planningTime == 0.183) + #expect(plan.executionTime == 0.201) + #expect(plan.rootNode.actualStartupTime == 0.015) + #expect(plan.rootNode.actualTotalTime == 0.132) + #expect(plan.rootNode.actualRows == 250) + #expect(plan.rootNode.actualLoops == 1) + } + + @Test("Rejects malformed and non-plan input") + func rejectsMalformedInput() { + #expect(parser.parse(rawText: "") == nil) + #expect(parser.parse(rawText: "not json") == nil) + #expect(parser.parse(rawText: "{}") == nil) + #expect(parser.parse(rawText: "[]") == nil) + #expect(parser.parse(rawText: "[{\"NotAPlan\": {}}]") == nil) + } + + @Test("A node with no type is labelled rather than dropped") + func labelsUnknownNodeType() throws { + let plan = try #require(parser.parse(rawText: "[{\"Plan\": {\"Total Cost\": 1.0}}]")) + #expect(plan.rootNode.operation == "Unknown") + } +} diff --git a/TableProTests/Core/Services/Query/SQLitePlanParserTests.swift b/TableProTests/Core/Services/Query/SQLitePlanParserTests.swift new file mode 100644 index 000000000..9a5e67990 --- /dev/null +++ b/TableProTests/Core/Services/Query/SQLitePlanParserTests.swift @@ -0,0 +1,85 @@ +// +// SQLitePlanParserTests.swift +// TableProTests +// +// Tests for parsing SQLite EXPLAIN QUERY PLAN rows into a QueryPlan tree. Shared by the +// SQLite, Cloudflare D1 and libSQL drivers, which all return the same four columns. +// + +import Foundation +@testable import TablePro +import Testing + +@Suite("SQLite Plan Parser") +struct SQLitePlanParserTests { + private let parser = SQLitePlanParser() + + @Test("Builds a tree from the id and parent columns") + func buildsTreeFromParentIds() throws { + let output = [ + "2\t0\t0\tSCAN users", + "4\t2\t0\tSEARCH orders USING INDEX idx_customer", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + + #expect(plan.rootNode.operation == "SCAN users") + #expect(plan.rootNode.children.count == 1) + #expect(plan.rootNode.children[0].operation == "SEARCH orders USING INDEX idx_customer") + } + + @Test("Several children under one parent stay siblings") + func keepsSiblingsFlat() throws { + let output = [ + "1\t0\t0\tCOMPOUND QUERY", + "2\t1\t0\tLEFT-MOST SUBQUERY", + "3\t1\t0\tUNION ALL", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + + #expect(plan.rootNode.operation == "COMPOUND QUERY") + #expect(plan.rootNode.children.count == 2) + #expect(plan.rootNode.children.allSatisfy { $0.children.isEmpty }) + } + + @Test("Several roots are wrapped in one synthetic node") + func wrapsMultipleRoots() throws { + let output = [ + "1\t0\t0\tSCAN users", + "2\t0\t0\tSCAN roles", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + + #expect(plan.rootNode.operation == "Query Plan") + #expect(plan.rootNode.children.count == 2) + } + + @Test("Nesting goes deeper than one level") + func nestsDeeply() throws { + let output = [ + "1\t0\t0\tCO-ROUTINE subquery", + "2\t1\t0\tSCAN t1", + "3\t2\t0\tUSE TEMP B-TREE FOR ORDER BY", + ].joined(separator: "\n") + + let plan = try #require(parser.parse(rawText: output)) + + #expect(plan.rootNode.children.count == 1) + #expect(plan.rootNode.children[0].children.count == 1) + #expect(plan.rootNode.children[0].children[0].operation == "USE TEMP B-TREE FOR ORDER BY") + } + + @Test("A line that is not four columns becomes a flat detail node") + func fallsBackForMalformedLines() throws { + let plan = try #require(parser.parse(rawText: "SCAN users without columns")) + #expect(plan.rootNode.operation == "SCAN users without columns") + } + + @Test("Empty input has no plan") + func rejectsEmptyInput() { + #expect(parser.parse(rawText: "") == nil) + #expect(parser.parse(rawText: "\n\n") == nil) + } +} From 4d854f957d864fd1e5cb8890658d2c0f3fef07d9 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 08:10:19 +0700 Subject: [PATCH 07/19] fix(explain): run every EXPLAIN through one gated, fenced execution path --- ...QueryExecutionCoordinator+Parameters.swift | 3 +- .../ClickHouse/ClickHouseExplainVariant.swift | 30 --- TablePro/Models/Query/ExplainRequest.swift | 38 ++++ TablePro/Models/Query/QueryTabState.swift | 6 + TablePro/Views/Editor/QueryEditorView.swift | 21 +- .../Main/Child/MainEditorContentView.swift | 11 +- .../MainContentCoordinator+ClickHouse.swift | 83 +------- .../MainContentCoordinator+Explain.swift | 191 ++++++++++++++++++ ...ainContentCoordinator+SidebarActions.swift | 6 +- .../Main/MainContentCommandActions.swift | 2 +- .../Views/Main/MainContentCoordinator.swift | 104 +--------- .../Models/Query/ExplainRequestTests.swift | 93 +++++++++ .../Views/Main/ClearQueryResultsTests.swift | 47 +++++ 13 files changed, 388 insertions(+), 247 deletions(-) delete mode 100644 TablePro/Models/ClickHouse/ClickHouseExplainVariant.swift create mode 100644 TablePro/Models/Query/ExplainRequest.swift create mode 100644 TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift create mode 100644 TableProTests/Models/Query/ExplainRequestTests.swift diff --git a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Parameters.swift b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Parameters.swift index d7a070b94..19f1c7eaf 100644 --- a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Parameters.swift +++ b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Parameters.swift @@ -99,8 +99,7 @@ extension QueryExecutionCoordinator { parent.tabManager.mutate(at: index) { tab in tab.execution.executionTime = nil tab.execution.errorMessage = nil - tab.display.explainText = nil - tab.display.explainPlan = nil + tab.display.clearExplainResult() } let tab = parent.tabManager.tabs[index] parent.toolbarState.setExecuting(true) diff --git a/TablePro/Models/ClickHouse/ClickHouseExplainVariant.swift b/TablePro/Models/ClickHouse/ClickHouseExplainVariant.swift deleted file mode 100644 index 411fa8b0c..000000000 --- a/TablePro/Models/ClickHouse/ClickHouseExplainVariant.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// ClickHouseExplainVariant.swift -// TablePro -// -// EXPLAIN variants supported by ClickHouse. -// - -import Foundation - -/// ClickHouse-specific EXPLAIN variants -enum ClickHouseExplainVariant: String, CaseIterable, Identifiable { - case plan = "Plan" - case pipeline = "Pipeline" - case ast = "AST" - case syntax = "Syntax" - case estimate = "Estimate" - - var id: String { rawValue } - - /// SQL keyword to prepend to the query - var sqlKeyword: String { - switch self { - case .plan: return "EXPLAIN" - case .pipeline: return "EXPLAIN PIPELINE" - case .ast: return "EXPLAIN AST" - case .syntax: return "EXPLAIN SYNTAX" - case .estimate: return "EXPLAIN ESTIMATE" - } - } -} diff --git a/TablePro/Models/Query/ExplainRequest.swift b/TablePro/Models/Query/ExplainRequest.swift new file mode 100644 index 000000000..2bfa27e15 --- /dev/null +++ b/TablePro/Models/Query/ExplainRequest.swift @@ -0,0 +1,38 @@ +// +// ExplainRequest.swift +// TablePro +// +// The SQL an EXPLAIN run sends and the format its output will come back in. +// + +import Foundation +import TableProPluginKit + +struct ExplainRequest: Equatable { + let sql: String + let format: ExplainPlanFormat + + /// Picks the variant to run: the one the user chose, otherwise the driver's first declared + /// one. Returns nil when the driver declares none, which is the caller's cue to fall back to + /// `buildExplainQuery`. + static func make( + variant: ExplainVariant?, + declaredVariants: [ExplainVariant], + databaseType: DatabaseType, + statement: String + ) -> ExplainRequest? { + guard let resolved = variant ?? declaredVariants.first else { return nil } + return ExplainRequest( + sql: "\(resolved.sqlPrefix) \(statement)", + format: ExplainFormatResolver.resolve(declared: resolved.format, databaseType: databaseType) + ) + } + + /// A driver that declares no variants but builds its own EXPLAIN statement. + static func driverBuilt(sql: String, databaseType: DatabaseType) -> ExplainRequest { + ExplainRequest( + sql: sql, + format: ExplainFormatResolver.resolve(declared: .plainText, databaseType: databaseType) + ) + } +} diff --git a/TablePro/Models/Query/QueryTabState.swift b/TablePro/Models/Query/QueryTabState.swift index 5c5d31e37..d37304213 100644 --- a/TablePro/Models/Query/QueryTabState.swift +++ b/TablePro/Models/Query/QueryTabState.swift @@ -487,6 +487,12 @@ struct TabDisplayState: Equatable { activeResultSetId = resultSets.last?.id } + mutating func clearExplainResult() { + explainText = nil + explainPlan = nil + explainExecutionTime = nil + } + @MainActor mutating func togglePin(resultSetId: UUID) { guard let target = resultSets.first(where: { $0.id == resultSetId }) else { return } diff --git a/TablePro/Views/Editor/QueryEditorView.swift b/TablePro/Views/Editor/QueryEditorView.swift index 7536ce6e4..810214481 100644 --- a/TablePro/Views/Editor/QueryEditorView.swift +++ b/TablePro/Views/Editor/QueryEditorView.swift @@ -27,8 +27,7 @@ struct QueryEditorView: View { var restoredCursorRange: NSRange? var onCloseTab: (() -> Void)? var onExecuteQuery: (() -> Void)? - var onExplain: ((ClickHouseExplainVariant?) -> Void)? - var onExplainVariant: ((ExplainVariant) -> Void)? + var onExplain: ((ExplainVariant?) -> Void)? var onAIExplain: ((String) -> Void)? var onAIOptimize: ((String) -> Void)? var onSaveAsFavorite: ((String) -> Void)? @@ -177,15 +176,7 @@ struct QueryEditorView: View { if variants.count <= 1 { Button { - if let variant = variants.first { - if let handler = onExplainVariant { - handler(variant) - } else { - onExplain?(nil) - } - } else { - onExplain?(nil) - } + onExplain?(variants.first) } label: { HStack(spacing: 4) { Image(systemName: "chart.bar.doc.horizontal") @@ -199,13 +190,7 @@ struct QueryEditorView: View { } else { Menu { ForEach(variants) { variant in - Button(variant.label) { - if let handler = onExplainVariant { - handler(variant) - } else if let legacy = ClickHouseExplainVariant(rawValue: variant.label) { - onExplain?(legacy) - } - } + Button(variant.label) { onExplain?(variant) } } } label: { HStack(spacing: 4) { diff --git a/TablePro/Views/Main/Child/MainEditorContentView.swift b/TablePro/Views/Main/Child/MainEditorContentView.swift index bf5958322..e4446ed9e 100644 --- a/TablePro/Views/Main/Child/MainEditorContentView.swift +++ b/TablePro/Views/Main/Child/MainEditorContentView.swift @@ -376,16 +376,7 @@ struct MainEditorContentView: View { NSApp.keyWindow?.close() }, onExecuteQuery: { coordinator.runQuery() }, - onExplain: { variant in - if let variant { - coordinator.runClickHouseExplain(variant: variant) - } else { - coordinator.runExplainQuery() - } - }, - onExplainVariant: { variant in - coordinator.runVariantExplain(variant) - }, + onExplain: { variant in coordinator.runExplain(variant: variant) }, onAIExplain: { text in coordinator.showAIChatPanel() coordinator.aiViewModel?.handleExplainSelection(text) diff --git a/TablePro/Views/Main/Extensions/MainContentCoordinator+ClickHouse.swift b/TablePro/Views/Main/Extensions/MainContentCoordinator+ClickHouse.swift index 4d4fc49d8..a25a97ffd 100644 --- a/TablePro/Views/Main/Extensions/MainContentCoordinator+ClickHouse.swift +++ b/TablePro/Views/Main/Extensions/MainContentCoordinator+ClickHouse.swift @@ -2,12 +2,10 @@ // MainContentCoordinator+ClickHouse.swift // TablePro // -// ClickHouse-specific coordinator methods: progress tracking, EXPLAIN variants. +// ClickHouse-specific coordinator methods: progress tracking. // -import CodeEditSourceEditor import Foundation -import TableProPluginKit extension MainContentCoordinator { func installClickHouseProgressHandler() { @@ -21,83 +19,4 @@ extension MainContentCoordinator { } toolbarState.clickHouseProgress = nil } - - /// Run EXPLAIN with a specific variant (e.g. ClickHouse Plan/Pipeline/AST). - /// Accepts the plugin-kit `ExplainVariant` type for generic dispatch. - func runVariantExplain(_ variant: ExplainVariant) { - guard let (tab, _) = tabManager.selectedTabAndIndex, - !tabExecution.isExecuting(tab.id) else { return } - - let fullQuery = tab.content.query - - let sql: String - if tab.tabType == .table { - sql = fullQuery - } else if let firstCursor = cursorPositions.first, - firstCursor.range.length > 0 { - let nsQuery = fullQuery as NSString - let clampedRange = NSIntersectionRange( - firstCursor.range, - NSRange(location: 0, length: nsQuery.length) - ) - sql = nsQuery.substring(with: clampedRange) - .trimmingCharacters(in: .whitespacesAndNewlines) - } else { - sql = SQLStatementScanner.statementAtCursor( - in: fullQuery, - cursorPosition: cursorPositions.first?.range.location ?? 0, - dialect: sqlDialect - ) - } - - let trimmed = sql.trimmingCharacters(in: .whitespacesAndNewlines) - guard !trimmed.isEmpty else { return } - - let statements = SQLStatementScanner.allStatements(in: trimmed, dialect: sqlDialect) - guard let stmt = statements.first else { return } - - let explainSQL = "\(variant.sqlPrefix) \(stmt)" - let tabId = tab.id - - Task { - guard let driver = DatabaseManager.shared.driver(for: connectionId) else { return } - - toolbarState.setExecuting(true) - - do { - let startTime = Date() - let result = try await driver.execute(query: explainSQL) - let duration = Date().timeIntervalSince(startTime) - - let text = ExplainPlanTextFlattener.flatten(rows: result.rows) - let format = ExplainFormatResolver.resolve( - declared: variant.format, databaseType: connection.type - ) - let plan = ExplainPlanParserRegistry.plan(from: text, format: format) - - tabManager.mutate(tabId: tabId) { tab in - tab.display.explainText = text - tab.display.explainExecutionTime = duration - tab.display.explainPlan = plan - } - } catch { - tabManager.mutate(tabId: tabId) { tab in - tab.display.explainText = "Error: \(error.localizedDescription)" - tab.display.explainPlan = nil - } - } - - toolbarState.setExecuting(false) - } - } - - /// Legacy bridge: calls runVariantExplain with the matching ExplainVariant. - func runClickHouseExplain(variant: ClickHouseExplainVariant) { - let pluginVariant = ExplainVariant( - id: variant.rawValue.lowercased(), - label: variant.rawValue, - sqlPrefix: variant.sqlKeyword - ) - runVariantExplain(pluginVariant) - } } diff --git a/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift b/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift new file mode 100644 index 000000000..5822d862a --- /dev/null +++ b/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift @@ -0,0 +1,191 @@ +// +// MainContentCoordinator+Explain.swift +// TablePro +// +// The one path that runs EXPLAIN, whatever asked for it: the toolbar button, a variant picked +// from its menu, or the Query menu item. Every one of them authorizes through the execution +// gate and is fenced against a superseded result, the same way a normal query is. +// + +import CodeEditSourceEditor +import Foundation +import TableProPluginKit + +extension MainContentCoordinator { + func runExplain(variant: ExplainVariant? = nil) { + guard let (tab, index) = tabManager.selectedTabAndIndex else { return } + guard !tabExecution.isExecuting(tab.id) else { + traceExecutionBlocked(tabId: tab.id, site: "runExplain") + return + } + guard let statement = explainStatement(in: tab) else { return } + guard let request = explainRequest(variant: variant, statement: statement) else { + tabManager.mutate(at: index) { + $0.execution.errorMessage = String( + localized: "EXPLAIN is not supported for this database type." + ) + } + return + } + + let level = safeModeLevel + guard level.appliesToAllQueries, level.requiresConfirmation else { + executeExplain(request) + return + } + + Task { + let decision = await ExecutionGateProvider.shared.authorize( + OperationRequest( + connectionId: connectionId, + databaseType: connection.type, + sql: request.sql, + kind: .readQuery, + caller: .userInterface, + capabilities: .interactiveUser, + operationDescription: String(localized: "Execute Query") + ) + ) + guard case .authorized = decision else { return } + executeExplain(request) + } + } + + // MARK: - Request + + private func explainStatement(in tab: QueryTab) -> String? { + let fullQuery = tab.content.query + + let sql: String + if tab.tabType == .table { + sql = fullQuery + } else if let firstCursor = cursorPositions.first, firstCursor.range.length > 0 { + let nsQuery = fullQuery as NSString + let clampedRange = NSIntersectionRange( + firstCursor.range, + NSRange(location: 0, length: nsQuery.length) + ) + sql = nsQuery.substring(with: clampedRange).trimmingCharacters(in: .whitespacesAndNewlines) + } else { + sql = SQLStatementScanner.statementAtCursor( + in: fullQuery, + cursorPosition: cursorPositions.first?.range.location ?? 0, + dialect: sqlDialect + ) + } + + let trimmed = sql.trimmingCharacters(in: .whitespacesAndNewlines) + guard !trimmed.isEmpty else { return nil } + return SQLStatementScanner.allStatements(in: trimmed, dialect: sqlDialect).first + } + + private func explainRequest(variant: ExplainVariant?, statement: String) -> ExplainRequest? { + if let request = ExplainRequest.make( + variant: variant, + declaredVariants: connection.type.explainVariants, + databaseType: connection.type, + statement: statement + ) { + return request + } + + guard let adapter = services.databaseManager.driver(for: connectionId) as? PluginDriverAdapter, + let fallbackSQL = adapter.buildExplainQuery(statement) + else { return nil } + + return ExplainRequest.driverBuilt(sql: fallbackSQL, databaseType: connection.type) + } + + // MARK: - Execution + + private func executeExplain(_ request: ExplainRequest) { + guard let (tab, index) = tabManager.selectedTabAndIndex else { return } + guard let scope = scope(for: tab) else { + tabManager.mutate(at: index) { + $0.execution.errorMessage = String(localized: "Not connected to database") + } + return + } + + supersedeExecution(for: tab.id) + let claim = tabExecution.claim(tab.id) + let tabId = tab.id + let conn = connection + + tabManager.mutate(at: index) { $0.execution.errorMessage = nil } + toolbarState.setExecuting(true) + + currentQueryTask = Task { [weak self] in + guard let self else { return } + do { + let fetchResult = try await services.databaseManager.withScopedDriver( + scope: scope, + route: services.databaseManager.executionRoute(for: scope), + cancellation: .cancellableRead + ) { [queryExecutor] driver in + try await queryExecutor.executeQuery( + driver: driver, sql: request.sql, parameters: nil, rowCap: nil + ) + } + let rawText = ExplainPlanTextFlattener.flatten(rows: fetchResult.rows) + let plan = ExplainPlanParserRegistry.plan(from: rawText, format: request.format) + + await MainActor.run { [weak self] in + guard let self else { return } + currentQueryTask = nil + toolbarState.setExecuting(false) + guard tabExecution.isCurrent(claim) else { return } + + tabManager.mutate(tabId: tabId) { tab in + tab.execution.executionTime = fetchResult.executionTime + tab.execution.rowsAffected = 0 + tab.execution.statusMessage = nil + tab.execution.lastExecutedAt = Date() + tab.display.explainText = rawText + tab.display.explainPlan = plan + tab.display.explainExecutionTime = fetchResult.executionTime + if tab.display.isResultsCollapsed { + tab.display.isResultsCollapsed = false + } + } + toolbarState.isResultsCollapsed = false + tabExecution.settle(claim) + + QueryHistoryManager.shared.recordQuery( + query: request.sql, + connectionId: conn.id, + databaseName: queryExecutionCoordinator.historyDatabaseName(tabId: tabId), + executionTime: fetchResult.executionTime, + rowCount: fetchResult.rows.count, + wasSuccessful: true, + errorMessage: nil, + parameterValues: nil + ) + } + } catch { + await MainActor.run { [weak self] in + guard let self else { return } + currentQueryTask = nil + toolbarState.setExecuting(false) + guard tabExecution.isCurrent(claim) else { return } + + tabManager.mutate(tabId: tabId) { tab in + tab.execution.errorMessage = error.localizedDescription + } + tabExecution.settle(claim) + + QueryHistoryManager.shared.recordQuery( + query: request.sql, + connectionId: conn.id, + databaseName: queryExecutionCoordinator.historyDatabaseName(tabId: tabId), + executionTime: 0, + rowCount: 0, + wasSuccessful: false, + errorMessage: error.localizedDescription, + parameterValues: nil + ) + } + } + } + } +} diff --git a/TablePro/Views/Main/Extensions/MainContentCoordinator+SidebarActions.swift b/TablePro/Views/Main/Extensions/MainContentCoordinator+SidebarActions.swift index d4c222e1d..78de3aee5 100644 --- a/TablePro/Views/Main/Extensions/MainContentCoordinator+SidebarActions.swift +++ b/TablePro/Views/Main/Extensions/MainContentCoordinator+SidebarActions.swift @@ -62,13 +62,17 @@ extension MainContentCoordinator { if let lastPinned = tabManager.tabs[tabIdx].display.resultSets.last(where: \.isPinned) { switchActiveResultSet(to: lastPinned.id, in: tabId) - tabManager.mutate(at: tabIdx) { $0.display.removeUnpinnedResults() } + tabManager.mutate(at: tabIdx) { tab in + tab.display.removeUnpinnedResults() + tab.display.clearExplainResult() + } return } setActiveTableRows(TableRows(), for: tabId) tabManager.mutate(at: tabIdx) { tab in tab.display.removeUnpinnedResults() + tab.display.clearExplainResult() tab.execution.errorMessage = nil tab.execution.rowsAffected = 0 tab.execution.executionTime = nil diff --git a/TablePro/Views/Main/MainContentCommandActions.swift b/TablePro/Views/Main/MainContentCommandActions.swift index ff3bcf058..a132a0b26 100644 --- a/TablePro/Views/Main/MainContentCommandActions.swift +++ b/TablePro/Views/Main/MainContentCommandActions.swift @@ -796,7 +796,7 @@ final class MainContentCommandActions { } func explainQuery() { - coordinator?.runExplainQuery() + coordinator?.runExplain() } func aiExplainQuery() { diff --git a/TablePro/Views/Main/MainContentCoordinator.swift b/TablePro/Views/Main/MainContentCoordinator.swift index 6e4d789fb..8fa3aa2da 100644 --- a/TablePro/Views/Main/MainContentCoordinator.swift +++ b/TablePro/Views/Main/MainContentCoordinator.swift @@ -1054,107 +1054,6 @@ final class MainContentCoordinator { } } - /// Run EXPLAIN on the current query (database-type-aware prefix) - func runExplainQuery() { - guard let (tab, _) = tabManager.selectedTabAndIndex else { return } - guard !tabExecution.isExecuting(tab.id) else { - traceExecutionBlocked(tabId: tab.id, site: "runExplainQuery") - return - } - - let fullQuery = tab.content.query - - let sql: String - if tab.tabType == .table { - sql = fullQuery - } else if let firstCursor = cursorPositions.first, - firstCursor.range.length > 0 { - let nsQuery = fullQuery as NSString - let clampedRange = NSIntersectionRange( - firstCursor.range, - NSRange(location: 0, length: nsQuery.length) - ) - sql = nsQuery.substring(with: clampedRange) - .trimmingCharacters(in: .whitespacesAndNewlines) - } else { - sql = SQLStatementScanner.statementAtCursor( - in: fullQuery, - cursorPosition: cursorPositions.first?.range.location ?? 0, - dialect: sqlDialect - ) - } - - let trimmed = sql.trimmingCharacters(in: .whitespacesAndNewlines) - guard !trimmed.isEmpty else { return } - - // Use first statement only (EXPLAIN on a single statement) - let statements = SQLStatementScanner.allStatements(in: trimmed, dialect: sqlDialect) - guard let stmt = statements.first else { return } - - let level = safeModeLevel - let needsConfirmation = level.appliesToAllQueries && level.requiresConfirmation - - // Multi-variant EXPLAIN: use plugin-declared variants if available - let explainVariants = connection.type.explainVariants - - if !explainVariants.isEmpty { - if needsConfirmation { - Task { - let decision = await ExecutionGateProvider.shared.authorize( - OperationRequest( - connectionId: connectionId, - databaseType: connection.type, - sql: "EXPLAIN", - kind: .readQuery, - caller: .userInterface, - capabilities: .interactiveUser, - operationDescription: String(localized: "Execute Query") - ) - ) - if case .authorized = decision { - runVariantExplain(explainVariants[0]) - } - } - } else { - runVariantExplain(explainVariants[0]) - } - return - } - - guard let adapter = services.databaseManager.driver(for: connectionId) as? PluginDriverAdapter, - let explainSQL = adapter.buildExplainQuery(stmt) else { - if let (_, index) = tabManager.selectedTabAndIndex { - tabManager.mutate(at: index) { - $0.execution.errorMessage = String(localized: "EXPLAIN is not supported for this database type.") - } - } - return - } - - if needsConfirmation { - Task { - let decision = await ExecutionGateProvider.shared.authorize( - OperationRequest( - connectionId: connectionId, - databaseType: connection.type, - sql: explainSQL, - kind: .readQuery, - caller: .userInterface, - capabilities: .interactiveUser, - operationDescription: String(localized: "Execute Query") - ) - ) - if case .authorized = decision { - executeQueryInternal(explainSQL) - } - } - } else { - Task { - executeQueryInternal(explainSQL) - } - } - } - internal func executeQueryInternal( _ sql: String, isAutoLoad: Bool = false, @@ -1169,8 +1068,7 @@ final class MainContentCoordinator { tabManager.mutate(at: index) { tab in tab.execution.executionTime = nil tab.execution.errorMessage = nil - tab.display.explainText = nil - tab.display.explainPlan = nil + tab.display.clearExplainResult() } let tab = tabManager.tabs[index] toolbarState.setExecuting(true) diff --git a/TableProTests/Models/Query/ExplainRequestTests.swift b/TableProTests/Models/Query/ExplainRequestTests.swift new file mode 100644 index 000000000..d4bdb435a --- /dev/null +++ b/TableProTests/Models/Query/ExplainRequestTests.swift @@ -0,0 +1,93 @@ +// +// ExplainRequestTests.swift +// TableProTests +// +// Tests for choosing which EXPLAIN variant runs and what format its output is read as. +// + +import Foundation +@testable import TablePro +import TableProPluginKit +import Testing + +@Suite("Explain Request") +struct ExplainRequestTests { + private let postgresVariants = [ + ExplainVariant( + id: "explain", label: "EXPLAIN", sqlPrefix: "EXPLAIN (FORMAT JSON)", format: .postgresJson + ), + ExplainVariant( + id: "analyze", + label: "EXPLAIN ANALYZE", + sqlPrefix: "EXPLAIN (ANALYZE, FORMAT JSON)", + format: .postgresJson + ), + ] + + @Test("With no explicit choice the first declared variant runs") + func defaultsToFirstDeclaredVariant() throws { + let request = try #require( + ExplainRequest.make( + variant: nil, + declaredVariants: postgresVariants, + databaseType: .postgresql, + statement: "SELECT 1" + ) + ) + + #expect(request.sql == "EXPLAIN (FORMAT JSON) SELECT 1") + #expect(request.format == .postgresJson) + } + + @Test("An explicit variant overrides the default") + func explicitVariantWins() throws { + let request = try #require( + ExplainRequest.make( + variant: postgresVariants[1], + declaredVariants: postgresVariants, + databaseType: .postgresql, + statement: "SELECT 1" + ) + ) + + #expect(request.sql == "EXPLAIN (ANALYZE, FORMAT JSON) SELECT 1") + } + + @Test("A driver that declares no variants has no request to build") + func returnsNilWithoutVariants() { + #expect( + ExplainRequest.make( + variant: nil, declaredVariants: [], databaseType: .mongodb, statement: "SELECT 1" + ) == nil + ) + } + + @Test("A variant that names no format falls back to the database default") + func untaggedVariantUsesDatabaseDefault() throws { + let untagged = ExplainVariant(id: "plan", label: "Query Plan", sqlPrefix: "EXPLAIN QUERY PLAN") + let request = try #require( + ExplainRequest.make( + variant: untagged, + declaredVariants: [untagged], + databaseType: .cloudflareD1, + statement: "SELECT 1" + ) + ) + + #expect(request.format == .sqliteQueryPlan) + } + + @Test("A driver-built statement still resolves the database default format") + func driverBuiltUsesDatabaseDefault() { + let request = ExplainRequest.driverBuilt(sql: "EXPLAIN SELECT 1", databaseType: .duckdb) + + #expect(request.sql == "EXPLAIN SELECT 1") + #expect(request.format == .indentedText) + } + + @Test("A driver-built statement on an unknown engine stays plain text") + func driverBuiltOnUnknownEngineStaysPlainText() { + let request = ExplainRequest.driverBuilt(sql: "DEBUG OBJECT key", databaseType: .redis) + #expect(request.format == .plainText) + } +} diff --git a/TableProTests/Views/Main/ClearQueryResultsTests.swift b/TableProTests/Views/Main/ClearQueryResultsTests.swift index 867200f8a..cc38590b4 100644 --- a/TableProTests/Views/Main/ClearQueryResultsTests.swift +++ b/TableProTests/Views/Main/ClearQueryResultsTests.swift @@ -65,6 +65,53 @@ struct ClearQueryResultsTests { #expect(coordinator.canClearActiveQueryResults == true) } + @Test("Clearing results also drops a query plan") + @MainActor + func clearDropsExplainResult() throws { + let coordinator = Self.makeCoordinator() + defer { coordinator.teardown() } + + coordinator.tabManager.addTab(databaseName: "db") + let index = try #require(coordinator.tabManager.selectedTabIndex) + coordinator.tabManager.mutate(at: index) { tab in + tab.display.explainText = "Seq Scan on orders" + tab.display.explainExecutionTime = 0.4 + } + + coordinator.clearActiveQueryResults() + + let tab = try #require(coordinator.tabManager.selectedTab) + #expect(tab.display.explainText == nil) + #expect(tab.display.explainPlan == nil) + #expect(tab.display.explainExecutionTime == nil) + } + + @Test("Clearing results drops a query plan even when a pinned result survives") + @MainActor + func clearDropsExplainResultWithPinnedResults() throws { + let coordinator = Self.makeCoordinator() + defer { coordinator.teardown() } + + coordinator.tabManager.addTab(databaseName: "db") + let tabId = try #require(coordinator.tabManager.selectedTab?.id) + let index = try #require(coordinator.tabManager.selectedTabIndex) + + let pinned = ResultSet(label: "Result 1") + pinned.isPinned = true + coordinator.tabManager.mutate(at: index) { tab in + tab.display.resultSets = [pinned] + tab.display.activeResultSetId = pinned.id + tab.display.explainText = "Seq Scan on orders" + } + + coordinator.clearActiveQueryResults() + + let tab = try #require(coordinator.tabManager.selectedTab) + #expect(tab.display.explainText == nil) + #expect(tab.display.resultSets.count == 1) + #expect(tabId == tab.id) + } + @Test("Cannot clear results on a table tab") @MainActor func cannotClearOnTableTab() throws { From 21d57eff2b56d77033606e365d3c7bd231279daa Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 08:15:44 +0700 Subject: [PATCH 08/19] refactor(explain): define plan severity and labels once for both plan views --- TablePro/Models/Query/QueryPlanLabels.swift | 38 ++++++++++ TablePro/Models/Query/QueryPlanSeverity.swift | 30 ++++++++ .../QueryPlan/QueryPlanDiagramView.swift | 44 +++++------- .../QueryPlan/QueryPlanSeverityStyle.swift | 43 ++++++++++++ .../Views/QueryPlan/QueryPlanTreeView.swift | 56 +++++++-------- .../Models/Query/QueryPlanSeverityTests.swift | 70 +++++++++++++++++++ 6 files changed, 222 insertions(+), 59 deletions(-) create mode 100644 TablePro/Models/Query/QueryPlanLabels.swift create mode 100644 TablePro/Models/Query/QueryPlanSeverity.swift create mode 100644 TablePro/Views/QueryPlan/QueryPlanSeverityStyle.swift create mode 100644 TableProTests/Models/Query/QueryPlanSeverityTests.swift diff --git a/TablePro/Models/Query/QueryPlanLabels.swift b/TablePro/Models/Query/QueryPlanLabels.swift new file mode 100644 index 000000000..45a35c331 --- /dev/null +++ b/TablePro/Models/Query/QueryPlanLabels.swift @@ -0,0 +1,38 @@ +// +// QueryPlanLabels.swift +// TablePro +// +// Every label the plan views draw. They reach the views as String parameters rather than as +// SwiftUI view literals, so they need String(localized:) explicitly to be translated. +// + +import Foundation + +enum QueryPlanLabels { + static var table: String { String(localized: "Table") } + static var cost: String { String(localized: "Cost") } + static var rows: String { String(localized: "Rows") } + static var width: String { String(localized: "Width") } + static var actual: String { String(localized: "Actual") } + static var actualTime: String { String(localized: "Actual Time") } + static var actualRows: String { String(localized: "Actual Rows") } + static var loops: String { String(localized: "Loops") } + static var details: String { String(localized: "Details") } + static var operation: String { String(localized: "Operation") } + + /// Boolean flags and zero-value noise a driver reports that add nothing to the display. + static let hiddenPropertyKeys: Set = [ + "Parallel Aware", "Async Capable", "Disabled", "Inner Unique", + ] + + static func visibleProperties(of node: QueryPlanNode) -> [(key: String, value: String)] { + node.properties + .filter { !hiddenPropertyKeys.contains($0.key) } + .filter { $0.value != "false" && $0.value != "0" } + .sorted { $0.key < $1.key } + } + + static func milliseconds(_ value: Double) -> String { + String(format: String(localized: "%.3fms"), value) + } +} diff --git a/TablePro/Models/Query/QueryPlanSeverity.swift b/TablePro/Models/Query/QueryPlanSeverity.swift new file mode 100644 index 000000000..28fc389ec --- /dev/null +++ b/TablePro/Models/Query/QueryPlanSeverity.swift @@ -0,0 +1,30 @@ +// +// QueryPlanSeverity.swift +// TablePro +// +// How expensive a plan node is relative to the whole plan. Kept free of SwiftUI so the +// thresholds can be tested directly and both plan views classify identically. +// + +import Foundation + +enum QueryPlanSeverity: CaseIterable { + case low + case moderate + case high + case critical + + static func forCostFraction(_ fraction: Double) -> QueryPlanSeverity { + guard fraction.isFinite else { return .low } + if fraction > 0.5 { return .critical } + if fraction > 0.2 { return .high } + if fraction > 0.05 { return .moderate } + return .low + } +} + +extension QueryPlanNode { + var severity: QueryPlanSeverity { + QueryPlanSeverity.forCostFraction(costFraction) + } +} diff --git a/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift b/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift index ed6359026..63e34ab9d 100644 --- a/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift +++ b/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift @@ -10,6 +10,8 @@ import SwiftUI // MARK: - Diagram View struct QueryPlanDiagramView: View { + @Environment(\.accessibilityDifferentiateWithoutColor) private var differentiateWithoutColor + @State private var magnification: CGFloat = 1.0 @State private var selectedNodeId: UUID? @GestureState private var pinchMagnification: CGFloat = 1.0 @@ -90,14 +92,14 @@ struct QueryPlanDiagramView: View { .foregroundStyle(.tertiary) } if let rows = node.estimatedRows { - Text("\(rows) rows") + Text("\(rows) ^[rows](inflect: true)") .font(.system(.caption2, design: .monospaced)) .foregroundStyle(.tertiary) } } if let time = node.actualTotalTime { - Text(String(format: "%.3fms", time)) + Text(QueryPlanLabels.milliseconds(time)) .font(.system(.caption2, design: .monospaced)) .foregroundStyle(.quaternary) } @@ -106,12 +108,14 @@ struct QueryPlanDiagramView: View { .frame(width: QueryPlanDiagramMetrics.nodeWidth, alignment: .leading) .background( RoundedRectangle(cornerRadius: QueryPlanDiagramMetrics.cornerRadius) - .fill(nodeColor(fraction: node.costFraction).opacity(0.12)) + .fill(node.severity.tint(differentiateWithoutColor: differentiateWithoutColor).opacity(0.12)) ) .overlay( RoundedRectangle(cornerRadius: QueryPlanDiagramMetrics.cornerRadius) .stroke( - isSelected ? Color.accentColor : nodeColor(fraction: node.costFraction), + isSelected + ? Color.accentColor + : node.severity.tint(differentiateWithoutColor: differentiateWithoutColor), lineWidth: isSelected ? 2 : 1 ) ) @@ -160,15 +164,6 @@ struct QueryPlanDiagramView: View { .controlSize(.small) } - // MARK: - Color - - private func nodeColor(fraction: Double) -> Color { - if fraction > 0.5 { return .red } - if fraction > 0.2 { return .orange } - if fraction > 0.05 { return .yellow } - return .green - } - // MARK: - Arrows private func drawArrows(context: GraphicsContext) { @@ -198,10 +193,6 @@ struct QueryPlanDiagramView: View { // MARK: - Popover - private static let hiddenKeys: Set = [ - "Parallel Aware", "Async Capable", "Disabled", "Inner Unique", - ] - private func detailBinding(for nodeId: UUID) -> Binding { Binding( get: { selectedNodeId == nodeId }, @@ -210,25 +201,22 @@ struct QueryPlanDiagramView: View { } private func nodeDetailPopover(_ node: QueryPlanNode) -> some View { - let filtered = node.properties - .filter { !Self.hiddenKeys.contains($0.key) } - .filter { $0.value != "false" && $0.value != "0" } - .sorted { $0.key < $1.key } + let filtered = QueryPlanLabels.visibleProperties(of: node) return VStack(alignment: .leading, spacing: 6) { Text(node.operation) .font(.headline) - if let relation = node.relation { detailRow("Table", relation) } - if let cost = node.costRangeText(fractionDigits: 2) { detailRow("Cost", cost) } - if let rows = node.estimatedRows { detailRow("Rows", "\(rows)") } - if let width = node.estimatedWidth, width > 0 { detailRow("Width", "\(width)") } + if let relation = node.relation { detailRow(QueryPlanLabels.table, relation) } + if let cost = node.costRangeText(fractionDigits: 2) { detailRow(QueryPlanLabels.cost, cost) } + if let rows = node.estimatedRows { detailRow(QueryPlanLabels.rows, "\(rows)") } + if let width = node.estimatedWidth, width > 0 { detailRow(QueryPlanLabels.width, "\(width)") } if let time = node.actualTotalTime { Divider() - detailRow("Actual Time", String(format: "%.3fms", time)) - if let rows = node.actualRows { detailRow("Actual Rows", "\(rows)") } - if let loops = node.actualLoops, loops > 1 { detailRow("Loops", "\(loops)") } + detailRow(QueryPlanLabels.actualTime, QueryPlanLabels.milliseconds(time)) + if let rows = node.actualRows { detailRow(QueryPlanLabels.actualRows, "\(rows)") } + if let loops = node.actualLoops, loops > 1 { detailRow(QueryPlanLabels.loops, "\(loops)") } } if !filtered.isEmpty { diff --git a/TablePro/Views/QueryPlan/QueryPlanSeverityStyle.swift b/TablePro/Views/QueryPlan/QueryPlanSeverityStyle.swift new file mode 100644 index 000000000..89902858c --- /dev/null +++ b/TablePro/Views/QueryPlan/QueryPlanSeverityStyle.swift @@ -0,0 +1,43 @@ +// +// QueryPlanSeverityStyle.swift +// TablePro +// +// How a severity is drawn. Cost is diagnostic rather than decorative, so the glyph and the +// cost text always carry the meaning and colour is only ever a second channel. +// + +import SwiftUI + +extension QueryPlanSeverity { + var color: Color { + switch self { + case .low: return .green + case .moderate: return .yellow + case .high: return .orange + case .critical: return .red + } + } + + /// Escalating shape, so severity reads without relying on hue. + var symbolName: String { + switch self { + case .low: return "circle.fill" + case .moderate: return "diamond.fill" + case .high: return "triangle.fill" + case .critical: return "exclamationmark.triangle.fill" + } + } + + var accessibilityLabel: String { + switch self { + case .low: return String(localized: "Low cost") + case .moderate: return String(localized: "Moderate cost") + case .high: return String(localized: "High cost") + case .critical: return String(localized: "Critical cost") + } + } + + func tint(differentiateWithoutColor: Bool) -> Color { + differentiateWithoutColor ? .secondary : color + } +} diff --git a/TablePro/Views/QueryPlan/QueryPlanTreeView.swift b/TablePro/Views/QueryPlan/QueryPlanTreeView.swift index 09d85bb75..19b546090 100644 --- a/TablePro/Views/QueryPlan/QueryPlanTreeView.swift +++ b/TablePro/Views/QueryPlan/QueryPlanTreeView.swift @@ -49,14 +49,17 @@ struct QueryPlanTreeView: View { // MARK: - Row View private struct QueryPlanRowView: View { + @Environment(\.accessibilityDifferentiateWithoutColor) private var differentiateWithoutColor + let node: QueryPlanNode var body: some View { HStack(spacing: 8) { - Circle() - .fill(costColor) - .frame(width: 8, height: 8) - .accessibilityHidden(true) + Image(systemName: node.severity.symbolName) + .font(.system(size: 8)) + .foregroundStyle(node.severity.tint(differentiateWithoutColor: differentiateWithoutColor)) + .frame(width: 10) + .accessibilityLabel(node.severity.accessibilityLabel) VStack(alignment: .leading, spacing: 1) { HStack(spacing: 4) { @@ -93,7 +96,7 @@ private struct QueryPlanRowView: View { } if let rows = node.estimatedRows { - Text("\(rows.formatted(.number.grouping(.automatic))) rows") + Text("\(rows.formatted(.number.grouping(.automatic))) ^[rows](inflect: true)") .font(.system(.caption, design: .monospaced)) .foregroundStyle(.secondary) .frame(width: 80, alignment: .trailing) @@ -101,7 +104,7 @@ private struct QueryPlanRowView: View { // Actual time (EXPLAIN ANALYZE) if let time = node.actualTotalTime { - Text(String(format: "%.3fms", time)) + Text(QueryPlanLabels.milliseconds(time)) .font(.system(.caption, design: .monospaced)) .foregroundStyle(.tertiary) .frame(width: 80, alignment: .trailing) @@ -109,13 +112,6 @@ private struct QueryPlanRowView: View { } .padding(.vertical, 2) } - - private var costColor: Color { - if node.costFraction > 0.5 { return .red } - if node.costFraction > 0.2 { return .orange } - if node.costFraction > 0.05 { return .yellow } - return .green - } } // MARK: - Detail View @@ -123,16 +119,8 @@ private struct QueryPlanRowView: View { private struct QueryPlanDetailView: View { let node: QueryPlanNode - /// Properties to hide (boolean flags and zero-value noise from PostgreSQL EXPLAIN). - private static let hiddenKeys: Set = [ - "Parallel Aware", "Async Capable", "Disabled", "Inner Unique", - ] - private var filteredProperties: [(key: String, value: String)] { - node.properties - .filter { !Self.hiddenKeys.contains($0.key) } - .filter { $0.value != "false" && $0.value != "0" } - .sorted { $0.key < $1.key } + QueryPlanLabels.visibleProperties(of: node) } var body: some View { @@ -142,28 +130,34 @@ private struct QueryPlanDetailView: View { VStack(alignment: .leading, spacing: 4) { Text(node.operation) .font(.caption.weight(.semibold)) - if let relation = node.relation { detailRow("Table", relation) } - if let cost = node.costRangeText(fractionDigits: 2) { detailRow("Cost", cost) } - if let rows = node.estimatedRows { detailRow("Rows", "\(rows)") } - if let width = node.estimatedWidth, width > 0 { detailRow("Width", "\(width)") } + if let relation = node.relation { detailRow(QueryPlanLabels.table, relation) } + if let cost = node.costRangeText(fractionDigits: 2) { + detailRow(QueryPlanLabels.cost, cost) + } + if let rows = node.estimatedRows { detailRow(QueryPlanLabels.rows, "\(rows)") } + if let width = node.estimatedWidth, width > 0 { + detailRow(QueryPlanLabels.width, "\(width)") + } } // Actuals (EXPLAIN ANALYZE) if node.actualTotalTime != nil { VStack(alignment: .leading, spacing: 4) { - Text("Actual") + Text(QueryPlanLabels.actual) .font(.caption.weight(.semibold)) if let time = node.actualTotalTime { - detailRow("Time", String(format: "%.3fms", time)) + detailRow(QueryPlanLabels.actualTime, QueryPlanLabels.milliseconds(time)) + } + if let rows = node.actualRows { detailRow(QueryPlanLabels.rows, "\(rows)") } + if let loops = node.actualLoops, loops > 1 { + detailRow(QueryPlanLabels.loops, "\(loops)") } - if let rows = node.actualRows { detailRow("Rows", "\(rows)") } - if let loops = node.actualLoops, loops > 1 { detailRow("Loops", "\(loops)") } } } if !filteredProperties.isEmpty { VStack(alignment: .leading, spacing: 4) { - Text("Details") + Text(QueryPlanLabels.details) .font(.caption.weight(.semibold)) ForEach(filteredProperties, id: \.key) { key, value in detailRow(key, value) diff --git a/TableProTests/Models/Query/QueryPlanSeverityTests.swift b/TableProTests/Models/Query/QueryPlanSeverityTests.swift new file mode 100644 index 000000000..21a72e495 --- /dev/null +++ b/TableProTests/Models/Query/QueryPlanSeverityTests.swift @@ -0,0 +1,70 @@ +// +// QueryPlanSeverityTests.swift +// TableProTests +// +// Tests for classifying a plan node's cost share into a severity. +// + +import Foundation +import SwiftUI +@testable import TablePro +import Testing + +@Suite("Query Plan Severity") +struct QueryPlanSeverityTests { + @Test("Each band maps to its severity") + func classifiesBands() { + #expect(QueryPlanSeverity.forCostFraction(0) == .low) + #expect(QueryPlanSeverity.forCostFraction(0.05) == .low) + #expect(QueryPlanSeverity.forCostFraction(0.06) == .moderate) + #expect(QueryPlanSeverity.forCostFraction(0.2) == .moderate) + #expect(QueryPlanSeverity.forCostFraction(0.21) == .high) + #expect(QueryPlanSeverity.forCostFraction(0.5) == .high) + #expect(QueryPlanSeverity.forCostFraction(0.51) == .critical) + #expect(QueryPlanSeverity.forCostFraction(1.0) == .critical) + } + + @Test("A non-finite or negative fraction is treated as cheap rather than trapping") + func handlesInvalidFractions() { + #expect(QueryPlanSeverity.forCostFraction(.nan) == .low) + #expect(QueryPlanSeverity.forCostFraction(.infinity) == .low) + #expect(QueryPlanSeverity.forCostFraction(-1) == .low) + } + + @Test("Every severity has a distinct glyph") + func glyphsAreDistinct() { + let symbols = Set(QueryPlanSeverity.allCases.map(\.symbolName)) + #expect(symbols.count == QueryPlanSeverity.allCases.count) + } + + @Test("Differentiate without colour drops the hue but keeps the severity") + func dropsHueWhenAsked() { + for severity in QueryPlanSeverity.allCases { + #expect(severity.tint(differentiateWithoutColor: true) == .secondary) + #expect(severity.tint(differentiateWithoutColor: false) == severity.color) + #expect(!severity.accessibilityLabel.isEmpty) + } + } + + @Test("Hidden property keys are filtered out of the visible set") + func filtersHiddenProperties() { + let node = QueryPlanNode( + operation: "Seq Scan", + relation: nil, schema: nil, alias: nil, + estimatedStartupCost: nil, estimatedTotalCost: nil, + estimatedRows: nil, estimatedWidth: nil, + actualStartupTime: nil, actualTotalTime: nil, + actualRows: nil, actualLoops: nil, + properties: [ + "Parallel Aware": "true", + "Filter": "(id > 3)", + "Rows Removed by Filter": "0", + "Sort Key": "id", + ], + children: [] + ) + + let visible = QueryPlanLabels.visibleProperties(of: node) + #expect(visible.map(\.key) == ["Filter", "Sort Key"]) + } +} From 7b7ff6391fec163398eae6ffc1f3f3cdb78d5f06 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 08:20:05 +0700 Subject: [PATCH 09/19] feat(components): add a magnifiable canvas backed by NSScrollView --- .../Views/Components/DiagramZoomToolbar.swift | 57 +++++++ .../Components/MagnifiableCanvasView.swift | 161 ++++++++++++++++++ .../DiagramViewportControllerTests.swift | 130 ++++++++++++++ 3 files changed, 348 insertions(+) create mode 100644 TablePro/Views/Components/DiagramZoomToolbar.swift create mode 100644 TablePro/Views/Components/MagnifiableCanvasView.swift create mode 100644 TableProTests/Views/Components/DiagramViewportControllerTests.swift diff --git a/TablePro/Views/Components/DiagramZoomToolbar.swift b/TablePro/Views/Components/DiagramZoomToolbar.swift new file mode 100644 index 000000000..50fd31869 --- /dev/null +++ b/TablePro/Views/Components/DiagramZoomToolbar.swift @@ -0,0 +1,57 @@ +// +// DiagramZoomToolbar.swift +// TablePro +// +// The floating zoom cluster both diagrams share. Extra controls are supplied per diagram. +// + +import SwiftUI + +struct DiagramZoomToolbar: View { + let viewport: DiagramViewportController + @ViewBuilder let extras: () -> Extras + + init(viewport: DiagramViewportController, @ViewBuilder extras: @escaping () -> Extras = { EmptyView() }) { + self.viewport = viewport + self.extras = extras + } + + var body: some View { + HStack(spacing: 8) { + Button(action: viewport.zoomOut) { + Image(systemName: "minus.magnifyingglass") + } + .accessibilityLabel(String(localized: "Zoom Out")) + .help(String(localized: "Zoom Out")) + + Button(action: viewport.resetZoom) { + Text(verbatim: "\(Int((viewport.magnification * 100).rounded()))%") + .font(.system(.caption, design: .monospaced)) + .frame(width: 40) + .foregroundStyle(.secondary) + } + .buttonStyle(.plain) + .accessibilityLabel(String(localized: "Reset Zoom")) + .help(String(localized: "Reset Zoom")) + + Button(action: viewport.zoomIn) { + Image(systemName: "plus.magnifyingglass") + } + .accessibilityLabel(String(localized: "Zoom In")) + .help(String(localized: "Zoom In")) + + Button(action: viewport.fitToWindow) { + Image(systemName: "arrow.up.left.and.arrow.down.right") + } + .accessibilityLabel(String(localized: "Fit to Window")) + .help(String(localized: "Fit to Window")) + + extras() + } + .buttonStyle(.borderless) + .padding(.horizontal, 10) + .padding(.vertical, 6) + .themeMaterial(.toolbar, .thinMaterial, in: Capsule()) + .overlay(Capsule().strokeBorder(.quaternary, lineWidth: 0.5)) + } +} diff --git a/TablePro/Views/Components/MagnifiableCanvasView.swift b/TablePro/Views/Components/MagnifiableCanvasView.swift new file mode 100644 index 000000000..f1e10d3a4 --- /dev/null +++ b/TablePro/Views/Components/MagnifiableCanvasView.swift @@ -0,0 +1,161 @@ +// +// MagnifiableCanvasView.swift +// TablePro +// +// A diagram viewport backed by NSScrollView's own magnification. Pinch anchored at the +// pointer, two-finger double tap to smart magnify, Cmd+scroll to zoom, real scrollers that +// follow the system setting and elastic scrolling all come from AppKit rather than being +// rebuilt on top of a SwiftUI ScrollView. +// + +import AppKit +import SwiftUI + +@MainActor +@Observable +final class DiagramViewportController { + private(set) var magnification: CGFloat = 1.0 + + @ObservationIgnored private weak var scrollView: NSScrollView? + @ObservationIgnored private var magnificationObservation: NSKeyValueObservation? + + var visibleDocumentRect: CGRect { + scrollView?.documentVisibleRect ?? .zero + } + + func zoomIn() { + apply(magnification + DiagramZoom.step) + } + + func zoomOut() { + apply(magnification - DiagramZoom.step) + } + + func resetZoom() { + apply(1.0) + } + + /// Fits the whole diagram, but never zooms past 100%: a two-node plan blown up to fill the + /// window reads worse than the same plan at its natural size. + func fitToWindow() { + guard let scrollView, let documentView = scrollView.documentView else { return } + let content = documentView.bounds.size + let visible = scrollView.contentSize + guard content.width > 0, content.height > 0, visible.width > 0, visible.height > 0 else { return } + + apply(min(1.0, min(visible.width / content.width, visible.height / content.height))) + scrollView.contentView.scroll(to: .zero) + scrollView.reflectScrolledClipView(scrollView.contentView) + } + + func scrollBy(_ delta: CGSize) { + guard let scrollView else { return } + let origin = scrollView.contentView.bounds.origin + scrollView.contentView.scroll(to: CGPoint(x: origin.x + delta.width, y: origin.y + delta.height)) + scrollView.reflectScrolledClipView(scrollView.contentView) + } + + func attach(to scrollView: NSScrollView) { + self.scrollView = scrollView + magnification = scrollView.magnification + magnificationObservation = scrollView.observe(\.magnification, options: [.new]) { [weak self] _, change in + guard let value = change.newValue else { return } + MainActor.assumeIsolated { + self?.magnification = value + } + } + } + + func detach() { + magnificationObservation?.invalidate() + magnificationObservation = nil + scrollView = nil + } + + private func apply(_ value: CGFloat) { + let clamped = DiagramZoom.clamped(value) + guard let scrollView else { + magnification = clamped + return + } + + let centre = CGPoint(x: visibleDocumentRect.midX, y: visibleDocumentRect.midY) + NSAnimationContext.runAnimationGroup { context in + context.duration = NSWorkspace.shared.accessibilityDisplayShouldReduceMotion ? 0 : 0.2 + context.allowsImplicitAnimation = true + scrollView.setMagnification(clamped, centeredAt: centre) + } + magnification = scrollView.magnification + } +} + +struct MagnifiableCanvasView: NSViewRepresentable { + let viewport: DiagramViewportController + let contentSize: CGSize + var accessibilityIdentifier: String? + @ViewBuilder let content: () -> Content + + func makeCoordinator() -> Coordinator { Coordinator() } + + func makeNSView(context: Context) -> NSScrollView { + let scrollView = NSScrollView() + scrollView.allowsMagnification = true + scrollView.minMagnification = DiagramZoom.minimum + scrollView.maxMagnification = DiagramZoom.maximum + scrollView.hasHorizontalScroller = true + scrollView.hasVerticalScroller = true + scrollView.autohidesScrollers = true + scrollView.drawsBackground = false + if let accessibilityIdentifier { + scrollView.setAccessibilityIdentifier(accessibilityIdentifier) + } + + let hostingView = NSHostingView(rootView: content()) + hostingView.translatesAutoresizingMaskIntoConstraints = true + hostingView.frame = CGRect(origin: .zero, size: resolvedContentSize) + scrollView.documentView = hostingView + + context.coordinator.hostingView = hostingView + context.coordinator.viewport = viewport + viewport.attach(to: scrollView) + return scrollView + } + + func updateNSView(_ scrollView: NSScrollView, context: Context) { + guard let hostingView = context.coordinator.hostingView else { return } + hostingView.rootView = content() + + let size = resolvedContentSize + guard hostingView.frame.size != size else { return } + hostingView.frame = CGRect(origin: .zero, size: size) + } + + static func dismantleNSView(_ scrollView: NSScrollView, coordinator: Coordinator) { + MainActor.assumeIsolated { + coordinator.viewport?.detach() + coordinator.viewport = nil + coordinator.hostingView = nil + } + } + + /// Returning the proposal keeps the document's size out of SwiftUI's layout, so a wide + /// diagram never becomes a minimum width that pins the window's split dividers. + func sizeThatFits(_ proposal: ProposedViewSize, nsView: NSScrollView, context: Context) -> CGSize? { + let resolved = proposal.replacingUnspecifiedDimensions(by: CGSize(width: 400, height: 300)) + guard resolved.width.isFinite, resolved.height.isFinite else { return nil } + return resolved + } + + private var resolvedContentSize: CGSize { + CGSize( + width: max(1, contentSize.width.isFinite ? contentSize.width : 1), + height: max(1, contentSize.height.isFinite ? contentSize.height : 1) + ) + } + + @MainActor + final class Coordinator { + var hostingView: NSHostingView? + var viewport: DiagramViewportController? + } +} diff --git a/TableProTests/Views/Components/DiagramViewportControllerTests.swift b/TableProTests/Views/Components/DiagramViewportControllerTests.swift new file mode 100644 index 000000000..17069209a --- /dev/null +++ b/TableProTests/Views/Components/DiagramViewportControllerTests.swift @@ -0,0 +1,130 @@ +// +// DiagramViewportControllerTests.swift +// TableProTests +// +// Tests the viewport controller against a real NSScrollView, so the AppKit behaviour the +// diagrams now depend on (magnification bounds, KVO, fit) is pinned rather than assumed. +// + +import AppKit +@testable import TablePro +import Testing + +@Suite("Diagram Viewport Controller") +@MainActor +struct DiagramViewportControllerTests { + private func makeScrollView(content: CGSize, visible: CGSize) -> NSScrollView { + let scrollView = NSScrollView(frame: CGRect(origin: .zero, size: visible)) + scrollView.allowsMagnification = true + scrollView.minMagnification = DiagramZoom.minimum + scrollView.maxMagnification = DiagramZoom.maximum + + let documentView = NSView(frame: CGRect(origin: .zero, size: content)) + scrollView.documentView = documentView + scrollView.layoutSubtreeIfNeeded() + return scrollView + } + + private func makeAttached( + content: CGSize = CGSize(width: 1_000, height: 800), + visible: CGSize = CGSize(width: 500, height: 400) + ) -> (DiagramViewportController, NSScrollView) { + let scrollView = makeScrollView(content: content, visible: visible) + let viewport = DiagramViewportController() + viewport.attach(to: scrollView) + return (viewport, scrollView) + } + + @Test("A detached controller still clamps its own zoom") + func clampsWhileDetached() { + let viewport = DiagramViewportController() + #expect(viewport.magnification == 1.0) + + for _ in 0..<20 { viewport.zoomIn() } + #expect(viewport.magnification == DiagramZoom.maximum) + + for _ in 0..<40 { viewport.zoomOut() } + #expect(viewport.magnification == DiagramZoom.minimum) + + viewport.resetZoom() + #expect(viewport.magnification == 1.0) + } + + @Test("Zooming writes through to the scroll view") + func writesMagnificationToScrollView() { + let (viewport, scrollView) = makeAttached() + + viewport.zoomIn() + #expect(scrollView.magnification == 1.0 + DiagramZoom.step) + + viewport.resetZoom() + #expect(scrollView.magnification == 1.0) + } + + @Test("A magnification set on the scroll view is observed back") + func observesMagnificationChanges() { + let (viewport, scrollView) = makeAttached() + + scrollView.magnification = 2.0 + #expect(viewport.magnification == 2.0) + + scrollView.magnification = 0.5 + #expect(viewport.magnification == 0.5) + } + + @Test("AppKit enforces the magnification bounds it was given") + func scrollViewEnforcesBounds() { + let (_, scrollView) = makeAttached() + + scrollView.magnification = 99 + #expect(scrollView.magnification == DiagramZoom.maximum) + + scrollView.magnification = 0.001 + #expect(scrollView.magnification == DiagramZoom.minimum) + } + + @Test("Fit to window zooms out to show the whole diagram") + func fitZoomsOutToFitContent() { + let (viewport, scrollView) = makeAttached( + content: CGSize(width: 1_000, height: 800), visible: CGSize(width: 500, height: 400) + ) + + viewport.fitToWindow() + + #expect(scrollView.magnification < 1.0) + #expect(scrollView.magnification >= DiagramZoom.minimum) + } + + @Test("Fit to window never zooms past one hundred percent") + func fitNeverZoomsIn() { + let (viewport, scrollView) = makeAttached( + content: CGSize(width: 100, height: 80), visible: CGSize(width: 800, height: 600) + ) + + viewport.fitToWindow() + + #expect(scrollView.magnification == 1.0) + } + + @Test("Fit to window is a no-op without a document") + func fitIgnoresMissingDocument() { + let scrollView = NSScrollView(frame: CGRect(x: 0, y: 0, width: 400, height: 300)) + scrollView.allowsMagnification = true + let viewport = DiagramViewportController() + viewport.attach(to: scrollView) + + viewport.fitToWindow() + + #expect(viewport.magnification == 1.0) + } + + @Test("Scrolling by a delta moves the visible rect") + func scrollByMovesViewport() { + let (viewport, scrollView) = makeAttached() + let before = scrollView.contentView.bounds.origin + + viewport.scrollBy(CGSize(width: 60, height: 40)) + + #expect(scrollView.contentView.bounds.origin != before) + } +} From 957caaa345808edc68827d66e905388f29e6256c Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 08:24:50 +0700 Subject: [PATCH 10/19] refactor(explain): rebuild the plan diagram on the magnifiable canvas --- .../Models/Query/QueryPlanNodeSummary.swift | 52 +++ .../Components/DiagramImageExporter.swift | 74 +++++ TablePro/Views/Editor/ExplainResultView.swift | 7 +- .../Views/QueryPlan/QueryPlanDetailPane.swift | 105 +++++++ .../QueryPlan/QueryPlanDiagramView.swift | 296 ++++++++---------- .../Query/QueryPlanNodeSummaryTests.swift | 83 +++++ 6 files changed, 450 insertions(+), 167 deletions(-) create mode 100644 TablePro/Models/Query/QueryPlanNodeSummary.swift create mode 100644 TablePro/Views/Components/DiagramImageExporter.swift create mode 100644 TablePro/Views/QueryPlan/QueryPlanDetailPane.swift create mode 100644 TableProTests/Models/Query/QueryPlanNodeSummaryTests.swift diff --git a/TablePro/Models/Query/QueryPlanNodeSummary.swift b/TablePro/Models/Query/QueryPlanNodeSummary.swift new file mode 100644 index 000000000..f0296a365 --- /dev/null +++ b/TablePro/Models/Query/QueryPlanNodeSummary.swift @@ -0,0 +1,52 @@ +// +// QueryPlanNodeSummary.swift +// TablePro +// +// Plain-text renderings of a plan node, for copying and for VoiceOver. +// + +import Foundation + +enum QueryPlanNodeSummary { + /// The whole node as `Label: value` lines, for Copy Node Details. + static func text(for node: QueryPlanNode) -> String { + var lines = [node.operation] + + if let relation = node.relation { lines.append("\(QueryPlanLabels.table): \(relation)") } + if let cost = node.costRangeText(fractionDigits: 2) { lines.append("\(QueryPlanLabels.cost): \(cost)") } + if let rows = node.estimatedRows { lines.append("\(QueryPlanLabels.rows): \(rows)") } + if let width = node.estimatedWidth, width > 0 { lines.append("\(QueryPlanLabels.width): \(width)") } + if let time = node.actualTotalTime { + lines.append("\(QueryPlanLabels.actualTime): \(QueryPlanLabels.milliseconds(time))") + } + if let rows = node.actualRows { lines.append("\(QueryPlanLabels.actualRows): \(rows)") } + if let loops = node.actualLoops, loops > 1 { lines.append("\(QueryPlanLabels.loops): \(loops)") } + + for property in QueryPlanLabels.visibleProperties(of: node) { + lines.append("\(property.key): \(property.value)") + } + + return lines.joined(separator: "\n") + } + + /// One spoken sentence: what the node does, on what, how expensive it is. + static func accessibilityLabel(for node: QueryPlanNode) -> String { + var parts = [node.operation] + + if let relation = node.relation { + parts.append(String(format: String(localized: "on %@"), relation)) + } + parts.append(node.severity.accessibilityLabel) + if let cost = node.costRangeText(fractionDigits: 2) { + parts.append("\(QueryPlanLabels.cost) \(cost)") + } + if let rows = node.estimatedRows { + parts.append("\(rows) \(QueryPlanLabels.rows)") + } + if let time = node.actualTotalTime { + parts.append("\(QueryPlanLabels.actualTime) \(QueryPlanLabels.milliseconds(time))") + } + + return parts.joined(separator: ", ") + } +} diff --git a/TablePro/Views/Components/DiagramImageExporter.swift b/TablePro/Views/Components/DiagramImageExporter.swift new file mode 100644 index 000000000..f6a0d3040 --- /dev/null +++ b/TablePro/Views/Components/DiagramImageExporter.swift @@ -0,0 +1,74 @@ +// +// DiagramImageExporter.swift +// TablePro +// +// Renders a diagram to a PNG at its natural scale, for the standard Copy command and for +// Save. Shared by the ER diagram and the query plan diagram so both export identically. +// + +import AppKit +import os +import SwiftUI +import UniformTypeIdentifiers + +enum DiagramImageExporter { + private static let logger = Logger(subsystem: "com.TablePro", category: "DiagramImageExporter") + private static let renderScale: CGFloat = 2.0 + + @MainActor + static func image(of view: some View) -> NSImage? { + let renderer = ImageRenderer(content: view) + renderer.scale = renderScale + return renderer.nsImage + } + + /// Feeds the standard Edit > Copy command, so a diagram follows whatever shortcut the user + /// has bound instead of a hardcoded key handler. + @MainActor + static func copyItemProviders(of view: some View) -> [NSItemProvider] { + guard let image = image(of: view) else { return [] } + return [NSItemProvider(object: image)] + } + + @MainActor + static func export(_ view: some View, defaultFileName: String, title: String) { + guard let image = image(of: view) else { + logger.error("Failed to render diagram to image") + presentFailure() + return + } + + let panel = NSSavePanel() + panel.allowedContentTypes = [.png] + panel.nameFieldStringValue = defaultFileName + panel.title = title + panel.message = String(localized: "Choose a location to save the diagram as PNG.") + + guard let window = NSApp.keyWindow else { return } + panel.beginSheetModal(for: window) { response in + guard response == .OK, let url = panel.url else { return } + guard let tiffData = image.tiffRepresentation, + let bitmap = NSBitmapImageRep(data: tiffData), + let pngData = bitmap.representation(using: .png, properties: [:]) + else { return } + do { + try pngData.write(to: url) + } catch { + logger.error("Failed to write PNG: \(error.localizedDescription)") + } + } + } + + @MainActor + private static func presentFailure() { + let alert = NSAlert() + alert.messageText = String(localized: "Export Failed") + alert.informativeText = String(localized: "Failed to render the diagram image.") + alert.alertStyle = .warning + if let window = AlertHelper.resolveWindow(nil) { + alert.beginSheetModal(for: window) + } else { + alert.runModal() + } + } +} diff --git a/TablePro/Views/Editor/ExplainResultView.swift b/TablePro/Views/Editor/ExplainResultView.swift index 2d49aeecd..19780ac35 100644 --- a/TablePro/Views/Editor/ExplainResultView.swift +++ b/TablePro/Views/Editor/ExplainResultView.swift @@ -18,11 +18,14 @@ struct ExplainResultView: View { let executionTime: TimeInterval? let plan: QueryPlan? - @State private var fontSize: Double = 13 + @AppStorage("explainRawFontSize") private var fontSize: Double = 13 @State private var showCopyConfirmation = false @State private var copyResetTask: Task? @State private var viewMode: ExplainViewMode = .diagram + /// Shared by the diagram and the tree, so switching view mode keeps the selected step. + @State private var selectedNodeId: UUID? + var body: some View { VStack(spacing: 0) { toolbar @@ -30,7 +33,7 @@ struct ExplainResultView: View { switch viewMode { case .diagram: if let plan { - QueryPlanDiagramView(plan: plan) + QueryPlanDiagramView(plan: plan, selectedNodeId: $selectedNodeId) } else { DDLTextView(ddl: text, fontSize: $fontSize) } diff --git a/TablePro/Views/QueryPlan/QueryPlanDetailPane.swift b/TablePro/Views/QueryPlan/QueryPlanDetailPane.swift new file mode 100644 index 000000000..82f55eaf6 --- /dev/null +++ b/TablePro/Views/QueryPlan/QueryPlanDetailPane.swift @@ -0,0 +1,105 @@ +// +// QueryPlanDetailPane.swift +// TablePro +// +// Everything a plan node reports. Shared by the diagram's popover and the tree's detail pane. +// + +import SwiftUI + +struct QueryPlanDetailPane: View { + let node: QueryPlanNode? + + var body: some View { + if let node { + content(for: node) + } else { + ContentUnavailableView { + Label(String(localized: "No Node Selected"), systemImage: "square.dashed") + } description: { + Text(String(localized: "Select a step in the plan to see what it does.")) + } + .background(Color(nsColor: .controlBackgroundColor)) + } + } + + private func content(for node: QueryPlanNode) -> some View { + ScrollView(.vertical) { + VStack(alignment: .leading, spacing: 10) { + HStack(spacing: 6) { + Text(node.operation) + .font(.headline) + Spacer(minLength: 8) + Button { + ClipboardService.shared.writeText(QueryPlanNodeSummary.text(for: node)) + } label: { + Image(systemName: "doc.on.doc") + } + .buttonStyle(.borderless) + .accessibilityLabel(String(localized: "Copy Node Details")) + .help(String(localized: "Copy Node Details")) + } + + estimates(for: node) + actuals(for: node) + properties(for: node) + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + } + .background(Color(nsColor: .controlBackgroundColor)) + .accessibilityIdentifier("query-plan-detail-pane") + } + + @ViewBuilder + private func estimates(for node: QueryPlanNode) -> some View { + VStack(alignment: .leading, spacing: 4) { + if let relation = node.relation { detailRow(QueryPlanLabels.table, relation) } + if let cost = node.costRangeText(fractionDigits: 2) { detailRow(QueryPlanLabels.cost, cost) } + if let rows = node.estimatedRows { detailRow(QueryPlanLabels.rows, "\(rows)") } + if let width = node.estimatedWidth, width > 0 { detailRow(QueryPlanLabels.width, "\(width)") } + } + } + + @ViewBuilder + private func actuals(for node: QueryPlanNode) -> some View { + if let time = node.actualTotalTime { + Divider() + VStack(alignment: .leading, spacing: 4) { + Text(QueryPlanLabels.actual) + .font(.caption.weight(.semibold)) + detailRow(QueryPlanLabels.actualTime, QueryPlanLabels.milliseconds(time)) + if let rows = node.actualRows { detailRow(QueryPlanLabels.actualRows, "\(rows)") } + if let loops = node.actualLoops, loops > 1 { detailRow(QueryPlanLabels.loops, "\(loops)") } + } + } + } + + @ViewBuilder + private func properties(for node: QueryPlanNode) -> some View { + let visible = QueryPlanLabels.visibleProperties(of: node) + if !visible.isEmpty { + Divider() + VStack(alignment: .leading, spacing: 4) { + Text(QueryPlanLabels.details) + .font(.caption.weight(.semibold)) + ForEach(visible, id: \.key) { key, value in + detailRow(key, value) + } + } + } + } + + private func detailRow(_ label: String, _ value: String) -> some View { + HStack(alignment: .top, spacing: 8) { + Text(label) + .font(.caption) + .foregroundStyle(.secondary) + .frame(width: 90, alignment: .trailing) + Text(value) + .font(.system(.caption, design: .monospaced)) + .textSelection(.enabled) + .frame(maxWidth: .infinity, alignment: .leading) + } + } +} diff --git a/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift b/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift index 63e34ab9d..46167c19b 100644 --- a/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift +++ b/TablePro/Views/QueryPlan/QueryPlanDiagramView.swift @@ -2,166 +2,112 @@ // QueryPlanDiagramView.swift // TablePro // -// Canvas-based EXPLAIN plan diagram with boxes and arrows. +// EXPLAIN plan diagram: boxes and arrows on an AppKit-magnified canvas, so pan and zoom +// behave the way every other document surface on macOS does. // import SwiftUI -// MARK: - Diagram View - struct QueryPlanDiagramView: View { - @Environment(\.accessibilityDifferentiateWithoutColor) private var differentiateWithoutColor + @Binding var selectedNodeId: UUID? - @State private var magnification: CGFloat = 1.0 - @State private var selectedNodeId: UUID? - @GestureState private var pinchMagnification: CGFloat = 1.0 + @State private var viewport = DiagramViewportController() /// Derived from the plan on every update, so a second EXPLAIN in the same tab redraws /// instead of keeping the layout the first one produced. private let layout: QueryPlanDiagramLayout - init(plan: QueryPlan) { + init(plan: QueryPlan, selectedNodeId: Binding) { layout = QueryPlanDiagramLayout(root: plan.rootNode) - } - - private var effectiveMagnification: CGFloat { - DiagramZoom.scaled(from: magnification, by: pinchMagnification) + _selectedNodeId = selectedNodeId } var body: some View { ZStack(alignment: .bottomTrailing) { - ScrollView([.horizontal, .vertical]) { - ZStack(alignment: .topLeading) { - Canvas { context, _ in - drawArrows(context: context) - } - .frame(width: layout.canvasSize.width, height: layout.canvasSize.height) - - ForEach(layout.nodes) { positioned in - diagramNode(positioned) - .popover(isPresented: detailBinding(for: positioned.id)) { - nodeDetailPopover(positioned.node) - } - .position(x: positioned.rect.midX, y: positioned.rect.midY) - } - } - .frame(width: layout.canvasSize.width, height: layout.canvasSize.height) - .scaleEffect(effectiveMagnification, anchor: .topLeading) - .frame( - width: layout.canvasSize.width * effectiveMagnification, - height: layout.canvasSize.height * effectiveMagnification, - alignment: .topLeading - ) + MagnifiableCanvasView( + viewport: viewport, + contentSize: layout.canvasSize, + accessibilityIdentifier: "query-plan-diagram" + ) { + canvas } - zoomControls - .padding(12) + DiagramZoomToolbar(viewport: viewport) { + Divider().frame(height: 16) + Button { + DiagramImageExporter.export( + exportCanvas, + defaultFileName: "query-plan.png", + title: String(localized: "Export Query Plan") + ) + } label: { + Image(systemName: "square.and.arrow.up") + } + .accessibilityLabel(String(localized: "Export Plan as Image")) + .help(String(localized: "Export Plan as Image")) + } + .padding(12) } - .simultaneousGesture(magnifyGesture) + .onCopyCommand { DiagramImageExporter.copyItemProviders(of: exportCanvas) } } - // MARK: - Node - - private func diagramNode(_ positioned: QueryPlanDiagramLayout.Node) -> some View { - let node = positioned.node - let isSelected = selectedNodeId == positioned.id - - return VStack(alignment: .leading, spacing: 2) { - HStack(spacing: 4) { - Text(node.operation) - .font(.system(.callout, weight: .semibold)) - .lineLimit(1) - if let joinType = node.properties["Join Type"] { - Text(joinType) - .font(.caption2) - .foregroundStyle(.secondary) - } - } + // MARK: - Canvas - if let relation = node.relation { - Text(relation) - .font(.caption) - .foregroundStyle(.secondary) - .lineLimit(1) - } + private var canvas: some View { + ZStack(alignment: .topLeading) { + Canvas { context, _ in drawArrows(context: context) } + .frame(width: layout.canvasSize.width, height: layout.canvasSize.height) + .accessibilityHidden(true) - HStack(spacing: 6) { - if let cost = node.costRangeText(fractionDigits: 1) { - Text(cost) - .font(.system(.caption2, design: .monospaced)) - .foregroundStyle(.tertiary) - } - if let rows = node.estimatedRows { - Text("\(rows) ^[rows](inflect: true)") - .font(.system(.caption2, design: .monospaced)) - .foregroundStyle(.tertiary) + ForEach(layout.nodes) { positioned in + QueryPlanDiagramNodeView( + node: positioned.node, + isSelected: selectedNodeId == positioned.id + ) + .onTapGesture { selectedNodeId = positioned.id } + .contextMenu { nodeContextMenu(for: positioned.node) } + .popover(isPresented: detailBinding(for: positioned.id)) { + QueryPlanDetailPane(node: positioned.node) + .frame(minWidth: 260, maxWidth: 420) + .padding(4) } - } - - if let time = node.actualTotalTime { - Text(QueryPlanLabels.milliseconds(time)) - .font(.system(.caption2, design: .monospaced)) - .foregroundStyle(.quaternary) + .position(x: positioned.rect.midX, y: positioned.rect.midY) } } - .padding(QueryPlanDiagramMetrics.nodePadding) - .frame(width: QueryPlanDiagramMetrics.nodeWidth, alignment: .leading) - .background( - RoundedRectangle(cornerRadius: QueryPlanDiagramMetrics.cornerRadius) - .fill(node.severity.tint(differentiateWithoutColor: differentiateWithoutColor).opacity(0.12)) - ) - .overlay( - RoundedRectangle(cornerRadius: QueryPlanDiagramMetrics.cornerRadius) - .stroke( - isSelected - ? Color.accentColor - : node.severity.tint(differentiateWithoutColor: differentiateWithoutColor), - lineWidth: isSelected ? 2 : 1 - ) - ) - .onTapGesture { selectedNodeId = positioned.id } - .accessibilityLabel("\(node.operation)\(node.relation.map { " on \($0)" } ?? "")") + .frame(width: layout.canvasSize.width, height: layout.canvasSize.height) } - // MARK: - Zoom + /// A non-interactive copy at natural scale, so an export never captures the current zoom, + /// scroll offset or selection. + private var exportCanvas: some View { + ZStack(alignment: .topLeading) { + Canvas { context, _ in drawArrows(context: context) } + .frame(width: layout.canvasSize.width, height: layout.canvasSize.height) - private var magnifyGesture: some Gesture { - MagnifyGesture() - .updating($pinchMagnification) { value, state, _ in - state = value.magnification - } - .onEnded { value in - magnification = DiagramZoom.scaled(from: magnification, by: value.magnification) + ForEach(layout.nodes) { positioned in + QueryPlanDiagramNodeView(node: positioned.node, isSelected: false) + .position(x: positioned.rect.midX, y: positioned.rect.midY) } + } + .frame(width: layout.canvasSize.width, height: layout.canvasSize.height) + .background(Color(nsColor: .controlBackgroundColor)) } - private var zoomControls: some View { - HStack(spacing: 4) { - Button { - magnification = DiagramZoom.clamped(magnification - DiagramZoom.step) - } label: { - Image(systemName: "minus.magnifyingglass") - .frame(width: 24, height: 24) - } - .accessibilityLabel(String(localized: "Zoom out")) - .help(String(localized: "Zoom out")) - - Text("\(Int((effectiveMagnification * 100).rounded()))%") - .font(.caption) - .foregroundStyle(.secondary) - .frame(width: 36) - - Button { - magnification = DiagramZoom.clamped(magnification + DiagramZoom.step) - } label: { - Image(systemName: "plus.magnifyingglass") - .frame(width: 24, height: 24) - } - .accessibilityLabel(String(localized: "Zoom in")) - .help(String(localized: "Zoom in")) + @ViewBuilder + private func nodeContextMenu(for node: QueryPlanNode) -> some View { + Button(String(localized: "Copy Operation")) { + ClipboardService.shared.writeText(node.operation) } - .buttonStyle(.bordered) - .controlSize(.small) + Button(String(localized: "Copy Node Details")) { + ClipboardService.shared.writeText(QueryPlanNodeSummary.text(for: node)) + } + } + + private func detailBinding(for nodeId: UUID) -> Binding { + Binding( + get: { selectedNodeId == nodeId }, + set: { if !$0 { selectedNodeId = nil } } + ) } // MARK: - Arrows @@ -190,55 +136,75 @@ struct QueryPlanDiagramView: View { context.fill(arrow, with: .color(.secondary.opacity(0.4))) } } +} - // MARK: - Popover - - private func detailBinding(for nodeId: UUID) -> Binding { - Binding( - get: { selectedNodeId == nodeId }, - set: { if !$0 { selectedNodeId = nil } } - ) - } +// MARK: - Node - private func nodeDetailPopover(_ node: QueryPlanNode) -> some View { - let filtered = QueryPlanLabels.visibleProperties(of: node) +private struct QueryPlanDiagramNodeView: View { + @Environment(\.accessibilityDifferentiateWithoutColor) private var differentiateWithoutColor - return VStack(alignment: .leading, spacing: 6) { - Text(node.operation) - .font(.headline) + let node: QueryPlanNode + let isSelected: Bool - if let relation = node.relation { detailRow(QueryPlanLabels.table, relation) } - if let cost = node.costRangeText(fractionDigits: 2) { detailRow(QueryPlanLabels.cost, cost) } - if let rows = node.estimatedRows { detailRow(QueryPlanLabels.rows, "\(rows)") } - if let width = node.estimatedWidth, width > 0 { detailRow(QueryPlanLabels.width, "\(width)") } + var body: some View { + VStack(alignment: .leading, spacing: 2) { + HStack(spacing: 4) { + Image(systemName: node.severity.symbolName) + .font(.system(size: 7)) + .foregroundStyle(tint) + Text(node.operation) + .font(.system(.callout, weight: .semibold)) + .lineLimit(1) + if let joinType = node.properties["Join Type"] { + Text(joinType) + .font(.caption2) + .foregroundStyle(.secondary) + } + } - if let time = node.actualTotalTime { - Divider() - detailRow(QueryPlanLabels.actualTime, QueryPlanLabels.milliseconds(time)) - if let rows = node.actualRows { detailRow(QueryPlanLabels.actualRows, "\(rows)") } - if let loops = node.actualLoops, loops > 1 { detailRow(QueryPlanLabels.loops, "\(loops)") } + if let relation = node.relation { + Text(relation) + .font(.caption) + .foregroundStyle(.secondary) + .lineLimit(1) } - if !filtered.isEmpty { - Divider() - ForEach(filtered, id: \.key) { key, value in - detailRow(key, value) + HStack(spacing: 6) { + if let cost = node.costRangeText(fractionDigits: 1) { + Text(cost) + .font(.system(.caption2, design: .monospaced)) + .foregroundStyle(.tertiary) + } + if let rows = node.estimatedRows { + Text("\(rows) ^[rows](inflect: true)") + .font(.system(.caption2, design: .monospaced)) + .foregroundStyle(.tertiary) } } + + if let time = node.actualTotalTime { + Text(QueryPlanLabels.milliseconds(time)) + .font(.system(.caption2, design: .monospaced)) + .foregroundStyle(.quaternary) + } } - .padding() - .frame(minWidth: 240) + .padding(QueryPlanDiagramMetrics.nodePadding) + .frame(width: QueryPlanDiagramMetrics.nodeWidth, alignment: .leading) + .background( + RoundedRectangle(cornerRadius: QueryPlanDiagramMetrics.cornerRadius) + .fill(tint.opacity(0.12)) + ) + .overlay( + RoundedRectangle(cornerRadius: QueryPlanDiagramMetrics.cornerRadius) + .stroke(isSelected ? Color.accentColor : tint, lineWidth: isSelected ? 2 : 1) + ) + .contentShape(RoundedRectangle(cornerRadius: QueryPlanDiagramMetrics.cornerRadius)) + .accessibilityElement(children: .combine) + .accessibilityAddTraits(.isButton) + .accessibilityLabel(QueryPlanNodeSummary.accessibilityLabel(for: node)) } - private func detailRow(_ label: String, _ value: String) -> some View { - HStack(alignment: .top) { - Text(label) - .font(.caption) - .foregroundStyle(.secondary) - .frame(width: 90, alignment: .trailing) - Text(value) - .font(.system(.caption, design: .monospaced)) - .textSelection(.enabled) - } + private var tint: Color { + node.severity.tint(differentiateWithoutColor: differentiateWithoutColor) } } diff --git a/TableProTests/Models/Query/QueryPlanNodeSummaryTests.swift b/TableProTests/Models/Query/QueryPlanNodeSummaryTests.swift new file mode 100644 index 000000000..89e61cad8 --- /dev/null +++ b/TableProTests/Models/Query/QueryPlanNodeSummaryTests.swift @@ -0,0 +1,83 @@ +// +// QueryPlanNodeSummaryTests.swift +// TableProTests +// +// Tests the plain-text and spoken renderings of a plan node. +// + +import Foundation +@testable import TablePro +import Testing + +@Suite("Query Plan Node Summary") +struct QueryPlanNodeSummaryTests { + private func makeNode( + operation: String = "Seq Scan", + relation: String? = "orders", + startupCost: Double? = 0.5, + totalCost: Double? = 12.25, + rows: Int? = 1_204, + actualTime: Double? = nil, + properties: [String: String] = [:] + ) -> QueryPlanNode { + QueryPlanNode( + operation: operation, + relation: relation, + schema: nil, + alias: nil, + estimatedStartupCost: startupCost, + estimatedTotalCost: totalCost, + estimatedRows: rows, + estimatedWidth: nil, + actualStartupTime: nil, + actualTotalTime: actualTime, + actualRows: nil, + actualLoops: nil, + properties: properties, + children: [] + ) + } + + @Test("Copy text starts with the operation and lists what the node reports") + func buildsCopyText() { + let text = QueryPlanNodeSummary.text(for: makeNode(properties: ["Filter": "(id > 3)"])) + let lines = text.components(separatedBy: "\n") + + #expect(lines.first == "Seq Scan") + #expect(text.contains("orders")) + #expect(text.contains("0.50..12.25")) + #expect(text.contains("1204")) + #expect(text.contains("Filter: (id > 3)")) + } + + @Test("Copy text omits what the node does not report") + func omitsMissingValues() { + let text = QueryPlanNodeSummary.text( + for: makeNode(relation: nil, startupCost: nil, totalCost: nil, rows: nil) + ) + #expect(text == "Seq Scan") + } + + @Test("Hidden properties never reach the copy text") + func skipsHiddenProperties() { + let text = QueryPlanNodeSummary.text(for: makeNode(properties: ["Parallel Aware": "true"])) + #expect(!text.contains("Parallel Aware")) + } + + @Test("The spoken label names the operation, the relation and the severity") + func buildsAccessibilityLabel() { + let label = QueryPlanNodeSummary.accessibilityLabel(for: makeNode()) + + #expect(label.hasPrefix("Seq Scan")) + #expect(label.contains("orders")) + #expect(label.contains(QueryPlanSeverity.low.accessibilityLabel)) + } + + @Test("Actual timing appears in both renderings when present") + func includesActualTiming() { + let node = makeNode(actualTime: 3.25) + + #expect(QueryPlanNodeSummary.text(for: node).contains("3.250")) + #expect(QueryPlanNodeSummary.accessibilityLabel(for: node).contains("3.250")) + } +} From d7e96f5c50cb9f2ca40403d45a9954b5085e6e7b Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 08:34:41 +0700 Subject: [PATCH 11/19] refactor(explain): rebuild the plan tree on NSOutlineView with real columns --- TablePro/Views/Editor/ExplainResultView.swift | 2 +- .../QueryPlan/QueryPlanOutlineCellViews.swift | 69 ++++++ .../QueryPlanOutlineCoordinator.swift | 210 ++++++++++++++++++ .../QueryPlan/QueryPlanOutlineNode.swift | 98 ++++++++ .../QueryPlan/QueryPlanOutlineView.swift | 127 +++++++++++ .../Views/QueryPlan/QueryPlanTreeView.swift | 184 ++------------- .../QueryPlan/QueryPlanOutlineSortTests.swift | 119 ++++++++++ 7 files changed, 642 insertions(+), 167 deletions(-) create mode 100644 TablePro/Views/QueryPlan/QueryPlanOutlineCellViews.swift create mode 100644 TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift create mode 100644 TablePro/Views/QueryPlan/QueryPlanOutlineNode.swift create mode 100644 TablePro/Views/QueryPlan/QueryPlanOutlineView.swift create mode 100644 TableProTests/Views/QueryPlan/QueryPlanOutlineSortTests.swift diff --git a/TablePro/Views/Editor/ExplainResultView.swift b/TablePro/Views/Editor/ExplainResultView.swift index 19780ac35..12a5d8bf1 100644 --- a/TablePro/Views/Editor/ExplainResultView.swift +++ b/TablePro/Views/Editor/ExplainResultView.swift @@ -39,7 +39,7 @@ struct ExplainResultView: View { } case .tree: if let plan { - QueryPlanTreeView(plan: plan) + QueryPlanTreeView(plan: plan, selectedNodeId: $selectedNodeId) } else { DDLTextView(ddl: text, fontSize: $fontSize) } diff --git a/TablePro/Views/QueryPlan/QueryPlanOutlineCellViews.swift b/TablePro/Views/QueryPlan/QueryPlanOutlineCellViews.swift new file mode 100644 index 000000000..f214f3bb8 --- /dev/null +++ b/TablePro/Views/QueryPlan/QueryPlanOutlineCellViews.swift @@ -0,0 +1,69 @@ +// +// QueryPlanOutlineCellViews.swift +// TablePro +// +// Cell contents for the plan outline. Each cell carries its own column-scoped accessibility +// label, which is what VoiceOver expects from a real multi-column table. +// + +import SwiftUI + +struct QueryPlanOperationCellView: View { + let node: QueryPlanNode + let differentiateWithoutColor: Bool + + var body: some View { + HStack(spacing: 6) { + Image(systemName: node.severity.symbolName) + .font(.system(size: 8)) + .foregroundStyle(node.severity.tint(differentiateWithoutColor: differentiateWithoutColor)) + .accessibilityHidden(true) + + Text(node.operation) + .font(.system(.body, weight: .medium)) + .lineLimit(1) + + if let joinType = node.properties["Join Type"] { + Text("(\(joinType))") + .font(.caption) + .foregroundStyle(.secondary) + .lineLimit(1) + } + + if let relation = node.relation { + Text(relation) + .font(.caption) + .foregroundStyle(.secondary) + .lineLimit(1) + + if let index = node.properties["Index Name"] { + Text("using \(index)") + .font(.caption) + .foregroundStyle(.tertiary) + .lineLimit(1) + } + } + + Spacer(minLength: 0) + } + .accessibilityElement(children: .ignore) + .accessibilityLabel(QueryPlanNodeSummary.accessibilityLabel(for: node)) + } +} + +struct QueryPlanMetricCellView: View { + let text: String? + let label: String + + var body: some View { + HStack { + Spacer(minLength: 0) + Text(text ?? "") + .font(.system(.callout, design: .monospaced)) + .foregroundStyle(.secondary) + .lineLimit(1) + } + .accessibilityElement(children: .ignore) + .accessibilityLabel(text.map { "\(label) \($0)" } ?? label) + } +} diff --git a/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift b/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift new file mode 100644 index 000000000..96bb2cd1a --- /dev/null +++ b/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift @@ -0,0 +1,210 @@ +// +// QueryPlanOutlineCoordinator.swift +// TablePro +// +// Data source, delegate and menu for the plan outline. +// + +import AppKit +import SwiftUI + +@MainActor +final class QueryPlanOutlineCoordinator: NSObject, NSOutlineViewDataSource, NSOutlineViewDelegate { + var onSelect: (UUID?) -> Void = { _ in } + + weak var outlineView: NSOutlineView? + + private(set) var root: QueryPlanOutlineNode? + private var planId: UUID? + private var differentiateWithoutColor = false + + // MARK: - Content + + func update(plan: QueryPlan, differentiateWithoutColor: Bool) { + let colorChanged = self.differentiateWithoutColor != differentiateWithoutColor + self.differentiateWithoutColor = differentiateWithoutColor + + guard planId != plan.rootNode.id else { + if colorChanged { outlineView?.reloadData() } + return + } + + planId = plan.rootNode.id + root = QueryPlanOutlineNode(plan.rootNode) + outlineView?.reloadData() + expandAll() + selectRootRow() + } + + func select(nodeId: UUID?) { + guard let outlineView else { return } + guard let nodeId, let node = find(nodeId, in: root) else { + outlineView.deselectAll(nil) + return + } + let row = outlineView.row(forItem: node) + guard row >= 0 else { return } + guard outlineView.selectedRow != row else { return } + outlineView.selectRowIndexes(IndexSet(integer: row), byExtendingSelection: false) + outlineView.scrollRowToVisible(row) + } + + func expandAll() { + guard let outlineView, let root else { return } + outlineView.expandItem(root, expandChildren: true) + } + + func collapseAll() { + guard let outlineView, let root else { return } + outlineView.collapseItem(root, collapseChildren: true) + } + + // MARK: - Columns + + func configureColumns(on outlineView: NSOutlineView) { + guard outlineView.tableColumns.isEmpty else { return } + + for column in QueryPlanOutlineColumn.allCases { + let tableColumn = NSTableColumn(identifier: NSUserInterfaceItemIdentifier(column.rawValue)) + tableColumn.title = column.title + tableColumn.width = column.width + tableColumn.minWidth = column.minimumWidth + tableColumn.sortDescriptorPrototype = NSSortDescriptor( + key: column.rawValue, + ascending: QueryPlanOutlineSort.defaultAscending(for: column) + ) + outlineView.addTableColumn(tableColumn) + } + outlineView.columnAutoresizingStyle = .lastColumnOnlyAutoresizingStyle + } + + // MARK: - Data source + + func outlineView(_ outlineView: NSOutlineView, numberOfChildrenOfItem item: Any?) -> Int { + children(of: item).count + } + + func outlineView(_ outlineView: NSOutlineView, child index: Int, ofItem item: Any?) -> Any { + children(of: item)[index] + } + + func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: Any) -> Bool { + (item as? QueryPlanOutlineNode)?.isExpandable ?? false + } + + func outlineView(_ outlineView: NSOutlineView, sortDescriptorsDidChange oldDescriptors: [NSSortDescriptor]) { + guard let descriptor = outlineView.sortDescriptors.first, + let key = descriptor.key, + let column = QueryPlanOutlineColumn(rawValue: key), + let root + else { return } + + let selected = selectedNodeId + self.root = root.sorted( + by: QueryPlanOutlineSort.comparator(key: column, ascending: descriptor.ascending) + ) + outlineView.reloadData() + expandAll() + select(nodeId: selected) + } + + private func children(of item: Any?) -> [QueryPlanOutlineNode] { + guard let node = item as? QueryPlanOutlineNode else { + return root.map { [$0] } ?? [] + } + return node.children + } + + // MARK: - Delegate + + func outlineView( + _ outlineView: NSOutlineView, + viewFor tableColumn: NSTableColumn?, + item: Any + ) -> NSView? { + guard let node = item as? QueryPlanOutlineNode, + let identifier = tableColumn?.identifier, + let column = QueryPlanOutlineColumn(rawValue: identifier.rawValue) + else { return nil } + + let content: AnyView + switch column { + case .operation: + content = AnyView( + QueryPlanOperationCellView( + node: node.source, + differentiateWithoutColor: differentiateWithoutColor + ) + ) + case .cost: + content = AnyView( + QueryPlanMetricCellView( + text: node.source.costRangeText(fractionDigits: 2), + label: QueryPlanLabels.cost + ) + ) + case .rows: + content = AnyView( + QueryPlanMetricCellView( + text: node.source.estimatedRows.map { $0.formatted(.number.grouping(.automatic)) }, + label: QueryPlanLabels.rows + ) + ) + case .actualTime: + content = AnyView( + QueryPlanMetricCellView( + text: node.source.actualTotalTime.map(QueryPlanLabels.milliseconds), + label: QueryPlanLabels.actualTime + ) + ) + } + + return hostingCell(identifier: identifier, outlineView: outlineView, content: content) + } + + func outlineViewSelectionDidChange(_ notification: Notification) { + onSelect(selectedNodeId) + } + + var selectedNodeId: UUID? { + guard let outlineView, outlineView.selectedRow >= 0 else { return nil } + return (outlineView.item(atRow: outlineView.selectedRow) as? QueryPlanOutlineNode)?.source.id + } + + var clickedNode: QueryPlanNode? { + guard let outlineView else { return nil } + let row = outlineView.clickedRow >= 0 ? outlineView.clickedRow : outlineView.selectedRow + guard row >= 0 else { return nil } + return (outlineView.item(atRow: row) as? QueryPlanOutlineNode)?.source + } + + // MARK: - Private + + private func selectRootRow() { + guard let outlineView, outlineView.numberOfRows > 0 else { return } + outlineView.selectRowIndexes(IndexSet(integer: 0), byExtendingSelection: false) + } + + private func find(_ id: UUID, in node: QueryPlanOutlineNode?) -> QueryPlanOutlineNode? { + guard let node else { return nil } + if node.source.id == id { return node } + for child in node.children { + if let found = find(id, in: child) { return found } + } + return nil + } + + private func hostingCell( + identifier: NSUserInterfaceItemIdentifier, + outlineView: NSOutlineView, + content: AnyView + ) -> NSView { + if let reused = outlineView.makeView(withIdentifier: identifier, owner: self) as? NSHostingView { + reused.rootView = content + return reused + } + let hosting = NSHostingView(rootView: content) + hosting.identifier = identifier + return hosting + } +} diff --git a/TablePro/Views/QueryPlan/QueryPlanOutlineNode.swift b/TablePro/Views/QueryPlan/QueryPlanOutlineNode.swift new file mode 100644 index 000000000..d86fe4807 --- /dev/null +++ b/TablePro/Views/QueryPlan/QueryPlanOutlineNode.swift @@ -0,0 +1,98 @@ +// +// QueryPlanOutlineNode.swift +// TablePro +// +// NSOutlineView tracks items by reference identity, so the value-typed plan tree is wrapped +// once per parse into objects the outline can hold on to. +// + +import Foundation + +@MainActor +final class QueryPlanOutlineNode: NSObject { + let source: QueryPlanNode + let children: [QueryPlanOutlineNode] + + init(_ source: QueryPlanNode) { + self.source = source + children = source.children.map(QueryPlanOutlineNode.init) + } + + var isExpandable: Bool { !children.isEmpty } + + /// Reorders siblings at every level. A plan tree cannot be flattened and sorted, because a + /// join's inputs are not interchangeable with a subtree at another depth, so the shape is + /// preserved and only the order within each parent changes. + func sorted(by comparator: (QueryPlanNode, QueryPlanNode) -> Bool) -> QueryPlanOutlineNode { + QueryPlanOutlineNode(sortedSource(by: comparator)) + } + + private func sortedSource(by comparator: (QueryPlanNode, QueryPlanNode) -> Bool) -> QueryPlanNode { + var copy = source + copy.children = source.children + .map { child in QueryPlanOutlineNode(child).sortedSource(by: comparator) } + .sorted(by: comparator) + return copy + } +} + +enum QueryPlanOutlineSort { + static func comparator( + key: QueryPlanOutlineColumn, + ascending: Bool + ) -> (QueryPlanNode, QueryPlanNode) -> Bool { + { lhs, rhs in + let result: Bool + switch key { + case .operation: + result = lhs.operation.localizedStandardCompare(rhs.operation) == .orderedAscending + case .cost: + result = (lhs.estimatedTotalCost ?? -1) < (rhs.estimatedTotalCost ?? -1) + case .rows: + result = (lhs.estimatedRows ?? -1) < (rhs.estimatedRows ?? -1) + case .actualTime: + result = (lhs.actualTotalTime ?? -1) < (rhs.actualTotalTime ?? -1) + } + return ascending ? result : !result + } + } + + /// Numbers read worst-first, names read A to Z. + static func defaultAscending(for column: QueryPlanOutlineColumn) -> Bool { + column == .operation + } +} + +enum QueryPlanOutlineColumn: String, CaseIterable { + case operation + case cost + case rows + case actualTime + + var title: String { + switch self { + case .operation: return QueryPlanLabels.operation + case .cost: return QueryPlanLabels.cost + case .rows: return QueryPlanLabels.rows + case .actualTime: return QueryPlanLabels.actualTime + } + } + + var width: CGFloat { + switch self { + case .operation: return 320 + case .cost: return 110 + case .rows: return 90 + case .actualTime: return 100 + } + } + + var minimumWidth: CGFloat { + switch self { + case .operation: return 160 + case .cost: return 80 + case .rows: return 70 + case .actualTime: return 80 + } + } +} diff --git a/TablePro/Views/QueryPlan/QueryPlanOutlineView.swift b/TablePro/Views/QueryPlan/QueryPlanOutlineView.swift new file mode 100644 index 000000000..d75f0cdd4 --- /dev/null +++ b/TablePro/Views/QueryPlan/QueryPlanOutlineView.swift @@ -0,0 +1,127 @@ +// +// QueryPlanOutlineView.swift +// TablePro +// +// The plan as a real outline: labelled, resizable, sortable columns, keyboard navigation, +// type-select and VoiceOver all come from NSOutlineView rather than being approximated. +// + +import AppKit +import SwiftUI + +struct QueryPlanOutlineView: NSViewRepresentable { + let plan: QueryPlan + @Binding var selectedNodeId: UUID? + + @Environment(\.accessibilityDifferentiateWithoutColor) private var differentiateWithoutColor + + func makeCoordinator() -> QueryPlanOutlineCoordinator { + QueryPlanOutlineCoordinator() + } + + func makeNSView(context: Context) -> NSScrollView { + let outlineView = QueryPlanOutline() + outlineView.dataSource = context.coordinator + outlineView.delegate = context.coordinator + outlineView.style = .fullWidth + outlineView.rowSizeStyle = .custom + outlineView.rowHeight = 24 + outlineView.indentationPerLevel = 14 + outlineView.allowsMultipleSelection = false + outlineView.allowsEmptySelection = true + outlineView.usesAlternatingRowBackgroundColors = true + outlineView.headerView = NSTableHeaderView() + outlineView.allowsColumnResizing = true + outlineView.autosaveName = "com.TablePro.queryPlanOutline" + outlineView.autosaveTableColumns = true + + // Every EXPLAIN run mints fresh node identities, so persisted expansion would key off + // items that no longer exist. + outlineView.autosaveExpandedItems = false + outlineView.setAccessibilityIdentifier("query-plan-outline") + + context.coordinator.configureColumns(on: outlineView) + outlineView.outlineTableColumn = outlineView.tableColumns.first + context.coordinator.outlineView = outlineView + outlineView.coordinator = context.coordinator + outlineView.menu = makeMenu(coordinator: context.coordinator) + + context.coordinator.onSelect = { selectedNodeId = $0 } + context.coordinator.update(plan: plan, differentiateWithoutColor: differentiateWithoutColor) + + let scrollView = NSScrollView() + scrollView.documentView = outlineView + scrollView.hasVerticalScroller = true + scrollView.hasHorizontalScroller = true + scrollView.autohidesScrollers = true + scrollView.drawsBackground = false + return scrollView + } + + func updateNSView(_ nsView: NSScrollView, context: Context) { + context.coordinator.onSelect = { selectedNodeId = $0 } + context.coordinator.update(plan: plan, differentiateWithoutColor: differentiateWithoutColor) + context.coordinator.select(nodeId: selectedNodeId) + } + + private func makeMenu(coordinator: QueryPlanOutlineCoordinator) -> NSMenu { + let menu = NSMenu() + menu.delegate = coordinator + return menu + } +} + +/// Routes the standard Copy command through the responder chain, so Cmd+C and Edit > Copy both +/// reach the selected step instead of needing a hardcoded key handler. +@MainActor +final class QueryPlanOutline: NSOutlineView { + weak var coordinator: QueryPlanOutlineCoordinator? + + @objc func copy(_ sender: Any?) { + guard let node = coordinator?.clickedNode else { return } + ClipboardService.shared.writeText(QueryPlanNodeSummary.text(for: node)) + } +} + +extension QueryPlanOutlineCoordinator: NSMenuDelegate { + func menuNeedsUpdate(_ menu: NSMenu) { + menu.removeAllItems() + guard clickedNode != nil else { return } + + menu.addItem( + withTitle: String(localized: "Copy Node Details"), action: #selector(copyDetails), keyEquivalent: "" + ) + menu.addItem( + withTitle: String(localized: "Copy Operation"), action: #selector(copyOperation), keyEquivalent: "" + ) + menu.addItem(.separator()) + menu.addItem( + withTitle: String(localized: "Expand All"), action: #selector(expandAllItems), keyEquivalent: "" + ) + menu.addItem( + withTitle: String(localized: "Collapse All"), action: #selector(collapseAllItems), keyEquivalent: "" + ) + + for item in menu.items where item.action != nil { + item.target = self + } + } + + @objc private func copyDetails() { + guard let node = clickedNode else { return } + ClipboardService.shared.writeText(QueryPlanNodeSummary.text(for: node)) + } + + @objc private func copyOperation() { + guard let node = clickedNode else { return } + ClipboardService.shared.writeText(node.operation) + } + + @objc private func expandAllItems() { + expandAll() + } + + @objc private func collapseAllItems() { + collapseAll() + } +} diff --git a/TablePro/Views/QueryPlan/QueryPlanTreeView.swift b/TablePro/Views/QueryPlan/QueryPlanTreeView.swift index 19b546090..e20885898 100644 --- a/TablePro/Views/QueryPlan/QueryPlanTreeView.swift +++ b/TablePro/Views/QueryPlan/QueryPlanTreeView.swift @@ -2,191 +2,43 @@ // QueryPlanTreeView.swift // TablePro // -// Native SwiftUI tree view for EXPLAIN query plan visualization. -// Uses OutlineGroup for hierarchical display following macOS HIG. +// The plan as an outline over a resizable detail pane, matching the list-and-detail shape the +// rest of the app uses. // import SwiftUI struct QueryPlanTreeView: View { let plan: QueryPlan - - @State private var selection: UUID? + @Binding var selectedNodeId: UUID? var body: some View { - VStack(spacing: 0) { - List(selection: $selection) { - OutlineGroup( - [plan.rootNode], - id: \.id, - children: \.childrenOrNil - ) { node in - QueryPlanRowView(node: node) - } - } - .listStyle(.inset(alternatesRowBackgrounds: true)) - - if let selectedNode = findNode(selection, in: plan.rootNode) { - Divider() - QueryPlanDetailView(node: selectedNode) - .frame(height: 180) - } + AutosavingSplitView( + autosaveName: "com.TablePro.queryPlanTreeSplit", + isVertical: false, + primaryMinimum: 160, + secondaryMinimum: 120 + ) { + QueryPlanOutlineView(plan: plan, selectedNodeId: $selectedNodeId) + } secondary: { + QueryPlanDetailPane(node: selectedNode) } } - // MARK: - Find Node + private var selectedNode: QueryPlanNode? { + guard let selectedNodeId else { return nil } + return QueryPlanTreeView.find(selectedNodeId, in: plan.rootNode) + } - private func findNode(_ id: UUID?, in node: QueryPlanNode) -> QueryPlanNode? { - guard let id else { return nil } + static func find(_ id: UUID, in node: QueryPlanNode) -> QueryPlanNode? { if node.id == id { return node } for child in node.children { - if let found = findNode(id, in: child) { return found } + if let found = find(id, in: child) { return found } } return nil } } -// MARK: - Row View - -private struct QueryPlanRowView: View { - @Environment(\.accessibilityDifferentiateWithoutColor) private var differentiateWithoutColor - - let node: QueryPlanNode - - var body: some View { - HStack(spacing: 8) { - Image(systemName: node.severity.symbolName) - .font(.system(size: 8)) - .foregroundStyle(node.severity.tint(differentiateWithoutColor: differentiateWithoutColor)) - .frame(width: 10) - .accessibilityLabel(node.severity.accessibilityLabel) - - VStack(alignment: .leading, spacing: 1) { - HStack(spacing: 4) { - Text(node.operation) - .font(.system(.body, weight: .medium)) - if let joinType = node.properties["Join Type"] { - Text("(\(joinType))") - .font(.caption) - .foregroundStyle(.secondary) - } - } - - if let relation = node.relation { - HStack(spacing: 4) { - Text(relation) - .font(.caption) - .foregroundStyle(.secondary) - if let index = node.properties["Index Name"] { - Text("using \(index)") - .font(.caption) - .foregroundStyle(.tertiary) - } - } - } - } - - Spacer(minLength: 16) - - if let cost = node.costRangeText(fractionDigits: 2) { - Text(cost) - .font(.system(.caption, design: .monospaced)) - .foregroundStyle(.secondary) - .frame(width: 110, alignment: .trailing) - } - - if let rows = node.estimatedRows { - Text("\(rows.formatted(.number.grouping(.automatic))) ^[rows](inflect: true)") - .font(.system(.caption, design: .monospaced)) - .foregroundStyle(.secondary) - .frame(width: 80, alignment: .trailing) - } - - // Actual time (EXPLAIN ANALYZE) - if let time = node.actualTotalTime { - Text(QueryPlanLabels.milliseconds(time)) - .font(.system(.caption, design: .monospaced)) - .foregroundStyle(.tertiary) - .frame(width: 80, alignment: .trailing) - } - } - .padding(.vertical, 2) - } -} - -// MARK: - Detail View - -private struct QueryPlanDetailView: View { - let node: QueryPlanNode - - private var filteredProperties: [(key: String, value: String)] { - QueryPlanLabels.visibleProperties(of: node) - } - - var body: some View { - ScrollView(.horizontal, showsIndicators: false) { - ScrollView(.vertical) { - HStack(alignment: .top, spacing: 24) { - VStack(alignment: .leading, spacing: 4) { - Text(node.operation) - .font(.caption.weight(.semibold)) - if let relation = node.relation { detailRow(QueryPlanLabels.table, relation) } - if let cost = node.costRangeText(fractionDigits: 2) { - detailRow(QueryPlanLabels.cost, cost) - } - if let rows = node.estimatedRows { detailRow(QueryPlanLabels.rows, "\(rows)") } - if let width = node.estimatedWidth, width > 0 { - detailRow(QueryPlanLabels.width, "\(width)") - } - } - - // Actuals (EXPLAIN ANALYZE) - if node.actualTotalTime != nil { - VStack(alignment: .leading, spacing: 4) { - Text(QueryPlanLabels.actual) - .font(.caption.weight(.semibold)) - if let time = node.actualTotalTime { - detailRow(QueryPlanLabels.actualTime, QueryPlanLabels.milliseconds(time)) - } - if let rows = node.actualRows { detailRow(QueryPlanLabels.rows, "\(rows)") } - if let loops = node.actualLoops, loops > 1 { - detailRow(QueryPlanLabels.loops, "\(loops)") - } - } - } - - if !filteredProperties.isEmpty { - VStack(alignment: .leading, spacing: 4) { - Text(QueryPlanLabels.details) - .font(.caption.weight(.semibold)) - ForEach(filteredProperties, id: \.key) { key, value in - detailRow(key, value) - } - } - } - - Spacer() - } - .padding(12) - } - } - .background(Color(nsColor: .controlBackgroundColor)) - } - - private func detailRow(_ label: String, _ value: String) -> some View { - HStack(alignment: .top, spacing: 6) { - Text(label) - .font(.caption) - .foregroundStyle(.secondary) - Text(value) - .font(.system(.caption, design: .monospaced)) - .textSelection(.enabled) - } - } -} - -// MARK: - Children Helper - extension QueryPlanNode { var childrenOrNil: [QueryPlanNode]? { children.isEmpty ? nil : children diff --git a/TableProTests/Views/QueryPlan/QueryPlanOutlineSortTests.swift b/TableProTests/Views/QueryPlan/QueryPlanOutlineSortTests.swift new file mode 100644 index 000000000..3b69af56a --- /dev/null +++ b/TableProTests/Views/QueryPlan/QueryPlanOutlineSortTests.swift @@ -0,0 +1,119 @@ +// +// QueryPlanOutlineSortTests.swift +// TableProTests +// +// Sorting the plan outline reorders siblings only. Flattening a plan would destroy it, since a +// join's inputs are not interchangeable with a subtree at another depth. +// + +import Foundation +@testable import TablePro +import Testing + +@Suite("Query Plan Outline Sort") +@MainActor +struct QueryPlanOutlineSortTests { + private func node( + _ operation: String, + cost: Double? = nil, + rows: Int? = nil, + actualTime: Double? = nil, + children: [QueryPlanNode] = [] + ) -> QueryPlanNode { + QueryPlanNode( + operation: operation, + relation: nil, schema: nil, alias: nil, + estimatedStartupCost: nil, + estimatedTotalCost: cost, + estimatedRows: rows, + estimatedWidth: nil, + actualStartupTime: nil, + actualTotalTime: actualTime, + actualRows: nil, actualLoops: nil, + properties: [:], + children: children + ) + } + + private func makeTree() -> QueryPlanNode { + node("Nested Loop", cost: 100, rows: 500, actualTime: 9, children: [ + node("Seq Scan", cost: 10, rows: 300, actualTime: 5, children: [ + node("Inner B", cost: 2, rows: 20, actualTime: 1), + node("Inner A", cost: 8, rows: 10, actualTime: 4), + ]), + node("Index Scan", cost: 80, rows: 100, actualTime: 2), + ]) + } + + @Test("Sorting by cost reorders siblings without flattening the tree") + func sortsSiblingsByCost() { + let root = QueryPlanOutlineNode(makeTree()) + let sorted = root.sorted(by: QueryPlanOutlineSort.comparator(key: .cost, ascending: false)) + + #expect(sorted.source.operation == "Nested Loop") + #expect(sorted.children.count == 2) + #expect(sorted.children[0].source.operation == "Index Scan") + #expect(sorted.children[1].source.operation == "Seq Scan") + #expect(sorted.children[1].children.count == 2) + #expect(sorted.children[1].children[0].source.operation == "Inner A") + } + + @Test("Ascending and descending are mirror images") + func mirrorsDirection() { + let root = QueryPlanOutlineNode(makeTree()) + let ascending = root.sorted(by: QueryPlanOutlineSort.comparator(key: .cost, ascending: true)) + let descending = root.sorted(by: QueryPlanOutlineSort.comparator(key: .cost, ascending: false)) + + #expect(ascending.children.map { $0.source.operation }.reversed() + == descending.children.map { $0.source.operation }) + } + + @Test("The root is never reordered away") + func keepsRootInPlace() { + let root = QueryPlanOutlineNode(makeTree()) + for column in QueryPlanOutlineColumn.allCases { + let sorted = root.sorted(by: QueryPlanOutlineSort.comparator(key: column, ascending: true)) + #expect(sorted.source.operation == "Nested Loop") + } + } + + @Test("Sorting preserves every node") + func preservesNodeCount() { + func count(_ node: QueryPlanOutlineNode) -> Int { + 1 + node.children.reduce(0) { $0 + count($1) } + } + + let root = QueryPlanOutlineNode(makeTree()) + let sorted = root.sorted(by: QueryPlanOutlineSort.comparator(key: .rows, ascending: true)) + #expect(count(sorted) == count(root)) + } + + @Test("Nodes with no value sort below nodes that have one") + func sinksMissingValues() { + let tree = node("Root", cost: 10, children: [ + node("No Time", cost: 1), + node("Has Time", cost: 1, actualTime: 4), + ]) + let sorted = QueryPlanOutlineNode(tree) + .sorted(by: QueryPlanOutlineSort.comparator(key: .actualTime, ascending: false)) + + #expect(sorted.children[0].source.operation == "Has Time") + } + + @Test("Names sort A to Z by default, numbers worst first") + func picksSensibleDefaultDirection() { + #expect(QueryPlanOutlineSort.defaultAscending(for: .operation)) + #expect(!QueryPlanOutlineSort.defaultAscending(for: .cost)) + #expect(!QueryPlanOutlineSort.defaultAscending(for: .rows)) + #expect(!QueryPlanOutlineSort.defaultAscending(for: .actualTime)) + } + + @Test("Every column has a localized title and a usable width") + func describesColumns() { + for column in QueryPlanOutlineColumn.allCases { + #expect(!column.title.isEmpty) + #expect(column.minimumWidth > 0) + #expect(column.width >= column.minimumWidth) + } + } +} From 11ead9253102015db35b882742ed0d325b666c04 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 09:15:14 +0700 Subject: [PATCH 12/19] feat(explain): show a query plan as a result tab alongside query results --- .../QueryExecutionCoordinator+Helpers.swift | 8 +- ...QueryExecutionCoordinator+Parameters.swift | 1 - .../Query/ExplainResultSetFactory.swift | 26 ++ TablePro/Models/Query/QueryTabState.swift | 11 +- TablePro/Models/Query/ResultSet.swift | 7 + .../Models/Query/ResultTabBarPolicy.swift | 1 - TablePro/Views/Editor/ExplainResultView.swift | 146 ----------- TablePro/Views/Editor/QuerySplitView.swift | 6 + .../Main/Child/MainEditorContentView.swift | 16 +- .../MainContentCoordinator+Explain.swift | 9 +- ...ainContentCoordinator+SidebarActions.swift | 6 +- .../Views/Main/MainContentCoordinator.swift | 1 - .../Views/QueryPlan/QueryPlanResultView.swift | 238 ++++++++++++++++++ .../Query/ResultTabBarPolicyTests.swift | 18 +- .../Views/Main/ClearQueryResultsTests.swift | 26 +- .../Views/Main/ResultPinningTests.swift | 21 +- .../QueryPlanPresentationTests.swift | 81 ++++++ 17 files changed, 420 insertions(+), 202 deletions(-) create mode 100644 TablePro/Models/Query/ExplainResultSetFactory.swift delete mode 100644 TablePro/Views/Editor/ExplainResultView.swift create mode 100644 TablePro/Views/QueryPlan/QueryPlanResultView.swift create mode 100644 TableProTests/Views/QueryPlan/QueryPlanPresentationTests.swift diff --git a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift index f97b03f29..29077f96a 100644 --- a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift +++ b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift @@ -250,9 +250,11 @@ extension QueryExecutionCoordinator { tab.execution.rowsAffected = 0 tab.execution.statusMessage = nil tab.execution.lastExecutedAt = Date() - tab.display.explainText = planText - tab.display.explainPlan = plan - tab.display.explainExecutionTime = executionTime + tab.display.replaceUnpinnedResults( + with: [ExplainResultSetFactory.make( + rawText: planText, plan: plan, sql: sql, executionTime: executionTime + )] + ) if tab.display.isResultsCollapsed { tab.display.isResultsCollapsed = false } diff --git a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Parameters.swift b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Parameters.swift index 19f1c7eaf..059820af1 100644 --- a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Parameters.swift +++ b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Parameters.swift @@ -99,7 +99,6 @@ extension QueryExecutionCoordinator { parent.tabManager.mutate(at: index) { tab in tab.execution.executionTime = nil tab.execution.errorMessage = nil - tab.display.clearExplainResult() } let tab = parent.tabManager.tabs[index] parent.toolbarState.setExecuting(true) diff --git a/TablePro/Models/Query/ExplainResultSetFactory.swift b/TablePro/Models/Query/ExplainResultSetFactory.swift new file mode 100644 index 000000000..019c6f987 --- /dev/null +++ b/TablePro/Models/Query/ExplainResultSetFactory.swift @@ -0,0 +1,26 @@ +// +// ExplainResultSetFactory.swift +// TablePro +// +// Builds the result set an EXPLAIN produces. Both entry points, the Explain action and a +// hand-typed statement, go through here so a plan looks the same however it was asked for. +// + +import Foundation + +@MainActor +enum ExplainResultSetFactory { + static func make( + rawText: String, + plan: QueryPlan?, + sql: String, + executionTime: TimeInterval? + ) -> ResultSet { + let resultSet = ResultSet(label: String(localized: "Plan")) + resultSet.explainRawText = rawText + resultSet.queryPlan = plan + resultSet.baseQuery = sql + resultSet.executionTime = executionTime + return resultSet + } +} diff --git a/TablePro/Models/Query/QueryTabState.swift b/TablePro/Models/Query/QueryTabState.swift index d37304213..dde34c15b 100644 --- a/TablePro/Models/Query/QueryTabState.swift +++ b/TablePro/Models/Query/QueryTabState.swift @@ -461,9 +461,6 @@ struct TabQueryContent: Equatable { struct TabDisplayState: Equatable { var resultsViewMode: ResultsViewMode = .data var erDiagramSchemaKey: String? - var explainText: String? - var explainExecutionTime: TimeInterval? - var explainPlan: QueryPlan? var isResultsCollapsed: Bool = false var resultSets: [ResultSet] = [] var activeResultSetId: UUID? @@ -487,10 +484,10 @@ struct TabDisplayState: Equatable { activeResultSetId = resultSets.last?.id } - mutating func clearExplainResult() { - explainText = nil - explainPlan = nil - explainExecutionTime = nil + @MainActor + var activeExplainResult: ResultSet? { + guard let activeResultSet, activeResultSet.isExplainResult else { return nil } + return activeResultSet } @MainActor diff --git a/TablePro/Models/Query/ResultSet.swift b/TablePro/Models/Query/ResultSet.swift index 67489f330..b39f40fad 100644 --- a/TablePro/Models/Query/ResultSet.swift +++ b/TablePro/Models/Query/ResultSet.swift @@ -30,6 +30,13 @@ final class ResultSet: Identifiable { var pagination = PaginationState() var columnLayout = ColumnLayoutState() + /// An EXPLAIN result is a result set like any other, so it rides the same tab strip, pinning + /// and history. It carries a plan instead of rows. + var queryPlan: QueryPlan? + var explainRawText: String? + + var isExplainResult: Bool { explainRawText != nil } + var resultColumns: [String] { tableRows.columns } init(id: UUID = UUID(), label: String, tableRows: TableRows = TableRows()) { diff --git a/TablePro/Models/Query/ResultTabBarPolicy.swift b/TablePro/Models/Query/ResultTabBarPolicy.swift index 7eb6673dd..6dfbffe53 100644 --- a/TablePro/Models/Query/ResultTabBarPolicy.swift +++ b/TablePro/Models/Query/ResultTabBarPolicy.swift @@ -11,7 +11,6 @@ import Foundation enum ResultTabBarPolicy { static func showsTabBar(tabType: TabType, display: TabDisplayState) -> Bool { guard tabType == .query else { return false } - guard display.explainText == nil else { return false } guard display.resultsViewMode != .structure else { return false } return !display.resultSets.isEmpty } diff --git a/TablePro/Views/Editor/ExplainResultView.swift b/TablePro/Views/Editor/ExplainResultView.swift deleted file mode 100644 index 12a5d8bf1..000000000 --- a/TablePro/Views/Editor/ExplainResultView.swift +++ /dev/null @@ -1,146 +0,0 @@ -// -// ExplainResultView.swift -// TablePro -// -// Displays EXPLAIN query results with toggle between diagram, tree, and raw text. -// - -import SwiftUI - -private enum ExplainViewMode: String, CaseIterable { - case diagram = "Diagram" - case tree = "Tree" - case raw = "Raw" -} - -struct ExplainResultView: View { - let text: String - let executionTime: TimeInterval? - let plan: QueryPlan? - - @AppStorage("explainRawFontSize") private var fontSize: Double = 13 - @State private var showCopyConfirmation = false - @State private var copyResetTask: Task? - @State private var viewMode: ExplainViewMode = .diagram - - /// Shared by the diagram and the tree, so switching view mode keeps the selected step. - @State private var selectedNodeId: UUID? - - var body: some View { - VStack(spacing: 0) { - toolbar - Divider() - switch viewMode { - case .diagram: - if let plan { - QueryPlanDiagramView(plan: plan, selectedNodeId: $selectedNodeId) - } else { - DDLTextView(ddl: text, fontSize: $fontSize) - } - case .tree: - if let plan { - QueryPlanTreeView(plan: plan, selectedNodeId: $selectedNodeId) - } else { - DDLTextView(ddl: text, fontSize: $fontSize) - } - case .raw: - DDLTextView(ddl: text, fontSize: $fontSize) - } - } - } - - private var toolbar: some View { - HStack(spacing: 12) { - if plan != nil { - Picker("", selection: $viewMode) { - Text(String(localized: "Diagram")).tag(ExplainViewMode.diagram) - Text(String(localized: "Tree")).tag(ExplainViewMode.tree) - Text(String(localized: "Raw")).tag(ExplainViewMode.raw) - } - .pickerStyle(.segmented) - .controlSize(.small) - .frame(width: 240) - .labelsHidden() - } - - if viewMode == .raw || plan == nil { - HStack(spacing: 4) { - Button(action: { fontSize = max(10, fontSize - 1) }) { - Image(systemName: "textformat.size.smaller") - .frame(width: 24, height: 24) - } - .accessibilityLabel(String(localized: "Decrease font size")) - Text("\(Int(fontSize))") - .font(.caption) - .foregroundStyle(.secondary) - .frame(width: 24) - Button(action: { fontSize = min(24, fontSize + 1) }) { - Image(systemName: "textformat.size.larger") - .frame(width: 24, height: 24) - } - .accessibilityLabel(String(localized: "Increase font size")) - } - .buttonStyle(.borderless) - } - - if let plan { - if let planTime = plan.planningTime { - Text(String(format: String(localized: "Planning: %.3fms"), planTime)) - .font(.caption) - .foregroundStyle(.secondary) - } - if let execTime = plan.executionTime { - Text(String(format: String(localized: "Execution: %.3fms"), execTime)) - .font(.caption) - .foregroundStyle(.secondary) - } - } else if let time = executionTime { - Text(formattedDuration(time)) - .font(.caption) - .foregroundStyle(.secondary) - } - - Spacer() - - if showCopyConfirmation { - HStack { - Image(systemName: "checkmark.circle.fill") - .foregroundStyle(.green) - Text(String(localized: "Copied!")) - } - .transition(.opacity) - } - - Button(action: copyText) { - Label(String(localized: "Copy"), systemImage: "doc.on.doc") - } - .buttonStyle(.bordered) - .controlSize(.small) - .help(String(localized: "Copy EXPLAIN output to clipboard")) - } - .padding(.horizontal, 12) - .padding(.vertical, 8) - .background(Color(nsColor: .controlBackgroundColor)) - } - - private func copyText() { - ClipboardService.shared.writeText(text) - withAnimation { showCopyConfirmation = true } - copyResetTask?.cancel() - copyResetTask = Task { @MainActor in - try? await Task.sleep(for: .milliseconds(1_500)) - guard !Task.isCancelled else { return } - withAnimation { showCopyConfirmation = false } - } - } - - private func formattedDuration(_ duration: TimeInterval) -> String { - if duration < 0.001 { - return "<1ms" - } else if duration < 1.0 { - return String(format: "%.0fms", duration * 1_000) - } else { - return String(format: "%.2fs", duration) - } - } -} diff --git a/TablePro/Views/Editor/QuerySplitView.swift b/TablePro/Views/Editor/QuerySplitView.swift index df9de5485..dcbc82ebc 100644 --- a/TablePro/Views/Editor/QuerySplitView.swift +++ b/TablePro/Views/Editor/QuerySplitView.swift @@ -26,6 +26,12 @@ struct QuerySplitView: NSViewControllerRe bottomItem.canCollapse = true bottomItem.minimumThickness = 150 + // Without this the hosting controllers report their content's ideal size as a + // preferredContentSize, which this split view forwards to the window: wide results + // content then outranks a divider drag and the editor/results divider stops moving. + topController.sizingOptions = [] + bottomController.sizingOptions = [] + splitViewController.addSplitViewItem(topItem) splitViewController.addSplitViewItem(bottomItem) diff --git a/TablePro/Views/Main/Child/MainEditorContentView.swift b/TablePro/Views/Main/Child/MainEditorContentView.swift index e4446ed9e..471b8ecd2 100644 --- a/TablePro/Views/Main/Child/MainEditorContentView.swift +++ b/TablePro/Views/Main/Child/MainEditorContentView.swift @@ -555,12 +555,16 @@ struct MainEditorContentView: View { ) .id(tab.id) case .data: - if let explainText = tab.display.explainText { - ExplainResultView(text: explainText, executionTime: tab.display.explainExecutionTime, plan: tab.display.explainPlan) - .frame(maxWidth: .infinity, maxHeight: .infinity) - } else { - resultTabBarSection(tab: tab) + resultTabBarSection(tab: tab) + if let explain = tab.display.activeExplainResult { + QueryPlanResultView( + rawText: explain.explainRawText ?? "", + executionTime: explain.executionTime, + plan: explain.queryPlan + ) + .frame(maxWidth: .infinity, maxHeight: .infinity) + } else { let resolvedRows = resolvedTableRows(for: tab) if let rs = tab.display.activeResultSet, rs.resultColumns.isEmpty, rs.errorMessage == nil, tab.execution.lastExecutedAt != nil, @@ -613,7 +617,7 @@ struct MainEditorContentView: View { } } - if tab.display.explainText == nil { + if tab.display.activeExplainResult == nil { Divider() statusBar(tab: tab) } diff --git a/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift b/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift index 5822d862a..568b1283b 100644 --- a/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift +++ b/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift @@ -141,9 +141,12 @@ extension MainContentCoordinator { tab.execution.rowsAffected = 0 tab.execution.statusMessage = nil tab.execution.lastExecutedAt = Date() - tab.display.explainText = rawText - tab.display.explainPlan = plan - tab.display.explainExecutionTime = fetchResult.executionTime + tab.display.replaceUnpinnedResults( + with: [ExplainResultSetFactory.make( + rawText: rawText, plan: plan, sql: request.sql, + executionTime: fetchResult.executionTime + )] + ) if tab.display.isResultsCollapsed { tab.display.isResultsCollapsed = false } diff --git a/TablePro/Views/Main/Extensions/MainContentCoordinator+SidebarActions.swift b/TablePro/Views/Main/Extensions/MainContentCoordinator+SidebarActions.swift index 78de3aee5..d4c222e1d 100644 --- a/TablePro/Views/Main/Extensions/MainContentCoordinator+SidebarActions.swift +++ b/TablePro/Views/Main/Extensions/MainContentCoordinator+SidebarActions.swift @@ -62,17 +62,13 @@ extension MainContentCoordinator { if let lastPinned = tabManager.tabs[tabIdx].display.resultSets.last(where: \.isPinned) { switchActiveResultSet(to: lastPinned.id, in: tabId) - tabManager.mutate(at: tabIdx) { tab in - tab.display.removeUnpinnedResults() - tab.display.clearExplainResult() - } + tabManager.mutate(at: tabIdx) { $0.display.removeUnpinnedResults() } return } setActiveTableRows(TableRows(), for: tabId) tabManager.mutate(at: tabIdx) { tab in tab.display.removeUnpinnedResults() - tab.display.clearExplainResult() tab.execution.errorMessage = nil tab.execution.rowsAffected = 0 tab.execution.executionTime = nil diff --git a/TablePro/Views/Main/MainContentCoordinator.swift b/TablePro/Views/Main/MainContentCoordinator.swift index 8fa3aa2da..dd38f9908 100644 --- a/TablePro/Views/Main/MainContentCoordinator.swift +++ b/TablePro/Views/Main/MainContentCoordinator.swift @@ -1068,7 +1068,6 @@ final class MainContentCoordinator { tabManager.mutate(at: index) { tab in tab.execution.executionTime = nil tab.execution.errorMessage = nil - tab.display.clearExplainResult() } let tab = tabManager.tabs[index] toolbarState.setExecuting(true) diff --git a/TablePro/Views/QueryPlan/QueryPlanResultView.swift b/TablePro/Views/QueryPlan/QueryPlanResultView.swift new file mode 100644 index 000000000..5fade12bb --- /dev/null +++ b/TablePro/Views/QueryPlan/QueryPlanResultView.swift @@ -0,0 +1,238 @@ +// +// QueryPlanResultView.swift +// TablePro +// +// One EXPLAIN result, as a diagram, an outline, or the raw text the database returned. +// + +import SwiftUI + +enum QueryPlanViewMode: String, CaseIterable, Identifiable { + case diagram + case tree + case raw + + var id: String { rawValue } + + var title: String { + switch self { + case .diagram: return String(localized: "Diagram") + case .tree: return String(localized: "Tree") + case .raw: return String(localized: "Raw") + } + } +} + +/// What the pane can actually show for this result, resolved once so the view never has to +/// guess whether a plan is missing because the driver returned nothing or because parsing failed. +enum QueryPlanPresentation { + case empty + case parsed(QueryPlan) + case rawOnly(String) + + enum Kind: Equatable { + case empty + case parsed + case rawOnly + } + + static func resolve(plan: QueryPlan?, rawText: String) -> QueryPlanPresentation { + if let plan { return .parsed(plan) } + let trimmed = rawText.trimmingCharacters(in: .whitespacesAndNewlines) + return trimmed.isEmpty ? .empty : .rawOnly(trimmed) + } + + var kind: Kind { + switch self { + case .empty: return .empty + case .parsed: return .parsed + case .rawOnly: return .rawOnly + } + } + + var plan: QueryPlan? { + guard case .parsed(let plan) = self else { return nil } + return plan + } + + var rawText: String? { + guard case .rawOnly(let text) = self else { return nil } + return text + } +} + +struct QueryPlanResultView: View { + let rawText: String + let executionTime: TimeInterval? + let plan: QueryPlan? + + @AppStorage("explainRawFontSize") private var fontSize: Double = 13 + @State private var showCopyConfirmation = false + @State private var copyResetTask: Task? + @State private var viewMode: QueryPlanViewMode = .diagram + + /// Shared by the diagram and the outline, so switching view mode keeps the selected step. + @State private var selectedNodeId: UUID? + + private var presentation: QueryPlanPresentation { + QueryPlanPresentation.resolve(plan: plan, rawText: rawText) + } + + var body: some View { + VStack(spacing: 0) { + toolbar + Divider() + content + } + } + + @ViewBuilder + private var content: some View { + switch presentation { + case .empty: + EmptyStateView( + icon: "chart.bar.doc.horizontal", + title: String(localized: "No Plan Available"), + description: String(localized: "This database did not return a query plan for the statement.") + ) + .frame(maxWidth: .infinity, maxHeight: .infinity) + + case .rawOnly(let text): + VStack(spacing: 0) { + unparsedBanner + DDLTextView(ddl: text, fontSize: $fontSize) + } + + case .parsed(let plan): + switch viewMode { + case .diagram: + QueryPlanDiagramView(plan: plan, selectedNodeId: $selectedNodeId) + case .tree: + QueryPlanTreeView(plan: plan, selectedNodeId: $selectedNodeId) + case .raw: + DDLTextView(ddl: rawText, fontSize: $fontSize) + } + } + } + + private var unparsedBanner: some View { + HStack(spacing: 6) { + Image(systemName: "info.circle") + .foregroundStyle(.secondary) + Text(String(localized: "This plan could not be read as a tree. Showing the raw output.")) + .font(.caption) + .foregroundStyle(.secondary) + Spacer() + } + .padding(.horizontal, 12) + .padding(.vertical, 6) + .background(Color(nsColor: .controlBackgroundColor)) + } + + // MARK: - Toolbar + + private var toolbar: some View { + HStack(spacing: 12) { + if presentation.plan != nil { + Picker("", selection: $viewMode) { + ForEach(QueryPlanViewMode.allCases) { mode in + Text(mode.title).tag(mode) + } + } + .pickerStyle(.segmented) + .controlSize(.small) + .frame(width: 240) + .labelsHidden() + .accessibilityIdentifier("query-plan-mode-picker") + } + + if viewMode == .raw || presentation.plan == nil { + fontSizeStepper + } + + timings + + Spacer() + + if showCopyConfirmation { + HStack { + Image(systemName: "checkmark.circle.fill") + .foregroundStyle(.green) + Text(String(localized: "Copied!")) + } + .transition(.opacity) + } + + Button(action: copyText) { + Label(String(localized: "Copy"), systemImage: "doc.on.doc") + } + .buttonStyle(.bordered) + .controlSize(.small) + .help(String(localized: "Copy EXPLAIN output to clipboard")) + } + .padding(.horizontal, 12) + .padding(.vertical, 8) + .background(Color(nsColor: .controlBackgroundColor)) + } + + private var fontSizeStepper: some View { + HStack(spacing: 4) { + Button { fontSize = max(10, fontSize - 1) } label: { + Image(systemName: "textformat.size.smaller") + .frame(width: 24, height: 24) + } + .accessibilityLabel(String(localized: "Decrease font size")) + Text("\(Int(fontSize))") + .font(.caption) + .foregroundStyle(.secondary) + .frame(width: 24) + Button { fontSize = min(24, fontSize + 1) } label: { + Image(systemName: "textformat.size.larger") + .frame(width: 24, height: 24) + } + .accessibilityLabel(String(localized: "Increase font size")) + } + .buttonStyle(.borderless) + } + + @ViewBuilder + private var timings: some View { + if let plan = presentation.plan { + if let planTime = plan.planningTime { + Text(String(format: String(localized: "Planning: %.3fms"), planTime)) + .font(.caption) + .foregroundStyle(.secondary) + } + if let execTime = plan.executionTime { + Text(String(format: String(localized: "Execution: %.3fms"), execTime)) + .font(.caption) + .foregroundStyle(.secondary) + } + } else if let executionTime { + Text(formattedDuration(executionTime)) + .font(.caption) + .foregroundStyle(.secondary) + } + } + + private func copyText() { + ClipboardService.shared.writeText(rawText) + withAnimation { showCopyConfirmation = true } + copyResetTask?.cancel() + copyResetTask = Task { @MainActor in + try? await Task.sleep(for: .milliseconds(1_500)) + guard !Task.isCancelled else { return } + withAnimation { showCopyConfirmation = false } + } + } + + private func formattedDuration(_ duration: TimeInterval) -> String { + if duration < 0.001 { + return "<1ms" + } else if duration < 1.0 { + return String(format: "%.0fms", duration * 1_000) + } else { + return String(format: "%.2fs", duration) + } + } +} diff --git a/TableProTests/Models/Query/ResultTabBarPolicyTests.swift b/TableProTests/Models/Query/ResultTabBarPolicyTests.swift index e60aa2c6e..de0208c1c 100644 --- a/TableProTests/Models/Query/ResultTabBarPolicyTests.swift +++ b/TableProTests/Models/Query/ResultTabBarPolicyTests.swift @@ -39,13 +39,19 @@ struct ResultTabBarPolicyTests { #expect(ResultTabBarPolicy.canPin(tabType: .query, display: display) == false) } - @Test("An explain result is not a result set, so nothing can be pinned") - func explainHasNothingToPin() { + @Test("An explain result is a result set, so it shows the strip and can be pinned") + @MainActor + func explainBehavesLikeAResultSet() { var display = Self.makeDisplay() - display.explainText = "Seq Scan on orders" + let plan = ExplainResultSetFactory.make( + rawText: "Seq Scan on orders", plan: nil, sql: "EXPLAIN SELECT 1", executionTime: 0.2 + ) + display.resultSets = [plan] + display.activeResultSetId = plan.id - #expect(ResultTabBarPolicy.showsTabBar(tabType: .query, display: display) == false) - #expect(ResultTabBarPolicy.canPin(tabType: .query, display: display) == false) + #expect(ResultTabBarPolicy.showsTabBar(tabType: .query, display: display)) + #expect(ResultTabBarPolicy.canPin(tabType: .query, display: display)) + #expect(display.activeExplainResult?.id == plan.id) } @Test("A tab with no results has no strip and nothing to pin") @@ -84,7 +90,7 @@ struct ResultTabBarPolicyTests { states.append(display) var explaining = display - explaining.explainText = "plan" + explaining.resultSets = [] states.append(explaining) } diff --git a/TableProTests/Views/Main/ClearQueryResultsTests.swift b/TableProTests/Views/Main/ClearQueryResultsTests.swift index cc38590b4..5c3b1c055 100644 --- a/TableProTests/Views/Main/ClearQueryResultsTests.swift +++ b/TableProTests/Views/Main/ClearQueryResultsTests.swift @@ -73,20 +73,22 @@ struct ClearQueryResultsTests { coordinator.tabManager.addTab(databaseName: "db") let index = try #require(coordinator.tabManager.selectedTabIndex) + let plan = ExplainResultSetFactory.make( + rawText: "Seq Scan on orders", plan: nil, sql: "EXPLAIN SELECT 1", executionTime: 0.4 + ) coordinator.tabManager.mutate(at: index) { tab in - tab.display.explainText = "Seq Scan on orders" - tab.display.explainExecutionTime = 0.4 + tab.display.resultSets = [plan] + tab.display.activeResultSetId = plan.id } coordinator.clearActiveQueryResults() let tab = try #require(coordinator.tabManager.selectedTab) - #expect(tab.display.explainText == nil) - #expect(tab.display.explainPlan == nil) - #expect(tab.display.explainExecutionTime == nil) + #expect(tab.display.resultSets.isEmpty) + #expect(tab.display.activeExplainResult == nil) } - @Test("Clearing results drops a query plan even when a pinned result survives") + @Test("Clearing results drops an unpinned plan but keeps a pinned result") @MainActor func clearDropsExplainResultWithPinnedResults() throws { let coordinator = Self.makeCoordinator() @@ -98,17 +100,19 @@ struct ClearQueryResultsTests { let pinned = ResultSet(label: "Result 1") pinned.isPinned = true + let plan = ExplainResultSetFactory.make( + rawText: "Seq Scan on orders", plan: nil, sql: "EXPLAIN SELECT 1", executionTime: 0.4 + ) coordinator.tabManager.mutate(at: index) { tab in - tab.display.resultSets = [pinned] - tab.display.activeResultSetId = pinned.id - tab.display.explainText = "Seq Scan on orders" + tab.display.resultSets = [pinned, plan] + tab.display.activeResultSetId = plan.id } coordinator.clearActiveQueryResults() let tab = try #require(coordinator.tabManager.selectedTab) - #expect(tab.display.explainText == nil) - #expect(tab.display.resultSets.count == 1) + #expect(tab.display.resultSets.map(\.id) == [pinned.id]) + #expect(tab.display.activeExplainResult == nil) #expect(tabId == tab.id) } diff --git a/TableProTests/Views/Main/ResultPinningTests.swift b/TableProTests/Views/Main/ResultPinningTests.swift index bfdd4144c..8254ed2c8 100644 --- a/TableProTests/Views/Main/ResultPinningTests.swift +++ b/TableProTests/Views/Main/ResultPinningTests.swift @@ -226,19 +226,16 @@ struct ResultPinningTests { let result = Self.makeResultSet(label: "Result") for mode in [ResultsViewMode.data, .json, .structure] { - for explainText in [nil, "plan"] as [String?] { - coordinator.tabManager.mutate(at: index) { tab in - tab.display.resultSets = [result] - tab.display.activeResultSetId = result.id - tab.display.resultsViewMode = mode - tab.display.explainText = explainText - } - let tab = try #require(coordinator.tabManager.selectedTab) - #expect( - coordinator.canPinActiveResultSet - == ResultTabBarPolicy.canPin(tabType: tab.tabType, display: tab.display) - ) + coordinator.tabManager.mutate(at: index) { tab in + tab.display.resultSets = [result] + tab.display.activeResultSetId = result.id + tab.display.resultsViewMode = mode } + let tab = try #require(coordinator.tabManager.selectedTab) + #expect( + coordinator.canPinActiveResultSet + == ResultTabBarPolicy.canPin(tabType: tab.tabType, display: tab.display) + ) } } diff --git a/TableProTests/Views/QueryPlan/QueryPlanPresentationTests.swift b/TableProTests/Views/QueryPlan/QueryPlanPresentationTests.swift new file mode 100644 index 000000000..3b727a2db --- /dev/null +++ b/TableProTests/Views/QueryPlan/QueryPlanPresentationTests.swift @@ -0,0 +1,81 @@ +// +// QueryPlanPresentationTests.swift +// TableProTests +// +// What the plan pane shows: a parsed tree, the raw output, or an explicit empty state. A nil +// plan used to fall through to a blank rectangle. +// + +import Foundation +@testable import TablePro +import Testing + +@Suite("Query Plan Presentation") +struct QueryPlanPresentationTests { + private var samplePlan: QueryPlan { + QueryPlan( + rootNode: QueryPlanNode( + operation: "Seq Scan", + relation: nil, schema: nil, alias: nil, + estimatedStartupCost: nil, estimatedTotalCost: 1, + estimatedRows: nil, estimatedWidth: nil, + actualStartupTime: nil, actualTotalTime: nil, + actualRows: nil, actualLoops: nil, + properties: [:], children: [] + ), + planningTime: nil, + executionTime: nil, + rawText: "Seq Scan" + ) + } + + @Test("A parsed plan wins over the raw text") + func prefersParsedPlan() { + let presentation = QueryPlanPresentation.resolve(plan: samplePlan, rawText: "Seq Scan") + #expect(presentation.kind == .parsed) + #expect(presentation.plan != nil) + #expect(presentation.rawText == nil) + } + + @Test("Unparsed output falls back to raw rather than a blank pane") + func fallsBackToRaw() { + let presentation = QueryPlanPresentation.resolve(plan: nil, rawText: "some driver output") + #expect(presentation.kind == .rawOnly) + #expect(presentation.rawText == "some driver output") + #expect(presentation.plan == nil) + } + + @Test("Nothing at all resolves to the empty state") + func resolvesEmpty() { + #expect(QueryPlanPresentation.resolve(plan: nil, rawText: "").kind == .empty) + #expect(QueryPlanPresentation.resolve(plan: nil, rawText: " \n ").kind == .empty) + } + + @Test("Raw output is trimmed before display") + func trimsRawOutput() { + let presentation = QueryPlanPresentation.resolve(plan: nil, rawText: "\n plan text \n") + #expect(presentation.rawText == "plan text") + } + + @Test("Every view mode has a localized title") + func modesAreTitled() { + for mode in QueryPlanViewMode.allCases { + #expect(!mode.title.isEmpty) + } + #expect(QueryPlanViewMode.allCases.count == 3) + } + + @Test("An explain result set is recognised by its raw text, not by a parsed plan") + @MainActor + func recognisesExplainResultSet() { + let unparsed = ExplainResultSetFactory.make( + rawText: "raw", plan: nil, sql: "EXPLAIN SELECT 1", executionTime: 0.1 + ) + #expect(unparsed.isExplainResult) + #expect(unparsed.queryPlan == nil) + #expect(unparsed.baseQuery == "EXPLAIN SELECT 1") + + let ordinary = ResultSet(label: "Result") + #expect(!ordinary.isExplainResult) + } +} From 537eceb9d5d7a0d379a8e684989292315c2c582f Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 09:19:55 +0700 Subject: [PATCH 13/19] refactor(er-diagram): adopt the shared magnifiable canvas --- .../ERDiagram/ERDiagramScrollTranslator.swift | 26 -- TablePro/ViewModels/ERDiagramViewModel.swift | 152 ++++-------- .../ERDiagram/ERDiagramCanvasContainer.swift | 57 ----- .../Views/ERDiagram/ERDiagramToolbar.swift | 48 +--- TablePro/Views/ERDiagram/ERDiagramView.swift | 223 ++++++++---------- .../Models/ERDiagram/ERDiagramDragTests.swift | 137 +++++++++++ .../ERDiagramScrollTranslatorTests.swift | 77 ------ .../ERDiagramCanvasContainerViewTests.swift | 81 ------- 8 files changed, 285 insertions(+), 516 deletions(-) delete mode 100644 TablePro/Models/ERDiagram/ERDiagramScrollTranslator.swift delete mode 100644 TablePro/Views/ERDiagram/ERDiagramCanvasContainer.swift create mode 100644 TableProTests/Models/ERDiagram/ERDiagramDragTests.swift delete mode 100644 TableProTests/Models/ERDiagram/ERDiagramScrollTranslatorTests.swift delete mode 100644 TableProTests/Views/ERDiagram/ERDiagramCanvasContainerViewTests.swift diff --git a/TablePro/Models/ERDiagram/ERDiagramScrollTranslator.swift b/TablePro/Models/ERDiagram/ERDiagramScrollTranslator.swift deleted file mode 100644 index ce02113f1..000000000 --- a/TablePro/Models/ERDiagram/ERDiagramScrollTranslator.swift +++ /dev/null @@ -1,26 +0,0 @@ -import CoreGraphics - -enum ERDiagramScrollAction: Equatable { - case pan(CGPoint) - case zoom(CGFloat) -} - -enum ERDiagramScrollTranslator { - static func action( - scrollingDeltaX: CGFloat, - scrollingDeltaY: CGFloat, - hasPreciseScrollingDeltas: Bool, - isZoomModifierActive: Bool, - currentOffset: CGPoint, - currentMagnification: CGFloat - ) -> ERDiagramScrollAction { - if isZoomModifierActive { - return .zoom(currentMagnification + scrollingDeltaY * 0.01) - } - let multiplier: CGFloat = hasPreciseScrollingDeltas ? 1.0 : 10.0 - return .pan(CGPoint( - x: currentOffset.x + scrollingDeltaX * multiplier, - y: currentOffset.y + scrollingDeltaY * multiplier - )) - } -} diff --git a/TablePro/ViewModels/ERDiagramViewModel.swift b/TablePro/ViewModels/ERDiagramViewModel.swift index d1c309f8c..22151f839 100644 --- a/TablePro/ViewModels/ERDiagramViewModel.swift +++ b/TablePro/ViewModels/ERDiagramViewModel.swift @@ -58,7 +58,6 @@ final class ERDiagramViewModel { var loadState: LoadState = .loading var needsInitialFit = true var graph: ERDiagramGraph = .empty - var magnification: CGFloat = 1.0 var isCompactMode = false { didSet { rebuildVisibleGraph() } } @@ -75,15 +74,15 @@ final class ERDiagramViewModel { // MARK: - Canvas Viewport - var canvasOffset: CGPoint = .zero - var viewportSize: CGSize = .zero + /// AppKit owns pan and zoom, so every coordinate the view hands over is already in document + /// space. The viewport is only needed to nudge the scroll position while auto-panning. + @ObservationIgnored weak var viewport: DiagramViewportController? // MARK: - Drag State private(set) var isDragging = false private(set) var draggingNodeId: UUID? @ObservationIgnored private var dragNodeStart: CGPoint? - @ObservationIgnored private var panStart: CGPoint? @ObservationIgnored private var lastDragTranslation: CGSize = .zero // MARK: - Auto-Pan @@ -378,42 +377,22 @@ final class ERDiagramViewModel { func beginDrag(at startLocation: CGPoint) { isDragging = true - let canvasPoint = CGPoint( - x: (startLocation.x - canvasOffset.x) / magnification, - y: (startLocation.y - canvasOffset.y) / magnification - ) - var hitNodeId: UUID? - for (id, rect) in cachedNodeRects where rect.contains(canvasPoint) { - hitNodeId = id - break - } - draggingNodeId = hitNodeId - if let nodeId = hitNodeId { - dragNodeStart = position(for: nodeId) - } else { - panStart = canvasOffset - } + draggingNodeId = cachedNodeRects.first { $0.value.contains(startLocation) }?.key + dragNodeStart = draggingNodeId.map { position(for: $0) } } + /// The translation arrives in document units and already carries any scrolling that happened + /// since the drag began, so the accumulator only has to cover the ticks between two events. func updateDrag(translation: CGSize, currentPoint: CGPoint) { lastDragTranslation = translation + guard let nodeId = draggingNodeId, let nodeStart = dragNodeStart else { return } - if let nodeId = draggingNodeId, let nodeStart = dragNodeStart { - let totalDelta = CGSize( - width: (translation.width + autoPanAccum.x) / magnification, - height: (translation.height + autoPanAccum.y) / magnification - ) - setPositionOverride( - nodeId: nodeId, - position: CGPoint(x: nodeStart.x + totalDelta.width, y: nodeStart.y + totalDelta.height) - ) - updateAutoPanVelocity(for: currentPoint) - } else if let start = panStart { - canvasOffset = CGPoint( - x: start.x + translation.width, - y: start.y + translation.height - ) - } + autoPanAccum = .zero + setPositionOverride( + nodeId: nodeId, + position: CGPoint(x: nodeStart.x + translation.width, y: nodeStart.y + translation.height) + ) + updateAutoPanVelocity(for: currentPoint) } func endDrag() { @@ -423,66 +402,72 @@ final class ERDiagramViewModel { isDragging = false draggingNodeId = nil dragNodeStart = nil - panStart = nil lastDragTranslation = .zero stopAutoPan() } + /// The edge band and the pan speed are tuned in screen points, so both are divided by the + /// magnification to reach the document units the viewport scrolls in. private func updateAutoPanVelocity(for point: CGPoint) { - if NSWorkspace.shared.accessibilityDisplayShouldReduceMotion { + guard !NSWorkspace.shared.accessibilityDisplayShouldReduceMotion, let viewport else { stopAutoPan() return } - let t = Self.edgeThreshold - let s = Self.maxPanSpeed - var v = CGPoint.zero - - if point.x > viewportSize.width - t { - v.x = -s * min(1, max(0, 1 - (viewportSize.width - point.x) / t)) - } else if point.x < t { - v.x = s * min(1, max(0, 1 - point.x / t)) + + let visible = viewport.visibleDocumentRect + guard visible.width > 0, visible.height > 0 else { + stopAutoPan() + return } - if point.y > viewportSize.height - t { - v.y = -s * min(1, max(0, 1 - (viewportSize.height - point.y) / t)) - } else if point.y < t { - v.y = s * min(1, max(0, 1 - point.y / t)) + + let magnification = max(viewport.magnification, 0.01) + let threshold = Self.edgeThreshold / magnification + let speed = Self.maxPanSpeed / magnification + var velocity = CGPoint.zero + + if point.x > visible.maxX - threshold { + velocity.x = -speed * min(1, max(0, 1 - (visible.maxX - point.x) / threshold)) + } else if point.x < visible.minX + threshold { + velocity.x = speed * min(1, max(0, 1 - (point.x - visible.minX) / threshold)) + } + if point.y > visible.maxY - threshold { + velocity.y = -speed * min(1, max(0, 1 - (visible.maxY - point.y) / threshold)) + } else if point.y < visible.minY + threshold { + velocity.y = speed * min(1, max(0, 1 - (point.y - visible.minY) / threshold)) } - autoPanVelocity = v - if v != .zero && autoPanTask == nil { + autoPanVelocity = velocity + if velocity != .zero && autoPanTask == nil { autoPanTask = Task { [weak self] in while !Task.isCancelled { self?.autoPanTick() try? await Task.sleep(for: .milliseconds(16)) } } - } else if v == .zero && autoPanTask != nil { + } else if velocity == .zero && autoPanTask != nil { autoPanTask?.cancel() autoPanTask = nil } } private func autoPanTick() { - guard autoPanVelocity != .zero, draggingNodeId != nil else { + guard autoPanVelocity != .zero, let nodeId = draggingNodeId, let nodeStart = dragNodeStart else { stopAutoPan() return } - canvasOffset.x += autoPanVelocity.x - canvasOffset.y += autoPanVelocity.y - autoPanAccum.x -= autoPanVelocity.x - autoPanAccum.y -= autoPanVelocity.y + let delta = CGSize(width: -autoPanVelocity.x, height: -autoPanVelocity.y) + viewport?.scrollBy(delta) + autoPanAccum.x += delta.width + autoPanAccum.y += delta.height - if let nodeId = draggingNodeId, let nodeStart = dragNodeStart { - let totalDelta = CGSize( - width: (lastDragTranslation.width + autoPanAccum.x) / magnification, - height: (lastDragTranslation.height + autoPanAccum.y) / magnification - ) - setPositionOverride( - nodeId: nodeId, - position: CGPoint(x: nodeStart.x + totalDelta.width, y: nodeStart.y + totalDelta.height) + setPositionOverride( + nodeId: nodeId, + position: CGPoint( + x: nodeStart.x + lastDragTranslation.width + autoPanAccum.x, + y: nodeStart.y + lastDragTranslation.height + autoPanAccum.y ) - } + ) } private func stopAutoPan() { @@ -492,41 +477,6 @@ final class ERDiagramViewModel { autoPanAccum = .zero } - // MARK: - Zoom - - func zoom(to newMag: CGFloat, anchor: CGPoint? = nil) { - let clamped = DiagramZoom.clamped(newMag) - let center = anchor ?? CGPoint(x: viewportSize.width / 2, y: viewportSize.height / 2) - let canvasPoint = CGPoint( - x: (center.x - canvasOffset.x) / magnification, - y: (center.y - canvasOffset.y) / magnification - ) - withAnimation(.easeOut(duration: 0.2)) { - canvasOffset = CGPoint( - x: center.x - canvasPoint.x * clamped, - y: center.y - canvasPoint.y * clamped - ) - magnification = clamped - } - } - - func fitToWindow() { - guard !graph.nodes.isEmpty, viewportSize.width > 0, viewportSize.height > 0 else { return } - let diagramSize = cachedCanvasSize - let padding: CGFloat = 40 - let scaleX = (viewportSize.width - padding * 2) / diagramSize.width - let scaleY = (viewportSize.height - padding * 2) / diagramSize.height - let fitScale = max(DiagramZoom.minimum, min(1.0, min(scaleX, scaleY))) - - withAnimation(.easeOut(duration: 0.3)) { - magnification = fitScale - canvasOffset = CGPoint( - x: (viewportSize.width - diagramSize.width * fitScale) / 2, - y: (viewportSize.height - diagramSize.height * fitScale) / 2 - ) - } - } - // MARK: - Private private func loadPersistedPositions() { diff --git a/TablePro/Views/ERDiagram/ERDiagramCanvasContainer.swift b/TablePro/Views/ERDiagram/ERDiagramCanvasContainer.swift deleted file mode 100644 index bd47c6cdb..000000000 --- a/TablePro/Views/ERDiagram/ERDiagramCanvasContainer.swift +++ /dev/null @@ -1,57 +0,0 @@ -import AppKit -import SwiftUI - -struct ERDiagramCanvasContainer: NSViewRepresentable { - let viewModel: ERDiagramViewModel - @ViewBuilder let content: () -> Content - - func makeNSView(context: Context) -> ERDiagramCanvasContainerView { - ERDiagramCanvasContainerView(rootView: content(), viewModel: viewModel) - } - - func updateNSView(_ nsView: ERDiagramCanvasContainerView, context: Context) { - nsView.hostingView.rootView = content() - } -} - -@MainActor -final class ERDiagramCanvasContainerView: NSView { - let hostingView: NSHostingView - private let viewModel: ERDiagramViewModel - - init(rootView: Content, viewModel: ERDiagramViewModel) { - self.viewModel = viewModel - hostingView = NSHostingView(rootView: rootView) - super.init(frame: .zero) - hostingView.translatesAutoresizingMaskIntoConstraints = false - addSubview(hostingView) - NSLayoutConstraint.activate([ - hostingView.leadingAnchor.constraint(equalTo: leadingAnchor), - hostingView.trailingAnchor.constraint(equalTo: trailingAnchor), - hostingView.topAnchor.constraint(equalTo: topAnchor), - hostingView.bottomAnchor.constraint(equalTo: bottomAnchor) - ]) - } - - @available(*, unavailable) - required init?(coder: NSCoder) { - fatalError("init(coder:) not supported") - } - - override func scrollWheel(with event: NSEvent) { - let action = ERDiagramScrollTranslator.action( - scrollingDeltaX: event.scrollingDeltaX, - scrollingDeltaY: event.scrollingDeltaY, - hasPreciseScrollingDeltas: event.hasPreciseScrollingDeltas, - isZoomModifierActive: event.modifierFlags.contains(.command), - currentOffset: viewModel.canvasOffset, - currentMagnification: viewModel.magnification - ) - switch action { - case .pan(let offset): - viewModel.canvasOffset = offset - case .zoom(let magnification): - viewModel.zoom(to: magnification) - } - } -} diff --git a/TablePro/Views/ERDiagram/ERDiagramToolbar.swift b/TablePro/Views/ERDiagram/ERDiagramToolbar.swift index 4f1f2d71e..163af6a9a 100644 --- a/TablePro/Views/ERDiagram/ERDiagramToolbar.swift +++ b/TablePro/Views/ERDiagram/ERDiagramToolbar.swift @@ -2,53 +2,17 @@ import SwiftUI struct ERDiagramToolbar: View { @Bindable var viewModel: ERDiagramViewModel + let viewport: DiagramViewportController let onExport: () -> Void var body: some View { - HStack(spacing: 8) { - Button { - viewModel.zoom(to: viewModel.magnification - DiagramZoom.step) - } label: { - Image(systemName: "minus.magnifyingglass") - } - .buttonStyle(.borderless) - .accessibilityLabel(String(localized: "Zoom Out")) - - Button { - viewModel.zoom(to: 1.0) - } label: { - Text(verbatim: "\(Int(viewModel.magnification * 100))%") - .font(.system(.caption, design: .monospaced)) - .frame(width: 40) - .foregroundStyle(.secondary) - } - .buttonStyle(.plain) - .help(String(localized: "Reset Zoom")) - - Button { - viewModel.zoom(to: viewModel.magnification + DiagramZoom.step) - } label: { - Image(systemName: "plus.magnifyingglass") - } - .buttonStyle(.borderless) - .accessibilityLabel(String(localized: "Zoom In")) - - Button { - viewModel.fitToWindow() - } label: { - Image(systemName: "arrow.up.left.and.arrow.down.right") - } - .buttonStyle(.borderless) - .accessibilityLabel(String(localized: "Fit to Window")) - .help(String(localized: "Fit to Window")) - + DiagramZoomToolbar(viewport: viewport) { Divider().frame(height: 16) Toggle(isOn: $viewModel.isCompactMode) { Image(systemName: "rectangle.compress.vertical") } .toggleStyle(.button) - .buttonStyle(.borderless) .help(String(localized: "Compact Mode")) .accessibilityLabel(String(localized: "Compact Mode")) @@ -57,7 +21,6 @@ struct ERDiagramToolbar: View { Image(systemName: "arrow.left.arrow.right") } .toggleStyle(.button) - .buttonStyle(.borderless) .help(String(localized: "Collapse junction tables into many-to-many relationships")) .accessibilityLabel(String(localized: "Collapse Junction Tables")) } @@ -69,14 +32,12 @@ struct ERDiagramToolbar: View { } label: { Image(systemName: "arrow.counterclockwise") } - .buttonStyle(.borderless) .help(String(localized: "Reset Layout")) .accessibilityLabel(String(localized: "Reset Layout")) Button(action: onExport) { Image(systemName: "square.and.arrow.up") } - .buttonStyle(.borderless) .help(String(localized: "Export as PNG")) .accessibilityLabel(String(localized: "Export as PNG")) @@ -85,14 +46,9 @@ struct ERDiagramToolbar: View { } label: { Image(systemName: "doc.plaintext") } - .buttonStyle(.borderless) .help(String(localized: "Export as SQL")) .accessibilityLabel(String(localized: "Export as SQL")) } - .padding(.horizontal, 12) - .padding(.vertical, 6) - .themeMaterial(.toolbar, .thinMaterial, in: Capsule()) - .overlay(Capsule().strokeBorder(.quaternary, lineWidth: 0.5)) .padding(12) } } diff --git a/TablePro/Views/ERDiagram/ERDiagramView.swift b/TablePro/Views/ERDiagram/ERDiagramView.swift index d4bbb28e9..27d2cc04e 100644 --- a/TablePro/Views/ERDiagram/ERDiagramView.swift +++ b/TablePro/Views/ERDiagram/ERDiagramView.swift @@ -1,16 +1,18 @@ import AppKit -import os import SwiftUI -import UniformTypeIdentifiers struct ERDiagramView: View { @Bindable var viewModel: ERDiagramViewModel @Environment(\.accessibilityDifferentiateWithoutColor) private var differentiateWithoutColor + @State private var viewport = DiagramViewportController() @State private var selectedNodeId: UUID? @State private var currentCursor: NSCursor? - @State private var magnifyStartMag: CGFloat? + @State private var lastPanTranslation: CGSize = .zero - private static let logger = Logger(subsystem: "com.TablePro", category: "ERDiagramView") + /// The scroll view reports no visible rect until AppKit has laid it out, which happens after + /// SwiftUI mounts it. The fit retries across a bounded number of main-actor hops rather than + /// waiting on a wall-clock delay. + private static let fitLayoutAttempts = 30 var body: some View { ZStack(alignment: .bottomTrailing) { @@ -47,66 +49,56 @@ struct ERDiagramView: View { } .frame(maxWidth: .infinity, maxHeight: .infinity) } else { - ERDiagramCanvasContainer(viewModel: viewModel) { diagramContent } + MagnifiableCanvasView( + viewport: viewport, + contentSize: viewModel.cachedCanvasSize, + accessibilityIdentifier: "er-diagram-canvas" + ) { + diagramContent + } } - ERDiagramToolbar(viewModel: viewModel, onExport: exportDiagram) + ERDiagramToolbar(viewModel: viewModel, viewport: viewport, onExport: exportDiagram) } } - .onCopyCommand { copyDiagramItemProviders() } - .task { await viewModel.loadDiagram() } + .onCopyCommand { DiagramImageExporter.copyItemProviders(of: makeExportView()) } + .task { + viewModel.viewport = viewport + await viewModel.loadDiagram() + } + .task(id: viewModel.loadState) { await fitWhenLaidOut() } } // MARK: - Diagram Content private var diagramContent: some View { - GeometryReader { proxy in - let nodeRects = viewModel.cachedNodeRects - let edges = viewModel.graph.edges - let nodes = viewModel.graph.nodes - let nodeIndex = viewModel.graph.nodeIndex - let selectedId = selectedNodeId - let mag = viewModel.magnification - let offset = viewModel.canvasOffset - let clusterColors = nodeClusterColors(nodes: nodes) + let nodeRects = viewModel.cachedNodeRects + let edges = viewModel.graph.edges + let nodes = viewModel.graph.nodes + let nodeIndex = viewModel.graph.nodeIndex + let selectedId = selectedNodeId + let clusterColors = nodeClusterColors(nodes: nodes) + let canvasSize = viewModel.cachedCanvasSize - Canvas { context, _ in - context.translateBy(x: offset.x, y: offset.y) - context.scaleBy(x: mag, y: mag) + return Canvas { context, _ in + ERDiagramEdgeRenderer.drawEdges( + context: context, + edges: edges, + nodeRects: nodeRects, + nodeIndex: nodeIndex + ) - ERDiagramEdgeRenderer.drawEdges( - context: context, - edges: edges, - nodeRects: nodeRects, - nodeIndex: nodeIndex + for node in nodes { + guard let rect = nodeRects[node.id] else { continue } + ERDiagramNodeRenderer.drawNode( + context: &context, + node: node, + rect: rect, + isSelected: selectedId == node.id, + clusterColor: clusterColors[node.id] ) - - for node in nodes { - guard let rect = nodeRects[node.id] else { continue } - ERDiagramNodeRenderer.drawNode( - context: &context, - node: node, - rect: rect, - isSelected: selectedId == node.id, - clusterColor: clusterColors[node.id] - ) - } - } - .frame(maxWidth: .infinity, maxHeight: .infinity) - .onAppear { - viewModel.viewportSize = proxy.size - if viewModel.needsInitialFit && proxy.size.width > 0 { - viewModel.fitToWindow() - viewModel.needsInitialFit = false - } - } - .onChange(of: proxy.size) { _, newSize in - viewModel.viewportSize = newSize - if viewModel.needsInitialFit && newSize.width > 0 { - viewModel.fitToWindow() - viewModel.needsInitialFit = false - } } } + .frame(width: canvasSize.width, height: canvasSize.height) .contentShape(Rectangle()) .accessibilityElement() .accessibilityLabel(Text("\(viewModel.graph.nodes.count) tables, \(viewModel.graph.edges.count) relationships")) @@ -114,7 +106,7 @@ struct ERDiagramView: View { .onTapGesture { location in selectedNodeId = nodeAt(point: location) } - .gesture(combinedGesture.simultaneously(with: magnifyGesture)) + .gesture(canvasGesture) .onContinuousHover { phase in switch phase { case .active(let location): @@ -136,6 +128,22 @@ struct ERDiagramView: View { } } + // MARK: - Initial Fit + + private func fitWhenLaidOut() async { + guard viewModel.loadState == .loaded else { return } + for _ in 0.. 0, visible.height > 0 { + viewport.fitToWindow() + viewModel.needsInitialFit = false + return + } + await Task.yield() + } + } + // MARK: - Cluster Colors private func nodeClusterColors(nodes: [ERTableNode]) -> [UUID: Color] { @@ -152,37 +160,43 @@ struct ERDiagramView: View { // MARK: - Hit Testing private func nodeAt(point: CGPoint) -> UUID? { - let canvasPoint = CGPoint( - x: (point.x - viewModel.canvasOffset.x) / viewModel.magnification, - y: (point.y - viewModel.canvasOffset.y) / viewModel.magnification - ) - for (id, rect) in viewModel.cachedNodeRects where rect.contains(canvasPoint) { - return id - } - return nil + viewModel.cachedNodeRects.first { $0.value.contains(point) }?.key } - // MARK: - Combined Gesture (pan + node drag) + // MARK: - Canvas Gesture (pan + node drag) - private var combinedGesture: some Gesture { + /// The local drag reports document coordinates, which is what hit testing and node dragging + /// need. Panning reads the global drag instead, because scrolling the document moves the + /// local space underneath the pointer and a local translation would cancel itself out. + private var canvasGesture: some Gesture { DragGesture(minimumDistance: 2) + .simultaneously(with: DragGesture(minimumDistance: 2, coordinateSpace: .global)) .onChanged { value in + guard let local = value.first else { return } if !viewModel.isDragging { - viewModel.beginDrag(at: value.startLocation) + viewModel.beginDrag(at: local.startLocation) if viewModel.draggingNodeId != nil { if currentCursor != nil { NSCursor.pop() } NSCursor.closedHand.push() currentCursor = .closedHand } } - let currentPoint = CGPoint( - x: value.startLocation.x + value.translation.width, - y: value.startLocation.y + value.translation.height - ) - viewModel.updateDrag(translation: value.translation, currentPoint: currentPoint) + + if viewModel.draggingNodeId != nil { + let currentPoint = CGPoint( + x: local.startLocation.x + local.translation.width, + y: local.startLocation.y + local.translation.height + ) + viewModel.updateDrag(translation: local.translation, currentPoint: currentPoint) + return + } + + guard let global = value.second else { return } + panCanvas(to: global.translation) } .onEnded { _ in viewModel.endDrag() + lastPanTranslation = .zero if currentCursor != nil { NSCursor.pop() currentCursor = nil @@ -190,21 +204,14 @@ struct ERDiagramView: View { } } - // MARK: - Pinch-to-Zoom - - private var magnifyGesture: some Gesture { - MagnifyGesture() - .onChanged { value in - if magnifyStartMag == nil { - magnifyStartMag = viewModel.magnification - } - let base = magnifyStartMag ?? viewModel.magnification - let newMag = DiagramZoom.scaled(from: base, by: value.magnification) - viewModel.zoom(to: newMag, anchor: value.startLocation) - } - .onEnded { _ in - magnifyStartMag = nil - } + private func panCanvas(to translation: CGSize) { + let delta = CGSize( + width: translation.width - lastPanTranslation.width, + height: translation.height - lastPanTranslation.height + ) + lastPanTranslation = translation + let magnification = max(viewport.magnification, 0.01) + viewport.scrollBy(CGSize(width: -delta.width / magnification, height: -delta.height / magnification)) } // MARK: - Export Rendering @@ -246,51 +253,11 @@ struct ERDiagramView: View { .background(Color(nsColor: .controlBackgroundColor)) } - /// Feeds the standard Edit > Copy command, so the diagram follows whatever shortcut the - /// user has bound instead of a hardcoded Cmd+C on the toolbar. - private func copyDiagramItemProviders() -> [NSItemProvider] { - let renderer = ImageRenderer(content: makeExportView()) - renderer.scale = 2.0 - guard let image = renderer.nsImage else { return [] } - return [NSItemProvider(object: image)] - } - private func exportDiagram() { - let renderer = ImageRenderer(content: makeExportView()) - renderer.scale = 2.0 - - guard let image = renderer.nsImage else { - Self.logger.error("Failed to render ER diagram to image") - let alert = NSAlert() - alert.messageText = String(localized: "Export Failed") - alert.informativeText = String(localized: "Failed to render the diagram image.") - alert.alertStyle = .warning - if let window = AlertHelper.resolveWindow(nil) { - alert.beginSheetModal(for: window) - } else { - alert.runModal() - } - return - } - - let panel = NSSavePanel() - panel.allowedContentTypes = [.png] - panel.nameFieldStringValue = "er-diagram.png" - panel.title = String(localized: "Export ER Diagram") - panel.message = String(localized: "Choose a location to save the diagram as PNG.") - - guard let window = NSApp.keyWindow else { return } - panel.beginSheetModal(for: window) { response in - guard response == .OK, let url = panel.url else { return } - guard let tiffData = image.tiffRepresentation, - let bitmap = NSBitmapImageRep(data: tiffData), - let pngData = bitmap.representation(using: .png, properties: [:]) - else { return } - do { - try pngData.write(to: url) - } catch { - Self.logger.error("Failed to write PNG: \(error.localizedDescription)") - } - } + DiagramImageExporter.export( + makeExportView(), + defaultFileName: "er-diagram.png", + title: String(localized: "Export ER Diagram") + ) } } diff --git a/TableProTests/Models/ERDiagram/ERDiagramDragTests.swift b/TableProTests/Models/ERDiagram/ERDiagramDragTests.swift new file mode 100644 index 000000000..2aedc3aec --- /dev/null +++ b/TableProTests/Models/ERDiagram/ERDiagramDragTests.swift @@ -0,0 +1,137 @@ +// +// ERDiagramDragTests.swift +// TableProTests +// +// AppKit owns pan and zoom, so every point the view hands the view model is already in +// document space. These pin the hit testing, the node drag and the persisted coordinates. +// + +import CoreGraphics +import Foundation +@testable import TablePro +import Testing + +@Suite("ER diagram dragging") +@MainActor +struct ERDiagramDragTests { + private func makeViewModel() -> ERDiagramViewModel { + ERDiagramViewModel(connectionId: UUID(), databaseName: "app", schemaKey: "app.default") + } + + private func placeNode(in viewModel: ERDiagramViewModel, at position: CGPoint) -> UUID { + let nodeId = UUID() + viewModel.setPositionOverride(nodeId: nodeId, position: position) + return nodeId + } + + @Test("A drag starting inside a node rect grabs that node") + func beginDragHitsNodeInDocumentSpace() { + let viewModel = makeViewModel() + let nodeId = placeNode(in: viewModel, at: CGPoint(x: 400, y: 300)) + + viewModel.beginDrag(at: CGPoint(x: 400, y: 300)) + + #expect(viewModel.isDragging) + #expect(viewModel.draggingNodeId == nodeId) + } + + @Test("A point inside the node rect but off its centre still grabs the node") + func beginDragHitsNodeEdges() { + let viewModel = makeViewModel() + let nodeId = placeNode(in: viewModel, at: CGPoint(x: 400, y: 300)) + let rect = viewModel.nodeRect(for: nodeId) + + viewModel.beginDrag(at: CGPoint(x: rect.minX + 1, y: rect.minY + 1)) + + #expect(viewModel.draggingNodeId == nodeId) + } + + @Test("A drag starting on empty canvas pans instead of moving a node") + func beginDragOutsideEveryNodeStartsAPan() { + let viewModel = makeViewModel() + let nodeId = placeNode(in: viewModel, at: CGPoint(x: 400, y: 300)) + let rect = viewModel.nodeRect(for: nodeId) + + viewModel.beginDrag(at: CGPoint(x: rect.maxX + 200, y: rect.maxY + 200)) + + #expect(viewModel.isDragging) + #expect(viewModel.draggingNodeId == nil) + } + + @Test("A dragged node moves by the raw translation") + func updateDragMovesNodeByRawTranslation() { + let viewModel = makeViewModel() + let nodeId = placeNode(in: viewModel, at: CGPoint(x: 400, y: 300)) + + viewModel.beginDrag(at: CGPoint(x: 400, y: 300)) + viewModel.updateDrag( + translation: CGSize(width: 60, height: -25), + currentPoint: CGPoint(x: 460, y: 275) + ) + + #expect(viewModel.position(for: nodeId) == CGPoint(x: 460, y: 275)) + } + + @Test("A second update measures from the drag start, not the last position") + func updateDragIsAbsoluteFromDragStart() { + let viewModel = makeViewModel() + let nodeId = placeNode(in: viewModel, at: CGPoint(x: 400, y: 300)) + + viewModel.beginDrag(at: CGPoint(x: 400, y: 300)) + viewModel.updateDrag(translation: CGSize(width: 10, height: 10), currentPoint: CGPoint(x: 410, y: 310)) + viewModel.updateDrag(translation: CGSize(width: 30, height: 40), currentPoint: CGPoint(x: 430, y: 340)) + + #expect(viewModel.position(for: nodeId) == CGPoint(x: 430, y: 340)) + } + + @Test("A canvas pan leaves every node where it was") + func panDragDoesNotMoveNodes() { + let viewModel = makeViewModel() + let nodeId = placeNode(in: viewModel, at: CGPoint(x: 400, y: 300)) + let rect = viewModel.nodeRect(for: nodeId) + + viewModel.beginDrag(at: CGPoint(x: rect.maxX + 200, y: rect.maxY + 200)) + viewModel.updateDrag(translation: CGSize(width: 90, height: 90), currentPoint: .zero) + + #expect(viewModel.position(for: nodeId) == CGPoint(x: 400, y: 300)) + } + + @Test("Ending a drag clears the drag state") + func endDragClearsState() { + let viewModel = makeViewModel() + defer { ERDiagramPositionStorage.shared.clear(connectionId: viewModel.connectionId, schemaKey: "app.default") } + _ = placeNode(in: viewModel, at: CGPoint(x: 400, y: 300)) + + viewModel.beginDrag(at: CGPoint(x: 400, y: 300)) + viewModel.updateDrag(translation: CGSize(width: 5, height: 5), currentPoint: CGPoint(x: 405, y: 305)) + viewModel.endDrag() + + #expect(!viewModel.isDragging) + #expect(viewModel.draggingNodeId == nil) + } + + @Test("A position override round-trips and centres the node rect on it") + func positionOverrideRoundTrips() { + let viewModel = makeViewModel() + let position = CGPoint(x: 137.5, y: -42.25) + let nodeId = placeNode(in: viewModel, at: position) + + #expect(viewModel.position(for: nodeId) == position) + #expect(viewModel.nodeRect(for: nodeId).midX == position.x) + #expect(viewModel.nodeRect(for: nodeId).midY == position.y) + #expect(viewModel.nodeRect(for: nodeId).width == ERDiagramLayout.nodeWidth) + } + + @Test("A saved layout loads back at the same document coordinates") + func storedPositionsSurviveARoundTrip() { + let connectionId = UUID() + let schemaKey = "app.public" + let positions = ["orders": CGPoint(x: 512.5, y: -128.25), "customers": CGPoint(x: 0, y: 940)] + defer { ERDiagramPositionStorage.shared.clear(connectionId: connectionId, schemaKey: schemaKey) } + + ERDiagramPositionStorage.shared.save(positions, connectionId: connectionId, schemaKey: schemaKey) + let loaded = ERDiagramPositionStorage.shared.load(connectionId: connectionId, schemaKey: schemaKey) + + #expect(loaded == positions) + } +} diff --git a/TableProTests/Models/ERDiagram/ERDiagramScrollTranslatorTests.swift b/TableProTests/Models/ERDiagram/ERDiagramScrollTranslatorTests.swift deleted file mode 100644 index adf140438..000000000 --- a/TableProTests/Models/ERDiagram/ERDiagramScrollTranslatorTests.swift +++ /dev/null @@ -1,77 +0,0 @@ -import CoreGraphics -import Testing - -@testable import TablePro - -@Suite("ERDiagramScrollTranslator") -struct ERDiagramScrollTranslatorTests { - @Test("precise deltas pan point for point") - func preciseDeltasPanUnscaled() { - let action = ERDiagramScrollTranslator.action( - scrollingDeltaX: 12, - scrollingDeltaY: -8, - hasPreciseScrollingDeltas: true, - isZoomModifierActive: false, - currentOffset: CGPoint(x: 100, y: 50), - currentMagnification: 1.0 - ) - #expect(action == .pan(CGPoint(x: 112, y: 42))) - } - - @Test("line deltas pan with the wheel multiplier") - func lineDeltasPanScaled() { - let action = ERDiagramScrollTranslator.action( - scrollingDeltaX: 2, - scrollingDeltaY: 3, - hasPreciseScrollingDeltas: false, - isZoomModifierActive: false, - currentOffset: .zero, - currentMagnification: 1.0 - ) - #expect(action == .pan(CGPoint(x: 20, y: 30))) - } - - @Test("zoom modifier zooms from the vertical delta") - func zoomModifierZooms() { - let action = ERDiagramScrollTranslator.action( - scrollingDeltaX: 5, - scrollingDeltaY: 50, - hasPreciseScrollingDeltas: true, - isZoomModifierActive: true, - currentOffset: .zero, - currentMagnification: 1.0 - ) - guard case .zoom(let magnification) = action else { - Issue.record("expected zoom, got \(action)") - return - } - #expect(abs(magnification - 1.5) < 0.0001) - } - - @Test("zero deltas keep the offset") - func zeroDeltasKeepOffset() { - let offset = CGPoint(x: 33, y: -7) - let action = ERDiagramScrollTranslator.action( - scrollingDeltaX: 0, - scrollingDeltaY: 0, - hasPreciseScrollingDeltas: true, - isZoomModifierActive: false, - currentOffset: offset, - currentMagnification: 1.0 - ) - #expect(action == .pan(offset)) - } - - @Test("negative deltas invert both axes") - func negativeDeltasInvert() { - let action = ERDiagramScrollTranslator.action( - scrollingDeltaX: -4, - scrollingDeltaY: -6, - hasPreciseScrollingDeltas: false, - isZoomModifierActive: false, - currentOffset: CGPoint(x: 100, y: 100), - currentMagnification: 1.0 - ) - #expect(action == .pan(CGPoint(x: 60, y: 40))) - } -} diff --git a/TableProTests/Views/ERDiagram/ERDiagramCanvasContainerViewTests.swift b/TableProTests/Views/ERDiagram/ERDiagramCanvasContainerViewTests.swift deleted file mode 100644 index c27ab9896..000000000 --- a/TableProTests/Views/ERDiagram/ERDiagramCanvasContainerViewTests.swift +++ /dev/null @@ -1,81 +0,0 @@ -import AppKit -import SwiftUI -import Testing - -@testable import TablePro - -@Suite("ERDiagramCanvasContainerView scroll routing") -@MainActor -struct ERDiagramCanvasContainerViewTests { - private func makeContainer() -> (ERDiagramCanvasContainerView, ERDiagramViewModel) { - let viewModel = ERDiagramViewModel(connectionId: UUID(), databaseName: "test", schemaKey: "test") - let view = ERDiagramCanvasContainerView(rootView: Color.clear, viewModel: viewModel) - return (view, viewModel) - } - - private func makeScrollEvent( - deltaX: Int32, - deltaY: Int32, - units: CGScrollEventUnit, - flags: CGEventFlags = [] - ) -> NSEvent? { - guard let cgEvent = CGEvent( - scrollWheelEvent2Source: nil, - units: units, - wheelCount: 2, - wheel1: deltaY, - wheel2: deltaX, - wheel3: 0 - ) else { return nil } - cgEvent.flags = flags - return NSEvent(cgEvent: cgEvent) - } - - @Test("trackpad scroll pans the canvas by the event deltas") - func trackpadScrollPans() throws { - let (view, viewModel) = makeContainer() - let event = try #require(makeScrollEvent(deltaX: 12, deltaY: -8, units: .pixel)) - try #require(event.hasPreciseScrollingDeltas) - try #require(event.scrollingDeltaY != 0) - - view.scrollWheel(with: event) - - #expect(viewModel.canvasOffset == CGPoint(x: event.scrollingDeltaX, y: event.scrollingDeltaY)) - } - - @Test("mouse wheel scroll pans with the line multiplier") - func mouseWheelScrollPans() throws { - let (view, viewModel) = makeContainer() - let event = try #require(makeScrollEvent(deltaX: 0, deltaY: 3, units: .line)) - try #require(!event.hasPreciseScrollingDeltas) - try #require(event.scrollingDeltaY != 0) - - view.scrollWheel(with: event) - - #expect(viewModel.canvasOffset.y == event.scrollingDeltaY * 10) - } - - @Test("command scroll zooms through the view model") - func commandScrollZooms() throws { - let (view, viewModel) = makeContainer() - let event = try #require(makeScrollEvent(deltaX: 0, deltaY: 40, units: .pixel, flags: .maskCommand)) - try #require(event.scrollingDeltaY != 0) - - view.scrollWheel(with: event) - - let expected = 1.0 + event.scrollingDeltaY * 0.01 - #expect(abs(viewModel.magnification - expected) < 0.0001) - #expect(viewModel.canvasOffset == .zero) - } - - @Test("command scroll zoom clamps to the maximum magnification") - func commandScrollZoomClamps() throws { - let (view, viewModel) = makeContainer() - let event = try #require(makeScrollEvent(deltaX: 0, deltaY: 400, units: .pixel, flags: .maskCommand)) - try #require(event.scrollingDeltaY >= 200) - - view.scrollWheel(with: event) - - #expect(viewModel.magnification == 3.0) - } -} From 489ac60600bd2c8545cafe8f8e5080f55a65111c Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 09:20:53 +0700 Subject: [PATCH 14/19] docs(explain): document the rebuilt query plan viewer --- CHANGELOG.md | 13 ++++++++++++- docs/features/explain-visualization.mdx | 19 ++++++++++++++----- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f8f65d7e..e88570828 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,11 +10,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - MySQL `EXPLAIN FORMAT=TREE` and `EXPLAIN ANALYZE` output now renders as a visual plan diagram or tree instead of raw text only. -- EXPLAIN plan diagrams now support trackpad pinch-to-zoom in addition to the zoom buttons. +- A query plan now opens as a result tab next to your query results, so you can switch back to the data without re-running the query, and pin a plan to keep it. +- EXPLAIN plan diagrams zoom with a trackpad pinch, a two-finger double tap, or Cmd and scroll, and the controls gained fit-to-window. Plans can be copied or exported as a PNG. +- The plan tree now has resizable, sortable Operation, Cost, Rows and Actual Time columns, arrow-key navigation, a right-click menu to copy a step, and a detail panel you can resize. +- PGlite, Cloudflare D1, libSQL and Turso query plans now render as a diagram and tree instead of raw text. +- Plan steps show a cost badge whose shape and colour escalate together, so cost reads without relying on colour. +- The ER diagram now uses the same zoom and scrolling as the plan diagram, gaining two-finger double tap to zoom, Cmd and scroll, and standard scrollers. - PostgreSQL array columns of a simple type, including arrays of an enum, get a list editor in the data grid. One row per element, with reordering, add and remove, and NULL per element. An empty array and a NULL column stay separate values. Enum arrays pick from the labels the type declares. Arrays of `jsonb`, `bytea` or composite types, and multi-dimensional values, keep the plain text editor. ### Fixed +- Running EXPLAIN from the toolbar now asks for confirmation when Safe Mode requires it. It previously skipped that check on every database that offers an EXPLAIN variant, even though `EXPLAIN ANALYZE` runs the query. +- The Stop button can now cancel a running `EXPLAIN ANALYZE`. +- An EXPLAIN that fails now reports the error in the usual place instead of showing it where the plan should be. +- Clear Query now clears the query plan too, instead of leaving a stale plan on screen. +- EXPLAIN runs started from the toolbar are now recorded in Query History. +- A query plan that cannot be read as a tree now says so and shows the raw output, instead of leaving an empty pane. - EXPLAIN plan diagrams line every node of the same depth up on one row, so a tall box no longer pushes its children up into itself. - Running a second EXPLAIN in the same tab redraws the diagram instead of leaving the previous plan on screen. - Plans that report a cost per node but no startup cost, such as MySQL's, now show that cost in the diagram and the tree. diff --git a/docs/features/explain-visualization.mdx b/docs/features/explain-visualization.mdx index b69e76a2d..3c90ec06c 100644 --- a/docs/features/explain-visualization.mdx +++ b/docs/features/explain-visualization.mdx @@ -7,7 +7,9 @@ Click **Explain** in the query editor toolbar, or use **Query > Explain Query** Databases with multiple EXPLAIN variants show a dropdown: PostgreSQL offers **EXPLAIN** (estimated plan) and **EXPLAIN ANALYZE** (runs the query and shows actual timing); MySQL and MariaDB offer **EXPLAIN** and **EXPLAIN (JSON)**. Databases with a single variant, like SQLite or DuckDB, show a plain Explain button. -Typing an `EXPLAIN`, `EXPLAIN ANALYZE`, `EXPLAIN FORMAT=JSON`, or MariaDB's `ANALYZE FORMAT=JSON` statement in the editor and running it opens the same plan viewer, as long as the plan comes back in a single column. MySQL's TREE and ANALYZE text output is parsed into the diagram and tree views. Multi-column plans like MySQL's plain `EXPLAIN` table stay in the results grid. +Typing an `EXPLAIN`, `EXPLAIN ANALYZE`, `EXPLAIN FORMAT=JSON`, or MariaDB's `ANALYZE FORMAT=JSON` statement in the editor and running it opens the same plan viewer. MySQL's TREE and ANALYZE text output is parsed into the diagram and tree views. Multi-column plans like MySQL's plain `EXPLAIN` table stay in the results grid, but a multi-column plan the driver itself declares, such as SQLite's `EXPLAIN QUERY PLAN`, still opens the viewer. + +The plan arrives as a result tab next to your query results, so you can switch back to the data without running the query again, and you can pin a plan to keep it while you try another query. -**Tree** shows the plan as an expandable outline list. Click a row to see its properties in the detail panel below. Cost and row estimates are shown on the right side of each row. +**Tree** shows the plan as an expandable outline with **Operation**, **Cost**, **Rows** and **Actual Time** columns. Drag a column edge to resize it and TablePro remembers the width. Click a column header to sort, which reorders the steps under each parent without flattening the plan. Arrow keys move between steps, and right-click copies a step. The detail panel below the outline can be resized by dragging the divider. **Raw** shows the original EXPLAIN output as text, with a copy button and a font size stepper in the toolbar. When the plan includes timing, planning and execution times are shown next to the view switcher. @@ -57,6 +61,7 @@ Toggle between three views using the segmented control above the results: | Database | Variants | Output | |----------|----------|--------| | PostgreSQL | EXPLAIN, EXPLAIN ANALYZE | JSON, parsed into diagram and tree | +| PGlite | EXPLAIN, EXPLAIN ANALYZE | PostgreSQL's `EXPLAIN (FORMAT JSON)`, parsed into diagram and tree | | Redshift | EXPLAIN, EXPLAIN ANALYZE | PostgreSQL's `EXPLAIN (FORMAT JSON)`, read by the PostgreSQL plan parser | | CockroachDB | EXPLAIN, EXPLAIN ANALYZE | Text plan, parsed into diagram and tree | | MySQL | EXPLAIN, EXPLAIN (JSON); typed EXPLAIN FORMAT=TREE or EXPLAIN ANALYZE | JSON and TREE output parsed into diagram and tree; plain EXPLAIN stays in the results grid | @@ -64,8 +69,8 @@ Toggle between three views using the segmented control above the results: | SQLite | Explain | EXPLAIN QUERY PLAN, parsed into diagram and tree | | ClickHouse | Plan, Pipeline, AST, Syntax, Estimate | Indented text, parsed into diagram and tree | | DuckDB | Explain | Indented text, parsed into diagram and tree | -| Cloudflare D1 | Query Plan | EXPLAIN QUERY PLAN, raw text | -| LibSQL / Turso | Query Plan | EXPLAIN QUERY PLAN, raw text | +| Cloudflare D1 | Query Plan | EXPLAIN QUERY PLAN, parsed into diagram and tree | +| LibSQL / Turso | Query Plan | EXPLAIN QUERY PLAN, parsed into diagram and tree | | Snowflake | Explain (Text) | Raw text | | Trino | Explain (Logical), Explain (Distributed), Explain (IO), Explain (Validate), Explain Analyze | Raw text | | SurrealDB | Explain, Explain Full | Raw text | @@ -85,6 +90,10 @@ Each node in the plan shows: Click a node to see all properties including join type, index name, filter conditions, and sort keys. + +`EXPLAIN ANALYZE` runs the query. When Safe Mode asks for confirmation before running a query, it now asks before an EXPLAIN too, whichever way you started it. Use the Stop button to cancel one that is taking too long. + + EXPLAIN does not execute the query. EXPLAIN ANALYZE executes it and shows actual timing; use it cautiously on production systems. From 95620ebf5573c4aabcbdc23dd05ce2c423e80768 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 09:25:53 +0700 Subject: [PATCH 15/19] test(explain): add UI automation for the query plan result tab --- TableProUITests/QueryPlanResultUITests.swift | 121 +++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 TableProUITests/QueryPlanResultUITests.swift diff --git a/TableProUITests/QueryPlanResultUITests.swift b/TableProUITests/QueryPlanResultUITests.swift new file mode 100644 index 000000000..6cabb5ce7 --- /dev/null +++ b/TableProUITests/QueryPlanResultUITests.swift @@ -0,0 +1,121 @@ +// +// QueryPlanResultUITests.swift +// TableProUITests +// +// A query plan is an ordinary result set now, so it appears in the result tab strip and can be +// pinned. The sample SQLite database makes EXPLAIN QUERY PLAN output deterministic, with no +// server to reach. +// + +import XCTest + +final class QueryPlanResultUITests: XCTestCase { + override func setUpWithError() throws { + continueAfterFailure = false + } + + override func tearDownWithError() throws { + XCUIApplication().terminate() + } + + func testExplainProducesAResultTabAlongsideTheData() throws { + let app = launchWithSampleDatabase() + runQuery("EXPLAIN QUERY PLAN SELECT * FROM users;", in: app) + + let resultTab = app.buttons["result-tab"].firstMatch + XCTAssertTrue( + resultTab.waitForExistence(timeout: 20), + "A plan must arrive as a result tab, not as a takeover of the results pane" + ) + + let modePicker = app.radioGroups["query-plan-mode-picker"].firstMatch + XCTAssertTrue( + modePicker.waitForExistence(timeout: 10), + "A parsed plan must offer the Diagram, Tree and Raw modes" + ) + } + + func testTreeModeShowsTheOutlineWithColumns() throws { + let app = launchWithSampleDatabase() + runQuery("EXPLAIN QUERY PLAN SELECT * FROM users;", in: app) + + let modePicker = app.radioGroups["query-plan-mode-picker"].firstMatch + XCTAssertTrue(modePicker.waitForExistence(timeout: 20)) + modePicker.radioButtons["Tree"].click() + + let outline = app.outlines["query-plan-outline"].firstMatch + XCTAssertTrue(outline.waitForExistence(timeout: 10), "Tree mode must show the plan outline") + XCTAssertTrue(outline.outlineRows.count > 0, "The outline must list the plan's steps") + + let detail = app.descendants(matching: .any).matching(identifier: "query-plan-detail-pane").firstMatch + XCTAssertTrue(detail.waitForExistence(timeout: 10), "Selecting a step must fill the detail pane") + } + + func testDiagramModeShowsTheScrollableCanvas() throws { + let app = launchWithSampleDatabase() + runQuery("EXPLAIN QUERY PLAN SELECT * FROM users;", in: app) + + let canvas = app.descendants(matching: .any).matching(identifier: "query-plan-diagram").firstMatch + XCTAssertTrue(canvas.waitForExistence(timeout: 20), "Diagram mode must show the plan canvas") + } + + func testAPlanCanBePinnedLikeAnyResult() throws { + let app = launchWithSampleDatabase() + runQuery("EXPLAIN QUERY PLAN SELECT * FROM users;", in: app) + + let resultTab = app.buttons["result-tab"].firstMatch + XCTAssertTrue(resultTab.waitForExistence(timeout: 20)) + resultTab.rightClick() + + let contextMenu = app.menus.firstMatch + XCTAssertTrue( + contextMenu.menuItems["Pin Result"].waitForExistence(timeout: 5), + "A plan is a result set, so it must offer Pin Result" + ) + contextMenu.menuItems["Pin Result"].click() + + let menuBar = app.menuBars.firstMatch + menuBar.menuBarItems["View"].click() + let unpinItem = menuBar.menuItems["Unpin Result"] + XCTAssertTrue(unpinItem.waitForExistence(timeout: 5), "A pinned plan reads as Unpin Result") + XCTAssertTrue(unpinItem.isEnabled) + app.typeKey(.escape, modifierFlags: []) + } + + // MARK: - Helpers + + private func runQuery(_ sql: String, in app: XCUIApplication) { + let editor = editorTextView(in: app) + XCTAssertTrue(editor.waitForExistence(timeout: 15)) + + app.typeKey("t", modifierFlags: .command) + let queryEditor = editorTextView(in: app) + XCTAssertTrue(queryEditor.waitForExistence(timeout: 10)) + queryEditor.click() + app.typeText(sql) + app.typeKey(.return, modifierFlags: .command) + } + + private func launchWithSampleDatabase() -> XCUIApplication { + let app = XCUIApplication() + app.launchEnvironment["TABLEPRO_UI_TESTING"] = "1" + app.launch() + + let menuBar = app.menuBars.firstMatch + XCTAssertTrue(menuBar.waitForExistence(timeout: 10)) + menuBar.menuBarItems["File"].click() + let openSample = menuBar.menuItems["Open Sample Database"] + XCTAssertTrue(openSample.waitForExistence(timeout: 5)) + openSample.click() + return app + } + + private func editorTextView(in app: XCUIApplication) -> XCUIElement { + let window = app.windows.firstMatch + let identified = window.textViews.matching(identifier: "sql-editor-textview").firstMatch + if identified.exists { + return identified + } + return window.textViews.firstMatch + } +} From 2bff7acb6dc6a882d731f6db3500a1e54a7681e4 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 09:54:02 +0700 Subject: [PATCH 16/19] fix(explain): gate stale plan results and keep tabular EXPLAIN in the grid --- .../QueryExecutionCoordinator+Helpers.swift | 20 ++--- .../Services/Query/ExplainResultRouter.swift | 33 ++++--- TablePro/Models/Query/ExplainRequest.swift | 12 ++- TablePro/ViewModels/ERDiagramViewModel.swift | 15 +++- .../Components/MagnifiableCanvasView.swift | 15 +++- .../MainContentCoordinator+Explain.swift | 25 +++++- .../QueryPlanOutlineCoordinator.swift | 4 + .../Query/ExplainResultRouterTests.swift | 87 ++++++++++++++----- .../Models/Query/ExplainRequestTests.swift | 18 ++++ 9 files changed, 171 insertions(+), 58 deletions(-) diff --git a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift index 29077f96a..9e87d34af 100644 --- a/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift +++ b/TablePro/Core/Coordinators/QueryExecutionCoordinator+Helpers.swift @@ -85,12 +85,16 @@ extension QueryExecutionCoordinator { ) { guard let idx = parent.tabManager.tabs.firstIndex(where: { $0.id == tabId }) else { return } - if let planText = ExplainResultRouter.planText( - sql: sql, columns: columns, rows: rows, declaredVariants: conn.type.explainVariants + if let routed = ExplainResultRouter.route( + sql: sql, + columns: columns, + rows: rows, + databaseType: conn.type, + declaredVariants: conn.type.explainVariants ) { applyExplainResult( tabId: tabId, - planText: planText, + routed: routed, executionTime: executionTime, rowCount: rows.count, sql: sql, @@ -233,26 +237,22 @@ extension QueryExecutionCoordinator { private func applyExplainResult( tabId: UUID, - planText: String, + routed: ExplainResultRouter.RoutedPlan, executionTime: TimeInterval, rowCount: Int, sql: String, connection conn: DatabaseConnection, queryParameterValues: [QueryParameter]? ) { - let format = ExplainFormatResolver.resolve( - sql: sql, databaseType: conn.type, declaredVariants: conn.type.explainVariants - ) - let plan = ExplainPlanParserRegistry.plan(from: planText, format: format) - parent.tabManager.mutate(tabId: tabId) { tab in tab.execution.executionTime = executionTime tab.execution.rowsAffected = 0 tab.execution.statusMessage = nil tab.execution.lastExecutedAt = Date() + tab.pagination.resetLoadMore() tab.display.replaceUnpinnedResults( with: [ExplainResultSetFactory.make( - rawText: planText, plan: plan, sql: sql, executionTime: executionTime + rawText: routed.rawText, plan: routed.plan, sql: sql, executionTime: executionTime )] ) if tab.display.isResultsCollapsed { diff --git a/TablePro/Core/Services/Query/ExplainResultRouter.swift b/TablePro/Core/Services/Query/ExplainResultRouter.swift index 9c6ba7dff..cd1ea2c56 100644 --- a/TablePro/Core/Services/Query/ExplainResultRouter.swift +++ b/TablePro/Core/Services/Query/ExplainResultRouter.swift @@ -9,24 +9,33 @@ import Foundation import TableProPluginKit enum ExplainResultRouter { - /// A plan either arrives in one column, or comes from a statement whose prefix matches an - /// EXPLAIN variant the driver declares. The second arm is what lets SQLite's four-column - /// `EXPLAIN QUERY PLAN` reach the viewer, without pulling in a maintenance command such as - /// MySQL's `ANALYZE TABLE`, which `isExplainStatement` also matches but no variant declares. - static func planText( + struct RoutedPlan { + let rawText: String + let plan: QueryPlan? + } + + /// A plan either arrives in one column, or is multi-column output the app can actually read + /// as a tree. Requiring a successful parse for the multi-column case is what lets SQLite's + /// four-column `EXPLAIN QUERY PLAN` reach the viewer while MySQL's tabular `EXPLAIN`, which + /// no parser understands, stays in the results grid where it belongs. + static func route( sql: String, columns: [String], rows: [[PluginCellValue]], + databaseType: DatabaseType, declaredVariants: [ExplainVariant] - ) -> String? { + ) -> RoutedPlan? { guard QueryClassifier.isExplainStatement(sql) else { return nil } - let isDeclaredVariant = ExplainFormatResolver.matchingVariant( - sql: sql, declaredVariants: declaredVariants - ) != nil - guard columns.count == 1 || isDeclaredVariant else { return nil } - let text = ExplainPlanTextFlattener.flatten(rows: rows) - return text.isEmpty ? nil : text + guard !text.isEmpty else { return nil } + + let format = ExplainFormatResolver.resolve( + sql: sql, databaseType: databaseType, declaredVariants: declaredVariants + ) + let plan = ExplainPlanParserRegistry.plan(from: text, format: format) + + guard columns.count == 1 || plan != nil else { return nil } + return RoutedPlan(rawText: text, plan: plan) } } diff --git a/TablePro/Models/Query/ExplainRequest.swift b/TablePro/Models/Query/ExplainRequest.swift index 2bfa27e15..9c094d8e2 100644 --- a/TablePro/Models/Query/ExplainRequest.swift +++ b/TablePro/Models/Query/ExplainRequest.swift @@ -12,6 +12,11 @@ struct ExplainRequest: Equatable { let sql: String let format: ExplainPlanFormat + /// A driver that declares no variants and builds its own statement may return anything, + /// including a multi-column document. Those results go through the ordinary query pipeline + /// so they keep their grid rather than being forced into a plan pane. + let isDriverBuilt: Bool + /// Picks the variant to run: the one the user chose, otherwise the driver's first declared /// one. Returns nil when the driver declares none, which is the caller's cue to fall back to /// `buildExplainQuery`. @@ -24,15 +29,16 @@ struct ExplainRequest: Equatable { guard let resolved = variant ?? declaredVariants.first else { return nil } return ExplainRequest( sql: "\(resolved.sqlPrefix) \(statement)", - format: ExplainFormatResolver.resolve(declared: resolved.format, databaseType: databaseType) + format: ExplainFormatResolver.resolve(declared: resolved.format, databaseType: databaseType), + isDriverBuilt: false ) } - /// A driver that declares no variants but builds its own EXPLAIN statement. static func driverBuilt(sql: String, databaseType: DatabaseType) -> ExplainRequest { ExplainRequest( sql: sql, - format: ExplainFormatResolver.resolve(declared: .plainText, databaseType: databaseType) + format: ExplainFormatResolver.resolve(declared: .plainText, databaseType: databaseType), + isDriverBuilt: true ) } } diff --git a/TablePro/ViewModels/ERDiagramViewModel.swift b/TablePro/ViewModels/ERDiagramViewModel.swift index 22151f839..7ce3db503 100644 --- a/TablePro/ViewModels/ERDiagramViewModel.swift +++ b/TablePro/ViewModels/ERDiagramViewModel.swift @@ -222,12 +222,20 @@ final class ERDiagramViewModel { func setPositionOverride(nodeId: UUID, position: CGPoint) { positionOverrides[nodeId] = position let height = ERDiagramLayout.estimateHeight(columnCount: columnCountByNodeId[nodeId] ?? 1) - cachedNodeRects[nodeId] = CGRect( + let rect = CGRect( x: position.x - ERDiagramLayout.nodeWidth / 2, y: position.y - height / 2, width: ERDiagramLayout.nodeWidth, height: height ) + cachedNodeRects[nodeId] = rect + + // The scroll view's document is sized from this, so a node dragged past the load-time + // bounds has to grow it or the node ends up somewhere the canvas cannot scroll to. + cachedCanvasSize = CGSize( + width: max(cachedCanvasSize.width, rect.maxX + Self.canvasPadding), + height: max(cachedCanvasSize.height, rect.maxY + Self.canvasPadding) + ) } func persistPositions() { @@ -328,6 +336,7 @@ final class ERDiagramViewModel { // MARK: - Canvas Size private(set) var cachedCanvasSize = CGSize(width: 800, height: 600) + private static let canvasPadding: CGFloat = 80 // MARK: - Node Rect (for edge rendering) @@ -369,7 +378,9 @@ final class ERDiagramViewModel { csMaxX = max(csMaxX, rect.maxX) csMaxY = max(csMaxY, rect.maxY) } - cachedCanvasSize = CGSize(width: csMaxX + 80, height: csMaxY + 80) + cachedCanvasSize = CGSize( + width: csMaxX + Self.canvasPadding, height: csMaxY + Self.canvasPadding + ) } } diff --git a/TablePro/Views/Components/MagnifiableCanvasView.swift b/TablePro/Views/Components/MagnifiableCanvasView.swift index f1e10d3a4..f04fe8c70 100644 --- a/TablePro/Views/Components/MagnifiableCanvasView.swift +++ b/TablePro/Views/Components/MagnifiableCanvasView.swift @@ -48,11 +48,20 @@ final class DiagramViewportController { scrollView.reflectScrolledClipView(scrollView.contentView) } + /// Clamped through the clip view's own rule, so a fast pan or a node dragged against the edge + /// cannot push the document out of view and have AppKit snap it back on the next tile. func scrollBy(_ delta: CGSize) { guard let scrollView else { return } - let origin = scrollView.contentView.bounds.origin - scrollView.contentView.scroll(to: CGPoint(x: origin.x + delta.width, y: origin.y + delta.height)) - scrollView.reflectScrolledClipView(scrollView.contentView) + let clipView = scrollView.contentView + let proposed = CGRect( + origin: CGPoint( + x: clipView.bounds.origin.x + delta.width, + y: clipView.bounds.origin.y + delta.height + ), + size: clipView.bounds.size + ) + clipView.scroll(to: clipView.constrainBoundsRect(proposed).origin) + scrollView.reflectScrolledClipView(clipView) } func attach(to scrollView: NSScrollView) { diff --git a/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift b/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift index 568b1283b..b670ad950 100644 --- a/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift +++ b/TablePro/Views/Main/Extensions/MainContentCoordinator+Explain.swift @@ -30,7 +30,7 @@ extension MainContentCoordinator { let level = safeModeLevel guard level.appliesToAllQueries, level.requiresConfirmation else { - executeExplain(request) + run(request) return } @@ -47,7 +47,7 @@ extension MainContentCoordinator { ) ) guard case .authorized = decision else { return } - executeExplain(request) + run(request) } } @@ -98,6 +98,14 @@ extension MainContentCoordinator { // MARK: - Execution + private func run(_ request: ExplainRequest) { + guard !request.isDriverBuilt else { + executeQueryInternal(request.sql) + return + } + executeExplain(request) + } + private func executeExplain(_ request: ExplainRequest) { guard let (tab, index) = tabManager.selectedTabAndIndex else { return } guard let scope = scope(for: tab) else { @@ -132,15 +140,20 @@ extension MainContentCoordinator { await MainActor.run { [weak self] in guard let self else { return } + + // Every write below belongs to whoever owns the tab now. A superseded plan + // that cleared the spinner or nilled the task handle would be reporting on a + // query that is still running, so the gate comes before all of them. + guard tabExecution.isCurrent(claim), !Task.isCancelled else { return } currentQueryTask = nil toolbarState.setExecuting(false) - guard tabExecution.isCurrent(claim) else { return } tabManager.mutate(tabId: tabId) { tab in tab.execution.executionTime = fetchResult.executionTime tab.execution.rowsAffected = 0 tab.execution.statusMessage = nil tab.execution.lastExecutedAt = Date() + tab.pagination.resetLoadMore() tab.display.replaceUnpinnedResults( with: [ExplainResultSetFactory.make( rawText: rawText, plan: plan, sql: request.sql, @@ -168,14 +181,18 @@ extension MainContentCoordinator { } catch { await MainActor.run { [weak self] in guard let self else { return } + tabExecution.settle(claim) currentQueryTask = nil toolbarState.setExecuting(false) + + // A cancelled EXPLAIN is not a failure the user needs told about, and it does + // not belong in history either. + if DatabaseCancellationDiagnosis.isCancellation(error) || Task.isCancelled { return } guard tabExecution.isCurrent(claim) else { return } tabManager.mutate(tabId: tabId) { tab in tab.execution.errorMessage = error.localizedDescription } - tabExecution.settle(claim) QueryHistoryManager.shared.recordQuery( query: request.sql, diff --git a/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift b/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift index 96bb2cd1a..6faf999ec 100644 --- a/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift +++ b/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift @@ -31,6 +31,10 @@ final class QueryPlanOutlineCoordinator: NSObject, NSOutlineViewDataSource, NSOu planId = plan.rootNode.id root = QueryPlanOutlineNode(plan.rootNode) + + // The rebuilt tree is in parse order, so a sort indicator left over from the previous + // plan would advertise an order the rows are not in. + outlineView?.sortDescriptors = [] outlineView?.reloadData() expandAll() selectRootRow() diff --git a/TableProTests/Core/Services/Query/ExplainResultRouterTests.swift b/TableProTests/Core/Services/Query/ExplainResultRouterTests.swift index ab0f40a14..a994a68df 100644 --- a/TableProTests/Core/Services/Query/ExplainResultRouterTests.swift +++ b/TableProTests/Core/Services/Query/ExplainResultRouterTests.swift @@ -8,7 +8,7 @@ import Foundation import TableProPluginKit import Testing -@Suite("ExplainResultRouter planText") +@Suite("ExplainResultRouter") struct ExplainResultRouterTests { private let sqliteVariants = [ ExplainVariant( @@ -23,53 +23,92 @@ struct ExplainResultRouterTests { @Test("Joins single-column explain rows with newlines") func joinsSingleColumnRows() { let rows: [[PluginCellValue]] = [[.text("-> Limit: 5 row(s)")], [.text(" -> Sort")]] - let result = ExplainResultRouter.planText( - sql: "EXPLAIN ANALYZE SELECT 1", columns: ["EXPLAIN"], rows: rows, declaredVariants: [] - ) - #expect(result == "-> Limit: 5 row(s)\n -> Sort") - } - - @Test("Returns nil for a multi-column result no variant declares") - func rejectsUndeclaredMultiColumn() { - let rows: [[PluginCellValue]] = [[.text("1"), .text("SIMPLE")]] - let result = ExplainResultRouter.planText( - sql: "ANALYZE TABLE users", columns: ["Table", "Op"], rows: rows, declaredVariants: mysqlVariants + let routed = ExplainResultRouter.route( + sql: "EXPLAIN ANALYZE SELECT 1", + columns: ["EXPLAIN"], + rows: rows, + databaseType: .mysql, + declaredVariants: mysqlVariants ) - #expect(result == nil) + #expect(routed?.rawText == "-> Limit: 5 row(s)\n -> Sort") } - @Test("A multi-column plan from a declared variant still routes to the viewer") - func acceptsDeclaredMultiColumn() { + @Test("A multi-column plan the app can read routes to the viewer") + func acceptsParsableMultiColumn() { let rows: [[PluginCellValue]] = [[.text("2"), .text("0"), .text("0"), .text("SCAN users")]] - let result = ExplainResultRouter.planText( + let routed = ExplainResultRouter.route( sql: "EXPLAIN QUERY PLAN SELECT 1", columns: ["id", "parent", "notused", "detail"], rows: rows, + databaseType: .sqlite, declaredVariants: sqliteVariants ) - #expect(result == "2\t0\t0\tSCAN users") + #expect(routed?.rawText == "2\t0\t0\tSCAN users") + #expect(routed?.plan != nil) + } + + /// MySQL declares an `EXPLAIN` variant, so prefix matching alone would drag its tabular + /// EXPLAIN into the plan viewer. Requiring a parse keeps it in the grid. + @Test("MySQL's tabular EXPLAIN stays in the results grid") + func rejectsTabularMySQLExplain() { + let rows: [[PluginCellValue]] = [ + [.text("1"), .text("SIMPLE"), .text("users"), .text("ALL"), .text("10")] + ] + let routed = ExplainResultRouter.route( + sql: "EXPLAIN SELECT * FROM users", + columns: ["id", "select_type", "table", "type", "rows"], + rows: rows, + databaseType: .mysql, + declaredVariants: mysqlVariants + ) + #expect(routed == nil) + } + + @Test("A maintenance ANALYZE is not a plan") + func rejectsMaintenanceAnalyze() { + let rows: [[PluginCellValue]] = [[.text("db.users"), .text("analyze"), .text("status"), .text("OK")]] + let routed = ExplainResultRouter.route( + sql: "ANALYZE TABLE users", + columns: ["Table", "Op", "Msg_type", "Msg_text"], + rows: rows, + databaseType: .mysql, + declaredVariants: mysqlVariants + ) + #expect(routed == nil) } @Test("Returns nil for non-explain statements") func rejectsNonExplain() { let rows: [[PluginCellValue]] = [[.text("value")]] - let result = ExplainResultRouter.planText( - sql: "SELECT col FROM t", columns: ["col"], rows: rows, declaredVariants: [] + let routed = ExplainResultRouter.route( + sql: "SELECT col FROM t", + columns: ["col"], + rows: rows, + databaseType: .mysql, + declaredVariants: mysqlVariants ) - #expect(result == nil) + #expect(routed == nil) } @Test("Returns nil when the plan text is empty") func rejectsEmptyPlan() { #expect( - ExplainResultRouter.planText( - sql: "EXPLAIN SELECT 1", columns: ["EXPLAIN"], rows: [], declaredVariants: [] + ExplainResultRouter.route( + sql: "EXPLAIN SELECT 1", + columns: ["EXPLAIN"], + rows: [], + databaseType: .mysql, + declaredVariants: mysqlVariants ) == nil ) let blank: [[PluginCellValue]] = [[.null]] #expect( - ExplainResultRouter.planText( - sql: "EXPLAIN SELECT 1", columns: ["EXPLAIN"], rows: blank, declaredVariants: [] + ExplainResultRouter.route( + sql: "EXPLAIN SELECT 1", + columns: ["EXPLAIN"], + rows: blank, + databaseType: .mysql, + declaredVariants: mysqlVariants ) == nil ) } diff --git a/TableProTests/Models/Query/ExplainRequestTests.swift b/TableProTests/Models/Query/ExplainRequestTests.swift index d4bdb435a..a29fc81d0 100644 --- a/TableProTests/Models/Query/ExplainRequestTests.swift +++ b/TableProTests/Models/Query/ExplainRequestTests.swift @@ -85,6 +85,24 @@ struct ExplainRequestTests { #expect(request.format == .indentedText) } + @Test("A driver-built statement is marked so it keeps the ordinary result grid") + func driverBuiltIsFlagged() { + #expect(ExplainRequest.driverBuilt(sql: "DEBUG OBJECT key", databaseType: .redis).isDriverBuilt) + } + + @Test("A declared variant is not driver-built") + func declaredVariantIsNotDriverBuilt() throws { + let request = try #require( + ExplainRequest.make( + variant: nil, + declaredVariants: postgresVariants, + databaseType: .postgresql, + statement: "SELECT 1" + ) + ) + #expect(!request.isDriverBuilt) + } + @Test("A driver-built statement on an unknown engine stays plain text") func driverBuiltOnUnknownEngineStaysPlainText() { let request = ExplainRequest.driverBuilt(sql: "DEBUG OBJECT key", databaseType: .redis) From 4b8be720e797cb3d4f54f4b17252065bdfc57e5b Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 10:05:55 +0700 Subject: [PATCH 17/19] fix(explain): route the plan raw font size through the preferences registry --- TablePro/Core/Storage/Preferences/PreferenceKeys.swift | 2 ++ TablePro/Views/QueryPlan/QueryPlanResultView.swift | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/TablePro/Core/Storage/Preferences/PreferenceKeys.swift b/TablePro/Core/Storage/Preferences/PreferenceKeys.swift index fd793587b..f72687792 100644 --- a/TablePro/Core/Storage/Preferences/PreferenceKeys.swift +++ b/TablePro/Core/Storage/Preferences/PreferenceKeys.swift @@ -11,6 +11,7 @@ enum PreferenceKeys { static let selectedSettingsPane = DefaultsKey("com.TablePro.settings.selectedPane") static let rowInspectorJsonFieldHeight = DefaultsKey("com.TablePro.rightSidebar.jsonFieldHeight") static let workspaceRailOrder = DefaultsKey<[WorkspaceID]>("com.TablePro.workspaceRail.order") + static let queryPlanRawFontSize = DefaultsKey("com.TablePro.queryPlan.rawFontSize") static let registeredKeyNames: [String] = [ linkedFolders.name, @@ -18,6 +19,7 @@ enum PreferenceKeys { selectedSettingsPane.name, rowInspectorJsonFieldHeight.name, workspaceRailOrder.name, + queryPlanRawFontSize.name, ] static func columnDisplayFormats(_ scope: TableScope) -> DefaultsKey<[String: ValueDisplayFormat]> { diff --git a/TablePro/Views/QueryPlan/QueryPlanResultView.swift b/TablePro/Views/QueryPlan/QueryPlanResultView.swift index 5fade12bb..16467288b 100644 --- a/TablePro/Views/QueryPlan/QueryPlanResultView.swift +++ b/TablePro/Views/QueryPlan/QueryPlanResultView.swift @@ -66,7 +66,7 @@ struct QueryPlanResultView: View { let executionTime: TimeInterval? let plan: QueryPlan? - @AppStorage("explainRawFontSize") private var fontSize: Double = 13 + @AppStorage(PreferenceKeys.queryPlanRawFontSize.name) private var fontSize: Double = 13 @State private var showCopyConfirmation = false @State private var copyResetTask: Task? @State private var viewMode: QueryPlanViewMode = .diagram From 961b6680224a8357b19fe7366e093fb7edb3eb38 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 10:13:10 +0700 Subject: [PATCH 18/19] fix(explain): keep the plan outline's root selection on first load --- .../QueryPlan/QueryPlanOutlineCoordinator.swift | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift b/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift index 6faf999ec..feece8473 100644 --- a/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift +++ b/TablePro/Views/QueryPlan/QueryPlanOutlineCoordinator.swift @@ -40,12 +40,10 @@ final class QueryPlanOutlineCoordinator: NSObject, NSOutlineViewDataSource, NSOu selectRootRow() } + /// Only ever drives the selection forward. A nil never clears the row, because the parent's + /// binding starts nil and would otherwise wipe the root selection made on first load. func select(nodeId: UUID?) { - guard let outlineView else { return } - guard let nodeId, let node = find(nodeId, in: root) else { - outlineView.deselectAll(nil) - return - } + guard let outlineView, let nodeId, let node = find(nodeId, in: root) else { return } let row = outlineView.row(forItem: node) guard row >= 0 else { return } guard outlineView.selectedRow != row else { return } @@ -184,9 +182,16 @@ final class QueryPlanOutlineCoordinator: NSObject, NSOutlineViewDataSource, NSOu // MARK: - Private + /// Publishing the root selection is deferred, because the first update runs while SwiftUI is + /// building the view and a binding written there is dropped. private func selectRootRow() { guard let outlineView, outlineView.numberOfRows > 0 else { return } outlineView.selectRowIndexes(IndexSet(integer: 0), byExtendingSelection: false) + + let rootId = selectedNodeId + Task { @MainActor [weak self] in + self?.onSelect(rootId) + } } private func find(_ id: UUID, in node: QueryPlanOutlineNode?) -> QueryPlanOutlineNode? { From 08cda7e545d4a4a37c461afa149d40db2e92d704 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 15 Aug 2026 10:46:40 +0700 Subject: [PATCH 19/19] docs(explain): refresh the plan viewer screenshots and add the missing dark variant --- docs/features/explain-visualization.mdx | 6 ++++++ docs/images/explain-diagram-dark.png | Bin 400070 -> 667765 bytes docs/images/explain-diagram.png | Bin 384262 -> 543694 bytes docs/images/explain-tree-dark.png | Bin 447026 -> 678649 bytes docs/images/explain-tree.png | Bin 435919 -> 555885 bytes docs/images/mysql-explain-analyze-dark.png | Bin 0 -> 651349 bytes docs/images/mysql-explain-analyze.png | Bin 637152 -> 543956 bytes 7 files changed, 6 insertions(+) create mode 100644 docs/images/mysql-explain-analyze-dark.png diff --git a/docs/features/explain-visualization.mdx b/docs/features/explain-visualization.mdx index 3c90ec06c..ec1e19d29 100644 --- a/docs/features/explain-visualization.mdx +++ b/docs/features/explain-visualization.mdx @@ -13,9 +13,15 @@ The plan arrives as a result tab next to your query results, so you can switch b MySQL EXPLAIN ANALYZE rendered as a plan diagram + MySQL EXPLAIN ANALYZE rendered as a plan diagram diff --git a/docs/images/explain-diagram-dark.png b/docs/images/explain-diagram-dark.png index 98dab2d715dce48cb491b8ee5cffb0e6093a77d4..3152b7671e58cb9b18a01e502a8d9537aded368c 100644 GIT binary patch literal 667765 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±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�=5uhiKoY8s4%)u08iGR$njW?y!Qxh0u35yU9pM9weX1 zeISYd$nS6Cp9zq0H(W^@9UcV5Z9Ztvrw|kEx6ZCidU$JdM+lxipH!?^O>t*j)NJJc zSw<~bzHlq^qfu(lr^AYlQQBUqY6pD1b?iu%VauluR^%6#XbscfZ7AnVcOKz!IZ*=c zyq;Vvs;&;vEYp|xU3!Axzr26fry6RG>3>H@faK7)=nH zJ`g{{4vmeqqk}POt(~yLlcebcC=%a4>tJ2dd{g6lC)i%m`oR=SU@5Kw?$9AgC`O|u zxe|Sp>_?yf;?3q~7+a9S(-P`>JZkkSsIx9?C)4s=$YI+vfUl#-^s{8;ikLrru7D&O zAX5mhHrUXAXP47{b(VFsUSnXir@Q8*Kn7?$)q*?&*=oFj*ULeH2?Vv{7#^+MJnx%z zW58rDvj{Fai-ZAanysm;{%CLdT5>RS#NX_IlFny{UxI=K*H=~81*^*ffO=wj9xPw= zv7qa2*n=2_!6ULc#F5Y1JQy5bNTdEcc#m8CDGEdxke-kU7{*SyNB;#Yvw=e}>irK)A^T#8ncD&!Q5Kb$D$U`R!Gfz3&21EfUtvZro`B7J zwXkX48ebpe;D(O&XB8QOZexXA?}uEsBl1@vGVHKKArp~;bWIS1^YLuOLcPAVOP-n^ zrizArHnQN(247w5VF;Ce^gqDU4>i6^JFmV(y zBv{^en6Yndnb3MF8x170Ce$%oJldO=pAfAVCx_{BT*OwH9cmuTg29pCwzhQy!ME32 zaz(p)Wd5!4WK!c$=b^yV!Xg%<%>COMwc)diB;aEL3HJo0riL2n+!)iXHNuV5#ewZ z$?rsO;5=OK1?Pc3Tv{QvL1087e?pjVtUXtO-(LGAp7&tx3I7SFr=uvB`oP9RF{)l^eNtu-R zL(qe=yYOc6aX?_va%vUWkN-y1}Zf1^fHocJlw`;q?Y-GqJ8-vGH-z+lFV60C2Vbe)zgtjQQ`1 zXRZktcN&rC})qDYUEPm z*5%!g9Z9We@^w)!uRm6R%WMJeBYg(<*ZafX6OK=@@J7t@3TI?Or}17c1RfURvTRl7ea!eJ2cmnLzG%LQ-v=EuTq7ol{n3! zh<{m`Pif$vsI)>$tV=43rXCF+ooKCu$-#G%Qj|l~;P5J;PJ06?N*pk>IXBK9|nbw$w@O#Nj)02ml;1i01MAn{2Gwkgh`5H@Y-5o-=6ZYBMGUFs}zZ{F4OUoUW-ZAG<0lCqO zU4(Nn#3nZp?TN?DvU_n`Tbdwr4_p@~0hwrWG_3lq_TvNX-4CzaMbA7|M#OO0&lTZc zzyi-Vd++NrxT6EN6y2C=EWiasbi3~W0Hqeide{28Pn|(C5qwE8f*#2IsqYwJgNCiC z`24=4zE_Z|hv;M1x}DBmc7qCe!bCzby|$?vLbliobC|vmm10xcs^R9U8o2WpvTOOb zqKcM7{u4~|@*ptl=2bDJsVFa&nJO0L_xYb&9|S>d!l42kLZgN&%iR#wuCDgz3eGzQ zCmWsI0x7nZ&mbxv`6K<_S3-&fjlc|9Kt`tVCrAxj7>4NsxUMW^z$SG+{nUCd>_yF5 zr^xs^Cv>wvRWoxK351DoOK&OwZxUb$T z=B0YHt@un1yG(0n?Q@vKhcNvs81KtZ3YjmxCbv%2yS90H?(Cs@ip@XsS6|}|?K$%o~fEUr07n-F?rU$v}k*)i{L+)kkX7V;i zE(G^Hp2d}j{cp1CImmZ|6r#OH=aQhnLd@A*f?|JIoU- zG@aHD2=G=P%{#^&bG#p9IWbL8^Mcrsnh)PsuHHMHtb4w~rBk!^WspY9Ci5em1hrQv zn9A6sPT!jwlh*S?;9j0-YaKc~v}U&t*S<)) z>jbud=i*B>RclA=hDf4f&Y*n0uK9x zbSG1ueBX7tpiy)s2Oj0Ve4YtupxolEfvzT$=W%gzs@l1hJ4J?v<{`v;UZ$@`A+d$> zEW0{NL7z75>ky7;Oj0{=94e_X7RC&B?3%1K0z~6InQ%TXK3-vZ8V1@;-4K9x`TZbx zr>>r0^Z1BB$1njceV{$&RqP$89@r1mAO;1}-LP?ROy?S~S&Za8edUq;)fGOu;*oSq zGL-bGLZBEpyudLq+glV%$r>cjqIh{XH4~SpJRamw)b?R@Q?1I2nS-Nh)~VrB?_(TK znS`=Yi*H2Fpnw1;Pgqad=O@&r&mHTTc_{+X6z-pzJx}1@ffmoDpUR#drQ3N+q%k{3 z1dNc96FZ&rKBPNKe@HgVD0%I0yi`9&OZ?*FXOQ=sS-zM^GTiPp-AuS2t^L$B@9o_o zl?JZF|O3aIATwq6uC1yDUV%B zNY`ID|Nnzi{cno(Cxyb>D!mG^mcu=gf9@(__xEcbKWBz6NDxr-y646lkH=HTvBt1Z zDp4uEsxCMR2~*W$JM|11NtqY!vZO?fHJ+Lw;R$2OVdmMhzY05pc;hQ#jhZN}yYb~0 z7N}Y4(%+0=tmc7V*w!L6jAmn+@E0$AZd{O2<+Rk!gM4I3Q{-^QRa~~15^MK-dE)IC z29Oap(NRRQ^RJ{XJy@UA{XjjS%xmmuX%x&sl2V}YHho9EWjf9RYzb)qXv=Q%J)@)G z3xLX}3$w^PwO(0T61Oq*UL7b|oCd&yS+R*nR^mHpUHksvJ*fm2lpFad#J7gcm-^6O zr3!`^PsG&wB@=2s9x_Ee;J!C8Y=CtfB(9pB-cq>^y(yhx^mR^+-X-k&|4GMe>Q0-I$H;MI|LUi2cIBBd~KG{l)+RwN>%Wo`~F2Fgybdn@nD;QldvX5$og0-@ zWL~jaVM@4D>~w081$nvCa--B`4oayXU1_QRFqtBvrXbqATRPuR7<|;6o>G>|=bKSo z_`{H~;|4wjGoj;W4I(|iYjbN%1mO6$Hat| zULH-UHbd>kX9gB_qyn=D?p8&{T<;RE|HHZQBkL~}ad?JE|Z^_s~gp2Zz3(}U+<{#&9V z0?`VGW!;&LfhaCsIgUP^(7Rc=Nz2GB{7VlJEcmset+P03#mjOnbW0l~b*O2o>=e9> zlAAMI{=M7QXNcFxBujGU>p*jx{h%f)&BBPRQZA;so=iMC-Ji103ne9F;Hf z;j`u^jIV7>qn5YtuT@|L3hMnE6A2$(#~R^G=?>LBhNJJQd`3#yuXYA$nb`~gnCH>} zQ4f{o0guT~eF6E7ckYm3Du9P@2@^wMzEWG6;TBa+4sEDF4L0vOEveB7Q4fvbQT4?g zS8@Sqz(v#4u5{tLNHc>z}J+n~_& zz`A769yY%lePchQdv*XAe&bIH*KDtb`(3WGUtpa>9C9(4o4yDl3J^_Dj`uF}VqJtA zlaZLtrc`vmZfhP4bd_66!UZG-Xx{EbGp)?)_oi~%vIZEK4Bf6aMQ{2)-#GT!ugO0c z*N0}trkiwKIFUMf;}03FQ5Au|gBrpt4WOlzwt^HFJI`@?Q$K!N-+j34_2c13{6fgC z&}!kGnwr`k!Y6LhS3~Erqxj*$XMmJjy1T=C!wvti!E-xa%W|VDgx&F{a5JTJTg_lE zikgtrq!H|b02j&c@YfA*3Vhp#cjK%WlAC+ivNLVOwd6tdcyLf!Tu@MOWh^S)KQNF3 zZ-w#NXQTm2{p@Qo)|%lKX@0y?#4sOOOQ~Oq*dmVz@7ZP}V8QAGbasd~9QSs`@p|5( zwf<*;;f_@GjUNcEqtT?(beiGVan7Cv1eOD}L@0c_F-cnJ^C09h>nfjpbj?T>i?~<8 zS%wFIet5zJdieA`n29lM0$nM~z=lBCz>Kc^_9oNv0`=yMgXmYnl1L98US^l0T({MjOtvP8U+mc+uW)&~VOIAuNZAla(o{OW6tSIdxzeV(W{*o4Z zFA`F=canPaPn|;13KsUOb=qEv12AF6lCflrIW3Z_uWrx$pLxM7=y;88WS-~B&11F= zg|TkSXxEo!^q5OoKhpGEwuVcb-VB##wJJ(yIgY%eyw-~}SGsUo*12*nO|Z4evH+h8 z`F*RIyVrwU><96B0qscBS@}~sJdn0Q@83@-!8H!X6NP*=MU)=6Wdzm+kpm7b&K3pQ z4ias)Rz?Sg*|IDM^rb$1`t;j;OOP|&sK&II;RWA+36lQjFM^qoJjp?K@n>%jHbrK$ zm@TM;EN|Kj-FY?2Fh3wA~@A>e8wcDRi9ezz<47jZQ)X_ za#m556GP=kEm4Hn#Mt4Yb#HPJ){(Ie&fe*vAvGBYM2`y39LO>+4tqd!K1vVeTFNL5F6~V>+psG}reGm$}nw>)m@bhkYH6*I$4wV=;VhS2-pS6z#mV6 z#Rwm3gn8L&!# z1MY@OKj@CM^Tawm_Fawj-K8`+AWjg|rTZg%r#T%R%V~^+Lk~uE-q@hwjNMG13mL7) z`g&JbsPgCg-wHYa7|M#+V^bP2bgKDib2m)Nwd@fa{BjwTrMqKx&=5WEu0-v1R1H*? z`TR7|GWV!VK1I+Zs89qw^5Blhrsl-V{xPv9^;&K+sTj6-eTQ=a&~N$y8wx{3bO1$M z^)teS_krstqF#>?vwMVolV85?ZwoT)me#-Q#WZGazul!tW&mzaYh4l94!7r?_xqZy zhqy%O4L+CUthB7}+fZ07Nr%XJyt^S?uVGql2x|A)pr^mJCrj)k-G1vf5M`H2Y+Y=6 zsH^)>xv25&bYKpZFQRSZw8ed3kK9OOtR)AHObn}JeP5;v!m2Z!y5l*ezsXXTc9{wJ za?C@3jy`>PHa^%zRmh`VUHjGVYQ}J(y>Z+O5cb+FfotMYu4L~tQ>*2m@~Wsbzv>1t z4e$h9Yf(5XVb089Q+YE z=+N^lt5Pzj`oHpYIIn-SiTj+aK3N%abgHSr>=Ay3Hz_t`t5)MYcz= zJrd+b9EWl5cd9VzMFcu#Pf8tYG1`d9NF_jXrCvVfL>dH%<10*jMcKR_N-HWLT-s`P z{O$s3HHCdcdJF8!4ODPzpr9{wj0#&wR%QGMFC}nGt6J*PZm}V7=>-otrDkL8>^2R4 zKA-j)nS9k^1g!ze9qH4JW1RzRZ0z?qe(rT`4GS?b9fsX^3h1g@GBP29`m4-8rDlvN zv_u*BWMpIxbd0*rTc161`6|Lt5UlTln5gKdSnR#AN2WAID75lk)I z;~ge`{o@f|1+tZ+C-veh@}H@|5~3M!%}N~w#MWB5x6XP0(x22t4H+@2oJjzl{X&m# zbN1v0^5lPN7r1!&{f@@nE1X)Y7wYwk}?4}mP=Z=HjN$mYS`zZ#pYbJOr zd~B9A{R68tlWd1v=?HhLx|fbs_v;s=fl#ZE7k-t|0^bwMMrW1InspfuwcEh&QILRg zBLOxJy^*AlzFh3dr|;9UoK+Rw6kAcQoCHl%YzEmt?x%cmxAva#1fQ>A7>FG#ex*+} zr5(&xTHOKtg{5K$ohHIOvN~g0o9oS}_H6V!AP-Q`ZnE%Me;}rlWV0ZC)6;|qjqY&>9x2NgEw&gT6ghRuKORJ9WfBb6rh8Cte|$C z7oQInu!3lg3puOaQNH1FxG&}?`pcN=4-{nFD*HL42whyn?b!cjBV(AtFiyhU@}!h9 zyiw;y3ujV}T`Kg*psZ`Z24~cn1QSf6I9pnAeSj5qs$&T-v-WIzKXH#Q(k{8DrBn$H zM7c%;2;Q)tOU=$Qf*8TfU)$RFc~22@>IaPqclwj2r6EXz$%$c0QJCdvyRQLF(J999 z{V5nsH6KlYg2nw6G3#!6v2*8u=z62K30VHG#r$6{_z9zUIVJ{T7pXJ7P=mpqHyDc1 zGG>7M10`G)>Lco>^sB#;;H9<}Jp7PzmAMfe33>kaA;VD^LmL|%y^~3Pq2t(*TjCO- zcKet@gZ?lcaV`mH-6)>x2{O)IElb5c25pyTYU4P~=Mzto9P3^rokmv#9RGO|A$$Xk@x6vyeX zvUG=+CH@bH^FL2&z6Qh~oLI0kUg9XJ#GbtOhITzp6cls-iazh#ZCREq0@Hs1p>p`ZwUzI#qoUKWs1|ILe0`yid~evT)WH67Dnj+9 z<8_yxxS;m@;_pU}@FEIU=zEMw4Ch@_ini~I+rs+8sib)GhoJb)X-t7a8Rqyg8#iau z2e@qG{Esl!lLNEPYh&Zx8i}~duT*tdOg}w${|{$x9oAOAZ~L~?pjh$ZRvb!O+#QN* zp*Tf~lj2T_ySoK1?(U_yyGw9)3l?(cyWX|e-TU18oVCv3ub|H)f#3Yf7~^vse8p#L z@DJSN-`5`a#QSKmo*b!FnBYIWSBm}xo{}Zp<^uf|Z|7McH}^XeM~ALR$Sg~?DkkQeh==jd$lOfd=OwTFB9`lT=aBo4SKh2RlNJ5Y!%WfC7$w^SVxsg8c|xm) zomMPr*kaGPKwZ}s`K8r`b&%T2sUiP`FJY`?dq<2l&R+`rueu>aFd%l~)^G8eJm z9DUt+?zp`0n5~AuPcM7Hesb3WfAJ!@x^QgjTc`r+CnumlVJhI#Ke4)+6e8-3V;0^KxvZ1MTbD@0K z={moj@rgQh7&GL>B{mHs(9(2WlB~UPz8qm+sd~_h7z$*YYY^u7RC#`+&Upg6yu(BO zzx%b^v3~>w-l_XWht;Mm6{1k7vDp|&%&J2RP3~Dr3Keolaksf{4Z`I{`!bi7bgcC< z1Y12*ZbueD%2rm)dAYyFq{uylhleHK?Haum71wqQP{Nh_`(?wRL2|pmSfZ3oA)6~Q zD%_Wc;9WYY_Z6e*#h+7^gIr_AUCJbltPX1-)>C4w4G_@B4c$OsM&KSJJ)!pFq-JBW zXm~Gg#llgs9J>DVKU@&}&jZy#45{v?&mDZ4a=PfKd;nv{O+4IGXUVC+pM!(ra%fV~ zu>j5Z<=-chHz!Kpu=by)1kk)Au%#ywiQ1mXZK<4DbI5W1#>;Nd#aV^d(SbrFZqhp7&8c3o(b;|;@e;4;>Gtf5 zhs*p!l-b1oA^@iLi}*2eU~o{EBa%oUh0J3YOW<*o52UKM@`ETLaYqIdwYpgN(Fc{) zuDgHa45+Kf=LyO$6^D~^eC`9uI89n%$IX|$?#Btn8r%;-)Vr9@P%$9&vy9u)bn=(H zLoWy{Ruxb2*AvGiRQLCvhCtBIqH#-M;&$H`a3*+@_RW4+CPKh~P)ynp(*?Zvzv zZ)yOoII^F>Bhr6|oR=Q08YmuK=PFz5((6t;y&U{QCS8|{Ki-75JbnZ{0SgOs)vJ#r zRT}LTnnLnIS(~B&n2E=b0?!ruYs|#Sb;6Vsqzf}9T^T+AbGm!%e*7&u(`D%jeO(^W z2yPP=x;>i*BnO|ZAvZu9Ob`ahJ+1sg^+9*(?cw&W)J{9v1#Frz zU!U3V{%+fH%@CO6J7oN|BM=ddoi^d7JP^tNR%0*M*W%}yV{469Y=%xAXdwUJMPVIF z3CAr`;T^bqSg3J|H`<#n8M;FClAcntBz?KG@MnX5Kkl|9++OMEA@tco6WxMg75)AV z=5h{iix7Z6OH5knIC8z-%QqkYR+L&n(tB>|rlxt4k7d+2r2cxnW0M^bV!HwNSMNPeTNRCK)JloB=T&f;*Xi&(Ir1+cY zo_UY+opX7v_8G! z_Ti)3JwBFTFLC7MVLXJ5T~=2o&<~>B?nJKte{iDxt9l>PMd4n+og!CDY4jzr*YV(I z(XW%!=0Oay0`bTCPPHyuA$V~~NuN!Jd9?v&TE?n|5^J#Y!!gDkl#aalT#Jv-$tr(h z0{b9pU=SAF^#VtnUdZdua}H}WvrIlPI56arX8k}Sba%EMDygC4ir3xKW7oK4p`oo^ zyj5SX!1DZ`R}IY8a%hBp!*SyILRaUFTAm*?N<^j&xZ%x*qSGyWea9-vm@-RpPNTQS zqt$h}t<*;26Uifaeg^&g-Km^snm zQ?Bf8O={ho!ZCGx?$TCT;VITDX(t+TC$rpseLX#rMTKRwSa2zEaX@}-zk4;Sm-p)z zEsI3UD%4>EoiYwt^&dy1cf=c|H7BXp+)=J#Ew+P`A{y5k&o8p`>r-f`T$+(r)5EMv zAOw-;k|?0Ai}hi>NSg33*Vx6h4>X4E*Ul#c8=Huy zNjdloH!)h$B(-jznB4>I4OWz}n;S0>^*olsVfpznK?FJcCveM%rk0w3WDBS@G=HcW zsyN0)N_xio!l<65i{mBi^euDO+rv6KZ1n#`jk?S5d`b-d^rQrNg1K_xDM*fvor0M; zEC7>SBu6qbTTfa#E-9)&)CtSK22Z_IXFfr?c_KA6b#D>Wo@YLpZ~1so)(-hT3Xw;} zXI{P8s@Y5h6##F#Ce%3p*oF%4KG!ik9IGa~AyMD(wUVA)*+_rwVw##VU)&P3lc#`V zqAGQs-9UiV+9jPr6Hf54rEf=9k;;mKbNInp{I+U`SsK;pSlh>gK_2&pHpTy1pwuhC z{|Qnc{Zmapw_%RiUE(xGCZ@fPSLA3-`JRz)6=TcVf~?lQsWn=1!B4gUtW%C=9}$4R znmfJOhy+X~tqE4luc4iWQ-klDhpwDT$--!M%K`yU0Zycl$b3^!b20=NGP=QpPF|*y z2awWH*#8!XJUhg4DzbfvO8sA10QB_PiXUG&kXUdriu9~*@V|72^=Eze`kr>NNkZm} z*uxiSSU+c?Pbcu5o}Qfq20@}g4YZuSZ1(QImc;+FcKTGS2G# z;=%&&te5G@!&xM3Oo+@q&CcGwb~ks^nD?q?@^a$`dv$>q3j88tbh0W>mao|&?(aFk zYT(bM<|b?8th00DH$JYPKU+~5%${FK|Fjxz`4Y|Vo;E9mO&w%PcR6B;yYn%B&nQ&f z{y^u>g=KiIU~UC_a4;b>K?_L4=*2cUS-WB~{OyvgvpYrS39;@4sD% zNjH1j8#W34f^^y~T3=qxhKgDo{ocrr4)?FY#;#&xupj!dQ2WrVKG-K1eF^|5C0&|w{=*O^$v(?O1%)V52_Re0OqVED4W9dVRtNGxOYhbo7GnLlK|80H^? z{?Gd2e}7yH!~!oWf%V)|%m?jsCh^DJFSA}_e9UH{DYxol+q&OeW=g8}W)?v(`X)f! zBqJ+Rke%&AluBg2)Nn?&cYl#tQWN)G-^JUlQ0R73)oeXi8W#sAN50}LvIS6wWT7yt zH^S?*_Xb(p<}&2PbpN`Tu?=JrTrTLfN@CAoIG>+_pBb6MAW62xY(QT^Y92A4dy*+u zR^4cqY)VqdgI?DK2L9WHFmJbt`r=pamGR;$3%47%JF=uyO^KQKX`_8N^EIintf<%+ z8>X=ZeIJU7EywET{U*Tv!1471J4it$w~}Budz11RgP=e+k3|sCe6#iZHt8jNkz93r z|B9?-{nO-b0iRd5Z@)t74oj{h;;~$+>AoWq=lj^$r0M>R_9ZM|%{YaJHnKOz&1Hy z#i2660fS+b9U{{-Cg1DhPja7n(tCDMSf?hN8Mk5Cwub+qqSo$r+?6CaUXbX#2-qWG zB5?{lrDZuoV*zjU5jPbT6=CRpe(I(UC^cI~33Ha+Pid>3G&H^IA9||79%=Nb&6mVO zVcqp+$5(RjCK3Bjw%ZB`1za$S^8NdW!-oL0vyqj#xwm$zLvPtfL(dD|4v^5sJJvi# z5g#V3HSR!isPh%_=5Abgzi)r6xk>G22S0jng_c3lBg3-Jgy5t?#o93CY&;O$f1mLg zR5s5<(^Zv$?F3n7h)nK`f#<=cW3&N~3hPyP%hZ+pDwSQ?au0PaJGp~ozWfhLcyAkV zVS%ao2hr*Agl72MbXK-S$c@yF0eH2ly8hOobVRwC@5Z9>psrwQ^~kpZS209A>90y? z^%+cc{5XL#oP;9;;(F{lxcSqHn25*>ATi&e0R2o>XFy@#ovH#)e0I*fJ3%k}VJA^o z2`oHZCnV@} zy-7|xGE|AtIeT<6RB=_Yx2=jctCi*4KGE!48)d;cGY-!H`ka6h zccdj*`%=Mf?r%_R)2h!!tz6?DsK*96wyiO}2>#2t&Q5wx7JnzNYM*QCWx@~l$MFYq z)Xg>WZdA3r1<q}Xi zVw-oya#(Xaq#!xhGY!!@h}|395He2xi9m&4H6nqP+=%k2uNupFp2BPY`$O^X&n`#) zeyU*>q|?PW<>f@HtXk?^12qEXSrWiJOTw;}JY#dVM?aT^HZ(f|F{ZE5yiPT5zX^0i z?BziYWUI4=C-c?4IVB8%@MaP=HMXp+2QUejyApH%VqAjKL5D!ItU>tbR0efHPrZ$(;hx#1T9GT6_IU8un(SL z;Lj|UdPb~%#d~E=Ti+wAFg{>e-=+8bRsoR47WKMo9_9~t^wZOv)q6S4-dRuOgY@yj zq`B%q&LL4^d+nLRPoB1Y|ApArz@28&>kSIah(S*^<8seY9O};<>XcLxw?do$Y9RPH zk)eD$vaHrJqDnC=@thzH6dPr!?z72;q*j)a(Qz-Ix~ZWAh4lq9R!n|8NP8iN(gyuY z7_`=@=`k7~2Y@UNma>IuurNO#u@1f(z@K>jE= zbXv{UHgxh3IZVOJiUsSX3U4ph`8+k<<@M;|wl+P9&*z=Cgs6eJLh5FqbagMQzvpTm zC=Lhr5O%$;auFx0=c@Wj)?GnK>M2<(n_nC)*pP^Vw~Vet%h5lGx;c-Qm(+fQM}=QY zi=Q7hLSFD^r)uCaoy>jxUF^L)S?nJ-_=lu_GW|eNK_Tmgdt<9POn_TMUCkEJ2%^0F z%S5h77sX!@8M0^M@#Tmi&$a!YZ~BtTe5sm~gvlyKK2>%)P*8?^0wpx6wM(Jhxp&iDqrzdi68KAB@U@$WaJqR#hGy5RHlVk6I(EvZ#-xexNLk{DbKv@h^2SlpU2Hui6j`trnw@Mv^DoE zC~^seR{cl%t1-5}e8_k47VS9PaW#}w!usdKTng5j!YuX^#iM|n7}Q5DEMCb z+QfY7EbTXv3;uMH(ME^fi;W2{ue&wlDp}s0cyNry^Nzd7NfT&?g*t;i+mD#3{3^H7 zqzgO3<=RIt_`Mz7u+b_&id>uqe*@Ya!kmk@K00WC8>dxKpzBh!cYI2Y3F7YCeT>sb zh9${^BRM&+gJ6+n>7Yro3_hRVV06$qzp+ogc$?r!+WSBnpC-JQ6QF|S-dis^@w*K- zBla5vH2oE|D#o+U$d$50^Q$4?UcLE4x2!KNdcwRv&AP}U?eh7DlA|qQyv(<7zv6zBLH{PA=faZu0&6e)f_-DuLVF*IOVhK>G1GXrr4q zM=Jc+xRK-@lpIKK%a3Q$m`Gp&Bx9Pd8XKQUx;E zQvU9Q4;p@8Jz`{K-KjS4NsCYCbKZvvj}$1(=jP^)-JEUImH;tTN?*RDe~EK*%uYzw^%ByW zMSNeLrA5gS5)wA8wi{?XExmD)D4vaC&V0*dlZH>d0VvJ_?qDa1M!jKq-u&%BlRsIs z>&G-u+s^N4+W+zd(^Kii zJ1SRg%MLdZu;d*unNG48X8yxEmo6viGLN0XyKbogC>2XqW=pX8iA84L2jX;os+0gz zaV58w^nGH|OHXBLf%e>@?m274Ln#xfF+V}9DW(O5;)XDj#e>4!1tG)~H=q0=P9aSR zbn>&d4Dqsz<^1p-o@7q-kT!ujKD*L4iBRfre5UHe^tZpRBKyKJvj@Iw)#X5Dj%_Hs zaxaKg43F3g%gs9zZynVpS2G25pt)Yrafw(8?nNo))b;Wcmx@f~DoYovE9#2wmL5!i zm3X|yTlo{exrvBCJ#@B*ai&HnM$*_{6>E`Y>$)6u%!`Tq-}i$8DL>_(U(J-alD_Nc zc7dC{weuc6^jszrsoPbvQ#(TAai=G=QZBTxu`EKR(H35u)pw8oMdH=)D4aZ$9inN9 znCtW+K*a*!+x+XI0$+hlj>g1TE)VX0DX%#Xi;*<-(BhJU%=`?ul(MEf3%rp*%sRm4 zO;rKjicb{CUewN)qU8QN1M`%^VA*49CV1>A5>?68VUJiVe@I2pgo=5^4|Ru=^8%x@ z8EX8XLQ-&Q>All5JkXYFhq4@v|H-F>0;R$J@eF ztE(^ZSEYv&WFiYdgw+gNKCLQ?442ZE5?Sv5r6p4`wnCf!a`(C~jG_%aj-PBetv_ds zr@(QFSK?fycG)J!OG@GL&D3Be^5&MS=ESq<`1EvnAZd$t)4BRaQ~Y;_A0-_k=;csa z&+sP}_G;vv&Gd<@RPz;5*elhrMD#?O7r}NVp`Ep}x>AJ?FjM zMCQ7+ddW7DyAjE!u=7q}koUw6$rSz#j_Clun!Vqwq>_vvkp{Hr%@7Sdawc{*gg%_< zaj{pkJ&n-3pG!7j;sltT#U@F<$~Wwjms1G>zy3~(=RCW)1=9C-E5Q$)8`j^CO+x1G6k(6SpQ=B} z*Hn9DUlc&fQ+vtW!vr61j9|>^RpbN&qo|_Tw|6W*;%DdReN^oAK~|@@i6Nhx>*~}A zXd6B`{4gEsmr^|*D%1+mF%6NwS5!L}6C8bt>8JN>C(+;2Z7l%8w@Cs>2=k%v>v~*L z;v@UV4EIOZls}+WVnM^_(-&8OB;M3D4t(S|t7>8Q39sVW&zbEgeH}ZLQA*dTu`c^Q z^L+QsdW@b3QdzDQhn$hl1<*mZsjnd!rXv3%w=3&zbPMn_UZ+^PMndCMG^KYQHt8M^ z(&rvMh=dHQyk>+87v7;&qxw6br_mGX4Cq_`P^Pp)UQIe|Br1qq^6T@tBR?G+hyx{J z)vqep-cGgI7TA$a{JgxyI^x=U0w(`~=2Y{jZwrleKeH#*Xi6uLwpp#mb_=YjVTUk* zOF^1NWkt%-U<&V+u>A1Ub8{d!3YQpXaIu5T^ZI>zbp+t&UCU15%vp>@ut?D4D#<{j zTMpytjdqROeeV29bVjI3&`-8$M?bP!GcDEycqPG*BzowIzc|jn4?eCrg-yoLbNZBH zm?PEemnE7k67QBN4(t`$$Iyqq*q@LLeDwTg^wgtTUj#l%*E{}2b%TLX2h}c~ChxsT z)@}L9O0l6MPn{3)Ji;!72a#c2l83k-)nn>6a%V{Ny#Dr)_x&-vBux)qw^bUS@a-k) zBe@V?azHNeTI)1{ba|2U74}OE!lU}eo1M+`Y?q~L5ziBT@Cn?b<6r-ORn9!-zw3i5L z@wTe;?87IU-46U?q|5QbsGJk!8H2|rM@o64T__V+$~l2WS4Km}iJ?>tLVcpLs`W->3%ZgihKrTjWkDp+DF2A z^ezz}rOc(Jw$OWOB)RDu-1Gk2J|W00X>i6`yA~Ct@+_{4>i#YM#EV7n$%Xd@L^{(> zBU(?)i45#&N(z`VsrJv&n>EUEjzSaMgO*vCW^bygwC0O?&F#I5{0ZyMSCH|w%XG_a zfleZ?0-5@GY~_OKz6)VtjcF+|T6avOoMf#tf~b!yx^#WEikp9KObz-w)JpuAu7ii` zRQ)dR!cQ9cwmIk4w>0X?)A}W4{slR!%qa$KX>!#(-$OXpN&zYX^T?;s&u3289-eFd z1b0_mdin>rNe2%LDoqq$!i{C)Mja-x~H`ukiLLbng3xygKMgGGoKeVspscU~$v zw>yXJQ>=Qs;EMyOi(8DTtmcD`wze3DBgfQOU+7T!+LWqdUaW$ka=BLUCm8ws1^>73 zwBGR{BozUy1#Kg0`5!BYcN&=#Ae08!iaP^cVE3i^>I;h*IO~v2eyjqoh<~qo)jg+x zK>Bg>iC})xN=;T#c1$bbMXJ%;@*NO*zGI1mm5h+{EZt>zZhXFN2cF zL-*1g;(nKNV2gP1GNZhEY z!EL&#(>8zN4uKJ;%_2-ZNH@1CFP`k&CgN*uv?G2#It-T&AyDmDa|)w(u-Y#o_uA*0 zB84nhDhHx01-ewdN*!r|2 zn?&}4;6W()%Gw{4N(VR^)};OG9nk8ns`z1y)JUf|egOi0si#%uzQW2`DdlqQ#(HtZ zejP_nV4hx!&tyJ0M0vQJK4`Jo2nTyTKQKSsdo0YzEqJTjiwTaOwQC%?+sHn2IFSx! zPi`H#e_p1tpNOz|P(~u{;GBU&bzIVXC#6g!CXU!{S>Aa0JbHG+F>s9^#}`vT1pPHa z!2uyjkiqCXnC<-*sWJ9?!#oT!H3+_c_9cY<-_2FMA)>%g)mg>#cJ}qHV_7)4PzzJ_ z(AG})FL~A&&j<28h$p+m8C@KOP?Ti)C!siIi^VvEN}nr|$s5*$>f746b0X`riMO4L zq|8bL%1wTSs%b(PO?XtU7#Zx9G?L&gE1t`h#TK57^}YHSbm4j3W+1->YFsLA~H=W=d@!@-G!Z)Jn)|rkNg}{}w=iO`ZYWi&Fz3AjOmYis_ zdyPSQBQ>(}`tYp7vmCSDbr6H~jX{V!2NL2)pJmGdU-Kn$D>jb2c7sSBP2N*xfmrpn zQ;^ox`XX6$zMw0sMArq8Jk^~-Y*I&=schS5@p67F1JnWoaJusOnZTA~r zE3vShwKUrAeerVFu(hph!;|eATyNEpAsC&3R^~gwPUkiv$77j;oG{DV&KbL3w+qX! zqXFHfQdV0$Y(kbbhn$o{YzF~=$5~MWm&Ixq4Zp)~B966T!E;I6z_^wb7~SI3*iAFa z$bHV#tRBhU0JesC z(EXf_=g|s0FR{FJfZEe>2;%T37?-qv1nrV%pkBVrcHarzt$q=^ww`lil-DvrM=+(u zW8ThfZ!7VV7Z7idz&Fz}#(sM@;$o4Bm=34p&E`AbZqG^1^UubeCb^tTA9vP6_YrK- zRio>+^lKlkeKH0^^EZz?)B$fNpHApUm0QFH|K+Oh-9!CuvBV{}dp8W@{2Ccn;e4Xk z)}sg`^ljhlCR?C$HWIogEd{?HZB%Jj<21T+a03imo)*a?XV}lrmR#)}+e^zQCRAE! zHy^HLPTRkh0iGUd#lE+~m90Z>@fsTep05~ujF8|5-ytp*sbW9SJnzjU+$s)~(=Uk1 zhhMcMMF?cuYscP2WbSG3OTH);%*hUyEo}LaK|or|-HMzi-?0FBsG-?6ZPPGOvS4P- z9>B;C`anCfv2Bmv%DSYYxHw3}KusC8-YR~QQ$@AAofAIR0s&Qn;Vo$^TEn3wDI^YW z-M_cPHs9^X8k=@_u#FI-4M2(A$7;^@uMJ;^AaqaEDEe&_Del$s+Lv3%p zMZK(0c~2w7Y5n2`zer79!#LdMGB5hcgrb&tZqM9s9gL9Pa!xDT-@de1I3?l03wZwr zQ>ltc8c1Y!cXOt>Tf{Pc&F|twg;vpWbj$QfDa}P~u?m3h;k28R7EXe^gZ}9_@W#OU zA;Xo1$#PClwZMjDX%+{h)*!chDzM<&(1rM)u{xhGZPP_ftYYQhg9A~Lt)B{8g$0(22-3l+0zgP7X5pLuW z*QrcHfYh7Md2N%l1(|Ip(Ks$T3k7Z2GX9894c1TfCgS^i+?e_dV>5l(i~D8MddLih zb>3ab?|Pe(j=b}9bmF|E5*=ORd~9V)brt2^&leiukvR7_@9({&2vshn@PV}hQKEnC z!gbxm0O@pP41e7USw^_2gOH=^CN@8Y9YOs}Wuh}p?-`YyqvFNDLSf*Hrp0%~Gr$Le zY7HH^UcgR(~Onf$?G2qEcbHw$&n;HDy;P{y%v3HpzE}u?OT%>tv;cFo+wlb&ID6| z7mKgX&jT#ATyF*MmPy-l7|HIj0p*-pT6%J_gsO|JD=_H|=DPgSGMCBb17yFSjKao& zBT)5Zh3B2&E}(GH9jw0tQjBLWvMWEj!KLY(PZ+Ynt*1VthM^d>f#qDUQ1u0TPIt~G zRw%6?KZY*Cq#Dyb-r(U$02AY>3+T|rTxtD^q;{RvxR!BcPba2O2?8pD?{0Rw|Eo(= zd3*0qk}Eis{q|a@?0{(Be7VU{Z5VVBTTl9Rc8oyZBWrdXz+e|jVC)M0ZZ@kodNqBv zh-A}v`<;=V{ztda)uk%CfdQC^E8+y@K|f=~6WDoF{qEG-q(oIUW=BCZHSx}V{ed?# z5YhgzK!-o@7j%iV6cGr>PmfxD=CO{J6Y@g{TdYzo!lj#7 z*WW4UIDj7vaGCSDr}7;BuqU1S1%7fN0z4akebQcLEYDK5id9 zK=SCQ`@`8uH~|v3$orAxJ)q2W#O571!@AY?A(^dB(XTG6rYX4W(K*?zmw*rJF!Z+& z-?&0AM(}p`6Q=;qupl7Ru;g8eCR8R8 zN2pM+@2>2}>|ymhQ__LbhvH*&B=Q%NMeI4f*Eqz9r@M23VJp0upfEQp{pb1&+ex!NQM@-%m7PtMlej~djB-XM9CuiS@qgJ{^V z|7ZdW^IT!$IEkvjGr`zim6Lv>0-F?!k!r9`C|6H*(SW-O*nrvxHrIx%G=6T!d}$jl&_Mae2RMr zZu4PLHGQA1t#wCiwc@nczcep1b~|QWX3rJN(`}K59N+32WXyCOugZ#V{HwBpEy*C> z)Y`Y7n)4UxG0SUC)84}pC$Gm_g7+U=-GhP61y%Zhk6R;RvvQ6@De8=(C3P<692n1& z*JRG-%aIYQH+xJhQMtj6ts`z8xj-xY?Nhq`O;(GsuZBB5kTo1xVwmAY@zc3>@6#IqPHW<+S&zD zbg@L{e-FwKJ zB9iy7wXgvgJ8Hg-?nPs@qeRA+Rdc){(GPgDufO6?eNG8d$+ZDw^+EiH%ypZk(-bi6 zGJEKE)2x>S@9faA*n@BSo}2#q9ufZ>W4YApOo!2sdT;#NnlC9b%J$_R#0#y);0|Qc zjsM*5r%NX5&377;uzsVb@UJrDAN|&=+0aPZ>at_q#;1r`b0jbYi^&dHEU0)nsLYsX zf2+T2L^Ehqr{V5xK(o{S`qui32t4>9yBIm;M>kL`6BN%jcP;YhVmcswm~U;*F$x=# z>1l1QcLOzNMl^;`uu{WcGX@4mJ1L*PLhq$^Z^l5%{J0aeBLqgpW*%P`)bmqP(b}&+ z2HXoKMDKSf3kr=k#{`ulh`=7bMT z&4%qllitR)3DjLPY*wu6jb?9W$F6w{PB66txtsT*B0M_yv?A?aZSRl8_r!mP6N`cp?1tXY!D%)|A%8N&>e|@>82m;J_Zu&Jg&v~=Fo=Im`kDLs)>$u0)-Soq z1`-VTO?)rZKB(U=R{A8XM|RH(eomA`nXot7;!JKYFmO8xJw)8azmRmlv3|Fg%%5LB zLDtDDY&tKj@@&}rlT+XYF$oaf`?;m4x2H!%F3cmF;S<%u6lsB%SI>NlYjwNL1R2D) z#&Id4f?}JJ&a>U*1+jTj(uu*vSEsBQA?FpHCbMfRuWEm+DWQuYHg#oo&jp9s8-OX$ zSawtAG~_up)II*-6kLWj9&8?$B=EJ|wGFqByWM0hBIuwxKyen8p7vj9xRKj^jiQ3@GYB@KR!Ud6bqebJpV=)ypsL<`5Vg%)YA?U!LIkVnp=|b?U zhE$?la1QeOoq`VK%Z>#tdB_x3OicC`|HAIZiDf~VG7!%eU|QkqHbVEM|FL%RHv9>Z z*1lrcnrE553^wM~N=FtLj0LaA@8FY;bk;bZ#7kra3;9b|>U9)BnHDa_G}}$z*}CV# z&tc^C8QqU8M~Ra*Woun#w|rw$C*|-JllA|k*gu88$ldwK&FwZMv`_KRyX^0*&zVdh zTMT^XCh?;ZLA8_fqWcO94(!*R(?JYskxUj?>Ll|iJPKXZHd)E&;$h$Ls2kIydSn=* zMY$dF?>hfb(=*X&r>-nbeU@-{Qf&~>@lTx~-m4A?|Jp-{Pu6qKoN8^Mjv`|T|A*ay z3(0QzP_I!z2%9t`UIG3~F*_@NSS`9)M>cR6(yh0z5#w9ViXyp`+w9%$LcdRcO;SZG z6bWu#R)}v7DR9`pmmyussOpWJvDMLR2$bQn8n4?mn|Te_s0Hc!>m7fhRZ&rSAbvqy zd=$SvB1CIdernP+@Z2D`Ci`b)eX3QHh*IQmH8 zHv;mtcBuW)`k`mwb_;y8bzDDWKqc>6SW;5*CR4ioO)@R#Y0%Q&YzVpp!}-fWMZb;sk7=Pu{{1^L&`Uxr>UeGjy+3O!{NoU%^5; zIA7vWTt1OT2A});Z9Y@^DU3`R|D-=r2ALsB64~$hXG+{jceeMdEAH{en%(=3Frl5L z?p*K@Ci3jSW%vxEwzWBxb$pL7 zehfP_XGdS0+B75I-8Pu&_*wugyBOi)W|LXiw*KMB0}i^AmK)4E9G~PVf+IaLZ&tcG z=z;5*AheJ(LM_-y#=^3jqh*=UdkbURhYpL3-Bvd0j|p%2gQ*AgTYv5x@RNK*7ofNd z4O}he&5$cZ;V1AiK2uZ#+2oFnDsEE|q_ce-$C}Cz2+o;g(q_?bo8XF__vdnXJf)mS2L-WjVkJ2wz)XfSpFKMMKQ>V#@=F+VT zM!L$j2fVF>{Bv4*x|5t4j9lCSS~Wh8PEumg*Os{C=&WeDgM$M=$T7`tZJ6N{y(rG!lIY zMLWZQqd*S)@uZntDhqd{@VG!7fzF@NS%i?+ATf3<+YCK~pY@z^mz!HS`eKj9H_4cj zH!nShMYo4YDU82l;4RD|MyT|AdroByL>r44G_Qa-0lLj{4ZSC*)H;{sb4ioUbTnPW zSlM7t4cDA|-2L|pm7aW3NUS^WXBK#1gvCKzRChja#Jur~ocs-wh0qn}I<500Qdj7YA*lF%;}MWvb4#QKwp-_MM-T&73U z4nW(d!Mctowyiwm{0{V@A6wr}2tKID>Q)D;AA_7C?08;ZepnCFvvlOpQ5!c9cy;UA z*qj|+M{1oXeS7AxpX4HAV(UdMm7~uosEpYeLxkB1uIMfg1SgdCwWftz(OYL#X|Z|H z->)APJ)`WYEOUL#aT?OjuXlwY7qMUS;V<5=hrVlszN9Ow9pEA{&pPLIjqW&Jv$Tfk zIDT-z_0*T${O{(#|KG;}R8MbbCsx7Vc3)xNVT!^HUeW&R>+X_%mdYU;Ns_TQnPLAj zecsJqf%Q=)PCVhhV4=sWrjn&v+`n3jQ4|$k9K&cN98WqSEKZ`1brLeB(Un8>;2N&c_^f&lJK1^fQFq!X;Cj9pW!?0p?>bzr zR=YK=XJRp}SwXog`OhCwY+G2CSYXp(&MdDWB3AWJ`&3j$MmZ}^{}nrTW#Y^gb;C$p zpUw~z;QJo_@}vSCa|JZg-s4@m&a@%WhZWUgIj@1FHZo>mI894H7Aj9e|vT5!sT! zS!0DwLEhOvz-qY8P+vsrK1)eWO}`pt?ZZ5<@FLTHcFB(^Sa5hAr%*=O=<0z!%j9*M zhJP;WMYWP}0Jjdl1wC9Umc0KZ)w1@#IW{C`xl-~LgI)7Lr_=Q99Sqn4==u_ILYRXP$D-kS}Qo_G1s%$pg-mk_(E!4 zpXsD%ZSza}s}lL>sIaW&XK+bddR5Gj^37#}Bu|kTZDl#@Q#)VNI`;7#OJdQwgQgEY z)OsmNud05oS=}>WdkTpYC6IOI>E!o*UX`=Bk$4`fQ!tGVXJgG@}U81zKO8a8dhxMg8XO-waT-Yb7in$J)T^|>q zi!+i}QsF@gqhc4aSo~!e(!=~K5&8Prm(dbazmN6@Ba&a=)*TMgs`2*qdVP_=Gchrp zJYDNFf4DiTv79Yal5b|lAs(qM9GqDrN($Ouvk;4?qos`zUxNTaSqjd*Bk7k%AaJVq zCCPgZc6JpYt|l+vGz!^pi-7TA5>Q*xv$3g${u$|Sdc1?7_ASn;xo06U`Z}}AaOi_C zsYrE5+r$ZGNzh!GSC3>n9Dd@=JOE1@=}7+b&%*JCaw+V=F}I1Lo5IVjmd;A8VDG_c zKGx@cd?Rpc=||u)-Snd_%#YI={}M|b&H0V+U&!I*4&Dh}&uv^jT#WKr=eBzy(m6e~ zK8v)rEJY9R#3Oqa7Zv$Ld^D}F`EGGz^7Biv#<;@t$-0J*l)Ym`CsEwt3mc zZM_|l#|3o@Eo&#Jb=@vRQCSJzOYGRxl*cxDL^8KvgoZqB8 zY*bF!Hu}*nisTj;S*b)Nd36P0d4$Js;7NJHAM90j5Dz>0JARsgso zGZvynQ$3Y@{R3Y3>UxVN4Ub8EY$8vVK}aa_9WQ*dUv(-2Q}E_zQ86`v#o(YwES>xe z4?8CZz}n<%PO*zTxahekm;KuQlVY|VM&8A>2`PluUQKMb*FP%n_XAT(<= z`8^5oAT2?W-@Mui81uMbC0jdg!AfLFo3qxJ?L;?kt!#D|gYKIizeP+7mk+J13~&;q zl8R~ee`KfSOE7LXk_od{{+^w>aGTeD?xrnFHn-nc8t!nhSBN`EH^~zl286r&wp?Cr zpR(E?8M&Y5&`vlxDU+a1JnM}Y;EAh_Sz??iw>ei*4J3GJ+_YAPb#3+__N^&^bez5B zw9$N?Jeu;)?P`sIc*_@h^~*y$q9ap;^?h~dy4dUeXAdA_1dp2#_P;k(-rz)m%h4V* zkP!=l1F+@}!4#=-j00iYPp!QCFaO?+Kk@F6`Q2z=B_rx+%9#JApKtb5KYAqSw@l5c zWZd_GaL6Fz4plu3v$H+Gp>51}+O##!=&jh&dODoj`K12D9F&h8(WR}TB9muA!jdLL zlP6UW2a}bN{p!*sO7u86AnG<>UVz(SH+zv-NR4id)LU1{our8DtiwFqxUK5JIAny0+2t8!=i0Qs%Zh^_#_Di$hr!Z++_MRYB ze=W0sJr&erp(IS5&@kxA&6t;u6cjsoyoA*pcYtrhyEGdyel)*vQ^;QqKtE^<*ZW}B zzn9OqCD8x2BQb0`c9Rd$Gj3zxBrK; zuYhW6&G&67RA_+$#jV9Xh2mP=9g36UPKrAzZE<&ZcXtWJ-91QgcemuFbI#m1_s+a~ zX5Lz?MF@Lk?d-k3?{7cRy6~#-gmdq#7o3ls4ZnQ<_ElNaB~MQoLiFa@v1hsw2+~;IN7H5tH3Yl5sv1G-` za~o%P-QUT;8ZFCmp21JwKCFa+(+2>MX2XjY2g}aOp64k?p6XeNLGgOZj6lHtjf|eM zm>9~#wuE4|HsnSwR1sVkd$AGcie8cW!R@o8OX6NkvEjN@srH1atn;RzZTk=Tvd5KP zmAREL?3=EzAm&Eew)p1fr#XA26ZY!E%Zf|U@157ml9~ONRy7u7C&9^t;>~x2+?g_(5*vL(xIMU znNket^8pcP*k@h>T{m!2vWVfp+i}NRq?`p_py$TaM-kn9Ce2Dw?cPPFfz2VeknK#F zup%*H0Nh?#Sw)VUWU(R8LfTn7jlX$OM1rGL{NSKu_;f=->od=>^Ty91`dk{^H5y~I zJc76dQS+Oul-nQGR)lriQPG^XsoXFZYfINb0U3|ror^r8t1{gljgMtLd2u${vEsI; z47^_ETtS0zz!VvPUX;v;7fTqH!IQm%TpTn+N(T;_2XgU*4kw29()h)3#8!{N3O`4* zE*^bU0K}L-7Yl$0#=X3;UwdnUYw2W+>CG_ zq(8U0AdmEi;E@GV(O6`&1}C$~JRsDOuH+q=cOa zW#d&27y6$0mu3#1dojbonukk}Lq{LlA768enDeh_-VR`1V@SYidjB*PYy0~4vmk#j z)4;Hw?O;~1mtQE!m0Q?x}xSmhT{QYm6g>>^Ip{azpPtv6|+VGPzrBV7@sEwPaU zCn_JvkCYq(2ox4qSaH9Z)l6sv%JL42<#;+m$(%X2j+Sw5GQ>W^_l}fKnhD&5aRA98 z1jGbhBLg56U32cPJW7?H#Zl&+1;n18!@kE%~1Xv}9FLca}+nO9K<=Z4+y zYgZqIT(MPpNb7Ng= zO14u!v973jmybMAU%la)gWgF&AKUnDS)=SBIQmY85~f&CUmqWI)1Mo%5x7nsaJZm3 zU+Ks&l=?y9p>;KoL9%aD_6+{zEP7erjUV4mNOKG6eXnHx*%)>pq< zK}c2szuaN>Hy&2KWj?_;SKJM13pQNwn@!F~)7yKGQ(S2fsBj@aC7` zJVL$LY&dzY5tg=U+50?{3u3!Qy+?S8**`qA(vYzCW4HtIVQXX7gfVe*FjWMhnT|)6 zRdlXSf(y`;HIxY3nQYzZ3q3iR(!`p%@GMr8*C5$&gLvMdCk{hu-!hz>rNNUq&K$)` z1DKdLXWUagFEw!&@4P~~1fDGpYVp11MM$l$Fdf;?S(#95A(^5)QTy~X^?R)O;(2E) z7+%wCqjrBP`N;|0*u<#t!MFRV*2xko+$3dlL(2i-*K0;}qInqP8KZNE-%lhsL##fS z>oN1}og4yUq%!rBDf)wN8fU%kaQ@C4qBK!!rV!P}3tfb~w9pGWg8tUy>@HQ8aV(3{ zqHNqy(KH^b>QtFZW;_4hn+njB%DaQ}>Mv{(F@Rd~qMki4y$c=xPr0CON-mMwYIpOg z$9s6`$;wf#>))R?8kn%=&@^sGE4?_sQZSuZo@P_Tkx)+igfD^c+Ra>0_0o^0Ia#O` zw>YG1yq!Ss{!g}D0=I~4JR*ssuu@tpzIV0h228`+`rR5$^aGb<4k3(Dq+XDSX<{p- zrZWl3QHi``o!M5uElf62d-kn*Mf9|F0UJJ4D;mt3FwPer@HVnLMd52=@SzwPdx&34Gq?)KXHf@#vKC7J7%~1?yoD(F6w^!_Q-fU6DgW`Tr6G znIZfU`NA6>$f9Z@FuF+xzy9&}l59-$W9r+d?GFQ|BFKc~te7idlxvCmk{MPSy&_fm``XTojMkMw-F*w%W= zaXXt6Hy+s)^yHN!yg6 z4zKF9wAw!;fm)_$zPX*qO@r<(t=S^F_VZGxU*T!{F_UGW`fo2S-}}~D&5@V#n4fQt zos-~ZJfjBap7b$X!zd)`xba{ed*>2fLg|JGJW4u|O|#O$fN*b%lxvm9H$>;_W}$L_ z;KX@dQtE5EUiTehSSMt^HB5CPHeP8wuw86y%6*wL*de{123yagM7j@^x*bX44C@Xi z=-`yZL*QO+++-6}W(I+$Vf>f)Bmy4whF43=rrMV$ATN@PE4k}1u9bG<%`UtZtCP5r zLGF_Gakw5ERr5O61HvWu#=p4vR=ydtSyZ^5h$m=TGI!*xZ;g5!0$imkV~-x_%OM3U z%T21uhrIBO{e>3GI&f6_J;FX*#>dBpEg?)->Lng?whCVAZZX)^mAk>vKqGr7^NTC( zZumN(-A@#}cszj1lHEQ)uep;OCUZ@wtm~Ov_U=CO*^INS-C|5wv&TEB&Ko;)Xb)IU z4voFyD?cXyknMT!#z2SZ>h6>u?zp5;dJ{!0pLyMhEG_Au$6aMQVFl|Y>^)0sR<--p z_Sn>j`x)qdKE&orj2Wm?;dDj`?QjEvF2zQI6N_<2NnTacM8NV zd2TI!#d~xQ_3Kabyp%9I&u8g}M1vQ%5f}5tRIz%0rG#8gJu-t97hs@*KLh2$pxEO| ztDl7ZJMi0vr);Z^g$CjdCl0@ z_m|Xg>UU>gJvD{AFqw2ZgppVGLGH+~+=_zTSI-96{Ys15xc@0E%b)II0`i`#%)Vl} z15z7-ast*+lBi3L81B-e@AuD1lIL{&0L}!LT4pN@OR|n|!BR?^uOUVrNGZ`|G8G$D6v?h}Z@+Y7A6<@;3O_@FT1Rvg|_uaxHo+O=lm$kkpFzPHelX00{h5*7eRRN4OE##K;;Z4nK);{#bZHMrBiPcE-SEuRPgoS`?dNxy66%MP zbG0e?qa>Rk$QKF`{|AmssG#d4St@eS#(G%Pxz4(P#|kF!9INXhyRV$5aaflEbgOCoC%%m;qREe=1z z7DCABM;epIffa0MC}XQcsp>{uxwDnB${5kEJR1tDv!kECf{2HHT4d>C`N9vWKMs?C z3$e4;XdR4z*EZ!G2AF^t3`nuu3tu|W1|KjB`Sm&;JTIZpdGnc6{_}$)k0err3tDLI zoe{#nE83>z;?wPA9cb^=Cvxe_$5OF~RCwhq$%y`9*ztYbR#@oFYdClF#b(lZ`^yoP zCu#7Ikc;z8B9N0STKGlN!zGj(>*l5ECzH&Ff!l$K8vPFOThcU@Q*yDkv#>NJZZDh0 z9ct@6@IAs@b=;j{X##f2fOL9KWz9>C$pc3ey~+^&&9*5^JqF+m0s|$y{IGO&Ef!8; z0V$xmCLQmbLB6}jU~iqZv{>huJ_BL{$#`WDy1W@l5U(oIqn;a=*gZQ6;Ia|Sno*<9 zv%2TC{OKNc4A9F_I2@`vIF@o=K$sda@U!$?5jq3)*Ie(=bI0} z%*c?kGcLxI%O+Ugu{Dz%@roBiiN`hvy)mX2D9;4<2N6pPf##5Xz_tDZKvPq-BWm z+e2yO`5ib+b+l}`bglQ=s$-;8)N%RKk~Hwz6ld|u<`}Rp`NPE>hIJsI%4%JY15exT zer-*ed5-}s&1f{)0c`>VtN@^_CSX~P-}GdZM5Mi3z^r=}m@YN* z{Z%(E>QjfOYvTs;zvr!^5g*H6r5gr4ZeEt#YMSF)4VakMzYtpj>_z zK;~2c)(Pee6uWq-m=7I5d>}5 zH1Uz2oa|SPK2jlfy~!USE1~2yEVRqj)Jj%4RO=u`~wWOJmDWf;UKpW z$J?HR-QwHX(-S4?ffoT56Z0_y4jb}b^pv5`)*2;+ho{e=p9ldzpOo$Uc{m@WIZkUj ze1QCVTM!I1x?b4Qc)Oes2?e3g=sJ_=x~%xz%kJkmFX;+7FFM8ntsRUE*P>|Yg3>5h z{UY*OLI?|`^D|B*J6}C*XEeOV6=3}kTN%0NkX{%PI)&gIED_oF%Gyoj7vo26pSUwX zZ+srzU}U!{*yUo3_-A~p#-CRi>t2PW4lP~+JFnbt$Kb6r$S?nLzTP7CdA{15XA+^+ zAU0_y#|XZGsa2{MU(<~W2h()lZl!$|#+ShSvvd0DHIm4I-mLQ#_>QI94OZ?X_Q9z0 zgg7IzOMw|@#-2|^P-0<0Jg7wCT|}z1l^97MY3!b8`@4vJe!l!9pIa=P2z$O_u@1^KGg+ElcSMpU(Rc*M)6a}>1l}x6Sbn`$`J^RnOhPizp*{R#cp^YgM6{e4 zpzk0Xf!fY{xfkMzc?FIy;Jri`1MQqKre7T^_njdGZ61znUi3vpMqbYZa-0S|DLH3= zsfC!y{w@i%Yt;qEwjtMyf-dECl_7#;ORp#kJt-p&+@T^3A<}PPrQ|2h##bGu5C(`M z#$OJiz97^~T9=h);OFz8(pNenu=!^1Ju1FGI??#M$m_X>G=%%85}b)n?5c__fm^yZ zPCZ%VZa70#&%1I~o!9buSJj@6gyz?$PMvqtz&M_4i&tONz6PR6xd+IOSPw=IO$1Bs z96On3BcGFcf(a&eGJ}|N=c-JUgbm1njXDnZE;ud6 z?JpM-cNd+P7fUY9Uj5Z~|JzvZ`;V`6K$MH`$Xd&?9n&_wxG(;sc|7HLoR-=wqtG-~ zJy0RcuK1Wg2!D~07)zV{Ef!05L|YQ6*05&FP@{&$;*8d^3B@|l^EIO1pP3njVDj>_vvc;T0f7VKK!%DkxK4MWTPwt@YQWW-ZS?tI5@(t`zi|ePHA<&E@uu-I2)Hm5v8nwuvFP~U z(I&|znOO)Jdy2Ix^ zrEam;)t6{DrJpjzZe^k|TY}`3G-ZXqxb4cb0w$XYRZE(CDX4r~iUTl3`lDrkxX*3z zG?m4#c|PQ~DW5J__RiyxO8(v%Ubi447-MpAdTu)}6JNkJl|iBR}kOF z!S8E+n?P5ZpvQfsj7rYh=1`JxmK3|;rMz=3VIh0HNLbHHQj6o*eC9C7Bg^Ab7L%t) zZ{M%KaL5o0Ll-FIGF5M4Nw8rHi5Kz|;dgcU9P?8~(iMJ}cbJ4!QNm3#@$-i$&gN6{ z_L*3D;M^8vyGN)MNW21iOlo=USNZU02^IDKOD^|)`3u=34mlE?Ru5Ma)6xiFHK%ly z*D*9Q`{H{JE!zqN6?Q|LjH>g8+z&oE^3%4E#j#P#H*U)!A&uRru2mZs;lXCB7o?Up z)%5K%^rh=&XT)nu7G`x5OY8KvOI0h0eue4r?PhPxon0 z(SNO*x}ZK$HmKbOclRk|nt7^!DQf6X7X9&@Ep@h{h;p>X&_#VL(j=RSvO zs)h=9%6&BMPInYf&s4>JOxU!vV_4WsyrD;RIu68odBR?FWk90nyV1$A+fXKvIc?de zSo=4Rp1%xz|9rrhbQ=_L>9qY#^edbXtgFX&)ge!W_b!W!@&DLzw-Ms?$W0h>=Od$+ za*MQsyft%m_9hb7w&LX7LAQ&`Ol3zkx2Xsu-+YjTr1wzFxGkQsE*GRwDP>p6N^vsE8}e;)F7iH(zGhkHc&?$HgubEFq3 zY&!pZ9?BRq@af>JbO3kVzU97VVzdf0LahD&^$N`Ll!Xq?S4D)#rj=o@ZW31#x=h)o~U>7`Au9&;K4o|JyV5uWsi*9*`N2 zxV3ov8b>tRanpAc7>AfYt-q83O#Y?`jEMf8klmy_e;Y;C&{@n~V+E9>;&19RjBr&7 zK)*{5C_o1^*em|yMjq>Db9EK@q)docb+EHWFvvFo#A^!jOY{`~ij3qb^i^TB*fxun zJO})~yj#vdo>U_v4O<0yPpi z+dOSZ^Qp-bn-FOLFP73$SDhkmi+#h)8dY6NoLwnrX%YzPxwA99bWe5AkTx)+?YPkO zbJrD!e94;c6cfQ!1QeMS`0x?Qdx`q()=?!H_&cjO&RN5D1_tb!_Q2g*43zZKmNR%e~Z(PkiLg~-K~1IT+NfB1RS1g)szBcPZzKF7J8EX z{23P{Bb!m5UHy}@f;L`hINCOvrBRaKv8UdAVJ;}E&9eUazm=Q)-xGgbf=nswDVdTK zk)6_8?Ljd+&JOGg2m>k{(F^uj88iF{D|VJ^nF28;d}l@;J#>vI!kji zO>f2eLHWu3QhHF=k;!t2fh*=<(eu=ls2S8nWx%+Lr^d-~_qy@(5Yv$mDy^2%x9S1> z5mPd6JTP|#@Ci|X{cPP2qm_VqH;Np*;4C^*;E>48)97SUkygOj(X)GRHu0PkvU=UC+nXUZJ^8Jx&k+p%n504*$^j{{OL5#0UD-+3*q>))MJYY9{cD?8nrve`N#2vbFRYH<)%hP} zjl%qYj{(S1k~biOz(~8*N`&73yz>{}%-M_{4J;-+Q4HZs&wY6ihZ7BHap@MjU^5@k z4jrpsXX_{RtSpVt6frlORwS~W?y^5+eqbY+yMJo!xe_)x{$*hYKoH04OU?N3Dunk! zc`2%nQscbzp*cD}H7l+8#D1skZe)Bq4mK!!f}00E+)j9t6u&*I;B^3+R8(7?l%W=& z`Yt}mmxQL-Q*=!Oa(X2!_ARyRyK zH2ZQ0*78N#w2V^=F!?ZFKZNz-tYt2aw9HY!-McVfA^nF>{wNT+nLJ;D@HsMLM7(Vm z*0+FO>CR7oU$fu7dWvDxuS@I=7Hg}S9$xi$s68$7RlOLllZ$AQ@g_6IRN3QKV;f;K zo2G|FLbPn8c5-wY?Vf!2hR!H-#Er!-b7V|hP^-4IFtcx;p|mLB^N^iQDUJ1*OF?0? ztkGtPWr7ueD@pX^J7>z^vN^?b`S)`gj{1z}JlVxjr2%xRFrg6%uf37IY{S`}ucb-F zZ2NZLTju?XGgm7Cuk&kcppo)pxu-*+48EGjK<>ze6Mnct2tS}j?sVs9-L9!`h)gpz zzP=vDf#LptcZh%9>HgI_4+;FA6r`nnSQPtwN#K=k;rH4sUucf_Ua@X{uPA*T ztHfb*&}+-#d(HVo^of)NYX+eO=wK}}WlsX`*kc8ppKeR-Vmp%tukxFrdCv$8d(@k@=W%I)jBL5e~;D5o{K@qGa`$_Kz~3Y(Ar<=FpoFG#!+sPpt?>N31fa zq{Dqho(JRSX3wJ3?8qTd#LR^JO_Y4bNuH-LI@pCKfff5e*V_cihPygu_@@_HuTPk`%l$DC83WsIZ7+$oGJT81}UnJ69}u15d5W9 zkn|VZ7mB3@Zik!WNEF30l6zV-Ynq(e15z;}L@4DupqM0=tA**k721n&iAeZh=7<;Z z%iXTM#zr>;kUuFQa!AC4CYU@GGS$M#fvZ;mwz_(z>gnR%nPs7VV*uIf$55QgD3M>T zJUCLiIlMwZ_MMLxTs9ZvMK5a8y$0I{dP!(7?}oDLAeZX%XTy+WSdWa8(!_}!&&{_o zvjkoa-)_JyC1SWlx)^5zyZjJDts*Q<%|4@U=_%_$ZXA|McVrjeq53dM8XB@RSZ`=R zTay13VFRXQXT!m+Hlz43X6RtGXLDLz=f@V493?h~En%N>5Lf<1sqa}*eoKQ7t2laI zrizKOv=?(%XOEJM9La&(id-SLnI3&Fepjs>t79kvdDd;L6iUbi8wNQKyFH!ZwUu$BtWyjzre{ z^WD(VJ(^ktqNtArCzrPbpip8^UPw;K8?v>`vpmZ2b^VIyI6@I7Yf)%u?fCbiJ@*Og zV3hxCXB(4F2T@EymE+BF&Q@-%$FMJAXd%JKdmWB1rvH#Uc9U&ujl6RC>OFrVk{Z9j zL{d|lLp7Ct<_3>$qQMLFPt+#JXsI=^ZXr?9c^0m<^=S_ar-d35sExa>XI07fwK~RA zCcliMUN-m(;r6ANBH-jgn_IXA(3k8Iwl$h^lVtj4nU*FR`!1O=*o0>Mh?(bioMtz6 zr)~Mn7j~30c^@&{OVH6{zcdKRsffKS^XM zqKRo*t~&sa`kaO`KHdHdVn5GQFd8doYhc~U=i>(qkzhU(Y9SLe`s4QgW9t9Ey!K^# zTt>@qOI_fW2l6Gw%9_9DvGMC%XOa4y*x)B42S?j}89wMpjKOTyUR9nBmzKZMvBBYh zR;px0;F&WIBs3__w3k+=)ZzASaG*6an#7P}rX}WndV(P+(D#raIA$iu@yRQ_SB!~? z>2h$W_SqQ*aXQ}R8_OP_fG;|lU`zB2w`z`=gp2hRLu}<_>b?Y&>BmB<70ygGb&kK< znOYbXnGwlf7zwNZ33nRLuE2N@D~xkSRax6I3l}4)dXzvAJWhAI_I&-MR>jbj`hA&x|u! ztv3g~LqCN=-nt_}WWPL^(!FEQ^^CgV{PgLhe)B#=F4(l~ zcUlXq9u60Ja#{XsCeCEsbdy^9RqAd}XZix4#2!{@oD$7Fkruhb{cMe|V2l^DD}pUoZa_Xxaj> z@GVZo8gis|2VC7X7fLgoSjc&tm6-QhCTr=j^niNVHJM{mthmXIe905EqpJl{q&9Ec z_1y6%fLF3lSjfMB2^7DpAkNU+T-T4du4h@J<^Pa^g@sj6d&z}}&dRPgETO)OxMTNd z;d-~Vuie?Y!JIwSGs}9r=!be4cNX-?wLk2{N784nDRH(ihy;OmYWs^H19lqR z*cxv?4)UFR`_Q)$s-#V2$vIJr01nMZX0ciAQYN~bXhw6JAU9yInjzI`-{tjqV6QDK zsV`53y$R*F#2mU^rQzPnToto--OGuccbh*OhdOw`^;1=dj6+DIaCk2z?d5)BuHPg@ z=imG|SJk>)({4zLLvN`I<={IfD~hqge*?EJ<~dXspVZNoQ1H05+{~`B==L&V8Mv{ly|j`AKp>KIob%hk3zYadXttYO9MU?CUn0f=Qzk2vEGGu)tW`uOlPluC1?*Hnmb_>ampQYl88Tm}-=rh269TV@hpf$fF9o{hIr(m9>A zB-CtMi1@TRIlh^7wqM_!jmJ-swN+vn5nB@erRy~x5-^2-3XNZp6HD%XLNWa-%AOG+2SP)u4LQ;rv2^d_z?0%Bb0 zVMPqB`jjM-h#u z+}?)p!w;{?=8Jk|&NLrEV3Hq3=EUIhqml|Xt3cjgs(M=)BpZ&^;a!(1FAZ-Tu{q^> zgK`2NenPT;X;h(?ap6u31bq;6$%suY@3x=+N80YcwcY%U@q5JJX5=z9c0Sb0diz#^ z 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%0AXb*$ONGhnx`5D? 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%0D49uT!1+WW*oKq&Ol2A%82R- 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 z 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ð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

9aL|s`{tx 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 LJI3r7LAI~+EHj&1Ywzy41XqNPceXq@W0 zUhc38Bc9de<$>&B?p7_-FyEH#JU!G{Z*LSJbY~B`YPfOWg6;2HhhKXtaO@CShB|g9 zNJd^0i)Y)kMY8i3=@B2cwY6~+B5p!|Cpxspzb@7PMQHrjuMm3$ECR=MjFsiO266Mq*i0)uTr_89d(YH|=|d^fOV6C59{2A<<|wwHq{guQ{!> zRB+O?7v~K$%++vIOjmn2t_a^1h<3P5?;;;EA%#2UETa=i8^Ky!|5rec{8@uMMK


n8FUk)ihRdPo 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 literal 400070 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:-eJ7X$rE}eUCq28@e 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 m!IqFP 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Ð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