From e8def60d17a0ec75b60e353a5455fe34c65e9a21 Mon Sep 17 00:00:00 2001 From: zjx Date: Sat, 21 Jun 2025 15:53:41 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0=20=20=201.?= =?UTF-8?q?0.4=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Veloria.xcodeproj/project.pbxproj | 20 ++++- .../Base/Controller/VPTabBarController.swift | 35 +++++++++ Veloria/Base/Define/VPUserDefaultsKey.swift | 6 ++ Veloria/Base/Extension/UIColor+VPAdd.swift | 4 + .../Base/Networking/API/VPSettingAPI.swift | 12 +++ Veloria/Base/Networking/API/VPVideoAPI.swift | 15 +++- .../Controller/VPExploreViewController.swift | 26 ++++++- .../Class/Me/Model/VPVersionUpdateModel.swift | 31 ++++++++ .../VPDetailPlayerViewController.swift | 7 +- .../View/VPRevolutionSelectedCell.swift | 24 ++++-- .../ViewModel/VPVideoPlayViewModel.swift | 17 +++-- .../ViewModel/VPVideoRevolutionManager.swift | 70 ++++++++++++++++++ Veloria/Libs/Alert/VPAlertView.swift | 2 +- .../Libs/Alert/VPVersionUpdateAlertView.swift | 53 +++++++++++++ .../icon/alert_icon_05.imageset/Contents.json | 22 ++++++ .../通知图标-切图图层@2x.png | Bin 0 -> 36753 bytes .../通知图标-切图图层@3x.png | Bin 0 -> 75067 bytes Veloria/Source/en.lproj/Localizable.strings | 2 + 18 files changed, 319 insertions(+), 27 deletions(-) create mode 100644 Veloria/Class/Me/Model/VPVersionUpdateModel.swift create mode 100644 Veloria/Class/Player/ViewModel/VPVideoRevolutionManager.swift create mode 100644 Veloria/Libs/Alert/VPVersionUpdateAlertView.swift create mode 100644 Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/Contents.json create mode 100644 Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/通知图标-切图图层@2x.png create mode 100644 Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/通知图标-切图图层@3x.png diff --git a/Veloria.xcodeproj/project.pbxproj b/Veloria.xcodeproj/project.pbxproj index c5cfb54..c298340 100644 --- a/Veloria.xcodeproj/project.pbxproj +++ b/Veloria.xcodeproj/project.pbxproj @@ -149,6 +149,9 @@ BF692AB52E0644B500A5C2DA /* VPRevolutionSelectedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF692AB42E0644B500A5C2DA /* VPRevolutionSelectedView.swift */; }; BF692AB72E06450C00A5C2DA /* VPRevolutionSelectedCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF692AB62E06450C00A5C2DA /* VPRevolutionSelectedCell.swift */; }; BF692AB92E065B2100A5C2DA /* VPVipAlertItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF692AB82E065B2100A5C2DA /* VPVipAlertItemView.swift */; }; + BF692ABB2E067F4A00A5C2DA /* VPVideoRevolutionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF692ABA2E067F4A00A5C2DA /* VPVideoRevolutionManager.swift */; }; + BF692ABD2E0690F200A5C2DA /* VPVersionUpdateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF692ABC2E0690F200A5C2DA /* VPVersionUpdateModel.swift */; }; + BF692ABF2E06934D00A5C2DA /* VPVersionUpdateAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF692ABE2E06934D00A5C2DA /* VPVersionUpdateAlertView.swift */; }; BFA21D982E01477200B3573D /* VPStoreViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA21D972E01477200B3573D /* VPStoreViewController.swift */; }; BFA21D9A2E01497F00B3573D /* VPStoreVipBuyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA21D992E01497F00B3573D /* VPStoreVipBuyView.swift */; }; BFA21D9C2E01628F00B3573D /* VPStoreCoinsBuyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFA21D9B2E01628F00B3573D /* VPStoreCoinsBuyView.swift */; }; @@ -424,6 +427,9 @@ BF692AB42E0644B500A5C2DA /* VPRevolutionSelectedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPRevolutionSelectedView.swift; sourceTree = ""; }; BF692AB62E06450C00A5C2DA /* VPRevolutionSelectedCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPRevolutionSelectedCell.swift; sourceTree = ""; }; BF692AB82E065B2100A5C2DA /* VPVipAlertItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPVipAlertItemView.swift; sourceTree = ""; }; + BF692ABA2E067F4A00A5C2DA /* VPVideoRevolutionManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPVideoRevolutionManager.swift; sourceTree = ""; }; + BF692ABC2E0690F200A5C2DA /* VPVersionUpdateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPVersionUpdateModel.swift; sourceTree = ""; }; + BF692ABE2E06934D00A5C2DA /* VPVersionUpdateAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPVersionUpdateAlertView.swift; sourceTree = ""; }; BFA21D972E01477200B3573D /* VPStoreViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPStoreViewController.swift; sourceTree = ""; }; BFA21D992E01497F00B3573D /* VPStoreVipBuyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPStoreVipBuyView.swift; sourceTree = ""; }; BFA21D9B2E01628F00B3573D /* VPStoreCoinsBuyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPStoreCoinsBuyView.swift; sourceTree = ""; }; @@ -1027,6 +1033,7 @@ isa = PBXGroup; children = ( BF0FA74D2DDF067E00C9E5F2 /* VPVideoPlayViewModel.swift */, + BF692ABA2E067F4A00A5C2DA /* VPVideoRevolutionManager.swift */, ); path = ViewModel; sourceTree = ""; @@ -1142,6 +1149,7 @@ children = ( BF0FA7B02DE447EB00C9E5F2 /* VPMeItem.swift */, BFCCE1192DFAB7CA00EDE165 /* VPLanguageModel.swift */, + BF692ABC2E0690F200A5C2DA /* VPVersionUpdateModel.swift */, ); path = Model; sourceTree = ""; @@ -1325,6 +1333,7 @@ BFF5B2382DF014520044227A /* VPBaseAlertView.swift */, BFF5B2362DF013410044227A /* VPAlertWindowManager.swift */, BFCCE13F2E000ACE00EDE165 /* VPAnpsAlertView.swift */, + BF692ABE2E06934D00A5C2DA /* VPVersionUpdateAlertView.swift */, ); path = Alert; sourceTree = ""; @@ -1574,6 +1583,7 @@ BFF5AFCA2DE97B7A0044227A /* VPWalletViewController.swift in Sources */, BFF5B26C2DF28FD50044227A /* VPStatAPI.swift in Sources */, BF0FA71B2DDC7FF200C9E5F2 /* VPImageView.swift in Sources */, + BF692ABF2E06934D00A5C2DA /* VPVersionUpdateAlertView.swift in Sources */, BF0FA7522DDF134700C9E5F2 /* VPVideoPlayerControlView.swift in Sources */, BF0FA7852DE1561D00C9E5F2 /* VPSearchRecommendedCell.swift in Sources */, BF0FA7832DE1533E00C9E5F2 /* VPGradientLabel.swift in Sources */, @@ -1629,6 +1639,7 @@ BFF5B25E2DF1423F0044227A /* VPWalletBaseCell.swift in Sources */, 1B056E4D2DDAC7C1007EE38D /* VPTabBarController.swift in Sources */, BFF5B2522DF130E00044227A /* VPConsumptionRecordsCell.swift in Sources */, + BF692ABB2E067F4A00A5C2DA /* VPVideoRevolutionManager.swift in Sources */, BFF5AFDC2DEEA09F0044227A /* VPVideoUnlockModel.swift in Sources */, BF5E75C02DE5566200DE9DFE /* VPHomePageControlView.swift in Sources */, BFF5AFC22DE837FC0044227A /* VPPayTemplateItem.swift in Sources */, @@ -1697,6 +1708,7 @@ BFF5B2752DF2C3750044227A /* VPDetailRecommandView.swift in Sources */, BF0FA7A12DE1AA5100C9E5F2 /* VPTableView.swift in Sources */, 1B056E442DDAC355007EE38D /* UIDevice+VPAdd.swift in Sources */, + BF692ABD2E0690F200A5C2DA /* VPVersionUpdateModel.swift in Sources */, BF0FA7632DE006E700C9E5F2 /* VPDetailPlayerCell.swift in Sources */, BF0FA73F2DDEF26E00C9E5F2 /* VPHomeSearchButton.swift in Sources */, BFF5B2562DF139200044227A /* VPGiveCoinRecordsViewController.swift in Sources */, @@ -1786,7 +1798,7 @@ CODE_SIGN_ENTITLEMENTS = Veloria/Veloria.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = 394VH538M8; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Veloria/Source/Info.plist; @@ -1803,7 +1815,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.3; + MARKETING_VERSION = 1.0.4; PRODUCT_BUNDLE_IDENTIFIER = com.qjwl168.veloria.ios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1827,7 +1839,7 @@ CODE_SIGN_ENTITLEMENTS = Veloria/Veloria.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = 394VH538M8; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Veloria/Source/Info.plist; @@ -1844,7 +1856,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.3; + MARKETING_VERSION = 1.0.4; PRODUCT_BUNDLE_IDENTIFIER = com.qjwl168.veloria.ios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Veloria/Base/Controller/VPTabBarController.swift b/Veloria/Base/Controller/VPTabBarController.swift index 84b89de..743e7ea 100644 --- a/Veloria/Base/Controller/VPTabBarController.swift +++ b/Veloria/Base/Controller/VPTabBarController.swift @@ -55,6 +55,8 @@ class VPTabBarController: UITabBarController { vp_setup() self.tabBar.isTranslucent = true + checkUpdates() + } @@ -172,4 +174,37 @@ extension VPTabBarController { viewController?.showCollectPage() } } + + ///检查更新 + func checkUpdates() { +#if !DEBUG + if let date = UserDefaults.standard.object(forKey: kVPVersionUpdateAlertDefaultsKey) as? Date { + if date.vp_isToday { return } + } + UserDefaults.standard.set(Date(), forKey: kVPVersionUpdateAlertDefaultsKey) +#endif + + VPSettingAPI.requestVersionUpdateData { [weak self] model in + guard let self = self else { return } + guard let model = model else { return } + if model.canUpdate() { + self.showVersionUpdateAlert(model: model) + } + } + } + + private func showVersionUpdateAlert(model: VPVersionUpdateModel) { + let alert = VPVersionUpdateAlertView(model: model).show() + + alert.clickHighlightButton = { [weak self] in + guard let self = self else { return } + guard let url = URL(string: "https://apps.apple.com/app/id6746436168") else { return } + + if UIApplication.shared.canOpenURL(url) { + UIApplication.shared.open(url) + } + } + } + + } diff --git a/Veloria/Base/Define/VPUserDefaultsKey.swift b/Veloria/Base/Define/VPUserDefaultsKey.swift index cb0013c..f6f58e9 100644 --- a/Veloria/Base/Define/VPUserDefaultsKey.swift +++ b/Veloria/Base/Define/VPUserDefaultsKey.swift @@ -22,8 +22,14 @@ let kVPWaitRestoreIAPDefaultsKey = "kVPWaitRestoreIAPDefaultsKey" ///推送提示 let kVPApnsAlertDefaultsKey = "kVPApnsAlertDefaultsKey" +///更新提示 +let kVPVersionUpdateAlertDefaultsKey = "kVPVersionUpdateAlertDefaultsKey" + ///vip弹窗时间 let kVPVipAlertDateDefaultsKey = "kVPVipAlertDateDefaultsKey" ///是否开启过APP let kVPHasBeenOpenedAPPDefaultsKey = "kVPHasBeenOpenedAPPDefaultsKey" + +///视频清晰度 +let kVPVideoRevolutionDefaultsKey = "kVPVideoRevolutionDefaultsKey" diff --git a/Veloria/Base/Extension/UIColor+VPAdd.swift b/Veloria/Base/Extension/UIColor+VPAdd.swift index 2012188..784ee73 100644 --- a/Veloria/Base/Extension/UIColor+VPAdd.swift +++ b/Veloria/Base/Extension/UIColor+VPAdd.swift @@ -333,4 +333,8 @@ extension UIColor { static func colorFF9500(alpha: CGFloat = 1) -> UIColor { return UIColor(rgb: 0xFF9500, alpha: alpha) } + + static func colorA3F0DE(alpha: CGFloat = 1) -> UIColor { + return UIColor(rgb: 0xA3F0DE, alpha: alpha) + } } diff --git a/Veloria/Base/Networking/API/VPSettingAPI.swift b/Veloria/Base/Networking/API/VPSettingAPI.swift index 5cb93d5..dd876d4 100644 --- a/Veloria/Base/Networking/API/VPSettingAPI.swift +++ b/Veloria/Base/Networking/API/VPSettingAPI.swift @@ -40,6 +40,18 @@ class VPSettingAPI { VPNetwork.request(parameters: param) { (response: VPNetworkResponse) in } + } + + + ///获取版本更新数据 + static func requestVersionUpdateData(completer: ((_ model: VPVersionUpdateModel?) -> Void)?) { + var param = VPNetworkParameters(path: "/customer/versionControl") + param.method = .get + param.isToast = false + + VPNetwork.request(parameters: param) { (response: VPNetworkResponse) in + completer?(response.data) + } } } diff --git a/Veloria/Base/Networking/API/VPVideoAPI.swift b/Veloria/Base/Networking/API/VPVideoAPI.swift index 3be2f4a..06c3747 100644 --- a/Veloria/Base/Networking/API/VPVideoAPI.swift +++ b/Veloria/Base/Networking/API/VPVideoAPI.swift @@ -51,15 +51,22 @@ class VPVideoAPI: NSObject { } ///推荐短剧 - static func requestRecommandsVideo(page: Int, completer: ((_ listModel: VPListModel?) -> Void)?) { + static func requestRecommandsVideo(page: Int, revolution: VPShortModel.VideoRevolution? = nil, completer: ((_ listModel: VPListModel?) -> Void)?) { - var param = VPNetworkParameters(path: "/getRecommands") - param.method = .get - param.parameters = [ + var parameters: [String : Any] = [ "page_size" : 20, "current_page" : page ] + if let revolution = revolution?.rawValue { + parameters["revolution"] = revolution + } + + var param = VPNetworkParameters(path: "/getRecommands") + param.method = .get + param.parameters = parameters + + VPNetwork.request(parameters: param) { (response: VPNetworkResponse>) in completer?(response.data) } diff --git a/Veloria/Class/Explore/Controller/VPExploreViewController.swift b/Veloria/Class/Explore/Controller/VPExploreViewController.swift index 99e13ea..adc5eb9 100644 --- a/Veloria/Class/Explore/Controller/VPExploreViewController.swift +++ b/Veloria/Class/Explore/Controller/VPExploreViewController.swift @@ -15,6 +15,9 @@ class VPExploreViewController: VPVideoPlayerViewController { var pagination: VPListPaginationModel? + ///需要更新数据 + private var needUpdateDate = false + private lazy var emptyView: VPEmptyView = { let view = VPEmptyView.createNoNetworkEmptyView { [weak self] in guard let self = self else { return } @@ -32,6 +35,8 @@ class VPExploreViewController: VPVideoPlayerViewController { super.viewDidLoad() NotificationCenter.default.addObserver(self, selector: #selector(loginStateDidChangeNotification), name: VPLoginManager.loginStateDidChangeNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(reachabilityDidChangeNotification), name: VPNetworkReachabilityManager.reachabilityDidChangeNotification, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(didChangeRevolutionNotification), name: VPVideoRevolutionManager.didChangeRevolutionNotification, object: nil) + self.collectionView.vp_onRefrsh = true self.collectionView.vp_refreshDelegate = self self.delegate = self @@ -48,7 +53,8 @@ class VPExploreViewController: VPVideoPlayerViewController { } @objc private func loginStateDidChangeNotification() { - requestDataArr(page: 1) + self.needUpdateDate = true + updateData() } @objc private func reachabilityDidChangeNotification() { @@ -56,6 +62,22 @@ class VPExploreViewController: VPVideoPlayerViewController { requestDataArr(page: 1) } } + + ///分辨率发生变化 + @objc private func didChangeRevolutionNotification() { + self.needUpdateDate = true + updateData() + } + + private func updateData() { + DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { [weak self] in + guard let self = self else { return } + if self.needUpdateDate { + self.needUpdateDate = false + self.requestDataArr(page: 1) + } + } + } } @@ -125,7 +147,7 @@ extension VPExploreViewController { private func requestDataArr(page: Int, completer: (() -> Void)? = nil) { - VPVideoAPI.requestRecommandsVideo(page: page) { [weak self] listModel in + VPVideoAPI.requestRecommandsVideo(page: page, revolution: VPVideoRevolutionManager.manager.revolution) { [weak self] listModel in guard let self = self else { return } self.emptyView.isHidden = true self.collectionView.isHidden = false diff --git a/Veloria/Class/Me/Model/VPVersionUpdateModel.swift b/Veloria/Class/Me/Model/VPVersionUpdateModel.swift new file mode 100644 index 0000000..7568982 --- /dev/null +++ b/Veloria/Class/Me/Model/VPVersionUpdateModel.swift @@ -0,0 +1,31 @@ +// +// VPVersionUpdateModel.swift +// Veloria +// +// Created by 湖南秦九 on 2025/6/21. +// + +import UIKit +import SmartCodable + +class VPVersionUpdateModel: VPModel, SmartCodable { + + var version_code: String? + var des: String? + var version_name: String? + + + + func canUpdate() -> Bool { + let currentCode = NSNumber(string: kVPAPPBundleVersion)?.intValue ?? 0 + let serverCode = NSNumber(string: version_code ?? "0")?.intValue ?? 0 + return serverCode > currentCode + } + + + static func mappingForKey() -> [SmartKeyTransformer]? { + return [ + CodingKeys.des <--- ["description"] + ] + } +} diff --git a/Veloria/Class/Player/Controller/VPDetailPlayerViewController.swift b/Veloria/Class/Player/Controller/VPDetailPlayerViewController.swift index 28c07b4..0e82378 100644 --- a/Veloria/Class/Player/Controller/VPDetailPlayerViewController.swift +++ b/Veloria/Class/Player/Controller/VPDetailPlayerViewController.swift @@ -58,6 +58,7 @@ class VPDetailPlayerViewController: VPVideoPlayerViewController { self.delegate = self self.dataSource = self NotificationCenter.default.addObserver(self, selector: #selector(buyVipFinishNotification), name: VPIAPManager.buyVipFinishNotification, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(didChangeRevolutionNotification), name: VPVideoRevolutionManager.didChangeRevolutionNotification, object: nil) // self.jx_popDelegate = self self.jx_popGestureType = .disabled @@ -284,6 +285,10 @@ extension VPDetailPlayerViewController { self.isShowRecommand = true } + ///分辨率发生变化 + @objc private func didChangeRevolutionNotification() { + self.requestDetailData(indexPath: self.viewModel.currentIndexPath) + } } //MARK: -------------- VPPlayerListViewControllerDataSource -------------- @@ -348,7 +353,7 @@ extension VPDetailPlayerViewController { VPHUD.show(containerView: self.view) - VPVideoAPI.requestVideoDetail(shortPlayId: shortPlayId, activityId: activityId, revolution: self.viewModel.revolution) { [weak self] model in + VPVideoAPI.requestVideoDetail(shortPlayId: shortPlayId, activityId: activityId, revolution: VPVideoRevolutionManager.manager.revolution) { [weak self] model in VPHUD.dismiss() guard let self = self else { return } guard let model = model else { return } diff --git a/Veloria/Class/Player/View/VPRevolutionSelectedCell.swift b/Veloria/Class/Player/View/VPRevolutionSelectedCell.swift index 0d3227a..74ad829 100644 --- a/Veloria/Class/Player/View/VPRevolutionSelectedCell.swift +++ b/Veloria/Class/Player/View/VPRevolutionSelectedCell.swift @@ -29,16 +29,21 @@ class VPRevolutionSelectedCell: VPCollectionViewCell { var vp_isSelected: Bool = false { didSet { if vp_isSelected { - contentView.vp_setGradientBorder() - contentView.backgroundColor = .color1C2D2F(alpha: 0.6) + bgView.vp_setGradientBorder() + bgView.backgroundColor = .color1C2D2F(alpha: 0.6) } else { - contentView.vp_removeGradientBorder() - contentView.backgroundColor = .color000000(alpha: 0.3) + bgView.vp_removeGradientBorder() + bgView.backgroundColor = .color000000(alpha: 0.3) } } } + private lazy var bgView: UIView = { + let view = UIView() + return view + }() + private lazy var label: UILabel = { let label = UILabel() label.font = .fontRegular(ofSize: 14) @@ -65,14 +70,19 @@ class VPRevolutionSelectedCell: VPCollectionViewCell { extension VPRevolutionSelectedCell { private func vp_setupUI() { - contentView.layer.cornerRadius = 6 - contentView.layer.masksToBounds = false - + bgView.layer.cornerRadius = 6 + bgView.layer.masksToBounds = false + contentView.addSubview(bgView) contentView.addSubview(label) contentView.addSubview(markImageView) + + bgView.snp.makeConstraints { make in + make.edges.equalToSuperview() + } + label.snp.makeConstraints { make in make.center.equalToSuperview() } diff --git a/Veloria/Class/Player/ViewModel/VPVideoPlayViewModel.swift b/Veloria/Class/Player/ViewModel/VPVideoPlayViewModel.swift index 283abf1..8fc57f7 100644 --- a/Veloria/Class/Player/ViewModel/VPVideoPlayViewModel.swift +++ b/Veloria/Class/Player/ViewModel/VPVideoPlayViewModel.swift @@ -31,7 +31,7 @@ class VPVideoPlayViewModel: NSObject { } ///当前分辨率 - lazy var revolution: VPShortModel.VideoRevolution = .r_540 + lazy var revolution: VPShortModel.VideoRevolution = VPVideoRevolutionManager.manager.revolution ///设置进度 func seekToTime(toTime: Int) { @@ -59,12 +59,13 @@ extension VPVideoPlayViewModel { guard self.revolution != revolution else { return } let userInfo = VPLoginManager.manager.userInfo - if revolution.needLogin, userInfo?.is_tourist != false { + + if revolution.needLogin, userInfo?.is_tourist != false, userInfo?.is_vip != true { VPLoginManager.manager.openLogin { [weak self] in guard let self = self else { return } - self.revolution = revolution - self.updateDetailDataBlock?(self.currentIndexPath) + VPVideoRevolutionManager.manager.setVideoRevolution(revolution: revolution) + self.revolution = VPVideoRevolutionManager.manager.revolution } } else if revolution.needVip, userInfo?.is_vip != true { @@ -79,13 +80,13 @@ extension VPVideoPlayViewModel { } view.vipBuyFinishBlock = { [weak self] in guard let self = self else { return } - self.revolution = revolution - self.updateDetailDataBlock?(self.currentIndexPath) + VPVideoRevolutionManager.manager.setVideoRevolution(revolution: revolution) + self.revolution = VPVideoRevolutionManager.manager.revolution } view.present(in: nil) } else { - self.revolution = revolution - self.updateDetailDataBlock?(self.currentIndexPath) + VPVideoRevolutionManager.manager.setVideoRevolution(revolution: revolution) + self.revolution = VPVideoRevolutionManager.manager.revolution } } diff --git a/Veloria/Class/Player/ViewModel/VPVideoRevolutionManager.swift b/Veloria/Class/Player/ViewModel/VPVideoRevolutionManager.swift new file mode 100644 index 0000000..699130e --- /dev/null +++ b/Veloria/Class/Player/ViewModel/VPVideoRevolutionManager.swift @@ -0,0 +1,70 @@ +// +// VPVideoRevolutionManager.swift +// Veloria +// +// Created by 湖南秦九 on 2025/6/21. +// + +import UIKit + +class VPVideoRevolutionManager: NSObject { + + static let manager = VPVideoRevolutionManager() + + ///当前分辨率 + lazy var revolution: VPShortModel.VideoRevolution = { + let userInfo = VPLoginManager.manager.userInfo + + if let revolution = UserDefaults.standard.object(forKey: kVPVideoRevolutionDefaultsKey) as? String { + var revolution = verify(revolution: VPShortModel.VideoRevolution.init(rawValue: revolution) ?? .r_540) + return revolution + } + return .r_540 + }() + + override init() { + super.init() + NotificationCenter.default.addObserver(self, selector: #selector(userInfoUpdateNotification), name: VPLoginManager.userInfoUpdateNotification, object: nil) + } + + @objc private func userInfoUpdateNotification() { + self.setVideoRevolution(revolution: self.revolution) + } + + func setVideoRevolution(revolution: VPShortModel.VideoRevolution) { + let newRevolution = verify(revolution: revolution) + + if newRevolution != self.revolution { + self.revolution = newRevolution + NotificationCenter.default.post(name: VPVideoRevolutionManager.didChangeRevolutionNotification, object: nil) + UserDefaults.standard.set(newRevolution.rawValue, forKey: kVPVideoRevolutionDefaultsKey) + } + } + +} + +extension VPVideoRevolutionManager { + + ///校验分辨率是否可用,并返回可用分辨率 + func verify(revolution: VPShortModel.VideoRevolution) -> VPShortModel.VideoRevolution { + let userInfo = VPLoginManager.manager.userInfo + var newRevolution = revolution + if userInfo?.is_vip != true { + if newRevolution == .r_1080 { + newRevolution = .r_720 + } + if userInfo?.is_tourist != false, revolution != .r_540 { + newRevolution = .r_540 + } + } + return newRevolution + } + +} + + +extension VPVideoRevolutionManager { + + ///分辨率发生变化 + @objc static let didChangeRevolutionNotification = NSNotification.Name(rawValue: "VPVideoRevolutionManager.didChangeRevolutionNotification") +} diff --git a/Veloria/Libs/Alert/VPAlertView.swift b/Veloria/Libs/Alert/VPAlertView.swift index 5100b95..e8e5209 100644 --- a/Veloria/Libs/Alert/VPAlertView.swift +++ b/Veloria/Libs/Alert/VPAlertView.swift @@ -33,7 +33,7 @@ class VPAlertView: VPBaseAlertView { return imageView }() - private lazy var titleLabel: VPGradientLabel = { + private(set) lazy var titleLabel: VPGradientLabel = { let label = VPGradientLabel() label.gradientLayer.colors = [UIColor.color126B4E().cgColor, UIColor.color1A2D22().cgColor] label.gradientLayer.startPoint = .init(x: 0.5, y: 0) diff --git a/Veloria/Libs/Alert/VPVersionUpdateAlertView.swift b/Veloria/Libs/Alert/VPVersionUpdateAlertView.swift new file mode 100644 index 0000000..de44f4d --- /dev/null +++ b/Veloria/Libs/Alert/VPVersionUpdateAlertView.swift @@ -0,0 +1,53 @@ +// +// VPVersionUpdateAlertView.swift +// Veloria +// +// Created by 湖南秦九 on 2025/6/21. +// + +import UIKit + +class VPVersionUpdateAlertView: VPAlertView { + + + private lazy var versionView: UIView = { + let view = UIView() + view.backgroundColor = .colorA3F0DE() + view.layer.cornerRadius = 11 + view.layer.masksToBounds = true + return view + }() + + private lazy var versionLabel: UILabel = { + let label = UILabel() + label.font = .fontRegular(ofSize: 12) + label.textColor = .color000000() + return label + }() + + init(model: VPVersionUpdateModel) { + super.init(title: "veloria_update_title".localized, subtitle: model.des?.localized ?? "", icon: UIImage(named: "alert_icon_05"), normalButtonText: nil, highlightButtonText: "veloria_update_now".localized) + + versionLabel.text = model.version_name + + bgView.addSubview(versionView) + versionView.addSubview(versionLabel) + + versionView.snp.makeConstraints { make in + make.left.equalTo(titleLabel) + make.top.equalTo(titleLabel.snp.bottom).offset(8) + make.height.equalTo(22) + } + + versionLabel.snp.makeConstraints { make in + make.center.equalToSuperview() + make.left.equalToSuperview().offset(8) + } + + } + + @MainActor required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} diff --git a/Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/Contents.json b/Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/Contents.json new file mode 100644 index 0000000..d7583b3 --- /dev/null +++ b/Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "通知图标-切图图层@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "通知图标-切图图层@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/通知图标-切图图层@2x.png b/Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/通知图标-切图图层@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3a27331ee0964422bb999f7fe5b38f1a7f7cdf2c GIT binary patch literal 36753 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%0A3y2QD|cM^icI@EaseuG-JQRH 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 N^tFw(;7^_7{|Bamg^vIL literal 0 HcmV?d00001 diff --git a/Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/通知图标-切图图层@3x.png b/Veloria/Source/Assets.xcassets/icon/alert_icon_05.imageset/通知图标-切图图层@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..108fd34016b6ae5071d5b6744c55965e4d758d09 GIT binary patch literal 75067 zcmeEt=lf4Q zZ=N%!XU_DS>8|RoTlY?Ngo=_3COR29006+0ll`Cy004FWYpBStJ;6lCtgjC=2U#s= z0N{<_e+~FCh0E}@6X>ie^Bzz+L2>l@f@mT6NfH34`Ht~ugaiQ6Psx3d{OSQbeL`tA z8+4@#uPpVQ8UJB_dxq#D0F_3L2ZCtc#2KcL&}+}7)w1fOSWf!X=CWxuo_hK*o{>rv zk$Rq9EYoQv*lN|9eKCnl`hXt&Dc%r(hKD%J7?Bk)akTHOG+(A&vLNo;O#w0FsCArN zwg_7}s_J?sM9-@kAhRz2|F{2VHaHcsz|HdWdw}cw(@W{NY0%R@|6Ao__n%81s4|17 zr61rDJiwPLi7J@EOUWO={fWbRKSp(@7uM<0(bm|Ny5?#v`GSBj=ky7T2Fs8Hr9!_b zaB~3JLdm{FodaN8R)v4rcfiW>r$pH z&PY@mW#Xgd|31ur)`HPIB#P~k)?A5E6nh^0XTl$iwF*JksoO8Sw+z2osi2_|)_1*t zSWX3sma-RxEGpOE_ZrQgsFN~y_XgLhVe}ZH)}e8Vuxstnl$)y{Ek<$OEZ$e@sTnob zxAO*1X^YjhQYhz$<7JEZ{`)tKf7Y;7w4jvZVSH92^&JMF3j9k~wDs~hj*kW{Y{0}3 zSkN@tn93oCDx6MtS3OViRJ#?UNL=`YCn!`nTdSLM3QsWM%|+ie#;mt+ma4zUgY z?#_61Z5Zh2>H9hCj2-o2OI-I6FDPaGb1|L`Q}4QJ;piUN<$k<C z`NH8Vod2A#E8EU$d6T-(iT2sUoF{~^8*MwteC(0Uf3>QZX}ab?B8h&i+qA9DZVYYU z|Gt?i(sw{D#ljo?bV6?n^trFdUa%_M5CQ)4epUcvy{YTnwtvP9@Jurjd_SqN`5qec z%n9bdcRU)qN*~Pi+gH(q|6BdRlzVqN{XqTXutDjKGcc*Aq$mb4iQ!uy@#zBIRxuUL z7kU#Jx^47Vo1LpKb^hDo%%l(K?`NAjZtPZr^j;fgq`qJVz`jD=d8Pek=6CES8aAlwA6OMpJuRxG>iWQ(H4|*dBSU3hkIYgV_;Db;s)x&s$DElG}Ryh zS%M6b2q+Af-W!*#fqRa;S%Q4^IiAQ1E~v~N&w1|6;^>Ul$n%^TRs8Zo%~B zS$V8?!nY~}gWUt^v}@CCsn!+Q+@k0>jF6E9#xly9=10d#)zID{qcY}ShpO_XHwMi# z(Jktf|ED%rXkS`N+jSFh#2w?H7U&qUmi3b<4&~&-$O)Ls^bN2a>IL&{pshJoXNK2< zxHdvBi7_XA;BK{jU$FIeMyI?(?R7$*oWC>^Jmaz7Muy zn%OJJO&zBd)!w%T!M+bSJ$~{au@wJ_cI-@oN@YB1c12^12 z12y0@R$|kqMkmCi^vg!t2s}#D8mM80WZgK;nnJ?+F@W$Ge19^6V-R|>|778C3yeG4 zo~AqMAziA|kIrzsH}iD${XMp2qD(2`v->O}ewn_J?sVBZsG;#4)^#Uv@}GCbIL_J- zn!BDGNgWcapdANYc$Mw@F`RsDm|kMvd8?3r5}DfKi)K}f@0$T9kagNB1xHwAMb@wy zG-%>Rp(2UTjnhR$apR2+PX#BT=%nACHEMdx$05t_#aYS)5!h(*el}*l)SkwfMT1)p zJrqU}K>TuGr2yS)!^oe2Ie*G5@s@VS>!r)0&YR!8UGD$>mAFe>7jpRGKJWPJ2E9Vv zsi)b7_-5x*BhfVzvC*Wb_vWw67mcOP12fL1rI6CSh>FPc!vG7jmRiMy)D0~v$RE0m z-0?%ryDqU{_0(NxxaxZW9_?7wAwz+Q!J&!jQ;2mKxCH1w3DZGR`Yc7`My9$zW!?gz zC80fTjRmf5)$o`o<$~lemW=1(!;acyZggt0wgTyBlvqWvOhnzT#!5K+_d2m9{{5DE z`MV`U{lxqjwjnOB_un?Y>9yOS+I&9A%?Z6+s|sS#zjil#Db(maRUZfrSgtTDcQkDQ zR3lA&UL%rDv0peHU%+4{5_ECHWu8C?ftuYc%XKy2ex(y0vkcFDG7o5W%B!xW2#WIT zP7jezC=@$xzydak&<_Uyglx$v0-3WveL&Gg)>Zxn3bb7h<2)of>BUXw4GGBUt_(7G-u4$26>u*=<9dZoYP*L8fWXe;#bdTWZwT=dt*&!#%vAbm zOr^@kS+O|FsI`4) zf)$s-#KQnj6ur*120uTQ&vngU=RK^q%XK#$zv}@e@eroWkJb2!s9W{+SPnc`Pd6Or zPz?5acZa)qj)3%vKPs-9HgYg&YSGLfYXVl=N7l4SB*z@}WS=ntcmG>M8Fg*( z*ip(r69Km5f-oW;J;YCs=bGwy`Flf%#-#xiRsk?hFn*aUDXa4rx%V{V{5+d5n|ZF@ z!oR5D5poZkxOo8#Xf9(&RnbCDHk`xQRQFGkFGo@`=l+M&OfT~$%3}B3-Y?w}9wh%I zWYq5-2A~g3c4R@RT}KzNkEzcemz% z+0V4&nA}Fhi?ygL8VIy8kDrC~-pT2=vBa|GF$WHnH}yx8^unNcj4P{hsDl$L)+uki ztfGt(m^tTc1R)U0pS(D)W1hk$MuVW7vPKo4HF2AapHVu6YsSU#9D{4kS->QzJS;a9 z<2dn1QLDJ0J4vvRf5W7{Z+KrHUK+fd9&}w9P(Qf8TqFJ$=O?Yoa{i`nJkO{0D(GKj zqS@GoMAVdi9avFh1pLVyr$Q)3C`v}%ZG+lGNj!XdZi(+wfh#j`)j}dL36sJD*sG+D z+OY~lBmENv*NQ7>05+E#Z0o6ylRGb=Q&&gf;=an{O?vtqlxso>Bv<^p1~T011@wq- zTcEC96#Y>(cB7kP)`kN61>smzoqtQEou&#+Y;tq;bXObq=J7k$3ET9qu3{eSJD;r` zHX->J{0mFYbNv5Vd9*4xv+@PA`CnudmrMh42LH|cGqQ?l@Mr#a5SxHTBqRrx;yQJS z+A$Dc*54LP2J`^UG849xXCfvtkwy=#Ov&c=G-i#%d8|t8_c4&fiNHMK?zFO$Jxy)k zK#Dv1B^v&$aL)Td+Lv?PBW_x#X|EYHndM-4OSXj_CFs{fO`&>r^c0 zs@PP;_Npz&0_E~^o@>J%t}##u$Sf*9W#o;^LT?PS9+j&r++#B@WV4eogKEZpKGO0! z7I(TNlNsX+dY9sHUBBx2?TdL|5`6#*BPY=WtM@Nq%EXb`4#pALOvvP8u+ zxRa*8`pXg)FM<(y6l3S+<>a>!OKG2#mey%Jx+g%@{sN;6`;VY`D``?X_@9q=A#!xy z+4pFs8a#a-Xi5Ky(-q-rDgj#e+npjR@A}NRY*}9Qd!hKWu}H>wOqPu$c?bzKev@ zdwZ2p+bg6Z)PtHOUXH25hz(vAjcj@rfioir`BGjiZ=hP(V~zZC7-N3jHX`Vowd>6P zRyOh$a@y%f(OQOVFi?3JqHJI@Jvb1)mB`zzAHhwy%|zq;89Y`&vc#~D_7GPCtz5iF zgi!+NVK;iA@FWNsy9Mm+p%++fD5I*@QKp=XmiZ7r3wf3di*K|ormz?0X3?nQ+2uR> zc=xA{$KH)t_Yrm@@O+rByy__P1+}AQzz?7vcai$?Xb_4q(S;<6^fh~2y+Vm4qfF1d zn<&SO8eoA?4&Sx+N%<=yDHv$h=4;-t^NtwDIyuqiL=ImC4=@|27dy56v@kg&iKc?@ zz>bFunbtb$BIu7B{kO}&Mscn{FJ-zM@cf3(wO?ytTdA*R7os*q&&ig;&dLdqDLNzk zLqlo}K0ku@dDt6Y++mipNGFJWWw}9N0IP;(?Ay=?pFx;v;d@uQJ5W;oBfl3xvS1 zDzl=bAu4RBqG9c-^tcS8I3^u#?v5u5Dq^rVYcoiDRx!>DKP=b84%gR4FH#@!E$IWIx+1sxDZ=cwO z|76F1amm*pdVNG-%?VT2^KKF%qbsmnZqCAw-kJ{;MX%=sEhzFKu*>2~g2dGr-5y9+T@--Gfizcygg21>~WpvpB9V-c`n z{1iTC*kA}127CtzMweSJ*1)GPR6)L|AzSjzB;!B|OoA)Z1aMNq3b~^m3jdwv$~3Yg zn%6Uncm5xTu~;kHA}PPBN})El{sy56))QE|495<(fLkgsT%aUOufyIp8UeXFbrNs9iG?42vkj_ zn#w-_s$1#}m-m@>*1*j>Lw;wcIO^=EbZ|`vDx}}jwnql9@?NCj&<0N$RzT>D)H)-A zl|j@3>QsDU3@>~L_KuGXAkQmhH0df}Eab0?ErlxI%Jr=^cEP#5^b6;{?{99*nVo`& zA$Y^jqsOe(LR6(?2Ue)!2y#QbM56xb<91I^=UJ4F{#{|O1(k$_%}Xz~sKX-8e;MFK ztD3{S8jl0K>;>Ist@X>sBiWMnR5T|UX?4r24S^x0k4e;qVftZH3Z;aOh^-ESlrZoN zFR8jlRZJ23iC2GGogpW6?2lWIa)(jF-Zw$aHweheB6h_?`DWZ>AFu$Qo<5?zsSU+Q zu-z9_jGmnH+!;z#;m&EKl)oW`2x0lfeq|X?|7!xaGcIr1Tg`@VREy82!+mFMbDxg` zL^6ctUxR*|4PpD18otAD{|oh!FpoOSW{$$gWZ|3S1UvQGhPfO8C`W2ZSN@-u5-+r_ z5Ec3vO$w^q1C#ZRsh;?Z&W5}Iiu-xdy0UJ=9U@Q>w=IBstWi@NO}PBF=#(}t!-hXc zUd$;tkkP>5Q8WExU|#38(x4lMAWul$Pbnd9Z3@S1U5tcE;i^%VCZG9rVF7QoLA9!^ z*3D9hwwHMhvFWeW|JgCeGmYdlq{c0Tu-2N!oKkJqFK~sX1Mzdrc`ZAdO=IQS;M8OC z4pN;B>_l75O|Z6N%^zB~7f$g?t+Jlkd4_g7_UX||DAe;LXz{78E)c4-^htPXhCrA6 zGu>9!4458(O1B#q3guW~871x{NV6tRtuE{3VZ{8tzc?DMmPu7HO>7xw$r}v}sc!z% z=<;`A>9%Z+?ZA*sGkTdUq&Zwj;97f;roIiiHOZNNk$d;Lvwid5Q0wQD$<_)9r2qDq z`}jMLJwlD%d5!0fX<59p89L)c{961Y^gE2XXE*ufi?+47(;NIJ0BN8|tPQbD%3`(? z9y7yHGh1AerVgRvPmJ(vB2wU2_}@o3j&96e3JadAUaJ$W_6M@_!JcNT@X6>T6UTg( z2%Nr9PkT~c21i;vY?+iXloTA^)t*(VjDWzRhtF?=3ebrebYf-`hPU>AF%7!gY_$H) z_*3-|Us5A>;J+2$mO1htYt7b1l6c8qgiTP|2OdRScSdGf)_vYJmvXhvzpQavvzT?4 z>0a=oiV3aW6eUA92fFb<-5#yK7HPWubj|y~0Os-;tNWrD2~Pr7%HNXxXny471Jds| zTDB#yzIk{@R&80*Oocav{(%&knLG59d@s09_fL}8$8DO3H~zM`j`IfEP6P+Mh?ut& zcdIyaqb?HBH;{I6k6#gUXbq(kjUmgaV@l&|wNKmR*w4Ex_I{-i#;>xc{l+_w{^X{f zsHzt(%Z98OX5P{FGQBl@?ONveq^B2|HCuJv)$C}RaBw+;k^A*p(-_H^aGwj(6l0u~ z*C)YZ!QfFYgfl3;KsZ9h?|F3jM@i%Z;3OhA^eIK#l;LwAVDjy#^a2`QYMy0@)nI9l za3?$0!o-qegmi>B*rq<+mS!EFg~9n!$NPG?mnY-yA=NYqN2%VVSzuT z53!Y$f4;O`_}_Q7J^T+SM%B9~JNExpAFRUj;2?AiIIDsU0jG@Q)w1SAUHqH2+;NzO z_;*I(aP^b%+wrs}vvy9WXbP--T+=$vcoS!q(DnB3ZueQ9&&VHQDhQ_tEiz}jVwsR> zr)&a{ID~&$w#H}Tkm#}??8KXeMv@lOzs*~PAq^Iq2fFtU?=?W$7nzYZ7mnL;Voie| zzw`q>l?hcFS!xEbsy=c;W0(fAcbP-e&oKT}rOD6CcG_zApGO&pP9=HUyxM#EoyTmH z0aB{|zZqUXM8#79o0!v+0NcjtA6;hYDHV1p42{db{jZy=ho5b|rJJbF06kh~#O`o< z!E$=W1{}*!RHw+809~{a9O;9v%|#ZJO=J9T9^;I`w3-^Eh1X>J=m|b=ggI!0YvuDe zl~pC5u|FN1{ItRFX=lYiM6#ML_=xXTjzI?#ITDVHq#67vxEB7IAU^-iJLG*`2c}Wd zZ1u8Cm$ghC=bfr`$IAwk^~X{jC4M}qS9t!DvR>Iu5AH$j)Y>N#xWn52V_5)=fsm}_ zKH4?KPu^(WJ-~dhR4giLsVx>FGJT4^u-XFhjAMHHj8Po8pT?m=kT`~cw(fHKn64;u zkxk$5uW{YAldTsx=uJt@kuV<*SRN~D3Wsn*@F9~*Gl?w+VK-v6f+}Jj>t^$U9cKap z5tcK!OQ^Pc))MK2(-d1%JxUuA56+>baXOIix3g5jFzwFi$Cja?&f0|&iV54om)$2S zt?gUROK&A=x&MSVb)4DS{wMZ#zAf73aAN1OHDxa~{3h;n z`MoJZ_utqpw2&koN}FIv50y~Sq-(cha`Jt?cleyQ=%E!O!rcH97sGX9kQvivmJJD} z5*fgi&W4oV+h4}|ZJ&L$c+yj5SJG!jo{xgjN|phAJLvf_S%_OI7lhSpSfw*=(emLy z(<`}*01a9y`68*_>+q~rXr+l#)&lk_(DC&eAqhcA9MKtmCODS-qe0I{%7Bv7qZhd+ zXorgVO%zjlJnzC% zxZ3X&oeeN?mV3y=-8Q(FAhiWxOB!Ey`CBlh+uqiL!%zpo0@-Qe=->!#q!ZfYs9sxb zv(UYa)lxMGmH8wbW5^ClHX@)D;DkkDl=a?MU`_v+Yx_$x`%mTPI*ia0NJ8<^G*7#p zO(IX#c+yzCo}XOz98CNV21?9e9l)E5HY5*Z zkTEydkM|RBPDLH!cwIGuo)0}lv&lv>!`QS7CM3_R1lB;iVq~FCHUMWEjMm8kC|jNi zy(ID~5w|X=<*{QNj@B%^m#TF80Sygt@(dL@$Kw;#FFL_LIFzsvG?(?6pTOsV%g%TT z(}p)4^_c(m*>ZE1+KXqc*`~2kVda4=hy1B#rFBUl^^^EFc9OOJ07mwLs|7%pUsG>YW z(GWjK6@p|}I1S+&S= z&luzaM5(Ws@3Rm#zEk>+6#i=;L|GNNx5DgiHZ``$+y`3Z{Z7gWPo0SbnIpz>rM%t5 zHO()95Xt$w@);JLu)MC$4klpzBi-*){4pP~S+)BwGl`?RRxY9(Fih1Y-I<`H3^nk= znv%DZBfN+FfRXr@Tb6sj1$o4ent?0t+nvQuME2HQbteN1$YtJFi1Kffy6PHc@O+>Z zr=iG5@Q(?@Y@>l%Kif6UScH9d449p%UU;bx(G|-eCj_(5b|U?h)h^X00mx_F#EolO zm;mDBbc|1D{%9w!Avqd;i2`KPNMLZdcccD>i}6o@V1PqW-4sbqHm`GR%QT_*(aSO8 zvi+N=XW_MN4jq9HZ#=jY(5$E;_i;oBdGRxeHlb|-vdEUlMs3y5?FUVV`K$TIvAMq( z&UFH8=Pmo|-r|1(ie6`;4^!{Xv};D5fZu+zbcfJ^e{znE$YSJM)yG5miGFFOQh^Z$ zBtoA8S)_E0V4p=V*Xt#rT##%%9nP3MuexV_7jwnP)*Vojd{s!rPbZx9vFUVs$MC5qVD2*cgbZ^O zDTgi1?V!LuhJi|wu?(?dQ2}$#fq&XJzwgY;YzcP27AxUc{(0Qs!h(tMc1%%u&Fx5y zL+9k5^||kEJVHJa&nsg=GD35(_hUHSc%hrJBCfB89D>u(q%p%nxE$7)^@iV3r$*#7*MqjA)x20}cbiu=YhzpPAP{5!x_qH{M0!dAb z3)27A1k-vtdGT1gR9#h~x-?CkI{#?L$gt?_~pB&CALW zP|)tS`@qPu@}_ZTP+$^0w$s>NH5dEp&WIw>%td6-CrLs@woqAB>C5(MvD6i8m)t=8 zKN0%&Mt*MhH+L2Dk3B8K{^y%w)b{kD1Nsi?-L?-CK~Wsu_|bpUd|HKz=l92rX&N?} zsn0kK6obG&my1|V`tpKPm$(U1$a`f)#vE-m)5T2d2X~MxfUMC_UteDW0Ewdm3FTW1 zTLx9qK_ZSK_1Xo}5=N=0e53+j&kmpg6HsW=6f~KQMpWMY{nu|gj>Lo$H5wsM)Fe2n zK9CPvx5SGvqFIwiU}UVT&%a|8TZ6HLAV&QIs_~U%fLZ~9JQI8N&!V6yH!dfCO-F)I zQk0MB+~V%4z!kN!I=*2H44yw6LNAXeT|SF?7yh9Cd}d16erJ{nTX#0V__AXgo*&DN z(8z7s;8@=pOFF^RrfQJ}sNb$5#V2ad04N|68?b8$p>R@iwWhEDnC{mY4 zk#Uefzvr)1*yfifrp}(4xYi?>=U_#}Yd}i6wDu;f-KFB$;O%f4tJcqHTxZJoq(6rU zTy!Um)Z%%@X|aZZ*{b^AHl$0#qE?)!5@f2Jkf8*dZ*Tj!ya$~kX>bW96q|Pbt`-Of z9w_YmTlt(9X(NO2?$=|EBtcZJ0w%JvfauT=;QCoEThEYfNpU9;zS%T3skdm`RM~ZX zrPK8oq1@gimt=YBX-l~3Cx>*9eM@XOy82$rh930z?z&_2{<>d1G0(c-_*X5g7D31UW zkthAHr<)d1QfWBYuKu0SNMOXJE5#m8dW_6Y$*mN-apFsE8lOB-fF_$zmh7Ob3VR3- zUPzKESTMdorX>Kzr-DolaSY{Bwv~)v&l}^rYv`N&mcc$%F@K1tu`nNuKF*&wC}}w7 zsE4F-7hs$|o@LjZ&G8O_&a+eg%+1^Qp(karg5CXA-*?T{eZ%wMLFtvjiA|OVA}CkE zCfm1P3#i=q)WD-rn9ReOA@;Aju0YECW@)93$sUqX$_Qr%5Y|2xn%a;1TAqX1=7V1X zDMUe@()`E3hG9ktC*3sAuoyO+F!)A=MWoXA;`E$wv;E<*?>aq4b*v2@$m0NzIka;<)Da-lX z)u8P(G822lc`{(&$HLN|fp;Dcwrs!gHG0faR~f%|N;2G^iXzylt;;iHf;A7@9rxPK zrHqY`Ae32@Vw^qPl8xW#Hb%eUd_?%oNDDe1EEd|_UIuH5pcwu5C7*8AGaMQKt?Y%x zS;5sIGA35D8E2{RsoI(LlI|o+-tB_eZC-zI|TRs=H zy1g&?byvE&VK*UND3K?HZb|egGYQ%Ea%NKr%k=`cIz{X8J2m{QtlIRL7o$&eN(gDo z?^$ETTQCVkP8kOW-Ruq0{Acg41}^__bUrI!9`fJ#)bu$}qx}vgJ`3!4SVzr{mB3K> z*z|ELfznd_TioRR09iWBu;7_U%Ci>+;!U$PUd{y-YXxL;mNtM0_`e0HVeA0r^2rbl zO@QW{51&IR{(24$syzLvRieiCm zN%`Mn54MllkLM&pWTKo{!8)a>)6WGJ+3MCdqpPQ97(8_k9BsQPlk0a!5@N5?-;I>r z2OqnxL+K^==kGmz!5oOGU&Sfu)T!j-oizNKU^-FhA-K|S$GFJcMkLIh-kTbIQKl=0}o**_T}7c)p5I+~@s4ou&F#ZLt^;#&zjmg5kWKs`lNeAncm z*?f8&7O9%ooGDl+ls2e`SyW>Wcv_lF8PU2kSs07**>D^EEZ54fG>OMXH+E=-3jPe* ztb8A7;%Qkwl%|?Be*egLF4q6X86|7kCdn4D*ra6wujBL|H-33-uS#n=jgmksQFiHC zPHs-?&(c!3efx2;jD*txHD&N?UB(-J&?Cz-%jHFaR7pf5WvGmT zIa5Q^a0xDHK*1PNaKN z6qulVn4n~bKG5bWu7~-ICNWWFw_5jy_o%uiZ=3{EISpbJ7&iL}wHDkmRupC*;u?To z$x}`?p}%~InUVlmobv560hA`HJU|GaDYmQOzy?K->2>KEo=L@Zr&r5gm1AX^wml1} zeN&d2Ni6u0*&OFRSTN_SK2S(PzL%a$kyT0gQ@ioYoj{i0?IR2I^ERR@~fc#TIG*4vqxR z@!Kfgo?+lO)VI22fzoKkz9^|^RU+B5M3AVccaimvY)7{XQABsA9&FGPi1 zSzoH?)<~uRrRs;NPXmd()f$YI%#1*TmVm;dbvj9+{LJYuS9{@vb#Yb>vC3QbcYH^0 zX{9_ITB$nRylob@Zx*A~Iyx5h{){MZJZGGwX1-k^e=y>CKecGEYjiU4RBdq^h0(i5 zkLuH_srnmKpR#9;4>N^DZ8PJm5RT6U<^ddw5vcrjFCu-NSeLt4!WsbCw}kw1eQ`Tb zqtTSN*8j+)jCmg#KU=dOS2`=QPn^d++ZD6M?FJ(foQ&B}+Kcl}aEVqJeZc7!ZaP{j z5dF}R!It7w%8brJx#3KHwUJ_)#)UwM?V9!ALwnfpopn5ijiNiP{a z7#K9T-OX1pSgX1C#e_vAO2fePn!5_wBQ`HP-pq(q1!1ta<7x}iu=ifrq!G>iWJdBW zMDo$|{f>p+i-eFTjZ*Q1^ zQUQN;B2+mY8}YtGT?NP@@?whiQh%scVwKa)OPLl7?VTp*A;qJsvyWAXlf)8Q0rU<6 z@}RXy785){vF8S1+`f=pd$IK}M8GV}GhfV7$_Pz5mOl<#*U~^ZB0h-&iYIqrP?Pj;)o)C1 zs4pfn0t;E9wale>(NJ1D=1pDUnu8{$!})l@LQ0r(Z`q0eYQ*+`yh-Kn52-KPCGPxnNCGz$O`v8Dco$aNq%X$UxY8mNZG%?%l>cRZ z1^s58kOogoAgQ00!RARwx&=$htc$VWRL_MZGqUS# zFNBH?=qR1Ds>L~N-M2G9@Q-7&*kjp5Yt7wol>xb)U-{u=q z-cOhut-jA!dKw!~B|#|auPR4QkU9tSVIY&y@IuI*c^a{D)2N?yF-9JJ;xXoL2TS($ z1$yHcZ}(#*cyWH2q0!8Pf0Pii*c+LTHReWl7Qdrq*pye6yEA0*!yxoXTH_&yPqVZI zV&nE2nEJK_UD{(O8ez7dxdx!(X7=$4=q&zn9)zf)^~tXJzm^+K-kQ^a_0glg#2|lG zJzDV&6&R*KNG3S+<~=KkG2$HoC>|0kYreI%fJ{?K@zsxKUY`&$DN zp<>d?C{Dm{Hku!gNh>$!W)q8__EFW*Y4Y^@jMq_fPPR2Ducd^|=*KF3Nh-8r=)s9$ z6m!fT5rU^o3z>+(Q%bNIrgxGQdB=<=1<3CWoZVYN`~8=$x{%*fBf+?Dnel{H3Yj^h z_P7c!V(Vl$66Q)W_R4R5HXr6y>m9%bR8p<{X~#ar7;p=5U0(HK=eF863SS&OFegf}})EwG8)+6nh9EWSxu51ta0M9QM))Hf+ ze&z#5rd^CTebL(ZAu5d+nXDFws42sNKo4a2N@Jr~2qyMFgGM(RNc`Ic1cZVihSFIl z3!2$qltr%VubG(ed3Fx)*txTVbb}EtLnX16OT3gZZoW$BLqDXr|jrR-D2Qs~@V`%;1j; z0%K#7uw-Igk6Whmrw<6NF=9;RY7aM4vx8ghMO3fVKq5`mB1-9)QpR~|=1CwVPh&x^>aw zTZQiRtlXWy`FY8Q!$C7jy8UnE2LI^{aU*4$72U#M^Bs0CE9oZD=R^YDo|p!c&sGdlO3I7L zQ}sT5@`cgz7t;OrE}LmON$ez#%=mC;MW;;_Tjk4U!iE;I5mC~+$E#&<34G|bVoy*i zwv`oUA}9Bw@?_d19mS840J{&Jm1=DnoraT@FRpgRkF8xV#C~U0Pl+2(It_1EHvHgl z9fS4zJwXA1gNuilhtdj(mIiE;AFZdWqh89Ce($Vc&O5hjzLvfhYIPkUwr%%8y~>Ri zw-Y@p(|k>~gN+R+R6=6T>qsKV%05>tK_P$KCi`6QiGG#EG#vh#%o5#cn-Z(({Cw7W zl;Di*d)^&3NYpr{DE1h_^jcQ9*0M90qeYgPMrEKS=JIahOl!&M@Hu~Q-_0id`$<{R z;{8)iwocIli-k{72CAb+twg8E;_4EDfygPb+t__|jgyO~nA`1`O?vZ10F(0hD&H)o z)FO3XOd^YNh2li6#Dn8cQYxVpCKk?E8V9uWuAh7-!P6hzqx4bS>74s z!oJ0QW_ltAqi$ZEcJ%_Ei2gNgj#RIOTK@196iIkv&obyvGwYM<`VIAFot-(A#!DJ4 zlXnZOaFZ7+!YpN_-NfA%)fz2*j>R~$@fJ{?FGBhQs`E{mggaB-K8_D=`q3r1K(RGP#ga-2Nb;c7O)%34nSj?1YhT+UkIbN|P{ zZ}VkUQ%|hf7rwo>X6JhR*x#?C#Gbv(Cn2uZAW~ub^js|>B;J^CBaoRfOLjx`zU#SU2|UlR{WRF z$)Cg{uZoG?^uoQrmv;6xf+VsG6ET-=_CBsACMA2TA67QL`E!9)3`uw z-QcZo5>(`idUpM<((W3iXtqJf>vZZUaZTx@WVR@!)93myVsibd<$*dU;syT^HR z-rr*NuVuTr?dQ@Sy~=)Iw^PehEBgdBG~KqNh6~2(3cSPj$a#TG;wBm`w6GI^Uj08nmqI{8w-8#Eb zX+*P|9bHx^b4@>UotY$c8T4SUdE8hvbJfcUPT($8sg~=qfPJ8G?F$z{k2~T4F>}ol zai$4R!e== z+?qog^eR7**)dcNjKkx}w77>1Gl9Yu=X(~w0D=Gk98@|Qro8@1DW|@|$)I*hzh4%# zSa(8bUr#`F_o00-=fOn->T7%$>!gxW{p&x40sQa*yRs3N%!zmu#dNL%7HPT=SuMMu z1o>=e>~>`SL9{y=rO^wy4&G=k zI;0MRdGwN~y<B{^&ie zNkk|eUFQ!5)S772KYAFyDBqz8do2cI*cRM6vboxkljEc=(3IbPzUh{fgzki4W#2Cy z9}ir-3_o<<=NJSUeCs*wR8Y@u*ySU>?*5*Q;yuwJm$+r-5o2$@Qt)xLlq$+vi+whP z>^G3D2}k1ivdPOPn(hIyxPKZQPU+e?j|DrC*05+H>m@frl*F7GxEG#o2apl*^FGwS z{FDdp2IV&jnfx(l}zQ76Eu3Xg}$wXAuj6v*4OAYPLfbX2W8 zNnVL>^)+SL)Nm$F0y|CdS|D6-*X*B$pR&JzD$_JI&gPyHV%P1Fy?!HCLD!S3e#%W# z%1tVi3xS^AFxd6Z7SdI5&~S;ETB;UzeR0lYf9iUERM_0BddAmW z6|R7#Q`^N8dPQt`#S^Zmq!JcjB(r-Oc48kHkW6hq0?=ps!#rT%RIQ3?eW1C*&k!~3 z>SQpFW0nxm%&liAPH{s?n$o8`9Z823c@!!Wu$t`1lheonCbOX3ALeQaweKG%Renex z?qUQS0s`zio$j1R>s;cNEoTBE_CWHef`y*30-xXw=_ji89u zWlYp!i0!T=*v=zLPMiF03P$!}{3(nPUj228pw?iaLJu@LRTLkbB@i2C%&H4CXsTCI zR|3udf=xt>7B|iyIjWJ1SbyjHy0oxh=-`EU&vIh5=AyS!F=asNvp@8O>3O_^+Urrz z9@^Ckit*KH6xw_)>=66c^0H_TV<3J32j+ouojeD8Oa>CNrX~zC&5*LXh`ySrnbyOs zQ@IW!L!-=^kgqv7|Djt?;jo#LqBirZF9LFE^}2>jNaZBqho9Q|E(tMyALC4t!(uWG z#Er&t40yGMXpqK4Kjvo3Z!qEIxoJsJA(RL}pqZ|{{FC8u$GI7P>zW(}=Ve^w)HCxLgZeDrV-$>2E#j+f9oZ>M$eO@3g{GL&MSuQrbll1;O|W-lP1i zpFSe5rA1{l8M--9sN>P;eu{2NmbR9g40-Hw^Xh~rYh>#PqdC6We`=%+**4Q7ZjSzC z3f_N6rqDmiXv8a_Ou1Z!rh_CVV;}rZH344_CcIobpL^ekr55{Qm&}eA1uu@ywir4{ zucwfCfm7_^H87a-dX{DV(iu{9NI7pQ>rU?$_Lkd@^di zl#`;2wH|T)du}-SR_tZO*lT{wb`z(%ySMiEPv+6N$T_TW|M@0itF$!IB z?)RKG21ui1=F93%KK$I~+7%t`YM5$KgS5sBqSjMnP1M4Xoc7~(Sf}D7>NbaB1%Yy# zf<3Em5D5XiyewwtF8>hm5Y2nIX_{VxSnd4fOLZ1tudigbnXR@D=Z+!*H_|*O0Iv#7 zoUHu+0AWC$zY7P)VRoRY+7;` zQ)SMy^HO1rDK=hLjwhGnOBqgeMMRQkVw9R0bZ%{6@J*zun?|zZ33&7KxSHgMkR^)z zY_+Rltf~`74xRo#KJ(tY|J_^QSDUGiz6GnE^_L&JW(ecsFNc|#?X{!?DQ45o?9A3x z_ZIW2R%J1Uy#0|^p;>`xb_kj&A-|k$J|AZ~3er10PpKZYS{Ov9akg>> zl40SZur?aEM)3OLQIm=Bi;heYZyYWr=j)1O;!Q^*iZM;Q!$WOugIsBK1IQy3LG|2{ zh+%(o2CQU`H3kh|A_hoGcG~}9cgf7obEJtp639wrzd4*Lb?6i0J(%e95VTh}*74e8 z){K!`ILHe4+W?~?LXut+koSpgXVw>ndbxvoj-=)p~S(jN}y*D@6$j!3;K?u20YIk zQ9}ctG#HZykTv(RaW*ps{ak&knfn z{`7Hp{dL#E_Qh+|Ibq+REG=NIy|(#5;&QE7);sdoGf?9bAdHm%(bHp$yJ%hJM}Uvl z5r>N{g04SX_M88)^I!yD3rYf>??p?>r5=;HRr?&CEYfU3v%2>3jw8KM;6W3 zfJp`*(Q3?6pn$WNY1NtS0s}1pm&}63nOYGH{6)P?SkN1!uQ0RzvIJ5=iN%!;%d^HU z1!*XIjXp=`lz}c2Cq>S*mW?Pdqs4!cUcrU zKA2k(A^}=%V<%~tQ{$5eOdAPgFzv#GBhrUgz}U8LXwAsGC~;2ycxpuWU$_8&hF(Y!<0H~P{xxeh^&MaOo`jsxFI`-nz5dZKQws`n8iBGYl-{3ZAe;Hc&bK$~2B+J`+S?htG*WErovaR?GOS=ub|ti)XD>T!NmG^Gq9a#M^W zl~68xSpZC}TspouT4V|x0q49EnUuZa2`|NiFZBlm1ayX8pooXS=jgfZPVRj~OeBrZ z6~HX)lJ8!0dUc{)PN=hAs&xz8Vkz&)`;lXryCc_zyC=}d1){n%R0rT_2AZ1ErUlEC zN8*G+FmxotOeKk|+vy~kVU?V1eBLq2l}P`SjzmdgF!!9#R?3+1eW7zN&lxh@{2{pV z=ta8bjyv~g9>2)<2Ja<11LdM);s@V1c?7ky<$cg;IMRuE>hWxr4wM`-!>jvwv>K?(z1Iow)w4|FrVnCX(Un*w+W#8@H~*^ukZV z)`e*>Q+#XX5oNiyg4hV4)jki;UhXV2)TfgE2GWgm7eXh1k1xaBvVs9yvyHqA7{(>P zjn2$sfYAwyHOm;7^f>k~lBK4g>kY~XQ|C7G%h2c3&AMHSQ*%p?&u6q^XxL}rMdSf$f)DG8x;P#;OIrtO z6aO1Wn;S>I1C($zvmF@Fj`htX0; zhXqg!5i^&$bZ-U(q8wx7y!aTEefdRGZa7B_$X@a&W#+n;Lr2@Lz1fc3Q z10J#P-I7#p=k%32>sgR~C+o<4x@J|5$4}=m=woD2CyfyH&&|!<@YC+K$A09{o9}xk zG&69FTJ;UrcMbk;pu{oKO>LGBu zJ#QpK!^p`J9*Q$8+Ynf(jjX%!c}O`(imBz7IZ}xlnx2PGNurc^Z66B=Rr-oY5C98& z51a+ha%SbY(G@_?v9-eu=k6dA!_nc1++jZt6bwEdB_SY)a(m~)V4 z&vXPbf^Y!VaVxA?G+fKG%R3m+akIHHbkpVPTqsTq-CW~(`N50^^hQA& z>W8YKp*%!HcX*jAfGs7uYLOC92lP17W-uLt9yivum05nvcfL~0g!Jk~;NW{elfjphlPjEd{;swUQJU}>^^{UQ90pF0b}Wkz(t5+*+^*S|?md6!Wv@DT zTp_RH)^ z+wb%^PNPD&GYC#Q1pyli40a48z$vePJxr{8$y*`=*8)YRb}n}iTAV!sgI8g+vY!xZ zoKu}=R2|fnHpZO&=V5w$9FLPj$0&`tbW#$LAluOX=*$Tu=~~L%+mi>$-v6ibJVU0NvDS1j-> z+gXOeYnYQlHU=;;KDK|?#f!K7Z1tLZ{>`EP{sc7kO#p7Txht1oPxmrd+OKmpYFEC+D4KXvIK81RJxz(GQ~;@SI=-Z_pOGC~1l{Y^d_5U(}WnRR$u z!!Bya8$C8UYMk8PG7nn+6Oq53UDtRIYEv)2ULkmAj3nU0s_zyy+Il{g;3Ef%Ea<%`|(}} zI>}$LvC*dzk@D=ZKI6n07tA@aX6iUeBMl4QBdM)T#&xL^UJ_Z8}9doV9Z=X45 z+pFI;`Q}I8yn5RczrFIpuE+4r0q((r5ni%q8K!4n2~$bSm7AnbZ~9LwOAC_XYk^nL z%f2WUpunsXmF<*B1*WkUAZq|iZlm`52%8tKG&POT0k%pgG{O zSKQub)33R`!rb{VQlFjj$qGv(pral@hn!K^ZeB2~d%5{Y!3EAPA|T7@os@QGbwPeRk=b~<)Im423o)lSxx zLO-qmc|Io37{ONn5yf)^F@=yhjcSp$02GiZ;so!L<5P>!5cytEhtunHlS8cwYwLX+ zN(0{`q zp1g^YDX*VX{aBtk(ST8d_JuLabB2))AU(Q(uH&$H%DBrZ!#UCeFk>&wOmCU`(TRz1 zxb)%MKJ`M5*Zt-IH{1K}eHh+&!$mMZcP-6vCZOo3r_0W>47yGdAu6+bxx1rbW6^xh z7W6?aKU;8(P-CLeuFG#VE*luY1}NERu`I{P1!;?`??Vo*054!I)xn$rY6r!IJ7Rj8 zDnQn+hxQ#2%QT8+hr`c6*=OijGt#wyEfofL$TTr)$(5H^K-0_lyP)S*qzF)8l5@47 z?Q8lV?-yUVpTn+nMlxc^1z;w}$1u}tePgK4K&6gHD4iKd@``qa zV4;)#CwDb~)Ncq*I&ia|+>hw>T!I@N5tI(zGt*X9uh-p`h!JPNlrL7P$fjK^fw4w1 zP)A4Mhz^_+N2=Txz_?u`5p72!vs_O&gwFW%*bNt7zWwGKzkJ1qe;?j=23~;n%>!<> zYZp($_MLBq@$r@pDa31&on~0JYE;LyDjtA+h3lVX9XImU@)u>D=CcBEfEso)i-Tao z!gT-qq-iJ^m}R^lHv+ua3|DU|7^y=#5ov>H+)CLTl%x&2PC0Lq!RW^Mlkl?v+ThwpmX8t7D~&U zz6a$QD)$KV8iKh-<=j}>h&sNg^9pg6>akf<_E7~G$Je-M?#$eivplb-?URU*?0dk6 zkt*0p3bG%@c6YjW!QP8@Ui*_LZ-4CnKJy2UzzfX2HNf55dkSV}Ct%06TeQfs_LiQ& zRYn<9ZTDzyiJtNfX|C+zI>5c%hp&x(X=CQ z&5CG_WFj4e{TqeM3k&AEAQ2U|bJYSnd;xLB3of#cuS9aDb-Jy+TQAst`!CG?xkrBO z(ck$hynyUm1Khix4sgwuKFlq?8Kx(@25or-$1GQBYg!%GI@5UF@@fMZ_ESeq810e? z)L3sbp$kxx9BN={eg^?KS?+2t+}X27gb}cn#YSTT12o!BIWM-M0a=jaL=XhRS3JhUT$Fg^(wShJm4UL%#EEox3p~3Mg^`=Ih5ul2!Kn^3` zhKu!}j>hd%Pk)q_Molv<4ApVea@4^9IkT*f+FoZ@hN}h)vsFCBOHe@Ony}`Q35Zdt zMoDmRwOcE^PV@Wu(4srL+O>_fbqE+3{6#}luX|ZD@Z51u+r$77ts~Es>%nImKv-foi4F zcIreqjaju;SDtNGI+fbFMgsUMmb>B1M5*QVqxJ|B=Kq&Y4XoJXb*g(jG-*HOeaw?B zx2S$^X1-N_*zGOOy==?ELiLmGwRiuJ6Q)=a~}4RT3K;3OQu-lCNse4@Km%-8tz9-r46VrgPa~Zdn9Yk>5C=+CB<Y&?g!9=Hv%IqhZ(!16OE8G9Nh9J!5-kHOE3SNW*4ThgQ*KdczfG#IqH zvlBPXY?-<6$ERNLv48*6JD1>jY~MQIX1n8_r{U$7EW+%}Ezs+EVx9&JF-)vQpo^E) z>bcqEjgilz8ZY&o`s7LEHWbgTng!Tk*Nb)h!^N99*J6Dg1>cclI4dET7aT^~ChJ94 zKalFo=GeBg0zNOkjQN$vY%zH$V+lXX5wSV#wc^gE#T!}2h5)L{x{mfEWej~VFKh&e zhOtL>XhjI@oU2C!1OZ2>ss-W=mt+gcEMuT%03;n)UQ|I9`c1nYF1VxV#O%~@=DeKI z9R)t40Tn5(t@RfecxWfGFG3D)oK^zV)IRzykpq$e7$u1%6o8R!^2c^!t5f4W=yR>y zsMkc+;p@TA5l&s?OXLN_k}c<$Fn9$$X12kwQjpG+g%MZolb8Jj(Tu6hQW)OxbM0gC zN63sFwP*!-&Yk!afUbihr!Hc(M5@r@5>qT!n>$UclIAFMj5?dd`um~kPWCQZnA-Zv z+n;*T9sgYfF^UXaPgZXosw+4$U$E9gbS|Y5`YY_y9E^MKeIGZ@b-}?J%s)8|naRGe!c%=lO$K-`Uq^WNrx2NKS1ky}h9q6KGO_DUkis#Y7vzC1aaVE)-Q~7OL zUn@R9oGxJOxuNOh!#&H0|2#SVQVa;IyulFe<}APt_j_U$Vp6seps;7Um%iq_ z#dsN!HUJ8M0~ipmcZ9MAcASCR7MSe{E6$$>1K;X(wr|HN%;!<|E1=}dOND?XJ$Nj@c~;1k z0X_?4VB=yMc)kL)EkaoQAdOa~=7-_5C3r z6kz3uL8xtpte7+91k7+99^yMU0))PRpx&F5di>XKp_5f3Ljj7(CDH+Xvii zKY!^%a5P*F+qPZ7<(Ue|$QZ8UF>%Q>0j^LcpH+}Z0rA2M3uL&ma(Pq$ZYp38=bC8r$N93GSrR5 z8L8?e_8Ntyd)A0u1Z8}VlN|_v>3Sj9^5kji{EG!_)f{syelBH3jdHnTiL~JB?esB@ z>S&|GG9$yn;X@;rM(#JGW?Dssw(LJ{!PHn6v#xMrN$xx)l#0%gudQy$-2fjGB)m_X z&i79ck~v9bBo)x>=b%;}f{!A)d2yPlVRc>yS6`?UH?_%j~t{;k>y2^|;h7l@M58l@K?YriNxy zupvltZLl~vqo&ha7qmz>fqkt7+S!Y2=pDc4p{yey%JI&eNxRkoMT%SlZM*6$;nwa+5pv*gkr z`mx2i^Jiwqx4+`im%aaY;a$(0kg@L!aI>BB*ebMVABJr^-%JiP`N6tc9Tm56HWt@T z$s><-8N3w>P?G}G+v=dM&q|~M#bTDEfLMT6fKE&vUUov1sE1KNWe^corrQS7ezQMq zPc(qa>j}u}ehtXjY2g{T1G5=Sl>~>wZaRwyy+EMX!AS?5$_*qxM8$L|h3KUJ2_||0 zM2`h!om!?4EOPKr5$K$h$pR=7#HfkrjNVH3l#dQIxdkk^dS$92H^`3b-E?Ff)A3-% zX&u{|mxeO_)|>W-L(*PEN;x4e#^Z``GAS(pJsB zba??uxt{ejVW(i}`MQM6s{(?bluW#ouv&BiJO&W^i%yGGckc0{b zE9r=G62u_pEHo|~$iweeD22>%k5P0>Q0JBo0YMyI44?tnks()?wN2psd>$pBb{FLz zMg0j&Mc>+o5`Z6F$$$f9 zgaFp5RUbZk?LSTTBQ+Hm$;A;?fiE2p3FrhrArt`PN@EhoE2R{p0Dd~XJU!t2qa3-pg1;#xnfK&N(bE0$-C}=v)Z^D^m4^W&vkqZJ97pm;Iv!aYTNAU z>%Ms7$9@~$^}LW4zH`9M_NgZZaQW2T&>DXO%+1bAj9_7u476=;LdBSFD5#7^D#&*+ z3%UU17yvcqintZ@rO;|)qN8%{&QgWU832}Jg>u-D7rrpuSZ|)l3Sn3}8QhgwFPMFS zIj(*->qhSNgQ5ZhrH4*hX#n&>xhjENAZLFap%7U@;g&EH6Br<`5)l!>DjoLn zt?{*6Uz}`_?}^tbfOzPvfJPfi$Xf1s^12d%7?m}aP5@gfdZ;g*s+@0NJzYi%PCIM9 z{uMFZZm*qywgs!J>&anM!NhnM`s)D;o$IqB8fujDVmXY#FEEHn8}wMNgl;(&O|iuu zN@oHFIL)&I%sxHu1Y@C9V`1kj6AJ`QWyA%TK^%4BY;%s1Ww=B3Jk7mV>7%&vqy(gw zedN%`iQajS-22Fv{{vj}<#)gV`^NoH+II(Vvwir!GjQXMr(t2+E1-wvlz=o$GhbM~ z1D%Q_1_fIyBN#CUjc#uF8$nqyGm!GM3qy(Kcox9GfLAcf!^pN4gn79%=d2+y|5bdp z%cAKFU_`EnBVaARx%zJ8H+C9fol$OQm%&P|PD?ujs?bDJ*hG+Wj}ns``1p>c1MkW? zdv0T;=McCrC~bDJFhv<5NF)P6SSTz~oLL;Tzz}B!8YRq(IzxK#Ei+Y6;5N{nWJoSi z1R7{o1AJN@Gz83<+oK$dnKB)Nt~atR6VHlF&w&D`{S;sst0Wii@cx%z^C8pS^ zehThv7EC8#Le0Qw5(6&t?EI1%79zV~2SAZ1o(ouzhRgf+G@`F$6q!?Rpg>Km*fDqq&U};9;u2mamCJ-*NtT<=?x5gaTsy?ZBiKiYz?9mk;3Lc% zYLx@{d?FXsE{~0~BMnE_)DFzNWSu$Cjv?3c58o$@hNoN7v`8(FKOJ^n^Yoiy0{bI+T zcid^m_BnH(?cICoPks;H*8pzK?m9k%D`q|mW0U(~e(qvD1bf2uRmnF+>n+GbE5K_} zY}70e>l?%7Kr4yK3lxkr5Db`^rqm?`1CaWG(V+&WFao$Xs=|RC3KuX1sK?-%^K=&E zx!uxE7>&N5;bosU&r*P@-H{z&0!)#@v4Ux1u4PJ0iGdbmn8?mDZXao{QKQ`mR3gPs za+@TsR=w&`l4(P6_;5Cw=#!4yBC(@RS|-ffP7xkK^=Sc{80(1>z>vbywAi|f3iOgNke3q}I|W*2s3plZ;!G?KV{sDYdgX)Eh7$>F&n&IL z1}(tSj=@COv|Hp%&Y)X-3cRPtfMuZG2`QB&0%oeaI&Q0+FaOoBHv(UDPzGkj4h$=n z=ZpZ74&kM5VaCd!2~Lme<(P7vSSIkgp8~?pl{yvTa6{iimLI#7TYqNRedLj+e)D|| z;BI0cdw3Zx>V5&{7k>gK$ERqai55U(S8<+Z*;$~qK55Hn1z?9}8UN*B2z@nxX@M|| z6unX4i$&8FizDEN%e;wlu)mw{vYmjr1!Q|X%c!&yFn=xhJ7K`}wn@5x%*HE)MWV9c zk^wg4)L;6&9(PKBRrc?qxpoL_7FYo!{Zs*++wA1p%dkHRQ7!w9y#L5wDC~;8>Un|W zpYVFluy6-O!cbrabKj!)DY>2c%upLe;=oxc_}nGo!gj7Gnb&xpY(w9JG>EtH!E~T_ zYcim4+CwnyPWO3zFo2ch99v#pMX((X>6&4I?%XLco6iXnYik?OPwSTvLt(3~Mmpr! ztT%hZMmcdqF1U0u#4yX1l__()WQ)22+`>%M%x(Q~wf{0_c=sf39E zYv(Oy#kniv{i8Gil=AE{;3jo)ZRkFA`2PMo-wE$*0C!V+`CmK^r@ne0%*?(S#>Ok9 zF?L=rd1f$NOaQeW1Vkp^hfoLO2zvYF?TmJPdDAV3@jfyD+uE(7U4dODFQkN}g%Kb( z$Iy@FSmvcyL=cHU4rOCj!5kj=7}4$npe8#20dC$^2N*&a{K&%`%1g=s?hV*Tjoos% zs4GkO7qLkW*OGGs;GrxtMoy_lwIn)?)s-q+l5Byp0LvexL*no%IuO-S$V1ecwoAvA z<7@u~1aSG8(Zc8af@=q2{_96NM;*S(bEj+{n0=Y2EU-4odvbCSfIADmkCGrP6FlN+ zdD3kA{RE^Nef$^t0m%pT;T%UCG7BD}%y4F9okGhho_*MZ$}OVf%9-(qU(Z!#4|x|N zYpKy`9S!LSyrXNS8ZDoSa}_(zigxWR@H$b1nMHek=sbso@q;IljyU2(QXrmGLIG(M z06gF&U~aWIet+vMoO$N>T{k@Py8i*s1N+_pZl3A)=HbJzmONy$^S45$m!EzYxS0;KpO6o9cIWDaUngCC9}1LqgO*TGMK(t;YZruuhh)`*rV3LCR_z3z~mzamOLyL86&bUl;jwqGomBgU_8{C2W`1 zRVP!yS(>^$$UgG#91|QP58s0VpIpMih#ABJ>AOQ7M$$Uw8aYbB&=-?WmoP077zREE zb1B4wZs%kx?2i7MlMOV`P?;lxspIa)MJ_=JJPZepyM+Q)0IE+qNnl_Q8bX4jJZJNZtg^;Q$R4T%BgcwKRFY0U^Iv9wb9kig7D*0Q`J z4lAdff?%R_G_-+Kio<=fCM%->m0ox~oj{Vo6hT|Ilk4hvA6&Uruay@$3-o-jqc5<*T2#?;XFn{0H~J^T570fSc{Wks-Wj`S#e7#<(oLJERUZu-j~hpRFW_UIx)Bfr1HJ;B1}x1kl+o5?1rPO@U1xr?Ko~}r zkDiYK)=^oaHlBylHbtFa+H3bkK#~8~$+956l!3vQgX+Pv>_FdJkq4&C7=3LNz>HL< zjiIKMTgHrxnVD46Lb*a@fLyv!#^0<*=V5b(9dxF723|QXcc!YtDiHH2JL*_~88lVw zD#w-ciUQ)!0JU5tUOxb3>H!0dGaZ{8vpC2ApHEFPhybDqQ!P79Kn4N!{I6n-v!9sk z%K942jEyDcn!t2518yH@ZjjdfvmVjO1*9&8LDDodsIN{K{i zlh&#QSAfz;5fV>JK+V;`M26ty6gWg-U=sBK;>_aTB!;(gqP2RCNPx1R{JAO`u@`16 zEH-cJXglRxc|W);V(e~}N4*nWfOEIPv4@X;@(Z8;+&_CKeDHZuEBAW`xY<7bzzV$V zyw5=2y&M*{EY_V*@{fTm2VZ)T7c9WSCVxlKwDiO^rdb0<{%W0P#kCE^IW+>}b_NJL z#786&X2vhAI#I$VZ8pnl49tN}@@P*$I|yOwCLUCqC+@5$ZYW$*F@p_2xlk>RxdmMw zbz4bZAbuKn9pH!uFvE4acUs2Ll63@xND6z1W_~tFdSD=w(Lo?dW612XFmYktk|tZ} zb;zKS2f9P-4D{wOpn!s*&K~QyuuqgL8hHKU5EDs5I;IlN2KpR0Sy!BAdhK1g!_4X` zaVh~_r&CL-Ff%y@ovH<=mRE2_h{)w9F+LazxC{|&a|~{OeUOIIEf^c?KsWvEwYxAi z*+a+La4?{DGOLYpe-IZbi&M+3yQmQc-h?fX#>yQHI1O)8N)wCHtJ4NJ?i`sSbJvK> zRBPViclr&JVjKY|j)*k7%ok~)VwUZIftHwV+qJ-V(}!LH+jACRZF%FqKmEP;|H50~ zR~~%_JU{Gv3%J?t_|i$Zc=w;ccOi_DSxIRJiWk}K&Lu=R5nyH z*-GQFO01NQ6n4t>el=ku5C}UEW~w|Er1oo6XQ8>CEjFUeb5O_p$>ux)dSQ0o4&6vANZv@eb2dc`93 z6yPnu?RdrlkreFHQ7*Alb(DaexdMpx$t)2y;7a@XV`omI4!i%Hov^gJ4o6O$fQ|Jb zNcNdTZy>uJL@wVrNC4f2POA;Awr7WyQ{6QKajvnOr|=m{F(8o{45AVfW$@!`QkW=f zxQ>VVa$lV{QUoYlRZ#XN8_Y2y#m~rKS@ZRv;Ed%K0eCxcOVU1CF#&5Ub=Fmd)9tj= z-^}X$cw)8N<^e9+1;-ye^62Ate({&Cz5gfw@WAs3Y_olT05{tm_udcJ?|1|zrfyCD zrZja|SW$kOhp~VS)-9)7HToJ9kQB4pLY7(_ARLL`OYUexL`Zbb`}pkeF!exy%VOBhyC!$Gnm4gL%n2*dK^PU(qz|@6Ky?DI+>QY z6YzA}Ep|9DGmti0{P=Ofr=`~Cv%frCT1Y4#wTUOxnriRt#bJq0>>qwpo< z7Zyn@1Fx$gCv47m#hCdjxcUONvc7X8`?0{qkaU*rE8kr?rUh@Ie9^8K3rNP1b5P)v zHdtqyfR+c9DCGKRzvB2@hqWs~VoWJEl9#m=DCxHr??l*Y=fE;z zx+Z~r{|Gx$1U;1XXeuAh!itiqCMmRigj6kQ0dk%Km<6y&vH%7mhQi3n0YEI4T3kO@ zY$LBH$s2U}%6h7G3utpk>}r7Rbblhj5E#+9KYr*a%ukKOp6v_p)QOWx$2|=zYwId| z$Ve+Y$X1ruV0CQ`rH59#1MLL1olY8BCv+-F3zFagJOLxmc$=0_kN03KG2$#oP^Oya z$B<+r=PNx=bz1TNJP5;;PRDZ`E=P`d*1Li9RbVjod=B1OCmK1>a*~2)jn+HXpS{Q8 zJUQ~9mGs%nXj|z#tJE36{3O7IiPcVbmmYb~XaDT+kA3x*ul~wU{oDTvf4ld=rBW-qZDs5voZ!J z8K|@S3B*|h44ne5)GE4eL6RxB^N|AIl{!FyBLiG%V~i@FN0aysYw}}%ixHA_$Iq-eYKoPm)#{t%mNA7A>y6(#I3Jj92n{~`irwzTN z&$bdcNfk2ExaqkrbH@ejII>Qj3yXCVh)qw9!&+j{!@-aMP^QX}j-L6amSvPGU)cT% zB(+)Deak7k7PbnG*}N;y5pfvD;awDWODvffah478Y!|JxVwOVMNuO?|SKZCe0PNWc zVe9nj($}7P;M2eMk$-&pD@%X(C8z$<{qO>???2#X%QHnxU-(H_SU(P(-b-O@tXG>R z$LhK{D{RQIv0g+bVS;9x8auScpvo1DN|c0GJxd6!ZjUc@3$&=YE{ss#aKoVGZDI#g z!Asi-NLW{VmUceNZ_#MC;6e3Ndh4MyzHFPJG7rVuT+qgwmluK3kxr{M3K)z4oX*1$ zUC~kLcdDu-I4^qfsKgMVtS{G1nI)762hnx$H;&oO?qvIMc%Jhomj3hfthwCbcbpoVkKja+8hD2Yby18r4UOF`FiT;QMl~qwi8uEf>0^1mEMo6e(C zC4f!f-AU)wPOrD0n+Dju6<}d%c>2*pC-3^LPyF-GedypXJ+ks@BiFz(?MM!?47gcA%v1FY z87zQ@_T;v7ItcL5oVIZeG4BLP7!W{m#sf{KNNtr+Fkz5#4ooCLGN=UZ@UC+`0ReAJ zZPophWD9kC$)ge^lZ`JA%MV`k_854eQ=Ee3l8H0V+=B>UXGtj6nTOBXZUV6E414gY zr{Svo=VR#BiBn0pJ$(kXS-EF{L3bl*uBT70AiK?-Le;9!2{xAGfgJ4b#o@&FS7rsq zInA7ODtw~+S7ykV9ve&Cr2}hgeQcAIO4N#6{7ea0dYLE9xjG)cs!CyXe z`p^e{2LA4eKZZYkUPU2%BWuAA)*_tV{hM&#SC7C27yTN{P46kS`{YSoPe?HUtoG4Q ztRS<7K?k6h{Jx2j`StqkXM*z6aPIJq$g=q+Z-V;PI+RAy;|d1CHaR7oM`#FbFBq zASHth4ddzhOZx(|YMe#EIn0{FGKh{UoZ;XXkz znukwvor9x^VP|a@A7|-k9Dt-aMD{%pgY`wHW+29^fgxQK=}_t?06O)g z2u;P;Cj)L$X0e`ccKl^c+NJY?or%?sPr#|KJ^j#$FF*J@_kQ;N-+$xLzxg$I0oxCb z;fm$D3xE2#ufkQk{tUX^SHk4voH9JEUkjkRF8<4)%Nnoa7vBlXwWdf1ihKq~X%$%q zKr5GdK0b_qj}Gs-ZDl+Pb@CJ#82PibrN(-BKeDaRKW(?MXxDLPucKftEKOJ*)y~ZV zgQWB7{8F)``Bp}nsQ5rqTh}Yz({iniz{mB*2_>4aW9?mv&v=O;c7?T3h?jIC)IkJ2 zPhXdnwC^f8a>b8GtT?E%6?A<8k}~B@(90z=bVNP#I5K!BtiATA0BE$v;p3;FpLN@F zlWv=wU>WF6Eib1>l%$X_r0bObo;KTJ&S!N_QJqzyrfe-HZWqDi}%CQO8R`_B%H|EWCMBzBZGe~x44{sKYHW@tSwU& zupE&vH#?R7O+qghsY#+4A#+~F9>iHZnCm`pN74#8UMuj2+( z-+^Oiae}eV?hAtzN0`(&$n9w%&{mkPoYRl<9BtVJ)0$2of9`gOTc^XZ$B*6r zl|Q}rx8C(1Kk&A%JbCCte;t11spne)!?$bC9l*`@p)VhU3uZr-#Gs2{YU)Cr6+&O2 z!1QKFELT`fFrX{WG1Xx$TQtk4n}<5kI?(Cd1-}G%VLAH$%#_^NT;AwV;FhAokS)W|;iKVTM{H*+HB(3brv8?{|c= z7^FDm3JY}%#evx~g>hA~FC=TB^m)ABSnI%;*-DsMj-3rGfADjFM+&yjiM$_<3SdAb z@UN6zBlrep(cB5hbmzjHsRaVSEFs7hPwja8nWJ#|`FoO^Atc@QG)5(?B{D!$phxZ$ z0H@G7cJw5iIk|#~5E-zhX2xOrwkhyz!XLuv&arey zUz{jF4@}q*fv$v%aRfsy>>-I0fk1>K>j7ZoCAOaxU>RMN$$H~KvLJ0h7cIhBv9-=3 zsh~C#02PhYna^bfsOR|`W*uRZb72sUwu7;UXBGqwwOe37&EH#QKdngnauLAB;u7R! zuoX@mp|E;>xogKO!SZx@opzSK>=Kbero2J%g1l?IFHYYDsR~A+VZz`kN};f44J(UM zvv)`#VR%?dpb4RbxRsDI&}S+_0cXF-J*9yS>D*Z^c{;9bTj!=>DuJ@)`N+Z|5~;E(V66kN6A0jN6L6Y!oxZy$H-8nwUxfO_tbr3U_|Aj(-_ zZWM6Y(S|Za1*!qlI16NWth7dcuXwrcCy1NfY$v}t+JEHz3q^E>LF)m;Ogq5t%YwBz zmCG%%PQv=?I?5;QUIM=z z+hFIy7OabqnQhiWrAQ12@Z$ZCdJU-m;!cbmrhHq4gVP;!r9X_!-t+K(A%S})7Fo_% z?{C0F0?f=@*Efb`gp-f!0U0=gEz1U-7Ns1ICFx^wY8<+0U;dnJ(C@bUM;<)#(fdF4 z#ee;W|LN1e^5-7=xljKgeBi{p;lKbIdscgH0ej)RKj40H<$fL1pVq4n@v=+9`!MeBlYvJkCSC;C!7-uNUo;7h&tn zG$tVQ`~BqPJH&M_*PE= zOFY>@nD5X?3k*upuqf4dN7x|Z95YJ=SOzXTyRb9A$%cYdN-ylb83ZN1R<e~w3*cK7384MD_|cG%|nNbk7=n^GvjOGq|R@21$^a9BzgfjRy7hJ z2I0z)>-PF!ur-#^N-QzDxm`J~_K9bXz>6;23#%J_j7Z2%Gn_If0#7j%(7li!)n^je zo;kIQ;F|$&J^|Ln`_6&csYzmyn2p6r1OT96TGDp8@39PooIHabpiHD`26VKNUW2iA z8|(4r?6#+qQ!l3zZzNWmWs#hOkqgL7^g0?H((P901j~-R$=(=DO^ib?YqYz!!RmN- z@W_`Q`P!fT=a2p52j2V1fBuOlzxu&{wEoYRp|Nktp4)&ccHrO!+&J-RIJ$91dI)op z#14$U*7?5ybfU;11J{rpYnrhZ>)tAeaCS z{=if3;FTOQOP2nSwP0~v>3IUl3VCNw96JWrU339DxiYgobnFByudLBEO8Xmdr?#G$ zj!RitG801NTpOu%Ky9Nw-Dva?G^V(AzXOjG zgj+Bv$XaaHiF0zr@dW%QPc0$K9VGA#X13s5`(Pr;8`&|IqYkDf#$Y;i3KMfv(Au>K zgR$=L!2<`scK==X{_TJN-~RYlf93c;{Mv`$<12T=-HkKs+pr%Fz|EFxFns6>Ps59M z{6Da~whChtHzrlTqcbufm0@7YZ`)8J8aQ+;NVt@|Wnd_rWrn^ia|U2tEbD|$1O3b3h1N5SQ{Q@*^B&BCJlvY>dJ+e)=XEYq<{|bB}zsBVw-JAM8FkE z_w>A9tse^ll6*WyK#T(raBxG2?D-aemI_}Kz2{U*C7iYADkBq4pq0*2J0v4b1Otxd z^(TBHNlC-FV^n6Y7#vGI2T5y-TD6YuNj`;~Ikszc?J$2K7nbrdGwG=h3whA9nMSt#?lbp=UEN793mFJiB7|g)z1q>t9Eipx$uo- zg+03C7v^SQW_}JjTc%-H zwU!@!?8*0h;P*fDe;oMWSKjfn5C4sie-=Kw29143_QM0XVjn!X4ma%mG#ozh$uw5G z945!Nf>HsF*QIx-L@@~K70p-PI59W+!3^=8T~|O@E1YY4h6kW%yJ!tve9?G1gbFcI+5dh zqfApyS$Y()K^qZ^4N12>7el|EI&u`V$u_vSQeZ7O|2@6D3`dWigw@q`Y)dY=xNG}X zI6tx5$>gYNxt0!=Jf~XZhy8Iie;H?;|L&Urg26i$|~tJHU`P#XEZ&*tG%l)5us?6Y^ z7H)={Ga@Na$rmd(@Q?UDo5%)bz`njO+=Yi4OD#LsVW1vZfV;TI%XZPO!|c9h4r;)y z>$@806C~Tuom6 z>o30$PMtUdPaZh}M^2qd8f`!I;Urg){u!`_!SQ3K;7oF+#VjSHA^P0>G+c1*E?AhJ zPJq_Z`U5%(f;L z#Ic5(@{6tQF;;VOjRGT-V)v!T~c9)mh3OS z6~c~buR%k|=)7oYl=kL52MI1K=M$Al6YG^388R51N=!Bb_XAP_w!iJlR26oM6SYZ^vtEB21jC z{pPq+&ZCs+i5_g9pG{7$7FHiyOOC#!mBemS#}Qc5mq|8-?dFJu6Ni=`d-zL-e&Ol+ z5B<}(e&rWm5M>g7Q1-(OxY_P{U=Q4Ksz zwa))7OxKmCU9hUA$!0U*VV2!0If-RhuOKP_8ljdp43>G02$6CQU=YSyBo2C3bOgR! z-mET+n1MP1NCELGkhY0+7t(s!i6#$)%!SqxkOF3tk)jzqp(_*^iwYz~wlTmL%@o{@ zS(%YxaQ|Ug*D*yeHXVm838|Ms7&Trhx{i*gAurix+%|Tq$xt06zB@{7*a)Z3oPqs& z&w-hVNqFM$F?c2c?(*6SdibfcAaF+A_RK1r%5@d6P6Ew8cJA&SaL$fx(5u>5NlS}- zbI}~SrNZ}Pd0YUrTqVsYF*<^f>s`2iKBpYlyL0Q7q}%ooaC02(vE(SrwReZ;P$owy z#ww>a4+8=2>hk*V=`SDs|DAJc|F8e0^}qJKF8=*oupfTF6+7_dr{NDj_6Km&g~y=X z*$17@R^S(d2rox0DB}&~yL`sgBjcVt&fegwVU?22rcO2(0bXa=sUR_jh%pGM?kiv_ z@&p)G>PA3TGU08t=#0XaCE$MuqUUA?Mu`yhATwdGk-rhBwIWB-F|qbi z?9qUmFmV?+IwHtEg6_wL?m7Jn9BmMbgw7#jjzh+r=>a7YAx7B;Cptt)d40$^pZ=YM4pLZVRjbw?OcQ>45^G04-$&%oL$O_h_q{X4cV zz`1GLsj(hsZgEj}DD`dyG`&0?3cdgm;o-TBwE{YPfy(5U4hxv?+qn(4%uXYiE=*5h zv79_}@L*%Wm)DVt11NMY_9L?KGl!S|;DM)~{MBE9Uuhg--v@jC0It~Np3g(?)JLG| zUIy*f4iwMiffJw|hVr7@qzQ>=VCGh%6+r+qn}Dp*Z^1!5s=>$uJYC9J3|c@|nW-!f z1$dA3<*p-O_^vsyJfKSFMsmUNr7hgc5helo}n{j9;NP<}=AnBOJdS6&@$pnB} zif*=0<1bKWxKIFA_aSk+`7=+VBh68k3kCc~07w@Ilfu1}Tr%2YG!89Vm*WuBxuYRt zk!FYG+F>~4c5<93@yk)q-wDeG0zzym$3Z)lKB8fE%$h?<;E;G>(aIz1?^Em={Zr6K#$Y67nzI>{yy zqusr08*H1K!Ae~=T~{vw-fjn?OPjmF?etoC4dZi1q$(Q^oh64I3$t+EIXh8zAD0CLUBj#35H_q*riEyB>Rz0WDj$jB@N+=8%%<(wgHT~`Ik}68wgNoz?$4;K2 z!UDzWGB7&RDd{Dk{Y&D6O~aL|Mf>)gF=n-3(6%8%7MUVaIZ4%VYp5k)%>eE!qyrV# zR(20HhgH_Cl{m1Q4sBJ8{088HwkBsFTs;X zj;8kYDW+IDskD7gLC(|utexCgUp~3^`(J(hk^k*(xVy|i+SvEpp1**b?e4n+eB_Hy zz_t7TM;iA{C6B@tm}eP;Y1$C6$P+Fw(+ynyQGU~~F))AyP}nWMEGjX`Z>~mIwfrN< ziyzCnXT{yR`mr3dV+o+Opbf%yV*w)k-H)s*;Lb1@qv=L?rUYhjI`3H=fK<|w;CzaU zF!P1+VM#nlFE`H!8>Foae9U8Y;4pLqG(Jd{o5S;zVl8-fk=dV+y%;&NfVEuwT_l3C zod_0`ED+804Nx++sKZ!Kz`Aqm0xZnTz#~sQgUJoct7~}Q9ZNFe639iwmrt)CK`5V%WxSbz!+ueoC^`qA*@wNh9yg@ZDf#A*aGNBb*&BCfgc~ zR{)iDy7I+-H%v~KkE|=7N9#vu+^K+kEP!o*pAx*Xrb_|&c~YW{^wPJ2BmKWv`#@GfRn2_*9wRHcP$4>q1|K9(n4?<(#cY9#~ zZnguD4B$ieJOo$ny%Uy}R$ylOdQ3DgZxd&v3D|;RxSTkl%M9>BEPufc{YAS3D9I5} zmVsfaV$STdR_npCXg-u3pGU*kbw9EXY1b$tmi@T0A0S|BGh=Ouc)*&dFB?IDagh@o z_#zZ2G>el<*rApgwuum^2?rf|6ZkkinzyGKgyThKw&ijZwkw%rd?~qOA<%Yw$*9dV zEsck(FTMbtIer43eEM+GW|vXxEafriAX!>iO{_Qn%SF9&1VS#ty*0@Q(^C^1{zX!P z7W&aq1c#ADE~Ci*!#ciRItEwnWzLl2Bo2~e^lHQI#VxR~xD`RzrDwD1jlp^X+r!6C z!kIHG=`p5f7^6^f0s7QQEG4b^%<0wP(vj7Fd~oHy_a20U=D}<1`(-a2z!m$*J%{1a zJs(d`YMx)|Dwr6bDl9ku^M&yW!$tBdpetZ2(pQAK6U;Er8VQx}rZ%okl2Fzf>%gnf z#@j+L-^~GZ9~Q(%8M7deN#0jYn?W;5s2I(6Ho*DN2srauw$!;ssk2m^hS?ZUyeHsr zIHL0`a*Az9ri%)?p7matl3cy`(f;NA$Zt9_FlWasTc))sqXh>2$QfY_u*xR!whmzL zt{o^J45lpI;mp}c+WC(&KmLJ_C@gH$q$?ydwzBjVglJ*Ea&K{Q`k1F z@qjleCT%x?ZDQ-E4xd>&`S{YGEFXF59lrtpc@-M_f!GTVaI<~t-~itD>AT>ny&p(# z)PCrV?FH9%dN~Bs#IYvz7;NYmzC;c*&Q-G0Mly!foRJ44vOuP7SBI0N>KgEkW?PX5 z$8y zKAxEE$&*Wo4Guu-=W<7rH_wwruCHuh8f@N4t6jm=)FjN#OyacQl-N*;2-&n-$DJXi z)kc*}@btJt*Wx=IZ2^3xvh=~_#<3p5_8r@xGdq=p&WVzl+w^4@ul5n9{8`*xKm|so= z(WDG0G0pm!+a1~2*J`z4@9u5T+cuwizG3#%;f^g?M4HBw%!5IXDQ*R(tf~f_7#;y({;_vS2EFZ@$Vd!@XWDeSafCslLVxe zuYu^)-pm|x*j09}oI)bvyZ_` z_WU$pz283LGR#x3Ds+VKD|ivtBr&vHS)< zDX=NdF-ZW>7*>fkUuyOVA^nFe5~V@OC3kihhKVzx(5P=W(0U6Ja8tf%iMa?$Z)%h;daa_uFs z=bY^{?Ru4*qT{{J?(@&RaNF+1H|@G;$IJf8Wp7!zu5;UC?|J+^eQ4}^Y7O98`@p?@ zIRDy@!0O{4gm&-6Y0S9=e2bm)!ai6BmF%3%n)n!cg39f6O~nGh{nl2fbJ0nooEJw`cy&$&mKF?yv^sPYaFi=Roej-`3*b!0C*8{2^c1%5 z5GDw$VnP5yq${ixtHvfK*5P+q=6^72FtT7@M7 zXdPXh&Sx}~EELu$@le^UE(>xZL5>75t_?k=|pEKZ=lauUduFHF36}E1hfmhseHC8Xf=OzPg2HqU#LL>)cVZ42dv<&K+tS#v z^9tCx8E{fY~Txq-}5?y4SG8V(KzsgRYxOvK=};pm@+RoC<7}1K<$xpqkXlIy-~Q*7=vU6 ziY~8}fwbkQka;WSKq;;Y7O93V>bsFnS;C+y{=Ll|frnCmR|=Z9h6PYt(J7$n|u$?FcP>tK+V1U;+%P6@b zSDr~B7mI19v&eIjc@EWbd0O!-uT&}p1m7LYVG{Tp^^cu^!-tN+k;HB{@{GF!>R1Np`RT6@lLPH!`u!wk zzrE_FD`DR`yZC1Db18q3>9*K!;L5X^|4k&OeB{JaCl5aT;m^MBi~lx0Is3WSJ@C49 zXzV+-hT(oaJ8*X&K6uyH;KuVml(e%M=uKXbSVFrnLK((Kc-FFy%6Mau1Qg^9YsOuP zuTGepFkcU~$tRupX93e0PzCv|uv9YDJ3zF>S}2>vUmT1XD0C8&2qHxVWOf?|REq$U7!p9``Up89fyyoNJrNm!+e%r9GPZC!5_Y=LT@k_S7Xzz>nynbQ-_>FJb z^@hW*n7Z-kJ0E#(<6!#^tO49_#y8M;EiTjucaR4;QS((Kz{sw)<9394SdmJq2%%F{%p1ynsJ)N5g=Az0|cTx$)wa% z@K$dW9aBQOaGTtYK-w+q&=OaxvvsLMiS*j2F}NIN#^o5JDK-NlKd7@z+FEKgMAH$W zGcW6v31n8+R$+N*6+%B0XB|4LyzT?b8D@4Hs7^!6x1pQBsg>jelG`i31x~MkbfnTx zdYQ~r{)N(cN&Bd+Q4=IYW6#SclSaIE$99mj=R)XIb`fhV0kQGZ zE6Z^B=ozf>aKYXkaO?F~5H~89|B1yti?{v!!fOt_b=%92|JH-=X_6k}N12QGk+yud^Wfp#WrF$5&9Np8VGts(aS7JEG@C zsF#M6zXGxns|#RGq~NgXwk07U|5!0PFx(QGMet(pIzkiIr`2||dK(EmolH5CB?3n^ z7BI-nQD_r5i8u(Xky6{8)&Q1B297=eA^8-Yi_-?>A$tOrT>llB?Yd;dl>q@YjTmN3 zC?*jLc|ykQC~GIM%?w!(Rr{_;Q5(UasAf_Jr^iqxYwjH~@DR)O;Ut3^B#0t#LOrUN%m6Ia!1;`Ax z%~FCBM(YdPbqur>gKhp>@n6TE^Ihq-x|6%-_s(Cv=gnKr+i}ZZ8Gp@S{tM#|9)P=> z$cAsh8o>Ql?IWK*1pBW1LzwIzN$<)v(CbbX=TbSOXz3#Qp|VJ##9x z$SHD1g3~TVoaQIT+xi4f?Y75oDpX!w*;cv&sWm|b#7lM=$r`{@!bj{7T{O`r-05jP z3y_AqW6K;|aPAK1CaoDMY&!Po#A+XT>M)#0a!5|y#Zrq{!OdZzn&T&zlPW`n{im&crt8cF(7`$w94*qnPNq z7@R&dQUic$yb9Q0fKyCp6|*c!nU$5CtF2m_bpqsbEOhHEbM?Q>5_NGPc*%~Tq2rj_ zNQB5U>x)sM7yz8rH=W1~<_O}c2LWWqB@lz|L1c|AV&ME~%n&sWSAdRVW*vi?NFYSc zD%{oD>MEt=%Jp_~RZ1!@-5-bS5uITPsB$IGsxk${fy2ANsqC%M795R2gPhW7s>IIi z1P0dv{B(`-=b5Pq*q@wS^IK*T(;k3J%=FCh6Y$hC$KdesQ^|)q#0)Y7@a$JjI`pZf z6*zwE46Lthz%^Iwhifl6A3F#FO?KjDCRidF#O+fAXF1&P|`N#>g7L{Z8ydpMM-~y7rIZ%n6^E z?xo3R5vk$1CAns`WakJHiBD0Th*$`AW!FFza($l+ZZ? z&fcsug7CI>LoC|}$mO-M45KTKA(?93I@wT*Y>s#+FE41aM2$I`m}3Pm=Zrw% zN*EaKo>@0%xM384qv7~^(mV6KUc*3OO#O(=YeAQb`oBD};(($Ba@bb_DvBB?T-LK} zAj*+5y1K+2yJ$uodV9zjmw)mR>U}9+{;^IQE;;8M*tugXMOh@xdF{*!Jn_^~cshr$ zB|yz#U-a07k^^levG;S6gYD)QT?7-oE&(a(w~ixdBzlIyR-9v1RoH7w zSgwGtC-C*=nQ$YYvs1C#?e@-}zhwH7#n~R8HYPv4FIZDcFUjS;CTGCEtPBXNJ0Aq;N5(!)IoQy#E~9<+&4( zkS`S)VnH=3rbBIyo*FDQcI%ATD^NQO%ko$oVPm6@$p9KwCfCiC8o3d{miCqFB)9}n zEh!Z5O7WP;tlzU7fZahHvhbl@0Z4gBkjuys6CxduN%uicy*=Bv!QP$QFtH*p+eiTW z_)|x40?X5@%UI80$Z6)owC{XgCr_V&)2CLGJD~%&-*hF;0D-55v9^ZURvddkqX?kP3^tKtzRc4g1nr|&b%@rmru57I&4Nw@b zWl_Fp!ni?IST1wi1 z6%hDZY5OWC18@;>2T+dZxO3o+RJ333Wkvmhz_f0E^$;qaFTj!_Yvh()9 z!psy_56j_RdGgA~o<0o6&n#hb!%(DzwC_BJ+EQ|!ojh>{uis0rzZ~}MSj4H(oy6Lr zred6AUUXbWP;9iPn^MUQf)XAk%vWY}isn&K*}*)Md~MtFy_xxIw!dQUMZ0f%>-y_X zT)%PK!|y)%?nd8bbI{m#*YdmlPk!+=X>9oaPA=mc(+g73u-@~ipFs`TS_@Pw#fP{x z@{;6-n4KH8MsEJgLHU>jk&`2G;zUlG7;+8Y0kh?ynIKc^U$})oUO&D&<<21SEK@YUo)F*bNf9|adXd3wMu0IPF?_>awj_NFIWJ; z|F=Z%jWWwHjT}S{$k$?HwU2r%h~o}pbPGF2mYma$!w~;v=NdZ7vV+Wd4f~R4ikyIf z*}N!5aEl#j%o1(k9sNS_$(}F{z$JUmfs2x(48cA*unrwM z2@gK;3>-Oe0w=2!aCRJXySB0cCr&KE#>zTebly4e>RYZ#elK$D`5ckZ5vLeC%=DS! zL*`*kQB;}PMrYnnVZ-{XhHYt7LzFlN9GvsO zJU}&c9EkutgeRbvnh6rYK>#XH9B8__bdB?HTT*gCz>lxD)BQRMs~Xa>3a2!usoMjT*-Esv5 zM6;C(U%|6eGV^%RNqaC4125|I+Lz4UFnjLe?O#0e@&09BoBiVZUf?Am8^HZu*@r)W z3U0XcqtJ&hr#I!+cyE@p4_L`YohqpyX6-b&aXxYM1PE%<+N~sq5udltYr4SASACzfzFx)Fh z9frVzgBJci*w}#n#?Sz3DcR^iBX=oFD>LAHWKYouu67ot|8dSZ$egyXgr)USXzbqAAK^p15Uu|dIH-4#|8tXaraZ3mzP#x zDS_=oZwy{}^HoW=oxyFruj-j((Tt8z(-jH95%5a!`|K#Iv}Y)QTLWM7_<(t=%=M|8 zlatI7<3VeFe9MlP?0Vg0S6^}An@-+z?{7Z#2gl$AY7O9iFD<7A|LMmL!gUwifoV=t zQ`Z1WpV2T|0b0X+1%PFSiEL5=vIfvR+!yoqciz8aIY7e6WSJaHom!?Him#(@n=ilz zq+Pa{tx+0p&PJoySBV@@%@=nO6=o%Htm0${FYN^h`ik{#B#y+sa$7S?MzC~QJ;~L* z`m_%YMROX0RWMFd2+H7~_v@?;wkvtb!$+`oO(u-a$t%RWI zHf2K1nelPB;N0!7IG;nn9Bd>R^3(&>$Z9O ztlL&1MYWjKO7@t@Qlj7D$?#wAN=mPQCOXIX8L=R29w&2~%y0IGSa+;RG)$}II{RlY zpWnOVmH+en|8(ZXci(>BJK>!#IBmB9-0z2dmM}} zO&n{yOc=358U!S)?}7naIlhD9QDT}CjRTGw=|JL8qec->JuCv@ zDnLCRRe;I}44#>(H%p`JOTw=JO025DykWcI@5!YSbEs55Imw2xlzjBc^aIyvp!2~@ zvLQ(aIed%?%}_hNIOSYahN~K?Ie!2%-xvTW>_*4M*g+#W!2HY0+etduwsju%pR*Hh zMNT`u|Iw$Dlk6xgFR$P^$i2?f17#^8#}Vi7uPm2bdf{HU@$!qXKuyb6r4WrqBJgK# z9A<+2vdnQOtd26dxO~lQ)WT*a=cKZO+$X(ga#_go^P2n(?Zxqh>1*fTG~HR<`I_aM zKmWUj-+dZhK-K{6_sb3*jPTw+`y^a@@tui@368(##IxpEoC3yYK>p_7HOufuV-M*juiAe3_UZXo-G21CN6vft%7-V<{eIg=KJz5pdhH*< znWYoyZOb!DOqUP$Q)fX}Is0<$C7xu`oiA`UsUWRs}D< zE*WgIe9_+sR75<2)gW{TFRUJ?C=VR|#pM-omR-kXC3XK1q{BlDV(CI|g|Kw|%n1$Z zFvPx%!`_%J;s?Z!_7PIhNq6c zAG+fgK(}`;$P?ZIe{a@}Qc>Av02P3+aTrQ(+mh1U`SHaw3cQ)WU z^E_7WtVdLZcaw)x>nr7+W=r>@wY4|3c;ogT+rHFud%v`B_Xpq;&+B414dDKu?7+bx z+9AmvM`2G7J&QIsJ7a%bn*s=v$+ZWT{d59BZ zRK>q02MBN%U9d1HhC;)rh_Nuk%Vwt>2N7q3GT#hCITX0fZC3IWX{s5_z*5P9Yu0l6 zyeqM`lEqe1b^|g+&%<&FA(MI4^3>${x~wH;pHp6=oG)H3uVfAPnwvXh2cD-8u&jM* zrW_}VIF$-0+LpjJFmTiUy#TMXM9*=*z)=X;iFrOFatgK*2yU65g+2LR`P@Ga;o--h zhGQpBQjG+eoRd3;yrWzoeIw6GkvhvOF5U+>C*5|u+r}bwu48oDmN?2pKJY9j_yV?$ zmrIBkWP*6cqG#$314-g@QYi}&t2XaB4I z?CMYcF8uKlJWs6w+#j^P_cN<-$DJRCYcKk80?Yl0?QSQ^L?KH>Vn}x3c`$bFInYVK znnQ$ODf!?|ol2W^V0Lx}e6It848)TOc*n*;XPH39Nt^bE%gnB2_FyzaLxh&P(YM8F zvZOVNqRnwV~3n8vAEpvL@pbd zw;3Pr!mgyhb~-Iw_SiFru$cIIPSB7}P<^8mbK6g{P-eJWx6Hz8UUCD>qz*RED&f^Z zCTzB4vdLUwx!~#mEYgBxsR%31^KSSdZ&ja zbM@h%nQM*SQFe|wngt@mObbZQ^-z>i9LZ<70c2`)&*d0}4by~^5+dfJXrQu(h@Sa8 zFBuNC*Vi!GfZkovP-)L7Rb+OKk##g@kH=|kD#RPnXDM3@R6YQRHInD076mv>a;Vsu zCdad*Z^xY!ww6$1Cy|{8aeRuCEblmNmnDY5`Vc14 z{d@IGu7kw{y5190)~a7E2HTd2Mi3oW!oDQYA-B0!`HM#~!fN$?M+3a(`P`)6)yzrj zaI>s9e4XvVJWrC@nC@l!yxIMW^K&o$>CS8K`*-*K-Xrilvj%XVD|X;OgpYk{30`!; zM`3;CqX`&qhVIxL2-;-_%$}Wz-A+I+y;L)u4lE^YHuSUeEDcGMhkHG}K;sFFClb5e zSXqVPnKNm)HU`y17hIbX12i^MszEsuqp4uaFQ~{H;&PYNDK%P`{4Pb$Y>D%X^;VqQ z3}Ov>sg@VL+!bi<8S2RaIL^R{OyQXXwUVE)iy*nYyoPg*VL=#Q>gZyNauIQ0c8y@m z%r-lkn4yXjOkx>C&9xdXv2p$g+^O*IgjpU$=+J6m=Gx@XIfHCwdJ5*JC!w9L`N`!K zc;@iY})eCSgT!SyftF!a}4k_IkJFINwLo121eVmjT#YPO{pFK1Vs z&R{!CLfG0GMk%Z(AnvArKFJJO|AP~!QR8eSAZ{n{4d^rx8Nqt7ePKetU<@NbEX+s% zS=>koCGyM)BndLBb)f84s$@AHZ{qjb&>wfAMP?M_P{*a><(&j7d3y3rl1-LRpFu#P z=m6kp8QJtjr(t>iTg6IiBnUQ0t%U!7d+z~m$9bLye*esze)|P3fQwFm4eXs1Ns$sM znYL`%i7aK4O&n#j&w8Cr@;u&6+w$yEo6S1A8@IKi$a0abh?c}+kz%u0M2He87J;2$ z2S5^q=;hW^X8!zN`{$o?L0K#y335L2;G8pO`ki^_{ok)~14`aLJI^Fyfmo_&yEc~_ zB1&$Mbm9PvI2n)E6=gE71G8qM;k4UfsJQctX}P=i9dIL%HWk;&f;2oIoq^3D@i(VA zpLOyHaNdUXPA zkPt2x{w{xr5O|NaoDX>n49hz#Z;g#_SbEhjPhYw9tIz-E7r#U~^T)rHfcrtU`ySd0 zfBnNd;EMBJa5vamCt6Ozz@SMMFQUw<7N*X+8xCcKxt>HR%+8Z@sMn}LJ>eM59)^ca z%|hlFZ$w&RlWMJIs?XBR7qA<>X}yO!lo}v^FF2a=d&#FZc!!wuL6cvR>Bh1owWk4F z0A`MIi2SAy5V2%p-8qW}9aEg1nt^#dPLT@FaTw{dIrFMMpNfMcKRK056MbWqy61;;1JBt%t4Q`+(h>Uc^Jt) zQ)_m|(3dY;0-w6*94A9Gsp~Jc2{KgEHp-o0RP#2<oCu z0H9FLa{)y?iupf0A5ShL1Ymo#RfTSY@Pp3p{;2U#b$DX!l25-j^}wF9U;M=Lx4`jV zb*u#354!#J51)rKPQK6GXpWxt&N3@kL`~;-!4!gFEY{*K&?B7=SPTQ3cTCp-Yvx#B z)v??GcavJjth#O*VAxT+O|=HVzyfv7vCNT|lC;4wMywSZD{==r>a?(pk@G;T+db30lNveoKy5um!1R57L8I(ib@i3PqkPofJI?# z1jt7x`Zo+S%i`c*!bpTDc!);w_YIw?rjPahH0;$sz)$@h-h3T0B4NM|fEO#k4c8j2 zwTmtvjOOS6;F+&Ibi6a&5^#?PyZ@1c@Yxf;2Yb5}yMFB@)mAgAx*M?SZnUbqxiBni z4)s7xfJ{l>?q6#AP-JW=r_I( zy-SP0f*M7-8@eK3lbGBCqv4$~FW@5;qJS*N*7shJC}h!X@w;1p-920ujg3ORUU7~l z)IK|;^D-mN6AS2mMh%pTxT_<}QgQ)n%&`pnSu%(NG>Q6RY7OL%ll=DxG~Jh@8{_~K zqw!~L9O*t|A@QNs0HqzzOwYiS)7X0`6-W#;ojGCCoX=vN%#e{&@6z)y-gXs@WGbyQM`5+AW3IWuA4glDfYBaEb0f%PaWI6=Phs?FGoGE@U z^yDkf8;?0>#win5>>PXw);wB!_;{{3Rs!zvVz+I|;M7Hr+2w1$P+7WUteLR4y=u6* z;k0v}p|b_Bc*}enth)(QHw=#))2bRn?2t0hG>NU(brSKsyP4fkz2!7QK;X`Vs7RDS zf!P>}d@%Ams}V6FDuQ1<dw@CI`7loMh}nvQ8GkeQUww zk_p(pa}O2WrpPuM`++?(N&!M`U4%NU#GRU$QO5{ahD~$A<-KfxOxMI7ba{i|fA{QH z3e)I*K%hUPlrTInK;;tK-8M`enI_GdPH3u3Qe+ItfJ>$O$GK;o4CkMAA~YPUuV68C z_dtxaojE-@G}cx|B5@zUs!Rj{z=qnb&eyM}n!fia_^lrZ`@ve}ss8!(L1u#Kg_Rh{ z3++SELOH@+)~1#uLn}r;IXT-p@Yy#$`TSqZ-!c!!p_PDpJlO?n9Yt*{%1%Dv@`jTH zFwPYlvYjffY(t z0~y&>0>m|16INd8sA}MlSJegtQS_z@z;j^?P2f?|Me^ zEH=Vn0X@`;Tg?_}uGrcKHD_vINqHw3rxMFLtT19L1$EZ0Tn1O3ce-Q7O(~`xa~N2} zk1ZcltHr~8ja#AEQ2@RQuCnM+tsi8M`s16-do&QXN0~PS(!vwG@5iifdp20Hc1md_ zFnIpTj}OkKoefW3`pEI9>6U8EkIr| zOvMIawFbDYP>f;EHF{X!I%gdtN6kE?wmJMTGNM0FKQ)ZPkh;7BO{d#lc0Me1@(F6b zRriogB>h-gM=-1P>A9i&WAbn?uWvw~t}B0=e#{GB1qN*M`NLBcT0fwgzIn3#d5*Gx zJSdOqVDrq^G9csMw;olRXD+&Ya>k5b`0UyD-vD=X;5f1paE~{;;xh-c-rPy%gjE;D zNo1Pn!M7aL-@^jc7_mTwY`O$Osk`|HoCB@meotd0zgTlYhTfW{i~X`3JMK|$uLuU~ z2{asA>RG8tYZx%`H)Mrwv&4QA0UNw0IKoK47l0gcc%vr*w$|js??@;w>#nThDgdH} zS*uiG&B_%p0NK+_;Sor=Fj_s+r;cQ1YA4^vrewTCYBi9MeDUDPta2^lXAy(_xJhu zMQ6b}$8eDuMi*vk)*`-M9&W6+lDQ{O>+2Lyjc`TaCpvavenefWV_?_*Kn= zqInZ%n91iWEFoD&7L(*sT`%#aOYK^J$!TX*AD>UD}^MF-9-rnz<) zjOhaQjV;-;-|M0@(RDYz(;=~gteac~2BoUu2Cs?6o65HHFfRr-EM^lK4gvFt2EY*k zso|kK-rE%c@F;MPW4Xfdkx@APq;>H8%Uj{V;Una^=lTsC&cqBk<+=uzz5PJpW>i~@ zhV?9Za8!hmGLft)t5c2{qR)ggk&m(flcy7#pzwL_NCR0m_EIN@uGO5xT5&Q>2ineg znMvtPS|ZYVF1ee}N*}fjr>rI2wng!_QppTccw_?NMpK5eFi;OeA*!f)~cU)+L0>8us{8 zHkbe_Yq=oVUq(WotT@b#R0dC17efv(2#Xwco9j>}Sj zJc7);lMUMFKtpK(8!EclZKDn?$CMfdNGfP|MOvT&=V?{j1`fc2`_{E@_(2y|fi(XXm(B zxYt)fZeV3t%x*cVfGIas(gM*{Rm-&MT$5-B(9kxJcaxJj)oE!z^CCLhu|oHr9d{l)t0Tp0T#D8y=X$ zLN~$cVW5&MId%Cpjc4Y6^2t44*meWlVBrI7CEy;f77rgtS1w8H+ErI$tY$4@hBxFu zYu4THvsh0+3zB1T?mDLYRtS_)UYNz0&~`iTB&-Eg)bRowri58fUDSQuJWV&`#dKn2 zgt0IZ8nxm+S#=B<9|lIz4DzlC5B?tab#7S(IBoq}Si52p9)I?E*n8jrgbgzzWz!aX zH+RlTSoRty6}R^7qG zlCBkfJn~G~2zV=KU@R^&;>#{L9Zp`!ogbLpMp9r$08_QvDERDIZX^dAf~ygkAaI@) zoMm!8L%{PaHKeNoqDLFvhxpnrH)!GlJ-35(giqgmX7GBvJm+&cLgveCuHl+KhO3>c zaU{`78bgy4=S)5J{1acBx%qYY09y&T$E$7Imcd15?u(XAe7ZU^G~S3gF1Kbd=RSgI z2efTuux$<#OWnm4(bdqMGWxRNK|#|eWwkw0dDQ4W*5cLKI?pg9)OiH$A5E`Y=sn_{&xEp+37)B$6|fo<$4ey`&m zOx@J8SP;xpTC%AagBJfpVAZHdhwC`dxgJZ^6L=iP% z8p0F)DVr2RW<)+T%s>hD#7mzU0b1b7SlGm|;@0(vi_U|cd-uZ&uWaKafh_f-ORKJ? zH1kBwDWK$_iiDL%UT0NQQ2BsOV`^jI!sS|b!A2O_ka#%NXav7a;E9pQEk=?e@BxD( z2CN2#-GZ^}gw?|BHjm_$%02q#j={o)6W79J=bZt=15I+a#fD#06kVb#nAHked!`!~ zK@)mjx=$cEiKj+>ElEbFjiiZ5&#irT^*N$&`( z^NyW$dK^Dmuf$MuphqdRkk?Yce|@f&$+OmYm>)^_7*`m>4z-t_b0($1ZhCezOkq*= zG?Q+?yye*DZO=1gy$*~MDk3fg$s-<;b9}26Mw?@XFL^G&qG`RcchF>@ebaJhSO&Sw z0N|Mx|44!SApJxFV-K9TS9dk#gQXx;*2y6Y4gzt z00pM3dT@>}hT57psx<<63jgX!=VLiuC_pu@2UB;k;@MS~o(m_hSxGWVLdOx2vn-;T z4~Ez*D+eZsuT?q0>K~y9q$UjMf`FL{s2#0~1ITG5e z<`gE!_n37j{Qc_aNP{8>+;v$o97fe~AUlIBcec%qB=O3v*QoPARh(5bPJ6W74)~N` zZ*uY5@GG;~9(BNVubw6LS;Z&=_ljjW9gCYxeI3mDGSF7)nB9huxMukzY<+zP95{H$ zX~fb+ILkdF5j9if?PeK!RxrVU;8mhB5@Y=O$zhji8Zv+MT`bH_0T^_8{;(*3E(DG={X5bjDUjKtUr*ul)`o&C9EI5) zZF!Tg!~?KSih|E3XSP`|PYA$-+u;Kj0tOt+m&%9?L&e-B6gR5P!O4-+|NhJ;pZUXW z-`D~lAS(g)!(g92aoVOMvv&RJYZ?v+9QPuoNwJ&`3}!+t7o!f`4c%%q2yn6Z4Tdqz zVWLEq2E)Ec061q$44^y%^2;8wJtqnDdMPC*Ab?bA6;RiXrt7kH3Uu=)RHy}unsrFS z?7H_o`}foG7V8!wAL{aaLNE+=)7PJ{9In3jTo|lZ zDXOAEfXhy@q|n|xlmYa!mdupE+Ndu{p^&s-g7<(?Dr?r`RFKwL`T0pKsh&|&C7Y?Td`>o3=1I~iqkUyjnmg2+5fU?oz!Rkn3u(kdd;o|T8>DC*j z-~(bM;C>ivSa1vwgLk83H0=O6==0LaBtkaE-OgM8l z;w;wGrFsPx!X8`x#x)=T49xbxa+@6L+yFrAGj$R{Cyr*7IOGgxj@)dtXX0Nt{PJt z`3D7vk`ig*8wA@{0~+-@F{!z^d3sP;0cMcx=qcl4;G#53CKkajU3oE#4GnT%vLJOA zon|J?7$bIDfkHfOh-@@D09c*qr3ZXhG1lau$6YP?a~P@>L0}dNak@vfzI{#@5g@mwlBT% zjSoco^%8JDEVlOasrKkVWnlHPE0QFM>Z18!;hK46xmc4x(t10lUN*jgwPOR#KxYnzB>~R}&4*W4axZ7ohh>kGQYb6qZ z?t8*~%OxXI&JM$2ymCj5gy0*HQYsV83L_sH8h~p)ei5vhoS=sV78=4N2RagozcoI| zp^{4p8tN4STog0_1vyu66!4V?q&GP~+*a8Xr$Il!Dp2dRK(=@@6t;cStqqog0N`cc z!cZ`yz^g3R_JOdG^mExa{~NH*Yx~$O8fm%iy%U+nNyDpN-7>Xzf!AJzAD zGQjBAsB?5BFf%htg=y52ZWL}M&Q>257?F^;W53|6Q{em!Cvk!V>FXT&MG+;MhFqus zCV$T`nL)ot0f?#T(w1;xS_SW@GQ4Eq{M9h{!tcNIXD`6}Y!Q_9;jw@8 zuilv3@%nGgwc9=H;(&0_#jGX=s*A9m!oUDHj}J2?OpKVGhN-MajweiJ7;4qQRAe|y zH!`kNZa9$^lw9F8U9%C(3OHNDOtXXJ!U0%2!Np(<3f`h_nUnMG-Zf*i* zoB85e6?Z-+M#m{K0po+Qa#=MclfUM!nGU{a(0;-$`jXtmeyH(IDFj5QtfE1MQ6sWVw2H@8-MUYhR$^rnU z>EhhP7+7^=(Vrx6$`v$U**1Zx=rvlFQD3PrR*I{I9Bk<~2x4xHo@m~W)E18+WV>zm zS05UfSbo8p-+%6ezd8xtXDb=*hs{RoyX=~^UrfeFS~a}E-G$eP`Ol2y7Y|e6nmMYY zK;3++6=*oHtxJf~95UZdH+P_^S!T0I#+ocfpc*MYgR@mF*H<8qJIK8!S}gUZa#IdY z9dRtXBQ4b#9HRb>$bCc3DEBa^#M*5)7~)%2TQ!bWNf={No>HrhGoGw<9slNCm1BVVl*EtuFfm>M#6VYIJOh92^{hF0<^(E)QqLD#%j2R7x>&oY6*tG$v%XQNCR8(DX(>_f_jskPLf^k=7C{ zm$6*s-}`l68ytgY*20=~8>!G()niqk%>o%Ki=Ys{tE^T5n5Gkp&Gq1{@3*dDC)!wZ zWMFY~!^i_;e|oPqbrO2GZF+1VdUdsSP5b!)F^IA(-dXBf^@cdWMKKy=Q5OsAvL zf@6|+kz>(p?3-mdmUWJrQl^2f23}h5dL@31xQ; z8W~P($izD(tsJG~A}3bFk(OFyu^^&*(@L=%C=|k>myj_6R-3b2133VjAOe8phP*?t z362o;*0IrH7#wIp-2w0J{ricnTkllNKu~kQ&WCj?ma#q_a~F)5 z^jo0!$b>EGAplt3w*sg_aDbt6OpWkN`e_uR4}!6N@UgI*4&%dzM#xMRa23Fq8VC4q zayi4#A8G(%7K-4hKpcX5I8ew;E)x)o4)(zY;0h*Zzcgf#X$AJp55i>W(ArZLFE(2r z+y8^ju=#ySiYNj1!)BW{b?w<_Z|SXE@|l6r;c-m&rHm#@AH_D@863gbQDV700#;M4 zLbFoiI;`$B?{w3yMl6u!?|h%+1z;jcj7EH$|lK@x+_Wd>!pG=D5WtPe<9r)f+M zUwmnI)%3|PS023$Hf8W0TM4)yM!WJ;b6GaOd|>U$^QuWDsYe{YiDeckd<#26wCB0Q zFVM%r7PO(+5 z6Klk11)e4mMdA#ha*gQ8w|;X1^4yvRKWjLefxHIKBypJR|gx~|* zN@#GfNsTM92s@UF+`W4*r1)?GD1?&PNVQ+X;Ojo0d*%lC_<3hIIidnwP0VzqPE*osGh3Jb-|b$S$0z&D|=3S5W8RbrF^eoQ#1Ryskj7F>1A7B4Q;jmh~1nTH0v z4;s}3nzbrr!cn(jG+{tg-&TkJWYWn2cm)jaQtLqK7if7%&1zGotD0_A-A7?ChJxx_tuYQ$Q1?%ECQ*)FkH?ZM`CNZBSicijK$)~y1|9Z7cXY9;XQ!-wIahzlr4~1#?l@JL!gjJcQNhNLIAeL zgBI51Z8qyXqP4s%<9g;bVa6ja1a6HM1ZU9Y9JZkTfdZk&7AX%2?A-Hg78JCtCiK#} z6L)f!Pb`MI)3h6n8tmS)7mggBA(pGymDg+#{TJ_VcZ|r2KlgK2!jkb}`kfORSPSNM zLy@E+$09?>u-q3(H+^6W`R4)S?EZp*1=@h9H17S1Xbxio9^jvE1Ig({j@; zJ^AMo?CemZ29hxmH|s#R8?aoyVX*K_&9a-TA~zYbxh!I!rq5DqfwM08MljY0xMrfU z@;%W=>eMZG$mzQyg98MH?QWhJN86IU&hCSjC9F}q^g;$%F7D6W5H+t>T{6!lVYGCJs1ISfP7&C3jtc+6@P=-3-W?zs5alm zf&>RB;iQFYsqO#(TkIg)!pMQh zUC3PrCWoo_8CDX@s0UZ%hSbft!k~m%RqdXW1+wBr%xWuvEq>#g3>=YQq(&|V{@au_ zTh&>OxSA_U2Y}H)Ogk2l}mgle*p-sluhQMjSM5q;&|Z)!2UmX9@qp+5@b$ z8lP##2@gSXgk`B=0D*R}?VP8&pMUjZ84>p zoReDP7C4MHma>bS(I$W!wmP?cTk!)50je7wo~U)iQt)9oC^VTvl;oFDuSV)fXNz8ZfH5V0hw~In?c^?LD{DDOw&8p2y7+2 z7T0M~s{4==N-bg|1;s5h-^A(H!z05~L9Ol{I6HRkhPjzp2@?$>BBX5&=kRf&#u*z< zbh_;Y^pN0IK?W*PjZBM)GvLM|Cny*OAm}?b81SA*8-gf+>gN!g$0ExOrYU>00gx7` zXaL^cp%s{Y6LxHacX?nHve0bbI&9y=B>ZmWtg1r{56!7t1eh8}tL!ujfLK3gK{jL- zuwcKO$u-@6i9sJY48T!sV)!ysZMXmV%hzoBUAUnK$Iwc^{jl5Rt!}roWaZG><(DLt zN>qz@cw3Dm8GE+Q`FfEcYy8i(Y`*7)N!*9)(;P7{C_q4iGVR7{NRiu;qjcVYY$} z530nh1q>nqYu=qasv>d6*=n{(0vH(@fZe!v07|N-DxkqpKvm}p8KsXZ2pBYd&+_eg)Cs{> zmiG>=V0U~1Lx7|q=oaP)e)ny4OrIkx++Ss^0=Tr#?w{G7FjIM@0b5nzOy!T0s-z(E zctAFNj=12^JwVHJl)d6Ou8$3#eXz6t(cj!RSLY%=%PL3WCg743dnTbMcZ*RjMVBJu#ceNSjTL)OSNx>7IO5Cdo>`EP%ysO zqttky)dr0OSz2TUSksN$qUU8kTR(F zerb}9D%hRJ-$D+yQN+%yn$)HpZVgc7vLjQ|kddP>#{eE>D=Ugf)5bE5pSkLCShaKs zXflOn*+nMKWrT=9mHVzq%&o^c)Au<9RW$VxUiMUxm5)MS71TE420M1A^g5W8iArxm@KeBG9h6#Sc6pc?pf z+P+D2!VMIFTIcDnr{F&;iWW45e1EfWS^)H5VL|F{RX`mtN(>k5Se6-d83a@xN|xmk z0==hvz*_Vs3?<9-feE?eErlG6-N>#oJ}{9UPOG1M?##Q7RePQia6cku>&f=y{IjlV z4i8Tth@zHTbq*gSNi}!TO*vNALBQ?u@U82>qlv?L$^A#xI@RH3lmspS6lPWfmDNPs zMXAAuI5B%j%xvE3g z>$oZSIv}*)SuShzEO^J6XVwAp?b#@<)t1aYboimK!VRy%F|ZPFKPvX@%LnH!yC}^j zm;Bs#y&hvh8+2YF%k5EP$dr>I=D8IQ7S7I`b~;e2a?n0Dd~}Qh<99i>m33Q;r9rU8 zqBg0?*&Z@oZ9#73My}-il9{c5nTCBCV!t5wvGMI~=$jH0i!FAlFyM4olpClFq&Q=A zUCQu`*2o2cIdRUZoPo!Lkp;c^u3Jyn!yU3zBThMV!bPH&X6|9Ma`_VY<*P1r+i$Q` zV2sEUn%rQd+M-4#SOH!+4v&EWSeoGb0?<_pe$)9)urB&J0Ai1s@}bbzEZi3OhZXee zyFLOS0{`^N&rPj6_lh&If)ZAnq{$tMe=s z;LU8lEd^H%9V=8Hv%xYZKOQXRRIdylernhA|8f3X55h692ul0t*ekofe`NcPXXmX0 zPWMWIyElw98nDy>*dnK6nnsm|wzk)X`Pq4xciJuSv?PY1W*utM9v!dKHgLiKUc(%t z&WtYeASo=1uIYeH8BPZVgNL={GUvo|OnYp27)D2jD7irW zFSH4t{lyxv5+_Q%2iA~DOmN4Jt#Z0OP1_X-!30HaV(y!k_AFHm`_z>e!RYWHWHL@R z67H3VGcxiFT2o&mnGbRx^SEdG7-a~k5U^Xb@ZAP~R~t+txxxm^X8{-+)i`n%96H28 za8xF&Ot2>asKfC7eaHf~NFgvL*H@*L9!;a}4JHWb3VEgd6XeC9;vnE9l;qjU;2!{r#y|oI;995Y>3LQ6h<$eSOR@x zi+9UP!2KxMQ!i|3Kl9QzrVdZd&mn^q{ju)YZlhI$MT0Gf23qc-=1eFA+(YvniWq3P zi+sS{08OU>r&y2%IjZ5hux)p7Wmy0Q`J- zL`WCaL1v&BS{1A-ETO1R886vn`FskfJ|e>A^MmQz2Pgut);j3fq9aQgG5*#K^i$0e zQy@))ebZrokRDxdav{rge^(O4@tVY3as=F1UU+P=^m$X(n+d35H<6x9qgRgswIjgV z4FDLyxWmh)oo;9P)k9A}@p1C5St%)elx*{63umADLTAyUOU9OruT7-B0*5Z)b!Xv- zyGZ9T5kfA&j=KRcGz(jKQ_lrVBydivt~fHR6rZVB)NUis)ieVQ@7RiExd0^xcCzKQ zY$IWIs@X=sLvTr;m0~pvz_BN8`md$?3-3j2iiu#&;bRQ4oF1&n2E3oK#K;P<=Ji-p zSSM$P#l&0**qzLB;t6Zu)0dr3%Mr&}&1aJ^d%|Kb{Cv1IkdA_`h>*UQvEF}E*BOzr&)rBMd(D6zk?t4Xh<1qyJ?{PYPcC5FJ7Eevq$znvFqEf z?0o4fe=&92EF1$X0r#V38y}kMeD<2CIX?U=gXk2C30|msFUbS$X+KRVzw zp<*)#DsdvMc(BBy3?WGywJZk^2?34_uwe5zSTMP>4DkZ;(6EXOzm0hBt$=RqwMW)U zHOxuD+24zD(>7{#$9Ss*x|U*r6`X-Un95Z8+yRQAV5gno2ZHuCi=ZAyK z!^opL(t>S}oB#{A=j8}p#^%84lOjy+`Sw;oU!Z^>=@D z>er81nr{iXA4OX__FA%Z@^6hzE*ZzT+zN$vCCoM*N_CwcHst`wqi1UeN@9NBLQOLyEA}*a|BvGF|6!G8Ct;3xLANW z62KCu=6g58nB6KBpTQd!Yya}DF!*80Ez2m@yYDCi48;Z$37#vQTbP}l-F5iLp?`My z$1XTy)x@IlS|#@JyQ(NAK0kbxeg9ECrL z0r#V54?RBLz3_}(@d;}`J6NwK7~_gsCuN^uFEIyH`yHUBZPCGK*p)!bF}#X+-;qUN z5pk@gixCPc8z@M!I%|mSQqqHs#QDWC0kgg=PhbEoHm)fX;#dc@+n(0hgANWEXEE~*6 zi<>^Stn4=cW<}I6mNo=@J_E&JzdF*wX{s-0&?gzl_YjyNNW=Bf3R$qefE`1WJK)r8 zmdD!aE@g7z1ggWrhd^4~uHRqLi?LLr`{UWE&emVt@(;fa?}3$o`w_MD)RhN16N|4{ zF*&&swcM%(?i+4`IOTwLj>Mso9W zTXO}+9F&>0=4?gR<4YmpJT~zmVmt*XYJs4W+Vu$7TO-x~EYzDd>KNSXrk(`qe2hy9 z@cfxVz$kK|+dFjN@K+Cv9QpD$fBU!7(Gxao8>|kVux|CTv#5lm)VHNQq9g}fkPIRT zM?-Nz$*J*YBLKR5M`WgGp%hSHn7W)7@Q_VurNe1AVuad*U zx@_O{0Ohjq9dd^1Q+RCyM>;H)Aq`vahgWYKOw8vI18#`7Pd(-&d~ubM$tsbaucqEg~RHe8?tvY zOngX*T~=)#>M40vK&&)UN0%jFOKk4BkK~>4C@*3|pG7KQ_^^Juz_4Vhv93#f)r{7k zbzoSjkfU#Qc8_wPUSkAHl}e|$bXRWCjL{UgosllPx- z^15FbXg07w8b=>s7YHJ!d;ko;p(8HxSe74~qMquo01FtZ$2|o(VZeS~L5?t@K$$9p ztFi&Z72xqn4FGxdELo=qM*{`+sQaS3uAyLIXqw6nV4+yQ7IN^_r~xgiqqPmFP)$~h zHYgOhu~4W6M$a0P188^*UPBh)D6Fv%>dYCWb9)ZIw)sa}|Cc|VzF`Nv2UY^^N7?Rv zu-p6Wr>1KoL!YTP8%a|l7Ld6i-^D&;b8a|3hgvQcuSq$^b=a|71Y3-7=(&rz<9^3$ z8o?Ihagov0O5hgh!c7lnd}z8DKYcH7rc1}<8qCMerB(nIj2o2p)f77#)GiG?TpD8nMX2@a!?49_qZH@vi~kj(F1i9EC4wO zD!|!bg+@Wk6t`2@t}Xr+496L`#X05Ubp<&6=K$=&N?;*_4eJ_smTdEQUIo@HV7#Q` z>V9W^`|h6%{GM^_EjA%Zr{`w7hh}#i*uLk+gRkxWKhJ#Ob3can$V$Nds9SAxYr16Y zs6kaawM-%az1>7_s1-XZ57QJ-Xb5jcwH_IY1Z?hK8j^ zhTS0b6RbuBup>?NQ+1d{3LGYPB3r9{%&bTf3@TRWFl(e5+pEz6+_(|<%?eA3D=}rr zwXycE6tm{85g^ip6GM6yW@hHUws+Ue|N7)jUztDJse19njop#v>Zez%T6O-ar4uL6 zNEHGZ!5CjFf>VPdUlx)fF!M4<&c;HZ?SF}R1{biiFpU=iR%-*Nm^~UhwgF)FG3t;l z_k*nI+aCo*BNNm?rQk?mUIMlNP)P0dQ3NtQRfY?Y7o7>%ZMbZI!5VF*=^42mw}go4 zcenrhUfi?q>HD7jpI&)=`+vCWz8`<>n=d_l-LLKVms{aIv=VSX>h{!AUHI5}TjMn= zKR?`RRO(UWTh35Y1F~GF=}yheaW)T@YP865tG=x|-V<%da#Kly$cW|g#g)oUz)a6@ z9bI8n%yuEi1jy5BkrC#_XY_vOuE6-QB0#6%Wh7zXzQ-}G-}>P%Z?ocLkiph~JA@90 ziwQwOHjX73jvP61?~%EK|KiCzzOwhHov!Dff2iG@IQiK%%a{GaqT!(-#y<{ei$ykI zQ6cCK%>VGQ+CWbYv}6x}g=vAKi!6{76d--DzcRf57_};ymnCezJoNph&Lmn#KxKXD zM#x`!Zt0a3<8Bq?!`cQu`5>6j7ZuNfY_%+Bv^sy93@-YWMtA~rT z){}j6hmQRDMNj{|AKn4?@7q+iNiXgFu-=A~X6J{8u2{Zm#VX36A|P}85y2FP_m1Tr z?zC~pO`wY`vF7yAmV3pbnIZ$m>@y6#!fIjCCXvA#B$NsZh)akRjq;53>`!%E#S$O6 zV1xxrtSgB0Ad$HeU(4(l!8Vr0jv(t~wk&!rmUwJ62^c%=9;kz6Zgzh2{M7V6ee|ZU zJpZ$tug4y~>y0zd|HS^)lS{8@R4ddAUVEfP!9nP8r7376r9{(O}#{+Bt-U^&O0mGhD>hg}U4Dz_!EZ1Qbj5S0{ z*>Yz4fL9r9AQyzSZ*kq2ribhT<{nW-kK5+d(cpt0; z+|mFZ{K-uBvWs6FUa{=ct!87WMlH_s$N=nVhK0Y6wC71;K$hEfHxRa!iIRxpcX3*q z3wM)do3RW)*hlv=d-9FRv&1Tv8EStatK8uhf^DAkK%kAa6~N}HwOIQg;+u?}_Of1x zf*4q4?$|G_;$)Go)1~Lz^Lr2MKlp2#zVqdW-@+M#gZr0kZH+fpZdkkeY#&}mz0*{~ zwLxrv$sK~izKsV%2!Jw+-7J|12%m9R;ZyO6t_1!+8_aS69Sih_< zbb^J^0}8G^0nAj^8@9~J0+y>i%e>PJ^3Pg(L8sBX?t{%)ZtPEXzHfyIysc!gxuVgu zy+cpO8%u^;+WTjpJZL|L<>mV&frr3$|m&BkhUBCqKDjngclo?L<+GI8fa+-@~5{j=}FC5cY?E73L9BMw=BTwfgCe zXWEZ_w*3#b-T*iBJ;9Exm4I6s+xH&or9Xewo_Jv37srMNn~7t&$W#+d`NdvkJudi- zbr#YNOAG8kb1t?dq4I>0yWp{$<2>7Xw$0CMe?d7#as5lkMR%PGOk zRue58BkusdYJ!l&$g^YbOp{Ens=GPs)fy~bJO-;L7gxIJ{6i1__07-0TeK&h*m!t& z#c9u-dE)wCY1QgYDw^Z>SD36YR^K_oXMOR$dNZc)U4O7e`fvI`#R#BBPek?)uR(06O=J*wb;K@sS;GpkO4qPS+ zz&9jjxlWmP1POF|-L;*R!4wFwWtVgE%@Go6P3x@;bp=?>c zom8~oRHcXviXmiaQ0dF&a)h--RFBaScvyHG1&IN2CaZ0CyaUd?+~2d1ZRhtlJP!dwmUB6> zXz=_;AA0(_Ti}jkRvoP0O293xXhVyqriKSjTDpGCS(rG0plc`@f};a^Bqd}pi(z0| zzR>|mts1*g9Vbp;iAQvpbmhiNf}7uZ5Eh^{+Q-azrmGTww&3BxV(euE4lfhul;!#e zglSTzAz!!Dhln|Xf!M9noojIw635!HH(ISi^1`n3PF#5-f+xHUd+MnNy9WK0kkBgI)kcphHF(R4da(yrQ(RXl7wEnygHCl>3x$4VXw?|<=9>nJMcYmB zf#QvwtEN^N8mrW%N4Bi~;YN6SfBUy;CE%7;w9T74+4&o`X3LgdJvK5lhTR|%VVT$& zmqI3;!)&(Kg*mFTkUD2s4^jte*v=dy7LXNBJ6R$|FeZ7x_=4k!#KlI^X&`TTo@bhA zjan{j6H^*4*H&OqWdH+ajbMC7UAo^QX39n?d6BjpV^*94TkIa;0GEoXBk(3wXkt0X zMs4Ol-TH&S+`IYF4!ljS=vPRK^A^}~IG;Wo0=DXbH+X>!VsB-+>`eeQ#6$?! z6?_l3!+%(LekA;vx<15EXufH}<$~i153TU-oTsDJlg5qt-dA4#_8xc-tOVTB7TT%j z9y(IVKDKJznp2!Z%%CQVpo`Zq)wh*l-l4g9s<%M$fxCa}6+?ilop^iH@&pRmVg!-? z{^9i+p{g9I5Ro2CV9OeU@U%SAfdM!6KrVZlACgE+=Zl)N(y? zjx%!hQ4DWZH$8LvPwxHh8}JV7vB&Ota>te5S|h#+jCt@r5-s)(;wS?K+03!i6s!*mW3rb?{4MVq6O))aqR_X9qZiac zWqdta32Vb-2#V1K2Jcu>gDHxFDO;=2Xw78ZF1%wi_RjDB;I5}%*!u6gS!Oxr*8j$s z;F+hg&TQc@SOG;FKmrt5A6e)WlUF!w_6ZTeP(RogC=`+fI0_X7KOFblw*hMoR)rQp zaa~qHGexYhRm&1Et zCBrT4=yv7+qbz;!-oN_h)9?=M<(D5x4^HoVaOuP;OO`JgKijeD zNMjW=*&!-~YylM5qp$cCveSM>DbszLa4_Ac=Nc%~QUEBjO&xC2>O-x7&$aI_Mw5eW zcumvFVDkAxlJEB;`0mdY zpWCQb8MHlEa>-MtfB#!>=M)@6D*?B(H?{24Q(vhsU;4|77LAReR6v~*B+JVR0AegI zYPsDmI?%YH7!KR3Alj(~0%bPVFk@q+lp+@pPe2R6NaZi!Qj1o!V*=z%Y9<)#!Ar@O zmSxmV3tBo-op0EIH;VW-?bJXaVx;9(VW`zG`wt%8anI=|eh=QJ<1Dn7Uw%2g_~X|+ zoObOeRxDn$T(KpG1tZuXpaTB%z|r+o1sZ)p@%IHIb^#glCWq1wgvJz?&-$2Z7-@h< zkt%3gSRfy0XjcI+0TwWH|88O7Lq)5pg*#<(cCAANKN8THZBE|(wDA1)omV{<*d=7F zwR~}-`dstnHBTQ)2U-cZrMYiYqn3aHcV8p=T*_ z0m~pVxN(?R#|gZ)$I%Q5F^PQAIt$uBQk`a;?#l(kWA?IfK^xIQscr#qY%QlD8?W8! zc4>XFrVr;?X;f$i=W{wPc7$lvtI+NBHsAi={llB#U9vmxykU0P>a$*4wrKHZ7L5$H z`0#Qd)7-NHtAsuP2{lTu)7s$O9(@?DfCR7rU!VZ;CfE+-V7|a97c82EU<-L>7=4y` z($!t%TU6cKC8Sf45Rg=mZU$-Okrok@PU#$afT2^QMUd{2ZX|{d>CORW24;o)72K`LfTo_kGq`_gd@5%J-sY(xVA>q;VQLYjE9@Dyen(??jN0`6+6Y@jSl> z`ZW}_iE<6fELtefmO`DN+dGL`&~rFS$NiY^C}P}stGN<1^EG?8zrG=r-^`CqccEN~ z$UgT&?0K7ZTk!Dibl=r#b^D?)C;J(3UF52ItIeL|M+>}bO3b#;@0FFZub zR0dV~zT=nG^j<0Bj`;NQUbfBP*MAyj(;u*k-V47HoTkislNf0(*^QH`+=U0X4)ax| zjr)37AAnUc+q>TxUSKz2(HI)(Y2DLlV*o=xI$Yf1wS)LE2JD0wG8^_>pU!AVGzT-D zL3HGIdT?&WZ%+DM#o9I_c4QWN*ts6sD=m$=E)+7;vi08k7u)?__w!fs>RYa~jq zdm;ayv2c>XYul`Wr@IVwI^(Lu`dJ-cSwBx01>7rwP|Jr2a;Mb}KA?3k6bWZ#m!L_r z&)K&P-GLWf(8ewxkyB)xak~=*%hH}AFm-=Fh!cn(OWvw;)_Wx< z>&+cdm&ann!m!|uly(4KR3(Moohx%59epwH#LkT)YafaGR9(O!$urmd=|V1K0*(`n z)@MGp!U&uCN{U#KR}PKdtd>7YLR5Pk{5pxYWvit3T9+QR>evCx97&U&;PX$3PmqKtxIjW7NCF@_X8U$x%==`Nq zH7@wPjvV}5EAAptJkgnT>Jr_-a#B$8^)ZnI-|+&8>>Jip()w3EA2h1xX}0So<>w7M z`maR!a{{-*2^PXbHrf1=Y!HG_ke`Bx(Es^8^tt?G(l&w@i$Vuf)kxu(#%ab8A!xkEZPBx11SIV{KrMiA1NybiD91BUYjJO0DxC^U_CLB_4KaN9ipm z3|EBPHwjVNXpr%-S8u6*nqCE0=te)V&Z_}I=i^{F9bIJ1^7i*3DM;&18}%rEweGi9 zHO(v$pkASR6ckq(2PZW@5kvl}&z#5t7P(S|2`RH>)JDF-LxSTuLoWZ`G>*g;8-x zJ0=#uE{}(&-pBgcXPoMUeoIQUOfk0YFLBtXYlU+YHLKbuYLUV?vj#Ws6#E*7i$cX) z=ShFddSnPV{EBm!kB=jl>wKwp{MrzA7}QtGxuOB;8!VcM#P}P`w$q-LGm(1bK=8?P za6AreAvkX$C~IC_k)1~LZHlnm)G)j7lwnTBX_zK)GLhW^Z!XiwBgq5;|2|&YM!UFi z3hr6dx3!On09JTraFQ~f_Mw8lnBh$!!J)7+cuBsKOwMHS=Wawosqh?~v(?`{n0>%S zP7U&Ar#9yZLc4Dh51n1rmn8sLTFef6_@^e8^%3(5GB=?{K* zPB{4|;rRSGt`43*b0);Bi7Ty}ggUw-8BV0;nB*DuYY2UNw;QC+cBK58WAj|#;}OpO z8H4J7xb^1cRd7bzl&|R-Ii{z33C*be>T!w=$0TA@vomz?sJXrRzNd{!Abv11QuEn! zM!N8^N352giRr#ZNqXuwY=Ceh3N}h8jO)#PObBUpupYgV?7=$4fr*>9_j)=DLb@AS z1*Y@hYV<(e%29X-wK;b3WUpmIt^B%AgR(^l7Gph}#ft1^Lhs7pQYYJEZ2O&aW9#R! z3*=2#?rlT%3BSPu9uRBaMWd88Wqgf1hBrr*l<<|Qq8$egzlWsu<#3btbIdQ`=^oi@yYP?RVmvsOEihl3b$=Pp zUk2o-jSPdip#?hcc7{Wv@cF2uRqO&bu1T1cP#C%Fzk>-=G5c|52Z5W_5T364`Jb8V z)c*&DyxKkgUS!`QLKbF<^~gjWoBr!2BTMHu9a`mME7_0?6&xXMnu8c=qQ0Hi6Rg9{H7{`ZTV2vyB_R-YCdSn6YF3O*7`Z=1AS&7w zu0Y*!hwU0U(9>XU!n7Lt8<%jYV4?YZ?OE_H0{bc3>DN}zmC)PK}?1&r>;QQ$`X9V59IRRW0VMEX&eOcieX5(6{D88 zOdUH?IS;Em@kK*nH|s)O)iSNt#FyM*bRJneokJfY(owOK9>VX4`<&(`@rE4=``wjshIJ!T6>@7r`0Njbrtf)gulkTH0V(~d_J{J;GD_y z!5z=+o}MFhXiK}rRDkx2cg(-E@Y%S45nxVI$=`Ng3y+rgv}Z0yreZ^`1P4v)#u;nA zmo4Z`E*}cSI`dk+rTboEoJVsquaUHyLKXd6yfm^xk}2XF%in~owgnrWJf!g_uP4$g zY+Hy^4P=ilxH_;}J$O7*v3ch}tojK@4Aec3r_@`GIlFKYb=DS!hzK_pGPyL>-yVHB~Uc zMxiwqnxcga8;Ko66DJ_>+vD8w6jLZA|9tN{0kU54yx|leM=Jbo&-N;w8?CVpEQ38DAPRVen zeQHnXhJ6wqOqNw*6w=1f3r%wrG*6@ZCxAH3q|U&%V|Ab4z`a*Ivc?^?u>P=p`0~}i zXuMV~Aw^3+`{F^`_McOMZqhD=Uo$+cJ%j_`3*(sp=49iWTpPNcDLUv$fAafI*W>=H z-}}h#n!06dV8T>CVw^agQZQDitW%xq9I?fL=;=5e-c(beOWIQ27{ICtLV09mxX@DN zijIw;%m4o0NC2z#>(xt^bDB`E!@ww(irbxH9G2iB&RWewf}o(RL=p28N-IGvEQ`wL z+EwD*%1#0B`A>kZWCx629<%WAklCZj?CUU@+m+#wmoWmB9P`B9+EZu7-{?LgtL4WT zd8m(44}$?EhuLbfBY6DMdLtqZ;i0vn*i-*mKk6&zKWt1Iv*da~iaoESODCkVHN2!O zYFEcF_QrBKter}aC*`P95sbEj4uX&@zTi@K%bVoVB#r|RW$R$1oFd~{-E^rIpLrcIxV=`T)XQawPBv`k7VEl1xHN?0|_hmHp z!1|-KpEDOI+ww1 zzaGwp1^x}`k|jMZgq-x^W*;7RAmf#s5e-{?xQsVIlrrZtmu05Xo3T46HB@;ZI_ph^-5e8b&6X9o8zv!4*M5o+gZO;Vr0Grbr{mY zfSuzU4A_ypr@+sJUT)uQO`rV6G+{E>k@$W0+bg!-^vOAgqB?+BPDG=2R8a;c-6o_z zrJIr0Mz?WUB{DCgvD>e*W`NS(q0XvixdU0n@kvlWOyFa6)hLz2Kwma9qd=5R)l9(M zGG`5VL-~@aA)^d9AbY;7-h8y=ezm{{y=?mNE;h%gYSFQdV2+enm7F!1Bu;5BL@^c% zqh5Oyn|d~>61haTnX+>@8vZ#_5qSI`$s+Jpzm^Y4>zq-jqtQz*+2hP1944?^HnzB< zAuZA>dlZH45qJ9(5h^Dx(JA;TF#1AKL0h%h6hHt#Kn@vPZ=u}oA0OU9 z^;+$6^YJfR_1jZ*@sh!6BT;d`(AlHdR8=dYZZa6xXiP|p+I|zc|5_r`GRHi$iL_jI zi9{g`9TwmGg`Gm5Kk*Ab&Wyf{9qBLgx1p31j`CQvuS9uEGKhIW=9~Db(Murnn+;{; zT?J^>Wp_=`X)W+FtYvcb6a@qtOLva%_AO(|)hywEb)+s`w8px?Iy=|Zh69^XIl zAMQ26^!(MOIK(|>tJ+&~e{EM6y`~ex^pndsHDbc;H&ecE4}AAX?=758u7-CKy9r{T;t;2i$XV%Aek7Lb5()Anf79nhoT9`VMKC zLu?fhy7r6;{(F0tt7vq`!h|yX%e1%?+9dl!{`LkqcbK0o&E}e)mUN4#?z?R$-?XLX zZb<-MfbXhF|IC@UUBx`9`EB5s{E9D(`LF*>o7xSpGW~GS=y3s9#0Z2I= zC&SQF$w8L!`q281U#}xh+7EvDQmJ}X)i#%@Ebcxe12Y#B6=;{J#2u$V+Oo6#TQh2eA8lF)Pd;{#J7%XR{Gow zlrnXd)_J<4%qv=@qc>k96sCw8a|Ke7T(J=X821(!p#zhWFGQd8jb1hkE~q(2yb{`7=lZ&210p(dI^@8);j7uCfQrMo=m0z$8Cox zN^E!aK7O+rhMQL$6cW9$r8F#S=jJI&XeN{;9vrdpGCA%3Jec|6Skk#qvnfEVo`qz& zIwWwHwiB}V-+t@B%r3l)Rczr0I2oc%J_V&D+QFYgrK zCvf#=*^S1xlwpXFp$rrEWEFRPeGORQtb+VS5tD&=F8Z4}{aRLoW-G!VJ%?uCtrIHc zlAXb|4`K}CD=Z~Ew|eI^O;uK%2>nBsoXT-d5 zYd?M7v=VSjes>SM%DxSf$*FBYuK2=->`QG|s}~AhIlPpZ!+Iq=rxDDQmyi$bZS&w_ zl?NSTQPRZ1W9s0@fO|)<1sXmU(wIHL$~2UgT{xt2*fij=W4fk@5w{$zf!3IjT^2kY zZy!+b<%COnX~5N>5mL_o;x(Wo<=|ktXF+n8F=qIhU6S{8?qk8}=!kqvp-V=`FU>LA zbjj48+t97Q-hET;2NG7|G!lhl=EHe$@XaeoT}v9U?hxC~8{+w`oi*JeJN_7fVNu&r zEshBtcPf6DB~qr+f2+@fd>2=BU>dt3Y0jW>Mck_BqRk0?jwGV|S=Fc|bbG|-RQ*&= z1s|={Yp$#pr%jO}oR9O2tzLSJX=jrn&o3V*?yr%Y@Ah>N2tI%eQUON=`M3@xah6`ZZ)(>uq1SwU1f0nbwz=Hj2DHNMm%Axx&6Ds|c!C0>S5RQOv_0d%}( zyP`@OHYoC!pHgBf@FA-4a}=GJXAIO=JlSKFwm z*gr8S%L*$zW1;)GW1X+>X}pc~&B8g)>kU&1iy`j_i9MiDLzuU3xRv{{44ow*z5Zu6 zwo5d;WcPlrz6Lb{l*fv8$c>uRn+&6(=QL{!3~2b2$@r}21RQK#bB4J%{07 zSzZ~D%a`=H3!|T6_p)=DfM!?cvzIM%_;mE; zFXME6R5BXqs(*`#Ocj0a(jWI}&C_Np)s_N1%t?-35jhcmXlG((FWv2K{b6p0$9maj zVK@uW%J3qo*g+ikr_(or-#NaeF7vMKtuc8@$^f>3ilu82KlcsNaM?7RVZ>-=J>PJjgizAZ#U{cC8e3YDNo$!bwwK1>il(r3 zTV~0t!8sHd#N@Zb+}9PT{&t{?{Jua8hjV4fTyNL#*M;*-nY@QT`&*#dtzm%IjLc=P z$ix*wNAG>kkF+xFgd#-iZEI*WX{wHb5M3Aa-SbSf{553vm@$J*iH*6p3waxPxXw^0 zm-ExZJwyCChZh@W^pcVG9okb#2eRgO&QFt*U6!yvfU0lDK*#OprTwAhnh;bVE*Q1w|hot<2%c(93Ag{)l7t)891 zKT_`y%-VqUyzOYmkW4sb=mb{;wofi5!EZ)ZP#i7Q)!^^G+)quLkoa691)4 z8)1@2*%a<@DW1h{T{Iv5^Jh9=&{(*bL$6x5S5nYd9=yp~(q8`0zFHJ_ zZFJ(!3Yc7u-wIp-jL_q^8E;UgM*E^X2wY1K*zNjUj>v@n#mQmKJsdu^nv`Fc|F2w# z821_8*$eHg$YlE3dcFU~M1Q(gWYI`2Jn?^9Is2`ndoRSxJ^H2kO6}mTHp_<>^Mhrz znm8h}vy)x5pxqXb^j+Vxt3-O6+O_*l888q%JpNu2!Fcm;nY{rf=eqqRjyol#$`GPi zpuvH+#Z|6egj<_M^*B7idb9iByiE|+Gu`|*AG{}R>6JFyIIXq5+;j{dEH#DRAmYFP zCO|xf?0w*w!>q{($pepbvZ46O;z-9!CQkrz8)MdxJdzt67-u)zN|oNGldB-2BKOHm ztBV|%*h-u6>igw|gOjNT8#StNG-75k$Y0xcLeB=&poF}*(S%DokOXg+po0tNZ0p?i zDpc=i3vl^*kUT0hrlM&i51f~OKV#1GA{WMT8k{1?%d_8JgIs|^t|th(R*~MO@tbzt zGL!^tTgLhNB#H;d=5xP8*fG*@Gw3DoJ`;RDOu!a!19b>*A;mN^;Nz2_{F6zeQ(nO1MQ72n@8LyR(EZP+eXD$-MLc*HP>k3b~OvBo5DWTokT?^}Z=ig|(0NOZk& zj>=`2A2L?tMezw=J)1COqREs(QWKV)d)Pg9#E5|n(Cp*3{pY0w9t_UjS9n96Y{SMuGpXN#Uzb=h%Ai4a?RFfB`~|9_k2Z|*N&=VN^QGB;NqQs~nPBXn-UcibbyL$~O8koTXIVXoZkF>Bi#_n9E@ z#ZOKYB06aUziFf={t4YQi@Ca~`)PUU(=-^;lPezN?aj2q2+hv6muiLES z^U4IW7TviD&0sI{OqE3fYpQKK5A#@)=MF@R>jQR=xMek)=*tC#C4!q6$T4Hl2F-3a z^nwog@CJguBh-;yGlAX@_-<=a9H@D@>bqMpswss?{o(C&KV2QB z<-z$uHVlkd9$R;l7-w3$J0PcfMyLOJsS?1pj~|kx9zAClS2X;BrovvVJdJ!6y`h+} z)?q)Se!tTSyM<`0y+WitG$8_f#)Q_hLF=v7jxSr!ixC9J>#e(S5Y4u#1o9>ty@LK1 z$hWGcNV7*qp3TldmY4Cz&i*F}T^^I5`}tIXAYXbl9t54?L(S}STr|yWYz8tjGnjbK zSleb_v~beInKoMa*a?q}ot=#tH~witNCD*jZr`8xGoz#89-te>=w!5_JTR6a5Lnj? z=E#(=_}d+#N8U8_1E~Q5La%oJVV){Z(fxmTyI45t!s=0M*Z!3nuZ@MdRNrd;SN+C3 F^naHIYAXN$ literal 0 HcmV?d00001 diff --git a/Veloria/Source/en.lproj/Localizable.strings b/Veloria/Source/en.lproj/Localizable.strings index 7d96a03..8c7a09e 100644 --- a/Veloria/Source/en.lproj/Localizable.strings +++ b/Veloria/Source/en.lproj/Localizable.strings @@ -95,6 +95,8 @@ "veloria_days_count_text" = "## days"; "veloria_last_play_episode" = "Last time Episode ##"; "veloria_coin_buy_title" = "Top Up | Indefinitely use"; +"veloria_update_title" = "Discover a new version"; +"veloria_update_now" = "Update Now"; "veloria_bonus_count_text" = "+## Bonus";