From 756f4ebe37ac3c0d57ee7951785fcd782a9a9e55 Mon Sep 17 00:00:00 2001 From: Yasuhiro Hatta Date: Sat, 11 May 2019 09:31:21 +0900 Subject: [PATCH 1/8] Fixed the `zip` code in README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5211e86..16ba0ee 100644 --- a/README.md +++ b/README.md @@ -345,7 +345,7 @@ invalidator.invalidate() Await can be also used in conjuction with zip to resolve all promises from a list: ```swift -let (resultA,resultB) = await(Promise.zip(promiseA,promiseB)) +let (resultA,resultB) = await(zip(promiseA,promiseB)) print(resultA) print(resultB) ``` @@ -512,7 +512,7 @@ Map is used to transform a list of items into promises and resolve them in paral `zip` allows you to join different promises (2,3 or 4) and return a tuple with the result of them. Promises are resolved in parallel. ```swift -Promise.zip(a: getUserProfile(user), b: getUserAvatar(user), c: getUserFriends(user)) +zip(a: getUserProfile(user), b: getUserAvatar(user), c: getUserFriends(user)) .then { profile, avatar, friends in // ... let's do something }.catch { From 391817951be6d4e8e2a1bf31fa8c09d709de56c0 Mon Sep 17 00:00:00 2001 From: TheInkedEngineer Date: Thu, 23 Jul 2020 07:45:01 +0200 Subject: [PATCH 2/8] Fix xcode 12 compiling problem --- .../UserInterfaceState.xcuserstate | Bin 0 -> 14935 bytes Sources/Hydra/Promise+Recover.swift | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 Hydra.xcodeproj/project.xcworkspace/xcuserdata/TheInkedEngineer.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/Hydra.xcodeproj/project.xcworkspace/xcuserdata/TheInkedEngineer.xcuserdatad/UserInterfaceState.xcuserstate b/Hydra.xcodeproj/project.xcworkspace/xcuserdata/TheInkedEngineer.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..1542c93929a298e9360efe526a028e3310aa4a26 GIT binary patch literal 14935 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 UYrf%xDZ{k Promise) -> Promise { let ctx = context ?? .background - return Promise(in: ctx, token: self.invalidationToken, { resolve, reject, operation in - return self.then(in: ctx, { + return Promise(in: ctx, token: self.invalidationToken, { [weak self] resolve, reject, operation in + self?.then(in: ctx, { // If promise resolve we don't need to do anything. resolve($0) }).catch(in: ctx, { error in From 65ffa589c9a0cc5be11c3ebd24983b949eb0fa84 Mon Sep 17 00:00:00 2001 From: TheInkedEngineer Date: Thu, 23 Jul 2020 07:49:15 +0200 Subject: [PATCH 3/8] =?UTF-8?q?Remove=20excessive=20`public`=C2=A0+=20fix?= =?UTF-8?q?=20typos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 14935 -> 36644 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ++++ .../xcschemes/xcschememanagement.plist | 34 ++++++++++++++++++ Sources/Hydra/Commons.swift | 4 +-- Sources/Hydra/DispatchTimerWrapper.swift | 2 +- Sources/Hydra/Promise+All.swift | 4 +-- Sources/Hydra/Promise+Await.swift | 8 ++--- Sources/Hydra/Promise+Cancel.swift | 2 +- Sources/Hydra/Promise+Defer.swift | 2 +- Sources/Hydra/Promise+Recover.swift | 1 - Sources/Hydra/Promise+Timeout.swift | 2 +- Sources/Hydra/Promise.swift | 2 +- 12 files changed, 53 insertions(+), 14 deletions(-) create mode 100644 Hydra.xcodeproj/xcuserdata/TheInkedEngineer.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 Hydra.xcodeproj/xcuserdata/TheInkedEngineer.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/Hydra.xcodeproj/project.xcworkspace/xcuserdata/TheInkedEngineer.xcuserdatad/UserInterfaceState.xcuserstate b/Hydra.xcodeproj/project.xcworkspace/xcuserdata/TheInkedEngineer.xcuserdatad/UserInterfaceState.xcuserstate index 1542c93929a298e9360efe526a028e3310aa4a26..3f67d5a4bc89ea3374c1937259ac320ea9c07b26 100644 GIT binary patch literal 36644 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 diff --git a/Hydra.xcodeproj/xcuserdata/TheInkedEngineer.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Hydra.xcodeproj/xcuserdata/TheInkedEngineer.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..d750981 --- /dev/null +++ b/Hydra.xcodeproj/xcuserdata/TheInkedEngineer.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/Hydra.xcodeproj/xcuserdata/TheInkedEngineer.xcuserdatad/xcschemes/xcschememanagement.plist b/Hydra.xcodeproj/xcuserdata/TheInkedEngineer.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..a22f0d6 --- /dev/null +++ b/Hydra.xcodeproj/xcuserdata/TheInkedEngineer.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,34 @@ + + + + + SchemeUserState + + DemoApp.xcscheme_^#shared#^_ + + orderHint + 4 + + Hydra-iOS.xcscheme_^#shared#^_ + + orderHint + 0 + + Hydra-macOS.xcscheme_^#shared#^_ + + orderHint + 1 + + Hydra-tvOS.xcscheme_^#shared#^_ + + orderHint + 2 + + Hydra-watchOS.xcscheme_^#shared#^_ + + orderHint + 3 + + + + diff --git a/Sources/Hydra/Commons.swift b/Sources/Hydra/Commons.swift index 5adf6ca..7c22412 100644 --- a/Sources/Hydra/Commons.swift +++ b/Sources/Hydra/Commons.swift @@ -52,7 +52,7 @@ public enum PromiseError: Error { /// Invalidatable protocol is used to control the execution of a promise from the outside -/// You should pass an object conforms to this type at the init of your Promsie instance. +/// You should pass an object conforms to this type at the init of your Promise instance. /// To invalidate a Promise just return the `.isCancelled` property to `true`. /// /// From the inside of your Promise's body you should check if the `operation.isCancelled` is `true`. @@ -67,7 +67,7 @@ public protocol InvalidatableProtocol { /// This is a simple implementation of the `InvalidatableProtocol` protocol. -/// You can use or extend this class in order to provide your own bussiness logic. +/// You can use or extend this class in order to provide your own business logic. open class InvalidationToken: InvalidatableProtocol { /// Current status of the promise diff --git a/Sources/Hydra/DispatchTimerWrapper.swift b/Sources/Hydra/DispatchTimerWrapper.swift index 10d5a1d..cf652af 100644 --- a/Sources/Hydra/DispatchTimerWrapper.swift +++ b/Sources/Hydra/DispatchTimerWrapper.swift @@ -42,7 +42,7 @@ internal class DispatchTimerWrapper { timer.setEventHandler(handler: handler) } - func scheduleOneshot(deadline: DispatchTime, leeway: DispatchTimeInterval = .nanoseconds(0)) { + func scheduleOneShot(deadline: DispatchTime, leeway: DispatchTimeInterval = .nanoseconds(0)) { timer.schedule(deadline: deadline, leeway: leeway) } diff --git a/Sources/Hydra/Promise+All.swift b/Sources/Hydra/Promise+All.swift index 92e40ef..52fb97d 100644 --- a/Sources/Hydra/Promise+All.swift +++ b/Sources/Hydra/Promise+All.swift @@ -51,7 +51,7 @@ public func all(_ promises: S, concurrency: UInt = UInt.max) -> } // We want to create a Promise which groups all input Promises and return only - // when all input promises fullfill or one of them reject. + // when all input promises fulfill or one of them reject. // Promises are resolved in parallel but the array with the results of all promises is reported // in the same order of the input promises. let allPromise = Promise<[L]> { (resolve, reject, operation) in @@ -66,7 +66,7 @@ public func all(_ promises: S, concurrency: UInt = UInt.max) -> // decrement remaining promise to fulfill countRemaining -= 1 if countRemaining == 0 { - // if all promises are fullfilled we can resolve our chain Promise + // if all promises are fulfilled we can resolve our chain Promise // with an array of all values results of our input promises (in the same order) let allResults = promises.map({ return $0.state.value! }) resolve(allResults) diff --git a/Sources/Hydra/Promise+Await.swift b/Sources/Hydra/Promise+Await.swift index 0f725a1..96118e8 100644 --- a/Sources/Hydra/Promise+Await.swift +++ b/Sources/Hydra/Promise+Await.swift @@ -63,7 +63,7 @@ public prefix func ..! (_ promise: Promise) -> T? { /// - Parameters: /// - context: context in which you want to execute the operation. If not specified default concurrent `awaitContext` is used instead. /// - promise: target promise -/// - Returns: fufilled value of the promise +/// - Returns: fulfilled value of the promise /// - Throws: throws an exception if promise fails due to an error @discardableResult public func await(in context: Context? = nil, _ promise: Promise) throws -> T { @@ -111,16 +111,16 @@ public extension Context { let semaphore = DispatchSemaphore(value: 0) promise.then(in: self) { value -> Void in - // promise is fulfilled, fillup error and resume code execution + // promise is fulfilled, fill-up error and resume code execution result = value semaphore.signal() }.catch(in: self) { err in - // promise is rejected, fillup error and resume code execution + // promise is rejected, fill-up error and resume code execution error = err semaphore.signal() } - // Wait and block code execution until promise is fullfilled or rejected + // Wait and block code execution until promise is full-filled or rejected _ = semaphore.wait(timeout: .distantFuture) guard let promiseValue = result else { diff --git a/Sources/Hydra/Promise+Cancel.swift b/Sources/Hydra/Promise+Cancel.swift index dadf48f..282d2f1 100644 --- a/Sources/Hydra/Promise+Cancel.swift +++ b/Sources/Hydra/Promise+Cancel.swift @@ -37,7 +37,7 @@ public extension Promise { /// Catch a cancelled promise. /// /// - Parameters: - /// - context: context in which the body will be eecuted. If not specified `.main` is used. + /// - context: context in which the body will be executed. If not specified `.main` is used. /// - body: body to execute /// - Returns: a new void promise @discardableResult diff --git a/Sources/Hydra/Promise+Defer.swift b/Sources/Hydra/Promise+Defer.swift index d6f9975..6ef3651 100644 --- a/Sources/Hydra/Promise+Defer.swift +++ b/Sources/Hydra/Promise+Defer.swift @@ -35,7 +35,7 @@ import Foundation public extension Promise { - /// Delay the executon of a Promise chain by some number of seconds from current time + /// Delay the execution of a Promise chain by some number of seconds from current time /// /// - Parameters: /// - context: context in which the body is executed (if not specified `background` is used) diff --git a/Sources/Hydra/Promise+Recover.swift b/Sources/Hydra/Promise+Recover.swift index a07660f..ed5dae2 100644 --- a/Sources/Hydra/Promise+Recover.swift +++ b/Sources/Hydra/Promise+Recover.swift @@ -34,7 +34,6 @@ import Foundation public extension Promise { - /// Allows you to recover a failed promise by returning another promise with the same output /// /// - Parameters: diff --git a/Sources/Hydra/Promise+Timeout.swift b/Sources/Hydra/Promise+Timeout.swift index 4c46387..599816e 100644 --- a/Sources/Hydra/Promise+Timeout.swift +++ b/Sources/Hydra/Promise+Timeout.swift @@ -54,7 +54,7 @@ public extension Promise { let errorToPass = (error ?? PromiseError.timeout) reject(errorToPass) } - timer.scheduleOneshot(deadline: .now() + timeout) + timer.scheduleOneShot(deadline: .now() + timeout) timer.resume() // Observe resolve diff --git a/Sources/Hydra/Promise.swift b/Sources/Hydra/Promise.swift index c296eb4..ceb0664 100644 --- a/Sources/Hydra/Promise.swift +++ b/Sources/Hydra/Promise.swift @@ -261,7 +261,7 @@ public class Promise { /// ``` /// let op_1: Promise = asyncGetCurrentUserProfile() /// let op_2: Promise = asyncGetCurrentUserAvatar() - /// let op_3: Promise<[User]> = asyncGetCUrrentUserFriends() + /// let op_3: Promise<[User]> = asyncGetCurrentUserFriends() /// all(op_1.void,op_2.void,op_3.void).then { _ in /// let userProfile = op_1.result /// let avatar = op_2.result From 5535aa9a662b9e2376b19bcd421ba1add8351e96 Mon Sep 17 00:00:00 2001 From: Daniele Margutti Date: Thu, 23 Jul 2020 09:16:44 +0200 Subject: [PATCH 4/8] Bump to 2.0.3 for CocoaPods and SwiftPM --- HydraAsync.podspec | 4 ++-- Package.swift | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/HydraAsync.podspec b/HydraAsync.podspec index 8c28a85..6efbd83 100644 --- a/HydraAsync.podspec +++ b/HydraAsync.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'HydraAsync' - spec.version = '2.0.2' + spec.version = '2.0.3' spec.summary = 'Promises & Await: Write better async in Swift' spec.homepage = 'https://github.com/malcommac/Hydra' spec.license = { :type => 'MIT', :file => 'LICENSE' } @@ -15,5 +15,5 @@ Pod::Spec.new do |spec| spec.requires_arc = true spec.module_name = 'Hydra' spec.frameworks = "Foundation" - spec.swift_version = "5.0" + spec.swift_versions = ['4.0', '4.1', '4.2', '5.0', '5.1'] end diff --git a/Package.swift b/Package.swift index 6d6243f..02e82be 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:4.0 +// swift-tools-version:5.1 import PackageDescription let package = Package( @@ -9,6 +9,5 @@ let package = Package( targets: [ .target(name: "Hydra", dependencies: []), .testTarget(name: "HydraTests", dependencies: ["Hydra"]) - ], - swiftLanguageVersions: [4] + ] ) From 80cea65e9ffac0fcff0d5831e9c97870631a7f34 Mon Sep 17 00:00:00 2001 From: Daniele Margutti Date: Mon, 14 Sep 2020 16:39:30 +0200 Subject: [PATCH 5/8] fix #77: fixed theinable chains in xcode 12 --- Sources/Hydra/Promise+Cancel.swift | 2 +- Tests/HydraTests/HydraTests.swift | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Sources/Hydra/Promise+Cancel.swift b/Sources/Hydra/Promise+Cancel.swift index 282d2f1..a5ea692 100644 --- a/Sources/Hydra/Promise+Cancel.swift +++ b/Sources/Hydra/Promise+Cancel.swift @@ -41,7 +41,7 @@ public extension Promise { /// - body: body to execute /// - Returns: a new void promise @discardableResult - func cancelled(in context: Context? = nil, _ body: @escaping (() -> (()))) -> Promise { + func cancelled(in context: Context? = nil, _ body: @escaping (() -> (Void))) -> Promise { let ctx = context ?? .main let nextPromise = Promise(in: ctx, token: self.invalidationToken) { resolve, reject, operation in let onResolve = Observer.onResolve(ctx, { _ in diff --git a/Tests/HydraTests/HydraTests.swift b/Tests/HydraTests/HydraTests.swift index 99a0a0b..3e331ac 100644 --- a/Tests/HydraTests/HydraTests.swift +++ b/Tests/HydraTests/HydraTests.swift @@ -356,6 +356,23 @@ class HydraTestThen: XCTestCase { } waitForExpectations(timeout: expTimeout, handler: nil) } + + func test_thenChainAndAlways() { + let exp = expectation(description: "test_anyWithArray") + var passedThens = 0 + + Promise(in: .background, token: nil) { (r, rj, s) in + r(10) + }.then { _ in + passedThens += 1 + }.always(in: .main) { + passedThens += 1 + XCTAssertTrue(passedThens == 2, "Not all thens are passed") + XCTAssertTrue(Thread.isMainThread, "Failed, the operation is not on main thread as we expect") + exp.fulfill() + } + waitForExpectations(timeout: expTimeout, handler: nil) + } /// The same test with `any` operator which takes as input an array instead of variable list of arguments func test_anyWithArray() { From dc6f98a55da6589eda2ecdd55d69c2c2c041dc36 Mon Sep 17 00:00:00 2001 From: Daniele Margutti Date: Mon, 14 Sep 2020 16:44:09 +0200 Subject: [PATCH 6/8] fix #79: compilation error under linux environment --- Sources/Hydra/Promise+Await.swift | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/Sources/Hydra/Promise+Await.swift b/Sources/Hydra/Promise+Await.swift index 96118e8..6801389 100644 --- a/Sources/Hydra/Promise+Await.swift +++ b/Sources/Hydra/Promise+Await.swift @@ -92,17 +92,23 @@ public extension Context { /// Awaits that the given promise fulfilled with its value or throws an error if the promise fails. /// /// - Parameter promise: target promise - /// - Returns: return the value of the promise - /// - Throws: throw if promise fails - @discardableResult - internal func await(_ promise: Promise) throws -> T { - guard self.queue != DispatchQueue.main else { - // execute a promise on main context does not make sense - // dispatch_semaphore_wait should NOT be called on the main thread. - // more here: https://medium.com/@valentinkalchev/how-to-pause-and-resume-a-sequence-of-mutating-swift-structs-using-dispatch-semaphore-fc98eca55c0#.ipbujy4k2 - throw PromiseError.invalidContext - } - + /// - Returns: return the value of the promise + /// - Throws: throw if promise fails + @discardableResult + internal func await(_ promise: Promise) throws -> T { + #if os(Linux) + let isNotMainQueue = self.queue.label != DispatchQueue.main.label + #else + let isNotMainQueue = self.queue != DispatchQueue.main + #endif + + guard isNotMainQueue else { + // execute a promise on main context does not make sense + // dispatch_semaphore_wait should NOT be called on the main thread. + // more here: https://medium.com/@valentinkalchev/how-to-pause-and-resume-a-sequence-of-mutating-swift-structs-using-dispatch-semaphore-fc98eca55c0#.ipbujy4k2 + throw PromiseError.invalidContext + } + var result: T? var error: Error? From 53cd0cda965b277049d952c25ce5aab671fe0b37 Mon Sep 17 00:00:00 2001 From: Daniele Margutti Date: Tue, 15 Sep 2020 08:54:32 +0200 Subject: [PATCH 7/8] new #71: Added support for delay parameter in retry operation --- Sources/Hydra/Promise+Defer.swift | 4 + Sources/Hydra/Promise+Retry.swift | 14 ++- Sources/Hydra/Promise+RetryWhen.swift | 7 +- Tests/HydraTests/HydraTests.swift | 121 ++++++++++++++++---------- 4 files changed, 96 insertions(+), 50 deletions(-) diff --git a/Sources/Hydra/Promise+Defer.swift b/Sources/Hydra/Promise+Defer.swift index 6ef3651..926068e 100644 --- a/Sources/Hydra/Promise+Defer.swift +++ b/Sources/Hydra/Promise+Defer.swift @@ -42,6 +42,10 @@ public extension Promise { /// - seconds: delay time in seconds; execution time is `.now()+seconds` /// - Returns: the Promise to resolve to after the delay func `defer`(in context: Context? = nil, _ seconds: TimeInterval) -> Promise { + guard seconds > 0 else { + return self + } + let ctx = context ?? .background return self.then(in: ctx, { value in return Promise { resolve, _, _ in diff --git a/Sources/Hydra/Promise+Retry.swift b/Sources/Hydra/Promise+Retry.swift index 89c6474..9132f95 100644 --- a/Sources/Hydra/Promise+Retry.swift +++ b/Sources/Hydra/Promise+Retry.swift @@ -33,9 +33,17 @@ import Foundation public extension Promise { - - func retry(_ attempts: Int = 3, _ condition: @escaping ((Int, Error) throws -> Bool) = { _,_ in true }) -> Promise { - return retryWhen(attempts) { (remainingAttempts, error) -> Promise in + + /// Retry the operation of the promise. + /// + /// - Parameters: + /// - attempts: number of attempts. + /// - delay: delay between each attempts (starting when failed the first time). + /// - condition: condition for delay. + /// - Returns: Promise + func retry(_ attempts: Int = 3, delay: TimeInterval = 0, + _ condition: @escaping ((Int, Error) throws -> Bool) = { _,_ in true }) -> Promise { + return retryWhen(attempts, delay: delay) { (remainingAttempts, error) -> Promise in do { return Promise(resolved: try condition(remainingAttempts, error)) } catch (_) { diff --git a/Sources/Hydra/Promise+RetryWhen.swift b/Sources/Hydra/Promise+RetryWhen.swift index 91399fa..121b54d 100644 --- a/Sources/Hydra/Promise+RetryWhen.swift +++ b/Sources/Hydra/Promise+RetryWhen.swift @@ -33,7 +33,8 @@ import Foundation public extension Promise { - func retryWhen(_ attempts: Int = 3, _ condition: @escaping ((Int, Error) -> Promise) = { _,_ in Promise(resolved: true) }) -> Promise { + func retryWhen(_ attempts: Int = 3, delay: TimeInterval = 0, + _ condition: @escaping ((Int, Error) -> Promise) = { _,_ in Promise(resolved: true) }) -> Promise { guard attempts >= 1 else { // Must be a valid attempts number return Promise(rejected: PromiseError.invalidInput) @@ -44,7 +45,7 @@ public extension Promise { // We'll create a next promise which will be resolved when attempts to resolve self (source promise) // is reached (with a fulfill or a rejection). let nextPromise = Promise(in: self.context, token: self.invalidationToken) { (resolve, reject, operation) in - innerPromise = self.recover(in: self.context) { [unowned self] (error) -> (Promise) in + innerPromise = self.defer(delay).recover(in: self.context) { [unowned self] (error) -> (Promise) in // If promise is rejected we'll decrement the attempts counter remainingAttempts -= 1 guard remainingAttempts >= 1 else { @@ -64,7 +65,7 @@ public extension Promise { self.resetState() // Re-execute the body of the source promise to re-execute the async operation self.runBody() - self.retryWhen(remainingAttempts, condition).then(in: self.context) { (result) in + self.retryWhen(remainingAttempts, delay: delay, condition).then(in: self.context) { (result) in resolve(result) }.catch { (retriedError) in reject(retriedError) diff --git a/Tests/HydraTests/HydraTests.swift b/Tests/HydraTests/HydraTests.swift index 3e331ac..d92f6aa 100644 --- a/Tests/HydraTests/HydraTests.swift +++ b/Tests/HydraTests/HydraTests.swift @@ -226,22 +226,22 @@ class HydraTestThen: XCTestCase { /// and return another Promise with the same value of the previous promise as output. // In this test we have tried to recover a bad call by executing a resolving promise. // Test is passed if recover works and we get a valid result into the final `then`. - func test_recoverPromise() { - let exp = expectation(description: "test_recoverPromise") - let expResult = 5 - intPromise(expResult).then { value in - self.toStringErrorPromise(value) - }.recover { err -> Promise in - return self.toStringPromise("\(expResult)") - }.then { string in - if ("\(expResult)" != string) { - XCTFail() - } - exp.fulfill() - } - waitForExpectations(timeout: expTimeout, handler: nil) - } - + func test_recoverPromise() { + let exp = expectation(description: "test_recoverPromise") + let expResult = 5 + intPromise(expResult).then { value in + self.toStringErrorPromise(value) + }.recover { err -> Promise in + return self.toStringPromise("\(expResult)") + }.then { string in + if ("\(expResult)" != string) { + XCTFail() + } + exp.fulfill() + } + waitForExpectations(timeout: expTimeout, handler: nil) + } + /// If return rejected promise in `recover` operator, chain to next as its error. func test_recover_failure() { let exp = expectation(description: "test_recover_failure") @@ -650,34 +650,67 @@ class HydraTestThen: XCTestCase { } //MARK: Retry Test - - func test_retry() { - let exp = expectation(description: "test_retry") - - let retryAttempts = 3 - let successOnAttempt = 3 - var currentAttempt = 0 - Promise { (resolve, reject, _) in - currentAttempt += 1 - if currentAttempt < successOnAttempt { - print("attempt is \(currentAttempt)... reject") - reject(TestErrors.anotherError) - } else { - print("attempt is \(currentAttempt)... resolve") - resolve(5) - } - }.retry(retryAttempts).then { value in - print("value \(value) at attempt \(currentAttempt)") - XCTAssertEqual(currentAttempt, 3) - exp.fulfill() - }.catch { err in - print("failed \(err) at attempt \(currentAttempt)") - XCTFail() - } - - waitForExpectations(timeout: expTimeout, handler: nil) - } - + + func test_retry() { + let exp = expectation(description: "test_retry") + + let retryAttempts = 3 + let successOnAttempt = 3 + var currentAttempt = 0 + Promise { (resolve, reject, _) in + currentAttempt += 1 + if currentAttempt < successOnAttempt { + print("attempt is \(currentAttempt)... reject") + reject(TestErrors.anotherError) + } else { + print("attempt is \(currentAttempt)... resolve") + resolve(5) + } + }.retry(retryAttempts).then { value in + print("value \(value) at attempt \(currentAttempt)") + XCTAssertEqual(currentAttempt, 3) + exp.fulfill() + }.catch { err in + print("failed \(err) at attempt \(currentAttempt)") + XCTFail() + } + + waitForExpectations(timeout: expTimeout, handler: nil) + } + + func test_retryWithDelay() { + let exp = expectation(description: "test_retryWithDelay") + + let retryAttempts = 3 + let successOnAttempt = 3 + var currentAttempt = 0 + var lastFailureDate = Date.distantPast + let retryDelay: TimeInterval = 0 + + Promise { (resolve, reject, _) in + currentAttempt += 1 + if currentAttempt < successOnAttempt { + print("attempt is \(currentAttempt)... reject") + lastFailureDate = Date() + reject(TestErrors.anotherError) + } else { + print("attempt is \(currentAttempt)... resolve") + resolve(5) + } + }.retry(retryAttempts, delay: retryDelay).then { value in + let passed = Date().timeIntervalSince(lastFailureDate) + XCTAssertGreaterThanOrEqual(passed, retryDelay) + print("value \(value) at attempt \(currentAttempt)") + XCTAssertEqual(currentAttempt, 3) + exp.fulfill() + }.catch { err in + print("failed \(err) at attempt \(currentAttempt)") + XCTFail() + } + + waitForExpectations(timeout: 30, handler: nil) + } + func test_retry_allFailure() { let exp = expectation(description: "test_retry_allFailure") From 4e7f08bdbbfb5ccfedb7bbd8ade7dd5d17c2c325 Mon Sep 17 00:00:00 2001 From: Daniele Margutti Date: Tue, 15 Sep 2020 08:58:50 +0200 Subject: [PATCH 8/8] Bump to 2.0.4 --- .../UserInterfaceState.xcuserstate | Bin 93049 -> 111632 bytes HydraAsync.podspec | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Hydra.xcodeproj/project.xcworkspace/xcuserdata/daniele.xcuserdatad/UserInterfaceState.xcuserstate b/Hydra.xcodeproj/project.xcworkspace/xcuserdata/daniele.xcuserdatad/UserInterfaceState.xcuserstate index 3e9d284ff4646e2cbc4320109d7a2d690e5aaf04..7cd1637fae4f48815ed8f0bbc8429edb76ee86b2 100644 GIT binary patch literal 111632 zcmeFa2YeMp_cy*Xv*nh(C3`D95IUsNLQhBtgc1Tt=nz73As5m}0fLkrqzEd#s+5F) zQUs+57DNQGARVMAf{1{k0*a_0yfeF5AlxAS-{0>+-v8$jce8hQ%9-yubLPyMHaI84 zo0lIFa+CoKWDvtL9K$mLW9VITq$fAeo1N9CW=d{qx|jS)teKyk)4OK&;9;KB{5**P zQ3^SgYz&y)LVxD8BF)uPRm^sW` zW+AhPd4*ZR6frBA)y(V6o6HtwJM$j%0kensoH@iCW{xvoFc+Bbn2XFM<}&j=^8<5* zxyt;`{K5PQAV7cx9N>Wwn1LNQfD=>%H9;*<8`J>}KnMs0%|Q#$60`!XK^xExbOG_8 zJ4gaOL0`}h3(>5HiIqT9q=yL4fcSKz+Uh%I0z1bufQ4bH8=~-feYXY_!0aBeg;>;HSh=c6WoFv z)I$R_LkqM)JFEyR!RoLMoDUbnm*7&k46cAB@HMy^z7E&Jjc^lu3vPq&!uQ|@a2Nat z?uDPheefVW1dqYv@Dw}^zlLYwx9|eI48Mmz!JpwT@K^Xd`~&_4?;wZ}5|9pw$b|fm zgq+BQDxu2AA5}-SP;FEnH9)~A1T{uYP;=A*wLxuB6pBV2Q7r0;;!qEifO?_cs6QHj zQqW*D1Pw*QQ3lFEBTxYviN>I3&;%r-NoX>fhNhz#XeOGA=AlJsF(NHE9lecqp%2k+bPydvhtUyq6rDg{qqFE7`UagxKcFkf$hxpU=!Fxwm&<79mo!2hqD=M zCY#0PvV|;WC$i77Guc_}Y<3PimtDv%WtXwb+1J?B>>73}`xd*6-Oj$v?qK(@AF+Gc z1METe5c?H-hW(m7%bsH|uvge0*`L_o*qiL{9LsSW&k3B46FD1KiL1<2;p%bqxdvQA zE|3f5!np`8l55AsaoxCht~=L*>&Xq^26D;VP%fSGas}K-ZWK3~E9Ay;leibS7r7N& z3Ad74#l6bC#;xYoaBI1B+#B3m+%|4I_dd6i`!YjfOVX3f8SS}O^#li}qL|7@T7Tyrv6y6fH2|I-kgk8di z!e_!h;e>EfI3=7Gz7)<17llj0W#O7|UAQCM)iFAtgF0Sk(m8Zaol6&>tEsD{tF5b} zYoH6$HPSWKHPN-!wb8ZJb=Gy!b=Ae`y6F;heRchG{dH+Nk8X%ASC^;D*A?hS>c;4> zZkleoZh>y0Zjo-W?j_w)-Adgm-K)9{x;J!h>fY1s(7mtQsrx{;N4HP+x$cm_{!eRX{eeSkh#AEFP{hv^&X zo9Wx=WAq*L9rXkC$@)S16#Za*syhtvZ`Z4-v^v~)i=_l)_=x69> z>R;BsqFRglx*FmP-3;-D zL_w)mY!yz}V0jXbduj8Jinh7~2`6jM2t;V|QZ@V}dc!*xQ(F9Ar!} zdX2-3!;Pbiqm6~eF~(<%6O2=gGmJBhvy878ml&5Cml>BEON?uc>x{1(w-~n?-!gt^ z+-=-r{K&Z1_?hvr@s#nj@k`?+<7MOb#vhDVj8}~}jdw*x1foeaix$x;`iTy)vRG5B zC5DP&Vk5D!*hFkDMu?GOtk_8$B&LXi#Z)m(^oT>mp<=q|6*I+ru|OOtjupp=lf^0G zRB@&_OI#o>6c>qah;ND;#ZBU7af`TBd`sLWZWrGc-x1#x-xGI;?~6Od55$w=SK=A* z8}Yn&QM@Ex5q}h~iPy#7#GB$R@wSOE0TXB9O$L+EWHZ@K4wKX5GF3CxF$J4KOyQ;o zQ=}=@)ZNs_lwuleN;PGgvP{{g9MfpiMANgTNv6rBDW<8W=S*`oiLp-ePg;{x^DW-bklUpblVKg$n0m9 z%r>*#>@YjcF0>^e`P*r{>J>B`J(v;^A+<|^ELAg^B?9v&9}^V zEy%)JtQJ3uWU*Q77Jo~1OASkarKY96rGX{H(!$cx(#q1>(#F!!5^L#ZiMRB$^s@A~ z46zKgq+4<=d6s<3Xv-|iY|9+WT+2Mme9HpMLdzn{V#`aGV#^9kiRBH;o0g51O_t4; zEtaj8U6xNQpIY`?4pGE?d60{9w6a`O)%|<(d^(p%qzKD`(}cg4JX- zTkX~w)&OfwYb|S_wTZQjmpI z>viid)?clETJQLo{VaY~KR-Xo&*o?MbNRWYNU5C^B}Gf^r5LG$)KQ9+I!T?SE>c%1 zPUrL;kX`{4B+AM96wn}eF+obK%+tNGIyV85o z4(WYqr}TleOZrgSE$xv$lJ-g;OP@%eN}oylq|c@O(gEq9bVxcZ9g&Vo$E4%Z7t#so zq;yI;Eqy6{C7qGJmd;A&q;I72(zntD={xD7bV<4_eJ}kWU6Fp2ev*Ecu1eRW>(VdM zuhI?aH|eJIyYz?jr*uoYE&V0kk?z_U8?ZqevavSK#@hs&&Zf5+Y(|@CGug~Gi_L2D zvq?6a&2DqpoHm!uZL46bXscwaY^!3cYO7}Rw^g^*um#v^+G^Qq+v?cr+UnWr+Zxy! z+5&AswqRR`Ez}lfYh-I|Yhr6^Yi0|#HMg~}wY0UewYIgfwY5dqB5mz#QMPDXds~dH zgRP@2*4D|^+1AC@)fQ*#W{bCVxAm|k*b;3?ww|_Lw%)crw!XH0w*IyOwt==}+aOzt zZLlrXmS*$VhS-MMM%hN&3T-{agD5`*-$>_Dl93 z?0?zs*zYZ!QPWZ1(ZCVv2y=uxnmgJ$+B>>Bk{yE_ zDUQL8R7aX)m}9tOgkzLroMW=%dB;r0%Z^tZOB_ob%N#2lC5|~(zZ*zY*%IORCwxazp(xbFDH@vGy8<2T1m$DdBL5A(!AXx-2e-%jv4@ zs_m-ds_Uxf3Usw~MYtke?Oai=XjgkzjH`ny$<@=<%hk^{$d%&qx`w%OTq9fsu0q!s z*Lc?i*R!svuIF6ST=QKETnk+*TqUlRu2rsAU9Y>=yEePFyFPU7cI|N;a2<3VavgJ> zbA97F@A}qt!S%E2s_UBTy6X?O-feMP-A;E!cO`cFx}7j(dc=z&+AE!9CgiynCj5mV2Iik$bUwiF>KL z*uBcV!M(-3-Tj_>hx>i^hwjha``riJ2i-^AC*7yqr`_k>-?}fjFT1~Y|K$GJeZ&2S z`!Dw$_uZtLSp^vxM;H@hW-N@Au`$kGaS1`gJ%xFF$=}j`eb1Vy87X;r#f%>#$xuec zjGb}FEauzE1<6)>Y;^lx*}22>a#B(~(b=g5nVzitWNXcK?VE%*i;8R%*uHsG^T5W9 z!kPz0hBR&x7~Q;aNNDpWVeQ&AkJ56k$kb-S)-sit%1jleDpQT|XR0$bm;k0GQ%mM# zUKV7Xtd|Y4Q5I#BY?du+nL12erXEwDX}~mO0+}Etm>J;;qPw z$<9sc(Iv0H63mm3n(oQ;kOb79Jqog-J$d=wtdxA>6G^sKDU(1Y*egTkHH?BID8`Z4`ww_HiCB3F~E%K>sNxsF_KH8YS& zW(F}S%wQ&!NnGa)=x%hsllP#&W|WjF(i=Va#wQgUO_obTE;ae&lbi zCxb}fNRQ0O73B)a)>EScM^g?2(pxUUx;{pI$IHxMN{jZc4CP z^t@ogx=e4LNBbL;H_AICzinQAN^X7^Zg%CD&GjMmL-d$Q8*y(Z7}WuuVV zd8w3O*=Snw4tPk_oO*g zDPw7USBg$$yh)=nT)km{!Q%Y09! zsSw=fvDToKR^hzSvx#7&7-Du>PFwbm+?smAvzwbpDa)mZIcEM=B4 zVau1x4b^tMm|2l*wZ$cLEyzz9oZ*S~66-fRi&!Qrm|~`c$?qSRaQ~fVSFK`RRnyR3 ztYOxceX*X|Q1-<}W>eW0TbZ}YzIdB?r|gRz%==|u>|#DF`{E9V*BL~JNm)4@t8tL^JHsm`GnlJ z0Lxf=Weh!^7bDH^*`ATjnw~|}SZREBqnXj3%%sJ*8=DZvsN6PKw zu5vu>A*dF$X6&myg!o*~NN;vQUTF_NeHlf&om!8g{P2k>xkEjr9h|=juJw$xf_BMH zRl02?_424mR&4%8?FzgZX$hWu(#ac|r;?Oxt*w45LuhIE2Z>3xy2=EkT{JBTN&WI* z@WV)ejz6RugneRH|A!aJf(9-hu`zPnWW>Hl9|<+cyM z3|~1$ZZAj6o&OzS3yA!nc3+Tlw5C=qZ!vdh{kYBiC3lcJ7BhDNBge{}&#AaRu-P)jJ89Aj?Ez2#nVbGdUs1v*fOqd|KRBM*`X%V{e>M-U4-$wTCk z@{46OHRz@&$dqL3IISs8^X3udf~?f^1Wz8F3)90h zq;<0)DMLb$e*rMGSz9vad#JiJjzlTh*}ym7NIVg}K~lptE{ z&>_tlr>2BG*q;H33Q4KS*75&WBsCB5gocGR4r}H^QfRYApoCIp( zOB0D6mKxeLv{4zF`Y1GclKuE58c~_qX$4B#7VRY-!2Hzow!~SOH8gM(aS0N&8JOnH zB_5sZ+``rmHGa|Aqp~uxQ_}K+^NFPum`S{2p4{3rZb8aWPisXKgYG+4x|DthN}!H~ z+Di2bR2V{Y3M5&l=d~ufJe4>!9?D5`ctm?fdNQ(eJh{P2;=$3LT;exLi%!W;QE3>O zk(WPwOxozdsfAhT8G}7T^U?+n8~FhXxjFphB+gJ-~4d4!x>490^Aa-N(o7bFcKIphu0?D#I8tfBeoYVwnqpO?#B z{J?i=Z@C0Kr}T=oB&UOUWPkxY4_*K-f*D{Ym<48oIbg0lN**m2%46hb%Lr^Dx6O73vPbA3FtBcj8)3~-3Y-5~7;4OJ_5!fzIq2s4y z;4vdVMV0L?WlO8YdJpWR;q!XE}-&}w=F90kX~ae0P3Q=TQyE&(UNNpK3BmgmR|R z8&Id1(Myx9VVV`4kv)|3GNL168Z~RuE+#O%X_Ll*jhlx?1vYO-el`jVjf{+r3MV7x z51Ql9q@+Wp+&`2KalS{9q+$Z2n>K0|NV*_Vf$bVcMh1p9j*ba!9Me23x_$Tq?ja~C z=@k2<(>S_)ShL14QGqehO`-xDw~vVo3=fHp4h(A_9n(0nebdme7;Ok2I-rYmlc7^C zDFWjOUPN_Qcw~3A6g5~GRxKMz`%nYcEdN7YIFJe3U~K~H!TPWPYzPBk5DbPPFcgNt zMzAq#0-M5SFdR0AEnrL73buxAU|SdgBVjuj1*2hm7y~=NjxZK>f}LR(*cHaXZZIBp zhdp2dOoU0WC+r1#!#=Pt><9b90rG3|8hM?(UVcN~C~uax%G>0(<#**B@=ke|yj%WA z{#gE0-Y4&u56Xw-qw;b2gnUZ=Qa&S}mA{d{mA{iO$=}OY~wm<6+8 z4jch*Dzu+ zvS8%Ks3t}s7`4YJ9;5yk4Z$cEqp=uG!DuE%M7caDsf!dzU7c)|%XegIUA_Oz*me(3 z9+@Gc4hlR-)e?oOwaL~APm(IdWm0y${XwFN6{22GwkDTPl;#C{XoSCv&sS}*^Gb*M ziTzH8_#5=_vlCAh(poz@rP^SO*LbX*PYfG|q>XRg^j8GFvOQqJM zFLCcE#J!bleeT~Qu4hVyH;wi)d^oyOp>BJ!b>@?#uC#gvm(HHLHzns0Vz);j@|`E7 zN~1lQ*^xOp!9Bem(ksZyr}KQuW9+92RqrKRr~E6>6%x;GZgv)#x0mM2)&mM{@Bcf> z;}Ht&s6x{R$<~DO@%krPUgHhn59y1LiF4)2^hqV750kBv%g^XPquC!;2c+Tg<;xj` zv^`H)Q~6Z4@>`tq3UPa%Fm4aFgr$V~;&w?P?UR40u9cGY2<`NvLfdCgn6|Rw7MU?B zr7+JIx9bXRpC?=Um0uP9Nu4X-vLbG>@|5CDCBp;%l7N>oszLkQ-0X6i;@b*whn}#2 zm*rFx9eDC#6aorqNB#qhip(P|g>QzulHsu@EVY^@(inAr=F$VEIWj7=eepj6Baw`I zl=cQ5e)I*ys$_UF**d5EYVx0HF*Gn9wt^aHlgb~q){sM?^YjxkgtUsU(HT>aUy$o- zL!ycbRbM^fKBYz#nUm!i?aR_?3Q=DtTVMEBS(-p9U-tq}K{>G1R46=`Y%Tm3DD(xa zoKo%951y2UTjgLg{5PYeb{;Ke^K4pP1>WwL;Pl|B?gdp3;4kR{^zC==<@1)Cy@T zw5*sbUMXK`>Y!x!bFy{zli-m?nx;qZ0aE(nk+^hG$h`KiT2bX&pQyV++Aqo0Y5yXE zWE8gi9x&>ukar{5+OvG}{)siNRjtQ(Cs02nubcmptFBard}Vx)Le?M2)=}j{@Sm}? zl~*Aa-us|0e%)*0pV>VLPw z`G`@ex(aMZX3PzxlPo(b6ApvQ7$?uFL<;|s-Y#W!$CRuz;^-~M%zI9yPyd8F%VnxY zgQ%3OR8NL)4S7)|&iI7ED@)v?$Jx*vl|IuG>gV`KU|L#G=7W~-LX{rN6UIx^D5ZZN z-N%1LrOz+fI-vX-`+u!nA0DGpR>h!YsD#X%LCaAQDn=_Xuwh`wz=46Y1g)f#+|X+n zxacf53@ScV^JmZoGJgiWfq}bp0u9PcW#8K{X8gF{oaGK12J^=V(6$ zH87}+K^+Y0K3yOkqaYo}AV34@Bn9adI!!MOYGP1Jy%U(OTVX(iU7coRJ*O4_TXa#y z>^q8CJ&M_7idlVM%xaF%BK?GZCzJlr&*&<;hOVPu(68tQ`VHO0pdki<7zAMuj6nzn zp%{c=&_7Aux`Xb5g)G^evWYtV4})+F+F;ODeinm>$0F=IA@09Z09g}} z1hTydXj&=>tRImCRsw1C!eqG%sV?M3aJDt6v21g;1>2G(*+yXyjX`@1VoKOHRH?C%7<5pTTIa_~)03PO z$abV$ip8L##-%QFR$v+-xf>f#xI>skzIGy9inao+yh&_t6{21gqAsM0vVCb4?dpS& zAGcA9l+314kOr|S>|iz(gKikaW6&Lg9wn?t0Vy4W1Qn#DrwgQP3Q`UxE05F}&TJkP z<#+-TxhOgWC32IyXk{J4s?(ZTGOZbdo)jQ5uNi}0z5v0$v`CZKX%wKz>=bq?`y2*+ zFzAaxKMeYpu+tTQUc_L43Q)?^1<*VS(0mLAY5*;w04-);q8A3q7z|SHM2_rMK`U_) zTcXO*3JTL;3ezeIQ>rgasHGNZE&B$AX&w7IyPn;Efd_*j7!1WAy@Y)e?PE8wn=$Yz z&0_{8)6$=&sq*YQ6sUJG7^VUBJ_Twg8&59`h7&nb?*ym@R;O0xkJ-;upgyHQWl^9$ zr$A-<0;Mm~A{}PwBxUvpdz3xKk|vqN%*BAj$}eG05TH)6q(LrFfEtZK;nM{aovh5B z$6%xe6rHWiUL-(~3xiP#Q1niK3bIzv%KS5XT?OhI1!@ch>Q@TXGrmCSW@(ZBV9Ao) z682B_7JHlh3xjbOjK^RC2672|msUKE%tpm(#e4Rtf{D`;m^d;&c48?^9BFkG^-Wbc zRo}`#O)qhF&ZWS^IVn7o2s~T`3eRL;c!Zm!@NiYR00IwJjq~TKbHwhPiUHA1(=eD` z!qrsZA!g|FDm-NM=u@;Zg$tta5X0{U4W2MnFD)i|X|bY_h-#w$-&5UObFP&NQA-NZ z3<^;j3eikoh@h-N6vcI<5JhwCxfrek2D34kgTY)3=9O@<3PfEnn6EMdW*qth${?lW$`DrTQkG28w(ku>s-awlmeJjNa8zTi$^K+=nG z;)@{ycM1bycz*eG0o8~C)fj`58c@v$Q0!uKnqG>HK(Hc~LM^#VKtxcfSRt+G5qy-2 zS38Q=R}`=I6t6SBc%c9-QYXF}#j7*lh40G8VQ?0Ma~OPs!TAzCUJf+Od zR$q!%KMXEtXbq&*us1)5UW&Q!oq8u?RZ%PN5ZVak z|MwI3ClnqF>VJ&~U*mz_LYco6Lq=o%cFO#>(PnyK2*_B0dMC^e*7*1V{~<9Q_+1#H zB7Qf9>_0Od_>XzTKd^)Ul$Z{XBR)(1bLz8%ysy;gwB8_pm_Me9+EF5EQ1^GSGy+fa zXK8i(lK+Z7!+(vT0Yf8(B8H|C{+yz-zQxe2=qzY`tl&IJ(}DkiGUN(|7L6f46NdP% zN!LpH8~=w2&hHc)KUxoOk$Om$1V6mo*$)+#MiLl-Bk%}7fC3U&4DA>?Fmz(*DiL_9 ztpu_%)U9eO_;d|#3B)oe68tc%P>PRWf26k3id#vjs$e8kp%~HOEy15+RL=00?lUb? zEg_ibDxtPeN2n{*6Y2{MgoZ+(5QJe>469-2k70ETYhW0FVNDEcVOV>$5TfcTp|Q|} z-3b;7;TYD@bX5ZkiD5CE>Z-uUirjy7m9MT6qABa!V^~*XJsA}!5n_c-LM*ot!+IFj zr+4rs(N(RiMvar*g&vHPY+G3n5D}(YMB100LLXHydQ-s&qJq(n3P!MR!t=rl z!i&NTVWuz(L!$57VAvMJ2n-`JY=>bKhS37Z<@(SI!;aL4rrgQ)8t@&BksF20q_Gz^ zVc4liAo~Dx{%4K7uw5Yj1>z?V-l2_s7t(ACWZaW5zntN>aZCK5HXtDE7WS&*_7N4g z_`i#&(fGM=nAXYt!U5r+a0tU57$#tth+$HRa6~vN921UX*b~Fv7?OhaeY$GpSClPe zUxi*8Th0--P{(*#=XgMbe`$X%O)K{I!jCFaS13~bNX2}VpInRai$EqIlnB2HH-z7W zn-~tja3F@s7!E2C{t%9mmj5<}DFi6ePl2gV6;3)taMBTLWpF7@I)UIsn%OjZ(Uz6C zYRT=Mk6dTg`6=+|tQ4L!0*}r{^_It1Z?T%P)46q32tv9Fx{A6=y2=<1#V{R1qSA+z z=&I_fv8QyT*&mK!HU^_He7d%{($OtGb)+5C_PEkDBoOHWbwTvPFcZTp^-dIggw-4n z5n84})HT&LR}l-Rh>f6#wWNsU`XZ+Lrc|bM5xVviu}EDzU6hXK@q7#mFeL5Cs1jWa zIH~KXi^XuXyb!}@FdX}I$y7WAtUHE@gM^ullq?fxov0@yHXyjJ7^x6(DI-Ybn7)~m6Ji#eX z7f_=pP(45|AF{ZPH>qubV{?dO`Q1Zia3qhSM;d zj^XndzEGl@jrQs0>gHkiA{`2b#EzK#bRqOIMd%d_XJ`m5qoTB&ji(oeGpQRzxf4+; zuxfUa?ls+76{R&4r8!iTUZc|f0CAv+z&AKhRtr*V7Z~=y-hAk@5 zZPRTh;`6LIE}(W%pgzR#B@L*L2v9;S8&5CAfG0o^GoJXH0wSzs71Vy+ zAr-BI6s;u`ts@kzrM_tCk85b1(0xVGI;lIQJFWW?!{rzjVOWgeiW1!!bVqkqcMii6 z#k?fe(Q8i^T4dy)NOu{-l^R-Cs962TZlV{4WXvr?y;Gy@mLL2@EA%V zTQS*=M;#&7+Xzs;W>jfO^%eD16nONNDLk79Jo;)Bp3T1S=v-Q)n)-Sao?80a`a1f$ z7?P^@7KYm}++L!uufP+C;oB-a?>=4dG^X%0!SEdop76hgr>(x73Qr`3=RFEfG=*n} zFFf#w22ZR$f%N(Go%EgcUG!b`ar$ohczt(0vBq~|_yLByFeLSUH->vK{0PIn7=FB3 zpQ!fv^u6_c2)7pM`(yZt*5~^i!^6a)BVE2Dk45vpT|VC~pFW*(-HYL;8rL%j*Y%nD zEP7%18HW4RJ86^xtgOb!0{tk`=hG7#Zhw)UwE74BS)WfoRzHDAjeZ=N;R+9u8LoPn zt%czs((UsV8(nG|nprOSB8C%P78mVQ31k+b!4^mFyZ zIyjEu7Z{$v@MMX8fl?z$Gk8j^kx$oHo_;yy4QYr@YrH8Tyy5L+oR(Y|9H9Lfa=X`` z(XZ97SK)b`!b6Ae9#tnbbT;d^Q*^fIx9Z>06E#I#;b$=`i>%WlxnSuKJw!y+|?qT z)SsasozkDyf2scpL(W`T2 zqyJTZQw8WZ3eZ&o&|{|i=>IYZRHxt3-!(7>V1Nc>U=5ss$M8CazhL+)hBq+$4a1ul z{*K`v82-81pi_0aK~$&v7)Y~xOVjCpl}`6T@Ud9_SEc)^bVFsrb3+vjZR=}ttMwKwC zTw<7Qm}8i0n1@jnjH+Sek5Tof3mxh*Fua0MRSg~LGAO@=3y5f_8cWtdt>~{ARL_Bd zdJa$x3KsPopa36H@-uv)McQbfo&&=s!)C)4!&Zz)ovw{h9gOOh7`7?0^bSV#R9Slb zFy#}iZPagIAcsQN*U+MV1H)d!$MnLe0Y(kgJE?EgtejTj0|wP5Fi@KS(Lp`~wFyu; zgM93tTBMVP^Q6@?oHCp?d};W~aK`Yp;jH1D;Tw!XF$%+|5k`$MYJyQyjGAE-j#2Z~ zhHpz-y-Vnh;d`*qa0R0lrL7)nP2CG*_mpQbih8UN{epOLgEZHkPfMQQub+CHPvXr`^$4x@<-U7-jfGDa&E znMmK7Rcnp)MJ+q0v4Yb08QoOUqW>nE7NeSxY?EGM^fy*F)-VQO6oXL*j5=ZzTVkw5 zYooC)MxE5!*!8hu^CWAdF_^H!NH+fNT*?k3nVML_OZ1@*EoQ#+$Hk?+hRn<{;X94B5IcLb{Yp8 zJt|yj6t2D$uAvmJe!g%CH8i*~j3X#qnZ_(*wviYH127thQ8Gq@N{qRROch|1qRQ0M zHNs~cOTik4kv76dwmc;5AvyDeUSx3|?GcmPy&kb~s!??q7^%Ym(Gfo53lt#V5kBjC z8a}g)3n)HwjB}0ijPo%Xicva7UW|s77#A8Bv5So_VMMGfk{1Cj`{@#=B8pHkM%nxQZwWa$!VHuu*PAnmPouy;@e9)*IhcrRfa{Rt^Pg69sF8uQc)6rj3hzO6zXaYuZiSfKr<-Ws6 zU73fTeYymSI1Gx6KVhV;%rjmi5a~17czRLSARV=$_xqLZcjGM;qCY7_lPE-gQHUn{ z%8_+`DMTU^i5sCrL?SD4BI)0ecJ(=oreQR_MAT7;L?cG(>OAyxt4^P9Uw%CATQ%9^T))VVvGz+8I7|p?GZi(1X!6q1^ zd8)=<_*99H*py;J4B+{tHB4+lun}7tdeRG{1*HG0-ib!iMlZ#7VtW;#Xo}Dxg3x28 zt%#k)Bw~(>UBs?poY+l_7rTo+!~`)BBciKc#)$NxmSD6Lqh%N^$EXOS;?-hL)f^Z5 zs!k}8w1O)%bNp4!3AOIAc>dQI_cg}FVU+Krku1^po<;edE#}Y*qm>w~QtyQCwXKpS z>7&F#Vvvi(A@Ev}I0mED|I8p4$BURqj5vWhqt*~-lsJ(reMW1^F-1PJob@ZU%$^gU zSH)~P6|>ign2B`SB8m2JBrV2laV{l~)VvKvBJmr%Ar}mYjcy-DPK`~-&m|jm^;0%@ zB4?eZc1zGAEf&e{0BgjT#Fxca#3kZVahbSWEE0>w6&P*AXcH#$=+PF8wqo=aM%ysj zj?vo~y|YGKDXyX-Dy|mSh-<}l;_FNuj7S^%9+gszNLk;LrJ6w!2P01ps zE|*D7J6oHa?W~53%uP-A=95!k$wtTbUaC3Aq-1(C3X`pl2Q%wRPL0c;N5}aPLAK9K z&GqDa`Vs`Q^G1h;28HxgACr_n4818#4nXSs?eT)cMq*cZrCQCQ|Ti|8T>0}bCmA!RsMMa;&&=> zJO<7A)mwCX^82l^8A>H46_7NKyidR(v$x#OX%GpDuEcMxbPrRYhMNT~U zUq51@{GI#7Kh+$`F$PccM4?gy?w{FH{+5{HU6nj?l)=AJ_vnV}k31L0#Hz%RV-KFz zZQ)INmBjzq=?CTRuG*l?uF1;cMw4i=5X-@2GMOv>7tFO=Od>N2Q?!@;A{P!5)#37O1YNflr`7g_^T; zP0Mp-dikbMQ{zX6){<;)qPvHb&9{w`T|6(#}Nf^|GPw5uhd6$<+1nfqIyd z9v`T$X~08)2AYyFx`fFFdxW^f@d|MP5%U+7p)$>sPEPPNc}zo0#HI5CM#TO8;|i14 zG|WT{)t@kHz~~QZ?S~MPE;2RWJJOq9*uz72g^waOMusP!oKKrjkeQj1Tc}!l37(;u z9bpd2kb>-xVGNM5t*n-Tjl=(NpHN_zO%gl@njL-SmoS37yS~Zees=ZrG!Re>s-8 zso1otoY=-irq@iXsXq_h!RW5su$1z{rq>yZX}xJfuegLDat>TdH$UfVgULY!dHEqB zM*&1E#|wtuHOcvP^yK0`HB+b=OnxQS%+Jp0T{C;|Fk%wtNeq}mPH?rvC3N-_deRhI znFKnd(ZECfR>fEJkT(_h?eftee9g;I@^whS&Nju_j znq3vE&_WFN6z26Me@iJVc2|&DnJcbTS?1-+vZH5QLJT>%jf9NK&dAO^R=q|*O>?c< zb?Vk5UlPcXX(ZnvF&QaCX@=3BywqH84v`M>k#>LrB5JEl^Lx%J>tsQ$)Hf(0CN3ec z9XSE}u(@Gi5ZO^FDVFANKkfr$SCsXX)Q~1EN&W?!`{F`V*oPY1%QK6xt0*@Z{%{{#aglL6TyV^2mAB-3S-R{>l%g;?`0r z4RSB`VW&BwT~Q?IWH~93(H*K3w~vwiWU07gtZb9*vLo4Ai4dS=o)zMI!W_^2FIL9NACB+dBcZR#%PazAZ}rim;Or%uC_9VjoZ=pdgaO?YsUk6Y z_8J(MK&*)r(wU3Q%}ps>(X)3V;hpkKO>KfiQ_@k=KMiex|{p_$}t!VWzm`}FS9 z*I)RO(J?N@!UQpvl+?VO$oTj!REV<(Evhg-c>nD<1L*G~fi$fLzx;z|E{#+e5^g8C z3e)mZGZ_Z7Vi@64YEEuG!|3VAPQa-A9QsUKSNrh99#Q1EKf~z6(zxU`Q>}w1%aiL( z_3uDf?%yGWG)MknL1F&H(4-q5(;)x5|7B(rP`c@V)yO604NvGy{*t{zz@)U4X!;yZ zo;RkZv`;8~{(hvlXB>HsU>H~RQukD_#vyx8NzQaVw?fhaNd zS5HO<8lI%XRm{ncr)iSkTy$1O9L+a^JTLI%Ddi=Ka$d_zp2nm@%;%RUFnKTk#jYreSCKvrh)4immn_8M*5Xmp9>Pn`7d{1Yt zknic_sVj34FDg;tdY`km%-xipt-5+hB?ON~cM zsnQljXwG8BkZ+VWrR1!O4PhIRt0mioZOw)#x#f}&g-oFGzLoM$%k_TAY1uB{%XI{y z^}*6Vh?j=(2L!Ktl5z$qVOA+Vd4!tVgzn*`vG1d)5s2jxPMlr$f?AbD|zxr5vp?kM9={(eh#&bmaN=tfyz zlC898$|^7Jqe8K#lH(^Gr?Wp%eg8@})8xsiZ^wA1k>i zXdh#@^*hp0fvd*e^5oqAO8MZK8uwcqGqGXF8zEOhN*Elt-w5C2NdlcUXC5CeBpHcK6N6Tsil{-qUGY6PM&4RhU zxrsT_49wNZzc6zIc?vMsFn2M#$k&eMI_79|rF(d&b)3>cxkn{T%~W$zb%K_shN~hWWolLu$;r!%B6Q>uTxo63 zBD%!COc<((sTLv<3Hm8KET<;0RoPHBmT0DKj6WO6Hen-5pQ*NLMgCD;rE2d$wk`SE zhK**!sUCZ<1SEA8FRIbXr~bj3;o)2Gb@=vt9VKn0bbK`5k&j{g`B3_v59T|O=jJpN zIS-K79t;zeol}@gT^IiJR5p))EI9|Wp?_FNC~4iO%|yd6%rD&)TL?J!r55ClRNt}m z562jYJ!NMqkXAK-wAO*7RLz){q|IzkY=CY|BGZQ%NXn5;IGIb39m`;53iCWOiZVc_|}IX#y>-L z)>^`E;CJ$e`1AY?K@cjCoo8AL-N=R``N9-ov9L~fUpOpW5PsJgb=7oXx)@zwU6yX5 zZh>x%Zinu$?xOCN-b$9JwIHjn()5M;nR>F;Lw`VjL4V8ON2Y_fHYAd1#MrRNu->qT z%x?UJOn0kcY;Nps^crR3BI6szkB#Sye~6M;UyKs_iv{8g@l|oBcvAd@xPWS#B20aW zJ7b1vwdq6C8Po4(n>olFYfdvyFu!cxYCdfK$)dN^vP4=2TESgu(0WDqdQ znqnPqec8I*`i1p|pUp4SubW?{-wS?g{66u!BneV&slAjYO_EkfA4=zK$QEFWvZdOd zwUyZR*e=+4dmVeMeVF}u`|I}o_Nxxb(b&<`G1~F6<2}b&Cvw(y#yT^cGo2fq$DMz= zs<psO?M@Cgxlku?%v=&=KiySe}(oHhF6$f;jIc^Rb(sHuh_lfsESJ~ z?x}dClD$&PN~x8mSK3(VRApGXe&rsOpQ*f}^1jM9s#LAgp-N7b#Z^A6a;2)XYDCpx zRp(XRQT1{)TeUXTyw&Dad%xQE{to|0{|x^{{=5CJR?LUMs!U!diQ4-K<@wcCXq~Yrj?d zQXO}l*g9kCtgZ89T~pn*bw|`Ku6wi|UoX7g@On$?9jp)QH>saq|K<7z8o&lk8+aQm zX>h0^*RXlRtcJx6zX%iqBLhbUt_?gF7IVMbj4fEjG6Jxn*F>;Vsv+ zyws{rD^IJER_9ySXr0o!sP)-4{%r=eS>EPs+v;so+7`F{CL$mrEn-!~#mIV*!y?y3 z{?sm{U2eNA?QTZ3h#D8QGa5yAh@Kw3zrEBxsr^gs&&1S-85*-T=4yu~9iHj1vm@8B zbH~{ozlg08n;N@1_G+hQoyK+A-C69M(D|j#-*lewljH z>Dj;M>Yg`yMfaN1>um4f-s5_I)~8}0Z=Y>_g}y!euIhWEU;BRZ`(5bYr2mxu#|P9I zFnYiz11k>982DbYB{?N|(;#k8uR&`D-A?J2Qk-&QaO~h$2478$N?n-xLs~@IytK=n z)}A?@i$huunKR_l(AGoe4!xY-Hhn?*6>pUHCGWLi9fvI&c5`^Q;ja$Ao6##{L#8fs zQ0De5DQkGv?(C}Bqq7g?G{~8fb9O|F5%Wh}&F!4KDi7oh$lI20Cmqav1$7H17n~c} zX5`Bwe;?Iz)TYsXqq9cuE398Qt?=TQm@zA#VV_BTX4ly2WAWH?<08iujR)fgkKZ*R zV8Wyc7vv7|YuJE?=LsB|S^_t_)wf zdR4_$&#(IH)vQ;~zSiTl-K(3eUcILBnwe|i+Jd#0*Y#g_@b&1|x2+FcU$nuw;rTb1 zHwxbP{>?#e9^cq`hZq?+=ge?!J5fp3Zwd z{wU_75BEmyegEUuAHVxai%+(H8vf~9pEdn#>%J!YwtU{?^DX9Y66!|1Zv-NIP-qWX8#Br$(N-by_Ay{PeG^ zUoALO`AqTG^}gP4w&~gT&PAWw_f5h#r_ZOJ|KZ!bZ*O0i^quLu1sAJbTzx6*(z};q zE+729-}e`O$ob*cl_@{^{rJjHb${CYbHva4uJ*oq;acvsyVqa%rNS?-{@VE0T{q%y zocS&Dw_7)-|6bwu*Zv6qWAC56{=9f=)NSGRqQC0>_4b|4cfP!vdG{{y^%RaN=E_J8+GRdraVyKAPGVa)~v zNIL1N-ox6}3j_j$Z0v+dG6@4oCd?#+5Q1}1RzU$}Q4pDgup^7gu7H4`hzbZOAgH*2 zf-52-%Kv+-rl)JjBEI+j@AH%cN%!qr_nv!}-#Pcxy@6+Vf%JvIj{`3SUJ1Moig-8h z&!7Q**giNuxLa`d;GV%r!9s9vu){II<0#zf37#BW8te_858Q zSAu^Feh~auOQ5BtWh>A_xFy=s(GqV-wrtl@XgR!PR?D20qg%RLmbI*DIkV;5mJ3_1 zYWZ@@4K4SzJk#<*%Udmf1VM~y-L`dftKC{?-M6*eI=yvvYgg;C)=##c1BSS;^)sy( zw|=4Zn%3)DZv{=<(Rx>W=lJ+|I-ZH|AFss^iO-17iJufFd!+u?67>EX_~g)khyD{k zOSHhVpwv^^?rgj3xZylul`QspKKg241sOT@w?<<9>unDP?CaTJxTo#jwlmu9Z+k#( zGiWWMwX)M7nkJflecPGZjJAi`RDI+Owd+9XpJs?QO8p^tklKD2x8;2TmHPa*jTjb< zCTzJU)o9j=)vAu=-?UU$MY=7YZTk-S{O`6sh4@Wg!KdTP-#YKmK>UyY5-sF0>*==d zdwl6$*Y&emL0nifC;Elf0&{HJf@Lyxz9zT7KvKg{vZN4m=4e-M?k8mWeHgwY?pz zwf$k+CkKiHZwp)^dSPvV-rK7@IiIx5^hhNv#jTomA*{@_jgLJ zKk^j*+We6_Lbv7kO}FH3%N5-VmHfM{;%nBVCyhz3oit{RmCf?UVxh2h?Y!tNxw@4t zTiII5VXq~XtrY92V%{$BCp%xs=IUuDS7>l{yD%@L+#KFMyhC`$@J`{K!=uAvi1){Z z$BQ;vv@xQM6>Xeo{B;-Mg-~rb(I$wt`_189Vflpc?%_S!{uQ1Wo)o--dUS0M#r*Td zm@J0HY6?eJ8(daK3I8NjSXW!v!!}BpiLkN2-)EiJyXw%cQ+pPByOQdo;lDOpO4mcga2`O~}RcQ2V2ox~SM^!Alr?c1vT%qm~K34s!*=b{pb5``wpr>1H|Camv*)gPw&YMjC^sd$1 zT-)I1USZD0x+%POc%SgT;r+;(l*3NA60VB2r)U#Jno?ci(DeR3YvufFA%MuT-dJOOudfhZEoO=E*6J-R2L_TRvZkUBpL^L&OW58 zXIbO>W#PU+Vtu$bygYo0Xj4VoOSHY$hx=K(m7?vVmTR%HI(v+Gs;k-9HZR z$+;pGAK8|w%?0Q=8+;=^KcKsJY4?i0)vhlI^IGj-_zcnZ9WK)+9zQo=-w+-MOZcqt zC&Ql#pB+9&wEaZeU$nAlj%XFp5X9OI;q$`hhc5_!I(%XHqVQ)#tBZDkXtPB_gO3!g zTeL+3la8&k{iGm;a`MM`LvaUBb%eL+t#&F$F8{o!>FF=uOk2^tRP7_ri*DDrt8)|I z?a=tHb{f*8_T8IXsmCFVKo!uL}*6I>I%k9ucqCiTwY2dQ_~W^GjOY_?tXeE5;@x6s5# z!;gg@4}UxSMEJ=dG8S#{xKRXre3Sn(x>lU%wpfY+G(ToRr!8C9ecEA*8ozCRC)x?3 z%@qyhn==3-ryQxKI~jE!vG&zo)#c=26F`Kp(ycc3gj>C}6Mj1U{qPUMKNRf<(J&v! zipDK&&xM~0|A<*!h`zmebo04$+z}zYN&$~LZbY4;XLnu-zszbdkf!W%y-ngR{jpjpx6ro-f)l?&FRadR*hn*S#-~^S<#cwXa zNaL|C{GRIWW4A{%`??n^FVr{t#O`Ig&zri(yl84z;12FtG1=4X#<(ZX=w95_zp}rn zwmyIze%k}RU9Jd50w`r9DB6hwm>xgUvhqccR;ILe?U3<_=#i~?nB#Bbi(Irp&oF1$y$<`{qdjM(y!ufyRq9@$ zlE&lWk?qyv5|L!2GXena6|R8PFaUkmDGU}oGcdsgT>ZcY+}{pv%|G@S4BNd*`R4wa zU8~&EF3`;OBflMTJ+l_{s<>{p0n~2{T|CFwXIqgNkt}$cB*J=n$cFoisbOQ5j&EJWJOyg+G(P#ULP?6 z6Cy>}tsv*=ytqNPO@nZ(`db6GDZWs_bc5^0Q1^>)Rm#Q> z*@}nY9+#?zoS~`_SD!HAX9q>5s~H|F+L?nvb+etCAeg?tcS$!66xmd(*m%g{5zb2+ zjLZ~mU@(Hel`Zk(NX3t%BG|sOL_6EZkK-a;n;PnThKd9Kq#Ej{czFcT^5lQ~{sUA; z@V~||dLm0V)xomh6%j<~9NtCI&Q(4#LKl7{H-3M2N2%G-%E+k!o0HagEy69NjjWD* zig1FBfHjdbB5NaOMm`Z4h)CqD2wh$v+NVXkP_&Cg`;2Ix742ftE)nfg(LQ%`xIiSwI@Y;Rt;FhbjhLx;(A z0=#+Aoi_9Btkp~B_bx%cH}`$R8&Nts+@xVN+z@Zhw8_nfDK7@FW1r1MbLOleEgEjI z`H@WP?_a5cigCk_QC4gChm#%P^U2G5d)%7T%}rL_^^TrzriqVc?I)Dsdzp@f3T$^=zT z?Cm9_WB61>uBdhOub$mI4gKvQ4nABBrlP7Pk8#JP3VaoGYj^)Pi-3_ry#;Pi;+a{e zYsG>Sm0-+fW7PdM`j->Tc^KqK__kCT&e>|$Rmua2HuvR6K5sHY)yH{VKNER&UUX;lewbZu*CY73F7lju#=mLR zI6FD=LWJYiZiu`X`EleYk(VMbM_!5iRJ0pJyHPa60_1y(Xt#=X+YOP|2!pS{j9sg| zm}p2k=@v?U zL7_|DQC*XRBC2q96QdnQ!fGg!`1sQ{inf_*B`KAsPU@>?^BJUz4DFk)V&L1E%ql|xkcv$EfFYv@I7 znTh~0v?|3i%={7kJKc+V`-U7LzwmlfjOIz?3>wJnqg@V7Iyx#!-fu7psJdq`x{YY} zHoTIDU&{Te!$xB&sd291H$cU9cvNDOu@Za2YK`IiS74fvKWBGO)7o z?0us9HRrp(Xy0l+u@WT&kNUSYlNjg7VRgZy(CP6uk` z_-VWUvjh5iS1#wn5e?OEhdvwXZRSeq^4(MuKlV(^#zRi>UBfsjP`<<~y{D&-YGAQw ztzGL{;po?W8#vK>qxYc}KX*N4^nvJul&AAv!n)`Kfkyr}`pxKL%F;X(eK`7vC+;ZW zFGc%RL);&CdH-Y-75KHsY7Ew!4dXn_3>6l6)>3U7G;!dtnf2y(*fM6)qh3kC4DY(- zmP6*cA%Q=LaK~gE_($}Ek@nz2)4&0n0W)Z}n60K}>Z1Kw zw7-bi|F*O@MhyC7TsN) z*n);WG=o`0R87(UOII(Ck=k<@#IsTz<1rM|T5U4ZrH*MdxPRQ-n<@ zOCdj`EarA?t8O=gyP4aYJD59~JDEG1qs=kqSaX~?-rU99)!faTVD4`2VeV;8G$)xU zbFw+bOj8$Tn;A1}=FGfVFpFl%oNDf6?rrX4?rZL6?r)Y&$E=uDvu4)K1Iz=>Y34!Z z!RB=H5c5zf%4V2{n={Q>=4^A0IoCYGJkmVMJlZ_QJk~tUJl>pVo?v#F^UVe3LbKak zWG*&OG<(dG%#+O})S@jjd(GwMDQ2J9Z>}&`nx~qp%+t)(=IQ1d^9*yXd8YXZbHEhy zEc27*r_8g>bIfzi^UU+j3(QYb$99qV8S}H|#pWgErRL|%&zqN-mz!6ZSDIfizi3`% zUTuEKyvF>pd968Ut~1x0*O?p4>&+X?8_k=jfV;)K)x6F8ig~+vhk2)Ym-$umYv$L@ zyUlydd(HdI`^^W;2hDGo-!vaGA2uH`zhypZK4v~{e%pM)e3I(9@0w4U-!q>!ziOnvFSeK3r?&6azIXdR?fbT~d+`s^J`nAnqOm>vq38k8gQB;H-YU8#x-PmQdPww9 zqHiVo)}n7C`nICCi5?a`B6?JGQ}lMxJ4BC(9v3|!dQ$XG(YF(Qd(n3geMixE5`AaU zM~gm2^s%Ck6MeksyNJH4=(~wNLG;~4-$V30MV~18B+*l%PZoWO=xNa{(QVN)qGv_V ziJlj|AbL^slIT-K-%IqpMc+sCeMR3-^!-IIi|&YC5xpvUP4v3x2Z(;4=+i_$Nc4k6 zpDy|#q8}>yVWQ6v{czD|iaty9*`m)8eXi(7h<>DSg_nM`=*NhDtmwyye!S@OL_b0F zF45`pD22d=qHJOvgk`hUn*R5ulI_+T=Y{!?-RXW^cAA76#Z1u zSBZX_=&MCPUGz1gpCS5M(a#k96QU1@E~1|$`X@#Il;~%RevatpihiEx=Zk)U=${t- zLeVc0{WGF}R`iQSzeMy)MgN@WpBMcy(JvS7j@Pdg{R^UhQS_@szgqM!iGGdfUl#pZ z;jVano#^XDzfSZGqF*oi4Wi#D`c0zWEcz{?-zxfTqJKs7+eN=a^gBhrOZ2ab{x#9R zF8bY~-y{0HqTeU_{lb0c`h%i>L-cQo{*dSoi~fk{-xB>%(H|52anZjm`V*o*Df)Lr z|E}myiT*v&pBDZ5qW?hjABz5r=+BD&oajFi{dv(}5dB5rhI0KUqQ4~i%c8#``cFlF zRrJ?H|C#7N7yTEazb^VOMgNuPzZU&BqQ4>fo1*_#^xuj8mgsMb{(I5?Ao?Fg|C8u{ z7X2@xza#ozMSoZHzlr{y=zkaeebN6R`Uj%_Q}lm{{-GEFF@j>Wh|wyBCWbDCAx21y zQDST*#@1qNBgVF3w22WGBO*pr3{#ADF*?MEiNTh9LX4ysonmY!#`a?DAjXbj>?8&S z6Qji#L!yz2h`#Oxy?qO(mU87U8$y1*`jTwinUrMm9J)M1*e#{igv!)x|%Mf z`Nv7+^Eo?}Ef-3uVmgye<;vAusb0_9)x6zoU9Ve(f|JRoN_MrB%GN8TRHrA#@C_9A$U(=&1Wk?kZnOv$?E@rGsIcHU^aJ+n;d?l4GJM~mH zYZX#ucVLBdAyX)1bG5Xu?|dm|Tb5Hw<+H_1Dx1p`D43{JQq_7UpDoqXdB>?Y`>xxS zY%y0Wq)ORpp1x}}#$By21KX}wbM-Q_Z??{7>$Oa+luczaWq6XSS5if*UQ5-g`E;#R zb8OqLHCtEf^>Q|!DW#mU1y9P^Y|62VRw`$gGNo*q=JiaowUf)_vS}umsh275s8y^~ zsZc7Xa#ffCPm0yDkKctV>y^)!Qsqhso|J1=s%%$sFeaPJ)ty4N=J-ZZDc37jw(6t` zcAD160c%+;(6?PH~tCE-5htmR6{N@ zwG=`{>omVB<}&qEy=<2dF*}p9d{Si>a-~{5mqrFF%(7%Vsd6owPuaOjjh|Y@Le0k$ zJHzr6s+p9PtLIW#yHHIPtF>Y(T`gLLid89P>P~Ycj#bN9nXH|%Ds`kPohhbDwKU6L zvvSo^A)B#tzFF3C^}Lm5B>9T!J5xb+bNO5mR6a-|}&WHHsEov~P_Ofk)3pjbW*R^Wc6f(+&z z7CmcOth`lEr!r|oF;^+n?5s~>3r?+&uH`BzD_uj2(>$e=M}g8vY#u?Y*frlQt*VoC z3aDhRQm1?7k^K6PX`#YysuZiD?c^e zoL@TQ)SOJQl&WSeI9)G0sZueMh9yol?c~$xeBGy!wW?Jss@A!hh4dAbgj91_l3F%f zOqbJEO^u;prC?On$>#aGm{XiCVH=eGnG zATpP=5v5|Why^S$>{`8;$7nW3Qbzsib~%kGV{Nk4LKfXb+p%z^O0|+_<$bfv*XmX! zi^;Pxm@{l%IpsJNn2vSLI0c)vs5JYoWSvYkU$3U>1!YO9q7zVFa*ym{UeltYzU~h1JQ|v2VBxyh?K< zb=10&FO*Z&Vu88kF*z7~WiK;D%fjTAbA@JWM6Xs=TARr!9ZQ$2lw+}2RTirVw@Oah zXLl-@dX)+~J4J_BsXY4QIJsQPMp&ygrK^^o-z+nac2ag-iB>V4qx=qO#Ej<4aF(h& zpOwm>R>gb{b`(|LP7QvecKitr)-7h^_*Nc$&f_TaseC3~ONIIOSb}?PYm6ggEAD^6HAs7MzT`A{XWKvIo4(chplr3ax z*>b*C&iYn9XXWx%8E2Qtu{wEdanZ4H$`yPH0#`2k?FkRGD@AmtTrA_^=@S1`sG;+y zQNCJFTV>x`rZedZ5F`T=l)cVX@vBZniESFA%?~i+&5>lv`KoOd9KeOmTIQ`B6U0em z8C0=a%IBP#Ppa_LnR4Bs$2!ZOt>##r3Ifa;7hz#OQz-i^ThXqk?HU-ZZY%VVS30ji zP$5$))vaO)HS}q5Ee%pBDBZ=egQzen#Y(M|s;7$;j7hd$_50OQDequE(1xmo?vxO} zGK@=MA2YaBJYvbGm-Ji9rOOq(8B@*Lu+dSnTdkIztPNS9BED269f-r zQp+QQ$WInXlXZNpad7Ecrd~&k08>l}8O&PzQ&0ocB*2d0~qHT zt6D^}ON< ziU-)u6!E2LzcyePbB^uMH|`W9ShQ1^Y?i-Pgtu0mLHhc}=QwtuR7>T{sl%PI|wU?UwJ9D=yu)#!B&b^4G#+h_wgj>I2hkT%Bm~mja5rISt5q2 z4NGzsx>WP^tw3!7_>?Ll&{$*}J4lDAdKQD3FJleTK7Uy)<0>rBi&J1hv$+cJp^7`n z*>$iJ-X5pa90?4us!BwGpjfs{4hvDwIVmCqP^p#0-}_qIHbRACOx0^xk*v*d%2v9R zsyLaF<=C|>j-uJO%}i{ZQ>vCtGwy=&m&&oEaoXrwp`Oe6?4WH|v%qMO1Jj{3xXme~ zl}I967OPrwe0H!1aC8a`xdiN0tyxA44qzGUTykpZO2x;M8dw<7#2Hw)D&h+iA%ihu z2|>~|U_{#IN%HBORmR?6Cb525qK{NbA;@YTr)`(uK+eaLTp7DwEm$c`1+FSbL#J9m zcj^TkXc3I+_uM&!$8$DN8{exCtg>1qj7qLvFJj4aCCleYU|%U?;h=1Q5hKB#6l*2i zXDLgtP^wij{=Vz^qFp2!10R7i6ed=Y21YcOD-`o-8(ipH9qb$+&cV@GU>Fb&GMFwE z;YqHPPZR23t(t3@Lu#xvK@K*YzHwq;Jq3}|s2Ky#)cqL3%BAfL@SWD!%B+Kp12$l~ zSeks<<}rDnrlH!|f_gM|h1MWZkqh{uS{(zDQ&R;M5d9%|Da%&V zMh)`?pPbmZG;A!YrPK}NfW%bru1aTY@ExGu=cSOHGLEr|NywoMIXow!6UMM&5zpc7 zkgFz7(nxBSz%6Ctc#uJc178461p?8sRWCSxIjI*4nM?r=R#`MOElc#52jOKZ*uhe< zlw(NEzO4)rSY>XNIuC#mSo;hNWhoUhty{$6&DJ1_5;3KfvUypRk(5B~T&JpM+o0lp0cv7yCda!_9nY>MF3zaP4hyXxN$to4< zSSFvuqD`0-8ro^)5z2sBM?6FI55Y6Vu|0GZm1M5?iNOs-%eAN(7g+ zOy2JsaP06D2Z%5OAWjj|VrY?iMTpNoWL{yc@uc8_RnE-<( zPfE&+mQ-Q|X+uu1ZGf_qBb=_=_)&*(REj>H z6w!@pnUQ3w%q?3>GZN4!V6u`<7l|iC$ z(o}Ge`E-?$6bJ$U>cr3BFPqR2S@dZ`Hpg>Ib`G7-)3=Sf5w;dmcqpg9@@MS2&)U1r z(kh@f#1$Y1(0aKH%qx=tb8BW^(LOc&-=4rfJ7gRy%KoAqxa|6(oAqt%oOReVlOA)p+QQK?K) zCr2bstkRT`Tn<}DhE6FV-mk`@l*qfJY}+BLRU(UCn_qPRVT#38t2GnVxTZB={$A~SXJ=Jh*Pc-omtA3sLWk41LDmR3ZU~~ zvO0q6M>1K5{F0?CeZBzqaOr454d+m*5QjsX8F|0U|%bwODpAa7GInpT=&`6Jn=TUsB|jFgXx>>Exv=~CTTT- ze}XQ5=B|)Ur%5qp5jYi&l90t$qQ-@~U937-YRiw0%a#pB19lhkAlGb;G#r`ILJG@* zS*u$XtJhph5{-aErIX49lPzU+YUpyQkj5>R%f))#IbtYR)ch53SpoQ6PNj+Ocm`tw zJ(N>;tCC%-)D@&@w$72ELsd%TDf3_}JP8&b`Tm#R?1)@;E0O5b674Q zat<6p0bpvMs_1tDI#`mA0w$Bgm0eDrd^%vr1qAUu(d<%7-H$1Pe@=fDJ21 zo-&gmtU$Vezs+&8Bz(jKs|1;h1nD9yB6VJ@AS}5&=^dY6tKoC=IDC?DB&W$at4KrP zHe|R8;IzqJH~Y@nY49VlV!1-MZZ4u!Lo{txjpPvq!}4*kUIs%}0mfzWm1^9KBv0;z zbX6Jkvq|{*&{B;?M44IqT9%Pyh$4{Qa>}k{NK`w7Pa|4m!I2{sJ1As;aaDO?E0xX` zi)Fh|sFnO$!Hxjl2-i@ryZ!+Vk_Sf+90$Lh$vgRsPe1F}J7x2M(Lf*NJFtpmT2U0# zJO_Ts_;kNoz*iC_;F^>bDk!w1pcd&lZn8*G0e7&JkI4?4jzrNc=-;fc5e5q)4KrKvGEgKX{^07PcHPkpVPi-~bt*X5VD^ zi9KNg30v$5=0atm6eg^L=Tx4$ zdmUP1zj5fqSr+LrEWXd$S4I7J@z`-*?VjlDoi-VBk2Z#Y{<+4wz*!fg>64LKA7fTTH zl+|u6eUk)bYo{~<-=k+0@;BIFm4zzdT}ukeS;%FPos$~s>|1&4dyZ6x$`8T8bOjri z2euHsXGujWyNuj-YOub;^VhnC?ZqXDy6U3lRRT$ zBZlC+4t!GxyyR=mh7HIL$Brx_gGANdJ}RqFtCH!!2>5JOrOLK~&1f@VLdMOuGFeT+ z*%E;?{s?dClfi6(WSnYkXVrcRHkb?-{t|0kEvKuBkv_e&)9e9OKx2deYL@788N|yD zI&P78hD^WDo)m}-N%P?m^5o;PmWsaERlyzji_8UnrGCBo- zl)ojvZu`&}NsBy*N^l_?y(%~Xf@j!wa_WdHy^sm;$qD8aPsG9iMUX0T$7Dsw99Sw? zD-hJ?{kRH#kb{D6pab-hEe3oV2&+;d(8p)00J$kA8M4Co4`q?nEMX7J2(DstAxGXP zSAj##)>%Mkjnq4;rLx)?ut%ApVQ5L)gTqzQq1n2?dgS?^+Dv9789Y9=iUqBcA;hN@ z$YnKK6TY&O!J4p31}aD+eh%?6V?uZw_DtDS^|wx21%iF7h}$>2ROJ$O$iZS_L)o?} z`$od1EqidRV5Ouus3KY7a`vV&Xgixz`E=ITn((ifOA~UZD{3tra24?f#s~xGhNo5O<4s5hDv6X^tD<%2I;DG9)6gvE+>CR)q!dE>j}u z=Z_!IZPpy?!;TgfiZ<{>m0Q&DX{5)LN;Uf~kjN%~O%8>4PQ}LTtdJ{5+(}=8Klzn! zEov_; z2EXHmOKNK}i=W17vGdPNbGafZLxiO{ZiGbbwzz19)u|HQ13j1}a1E#ISlNuPHRuNS zii092fmAt2I$L2_AA(eN9Vj31+d=YiMYf%Zc=53yC6xnLfpxwLHYJx=#f>*dqV`JC zWMovJz%0u+5h5%Sx_IckDw@HLH(QfE`7Isid0Rpz!q^E?XIT8|JD!)KN zy~ciFHmihHX^{<7XP=~)f#uECBqdQP(y=5N&|(T^u9IM)G{U!*DuYE$h1$YL z$=nRCG9!eWv*YI4Z-oa5j6l6^ zI+A_uLY-|TA5Tbkk(Fh8Cl78%8&uYX&3UpeDv_G8@iIQo4R{2`qwXbKBT_}Z1=y94 zkX&Njf&FX`Hb+vi(j*)}#$aLWAPxlkjccwEVKI|DbzMF=!91%BGiWLgJJ|a|V%2^f zArwZlh8@iMw1K=eI~Uk9GNJIBO$j)t!U6CYz!4yu^+^@`g{+-|FG?j@Cw@m=9`0LZ zXsBIbb!22Gc4lTvbzkhdKr#m^5jQB05s?$q7Lxd2t*o89t;60mBXwr=jeu z6io{wtWS-KBM4-5T_oGBYmsk;(msVbiAQWCwvdP9&zJ^J+$ZR*) zl5Ilj>Qs6KyMi6WV4}B(4d4S~hrl_$)d7%@S^#U>w%ToSGk-W^TpT5SBpL|>eX9cu z#qTR9N+BKNRwzuN0z{9%ff5w5u+5R=Yw0S;2y;_sD*+ryJk3@E62rz48z2+`__RS4 z-(|DdZ!!?{%_f6#@vJ<%L2Pvs{`=#dEHO&GKmwVHDx`{7PG$OW_Jl=_12oI$d^%qw z(@KFTj-~*FWi7}imIyk?E9F6oR9O{#tHYi!@CFN&FM>1Je#Q<`RH2MGSe>K=ex^A~ zhXr=(xI9WZSxa^e$Z?PWB(fs@qXrY6HCt03l+F>^P!FhTtdI>bG6GClBhRGT0)yLZ z4PPrHyoxE}PGuq3uPZx%!W>Zzpj0K!eAXw!Rugp@m;_rT+Lg60gB$s=TYto+hJTNT z{cJW#&_=2uRBJ?wSz_(6r3zMo#(WlnY#OCWQ5~65 zM2Ws_b}ke$1*uSnOfeG0G$hqj?zA~e!Zv&}h(qN+;0ZcM#E3`|0sx;8o~mz_6e3_u zfthw$Ww**|A4Fw_3l&C1m_?$*$HB64JF3*fN|WM3=CCK^1ISk?(Wbb-_U9f+ujJV_ z#rjbiK$L-RC?W8v3TBBYgRlMBEtHzEqFN-+k!tqz!1g4&YBeWI@l`2}#5ZS2q96^r zWj7TQhV@aNyUqjfmT7{`GB&~IcR&OLS|ECgS>U%*go7m5aB)RMpGpMkwVHhs6|$S^ zR%DTAVGM8(uZ4{zIj72Wu`12h02$O<#Vu|XPmOE`PbV3W$HM?RF=unI86XMNPp4-pJ<%2o;-M4-rt0w&pnu!%-VYWt)LIc1{&VWmS> zUL|e;yC4qmF2)y`^6#V9@KDst31l>*>(d*X91$f zAh4S1C~DcuRAl-w8(@Hp4QqnoQ}{#`V6qLEQnm!qEMzhG&5@LBGE?jWr&M9B(j64R zQuec=a^-b09sX)Y(ofXe19QpDAt&GoW~p{2$#APstxU+#>|4bZgvAQnDGWhr2(whN zdVwU2l_PTU=VS3%4z8FiC{RNA9XE%EDp3qUeuffe|11f`*gH_ztL|lTh|{RZrxKX- zEfxt|=kwfE>>bNV0e432b-P-et0~Jy6+TK2s`l}Oz=}E%<(tY%2B}ZM+N&2iu;)}9 zvUL7j7_yWrTflk(bofTT4AE9Kgw(CD)5qSsAD>Xdt-L7`s{(H@8;W3~_yiwt1=oqo zYI2asms$noswp~Wb?CdSs$TJDcn3;&Dt_xj`8Xx0#J6M)>6`40sykCAm;Flo1zUkW z8LU!lOL`Fzb=XH`hYQT6D#;4e2EwH@-q&Xbsj}o<55ndgTW#5DaRGoic zDudLO2r|hJx>-hdn0rlHG8nJJ|24!jXiX%m=|L7N7G@ z9O^i+qnFomJ9;`!>NvS$N#vc5WnzpIW4suU^D?_Sd}G=&&SK#;V@|732ZT`Vz+G>A@1B%1yRVBg3i-@^ zW451fs?Gt!Z}SedSMQd4@6I>+pLz`Z?qpWQbdtrm6 zqmP_9{LRoZ)cbmu4j-%1;OzR24Gh#fkgVf+F>*sEH+S6BwrYLH%^kON+$u(1jFK38 zH&5K^xV_`6n>aA5<7-IN-C`7!EEUz!BpV%IJAVID+>^H&M{jjJ(DBfwdU}|iz9q&~ z)zeO4^jydD zYT)WN+R#}EN}#VaiZH1Ju6O}g-R{y<{R(Kz~Qy_elhRRSu;`N-ad6kjjOKe zEYo?>ebqxYc^vS(Otk_Ir39I>3>*%n=YV6N9cH{l=_LEnsw6|5H{{+X+r61?+;{bd zhW(NAqdndCPsw*i-A-%Ps271a$eEqIqB_=@;F-T!`HXtQUfo{W@z=K74>OJKkKS6k z`+xP;($}KVQCn@j&9>e>q#dz%BH6j!_B-sz1t??2a$P95g>u@wH{iND`0I#6XSvti zawG>F_P+4=tj_5&51ln<8Y+KkPcP>LsrFn?s@AR#QR1i5`Y}OsRikND?!KJXua4G5 zZMb8yr>~#0g!{QQa$$GhF^A5osAHGB^JAmKPx8)1?B{Fu1o%U``cHPRy7a~|ydKl4 z-eV8wTkbxG5lmZn8mGK_?G9bJbbfc=KyaXyds4@a+G?O>E3P-y2DUc2l~f-X6AhSA zi(6dx*mEMcoK9gYao>Yx96nQB-#YJvF7CTrviy|3Q&*j~<_zx^*Ll%B-Gy`4ZH!tp zcg@C7(UC6lVb&hw{z<)jIc6@CnQ8;iB5noU;r4%l( zz+O1ckUC5DA4wAD$x(oH*>eJlyFQ_J!Af<1u`+<(Ipoi&n^$xBx!(PwN3P<$v))zH zz$&rj!v{DwkC_)^lWMBUVCrq4pR>PI&@a^809(BYRl9V77lxvb$jhI ze6Q(q`|VE=(KMF+qnFjLcPiC^ZD4r&`uYI}4#Wqxra5ailHq^Yx>@_Eam+p9Fzk})_DjBt+HNp3h>zf+01PD)Pb!IuI%2|ZWvw7Mszb>_lvNoSTLal+*I2}PjEnrh z+UMpkuoiYN;^2>l)Ow8Y#KKiAOwq{i{Bv+y3?$SgyWpEGS{Cnnk0(l4mE~!0D9<^k zu;`?dhn2@0#=4XCQ6pTsY|+5>13Rc^BzcB1T^pZA?>{}Yc}~6hdH;$<-1)k*`uTQi z){vK;G$!Xh-Xf);7@-cE;aI@t0a*WqAKaO;>f|0h+%zsMAi+35O_C0zb?R^al$&4I56z7cpV@HAJI zy%qQ{xJ_^@*NWtV)nGk%VDKO=Cp#o~XmCdG@ZhZAoZu0`ql3o=kLR+o1;O)zp9ww? z{8sQs!8f^1WcQXSE%}!HTIRMK$yFl9wk&8lv8BJ|jFvC8T-$O}%N;HEwmjPMM9X)$ zlI&?N6?u+}$zE*v373=oqcz&v-Wua_vVB?);$pJnxmM)F){|P7aJk53t%I#Mw%+Vs zDe`>lFIwN!bZvsRhc=PR$qvz$YJHk$pVB_9U8H?hyF|N1dsO?b_C4+U+7Gq2bY0(C zPwLz2d$^FIdF9Aj@9&L&>j!h?NW;s&7t=U>s^jk+?|1y8A3mz}>Nk2f>e& zP^*ME!eCzsZ6%?&0tH10B^B7)%u)Lu%u*m_74=_%>eTE1 z;adaLBZf!oK4Ro`2t$mH?G)QHVBZ?sIW{^rCN?%UE;c^4OKjKJZd``8du$IejuPW& zF^&=ASTT+h<9IRViE)A$U1H1^V}Te8Z;efiO^T&rlVek2>6jI>W0_bsmWu&uyTw=} z#ws!3@g-thBgQ>qJTAsFV!SNIFU9z?;=0*5`fqr=|K|8mT$y_sk@q{|4MLps@Oh)N z+=JSOT+)`#P2JpSt&KBMH+R6Pcl_zcILmc&O@>|W$2^C1a|3N0E4#UYdWX_(?puy# zf^YwJj157l#||OvjU5m>kX!N&iX9vSMlTlQL@|2AI7y6?#aMEE>&vmjT;-b?yn;|y zjHRB^o$3Wsn~g*Nha+Bv>wTw9{kwR(F~wtJU7QmZJ1%y7Y+ei*C$R4oW4RcoTo;=k zTYybLp!>vFp@Js&Waa+U7-SXT+<+J&##u_`H*@^3tJRYm`Zso1rAM4m>@{+Ez@ZRZY6E`r z4*8!K%?-EPta~b+ab z!7WSu?Xf#muXl)X(O~Q@F+Q`UUhj_GGvXY-*!{5wn`8Qh7#9zp`4@XQ_Q=S#kHvln z?uk7P*PnKH~b5WQO!ro2szuQig0 zN*y+F(58Ek^vONTmv8o*$<64|mX4qNH)mH4DN4LGt|OFjO^gkLaYKyjw;bNE zNaNeYw-w_CF>YKJ563y_>n1U7R@xr*9L$PS8~&w{Ye@07p678IkB!BXs;5Xi!EeR5 zMg5VU_#-{dIL_@zSs``5204ai9JaA9ijR(uZBAjF7+)FItN5;Qbqz#(H!*G>jFZs5 z!^N2!`N77hCdIkhdN7_6vn`yP#-OpWi|9OXV@e7!l!{o_t^loc`V9zGd4UXM@n_{5lC&YdIp)ad%q z_*^BV2P2@D#%IQ7#b?KffB<5MC&v0-G42!NelZ@nA$~;s$oNr8K!aDrf$U|X;U3fNh7VqXy=l=J{ZU4syEpKTvAl@Bc ztXRBAjBgIc0i+LYNtTzym%()J(C(4v#K!yLE1LbR6r*|cHP=9&KK!dVIH!5^b^Oe@ zuvFpKRcFWH1vhmfcl@0AdCjiR7vr&}6kHg;XoL@lUmU*-7#hDMerf!3aV-6}#dt!D zC&l>Ab@9vNSH!Q3WB9)-##3T^k3Xoji}?<9bylnWAorYBb2_&e3`bSoHc?^@r;Dr0 z6I?*)YuxGe(YPnU?9QW8*Do$AU~qtS-o6W*VVVW(RM@p1~uR7#dvx! zexn$iWxa)8JsXI`Z;js;{|fiRklIrT^chRIXJ_PfJ!1S&j2|3kwk#i+jh>RuAJxP0 z#X|@=N*;GbdBFnrjA(Vs=kfjSRa!H8`?<)WciD0ML&rqBfca*l&5Uoi)7V}2nD}gH z)K=ThUd|mNw;kO2S+dg~|7SN};qqYcj@HN5S($aVJ-(6ZS(nWX z?^BK6|H_#A`Cx&k6nTo9Alo4@Ij~RQ;K1C#F@X~TCk2)U`U7hMYe|${#_hbfaW}6@ zmOVte?8N}roCe+r{Ed`ZFlYp~3+^7Yg85)6xL>eL>g=fCiNRBX>K@*;!Ha`m4&E5N zGx)XOJ;8^Aj|RUNd_MSM@D*=d!*}798sqf-8+_H>wv68yzl$9rVzedR9?xMbSEwu3 z)MizgdmnmERdPF|JnQ3MjekwuS@AL3&x_8VH+#hamAM>3HFtLN8ALu*I&SKb?wRC; zp~uaeJ8K>BKb{*&?VD(mtcFKi z_%p+%`y&Sb`S^>?ets;*OHHf%a{QH%R{6E~Z*aEppT&P3|3&=u_%GwXivL=SSH$?K z7_W-)nixM52Zo8QFml%H(J6ioK)a^iG{BaJK33O3f!TsEc zT@$;3x1048ZkzRdJRz`xZL!8CmP%DQ>M|jf0vNuCXUHTZ_DpbN$n}YdiAjl6Vsc_i zA}t01&pTrLRg8DV_?sB-QPh&iD9ez@CkhHS{@t?;?@OpfvG!w}HUF`Wg#YiKJint;4>3Lv0|DlIWO830N+=*9 zZtmk03@Ev37fn%YD0N@tf*cM;)EP(*Qo^N6C!N&%mI{QEs z0jmvLTJu7sdN+U*N~*l3){YP!9jQ3cMCx zagVFwG!5!eDTG#aZy7eEIemxYCUlsNFtAvKKZj4U-2UeKaM ztL9pY#Hh-+=t|6&P)I_f{wFJZ z5+@~=sDYj=p{)lKOC_|88t7)O988=-)lZ@?(Vti$p=~8(N~oh*^^;hYSVNgj;qw~j`Ooeh+{8{*L+Q^>oWH5ZUEr1mh1!+h+Ndp32 zaZ}>v#4U+i6SpP4lDIu_N8--JU5T$ss8d4QNoacs?I58YCA5=-c9zg+35}7^SP6}j z(0B>$BB5O+w3~z`NN9KZ#c$l5xF>OM;y(WLKwv`R8;Ni7?}z!@w-S#g9>b$Alh7U# z+EYS#2^G}eim)m)RYH5I{~oVCnJ1xBB=nHy?rq1tl+L)oga7A{{ateynh2b;$dX^Goc{}1t$kg50Tt+^8xux%t?W1uJ zTodkH=@Q%2joeu5#wJ3u^vmsPnhJkr5D0zrX77)28~0}J2uBRn25Mu(-i6`r-der);oY~M#5C+XoODa>lq8|JKDl#pbP@}(pM>_8 zPM@Y9wp>h&ZA#rD3L-PO0adxiI*3qq1d zD%OKGW(-XKQQ%L3KL@xdJ9%vKxWK!Cze#AOgbp954jeqb{K#%c2Tz&u%f|TTC%XX{ zfe!-z95`U$z;($*K_KC*frFHIZsJ+KtI?AuCzphuNG?nEN{HvqRX3T3=1Azs|Ke5V z$v!oMehD4Xyt{nF4d5N0_|W^`b82qP@LhEY_&`;>JHQLxM(GI7&04v9d2ioFms^i$ zyob|f0}$X$ZD;U&MKGzqPi(CO=wztd)DGbFS|f(P-B ztI$eN%l$)ryIEv~ZiceTs`OWRLSpiv-IT^B-kkpu_``L{cancizMI6NoFSp}C4?-0 zX<+(~lkX@0k^CU}PfX6gk{@;kI)mZ!0w;HBoqDIya&YG;@*@j}DsDaCG*tEB6)le? zt>3Lm&Q)e`C{-}h1u~?5P*8WXevw<8mvx=mvsh&=)kHqp-W>6*dd@M85zLu6onJTp z)_log_!>6}iD-2a9HF%mI!{994!k9yb9|<+bL-A+!cTOzsRhMAe8M$-XAZFMH^nnT z!6FbT97eU)kR%LQ(JSY@2CJ>D*gFpOp~B9azaTCG;7O)B9r6JHba6Hu>v#?77Ito{c=s^DduCLwwqt&z~3l zulgWwRW_deVXhj@M2%**Oza#bA+9QR1@rT+U|v0N>qi9h$j+l0f_asME^7#;H~Hh0 zn9b`vp|eXumrLkM34Ni-hQqcgC^5T2TDj>KF-wjRvm@Bm{urXR)Z^tBeY_kJwU%`* z3vU}@;ig4rV+O2p8E`rbIHP5M#el&f23+GZ;QE0VKEi;3PH8Y;gM_|3k^$!^2Atb@ zUMH68S_!R_(E26=R(WF|bjOZa9NtFnA2IQ0r#3_B*aOO}HkIr$@7LFDJoDCV+?n$e zSILIex2oRu^1Akx=gat%PKI?OKIPfY^?^v|b)6g7dtBhXr#8YbD3d24yz4hM<{2u} zc~j@j@N7y`Wh8Wmgl=}3cIiesb4TZ$uFiZ-LbprkmWIxJ#T(b%N@wno(5+2g-S5rz zHs5Tws53*Js`IhVC-GFBk9U5%^9c#vDIt9QSJ!ubr}Mj=Pf3W!KOmt8m8Y6C0-||S zZ}_Q(Nt)j4-C0lkJaH4v=Z*NxkD)y~*Fe`^=Z!aUh9I~1q5EQu$Ao7T6P}gO*M0E1 z^ZCvfI$u=q`d$gapt}bSo)?{_oY~YVQ>LiwNdJ_DUCVm#uTvU>?w^9EQv12ReLda% zQx2f)V&(iPuB>_gZocI*UhTsU-m%SN4eq_t`5IWg^QQqq-ung)SQmby^XG18bU$}* z4-I_tu|uPmUw5({q(alpH}y>T?>gV|UX~dlc`hPZ*ZH=x;R>#9{3Xu1fmh~v-}>$I zA3Oi#%Gx^;dQ3tOH)QQmkInBYHp9?InzHu3Cu`sOxUvRH8wG6#je{mZ7Bm&w4>}y0 z3mpp`9|%O=g8mGB7zji|P&>qLqdP-mAo_?-fOrQWN?*~*Pz_oFt%fd!E`>mc(aRxV zX7r2D)zCH2wa_}~I_P@n8_+}0BhX{e6VP{|r=cH0&p|IhKY`fZjlK%~H4rcvmpK~B zLyX@%AG!*<7vlHkuL6N~4bmanw(kVdzI`mj_I3NN5c6oap)5o{?L`Q_wC@e=3oV6i zfPNVWbc7*3>o^!X9y$S<4=sciK_@~dLGYnt8MGYwBy=`(F2wjcJ`G(2eHOX|`W$o_ zbOm%BbSuR8JMM=bguWRF#F$fz?_#$@d>2!nJqmpff+w+;p`Svp1p;ga2jbs>o`T?C z{0D(Rf<6=XK@ULiIsvbftVfc0C2xXmfo=-~IvHE%l@Q-`UJYG?$gF|RgD!wBggz4p zY`+9zoww(^?bkw|2n2S3A3K~3!LJ>9p;H2Z9cM!GAo#Rn7qkH4w>zE%!HXR)ht@;P zZO07|(2t>)px;1mKyO07gWiMw4!sY35D4tF z6|^<94b%p05A6W$2<;3_gwhZ)uoE({QwiD&+6USXnhqTb&48HCPESJ5LyTdkpFl4M z0y|HD`0dWL-?!&4rGHj)snf;MdOZW#@~bhoIjF0;3tvXnr#qUX4B# z`UC{8Mt=%A2SP?h4??#<_dxeS4?wKxX!;nFgZ70Eh8XV{#yf^*k2wlD209L!2O+Ct zSf?@cJ%%+MgZzzw=VKm(UV;7${UZ<<+X{_>;!r09@5b%~jfTcTbqM~9rT?+aYb?(g z%QMEJ17lhLvHj3WXccrOGyw6;vCL;I^BK!C$NmbF)B&*`2u;F zC+D z^nM_aX06hDL#$C6`AhShG|x%%oHTu=Pk~lIr$VctHPBk<0_Y;>v(Tl`=b_7?^*|DM zYqdkn$zo0xbF!F|g)Ue-Lt~(E&@Rw!(C!d?x8S?QoGtin!FMYQ<)I=p6=Iy$zR>;< zJh2$7#aJ!IY8?bkhYp2iKr^A)&|K(9=xFFz=y>P^XgE7zo%ckPeN4SW`O;nGo~0lMr*akujTjt8zP=IoqtS z&3tY6Z!=dr2Qg2Z^|qO#&05&Z&prTRZuTJ%^RiiUn>pD>LCnXV2Qe2L-LaX6%{*-8 zVKWb#dDzUuW*#>4u$hO=JnVCz^PvkN*3Z5Kx(2!yS_fSh2xKNeStt)NuFO>ELFhZs zQ_$1U4+4R#1u@?2{*VJP=Ik@jtI*G&UqHVM1agco*9S4C+^NuM5d6z;1;MjCdXSGm zUx2QMZiH@zZVdzq1&DqNb?86{eiUAT-h_S!y$$^#5Gc}r@e`0h%(HlQAW&j0N;^RC zzcd;`$4ktybUSn>^i}BVKxoD=wG(2krtS#s3^9(Wd_Prve-CtDAh1^jVjcFH3C;e0 zE!}mL*7X)I;O}c7n5dNKk?vHwhZzQj7Dl>;p~j)R8|ls=6e$B08;kB3x&~xGLR7>? zTD_0=-m}(oT;0TB;;Im8Z$zumJR!_ zRsi`{D}tY?HlKy0uq1@)`H^e&GPsNC=C8h)R1R{OqyCn^G}Wkqd#Rzf8h)n6X}%$y z^C3j}nJAe>HJ}mtkNS>3xXul3g;3MGU2`&1na<1*qBA4AXxT-}E?WQ5AETe>t!!s! z2r=r%cy^3u$H*o|HZgjL`GKok4P+b>aEGZxuX^6?g*vYs#aDujAvF>}2bVyVLs+(JEfU(emwyBtFO9_XXKKI-eE{%B6| z-=AGUKK0#BgF%evRop}aJ7}1l{1l`x#qbU`+{=CrVD?6Bd4=xuqz|`4XqNc^DCP}E>MC~TM>Bj)( zAk!x9pvj#On%<9|nr7k=?4s%a$W2}fPzXIWEry<&s@t>%(a5-IT^iulnzkbWb(_ks zshpdRK*mkoSkr0DL?2D(vj`b9UC-GNj1uB=A=`NM;@w|-X)2*!yuHT9Q6Kf zzl_@PW{a2w5^!akbYM|1mVZXeBGpe)sh!d{x!q7HTG%5*+NcFoiH2Jd0>Z;@Z~Ke&#X z&E?ko9_qFT+{Y7SAsf%|Jh{n-n{1(e3mLaiw?#wTK?}#zqB*TdqziIu@d`cY#WX(R z1nRf=I|LDjmS%1FAdi!soIHowTjoLCmZhRoL5_B&K5K)^nK8Le}s$pRtLp>|i(hIL1j%bC&a5;GYoM$f%7B z+Nj;859+lU#1O`!UYi-rW*+LbF?*XOEW`WKW*z2k^9g2d^A#J}%t4NDj_4mSf(wAE9PjbGQARFZr519N-Y{qU|Zn-q!4G z_0d-Sw(7TayY19#mx)Jt0`F_PXL%m)OS`=2rClN1OuJ^#GB>{@5luC zC+H!eE-g_vVF<$+#aJdViK)mXVK(!46Stc1E_Rpj0Ux8k1ba;Q0=JXkZWGQRtB(Jp z2A!CK&vi`2E<0YwOdana(?mHYK8~3Zvmnnzvn84>(QJwKnplF;m@Tn9m8gPQ63vn* zzeM>Z$}e#MgBXhW63vrnp2Q_AX9cS}`ic$g*u-y>vEb=g(2Ivt4yIZ|6N6;W(#Iv$L9=)$DBU z&X+KAXYXBSJL`Ohe?#aJ;Q`!Z7a4TPK>NdKn+qDoyDTVr7)$i&~x|+Xh9L;D?M>^Au zWcuS)x(;C&BN@#ywxO495Arx_cFRIGa#5IKn7Nyp-PG)+X19u{+pQkv?PlI?FVh_F zeYZBK-K{5Tb{o$`yeHkJV^`f$Sjy|X!7A3Er*5)IdK9&j)J&3dlAM#OqHaGOg2}txstu-$B2HdnH_ zl4Y4J%j6`?mE4QI3}6uENcQ|>xh22FT0X#cSMq0kj@rrIz2uX8gWFI3mhUi2@=us0 z`CbU!_1E3^efO;7;8~u>?R76oaY~~9?qzrheRN-f47i3XW5A}M;tB1ULRHhoWsY?Uo)m324WXx+Js%_^50jneFmum56h!@=#VA2lYM^G%4kXfr zBwxi!(8Bn*EI=$R+FQ4gUpS_M_ zf4yYc>k{Vb^$RzVV=p=O4&0Bqddsr6EPH3eY`taLJ16-lO*tx18FTfnNiAgCyBRGp zUvG2uHdk+R^)^>;bM+q2L?$y8bN2RL_kNF~+z6qMJL)6LKCd}I>w5KCok#Qdx_vy(9Ml&55_F2gq-sWA_@e!Z$IbU&r!|1J#9Q&Naee^lY zc`k67D{&KGXNF5c*}|f8<7%{R&VLS@x4%G6;`$uEW{^sm2zy5OTFSq`3>%W1W97H|8yg2liUw>Kj zSGT|1`d{KVWYhm9clbAi0TCV`16h&jfMUpMzzdY60rm z*vx~~9Bk&nW*+P|2e+mz>JB#V;6C(c2*VhOUIx!(4zKeTYk8j!kW-hsb$|dP6$U5&IsZ-Vien8OjLM8!{F(hs>(aTF2geOG+B9(mdIe3+QZB^Oub=id5_Of zZ`f9Lup9M;nSIy^F7iF<4m0bp-}#dps6SlY;pz_0j`w1?_hNWKicp+#RHO>ksYwh8 zOhg~U_afur>J3lh43|)E_^+6E_+R{2?+$;5V4N_*tRtQx3+j(}j_1jPK1P^*g!&_* z@otQ0L=#@dyD>r!BRbKAZY0x#DSW^&)E*(@5i%Yb;eH+^D{78>hG+3zI5HPz9_cPe zmchF+(%d7f5rsZRsy|ZwksVQQWKX;wBm3iCM~-G36OhkHy^Qppj(nSg=x5ZEH!@eYhvcYG1- zXM7E!i6xHuyo|k!Z-xDjZ;x!ok3=@(fgAZiSnFyKW=E^Lu5gY6YX>2 z|HzH`CdzVR1Dar#iOrGUMEOnZNGJL+5Hn1i#1y78hxsgGF>mu3o7l<@cH`bB9^)iw z=zXGFn0OxdK1m;wYSV>Y^ko1toFuzRlbOa0W-}LcCoM#FlhmCgw@L5wF`x1|U$O`F zC!OM3WHw1=lVmpO8h>$%JN(y+>?X@@^7GUp2{TVtck(>coNR}aSD@zP_gKe=s6AQj z$!4Ft3$-Wj=P*Y(fj%ayKlxA8o2=fH`>>}e8F`W{WXGP=B^%0Z5BoRggA0>7Z{6f;jT^Axu-Mg6JjPkn%=$woek<2|4HBIT$^O=L2) zHgVLaA<4*Rs$QlZ<1A`Uy~t&L<_5Ph^HepbsX0x}X&Es0w5*tS+H>S0KLsg5F)CAy zdbA?}w>hmVuh4_u^kX1Hn8r->Hf=8RS;P`vV>v5Xjh#(%AJg?TUES&GOz(rwO#cM? zoBj>wkmYoDH2oT~oG#1hcaZ0Fv(1QbKbeu~44KY&2D8m@S2L<0zZtTd(U_*RpcQRt zPfygJVV)VInZQK6do#>5!%Q>gu>k$ga0@fOVk2AF&Mpq2_ZeGo$%Wd>@_oQq6muHa4H=3PGIV?N_^)SkH)HD{j3EzJCm zANYyu+(d3O-hrn&ocL{!<^t0 zXHb8Zoz1$;73^%5`Dc6QWi6Mh*&4k{2jT1u7FmZR(r$o%v`(U%Yu35hA@^1xYc=Xb)H+Dw-EO-Zz-?w1}oXjcOlHrgxd4foUi75 zInS>|H1%mj6V#lq=6p5hcSX(lJ?X1?n&O z9Q78cw_q3E%LS=;M;4@UhO?ZlCZ}VnWmU6Whmp2Wy)miF=ZxZOPPyIQ&wQ7 zDP~KNX^Neue1KU}%#w1B3tZv{e&T1$mtvm95gzAhvXTQcEjH8QyvTcT8T7a~hT3@7 z7dOC6i`~IueJ^%%i)Fu9_KWqmSoVu$zu3MPFJn0?S;O1Nd$HXww)@39+08xM7m)1rFOQoC&L)QD8`1c>@n0^_8iZX2RmBk z?w5UuyIZy?gx6{y&)4MnntHFP_u9Aoj6J>fJJ&;aeF(2Ii78CyDmS@}d|v-2gysHh zx$Kvxu!Pq_c*C4;l)-FoRG>0@k?|X8oFP4g6;+7C>?`!LLN6;?(uVdV&=vEp7{qAw zvBF)iaE~h%v5e)|_X;~%@e%7W^NI~@We0Y?LJuqSu;LreVP`9@@FUmw1@o%2J7{$aZB->d}I>bin>rb|V?HtnAGQ#xemJuQb=nS$Nl0nr-C@ z-sBzL!(1yr<#Wuoau@qK$Pvu7@-$~L+sg0xjlV-!Wu8?J@i32Jo>k^qWu8^;b5$;y zqPJBO(Z{MK*yXA>ScP6z>1CB(R;j;g3*M(y`dGD>!yH2&tMsu-#;es`?Z#KzH=TeJJ{qoo9t$jJU9Kx4Q_J}*>1iM*>28^ z95%~ga}J)xO>T~&7jNR3n|*%E73^x-yx^1SGmT`5Vpx>o4eR%-fgnj)|_O_vF#1i-KOp~^|qbD zd%s<#+uiwgd2Y{&Jh#hpyWY3Q(v)Vjqz&y!pbPyN$_U)+_Hj&MIx}%s+vl+v^|t@Y zE$;G9@Edip&mG>a9l6L$0SZ%$lDt3^G1R6mGTqS_z3tH3juv#L57SuA*T`+hcc`~B zBTwRcY-e_IV#b{XDME2d@giku!eEwSCp)*Zi@ogUIQFsgTP|^hANh%&G3(CXG3T!P zc@RD9GViV@cnZDj%7-3yRiP2>Fvl(#?wZA17U1@FEg_W?oZ|wQ`5t$$>l(L1*zNXq zKa5(t)!MDr?%bGjcN`7rf!*!4yWOK0%M=!}7<2D_oj3V}^?bqC_)ge;kR!-pw;SEl znofA;9?#n|pV!#K0qlM6Bbalq9`@Fw0gY)%8`_h=5MIR%?VW>X?OlZV_pU-ud*9(b zKHwwlXzx+%WUoB-Ugz%+_66j>F9Vs7#l9?LBL_KgfBP!qj`j`1&F*^xwf3pCPpy4w z?OVq-?0=u{mwn#PeP-Wxnk)RwZ~Vy()c2!d|9#m1{)fnlJKtZ9>eQzx&5*->IqXlQ z3*AV@uJ#XP9CFz|nQ6>m7W&-(A@;O?JzuhcO~_>bH+;(_^tt~>^tWGssrpNmPpW)U zA0sm|O4Vno_arqBMX7*(Q)^O-I=I)=CdAVm{io_TwLfEUQ>l7Roq#>2$}&}!sj^J9 zx73gMj4${a{ieFD)E&q)^(^PP$anm}PyE8~*m3GjZijF{uLtyapfz$iumaCIVBUk? zhl6>kiJlMY_n>|cwxT^9=}cGjdvG?dq2Gi0J*eM<`aP)MgZezUku7Xz7kju6!Xa56 zdXzj=LSBbj;Q5ETV~2<2a>(uu%|s@L=Hk8&En*4p;<<+`=Fkz2a}s$Ry2f829JZ&! zc68WY4o71bhhL&EgYc}wDXigBKIbd+eOTXzJ^!%25AP)n_i;EKSsymX;mce>-iNR9 zcL+y(KOd=${T`WwK9A_{$QgY8$T@!E7I*n4grgB;fAk?9CObL#AGxuUqXj5L5u#{} zypGE0sLYQZ<6ADFr=ve2hof%5ABAJGIOb-LJxw;A;aLh(hVt0Ov8vQSUdI|DuVe8v zrxk5+3&*7nm&Gt(;=M5NIpuVzZ3d9p}!OQ zJ5inbG(g@b?Dd4cPIMrVE+nDP6Z$+cgrN*aet0A0> z;MPvMwUch`q`NqonWxFdGdxEw@}kd^RnX_jC}OBhUG#iXzbEB-GM?tNq(6E)xt1?E zfc>7l5yB}oPubHc&pOqD1Uk~0p7f$G_HoKCPT9jL&pP!QZ(s+f-sBzL!wycF^^`eJ zne)_EcCZUGrKBqRGX6ENpleV+Xm zKY#WLKXQ#<`Gdc>#a;dhAw9wa$U6OD9>YzgKaHD8e+KiW=OQoarx&IeC3%6eRG>1| zkW0E;(&dsamvp(LyS4PDG{er)Wt85Yj&!CQW=S_odLQ~T2)U)pEqyd{OP5=^+|uQi zK9f1jXAv??mtp!Ftiq1d<(K{*AMi2uo&E)1WAEwqp1uQnPv6G@4rBl6_Md*5vz+H5 z-|+)K@e99motxa@?-0%f?k5A8c$6o2imc?|S)L~k`6)zEN>Cd2b*?;>s7ei@i6xHu zxV3Xlcp2})xz@BJflhSg6?)K{ehg#?!x_a`CNPPq%wRV2Sjb|Qv7D8x;ceb!9Ut*2 zpYs(P*}`^qv6oa1ag-CJ@eP7HcY(`%&sBcrH~!=Xx4Fl^A)LRD2g%4IJkFD3Av-zw zAGyg#L5fhEQoKkxDpG~&)T9=5s7FIyBA({7qAeXrqzg%Orx$%0z+i?kk}-^DB2$>o zEatL+6qfQjD_G52tmS<^Xy{T$>7$2r9r()pH4T;WHq@hgAu7q_^} zKOuY@;Q=1vVICthPm_&jc#d4;r2vH~MoC_vEET9sHKK^2Hg#!0W11qHZ`W})gbV6j zu!{>_nUDD{*!{)l@tKSAy!bXJL%5{JOZImuftkqU($x?y=Rlpyc5rza`!L^k1$miq z$n(2%AzXPBJzlZDD+}3yOuo-eBSx^6v=DyCfVqB1WHy_S$RasnZ z%T&JLN(et?A(}qCPAYdoxF)}A&6&W*d>g{gk5iRoQrN}y5Pr$aON`<@&V=x5M#|Hf zxoqK=5Po}(dJN%Bj)(C3eUzp>)A@=YLii&awdlti9OPaIe-@=B6Zw>jAzaT)b$YOn z9sCi(U%6?-2-cDo!i@}+C6U=|!Yntghj7y@H_dX>EH}+^(=4~la?32Y%yP>tx6E?O zEVs>a+bp-ua@#DokB4x_EO*Rur#)u5W0pH+xoeiYX1QyYyJop-mb+%TXO??rxo4Jp zpJJB3&GL73%<}gV_HZMFfAZ6mF|6Zk2>(7zMY=MdZTuD@;dvS`jJG)%B9RApkpyP4 zfvX{MUk++BfR!BPpAfmfIIWq?dM<~^15Xh}FP5>7TOsmbL0)DYA95~4GCWFUl32(N z{s@tWa?^+rtR*c(GG?GGiOgmb*Fq#yPU0BEYL148ks}Y6q%BkVf-52NNEV{$!|SAS zCqy1COmimiG2e#BV~YHFE25Q_c#+GPh_M#oteuPehHDx&ry#dyvgwp zdGbC=)1K*k#SbC!R5ohSk2g5Ty%2f2C@q=Dr(6t?ESafJ50W(U_(*Lw4EQkVJ3fn|&a5l6^Gen7|~au#7c)%$ICnGuzmUo5^lB*^h9H z3;fsDP5udy91$KsE;%0ON$ewsedNeNG4!3ICbg(TJsQvmJI$fL9Qw*3ryO$1v4|zS zhTF)o3ip)bGrmBEIX1EdS?1V@EOY2LM_TajKchH3nZ>*8Laxu)VeXd5D7TDq%f#>W zisXKk$=F$LJIk$?+A)AG;}V5IZQ~E(&~uJPQW&T~OZz^<7Zk1@&FEatL+6h1&sMLuOc zU$O!D6xoKGE3%utq+*UD`Y&p~MRQY%7~0X7SCMZ~&noI?i`s3`H0-wM58T9k7X3R! ziUsb+y%fuYJr$F2F&Xf%@MJPrI)GJn-Bu29o{rX*Qkz)Gud)y+$j&cIE zi|MtPtc%^nZj0M(arKI;S6sc~kE2%cGDHze9Nxd;vMnyx;>~GEE4ra>@#)M$mc?aR zT$aU`;J%By@8a&e_=kMLXXvl^NltT?^IYUIfADXJlyCzj9z?b!d~cNS4wNXsiu?Vxwy>RD=)J^# z4j|tW@-1;3J(skrlF`_G$;rr~q%8byxJb#@aSJ6^A%l|J*vTF|ucZ4Zd6;y*B8utbV**IEahoJYX;-} zEIl$rUi=;JLK*#+DT@Bee1VM0$fe9N+)NoaQ^w7daWiFnUzPb8^~?Btnd^9`%G?f- zvYu16K8cv4>_n#ER?E88vTn8PeBR^}*7GGB*vwY!r0fyQSl0Vf_6%y5wUe@Hm;DL# z%j&yaCcH!Cp5Q66VlU<7P|jY;m7o+aAct~tC|3!)DOZgebYT)p*u*!utMc|)-e=2~ zrVLTU5{DVfzl6NXH>V{7u($H&ET6(sUdR2FU(Ne`z{j}7@^UW!6*4aW2Xw-Bq}b-Bo;m z49K(MBRocC^ixr$6)VyXJFU1J{Z~xo64!8pmE2#Y`|+Ggo>R$QDm{U{RPu~UIgnwc zWK!6L`jzuyw#uz&jXIV6Oy!>Rp+AEd!ZOzIChy>WDu0c=Rdzd-J+ty2_MyMZmqVnA zeyW(GN;aP1IdYMQa#Y7&tJrH5SyyR96WY^-B)Zd!f#{>kFh(NxDl>39Ro-U{2RM$~ zt#XER{_Ep=enehXN7fz51VCo-zKpMxAhzg6{HRlimL4UuXQ+(fm9c$mkq%W8I6 zEeqMni7czhvYITb<);w(tyY|pbYdd%skR1vRol%~ZiPtoXDLe^?7zCKtB+zKdanLG za;hPx8t$ov9%|^JMppDtqZmG4qY_oAK{SnNj%U_rO9#603U*n;E^G8bts2vKowxaj zO~|N*jB3cJhKy>QAPxEWJ${iI=kfm3xP$(px*k zNA+Vgb{F+3lhI4m3_ioIqVy4^k0^aa=_Bee>PKBhHc@hn`kCw8w1=9q zsM#8OsA>M1=C9cuH(YZPQ&F$xY~~^Nnu}S+yR1VdH9zHZzG5Tpyr%wY9^xBrgh=$m z6vWKYW{yr~Fy@P%fIEmbW3-yl(^4H9D)Q?$(+A(h<|Clc@Z;W|k zc5w_n#khl*Ga*td3wg+gdbJ8snlhBf4b+lDtu`dlmjMiB7$cd;6y#BBCUdZdTCcO7 z?W7{-T1Qd8mio11QtJ}m;SOs3$WI{>n~8$d#eA`DE!LgI4rB=G#*V^#=4W4~kro7sl?u_rmrSbz}dl`wPEuJ49;V#}j1Z8J;5-`l?-oVw6Ny zwJQ@t0~*tmX6U_kcX}bW+H$Kcx7uSE&qSs$4fk7n1)sB>gSg4s7m-ixAJAj%KlqDV z+{F#mc?!F$Q-LVzqL(^)siT)Vda2U_+0~iP7wp3`>)Z>GxQv)9&RlWDF<0CRl*KdS zDp8dtyo_hXwWb|zFwVZ?mZ1MQw;%TwYk7|^*?=9y*+Ee_qVt?Xbodr8Hf>mKDer?|$i$gZyJ>dLOJ?CL$h zLp;o**mFI#>Usa_<)IMvTdx{5h^7|pNx^;BGgm!x)!T_4>dCd<0S=>wdM7YvJ#*G` zTlN0r270I;!L0Qk;c=eiX>yYfJE?Cc_1#wemx#wM>$ju}NhBka`u%ZN^~dollUU9c z+*AEs>|sA{tNsy=;eDv@uIm57?_B35w?m|XT{OsqY#KblQ)EFl4f3PE2KsB@HX78W z0dB5AQ#z1HXS$)s2E!P^XvVS#J8ZCuH+hGTkzWJ(HPBxJ{WQ=|12@vZjWi70PX=Vy zP<9P-lMnqg)KA0Wl%gV4s7@3Okz+&sHI!q+Ht4TmU*y+t5JQk(!|BXoE(=(OJR7cL z4R0a4Mh{RHH_}LrMlrS6Ph|$PzTOIeLR{a)5c6cU literal 93049 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 'MIT', :file => 'LICENSE' } @@ -15,5 +15,5 @@ Pod::Spec.new do |spec| spec.requires_arc = true spec.module_name = 'Hydra' spec.frameworks = "Foundation" - spec.swift_versions = ['4.0', '4.1', '4.2', '5.0', '5.1'] + spec.swift_versions = ['4.0', '4.1', '4.2', '5.0', '5.1', '5.3'] end